कंट्रोल यूनिट

From Vigyanwiki
Revision as of 13:59, 3 June 2023 by alpha>Artiverma

नियंत्रण यूनिट (CU) कंप्यूटर की सेंट्रल प्रोसेसिंग यूनिट (सीपीयू) का घटक है जो प्रोसेसर के संचालन को निर्देशित करता है। सीयू सामान्यतः कोडित निर्देशों को समय और नियंत्रण संकेतों में परिवर्तित करने के लिए बाइनरी डिकोडर का उपयोग करता है जो अन्य इकाइयों (मेमोरी, अंकगणितीय तर्क इकाई और इनपुट और आउटपुट डिवाइस इत्यादि) के संचालन को निर्देशित करता है।

अधिकांश कंप्यूटर संसाधन सीयू द्वारा प्रबंधित किए जाते हैं। यह सीपीयू और अन्य उपकरणों के मध्य डेटा के प्रवाह को निर्देशित करता है। जॉन वॉन न्यूमैन ने वॉन न्यूमैन वास्तुकला के भाग के रूप में नियंत्रण इकाई को सम्मिलित किया।[1] आधुनिक कंप्यूटर डिजाइनों में, नियंत्रण इकाई सामान्यतः सेंट्रल प्रोसेसिंग यूनिट का आंतरिक भाग होता है इसके प्रारम्भ के पश्चात से इसकी समग्र भूमिका और संचालन में कोई परिवर्तन नहीं हुआ है।[2]


बहुचक्र नियंत्रण यूनिट

सरलतम कंप्यूटर सूक्ष्म वास्तुकला बहुचक्र सूक्ष्म वास्तुकला का उपयोग करते हैं। ये सबसे प्रारंभिक डिजाइन थी। वे अभी भी सबसे अल्प कंप्यूटरों में लोकप्रिय हैं, जैसे अंतः स्थापित प्रणालियाँ जो मशीनरी संचालित करते हैं।

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

नियंत्रण इकाई में नियंत्रण इकाई के नियम को बताने के लिए बाइनरी काउंटर सम्मिलित हो सकता है कि उसे क्या कदम उठाना चाहिए।

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

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

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

अधिक सरल कंप्यूटरों में व्यवधान्स के जैसे कार्य करने के लिए अपवाद बनाए जा सकते हैं। यदि आभासी मेमोरी की आवश्यकता है, तो मेमोरी-नॉट-उपलब्ध अपवाद को असफल निर्देश का पुनः प्रयास करना चाहिए।

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

पाइपलाइन नियंत्रण इकाइयां

कई मध्यम-जटिलता वाले कंप्यूटर सूक्ष्म वास्तुकला निर्देश पाइपलाइनिंग यह डिज़ाइन स्वयं की गति के कारण लोकप्रिय है।

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

स्क्वायर-वेव क्लॉक के किनारे पर सम संख्या वाले चरणों के लिए यह सामान्य है, जबकि विषम संख्या वाले चरण दूसरे किनारे पर कार्य करते हैं। यह एकल बढ़त डिज़ाइन की तुलना में कंप्यूटर को दो गुना गति देता है।

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

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

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

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

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

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

स्टालों को रोकना

