第五章唐.docx
- 文档编号:26684312
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:32
- 大小:31.05KB
第五章唐.docx
《第五章唐.docx》由会员分享,可在线阅读,更多相关《第五章唐.docx(32页珍藏版)》请在冰豆网上搜索。
第五章唐
第五章控制器
一、中央处理器
1.中央处理器(CPU)是由控制器和运算器两部分组成,以实现指令控制、操作控制、时间控制和数据加工的功能。
指令控制:
程序是由指令组成,指令的执行顺序由CPU来保证。
操作控制:
一条指令的功能通常是由若干组操作信号组合起来实现,每组操作信号的工作顺序也由CPU来保证。
时间控制:
指令、操作信号的执行均受到时间的严格控制。
数据加工:
计算机要对数据进行算术、逻辑运算。
2.中央处理器的结构与组成
运算术逻辑运算部件(ALU)
算通用寄存器
器透明寄存器(X,Y)
状态寄存器(PS)
指令译码器(ID,对指令的操作码进行译码分析)
中指令部件程序计数器(PC,保存下一条指令的地址)
央控指令寄存器(IR,保存当前正在执行的指令)
处制脉冲源
理器时序部件启停控制电路
器时序信号产生及其控制部件
控制信号形成部件(或称为控制单元CU)
内总线
其他地址寄存器(MAR)
数据寄存器(MDR)
注:
透明:
程序员对于不可见的软件硬件称为透明。
3.CPU内部总线结构
⑴单总线结构:
由于所有的数据都将在内总线上流动,所以划分工作时序时,内总线的数据流动情况是一个主要问题。
通常,单总线结构的计算机以内总线上的一次数据流动为一个时钟周期(节拍)。
⑵双总线结构:
有A、B两条总线,寄存器输出到A总线上,寄存器由B总线输入,A、B总线由总线连接器G连接,关闭G则A、B相连,打开G则A、B分开。
⑶三总线结构:
三总线分别为输入数据总线、寄存器数据总线和ALU输出总线。
前两条总线为输入总线,分别从存储器和寄存器获取数据,运算结果由ALU输出总线分给存储器或寄存器。
二、控制器的功能与组成
1.控制器功能:
⑴控制指令执行的顺序。
指令通常是顺序执行的,但是也有非顺序执行的时候,如遇到转移类指令和中断程序。
⑵控制指令的执行。
指令执行分为两个阶段:
从存储器取出指令,分析执行指令。
2.控制器的组成
⑴指令部件。
指令部件的功能是实现取指操作并分析指令。
指令部件包括指令译码器(ID,对指令的操作码进行译码分析),程序计数器(PC,保存下一条指令的地址),指令寄存器(IR,保存当前正在执行的指令)。
⑵时序部件。
时序部件又称为周期节拍发生部件,用来产生一定的时序信号,以便实现机器指令执行过程中的时序控制。
时序部件包括脉冲源(产生脉冲信号,为整个机器提供时钟,它是机器周期、节拍和工作脉冲的基准信号),启停控制电路(根据机器需要控制时序信号的发生和停止),时序信号产生及其控制部件(以工作脉冲为基准,产生不同的时序信号)。
⑶控制信号形成部件。
产生微操作控制信号,是控制器的核心。
微命令:
构成控制信号序列的最小单位称为微命令。
控制器发出的每个控制信号就是一个微命令。
微操作:
由微命令控制实现的基本的操作称为微操作。
例如:
打开三态门信号是一个微命令,打开三态门的动作是一个微操作。
微操作是计算机不可再分的操作,他是计算机中最小的操作信号。
控制信号形成部件有两种实现方式,分为组合逻辑电路实现和微程序实现。
组合逻辑:
每个微命令由一个组合逻辑电路产生,同时产生多个微命令,形成一个微操作。
微程序:
将每个微操作看成一个二进制数,将所有的微操作以二进制数的形式保存在一个存储器(控制存储器)中。
3.计算机时序的划分
指令周期:
执行一条指令所需要的时间。
机器周期(CPU工作周期):
一条指令的执行可以分成两个阶段:
取指、分析执行指令。
如果进一步划分,一条指令的执行可以分为:
取指令、取源操作数、取目的操作数和执行几部分,所以一个指令周期可以分为若干个机器周期,每个机器周期完成一个具体工作,机器周期有取指周期,源周期,目的周期,执行周期和中断周期。
节拍(时钟周期):
事实上机器周期的时间常常是不固定的,为了便于控制,我们把机器周期划分成若干个相等的时间段,我们称之为节拍。
通常,单总线结构的计算机以内总线上的一次数据流动时间为一个节拍(时钟周期)。
工作脉冲(定时脉冲):
节拍提供了一项操作所需的时间分段,但有的操作还需要严格的工作脉冲来控制。
如一个数据从寄存器A打入寄存器B,此操作是一个节拍内实现,但是对于A、B寄存器来说是有先后次序的,即数据先从A发出,后进入B;这个先后次序由工作脉冲来实现。
由于执行一条指令的时间是长短不一的(无操作数的指令执行时间短,两操作数的指令执行时间长),所以一般不把指令周期作为一级时序关系,通常所说的三级时序关系指的是:
机器周期、节拍和工作脉冲。
4.控制器的控制方式
⑴同步控制方式:
指一条指令的执行和指令中每个微操作都由CPU的基准时标的时序信号所控制。
同步控制方式有三种:
①采取完全统一的机器周期。
要求采用固定时间长度的机器周期,每个机器周期的节拍数都相同,使得机器周期规整,便于控制器电路设计。
缺点:
事实上机器周期长短不一,必须以最长的机器周期为基准,必然造成时间上的浪费。
②采用不统一的机器周期。
把一条指令划分成若干个机器周期(允许不同指令的机器周期不同),不同的机器周期使用的时间不同。
③采用中央控制和局部控制相结合的办法。
将大部分指令安排在一个统一的较短的机器周期内,称中央控制,将复杂的指令另行安排,成为局部控制。
⑵异步控制:
不采用统一的机器周期和节拍,各个部件之间的信息交换采用“应答”式。
⑶联合控制(同步异步结合)
三、单总线结构计算机的指令工作过程
通用
MAR寄存器ZPS
MDR
ALU
Y
PC
IR
…
指令译码器
…
时
序∶
部∶控制信号形成部件
件
…
控制信号
脉冲源
唐版教材把一条指令分为三个部分:
取指周期(获取指令)、间址周期(如果需要间接寻址使用)、执行周期(获得结果)
1、以指令ADD@X为例说明这三个机器周期(P382)
⑴取指周期,取指周期目的是获取指令,把指令从存储器中取出送入到CPU的IR寄存器(指令寄存器)中。
具体操作有五个动作:
①PCo和MARi有效,完成PC送MAR的操作,即PC→MAR
②通过控制总线向主存发出读命令,即1→R
③存储器通过数据总线将MAR所指存储单元的内容送MDR,即M(MAR)→MDR
④MDRo和IRi有效,将MDR的内容送入IR,即MDR→IR,
操作码送入CU开始译码工作,即OP(PC)→CU
⑤使PC内容加1,即(PC)+1→PC
通常动作①②⑤在同一个时钟周期内完成,动作③需要一个存取周期完成,动作④在一个时钟周期内完成。
⑵间址周期,间址周期目的是获取操作数的地址,把操作数的地址从存储器中取出送入CPU的MDR中。
具体操作有四个动作:
①MDRo和MARi有效,将有效地址送入MAR,即MDR→MAR
②通过控制总线向主存发出读命令,即1→R
③存储器通过数据总线将MAR所指存储单元的内容送MDR
④MDRo和IRi有效,将MDR的内容送入IR的地址码字段,即MDR→Ad(IR)
通常动作①②在同一个时钟周期内完成,动作③需要一个存取周期完成,动作④在一个时钟周期内完成。
⑶执行周期。
执行周期目的是计算出指令的操作结果,并把指令中的运算结果保存起来。
具体操作有六个动作:
①MDRo和MARi有效,将有效地址送入MAR,即MDR→MAR
②通过控制总线向主存发出读命令,即1→R
③存储器通过数据总线将MAR所指存储单元的内容送MDR
④MDRo和Yi有效,将操作数送入Y,即MDR→Y
⑤ACo和ALUi有效,同时CU发出“ADD”加控制信号,使AC的内容和Y的内容相加,结果送入寄存器Z,即(AC)+(Y)→Z,内总线传递AC的内容
⑥Zo和ACi有效,将运算结果存入AC,即Z→AC
通常动作①②在同一个时钟周期内完成,动作③需要一个存取周期完成,动作④在一个时钟周期内完成,动作⑤在一个时钟周期内完成,动作⑥在一个时钟周期内完成。
其他执行周期根据指令的变化而变化,可参考P376。
另,中断周期,具体操作有六个动作:
①将特定地址“0”送入MAR,即0→MAR(断点存入“0”地址)
②通过控制总线向主存发出写命令,即1→W
③将PC的内容(程序断点)送入MDR,即PC→MDR
④MDR的内容(程序断点)送入MAR所指的主存单元中,即MDR→M(MAR)
⑤将向量地址形成部件的输出送至PC,即向量地址→PC,为下一条指令的取指周期作准备。
⑥关中断,将允许中断触发器清零,即0→EINT
四、模型机设计见《实验控制器模型》
五、微程序控制器见《微程序控制器(唐)》
注意:
如果IR可以输入输出更方便,如下:
一个指令周期一般可以分为:
取指周期(获取指令),源周期(获取源操作数),目的周期(获取目的操作数),执行周期(获取结果)。
1.取指周期,取指周期目的是获取指令,把指令从存储器中取出送入到CPU的IR寄存器(指令寄存器)中。
假设指令的长度与机器的字长相通,取指过程分为三步:
⑴PC→MAR,然后置Read信号(SET”R”);同时PC→ALU,Y清0,ALU置进位,ALU进行加操作(Y+1),结果存入Z。
(实现PC+1)
⑵经过一个主存存储周期后,MDR中有数据。
在实际情况中,由于存储周期远远大于节拍(时钟周期),所以此时CPU在等待存储器,CPU不停插入空闲的节拍,以保证CPU和存储器之间的工作关系,通常设置一个信号WMFC,当WMFC=1时,表示存储周期结束。
MDR→IRIR中保存的是当前正在执行的指令
⑶PC+1(Z)→PCPC中保存的是下一条指令的地址。
通常在这个节拍中,同时进行分析指令的工作。
2.源周期。
源周期目的是获取指令的源操作数,把指令中的源操作数从寄存器/存储器中取出送入到CPU的Y寄存器(透明寄存器)中。
为了更好地说明源周期,我们将根据不同的寻址方式来分别进行说明,假设指令在IR中:
⑴立即数寻址:
addR0,#30H
IR(S)→Y;IR(S)表示源操作数部分
⑵寄存器寻址:
addR0,R1
R1→Y;R1的编号在表示源操作数部分中
⑶直接寻址:
addR0,30H
1IR(S)→MAR,同时置Read信号
2当WMFC=1时,MDR→Y
⑷寄存器间接寻址:
addR0,(R1)
①R1→MAR,同时置Read信号
②当WMFC=1时,MDR→Y
⑸间接寻址:
addR0,(30H)
①IR(S)→MAR,同时置Read信号
②当WMFC=1时,MDR→MAR,同时发出Read信号
②当WMFC=1时,MDR→Y
⑹基址寻址:
addR0,10H(Rb)
1IR(S)→Y
2Rb+Y→Z
③Z→MAR,同时置Read信号
④当WMFC=1时,MDR→Y
⑺变址寻址:
addR0,10H(Rd)(假设变址寄存器为自减型)
①IR(S)→Y
②Rd+Y→Z
③Z→MAR,同时发出Read信号
④Y置1,ALU加操作,Rd-1→Z
⑤Z→Rd
⑥当WMFC=1时,MDR→Y
⑻相对寻址:
addR0,10H(PC)
①IR(S)→Y
②Rc+Y→Z(在第一节拍PC送Rc)
③Z→MAR,同时置Read信号
④当WMFC=1时,MDR→Y
或:
①IR(S)→Y
②PC→ALU,PC+Y→Z
③Z→ALU,Y置1,ALU加操作,Z-1→Z
④Z→MAR,同时置Read信号
⑤当WMFC=1时,MDR→Y
3.目的周期。
目的周期目的是获取指令的目的操作数,把指令中的目的操作数从存储器中取出送入到CPU的MDR寄存器(数据寄存器)中。
由于目的周期的工作情况与源周期相同,所以就不再复述。
注意的是:
当目的操作数在一个通用寄存器中时,目的周期的时间为0节拍。
4.执行周期。
执行周期目的是计算出指令的操作结果,把指令中的运算结果保存在目的操作对象中。
⑴目的数在寄存器中
①YopR→Z
②Z→R
⑵目的数在存储器中
①YopMDR→Z
②Z→MDR,置Write信号,等到WMFC=1时完成。
5.中断周期:
响应中断之后,执行中断服务程序之前有一个过度时期称为中断周期,中断周期期间执行中断隐指令。
6.DMA周期。
7.特殊指令的执行过程
⑴NOTR
①PC→MAR
②MDR→IR
③PC+1→PC
④R→Z
⑤Z→R
⑵NOT(30H)
①PC→MAR
②MDR→IR
③PC+1→PC
④IR(D)→MAR,置Read信号,IR(D)表示目的操作数
⑤MDR→MAR,置Read信号,
⑥MDR→Z
⑦Z→MDR,置Write信号,等WMFC=1时,完成。
⑶LOADR,30H
①PC→MAR
②MDR→IR
③PC+1→PC
④IR(S)→MAR,置Read信号
⑤当WMFC=1时,MDR→R
⑷STRR,30H
①PC→MAR
②MDR→IR
③PC+1→PC
④IR(S)→MAR,
⑤R→MDR,置Write信号,等WMFC=1时,完成。
⑸JMP30H
①PC→MAR
②MDR→IR
③PC+1→PC
④IR(S)→PC。
⑹JZ30H
①PC→MAR
②MDR→IR
③PC+1→PC
④IFZ=1THENIR(S)→PC。
第四节模型机
模型机电路
R0
MARR1ZC
R2
MDRR3
ALU
AB
Y
PC
IR
操作码
3-8
译∶
码∶控制信号形成
器
…
控制信号
模7计数器
CP节拍
1.数据表示:
16位无符号数①,此机器为16位定点二进制计算机。
2.指令系统:
8条指令
指令为双操作数指令,其中一个操作数在寄存器中,另一个为在存储器中(或为立即数),采用直接寻址方式。
15131211100
操作码寄存器号地址码②
指令说明:
指令
操作码
指令功能
LDIRi,#data
000
立即数入寄存器,data→Ri
LOADRi,D
001
地址为D的操作数入寄存器,M(D)→Ri
STRRi,D
010
寄存器中的数入地址为D的存储器单元,
Ri→M(D)
ADDRi,D
011
加,Ri+M(D)→Ri
SUBRi,D
100
减,Ri-M(D)→Ri
ANDRi,D
101
与,Ri^M(D)→Ri
JMPD
110
无条件跳转
JCD
111
有条件跳转,有进位跳转
3.CPU
CPU采用单总线结构,CPU内部采用同步控制方式,CPU与存储器之间也采用同步传输方式,设主存的存储周期为Tm=0。
5us,CPU的时钟周期也为Tcp=0。
5us③
4.其他硬件
ALU:
四片74181串联
各寄存器:
寄存器out信号
01
CPDi
清0寄存器in
与内总线相连
①机器数据多采用补码,
②数据存储范围为2K,与指令不对称,指令系统不完备
③假设相同,实际差距很大
特例1:
IR的高五位:
01
CPDi
清0IRin
与内总线相连
特例2:
C寄存器:
01
CPD
清0ALU进位(Cn+4ALU正输出,进位为反量)
关于控制信号Add,Sub,And(全大写是指令,开头大写是控制信号)
AddSubAnd
↓↓↓
译码电路
↓↓↓↓↓↓
S3S2S1S0CnM
关于控制信号Rin,Rout
Rin
↓
IR12
多路分配器
IR11
↓↓↓↓
R0inR1inR2inR3in
5.各指令在CPU中的工作过程
⑴LDIRi,#data
①PC→MAR,然后发出Read信号(SET”R”);同时PC通过ALU的B口送入ALU进行加1操作,结果存入Z。
②MDR→IRIR中保存的是当前正在执行的指令
③PC+1(Z)→PCPC中保存的是下一条指令的地址。
④IR(S)→RiIR(S)表示源操作数
⑵LOADRi,D
①②③同上。
④IR(S)→MAR,然后发出Read信号(SET”R”)IR(S)表示源操作数
⑤MDR→Ri
⑶STRRi,D
①②③同上。
④IR(S)→MARIR(S)表示源操作数
⑤Ri→MDR,然后发出Write信号(SET”W”)
⑷ADDRi,D(SUB和AND与ADD相同)
①②③同上。
④IR(S)→MAR,然后发出Read信号(SET”R”)IR(S)表示源操作数
⑤MDR→Y
⑥Ri+Y→Z
⑦Z→Ri
⑸JMPD
①②③同上。
④IR(S)→PCIR(S)表示源操作数
⑹JCD
①②③同上。
④ifC=1thenIR(S)→PCIR(S)表示源操作数
6.指令流程图
指令流程图是根据指令功能要求和设定的CPU组织所提供的功能部件与数据通道,将各指令的微操作序列选定在适当的节拍信号而成的。
一般以指令执行过程为线索,按指令类型分别拟定指令的流程。
这样,对每条指令工作的全过程就有了清晰的概念,易于理解。
start
↓
T0PC→MAR,SET”R”
↓
T1MDR→IR
↓
T2PC+1→PC
T3↓
↓LDI↓LD↓STR↓ADD↓SUB↓AND↓JMP↓JC
IR(D)→R
IR(D)→MAR
SET”R”
IR(D)→MAR
IR(D)→MAR
SET”R”
IR(D)→MAR
SET”R”
IR(D)→MAR
SET”R”
IR(D)→PC
IFC=1
IR(D)→PC
↓↓↓↓↓
T4MDR→RR→MDRMDR→YMDR→YMDR→Y
SET”W”
↓↓↓
T5Y+R→ZY-R→ZY&R→Z
↓↓↓
T6Z→RZ→RZ→R
↓↓↓
↓
end
模型机共有14条微指令:
M0:
PCout,MARin,Set“R”,Y清0,ALU置进位,Add,Zin
M1:
MDRout,IRin
M2:
Zout,PCin
M3:
IRout,Rin
M4:
IRout,MARin,Set“R”
M5:
MDRout,Rin
M6:
IRout,MARin
M7:
Rout,MDRin,Set“W”
M8:
MDRout,Yin
M9:
Rout,Add,Zin
M10:
Zout,Rin
M11:
Rout,Sub,Zin
M12:
Rout,And,Zin
M13:
IRout,PCin
(M0,M1,M2为取指周期,LDI:
M0,M1,M2,M3;LOAD:
M0,M1,M2,M4,M5;STR:
M0,M1,M2,M6,M7;ADD:
M0,M1,M2,M4,M8,M9,M10,SUB:
M0,M1,M2,M4,M8,M11,M10,AND:
M0,M1,M2,M4,M8,M12,M10;JMP、JC:
M0,M1,M2,M13)
由指令流程图产生信号流程图
↓
T0PCout,MARin,Set“R”,Y清0,ALU置进位,Add,Zin
↓
T1MDRout,IRin
↓
T2Zout,PCin
T3↓
↓LDI↓LD↓STR↓ADD↓SUB↓AND↓JMP↓JC
IRout,Rin
IRout,MARin,Set“R”
IRout,MARin
IRout,MARin,Set“R”
IRout,MARin,Set“R”
IRout,MARin,Set“R”
IRout,PCin
IFC=1IRout,PCin
↓↓↓↓↓
T4MDRoutRoutMDRoutMDRoutMDRout
RinMDRinYinYinYin
Set”W”
↓↓↓
T5RoutRoutRout
AddSubAnd
ZinZinZin
↓↓↓
T6ZoutZoutZout
RinRinRin
↓↓↓
7.指令操作时间表
由信号流程图产生指令操作时间表,为了方便起见,LDI,JMP,JC三条指令的T3节拍移动到T6节拍。
节拍
公共操作
LDI
LD
STR
ADD
SUB
AND
JMP
JC
T0
PCout
MARin
Set“R”
Y清0
ALU置进位
Add
Zin
T1
MDRout
IRin
T2
Zout
PCin
T3
IRout
MARin
:
Set“R”
T4
MDRoutRin
Rout
MDRin
Set“W”
MDRout
Yin
MDRout
Yin
MDRout
Yin
T5
Rout,Add,Zin
Rout,Sub,Zin
Rout,And,Zin
T6
IRoutRin
Zout,Rin
Zout,Rin
Zout,Rin
IRout
PCin
C=1
IRout
PCin
8.微操作表
微操作
T0
T1
T2
T3
T4
T5
T6
PCout
ALL
MARin
ALL
ALL
Set“R”
ALL
Y清0
ALL
ALU置进位
ALL
Add
ALL
ADD
Sub
SUB
And
AND
Zin
ALL
ADD+SUB+AND
Zout
ALL
ADD+SUB+AND
PCin
ALL
JMP+C•JC
MDRout
ALL
LD+ADD
+SUB+AND
MDRin
STR
IRin
ALL
IRout
ALL
LDI+JMP+C•JC
Rin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五