中央处理器

中央处理器

CPU的功能和组成

CPU的功能

  1. 指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
  2. 操作控制:一条指令由若干条操作信号实现
  3. 时间控制:指令各个操作实施时间的定时
  4. 数据加工:算数运算和逻辑运算
  5. 中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理

CPU的基本组成

运算器

组成:算数逻辑运算单元(ALU)、通用寄存器、数据缓冲寄存器(DR)

主要负责对程序所执行指令进行分析,并协调计算机各个部件进行工作

主要功能:

  1. 执行所有的算数运算
  2. 执行所有的逻辑运算,并进行相应的逻辑测试
控制器

组成:程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器

负责对数据进行逻辑运算和算数运算操作

功能:

  1. 从cache中取出一条指令,并指出下一条指令在cache中的位置
  2. 对指令进行译码或者测试,并产生相应的操作控制信号
  3. 指挥并控制CPU、cache和输入输出设备之间数据流动的方向
寄存器

存储中间数据处理结束

内部缓存

用来暂存CPU运行时的数据和指令

CPU中的主要寄存器

  1. 数据缓冲寄存器(DR):用来暂时存放ALU的运算结果

    作用:

    1. 作为ALU和运算结果和通用寄存器之间进行数据传输时的时间上的缓冲
    2. 补偿CPU和内存、外围设备之间在操作速度上的差别
  2. 指令寄存器(IR):仅仅保存当前正在执行的一条指令

  3. 程序计数器(PC):用于指出下一条指令在主存中的存放地址,CPU就是根据PC中的内容去主存中取指令的。由于程序中的指令通常是顺序执行的,所以PC有自增的功能

  4. 数据地址寄存器(AR):用来保存当前CPU所访问的数据存储器的单元的地址

  5. 通用寄存器:当算数逻辑单元(ALU)执行算数或者逻辑操作的时候,为ALU提供一个工作区

  6. 程序状态字寄存器(PSWR):保存不同运算或者测试结果建立的各种代码

操作控制器与时序产生

数据通路:将寄存器之间传送信息的通路

操作控制器:为数据通路的建立提供各种操作信号

  1. 时序逻辑型(硬布线控制器):采用时序逻辑电路实现的
  2. 存储逻辑型(微程序控制器):采用存储逻辑技术实现的

时序产生器:提供定时和时序信号

其他部件:中断系统、总线接口

指令周期

定义:取出一条指令并执行的时间

指令的执行过程:

取指令
译码指令
取操作数
运算

指令周期通常由若干个CPU周期数来表示,每个CPU周期完成一个基本操作

相关定义:

  1. 机器周期:CPU周期
  2. CPU周期:主存的工作周期为基础来规定CPU的执行周期
  3. 时钟周期:在一个CPU周期内,要完成若干个微操作,CPU主频的倒数
  4. T周期(节拍脉冲):把一个CPU周期分为若干个时间段,每一个时间段称为一个节拍脉冲
  5. 单周期:CPU在一个时钟周期内完成从取指令到得到结果
  6. 多周期:把指令的执行分为多个阶段,每个阶段在一个时钟周期内完成,故而不同指令的周期数可以不同

时钟周期不等于T周期

MOV指令的指令周期

MOV是一条RR型指令

它需要两个CPU周期,取指令和执行指令各需要一个CPU周期

执行操作:

  1. 从指存中取出指令
  2. 对程序计数器PC加1,以便为取一条指令做好准备
  3. 对指令操作码进行译码或者测试

取指周期:

  1. PC–>ABUS–>指令Cache,译码并启动
  2. 指令Cache–>IR
  3. PC–>PC+1,为取一条指令做好准备
  4. IR中的操作码被译码或者测试,CPU识别指令

指令执行阶段:

  1. R1–>ALU,R1中的数据通过ALU传输
  2. ALU–>DBUS–>DR–>R0
LAD指令的指令周期
计算机的性能指标
  1. 主频/时钟周期
    1. 主时钟的频率:CPU的主频(f)
    2. 主频的倒数称为CPU的时钟周期(T),T=1/f
  2. CPI:执行一条指令所需要的平均时钟周期数
  3. MIPS:每秒执行百万条指令,即单位时间内执行指令的周期数

时序产生器和控制方式

