logo资料库

西电计算机组成基本模型机设计实验报告.docx

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
基本模型机设计与实现
一.实验目的
二.实验原理
表6-1 24位微代码定义:
图6-3 模型计算机电路原理图
实验程序1:
三.实验步骤
基本模型机设计与实现 一.实验目的 1.深入理解基本模型计算机的功能、组成知识; 2.深入学习计算机各类典型指令的执行流程; 3.学习微程序控制器的设计过程和相关技术,掌握 LPM_ROM 的配置方法。 4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模 型计算机。 5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。掌握 微程序的设计方法,学会编写二进制微指令代码表。 6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方 法。 二.实验原理 1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在 微过程控制下自动产生各部件单元控制信号,实现特定的功能。实验中,计算机数据通路的 控制将由微过程控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令 周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 2.指令格式 (1)指令格式 采用寄存器直接寻址方式,其格式如下: 位 功能 7 6 5 OP-CODE 4 3 2 1 0 rs rd 本实验采用五条机器指令:IN(输入)、 ADD(二进制加法)、STA(存数)、OUT (输出)、JMP(无条件转移),其指令格 式如下(最高 4 位二进制数为操作码): 其中,OP-CODE 为操作码,rs 为源寄存器,rd 为目的寄存器,并规定: Rs 或 rd 选定的寄存器 00 01 10 R0 R1 R2 助记符 IN ADD addr STA addr OUT addr JMP addr 机器指令码 0 0H 1 0H 2 0H 3 0H 4 0H Addr 地址码 功能说明 “INPUT”中的数据→R0 XX H XX H XX H XX H R0+[addr] ->R0 R0 -> [addr] [addr] -> BUS addr →PC 其中 IN 为单字长(8 位二进制),其余为双字长指令,XX H 为 addr 对应的十六进制地 址码。为了向 RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设 计三个控制台操作微程序。
1,存储 器 读 操 作 (KRD):下 载实验程序 后按总清除 按键(CLR) 后,控制台 SWA 、 SWB 为“0 0”时, 可对 RAM 连 续手动读入 操作。 2, 存 储器写操作 (KWE):下 载实验程序 后按总清除 图 6-1 数据通路框图 按键(CLR)后,控制台 SWA、SWB 为“0 1”时,可对 RAM 连续手动写操作。 3、启动程序(RP):下载实验程序后按总清除按键(CLR)后,控制台 SWA、SWB 为 “1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。 根据以上要求设计数据通路框图,如图 5-1 所 示。 SWB SWA 0 0 1 0 1 1 控制台指令 读内存(KRD) 写内存(KWE) 启动程序(RP) 24 S3 23 S2 22 S1 20 21 19 S0 M Cn 18 WE 表 6-1 24 位微代码定义: 17 A9 15 14 13 16 A8 B 12 11 10 9 8 7 C 6 uA5 5 uA4 4 uA3 3 uA2 2 uA1 1 uA0 C 字段 A 表 6-2 A、B、C 各字段功能说明: B 字段 A 字段 10 0 1 0 1 0 1 0 13 选择 0 1 0 1 0 1 0 12 0 0 0 0 1 1 1 11 0 0 1 1 0 0 1 14 0 0 1 1 0 0 1 15 0 0 0 0 1 1 1 RS-B P(1) LDRi LDDR1 LDDR2 LDIR LOAD LDAR 24 位微代码中各信号的功能 (1) uA5—uA0:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。 (2) S3、S2、Sl、S0:由微程序控制器输出的 ALU 操作选择信号,以控制执行 16 种算术 P(4) LDAR LDPC ALU-B PC-B 选择 9 0 0 0 0 1 1 1 8 0 0 1 1 0 0 1 7 选择 0 1 0 1 0 1 0 操作或 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 二进制微代码表 微指令 S 3 S 2 S 1 S 0 M C N W E A 9 A 8 0 1 0 1 8 1 1 0 1 0 0 0 E D 8 2 1 0 0 0 C 0 4 8 0 1 0 0 E 0 0 4 1 0 0 0 B 0 0 5 1 0 0 1 A 2 0 6 1 1 9 1 9 A 0 1 1 0 0 E 0 0 D 0 0 0 0 0 1 0 0 1 0 0 E D 8 3 0 1 1 0 0 0 E D 8 7 1 0 0 0 E D 8 E 0 0 E D 9 6 0 1 1 0 0 3 8 2 0 1 1 0 0 0 E 0 0 F 1 0 0 0 A 0 1 5 0 1 E D 9 2 0 1 1 0 0 1 E D 9 4 1 0 0 0 A 0 1 0 0 0 8 0 0 1 0 1 0 0 0 6 2 0 1 1 0 0 0 7 0 A 0 1 0 0 D 1 8 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 微地址 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 2 0 2 1 2 2 2 3 2 4 2 5 2 6 A 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 B 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 C UA5—UA0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时, 先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码段, 由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试“P(1)”,通过节拍脉 冲 T4 的控制,以便识别所要求的操作。 指令译码器: 根据指令中的操作码强置微控制器单元的微地址,使下一条微指令指向相应的 微程序首地址。 实验中 LCD 液晶显示屏可以用来显示模型机 CPU 中各组成单元的内容。将 B100_C.sof 文件下载到实验台后,按系统复位键,LCD 液晶显示屏即显示 CPU 中各组成单元的内容。其 功能说明如下: LCD 液晶显示屏功能说明 作 用 名称 作 用 图 6-4 LCD 液晶显示屏 输入单元 INPUT 名称 IN OUT 输出单元 OUTPUT ALU 算术逻辑单元 BUS 内部数据总线 R0 R1 R2 寄存器 R0 寄存器 R1 寄存器 R2 DR1 DR2 PC AR RAM IR MC 暂存器 DR1 暂存器 DR2 程序计数器 地址寄存器 程序/数据存储器 指令寄存器 微程序控制器
实验程序 1: 图 6-3 模型计算机电路原理图
三.实验步骤 实验要求设计自己的微指令并执行不少于 5 条指令 1) . 设计指令的流程图
2) 根据流程图编写编码表
3) 根据微指令表设计微程序
分享到:
收藏