Execution Core Details

通过高效地处理常见的指令情形,执行核可以获得优化的整体性能。硬件被设计成尽可能快速地执行常见情形下常用的操作,当然,对于某些罕见的情形里不频繁执行的操作会有一些性能损失。执行核的某些部件会首先假设某些常用的条件满足,从而得到更快速的执行。但是如果这些条件的确不满足,处理器可能会停顿,导致性能下降。例如对于存储读取转发操作(后续章节会详细介绍),如果读取操作被预测为依赖某个存储操作,则读取操作直接从存储操作的操作数获取数据,并尝试继续执行。如果最终发现这个读取操作并不与该存储操作关联,则读取操作只能等待并延迟到从存储器中读取到真正需要的数据后,才能继续执行。

Instruction Latency and Throughput

Pentium 4处理器的超标量乱序执行核拥有多个硬件执行资源,可以并行地执行多条微指令。通过以下方式,可以增强执行核利用并行性的能力:

  • 选择低延迟且/或译码后小于4条微指令的IA32指令
  • 排序IA32指令,使得长依赖链最小化,高延迟的指令被覆盖,这样得以保持指令并行性
  • 排序IA32指令,使得当指令到达调度器(即预约站)时,其所需要的操作数,对应的发射口和执行单元都处于可用状态

本节讲述发射口限制,执行延迟,发射延迟(也称为吞吐量),这些共同形成了排序指令的基础。指令调度会影响指令如何被发送到处理器执行核,但是执行核总是要面对一个持续变化的机器状态:为了更快的执行对指令重排序,或者由于依赖关系和资源限制推迟某些指令。因此,代码层面上的指令排序对硬件更多的是一种提示。

Intel的优化文档中会详细的列出IA32指令的延迟,吞吐量,在某些情况下,还会列出指令关联的执行单元。某些执行单元没有被流水线化,因此微指令不能在连续的周期内被送入执行单元,这样也就达不到每周期1条微指令的吞吐量。

每条IA32指令对应的微指令条数为选择合适的指令提供了基础参考。尤其是那些需要由微码ROM处理的指令,会涉及到更多的译码成本。对于Pentium II和Pentium III处理器,对译码器性能的优化是非常重要的,这会涉及到将指令按照4-1-1的顺序排列(即译码后生成4条微指令的IA32指令,紧跟着是2条译码后生成1条微指令的IA32指令),以及考虑每条IA32指令对应的微指令条数。但是在Pentium 4处理器上,译码器模板(即指令的排序)不再是一个考虑点。因此也就不需要在详细地参考每条IA32指令对应的微指令条数做计算。常用的译码后小于或等于4条微指令的IA32指令可以在Intel的优化文档中找到,与指令对应的执行单元也一并列出。

