瀏覽單個文章
jasonyang
Major Member
 

加入日期: Sep 2004
您的住址: 木柵動物園
文章: 293
引用:
作者ianme
快取不就是為了提升效率?那麼增加way可以有效減少miss rate的機會,2-way跟8-way
的miss rate雖說相差不遠還是有差。再說若是過大,那會造成資料若是不同於記憶體裡面,假設較舊的時後,變成整個那一段都要提取進來,造成時間的浪費,只要用到其中一個卻提取一堆,相反的way數越多,做的其實不必那麼大,快取目的在於減少不必要的等待,在記憶體潛伏裡面去做快取的動作,需要的是快速也就是大量的頻寬跟資料的正確性,還有是否為最新的資料,大不見的就是好,若是L1越大就會提升效能那我相信要做大絕對不是難事,甚至可以挪用L2這部份來增加L1容量,太大會增加miss penalty並且造成低利用率。

我在看你貼的資料裡面找到:Also, larger caches are slower (bigger search space). 位於section 16.5第2段,接下來第3段可說是印證我的論點,大不見得比較好,他只告訴你小會比較慢,沒告訴你大會比較快。L1越...


set associative way 數越大的確 hit rate 越接近 fully associative,但我早說過這是廠商在成本與效能間的取捨,不然全部都做成 fully associative 就好了,不是嗎? 況且決定性能的最主要因素還是 hit rate 和頻寬與 latency,n-way set assocative 也只是影響 hit rate 外,還有快取大小等其他因素。

至於那段話並無法印證你說的話,因為你根本斷章取義,沒看前後文。他說的 slower 我想是指 latency 需越大,而他後面說的很清楚,快取還是越做越大,因為提高 hit rate,提升 cpu 性能。還舉了快取太小,不同的 processor 會競爭快取的問題,我想是 cache threshing 的意思。

Hyperthreading 這東西不錯,IBM 也在 Power5 上實做 SMT,而 p4 在 SPEC 有些伺服器性能 benchmark 上有令人不可思議的大成長,不過像 Ace's hardware 上的實測,在 database/web server 上也的確有性能成長 15% 左右,不過還是比 opteron 差多了。其他網站測很多 3D rendering/video encoding 也有 25% 左右的性能成長,這邊 amd 打的比較吃力,因為這是單核 p4 極少數的強項,這點是 AMD 所缺乏的。

在 x86 的軟體上,目前就是 Intel 主導的市場,幾乎所有的程式用的 compiler 都是以 pentium 或 pentium4 來最佳化,事實上早就已經在偏袒 intel 系統,但我認為這是沒辦法的是,誰較 amd 是要去搶人家市場的人。我想常常有許多人把 MMX/SSE/SSE2/SSE3 以為可以讓所有程式都最佳化的錯誤觀念,這些擴充指令集,以前叫向量運算,只能針對能夠大量平行的數值運算,所以不能有太大的資料相依性影響能夠平行的機會,而一般的文書處理、檔案壓縮、程式編譯、伺服器等運用,無法用這些東西最佳化,該做的 intel 早就推廣了,像是 video/audio encoding 與 3D rendering 與 3D game,SSE 已經推出三四年以上了,能最佳化的早最佳化的差不多了。
舊 2005-11-23, 11:02 AM #77
回應時引用此文章
jasonyang離線中