29、超线程机器原理与虚拟内存技术解析

超线程机器原理与虚拟内存技术解析

1. 超线程机器原理

在超线程机器中,JEU(推测执行单元)主要完成两项关键任务。其一,它会将分支目标缓冲器(BTB)设置为直通地址,这样取指单元就能从这个新的指令地址重新启动流水线。其二,它会把预测分支地址之后的那些微操作(μops)状态设置为无效,以便后续这些μops能被退休单元丢弃。

1.1 退休单元(RU)

退休单元是一个按顺序执行的单元,它能精确知晓何时以及如何将临时的、推测性的结果提交(即退休)到永久的架构机器状态中。该单元会查找那些已经执行完毕且可以从操作池中移除的微操作。具体操作流程如下:
1. 读取指令池,找出可能退休的候选微操作。
2. 检查指令池中微操作的状态,确定哪些微操作已完成。
3. 对这些完成的微操作施加原始的程序顺序。
4. 同时,它还需要在面对中断、陷阱和预测错误的情况下完成上述工作。这就是为什么微操作需要包含正在执行指令的完整物理地址。退休单元在一个时钟周期内最多能够退休三个微操作。

为了编程方便,奔腾CPU支持一些向量指令,例如压入/弹出所有寄存器、移动一块内存、搜索一块内存等。

1.2 压入所有与弹出所有指令

在奔腾处理器中, pusha (压入所有)指令和 pushad (压入所有双字)指令共享同一个单字节操作码。根据操作系统在硬件寄存器中指定的操作数大小,每个指令可以压入八个16位或32位的寄存器。同样, popa (弹出所有)和 popad (弹出所有双字)指令也共享同一个操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值