AMD的CPU内核有Windsor Brisbane Orleans Manila都是啥意思?哪种内核好?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AMD的CPU内核有Windsor Brisbane Orleans Manila都是啥意思?哪种内核好?相关的知识,希望对你有一定的参考价值。

核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。

为了便于CPU设计、生产、销售的管理,CPU制造商会对各种CPU核心给出相应的代号,这也就是所谓的CPU核心类型。

不同的CPU(不同系列或同一系列)都会有不同的核心类型(例如Pentium 4的Northwood,Willamette以及K6-2的CXT和K6-2+的ST-50等等),甚至同一种核心都会有不同版本的类型(例如Northwood核心就分为B0和C1等版本),核心版本的变更是为了修正上一版存在的一些错误,并提升一定的性能,而这些变化普通消费者是很少去注意的。每一种核心类型都有其相应的制造工艺(例如0.25um、0.18um、0.13um以及0.09um等)、核心面积(这是决定CPU成本的关键因素,成本与核心面积基本上成正比)、核心电压、电流大小、晶体管数量、各级缓存的大小、主频范围、流水线架构和支持的指令集(这两点是决定CPU实际性能和工作效率的关键因素)、功耗和发热量的大小、封装方式(例如S.E.P、PGA、FC-PGA、FC-PGA2等等)、接口类型(例如Socket 370,Socket A,Socket 478,Socket T,Slot 1、Socket 940等等)、前端总线频率(FSB)等等。因此,核心类型在某种程度上决定了CPU的工作性能。

一般说来,新的核心类型往往比老的核心类型具有更好的性能(例如同频的Northwood核心Pentium 4 1.8A GHz就要比Willamette核心的Pentium 4 1.8GHz性能要高),但这也不是绝对的,这种情况一般发生在新核心类型刚推出时,由于技术不完善或新的架构和制造工艺不成熟等原因,可能会导致新的核心类型的性能反而还不如老的核心类型的性能。例如,早期Willamette核心Socket 423接口的Pentium 4的实际性能不如Socket 370接口的Tualatin核心的Pentium III和赛扬,现在的低频Prescott核心Pentium 4的实际性能不如同频的Northwood核心Pentium 4等等,但随着技术的进步以及CPU制造商对新核心的不断改进和完善,新核心的中后期产品的性能必然会超越老核心产品。

CPU核心的发展方向是更低的电压、更低的功耗、更先进的制造工艺、集成更多的晶体管、更小的核心面积(这会降低CPU的生产成本从而最终会降低CPU的销售价格)、更先进的流水线架构和更多的指令集、更高的前端总线频率、集成更多的功能(例如集成内存控制器等等)以及双核心和多核心(也就是1个CPU内部有2个或更多个核心)等。CPU核心的进步对普通消费者而言,最有意义的就是能以更低的价格买到性能更强的CPU。

在CPU漫长的历史中伴随着纷繁复杂的CPU核心类型,以下分别就Intel CPU和AMD CPU的主流核心类型作一个简介。主流核心类型介绍(仅限于台式机CPU,不包括笔记本CPU和服务器/工作站CPU,而且不包括比较老的核心类型)。

INTEL CPU的核心类型

Northwood
这是目前主流的Pentium 4和赛扬所采用的核心,其与Willamette核心最大的改进是采用了0.13um制造工艺,并都采用Socket 478接口,核心电压1.5V左右,二级缓存分别为128KB(赛扬)和512KB(Pentium 4),前端总线频率分别为400/533/800MHz(赛扬都只有400MHz),主频范围分别为2.0GHz到2.8GHz(赛扬),1.6GHz到2.6GHz(400MHz FSB Pentium 4),2.26GHz到3.06GHz(533MHz FSB Pentium 4)和2.4GHz到3.4GHz(800MHz FSB Pentium 4),并且3.06GHz Pentium 4和所有的800MHz Pentium 4都支持超线程技术(Hyper-Threading Technology),封装方式采用PPGA FC-PGA2和PPGA。按照Intel的规划,Northwood核心会很快被Prescott核心所取代。

