首頁 電腦科學 快取命中率與 AMAT 計算機 產生日期: 2026年7月20日 下午09:34 快取命中率與 AMAT 計算機 輸入 命中率95 %命中時間1 ns未命中代價100 ns 電腦科學 快取命中率與 AMAT 計算機 將快取命中率、命中時間與未命中代價換算為平均記憶體存取時間(AMAT)與未命中率,以便檢視快取對有效延遲的影響。 輸入 快取參數 命中率 % 0 – 100 % 在快取中找到資料的存取比例,以百分比表示。 80%90%95%99% 命中時間 ns 資料已存在於快取中(命中)時,存取該資料所需的時間。 未命中代價 ns 存取未命中時,在命中時間之外,從下一層記憶體取得資料所需的額外時間。 結果 輸入數值即可顯示計算結果。 平均存取時間 平均記憶體存取時間 ns 在 95 % 命中率、1 ns 命中時間與 100 ns 未命中代價之下,命中與未命中綜合計算的每次存取平均時間。 未命中率 未命中率 % 在快取中未找到的存取比例,等於 1 減去 95 % 命中率。 分享 列印報告 重設 嵌入 嵌入這個計算機 預覽 將這段程式碼貼到您的網頁中即可顯示計算機。 複製程式碼 分享這個計算 開啟此連結的人都會看到您填入的數值。 複製連結 分享至 XFacebookLINE 電子郵件 最後更新:2026-06-29 快取命中率與 AMAT 快取藉由將常用項目保存在快速儲存裝置中來加速資料存取,但其效益僅與資料實際被找到的頻率成正比。本計算機將快取的命中率、命中時間以及未命中的代價,換算為平均記憶體存取時間(AMAT),也就是反映系統平均速度感受的單一數值,並一併算出未命中率。 AMAT 公式 每次存取要嘛在快取中找到資料(命中),要嘛找不到(未命中)。命中的成本為命中時間;未命中的成本則為命中時間加上從較慢記憶體取得資料的代價。對大量存取取平均後可得: AMAT=th+m⋅tm\text{AMAT} = t_h + m \cdot t_m 其中 tht_h 為命中時間,tmt_m 為未命中代價,mm 為未命中率。未命中率即為 1 減去命中率: m=1−hm = 1 - h 由於每次存取都要付出 tht_h,但只有 mm 的比例會付出 tmt_m,因此命中率高的快取會使平均值趨近於快速的命中時間。 範例計算 考慮一個 L1 快取,命中率為 95%、命中時間為 1 ns、抵達下一層的未命中代價為 100 ns: AMAT=th+(1−h) tm=1 ns+0.05×100 ns=1 ns+5 ns=6 ns\begin{aligned} \text{AMAT} &= t_h + (1 - h)\, t_m \\ &= 1\ \text{ns} + 0.05 \times 100\ \text{ns} \\ &= 1\ \text{ns} + 5\ \text{ns} = 6\ \text{ns} \end{aligned}AMAT=th+(1−h)tm=1 ns+0.05×100 ns=1 ns+5 ns=6 ns 儘管 95% 的存取都很快,平均存取時間卻是命中時間的六倍。造成大部分成本的,是那 5% 未命中的存取,因為未命中代價是命中時間的一百倍。 為何未命中率的影響比表面看來更大 快取調校的槓桿來自命中時間與未命中代價之間的巨大落差。在上述範例中,將命中率從 95% 提升到 99%,可使 AMAT 從 6 ns 降至 2 ns,命中率僅變動四個百分點,效能卻約改善三倍。這正是為何在區域性、預取或快取大小上的小幅改善能帶來超乎比例的收益,也說明為何值得直接針對未命中代價著手。 延伸到階層結構 現代處理器在主記憶體之前疊放了多層快取(L1、L2、L3)。此公式可自然巢狀套用:某一層的未命中代價即為其下一層的 AMAT。若要分析整個階層,請先計算最深的一層,再將其結果向上代入作為上一層的未命中代價。關於存取延遲如何沿著請求路徑組合的整體樣貌,請參見 延遲預算計算器。 以上數值假設存取模式穩定;實際工作負載各有差異,因此宜將 AMAT 視為具代表性的平均值,而非對任何單次存取的保證。 常見問題(FAQ)什麼是平均記憶體存取時間(AMAT)?平均記憶體存取時間是指處理器等待資料的平均時間,將命中快取與未命中的存取一併平均後得出。標準公式為 AMAT = 命中時間 + 未命中率 × 未命中代價。每次存取都需付出命中時間,只有未命中的那一部分還要額外付出從較慢記憶體取得資料的代價。AMAT 是用單一數值衡量快取實際效益的指標。 命中率與未命中率有什麼差別?兩者是同一件事的兩種視角。命中率是由快取提供服務的存取比例,未命中率則是未由快取提供的比例。兩者總和恆為 1,因此 95% 的命中率即對應 5% 的未命中率。快取設計者通常以命中率呈現較易行銷的數字,在分析效能時則使用未命中率,因為未命中率才是與昂貴的未命中代價相乘的項。 為什麼少數未命中會造成如此大的影響?因為未命中代價往往比命中時間大上一到兩個數量級。若一次命中耗時 1 ns,而一次未命中耗時 100 ns,則即使是 5% 的未命中率也會增加 5 ns,是命中時間本身的五倍。這正是為何將命中率從 95% 提升到 99% 能使有效存取時間約略減半,也說明降低未命中代價(例如採用更深的快取階層)與提高命中率同等重要。 這套方法如何延伸到多層快取?實際的處理器擁有多層快取(L1、L2、L3)並接往主記憶體。AMAT 公式可巢狀套用:某一層的未命中代價,本身即為下一層的 AMAT。因此 AMAT = L1 命中時間 + L1 未命中率 ×(L2 命中時間 + L2 未命中率 ×(…))。本計算機僅模擬單一層級;若要分析整個階層,請先計算最深的一層,再將其 AMAT 作為上一層的未命中代價代入。 推薦的下一個 利特爾法則計算器 使用利特爾法則(L = λW)連結任何穩定佇列中的平均並行數、吞吐量與等待時間。可求解系統內的項目數、到達率或平均時間。 深入了解延遲預算計算器 把網路延遲拆成四個組成部分——傳播、序列化、佇列與處理延遲——以求出單向延遲與往返時間。可用於診斷一條連線把時間花在哪裡。 深入了解M/M/1 佇列計算機 由到達率與服務率計算單一伺服器 M/M/1 佇列的平均等待時間、回應時間、佇列長度與使用率。 深入了解 200+ 計算機 · 10 種語言 · 完全免費 更多效能與佇列 古斯塔夫森定律計算機利特爾法則計算器快取命中率與 AMAT 計算機阿姆達爾定律計算機愛爾蘭 C 人力配置計算器電池續航時間計算器 +6 more Show less AMAT(平均記憶體存取時間)計算Apdex 分數計算CPU 執行時間計算器IOPS 與吞吐量換算器M/M/1 佇列計算機M/M/c 佇列計算機 其他電腦科學計算機 網路 子網路(CIDR)計算機每秒封包數計算器延遲預算計算器頻寬延遲乘積計算機CIDR 與子網路遮罩轉換器IP 位址範圍計算機IP 超網路計算機IPv4 位址表示法換算器IPv6 子網路計算機MTU 轉 MSS 計算機TCP 吞吐量計算機安全與加密 密碼強度(熵值)計算機雜湊碰撞機率計算機Chmod 權限計算機UUID 碰撞機率計算器資料與編碼 二補數轉換計算文字轉二進位 / 十六進位 / ASCII 轉換器布隆過濾器容量計算器百萬畫素與列印尺寸計算機色彩格式轉換(HEX、RGB、HSL)色彩深度與每像素位元數計算器串流頻寬計算器吞吐量(bps)換算器奈奎斯特取樣率計算器音訊檔案大小計算機浮點數精度計算機記憶體位址位元計算器資料傳輸時間計算機影片位元率與檔案大小計算機影像檔案大小計算機壓縮率計算機Base64 編碼開銷計算機CRC 校驗碼計算Git 儲存庫複製大小估算IEEE 754 浮點數位元分解PPI / DPI 像素密度計算器QR Code 資料容量查詢Unix 時間戳記轉換(Epoch ⇄ 日期)UTF-8 位元組大小計算機演算法 夏農熵計算萊文斯坦距離計算器漢明距離計算機Big-O 成長率計算機Luhn 檢查碼計算器可靠性與儲存 服務可用性(SLA)計算機雲端儲存費用試算漢明碼 ECC 位元計算器複合可用性計算器API 速率限制計算器Cron 排程解析與下次執行時間MTBF、MTTR 與可用度計算器RAID 容量計算機 這個計算機對您有幫助嗎? 有幫助 需要改進 需要改進 我們可以如何改進這個計算機? 送出回饋 由 OneCalc 提供 ↗
最後更新:2026-06-29 快取命中率與 AMAT 快取藉由將常用項目保存在快速儲存裝置中來加速資料存取,但其效益僅與資料實際被找到的頻率成正比。本計算機將快取的命中率、命中時間以及未命中的代價,換算為平均記憶體存取時間(AMAT),也就是反映系統平均速度感受的單一數值,並一併算出未命中率。 AMAT 公式 每次存取要嘛在快取中找到資料(命中),要嘛找不到(未命中)。命中的成本為命中時間;未命中的成本則為命中時間加上從較慢記憶體取得資料的代價。對大量存取取平均後可得: AMAT=th+m⋅tm\text{AMAT} = t_h + m \cdot t_m 其中 tht_h 為命中時間,tmt_m 為未命中代價,mm 為未命中率。未命中率即為 1 減去命中率: m=1−hm = 1 - h 由於每次存取都要付出 tht_h,但只有 mm 的比例會付出 tmt_m,因此命中率高的快取會使平均值趨近於快速的命中時間。 範例計算 考慮一個 L1 快取,命中率為 95%、命中時間為 1 ns、抵達下一層的未命中代價為 100 ns: AMAT=th+(1−h) tm=1 ns+0.05×100 ns=1 ns+5 ns=6 ns\begin{aligned} \text{AMAT} &= t_h + (1 - h)\, t_m \\ &= 1\ \text{ns} + 0.05 \times 100\ \text{ns} \\ &= 1\ \text{ns} + 5\ \text{ns} = 6\ \text{ns} \end{aligned}AMAT=th+(1−h)tm=1 ns+0.05×100 ns=1 ns+5 ns=6 ns 儘管 95% 的存取都很快,平均存取時間卻是命中時間的六倍。造成大部分成本的,是那 5% 未命中的存取,因為未命中代價是命中時間的一百倍。 為何未命中率的影響比表面看來更大 快取調校的槓桿來自命中時間與未命中代價之間的巨大落差。在上述範例中,將命中率從 95% 提升到 99%,可使 AMAT 從 6 ns 降至 2 ns,命中率僅變動四個百分點,效能卻約改善三倍。這正是為何在區域性、預取或快取大小上的小幅改善能帶來超乎比例的收益,也說明為何值得直接針對未命中代價著手。 延伸到階層結構 現代處理器在主記憶體之前疊放了多層快取(L1、L2、L3)。此公式可自然巢狀套用:某一層的未命中代價即為其下一層的 AMAT。若要分析整個階層,請先計算最深的一層,再將其結果向上代入作為上一層的未命中代價。關於存取延遲如何沿著請求路徑組合的整體樣貌,請參見 延遲預算計算器。 以上數值假設存取模式穩定;實際工作負載各有差異,因此宜將 AMAT 視為具代表性的平均值,而非對任何單次存取的保證。 常見問題(FAQ)什麼是平均記憶體存取時間(AMAT)?平均記憶體存取時間是指處理器等待資料的平均時間,將命中快取與未命中的存取一併平均後得出。標準公式為 AMAT = 命中時間 + 未命中率 × 未命中代價。每次存取都需付出命中時間,只有未命中的那一部分還要額外付出從較慢記憶體取得資料的代價。AMAT 是用單一數值衡量快取實際效益的指標。 命中率與未命中率有什麼差別?兩者是同一件事的兩種視角。命中率是由快取提供服務的存取比例,未命中率則是未由快取提供的比例。兩者總和恆為 1,因此 95% 的命中率即對應 5% 的未命中率。快取設計者通常以命中率呈現較易行銷的數字,在分析效能時則使用未命中率,因為未命中率才是與昂貴的未命中代價相乘的項。 為什麼少數未命中會造成如此大的影響?因為未命中代價往往比命中時間大上一到兩個數量級。若一次命中耗時 1 ns,而一次未命中耗時 100 ns,則即使是 5% 的未命中率也會增加 5 ns,是命中時間本身的五倍。這正是為何將命中率從 95% 提升到 99% 能使有效存取時間約略減半,也說明降低未命中代價(例如採用更深的快取階層)與提高命中率同等重要。 這套方法如何延伸到多層快取?實際的處理器擁有多層快取(L1、L2、L3)並接往主記憶體。AMAT 公式可巢狀套用:某一層的未命中代價,本身即為下一層的 AMAT。因此 AMAT = L1 命中時間 + L1 未命中率 ×(L2 命中時間 + L2 未命中率 ×(…))。本計算機僅模擬單一層級;若要分析整個階層,請先計算最深的一層,再將其 AMAT 作為上一層的未命中代價代入。