प्रोसेसर माइक्रोआर्किटेक्चर
प्रोसेसर माइक्रोआर्किटेक्चर आंतरिक हार्डवेयर संगठन है जो एक इंस्ट्रक्शन सेट आर्किटेक्चर को लागू करता है, जिसमें पाइपलाइन, निष्पादन इकाइयाँ, रजिस्टर का नाम बदलना और नियंत्रण तर्क शामिल हैं जो निर्देशों की एक धारा को यथासंभव तेज़ी से परिकलित परिणामों में बदल देते हैं।
Definition
माइक्रोआर्किटेक्चर एक प्रोसेसर का ठोस तार्किक संगठन है - इसकी पाइपलाइन चरण, कार्यात्मक इकाइयाँ, बफ़र्स और नियंत्रण - जो उच्च प्रदर्शन और दक्षता की तलाश करते हुए एक इंस्ट्रक्शन सेट आर्किटेक्चर द्वारा निर्दिष्ट व्यवहार को साकार करता है।
Scope
यह क्षेत्र इस बात को शामिल करता है कि ISA इंटरफ़ेस के नीचे एक प्रोसेसर कैसे बनाया जाता है: डेटापाथ और नियंत्रण, पाइपलाइनिंग और इसे सीमित करने वाले खतरे, इंस्ट्रक्शन-लेवल पैरेललिज्म निकालने की तकनीकें, ब्रांच प्रेडिक्शन, सट्टा और आउट-ऑफ-ऑर्डर निष्पादन, और शेड्यूलिंग संरचनाएं जो निष्पादन इकाइयों को व्यस्त रखती हैं। इसमें स्वयं दृश्यमान इंस्ट्रक्शन सेट (इंस्ट्रक्शन सेट आर्किटेक्चर) और कैश के पहले स्तरों से परे मेमोरी सबसिस्टम (मेमोरी हायरार्की और कैश), साथ ही मल्टी-कोर संगठन (पैरेलल और मल्टीकोर आर्किटेक्चर) शामिल नहीं हैं।
Sub-topics
Core questions
- पाइपलाइनिंग इंस्ट्रक्शन निष्पादन को कैसे ओवरलैप करती है, और कौन से संरचनात्मक, डेटा और नियंत्रण खतरे इसे सीमित करते हैं?
- एक प्रोग्राम में कितना इंस्ट्रक्शन-लेवल पैरेललिज्म मौजूद है, और हार्डवेयर इसे कैसे निकाल सकता है?
- गहरी पाइपलाइनों में ब्रांच प्रेडिक्शन नियंत्रण खतरों की लागत को कैसे कम करता है?
- आउट-ऑफ-ऑर्डर निष्पादन और रजिस्टर का नाम बदलना प्रोग्राम सिमेंटिक्स को संरक्षित करते हुए पैरेललिज्म को कैसे उजागर करते हैं?
- माइक्रोआर्किटेक्चरल डिज़ाइन में प्रदर्शन, शक्ति और जटिलता का व्यापार कैसे किया जाता है?
Key concepts
- डेटापाथ और नियंत्रण
- इंस्ट्रक्शन पाइपलाइन
- संरचनात्मक, डेटा और नियंत्रण खतरे
- फ़ॉरवर्डिंग और बाइपासिंग
- इंस्ट्रक्शन-लेवल पैरेललिज्म
- ब्रांच प्रेडिक्शन
- सट्टा निष्पादन
- आउट-ऑफ-ऑर्डर निष्पादन
- रजिस्टर का नाम बदलना
- सुपरस्केलर इश्यू
Key theories
- पाइपलाइनिंग
- चरणों में कई निर्देशों के निष्पादन को ओवरलैप करने से इंस्ट्रक्शन थ्रूपुट बढ़ता है; प्राप्त करने योग्य गति पाइपलाइन की गहराई और खतरों और निर्भरताओं द्वारा उत्पन्न स्टालों से बंधी होती है।
- डायनामिक शेड्यूलिंग और रजिस्टर का नाम बदलना
- टोमासुलो का एल्गोरिथम गतिशील रूप से इंस्ट्रक्शन को निष्पादन इकाइयों पर शेड्यूल करता है और आरक्षण स्टेशनों और एक सामान्य डेटा बस के माध्यम से रजिस्टरों का नाम बदलता है, जिससे इंस्ट्रक्शन को प्रोग्राम ऑर्डर से बाहर निष्पादित करने की अनुमति मिलती है, जबकि वास्तविक डेटा निर्भरताओं का सम्मान करते हुए - आधुनिक आउट-ऑफ-ऑर्डर प्रोसेसर का आधार।
Mechanisms
एक पाइपलाइन वाला प्रोसेसर इंस्ट्रक्शन प्रोसेसिंग को चरणों में विभाजित करता है (फ़ेच, डीकोड, निष्पादन, मेमोरी, राइटबैक) ताकि कई इंस्ट्रक्शन एक साथ चल रहे हों। खतरों - एक आवश्यक परिणाम अभी तक उपलब्ध नहीं है, एक विवादित संसाधन, या एक अनसुलझी शाखा - को फ़ॉरवर्डिंग, स्टॉलिंग, प्रेडिक्शन और सट्टा द्वारा नियंत्रित किया जाता है। सुपरस्केलर आउट-ऑफ-ऑर्डर कोर आरक्षण स्टेशन, रीऑर्डर बफ़र्स और नाम बदलने को जोड़ते हैं ताकि स्वतंत्र इंस्ट्रक्शन जैसे ही उनके ऑपरेंड तैयार हों और परिणाम प्रोग्राम ऑर्डर में प्रतिबद्ध हों, निष्पादित हों।
Clinical relevance
माइक्रोआर्किटेक्चर प्रोसेसर की वास्तविक दुनिया की गति और ऊर्जा दक्षता निर्धारित करता है: पाइपलाइनिंग, सुपरस्केलर इश्यू और आउट-ऑफ-ऑर्डर निष्पादन लगभग हर आधुनिक सीपीयू के प्रदर्शन को रेखांकित करते हैं। माइक्रोआर्किटेक्चरल डिज़ाइन के सुरक्षा परिणाम भी होते हैं - स्पेकुलेटिव-एक्ज़ीक्यूशन साइड चैनल जैसे स्पेक्ट्रे और मेल्टडाउन सीधे प्रदर्शन सुविधाओं से उत्पन्न होते हैं।
History
पाइपलाइनिंग और कई कार्यात्मक इकाइयाँ 1960 के दशक में IBM System/360 Model 91 और CDC 6600 में दिखाई दीं, जहाँ टोमासुलो ने डायनामिक शेड्यूलिंग की शुरुआत की। 1980 के दशक के RISC माइक्रोआर्किटेक्चर ने गहरी पाइपलाइनों को मुख्यधारा में ला दिया, और सुपरस्केलर आउट-ऑफ-ऑर्डर डिज़ाइन 1990 और 2000 के दशक में उच्च-प्रदर्शन वाले सीपीयू में प्रमुख हो गए। आक्रामक सट्टा ने बाद में 2018 में प्रचारित माइक्रोआर्किटेक्चरल साइड चैनलों को उजागर किया।
Debates
- आक्रामक सट्टा बनाम सुरक्षा और दक्षता
- गहरा सट्टा आउट-ऑफ-ऑर्डर निष्पादन सिंगल-थ्रेड प्रदर्शन को बढ़ाता है लेकिन शक्ति बढ़ाता है और क्षणिक-निष्पादन सुरक्षा हमलों को सक्षम किया है, जिससे इस बात पर बहस छिड़ गई है कि सरल, अधिक कुशल या अधिक अनुमानित डिज़ाइनों के सापेक्ष कितना सट्टा सार्थक है।
Key figures
- Robert Tomasulo
- John L. Hennessy
- David A. Patterson
- Yale Patt
- James E. Smith
Related topics
Seminal works
- hennessy2019
- tomasulo1967
- patterson2020
Frequently asked questions
- इन-ऑर्डर और आउट-ऑफ-ऑर्डर निष्पादन में क्या अंतर है?
- एक इन-ऑर्डर प्रोसेसर निर्देशों को सख्ती से प्रोग्राम ऑर्डर में निष्पादित करता है, जब एक इंस्ट्रक्शन के ऑपरेंड तैयार नहीं होते हैं तो रुक जाता है। एक आउट-ऑफ-ऑर्डर प्रोसेसर किसी भी इंस्ट्रक्शन को निष्पादित करता है जिसके ऑपरेंड उपलब्ध होते हैं, बफ़र्स और नाम बदलने का उपयोग करके निष्पादन को फिर से व्यवस्थित करता है जबकि अभी भी प्रोग्राम ऑर्डर में परिणाम प्रतिबद्ध करता है।
- ब्रांच प्रेडिक्शन क्यों मायने रखता है?
- गहरी पाइपलाइनें एक शाखा की दिशा ज्ञात होने से पहले निर्देशों को फ़ेच करती हैं और निष्पादित करना शुरू करती हैं। सटीक ब्रांच प्रेडिक्शन प्रोसेसर को संभावित पथ के साथ पाइपलाइन को पूर्ण रखने की अनुमति देता है; एक गलत भविष्यवाणी सट्टा कार्य को बर्बाद कर देती है और मल्टी-साइकिल दंड लगाती है।