माइक्रो सिम

माइक्रोसिम माइक्रोसॉफ़्ट विंडोज़ ऑपरेटिंग सिस्टम पर चलने वाली वर्चुअल सेंट्रल प्रोसेसिंग यूनिट के सामान्य कामकाज और व्यवहार के हार्डवेयर-गैर-विशिष्ट स्पष्टीकरण के लिए एक शैक्षिक सॉफ्टवेयर कंप्यूटर प्रोग्राम है। माइक्रो निर्देश समुच्चयकंप्यूटर साइंस) (माइक्रोकोड) के अनुक्रमों द्वारा नियंत्रित एक स्थानांतरण स्तर दर्ज करें पर कस्टम-विकसित निर्देश (कंप्यूटर विज्ञान) पर लघु कैलकुलेटर, microcontroller, सेंट्रल प्रोसेसिंग यूनिट और कंप्यूटर प्रौद्योगिकी जैसे उपकरणों को समझाया जा सकता है। इसके आधार पर अमूर्तन के उच्च स्तर पर वर्चुअल एप्लिकेशन बोर्ड को नियंत्रित करने के लिए एक निर्देश सेट विकसित करना संभव है।

सामान्य
प्रारंभ में MikroSim को एक प्रोसेसर सिमुलेशन सॉफ़्टवेयर के रूप में विकसित किया गया था जो शैक्षिक क्षेत्रों में व्यापक रूप से उपलब्ध हो। चूंकि MikroSim संचालन क्षमता माइक्रोकोड विकास के आधार पर शुरू होती है, जिसे एक आभासी नियंत्रण इकाई के लिए सूक्ष्म निर्देशों (माइक्रोकोडिंग) के अनुक्रम के रूप में परिभाषित किया जाता है, सॉफ्टवेयर का इरादा सीपीयू सिमुलेटर और निर्देश की क्षमता सहित विभिन्न स्तरों के सार के साथ एक माइक्रोकोड सिम्युलेटर के पहले दृष्टिकोण पर है। एमुलेटर सेट करें। वर्तमान सॉफ़्टवेयर संशोधन में माइक्रोकोड नियंत्रित वर्चुअल एप्लिकेशन के लिए स्वयं के कोडित निर्देश सेट पर काम करना संभव है। माइक्रोसिम के साथ कंप्यूटर आर्किटेक्चर और निर्देश सेट वास्तुकला जैसे कंप्यूटर इंजीनियरिंग के क्षेत्र में विशिष्ट और प्रसिद्ध अवधारणाएं गैर-विशेष रूप से व्यवहार की जाती हैं, जो सूचना युग के शुरुआती दिनों से स्थापित हैं और अभी भी मान्य हैं। इस तरीके से सिमुलेशन सॉफ्टवेयर अतीत और भविष्य के विशेष विकासों पर प्रतिबंधित किए बिना एक कालातीत, मुक्त उपदेशात्मक लाभ प्राप्त करता है। जर्मन और अंग्रेजी में विस्तृत प्रलेखन और द्विभाषी एप्लिकेशन का ग्राफिकल यूजर इंटरफेस (GUI), साथ ही माइक्रोसॉफ्ट के ऑपरेटिंग सिस्टम विंडोज द्वारा कुछ हद तक सॉफ्टवेयर की ऊपर की ओर दी गई अनुकूलता, एक अच्छी तरह से स्थापित, मूल्यवान ई-लर्निंग टूल होने के कारण हैं। शैक्षिक उपयोग के लिए 1992 से कंप्यूटर इंजीनियरिंग का क्षेत्र।

