माइक्रोसीक्वेंसर

भारत कंप्यूटर आर्किटेक्चर और अभियांत्रिकी, एक सीक्वेंसर या माइक्रोसीक्वेंसर एक नियंत्रण स्टोर के माइक्रोप्रोग्राम के माध्यम से कदम उठाने के लिए उपयोग किए जाने वाले पते उत्पन्न करता है। इसका उपयोग सेंट्रल प्रोसेसिंग यूनिट की नियंत्रण इकाई के एक भाग के रूप में या एड्रेस रेंज के लिए स्टैंड-अलोन जनरेटर के रूप में किया जाता है।

आमतौर पर पते एक काउंटर के कुछ संयोजन, एक माइक्रोइंस्ट्रक्शन से एक फ़ील्ड और निर्देश रजिस्टर के कुछ सबसेट द्वारा उत्पन्न होते हैं। विशिष्ट मामले के लिए एक काउंटर का उपयोग किया जाता है, जिसे निष्पादित करने के लिए अगला सूक्ष्म निर्देश होता है। माइक्रोइंस्ट्रक्शन से एक फ़ील्ड का उपयोग जंप, या अन्य तर्क के लिए किया जाता है।

चूंकि सीपीयू एक निर्देश सेट को लागू करते हैं, इसलिए सीपीयू के निर्देशों को निष्पादित करने के लिए माइक्रोइंस्ट्रक्शन के एक सेट का चयन करने के लिए निर्देश के अंश ्स को सीधे सीक्वेंसर में डीकोड करने में सक्षम होना बहुत उपयोगी है।

अधिकांश आधुनिक सीआईएससी प्रोसेसर कम जटिलता वाले ऑपकोड को संसाधित करने के लिए पाइपलाइन लॉजिक के संयोजन का उपयोग करते हैं जिन्हें एक घड़ी चक्र में पूरा किया जा सकता है, और माइक्रोकोड को लागू करने के लिए माइक्रोकोड का उपयोग करते हैं जिन्हें पूरा करने के लिए कई घड़ी चक्र लगते हैं।

पहले एकीकृत माइक्रोकोडेड प्रोसेसर में से एक आईबीएम पाम प्रोसेसर था, जो माइक्रोकोड में प्रोसेसर के सभी निर्देशों का अनुकरण करता था और आईबीएम 5100 पर इस्तेमाल किया गया था, जो पहले व्यक्तिगत कंप्यूटरों में से एक था।

इसी तरह के ओपन-सोर्स्ड माइक्रोसेक्वेंसर-आधारित प्रोसेसर के हालिया उदाहरण माइक्रोकोर लैब्स MCL86, हैं /master/MCL51 MCL51, और MCL65 कोर जो Intel 8086/8088, 8051 और MOS 6502 निर्देश सेट का पूरी तरह से माइक्रोकोड में अनुकरण करते हैं।

सरल उदाहरण
डिजिटल साइंटिफिक कॉरपोरेशन मेटा 4 सीरीज 16 कंप्यूटर सिस्टम एक उपयोगकर्ता-माइक्रोप्रोग्रामेबल सिस्टम था जो पहली बार 1970 में उपलब्ध हुआ था। माइक्रोकोड अनुक्रम में शाखाएं होती हैं तीन तरीकों में से एक. * एक शाखा (कंप्यूटर विज्ञान) माइक्रोइंस्ट्रक्शन सशर्त या बिना शर्त अगले निर्देश का पता निर्दिष्ट करता है। लॉजिकल इंडेक्स (IX) विकल्प 16-बिट लिंक रजिस्टर को शाखा पते में तार्किक विच्छेद  का कारण बनता है, इस प्रकार एक सरल अनुक्रमित शाखा क्षमता प्रदान करता है।


 * सभी अंकगणित/तार्किक निर्देश जंप (जे) संशोधक की अनुमति देते हैं, जो निष्पादन को लिंक रजिस्टर द्वारा संबोधित माइक्रोइंस्ट्रक्शन पर पुनर्निर्देशित करता है।


 * सभी अंकगणित/तार्किक निर्देश डिक्रीमेंट काउंटर (डी) और जंप (जे) संशोधक दोनों की अनुमति देते हैं। इस मामले में, 8-बिट लूप काउंटर रजिस्टर कम हो गया है। यदि यह शून्य नहीं है, तो एक शाखा को लिंक रजिस्टर की सामग्री में ले जाया जाता है। यदि यह शून्य है, तो निष्पादन अगले निर्देश के साथ जारी रहता है।

