« 学研の4ビットマイコン「GMC-4」-その1-組み立て | トップページ | サマーウォーズ観てきました。 »

2009年7月 7日 (火)

学研の4ビットマイコン「GMC-4」-その2-論理回路

先日の日記 でご紹介した「大人の科学マガジンVol.24-4ビットマイコン」にはまっています。
付録のマイコンキットも面白いのですが、コンピュータの原理や歴史を知るための雑誌としても良くできています。

記事の中に、コンピュータの「計算ができる仕組み」の解りやすい解説があります。

ちょっと息抜きに、Excelを使って加算をおこなう論理回路を再現してみました。

まず、1ビットどうしの単純な加算をおこなう「半加算器」を作ります。

Halfadder

論理積(AND)ゲート2個、論理和(OR)ゲート1個、論理否定(NOT)ゲート1個を図のように組み込むと「半加算器」ができあがります。
排他的論理和(XOR)が使えると、ANDとXORの2ゲートだけで「半加算器」を作れるのですが、Excelの論理関数にはXORがありませんから、オーソドックスな回路にしています。

※論理回路を実装する時にはXORゲートは結局AND、NOT、ORで構築することになります。

お気づきのように、「半加算器」をいくつ並べても計算器としては使えません。
これに、下位の桁からの繰上りも加えて結果を出す回路が必要です。
「半加算器」2個、ORゲート1個を組み合わせると「全加算器」を作ることができます。

Full_adder

これで二進数の一桁の計算が可能になります。
この「全加算器」を計算させたい桁数分だけ並べれば加算回路の完成です。

ここでは、Excelで4ビットの加算ができる回路を作ってみました。

一つの「全加算器」に使うExcelの関数は次のようになります。

[計算結果] = AND(OR(AND(OR(x,y),NOT(AND(x,y))),z),NOT(AND(AND(OR(x,y),NOT(AND(x,y))),z)))
[上位桁への繰上り] = OR(AND(AND(OR(x,y),NOT(AND(x,y))),z),AND(x,y))

これを4組埋め込んで・・・
入力された十進数を二進数に変換するテーブルを用意して・・・
計算結果の二進数を十進数に変換して・・・

Addingmachine

一桁電卓の完成です。

1971年に発表された世界初の商用4ビットマイコン Intel 4004 は約2,300個のトランジスタで作られていました。

これだと、Excelのシート上に論理ゲートを埋め込む事でシミュレーションできるかも・・・

しませんけど・・・^^;

と言いつつ、「全加算器」にNOTゲートを組み込んで、引き算用の回路を作ってみようかと思ったりしています。

ついでに、二進数と十進数の変換用のエンコーダーとデコーダーも論理回路で作ってみましょう・・・ ヤバ (^^ゞ


このエクセルのシートのダウンロード Addm.xls (80.5K)

|

« 学研の4ビットマイコン「GMC-4」-その1-組み立て | トップページ | サマーウォーズ観てきました。 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/185680/45564704

この記事へのトラックバック一覧です: 学研の4ビットマイコン「GMC-4」-その2-論理回路:

« 学研の4ビットマイコン「GMC-4」-その1-組み立て | トップページ | サマーウォーズ観てきました。 »