• 2

L3快取 V.S L2快取~~~~哪個重要??

小弟有此一問~~
為何現在CPU一直往L3快取發展,而不繼續往更高的L2快取研發呢??
一般而言快取速度是L1>L2>L3
EX: 6M L2的CPU與4M L2+6M L3的CPU比~~~誰轉檔比較快??<軟體皆只用到兩顆核心的狀況下>
2010-06-12 14:05 發佈
文章關鍵字 L3 V.S L2
成本與良率問題,否則加大L1不是更好??

快取在轉檔的時候影響應該不大,因為你的檔案遠遠超過快取的大小,而且不是重複使用,不符合快取的原理

快取主要是針對「重複使用的指令與小檔案」達到暫存作用,減少真實的資料存取,而不是針對大檔案
CPU 的 cache size 愈大 --> die 面積愈大 --> 電晶體訊號傳遞延遲愈高 --> 存取 latency 愈高...
所以才需要分不同的 Level ...

不然全部都是 L1 cache, 不是更好嗎?

到底要多少才夠, 則要看程式的運作特性...

程式運作, 99% 的時間, 程式碼跟資料, 在 L1 cache 都可以找到, 那 L2 cache 就算放大好幾倍, 對於效能的幫助, 就差別不大...

同理可以往下套用...

但有一點要注意的, 就算是相同的時脈, 每顆 CPU 的每一級 cache 的 access latency cycle, 也通常不一樣...
跟 CPU 的架構, 佈線, 製程技術, 與設定想要跑的時脈, 都有關係...


同意上面兩位說法
L1是很快的,如果技術跟成本做得到,8M的L1不是更好,就不用在往下面找較慢的L2、L3
單L3 vs L2 誰重要,我是看好速度較快的L2啦 但是L3因為成本較低,可以做大一點也是個優勢
在ic 設計的世界中,常常都是有一好沒兩好的
比如說穩定度、耗電跟效能,都是沒辦法兼顧的

以樓主的情況來說,這就是大容量但較低速的cache跟較高速但容量較小的cache在做取捨
如果選擇後者,則有更高的機率會需要讀取延遲更大的dram

所以哪個效能比較好通常要看是跑什麼樣的程式,也要看該程式的記憶體控制做的好不好
undertaker01 wrote:
小弟有此一問~~為何...(恕刪)


姑且先不管各層快取,還是DRAM速度有多快
存取順序是L1->L2->L3->DRAM(會不會未來又插入了一個L4 )
所以若資料存放能在前幾層就解決掉是再好不過了
說不定哪天CPU快到爆炸的時候,快取還反而可以做小哩

快取記憶體通常是SRAM,其結構就是很單純的正反器
所以動作上自然比DRAM快(DRAM有MOS充放電的時間限制)
使用上便是應用在快取記憶體
p.s:此段只是從教科書摘取,畢竟較科書通常只講原則,會介紹的元件都是
千年不變的經典原件,例如74(TTL)跟40(CMOS)系列、NE555(DIY常用計時IC)、
uA741(OPA)、AD590(溫度感測IC)、AT89C51(現在應該都是AT89S51)‧‧‧

當然SRAM最大的問題就是單位容量的成本太高,用一個極致例子來說
微處理機的51系列跟FPGA來比(因為FPGA內部就是一堆正反器堆起來的IC)
一般人還是會用51,因為FPGA太貴了,印象中最簡易的小板子都3000~5000元起跳
不像AT89S51的IC一顆100元有找(量大還可以壓低),簡易型並列阜燒錄器
我經驗大概是花30~100元就可以做出來(當然組合上請自行焊接,但非常簡單就是了)

實際使用上,FPGA的運作速度是51系列望塵莫及的
當然這牽扯到FPGA是純硬體在跑的(而且可以並列運算),會快是一定的
雖然使用上諸多不便,但我也滿喜歡用的
只要會畫邏輯電路圖,就會覺得用FPGA很棒(雖然VHDL還滿複雜的)

把SRAM扯太遠了,回過頭來看CPU的快取
快取最大的問題就是容量很難放大,除了結構上的更改
一直以來都是靠製程的縮小來加大快取的容量
這也是為何最初連L2都不在Die裡面,就算是Pentium2
也只是在CPU旁邊,更早期是要買一顆SRAM的IC插在主板上當快取記憶體用
那顆IC型號我有點忘了,現在DIY市場還是很常見那顆IC(我還記得只有4K)



快取容量一向是買CPU的指標,當初K7弄出全速L2(那顆好像是雷鳥吧??),看AMD多愛宣傳
K7跟P4打起來時候,拼資料處理速度,也拼快取容量,最後就是匯流排速度
直到HT這玩意出來之後,有些店家很愛說AMD快取那麼小,看看Intel都是AMD的好幾倍

不過到了多核心的時代,I那邊怎麼做的,因在下不了解不敢說
對A來講L3並非一無是處,畢竟每個核心都有各自L1、L2,L3就像共用的
L1記沒錯通常是CPU運算時的暫存區,就像我們算加減乘除時有進位跟借位的概念
腦袋或是紙上會另外記錄幾組特別數字,CPU運算時也是需要一個地方放這類的資料
不過現在A的L3的運作是看NB時脈,感覺優勢上僅有比RAM更靠近CPU的運算區
這大概也是為何有人說買AthlonII X4就夠用了,不見得要買PhenomII
p.s:最早我是看過Intel曾想過兩顆CPU各有一組L1,然後L2是共用的(那時還沒出現L3 )
如今兩家都升級了,每個核心都有自己的L1&L2,L3才是共用(然後以後再塞一個L4在主板上?? )
CPU cache 不一定都是用傳統的 SRAM cell 組成的...

不過現在的 CMOS 製程, 通常都是用 6 個 MOSFET 電晶體兜一個 cell ...

前幾年在製程考量下的 die size, 有些達到 16 / 32MB 的 L3 cache, 會使用另一種 1T SRAM 的 cell ...
(存取線路跟 SRAM 一樣, 但骨子裏就是 DRAM cell , 也要不斷做定期充電動作, 通常是當 embedded DRAM 的用途)

1x 年前就還有用 4 個 CMOS, 或是 NMOS / Bipolar , 肖特基電晶體組成的 SRAM ...


另外有些新的 RAM cell 技術, 也是準備要在未來的幾年之後, 取代 DRAM cell 了...
因為 28nm 以下的製程, 用電容效應的 DRAM cell, 聽說有很大的問題...
應該是電荷容納能力跟漏電流相關的問題吧...

SSD 用的 NAND Flash , 其實也是一樣...
縮到 2x nm 以下的製程, 物理特性都遇到一些比較難克服的瓶頸了...


以往單核雙核也許L2就夠用了
但是AMD K10 Intel Nehalem 四核心開始導入L3
主要是因應Core的數量越來越多
光是依賴前端匯流排來做為數據交換或許不夠
於是加入L3 Cache以減少訪問DRAM的次數
雖然目前測試L3 DRAM速度頻寬差距不是非常大
不過延遲還是有不小的差距

未來Core更多的時候(8核16核以上)
線程串擾會越來越嚴重
光是加大L3不見得能改善這個問題

至於不直接加大L2
主要是成本考量
L3便宜而且可以塞更多的容量
已經有L3~L4 Cache利用DRAM的型態內嵌於CPU中,讀取寬度大而且容量可達百MB。
對於樓主的問題,台灣的屬地--中國大陸,泡泡網剛好有一些相關評測

有興趣的不仿看看

亲民级CPU谁能带5830?速龙与羿龙对决
http://www.pcpop.com/doc/0/543/543810.shtml
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?