माइक्रोआर्किटेक्चर: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Component of computer engineering}} {{Redirect|Computer organization|organizations that make computers|List of computer system manufacturers|one classifica...")
 
No edit summary
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Component of computer engineering}}
{{Short description|Component of computer engineering}}
{{Redirect|Computer organization|organizations that make computers|List of computer system manufacturers|one classification of computer architectures|Flynn's taxonomy|another classification of instruction set architectures|Instruction set}}
{{Redirect|कंप्यूटर संगठन|संगठन जो कंप्यूटर बनाते हैं|कंप्यूटर सिस्टम निर्माताओं की सूची|कंप्यूटर आर्किटेक्चर का एक वर्गीकरण|फ्लिन का वर्गीकरण|निर्देश सेट आर्किटेक्चर का एक और वर्गीकरण|निर्देश सेट }}[[File:Intel Core2 arch.svg|right|thumb|upright=2|[[कोर (माइक्रोआर्किटेक्चर)|कोर (माइक्रोआर्किटेक्चर )]] माइक्रोआर्किटेक्चर का आरेख]][[कंप्यूटर इंजीनियरिंग]] में, '''माइक्रोआर्किटेक्चर''' , जिसे कंप्यूटर संगठन भी कहा जाता है और कभी-कभी इसे μarch या uarch के रूप में संक्षिप्त किया जाता है, विशेष केंद्रीय प्रसंस्करण इकाई में दिए गए निर्देश सेट आर्किटेक्चर ( आईएसए) को प्रयुक्त करने का विधि है।<ref>{{cite book
{{More citations needed|date=January 2010}}
 
[[File:Intel Core2 arch.svg|right|thumb|upright=2|[[कोर (माइक्रोआर्किटेक्चर)]] माइक्रोआर्किटेक्चर का आरेख]][[कंप्यूटर इंजीनियरिंग]] में, माइक्रोआर्किटेक्चर, जिसे कंप्यूटर संगठन भी कहा जाता है और कभी-कभी इसे μarch या uarch के रूप में संक्षिप्त किया जाता है, एक विशेष केंद्रीय प्रसंस्करण इकाई में दिए गए निर्देश सेट आर्किटेक्चर (ISA) को लागू करने का तरीका है।<ref>{{cite book
|title=Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering
|title=Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering
|date=2004|publisher=Association for Computing Machinery|page=60
|date=2004|publisher=Association for Computing Machinery|page=60
|url=https://www.acm.org/education/education/curric_vols/CE-Final-Report.pdf
|url=https://www.acm.org/education/education/curric_vols/CE-Final-Report.pdf
|archive-url=https://web.archive.org/web/20170703214003/https://www.acm.org/education/education/curric_vols/CE-Final-Report.pdf|archive-date=2017-07-03|quote=Comments on Computer Architecture and Organization: Computer architecture is a key component of computer engineering and the practicing computer engineer should have a practical understanding of this topic...
|archive-url=https://web.archive.org/web/20170703214003/https://www.acm.org/education/education/curric_vols/CE-Final-Report.pdf|archive-date=2017-07-03|quote=Comments on Computer Architecture and Organization: Computer architecture is a key component of computer engineering and the practicing computer engineer should have a practical understanding of this topic...
}}</ref> किसी दिए गए ISA को विभिन्न माइक्रोआर्किटेक्चर के साथ कार्यान्वित किया जा सकता है;<ref>{{cite book
}}</ref> किसी दिए गए आईएसए को विभिन्न माइक्रोआर्किटेक्चर के साथ कार्यान्वित किया जा सकता है;<ref>{{cite book
|title=Computer Architecture and Organization, An Integrated Approach
|title=Computer Architecture and Organization, An Integrated Approach
|first=Miles |last1=Murdocca  |first2=Vincent |last2=Heuring
|first=Miles |last1=Murdocca  |first2=Vincent |last2=Heuring
Line 17: Line 14:
|title=Principles of Computer Hardware
|title=Principles of Computer Hardware
|pages=1&ndash;2|edition=4th
|pages=1&ndash;2|edition=4th
}}</ref> किसी दिए गए डिज़ाइन के विभिन्न लक्ष्यों या प्रौद्योगिकी में बदलाव के कारण कार्यान्वयन भिन्न हो सकते हैं।<ref>{{cite book
}}</ref> किसी दिए गए डिज़ाइन के विभिन्न लक्ष्यों या प्रौद्योगिकी में परिवर्तन के कारण कार्यान्वयन भिन्न हो सकते हैं।<ref>{{cite book
|title=कंप्यूटर वास्तुकला पाइपलाइन और समानांतर प्रोसेसर डिजाइन|isbn=9780867202045  
|title=कंप्यूटर वास्तुकला पाइपलाइन और समानांतर प्रोसेसर डिजाइन|isbn=9780867202045  
|first=Michael J. |last=Flynn
|first=Michael J. |last=Flynn
Line 23: Line 20:
|pages=1&ndash;3 |chapter-url=https://books.google.com/books?id=JS-01OTl9dsC&pg=PP1 |chapter=An Introduction to Architecture and Machines
|pages=1&ndash;3 |chapter-url=https://books.google.com/books?id=JS-01OTl9dsC&pg=PP1 |chapter=An Introduction to Architecture and Machines
}}</ref>
}}</ref>
[[कंप्यूटर आर्किटेक्चर]] माइक्रोआर्किटेक्चर और इंस्ट्रक्शन सेट आर्किटेक्चर का संयोजन है।
इस प्रकार से [[कंप्यूटर आर्किटेक्चर]] माइक्रोआर्किटेक्चर और इंस्ट्रक्शन सेट आर्किटेक्चर का संयोजन है।
 
== निर्देश सेट आर्किटेक्चर से संबंध ==
[[File:Single bus organization.jpg|thumb|upright=2|एकल बस के चारों ओर व्यवस्थित माइक्रोआर्किटेक्चर ]]इंस्ट्रक्शन सेट आर्किटेक्चर सामान्यतः प्रोसेसर के प्रोग्रामिंग मॉडल के समान है जैसा कि [[ सभा की भाषा |असेंबली लैन्गवेग]] प्रोग्रामर या कंपाइलर लेखक द्वारा देखा जाता है। इस प्रकार से आईएसए में अन्य चीजों के अतिरिक्त इंस्ट्रक्शन सेट आर्किटेक्चर या निर्देश, [[निष्पादन मॉडल]], [[प्रोसेसर रजिस्टर]], पता और डेटा प्रारूप भी सम्मिलित हैं। किन्तु माइक्रोआर्किटेक्चर में प्रोसेसर के घटक भाग सम्मिलित होते हैं और ये आईएसए को प्रयुक्त करने के लिए कैसे आपस में जुड़ते हैं और कैसे संचालित होते हैं।


== निर्देश सेट वास्तुकला से संबंध ==
चूंकि किसी मशीन के माइक्रोआर्किटेक्चर को सामान्यतः (अधिक या कम विस्तृत) आरेखों के रूप में दर्शाया जाता है जो की मशीन के विभिन्न माइक्रोआर्किटेक्चर ल मूल के अंतर्संबंधों का वर्णन करता है, जो एकल गेट और रजिस्टर से लेकर अंकगणितीय तर्क इकाइयों (एएलयू) और यहां उससे भी उच्च मूल को पूर्ण करने के लिए कुछ भी हो सकता है। मूल ये आरेख सामान्यतः डेटापथ (जहां डेटा रखा जाता है) और [[नियंत्रण पथ]] (जिसे डेटा को चलाने के लिए कहा जा सकता है) को अलग करते हैं।<ref name="hennessy">{{cite book |author1-link=John L. Hennessy |first1=John L. |last1=Hennessy |author2-link=David Patterson (computer scientist) |first2=David A. |last2=Patterson |title=Computer Architecture: A Quantitative Approach|edition=4th|publisher=Morgan Kaufmann |year=2006|isbn=0-12-370490-1}}</ref>
[[File:Single bus organization.jpg|thumb|upright=2|एक एकल बस के चारों ओर व्यवस्थित एक माइक्रोआर्किटेक्चर]]इंस्ट्रक्शन सेट आर्किटेक्चर मोटे तौर पर एक प्रोसेसर के प्रोग्रामिंग मॉडल के समान है जैसा कि एक [[ सभा की भाषा ]] प्रोग्रामर या कंपाइलर लेखक द्वारा देखा जाता है। आईएसए में अन्य चीजों के अलावा इंस्ट्रक्शन सेट आर्किटेक्चर#निर्देश, [[निष्पादन मॉडल]], [[प्रोसेसर रजिस्टर]], पता और डेटा प्रारूप शामिल हैं। माइक्रोआर्किटेक्चर में प्रोसेसर के घटक भाग शामिल हैं और ये आईएसए को लागू करने के लिए कैसे आपस में जुड़ते हैं और कैसे संचालित होते हैं।


किसी मशीन के माइक्रोआर्किटेक्चर को आमतौर पर (अधिक या कम विस्तृत) आरेखों के रूप में दर्शाया जाता है जो मशीन के विभिन्न माइक्रोआर्किटेक्चरल तत्वों के अंतर्संबंधों का वर्णन करता है, जो एकल गेट और रजिस्टर से लेकर अंकगणितीय तर्क इकाइयों (एएलयू) और यहां तक ​​​​कि बड़े को पूरा करने के लिए कुछ भी हो सकता है। तत्व. ये आरेख आम तौर पर डेटापथ (जहां डेटा रखा जाता है) और [[नियंत्रण पथ]] (जिसे डेटा को चलाने के लिए कहा जा सकता है) को अलग करते हैं।<ref name="hennessy">{{cite book |author1-link=John L. Hennessy |first1=John L. |last1=Hennessy |author2-link=David Patterson (computer scientist) |first2=David A. |last2=Patterson |title=Computer Architecture: A Quantitative Approach|edition=4th|publisher=Morgan Kaufmann |year=2006|isbn=0-12-370490-1}}</ref>
अतः सिस्टम को डिज़ाइन करने वाला व्यक्ति सामान्यतः विशिष्ट माइक्रोआर्किटेक्चर को प्रकार के [[डेटा प्रवाह आरेख]] के रूप में खींचता है। और [[ब्लॉक आरेख]] की तरह, माइक्रोआर्किटेक्चर आरेख अंकगणित और तर्क इकाई और [[फ़ाइल पंजीकृत करें]] जैसे माइक्रोआर्किटेक्चर ल मूल को एकल योजनाबद्ध प्रतीक के रूप में दिखाता है। सामान्यतः , आरेख उन मूल को तीरों, मोटी रेखाओं और पतली रेखाओं से जोड़ता है जिससे तीन-राज्य बसों (जिनके लिए बस को चलाने वाले प्रत्येक उपकरण के लिए [[तीन-राज्य तर्क|तीन-राज्य बफर]] की आवश्यकता होती है), [[सरल सर्किट|यूनिडायरेक्शनल]] (सदैव स्रोत द्वारा संचालित, जैसे) के मध्य अंतर करने के लिए तीरों, मोटी रेखाओं और पतली रेखाओं से जोड़ता है। चूंकि एकल स्रोत, जैसे कि सरल कंप्यूटरों पर एड्रेस बस सदैव [[मेमोरी एड्रेस रजिस्टर]] द्वार संचालित होती है), और व्यक्तिगत नियंत्रण रेखाए द्वारा संचालित होती है। इस प्रकार से अधि सरल कंप्यूटरों में डेटापथ या डेटापथ का एकल बस संगठन होता है{{snd}} उनके पास ही तीन-राज्य बस है। अधिक समिष्ट कंप्यूटरों का आरेख सामान्यतः कई तीन-स्तर बसें दिखाता है, जो की मशीन के साथ अधिक संचालन करने में सहायता करती हैं।
सिस्टम को डिज़ाइन करने वाला व्यक्ति आमतौर पर विशिष्ट माइक्रोआर्किटेक्चर को एक प्रकार के [[डेटा प्रवाह आरेख]] के रूप में खींचता है। एक [[ब्लॉक आरेख]] की तरह, माइक्रोआर्किटेक्चर आरेख अंकगणित और तर्क इकाई और [[फ़ाइल पंजीकृत करें]] जैसे माइक्रोआर्किटेक्चरल तत्वों को एक एकल योजनाबद्ध प्रतीक के रूप में दिखाता है। आमतौर पर, आरेख उन तत्वों को तीरों, मोटी रेखाओं और पतली रेखाओं से जोड़ता है ताकि तीन-राज्य बसों (जिनके लिए बस को चलाने वाले प्रत्येक उपकरण के लिए [[तीन-राज्य तर्क]] | तीन-राज्य बफर की आवश्यकता होती है), [[सरल सर्किट]] (हमेशा द्वारा संचालित) के बीच अंतर किया जा सके। एक एकल स्रोत, जैसे कि सरल कंप्यूटरों पर एड्रेस बस हमेशा [[मेमोरी एड्रेस रजिस्टर]] द्वारा संचालित होती है), और व्यक्तिगत नियंत्रण लाइनें। बहुत ही सरल कंप्यूटरों में डेटापथ#डेटापथ का एकल बस संगठन होता है{{snd}} उनके पास एक ही तीन-राज्य बस है। अधिक जटिल कंप्यूटरों का आरेख आमतौर पर कई तीन-राज्य बसें दिखाता है, जो मशीन को एक साथ अधिक संचालन करने में मदद करती हैं।


