14 puan yazan GN⁺ 25 일 전 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 25 일 전
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 enable kapısı yok ama 2.7(1T1C)'de bunu doğrudan transistörle yapmak gerekiyor
    Ama şu anda primitive'lerde zaten bir enable kapısı var, bu da NMOS kapısını gereksiz hale getiriyor
    Acaba bunu LLM yardımıyla mı yaptığınızı merak ettim. Özellikle UI'ı bu kadar iyi ortaya çıkaran iş akışı etkileyiciydi

    • Kapasitör hatasını görmedim ama 2.4 aşamasında enable kapısını ekledim. Simülasyon sistemi yapısı gereği gerekliydi
      Kapasitö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
    • truth tables sırası ters. Önce kavramları öğrenip sonra quiz görmek gerekirken şu anda tam tersi
      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

    • Ben de bu oyunu gerçekten seviyorum. Geliştiricilerin hâlâ aktif olup olmadığını bilen var mı?
  • 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ş

    • Benim de bu alanda hiç deneyimim yok ama aynı şekilde başarısız oldum
    • Sanırım arka plan rengi tel gibi göründüğü için böyle oluyor. Bunu renk temasıyla düzelteceğim
    • Acaba şu anda yazılım tarafına mı geçtiğinizi merak ettim
  • 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

    • Geri bildirim için teşekkürler. Aslında Act 0'da PMOS/NMOS'un temel fiziği ve mantığını anlatıyordum ama UI'ı beğenmediğim için kaldırdım. Yeniden ekleyeceğim
    • Ben de aynı durumdaydım. Turing Complete ve Zachtronics oyunlarını seviyorum ama 3-state mantığı ilk kez görüyorum
      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

    • Teşekkürler!
  • “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

    • İyi öneri. Bir sonraki güncellemede ekleyeceğim. O zamana kadar copy circuit butonuyla devreyi kopyalayıp GPT'ye doğrulatabilirsiniz. Bu arada hangi seviye olduğunu söyleyebilir misiniz?
  • Çı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

    • Bunu bilgi kutusuna eklersek istenildiğinde tıklayıp görülebilir gibi duruyor
      Ama kısaltmaları açmak bile sezgisel olmayabilir, o yüzden çok büyük fayda sağlamayabilir
    • Aslında Arc 0'da bu temel kavramları ayrıntılı ele alıyordum ama UI sorunları yüzünden kaldırdım
      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

    • Bu özelliği eklemeyi planlıyorum. Gemini devre yapısını analiz edip geri bildirim verecek, ayrıca dinamik ipuçları da sunacak