『期末复习』32位微处理器奔腾的主要部件及其先进技术

176 阅读6分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

👨‍🎓作者简介:一位喜欢写作,计科专业大二菜鸟

🏡个人主页: starry陆离

🕒首发日期:2022年7月10日星期日

🌌上期文章:『期末复习』微处理器发展历程与微型计算机结构

📚订阅专栏:『微机原理与接口技术』 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦

32位微处理器奔腾的主要部件及其先进技术

1.Pentium微处理器

Pentium微处理器是一种最先进的32位微处理器

  • 两组算术逻辑单元(ALU)、两条流水线、能同时执行两条指令;
  • 数据cache(高速缓冲存储器)和代码cache分开;不仅提高了总线的速度;还将数据总线增加到64条;
  • 流水浮点部件提供了工作站的特性。因此它几乎具有两台80X86的功能。

2.12个主要部件

核心部件是两个流水线执行部件浮点处理部件

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

总线接口部件

实现CPU与系统总线的连接,包含64位数据线、32位地址线和控制信号线,实现信息交换

U流水线和V流水线

独立运行,均含ALU。

每条流水线含5级(取指令、译码、生成地址、执行指令、回写)

U:可执行所有的整数运算指令

V:执行简单的整数运算和数据交换指令

数据Cache与代码Cache

两者分开,减少冲突,提高数据存取命中率

两者分别配置专用的TLB(转换检测缓冲器),将线性地址转换为高速缓存的物理地址

Cache存放CPU最近要使用的数据和指令,提高存取速度,并配置转换检测缓冲器(TLB),将线性地址转换为高速缓存的物理地址

指令预取部件IPU、指令译码器IDU、控制ROM

IPU每次预取两条指令

复杂指令需要控制ROM的转换(转换为微程序)

浮点处理部件(FPU)

FPU按流水线机制执行指令(8级)

是U流水线的补充

浮点运算指令的前4级在U流水线中执行

常用浮点指令采用专门的硬件电路实现

支持32位、64位、80位精度

分段部件和分页部件

片内二级存储管理

分段将逻辑地址转换为物理地址

分页将线性地址转换为物理地址

控制部件

通过解析指令译码器中的译码信息和控制ROM中的微程序,控制两条流水线和FPU的执行

分支目标缓冲器BTB

BTB在遇到条件转移指令时用来预测是否发生转移,并提供预取地址

image-20220626155218702

3.Pentium采用的先进技术

  1. 先进的体系结构
  2. CISC和RISC相结合的技术
  3. 超标量流水线技术
  4. 先进的分支预测技术

3.1先进的体系结构

  1. 外部数据总线为64位,数据传输量提高一倍 -》扩充数据总线
  2. 设置片内代码cache和数据cache(速度高容量小的存储器),提高取指令和读/写数据的速度 -》cache分离提速
  3. 两条指令流水线并行执行-》u/v并行流水线
  4. 片内集成FPU(浮点运算器),是U流水线的补充,采用硬件实现浮点运算-》集成FPU
  5. 采用分段和分页两级存储管理机制,存储管理方便灵活-》分页分段两级存储
  6. 增强了信息传输准确性的检测能力和机器异常事件的处理能力,为系统的扩展提供了很好的检测和调试能力-》异常检测增强

3.2CISC和RISC相结合的技术

CISC(复杂指令集)特点:

指令系统包含很多指令,并有使用较少的复杂指令

多种内存寻址方式

采用微程序机制实现复杂指令

RISC(精简指令集)特点:

指令系统只含简单而常用的指令,且指令长度相同

采用流水线机制执行指令

大多数指令利用寄存器来执行,只需一个时钟周期

Pentium:

结合——大多数指令采用简化指令,但仍保留一部分复杂指令并用硬件实现

3.3超标量流水线技术

两个问题什么是流水线,什么是超标量?

问题1:什么是流水线?

非流水线方式:

  • 依次执行三个操作 取指令指令译码执行
  • 当一条指令在执行的过程之中时,其他指令则要等待这条指令的执行,直至完成。

流水线:

指令流水线的组成:

总线接口部件、指令预取部件、指令译码部件、执行部件

  • Pentium的指令流水线由5级组成 指令预取级PF、首级译码级D1、二次译码级D2(形成物理地址)、执行级EX、回写级WB
  • Pentium4的流水线达20级
  • Pentium的浮点运算部件也采用流水线机制运行 8级组成:PF、D1、D2、EX、X1、X2、WF、ER

PF 预取

D1 译码阶段1

D2 译码阶段2

EX 取操作数

X1 浮点执行步骤1

X2 浮点执行步骤2

WT 写浮点数

ER 出错报告

问题2:什么是超标量?

标准状态下

一个处理器含一条指令流水线

超标量

一个处理器中有多条指令流水线

以并行方式在U、V两条流水线上同时执行两条指令

在U流水线中可以执行任何指令

V流水线中只能执行和U流水线当前执行的指令符合配对规则的指令

配对规则

  1. 两条指令都是简单指令(包括RISC指令)
  2. 互相没有寄存器关联性:两条指令中的寄存器不是“读后写”或者“写后写”的关系(不能对同一寄存器多次操作)
  3. 一条指令不能同时既包含位移量又包含立即数
  4. 带前缀的指令只能出现在U流水中
  5. 浮点运算指令不能和任何指令配对

流水线受阻的情况

U受阻:影响V

V受阻:不会影响U

U、V两条流水线,U—所有整数运算,V—简单整数运算和数据交换指令

超标量流水线的运行前提

  1. 所有指令都是简化RISC指令
  2. V流水线总是能够接受U流水线的下一条指令

因此,超标量流水线技术与RISC技术密不可分!

3.4先进的分支预测技术

使用分支目标缓冲器BTB(branch target buffer)来执行预测功能

分支转移指令的转移目标地址是可以预测的,依据就是前一次的转移目标地址历史状态