Daftar Isi:

Komputer 8-Bit pada Breadboard Ikhtisar: 3 Langkah
Komputer 8-Bit pada Breadboard Ikhtisar: 3 Langkah

Video: Komputer 8-Bit pada Breadboard Ikhtisar: 3 Langkah

Video: Komputer 8-Bit pada Breadboard Ikhtisar: 3 Langkah
Video: 8-Bit Breadboard CPU (Overview) 2024, November
Anonim
Ikhtisar Komputer 8-Bit pada Papan Tempat memotong roti
Ikhtisar Komputer 8-Bit pada Papan Tempat memotong roti

Tujuan saya untuk proyek ini adalah untuk membangun pemahaman yang lebih baik tentang arsitektur komputer, desain perangkat keras, dan bahasa tingkat perakitan. Menjadi Junior di universitas yang mempelajari teknik komputer, saya baru saja menyelesaikan kursus elektronik, laboratorium yang memperkenalkan saya pada bahasa rakitan, dan arsitektur perangkat keras. Dalam menerima pengantar topik ini, saya ingin meningkatkan pemahaman saya tentang detail yang lebih baik di ketiga kursus, dan cara belajar apa yang lebih baik daripada mengerjakan proyek?

Niat awal saya adalah untuk merakit komputer 8-Bit ini sepenuhnya menggunakan video ceramah yang disediakan di saluran youtube Ben Eater, yang melakukan pekerjaan luar biasa dalam memecah proses desain menjadi campuran padat materi yang telah saya bahas dan aspek yang belum saya pelajari. mempelajari. Mengingat saya sudah memiliki pemahaman dasar tentang desain kombinatorik dan logika elektronika dasar, saya ingin menantang diri saya sendiri dengan mencoba merancang dan membuat bagian-bagian komputer setelah tinjauan umum desain, tetapi tanpa melihat petunjuk pembuatannya. Sepanjang proyek, tujuan saya adalah untuk belajar dan meningkatkan pemahaman saya lebih dari sekadar membangun sesuatu yang baru, jadi di setiap langkah proyek, saya melakukan sedikit bacaan dari artikel dan forum online tentang arsitektur komponen, dan konvensi dasar yang digunakan untuk masing-masing proyek. dari mereka.

Langkah 1: Riset Sepanjang Jalan

Penelitian Sepanjang Jalan
Penelitian Sepanjang Jalan
Penelitian Sepanjang Jalan
Penelitian Sepanjang Jalan

Proyek ini benar-benar membuat saya membaca lebih banyak dari yang saya harapkan. Salah satu pendekatan utama saya untuk setiap komponen adalah membaca ikhtisar dari forum atau artikel online, menonton ceramah dari video Eater, dan mencoba merancang bagian saya sendiri sebelum membangun, menguji, dan sebagian besar waktu yang diperlukan untuk menghapusnya untuk a pendekatan yang lebih terpandu dari saluran Eater. Contohnya adalah ketika saya sedang membangun komponen ALU dari PC. Saat saya menonton video desain, saya membaca artikel tentang komponen chip yang memiliki fungsionalitas lebih tinggi dan memicu input yang memungkinkan untuk mengganti jenis instruksi dan membalikkan input menjadi 2 komplemen secara internal. Namun, sebelum membeli chip yang membuatnya lebih mudah ini, saya meninjau pendekatan desain yang dibicarakan Ben Eater dalam videonya, dengan memadukan adder dan gerbang logika XOR untuk meningkatkan fungsionalitas dalam modul ALU tanpa memerlukan chip dengan biaya lebih tinggi. Ini membuat saya menghargai penggunaan logika diskrit dan penerapannya pada desain komputer, dan mempelajari berbagai pendekatan untuk membangun komponen. Dengan menggabungkan chip tingkat yang lebih rendah pada papan tempat memotong roti, saya juga mempelajari beberapa ciri arsitektur utama yang digunakan di dalam ALU, yang meningkatkan pemahaman saya tentang komponen eksekusi ini di PC.

