计算机组成原理课程设计报告(6).doc

上传人:土8路 文档编号:10528985 上传时间:2021-05-22 格式:DOC 页数:17 大小:1.20MB
返回 下载 相关 举报
计算机组成原理课程设计报告(6).doc_第1页
第1页 / 共17页
计算机组成原理课程设计报告(6).doc_第2页
第2页 / 共17页
计算机组成原理课程设计报告(6).doc_第3页
第3页 / 共17页
计算机组成原理课程设计报告(6).doc_第4页
第4页 / 共17页
计算机组成原理课程设计报告(6).doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《计算机组成原理课程设计报告(6).doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告(6).doc(17页珍藏版)》请在三一文库上搜索。

1、计算机组成原理课程设计 学号:xxxxxxxxxx 姓名: 学号:xxxxxxxxxx 姓名: 设计任务:设计任务: 综合前面实验单元典型部件设计与调试,对数据选择器(A、B) 、计数器、运算器、寄存器和微 程序控制器透彻了解的基础上,完成一个简单计算机的设计,使其具有简单运算功能:取数、读数、做 加法、送数等。 设计目的:设计目的: 通过一个简单计算机的设计,对计算机系统的基本组成、部件的设计、部件间的连接、微程序的 编制与调试等全过程有一个较为综合、深入的认识和理解。 设计与调试步骤: 结合计算机组成原理的教学内容和课程设计平台系统,计算机的设计与调试步骤如下: 数据通路:数据通路: 数据

2、通路的设计在总体结构中是最重要的一个环节。实验室的仿真模型机的数据通路是以总 线为基础、以 CPU 为核心构成的。 系统简介系统简介: 机器指令存放在 3#RAM 中将 3#RAM 作为内存使用,机器指令是按由上到下顺序执行的,其执行顺 序由 PC(程序计数器)和 MAR(地址寄存器)控制。2#RAM 和 1#RAM 作为控制存储器简称为控存一 条微指令由十六个微命令组成高八位存放于 2#RAM 中,低八位存放于 1#RAM 中。后继地址有三种形成 方式IR2IR1IR0 为 001 时PC+1 安顺序执行微指令为 010 时 JP 无条件转移,地址由IR15-8提供。 本简单计算机基于简化处

3、理IR15-8均为 0 它代表了均跳向为指令寄存器的 00 入口即取指令入口。为 011 时 QJP 高四位安机器指令的操作码转移,第四位为 0 其由后继地形成逻辑实现,所有涉及的地址转移均 为指令的转移。因为机器指令是按顺序执行的。每按一次单脉冲键执行一条微指令,一条机器指令由若 干条微指令组成,一条微指令由十六个微命令组成其中因为IR3IR6IR7全为零故省略掉了。 为保证机器指令是从第一条开始顺序执行的,在操作前应按一次复位键将微指令计数器 pc,机器 指令计数器 pc,内存地址寄存中的内容清零。第一条微指令地址为 00,微操作为 RAMIR 即从内存中 取出指令放到机器指令寄存器中,此

4、时地址寄存器中的内容为 00,所以在 3#RAM 的 00 地址中取出 MOV1 指令 18,取出指令后 PC+1PC(01)为取下一条内存内容做好准备,再按一次单脉冲键执行 QJP 及按操作码转移,此时指令寄存器中存放的为 18 操作码为 0001,所以转移后高四位为:0001 低四 位为全零 :0000 。后继地址形成逻辑的输出 0001 0000, 因此此时置数有效微地址输出为 10(十六进 制) 。 根据微地址 10 执行 PCMAR, PC 中的内容经取指过程中加 1 操作,已变为 01,所以地址寄存器中存 入了 01,然后 PC+1PC (PC 变为 02) 为取下一条内存内容做好

5、准备。然后将内存中地址为 01 的数 据传送至 RAMR0 下一步为 PCMAR 存入的为 02。下一个微指令为 JP 无条件转移,地址由微指令 的高八位给出,高八位为 0000 0000,所以微地址转向 00,再次进行取指令。 在 3#RAM 的 02 地址中取出 MOV2 指令 28 放进机器指令寄存器,取出指令后 PC+1PC(03)为取 下一条内存内容做好准备,再按一次单脉冲键执行 QJP 及按操作码转移,此时指令寄存器中存放的为 28 操作码为 0010,所以转移后高四位为:0010, 低四位为全零:0000 。后继地址形成逻辑的输出 0010 0000, 因此此时置数有效微地址输出