Prescott
这是Intel最新的CPU核心,目前还只有Pentium 4而没有低端的赛扬采用,其与Northwood最大的区别是采用了0.09um制造工艺和更多的流水线结构,初期采用Socket 478接口,以后会全部转到LGA 775接口,核心电压1.25-1.525V,前端总线频率为533MHz(不支持超线程技术)和800MHz(支持超线程技术),主频分别为533MHz FSB的2.4GHz和2.8GHz以及800MHz FSB的2.8GHz、3.0GHz、3.2GHz和3.4GHz,其与Northwood相比,其L1 数据缓存从8KB增加到16KB,而L2缓存则从512KB增加到1MB,封装方式采用PPGA。按照Intel的规划,Prescott核心会很快取代Northwood核心并且很快就会推出Prescott核心533MHz FSB的赛扬。

Smithfield
这是Intel公司的第一款双核心处理器的核心类型,于2005年4月发布,基本上可以认为Smithfield核心是简单的将两个Prescott核心松散地耦合在一起的产物,这是基于独立缓存的松散型耦合方案,其优点是技术简单,缺点是性能不够理想。目前Pentium D 8XX系列以及Pentium EE 8XX系列采用此核心。Smithfield核心采用90nm制造工艺,全部采用Socket 775接口,核心电压1.3V左右,封装方式都采用PLGA,都支持硬件防病毒技术EDB和64位技术EM64T,并且除了Pentium D 8X5和Pentium D 820之外都支持节能省电技术EIST。前端总线频率是533MHz(Pentium D 8X5)和800MHz(Pentium D 8X0和Pentium EE 8XX),主频范围从2.66GHz到3.2GHz(Pentium D)、3.2GHz(Pentium EE)。Pentium EE和Pentium D的最大区别就是Pentium EE支持超线程技术而Pentium D则不支持。Smithfield核心的两个核心分别具有1MB的二级缓存,在CPU内部两个核心是互相隔绝的,其缓存数据的同步是依靠位于主板北桥芯片上的仲裁单元通过前端总线在两个核心之间传输来实现的,所以其数据延迟问题比较严重,性能并不尽如人意。按照Intel的规划,Smithfield核心将会很快被Presler核心取代。

Cedar Mill
这是Pentium 4 6X1系列和Celeron D 3X2/3X6系列采用的核心,从2005末开始出现。其与Prescott核心最大的区别是采用了65nm制造工艺,其它方面则变化不大,基本上可以认为是Prescott核心的65nm制程版本。Cedar Mill核心全部采用Socket 775接口,核心电压1.3V左右,封装方式采用PLGA。其中,Pentium 4全部都为800MHz FSB、2MB二级缓存,都支持超线程技术、硬件防病毒技术EDB、节能省电技术EIST以及64位技术EM64T;而Celeron D则是533MHz FSB、512KB二级缓存,支持硬件防病毒技术EDB和64位技术EM64T,不支持超线程技术以及节能省电技术EIST。Cedar Mill核心也是Intel处理器在NetBurst架构上的最后一款单核心处理器的核心类型,按照Intel的规划,Cedar Mill核心将逐渐被Core架构的Conroe核心所取代。

