माइक्रो-संचालनों

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

अनुकूलन
μops के विभिन्न रूप लंबे समय से एक विशेष सीपीयू डिजाइन के कार्यान्वयन को सरल बनाने के लिए उपयोग किए जाने वाले पारंपरिक माइक्रोकोड रूटीन का आधार रहे हैं या शायद कुछ मल्टी-स्टेप ऑपरेशंस या एड्रेसिंग मोड्स के अनुक्रमण के लिए। हाल ही में, μops को एक अलग तरीके से नियोजित किया गया है ताकि आधुनिक जटिल निर्देश सेट कंप्यूटर प्रोसेसर अधिक आसानी से अतुल्यकालिक समानांतर और सट्टा निष्पादन को संभाल सकें: पारंपरिक माइक्रोकोड के साथ, एक या अधिक टेबल लुकअप (या समतुल्य) का पता लगाने के लिए किया जाता है। मशीन इंस्ट्रक्शन (डिकोडिंग या ट्रांसलेशन स्टेप) के एन्कोडिंग और शब्दार्थ के आधार पर उपयुक्त μop-अनुक्रम, हालाँकि, कठोर μop-अनुक्रम होने के बजाय सीधे माइक्रोकोड-केवल पढ़ने के लिये मेमोरी से CPU को नियंत्रित करने के लिए, μops यहाँ गतिशील रूप से बफर किए गए हैं निष्पादित होने से पहले पुनर्निर्धारण। इस बफ़रिंग का अर्थ है कि एक अधिक पारंपरिक माइक्रोकोडेड (या हार्ड-वायर्ड) डिज़ाइन में व्यवहार्य होने की तुलना में निष्पादन इकाइयों से फ़ेच और डिकोड चरणों को अधिक अलग किया जा सकता है। चूंकि यह निष्पादन आदेश के संबंध में स्वतंत्रता की एक डिग्री की अनुमति देता है, यह सामान्य सिंगल-थ्रेडेड प्रोग्राम से निर्देश-स्तर समांतरता का कुछ निष्कर्षण संभव बनाता है (बशर्ते निर्भरता की जांच की जाती है)। यह अधिक विश्लेषण के लिए खुलता है और इसलिए मशीन संसाधनों (जैसे अंकगणितीय तर्क इकाई, लोड/स्टोर इकाइयों आदि) पर μops की मैपिंग और शेड्यूलिंग को गतिशील रूप से अनुकूलित करने के लिए कोड अनुक्रमों की पुनर्व्यवस्था के लिए भी खुलता है। जैसा कि यह μop-स्तर पर होता है, विभिन्न मशीन (मैक्रो) निर्देशों के उप-संचालन अक्सर एक विशेष μop-अनुक्रम में रुक-रुक कर हो सकते हैं, कई से सूक्ष्म निर्देशों के आउट-ऑफ-ऑर्डर प्रेषण के प्रत्यक्ष परिणाम के रूप में आंशिक रूप से पुन: व्यवस्थित मशीन निर्देश बनाते हैं। मैक्रो निर्देश। हालाँकि, यह माइक्रो-ऑप फ्यूजन के समान नहीं है, जिसका उद्देश्य इस तथ्य पर है कि एक अधिक जटिल सूक्ष्म निर्देश कुछ मामलों में कुछ सरल सूक्ष्म निर्देशों को बदल सकता है, आमतौर पर राज्य परिवर्तन और कतार के उपयोग और पुन: क्रम को कम करने के लिए बफर स्थान, इसलिए बिजली की खपत को कम करना। कुछ आधुनिक सीपीयू डिजाइनों में माइक्रो-ऑप फ्यूजन का उपयोग किया जाता है। निष्पादन अनुकूलन और भी आगे बढ़ गया है; प्रोसेसर न केवल कई मशीन निर्देशों को μops की एक श्रृंखला में अनुवादित करते हैं, बल्कि उपयुक्त होने पर विपरीत भी करते हैं; वे कुछ मशीन निर्देश अनुक्रमों को जोड़ते हैं (जैसे कि एक सशर्त छलांग के बाद की तुलना) एक अधिक जटिल μop में जो निष्पादन मॉडल को बेहतर ढंग से फिट करता है और इस प्रकार इसे तेजी से या कम मशीन संसाधनों के साथ निष्पादित किया जा सकता है। इसे मैक्रो-ऑप फ्यूजन के रूप में भी जाना जाता है। प्रदर्शन को बेहतर बनाने का प्रयास करने का एक अन्य तरीका माइक्रो-ऑपरेशन कैश में डिकोड किए गए माइक्रो-ऑपरेशन को कैश करना है, ताकि यदि उसी मैक्रोइन्स्ट्रक्शन को फिर से निष्पादित किया जाए, तो प्रोसेसर डीकोड किए गए माइक्रो-ऑपरेशन को डीकोड करने के बजाय सीधे कैश से एक्सेस कर सकता है। दोबारा। इंटेल नेटबर्स्ट (माइक्रोआर्किटेक्चर) (पेंटियम 4) में पाया गया निष्पादन ट्रेस कैश इस तकनीक का एक व्यापक उदाहरण है। इस कैश के आकार को माइक्रो-ऑपरेशन के कितने हजारों (या सख्ती से एकाधिक) के संदर्भ में बताया जा सकता है: Kμops।