Komputer papan tempat memotong roti [ditutup]


19

Apakah mungkin membuat komputer sederhana seluruhnya dengan papan tempat memotong roti dan komponen elektronik dasar? Apakah layak untuk, misalnya membangun kalkulator ilmiah dengan cara ini?


10
Ini bukan hanya possbile, tetapi orang melakukannya, misalnya megaprocessor.com dan banyak lagi, hanya google untuk "discrete transistor cpu" atau serupa. Itu hanya menjadi sangat kompleks dan membutuhkan waktu bertahun-tahun untuk membangun dan men
PlasmaHH

Apakah tergantung apa yang Anda maksud dengan papan tempat memotong roti. Jika itu termasuk Veroboard, tag strip atau konstruksi bug mati yang ditambatkan oleh paku yang dipalu ke papan tempat memotong roti Ibu (ya) - semua disolder maka ya, pasti. Jika Anda bermaksud hal-hal plastik yang secara acak melepaskan kabel, lupakan saja ...
Brian Drummond

@BrianDrummond Re papan tempat memotong roti plastik - tampaknya mungkin (lihat jawaban saya). Saya telah melihat beberapa komputer dibangun dengan cara ini. Jika seseorang secara tidak sengaja menarik beberapa kabel, sungguh mimpi buruk. Saya benar-benar heran mereka benar-benar lari.
tcrosley

2
Saya pikir jika Anda memiliki papan tempat memotong roti tak terbatas, Anda akan turing lengkap?
PyRulez

2
Anda benar-benar perlu menemukan "cincin web" CPU Homebrew (itu adalah sesuatu yang jauh di tahun 90-an sebelum mesin pencari mendominasi web): members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

Jawaban:


33

Saya akan tidak setuju bahwa menempatkan mikrokontroler di papan tempat memotong roti memenuhi syarat sebagai membangun komputer di papan tempat memotong roti. Kecuali untuk I / O (seperti keyboard dan display), mikrokontroler dengan sendirinya adalah komputer yang lengkap. Hanya menempatkannya di atas papan tempat memotong roti dan menghubungkan beberapa kabel adalah hal sepele dan dapat dilakukan dalam sepuluh menit.

Ketika OP bertanya, "Apakah mungkin membuat komputer sederhana seluruhnya dengan papan tempat memotong roti dan komponen elektronik dasar?", Dengan komponen elektronik dasar, saya pikir itu berarti sesuatu yang lebih seperti ini:

masukkan deskripsi gambar di sini

Nah, itu komputer di papan tempat memotong roti (well, beberapa papan tempat memotong roti), dibangun dari komponen dasar . Penjelasannya ada di sini . Ini terdiri dari selusin jenis IC seri 74LS00. (Saya tidak berpikir kita ingin kembali ke transistor; PDP-8 asli seukuran kulkas kecil ).

Sejauh kalkulator ilmiah berjalan, jika Anda membangun komputer untuk keperluan umum seperti yang ditunjukkan di atas, maka itu dapat diprogram sebagai kalkulator ilmiah. Membangun kalkulator ilmiah dengan hanya menggunakan IC logika (tanpa komputer) akan sangat sulit; semua manufaktur kalkulator seperti itu (Ti, HP dll.) menggunakan IC skala besar khusus . Ini adalah kalkulator buatan sendiri yang menggunakan IC kalkulator 4-bit awal.

Saya akan setuju bahwa jika seseorang ingin menyalakan dan menjalankan komputer secepat mungkin, maka menggunakan mikrokontroler adalah cara yang harus dilakukan. Jika seseorang ingin benar-benar memahami bagaimana komputer bekerja secara internal, maka membangun satu dari IC dasar adalah jalan yang benar.



1
@ColeJohnson Catatannya mengatakan dia tidak punya skema untuk itu!
tcrosley

1
@ JohnD thx, diperbaiki.
tcrosley

23

Ini tidak hanya mungkin, saya benar-benar melakukannya: lihat https://www.vttoth.com/CMS/projects/47

Berikut tampilan kabel di bagian belakang salah satu papan tempat memotong roti:

masukkan deskripsi gambar di sini

Tentu saja itu semua tergantung pada komponen apa yang memenuhi syarat sebagai "dasar". Dalam kasus saya, komponen dasarnya adalah 74 ... seri TTL chip, kira-kira seratus di antaranya. Untuk membangun komputer sepenuhnya dari, katakanlah, transistor ... itu akan terlalu berlebihan.

