中国主页  英特尔全球              关于英特尔 | 新闻发布室 | 联系我们      
   
产品 技术与研究解决方案及服务资源中心支持与下载
  技术@英特尔杂志全球主页
  中国主页
  技术@英特尔杂志简介
  订阅杂志
   
   
  IDF
  > 全球主页 > 技术@英特尔杂志
  下载PDF文件  订阅杂志

英特尔® 智能内存访问技术:将英特尔® 酷睿 微架构的延迟降至最低

作者:英特尔首席工程师 Jack Doweck

介绍:最大限度提升效率和速度

在英特尔® 酷睿 微架构这一实现性能和性能功耗比巨大飞跃的新成就中,英特尔® 智能内存访问和英特尔® 高级智能高速缓存技术都起到了重要作用。这两大技术优化了内存带宽的使用并可有效规避内存访问延迟。此外,它们共同作用,确保数据快速可用,从而将延迟降至最低,提升了效率和速度。

本文讨论的焦点——英特尔® 智能内存访问技术有两大组成部分:内存消歧与指令指针(IP)预取器。

内存消歧可在之前所有的存储指令执行前预先为即将执行的指令载入数据。这样就提升了乱序处理的效率(乱序处理是一项优化技术,可卸载任务,利用处理器的速度优势并减少由于总线速度较低而造成的延迟)。

IP 预取器与内存消歧协作运行,可在收到请求前预取内存内容,将其存放至高速缓存,以供必要时轻松访问。IP 预取器增加了从高速缓存而非主内存载入的次数,由此降低了内存延迟并提升了性能。

英特尔® 智能内存访问技术是支撑一流的英特尔® 酷睿 微架构的五大技术之一,是英特尔® 架构台式机、笔记本电脑和主流服务器多核处理器的全新基础。针对支持更高的性能和更优的性能功耗比,并可在各种环境中更迅速响应多任务处理的平台,英特尔移动微架构曾首次融入了能效理念,而此英特尔® 酷睿 微架构则是对这一理念的进一步发展。

 
介绍:最大限度提升效率和速度
英特尔® 智能内存访问,提高执行吞吐率
内存消歧,实现更强的乱序处理能力
IP 预取器,为英特尔® 智能内存访问锦上添花
总结
了解更多信息
作者简介

 
英特尔® 智能内存访问技术:将英特尔® 酷睿 微架构的延迟降至最低
无线电:开启创新大门的优化技术
英特尔® 酷睿 技术:抵御安全威胁的主动防护技术
2006年秋季英特尔信息技术峰会聚焦高能效表现
   

英特尔® 智能内存访问,提高执行吞吐率

英特尔® 酷睿 微架构内存集群(也称为一级数据内存子系统)利用诸如乱序处理、无阻塞 I/O 及预测线程等技术优势来满足计算平台日益增长的要求。英特尔® 智能内存访问连同诸多其它的高速缓存与缓冲方法,帮助基于英特尔® 酷睿 微架构的系统在处理器性能受到能耗和功耗限制时实现处理器能力的突破性提升。

要了解英特尔® 智能内存访问如何提高执行吞吐率,首先要了解标准软件指令包含 38% 的内存存储和负载,通常负载的容量是存储的两倍。为避免数据不一致,指令通常按照其在程序中出现的相同顺序执行。这意味着如果程序中某一指令规定在某特定位置“存储”,随后从此位置“载入”,那么这些指令必须按照这一顺序执行指令。通过改进乱序处理能力,英特尔® 智能内存访问可避免在处理器闲置时浪费宝贵的周期,直到所需的操作对象可从速度远低于处理器的内存中获取。


Instruction Fetch and PreDecode

指令获取和预解码

Instruction Queue

指令队列

uCode Rom

uCode Rom

Decode

解码

2 M/4 M Shared L2 Cache
up to 10.6 GB/s FSB

2 M/4 M 共享 2 级高速缓存
高达每秒 10.6 GB 的前端总线

Rename/Allocate

重命名/分配

Retirement Unit(Reorder Buffer)

指令引退单元(重排序缓冲区)

Schedulers

调度程序

ALU Branch MMX/SSE FPmove

ALU Branch MMX/SSE FPmove

ALU FAdd MMX/SSE FPmove

ALU FAdd MMX/SSE FPmove

ALU Fmni MMX/SSE FPmove

ALU Fmni MMX/SSE FPmove

