POPPUR爱换

标题: Q9的12M缓存是没有用的? [打印本页]

作者: 光辉的晨星    时间: 2008-12-15 09:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: acqwer    时间: 2008-12-15 10:06
你朋友是对的,非共享的Cache当然只有当期核心可以用。
作者: AlcatrazX    时间: 2008-12-15 10:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 光辉的晨星    时间: 2008-12-15 10:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: NONO    时间: 2008-12-15 11:47
其實i7的L2、L3的問題也是很多人有意見,像是為何每個核心的L2只有256K??
為何要增加L3??
與其增加L3讓四核共享,為何不把L2加大並且誏四核共享等等~~
這需要有這方面知識的人才能解釋{mellow:]
作者: inaty    时间: 2008-12-15 11:58
原帖由 光辉的晨星 于 2008-12-15 10:19 发表
如果是这样的话,那I7的4X256K L2不等于就是调用单核心的话只能用到256K的L2?虽然8M的L3是共享的,但是256K的L2不是太少了吗?既然是原生4核心CPU,为什么不设计成单路1M或者更大L2,四核心共享?这样不是更有利于性能?


缓存的容量、延迟、带宽本来就难以都做得很好

多个核心访问共享缓存是要额外的增加一个访问接口,增加了延迟
而且,缓存的位宽是一定的,频率一定,带宽也是一定。
双核心每个核心就只有一半带宽,四核心就只有1/4. 这样核心就吃不饱了……

独立缓存只能被对应的核心使用,所以容量小,利用率相对差一些,但是带宽高、延迟小
共享缓存容量相对大了,但是延迟高带宽小
所以Nehalem会采用现在这样的设计
作者: mmxsse    时间: 2008-12-15 17:55
我来认真学习,很想了解
作者: tangyi1314    时间: 2008-12-15 18:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: Asuka    时间: 2008-12-15 18:08
原帖由 光辉的晨星 于 2008-12-15 10:19 发表
如果是这样的话,那I7的4X256K L2不等于就是调用单核心的话只能用到256K的L2?虽然8M的L3是共享的,但是256K的L2不是太少了吗?既然是原生4核心CPU,为什么不设计成单路1M或者更大L2,四核心共享?这样不是更有利于性能?


低延迟、高带宽

命中率的话,有Intel的缓存技术和L3撑着,不怕

不过喝奶的L2确实是小了点
作者: zaknafein    时间: 2008-12-15 18:24
如果双核i7能够改回core2的缓存架构就好了...
作者: frankincense    时间: 2008-12-15 18:32
Core i7的L3延时与带宽与Core2的L2差不了多少,不是AMD那种堪比内存速度的糟糕的L3
作者: dinglingwsy    时间: 2008-12-16 11:29
双芯片四核心的两个l2是非共享的
实际上运行中两l2中的内容是一样的
所以其实际相当于只有一个l2的容量

同样i7的构架形式是比较完美的
楼上已经有人解答了为什么每核心一份
至于i7的每核心l2为什么只有256kb
访谈intel时中华区总裁也回答过
设计时考虑过512kb
但是会带来很大的延迟提升
最终在现有技术上256kb是最合适的
i7的缓存可以认为是8.25m
比q9的6m大了很多了

搜下i7缓存测试的图
会发现i7的缓存带宽延迟都是不错的
i7的l3和q9的l2几乎相当

[ 本帖最后由 dinglingwsy 于 2008-12-16 11:31 编辑 ]
作者: ITANIUM2    时间: 2008-12-16 11:43
原帖由 dinglingwsy 于 2008-12-16 11:29 发表
双芯片四核心的两个l2是非共享的
实际上运行中两l2中的内容是一样的
所以其实际相当于只有一个l2的容量

同样i7的构架形式是比较完美的
楼上已经有人解答了为什么每核心一份
至于i7的每核心l2为什么只有256kb
...


呵呵,国外某网站干脆说i7 就是在q9 的二级缓存和一级缓存中间插入了一级缓存
作者: xxxyyy    时间: 2008-12-16 12:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: frankincense    时间: 2008-12-16 13:21
原帖由 dinglingwsy 于 2008-12-16 11:29 发表
双芯片四核心的两个l2是非共享的
实际上运行中两l2中的内容是一样的
所以其实际相当于只有一个l2的容量

