第3章 CPU子系统
第三章 CPU子系统 重点 3.1 概 述 3.2 算术、逻辑运算部件 3.3 指令系统 3.4 CPU模型 3.5 组合逻辑控制方式 SCS-SWPU 第三章 CPU子系统 3.1 概 述 3.2 算术、逻辑运算部件 3.3 指令系统 重点 3.4 CPU模型 3.5 组合逻辑控制方式 难点 3.6 微程序控制方式 计算机组成原理
3.2 算术、逻辑运算部件 用硬件实现算术、逻辑运算功能 运算结果 如何构成一位二进制加法单元? 输出逻辑 如何实现n位二进制并行加法的 SCS-SWPU 3.2 算术、逻辑运算部件 用硬件实现算术、逻辑运算功能 如何构成一位二进制加法单元? 如何实现n位二进制并行加法的 硬件组成,即:ALU的设计? 如何通过输入逻辑的扩展,实 现多种算术、逻辑运算, 即:ALU功能的扩展 输出逻辑 输入逻辑 操作数 ALU 运算结果 … 解决方法: 在加法器的基础上,增加移位传送功能,并选择输入控制条件。 计算机组成原理
3.2 算术逻辑运算部件 了解 重点 重点 重点 4 运算器的组织 3 算术、逻辑运算部件 1 加法单元 2 加法器及进位逻辑
二进制加法过程分析 A = A15 A14 • • • Ai • • • A0 B = B15 B14 • • • Bi • • • B0 SCS-SWPU 计算机组成原理 二进制加法过程分析 A = A15 A14 • • • Ai • • • A0 B = B15 B14 • • • Bi • • • B0 Ci Ci-1 = 15 14 • • • i • • • 0 加法单元的输入:Ai Bi Ci-1 加法单元的输出:i Ci 如何构成一位二进制加法单元?
3.2.1 一位加法单元 一、一位全加器 加法单元i ∑ i= ( Ai⊕Bi )⊕Ci-1 SCS-SWPU 3.2.1 一位加法单元 输入 输出 Ai Bi Ci-1 ∑ i Ci+1 1 一、一位全加器 本位进位 本位和 Ci ∑i 加法单元i 本位和:三个输入中1的个数为奇数,则本位和为1 进位:Ai和Bi同时为1,不管低位有无进位,必然向高位产生进位;若低位有进位,则Ai和Bi有一个为1也肯定产生进位 Ai Bi Ci-1 低位进位 本位操作数 两个输出端的逻辑表达式: ∑ i= ( Ai⊕Bi )⊕Ci-1 Ci=Ai Bi+( Ai ⊕ Bi )Ci-1 计算机组成原理
3.2.1 加法单元 一、一位全加器 ∑ ∑i = (Ai + Bi) + Ci-1 Ci = AiBi + (Ai + Bi)Ci-1 SCS-SWPU 3.2.1 加法单元 一、一位全加器 ∑i = (Ai + Bi) + Ci-1 Ci = AiBi + (Ai + Bi)Ci-1 1、采用原变量输入 Ci ∑i Ai Bi Ci-1 Ci ∑i ∑ Ai Bi C i-1 计算机组成原理
二进制加法过程分析 A = A15 A14 • • • Ai • • • A0 B = B15 B14 • • • Bi • • • B0 SCS-SWPU 计算机组成原理 二进制加法过程分析 如何实现多位二进制同时相加?? A = A15 A14 • • • Ai • • • A0 B = B15 B14 • • • Bi • • • B0 Ci Ci-1 = 15 14 • • • i • • • 0 多个一位全加器连起来,形成多位全加器 串行进位的并行加法电路 并行进位的并行加法电路
3.2 算术逻辑运算部件 了解 重点 重点 重点 4 运算器的组织 1 加法单元 2 加法器及进位逻辑 3 算术、逻辑运算部件
3.2.2 并行进位的并行加法器 Ci = Gi + Pi Ci-1 1. 进位信号的基本逻辑 SCS-SWPU 3.2.2 并行进位的并行加法器 1. 进位信号的基本逻辑 Ci = AiBi + (Ai + Bi)Ci-1 或 Ci = AiBi + (Ai + Bi)Ci-1 Ci ∑i ∑ Ai Bi C i-1 Ci = Gi + Pi Ci-1 进位产生函数:绝对进位,不受进位传递影响的分量 进位传递函数:条件进位,受低位传递进位的影响 进位产生函数 或 绝对进位 进位传递函数 或 条件进位 计算机组成原理
并行加法器的逻辑结构包含全加器单元和进位链两部分 SCS-SWPU 3.2.2 串行进位的并行加法器 (1)特点:采用多个全加器实现多位数同时相加 例: 8位数相加: 并行加法器的逻辑结构包含全加器单元和进位链两部分 进位链 1 1 1 1 1 ∑8 ∑7 ∑2 ∑1 C0 采用并行进位链 A8 B8 A7 B7 A2 B2 A1 B1 并行加法器:多位全加器一步实现多位数同时相加 但由于低位运算所产生的进位会影响高位的运算结果,而进位传递所经过的门电路级数通常超过每位全加器的门电路级数,所以进位传递的时间通常大于全加器的运算时间,因此,加法器的运算速度主要取决于进位传递速度 因此,并行加法器的逻辑结构包含全加器单元和进位链两部分 1 1 1 1 0 0 0 1 (2)影响速度的主要因素 进位信号的传递时间 C1 = G1 + P1C0 C2 = G2 + P2C1 Cn = Gn + PnCn-1 计算机组成原理
特点:各位进位信号同时形成 3.2.2 并行加法器与进位逻辑结构 2. 并行进位 n + 1 项 SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 Ci = AiBi + (Ai + Bi)Ci-1 2. 并行进位 特点:各位进位信号同时形成 设n位加法器,并行进位的逻辑式如下: 纯粹的并行进位是否存在缺点 C1 = G1 + P1C0 C2 = G2 + P2C1 = G2 + P2G1 + P2P1C0 C3 = G3 + P3C2 = G3+P3G2+P3P2G1+P3P2P1C0 Cn = Gn + PnCn-1= Gn + PnGn-1 + …+ PnPn-1…P2P1C0 采用分组进位 n + 1 项 当并行加法器的每个输入(Ai、Bi、C0)稳定后: 各位的Gi和Pi同时产生 各位的Ci也同时产生 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 设16位加法器,4位一组,分为4组: 4位 4位 4位 4位 3. 分组进位(组内并行、组间并行) SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 3. 分组进位(组内并行、组间并行) 设16位加法器,4位一组,分为4组: CⅢ CⅡ CI C16 ~ C13 C12 ~ C9 C8 ~ C5 C4 ~ C1 C0 4位 4位 4位 4位 CⅣ 第4组 第3组 第2组 第1组 特点: 分级同时进位 组间进位: C4C8C12C16用CI CⅡ CⅢ CⅣ表示 组内进位: C1~C3、C5~C7、C9~C11、C13~C15 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 4位 C0 第4组 第3组 第2组 第1组 第1组组内: 所以 CI = GI + PIC0 SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 4位 第4组 第3组 第2组 第1组 C16 ~ C13 C12 ~ C9 C8 ~ C5 C4 ~ C1 C0 CI CⅡ CⅢ CⅣ 第1组组内: C1 = G1 + P1C0 C2 = G2 + P2G1 + P2P1C0 C3 = G3 + P3G2 + P3P2G1 + P3P2P1C0 同时又作为第1组组间: C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0 所以 CI = GI + PIC0 第1组的进位产生函数 GI PI 第1组的进位传递函数 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 4位 C0 第4组 第3组 第2组 第1组 第2组组内: C5 = G5 + P5CI SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 4位 第4组 第3组 第2组 第1组 C16 ~ C13 C12 ~ C9 C8 ~ C5 C4 ~ C1 C0 CI CⅡ CⅢ CⅣ 第2组组内: C5 = G5 + P5CI C6 = G6 + P6G5 + P6P5CI C7 = G7 + P7G6 + P7P6G5 + P7P6P5CI 第2组组间: C8 = G8 + P8G7 + P8P7G6 + P8P7P6G5 + P8P7P6P5CI 所以 CⅡ = GⅡ + PⅡCI GⅡ PⅡ 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 4位 第4组 第3组 第2组 第1组 第3组组内: 所以 CⅢ = GⅢ + PⅢCⅡ SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 4位 第4组 第3组 第2组 第1组 C16 ~ C13 C12 ~ C9 C8 ~ C5 C4 ~ C1 CI CⅡ CⅢ CⅣ 第3组组内: C9 = G9 + P9CⅡ C10 = G10 + P10G9 + P10P9CⅡ C11 = G11 + P11G10 + P11P10G9 + P11P10P9CⅡ 第3组组间: C12 = G12 + P12G11 + P12P11G10 + P12P11P10G9 + P12P11P10P9CⅡ 所以 CⅢ = GⅢ + PⅢCⅡ PⅢ GⅢ 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 4位 C0 第4组 第3组 第2组 第1组 第4组组内: C13 = G13 + P13CⅢ SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 4位 第4组 第3组 第2组 第1组 C16 ~ C13 C12 ~ C9 C8 ~ C5 C4 ~ C1 C0 CI CⅡ CⅢ CⅣ 第4组组内: C13 = G13 + P13CⅢ C14 = G14 + P14G13 + P14P13CⅢ C15 = G15 + P15G14 + P15P14G13 + P15P14P13CⅢ 第2组组间: C16 = G16 + P16G15 + P16P15G14 + P16P15P14G13 + P16P15P14P13CⅢ 所以 CⅣ = GⅣ + PⅣCⅢ GⅣ PⅣ 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 4位 C0 第4组 第3组 第2组 第1组 CI CⅢ CⅡ SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 4位 第4组 第3组 第2组 第1组 C16 ~ C13 C12 ~ C9 C8 ~ C5 C4 ~ C1 C0 CI CⅡ CⅢ CⅣ 能否让组间也构成并行进位链? CI = GI + PIC0 CⅡ = GⅡ + PⅡCI CⅢ = GⅢ + PⅢ CⅡ CⅣ = GⅣ + PⅣCⅢ 相似的设计思想 构成组内并行,组间串行加法器 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 各组间并行进位逻辑 CI = GI + PIC0 CⅡ = GⅡ + PⅡCI SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 各组间并行进位逻辑 CI = GI + PIC0 CⅡ = GⅡ + PⅡCI CⅢ = GⅢ + PⅢ CⅡ CⅣ = GⅣ + PⅣCⅢ = GⅡ + PⅡGI + PⅡPIC0 = GⅢ + PⅢ GⅡ + PⅢ PⅡGI + PⅢ PⅡPIC0 由于各组间进位信号能同时产生,并且做为初始进位位送往各组的进位输入端, 各小组就能同时产生求和值与组内进位 组内、组间两级并行进位链的逻辑形态完全相同的,只是输入引脚的值不一样,所以,常吧组内并行进位链与4位全加器集成在一块芯片中,而将组间并行进位链单独集成 = GⅣ + PⅣ GⅢ + PⅣPⅢ GⅡ + PⅣ PⅢ PⅡGI + PⅣPⅢ PⅡPIC0 计算机组成原理
3.2.2 并行加法器与进位逻辑结构 CⅢ CⅡ CI 组 间 进 位 链 ∑4 1 ~ ∑8 5 ∑12 9 ∑16 13 进位传递过程 SCS-SWPU 3.2.2 并行加法器与进位逻辑结构 CⅣ Co 组 间 进 位 链 ∑4 1 ~ ∑8 5 ∑12 9 ∑16 13 A16-13 B16-13 A12-9 B12-9 A8-5 B8-5 A4-1 B4-1 CⅢ CⅡ CI GⅣ PⅣ GⅢ PⅢ GⅡ PⅡ GI PI C15 ~ 13 C11 ~ 9 C7 ~ 5 C3 ~ 1 进位传递过程 Ai、Bi、C0 C3 ~ 1 GⅣ、PⅣ….GI、PI、 C15 ~ 13、C11 ~ 9、C7 ~ 5 CⅣ、CⅢ、CⅡ、CI 计算机组成原理
3.2 算术逻辑运算部件 了解 重点 重点 重点 4 运算器的组织 1 加法单元 2 并行加法器及进位逻辑结构 3 多功能算术、逻辑运算部件
ALU 3.2.3 多功能算术、逻辑运算部件ALU 例如:SN74181 4位ALU 并行进位链 全加器 若干位 输入选择逻辑 SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 并行进位链 全加器 ALU 若干位 输入选择逻辑 例如:SN74181 4位ALU 计算机组成原理
3.2.3 多功能算术、逻辑运算部件ALU 1. ALU的组成 ALU (以SN74181为例) 加法器 输入组合 选择器 操作数 选择器 SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU (以SN74181为例) 1. ALU的组成 操作数 加法器 选择器 控制信号 输入组合 ALU 运算功能选择 操作数 选择器 数据来源选择 计算机组成原理
3.2.3 多功能算术、逻辑运算部件ALU 1. ALU的组成 (1)SN74181的一位逻辑 1位加法器: 求和∑i、进位Ci SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 1. ALU的组成 (1)SN74181的一位逻辑 1位加法器: 求和∑i、进位Ci 1位输入选择器: 操作数Ai 、Bi, 控制信号S3、S2、S1、S0 1个公共控制门: M=0算术运算,M=1逻辑运算 计算机组成原理
3.2.3 多功能算术、逻辑运算部件ALU xi ∑ i Ci Yi 图3-20 一位ALU单元 M Ci-1 SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU ∑ i 图3-20 一位ALU单元 Ci Ci-1 Ci-1 M M M Ci-1 Xi Yi xi Yi Xi Yi S3s2s1s0 = 1001 和 0110 为例 Bi Bi Ai Bi S1 Bi S0 Ai S3 Ai S2 M Ci-1 S3 S2 Bi S1 S0 Ai 计算机组成原理
3.2.3 多功能算术逻辑运算部件ALU 分析说明 ∑ i= ( Ai⊕Bi )⊕Ci-1 ∑ i=(Xi⊕Yi)⊕ Ci-1 SCS-SWPU 计算机组成原理 3.2.3 多功能算术逻辑运算部件ALU 分析说明 输入的Ai、Bi经过控制信号S3、S2、S1、S0选择,可实现多种功能 加法器的实际输入是经过选择器处理后的Xi,Yi Xi包含:Ai+Bi 相当于:Pi Yi包含:Ai·Bi 相当于:Gi ∑ i= ( Ai⊕Bi )⊕Ci-1 Ci=Ai Bi+( Ai +Bi )Ci-1 ∑ i=(Xi⊕Yi)⊕ Ci-1 Ci=Yi+Xi ·Ci-1
3.2.3 多功能算术、逻辑运算部件ALU ∑ i=(Xi⊕Yi)⊕ Ci-1 Ci=Yi+Xi ·Ci-1 2009 SCS-SWPU 计算机组成原理 3.2.3 多功能算术、逻辑运算部件ALU 表1 功能控制信号与选择器输出的对应关系 S3 S2 Xi S1 S0 Yi 1 Ai Ai+Bi AiBi ∑ i=(Xi⊕Yi)⊕ Ci-1 Ci=Yi+Xi ·Ci-1
3.2.3 多功能算术、逻辑运算部件ALU 1. ALU的组成 —— 多位逻辑 (2)SN74181的四位逻辑 SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 1. ALU的组成 —— 多位逻辑 (2)SN74181的四位逻辑 1)SN74181内部结构 :P99图3-21 4位全加器 4位并行进位链 4位选择器 1个控制门M 计算机组成原理
SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 计算机组成原理
3.2.3 多功能算术、逻辑运算部件ALU 1. ALU的组成 —— 多位逻辑 (2)SN74181的四位逻辑 2)SN74181外特性 SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 1. ALU的组成 —— 多位逻辑 (2)SN74181的四位逻辑 2)SN74181外特性 数据输入端: A3 ~ A0、 B3 ~ B0 结果输出: F0 ~ F3 功能选择控制:M S0 S1 S2 S3 最低位进位输入: Cn 最高位进位输出: Cn+4构成组间串行进位使用 小组进位的辅助函数:G、P构成组间并行进位 也可以输入原变量,则输出为 原变量,只是进位为反逻辑 计算机组成原理
SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 2. ALU的运算功能 计算机组成原理
3.2.3 多功能算术、逻辑运算部件ALU 3. ALU进位逻辑 (1)组间串行 Cn 74181 Cn Cn Cn Cn+4 Cn+4 SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 3. ALU进位逻辑 (1)组间串行 Cn+4 Cn+4 Cn+4 Cn+4 Cn 74181 Cn Cn Cn 计算机组成原理
3.2.3 多功能算术、逻辑运算部件ALU 3. ALU进位逻辑 (2)组间并行 P G 74182并行进位链 GⅣ PⅣ CIII GⅢ SCS-SWPU 3.2.3 多功能算术、逻辑运算部件ALU 3. ALU进位逻辑 (2)组间并行 P G 74182并行进位链 GⅣ PⅣ CIII GⅢ PⅢ CII GⅡ PⅡ CI GⅠ PⅠ ∑ ∑ ∑ ∑4-1 17 15 17 15 17 15 17 15 8 8 8 8 74181 CIII 74181 CII 74181 CI 74181 C0 A16-13 B16-13 A12-9 B12-9 A8-5 B8-5 A4-1 B4-1 计算机组成原理
3.2 算术逻辑运算部件 了解 重点 重点 重点 4 运算器的组织 1 加法单元 2 并行加法器及进位逻辑结构 3 多功能算术、逻辑运算部件
总 结——运算器的设计 运算结果 输出逻辑 选择器 ALU 进位链 全加器 功能选择器 功能选择器 加法器 控制信号 s3~S0,M 操作数 SCS-SWPU 总 结——运算器的设计 输出逻辑 运算结果 ALU 加法器 进位链 全加器 功能选择器 功能选择器 控制信号 s3~S0,M 操作数 操作数 选择器 计算机组成原理
SCS-SWPU 总 结——运算器的设计 全加器 进位链 加法器 运算部件的硬件组织 ALU 运算器 计算机组成原理
Thank You ! www.themegallery.com