प्रत्येक माइक्रोआर्किटेक्चरल तत्व को इसे लागू करने के लिए उपयोग किए जाने वाले [[ तर्क द्वार ]]्स के अंतर्संबंधों का वर्णन करने वाले एक योजनाबद्ध तरीके से दर्शाया गया है। प्रत्येक लॉजिक गेट को एक [[सर्किट आरेख]] द्वारा दर्शाया जाता है जो कुछ विशेष लॉजिक परिवार में इसे लागू करने के लिए उपयोग किए जाने वाले ट्रांजिस्टर के कनेक्शन का वर्णन करता है। विभिन्न माइक्रोआर्किटेक्चर वाली मशीनों में समान निर्देश सेट आर्किटेक्चर हो सकता है, और इस प्रकार वे समान प्रोग्राम निष्पादित करने में सक्षम हो सकते हैं। सेमीकंडक्टर निर्माण में प्रगति के साथ-साथ नए माइक्रोआर्किटेक्चर और/या सर्किटरी समाधान, नई पीढ़ियों के प्रोसेसर को समान आईएसए का उपयोग करते हुए उच्च प्रदर्शन प्राप्त करने की अनुमति देते हैं।
जिससे प्रत्येक माइक्रोआर्किटेक्चर ल मूल को इसे प्रयुक्त करने के लिए उपयोग किए जाने वाले [[ तर्क द्वार |तर्क द्वारा]] के अंतर्संबंधों का वर्णन करने वाले योजनाबद्ध विधि से दर्शाया गया है। और प्रत्येक लॉजिक गेट को [[सर्किट आरेख|परिपथ आरेख]] द्वारा दर्शाया जाता है जो कुछ विशेष लॉजिक वर्ग में इसे प्रयुक्त करने के लिए उपयोग किए जाने वाले ट्रांजिस्टर के कनेक्शन का वर्णन करता है। विभिन्न माइक्रोआर्किटेक्चर वाली मशीनों में समान निर्देश सेट आर्किटेक्चर हो सकता है, और इस प्रकार वे समान प्रोग्राम निष्पादित करने में सक्षम हो सकते हैं। जिससे अर्धचालक निर्माण में प्रगति के साथ-साथ नए माइक्रोआर्किटेक्चर और/या परिपथरी समाधान, नई पीढ़ियों के प्रोसेसर को समान आईएसए का उपयोग करते हुए उच्च प्रदर्शन प्राप्त करने की अनुमति देते हैं।


सिद्धांत रूप में, एक एकल माइक्रोआर्किटेक्चर माइक्रोकोड#राइटेबल कंट्रोल स्टोर्स में केवल मामूली बदलाव के साथ कई अलग-अलग आईएसए निष्पादित कर सकता है।
अतः सिद्धांत रूप में, एकल माइक्रोआर्किटेक्चर माइक्रोकोड या राइटेबल कंट्रोल स्टोर्स में केवल समान परिवर्तन के साथ अनेक अलग-अलग आईएसए निष्पादित कर सकता है।


== पहलू ==
== दृष्टिकोण ==
[[File:Intel i80286 arch.svg|thumb|upright=2|[[इंटेल 80286]] माइक्रोआर्किटेक्चर]]निर्देश पाइपलाइन डेटापथ आज माइक्रोआर्किटेक्चर में सबसे अधिक इस्तेमाल किया जाने वाला डेटापथ डिज़ाइन है। इस तकनीक का उपयोग अधिकांश आधुनिक माइक्रोप्रोसेसरों, [[ microcontroller ]] और [[डिजिटल सिग्नल प्रोसेसर]] में किया जाता है। पाइपलाइनयुक्त आर्किटेक्चर एक असेंबली लाइन की तरह कई निर्देशों को निष्पादन में ओवरलैप करने की अनुमति देता है। पाइपलाइन में कई अलग-अलग चरण शामिल हैं जो माइक्रोआर्किटेक्चर डिज़ाइन में मौलिक हैं।<ref name="hennessy" />इनमें से कुछ चरणों में निर्देश लाना, निर्देश डिकोड करना, निष्पादित करना और वापस लिखना शामिल है। कुछ आर्किटेक्चर में मेमोरी एक्सेस जैसे अन्य चरण शामिल होते हैं। पाइपलाइनों का डिज़ाइन केंद्रीय सूक्ष्म वास्तुशिल्प कार्यों में से एक है।
[[File:Intel i80286 arch.svg|thumb|upright=2|[[इंटेल 80286]] माइक्रोआर्किटेक्चर ]]इस प्रकार से निर्देश पाइपलाइन डेटापथ वर्तमान समय में माइक्रोआर्किटेक्चर में सबसे अधिक उपयोग किया जाने वाला डेटापथ डिज़ाइन है। इस विधियों का उपयोग अधिकांश आधुनिक माइक्रोप्रोसेसरों, [[ microcontroller |माइक्रोकंट्रोलर]] और [[डिजिटल सिग्नल प्रोसेसर]] में किया जाता है। पाइपलाइनयुक्त आर्किटेक्चर असेंबली लाइन की तरह कई निर्देशों को निष्पादन में ओवरलैप करने की अनुमति देता है। अर्थात पाइपलाइन में कई अलग-अलग चरण सम्मिलित हैं जो की माइक्रोआर्किटेक्चर डिज़ाइन में मौलिक हैं।<ref name="hennessy" /> इनमें से कुछ चरणों में निर्देश लाना, निर्देश डिकोड करना, निष्पादित करना और वापस लिखना सम्मिलित किया गया है। कुछ आर्किटेक्चर में मेमोरी एक्सेस जैसे अन्य चरण सम्मिलित होते हैं। अतः पाइपलाइनों का डिज़ाइन केंद्रीय सूक्ष्म आर्किटेक्चर कार्यों में से है।


निष्पादन इकाइयाँ माइक्रोआर्किटेक्चर के लिए भी आवश्यक हैं। निष्पादन इकाइयों में अंकगणितीय तर्क इकाइयाँ (ALU)[[फ़्लोटिंग पॉइंट इकाई]] इकाइयाँ (FPU), लोड/स्टोर इकाइयाँ, शाखा भविष्यवाणी और एकल निर्देश, एकाधिक डेटा शामिल हैं। ये इकाइयाँ प्रोसेसर का संचालन या गणना करती हैं। निष्पादन इकाइयों की संख्या, उनकी विलंबता और थ्रूपुट का चुनाव एक केंद्रीय माइक्रोआर्किटेक्चरल डिज़ाइन कार्य है। सिस्टम के भीतर यादों का आकार, विलंबता, थ्रूपुट और कनेक्टिविटी भी सूक्ष्म वास्तुशिल्प निर्णय हैं।
निष्पादन इकाइयाँ माइक्रोआर्किटेक्चर के लिए भी आवश्यक हैं। और निष्पादन इकाइयों में अंकगणितीय तर्क इकाइयाँ (एएलयू) [[फ़्लोटिंग पॉइंट इकाई]] इकाइयाँ (एफपीयू), लोड/स्टोर इकाइयाँ, शाखा पूर्वानुमान और एकल निर्देश, एकाधिक डेटा सम्मिलित हैं। ये इकाइयाँ प्रोसेसर का संचालन या गणना करती हैं। निष्पादन इकाइयों की संख्या, उनकी विलंबता और थ्रूपुट का चुनाव केंद्रीय माइक्रोआर्किटेक्चर ल डिज़ाइन कार्य है। सिस्टम के अन्दर विचरो का आकार, विलंबता, थ्रूपुट और कनेक्टिविटी भी सूक्ष्म आर्किटेक्चर निर्णय हैं।


सिस्टम-स्तरीय डिज़ाइन निर्णय जैसे कि [[ मेमोरी नियंत्रक ]] जैसे बाह्य उपकरणों को शामिल करना है या नहीं, को माइक्रोआर्किटेक्चरल डिज़ाइन प्रक्रिया का हिस्सा माना जा सकता है। इसमें इन बाह्य उपकरणों के प्रदर्शन-स्तर और कनेक्टिविटी पर निर्णय शामिल हैं।
चूंकि सिस्टम-स्तरीय डिज़ाइन निर्णय जैसे कि [[ मेमोरी नियंत्रक |मेमोरी नियंत्रक]] जैसे बाह्य उपकरणों को सम्मिलित करना है या नहीं, इसलिए माइक्रोआर्किटेक्चर ल डिज़ाइन प्रक्रिया का भाग माना जा सकता है। इसमें इन बाह्य उपकरणों के प्रदर्शन-स्तर और कनेक्टिविटी पर निर्णय सम्मिलित हैं।


वास्तुशिल्प डिज़ाइन के विपरीत, जहां एक विशिष्ट प्रदर्शन स्तर प्राप्त करना मुख्य लक्ष्य है, माइक्रोआर्किटेक्चरल डिज़ाइन अन्य बाधाओं पर अधिक ध्यान देता है। चूंकि माइक्रोआर्किटेक्चर डिज़ाइन निर्णय सिस्टम में जो कुछ भी होता है उसे सीधे प्रभावित करते हैं, चिप क्षेत्र/लागत, बिजली की खपत, तर्क जटिलता, कनेक्टिविटी में आसानी, विनिर्माण क्षमता, डिबगिंग में आसानी और परीक्षण क्षमता जैसे मुद्दों पर ध्यान दिया जाना चाहिए।
आर्किटेक्चर डिज़ाइन के विपरीत, जहां विशिष्ट प्रदर्शन स्तर प्राप्त करना मुख्य लक्ष्य है, माइक्रोआर्किटेक्चर ल डिज़ाइन अन्य बाधाओं पर अधिक ध्यान देता है। चूंकि माइक्रोआर्किटेक्चर डिज़ाइन निर्णय सिस्टम में जो कुछ भी होता है उसे सीधे प्रभावित करते हैं, चिप क्षेत्र/निवेश , विद्युत की खपत, तर्क समिष्टतः , कनेक्टिविटी में सरलता , विनिर्माण क्षमता, डिबगिंग में सरलता और परीक्षण क्षमता जैसे नियम पर ध्यान दिया जाना चाहिए।


== सूक्ष्म वास्तुशिल्प अवधारणाएँ ==
== सूक्ष्म आर्किटेक्चर अवधारणाएँ ==


=== निर्देश चक्र ===
=== निर्देश चक्र ===
{{Main|instruction cycle}}
{{Main|निर्देश चक्र}}


प्रोग्राम चलाने के लिए, सभी सिंगल- या मल्टी-चिप सीपीयू:
इस प्रकार से प्रोग्राम चलाने के लिए, सभी सिंगल- या मल्टी-चिप सीपीयू:
# एक निर्देश पढ़ें और उसे डिकोड करें
# निर्देश पढ़ें और उसे डिकोड करें
# निर्देश को संसाधित करने के लिए आवश्यक कोई भी संबद्ध डेटा ढूंढें
# निर्देश को संसाधित करने के लिए आवश्यक कोई भी संबद्ध डेटा खोजे
# निर्देश पर कार्रवाई करें
# निर्देश पर कार्रवाई करें
# परिणाम लिखें
# परिणाम लिखें


बिजली बंद होने तक निर्देश चक्र लगातार दोहराया जाता है।
इस प्रकार विद्युत विवृत होने तक निर्देश चक्र निरंतर दोहराया जाता है।


=== मल्टीसाइकल माइक्रोआर्किटेक्चर ===
=== मल्टीसाइकल माइक्रोआर्किटेक्चर ===
ऐतिहासिक रूप से, शुरुआती कंप्यूटर मल्टीसाइकल डिज़ाइन वाले थे। सबसे छोटे, कम-महंगे कंप्यूटर अक्सर अभी भी इस तकनीक का उपयोग करते हैं। मल्टीसाइकिल आर्किटेक्चर अक्सर तर्क तत्वों की कुल संख्या और उचित मात्रा में शक्ति का उपयोग करते हैं। उन्हें नियतात्मक समय और उच्च विश्वसनीयता के लिए डिज़ाइन किया जा सकता है। विशेष रूप से, सशर्त शाखाएँ या व्यवधान लेते समय उनके पास रुकने के लिए कोई पाइपलाइन नहीं होती है। हालाँकि, अन्य माइक्रोआर्किटेक्चर अक्सर समान तर्क परिवार का उपयोग करके प्रति यूनिट समय में अधिक निर्देश निष्पादित करते हैं। बेहतर प्रदर्शन पर चर्चा करते समय, सुधार अक्सर मल्टीसाइकिल डिज़ाइन से संबंधित होता है।
ऐतिहासिक रूप से, प्रारंभिक कंप्यूटर मल्टीसाइकल डिज़ाइन वाले थे। सबसे लघु , कम-बहुमूल्य कंप्यूटर प्रायः अभी भी इस विधियों का उपयोग करते हैं। और मल्टीसाइकिल आर्किटेक्चर प्रायः तर्क मूल की कुल संख्या और उचित मात्रा में शक्ति का उपयोग करते हैं। उन्हें नियतात्मक समय और उच्च विश्वसनीयता के लिए डिज़ाइन किया जा सकता है। विशेष रूप से, नियमबद्ध शाखाएँ या व्यवधान लेते समय उनके पास रुकने के लिए कोई पाइपलाइन नहीं होती है। चूंकि , अन्य माइक्रोआर्किटेक्चर प्रायः समान तर्क वर्ग का उपयोग करके प्रति यूनिट समय में अधिक निर्देश निष्पादित करते हैं। इस प्रकार से उत्तम प्रदर्शन पर चर्चा करते समय, सुधार प्रायः मल्टीसाइकिल डिज़ाइन से संबंधित होता है।
 
मल्टीसाइकिल कंप्यूटर में, कंप्यूटर घड़ी के कई चक्रों में क्रम से चार चरण करता है। कुछ डिज़ाइन वैकल्पिक घड़ी किनारों पर क्रमिक चरणों को पूरा करके दो घड़ी चक्रों में अनुक्रम निष्पादित कर सकते हैं, संभवतः मुख्य चक्र के बाहर होने वाले लंबे संचालन के साथ। उदाहरण के लिए, पहले चक्र के बढ़ते किनारे पर पहला चरण, पहले चक्र के गिरते किनारे पर दूसरा चरण, आदि।
 