时序信号的作用和体质

作用:

  1. 指挥机器的工作
  2. CPU可以用时序信号/周期信息来辨认我们取出的是数据还是指令
  3. 一个CPU周期中时钟脉冲对CPU的动作有严格的约束
  4. 操作控制器发出的各种信号是时间(时序信号)和空间(部件操作信号)的函数

时序信号产生器

用逻辑电路实现时序的控制

微程序控制器中时序信号产生器的组成

  1. 时钟源:提供稳定的基本方波时钟信号
  2. 环形脉冲发生器:产生一组有序时间间隔相等或不等的脉冲序列
  3. 节拍脉冲和存储器读写时序译码逻辑:环形脉冲与节拍脉冲共同作用产生各个控制信号的时序

控制方式

  1. 同步控制方式:指令的机器周期和时钟周期数不变
    1. 完全统一机器周期执行各种不同的指令
    2. 采用不定长机器周期
    3. 中央控制器与局部控制的结合
  2. 异步控制方式:每条指令的执行需要多长时间就占多少时间
  3. 联合控制方式
    1. 大部分指令在固定的周期内完成,少数难以确定的操作采取异步的方式
    2. 机器周期的节拍脉冲固定,但是各个指令的机器周期数不固定
体制

时序信号的基本体制是电位——脉冲制

脉冲信号到达之前,电平信号必须平稳

微程序控制器

时序信号

节拍电位
节拍脉冲二级体制

微程序控制原理

  1. 微程序设计技术

利用软件技术来设计硬件的一种技术

具有:规整性、灵活性、可维护性等一系列优点

  1. 基本思想:

将操作控制信号编为微指令存放到存储器中,运行的时候一条一条的读出这些微指令,从而产生需要的各种操作信号

  1. 微程序控制器的基本组成部件:

控制存储器、微指令寄存器、地址转移逻辑

地址转移逻辑:用于跳跃寻址微指令的时候,承担完成自动修改微地址的任务

微指令寄存器(MIR):存放由控制存储器中读出的一条微指令信息

微地址寄存器( μ A R \mu AR μAR):决定要访问的下一条微指令的地址

微命令寄存器:保存一条微指令的操作控制字段和判别测试字段的信息

控制存储器(CM):存放实现全部指令系统的微指令;由ROM构成,要求速度快,读写周期短;所有的微指令都存放在控制存储器,使用地址访问

CM的字长就是微指令的字长,CM是控制器的一部分

微操作和微命令

控制线:控制部件与执行部件的连接线

微操作:执行部件接受微命令后执行的操作

微命令:控制部件通过控制线向执行部件发送各种控制命令,是构成控制序列的最基本操作

状态测试:执行部件通过反馈部件反应当前的操作状态,来决定控制部件下一步的微命令

微操作是微命令的执行过程;微程序由一系列的微指令排列组合而成,通常存储在ROM中

  1. 相容性微命令:可以同时产生、同时完成某一些微操作的微命令,在同一个CPU周期内可以并行执行的
  2. 互斥性微命令:在机器中不允许同时出现的微命令,在同一个CPU周期内不可以并行执行的
微指令和微程序
  1. 微指令

一个CPU周期内,能够实现一定操作功能的的微命令的组合,微指令的组成:操作控制和顺序控制

操作控制:用于发出管理和指挥全机工作的控制信号

顺序控制:用于决定产生下一条微指令的地址

  1. 微程序

能够实现一条机器指令功能的多条微指令序列

操作控制字段中的每一位都代表一个微命令

微命令信号都是节拍电位信号

优点:简单直观,便于控制,执行速度快

缺点:微指令字长较长

微程序设计技术

微命令编码

直接表示法/编码表示法/混合表示法

  1. 直接表示法

操作控制字段中的各位可以直接控制计算计,不需要进行译码

  1. 编码表示法

将操作控制字段分为若干个小段,每段内采用的是最短编码法,段与段之间采用直接控制法

编码的特点:可以避免互斥,使得指令字大大缩短,但是由于增加了译码电路,使得微程序执行速度减慢

  1. 混合表示法

将前两种结合在一起,兼顾两者特点,一个字段的某些编码不能够独立的定义某些微命令,而需要与其他字段的编码来联合定义