पाइपलाइन को पूर्ण रखने और स्टालों से बचने के लिए नियंत्रण इकाइयां कई प्रविधियो का उपयोग करती हैं। उदाहरण के लिए, यहां तक ​​कि सरल नियंत्रण इकाइयां भी मान सकती हैं कि एक पिछली शाखा, कम संख्या वाले, पूर्व के निर्देश के लिए, एक लूप है, और दोहराया जाएगा।[3] तो, इस डिजाइन के साथ एक नियंत्रण इकाई हमेशा पाइपलाइन को पीछे की ओर शाखा पथ से भर देगी। यदि एक कंपाइलर किसी शाखा की सबसे अधिक बार-बार ली जाने वाली दिशा का पता लगा सकता है, तो कंपाइलर केवल निर्देश दे सकता है जिससे सबसे अधिक बार ली जाने वाली शाखा शाखा की पसंदीदा दिशा हो। इसी प्रकार, एक नियंत्रण इकाई को संकलक से संकेत मिल सकते हैं: कुछ कंप्यूटरों में ऐसे निर्देश होते हैं जो शाखा की दिशा के बारे में संकलक से संकेतों को सांकेतिक शब्दों में बदल सकते हैं।[4] कुछ नियंत्रण इकाइयाँ शाखा भविष्यवक्ता करती हैं: एक नियंत्रण इकाई हाल की शाखाओं की एक विद्युत सूची रखती है, जो शाखा निर्देश के पते से एन्कोडेड होती है।[3]इस सूची में प्रत्येक शाखा के लिए उस दिशा को याद रखने के लिए कुछ अंश हैं जो हाल ही में लिए गए थे।

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

मेमोरी से परिणाम अप्रत्याशित समय पर उपलब्ध हो सकते हैं क्योंकि अधिक तीव्ऱ कंप्यूटर मेमोरी को कैश करते हैं। यही है, वे सीमित मात्रा में मेमोरी डेटा को अधिक तीव्ऱ मेमोरी में कॉपी करते हैं। सीपीयू को कैश मैमोरी की अधिक तीव्र गति से प्रोसेस करने के लिए डिज़ाइन किया जाना चाहिए। इसलिए, सीपीयू तब ठप हो सकता है जब उसे सीधे मुख्य मेमोरी तक पहुंचना चाहिए। आधुनिक पीसी में, मुख्य मेमोरी कैश की तुलना में तीन सौ गुना धीमी होती है।

इसकी मदद के लिए, डेटा उपलब्ध होते ही उसे प्रोसेस करने के लिए आउट-ऑफ-ऑर्डर सीपीयू और नियंत्रण यूनिट विकसित किए गए। (अगला भाग देखें)

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

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

आउट ऑफ ऑर्डर नियंत्रण यूनिट

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

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

विशिष्ट निष्पादन इकाइयों का होना आम बात है। उदाहरण के लिए, मामूली कीमत वाले कंप्यूटर में केवल एक फ़्लोटिंग-पॉइंट निष्पादन इकाई हो सकती है, क्योंकि फ़्लोटिंग पॉइंट इकाइयाँ महंगी होती हैं। एक ही कंप्यूटर में कई पूर्णांक इकाइयाँ हो सकती हैं, क्योंकि ये अपेक्षाकृत सस्ती होती हैं, और बड़ी मात्रा में निर्देश दे सकती हैं।

जारी करने के लिए एक प्रकार की नियंत्रण इकाई विद्युत तर्क, एक स्कोरबोर्ड की एक सरणी का उपयोग करती है[5]यह पता लगाता है कि निर्देश कब जारी किया जा सकता है। सरणी की ऊंचाई निष्पादन इकाइयों की संख्या है, और लंबाई और चौड़ाई प्रत्येक ऑपरेंड के स्रोतों की संख्या है। जब सभी आइटम एक साथ आते हैं, तो ऑपरेंड और एक्जीक्यूशन यूनिट के सिग्नल क्रॉस हो जाएंगे। इस चौराहे पर तर्क यह पता लगाता है कि निर्देश कार्य कर सकता है, इसलिए नि: शुल्क निष्पादन इकाई को निर्देश जारी किया जाता है। नियंत्रण इकाई जारी करने की एक वैकल्पिक शैली टोमासुलो एल्गोरिथम को प्रारम्भ करती है, जो निर्देशों की एक हार्डवेयर कतार को तत्पश्चात से व्यवस्थित करती है। कुछ अर्थों में, दोनों शैलियाँ कतार का उपयोग करती हैं। स्कोरबोर्ड निर्देशों की कतार को एन्कोड और पुन: व्यवस्थित करने का एक वैकल्पिक प्रविधि है, और कुछ डिज़ाइनर इसे कतार सारणी कहते हैं।[6][7] कुछ अतिरिक्त तर्कों के साथ, एक स्कोरबोर्ड निष्पादन पुन: क्रमांकन, नाम बदलने और सटीक अपवादों और व्यवधानों को पंजीकृत कर सकता है। इसके अतिरिक्त यह Tomasulo एल्गोरिथम द्वारा उपयोग की जाने वाली शक्ति-भूख, जटिल सामग्री-पता योग्य मैमोरी के बिना ऐसा कर सकता है।[6][7]

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