Presler
这是Pentium D 9XX和Pentium EE 9XX采用的核心,Intel于2005年末推出。基本上可以认为Presler核心是简单的将两个Cedar Mill核心松散地耦合在一起的产物,是基于独立缓存的松散型耦合方案,其优点是技术简单,缺点是性能不够理想。Presler核心采用65nm制造工艺,全部采用Socket 775接口,核心电压1.3V左右,封装方式都采用PLGA,都支持硬件防病毒技术EDB、节能省电技术EIST和64位技术EM64T,并且除了Pentium D 9X5之外都支持虚拟化技术Intel VT。前端总线频率是800MHz(Pentium D)和1066MHz(Pentium EE)。与Smithfield核心类似,Pentium EE和Pentium D的最大区别就是Pentium EE支持超线程技术而Pentium D则不支持,并且两个核心分别具有2MB的二级缓存。在CPU内部两个核心是互相隔绝的,其缓存数据的同步同样是依靠位于主板北桥芯片上的仲裁单元通过前端总线在两个核心之间传输来实现的,所以其数据延迟问题同样比较严重,性能同样并不尽如人意。Presler核心与Smithfield核心相比,除了采用65nm制程、每个核心的二级缓存增加到2MB和增加了对虚拟化技术的支持之外,在技术上几乎没有什么创新,基本上可以认为是Smithfield核心的65nm制程版本。Presler核心也是Intel处理器在NetBurst架构上的最后一款双核心处理器的核心类型,可以说是在NetBurst被抛弃之前的最后绝唱,以后Intel桌面处理器全部转移到Core架构。按照Intel的规划,Presler核心从2006年第三季度开始将逐渐被Core架构的Conroe核心所取代。

Yonah
目前采用Yonah核心CPU的有双核心的Core Duo和单核心的Core Solo,另外Celeron M也采用了此核心,Yonah是Intel于2006年初推出的。这是一种单/双核心处理器的核心类型,其在应用方面的特点是具有很大的灵活性,既可用于桌面平台,也可用于移动平台;既可用于双核心,也可用于单核心。Yonah核心来源于移动平台上大名鼎鼎的处理器Pentium M的优秀架构,具有流水线级数少、执行效率高、性能强大以及功耗低等等优点。Yonah核心采用65nm制造工艺,核心电压依版本不同在1.1V-1.3V左右,封装方式采用PPGA,接口类型是改良了的新版Socket 478接口(与以前台式机的Socket 478并不兼容)。在前端总线频率方面,目前Core Duo和Core Solo都是667MHz,而Yonah核心Celeron M是533MHz。在二级缓存方面,目前Core Duo和Core Solo都是2MB,而即Yonah核心Celeron M是1MB。Yonah核心都支持硬件防病毒技术EDB以及节能省电技术EIST,并且多数型号支持虚拟化技术Intel VT。但其最大的遗憾是不支持64位技术,仅仅只是32位的处理器。值得注意的是,对于双核心的Core Duo而言,其具有的2MB二级缓存在架构上不同于目前所有X86处理器,其它的所有X86处理器都是每个核心独立具有二级缓存,而Core Duo的Yonah核心则是采用了与IBM的多核心处理器类似的缓存方案----两个核心共享2MB的二级缓存!共享式的二级缓存配合Intel的“Smart cache”共享缓存技术,实现了真正意义上的缓存数据同步,大幅度降低了数据延迟,减少了对前端总线的占用。这才是严格意义上的真正的双核心处理器!Yonah核心是共享缓存的紧密型耦合方案,其优点是性能理想,缺点是技术比较复杂。不过,按照Intel的规划,以后Intel各个平台的处理器都将会全部转移到Core架构,Yonah核心其实也只是一个过渡的核心类型,从2006年第三季度开始,其在桌面平台上将会被Conroe核心取代,而在移动平台上则会被Merom核心所取代。

Conroe
这是更新的Intel桌面平台双核心处理器的核心类型,其名称来源于美国德克萨斯州的小城市“Conroe”。Conroe核心于2006年7月27日正式发布,是全新的Core(酷睿)微架构(Core Micro-Architecture)应用在桌面平台上的第一种CPU核心。目前采用此核心的有Core 2 Duo E6x00系列和Core 2 Extreme X6x00系列。与上代采用NetBurst微架构的Pentium D和Pentium EE相比,Conroe核心具有流水线级数少、执行效率高、性能强大以及功耗低等等优点。Conroe核心采用65nm制造工艺,核心电压为1.3V左右,封装方式采用PLGA,接口类型仍然是传统的Socket 775。在前端总线频率方面,目前Core 2 Duo和Core 2 Extreme都是1066MHz,而顶级的Core 2 Extreme将会升级到1333MHz;在一级缓存方面,每个核心都具有32KB的数据缓存和32KB的指令缓存,并且两个核心的一级数据缓存之间可以直接交换数据;在二级缓存方面,Conroe核心都是两个内核共享4MB。Conroe核心都支持硬件防病毒技术EDB、节能省电技术EIST和64位技术EM64T以及虚拟化技术Intel VT。与Yonah核心的缓存机制类似,Conroe核心的二级缓存仍然是两个核心共享,并通过改良了的Intel Advanced Smart Cache(英特尔高级智能高速缓存)共享缓存技术来实现缓存数据的同步。Conroe核心是目前最先进的桌面平台处理器核心,在高性能和低功耗上找到了一个很好的平衡点,全面压倒了目前的所有桌面平台双核心处理器,加之又拥有非常不错的超频能力,确实是目前最强劲的台式机CPU核心。