नियंत्रण तर्क में, चक्र काउंटर, चक्र स्थिति (उच्च या निम्न) और निर्देश डिकोड रजिस्टर के बिट्स का संयोजन यह निर्धारित करता है कि कंप्यूटर के प्रत्येक भाग को क्या करना चाहिए। नियंत्रण तर्क को डिज़ाइन करने के लिए, प्रत्येक निर्देश के प्रत्येक चक्र में कंप्यूटर के प्रत्येक भाग के नियंत्रण संकेतों का वर्णन करने वाली बिट्स की एक तालिका बना सकते हैं। फिर, इस तर्क तालिका का परीक्षण सॉफ़्टवेयर सिमुलेशन रनिंग टेस्ट कोड में किया जा सकता है। यदि लॉजिक टेबल को मेमोरी में रखा जाता है और वास्तव में वास्तविक कंप्यूटर चलाने के लिए उपयोग किया जाता है, तो इसे [[माइक्रोप्रोग्राम]] कहा जाता है। कुछ कंप्यूटर डिज़ाइनों में, लॉजिक टेबल को लॉजिक गेट्स से बने कॉम्बिनेशन लॉजिक के रूप में अनुकूलित किया जाता है, आमतौर पर एक कंप्यूटर प्रोग्राम का उपयोग किया जाता है जो लॉजिक को अनुकूलित करता है। प्रारंभिक कंप्यूटरों ने नियंत्रण के लिए तदर्थ तर्क डिजाइन का उपयोग किया जब तक कि [[मौरिस विल्केस]] ने इस सारणीबद्ध दृष्टिकोण का आविष्कार नहीं किया और इसे माइक्रोप्रोग्रामिंग कहा।<ref name="microprogram">{{Cite journal | last1 = Wilkes | first1 = M. V. | title = The Growth of Interest in Microprogramming: A Literature Survey | doi = 10.1145/356551.356553 | journal = ACM Computing Surveys | volume = 1 | issue = 3 | pages = 139–145 | year = 1969 | s2cid = 10673679 | doi-access = free }}</ref>


मल्टीसाइकिल कंप्यूटर में, कंप्यूटर घड़ी के कई चक्रों में क्रम से चार चरण करता है। कुछ डिज़ाइन वैकल्पिक घड़ी किनारों पर क्रमिक चरणों को पूर्ण करके दो घड़ी चक्रों में अनुक्रम निष्पादित कर सकते हैं, संभवतः मुख्य चक्र के बाहर होने वाले लंबे संचालन के साथ उपयोग किया जाता है । इस प्रकार उदाहरण के लिए, प्रथम चक्र के बढ़ते किनारे पर प्रथम चरण, प्रथम चक्र के गिरते किनारे पर दूसरा चरण, आदि।


इस प्रकार से नियंत्रण तर्क में, चक्र काउंटर, चक्र स्थिति (उच्च या निम्न) और निर्देश डिकोड रजिस्टर के बिट्स का संयोजन यह निर्धारित करता है कि कंप्यूटर के प्रत्येक भाग को क्या करना चाहिए। किन्तु नियंत्रण तर्क को डिज़ाइन करने के लिए, प्रत्येक निर्देश के प्रत्येक चक्र में कंप्यूटर के प्रत्येक भाग के नियंत्रण संकेतों का वर्णन करने वाली बिट्स की श्रेणी बना सकते हैं। जिससे फिर, इस तर्क तालिका का परीक्षण सॉफ़्टवेयर सिमुलेशन रनिंग टेस्ट कोड में किया जा सकता है। यदि लॉजिक टेबल को मेमोरी में रखा जाता है और वास्तव में वास्तविक कंप्यूटर चलाने के लिए उपयोग किया जाता है, तो इसे [[माइक्रोप्रोग्राम]] कहा जाता है। कुछ कंप्यूटर डिज़ाइनों में, लॉजिक टेबल को लॉजिक गेट्स से बने कॉम्बिनेशन लॉजिक के रूप में अनुकूलित किया जाता है, सामान्यतः कंप्यूटर प्रोग्राम का उपयोग किया जाता है जो लॉजिक को अनुकूलित करता है। प्रारंभिक कंप्यूटरों ने नियंत्रण के लिए तदर्थ तर्क डिजाइन का उपयोग किया और इसे जब तक कि [[मौरिस विल्केस]] ने इस सारणीबद्ध दृष्टिकोण माइक्रोप्रोग्रामिंग का आविष्कार नहीं किया था ।<ref name="microprogram">{{Cite journal | last1 = Wilkes | first1 = M. V. | title = The Growth of Interest in Microprogramming: A Literature Survey | doi = 10.1145/356551.356553 | journal = ACM Computing Surveys | volume = 1 | issue = 3 | pages = 139–145 | year = 1969 | s2cid = 10673679 | doi-access = free }}</ref>
=== निष्पादन गति बढ़ाना ===
=== निष्पादन गति बढ़ाना ===
चरणों की इस सरल दिखने वाली श्रृंखला को जटिल बनाने वाला तथ्य यह है कि मेमोरी पदानुक्रम, जिसमें [[कैश (कंप्यूटिंग)]], मुख्य मेमोरी और [[हार्ड डिस्क]] (जहां प्रोग्राम निर्देश और डेटा रहते हैं) जैसे गैर-वाष्पशील स्टोरेज शामिल हैं, हमेशा प्रोसेसर की तुलना में धीमा रहा है अपने आप। चरण (2) अक्सर [[कंप्यूटर बस]] पर डेटा पहुंचने में लंबी (सीपीयू शर्तों में) देरी का परिचय देता है। डिज़ाइनों में काफी मात्रा में शोध किया गया है ताकि यथासंभव इन देरी से बचा जा सके। इन वर्षों में, एक केंद्रीय लक्ष्य समानांतर में अधिक निर्देशों को निष्पादित करना था, इस प्रकार एक कार्यक्रम की प्रभावी निष्पादन गति को बढ़ाना। इन प्रयासों ने जटिल तर्क और सर्किट संरचनाएं पेश कीं। प्रारंभ में, इन तकनीकों के लिए आवश्यक सर्किटरी की मात्रा के कारण इन तकनीकों को केवल महंगे मेनफ्रेम या सुपर कंप्यूटर पर ही लागू किया जा सकता था। जैसे-जैसे सेमीकंडक्टर निर्माण में प्रगति हुई, इनमें से अधिक से अधिक तकनीकों को एकल सेमीकंडक्टर चिप पर लागू किया जा सकता है। मूर का नियम देखें.
चरणों की इस सरल दिखने वाली श्रृंखला को समिष्ट बनाने वाला तथ्य यह है कि मेमोरी पदानुक्रम, जिसमें [[कैश (कंप्यूटिंग)]], मुख्य मेमोरी और [[हार्ड डिस्क]] (जहां प्रोग्राम निर्देश और डेटा रहते हैं) जैसे गैर-वाष्पशील स्टोरेज सम्मिलित हैं, और सदैव प्रोसेसर की तुलना में धीमा रहा है चरण (2) प्रायः [[कंप्यूटर बस]] पर डेटा पहुंचने में लंबी (सीपीयू शब्दों में) देरी का परिचय देता है। डिज़ाइनों में अधिक मात्रा में शोध किया गया है जिससे यथासंभव इन देरी से बचा जा सकता है । कुछ वर्षों में, केंद्रीय लक्ष्य समानांतर में अधिक निर्देशों को निष्पादित करना था, इस प्रकार प्रोग्राम की प्रभावी निष्पादन गति को बढ़ाना है। इन प्रयासों ने समिष्ट तर्क और परिपथ संरचनाएं प्रस्तुत कीं गई है । प्रारंभ में, इन विधियों के लिए आवश्यक परिपथरी की मात्रा के कारण इन विधियों को केवल बहुमूल्य मेनफ्रेम या सुपर कंप्यूटर पर ही प्रयुक्त किया जा सकता था। जैसे-जैसे अर्धचालक निर्माण में प्रगति हुई, इनमें से अधिक से अधिक विधियों को एकल अर्धचालक चिप पर प्रयुक्त किया जा सकता है। मूर का नियम देखें.


=== निर्देश सेट विकल्प ===
=== निर्देश सेट विकल्प ===
पिछले कुछ वर्षों में निर्देश सेट मूल रूप से बहुत सरल से कभी-कभी बहुत जटिल (विभिन्न मामलों में) में बदल गए हैं। हाल के वर्षों में, लोड-स्टोर आर्किटेक्चर, बहुत लंबे निर्देश शब्द और [[स्पष्ट रूप से समानांतर निर्देश कंप्यूटिंग]] प्रकार फैशन में रहे हैं। आर्किटेक्चर जो [[डेटा समानता]] से निपट रहे हैं उनमें एकल निर्देश, एकाधिक डेटा और [[वेक्टर प्रोसेसर]] शामिल हैं। सीपीयू आर्किटेक्चर की कक्षाओं को दर्शाने के लिए उपयोग किए जाने वाले कुछ लेबल विशेष रूप से वर्णनात्मक नहीं हैं, खासकर सीआईएससी लेबल; पूर्वप्रभावी रूप से [[जटिल अनुदेश सेट कंप्यूटर]] को दर्शाने वाले कई शुरुआती डिज़ाइन वास्तव में आधुनिक आरआईएससी प्रोसेसर (कई मामलों में) की तुलना में काफी सरल हैं।
इस प्रकार से पिछले कुछ वर्षों में निर्देश सेट मूल रूप से अधिक सरल से कभी-कभी अधिक समिष्ट (विभिन्न स्तिथियों में) में परिवर्तित हो गए हैं। वर्तमान समय में, लोड-स्टोर आर्किटेक्चर, अधिक लंबे निर्देश शब्द और [[स्पष्ट रूप से समानांतर निर्देश कंप्यूटिंग]] प्रकार विधान में रहे हैं। आर्किटेक्चर जो [[डेटा समानता]] से निपट रहे हैं उनमें एकल निर्देश, एकाधिक डेटा और [[वेक्टर प्रोसेसर]] सम्मिलित हैं। सीपीयू आर्किटेक्चर की कक्षाओं को दर्शाने के लिए उपयोग किए जाने वाले कुछ लेबल विशेष रूप से वर्णनात्मक नहीं हैं, खासकर सीआईएससी लेबल; पूर्वप्रभावी रूप से [[जटिल अनुदेश सेट कंप्यूटर|समिष्ट अनुदेश सेट कंप्यूटर]] को दर्शाने वाले कई प्रारंभिक डिज़ाइन वास्तव में आधुनिक आरआईएससी प्रोसेसर (कई स्तिथियों में) की तुलना में अधिक सरल हैं।


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


=== निर्देश पाइपलाइनिंग ===
=== निर्देश पाइपलाइनिंग ===
{{Main|Instruction pipelining}}
{{Main|निर्देश पाइपलाइन}}


प्रदर्शन को बेहतर बनाने की पहली और सबसे शक्तिशाली तकनीकों में से एक है [[ अनुदेश पाइपलाइनिंग ]] का उपयोग। शुरुआती प्रोसेसर डिज़ाइन अगले निर्देश पर जाने से पहले एक निर्देश के लिए उपरोक्त सभी चरणों को पूरा करेंगे। सर्किटरी के बड़े हिस्से को किसी एक चरण पर निष्क्रिय छोड़ दिया गया था; उदाहरण के लिए, निर्देश डिकोडिंग सर्किटरी निष्पादन आदि के दौरान निष्क्रिय रहेगी।
इस प्रकार से प्रदर्शन को उत्तम बनाने की प्रथम और अधिक शक्तिशाली विधियों में से है जो की [[ अनुदेश पाइपलाइनिंग |अनुदेश पाइपलाइनिंग]] का उपयोग है । और प्रारंभिक प्रोसेसर डिज़ाइन अगले निर्देश पर जाने से प्रथम निर्देश के लिए उपरोक्त सभी चरणों को पूर्ण करते है । परिपथरी के उच्च भागो को किसी चरण पर निष्क्रिय छोड़ दिया गया था; अतः उदाहरण के लिए, निर्देश डिकोडिंग परिपथरी निष्पादन आदि के समय निष्क्रिय रहेगी।


पाइपलाइनिंग एक ही समय में प्रोसेसर के माध्यम से कई निर्देशों को काम करने की अनुमति देकर प्रदर्शन में सुधार करती है। उसी मूल उदाहरण में, प्रोसेसर एक नए निर्देश को डीकोड करना शुरू कर देगा (चरण 1) जबकि अंतिम निर्देश परिणाम की प्रतीक्षा कर रहा था। यह एक समय में अधिकतम चार निर्देशों को उड़ान भरने की अनुमति देगा, जिससे प्रोसेसर चार गुना तेज दिखेगा। हालाँकि किसी भी एक निर्देश को पूरा होने में उतना ही समय लगता है (अभी भी चार चरण हैं) कुल मिलाकर सीपीयू बहुत तेजी से निर्देशों को समाप्त कर देता है।
चूंकि पाइपलाइनिंग कई निर्देशों को एक ही समय में प्रोसेसर के माध्यम से कार्य करने की अनुमति देकर प्रदर्शन में सुधार करती है। उसी मूल उदाहरण में, प्रोसेसर नए निर्देश को डीकोड करना प्रारंभ कर देगा (चरण 1) जबकि अंतिम निर्देश परिणाम की प्रतीक्षा कर रहा था। यह समय में अधिकतम चार निर्देशों को "उड़ान में" की अनुमति देता है , जिससे प्रोसेसर चार गुना तीव्र दिखेगा। चूंकि किसी भी निर्देश को पूर्ण होने में उतना ही समय लगता है (अभी भी चार चरण हैं) कुल मिलाकर सीपीयू अधिक तीव्र से निर्देशों को समाप्त कर देता है।


