计算机组成原理复杂模型机的设计.docx
- 文档编号:5981736
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:20
- 大小:645.40KB
计算机组成原理复杂模型机的设计.docx
《计算机组成原理复杂模型机的设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理复杂模型机的设计.docx(20页珍藏版)》请在冰豆网上搜索。
计算机组成原理复杂模型机的设计
成绩
课程设计:
计算机组成原理
题目名称:
复杂模型机的设计
姓名:
学号:
********************
班级:
网络工程1101班
完成时间:
2012年1月6日
1设计目的:
建立清晰完善的整机概念;
学习设计与调试计算机的基本方法;
培养严谨的科研作风和独立工作能力。
2设计任务:
综合运用所学的计算机原理知识,按给定的指令系统分和数据格式,在所提供的设备范围内,设计一台字长八位的由微程序控制器来控制的模拟计算机。
设计并实现较为完整的八位模型计算机。
设计微程序控制器的逻辑原理电路图;
设计微地址转移的逻辑电路图;
设计微程序流程图;
设计说明书。
3设计指标:
字长八位;
时钟源MF=QB=1us;
内存容量不得小于28;
指令系统不得小于十四条。
要求算术逻辑指令七条、访问内存和控制指令四条、输入输出指令两条、其他指令一条。
4设计说明:
4.1数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
7
654321
符号
尾数
其中,第7位为符号位,数值的表示范围是:
-1X1。
模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
[1]算术逻辑指令
设计九条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
Rs
Rd
其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:
选中的寄存器(Rs或Rd)
R0
R1
R2
寄存器的编码
00
01
10
[2]访存指令及转移指令
模型机设计两条访问指令,即存数(STA)、取数(LDA),两条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。
其格式如下:
76
54
32
10
00
M
OP-CODE
Rd
D
其中,OP-CODE为操作码,Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:
寻址方式
有效地址
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(RI)+D
RI变址寻址
本模型机规定变址寄存器RI指定为寄存器R2。
[3]I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7654
32
10
OP-CODE
addr
Rd
其中,addr=01时,表示选中“输入单元”中的开关组作为输入设备,addr=10时,表示选中“输出单元”中的数码管作为输出设备。
[4]停机指令
这类指令只有1条,即停机指令HALT,用于实现停机操作,指令格式如下:
7654
32
10
0110
00
00
4.2系统指令
本模型机共有14条基本指令。
其中,算术逻辑指令6条,移位指令2条,访问内存指令和程序控制指令3条,输入输出指令2条,其他它指令1条。
表1列出了各条指令的格式、汇编符号、指令功能。
复杂模型机指令系统
序号
汇编符号
指令格式
功能说明
1
CLRRd
011100Rd
0→Rd
2
MOVRS,Rd
1000RSRd
RS→Rd
3
ADCRS,Rd
1001RSRd
RS+Rd+Cy→Rd
4
SBCRS,Rd
1010RSRd
RS-Rd-Cy→Rd
5
DECRd
1011--Rd
Rd-1→Rd
6
ANDRS,Rd
1100RSRd
RS∧Rd →Rd
7
RRCRS,Rd
1110RSRd
RS带进位右循环一位,RS→Rd
8
RLCRS,Rd
1111RSRd
RS带进位左循环一位,RS→Rd
9
LDAM,D,Rd
00M00Rd,D
E→Rd
10
STAM,D,Rd
00M01Rd,D
Rd→E
11
JMPM,D
00M1000,D
E→PC
12
INaddr,Rd
010001Rd
addr→Rd
13
OUTaddr,Rd
010110Rd
Rd→addr
14
HALT
01100000
停机
4.3数据通路框图
4.4微地址转移逻辑电路图
该图的IR顺序为(I7、I6、I5、I3、I4、I2)
逻辑表达式如下:
4.5寄存器译码电路图
逻辑表达式如下:
4.6微程序流程图
4.7微指令格式
微指令字长24位。
其中顺序控制部分9位,即直接地址6位,判别地址3位,后者采用字段译码法P
(1)-P(4)四种判别测试标志位。
操作控制字段18位:
其中字段A、B、C均采用3-8译码器,可译出LDIR,PC-BUS,WE,RS-BUS,LDDR等微命令。
其他微命令采用直接控制的方式。
其中uA5~uA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。
微指令代码定义表
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
A9
A8
A
B
C
μA5
μA5
μA5
μA5
μA5
μA5
4.8微程序代码表
地址
指令
S3-S0MCnWEA9A819-16ABC654321
00
018108
000000011000000100001000
01
01ED82
000000011110110110000010
02
00C050
000000001100000001010000
03
00A004
000000001010000000000100
04
00E0A0
000000001110000010100000
05
00E006
000000001110000000000110
06
00A007
000000001010000000000111
07
00E0A0
000000001110000010100000
10
01ED8A
000000011110110110001010
11
01ED8C
000000011110110110001100
12
00A03B
000000001010000000111011
13
018001
000000011000000000000001
14
00203C
000000000010000000111100
15
00A00E
000000001010000000001110
16
01B60F
000000011011011000001111
17
95EA25
100101011110101000100101
20
01ED83
000000011110110110000011
21
01ED85
000000011110110110000101
22
01ED8D
000000011110110110001101
24
001001
000000000001000000000001
25
030401
000000110000010000000001
26
018001
000000011000000000000001
27
3D9A01
001111011001101000000001
30
019201
000000011001001000000001
31
01A22A
000000011011001000101010
32
01B22C
000000011011001000101100
33
01A232
000000011010001000110010
34
01A233
000000011010001000110011
36
318237
001100011000001000110111
37
318239
001100011000001000111001
40
009001
000000001001000000000001
41
028401
000000101000010000000001
42
05DB81
000001011101101110000001
45
95AAA0
100101011010101010100000
52
01B42B
000000011011010000101011
53
959B41
100101011001101101000001
54
01A42D
000000011010010000101101
55
65AB6E
011001011010101101101110
56
0D9A01
000011011001101000000001
57
01AA30
000000011010101000110000
60
018D71
000000011000110101110001
61
959B41
100101011001101101000001
62
F59A01
111101011001101000000001
63
01B435
000000011011010000110101
65
ED9A01
111011011001101000000001
67
298838
001010011000100000111000
70
019801
000000011001100000000001
71
19883A
000110011000100000111010
72
019801
000000011001100000000001
73
070A08
000001110000101000001000
74
068A09
000001101000101000001001
5测试与运行
5.1测试程序
其中共用到14条指令,3种寻址方式(00→直接、01→间接、10→变址)。
内存地址
(十六进制)
汇编指令
机器指令
注释
二进制
十六进制
00
CLRR0
01110000
70
R0清零
01
INaddr,R0
01000100
44
(addr)→R0
02
INaddr,R1
01000101
45
(addr)→R1
03
ANDR0,R1
11000001
C1
R0与R1或结果送入R1
04
MOVR1,R2
10000110
86
R1传送到R1
05
RLCR1,R1
11110101
F5
R1有进位循环左移结果送R1
06
DECR2
10110010
B2
R1中的值减1送入R2
07
SBCR1,R2
10100110
A6
R1-R0-CY的值送到R0
08
ADCR0,R1
10010001
91
R0+R1+CY的值送到R2
09
LDA00,15H,R0
00000000
00
(E)→RD
0A
00001101
0F
偏移量D=0F
0B
STA01,15H,R1
00010101
15
RD→(E)
0C
00001101
0F
偏移量D=0F
0D
JMP10,15H,R2
00101000
28
E→PC
0E
00000101
0F
偏移量D=0F
0F
RRCR1,R1
11100101
E5
RS带进位右循环一位,RS→Rd
10
OUTaddr,R1
01011001
59
Rd→(addr)
11
HALT
01100000
60
停机
机器代码
$P0070
$P0144
$P0245
$P03C1
$P0486
$P05F5
$P06B2
$P07A6
$P0891
$P0900
$P0A0F
$P0B15
$P0C0F
$P0D28
$P0E0F
$P0FE5
$P1059
$P1160
微指令代码
$M00018108
$M0101ED82
$M0200C050
$M0300A004
$M0400E0A0
$M0500E006
$M0600A007
$M0700E0A0
$M0801ED8A
$M0901ED8C
$M0A00A03B
$M0B018001
$M0C00203C
$M0D00A00E
$M0E01B60F
$M0F95EA25
$M1001ED83
$M1101ED85
$M1201ED8D
$M14001001
$M15030401
$M16018016
$M173D9A01
$M18019201
$M1901A22A
$M1A01B22C
$M1B01A432
$M1C01A233
$M1E318237
$M1F318239
$M20009001
$M21028401
$M2205DB81
$M2595AAA0
$M2A01B42B
$M2B959B41
$M2C01A42D
$M2D65BB6E
$M2E5D9A01
$M2F01AA30
$M30018D71
$M31959B41
$M32F59A01
$M3301B435
$M35ED9A01
$M37298838
$M38019801
$M3919883A
$M3A019801
$M3B070A08
$M3C068A09
$M3DE7B239
$M3EE7B239
$M3F068A10
5.2运行结果与分析
执行指令CLRR0,将R0清零的运行结果图:
执行自减指令DECR1,R1中的值减1送入R1图:
经检验,输出结果与计算结果相符,证明实验设计正确
6实验体会:
本次课程设计只有一周半,实验大体上分为两步。
首先,是连接电路。
其次,自己设计程序并装载设计程序测试运行,通过观察运行情况和数据在总线上的流动,了解各功能部件的工作原理和工作机制以及流程图各指令的含义。
对于我们要设计的程序首先根据题目要求写出它的汇编格式,再根据这个汇编格式写出机器指令并设计出微程序流程图。
最后根据所设计的微程序流程图写出其微指令代码。
这些工作完成后把所设计的机器指令和微程序代码改写成指定的格式装载到实验系统上运行,观察运行过程和设计目的是否一致。
如果不一致,要进行适当的修改直到一致为止。
经过多次修改,最终实现设计要求。
在这段时间中,每天编写、调试、改错,费的时间比较多但是成果却不是很明显,对这方面的知识没有学得很深入,时间比较短暂,所编写的机器代码和微指令程序验证出实验设计基本正确。
通过这次实验设计使我们我加深了对机器指令和微指令的理解和计算机计算流程的了解。
在这次课程设计中也遇到了不少困难,对这方面的知识了解的很泛,设计时思路不清晰,总是做一步就会遇到一些大大小的问题,不断找资料询问询问老师,虽然浪费了很多时间,但是也学习到了很多的知识,使理论知识在实践中更多地体现出来。
这次课程设计是我更明白了理论联系实际的重要性,理论知识学习的再多知道的再多这也是不行的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从实验中去验证它,才能提高自己的实际动手能力和独立思考能力,只有这样才能为以后的学习生活生中打下坚实的基础,使得在以后的生活中的动手能力得以提高。
最后很感谢老师的辛苦教导,使我们学习到了更多的知识,并发现自身的不足,使我们在以后的学习生活中更加积极的去改进,去努力,去做得更好。
附实验连接线路图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 复杂 模型 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)