Intel® Nehalem/Westmere架构/微架构/流水线 (5) - 高速缓存 存储器子系统
Cache and Memory Subsystem
Intel Nehalem微架构的每个处理器核包括一个一级指令高速缓存,一个一级数据高速缓存,以及一个二级混和式(指令与数据)高速缓存。单个物理处理器封装可以包含多个处理器核,以及处理器核之外的一些共享的子系统集合(统称为核外uncore),例如共享的三级缓存,集成的内存控制器等。以Intel Core i7处理器为例,核外部分包括一个被所有处理器核共享的混和式三级缓存,Intel QuickPath Interconnect(QPI)以及相关的硬件逻辑等。
一级缓存和二级缓存都是回写式的,但是是非包含式(non-inclusive)缓存。共享的三级缓存是回写式的,而且是包含式 (inclusive) 缓存。这样,任何位于一级缓存(指令或数据),二级缓存中的缓存行必定也存在于三级缓存中。三级缓存之所以设计为包含式的,主要是为了节省处理器核之间的缓存嗅探(snoop)流量。下图简单表示了各级缓存之间的包含关系。
下表列出了各级缓存的性能特征。特别要注意的是,三级缓存的访问延迟是可变的,可以看作是处理器频率与核外频率的比值的某个函数关系,即
L3 Latency = f(processor frequency / uncore frequency)
注:事实上,处理器运行频率通常高于核外运行频率。
表:高速缓存的性能数据参数(以Intel Core i7处理器为例)
Level |
Capacity (Bytes) |
Associativity (Ways) |
Line Size (Bytes) |
Latency (clocks) |
Throughput (clocks) |
Write Udpate Policy |
L1D |
32K |
8 |
64 |
4 |
1 |
Writeback |
L1I |
32K |
4 |
N/A |
N/A |
N/A |
N/A |
L2 |
256K |
8 |
64 |
101 |
Varies |
Writeback |
L3 (Shared)2 |
8M |
16 |
64 |
35-40+2 |
Varies |
Writeback |
注1:软件可感知的延迟随着访问模式和其他因素会产生变化。
注2:最小的L3延迟是35的周期,此时处理器核频率与核外频率相等。
Intel Nehalem微架构实现了两级地址转换旁查缓冲区(TLB)。第一级有独立的数据TLB和指令TLB构成。DTLB0为数据访问提供地址转换,它有64个条目支持4KB的数据页面和32个条目支持更大的页面。ITLB0为指令访问提供地址转换,它有64个条目(每线程)支持4KB的指令页面和7个条目(每线程)支持更大的页面。
二级TLB (STLB)是混和式的,处理对4KB页面的数据或指令访问,所有的条目都是4路相联。当ITLB或者DTLB查询未命中时,会将查询转发到二级TLB。下面列出了各级TLB的参数指标:
- DTLB0 4KB: 64 entries / large pages: 32 entries
- ITLB0 4KB: 64 entires / large pages: 7 entries
- STLB 4KB: 512 entries (for both data and instruction)
注: STLB并不支持大存储器页面的转换查询。
DTLB0未命中但是STLB命中会有7个周期的性能损失。由于与流水线中其他操作的重叠,通常软件感知不到TLB查询导致的延迟。只有当DTLB0被用于某些分发情形时,软件才能感知到这种类型的性能下降。大多数的二级TLB未命中以及执行页面未命中处理程序导致的延迟是非阻塞性的。(参看原文如下:)
Intel® Nehalem/Westmere架构/微架构/流水线 (5) - 高速缓存 存储器子系统相关推荐
- Intel Haswell/Broadwell架构/微架构/流水线 (5)-高速缓存存储器子系统
Cache and Memory Subsystem 高速缓存层级结构与前代微架构类似,每个处理器核包括一级指令缓存,一级数据缓存,一个混和式二级缓存,核外的三级混和式缓存容量与特定的产品配置有关.三 ...
- Intel Skylake (Client) 架构/微架构/流水线 (4) - 高速缓存存储器子系统
Cache and Memory Subsystem Skylake Client微架构的缓存层级结构具有如下的增强: 较前代具有更高的带宽 更大的缓冲区,可以同时处理更大的读存与写存操作 处理器可以 ...
- Intel® Nehalem/Westmere架构/微架构/流水线 (1) - 特性概述
Intel® Nehalem/Westmere Microarchitecture Intel Nehalem微架构的全称是Intel Microarchitecture code name Neha ...
- Intel® Nehalem/Westmere架构/微架构/流水线 (7) - 存储转发增强
Store Forwarding Enhancement 当一个读存操作紧跟在一个写存操作后,如果这两个操作访问同一个存储器地址,在符合转发条件的情况下,处理器可以直接将写存操作的数据发送给读存操作: ...
- Intel(R) 处理器产品架构/微架构对照表
Intel(R) 处理器与微架构对照表 2020/12/23:更新至IceLake/TigerLake微架构 2019/07/09:更新至 2nd Generation Intel® Xeon® Sc ...
- Pentium M处理器架构/微架构/流水线(1) - 流水线概述
Intel® Pentium® M Processor 与Intel NetBurst微架构类似,Intel Pentium M处理器微架构 的流水线也包括3个主要部分: 有序发射前端 乱序超标量执行 ...
- Intel® Nehalem/Westmere架构/微架构/流水线 (4) - 执行引擎
Execution Engine 译码后微指令队列IDQ(参看上图最右侧)将微指令流发送给流水线的分配/重命名(allocation/renaming)部件.乱序引擎共支持最多可达128条进行中微指令 ...
- Intel® Nehalem/Westmere架构/微架构/流水线 (3) - 流水线前端
Front End Overview 下图展示了Nehalem微架构流水线前端的主要构成组件.取指单元IFU每个周期可以从一级指令缓存中读取16字节的对齐指令流,然后将其送到指令长度译码器ILD中.指 ...
- Intel® Nehalem/Westmere架构/微架构/流水线 (2) - 流水线概述
Microarchitecture Pipeline Intel Nehalem微架构延续了65nm制程的Intel Core微架构上的4宽度流水线.下图是在Intel Core i7处理器上采用的N ...
最新文章
- from selenium.webdriver.support.ui import Select
- quartz集群调度机制调研及源码分析---转载
- hdu 5570(数学期望)
- MySQL表名不区分大小写的设置方法
- ---WebCam网络摄像头7 cmos--yuv rgb , Format............:V4L2_PIX_FMT_YUYV
- python读取配置文件失败原因_python读取配置文件报keyerror-文件路径不正确导致的错误...
- 面向非易失内存的MPI-IO接口优化
- 【操作系统】进程的创建与终止过程中的父子进程
- 详解GaussDB(DWS) explain分布式执行计划
- 红橙Darren视频笔记 OKHttp基本使用 对http框架进行封装 链式调用
- uni-app获取当前具体日期时间并将其格式化
- java 反射 本类_Java 反射 Class类
- intellij idea 12 搭建maven web项目 freemarker + spring mvc
- git 修改密码_在windows中利用gitblit搭建git服务端
- gms2游戏移植linux,GMS卡刷包制作
- Flink中的时间语义 和WaterMark
- Koo叔说Shader-Unity中的Shader
- linux动态频率调节系统cpufreq,Linux的cpufreq(动态变频)技术
- 表单域修饰符numebr、trim、lazy
- 同里古镇百年古建筑深夜被毁
热门文章
- WORD如何使得公式居中,公式自动编号且编号右对齐,如何交叉引用公式?
- note_idea中的maven命令操作
- 联想ghost重装系统_联想怎么安装ghostwin7系统的教程
- mysql查看客户端执行的语句_查看MySQL最近执行的语句-阿里云开发者社区
- python导入自己写的模块_Python:包、模块和导入
- c语言程序设计授课进度安排表,C语言程序设计教学大纲、教学计划进度简表
- python scipy optimize_scipy.optimize.fminbound:设置参数的界限
- k均值的损失函数_K-Means算法的实现
- python提高文件读取速度_Python提高了HDF5文件的读取速度
- 计算机应用的重要性作文,关于科技的重要性作文(通用5篇)