关键词:
第五章 中央处理器
【复习提示】
中央处理器是计算机的中心,也是本书的难点。其中,数据通路的分析、指令执行阶段的节拍与控制信号的安排、流水线技术与性能分析易出综合题。而关于各种寄存器的特点、指令执行的各种周期与特点、控制器的相关概念、流水线的相关概念也极易出选择题。
在学习本章时,请读者思考以下问题
- 1)CPU分为哪几部分?分别实现什么功能?
- 2)指令和数据均存放在内存中,计算机如何从时间和空间上区分它们是指令还是数据?
- 3)什么是指令周期、机器周期和时钟周期?它们之间有何关系?
- 4)指令周期是否有一个固定值?为什么?
- 5)什么是微指令?它和第4章谈到的指令有什么关系?
- 6)什么是指令流水线?指令流水线相对于传统计算机体系结构的优势是什么?如何计算指令流水线的加速比?
请读者在本章的学习过程中寻找答案,本章末尾会给出参考答案。
【复习提示】
中央处理器是计算机的中心,也是本书的难点。其中,数据通路的分析、指令执行阶段的节拍与控制信号的安排、流水线技术与性能分析易出综合题。而关于各种寄存器的特点、指令执行的各种周期与特点、控制器的相关概念、流水线的相关概念也极易出选择题。
在学习本章时,请读者思考以下问题:
- 1)CPU分为哪几部分?分别实现什么功能?
- 2)指令和数据均存放在内存中,计算机如何从时间和空间上区分它们是指令还是数据?
- 3)什么是指令周期、机器周期和时钟周期?它们之间有何关系?
- 4)指令周期是否有一个固定值?为什么?
- 5)什么是微指令?它和第4章谈到的指令有什么关系?
- 6)什么是指令流水线?指令流水线相对于传统计算机体系结构的优势是什么?如何计算指令流水线的加速比?
请读者在本章的学习过程中寻找答案,本章末尾会给出参考答案。
5.1 CPU的功能和基本构造
5.1.1 CPU的基本功能
CPU的功能:
- 指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
- 操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
- 时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
- 数据加工:对数据进行算术和逻辑运算。
- 中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。
5.1.2 CPU的基本结构
1.运算器
- 算术逻辑单元ALU
- 累加寄存器ACC
- 程序字状态寄存器PSW
- 计数器CT
- 暂存寄存器
- 通用寄存器组
- 移位器
通用寄存器供用户自由编程,可以存放数据和地址。而指令寄存器是专门用于存放指令的专用寄存器,不能由通用寄存器代替。
2.控制器
- 程序计数器PC:存放下一条指令在主存中的地址,具有自增功能。
- 指令寄存器IR:存放当前正在执行的指令。
- 指令译码器
- 存储器地址寄存器MAR
- 存储器数据寄存器MDR
- 时序系统
- 微操作信号发生器
条件转移指令执行时,需要对标志寄存器的内容进行测试,判断是否满足转移条件。
转移指令时,需要判断转移是否成功,若成功则PC修改为转移指令的目标地址,否则下一条指令的地址仍然为PC自增后的地址。指令包括操作码字段和地址码字段,但指令译码器仅对操作码字段进行译码,借以确定指令的操作功能。
注意:CPU内部寄存器大致可分为两类:一类是用户可见的寄存器,可对这类寄存器编程,如通用寄存器组、程序状态字寄存器;另一类是用户不可见的寄存器,对用户是透明的,不可对这类寄存器编程,如存储器地址寄存器MAR、存储器数据寄存器MDR、指令寄存器IR。
5.2 指令执行过程
5.2.1 指令周期
5.2.2 指令周期的数据流
取指周期
间址周期
间址周期的作用是取操作数的有效地址,因此间址周期结束后,MDR的内容为操作数地址。
执行周期
根据IR中的指令字的操作码和操作数通过ALU操作产生执行结果。不同指令的执行操作不同,因此没有统一的数据流向。
中断周期
5.2.3 指令执行方案
5.3 数据通路的功能和基本结构
实际考试中,建议把间址周期合并到执行周期,因为每个人对间址周期的理解是不一样的
专用数据通路方式
注意ALU不是通用寄存器?
5.4 控制器的功能和工作原理
5.4.1 控制器的结构和功能
控制器是计算机系统的指挥中心,控制器的主要功能有:
- 1)从主存中取出一条指令,并指出下一条指令在主存中的位置。
- 2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
- 3)指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。
5.4.2 硬布线控制器
1. 硬布线控制单元图
2.硬布线控制器的时序及微操作
3.CPU控制方式
4.硬布线控制单元设计步骤
5.4.3 微程序控制器
1.微程序控制的基本概念
2.微程序控制组成和工作过程
5.微指令的格式
3.微指令的编码方式
4.微指令的地址形成方式
6.微程序控制单元的设计
设计步骤:
- 分析每个阶段的微操作序列
- 写出对应机器指令的微操作命令及节拍安排
- 确定微指令格式
- 编写微指令码点
7. 动态微程序设计和毫微程序设计
8.硬布线和微程序控制器的特点
5.5 指令流水线
5.5.1 指令流水的基本概念
5.5.3 影响流水线的因素
5.5.2 流水线的分类
1.部件功能级、处理机级和处理机间级流水线
- 根据流水线使用的级别的不同,流水线可分为部件功能级流水线、处理机级流水线和处理机间流水线。
- 部件功能级流水就是将复杂的算术逻辑运算组成流水线工作方式。例如,可将浮点加法操作分成求阶差、对阶、尾数相加以及结果规格化等4个子过程。
- 处理机级流水是把一条指令解释过程分成多个子过程,如前面提到的取指、译码、执行、访存及写回5个子过程。
- 处理机间流水是一种宏流水,其中每一个处理机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中。
2.单功能流水线和多功能流水线
- 按流水线可以完成的功能,流水线可分为单功能流水线和多功能流水线。
- 单功能流水线指只能实现一种固定的专门功能的流水线;
- 多功能流水线指通过各段间的不同连接方式可以同时或不同时地实现多种功能的流水线。
3.动态流水线和静态流水线
- 按同一时间内各段之问的连接方式,流水线可分为静态流水线和动态流水线。
- 静态流水线指在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
- 动态流水线指在同一时间内,当某些段正在实现某种运算时,另一些段却正在进行另一种运算。这样对提高流水线的效率很有好处,但会使流水线控制变得很复杂。
4.线性流水线和非线性流水线 - 按流水线的各个功能段之间是否有反馈信号,流水线可分为线性流水线与非线性流水线。
- 线性流水线中,从输入到输出,每个功能段只允许经过一次,不存在反馈回路。
- 作线性流水线存在反馈回路,从输入到输出过程中,某些功能段将数次通过流水线,这种流水线适合进行线性递归的运算。
5.5.5 超标量流水线的基本概念
1.超标量流水技术
2.超流水技术
3.超长指令集
5.6本章开头提出的问题回答
1)CPU分为哪几部分?分别实现什么功能?
-
1)CPU分为哪几部分?分别实现什么功能?
CPU分为运算器和控制器。其中运算器主要负责数据的加工,即对数据进行算术和逻辑运算控制器是整个系统的指挥中枢,对整个计算机系统进行有效的控制,包括指令控制、操作控制、时间控制和中断处理。
2)指令和数据均存放在内存中,计算机如何从时间和空间上区分它们是指令还是数据?
-
2)指令和数据均存放在内存中,计算机如何从时间和空间上区分它们是指令还是数据?
从时间上讲,取指令事件发生在“取指周期”,取数据事件发生在“执行周期”。从空间上讲,从内存读出的指令流流向控制器(指令寄存器),从内存读出的数据流流向运算器(通用寄存器)。
3)什么是指令周期、机器周期和时钟周期?它们之间有何关系?
-
3)什么是指令周期、机器周期和时钟周期?它们之间有何关系?
CPU每取出并执行一条指令所需的全部时间称为指令周期;机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作(指令步)所需的时间,通常安排机器周期长度=主存周期;时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应完成一个微操作所需的时间,通常时钟周期=计算机主频的倒数
4)指令周期是否有一个固定值?为什么?
-
4)指令周期是否有一个固定值?为什么?
由于计算机中各种指令执行所需的时间差异很大,因此为了提高CPU的运行效率,即使在同步控制的机器中,不同指令的指令周期长度都是不一致的,即指令周期对不同的指令来说不是个固定值。
5)什么是微指令?它和第4章谈到的指令有什么关系?
-
5)什么是微指令?它和第4章谈到的指令有什么关系?
控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令,而一组实现一定操作功能的微命令的组合,构成一条微指令。许多条微指令组成的序列构成微程序,微程序完成对指令的解释执行。指令,即指机器指令。每条指令可以完成一个独立的算术运算或逻辑运算操作。在采用微程序控制器的CPU中,一条指令对应一个微程序,一个微程序由许多微指令构成,一条微指令会发出很多不同的微命令。
6)什么是指令流水线?指令流水线相对于传统计算机体系结构的优势是什么?如何计算指令流水线的加速比?
-
6)什么是指令流水线?指令流水线相对于传统计算机体系结构的优势是什么?如何计算指令流水线的加速比?
指令流水线是把指令分解为若干子过程,通过将每个子过程与其他子过程并行执行,来提高计算机的吞吐率的技术。采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术,通过在同一个时间段使用各功能部件,使得利用率明显提高。
流水线的加速比指的是完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。一条k段流水线理论上的最大加速比为Smax=k。因此,在现代计算机中提高流水线段数有利于提高计算机的吞吐量。具体的加速比要使用时空图来计算。
5.7 常见问题
1.流水线越多,并行度就越高。是否流水段越多,指令执行越快?
-
1.流水线越多,并行度就越高。是否流水段越多,指令执行越快?
错误,因为如下:
1)流水段缓冲之间的额外开销增大。每个流水段有一些额外开销用于缓冲间传送数据、进行各种准备和发送等功能,这些开销加长了一条指令的整个执行时间,当指令间逻辑上相互依赖时,开销更大。
2)流水段间控制逻辑变多、变复杂。用于流水线优化和存储器(或寄存器)冲突处理的控制逻辑将随流水段的增加而大增,这可能导致用于流水段之间控制的逻辑比段本身的控制逻辑更复杂。
2.有关指令相关、数据相关的几个概念
-
2.有关指令相关、数据相关的几个概念
1)两条连续的指令读取相同的寄存器时,会产生读后读( Read After Read,RAR)相关,这种相关不会影响流水线。
2)某条指令要读取上一条指令所写入的寄存器时,会产生写后读( Read After Write,RAW)相关,它称数据相关或真相关,影响流水线。按序流动的流水线只可能出现RAW相关。
3)某条指令的上条指令要读/写该指令的输出寄存器时,会产生读后写( Write After Read,WAR)和写后写( Write After Write,WAW)相关。在非按序流动的流水线中,既可能发生RAW相关,又可能发生WAR相关和WAW相关。
对流水线影响最严重的指令相关是数据相关。
中央处理器(代码片段)
王道考研计算机组成原理第五章中央处理器1、CPU的功能和基本结构1.1、运算器的基本结构1.1.1、专用数据通路方式1.1.2、CPU内部单总线方式1.2、控制器的基本结构2、指令执行过程2.1、指令周期2.2、指令周期流程2.3.1、取指周期2.3.... 查看详情
大数据nifi处理器
目录1处理器介绍1.1查看处理器1.2常用处理器-整理2配置处理器2.1添加一个处理器2.2配置处理器配置项说明2.3配置处理器2.3.1SETTING(设置)2.3.2SCHEDULING(任务调度)2.3.3PROPERTIES(属性)2.3.4COMMENTS(注释)1处理器介绍1.1查看处理器1选择处理器... 查看详情
计算机硬件介绍--中央处理器--cpu
一个核就代表一个独立的CPU模块 控制单元:控制器算数、逻辑单元:运算器 查看详情
中央处理器-第七节1:多处理器的基本概念
文章目录一:SISD、SIMD、MIMD基本概念(1)单指令单数据流SISD(2)单指令多数据流SIMD(3)多指令单数据流MISD(4)**多指令多数据流MIMD**A:多处理器系统B:多计算机系统一:SISD、SIMD、MIMD基本概念计算机体系结构分类:基于指... 查看详情
rk3399平台开发系列讲解(cpu篇)cpufreq中央处理器频率调节技术
rk3399平台开发系列讲解(cpu篇)cpufreq中央处理器频率调节技术
赛扬、奔腾、酷睿处理器,有啥区别?
参考技术A赛扬、奔腾、酷睿处理器,有什么区别?1.赛扬处理器。大家都知道奔腾处理器,从最早的奔腾到现在的奔腾4,就是P4处理器。这些处理器是英特尔公司在主流价位机器上力推的产品,其定价比较高。但是为了满足低... 查看详情
中央处理器
第五章中央处理器【复习提示】中央处理器是计算机的中心,也是本书的难点。其中,数据通路的分析、指令执行阶段的节拍与控制信号的安排、流水线技术与性能分析易出综合题。而关于各种寄存器的特点、指令执行的各种周... 查看详情
64位处理器是啥意思
参考技术A处理器一般指中央处理器。中央处理器简称CPU,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。那么64位处理器是什么意思?1、64位处理器是采用64位处理技术的CPU。相对32位而言,64位指的... 查看详情
计算机组成原理笔记——中央处理器cpu
文章目录CPU的功能和基本结构指令执行过程数据通路的功能和基本结构控制器的功能和工作原理指令流水线CPU的功能和基本结构CPU的功能:运算器和控制器的功能:运算器运算器是指计算机中进行各种算术和逻辑运算操... 查看详情
使用 python 获取处理器类型 for Apple M1 处理器给了我一个 Intel 处理器
】使用python获取处理器类型forAppleM1处理器给了我一个Intel处理器【英文标题】:GettheprocessortypeusingpythonforAppleM1processorgivesmeanIntelprocessor【发布时间】:2021-06-2418:17:08【问题描述】:我有带有M1处理器的新MacBookPro,它是基于ARM的处... 查看详情
中央处理器-第六节3:五段式指令流水线(代码片段)
文章目录一:运算类指令的执行过程二:LOAD指令执行过程三:STORE指令执行过程四:条件转移指令执行过程五:无条件转移指令执行过程本节会介绍如下5类指令的执行过程,它们在考试中经常出现运算类指令LOAD指令STORE指令条... 查看详情
中央处理器-第七节2:硬件多线程的基本概念
文章目录一:细粒度多线程二:粗粒度多线程三:同时多线程硬件多线程:在(王道408考研操作系统)第二章进程管理-第一节5:线程概念和多线程模型这一节中我们说到了线程的一些缺点。线程粒度较进程来讲更细,而且线程切... 查看详情
华为od机试-处理器问题(java&js&python)
题目描述某公司研发了一款高性能AI处理器。每台物理设备具备8颗AI处理器,编号分别为0、1、2、3、4、5、6、7。编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信。如下图... 查看详情
嵌入式:arm协处理器指令总结
ARM支持16个协处理器,用于各种协处理器操作,最常使用的协处理器是用于控制片上功能的系统协处理器,例如控制ARM720上的高速缓存和存储器管理单元等,也开发了浮点ARM协处理器,还可以开发专用的协处理器。当一个协处理... 查看详情
华为od机试真题-ai处理器组合2023q1javapythonc++
题目描述:某公司研发了一款高性能AI处理器。每台物理设备具备8颗AI处理器,编号分别为0、1、2、3、4、5、6、7。编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信,如下... 查看详情
大数据nifi:nifiprocessors(处理器)
NiFiProcessors(处理器)为了创建高效的数据流处理流程,需要了解可用的处理器(Processors)类型,NiFi提供了大约近300个现成的处理器。这些处理器提供了可从不同系统中提取数据,路由,转换,处理,拆分和聚合数据以及将数据分发到... 查看详情
(计算机组成原理)第五章中央处理器-第四节4:微程序控制单元设计
...器和微程序控制器比较这一节和(计算机组成原理)第五章中央处理器-第四节1:CPU硬布线控制器的设计原理(逻辑表达式,微操作时序,电路设计)内容较为相似,可作对 查看详情