求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

累加器檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
累加器

累加器,是一種暫存器,它用來儲存計算所產生的中間結果。如果沒有像累加器這樣的暫存器,那麼在每次計算(加法乘法移位等等)後就必須要把結果寫回到內存,然後再讀回來。 然而存取主內存的速度是比從數學邏輯單元(ALU)到有直接路徑的累加器存取更慢。[1]

概述

在運算器中,累加器是專門存放算術或邏輯運算的一個操作數和運算結果的寄存器。能進行加、減、讀出、移位、循環移位和求補等操作。是運算器的主要部分。

在中央處理器CPU中,累加器(accumulator)是一種暫存器,它用來儲存計算所產生的中間結果。如果沒有像累加器這樣的暫存器,那麼在每次計算(加法,乘法,移位等等)後就必須要把結果寫回到內存,然後再讀回來。然而存取主內存的速度是比從數學邏輯單元(ALU)到有直接路徑的累加器存取更慢。

在匯編語言程序中,累加器--AX是一個非常重要的寄存器,但在程序中用它來保存臨時數據時,最後將其轉存到其它寄存器或內存單元中,以防止在其它指令的執行過程中使其中的數據被修改,從而得到不正確的結果,為程序的調試帶來不必要的麻煩。[2]

實例

標準的例子就是把一列的數字加起來。一開始累加器設定為零,每個數字依序地被加到累加器中,當所有的數字都被加入後,結果才寫回到主內存中。

現今的 CPU 通常有很多暫存器,所有或多數都可以被用來當作累加器。因為這個原因,"累加器"這名詞就顯得有些老舊。這個名詞已經幾乎不在微處理器暫存器中使用,例如,運算暫存器的名稱中的符號以 "A" 開頭的表示從"accumulator"這個歷史因素得來的 (有時候認為並非 "arithmetic")。也可能混淆的是暫存器的名字前置 "A" 也表示 "address",比如說像是Motorola 68000 家族。

參考來源