计算机体系结构(8)

	/**
     * 计算机体系结构(8)
     *      在指令执行时设计的四个步骤
     *          1、发射,从指令队列获得一条指令
     *          2、执行,如果还有一个或多个操作数不可用,则在等待计算寄存器的同时监控CDB 总线
     *          3、写结果,当结果可用时,将它写在CDB上(还有指令发射时的ROB标签),
     *              并从CDB写到ROB并写到任何一个需要此结果的保留战
     *          4、提交,将结果保留下来。
     *
     *      @基本的VLIM方法
     *          使用多个独立的功能单元,将多个操作包含在一个非常长的指令中
     *              使用流水线的同时不要忘记更新和优化流水线,导致高效稳定的同事替换腐朽的组件
     *
     *          推测的代价
     *              @优势能够发现流水线运行时的缺陷,不至于导致流水线停顿,比如缓存缺失——————提高生产力
     *                  推测不是免费的,需要时间和空间占据在总的生产里中——减低总体效率的一部分
     *
     *              有限的分支然评估方案——概率。最优
     *              多核和多线程提升吞吐量!
     *
     *           @英特尔 I7 core 架构
     *              @指令提取
     *                  处理器使用一个多级分支目标缓冲区,在速度和预测准确度之间达成平衡
     *                  还有一个返回地址栈,用于加速函数返回。
     *                  @错误预测会损失大约15个时钟周期
     *                  利用预测地址,指令提取单元从指令缓存中提取16个字节
     *
     *              @16个字节被放在预译码指令缓冲区中——在这一步会执行一个名为微指令融合的进程
     *                  微融合指令接收指令组合(先对比后分支)然后将组合融合为一个操作。
     *                  这个预译码过程还会将16个字节分解为独立的x86指令
     *                      由于x86指令的长度在1-17中任意一个长度,所以译码至关重要
     *                          译码器必须查看很多字节之后才能知道指令的长度
     *                          然后将x86指令放到包含18项指令队列中
     *
     *              @微指令译码
     *                  各个x86指令被转换为微指令,微指令类似于MIPS的简单指令,可由流水线直接执行。
     *                       MIPS 单字长定点指令平均执行速度
     *                  这种方法是将x86指令集转换为更方便执行的一种简单操作
     *                  对于复杂的x86指令,译码器使用引擎生成微指令序列
     *                      可以在每个时钟周期生成4个微指令
     *
     *             @微指令缓冲区执行循环流检测和微融合
     *                  如果存在一个循环的小指令序列(不满长度 28个指令或者 256个字节)
     *                  循环流检测器就会找到这个循环,直接从缓冲区中发射微指令,不在需要指令的提取和译码过程。
     *                  @微整合
     *                      @合并指令对
     *                       比如载入/ALU运算,ALU运算/存储、并发送到保留站——在保留站仍然可独立发射这些微指令
     *                       从而提高缓冲的利用率
     *
     *             @执行基本指令发射
     *                  在寄存器表中查看寄存器位置
     *                      对寄存器进行重命名,分配重排序缓存区项,从寄存器或重排序缓存区项进行提取任意结果,然后向保留站发送微指令
     *
     *             @包含36项的集中保留站
     *                  提供6个功能单元共享。每个时钟周期可以向这些功能单元分发6个微指令
     *
     *             @微指令由各个功能单元执行
     *                  然后将结果发送给任何等待的保留站以及寄存器退回单元。一旦知道指令不在进行推测之后,将在这里更新寄存器状态。
     *                  重排序缓冲区中与该指令相对应的数目被标记完成
     *
     *             @当重排序缓冲区头部的一个或多个指令被标记完成,则执行寄存器回退单元的为未完成写入操作。
     *                  并将这些指令从重排序指令缓冲区删除。
     */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

P("Struggler") ?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值