Allendale
这是与Conroe同时发布的Intel桌面平台双核心处理器的核心类型,其名称来源于美国加利福尼亚州南部的小城市“Allendale”。Allendale核心于2006年7月27日正式发布,仍然基于全新的Core(酷睿)微架构,目前采用此核心的有1066MHz FSB的Core 2 Duo E6x00系列,即将发布的还有800MHz FSB的Core 2 Duo E4x00系列。Allendale核心的二级缓存机制与Conroe核心相同,但共享式二级缓存被削减至2MB。Allendale核心仍然采用65nm制造工艺,核心电压为1.3V左右,封装方式采用PLGA,接口类型仍然是传统的Socket 775,并且仍然支持硬件防病毒技术EDB、节能省电技术EIST和64位技术EM64T以及虚拟化技术Intel VT。除了共享式二级缓存被削减到2MB以及二级缓存是8路64Byte而非Conroe核心的16路64Byte之外,Allendale核心与Conroe核心几乎完全一样,可以说就是Conroe核心的简化版。当然由于二级缓存上的差异,在频率相同的情况下Allendale核心性能会稍逊于Conroe核心。

Merom
这是与Conroe同时发布的Intel移动平台双核心处理器的核心类型,其名称来源于以色列境内约旦河旁边的一个湖泊“Merom”。Merom核心于2006年7月27日正式发布,仍然基于全新的Core(酷睿)微架构,这也是Intel全平台(台式机、笔记本和服务器)处理器首次采用相同的微架构设计,目前采用此核心的有667MHz FSB的Core 2 Duo T7x00系列和Core 2 Duo T5x00系列。与桌面版的Conroe核心类似,Merom核心仍然采用65nm制造工艺,核心电压为1.3V左右,封装方式采用PPGA,接口类型仍然是与Yonah核心Core Duo和Core Solo兼容的改良了的新版Socket 478接口(与以前台式机的Socket 478并不兼容)或Socket 479接口,仍然采用Socket 479插槽。Merom核心同样支持硬件防病毒技术EDB、节能省电技术EIST和64位技术EM64T以及虚拟化技术Intel VT。Merom核心的二级缓存机制也与Conroe核心相同,Core 2 Duo T7x00系列的共享式二级缓存为4MB,而Core 2 Duo T5x00系列的共享式二级缓存为2MB。Merom核心的主要技术特性与Conroe核心几乎完全相同,只是在Conroe核心的基础上利用多种手段加强了功耗控制,使其TDP功耗几乎只有Conroe核心的一半左右,以满足移动平台的节电需求。

AMD CPU的核心类型

Athlon XP的核心类型
Athlon XP有4种不同的核心类型,但都有共同之处:都采用Socket A接口而且都采用PR标称值标注。

Thorton
采用0.13um制造工艺,核心电压1.65V左右,二级缓存为256KB,封装方式采用OPGA,前端总线频率为333MHz。可以看作是屏蔽了一半二级缓存的Barton。

Barton
采用0.13um制造工艺,核心电压1.65V左右,二级缓存为512KB,封装方式采用OPGA,前端总线频率为333MHz和400MHz。

