2022年2022年接口技术报告 2.pdf

上传人:Che****ry 文档编号:34254121 上传时间:2022-08-15 格式:PDF 页数:4 大小:68.55KB
返回 下载 相关 举报
2022年2022年接口技术报告 2.pdf_第1页
第1页 / 共4页
2022年2022年接口技术报告 2.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年2022年接口技术报告 2.pdf》由会员分享,可在线阅读,更多相关《2022年2022年接口技术报告 2.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、接口技术作业报告Intel Core i7处理器是英特尔于2008 年推出的 64 位四核心 CPU, 沿用 x86-64 指令集,并以 Intel Nehalem 微架构为基础1,取代 Intel Core 2 系列处理器。 Nehalem 曾经是 Pentium 4 10 GHz版本的代号。Intel Core i7 的特点主要有以下几点:(1)支持超线程的技术,令到四核心的处理器,有总共8 个线程 (2010 年推出的 Core i7 980X 6 核心系列将有 12 个线程)(2)存储器控制器会自带于CPU 中,支持三通道DDR3 SDRAM(3)支持 Turbo Mode (后更名为

2、 Dynamic Speed )技术,倘若有程序使用较多的处理器负载,处理器频率可以按步骤提升,此外,可以自动往上提升倍频9该功能不需要操作系统的支持,完全由硬件监(4)支持 Power Gates 技术,核心闲置的时候可被关闭。对比上一代的Core 2 Duo ,Core i7 的核心电阻可以被关闭,电流可以完全不通过核心。各个处理器核心可运作于不同的频率和电压(5)Turbo Mode及 Power Gates功能都是由一个单元提供,占去大约一百万个晶体管(6)放弃了传统的FSB,使用了新的 Quick Path Interconnect,与 AMD 的 HyperTransport相似。

3、相比FSB , 每一个处理器都可以有独立的QPI 通道与其他处理器连接, 处理器之间不用再共享FSB 带宽,并绕路到北桥才能通信。此外,QPI 是双向传输(7)指令集方面, SSE4 的版本会提升为SSE 4.2 ,后者新增了 7 条指令(8)处理器采用模块化设计。例如核心、存储器控制器、以至输入输出接口控制器,都能够以不同的数量配搭。这样做可以使到产品更容易针对不同市场,而每一个模块都可以有独立的电压,令到处理器更省电(9)L2 缓存亦有所减少,每一个核心独立256KB,但拥有较低读取延迟值。加入L3 缓存,每一个处理器共享 8MB(10)处理器核心的电压与系统存储器同步。目前,官方会支持D

4、DR3-800 和 DDR3-1066 规格。对于DDR3-1333 ,由于处理器只可以接受较低的电压水平(限制在1.65V 或以下) ,高速的存储器意味着需要较高的电压, 所以此规格的官方支持仍然存在疑问。第二批 X58 芯片组主机版将可以实现电压异步,方便用家超频。另外,原先只有 XE 版本处理器可以调整存储器频率。后Intel 修改为所有上市的Core i7 处理器,均可以修改存储器和QPI 的频率Nehalem 的核心部分比Core 微架构改进了以下部分:快速通道互联(QPI):取代前端总线(FSB)的一种点到点连接技术,20 位宽的 QPI 连接其带宽可达惊人的每秒 25.6GB ,

5、远超过原来的FSB。QPI 最初能够发放异彩的是支持多个处理器的服务器平台,QPI 可以用于多处理器之间的互联。集成了内存控制器(IMC) :内存控制器从北桥芯片组上转移到CPU 片上,支持三通道DDR3 内存, 内存读取延迟大幅减少,内存带宽则大幅提升,最多可达三倍。Cache设计:采用三级全内含式Cache设计, L1 的设计与 Core 微架构一样; L2 采用超低延迟的设计,每个核心各拥有256KB 的 L2 Cache;L3 则是采用共享式设计,被片上所有核心共享使用。Nehalem的核心部分比Core 微架构新增加的功能主要有以下几方面:New SSE4.2 Instruction

