- ट्रांजिस्टर से GPU तक पूरे computing stack को चरण-दर-चरण बनाते हुए सीखने वाला simulation-आधारित गेम
- हर चरण ACT के रूप में बना है, जो ट्रांजिस्टर·logic gate·ALU·processor·GPU·shader के क्रम में आगे बढ़ता है
- ACT 1 में NMOS·PMOS का उपयोग करके बुनियादी logic gate बनाए जाते हैं, और ACT 2 में इन्हें विस्तार देकर ALU और processor core पूरा किया जाता है
- इसके बाद के software·GPU·shader भाग अभी COMING SOON स्थिति में विकासाधीन हैं
- यह hardware design और programming, दोनों का एकीकृत अनुभव देने वाला शैक्षिक इंटरैक्टिव प्रोजेक्ट है
Mvidia गेम का अवलोकन
- Mvidia एक इंटरैक्टिव लर्निंग गेम है, जिसमें उपयोगकर्ता GPU को खुद डिज़ाइन और निर्मित करने की प्रक्रिया को चरण-दर-चरण अनुभव करते हैं
- गेम की संरचना ट्रांजिस्टर से शुरू होकर logic gate, ALU, processor, GPU तक विकसित होती है
- हर चरण को ‘ACT’ में विभाजित किया गया है, और प्रत्येक ACT कई सीखने और implementation कार्यों से मिलकर बना है
- प्रगति की स्थिति completion rate (जैसे 0/10 COMPLETED) के रूप में दिखाई जाती है, जिससे सीखने की प्रगति को दृश्य रूप से देखा जा सकता है
ACT 1: पहला दिन (YOUR FIRST DAY)
- विषय है Transistors → Logic Gates, यानी ट्रांजिस्टर का उपयोग करके बुनियादी logic gate बनाने का चरण
- मुख्य कार्य संरचना
- 1.1 The Switch: NMOS को switch की तरह उपयोग करना
- 1.2 The Other Switch: PMOS को switch की तरह उपयोग करना
- 1.3 Two Halves: NMOS और PMOS का संयोजन
- 1.4 NAND It: NAND gate बनाना
- 1.5 The Dual: logic gate की जोड़ी बनाना
- 1.6 Truth Tables: truth table तैयार करना
- 1.7 AND Gate, 1.8 OR Gate, 1.9 XOR Gate: बुनियादी gate implement करना
- 1.10 Choose Wisely: तीन gate को मिलाकर selection structure पूरा करना
- ACT 1 पूरा होने पर ACT 2: THE CORE अनलॉक होता है
ACT 2: कोर (THE CORE)
- विषय है Gates → ALU → Processor, यानी logic gate की मदद से arithmetic logic unit (ALU) और processor बनाने का चरण
- कुल 34 विस्तृत कार्यों से बना है, और हर कार्य पिछले चरण के परिणामों पर आधारित होकर आगे बढ़ता है
- मुख्य चरण
- 2.1 Half Adder, 2.5 Full Adder: addition circuit बनाना
- 2.3 The Decoder, 2.25 Register File: data selection और storage structure डिज़ाइन करना
- 2.4 The Capacitor, 2.7 1T1C, 2.12 The Sense Amp, 2.17 The Array: memory cell और sense amplifier बनाना
- 2.10 Adding Bytes, 2.13 Hex Racer, 2.15 Bit Twiddling: byte-स्तर की operations का विस्तार
- 2.20 Edge Trigger, 2.21 Refresh, 2.31 Refresh Controller: clock और memory refresh control
- 2.27 The ALU, 2.30 Fetch, Decode, Execute, 2.32 The Mvidia Core: processor की मुख्य संरचना पूरी करना
- 2.33 DRAM Memory, 2.34 Mvidia Core v2: DRAM-आधारित विस्तार और core upgrade
- ACT 2 पूरा होने पर ACT 3: THE SOFTWARE अनलॉक होता है
ACT 3: सॉफ्टवेयर (THE SOFTWARE)
- विषय है Programming the Processor, यानी पूर्ण हुए processor को program करने का चरण
- यह अभी COMING SOON स्थिति में है, और विस्तृत कार्य सामग्री अभी सार्वजनिक नहीं की गई है
ACT 4: GPU (THE GPU)
- विषय है Building a Graphics Processor, यानी graphics processor बनाने का चरण
- यह अभी COMING SOON स्थिति में है, और आगे GPU architecture design से जुड़े कार्य जोड़े जाने वाले हैं
ACT 5: शेडर (THE SHADER)
- विषय है Programming the GPU, यानी GPU का उपयोग करके shader programming करने का चरण
- यह अभी COMING SOON है, और आगे GPU programming सीखने की सामग्री के रूप में विस्तारित किया जाएगा
1 टिप्पणियां
Hacker News की टिप्पणियाँ
यह सच में एक शानदार प्रोजेक्ट है
बस truth tables वाले चरण में बहुत से डुप्लिकेट सवाल थे, और पहले सवाल के लिए समय सीमा सिर्फ 1 सेकंड थी
capacitor वाला हिस्सा भी उलझाऊ था। capacitor में ‘enable’ gate नहीं होता, लेकिन 2.7(1T1C) में इसे transistor से सीधे बनाना चाहिए
लेकिन अभी primitive में पहले से enable gate है, इसलिए NMOS gate की ज़रूरत ही नहीं रह जाती
सोच रहा हूँ क्या यह LLM की मदद लेकर बनाया गया है। खासकर UI को इतने अच्छे तरीके से बनाने वाला workflow काफ़ी प्रभावशाली लगा
capacitor implementation को लेकर शुरू से काफ़ी सोच-विचार था। simulation system के अनुरूप एक पूरा capacitor model बनाना मुश्किल था
truth tables bug को ठीक करने वाला हूँ। stars केवल endless mode में खेलकर मिलते हैं
development के दौरान Claude का काफ़ी इस्तेमाल किया। wiring और simulation वाला हिस्सा कठिन था, लेकिन graphics को बारीकी से निर्देश देकर पूरा किया
NAND, NOR, Inverter की परिभाषाएँ quiz के बाद सिखाई जाती हैं। क्रम बदलना अच्छा रहेगा
और timer बहुत छोटा है। मुझे सब सवाल पता होने के बावजूद समय के भीतर input करना मुश्किल था। timer पूरी तरह हटाने पर भी विचार किया जा सकता है
अगर यह गेम पसंद आया हो तो Turing Complete भी सुझाऊँगा
आखिर में आप अपना खुद का CPU और assembly language बना सकते हैं। हालाँकि यह अभी भी Early Access में है और काफ़ी समय से रुका हुआ है
मैंने 10 साल से ज़्यादा mixed-signal IC design किया है, फिर भी पहला level पार नहीं कर पाया
सवाल था कि NMOS को ऐसा बनाओ कि input 1 होने पर output 0 हो, और 0 होने पर Z state हो
drain को output से, source को GND से, और gate को input से जोड़ना था
लेकिन आधे tests fail हो गए। बाद में समझ आया कि background की मोटी धूसर रेखा wire जैसी दिखी, इसलिए भ्रम हुआ। अलग से connection line जोड़नी पड़ती है
कुछ feedback है
idea अच्छा है, लेकिन Turing Complete खेल चुके व्यक्ति के नाते मैं शुरुआती चरण छोड़कर GPU-specific हिस्से तक पहुँचना चाहता था
transistor से NAND को सहज रूप से समझना कठिन लगा, इसलिए difficulty wall जैसा महसूस हुआ
difficulty का उतार-चढ़ाव बड़ा है, लेकिन easy mode ठीक था
capacitor refresh चरण बहुत तेज़ था, इसलिए keyboard input साथ नहीं दे पा रहा था
wiring जटिल होने पर readability बहुत तेज़ी से गिरती है, और color distinction या manual path setting न होने की बात असुविधाजनक लगी
Firefox में connection point चुनना ठीक से काम नहीं कर रहा था, और mouse edge drag से screen pan हो पाता तो अच्छा होता
“show solution” असली समाधान से ज़्यादा hint जैसा है। अगर और test cases दिखाने का option हो तो अच्छा रहेगा
यह वाकई शानदार विचार है
लेकिन बुनियादी ज्ञान की कमी के कारण मैं tutorial messages समझ नहीं पाया और पहले level से ही अटक गया
level 3 का NOT gate भी अभी पूरी तरह समझ नहीं आया। फिर भी इस तरह की 3-state circuit puzzle पहली बार देख रहा हूँ, इसलिए ताज़गी लगती है। अगर ऊपर एक प्यारी-सी story जोड़ दी जाए तो Steam पर भी चल सकती है
idea अच्छा लगा, इसलिए इसे HN Arcade में जोड़ दिया
“10 बार कोशिश करने पर भी न हो तो जवाब दिखाने वाला बटन” होना चाहिए
तभी पता चलेगा कि सवाल ही टूटा हुआ है या गलती मेरी है
output test के लिए temporary node होना अच्छा रहेगा
इससे आगे बढ़कर, test run किए बिना भी अगर truth table real time में update हो तो सीखने में मदद मिल सकती है
learning के लिए abbreviations (nmos, pmos, gnd, vdd) को कम-से-कम एक बार पूरा खोलकर समझा देना अच्छा होगा
interface साफ़-सुथरा है और educational niche को अच्छी तरह भरता है
हालाँकि abbreviations खोलकर बताने पर भी वे बहुत intuitive नहीं लगते, इसलिए शायद ज़्यादा मदद न मिले
अस्थायी सुधार किया है, लेकिन polished version के रूप में फिर से जोड़ूँगा। इसे optional view के रूप में बनाऊँगा
शानदार गेम है। learning के लिए हर level clear करने के बाद model answer या explanation देखना अच्छा होगा