新Duron的核心类型
AppleBred
采用0.13um制造工艺,核心电压1.5V左右,二级缓存为64KB,封装方式采用OPGA,前端总线频率为266MHz。没有采用PR标称值标注而以实际频率标注,有1.4GHz、1.6GHz和1.8GHz三种。

Athlon 64系列CPU的核心类型

Clawhammer
采用0.13um制造工艺,核心电压1.5V左右,二级缓存为1MB,封装方式采用mPGA,采用Hyper Transport总线,内置1个128bit的内存控制器。采用Socket 754、Socket 940和Socket 939接口。

Newcastle
其与Clawhammer的最主要区别就是二级缓存降为512KB(这也是AMD为了市场需要和加快推广64位CPU而采取的相对低价政策的结果),其它性能基本相同。

Wincheste
Wincheste是比较新的AMD Athlon 64CPU核心,是64位CPU,一般为939接口,0.09微米制造工艺。这种核心使用200MHz外频,支持1GHyperTransprot总线,512K二级缓存,性价比较好。Wincheste集成双通道内存控制器,支持双通道DDR内存,由于使用新的工艺,Wincheste的发热量比旧的Athlon小,性能也有所提升。

Troy
Troy是AMD第一个使用90nm制造工艺的Opteron核心。Troy核心是在Sledgehammer基础上增添了多项新技术而来的,通常为940针脚,拥有128K一级缓存和1MB (1,024 KB)二级缓存。同样使用200MHz外频,支持1GHyperTransprot总线,集成了内存控制器,支持双通道DDR400内存,并且可以支持ECC 内存。此外,Troy核心还提供了对SSE-3的支持,和Intel的Xeon相同,总的来说,Troy是一款不错的CPU核心。

Venice
Venice核心是在Wincheste核心的基础上演变而来,其技术参数和Wincheste基本相同:一样基于X86-64架构、整合双通道内存控制器、512KB L2缓存、90nm制造工艺、200MHz外频,支持1GHyperTransprot总线。Venice的变化主要有三方面:一是使用了Dual Stress Liner (简称DSL)技术,可以将半导体晶体管的响应速度提高24%,这样是CPU有更大的频率空间,更容易超频;二是提供了对SSE-3的支持,和Intel的CPU相同;三是进一步改良了内存控制器,一定程度上增加处理器的性能,更主要的是增加内存控制器对不同DIMM模块和不同配置的兼容性。此外Venice核心还使用了动态电压,不同的CPU可能会有不同的电压。

SanDiego
SanDiego核心与Venice一样是在Wincheste核心的基础上演变而来,其技术参数和Venice非常接近,Venice拥有的新技术、新功能,SanDiego核心一样拥有。不过AMD公司将SanDiego核心定位到顶级Athlon 64处理器之上,甚至用于服务器CPU。可以将SanDiego看作是Venice核心的高级版本,只不过缓存容量由512KB提升到了1MB。当然由于L2缓存增加,SanDiego核心的内核尺寸也有所增加,从Venice核心的84平方毫米增加到115平方毫米,当然价格也更高昂。

Orleans
这是2006年5月底发布的第一种Socket AM2接口单核心Athlon 64的核心类型,其名称来源于法国城市奥尔良(Orleans)。Manila核心定位于桌面中端处理器,采用90nm制造工艺,支持虚拟化技术AMD VT,仍然采用1000MHz的HyperTransport总线,二级缓存为512KB,最大亮点是支持双通道DDR2 667内存,这是其与只支持单通道DDR 400内存的Socket 754接口Athlon 64和只支持双通道DDR 400内存的Socket 939接口Athlon 64的最大区别。Orleans核心Athlon 64同样也分为TDP功耗62W的标准版(核心电压1.35V左右)和TDP功耗35W的超低功耗版(核心电压1.25V左右)。除了支持双通道DDR2内存以及支持虚拟化技术之外,Orleans核心Athlon 64相对于以前的Socket 754接口和Socket 940接口的Athlon 64并无架构上的改变,性能并无多少出彩之处。

闪龙系列CPU的核心类型

