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?
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?
Jawaban:
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:
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.
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:
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.
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.
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!)
Ya itu mungkin. Tetapi Anda membutuhkan mikrokontroler untuk melakukan perhitungan. Ini adalah contoh proyek. Ini menggunakan mikrokontroler AVR dan layar LCD 16 Ă— 2.