<超標量處理器概覽> 第 2 章 - Cache
2.1 - Cache 的一般設計 L1 Cache 通常分為 I-Cache 和 D-Cache,為 private cache I-Cache 需要能夠在一個 cycle 內,讀取多條的指令 D-Cache 需要能在一個 cycle 內,處理多條 load/store 指令的訪問,因此需要使用 multi-port 的設計 Instruction fetch 的時候,會向 L1 Cache 嘗試讀取指令,因此 L1 Cache 也是 pipeline 的一部分 L1 Cache 必須保持跟 CPU 相近的速度,因此通常是透過 SRAM 實現的 L2 Cache 通常都是指令和資料一起 share 整個 cache,容量通常以 MB 為單位 現在大部份的 multi-core 都是 shared 同一個 L3 Cache L2 Cache 被訪問的頻率通常不是很高 (L1 Cache miss 才會訪問 L2 Cache),因此不需要使用 multi-port 的設計 需要盡可能的提昇 L2 Cache 的命中率,因為如果 L2 Cache miss,且沒 L3 Cache 的話,就需要去訪問 DRAM 了,訪問時間會很長 2.1.1 - Cache 的組成方式 Set-associative cache: ...