6、s (新增加 SSE4.2指令)Turbo Mode (内核加速模式)Improved Lock Support (改进的锁定支持)Additional Caching Hierarchy (新的缓存层次体系)Deeper Buffers (更深的缓冲)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - Improved Loop Streaming (改进的循环流)Simultaneous Multi-Threading (同步多

7、线程)Faster Virtualization (更快的虚拟化)Better Branch Prediction (更好的分支预测)QPI 总线技术Nehalem使用的 QPI 总线是基于数据包传输 (packet-based ) 、 高带宽、低延迟的点到点互连技术 (point to point interconnect),速度达到6.4GT/s (每秒可以传输6.4G 次数据)。每一条连接(link)是 20bit位宽的接口,使用高速的差分信号(differential signaling)和专用的时钟通道(dedicated clock lane),这些时钟通道具有失效备援(failo

8、ver )。 QPI 数据包是 80bit 的长度,发送需要用4 个周期。尽管数据包是 80bit ,但只有 64bit 是用于数据,其它的数据位则是用于流量控制、CRC 和其它一些目的。这样,每条连接就一次传输16bit (2Byte )的数据,其余的位宽则是用于CRC 。由于 QPI 总线可以双向传输,那么一条 QPI 总线连接理论最大值就可以达到25.6GB/s (22B 6.4GT/s )的数据传送。单向则是12.8GB/s 。对于不同市场的Nehalem ,可以具有不同的QPI 总线条数。比如桌面市场的CPU ,具有 1 条或者半条 QPI 总线(半条可能是用10bit 位宽或单向)

9、; DP 服务器(双 CPU 插座)的 CPU ,每个具有 2 条 QPI总线;而 MP 服务器( 4 个或 8 个 CPU 插座)的,则每个具有4 条或更多的QPI 总线。IMC( 集成内存控制器) Nehalem的 IMC (integrated memory controller, 整合内存控制器),可以支持 3 通道的 DDR3 内存,运行在 1.33GT/s (DDR3-1333 ),这样总共的峰值带宽就可以达到32GB/s (3 64bit 1.33GT/s8)。不过还并不支持FB-DIMM ,要 Nehalem EX (Beckton )才有可能会支持FB-DIMM (Fully

10、 Buffered-DIMM,全缓冲内存模组)。每通道的内存都能够独立操作,控制器需要乱序执行来降低(掩盖)延迟。由于有了Core 2 近 4 倍的内存带宽, Nehalem的每个核心支持最大10 个未解决的数据缓存命中失败(outstanding data cache miss)和总共 16 个命中失败,而Core 2 在运行中则只支持最大8 个数据缓存的和总共14 个的命中失败。IMC 能够很显著的降低内存延迟(尤其是对于采用FB-DIMM 方案的系统)。下面的Nehalem与Harpertown ,我不清楚是什么频率情况下的对比(来自于IDF 上的表格,可能Nehalem是 3.2GHz

11、 )。Nehalem的本地内存延迟大约是Harpertown的 60% 。Harpertown系统使用的是1.6GT/s 的前端总线,所有内存都在一个位置,大约是略低于100ns (纳秒)的延迟,这样Nehalem 的内存延迟就是约60ns 。对于 2 个 CPU 插座的 Nehalem 来说,使用的是 NUMA 结构(Non Uniform Memory Access Achitecture,非均匀内存存取架构),远方内存的延迟则要高一些,因为这时对内存的请求和回应需要通过QPI 总线,其延迟大约是Harpertown的 95% 。所以,即使是最糟糕的情况,延迟还是得到了降低。一个有意思的问

12、题是, 当使用 4 个 CPU 插座的 Nehalem 时, 延迟是否将会被增大?因为这种系统很有可能会使用FB-DIMM ,而这意味着将遭受延迟损失,不过远方内存的延迟还是将只会比本地内存慢个约30ns 。对于其它使用IMC 和核心互连的多CPU 系统 (例如 EV7 、 K8、 K10 ) , 内存延迟也是非均匀的 (NUMA ) 。为了优化性能,操作系统就必须知道延迟差异,并调度那些在同一个CPU 上共享数据的进程。Windows Vista 是 Microsoft 的第一个为NUMA 进行优化的操作系统, 而 Linux 等则已经很早就可以支持NUMA 了。Nehalem的远方 /本地