Juga, komputer 4-bit saya benar-benar tidak cukup kuat untuk digunakan sebagai kalkulator ilmiah, terutama karena keterbatasan memori (256 nybbles 4-bit). Namun, tidak terlalu sulit untuk memperluas ruang alamat, mungkin menggunakan mekanisme paging, dan 4096 nybbles (alamat 12-bit) mungkin sudah cukup, 65536 nybbles (alamat 16-bit) pasti.


Selamat. Itu sebuah pencapaian. Saya suka set instruksi - mengingatkan saya pada 6800.
tcrosley

1
Ada seorang pria yang bekerja membangun prosesor menggunakan apa-apa selain transistor. RAM, prosesor, semuanya. MegaProcessor.com
Cole Johnson

4
Beberapa orang lebih sabar daripada saya.
Viktor Toth

10

Ya itu mungkin, tetapi Anda akan membutuhkan sedikit lebih dari sekadar beberapa papan tempat memotong roti untuk menghasilkan kalkulator ilmiah, tergantung tentu saja pada apa yang Anda anggap sebagai komponen dasar: apakah Anda menyebut transistor komponen dasar, atau flip-flop , sebuah EEPROM atau hanya sesuatu yang bisa Anda solder keluar dari kulkas lama.

Ada beberapa jawaban yang bagus di sini, tetapi saya hanya ingin menunjukkan satu hal yang sering tidak dipertimbangkan orang. Melihat sejarah perangkat komputasi, kesulitan dalam membangun komputer dari kulit pohon dan kuku bukanlah CPU maupun ALU. Masalah utama adalah memori. Karena Anda memerlukannya dalam jumlah besar agar konsep program yang tersimpan dapat berfungsi. Anda dapat membuat CPU dari beberapa sandal jepit dan gerbang NAND; misalnya untuk aplikasi elektronika daya dengan kendala spesifik, saya pernah mendesain mikroprosesor yang hanya menggunakan 69 flip-flop (4 register 16-bit, 4 flag dan 1 state register bit yang menunjukkan FETCH / EXECUTE). Itu diimplementasikan dalam silikon dan orang-orang menulis perangkat lunak yang berjalan di atasnya. Itu sederhana dan cocok dengan ukuran kontak saluran transistor daya. Tetapi memori yang dibutuhkan untuk menyimpan program apa pun yang berguna jauh, jauh lebih besar.

Sejak awal, memori adalah titik awal desain. Anda dapat menggunakan relay dua-stabil seperti yang mereka lakukan pada pertukaran telepon awal. Anda bisa menggunakan tabung vakum atau transistor untuk membuat sandal jepit; dan register CPU biasanya diimplementasikan dengan cara ini. Tetapi untuk program dan penyimpanan data, kaset kertas, kaset magnetik, disk berputar atau drum berputar digunakan. Bahkan gelombang akustik pada kawat baja yang secara konstan diterima dan dikirim kembali oleh elektronik. Apa pun yang dapat Anda pikirkan yang dapat menampung beberapa bit untuk jumlah waktu yang wajar dengan biaya yang masuk akal. Komputer pengorbit dan pendarat bulan Apollo menggunakan ingatan inti kumparan yang berakhir sebagai tali. Semua ini membutuhkan peralatan antarmuka yang berbeda dan memiliki dampak yang sangat besar pada seperti apa CPU perlu untuk mengakses memori semacam itu. Memori semikonduktor hanya benar-benar muncul di tahun 1970-an, akhirnya mengabaikan kompleksitas semacam itu. Tetapi sekali lagi, RAM dinamis modern juga tidak mudah.

Lalu ada tambahan indah karena harus mendesain equpment input-output untuk komputer. Beberapa bola lampu bagus untuk beberapa aplikasi tetapi jika Anda membutuhkan input / output teks atau sesuatu yang lebih kompleks, Anda lagi menghadapi lebih banyak kesulitan. Pembaca kartu, printer, dan terminal kertas adalah bisnis besar di zaman mereka. Terminal video mode teks VT100 dari 1978 memiliki lebih banyak memori dan kekuatan pemrosesan daripada yang dimiliki komputer papan kalkulator kalkulator.


Meskipun tentu saja mungkin untuk mengimplementasikan memori menggunakan flip-flop, saya pikir konsesi diperlukan untuk memungkinkan IC memori (hanya itu yang biasanya terjadi di komputer rumahan ini untuk menggunakan 74.181 untuk ALU). Anda bisa mendapatkan SRAM 8Kx8 dalam paket DIP sekitar $ 2. Itu seharusnya cukup untuk kalkulator. Sama untuk EEPROM.
tcrosley