同样i7的构架形式是比较完美的
楼上已经有人解答了为什么每核心一份
至于i7的每核心l2为什么只有256kb
...


基于核心间数据同步的考虑,i7的L3缓存包含了L2缓存的所有数据
这样一个核心在L3找不到的数据也不可能存在于其他三个核心的L2内
也就省去了请求其他核心的L2缓存数据的步骤,直接转入对内存的请求
所以i7一个核心最大能利用的L2+L3仍然是8M
作者: sailofcloud    时间: 2008-12-16 20:10
标题: 回复 1# 光辉的晨星 的帖子
4核本来就是给多核运算提供的方案。
单核心只能用到6M的L2
作者: 永远的C大调    时间: 2008-12-17 01:13
学习学习,不发表意见{glare:]
作者: mmxsse    时间: 2008-12-19 17:31
期待高手来谈谈
作者: fshx    时间: 2008-12-19 18:33
一般来说是这样的!
但这样的好处也是显然易见的!
如果出现一个程序把核心0/1的6M耗尽(不太可能),那E8就死翘翘(具体表现为一卡一卡的),但Q9却可以正常运行其它程序。

这个现象在低端的PE2系列上是经常看到的,不过E8这样的6M对于现在的程序来说几乎相当于无限了,所以E8好像还没有人反映出现这样的问题。

P.S:相对来说,同频下Q9跑PI也是比E8略有优势,不过却很小,主要体现在它的核心多资源多,可以分出两个核心运行系统其它程序,再用另外两个核心的6M全力跑PI。(单核和双核可以明显看出区别,双核和4核就几乎可以忽略不计了……)
作者: fshx    时间: 2008-12-19 18:35
原帖由 frankincense 于 2008-12-16 13:21 发表


基于核心间数据同步的考虑,i7的L3缓存包含了L2缓存的所有数据
这样一个核心在L3找不到的数据也不可能存在于其他三个核心的L2内
也就省去了请求其他核心的L2缓存数据的步骤,直接转入对内存的请求
所以i7一个 ...


学习了{lol:]
那AMD的K10 L3也是这样吗?
作者: huyou    时间: 2008-12-19 19:13
原帖由 fshx 于 2008-12-19 18:33 发表
一般来说是这样的!
但这样的好处也是显然易见的!
如果出现一个程序把核心0/1的6M耗尽(不太可能),那E8就死翘翘(具体表现为一卡一卡的),但Q9却可以正常运行其它程序。

这个现象在低端的PE2系列上是经常看 ...


一卡一卡的总不可能吧.
作者: needfire    时间: 2008-12-19 19:24
标题: 回复 23# huyou 的帖子
一卡一卡太有可能了,现在的游戏已经从注重显卡发展到注重CPU了,比如最近的Sacred2 ,GTA4。显卡再好,用E8200照样一卡一卡的;除非4核。
作者: 燕京之魂    时间: 2008-12-19 20:48
有用的程序自然会用到,没用的永远用不上。
作者: dinglingwsy    时间: 2008-12-19 21:01
对哦
楼上的提醒我了
的确实际是8m
忘了~
作者: the_god_of_pig    时间: 2008-12-19 21:40
I7 L2没命中还有L3接着呢,况且内存延迟小了那么多{blush:]
作者: fshx    时间: 2008-12-19 22:50
原帖由 huyou 于 2008-12-19 19:13 发表


一卡一卡的总不可能吧.


E8不清楚,但E2我是亲身经历{cry:]
作者: FENG950    时间: 2008-12-20 00:16
嗯,的确是这样,不过不等于没用。Q9用的是MCM,好处就是可以快速复合出更多的集成核心(出双核可以拼四核,出四核可以拼八核),设计和验证期都小,效率高。

至于要不要像标准Core2那样共享缓存,只能说,没有什么设计是一劳永逸、放之四海而皆准的。Core2那样的形式,在双核上效率高,四核上还可以过得去,到了八核就倒拖后腿了,因为那是基于共享总线的呀。总之,Cache设计是很复杂的,到底要用几级,每级尺寸多大,关联形式如何,都会对性能产生很大影响。
作者: Q神    时间: 2008-12-20 00:43
抛开技术问题不谈
既然你选择了四核心的q9 你就要做四核心cpu该做的事
不经常跑高并发应用,买q9干什么 那就买e8了




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4