计算机组成原理 CPU

中央处理器

CPU的功能和组成

CPU:中央处理器 Central Processing Unit

  • 功能

    • 指令控制:程序的顺序控制,亦即指令控制

    • 操作控制:发出操作信号

    • 时间控制:对各种操作实施时间上的定时

    • 数据加工:对数据进行算术运算和逻辑运算处理

  • 组成

    • 控制器:由程序计数器PC、指令寄存器IR,指令译码器ID (instruction decoder)、时序产生器、操作控制器组成

    • 运算器:算术逻辑运算单元ALU,通用寄存器、数据缓存寄存器DR、程序状态字寄存器(状态条件寄存器,PSWR process state word register)

  • CPU中主要的寄存器

    • 数据缓存寄存器DR:暂存ALU的运算结果

    • 指令寄存器IR:保存当前正在执行的一条指令

    • 程序计数器PC,即指令计数器,存放下一条要执行指令在指存的地址

    • 数据地址寄存器AR,address,保存数存单元的地址

    • 通用寄存器

    • 程序状态字寄存器PSWR,亦即状态条件寄存器,保存标志位

  • 操作控制器

    • 数据通路:许多寄存器之间传送信息的通路

    • 建立通路由操作控制器完成

    • 操作控制器分类

      • 时序逻辑:硬布线控制器

      • 存储逻辑:微程序控制器

  • 时序产生器:对操作控制器产生的控制信号进行定时控制

指令周期、机器周期/CPU周期、时钟周期

  • 取址、执行

  • 指令周期:取出一条指令并执行这条指令的时间

    • 取址周期:访问一次指存,占1个CPU周期

    • 执行周期:因指令而异,有的RR型指令仅占1个CPU周期,有的RS型指令由于访问一次数存,占两个CPU周期

  • CPU周期/机器周期:从内存中读取一个指令字的最短时间(即一个取指时间)为一个CPU周期

    • 一个指令周期包含若干个CPU周期

  • 时钟周期:T周期,节拍脉冲,是处理操作的最基本单位

    • 一个CPU周期包含若干时钟周期

  • 数据流,指令流

  • 方框图语言表示指令周期

    • 一个方框代表一个CPU周期

    • 菱形符号代表判别或测试

    • 公操作符号"~"代表一条指令已经执行完毕,转入公操作

      • 公操作:CPU对外围设备请求的处理,如中断处理、通道处理等,若外围设备没有向CPU请求交换数据,则CPU转向指存取下一条指令

  • 数据总线DBUS若为单总线结构记得数据分时传送

  • 另一种CPU架构

时序产生器和控制方式

  • 时序信号,多级时序体制,操作控制器发出的各种控制信号都是时间因素(时序信号)和空间因素(部件位置)的函数

  • 电位-脉冲制:实现寄存器之间的数据传送时,数据加在触发器的电位输入端,而打入数据的控制信号加在触发器的时钟输入端

  • 硬布线控制器:时序信号采用主状态周期-节拍电位-节拍脉冲三级体制

  • 微程序控制器:采用节拍电位-节拍脉冲二级体制

  • 时序信号产生器

  • 触发器:SR触发器、D触发器、T触发器、JK触发器

    • set、reset,D相同,T翻转,JK结合RS和T(J=K=1时为翻转,全0保持)

    • 时钟脉冲信号、电平信号,上升沿有效、下降沿有效

  • 控制方式:控制不同操作序列时序信号的方法

    • 同步控制方式、异步控制方式、联合控制方式

微程序控制器

