ブレッドボードコンピューター[閉鎖]


19

ブレッドボードと基本的な電子部品だけで簡単なコンピューターを作ることは可能ですか?たとえば、このように関数電卓を構築することは可能ですか?


10
それは可能性があるだけでなく、人々はそれをします。例えば、megaprocessor.comなど、「discrete transistor cpu」または同様のものをグーグルで検索してください。非常に複雑になり、ビルドとデバッグに数年かかります
PlasmaHH

ブレッドボードの意味に依存します。Veroboard、タグストリップ、または釘で固定された死んだ虫の構造がママのブレッドボードに打ち込まれている場合(はい)、すべてはんだ付けされています。あなたがランダムに電線を手放すこれらのプラスチックの事を意味している場合、それを忘れて...
ブライアン・ドラモンド

@BrianDrummond Reプラスチック製ブレッドボード-明らかに可能です(私の答えをご覧ください)。この方法で構築されたコンピューターをいくつか見ました。誤っていくつかのワイヤを引き抜いた場合、なんと悪夢でしょう。彼らが実際に走っているのには本当に驚いた。
tcrosley

2
無限のブレッドボードがあれば、完全にチューリングできると思いますか?
-PyRulez

2
Homebrew CPUの「ウェブリング」を発見する必要があります(検索エンジンがウェブを支配する前の90年代に遡ります):members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

回答:


33

マイクロコントローラをブレッドボード上に配置することは、ブレッドボード上にコンピュータを構築することと見なされることに同意しません。I / O(キーボードやディスプレイなど)を除き、マイクロコントローラー自体はほぼ完全なコンピューターです。それをブレッドボードに置き、数本のワイヤを接続するだけで簡単になり、10分で完了します。

OPが「ブレッドボードと基本的な電子部品だけで簡単なコンピューターを作ることは可能ですか?」と尋ねたとき、基本的な電子部品によって、それは次のようなものを意味すると思います:

ここに画像の説明を入力してください

これは、基本的なコンポーネントから構築されたブレッドボード(まあ、いくつかのブレッドボード)上のコンピューターです。それの説明はここあります。多数の74LS00シリーズICで構成されています。(私たちはトランジスタにずっと戻りたいとは思わない;オリジナルのPDP-8小さな冷蔵庫のサイズだった)。

関数電卓に関する限り、上記のような汎用コンピューターを構築すれば、関数電卓としてプログラムできます。論理ICのみ(コンピューターは使用しない)を使用して関数電卓を構築することは非常に困難です。そのような計算機(Ti、HPなど)のすべてのメーカーは、特別な大規模ICを使用していました。ここだ自作電卓の使用は、早期に4ビットの計算ICだということを。

コンピューターをできるだけ早く起動して実行したい場合は、マイクロコントローラーを使用するのが良い方法です。コンピューターが内部でどのように機能するかを本当に理解したい場合、基本的なICからコンピューターを構築することが正しい道です。



1
@ColeJohnson彼のメモには、彼にはそのための回路図がないと書かれています!
tcrosley

1
@JohnD thx、修正済み。
tcrosley

23

それが可能であるだけでなく、私は実際にそれをやった:https : //www.vttoth.com/CMS/projects/47を参照

ブレッドボードの背面の配線は次のとおりです。

ここに画像の説明を入力してください

もちろん、すべてがどのコンポーネントが「基本」として認定されるかに依存します。私の場合、基本的なコンポーネントは74 ...シリーズTTLチップで、およそ100個でした。たとえば、トランジスタだけでコンピュータを構築するには...それはあまりにも圧倒的です。

また、私の4ビットコンピューターは、主にメモリの制限(256個の4ビットニブル)のため、科学計算機として使用するのに十分なほど強力ではありません。ただし、おそらくページングメカニズムを使用してアドレススペースを拡張するのはそれほど難しくありません。4096ニブル(12ビットアドレス)は、すでに十分な65536ニブル(16ビットアドレス)であるかもしれません。


おめでとうございます。それはかなりの成果です。私は命令セットが好きです-6800を思い出させます。
tcrosley

1
トランジスタのみを使用してプロセッサを構築することに取り組んでいる人がいます。RAM、プロセッサ、すべて。MegaProcessor.com
コール・ジョンソン

4
一部の人々は、よりI.患者です
ヴィクトル・トス

10

はい、可能ですが、基本的なコンポーネントと考えるものに応じて、当然のことながら、科学計算用の計算機を作成するには数個のブレッドボード以上のものが必要です:トランジスタを基本コンポーネントと呼ぶか、フリップフロップと呼ぶか、EEPROM、または古い冷蔵庫からはんだ付けできるもの。

ここにはいくつかの良い答えがありますが、私は人々がしばしば考慮しない1つのことを指摘したいと思います。コンピューティングデバイスの歴史を見ると、樹皮と爪からコンピューターを構築することの難しさは、CPUでもALUでもありません。主な問題はメモリです。ストアドプログラムのコンセプト全体が機能するためには膨大な量が必要だからです。いくつかのフリップフロップとNANDゲートからCPUを作成できます。たとえば、特定の制約があるパワーエレクトロニクスアプリケーションの場合、69個のフリップフロップ(4つの16ビットレジスタ、4つのフラグ、およびFETCH / EXECUTEを示す1つの状態レジスタビット)のみを使用するマイクロプロセッサを設計しました。シリコンで実装されており、人々はそれで動作するソフトウェアを書いています。それは簡単で、パワートランジスタのドレイン接点のサイズに適合します。しかし、有用なプログラムを保存するために必要なメモリは、はるかに大きくなります。

