计算机硬件课程设计报告——复杂模型机设计
计算机硬件课程设计报告——复杂模型机设计本文简介:计算机硬件课程设计报告复杂模型机设计一、实验目的经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。二、实验原理搭建一台8位模型机,指令系统要求有10条以上,其中包括运算类指令、传送类指令、控制转移类指令、输入输出指令、停机指令等。三、实验思路
计算机硬件课程设计报告——复杂模型机设计本文内容:
计算机硬件课程设计报告
复杂模型机设计
一、实验目的
经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,这在硬件方面是一个提高,进一步培养实践能力。
二、实验原理
搭建一台8位模型机,指令系统要求有10条
以上,其中包括运算类指令、传送类指令、
控制转移类指令、输入输出指令、停机指令等。
三、实验思路
1、确定设计目标:确定所设计计算机的功能和用途。
2、确定指令系统:确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。
3、确定总体结构与数据通路:总体结构设计包含确定各部件设置以及它们之间的数据通路结构,列出各种信息传送路径以及实现这些传送所需要的微命令。
4、设计指令执行流程:数据通路确定后,就可以设计指令系统中每条指令的执行流程。根据指令的复杂程度。每条指令所需要的机器周期数。对于微程序控制的
计算机,根据总线结构,需要考虑哪些微操作可以安排在同一个微指令中。
5、确定微程序地址:根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。
6、根据微指令格式,将微程序流程中的所有微操作进行二进制代码化,写入到控制存储器中的相应单元中。
7、组装、调试:在总装调试前,先按功能模块进行组装和分调,因为只有功能模块工作正常后,才能保证整机的运行正确。
四、实验原理
1.指令系统及指令格式:
指令系统应包括:算术逻辑运算指令、访存指令、控
制转移指令、I/O指令、停机指令。
一般指令格式:
DATA/ADDR
OP-CODE
RS
RD
DATA/ADDR
00
M
OPCODE
RD
指令系统如:
ADD
RS,RD
MOV
DATA,RD
MOV
RS,[ADDR]
JZ
ADDR
IN
RD
HALT
其中RS
、RD为R0、R1、R2中之一
,DATA为立即数,ADDR
为内存地址。
2.指令微操作流程
3.微指令格式
299-b
s1
s0
m
功能
0
0
0
任意
保持
0
1
0
0
循环右移
0
1
0
1
带进位循环右移
0
0
1
0
循环左移
0
0
1
1
带进位循环左移
任意
1
1
任意
装数
4.微程序入口地址形成
寄存器地址译码电路
5.模型机的时序
6.模型机数据通路
7.微程序装载格式
机器指令格式:
$Pxxxx
微指令格式:
$Mxxxxxxxx
8.模型机组装电路图
五、实验步骤:
1、按照给定模型机组装电路图连接电路;
2、连通实验箱与PC机,打开CMP软件,测试实验箱是否正常;
3、设计微指令,画出其微操作流程图,并翻译成相应的微指令格式;
4、设计包含这些微指令的机器指令程序,并翻译成相应机器指令格式;
5、把设计好微指令和机器指令保存为TXT文件,然后装载入CMP;
6、打开复杂模型机,然后用单步机器指令运行程序并调试;
7、检查LED数码管输出结果是否正确,最后撰写实验报告。
六、实验设计:
1.流程图设计:
2.微程序设计:
$P0000;
IN
R0
$P0110;
OUT
R0
$P0221;
MOV
RO
->
R1;
$P0331;
INC
R1
;
$P0441;
ADD:
R0+R1
->
R1;
$P0554;
OR:
R1
or
R0->R0
;
$P06***;
SUB:R1
R0
->
R0
$P0774;
MOV:[R1]->MEM->R0
$P0881;
NOT:R1
$P0990;
JMP:10010000
$P0A00
$M00018001;
COMMON
LANG
$M0101ED82;
COMMON
LANG
$M0200C050;
COMMON
LANG
$M10001001;
10
000
000000
000
001
00001H
$M11070401;
11000001
110
000
010
000
01H
$M12019201;
12000000
011
001
001
000
01H
$M1301A403;
13000000
011
010
010
000
03H
$M03019B41;
03000000
011
001
101
101
01H
$M1401A204;
14000000
011
010
001
000
04H
$M0401B405;
04000000
011
011
010
000
05H
$M05959A01;
05100101
011
001
101
000
01H
$M1501A206;
15000000
011
010
001
000
06H
$M0601B407;
06000000
011
011
010
000
07H
$M07E99B41;
07111010
011
001
101
101
01H
$M1601A408;
16000000
011
010
010
000
08H
$M0801B209;
08000000
011
011
001
000
09H
$M09619A01;
09011000
011
001
101
000
01H
$M1701E20A;
17000000
011
110
001
000
0AH
$M0A009001;
0A000000
001
001
000
000
01H
$M1801A40B;
18000000
011
010
010
000
0BH
$M0B099B41;
0B000010
011
001
101
101
01H
$M1901ED8C;
19000000
011
110
110
110
0CH
$M0C00D181;
0C000000
001
101
000
110
01H
3.微程序通路图
七、实验心得
本次硬件课程设计做的是设计复杂模型机,其中需要运用到计算机组成原理和微机原理的相关知识。通过让我们自己动手编写微程序,让我们对于计算机硬件基础有了更为具象的理解。
实验刚开始的时候,老师就给我们讲解了从设计到最后完成微指令的一系列指导,当时听的比较认真,基本理解了设计复杂模型机指令的方法.
在实际操作过程中,遇到不清楚的,也能通过老师给出的演示文稿PPT或者直接询问老师来解决问题.基本上整个流程进行的比较顺利.从简单的IN语句开始,循序渐进,直到最后的跳转语句,对照微指令格式表和机器指令表,实现了之前本以为非常复杂的指令系统.期间遇到bug或者问题的时候,我们也学会了通过观察通路图的方法来验证程序哪部分写错。
由于实验过程存在着很多位的0,1,稍有不慎便会出现微指令或者机器指令写错的情况,所以在操作的过程中,两人通力合作,共同一步一步全神贯注地去编写,调试,查看。通过观察通路图的数据流,让我们对于曾经书本上只是知其然而不知其所以然的一条条汇编指令的内部数据流动情况有了深刻的理解,对我们日后编程中更好的提高机器运行效率有很大的帮助.
总体来说,本次硬件课程设计较为顺利,感谢老师的悉心指导,让我们有了巨大的收获.