めくるめくCPU基板ワールド ALU編

記事作成日時:2022-04-29 13:47:35
最終更新日時:2022-04-30 00:35:37

 ここではNANDだけで作った歴代ALUの基板写真をただ自慢するだけのページです。
実物のNANDでALUって少し珍しいでしょ?しかもALU制御基板を入れれば16bit。
楽しんでくれると嬉しいです。
画像が多くページがちょい重めなので開く場合は注意
試作は特にパスコンを入れていなかったりしますが、まあ、あれです。お金がなくて…泣
本番基板(とは言ってもPCBが本当の本番なのでこれも試作ですが)でもIC8個にパスコン1つというかなりキワドイことをしているので真似しないことを推奨します。というかパスコンは入れましょう。少なくとも4個に1つくらいは。
パスコンを入れて電流の流れるループを短くすることが鉄則です。 鉄則です そういう回路の構成については自覚があるので目をつぶっていただけると幸いです。
写真はクリックすると拡大します。

回路自体の説明は以下の記事を参照のこと。

設計・製作について
16bitALU(+初代制御回路)
ここ以下のディレクトリに回路図や操作法、基板図面などを置こうと思います。
記事作成日時:2022-04-24 13:08:53
最終更新日時:2022-05-04 15:39:14


Ver0.0


ALU ver0.0 表  これはALUのバージョン0というか、遊びでなんとなく全加算器を作ろうと思って作ったやつです。
動作試験の動画のタイムスタンプを見る限り年を越す前後で色々遊んでいたようです。
これはXORを3つ繋げたフツーの何のひねりもない全加算器です。
ALU ver0.0 裏 バージョン管理なんてしていませんでしたが一応Ver0.x系としています。
このときはALUでたくさん使うんだろうと思ってXORから始めましたが、結局演算の中枢にはXORは使うことはありませんでした。
結局途中まで作ってこれはしっかり作り直そうと思い途中で辞めました。


Ver1.0


ALU ver1.0 バージョン1は今思うと邪道的な意味でひどかった。
あろうことか私はANDやOR、ADD/SUBなどの出力をNANDではなくダイオードでまとめていました。
いわゆるワイアードORとか言ったりしたりしなかったりするあれ。
ALU ver1.0  ダイオードを使っているあたりを拡大した写真です。
うーん、良くない。
実際このダイオードは余り速くないですし、プルダウンしているのでLOW側はまだしも、HIGH側はダイオードのV f が気になりますね。
やっぱりあんまり良くない。
ALU ver1.1 散々NANDと言っておいてはじめの一歩は邪道も邪道。
実情を言うと、基板に乗るサイズの回路を書けていなかったからこんなことになっていました。
かなりセコい手ですね(笑)。
これを解決するアイデアは確か寝ているときに思い付きました。
何を思いついたかはメモを発掘しないと正直記憶にない。
ALU ver1.0  このモードセレクトのバスの配線がすごく嫌だったことを思い出します。
すぐ外れるし、爪の先は熱いし、振動で動かなくなるしで最悪でした。
しばらくはこの地獄を味わい続けます(笑)


Ver2.0


ALU ver2.0 バージョン2系列はこの試作基板で終わりかどうか思い出せていません。
この後ろにある Ver3.1 が実は2.1なような気もしていて順番がもはや分かりません。
頭がおかしい。
たしかなんやかんやでVer2.xはこの試験基板のみで開発が終わり、Ver3.xへ移った気がするのですが…
ALU ver2.0 コイツはある程度幾つか演算ができたはずですが、加算、減算以外に何ができていたか覚えていません。
もしかしたら加算、減算以外できないかも?
そこら辺は実験の記録動画を見れば分かりますが面倒なのでちょっとパス。
ちなみにこれは 邪道を通らずに しっかりNANDのみで組んでいます(笑)
ALU ver2.0 こちらの基板はセレクタ(マルチプレクサ)の試験基板です。
複数の信号の必要なものだけ出力するヤツです。
これはNANDをNOTとして使用する部分が多くあまり良い回路ではありません。
ALU ver2.0 赤青は電源、緑は出力、黄は2本でセットになっていて、2本の内どちらかを入力、もう片方をEN信号にします。
NANDに直接入るので入力とENを回路は区別しません。
回路を見ればすぐに分かることです。
ALU ver2.0


スポンサードリンク

Ver3.0