13、延迟比是约1.5 倍。衡量 K8 的 NUMA 系数(也就是远方延迟除以本地延迟)在2 CPU 系统时也差不多是1.5。而在 4 CPU 系统时, INTEL 将具有优势, 因为所有的内存要么都是本地(当QPI 总线上没有hop 时),或者所有内存都是远方(QPI 总线上有一个hop 时)。因为使用对角线连接,每个 CPU 都有 QPI 总线连接, 那么远方内存最多就一跳(1 个 hop ) 。 而现在的 4 插座的 K8 或 K10 系统,有的内存在HT 总线上多达有2 个 hop。总之,具有更大的NUMA 系数,就更需要软件考虑其所使用的内存的位置。作为参考,其中最早一个具备IMC 和核心

14、互连的EV7 ,在其 64 CPU的系统中, NUMA 系数为 1.86-5.21 (1-8 个 hop 的情况)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 缓存结构Nehalem可以同时运行的读取和存储量增加了50%,读取缓冲由32 项增加到了 48 项,而存储缓冲由 20 项增加到了32 项(增量还略多于50% )。增加的原因自然是为了让两个线程共享,这里采用的是静态分配,可能是由于关键路径的限制。从读取缓冲和存储缓冲,

15、存储操作就继续访问到缓存架构。Nehalem 的缓存架构是完全革新了的。像P4 一样,所有的缓存和数据TLB (Translation Lookaside Buffer,旁路转换缓冲,或叫页表缓冲)都是由2 个线程动态共享(根据已经观察到的行为)。Nehalem的 L1 D(一级数据缓存)保留了和Core 2 一样的大小和联合度(associativity ),但是延迟却从3 个周期增加到了4 个周期,以适应时间限制(timing constraint )。每一个核心可以支持更多的未解决的命中失败(outstanding miss),最多到 16 个,可以利用更多的存储带宽。而 Nehalem

16、 剩下的缓存结构则和Core 2 截然不同。 Core 2 的最后一级缓存是L2,由 2 个核心共享,这样可以减少一致性错误(coherency traffic ),数量达到了24 路联合的 6MB (Penryn ),延迟是14-15个周期(Conroe 是 14,Penryn 是 15)。而 Nehalem 有 3 级缓存, 前两级相对较小, 是每个核心私有的,而 L3 则非常大,由所有核心共享。Nehalem的每个核心有一个私有的通用型L2,是 8 路联合的 256KB ,访问速度相当快。其使用延迟时间还没有完全披露, 不过 INTEL 的工程师表明是小于12 个周期的。Nehalem的

17、 L2 相对于其 L1D 来说,既不是包含式( inclusive )也不是独占式(exclusive ),就象 Core 2 一样, Nehalem可以在两个核心的私有缓存( L1D 和 L2)之间传递数据,尽管不能够达到全速。Nehalem的 16 路联合、 8MB 的 L3 对于前两级来说,是完全包含式的,并且由4 个核心共享。尽管INTEL 并没有完全说明Nehalem的物理设计,但似乎L3 缓存是单独使用电力,并运行在单独的频率上。这是从节省电力和可靠性这两个方面推断出来的,因为大的缓存更容易在低电压下产生软错误(soft error ) 。这样, L3 使用延迟就取决于相对频率、核

18、心的相差(phase alignment)、 L3 自身,还有访问L3 的仲裁器的延迟。在最好的情况下, 即操作相差和频率差距是整数倍的情况下,Nehalem的 L3 使用延迟是在30-40周期(根据INTEL 工程师的说法)。Nehalem的缓存架构设计得也更容易支持非对齐(unaligned )的访问,有更快的非对齐缓存存取。INTEL 前几代芯片一直是用两种类型指令来做16Byte (128bit )的 SSE 读取和存储,一种是其数据必须正好和缓存行( 16B )对齐,比如MOVAPS/D 、MOVDQA 指令 (数据)必须刚好是16Byte ,和缓存行对齐。另一种则可以是未对齐的,比