विकास का इतिहास
सॉफ्टवेयर MS-DOS ऑपरेटिंग सिस्टम के लिए संकलित टर्बो पास्कल के तहत लिखे गए एक संस्करण पर आधारित है, जिसका उपयोग 1992 तक Marburg|Philipps-University Marburg (जर्मनी) में कंप्यूटर इंजीनियरिंग और कंप्यूटर विज्ञान में शैक्षिक उद्देश्यों के लिए किया गया है। अवधारणा थी 1992 की गर्मियों में भौतिक विज्ञान (1990-95) के अपने अध्ययन के दौरान मार्टिन पर्नर द्वारा उठाया गया, संशोधित किया गया, और Microsoft मूल दृश्य के साथ संकलित और विंडोज़ 3.1x पर चलने वाले विंडोज़ एप्लिकेशन में परिवर्तित किया गया। ऐसा करने में, इस समय माइक्रोकोड की संरचना और इसके निर्देशात्मक प्रभाव की पता लगाने की क्षमता का समर्थन करने के लिए एमएस विंडोज के जीयूआई की उपन्यास कार्यक्षमता और उपयोग का दोहन करके भारी वैचारिक सुधार के साथ एक सिम्युलेटर उत्पन्न हुआ। विंडोज के तहत ई-लर्निंग टूल के संवर्द्धन को 1995 के अंत तक हेंज-पीटर गम द्वारा मारबर्ग विश्वविद्यालय के फैचबेरिच मैथेमेटिक/इंफॉर्मेटिक द्वारा समर्थित और प्रचारित किया गया है।

नवंबर 1994 में हीडलबर्ग (जर्मनी) में कंप्यूटर विज्ञान श्रेणी में सिम्युलेटर को 'यूरोपीय शैक्षणिक सॉफ्टवेयर पुरस्कार 1994' से सम्मानित किया गया। मार्च 1995 में सिम्युलेटर को हनोवर में कंप्यूटर प्रदर्शनी CeBIT'95 में प्रस्तुत किया गया था। हेसिसचेन होशचुलेन। 1995 और 2000 के बीच सिम्युलेटर को बिना किसी महत्वपूर्ण सुधार के माइक्रोकोडसिम्युलेटर मिक्रोसिम 1.2 के रूप में प्रकाशित किया गया था। इस समय इस टूल को यूरोपीय संघ से यूरोपियन ईयर ऑफ लाइवलॉन्ग लर्निंग 1996 के संयोजन में 1000 ECU का पुरस्कार मिला। 1997 में, प्रदर्शनी  लर्नटेक'97 के संबंध में 'मल्टीमीडिया ट्रांसफर'97 प्रतियोगिता में सॉफ्टवेयर प्रस्तुत किया गया था। इसके अंतिम संशोधन में, सिम्युलेटर को माइक्रोकोडसिम्युलेटर मिक्रोसिम2000'' के तहत प्रकाशित किया गया है, जिसे एमएस विंडोज 95 के 32-बिट ऑपरेशन के लिए अनुकूलित किया गया है।

2008 और 2009 के बीच, सिम्युलेटर अवधारणा को संशोधित किया गया, फिर से काम किया गया और विचारशील विस्तार किया गया। इसलिए इसे कोर में माइक्रोकोड सिमुलेशन क्षमताओं के सफल वैचारिक पहलुओं को छुए बिना व्यापक सुधार और विस्तार प्राप्त हुआ है। इस उद्देश्य के लिए, ऑपरेटिंग सिस्टम द्वारा निर्धारित आज के कंप्यूटिंग सिस्टम के प्रदर्शन का लाभ उठाया जाता है और माइक्रोसिम की सिमुलेशन संभावनाओं को वर्चुअल एप्लिकेशन बोर्ड के चरण तक विस्तारित करने के लिए अंतर्निहित कम्प्यूटेशनल शक्ति। MikroSim को अप्रतिबंधित अनुकूलता और Microsoft Windows XP के लिए 32-बिट संस्करण के रूप में संभव व्यापक वितरण के लिए संकलित और अनुकूलित किया गया है। यह प्रोग्राम Microsoft Windows Vista और Microsoft Windows 7 के सभी 32- और 64-बिट ऑपरेटिंग सिस्टम पर चलता है। इस प्रकार, किसी विशेष XP संगतता मोड की आवश्यकता नहीं होती है। जनवरी 2010 से, सिम्युलेटर को 0/1-सिमवेयर द्वारा माइक्रोकोडसिम्युलेटर मिक्रोसिम 2010 के रूप में वितरित किया गया है।

