引用:
作者ianme
抱歉,有時候打字會很快就中間打了少了一點,這樣說好了K8是K7架構改進加上記憶體控制器那前面那一部份做進去,然後多切個一兩階(改進),那K7是不是承襲P3架構?也許我之前這樣打有語病,但我意思是這樣。
Sisoftsandra裡面我用P4的測出來都跟他的值差了不少,不曉得怎麼回事,反正大概心裡有數。
上面的SuperScalar我不多說,就這樣,Superscalar 2- to 4-way issue, interlock & speculation這麼一句可以解釋懂不懂了,這種東西還是教科書比較準,網站看看就好。
還有我要澄清,L1不是"越大越好",資料出問題的時候,為什麼AMD L1要做這麼大?因為它是2-way,資料錯誤的時候是"搬一整塊記憶體那一區"來更新,不是取你要的那個,這樣絕對沒有比較快,做越大找越久搬越多死越快,不是坐大就好,再說太大也無異議,就算大能提升多少性能也是有限。重點是在於方法,而且像Inte...
|
http://www.chip-architect.com/
http://arstechnica.com/articles/pae...-hammer-1.ars/1
http://www.cpuid.com/reviews/K8/index.php
k8 如果只是 k7 的 pipeline 加上兩個 stage,再加上記憶體控制器那麼簡單的話,效能就不會輕易的幹掉 p4 了。
k8 的改進,主要還是在提升 IPC 與增加容錯能力為目標,像是修改分支預測的方法、修改 decoder、整合記憶體控制器減少 latency、加大 TLB、x86-64、hypertransport 的 peer-to-peer communication。
http://arstechnica.com/cpu/3q99/athlon/athlon-1.html
更重要的是 k7 也跟 pentium-iii (p6 架構)根本不同,怎麼會有承襲 p3 (p6架構)的謬論???
SANDRA、PCMark、SysMark 的分數公正性有問題,過度偏袒 p4 架構,數據矛盾(新舊版本成績相反、k7 上了 media player patch 後分數暴增反敗為勝,過度注重多媒體性能、同頻率 celeron 與 p4 幾乎一樣等),並真實世界的程式差異太大。
老實講,教科書上的東西是最基本的,網路上的東西比較新,期刊則太學術性。不過我覺得你好像有許多還搞不清楚。
還有像快取 "資料出問題" 的說法,沒有人這樣說的,這跟 cache miss 是兩回事,資料會有 ECC or Parity 等方式保護,資料要是真的出問題,輕則資料算錯或程式當掉,重則當機。
http://www.cs.swan.ac.uk/~csneal/HPM/cache.html#2
2-way 與 16-way set associative 的 cache 都是要搬移 block 資料,差異只是在同一個 slot 容許更多的 tag,或許會影響到性能,但重點是這不是決定 cache 性能的主要因素,即使是 fully assocative 性能也不會比 set associative 好到哪去,主要在於成本降很多,效益比 Direct-Mapped 要好。
http://www.cs.utexas.edu/users/cart...KallaSlides.pdf
即使目前性能最強的 Power5 在 L1 I-cache 也是 2-way set assocative,D-cache 4-way set assocative。
基本上同樣架構的 cache,是越大會使 cpu 性能越好的(當然前提是 latency 與 bandwidth 等不變),主要是因為 hit rate 會因此提高,性能因而越好。但是 hit rate 高到一個程度後,性能提升就有限了,這就是廠商在成本與性能間的 trade-off。