6、为 20(十六进制) 。 根据微地址 20 执行 PCMAR PC 中的内容经取指过程中加 1 操作已变为 03,所以地址寄存器中存 入了 03,然后 PC+1PC (PC 变为 04) 为取下一条内存内容做好准备。然后将内存中地址为 03 的数 据传送至 RAMR1 下一步为 PCMAR 存入的为 04。下一个微指令为 JP 无条件转移,地址由微指令 的高八位给出,高八位为 0000 0000,所以微地址转向 00,再次进行取指令。 在 3#RAM 的 04 地址中取出 ADD 指令 30 放进机器指令寄存器,取出指令后 PC+1PC(05)为取 下一条内存内容做好准备,再按一次单脉冲键执行

7、 QJP 及按操作码转移,此时指令寄存器中存放的为 30 操作码为 0011.所以转移后高四位为 0011 第四位为全零 0000 。后继地址形成逻辑的输出 0011 0000 , 因此时置数有效微地址输出为 30(十六进制) 。 根据微地址 30 执行 R0 +R1= R1 PC 中的内容经取指过程中加 1 操作已变为 05,所以地址寄存器中 存入了 05,然后 PC+1PC (PC 变为 06) 为取下一条内存内容做好准备。下一个微指令为 JP 无条件 转移,地址由微指令的高八位给出,高八位为 0000 0000 所以微地址转向 00,再次进行取指令。 在 3#RAM 的 05 地址中取出

8、 MOV3 指令 41 放进机器指令寄存器,取出指令后 PC+1PC(06)为取 下一条内存内容做好准备,再按一次单脉冲键执行 QJP 及按操作码转移,此时指令寄存器中存放的为 41 操作码为 0100,所以转移后高四位为:0100 低四位为全零:0000 。后继地址形成逻辑的输出 0100 0000 ,因此时置数有效微地址输出为 40(十六进制) 。 根据微地址 40 执行 R0MAR(R0中的数据作为写内存地址) 。 PC 中的内容经取指过程中加 1 操作 已变为 06,所以地址寄存器中存入了 06,然后将内存中地址为 03 的数据传送至 R1RAM 下一步为 PCMAR 存入的为 06。

9、下一个微指令为 JP 无条件转移,地址由微指令的高八位给出,高八位为 0000 0000,所以微地址转向 00,再次进行取指令。 至此 MOV1 MOV2 ADD MOV3 均执行完毕完成了两个数的相加操作。如果 是 07+02=09 那么内存的 07 号地址中就存放了相加结果 09。 总图:总图: 输入输出说明:输入输出说明: USB0-7 为内存的数据线当 WR 为 1 时可以写内存,同时加法器的输出也接到这八根线上结合输出分配可 将数据送到 R0 、R1、PC、IR 、MAR 中的一个或一个也不送。 AD0-7 为内存的地址线。 UAD0-7 为 ROM2 和 ROM1 的共用地址 IR

10、0-15为 ROM2 和 ROM1 的输出其具体输出什么由其地址决定。 WR RD 为内存的读写控制 P1 为单脉冲 Rst2 为复位键,可对 PC,PC.,MAR 进行复位。 UPC 和 P 控制 ROM2 和 ROM1 读和读出 MD0-7 为 ROM3 的输出其中的数据由此输出。 二四译码器二四译码器: 二四译码的输出控制选择器 A、B 数据通路,二四译码器的作用在这里是一个多路数据开关。 三八译码器逻辑三八译码器逻辑: 三八译码器的一组输入对应的输出中只有一个为 1 其余为零。 设计中用到了两个三八译码器其中一个的输入为 IR11、IR10、IR9,输出用到的五个分别 控制 R0 、R

11、1 、 IR 、PC 、MAR 五个寄存器的数据开关。因为其输出同一时刻只有一个 1,这就保证 了同一时刻只对一个寄存器操作,另外还有五个寄存器均不操作时的情况,例如写内存的操作。另外一 个三八译码器控制微指令地址的转移方式。其本质上仍是一个多路数据开关。 后继地址产生逻辑后继地址产生逻辑: 三八译码器元件符号 二四译码器元件符号 当 QJP=1 时 JP=0,微地址计数器置数端输入为 0(置数低有效)微指令的高八位被屏蔽掉了,又因 为有四个与门接地,所以输出的低四位为全零,高四位只与机器指令的高四位(操作码)有关,这样就 实现了高四位按操作码转移,低四位为全零。 当 JP=1 时 QJP=0