微地址的形成方法
  1. 计数器方式

类似于CPU中的PC产生机器指令地址

优点:微程序的顺序控制字段较短,微地址产生简单

缺点:多路并行转移功能较弱,速度较慢,灵活性较差

  1. 多路转移方式

根据条件转移

特点:能够以较短的顺序控制字段配合,并实现多路并行转移,灵活性好,速度较快

微指令格式
  1. 水平型微指令

是指一次能定义并能够并行执行的多个微命令的微指令

  1. 垂直型微指令(采用编码的方式)

设置微操作控制字段时,一次只能够执行一到两个命令

水平型微指令和垂直型微指令的比较

水平型微指令垂直型微指令
并行操作
效率
灵活性
执行时间较短较长
指令字的字长较长较短
微程序的长度较短较长
难易较难较易
动态微程序设计

采用EPROM作为控制存储器,通过改变微指令和微程序来改变机器的指令系统

硬布线控制器

时序信号:

主状态周期
节拍电位
节拍脉冲三级体制度

硬布线是一种由门电路和触发器构成的复杂树型网络,相比于微程序其速度更快

输入信号来源

  1. 操作译码器( I m I_m Im):不同的指令操作码和寻址方式决定执行操作
  2. 执行部件的反馈( B j B_j Bj):受条件码影响,在不同的条件状态产生不同的执行结果
  3. 节拍电位信号M和节拍脉冲信号T:使得微操作信号按照时序要求产生

指令的执行流程

微操作控制信号的产生

  1. 微程序控制器中

微操作控制信号由微指令产生,并且可以重复利用

  1. 硬布线控制器中

微操作控制信号由布尔代数表达式描述产生的输出函数产生

流水CPU

并行处理技术

并行的含义:

  1. 同时性:两个以上的事件在同一个时刻发生
  2. 并发性:两个以上的事件在同一个时间间隔内发生

并行方式:

  1. 时间并行

    让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部件,采用流水线处理部件

  2. 空间并行(资源重复):以数量取胜

  3. 时间+空间并行

微指令的执行方式

串行执行

并法执行

流水CPU的结构

指令部件、指令队列、执行部件

  1. 指令部件

指令部件本身构成一个流水线,取指令、指令译码、计算操作数地址、取操作数等过程段组成

  1. 指令队列

是一个先进先出的寄存器栈,用于存放经过译码的指令和取来的操作数

  1. 执行部件

可以具有多个ALU部件,这些部件由流水线的方式被构成

主存采用多体交叉存储器,来提高访问速度

流水CPU的时空图
入口
IF
ID
EX
MEM
WD
出口
  1. 顺序方式的串行指令执行方式

  2. 并发指令的执行方式

在这里插入图片描述

流水线分类
  1. 指令流水线:指令执行的并行处理
  2. 算数流水线:运算操作步骤的并行处理
  3. 处理机流水线:程序步骤的并行处理

指令流水线有:取值(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器(WB)

流水线中的主要问题

资源相关

由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关

解决方案:

  1. 后一相关指令暂停1周期
  2. 资源重复配置:数据存储器+指令存储器
数据相关

解决方案:

  1. 将遇到数据相关的指令及其后续指令都暂存一至几个时钟周期,直到数据相关问题消失后再继续执行。可分为硬件阻塞"stall"和软件插入"NOP"两种方法
  2. 数据旁路技术,直接采用运算器的结果
  3. 编译优化:通过编译器调整指令顺序来解决数据冲突

RAW:写后读,出现在按序发射,按序完成

WAR:读后写,后面的指令覆盖前面的指令的读取单元,一般出现在乱序发射的情况

WAW:写后写,前后两个操作都是对同一个对象进行操作,在存在多个功能部件的时候,后一条指令可能比前一条指令先完成

控制相关

当流水线遇到转移指令和其他改变PC值的指令而造成断流的时候,会引起控制相关

解决方案:

  1. 尽早判断转移是否发生,尽早生成转移目标地址
  2. 预取转移成功和不成功两个控制流方向上的目标指令
  3. 加快和提前形成条件码
  4. 提高转移方向的猜测率

RISC CPU

基本要素
  1. 一个有限的简单指令集
  2. CPU配备有大量的通用寄存器
  3. 强调流水线的优化
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值