1
@ tcrosley saya setuju. Saya hanya menunjukkan komentar dari sejarah. Jika Anda akan membangun komputer homebrew hari ini, Anda tidak melakukannya untuk mengikuti seperangkat aturan yang sewenang-wenang, Anda akan melakukannya untuk bersenang-senang dan belajar. Dan mendesain mikroprosesor lebih menyenangkan dan pengalaman belajar yang lebih baik daripada menggulung 16 ribu bit memori inti;)
PkP

@ PPK Ada sesuatu yang bisa dikatakan untuk seseorang yang ingat bagaimana menenun memori inti dan mendokumentasikannya. Tidak begitu banyak pada level bagaimana sedikit atau dua bekerja, tetapi sisi praktis dari bagaimana Anda menghasilkan 16 kbits tanpa menjadi gila. Saya telah bekerja pada proyek benih lebah. Saya dapat memvisualisasikan kegilaan ... Saya berasumsi bahwa pernah ada otomatisasi pabrik untuk melakukannya, tetapi saya telah melihat sangat sedikit tulisan tentang sisi produksi.
RBerteig

2
@RBerteig terima kasih, saya setuju. Ya, saya ingat pernah membaca bahwa ingatan tali pesawat ruang angkasa Apollo ditenun oleh wanita penenun yang sangat terampil, yang memiliki kesabaran luar biasa untuk memeriksa setiap satu atau nol dengan hati-hati dalam diagram kode, yang menunjukkan apakah kumparan bit dijalin melalui inti atau dilewati di sekitarnya, atau sesuatu seperti itu. Saya ingat membaca dari sumber yang sama bahwa butuh enam bulan bagi mereka untuk membuat ROM baru setelah setiap modifikasi perangkat lunak dari insinyur MIT yang menulis perangkat lunak Apollo.
PkP

7

Itu mungkin, tetapi kompleksitas dan ukurannya tergantung pada apa yang Anda sebut komponen elektronik dasar. ALU dan sequencer logic agak rumit, tetapi bisa dilakukan. Memori sederhana, tetapi pola dasar harus diulangi dalam jumlah yang sangat besar (pikirkan 1000-an kali).

Selain perangkat keras Anda juga akan memerlukan perangkat lunak yang berjalan di atasnya. Sebagai perkiraan kasar, untuk CPU yang cukup kompleks (instruksi klasik 16-bit tingkat data 8-bit) upaya perangkat lunak Anda akan sebanding dengan upaya perangkat keras Anda. (Untuk CPU yang lebih sederhana Anda akan membutuhkan lebih banyak upaya SW.) Dan bagaimana Anda akan memuat SW itu ke mesin Anda?

Perburuan bug (dan penyelesaian) akan menjadi usaha yang menarik. Saya akan menyarankan Anda untuk mulai menulis VHDL dan menjalankannya di simulator, yang akan jauh lebih mudah untuk di-debug daripada banyak chip dan kabel.

Dua siswa saya membuat CPU 16-bit dengan beberapa perangkat lunak dasar (termasuk port backend GCC) dalam ~ 1 tahun, dimulai dengan VHDL dan kode C untuk simulasi. ALU menggunakan chip 74181, memori adalah RAM statis, dan mereka menggunakan atMega untuk antarmuka antara PC dan komputer mereka. Komputer sebagian pada breadbords solderless dan sebagian pada PCB (register 8 16 bit). (Keduanya bukan siswa rata - rata!)


5

Ya itu mungkin. Tetapi Anda membutuhkan mikrokontroler untuk melakukan perhitungan. Ini adalah contoh proyek. Ini menggunakan mikrokontroler AVR dan layar LCD 16 Ă— 2.


+1 Saya memiliki kalkulator yang menggunakan prosesor ARM. Saat ini mikrokontroler harus dianggap sebagai komponen dasar.
Spehro Pefhany

25
Anda tidak perlu mikro, itu hanya membuat segalanya lebih mudah.
PlasmaHH

@PlasmaHH baik mikrokontroler, atau beberapa papan tempat memotong roti. Hanya memiliki gerbang 2-input dasar? Selamat bersenang-senang. OTOH ROM atau dua + a MUX + register = sudah mikrokontroler sederhana.
John Dvorak

Bagaimana menurut Anda Mikrokontroler melakukan matematika? Dengan ALU's - yang terbuat dari silikon / transistor / gerbang dasar tergantung pada skala apa Anda melihatnya.
user3728501

Mikrokontroler dan mikroprosesor juga dibuat dari elemen elektronik, sehingga Anda dapat membuatnya di papan tempat memotong roti, tidak perlu mikrokontroler yang nyata
phuclv
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.