शाखा निर्देश पर अनुमत एक और अनुक्रमण विकल्प निष्पादन (XQ) विकल्प है। जब निर्दिष्ट किया जाता है, तो शाखा पते पर एकल निर्देश निष्पादित किया जाता है, लेकिन मूल शाखा निर्देश के बाद भी निष्पादन जारी रहता है। IX विकल्प का उपयोग XQ विकल्प के साथ किया जा सकता है।

जटिल उदाहरण
आईबीएम सिस्टम/360 1964 में पेश किए गए संगत कंप्यूटरों की एक श्रृंखला थी, जिनमें से कई माइक्रोप्रोग्राम किए गए थे। आईबीएम सिस्टम/360 मॉडल 40|सिस्टम/360 मॉडल 40 जटिल माइक्रोसीक्वेंसिंग वाली माइक्रोप्रोग्राम्ड मशीन का एक अच्छा उदाहरण है। माइक्रोस्टोर में 4,096 56-बिट माइक्रोनिर्देश शामिल हैं जो संचालित होते हैं एक क्षैतिज माइक्रोप्रोग्रामिंग शैली. स्टोर को 12-बिट द्वारा संबोधित किया जाता है रीड-ओनली एड्रेस रजिस्टर (ROAR)। अधिकांश रजिस्टरों के विपरीत S/360 आर्किटेक्चर, ROAR में बिट्स को दाईं ओर बिट 0 से क्रमांकित किया गया है बायीं ओर 11 बिट करने के लिए।  ++ | दहाड़ | ++ 11 0 

मॉडल 40 सूक्ष्म निर्देशों का कोई क्रमिक निष्पादन नहीं करता है इसलिए माइक्रोसीक्वेंसर वास्तव में पारंपरिक में शाखा नहीं करता है समझ। इसके बजाय, प्रत्येक सूक्ष्म निर्देश अगले का पता निर्दिष्ट करता है निष्पादित किए जाने के लिए। माइक्रोइंस्ट्रक्शन में चार क्षेत्र नए में योगदान करते हैं पता।


 * सीए, 4 बिट्स: अन्य फ़ील्ड के आधार पर, अगले पते का हिस्सा।
 * सीबी, 4 बिट: अगले पते का बिट 1 निर्धारित करता है।
 * CC, 4 बिट: अगले पते का बिट 0 निर्धारित करता है।
 * सीडी, 2 बिट्स: नियंत्रित करता है कि अगला पता कैसे इकट्ठा किया जाता है (सिवाय जब सीबी फ़ील्ड में 15 हो)।

इन क्षेत्रों के मूलतः तीन संयोजन या प्रारूप हैं।

कार्यात्मक शाखा प्रारूप
जब सीबी फ़ील्ड में 15 होता है, तो एक कार्यात्मक शाखा उत्पन्न होती है। के टुकड़े ROAR में नया माइक्रोस्टोर पता निम्नानुसार निर्धारित किया गया है।
 * बिट्स 11-10: सीडी फ़ील्ड
 * बिट्स 9-6: सीए फ़ील्ड
 * बिट 5: हमेशा 0
 * बिट्स 4-1: क्यू रजिस्टर के उच्च-क्रम 4 बिट्स, जो 8-बिट एएलयू के लिए सही इनपुट है
 * बिट 0: सीसी फ़ील्ड द्वारा निर्दिष्ट परीक्षण का परिणाम

