वर्चुअल मशीन क्या है?
- वर्चुअल मशीन (VM) एक ऐसा प्रोग्राम है जो कंप्यूटर की तरह काम करता है। यह CPU और कुछ हार्डवेयर कॉम्पोनेंट्स को simulate करता है, ताकि arithmetic operations कर सके, memory में पढ़-लिख सके, और I/O devices के साथ interact कर सके।
- VM किसी खास कंप्यूटर के व्यवहार को दोहराने या software development को आसान बनाने के लिए बनाया जाता है।
- Java Virtual Machine (JVM) इसका एक सफल उदाहरण है, जो Java, Kotlin, Clojure प्रोग्राम्स को अलग-अलग डिवाइसेज़ पर चलाने में सक्षम बनाता है।
LC-3 आर्किटेक्चर
- LC-3 एक शैक्षिक computer architecture है, जो आधुनिक CPU में इस्तेमाल होने वाले प्रमुख concepts को दिखाता है।
- LC-3 में 65,536 memory locations होती हैं, और हर location में 16-bit value store होती है।
- इसमें 10 registers होते हैं, जिनमें 8 general-purpose registers, 1 program counter (PC), और 1 condition flag (COND) register होता है।
निर्देश सेट
- निर्देश वे commands हैं जो CPU को बुनियादी काम करने के लिए निर्देशित करते हैं।
- LC-3 में 16 opcodes होते हैं, और हर instruction 16-bit लंबी होती है।
- एक instruction opcode और उस काम के लिए जरूरी parameters से मिलकर बनती है।
condition flag
- R_COND register हाल की calculation के sign को दिखाने वाले condition flags को store करता है।
- LC-3 calculation result के sign को दिखाने के लिए 3 condition flags का उपयोग करता है।
प्रोग्राम निष्पादन
- प्रोग्राम memory से instructions load करता है, PC register को बढ़ाता है, opcode को जांचता है, और instruction को execute करता है।
- instructions PC को बदलकर execution flow को control कर सकती हैं।
निर्देश कार्यान्वयन
- ADD instruction दो numbers को जोड़ता है और result को register में store करता है।
- LDI instruction memory से value load करके register में store करता है।
- हर instruction को specification के अनुसार implement करना होता है, और flags को update करना होता है।
trap routines
- LC-3 keyboard input, string output जैसी सामान्य operations के लिए trap routines प्रदान करता है।
- हर trap routine को एक trap code से पहचाना जाता है, और उसे TRAP instruction से execute किया जाता है।
- trap routines C में लिखी जाती हैं, और OS की I/O routines का उपयोग करके VM की performance को बेहतर बनाती हैं।
1 टिप्पणियां
Hacker News राय
एक उपयोगकर्ता ने community college में कंप्यूटर साइंस की शुरुआती कक्षा लेते हुए एक सरल CPU instruction set डिज़ाइन किया, VM और assembler लिखा, और assembly प्रोग्राम चलाने का अनुभव प्राप्त किया। इस प्रक्रिया ने उसे कंप्यूटर के बारे में बहुत कुछ समझने में मदद की
Ben Eater की breadboard CPU series देखने के बाद, किसी ने अपनी खुद की CPU डिज़ाइन और emulate करने की इच्छा जताई
सुझाई गई किताबों की सूची:
यह राय भी थी कि Brookshear Machine और Little Computer जैसी शैक्षिक architecture वास्तविक प्रणालियों से अलग हैं और छात्रों को विकृत समझ दे सकती हैं
यह भी राय थी कि आजकल "Virtual Machine" शब्द आम तौर पर उस environment के लिए इस्तेमाल होता है जो hardware virtualization features का उपयोग करता है