计算机组成原理实验报告
下载后可任意编辑 计 算 机 组 成 原 理 实 验 报 告 评 语: 成绩 教 师: 年 月 日 班 级: s 学 号: 姓 名: 地 点: 时 间: 计算机组成原理实验报告 一、实验目的 1.深化理解基本模型计算机的功能、组成知识; 2.深化学习计算机各类典型指令的执行流程; 3.学习微程序控制器的设计过程和相关技术,掌握LPM_ROM的配置方法。 4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。 5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握微程序的设计方法,学会编写二进制微指令代码表。 6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。 二、实验原理 1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路的控制将由微过程控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 2.指令格式 (1)指令格式 采纳寄存器直接寻址方式,其格式如下: 位 7654 32 10 功能 OP-CODE rs rd 其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定: Rs或rd 选定的寄存器 00 01 10 R0 R1 R2 助记符 机器指令码 Addr地址码 功能说明 IN ADD addr STA addr OUT addr JMP addr 0 0H 1 0H XX H 2 0H XX H 3 0H XX H 4 0H XX H “”中的数据→R0 R0+[addr] ->R0 R0 -> [addr] [addr] -> BUS addr →PC 其中IN为单字长(8位二进制),其余为双字长指令,XX H 为addr对应的十六进制地址码。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。 图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”号“取指令”微指令,启动程序运行。 SWB SWA 控制台指令 0 0 1 0 1 1 读内存(KRD) 写内存(KWE) 启动程序(RP) 根据以上要求设计数据通路框图,如图5-1所示。 表6-1 24位微代码定义: 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 987 6 5 4 3 2 1 S3 S2 S1 S0 M Cn WE A9 A8 A B C uA5 uA4 uA3 uA2 uA1 uA0 表6-2 A、B、C各字段功能说明: A字段 B字段 C字段 15 14 13 选择 12 11 10 选择 9 8 7 选择 0 0 0 0 0 0 0 0 0 0 0 1 LDRi 0 0 1 RS-B 0 0 1 P(1) 0 1 0 LDDR1 0 1 0 0 1 0 0 1 1 LDDR2 0 1 1 0 1 1 1 0 0 LDIR 1 0 0 1 0 0 P(4) 1 0 1 LOAD 1 0 1 ALU-B 1 0 1 LDAR 1 1 0 LDAR 1 1 0 PC-B 1 1 0 LDPC 24位微代码中各信号的功能 (1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。 (2) S3、S2、Sl、S0:由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的某一种操作。 (3) M:微程序控制输出的ALU操作方式选择信号端。M=0执行算术操作;M=l执行逻辑操作。 (4) Cn:微程序控制器输出的进位标志信号,Cn=0表示ALU运算时最低位有进位,Cn=1则表示无进位。 (5)WE:微程序控制器输出的RAM控制信号。当/CE=0时,如WE=0为存储器读;如WE=1为存储器写。 (6) A9、A8——译码后产生CS0、CS1、CS2信号,分别作为SW_B、RAM、LED的选通控制信号。 (7) A字段(15、14、13)——译码后产生与总线相连接的各单元的输入选通信号(见表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进制! 当全部微程序设计完毕后,应将每条微指令代码化,表6-2即为图6-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。 表6-2 二进制微代码表 微地址 微指令 S3 S2 S1 S0 M CN WE A9 A8 A B C UA5—UA0 00 018110 000000011 000 000 100 010000 01 00ED82 000000001