Computer Organization
北京化工大学
信息科学与技术学院
韩 阳
本科课程教学 CSE3260D
计算机组成原理
模型机设计
设计步骤
2
设计步骤:
拟定指令系统
确定总体结构
安排时序
拟定指令流程和微命令序列。
形成控制逻辑
格式、寻址方式、指令类型设置
寄存器、ALU、数据通路设置
画流程图(寄存器传送级)
列操作时间表
组:列逻辑式,形成逻辑电路
微:按微指令格式编写微程序
3
指令系统
1.指令格式
指令字长16位,采用寄存器型寻址,指令中给出寄存器号。
(主存容量为64K×16位)
模型机设计
4
双操作数指令格式:
4 6 3 3
操作码 寄存器号 寻址方式 寄存器号 寻址方式
源地址
目的地址
单操作数指令格式:
操作码 (可扩展) 寄存器号 寻址方式
4 3 3 3 3
目的地址
转移指令格式:
15 12 11 9 8 6 5 4 3 2 1 0
转移地址
转移条件
操作码 寄存器号 寻址方式 方式 N′Z′V′C′
2.寻址方式
用于转移
SKP
110
跳步
EA=(R)+D
EA=(PC)+D
X(R)
X(PC)
101
变址寻址
(R)为间接地址,访问后(R)+1
(PC)为间接地址,取EA后(PC)+1
@(R)+
@(PC)+
100
直接/自增型双间址
(R)为EA,访问后(R)+1
(SP)为栈顶地址,出栈后(SP)+1
(PC)为立即数地址,取数后(PC)+1
(R)+
(SP)+
(PC)+
011
立即/自增型寄存器间址
(R)1为EA
(SP)1为栈顶地址
-(R)
-(SP)
010
自减型寄存器间址
(R)为EA
(R)
001
寄存器间接寻址
(R)为操作数
R
000
寄存器直接寻址
意义
助记符
编 码
寻址方式
CPU可编程???访问的寄存器:
寻址方式 编码 助记符 定义
寄存器寻址
通用寄存器Ri、指令计数器PC、堆栈指针SP、程序状态字PSW
000
R
(R)为操作数
寄存器间址
001
(R)
(R)为操作数地址
自减型寄存器间址
010
-(R)
-(SP)
(R)-1为操作数地址
(SP)-1为栈顶地址
立即/自增型寄存器间址
011
(R)+
(R)为操作数地址,
访问后(R)+1
(SP)+
(SP)为栈顶地址,
出栈后(SP)+1
7
寻址方式 编码 助记符 定义
100
(R)为间接地址,
直接/自增型双间址
101
@(R)+
(PC)+
PC指向有效地址,
(R)+d为有效地址
(R)为操作数地址,
立即/自增型寄存器间址
011
(R)+
访问后(R)+1
(SP)+
(SP)为栈顶地址,
出栈后(SP)+1
(PC)为立即数地址,
取数后(PC)+1
访问后(R)+1
@(PC)+
访问后(PC)+1
变址
X(R)
X(PC)
(PC)+d为有效地址
跳步
110
SKP
跳过下条指令执行
8
操作码 助记符 含义
3.指令类型
用于数传、堆栈、I/O操作
0000
MOV
传送
0001
ADD
加
0101
EOR
异或
双操作数指令
0110
COM
求反
1011
SR
右移
单操作数指令
1100
JMP
转移
1100
RST
返回
1101
JSR
转子
9
0 0 0 0 0
5 4 3 2 1 0
转移地址
无条件转
JMP 寄 寻 方式 N′Z′V′C′
0 0 0 0 1
无进位转
(C=0)
0 0 0 1 0
无溢出转
(V=0)
0 0 1 0 0
数非零转
(Z=0)
0 1 0 0 0
数为正转
(N=0)
1 0 0 0 1
有进位转
(C=1)
1 0 0 1 0
有溢出转
(V=1)
1 0 1 0 0
数为零转
(Z=1)
1 1 0 0 0
数为负转
(N=1)
条件满足,转转移地址;条件不满足,顺序执行。
隐含约定:转子时返回地址压栈保存。
15 12 11 9 8 6 5 0
子程序入口
RST SP (SP)+
JSR 寄 寻 方式 N′Z′V′C′
5 4 3 2 1 0
模型机设计
11
CPU总体结构
1.寄存器设置
(1)可编程寄存器(16位)
通用寄存器:
R0(000)、R1(001)
R2(010)、R3(011)
模型机设计
12
允许中断(开中断)
(可扩展) I N Z V C
4 3 2 1 0
堆栈指针:
SP(100)
指令计数器:
PC(111)
程序状态字:
PSW(101)
13
模型机设计
暂存器C
(2)非编程寄存器(16位)
:暂存来自主存的源地址或源数据。
暂存器D
:暂存来自主存的目的地址或目的数。
指令寄存器IR
地址寄存器MAR(AR)
数据寄存器MBR(MDR,DR)
:存放现行指令。
实现CPU与主存的接口
模型机设计
14
SN74181 4片
SN74182 1片
2.算逻部件设置
ALU
选择数据来源
选择器A
选择器B
移位器
:实现直送、左移、右移、字节交换
3. CPU数据通路结构
为了使数据传送控制简单、集中,采用以ALU为中心的总线结构。
组成:
包括四个部分:
ALU部件、寄存器组、内总线、CPU与系统总
线的连接
(16位)
15
16
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
结构特点
ALU为内部数据传送通路的中心;
寄存器采用
内总线采用单向数据总线(16位);
分立结构;
17
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
与系统总线
的连接通过
MAR、MBR实现。
MBR
输出
输出至DB
输出至ALU的B门
输入
从内总线输入
从DB输入
(打入)
(置入)
18
4. 通路结构的扩展变化
寄存器结构、存储器结构
内总线
19
模型机设计
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
5.各类信息传送途径
M
(1)指令信息
置入
DB
IR
M
DB
IR
(2)地址信息
20
(DR IR)
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
1)指令地址
2)指令地址加1
PC
PC
A
ALU
移位器
内总线
MAR
PC
打入
A
ALU
移
内
MAR
PC
A
ALU
移
内
PC
C0
C0
打入
21
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
3)转移地址
M
IR
寄存器寻址:
R0
R0
B
ALU
移位器
内总线
PC
R
打入
A/B
ALU
移
内
PC
寄存器间址:
R
打入
A/B
ALU
移
内
MAR
AB
M
DB
置入
MBR
B
MAR
MBR
MBR
移、
内
PC
ALU
22
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
IR
R0
R0
B
ALU
移位器
内总线
4)操作数地址
寄存器寻址:
R0
R1
寄存器间址:
R0
打入
B
ALU
移
内
MAR
MAR
R1
23
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
变址:
PC
A
ALU
移位器
内总线
MAR
R
PC
A
ALU
移
内
MAR
ABUS
M
DBUS
移
内
C/D
PC
M
M
MBR
MBR
B
C
MBR
B
ALU
R0
R0
C
ALU
C/D
A
B
移
内
MAR
24
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
(3)数据信息
M
IR
R0
R0
B
ALU
移位器
内总线
1)R
R:
Ri
打入
A/B
ALU
移
内
Rj
DB
M
DB
MBR
B
MBR
MBR
移、
内
R
ALU
R1
2)R
M:
R
打入
A/B
ALU
内
MBR
3)M
R:
R2
M
25
移
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
M
IR
R0
R0
B
ALU
移位器
内总线
4)M
M:
M(源)
R0
MBR
MBR
MBR
DB
内
I/O
ALU
5)R
I/O:
C
打入
DB
MBR
内
C
B-ALU
(计算目的地址)
DB
M
C
ALU
内
MBR
(目的)
C
A
I/O
26
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
M
IR
R0
B
ALU
移位器
内总线
DBUS
MBR
MBR
DBUS
DMA方式:
I/O
6)I/O
R
打入
I/O
MBR
内
R0
ALU
I/O
7)I/O
M
M
27
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
6.微命令设置
(1)基本数据通路
操作:
ALU功能选择:
ALU输入选择:
输出移位选择:
结果分配:
R0
A、
R0
B、
S3S2S1S0、M、C0
不移(直送DM)、左移、
CPR0、CPC、CPMAR、
28
R0~R3 R0~R3
C D C D
SP PC PSW MBR
A
移位器
B
ALU
R2
R0
R1
M
I/O
CB
内总线
C
R3
D
MAR
MBR
IR
PC
SP
PSW
AB
DB
控制逻辑
(2)访M、I/O操作
(3)辅助操作
读 R
地址使能 EMAR
写 W
置入MBR SMBR,
1
MAR向AB送地址
0
00 MBR与DB断开,
MAR与AB断开
R=1读 W=1写
置入IR SIR
M
29
30
组合逻辑控制器设计(硬布线控制)
模型机设计
31
由门电路和触发器构成的树形逻辑网络
1.时序系统
(1)工作周期
取指周期FT
用于指令正常执行
设置6个触发器分别
作为各周期状态标志
源周期ST
目的周期DT
执行周期ET
中断周期IT
DMA周期DMAT
用于I/O传送控制
1 工作周期开始
0 工作周期结束
在整个指令周期中,任何时候必须、且只能有一个工作周期状态标志为“1”。
模型机设计
32
1)取指周期FT
从M取出指令并译码;
公操作
修改PC。
3)目的周期DT
4)执行周期ET
取指结束时,按操作码和寻址方式(R/非R寻址)
转相应工作周期。
按寻址方式(非R寻址)形成源地址,从M取出源操
作数,暂存于C。
2)源周期ST
按寻址方式(非R寻址)形成目的地址,或从M取出
目的操作数,暂存于D。
按操作码完成相应操作(传送、运算、取转移地址
送入PC、返回地址压栈保存)。
33
5)中断周期IT
关中断、保存断点和PSW、转服务程序入口。
由硬件完成
1)时钟周期时间:
IT指CPU响应中断请求后,到执行中断服务程序前。
6)DMA周期DMAT
一次从M读出,并经数据通路传送的操作;或
一次数据通路传送操作;或
一次向M写入的操作
DMAT指CPU响应DMA请求后,到传送完一次数据。
DMA控制器接管总线权,控制直传。
(2)时钟周期(节拍)T
1微秒
完成一步操作:
模型机以访存时间作为一步操作时间。
一个总线
周期等于一个时钟周期,可根据需要扩展。
由硬件完成
34
2)时钟周期数:
每个工作周期第一拍T=0,
每开始一个新节拍T计数,
工作周期结束时T清0。
一个工作周期中的时钟数可变。
用计数器T控制节拍数
每个时钟结束时设置一个脉冲。
(3)工作脉冲P
1µS
T
P
打入寄存器
进行时序转换
(周期状态设置/清除
时钟T计数/清除)
将计数值译码,可产生节拍电位。
35
CPU周期(工作周期)
取指周期FT:取指令,修改PC
源周期ST:形成源地址,取源操作数(C)
目的周期DT:形成目的地址,取目的操作数
执行周期ET:按完成指定操作
中断周期IT:响应中断,执行中断隐指令操作
DMA周期DMAT:由DMA控制器接管总线控制传送
36
2.控制流程(CPU周期转换)
FT
双
单
转
SR
ST
DR
DT
ET
DMAT
DMA请求?
中断请求?
IT
SR
DR
Y
N
Y
N
37
3.指令流程图与操作时间表
(1)取指周期FT
拟定指令流程:
初始化时用总清置入FT,
确定各工作周期中每拍完成的具体
操作(寄存器传送级)。
列操作时间表:
列出每一步操作所需的微命令及产
生条件。
1)进入FT的方式和条件
FT
S
R
D
CLK
Q
Q
总清
1
程序正常运行时同步打入FT。
1 FT
CPFT(P)
38
2)流程图
FT0:
PC+1 PC
M MBR IR
3)例: 操作时间表
FT0:
电位型微命令
脉冲型微命令
EMAR,
R,MBR B,输出B,DM,
CPIR(SIR)
PC+1 PC
PC A,
A+1,
DM
CPPC
转换
PC MAR
M MBR IR
39
4. 拟定指令流程图及微操作时间表(微命令序列)
关键:数据通路结构,寻址方式
例
MOV R0, -(R1)
NEG R2
JMP (R0)+
AND -(R0), (R3)+
模型机设计
40
Practice
拟定指令流程
MOV (R1), (R2)+
SUB - (R1), (R2)+
41
归纳微命令,综合化简条件,用组合逻辑电路实
现。
读令R=
5.形成控制逻辑
例:
FT0
+MOV(ST1+ST4+……)
CPPC =
FT0
+……
P
+MOV(ST2+DT2) X P
+……
42
模型机设计
43
模型机设计
组合逻辑(硬布线)控制方式的优缺点及应用
①基本思想:
综合化简产生微命令的条件,形成逻辑式,用组合逻辑电路实现;执行指令时由组合逻辑电路(微命令发生器)在相应时间产生微命令,控制有关操作。
②优缺点:
优:产生微命令速度较快
缺:设计不规整,效率较低,不便检查、调试,不易修改、扩展功能
③应用:
高速计算机,小规模计算机