電腦算術
下列何者是超前進位加法器所使用的各位數的產生訊號 g 與傳遞訊號 p 的定義(a、b為該位數的輸入),以及往上一位數的進位 c(i+1) 之算式的正確組合?
- Ag = a + b、p = a・b、c(i+1) = p + g・c(i)
- Bg = a・b、p = a ⊕ b、c(i+1) = g + p・c(i)
- Cg = a ⊕ b、p = a・b、c(i+1) = g・p・c(i)
查看答案與解析
正確答案:B. g = a・b、p = a ⊕ b、c(i+1) = g + p・c(i)
當該位數的 a 與 b 皆為1時,不論來自下方的進位為何,必定會產生進位,因此產生訊號為 g = a・b。若 a 與 b 僅有其中一個為1,則會把來自下方的進位直接傳往上方,因此傳遞訊號為 p = a ⊕ b(也有採用OR的情況)。故 c(i+1) = g(i) + p(i)・c(i),將其展開後,各位數的進位僅需由輸入的 g、p 與最低位的進位,即可以兩級邏輯平行求得。若把產生與傳遞弄混,算式便無法正確計算。
- A. g與p的定義相反,算式也有誤。
- B. 正確。g = a・b、p = a ⊕ b、c(i+1) = g + p・c(i)。
- C. 定義相反,且算式全為AND,因此有誤。