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

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

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

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

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

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

इसी प्रकार के ओपन-सोर्स्ड माइक्रोसेक्वेंसर-आधारित प्रोसेसर के वर्तमान उदाहरण माइक्रोकोर लैब्स एमसीएल 86, एमसीएल 51, और एमसीएल 65 कोर हैं, जो पूर्ण रूप से माइक्रोकोड में इंटेल 8086/8088, 8051 और एमओएस 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 होता है। इस स्थिति में, सीडी और सीबी क्षेत्र के मान नियंत्रण रेखाओं के समूह में से को निर्धारित करते हैं उठाना।