计算机组成原理课程设计基本模型机设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(大作业)报告课程名称:计算机组成原理
设计题目:基本模型机设计与实现
院系:信息技术学院
班级:计算机科学与技术3班
设计者:
学号:
指导教师:
设计时间:
昆明学院
信息技术学院
课程设计(大作业)任务书
目录
课程设计(大作业)报告
一、课程设计的教学目的
1. 在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。
2. 本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。
课程设计内容设计一台基本模型机,并实现相关的指令。
二、课程设计任务和基本要求
本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。
1.按给定的数据格式和指令系统,设计一个微程序控制器。
2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微
程序的为指令代码。
3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运
行过程及结果。
4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台
模型计算机。
5.用微程序控制器控制模型机的数据通路。
6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令
与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。
7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的
机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在
PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。
三、设计任务及分析
(1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的
内存单元,将X与R
0.
寄存器中的内容Y执行X ⊕,结果送到以B为直接地址的内存单元保存。
(2)分析:
A:给R
寄存器直接置入01H.
B:从数据开关给间接地址为0CH的内存单元置数,(03H).
C:给R
0中的内容取反,结果存在R
中.
D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1中, R
中的内容
放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R
中.
E:将R
中的内容存在直接地址为0DH的内存单元中.
四、设计原理
模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):
助记符机器指令码说明
IN 0000 0000 “INPUT DEVICE”中的开关状态RO ADDaddr 00010000××××××××进制加法,R0+[addr] R0 STAaddr 00100000××××××××存数,RO [addr]
OUTaddr 00110000××××××××输出,[addr]BUS
JMPaddr 01000000××××××××无条件转移,addr PC 其中IN 为单字长(8位)指令,其余为双字长指令,××××××××为addr 对应的二进制地址码。
根据模型机的数据通路图(如图1所示)和指令的要求定义微代码如下:
微程序24~21 20 19 18 17 16 15~13 12~10 9~7 6~1
控制信号S3~S0 M CN RD M17 M16 A B P uA5~uA0
表1 微代码定义
A字段B字段P字段
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_G 0 0 1 P1
0 1 0 LDDR1 0 1 0 RD_G 0 1 0 P2
0 1 1 LDDR2 0 1 1 RI_G 0 1 1 P3
1 0 0 LDIR 1 0 0 299_G 1 0 0 P4
1 0 1 LOAD 1 0 1 ALU_G 1 0 1 AR
1 1 0 LDAR 1 1 0 PC_G 1 1 0 LDPC
表2 A、B、P字段
表中μA5~μA0 为6 位后续微地址,A、B、C 为三个译码字段,分别由三
个控制位译码出多位。P 字段中的P(1)~P(4)是四个测试字位。其功能是
根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实
现微程序的顺序、分支、循环运行。B 字段中的RS-B、RD-B、RI-B 分别为源寄
存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器
指令来进行三个工作寄存器R0、R1 及R2 的选通译码。A 字段中的LDRI 为从
输入设备组件中读入数据使能控制信号。
指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先
把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和
地址码字段,由二进制数构成。为了执行任何给定的指令,必须对操作码进行测试[P(1)],通过节拍脉冲T4的控制以便识别所要求的操作。“指令寄存器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码结果强置微控器单元的微地址,使下一条微指令指向相应得微程序首地址。
本系统使用两种外部设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码管,它作为输出设备(OUPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出的数据送到数据总线BUS上,当写信号(W/R)有效时,将数据打入输出锁存器,在数码管显示。
图1基本模型机数据通路图
(1)运算器。运算器又由运算逻辑单元、数据暂存器、通用寄存器组成。在图1模型机的结构图中,ALU、ALU_G和74299组成运算逻辑单元,其中ALU是由2个4位的74LS181串联成8位的运算器,ALU_G是ALU-G
实现用于控制ALU的运算结果的输出,74299用74LS299实现用于对ALU
的运算结果进行移位运算;数据暂存器在图1中由DR1和DR2组成,DR1
和DR2都是用74LS273实现,它们用于存储运算器进行运算的两个操作数;
通用寄存器在图1中由R0、R1和R2组成,R0、R1和R2都是用74LS374
实现,它们用作目的寄存器和源寄存器。
(2)控制器。控制器由微程序控制器、指令寄存器、地址寄存器和程序计数器组成。在图1中微程序控制器表示为MControl,它里面存放了
指令系统对应的全部微程序,微程序控制器是由微控制存储器和3个138译码器实现(A138、B138和P138),用于产生控制信号来控制各个组件
的工作状态;在图1中指令寄存器表示为IR,指令寄存器由一个74LS273实现,用于存放当前正在执行的指令;在图1中地址寄存器表示为AR,
地址寄存器由一个74LS273实现,在读取或者写入存储器时用于指明要读取或写入的地址;程序计数器在图1中由PC_G和PC组成,其中PC是由
八位二进制同步计数器实现,用于产生程序指针pc的下一个值,PC_G由PC-G实现,用于存储程序的程序指针pc的值。
(3)存储器。存储器在图1中表示为MEN,存储器用静态随机存储器6116实现,用来存储用户程序和数据。