14 Punkte von GN⁺ 25 일 전 | 1 Kommentare | Auf WhatsApp teilen
  • Ein simulationsbasiertes Spiel, in dem man den gesamten Computing-Stack vom Transistor bis zur GPU Schritt für Schritt aufbaut und dabei lernt
  • Jede Phase ist in ACTs gegliedert und entwickelt sich von Transistoren über Logikgatter, ALU, Prozessor, GPU bis hin zu Shadern
  • In ACT 1 erstellt man mit NMOS und PMOS grundlegende Logikgatter, in ACT 2 wird dies erweitert, um eine ALU und einen Prozessorkern zu vervollständigen
  • Die späteren Teile Software, GPU und Shader befinden sich derzeit noch im Status COMING SOON und sind in Entwicklung
  • Ein pädagogisches interaktives Projekt, das Hardware-Design und Programmierung ganzheitlich erfahrbar macht

Überblick über das Spiel Mvidia

  • Mvidia ist ein interaktives Lernspiel, in dem Nutzer den Prozess des direkten Entwerfens und Aufbaus einer GPU Schritt für Schritt erleben
  • Das Spiel beginnt bei Transistoren und entwickelt sich über Logikgatter, ALU, Prozessor und GPU weiter
  • Jede Phase ist in „ACTs“ unterteilt, und jeder ACT besteht aus mehreren Lern- und Umsetzungsaufgaben
  • Der Fortschritt wird als Abschlussquote (z. B. 0/10 COMPLETED) angezeigt, sodass der Lernfortschritt visuell nachvollziehbar ist

ACT 1: Der erste Tag (YOUR FIRST DAY)

  • Das Thema ist Transistors → Logic Gates: In dieser Phase werden mit Transistoren grundlegende Logikgatter aufgebaut
  • Wichtige Aufgaben
    • 1.1 The Switch: Verwendung von NMOS als Schalter
    • 1.2 The Other Switch: Verwendung von PMOS als Schalter
    • 1.3 Two Halves: Kombination von NMOS und PMOS
    • 1.4 NAND It: Aufbau eines NAND-Gatters
    • 1.5 The Dual: Aufbau eines Paars von Logikgattern
    • 1.6 Truth Tables: Erstellen von Wahrheitstabellen
    • 1.7 AND Gate, 1.8 OR Gate, 1.9 XOR Gate: Implementierung grundlegender Gatter
    • 1.10 Choose Wisely: Vollendung einer Auswahlstruktur durch Kombination von drei Gattern
  • Nach Abschluss von ACT 1 wird ACT 2: THE CORE freigeschaltet

ACT 2: Der Kern (THE CORE)

  • Das Thema ist Gates → ALU → Processor: In dieser Phase werden mit Logikgattern eine arithmetisch-logische Einheit (ALU) und ein Prozessor aufgebaut
  • Sie besteht aus insgesamt 34 Detailaufgaben, wobei jede Aufgabe auf den Ergebnissen der vorherigen Schritte aufbaut
  • Wichtige Phasen
    • 2.1 Half Adder, 2.5 Full Adder: Aufbau von Addierschaltungen
    • 2.3 The Decoder, 2.25 Register File: Entwurf von Strukturen zur Datenauswahl und -speicherung
    • 2.4 The Capacitor, 2.7 1T1C, 2.12 The Sense Amp, 2.17 The Array: Aufbau von Speicherzellen und Sense Amplifiern
    • 2.10 Adding Bytes, 2.13 Hex Racer, 2.15 Bit Twiddling: Erweiterung auf Operationen auf Byte-Ebene
    • 2.20 Edge Trigger, 2.21 Refresh, 2.31 Refresh Controller: Steuerung von Takt und Speicherauffrischung
    • 2.27 The ALU, 2.30 Fetch, Decode, Execute, 2.32 The Mvidia Core: Vollendung der zentralen Prozessorstruktur
    • 2.33 DRAM Memory, 2.34 Mvidia Core v2: DRAM-basierte Erweiterung und Upgrade des Kerns
  • Nach Abschluss von ACT 2 wird ACT 3: THE SOFTWARE freigeschaltet