Load

载入

Store

存储

Memory Order Buffer

内存排序缓冲区

L1 D-Cache and D-TLB

L1 D-高速缓存和 D-TLB


1英特尔® 智能内存访问采用内存消歧和大量预取器(包括针对 1 级数据高速缓存的指令指针预取器)帮助英特尔® 酷睿 微架构实现更高性能。

内存消歧,实现更强的乱序处理能力

尽管近来的英特尔® 处理器具备高级乱序内存引擎,使处理器按照任意顺序执行独立指令,但是它们存在一个重大缺陷:如果相关的存储和载入结束对同一地址的共享,处理器则不能实现处理指令乱序,从而丢失了乱序执行的时机。

借助内存消歧若无法确定某一特定载入和存储是否共享同一阻碍乱序执行的地址,英特尔® 酷睿 微架构则可解决这些问题。借此,内存消歧提高了乱序处理(可提供超出顺序处理的能力)的效率。

当预测到从处理器保留站(RS)分派的某个载入操作与存储不发生冲突时,内存消歧借助一个预测器和相应算法来忽略未知的存储地址中断条件。


Memory Address Space

内存地址空间

DATA W

数据 W

Load 4

载入 4

DATA Z

数据 Z

Store 3

存储 3

Load 2

载入 2

Store 1

存储 1

DATA Y

数据 Y

DATA X

数据 X


2在该内存消歧图例中,箭头上的圈内数字表示执行次序,最左边的箭头表示程序顺序。如图所示,载入 2 不能被提前,必须等到存储 1 执行完毕后进行,因此变量 Y 具有正确值。而英特尔® 内存消歧预测器可识别载入 4 不依赖所显示的其它指令,可首先执行,无需等待存储 3 或存储 1 执行完毕。通过提前几个周期执行载入 4,CPU 就具备了执行需 X 值的任何指令时所需的数据,从而降低了内存延迟并提供了更高级别的指令级并行能力。

 

当一个载入指令从 RS 分派到内存通道时,预测器就会进行检测。若该载入被认定为安全,结果就会被写入到载入缓冲区的“disambiguation allowed”(消歧允许)位。这意味着如果该载入发现相关的未知存储地址,这一条件就会被忽略同时载入继续执行。如果预测器不饱和,载入将被中断。

如果该载入找到旧的未知存储地址,它将设置“update”(更新)位,表明该载入应当更新预测器。如果预测结果是“go”(通行),该载入将被分派并设置为“done”(完成)位,表明消歧已执行。如果预测结果为“no go”(禁止通行),该载入将被适当中断,直到所有旧存储地址被更新。

要借助消歧预测器从错误预测中恢复,从 RS 分派到内存排序缓冲区所有存储操作地址必须同其后所有载入的地址进行比较。如果发现匹配,则设置“reset”(重置)位。当具有重置位设置的载入指令隐退时,管道就会报废,执行从该载入重新开始。

由于消歧以预测为基础,错误预测可能导致执行管道报废,因此构建安全设置、避免特殊情况下的性能损失十分重要。英特尔® 酷睿 微架构包含一种可临时性禁止内存消歧的机制,可防止出现上述损失并确保系统高效运行。

IP 预取器,为英特尔® 智能内存访问锦上添花

为了进一步卸载主内存任务,英特尔® 智能内存访问集成了高级 IP 预取器,可在接受请求前获取内存数据,将其存放至高速缓存以备“及时”执行。通过预测哪些内存地址将被程序使用,借此增加从高速缓存而非主内存载入的次数,预取操作可降低内存延迟并提升性

提高英特尔® 酷睿 微架构性能的五大因素

英特尔® 酷睿 微架构在性能和性能功耗比方面实现的巨大飞跃得益于五大技术:

英特尔® 宽位动态执行
英特尔® 高级数字媒体增强
英特尔® 智能功效管理
英特尔® 高级智能高速缓存
英特尔® 智能内存访问

这些技术共同促进了能效表现的巨大改进。例如,与目前高端的英特尔® 奔腾® D 处理器 950 相比,英特尔® 酷睿2 双核台式机处理器性能提升了 40%,且功耗降低了 40%。1

如欲了解更多信息,请访问英特尔网站上的 英特尔® 酷睿 微架构网页 或请参阅《技术@英特尔》杂志上题为“ 深入英特尔® 酷睿 微架构——设定全新高能效表现标准 ”的文章。


