- Transistörden GPU'ya kadar uzanan tüm hesaplama yığını, adım adım inşa edilerek öğrenilen bir simülasyon tabanlı oyun
- Her aşama ACT olarak yapılandırılmış olup, transistörler, mantık kapıları, ALU, işlemci, GPU ve shader sırasıyla ilerliyor
- ACT 1'de NMOS ve PMOS kullanılarak temel mantık kapıları oluşturuluyor, ACT 2'de ise bunlar genişletilerek ALU ve işlemci çekirdeği tamamlanıyor
- Sonraki aşamalar olan yazılım, GPU ve shader bölümleri şu anda COMING SOON durumunda ve geliştiriliyor
- Donanım tasarımı ile programlamayı bütünleşik şekilde deneyimleyebileceğiniz eğitim amaçlı interaktif bir proje
Mvidia oyununa genel bakış
- Mvidia, kullanıcının GPU'yu doğrudan tasarlayıp inşa etme sürecini adım adım deneyimlediği interaktif bir öğrenme oyunu
- Oyun, transistör ile başlayıp mantık kapıları, ALU, işlemci ve GPU'ya doğru ilerleyen bir yapıya sahip
- Her aşama “ACT” olarak ayrılıyor ve her ACT, birden fazla öğrenme ve uygulama görevinden oluşuyor
- İlerleme durumu, tamamlanma oranı (ör. 0/10 COMPLETED) biçiminde gösterilerek öğrenme ilerleyişinin görsel olarak takip edilmesini sağlıyor
ACT 1: İlk gün (YOUR FIRST DAY)
- Tema Transistors → Logic Gates; transistörleri kullanarak temel mantık kapılarının oluşturulduğu aşama
- Başlıca görevler
- 1.1 The Switch: NMOS'u anahtar olarak kullanma
- 1.2 The Other Switch: PMOS'u anahtar olarak kullanma
- 1.3 Two Halves: NMOS ve PMOS'u birleştirme
- 1.4 NAND It: NAND kapısı oluşturma
- 1.5 The Dual: mantık kapısı çifti oluşturma
- 1.6 Truth Tables: doğruluk tabloları hazırlama
- 1.7 AND Gate, 1.8 OR Gate, 1.9 XOR Gate: temel kapıları uygulama
- 1.10 Choose Wisely: üç kapıyı birleştirerek seçim yapısı tamamlama
- ACT 1 tamamlandığında ACT 2: THE CORE kilidi açılıyor
ACT 2: Çekirdek (THE CORE)
- Tema Gates → ALU → Processor; mantık kapılarıyla aritmetik mantık birimi (ALU) ve işlemci oluşturulan aşama
- Toplam 34 alt görevden oluşuyor ve her görev önceki aşamaların çıktılarını temel alarak ilerliyor
- Başlıca aşamalar
- 2.1 Half Adder, 2.5 Full Adder: toplama devreleri oluşturma
- 2.3 The Decoder, 2.25 Register File: veri seçimi ve depolama yapıları tasarlama
- 2.4 The Capacitor, 2.7 1T1C, 2.12 The Sense Amp, 2.17 The Array: bellek hücreleri ve algılama yükselteci oluşturma
- 2.10 Adding Bytes, 2.13 Hex Racer, 2.15 Bit Twiddling: işlemleri bayt düzeyine genişletme
- 2.20 Edge Trigger, 2.21 Refresh, 2.31 Refresh Controller: saat ve bellek yenileme kontrolü
- 2.27 The ALU, 2.30 Fetch, Decode, Execute, 2.32 The Mvidia Core: işlemcinin temel mimarisini tamamlama
- 2.33 DRAM Memory, 2.34 Mvidia Core v2: DRAM tabanlı genişleme ve çekirdek yükseltmesi
- ACT 2 tamamlandığında ACT 3: THE SOFTWARE kilidi açılıyor
ACT 3: Yazılım (THE SOFTWARE)
- Tema Programming the Processor; tamamlanan işlemcinin programlandığı aşama
- Şu anda COMING SOON durumunda; ayrıntılı görev içeriği henüz açıklanmadı
ACT 4: GPU (THE GPU)
- Tema Building a Graphics Processor; grafik işlemcisinin oluşturulduğu aşama
- Şu anda COMING SOON durumunda; ileride GPU mimarisi tasarımına ilişkin görevlerin eklenmesi planlanıyor
ACT 5: Shader (THE SHADER)
- Tema Programming the GPU; GPU ile shader programlamasının yapıldığı aşama
- Şu anda COMING SOON; ileride GPU programlama öğrenme içeriğine doğru genişletilmesi planlanıyor
1 yorum
Hacker News yorumları
Gerçekten harika bir proje
Ancak truth tables aşamasında çok fazla tekrar eden soru vardı ve ilk soruda süre sınırı sadece 1 saniyeydi
Kapasitör kısmı da kafa karıştırıcıydı. Kapasitörde
enablekapısı yok ama 2.7(1T1C)'de bunu doğrudan transistörle yapmak gerekiyorAma şu anda primitive'lerde zaten bir
enablekapısı var, bu da NMOS kapısını gereksiz hale getiriyorAcaba bunu LLM yardımıyla mı yaptığınızı merak ettim. Özellikle UI'ı bu kadar iyi ortaya çıkaran iş akışı etkileyiciydi
enablekapısını ekledim. Simülasyon sistemi yapısı gereği gerekliydiKapasitör implementasyonu başından beri epey düşündürdü. Tam bir kapasitör modelini simülasyon sistemine uygun şekilde yapmak zordu
truth tables hatasını düzelteceğim. Yıldızlar ancak endless mode'da oynanarak alınabiliyor
Geliştirme sürecinde Claude'u çok kullandım. Kablolama ve simülasyon kısmı zordu ama grafikleri ayrıntılı yönlendirmelerle tamamladım
NAND, NOR, Inverter tanımlarını quiz'den sonra öğreniyorsunuz. Sıra değiştirilirse iyi olur
Ayrıca zamanlayıcı çok kısa. Soruları çok iyi bilen biri olarak benim bile zamanında girmem zordu. Zamanlayıcıyı tamamen kaldırmak bile düşünülebilir
Bu oyunu beğendiyseniz Turing Complete'i de öneririm
En sonunda kendi CPU'nuzu ve assembly dilinizi yapabiliyorsunuz. Ama hâlâ Early Access durumunda ve uzun süredir ilerleme durmuş gibi
10 yıldan uzun süredir mixed-signal IC tasarlıyorum ama ilk seviyeyi bile geçemedim
Soru, giriş 1 olduğunda çıkışı 0, 0 olduğunda ise Z durumuna getiren bir NMOS yapmaktı
Drain'i çıkışa, source'u GND'ye, gate'i ise girişe bağlamak gerekiyordu
Ama testlerin yarısı başarısız oldu. Sonradan fark ettim ki arka plandaki kalın gri çizgi tel gibi göründüğü için yanılmışım. Elle bağlantı çizgisi eklemek gerekiyormuş
Birkaç geri bildirimim var
Fikir iyi ama Turing Complete oynamış biri olarak ilk aşamaları atlayıp GPU'ya özgü kısma geçmek istedim
NAND'ı transistörlerle sezgisel olarak anlamak zor olduğu için bir zorluk duvarı hissi vardı
Zorluk dağılımı dengesiz ama easy mode fena değildi
Kapasitör refresh aşaması çok hızlıydı, klavyeyle yetişemedim
Kablolama karmaşıklaştığında okunabilirlik çok hızlı düşüyor ve renklerle ayırma ya da elle rota belirleme olmaması rahatsız ediciydi
Firefox'ta bağlantı noktalarını seçmek zor oluyordu, ayrıca fareyi kenara sürükleyerek ekranı kaydırma (pan) özelliği olsa iyi olurdu
“show solution” gerçek çözümden çok ipucu gibi. Daha fazla test case gösteren bir seçenek olsa iyi olurdu
Gerçekten harika bir fikir
Ama temel bilgim olmadığı için tutorial mesajlarını anlayamadım ve ilk seviyeden itibaren takıldım
3. seviyedeki NOT gate de hâlâ tam oturmadı. Yine de böyle bir 3-state devre bulmacası ilk kez görüyorum, bu yüzden taze hissettiriyor. Üzerine sevimli bir hikâye eklense Steam'de de karşılık bulabilir
Güzel bir fikir olduğu için HN Arcade'e ekledim
“10 kez denedikten sonra cevabı gösteren bir buton” gerekli
Böylece sorunun kendisinin mi bozuk olduğunu, yoksa benim mi yanlış yaptığımı ayırt edebilirim
Çıktıyı test etmek için geçici bir düğüm olsa iyi olurdu
Hatta daha da iyisi, test çalıştırmadan truth table'ın gerçek zamanlı güncellenmesi öğrenmeye yardımcı olabilir
Öğrenme amacıyla kısaltmaların (nmos, pmos, gnd, vdd) en az bir kez açılarak açıklanması iyi olurdu
Arayüz temiz ve eğitim tarafında iyi bir boşluğu dolduruyor
Ama kısaltmaları açmak bile sezgisel olmayabilir, o yüzden çok büyük fayda sağlamayabilir
Geçici bir düzeltme yaptım ama daha polished bir sürümle yeniden eklemeyi planlıyorum. İsteyenlerin isteğe bağlı görebileceği şekilde yapacağım
Harika bir oyun. Öğrenme açısından her seviyeyi geçtikten sonra örnek çözüm ya da açıklama görmek iyi olurdu