जारी करने वाले तर्क में मेमोरी या रजिस्टर एक्सेस को सम्मिलित करके रिटायरिंग तर्क को जारी करने वाले स्कोरबोर्ड या टोमासुलो कतार में भी डिज़ाइन किया जा सकता है।[6][7]

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

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


नियंत्रण इकाइयों का अनुवाद

कुछ कंप्यूटर प्रत्येक एकल निर्देश को सरल निर्देशों के अनुक्रम में अनुवादित करते हैं। इसका लाभ यह है कि जटिल मल्टी-स्टेप निर्देशों को संभालते हुए, एक खराब कंप्यूटर अपने तर्क के बड़े हिस्से में सरल हो सकता है। पेंटियम प्रो के पश्चात से x86 इंटेल सीपीयू जटिल CISC x86 निर्देशों को अधिक RISC-जैसे आंतरिक माइक्रो-ऑपरेशंस में अनुवादित करता है।

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

कम शक्ति वाले कंप्यूटरों के लिए नियंत्रण इकाइयाँ

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

अधिकांश आधुनिक कंप्यूटर सीएमओएस तर्क का उपयोग करते हैं। सीएमओएस दो सामान्य प्रविधियो से विद्युत प्रदान करता है, राज्य को परिवर्तित, अर्थात सक्रिय शक्ति में रिसाव से नियंत्रण संकेतों को संवृत करके कंप्यूटर की सक्रिय शक्ति को कम किया जा सकता है। विद्युत के दबाव, वोल्टेज को कम करके, ट्रांजिस्टर को बड़े कमी वाले क्षेत्रों के साथ बनाकर या तर्क को पूर्ण रूप से संवृत करके लीकेज करंट को कम किया जा सकता है।

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

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

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

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

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

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

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

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

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

कंप्यूटर के साथ एकीकरण

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

आधुनिक सीपीयू में व्यवधान नियंत्रण भी सम्मिलित होता है। यह प्रणाली बस से व्यवधान संकेत को नियंत्रण करता है। नियंत्रण यूनिट कंप्यूटर का वह भाग है जो व्यवधान का उत्तर देता है।

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

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

अधिकांश PDP-8 मॉडल में डेटा बस थी जिसे आई/ओ उपकरणों को नियंत्रण इकाई की मेमोरी पढ़ने और तर्क लिखने के लिए उधार लेने के लिए डिज़ाइन किया गया था।[12] इसने उच्च गति आई/ओ नियंत्रकों की जटिलता और व्यय को कम किया,

उदाहरण डिस्क के लिए हैं।

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

नियंत्रण इकाई के कार्य

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

हार्डवेयर्ड नियंत्रण यूनिट

एलडीए-अनुदेश निष्पादित करने वाली साधारण हार्डवेयर्ड नियंत्रण इकाई के नियंत्रण मैट्रिक्स का एनिमेशन

हार्डवार्ड नियंत्रण इकाइयों को संयोजन तर्क इकाइयों के उपयोग के माध्यम से कार्यान्वित किया जाता है, जिसमें गेट्स की सीमित संख्या होती है जो उन प्रतिक्रियाओं के आधार पर विशिष्ट परिणाम उत्पन्न कर सकते हैं जो उन प्रतिक्रियाओं को प्रारम्भ करने के लिए उपयोग किए गए थे। हार्डवार्ड नियंत्रण इकाइयां सामान्यतः माइक्रोप्रोग्राम्ड डिज़ाइनों की तुलना में तीव्रता होती हैं।[14]

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

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

