回覆列表
  • 1 # zneru1667

    高速緩衝儲存器(Cache)實際上是為了把由DRAM組成的大容量記憶體儲器都看做是高速儲存器而設定的小容量區域性儲存器,一般由高速SRAM構成。這種區域性儲存器是面向CPU的,引入它是為減小或消除CPU與記憶體之間的速度差異對系統性能帶來的影響。Cache通常儲存著一份記憶體儲器中部分內容的副本(複製),該內容副本是最近曾被CPU使用過的資料和程式程式碼。Cache的有效性是利用了程式對儲存器的訪問在時間上和空間上所具有的區域性區域性,即對大多數程式來說,在某個時間片內會集中重複地訪問某一個特定的區域。如PUSH/POP指令的操作都是在棧頂順序執行,變數會重複使用,以及子程式會反覆呼叫等,就是這種區域性區域性的實際例證。因此,如果針對某個特定的時間片,用連線在區域性總線上的Cache代替低速大容量的記憶體儲器,作為CPU集中重複訪問的區域,系統的效能就會明顯提高。系統開機或復位時,Cache中無任何內容。當CPU送出一組地址去訪問記憶體儲器時,訪問的儲存器的內容才被同時“複製”到Cache中。此後,每當CPU訪問儲存器時,Cache控制器要檢查CPU送出的地址,判斷CPU要訪問的地址單元是否在Cache中。若在,稱為Cache命中,CPU可用極快的速度對它進行讀/寫操作;若不在,則稱為Cache未命中,這時就需要從記憶體中訪問,並把與本次訪問相鄰近的儲存區內容複製到Cache中。未命中時對記憶體訪問可能比訪問無Cache的記憶體要插入更多的等待週期,反而會降低系統的效率。而程式中的呼叫和跳轉等指令,會造成非區域性操作,則會使命中率降低。因此,提高命中率是Cache設計的主要目標。

  • 中秋節和大豐收的關聯?
  • 為什麼同一個wifi有的手機連不上?