POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 4128|回复: 46
打印 上一主题 下一主题

[ZT]K10与酷睿2的总体技术差距

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-1 22:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,做这样的设定:目前流出来的关于K10/K8L的框架相对K8改进的文章是正确的。否则没有讨论余地。

……………………………………………………………………………………………………………………………………


首先,我们看看K10/K8L相对K8改进了那些地方,于intel对比如何。
(1)把SSE执行单元的宽度改为128位,Conroe已经实现了,经过百万小时的严格测试,表现良好,AMD还在测试中。
(2)取指带宽,由16字节变为32字节。intel的Yonah就已经是32字节取指。
(3)间接分支预测,intel的P4的Prescott中已经加入,Yonah也加入了。不过因为P4的构架原因,使得它的L1缓存很小(8~12KB),另有跟踪缓存8KB,而间接分支预测需要大量的L1缓存,因此P4上表现很差。但是在Yonah上表现很好,因为32KB的指令缓存和32KB的数据缓存,足够存放间接分支预测的结果。当然Conroe的表现更加良好。不过目前intel没有公布Conroe的间接分支预测器的深度。AMD的K10是512级(推测的),没有证实。
(4)Sideband Stack Optimizer(边带/旁路堆栈优化器--暂译),与intel的dedicated stack manager(专门/专注堆栈管理器)相似,都是实现:处理器中的伐指令不再需要经过3路编码,也不再由整数执行单元处理,这加快了堆栈的处理速度,也同时加快了整数执行单元的处理速度。
(5)OOOE乱序执行,Conroe已经实现了,经过百万小时的严格测试,表现良好,AMD还在测试中。
(6)共享缓存,K10放在第三级,速度慢了很多,访问概率比较小。Conroe放在L2位置,实现读/写完全共享,更有条件实现单进程/单线程的并行执行(不过不要指望这个,除非OS支持)。
(7)集成内存控制器的改进和HT速度提高,集成内存控制器方面,Conroe没有做,但是Intel在几年前就已经做过,主要用在工控单片机上。故这个不好比较。HT使得多个核心之间可以读取(注意只能读取,不能写)对方的数据。不过HT的速度(说带宽更合适)再高,也就是3.Gbps左右,比起L2的访问速度10GB/s以上,不足一提。
上面基本上是K10的性能提高方面的改进,我们看到AMD所作的,基本上都是Conroe玩剩的,况且在工艺上,intel比AMD强得不是一丝半点(注意,仅仅在CPUg硅加工技术上,IBM也不如Intel,锗技术上,IBM强)。AMD无论如何也做不出性能比Conroe高40%的K10,除非真有天顶星人帮他们。

好,说到正题了,K10相对K8最弊端的没有改进指令发射宽度,也就是每次可以发射多少指令的问题。目前,K8和K10都是3指令发射,如果在分析师日看到的,AMD全新构架的下代CPU“推土机”没有改变,还是3发射。而Conroe是4发射,加上指令融合(宏指令和微指令都有融合),平均能达4.2到4.5之间,理想的情况就是5指令发射。虽然,Conroe是3简单指令+1复杂指令,K8/K10是3复杂指令。但是,目前处理的数据,简单指令占75%以上,因此处理速度还是简单指令快。
为什么AMD不做4指令发射?要实现4指令发射,在X86体系中非常艰难,它需要大量的资源,如寄存器,更需要高超的调度算法。X86体系,只有8个通用寄存器(注意,是8个,不能多,否则以前的软件统统不兼容,当然,当年的X86在科学家的努力下,实现了寄存器重名名技术。这是一个了不起的大发明),离4指令发射要求的寄存器的数量差几倍。AMD想做,还要下大量的功夫,专心研究才行,只是这2年内是没有希望看到的。(据说,当年K9规划就是四指令发射,因为困难重重,导致失败。因此现在没有K9型号,AMD自己说法是K9就是双核的K8)。
不难看到,当今X86体系中,也仅仅只有intel能够实现4指令发射。其他厂商还要付出艰苦的努力才行。

