计算机组织与体系结构课程设计报告Word格式文档下载.docx
《计算机组织与体系结构课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机组织与体系结构课程设计报告Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
![计算机组织与体系结构课程设计报告Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/9/8adadbe7-66ca-4c91-a8d0-44f4c667545f/8adadbe7-66ca-4c91-a8d0-44f4c667545f1.gif)
课程设计是将我们所学的课程的理论知识与实践相结合的实验。
本课程设计我们所选的题目是具有逻辑运算及跳转功能的复杂模型机设计,我们要设计出具有逻辑运算及跳转功能的机器指令,再写出指令对应的微程序,然后按照复杂模型机的电路图在实验箱上接线,然后与电脑联机执行,并观察执行过程和输出结果。
2、设计目的:
(1)复杂模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。
(2)掌握各个单元模块的工作的原理,进一步将其组成完整的系统,构造一台基本的复杂模型机。
(3)学会规划读/写内存、寄存器、数值计算等功能,并且编写相应的机器指令和微程序,在具体上机的过程中,观察设计出的模型机的执行情况,根据输出的结果做出分析,从而更好的掌握计算机组成原理的知识。
二、机器指令的设计和微程序设计原理
计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应于一组微程序。
1、数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
其中第7位为符号位,数值表示范围是:
。
2、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
(1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
9条算术逻辑指令的名称、功能和具体格式见表7.2-1。
(2)访问指令及转移指令
模型机设计2条访内指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:
其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
本模型机规定变址寄存器RI指定为寄存器R2。
(3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。
(4)停机指令
指令指令格式如下:
HALT指令,用于实现停机操作。
3、指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
表7.2-1列出了各条指令的格式、汇编符号、指令功能。
4、总体设计
本模型机的数据通路框图如图7.2-1。
根据机器指令系统要求,设计微程序流程图及确定微地址,如图7.2-2。
按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表7.2-2。
5.74LS181芯片的功能表
6.微程序设计
如下是机器指令格式说明和微指令格式说明
三.总体设计
1.机器指令的设计
(1)机器指令的助记符为:
START:
IN01,R0(R0)=15H
MOVR0,R1
INCR1
ANDR0,R1
RLCR1,R2
OUT10,R2
JMP00,START
HALT
(2)将助记符转换为指令
.IN01,R0对应的指令格式为01000100即16进制的44
.MOVR0,R1对应的指令格式为10000001即16进制的81
.INCR1对应的指令格式为10110101即16进制的B5
.ANDR0,R1对应的指令格式为11000001即16进制的C1
.RLCR1,R2对应的指令格式为11110110即16进制的F6
.OUT10,R2对应的指令格式为01011010即16进制的5A
.JMP00,START对应的指令格式为0000100000000000
即16进制的08和00
.HALT对应的指令格式为01100000即16进制的60
(3).根据机器指令的格式可以编成的机器指令为:
$P0044
$P0181
$P02B5
$P03C1
$P04F6
$P055A
$P0608
$P0700
$P0860
2.微程序流程图
根据机器指令可以画出微程序流程图如下(其中的地址为16进制):
3.微代码的设计
(1)微代码设计原理
按照课程设计中微指令格式,参照微程序流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表7.2-2。
其中uA0-uA5为6位的后续微地址,即下地址字段,A、B、C为三个译码字段,分别由三-八译码器译码出多位。
C字段中的P1——P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。
在上述各测试下址中未用到的位均直接保留。
AR为算术运算是否影响进位及判零标志控制位,其为零有效。
B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。
三字段中的其他位类似与此,均是某芯片的控制信号,它们的功能都是根据机器指令来进行相应芯片的选择译码。
(2)二进制代码的转换
根据微程序流程图、微地址和程序执行时的控制信号可编成以下二进制代码:
微地址
S3S2S1S0MCN
WEA9A8
A
B
C
uA5…uA0
00
011
000
100
01
110
02
001
03
010
04
10
14
15
18
1B
1C
1F
20
22
101
32
33
35
39
3A
二进制代码表
(3)微程序
根据微指令格式及二进制代码表,将二进制代码表转换成16进制可得下面微程序:
$M
$M0101ED82
$M0200C050
$M0300A004
$M0400E0A0
$M1001ED83
$M1B01A232
$M1C01A233
$M1F
$M2205DB81
$M32019A01
$M3301B435
$M35B99A01
$MA
$M3A
4.接线并调试
(1)根据下面实验线路图在实验箱上接线
(2)调试
调试步骤:
写入微程序,与PC联机,将实验微程序装入实验装置中。
写程序,联机读/写程序。
选择联机软件的【转储】【装载】功能菜单将该实验对应的文件*.txt载入实验系统即可。
运行程序,使用联机运行。
联机运行程序时,进入软件界面,装载机器指令及微指令后,选择【运行】→【通路图】→【复杂模型机】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。
四.执行过程
1.指令执行过程的记录
本课程设计设置输入值为15H
(1)第一条机器指令是$P0044,一共有3拍:
①PC->
AR,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。
②ARM->
BUS,BUS->
IR第二拍是把RAM里面的内容放到指令寄存器IR里面。
③SW->
R0第三拍是把输入的数放到寄存器R0里面,此时
(R0)=15H。
(2)第二条机器指令是$P0181,一共有3拍:
③R0->
R1第三拍是把寄存器R0里面的数传送到寄存器R1里面,此时
(R1)=15H。
(3)第三条机器指令是$P02B5,一共有4拍:
③R1->
DR1第三拍是把寄存器R1里面的数传送到数据寄存器DR1里面,此时(DR1)=15H。
④DR1+1->
RD第四拍是把数据寄存器DR1送到运算器ALU当中,执行自加1操作之后,把所得数据送到寄存器R1里面,此时(R1)=16H。
(4)第四条机器指令是$P03C1,一共有5拍:
③RS->
DR1第三拍是把寄存器R0里面的数传送到数据寄存器DR1里面,此时(DR1)=15H。
④RD->
DR2第四拍是把寄存器R1里面的数传送到数据寄存器DR2里面,此时(DR1)=16H。
⑤DR1ˆDR2->
RD第五拍是把数据寄存器DR1、DR2里面的数据传送到ALU当中,进行逻辑“与”运算之后,把所得数据送到寄存器R1里面,此时(R1)=14H。
(5)第五条机器指令是$P04F6,一共有5拍:
299第三拍是把寄存器R1里面的数传送到299移位寄存器当中,也就是14H。
④带进位循环左移第四拍是将数14H进行带进位左循环移动一位,所得数为28H。
⑤299->
R0第五拍是将移位寄存器里的数28H传送到寄存器R2当中,此时(R2)=28H。
(6)第六条机器指令为$P055A,一共有3拍:
③R2->
LED第