19、如MOVUPS/D 、 MOVDQU指令,数据对齐与否是没有要求的。Nehalem对非对齐指令进行了优化:在存取对齐数据的时候,非对齐指令和对齐指令具有一样的延迟和吞吐量。同时也提高了非对齐指令对于非对齐数据的访问速度。这样,不管是什么类型的SSE 操作,都具有相同的延迟。另外Nehalem对在存取数据时跨越了64-Byte 缓存行边界的情况也进行了优化,比起Core 2 具有更低的延迟和更高的吞吐量。这样,编译器就不会再惧怕使用非对齐的指令了。SMT (同步多线程技术)同步多线程( Simultaneous Multi-Threading,SMT)技术又重新回归到了Nehalem架构,这最早

20、出现在 130nm 的 P4 上。对于打开了SMT 的 CPU 来说,将会遭受到更多的命中失败,并需要使用更多的带宽。所以 Nehalem比 P4 是更适合使用SMT 的。另外,在移动和桌面领域的Nehalem有可能将不会支持SMT,它们也不需要3 通道内存。为什么 Core 2 没有使用 SMT?很显然,它是可以做到的。SMT 是在节省电力的基础上增加了性能,而且软件支持的基础建设也早就有了。有2 个可能的原因:一是Core 2 可能没有足够的内存带宽和CPU内部带宽来利用SMT 获得优势。通常,SMT 能够提升内存级并行(memory level parallelism,MLP),但是对于

21、内存带宽已经成为瓶颈的系统则是个麻烦。而更有可能的原因则是SMT 的设计、 生效等是很麻烦的,而当初设计SMT 是由 INTEL 的 Hillsboro小组主持,而并非是Haifa 小组( Core 2 是由这个小组负责的)。这样Core 2 不使用 SMT 就避免了冒险。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - Nehalem的同步多线程( Simultaneous Multi-Threading,SMT)是 2-way

22、 的,每核心可以同时执行2个线程。对于执行引擎来说,在多线程任务的情况下,就可以掩盖单个线程的延迟。SMT 功能的好处是只需要消耗很小的核心面积代价,就可以在多任务的情况下提供显著的性能提升,比起完全再添加一个物理核心来说要划算得多。这个和以前P4 的 HT 技术是一样的,但比较起来,Nehalem的优势是有更大的缓存和更大的内存带宽,这样就更能够有效的发挥。按照INTEL 的说法, Nehalem的 SMT 可以在增加很少能耗的情况下,让性能提升20-30% 。自动超频,核心加速Turbo Mode ,故名思义,就是加速模式,它是基于Nehalem 架构的电源管理技术,通过分析当前CPU的负

23、载情况,智能地完全关闭一些用不上的核心,把能源留给正在使用的核心,并使它们运行在更高的频率,进一步提升性能; 相反,需要多个核心时, 动态开启相应的核心,智能调整频率。 这样, 在不影响 CPU的 TDP 情况下,能把核心工作频率调得更高。Turbo Boost 默认是开启的,通过自动调高CPU 的倍频提高性能。在Intel 原厂 X58 主板上,低负载时默认调高 1-2 个倍频。例如 Core i7 920 默认频率为2.66G,在 Turbo Boost 默认是开启的情况下,运行 Super PI 是以单核2.8G 来跑,这样单线程性能也就得到提升。文本处理再提速!完整 SSE4 指令支持

24、完整的 SSE 4(Streaming SIMD Extensions 4 ,流式单指令多数据流扩张)指令集共包含54 条指令,其中的 47条指令已在45nm 的 Core 2 上实现,称为SSE 4.1。SSE 4.1指令的引入,进一步增强了CPU 在视频编码 /解码、图形处理以及游戏等多媒体应用上的性能。其余的7 条指令在 Core i7 中也得以实现了,称为SSE 4.2 。SSE 4.2是对 SSE 4.1的补充, 主要针对的是对XML文本的字符串操作、存储校验 CRC32 的处理等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