सीपीयू, जिसे माइक्रोप्रोसेसर के रूप में भी जाना जाता है, कंप्यूटर का हृदय और/या मस्तिष्क है। कंप्यूटर प्रोग्राम को कुशलता से लिखने में हमारी सहायता करने के लिए कंप्यूटर के मूल में गहराई से जाने दें।
"एक उपकरण आमतौर पर एक मशीन की तुलना में अधिक सरल होता है; यह आमतौर पर हाथ से प्रयोग किया जाता है, जबकि एक मशीन अक्सर जानवर या भाप की शक्ति से चलती है।"
– चार्ल्स बैबेज
एक कंप्यूटर एक मशीन . है ज्यादातर बिजली से संचालित होता है लेकिन इसके लचीलेपन और प्रोग्राम की क्षमता ने एक उपकरण की सरलता हासिल करने में मदद की है।
सीपीयू कंप्यूटर का दिल और/या दिमाग है। यह उसे प्रदान किए गए निर्देशों को निष्पादित करता है। इसका मुख्य कार्य अंकगणित और तार्किक संचालन करना और निर्देशों को एक साथ व्यवस्थित करना है। मुख्य भागों में गोता लगाने से पहले आइए देखें कि सीपीयू के मुख्य घटक क्या हैं और इसकी क्या भूमिकाएँ हैं:
प्रोसेसर के दो मुख्य घटक
- कंट्रोल यूनिट — CU
- अंकगणित और तार्किक इकाई — ALU
कंट्रोल यूनिट — CU
कंट्रोल यूनिट सीयू सीपीयू का वह हिस्सा है जो निर्देशों के निष्पादन को व्यवस्थित करने में मदद करता है। यह बताता है कि क्या करना है। निर्देश के अनुसार, यह सीपीयू को कंप्यूटर के विभिन्न अन्य भागों से जोड़ने वाले तारों को सक्रिय करने में मदद करता है, जिसमें ALU शामिल है। . प्रसंस्करण के लिए निर्देश प्राप्त करने के लिए नियंत्रण इकाई सीपीयू का पहला घटक है।
नियंत्रण इकाई दो प्रकार की होती है:
- हार्डवायर्ड नियंत्रण इकाइयां ।
- माइक्रोप्रोग्रामेबल (माइक्रोप्रोग्राम्ड) कंट्रोल यूनिट्स ।
हार्डवायर्ड नियंत्रण इकाइयाँ हार्डवेयर हैं और इसे काम करने के लिए संशोधित करने के लिए हार्डवेयर में बदलाव की आवश्यकता है जहाँ माइक्रोप्रोग्रामेबल नियंत्रण इकाई को उसके व्यवहार को बदलने के लिए प्रोग्राम किया जा सकता है। हार्डवायर्ड सीयू निर्देश को संसाधित करने में तेज़ होते हैं जबकि माइक्रोप्रोग्रामेबल अधिक लचीले होते हैं।
अंकगणित और तार्किक इकाई — ALU
अंकगणित और तार्किक इकाई ALU जैसा कि नाम से पता चलता है, सभी अंकगणित और तार्किक गणना करता है। ALU जोड़, घटाव जैसे ऑपरेशन करता है। ALU में लॉजिक सर्किटरी या लॉजिक गेट होते हैं जो इन कार्यों को करते हैं।
अधिकांश लॉजिक गेट दो इनपुट लेते हैं और एक आउटपुट उत्पन्न करते हैं
बोलो हाफ योजक सर्किट का एक उदाहरण है जो दो इनपुट लेता है और परिणाम को आउटपुट करता है। यहां ए और बी इनपुट हैं, एस आउटपुट है और सी कैरी है।
स्टोरेज — रजिस्टर और मेमोरी
CPU का मुख्य कार्य उसे दिए गए निर्देशों को निष्पादित करना है। इन निर्देशों को अधिकांश समय संसाधित करने के लिए, इसे डेटा की आवश्यकता होती है। कुछ डेटा इंटरमीडिएट डेटा हैं, उनमें से कुछ इनपुट हैं और अन्य आउटपुट हैं। निर्देशों के साथ ये डेटा निम्न संग्रहण में संग्रहीत किया जाता है:
रजिस्टर
रजिस्टर स्थान का एक छोटा समूह है जहाँ डेटा संग्रहीत किया जा सकता है। रजिस्टर कुंडी . का एक संयोजन है . कुंडी फ्लिप-फ्लॉप . के रूप में भी जाना जाता है तर्क द्वार . के संयोजन हैं जो 1 बिट जानकारी संग्रहीत करता है।
एक कुंडी में दो इनपुट वायर, राइट और इनपुट वायर और एक आउटपुट वायर होता है। हम संग्रहीत डेटा में परिवर्तन करने के लिए राइट वायर को सक्षम कर सकते हैं। जब राइट वायर अक्षम हो जाता है तो आउटपुट हमेशा समान रहता है।
CPU में आउटपुट के डेटा को स्टोर करने के लिए रजिस्टर होते हैं। मुख्य मेमोरी (रैम) को भेजना धीमा होगा क्योंकि यह मध्यवर्ती डेटा है। यह डेटा अन्य रजिस्टर को भेजा जाता है जो एक बस . द्वारा जुड़ा होता है . एक रजिस्टर निर्देश, आउटपुट डेटा, स्टोरेज एड्रेस या किसी भी तरह के डेटा को स्टोर कर सकता है।
मेमोरी(RAM)
राम एक अनुकूलित तरीके से एक साथ व्यवस्थित और कॉम्पैक्ट रजिस्टर का एक संग्रह है ताकि यह अधिक संख्या में डेटा संग्रहीत कर सके। RAM (रैंडम एक्सेस मेमोरी) अस्थिर होती है और जब हम बिजली बंद करते हैं तो इसका डेटा खो जाता है। चूंकि रैम डेटा को पढ़ने/लिखने के लिए रजिस्टर का एक संग्रह है, रैम 8 बिट एड्रेस का इनपुट लेता है, वास्तविक डेटा को स्टोर करने के लिए डेटा इनपुट लेता है और अंत में एनेबलर को पढ़ता और लिखता है जो लैच के लिए काम करता है।
निर्देश क्या हैं
निर्देश दानेदार स्तर की गणना है जिसे एक कंप्यूटर कर सकता है। CPU विभिन्न प्रकार के निर्देश संसाधित कर सकता है।
निर्देशों में शामिल हैं:
- अंकगणित जैसे जोड़ें और घटाना
- तर्क निर्देश जैसे और , या , और नहीं
- डेटा निर्देश जैसे स्थानांतरित करें , इनपुट , आउटपुट , लोड करें , और स्टोर
- नियंत्रण प्रवाह निर्देश जैसे गोटो , अगर … गोटो , कॉल करें , और वापसी
- CPU को सूचित करें कि प्रोग्राम समाप्त हो गया है रोकें
कंप्यूटर को असेंबली भाषा का उपयोग करके निर्देश प्रदान किए जाते हैं या संकलक द्वारा उत्पन्न होते हैं या कुछ उच्च स्तरीय भाषाओं में व्याख्या किए जाते हैं।
ये निर्देश सीपीयू के अंदर हार्डवेयर्ड होते हैं। ALU में अंकगणित और तार्किक होते हैं जहाँ नियंत्रण प्रवाह CU द्वारा प्रबंधित किया जाता है।
एक घड़ी चक्र . में कंप्यूटर एक निर्देश निष्पादित कर सकते हैं लेकिन आधुनिक कंप्यूटर एक से अधिक निर्देश निष्पादित कर सकते हैं।
निर्देशों का एक समूह जिसे कंप्यूटर निष्पादित कर सकता है, उसे निर्देश सेट . कहा जाता है ।
CPU घड़ी
घड़ी चक्र
कंप्यूटर की गति उसके घड़ी चक्र से निर्धारित होती है। यह घड़ियों की अवधि . की संख्या है प्रति सेकंड एक कंप्यूटर काम करता है। एक घड़ी का चक्र लगभग 250 * 10 * -12 सेकंड की तरह बहुत छोटा होता है। घड़ी चक्र जितना ऊंचा होता है, प्रोसेसर उतना ही तेज होता है।
CPU घड़ी चक्र को GHz में मापा जाता है(गीगाहर्ट्ज़ ) 1gHz 10 हर्ट्ज के बराबर है(हर्ट्ज ) हर्ट्ज़ का मतलब सेकंड होता है। तो 1Gigahertz का अर्थ है 10 चक्र प्रति सेकंड।
घड़ी का चक्र जितना तेज़ होगा, CPU . के निर्देश उतने ही अधिक होंगे निष्पादित कर सकते हैं। घड़ी चक्र =1/घड़ी दरCPU समय =घड़ी चक्र की संख्या/घड़ी की दर
इसका मतलब है कि सीपीयू समय में सुधार करने के लिए हम सीपीयू को दिए गए निर्देश को अनुकूलित करके घड़ी की दर बढ़ा सकते हैं या घड़ी चक्र की संख्या घटा सकते हैं। कुछ प्रोसेसर घड़ी के चक्र को बढ़ाने की क्षमता प्रदान करते हैं, लेकिन चूंकि यह भौतिक परिवर्तन हैं, इसलिए अधिक ताप और यहां तक कि धूम्रपान/आग भी हो सकते हैं।
निर्देश कैसे निष्पादित होता है
निर्देश RAM . पर संगृहीत हैं क्रमिक क्रम में। एक काल्पनिक CPU निर्देश के लिए OP . शामिल हैं कोड (ऑपरेशनल कोड) और मेमोरी या रजिस्टर एड्रेस ।
एक कंट्रोल यूनिट के अंदर दो रजिस्टर होते हैं निर्देश रजिस्टर (IR) जो निर्देश के ओपी कोड को लोड करता है और निर्देश पता रजिस्टर जो वर्तमान निष्पादन निर्देश का पता लोड करता है। सीपीयू के अंदर अन्य रजिस्टर होते हैं जो एक निर्देश के अंतिम 4 बिट्स के पते में संग्रहीत मूल्य को संग्रहीत करते हैं।
आइए निर्देश के एक सेट का उदाहरण लेते हैं जो दो संख्याओं को जोड़ता है। विवरण के साथ निर्देश निम्नलिखित हैं:
चरण 1 — LOAD_A 8:
निर्देश प्रारंभ में RAM में सहेजा जाता है जैसे मान लीजिए <1100 1000>। पहला 4 बिट ऑप कोड है। यह निर्देश निर्धारित करता है। यह निर्देश लाया गया है आईआर . में नियंत्रण इकाई के। निर्देश है डीकोड लोड_ए होने के लिए जिसका अर्थ है कि उसे पता 1000 में डेटा लोड करने की आवश्यकता है जो ए को पंजीकृत करने के निर्देश का अंतिम 4 बिट है।
चरण 2 — LOAD_B 2
ऊपर के समान यह डेटा को मेमोरी एड्रेस 2 (0010) में सीपीयू रजिस्टर बी में लोड करता है।
चरण 3 — B A जोड़ें
अब अगला निर्देश इन दोनों नंबरों को जोड़ने का है। यहां सीयू एएलयू को ऐड ऑपरेशन करने और ए रजिस्टर करने के लिए रिजल्ट को वापस सेव करने के लिए कहता है।
चरण 4 — STORE_A 23
यह निर्देश का एक बहुत ही सरल सेट है जो दो संख्याओं को जोड़ने में मदद करता है।
हमने दो नंबर सफलतापूर्वक जोड़ दिए हैं!
बस
सीपीयू, रजिस्टर, मेमोरी और आईओ डिवाइसेज के बीच सभी डेटा बस के माध्यम से स्थानांतरित किए जाते हैं। डेटा को मेमोरी में लोड करने के लिए जिसे उसने अभी जोड़ा है, सीपीयू मेमोरी एड्रेस को एड्रेस बस और योग के परिणाम को डेटा बस में डालता है और कंट्रोल बस में सही सिग्नल को सक्षम करता है। इस तरह डेटा को बस की मदद से मेमोरी में लोड किया जाता है।
कैश
सीपीयू के पास उसके कैश्ड में निर्देश को प्रीफेच करने का तंत्र भी है। जैसा कि हम जानते हैं कि एक प्रोसेसर एक सेकंड में लाखों निर्देश पूरा कर सकता है। इसका मतलब है कि रैम से निर्देश प्राप्त करने में उन्हें निष्पादित करने की तुलना में अधिक समय व्यतीत होगा। इसलिए CPU कैश कुछ निर्देश और डेटा को प्रीफ़ेच करता है ताकि निष्पादन तेज़ हो जाए।
यदि कैशे और ऑपरेटिंग मेमोरी में डेटा भिन्न है, तो डेटा को डर्टी बिट . के रूप में चिह्नित किया जाता है ।
निर्देश पाइपलाइनिंग
आधुनिक सीपीयू निर्देश पाइपलाइनिंग . का उपयोग करता है के लिए निर्देश निष्पादन में समानता। प्राप्त करें, डिकोड करें, निष्पादित करें। जब एक निर्देश डिकोड चरण में होता है तो CPU दूसरे निर्देश को लाने के चरण के लिए संसाधित कर सकता है।
यह एक समस्या है जब एक निर्देश दूसरे पर निर्भर है। इसलिए प्रोसेसर उस निर्देश को निष्पादित करते हैं जो निर्भर नहीं हैं और अलग-अलग क्रम में हैं।
मल्टी कोर कंप्यूटर
यह मूल रूप से अलग सीपीयू है लेकिन इसमें कैशे जैसे कुछ साझा संसाधन हैं।
प्रदर्शन
CPU का प्रदर्शन उसके निष्पादन समय से निर्धारित होता है। प्रदर्शन =1/निष्पादन समय
मान लीजिए कि किसी प्रोग्राम को निष्पादित करने में 20ms लगते हैं। CPU का प्रदर्शन 1/20 =0.05ms हैसापेक्ष प्रदर्शन =निष्पादन समय 1/ निष्पादन समय 2
सीपीयू प्रदर्शन के लिए विचाराधीन कारक निर्देश निष्पादन समय और सीपीयू घड़ी की गति है। इसलिए किसी प्रोग्राम के प्रदर्शन को बढ़ाने के लिए हमें या तो घड़ी की गति बढ़ाने या किसी प्रोग्राम में निर्देश की संख्या कम करने की आवश्यकता होती है। प्रोसेसर की गति सीमित है और मल्टी कोर वाले आधुनिक कंप्यूटर एक सेकंड में लाखों निर्देशों का समर्थन कर सकते हैं। लेकिन अगर हमने जो प्रोग्राम लिखा है, उसमें बहुत सारे निर्देश हैं, तो यह समग्र प्रदर्शन को कम कर देगा।
बिग ओ नोटेशन दिए गए इनपुट से निर्धारित करता है कि प्रदर्शन कैसे प्रभावित होगा।
सीपीयू को तेज बनाने और जितना हो सके उतना प्रदर्शन करने के लिए सीपीयू में बहुत सारे अनुकूलन किए गए हैं। किसी भी प्रोग्राम को लिखते समय हमें इस बात पर विचार करने की आवश्यकता है कि सीपीयू को दिए जाने वाले निर्देशों की संख्या को कम करने से कंप्यूटर प्रोग्राम का प्रदर्शन कैसे बढ़ेगा।
मिलाप न्यूपने ब्लॉग पर भी पोस्ट किया गया:सीपीयू कैसे काम करता है