计算机组成原理课程设计——简单模型机的微程序设计.doc
《计算机组成原理课程设计——简单模型机的微程序设计.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计——简单模型机的微程序设计.doc(23页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 报 告课程设计名称: 计算机组成原理 系 : 学生姓名: 班 级: 学 号: 成 绩: 指导教师: 开课时间: 学年 学期一设计题目计算机组成原理课程设计简单模型机的微程序设计二主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计三具体要求数据传送指令 MOV RD,RS:(RS) (RD)减法指令 SUB RD,RS:(RS)减(RD)(RD)或指令 OR RD,(addr):(RD)或(add
2、r)(RD)异或指令 XOR RD,(addr):(addr)异或(RD)(RD)与指令 AND RD,RS:(RS)与(RD)(RD)其中的RS、RD可以是R0、R1、R2中的任一个。四进度安排共1.5周11天的时间,具体安排如下:12天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;35天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统(原有的5条指令)和微程序设计方法;69天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所
3、有的机器指令。1011天:根据自己设计的微程序系统写出相应的课程设计实验报告五成绩评定正文一、模型机的CPU及系统硬件 基本模型机的CPU及系统硬件组成如图1所示:图1 模型机的CPU及系统硬件组成各部件的功能及控制信号如下: 运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。ALU的功能控制信号为S3、S2、S1、S0、M、CN,可以实现48种算术和逻辑运算功能,如图2所示。 运算器为单总线结构,其输入端分别连接到暂存器DR1和DR2,其装入数据的微命令分别为LDDR1和LDDR2,当它们为1电平时由节拍脉冲T4将数据总线上的数据装入相应的暂存器。R0、R1、R2为通用
4、寄存器。R0的装入数据的微命令为LDR0,R1的装入数据的微命令为LDR1,R2的装入数据的微命令为LDR2。299为实现移位运算的装置,当299B微命令有效时,其数据端和数据总线连接。 控制器由程序计数器PC、指令寄存器IR、地址寄存器AR、时序电路、控制存储器及相应的译码电路组成。程序计数器PC的功能是存放下一条指令的地址,其输出是向地址寄存器提供要将执行的指令在存储器中的地址。在提供地址后立即加1,指向指令的下一个字节或下一条指令的地址。其控制微命令有三个。当LOAD=0而LDPC=1时,由T4的正跳变将数据总线上的数据装入PC;当当LOAD=1而LDPC=1时PC的内容加1;当PCB=
5、1时,PC中的地址信息送到数据总线上。 指令寄存器IR用于存放当前执行的指令。当微命令LDIR=1时,由节拍脉冲T3将数据总线上的数据装入。 地址寄存器AR存放要从存储器中读出的数据或指令的地址或要向存储器写入数据或指令的地址。当微命令LDAR=1时,由节拍脉冲T3将数据总线上的数据装入。 存储器RAM用于存放程序和数据。当片选信号CE=0时,如果W/R为0,则根据AR中的地址,从存储器中读出数据并送到数据总线上;如果W/R为1,则根据AR中的地址,向存储器中写入数据总线上的数据。片选信号CE是由微指令中的有关字段(B1B0)译码产生的。模型机有两个外部设备:输入设备是置数开关SW,用于设置数
6、据或地址,当微命令SWB=0时,设置的数据送到数据总线上;SWB也是由微指令中的有关字段(B1B0)译码产生的。输出设备是两位LED数码管,当微命令LEDB=1时,数据总线上的数据送到数码管显示。二、基本模型机的指令设计根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT、无条件转移指令JMP。指令格式如下: 助记符 机器指令码说明IN 0000 0000 ; 置数开关SW(KD0KD7)的状态R0ADD addr 0001 0000 ; (R0)+(addr)(R0)STA addr 0010 0000 ; (R0)(addr)O
7、UT addr 0011 0000 ; (addr)输出设备LEDJMP addr 0100 0000 ;addrPC说明: 指令IN为单字节指令,其余均为双字节指令, 为要读写的主存储器单元的二进制地址码。根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令NADD、指令STA、输出到外设指令OUT、无条件转移指令JMP、数据传送指令 MOV、减法指令SUB、或指令 OR、异或指令 XOR、与指令AND。指令设计格式如下:00H:00110000 ; IN R0:(SW)(R0)01H:01000000 ; ADD R0,30:(R0)+(30)(R0)02H:001100
8、0003H:01010000 ; 31,R0:(R0)(31)04H:0011000105H:01100000 ; OUT 31:(31)(LED)06H:0011000107H:10000100 ; MOV R0,R1:(R1)(R0)08H:10010001 ; SUB R1,R0:(R0)(R1)(R1)09H:10100000 ; OR R0,(addr):(R0)(addr)(R0)0AH:001101010BH:10110000 ; XOR R0,(addr):(addr)(R0)(R0)0CH:001101100DH:11000001 ; AND R0,R1:(R1)与(R0)(
9、R0)0EH:01110000 ; JMP 00: 00(PC)0FH:0000000030H:0001000135H:0001000136H:00010001三、指令微流程分析 这十条指令的微流程图如图所示:0A0C2221201F1E1D1C1B1AROBUSBUSDR1DR1XORDR2R001ROBUSBUSDR1RAMBUSBUSDR2JMPANDXOR01R1BUSBUSDR2(DR1ANDR2)R0R0BUSBUSDR1RAMBUSBUSARRAMBUSBUSDR2PCARPC+10BDR1ORDR2R00119RAMBUSBUSARPCARPC+1OR18(DR1-DR2)R0
10、0117R1BUSBUSDR2R0BUSBUSDR109SUBMOV0108R1BUSBUSR001RAMBUSBUSPC16PCARPC+107INADDOUTSTA06PCARPC+113RAMBUSBUSAR14RAMBUSBUSDR115DR1LED010405PCARPC+111RAMBUSBUSAR12R0BUSBUSRAM010DRAMBUSBUSAR0ERAMBUSBUSDR20FR0DR11001(D1+DR2)R0PCARPC+101SWR0RAMBUSBUSIRP(1)测试PCARPC+103图3 用数据流表示的微程序流程该图是运行微程序的数据流图,实际上并没有分解到微命
11、令一级。为了设计微程序,还应该根据此图进一步细化到微命令(微操作)一级。例如PCAR,实际上应该同时发出PCB、LDAR两个微命令;PC+1应该发出LDPC微命令;SWR0应该发出SWB、LDRi(与指令码中的相应位共同译码产生LDR0微命令)两个微命令;RAMBUS应该发出CE有效和读存储器两个微命令;BUSRAM应该发出CE有效和写存储器两个微命令;R0是指R0B微命令有效等等。据此可将该图改画成下图:01运行微程序PCBLDARLDPCCE有效W/R=0LOADALU做加LDRiALUBR0B有效LDDR1ALUBLEDBALU=AW/R=1CE有效W/R=0LDDR1CE有效W/R=0
12、LDARR0BCE有效W/R=1CE有效W/R=0LDARCE有效W/R=0LDDR2CE有效W/R=0LDARPCBLDARLDPCSUBMOVJMPOUTSTAADDINR1BLDRiPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRi02CE有效W/R=0LDIRP(1)测试ORANDXOR0C08030B0A0907060504R0B有效LDDR1PCBLDARLDPCALU做“与”LDRiALUBR1BLDDR2R0BLDDR1PCBLDARLDPC211D19171613110DR1B有效LDDR2CE有效W/R=0LDARCE有效W/R=0LDAR
13、010114221E1A18120EALU做减法LDRiALUBCE有效W/R=0LDDR2CE有效W/R=0LDDR201150F1F1B01R0B有效LDDR1R0B有效LDDR10101201C100101ALU做异或LDRiALUB01ALU做或LDRiALUB01图4 用微命令表示的执行十条基本指令的微指令流程 该图中每个框上的数字表示该条微指令在控存中的地址(与指令格式有关,也与设计者的意愿有关)。如何在一条微指令中实现一个框中的微操作与微指令的格式密切相关。四、基本模型机的微指令格式 本模型机的微指令长共24位,基本采用水平型微指令字段直接编码方式,其控制位顺序如下: 其中,S3
14、、S2、S1、S0、M、CN(A24A19位)为ALU运算类型的控制字段,其输出不需译码直接连接到ALU的对应控制信号即可。需要指出的是,该字段无论如何编码,ALU都要进行某种运算,但是只要不发出ALUB微命令,ALU的运算结果都不会送到数据总线上,也就是不会对其它部件的操作产生任何影响。在设计微程序时,只要不发ALUB微命令,该字段的编码可以任意设置。 A18位为输出设备(LED)和主存(RAM)的读写控制字段,该位为0,表示读;该位为1,表示写。 A17A16位(B1B0)字段用于选择外设和主存。B1B0=01选择主存(CE有效),B1B0=00选择输入数据开关(SWB有效),B1B0=1
15、0选择输出LED(LEDB有效)。B1B0=11对本模型机无效,即没有选中任何外设或主存。 对本模型机而言,上述三位可以看成一个字段,其编码的含义如下: A18A17A16=000或100 从输入开关SW读数据 A18A17A16=001 从主存读数据 A18A17A16=101 向主存写数据 A18A17A16=110 向LED写数据 其它组合无意义。 A6A1位为6位的预置后续微地址,“预置”的含义是该字段与微地址控制字段以及指令寄存器等部件的内容共同产生下一条微指令在控存中的微地址。 A、B、C 三个译码字段,分别由三组译码控制电路译码产生各种微命令。 A字段用于产生各寄存器的数据装入微
16、命令,各种编码的含义如上表所示。 由于模型机有三个通用寄存器(R0、R1、R2),它们都有相应的数据装入微命令,为了不增加微指令的宽度,该字段只设计了一个LDRi命令。为了区分究竟是哪个寄存器装入数据,要根据指令寄存器的最低两位(I1I0)的状态而定:当I1I0=00时,发LDR0微命令;I1I0=01时,发LDR1微命令;I1I0=10时,发LDR2微命令;I1I0=11时,对本模型机无效; B字段中的RSB、RDB、RIB分别为源寄存器的内容送数据总线、目的寄存器送数据总线及变址寄存器送数据总线的微命令,其功能是根据机器指令来选通三个工作寄存器R0、R1及R2之一,将其内容送数据总线。 具
17、体规则如下: 如果RDB有效,根据指令寄存器的最低两位(I1I0)的状态决定哪个寄存器的内容送数据总线:当I1I0=00时,发R0B微命令;I1I0=01时,发R1B微命令;I1I0=10时,发R2B微命令;I1I0=11时,对本模型机无效; 如果RSB有效,根据指令寄存器(I3I2)两位的状态决定哪个寄存器的内容送数据总线:当I3I2=00时,发R0B微命令;I3I2=01时,发R1B微命令;I3I2=10时,发R2B微命令;I3I2=11时,对本模型机无效; 本模型机的变址寄存器固定为R2,故RIB有效就是R2B有效。 基于上述字段的设计规则,在设计机器指令格式时,必须将目的寄存器的编码放
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 简单 模型 微程序 设计
链接地址:https://www.31ppt.com/p-2882282.html