12、,微地址计数器置数端输入为 0(置数低有效)因为有四个与门接地且 QJP=0,所 以输出只与微指令的高八位(IR15-8)有关,这样就实现了无条件转移,地址由IR15-8提供。 当 JP=0 时 QJP=0,微地址计数器置数端输入为 1(置数低有效)此时置数端无效按一次单脉冲键微 指令计数器从置数的输入开始计数器自加 1 顺序向下执行,直到下一次微指令跳转。 一位全加器一位全加器: 一位加法器元件符 八位串行进位并行加法器八位串行进位并行加法器 微指令计数器微指令计数器 PC 八位串行进位加法器元件符号 微指令计数器元件符号 微指令计数器不是真正的八位二进制计数器起到计数功能的只有六位,高两位

13、是置数的输入。我们 使用低六位来计数就足够了,程序中微指令最多才自加 4 次就开始重新置数了。这样设计只是为了简化 硬件电路。 三位二进制计数器三位二进制计数器 这是微指令计数器 底层模块具有置数和端复位 键,在来一次脉冲时自加一 当加到 111 时产生进位信号。 二选一选择器二选一选择器 三位二进制计数器元件符号 这里的二选一是将八根线看成一组(R07-R00 一组、R17-R10 一组) ,从两组中选出一组作为输出。 不带复位端的八位寄存器不带复位端的八位寄存器 带复位端的八位寄存器带复位端的八位寄存器 微指令格式微指令字长 16 位即IR15IR0 (1)微指令字段定义 A 选择器控制:

14、IR15IR14 0 0 备用 0 1 RA 1 0 MA 1 1 备用 B 选择器控制:IR13IR12 0 0 备用 0 1 PB 1 0 RB 1 1 备用 输出分配 :IR11IR10IR9 0 0 0 备用 0 0 1 CPR0 0 1 0 CPR1 0 1 1 CPPC 1 0 0 CPIR 1 0 1 CPMAR 1 1 0 备用 1 1 1 备用 低位进位控制:IR8 0 C0=0 1 C0=1 存储器读写控制:IR5IR4 1 0 RD 0 1 WR 后继地址形成方式: IR2IR1IR0 0 0 0 备用 0 0 1 PC+1 顺序执行微指令 0 1 0 JP 无条件转移,

15、地址由微指令的高八位IR15-8提供 0 1 1 QJP 高四位按操作码转移,地四位为 0。 1 0 0 YJP 给定高四位第四位按源寻址方式转移。 1 0 1 MJP 给定高四位低四位按目的寻址方式转移。 1 1 0 备用 1 1 1 备用 微命令形成逻辑如下图示 确定总体结构:确定总体结构: 1、寄存器的设置:、寄存器的设置: R0 R1 为通用寄存器,8 位 IR 为机器指令寄存器,8 位 PC 程序计数器,8 位 MAR 为内存地址寄存器 2、加法器的设置、加法器的设置 为简化设计,采用为 8 位带串行进位并行加法器 3、选择器的设置、选择器的设置 连入 A 选择器的数据来源是 RAM

16、 的读出数据和 R0 寄存器的数据。连入 B 选择器的数据来源是 PC 数据 和 R1 寄存器的数据。 4、数据通路、数据通路 信息传送路径 逻辑设计逻辑设计 1、加法器的逻辑设计 2、选择器的逻辑设计 3、寄存器的设计 不带复位的寄存器 结构中 R0 R1 通用寄存器,可存放操作数或结果、中间结果,每个寄存器由 8 个 D 触发器构成。在 CPRi 的作用下接受总线的数据送入寄存器,输出连入选择器机器指令寄存器其结构同通用寄存器。 带复位的寄存器 结构中 MAR 地址寄存器是一个带复位的寄存器,带复位是指当有复位信号时,MAR 清零。 程序计数器的设计 PC 加 1 是通过加法器实现的。 部

17、件之间的连接 由系统图可看出,部件之间的连接是采用以 CPU 为中心的总线连接方式。加法器的输出通过总线 BUS 连接到所有寄存器和存储器的输入端,除指令寄存器 IR 和地址寄存器 MAR 的输出端外,其他部件 的输出端分别送入选择器 A 和选择器 B 。 确定控制方式确定控制方式 后继地址产生逻辑 为简单起见直选三种后继地址生成方式即增量方式、无条件转移方式、安操作码转移方式 当 EN=1 时,为程序计数器执行加 1 操作 当 EN=0 时,且 JP=1 时,无条件转移。 当 EN=0 时,且 QJP=1 时,按操作码转移。 微程序编写微程序编写 (1)程序程序 MOV1 07# R0 MO

