17 cpu01
TRANSCRIPT
![Page 1: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/1.jpg)
CPU
林楠
办公室: 408
办公电话: 0371-63887293
电子邮件: [email protected]
《 计算机组成原理 》
第八章 CPU 的结构与功能(最难)
(含 第八章 + 第四篇)
系统总线
存储器
运算器
控制器
接口与通信
输入 / 输出设备
Cache
![Page 2: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/2.jpg)
中央处理器这一章是重点和难点,组成原理考试几乎必考的章节。
识记指令流水线1. 指令流水线的基本概念2. 超标量流水和动态流水线的基本概念这主要是选择题的考点。
熟练掌握控制器的功能和工作原理1. 硬布线控制器2. 微程序控制器微程序、微指令和微命令;微指令格式;微命令的编码方式;微地址的形成方式这又是一个综合应用题点,可以考查的微程序控制器相关的原理;还可以在选择题中出现两种不同控制器的对比。
掌握数据通路的功能和基本结构
熟练掌握指令的执行过程这里可以出现综合应用题,结合微指令的考点考查一条指令执行的各个步骤。
掌握CPU 的功能和基本结构
第八章 CPU 的结构与功能
![Page 3: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/3.jpg)
通过本章的学习,我们应在 CPU 一级上建立起整机要领。
它包含两个方面:
1 ) CPU 的逻辑组成:
内部有哪些部件,以数据通路为核心的总体结构,与外部的连接。
2 ) CPU 如何工作:
即如何分时形成控制命令序列,以执行指令程序。
第八章 CPU 的结构与功能
![Page 4: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/4.jpg)
8.1 CPU 的基本功能与组成( 8.1 )8.2 时序系统和控制方式( 8.2 8.3 9 )8.3 组合逻辑设计( 10 )8.4 微程序设计( 10 )
第八章 CPU 的结构与功能
![Page 5: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/5.jpg)
8.1.1 CPU 的基本功能8.1.2 CPU 的基本组成
1 )运算器(讲过)2 ) Cache (讲过)3 )控制器(重点)
8.1.3 CPU 的主要寄存器8.1.4 多媒体 CPU (扩展)
8.1 、 CPU 的基本功能和组成
![Page 6: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/6.jpg)
当我们使用计算机解决某个问题时,我们首先必须为它编写程序。
程序是一个指令序列,它告诉计算机执行什么操作,到哪里找操作数。
一旦把程序装入主存,就由计算机自动完成取出指令和执行指令。用来完成此工作的部件为中央处理器,简称 CPU ,
CPU 是机器指令的解释和执行机构,是计算机的核心部件。 CPU 对整个计算机系统的运行是极其重要的,
指令控制 操作控制
时间控制 数据加工
8.1.1 CPU 的基本功能
它具有四方面的基本功能:
![Page 7: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/7.jpg)
CPU 四方面的基本功能:
指令控制:解决程序的顺序控制问题。 程序是一个指令序列,这些指令的相互顺序不能任意改变, 必须严格按程序规定的顺序进行。
操作控制:一条指令的功能往往是由若干个操作信号的组合来实现, 因此, CPU 管理并产生由内存取出的每条指令的操作信号, 把各种操作信号送往相应的部件,从而控制这些部件按指 令的要求进行工作。时间控制:解决各种操作执行时间上的定时问题。 在计算机中,各种指令的操作信号以及一条指令的整个执行 过程都受到时间的严格定时。
数据加工:数据加工就是对操作数进行算术运算和逻辑运算。
8.1.1 CPU 的基本功能
![Page 8: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/8.jpg)
8.1.1 CPU 的基本功能8.1.2 CPU 的基本组成
1 )运算器(讲过)2 ) Cache (讲过)3 )控制器(重点)
8.1.3 CPU 的主要寄存器8.1.4 多媒体 CPU (扩展)
8.1 、 CPU 的基本功能和组成
![Page 9: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/9.jpg)
CPU 的三大基本部分:运算器、 Cache 和控制器。
8.1.2 CPU 的基本组成
系统总线
存储器
运算器
控制器
接口与通信
输入 / 输出设备
Cache
CPU
![Page 10: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/10.jpg)
8.1.1 CPU 的基本功能8.1.2 CPU 的基本组成
1 )运算器(讲过)2 ) Cache (讲过)3 )控制器(重点)
8.1.3 CPU 的主要寄存器8.1.4 多媒体 CPU (扩展)
8.1 、 CPU 的基本功能和组成
运算器
控制器
Cache
CPU
![Page 11: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/11.jpg)
8.1.2 CPU 的基本组成—— 1 )运算器
包括: ALU 算术 / 逻辑单元 ,阵列乘除器,寄存器组
(数据寄存器,累加器等)
多路转换器(选择门),数据总线(内部总线)
等逻辑构成。
移位门
ALU
选择门 A 选择门 B
通用寄存器
数据总线
数据总线
定点运算器的基本结构框图
定点运算器是数据的加工处理部件, 是 CPU 的重要组成部分。
相对控制器而言,运算器接受控制器的命令进行操作 ,运算器所完成的全部操作都是由控制器发出的控制信号来指挥。
运算器是执行部件,执行所有的算术与逻辑运算。
![Page 12: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/12.jpg)
8.1.1 CPU 的基本功能8.1.2 CPU 的基本组成
1 )运算器(讲过)2 ) Cache (讲过)3 )控制器(重点)
8.1.3 CPU 的主要寄存器8.1.4 多媒体 CPU (扩展)
8.1 、 CPU 的基本功能和组成
运算器
控制器
Cache
CPU
![Page 13: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/13.jpg)
为了弥补主存速度的不足,在 CPU 与主存之间设置一个 高速小容量的缓冲存储器,称高速缓存( Cache ),主要由 SRAM 组成。
其工作原理如下:
CPU
Cache
主存DRAM
主存地址
字 块
我们利用程序运行的局部性特点,把 CPU正在访问和即将访问的若干程序块和数据块从主存调入高速缓存中,使 CPU 大部分从高速缓存中读取指令和存取数据,极大地提高了 CPU的访问速度。
8.1.2 CPU 的基本组成—— 2 ) Cache
![Page 14: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/14.jpg)
8.1.2 CPU 的基本组成—— 2 ) Cache
映象:其物理意义就是位置的对应关系,将主存地址变成 Cache地址。
常见的映象方式主要有三种:
1 )直接映象
2 )全相联映象
3 )组相联映象 CPUCache
主存DRAM
地址总线 相联存储表
命中
未命中
数据总线
![Page 15: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/15.jpg)
8.1.1 CPU 的基本功能8.1.2 CPU 的基本组成
1 )运算器(讲过)2 ) Cache (讲过)3 )控制器(重点)
8.1.3 CPU 的主要寄存器8.1.4 多媒体 CPU (扩展)
8.1 、 CPU 的基本功能和组成
运算器
控制器
Cache
CPU
![Page 16: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/16.jpg)
控制器的基本结构
功能分析:全机指挥机构,怎么去指挥呢?
执行方式有如下三种:
1 )按规定的操作去执行;
2 )自动地去执行
3 )有秩序地去执行
下面,我们具体看一下各种执行方式。
8.1.2 CPU 的基本组成—— 3 )控制器
控制器是计算机发布命令的“决策机构”,协调指挥整个计算机系统。
![Page 17: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/17.jpg)
1 )按规定的操作去执行(规定的操作在指令中!)
取出指令
分析指令
执行指令
存放? 设指令寄存器 IRInstruction Register
分析就是译码过程→设置操作码译码器
就指令的执行过程而言
产生相应的控制信号,加在不同的硬部件上
8.1.2 CPU 的基本组成—— 3 )控制器
![Page 18: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/18.jpg)
2 )自动地去执行
设置程序计数器 PCProgram Counter
顺序
转移
PC 存放程序的首地址,执行一条后, PC 自动加 1
地址寄存器
地址寄存器送 PC(在新的地址上继续顺序执行)
8.1.2 CPU 的基本组成—— 3 )控制器
![Page 19: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/19.jpg)
3 )有秩序去执行
指前一个操作结束,才进行下一个操作。
如何判断前一操作结束呢?
通过定时系统 → 设置相应的时序线路
8.1.2 CPU 的基本组成—— 3 )控制器
![Page 20: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/20.jpg)
控制器的基本结构:由指令寄存器、 指令译码器、 操作控制器、 时序产生器、 程序计数器 PC 组成,
它的主要功能描述:
1 )从内存中取出一条指令,并指出下一条指令在内存中的地址;2 )对指令进行译码或测试,并产生相应的操作控制信号,以便启动规 定的动作;
3 )指挥并控制 CPU 与内存、输入 / 输出设备之间数据流动的方向。
8.1.2 CPU 的基本组成—— 3 )控制器
![Page 21: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/21.jpg)
CPU 的逻辑结构
• 指令寄存器
• 指令译码器
• 操作控制器
• 时序产生电路
• 程序计数器PC
8.1.2 CPU 的基本组成—— 3 )控制器
控制器运算器
操作码
数据缓冲寄存器地址寄存器,从结构上属于主存,但是封装到CPU 里了
![Page 22: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/22.jpg)
控制器就是根据指令操作码和时序信号,产生各种操作控制信号。
根据设计方法不同,控制器分为组合逻辑型、存储逻辑型。
( 1 )组合逻辑控制器:采用硬布线逻辑技术来实现 ( 2 )微程序控制器:采用存储逻辑技术来实现
8.1.2 CPU 的基本组成—— 3 )控制器
组合逻辑控制器设计,产生专门固定时序的控制信号的逻辑电路,因此逻辑电路以使用最少元件和取得最高操作速度为设计目标。其逻辑电路是由门电路和触发器构成的复杂树形逻辑网络,故称为硬布线控制器。 一旦控制部件构成,除非重新设计和物理上对它重新布线,否则不能增加新的控制功能。
因此,早期的硬件布线控制器被微程序控制器所取代。但随着超大规模集成电路( VLSI )的发展,硬布线逻辑设计思想又得到重视。
![Page 23: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/23.jpg)
( 1 )组合逻辑控制器:采用硬布线逻辑技术来实现; 所有的控制信号全部由硬件实现,速度快, 但修改比较困难,修改一处,影响一大片。 目前一些巨型机和 RISC 机,为了追求高速采用组合逻辑
控制器。
程序计数器 PC
译码
地址形成部件
操作码 地址码
指令寄存器 IR
+1
送主存或运算器
状态字寄存器PSW
来自主存
I/O状态
控制台信息
程序运行状态时序信号
微指令序列(传送到各部件的控制端)
8.1.2 CPU 的基本组成—— 3 )控制器
微操作信号发生器
![Page 24: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/24.jpg)
( 2 )微程序控制器:是采用存储逻辑来实现。 微程序设计是利用软件方法来设计硬件的一门技术,它把微
操作信号 代码化,把一条机器指令转化为一段微程序,并存入一专门
的存储器 (控制存储器)中,微操作控制信号由微指令产生。
优点:设计规整、修改方便、便于扩充指令,如果一条指令执行有错,
只要修改那条指令的微程序就可以,不影响其他指令,但速度慢
控制存储器 ROM(存放微程序)
译码
微地址寄存器
微操作控制字段顺序控制字
段微指令寄存器 IR
微地址形成电路运行
状态
指令代码
微指令序列
顺序控制方式
微地址给定部分
指令寄存器
状态寄存器
8.1.2 CPU 的基本组成—— 3 )控制器
![Page 25: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/25.jpg)
较长较短软件系统开发时间
绝大多数为组合逻辑控制绝大多数为微程序控制控制器实现方式
较长较短程序源代码长度
较容易很难优化编译实现
绝大多数在一个周期内完成相差很大各种指令执行时间
相差不大相差很大各种指令使用频率
只有 LOAD/STORE 指令不加限制可访存指令
等长不固定指令字长
一般小于 4一般大于 4寻址方式
一般小于 4一般大于 4指令格式
一般小于 100一般大于 200指令数目
简单,精简复杂,庞大指令系统
RISCCISC比较内容
RISC 与 CISC 的 CPU采用不同的控制器技术
8.1.2 CPU 的基本组成—— 3 )控制器 RISC 机器的三个基本要素是:(1) 一个有限的简单指令集,(2)CPU配备大量的通用寄存器,(3)强调指令流水线的优化。
![Page 26: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/26.jpg)
组合逻辑控制器的设计步骤(前三步骤非常重要)
步骤一 拟定指令系统(逻辑依据)步骤二 确定总体结构(空间安排) 设置哪些部件,确定数据通路步骤三 拟定时序系统(时间安排) 选定时序系统作为协调各部件工作的手段(周期–节拍–脉冲) 即把一条指令的执行过程分为若干个阶段,一个阶段为一个周期 一个阶段一个名字(取指周期, 源周期,目的周期,执行周期)
步骤四 拟定指令流程图 在节拍电位的配合下,将一条指令的执行步骤按时间顺序用流程图 形式表示出来(它是采用时序计数器设计控制器的关键一步)步骤五 编制操作时间表 将指令流程中规定的操作落实到由哪个部件完成,在什么时间完成步骤六 进行微操作的组合、化简 根据操作时间表,将产生同一微操作的条件用“或”连接组合成原始 表达式,利用逻辑化简,获得最简单的逻辑表达式。步骤七 结合现有的元件,适当变换逻辑表达式,设计逻辑电路图。
8.1.2 CPU 的基本组成—— 3 )控制器
![Page 27: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/27.jpg)
8.1.1 CPU 的基本功能8.1.2 CPU 的基本组成
1 )运算器(讲过)2 ) CACHE (讲过)3 )控制器(重点)
8.1.3 CPU 的主要寄存器8.1.4 多媒体 CPU (扩展)
8.1 、 CPU 的基本功能和组成
![Page 28: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/28.jpg)
计算机工作呈现出控制流和数据流两个信息流,寄存器是暂时存放这些信息的部件。
各种计算机的 CPU 可能有多种不同的寄存器,但是在 CPU 中至少要有六类主要的寄存器。(有的用于处理,有的用于控制)
1 )、累加寄存器( AC )2 )、状态寄存器( PSW )3 )、指令寄存器( IR )4 )、程序计数器( PC )5 )、地址寄存器( MAR ) 6 )、数据缓冲寄存器( MDR )
这些寄存器用来暂存一个机器字。根据需要,可以扩充其数目。
8.1.3 CPU 的主要寄存器
![Page 29: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/29.jpg)
一、用于处理的寄存器
1 、通用寄存器组
是一组可编程访问的、具有多种功能的寄存器。 它们自身的逻辑往往比较简单统一,甚至是小规模存储器的一些单元,但通过编程与运算部件的配合,可指定其实现多种功能,如存放操作数运算结果,或用作基址寄存器,或用作变址寄存器,或用作计数器等,因此称为通用寄存器。
通用寄存器在指令中是可访问的。 例如: ADD AX ,BX
2 、暂存器
是一些用户不能直接访问的寄存器,用来暂存信息。
暂存器在指令中是不可访问的,对用户来说,是透明的。
8.1.3 CPU 的主要寄存器
![Page 30: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/30.jpg)
举例:累加寄存器 AC 是一个通用寄存器。
功能:当运算器的算术逻辑单元( ALU )执行算术或逻辑运算时, 累加器为 ALU提供一个工作区。 累加器暂时存放 ALU 运算的结果。
显然,运算器中至少要有一个累加寄存器。
目前 CPU 中的累加寄存器,多达 16 个, 32 个,甚至更多。
当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放
源操作数,也可存放结果操作数。
在这种情况下,需要在指令格式中对寄存器号加以编址。
8.1.3 CPU 的主要寄存器
![Page 31: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/31.jpg)
8.1.3 CPU 的主要寄存器
![Page 32: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/32.jpg)
8.1.3 CPU 的主要寄存器二、用于控制的寄存器
1 )指令寄存器( IR )
指令寄存器用来保存当前正在执行的一条指令。 在指令执行过程中,指令寄存器内容不发生变化,以保证
实现指令的全部功能。
当执行一条指令时,先把它从内存取到数据缓冲寄存器中,然后再传至指令寄存器。为了提高指令间的衔接速度,大多数计算机将指令寄存器扩充为指令队列 ( 指令栈 ) ,允许预取若干条指令。
指令由操作码和地址码组成。
为了执行给定的指令,必须对操作码进行译码测试,以便识别所要求的操作。指令译码器就是做这项工作的。
指令寄存器中操作码字段的输出就是指令译码器的输入。 操作码经译码后,即可向操作控制器发出具体操作的特定
信号。
![Page 33: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/33.jpg)
8.1.3 CPU 的主要寄存器
![Page 34: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/34.jpg)
2 )、程序计数器( PC )( = 指令计数器 = 指令指针 IP )
为保证程序自动按顺序执行, CPU 必须确定下一条指令的地址。
程序计数器正是起到这种作用,所以又称为指令计数器。
在程序开始执行前,必须将它的起始地址(即程序第一条指令所
在内存单元地址)送入 PC 。
当执行指令时, CPU 自动修改 PC 内容,使其总是保存将要执行的
下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的
过程通常只是简单的 PC 加 1 。
当遇到转移指令(如 JMP 指令)时,后继指令的地址必须从转移
指令的地址段中得到,从而修改 PC 内容。
因此程序计数器的结构应当具有寄存和计数两种功能。
8.1.3 CPU 的主要寄存器
![Page 35: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/35.jpg)
8.1.3 CPU 的主要寄存器
PC←PC+1
![Page 36: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/36.jpg)
3 )、条件码寄存器( PSW )
CPU 执行程序,一方面取决于编程时的程序流向与有关意图,
另一方面取决于程序实际执行的状态。
计算机设置一条件码寄存器,存放上次指令执行的状态。
例如: 8086 的状态标志寄存器 16位。其中
运算结果进位标志 (CF) ,运算结果溢出标志 (OF) ,运算结果为零标 志 (ZF) ,运算结果为负标志 (SF)等等。
这些标志位通常分别由 1位触发器保存。
状态寄存器是一个由各种状态条件标志拼凑而成的寄存器。
8.1.3 CPU 的主要寄存器
![Page 37: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/37.jpg)
8.1.3 CPU 的主要寄存器
![Page 38: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/38.jpg)
三、用作主存接口的寄存器
当 CPU访问主存时,先送出地址码,然后送出数据(写)或接收
数据(读),为此设置数据缓冲寄存器和地址寄存器。
8.1.3 CPU 的主要寄存器
存储器基本结构:存储体地址译码器地址寄存器数据缓冲寄存器读写控制线路
注意:这两个寄存器从结构上属于主存,但是封装到 CPU 里了。
内存的封装
![Page 39: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/39.jpg)
1 )、地址寄存器( MAR )
地址寄存器保存 CPU 当前访问的内存单元地址。
由于在内存和 CPU之间存在着操作速度上的差别,所以必须使
用地址寄存器来保持地址信息,直到内存的读 / 写操作完成为止 。
如果把外围设备的设备地址比作内存单元地址,那么CPU 和外
围设备交换信息时,同样使用地址寄存器和数据缓冲寄存器。
读指令时, CPU 先将程序计数器 PC 的内容(指令所在的存储单
元的地址)送地址寄存器,再按此地址访问主存。
8.1.3 CPU 的主要寄存器
![Page 40: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/40.jpg)
8.1.3 CPU 的主要寄存器
![Page 41: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/41.jpg)
2 )、数据缓冲寄存器( MDR )
数据缓冲寄存器用来暂时存放由内存储器读出或写入存储器的
一条指令或一个数据字;
缓冲寄存器的作用是 :
( 1 )作为 CPU 和内存、外部设备之间数据传送的中转站;
( 2 )补偿 CPU 和内存、外围设备之间在操作速度上的差别;
8.1.3 CPU 的主要寄存器
注意:地址寄存器与数据寄存器是透明的, 不能编程直接访问。
![Page 42: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/42.jpg)
8.1.3 CPU 的主要寄存器
![Page 43: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/43.jpg)
CPU 中至少有六类寄存器
8.1.3 CPU 的主要寄存器
![Page 44: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/44.jpg)
8.1.1 CPU 的基本功能8.1.2 CPU 的基本组成
1 )运算器(讲过)2 ) Cache (讲过)3 )控制器(重点)
8.1.3 CPU 的主要寄存器8.1.4 多媒体 CPU (扩展)
8.1 、 CPU 的基本功能和组成
![Page 45: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/45.jpg)
为了在算机系统中增加多媒体数据的获取功能、压缩解压功能、
实时处理功能、多媒体数据的 I/O 与通信功能,在计算机系统结构领
域需要做三方面的改进:
第一、选择专用芯片和专用插卡来扩充功能, 如:声卡、视频卡、网卡、内接或外接调制解调器。
第二、改善总线结构和性能, 如:加宽系统总线,提高时钟速率。
第三、将一些重要的多媒体技术融合到 CPU芯片或 设计全新的多媒体 CPU芯片。
8.1.4 多媒体 CPU
![Page 46: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/46.jpg)
MMX 是一种多媒体扩展结构技术,它极大提高了计算机在多媒体和通信应用方面的功能。
带有 MMX技术的 CPU特别适合于数据量很大的图形、图像数据处理,从而使三维图形、图画、运动图像为目标的MPEG视频、音乐合成、语音识别、虚拟现实等数据处理的速度有了很大提高 。
MMX技术集成到新一代 Pentium CPU 时,主要体现在:
①采用 4 种新的数据类型,
② 使用 8 个 64 位宽的 MMX 寄存器,
③ 增设 57 条新指令。
8.1.4 多媒体 CPU
![Page 47: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/47.jpg)
8.1 CPU 的基本功能与组成( 8.1 )8.2 时序系统和控制方式( 8.2 8.3 9 )8.3 组合逻辑设计( 10 )8.4 微程序设计( 10 )
第八章 CPU 的结构与功能
时序系统是控制器的心脏,其功能是为指令的执行提供各种定时信号。(一条指令分不同执行阶段即周期 - 节拍 -脉冲)
组合逻辑控制器的设计步骤(前三步骤)
步骤一 拟定指令系统(逻辑依据,讲过了)步骤二 确定总体结构(空间安排,刚讲过)步骤三 拟定时序系统(时间安排,该讲了……)
![Page 48: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/48.jpg)
8.2 、时序系统和控制方式
8.2.1 指令周期 1 )指令周期的基本概念 2 )指令周期的分析举例 3 )指令周期的数据流8.2.2 指令流水8.2.3 多级时序系统8.2.4 时序控制方式
![Page 49: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/49.jpg)
计算机自动工作,是因为 CPU 从存放程序的内存里取出一条指令并执行这条指令;紧接着又取指令,执行指令……,如此周而复始,除非遇到停机指令,否则将一直循环继续下去。
1 )指令周期的基本概念
![Page 50: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/50.jpg)
1 )指令周期:从取指开始,到执行完该指令的时间总和。 (不同的指令,指令周期不同) 例如:乘法指令比加法指令费时,间接寻址比直接寻址费时。 2 )机器周期 = CPU周期:由于 CPU 内部操作速度快,访存速度慢, 所以往往以内存工作周期为基础来规定 CPU周期,以便两者协调。 (一个 CPU周期 = 从内存读取一条指令字的最短时间)
一般一个指令周期包含两个或多个机器周期。
为标志 CPU 工作在哪个周期,每个周期设置一个周期状态触发器, CPU 进入此周期,该触发器为 1 ,否则为 0 。
1 )指令周期的基本概念
![Page 51: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/51.jpg)
3 )时钟周期 = 节拍脉冲 = T周期 ( = 微机主频的倒数 )
一个基本操作包括多个微操作,即一个机器周期内要完成许多个微 操作,每个微操作需要一定的时间,于是将一个机器周期分成若干 个相等时间段,每一时间段完成一个或两个微操作,每个时间段对 应一个节拍信号。
一个机器周期包含若干个时钟周期。
时钟周期是计算机中最基本的(不能再分的)时间单位, 它是由计算机的主频决定的。 T = 1 / 主频比如: IMB-PC 的主频是 300MHz ,一个时钟周期就是 3.3ns ,
1 )指令周期的基本概念
![Page 52: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/52.jpg)
例如:机器的主频是 16M ,平均每条指令的执行时间为 2 个机器周期, 每个机器周期由 2 个时钟周期组成, 求机器平均指令执行速度 MIPS ( Million Instructions Per Second 一秒钟机器执行多少条指令)
解: 1 指令周期 = 2 机器周期 = 2*2 时钟周期 1 时钟周期 = 1/ 主频 = 1 / 16M
1 指令周期 = 4 * 1/16 M = ¼ M
机器速度 = 1 / 指令周期 = 4MIPS
即:机器一秒钟能执行 4M 条指令。
1 )指令周期的基本概念
![Page 53: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/53.jpg)
例如:机器的主频是 200MHz ,平均每条指令执行时间为 2.5 个 CPU周期,
每个机器周期由 2 个时钟周期组成, 求 1 )该机平均指令执行速度 MIPS 2 )若主频不变,但每条指令平均包括 5 个 CPU周期,每个
CPU周 期又包括 4 个时钟周期,求机平均指令执行速度 MIPS ,
并分析原因,给出结论?解:1 ) 1 指令周期 = 2.5 CPU周期 = 2.5*2 时钟周期 1 时钟周期 = 1 / 主频 = 1 / 200M 1 指令周期 = 5 * 1/200 M = 1/40 M 机器速度 = 1 / 指令周期 = 40MIPS
2 ) 1 指令周期 = 5 CPU周期 = 5*4 时钟周期 1 时钟周期 = 1 / 主频 = 1 / 200M 1 指令周期 = 20 * 1/200 M = 1/10 M 机器速度 = 1 / 指令周期 = 10MIPS
分析:指令的复杂程度会影响指令的平均执行速度。
1 )指令周期的基本概念
![Page 54: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/54.jpg)
例如:一个完整的指令周期包括哪些 CPU 工作周期?
答:
一条完整的指令周期包括: 取指周期 间址周期 执行周期 中断周期
其中取指周期、执行周期是每条指令都必须有的。
间址周期,只有间址寻址的指令才有。
中断周期,只有在条件满足时才有。
1 )指令周期的基本概念
![Page 55: 17 cpu01](https://reader035.vdocuments.pub/reader035/viewer/2022062419/55ad7b7a1a28ab187a8b462b/html5/thumbnails/55.jpg)
复习与作业
复习章节:
第 8 章 CPU 的结构和功能8.1 、 CPU 的结构8.2 、指令周期
作业:
P370 1 、 2