Paris
Paris核心是Barton核心的继任者,主要用于AMD的闪龙,早期的754接口闪龙部分使用Paris核心。Paris采用90nm制造工艺,支持iSSE2指令集,一般为256K二级缓存,200MHz外频。Paris核心是32位CPU,来源于K8核心,因此也具备了内存控制单元。CPU内建内存控制器的主要优点在于内存控制器可以以CPU频率运行,比起传统上位于北桥的内存控制器有更小的延时。使用Paris核心的闪龙与Socket A接口闪龙CPU相比,性能得到明显提升。

Palermo
Palermo核心目前主要用于AMD的闪龙CPU,使用Socket 754接口、90nm制造工艺,1.4V左右电压,200MHz外频,128K或者256K二级缓存。Palermo核心源于K8的Wincheste核心,新的E6步进版本已经支持64位。除了拥有与AMD高端处理器相同的内部架构,还具备了EVP、Cool‘n’Quiet;和HyperTransport等AMD独有的技术,为广大用户带来更“冷静”、更高计算能力的优秀处理器。由于脱胎与ATHLON64处理器,所以Palermo同样具备了内存控制单元。CPU内建内存控制器的主要优点在于内存控制器可以以CPU频率运行,比起传统上位于北桥的内存控制器有更小的延时。

Manila
这是2006年5月底发布的第一种Socket AM2接口Sempron的核心类型,其名称来源于菲律宾首都马尼拉(Manila)。Manila核心定位于桌面低端处理器,采用90nm制造工艺,不支持虚拟化技术AMD VT,仍然采用800MHz的HyperTransport总线,二级缓存为256KB或128KB,最大亮点是支持双通道DDR2 667内存,这是其与只支持单通道DDR 400内存的Socket 754接口Sempron的最大区别。Manila核心Sempron分为TDP功耗62W的标准版(核心电压1.35V左右)和TDP功耗35W的超低功耗版(核心电压1.25V左右)。除了支持双通道DDR2之外,Manila核心Sempron相对于以前的Socket 754接口Sempron并无架构上的改变,性能并无多少出彩之处。

Athlon 64 X2系列双核心CPU的核心类型

Manchester

这是AMD于2005年4月发布的在桌面平台上的第一款双核心处理器的核心类型,是在Venice核心的基础上演变而来,基本上可以看作是两个Venice核心耦合在一起,只不过协作程度比较紧密罢了,这是基于独立缓存的紧密型耦合方案,其优点是技术简单,缺点是性能仍然不够理想。Manchester核心采用90nm制造工艺,整合双通道内存控制器,支持1000MHz的HyperTransprot总线,全部采用Socket 939接口。Manchester核心的两个内核都独立拥有512KB的二级缓存,但与Intel的Smithfield核心和Presler核心的缓存数据同步要依靠主板北桥芯片上的仲裁单元通过前端总线传输方式大为不同的是,Manchester核心中两个内核的协作程度相当紧密,其缓存数据同步是依靠CPU内置的SRI(System Request Interface,系统请求接口)控制,传输在CPU内部即可实现。这样一来,不但CPU资源占用很小,而且不必占用内存总线资源,数据延迟也比Intel的Smithfield核心和Presler核心大为减少,协作效率明显胜过这两种核心。不过,由于Manchester核心仍然是两个内核的缓存相互独立,从架构上来看也明显不如以Yonah核心为代表的Intel的共享缓存技术Smart Cache。当然,共享缓存技术需要重新设计整个CPU架构,其难度要比把两个核心简单地耦合在一起要困难得多。

