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

From Vigyanwiki
Revision as of 13:07, 31 October 2023 by Abhishekkshukla (talk | contribs) (→‎यह भी देखें)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


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

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

मल्टीसाइकिल कंट्रोल यूनिट

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

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

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

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

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

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

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

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

पाइपलाइन कंट्रोल यूनिट्स

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

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

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

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

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

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

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

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

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

प्रेवेंटिंग स्टालों

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

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

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

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

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

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

आउट ऑफ ऑर्डर कंट्रोल यूनिट

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

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

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

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