计算机组成原理课程设计报告重庆大学Word下载.docx
《计算机组成原理课程设计报告重庆大学Word下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告重庆大学Word下载.docx(24页珍藏版)》请在冰豆网上搜索。

交换指令:
xchgrmreg,addr;
功能:
(reg)(addr),addr是8位二进制地址
加法指令:
addird,rs,imme;
rd(rs)+imme
addmrd,rs,addr;
rd(rs)+(addr)
带右移的加法运算:
addri,rj,n;
ri(ri)+(rj)>
>
n,rj中内容不变
学生应完成的工作:
根据模型计算机的数据路径以及微程序控制器的工作原理,设计各指令格式以及编码,并实现各机器指令微代码,根据定义的机器指令,自拟编写包含以下指令的应用程序。
参考实验5.3、6.1。
上机调试并输出正确结果,给出完整的设计报告。
课程设计的工作计划:
任务下达日期 年月 日
完成日期年月日
指导教师(签名)
学生(签名)
(签名)
一、
摘要
利用CPU与复杂机设计实验中所学到的实验原理以及编程思想,硬件设备,
自拟编写指令的应用程序,用微程序控制器实现了一系列的指令功能。
完成了各指令的格式以及编码设计,实现了各机器指令微代码,形成具有一定功能的完整的应用程序。
在本设计中完成了,交换指令:
XCHGRMregaddr;
ADDIrd,rs,imme;
ADDMrd,rs,addr;
带右移(n位)的加法运算:
ADDNri,rj,n。
关键词:
微程序控制器原理微指令编码机器指令微代码
指令格式设计流程图
要求:
用微程序控制器实现以下指令功能(各类指令至少包括一条),设计各机器指令格式以及编码,并实现各机器指令功能的微代码,根据定义的机器指令,自拟编写包含以下机器指令的应用程序。
xchgmmaddr1,addr2;
(addr1)(addr2),addr是8位二进制地址
下面讲述一下模型计算机的数据格式及指令系统。
1.数据格式
模型机规定采用定点补码表示法表示数据,字长为8位,8位全用来表示数据(最高位不表示符号),数值表示范围是:
0≤X≤28-1。
2.指令设计
模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传送类指令。
运算类指令包含三种运算,算术运算、逻辑运算和移位运算,设计有6条运算类指令,分别为:
ADD、AND、INC、SUB、OR、RR,所有运算类指令都为单字节,寻址方式采用寄存器直接寻址。
控制转移类指令有三条HLT、JMP、BZC,用以控制程序的分支和转移,其中HLT为单字节指令,JMP和BZC为双字节指令。
数据传送类指令有IN、OUT、MOV、LDI、LAD、STA共6条,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存储器之间的数据交换,除MOV指令为单字节指令外,其余均为双字节指令。
实验中我们将指令LDI、OR、RR分别替换为ADDI、ADDM、XECHAGE、ADDN,并对流程控制做相应的修改。
3.指令格式
所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT和MOV)格式如下:
7654
32
10
OP-CODE
RS
RD
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
RS或RD
选定的寄存器
00
01
10
11
R0
R1
R2
R3
IN和OUT的指令格式为:
7654
(1)
32
(1)
10
(1)
7-0
(2)
P
其中括号中的1表示指令的第一字节,2表示指令的第二字节,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,P为I/O端口号,占用一个字节,系统的I/O地址译码原理见图3-1(在地址总线单元)。
图3-1I/O地址译码原理图
由于用的是地址总线的高两位进行译码,I/O地址空间被分为四个区,如表3-1所示:
表3-1I/O地址空间分配
A7A6
选定
地址空间
IOY0
00-3F
IOY1
40-7F
IOY2
80-BF
IOY3
C0-FF
系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI指令为立即寻址,LAD、STA、JMP和BZC指令均具备直接、间接、变址和相对寻址能力。
LDI的指令格式如下,第一字节同前一样,第二字节为立即数。
data
LAD、STA、JMP和BZC指令格式如下。
其中M为寻址模式,具体见表3-2,以R2做为变址寄存器RI。
表3-2寻址方式
寻找模式M
有效地址E
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
4.指令系统
本模型机共有15条基本指令,表3-3列出了各条指令的格式、汇编符号、指令功能。
表3-3指令描述
本模型机的数据通路框图如图4-1所示。
图4-1数据通路框图
和前面的实验相比,复杂模型机实验指令多,寻址方式多,只用一种测试已不能满足设计要求,为此指令译码电路需要重新设计。
如图4-2所示在IR单元的INS_DEC中实现。
图4-2指令译码原理图
本实验中要用到四个通用寄存器R3…R0,而对寄存器的选择是通过指令的低四位,为此还得设计一个寄存器译码电路,在IR单元的REG_DEC(GAL16V8)中实现,如图4-3所示
图4-3寄存器译码原理图
根据机器指令系统要求,设计微程序流程图及确定微地址,如图4-4所示(替换法,前后指令略去)。
NOP
PC—>
AR
PC+1
M—>
02
P<
1>
addI
A
RS—>
B
A+B—>
HLT
addM
INC
SUB
Xchgm
addN
RD—>
A+1—>
A-B—>
M
A—>
A>
N—>
35
30
34
36
37
38
39
3A
12
13
14
15
16
17
18
19
1A
20
21
22
23
27
26
25
24
29
28
图4-4微程序流程图
按照系统建议的微指令格式,见表4-1,参照微指令流程图,将每条微指令代码化,译成二进制代码表,见表4-2,并将二进制代码表转换为联机操作的十六进制格式文件。
表4-1微指令格式
表4-2微指令二进制代码表
地址
十六进制
高五位
S3-S0
A字段
B字段
C字段
MA5-MA0
000001
000000
0000
000
006D43
00000
110
101
000011
03
107070
00010
111
001
110000
006D49
001001
08
106009
09
083001
00011
011
101012
010010
002413
010
010011
04B201
1001
106015
010101
101016
010110
002417
010111
200401
00100
06421A
1100
100
011010
06C201
1101
106021
100001
101022
100010
200623
100011
003201
002425
100101
04B226
100110
006D67
100111
102028
001629
101001
02B201
0101