Pentium 4处理器架构/微架构/流水线 (8) - NetBurst执行核详解 - 指令时延与吞吐量相关推荐

  1. Pentium 4处理器架构/微架构/流水线 (9) - NetBurst执行核详解 - 执行单元与发射口

    Execution Units and Issue Ports 每个时钟周期,执行核可能向4个发射口中的1个或多个口分发微指令.在微架构层面,存储操作进一步被分为两个部分:存储数据以及存储地址操作.下 ...

  2. Pentium 4处理器架构/微架构/流水线 (10) - NetBurst执行核详解 - 高速缓存/数据预取

    Caches Intel NetBurst微架构支持最多达3级的片上高速缓存.Pentium 4处理器上只实现了两级片上缓存结构,主要面向于桌面计算环境.最接近处理器执行核的缓存级,即一级缓存,包含独 ...

  3. Pentium 4处理器架构/微架构/流水线 (11) - NetBurst执行核详解 - Load/Store操作/存储转发

    Loads and Stores Pentium 4处理器采用以下技术来加速访存操作的执行: 投机执行读存操作 对于读存和写存操作,重排序读存操作 允许多个缓存未中共存的情形(即无需等待上一个缓存未中 ...

  4. Pentium II Pentium III架构/微架构/流水线 (3) - P6执行核详解 (指令时延吞吐量,执行单元/发射口)

    Execution Core Detail 要想实现指令执行并行,就必须要知道各个执行单元的延迟信息.执行单元在流水线上的布局信息以及流水线上执行的微指令信息也很重要.本节会详细讲述执行核的操作,包括 ...

  5. Pentium 4处理器架构/微架构/流水线(1) - 概述

    Pentium 4 Architecture Overview 本节简要的介绍Pentium 4处理器的关键特性.这些特性提供了很好背景知识,用于理解详细的代码优化原则. Pentium 4处理器上用 ...

  6. Intel Core Solo/Duo处理器架构/微架构/流水线 - 前端/数据预取/SSE3

    Intel Core Solo/Duo处理器采用的微架构类似于Pentium M处理器的微架构,但是在性能和功能方面做了进一步的增强,主要包括: Intel智能缓存 – Intel Core Duo的 ...

  7. Intel(R) 处理器产品架构/微架构对照表

    Intel(R) 处理器与微架构对照表 2020/12/23:更新至IceLake/TigerLake微架构 2019/07/09:更新至 2nd Generation Intel® Xeon® Sc ...

  8. MySQL系列---架构与SQL执行流程详解

    文章目录 1. 背景 2. 架构体系 2.1 架构图 2.2 模块详解 2.3 架构分层 3. 查询SQL语句执行流程 3.1 连接 3.1.1 MySQL支持的通信协议 3.1.2 通信方式 3.2 ...

  9. 从Java程序员进阶到架构师,6大核心技能要领详解

    " java架构师技能将分为如下6大环节:数据结构和算法,Java高级特性,Java web核心,数据库,Java框架与必备工具,系统架构设计. 希望能真正帮助到从程序员进阶到架构师之路的朋 ...

最新文章

  1. ajax默认超时时间多久,请问chrome浏览器的默认超时时间是多久?
  2. 体素科技:2018年,算法驱动下的医学影像分析进展
  3. LeetCode:跳跃游戏【55】
  4. [ATF]-ATF启动--BL31跳转到optee和uboot
  5. java bigdecimal赋值_Java中BigDecimal类介绍及用法(亲测)
  6. ubuntu卡在载入初始化内存盘_Intel傲腾内存揭秘:八路系统可达36TB!
  7. Eclipse是否必需要安装jdk,jre
  8. TurboMail邮件服务器 V4.2.0 正式发布
  9. python游戏代码运行不了_用Python写游戏,不到十分钟就学会了
  10. Win10操作系统下,如何打开DOS窗口(图文教程)
  11. Cximage 库使用,直接读取图像数据到内存。
  12. Typora下载与安装
  13. Canvas API(画布)简介
  14. ad中那个快捷键是重复上一部_7个高手常用的快捷键,你应该收藏!
  15. 约束满足问题(Constraint Satisfaction Problems——CSPs):回溯操作,向前检验,约束传播,局部搜索
  16. 张一鸣:10年面试2000人,我发现混的好的人,全都有同一个特质
  17. 鸿蒙系统安全模式,安全模式怎么连接wifi
  18. 全国计算机考试有代码提示吗,全国计算机等级考试它又来啦~快来获取报名攻略!...
  19. 移动电子商务未来的发展趋势
  20. html边框环绕一周动画,环绕式CSS边框动画

热门文章

  1. 某东商城获取eid和fp参数方法
  2. 第七章:在Spark集群上使用文件中的数据加载成为graph并进行操作(2)
  3. 计算机专业理论知识试题,计算机专业理论试题第II卷(非选择题)
  4. c语言列车调度 栈,这个用栈调度火车的程序到底是怎么回事?
  5. java 回收器_Java虚拟机-经典垃圾回收器
  6. java声明抽象方法_java – 类必须声明为abstract或实现抽象方法错误
  7. c++ 如何将输入的内容输出到文本文件 要建立文本文件嘛_python如何学习
  8. 学习机软件测试,IBM P630 POWER4 AIX小型机适合软件测试及学习机
  9. 利用计算机管理分区,win7增加磁盘分区教学 利用磁盘管理增加分区
  10. html文件脚本,我想要从html文件或js脚本执行jsx脚本