Toledo
这是AMD于2005年4月在桌面平台上的新款高端双核心处理器的核心类型,它和Manchester核心非常相似,差别在于二级缓存不同。Toledo是在San Diego核心的基础上演变而来,基本上可以看作是两个San diego核心简单地耦合在一起,只不过协作程度比较紧密罢了,这是基于独立缓存的紧密型耦合方案,其优点是技术简单,缺点是性能仍然不够理想。Toledo核心采用90nm制造工艺,整合双通道内存控制器,支持1000MHz的HyperTransprot总线,全部采用Socket 939接口。Toledo核心的两个内核都独立拥有1MB的二级缓存,与Manchester核心相同的是,其缓存数据同步也是通过SRI在CPU内部传输的。Toledo核心与Manchester核心相比,除了每个内核的二级缓存增加到1MB之外,其它都完全相同,可以看作是Manchester核心的高级版。

Windsor
这是2006年5月底发布的第一种Socket AM2接口双核心Athlon 64 X2和Athlon 64 FX的核心类型,其名称来源于英国地名温莎(Windsor)。Windsor核心定位于桌面高端处理器,采用90nm制造工艺,支持虚拟化技术AMD VT,仍然采用1000MHz的HyperTransport总线,二级缓存方面Windsor核心的两个内核仍然采用独立式二级缓存,Athlon 64 X2每核心为512KB或1024KB,Athlon 64 FX每核心为1024KB。Windsor核心的最大亮点是支持双通道DDR2 800内存,这是其与只支持双通道DDR 400内存的Socket 939接口Athlon 64 X2和Athlon 64 FX的最大区别。Windsor核心Athlon 64 FX目前只有FX-62这一款产品,其TDP功耗高达125W;而Athlon 64 X2则分为TDP功耗89W的标准版(核心电压1.35V左右)、TDP功耗65W的低功耗版(核心电压1.25V左右)和TDP功耗35W的超低功耗版(核心电压1.05V左右)。Windsor核心的缓存数据同步仍然是依靠CPU内置的SRI(System request interface,系统请求接口)传输在CPU内部实现,除了支持双通道DDR2内存以及支持虚拟化技术之外,相对于以前的Socket 939接口Athlon 64 X2和双核心Athlon 64 FX并无架构上的改变,性能并无多少出彩之处,其性能仍然不敌Intel即将于2006年7月底发布的Conroe核心Core 2 Duo和Core 2 Extreme。而且AMD从降低成本以提高竞争力方面考虑,除了Athlon 64 FX之外,已经决定停产具有1024KBx2二级缓存的所有Athlon 64 X2,只保留具有512KBx2二级缓存的Athlon 64 X2
参考技术A 看不完啊,你的资料太多了。

为啥 AMD-CPU 有这么愚蠢的暂停时间

【中文标题】为啥 AMD-CPU 有这么愚蠢的暂停时间【英文标题】:Why have AMD-CPUs such a silly PAUSE-timing为什么 AMD-CPU 有这么愚蠢的暂停时间 【发布时间】:2021-11-18 17:33:42 【问题描述】:

我已经为 C++ 开发了一个类似于 Java 的监视器对象,并进行了一些改进。主要的改进是不仅有一个用于锁定和解锁的自旋循环,还有一个用于等待事件的循环。在这种情况下,您不必锁定互斥体,而是在 wait_poll-function 上提供谓词,并且代码反复尝试锁定互斥体轮询,如果它可以锁定互斥体,则调用返回(或移动)对的谓词布尔型和结果类型。

在内核中等待信号量和/或事件对象 (Win32) 很容易花费 1.000 到 10.000 个时钟周期,即使调用立即返回,因为之前已设置信号量或事件。所以必须有一个与这个等待间隔有合理关系的旋转计数,f.e.旋转内核中花费的最小间隔的十分之一。

使用我的监视器对象,我从 glibc 中获取了自旋计数重新计算算法。而且我也在使用暂停指令。但我发现在我的 CPU(TR 3900X)上,暂停指令太快了。平均约为 0.78ns。在 Intel-CPU 上,大约 30ns 更合理。

这是代码:

#include <iostream>
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <immintrin.h>

using namespace std;
using namespace chrono;

int main( int argc, char **argv )

    static uint64_t const PAUSE_ROUNDS = 1'000'000'000;
    auto start = high_resolution_clock::now();
    for( uint64_t i = PAUSE_ROUNDS; i; --i )
        _mm_pause();
    double ns = (int64_t)duration_cast<nanoseconds>( high_resolution_clock::now() - start ).count() / (double)PAUSE_ROUNDS;
    cout << ns << endl;

