计算机硬件课程设计
设计报告
学号 姓名:王宇
学号 姓名:杜冰
2015年10月29日一、课题名称:
微程序控制模型计算机的设计
二、实验目的:
1.运用“计算机组成原理”和“数字电路”等课程的知识,通过对模型机的设计和调试,加深对计算机各部件工作原理的认识。
2.进一步掌握运用EDA 技术进行设计和调试的工作方法。
三、实验任务:
1. 设计一台由微程序控制的模型计算机。
2. 将模型机调试成功,对设计进行优化。
四、设计方案:
1.数据格式和指令系统
采用 8 位数据通路,数据采用8 位二进制定点表示。
76543210.
设置7 条机器指令和2条面板操作指令
(1) 面板操作指令
a.输入地址为 PC 置初始值,即输入程序的起始地址,当K1 开关置“1”,K2 开关置“0”时执行此操作;
b.输入程序将程序输入到内存的指定区域,当K1,K2 开关均置“1”时,由面板输入开关输入程序;
c.本模型机设置 K3 开关,K3 置1 表示执行单步操作;
d. START 表示启动开关。单步操作时,用于执行每一条指令;
e.CLRN表示总清开关,置0时系统全部清零。
(2) 指令系统
a. 指令格式
操作码寻址方式7 6 5 43 2 1 0
有二种寻址方式
(1)寄存器寻址
操作码R目R源7 6 5 43 2 1 0
(2)直接地址寻址
由于地址要占用一个字节,所以此类指令为双字节指令。
操作码R目R源内存地址7 6 5 43 2 1 0
b.7条基本机器指令
(1)IN R; 从开关输入数据送入到指定的寄存器R。
格式:
0 0 0 1R目R源
(2)OUT R;从指定的寄存器R 中取出数据送入到输出缓冲器,显示灯亮。
格式:
0 0 1 00 0R源
(3)LD R , address ;从内存指定单元取出数据,送入指定的寄存器R。
格式:
0 0 1 1R目R源Address
(4)ST address, R; 从指定的寄存器R 中取出数据,存入内存指定单元。
格式:
0 1 0 0R目R源Address
(5)ADD R1, R2;将两个寄存器中的数据相加,结果送到R1。
格式:
0 1 0 1R目R源
(6)JMP address; 无条件转移,即address ->PC。
格式:
0 1 1 0R目R源Address
(7)HALT ; 停机指令。
0 1 1 10 00 0
2.硬件结构设计
为了简单方便,我们采用单总线结构,总体结构和 CPU 内部结构设计如图所示。
3.数据通路设计
4.控制器设计
控制器组成
微指令格式和微命令
首先对数据通路进行分析,需要16个控制信号。此外还要2个信号:UPC (表示一段微程序结束),HALT(停机),共需要18个控制信号。采用水平型格式表示。
控制数据通路的 16个信号说明如下:
G1,G2,G3,G4 分别控制4个多路开关
A,B,C,D,E 分别控制对应的寄存器输入
F 控制计数器PC 的输入和计数
I 控制指令寄存器的输入
DEST 目的寄存器的读出控制信号
SRC 源寄存器的读出控制信号
WE 对RAM 的写入信号
GWN 通用寄存器组的写入信号
LDN PC 置初值的控制信号
时序信号和控存的安排
根据分析,每执行一条微指令的操作须用2 个工作脉冲,读取一条微指令需要1 个工作脉冲执行,M1 脉冲将微指令送入微指令寄存器(3 片74273);M3、M4 用来执行该微指令的操作。这样读取并执行一条微指令总共需要4 个工作脉冲M1、M2、M3、M4,所需的脉冲时序如图所示。
电路实现:
根据分析,执行一条微指令的操作须用2 个工作脉冲。18 位微命令需要占用3 个字节,本实验用如下方式来获得3 个字节的微指令,由数字电路的知识可知,当ROM 的字数够用而每个字的位数不够用时,我们可以采用位扩展的连接方式,将多片ROM 组合成位数