Bir ve tek bilgisayar mimarlığı dersini liberal bir sanat okulunda öğretiyorum. Elbette bilgisayar bilimi büyük ve küçük için gereklidir. Bilgisayar mühendisliği, elektrik mühendisliği, diğer donanım kursları, vb. Yok. Kursun temel amacı, öğrencilerin bir donanım laboratuarında en iyi öğrendiklerini düşündüğüm bilgisayarların nasıl çalıştığını, geçit seviyesine kadar inmelerini sağlamak. sadece bir ders kitabı aracılığıyla değil ( Bilgisayar Organizasyonu ve Tasarımı)Hennessy ve Patterson tarafından). İkincil hedefim, onları bilgisayar mimarisi hakkında heyecanlandırmak ve bilgisayar bilimi konusundaki heyecanlarını artırmak. Onları doğrudan endüstriye hazırlamak bir amaç değildir, ancak daha fazla bilgisayar mimarisi incelemesi için onları motive etmektir. Öğrenciler genellikle bir şey inşa etmek ya da üniversite düzeyinde bir laboratuar kursu almak için herhangi bir deneyime sahip olmamıştır. Tipik olarak, 10-15 öğrenci ders başına ders alır.
1998'den beri kursu 1980'lerin sonlarında MIT'de bilgisayar mimarisi ve dijital elektronik derslerine nasıl verildiğine benzer bir şekilde öğretmekteyim: güçlendirilmiş breadboardlarda DIP TTL yongaları kullanarak. İlk donanım laboratuarı ödevinde, öğrenciler tam bir toplayıcı oluştururlar. Sömestrın yarısına kadar, 8 bitlik bir talimat setiyle basit bir bilgisayar oluşturmaya başlarlar. Kablolamayı azaltmak için, bazı elektronik aksamları (iki adet D-flip-flop, iki adet 4-bit LS 181 ALU ile birlikte bir adet 8-bit ALU ve üç-durumlu bir tampon olarak çalışmak üzere bağlanmış) bir PCB sağlar. Bu laboratuvarların ilki, iki komut formatı için (çok basit) kontrol sinyallerini türetir ve devreleri kurar, anahtarlara talimatlar girer ve ışıkların sonuçlarını okur. Laboratuvarların ikincisine bir program sayacı (2 LS163s) ve bir EPROM (bunlarAsıl sorum , mimariye nasıl öğretmem gerektiği konusuna geçmeden önce) Son laboratuvarda, koşullu dallanma talimatı eklerler. Öğrenciler kablolama ve hata ayıklama konusunda oldukça fazla zaman harcarken, ben de öğrenmenin çoğunun gerçekleştiğini ve gerçek bir başarı duygusuyla ayrıldığını hissediyorum.
Bu forumdaki insanlar bana daha önce birlikte çalışmadığım FPGA'lara geçmem gerektiğini söyledi. Ben bir yazılım mühendisiyim, bir bilgisayar mühendisi değilim ve bir süredir okul dışında kalıyorum, ancak öğrenebiliyorum. Mevcut dijital eğitmenlerimizin yerine geçecek kadar para alamayacağım ( belki birkaç bin dolar). Tek bir mantık analizörümüz var.
Hedeflerim ve kısıtlarım göz önüne alındığında, EE'lerin, FPGA'lara dayanan şu anki yaklaşım yaklaşımıma bağlı kalmamı tavsiye eder misiniz? İkincisi ise, kendimi eğitmek için malzemeler hakkında bana herhangi bir işaretçi verebilir misiniz?
İstenildiği gibi işte ders programı ve laboratuar ödevleri için bir link .
Ek: Evet, aynı zamanda dijital bir mantık kursu. Üniversiteye gittiğimde, öğrencilerin her bir bilgisayar mimarisi ve dijital mantıktan bir sömestr almaları istendi ve onları bir sömestrde birleştirdim. Elbette, bu geçmişle ilgili bir ifadedir, gelecekle ilgili değil.