ACT 3: Die Software (THE SOFTWARE)

  • Das Thema ist Programming the Processor: In dieser Phase wird der fertiggestellte Prozessor programmiert
  • Der Bereich befindet sich derzeit im Status COMING SOON; konkrete Aufgaben wurden noch nicht veröffentlicht

ACT 4: GPU (THE GPU)

  • Das Thema ist Building a Graphics Processor: In dieser Phase wird ein Grafikprozessor aufgebaut
  • Der Bereich ist derzeit COMING SOON; künftig sollen Aufgaben zur Architektur und zum Entwurf einer GPU ergänzt werden

ACT 5: Der Shader (THE SHADER)

  • Das Thema ist Programming the GPU: Shader-Programmierung mit der GPU
  • Der Bereich ist derzeit COMING SOON und soll später um Lerninhalte zur GPU-Programmierung erweitert werden

1 Kommentare

 
GN⁺ 25 일 전
Hacker-News-Kommentare
  • Wirklich ein großartiges Projekt
    Allerdings gab es in der truth tables-Phase viele doppelte Aufgaben, und für die erste Aufgabe hatte man nur 1 Sekunde Zeit
    Der Teil mit den Kondensatoren war ebenfalls verwirrend. Kondensatoren haben kein enable-Gate, aber in 2.7 (1T1C) muss man es direkt mit einem Transistor bauen
    Im Moment gibt es jedoch bereits ein enable-Gate unter den Primitives, sodass das NMOS-Gate überflüssig wird
    Ich frage mich, ob das mit LLM-Hilfe gebaut wurde. Besonders der Workflow, mit dem die UI so gut umgesetzt wurde, war beeindruckend

    • Den Kondensator-Bug habe ich nicht gesehen, aber ich habe in Stufe 2.4 ein enable-Gate hinzugefügt. Das war aufgrund der Struktur des Simulationssystems nötig
      Die Implementierung des Kondensators war von Anfang an ein ziemlicher Knackpunkt. Es war schwierig, ein vollständiges Kondensatormodell passend zum Simulationssystem zu bauen
      Den truth-tables-Bug werde ich beheben. Sterne bekommt man, wenn man im endless mode spielt
      Im Entwicklungsprozess habe ich Claude viel verwendet. Die Verdrahtung und der Simulationsteil waren schwierig, aber die Grafik wurde mit sehr detaillierten Anweisungen fertiggestellt
    • Die Reihenfolge der truth tables ist umgekehrt. Man sollte erst das Konzept lernen und danach das Quiz machen, aber aktuell ist es andersherum
      Die Definitionen von NAND, NOR und Inverter lernt man erst nach dem Quiz. Es wäre gut, die Reihenfolge zu ändern
      Außerdem ist der Timer viel zu kurz. Selbst ich, obwohl ich alle Aufgaben kenne, konnte die Eingaben kaum rechtzeitig machen. Man könnte auch erwägen, den Timer ganz zu entfernen
  • Wenn dir dieses Spiel gefällt, kann ich auch Turing Complete empfehlen
    Am Ende kann man seine eigene CPU und Assemblersprache bauen. Allerdings steckt es noch im Early Access fest und bewegt sich schon lange kaum weiter

    • Ich liebe dieses Spiel auch wirklich. Weiß jemand, ob die Entwickler noch aktiv sind?
  • Ich habe über 10 Jahre lang mixed-signal ICs entworfen und bin nicht einmal durch das erste Level gekommen
    Die Aufgabe war, ein NMOS so zu bauen, dass bei Eingabe 1 die Ausgabe 0 ist und bei 0 im Z-Zustand bleibt
    Man musste den Drain mit dem Ausgang, die Source mit GND und das Gate mit dem Eingang verbinden
    Trotzdem schlug die Hälfte der Tests fehl. Später merkte ich, dass ich die dicken grauen Linien im Hintergrund für Drähte gehalten hatte. Man muss die Verbindungsleitungen selbst hinzufügen

    • Ich hatte auch überhaupt keine entsprechende Erfahrung und bin genau daran gescheitert
    • Das lag wahrscheinlich daran, dass die Hintergrundfarbe wie Drähte aussah. Ich werde das mit einem anderen Farbschema korrigieren
    • Ich frage mich, ob du inzwischen in die Software gewechselt bist
  • Ich habe ein paar Feedback-Punkte
    Die Idee ist gut, aber nachdem ich Turing Complete gespielt habe, wollte ich die frühen Stufen überspringen und direkt zu den GPU-spezifischen Teilen gehen
    NAND intuitiv über Transistoren zu verstehen war schwierig, daher fühlte es sich nach einer echten Einstiegshürde an
    Die Schwierigkeit schwankt stark, aber der easy mode war in Ordnung
    Die Kondensator-Refresh-Stufe war so schnell, dass meine Tastatureingaben nicht hinterherkamen
    Wenn die Verdrahtung komplexer wird, leidet die Lesbarkeit sehr stark, und es war unpraktisch, dass es weder farbliche Unterscheidung noch manuelle Routenführung gibt
    In Firefox ließ sich der Verbindungspunkt nicht gut auswählen, und es wäre gut, wenn man den Bildschirm verschieben (pan) könnte, indem man am Rand mit der Maus zieht
    „show solution“ ist eher ein Hinweis als eine tatsächliche Lösung. Es wäre gut, eine Option zu haben, mehr Testfälle anzuzeigen

  • Wirklich eine großartige Idee
    Aber mir fehlte das Grundwissen, sodass ich die Tutorial-Nachrichten nicht verstehen konnte und schon im ersten Level hängen blieb

    • Danke für das Feedback. Ursprünglich wurden in Act 0 die grundlegende Physik und die Prinzipien von PMOS/NMOS erklärt, aber ich mochte die UI nicht und habe es entfernt. Ich werde es wieder hinzufügen
    • Bei mir war es genauso. Ich mag Turing Complete und die Zachtronics-Spiele, aber 3-State-Logik habe ich zum ersten Mal gesehen
      Selbst beim NOT-Gate in Level 3 habe ich noch kein richtiges Gefühl dafür. Trotzdem ist diese Art von 3-State-Schaltungspuzzle neu für mich und wirkt frisch. Mit einer niedlichen Story könnte es auch auf Steam funktionieren
  • Es ist eine gute Idee, deshalb habe ich es zu HN Arcade hinzugefügt

    • Danke!
  • Es braucht einen Button nach dem Motto „Wenn es nach 10 Versuchen nicht klappt, zeig mir die Antwort“
    So kann man unterscheiden, ob die Aufgabe selbst kaputt ist oder ob ich etwas falsch gemacht habe

    • Gute Idee. Ich werde das im nächsten Update hinzufügen. Bis dahin kann man den Schaltkreis auch mit dem copy circuit-Button kopieren und von GPT prüfen lassen. Kannst du mir sagen, welches Level das war?
  • Es wäre gut, temporäre Knoten zum Testen der Ausgaben zu haben
    Noch besser wäre es, wenn sich die truth table in Echtzeit aktualisieren würde, ohne dass man den Test erst starten muss

  • Zum Lernen wäre es gut, Abkürzungen (nmos, pmos, gnd, vdd) wenigstens einmal ausgeschrieben zu erklären
    Die Oberfläche ist sauber und füllt eine gute Nische für Lernzwecke

    • Man könnte das in ein Infofeld packen, das man jederzeit anklicken kann
      Allerdings sind die Begriffe selbst ausgeschrieben nicht unbedingt intuitiv, daher hilft das vielleicht auch nicht allzu sehr
    • Ursprünglich wurde in Arc 0 ausführlich auf solche Grundkonzepte eingegangen, aber das wurde wegen UI-Problemen entfernt
      Es gab eine Zwischenlösung, aber ich werde eine polished Version wieder hinzufügen. Ich mache es optional einblendbar
  • Ein hervorragendes Spiel. Zum Lernen wäre es gut, wenn man nach Abschluss jedes Levels Musterlösungen oder Erklärungen ansehen könnte

    • Ich plane, diese Funktion hinzuzufügen. Gemini soll dann den Schaltungsaufbau analysieren und Feedback geben sowie dynamische Hinweise bereitstellen