回到我们的话题,K10发指令发射,限制了提高性能的源头(注意,这是源头),因此它对K8性能的提高也是非常有限的,综合性能推测不会超过10%~15%,因此做得好,综合性能上K10能与Conroe不相伯仲,甚至还要弱一些。

其实这个结论在去年8月份,流出K8L/K10的框架时,我已经用AMD这个账号在太平洋的那篇文章的评论中说过。如今的几个测试更加证实了我的推测。

罗索那么多,有错误的地方,肯请各位指正。谢谢。
…………………………………………………………………………………………………………
为了保险,容许我高呼:AMD万岁,万岁,万万岁!

www.techreport.com的详细测试:
http://www.techreport.com/articles.x/13176/1
2#
发表于 2007-12-1 22:54 | 只看该作者
你的话可信度有点就不错了

飘过
回复 支持 反对

使用道具 举报

3#
发表于 2007-12-1 22:59 | 只看该作者
其它东西都是虚的,多半只能YY下的。intel的杀手锏其实也就是4指令发射。
回复 支持 反对

使用道具 举报

4#
发表于 2007-12-1 22:59 | 只看该作者
唔......
虽不知道技术上的东东,
不过LZ还是辛苦了。:loveliness:
回复 支持 反对

使用道具 举报

5#
发表于 2007-12-1 23:16 | 只看该作者
这不是AMD11写的吗
回复 支持 反对

使用道具 举报

头像被屏蔽
6#
发表于 2007-12-1 23:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Bohr 该用户已被删除
7#
发表于 2007-12-2 00:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

8#
发表于 2007-12-2 00:33 | 只看该作者
问一下第6点,对于L2/L3的共享缓存,到底是怎么实现多硬件线程并发访问时的同步控制的?有单独的锁缓存指令吗?能细到什么粒度?如果有的话那肯定可以确认是需要操作系统支持了,会有补丁?
回复 支持 反对

使用道具 举报

Rednaxela 该用户已被删除
9#
发表于 2007-12-2 00:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽
10#
发表于 2007-12-2 00:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽
11#
发表于 2007-12-2 00:39 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

12#
发表于 2007-12-2 00:43 | 只看该作者
原帖由 1empress 于 2007-12-2 00:36 发表
8楼

cache一致性现在不是必需的


这篇文章作者连p4的L1是怎么构成的都不明白,其他也是抄来的东西   我断定他不懂自己说什么


谢谢,回头看了一下发现是转贴,而原作者故弄血虚得说了几点却又说不清楚,真的没什么意思。
如果现在不是必须的话,我是否可以理解暂时可以在操作系统现在暂时不用有所作为?那共享缓存结构要么是硬件电路实现了缓存锁,要么是没有锁会导致数据不一致,结果就是可能会出现性能衰退或有理论上的互相共享的数据有暴露敏感信息的隐患,一如当时的HT?不知道这个L3的性能问题是不是也卡在类似的地方了,说不定AMD在给MS塞钱做补丁呢
:loveliness:
回复 支持 反对

使用道具 举报

13#
发表于 2007-12-2 00:45 | 只看该作者
原帖由 晶晶守护神 于 2007-12-2 00:39 发表

炒作系统本来就支持  支持同步  哒                共享同步一定是是 硬件实现的~~~其实共享L2/L3比 单独的好 灵活性高 还可以通信

你NB,什么事情让你一说怎么都这么简单,照你这么说现在XP都能跑K二十几了,还可以拖到L十几的缓存都没有性能问题。
回复 支持 反对

使用道具 举报

14#
发表于 2007-12-2 01:29 | 只看该作者
原帖由 colddawn 于 2007-12-2 00:33 发表
问一下第6点,对于L2/L3的共享缓存,到底是怎么实现多硬件线程并发访问时的同步控制的?有单独的锁缓存指令吗?能细到什么粒度?如果有的话那肯定可以确认是需要操作系统支持了,会有补丁?


