1. 接上集:表示和存儲數字是計算機的重要功能,但是計算機的真正目標是計算有意義的數字。
例如:把兩個數相加。
這些操作由計算機的「算數邏輯單元」來處理的,統稱爲 ALU。
2. ALU
- 是計算機的數學大腦;
- 是計算機裏負責運算的組件,基本其他所有部件都用到了它;
- 最著名的 ALU,英特爾 74181(只能處理4位輸入,用了大概 70 個邏輯門,但不能執行乘除)。1970 年發佈時,它是第一個封裝在單個芯片內的完整 ALU;
- ALU 有 2 個單元,一個算數單元,一個邏輯單元。
3. 算數單元
- 負責計算機裏面的所有數字操作,例如:加減法;
- 二進制裏面,1 與 true 相同,0 與 false 相同;
- 半加器:AND 門,只有當兩個都爲 true, 輸出才爲 true,把這個加入到電路中,叫「半加器」;
- 全加器:如果想處理超過 1+1 的運算,我們需要「全加器」;
- 8 bit 加法(1個半加器,7個全加器);
- 溢出的概念:兩個數字的和太大了,超過了用來表示的位數,這會導致錯誤和不可預期的結果;
- 舉例:喫豆人用8位存當前關卡數,如果你玩到第256關,(8位bit最大表示255,)ALU會溢出
- 乘法除法:簡單的ALU沒有專門的電路來處理乘法除法。所以對於乘法,ALU使用多次加法實現。
4. 邏輯單元
- 檢測數字是否爲 0 的電路;
- ALU 抽象爲一個 V 符號;
- Flag 標誌:只有 1 位的,代表特定狀態;
- 溢出標誌;