利用软件方法设计硬件的技术

  • 微命令和微操作

    • 微命令:控制部件通过控制线向执行部件发出各种控制命令 e.g 打开/关闭控制信号

    • 微操作:执行部件接受微命令后所进行的操作 e.g pc + 1

      • 相容性微操作、相斥性微操作:能否同时或同一个CPU周期内并行执行

  • 反馈信息、状态测试:执行部件通过反馈线向控制部件反映操作情况、以便控制部件根据执行部件的“状态”下达新的微命令

  • 微指令和微程序

    • 微指令:实现一定操作功能的微命令的组合

    • 微程序:微指令序列,对应着一条机器指令

    • 机器指令:CPU, 微指令:控制器(在CPU内部)

  • 微命令信号加入时间控制

  • 微指令格式中的顺序控制部分用来决定下一条微指令的地址

  • 微程序控制器原理框图:控制存储器、微指令寄存器(微地址寄存器、微命令寄存器)、地址转移逻辑

    • 控制存储器:存放实现全部指令系统的微程序,是一种只读型存储器

      • 读出一条微指令并执行微指令的时间总和称为一个微指令周期

    • 微指令寄存器、地址转移逻辑

  • 微程序设计技术

  • 目标

  • 微命令编码:直接表示法、编码表示法、混合表示法

  • 微地址的形成方法

  • 多路转移方式也就是断定方式

  • 微指令格式:水平型微指令、垂直型微指令

    • 水平型微指令:一次能定义并执行多个并行操作微命令的微指令,如计算机组成原理

    • 垂直型微指令:微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能

      • 举例:

  • 区别

  • 静态微程序设计和动态微程序设计

    • 控制存储器可擦除时,可以通过改变微指令和微程序来改变机器的指令系统

硬布线控制器

硬部线控制速度更快,不需要从控存中取指令

  • 一个机器指令对应一个微程序,一个微指令周期则对应一个节拍电位时间(CPU周期)

流水CPU

  • 并行性

    • 同时性(并行性):两个以上事件在同一时刻发生

    • 并发性:两个以上事件在同一时间间隔内发生

    • 时间并行、空间并行、时间并行+空间并行

  • 流水CPU的结构:指令部件、指令队列、执行部件

    • 速度匹配问题:存储器采用多体交叉存储器,执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分

  • 预取fetch,译码decode,执行execute,写回write back

    • 预取过程:预测分支,选择并检验(人工智能学习)

    • 译码:产生微操作信号

    • 执行:

      • 超标量(Superscaler Execution)执行:多个ALU

      • 乱序执行:订餐按顺序,上菜乱序

        • 保留指令依赖性,进行并行执行

    • 前端:指令预取,分支预测(branch predict)

    • 后端:保留站,执行单元(功能单元)

  • 流水CPU时空图

    • 指令周期包含四个子过程:取指令IF,指令译码ID,执行运算EX,结果写回WB

    • 任务被分割为一系列子任务,每个子过程成为过程端$$S_i$$

    • 超标量流水:具有两条以上的指令流水线

      • 每一个时钟周期可以执行2条指令(双发射)

      • 超标量流水线结构组成一个CPU核,多核CPU有多套超标量流水线

  • 流水线分类

    • 指令流水线:指令步骤的并行,划分的可并行过程段:取指,译码,取操作数,执行,写回

    • 算术流水线:运算操作步骤的并行,如流水加法器、流水乘法器、流水除法器等

    • 处理机流水线:亦宏流水线,指程序步骤的并行,每台处理机负责某一特定任务(分布式处理系统)

  • 流水线中的主要问题

    • 取指令IF,指令译码ID,计算有效地址或执行EX,访存取数MEM,结果写回寄存器堆WB

    • 资源相关:多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突

      • 如两条指令同时访存导致的资源相关冲突

      • 解决办法:一条指令停顿一拍(一个时钟周期)后再启动,二是增设一个存储器(空间并行,如多体交叉存储器)

    • 数据相关:两条指令存在顺序依赖关系,即必须等前一条指令执行完毕后,才能执行后一条指令

      • 数据相关只是有可能发生数据冲突

      • 解决办法:设置运算结果缓存寄存器(推迟)

    • 控制相关:由转移指令引起

      • 延迟转移法,可能发生错误要纠正

      • 转移预测法,学习历史记录在取指阶段预测

        • 指令预取队列器,目标指令cache

RISC CPU

  • RISC三个基本要素和特征

  • RISC和CISC区别

  • RISC CPU实例:MC88110 CPU, Motorola公司的产品

    • 12个执行功能部件,三个cache,两个寄存器堆,一个控制部件

  • 指令流水线

    • 超标量流水CPU,双发射(同时取两条指令)

    • 定向传送电路:EX段执行的结果(write)提前传送到ALU,可直接被当前进入EX的指令使用(read)

      • 解决写后读的数据相关冲突

  • 指令动态调度策略:按序发射、按序完成

    • 判断能否发射指令方式:计分牌

  • 重要例题:按序发射、按序完成各段推进情况及流水线时空图

  • 动态流水线调度:对指令进行重新排序以避免处理器阻塞的硬件支持

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值