計算機算術
桁上げ先見加算器で使う、各桁の生成信号 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と最下位の桁上げだけから2段の論理で並列に求められます。生成と伝搬を取り違えた式では正しく計算できません。
- A. gとpの定義が逆で、式も誤っています。
- B. 正しい。g = a・b、p = a ⊕ b、c(i+1) = g + p・c(i)です。
- C. 定義が逆で、式もすべてのANDになっていて誤りです。