计算机组成原理知识总结(五)中央处理器
计算机组成原理知识总结
计算机组成原理知识总结(一)计算机概论
计算机组成原理知识总结(二)运算方法和运算器
计算机组成原理知识总结(三)存储系统
计算机组成原理知识总结(四)指令系统
中央处理器
5.1 CPU的功能和组成
5.1.1 CPU的功能
用来专门完成程序任务工作的计算机成为中央处理器,简称CPU。
指令控制、操作控制、时间控制和数据加工
5.1.2 CPU的基本组成
控制器
由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。
运算器
由算术逻辑运算单元(ALU)、通用寄存器、数据缓冲寄存器(DR)和程序状态字寄存器(状态条件寄存器,PSWR)组成,它是数据加工处理部件。
5.1.3 CPU的主要寄存器
数据缓冲寄存器(DR),指令寄存器(IR),程序计数器(PC),数据地址寄存器(AR),通用寄存器(R0~R3),程序状态字寄存器(PSWR)。
- 数据缓冲寄存器(DR) 数据缓冲寄存器用来暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。
- 指令寄存器(IR) 指令寄存器用来保存当前正在执行的一条指令。
- 程序计数器(PC) 为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。
- 数据地址寄存器(AR) 数据地址寄存器用来保存当前CPU所访问的数据存储器(简称数存)单元的地址。
- 通用寄存器 在我们的模型中,通用寄存器有4个(R0~R3),其功能是:当算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。
- 程序状态字寄存器(PSWR) 程序状态字寄存器又称为状态条件寄存器,保存由算术运算指令和逻辑运算指令运算或测试结果建立的各种条件代码,如运算结果进位标志( C ),运算结果溢出标志(V),运算结果为零标志(Z),运算结果为负标志(N),等等。
5.1.4 操作控制器与时序产生器
通常把许多寄存器之间传送信息的通路,称为数据通路。在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。
根据设计方法不同,操作控制器可分为时序逻辑型和存储逻辑型两种。第一种称为硬布线控制器,它是采用时序逻辑技术来实现的;第二种称为微程序控制器,它是采用存储逻辑来实现的。
5.2 指令周期
CPU每取出一条指令并执行这条指令,都要完成一系列的操作,这一系列操作所需的时间通常叫做一个指令周期。
指令周期常常用若干个CPU周期数来表示,CPU周期又称为机器周期。
单周期CPU和多周期CPU 单周期CPU在一个时钟周期内完成从指令取出到得到结果的所有工作,指令系统中所有指令执行时间都以最长时间的指令为准,因而效率低,当前较少采用。多周期CPU把指令的执行分成多个阶段,每个阶段在一个时钟周期内完成,因而时钟周期短,不同指令所用周期数可以不同。
5.2.2 MOV指令的指令周期
取指周期中CPU完成三件事:①从指存取出指令;②对程序计数器PC加1,以便为取下一条指令做好准备;③对指令操作码进行译码或测试,以便确定进行什么操作。
取指周期
- 程序计数器PC中装入第一条指令地址101(八进制);
- PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;
- 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;
- 程序计数器内容加1,变成102,为取下一条指令做好准备;
- 指令寄存器中的操作码(OP)被译码;
- CPU识别出是MOV指令。至此,取指周期结束。
执行指令阶段(执行周期)
- 操作控制器(OC)送出控制信号到通用寄存器,选择R1(10)作源寄存器,选择R0作目标寄存器;
- OC送出控制信号到ALU,指定ALU做传送操作;
- OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上。注意,任何时候DBUS上只能有一个数据;
- OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10);
- OC送出控制信号,将DR中的数据10打入到目标寄存器R0,R0的内容由00变为10。
5.2.3 LAD指令的指令周期
LAD指令的取指周期
在LAD指令的取指周期中,CPU的动作完全与MOV指令取指周期中一样。以下ADD、STO、JMP三条指令的取指周期中,CPU的动作完全与MOV指令一样,不再细述。
LAD指令的执行周期
- 操作控制器OC发出控制命令打开IR输出三态门,将指令中的直接地址码6放到 数据总线DBUS上;
- OC发出操作命令,将地址码6装入数存地址寄存器AR;
- OC发出读命令,将数存6号单元中的数100读出到DBUS上;
- OC发出命令,将DBUS上的数据100装入缓冲寄存器DR;
- OC发出命令,将DR中的数100装入通用寄存器R1,原来R1中的数10被冲掉。
5.2.4 ADD指令的指令周期
- 操作控制器OC送出控制命令到通用寄存器,选择R1做源寄存器,R2做目标寄
存器; - OC送出控制命令到ALU,指定ALU做R1(100)和R2(20)的加法操作;
- OC送出控制命令,打开ALU输出三态门,运算结果120放到DBUS上;
- OC送出控制命令,将DBUS上数据打入缓冲寄存器DR;ALU产生的进位信号保存在状态字寄存器PSWR中;
- OC送出控制命令,将DR(120)装入R2,R2中原来的内容20被冲掉。
5.2.5 STO指令的指令周期
- 操作控制器OC送出操作命令到通用寄存器,选择(R3)=30做数据存储器的地址单元;
- OC发出操作命令,打开通用寄存器输出三态门(不经ALU以节省时间),将地址30放到DBUS上;
- OC发出操作命令,将地址30打入AR,并进行数存地址译码;
- OC发出操作命令到通用寄存器,选择(R2)=120,作为数存的写入数据;
- OC发出操作命令,打开通用寄存器输出三态门,将数据120放到DBUS上;
- OC发出操作命令,将数据120写入数存30号单元,它原先的数据40被冲掉。至此,STO指令执行周期结束。
5.2.6 JMP指令的指令周期
- OC发生操作控制命令,打开指令寄存器IR的输出三态门,将IR中的地址码101
发送到DBUS上; - OC发出操作控制命令,将DBUS上的地址码101打入到程序计数器PC中,PC中的原先内容106被更换。于是下一条指令不是从106号单元取出,而是转移到101号单元取出。
5.2.7 用方框图语言表示指令周期
5.3 时序产生器和控制方式
5.3.1 时序信号的作用和体制
CPU中也有一个类似“作息时间”的东西,它称为时序信号。计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。一般来说,操作控制器发出的各种控制信号都是时间因素(时序信号)和空间因素(部件位置)的函数。
5.3.2 时序信号产生器
- 时钟源 时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。
- 环形脉冲发生器 环形脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲,其电路参见动画视频。
- 节拍脉冲和存储器读/写时序 我们假定在一个CPU周期中产生四个等间隔的节拍脉冲1To~4To,每个节拍脉冲的脉冲宽度均为200ns,因此一个CPU周期便是800ns,在下一个CPU周期中,它们又按固定的时间关系重复。
- 启停控制逻辑 机器一旦接通电源,就会自动产生原始的节拍脉冲信号1To~4To。
5.3.3 控制方式
- 同步控制方式
在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的,称为同步控制方式。 - 异步控制方式
异步控制方式的特点是:每条指令、每个操作控制信号需要多少时间就占用多少时间。 - 联合控制方式
此为同步控制和异步控制相结合的方式。
5.4 微程序控制器
5.4.1 微程序控制原理
- 微命令和微操作
一台数字计算机基本上可以划分为两大部分——控制部件和执行部件。控制部件与执行部件的一种联系,就是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令,而执行部件接受微命令后所进行的操作,称为微操作。
微操作在执行部件中是最基本的操作。由于数据通路的结构关系,微操作可分为相容性和相斥性两种。所谓相容性的微操作,是指在同时或同一个CPU周期内可以并行执行的微操作。所谓相斥性的微操作,是指不能在同时或不能在同一个CPU周期内并行执行的微操作。 - 微指令和微程序
在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。 一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列通常称为微程序。 - 微程序控制器原理框图
它主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。
- 微程序举例
一条机器指令是由若干条微指令组成的序列来实现的。 - CPU周期与微指令周期的关系
在串行方式的微程序控制器中,微指令周期等于读出微指令的时间加上执行该条微指令的时间。 - 机器指令与微指令的关系
一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。
从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。
5.4.2 微程序设计技术
微命令编码
(1)直接表示法 其特点是操作控制字段中的每一位代表一个微命令。这种方法的优点是简单直观,其输出直接用于控制。缺点是微指令字较长,因而使控制存储器容量较大。
(2)编码表示法 编码表示法是把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组(字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。
(3)混合表示法 这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑微指令字长、灵活性、执行微程序速度等方面的要求。
微地址的形成方法
- 计数器方式 在顺序执行微指令时,后继微地址由现行微地址加上一个增量来产生;在非顺序执行微指令时,必须通过转移方式,使现行微指令执行后,转去执行指定后继微地址的下一条微指令。
- 多路转移方式 一条微指令具有多个转移分支的能力称为多路转移。
微指令格式
- 水平型微指令
一次能定义并执行多个并行操作微命令的微指令,称为水平型微指令。 - 垂直型微指令
微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。 - 水平型微指令与垂直型微指令的比较
(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。
(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。
(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。
(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。
动态微程序设计
当采用E2PROM作为控制存储器时,还可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。
5.5 硬布线控制器
基本思想
硬布线控制器是早期设计计算机的一种方法。这种方法是把控制部件看作产生专门固定时序控制信号的逻辑电路,而此逻辑电路以使用最少元件和取得最高操作速度为设计目标。
指令执行流程
一个机器指令对应一个微程序,而一个微指令周期则对应一个节拍电位时间。节拍电位信号的产生电路与节拍脉冲产生电路十分类似,它可以在节拍脉冲信号时序器的基础上产生,运行中以循环方式工作,并与节拍脉冲保持同步。
微操作控制信号的产生
在微程序控制器中,微操作控制信号由微指令产生,并且可以重复使用。
在硬布线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。
5.6 流水CPU
5.6.1 并行处理技术
并行性有着两种含义:一是同时性,指两个以上事件在同一时刻发生;二是并发性,指两个以上事件在同一时间间隔内发生。计算机中① 时间并行;②空间并行;③时间并行+空间并行。
5.6.2 流水CPU的结构
流水计算机的系统组成
流水 CPU 的时空图
计算机的流水处理过程非常类似于工厂中的流水装配线。为了实现流水,首先把输入的任务(或过程)分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行。
流水线分类
- 指令流水线 指指令步骤的并行。将指令流的处理过程划分为取指令、译码、取操作数、执行、写回等几个并行处理的过程段。
- 算术流水线 指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法器等。
- 处理机流水线 又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。
5.6.3 流水线中的主要问题
良好的性能三相关,资源相关、数据相关和控制相关。
- 资源相关
所谓资源相关,是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。 - 数据相关
在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。 - 控制相关
控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。
(1)延迟转移法 由编译程序重排指令序列来实现。
(2)转移预测法 硬件方法来实现,依据指令过去的行为来预测将来的行为。
5.7 RISC CPU
5.7.1 RISC机器的特点
RISC概括的三个基本要素是普遍认同的。这三个要素是:①一个有限的简单的指令系统;②CPU配备大量的通用寄存器;③强调对指令流水线的优化。
5.7.2 RISC CPU实例
MC88110 CPU结构框图
MC88110 的指令流水线
指令动态调度策略
88110采用按序发射、按序完成的指令动态调度策略。为了判定能否发射指令,88110使用了计分牌方法。
5.7.3 动态流水线调度
所谓动态流水线调度,是对指令进行重新排序以避免处理器阻塞的硬件支持。通常流水线分为3个主要单元:一个取指令发射单元,多个功能单元(10个或更多),一个指令完成单元。
总结
CPU是计算机的中央处理部件,具有指令控制、操作控制、时间控制、数据加工等基本功能。
本文来自博客园,作者:赫凯,转载请注明原文链接:https://www.cnblogs.com/heKaiii/p/17137391.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】