早い段階で、メモリは設計の出発点でした。初期の電話交換で使用したように、双安定リレーを使用できます。真空管またはトランジスタを使用してフリップフロップを作成できます。通常、CPUのレジスタはこの方法で実装されました。しかし、プログラムとデータの保存には、紙テープ、磁気テープ、回転ディスクまたは回転ドラムが使用されました。電子機器によって常に受信および再送信される鋼線上の音波ですらあります。あなたがそれについて考えることができるものはすべて、妥当なコストで妥当な時間にいくらかのビットを保持することができます。アポロのオービターと月着陸機のコンピューターは、ロープとして巻かれたコイルコアメモリを使用していました。これらはすべて異なるインターフェース機器を必要とし、CPUがこれらの種類のメモリにアクセスするために必要なものに大きな影響を及ぼします。半導体メモリは、1970年代に初めて登場しました。最終的にそのような複雑さを却下します。しかし、ここでも、最新のダイナミックRAMはそれほど簡単ではありません。

さらに、コンピューターの入出力機器を設計する必要があるという素晴らしい点があります。いくつかの電球は一部のアプリケーションでは問題ありませんが、テキストの入力/出力またはさらに複雑なものが必要な場合は、さらに多くの困難に直面しています。パンチカードリーダー、プリンター、紙の端末は、当時大きなビジネスでした。1978年のVT100テキストモードビデオ端末には、科学計算機のブレッドボードコンピューターよりもはるかに多くのメモリと処理能力があります。


フリップフロップを使用してメモリを実装することは確かに可能ですが、メモリICを許可するには譲歩が必要だと思います(これらの自作コンピュータでは通常、ALUに74181を使用します)。DIPパッケージで8Kx8 SRAMを約2ドルで入手できます。計算機には十分なはずです。EEPROMについても同じです。
tcrosley

1
@tcrosley同意します。私はただ歴史から発言を指摘しています。今日自作のコンピューターを構築する場合、ルールの任意のセットに従うためにそれを実行するのではなく、楽しく学習するために実行します。マイクロプロセッサの設計は、16,000ビットのコアメモリを巻くよりも楽しく、より良い学習体験です;)
PkP

@PkP コアメモリの織りを思い出し、それを文書化するために誰かに言わなければならないことがあります。ほんの1つか2つの仕組みのレベルではあまりありませんが、正気にならずに16キロビットを作成する方法の実際的な側面です。私はシードビードプロジェクトに取り組んできました。私は狂気を視覚化することができます...私はかつてそれを行うファクトリーオートメーションがあったと思いますが、私は生産側について書かれたものはほとんど見ませんでした。
–RBerteig

2
@RBerteigありがとう、同意します。アポロ宇宙船のコンピューターのロープの思い出は、ビットコイルがコアに織り込まれているか、それを迂回するか、その効果をもたらす何か。同じソースから、Apolloソフトウェアを作成したMITエンジニアによる各ソフトウェアの変更後に、新しいROMを編むのに6か月かかったことを読んだことを覚えています。
PkP

7

可能ですが、複雑さとサイズは、基本的な電子部品と呼ばれるものによって異なります。ALUとシーケンサーロジックは少し複雑ですが、実行可能です。メモリーは単純ですが、基本的なパターンは非常に多数回繰り返す必要があります(1000回と考えてください)。

ハードウェアに加えて、その上で実行されるソフトウェアも必要になります。概算として、中程度に複雑なCPU(古典的な16ビット命令、8ビットデータレベル)の場合、ソフトウェアの努力はハードウェアの努力に匹敵します。(より単純なCPUを使用するには、より多くのSWの努力が必要になります。)そして、そのSWをマシンにどのようにロードしますか?

バグハンティング(および解決)は興味深い取り組みです。VHDLで書き込みを開始し、シミュレータで実行することをお勧めします。これは、大量のチップやワイヤよりもデバッグがはるかに簡単です。

私の2人の学生は、シミュレーション用のVHDLとCコードから始めて、〜1年でいくつかの基本ソフトウェア(GCCバックエンドポートを含む)で16ビットCPUを作成しました。ALUは74181チップを使用し、メモリは静的RAMであり、atMegaを使用してPCとコンピューターを接続しました。コンピューターの一部は無はんだのブレッドボード上にあり、一部はPCB(8個の16ビットレジスター)上にありました。(これら2人平均的な学生ではありません!)


5

はい、可能です。ただし、計算を行うにはマイクロコントローラーが必要です。 これはサンプルプロジェクトです。AVRマイクロコントローラーと16×2 LCDディスプレイを使用します。


+1 ARMプロセッサを使用する計算機があります。最近では、マイクロコントローラは基本的なコンポーネントと見なされるべきです。
スペロペファニー

25
あなたはマイクロを必要とせず、ただ物事を簡単にします。
PlasmaHH

@PlasmaHHマイクロコントローラー、または複数のブレッドボード。基本的な2入力ゲートのみがありますか?楽しむ。OTOH ROMまたは2つ+ MUX +レジスタ=シンプルなマイクロコントローラー
ジョンドヴォルザーク

マイクロコントローラーはどのように計算すると思いますか?ALUを使用すると、シリコン/トランジスタ/エレメンタリーゲートで構成され、表示するスケールに応じて変化します。
user3728501

マイクロコントローラーとマイクロプロセッサーも電子部品で作られているため、ブレッドボード上で作成でき、実際のマイクロコントローラーは必要ありません
-phuclv
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.