微机原理--第二章(6)Pentium 的原理结构

Pentium 的内部主要包括12个主要部件:

  • 总线接口部件
  • U流水线和V流水线
  • 数据Cache
  • 代码Cache
  • 指令预取部件
  • 指令译码器
  • 控制ROM
  • 分支目标缓冲器BTB
  • 控制部件
  • 浮点处理部件FPU
  • 分段部件和分页部件
  • 寄存器组

    1)U流水线和V流水线

  • Pentium整数指令采用5段式流水线。

  • U流水线和V流水线都有:
    ALU、地址生成电路和与数据cache的接口
  • 两条流水线共用部件
    两个预取缓冲器、指令译码器、控制ROM
  • 指令译码器除完成译码指令外,还要完成指令配对检查。

  • U和V流水线都由5段组成
    指令预取(PF)
    指令译码(D1)
    地址生成(D2)
    指令执行(EX)
    结果写回(WB)

  • U、V两条流水线不是等价的

    • V流水线总是接受U流水线的下一条指令
    • U流水线能执行指令集的任何指令,包括指令前缀;
    • V流水线只能执行简单指令。
    • 若连续的两条指令不能配对,需要U流水线先后执行这两条指令。
  • U、V两条流水线不是等价的

    • V流水线总是接受U流水线的下一条指令
    • U流水线能执行指令集的任何指令,包括指令前缀;
    • V流水线只能执行简单指令。
    • 若连续的两条指令不能配对,需要U流水线先后执行这两条指令。

2)分立的代码cache和数据cache

  • 8KB代码cache和8KB数据cache
  • 代码cache是只读的指令代码,单端口,256位
  • 数据cache是可读写的,双端口,每端口32位,与U,V两条流水线交换整数数据,或组合成一个64位端口与浮点运算部件交换浮点数据。
  • 两个cache与64位数据、32位地址的CPU内部总线相接

3)浮点运算指令流水线

  • 浮点运算指令采用8段式流水线
    指令预取(PF)
    指令译码(D1)
    地址生成(D2)
    取操作数(EX)
    执行1(X1)
    执行2(X2)
    结果写回寄存器堆(WF)
    错误报告(ER)

  • 一般情况下,只能由U流水线完成一条浮点操作指令;少数情况下,V流水线也能同时完成一条简单浮点数指令。

  • 浮点部件内:

    • 有浮点专用的加法器、乘法器和除法器
    • 有8个80位寄存器组成的寄存器堆,内部的数据总线为80位宽。
  • 支持IEEE 754标准的单、双精度格式及80位临时浮点数。

4)以BTB实现的动态转移预测

  • Pentium采用动态转移预测技术,来减少由于转移相关引起的流水线性能损失。
  • 提供的转移目标缓冲器BTB是个小容量的cache。
  • BTB是一个4路组相联的cache,有64组。转移指令地址(高26位)字段即为该项的标记(tag),以转移指令地址的低6位为行索引,每项有两位历史位,作为预测依据。
  • 每次转移指令执行完,依据预测是否正确相应地修改历史位。

你可能感兴趣的:(pentium,原理结构)