1、计 算 机 组 成 原 理实 验 报 告评 语:成绩教 师:年 月 日班 级: 031213 学 号: 03121256 姓 名: 戚玉志 地 点: 二区312 时 间: .9.15(第二批) 计算机组成原理和体系结构课程设计 基础模型机设计和实现一试验目标1深入了解基础模型计算机功效、组成知识;2深入学习计算机各类经典指令实施步骤;3学习微程序控制器设计过程和相关技术,掌握LPM_ROM配置方法。4在掌握部件单元电路试验基础上,深入将单元电路组成系统,结构一台基础模型计算机。5定义五条机器指令,并编写对应微程序,上机调试,掌握计算机整机概念。掌握微程序设计方法,学会编写二进制微指令代码表。6
2、经过熟悉较完整计算机设计,全方面了解并掌握微程序控制方法计算机设计方法。二试验原理本试验采取五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式以下(最高4位二进制数为操作码):1在部件试验过程中,各部件单元控制信号是人为模拟产生,而本试验将能在微过程控制下自动产生各部件单元控制信号,实现特定功效。试验中,计算机数据通路控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令实施结束一个指令周期,全部由微指令组成序列来完成,即一条机器指令对应一个微程序。2指令格式(1)指令格式采取寄存器直接寻址方法,其格式以下:位 7654
3、 3210功效OP-CODErsrd其中,OP-CODE为操作码,rs为源寄存器,rd为目标寄存器,并要求:Rs或rd选定寄存器000110R0R1R2助记符机器指令码Addr地址码功效说明INADD addrSTA addrOUT addrJMP addr0 0H1 0H XX H2 0H XX H3 0H XX H4 0H XX H“INPUT”中数据R0R0+addr -R0R0 - addraddr - BUSaddr PC其中IN为单字长(8位二进制),其它为双字长指令,XX H 为addr对应十六进制地址码。为了向RAM中装入程序和数据,检验写入是否正确,并能开启程序实施,还必需设
4、计三个控制台操作微程序。图6-1 数据通路框图1,存放器读操作(KRD):下载试验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 0”时,可对RAM连续手动读入操作。2,存放器写操作(KWE):下载试验程序后按总清除按键(CLR)后,控制台SWA、SWB为“0 1”时,可对RAM连续手动写操作。3、开启程序(RP):下载试验程序后按总清除按键(CLR)后,控制台SWA、SWB为“1 1”时,即可转入到微地址“01”号“取指令”微指令,开启程序运行。SWBSWA控制台指令001011读内存(KRD)写内存(KWE)开启程序(RP)依据以上要求设计数据通路框图,图5-1所表示。表6-1
5、 24位微代码定义:24232221201918171615 14 1312 11 10987654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0 表6-2 A、B、C各字段功效说明:A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LDDR1010010011LDDR2011011100LDIR100100P(4)101LOAD101ALU-B101LDAR110LDAR110PC-B110LDPC24位微代码中各信号功效(1) uA5uA0:微程序控制器微地址输出信号,是下一条要
6、实施微指令微地址。(2) S3、S2、Sl、S0:由微程序控制器输出ALU操作选择信号,以控制实施16种算术操作或16种逻辑操作中某一个操作。(3) M:微程序控制输出ALU操作方法选择信号端。M0实施算术操作;Ml实施逻辑操作。(4) Cn:微程序控制器输出进位标志信号,Cn0表示ALU运算时最低位有进位,Cn1则表示无进位。 (5)WE:微程序控制器输出RAM控制信号。当/CE0时,如WE0为存放器读;如WE1为存放器写。 (6) A9、A8译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED选通控制信号。 (7) A字段(15、14、13)译码后产生和总线相连接各单元输
7、入选通信号(见表6-1)。(8) B字段(12、11、10)译码后产生和总线相连接各单元输出选通信号。(9) C字段(9、8、7) 译码后产生分支判定测试信号P(1)P(4)和LDPC信号。系统包含到微程序步骤见图6-2。当实施“取指令”微指令时,该微指令判定测试字段为P(1)测试。因为“取指令”微指令是全部微程序全部使用公用微指令,所以P(1)测试结果出现多路分支(见图6-2左图)。用指令寄存器高4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定地址单元。控制台操作为P(4)测试(见图6-2右图),它以控制台信号SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
8、当分支微地址单元固定后,剩下其它地方就能够一条微指令占用控制存放器一个微地址单元,随意填写。注意:微程序步骤图上微地址为8进制!当全部微程序设计完成后,应将每条微指令代码化,表6-2即为图6-2微程序步骤图按微指令格式转化而成“二进制微代码表”。微地址微指令S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA0000181100000001000100000100ED821101101100000100200C0481000000010010000300E0041100000000001000400B0050110000000001010501A20601000100000011
9、006919A010011010000000010700E00D110000000001101100010010010000000000011100ED831101101100000111200ED871101101100001111300ED8E1101101100011101400ED9611011011001011015038201000000110000010000000011600E00F1100000000011111700A0150100000000101012001ED921101101100100102101ED941101101100101002200A0100100000
10、0001000023008001000000000000001240601000000001000125070A010001010000000012600D181101000110000001表6-2 二进制微代码表指令寄存器(IR):指令寄存器用来保留目前正在实施一条指令。当实施一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码段,由二进制数组成,为了实施任何给定指令,必需对操作码进行测试“P(1)”,经过节拍脉冲T4控制,方便识别所要求操作。 指令译码器: 依据指令中操作码强置微控制器单元微地址,使下一条微指令指向对应微程序首地址。试验电路原理图 :
11、试验程序1: 伪指令设计过程:图所表示,设计了减法,或运算,和运算,非运算,加一和减一运算,得到微指令以下图所表示:试验RAM中程序以下图所表示:试验心得试验刚开始时候,拿到课程设计题目,认为自己简直是无法下手,但以后经过认真学习试验课程相关内容和在同学帮助下,我认为其是自己还是能够实现课程设计最终目标。其是只要是认真看明白了试验所给出微指令例程,尤其是加法指令后,和其相同指令就能够实现了,自己所需要改变只是一些控制位和最终地址位而已,但这种方法做出来微指令也有一定缺点,全部指令全部是在围绕着ALU而已,没有创新。经过这次课程设计,我愈加深刻认识到,全部在书本上面学到知识其实全部是能够在实际操作中实现。经过自己动手,所学到知识才会有愈加深刻印象,才能真正做到学以致用。