कार्यक्षमता
विंडोज एप्लिकेशन वर्चुअल एप्लिकेशन की क्रमिक स्थापना के लिए अनुमति देता है जो पूर्व निर्धारित है और इसकी कार्यक्षमता में अपरिवर्तनीय है।

अन्वेषण मोड में, एक चक्र के भीतर एक माइक्रोकोड निर्देश से प्रभावित नए जोड़े गए घटकों के संचालन सिद्धांत और नियंत्रण का मूल्यांकन किया जा सकता है। माइक्रोसिम के सूक्ष्म निर्देशों की चौड़ाई 49 बिट्स है। 3-चरण घड़ी के तीन चरणों में एक एकल सूक्ष्म निर्देश निष्पादित किया जाता है। आंशिक चरणों को "GET", "CALCULATE" और "PUT" चरण के रूप में संदर्भित किया जाता है, जिससे 32-बिट गणना निष्पादित करने के लिए कुछ रजिस्टर मान प्राप्त होते हैं, और अंत में CPU के आंतरिक रजिस्टर में गणना परिणाम को संग्रहीत करने के लिए।

सिमुलेशन मोड में, निर्बाध रूप से निष्पादित सूक्ष्म निर्देश बाद के चक्रों में सिम्युलेटर की केंद्रीय प्रसंस्करण इकाई को नियंत्रित करते हैं। इसलिए, एक माइक्रो इंस्ट्रक्शन की आंतरिक क्षमता का उपयोग नियंत्रण की दुकान में अगले माइक्रो इंस्ट्रक्शन को संबोधित करने के लिए किया जाता है। माइक्रो इंस्ट्रक्शन सेट (आमतौर पर माइक्रोकोड के रूप में संदर्भित) रखने वाले कंट्रोल स्टोर में प्रत्येक 49-बिट चौड़े 1024 माइक्रो इंस्ट्रक्शन शब्द होते हैं।

माइक्रोकोड के एड्रेसेबल शेड्यूलिंग के लिए कंट्रोल स्टोर के स्ट्रक्चरिंग अवसरों का उपयोग करना और चक्रीय रूप से ऑपरेटिंग मशीन कोड दुभाषिया (कंप्यूटिंग) के कार्यान्वयन, जिसे माइक्रोकोड में प्रोग्राम किया गया है, साथ ही व्यक्तिगत माइक्रो आपरेशन अनुक्रमों के कार्यान्वयन की अनुमति देता है, जिसे मशीन निर्देश के रूप में जाना जाता है। माइक्रोकोड को माइक्रोसिम के लिए फर्मवेयर माना जा सकता है, जिसे संशोधित किया जा सकता है, और माइक्रोकोड-रोम-फाइल में संग्रहीत और पुनः लोड किया जा सकता है।

एक माइक्रो इंस्ट्रक्शन एक्जीक्यूशन साइकिल के भीतर, सीपीयू के साथ-साथ एक इनपुट/आउटपुट कंट्रोलर एक बाहरी 16 kByte विशाल रैंडम एक्सेस मेमोरी डिवाइस (RAM) से जुड़ा होता है। इनपुट-आउटपुट कंट्रोलर डिवाइस के माध्यम से, वर्चुअल इनपुट और आउटपुट डिवाइस के साथ संचार प्रत्यक्ष मेमोरी एक्सेस मोड (DMA), इंटर-इंटीग्रेटेड सर्किट कनेक्शन (I2C), और बाधा डालना रिक्वेस्ट फंक्शनलिटी (IRQ) द्वारा समर्थित है। एक आउटपुट पोर्ट, एक डिस्प्ले, एक टाइमर, एक इवेंट ट्रिगर, एक डिजिटल-एनालॉग कन्वर्टर, एक कीबोर्ड और डेटा इनपुट/आउटपुट चैनल वर्चुअल आईसी डिवाइस के रूप में प्रदान किया जाता है ताकि बाह्य उपकरणों के साथ संचार को व्यावहारिक रूप से समझाया जा सके।