जैसे-जैसे कंप्यूटर विकसित हुए हैं, वैसे-वैसे हार्डवार्ड दृष्टिकोण कम लोकप्रिय होता गया है। पूर्व, सीपीयू के लिए नियंत्रण इकाइयां तदर्थ तर्क का उपयोग करती थीं, और उन्हें डिजाइन करना कठिन था।[15]


माइक्रोप्रोग्राम नियंत्रण यूनिट

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


डिजाइन की संयोजन प्रविधि

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

यह भी देखें

संदर्भ

  1. von Neumann, John (1945), First Draft of a Report on the EDVAC (PDF), Moore School of Electrical Engineering, University of Pennsylvania, archived from the original (PDF) on March 14, 2013
  2. Astha Singh (24 September 2018). "कंप्यूटर संगठन - नियंत्रण इकाई और डिजाइन". GeeksforGeeks. Retrieved 25 May 2019.
  3. 3.0 3.1 Asanovic, Krste (2017). आरआईएससी वी निर्देश सेट मैनुअल (PDF) (2.2 ed.). Berkeley: RISC-V Foundation.
  4. पावर आईएसए (टीएम) (3.0B ed.). Austin: IBM. 2017. Retrieved 26 December 2019.
  5. Thornton, J.E. (1970). Design of a Computer: The CDC 6600. Atlanta: Scott, Foreman and Co. p. 125. ISBN 9780673059536.
  6. 6.0 6.1 6.2 6.3 6.4 Leighton, Luke. "लिबर आरआईएससी-वी एम-क्लास". Crowd Supply. Retrieved 16 January 2020.
  7. 7.0 7.1 7.2 7.3 7.4 Alsup, Mitch; Leighton, Luke; Zaruba, Florian; Thornton, James; Kimmitt, Jonathon; Petrisko, Dan; Takano, S.; Falvo, Samuel. "RISC-V HW Dev, 6600-style out-of-order scoreboard". Google Groups. RISC-V Foundation. Retrieved 16 January 2020.
  8. Celio, Chris. "बूम डॉक्स, रॉकेटशिप एसओसी जेनरेटर". Retrieved 16 January 2020.
  9. MAXQ आर्किटेक्चर का परिचय. Dallas: Maxim Integrated Inc. Retrieved 26 December 2019.
  10. एआरएम तकनीकी संदर्भ, कॉर्टेक्स (v8 ed.). ARM Ltd.
  11. एआरएम (टीएम) तकनीकी संदर्भ मैनुअल (v6, r0 ed.). Cambridge: ARM Ltd.
  12. PDP-8L Maintenance Manual (PDF). Maynard Mass.: Digital Equipment Corp. 1970. Archived (PDF) from the original on 2015-04-22. Retrieved 26 December 2019.
  13. ऑल्टो हार्डवेयर मैनुअल (PDF). Xerox. 1976. Archived (PDF) from the original on 2010-12-07.
  14. "MICRO-PROGRAMMED VERSUS HARDWIRED CONTROL UNITS;". www.cs.binghamton.edu. Archived from the original on 2017-04-30. Retrieved 2017-02-17.
  15. Williams, R. D.; Klenke, R. H.; Aylor, J. H. (May 2003). "वर्चुअल प्रोटोटाइपिंग का उपयोग करके कंप्यूटर डिजाइन सिखाना". IEEE Transactions on Education. 46 (2): 296–301. doi:10.1109/te.2002.808278. ISSN 0018-9359.
  16. Barkalov, Alexander (2009). Logic synthesis for FSM based control units / Alexander Barkalov and Larysa Titarenko. Berlin: Springer. ISBN 978-3-642-04308-6.
  17. Wiśniewski, Remigiusz (2009). प्रोग्राम करने योग्य उपकरणों के लिए रचनात्मक माइक्रोप्रोग्राम नियंत्रण इकाइयों का संश्लेषण. Zielona Góra: University of Zielona Góra. p. 153. ISBN 978-83-7481-293-1.