第六章 中央处理部件 CPU
description
Transcript of 第六章 中央处理部件 CPU
![Page 2: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/2.jpg)
本章内容本章内容6.1 计算机的硬件系统6.2 控制器的组成6.3 微程序控制计算机的基本原理6.4 微程序设计技术6.5 硬布线控制的计算机6.6 控制器的控制方式6.7 流水线工作原理6.8 计算机的加电及控制过程
![Page 3: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/3.jpg)
第一节 计算机的硬件系统第一节 计算机的硬件系统 早期早期 CPUCPU 结构的特点结构的特点
分立元件分立元件 数据数据 // 地址线复用地址线复用
计算机信息处理的步骤计算机信息处理的步骤 加载:将加载:将 (( 部分部分 )) 程序和数据输入到主存中程序和数据输入到主存中 运行:从“程序入口”开始运行运行:从“程序入口”开始运行
计算机的初始状态计算机的初始状态 寄存器的初始状态寄存器的初始状态 程序计数器程序计数器 PCPC
![Page 4: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/4.jpg)
第一节 计算机的硬件系统第一节 计算机的硬件系统 计算机的工作过程计算机的工作过程 加电→复位信号→加电→复位信号→执行程序执行程序→停机→停电→停机→停电 自检、引导程序、启动自检、引导程序、启动 OSOS 、执行用户程序、执行用户程序 指令的执行过程指令的执行过程
取指令→分析指令→取指令→分析指令→执行指令执行指令取数→执行→写回取数→执行→写回
CPUCPU 的地位和作用 的地位和作用 指令控制、 操作控制、时序控制 、数据处理指令控制、 操作控制、时序控制 、数据处理
![Page 5: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/5.jpg)
80X86
![Page 6: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/6.jpg)
1993 年 第一款 Pentium
1995 年 首款专为服务器设计的 CPU ——Pentium Pro 1997 年 将多媒体技术摆上台面的 CPU ——Pentium II
1999 年 赛扬 / 奔 3/ 奔 3 至强齐聚首
2000 年 空前强大经久不衰的系列 CPU— Pentium 42001 年 里程碑似的 64 位时代到来—— Itanium 2003 年 移动、网络、节能的铁骑—— Pentium M
![Page 7: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/7.jpg)
CPUCPU 的主要技术参数的主要技术参数
1.1. 内部工作频率内部工作频率 又称为内频或主频,它是衡量又称为内频或主频,它是衡量 CPUCPU 速度的重速度的重要参数。要参数。
2.2. 外部工作频率外部工作频率 前端总线频率或系统总线时钟频率,它是由主前端总线频率或系统总线时钟频率,它是由主板为板为 CPUCPU 提供的基准时钟频率。提供的基准时钟频率。 CPUCPU 与主存交与主存交换数据的频率。换数据的频率。
内频内频 == 外频外频 ×× 倍频倍频
![Page 8: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/8.jpg)
3. 3. 片内片内 CacheCache 的容量和速率的容量和速率对提高计算机的速度起着关键的作用。片内对提高计算机的速度起着关键的作用。片内 CacheCache 的运的运
行速度与内频相同或接近,容量可达几十行速度与内频相同或接近,容量可达几十 KBKB ~几百~几百 KBKB 。。4.4. 工作电压工作电压5.5. 地址总线宽度地址总线宽度
决定决定了了 CPUCPU 可以可以访问的最大的物理地址空间访问的最大的物理地址空间 ..
6.6. 数据总线宽度数据总线宽度 决定了决定了 CPUCPU 与外部与外部 CacheCache 、主存以及、主存以及 I/0I/0 设备之间进行设备之间进行一次数据传输的信息量。一次数据传输的信息量。7.7. 制造工艺制造工艺 线宽是指芯片上的最基本组成单元—三极管基极的宽度线宽是指芯片上的最基本组成单元—三极管基极的宽度 线宽越小,意味着芯片上包括的晶体管数目越多。线宽越小,意味着芯片上包括的晶体管数目越多。
![Page 9: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/9.jpg)
![Page 10: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/10.jpg)
![Page 11: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/11.jpg)
![Page 12: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/12.jpg)
CPUCPU 的实现方式的实现方式
1.1. 使用通用使用通用 CPUCPU
1616 位位 ->32->32 位位 ->64->64 位位2.2. 自行设计自行设计 CPUCPU
技术下移(流水线、高速缓存、并行技术下移(流水线、高速缓存、并行技术、虚拟存储器)技术、虚拟存储器)
![Page 13: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/13.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线
![Page 14: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/14.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线
时钟发生器:
1 。上电时产生 reset 信号,整机复位
2 。确定 PC 指针( CPU 执行的第一条指令的地址)
3 。一般在上述位置放置一条转移指令
![Page 15: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/15.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线80387 :
1 。负责浮点运算和高精度整数运算
2 。与 386 并行工作
![Page 16: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/16.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线
总线控制逻辑:
386 通过总线与存储器、外设进行信息交换
![Page 17: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/17.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线
DMA 控制器:
直接存储器访问,完成外设和内存之间直接信息交换
![Page 18: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/18.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线
中断控制器:
完成中断请求、中断源识别等工作
![Page 19: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/19.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线
准备好逻辑:
提供握手信号,由主存提供给 cpu ,表示主存的操作已经完成。
![Page 20: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/20.jpg)
8038680386 微机系统微机系统时钟发
生器
80287或 387
8038682258DMA
控制器
总线控制逻辑
总线控制逻辑
准备好逻辑
8259A 中断控制器 存储器 输入输
出设备中断设备
reset 复位后 PC 指针为 0FFFFFFF0HCLK
CLK2
总线
目前上述所有部件都已集成到 CPU 或芯片组内部(北桥、南桥)
![Page 21: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/21.jpg)
![Page 22: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/22.jpg)
8038680386 的结构及外部连线的结构及外部连线
指令部件指令部件取指、译码、产生控制信号取指、译码、产生控制信号
执行部件执行部件ALUALU 、乘法部件、寄存器组、乘法部件、寄存器组
存储管理部件存储管理部件确定存储器地址确定存储器地址
![Page 23: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/23.jpg)
8038680386 的结构及外部连线的结构及外部连线
80386
地址总线 A2 - A31
BE3#
BE2#
BE1#
BE0#
W/R#
D/C#
M/IO#
LOCK#
PEREQ
BUSY#
ERROR#
Vcc
GND
CLK2
数据总线D0 - D31
ADS#
NA#
BS16#
READY#
HOLD
HLDA
INTR
NMI
RESET
总线控制
总线仲裁
中断
字节使能
总线周期定义
协处理器信号
电源地
![Page 24: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/24.jpg)
8038680386 的结构及外部连线的结构及外部连线
80386
地址总线 A2 - A31
BE3#
BE2#
BE1#
BE0#
W/R#
D/C#
M/IO#
LOCK#
PEREQ
BUSY#
ERROR#
Vcc
GND
CLK2
数据总线D0 - D31
ADS#
NA#
BS16#
READY#
HOLD
HLDA
INTR
NMI
RESET
总线控制
总线仲裁
中断
字节使能
总线周期定义
协处理器信号
电源地
BE0-BE3 : A0 、 A1在 386 内部译码,分别是字节 0 -字节 3 的选择信号
W/R# :读写D/C# :数据周期
取指周期M/IO# :访存、外设LOCK# :总线锁定信 号 , 低电平时不允
许 cpu让出总线控制权
![Page 25: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/25.jpg)
8038680386 的结构及外部连线的结构及外部连线
80386
地址总线 A2 - A31
BE3#
BE2#
BE1#
BE0#
W/R#
D/C#
M/IO#
LOCK#
PEREQ
BUSY#
ERROR#
Vcc
GND
CLK2
数据总线D0 - D31
ADS#
NA#
BS16#
READY#
HOLD
HLDA
INTR
NMI
RESET
总线控制
总线仲裁
中断
字节使能
总线周期定义
协处理器信号
电源地
ADS :地址状态信号NA# :存储器或 IO送到
cpu 的信号,表示本次读写虽未完成,但已经可以进行下一次写操作。
BS16 :当前使用 16位操作
HOLD :外设申请总线HLDA : CPU应答
其时 386 所有控制引脚均高阻
![Page 26: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/26.jpg)
8038680386 的结构及外部连线的结构及外部连线
80386
地址总线 A2 - A31
BE3#
BE2#
BE1#
BE0#
W/R#
D/C#
M/IO#
LOCK#
PEREQ
BUSY#
ERROR#
Vcc
GND
CLK2
数据总线D0 - D31
ADS#
NA#
BS16#
READY#
HOLD
HLDA
INTR
NMI
RESET
总线控制
总线仲裁
中断
字节使能
总线周期定义
协处理器信号
电源地
INTR :外中断NMI :不可屏蔽中断RESET :复位
PEREQ :协处理器请求,协处理器要求 cpu传送一个字
BUSY# :协处理器忙ERROR :协处理器
出错
![Page 27: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/27.jpg)
总结总结
上述信号由上述信号由 8038680386 的控制部件产生,从而的控制部件产生,从而完成完成 CPUCPU 的一系列动作。的一系列动作。
指令执行过程中有许多操作是在指令执行过程中有许多操作是在 CPUCPU 内部内部完成的,这些操作的控制信号同样也是控完成的,这些操作的控制信号同样也是控制部件提供的。制部件提供的。
控制器的功能:发出满足一定时序关系的控制器的功能:发出满足一定时序关系的控制信号,实现指令系统所规定的各条指控制信号,实现指令系统所规定的各条指令的功能,并保证计算机系统正常运行。令的功能,并保证计算机系统正常运行。
![Page 28: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/28.jpg)
第二节、控制器的组成第二节、控制器的组成CPUCPU :运算器、控制器:运算器、控制器 控制器 控制器 组成组成 : : 程序计数器(程序计数器( PCPC )、指令寄存器)、指令寄存器 (IR)(IR) 、指令、指令
译码译码 器器 (ID)(ID) 、、时序产生器和操作控制器时序产生器和操作控制器功能功能 : : 完成协调和指挥整个计算机系统的操作完成协调和指挥整个计算机系统的操作 取指取指 // 分析指令分析指令 // 控制数据控制数据 运算器运算器 组成组成 : : 算术逻辑单元算术逻辑单元 (ALU)(ALU) 、累加器、累加器(( ACAC ))、、 数据缓冲器数据缓冲器(( DRDR ))和状态条件寄存器和状态条件寄存器(( PSWPSW ))功能: 功能: 执行所有的算术运算执行所有的算术运算 // 逻辑运算逻辑运算
![Page 29: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/29.jpg)
1. 取指令当程序已在存储器中时,首先根据程序入口取出第一条当程序已在存储器中时,首先根据程序入口取出第一条指令,为此要发出指令地址及控制信号。然后不断取出指令。
2. 指令译码解释指令解释指令 // 分析指令。是对当前取得的指令进行分析,指出它分析指令。是对当前取得的指令进行分析,指出它要求作什么操作,并产生相应的操作控制命令,如果参与操要求作什么操作,并产生相应的操作控制命令,如果参与操作的数据在存储器中,还需要形成操作数地址。作的数据在存储器中,还需要形成操作数地址。
3. 执行指令根据分析指令时产生的“操作命令”和“操作数地址”形成根据分析指令时产生的“操作命令”和“操作数地址”形成相应的操作控制信号序列,通过相应的操作控制信号序列,通过 CPUCPU及及 I/OI/O 设备设备的执行,实的执行,实现每条指令的功能,及对运算结果的处理和下条指令地址的现每条指令的功能,及对运算结果的处理和下条指令地址的形成。形成。
1. 1. 控制器的功能控制器的功能
![Page 30: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/30.jpg)
4. 控制程序和数据的输入与结果输出 根据程序的安排或人的干预,在适当的时候向输入输出设根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成备发出一些相应的命令来完成 I/OI/O 功能,这实际上也是通过功能,这实际上也是通过执行程序来完成的。执行程序来完成的。
5. 对异常情况和某些请求的处理 机器可能出现异常情况,或某些部件和设备可能发出请求机器可能出现异常情况,或某些部件和设备可能发出请求信号信号 ; ;
中断请求:中断请求: CPUCPU 执行完本条指令后,转去执行中断程序,执行完本条指令后,转去执行中断程序,完毕后返回。完毕后返回。 DMADMA 请求:请求: CPUCPU释放总线给释放总线给 I/OI/O 设备设备 ,,当其传送数据操当其传送数据操作后,作后, CPUCPU 从暂时中止的机器周期开始继续执行指令。从暂时中止的机器周期开始继续执行指令。
![Page 31: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/31.jpg)
2. 2. 控制器的组成控制器的组成1. 1. 程序计数器程序计数器 (PC)(PC)
指令地址寄存器。存放当前正在执行的指令地址指令地址寄存器。存放当前正在执行的指令地址 // 要执行的下要执行的下一条指令地址;指令预取一条指令地址;指令预取 ,, 增加一个程序计数器增加一个程序计数器 ..
2. 2. 指令寄存器指令寄存器 (IR)(IR)
用以存放当前正在执行的指令。用以存放当前正在执行的指令。
3. 3. 指令译码器指令译码器 (ID)(ID)
操作码译码器,对指令寄存器中的操作码进行分析解释,产操作码译码器,对指令寄存器中的操作码进行分析解释,产生相应的控制信号生相应的控制信号。。
![Page 32: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/32.jpg)
4. 4. 脉冲源及启停线路脉冲源及启停线路 脉冲源产生时钟脉冲,机器周期和工作脉冲的基准信号; 脉冲源产生时钟脉冲,机器周期和工作脉冲的基准信号;
机器刚加电时,还应产生一个总清信号机器刚加电时,还应产生一个总清信号 (reset)(reset) 。。 启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的 启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的
发生或停止,从而启动机器工作或使之停机。发生或停止,从而启动机器工作或使之停机。
5. 5. 时序控制信号形成部件时序控制信号形成部件 当机器启动后,在当机器启动后,在 CLKCLK 时钟作用下,根据当前正在执行的时钟作用下,根据当前正在执行的
指令的需要,产生相应的时序控制信号,并根据被控功能指令的需要,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号部件的反馈信号调整时序控制信号。。
![Page 33: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/33.jpg)
图图 6.3 6.3 控制器基本组成的框图控制器基本组成的框图
图图 6.3 6.3 控制器基本组成框图 控制器基本组成框图
![Page 34: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/34.jpg)
3.3. 指令执行过程指令执行过程
( 1 ) . 组成控制器的基本电路具有记忆功能 触发器以及由它组成的寄存器、计数器和存储单元等。 特点 :当输入信号消失后,原信息仍保留其中。 没有记忆功能 门电路及由它组成的加法器、 ALU 和各种逻辑电路等。 特点 : 当输入信号改变后,输出跟着变化。
![Page 35: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/35.jpg)
( 2 ) 一条加法指令的执行过程 运算器组成 8个通用寄存器 GR, 算术逻辑运算部件 ALU ,标志触发器。 主要操作① 从存储器取指令,送入指令寄存器, 并进行操作码译码。② 计算数据地址,将有效地址送地址寄存器。③ 从存储器取数。④ 进行加法运算,结果送寄存器,并置状态位 .
指令执行过程举例
![Page 36: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/36.jpg)
OPOP rs, rdrs, rd rs1rs1 imm / dispimm / disp指令格式
指令功能 (rs)+( (rs1)+disp ) →rd
控制信号1 取指
译码PC →AB, W/R=0, M/IO=1; DB →IR; PC+1 →PC
2 计算数据地址
rs1 → GR, (rs1) → ALU , disp → ALU ; + ; ALU → AR
33 主存取数
AR → AB, W/R=0, M/IO=1;
DB →DR;
4 加法运算
rs → GR, (rs) → ALU , DR → ALU ;
+ ; rd→GR; ALU → rd; 置各标志位
![Page 37: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/37.jpg)
取指译码: PC →AB, W/R=0, M/IO=1; DB →IR; PC+1 →PC
![Page 38: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/38.jpg)
计算地址: rs1 → GR, (rs1) → ALU , disp → ALU ; + ; ALU → AR
![Page 39: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/39.jpg)
取数: AR → AB, W/R=0, M/IO=1; DB →DR;
![Page 40: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/40.jpg)
加法: rs → GR, (rs) → ALU , DR → ALU ;+ ; rd →GR;ALU → rd
![Page 41: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/41.jpg)
图6.7
加法指令时序图
取指译码
PC →AB, W/R=0, M/IO=1; DB →IR; PC+1 →PC
计算数据地址
rs1 → GR, (rs1) → ALU , disp → ALU ; + ; ALU → AR
主存取数
AR → AB, W/R=0,
M/IO=1; DB →DR;
加法运算
rs → GR, (rs) → ALU , DR → ALU ;
+ ; rd→GR; ALU → rd;置各标志位
![Page 42: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/42.jpg)
(3) 条件转移指令的执行过程 指令功能指令功能:: 根据根据 N/Z/V/CN/Z/V/C 的状态,决定是否转换。的状态,决定是否转换。 如转移条件成立,则转移到本条指令所指定的地址,如转移条件成立,则转移到本条指令所指定的地址, 否则顺序执行下一条指令。否则顺序执行下一条指令。 指令操作:指令操作:①① 从存储器取指令,送入指令寄存器,并进行操作码译码。从存储器取指令,送入指令寄存器,并进行操作码译码。
②② 如转移条件成立,根据指令规定的寻址方式计算有效地址,如转移条件成立,根据指令规定的寻址方式计算有效地址,常采用相对寻址方式,常采用相对寻址方式, EAEA== PC + disp.PC + disp.
• PC → ALU , disp → ALU ; + ; ALU → PC
![Page 43: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/43.jpg)
产生控制信号的方式产生控制信号的方式
控制器
微程序设计技术 实质是将程序设计技术和存储技术相结合 :
即用程序设计的思想方法来组织操作控制逻辑, 将微操作控制信号按一定规则进行信息编码 , 形成控制字
(微指令),再把这些微指令按时间先后排列起来构成微程序,
存放在一个只读的控制存储器中。
硬布线控制 硬布线控制 / / 组合逻辑控制组合逻辑控制器器 微程序控制微程序控制
![Page 44: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/44.jpg)
6.3 微程序控制计算机的基本工作原理
一 . 微程序设计的提出与发展• 19501950 年 年 M.V.Wilkes M.V.Wilkes 提出:提出:
一条机器指令可以分解为许多基本的微命令序列。。 并且首先把这种思想用于计算机控制器的设计。并且首先把这种思想用于计算机控制器的设计。• 19641964 年,在年,在 IBM360IBM360 系列机上采用了微程序设计技术,解系列机上采用了微程序设计技术,解
决了指令系统的兼容问题。决了指令系统的兼容问题。• 2020 世纪世纪 7070 年代年代 VLSIVLSI 技术的发展,推动了微程序设计技术技术的发展,推动了微程序设计技术
的发展和应用的发展和应用 ..
目前,大多数计算机都采用微程序设计技术。 目前,大多数计算机都采用微程序设计技术。
![Page 45: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/45.jpg)
二 . 微程序控制的基本概念微操作 一条指令是通过按照一定次序执行一系列基本操作完成的,这些基本操作称为微操作,又称为微命令。
微指令 在微程序控制计算机中,将由同时发出的控制信号所形成
的一组微操作称为微指令,微指令就是把同时发出的控制信号汇集起来组成的。一条指令是由若干条微指令构成的。
微程序 计算机的程序由指令序列组成,而计算机每条指令的功能均
由微指令序列解释完成,这些微指令序列的集合就是微程序。
![Page 46: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/46.jpg)
控制存储器1. 定义:存放微程序的存储器,内容包含
• 控制命令 ( 信号 ) • 下一条微指令地址 (简称为下址 )
2. 组成 : 只读存储器 ROM / PROM 。一般计算机指令系统是固定的,所以实现指令系统的微程序也是固定的,所以微程序可以用只读存储器来存放。
3. 机器内控制信号很多,决定下址的地址码也有一定宽度,所以控存的字长比机器字长要长的多。
4. 执行一条指令是执行一段存放在控制存储器中的微程序
![Page 47: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/47.jpg)
三 . 实现微程序控制的基本原理1. 控制信号 执行一条加法指令为例,需要四条微指令,每条微指令所需控制信号如下:
(1) 取指微指令① 指令地址送地址总线: PC→AB(1)② 发访存控制命令: ADS(21) , M/IO= 1(22) , W/R= 0(23) 。
从存储器取指令送数据总线。③ 指令送指令寄存器: DB→IR(5)④ 程序计数器 +1 : PC+1(3)(2) 计算地址微指令① 取两个源操作数 ( 计算地址用 ) : rs1→GR(8) , (rs1)→ALU(10) , disp→ALU(4) 。② 加法运算:“ +”(13) 。③ 有效地址送地址寄存器: ALU→AR(19) 。
![Page 48: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/48.jpg)
加法指令的控制信号(3) 取数微指令① 数据地址送地址总线: AR→AB(20) 。② 发访存控制命令: ADS(21) , M/ IO(22) , W/R(23) 。 由存储器将数据送数据总线 DB 。③ 数据送数据寄存器: DB→DR(6)
(4) 加法运算和送结果微指令① 两源操作数送 ALU : rs→GR(9) , (rs)→ALU(11); DR→ALU(12) 。② 加法运算:“ +”(13)
③ 送结果: ALU→GR(17)
![Page 49: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/49.jpg)
微指令的形成微指令的形成 微指令最简单的组成形式是将每个控制信号用微指令最简单的组成形式是将每个控制信号用
一个控制位来表示,当该位为一个控制位来表示,当该位为 11 时,表示有此时,表示有此控制信号,为控制信号,为 00 时表示没有这个控制信号。同时表示没有这个控制信号。同一条微指令的所有控制信号同时发出。一条微指令的所有控制信号同时发出。
M/IOM/IO 、、 W/RW/R 则是根据访存还是访问则是根据访存还是访问 I/OI/O ,是,是读还是写相应的设置为读还是写相应的设置为 11 或者或者 00 。。
每条微指令由两个字段组成每条微指令由两个字段组成控制字段:长度为所能产生的控制信号的总数。控制字段:长度为所能产生的控制信号的总数。下址字段:长度要能寻址全部控存空间下址字段:长度要能寻址全部控存空间
![Page 50: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/50.jpg)
图 6.9 加法指令的微指令编码
11 22 …… 2222 2323 2424 …… 3535
PC→AB W/R
控制字段 下地址字段
![Page 51: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/51.jpg)
11 22 …… 2222 2323 2424 …… 3535
PC→AB W/R
控制字段 下地址字段
• 实际微指令字的长度大于 100 位• 执行时,把当前需要执行的微指令从控存中取出,
放到微指令寄存器中,该寄存器的各个控制位直接连到各个控制门上。
• 微指令也可以用流程图来表示,图中每一个方框表示一条微指令,方框上方表示的是该微指令的地址,方框内为执行的操作,右下角为下址。
![Page 52: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/52.jpg)
取指微指令的操作对所有的指令都是相同的,所以是一条公用的微指令,其下址由操作码译码产生。
![Page 53: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/53.jpg)
2.微程序控制器当指令取到 IR 中后,对
操作码进行译码,得到相应指令的第一条微指令的地址,之后,都由微指令的下址字段负责指出下一条微指令的地址。
因此,操作码实质是只读的控存的输入地址,根据此地址从控存中取得微指令,把微指令送到微指令寄存器中,各位与受控门直接相连,于是提供了各种操作的控制信号。
![Page 54: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/54.jpg)
3. 时序信号及工作脉冲的形成4. 电路配合中的常见问题
5. 微程序控制计算机的工作过程简单总结。
计算机启动过程
置 PC ,并在微指令寄存器中设置取指微指令
停机和停电的不同:前者保持内存和寄存器内容不变
停电后自启动:大电容,保存断点和现场
![Page 55: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/55.jpg)
3.微程序方案的特点( 1 ) 微程序控制器结构整齐,便于设计和生产。 简化设计。( 2 ) 方便地修改和扩充机器指令系统 更换控存 ROM改善指令系统,满足不同用户的需要。( 3 ) 缩短研制周期 有利于实现计算机结构系列化和积木化的要求。( 4 ) 使用诊断微程序,方便检查排除故障。 提高机器的有效使用时间。
o 执行一条机器指令的时间较长o 对结构简单的小型计算机不经济。
![Page 56: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/56.jpg)
6.4 微程序设计技术 缩短 指令字长 减少 微程序长度 提高 执行速度一 .微指令的编译法 (编码译码方法 )1. 直接控制法• 操作控制字段中的各位分别可以直接控制计算机,操作控制字段中的各位分别可以直接控制计算机,
无须进行译码。每个微命令对应并控制数据通路中无须进行译码。每个微命令对应并控制数据通路中的一个微操作。的一个微操作。
• 特点:结构简单,并行性强,操作速度快,特点:结构简单,并行性强,操作速度快, 微指令字长。微指令字长。
![Page 57: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/57.jpg)
2. 字段编译法• 微周期 : 一条微指令所需的执行时间。• 微命令的相斥与相容性
⑴ 字段直接编译法 选出互斥的微命令,并将这些微命令选出互斥的微命令,并将这些微命令编成一组,称为微指令字的一个字段,用二进制编成一组,称为微指令字的一个字段,用二进制编码来表示。编码来表示。
在微指令寄存器的输出端,为该字段增加一在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令。个译码器,该译码器的输出即为原来的微命令。
![Page 58: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/58.jpg)
字段长度 微命令数22 22~~ 33
33 44~~ 77
44 88~~ 1515
每个小段留出一个编码,一般为全零,表示不发出微命令
图图 6.21 6.21 字段直接编译法字段直接编译法
![Page 59: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/59.jpg)
2. 字段编译法⑵ 字段间接编译法 一个字段的某些编码需要与其他字段一个字段的某些编码需要与其他字段的编码来联合定义微命令, 称为字段间接编译法,的编码来联合定义微命令, 称为字段间接编译法,又称为隐式编码或多重定义编码方法。又称为隐式编码或多重定义编码方法。
![Page 60: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/60.jpg)
图图 6.22 6.22 字段间接编译法字段间接编译法
![Page 61: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/61.jpg)
字段编码法中操作控制字段的分段原则: ① 把互斥性的微命令分在同一段内, 兼容性的微命令分在不同段内。 提高信息的利用率,缩短微指令字长; ②每个小段中包含的信息位不能太多, 否则将增加译码线路的复杂性和译码时间。 ③每小段留出一个状态, 表本字段不发出微命令。 ④常数源 E :微指令中一般有一个字段用来给某
些部件发送常数,例如控制循环、作为操作数送ALU等。
![Page 62: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/62.jpg)
二 . 微程序流的控制微地址 ::
现行微指令所在的控制存储器单元的地址称为现行微地址现行微指令所在的控制存储器单元的地址称为现行微地址 下地址 :
现行微指令执行完后,要执行的下一条微指令为后继微指令,现行微指令执行完后,要执行的下一条微指令为后继微指令,其所在的控存单元地址称为其所在的控存单元地址称为后继微地址,也称为下址。。
微程序流的控制 当前微指令执行后,怎样产生后继微指令的微地址。当前微指令执行后,怎样产生后继微指令的微地址。 产生后继微指令地址的方法(1) (1) 由指令操作码译码器产生后继微地址由指令操作码译码器产生后继微地址(2) (2) 由微指令的下址字段指出后继微地址由微指令的下址字段指出后继微地址微程序控制结构:顺序、转移、微循环、微子程序:顺序、转移、微循环、微子程序
![Page 63: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/63.jpg)
微程序控制器逻辑框图
![Page 64: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/64.jpg)
产生后继微指令地址的几种方法
1.以增量方式产生• 顺序执行微指令 :
后继微地址由现行微地址 加上增量( +1 )形成;• 转移执行 :
由下址和转移条件共同产生一个转移微地址
• 特点: 下地址字段短; 程序转移不灵活。
![Page 65: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/65.jpg)
2.增量与下址字段结合产生后继微地址• 微指令的下址分为两部分
• 微程序实现转移时, BAF→μPC;
否则顺序执行下一条微指令 (μPC+1) 。 BAF 的长度有两种情况:① 与 μPC 的位数相等 :
可从控制存储器的任一单元取微指令; 转移灵活,但增加了微指令的长度。② 比 μPC短 :
由原来的 μPC 的若干位与 BAF 组合成转移微地址 ;
转移地址受到限制,但可缩短微指令长度。
转移控制字段BCF
转移地址字段BAF
![Page 66: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/66.jpg)
图 6.24 “增量与下址字段”方式的原理图
![Page 67: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/67.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=0顺序执行微命令uPC+1 为后继地址
![Page 68: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/68.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=1条件转移微命令当运算结果为 0 时,将 BAF送 uPC ,否则 uPC+1送 uPC
![Page 69: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/69.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=2条件转移微命令当运算结果溢出时,将 BAF送 uPC ,否则 uPC+1送 uPC
![Page 70: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/70.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=3无条件转移微命令将 BAF送 uPC ,
![Page 71: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/71.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=4测试循环微命令如 CT 不等于 0 ,表示继续执行循环,循环入口地址从BAF送 uPC;如 CT=0 ,uPC+1送 uPC ,本命令执行的同时 CT自减 1
![Page 72: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/72.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=5转微子程序微命令把微子程序入口从BAF送 uPC ,从而实现转移,同时保存返回地址,即把uPC+1送 RR
![Page 73: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/73.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=6返回微命令把 RR 中的返回地址送 uPC ,从而实现微子程序返回原来的微程序
![Page 74: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/74.jpg)
图 6.24 “增量与下址字段”方式的原理图
BCF 定义的 8个微命令:
BCF=7操作码产生后继微地址的微命令。这是取指后执行的第一条微命令。
![Page 75: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/75.jpg)
缺点缺点 不能实现两路以上的并行微程序转移,不能实现两路以上的并行微程序转移, 不利于提高微程序的执行速度。不利于提高微程序的执行速度。
![Page 76: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/76.jpg)
3. 多路转移方式 一条微指令存在多个转移分支的情况称为多路转
移。 实现多路转移可减少微程序的长度,在若干个微
地址中选择一个作 为后继微地址 . 如根据操作码产生不同的后继微地址
指令的操作码作为地址输入,而相应的存储单元内容即为该指令的第一条微指令的入口地址。存储器容量等于或略大于机器的指令数。
有时要根据某些硬件状态来决定后继微地址如根据 NZVC各位选择下地址,决定微程序
的转移。最常用的是两路和四路转移
![Page 77: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/77.jpg)
4.微中断微中断与程序中断的概念相似微中断处理程序在控制存储器的位置,入
口已知,发生中断即直接转入。
![Page 78: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/78.jpg)
三 . 微指令格式1. 水平型微指令含义 一条微指令中定义并执行多个并行操作微命令。 直接控制法、字段编译法是水平型微指令。
特点 操作并行度高,使用灵活,微程序短,速度快。 微指令字比较长。
![Page 79: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/79.jpg)
2. 垂直型微指令
含义及格式
微指令中设有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。
![Page 80: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/80.jpg)
3. 水平型微指令与垂直型微指令的比较
水平型微指令水平型微指令 垂直型微指令垂直型微指令并行能力强,效率高并行能力强,效率高 并行能力差并行能力差
灵活性差灵活性差 灵活性强灵活性强执行一条指令的时间短执行一条指令的时间短 微指令执行时间长微指令执行时间长微指令字比较长微指令字比较长 微指令字比较短微指令字比较短微程序短微程序短 微程序长微程序长难以掌握难以掌握 容易掌握容易掌握
![Page 81: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/81.jpg)
四、微程序控制单元设计⑴⑴确定微程序控制方式确定微程序控制方式 根据计算机系统的性能指标(主要是速度)确定。根据计算机系统的性能指标(主要是速度)确定。⑵⑵拟定微命令系统拟定微命令系统 设计微指令格式:微指令字段的划分、编码方式的选择、设计微指令格式:微指令字段的划分、编码方式的选择、具体后继微地址的形成等具体后继微地址的形成等。。⑶⑶编制微程序编制微程序 修改审查微命令系统、微指令格式;合并和精简微指令,修改审查微命令系统、微指令格式;合并和精简微指令,
直至编制出全部机器指令的微程序为止。直至编制出全部机器指令的微程序为止。⑷⑷微程序代码化微程序代码化 将修改完善的微程序转换成二进制代码将修改完善的微程序转换成二进制代码⑸⑸写入控制存储器写入控制存储器
![Page 82: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/82.jpg)
6.5 硬布线控制的计算机1 。主要特点 硬布线控制器 / 组合逻辑控制器 操作控制部件中操作控制命令是基本逻辑电路生成的 操作控制部件根据指令的要求和指令执行流程,按照一定顺序发出各种操作控制信号,控制有关部件,完成指定的操作。
硬布线方式主要应用在 RISC 机器中。
操作码译码信号时序信号运算结果的标志状态和其他条件
操作控制部件
控制信号
![Page 83: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/83.jpg)
ARM LtdARM Ltd 成立于成立于 19901990 年年 1111 月 月
前身为 前身为 AcornAcorn 计算机公司计算机公司 Advance RISC Machine(ARM)Advance RISC Machine(ARM)
主要设计主要设计 ARMARM 系列系列 RISCRISC 处理器处理器内核内核
授权授权 ARMARM 内核给生产和销售半导内核给生产和销售半导体的合作伙伴体的合作伙伴 ARM ARM 公司不生产芯片公司不生产芯片 IP(Intelligence Property)IP(Intelligence Property)
另外也提供基于另外也提供基于 ARMARM 架构的开发架构的开发设计技术设计技术 软件工具软件工具 , , 评估板评估板 , , 调试工具调试工具 ,, 应用应用
软件软件 ,, 外围设备单元,等等外围设备单元,等等
![Page 84: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/84.jpg)
ARM Offices WorldwideARM Offices Worldwide
800+ 雇员全球
EnglandCambridge, Maidenhead, Sheffield, Blackburn
GermanyMunich
France Paris, Sophia Antipolis
KoreaSeoul
USSeattle, Los Gatos, Walnut Creek, Austin, Boston, San Diego
ChinaTaiwan and Shanghai
JapanShin-Yokohama (Tokyo)
![Page 85: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/85.jpg)
ARM Partnership ModelARM Partnership Model
![Page 86: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/86.jpg)
![Page 87: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/87.jpg)
![Page 88: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/88.jpg)
操作控制信号形成逻辑
操作码 地址码
译码器
组合逻辑
……cy1
cy2
cy3
cy4
控 制 信 号
……
计算数据地址
rs1 → GR, (rs1) → ALU , disp → ALU ; + ; ALU → AR
加法指令的第二个执行阶段
rs1 → GR = 加法指令 ×cy2
(rs1) → ALU=加法指令 ×cy2
。。。。。。
![Page 89: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/89.jpg)
计数逻辑计数逻辑
计数器 3 - 8译码器
A
B
cy2
cy1
cy3
cy4
B AB A cy1 cy2 cy3 cy4cy1 cy2 cy3 cy4
0 00 0 1 0 0 01 0 0 0
0 10 1 0 1 0 00 1 0 0
1 01 0 0 0 1 00 0 1 0
1 11 1 0 0 0 10 0 0 1
![Page 90: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/90.jpg)
操作控制信号形成逻辑 以加法指令为例,加法指令的 23个微操作需要在 4个步骤中依次发出,所以可以采用一个 2 位计数器,对其输出进行译码,产生四个周期的控制信号,用以确定当前周期可以发出的控制信号。
AA 指令指令 BB 指令指令cyA cyBcyA cyB cyA‘ cyB’cyA‘ cyB’ cyA cyBcyA cyB cyA‘ cyB’cyA‘ cyB’
0 00 0 0 10 1 0 00 0 1 01 0
0 10 1 1 01 0 1 01 0 1 11 1
11 00 1 11 1 1 11 1 0 00 0
11 11 0 00 0次态现态
![Page 91: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/91.jpg)
操作控制信号形成逻辑AA 指令指令 BB 指令指令
cyA cyBcyA cyB cyA‘ cyB’cyA‘ cyB’ cyA cyBcyA cyB cyA‘ cyB’cyA‘ cyB’
0 00 0 0 10 1 0 00 0 1 01 0
0 10 1 1 01 0 1 01 0 1 11 1
11 00 1 11 1 1 11 1 0 00 0
11 11 0 00 0
A 指令:cyA’ = cyA cyB + cyA cyB;cyB’ = cyA cyB + cyA cyB = cyB;
B 指令:cyA’ = cyA cyB + cyA cyB = cyBcyB’ = cyA cyB;
![Page 92: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/92.jpg)
cyA’ cyB’
2 - 4 译 码cy1 cy2 cy3 cy4
![Page 93: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/93.jpg)
cyA’ cyB’
2 - 4 译 码cy1 cy2 cy3 cy4
思考:四个周期触发信号不可控
![Page 94: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/94.jpg)
cyA’ cyB’
2 - 4 译 码cy1 cy2 cy3 cy4
![Page 95: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/95.jpg)
2 。 控制器总框图
![Page 96: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/96.jpg)
3 。设计操作控制器步骤⑴列出微操作命令的操作时间表 写出每条指令、每个周期、每个节拍的全部操作命令信号⑵进行微操作信号综合 写出各微操作控制信号的逻辑表达式。⑶画出微操作命令的逻辑图 根据逻辑表达式可画出对应每一个微操作信号的逻辑
电路图,并用逻辑门电路实现之。
4. 硬布线逻辑的实现途径 PLA , PAL 和 GAL 电路以及半定制电路门阵列
![Page 97: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/97.jpg)
5 。 硬布线控制与微程序控制的比较 1. 实现 微程序控制器的控制功能 – CM&uIR 控制实现, 电路规整, 增改指令只要增改控存内容或更换芯片。 硬布线控制则由逻辑门组合实现。 电路乱杂,修改指令或增加指令难。2. 性能 微程序控制的速度比硬布线控制的速度低, 微程序控制执行每条微指令都要从控存中读取一次, 硬布线逻辑主要取决于电路延迟。
![Page 98: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/98.jpg)
(1) 指令周期 指执行一条指令所需的全部时间。 各类指令因功能的复杂程度不同,指令周期不全相同。
(2) 机器周期 一条指令执行过程可以分为若干功能阶段,每一阶段为相应的机器周期 .也称 CPU 周期 .
(3) 节拍 / 时钟周期 在一个机器周期内,要完成若干个微操作。 时钟周期是完成一个基本微操作的最长时间。
![Page 99: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/99.jpg)
指令的执行或指令中每个微操作的执行都受事先确定的时序信号所控制。 形成控制不同微操作序列的时序控制信号的方法为控制器的控制方式。
1. 同步控制方式 含义:在任何情况下,一条已定的指令在执行时所需的机
器周期数和节拍数都是固定不变的,则称为同步控 制方式。
同步控制方式包括 (1) 采用完全统一的机器周期 ( 或节拍 ) 执行各种不同的指令。 (2) 采用不同节拍的机器周期 , 复杂的微操作延长机器周期 (3) 采用中央控制和局部控制相结合的方法
6.6 控制器的控制方式
![Page 100: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/100.jpg)
2. 异步控制方式当控制器发出进行某一微操作控制信号后,等待执行部件完成该操作后发回的“回答”信号或“结束”信号,再开始新的微操作,称为异步控制方式。
微操作序列没有固定的周期节拍和严格的时钟同步。
3. 联合控制方式•同步控制和异步控制相结合的方式。•对不同指令的各个微操作实行大部分统一、小部分区别对待的方式。
4. 人工控制方式Reset键、连续或单条转换开关、符合停机(地址、数据)
![Page 101: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/101.jpg)
6.7 流水处理技术 并行性的含义 同时性 同时性 -- -- 两个以上事件在同一时刻发生;两个以上事件在同一时刻发生; 并发性 并发性 -- -- 两个以上事件在同一时间间隔内发生两个以上事件在同一时间间隔内发生。。 并行处理技术三种形式1.1. 时间并行时间并行 时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套 时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件速度。硬件设备的各个部分,以加快硬件速度。
实现方式就是采用 实现方式就是采用流水处理部件流水处理部件。。2.2. 空间并行空间并行 资源重复,以“数量取胜” 为原则来提高计算机的处理速度。资源重复,以“数量取胜” 为原则来提高计算机的处理速度。 主要体现 在多处理器系统和多计算机系统。主要体现 在多处理器系统和多计算机系统。3.3. 时间并行时间并行 ++ 空间并行空间并行
![Page 102: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/102.jpg)
一 . 流水线工作原理顺序方式 即程序中各条机器指令是按顺序串行执行的即程序中各条机器指令是按顺序串行执行的
CPU各个功能部件顺序作用。
硬件控制简单,但速度慢,各功能操作部件利用效率低。硬件控制简单,但速度慢,各功能操作部件利用效率低。
取指 计算地址
取数 计算写回
取指 计算地址
执行 计算写回
ADD [BX+1] , AX
![Page 103: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/103.jpg)
流水线方式 流水线是将一个较复杂的处理过程分流水线是将一个较复杂的处理过程分成成 mm 个复杂程度相当、处理时间大致相等的子过个复杂程度相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。在处理对象在各子过程连成的线路上连续流动。在同一时间,同一时间, mm 个部件同时进行不同的操作,完成个部件同时进行不同的操作,完成对不同子过程的处理。对不同子过程的处理。
类比:汽车装配流水线类比:汽车装配流水线
![Page 104: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/104.jpg)
流水线方式 流水线是将一个较复杂的处理过程分成流水线是将一个较复杂的处理过程分成 mm 个复杂程度个复杂程度
相当、处理时间大致相等的子过程,每个子过程由一个独相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。在同一时间,连续流动。在同一时间, mm 个部件同时进行不同的操作,个部件同时进行不同的操作,完成对不同子过程的处理。完成对不同子过程的处理。
计算写回取数计算地址取指
![Page 105: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/105.jpg)
流水线方式 流水线是将一个较复杂的处理过程分成流水线是将一个较复杂的处理过程分成 mm 个复杂程度个复杂程度
相当、处理时间大致相等的子过程,每个子过程由一个独相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。在同一时间,连续流动。在同一时间, mm 个部件同时进行不同的操作,个部件同时进行不同的操作,完成对不同子过程的处理。完成对不同子过程的处理。
装入时间 排空时间
计算写回取数计算地址取指
![Page 106: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/106.jpg)
流水线方式 流水线是将一个较复杂的处理过程分成流水线是将一个较复杂的处理过程分成 mm 个复杂程度个复杂程度
相当、处理时间大致相等的子过程,每个子过程由一个独相当、处理时间大致相等的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。在同一时间,连续流动。在同一时间, mm 个部件同时进行不同的操作,个部件同时进行不同的操作,完成对不同子过程的处理。完成对不同子过程的处理。
如流水线各段执行时间不等怎么办?
计算写回取数计算地址取指
![Page 107: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/107.jpg)
流水线每段时间取时间最长段的时间把时间较短的几段合并为一段把时间较长的段分解为若干段采用空间重叠的方法
计算写回取数计算地址取指
![Page 108: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/108.jpg)
流水线分类 1. 指令流水线 指令步骤的并行。将指令流的处理过程划分为取指令、译码、执
行、写回等几个并行处理的过程段。2. 算术流水线 运算操作步骤的并行。如流水加法器、流水乘法器、流水除法等。
3. 处理机流水线 由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。处理机流水线应用在多机系统中。
![Page 109: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/109.jpg)
理想流水线应该满足以下条件::
(1) 流水线中处理的指令必须是连续不断的。(1) 流水线中处理的指令必须是连续不断的。(2) 各个功能部件工作必须是独立的,且其执行 (2) 各个功能部件工作必须是独立的,且其执行 时间相等。时间相等。(3) 各功能部件间,必须用缓冲寄存器隔离,避(3) 各功能部件间,必须用缓冲寄存器隔离,避 免各个部件互相影响。免各个部件互相影响。(4) 流水线开始工作时,必须有装入时间,结束(4) 流水线开始工作时,必须有装入时间,结束 时必须有排空时间,只有当流水线完全充满时必须有排空时间,只有当流水线完全充满 时,流水线的作用才能充分发挥。时,流水线的作用才能充分发挥。
![Page 110: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/110.jpg)
二 .流水线中的主要问题 流水过程中常会出现三种相关冲突,使流水线断流 /流
水阻塞。
1. 结构相关 • 指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。
• 解决办法:
计算写回取数计算地址取指
![Page 111: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/111.jpg)
二 .流水线中的主要问题 流水过程中常会出现三种相关冲突,使流水线断流 /流
水阻塞。
1. 结构相关 • 指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。
• 解决办法:
思考:解决方法
计算写回取数计算地址取指
![Page 112: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/112.jpg)
二 .流水线中的主要问题 流水过程中常会出现三种相关冲突,使流水线断流 /流
水阻塞。
1. 结构相关 • 指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。
• 解决办法:使指令停顿一拍后再启动;增设一个功能部件。
![Page 113: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/113.jpg)
二 .流水线中的主要问题 流水过程中常会出现三种相关冲突,使流水线断流 /流
水阻塞。
2. 数据相关 • 在一个程序中,如果必须等前一条指令执行完毕后,才能执
行后一条指令,那么这两条指令就是数据相关的。
![Page 114: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/114.jpg)
图图 6.39 6.39 流水线阻塞情况 流水线阻塞情况
ADD R0, R1, R2ADD R4, R5, R0 第一条指令即将“写回”
第二条指令即将“执行”
![Page 115: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/115.jpg)
解决方法:建立直接数据通道 解决方法:建立直接数据通道
ADD R0, R1, R2ADD R4, R5, R0 第一条指令的和已经计算出
从加法器直接取数
![Page 116: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/116.jpg)
解决方法:建立直接数据通道 解决方法:建立直接数据通道
ADD R0, R1, R2ADD R4, R5, R0 第一条指令的和已经计算出
从加法器直接取数
R 0 R 0
![Page 117: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/117.jpg)
3.3. 控制相关 控制相关冲突是由转移指令引起的。控制相关冲突是由转移指令引起的。 当执行转移指令时,依据转移条件的产生结果,可能为顺当执行转移指令时,依据转移条件的产生结果,可能为顺
序取下条指令;也可能转移到新的目标地址取指令,从而序取下条指令;也可能转移到新的目标地址取指令,从而使流水线 发生断流。 使流水线 发生断流。
转移处理技术: 转移处理技术:
![Page 118: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/118.jpg)
3.3. 控制相关 控制相关冲突是由转移指令引起的。控制相关冲突是由转移指令引起的。 当执行转移指令时,依据转移条件的产生结果,可能为顺当执行转移指令时,依据转移条件的产生结果,可能为顺
序取下条指令;也可能转移到新的目标地址取指令,从而序取下条指令;也可能转移到新的目标地址取指令,从而使流水线 发生断流。 使流水线 发生断流。
转移处理技术: 转移处理技术:
思考:解决方法
![Page 119: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/119.jpg)
3.3. 控制相关 控制相关冲突是由转移指令引起的。控制相关冲突是由转移指令引起的。 当执行转移指令时,依据转移条件的产生结果,可能为顺当执行转移指令时,依据转移条件的产生结果,可能为顺
序取下条指令;也可能转移到新的目标地址取指令,从而序取下条指令;也可能转移到新的目标地址取指令,从而使流水线 发生断流。 使流水线 发生断流。
转移处理技术: 转移处理技术: • 延迟转移法延迟转移法 由编译程序重排指令序列来 “先执行再转移”实现。由编译程序重排指令序列来 “先执行再转移”实现。• 转移预测法转移预测法
用硬件实现,依据指令过去的行为来预测将来的行为。用硬件实现,依据指令过去的行为来预测将来的行为。
![Page 120: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/120.jpg)
3.3. 控制相关 控制相关冲突是由转移指令引起的。控制相关冲突是由转移指令引起的。 当执行转移指令时,依据转移条件的产生结果,可能为顺当执行转移指令时,依据转移条件的产生结果,可能为顺
序取下条指令;也可能转移到新的目标地址取指令,从而序取下条指令;也可能转移到新的目标地址取指令,从而使流水线 发生断流。 使流水线 发生断流。
转移处理技术: 转移处理技术: • 延迟转移法延迟转移法 由编译程序重排指令序列来 “先执行再转移”实现。由编译程序重排指令序列来 “先执行再转移”实现。• 转移预测法转移预测法
用硬件实现,依据指令过去的行为来预测将来的行为。用硬件实现,依据指令过去的行为来预测将来的行为。
思考:预测转移的可行
性
![Page 121: 第六章 中央处理部件 CPU](https://reader033.fdocument.pub/reader033/viewer/2022061413/5681581e550346895dc58484/html5/thumbnails/121.jpg)
3.3. 控制相关 不精确断点不精确断点
对中断时还未进入流水线的后续指令不允许对中断时还未进入流水线的后续指令不允许其再进入,但已进入流水线的指令仍执行完毕。其再进入,但已进入流水线的指令仍执行完毕。
但是某些情况下会导致错误,例如地址错、但是某些情况下会导致错误,例如地址错、存储器错、运算错等中断发生时,后续指令不应存储器错、运算错等中断发生时,后续指令不应该执行。该执行。
精确断点精确断点仅执行完当前指令,不执行流水线中的后续仅执行完当前指令,不执行流水线中的后续
指令。指令。