第十章控制器的功能
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
核心作用core
内存
精髓:
…
I/O 其他部件
控制单元控制计
算机的所有部件有次 序完成各项操作
离不开 发出 计算机的功能
就是执行程序
CPU
控制
单元
各种微操作命令 (即控制信号)
CPU执行不同的指令时, 发出不同的微操作命令
发现在不同指令的执行过程中, 有些操作是相同的或者是相近的
取指周期
完成一条指令分 4 个机器(CPU)周期
MAR
MARi
地址线
地址线
• 数据线 MDR
数据线
• MDR IR
MDRO
IRi
有效地址 Ad(IR)
控制信号
…
PC MMAARR MMDDRR
Step4:(ACC) + (MDR)
ACC
向ALU发加命令,将ACC中的内容与MDR中 的内容相加,结果存于ACC中
……
操作码 地址码
IR
X地址
MAR
A +X
X的数据 MDR
CPU A+X的A数据
AC大C 外软件学院
AB
DB RD命令
AB
DB X
内存
2.访存指令
例2: 存数指令 STA X
功能:将累加器ACC中的内容存于主存X地址所对应的单元中
大外软件学院
2.访存指令
例1: 加法指令 ADD X
功能:将累加器内容与内存地址为X的单元中的内容相加,结果回送到累加器
Step1:Ad(IR) MAR 将指令的地址码部分送到存储器地址寄存器
Step2:1 RD
向主存发出读命令,启动内存作读操作
Step3:M(MAR)
MDR
将MAR所指的主存单元中的内容(操作数) 经数据总线读至MDR中
例2 COM
ACC ACC 将累加器的内容进行取反操作
例3 SHR L(ACC) ACC0
R(ACC), 将累加器中的内容进行算术右移 ACC0 一位的操作
例4
CSL R(ACC) ACC0
比较 L(ACC), 将累加器中的内容进行循环左移
ACCn
一位的操作
例5 STP 例6 NOP
0G
NULL
简停单机 空操作
三、执行周期
当指令进入指令寄存器IR之后,就开始指令执行周期,其任务是执行指令要求
的操作。
注:不同的指令其指令周期中所进行的微操作是不同的 Different
不尽相 同
非访存指令 访存指令 转移类指令
大外软件学院
1.非访存指令
例题 助记符号
简记
功能
例1 CLA
0 ACC 清除累加器A(中的内容)
指令寄存器 CPU
标志 时钟
…
控制单元 CU
系
CPU 内部的控制信号
统
总
到系统总线的控制信号
线
来自系统总线的控制信号
操作码 地址码
大外软件学院
表明指令的功能
(3)标志
标志 时钟
…
指令寄存器 CPU
控制单元 CU
系
CPU 内部的控制信号
统
总
到系统总线的控制信号
线
来自系统总线的控制信号
控制单元需要依赖CPU当前所执行的指令的状态来产生
t1
t2
t3
t
随即时间:外设向CPU 固定时间:指令执行结束前,
发出中断申请
CPU向接口发出
中断查询信号,
获取I/O中断请求。
将INTR置1
在每条指令执行结束时, CPU去执行中断服务程序
情形1
程序断点存入 “ 0 ” 地址 0 MAR
情形2
程序断点 进栈
( SP ) – 1 MAR
1 WR
1 WR
(3)执行周期
AC
PC 时钟
IR
C6
C7
CU 标志 …
控制信号
… …
C8
ALU
控制 信号
大外软件学院
2. 采用 CPU 内部总线方式 (1) ADD @ X 取指周期
时钟
• PC
PCO
MAR
MARi
地址线
• CU 发读命令 1 R
地址线
控制信号
…
CCUU
IRi
IR
PPCC MAR
PCO MARi
• 数据线
(2)CPU送至总线的控制信号
写WR信号 读WR信号
AMD K8核心架构图
大外软件学院
中断响应
内存
外设
第10章 控制器的功能与设计 -10.1.5 控制信号举例
1.不采用CPU内部总线的方式 C2
(以间接寻址的加法指令ADD @X为例) (1)取指令周期
M D
取指周期
R
C3
AC
PC
IR
C1 M A R
取指周期 间址周期 执行周期
转移 指令周期
取指周期 执行周期
任何一条指令,它的指令周期至少需要两个CPU周期,而复杂一些的指令
周期,则需要更多的CPU周期。
但必须指出,对CPU周期的规定在各种计算机中不尽相同。
遇到间接大寻外址的软指件令时学,院指令周期中有一段“间址周期”用于访存取出有效地址
四、中断周期
Step1:Ad(IR) MAR 将指令的地址码部分送到存储器地址寄存器MAR中
Step2:1 WR
向主存发出写命令,启动内存作读操作
Step3:ACC MDR 将累加器中的内容送至MDR中
Step4:MDR
M(MAR) 将MDR中的内容经过数据总线,写入到MAR所指
向的内存单元中。
……
操作码 地址码
• MDR
MDRO
MDR
IR
IRi
数据线
MMDDRR AC
MDRO
• OP(IR) CU
Y
• (PC)+ 1 PC
控制信号
由于分析大指令外与软取指件令学紧密院联系,故属于取指周期
…
ALU Z
CPU 内 部 总 线
(2) ADD @ X 间址周期
时钟
控制信号
…
CU
IRi
IIRR
• MDR
MDRO
•1 R
连续的脉冲信号
时钟发生器
芯片
电脑中的芯片绝大多数属于数字逻辑芯片,数字芯片中众多的晶体管全都工作
注 在开关状态,它们的导通和关断动作无不是按照时钟信号的节奏进行的。 如果时钟频率过高,就可能出现晶体管的状态来不及变化的情况,产生死 锁或大随外机性软误件操作学。院所以,每一款芯片都有自己的频率极限。
(2)指令寄存器
启动主存读操作
③M ( MAR ) DB MDR
MAR CU +1
存储器
将指定地址单元的内容经数据线送到 MDR中
④MDR IRΒιβλιοθήκη Baidu
将MDR内容 IR
大外M软D件R 学院
⑤( PC ) + 1 PC
形成下一条指令内存地址
取指
CPU通过三总线读取内存指定单元内容,取到CPU内部
精髓
地址线AB:内存单元地址 控制线CB:读内存命令
CPU
数据线DB:指令
内存
大外软件学院
二、间指周期 指令字中给出的是操作数有效地址的地址, 地 数 控
CU检查IR中的内容 为得到操作数,需再访问内存,取出有效
址据 制 总总 总
需要间址?
地址,再访问内
存得到操作数 CPU
线线 线
MAR
存储器
框图 将MDR中指示形式
地址的右N位,被送
到MAR
IR
CU MDR
PC MDR
PC MDR
MDR M ( MAR )
MDR M ( MAR )
向量地址 PC
向量地址 PC
0 大外E软IN件T(学置院“0”) 0 EINT(置“0”)
自学
大外软件学院
第10章 控制器的功能与设计 -10.1.4 控制信号
一、控制单元的外特性
指令寄存器 CPU
标志 时钟
…
控制单元 CU
C0
C4
时钟
CU 标志 …
控制信号
ALU
… …
控制 信号
大外软件学院
C2
M D R
C5
(以间接寻址的加法指令ADD @X为例)
(2)间址周期
C3
AC
PC
IR
C1 M A R
时钟
CU 标志 …
控制信号
ALU
… …
控制 信号
大外软件学院
C2 MM DD RR C5
C1 M A R
(以间接寻址的加法指令ADD @X为例)
(半个子节)产生的进位。主要用于BCD码运算。
⑤ Parity Flay:奇偶标志。运算结果中“1”的个数为偶数时被置“1”。
⑥ Zero Flag:零标志,反映运算结果是否为0。
反映当前指令 执行状态
⑦ Trace Flag :跟踪标记/陷阱标记。控制程序的单步执行。
⑧ Interrupt Flag:中断允许标记,用于控制cpu可屏蔽中断的。 ⑨ Direction Flag:方向标记。用于在串操作中控制处理数据的方向。
间址周期
执行周期
中断周期
每个指令周期由4个CPU周期,每个CPU周期完成一个或多个更短涉及 CPU寄存器的的操作,即微操作。
大外软件学院
第10章 控制器的功能与设计 -10.1.2 指令周期分析
一、取指周期
(注:为了简化处理,假设CPU中有…)
寄存器
名称
存放内容
MAR 存储器地址寄存器存放欲读写的存储单元的地址(与系统地址总线相连接)
系
CPU 内部的控制信号
统
总
到系统总线的控制信号
线
来自系统总线的控制信号
1.输入信号
(1)时钟 计算机的时间概念 (听我慢慢跟你说吧!……)
大外软件学院
(1)时钟
电脑 科 中有许许多多的半导体芯片,每个芯片都是在特定的时钟频率下进行 工作的。时钟发生器提供给芯片的时钟信号是一个连续的脉冲信号, 普 而脉冲就相当于芯片的脉搏,每一次脉冲到来,芯片内的晶体管就改 变一次状态,让整个芯片完成一定任务。
X
② Y
①X
大外软件学院
JMP X BAN X
……
……
……
4. 三类指令的指令周期
指令周期是取出并执行一条指令的时间。由于各种指令的操作功能不同,
有的简单,有的复杂,因此各种指令的指令周期是不尽相同的。
指令周期类型
非访存 指令周期 直接访存 指令周期 间接访存 指令周期
指令周期长度 取指周期 执行周期 取指周期 执行周期
第10章---控制器的功能与设计
本章内容 10.1 控制器的功能
学习目标
大外软件学院
第10章 控制器的功能与设计 -10.1.1 微操作
CPU
控制 单元
大外软件学院
程序控制单元是CPU的核心,当一条指
令进入CPU后,它分析检查该指令的内容, 确定指令要求完成的动作以及指令的有关 参数。例如,如果是一条加法指令,指明 被加数在内存的某个地方。程序控制单元 要指挥内存把数据送到CPU来。当计算所 需要的数据准备好后,算术逻辑部件就可 以执行指令所要求的计算。计算完成后, 程序控制单元还要按照指令要求把计算结 果存入数据寄存器,或者存入内存储器中。
下一步的控制信号
大外软件学院
FR(Flag Register)标志寄存器
0 1 2 3 4 5 6 7 8 9 1011
21
31
CF PF AF ZF SF TF IF DF OF
……
8088..8. 08P6entium
① Carry Flag: 进位标志,记录运算时从最高有效位产生的进位/借位值。 ② Overflow Flag:溢出标志,超出及其所能够表示的范围。 ③ Sign Flag:符号标志,反映运算结果是否为零。 ④ Auxiliary Carry Flag:辅助进位标志/半进位标志。记录运算时第3位
作为CPU执行 的控制标记
大外软件学院
(4)来自控制总线的控制信号 指令寄存器 CPU
标志 时钟
…
控制单元 CU
系
CPU 内部的控制信号
统
总
到系统总线的控制信号
线
来自系统总线的控制信号
典型的是中断请求和DMA请求 大外软件学院
model.swf
2.输出信号
(1)CPU内的控制信号
CPU内部有大量的部件,这些部件相互之间的工作需要CPU发出的控制信号。 大外软件学院
向主存发出读命令,启动内存作写操作
MDR
将MAR所指向的内存单元中的内容(操作数) 经数据总线读到MDR中
Step4:MDR ACC 将MDR中的内容送到ACC中
……
操作码 地址码
IR
MAR
X的数据
MDR
AC大C 外软件C学P院U
AB
DB RD命令
AB
DB X X的数据
内存
3.转移类指令
类型 无条件转移
MDR 存储器数据寄存器存放欲读写存储器的数据信息(与系统数据总线相连接)
PC 程序计数器 存放CPU当前正在执行的指令的下一条指令在内存的地址
IR
指令寄存器 存放CPU当前正在执行的指令
CPU PC
IR
地数 控
①PC MAR 地址线
址据 制 总总 总 线线 线
当前指令地址 存储器地址寄存器
②1 RE
助记符 JMP X
简记 Ad ( IR ) PC
功能 将指令的地址码部分X送到PC中
类型 条件转移
A0是符号位
0:正数
助记符 BAN X (负则转) 1:负数
简记 功能
A0 •Ad ( IR ) + A0 ( PC ) PC
根据上一条指令的运行结果决定下一条 指令的地址,若结果为负,则指令的地 址码送至PC,否则程序按原顺序执行
IR
MAR
X的数据 MDR
X的AC数大C据外软件学C院PU
AB
DB WR命令
AB DB
内存
2.访存指令
例3: 取数指令 LDA X
功能:将内存地址为X单元中的内容送到累加器ACC中
Step1:Ad ( IR )
MAR 将指令的地址码部分送到存储器地址寄存器中
Step2:1 RD
Step3:M ( MAR )
CU发出读存储器命 令
①指令形式地址 MAR
将指令的地址码部分(形式地址)送至MAR
MAR
②1 RE
发出读主存命令
地址总线AB
③M ( MAR ) DB MDR
将指定地址单元的内容经数据线送到
将制定地址单元的 内容经数据线送到 ④MDR
MDR中 大外软件学院
MDR中 Ad ( IR )
将有效地址送至IR的地址字段