Loads and Stores

Intel Core微架构在每个周期可以同时执行最多1条128位读存操作和1条128位写存操作,这两条操作需要访问不同的存储器地址。Core微架构的乱序访存操作允许与其他微指令以及其他的访存操作一起执行。

读存操作可以:

  • 如果已知读存地址与写存地址不冲突(即不相同),则读存操作可以在写存操作之前发射
  • 推测写存操作与读操作不冲突,投机式地发射读操作(注:如果后来实际发生冲突,则重读)
  • 在分支指令实际决断之前,投机式地执行
  • 以相互重叠的方式乱序处理缓存未命中事件

读存操作不可以:

  • 投机读不能引发任何类型的处理器陷入(trap)或故障(fault)。注:若发生则不投机读
  • 投机读不会访问非缓存存储类型的数据

处理器故障(faulting)或者非缓存性读存操作会被处理器侦测到,一直等待直到这些指令退役,即当它们更新处理器架构状态时才会执行。x87与浮点SIMD读存操作会有一个周期的额外延迟(前节已经讲述)。

写存操作的处理过程分成两个阶段:

  • 执行阶段 – 分配store缓冲区,在缓冲区中保存地址和数据,为存储转发做准备。这个阶段使用发射口3和4。
  • 完成阶段 – 存储指令退役,数据更新到程序员可见的存储器中。可能会与读存操作竞争缓存的存储体(bank)。写存操作的退役由访存排序缓冲区MOB作为一个后台任务来维护,即将数据从store缓冲区移到一级缓存中。

Intel Core Enhanced Core架构/微架构/流水线 (11) - 高速缓存读/写操作 Cache Load/Store相关推荐

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

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

  2. Intel Core Enhanced Core架构/微架构/流水线 (7) - 栈指针跟踪器/微熔合

    Stack Pointer Tracker Intel 64和IA32架构上有几个用于参数传递以及过程进入与退出的常用指令:PUSH,POP,CALL,LEAVE和RET.这些指令隐式得更新栈指针寄存 ...

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

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

  4. Intel Core Enhanced Core架构/微架构/流水线 (15) - 先进智能缓存

    Intel® Advanced Smart Cache 为了支持单基模上的双处理器核,Intel Core微架构提供了许多优化特性.两个核共享一个二级缓存和总线接口单元,下图中绿色部分标出.本节讲述I ...

  5. Intel Core Enhanced Core架构/微架构/流水线 (13) - 存储转发/访存消歧

    Store forwarding 如果一个读存操作紧跟着写存操作且这两条指令操作同一个内存地址,Intel Core微架构可以直接将写存操作的数据转发给读存操作指令.这个过程被称为存储到读取转发机制, ...

  6. Intel Core Enhanced Core架构/微架构/流水线 (12) - 数据预取

    Data Prefetch to L1 Caches Intel Core微架构提供了2个硬件预取器,可以将数据预取到一级缓存中,由此加速程序访问数据的速度: 数据缓存单元预取器(DCU prefet ...

  7. Intel Core Enhanced Core架构/微架构/流水线 (10) - 先进存储器访问

    Intel® Advanced Memory Access Intel Core微架构中的每个处理器核都包含一个指令缓存和一个一级数据缓存.两个处理器核共享一个2M或4M字节大小的二级混合式缓存(既存 ...

  8. Intel Core Enhanced Core架构/微架构/流水线 (9) - 执行单元发射口旁路时延

    Issue Ports and Execution Units 通过发射口,调度器可以每周期分发6条微指令.Intel Core微架构和Enhanced Intel Core微架构的发射口以及支持的操 ...

  9. Intel Core Enhanced Core架构/微架构/流水线 (8) - 执行核

    Execution Core Intel Core微架构的执行核是超标量的,且可以乱序处理指令.注意:这里没有使用乱序执行指令,用的是乱序处理指令."处理"在这里包括对指令的寄存器 ...

最新文章

  1. 【全栈React】第6天: 状态
  2. python坐标点怎么输入_python导入坐标点的具体操作
  3. vue-cli#2.0项目结构分析
  4. 使用KubeKey安装K8S集群
  5. linux下编译libuv,linux下libuv库安装教程
  6. shell--基本语法
  7. python xmlns 解析_使用python读取标记中包含xmlns的XML文件
  8. enlink请输入正确服务器地址,Enlink
  9. 第 5 章 输入输出管理
  10. 在UNITY中按钮的高亮用POINT灯实现,效果别具一番风味
  11. Julia: Dict中元素的顺序:是无序的!
  12. 计算机编程语言的代码——编码
  13. 14款实用项目管理工具,精英必备!
  14. Caused by: org.springframework.web.client.RestClientException: Error while extracting response for t
  15. 使用 TreeView IE Web 控件
  16. 配合好OpenStack和开源MANO,就能部署好NFV
  17. 面向对象编程是什么意思
  18. 电子商务平台入驻宁夏
  19. 系统架构设计师视频教程(2016)
  20. 数据库第一范式1NF,第二范式2NF,第三范式3NF详解

热门文章

  1. 织梦网站服务器配置,织梦本地服务器配置
  2. mysql执行sql流程_MySQL架构与SQL执行流程
  3. 如何迁移outlook邮件到另一个硬盘_猎头如何有效的搜寻与筛选简历
  4. extend implements多个对象_「每天三分钟跟我学Java」之Java面向对象的封装、继承、多态...
  5. 华为p20Android怎么解开,华为P20如何获得root权限来解决自启动手机应用程序的问题...
  6. apt get php mysql_Ubuntu10用apt-get配置apache+php+mysql(轉)
  7. cvpr2020 人脸检测与识别_CVPR 2020 | 元学习人脸识别框架详解
  8. 行政职业能力测试软件,公务员行政职业能力测试考试宝典
  9. stm32 薄膜键盘原理_铅锤哥:市面上的笔记本键盘优缺点解析,看完秒懂
  10. python db2 linux 安装,python安装DB2模块