आरआईएससी निर्देश प्रक्रिया के प्रत्येक चरण को सफाई से अलग करके और उन्हें समान समय - एक चक्र - बनाकर पाइपलाइनों को छोटा और निर्माण करना बहुत आसान बनाता है। संपूर्ण प्रोसेसर एक [[ समनुक्रम ]] फैशन में काम करता है, जिसमें निर्देश एक तरफ से आते हैं और परिणाम दूसरी तरफ से आते हैं। [[क्लासिक आरआईएससी पाइपलाइन]] की कम जटिलता के कारण, पाइपलाइनयुक्त कोर और एक निर्देश कैश को एक ही आकार के डाई पर रखा जा सकता है जो अन्यथा सीआईएससी डिजाइन पर अकेले कोर को फिट करेगा। यही वास्तविक कारण था कि आरआईएससी तेज़ था। [[SPARC]] और MIPS आर्किटेक्चर जैसे शुरुआती डिज़ाइन अक्सर समान क्लॉक स्पीड और कीमत पर [[इंटेल]] और [[ MOTOROLA ]] CISC समाधानों की तुलना में 10 गुना अधिक तेज़ चलते थे।
अतः श्रेष्ट आरआईएससी निर्देश प्रक्रिया के प्रत्येक चरण को सावधानीपूर्वक अलग करके और उन्हें समान समय चक्र बनाकर पाइपलाइनों को लघु निर्माण करना अधिक सरल बनाता है। और संपूर्ण प्रोसेसर [[ समनुक्रम |समनुक्रम]] विधान में काम करता है, जिसमें निर्देश एक ओर से आते हैं और परिणाम दूसरी ओर से आते हैं। [[क्लासिक आरआईएससी पाइपलाइन|उत्कृष्ट आरआईएससी पाइपलाइन]] की कम समिष्टतः के कारण, पाइपलाइनयुक्त कोर और निर्देश कैश को ही आकार के डाई पर रखा जा सकता है जो की अन्यथा सीआईएससी डिजाइन पर अकेले कोर को फिट करता है । यही वास्तविक कारण था कि आरआईएससी तीव्र था। [[SPARC|स्पार्क]] और एमआईपीएस आर्किटेक्चर जैसे प्रारंभिक डिज़ाइन प्रायः समान क्लॉक स्पीड और मूल्य पर [[इंटेल]] और [[ MOTOROLA |मोटोरोला]] सीआईएससी समाधानों की तुलना में 10 गुना अधिक तीव्र चलते थे।


पाइपलाइनें किसी भी तरह से आरआईएससी डिज़ाइन तक सीमित नहीं हैं। 1986 तक टॉप-ऑफ़-द-लाइन VAX कार्यान्वयन ([[VAX 8000]]) एक भारी पाइपलाइन डिज़ाइन था, जो पहले वाणिज्यिक MIPS और SPARC डिज़ाइनों से थोड़ा पहले का था। अधिकांश आधुनिक सीपीयू (यहां तक ​​​​कि एम्बेडेड सीपीयू) अब पाइपलाइन में हैं, और बिना पाइपलाइन वाले माइक्रोकोडेड सीपीयू केवल सबसे अधिक क्षेत्र-बाधित एम्बेडेड प्रोसेसर में देखे जाते हैं।{{Example needed |s|date=December 2018}} VAX 8800 से लेकर आधुनिक पेंटियम 4 और एथलॉन तक बड़ी CISC मशीनें, माइक्रोकोड और पाइपलाइन दोनों के साथ कार्यान्वित की जाती हैं। पाइपलाइनिंग और कैशिंग में सुधार दो प्रमुख माइक्रोआर्किटेक्चरल प्रगति हैं जिन्होंने प्रोसेसर के प्रदर्शन को सर्किट तकनीक के साथ तालमेल बनाए रखने में सक्षम बनाया है जिस पर वे आधारित हैं।
चूंकि पाइपलाइनें किसी भी प्रकार से आरआईएससी डिज़ाइन तक सीमित नहीं हैं। किन्तु 1986 तक टॉप-ऑफ़-द-लाइन वीएएक्स कार्यान्वयन ([[VAX 8000|वीएएक्स 8000]]) हैवी पाइपलाइन डिज़ाइन था, जो पहले वाणिज्यिक एमआईपीएस और स्पार्क डिज़ाइनों से थोड़ा पहले का था। अधिकांश आधुनिक सीपीयू (यहां तक ​​​​कि एम्बेडेड सीपीयू) अब पाइपलाइन में हैं, और बिना पाइपलाइन वाले माइक्रोकोडेड सीपीयू केवल सबसे अधिक क्षेत्र-बाधित एम्बेडेड प्रोसेसर में देखे जाते हैं। वीएएक्स 8800 से लेकर आधुनिक पेंटियम 4 और एथलॉन तक उच्च सीआईएससी मशीनें, माइक्रोकोड और पाइपलाइन दोनों के साथ कार्यान्वित की जाती हैं। पाइपलाइनिंग और कैशिंग में सुधार दो प्रमुख माइक्रोआर्किटेक्चर ल प्रगति हैं जिन्होंने प्रोसेसर के प्रदर्शन को परिपथ विधियों के साथ सामंजस्य बनाए रखने में सक्षम बनाया है जिस पर वे आधारित हैं।


=== कैश ===
=== कैश ===
{{Main|CPU cache}}
{{Main|सीपीयू कैश}}


चिप निर्माण में सुधार से ज्यादा समय नहीं बीता, जब डाई पर और भी अधिक सर्किटरी लगाने की अनुमति मिल गई, और डिजाइनरों ने इसका उपयोग करने के तरीकों की तलाश शुरू कर दी। सबसे आम में से एक ऑन-डाई [[सीपीयू कैश]] की बढ़ती मात्रा को जोड़ना था। कैश बहुत तेज़ और महंगी मेमोरी है। इसे मुख्य मेमोरी से बात करने के लिए आवश्यक कई चक्रों के विपरीत कुछ चक्रों में ही एक्सेस किया जा सकता है। सीपीयू में एक कैश नियंत्रक शामिल होता है जो कैश से पढ़ने और लिखने को स्वचालित करता है। यदि डेटा पहले से ही कैश में है तो इसे वहां से एक्सेस किया जा सकता है - जिससे काफी समय की बचत होती है, जबकि यदि ऐसा नहीं है तो कैश नियंत्रक द्वारा इसे पढ़ते समय प्रोसेसर रुक जाता है।
इस प्रकार से चिप निर्माण में उन्नति से अधिक समय नहीं बीता है जब डाई पर और भी अधिक परिपथरी लगाने की अनुमति मिल गई है और डिजाइनरों ने इसका उपयोग करने के विधियों की खोज प्रारंभ कर दी है । अधिक सरल में से ऑन-डाई [[सीपीयू कैश]] की बढ़ती मात्रा को जोड़ना था। और कैश अधिक तीव्र और बहुमूल्य मेमोरी है। इसे मुख्य मेमोरी से संवाद करने के लिए आवश्यक कई चक्रों के विपरीत कुछ चक्रों में ही एक्सेस किया जा सकता है। सीपीयू में कैश नियंत्रक सम्मिलित होता है जो कैश से पढ़ने और लिखने को स्वचालित करता है। यदि डेटा पहले से ही कैश में है तो इसे वहां से एक्सेस किया जा सकता है जिससे अधिक समय की बचत होती है, जबकि ऐसा नहीं है तब कैश नियंत्रक द्वारा इसे पढ़ते समय प्रोसेसर रुक जाता है।


आरआईएससी डिज़ाइनों ने 1980 के दशक के मध्य से अंत तक कैश जोड़ना शुरू किया, अक्सर कुल मिलाकर केवल 4 केबी। समय के साथ यह संख्या बढ़ती गई, और सामान्य सीपीयू में अब कम से कम 2 एमबी होते हैं, जबकि अधिक शक्तिशाली सीपीयू 4 या 6 या 12 एमबी या यहां तक ​​कि 32 एमबी या उससे अधिक के साथ आते हैं, जिनमें से सबसे अधिक 768 एमबी नई जारी ईपीवाईसी मिलान-एक्स लाइन में है, जो कि आयोजित किया गया है। [[स्मृति पदानुक्रम]] के एकाधिक स्तर। सामान्यतया, कम रुकावट के कारण अधिक कैश का मतलब अधिक प्रदर्शन है।
अतः आरआईएससी डिज़ाइनों ने 1980 के दशक के मध्य से अंत तक कैश जोड़ना प्रारंभ किया, प्रायः कुल मिलाकर केवल 4 केबी समय के साथ यह संख्या बढ़ती गई, और सामान्य सीपीयू में अब कम से कम 2 एमबी होते हैं, जबकि अधिक शक्तिशाली सीपीयू 4 या 6 या 12 एमबी या यहां तक ​​कि 32 एमबी या उससे अधिक के साथ आते हैं, जिनमें से सबसे अधिक 768 एमबी नई जारी ईपीवाईसी मिलान-एक्स लाइन में है, जो कि आयोजित किया गया है। [[स्मृति पदानुक्रम|मेमोरी पदानुक्रम.]] सामान्यतः , कम रुकावट के कारण अधिक कैश का अर्थ है और कम रुकावट के कारण अधिक प्रदर्शन है।  


कैश और पाइपलाइन एक दूसरे से बिल्कुल मेल खाते थे। पहले, ऐसी पाइपलाइन बनाने का कोई मतलब नहीं था जो ऑफ-चिप मेमोरी की एक्सेस विलंबता से तेज़ चल सके। इसके बजाय ऑन-चिप कैश मेमोरी का उपयोग करने का मतलब है कि एक पाइपलाइन कैश एक्सेस विलंबता की गति से चल सकती है, जो समय की बहुत छोटी लंबाई है। इससे प्रोसेसर की ऑपरेटिंग आवृत्तियों को ऑफ-चिप मेमोरी की तुलना में बहुत तेज दर से बढ़ने की अनुमति मिली।
इस प्रकार से कैश और पाइपलाइन दूसरे से अधिक मेल खाते थे। अतः , ऐसी पाइपलाइन बनाने का कोई तथ्य नहीं था जो की ऑफ-चिप मेमोरी की एक्सेस विलंबता से तीव्र चल सकती है । इसके अतिरिक्त ऑन-चिप कैश मेमोरी का उपयोग करने का तथ्य है कि पाइपलाइन कैश एक्सेस विलंबता की गति से चल सकती है, जो समय की अधिक लघु लंबाई है। इससे प्रोसेसर की ऑपरेटिंग आवृत्तियों को ऑफ-चिप मेमोरी की तुलना में अधिक तीव्र दर से बढ़ने की अनुमति मिली है ।


=== शाखा भविष्यवाणी ===
=== शाखा पूर्वानुमान ===
{{Main|Branch predictor}}
{{Main|शाखा भविष्यवक्ता}}


निर्देश-स्तरीय समानता के माध्यम से उच्च प्रदर्शन प्राप्त करने में एक बाधा शाखाओं के कारण पाइपलाइन स्टालों और फ्लश से उत्पन्न होती है। आम तौर पर, सशर्त शाखा ली जाएगी या नहीं, यह पाइपलाइन में देर तक ज्ञात नहीं होता है क्योंकि सशर्त शाखाएं एक रजिस्टर से आने वाले परिणामों पर निर्भर करती हैं। उस समय से जब प्रोसेसर के निर्देश डिकोडर को पता चला है कि उसे एक सशर्त शाखा निर्देश का सामना करना पड़ा है, उस समय तक जब निर्णायक रजिस्टर मान को पढ़ा जा सकता है, पाइपलाइन को कई चक्रों के लिए रोकना होगा, या यदि ऐसा नहीं है और शाखा है लिया गया, पाइपलाइन को फ्लश करने की आवश्यकता है। जैसे-जैसे घड़ी की गति बढ़ती है, पाइपलाइन की गहराई भी इसके साथ बढ़ती है, और कुछ आधुनिक प्रोसेसर में 20 चरण या अधिक हो सकते हैं। औसतन, निष्पादित प्रत्येक पांचवां निर्देश एक शाखा है, इसलिए बिना किसी हस्तक्षेप के, यह बहुत अधिक मात्रा में रुकावट है।
निर्देश-स्तरीय समानता के माध्यम से उच्च प्रदर्शन प्राप्त करने में बाधा शाखाओं के कारण पाइपलाइन स्टालों और निस्तब्धता से उत्पन्न होती है। सामान्यतः , नियमबद्ध शाखा ली जाएगी या नहीं, यह पाइपलाइन में देर तक ज्ञात नहीं होता है क्योंकि नियमबद्ध शाखाएं रजिस्टर से आने वाले परिणामों पर निर्भर करती हैं। उस समय से जब प्रोसेसर के निर्देश डिकोडर को पता चला है कि उसे नियमबद्ध शाखा निर्देश का सामना करना पड़ा है, उस समय तक जब निर्णायक रजिस्टर मान को पढ़ा जा सकता है, पाइपलाइन को अनेक चक्रों के लिए रोकना होगा, या यदि ऐसा नहीं है और शाखा ले ली गई है, चुकी पाइपलाइन को निस्तब्धता करने की आवश्यकता है। जैसे-जैसे घड़ी की गति बढ़ती है, पाइपलाइन की गहराई भी इसके साथ बढ़ती है, और कुछ आधुनिक प्रोसेसर में 20 चरण या अधिक हो सकते हैं। औसतन, निष्पादित प्रत्येक पांचवां निर्देश शाखा है, इसलिए बिना किसी हस्तक्षेप के यह अधिक सीमा तक रुका हुआ है।


