第5章中央处理器 内容提要 CPU是计算机硬件组成的核心部分。本章将详细介绍CPU的功能及基本组成,指令周 期,时序发生器,组合逻辑控制器,微程序控制器及其设计技术,典型CPU的结构,并行 处理技术等。 51CPU的基本功能和组成 中央处理器CPU( Central Processing Unit):计算机中用于解释和执行指令的部件,通 常包括控制器(CU)和运算器(ALU) 5.1.1CPU的基本功能 1、指令控制—一程序的顺序控制 主要由程序计数器PC及控制类指令的执行等来实现指令的控制 2、操作控制 由执行指令的一系列微操作信号进行控制。 3、时间控制——一对各种操作实施时间上的控制 主要由时序信号发生器等实现时间的控制 4、数据加工——对数据实现算术、逻辑运算等的处理。 5.1.2CPU的基本组成 线 AR ADD 微操作信号 发生器 RS MOV. 内存储器十 控制器 运算器 1.运算器 图5.1典型计算机主机框图 计算机中用于实现数据加工处理、寄存等功能的部件。 (1)多功能算术逻辑运算部件ALU 实现多种算术/逻辑运算 (2)通用寄存器组GRS
第 5 章 中央处理器 内容提要: CPU 是计算机硬件组成的核心部分。本章将详细介绍 CPU 的功能及基本组成,指令周 期,时序发生器,组合逻辑控制器,微程序控制器及其设计技术,典型 CPU 的结构,并行 处理技术等。 5.1 CPU 的基本功能和组成 中央处理器 CPU(Central Processing Unit):计算机中用于解释和执行指令的部件,通 常包括控制器(CU)和运算器(ALU)。 5.1.1 CPU 的基本功能 1、指令控制——程序的顺序控制 主要由程序计数器 PC 及控制类指令的执行等来实现指令的控制。 2、操作控制 由执行指令的一系列微操作信号进行控制。 3、时间控制——对各种操作实施时间上的控制 主要由时序信号发生器等实现时间的控制。 4、数据加工——对数据实现算术、逻辑运算等的处理。 5.1.2 CPU 的基本组成 1. 运算器 计算机中用于实现数据加工处理、寄存等功能的部件。 PC AR MB DR 时序 中断机构 微操作信号 发生器 指令译码 OP A P S W … ADD JMP … R0 …… Rn-2 Rn-1 移位器 LA LB GRS B ALU A IR 总线 图 5.1 典型计算机主机框图 +1 MOV 内存储器 控制器 运算器 (1) 多功能算术逻辑运算部件 ALU 实现多种算术/逻辑运算。 (2) 通用寄存器组 GRS
多通用寄存器是现代计算机系统结构的特点之 其优点主要是提高机器运算速度 (3)程序状态字寄存器PSW 记录ALU执行操作后的状态标志(如S、O、C、Z等), 作为条件转移指令的条件使用 (4)锁存器LA和LB 锁存来自GRS、PC或IR的偏移量等部件的数据 以便在ALU进行加工。 (5)移位器 SHIFTER 用于实现移位指令的功能。 (6)总线BUS 2.控制器 指挥计算机各部件按指令要求进行操作的部件 (1)控制器的主要功能 ①控制取出指令、解释指令和执行指令(提供下一条指令地址) ②中断控制——对异常情况和外部请求的处理 ③信息传送线的控制 存储器与控制器之间的信息流动——指令流: 存储器与运算器之间的信息流动——数据流。 (2)控制器的基本组成 ①指令部件 指令寄存器IR——寄存现行指令码 程序计数器PC—指出要执行的指令在内存的地址 指令译码器ID——解释指令、产生相应的控制信号 ②时序部件 a.脉冲源及启停线路 b.信号的产生及控制部件——周期节拍发生部件 ③微操作信号发生器 产生微操作控制信号,控制各个部件的操作。 ④访问内存的有关部件 地址寄存器AR和缓冲寄存器DR a.AR——寄存访问内存的地址码 b.DR—缓冲、暂存CPU、MEM和外设之间交换的数据。 C.状态条件寄存器PSR 由反映CPU工作状态、条件标志的若干位触发器组成,如 进位 负等 ⑤中断机构 ⑥控制台 (3)操作控制器的类型(控制器的组成方式)
多通用寄存器是现代计算机系统结构的特点之一。 其优点主要是提高机器运算速度。 (3) 程序状态字寄存器 PSW 记录 ALU 执行操作后的状态标志(如 S、O、C、Z 等), 作为条件转移指令的条件使用。 (4) 锁存器 LA 和 LB 锁存来自 GRS、PC 或 IR 的偏移量等部件的数据, 以便在 ALU 进行加工。 (5) 移位器 SHIFTER 用于实现移位指令的功能。 (6) 总线 BUS 2. 控制器 指挥计算机各部件按指令要求进行操作的部件 (1) 控制器的主要功能 ①控制取出指令、解释指令和执行指令(提供下一条指令地址) ②中断控制——对异常情况和外部请求的处理 ③信息传送线的控制 存储器与控制器之间的信息流动——指令流; 存储器与运算器之间的信息流动——数据流。 (2) 控制器的基本组成 ① 指令部件 指令寄存器 IR——寄存现行指令码 程序计数器 PC——指出要执行的指令在内存的地址 指令译码器 ID——解释指令、产生相应的控制信号 ② 时序部件 a. 脉冲源及启停线路 b. 信号的产生及控制部件——周期节拍发生部件 ③ 微操作信号发生器 产生微操作控制信号,控制各个部件的操作。 ④ 访问内存的有关部件 地址寄存器 AR 和缓冲寄存器 DR a. AR——寄存访问内存的地址码。 b. DR——缓冲、暂存 CPU、MEM 和外设之间交换的数据。 C. 状态条件寄存器 PSR 由反映 CPU 工作状态、条件标志的若干位触发器组成,如: C——进位 ,V——溢出, Z——零, N——负等。 ⑤ 中断机构 ⑥ 控制台 (3) 操作控制器的类型(控制器的组成方式)
①组合逻辑(硬布线)控制器 ②微程序(存储逻辑型)控制器 3.指令流和数据流 (1)指令流 在取指令整个操作过程中涉及到的信息流 JMP 微操作信号 发生器 MOV. 中断机构 令译码 内存储器十 运算器 图5.1典型计算机主机框图 ①取出指令:PC→BUS→AR,READ:DR→BUS→IR ②完成(PC)+1:PC→ALU+1→BUS→PC。 (2)数据流 在数据通路中流动的信息 主要有三类: ①从内存读出数据,运算结果送回内存。 A→AR,READ,DR→BUS→ALU(加工处理)→内存 ②从寄存器读出数据,运算结果送回GRS或内存 R→ALU→BUS→GRS或内存 ③从内存读出的内容作为访内地址。 A→AR,READ,DR→BUS→AR。 4.微操作 由控制器发出的控制各部件的最基本操作,是最简单的不可再分的操作
① 组合逻辑(硬布线)控制器 ② 微程序(存储逻辑型)控制器 3. 指令流和数据流 (1) 指令流 在取指令整个操作过程中涉及到的信息流动。 PC AR MB DR 时序 中断机构 微操作信号 发生器 指令译码 OP A P S W … ADD JMP … R0 …… Rn-2 Rn-1 移位器 LA LB GRS B ALU A IR 总线 图 5.1 典型计算机主机框图 +1 MOV 内存储器 控制器 运算器 ①取出指令:PC→BUS→AR,READ;DR→BUS→IR。 ②完成(PC)+1:PC→ALU+1→BUS→PC。 (2) 数据流 在数据通路中流动的信息。 主要有三类: ①从内存读出数据,运算结果送回内存。 A→AR,READ,DR→BUS→ALU(加工处理)→内存 ②从寄存器读出数据,运算结果送回 GRS 或内存。 Ri→ALU→BUS→GRS或内存。 ③从内存读出的内容作为访内地址。 A→AR,READ,DR→BUS→AR。 4. 微操作 由控制器发出的控制各部件的最基本操作,是最简单的不可再分的操作
LEFT→BUS BUS→AR SHIFT PC→BUS PC→LA SBR G SBR→ LA SBR→LB DR→BUS BUS→DR GRS 16 Us→GRS 地址译码器 BUS→IR P|MR、MR ALU→BUS 微操作信号发生器 (指令执行逻辑) RESET 内存储器 中央处理器 图5.2标有控制门和微操作的典型主机结构 例如 ①高电平有效 ②有效期间,(PC)流向总线。 可见:①同时出现的微操作沟通了信息流 PC→BUS、BUS→AR;使(PC)经总线流向AR。 ②总线传送信息具有分时性 当PC→BUS有效时(高电平), DR→BUS和ALU→BUS应为无效(低电平) ③依时间先后出现的微操作信号,使计算机中的信息流不停地流动,从 而完成信息的加工处理
:PC→BUS ①高电平有效 PC)流向总线。 流。 总线流向 AR。 ), (低电平) 息流不停地流动,从 ALU PSW C0 G 图 5.2 标有控制门和微操作的典型主机结构 A B SHIFT 16 16 BUS→PC 16 BUS LEFT→BUS RIGHT→BUS PC G PC→LA G 16 PC→BUS 16 16 16 16 16 SBR BUS→SBR 16 R→LA SBR→LB 16 16 G R→SBR … 16 R→LB G SBR→LA 16 16 16 BUS→GRS 微操作信号发生器 (指令执行逻辑) OP MS RS MD RD … LA LB G GRS 16 G 16 ALU→BUS 地址译码器 1→C0 READ WAIT RESET Add Sub And Com Halt 时序 BUS→IR BUS→LB G AR MB DR G BUS→AR 16 16 16 G DR→BUS BUS→DR 16 内存储器 中央处理器 控制器运算器 例如 ②有效期间,( 可见:①同时出现的微操作沟通了信息 PC→BUS、BUS→AR;使(PC)经 ②总线传送信息具有分时性。 当 PC→BUS 有效时(高电平 DR→BUS 和 ALU→BUS 应为无效 ③依时间先后出现的微操作信号,使计算机中的信 而完成信息的加工处理
5.2指令周期和时序发生器 5.2.1指令周期 1.基本概念 (1)指令周期 取出并执行一条指令所需的时间,称为指令周期。 通常指令周期的长短与指令的复杂程度有关 (2)CPU周期(机器周期) 将指令周期划分为若干个相对独立的操作阶段,称为CPU周期(主状态 周期)。 例如:取指令周期(F),取(源、目的)操作数周期(SOF、DOF), 执行周期(EXE)等 (3)节拍电位 CPU周期包括若干个完成微操作的节拍电位 (4)节拍脉冲 与节拍电位相配合完成数据加工与传送。 例如某实际机器的三级时序 FETCH 说明: FETCH一取指周期 W,W1一节拍 mac一外设工作脉冲 工作脉冲 图5.3典型机器三级的时序体制 指令周期举例 (1)CLA指令的指令周期 CLA指令功能:将累加器AC清0。 取指令 取下条∵ 译码 1←-取指周期→ 图5.5CLA指令的指令周期
5.2 指令周期和时序发生器 周期 并执行一条指令所需的时间,称为指令周期。 期的长短与指令的复杂程度有关。 称为 CPU 周期(主状态 (EXE)等 完成微操作的节拍电位。 2. 指令周期举例 (1)CLA 指令的指令周期 CLA 指令功能:将累加器 AC 清 0。 5.2.1 指令周期 1. 基本概念 (1) 指令 取出 通常指令周 (2) CPU 周期(机器周期) 将指令周期划分为若干个相对独立的操作阶段, 周期)。 例如:取指令周期(IF),取(源、目的)操作数周期(SOF、DOF), 执行周期 (3) 节拍电位 CPU 周期包括若干个 (4) 节拍脉冲 与节拍电位相配合完成数据加工与传送。 例如 某实际机器的三级时序 图 5.3 典型机器三级的时序体制 W0 说明:FETCH-取指周期 W0,W1-节拍 m* -预置脉冲 mRC-外设工作脉冲 m-工作脉冲 FETCH mRC W1 m* m 取指令 PC+1 指令 译码 执行 指令 开始 取指周期 执行周期 取下条 指令 PC+1 图 5.5 CLA 指令的指令周期
①取指周期(公共操作) 以(PC)为指令地址从内存读出指令; A、(PC)+1→PC,为顺序取下一指令作好地址准备 B、对操作码进行译码或测试,以确定进行的操作。 I CPU 算术逻辑单元 取指令控制 ALU 操作控制器 累加器 时序产生器 程序计数器v pC[00020←+1 指令寄存器 LCLA 寄存器 1AR□000020 寄存器 DR CLA h指令或数据内容 DBUS 231 30000006 40存和数 图5.6取出CLA指令 ①√c清AC) ALU 操作控制器←时钟 时序产生器←状态 000000 指令 程序计数器 译码器 PC[00o021 指令寄存器 缓冲 寄存器 存储器 地圳指令或数据内容 ABUS DBU 30000006 40存和数 图5.7CLA指令执行阶段
①取指周期(公共操作) 以(PC)为指令地址从内存读出指令; A、 (PC)+1→PC,为顺序取下一指令作好地址准备; B、 对操作码进行译码或测试,以确定进行的操作。 ALU 算术逻辑单元 0 0 0 0 2 0 CLA CLA 指令 译码器 操作控制器 时序产生器 取指令控制 0 0 0 0 2 0 时钟 累加器 AC 指令寄存器 IR 状态 反馈 程序计数器 PC 地址 寄存器 AR 缓冲 寄存器 DR 存储器 地址 指令或数据内容 20 CLA 21 ADD 30 22 STA 40 23 NOP 24 … JMP 21 … 30 000 006 31 40 存和数 地址总线 ABUS 数据总线 DBUS CPU ① ② +1 ③ ④ ⑤ 图 5.6 取出 CLA 指令 (清c AC) ALU 0 0 0 0 0 0 0 0 0 0 2 1 CLA CLA 指令 译码器 操作控制器 时序产生器 执行指令控制 0 0 0 0 2 0 时钟 累加器 AC 指令寄存器 IR 状态 反馈 程序计数器 PC 地址 寄存器 缓冲 AR 寄存器 DR 存储器 地址 指令或数据内容 20 CLA 21 ADD 30 22 STA 40 23 NOP 24 … JMP 21 … 30 000 006 31 40 存和数 地址总线 ABUS 数据总线 DBUS ① CPU 图 5.7 CLA 指令执行阶段 ②
②执行指令周期(假定采用正逻辑数的74181ALU) 本指令完成清“0”累加器AC的操作: 方式控制S0SS2S=LLHH,M=H。则ALU输出为 (2)ADD指令的指令周期 ADd 3 AC)+(30)→AC ①取指周期(与上相同) ②取操作数周期 有效地址E=30,在指令寄存器IR中 IR中的有效地址30→AR A.启动内存读取操作数 B.操作数S=(E)=00006→DR 取指令 →(Pc+1 执后)中:取下条 译码 操作数 加操作 取指周期 取操作数周期一执行周期→ 图5.8ADD指令的指令周期 ③执行周期 A.(DR)→ALU,(AC)→ALU B.(ALU)→AC 执行指令控制 作控制器←时钟 时序产生器<状态 累加器000000 程序计数器 PC[00022 指令寄存器 L CLA 30 R 缓冲 AR[000030 寄存器 L指令或数据内容 DBUS 存和数 图5.9取操作数周期
②执 为 0。 +(30)→AC ,在指令寄存器 IR 中。 06→DR ALU,(AC)→ALU 行指令周期(假定采用正逻辑数的 74181ALU) 本指令完成清“0”累加器 AC 的操作: 方式控制S0S1S2S3=LLHH,M=H。则ALU输出 (2) ADD 指令的指令周期 ADD 30 ;(AC) ①取指周期(与上相同) ②取操作数周期 有效地址 E=30 IR 中的有效地址 30→AR A. 启动内存读取操作数 B. 操作数 S=(E)=0000 取指令 PC+1 指令 译码 取出 操作数 取下一条 指令 开始 取指周期 取操作数周期 图 5.8 ADD 指令的指令周期 执行 加操作 执行周期 ③执行周期 A. (DR)→ B. (ALU)→AC ALU 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 6 CLA 30 指令 译码器 操作控制器 时序产生器 执行指令控制 0 0 0 0 3 0 时钟 累加器 指令寄存器 IR 状态 反馈 程序计数器 PC 地址 寄存器 AR 缓冲 寄存器 DR 存储器 地址 指令或数据内容 20 CLA 21 ADD 30 22 STA 40 23 NOP 24 … JMP 21 … 30 000 006 31 40 存和数 地址总线 ABUS 数据总线 DBUS ① CPU 图 5.9 取操作数周期 ② ③
执行指令控制 ALU 累加器 飞 操作控制 ←状态 AC000006 程序计数器 PC[00022 指令寄存器 LADD 30 IR 缓冲 AR□000030 寄存器 DR000006 存储器 地圳[指令或数据内容 数据总线 ABUS DBUS 24JMP2 图5.10取操作数并执行加法操作 5.2.2时序发生器 1.时序信号的作用和体制 (1)作用:为计算机各部分的协调工作提供时序标志。 (2)体制 电位-脉冲制 取指周期 2.时序信号发生器 (1)三级时序系统的组成启动 执行周期 节拍周 期信号 发生器 节拍脉 品 信号 图5.11三级时序系统组成框图
ALU 0 0 0 0 0 6 0 0 0 0 2 2 0 0 0 0 0 6 ADD 30 指令 译码器 操作控制器 时序产生器 执行指令控制 0 0 0 0 3 0 时钟 累加器 AC 指令寄存器 IR 状态 反馈 程序计数器 PC 地址 寄存器 AR 缓冲 寄存器 DR 存储器 地址 指令或数据内容 20 CLA 21 ADD 30 22 STA 40 23 NOP 24 … JMP 21 … 30 000 006 31 40 存和数 地址总线 ABUS 数据总线 DBUS CPU 图 5.10 取操作数并执行加法操作 ①A ①B ② 5.2.2 时序 作用和体制 分的协调工作提供时序标志。 (2)体制 脉冲制 2. 时序信号发生器 的组成 发生器 1. 时序信号的 (1)作用:为计算机各部 Q Q CP D 电位- CPU 周 期信号 发生器 图 5.11 三级时序系统组成框图 取指周期 晶 振 S 启动 取数周期 执行周期 节拍周 期信号 发生器 T1 T2 Tn 节拍脉 … 冲信号 发生器 P1 P2 Pn R Q 停止 … (1)三级时序系统
①CPU周期信号发生器:产生CPU周期信号 *通常,机器运行期间,任一个时刻仅处于一个CPU周期状态。 ②节拍周期信号发生器:产生节拍电位T1-T4 *在定长CPU周期中,每个CPU周期含有相同的节拍电位数。 CPU周期取指) CPU周期取指) U周期取指) 节拍脉冲P1 节拍脉冲P3 节拍电位T 节拍脉冲P 频 clock 「L「「「LL「L 图5.12组合逻辑控制器的时序关系 特点:时间利用率高,控制较复杂。 ③节拍脉冲信号发生器:产生节拍脉冲信号P1一P4 图中,每个节拍电位包含一个脉冲 *节拍电位和节拍脉冲时间关系固定 (1)时钟脉冲源 为时序产生器提供频率稳定且电平匹配的方波始终脉冲信号。 组成:由石英晶体振荡器和与非门等组成 (2)节拍电位发生器 有循环移位寄存器和译码器组成。 图5.13环形脉冲发生器与译码逻辑
①CPU 周期信号发生器:产生 CPU 周期信号。 CPU 周期状态。 *在定长 CPU 周期中,每个 CPU 周期含有相同的节拍电位数。 特点: —P 提供频率稳定且电平匹配的方波始终脉冲信号。 和译码器组成。 CPU 周 *通常,机器运行期间,任一个时刻仅处于一个 ②节拍周期信号发生器:产生节拍电位 T1—T 4 。 时间利用率高,控制较复杂。 ③节拍脉冲信号发生器:产生节拍脉冲信号 P1 4 图中,每个节拍电位包含一个脉冲。 *节拍电位和节拍脉冲时间关系固定。 (1)时钟脉冲源 为时序产生器 组成:由石英晶体振荡器和与非门等组成。 (2)节拍电位发生器 有循环移位寄存器 期(取指) 图 5.12 组合逻辑控制器的时序关系 CPU 周期(取指) CPU 周期(取指) 节拍电位T1 节拍脉冲P1 节拍电位T2 节拍脉冲P2 节拍电位T3 节拍脉冲P3 节拍电位T4 节拍脉冲P4 主频 clock ο T4 Q Q D C1 Q Q D C2 Q Q D C3 ο T1 ο T2 ο T3 Q Q D C4 2 3 +5V CLR 脉冲时钟器 S Φ Φ R 图 5.13 环形脉冲发生器与译码逻辑
时钟源频率50MHz,周期T=20ns,脉冲宽度为10ns 「「「 一图5.14-4cPU周期 图5.14CPU周期与节拍电位的关系图 ①循环移位寄存器工作过程 A、总清信号CLR使C4置1,打开与非门3 B、l上升边经与非门3反相将C1-C3清“0” C、Φl上升边使C4打入0,关闭与非门3。 D、Φ2的下降边即Φ2的上升边使C1-C3打入100。 E、同理Φ3-4使C1-C3打入110和11l F、当C3=1时,Φ4使C4=1,5又使C1-C3清0。 G、在Φ6时又重复Φ2开始的过程。 ②产生四个等宽度的节拍电位T一T 译码逻辑: =O 机器运行时,由T0一74产生T一T4。 ③节拍脉冲P一P4的产生。 P2=72 B3=73·Φ,P4=74
时钟源频率 50MHz,周期 T=20ns,脉冲宽度为 10ns。 ①循环移位寄存器工作过程: A、 总清信号 1 23 4 5 6 7 8 9 10 Φ Φ C4 C1 C2 C3 T4 T3 T2 T1 图 5.14 CPU 周期 图 5.14 CPU 周期与节拍电位的关系图 CLR 使 C 置 1,打开与非门 3。 B、 Φ1 上升边经与非门 3 反相将 C —C 清“0”。 C、 4 1 3 Φ1上升边使 C 打入 0,关闭与非门 3。 D、 4 Φ2的下降边即 Φ2 的上升边使 C —C 打入 100。 E、 同理 Φ3—Φ4 使 C —C 打入 110 和 111。 F、 当 C =1 时, 1 3 1 3 3 Φ4使 C =1,Φ5 又使 C —C 清 0。 Φ ②产生四个等宽度的节拍电位 — = C 4 1 3 G、 在 Φ6 时又重复 2 开始的过程。 0 T 0 1 T4 译码逻辑: 0 T1 1 .C2 , = C 0 T2 2 .C3 = C 0 T3 3 , 0 T4 =C1 机器运行时,由 — 产生 — 。 ③节拍脉冲 — 的产生。 0 T1 0 T4 T1 T4 P1 P4 , P3 =T3 •Φ , P4 =T4 P1 =T1 •Φ , P2 =T2 •Φ •Φ