湖南大学
计算机与通信学院
CPU 设计 实验报告
05 级计科三班
2005081019
阎宙勋
一台模型计算机的设计
一、教学目的、任务与实验设备
1.教学目的
(1)融会贯通本课程各章节的内容,通过知识的综合运用,加深对计算
机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间—空间”
概念的理解,从而清晰地建立计算机的整机概念。
(2)学习设计和调试计算机的基本步骤和方法,提高使用软件仿真工具和
集成电路的基本技能。
(3)培养科学研究的独立工作能力,取得工程设计与组装调试的实践和经
验。
2.设计与调试任务
(1)按给定的数据格式和指令系统,在所提供的器件范围内,设计一台
微程序控制的模型计算机。
(2)根据设计图纸,在 MAX+PLUS 平台上进行仿真,并下载到 EL 教学实
验箱上进行调试成功。
(3)在调试成功的基础上,整理出设计图纸和其他文件。包括:①总框图
(数据通路图);②微程序控制器逻辑图;②微程序流程图;④微程序代码表;
⑤元件排列图(或 VHD 程序清单);⑥设计说明书;⑦调试小结。
2.实验设备
(1) PC 机一台
(2) EL 教学实验箱
(3) MAX+PLUS Ⅱ 配套软件
二、数据格式和指令系统
本模型机是一个 8 位定点二进制计算机,具有四个通用寄存器:R
0
~R
3
,
能执行 11 条指令,主存容量为 256KB。
1.数据格式
数据按规定采用定点补码表示法,字长为 8 位,其中最高位(第 7 位)为
符号位,小数点位置定在符号位后面,其格式如下:
数值相对于十进制数的表示范围为:
-1≤X≤1―2
―7
2.指令格式及功能
由于本模型机机器字只有 8 位二进制长度,故使用单字长指令和双字长指
令。
⑴ LDR Ri,D
格式 7 4 3 2 1 0
0 0 0 0 Ri
不 用
尾 数符号
7 6 5 4 3 2 1 0
尾 数符号 尾 数尾 数符号
7 6 5 4 3 2 1 0
D
功能:
Ri←M(D)
(2) STR Ri,D
格式 7 4 3 2 1 0
0 0 0 1 Ri
不 用
D
功能:
M(D)←(Ri)
(3) ADD Ri,Rj
格式 7 4 3 2 1 0
0 0 1 0 Ri Rj
功能:
Ri ←(Ri)+ (Rj)
(4) SUB Ri,Rj
格式 7 4 3 2 1 0
0 0 1 1 Ri Rj
功能:
Ri ←(Ri)- (Rj)
(5) AND Ri,Rj
格式 7 4 3 2 1 0
0 1 0 0 Ri Rj
功能:
Ri ←(Ri)∧ (Rj)
(6) OR Ri,Rj
格式 7 4 3 2 1 0
0 1 0 1 Ri Rj
功能:
Ri ←(Ri)∨ (Rj)
(7) MUL Ri,Rj
格式 7 4 3 2 1 0
0 1 1 0 Ri Rj
功能:
Ri ←(Ri)× (Rj)
(8) 转移指令
格式 7 4 3 2 1 0
0 1 1 1
条件 不 用
D
功能:
条件码 00 无条件转移 PC ← D
01 有进位转移 PC ← D
10 结果为 0 转移 PC ← D
11 结果为负转移 PC ← D
IN ⑼ R
i
,M
j
格式 7 4 3 2 1 0
1 0 0 1 Ri Mj
其中 M
j
为设备地址,可以指定四种外围设备,当 M
j
=01 时,选中实验箱
的二进制代码开关。功能:
R
i
← (M
j
)
OUT ⑽ R
i
,M
j
格式 7 4 3 2 1 0
1 0 1 0 Ri Mj
当 M
j
=10 时,选中实验箱的显示灯。功能:
(M
j
)← R
i
HALT⑾ (停机指令)
格式 7 4 3 2 1 0
1 0 1 1
不用 不用
功能:
用于实现停机。
三、总体设计
总体设计的主要任务是
(1) 选定 CPU 中所使用的产要器件;
(2) 根据指令系统、选用的器件和设计指标,设计指令流的数据通路;
(3) 根据指令系统、选用的器件和设计指标,设计数据流的数据通路。
计算机的工作过程,实质上是不同的数据流在控制信号作用下在限定的数
据通路中进行传送。数据通路不同,指令所经过的操作过程也不同,机器的结
构也就不—样,因此数据通路的设计是至关重要的。所谓数据通路的设计,也
就是确定机器各逻辑部件相对位置的总框图。
数据远路的设计,目前还没有非常标准的方法。主要是依据设计者的经验,
并参考现有机器的三种典型形式(单总线、双总线或三总线结构),根据指令
系统的要求,可采用试探方法来完成。其主要步骤如下:
(1) 对指令系统中的各条指令进行分析,得出所需要的指令周期与操作序
列,以便决定各器件的类型和数量。
(2) 构成一个总框图草图,进行各逻辑部件之间的互相连接,即初步确定
数据通路,使得由指令系统所包涵的数据通路都能实现,并满足技术指标的要
求。
(3) 检验全部指令周期的操作序列,确定所需要的控制点和控制信号。
(4) 检查所设计的数据通路,尽可能降低成本,简化线路。
以上过程可以反复进行,以便得到一个较好的方案。
图 1 给出了一个没有考虑乘法除法指令操作的总框图参考方案,注意,在
此方案确定之后,应该检查所选用的各个器件是否满足数据通路的要求。实际
上,数据通路的设计与器件的选择应同时进行而不能分离地工作。其次,接入
总线的器件都要有三态输出,以便与总线连接。另外,在信息传送过程中应当
注意器件原码和反码输出的配合关系。
图 1 所示的方案采用单总线结构,使用的许多器件都是三态输出,这种方
案便于总线的连接和扩展,但缺点是指令和数据的传送都要经过总线,因此对
总线的使用权就要分配得当。另外,执行算术逻辑指令时,先将第一个操作数
由通用寄存器 R
i
送至缓冲寄存器 DR
1
,然后再由通用寄存器 R
j
取第二个操作数
送至缓冲寄存器 DR
2
,之后送往 ALU 进行运算。显然,执行—条算术逻辑指令
的时间相应要长一些。
图 1 模型机数据通路框图
四、微程序控制器
数据通路框图—旦确定,指令流与数据流的通路也就随之最后确定,因而
运算器和控制器的大部分结构也就确定下来了。
图 1 中各功能器件上还标注了控制点及其控制信号.这些控制信号就是微
程序控制器进行设计的依据。
1.微指令格式
微指令格式建议采用水平型微指令,微命令编码采用直接表示法和分段直
接译码法相结合的混合表示法,以缩短微指令长度。后继地址采用断定方式。
微指令格式如下:
控制字段 判别字段 下址字段
同学们应根据本模型的具体情况来确定各字段的长度。
2.微程序控制器
根据微指令和微程序的长度,确定控制存储器需选用几片
EPROM(2716)用位扩展方式组成。
IR
PC
AR
微程序控制器
时序
产生器
RAM
256× 8
LDAR
LDPC
LDIR
RD
WE
LD
PC→ BUS
DR
2
DR
1
LDR
0
I/O
R
3
R
2
R
1
R
0
LDR
3
LDR
2
LDR
1
LDDR
1
LDDR
2
ALU
ALU→ BUS
BUS
S
2
S
1
M
-1
S
3
S
0
IR
PC
AR
微程序控制器
时序
产生器
RAM
256× 8
LDAR
LDPC
LDIR
RD
WE
LD
PC→ BUS
DR
2
DR
1
LDR
0
I/O
R
3
R
2
R
1
R
0
LDR
3
LDR
2
LDR
1
LDDR
1
LDDR
2
ALU
ALU→ BUS
BUS
IR
PC
AR
微程序控制器
时序
产生器
RAM
256× 8
LDAR
LDPC
LDIR
RD
WE
LD
PC→ BUS
IR
PC
AR
微程序控制器
时序
产生器
RAM
256× 8
LDAR
LDPC
LDIR
RD
WE
LD
PC→ BUS
IR
PC
AR
微程序控制器
时序
产生器
RAM
256× 8
LDAR
LDPC
LDIR
RD
WE
LD
PC→ BUS
DR
2
DR
1
LDR
0
I/O
R
3
R
2
R
1
R
0
LDR
3
LDR
2
LDR
1
LDDR
1
LDDR
2
ALU
ALU→ BUS
BUS
DR
2
DR
1
LDR
0
I/O
R
3
R
2
R
1
R
0
I/O
R
3
R
2
R
1
R
0
LDR
3
LDR
2
LDR
1
LDDR
1
LDDR
2
ALU
ALU→ BUS
BUS
S
2
S
1
M
-1
S
3
S
0
S
2
S
1
M
-1
S
3
S
0
S
1
M
-1
S
3
S
0
M
-1
S
3
S
0