Saya mengajar satu-satunya kursus arsitektur komputer di sebuah perguruan tinggi seni liberal. Kursus ini diperlukan untuk jurusan ilmu komputer mayor dan minor. Kami tidak memiliki teknik komputer, teknik elektro, kursus perangkat keras lainnya, dll. Tujuan utama saya dalam kursus adalah agar siswa memahami sepenuhnya sampai ke tingkat gerbang bagaimana komputer bekerja, yang saya percaya mereka pelajari terbaik melalui laboratorium perangkat keras dan bukan hanya melalui buku teks ( Organisasi dan Desain Komputeroleh Hennessy dan Patterson). Tujuan kedua saya adalah menggairahkan mereka tentang arsitektur komputer dan meningkatkan kegembiraan mereka tentang ilmu komputer. Mempersiapkan mereka secara langsung untuk industri bukanlah tujuan, meskipun memotivasi mereka untuk mempelajari lebih banyak arsitektur komputer. Para siswa umumnya tidak memiliki pengalaman membangun apa pun atau mengambil kursus praktikum tingkat perguruan tinggi. Biasanya, 10-15 siswa mengikuti kursus per semester.
Saya telah mengajar kursus ini sejak tahun 1998 dengan cara yang mirip dengan bagaimana saya diajarkan arsitektur komputer dan elektronik digital di akhir 1980-an di MIT: menggunakan chip DIP TTL pada papan tempat memotong roti yang bertenaga. Pada tugas lab perangkat keras pertama, siswa membangun penambah penuh. Sekitar setengah semester, mereka mulai membangun komputer sederhana dengan set instruksi 8-bit. Untuk mengurangi perkabelan, saya menyediakan PCB dengan beberapa barang elektronik (dua sandal jepit D, dua ALU LS 181 bit 4-bit yang disatukan untuk bertindak sebagai ALU 8-bit, dan buffer tri-state). Pada laboratorium pertama, mereka memperoleh sinyal kontrol (sangat sederhana) untuk dua format instruksi dan membangun sirkuit, memasukkan instruksi pada sakelar dan membaca hasil dari lampu. Pada laboratorium kedua, mereka menambahkan penghitung program (2 LS163s) dan EPROM (yangpertanyaan awal saya adalah tentang, sebelum beralih ke bagaimana saya harus mengajarkan arsitektur intro). Di lab terakhir, mereka menambahkan instruksi cabang bersyarat. Sementara para siswa menghabiskan cukup banyak waktu pengkabelan dan debugging, saya merasa di situlah banyak pembelajaran terjadi, dan siswa pergi dengan rasa prestasi yang nyata.
Orang-orang di forum ini telah mengatakan kepada saya, bahwa saya harus beralih ke FPGA, yang belum pernah saya gunakan sebelumnya. Saya seorang insinyur perangkat lunak, bukan insinyur komputer, dan sekarang telah keluar dari sekolah untuk sementara waktu, tetapi saya mampu belajar. Saya tidak akan bisa mendapatkan banyak uang ( mungkin beberapa ribu dolar) untuk mengganti pelatih digital kami yang ada. Kami memiliki penganalisa logika tunggal.
Mengingat tujuan dan kendala saya, apakah Anda EE merekomendasikan agar saya tetap pada pendekatan saya saat ini beralih ke yang didasarkan pada FPGA? Jika yang terakhir, dapatkah Anda memberi saya petunjuk tentang materi yang dapat digunakan untuk mendidik diri sendiri?
Seperti yang diminta, berikut ini tautan ke silabus dan tugas lab .
Tambahan: Ya, ini adalah kursus logika digital juga. Ketika saya sampai di perguruan tinggi saya, mahasiswa diminta untuk mengambil satu semester dari masing-masing arsitektur komputer dan logika digital, dan saya menggabungkannya menjadi satu semester. Tentu saja, itu pernyataan tentang masa lalu, bukan masa depan.