माइक्रो-संचालनों: Difference between revisions
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
| author = Agner Fog | website = agner.org |author-link=Agner Fog | | author = Agner Fog | website = agner.org |author-link=Agner Fog | ||
}}</ref>{{rp|8–9}} | }}</ref>{{rp|8–9}} | ||
सामान्यतः, माइक्रो-संचालनों एक या एक से अधिक [[प्रोसेसर रजिस्टर|प्रोसेसर रजिस्टरों]] में संग्रहीत डेटा पर मूलभूत संचालन करते हैं, जिसमें रजिस्टरों के बीच या सेंट्रल प्रोसेसिंग | सामान्यतः, माइक्रो-संचालनों एक या एक से अधिक [[प्रोसेसर रजिस्टर|प्रोसेसर रजिस्टरों]] में संग्रहीत डेटा पर मूलभूत संचालन करते हैं, जिसमें रजिस्टरों के बीच या सेंट्रल प्रोसेसिंग इकाई (सीपीयू) के रजिस्टरों और बाहरी [[बस (कंप्यूटिंग)|बसों]] के बीच डेटा स्थानांतरित करना और रजिस्टरों पर अंकगणितीय या तार्किक संचालन करना सम्मिलित है। विशिष्ट फ़ेच-डिकोड-निष्पादन चक्र में, मैक्रो-निर्देश का प्रत्येक चरण इसके निष्पादन के समय विघटित हो जाता है, इसलिए सीपीयू माइक्रो-ऑपरेशन की श्रृंखला के माध्यम से निर्धारित करता है और कदम उठाता है। माइक्रो-ऑपरेशन का निष्पादन सीपीयू की नियंत्रण इकाई के नियंत्रण में किया जाता है, जो विभिन्न अनुकूलन जैसे कि पुनर्क्रमित, फ्यूजन और कैशिंग करते समय उनके निष्पादन पर निर्णय लेता है।<ref name="maine-coa">{{cite web | ||
| url = http://umcs.maine.edu/~cmeadow/courses/cos335/COA15.pdf | | url = http://umcs.maine.edu/~cmeadow/courses/cos335/COA15.pdf | ||
| title = Computer Organization and Architecture, Chapter 15. Control Unit Operation | | title = Computer Organization and Architecture, Chapter 15. Control Unit Operation | ||
Line 27: | Line 27: | ||
}}</ref>{{rp|6–7, 9–11}} | }}</ref>{{rp|6–7, 9–11}} | ||
इस बफ़रिंग का अर्थ है कि अधिक पारंपरिक माइक्रोकोडेड (या हार्ड-वायर्ड) डिज़ाइन में व्यवहार्य होने की तुलना में निष्पादन इकाइयों से फ़ेच और डिकोड चरणों को अधिक अलग किया जा सकता है। चूंकि यह निष्पादन ऑर्डर के संबंध में स्वतंत्रता की डिग्री की अनुमति देता है, यह सामान्य सिंगल-थ्रेडेड प्रोग्राम से निर्देश-स्तर समांतरता का कुछ निष्कर्षण संभव बनाता है (परंतु निर्भरता की जांच की जाती है)। यह अधिक विश्लेषण के लिए खुलता है और इसलिए मशीन संसाधनों (जैसे [[अंकगणितीय तर्क इकाई]], लोड/स्टोर इकाइयों आदि) पर μops की मैपिंग और शेड्यूलिंग को गतिशील रूप से अनुकूलित करने के लिए कोड अनुक्रमों की पुनर्व्यवस्था के लिए भी खुलता है। जैसा कि यह μop-स्तर पर होता है, विभिन्न मशीन (मैक्रो) निर्देशों के उप-संचालन अधिकांशतः विशेष μop-अनुक्रम में रुक-रुक कर हो सकते हैं, कई से सूक्ष्म निर्देशों के आउट-ऑफ-ऑर्डर प्रेषण के प्रत्यक्ष परिणाम के रूप में मैक्रो निर्देश आंशिक रूप से पुन: व्यवस्थित मशीन निर्देश बनाते हैं। चूँकि, यह माइक्रो-ऑप फ्यूजन के समान नहीं है, जिसका उद्देश्य इस तथ्य पर है कि अधिक जटिल सूक्ष्म निर्देश कुछ स्थितियों में कुछ सरल सूक्ष्म निर्देशों को बदल सकता है, सामान्यतः राज्य परिवर्तन और कतार के उपयोग और पुन: क्रम को कम करने के लिए बफर स्पेस इसलिए | इस बफ़रिंग का अर्थ है कि अधिक पारंपरिक माइक्रोकोडेड (या हार्ड-वायर्ड) डिज़ाइन में व्यवहार्य होने की तुलना में निष्पादन इकाइयों से फ़ेच और डिकोड चरणों को अधिक अलग किया जा सकता है। चूंकि यह निष्पादन ऑर्डर के संबंध में स्वतंत्रता की डिग्री की अनुमति देता है, यह सामान्य सिंगल-थ्रेडेड प्रोग्राम से निर्देश-स्तर समांतरता का कुछ निष्कर्षण संभव बनाता है (परंतु निर्भरता की जांच की जाती है)। यह अधिक विश्लेषण के लिए खुलता है और इसलिए मशीन संसाधनों (जैसे [[अंकगणितीय तर्क इकाई]], लोड/स्टोर इकाइयों आदि) पर μops की मैपिंग और शेड्यूलिंग को गतिशील रूप से अनुकूलित करने के लिए कोड अनुक्रमों की पुनर्व्यवस्था के लिए भी खुलता है। जैसा कि यह μop-स्तर पर होता है, विभिन्न मशीन (मैक्रो) निर्देशों के उप-संचालन अधिकांशतः विशेष μop-अनुक्रम में रुक-रुक कर हो सकते हैं, कई से सूक्ष्म निर्देशों के आउट-ऑफ-ऑर्डर प्रेषण के प्रत्यक्ष परिणाम के रूप में मैक्रो निर्देश आंशिक रूप से पुन: व्यवस्थित मशीन निर्देश बनाते हैं। चूँकि, यह माइक्रो-ऑप फ्यूजन के समान नहीं है, जिसका उद्देश्य इस तथ्य पर है कि अधिक जटिल सूक्ष्म निर्देश कुछ स्थितियों में कुछ सरल सूक्ष्म निर्देशों को बदल सकता है, सामान्यतः राज्य परिवर्तन और कतार के उपयोग और पुन: क्रम को कम करने के लिए बफर स्पेस इसलिए विद्युत् व्यय को कम करता है। कुछ आधुनिक सीपीयू डिजाइनों में माइक्रो-ऑप फ्यूजन का उपयोग किया जाता है।<ref name="agner.org" />{{rp|89–91, 105–106}}<ref name="nehalem" />{{rp|6–7, 9–15}} | ||
निष्पादन अनुकूलन और भी आगे बढ़ गया है; प्रोसेसर न केवल कई मशीन निर्देशों को μops की श्रृंखला में अनुवादित करते हैं, बल्कि उपयुक्त होने पर विपरीत भी करते हैं; वे कुछ मशीन निर्देश अनुक्रमों को जोड़ते हैं (जैसे कि सशर्त छलांग के बाद की तुलना) अधिक जटिल μop में जो निष्पादन मॉडल को उत्तम ढंग से फिट करता है और इस प्रकार इसे | निष्पादन अनुकूलन और भी आगे बढ़ गया है; प्रोसेसर न केवल कई मशीन निर्देशों को μops की श्रृंखला में अनुवादित करते हैं, बल्कि उपयुक्त होने पर विपरीत भी करते हैं; वे कुछ मशीन निर्देश अनुक्रमों को जोड़ते हैं (जैसे कि सशर्त छलांग के बाद की तुलना) अधिक जटिल μop में जो निष्पादन मॉडल को उत्तम ढंग से फिट करता है और इस प्रकार इसे तीव्रता से या कम मशीन संसाधनों के साथ निष्पादित किया जा सकता है। इसे मैक्रो-ऑप फ्यूजन के रूप में भी जाना जाता है।<ref name="agner.org" />{{rp|106–107}}<ref name="nehalem" />{{rp|12–13}} | ||
प्रदर्शन को उत्तम बनाने का | प्रदर्शन को उत्तम बनाने का प्रयत्न करने की अन्य विधि [[माइक्रो-ऑपरेशन कैश]] में डिकोड किए गए माइक्रो-ऑपरेशन को कैश करना है, जिससे यदि उसी मैक्रोइन्स्ट्रक्शन को फिर से निष्पादित किया जाए, तो प्रोसेसर डीकोड किए गए माइक्रो-ऑपरेशन को डीकोड करने के अतिरिक्त सीधे कैश से पुनः एक्सेस कर सकता है। [[इंटेल]] [[नेटबर्स्ट (माइक्रोआर्किटेक्चर)|नेटबर्स्ट माइक्रोआर्किटेक्चर]] ([[पेंटियम 4]]) में पाया गया [[निष्पादन ट्रेस कैश]] इस विधि का व्यापक उदाहरण है।<ref>{{cite web | ||
| url = http://www.anandtech.com/show/661/5 | | url = http://www.anandtech.com/show/661/5 | ||
| title = Intel Pentium 4 1.4GHz & 1.5GHz | | title = Intel Pentium 4 1.4GHz & 1.5GHz | ||
| date = 2000-11-20 | accessdate = 2013-10-06 | | date = 2000-11-20 | accessdate = 2013-10-06 | ||
| publisher = AnandTech | | publisher = AnandTech | ||
}}</ref> Kμops: इस कैश के आकार को माइक्रो-ऑपरेशन के कितने हजारों (या सख्ती से एकाधिक) के संदर्भ में बताया जा सकता है।<ref>{{cite book | }}</ref> Kμops: इस कैश के आकार को माइक्रो-ऑपरेशन के कितने हजारों (या सख्ती से 1024 के एकाधिक) के संदर्भ में बताया जा सकता है।<ref>{{cite book | ||
| chapter-url = http://cecs.uci.edu/~papers/compendium94-03/papers/2001/islped01/pdffiles/p004.pdf | | chapter-url = http://cecs.uci.edu/~papers/compendium94-03/papers/2001/islped01/pdffiles/p004.pdf | ||
| chapter = Micro-Operation Cache: A Power Aware Frontend for Variable Instruction Length ISA | | chapter = Micro-Operation Cache: A Power Aware Frontend for Variable Instruction Length ISA |
Revision as of 10:17, 7 March 2023
कंप्यूटर केंद्रीय प्रसंस्करण इकाइयों में, माइक्रो-संचालनों (जिसे माइक्रो-ऑप्स या μops के रूप में भी जाना जाता है, ऐतिहासिक रूप से माइक्रो-एक्शन के रूप में भी जाना जाता है)[2] जटिल मशीन निर्देशों (कभी-कभी इस संदर्भ में मैक्रो-निर्देश कहा जाता है) को प्रयुक्त करने के लिए कुछ डिज़ाइनों में उपयोग किए जाने वाले विस्तृत निम्न-स्तरीय निर्देश हैं ।[3]: 8–9
सामान्यतः, माइक्रो-संचालनों एक या एक से अधिक प्रोसेसर रजिस्टरों में संग्रहीत डेटा पर मूलभूत संचालन करते हैं, जिसमें रजिस्टरों के बीच या सेंट्रल प्रोसेसिंग इकाई (सीपीयू) के रजिस्टरों और बाहरी बसों के बीच डेटा स्थानांतरित करना और रजिस्टरों पर अंकगणितीय या तार्किक संचालन करना सम्मिलित है। विशिष्ट फ़ेच-डिकोड-निष्पादन चक्र में, मैक्रो-निर्देश का प्रत्येक चरण इसके निष्पादन के समय विघटित हो जाता है, इसलिए सीपीयू माइक्रो-ऑपरेशन की श्रृंखला के माध्यम से निर्धारित करता है और कदम उठाता है। माइक्रो-ऑपरेशन का निष्पादन सीपीयू की नियंत्रण इकाई के नियंत्रण में किया जाता है, जो विभिन्न अनुकूलन जैसे कि पुनर्क्रमित, फ्यूजन और कैशिंग करते समय उनके निष्पादन पर निर्णय लेता है।[1]
अनुकूलन
μops के विभिन्न रूप लंबे समय से विशेष सीपीयू डिजाइन के कार्यान्वयन को सरल बनाने के लिए उपयोग किए जाने वाले पारंपरिक माइक्रोकोड रूटीन का या संभवतः कुछ मल्टी-स्टेप संचालनों या एड्रेसिंग मोड्स के अनुक्रमण के लिए आधार रहे हैं। हाल ही में, μops को अलग विधि से नियोजित किया गया है जिससे आधुनिक जटिल निर्देश सेट कंप्यूटर प्रोसेसर अधिक सरलता से अतुल्यकालिक समानांतर और सट्टा निष्पादन को संभाल सकें: जैसा कि पारंपरिक माइक्रोकोड के साथ होता है, उपयुक्त μop- का पता लगाने के लिए एक या अधिक टेबल लुकअप (या समतुल्य) किया जाता है। मशीन इंस्ट्रक्शन (डिकोडिंग या ट्रांसलेशन स्टेप) के एन्कोडिंग और शब्दार्थ के आधार पर अनुक्रम, चूंकि, माइक्रोकोड-रोम से सीधे सीपीयू को नियंत्रित करने वाले कठोर μop-अनुक्रम होने के अतिरिक्त, μops को क्रियान्वित होने से पहले पुनर्निर्धारण के लिए गतिशील रूप से बफर किया जाता है।[4]: 6–7, 9–11
इस बफ़रिंग का अर्थ है कि अधिक पारंपरिक माइक्रोकोडेड (या हार्ड-वायर्ड) डिज़ाइन में व्यवहार्य होने की तुलना में निष्पादन इकाइयों से फ़ेच और डिकोड चरणों को अधिक अलग किया जा सकता है। चूंकि यह निष्पादन ऑर्डर के संबंध में स्वतंत्रता की डिग्री की अनुमति देता है, यह सामान्य सिंगल-थ्रेडेड प्रोग्राम से निर्देश-स्तर समांतरता का कुछ निष्कर्षण संभव बनाता है (परंतु निर्भरता की जांच की जाती है)। यह अधिक विश्लेषण के लिए खुलता है और इसलिए मशीन संसाधनों (जैसे अंकगणितीय तर्क इकाई, लोड/स्टोर इकाइयों आदि) पर μops की मैपिंग और शेड्यूलिंग को गतिशील रूप से अनुकूलित करने के लिए कोड अनुक्रमों की पुनर्व्यवस्था के लिए भी खुलता है। जैसा कि यह μop-स्तर पर होता है, विभिन्न मशीन (मैक्रो) निर्देशों के उप-संचालन अधिकांशतः विशेष μop-अनुक्रम में रुक-रुक कर हो सकते हैं, कई से सूक्ष्म निर्देशों के आउट-ऑफ-ऑर्डर प्रेषण के प्रत्यक्ष परिणाम के रूप में मैक्रो निर्देश आंशिक रूप से पुन: व्यवस्थित मशीन निर्देश बनाते हैं। चूँकि, यह माइक्रो-ऑप फ्यूजन के समान नहीं है, जिसका उद्देश्य इस तथ्य पर है कि अधिक जटिल सूक्ष्म निर्देश कुछ स्थितियों में कुछ सरल सूक्ष्म निर्देशों को बदल सकता है, सामान्यतः राज्य परिवर्तन और कतार के उपयोग और पुन: क्रम को कम करने के लिए बफर स्पेस इसलिए विद्युत् व्यय को कम करता है। कुछ आधुनिक सीपीयू डिजाइनों में माइक्रो-ऑप फ्यूजन का उपयोग किया जाता है।[3]: 89–91, 105–106 [4]: 6–7, 9–15
निष्पादन अनुकूलन और भी आगे बढ़ गया है; प्रोसेसर न केवल कई मशीन निर्देशों को μops की श्रृंखला में अनुवादित करते हैं, बल्कि उपयुक्त होने पर विपरीत भी करते हैं; वे कुछ मशीन निर्देश अनुक्रमों को जोड़ते हैं (जैसे कि सशर्त छलांग के बाद की तुलना) अधिक जटिल μop में जो निष्पादन मॉडल को उत्तम ढंग से फिट करता है और इस प्रकार इसे तीव्रता से या कम मशीन संसाधनों के साथ निष्पादित किया जा सकता है। इसे मैक्रो-ऑप फ्यूजन के रूप में भी जाना जाता है।[3]: 106–107 [4]: 12–13
प्रदर्शन को उत्तम बनाने का प्रयत्न करने की अन्य विधि माइक्रो-ऑपरेशन कैश में डिकोड किए गए माइक्रो-ऑपरेशन को कैश करना है, जिससे यदि उसी मैक्रोइन्स्ट्रक्शन को फिर से निष्पादित किया जाए, तो प्रोसेसर डीकोड किए गए माइक्रो-ऑपरेशन को डीकोड करने के अतिरिक्त सीधे कैश से पुनः एक्सेस कर सकता है। इंटेल नेटबर्स्ट माइक्रोआर्किटेक्चर (पेंटियम 4) में पाया गया निष्पादन ट्रेस कैश इस विधि का व्यापक उदाहरण है।[5] Kμops: इस कैश के आकार को माइक्रो-ऑपरेशन के कितने हजारों (या सख्ती से 1024 के एकाधिक) के संदर्भ में बताया जा सकता है।[6]
संदर्भ
- ↑ 1.0 1.1 "Computer Organization and Architecture, Chapter 15. Control Unit Operation" (PDF). umcs.maine.edu. 2010-03-16. Retrieved 2014-12-29.
- ↑ FM1600B Microcircuit Computer Ferranti Digital Systems (PDF). Bracknell, Berkshire, UK: Ferranti Limited, Digital Systems Department. October 1968 [September 1968]. List DSD 68/6. Archived (PDF) from the original on 2020-05-19. Retrieved 2020-05-19.
- ↑ 3.0 3.1 3.2 Agner Fog (2014-02-19). "The microarchitecture of Intel, AMD and VIA CPUs: An optimization guide for assembly programmers and compiler makers" (PDF). agner.org. Retrieved 2014-03-21.
- ↑ 4.0 4.1 4.2 Michael E. Thomadakis (2011-03-17). "The Architecture of the Nehalem Processor and Nehalem-EP SMP Platforms" (PDF). Texas A&M University. Archived from the original (PDF) on 2014-08-11. Retrieved 2014-03-21.
- ↑ "Intel Pentium 4 1.4GHz & 1.5GHz". AnandTech. 2000-11-20. Retrieved 2013-10-06.
- ↑ Baruch Solomon; Avi Mendelson; Doron Orenstein; Yoav Almog; Ronny Ronen (August 2001). "Micro-Operation Cache: A Power Aware Frontend for Variable Instruction Length ISA" (PDF). ISLPED'01: Proceedings of the 2001 International Symposium on Low Power Electronics and Design (IEEE Cat. No.01TH8581). Intel. pp. 4–9. doi:10.1109/LPE.2001.945363. ISBN 1-58113-371-5. S2CID 10934861. Retrieved 2014-03-21.