ALU ver3.0 この試作はVer2とは違いALUを通しで作りました。
命令を解釈する部分が洗練されていないので(今のものが洗練されているわけでは無いけど)制御信号が多い。 そしてこのときはまだ1bitあたり9個の74HC00を使用していました。
あとこれはVer1.0の基板の空き地を再利用して作ったもの。
なんで基板が長細い。
ALU ver3.0 これの動作試験の動画はすごーく前にTwitterとかに載せた気がします。
入力が変化してからどれくらいの時間で出力が安定するかをやった気がします。
結果はどうだったかな?記憶なし。
ALU ver3.0 基板を作るときに迷わないよう色々メモを書き込む人間なのですが皆さんの基板を見る限りメモを入れる人って余り居ない気がします。
消しているのかな?
入れておいたおかげで回路がどうなってるかは解析しやすそうです(笑)

それにしてもこれはまだ動きそうな見た目をしていますね。


Ver3.1


ALU ver3.1 コイツが件のいつ作ったかわからないやつ(笑)
Ver3.x(2かもだけど)系列にして初めて8bitでのマトモな演算ができるようになりました。
ワイヤが大量でちょっとカッコE
ただ、この方法で各基板を結線すると100mのボビンじゃ全く足らないことが後に判明して辞めました(笑)
ALU ver 3.1 コンデンサが途中までしかついていません汗
まあうごいたんで良いんですよ(ダメ)
かなりごちゃごちゃしてますが、作っている当時はどの配線が何なのか完全に把握していました。
人体の不思議です。
今はもう分かりません。
ALU ver3.1 これもバス配線がワイヤです。
本当はくるっと巻くのはダメですが、こっちのほうが配線しやすくて妥協しました。
高周波で動かしたら入力が痛みそうですね…

こんだけごちゃごちゃしていても順序よく作ると配線が邪魔にならずに作れます。
そのため、ワイヤで配線する際は作業をよく考える、 脳内配線タイム が人類には必要だと思います。
ALU ver3.1 写真真ん中あたりの錫メッキの配線とかかなりアヤシイですね
どうしてこれが動くのか自分でもよく分かっていません。作っているときから動かねぇんだろうなぁとか思いながら作っていました。
ALU ver3.1 なんで外部との配線にこんなに太いものを使っているかと言うと、赤い細めのやつが残り少なく途中で無くなりそうだったからです。
使わずに肥やしになっていた100mボビンの有効活用。
こんな野蛮な配線はもうしません。スミマセン(笑)


Ver4.0


ALU ver4.0 このVer4.0は3.1の製作後に判明した74HC00のドライブ不足問題を解決したものです。
具体的には、出力1つに対してLEDが1つしかないと勘違いしていたため表示を明るくするためにかなりギリギリまで引っ張っていました。
が、 実際には最大で3つLEDがぶら下がっていたことが動作テストで不具合が起きた ことから判明しました。
んで、LEDの電流制限抵抗を上げて対処しました。投げやり(笑)
ALU ver4.0 回路の内容自体は全く変わっていないので配線その他は3.1と同じ物です。
なぜどれもこれも基板が途中で切られているかと言うと途中で製作を放棄したものから基板を切り出して再利用しているためです。
試験用の基板はほぼ全てこの空き地から取っています。
おかげで配線済みの基板を切り分けるのがうまくなりました(笑)
ALU ver4.0 これは制御用のバスの配線は頑張りました。あまりうまくないけど。


Ver5.0


ALU ver5.0 これは今までの基板と比べ74HC00が1bitあたり2つも少ない回路になっています。
ただコイツはORは演算できませんし、ANDの代わりにNANDがあるというかなりの 手抜き回路です。 なぜORを廃したかと言うと、レジスタバスにORをさせるつもりだったからです。
というのもNANDだけで作るという制約上バスにはトライステートを使用せず各出力をORで纏めるため、バスがOR演算を出来るという画期的(笑)なアイデアを思いついてしまったからです。
人間楽な方に惹かれてしまいます…残念。
ALU ver5.0 では何の演算が出来るかと言うと写真の通りNAND,XOR,SHR,SHL,NOT,ADD,SUBの7種ができます。加えて入力のB(A+B=CのB)を反転させる機能を持っているので実質9種の命令を実行できます。
ALU ver5.0 配線はこんな感じです。
機能が少ない分制御用の信号も減っています。
そして相変わらずパスコンを入れていません。
なんかもったいなくてね…
ALU ver5.0


スポンサードリンク

Ver6.0