Komponen kunci lain yang saya pelajari adalah penggunaan transceiver, juga dikenal sebagai buffer. Sebelum masuk lebih dalam ke proyek, saya pikir saya hanya akan mengaktifkan dan menonaktifkan komponen yang berbeda menggunakan sinyal kontrol, tetapi dengan cepat menemukan di seluruh artikel bahwa buffer perlu digunakan untuk memfungsikan arsitektur gaya Von-Neuman ini dengan benar. Karena komputer menggunakan bus bersama untuk perjalanan data antara modul yang berbeda pada PC, sinkronisasi siklus ditentukan oleh jam. Namun, memungkinkan penyimpanan dan beban terjadi tanpa mengganggu data yang tersedia di bus, saya menemukan bahwa transceiver sangat penting untuk bertindak sebagai gerbang, membutuhkan sinyal yang memungkinkan untuk memungkinkan data mengalir ke bus pada waktu yang tepat. kemampuan membaca tidak terlalu sulit untuk dipahami, karena kabel akan selalu menyimpan nilai pada bus, tetapi menggunakan nilai yang benar berarti memungkinkan register untuk menyimpan nilai baru.

Satu kesimpulan terakhir dari penelitian selama proyek ini adalah memahami perbedaan spesifikasi antara chip yang serupa. Sering kali saya menemukan chip dengan nilai ID yang sama tetapi huruf deskriptor berbeda seperti LS dan HC. Apa yang saya pelajari adalah bahwa itu tidak hanya membuat label, tetapi juga waktu dan spesifikasi daya tentang chip. Untungnya karena komputer saya menggunakan komponen dengan tingkat toleransi yang cukup rendah, saya tidak perlu khawatir untuk mencocokkan banyak spesifikasi, tetapi pada desain tingkat yang lebih tinggi, saya belajar bahwa hal-hal seperti kecepatan clock dan penarikan daya sangat penting untuk keberhasilan atau kegagalan elektronik. desain

Langkah 2: Kesulitan yang Dihadapi

Cukup cepat ke dalam proyek saya dapat merancang komponen sederhana seperti jam waktu untuk proses sinkronisasi, dan arsitektur memori dasar, tetapi perlu memesan bagian di samping semester kursus yang berat membuat sulit untuk mengalokasikan waktu di luar untuk proyek, membuat saya kembali jadwal penyelesaian. Setelah kemunduran besar pertama saya dari perlu menunggu seminggu untuk suku cadang tiba, saya akhirnya menghindari penundaan lebih lanjut dengan memesan semua suku cadang yang saya pikir saya perlukan untuk menyelesaikan proyek ini, yang ternyata berguna karena saya tidak lagi menghadapi penundaan sampai menerbitkan ini. Setelah mempelajari beberapa pendekatan dasar untuk debugging juga, saya mulai mengabaikan beberapa perakitan yang berarti perlu kembali dan menonton ulang video untuk menangkap kesalahan saya, yang biasanya menyebabkan sebagian besar papan dibongkar. Ini tidak memiliki jalan pintas. Saya belajar nilai dalam memeriksa kemajuan Anda dalam membangun perangkat elektronik apa pun. Dengan men-debug setiap papan di sepanjang jalan, saya dapat melanjutkan untuk menggabungkannya dengan lebih percaya diri, kemudian men-debug papan gabungan menjadi lebih mudah.

Langkah 3: Prestasi dan Refleksi

Secara keseluruhan, saat ini saya telah menyelesaikan clock, opcode dan program counter, unit ALU, register rs rt dan rd, dan RAM. Selain perlu menyelesaikan bus dan periferal untuk menyelesaikan proyek ini, saya telah belajar banyak tentang arsitektur komputer, yang saya harap dapat saya lanjutkan ke pilihan tahun senior saya, dengan mengambil kursus arsitektur komputer.

M5 menyediakan semua alat yang diperlukan bagi saya untuk mengerjakan proyek saya, dan komponen diletakkan dengan sangat baik di sepanjang dinding bagian, jadi saya tahu sangat awal tentang bagian-bagian yang perlu dipesan dan apa yang dapat dibuang. Jika siswa lain mengambil proyek ini, saya pasti akan mencatat bahwa proyek ini membutuhkan banyak waktu jika Anda mencoba untuk memahami semua yang terjadi di komputer. ITU TIDAK SULIT, tetapi membutuhkan perawatan jika Anda ingin berfungsi dengan sukses. Saya sangat merekomendasikan untuk melihat daftar putar video di saluran youtube Ben Eater untuk memahami semua bagian yang perlu Anda gunakan sehingga Anda tidak ketinggalan waktu jika Anda tidak berencana merancang pendekatan Anda sendiri. Karena saya membeli sebagian besar bagian, saya berencana untuk membawa ini bersama saya untuk diselesaikan pada waktu saya sendiri, tetapi akan lebih baik untuk menyerahkan ini agar siswa lain dapat menyelesaikannya, yang berarti paparan cahaya pada desain bagian yang tersisa., tetapi fokus besar pada bahasa assembly, yang untungnya saya kerjakan di kelas lain

Direkomendasikan: