這個換算器的用途
MIPS(Million Instructions Per Second,每秒百萬指令數)是衡量處理器吞吐量的經典指標,代表 CPU 每秒能完成多少百萬條指令。本工具可將 MIPS 值換算成執行單一指令所需的平均時間,反向換算同樣支援。MIPS 是電腦架構領域通用的衡量標準,適用於各地,沒有任何地區性的特殊規則。
使用方式
先選擇換算方向。若選擇 MIPS 轉時間,輸入 MIPS 數值,即可看到以秒、毫秒、微秒、奈秒與皮秒呈現的每條指令平均執行時間。若選擇 時間轉 MIPS,輸入平均指令執行時間並選擇其單位,計算器便會回傳對應的 MIPS 值,同時將該時間以全部五種單位列出。
公式解析
若一顆 CPU 的速度為 \(M\) MIPS,代表它每秒完成 \(M \times 10^{6}\) 條指令。每條指令的平均時間,就是這個速率的倒數:
$$t = \frac{1}{M \times 10^{6}}\ \text{秒}$$將公式重新整理,即可得到反向關係
$$\text{MIPS} = \frac{1}{t \times 10^{6}}$$其中 \(t\) 以秒為單位。由於數值跨越多個數量級,結果會以五種 SI 尺度同時顯示,方便你選用最合適的單位閱讀。
實際範例
以一顆 50 MIPS 的處理器為例。每條指令時間
$$= \frac{1}{50 \times 10^{6}} = \frac{1}{5 \times 10^{7}} = 2 \times 10^{-8}\ \text{秒}$$也就是 0.00002 ms、0.02 us、20 ns 或 20000 ps。反過來推算,平均指令時間為 20 ns 時,
$$\text{MIPS} = \frac{1}{20 \times 10^{-9} \times 10^{6}} = \frac{1}{0.02} = 50\ \text{MIPS}$$常見問題
為什麼數值必須為正?MIPS 為 0 代表 CPU 永遠無法完成任何一條指令(時間為無限大),而執行時間為 0 則意味著 MIPS 無限大。兩者都會造成除以零的情況,因此計算器不接受 0 或負數的輸入。
MIPS 有把指令複雜度考慮進去嗎?沒有。MIPS 只計算指令數量,不論每條指令實際完成多少工作,因此不宜直接用來比較不同指令集架構(ISA)的效能。
MIPS 與時脈速度有什麼關係?\(\text{MIPS} = \dfrac{\text{時脈頻率(Hz)}}{\text{CPI} \times 10^{6}}\),其中 CPI 是每條指令的平均週期數。本換算器純粹以吞吐量數值進行運算,因此不受架構差異影響。