ALU ver6.0 この回路は私のNANDのみで製作したALUの中で最高峰の出来の回路です。
74181をそのままNANDに置き換えては得られない命令数/使用IC数を誇ります。
ここに来るまで実に半年。ついにといった感じです。
時間を掛けただけあって自分でも良いんじゃないと言ってしまうくらい出来が良いと思っています。
これ以上のものを組めるのなら組んでみろ〜!!なんてね(笑)
ALU ver6.0 命令はAスルー,AND,OR,NOT,XOR,ADD,SUB,SHR,SHLとそれらの入力Bの反転動作が出来ます。
加えてALU制御回路を加えるとINC,DEC,ROR,ROL,SLA,SRA,ADD with Carry,SUB with Carry,INC with Carry,DEC with Carryも出来ます。
ここまでできれば大抵のことでは困らないだろうと思います。
どうなんですかね?乗除算はNANDだけでは厳しいのでパスとして
ALU ver6.0 配線はまあ特に変わらず。


Ver6.1


ALU ver6.1 私史上最も嬉しかったランキング上位に入っている基板です。
実は電源が基板内でショートしていて初回起動時に電流のパネルメーターが振り切れるという事故が起こっていたりします。
ずさんですね。
このことからも分かるとおり火入れの前には点検は必須です。
この頃はPCのマザボが死んでマザボ換装したり、ドメインを買ったり、HDDが死んだ影響でwin7ぶっ壊れたりと動乱の時期でした。
あとちょうど受験期でしたね。
関係なしにはんだごて握っていましたが(笑)
ALU ver6.1 命令は6.0と同じです。というか中身は6.0を8つ並べたものですし。
ALU ver6.1 バス配線はこのときまでワイヤでやっていました。
これはくるくる巻いちゃってんなぁ…
結局使わなかったのでまあよし。
ALU ver6.1 Ver6.1からのALUは全て物理的電気的な規格が同一なため互いに置き換え可能です。
そのため基板が幾つか壊れた程度ではノーダメージみたいなもんです。
なんせこの時はまだ32bitを作る気で居ましたからね、余計に製作した基板は多い。
ALU ver6.1 この基板は2022/04/29時点では故障しています。検査治具で検査した所6番目の出力が上がらなくなっていることが確認できました。
こんな配線だし仕方なし。


Ver7.0


ALU ver7.0 ここからはマイナーチェンジみたいなものをなぜかバージョンを割っただけなので簡単な紹介のみとします。
Ver7はVer6のバス配線を改善したものです。
これは2022/04/29時点で正常な動作を確認しています。
やはり配線を変えるだけで安定さが段違いですね。
配線を確実にする方法はちゃんと検討すべき。
ALU ver7.0 うら。
気持ちスッキリした気がする。
ALU ver7.0 ここのピンヘッダへの処理は同じ人間が作った割には異なるバージョンで違いが出ていて面白いです。


Ver8.0


ALU ver8.0 B1 もう何が違うのかもはや分からん。
なぜ私はバージョン変えた?頼みの綱のTwitterにもそれらしい投稿がない。
本当にわからない。

これも2022/04/29時点で正常動作
ALU ver8.0 B1 裏。
ALU ver8.0 B1 こっちはB1の端子周り。
B1,B2のBは端子が右側にあるタイプを表していて1,2はただの通し番号。
ALU ver 8.0 B2 こっちはB2。


スポンサードリンク

Ver9.0


ALU ver9.0 A2 これはハンダめっき線を0.3mmに変えたことでバス配線がかなりキレイになった。
違いはそのくらい。
見た目がキレイになったから同じバージョンを振りたくなかったんだね、多分。

もちろん2022/04/29時点で正常動作
ALU ver9.0 A2 裏。
上の方に纏めたおかげで部品がのっている部分はスッキリしている。
ALU ver9.0 A1 A1。
Aは端子が左。
ALU ver9.0 A2 A2。
もう書くことがない。


----

回路図や検査治具、その他諸々はこれから更新してくつもりです。



コメント欄

投稿をすべて見る

最新の投稿を見る

投稿をすべて見る

投稿する場所
名前
メール
削除キー
添付画像(1投稿1枚10MBまで)
↓チェックを入れてからボタンを押してね!!認証エラーになるよ!!
削除する場所
削除する投稿ID
削除キー
↓チェックを入れてからボタンを押してね!!認証エラーになるよ!!
アクセス今日19PV累計37342PV

スポンサードリンク