CC फ़ील्ड मशीन की स्थिति के विभिन्न परीक्षण निर्दिष्ट कर सकता है। यह बिना शर्त बिट के लिए एक स्थिरांक 0 या 1 भी निर्दिष्ट करें।

यह प्रारूप नियंत्रण के प्रवाह को 16 अनुदेश युग्मों में से 1 में बदल देता है माइक्रोस्टोर के 64-शब्द ब्लॉक के निचले 32 शब्दों के भीतर (क्योंकि बिट 5 है सदैव 0). सीसी फ़ील्ड तब यह निर्धारित करती है कि जोड़ी का कौन सा निर्देश है नियंत्रण प्राप्त करता है.

सीडी = 0, 1, 3 प्रारूप
जब सीडी फ़ील्ड 0, 1, या 3 है, तो नियंत्रण का प्रवाह एक की ओर निर्देशित होता है वर्तमान 64-शब्द ब्लॉक के भीतर निर्देश। नए माइक्रोस्टोर के टुकड़े पता निम्नानुसार निर्धारित किया जाता है।
 * बिट्स 11-6: वही रहें
 * बिट्स 5-2: सीए फ़ील्ड
 * बिट 1: यदि सीडी = 0, सीबी फ़ील्ड द्वारा निर्दिष्ट परीक्षण का परिणाम; अन्यथा 0
 * बिट 0: सीसी फ़ील्ड द्वारा निर्दिष्ट परीक्षण का परिणाम

सीए फ़ील्ड वर्तमान 64-शब्द ब्लॉक के भीतर 16 4-शब्द समूहों में से 1 का चयन करता है। सीबी और सीसी फ़ील्ड तब निर्धारित करते हैं कि 4 में से कौन सा निर्देश प्राप्त होता है नियंत्रण।

सीडी = 2 प्रारूप
जब सीडी फ़ील्ड 2 होती है, तो नियंत्रण का प्रवाह एक गैर-स्पष्ट तरीके से निर्देशित होता है। नए माइक्रोस्टोर पते के बिट्स निम्नानुसार निर्धारित किए जाते हैं:
 * बिट्स 11-10: वही रहें
 * बिट्स 9-6: सीए फ़ील्ड
 * बिट्स 5-2: वही रहें
 * बिट 1: सीबी फ़ील्ड द्वारा निर्दिष्ट परीक्षण का परिणाम
 * बिट 0: सीसी फ़ील्ड द्वारा निर्दिष्ट परीक्षण का परिणाम

अगला निर्देश वर्तमान के समान 1K-शब्द क्षेत्र में है अनुदेश, क्योंकि बिट्स 11-10 वही रहते हैं। सीए क्षेत्र निर्धारित करता है क्षेत्र के भीतर 64-शब्द ब्लॉक। निर्देश उसी 4-शब्द में है नए ब्लॉक के भीतर समूह बनाएं क्योंकि वर्तमान निर्देश वर्तमान के भीतर है ब्लॉक करें, क्योंकि बिट्स 5-2 वही रहते हैं। सीबी और सीसी फ़ील्ड तब निर्धारित करते हैं कि 4 में से कौन सा निर्देश प्राप्त होता है नियंत्रण।

सरलीकरण
इस विवरण को सरल बनाया गया है. यह निम्नलिखित सुविधाओं को नजरअंदाज करता है.
 * मॉडल 40 सीपीयू मोड या चैनल मोड में चल सकता है। विवरण केवल सीपीयू मोड को संबोधित करता है।
 * यदि माइक्रोइंस्ट्रक्शन कार्यात्मक शाखा प्रारूप में नहीं है और सीडी फ़ील्ड 1 या 3 है, तो अगले पते का बिट 1 हमेशा 0 होता है। इस मामले में, सीडी और सीबी फ़ील्ड के मान नियंत्रण रेखाओं के सेट में से एक को निर्धारित करते हैं उठाना।