माइक्रोकोड सिम्युलेटर 32-बिट अंकगणितीय तर्क इकाई (एएलयू) से जुड़े प्रत्येक 32-बिट चौड़े आठ स्वतंत्र रूप से प्रयोग करने योग्य रजिस्टर का उपयोग करता है। रजिस्टर सामग्री को हस्ताक्षरित या अहस्ताक्षरित पूर्णांक मान या 32-बिट तैरनेवाला स्थल नंबर के रूप में माना जा सकता है। रजिस्टर सामग्री को आसानी से देखा जा सकता है, व्याख्या की जा सकती है, और एक एकीकृत सिस्टम नंबर संपादक को बिटवाइज संशोधित किया जा सकता है।

32-बिट ALU सेंट्रल प्रोसेसिंग यूनिट की प्रमुख इकाई है। यह पूर्णांक ऑपरेशन, इंटरप्ट कंट्रोल और फ्लोटिंग पॉइंट अंकगणित के लिए 128 विभिन्न बुनियादी अंकगणितीय संचालन का समर्थन करता है।

फ्लोटिंग पॉइंट गणनाओं के लिए उपदेशात्मक दृष्टिकोण, जिसे कोनराड ज़्यूस द्वारा 1940 के दशक की शुरुआत में पहले से ही एक तुलनीय तरीके से पेश किया गया है, जोड़/घटाव और गुणन/विभाजन के प्रमुख संचालन में शामिल एक्सपोनेंट और मंटिसा के लिए एलिमेंटल सबलेवल ऑपरेशंस का उपयोग करके पेश किया गया है। मंटिसा में शक्तिशाली 32-बिट फ्लोटिंग पॉइंट अंकगणितीय कमांड का एक सेट और बुनियादी संचालन और प्राथमिक विश्लेषणात्मक कार्यों के लिए प्रतिपादक प्रदान किया जाता है, जैसा कि वे आज के गणितीय सहसंसाधकों में महसूस किए जाते हैं। यहां, मिक्रोसिम के साथ सिमुलेशन में यह आदर्श रूप से माना जाता है कि प्रत्येक समर्थित एएलयू अंकगणितीय ऑपरेशन के निष्पादन के लिए अभ्यास में वास्तविक रूप से आवश्यक सर्किट जटिलता से स्वतंत्र केवल एक अलग कंप्यूटिंग अवधि की आवश्यकता होती है।