18、V2 02# R1 ADD R0 R1 MOV3 R1 (R0 ) (2)操作码二进制代码)操作码二进制代码 MOV1 0001 MOV2 0010 ADD 0011 MOV3 0100 (3)微程序入口(十六进制代码)微程序入口(十六进制代码) 取指令入口: 00H MOV1 入口: 10H MOV2 入口: 20H ADD 入口: 30H MOV3 入口: 40H 拟定指令系统拟定指令系统 基本字长 课程设计平台中配置的存储器容量为 2568,显然基本字长只能定为 8 位。 指令格式 指令格式可有单字长指令和双字长指令两种,在双字长格式中,第二字节一般定义微操作数或操作 数地址。 指令格式

19、为: 指令类型 模型机有单操作数指令、双操作数指令和无操作数指令。 操作码 OP 共提供四位,最多可定义 16 条指令。 数据的传送单位为 8 位(一个字节) 数据的传送范围 寻址方式 由于指令较短、操作数仅为两位,为了简化硬件设计,将源操作数字段和目的操作数字段的寻址定 义为不同的含义 源操作数寻址方式 目的操作数寻址方式 00 R0 00 R1 01 (R0) 01 (R0) 10 I 10 I 11 D 11 D Ri 表示操作数就在寄存器中 (Ri) 表示操作数地址在寄存器中 I 指令的第二个字节微操作数或立即寻址 源操作数使用 R0寻址 目的操作数使用 R1寻址 MOV1 0001

20、10 00 0000 01 11 MOV2 0010 10 00 0000 00 01 ADD 0011 00 00 MOV3 0100 00 01 MOV1 源操作数按立即寻址目的操作数为操作数就在寄存器中,因为立即寻址该指令由两个字节组成。 MOV2 只有操作码与 MOV1 不同 ADD 源操作数:操作数就在寄存器中,目的操作数:为操作数就在寄存器中,该指令由一个字节组成 MOV3 源操作数:操作数就在寄存器中,目的操作数:操作数地址在寄存器中。 将以上四条机器指令在 RAM3#自 00 号单元顺序存放并用十六进制表示如下: 00 18 01 07 02 28 03 02 04 30 05

21、 41 MOV1 07,R0 ;立即数 07# R0 MOV2 01,R1 ;立即数 02# R1 ADD R0,R1 ;(R0)+( R1) R1 MOV3 R1,(R0) ; R1 (R0) (存储单元) R0 中的数据在中的数据在 MOV1 中作为操作数,在中作为操作数,在 MOV3 作为作为 RAM3 的地址的地址 R1 中相加后的结果就写在中相加后的结果就写在 这个地址中。这个地址中。 本指令完成的是本指令完成的是 07+02=09 以上四条机器指令执行完成后以上四条机器指令执行完成后 RAM3 的的 07 号单元存放的为号单元存放的为 09。 指令执行流程指令执行流程 微程序微程序

22、 IR15IR14IR13IR12IR11IR10I R9IR8 IR7I R6 IR5IR4 IR3IR2IR1 IR0 十六进制代 码 微操作微 地 址 A 选择B 选 择 输出分 配 C0RD WR转移方式ROM2#ROM 1# RAM IR 0010001000001000018821 PC+1 PC 0100010111000000011701 QJP02IR8IR7IR6IR50000000000110003 0 PCM AR 1000011010000000011A01 PC+1 PC 1100010111000000011701 RAM R0 12100000100010000

23、18221 PCM AR 1300011010000000011A01 JP1400000000000000100002 PCM AR 2000011010000000011A01 PC+1 PC 2100010111000000011701 RAM R1 2210000100001000018421 PCM AR 2300011010000000011A01 JP2400000000000000100002 R0 +R1= R1 3001100100000000016401 PCM AR 3100011010000000011A01 JP3200000000000000100002 R0M

24、AR 4001001010000000014A01 R0RA M 4100100000000100012011 PCM AR 4200011010000000011A01 JP4300000000000000100002 心得体会:心得体会: 在此次两人一组的计算机组成原理课程设计过程中,我们通过查阅资料,自学和与同学交流经验, 并向老师请教等方式,综合运用所学知识,发现、提出、分析和解决实际问题,锻炼了实践能力,对我们的 实际工作能力有了具体的训练和考察。在给同学讲解的过程中,深刻理解了所学知识,也培养了我们团 队合作的能力,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能

25、力,使我们 充分体会到了创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的不完美,但是在设计过程中所 学到的东西是这次课程设计的最大收获和财富,使我们终身受益。 此次计算机组成原理课程设计中学到很多的东西,同时不仅可以巩固了以前所学过的知识,而且学 到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的, 只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正 为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中难免会遇到过各种各样 的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不 够牢固,通过这次课程设计之后,把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一 种提高。学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和 综合素质。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1