为什么 AMD 采取了如此愚蠢的暂停时间? PAUSE 用于自旋等待循环,并且应该与缓存行内容翻转到不同核心并返回所需的时间紧密匹配。

【问题讨论】:

英特尔 CPU 上的暂停时间因代次而异(差异超过一个数量级),我们不能只说它是 30ns Skylake之前的Intel只有5个时钟周期左右;在他们的实验发现可以提高吞吐量后,他们在 SKL 中将其提高到 100。 (特别是考虑与另一个超线程的竞争。) 应该与高速缓存行内容翻转到不同核心并返回所需的时间紧密匹配。 - 您可能想要节省一些功率(并避免 memory_order 机器核弹) )而不会等待太长时间,平均该间隔的一半(如果您假设丢失缓存行的时间是随机的,当然这可能不是高争用)。所以更短的停顿是有道理的。不过,没这么短;我同意只有几个时钟周期似乎有点愚蠢。 我猜你必须要求 AMD 解释他们所做的任何决定。 SO 无法为他们回答这个问题。 【参考方案1】:

但我发现在我的 CPU (TR 3900X) 上,暂停指令太快了。平均约为 0.78ns。在 Intel-CPU 上,大约 30ns 更合理。

pause 指令与时间没有任何关系,也不打算用作时间延迟。

pause 的作用是防止 CPU 浪费其资源(推测性地)并行执行循环的多次迭代;这在内核中的不同逻辑处理器可以使用这些资源的超线程情况下特别有用,但对于改善条件更改时退出循环所需的时间也很有用(因为您没有“N次迭代”在条件改变之前排队的指令数)。

鉴于此;对于可能同时运行 200 条指令的极其复杂的 CPU,pause 本身可能会立即发生,但会导致“200 个周期长”的管道气泡;对于一个极其简单的 CPU(“按顺序”,没有推测性执行)pause 可能/应该什么都不做(被视为nop)。

PAUSE 用于自旋等待循环,应该与高速缓存行内容翻转到不同核心并返回所需的时间非常匹配。

没有。假设缓存行在不同 CPU 的缓存中处于“修改”状态,并且pause 之后的指令类似于“cmp [lock],0”,这会导致 CPU 尝试将缓存行置于“共享”状态。在pause 之后,但在尝试将缓存行置于“共享”状态之前,CPU 应该无缘无故地浪费时间多长时间?

注意:如果您确实需要一点时间延迟,那么您需要查看umwait 指令。不过,您不需要时间延迟-您想要超时(例如,“与pause 一起旋转;直到rdtsc 表示已经过去了一定的时间)。为此,我很想将其分解为执行“pause 并检查条件 N 次”的内部循环,然后执行“如果时间限制尚未到期,重试内部循环”的外部循环。

【讨论】:

如果您有umwait,则可以使用包括tpause 在内的其他新的waitpkg 指令(暂停到给定的TSC 截止日期,因此您可以通过运行rdtsc 并添加来设置它)。如果您想在该截止日期内每隔一段时间检查旋转条件,您可以在循环中添加增量。 (尽管如果调度意味着您在 TSC 超过您的最后期限后启动 tpause,则等待时间将是数十年(?)直到 64 位 TSC 回滚,仅受操作系统对 MSR IA32_UMWAIT_CONTROL[31:2] 的设置限制。 )

以上是关于AMD的CPU内核有Windsor Brisbane Orleans Manila都是啥意思?哪种内核好?的主要内容,如果未能解决你的问题,请参考以下文章

amd r5 2600 安装centos

未安装 AMD 处理器 Hax 内核

AMD招聘linux内核高级工程师

KVM嵌套虚拟化nested之CPU透传

软件主要有哪几种封装方法

请问多核CPU还需要超线程技术吗?还有多核CPU的带宽怎样计算?