1 / 121

第六章 中央处理部件 CPU

第六章 中央处理部件 CPU. 大连理工大学软件学院 赖晓晨 far.away@tom.com. 本章内容. 6.1 计算机的硬件系统 6.2 控制器的组成 6.3 微程序控制计算机的基本原理 6.4 微程序设计技术 6.5 硬布线控制的计算机 6.6 控制器的控制方式 6.7 流水线工作原理 6.8 计算机的加电及控制过程. 第一节 计算机的硬件系统. 早期 CPU 结构的特点 分立元件 数据 / 地址线复用 计算机信息处理的步骤 加载:将 ( 部分 ) 程序和数据输入到主存中 运行:从“程序入口”开始运行

jackie
Download Presentation

第六章 中央处理部件 CPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章 中央处理部件CPU 大连理工大学软件学院 赖晓晨 far.away@tom.com

  2. 本章内容 6.1 计算机的硬件系统 6.2 控制器的组成 6.3 微程序控制计算机的基本原理 6.4 微程序设计技术 6.5 硬布线控制的计算机 6.6 控制器的控制方式 6.7 流水线工作原理 6.8 计算机的加电及控制过程

  3. 第一节 计算机的硬件系统 • 早期CPU结构的特点 • 分立元件 • 数据/地址线复用 • 计算机信息处理的步骤 • 加载:将(部分)程序和数据输入到主存中 • 运行:从“程序入口”开始运行 • 计算机的初始状态 • 寄存器的初始状态 • 程序计数器PC

  4. 第一节 计算机的硬件系统 • 计算机的工作过程 加电→复位信号→执行程序→停机→停电 自检、引导程序、启动OS、执行用户程序 • 指令的执行过程 取指令→分析指令→执行指令 取数→执行→写回 • CPU的地位和作用 指令控制、 操作控制、时序控制 、数据处理

  5. 80X86

  6. 1993年 第一款Pentium 1995年 首款专为服务器设计的CPU ——Pentium Pro 1997年 将多媒体技术摆上台面的CPU ——Pentium II 1999年 赛扬/奔3/奔3至强齐聚首 2000年 空前强大经久不衰的系列CPU— Pentium 42001年 里程碑似的64位时代到来—— Itanium 2003年 移动、网络、节能的铁骑—— Pentium M

  7. CPU的主要技术参数 1.内部工作频率 又称为内频或主频,它是衡量CPU速度的重要参数。 2.外部工作频率 前端总线频率或系统总线时钟频率,它是由主板为CPU提供的基准时钟频率。CPU与主存交换数据的频率。 内频=外频×倍频

  8. 3. 片内Cache的容量和速率 对提高计算机的速度起着关键的作用。片内Cache的运行速度与内频相同或接近,容量可达几十KB~几百KB。 4.工作电压 5.地址总线宽度 决定了CPU可以访问的最大的物理地址空间. 6.数据总线宽度 决定了CPU与外部Cache、主存以及I/0设备之间进行一次数据传输的信息量。 7.制造工艺 线宽是指芯片上的最基本组成单元—三极管基极的宽度 线宽越小,意味着芯片上包括的晶体管数目越多。

  9. CPU的实现方式 1.使用通用CPU 16位->32位->64位 2.自行设计CPU 技术下移(流水线、高速缓存、并行技术、虚拟存储器)

  10. reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统

  11. reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统 时钟发生器: 1。上电时产生reset信号,整机复位 2。确定PC指针(CPU执行的第一条指令的地址) 3。一般在上述位置放置一条转移指令

  12. reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统 80387: 1。负责浮点运算和高精度整数运算 2。与386并行工作

  13. 总线控制逻辑: 386通过总线与存储器、外设进行信息交换 reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统

  14. DMA控制器: 直接存储器访问,完成外设和内存之间直接信息交换 reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统

  15. 中断控制器: 完成中断请求、中断源识别等工作 reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统

  16. 准备好逻辑: 提供握手信号,由主存提供给cpu,表示主存的操作已经完成。 reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统

  17. 目前上述所有部件都已集成到CPU或芯片组内部(北桥、南桥)目前上述所有部件都已集成到CPU或芯片组内部(北桥、南桥) reset 复位后PC指针为0FFFFFFF0H 时钟发 生器 CLK CLK2 80287 或387 80386 82258DMA 控制器 总线控 制逻辑 总线控 制逻辑 准备好 逻辑 总线 中断设备 8259A中 断控制器 存储器 输入输 出设备 80386微机系统

  18. 80386的结构及外部连线 • 指令部件 • 取指、译码、产生控制信号 • 执行部件 • ALU、乘法部件、寄存器组 • 存储管理部件 • 确定存储器地址

  19. 地址总线A2-A31 CLK2 80386 BE3# 字 节 使 能 数据总线 BE2# D0-D31 BE1# BE0# ADS# W/R# 总 线 控 制 NA# 总线 周期 定义 D/C# BS16# M/IO# READY# LOCK# HOLD PEREQ 总线 仲裁 协处 理器 信号 HLDA BUSY# INTR ERROR# 中 断 NMI Vcc 电源 地 RESET GND 80386的结构及外部连线

  20. 地址总线A2-A31 CLK2 80386 BE3# 字 节 使 能 数据总线 BE2# D0-D31 BE1# BE0# ADS# W/R# 总 线 控 制 NA# 总线 周期 定义 D/C# BS16# M/IO# READY# LOCK# HOLD PEREQ 总线 仲裁 协处 理器 信号 HLDA BUSY# INTR ERROR# 中 断 NMI Vcc 电源 地 RESET GND 80386的结构及外部连线 BE0-BE3:A0、A1 在386内部译码,分 别是字节0-字节3的 选择信号 W/R#:读写 D/C#:数据周期 取指周期 M/IO#:访存、外设 LOCK#:总线锁定信 号,低电平时不允 许cpu让出 总线控制权

  21. 地址总线A2-A31 CLK2 80386 BE3# 字 节 使 能 数据总线 BE2# D0-D31 BE1# BE0# ADS# W/R# 总 线 控 制 NA# 总线 周期 定义 D/C# BS16# M/IO# READY# LOCK# HOLD PEREQ 总线 仲裁 协处 理器 信号 HLDA BUSY# INTR ERROR# 中 断 NMI Vcc 电源 地 RESET GND 80386的结构及外部连线 ADS:地址状态信号 NA#:存储器或IO送到 cpu的信号, 表示本次读写 虽未完成,但 已经可以进行 下一次写操作。 BS16:当前使用16 位操作 HOLD:外设申请总线 HLDA:CPU应答 其时386所有 控制引脚 均高阻

  22. 地址总线A2-A31 CLK2 80386 BE3# 字 节 使 能 数据总线 BE2# D0-D31 BE1# BE0# ADS# W/R# 总 线 控 制 NA# 总线 周期 定义 D/C# BS16# M/IO# READY# LOCK# HOLD PEREQ 总线 仲裁 协处 理器 信号 HLDA BUSY# INTR ERROR# 中 断 NMI Vcc 电源 地 RESET GND 80386的结构及外部连线 INTR:外中断 NMI:不可屏蔽中断 RESET:复位 PEREQ:协处理器 请求,协处 理器要求cpu 传送一个字 BUSY#:协处理器忙 ERROR:协处理器 出错

  23. 总结 • 上述信号由80386的控制部件产生,从而完成CPU的一系列动作。 • 指令执行过程中有许多操作是在CPU内部完成的,这些操作的控制信号同样也是控制部件提供的。 • 控制器的功能:发出满足一定时序关系的控制信号,实现指令系统所规定的各条指令的功能,并保证计算机系统正常运行。

  24. 第二节、控制器的组成 • CPU:运算器、控制器 • 控制器 • 组成: 程序计数器(PC)、指令寄存器(IR)、指令译码 器(ID)、时序产生器和操作控制器 • 功能: 完成协调和指挥整个计算机系统的操作 取指/分析指令/控制数据 • 运算器 • 组成: 算术逻辑单元(ALU)、累加器(AC)、 数据缓冲器(DR)和状态条件寄存器(PSW) • 功能: 执行所有的算术运算/逻辑运算

  25. 1. 控制器的功能 1. 取指令 当程序已在存储器中时,首先根据程序入口取出第一条指令,为此要发出指令地址及控制信号。然后不断取出指令。 2. 指令译码 解释指令/分析指令。是对当前取得的指令进行分析,指出它要求作什么操作,并产生相应的操作控制命令,如果参与操作的数据在存储器中,还需要形成操作数地址。 3. 执行指令 根据分析指令时产生的“操作命令”和“操作数地址”形成相应的操作控制信号序列,通过CPU及I/O设备的执行,实现每条指令的功能,及对运算结果的处理和下条指令地址的形成。

  26. 4. 控制程序和数据的输入与结果输出 根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成I/O功能,这实际上也是通过执行程序来完成的。 5. 对异常情况和某些请求的处理 机器可能出现异常情况,或某些部件和设备可能发出请求信号; 中断请求:CPU执行完本条指令后,转去执行中断程序,完毕后返回。 DMA请求:CPU释放总线给I/O设备,当其传送数据操作后,CPU从暂时中止的机器周期开始继续执行指令。

  27. 2. 控制器的组成 1. 程序计数器(PC) 指令地址寄存器。存放当前正在执行的指令地址/要执行的下一条指令地址;指令预取,增加一个程序计数器. 2. 指令寄存器(IR) 用以存放当前正在执行的指令。 3. 指令译码器(ID) 操作码译码器,对指令寄存器中的操作码进行分析解释,产生相应的控制信号。

  28. 4. 脉冲源及启停线路  脉冲源产生时钟脉冲,机器周期和工作脉冲的基准信号;机器刚加电时,还应产生一个总清信号(reset)。  启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器工作或使之停机。 5. 时序控制信号形成部件 当机器启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。

  29. 图6.3 控制器基本组成的框图 图6.3 控制器基本组成框图

  30. 3.指令执行过程 (1). 组成控制器的基本电路 • 具有记忆功能 触发器以及由它组成的寄存器、计数器和存储单元等。 特点:当输入信号消失后,原信息仍保留其中。 • 没有记忆功能 门电路及由它组成的加法器、ALU和各种逻辑电路等。 特点: 当输入信号改变后,输出跟着变化。

  31. 指令执行过程举例 (2) 一条加法指令的执行过程 • 运算器组成 8个通用寄存器GR, 算术逻辑运算部件ALU,标志触发器。 • 主要操作 ① 从存储器取指令,送入指令寄存器, 并进行操作码译码。 ② 计算数据地址,将有效地址送地址寄存器。 ③ 从存储器取数。 ④ 进行加法运算,结果送寄存器,并置状态位.

  32. 指令格式 指令功能 (rs)+( (rs1)+disp ) →rd 控制信号

  33. 取指译码:PC →AB, W/R=0, M/IO=1; DB →IR; PC+1 →PC

  34. 计算地址:rs1 → GR, (rs1) →ALU , disp →ALU ; + ; ALU → AR

  35. 取数:AR →AB, W/R=0, M/IO=1; DB →DR;

  36. 加法:rs → GR, (rs) →ALU , DR →ALU ;+ ; rd →GR;ALU → rd

  37. 图6.7 加法指令时序图

  38. (3) 条件转移指令的执行过程 • 指令功能: 根据N/Z/V/C的状态,决定是否转换。 如转移条件成立,则转移到本条指令所指定的地址, 否则顺序执行下一条指令。 • 指令操作: ①从存储器取指令,送入指令寄存器,并进行操作码译码。 ②如转移条件成立,根据指令规定的寻址方式计算有效地址,常采用相对寻址方式,EA=PC + disp. • PC →ALU , disp →ALU ; + ; ALU → PC

  39. 产生控制信号的方式 控制器 微程序设计技术 实质是将程序设计技术和存储技术相结合: 即用程序设计的思想方法来组织操作控制逻辑, 将微操作控制信号按一定规则进行信息编码,形成控制字(微指令),再把这些微指令按时间先后排列起来构成微程序, 存放在一个只读的控制存储器中。 硬布线控制 / 组合逻辑控制器 微程序控制

  40. 6.3 微程序控制计算机的基本工作原理 一.微程序设计的提出与发展 • 1950年 M.V.Wilkes 提出: 一条机器指令可以分解为许多基本的微命令序列。 并且首先把这种思想用于计算机控制器的设计。 • 1964年,在IBM360系列机上采用了微程序设计技术,解决了指令系统的兼容问题。 • 20世纪70年代VLSI技术的发展,推动了微程序设计技术的发展和应用. 目前,大多数计算机都采用微程序设计技术。

  41. 二. 微程序控制的基本概念 • 微操作 一条指令是通过按照一定次序执行一系列基本操作完成的,这些基本操作称为微操作,又称为微命令。 • 微指令 在微程序控制计算机中,将由同时发出的控制信号所形成的一组微操作称为微指令,微指令就是把同时发出的控制信号汇集起来组成的。一条指令是由若干条微指令构成的。 • 微程序 计算机的程序由指令序列组成,而计算机每条指令的功能均由微指令序列解释完成,这些微指令序列的集合就是微程序。

  42. 控制存储器 • 定义:存放微程序的存储器,内容包含 • 控制命令(信号) • 下一条微指令地址(简称为下址) • 组成: 只读存储器 ROM / PROM。一般计算机指令系统是固定的,所以实现指令系统的微程序也是固定的,所以微程序可以用只读存储器来存放。 • 机器内控制信号很多,决定下址的地址码也有一定宽度,所以控存的字长比机器字长要长的多。 • 执行一条指令是执行一段存放在控制存储器中的微程序

  43. 三. 实现微程序控制的基本原理 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)。

  44. 加法指令的控制信号 (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)

  45. 微指令的形成 • 微指令最简单的组成形式是将每个控制信号用一个控制位来表示,当该位为1时,表示有此控制信号,为0时表示没有这个控制信号。同一条微指令的所有控制信号同时发出。 • M/IO、W/R则是根据访存还是访问I/O,是读还是写相应的设置为1或者0。 • 每条微指令由两个字段组成 • 控制字段:长度为所能产生的控制信号的总数。 • 下址字段:长度要能寻址全部控存空间

  46. 图6.9 加法指令的微指令编码 控制字段 下地址字段 W/R PC→AB

More Related