अनुकरण एक विशिष्ट प्रणाली पर एक उपकरण की नकल करने का एक प्रयास है। एमुलेटर बनाने के तीन तरीके हैं: गतिशील और स्थिर पुनर्संकलन और व्याख्या। काम करते समय अधिकतम गति प्रभाव प्राप्त करने के लिए, सभी तीन विधियों का उपयोग करने की अनुशंसा की जाती है। आइए एक विशिष्ट प्रोसेसर एमुलेटर लिखने के एक उदाहरण पर विचार करें।
निर्देश
चरण 1
एक प्रोग्रामिंग भाषा चुनें। अनुशंसित और शायद एकमात्र विकल्प सी और असेंबलर है। सी में, आप कोड बना सकते हैं जिसे अन्य प्लेटफॉर्म पर पोर्ट किया जाएगा। यह समझने में अपेक्षाकृत सरल है और डीबग करना आसान है, लेकिन दूसरों की तुलना में बहुत धीमा है। असेंबलर को काम की उच्च गति से अलग किया जाता है, यह प्रोसेसर रजिस्टरों का उपयोग करता है, जो प्रोग्राम को पुन: संकलित करने में योगदान देता है। हालांकि, इसमें कोड्स को ट्रैक और फिक्स करना काफी मुश्किल होता है। चुनी हुई भाषा को अच्छी तरह से जानना और गति के लिए कोड को अच्छी तरह से अनुकूलित करना महत्वपूर्ण है।
चरण 2
चक्रीय और प्रोग्राम काउंटर के लिए प्रारंभिक मान निर्दिष्ट करें। चक्रीय काउंटर घड़ी चक्रों की संख्या की गणना करता है जिसके बाद बाधा उत्पन्न होती है, और सॉफ्टवेयर पीसी मेमोरी क्षेत्र दिखाता है जिसमें अगला ऑपोड निर्देश निहित होता है।
चरण 3
ऑपकोड प्राप्त करने के बाद, लूप काउंटर से ऑपकोड को निष्पादित करने के लिए लगने वाले घड़ी चक्रों की संख्या घटाएं। कृपया ध्यान दें कि कुछ कमांड तर्कों के आधार पर टिकों की संख्या में भिन्न होते हैं। ऐसे आदेशों के लिए, काउंटर को बाद में रन कोड में बदलें।
चरण 4
ऑपोड के सफल निष्पादन के बाद, इंटरप्ट को ट्रिगर करने की आवश्यकता की जांच करें। इस बिंदु पर, उन कार्यों को पूरा करें जिन्हें तत्काल समय पर सिंक्रनाइज़ करने की आवश्यकता है।
चरण 5
अपने काम को पूरा करने की आवश्यकता के लिए चक्र के प्रत्येक पास की जाँच करें। याद रखें कि प्रोग्राम मॉड्यूलर होना चाहिए, क्योंकि अधिकांश कंप्यूटर मॉड्यूल से बने होते हैं, और यदि संभव हो तो एक विशिष्ट एमुलेटर मूल सिस्टम के समान होना चाहिए। यह प्रोग्राम की तेज़ और आसान डिबगिंग प्रदान करेगा, और आप विभिन्न एमुलेटर के लिए समान मॉड्यूल का उपयोग करने में सक्षम होंगे, क्योंकि कई कंप्यूटर प्रोसेसर या वीडियो प्रोसेसर के समान मॉडल पर आधारित होते हैं।