様々な学問/勉強課目を図解/アニメーション化したり、シミュレーションツールを用いて楽しく分かりやすく解説するサイトです!
⇒ 本ブログの詳細/連絡先はコチラ!
⇒ 本ブログは複数テーマ(色)を持つ階層構造になってます!
学問TOP 数学 経済学/投資 統計学/確率 物理学
  1. ホーム
  2. 〇学問/勉強
  3. コンピュータ/情報科学
  4. コンピューターの原理基礎:足し算を行う基本論理回路をシミュレーターで理解しよう![複数桁の2進数計算/半加算器と全加算器の組み合わせ]
■注目記事一覧

コンピューターの半理基礎:半加算器の原理をシミュレーターで理解しよう!

なぜ全力買い(全額投資)はダメなのか?シミュレーション交えて解説!

倍プッシュ(マーチンゲール法)シミュレーションツール!必勝法 倍プッシュの欠点とは!?

本サイトの「サイコロ シミュレーター」が熊本の特別教育テレビ授業で使われました!

運動量保存の法則をwebシミュレーションで解説!

統計学/確率入門:偏差値とは何か?をシミュレーターを用いて詳しく解説!

サイコロ シミュレーターで解説!当たり回数が必ず一定に収束するわけではない!
 
スポンサーリンク
Twitter(更新情報)

コンピューターの原理基礎:足し算を行う基本論理回路をシミュレーターで理解しよう![複数桁の2進数計算/半加算器と全加算器の組み合わせ]

 前回の記事で、かなり長くなりましたが、AND回路/OR回路/NOT回路でどのように2進数の1桁の計算をおこなうかを説明しました。これら3つの回路を組み合わせることにより、半加算器と全加算器という2つの加算装置によって、1桁の2進数の足し算は実現できます。

 でも、2進数の1桁の計算だと、1+1=2までしか計算できませんよね!それでは全く役に立ちません。そのため、本ページではこの半加算器と全加算器を使用して、もっともっと大きな数を計算できるようにしていく過程をしめしていきます。実際に足し算を回路で計算している流れを確認できるシミュレーターもつくりましたので、是非使用してみてください!

前回のおさらい:半加算器と全加算器

 前回、2進数の1桁を表現する回路として半加算器と全加算器を紹介しました。この二つをもう一度軽くおさらいしておきます。加算値=その桁の計算結果、繰り上げ値=次の桁に繰り上げとなる値です。

1.半加算器:繰り上がってきた値を無視した足し算回路

 半加算器は純粋に1つ目と2つ目の数の足し算をおこなう回路です。下記のように、その足した数はXOR回路という回路で、繰り上がり値はAND回路で計算可能です。XOR回路は「入力1と入力2のどちらか一方だけが1のときのみ出力を1とする回路」です。詳しくは前回記事参照

2.全加算器:繰り上がってきた値を考慮した足し算回路

 全加算器は下の位から繰り上がってきた値も考慮する回路です。入力1+入力2の足し算をしてから、その合計と繰り上がってきた値の足し算をすればいいだけなので、半加算器を2回かければいいことになります。回路は下図のとおりです。

複数桁の2進数の計算

 それでは複数桁の2進数を考えていきます。基本的に、半加算器と全加算器を組み合わせることで計算可能になります。簡単のために、4桁の2進数同士の足し算をする場合を考えます。そうすると、各桁は下記のような回路であらわせることが分かると思います。

 1桁目:入力1と入力2を半加算器で計算(繰り上がり値発生)
 2桁目:1桁目の繰り上がり値を含めて、入力1と入力2を全加算器で計算(繰り上がり発生)
 3桁目:2桁目の繰り上がり値を含めて、入力1と入力2を全加算器で計算(繰り上がり発生)
 4桁目:3桁目の繰り上がり値を含めて、入力1と入力2を全加算器で計算(繰り上がり発生)
 5桁目:4桁目の繰り上がりの値をそのまま出力

このように、各桁は、1つ前の桁の繰り上がり値を入力として全加算器を使用することで値を計算できます。ただし、1桁目は繰り上がってくる値がないため、半加算器での計算となります。また、5桁目は4桁目の計算の繰り上がり値をそのまま出力することになります(入力値がないため)。これを示したのが下の図です。

それでは、これを実際のシミュレーターで動かしてみましょう!

2進数の足し算論理回路シミュレーター!

 今までの解説を総まとめしたシミュレーターです。選択ボックスで入力値1と入力値2(10進数)を選択し、計算ボタンを押すとこの二つの足し算が始まります!

  • 計算ボタンを押すと、入力値1と入力値2が2進数として評価され、各桁の入力値に代入されます(回路の関係上、左から1桁目、2桁目、3桁目、4桁目と逆順に並んでいます)。
  • 各桁の入力値をもとに計算が1桁目から順に開始されます
  • 各半加算器/全加算器の計算では、各回路の詳細図に移動して、実際に加算器がどのように計算して加算値/繰り上げ値を計算するのかを確認することができます!
  • 最終的に、全ての加算値の桁を2進数として評価した値を出力しますので、入力値1と入力値2の合計値になっていることを確認してみて下さい!


* 再度数字を変えて、計算ボタンを押すと、現在の計算はリセットされ、最初から計算がはじまります!

[参考:10進数と2進数対応表]
 

10進数 2進数
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

まとめ:単純な回路を組み合わせるだけで、ものすごく難しいことができるようになる!

 それでは、最後にまとめです。このコンピューターの原理基礎の記事では、最初の基本的な論理回路(AND回路/OR回路/NOT回路)の役割をまず説明しました。そして、それらを組み合わせて1桁の2進数計算ができる半加算器と全加算器の構成の仕方をこちらのページで解説しました。

 そして最後にこのページで、それら半加算器と全加算器を組み合わせることで、足し算を瞬時に行える回路が作れてしまうことを示しました。このように、単純な回路から、人間でも瞬時にはできないような計算までできてしまうのです!

 今後もCPUなどの仕組みを解説し、なぜ機械は複雑なことが可能なのかを順を追って解説していきたいと思います!乞うご期待です!


⇒「コンピュータ/情報科学」カテゴリ記事一覧

その他関連カテゴリ

[関連コンテンツ]




お気軽にコメントお願いします!

Your email address will not be published.