AMD的缓存一致性当然不是通过加锁来实现的,而是通过MEOSI协议在缓存行的标志位上打上特定的标记来实现的
加锁的话,貌似只是OS用来同步不同线程对于内存访问的时候采用的吧
回复 支持 反对

使用道具 举报

15#
发表于 2007-12-2 01:32 | 只看该作者
原帖由 紫色 于 2007-12-1 22:59 发表
其它东西都是虚的,多半只能YY下的。intel的杀手锏其实也就是4指令发射。


文章的作者只能分清楚3和4,因为这个最清楚了

Conroe的4发射结构的潜力还远没有开发出来,等着超线程的回归吧,到时候让AMD知道什么才是真正的4发射
回复 支持 反对

使用道具 举报

16#
发表于 2007-12-2 02:19 | 只看该作者
X86体系,只有8个通用寄存器(注意,是8个,不能多,否则以前的软件统统不兼容,当然,当年的X86在科学家的努力下,实现了寄存器重名名技术。这是一个了不起的大发明),:funk:
回复 支持 反对

使用道具 举报

17#
发表于 2007-12-2 02:21 | 只看该作者
原帖由 colddawn 于 2007-12-2 00:33 发表
问一下第6点,对于L2/L3的共享缓存,到底是怎么实现多硬件线程并发访问时的同步控制的?有单独的锁缓存指令吗?能细到什么粒度?如果有的话那肯定可以确认是需要操作系统支持了,会有补丁?

缓存对用户代码透明,缓存一致性由硬件保证,无需软件插手
回复 支持 反对

使用道具 举报

头像被屏蔽
18#
发表于 2007-12-2 02:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

19#
发表于 2007-12-3 16:09 | 只看该作者
"不过HT的速度(说带宽更合适)再高,也就是3.Gbps左右,比起L2的访问速度10GB/s以上,不足一提。"这个明显是概念错误~!:lol: 把带宽和速度混为一坛,HT3.0总线是内存的总线,不是不能写,如果不能写,CPU怎么处理内存的信息?它在服务器配置里作用是直接U与U的沟通通道,不必像INTEL由芯片组管理,速度和效率更高,INTEL的至强在未来的1年中估计会实现这个技术,由PCI-E 3.0通道沟通,不必再往芯片组上绕了.至于能不能写这个没什么大的意义,如果需要内存的总线上本来就有写的功能啊,以上都是基于内存控制器内置与U中的结果.L1比L2的速度会更快,这样比比有什么意义吗?作为内存总线的话,速度只要不低于内存的速度就OK了,太高了也没意义了,试问现在桌面平台有用超过2G速度的内存吗?答案是否定的!带宽上HT3.0总线远远超过了PCI E2.0的带宽,这正是INTEL的软肋,PCI E3.0才是INTEL最具划时代意义的应用技术,不亚于推出扣肉框架的意义.不过大家还得等个1年吧.还有就是AMD和INTEL的L1和L2之间的运做方式不是一样的,AMD的是更直接的L1满到L2中,L2满了到L3中,加快在内存中的隐射和在系统速度上的缓冲,INTEL的模式是更像是分工方式,INTEL的L1和L2之间分到的工作是不大相同的.关于3和4的问题,这个对现在的U的性能还没有更大的影响,INTEL现在最需要解决的是通过提高败于AMD前端总线的带宽上,这也是对系统性能提升上的现阶段最有意义的事情了.内存性能上INTEL要在X38 X48上给AMD重重的一击,这个翻身仗的结果是可以 料想.:p :p
回复 支持 反对

使用道具 举报

20#
发表于 2007-12-3 16:13 | 只看该作者
:whistling: K10好、K10好、K10主义社会人民生活高、、、
全国人民大团结,掀起了K10主义建设高潮、建设高潮、、、
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-7-8 16:55

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表