इन शाखा दंडों को कम करने के लिए [[शाखा भविष्यवाणी]] और [[सट्टा निष्पादन]] जैसी तकनीकों का उपयोग किया जाता है। शाखा भविष्यवाणी वह है जहां हार्डवेयर शिक्षित अनुमान लगाता है कि कोई विशेष शाखा ली जाएगी या नहीं। वास्तव में शाखा के एक पक्ष या दूसरे पक्ष को दूसरे पक्ष की तुलना में अधिक बार बुलाया जाएगा। आधुनिक डिज़ाइनों में जटिल सांख्यिकीय भविष्यवाणी प्रणालियाँ होती हैं, जो अधिक सटीकता के साथ भविष्य की भविष्यवाणी करने के लिए पिछली शाखाओं के परिणामों को देखती हैं। अनुमान हार्डवेयर को रजिस्टर पढ़ने की प्रतीक्षा किए बिना निर्देशों को प्रीफ़ेच करने की अनुमति देता है। सट्टा निष्पादन एक और संवर्द्धन है जिसमें पूर्वानुमानित पथ के साथ कोड को न केवल प्रीफ़ेच किया जाता है बल्कि यह ज्ञात होने से पहले भी निष्पादित किया जाता है कि शाखा ली जानी चाहिए या नहीं। अनुमान अच्छा होने पर यह बेहतर प्रदर्शन प्रदान कर सकता है, जबकि अनुमान खराब होने पर भारी जुर्माने का जोखिम हो सकता है क्योंकि निर्देशों को पूर्ववत करने की आवश्यकता होती है।
इस प्रकार से शाखा दंडों को कम करने के लिए [[शाखा भविष्यवाणी|शाखा पूर्वानुमान]] और [[सट्टा निष्पादन]] जैसी विधियों का उपयोग किया जाता है। शाखा पूर्वानुमान वह है जहां हार्डवेयर शिक्षित अनुमान लगाता है कि कोई विशेष शाखा ली जाएगी या नहीं, वास्तव में शाखा के पक्ष या दूसरे पक्ष को दूसरे पक्ष की तुलना में अधिक बार बुलाया जाता है। आधुनिक डिज़ाइनों में समिष्ट सांख्यिकीय पूर्वानुमान प्रणालियाँ होती हैं, जो अधिक स्पष्ट रूप से वर्तमान में पूर्वानुमान करने के लिए पिछली शाखाओं के परिणामों को दर्शाती हैं। अनुमान हार्डवेयर को रजिस्टर पढ़ने की प्रतीक्षा किए बिना निर्देशों को प्रीफ़ेच करने की अनुमति देता है। सट्टा निष्पादन और संवर्द्धन है जिसमें पूर्वानुमानित पथ के साथ कोड को न केवल प्रीफ़ेच किया जाता है किन्तु यह ज्ञात होने के पश्चात भी निष्पादित किया जाता है कि शाखा ली जानी चाहिए या नहीं, अनुमान ठीक होने पर यह उत्तम प्रदर्शन प्रदान कर सकता है, इस प्रकार से अनुमान व्यर्थ होने पर हैवी जुर्माने की कठिनाई हो सकती है क्योंकि निर्देशों को पूर्ववत करने की आवश्यकता होती है।


=== सुपरस्केलर ===
=== सुपरस्केलर ===
{{Main|Superscalar}}
{{Main|सुपरस्केलर}}


यहां तक ​​कि ऊपर उल्लिखित अवधारणाओं का समर्थन करने के लिए आवश्यक सभी अतिरिक्त जटिलताओं और गेटों के साथ, सेमीकंडक्टर निर्माण में सुधार ने जल्द ही और भी अधिक लॉजिक गेट्स का उपयोग करने की अनुमति दी।
ऊपर उल्लिखित अवधारणाओं का समर्थन करने के लिए आवश्यक सभी अतिरिक्त समष्टि और गेटों के साथ भी अर्धचालक निर्माण में सुधार ने शीघ्र ही और भी अधिक लॉजिक गेटों का उपयोग करने की अनुमति दी है।


उपरोक्त रूपरेखा में प्रोसेसर एक समय में एक ही निर्देश के कुछ हिस्सों को संसाधित करता है। यदि कई निर्देशों को एक साथ संसाधित किया जाए तो कंप्यूटर प्रोग्राम तेजी से निष्पादित हो सकते हैं। एएलयू जैसी कार्यात्मक इकाइयों की नकल करके, [[सुपरस्केलर]] प्रोसेसर यही हासिल करते हैं। कार्यात्मक इकाइयों की प्रतिकृति केवल तभी संभव हो पाई जब एकल-इश्यू प्रोसेसर का डाई क्षेत्र विश्वसनीय रूप से निर्मित की जा सकने वाली चीज़ों की सीमा को नहीं बढ़ाता। 1980 के दशक के अंत तक, सुपरस्केलर डिज़ाइन बाज़ार में आने लगे।
उपरोक्त रूपरेखा में प्रोसेसर समय में ही निर्देश के कुछ भागो को संसाधित करता है। यदि अनेक निर्देशों को साथ संसाधित किया जाए तब यह कंप्यूटर प्रोग्राम तीव्र से निष्पादित हो सकते हैं। और एएलयू जैसी कार्यात्मक इकाइयों की कॉपी करके, [[सुपरस्केलर]] प्रोसेसर प्राप्त करते हैं। कार्यात्मक इकाइयों की प्रतिकृति केवल तब संभव होती है जब एकल-इश्यू प्रोसेसर का डाई क्षेत्र विश्वसनीय रूप से निर्मित की जा सकने वाली चीज़ों की सीमा को नहीं बढ़ाता है । अतः 1980 के दशक के अंत तक, सुपरस्केलर डिज़ाइन बाज़ार में आने लगे थे ।


आधुनिक डिज़ाइनों में दो लोड इकाइयाँ, एक स्टोर (कई निर्देशों को संग्रहीत करने के लिए कोई परिणाम नहीं होता), दो या अधिक पूर्णांक गणित इकाइयाँ, दो या अधिक फ़्लोटिंग पॉइंट इकाइयाँ, और अक्सर एक एकल निर्देश, किसी प्रकार की एकाधिक डेटा इकाई मिलना आम बात है। . मेमोरी से निर्देशों की एक विशाल सूची को पढ़ने और उन्हें उस बिंदु पर निष्क्रिय विभिन्न निष्पादन इकाइयों को सौंपने से निर्देश जारी करने का तर्क जटिलता में बढ़ता है। फिर परिणाम एकत्र किए जाते हैं और अंत में पुनः व्यवस्थित किए जाते हैं।
आधुनिक डिज़ाइनों में दो लोड इकाइयाँ, स्टोर (कई निर्देशों को संग्रहीत करने के लिए कोई परिणाम नहीं होता), दो या अधिक पूर्णांक गणित इकाइयाँ, दो या अधिक फ़्लोटिंग पॉइंट इकाइयाँ, और प्रायः एकल निर्देश, किसी प्रकार की एकाधिक डेटा इकाई मिलना समान रूप है। इस प्रकार से मेमोरी से निर्देशों की विशाल सूची को पढ़ने और उन्हें उस बिंदु पर निष्क्रिय विभिन्न निष्पादन इकाइयों को सौंपने से निर्देश प्राप्त करने का तर्क समिष्टतः में बढ़ता है। फिर परिणाम एकत्र किए जाते हैं और अंत में पुनः व्यवस्थित किए जाते हैं।


=== आउट-ऑफ़-ऑर्डर निष्पादन ===
=== आउट-ऑफ़-ऑर्डर निष्पादन ===
{{Main|Out-of-order execution}}
{{Main|आउट-ऑफ़-ऑर्डर निष्पादन}}


कैश को जोड़ने से मेमोरी पदानुक्रम से डेटा प्राप्त होने की प्रतीक्षा के कारण स्टालों की आवृत्ति या अवधि कम हो जाती है, लेकिन इन स्टालों से पूरी तरह छुटकारा नहीं मिलता है। शुरुआती डिज़ाइनों में कैश मिस होने से कैश नियंत्रक को प्रोसेसर को रोकने और प्रतीक्षा करने के लिए बाध्य होना पड़ता था। निःसंदेह प्रोग्राम में कुछ अन्य निर्देश भी हो सकते हैं जिनका डेटा उस समय कैश में उपलब्ध हो। [[आउट-ऑफ़-ऑर्डर निष्पादन]] उस तैयार निर्देश को संसाधित करने की अनुमति देता है जबकि एक पुराना निर्देश कैश पर प्रतीक्षा करता है, फिर परिणामों को फिर से आदेश देता है ताकि यह प्रतीत हो कि सब कुछ प्रोग्राम किए गए क्रम में हुआ। इस तकनीक का उपयोग अन्य ऑपरेंड निर्भरता स्टालों से बचने के लिए भी किया जाता है, जैसे लंबी विलंबता फ़्लोटिंग-पॉइंट ऑपरेशन या अन्य बहु-चक्र संचालन से परिणाम की प्रतीक्षा करने वाला निर्देश।
अर्थात कैश को जोड़ने से मेमोरी पदानुक्रम से डेटा प्राप्त होने की प्रतीक्षा के कारण स्टालों की आवृत्ति या अवधि घट जाती है, किन्तु इन स्टालों से पूर्ण रूप से छुटकारा नहीं मिलता है। प्रारंभिक डिज़ाइनों में कैश मिस होने से कैश नियंत्रक को प्रोसेसर को रोकने और प्रतीक्षा करने के लिए बाध्य होना पड़ता था। निःसंदेह प्रोग्राम में कुछ अन्य निर्देश भी हो सकते हैं जिनका डेटा उस समय कैश में उपलब्ध होता है। और [[आउट-ऑफ़-ऑर्डर निष्पादन]] उस तैयार निर्देश को संसाधित करने की अनुमति देता है जबकि उच्च निर्देश कैश पर प्रतीक्षा करता है, फिर परिणामों को पुनः आदेश देता है जिससे यह प्रतीत होता है कि सभी प्रकार के प्रोग्राम किए गए क्रम में हुआ है । इस विधियों का उपयोग अन्य ऑपरेंड निर्भरता स्टालों से सुरक्षित करने के लिए भी किया जाता है, जैसे लंबी विलंबता फ़्लोटिंग-पॉइंट ऑपरेशन या अन्य बहु-चक्र संचालन से परिणाम की प्रतीक्षा करने वाला निर्देश है ।


===रजिस्टर का नाम बदलना ===
===नामांतरण रजिस्टर ===
{{Main|Register renaming}}
{{Main|नाम परिवर्तन रजिस्टर करें}}


रजिस्टर का नाम बदलना एक ऐसी तकनीक को संदर्भित करता है जिसका उपयोग उन निर्देशों द्वारा समान रजिस्टरों के पुन: उपयोग के कारण प्रोग्राम निर्देशों के अनावश्यक क्रमबद्ध निष्पादन से बचने के लिए किया जाता है। मान लीजिए कि हमारे पास निर्देश के दो समूह हैं जो समान प्रोसेसर रजिस्टर का उपयोग करेंगे। रजिस्टर को दूसरे सेट पर छोड़ने के लिए निर्देशों के एक सेट को पहले निष्पादित किया जाता है, लेकिन यदि दूसरे सेट को एक अलग समान रजिस्टर को सौंपा जाता है, तो निर्देशों के दोनों सेटों को समानांतर (या) श्रृंखला में निष्पादित किया जा सकता है।
रजिस्टर का नाम परिवर्तित करके ऐसी विधियों को संदर्भित करता है जिसका उपयोग उन निर्देशों द्वारा समान रजिस्टरों के पुन: उपयोग के कारण प्रोग्राम निर्देशों के अनावश्यक क्रमबद्ध निष्पादन से सुरक्षित करने के लिए किया जाता है। मान लीजिए कि हमारे पास निर्देश के दो समूह हैं जो समान प्रोसेसर रजिस्टर का उपयोग करते है । रजिस्टर को दूसरे सेट पर छोड़ने के लिए निर्देशों के सेट को पहले निष्पादित किया जाता है, किन्तु यदि दूसरे सेट को अलग समान रजिस्टर को सौंपा जाता है, तो निर्देशों के दोनों सेटों को समानांतर (या) श्रृंखला में निष्पादित किया जा सकता है।


=== मल्टीप्रोसेसिंग और मल्टीथ्रेडिंग ===
=== मल्टीप्रोसेसिंग और मल्टीथ्रेडिंग ===
{{Main|Multiprocessing|Multithreading (computer architecture)}}
{{Main|मल्टीप्रोसेसिंग|मल्टीथ्रेडिंग (कंप्यूटर आर्किटेक्चर)}}


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


इस प्रवृत्ति को कभी-कभी थ्रूपुट कंप्यूटिंग के रूप में जाना जाता है। यह विचार मेनफ्रेम बाजार में उत्पन्न हुआ जहां [[ओएलटीपी]] ने न केवल एक लेनदेन की निष्पादन गति पर जोर दिया, बल्कि बड़ी संख्या में लेनदेन से निपटने की क्षमता पर भी जोर दिया। पिछले दशक में नेटवर्क रूटिंग और वेब-साइट सेवा जैसे लेनदेन-आधारित अनुप्रयोगों में काफी वृद्धि हुई है, कंप्यूटर उद्योग ने क्षमता और थ्रूपुट मुद्दों पर फिर से जोर दिया है।
इस प्रवृत्ति को कभी-कभी थ्रूपुट कंप्यूटिंग के रूप में जाना जाता है। यह विचार मेनफ्रेम बाजार में उत्पन्न हुआ जहां [[ओएलटीपी]] ने न केवल लेनदेन की निष्पादन गति पर बल दिया है किन्तु उच्च संख्या में लेनदेन से समाप्त करने की क्षमता पर भी बल दिया है । पिछले दशक में नेटवर्क रूटिंग और वेब-साइट सेवा जैसे लेनदेन-आधारित अनुप्रयोगों में अधिक वृद्धि हुई है, कंप्यूटर उद्योग ने क्षमता और थ्रूपुट नियम पर पुनः बल दिया है।  


यह समानता कैसे हासिल की जाती है इसकी एक तकनीक [[ बहु ]] सिस्टम, कई सीपीयू वाले कंप्यूटर सिस्टम के माध्यम से है। एक बार हाई-एंड [[ मेनफ़्रेम कंप्यूटर ]] और [[सुपर कंप्यूटर]] के लिए आरक्षित होने के बाद, छोटे पैमाने के (2-8) मल्टीप्रोसेसर सर्वर छोटे व्यवसाय बाजार के लिए आम हो गए हैं। बड़े निगमों के लिए, बड़े पैमाने (16-256) मल्टीप्रोसेसर आम हैं। यहां तक ​​कि कई सीपीयू वाले [[ निजी कंप्यूटर ]] भी 1990 के दशक से सामने आए हैं।
यह समानता से कैसे प्राप्त की जाती है इसकी विधियों [[ बहु |बहु]] सिस्टम, कई सीपीयू वाले कंप्यूटर सिस्टम के माध्यम से है। बार हाई-एंड [[ मेनफ़्रेम कंप्यूटर |मेनफ़्रेम कंप्यूटर]] और [[सुपर कंप्यूटर]] के लिए आरक्षित होने के पश्चात् , छोटे मापदंड के (2-8) मल्टीप्रोसेसर सर्वर छोटे व्यवसाय बाजार के लिए समान हो गए हैं। उच्च निगमों के लिए, उच्च मापों (16-256) मल्टीप्रोसेसर आम हैं। यहां तक ​​कि कई सीपीयू वाले [[ निजी कंप्यूटर |निजी कंप्यूटर]] भी 1990 के दशक से सामने आए हैं।


