5计算机组成原理第5章_中央处理机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1.1 CPU的功能 5.1.2 CPU的基本组成 5.1.3 CPU中的主要寄存器
5.1.4 操作控制器与时序产生器
2014年5月2日星期五
3
5.1.1 CPU的功能
CPU(中央处理器) 控制程序按设定方式执行; CPU的主要功能: 指令控制 顺序寻址、跳跃寻址
2014年5月2日星期五
7
5.1.3
CPU中的主要寄存器(1/3)
1. 数据缓冲寄存器(DR)
暂时存放CPU与外界传送的数据,可以是指令字或数据字。 作用
① ②
作为CPU和内存、外部设备之间信息传送的中转站; 补偿CPU和内存、外围设备之间在操作速度上的差别;
2. 通用寄存器
功能:暂时存放ALU运算的数据或结果。 CPU中的通用寄存器可多达16个,32个,甚至更多。
5.2.6 JMP 101指令的指令周期
5.2.7 用方框图语言表示指令周期
2014年5月2日星期五 13
5.2.1 指令周期的基本概念
CPU执行程序是一个“取指令—执行指令”的循环过程。 指令周期 CPU从内存中取出一条指令,并执行的时间总和;
CPU周期
又称机器周期,一般为从内存读取一条指令字的最短时间; 一个CPU周期可以完成CPU的一个基本操作。 时钟周期 也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。 动画演示:5-2.swf
第5章 中央处理机
目录
5.1 CPU的功能和组成 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 硬连线控制器 5.6 传统CPU ——掌握 ——掌握 ——了解 ——掌握 ——了解 ——了解
5.7 流水CPU
——掌握
2014年5月2日星期五
2
5.1 CPU的组成和功能
控制程序的执行顺序; 操作控制 对指令操作码译码后产生控制信号 产生和发送各操作信号; 时间控制 维持各类操作的时序关系 控制指令、或操作的实施时间; 数据加工 由ALU完成具体的运算 对数据进行算术逻辑运算;
2014年5月2日星期五 4
5.1.2 CPU的基本组成
现代的CPU的组成 控制器的主要功能
100
LAD R1,6
①
②
103 102
动画 演示
LAD ③ 6
2014年5月2日星期五 21
LAD R1 , 6指令周期中的控制信号
1.LAD取指周期
CPU动作与取MOV指令的取值周期中一样。
2.LAD指令的执行周期
IR DBUS AR;
该过程为寻址周期;
IR读 AR锁存
ARABUS数据Cache ,译码并启动; 数据Cache启动 数据Cache DBUS DRR1;
2014年5月2日星期五
ALU、通用寄存器组、 标志寄存器
5
CPU模型图
运算器
动画演示:5-1.swf
Cache
控制器
2014年5月2日星期五 6
5.1.3
CPU中的主要寄存器
各种计算机的CPU可能有这样或那样的不同,但 是在CPU中至少要有6类寄存器: ①指令寄存器(IR) ②程序计数器(PC) ③数据地址寄存器(AR) ④缓冲寄存器(DR) ⑤通用寄存器(R0~R3) ⑥状态字寄存器(PSW)
2014年5月2日星期五 11
采用时序逻辑技术实现; 采用存储逻辑实现;
③ 前两种方式的结合;
数据通路的建立
写入 读出 运算 类型 写入 读出 写入 写入 读出
读出
增量
写入
锁存
锁存
读出
写入
读出
2014年5月2日星期五 12
5.2 指令周期
5.2.1 指令周期的基本概念 5.2.2 MOV R0 , R1指令的指令周期 5.2.3 LAD R1 , 6指令的指令周期 5.2.4 5.2.5 ADD R1 , R2指令的指令周期 STO R2 , (R3)指令的指令周期
2014年5月2日星期五 8
5.1.3
CPU中的主要寄存器(2/3)
3.状态条件寄存器(PSW) 保存各种状态和条件控制信号;
进位标志(C),溢出标志(V),零标 志(Z),符号标志(N)
每个信号由一个触发器保存,从而拼成一个寄存器。
4.地址寄存器(AR) 保存当前CPU所访问数据的内存单元地址; 主要用于解决主存/外设和CPU之间的速度差异,使地址信 息可以保持到主存/外设的读写操作完成为止
2014年5月2日星期五 14
关于指令周期
一个完整的指令周期由若干机 器周期:
取指周期——间址周期—— 执行周期——中断周期 本教材上,间址周 求操作数 有效地址
期和执行周期统称 所有指令的第一个机器周期必 为取指周期; 为执行周期!
一个基本的CPU周期包含4个时 钟周期,对于某些CPU周期可 以包含更多的时钟周期。 不同指令的指令周期所包含的 时钟周期个数不一定相同。
2014年5月2日星期五 15
一个简单的程序
地址 指令
100
101 MOV R0 , R1
说明
地址 5 6 7 10 … 30
数据 70 100 66 77 … 40(120)
程序执行前设置(R0)=00,(R1)=10;(R2)=20,(R3)=30
传送指令MOV执行(R1)R0
102
103 104 105 106
2014年5月2日星期五
23
ADD R1 , R2指令的执行过程演示
120 ADD R1,R2 ① 100 20
②
104 103
动画 演示
ADD
③
2014年5月2日星期五 24
ADD R1 , R2指令周期中的控制信号
①取指周期(略) CPU动作与取MOV指令的取值周期中一样。 ②执行周期 R1、R2ALU;
16
2014年5月2日星期五
5.2.2 MOV R0 , R1指令的指令周期
MOV是一条RR型指令,它需 要两个CPU 周期: 取指周期
① 从存储器中取出指令;
② 程序计数器PC加1;
③ 译码或测试指令操作码,
发出控制信号;
执行周期
在控制信号的作用下,
将R1中的数据经过ALU 送入R0;
该过程为间址周期;
R2读 数据Cache写
R3读 AR锁存
R2DBUS数据Cache;
2014年5月2日星期五
28
5.2.6 JMP 101指令的指令周期
JMP指令是一条无条件转移指令,用来改变程序的 执行顺序;
JMP指令的执行需要两个CPU周期: ①取指周期(略) ②执行周期
使用JMP指令中的直接地址为PC赋值;
R1读 R2读 ALU加
ALU做加运算,将两数相加;
ALUDBUSDRR1,保存结果;
ALU输出 DR锁存 R1写
2014年5月2日星期五
25
5.2.5
STO R2 , (R3)指令的指令周期
STO指令是RS型指令,需要3个CPU周期。 ①取指周期(略) ②间址周期
根据R3中的地址寻址所要访问的存储单元;
LAD R1 , 6
ADD R1 , R2
取数指令LAD从6号单元中取数100R1
加法指令ADD执行(R1)+(R2)R2,结果为(R2)=120
STO R2 , (R3) 存数指令STO用(R3)间接寻址,(R2)=120写入30号单元 JMP 101 AND R1 , R3
转移指令JMP改变程序执行顺序,转到101号单元 逻辑与指令AND执行(R1) · (R2) R3
2014年5月2日星期五 32
动画演示 5.14.swf
P139 图5.14方框图语言表示的指令周期
MOV R0 , R1 LAD R1 , 6
ADD R1 , R2 STO R2 , (R3) JMP 101
2014年5月2日星期五
33
课本P139 【例1】
图5.15所示为双总线结构机器的数据通路,各构成部件如图, 线上标注有小圈表示有控制信号,未标字符的线为直通线。
PC读 指令Cache启动
③ PC PC+1,为取下条指令做好准备; PC增量
④ IR中的操作码被译码或测试,CPU识别出是指令MOV。 2.
R1读 ① R1ALU,R1中数据通过ALU传送; ALU传送控制 ALU输出 ② ALU DBUS DRR0; DR锁存 R0写
2014年5月2日星期五 19
5.2.3 LAD R1 , 6指令的指令周期
LAD指令是RS型指令, 需要访存获取操作数,共 包含三个CPU周期: ①取值周期
②间址周期
从IR的地址码字段获
取操作数地址;(或 者通过计算获得EA)
③执行周期
访存获取操作数送入
通用寄存器R1;
2014年5月2日星期五 20
LAD R1 , 6指令的执行过程演示
PC、IR 从内存中取出一条指令,并指出下条指令的存放位置;
操作控制器
冯· 诺依曼机的定义
运算器、控制器 、片内Cache;
对指令进行译码,产生相应的操作控制信号; CU、时序电路、 控制CPU、内存和输入/输出设备之间数据流动;
运算器的主要功能:
执行所有的算术运算; 执行所有的逻辑运算,并进行逻辑测试。
数据Cache读 DR锁存 R1写
22
2014年5月2日星期五
5.2.4 ADD R1 , R2指令的指令周期
ADD指令的指令周期由两个CPU周期组成 。
①取指周期(略) ②执行周期
从寄存器R1、R2中取出数据,作为源操作数; 将两数据送往ALU,并使ALU进行加运算; 结果保存到R1中。
① “ADD R2,R0”指令完成(R0)+(R2)→R0的功能操作,画 出其指令周期流程图,并列出相应的微操作控制信号序列。
② “SUB R1,R3”指令完成(R3)-(R1)→R3的操作,画出其 指令期流程图,并列出相应的微操作控制信号序列。
2014年5月2日星期五
34
(1) “ADD R2,R0”
③执行周期
将寄存器R2中的数据送入指定的存储单元;
2014年5月2日星期五
26
STO R2 , (R3)指令的执行过程演示
①
STO R2,(R3)
120 30
②
104 105
动画 演示
STO
③
2014年5月2日星期五 27
STO R2 , (R3)指令周期中的控制信号
1. 取指周期(略) 2. 执行周期 R3DBUSAR,发出地址启动数据Cache;
方框
代表一个CPU周期; 方框中的内容表示数据通路的操作或某种控制操作。 菱形 通常用来表示某种判别或测试; 时间上依附于之前一个方框的CPU周期,而不单独占用一 个CPU周期; ~(公操作符号) 表示一条指令已经执行完毕,转入公操作。 所谓公操作就是一条指令执行完毕后,CPU所开始的一些 操作,比如对外围设备请求的处理等。
2014年5月2日星期五 17
MOV R0 , R1指令的执行过程演示
MOV R0 , R1
① ④ 10 ②
101 102
动画 演示
MOV ③
2014年5月2日星期五 18
MOV R0 , R1指令周期中的控制信号
1.
① PCABUS指令Cache ,译码并启动;
Cache读 ② 指令Cache IR; 指令 IR写
2014年5月2日星期五 10
5.1.4 操作控制器与时序产生器
数据通路
寄存器之间传送信息的通路。 操作控制器
根据指令操作码和时序信号,产生各种操作控制信号;
建立正确地数据通路,从而完成指令的执行。 根据设计方法不同,操作控制器可分为 ① 硬布线控制器: ② 微程序控制器: 时序产生器 对各种操作实施时间的控制。
2014年5月2日星期五 9
5.1.3
CPU中的主要寄存器(3/3)
5.程序计数器(PC) 始终存放下一条指令的地址,对应于指令Cache的访问; 其内容变化分两种情况
顺序执行: PC+1PC
转移执行: (指令OPR)PC
计数功能 寄存功能
6.指令寄存器(IR) 保存当前正在执行的一条指令。 指令寄存器中操作码字段的输出就是指令译码器的输入。
Βιβλιοθήκη Baidu
2014年5月2日星期五
29
JMP 101指令的执行过程演示
①
JMP 101
②
105 106
动画 演示
JMP
③
101
2014年5月2日星期五 30
JMP 101指令周期中的控制信号
1. 取指周期(略)
2. 执行周期
IRDBUSPC;
IR读 PC写
2014年5月2日星期五
31
5.2.7 用方框图语言表示指令周期
指令周期应包括取指 周期和执行周期;
→ (R0)+(R2)→R0
取指周期 执行周期 R20 G Yi R00 G Xi
5.1.4 操作控制器与时序产生器
2014年5月2日星期五
3
5.1.1 CPU的功能
CPU(中央处理器) 控制程序按设定方式执行; CPU的主要功能: 指令控制 顺序寻址、跳跃寻址
2014年5月2日星期五
7
5.1.3
CPU中的主要寄存器(1/3)
1. 数据缓冲寄存器(DR)
暂时存放CPU与外界传送的数据,可以是指令字或数据字。 作用
① ②
作为CPU和内存、外部设备之间信息传送的中转站; 补偿CPU和内存、外围设备之间在操作速度上的差别;
2. 通用寄存器
功能:暂时存放ALU运算的数据或结果。 CPU中的通用寄存器可多达16个,32个,甚至更多。
5.2.6 JMP 101指令的指令周期
5.2.7 用方框图语言表示指令周期
2014年5月2日星期五 13
5.2.1 指令周期的基本概念
CPU执行程序是一个“取指令—执行指令”的循环过程。 指令周期 CPU从内存中取出一条指令,并执行的时间总和;
CPU周期
又称机器周期,一般为从内存读取一条指令字的最短时间; 一个CPU周期可以完成CPU的一个基本操作。 时钟周期 也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。 动画演示:5-2.swf
第5章 中央处理机
目录
5.1 CPU的功能和组成 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 硬连线控制器 5.6 传统CPU ——掌握 ——掌握 ——了解 ——掌握 ——了解 ——了解
5.7 流水CPU
——掌握
2014年5月2日星期五
2
5.1 CPU的组成和功能
控制程序的执行顺序; 操作控制 对指令操作码译码后产生控制信号 产生和发送各操作信号; 时间控制 维持各类操作的时序关系 控制指令、或操作的实施时间; 数据加工 由ALU完成具体的运算 对数据进行算术逻辑运算;
2014年5月2日星期五 4
5.1.2 CPU的基本组成
现代的CPU的组成 控制器的主要功能
100
LAD R1,6
①
②
103 102
动画 演示
LAD ③ 6
2014年5月2日星期五 21
LAD R1 , 6指令周期中的控制信号
1.LAD取指周期
CPU动作与取MOV指令的取值周期中一样。
2.LAD指令的执行周期
IR DBUS AR;
该过程为寻址周期;
IR读 AR锁存
ARABUS数据Cache ,译码并启动; 数据Cache启动 数据Cache DBUS DRR1;
2014年5月2日星期五
ALU、通用寄存器组、 标志寄存器
5
CPU模型图
运算器
动画演示:5-1.swf
Cache
控制器
2014年5月2日星期五 6
5.1.3
CPU中的主要寄存器
各种计算机的CPU可能有这样或那样的不同,但 是在CPU中至少要有6类寄存器: ①指令寄存器(IR) ②程序计数器(PC) ③数据地址寄存器(AR) ④缓冲寄存器(DR) ⑤通用寄存器(R0~R3) ⑥状态字寄存器(PSW)
2014年5月2日星期五 11
采用时序逻辑技术实现; 采用存储逻辑实现;
③ 前两种方式的结合;
数据通路的建立
写入 读出 运算 类型 写入 读出 写入 写入 读出
读出
增量
写入
锁存
锁存
读出
写入
读出
2014年5月2日星期五 12
5.2 指令周期
5.2.1 指令周期的基本概念 5.2.2 MOV R0 , R1指令的指令周期 5.2.3 LAD R1 , 6指令的指令周期 5.2.4 5.2.5 ADD R1 , R2指令的指令周期 STO R2 , (R3)指令的指令周期
2014年5月2日星期五 8
5.1.3
CPU中的主要寄存器(2/3)
3.状态条件寄存器(PSW) 保存各种状态和条件控制信号;
进位标志(C),溢出标志(V),零标 志(Z),符号标志(N)
每个信号由一个触发器保存,从而拼成一个寄存器。
4.地址寄存器(AR) 保存当前CPU所访问数据的内存单元地址; 主要用于解决主存/外设和CPU之间的速度差异,使地址信 息可以保持到主存/外设的读写操作完成为止
2014年5月2日星期五 14
关于指令周期
一个完整的指令周期由若干机 器周期:
取指周期——间址周期—— 执行周期——中断周期 本教材上,间址周 求操作数 有效地址
期和执行周期统称 所有指令的第一个机器周期必 为取指周期; 为执行周期!
一个基本的CPU周期包含4个时 钟周期,对于某些CPU周期可 以包含更多的时钟周期。 不同指令的指令周期所包含的 时钟周期个数不一定相同。
2014年5月2日星期五 15
一个简单的程序
地址 指令
100
101 MOV R0 , R1
说明
地址 5 6 7 10 … 30
数据 70 100 66 77 … 40(120)
程序执行前设置(R0)=00,(R1)=10;(R2)=20,(R3)=30
传送指令MOV执行(R1)R0
102
103 104 105 106
2014年5月2日星期五
23
ADD R1 , R2指令的执行过程演示
120 ADD R1,R2 ① 100 20
②
104 103
动画 演示
ADD
③
2014年5月2日星期五 24
ADD R1 , R2指令周期中的控制信号
①取指周期(略) CPU动作与取MOV指令的取值周期中一样。 ②执行周期 R1、R2ALU;
16
2014年5月2日星期五
5.2.2 MOV R0 , R1指令的指令周期
MOV是一条RR型指令,它需 要两个CPU 周期: 取指周期
① 从存储器中取出指令;
② 程序计数器PC加1;
③ 译码或测试指令操作码,
发出控制信号;
执行周期
在控制信号的作用下,
将R1中的数据经过ALU 送入R0;
该过程为间址周期;
R2读 数据Cache写
R3读 AR锁存
R2DBUS数据Cache;
2014年5月2日星期五
28
5.2.6 JMP 101指令的指令周期
JMP指令是一条无条件转移指令,用来改变程序的 执行顺序;
JMP指令的执行需要两个CPU周期: ①取指周期(略) ②执行周期
使用JMP指令中的直接地址为PC赋值;
R1读 R2读 ALU加
ALU做加运算,将两数相加;
ALUDBUSDRR1,保存结果;
ALU输出 DR锁存 R1写
2014年5月2日星期五
25
5.2.5
STO R2 , (R3)指令的指令周期
STO指令是RS型指令,需要3个CPU周期。 ①取指周期(略) ②间址周期
根据R3中的地址寻址所要访问的存储单元;
LAD R1 , 6
ADD R1 , R2
取数指令LAD从6号单元中取数100R1
加法指令ADD执行(R1)+(R2)R2,结果为(R2)=120
STO R2 , (R3) 存数指令STO用(R3)间接寻址,(R2)=120写入30号单元 JMP 101 AND R1 , R3
转移指令JMP改变程序执行顺序,转到101号单元 逻辑与指令AND执行(R1) · (R2) R3
2014年5月2日星期五 32
动画演示 5.14.swf
P139 图5.14方框图语言表示的指令周期
MOV R0 , R1 LAD R1 , 6
ADD R1 , R2 STO R2 , (R3) JMP 101
2014年5月2日星期五
33
课本P139 【例1】
图5.15所示为双总线结构机器的数据通路,各构成部件如图, 线上标注有小圈表示有控制信号,未标字符的线为直通线。
PC读 指令Cache启动
③ PC PC+1,为取下条指令做好准备; PC增量
④ IR中的操作码被译码或测试,CPU识别出是指令MOV。 2.
R1读 ① R1ALU,R1中数据通过ALU传送; ALU传送控制 ALU输出 ② ALU DBUS DRR0; DR锁存 R0写
2014年5月2日星期五 19
5.2.3 LAD R1 , 6指令的指令周期
LAD指令是RS型指令, 需要访存获取操作数,共 包含三个CPU周期: ①取值周期
②间址周期
从IR的地址码字段获
取操作数地址;(或 者通过计算获得EA)
③执行周期
访存获取操作数送入
通用寄存器R1;
2014年5月2日星期五 20
LAD R1 , 6指令的执行过程演示
PC、IR 从内存中取出一条指令,并指出下条指令的存放位置;
操作控制器
冯· 诺依曼机的定义
运算器、控制器 、片内Cache;
对指令进行译码,产生相应的操作控制信号; CU、时序电路、 控制CPU、内存和输入/输出设备之间数据流动;
运算器的主要功能:
执行所有的算术运算; 执行所有的逻辑运算,并进行逻辑测试。
数据Cache读 DR锁存 R1写
22
2014年5月2日星期五
5.2.4 ADD R1 , R2指令的指令周期
ADD指令的指令周期由两个CPU周期组成 。
①取指周期(略) ②执行周期
从寄存器R1、R2中取出数据,作为源操作数; 将两数据送往ALU,并使ALU进行加运算; 结果保存到R1中。
① “ADD R2,R0”指令完成(R0)+(R2)→R0的功能操作,画 出其指令周期流程图,并列出相应的微操作控制信号序列。
② “SUB R1,R3”指令完成(R3)-(R1)→R3的操作,画出其 指令期流程图,并列出相应的微操作控制信号序列。
2014年5月2日星期五
34
(1) “ADD R2,R0”
③执行周期
将寄存器R2中的数据送入指定的存储单元;
2014年5月2日星期五
26
STO R2 , (R3)指令的执行过程演示
①
STO R2,(R3)
120 30
②
104 105
动画 演示
STO
③
2014年5月2日星期五 27
STO R2 , (R3)指令周期中的控制信号
1. 取指周期(略) 2. 执行周期 R3DBUSAR,发出地址启动数据Cache;
方框
代表一个CPU周期; 方框中的内容表示数据通路的操作或某种控制操作。 菱形 通常用来表示某种判别或测试; 时间上依附于之前一个方框的CPU周期,而不单独占用一 个CPU周期; ~(公操作符号) 表示一条指令已经执行完毕,转入公操作。 所谓公操作就是一条指令执行完毕后,CPU所开始的一些 操作,比如对外围设备请求的处理等。
2014年5月2日星期五 17
MOV R0 , R1指令的执行过程演示
MOV R0 , R1
① ④ 10 ②
101 102
动画 演示
MOV ③
2014年5月2日星期五 18
MOV R0 , R1指令周期中的控制信号
1.
① PCABUS指令Cache ,译码并启动;
Cache读 ② 指令Cache IR; 指令 IR写
2014年5月2日星期五 10
5.1.4 操作控制器与时序产生器
数据通路
寄存器之间传送信息的通路。 操作控制器
根据指令操作码和时序信号,产生各种操作控制信号;
建立正确地数据通路,从而完成指令的执行。 根据设计方法不同,操作控制器可分为 ① 硬布线控制器: ② 微程序控制器: 时序产生器 对各种操作实施时间的控制。
2014年5月2日星期五 9
5.1.3
CPU中的主要寄存器(3/3)
5.程序计数器(PC) 始终存放下一条指令的地址,对应于指令Cache的访问; 其内容变化分两种情况
顺序执行: PC+1PC
转移执行: (指令OPR)PC
计数功能 寄存功能
6.指令寄存器(IR) 保存当前正在执行的一条指令。 指令寄存器中操作码字段的输出就是指令译码器的输入。
Βιβλιοθήκη Baidu
2014年5月2日星期五
29
JMP 101指令的执行过程演示
①
JMP 101
②
105 106
动画 演示
JMP
③
101
2014年5月2日星期五 30
JMP 101指令周期中的控制信号
1. 取指周期(略)
2. 执行周期
IRDBUSPC;
IR读 PC写
2014年5月2日星期五
31
5.2.7 用方框图语言表示指令周期
指令周期应包括取指 周期和执行周期;
→ (R0)+(R2)→R0
取指周期 执行周期 R20 G Yi R00 G Xi