计算机组成原理 第五章
计组 第五讲 中央处理器
CPU中央处理器
控制程序按设定方式执行
功能
-
指令控制 顺序寻址 跳跃寻址
控制程序的执行顺序
-
操作控制
产生和发送各操作信号
-
时间控制 维持各类操作的时序关系
控制指令或操作的实施时间
-
数据加工 由ALU完成具体的运算
对数据进行算术逻辑运算
组成
- 运算器
- 控制器
- 片内Cache
运算器的重要功能
- 执行所有的算术运算
- 执行所有的逻辑运算,并进行逻辑测试
ALU、通用寄存器组、标志寄存器
控制器的主要功能
- 从内存中取出一条指令,并指出下条指令的存放位置 PC程序计数器、IR
- 对指令进行译码,产生相应的操作控制信号。CU、时序电路、操作控制器
- 控制CPU、内存和输入/输出设备之间数据流动;
CPU中的寄存器
数据缓冲寄存器(DR)
暂时存放ALU的运算结果或CPU与外界传送的数据
作用
- 作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲
- 补偿CPU和内存、外围设备之间在操作速度上的差别
通用寄存器
功能:暂时存放ALU运算的数据或结果
CPU中的通用寄存器可多达16个,32个,甚至更多
状态条件寄存器(PSW)
保存各种状态和条件控制信号
- u进位标志©
- 溢出标志(V)
- 零标志(Z)
- 符号标志(N)
每个信号由一个触发器保存,从而拼成一个寄存器
地址寄存器(AR)
保存当前CPU所访问数据的内存单元地址
主要用于解决主存/外设和CPU之间的速度差异,使地址信息可以保持到主存/外设的读写操作完成为止
程序计数器(PC)
始终存放下一条指令的地址,对应于指令Cache的访问
放的是指令的地址!!!
其内容变化分两种情况
-
顺序执行(计数功能)
-
转移执行(寄存功能)
指令寄存器(IR)
保存当前正在执行的一条指令
指令寄存器中操作码字段的输出就是指令译码器的输入。
放的是指令!!!
操作控制器与时序产生器
数据通路
寄存器之间传送信息的通路
操作控制器
根据指令操作码和时序信号,产生各种操作控制信号
建立正确地数据通路,从而完成指令的执行
根据设计方法不同,操作控制器可分为
- 硬布线控制器:采用时序逻辑技术实现
- 微程序控制器:采用存储逻辑实现
- 前两种方式的结合
时序产生器
对各种操作实施时间的控制
指令周期
指令周期
是CPU从内存中取出一条指令,并执行的时间总和
CPU周期
又称机器周期,一般为从内存读取一条指令字的最短时间
一个CPU周期可以完成CPU的一个基本操作
时钟周期
也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位
一个完整的指令周期由若干机器周期构成
取指周期——间址周期——执行周期——中断周期
所有指令的第一个机器周期必为取指周期
一个基本的CPU周期包含4个时钟周期,对于某些CPU周期可以包含更多的时钟周期
不同指令的指令周期所包含的时钟周期个数不一定相同
教材上,间址周期和执行周期统称为执行周期
MOV R0,R1
MOV是一条RR型指令,它需要两个CPU周期
取指周期
-
从存储器中取出指令
-
程序计数器PC加1
-
译码或测试指令操作码,发出控制信号
执行周期
在控制信号的作用下,将R1中的数据经过ALU送入R0;
LAD R1,6
LAD指令是RS型指令,需要访存获取操作数
共包含三个CPU周期
-
取值周期
-
间址周期
从IR的地址码字段获取操作数地址(或者通过计算获得EA)
-
执行周期
访存获取操作数送入通用寄存器R1
LADR1,6指令周期中的控制信号
1.LAD取指周期
CPU动作与取MOV指令的取值周期中一样
2.LAD指令的执行周期
- (1)
该过程为寻址周期
IR读
AR锁存
- (2)
译码并启动
- (3)
ADD R1,R2
ADD指令的指令周期由两个CPU周期组成
-
取指周期(略)
-
执行周期
- 从寄存器R1、R2中取出数据,作为源操作数
- 将两数据送往ALU,并使ALU进行加运算
- 结果保存到R1中
STO R2,(R3)
STO指令是RS型指令,需要3个CPU周期
- 取指周期(略)
- 间址周期
- 根据R3中的地址寻址所要访问的存储单元
- 执行周期
- 将寄存器R2中的数据送入指定的存储单元;
JMP 100
JMP指令是一条无条件转移指令,用来改变程序的执行顺序
JMP指令的执行需要两个CPU周期
- 取指周期(略)
- 执行周期
- 使用JMP指令中的直接地址为PC赋值;
用方框图语言表示指令周期
方框
代表一个CPU周期;
方框中的内容表示数据通路的操作或某种控制操作
菱形
通常用来表示某种判别或测试
时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期
~(公操作符号)
表示一条指令已经执行完毕,转入公操作
所谓公操作就是一条指令执行完毕后,CPU所开始的一些操作,比如对外围设备请求的处理等
时序发生器
时序信号的作用:使计算机准确、迅速、有条不紊地工作(CPU的时间表)
CPU通过时序控制来识别指令和数据
指令周期的第一个CPU周期——取指周期 从存储单元中取出的一定是指令,需要送往IR指令寄存器
指令周期的其他CPU周期——执行周期 从存储单元中取出的一定是数据,需要送往运算器
时序信号的体制
电位—脉冲制
脉冲到达之前,电平信号必须要稳定
硬布线控制器的时序信号
常采用主状态周期-节拍电位-节拍脉冲三级体制
微程序控制器的时序信号
一般采用节拍电位-节拍脉冲二级体制
环形脉冲与节拍脉冲共同作用产生各控制信号的时序
控制器的控制方式
- 同步控制方式
在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变
- 异步控制方式
每条指令、每个操作控制信号需要多少时间就占用多少时间
- 联合控制方式
①大部分操作序列为固定的机器周期,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束
②机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定
微程序控制器
微指令
微地址
微指令周期
取微指令的时间+执行微指令的时间