सेमीकंडक्टर प्रौद्योगिकी प्रगति के साथ ट्रांजिस्टर आकार में और कटौती उपलब्ध होने के साथ, [[मल्टी-कोर प्रोसेसर]] | मल्टी-कोर सीपीयू सामने आए हैं जहां एक ही सिलिकॉन चिप पर कई सीपीयू लागू किए जाते हैं। प्रारंभ में एम्बेडेड बाजारों को लक्षित करने वाले चिप्स में उपयोग किया जाता था, जहां सरल और छोटे सीपीयू सिलिकॉन के एक टुकड़े पर कई इंस्टेंटेशन को फिट करने की अनुमति देते थे। 2005 तक, सेमीकंडक्टर तकनीक ने दोहरी हाई-एंड डेस्कटॉप सीपीयू सीएमपी चिप्स को बड़ी मात्रा में निर्मित करने की अनुमति दी। कुछ डिज़ाइन, जैसे कि [[सन माइक्रोसिस्टम्स]] के [[अल्ट्रास्पार्क T1]], सिलिकॉन के एक टुकड़े पर अधिक प्रोसेसर फिट करने के लिए सरल (स्केलर, इन-ऑर्डर) डिज़ाइन में वापस आ गए हैं।
अर्धचालक प्रौद्योगिकी प्रगति के साथ ट्रांजिस्टर आकार में और कटौती उपलब्ध होने के साथ, [[मल्टी-कोर प्रोसेसर]] मल्टी-कोर सीपीयू सामने आए हैं जहां ही सिलिकॉन चिप पर कई सीपीयू प्रयुक्त किए जाते हैं। प्रारंभ में एम्बेडेड बाजारों को लक्षित करने वाले चिप्स में उपयोग किया जाता था, जहां सरल और छोटे सीपीयू सिलिकॉन के टुकड़े पर कई इंस्टेंटेशन को फिट करने की अनुमति देते थे। अतः 2005 तक, अर्धचालक विधियों ने दोहरी हाई-एंड डेस्कटॉप सीपीयू सीएमपी चिप्स को उच्च मात्रा में निर्मित करने की अनुमति दी है । कुछ डिज़ाइन, जैसे कि [[सन माइक्रोसिस्टम्स]] के [[अल्ट्रास्पार्क T1|अल्ट्रास्पार्क टी1]], सिलिकॉन के टुकड़े पर अधिक प्रोसेसर फिट करने के लिए सरल (स्केलर, इन-ऑर्डर) डिज़ाइन में वापस आ गए हैं।


एक और तकनीक जो हाल ही में अधिक लोकप्रिय हो गई है वह है [[मल्टीथ्रेडिंग (कंप्यूटर आर्किटेक्चर)]]मल्टीथ्रेडिंग में, जब प्रोसेसर को धीमी सिस्टम मेमोरी से डेटा लाना होता है, तो डेटा आने के लिए रुकने के बजाय, प्रोसेसर दूसरे प्रोग्राम या प्रोग्राम थ्रेड पर स्विच हो जाता है जो निष्पादित करने के लिए तैयार होता है। हालाँकि यह किसी विशेष प्रोग्राम/थ्रेड को गति नहीं देता है, लेकिन यह सीपीयू के निष्क्रिय रहने के समय को कम करके समग्र सिस्टम थ्रूपुट को बढ़ाता है।
और विधियों जो वर्तमान समय में अधिक लोकप्रिय हो गई है वह है [[मल्टीथ्रेडिंग (कंप्यूटर आर्किटेक्चर)]] मल्टीथ्रेडिंग में, जब प्रोसेसर को धीमी सिस्टम मेमोरी से डेटा लाना होता है, तो डेटा आने के लिए रुकने के अतिरिक्त , प्रोसेसर दूसरे प्रोग्राम या प्रोग्राम थ्रेड पर स्विच हो जाता है जो निष्पादित करने के लिए तैयार होता है। चूंकि यह किसी विशेष प्रोग्राम/थ्रेड को गति नहीं देता है, किन्तु यह सीपीयू के निष्क्रिय रहने के समय को कम करके समग्र सिस्टम थ्रूपुट को बढ़ाता है।


वैचारिक रूप से, मल्टीथ्रेडिंग ऑपरेटिंग सिस्टम स्तर पर एक [[संदर्भ स्विच]] के बराबर है। अंतर यह है कि एक मल्टीथ्रेडेड सीपीयू एक सीपीयू चक्र में थ्रेड स्विच कर सकता है, न कि सैकड़ों या हजारों सीपीयू चक्रों के बजाय एक संदर्भ स्विच के लिए सामान्य रूप से आवश्यकता होती है। यह प्रत्येक सक्रिय थ्रेड के लिए राज्य हार्डवेयर (जैसे रजिस्टर फ़ाइल और [[ कार्यक्रम गणक ]]) की प्रतिलिपि बनाकर हासिल किया जाता है।
इस प्रकार से वैचारिक रूप से, मल्टीथ्रेडिंग ऑपरेटिंग सिस्टम स्तर पर [[संदर्भ स्विच]] के समान है। अंतर यह है कि मल्टीथ्रेडेड सीपीयू सीपीयू चक्र में थ्रेड स्विच कर सकता है, न कि सैकड़ों या हजारों सीपीयू चक्रों के अतिरिक्त संदर्भ स्विच के लिए सामान्य रूप से आवश्यकता होती है। यह प्रत्येक सक्रिय थ्रेड के लिए राज्य हार्डवेयर (जैसे रजिस्टर फ़ाइल और [[ कार्यक्रम गणक |प्रोग्राम गणक]] ) की प्रतिलिपि बनाकर प्राप्त किया जाता है।


एक और वृद्धि [[एक साथ मल्टीथ्रेडिंग]] है। यह तकनीक सुपरस्केलर सीपीयू को एक ही चक्र में एक साथ विभिन्न प्रोग्राम/थ्रेड से निर्देशों को निष्पादित करने की अनुमति देती है।
अतः वृद्धि [[एक साथ मल्टीथ्रेडिंग|साथ मल्टीथ्रेडिंग]] है। यह विधियों सुपरस्केलर सीपीयू को ही चक्र में साथ विभिन्न प्रोग्राम/थ्रेड से निर्देशों को निष्पादित करने की अनुमति देती है।


== यह भी देखें ==
== यह भी देखें{{Portal|Electronics}}==
{{Portal|Electronics}}
{{Commons category|Microarchitectures}}
{{Commons category|Microarchitectures}}


* [[नियंत्रण यूनिट]]
* [[नियंत्रण यूनिट]]
* [[ हार्डवेयर वास्तुकला ]]
* [[ हार्डवेयर वास्तुकला | हार्डवेयर आर्किटेक्चर]]
* [[हार्डवेयर विवरण भाषा]] (एचडीएल)
* [[हार्डवेयर विवरण भाषा|हार्डवेयर विवरण लैन्गवेग]] (एचडीएल)
* [[निर्देश-स्तरीय समानता]] (आईएलपी)
* [[निर्देश-स्तरीय समानता]] (आईएलपी)
* [[एएमडी सीपीयू माइक्रोआर्किटेक्चर की सूची]]
* [[एएमडी सीपीयू माइक्रोआर्किटेक्चर की सूची]]
Line 149: Line 144:
* [[स्ट्रीम प्रोसेसिंग]]
* [[स्ट्रीम प्रोसेसिंग]]
* [[वीएचडीएल]]
* [[वीएचडीएल]]
* बहुत [[बड़े पैमाने पर एकीकरण]] (वीएलएसआई)
* अधिक [[बड़े पैमाने पर एकीकरण|उच्च मापों पर एकीकरण]] (वीएलएसआई)
* [[ Verilog ]]
* [[ Verilog | वेरिलोग]]


