コンピュータの仕組み(基本論理回路〜機械語)
コンピュータの仕組み(電気回路〜基本論理回路) - yokkunsの日記の続き。
基本論理回路の組み合わせで、以下のような演算回路を作成出来ます。
回路図をきれいに描くソフトがインストールされていなかったため、図はきたないです、ごめんなさい。
比較回路(comparator)
二数の大小関係を求める論理回路。具体的には以下のような出力が出る回路。
- のとき出力、のとき、
- のとき出力、その他の場合
- のとき出力、その他の場合
これを、前回やった、AND、OR回路を使って組むと下図のようになる。
全加算器(FA)
2進数の1桁の加算は、上の半加算器(HA)の入力部に、下位の桁からの桁上げを加えることにより行うことが出来る。
このように、、、の3入力をもつ加算回路を全加算器という。
X | Y | C_i | S | C_0 | |
0 | 0 | 0 | 0 | 0 | |
0 | 0 | 1 | 1 | 0 | |
0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 | 0 | 1 | |
1 | 0 | 0 | 1 | 0 | |
1 | 0 | 1 | 0 | 1 | |
1 | 1 | 0 | 0 | 1 | |
1 | 1 | 1 | 1 | 1 |
加減算回路
加減算回路は、XORという論理回路を使います。XORは、入力値が異なる場合に"1"、同じ場合には"0"を出力する回路です。AND、OR、NOTで組めるので興味のある方はチャレンジしてみてください。
制御信号Pが0の時は、加算で、Pが1の時には、Yは反転され、さらにC_0が1になるため2の補数となり、減算になる。
デコーダ
符号化された情報を解読し、実際の動作を引き起こす信号を作り出す回路で、一般に入力数は出力数よりすくない。
以下のようなことに使用される。
- 制御装置において、各命令を示す符号化された記号を解読し、各部に送り出す制御信号を作る。
- メモリにおいて、符号化されたアドレス信号を解読して、メモリ選択信号を作る。
上の図では、0〜3番地までの4つのメモリから、1つ選択して取り出している。
番地は、0〜3なので、2桁の二進数で表現出来ます。この2桁の二進数から、4つの制御信号を作るのがデコーダの役割です。
んで、下のD0〜D7は、データバスと呼ばれるデータを転送するバスで、すべてのメモリと接続されてます。
制御信号が、1の番地のみ電流が流れるため、該当する番地のデータだけ転送出来るわけです。
機械語
演算装置とは、算術演算、論理演算を実行する装置で、ALU(Aarithmetic and logical unit)と呼ばれます。
さて、このALUも、メモリと同じように、演算回路も制御信号により選択されます。そして、この制御信号は、機械語のオペレーションコードから作られます。
あ、その前に、機械語の構成ですね。
機械語は、オペレーションコード部と、アドレス部で構成されており、オペレーションコードには、演算や制御などの命令が入り、アドレス部には、その命令で処理されてるデータ(オペランド)が格納されてる場所(またはデータ自身)が入っています。
コンピュータが演算を行うには、2つの入力が必要なんですが、入力は一度に一個しか出来ないため、アキュムレータと呼ばれる一時記憶装置に保存します。
例えば、オペレーションコードが以下の仕様だった場合、
オペレーションコード | 命令の種類 | |
00000000 | 加算 | |
00000001 | 減算 | |
00000010 | AND | |
00000011 | OR | |
00000100 | ||
00000101 | メモリからACCへ | |
00000110 | ACCからメモリへ |
次の機械語は、2番地のデータと3番地のデータを加算して、結果を4番地に保存するプログラムになります。
00000101 00000010 00000000 00000011 00000110 00000100
- 00000101から、メモリの内容をACCにコピーする回路を選択、00000010番地の内容をその回路に転送
- 00000000から、加算回路を選択、00000011番地の内容を回路に転送。加算された結果がACCに格納される。
- 00000110から、ACCをメモリにコピーする回路を選択、ACCの内容を00000100番地にコピー
さて、これで、回路と機械語がつながりました。
もっと詳しく解説したかったのですが、果てしなく長くなってしまうため、いろいろ中途半端になったところがありますが、とっかかりになれば幸いです。
次回は、機械語からアセンブリ言語、そしてC言語へって感じで進めたいと思います。
参考
以下の書籍を参考にしました.
- 作者: 手塚慶一
- 出版社/メーカー: 昭晃堂
- 発売日: 1993/12
- メディア: 単行本
- 購入: 2人 クリック: 10回
- この商品を含むブログ (1件) を見る
- 作者: 高田美樹
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/25
- メディア: 大型本
- 購入: 1人 クリック: 36回
- この商品を含むブログ (5件) を見る