计算机组成原理课程设计实验报告_第1页
计算机组成原理课程设计实验报告_第2页
计算机组成原理课程设计实验报告_第3页
计算机组成原理课程设计实验报告_第4页
计算机组成原理课程设计实验报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理课程设计实验报告小组成员:张延云 201058501314 姜维智 201058501317 学 院:计算机学院班 级:计 101-3 班指导老师:宋宜斌日 期:2012 年 7 月 7 日- 2 -实验名称:实验名称: 一个简单计算机的设计设计任务:设计任务: 综合前面实验单元典型部件设计与调试,对数据选择器(A、B) 、计数器、运算器、寄存器和微程序控制器透彻了解的基础上,完成一个简单计算机的设计,使其具有简单运算功能:取数、读数、做加法、送数等。 设计目的:设计目的: 通过一个简单计算机的设计,对计算机系统的基本组成、部件的设计、部件间的连接、微程序的编制与调试等全过程有一

2、个较为综合、深入的认识和理解。 设计与调试步骤: 结合计算机组成原理的教学内容和课程设计平台系统,计算机的设计与调试步骤如下: 数据通路:数据通路: 数据通路的设计在总体结构中是最重要的一个环节。实验室的仿真模型机的数据通路是以总线为基础、以CPU 为核心构成的。系统简介系统简介:机器指令存放在 3#RAM 中将 3#RAM 作为内存使用,机器指令是按由上到下顺序执行的,其执行顺序由 PC(程序计数器)和 MAR(地址寄存器)控制。2#RAM 和 1#RAM 作为控制存储器简称为控存一条微指令由十六个微命令组成高八位存放于 2#RAM 中,低八位存放于 1#RAM 中。后继地址有三种形成方式I

3、R2IR1IR0 为 001 时PC+1安顺序执行微指令为 010 时 JP 无条件转移,地址由IR15-8提供。本简单计算机基于简化处理IR15-8均为 0 它代表了均跳向为指令寄存器的 00 入口即取指令入口。为 011 时 QJP 高四位安机器指令的操作码转移,第四位为 0 其由后继地形成逻辑实现,所有涉及的地址转移均为指令的转移。因为机器指令是按顺序执行的。每按一次单脉冲键执行一条微指令,一条机器指令由若干条微指令组成,一条微指令由十六个微命令组成其中因为IR3IR6IR7全为零故省略掉了。为保证机器指令是从第一条开始顺序执行的,在操作前应按一次复位键将微指令计数器 pc,机器指令计数

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

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

6、位为:0010, 低四位为全零:0000 。后继地址形成逻辑的输出 0010 0000, 因此此时置数有效微地址输出为 20(十六进制) 。根据微地址 20 执行 PCMAR PC 中的内容经取指过程中加 1 操作已变为 03,所以地址寄存器中存入了 03,然后 PC+1PC (PC 变为 04) 为取下一条内存内容做好准备。然后将内存中地址为 03 的数据传送至 RAMR1 下一步为 PCMAR 存入的为 04。下一个微指令为 JP 无条件转移,地址由微指令的高八位给出,高八位为 0000 0000,所以微地址转向 00,再次进行取指令。在 3#RAM 的 04 地址中取出 ADD 指令 3

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

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

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

10、7 为内存的地址线。UAD0-7 为 ROM2 和 ROM1 的共用地址IR0-15为 ROM2 和 ROM1 的输出其具体输出什么由其地址决定。WR RD 为内存的读写控制P1 为单脉冲Rst2 为复位键,可对 PC,PC.,MAR 进行复位。 UPC 和 P 控制 ROM2 和 ROM1 读和读出MD0-7 为 ROM3 的输出其中的数据由此输出。一位全加器一位全加器:二四译码器二四译码器二四译码的输出控制选择器 A、B 数据通路,二四译码器的作用在这里是一个多路数据开关。三八译码器逻辑三八译码器逻辑:二四译码器元件符号一位加法器元件符- 5 -三八译码器的一组输入对应的输出中只有一个为

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

12、就实现了高四位按操作码转移,低四位为全零。当 JP=1 时 QJP=0,微地址计数器置数端输入为 0(置数低有效)因为有四个与门接地且 QJP=0,所以输出只与微指令的高八位(IR15-8)有关,这样就实现了无条件转移,地址由IR15-8提供。当 JP=0 时 QJP=0,微地址计数器置数端输入为 1(置数低有效)此时置数端无效按一次单脉冲键微指令计数器从置数的输入开始计数器自加 1 顺序向下执行,直到下一次微指令跳转。三八译码器元件符号后继地址产生逻辑元件符号- 6 -二选一选择器二选一选择器 八位串行进位并行加法器八位串行进位并行加法器微指令计数器微指令计数器 PC 八位串行进位加法器元件

13、符号二选一选择器元件符号- 7 -微指令计数器不是真正的八位二进制计数器起到计数功能的只有六位,高两位是置数的输入。我们使用低六位来计数就三位二进制计数器三位二进制计数器这是微指令计数器底层模块具有置数和端复位键,在来一次脉冲时自加一当加到 111 时产生进位信号。这里的二选一是将八根线看成一组(R07-R00 一组、R17-R10 一组) ,从两组中选出一组作为输出。不带复位端的八位寄存器不带复位端的八位寄存器 带复位端的八位寄存器带复位端的八位寄存器微指令计数器元件符号三位二进制计数器元件符号不带复位端的八位寄存器元件符符号- 9 - 微指令格式微指令字长微指令格式微指令字长 16 位即位

14、即IR15IR0(1)微指令字段定义A 选择器控制: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带复位端的八位寄存器元件符符号- 10 - 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

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

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

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

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

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

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

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

22、3IR12IR11IR10IR9IR8IR7IR6IR5IR4IR3IR2IR1IR0十六进制代码微操作微地址A 选择B 选择输出分配C0RD WR转移方式ROM2#ROM1#RAMIR0010001000001000018821PC+1PC0100010111000000011701QJP02IR8IR7IR6IR500000000001100030PCMAR1000011010000000011A01PC+1PC1100010111000000011701RAMR01210000010001000018221PCMAR1300011010000000011A01JP1400000000000000100002PCMAR2000011010000000011A01PC+1PC2100010111000000011701RAMR12210000100001000018421PCMAR2300011010000000011A01JP2400000000000000100002R0 +R1= R13001100100000000016401PCMA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论