MikroSim
मिक्रोसिम माइक्रोसॉफ्ट विंडोज ऑपरेटिंग सिस्टम पर चलने वाले वर्चुअल प्रोसेसर के सामान्य कामकाज और व्यवहार की हार्डवेयर-गैर-विशिष्ट व्याख्या के लिए एक शैक्षिक सॉफ्टवेयर कंप्यूटर प्रोग्राम है। लघु-निर्मित कैलकुलेटर, माइक्रोकंट्रोलर, माइक्रोप्रोसेसर और कंप्यूटर जैसे उपकरणों को सूक्ष्म निर्देशों (माइक्रोकोड) के अनुक्रमों द्वारा नियंत्रित रजिस्टर स्थानांतरण स्तर पर कस्टम-विकसित निर्देश कोड पर समझाया जा सकता है। इसके आधार पर अमूर्तता के उच्च स्तर पर एक आभासी अनुप्रयोग बोर्ड को नियंत्रित करने के लिए एक निर्देश सेट विकसित करना संभव है। जनरल शुरू में मिक्रोसिम को एक प्रोसेसर सिमुलेशन सॉफ्टवेयर के रूप में विकसित किया गया था जो शैक्षिक क्षेत्रों में व्यापक रूप से उपलब्ध था। चूंकि माइक्रोसिम संचालन माइक्रोकोड विकास के आधार पर शुरू होता है, जिसे एक आभासी नियंत्रण इकाई के लिए सूक्ष्म निर्देशों (माइक्रोकोडिंग) के एक अनुक्रम के रूप में परिभाषित किया गया है, इसलिए सॉफ्टवेयर का इरादा पहले सीपीयू सिमुलेटर और निर्देश सेट एमुलेटर की क्षमता सहित अमूर्तता के विभिन्न स्तरों के साथ एक माइक्रोकोड सिमुलेटर से संपर्क करना है। वर्तमान सॉफ्टवेयर संशोधन में एक माइक्रोकोड नियंत्रित आभासी अनुप्रयोग के लिए अपने स्वयं के कोडित निर्देश सेट पर काम करना संभव है। मिक्रोसिम के साथ कंप्यूटर वास्तुकला और निर्देश सेट वास्तुकला जैसे कंप्यूटर इंजीनियरिंग के क्षेत्र में विशिष्ट और प्रसिद्ध अवधारणाओं को गैर-विशेष रूप से माना जाता है, जो सूचना युग के शुरुआती दिनों से स्थापित किए गए हैं और अभी भी मान्य हैं। इस तरह से अनुकरण सॉफ्टवेयर अतीत और भविष्य के विशेष विकास पर प्रतिबंधित हुए बिना एक कालातीत, मुफ्त उपदेशात्मक लाभ प्राप्त करता है। विस्तृत प्रलेखन और जर्मन और अंग्रेजी में द्विभाषी अनुप्रयोग का ग्राफिकल यूजर इंटरफेस (जी. यू. आई.), साथ ही साथ माइक्रोसॉफ्ट के ऑपरेटिंग सिस्टम विंडोज द्वारा कुछ हद तक दिए गए सॉफ्टवेयर की ऊपर की ओर संगतता, शैक्षणिक उपयोग के लिए 1992 से कंप्यूटर इंजीनियरिंग के क्षेत्र में एक अच्छी तरह से स्थापित, मूल्यवान ई-लर्निंग टूल होने के कारण हैं। विकास का इतिहास सॉफ्टवेयर एमएस-डॉस ऑपरेटिंग सिस्टम के लिए संकलित टर्बो पास्कल के तहत लिखे गए एक संस्करण पर आधारित है जिसका उपयोग 1992 तक फिलिप्स-यूनिवर्सिटी मारबर्ग (जर्मनी) में कंप्यूटर इंजीनियरिंग और कंप्यूटर विज्ञान में शैक्षिक उद्देश्यों के लिए किया गया है। इस अवधारणा को मार्टिन पर्नर ने 1992 की गर्मियों में भौतिकी (1990-95) के अपने अध्ययन के दौरान उठाया था, संशोधित किया गया था, और माइक्रोसॉफ्ट विजुअल बेसिक के साथ संकलित और विंडोज 3.1x पर चलने वाले विंडोज एप्लिकेशन में परिवर्तित किया गया था। ऐसा करने में, इस समय माइक्रोकोड की संरचना और इसके निर्देशात्मक प्रभाव की अनुरेखण क्षमता का समर्थन करने के लिए एमएस विंडोज के जीयूआई की नवीन कार्यक्षमता और उपयोग का दोहन करके विशाल वैचारिक सुधारों के साथ एक सिम्युलेटर उत्पन्न हुआ। विंडोज के तहत ई-लर्निंग टूल के संवर्द्धन को 1995 के अंत तक हेंज-पीटर गुम द्वारा मारबर्ग विश्वविद्यालय के फचबेरीच गणितीय/सूचना विज्ञान द्वारा समर्थित और बढ़ावा दिया गया है। सिम्युलेटर को नवंबर 1994 में हीडलबर्ग (जर्मनी) में कंप्यूटर विज्ञान श्रेणी में "यूरोपीय अकादमिक सॉफ्टवेयर पुरस्कार 1994" से सम्मानित किया गया है। मार्च 1995 में हनोवर में कंप्यूटर प्रदर्शनी सी. ई. बी. आई. टी. '95 में "हेसिस्चेन होस्क्यूलेन" की प्रदर्शनी में सिम्युलेटर प्रस्तुत किया गया था। 1995 और 2000 के बीच सिम्युलेटर को बिना किसी महत्वपूर्ण सुधार के "मिक्रोकोडसिम्युलेटर मिक्रोसिम 1.2" के रूप में प्रकाशित किया गया था। इस समय इस उपकरण को यूरोपीय संघ से "यूरोपियन ईयर ऑफ लाइवलॉन्ग लर्निंग 1996" के संयोजन में 1000 ईसीयू का पुरस्कार मिला। 1997 में, सॉफ्टवेयर को "लर्नटेक '97" प्रदर्शनी के संबंध में "मल्टीमीडिया ट्रांसफर' 97" प्रतियोगिता में प्रस्तुत किया गया था। अपने अंतिम संशोधन में, सिम्युलेटर को "मिक्रोकोडसिम्युलेटर मिक्रोसिम 2000" के तहत प्रकाशित किया गया है, जो एमएस विंडोज 95 के 32-बिट संचालन के लिए अनुकूलित है। 2008 और 2009 के बीच, सिम्युलेटर अवधारणा को संशोधित किया गया है, फिर से काम किया गया है, और विचारशील विस्तार किया गया है। इसलिए इसे मूल में माइक्रोकोड अनुकरण क्षमताओं के सफल वैचारिक पहलुओं को छुए बिना व्यापक सुधार और विस्तार प्राप्त हुए हैं। इस उद्देश्य के लिए, आज की कम्प्यूटिंग प्रणाली के प्रदर्शन का लाभ उठाया जाता है जो ऑपरेटिंग सिस्टम और अंतर्निहित कम्प्यूटेशनल शक्ति द्वारा निर्धारित किया जाता है ताकि माइक्रोसिम की अनुकरण संभावनाओं को एक आभासी अनुप्रयोग बोर्ड के चरण तक बढ़ाया जा सके। माइक्रॉसिम को अप्रतिबंधित संगतता के लिए और 32-बिट संस्करण के रूप में एमएस विंडोज एक्सपी के लिए व्यापक वितरण के लिए संकलित और अनुकूलित किया गया है। यह कार्यक्रम एमएस विंडोज विस्टा और एमएस विंडोज 7 के सभी 32-और 64-बिट ऑपरेटिंग सिस्टम पर चलता है। इस प्रकार, किसी विशेष एक्सपी संगतता मोड की आवश्यकता नहीं है। जनवरी 2010 से, सिम्युलेटर को 0/1-सिमवेयर द्वारा "मिक्रोकोडसिम्युलेटर मिक्रोसिम 2010" के रूप में वितरित किया जाता है। कार्यात्मकता विंडोज अनुप्रयोग एक आभासी अनुप्रयोग की क्रमिक स्थापना की अनुमति देता है जो पूर्व निर्धारित है और इसकी कार्यक्षमता में अपरिवर्तनीय है। अन्वेषण मोड में, एक चक्र के भीतर एक माइक्रोकोड निर्देश से प्रभावित नए जोड़े गए घटकों के संचालन सिद्धांत और नियंत्रण का मूल्यांकन किया जा सकता है। मिक्रोसिम के सूक्ष्म निर्देशों की चौड़ाई 49 बिट है। एक एकल सूक्ष्म निर्देश को 3-चरण घड़ी के तीन चरणों में निष्पादित किया जाता है। आंशिक चरणों को "जीईटी", "कैल्कुलेट" और "पुट" चरण के रूप में संदर्भित किया जाता है, जिससे कुछ रजिस्टर मूल्य प्राप्त होता है, 32-बिट गणना को निष्पादित करने के लिए, और गणना परिणाम को अंत में सीपीयू के आंतरिक रजिस्टर में संग्रहीत करने के लिए। सिमुलेशन मोड में, निर्बाध रूप से निष्पादित सूक्ष्म निर्देश बाद के चक्रों में सिमुलेटर की केंद्रीय प्रसंस्करण इकाई को नियंत्रित करते हैं। इसलिए, एक सूक्ष्म निर्देश की आंतरिक क्षमता का उपयोग नियंत्रण भंडार में अगले सूक्ष्म निर्देश को संबोधित करने के लिए किया जाता है। सूक्ष्म निर्देश सेट (आमतौर पर "माइक्रोकोड" के रूप में संदर्भित) रखने वाले नियंत्रण भंडार में प्रत्येक 49-बिट चौड़े 1024 सूक्ष्म निर्देश शब्द होते हैं। माइक्रोकोड के पता लगाने योग्य समय निर्धारण और एक चक्रीय रूप से संचालित मशीन कोड दुभाषिया के कार्यान्वयन के लिए नियंत्रण भंडार की संरचना के अवसरों का उपयोग करना, जो माइक्रोकोड में प्रोग्राम किया गया है और साथ ही व्यक्तिगत माइक्रो-ऑपरेशन अनुक्रमों के कार्यान्वयन की अनुमति देता है, जिन्हें मशीन निर्देशों के रूप में जाना जाता है। माइक्रोकोड को मिक्रोसिम के लिए फर्मवेयर के रूप में माना जा सकता है, जिसे संशोधित किया जा सकता है, और माइक्रोकोड-रोम-फ़ाइल से संग्रहीत और फिर से लोड किया जा सकता है। एक सूक्ष्म निर्देश निष्पादन चक्र के भीतर, CPU के साथ-साथ एक इनपुट/आउटपुट नियंत्रक एक बाहरी 16 kByte विशाल यादृच्छिक अभिगम स्मृति उपकरण (RAM) से जुड़ा होता है। इनपुट-आउटपुट नियंत्रक उपकरण के माध्यम से, आभासी इनपुट और आउटपुट उपकरणों के साथ संचार डायरेक्ट मेमोरी एक्सेस मोड (डी. एम. ए.), इंटर-इंटीग्रेटेड सर्किट कनेक्शन (आई. 2. सी.), और इंटरप्ट अनुरोध कार्यक्षमता (आई. आर. क्यू.) द्वारा समर्थित है। एक आउटपुट पोर्ट, एक डिस्प्ले, एक टाइमर, एक इवेंट ट्रिगर, एक डिजिटल-एनालॉग कनवर्टर, एक कीबोर्ड और डेटा इनपुट/आउटपुट चैनल को आभासी आईसी उपकरण के रूप में प्रदान किया जाता है ताकि बाहरी उपकरणों के साथ संचार को व्यावहारिक रूप से समझाया जा सके। माइक्रोकोड सिम्युलेटर 32-बिट अंकगणितीय तर्क इकाई (ए. एल. यू.) के साथ जुड़े प्रत्येक 32-बिट चौड़े आठ स्वतंत्र रूप से उपयोग करने योग्य रजिस्टर का उपयोग करता है। रजिस्टर सामग्री को हस्ताक्षरित या अहस्ताक्षरित पूर्णांक मानों के रूप में या 32-बिट फ्लोटिंग पॉइंट नंबरों के रूप में माना जा सकता है। रजिस्टर सामग्री को आसानी से देखा जा सकता है, व्याख्या की जा सकती है और एक एकीकृत प्रणाली संख्या संपादक के रूप में बिटवाइज संशोधित किया जा सकता है। 32-बिट ए. एल. यू. केंद्रीय प्रसंस्करण इकाई की प्रमुख इकाई है। यह पूर्णांक संचालन, व्यवधान नियंत्रण और फ्लोटिंग पॉइंट अंकगणित के लिए 128 अलग-अलग बुनियादी अंकगणितीय संचालन का समर्थन करता है। फ्लोटिंग पॉइंट गणना के लिए उपदेशात्मक दृष्टिकोण, जिसे पहले से ही 1940 के दशक की शुरुआत में कोनराड ज़्यूस द्वारा एक तुलनीय तरीके से पेश किया गया है, को जोड़/घटाव और गुणन/विभाजन के प्रमुख कार्यों में शामिल घातांक और मंटिसा के लिए मौलिक उप-स्तरीय संचालन का उपयोग करके पेश किया गया है। मेंटिसा में शक्तिशाली 32-बिट फ्लोटिंग पॉइंट अंकगणितीय आदेशों का एक सेट और बुनियादी संचालन और प्राथमिक विश्लेषणात्मक कार्यों के लिए घातांक प्रदान किए जाते हैं, जैसा कि आज के गणितीय सहप्रक्रमकों में महसूस किया जाता है। यहाँ, मिक्रोसिम के साथ अनुकरण में यह आदर्श रूप से माना जाता है कि प्रत्येक समर्थित ए. एल. यू. अंकगणितीय संचालन के निष्पादन के लिए व्यवहार में वास्तविक रूप से आवश्यक परिपथ जटिलता से स्वतंत्र केवल एक अलग कंप्यूटिंग अवधि की आवश्यकता होती है। सूक्ष्म निर्देशों के निष्पादन को विभिन्न अस्थायी संकल्प के साथ विभिन्न अनुकरण स्तरों पर संचालित किया जा सकता हैः सबसे कम अनुकरण स्तर में, सिम्युलेटर जीईटी, कैल्कुलेट और पुट चरण के चरणबद्ध निष्पादन का समर्थन करता है। बेहतर पता लगाने के लिए एक समायोज्य देरी के साथ आंशिक चरणों का प्रसंस्करण संभव है। अगले ऊपरी स्तर में, वर्तमान सूक्ष्म निर्देश को बिना समय की देरी के एक पूर्ण तीन-चरण घड़ी में निष्पादित किया जाता है। कई 3-चरण घड़ी चक्रों का निरंतर निष्पादन एक तथाकथित "भार वृद्धि निष्पादन" (एल. आई. ई.) चक्र के भीतर समर्थित है। माइक्रोकोड में लिखे गए दुभाषिया के रूप में माने जाने वाले एल. आई. ई. चक्र में बाहरी रैम से बाईट मूल्य के रूप में कोडित मशीन निर्देशों को लोड करने और ऑपकोड द्वारा दिए गए निष्पादन के लिए संदर्भित माइक्रोकोड सबरूटीन में सूक्ष्म निर्देश अनुक्रम को शाखा करने और अगले मशीन निर्देश को पुनः प्राप्त करने के लिए एल. आई. ई. पर वापस लौटने का कार्य होता है। एक निष्पादन स्तर अधिक, कई मशीन निर्देशों का एक क्रम तब तक निष्पादित किया जा सकता है जब तक कि एक उपयोगकर्ता-परिभाषित विराम बिंदु तक नहीं पहुंच जाता है, जिसे मशीन कोड अनुक्रम में रखा जाता है। ब्रेक प्वाइंट के बीच रन टाइम को मापना संभव है। इसलिए मशीन और माइक्रोकोड स्तर पर निष्पादन प्रदर्शन को बेंचमार्क करना संभव है। सबसे शीर्ष अनुकरण स्तर में माइक्रोकोड सिम्युलेटर बिना किसी रुकावट के सूक्ष्म निर्देशों को लगातार निष्पादित करता है। इस स्तर पर, मशीन निर्देश द्वारा मशीन निर्देश लोड किया जाता है। इसलिए, बाहरी उपकरणों के साथ सीपीयू की बातचीत पर ध्यान केंद्रित करना संभव है। विभिन्न अतिरिक्त विकल्पों के साथ, दृश्य सीपीयू गतिविधियों को प्रसंस्करण गति बढ़ाने के लाभ के लिए दबाया जा सकता है जब मशीन प्रोग्रामिंग द्वारा अनुप्रयोग के नियंत्रण को आगे रखा जाता है। सिम्युलेटर के साथ प्रदान किया गया प्रदर्शन सूचकांक मॉनिटर उपयोगकर्ता को मिक्रोसिम के प्रसंस्करण प्रदर्शन को बेंचमार्क करने और इसे सिम्युलेटर के हार्डवेयर की कंप्यूटिंग शक्ति के संबंध में स्थापित करने में सक्षम बनाता है, जिसे फ्लोटिंग-पॉइंट ऑपरेशन प्रति सेकंड (एफएलओपीएस) और निर्देश प्रति सेकंड (आईपीएस) में मापा जा सकता है। तथाकथित "बेसिक असेंबलर टूल फॉर मिक्रोसिम" मिक्रोबेट के साथ, सरल कार्यक्रमों को असेंबलर प्रोग्रामिंग भाषा में विकसित किया जा सकता है। यहाँ, असेंबलर प्रोग्रामिंग भाषा के सभी समर्थित निमोनिक्स का निर्धारण सूक्ष्म निर्देश स्तर पर उपयोगकर्ता के स्व-निर्मित मशीन के निर्देश सेट द्वारा किया जाता है। ऐड-ऑन टूल असेंबली लैंग्वेज प्रोग्राम को मशीन कोड और डेटा में अनुवाद करने और बाद के सिमुलेशन के लिए बाइनरी कोड को बाहरी रैम में स्थानांतरित करने में सक्षम है। माइक्रोबैट के साथ मिलकर माइक्रोकोड सिम्युलेटर मिक्रोसिम एक स्विच-नियंत्रित गणना मशीन से एक असेंबलर प्रोग्राम करने योग्य अनुप्रयोग तक तकनीकी कंप्यूटर विज्ञान में शिक्षण पहलुओं के उपदेशात्मक परिचय का समर्थन करता है। कंप्यूटर वास्तुकला सिम्युलेटर साइकिल सटीक सिम्युलेटर शैक्षिक प्रोग्रामिंग भाषा पूर्ण प्रणाली सिम्युलेटर निर्देश सेट सिम्युलेटर इंस्ट्रूमेंटेशन (कंप्यूटर प्रोग्रामिंग) वॉन न्यूमैन वास्तुकला साहित्य भी देखें। संदर्भ बाहरी लिंक शैक्षिक अमूर्त मशीन सिमुलेशन सॉफ्टवेयर