== संदर्भ ==
== संदर्भ ==
{{Reflist}}
{{Reflist}}
== अग्रिम पठन ==
== अग्रिम पठन ==
* {{cite book |first1=D. |last1=Patterson |first2=J. |last2=Hennessy |title=Computer Organization and Design: The Hardware/Software Interface |publisher=Morgan Kaufmann |date=2004 |isbn=1-55860-604-1 |url=https://archive.org/details/isbn_9781558606043 }}
* {{cite book |first1=D. |last1=Patterson |first2=J. |last2=Hennessy |title=Computer Organization and Design: The Hardware/Software Interface |publisher=Morgan Kaufmann |date=2004 |isbn=1-55860-604-1 |url=https://archive.org/details/isbn_9781558606043 }}
Line 168: Line 161:
* {{cite AV media |first=David A. |last=Patterson |date=10 October 2018 |title=A New Golden Age for Computer Architecture |url=https://www.youtube.com/watch?v=ctwj53r07yI  |publisher=US Berkeley ACM A.M. Turing Laureate Colloquium |id=ctwj53r07yI }}
* {{cite AV media |first=David A. |last=Patterson |date=10 October 2018 |title=A New Golden Age for Computer Architecture |url=https://www.youtube.com/watch?v=ctwj53r07yI  |publisher=US Berkeley ACM A.M. Turing Laureate Colloquium |id=ctwj53r07yI }}
{{CPU technologies}}
{{CPU technologies}}
[[Category: सेंट्रल प्रोसेसिंग यूनिट]] [[Category: अनुदेश प्रसंस्करण]] [[Category: माइक्रोआर्किटेक्चर्स| माइक्रोआर्किटेक्चर्स]] [[Category: माइक्रोप्रोसेसरों]]


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Collapse templates]]
[[Category:Commons category link is locally defined]]
[[Category:Created On 10/07/2023]]
[[Category:Created On 10/07/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Missing redirects]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with empty portal template]]
[[Category:Pages with script errors]]
[[Category:Portal templates with redlinked portals]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:अनुदेश प्रसंस्करण]]
[[Category:माइक्रोआर्किटेक्चर्स| माइक्रोआर्किटेक्चर्स]]
[[Category:माइक्रोप्रोसेसरों]]
[[Category:सेंट्रल प्रोसेसिंग यूनिट]]

Latest revision as of 14:29, 28 July 2023

कोर (माइक्रोआर्किटेक्चर ) माइक्रोआर्किटेक्चर का आरेख

कंप्यूटर इंजीनियरिंग में, माइक्रोआर्किटेक्चर , जिसे कंप्यूटर संगठन भी कहा जाता है और कभी-कभी इसे μarch या uarch के रूप में संक्षिप्त किया जाता है, विशेष केंद्रीय प्रसंस्करण इकाई में दिए गए निर्देश सेट आर्किटेक्चर ( आईएसए) को प्रयुक्त करने का विधि है।[1] किसी दिए गए आईएसए को विभिन्न माइक्रोआर्किटेक्चर के साथ कार्यान्वित किया जा सकता है;[2][3] किसी दिए गए डिज़ाइन के विभिन्न लक्ष्यों या प्रौद्योगिकी में परिवर्तन के कारण कार्यान्वयन भिन्न हो सकते हैं।[4]

इस प्रकार से कंप्यूटर आर्किटेक्चर माइक्रोआर्किटेक्चर और इंस्ट्रक्शन सेट आर्किटेक्चर का संयोजन है।

निर्देश सेट आर्किटेक्चर से संबंध

एकल बस के चारों ओर व्यवस्थित माइक्रोआर्किटेक्चर

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

चूंकि किसी मशीन के माइक्रोआर्किटेक्चर को सामान्यतः (अधिक या कम विस्तृत) आरेखों के रूप में दर्शाया जाता है जो की मशीन के विभिन्न माइक्रोआर्किटेक्चर ल मूल के अंतर्संबंधों का वर्णन करता है, जो एकल गेट और रजिस्टर से लेकर अंकगणितीय तर्क इकाइयों (एएलयू) और यहां उससे भी उच्च मूल को पूर्ण करने के लिए कुछ भी हो सकता है। मूल ये आरेख सामान्यतः डेटापथ (जहां डेटा रखा जाता है) और नियंत्रण पथ (जिसे डेटा को चलाने के लिए कहा जा सकता है) को अलग करते हैं।[5]

अतः सिस्टम को डिज़ाइन करने वाला व्यक्ति सामान्यतः विशिष्ट माइक्रोआर्किटेक्चर को प्रकार के डेटा प्रवाह आरेख के रूप में खींचता है। और ब्लॉक आरेख की तरह, माइक्रोआर्किटेक्चर आरेख अंकगणित और तर्क इकाई और फ़ाइल पंजीकृत करें जैसे माइक्रोआर्किटेक्चर ल मूल को एकल योजनाबद्ध प्रतीक के रूप में दिखाता है। सामान्यतः , आरेख उन मूल को तीरों, मोटी रेखाओं और पतली रेखाओं से जोड़ता है जिससे तीन-राज्य बसों (जिनके लिए बस को चलाने वाले प्रत्येक उपकरण के लिए तीन-राज्य बफर की आवश्यकता होती है), यूनिडायरेक्शनल (सदैव स्रोत द्वारा संचालित, जैसे) के मध्य अंतर करने के लिए तीरों, मोटी रेखाओं और पतली रेखाओं से जोड़ता है। चूंकि एकल स्रोत, जैसे कि सरल कंप्यूटरों पर एड्रेस बस सदैव मेमोरी एड्रेस रजिस्टर द्वार संचालित होती है), और व्यक्तिगत नियंत्रण रेखाए द्वारा संचालित होती है। इस प्रकार से अधि सरल कंप्यूटरों में डेटापथ या डेटापथ का एकल बस संगठन होता है – उनके पास ही तीन-राज्य बस है। अधिक समिष्ट कंप्यूटरों का आरेख सामान्यतः कई तीन-स्तर बसें दिखाता है, जो की मशीन के साथ अधिक संचालन करने में सहायता करती हैं।

जिससे प्रत्येक माइक्रोआर्किटेक्चर ल मूल को इसे प्रयुक्त करने के लिए उपयोग किए जाने वाले तर्क द्वारा के अंतर्संबंधों का वर्णन करने वाले योजनाबद्ध विधि से दर्शाया गया है। और प्रत्येक लॉजिक गेट को परिपथ आरेख द्वारा दर्शाया जाता है जो कुछ विशेष लॉजिक वर्ग में इसे प्रयुक्त करने के लिए उपयोग किए जाने वाले ट्रांजिस्टर के कनेक्शन का वर्णन करता है। विभिन्न माइक्रोआर्किटेक्चर वाली मशीनों में समान निर्देश सेट आर्किटेक्चर हो सकता है, और इस प्रकार वे समान प्रोग्राम निष्पादित करने में सक्षम हो सकते हैं। जिससे अर्धचालक निर्माण में प्रगति के साथ-साथ नए माइक्रोआर्किटेक्चर और/या परिपथरी समाधान, नई पीढ़ियों के प्रोसेसर को समान आईएसए का उपयोग करते हुए उच्च प्रदर्शन प्राप्त करने की अनुमति देते हैं।

अतः सिद्धांत रूप में, एकल माइक्रोआर्किटेक्चर माइक्रोकोड या राइटेबल कंट्रोल स्टोर्स में केवल समान परिवर्तन के साथ अनेक अलग-अलग आईएसए निष्पादित कर सकता है।

दृष्टिकोण

इंटेल 80286 माइक्रोआर्किटेक्चर

इस प्रकार से निर्देश पाइपलाइन डेटापथ वर्तमान समय में माइक्रोआर्किटेक्चर में सबसे अधिक उपयोग किया जाने वाला डेटापथ डिज़ाइन है। इस विधियों का उपयोग अधिकांश आधुनिक माइक्रोप्रोसेसरों, माइक्रोकंट्रोलर और डिजिटल सिग्नल प्रोसेसर में किया जाता है। पाइपलाइनयुक्त आर्किटेक्चर असेंबली लाइन की तरह कई निर्देशों को निष्पादन में ओवरलैप करने की अनुमति देता है। अर्थात पाइपलाइन में कई अलग-अलग चरण सम्मिलित हैं जो की माइक्रोआर्किटेक्चर डिज़ाइन में मौलिक हैं।[5] इनमें से कुछ चरणों में निर्देश लाना, निर्देश डिकोड करना, निष्पादित करना और वापस लिखना सम्मिलित किया गया है। कुछ आर्किटेक्चर में मेमोरी एक्सेस जैसे अन्य चरण सम्मिलित होते हैं। अतः पाइपलाइनों का डिज़ाइन केंद्रीय सूक्ष्म आर्किटेक्चर कार्यों में से है।

निष्पादन इकाइयाँ माइक्रोआर्किटेक्चर के लिए भी आवश्यक हैं। और निष्पादन इकाइयों में अंकगणितीय तर्क इकाइयाँ (एएलयू) फ़्लोटिंग पॉइंट इकाई इकाइयाँ (एफपीयू), लोड/स्टोर इकाइयाँ, शाखा पूर्वानुमान और एकल निर्देश, एकाधिक डेटा सम्मिलित हैं। ये इकाइयाँ प्रोसेसर का संचालन या गणना करती हैं। निष्पादन इकाइयों की संख्या, उनकी विलंबता और थ्रूपुट का चुनाव केंद्रीय माइक्रोआर्किटेक्चर ल डिज़ाइन कार्य है। सिस्टम के अन्दर विचरो का आकार, विलंबता, थ्रूपुट और कनेक्टिविटी भी सूक्ष्म आर्किटेक्चर निर्णय हैं।

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

आर्किटेक्चर डिज़ाइन के विपरीत, जहां विशिष्ट प्रदर्शन स्तर प्राप्त करना मुख्य लक्ष्य है, माइक्रोआर्किटेक्चर ल डिज़ाइन अन्य बाधाओं पर अधिक ध्यान देता है। चूंकि माइक्रोआर्किटेक्चर डिज़ाइन निर्णय सिस्टम में जो कुछ भी होता है उसे सीधे प्रभावित करते हैं, चिप क्षेत्र/निवेश , विद्युत की खपत, तर्क समिष्टतः , कनेक्टिविटी में सरलता , विनिर्माण क्षमता, डिबगिंग में सरलता और परीक्षण क्षमता जैसे नियम पर ध्यान दिया जाना चाहिए।

सूक्ष्म आर्किटेक्चर अवधारणाएँ

निर्देश चक्र

इस प्रकार से प्रोग्राम चलाने के लिए, सभी सिंगल- या मल्टी-चिप सीपीयू:

  1. निर्देश पढ़ें और उसे डिकोड करें
  2. निर्देश को संसाधित करने के लिए आवश्यक कोई भी संबद्ध डेटा खोजे
  3. निर्देश पर कार्रवाई करें
  4. परिणाम लिखें

इस प्रकार विद्युत विवृत होने तक निर्देश चक्र निरंतर दोहराया जाता है।

मल्टीसाइकल माइक्रोआर्किटेक्चर

ऐतिहासिक रूप से, प्रारंभिक कंप्यूटर मल्टीसाइकल डिज़ाइन वाले थे। सबसे लघु , कम-बहुमूल्य कंप्यूटर प्रायः अभी भी इस विधियों का उपयोग करते हैं। और मल्टीसाइकिल आर्किटेक्चर प्रायः तर्क मूल की कुल संख्या और उचित मात्रा में शक्ति का उपयोग करते हैं। उन्हें नियतात्मक समय और उच्च विश्वसनीयता के लिए डिज़ाइन किया जा सकता है। विशेष रूप से, नियमबद्ध शाखाएँ या व्यवधान लेते समय उनके पास रुकने के लिए कोई पाइपलाइन नहीं होती है। चूंकि , अन्य माइक्रोआर्किटेक्चर प्रायः समान तर्क वर्ग का उपयोग करके प्रति यूनिट समय में अधिक निर्देश निष्पादित करते हैं। इस प्रकार से उत्तम प्रदर्शन पर चर्चा करते समय, सुधार प्रायः मल्टीसाइकिल डिज़ाइन से संबंधित होता है।

मल्टीसाइकिल कंप्यूटर में, कंप्यूटर घड़ी के कई चक्रों में क्रम से चार चरण करता है। कुछ डिज़ाइन वैकल्पिक घड़ी किनारों पर क्रमिक चरणों को पूर्ण करके दो घड़ी चक्रों में अनुक्रम निष्पादित कर सकते हैं, संभवतः मुख्य चक्र के बाहर होने वाले लंबे संचालन के साथ उपयोग किया जाता है । इस प्रकार उदाहरण के लिए, प्रथम चक्र के बढ़ते किनारे पर प्रथम चरण, प्रथम चक्र के गिरते किनारे पर दूसरा चरण, आदि।

इस प्रकार से नियंत्रण तर्क में, चक्र काउंटर, चक्र स्थिति (उच्च या निम्न) और निर्देश डिकोड रजिस्टर के बिट्स का संयोजन यह निर्धारित करता है कि कंप्यूटर के प्रत्येक भाग को क्या करना चाहिए। किन्तु नियंत्रण तर्क को डिज़ाइन करने के लिए, प्रत्येक निर्देश के प्रत्येक चक्र में कंप्यूटर के प्रत्येक भाग के नियंत्रण संकेतों का वर्णन करने वाली बिट्स की श्रेणी बना सकते हैं। जिससे फिर, इस तर्क तालिका का परीक्षण सॉफ़्टवेयर सिमुलेशन रनिंग टेस्ट कोड में किया जा सकता है। यदि लॉजिक टेबल को मेमोरी में रखा जाता है और वास्तव में वास्तविक कंप्यूटर चलाने के लिए उपयोग किया जाता है, तो इसे माइक्रोप्रोग्राम कहा जाता है। कुछ कंप्यूटर डिज़ाइनों में, लॉजिक टेबल को लॉजिक गेट्स से बने कॉम्बिनेशन लॉजिक के रूप में अनुकूलित किया जाता है, सामान्यतः कंप्यूटर प्रोग्राम का उपयोग किया जाता है जो लॉजिक को अनुकूलित करता है। प्रारंभिक कंप्यूटरों ने नियंत्रण के लिए तदर्थ तर्क डिजाइन का उपयोग किया और इसे जब तक कि मौरिस विल्केस ने इस सारणीबद्ध दृष्टिकोण माइक्रोप्रोग्रामिंग का आविष्कार नहीं किया था ।[6]

निष्पादन गति बढ़ाना

चरणों की इस सरल दिखने वाली श्रृंखला को समिष्ट बनाने वाला तथ्य यह है कि मेमोरी पदानुक्रम, जिसमें कैश (कंप्यूटिंग), मुख्य मेमोरी और हार्ड डिस्क (जहां प्रोग्राम निर्देश और डेटा रहते हैं) जैसे गैर-वाष्पशील स्टोरेज सम्मिलित हैं, और सदैव प्रोसेसर की तुलना में धीमा रहा है । चरण (2) प्रायः कंप्यूटर बस पर डेटा पहुंचने में लंबी (सीपीयू शब्दों में) देरी का परिचय देता है। डिज़ाइनों में अधिक मात्रा में शोध किया गया है जिससे यथासंभव इन देरी से बचा जा सकता है । कुछ वर्षों में, केंद्रीय लक्ष्य समानांतर में अधिक निर्देशों को निष्पादित करना था, इस प्रकार प्रोग्राम की प्रभावी निष्पादन गति को बढ़ाना है। इन प्रयासों ने समिष्ट तर्क और परिपथ संरचनाएं प्रस्तुत कीं गई है । प्रारंभ में, इन विधियों के लिए आवश्यक परिपथरी की मात्रा के कारण इन विधियों को केवल बहुमूल्य मेनफ्रेम या सुपर कंप्यूटर पर ही प्रयुक्त किया जा सकता था। जैसे-जैसे अर्धचालक निर्माण में प्रगति हुई, इनमें से अधिक से अधिक विधियों को एकल अर्धचालक चिप पर प्रयुक्त किया जा सकता है। मूर का नियम देखें.

निर्देश सेट विकल्प

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

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

निर्देश पाइपलाइनिंग

इस प्रकार से प्रदर्शन को उत्तम बनाने की प्रथम और अधिक शक्तिशाली विधियों में से है जो की अनुदेश पाइपलाइनिंग का उपयोग है । और प्रारंभिक प्रोसेसर डिज़ाइन अगले निर्देश पर जाने से प्रथम निर्देश के लिए उपरोक्त सभी चरणों को पूर्ण करते है । परिपथरी के उच्च भागो को किसी चरण पर निष्क्रिय छोड़ दिया गया था; अतः उदाहरण के लिए, निर्देश डिकोडिंग परिपथरी निष्पादन आदि के समय निष्क्रिय रहेगी।

चूंकि पाइपलाइनिंग कई निर्देशों को एक ही समय में प्रोसेसर के माध्यम से कार्य करने की अनुमति देकर प्रदर्शन में सुधार करती है। उसी मूल उदाहरण में, प्रोसेसर नए निर्देश को डीकोड करना प्रारंभ कर देगा (चरण 1) जबकि अंतिम निर्देश परिणाम की प्रतीक्षा कर रहा था। यह समय में अधिकतम चार निर्देशों को "उड़ान में" की अनुमति देता है , जिससे प्रोसेसर चार गुना तीव्र दिखेगा। चूंकि किसी भी निर्देश को पूर्ण होने में उतना ही समय लगता है (अभी भी चार चरण हैं) कुल मिलाकर सीपीयू अधिक तीव्र से निर्देशों को समाप्त कर देता है।

अतः श्रेष्ट आरआईएससी निर्देश प्रक्रिया के प्रत्येक चरण को सावधानीपूर्वक अलग करके और उन्हें समान समय चक्र बनाकर पाइपलाइनों को लघु निर्माण करना अधिक सरल बनाता है। और संपूर्ण प्रोसेसर समनुक्रम विधान में काम करता है, जिसमें निर्देश एक ओर से आते हैं और परिणाम दूसरी ओर से आते हैं। उत्कृष्ट आरआईएससी पाइपलाइन की कम समिष्टतः के कारण, पाइपलाइनयुक्त कोर और निर्देश कैश को ही आकार के डाई पर रखा जा सकता है जो की अन्यथा सीआईएससी डिजाइन पर अकेले कोर को फिट करता है । यही वास्तविक कारण था कि आरआईएससी तीव्र था। स्पार्क और एमआईपीएस आर्किटेक्चर जैसे प्रारंभिक डिज़ाइन प्रायः समान क्लॉक स्पीड और मूल्य पर इंटेल और मोटोरोला सीआईएससी समाधानों की तुलना में 10 गुना अधिक तीव्र चलते थे।

चूंकि पाइपलाइनें किसी भी प्रकार से आरआईएससी डिज़ाइन तक सीमित नहीं हैं। किन्तु 1986 तक टॉप-ऑफ़-द-लाइन वीएएक्स कार्यान्वयन (वीएएक्स 8000) हैवी पाइपलाइन डिज़ाइन था, जो पहले वाणिज्यिक एमआईपीएस और स्पार्क डिज़ाइनों से थोड़ा पहले का था। अधिकांश आधुनिक सीपीयू (यहां तक ​​​​कि एम्बेडेड सीपीयू) अब पाइपलाइन में हैं, और बिना पाइपलाइन वाले माइक्रोकोडेड सीपीयू केवल सबसे अधिक क्षेत्र-बाधित एम्बेडेड प्रोसेसर में देखे जाते हैं। वीएएक्स 8800 से लेकर आधुनिक पेंटियम 4 और एथलॉन तक उच्च सीआईएससी मशीनें, माइक्रोकोड और पाइपलाइन दोनों के साथ कार्यान्वित की जाती हैं। पाइपलाइनिंग और कैशिंग में सुधार दो प्रमुख माइक्रोआर्किटेक्चर ल प्रगति हैं जिन्होंने प्रोसेसर के प्रदर्शन को परिपथ विधियों के साथ सामंजस्य बनाए रखने में सक्षम बनाया है जिस पर वे आधारित हैं।

कैश

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

अतः आरआईएससी डिज़ाइनों ने 1980 के दशक के मध्य से अंत तक कैश जोड़ना प्रारंभ किया, प्रायः कुल मिलाकर केवल 4 केबी समय के साथ यह संख्या बढ़ती गई, और सामान्य सीपीयू में अब कम से कम 2 एमबी होते हैं, जबकि अधिक शक्तिशाली सीपीयू 4 या 6 या 12 एमबी या यहां तक ​​कि 32 एमबी या उससे अधिक के साथ आते हैं, जिनमें से सबसे अधिक 768 एमबी नई जारी ईपीवाईसी मिलान-एक्स लाइन में है, जो कि आयोजित किया गया है। मेमोरी पदानुक्रम. सामान्यतः , कम रुकावट के कारण अधिक कैश का अर्थ है और कम रुकावट के कारण अधिक प्रदर्शन है।

इस प्रकार से कैश और पाइपलाइन दूसरे से अधिक मेल खाते थे। अतः , ऐसी पाइपलाइन बनाने का कोई तथ्य नहीं था जो की ऑफ-चिप मेमोरी की एक्सेस विलंबता से तीव्र चल सकती है । इसके अतिरिक्त ऑन-चिप कैश मेमोरी का उपयोग करने का तथ्य है कि पाइपलाइन कैश एक्सेस विलंबता की गति से चल सकती है, जो समय की अधिक लघु लंबाई है। इससे प्रोसेसर की ऑपरेटिंग आवृत्तियों को ऑफ-चिप मेमोरी की तुलना में अधिक तीव्र दर से बढ़ने की अनुमति मिली है ।

शाखा पूर्वानुमान

निर्देश-स्तरीय समानता के माध्यम से उच्च प्रदर्शन प्राप्त करने में बाधा शाखाओं के कारण पाइपलाइन स्टालों और निस्तब्धता से उत्पन्न होती है। सामान्यतः , नियमबद्ध शाखा ली जाएगी या नहीं, यह पाइपलाइन में देर तक ज्ञात नहीं होता है क्योंकि नियमबद्ध शाखाएं रजिस्टर से आने वाले परिणामों पर निर्भर करती हैं। उस समय से जब प्रोसेसर के निर्देश डिकोडर को पता चला है कि उसे नियमबद्ध शाखा निर्देश का सामना करना पड़ा है, उस समय तक जब निर्णायक रजिस्टर मान को पढ़ा जा सकता है, पाइपलाइन को अनेक चक्रों के लिए रोकना होगा, या यदि ऐसा नहीं है और शाखा ले ली गई है, चुकी पाइपलाइन को निस्तब्धता करने की आवश्यकता है। जैसे-जैसे घड़ी की गति बढ़ती है, पाइपलाइन की गहराई भी इसके साथ बढ़ती है, और कुछ आधुनिक प्रोसेसर में 20 चरण या अधिक हो सकते हैं। औसतन, निष्पादित प्रत्येक पांचवां निर्देश शाखा है, इसलिए बिना किसी हस्तक्षेप के यह अधिक सीमा तक रुका हुआ है।

इस प्रकार से शाखा दंडों को कम करने के लिए शाखा पूर्वानुमान और सट्टा निष्पादन जैसी विधियों का उपयोग किया जाता है। शाखा पूर्वानुमान वह है जहां हार्डवेयर शिक्षित अनुमान लगाता है कि कोई विशेष शाखा ली जाएगी या नहीं, वास्तव में शाखा के पक्ष या दूसरे पक्ष को दूसरे पक्ष की तुलना में अधिक बार बुलाया जाता है। आधुनिक डिज़ाइनों में समिष्ट सांख्यिकीय पूर्वानुमान प्रणालियाँ होती हैं, जो अधिक स्पष्ट रूप से वर्तमान में पूर्वानुमान करने के लिए पिछली शाखाओं के परिणामों को दर्शाती हैं। अनुमान हार्डवेयर को रजिस्टर पढ़ने की प्रतीक्षा किए बिना निर्देशों को प्रीफ़ेच करने की अनुमति देता है। सट्टा निष्पादन और संवर्द्धन है जिसमें पूर्वानुमानित पथ के साथ कोड को न केवल प्रीफ़ेच किया जाता है किन्तु यह ज्ञात होने के पश्चात भी निष्पादित किया जाता है कि शाखा ली जानी चाहिए या नहीं, अनुमान ठीक होने पर यह उत्तम प्रदर्शन प्रदान कर सकता है, इस प्रकार से अनुमान व्यर्थ होने पर हैवी जुर्माने की कठिनाई हो सकती है क्योंकि निर्देशों को पूर्ववत करने की आवश्यकता होती है।

सुपरस्केलर

ऊपर उल्लिखित अवधारणाओं का समर्थन करने के लिए आवश्यक सभी अतिरिक्त समष्टि और गेटों के साथ भी अर्धचालक निर्माण में सुधार ने शीघ्र ही और भी अधिक लॉजिक गेटों का उपयोग करने की अनुमति दी है।

उपरोक्त रूपरेखा में प्रोसेसर समय में ही निर्देश के कुछ भागो को संसाधित करता है। यदि अनेक निर्देशों को साथ संसाधित किया जाए तब यह कंप्यूटर प्रोग्राम तीव्र से निष्पादित हो सकते हैं। और एएलयू जैसी कार्यात्मक इकाइयों की कॉपी करके, सुपरस्केलर प्रोसेसर प्राप्त करते हैं। कार्यात्मक इकाइयों की प्रतिकृति केवल तब संभव होती है जब एकल-इश्यू प्रोसेसर का डाई क्षेत्र विश्वसनीय रूप से निर्मित की जा सकने वाली चीज़ों की सीमा को नहीं बढ़ाता है । अतः 1980 के दशक के अंत तक, सुपरस्केलर डिज़ाइन बाज़ार में आने लगे थे ।

आधुनिक डिज़ाइनों में दो लोड इकाइयाँ, स्टोर (कई निर्देशों को संग्रहीत करने के लिए कोई परिणाम नहीं होता), दो या अधिक पूर्णांक गणित इकाइयाँ, दो या अधिक फ़्लोटिंग पॉइंट इकाइयाँ, और प्रायः एकल निर्देश, किसी प्रकार की एकाधिक डेटा इकाई मिलना समान रूप है। इस प्रकार से मेमोरी से निर्देशों की विशाल सूची को पढ़ने और उन्हें उस बिंदु पर निष्क्रिय विभिन्न निष्पादन इकाइयों को सौंपने से निर्देश प्राप्त करने का तर्क समिष्टतः में बढ़ता है। फिर परिणाम एकत्र किए जाते हैं और अंत में पुनः व्यवस्थित किए जाते हैं।

आउट-ऑफ़-ऑर्डर निष्पादन

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

नामांतरण रजिस्टर

रजिस्टर का नाम परिवर्तित करके ऐसी विधियों को संदर्भित करता है जिसका उपयोग उन निर्देशों द्वारा समान रजिस्टरों के पुन: उपयोग के कारण प्रोग्राम निर्देशों के अनावश्यक क्रमबद्ध निष्पादन से सुरक्षित करने के लिए किया जाता है। मान लीजिए कि हमारे पास निर्देश के दो समूह हैं जो समान प्रोसेसर रजिस्टर का उपयोग करते है । रजिस्टर को दूसरे सेट पर छोड़ने के लिए निर्देशों के सेट को पहले निष्पादित किया जाता है, किन्तु यदि दूसरे सेट को अलग समान रजिस्टर को सौंपा जाता है, तो निर्देशों के दोनों सेटों को समानांतर (या) श्रृंखला में निष्पादित किया जा सकता है।

मल्टीप्रोसेसिंग और मल्टीथ्रेडिंग

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

इस प्रवृत्ति को कभी-कभी थ्रूपुट कंप्यूटिंग के रूप में जाना जाता है। यह विचार मेनफ्रेम बाजार में उत्पन्न हुआ जहां ओएलटीपी ने न केवल लेनदेन की निष्पादन गति पर बल दिया है किन्तु उच्च संख्या में लेनदेन से समाप्त करने की क्षमता पर भी बल दिया है । पिछले दशक में नेटवर्क रूटिंग और वेब-साइट सेवा जैसे लेनदेन-आधारित अनुप्रयोगों में अधिक वृद्धि हुई है, कंप्यूटर उद्योग ने क्षमता और थ्रूपुट नियम पर पुनः बल दिया है।

यह समानता से कैसे प्राप्त की जाती है इसकी विधियों बहु सिस्टम, कई सीपीयू वाले कंप्यूटर सिस्टम के माध्यम से है। बार हाई-एंड मेनफ़्रेम कंप्यूटर और सुपर कंप्यूटर के लिए आरक्षित होने के पश्चात् , छोटे मापदंड के (2-8) मल्टीप्रोसेसर सर्वर छोटे व्यवसाय बाजार के लिए समान हो गए हैं। उच्च निगमों के लिए, उच्च मापों (16-256) मल्टीप्रोसेसर आम हैं। यहां तक ​​कि कई सीपीयू वाले निजी कंप्यूटर भी 1990 के दशक से सामने आए हैं।

अर्धचालक प्रौद्योगिकी प्रगति के साथ ट्रांजिस्टर आकार में और कटौती उपलब्ध होने के साथ, मल्टी-कोर प्रोसेसर मल्टी-कोर सीपीयू सामने आए हैं जहां ही सिलिकॉन चिप पर कई सीपीयू प्रयुक्त किए जाते हैं। प्रारंभ में एम्बेडेड बाजारों को लक्षित करने वाले चिप्स में उपयोग किया जाता था, जहां सरल और छोटे सीपीयू सिलिकॉन के टुकड़े पर कई इंस्टेंटेशन को फिट करने की अनुमति देते थे। अतः 2005 तक, अर्धचालक विधियों ने दोहरी हाई-एंड डेस्कटॉप सीपीयू सीएमपी चिप्स को उच्च मात्रा में निर्मित करने की अनुमति दी है । कुछ डिज़ाइन, जैसे कि सन माइक्रोसिस्टम्स के अल्ट्रास्पार्क टी1, सिलिकॉन के टुकड़े पर अधिक प्रोसेसर फिट करने के लिए सरल (स्केलर, इन-ऑर्डर) डिज़ाइन में वापस आ गए हैं।

और विधियों जो वर्तमान समय में अधिक लोकप्रिय हो गई है वह है मल्टीथ्रेडिंग (कंप्यूटर आर्किटेक्चर) मल्टीथ्रेडिंग में, जब प्रोसेसर को धीमी सिस्टम मेमोरी से डेटा लाना होता है, तो डेटा आने के लिए रुकने के अतिरिक्त , प्रोसेसर दूसरे प्रोग्राम या प्रोग्राम थ्रेड पर स्विच हो जाता है जो निष्पादित करने के लिए तैयार होता है। चूंकि यह किसी विशेष प्रोग्राम/थ्रेड को गति नहीं देता है, किन्तु यह सीपीयू के निष्क्रिय रहने के समय को कम करके समग्र सिस्टम थ्रूपुट को बढ़ाता है।

इस प्रकार से वैचारिक रूप से, मल्टीथ्रेडिंग ऑपरेटिंग सिस्टम स्तर पर संदर्भ स्विच के समान है। अंतर यह है कि मल्टीथ्रेडेड सीपीयू सीपीयू चक्र में थ्रेड स्विच कर सकता है, न कि सैकड़ों या हजारों सीपीयू चक्रों के अतिरिक्त संदर्भ स्विच के लिए सामान्य रूप से आवश्यकता होती है। यह प्रत्येक सक्रिय थ्रेड के लिए राज्य हार्डवेयर (जैसे रजिस्टर फ़ाइल और प्रोग्राम गणक ) की प्रतिलिपि बनाकर प्राप्त किया जाता है।

अतः वृद्धि साथ मल्टीथ्रेडिंग है। यह विधियों सुपरस्केलर सीपीयू को ही चक्र में साथ विभिन्न प्रोग्राम/थ्रेड से निर्देशों को निष्पादित करने की अनुमति देती है।

यह भी देखें

संदर्भ

  1. Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering (PDF). Association for Computing Machinery. 2004. p. 60. Archived from the original (PDF) on 2017-07-03. Comments on Computer Architecture and Organization: Computer architecture is a key component of computer engineering and the practicing computer engineer should have a practical understanding of this topic...
  2. Murdocca, Miles; Heuring, Vincent (2007). Computer Architecture and Organization, An Integrated Approach. Wiley. p. 151. ISBN 9780471733881.
  3. Clements, Alan. Principles of Computer Hardware (4th ed.). pp. 1–2.
  4. Flynn, Michael J. (2007). "An Introduction to Architecture and Machines". कंप्यूटर वास्तुकला पाइपलाइन और समानांतर प्रोसेसर डिजाइन. Jones and Bartlett. pp. 1–3. ISBN 9780867202045.
  5. 5.0 5.1 Hennessy, John L.; Patterson, David A. (2006). Computer Architecture: A Quantitative Approach (4th ed.). Morgan Kaufmann. ISBN 0-12-370490-1.
  6. Wilkes, M. V. (1969). "The Growth of Interest in Microprogramming: A Literature Survey". ACM Computing Surveys. 1 (3): 139–145. doi:10.1145/356551.356553. S2CID 10673679.

अग्रिम पठन