能。

为了提高预测的准确性,IP 预取器利用指令指针(指令序列中的计算机地址寄存器)给每个载入记录加上标签。通过给每个载入添加指令指针,IP 预取器建立了载入历史记录。根据该历史记录,IP 预取器进行下个载入的地址预测。然后,IP 预取器根据预测地址生成预取请求并将所产生的数据传送至 1 级数据高速缓存。

尽管预取可提高内存使用效率和性能,但也可能产生资源过载等不利影响。每个处理内核包含两个针对 1 级数据高速缓存的 IP 预取器。当将 IP 预取器添加至已有的传统预取器时,英特尔双核处理器就一共拥有了 8 个预取器,这便可能浪费运行程序时必要的载入操作所需的宝贵带宽。英特尔® 酷睿 微架构 IP 预取器采取了数项措施以减轻这些不良影响。

借助基于英特尔® 酷睿 微架构的处理器,预取流量控制和分配参数可根据平台进行调整。个人电脑可根据芯片组内存、前端总线速度、二级高速缓存大小等设置预取灵敏度。此外,由于服务器产品运行的应用同客户机完全不同,其预取器采用服务器指标调整。

英特尔® 酷睿 微架构利用具有多个水印装置的预取监视器来检测流量过载。若超过固定阈值,预取器将被延缓或中止,从而从根本上减少了预取过程中可能发生的冲突。由此实现了有效平衡,在灵活响应程序要求的同时利用未使用的带宽降低内存延迟。


Single Entry

单一条目

Last Address

最新地址

Last Stride

最新跨距

SM

SM

Last Prefetch

最新预取

Load Buffer

载入缓冲区

IP

IP

Prefetch History Table 256 Entries

预取历史列表256 个条目

L1 Data Cashe Unit 32 KB

1 级数据高速缓存单元 32 KB

Address

地址

Prefetch Generator

预取生成器

FIFO

FIFO

IP Prefetcher Request

IP 预取器请求

DCU Streamer Request

DCU 流处理器请求

to/from L2 Cache

至/自 2 级高速缓存

Everything happens during load’s execution.

所有操作都在载入执行期间进行。


图3:英特尔® 酷睿 微架构指令指针预取器系统高级框图

总结

英特尔® 智能内存访问技术在英特尔® 酷睿 微架构中扮演着重要角色,有效提升了该微架构的性能和性能功耗比。借助内存消歧和高级 IP 预取器,英特尔® 酷睿 微架构实现了系统内存资源的智能化高效利用。

英特尔® 智能内存访问技术连同英特尔® 酷睿 微架构的其它四大技术(英特尔® 宽位动态执行、英特尔® 高级数字媒体增强、英特尔® 高级智能高速缓存及英特尔® 智能功效管理)共同打造高性能、低功耗的计算机设计,减少服务器数据中心的面积,降低功耗,减轻散热负担,并实现了整个客户机和服务器平台的响应速度提升,以及效率和能效改进。



了解更多信息

如欲查看白皮书、演示等资料,了解更多信息,请访问下列英特尔网站:
英特尔® 酷睿 微架构
英特尔® 至强 51xx 指标评测详细信息
英特尔多核
能效表现



作者简介

Jack Doweck
英特尔公司移动事业部首席工程师

Jack Doweck 是英特尔移动事业部首席工程师,也是全新英特尔® 酷睿 微架构的首席设计师。英特尔® 酷睿 微架构是英特尔® 至强® 5000 系列处理器与英特尔® 酷睿2 双核处理器的基石。在英特尔® 酷睿 微架构的定义阶段,Doweck 定义了内存集群微架构并参与定义乱序执行微架构。Doweck 在处理器微架构领域拥有八项专利,另有六项正在申请中。他曾三度获得英特尔成就奖。Doweck 于 1989 年加盟英特尔以色列设计中心。他拥有电气工程学学士学位和以色列海法市 Technion 理工学院的计算机工程学硕士学位。

 


1 性能基于 SPECint*_rate_base2000 评测结果。实际性能可能有所差异。功耗降低基于散热设计功耗(TDP)。请参阅 www.intel.com/performmance,了解所有与性能相关的要求与声明。

 

   
站点索引 | 关于 RSS | 英特尔就业 | 投资商关系 *法律信息 | 隐私条款 | © 2006 英特尔公司