欢迎来到天天文库
浏览记录
ID:34214926
大小:3.65 MB
页数:42页
时间:2019-03-04
《Intel_Sandy_Bridge_详解.docx》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、如果翻看几年前的资料,可以发现,在那时候,英特尔处理器32nm制程下的两个微架构分别是Nehalem-C和GESHER,尤其是后一个,对我们来说是相当陌生的。 几年前的资料,今天的微架构代号为GESHER 当然很多读者能猜得出,昔日的Nehalem-C就是今天的Westmere(Clarkdale核心Core i5/i3的微架构),而GESHER无疑就是最火热的SandyBridge(SNB)。 在希伯来文中,GESHER是桥梁的意思,对于Sandy Bridge来说,这是一个恰如其分的比喻,它是英特尔三个分割世界的综合
2、体:融合了P6(代表Pentium Pro)、NetBurst(代表Pentium 4)的特性,并整合了新一代图形核心,这样的结果使得一个创新的微架构集成在32nm制程的单芯片上。 英特尔的“Tick-Tock”战略众所周知,“制程技术-微架构”交替更新,偶数年带来新架构,而奇数年则带来工艺的进步。在2010年伊始,英特尔就将制程提升到了32nm,而今年微架构将升级到新一代的Sandy Bridge。 历史的钟声刚刚在2011年敲响,英特尔新一代微架构SandyBridge就正式发布了,在今后一段时间内,它将是所有目光的
3、聚焦点。◆SandyBridge微架构简介 Sandy Bridge是一个全新的基于昔日P6和NetBurst微架构某些元素的集合,虽然它比较相似于P6,但是还是存在着较大的不同,当然了,上一代Nehalem的上一代Core微架构也是脱胎于P6,Sandy Bridge也深深烙下了P6的印记。而像uop缓存和physicalregister file(物理寄存器文件),它们都是从NetBurst微架构上汲取过来的。总体上,Sandy Bridge的每个方面都较上一代Nehalem有所提高。 SandyBridge核心图
4、虽然Sandy Bridge还是采用的32nm制程,但相较于Westmere,它真正将GPU与CPU融合,从以前的双U各立山头到合二为一,就是非常大的突破。当然Sandy Bridge的变化并不仅限于此,其主要特性还有: •32nm工艺全新微架构,性能更高功耗更低 –新的分支预测单元 –新的Uop缓存 –新的物理寄存器文件 –有效执行256位指令 –放弃QPI,改用环形总线 –最末级缓存LLC机制 –新鲜的系统助理 •32nm工艺新一代图形引擎,出色的媒体与视频
5、性能 •高级矢量扩展指令集(IntelAVX),加快浮点运算密集型应用 •TurboBoost2.0睿频技术,动态调控CPU和GPU频率 从Nehalem开始,英特尔将处理器核心分为了核心(Core)与非核心(Uncore)两部分,我们在讲述SandyBridge架构上改进的时候,也将分开Core和Uncore来叙述,不过需要先了解一下CPU内部的工作流程。 ◆CPU工作流程 P6是首个乱序执行(OutofOrderExecute)的微架构,作为P6繁衍的产品,SandyBridge和Nehalem都是采用乱序执
6、行超标量(Superscaler)x86指令的架构,其内部的工作流程基本如下: 一套完整的计算机程序是由很多指令组成的。在执行前,程序首先被加载到内存中,程序执行时,处理器首先要从内存或高速缓存中获取指令,这个过程被成为取指(InstructionFetch)。在处理器取到指令后,需要判断这条指令是什么类型的指令,究竟要执行什么操作,这个过程被称为译码(Decode)。在指令被译码后,需要为这条指令分配它计算所需要的资源,例如加法器等,这个过程被称为分派和发射(Dispatch和Lauch);指令在计算单元中具体执行的过程
7、被称为执行(Exectue);执行结束后,需要将运行结果存回目标地址,这个过程被称为回写(WriteBack)。 如图上所示,在处理器内部的电路单元设计与上述过程是一一对应的。Sandy Bridge对比Nehalem在核心部分就以上每方面都做了相应的改进。 在深入了解SandyBridge微架构之前,首先我们先来了解一下Nehalem微架构处理器的核心功能区间划分: Nehalem核心微架构图 Nehalem微架构中的任何一款处理器其核心(Core)部分的电路设计均如图上所示,只有非核心(Uncore)部分不同,以及
8、是否遮蔽了超线程技术。Sandy Bridge微架构采用了同样的方法用以划分高、中、低端产品。 从下文开始,将开始介绍SandyBridge在Core部分的具体改动部分。 ◆取指:新的分支预测单元 CPU前端的主要任务是从指令流传递足够Uops(微操作)来保持后端饱和状态,指令流的传递
此文档下载收益归作者所有