计算机组成原理模型机设计与实现报告
- 格式:doc
- 大小:332.00 KB
- 文档页数:12
课程设计课程名称计算机组成原理
题目模型机设计与实现
2016 年6 月26日
课程设计任务书
设计题目:模型机设计与实现
设计目的:
利用基本模型机的构建与调试实验,完整地建立计算机硬件的整机模型,掌握CPU的基本结构和控制流程,掌握指令执行的基本过程。
设计任务(在规定的时间内完成下列任务)
1.掌握CISC微控制器功能与微指令格式
2.设计五条机器指令,并编写对应的微程序
3.在TDN-CM+教学实验系统中调试机器指令程序,确认运行结果
时间安排(集中时间)
1.第18周周一(1-4):全体集中讲解课程设计原理与方法
2.第18周周一~周四(1-4):分班调试,撰写设计报告
3.第18周周五:验收及答辩。
具体要求
1.周一:熟悉任务,掌握设备
2.周一:完成模型机的实验线路连接
3.周二:调试模型机,记录实验结果
4.周三:拟定课程设计报告大纲
5.周四、五:撰写并打印课程设计报告
指导教师签名: 2016年6月29日教研室主任签名: 2016年月日
1.实验目的
1.1 在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
1.2 为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
2.实验设备:
2.1 TDN-CM+或 TDN-CM++教学实验系统一台。
2.2 PC 微机一台。
3.实验原理:
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微
程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据
通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结
束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)、其指令格式如下(前4位为操作码):
其中IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。
为了向RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
存储器读操作(KRD ):拨动总清开关 CLR 后,控制台开关 SWB、SWA 为“00”时,按START 微动开关,可对 RAM 连续手动读操作。
存储器写操作(KWE):拨动总清开关 CLR 后,控制台开关 SWB、SWA 置为“01”时,按 START 微动开关可对 RAM 进行连续手动写入。
启动程序:拨动总清开关 CLR 后,控制台开关 SWB、SWA 置为“11”时,按 START
微动开关,即可转入到第 01 号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关 SWB、SWA 的状态来设置,其定义如下:
根据以上要求设计数据通路框图,如图5-1。微代码定义如表5-1 所示。
图5-1 数据通路框图
系统涉及到的微程序流程见图5-2,这里“取指”是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前4位(IR7—IR4)作为测试条件,引入了P(1)指令测试字段,如此,对于5条机器指令,就可以有5路P(1)测试分支,对于每一指令分别予以微程序解释。
控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。注意:微程序流程图上的单元地址为8进制。
当全部微程序设计完毕后,应将每条微指令代码化,表5-2 即为将图5-2 的微程序流程图按微指令格式转化而成的“二进制微代码表”。
表5-1 微代码定义
图5-2 微程序流程图
微地址S3 S2 S1 S0 M CN WE A9 A8 A B C μA5…μA0
0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 4 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
一条指令时,先把它从内存取到指令寄存器中,然后再对其进行译码、执行。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测
试
[P (1)],通过节拍脉冲
T 4
的控本系统有两种外部I/O 设备,一种是二进制代码开关,它作为输入设备
(INPUT DEVICE);另一种是数码块,它作为输出设备(OUTPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。本实验设计机器指令程序如下:
地址(二进制)容(二进制)助记符说明
0000 0000 0000 0000 IN R0 “INPUT DEVICE” R0
0000 0001 0001 0000 ADD [0AH],R0 R0+[0AH] R0
0000 0010 0000 1010
0000 0011 0010 0000 STA R0,[0BH] R0 [0BH]
0000 0100 0000 1011
0000 0101 0011 0000 OUT [0BH] [0BH] LED
0000 0110 0000 1011
0000 0111 0100 0000 JMP 00H 00H PC
0000 1000 0000 0000
0000 1001
0000 1010 0000 0001 自定
0000 1011 求和结果