所謂的內部快取即快取記憶體 Cache Memory
主要的功能在協調CPU和主記憶體的存取速差
CPU和主記憶體速度大約差50~100倍,Cache M 速度則差5~10倍
速差則會造成CPU存取的Delay
即CPU處理完一筆指令或資料,主記憶體卻還來不及把下一筆資料送入CPU
CPU便會浪費等待資料的時間
如有Cache M的緩衝便可改善此問題
那為何分成三層成勒
CPU抓取資料的方式,從最上層的L搜尋,如果在L1有找到便直接存取,沒有便再向下層搜尋直到找到為止
另外主要是因為Cache M 相當的貴,越上層L的速度越快相對的價格也就很貴
所以到市面上購買CPU的時候可仔細觀察,有的時脈頻率相同但價格卻相差一大段
例如Intel的賽揚便是將P4的L快取減少版,因此效能較差價格也相對便宜
快取是否越大越好,我想不用我多說了吧! 來說說"記憶體階層"好了
電腦主記憶體(DDR or SD RAM)通常有兩個致命傷,速度和容量
為了要分別改善這兩個問題,有人便設計出階層式記憶體
利用Cache M 彌補主記憶體的速度不足
利用Secondary M(HDD) 彌補主記憶體的容量不足
而主記憶體便處在這兩層當中,可想像成下圖
CPU <==> Cache M <==> Main M <==> Secondary M
層和層之間的資料指令傳輸便是透過硬體電路或作業系統來管理
而L快取其實就是Cache M再細分下去
CPU <==> L1 <==> L2 <==> L3 <==> Main M <==> Secondary M
速度<======================================>容量
由上圖應該可以看出來向右Memory容量越大,向左則是速度越快
目前快取容量都已比以前來的大許多,L3也是近期才出現的東西,不外乎是為了改善電腦存取的速度,同時又要考慮到CPU的成本
寫了那麼多,不知道有沒有回答你的問題
圖片參考:
http://redhat.ecenter.idv.tw/bbs/images/smilies/biggrin.gif
L1, L2 的速度應該是一樣的
至於 L3 就不一定,要看設計才知道
還有 L1 並不是只有存放資料而已
還有 Data TLB, Instruction TLB 等資料
就 Pentium 4 跟 Xeon 來看,並沒有設計 L1 Instruction Cache,只有 L1 Data Cache 而已
如果要了解詳細的資料,請至 Intel 網站下載
IA-32 Intel® Architecture
Software Developer’s
Manual
Volume 3:
System Programming Guide
裡面有詳細的說明