सेंट्रल प्रोसेसिंग यूनिट: Difference between revisions
No edit summary |
|||
(28 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Multiple image | {{Multiple image | ||
|direction = vertical | |direction = vertical | ||
|width = 120 | |width = 120 | ||
|image1 = Intel 80486DX2 top.jpg | |image1 = Intel 80486DX2 top.jpg | ||
|caption1 = | |caption1 = एक [[इन्टेल 80486DX2]] CPU, जैसा कि ऊपर से देखा गया है | ||
|image2 = Intel 80486DX2 bottom.jpg | |image2 = Intel 80486DX2 bottom.jpg | ||
|caption2 = | |caption2 = एक [इन्टेल 80486DX2], का निचला भाग, अपने पिन प्रदर्शित कर रहा है | ||
}} | }} | ||
'''<big>सेंट्रल प्रोसेसिंग यूनिट ( | '''<big>सेंट्रल प्रोसेसिंग यूनिट (सीपीयू)</big>,''' एक इलेक्ट्रॉनिक परिपथ तंत्र है, जो कंप्यूटर प्रोग्राम से युक्त निर्देशों को निष्पादित करता है। इसे '''सेंट्रल प्रोसेसर''', '''मुख्य प्रोसेसर''' या सिर्फ '''प्रोसेसर''' भी कहा जाता है। सीपीयू, प्रोग्राम में निर्देशों द्वारा निर्दिष्ट बुनियादी अंकगणित, तर्क, नियंत्रण और इनपुट/आउटपुट का संचालन करता है। यह मुख्य मेमोरी और इनपुट/आउटपुट परिपथ तंत्र जैसे बाहरी घटकों<ref name="kuck">{{cite book|last1= Kuck|first1= David|title= Computers and Computations, Vol 1|date= 1978|publisher= John Wiley & Sons, Inc.|isbn= 978-0471027164|page= 12}}</ref> और ग्राफिक्स प्रोसेसिंग यूनिट (जीपीयू) जैसे विशेष प्रोसेसर के विपरीत है। | ||
सीपीयू (CPU) का रूप, संरचना और कार्यान्वयन समय के साथ बदल गया है, लेकिन उनका मौलिक संचालन लगभग अपरिवर्तित ही रहता है। एक सीपीयू | सीपीयू (CPU) का रूप, संरचना और कार्यान्वयन समय के साथ बदल गया है, लेकिन उनका मौलिक संचालन लगभग अपरिवर्तित ही रहता है। एक सीपीयू के प्रमुख घटकों में अंकगणित-तर्क इकाई (एएलयू), जो अंकगणित और तर्क का संचालन करता है, प्रोसेसर रजिस्टर, जो एएलयू (ALU) को संकार्यों (ऑपेरैंड) की आपूर्ति करता है और एएलयू संचालन के परिणामों को संग्रहीत करता है, और एक नियंत्रण इकाई, जो एएलयू, रजिस्टरों और अन्य घटकों के समन्वित संचालन को मेमोरी से निर्देशित करके, डिकोडिंग और निर्देशों के निष्पादन को व्यवस्थित करती है, अदि सम्मिलित हैं। | ||
अधिकांश आधुनिक सीपीयू | अधिकांश आधुनिक सीपीयू एकीकृत सर्किट माइक्रोप्रोसेसरों पर प्रयुक्त होते हैं, जिसमें एक आईसी चिप पर एक या एक से अधिक सीपीयू होते हैं। कई सीपीयू वाले माइक्रोप्रोसेसर चिप मल्टी-कोर प्रोसेसर होते हैं। एकल भौतिक सीपीयू (प्रोसेसर कोर) को अतिरिक्त आभासी या तार्किक सीपीयू बनाने के लिए बहु-स्तरीय भी किया जा सकता है।<ref name="intel-pcm" /> | ||
सीपीयू | सीपीयू वाले एक आईसी चिप में मेमोरी, परिधीय अंतरपृष्ठ और कंप्यूटर के अन्य घटक भी हो सकते हैं; ऐसे एकीकृत उपकरणों को विभिन्न रूप से माइक्रोकंट्रोलर या चिप पर तंत्र (SoC) कहा जाता है। | ||
सरणी ( | सरणी (ऐरे) प्रोसेसर या सदिश प्रोसेसर में कई प्रोसेसर होते हैं जो बिना किसी इकाई को केंद्रीय मानते हुए समानांतर कार्य करते हैं। आभासी सीपीयू गतिशील समेकित कम्प्यूटेशनल संसाधनों का एक पृथक्करण है।<ref>{{Cite book | ||
|title= VMware vSphere Performance: Designing CPU, Memory, Storage, and Networking for Performance-Intensive Workloads | |title= VMware vSphere Performance: Designing CPU, Memory, Storage, and Networking for Performance-Intensive Workloads | ||
|last= Liebowitz, Kusek, Spies|first= Matt, Christopher, Rynardt | |last= Liebowitz, Kusek, Spies|first= Matt, Christopher, Rynardt | ||
Line 24: | Line 23: | ||
</ref> | </ref> | ||
== इतिहास == | == इतिहास == | ||
[[File:Edvac.jpg|thumb| | [[File:Edvac.jpg|thumb|पहले संग्रहीत-प्रोग्राम कंप्यूटरों में से एक, EDVAC]] | ||
ईएनआईएसी (ENIAC) जैसे प्रारंभिक कंप्यूटरों को अलग-अलग कार्यों को करने के लिए भौतिक रूप से पुनः तारित किया जाना था, जिसके कारण इन मशीनों को "फिक्स्ड-प्रोग्राम कंप्यूटर" कहा जाने लगा।<ref>{{cite book|last1=Regan|first1=Gerard|title=A Brief History of Computing|isbn=978-1848000834|page=66|url=https://books.google.com/books?isbn=1848000839|access-date=26 November 2014|year=2008}}</ref> "सेंट्रल प्रोसेसिंग यूनिट" शब्द का उपयोग वर्ष 1955 के पहले से किया गया था।<ref name= weik1955>{{cite journal | author = Weik, Martin H. | title = A Survey of Domestic Electronic Digital Computing Systems | publisher = [[Ballistic Research Laboratory]] | url = http://ed-thelen.org/comp-hist/BRL-i.html#IBM-CPC | year = 1955 }}</ref><ref name="weik1961">{{cite journal | author = Weik, Martin H. | title = A Third Survey of Domestic Electronic Digital Computing Systems | publisher = [[Ballistic Research Laboratory]] | url = http://ed-thelen.org/comp-hist/BRL61.html | year = 1961 }}</ref> चूंकि सीपीयू शब्द को सामान्यतः सॉफ्टवेयर (कंप्यूटर प्रोग्राम) निष्पादन के लिए एक उपकरण के रूप में परिभाषित किया जाता है, इसलिए उचित रूप से सीपीयू कहे जा सकने वाले सबसे प्रारम्भिक उपकरण का आगमन संग्रहीत-प्रोग्राम कंप्यूटर के आविष्कार के साथ हुआ था। | |||
एक संग्रहीत- | जे. प्रेस्पर एकर्ट और जॉन विलियम मौचली के ईएनआईएसी (ENIAC) की संरचना में एक संग्रहीत-प्रोग्राम कंप्यूटर का विचार पहले से ही उपस्थित था, लेकिन प्रारंभ में इसे छोड़ दिया गया था, जिससे इसे शीघ्रता से समाप्त किया जा सके।<ref>{{cite web|title=Bit By Bit|url=http://ds.haverford.edu/bitbybit/bit-by-bit-contents/chapter-five/5-1-stored-program-computing/|archive-url=https://web.archive.org/web/20121013210908/http://ds.haverford.edu/bitbybit/bit-by-bit-contents/chapter-five/5-1-stored-program-computing/|publisher=Haverford College|access-date=August 1, 2015|archive-date=October 13, 2012}}</ref> ईएनआईएसी के निर्माण से पूर्व 30 जून, 1945 को गणितज्ञ जॉन वॉन न्यूमैन ने ईडीवीएसी (EDVAC) पर एक रिपोर्ट का पहला मसौदा शीर्षक वाला पृष्ठ वितरित किया। यह एक संग्रहीत-प्रोग्राम कंप्यूटर की रूपरेखा थी जो अंततः अगस्त 1949 में पूरी हो गई।<ref>{{cite journal | title = First Draft of a Report on the EDVAC | publisher = [[Moore School of Electrical Engineering]], [[University of Pennsylvania]] | url = https://www.wiley.com/legacy/wileychi/wang_archi/supp/appendix_a.pdf | year = 1945}}</ref> ईडीवीएसी को विभिन्न प्रकार के निर्देशों (या संचालन) की एक निश्चित संख्या को निष्पादित करने के लिए निर्मित किया गया था। गौरतलब है कि ईडीवीएसी के लिए लिखे गए प्रोग्राम को कंप्यूटर की भौतिक वायरिंग द्वारा निर्दिष्ट करने के स्थान पर उच्च गति कंप्यूटर मेमोरी में संग्रहीत किया जाना था।<ref>{{cite encyclopedia|title=The Modern History of Computing|url=https://plato.stanford.edu/entries/computing-history/|author=Stanford University|encyclopedia=The Stanford Encyclopedia of Philosophy|access-date=September 25, 2015}}</ref> इसने ईएनआईएसी की एक गंभीर सीमा को पार कर लिया, जो नया कार्य करन हेतु कंप्यूटर को पुन: कॉन्फ़िगर करने के लिए आवश्यक काफी समय और प्रयास था।।<ref>{{cite web |title=ENIAC's Birthday |url=https://mitpress.mit.edu/blog/eniacs-birthday |publisher=The MIT Press |access-date=October 17, 2018 |date=February 9, 2016 |archive-date=October 17, 2018 |archive-url=https://web.archive.org/web/20181017163347/https://mitpress.mit.edu/blog/eniacs-birthday |url-status=dead }}</ref> वॉन न्यूमैन की संरचना के साथ, ईडीवीएसी द्वारा चलाए जाने वाले प्रोग्राम को केवल मेमोरी की सामग्री को बदलकर बदला जा सकता है। ईडीवीएसी पहला संगृहीत-प्रोग्राम कंप्यूटर नहीं था, क्योंकि मैनचेस्टर बेबी नामक एक छोटे पैमाने के प्रायोगिक संगृहीत प्रोग्राम कंप्यूटर ने अपना पहला प्रोग्राम 21 जून 1948 को<ref>{{citation |last=Enticknap |first=Nicholas |title=Computing's Golden Jubilee |journal=Resurrection |issue=20 |publisher=The Computer Conservation Society |date=Summer 1998 |url=http://www.computerconservationsociety.org/resurrection/res20.htm#d |issn=0958-7403 |access-date=26 June 2019}}</ref> और मैनचेस्टर मार्क-1 ने 16-17 जून 1949 की रात के दौरान अपना पहला प्रोग्राम संचालित किया।<ref>{{cite web|title=The Manchester Mark 1|url=http://curation.cs.manchester.ac.uk/digital60/www.digital60.org/birth/manchestercomputers/mark1/manchester.html|work=The University of Manchester|access-date=September 25, 2015}}</ref> | ||
प्रारंभिक सीपीयू की संरचना पारंपरिक थी, जिनका उपयोग बड़े और कभी-कभी विशिष्ट कंप्यूटर के हिस्से के रूप में किया जाता था।<ref>{{cite web|title=The First Generation|url=http://www.computerhistory.org/revolution/birth-of-the-computer/4/92|publisher=Computer History Museum |access-date= September 29, 2015}}</ref> हालांकि, किसी विशेष अनुप्रयोग के लिए पारम्परिक सीपीयू की इस संरचना पद्धति ने बड़ी मात्रा में उत्पादित बहुउद्देश्यीय प्रोसेसर के विकास के लिए काफी हद तक मार्ग प्रशस्त किया है। यह मानकीकरण असतत ट्रांजिस्टर मेनफ्रेम और मिनीकंप्यूटर के युग में शुरू हुआ और एकीकृत परिपथ के लोकप्रिय होने के साथ तेजी से बढ़ा है। आईसी ने तीव्र गति से जटिल सीपीयू को नैनोमीटर के क्रम पर सहनशीलता के लिए संरचना और निर्मित करने की अनुमति दी है।<ref name="nobel">{{cite web|title=The History of the Integrated Circuit|url=https://educationalgames.nobelprize.org/educational/physics/integrated_circuit/history/index.html|website=Nobelprize.org |access-date=July 17, 2022}}</ref> सीपीयू के लघुकरण और मानकीकरण ने समर्पित कंप्यूटिंग मशीनों के सीमित अनुप्रयोग ने आधुनिक जीवन में अत्यधिक डिजिटल उपकरणों की उपस्थिति में वृद्धि की है। आधुनिक माइक्रोप्रोसेसर ऑटोमोबाइल<ref>{{cite web|last1=Turley|first1=Jim|title=Motoring with microprocessors|date=11 August 2003|url=http://www.embedded.com/electronics-blogs/significant-bits/4024611/Motoring-with-microprocessors |publisher=Embedded|access-date=November 15, 2015}}</ref> से लेकर सेलफोन,<ref>{{cite web|title=Mobile Processor Guide – Summer 2013|url=http://www.androidauthority.com/mobile-processor-guide-summer-2013-234354/|publisher=Android Authority|access-date= November 15, 2015|date=2013-06-25}}</ref> और कभी-कभी खिलौनों जैसी इलेक्ट्रॉनिक उपकरणों में दिखाई देते हैं।<ref>{{cite web |title=Section 250: Microprocessors and Toys: An Introduction to Computing Systems |url=https://eng100.engin.umich.edu/list/sec250/ |publisher=The University of Michigan |access-date=October 9, 2018 |archive-date=April 13, 2021 |archive-url=https://web.archive.org/web/20210413194655/https://eng100.engin.umich.edu/list/sec250/ |url-status=dead }}</ref><ref>{{cite web|title=ARM946 Processor |url=https://www.arm.com/products/processors/classic/arm9/arm946.php|publisher=ARM|url-status=dead|archive-url = https://web.archive.org/web/20151117015143/https://www.arm.com/products/processors/classic/arm9/arm946.php|archive-date = 17 November 2015}}</ref> | |||
=== | जबकि वॉन न्यूमैन को प्रायः ईडीवीएसी की अपनी संरचना के कारण संग्रहीत-प्रोग्राम कंप्यूटर की संरचना का श्रेय दिया जाता है, और संरचना को वॉन न्यूमैन निर्माणकला के रूप में जाना जाता है; कोनराड ज़ूस जैसे अन्य लोगों ने उनके पहले इसी तरह के विचारों का सुझाव दिया था और उन्हें प्रयुक्त किया था।<ref>{{cite web|title=Konrad Zuse|url=http://www.computerhistory.org/fellowawards/hall/konrad-zuse/|publisher=Computer History Museum|access-date=September 29, 2015}}</ref> ईडीवीएसी से पहले पूर्ण, हार्वर्ड मार्क-प्रथम की तथाकथित हार्वर्ड वास्तुकला<ref>{{cite web|title=Timeline of Computer History: Computers|url=https://www.computerhistory.org/timeline/computers/|publisher=Computer History Museum|access-date=November 21, 2015}}</ref><ref>{{cite web|title=A Brief History of Computing - First Generation Computers|url=http://trillian.randomstuff.org.uk/~stephen/history/timeline-GEN1.html|last=White|first=Stephen|access-date=November 21, 2015}}</ref> ने इलेक्ट्रॉनिक मेमोरी के स्थान पर छिद्रित पेपर टेप का उपयोग करके एक संग्रहीत-कार्यक्रम संरचना का भी उपयोग किया।<ref>{{cite web|title=Harvard University Mark - Paper Tape Punch Unit|url=https://www.computerhistory.org/collections/catalog/102698407|publisher=Computer History Museum|access-date=November 21, 2015}}</ref> वॉन न्यूमैन और हार्वर्ड वास्तुकला के बीच महत्वपूर्ण अंतर यह है कि बाद वाला सीपीयू निर्देशों और डेटा के भंडारण और उपचार को अलग करता है, जबकि पूर्व वाला दोनों के लिए समान मेमोरी का उपयोग करता है।<ref>{{cite web|title=What is the difference between a von Neumann architecture and a Harvard architecture?|url=http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/3738.html|publisher=ARM|access-date=November 22, 2015}}</ref> अधिकांश आधुनिक सीपीयू मुख्य रूप से संरचना में वॉन न्यूमैन हैं, लेकिन हार्वर्ड वास्तुकला वाले सीपीयू को भी विशेष रूप से अन्तर्निहित अनुप्रयोगों में देखा जाता है; उदाहरण के लिए, एटमेल एवीआर माइक्रोकंट्रोलर हार्वर्ड वास्तुकला प्रोसेसर हैं।<ref>{{cite web|title=Advanced Architecture Optimizes the Atmel AVR CPU|url=http://www.atmel.com/technologies/cpu_core/avr.aspx|publisher=Atmel|access-date=November 22, 2015|archive-date=November 14, 2015|archive-url=https://web.archive.org/web/20151114090428/http://www.atmel.com/technologies/cpu_core/avr.aspx|url-status=dead}}</ref> | ||
रिले और निर्वात नली (ऊष्मापन नली) सामान्यतः स्विचिंग तत्वों के रूप में उपयोग किए जाते थे;<ref>{{cite web|title=Switches, transistors and relays|url=http://www.bbc.co.uk/schools/gcsebitesize/design/electronics/switchesrev5.shtml|publisher=BBC |url-status=dead|archive-url = https://web.archive.org/web/20161205142752/http://www.bbc.co.uk/schools/gcsebitesize/design/electronics/switchesrev5.shtml|archive-date = 5 December 2016}}</ref><ref>{{cite web|title=Introducing the Vacuum Transistor: A Device Made of Nothing|url=https://spectrum.ieee.org/semiconductors/devices/introducing-the-vacuum-transistor-a-device-made-of-nothing|website=IEEE Spectrum|access-date=27 January 2019|date=2014-06-23}}</ref> एक उपयोगी कंप्यूटर के लिए हजारों या दसियों हज़ार स्विचिंग उपकरणों की आवश्यकता होती है। सिस्टम की समग्र गति स्विच की गति पर निर्भर करती है। ईडीवीएसी जैसे निर्वात नली कंप्यूटर विफलताओं के बीच औसतन आठ घंटे तक चलते थे, जबकि हार्वर्ड मार्क-प्रथम जैसे (धीमे, लेकिन पहले) रिले कंप्यूटर बहुत कम ही विफल होते थे।<ref name="weik1961" />अंत में, महत्वपूर्ण गति लाभ के सामान्यतः विश्वसनीयता की समस्याओं से अधिक होने के कारण नली-आधारित सीपीयू प्रमुख हो गए। इनमें से अधिकांश प्रारम्भिक समकालीन सीपीयू आधुनिक माइक्रोइलेक्ट्रॉनिक संरचनाओं की तुलना में कम घड़ी स्पंदों पर चलते थे। इस समय 100 किलोहर्ट्ज़ से 4 मेगाहर्ट्ज तक की घड़ी संकेत आवृत्तियाँ बहुत सामान्य थीं, जो बड़े पैमाने पर स्विचिंग उपकरणों की गति से सीमित थीं, जिनके साथ उन्हें बनाया गया था।<ref>{{cite book|title=What Is Computer Performance?|url=http://www.nap.edu/read/12980/chapter/5#55|publisher=The National Academies Press|access-date=May 16, 2016|doi=10.17226/12980|year=2011|isbn=978-0-309-15951-7}}</ref> | |||
[[File: | === ट्रांजिस्टर सीपीयू === | ||
[[File:IBM PPC604e 200.jpg|thumb|आईबीएम पावरपीसी 604ई प्रोसेसर]] | |||
विभिन्न प्रौद्योगिकियों द्वारा छोटे और अधिक विश्वसनीय इलेक्ट्रॉनिक उपकरणों के निर्माण की सुविधा प्रदान करने के कारण सीपीयू की संरचना की जटिलता में वृद्धि हुई। इस तरह का पहला सुधार ट्रांजिस्टर के आगमन के साथ हुआ। 1950 और 1960 के दशक के दौरान ट्रांजिस्टरीकृत सीपीयू को अब निर्वात नली और रिले जैसे भारी, अविश्वसनीय और नाजुक स्विचिंग तत्वों से नहीं बनाया जाना था।<ref>{{cite web|title=1953: Transistorized Computers Emerge|url=http://www.computerhistory.org/siliconengine/transistorized-computers-emerge/|work=Computer History Museum|access-date=June 3, 2016}}</ref> इस सुधार के साथ असतत (एकल) घटकों वाले एक या कई मुद्रित परिपथ बोर्डों पर अधिक जटिल और विश्वसनीय सीपीयू बनाए गए थे। | |||
आईबीएम (IBM) ने वर्ष 1964 में अपना आईबीएम सिस्टम/360 कंप्यूटर निर्माणकला प्रस्तुत किया जिसका उपयोग कंप्यूटरों की एक श्रृंखला में किया गया था जो एक ही प्रोग्राम को अलग-अलग गति और प्रदर्शन के साथ चलाने में सक्षम थे।<ref>{{cite web|url=http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_FS360.html|title=IBM System/360 Dates and Characteristics|publisher=IBM|date=2003-01-23}}</ref> यह ऐसे समय में महत्वपूर्ण था जब अधिकांश इलेक्ट्रॉनिक कंप्यूटर, यहाँ तक कि एक ही निर्माता द्वारा बनाए गए कंप्यूटर भी एक दूसरे के साथ असंगत थे। आईबीएम (IBM) ने इस सुधार को सुविधाजनक बनाने के लिए एक माइक्रोप्रोग्राम (प्रायः "माइक्रोकोड") की अवधारणा का उपयोग किया, जो अभी भी आधुनिक सीपीयू में व्यापक उपयोग के रूप में दिखता है।<ref name="amdahl1964">{{cite journal | last1 = Amdahl | first1 = G. M. | author-link1 = Gene Amdahl | last2 = Blaauw | first2 = G. A. | author-link2 = Gerrit Blaauw | last3 = Brooks | first3 = F. P. Jr. | author-link3 = Fred Brooks | title = Architecture of the IBM System/360 | journal = IBM Journal of Research and Development | volume = 8 | issue = 2 | pages = 87–101 | issn = 0018-8646 | publisher = [[IBM]] | date = April 1964 | doi = 10.1147/rd.82.0087 }}</ref> सिस्टम/360 निर्माणकला इतनी लोकप्रिय थी कि इसने दशकों तक मेनफ्रेम कंप्यूटर बाजार पर अपना दबदबा बनाया और एक ऐसी विरासत छोड़ी जो अभी भी आईबीएम ज़ेडश्रृंखला जैसे समान आधुनिक कंप्यूटरों द्वारा जारी है।<ref>{{cite web|last1=Brodkin|first1=John|title=50 years ago, IBM created mainframe that helped send men to the Moon|url=https://arstechnica.com/information-technology/2014/04/50-years-ago-ibm-created-mainframe-that-helped-bring-men-to-the-moon/|website=Ars Technica|date=7 April 2014|access-date=9 April 2016}}</ref><ref>{{cite web|last1=Clarke|first1=Gavin|title=Why won't you DIE? IBM's S/360 and its legacy at 50|url=https://www.theregister.co.uk/2014/04/07/ibm_s_360_50_anniversary/|website=The Register|access-date=9 April 2016}}</ref> डिजिटल उपकरण निगम ने वर्ष 1965 में वैज्ञानिक और अनुसंधान बाजारों, पीडीपी-8 (PDP-8) के उद्देश्य से एक और प्रभावशाली कंप्यूटर प्रस्तुत किया।<ref>{{cite web|title=Online PDP-8 Home Page, Run a PDP-8|url=http://www.pdp8.net/index.shtml|website=PDP8|access-date=September 25, 2015}}</ref> | |||
[[File:Board with SPARC64 VIIIfx processors on display in Fujitsu HQ.JPG|thumb|SPARC64 VIIIFX प्रोसेसर के साथ फुजित्सु बोर्ड]] | |||
अपने पूर्ववर्तियों की तुलना में ट्रांजिस्टर-आधारित कंप्यूटरों के कई विशिष्ट लाभ थे। बढ़ी हुई विश्वसनीयता और कम बिजली की खपत को सुविधाजनक बनाने के अतिरिक्त ट्रांजिस्टर ने एक टनली या रिले की तुलना में ट्रांजिस्टर के कम स्विचिंग समय के कारण सीपीयू को बहुत अधिक गति से संचालित करने की अनुमति दी।<ref>{{cite web|title=Transistors, Relays, and Controlling High-Current Loads|url=https://itp.nyu.edu/physcomp/lessons/electronics/transistors-relays-and-controlling-high-current-loads/|publisher=ITP Physical Computing|work=New York University|access-date=9 April 2016}}</ref> स्विचिंग तत्वों की बढ़ी हुई विश्वसनीयता और नाटकीय रूप से बढ़ी हुई गति इस अवधि के दौरान दसियों मेगाहर्ट्ज़ में सीपीयू घड़ी दर आसानी से प्राप्त की गई थी, जो इस समय तक लगभग विशेष रूप से ट्रांजिस्टर थे।<ref name = pcgamer>{{cite magazine|last1=Lilly |first1=Paul|title=A Brief History of CPUs: 31 Awesome Years of x86|url=http://www.pcgamer.com/a-brief-history-of-cpus-31-awesome-years-of-x86/|magazine=PC Gamer|access-date=June 15, 2016|date=2009-04-14}}</ref> इसके अतिरिक्त, जब असतत ट्रांजिस्टर और आईसी सीपीयू भारी उपयोग में थे, तब एकल निर्देश, एकाधिक डेटा (सिम) वेक्टर प्रोसेसर जैसे नए उच्च-प्रदर्शन संरचना दिखाई देने लगे।<ref name="patterson">{{cite book|first1=David A.|last1=Patterson|first2=John L.|last2=Hennessy|first3=James R.|last3=Larus|title=Computer Organization and Design: the Hardware/Software Interface|date=1999|publisher=Kaufmann|location=San Francisco|isbn=978-1558604285|page=[https://archive.org/details/computerorganiz000henn/page/751 751]|edition=2. ed., 3rd print.|url=https://archive.org/details/computerorganiz000henn/page/751}}</ref> इन प्रारंभिक प्रयोगात्मक संरचनाओं ने बाद में क्रे आईएनसी और फुजित्सु लिमिटेड द्वारा बनाए गए विशेष सुपर कंप्यूटरों के युग को जन्म दिया।<ref name="patterson"/> | |||
=== छोटे पैमाने पर एकीकरण सीपीयू === | |||
[[File:PDP-8i cpu.jpg|thumb| मध्यम-पैमाने पर एकीकृत सर्किट से बने डिक पीडीपी -8/आई का सीपीयू, कोर मेमोरी और बाह्य बस अंतरपृष्ठ ]] | |||
इस अवधि के दौरान, एक सघन स्थान में कई परस्पर संयोजित ट्रांजिस्टर के निर्माण की एक विधि विकसित की गई थी। एकीकृत परिपथ (आईसी) ने बड़ी संख्या में ट्रांजिस्टर को एकल अर्धचालक-आधारित डाई, या "चिप" पर निर्मित करने की अनुमति दी। सर्वप्रथम केवल नॉर गेटों जैसे बहुत ही बुनियादी गैर-विशिष्ट डिजिटल परिपथों को आईसी में छोटा किया गया था।<ref>{{cite web |title=1962: Aerospace systems are first the applications for ICs in computers |url=http://www.computerhistory.org/siliconengine/aerospace-systems-are-first-the-applications-for-ics-in-computers/ |publisher=[[Computer History Museum]] |access-date=October 9, 2018}}</ref> इन "निर्माण खंड" आईसी पर आधारित सीपीयू को सामान्यतः "छोटे पैमाने पर एकीकरण (एसएसआई)" उपकरण कहा जाता है। एसएसआई आईसी, जैसे कि अपोलो गाइडेंस कंप्यूटर में उपयोग किए जाने वाले, सामान्यतः कुछ दर्जन ट्रांजिस्टर होते हैं। एसएसआई आईसी से एक संपूर्ण सीपीयू बनाने के लिए हजारों एकल चिपों की आवश्यकता होती है, लेकिन फिर भी इनमें पहले के असतत ट्रांजिस्टर संरचनाओं की तुलना में बहुत कम जगह और बिजली की खपत होती है।<ref>{{cite web |title=The integrated circuits in the Apollo manned lunar landing program |url=https://www.hq.nasa.gov/alsj/ic-pg3.html |publisher=National Aeronautics and Space Administration |access-date=October 9, 2018}}</ref> | |||
सिस्टम/360 का अनुपालक आईबीएम सिस्टम/360 ठोस तार्किक तकनीक असतत-ट्रांजिस्टर मॉड्यूल के स्थान पर एसएसआई आईसी (SSI IC) का उपयोग करता है।<ref>{{cite web|title=System/370 Announcement|url=http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PR370.html|website=IBM Archives|access-date=October 25, 2017|date=2003-01-23}}</ref><ref>{{cite web|title=System/370 Model 155 (Continued)|url=https://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3155B.html|website=IBM Archives|access-date=October 25, 2017|date=2003-01-23}}</ref> डीईसी पीडीपी-8/I और केआई10 पीडीपी-10 को भी पीडीपी-8 (PDP-8) और पीडीपी-10 (PDP-10) द्वारा उपयोग किए जाने वाले एकल ट्रांजिस्टर से एसएसआई आईसी में बदल दिया गया,<ref>{{cite web|url=http://homepage.divms.uiowa.edu/~jones/pdp8/models/|title=Models and Options|publisher=The Digital Equipment Corporation PDP-8|access-date=June 15, 2018}}</ref> और उनकी अत्यंत लोकप्रिय पीडीपी-11 (PDP-11) लाइन मूल रूप से एसएसआई आईसी के साथ बनाई गई थी, लेकिन अंततः इनके व्यावहारिक हो जाने पर इन्हें एलएसआई (LSI) घटकों के साथ लागू किया गया। | |||
आईबीएम | |||
=== बड़े पैमाने पर एकीकरण सीपीयू | === बड़े पैमाने पर एकीकरण सीपीयू === | ||
ली बॉयसेल ने 1967 के घोषणापत्र सहित प्रभावशाली लेख प्रकाशित किए, जिसमें | ली बॉयसेल ने वर्ष 1967 के "घोषणापत्र" सहित प्रभावशाली लेख प्रकाशित किए, जिसमें वर्णन किया गया था कि अपेक्षाकृत कम संख्या में बड़े पैमाने के एकीकरण परिपथ (LSI) से 32-बिट मेनफ्रेम कंप्यूटर का समकक्ष कैसे बनाया जाए।<ref>{{cite book|author=Ross Knox Bassett|url=https://books.google.com/books?id=UUbB3d2UnaAC|title=To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology|year=2007|pages=127–128, 256, and 314|publisher=[[The Johns Hopkins University Press]]|isbn=978-0-8018-6809-2}}</ref><ref name="shirriff"> | ||
Ken Shirriff. | Ken Shirriff. | ||
[http://www.righto.com/2015/05/the-texas-instruments-tmx-1795-first.html "The Texas Instruments TMX 1795: the first, forgotten microprocessor"]. | [http://www.righto.com/2015/05/the-texas-instruments-tmx-1795-first.html "The Texas Instruments TMX 1795: the first, forgotten microprocessor"]. | ||
</ref> एलएसआई | </ref> एलएसआई चिपों (जो सौ या अधिक गेट वाले चिप होते हैं) के निर्माण की एकमात्र विधि यह थी कि उन्हें धातु-ऑक्साइड-अर्धचालक (MOS), अर्धचालक निर्माण प्रक्रिया जैसे पीएमओएस (PMOS) तर्क, एनएमओएस (NMOS) तर्क, या तो सीएमओएस (CMOS) तर्क का उपयोग करके बनाना था। हालाँकि, कुछ कंपनियों ने द्विध्रुवी संधि ट्रांजिस्टर के मॉस चिप की तुलना में तेज़ होने के कारण 1970 के दशक तक द्विध्रुवी ट्रांजिस्टर-ट्रांजिस्टर तर्क (टीटीएल) चिपों से प्रोसेसर का निर्माण जारी रखा, जबकि डेटाप्वाइंट जैसी कुछ कंपनियों ने 1980 के दशक चिप टीटीएल चिपों से प्रोसेसर का निर्माण जारी रखा।<ref name="shirriff" /> मॉस आईसी 1960 के दशक में धीमे थे और प्रारंभ में केवल उन अनुप्रयोगों में उपयोगी माने जाते थे जिन्हें कम शक्ति की आवश्यकता होती थी।<ref>{{cite web|url=http://www.brown.edu/Departments/Engineering/Labs/ddzo/speed.html|title=Speed & Power in Logic Families}}.</ref><ref> | ||
T. J. Stonham. | T. J. Stonham. | ||
[https://books.google.com/books?id=UE6vFEnGP2kC "Digital Logic Techniques: Principles and Practice"]. | [https://books.google.com/books?id=UE6vFEnGP2kC "Digital Logic Techniques: Principles and Practice"]. | ||
1996. | 1996. | ||
p. 174. | p. 174. | ||
</ref> 1968 में फेयरचाइल्ड | </ref> वर्ष 1968 में फेयरचाइल्ड अर्धचालक में फेडरिको फागिन द्वारा सिलिकॉन-गेट मॉस तकनीक के विकास के बाद, 1970 के दशक के प्रारंभ में मॉस आईसी ने बड़े पैमाने पर द्विध्रुवी टीटीएल को मानक चिप प्रौद्योगिकी के रूप में प्रतिस्थापित कर दिया।<ref>{{cite web |title=1968: Silicon Gate Technology Developed for ICs |url=https://www.computerhistory.org/siliconengine/silicon-gate-technology-developed-for-ics/ |website=Computer History Museum}}</ref> | ||
माइक्रोइलेक्ट्रॉनिक तकनीक की उन्नति के साथ-साथ आईसी पर अधिक संख्या में ट्रांजिस्टर रखे गये, जिससे एक पूर्ण सीपीयू के लिए आवश्यक एकल आईसी की संख्या कम हो गई। एमएसआई (MSI) और एलएसआई (LSI) एकीकृत परिपथ ने ट्रांजिस्टर की संख्या बढ़ाकर सैकड़ों और फिर हजारों कर दी। एक संपूर्ण सीपीयू के निर्माण के लिए आवश्यक आईसी की संख्या को वर्ष 1968 तक घटाकर आठ अलग-अलग प्रकार की 24 आईसी कर दिया गया, जिसमें प्रत्येक आईसी में लगभग 1000 मॉस्फेट होते थे।<ref> | |||
R. K. Booher. | R. K. Booher. | ||
[http://www.computer.org/csdl/proceedings/afips/1968/5072/00/50720877.pdf "MOS GP Computer"]. | [http://www.computer.org/csdl/proceedings/afips/1968/5072/00/50720877.pdf "MOS GP Computer"]. | ||
afips, pp.877, 1968 Proceedings of the Fall Joint Computer Conference, 1968 | afips, pp.877, 1968 Proceedings of the Fall Joint Computer Conference, 1968 | ||
{{doi|10.1109/AFIPS.1968.126}} | {{doi|10.1109/AFIPS.1968.126}} | ||
</ref> | </ref> पीडीपी-11 (PDP-11) के पहले एलएसआई (LSI) कार्यान्वयन में अपने एसएसआई (SSI) और एमएसआई (MSI) पूर्ववर्तियों के विपरीत केवल चार एलएसआई (LSI) एकीकृत परिपथों से बना एक सीपीयू सम्मिलित था।<ref>{{cite book |date=November 1975 | title = LSI-11, PDP-11/03 user's manual | chapter = LSI-11 Module Descriptions | edition = 2nd | pages = 4–3 | publisher = [[Digital Equipment Corporation]] | location = Maynard, Massachusetts | chapter-url = http://www.bitsavers.org/pdf/dec/pdp11/1103/EK-LSI11-TM-002.pdf}}</ref> | ||
=== माइक्रोप्रोसेसर === | === माइक्रोप्रोसेसर === | ||
{{multiple image | {{multiple image | ||
Line 70: | Line 68: | ||
|direction = vertical | |direction = vertical | ||
|image1 = 80486dx2-large.jpg | |image1 = 80486dx2-large.jpg | ||
|caption1 = [[ | |caption1 = एक [[इंटेल 80486डीएक्स2]] माइक्रोप्रोसेसर की [[(एकीकृत परिपथ)|डाई]] (वास्तविक आकार: 12 × 6.75mm) की पैकेजिंग में | ||
|image2 = EBIntel Corei5.JPG | |image2 = EBIntel Corei5.JPG | ||
|caption2 = [[ | |caption2 = [[इंटेल]] कोर i5 सीपीयू एक [[सोनी वायो ई सीरीज | वायो ई सीरीज]] लैपटॉप मदरबोर्ड पर (दाईं ओर, [[हीट पाइप]] के नीचे) | ||
}} | }} | ||
[[File:Laptop-intel-core2duo-t5500.jpg|thumb|एक लैपटॉप के अंदर, सॉकेट से सीपीयू | [[File:Laptop-intel-core2duo-t5500.jpg|thumb|एक लैपटॉप के अंदर, सॉकेट से हटाये गये सीपीयू के साथ ]] | ||
माइक्रोप्रोसेसरों को पहली बार प्रस्तुत किये जाने के कारण उन्होंने अन्य सभी सेन्ट्रल प्रोसेसिंग यूनिट (CPU) कार्यान्वयन विधियों को लगभग पूरी तरह से पीछे छोड़ दिया है। व्यावसायिक रूप से उपलब्ध पहला माइक्रोप्रोसेसर, इंटेल 4004 वर्ष 1971 में बनाया गया, था, और इंटेल 8080, वर्ष 1974 में बनाया गया पहला व्यापक रूप से इस्तेमाल किया जाने वाला माइक्रोप्रोसेसर था। उस समय के मेनफ्रेम और मिनीकंप्यूटर निर्माताओं ने अपने पुराने कंप्यूटर वास्तुकला को उन्नत करने के लिए स्वामित्व आईसी विकास कार्यक्रम शुरू किए, और अंततः निर्मित निर्देश सेट संगत माइक्रोप्रोसेसर अपने पुराने हार्डवेयर और सॉफ़्टवेयर के साथ पिछड़े-संगत थे। सर्वव्यापी व्यक्तिगत कंप्यूटर के आगमन और अंतिम सफलता के साथ संयुक्त, सीपीयू शब्द अब लगभग विशेष रूप से{{Efn|Integrated circuits are now used to implement all CPUs, except for a few machines designed to withstand large electromagnetic pulses, say from a nuclear weapon.}} माइक्रोप्रोसेसरों पर प्रयुक्त होता है। एक ही प्रोसेसिंग चिप में कई सीपीयू (डिनोटेड कोर) को जोड़ा जा सकता है।<ref>{{cite web |url=https://www.techtarget.com/searchdatacenter/definition/multi-core-processor |publisher=TechTarget |title=What is a multicore processor and how does it work? |first=Stephen J. |last=Bigelow |date=March 2022 |access-date=July 17, 2022}}</ref> | |||
सीपीयू की पिछली पीढ़ियों को एक या अधिक | सीपीयू की पिछली पीढ़ियों को एक या अधिक परिपथ बोर्डों पर असतत घटकों और कई छोटे एकीकृत परिपथों के रूप में प्रयुक्त किया गया था।<ref>{{cite web |title=A Brief History of the Microprocessor |url=http://www.computermuseum.li/Testpage/MicroprocessorHistory.htm |website=computermuseum.li |author=Richard Birkby |access-date=October 13, 2015 |url-status=dead |archive-url=https://web.archive.org/web/20150923205820/http://www.computermuseum.li/Testpage/MicroprocessorHistory.htm |archive-date=September 23, 2015 }}</ref> दूसरी ओर, माइक्रोप्रोसेसर, बहुत कम संख्या में (सामान्यतः एक) आईसी पर निर्मित सीपीयू होते हैं।<ref name=Osborne80>{{cite book | first=Adam | last=Osborne | title=An Introduction to Microcomputers | volume=1: Basic Concepts | edition=2nd | publisher=Osborne-McGraw Hill | location=Berkeley, California | year=1980 | isbn=978-0-931988-34-9 | url=https://archive.org/details/introductiontomi00adam }}</ref> एक ही डाई पर लागू होने के परिणामस्वरूप समग्र छोटे सीपीयू आकार, कम गेट पराश्रयी धारिता जैसे भौतिक कारकों के कारण तेजी से स्विचिंग समय के लिय उत्तरदायी होते हैं।<ref>{{cite web|last1=Zhislina|first1=Victoria|title=Why has CPU frequency ceased to grow?|url=https://software.intel.com/en-us/blogs/2014/02/19/why-has-cpu-frequency-ceased-to-grow|publisher=Intel|access-date=October 14, 2015|date=2014-02-19}}</ref><ref>{{cite web|title=MOS Transistor - Electrical Engineering & Computer Science|url=http://www.eecs.berkeley.edu/~tking/theses/bsriram.pdf|publisher=University of California|access-date=October 14, 2015}}</ref> इसने समकालिक माइक्रोप्रोसेसरों को दसियों मेगाहर्ट्ज़ से लेकर कई गीगाहर्ट्ज़ तक की घड़ी दर रखने की अनुमति दी है। इसके अतिरिक्त, एक आईसी पर अत्यधिक छोटे ट्रांजिस्टर बनाने की क्षमता ने एकल सीपीयू में ट्रांजिस्टर की जटिलता और संख्या को कई गुना बढ़ा दिया है। व्यापक रूप से देखी गई इस प्रवृत्ति का वर्णन मूर के नियम द्वारा किया गया है, जो वर्ष 2016 तक सीपीयू (और अन्य आईसी) जटिलता के विकास का काफी सटीक भविष्यवक्ता साबित हुआ था।<ref>{{Cite news|url=https://www.technologyreview.com/s/601441/moores-law-is-dead-now-what/|title=Moore's Law Is Dead. Now What?|last=Simonite|first=Tom|work=MIT Technology Review|access-date=2018-08-24|language=en}}</ref><ref name="MooresLaw">{{cite journal|title=Excerpts from A Conversation with Gordon Moore: Moore's Law |publisher=Intel |year=2005 |url=ftp://download.intel.com/museum/Moores_Law/Video-Transcripts/Excepts_A_Conversation_with_Gordon_Moore.pdf |access-date=2012-07-25 |url-status=dead |archive-url=https://web.archive.org/web/20121029060050/http://download.intel.com/museum/Moores_Law/Video-Transcripts/Excepts_A_Conversation_with_Gordon_Moore.pdf |archive-date=2012-10-29 }}</ref> | ||
== | जबकि वर्ष 1950 के बाद से सीपीयू की जटिलता, आकार, निर्माण और सामान्य रूप में काफी परिवर्तन आया है,<ref>{{cite web |title=A detailed history of the processor|url=https://www.techjunkie.com/a-cpu-history/|publisher=Tech Junkie |date = 15 December 2016}}</ref> लेकिन मूल संरचना और कार्य बिल्कुल भी नहीं बदले हैं। आज लगभग सभी सामान्य सीपीयू को वॉन न्यूमैन संगृहीत-प्रोग्राम मशीन के रूप में बहुत सटीक रूप से वर्णित किया जा सकता है।<ref>{{cite book |chapter=Von Neumann Computers | first1=Rudolf|last1= Eigenmann |first2= David|last2=Lilja|title=Wiley Encyclopedia of Electrical and Electronics Engineering |s2cid=8197337 |year=1998 |doi=10.1002/047134608X.W1704 |isbn=047134608X }}</ref>{{Efn|The so-called "von Neumann" memo expounded the idea of stored programs,<ref>{{cite magazine|last1=Aspray|first1=William|title=The stored program concept |doi=10.1109/6.58457|magazine=IEEE Spectrum|volume=27|issue=9|date=September 1990|page=51 }}</ref> which for example may be stored on [[punched card]]s, paper tape, or magnetic tape.}} चूंकि मूर के नियम के अब लागू न होने के कारण एकीकृत परिपथ ट्रांजिस्टर प्रौद्योगिकी की सीमाओं के बारे में चिंताएँ उत्पन्न हुई हैं। इलेक्ट्रॉनिक गेटों के अत्यधिक लघुकरण के कारण विद्युत्-स्थानान्तरण और सबथ्रेशोल्ड रिसाव जैसी घटनाओं के प्रभाव बहुत अधिक महत्वपूर्ण हो गए हैं।<ref>{{cite web |last1= Saraswat |first1=Krishna |title=Trends in Integrated Circuits Technology |url=https://web.stanford.edu/class/ee311/NOTES/TrendsSlides.pdf|access-date=June 15, 2018}}</ref><ref>{{cite web |title=Electromigration |url= http://www.csl.mete.metu.edu.tr/Electromigration/emig.htm |publisher=Middle East Technical University |access-date=June 15, 2018}}</ref> ये नई चिंताएं कई कारकों में से हैं, जिसके कारण शोधकर्ताओं ने क्वांटम कंप्यूटर जैसे कंप्यूटिंग के नए तरीकों की जांच के साथ ही समानांतरवाद और अन्य तरीकों के उपयोग का विस्तार किया, जो चिरसम्मत वॉन न्यूमैन मॉडल की उपयोगिता को बढ़ाते हैं। | ||
== संचालन == | |||
अधिकांश सीपीयू का मौलिक संचालन संग्रहीत निर्देशों के अनुक्रम को निष्पादित करना है, जिसे प्रोग्राम कहा जाता है, चाहे वे किसी भी भौतिक रूप में हों। निष्पादित किए जाने वाले निर्देश किसी प्रकार की कंप्यूटर मेमोरी में रखे जाते हैं। लगभग सभी सीपीयू अपने संचालन में प्राप्त करना (फेच), डिकोड करना (डीकोड) और निष्पादित करना (एग्ज़ीक्यूट) आदि चरणों का पालन करते हैं, जिन्हें सामूहिक रूप से निर्देश चक्र के रूप में जाना जाता है। | |||
एक निर्देश के निष्पादन के बाद, पूरी प्रक्रिया दोहराई जाती है, साथ ही अगले निर्देश चक्र के साथ सामान्य रूप से प्रोग्राम काउंटर में बढ़े हुए मूल्य के कारण अगला-इन-सीक्वेंस निर्देश प्राप्त होता है। एक जम्प निर्देश निष्पादित किये जाने पर प्रोग्राम काउंटर को उस निर्देश के पते को शामिल करने के लिए संशोधित करना पड़ता है, जिस पर वह जम्प कर गया था और प्रोग्राम निष्पादन सामान्य रूप से जारी रहता है। अधिक जटिल सीपीयू में, एक साथ कई निर्देश प्राप्त किए जा सकते हैं, डिकोड किए जा सकते हैं और निष्पादित भी किए जा सकते हैं। यह भाग सामान्यतः "क्लासिक आरआईएससी पाइपलाइन" के रूप में जाने जाने वाले विषय का वर्णन करता है, जो कई इलेक्ट्रॉनिक उपकरणों (प्रायः माइक्रोकंट्रोलर) में उपयोग किए जाने वाले साधारण सीपीयू में काफी प्रचलित है। यह काफी हद तक सीपीयू कैश की महत्वपूर्ण भूमिका और इस प्रकार पाइपलाइन के पहुँच स्तर की उपेक्षा करता है। | |||
कुछ निर्देश सीधे परिणाम डेटा उत्पन्न करने के स्थान पर प्रोग्राम काउंटर में हेरफेर करते हैं; इस तरह के निर्देशों को सामान्यतः "जम्प" कहा जाता है और चक्र, सशर्त कार्यक्रम निष्पादन (सशर्त जम्प के उपयोग के माध्यम से), और कार्यों के अस्तित्व जैसे कार्यक्रम-व्यवहार की सुविधा प्रदान करते हैं।{{Efn|Some early computers, like the Harvard Mark I, did not support any kind of "jump" instruction, effectively limiting the complexity of the programs they could run. It is largely for this reason that these computers are often not considered to contain a proper CPU, despite their close similarity to stored-program computers.}} कुछ प्रोसेसरों में, कुछ अन्य निर्देश "ध्वज" रजिस्टर में बिट्स की स्थिति को बदलते हैं। इन ध्वजों का उपयोग किसी कार्यक्रम के व्यवहार को प्रभावित करने के लिए किया जा सकता है, क्योंकि वे अक्सर विभिन्न कार्यों के परिणाम का संकेत देते हैं। उदाहरण के लिए, ऐसे प्रोसेसर में एक "तुलना" निर्देश दो मानों का मूल्यांकन करता है और फ़्लैग रजिस्टर में बिट्स को यह इंगित करने के लिए निर्धारित या साफ़ करता है, कि कौन सा मान बड़ा है या क्या वे बराबर हैं; इनमें में से एक ध्वज का उपयोग प्रोग्राम प्रवाह को निर्धारित करने के लिए विलंबित जम्प निर्देश द्वारा किया जा सकता है। | |||
=== | === प्राप्त करना === | ||
प्रोग्राम मेमोरी से एक संख्या या संख्याओं के अनुक्रम द्वारा प्रदर्शित एक निर्देश को पुनः प्राप्त करना प्राप्त करने की प्रक्रिया में सम्मिलित है। प्रोग्राम मेमोरी में निर्देश का स्थान (पता), प्रोग्राम काउंटर (पीसी (PC); जिसे इंटेल x86 माइक्रोप्रोसेसरों में "इंस्ट्रक्शन प्वाइंटर" कहा जाता है) द्वारा निर्धारित किया जाता है, जो एक संख्या को संगृहीत करता है जो प्राप्त किए जाने वाले अगले निर्देश के पते की पहचान करता है। पीसी (PC) को एक निर्देश प्राप्त होने के बाद निर्देश की लंबाई तक बढ़ाया जाता है, जिससे इसमें अनुक्रम में अगले निर्देश का पता सम्मिलित हो।{{Efn|Since the program counter counts ''memory addresses'' and not ''instructions'', it is incremented by the number of memory units that the instruction word contains. In the case of simple fixed-length instruction word ISAs, this is always the same number. For example, a fixed-length 32-bit instruction word ISA that uses 8-bit memory words would always increment the PC by four (except in the case of jumps). ISAs that use variable-length instruction words increment the PC by the number of memory words corresponding to the last instruction's length.}} प्रायः प्राप्त किए जाने वाले निर्देश को अपेक्षाकृत धीमी मेमोरी से पुनर्प्राप्त किया जाना चाहिए, जिससे सीपीयू वापसी के निर्देश की प्रतीक्षा करते समय रुक जाता है। कैश और पाइपलाइन निर्माणकला द्वारा आधुनिक प्रोसेसर में इस मुद्दे को काफी हद तक संबोधित किया गया है।(नीचे देखें) | |||
=== डिकोड करना === | |||
सीपीयू द्वारा मेमोरी से प्राप्त निर्देश सीपीयू के कार्य का निर्धारण करता है। डिकोड चरण में, निर्देश डिकोडर के रूप में ज्ञात बाइनरी डिकोडर परिपथ तंत्र द्वारा निष्पादित निर्देश को संकेत में परिवर्तित किया जाता है जो सीपीयू के अन्य भागों को नियंत्रित करता है। | |||
जिस तरह से निर्देश की व्याख्या की जाती है वह सीपीयू के निर्देश सेट निर्माणकला द्वारा परिभाषित किया जाता है।{{Efn|Because the instruction set architecture of a CPU is fundamental to its interface and usage, it is often used as a classification of the "type" of CPU. For example, a "PowerPC CPU" uses some variant of the PowerPC ISA. A system can execute a different ISA by running an emulator.}} प्रायः, निर्देश के भीतर ओपकोड के रूप में जाना जाने वाला बिट्स का एक समूह (अर्थात, एक "फ़ील्ड"), यह इंगित करता है कि कौन सा संचालन किया जाना है, जबकि संकार्य जैसे शेष फ़ील्ड सामान्यतः संचालन के लिए आवश्यक पूरक जानकारी प्रदान करते हैं। उन संकार्य को एक स्थिर मान (तत्काल मान) के रूप में निर्दिष्ट किया जा सकता है, या एक प्रोसेसर रजिस्टर या मेमोरी एड्रेस जैसे किसी मान के स्थान के रूप में हो सकता है, जैसा कि कुछ एड्रेसिंग मोड द्वारा निर्धारित किया जाता है। | |||
कुछ सीपीयू संरचनाओं में निर्देश डिकोडर को सख्त-तारित, अपरिवर्तनीय द्विआधारी डिकोडर परिपथ के रूप में प्रयुक्त किया जाता है। जबकि अन्य सीपीयू संरचनाओं में, एक माइक्रोप्रोग्राम का उपयोग सीपीयू विन्यास संकेतों के समूह में निर्देशों का अनुवाद करने के लिए किया जाता है जो कि कई घड़ी-स्पंद पर क्रमिक रूप से प्रयुक्त होते हैं। कुछ मामलों में माइक्रोप्रोग्राम को संगृहीत करने वाली मेमोरी फिर से लिखने योग्य होती है, जिससे सीपीयू द्वारा निर्देशों को डिकोड करने के तरीके को बदलना संभव हो जाता है।। | |||
उदाहरण के लिए, यदि एक अतिरिक्त निर्देश निष्पादित किया जाना है, तो ऑपरेंड (संख्याओं को संक्षेप में) वाले रजिस्टर सक्रिय होते हैं, जैसे कि अंकगणितीय तर्क इकाई (एएलयू) के हिस्से जो अतिरिक्त प्रदर्शन करते हैं। जब घड़ी में स्पंदन होता है, तो संकार्य | === निष्पादित करना === | ||
प्राप्त करने और डीकोड चरणों के बाद, निष्पादन चरण निष्पादित किया जाता है। इसमें सीपीयू निर्माणकला के आधार पर एकल क्रिया या क्रियाओं का अनुक्रम शामिल हो सकता है। नियंत्रण संकेत, प्रत्येक क्रिया के दौरान सीपीयू के विभिन्न भागों को विद्युत रूप से सक्षम या अक्षम करते हैं, जिससे वे वांछित संचालन के सभी या एक भाग को निष्पादित कर सकें। तब सामान्यतः घड़ी स्पंद के जवाब में क्रिया पूरी हो जाती है। त्वरित पहुंच के लिए बाद के निर्देशों द्वारा परिणाम प्रायः आंतरिक सीपीयू रजिस्टर में लिखे जाते हैं। जबकि अन्य मामलों में परिणाम धीमे, लेकिन कम खर्चीले और उच्च क्षमता वाली मुख्य मेमोरी में लिखे जा सकते हैं। | |||
उदाहरण के लिए, यदि एक अतिरिक्त निर्देश निष्पादित किया जाना है, तो ऑपरेंड (संख्याओं को संक्षेप में) वाले रजिस्टर सक्रिय होते हैं, जैसे कि अंकगणितीय तर्क इकाई (एएलयू) के हिस्से जो अतिरिक्त प्रदर्शन करते हैं। जब घड़ी में स्पंदन होता है, तो संकार्य स्त्रोत रजिस्टर से एएलयू में प्रवाहित होता है, और योग इसके आउटपुट पर दिखाई देता है। अनुक्रम घड़ी स्पंदनों पर, अन्य घटकों को आउटपुट (संचालन का योग) को संग्रहण (जैसे, एक रजिस्टर या मेमोरी) में स्थानांतरित करने के लिए सक्षम (और अक्षम) किया जाता है। यदि परिणामी योग बहुत बड़ा है (अर्थात, यह एएलयू के आउटपुट शब्द आकार से बड़ा है), तो एक अंकगणितीय अतिप्रवाह ध्वज सेट किया जाता है, जो अगले संचालन को प्रभावित करता है। | |||
== संरचना और कार्यान्वयन == | == संरचना और कार्यान्वयन == | ||
[[File:ABasicComputer.gif|thumb|upright=1.7|एक बुनियादी यूनिप्रोसेसर-सीपीयू कंप्यूटर का ब्लॉक | [[File:ABasicComputer.gif|thumb|upright=1.7|एक बुनियादी यूनिप्रोसेसर-सीपीयू कंप्यूटर का ब्लॉक आरेख। काली रेखाएँ डेटा प्रवाह को दर्शाती हैं, जबकि लाल रेखाएँ नियंत्रण प्रवाह को दर्शाती हैं; तीर प्रवाह दिशाओं का संकेत देते हैं।]] | ||
सीपीयू के परिपथ तंत्र में सख्त तारित, बुनियादी संचालन का एक समूह होता है जिसे वह संचालित कर सकता है, जिसे निर्देश समूह कहा जाता है। इस तरह के संचालन में दो संख्याओं को जोड़ना या घटाना, दो संख्याओं की तुलना करना, या एक प्रोग्राम के किसी भिन्न भाग में जम्पिंग जैसे प्रोग्राम सम्मिलित हो सकते हैं। प्रत्येक निर्देश को बिटों के एक अद्वितीय संयोजन द्वारा दर्शाया जाता है, जिसे मशीन की भाषा में ओपकोड के रूप में जाना जाता है। एक निर्देश को संसाधित करते समय, सीपीयू, ओपकोड (एक द्विआधारी डिकोडर के माध्यम से) को नियंत्रण संकेतों में डिकोड करता है, जो सीपीयू के व्यवहार को व्यवस्थित करता है। एक पूर्ण मशीन भाषा निर्देश में एक ओपकोड और कई मामलों में, अतिरिक्त बिट होते हैं, जो संचालन के लिए तर्क निर्दिष्ट करते हैं (उदाहरण के लिए, एक अतिरिक्त संचालन के मामले में संख्याओं का योग किया जाना है)। जटिलता के पैमाने पर जाने पर, मशीन भाषा, प्रोग्राम मशीन भाषा निर्देशों का एक संग्रह होता है जिसे सीपीयू निष्पादित करता है। | |||
प्रत्येक निर्देश के लिए वास्तविक | प्रत्येक निर्देश के लिए वास्तविक गणित का संचालन सीपीयू के प्रोसेसर के भीतर एक संयोजन तर्क परिपथ द्वारा किया जाता है जिसे अंकगणित-तर्क इकाई या एएलयू (ALU) के रूप में जाना जाता है। सामान्य तौर पर, एक निर्देश को मेमोरी से प्राप्त करके सीपीयू एक संचालन के लिए अपने एएलयू का उपयोग करके परिणाम को मेमोरी में संग्रहीत करके निष्पादित करता है। पूर्णांक गणित और तर्क संचालन के निर्देशों के अतिरिक्त मेमोरी से डेटा लोड करने और इसे वापस संग्रहीत करने के लिए, शाखा संचालन और सीपीयू की फ्लोटिंग-प्वाइंट यूनिट (एफपीयू) द्वारा निष्पादित फ्लोटिंग-प्वाइंट संख्याओं पर गणितीय संचालन जैसे कई अन्य मशीन निर्देश मौजूद हैं।<ref>{{cite web | ||
| url = http://www.bottomupcs.com/csbu.pdf#page=44 | | url = http://www.bottomupcs.com/csbu.pdf#page=44 | ||
| title = Computer Science from the Bottom Up, Chapter 3. Computer Architecture | | title = Computer Science from the Bottom Up, Chapter 3. Computer Architecture | ||
Line 113: | Line 112: | ||
| format = PDF | | format = PDF | ||
}}</ref> | }}</ref> | ||
=== नियंत्रण इकाई === | === नियंत्रण इकाई === | ||
नियंत्रण इकाई | नियंत्रण इकाई, सीपीयू का एक घटक होता है जो प्रोसेसर के संचालन को निर्देशित करता है। यह कंप्यूटर की मेमोरी, अंकगणित और तर्क इकाई और इनपुट और आउटपुट उपकरण को प्रोसेसर को भेजे गए निर्देशों का उत्तर देने की विधि के बारे में बताता है। | ||
यह समय और नियंत्रण संकेत प्रदान करके अन्य इकाइयों के संचालन को निर्देशित करता है। अधिकांश कंप्यूटर संसाधनों का प्रबंधन सीयू द्वारा किया जाता है। यह सीपीयू और अन्य उपकरणों के बीच डेटा के प्रवाह को निर्देशित करता है। जॉन वॉन न्यूमैन ने नियंत्रण इकाई को वॉन न्यूमैन वास्तुकला के हिस्से के रूप में सम्मिलित किया। नियंत्रण इकाई, आधुनिक कंप्यूटर संरचनाओं में सामान्यतः सीपीयू का एक आंतरिक भाग होता है, इसके प्रारंभ होने के बाद से इसकी समग्र भूमिका और संचालन अपरिवर्तित रहता है।<ref>{{Cite web|date=2018-09-24|title=Introduction of Control Unit and its Design|url=https://www.geeksforgeeks.org/introduction-of-control-unit-and-its-design/|access-date=2021-01-12|website=GeeksforGeeks|language=en-US}}</ref> | |||
=== अंकगणितीय तर्क इकाई === | === अंकगणितीय तर्क इकाई === | ||
[[File:ALU block.gif|thumb|upright=1.3| | [[File:ALU block.gif|thumb|upright=1.3|ALU और उसके इनपुट और आउटपुट सिग्नल का प्रतीकात्मक प्रदर्शन]] | ||
अंकगणितीय तर्क इकाई प्रोसेसर के भीतर एक अंकीय परिपथ होता है, जो पूर्णांक अंकगणित और बिटवार तर्क संचालन निष्पादित करता है। एएलयू के इनपुट, वह डेटा शब्द होते हैं जिन्हें संचालित किया जाना होता है, इन्हें संकार्य कहा जाता है, पिछले संचालन से स्थिति की सूचना और नियंत्रण इकाई से एक कोड यह दर्शाता है कि कौन सा संचालन करना है। निष्पादित किए जा रहे निर्देश के आधार पर संकार्य आंतरिक सीपीयू रजिस्टरों, बाहरी मेमोरी, या एएलयू द्वारा उत्पन्न स्थिरांक से हो सकते हैं। | |||
जब सभी इनपुट | जब सभी इनपुट संकेत एएलयू परिपथ तंत्र के माध्यम से व्यवस्थित और प्रचारित हो जाते हैं, तो प्रदर्शित किए गए संचालन का परिणाम एएलयू के आउटपुट पर दिखाई देता है। एक डेटा शब्द, जिसे एक रजिस्टर या मेमोरी में संग्रहीत किया जा सकता है, और स्थिति की जानकारी, जो सामान्यतः इस उद्देश्य के लिए आरक्षित एक विशेष आंतरिक सीपीयू रजिस्टर में संग्रहीत होती है; परिणाम में ये दोनों घटक उपस्थित होते हैं। | ||
=== पता पीढ़ी इकाई === | === पता पीढ़ी इकाई === | ||
पता जनरेशन यूनिट ( | '''पता जनरेशन यूनिट (एजीयू)''', जिसे कभी -कभी '''पता''' '''कम्प्यूटेशन यूनिट (एसीयू)''' भी कहा जाता है,<ref>{{cite web | url = http://www.google.com/patents/US20060010255 | title = Address generation unit for a processor (US 2006010255 A1 patent application) | date = January 12, 2006 | access-date = December 8, 2014 | author1 = Cornelis Van Berkel | author2 = Patrick Meuwissen | website = google.com }} {{verify source |date=August 2019 |reason=This ref was deleted ([[Special:Diff/897932214]]) by a bug in VisualEditor and later restored by a bot from the original cite at [[Special:Permalink/897793086]] cite #1 - please verify the cite's accuracy and remove this {verify source} template. [[User:GreenC bot/Job 18]]}}</ref> सीपीयू के अंदर एक निष्पादन इकाई होती है जो सीपीयू द्वारा मुख्य मेमोरी तक पहुंचने के लिए उपयोग किए गए पतों की गणना करती है। अन्य शेष सीपीयू के समानांतर संचालित अलग-अलग परिपथ तंत्र द्वारा नियंत्रित पते की गणना करके विभिन्न मशीन निर्देशों को निष्पादित करने के लिए आवश्यक सीपीयू चक्रों की संख्या को कम किया जा सकता है, जिससे प्रदर्शन में सुधार होता है। | ||
विभिन्न | विभिन्न संचालनों के दौरान सीपीयू को मेमोरी से डेटा लाने के लिए आवश्यक मेमोरी पते की गणना की आवश्यकता होती है; उदाहरण के लिए, सीपीयू द्वारा वास्तविक मेमोरी स्थानों से डेटा प्राप्त करने से पहले सरणी तत्वों की इन-मेमोरी स्थिति की गणना की जानी चाहिए। उन पता-पीढ़ी की गणनाओं में जोड़, घटाव, मोडुलो संचालन, या बिट बदलाव जैसे अलग-अलग पूर्णांक अंकगणितीय संचालन सम्मिलित होते हैं। प्रायः, एक मेमोरी पते की गणना में एक से अधिक सामान्य-उद्देश्य वाले मशीन निर्देश सम्मिलित होते हैं, जिनकी शीघ्रता से डिकोडिंग और निष्पादन आवश्यक नहीं है। एक एजीयू को एक सीपीयू संरचना में सम्मिलित करके विभिन्न एड्रेस-जनरेशन गणनाओं को एजीयू का उपयोग करने वाले विशेष निर्देशों को प्रस्तुत करने के साथ बाकी सीपीयू से लोड किया जा सकता है, और प्रायः एक एकल सीपीयू चक्र में जल्दी से निष्पादित किया जा सकता है। | ||
एजीयू की क्षमताएँ एक विशेष सीपीयू और उसकी वास्तुकला पर निर्भर करती हैं। इस प्रकार, कुछ एजीयू अधिक पता-गणना संचालन को प्रयुक्त करते हैं और उजागर करते हैं, जबकि कुछ में अधिक उन्नत विशेष निर्देश भी सम्मिलित होते हैं जो एक समय में कई संकार्य पर काम कर सकते हैं। कुछ सीपीयू वास्तुकला में कई एजीयू सम्मिलित होते हैं, इसलिए एक से अधिक एड्रेस-गणना संचालन को एक साथ निष्पादित किया जा सकता है, जो उन्नत सीपीयू संरचनाओं की उत्तम-स्तर प्रकृति के कारण आगे के प्रदर्शन में सुधार लाता है। उदाहरण के लिए, इंटेल अपने सैंडी ब्रिज और हैसवेल सूक्ष्म-वास्तुकला में कई एजीयू को सम्मिलित करता है, जो समानांतर में कई मेमोरी-पहुँच निर्देशों को निष्पादित करने की अनुमति देकर सीपीयू मेमोरी उपतंत्र की बैंडविड्थ को बढ़ाता है। | |||
=== मेमोरी | === मेमोरी प्रबंधन इकाई === | ||
कई | कई स्मार्टफोन और डेस्कटॉप, लैपटॉप, सर्वर कंप्यूटर जैसे माइक्रोप्रोसेसरों में एक मेमोरी प्रबंधन इकाई होती है, जो तार्किक पतों को मेमोरी सुरक्षा और पृष्ठता क्षमता प्रदान करते हुए भौतिक रैम पतों में अनुवाद करती है, जो आभासी मेमोरी के लिए उपयोगी है। विशेष रूप से माइक्रोकंट्रोलर जैसे सरल प्रोसेसर में सामान्यतः एमएमयू (MMU) सम्मिलित नहीं होता है। | ||
=== कैश === | === कैश === | ||
'''सीपीयू कैश'''<ref>{{cite web|url=http://www.hardwaresecrets.com/how-the-cache-memory-works/|title=How The Cache Memory Works|author=Gabriel Torres|date=September 12, 2007}} {{verify source |date=August 2019 |reason=This ref was deleted ([[Special:Diff/897932874]]) by a bug in VisualEditor and later restored by a bot from the original cite at [[Special:Permalink/895110016]] cite #1 - please verify the cite's accuracy and remove this {verify source} template. [[User:GreenC bot/Job 18]]}}</ref> एक हार्डवेयर कैश है, जिसका उपयोग मुख्य मेमोरी से डेटा तक पहुंचने के लिए कंप्यूटर के सीपीयू द्वारा औसत लागत (समय या ऊर्जा) को कम करने के लिए किया जाता है। कैश, प्रोसेसर कोर के करीब एक छोटी और तेज मेमोरी होती है, जो प्रायः उपयोग किए जाने वाले मुख्य मेमोरी स्थानों से डेटा की प्रतियाँ संग्रहीत करती है। अधिकांश सीपीयू में अलग-अलग निर्देश और डेटा कैश जैसे स्वतंत्र कैश होते हैं, जहाँ डेटा कैश को सामान्यतः अधिक कैश स्तरों (L1, L2, L3, L4 आदि) के पदानुक्रम के रूप में व्यवस्थित किया जाता है।। | |||
कुछ विशेष अपवादों के साथ<ref>A few specialized CPUs, accelerators or microcontrollers do not have a cache. To be fast, if needed/wanted, they still have an on-chip scratchpad memory that has a similar function, while software managed. In e.g. microcontrollers it can be better for hard real-time use, to have that or at least no cache, as with one level of memory latencies of loads are predictable. {{verify source |date=August 2019 |reason=This ref was deleted ([[Special:Diff/897932874]]) by a bug in VisualEditor and later restored by a bot in plain-text form. The original cite can be found at [[Special:Permalink/895110016]] cite #2 - please manually restore the original cite and delete this 'verify source' template (2). [[User:GreenC bot/Job 18]]}}</ref> सभी आधुनिक (तेज़) सीपीयू में सीपीयू कैश के कई स्तर होते हैं। कैश का उपयोग करने वाले पहले सीपीयू में कैश का केवल एक स्तर होता था; इसे बाद के स्तर 1 कैश के विपरीत, एल1डी (L1d) (डेटा के लिए) और एल1आई (L1i) (निर्देशों के लिए) में विभाजित नहीं किया गया था। कैश वाले लगभग सभी मौजूदा सीपीयू में विभाजित L1 कैश होता है। उनके पास L2 कैश और बड़े प्रोसेसरों के लिए L3 कैश भी होते हैं। L2 कैश सामान्यतः विभाजित नहीं होता है और पहले से ही विभाजित L1 कैश के लिए एक सामान्य भंडार के रूप में कार्य करता है। बहु-कोर प्रोसेसर के प्रत्येक कोर में एक समर्पित L2 कैश होता है और सामान्यतः कोर के बीच साझा नहीं किया जाता है। L3 और उच्च-स्तरीय कैश को कोर के बीच साझा किया जाता है और ये विभाजित नहीं होते हैं। एक L4 कैश वर्तमान में असामान्य है, जो सामान्यतः स्थैतिक रैंडम-एक्सेस मेमोरी (SRAM) या एक अलग डाई या चिप के स्थान पर गतिशील रैंडम-एक्सेस मेमोरी (DRAM) पर स्थित होता है। ऐतिहासिक रूप से L1 के साथ भी ऐसा ही था, जबकि बड़ी चिपों ने अंतिम स्तर के संभावित अपवाद के साथ सामान्यतः सभी कैश स्तरों के साथ इसे एकीकरण की अनुमति दी है। कैश का प्रत्येक अतिरिक्त स्तर बड़ा होता है और इसे अलग तरह से अनुकूलित किया जाता है। | |||
ऊपर वर्णित सबसे महत्वपूर्ण कैश के "कैश आकार" में नहीं गिने जाने वाले कैश के अतिरिक्त अनुवाद लुकसाइड बफर (TLB) जैसे अन्य प्रकार के कैश मौजूद हैं, जो कि अधिकांश सीपीयू के मेमोरी प्रबंधन इकाई (MMU) का हिस्सा होते हैं। | |||
सीपीयू | कैश आमतौर पर दो 2, 8, 16 आदि KiB या MiB की घातों के आकार में होते हैं। हालांकि आईबीएम ज़ेड13 में 96 KiB L1 निर्देश कैश है।।<ref>{{cite web|url=http://www.redbooks.ibm.com/redbooks/pdfs/sg248250.pdf|title=IBM z13 and IBM z13s Technical Introduction|page=20|date=March 2016|publisher=[[IBM]]}} {{verify source |date=August 2019 |reason=This ref was deleted ([[Special:Diff/897933560]]) by a bug in VisualEditor and later restored by a bot from the original cite at [[Special:Permalink/895110016]] cite #3 - please verify the cite's accuracy and remove this {verify source} template. [[User:GreenC bot/Job 18]]}}</ref> | ||
=== घड़ी दर (Clock rate) === | |||
अधिकांश सीपीयू समकक्ष परिपथ होते हैं, अर्थात् वे अपने अनुक्रमिक संचालन को गति देने के लिए एक घड़ी संकेत का उपयोग करता है। घड़ी संकेत एक बाह्य दोलक परिपथ द्वारा निर्मित होता है, जो एक आवधिक वर्ग तरंग के रूप में प्रत्येक सेकंड में लगातार संख्या में स्पंद उत्पन्न करता है। घडी स्पंद की आवृत्ति सीपीयू द्वारा निर्देशों के निष्पादन की दर का निर्धारण करती है और परिणामस्वरूप, घड़ी जितनी तेज होगी, सीपीयू प्रत्येक सेकंड में उतने ही अधिक निर्देश निष्पादित करेगा। | |||
घड़ी की आवर्तकाल सीपीयू के माध्यम से सभी संकेतों के प्रचार (स्थानांतरित) के लिए, सीपीयू के उचित संचालन को सुनिश्चित करने के लिए आवश्यक अधिकतम समय से अधिक होता है। घड़ी के आवर्तकाल को सबसे निकृष्टम-मामले के प्रसार विलंब से ऊपर एक मान पर निर्धारित करने में, पूरे सीपीयू की संरचना करना और इसके बढ़ते और गिरने वाले घड़ी संकेतों के "किनारों" के आसपास डेटा ले जाने के तरीके की संरचना संभव है। यह सीपीयू को एक संरचना परिप्रेक्ष्य और एक घटक-गणना परिप्रेक्ष्य दोनों में महत्वपूर्ण रूप से सरल बनाने का लाभ है। हालाँकि, इसका नुकसान भी है कि पूरा सीपीयू, इसके कुछ हिस्से बहुत तेज होने के बावजूद भी अपने सबसे धीमे तत्वों पर प्रतीक्षा करता है। सीपीयू समांतरता बढ़ाने के विभिन्न तरीकों से काफी हद तक इस सीमा की क्षतिपूर्ति की गई है। (नीचे देखें) | |||
हालाँकि, वास्तु सुधार अकेले विश्व स्तर पर समकक्ष सीपीयू की सभी कमियों को दूर नहीं करते हैं। उदाहरण के लिए, एक घड़ी संकेत किसी अन्य विद्युत संकेत की विलंबता के अधीन है। तेजी से जटिल सीपीयू में उच्च घड़ी दर पूरे यूनिट में घड़ी के संकेत को चरण (सिंक्रोनाइज़) में रखना अधिक कठिन बना देती है। इसमें कई आधुनिक सीपीयू को एक ही संकेत में देरी से बचने के लिए कई समान घड़ी संकेतों की आवश्यकता होती है, जिससे सीपीयू नष्ट हो जाता है। एक अन्य प्रमुख मुद्दा घड़ी की दरें नाटकीय रूप से बढ़ने के साथ सीपीयू द्वारा नष्ट की जाने वाली ऊष्मा की मात्रा है। लगातार बदलती घड़ी कई घटकों को परस्पर बदलने करने का कारण बनती है चाहे वे उस समय उपयोग किए जा रहे हों या नहीं। सामान्यतः एक घटक जो स्विच कर रहा है, एक स्थिर अवस्था में एक तत्व की तुलना में अधिक ऊर्जा का उपयोग करता है। इसलिए, जैसे-जैसे घड़ी की दर बढ़ती है, वैसे-वैसे ऊर्जा की खपत भी होती है, जिससे सीपीयू को सीपीयू शीतलन समाधान के रूप में अधिक ऊष्मा अपव्यय की आवश्यकता होती है। | |||
अनावश्यक घटकों के स्विचिंग से निपटने की विधि को ''घड़ी गेटिंग'' कहा जाता है, जिसमें घड़ी के संकेत द्वारा अनावश्यक घटकों को प्रभावी रूप से अक्षम करना सम्मिलित है। हालांकि, इसे प्रायः प्रयुक्त करना मुश्किल माना जाता है और इसलिए बहुत कम-शक्ति वाली संरचनाओं के बाहर सामान्य उपयोग नहीं दिखता है। एक उल्लेखनीय हाल ही की, व्यापक घड़ी गेटिंग का उपयोग करने वाली सीपीयू संरचना आईबीएम पॉवरपीसी-आधारित ज़ेनान है, जिसका उपयोग एक्सबॉक्स 360 में किया जाता है; इस प्रकार, एक्सबॉक्स 360 की शक्ति आवश्यकताएँ बहुत कम हो जाती हैं।<ref>{{cite web | last = Brown | first = Jeffery | title = Application-customized CPU design | publisher = IBM developerWorks | url = http://www-128.ibm.com/developerworks/power/library/pa-fpfxbox/?ca=dgr-lnxw07XBoxDesign | year = 2005 | access-date = 2005-12-17 | archive-url = https://web.archive.org/web/20060212002837/http://www-128.ibm.com/developerworks/power/library/pa-fpfxbox/?ca=dgr-lnxw07XBoxDesign | archive-date = 2006-02-12}}</ref> | |||
=== घड़ी-हीन सीपीयू === | |||
घड़ी संकेत को पूरी तरह से हटाना, वैश्विक घड़ी संकेत के साथ कुछ समस्याओं का समाधान करने की एक अन्य विधि है। संरचना प्रक्रिया, वैश्विक घडी संकेत को हटाते समय कई मायनों में काफी जटिल हो जाती है, अतुल्यकालिक (या घड़ीहीन) संरचना समान समकालिक संरचनाओं की तुलना में बिजली की खपत और गर्मी अपव्यय में उल्लेखनीय लाभ उठाते हैं। संपूर्ण अतुल्यकालिक सीपीयू को कुछ हद तक असामान्य होते हुए भी वैश्विक घड़ी संकेत का उपयोग किए बिना बनाया गया है। इसके दो उल्लेखनीय उदाहरण एआरएम (ARM) अनुरूप एएमयूएलईटी (AMULET) और एमआईपीएस आर3000 अनुरूप मिनीएमआईपीएस हैं।<ref name=":2">{{Cite journal|last1=Martin|first1=A.J.|last2=Nystrom|first2=M.|last3=Wong|first3=C.G.|date=November 2003|title=Three generations of asynchronous microprocessors|url=https://ieeexplore.ieee.org/document/1246159|journal=IEEE Design & Test of Computers|volume=20|issue=6|pages=9–17|doi=10.1109/MDT.2003.1246159|s2cid=15164301|issn=0740-7475}}</ref> | |||
घडी संकेत को पूरी तरह से हटाने के स्थान पर, कुछ सीपीयू संरचनाएँ उपकरण के कुछ हिस्सों को अतुल्यकालिक होने की अनुमति देते हैं, जैसे कि कुछ अंकगणितीय प्रदर्शन लाभ प्राप्त करने के लिए उत्तम-स्तर पाइपलाइनिंग के संयोजन के साथ अतुल्यकालिक एएलयू का उपयोग करना। हालांकि यह पूरी तरह से स्पष्ट नहीं है कि पूरी तरह से अतुल्यकालिक संरचनाएँ अपने समकक्ष प्रतिपक्षों की तुलना में तुलनीय या बेहतर स्तर पर प्रदर्शन कर सकते हैं, यह स्पष्ट है कि वे सरल गणित कार्यों में निम्नतम उत्कृष्ट प्रदर्शन करते हैं। उनकी उत्कृष्ट बिजली खपत और गर्मी अपव्यय गुणों के साथ यह, उन्हें अन्तर्निहित कंप्यूटरों के लिए अधिक उपयुक्त बनाता है। | |||
=== विभव नियामक मॉड्यूल === | |||
कई आधुनिक सीपीयू में एक डाई-एकीकृत सामर्थ्य प्रबंधन मॉड्यूल होता है, जो सीपीयू परिपथ तंत्र की माँग के अनुसार विभव आपूर्ति को नियंत्रित करता है, जिससे यह प्रदर्शन और बिजली की खपत के बीच संतुलन स्थापित रखता है। | |||
=== पूर्णांक परिसर === | |||
प्रत्येक सीपीयू एक विशिष्ट तरीके से संख्यात्मक मानों का प्रदर्शन करता है। उदाहरण के लिए, कुछ प्रारंभिक डिजिटल कंप्यूटरों ने संख्याओं को परिचित दशमलव (आधार 10) अंक प्रणाली मान के रूप में दर्शाया है, और अन्य ने अधिक असामान्य अभ्यावेदन जैसे कि टर्नरी (आधार तीन) को नियोजित किया है। लगभग सभी आधुनिक सीपीयू द्विआधारी रूप में संख्याओं का प्रदर्शन करते हैं, जिसमें प्रत्येक अंक को कुछ दो-मूल्यवान भौतिक मात्रा जैसे "उच्च" या "निम्न" विभव द्वारा दर्शाया जाता है।{{Efn|The physical concept of [[voltage]] is an analog one by nature, practically having an infinite range of possible values. For the purpose of physical representation of binary numbers, two specific ranges of voltages are defined, one for logic '0' and another for logic '1'. These ranges are dictated by design considerations such as noise margins and characteristics of the devices used to create the CPU.}} | |||
=== पूर्णांक | |||
प्रत्येक सीपीयू | |||
[[File:Binary Forty.PNG|thumb|left|दशमलव मूल्य 40 के बाइनरी एन्कोडेड प्रतिनिधित्व वाले एक छह-बिट शब्द। अधिकांश आधुनिक सीपीयू शब्द आकारों को नियोजित करते हैं जो दो की शक्ति हैं, उदाहरण के लिए 8, 16, 32 या 64 बिट्स।]] | [[File:Binary Forty.PNG|thumb|left|दशमलव मूल्य 40 के बाइनरी एन्कोडेड प्रतिनिधित्व वाले एक छह-बिट शब्द। अधिकांश आधुनिक सीपीयू शब्द आकारों को नियोजित करते हैं जो दो की शक्ति हैं, उदाहरण के लिए 8, 16, 32 या 64 बिट्स।]] | ||
संख्यात्मक | संख्यात्मक प्रदर्शन से संबंधित पूर्णांक संख्याओं का आकार और सटीकता है जो एक सीपीयू प्रतिनिधित्व कर सकता है। एक द्विआधारी सीपीयू (Binary CPU) के सम्बन्ध में, यह बिट की संख्या (एक द्विआधारी एन्कोडेड पूर्णांक के महत्वपूर्ण अंक) द्वारा मापा जाता है, जिसे सीपीयू एक संचालन में संसाधित कर सकता है, जिसे सामान्यतः ''शब्द आकार, बिट चौड़ाई, डेटा पथ चौड़ाई, पूर्णांक परिशुद्धता या पूर्णांक आकार'' कहा जाता है। , । एक सीपीयू का पूर्णांक आकार पूर्णांक मानों की सीमा को निर्धारित करता है जो इसे सीधे संचालित कर सकता है।{{Efn|While a CPU's integer size sets a limit on integer ranges, this can (and often is) overcome using a combination of software and hardware techniques. By using additional memory, software can represent integers many magnitudes larger than the CPU can. Sometimes the CPU's [[instruction set]] will even facilitate operations on integers larger than it can natively represent by providing instructions to make large integer arithmetic relatively quick. This method of dealing with large integers is slower than utilizing a CPU with higher integer size, but is a reasonable trade-off in cases where natively supporting the full integer range needed would be cost-prohibitive. See [[Arbitrary-precision arithmetic]] for more details on purely software-supported arbitrary-sized integers.}} उदाहरण के लिए, एक 8-बिट सीपीयू आठ बिट द्वारा दर्शाए गए पूर्णांकों में सीधे फेरबदल कर सकता है, जिसमें 256 (2<sup>8</sup>) असतत पूर्णांक मान होते हैं। | ||
पूर्णांक | पूर्णांक श्रेणी उन मेमोरी स्थानों की संख्या (पता, एक विशिष्ट मेमोरी स्थान का प्रतिनिधित्व करने वाला एक पूर्णांक मान है) को भी प्रभावित कर सकती है जिन्हें सीपीयू सीधे संबोधित कर सकता है । उदाहरण के लिए, यदि एक द्विआधारी सीपीयू मेमोरी के पते का प्रतिनिधित्व करने के लिए 32 बिट का उपयोग करता है तो यह सीधे 2<sup>32</sup> मेमोरी स्थान को संबोधित कर सकता है। इस सीमा को नज़रंदाज़ करने और कई अन्य कारणों से, कुछ सीपीयू, बैंक स्विचिंग जैसी क्रियाविधि का उपयोग करते हैं जो अतिरिक्त मेमोरी को संबोधित करने की अनुमति देते हैं। | ||
बड़े शब्द आकार | बड़े शब्द आकार वाले सीपीयू को अधिक परिपथ तंत्रों की आवश्यकता होती है और इसके परिणामस्वरूप ये शारीरिक रूप से बड़े, अधिक लागत वाले और अधिक बिजली की खपत वाले होते हैं, और इसलिए अधिक ऊष्मा उत्पन्न होती है। परिणामस्वरूप, बहुत बड़े शब्द आकार (जैसे 16, 32, 64, यहां तक कि 128-बिट) वाले सीपीयू उपलब्ध होने के बावजूद, छोटे 4- या 8-बिट माइक्रोकंट्रोलर सामान्यतः आधुनिक अनुप्रयोगों में उपयोग किए जाते हैं। हालांकि, उच्च प्रदर्शन की आवश्यकता होने पर बड़े शब्द आकार (बड़े डेटा परिसर और पता स्थान) के लाभ, इससे होने वाली हानि से अधिक हो सकते हैं। आकार और लागत को कम करने के लिए एक सीपीयू में आंतरिक डेटा पथ, शब्द आकार से छोटे हो सकते हैं। उदाहरण के लिए, भले ही आईबीएम सिस्टम/360 निर्देश सेट, एक 32-बिट निर्देश सेट था, सिस्टम/360 मॉडल 30 और मॉडल 40 में अंकगणितीय तार्किक इकाई में 8-बिट डेटा पथ थे, ताकि 32-बिट जोड़ने के लिए चार चक्रों (संकार्य के प्रत्येक 8 बिट के लिए एक चक्र) की आवश्यकता हो, और भले ही मोटोरोला 68000 श्रृंखला निर्देश सेट,एक 32-बिट निर्देश सेट था, और मोटोरोला 68000 और मोटोरोला 68010 में अंकगणितीय तार्किक इकाई में 16-बिट डेटा पथ थे, ताकि एक 32-बिट जोड़ने के लिए दो चक्रों की आवश्यकता हो। | ||
दोनों | दोनों, निम्न और उच्च बिट लंबाई द्वारा प्रदान किए गए कुछ लाभों को प्राप्त करने के लिए, कई निर्देश सेटों में पूर्णांक और फ़्लोटिंग-प्वाइंट डेटा के लिए अलग-अलग बिट चौड़ाई होती है, जिससे सीपीयू उस निर्देश को लागू करने की अनुमति देता है, जो उपकरण के विभिन्न हिस्सों के लिए अलग-अलग बिट चौड़ाई रखता है। उदाहरण के लिए, आईबीएम सिस्टम/360 निर्देश सेट मुख्य रूप से 32-बिट था, लेकिन फ्लोटिंग-प्वाइंट संख्याओं में अधिक सटीकता और सीमा की सुविधा के लिए 64-बिट फ़्लोटिंग-प्वाइंट मानों का समर्थन करता था।<ref name="amdahl1964" /> सिस्टम/360 मॉडल 65 में दशमलव और स्थिर-प्वाइंट द्विआधारी अंकगणित के लिए 8-बिट योजक और फ्लोटिंग-प्वाइंट अंकगणित के लिए 60-बिट योजक था।<ref>{{cite manual|url=http://www.bitsavers.org/pdf/ibm/360/functional_characteristics/A22-6884-3_360-65_funcChar.pdf|title=IBM System/360 Model 65 Functional Characteristics|date=September 1968|publisher=[[IBM]]|pages=8–9|id=A22-6884-3}}</ref> कई बाद की सीपीयू संरचनाएँ समान मिश्रित बिट चौड़ाई का उपयोग करती हैं, विशेषतया, जब प्रोसेसर सामान्य प्रयोजन के उपयोग के लिए होता है जहाँ पूर्णांक और फ्लोटिंग-प्वाइंट क्षमता का उचित संतुलन आवश्यक होता है। | ||
=== समानांतरवाद === | === समानांतरवाद === | ||
[[File:Nopipeline.png|thumb|upright=2|एक सबस्केलर सीपीयू का मॉडल, जिसमें तीन निर्देशों को पूरा करने के लिए पंद्रह घड़ी चक्र लगते हैं]] | [[File:Nopipeline.png|thumb|upright=2|एक सबस्केलर सीपीयू का मॉडल, जिसमें तीन निर्देशों को पूरा करने के लिए पंद्रह घड़ी चक्र लगते हैं]] | ||
पिछले खंड में | पिछले खंड में प्रस्तुत किए गए सीपीयू के मूल संचालन का विवरण, सीपीयू के सबसे सरल रूप का वर्णन करता है। सामान्यतः उप-अदिश के रूप में प्रचलित सीपीयू एक समय में एक या दो डेटा पर एक निर्देश को संचालित और निष्पादित करता है, जो प्रति घड़ी चक्र (आईपीसी (IPC) <1) में एक से कम निर्देश है। | ||
यह प्रक्रिया | यह प्रक्रिया उप-अदिश सीपीयू में एक अंतर्निहित अक्षमता उत्पन्न करती है। एक समय में केवल एक ही निर्देश के निष्पादन के कारण पूरे सीपीयू को अगले निर्देश पर आगे बढ़ने से पहले उस निर्देश के पूर्ण होने की प्रतीक्षा करनी चाहिए। परिणामस्वरूप, उप-अदिश सीपीयू निर्देशों पर विलंबित हो जाता है जो निष्पादन को पूरा करने के लिए एक से अधिक घड़ी चक्र लेता है। यहाँ तक कि एक मार्ग को लटकाए जाने के स्थान पर दूसरी निष्पादन इकाई (नीचे देखें) को जोड़ने से भी प्रदर्शन में बहुत सुधार नहीं होता है; अतः अब दो मार्ग विलंबित कर दिए गए हैं और अप्रयुक्त ट्रांजिस्टरों की संख्या बढ़ा दी गई है। सीपीयू के निष्पादन संसाधन द्वारा एक समय में केवल एक निर्देश पर काम करने वाली यह संरचना केवल पैमानिक प्रदर्शन (एक निर्देश प्रति घड़ी चक्र, आईपीसी (IPC) = 1) तक पहुंच सकती है। हालांकि, प्रदर्शन लगभग सदैव उप-पैमानिक (प्रति घड़ी चक्र में एक निर्देश से कम, आईपीसी (IPC) <1) होता है। | ||
पैमानिक और बेहतर प्रदर्शन प्राप्त करने के प्रयासों के परिणामस्वरूप विभिन्न प्रकार की संरचना पद्धतियाँ सामने विकसित हुई हैं, जो सीपीयू को कम रैखिक रूप से और समानांतर में अधिक व्यवहार करने का कारण बनती हैं। सीपीयू में समानता का जिक्र करते समय इन संरचना तकनीकों को वर्गीकृत करने के लिए सामान्यतः दो शब्दों का उपयोग किया जाता है: | |||
* ''निर्देश-स्तरीय समानांतरवाद (आईएलपी)'', जो सीपीयू के भीतर निर्देश निष्पादन की दर को बढ़ाने का प्रयास करता है, अर्थात, ऑन-डाई निष्पादन संसाधनों के उपयोग को बढ़ाने के लिए प्रयुक्त होता है; | |||
* ''कार्य-स्तरीय समानांतरवाद (टीएलपी)'', जिसका उद्देश्य सीपीयू द्वारा एक साथ निष्पादित होने वाले थ्रेड्स या प्रक्रियाओं की संख्या को बढ़ाना है। | |||
प्रत्येक कार्यप्रणाली दोनों तरीकों से भिन्न होती है जिसमें उन्हें लागू किया जाता है, साथ ही सापेक्ष प्रभावशीलता का उपयोग वे एक अनुप्रयोग के लिए सीपीयू के प्रदर्शन को बढ़ाने में करते हैं।{{Efn|Neither [[Instruction-level parallelism|ILP]] nor [[Task-level parallelism|TLP]] is inherently superior over the other; they are simply different means by which to increase CPU parallelism. As such, they both have advantages and disadvantages, which are often determined by the type of software that the processor is intended to run. High-TLP CPUs are often used in applications that lend themselves well to being split up into numerous smaller applications, so-called "[[embarrassingly parallel]] problems". Frequently, a computational problem that can be solved quickly with high TLP design strategies like [[symmetric multiprocessing]] takes significantly more time on high ILP devices like superscalar CPUs, and vice versa.}} | |||
==== निर्देश-स्तर समानांतरवाद ==== | ==== निर्देश-स्तर समानांतरवाद ==== | ||
[[File:Fivestagespipeline.png|thumb|left|upright=1.5|मूल पांच-चरण | [[File:Fivestagespipeline.png|thumb|left|upright=1.5|मूल पांच-चरण पाइपलाइन। सबसे अच्छे मामले के परिदृश्य में, यह पाइपलाइन प्रति घड़ी चक्र में एक निर्देश की पूर्णता दर को बनाए रख सकती है।]] | ||
पूर्व निर्देश के निष्पादन के पूरा होने से पहले निर्देश लाने और डिकोडिंग के पहले चरण को शुरू करना, बढ़ी हुई समानता के लिए सबसे सरल तरीकों में से एक है। यह एक तकनीक है जिसे निर्देश पाइपलाइनिंग के रूप में जाना जाता है, और लगभग सभी आधुनिक सामान्य प्रयोजन सीपीयू में इसका उपयोग किया जाता है। पाइपलाइनिंग, निष्पादन पथ को असतत चरणों में तोड़कर एक समय में कई निर्देशों को निष्पादित करने की अनुमति देता है। इस पृथक्करण की तुलना एक एकत्रण रेखा से की जा सकती है, जिसमें एक निर्देश प्रत्येक चरण में तब तक पूरा किया जाता है जब तक कि वह निष्पादन पाइपलाइन से बाहर नहीं निकल जाता और सेवानिवृत्त नहीं हो जाता। | |||
पाइपलाइनिंग | हालाँकि, पाइपलाइनिंग एक ऐसी स्थिति की संभावना का परिचय देती है, जहाँ अगले संचालन को पूरा करने के लिए पिछले संचालन के परिणाम की आवश्यकता होती है; जिसे प्रायः डेटा निर्भरता संघर्ष कहा जाता है। इसलिए पाइपलाइन किए गए प्रोसेसर को इस प्रकार की स्थितियों की जाँच करनी चाहिए और यदआवश्यक होने पर पाइपलाइन के एक हिस्से में देरी करनी चाहिए। एक पाइपलाइनयुक्त प्रोसेसर अत्यधिक अदिश हो सकता है, जो केवल एक चरण में एक से अधिक घड़ी चक्र व्यय करने वाले निर्देश, पाइपलाइन स्टॉल द्वारा बाधित होता है। | ||
[[File:Superscalarpipeline.svg|thumb|upright=1.5|एक साधारण सुपरस्केलर | [[File:Superscalarpipeline.svg|thumb|upright=1.5|एक साधारण सुपरस्केलर पाइपलाइन। एक समय में दो निर्देशों को प्राप्त करने और भेजने से, प्रति घड़ी चक्र प्रति अधिकतम दो निर्देश पूरे किए जा सकते हैं।]] | ||
सीपीयू घटकों के निष्क्रिय समय में कमी आने का कारण निर्देश पाइपलाइनिंग में सुधार है। सुपरस्केलर कही जाने वाली संरचनाओं में एक लंबी निर्देश पाइपलाइन और लोड-स्टोर इकाइयाँ, अंकगणित-तर्क इकाइयाँ, फ़्लोटिंग-प्वाइंट इकाइयाँ और पता उत्पादन इकाइयाँ जैसी कई समान निष्पादन इकाइयाँ सम्मिलित हैं।<ref>{{cite web | last = Huynh | first = Jack | title = The AMD Athlon XP Processor with 512KB L2 Cache | publisher = University of Illinois, Urbana-Champaign | pages = 6–11 | url = http://courses.ece.uiuc.edu/ece512/Papers/Athlon.pdf | year = 2003 | access-date = 2007-10-06 | url-status=dead | archive-url = https://web.archive.org/web/20071128061217/http://courses.ece.uiuc.edu/ece512/Papers/Athlon.pdf | archive-date = 2007-11-28 }}</ref> एक सुपरस्केलर पाइपलाइन में, निर्देशों को पढ़ा जाता है और एक प्रेषक तक पहुँचाया जाता है, जो यह तय करता है कि निर्देशों को समानांतर (एक साथ) में निष्पादित किया जा सकता है या नहीं। यदि ऐसा है, तो उन्हें निष्पादन इकाइयों में भेज दिया जाता है, जिसके परिणामस्वरूप उनका सामानांतर में निष्पादन होता है। सामान्यतः, एक सुपरस्केलर सीपीयू द्वारा एक चक्र में पूरे होने वाले निर्देशों की संख्या, निष्पादन इकाइयों को एक साथ भेजने जाने वाले निर्देशों की संख्या की क्षमता पर निर्भर करती है। | |||
सुपरस्केलर सीपीयू वास्तुकला की संरचना में सबसे कठिन कार्य एक प्रभावी प्रेषक को बनाना है। प्रेषक को शीघ्रता से यह निर्धारित करने में सक्षम होना चाहिए कि क्या निर्देश समानांतर में निष्पादित किए जा सकते हैं, साथ ही क्या उन्हें इस तरह से प्रेषित किया जा सकता है कि जितनी संभव हो उतनी निष्पादन इकाइयों को व्यस्त रखा जा सके। इसके लिए आवश्यक है कि निर्देश पाइपलाइन को जितनी बार संभव हो, उन्हें भर दिया जाए और इसके लिए महत्वपूर्ण मात्रा में सीपीयू कैश की आवश्यकता हो। यह उच्च स्तर के प्रदर्शन को बनाए रखने के लिए शाखा की भविष्यवाणी, अनुमान निष्पादन, रजिस्टर का नाम बदलने, ऑर्डर के बाहर निष्पादन और लेनदेन संबंधी मेमोरी जैसी खतरे से बचने वाली तकनीकों को भी महत्वपूर्ण बनाता है। सशर्त निर्देश शाखा (या पथ) की भविष्यवाणी करने का प्रयास करके, सीपीयू उस समय की संख्या को कम कर सकता है जब तक कि पूरी पाइपलाइन को सशर्त निर्देश पूरा होने तक प्रतीक्षा करनी चाहिए। अनुमान निष्पादन प्रायः कोड के कुछ हिस्सों को निष्पादित करके सामान्य प्रदर्शन वृद्धि प्रदान करता है जो सशर्त संचालन पूरा होने के बाद आवश्यक नहीं हो सकता है। ऑर्डर के बाहर निष्पादन कुछ हद तक उस क्रम को पुनर्व्यवस्थित करता है जिसमें डेटा निर्भरता के कारण देरी को कम करने के लिए निर्देश निष्पादित किए जाते हैं। एकल निर्देश स्ट्रीम, बहु-डेटा स्ट्रीम के सम्बन्ध में एक ऐसी स्थिति, जब एक ही प्रकार के बहुत सारे डेटा को प्रोसेस करना पड़ता है, तब आधुनिक प्रोसेसर पाइपलाइन के कुछ हिस्सों को निष्क्रिय कर सकते हैं ताकि जब एक ही निर्देश को कई बार निष्पादित किया जाए, तो सीपीयू प्राप्त करने और डीकोड चरणों को छोड़ देता है और इस प्रकार यह विशेष रूप से वीडियो निर्माण सॉफ्टवेयर और फोटो प्रोसेसिंग जैसे अत्यधिक नीरस प्रोग्राम इंजन के अवसरों पर प्रदर्शन को बढ़ाता है। | |||
जब सीपीयू का | जब सीपीयू का केवल एक भाग सुपरस्केलर होता है, तो वह भाग निर्धारित स्टॉल के कारण प्रदर्शन दंड से ग्रस्त नहीं होता है। इंटेल पी5 पेंटियम में दो सुपरस्केलर एएलयू थे जो प्रत्येक घड़ी चक्र में एक निर्देश स्वीकार कर सकते थे, लेकिन इसका एफपीयू (FPU) ऐसा करने में सक्षम नहीं था। इस प्रकार पी5 पूर्णांक सुपरस्केलर था, लेकिन फ्लोटिंग प्वाइंट सुपरस्केलर नहीं था। पी5 वास्तुकला के लिए इन्टेल के अनुक्रम, पी6 ने अपनी फ्लोटिंग-प्वाइंट सुविधाओं में सुपरस्केलर क्षमताएँ जोड़ीं। | ||
सरल पाइपलाइनिंग और सुपरस्केलर संरचना, सीपीयू के आईएलपी (ILP) को प्रति घड़ी चक्र में एक निर्देश से अधिक दरों पर निर्देशों को निष्पादित करने की अनुमति देकर बढ़ाते हैं। अधिकांश आधुनिक सीपीयू संरचनाएँ कम से कम कुछ हद तक सुपरस्केलर होती हैं, और पिछले दशक में बनाये गए लगभग सभी सामान्य प्रयोजन सीपीयू सुपरस्केलर होते थे। बाद के वर्षों में उच्च-आईएलपी कंप्यूटरों को बनाने में कुछ अवधारणाओं को सीपीयू के हार्डवेयर से हटाकर इसके सॉफ्टवेयर अंतर्प्रष्ठ या निर्देश सेट वास्तुकला (ISA) में स्थानांतरित कर दिया गया है। बहुत लंबे निर्देश शब्द (वीएलआईडब्ल्यू) की रणनीति के कारण कुछ आईएलपी (ILP) सीधे सॉफ्टवेयर द्वारा निहित हो जाते हैं, जो आईएलपी (ILP) को प्रोत्साहित करने में सीपीयू के काम को कम करते हैं और इस प्रकार संरचना की जटिलता को कम करते हैं। | |||
==== कार्य-स्तरीय समानांतरवाद ==== | ==== कार्य-स्तरीय समानांतरवाद ==== | ||
समानांतर में कई थ्रेड्स या प्रक्रियाओं को निष्पादित करना, प्रदर्शन प्राप्त करने की एक अन्य रणनीति है। अनुसंधान के इस क्षेत्र को ''समानांतर कंप्यूटिंग'' के रूप में जाना जाता है।<ref>{{cite book|last=Gottlieb|first=Allan|title=Highly parallel computing|year=1989|publisher=Benjamin/Cummings|location=Redwood City, Calif.|isbn=978-0-8053-0177-9|url=http://dl.acm.org/citation.cfm?id=160438|author2=Almasi, George S.}}</ref> इस रणनीति को फ्लिन के वर्गीकरण में बहु-निर्देश स्ट्रीम, बहु-डेटा स्ट्रीम (एमआईएमडी) के रूप में जाना जाता है।<ref>{{Cite journal|last1=Flynn|first1=M. J. |s2cid=18573685 |author-link1=Michael J. Flynn|doi=10.1109/TC.1972.5009071|title=Some Computer Organizations and Their Effectiveness|journal=[[IEEE Transactions on Computers|IEEE Trans. Comput.]]|volume=C-21|issue=9|pages=948–960| date=September 1972}}</ref> | |||
मल्टीप्रोसेसिंग, इस उद्देश्य के लिए इस्तेमाल की जाने वाली एक तकनीक थी।<ref>{{cite journal|title=Parallelism exploitation in superscalar multiprocessing|journal=IEE Proceedings - Computers and Digital Techniques|volume=145|issue=4|pages=255|publisher=Institution of Electrical Engineers|doi=10.1049/ip-cdt:19981955|year=1998|last1=Lu|first1=N.-P.|last2=Chung|first2=C.-P.}}</ref> इस तकनीक की प्रारंभिक विशेषता को सममित मल्टीप्रोसेसिंग के रूप में जाना जाता है, जहाँ सीपीयू की एक छोटी संख्या, उनके मेमोरी तंत्र का एक सुसंगत दृश्य साझा करती है। इस योजना में प्रत्येक सीपीयू के पास एक अतिरिक्त हार्डवेयर होता है, जो मेमोरी के लगातार अद्यतित दृश्य को बनाए रखने का कार्य करता है। सीपीयू मेमोरी के पुराने दृश्यों से बचकर एक ही प्रोग्राम में सहयोग कर सकते हैं और प्रोग्राम एक सीपीयू से दूसरे सीपीयू में प्रवासित कर सकते हैं। अल्पमात्रा से अधिक सहयोग करने वाले सीपीयू की संख्या बढ़ाने के लिए, 1990 के दशक में गैर-समरूप मेमोरी एक्सेस और निर्देशिका-आधारित सुसंगतता प्रोटोकॉल जैसी योजनाएं शुरू की गईं। एसएमपी तंत्र कम संख्या में सीपीयू तक सीमित हैं जबकि गैर-समरूप मेमोरी एक्सेस (NUMA) तंत्र हजारों प्रोसेसर के साथ बनाए गए हैं। प्रारंभ में, मल्टीप्रोसेसिंग को प्रोसेसर के बीच अंतर्संयोजन लागू करने के लिए कई असतत सीपीयू और बोर्डों का उपयोग करके बनाया गया था। जब प्रोसेसर और उनके अंतर्संयोजन सभी एक ही चिप पर प्रयुक्त होते हैं, तो तकनीक को चिप-स्तरीय मल्टीप्रोसेसिंग और एकल चिप को मल्टी-कोर प्रोसेसर के रूप में जाना जाता है। | |||
1970 के दशक | बाद में यह माना गया कि बारीक अन्न समानता एक ही कार्यक्रम के साथ मौजूद थी। एक एकल प्रोग्राम में कई थ्रेड (या फ़ंक्शन) हो सकते हैं जिन्हें अलग से या समानांतर में निष्पादित किया जा सकता है। इस तकनीक के कुछ प्रारम्भिक उदाहरणों में, जैसे सीधे मेमोरी पहुँच को कंप्यूटेशन थ्रेड से अलग थ्रेड के रूप में, इनपुट/आउटपुट प्रोसेसिंग को प्रयुक्त किया गया है। इस तकनीक के लिए एक अधिक सामान्य दृष्टिकोण 1970 के दशक में प्रस्तुत किया गया था, जब तंत्र को समानांतर में कई संगणना थ्रेड चलाने के लिए बनाया गया था। इस तकनीक को मल्टी-थ्रेडिंग के रूप में जाना जाता है। मल्टीप्रोसेसिंग की तुलना में इस दृष्टिकोण को अधिक लागत प्रभावी माना जाता है, क्योंकि एमपी के सम्बन्ध में पूरे सीपीयू के विपरीत सीपीयू के भीतर केवल कुछ ही घटकों को एमटी का समर्थन करने के लिए दोहराया जाता है। एमटी में, कैश सहित निष्पादन इकाइयों और मेमोरी तंत्र को कई थ्रेड के मध्य साझा किया जाता है। एमटी का नकारात्मक पक्ष यह है कि एमपी की तुलना में मल्टीथ्रेडिंग के लिए हार्डवेयर समर्थन सॉफ्टवेयर को अधिक दिखाई देता है और इस प्रकार पर्यवेक्षक सॉफ्टवेयर जैसे संचालन तंत्र को एमटी का समर्थन करने के लिए बड़े बदलावों से गुजरना पड़ता है। अस्थायी मल्टीथ्रेडिंग नामक एक प्रकार के एमटी को वहाँ प्रयुक्त किया गया था, जहाँ एक थ्रेड को तब तक निष्पादित किया जाता है जब तक कि बाहरी मेमोरी से डेटा के वापस आने की प्रतीक्षा में यह ठप न हो जाए। इस योजना में, सीपीयू तुरंत संचालन के लिए तैयार दूसरे थ्रेड पर स्विच करेगा; यह स्विच प्रायः एक सीपीयू घड़ी चक्र में किया जाता है, जैसे कि अल्ट्रास्पार्क टी1। समकालिक मल्टीथ्रेडिंग, एक अन्य प्रकार का एमटी है, जहाँ एक सीपीयू घड़ी चक्र के भीतर कई थ्रेडों से निर्देश समानांतर में निष्पादित होते हैं। | ||
सीपीयू | 1970 के दशक से 2000 के दशक के प्रारंभ सहित कई दशकों तक, उच्च निष्पादन सामान्य प्रयोजन सीपीयू को बनाने में मुख्य रूप से पाइपलाइनिंग, कैश, सुपरस्केलर निष्पादन, ऑर्डर के बाहर निष्पादन आदि जैसी प्रौद्योगिकियों के माध्यम से उच्च आईएलपी (ILP) प्राप्त करने पर ध्यान केंद्रित किया गया था। इस प्रवृत्ति की परिणति इंटेल पेंटियम 4 जैसे पावर-हंगरी सीपीयू में बड़े पैमाने पर हुई। 2000 के दशक की शुरुआत तक, सीपीयू संचालित आवृत्तियों और मुख्य मेमोरी संचालित आवृत्तियों के बीच बढ़ती असमानता के साथ-साथ अधिक गूढ़ आईएलपी तकनीकों के लिए सीपीयू सामर्थ्य अपव्यय बढ़ने के कारण सीपीयू निर्माणकों को आईएलपी तकनीकों से उच्च प्रदर्शन प्राप्त करने से रोक दिया गया था। | ||
तब सीपीयू निर्माणकों ने लेनदेन प्रसंस्करण जैसे वाणिज्यिक कंप्यूटिंग बाजारों से विचारों को उधार लिया, जहाँ थ्रूपुट कंप्यूटिंग के नाम से जाने जाने वाले कई कार्यक्रमों का समग्र प्रदर्शन एकल थ्रेड या प्रक्रिया के प्रदर्शन से अधिक महत्वपूर्ण था। | |||
इस तीव्र उलटफेर का साक्ष्य दोहरे और अधिक कोर प्रोसेसर संरचनाओं के प्रसार से है और विशेष रूप से, इंटेल के नयी संरचनाएँ इसके निम्न सुपरस्केलर पी6 वास्तुकला से मिलती जुलती हैं। कई प्रोसेसर परिवारों में बाद की संरचनाएँ सीएमपी (CMP) का प्रदर्शन करती हैं, जिसमें एक्स86-64 ओपर्टन और एथलॉन 64 एक्स2, स्पार्क अल्ट्रास्पार्क टी1, आईबीएम पावर 4 और पावर 5, साथ ही एक्सबॉक्स 360 के ट्रिपल-कोर पावरपीसी संरचना और प्लेस्टेशन 3 का 7-कोर सेल माइक्रोप्रोसेसर जैसे कई वीडियो गेम कंसोल सीपीयू अदि सम्मिलित हैं। | |||
==== डेटा समानांतरवाद ==== | ==== डेटा समानांतरवाद ==== | ||
प्रोसेसर का एक | प्रोसेसर का एक असामान्य लेकिन तीव्रता से बढ़ता महत्वपूर्ण प्रतिमान (और वास्तव में, सामान्य रूप से कंप्यूटिंग) डेटा समानता से संबंधित है। सभी पूर्वचर्चित प्रोसेसर को किसी न किसी प्रकार के पैमानिक उपकरण के रूप में संदर्भित किया जाता है।{{Efn|Earlier the term ''scalar'' was used to compare the IPC count afforded by various ILP methods. Here the term is used in the strictly mathematical sense to contrast with vectors. See [[scalar (mathematics)]] and [[vector (geometric)]].}} जैसा कि नाम से पता चलता है, सदिश प्रोसेसर एक निर्देश के संदर्भ में डेटा के कई टुकड़ों से निपटते हैं। यह अदिश प्रोसेसर के विपरीत है, जो प्रत्येक निर्देश के लिए डेटा के एक टुकड़े से निपटता है। फ्लिन के वर्गीकरण का उपयोग करते हुए, डेटा से निपटने की इन दो योजनाओं को समान्यतः एकल निर्देश धारा, विभिन्न डेटा धारा (एसआईएमडी) और एकल निर्देश धारा, एकल डेटा धारा (एसआईएसडी) के रूप में जाना जाता है। डेटा के सदिश से निपटने वाले प्रोसेसर बनाने में महान उपयोगिता उन कार्यों को अनुकूलित करने में निहित है जिनके लिए डेटा के बड़े समूह पर एक ही संचालन (उदाहरण के लिए, एक योग या एक डॉट उत्पाद) की आवश्यकता होती है। इस प्रकार के कार्यों के कुछ प्रारम्भिक उदाहरणों में मल्टीमीडिया एप्लिकेशन (छवियाँ, वीडियो और ध्वनि), साथ ही कई प्रकार के वैज्ञानिक और अभियांत्रिकी कार्य सम्मिलित हैं। जबकि एक अदिश प्रोसेसर को डेटा के एक समूह में प्रत्येक निर्देश और मान को प्राप्त करने, डिकोड करने और निष्पादित करने की पूरी प्रक्रिया को पूर्ण करना होगा, एक सदिश प्रोसेसर एक निर्देश के साथ तुलनात्मक रूप से बड़े डेटा पर एक ही संचालन कर सकता है। यह एप्लिकेशन को कई चरणों की आवश्यकता पड़ने पर ही संभव है, जो एक संचालन को डेटा के बड़े समूह पर लागू करते हैं। | ||
क्रे-1 जैसे अधिकांश प्रारंभिक सदिश प्रोसेसर लगभग विशेष रूप से वैज्ञानिक अनुसंधान और क्रिप्टोग्राफी अनुप्रयोगों से जुड़े थे। हालाँकि, मल्टीमीडिया के बड़े पैमाने पर डिजिटल मीडिया में स्थानान्तरण के कारण सामान्य प्रयोजन के प्रोसेसर में कुछ प्रकार के एसआईएमडी की आवश्यकता महत्वपूर्ण हो गई है। चलायमान बिंदु इकाइयों को सम्मिलित करने के कुछ ही समय बाद सामान्य-प्रयोजन प्रोसेसर में यह सामान्य होना शुरू हो गया, और एसआईएमडी निष्पादन इकाइयों के लिए विनिर्देश और कार्यान्वयन भी सामान्य-उद्देश्य वाले प्रोसेसर के लिए दिखाई देने लगे। इनमें से एचपी का मल्टीमीडिया एक्सेलेरेशन एक्सटेंशन और इन्टेल का एमएमएक्स जैसे कुछ प्रारंभिक एसआईएमडी विनिर्देश केवल पूर्णांक थे। यह कुछ सॉफ्टवेयर विकासकों के लिए एक महत्वपूर्ण बाधा साबित हुई, क्योंकि सिम से लाभान्वित होने वाले कई एप्लिकेशन मुख्य रूप से फ्लोटिंग-पॉइंट नंबरों से संचालित होते हैं। विकासकों ने प्रगतिशील रूप से इन प्रारम्भिक संरचनाओं को कुछ सामान्य आधुनिक एसआईएमडी (SIMD) विनिर्देशों में परिष्कृत और पुनर्निर्मित किया, जो सामान्यतः एक निर्देश समूह वास्तुकला से जुड़े होते हैं। इन्टेल का स्ट्रीमिंग एसआईएमडी एक्सटेंशन और पावरपीसी से संबंधित एल्टीवेक जैसे कुछ उपकरण उल्लेखनीय आधुनिक उदाहरणों में सम्मिलित हैं।{{Efn|Although SSE/SSE2/SSE3 have superseded MMX in Intel's general-purpose processors, later [[IA-32]] designs still support MMX. This is usually done by providing most of the MMX functionality with the same hardware that supports the much more expansive SSE instruction sets.}} | |||
=== हार्डवेयर प्रदर्शन काउंटर === | === हार्डवेयर प्रदर्शन काउंटर === | ||
कई आधुनिक | कई आधुनिक वास्तुकला (अन्तर्निहित वाले सहित) में प्रायः हार्डवेयर प्रदर्शन काउंटर (एचपीसी) सम्मिलित होते हैं, जो निम्न-स्तरीय (निर्देश-स्तर) संग्रह, बेंचमार्किंग, डिबगिंग या चल रहे सॉफ़्टवेयर आव्यूह के विश्लेषण को सक्षम बनाता है।<ref>{{Cite conference|last1=Uhsadel|first1=Leif|last2=Georges|first2=Andy|last3=Verbauwhede|first3=Ingrid|date=August 2008|title=Exploiting Hardware Performance Counters|url=https://ieeexplore.ieee.org/document/4599558|conference=2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography|pages=59–67|doi=10.1109/FDTC.2008.19|isbn=978-0-7695-3314-8|s2cid=1897883}}</ref><ref>{{Cite conference|last=Rohou|first=Erven|date=September 2012|title=Tiptop: Hardware Performance Counters for the Masses|url=https://ieeexplore.ieee.org/document/6337508|conference=2012 41st International Conference on Parallel Processing Workshops|pages=404–413|doi=10.1109/ICPPW.2012.58|isbn=978-1-4673-2509-7|s2cid=16160098}}</ref> सॉफ़्टवेयर की असामान्य या संदिग्ध गतिविधि की खोज और विश्लेषण करने के लिए भी एचपीसी का उपयोग किया जा सकता है, जैसे कि रिटर्न-ओरिएंटेड प्रोग्रामिंग या सिग्रेटर्न-ओरिएंटेड प्रोग्रामिंग कार्य आदि।<ref>{{Cite web|last1=Herath|first1=Nishad|last2=Fogh|first2=Anders|date=2015|title=CPU Hardware Performance Counters for Security|url=https://www.blackhat.com/docs/us-15/materials/us-15-Herath-These-Are-Not-Your-Grand-Daddys-CPU-Performance-Counters-CPU-Hardware-Performance-Counters-For-Security.pdf|url-status=live|publisher=Black Hat|location=USA|archive-url=https://web.archive.org/web/20150905090843/https://www.blackhat.com/docs/us-15/materials/us-15-Herath-These-Are-Not-Your-Grand-Daddys-CPU-Performance-Counters-CPU-Hardware-Performance-Counters-For-Security.pdf |archive-date=2015-09-05 }}</ref> यह सामान्यतः सॉफ्टवेयर-सुरक्षा टीमों द्वारा दुर्भावनापूर्ण द्विआधारी कार्यक्रमों का आँकलन करने और खोजने के लिए किया जाता है। | ||
आईबीएम, इंटेल, एएमडी, और एआरएम जैसे कई प्रमुख विक्रेता सॉफ्टवेयर अंतर्प्रष्ठ प्रदान करते हैं, जो सामान्यतः सी/सी++ में लिखा जाता है। जिनका उपयोग आव्यूह प्राप्त करने हेतु सीपीयू रजिस्टरों से डेटा एकत्र करने के लिए किया जा सकता है।<ref>{{Citation|last=DeRose|first=Luiz A.|title=The Hardware Performance Monitor Toolkit|date=2001|url=http://link.springer.com/10.1007/3-540-44681-8_19|work=Euro-Par 2001 Parallel Processing|series=Lecture Notes in Computer Science|volume=2150|pages=122–132|editor-last=Sakellariou|editor-first=Rizos|place=Berlin, Heidelberg|publisher=Springer Berlin Heidelberg|language=en|doi=10.1007/3-540-44681-8_19|isbn=978-3-540-42495-6|access-date=2021-12-30|editor2-last=Gurd|editor2-first=John|editor3-last=Freeman|editor3-first=Len|editor4-last=Keane|editor4-first=John}}</ref> कर्नेल और एप्लिकेशन चलाने वाले संचालन तंत्र विक्रेता सीपीयू घटनाओं को रिकॉर्ड करने, बेंचमार्क करने या ट्रेस करने के लिए [[:en:Perf_(Linux)|perf]]''(लिनक्स)'' जैसे सॉफ़्टवेयर भी प्रदान करते हैं। | |||
== आभासी सीपीयू | == आभासी सीपीयू == | ||
सीपीयू संचालन को आभासी सेंट्रल प्रोसेसिंग यूनिट | सीपीयू संचालन को आभासी सेंट्रल प्रोसेसिंग यूनिट<ref> | ||
{{cite book | {{cite book | ||
| last1 = Fifield | | last1 = Fifield | ||
Line 257: | Line 244: | ||
| quote = Virtual Central Processing Unit (vCPU)[:] Subdivides physical CPUs. Instances can then use those divisions. | | quote = Virtual Central Processing Unit (vCPU)[:] Subdivides physical CPUs. Instances can then use those divisions. | ||
}} | }} | ||
</ref> | </ref> में उप-विभाजित करना क्लाउड कंप्यूटिंग में सम्मिलित हो सकता है।<ref> | ||
{{cite book | {{cite book | ||
| last1 = Anjum | | last1 = Anjum | ||
Line 276: | Line 263: | ||
</ref> | </ref> | ||
होस्ट | होस्ट, एक भौतिक मशीन का आभासी समकक्ष है, जिस पर एक आभासी तंत्र कार्य करता है।<ref>{{Cite web|url=https://www.vmware.com/pdf/vi_architecture_wp.pdf|title=VMware Infrastructure Architecture Overview- White Paper|date=2006|website=VMware|publisher=VMware}}</ref> जब कई भौतिक मशीनें मिलकर कार्य करती हैं और समग्र रूप से प्रबंधित होती हैं, तो समूहीकृत कंप्यूटिंग और मेमोरी संसाधन एक समूह बनाते हैं। कुछ प्रणालियों में समूह में गतिशील रूप से जोड़ना और निकालना संभव है। होस्ट और समूह स्तर पर उपलब्ध संसाधनों को बारीक कणिकता के साथ संसाधन पूल में विभाजित किया जा सकता है। | ||
==प्रदर्शन == | ==प्रदर्शन == | ||
एक प्रोसेसर का प्रदर्शन या गति कई अन्य कारकों पर निर्भर करता है, जिनमें घड़ी की दर (सामान्यतः हर्ट्ज के गुणकों में) और निर्देश प्रति घड़ी | एक प्रोसेसर का प्रदर्शन या गति कई अन्य कारकों पर निर्भर करता है, जिनमें घड़ी की दर (सामान्यतः हर्ट्ज के गुणकों में) और निर्देश प्रति घड़ी, जो एक साथ प्रति सेकंड निर्देशों के कारक हैं, जिसका प्रदर्शन सीपीयू कर सकता है।<ref name="Freq">{{Cite web | ||
| title = CPU Frequency | | title = CPU Frequency | ||
| work = CPU World Glossary | | work = CPU World Glossary | ||
Line 285: | Line 272: | ||
| date = 25 March 2008 | | date = 25 March 2008 | ||
| url = http://www.cpu-world.com/Glossary/C/CPU_Frequency.html | | url = http://www.cpu-world.com/Glossary/C/CPU_Frequency.html | ||
| access-date = 1 January 2010 }}</ref> रिपोर्ट किए गए कई आईपीएस | | access-date = 1 January 2010 }}</ref> रिपोर्ट किए गए कई आईपीएस मूल्यों ने कुछ शाखाओं के साथ कृत्रिम निर्देश अनुक्रमों पर "पीक" निष्पादन दर का प्रतिनिधित्व किया है, जबकि यथार्थवादी कार्यभार में निर्देशों और अनुप्रयोगों का मिश्रण होता है, जिनमें से कुछ को दूसरों की तुलना में निष्पादित करने में अधिक समय लगता है। एमआईपीएस गणना में मुश्किल से माना जाने वाला एक मुद्दा, मेमोरी पदानुक्रम का प्रदर्शन भी प्रोसेसर के प्रदर्शन को बहुत प्रभावित करता है। इन समस्याओं के कारण, विभिन्न मानकीकृत परीक्षणों को सामान्यतः उपयोग किए जाने वाले अनुप्रयोगों में वास्तविक प्रभावी प्रदर्शन को मापने के प्रयास के लिए विकसित किया गया है, जिन्हें प्रायः इस उद्देश्य के लिए "बेंचमार्क" कहा जाता है, जैसे स्पेकआईएनटी (SPECint)। | ||
मल्टी-कोर प्रोसेसर | मल्टी-कोर प्रोसेसर का उपयोग करके कंप्यूटर के प्रसंस्करण प्रदर्शन को बढ़ाया जाता है, जो अनिवार्य रूप से दो या दो से अधिक व्यक्तिगत प्रोसेसर (इस अर्थ में कोर) को एक एकीकृत परिपथ में जोड़ता है।<ref name="tt">{{Cite web | ||
| title = What is (a) multi-core processor? | | title = What is (a) multi-core processor? | ||
| work = Data Center Definitions | | work = Data Center Definitions | ||
| publisher = SearchDataCenter.com | | publisher = SearchDataCenter.com | ||
| url = http://searchdatacenter.techtarget.com/sDefinition/0,,sid80_gci1015740,00.html | | url = http://searchdatacenter.techtarget.com/sDefinition/0,,sid80_gci1015740,00.html | ||
| access-date = 8 August 2016 }}</ref> आदर्श रूप से, एक द्वि-कोर प्रोसेसर | | access-date = 8 August 2016 }}</ref> आदर्श रूप से, एक द्वि-कोर प्रोसेसर, एकल कोर प्रोसेसर से लगभग दोगुना शक्तिशाली होता है। व्यवहार में, अपूर्ण सॉफ़्टवेयर एल्गोरिदम और कार्यान्वयन के कारण, प्रदर्शन लाभ बहुत कम, केवल लगभग 50% होता है।<ref>{{cite web|url=https://techspirited.com/quad-core-vs-dual-core|title=Quad Core Vs. Dual Core|date=8 April 2010}}</ref> एक प्रोसेसर में कोरों की संख्या (अर्थात ड्यूल-कोर, क्वाड-कोर, आदि) में वृद्धि से कार्यभार बढ़ जाता है जिसे संभाला जा सकता है। इसका अर्थ यह है कि प्रोसेसर अब कई अतुल्यकालिक घटनाओं, अवरोधों आदि को संभाल सकता है, जो अत्यधिक होने पर सीपीयू पर भारी पड़ सकता है। इन कोरों को एक प्रसंस्करण संयंत्र में अलग-अलग तलों के रूप में माना जा सकता है, जिनमें प्रत्येक तल एक अलग कार्य को संभालता है। कभी-कभी, ये कोर उसी तरह के कार्यों को संभालते हैं, जैसे कि उनके आस-पास के कोर, अगर सूचना को संभालने के लिए पर्याप्त नहीं हैं। | ||
आधुनिक सीपीयू | आधुनिक सीपीयू की एक साथ बहुस्तरीयता और अनकोर जैसी विशिष्ट क्षमताओं के कारण, जिसमें वास्तविक सीपीयू संसाधनों को साझा करना सम्मिलित है, जबकि उपयोग में वृद्धि, प्रदर्शन स्तर की निगरानी और हार्डवेयर का उपयोग धीरे-धीरे एक अधिक जटिल कार्य बन गया है।<ref>{{cite web|last1=Tegtmeier|first1=Martin|title=CPU utilization of multi-threaded architectures explained|url=https://blogs.oracle.com/solaris/post/cpu-utilization-of-multi-threaded-architectures-explained|publisher=Oracle|access-date=July 17, 2022}}</ref> प्रतिक्रिया के रूप में, कुछ सीपीयू अतिरिक्त हार्डवेयर तर्क प्रयुक्त करते हैं जो सीपीयू के विभिन्न भागों के वास्तविक उपयोग की निगरानी करता है और विभिन्न काउंटरों को सॉफ्टवेयर के लिए सुलभता प्रदान करता है; इसका एक उदाहरण इंटेल की ''परफॉर्मेंस काउंटर मॉनिटर'' तकनीक है।<ref name="intel-pcm">{{cite web | ||
| url = https://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization | | url = https://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization | ||
| title = Intel Performance Counter Monitor – A better way to measure CPU utilization | | title = Intel Performance Counter Monitor – A better way to measure CPU utilization | ||
Line 304: | Line 291: | ||
{{portal|Technology}} | {{portal|Technology}} | ||
{{Div col|colwidth=20em}} | {{Div col|colwidth=20em}} | ||
* पता मोड | * पता मोड | ||
* एएमडी (AMD) त्वरित प्रसंस्करण इकाई | * एएमडी (AMD) त्वरित प्रसंस्करण इकाई | ||
* सीआईएससी (CISC) | * सीआईएससी (CISC) | ||
Line 310: | Line 297: | ||
* कंप्यूटर अभियांत्रिकी | * कंप्यूटर अभियांत्रिकी | ||
* सीपीयू कोर वोल्टेज | * सीपीयू कोर वोल्टेज | ||
* सीपीयू सॉकेट | * सीपीयू सॉकेट | ||
* डिजिटल सिग्नल प्रोसेसर | * डिजिटल सिग्नल प्रोसेसर | ||
* जीपीयू (GPU) | * जीपीयू (GPU) | ||
Line 321: | Line 308: | ||
* प्रतीक्षा अवस्था | * प्रतीक्षा अवस्था | ||
{{Div col end}} | {{Div col end}} | ||
==टिप्पणियाँ== | ==टिप्पणियाँ== | ||
{{notelist|30em}} | {{notelist|30em}} | ||
==संदर्भ== | ==संदर्भ== | ||
{{reflist|30em}} | {{reflist|30em}} | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* [https://spectrum.ieee.org/25chips 25 Microchips that shook the world] – an article by the [[Institute of Electrical and Electronics Engineers]]. | * [https://spectrum.ieee.org/25chips 25 Microchips that shook the world] – an article by the [[Institute of Electrical and Electronics Engineers]]. | ||
Line 340: | Line 318: | ||
{{Basic computer components}} | {{Basic computer components}} | ||
{{Digital systems}} | {{Digital systems}} | ||
[[Category:All articles with vague or ambiguous time]] | |||
[[Category: | [[Category:All pages needing factual verification]] | ||
[[Category: | [[Category:Articles with invalid date parameter in template]] | ||
[[Category: इलेक्ट्रॉनिक डिजाइन]] | [[Category:Articles with short description]] | ||
[[Category: इलेक्ट्रॉनिक डिजाइन स्वचालन]]] | [[Category:CS1]] | ||
[[Category:CS1 English-language sources (en)]] | |||
[[Category:CS1 errors]] | |||
[[Category: | [[Category:CS1 maint]] | ||
[[Category:Machine Translated Page]] | |||
[[Category:Pages with empty portal template]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Portal templates with redlinked portals]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates used by AutoWikiBrowser|Cite web]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Vague or ambiguous time from September 2016]] | |||
[[Category:Wikipedia articles needing factual verification from August 2019]] | |||
[[Category:इलेक्ट्रॉनिक डिजाइन]] | |||
[[Category:इलेक्ट्रॉनिक डिजाइन स्वचालन]] | |||
[[Category:केंद्रीय प्रसंस्करण इकाई| केंद्रीय प्रसंस्करण इकाई ]] | |||
[[Category:डिजिटल इलेक्ट्रॉनिक्स]] |
Latest revision as of 15:44, 12 September 2023
सेंट्रल प्रोसेसिंग यूनिट (सीपीयू), एक इलेक्ट्रॉनिक परिपथ तंत्र है, जो कंप्यूटर प्रोग्राम से युक्त निर्देशों को निष्पादित करता है। इसे सेंट्रल प्रोसेसर, मुख्य प्रोसेसर या सिर्फ प्रोसेसर भी कहा जाता है। सीपीयू, प्रोग्राम में निर्देशों द्वारा निर्दिष्ट बुनियादी अंकगणित, तर्क, नियंत्रण और इनपुट/आउटपुट का संचालन करता है। यह मुख्य मेमोरी और इनपुट/आउटपुट परिपथ तंत्र जैसे बाहरी घटकों[1] और ग्राफिक्स प्रोसेसिंग यूनिट (जीपीयू) जैसे विशेष प्रोसेसर के विपरीत है।
सीपीयू (CPU) का रूप, संरचना और कार्यान्वयन समय के साथ बदल गया है, लेकिन उनका मौलिक संचालन लगभग अपरिवर्तित ही रहता है। एक सीपीयू के प्रमुख घटकों में अंकगणित-तर्क इकाई (एएलयू), जो अंकगणित और तर्क का संचालन करता है, प्रोसेसर रजिस्टर, जो एएलयू (ALU) को संकार्यों (ऑपेरैंड) की आपूर्ति करता है और एएलयू संचालन के परिणामों को संग्रहीत करता है, और एक नियंत्रण इकाई, जो एएलयू, रजिस्टरों और अन्य घटकों के समन्वित संचालन को मेमोरी से निर्देशित करके, डिकोडिंग और निर्देशों के निष्पादन को व्यवस्थित करती है, अदि सम्मिलित हैं।
अधिकांश आधुनिक सीपीयू एकीकृत सर्किट माइक्रोप्रोसेसरों पर प्रयुक्त होते हैं, जिसमें एक आईसी चिप पर एक या एक से अधिक सीपीयू होते हैं। कई सीपीयू वाले माइक्रोप्रोसेसर चिप मल्टी-कोर प्रोसेसर होते हैं। एकल भौतिक सीपीयू (प्रोसेसर कोर) को अतिरिक्त आभासी या तार्किक सीपीयू बनाने के लिए बहु-स्तरीय भी किया जा सकता है।[2]
सीपीयू वाले एक आईसी चिप में मेमोरी, परिधीय अंतरपृष्ठ और कंप्यूटर के अन्य घटक भी हो सकते हैं; ऐसे एकीकृत उपकरणों को विभिन्न रूप से माइक्रोकंट्रोलर या चिप पर तंत्र (SoC) कहा जाता है।
सरणी (ऐरे) प्रोसेसर या सदिश प्रोसेसर में कई प्रोसेसर होते हैं जो बिना किसी इकाई को केंद्रीय मानते हुए समानांतर कार्य करते हैं। आभासी सीपीयू गतिशील समेकित कम्प्यूटेशनल संसाधनों का एक पृथक्करण है।[3]
इतिहास
ईएनआईएसी (ENIAC) जैसे प्रारंभिक कंप्यूटरों को अलग-अलग कार्यों को करने के लिए भौतिक रूप से पुनः तारित किया जाना था, जिसके कारण इन मशीनों को "फिक्स्ड-प्रोग्राम कंप्यूटर" कहा जाने लगा।[4] "सेंट्रल प्रोसेसिंग यूनिट" शब्द का उपयोग वर्ष 1955 के पहले से किया गया था।[5][6] चूंकि सीपीयू शब्द को सामान्यतः सॉफ्टवेयर (कंप्यूटर प्रोग्राम) निष्पादन के लिए एक उपकरण के रूप में परिभाषित किया जाता है, इसलिए उचित रूप से सीपीयू कहे जा सकने वाले सबसे प्रारम्भिक उपकरण का आगमन संग्रहीत-प्रोग्राम कंप्यूटर के आविष्कार के साथ हुआ था।
जे. प्रेस्पर एकर्ट और जॉन विलियम मौचली के ईएनआईएसी (ENIAC) की संरचना में एक संग्रहीत-प्रोग्राम कंप्यूटर का विचार पहले से ही उपस्थित था, लेकिन प्रारंभ में इसे छोड़ दिया गया था, जिससे इसे शीघ्रता से समाप्त किया जा सके।[7] ईएनआईएसी के निर्माण से पूर्व 30 जून, 1945 को गणितज्ञ जॉन वॉन न्यूमैन ने ईडीवीएसी (EDVAC) पर एक रिपोर्ट का पहला मसौदा शीर्षक वाला पृष्ठ वितरित किया। यह एक संग्रहीत-प्रोग्राम कंप्यूटर की रूपरेखा थी जो अंततः अगस्त 1949 में पूरी हो गई।[8] ईडीवीएसी को विभिन्न प्रकार के निर्देशों (या संचालन) की एक निश्चित संख्या को निष्पादित करने के लिए निर्मित किया गया था। गौरतलब है कि ईडीवीएसी के लिए लिखे गए प्रोग्राम को कंप्यूटर की भौतिक वायरिंग द्वारा निर्दिष्ट करने के स्थान पर उच्च गति कंप्यूटर मेमोरी में संग्रहीत किया जाना था।[9] इसने ईएनआईएसी की एक गंभीर सीमा को पार कर लिया, जो नया कार्य करन हेतु कंप्यूटर को पुन: कॉन्फ़िगर करने के लिए आवश्यक काफी समय और प्रयास था।।[10] वॉन न्यूमैन की संरचना के साथ, ईडीवीएसी द्वारा चलाए जाने वाले प्रोग्राम को केवल मेमोरी की सामग्री को बदलकर बदला जा सकता है। ईडीवीएसी पहला संगृहीत-प्रोग्राम कंप्यूटर नहीं था, क्योंकि मैनचेस्टर बेबी नामक एक छोटे पैमाने के प्रायोगिक संगृहीत प्रोग्राम कंप्यूटर ने अपना पहला प्रोग्राम 21 जून 1948 को[11] और मैनचेस्टर मार्क-1 ने 16-17 जून 1949 की रात के दौरान अपना पहला प्रोग्राम संचालित किया।[12]
प्रारंभिक सीपीयू की संरचना पारंपरिक थी, जिनका उपयोग बड़े और कभी-कभी विशिष्ट कंप्यूटर के हिस्से के रूप में किया जाता था।[13] हालांकि, किसी विशेष अनुप्रयोग के लिए पारम्परिक सीपीयू की इस संरचना पद्धति ने बड़ी मात्रा में उत्पादित बहुउद्देश्यीय प्रोसेसर के विकास के लिए काफी हद तक मार्ग प्रशस्त किया है। यह मानकीकरण असतत ट्रांजिस्टर मेनफ्रेम और मिनीकंप्यूटर के युग में शुरू हुआ और एकीकृत परिपथ के लोकप्रिय होने के साथ तेजी से बढ़ा है। आईसी ने तीव्र गति से जटिल सीपीयू को नैनोमीटर के क्रम पर सहनशीलता के लिए संरचना और निर्मित करने की अनुमति दी है।[14] सीपीयू के लघुकरण और मानकीकरण ने समर्पित कंप्यूटिंग मशीनों के सीमित अनुप्रयोग ने आधुनिक जीवन में अत्यधिक डिजिटल उपकरणों की उपस्थिति में वृद्धि की है। आधुनिक माइक्रोप्रोसेसर ऑटोमोबाइल[15] से लेकर सेलफोन,[16] और कभी-कभी खिलौनों जैसी इलेक्ट्रॉनिक उपकरणों में दिखाई देते हैं।[17][18]
जबकि वॉन न्यूमैन को प्रायः ईडीवीएसी की अपनी संरचना के कारण संग्रहीत-प्रोग्राम कंप्यूटर की संरचना का श्रेय दिया जाता है, और संरचना को वॉन न्यूमैन निर्माणकला के रूप में जाना जाता है; कोनराड ज़ूस जैसे अन्य लोगों ने उनके पहले इसी तरह के विचारों का सुझाव दिया था और उन्हें प्रयुक्त किया था।[19] ईडीवीएसी से पहले पूर्ण, हार्वर्ड मार्क-प्रथम की तथाकथित हार्वर्ड वास्तुकला[20][21] ने इलेक्ट्रॉनिक मेमोरी के स्थान पर छिद्रित पेपर टेप का उपयोग करके एक संग्रहीत-कार्यक्रम संरचना का भी उपयोग किया।[22] वॉन न्यूमैन और हार्वर्ड वास्तुकला के बीच महत्वपूर्ण अंतर यह है कि बाद वाला सीपीयू निर्देशों और डेटा के भंडारण और उपचार को अलग करता है, जबकि पूर्व वाला दोनों के लिए समान मेमोरी का उपयोग करता है।[23] अधिकांश आधुनिक सीपीयू मुख्य रूप से संरचना में वॉन न्यूमैन हैं, लेकिन हार्वर्ड वास्तुकला वाले सीपीयू को भी विशेष रूप से अन्तर्निहित अनुप्रयोगों में देखा जाता है; उदाहरण के लिए, एटमेल एवीआर माइक्रोकंट्रोलर हार्वर्ड वास्तुकला प्रोसेसर हैं।[24]
रिले और निर्वात नली (ऊष्मापन नली) सामान्यतः स्विचिंग तत्वों के रूप में उपयोग किए जाते थे;[25][26] एक उपयोगी कंप्यूटर के लिए हजारों या दसियों हज़ार स्विचिंग उपकरणों की आवश्यकता होती है। सिस्टम की समग्र गति स्विच की गति पर निर्भर करती है। ईडीवीएसी जैसे निर्वात नली कंप्यूटर विफलताओं के बीच औसतन आठ घंटे तक चलते थे, जबकि हार्वर्ड मार्क-प्रथम जैसे (धीमे, लेकिन पहले) रिले कंप्यूटर बहुत कम ही विफल होते थे।[6]अंत में, महत्वपूर्ण गति लाभ के सामान्यतः विश्वसनीयता की समस्याओं से अधिक होने के कारण नली-आधारित सीपीयू प्रमुख हो गए। इनमें से अधिकांश प्रारम्भिक समकालीन सीपीयू आधुनिक माइक्रोइलेक्ट्रॉनिक संरचनाओं की तुलना में कम घड़ी स्पंदों पर चलते थे। इस समय 100 किलोहर्ट्ज़ से 4 मेगाहर्ट्ज तक की घड़ी संकेत आवृत्तियाँ बहुत सामान्य थीं, जो बड़े पैमाने पर स्विचिंग उपकरणों की गति से सीमित थीं, जिनके साथ उन्हें बनाया गया था।[27]
ट्रांजिस्टर सीपीयू
विभिन्न प्रौद्योगिकियों द्वारा छोटे और अधिक विश्वसनीय इलेक्ट्रॉनिक उपकरणों के निर्माण की सुविधा प्रदान करने के कारण सीपीयू की संरचना की जटिलता में वृद्धि हुई। इस तरह का पहला सुधार ट्रांजिस्टर के आगमन के साथ हुआ। 1950 और 1960 के दशक के दौरान ट्रांजिस्टरीकृत सीपीयू को अब निर्वात नली और रिले जैसे भारी, अविश्वसनीय और नाजुक स्विचिंग तत्वों से नहीं बनाया जाना था।[28] इस सुधार के साथ असतत (एकल) घटकों वाले एक या कई मुद्रित परिपथ बोर्डों पर अधिक जटिल और विश्वसनीय सीपीयू बनाए गए थे।
आईबीएम (IBM) ने वर्ष 1964 में अपना आईबीएम सिस्टम/360 कंप्यूटर निर्माणकला प्रस्तुत किया जिसका उपयोग कंप्यूटरों की एक श्रृंखला में किया गया था जो एक ही प्रोग्राम को अलग-अलग गति और प्रदर्शन के साथ चलाने में सक्षम थे।[29] यह ऐसे समय में महत्वपूर्ण था जब अधिकांश इलेक्ट्रॉनिक कंप्यूटर, यहाँ तक कि एक ही निर्माता द्वारा बनाए गए कंप्यूटर भी एक दूसरे के साथ असंगत थे। आईबीएम (IBM) ने इस सुधार को सुविधाजनक बनाने के लिए एक माइक्रोप्रोग्राम (प्रायः "माइक्रोकोड") की अवधारणा का उपयोग किया, जो अभी भी आधुनिक सीपीयू में व्यापक उपयोग के रूप में दिखता है।[30] सिस्टम/360 निर्माणकला इतनी लोकप्रिय थी कि इसने दशकों तक मेनफ्रेम कंप्यूटर बाजार पर अपना दबदबा बनाया और एक ऐसी विरासत छोड़ी जो अभी भी आईबीएम ज़ेडश्रृंखला जैसे समान आधुनिक कंप्यूटरों द्वारा जारी है।[31][32] डिजिटल उपकरण निगम ने वर्ष 1965 में वैज्ञानिक और अनुसंधान बाजारों, पीडीपी-8 (PDP-8) के उद्देश्य से एक और प्रभावशाली कंप्यूटर प्रस्तुत किया।[33]
अपने पूर्ववर्तियों की तुलना में ट्रांजिस्टर-आधारित कंप्यूटरों के कई विशिष्ट लाभ थे। बढ़ी हुई विश्वसनीयता और कम बिजली की खपत को सुविधाजनक बनाने के अतिरिक्त ट्रांजिस्टर ने एक टनली या रिले की तुलना में ट्रांजिस्टर के कम स्विचिंग समय के कारण सीपीयू को बहुत अधिक गति से संचालित करने की अनुमति दी।[34] स्विचिंग तत्वों की बढ़ी हुई विश्वसनीयता और नाटकीय रूप से बढ़ी हुई गति इस अवधि के दौरान दसियों मेगाहर्ट्ज़ में सीपीयू घड़ी दर आसानी से प्राप्त की गई थी, जो इस समय तक लगभग विशेष रूप से ट्रांजिस्टर थे।[35] इसके अतिरिक्त, जब असतत ट्रांजिस्टर और आईसी सीपीयू भारी उपयोग में थे, तब एकल निर्देश, एकाधिक डेटा (सिम) वेक्टर प्रोसेसर जैसे नए उच्च-प्रदर्शन संरचना दिखाई देने लगे।[36] इन प्रारंभिक प्रयोगात्मक संरचनाओं ने बाद में क्रे आईएनसी और फुजित्सु लिमिटेड द्वारा बनाए गए विशेष सुपर कंप्यूटरों के युग को जन्म दिया।[36]
छोटे पैमाने पर एकीकरण सीपीयू
इस अवधि के दौरान, एक सघन स्थान में कई परस्पर संयोजित ट्रांजिस्टर के निर्माण की एक विधि विकसित की गई थी। एकीकृत परिपथ (आईसी) ने बड़ी संख्या में ट्रांजिस्टर को एकल अर्धचालक-आधारित डाई, या "चिप" पर निर्मित करने की अनुमति दी। सर्वप्रथम केवल नॉर गेटों जैसे बहुत ही बुनियादी गैर-विशिष्ट डिजिटल परिपथों को आईसी में छोटा किया गया था।[37] इन "निर्माण खंड" आईसी पर आधारित सीपीयू को सामान्यतः "छोटे पैमाने पर एकीकरण (एसएसआई)" उपकरण कहा जाता है। एसएसआई आईसी, जैसे कि अपोलो गाइडेंस कंप्यूटर में उपयोग किए जाने वाले, सामान्यतः कुछ दर्जन ट्रांजिस्टर होते हैं। एसएसआई आईसी से एक संपूर्ण सीपीयू बनाने के लिए हजारों एकल चिपों की आवश्यकता होती है, लेकिन फिर भी इनमें पहले के असतत ट्रांजिस्टर संरचनाओं की तुलना में बहुत कम जगह और बिजली की खपत होती है।[38]
सिस्टम/360 का अनुपालक आईबीएम सिस्टम/360 ठोस तार्किक तकनीक असतत-ट्रांजिस्टर मॉड्यूल के स्थान पर एसएसआई आईसी (SSI IC) का उपयोग करता है।[39][40] डीईसी पीडीपी-8/I और केआई10 पीडीपी-10 को भी पीडीपी-8 (PDP-8) और पीडीपी-10 (PDP-10) द्वारा उपयोग किए जाने वाले एकल ट्रांजिस्टर से एसएसआई आईसी में बदल दिया गया,[41] और उनकी अत्यंत लोकप्रिय पीडीपी-11 (PDP-11) लाइन मूल रूप से एसएसआई आईसी के साथ बनाई गई थी, लेकिन अंततः इनके व्यावहारिक हो जाने पर इन्हें एलएसआई (LSI) घटकों के साथ लागू किया गया।
बड़े पैमाने पर एकीकरण सीपीयू
ली बॉयसेल ने वर्ष 1967 के "घोषणापत्र" सहित प्रभावशाली लेख प्रकाशित किए, जिसमें वर्णन किया गया था कि अपेक्षाकृत कम संख्या में बड़े पैमाने के एकीकरण परिपथ (LSI) से 32-बिट मेनफ्रेम कंप्यूटर का समकक्ष कैसे बनाया जाए।[42][43] एलएसआई चिपों (जो सौ या अधिक गेट वाले चिप होते हैं) के निर्माण की एकमात्र विधि यह थी कि उन्हें धातु-ऑक्साइड-अर्धचालक (MOS), अर्धचालक निर्माण प्रक्रिया जैसे पीएमओएस (PMOS) तर्क, एनएमओएस (NMOS) तर्क, या तो सीएमओएस (CMOS) तर्क का उपयोग करके बनाना था। हालाँकि, कुछ कंपनियों ने द्विध्रुवी संधि ट्रांजिस्टर के मॉस चिप की तुलना में तेज़ होने के कारण 1970 के दशक तक द्विध्रुवी ट्रांजिस्टर-ट्रांजिस्टर तर्क (टीटीएल) चिपों से प्रोसेसर का निर्माण जारी रखा, जबकि डेटाप्वाइंट जैसी कुछ कंपनियों ने 1980 के दशक चिप टीटीएल चिपों से प्रोसेसर का निर्माण जारी रखा।[43] मॉस आईसी 1960 के दशक में धीमे थे और प्रारंभ में केवल उन अनुप्रयोगों में उपयोगी माने जाते थे जिन्हें कम शक्ति की आवश्यकता होती थी।[44][45] वर्ष 1968 में फेयरचाइल्ड अर्धचालक में फेडरिको फागिन द्वारा सिलिकॉन-गेट मॉस तकनीक के विकास के बाद, 1970 के दशक के प्रारंभ में मॉस आईसी ने बड़े पैमाने पर द्विध्रुवी टीटीएल को मानक चिप प्रौद्योगिकी के रूप में प्रतिस्थापित कर दिया।[46]
माइक्रोइलेक्ट्रॉनिक तकनीक की उन्नति के साथ-साथ आईसी पर अधिक संख्या में ट्रांजिस्टर रखे गये, जिससे एक पूर्ण सीपीयू के लिए आवश्यक एकल आईसी की संख्या कम हो गई। एमएसआई (MSI) और एलएसआई (LSI) एकीकृत परिपथ ने ट्रांजिस्टर की संख्या बढ़ाकर सैकड़ों और फिर हजारों कर दी। एक संपूर्ण सीपीयू के निर्माण के लिए आवश्यक आईसी की संख्या को वर्ष 1968 तक घटाकर आठ अलग-अलग प्रकार की 24 आईसी कर दिया गया, जिसमें प्रत्येक आईसी में लगभग 1000 मॉस्फेट होते थे।[47] पीडीपी-11 (PDP-11) के पहले एलएसआई (LSI) कार्यान्वयन में अपने एसएसआई (SSI) और एमएसआई (MSI) पूर्ववर्तियों के विपरीत केवल चार एलएसआई (LSI) एकीकृत परिपथों से बना एक सीपीयू सम्मिलित था।[48]
माइक्रोप्रोसेसर
माइक्रोप्रोसेसरों को पहली बार प्रस्तुत किये जाने के कारण उन्होंने अन्य सभी सेन्ट्रल प्रोसेसिंग यूनिट (CPU) कार्यान्वयन विधियों को लगभग पूरी तरह से पीछे छोड़ दिया है। व्यावसायिक रूप से उपलब्ध पहला माइक्रोप्रोसेसर, इंटेल 4004 वर्ष 1971 में बनाया गया, था, और इंटेल 8080, वर्ष 1974 में बनाया गया पहला व्यापक रूप से इस्तेमाल किया जाने वाला माइक्रोप्रोसेसर था। उस समय के मेनफ्रेम और मिनीकंप्यूटर निर्माताओं ने अपने पुराने कंप्यूटर वास्तुकला को उन्नत करने के लिए स्वामित्व आईसी विकास कार्यक्रम शुरू किए, और अंततः निर्मित निर्देश सेट संगत माइक्रोप्रोसेसर अपने पुराने हार्डवेयर और सॉफ़्टवेयर के साथ पिछड़े-संगत थे। सर्वव्यापी व्यक्तिगत कंप्यूटर के आगमन और अंतिम सफलता के साथ संयुक्त, सीपीयू शब्द अब लगभग विशेष रूप से[lower-alpha 1] माइक्रोप्रोसेसरों पर प्रयुक्त होता है। एक ही प्रोसेसिंग चिप में कई सीपीयू (डिनोटेड कोर) को जोड़ा जा सकता है।[49]
सीपीयू की पिछली पीढ़ियों को एक या अधिक परिपथ बोर्डों पर असतत घटकों और कई छोटे एकीकृत परिपथों के रूप में प्रयुक्त किया गया था।[50] दूसरी ओर, माइक्रोप्रोसेसर, बहुत कम संख्या में (सामान्यतः एक) आईसी पर निर्मित सीपीयू होते हैं।[51] एक ही डाई पर लागू होने के परिणामस्वरूप समग्र छोटे सीपीयू आकार, कम गेट पराश्रयी धारिता जैसे भौतिक कारकों के कारण तेजी से स्विचिंग समय के लिय उत्तरदायी होते हैं।[52][53] इसने समकालिक माइक्रोप्रोसेसरों को दसियों मेगाहर्ट्ज़ से लेकर कई गीगाहर्ट्ज़ तक की घड़ी दर रखने की अनुमति दी है। इसके अतिरिक्त, एक आईसी पर अत्यधिक छोटे ट्रांजिस्टर बनाने की क्षमता ने एकल सीपीयू में ट्रांजिस्टर की जटिलता और संख्या को कई गुना बढ़ा दिया है। व्यापक रूप से देखी गई इस प्रवृत्ति का वर्णन मूर के नियम द्वारा किया गया है, जो वर्ष 2016 तक सीपीयू (और अन्य आईसी) जटिलता के विकास का काफी सटीक भविष्यवक्ता साबित हुआ था।[54][55]
जबकि वर्ष 1950 के बाद से सीपीयू की जटिलता, आकार, निर्माण और सामान्य रूप में काफी परिवर्तन आया है,[56] लेकिन मूल संरचना और कार्य बिल्कुल भी नहीं बदले हैं। आज लगभग सभी सामान्य सीपीयू को वॉन न्यूमैन संगृहीत-प्रोग्राम मशीन के रूप में बहुत सटीक रूप से वर्णित किया जा सकता है।[57][lower-alpha 2] चूंकि मूर के नियम के अब लागू न होने के कारण एकीकृत परिपथ ट्रांजिस्टर प्रौद्योगिकी की सीमाओं के बारे में चिंताएँ उत्पन्न हुई हैं। इलेक्ट्रॉनिक गेटों के अत्यधिक लघुकरण के कारण विद्युत्-स्थानान्तरण और सबथ्रेशोल्ड रिसाव जैसी घटनाओं के प्रभाव बहुत अधिक महत्वपूर्ण हो गए हैं।[59][60] ये नई चिंताएं कई कारकों में से हैं, जिसके कारण शोधकर्ताओं ने क्वांटम कंप्यूटर जैसे कंप्यूटिंग के नए तरीकों की जांच के साथ ही समानांतरवाद और अन्य तरीकों के उपयोग का विस्तार किया, जो चिरसम्मत वॉन न्यूमैन मॉडल की उपयोगिता को बढ़ाते हैं।
संचालन
अधिकांश सीपीयू का मौलिक संचालन संग्रहीत निर्देशों के अनुक्रम को निष्पादित करना है, जिसे प्रोग्राम कहा जाता है, चाहे वे किसी भी भौतिक रूप में हों। निष्पादित किए जाने वाले निर्देश किसी प्रकार की कंप्यूटर मेमोरी में रखे जाते हैं। लगभग सभी सीपीयू अपने संचालन में प्राप्त करना (फेच), डिकोड करना (डीकोड) और निष्पादित करना (एग्ज़ीक्यूट) आदि चरणों का पालन करते हैं, जिन्हें सामूहिक रूप से निर्देश चक्र के रूप में जाना जाता है।
एक निर्देश के निष्पादन के बाद, पूरी प्रक्रिया दोहराई जाती है, साथ ही अगले निर्देश चक्र के साथ सामान्य रूप से प्रोग्राम काउंटर में बढ़े हुए मूल्य के कारण अगला-इन-सीक्वेंस निर्देश प्राप्त होता है। एक जम्प निर्देश निष्पादित किये जाने पर प्रोग्राम काउंटर को उस निर्देश के पते को शामिल करने के लिए संशोधित करना पड़ता है, जिस पर वह जम्प कर गया था और प्रोग्राम निष्पादन सामान्य रूप से जारी रहता है। अधिक जटिल सीपीयू में, एक साथ कई निर्देश प्राप्त किए जा सकते हैं, डिकोड किए जा सकते हैं और निष्पादित भी किए जा सकते हैं। यह भाग सामान्यतः "क्लासिक आरआईएससी पाइपलाइन" के रूप में जाने जाने वाले विषय का वर्णन करता है, जो कई इलेक्ट्रॉनिक उपकरणों (प्रायः माइक्रोकंट्रोलर) में उपयोग किए जाने वाले साधारण सीपीयू में काफी प्रचलित है। यह काफी हद तक सीपीयू कैश की महत्वपूर्ण भूमिका और इस प्रकार पाइपलाइन के पहुँच स्तर की उपेक्षा करता है।
कुछ निर्देश सीधे परिणाम डेटा उत्पन्न करने के स्थान पर प्रोग्राम काउंटर में हेरफेर करते हैं; इस तरह के निर्देशों को सामान्यतः "जम्प" कहा जाता है और चक्र, सशर्त कार्यक्रम निष्पादन (सशर्त जम्प के उपयोग के माध्यम से), और कार्यों के अस्तित्व जैसे कार्यक्रम-व्यवहार की सुविधा प्रदान करते हैं।[lower-alpha 3] कुछ प्रोसेसरों में, कुछ अन्य निर्देश "ध्वज" रजिस्टर में बिट्स की स्थिति को बदलते हैं। इन ध्वजों का उपयोग किसी कार्यक्रम के व्यवहार को प्रभावित करने के लिए किया जा सकता है, क्योंकि वे अक्सर विभिन्न कार्यों के परिणाम का संकेत देते हैं। उदाहरण के लिए, ऐसे प्रोसेसर में एक "तुलना" निर्देश दो मानों का मूल्यांकन करता है और फ़्लैग रजिस्टर में बिट्स को यह इंगित करने के लिए निर्धारित या साफ़ करता है, कि कौन सा मान बड़ा है या क्या वे बराबर हैं; इनमें में से एक ध्वज का उपयोग प्रोग्राम प्रवाह को निर्धारित करने के लिए विलंबित जम्प निर्देश द्वारा किया जा सकता है।
प्राप्त करना
प्रोग्राम मेमोरी से एक संख्या या संख्याओं के अनुक्रम द्वारा प्रदर्शित एक निर्देश को पुनः प्राप्त करना प्राप्त करने की प्रक्रिया में सम्मिलित है। प्रोग्राम मेमोरी में निर्देश का स्थान (पता), प्रोग्राम काउंटर (पीसी (PC); जिसे इंटेल x86 माइक्रोप्रोसेसरों में "इंस्ट्रक्शन प्वाइंटर" कहा जाता है) द्वारा निर्धारित किया जाता है, जो एक संख्या को संगृहीत करता है जो प्राप्त किए जाने वाले अगले निर्देश के पते की पहचान करता है। पीसी (PC) को एक निर्देश प्राप्त होने के बाद निर्देश की लंबाई तक बढ़ाया जाता है, जिससे इसमें अनुक्रम में अगले निर्देश का पता सम्मिलित हो।[lower-alpha 4] प्रायः प्राप्त किए जाने वाले निर्देश को अपेक्षाकृत धीमी मेमोरी से पुनर्प्राप्त किया जाना चाहिए, जिससे सीपीयू वापसी के निर्देश की प्रतीक्षा करते समय रुक जाता है। कैश और पाइपलाइन निर्माणकला द्वारा आधुनिक प्रोसेसर में इस मुद्दे को काफी हद तक संबोधित किया गया है।(नीचे देखें)
डिकोड करना
सीपीयू द्वारा मेमोरी से प्राप्त निर्देश सीपीयू के कार्य का निर्धारण करता है। डिकोड चरण में, निर्देश डिकोडर के रूप में ज्ञात बाइनरी डिकोडर परिपथ तंत्र द्वारा निष्पादित निर्देश को संकेत में परिवर्तित किया जाता है जो सीपीयू के अन्य भागों को नियंत्रित करता है।
जिस तरह से निर्देश की व्याख्या की जाती है वह सीपीयू के निर्देश सेट निर्माणकला द्वारा परिभाषित किया जाता है।[lower-alpha 5] प्रायः, निर्देश के भीतर ओपकोड के रूप में जाना जाने वाला बिट्स का एक समूह (अर्थात, एक "फ़ील्ड"), यह इंगित करता है कि कौन सा संचालन किया जाना है, जबकि संकार्य जैसे शेष फ़ील्ड सामान्यतः संचालन के लिए आवश्यक पूरक जानकारी प्रदान करते हैं। उन संकार्य को एक स्थिर मान (तत्काल मान) के रूप में निर्दिष्ट किया जा सकता है, या एक प्रोसेसर रजिस्टर या मेमोरी एड्रेस जैसे किसी मान के स्थान के रूप में हो सकता है, जैसा कि कुछ एड्रेसिंग मोड द्वारा निर्धारित किया जाता है।
कुछ सीपीयू संरचनाओं में निर्देश डिकोडर को सख्त-तारित, अपरिवर्तनीय द्विआधारी डिकोडर परिपथ के रूप में प्रयुक्त किया जाता है। जबकि अन्य सीपीयू संरचनाओं में, एक माइक्रोप्रोग्राम का उपयोग सीपीयू विन्यास संकेतों के समूह में निर्देशों का अनुवाद करने के लिए किया जाता है जो कि कई घड़ी-स्पंद पर क्रमिक रूप से प्रयुक्त होते हैं। कुछ मामलों में माइक्रोप्रोग्राम को संगृहीत करने वाली मेमोरी फिर से लिखने योग्य होती है, जिससे सीपीयू द्वारा निर्देशों को डिकोड करने के तरीके को बदलना संभव हो जाता है।।
निष्पादित करना
प्राप्त करने और डीकोड चरणों के बाद, निष्पादन चरण निष्पादित किया जाता है। इसमें सीपीयू निर्माणकला के आधार पर एकल क्रिया या क्रियाओं का अनुक्रम शामिल हो सकता है। नियंत्रण संकेत, प्रत्येक क्रिया के दौरान सीपीयू के विभिन्न भागों को विद्युत रूप से सक्षम या अक्षम करते हैं, जिससे वे वांछित संचालन के सभी या एक भाग को निष्पादित कर सकें। तब सामान्यतः घड़ी स्पंद के जवाब में क्रिया पूरी हो जाती है। त्वरित पहुंच के लिए बाद के निर्देशों द्वारा परिणाम प्रायः आंतरिक सीपीयू रजिस्टर में लिखे जाते हैं। जबकि अन्य मामलों में परिणाम धीमे, लेकिन कम खर्चीले और उच्च क्षमता वाली मुख्य मेमोरी में लिखे जा सकते हैं।
उदाहरण के लिए, यदि एक अतिरिक्त निर्देश निष्पादित किया जाना है, तो ऑपरेंड (संख्याओं को संक्षेप में) वाले रजिस्टर सक्रिय होते हैं, जैसे कि अंकगणितीय तर्क इकाई (एएलयू) के हिस्से जो अतिरिक्त प्रदर्शन करते हैं। जब घड़ी में स्पंदन होता है, तो संकार्य स्त्रोत रजिस्टर से एएलयू में प्रवाहित होता है, और योग इसके आउटपुट पर दिखाई देता है। अनुक्रम घड़ी स्पंदनों पर, अन्य घटकों को आउटपुट (संचालन का योग) को संग्रहण (जैसे, एक रजिस्टर या मेमोरी) में स्थानांतरित करने के लिए सक्षम (और अक्षम) किया जाता है। यदि परिणामी योग बहुत बड़ा है (अर्थात, यह एएलयू के आउटपुट शब्द आकार से बड़ा है), तो एक अंकगणितीय अतिप्रवाह ध्वज सेट किया जाता है, जो अगले संचालन को प्रभावित करता है।
संरचना और कार्यान्वयन
सीपीयू के परिपथ तंत्र में सख्त तारित, बुनियादी संचालन का एक समूह होता है जिसे वह संचालित कर सकता है, जिसे निर्देश समूह कहा जाता है। इस तरह के संचालन में दो संख्याओं को जोड़ना या घटाना, दो संख्याओं की तुलना करना, या एक प्रोग्राम के किसी भिन्न भाग में जम्पिंग जैसे प्रोग्राम सम्मिलित हो सकते हैं। प्रत्येक निर्देश को बिटों के एक अद्वितीय संयोजन द्वारा दर्शाया जाता है, जिसे मशीन की भाषा में ओपकोड के रूप में जाना जाता है। एक निर्देश को संसाधित करते समय, सीपीयू, ओपकोड (एक द्विआधारी डिकोडर के माध्यम से) को नियंत्रण संकेतों में डिकोड करता है, जो सीपीयू के व्यवहार को व्यवस्थित करता है। एक पूर्ण मशीन भाषा निर्देश में एक ओपकोड और कई मामलों में, अतिरिक्त बिट होते हैं, जो संचालन के लिए तर्क निर्दिष्ट करते हैं (उदाहरण के लिए, एक अतिरिक्त संचालन के मामले में संख्याओं का योग किया जाना है)। जटिलता के पैमाने पर जाने पर, मशीन भाषा, प्रोग्राम मशीन भाषा निर्देशों का एक संग्रह होता है जिसे सीपीयू निष्पादित करता है।
प्रत्येक निर्देश के लिए वास्तविक गणित का संचालन सीपीयू के प्रोसेसर के भीतर एक संयोजन तर्क परिपथ द्वारा किया जाता है जिसे अंकगणित-तर्क इकाई या एएलयू (ALU) के रूप में जाना जाता है। सामान्य तौर पर, एक निर्देश को मेमोरी से प्राप्त करके सीपीयू एक संचालन के लिए अपने एएलयू का उपयोग करके परिणाम को मेमोरी में संग्रहीत करके निष्पादित करता है। पूर्णांक गणित और तर्क संचालन के निर्देशों के अतिरिक्त मेमोरी से डेटा लोड करने और इसे वापस संग्रहीत करने के लिए, शाखा संचालन और सीपीयू की फ्लोटिंग-प्वाइंट यूनिट (एफपीयू) द्वारा निष्पादित फ्लोटिंग-प्वाइंट संख्याओं पर गणितीय संचालन जैसे कई अन्य मशीन निर्देश मौजूद हैं।[61]
नियंत्रण इकाई
नियंत्रण इकाई, सीपीयू का एक घटक होता है जो प्रोसेसर के संचालन को निर्देशित करता है। यह कंप्यूटर की मेमोरी, अंकगणित और तर्क इकाई और इनपुट और आउटपुट उपकरण को प्रोसेसर को भेजे गए निर्देशों का उत्तर देने की विधि के बारे में बताता है।
यह समय और नियंत्रण संकेत प्रदान करके अन्य इकाइयों के संचालन को निर्देशित करता है। अधिकांश कंप्यूटर संसाधनों का प्रबंधन सीयू द्वारा किया जाता है। यह सीपीयू और अन्य उपकरणों के बीच डेटा के प्रवाह को निर्देशित करता है। जॉन वॉन न्यूमैन ने नियंत्रण इकाई को वॉन न्यूमैन वास्तुकला के हिस्से के रूप में सम्मिलित किया। नियंत्रण इकाई, आधुनिक कंप्यूटर संरचनाओं में सामान्यतः सीपीयू का एक आंतरिक भाग होता है, इसके प्रारंभ होने के बाद से इसकी समग्र भूमिका और संचालन अपरिवर्तित रहता है।[62]
अंकगणितीय तर्क इकाई
अंकगणितीय तर्क इकाई प्रोसेसर के भीतर एक अंकीय परिपथ होता है, जो पूर्णांक अंकगणित और बिटवार तर्क संचालन निष्पादित करता है। एएलयू के इनपुट, वह डेटा शब्द होते हैं जिन्हें संचालित किया जाना होता है, इन्हें संकार्य कहा जाता है, पिछले संचालन से स्थिति की सूचना और नियंत्रण इकाई से एक कोड यह दर्शाता है कि कौन सा संचालन करना है। निष्पादित किए जा रहे निर्देश के आधार पर संकार्य आंतरिक सीपीयू रजिस्टरों, बाहरी मेमोरी, या एएलयू द्वारा उत्पन्न स्थिरांक से हो सकते हैं।
जब सभी इनपुट संकेत एएलयू परिपथ तंत्र के माध्यम से व्यवस्थित और प्रचारित हो जाते हैं, तो प्रदर्शित किए गए संचालन का परिणाम एएलयू के आउटपुट पर दिखाई देता है। एक डेटा शब्द, जिसे एक रजिस्टर या मेमोरी में संग्रहीत किया जा सकता है, और स्थिति की जानकारी, जो सामान्यतः इस उद्देश्य के लिए आरक्षित एक विशेष आंतरिक सीपीयू रजिस्टर में संग्रहीत होती है; परिणाम में ये दोनों घटक उपस्थित होते हैं।
पता पीढ़ी इकाई
पता जनरेशन यूनिट (एजीयू), जिसे कभी -कभी पता कम्प्यूटेशन यूनिट (एसीयू) भी कहा जाता है,[63] सीपीयू के अंदर एक निष्पादन इकाई होती है जो सीपीयू द्वारा मुख्य मेमोरी तक पहुंचने के लिए उपयोग किए गए पतों की गणना करती है। अन्य शेष सीपीयू के समानांतर संचालित अलग-अलग परिपथ तंत्र द्वारा नियंत्रित पते की गणना करके विभिन्न मशीन निर्देशों को निष्पादित करने के लिए आवश्यक सीपीयू चक्रों की संख्या को कम किया जा सकता है, जिससे प्रदर्शन में सुधार होता है।
विभिन्न संचालनों के दौरान सीपीयू को मेमोरी से डेटा लाने के लिए आवश्यक मेमोरी पते की गणना की आवश्यकता होती है; उदाहरण के लिए, सीपीयू द्वारा वास्तविक मेमोरी स्थानों से डेटा प्राप्त करने से पहले सरणी तत्वों की इन-मेमोरी स्थिति की गणना की जानी चाहिए। उन पता-पीढ़ी की गणनाओं में जोड़, घटाव, मोडुलो संचालन, या बिट बदलाव जैसे अलग-अलग पूर्णांक अंकगणितीय संचालन सम्मिलित होते हैं। प्रायः, एक मेमोरी पते की गणना में एक से अधिक सामान्य-उद्देश्य वाले मशीन निर्देश सम्मिलित होते हैं, जिनकी शीघ्रता से डिकोडिंग और निष्पादन आवश्यक नहीं है। एक एजीयू को एक सीपीयू संरचना में सम्मिलित करके विभिन्न एड्रेस-जनरेशन गणनाओं को एजीयू का उपयोग करने वाले विशेष निर्देशों को प्रस्तुत करने के साथ बाकी सीपीयू से लोड किया जा सकता है, और प्रायः एक एकल सीपीयू चक्र में जल्दी से निष्पादित किया जा सकता है।
एजीयू की क्षमताएँ एक विशेष सीपीयू और उसकी वास्तुकला पर निर्भर करती हैं। इस प्रकार, कुछ एजीयू अधिक पता-गणना संचालन को प्रयुक्त करते हैं और उजागर करते हैं, जबकि कुछ में अधिक उन्नत विशेष निर्देश भी सम्मिलित होते हैं जो एक समय में कई संकार्य पर काम कर सकते हैं। कुछ सीपीयू वास्तुकला में कई एजीयू सम्मिलित होते हैं, इसलिए एक से अधिक एड्रेस-गणना संचालन को एक साथ निष्पादित किया जा सकता है, जो उन्नत सीपीयू संरचनाओं की उत्तम-स्तर प्रकृति के कारण आगे के प्रदर्शन में सुधार लाता है। उदाहरण के लिए, इंटेल अपने सैंडी ब्रिज और हैसवेल सूक्ष्म-वास्तुकला में कई एजीयू को सम्मिलित करता है, जो समानांतर में कई मेमोरी-पहुँच निर्देशों को निष्पादित करने की अनुमति देकर सीपीयू मेमोरी उपतंत्र की बैंडविड्थ को बढ़ाता है।
मेमोरी प्रबंधन इकाई
कई स्मार्टफोन और डेस्कटॉप, लैपटॉप, सर्वर कंप्यूटर जैसे माइक्रोप्रोसेसरों में एक मेमोरी प्रबंधन इकाई होती है, जो तार्किक पतों को मेमोरी सुरक्षा और पृष्ठता क्षमता प्रदान करते हुए भौतिक रैम पतों में अनुवाद करती है, जो आभासी मेमोरी के लिए उपयोगी है। विशेष रूप से माइक्रोकंट्रोलर जैसे सरल प्रोसेसर में सामान्यतः एमएमयू (MMU) सम्मिलित नहीं होता है।
कैश
सीपीयू कैश[64] एक हार्डवेयर कैश है, जिसका उपयोग मुख्य मेमोरी से डेटा तक पहुंचने के लिए कंप्यूटर के सीपीयू द्वारा औसत लागत (समय या ऊर्जा) को कम करने के लिए किया जाता है। कैश, प्रोसेसर कोर के करीब एक छोटी और तेज मेमोरी होती है, जो प्रायः उपयोग किए जाने वाले मुख्य मेमोरी स्थानों से डेटा की प्रतियाँ संग्रहीत करती है। अधिकांश सीपीयू में अलग-अलग निर्देश और डेटा कैश जैसे स्वतंत्र कैश होते हैं, जहाँ डेटा कैश को सामान्यतः अधिक कैश स्तरों (L1, L2, L3, L4 आदि) के पदानुक्रम के रूप में व्यवस्थित किया जाता है।।
कुछ विशेष अपवादों के साथ[65] सभी आधुनिक (तेज़) सीपीयू में सीपीयू कैश के कई स्तर होते हैं। कैश का उपयोग करने वाले पहले सीपीयू में कैश का केवल एक स्तर होता था; इसे बाद के स्तर 1 कैश के विपरीत, एल1डी (L1d) (डेटा के लिए) और एल1आई (L1i) (निर्देशों के लिए) में विभाजित नहीं किया गया था। कैश वाले लगभग सभी मौजूदा सीपीयू में विभाजित L1 कैश होता है। उनके पास L2 कैश और बड़े प्रोसेसरों के लिए L3 कैश भी होते हैं। L2 कैश सामान्यतः विभाजित नहीं होता है और पहले से ही विभाजित L1 कैश के लिए एक सामान्य भंडार के रूप में कार्य करता है। बहु-कोर प्रोसेसर के प्रत्येक कोर में एक समर्पित L2 कैश होता है और सामान्यतः कोर के बीच साझा नहीं किया जाता है। L3 और उच्च-स्तरीय कैश को कोर के बीच साझा किया जाता है और ये विभाजित नहीं होते हैं। एक L4 कैश वर्तमान में असामान्य है, जो सामान्यतः स्थैतिक रैंडम-एक्सेस मेमोरी (SRAM) या एक अलग डाई या चिप के स्थान पर गतिशील रैंडम-एक्सेस मेमोरी (DRAM) पर स्थित होता है। ऐतिहासिक रूप से L1 के साथ भी ऐसा ही था, जबकि बड़ी चिपों ने अंतिम स्तर के संभावित अपवाद के साथ सामान्यतः सभी कैश स्तरों के साथ इसे एकीकरण की अनुमति दी है। कैश का प्रत्येक अतिरिक्त स्तर बड़ा होता है और इसे अलग तरह से अनुकूलित किया जाता है।
ऊपर वर्णित सबसे महत्वपूर्ण कैश के "कैश आकार" में नहीं गिने जाने वाले कैश के अतिरिक्त अनुवाद लुकसाइड बफर (TLB) जैसे अन्य प्रकार के कैश मौजूद हैं, जो कि अधिकांश सीपीयू के मेमोरी प्रबंधन इकाई (MMU) का हिस्सा होते हैं।
कैश आमतौर पर दो 2, 8, 16 आदि KiB या MiB की घातों के आकार में होते हैं। हालांकि आईबीएम ज़ेड13 में 96 KiB L1 निर्देश कैश है।।[66]
घड़ी दर (Clock rate)
अधिकांश सीपीयू समकक्ष परिपथ होते हैं, अर्थात् वे अपने अनुक्रमिक संचालन को गति देने के लिए एक घड़ी संकेत का उपयोग करता है। घड़ी संकेत एक बाह्य दोलक परिपथ द्वारा निर्मित होता है, जो एक आवधिक वर्ग तरंग के रूप में प्रत्येक सेकंड में लगातार संख्या में स्पंद उत्पन्न करता है। घडी स्पंद की आवृत्ति सीपीयू द्वारा निर्देशों के निष्पादन की दर का निर्धारण करती है और परिणामस्वरूप, घड़ी जितनी तेज होगी, सीपीयू प्रत्येक सेकंड में उतने ही अधिक निर्देश निष्पादित करेगा।
घड़ी की आवर्तकाल सीपीयू के माध्यम से सभी संकेतों के प्रचार (स्थानांतरित) के लिए, सीपीयू के उचित संचालन को सुनिश्चित करने के लिए आवश्यक अधिकतम समय से अधिक होता है। घड़ी के आवर्तकाल को सबसे निकृष्टम-मामले के प्रसार विलंब से ऊपर एक मान पर निर्धारित करने में, पूरे सीपीयू की संरचना करना और इसके बढ़ते और गिरने वाले घड़ी संकेतों के "किनारों" के आसपास डेटा ले जाने के तरीके की संरचना संभव है। यह सीपीयू को एक संरचना परिप्रेक्ष्य और एक घटक-गणना परिप्रेक्ष्य दोनों में महत्वपूर्ण रूप से सरल बनाने का लाभ है। हालाँकि, इसका नुकसान भी है कि पूरा सीपीयू, इसके कुछ हिस्से बहुत तेज होने के बावजूद भी अपने सबसे धीमे तत्वों पर प्रतीक्षा करता है। सीपीयू समांतरता बढ़ाने के विभिन्न तरीकों से काफी हद तक इस सीमा की क्षतिपूर्ति की गई है। (नीचे देखें)
हालाँकि, वास्तु सुधार अकेले विश्व स्तर पर समकक्ष सीपीयू की सभी कमियों को दूर नहीं करते हैं। उदाहरण के लिए, एक घड़ी संकेत किसी अन्य विद्युत संकेत की विलंबता के अधीन है। तेजी से जटिल सीपीयू में उच्च घड़ी दर पूरे यूनिट में घड़ी के संकेत को चरण (सिंक्रोनाइज़) में रखना अधिक कठिन बना देती है। इसमें कई आधुनिक सीपीयू को एक ही संकेत में देरी से बचने के लिए कई समान घड़ी संकेतों की आवश्यकता होती है, जिससे सीपीयू नष्ट हो जाता है। एक अन्य प्रमुख मुद्दा घड़ी की दरें नाटकीय रूप से बढ़ने के साथ सीपीयू द्वारा नष्ट की जाने वाली ऊष्मा की मात्रा है। लगातार बदलती घड़ी कई घटकों को परस्पर बदलने करने का कारण बनती है चाहे वे उस समय उपयोग किए जा रहे हों या नहीं। सामान्यतः एक घटक जो स्विच कर रहा है, एक स्थिर अवस्था में एक तत्व की तुलना में अधिक ऊर्जा का उपयोग करता है। इसलिए, जैसे-जैसे घड़ी की दर बढ़ती है, वैसे-वैसे ऊर्जा की खपत भी होती है, जिससे सीपीयू को सीपीयू शीतलन समाधान के रूप में अधिक ऊष्मा अपव्यय की आवश्यकता होती है।
अनावश्यक घटकों के स्विचिंग से निपटने की विधि को घड़ी गेटिंग कहा जाता है, जिसमें घड़ी के संकेत द्वारा अनावश्यक घटकों को प्रभावी रूप से अक्षम करना सम्मिलित है। हालांकि, इसे प्रायः प्रयुक्त करना मुश्किल माना जाता है और इसलिए बहुत कम-शक्ति वाली संरचनाओं के बाहर सामान्य उपयोग नहीं दिखता है। एक उल्लेखनीय हाल ही की, व्यापक घड़ी गेटिंग का उपयोग करने वाली सीपीयू संरचना आईबीएम पॉवरपीसी-आधारित ज़ेनान है, जिसका उपयोग एक्सबॉक्स 360 में किया जाता है; इस प्रकार, एक्सबॉक्स 360 की शक्ति आवश्यकताएँ बहुत कम हो जाती हैं।[67]
घड़ी-हीन सीपीयू
घड़ी संकेत को पूरी तरह से हटाना, वैश्विक घड़ी संकेत के साथ कुछ समस्याओं का समाधान करने की एक अन्य विधि है। संरचना प्रक्रिया, वैश्विक घडी संकेत को हटाते समय कई मायनों में काफी जटिल हो जाती है, अतुल्यकालिक (या घड़ीहीन) संरचना समान समकालिक संरचनाओं की तुलना में बिजली की खपत और गर्मी अपव्यय में उल्लेखनीय लाभ उठाते हैं। संपूर्ण अतुल्यकालिक सीपीयू को कुछ हद तक असामान्य होते हुए भी वैश्विक घड़ी संकेत का उपयोग किए बिना बनाया गया है। इसके दो उल्लेखनीय उदाहरण एआरएम (ARM) अनुरूप एएमयूएलईटी (AMULET) और एमआईपीएस आर3000 अनुरूप मिनीएमआईपीएस हैं।[68]
घडी संकेत को पूरी तरह से हटाने के स्थान पर, कुछ सीपीयू संरचनाएँ उपकरण के कुछ हिस्सों को अतुल्यकालिक होने की अनुमति देते हैं, जैसे कि कुछ अंकगणितीय प्रदर्शन लाभ प्राप्त करने के लिए उत्तम-स्तर पाइपलाइनिंग के संयोजन के साथ अतुल्यकालिक एएलयू का उपयोग करना। हालांकि यह पूरी तरह से स्पष्ट नहीं है कि पूरी तरह से अतुल्यकालिक संरचनाएँ अपने समकक्ष प्रतिपक्षों की तुलना में तुलनीय या बेहतर स्तर पर प्रदर्शन कर सकते हैं, यह स्पष्ट है कि वे सरल गणित कार्यों में निम्नतम उत्कृष्ट प्रदर्शन करते हैं। उनकी उत्कृष्ट बिजली खपत और गर्मी अपव्यय गुणों के साथ यह, उन्हें अन्तर्निहित कंप्यूटरों के लिए अधिक उपयुक्त बनाता है।
विभव नियामक मॉड्यूल
कई आधुनिक सीपीयू में एक डाई-एकीकृत सामर्थ्य प्रबंधन मॉड्यूल होता है, जो सीपीयू परिपथ तंत्र की माँग के अनुसार विभव आपूर्ति को नियंत्रित करता है, जिससे यह प्रदर्शन और बिजली की खपत के बीच संतुलन स्थापित रखता है।
पूर्णांक परिसर
प्रत्येक सीपीयू एक विशिष्ट तरीके से संख्यात्मक मानों का प्रदर्शन करता है। उदाहरण के लिए, कुछ प्रारंभिक डिजिटल कंप्यूटरों ने संख्याओं को परिचित दशमलव (आधार 10) अंक प्रणाली मान के रूप में दर्शाया है, और अन्य ने अधिक असामान्य अभ्यावेदन जैसे कि टर्नरी (आधार तीन) को नियोजित किया है। लगभग सभी आधुनिक सीपीयू द्विआधारी रूप में संख्याओं का प्रदर्शन करते हैं, जिसमें प्रत्येक अंक को कुछ दो-मूल्यवान भौतिक मात्रा जैसे "उच्च" या "निम्न" विभव द्वारा दर्शाया जाता है।[lower-alpha 6]
संख्यात्मक प्रदर्शन से संबंधित पूर्णांक संख्याओं का आकार और सटीकता है जो एक सीपीयू प्रतिनिधित्व कर सकता है। एक द्विआधारी सीपीयू (Binary CPU) के सम्बन्ध में, यह बिट की संख्या (एक द्विआधारी एन्कोडेड पूर्णांक के महत्वपूर्ण अंक) द्वारा मापा जाता है, जिसे सीपीयू एक संचालन में संसाधित कर सकता है, जिसे सामान्यतः शब्द आकार, बिट चौड़ाई, डेटा पथ चौड़ाई, पूर्णांक परिशुद्धता या पूर्णांक आकार कहा जाता है। , । एक सीपीयू का पूर्णांक आकार पूर्णांक मानों की सीमा को निर्धारित करता है जो इसे सीधे संचालित कर सकता है।[lower-alpha 7] उदाहरण के लिए, एक 8-बिट सीपीयू आठ बिट द्वारा दर्शाए गए पूर्णांकों में सीधे फेरबदल कर सकता है, जिसमें 256 (28) असतत पूर्णांक मान होते हैं।
पूर्णांक श्रेणी उन मेमोरी स्थानों की संख्या (पता, एक विशिष्ट मेमोरी स्थान का प्रतिनिधित्व करने वाला एक पूर्णांक मान है) को भी प्रभावित कर सकती है जिन्हें सीपीयू सीधे संबोधित कर सकता है । उदाहरण के लिए, यदि एक द्विआधारी सीपीयू मेमोरी के पते का प्रतिनिधित्व करने के लिए 32 बिट का उपयोग करता है तो यह सीधे 232 मेमोरी स्थान को संबोधित कर सकता है। इस सीमा को नज़रंदाज़ करने और कई अन्य कारणों से, कुछ सीपीयू, बैंक स्विचिंग जैसी क्रियाविधि का उपयोग करते हैं जो अतिरिक्त मेमोरी को संबोधित करने की अनुमति देते हैं।
बड़े शब्द आकार वाले सीपीयू को अधिक परिपथ तंत्रों की आवश्यकता होती है और इसके परिणामस्वरूप ये शारीरिक रूप से बड़े, अधिक लागत वाले और अधिक बिजली की खपत वाले होते हैं, और इसलिए अधिक ऊष्मा उत्पन्न होती है। परिणामस्वरूप, बहुत बड़े शब्द आकार (जैसे 16, 32, 64, यहां तक कि 128-बिट) वाले सीपीयू उपलब्ध होने के बावजूद, छोटे 4- या 8-बिट माइक्रोकंट्रोलर सामान्यतः आधुनिक अनुप्रयोगों में उपयोग किए जाते हैं। हालांकि, उच्च प्रदर्शन की आवश्यकता होने पर बड़े शब्द आकार (बड़े डेटा परिसर और पता स्थान) के लाभ, इससे होने वाली हानि से अधिक हो सकते हैं। आकार और लागत को कम करने के लिए एक सीपीयू में आंतरिक डेटा पथ, शब्द आकार से छोटे हो सकते हैं। उदाहरण के लिए, भले ही आईबीएम सिस्टम/360 निर्देश सेट, एक 32-बिट निर्देश सेट था, सिस्टम/360 मॉडल 30 और मॉडल 40 में अंकगणितीय तार्किक इकाई में 8-बिट डेटा पथ थे, ताकि 32-बिट जोड़ने के लिए चार चक्रों (संकार्य के प्रत्येक 8 बिट के लिए एक चक्र) की आवश्यकता हो, और भले ही मोटोरोला 68000 श्रृंखला निर्देश सेट,एक 32-बिट निर्देश सेट था, और मोटोरोला 68000 और मोटोरोला 68010 में अंकगणितीय तार्किक इकाई में 16-बिट डेटा पथ थे, ताकि एक 32-बिट जोड़ने के लिए दो चक्रों की आवश्यकता हो।
दोनों, निम्न और उच्च बिट लंबाई द्वारा प्रदान किए गए कुछ लाभों को प्राप्त करने के लिए, कई निर्देश सेटों में पूर्णांक और फ़्लोटिंग-प्वाइंट डेटा के लिए अलग-अलग बिट चौड़ाई होती है, जिससे सीपीयू उस निर्देश को लागू करने की अनुमति देता है, जो उपकरण के विभिन्न हिस्सों के लिए अलग-अलग बिट चौड़ाई रखता है। उदाहरण के लिए, आईबीएम सिस्टम/360 निर्देश सेट मुख्य रूप से 32-बिट था, लेकिन फ्लोटिंग-प्वाइंट संख्याओं में अधिक सटीकता और सीमा की सुविधा के लिए 64-बिट फ़्लोटिंग-प्वाइंट मानों का समर्थन करता था।[30] सिस्टम/360 मॉडल 65 में दशमलव और स्थिर-प्वाइंट द्विआधारी अंकगणित के लिए 8-बिट योजक और फ्लोटिंग-प्वाइंट अंकगणित के लिए 60-बिट योजक था।[69] कई बाद की सीपीयू संरचनाएँ समान मिश्रित बिट चौड़ाई का उपयोग करती हैं, विशेषतया, जब प्रोसेसर सामान्य प्रयोजन के उपयोग के लिए होता है जहाँ पूर्णांक और फ्लोटिंग-प्वाइंट क्षमता का उचित संतुलन आवश्यक होता है।
समानांतरवाद
पिछले खंड में प्रस्तुत किए गए सीपीयू के मूल संचालन का विवरण, सीपीयू के सबसे सरल रूप का वर्णन करता है। सामान्यतः उप-अदिश के रूप में प्रचलित सीपीयू एक समय में एक या दो डेटा पर एक निर्देश को संचालित और निष्पादित करता है, जो प्रति घड़ी चक्र (आईपीसी (IPC) <1) में एक से कम निर्देश है।
यह प्रक्रिया उप-अदिश सीपीयू में एक अंतर्निहित अक्षमता उत्पन्न करती है। एक समय में केवल एक ही निर्देश के निष्पादन के कारण पूरे सीपीयू को अगले निर्देश पर आगे बढ़ने से पहले उस निर्देश के पूर्ण होने की प्रतीक्षा करनी चाहिए। परिणामस्वरूप, उप-अदिश सीपीयू निर्देशों पर विलंबित हो जाता है जो निष्पादन को पूरा करने के लिए एक से अधिक घड़ी चक्र लेता है। यहाँ तक कि एक मार्ग को लटकाए जाने के स्थान पर दूसरी निष्पादन इकाई (नीचे देखें) को जोड़ने से भी प्रदर्शन में बहुत सुधार नहीं होता है; अतः अब दो मार्ग विलंबित कर दिए गए हैं और अप्रयुक्त ट्रांजिस्टरों की संख्या बढ़ा दी गई है। सीपीयू के निष्पादन संसाधन द्वारा एक समय में केवल एक निर्देश पर काम करने वाली यह संरचना केवल पैमानिक प्रदर्शन (एक निर्देश प्रति घड़ी चक्र, आईपीसी (IPC) = 1) तक पहुंच सकती है। हालांकि, प्रदर्शन लगभग सदैव उप-पैमानिक (प्रति घड़ी चक्र में एक निर्देश से कम, आईपीसी (IPC) <1) होता है।
पैमानिक और बेहतर प्रदर्शन प्राप्त करने के प्रयासों के परिणामस्वरूप विभिन्न प्रकार की संरचना पद्धतियाँ सामने विकसित हुई हैं, जो सीपीयू को कम रैखिक रूप से और समानांतर में अधिक व्यवहार करने का कारण बनती हैं। सीपीयू में समानता का जिक्र करते समय इन संरचना तकनीकों को वर्गीकृत करने के लिए सामान्यतः दो शब्दों का उपयोग किया जाता है:
- निर्देश-स्तरीय समानांतरवाद (आईएलपी), जो सीपीयू के भीतर निर्देश निष्पादन की दर को बढ़ाने का प्रयास करता है, अर्थात, ऑन-डाई निष्पादन संसाधनों के उपयोग को बढ़ाने के लिए प्रयुक्त होता है;
- कार्य-स्तरीय समानांतरवाद (टीएलपी), जिसका उद्देश्य सीपीयू द्वारा एक साथ निष्पादित होने वाले थ्रेड्स या प्रक्रियाओं की संख्या को बढ़ाना है।
प्रत्येक कार्यप्रणाली दोनों तरीकों से भिन्न होती है जिसमें उन्हें लागू किया जाता है, साथ ही सापेक्ष प्रभावशीलता का उपयोग वे एक अनुप्रयोग के लिए सीपीयू के प्रदर्शन को बढ़ाने में करते हैं।[lower-alpha 8]
निर्देश-स्तर समानांतरवाद
पूर्व निर्देश के निष्पादन के पूरा होने से पहले निर्देश लाने और डिकोडिंग के पहले चरण को शुरू करना, बढ़ी हुई समानता के लिए सबसे सरल तरीकों में से एक है। यह एक तकनीक है जिसे निर्देश पाइपलाइनिंग के रूप में जाना जाता है, और लगभग सभी आधुनिक सामान्य प्रयोजन सीपीयू में इसका उपयोग किया जाता है। पाइपलाइनिंग, निष्पादन पथ को असतत चरणों में तोड़कर एक समय में कई निर्देशों को निष्पादित करने की अनुमति देता है। इस पृथक्करण की तुलना एक एकत्रण रेखा से की जा सकती है, जिसमें एक निर्देश प्रत्येक चरण में तब तक पूरा किया जाता है जब तक कि वह निष्पादन पाइपलाइन से बाहर नहीं निकल जाता और सेवानिवृत्त नहीं हो जाता।
हालाँकि, पाइपलाइनिंग एक ऐसी स्थिति की संभावना का परिचय देती है, जहाँ अगले संचालन को पूरा करने के लिए पिछले संचालन के परिणाम की आवश्यकता होती है; जिसे प्रायः डेटा निर्भरता संघर्ष कहा जाता है। इसलिए पाइपलाइन किए गए प्रोसेसर को इस प्रकार की स्थितियों की जाँच करनी चाहिए और यदआवश्यक होने पर पाइपलाइन के एक हिस्से में देरी करनी चाहिए। एक पाइपलाइनयुक्त प्रोसेसर अत्यधिक अदिश हो सकता है, जो केवल एक चरण में एक से अधिक घड़ी चक्र व्यय करने वाले निर्देश, पाइपलाइन स्टॉल द्वारा बाधित होता है।
सीपीयू घटकों के निष्क्रिय समय में कमी आने का कारण निर्देश पाइपलाइनिंग में सुधार है। सुपरस्केलर कही जाने वाली संरचनाओं में एक लंबी निर्देश पाइपलाइन और लोड-स्टोर इकाइयाँ, अंकगणित-तर्क इकाइयाँ, फ़्लोटिंग-प्वाइंट इकाइयाँ और पता उत्पादन इकाइयाँ जैसी कई समान निष्पादन इकाइयाँ सम्मिलित हैं।[70] एक सुपरस्केलर पाइपलाइन में, निर्देशों को पढ़ा जाता है और एक प्रेषक तक पहुँचाया जाता है, जो यह तय करता है कि निर्देशों को समानांतर (एक साथ) में निष्पादित किया जा सकता है या नहीं। यदि ऐसा है, तो उन्हें निष्पादन इकाइयों में भेज दिया जाता है, जिसके परिणामस्वरूप उनका सामानांतर में निष्पादन होता है। सामान्यतः, एक सुपरस्केलर सीपीयू द्वारा एक चक्र में पूरे होने वाले निर्देशों की संख्या, निष्पादन इकाइयों को एक साथ भेजने जाने वाले निर्देशों की संख्या की क्षमता पर निर्भर करती है।
सुपरस्केलर सीपीयू वास्तुकला की संरचना में सबसे कठिन कार्य एक प्रभावी प्रेषक को बनाना है। प्रेषक को शीघ्रता से यह निर्धारित करने में सक्षम होना चाहिए कि क्या निर्देश समानांतर में निष्पादित किए जा सकते हैं, साथ ही क्या उन्हें इस तरह से प्रेषित किया जा सकता है कि जितनी संभव हो उतनी निष्पादन इकाइयों को व्यस्त रखा जा सके। इसके लिए आवश्यक है कि निर्देश पाइपलाइन को जितनी बार संभव हो, उन्हें भर दिया जाए और इसके लिए महत्वपूर्ण मात्रा में सीपीयू कैश की आवश्यकता हो। यह उच्च स्तर के प्रदर्शन को बनाए रखने के लिए शाखा की भविष्यवाणी, अनुमान निष्पादन, रजिस्टर का नाम बदलने, ऑर्डर के बाहर निष्पादन और लेनदेन संबंधी मेमोरी जैसी खतरे से बचने वाली तकनीकों को भी महत्वपूर्ण बनाता है। सशर्त निर्देश शाखा (या पथ) की भविष्यवाणी करने का प्रयास करके, सीपीयू उस समय की संख्या को कम कर सकता है जब तक कि पूरी पाइपलाइन को सशर्त निर्देश पूरा होने तक प्रतीक्षा करनी चाहिए। अनुमान निष्पादन प्रायः कोड के कुछ हिस्सों को निष्पादित करके सामान्य प्रदर्शन वृद्धि प्रदान करता है जो सशर्त संचालन पूरा होने के बाद आवश्यक नहीं हो सकता है। ऑर्डर के बाहर निष्पादन कुछ हद तक उस क्रम को पुनर्व्यवस्थित करता है जिसमें डेटा निर्भरता के कारण देरी को कम करने के लिए निर्देश निष्पादित किए जाते हैं। एकल निर्देश स्ट्रीम, बहु-डेटा स्ट्रीम के सम्बन्ध में एक ऐसी स्थिति, जब एक ही प्रकार के बहुत सारे डेटा को प्रोसेस करना पड़ता है, तब आधुनिक प्रोसेसर पाइपलाइन के कुछ हिस्सों को निष्क्रिय कर सकते हैं ताकि जब एक ही निर्देश को कई बार निष्पादित किया जाए, तो सीपीयू प्राप्त करने और डीकोड चरणों को छोड़ देता है और इस प्रकार यह विशेष रूप से वीडियो निर्माण सॉफ्टवेयर और फोटो प्रोसेसिंग जैसे अत्यधिक नीरस प्रोग्राम इंजन के अवसरों पर प्रदर्शन को बढ़ाता है।
जब सीपीयू का केवल एक भाग सुपरस्केलर होता है, तो वह भाग निर्धारित स्टॉल के कारण प्रदर्शन दंड से ग्रस्त नहीं होता है। इंटेल पी5 पेंटियम में दो सुपरस्केलर एएलयू थे जो प्रत्येक घड़ी चक्र में एक निर्देश स्वीकार कर सकते थे, लेकिन इसका एफपीयू (FPU) ऐसा करने में सक्षम नहीं था। इस प्रकार पी5 पूर्णांक सुपरस्केलर था, लेकिन फ्लोटिंग प्वाइंट सुपरस्केलर नहीं था। पी5 वास्तुकला के लिए इन्टेल के अनुक्रम, पी6 ने अपनी फ्लोटिंग-प्वाइंट सुविधाओं में सुपरस्केलर क्षमताएँ जोड़ीं।
सरल पाइपलाइनिंग और सुपरस्केलर संरचना, सीपीयू के आईएलपी (ILP) को प्रति घड़ी चक्र में एक निर्देश से अधिक दरों पर निर्देशों को निष्पादित करने की अनुमति देकर बढ़ाते हैं। अधिकांश आधुनिक सीपीयू संरचनाएँ कम से कम कुछ हद तक सुपरस्केलर होती हैं, और पिछले दशक में बनाये गए लगभग सभी सामान्य प्रयोजन सीपीयू सुपरस्केलर होते थे। बाद के वर्षों में उच्च-आईएलपी कंप्यूटरों को बनाने में कुछ अवधारणाओं को सीपीयू के हार्डवेयर से हटाकर इसके सॉफ्टवेयर अंतर्प्रष्ठ या निर्देश सेट वास्तुकला (ISA) में स्थानांतरित कर दिया गया है। बहुत लंबे निर्देश शब्द (वीएलआईडब्ल्यू) की रणनीति के कारण कुछ आईएलपी (ILP) सीधे सॉफ्टवेयर द्वारा निहित हो जाते हैं, जो आईएलपी (ILP) को प्रोत्साहित करने में सीपीयू के काम को कम करते हैं और इस प्रकार संरचना की जटिलता को कम करते हैं।
कार्य-स्तरीय समानांतरवाद
समानांतर में कई थ्रेड्स या प्रक्रियाओं को निष्पादित करना, प्रदर्शन प्राप्त करने की एक अन्य रणनीति है। अनुसंधान के इस क्षेत्र को समानांतर कंप्यूटिंग के रूप में जाना जाता है।[71] इस रणनीति को फ्लिन के वर्गीकरण में बहु-निर्देश स्ट्रीम, बहु-डेटा स्ट्रीम (एमआईएमडी) के रूप में जाना जाता है।[72]
मल्टीप्रोसेसिंग, इस उद्देश्य के लिए इस्तेमाल की जाने वाली एक तकनीक थी।[73] इस तकनीक की प्रारंभिक विशेषता को सममित मल्टीप्रोसेसिंग के रूप में जाना जाता है, जहाँ सीपीयू की एक छोटी संख्या, उनके मेमोरी तंत्र का एक सुसंगत दृश्य साझा करती है। इस योजना में प्रत्येक सीपीयू के पास एक अतिरिक्त हार्डवेयर होता है, जो मेमोरी के लगातार अद्यतित दृश्य को बनाए रखने का कार्य करता है। सीपीयू मेमोरी के पुराने दृश्यों से बचकर एक ही प्रोग्राम में सहयोग कर सकते हैं और प्रोग्राम एक सीपीयू से दूसरे सीपीयू में प्रवासित कर सकते हैं। अल्पमात्रा से अधिक सहयोग करने वाले सीपीयू की संख्या बढ़ाने के लिए, 1990 के दशक में गैर-समरूप मेमोरी एक्सेस और निर्देशिका-आधारित सुसंगतता प्रोटोकॉल जैसी योजनाएं शुरू की गईं। एसएमपी तंत्र कम संख्या में सीपीयू तक सीमित हैं जबकि गैर-समरूप मेमोरी एक्सेस (NUMA) तंत्र हजारों प्रोसेसर के साथ बनाए गए हैं। प्रारंभ में, मल्टीप्रोसेसिंग को प्रोसेसर के बीच अंतर्संयोजन लागू करने के लिए कई असतत सीपीयू और बोर्डों का उपयोग करके बनाया गया था। जब प्रोसेसर और उनके अंतर्संयोजन सभी एक ही चिप पर प्रयुक्त होते हैं, तो तकनीक को चिप-स्तरीय मल्टीप्रोसेसिंग और एकल चिप को मल्टी-कोर प्रोसेसर के रूप में जाना जाता है।
बाद में यह माना गया कि बारीक अन्न समानता एक ही कार्यक्रम के साथ मौजूद थी। एक एकल प्रोग्राम में कई थ्रेड (या फ़ंक्शन) हो सकते हैं जिन्हें अलग से या समानांतर में निष्पादित किया जा सकता है। इस तकनीक के कुछ प्रारम्भिक उदाहरणों में, जैसे सीधे मेमोरी पहुँच को कंप्यूटेशन थ्रेड से अलग थ्रेड के रूप में, इनपुट/आउटपुट प्रोसेसिंग को प्रयुक्त किया गया है। इस तकनीक के लिए एक अधिक सामान्य दृष्टिकोण 1970 के दशक में प्रस्तुत किया गया था, जब तंत्र को समानांतर में कई संगणना थ्रेड चलाने के लिए बनाया गया था। इस तकनीक को मल्टी-थ्रेडिंग के रूप में जाना जाता है। मल्टीप्रोसेसिंग की तुलना में इस दृष्टिकोण को अधिक लागत प्रभावी माना जाता है, क्योंकि एमपी के सम्बन्ध में पूरे सीपीयू के विपरीत सीपीयू के भीतर केवल कुछ ही घटकों को एमटी का समर्थन करने के लिए दोहराया जाता है। एमटी में, कैश सहित निष्पादन इकाइयों और मेमोरी तंत्र को कई थ्रेड के मध्य साझा किया जाता है। एमटी का नकारात्मक पक्ष यह है कि एमपी की तुलना में मल्टीथ्रेडिंग के लिए हार्डवेयर समर्थन सॉफ्टवेयर को अधिक दिखाई देता है और इस प्रकार पर्यवेक्षक सॉफ्टवेयर जैसे संचालन तंत्र को एमटी का समर्थन करने के लिए बड़े बदलावों से गुजरना पड़ता है। अस्थायी मल्टीथ्रेडिंग नामक एक प्रकार के एमटी को वहाँ प्रयुक्त किया गया था, जहाँ एक थ्रेड को तब तक निष्पादित किया जाता है जब तक कि बाहरी मेमोरी से डेटा के वापस आने की प्रतीक्षा में यह ठप न हो जाए। इस योजना में, सीपीयू तुरंत संचालन के लिए तैयार दूसरे थ्रेड पर स्विच करेगा; यह स्विच प्रायः एक सीपीयू घड़ी चक्र में किया जाता है, जैसे कि अल्ट्रास्पार्क टी1। समकालिक मल्टीथ्रेडिंग, एक अन्य प्रकार का एमटी है, जहाँ एक सीपीयू घड़ी चक्र के भीतर कई थ्रेडों से निर्देश समानांतर में निष्पादित होते हैं।
1970 के दशक से 2000 के दशक के प्रारंभ सहित कई दशकों तक, उच्च निष्पादन सामान्य प्रयोजन सीपीयू को बनाने में मुख्य रूप से पाइपलाइनिंग, कैश, सुपरस्केलर निष्पादन, ऑर्डर के बाहर निष्पादन आदि जैसी प्रौद्योगिकियों के माध्यम से उच्च आईएलपी (ILP) प्राप्त करने पर ध्यान केंद्रित किया गया था। इस प्रवृत्ति की परिणति इंटेल पेंटियम 4 जैसे पावर-हंगरी सीपीयू में बड़े पैमाने पर हुई। 2000 के दशक की शुरुआत तक, सीपीयू संचालित आवृत्तियों और मुख्य मेमोरी संचालित आवृत्तियों के बीच बढ़ती असमानता के साथ-साथ अधिक गूढ़ आईएलपी तकनीकों के लिए सीपीयू सामर्थ्य अपव्यय बढ़ने के कारण सीपीयू निर्माणकों को आईएलपी तकनीकों से उच्च प्रदर्शन प्राप्त करने से रोक दिया गया था।
तब सीपीयू निर्माणकों ने लेनदेन प्रसंस्करण जैसे वाणिज्यिक कंप्यूटिंग बाजारों से विचारों को उधार लिया, जहाँ थ्रूपुट कंप्यूटिंग के नाम से जाने जाने वाले कई कार्यक्रमों का समग्र प्रदर्शन एकल थ्रेड या प्रक्रिया के प्रदर्शन से अधिक महत्वपूर्ण था।
इस तीव्र उलटफेर का साक्ष्य दोहरे और अधिक कोर प्रोसेसर संरचनाओं के प्रसार से है और विशेष रूप से, इंटेल के नयी संरचनाएँ इसके निम्न सुपरस्केलर पी6 वास्तुकला से मिलती जुलती हैं। कई प्रोसेसर परिवारों में बाद की संरचनाएँ सीएमपी (CMP) का प्रदर्शन करती हैं, जिसमें एक्स86-64 ओपर्टन और एथलॉन 64 एक्स2, स्पार्क अल्ट्रास्पार्क टी1, आईबीएम पावर 4 और पावर 5, साथ ही एक्सबॉक्स 360 के ट्रिपल-कोर पावरपीसी संरचना और प्लेस्टेशन 3 का 7-कोर सेल माइक्रोप्रोसेसर जैसे कई वीडियो गेम कंसोल सीपीयू अदि सम्मिलित हैं।
डेटा समानांतरवाद
प्रोसेसर का एक असामान्य लेकिन तीव्रता से बढ़ता महत्वपूर्ण प्रतिमान (और वास्तव में, सामान्य रूप से कंप्यूटिंग) डेटा समानता से संबंधित है। सभी पूर्वचर्चित प्रोसेसर को किसी न किसी प्रकार के पैमानिक उपकरण के रूप में संदर्भित किया जाता है।[lower-alpha 9] जैसा कि नाम से पता चलता है, सदिश प्रोसेसर एक निर्देश के संदर्भ में डेटा के कई टुकड़ों से निपटते हैं। यह अदिश प्रोसेसर के विपरीत है, जो प्रत्येक निर्देश के लिए डेटा के एक टुकड़े से निपटता है। फ्लिन के वर्गीकरण का उपयोग करते हुए, डेटा से निपटने की इन दो योजनाओं को समान्यतः एकल निर्देश धारा, विभिन्न डेटा धारा (एसआईएमडी) और एकल निर्देश धारा, एकल डेटा धारा (एसआईएसडी) के रूप में जाना जाता है। डेटा के सदिश से निपटने वाले प्रोसेसर बनाने में महान उपयोगिता उन कार्यों को अनुकूलित करने में निहित है जिनके लिए डेटा के बड़े समूह पर एक ही संचालन (उदाहरण के लिए, एक योग या एक डॉट उत्पाद) की आवश्यकता होती है। इस प्रकार के कार्यों के कुछ प्रारम्भिक उदाहरणों में मल्टीमीडिया एप्लिकेशन (छवियाँ, वीडियो और ध्वनि), साथ ही कई प्रकार के वैज्ञानिक और अभियांत्रिकी कार्य सम्मिलित हैं। जबकि एक अदिश प्रोसेसर को डेटा के एक समूह में प्रत्येक निर्देश और मान को प्राप्त करने, डिकोड करने और निष्पादित करने की पूरी प्रक्रिया को पूर्ण करना होगा, एक सदिश प्रोसेसर एक निर्देश के साथ तुलनात्मक रूप से बड़े डेटा पर एक ही संचालन कर सकता है। यह एप्लिकेशन को कई चरणों की आवश्यकता पड़ने पर ही संभव है, जो एक संचालन को डेटा के बड़े समूह पर लागू करते हैं।
क्रे-1 जैसे अधिकांश प्रारंभिक सदिश प्रोसेसर लगभग विशेष रूप से वैज्ञानिक अनुसंधान और क्रिप्टोग्राफी अनुप्रयोगों से जुड़े थे। हालाँकि, मल्टीमीडिया के बड़े पैमाने पर डिजिटल मीडिया में स्थानान्तरण के कारण सामान्य प्रयोजन के प्रोसेसर में कुछ प्रकार के एसआईएमडी की आवश्यकता महत्वपूर्ण हो गई है। चलायमान बिंदु इकाइयों को सम्मिलित करने के कुछ ही समय बाद सामान्य-प्रयोजन प्रोसेसर में यह सामान्य होना शुरू हो गया, और एसआईएमडी निष्पादन इकाइयों के लिए विनिर्देश और कार्यान्वयन भी सामान्य-उद्देश्य वाले प्रोसेसर के लिए दिखाई देने लगे। इनमें से एचपी का मल्टीमीडिया एक्सेलेरेशन एक्सटेंशन और इन्टेल का एमएमएक्स जैसे कुछ प्रारंभिक एसआईएमडी विनिर्देश केवल पूर्णांक थे। यह कुछ सॉफ्टवेयर विकासकों के लिए एक महत्वपूर्ण बाधा साबित हुई, क्योंकि सिम से लाभान्वित होने वाले कई एप्लिकेशन मुख्य रूप से फ्लोटिंग-पॉइंट नंबरों से संचालित होते हैं। विकासकों ने प्रगतिशील रूप से इन प्रारम्भिक संरचनाओं को कुछ सामान्य आधुनिक एसआईएमडी (SIMD) विनिर्देशों में परिष्कृत और पुनर्निर्मित किया, जो सामान्यतः एक निर्देश समूह वास्तुकला से जुड़े होते हैं। इन्टेल का स्ट्रीमिंग एसआईएमडी एक्सटेंशन और पावरपीसी से संबंधित एल्टीवेक जैसे कुछ उपकरण उल्लेखनीय आधुनिक उदाहरणों में सम्मिलित हैं।[lower-alpha 10]
हार्डवेयर प्रदर्शन काउंटर
कई आधुनिक वास्तुकला (अन्तर्निहित वाले सहित) में प्रायः हार्डवेयर प्रदर्शन काउंटर (एचपीसी) सम्मिलित होते हैं, जो निम्न-स्तरीय (निर्देश-स्तर) संग्रह, बेंचमार्किंग, डिबगिंग या चल रहे सॉफ़्टवेयर आव्यूह के विश्लेषण को सक्षम बनाता है।[74][75] सॉफ़्टवेयर की असामान्य या संदिग्ध गतिविधि की खोज और विश्लेषण करने के लिए भी एचपीसी का उपयोग किया जा सकता है, जैसे कि रिटर्न-ओरिएंटेड प्रोग्रामिंग या सिग्रेटर्न-ओरिएंटेड प्रोग्रामिंग कार्य आदि।[76] यह सामान्यतः सॉफ्टवेयर-सुरक्षा टीमों द्वारा दुर्भावनापूर्ण द्विआधारी कार्यक्रमों का आँकलन करने और खोजने के लिए किया जाता है।
आईबीएम, इंटेल, एएमडी, और एआरएम जैसे कई प्रमुख विक्रेता सॉफ्टवेयर अंतर्प्रष्ठ प्रदान करते हैं, जो सामान्यतः सी/सी++ में लिखा जाता है। जिनका उपयोग आव्यूह प्राप्त करने हेतु सीपीयू रजिस्टरों से डेटा एकत्र करने के लिए किया जा सकता है।[77] कर्नेल और एप्लिकेशन चलाने वाले संचालन तंत्र विक्रेता सीपीयू घटनाओं को रिकॉर्ड करने, बेंचमार्क करने या ट्रेस करने के लिए perf(लिनक्स) जैसे सॉफ़्टवेयर भी प्रदान करते हैं।
आभासी सीपीयू
सीपीयू संचालन को आभासी सेंट्रल प्रोसेसिंग यूनिट[78] में उप-विभाजित करना क्लाउड कंप्यूटिंग में सम्मिलित हो सकता है।[79]
होस्ट, एक भौतिक मशीन का आभासी समकक्ष है, जिस पर एक आभासी तंत्र कार्य करता है।[80] जब कई भौतिक मशीनें मिलकर कार्य करती हैं और समग्र रूप से प्रबंधित होती हैं, तो समूहीकृत कंप्यूटिंग और मेमोरी संसाधन एक समूह बनाते हैं। कुछ प्रणालियों में समूह में गतिशील रूप से जोड़ना और निकालना संभव है। होस्ट और समूह स्तर पर उपलब्ध संसाधनों को बारीक कणिकता के साथ संसाधन पूल में विभाजित किया जा सकता है।
प्रदर्शन
एक प्रोसेसर का प्रदर्शन या गति कई अन्य कारकों पर निर्भर करता है, जिनमें घड़ी की दर (सामान्यतः हर्ट्ज के गुणकों में) और निर्देश प्रति घड़ी, जो एक साथ प्रति सेकंड निर्देशों के कारक हैं, जिसका प्रदर्शन सीपीयू कर सकता है।[81] रिपोर्ट किए गए कई आईपीएस मूल्यों ने कुछ शाखाओं के साथ कृत्रिम निर्देश अनुक्रमों पर "पीक" निष्पादन दर का प्रतिनिधित्व किया है, जबकि यथार्थवादी कार्यभार में निर्देशों और अनुप्रयोगों का मिश्रण होता है, जिनमें से कुछ को दूसरों की तुलना में निष्पादित करने में अधिक समय लगता है। एमआईपीएस गणना में मुश्किल से माना जाने वाला एक मुद्दा, मेमोरी पदानुक्रम का प्रदर्शन भी प्रोसेसर के प्रदर्शन को बहुत प्रभावित करता है। इन समस्याओं के कारण, विभिन्न मानकीकृत परीक्षणों को सामान्यतः उपयोग किए जाने वाले अनुप्रयोगों में वास्तविक प्रभावी प्रदर्शन को मापने के प्रयास के लिए विकसित किया गया है, जिन्हें प्रायः इस उद्देश्य के लिए "बेंचमार्क" कहा जाता है, जैसे स्पेकआईएनटी (SPECint)।
मल्टी-कोर प्रोसेसर का उपयोग करके कंप्यूटर के प्रसंस्करण प्रदर्शन को बढ़ाया जाता है, जो अनिवार्य रूप से दो या दो से अधिक व्यक्तिगत प्रोसेसर (इस अर्थ में कोर) को एक एकीकृत परिपथ में जोड़ता है।[82] आदर्श रूप से, एक द्वि-कोर प्रोसेसर, एकल कोर प्रोसेसर से लगभग दोगुना शक्तिशाली होता है। व्यवहार में, अपूर्ण सॉफ़्टवेयर एल्गोरिदम और कार्यान्वयन के कारण, प्रदर्शन लाभ बहुत कम, केवल लगभग 50% होता है।[83] एक प्रोसेसर में कोरों की संख्या (अर्थात ड्यूल-कोर, क्वाड-कोर, आदि) में वृद्धि से कार्यभार बढ़ जाता है जिसे संभाला जा सकता है। इसका अर्थ यह है कि प्रोसेसर अब कई अतुल्यकालिक घटनाओं, अवरोधों आदि को संभाल सकता है, जो अत्यधिक होने पर सीपीयू पर भारी पड़ सकता है। इन कोरों को एक प्रसंस्करण संयंत्र में अलग-अलग तलों के रूप में माना जा सकता है, जिनमें प्रत्येक तल एक अलग कार्य को संभालता है। कभी-कभी, ये कोर उसी तरह के कार्यों को संभालते हैं, जैसे कि उनके आस-पास के कोर, अगर सूचना को संभालने के लिए पर्याप्त नहीं हैं।
आधुनिक सीपीयू की एक साथ बहुस्तरीयता और अनकोर जैसी विशिष्ट क्षमताओं के कारण, जिसमें वास्तविक सीपीयू संसाधनों को साझा करना सम्मिलित है, जबकि उपयोग में वृद्धि, प्रदर्शन स्तर की निगरानी और हार्डवेयर का उपयोग धीरे-धीरे एक अधिक जटिल कार्य बन गया है।[84] प्रतिक्रिया के रूप में, कुछ सीपीयू अतिरिक्त हार्डवेयर तर्क प्रयुक्त करते हैं जो सीपीयू के विभिन्न भागों के वास्तविक उपयोग की निगरानी करता है और विभिन्न काउंटरों को सॉफ्टवेयर के लिए सुलभता प्रदान करता है; इसका एक उदाहरण इंटेल की परफॉर्मेंस काउंटर मॉनिटर तकनीक है।[2]
यह भी देखें
- पता मोड
- एएमडी (AMD) त्वरित प्रसंस्करण इकाई
- सीआईएससी (CISC)
- कंप्यूटर बस
- कंप्यूटर अभियांत्रिकी
- सीपीयू कोर वोल्टेज
- सीपीयू सॉकेट
- डिजिटल सिग्नल प्रोसेसर
- जीपीयू (GPU)
- अनुदेश सेट की सूची
- संरक्षण की रिंग
- आरआईएससी (RISC)
- धारा प्रसंस्करण
- सही प्रदर्शन सूचकांक
- टीपीयू (TPU)
- प्रतीक्षा अवस्था
टिप्पणियाँ
- ↑ Integrated circuits are now used to implement all CPUs, except for a few machines designed to withstand large electromagnetic pulses, say from a nuclear weapon.
- ↑ The so-called "von Neumann" memo expounded the idea of stored programs,[58] which for example may be stored on punched cards, paper tape, or magnetic tape.
- ↑ Some early computers, like the Harvard Mark I, did not support any kind of "jump" instruction, effectively limiting the complexity of the programs they could run. It is largely for this reason that these computers are often not considered to contain a proper CPU, despite their close similarity to stored-program computers.
- ↑ Since the program counter counts memory addresses and not instructions, it is incremented by the number of memory units that the instruction word contains. In the case of simple fixed-length instruction word ISAs, this is always the same number. For example, a fixed-length 32-bit instruction word ISA that uses 8-bit memory words would always increment the PC by four (except in the case of jumps). ISAs that use variable-length instruction words increment the PC by the number of memory words corresponding to the last instruction's length.
- ↑ Because the instruction set architecture of a CPU is fundamental to its interface and usage, it is often used as a classification of the "type" of CPU. For example, a "PowerPC CPU" uses some variant of the PowerPC ISA. A system can execute a different ISA by running an emulator.
- ↑ The physical concept of voltage is an analog one by nature, practically having an infinite range of possible values. For the purpose of physical representation of binary numbers, two specific ranges of voltages are defined, one for logic '0' and another for logic '1'. These ranges are dictated by design considerations such as noise margins and characteristics of the devices used to create the CPU.
- ↑ While a CPU's integer size sets a limit on integer ranges, this can (and often is) overcome using a combination of software and hardware techniques. By using additional memory, software can represent integers many magnitudes larger than the CPU can. Sometimes the CPU's instruction set will even facilitate operations on integers larger than it can natively represent by providing instructions to make large integer arithmetic relatively quick. This method of dealing with large integers is slower than utilizing a CPU with higher integer size, but is a reasonable trade-off in cases where natively supporting the full integer range needed would be cost-prohibitive. See Arbitrary-precision arithmetic for more details on purely software-supported arbitrary-sized integers.
- ↑ Neither ILP nor TLP is inherently superior over the other; they are simply different means by which to increase CPU parallelism. As such, they both have advantages and disadvantages, which are often determined by the type of software that the processor is intended to run. High-TLP CPUs are often used in applications that lend themselves well to being split up into numerous smaller applications, so-called "embarrassingly parallel problems". Frequently, a computational problem that can be solved quickly with high TLP design strategies like symmetric multiprocessing takes significantly more time on high ILP devices like superscalar CPUs, and vice versa.
- ↑ Earlier the term scalar was used to compare the IPC count afforded by various ILP methods. Here the term is used in the strictly mathematical sense to contrast with vectors. See scalar (mathematics) and vector (geometric).
- ↑ Although SSE/SSE2/SSE3 have superseded MMX in Intel's general-purpose processors, later IA-32 designs still support MMX. This is usually done by providing most of the MMX functionality with the same hardware that supports the much more expansive SSE instruction sets.
संदर्भ
- ↑ Kuck, David (1978). Computers and Computations, Vol 1. John Wiley & Sons, Inc. p. 12. ISBN 978-0471027164.
- ↑ 2.0 2.1 Thomas Willhalm; Roman Dementiev; Patrick Fay (December 18, 2014). "Intel Performance Counter Monitor – A better way to measure CPU utilization". software.intel.com. Retrieved February 17, 2015.
- ↑ Liebowitz, Kusek, Spies, Matt, Christopher, Rynardt (2014). VMware vSphere Performance: Designing CPU, Memory, Storage, and Networking for Performance-Intensive Workloads. Wiley. p. 68. ISBN 978-1-118-00819-5.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - ↑ Regan, Gerard (2008). A Brief History of Computing. p. 66. ISBN 978-1848000834. Retrieved 26 November 2014.
- ↑ Weik, Martin H. (1955). "A Survey of Domestic Electronic Digital Computing Systems". Ballistic Research Laboratory.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ 6.0 6.1 Weik, Martin H. (1961). "A Third Survey of Domestic Electronic Digital Computing Systems". Ballistic Research Laboratory.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ "Bit By Bit". Haverford College. Archived from the original on October 13, 2012. Retrieved August 1, 2015.
- ↑ "First Draft of a Report on the EDVAC" (PDF). Moore School of Electrical Engineering, University of Pennsylvania. 1945.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ Stanford University. "The Modern History of Computing". The Stanford Encyclopedia of Philosophy. Retrieved September 25, 2015.
- ↑ "ENIAC's Birthday". The MIT Press. February 9, 2016. Archived from the original on October 17, 2018. Retrieved October 17, 2018.
- ↑ Enticknap, Nicholas (Summer 1998), "Computing's Golden Jubilee", Resurrection, The Computer Conservation Society (20), ISSN 0958-7403, retrieved 26 June 2019
- ↑ "The Manchester Mark 1". The University of Manchester. Retrieved September 25, 2015.
- ↑ "The First Generation". Computer History Museum. Retrieved September 29, 2015.
- ↑ "The History of the Integrated Circuit". Nobelprize.org. Retrieved July 17, 2022.
- ↑ Turley, Jim (11 August 2003). "Motoring with microprocessors". Embedded. Retrieved November 15, 2015.
- ↑ "Mobile Processor Guide – Summer 2013". Android Authority. 2013-06-25. Retrieved November 15, 2015.
- ↑ "Section 250: Microprocessors and Toys: An Introduction to Computing Systems". The University of Michigan. Archived from the original on April 13, 2021. Retrieved October 9, 2018.
- ↑ "ARM946 Processor". ARM. Archived from the original on 17 November 2015.
- ↑ "Konrad Zuse". Computer History Museum. Retrieved September 29, 2015.
- ↑ "Timeline of Computer History: Computers". Computer History Museum. Retrieved November 21, 2015.
- ↑ White, Stephen. "A Brief History of Computing - First Generation Computers". Retrieved November 21, 2015.
- ↑ "Harvard University Mark - Paper Tape Punch Unit". Computer History Museum. Retrieved November 21, 2015.
- ↑ "What is the difference between a von Neumann architecture and a Harvard architecture?". ARM. Retrieved November 22, 2015.
- ↑ "Advanced Architecture Optimizes the Atmel AVR CPU". Atmel. Archived from the original on November 14, 2015. Retrieved November 22, 2015.
- ↑ "Switches, transistors and relays". BBC. Archived from the original on 5 December 2016.
- ↑ "Introducing the Vacuum Transistor: A Device Made of Nothing". IEEE Spectrum. 2014-06-23. Retrieved 27 January 2019.
- ↑ What Is Computer Performance?. The National Academies Press. 2011. doi:10.17226/12980. ISBN 978-0-309-15951-7. Retrieved May 16, 2016.
- ↑ "1953: Transistorized Computers Emerge". Computer History Museum. Retrieved June 3, 2016.
- ↑ "IBM System/360 Dates and Characteristics". IBM. 2003-01-23.
- ↑ 30.0 30.1 Amdahl, G. M.; Blaauw, G. A.; Brooks, F. P. Jr. (April 1964). "Architecture of the IBM System/360". IBM Journal of Research and Development. IBM. 8 (2): 87–101. doi:10.1147/rd.82.0087. ISSN 0018-8646.
- ↑ Brodkin, John (7 April 2014). "50 years ago, IBM created mainframe that helped send men to the Moon". Ars Technica. Retrieved 9 April 2016.
- ↑ Clarke, Gavin. "Why won't you DIE? IBM's S/360 and its legacy at 50". The Register. Retrieved 9 April 2016.
- ↑ "Online PDP-8 Home Page, Run a PDP-8". PDP8. Retrieved September 25, 2015.
- ↑ "Transistors, Relays, and Controlling High-Current Loads". New York University. ITP Physical Computing. Retrieved 9 April 2016.
- ↑ Lilly, Paul (2009-04-14). "A Brief History of CPUs: 31 Awesome Years of x86". PC Gamer. Retrieved June 15, 2016.
- ↑ 36.0 36.1 Patterson, David A.; Hennessy, John L.; Larus, James R. (1999). Computer Organization and Design: the Hardware/Software Interface (2. ed., 3rd print. ed.). San Francisco: Kaufmann. p. 751. ISBN 978-1558604285.
- ↑ "1962: Aerospace systems are first the applications for ICs in computers". Computer History Museum. Retrieved October 9, 2018.
- ↑ "The integrated circuits in the Apollo manned lunar landing program". National Aeronautics and Space Administration. Retrieved October 9, 2018.
- ↑ "System/370 Announcement". IBM Archives. 2003-01-23. Retrieved October 25, 2017.
- ↑ "System/370 Model 155 (Continued)". IBM Archives. 2003-01-23. Retrieved October 25, 2017.
- ↑ "Models and Options". The Digital Equipment Corporation PDP-8. Retrieved June 15, 2018.
- ↑ Ross Knox Bassett (2007). To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology. The Johns Hopkins University Press. pp. 127–128, 256, and 314. ISBN 978-0-8018-6809-2.
- ↑ 43.0 43.1 Ken Shirriff. "The Texas Instruments TMX 1795: the first, forgotten microprocessor".
- ↑ "Speed & Power in Logic Families"..
- ↑ T. J. Stonham. "Digital Logic Techniques: Principles and Practice". 1996. p. 174.
- ↑ "1968: Silicon Gate Technology Developed for ICs". Computer History Museum.
- ↑ R. K. Booher. "MOS GP Computer". afips, pp.877, 1968 Proceedings of the Fall Joint Computer Conference, 1968 doi:10.1109/AFIPS.1968.126
- ↑ "LSI-11 Module Descriptions" (PDF). LSI-11, PDP-11/03 user's manual (2nd ed.). Maynard, Massachusetts: Digital Equipment Corporation. November 1975. pp. 4–3.
- ↑ Bigelow, Stephen J. (March 2022). "What is a multicore processor and how does it work?". TechTarget. Retrieved July 17, 2022.
- ↑ Richard Birkby. "A Brief History of the Microprocessor". computermuseum.li. Archived from the original on September 23, 2015. Retrieved October 13, 2015.
- ↑ Osborne, Adam (1980). An Introduction to Microcomputers. Vol. 1: Basic Concepts (2nd ed.). Berkeley, California: Osborne-McGraw Hill. ISBN 978-0-931988-34-9.
- ↑ Zhislina, Victoria (2014-02-19). "Why has CPU frequency ceased to grow?". Intel. Retrieved October 14, 2015.
- ↑ "MOS Transistor - Electrical Engineering & Computer Science" (PDF). University of California. Retrieved October 14, 2015.
- ↑ Simonite, Tom. "Moore's Law Is Dead. Now What?". MIT Technology Review (in English). Retrieved 2018-08-24.
- ↑ "Excerpts from A Conversation with Gordon Moore: Moore's Law" (PDF). Intel. 2005. Archived from the original (PDF) on 2012-10-29. Retrieved 2012-07-25.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ "A detailed history of the processor". Tech Junkie. 15 December 2016.
- ↑ Eigenmann, Rudolf; Lilja, David (1998). "Von Neumann Computers". Wiley Encyclopedia of Electrical and Electronics Engineering. doi:10.1002/047134608X.W1704. ISBN 047134608X. S2CID 8197337.
- ↑ Aspray, William (September 1990). "The stored program concept". IEEE Spectrum. Vol. 27, no. 9. p. 51. doi:10.1109/6.58457.
- ↑ Saraswat, Krishna. "Trends in Integrated Circuits Technology" (PDF). Retrieved June 15, 2018.
- ↑ "Electromigration". Middle East Technical University. Retrieved June 15, 2018.
- ↑ Ian Wienand (September 3, 2013). "Computer Science from the Bottom Up, Chapter 3. Computer Architecture" (PDF). bottomupcs.com. Retrieved January 7, 2015.
- ↑ "Introduction of Control Unit and its Design". GeeksforGeeks (in English). 2018-09-24. Retrieved 2021-01-12.
- ↑ Cornelis Van Berkel; Patrick Meuwissen (January 12, 2006). "Address generation unit for a processor (US 2006010255 A1 patent application)". google.com. Retrieved December 8, 2014.[verification needed]
- ↑ Gabriel Torres (September 12, 2007). "How The Cache Memory Works".[verification needed]
- ↑ A few specialized CPUs, accelerators or microcontrollers do not have a cache. To be fast, if needed/wanted, they still have an on-chip scratchpad memory that has a similar function, while software managed. In e.g. microcontrollers it can be better for hard real-time use, to have that or at least no cache, as with one level of memory latencies of loads are predictable.[verification needed]
- ↑ "IBM z13 and IBM z13s Technical Introduction" (PDF). IBM. March 2016. p. 20.[verification needed]
- ↑ Brown, Jeffery (2005). "Application-customized CPU design". IBM developerWorks. Archived from the original on 2006-02-12. Retrieved 2005-12-17.
- ↑ Martin, A.J.; Nystrom, M.; Wong, C.G. (November 2003). "Three generations of asynchronous microprocessors". IEEE Design & Test of Computers. 20 (6): 9–17. doi:10.1109/MDT.2003.1246159. ISSN 0740-7475. S2CID 15164301.
- ↑ IBM System/360 Model 65 Functional Characteristics (PDF). IBM. September 1968. pp. 8–9. A22-6884-3.
- ↑ Huynh, Jack (2003). "The AMD Athlon XP Processor with 512KB L2 Cache" (PDF). University of Illinois, Urbana-Champaign. pp. 6–11. Archived from the original (PDF) on 2007-11-28. Retrieved 2007-10-06.
- ↑ Gottlieb, Allan; Almasi, George S. (1989). Highly parallel computing. Redwood City, Calif.: Benjamin/Cummings. ISBN 978-0-8053-0177-9.
- ↑ Flynn, M. J. (September 1972). "Some Computer Organizations and Their Effectiveness". IEEE Trans. Comput. C-21 (9): 948–960. doi:10.1109/TC.1972.5009071. S2CID 18573685.
- ↑ Lu, N.-P.; Chung, C.-P. (1998). "Parallelism exploitation in superscalar multiprocessing". IEE Proceedings - Computers and Digital Techniques. Institution of Electrical Engineers. 145 (4): 255. doi:10.1049/ip-cdt:19981955.
- ↑ Uhsadel, Leif; Georges, Andy; Verbauwhede, Ingrid (August 2008). Exploiting Hardware Performance Counters. 2008 5th Workshop on Fault Diagnosis and Tolerance in Cryptography. pp. 59–67. doi:10.1109/FDTC.2008.19. ISBN 978-0-7695-3314-8. S2CID 1897883.
- ↑ Rohou, Erven (September 2012). Tiptop: Hardware Performance Counters for the Masses. 2012 41st International Conference on Parallel Processing Workshops. pp. 404–413. doi:10.1109/ICPPW.2012.58. ISBN 978-1-4673-2509-7. S2CID 16160098.
- ↑ Herath, Nishad; Fogh, Anders (2015). "CPU Hardware Performance Counters for Security" (PDF). USA: Black Hat. Archived (PDF) from the original on 2015-09-05.
- ↑ DeRose, Luiz A. (2001), Sakellariou, Rizos; Gurd, John; Freeman, Len; Keane, John (eds.), "The Hardware Performance Monitor Toolkit", Euro-Par 2001 Parallel Processing, Lecture Notes in Computer Science (in English), Berlin, Heidelberg: Springer Berlin Heidelberg, vol. 2150, pp. 122–132, doi:10.1007/3-540-44681-8_19, ISBN 978-3-540-42495-6, retrieved 2021-12-30
- ↑
Fifield, Tom; Fleming, Diane; Gentle, Anne; Hochstein, Lorin; Proulx, Jonathan; Toews, Everett; Topjian, Joe (2014). "Glossary". OpenStack Operations Guide. Beijing: O'Reilly Media, Inc. p. 286. ISBN 9781491906309. Retrieved 2016-09-20.
Virtual Central Processing Unit (vCPU)[:] Subdivides physical CPUs. Instances can then use those divisions.
- ↑
Anjum, Bushra; Perros, Harry G. (2015). "1: Partitioning the End-to-End QoS Budget to Domains". Bandwidth Allocation for Video Under Quality of Service Constraints. Focus Series. John Wiley & Sons. p. 3. ISBN 9781848217461. Retrieved 2016-09-21.
[...] in cloud computing where multiple software components run in a virtual environment on the same blade, one component per virtual machine (VM). Each VM is allocated a virtual central processing unit [...] which is a fraction of the blade's CPU.
- ↑ "VMware Infrastructure Architecture Overview- White Paper" (PDF). VMware. VMware. 2006.
- ↑ "CPU Frequency". CPU World Glossary. CPU World. 25 March 2008. Retrieved 1 January 2010.
- ↑ "What is (a) multi-core processor?". Data Center Definitions. SearchDataCenter.com. Retrieved 8 August 2016.
- ↑ "Quad Core Vs. Dual Core". 8 April 2010.
- ↑ Tegtmeier, Martin. "CPU utilization of multi-threaded architectures explained". Oracle. Retrieved July 17, 2022.
बाहरी संबंध
- 25 Microchips that shook the world – an article by the Institute of Electrical and Electronics Engineers.