सूक्ष्म निर्देशों का निष्पादन विभिन्न सिमुलेशन स्तरों पर विभिन्न अस्थायी संकल्प के साथ संचालित किया जा सकता है:
 * सबसे कम सिमुलेशन स्तर में, सिम्युलेटर GET, CALCULATE और PUT चरण के चरणबद्ध निष्पादन का समर्थन करता है। बेहतर पता लगाने की क्षमता के लिए एक समायोज्य देरी के साथ आंशिक चरणों का प्रसंस्करण संभव है।
 * अगले ऊपरी स्तर में, वर्तमान माइक्रो इंस्ट्रक्शन को एक पूर्ण थ्रू में निष्पादित किया जाता हैबिना समय की देरी के ई-चरण घड़ी। तथाकथित "लोड वृद्धि निष्पादन" (एलआईई) चक्र के भीतर कई 3-चरण घड़ी चक्रों का निरंतर निष्पादन समर्थित है। एलआईई चक्र को माइक्रोकोड में लिखे गए दुभाषिया के रूप में माना जाता है, इसमें बाहरी रैम से बाइट मान के रूप में कोडित मशीन निर्देशों को लोड करने का कार्य होता है और ओपकोड द्वारा दिए गए निष्पादन के लिए संदर्भित माइक्रोकोड सबरूटीन को सूक्ष्म निर्देश अनुक्रम को शाखा देने और एलआईई वापस लौटने के लिए कार्य करता है। अगले मशीन निर्देश को पुनः प्राप्त करने के लिए।
 * एक निष्पादन स्तर उच्च, कई मशीन निर्देशों का एक क्रम तब तक निष्पादन योग्य होता है जब तक कि उपयोगकर्ता द्वारा परिभाषित ब्रेक पॉइंट तक नहीं पहुंच जाता है, जिसे मशीन कोड अनुक्रम में रखा जाता है। ब्रेक पॉइंट्स के बीच रन टाइम को मापना संभव है। इसलिए मशीन और माइक्रोकोड स्तर पर निष्पादन प्रदर्शन को बेंचमार्क करना संभव है।
 * सबसे शीर्ष सिमुलेशन स्तर में माइक्रोकोड सिम्युलेटर बिना किसी रुकावट के सूक्ष्म निर्देशों को लगातार निष्पादित करता है। इस लेवल में मशीन इंस्ट्रक्शन द्वारा मशीन इंस्ट्रक्शन को लोड किया जाता है। इसलिए, बाहरी उपकरणों के साथ सीपीयू की बातचीत पर ध्यान देना संभव है।

विभिन्न अतिरिक्त विकल्पों के साथ, मशीन प्रोग्रामिंग द्वारा एप्लिकेशन के नियंत्रण को आगे बढ़ाने पर प्रसंस्करण गति को बढ़ाने के लाभ के लिए दृश्य CPU गतिविधियों को दबाया जा सकता है। सिम्युलेटर के साथ प्रदान किया गया प्रदर्शन सूचकांक मॉनिटर उपयोगकर्ता को माइक्रोसिम के प्रसंस्करण प्रदर्शन को बेंचमार्क करने में सक्षम बनाता है और इसे सिम्युलेटर के हार्डवेयर की कंप्यूटिंग शक्ति के संबंध में सेट करता है, जो फ्लोटिंग-पॉइंट ऑपरेशंस प्रति सेकंड (FLOPS) और निर्देश प्रति सेकंड (IPS) में मापने योग्य है।

तथाकथित बेसिक असेंबलर टूल फॉर मिक्रोसिम माइक्रोबैट के साथ, असेंबली भाषा में सरल प्रोग्राम विकसित किए जा सकते हैं। यहां, असेंबलर प्रोग्रामिंग लैंग्वेज के सभी समर्थित mnemonics को माइक्रो इंस्ट्रक्शन लेवल पर यूजर की सेल्फ-क्रिएटेड मशीन के इंस्ट्रक्शन सेट द्वारा निर्धारित किया जाता है। ऐड-ऑन टूल सभा की भाषा प्रोग्राम को मशीन कोड और डेटा में ट्रांसलेट करने और बाद के सिमुलेशन के लिए बाइनरी कोड को बाहरी रैम में ट्रांसफर करने में सक्षम है। माइक्रोबैट के साथ मिलकर माइक्रोकोड सिम्युलेटर मिक्रोसिम एक स्विच-नियंत्रित गणना मशीन से एक कोडांतरक प्रोग्राम करने योग्य अनुप्रयोग के लिए तकनीकी कंप्यूटर विज्ञान में शिक्षण पहलुओं के शिक्षण संबंधी परिचय का समर्थन करता है।

यह भी देखें

 * कंप्यूटर आर्किटेक्चर सिम्युलेटर
 * साइकिल सटीक सिम्युलेटर
 * शैक्षिक प्रोग्रामिंग भाषा
 * पूर्ण प्रणाली सिम्युलेटर
 * निर्देश सेट सिम्युलेटर
 * इंस्ट्रुमेंटेशन (कंप्यूटर प्रोग्रामिंग)
 * वॉन न्यूमैन वास्तुकला