सेंट्रल प्रोसेसिंग यूनिट: Difference between revisions

From Vigyanwiki
Line 27: Line 27:
ईएनआईएसी (ENIAC) जैसे प्रारंभिक कंप्यूटरों को अलग-अलग कार्यों को करने के लिए भौतिक रूप से पुनः तारित किया जाना था, जिसके कारण इन मशीनों को "फिक्स्ड-प्रोग्राम कंप्यूटर (fixed-program-computer)" कहा जाने लगा।<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> चूंकि सीपीयू (CPU) शब्द को सामान्यतः सॉफ्टवेयर (कंप्यूटर प्रोग्राम) निष्पादन के लिए एक उपकरण के रूप में परिभाषित किया जाता है, इसलिए उचित रूप से सीपीयू (CPU) कहे जा सकने वाले सबसे प्रारम्भिक उपकरण का आगमन संग्रहीत-प्रोग्राम कंप्यूटर (stored-program computer) के आविष्कार के साथ हुआ था।
ईएनआईएसी (ENIAC) जैसे प्रारंभिक कंप्यूटरों को अलग-अलग कार्यों को करने के लिए भौतिक रूप से पुनः तारित किया जाना था, जिसके कारण इन मशीनों को "फिक्स्ड-प्रोग्राम कंप्यूटर (fixed-program-computer)" कहा जाने लगा।<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> चूंकि सीपीयू (CPU) शब्द को सामान्यतः सॉफ्टवेयर (कंप्यूटर प्रोग्राम) निष्पादन के लिए एक उपकरण के रूप में परिभाषित किया जाता है, इसलिए उचित रूप से सीपीयू (CPU) कहे जा सकने वाले सबसे प्रारम्भिक उपकरण का आगमन संग्रहीत-प्रोग्राम कंप्यूटर (stored-program computer) के आविष्कार के साथ हुआ था।


जे. प्रेस्पर एकर्ट (J. Presper Eckert) और जॉन विलियम मौचली (John William Mauchly) के ईएनआईएसी (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> ईएनआईएसी (ENIAC) के निर्माण से पूर्व 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> ईडीवीएसी (EDVAC) को विभिन्न प्रकार के निर्देशों (या संचालन) की एक निश्चित संख्या को निष्पादित करने के लिए निर्मित किया गया था। गौरतलब है कि ईडीवीएसी (EDVAC) के लिए लिखे गए प्रोग्राम को कंप्यूटर की भौतिक वायरिंग द्वारा निर्दिष्ट करने के स्थान पर उच्च गति कंप्यूटर मेमोरी में संग्रहीत किया जाना था।<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> यह ENIAC की एक गंभीर सीमाओं को दूर करता है, जो एक नया कार्य करने के लिए कंप्यूटर को कॉन्फ़िगर करने के लिए आवश्यक समय और प्रयास था।<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> वॉन न्यूमैन के डिजाइन के साथ, एडवैक ने जो कार्यक्रम चलाया, उसे केवल मेमोरी की सामग्री को बदलकर बदला जा सकता है।EDVAC, पहला संग्रहीत-प्रोग्राम कंप्यूटर नहीं था, मैनचेस्टर बेबी जो एक छोटे पैमाने पर प्रयोगात्मक संग्रहीत-कार्यक्रम कंप्यूटर था, ने 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>
जे. प्रेस्पर एकर्ट (J. Presper Eckert) और जॉन विलियम मौचली (John William Mauchly) के ईएनआईएसी (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> ईएनआईएसी (ENIAC) के निर्माण से पूर्व 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> ईडीवीएसी (EDVAC) को विभिन्न प्रकार के निर्देशों (या संचालन) की एक निश्चित संख्या को निष्पादित करने के लिए निर्मित किया गया था। गौरतलब है कि ईडीवीएसी (EDVAC) के लिए लिखे गए प्रोग्राम को कंप्यूटर की भौतिक वायरिंग द्वारा निर्दिष्ट करने के स्थान पर उच्च गति कंप्यूटर मेमोरी में संग्रहीत किया जाना था।<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> इसने ईएनआईएसी (ENIAC) की एक गंभीर सीमा को पार कर लिया, जो नया कार्य करन हेतु कंप्यूटर को पुन: कॉन्फ़िगर करने के लिए आवश्यक काफी समय और प्रयास था।।<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> वॉन न्यूमैन की संरचना के साथ, ईडीवीएसी (EDVAC) द्वारा चलाए जाने वाले प्रोग्राम को केवल मेमोरी की सामग्री को बदलकर बदला जा सकता है। ईडीवीएसी (EDVAC) पहला संगृहीत-प्रोग्राम कंप्यूटर नहीं था, क्योंकि मैनचेस्टर बेबी नामक एक छोटे पैमाने के प्रायोगिक संगृहीत प्रोग्राम कंप्यूटर ने अपना पहला प्रोग्राम 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> हालांकि, एक विशेष एप्लिकेशन के लिए कस्टम सीपीयू को डिजाइन करने की इस विधि ने बड़ी मात्रा में उत्पादित बहुउद्देश्यीय प्रोसेसर के विकास के लिए काफी हद तक रास्ता दिया है।यह मानकीकरण असतत ट्रांजिस्टर मेनफ्रेम और मिनीकॉम्प्यूटर्स के युग में शुरू हुआ और एकीकृत सर्किट & nbsp; (IC) के लोकप्रियकरण के साथ तेजी से तेज किया गया है।आईसी ने तेजी से जटिल सीपीयू को नैनोमीटर के आदेश पर सहिष्णुता के लिए डिजाइन और निर्मित करने की अनुमति दी है।<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>
 
जबकि वॉन न्यूमैन को अक्सर EDVAC के अपने डिजाइन के कारण संग्रहीत-कार्यक्रम कंप्यूटर के डिजाइन के साथ श्रेय दिया जाता है, और डिजाइन को वॉन न्यूमैन आर्किटेक्चर के रूप में जाना जाता है, अन्य उनसे पहले, जैसे कि कोनराड ज़्यूस, ने इसी तरह के विचारों का सुझाव और कार्यान्वित किया था।<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> हार्वर्ड मार्क I की तथाकथित हार्वर्ड आर्किटेक्चर, जो EDVAC से पहले पूरा हुआ था,<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> अधिकांश आधुनिक सीपीयू मुख्य रूप से डिजाइन में वॉन न्यूमैन हैं, लेकिन हार्वर्ड आर्किटेक्चर के साथ सीपीयू को विशेष रूप से एम्बेडेड अनुप्रयोगों में भी देखा जाता है;उदाहरण के लिए, Atmel AVR माइक्रोकंट्रोलर हार्वर्ड आर्किटेक्चर प्रोसेसर हैं।<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>
प्रारंभिक सीपीयू (CPU) की संरचना पारंपरिक थी, जिनका उपयोग बड़े और कभी-कभी विशिष्ट कंप्यूटर के हिस्से के रूप में किया जाता था।<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> हालांकि, किसी विशेष अनुप्रयोग के लिए पारम्परिक सीपीयू (CPU) की इस संरचना पद्धति ने बड़ी मात्रा में उत्पादित बहुउद्देश्यीय प्रोसेसर के विकास के लिए काफी हद तक मार्ग प्रशस्त किया है। यह मानकीकरण असतत ट्रांजिस्टर मेनफ्रेम और मिनीकंप्यूटर के युग में शुरू हुआ और एकीकृत परिपथ के लोकप्रिय होने के साथ तेजी से बढ़ा है। आईसी (IC) ने तीव्र गति से जटिल सीपीयू (CPU) को नैनोमीटर के क्रम पर सहनशीलता के लिए संरचना और निर्मित करने की अनुमति दी है।<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> सीपीयू (CPU) के लघुकरण और मानकीकरण ने समर्पित कंप्यूटिंग मशीनों के सीमित अनुप्रयोग ने आधुनिक जीवन में अत्यधिक डिजिटल उपकरणों की उपस्थिति में वृद्धि की है। आधुनिक माइक्रोप्रोसेसर ऑटोमोबाइल<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=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> एक उपयोगी कंप्यूटर के लिए हजारों या दसियों हज़ार स्विचिंग उपकरणों की आवश्यकता होती है।एक प्रणाली की समग्र गति स्विच की गति पर निर्भर है।EDVAC जैसे वैक्यूम-ट्यूब कंप्यूटर विफलताओं के बीच औसतन आठ घंटे तक पहुंच गए, जबकि रिले कंप्यूटर जैसे (धीमी, लेकिन पहले) हार्वर्ड मार्क मैं बहुत कम ही विफल रहा।<ref name="weik1961" />अंत में, ट्यूब-आधारित सीपीयू प्रमुख हो गए क्योंकि महत्वपूर्ण गति के लाभ आम तौर पर विश्वसनीयता की समस्याओं से आगे निकल गए।इनमें से अधिकांश शुरुआती सिंक्रोनस सीपीयू आधुनिक माइक्रोइलेक्ट्रोनिक डिजाइनों की तुलना में कम घड़ी दरों पर चले।100 kHz से लेकर 4 & nbsp तक की घड़ी सिग्नल की आवृत्तियाँ; इस समय MHz बहुत आम थीं, जो कि स्विचिंग उपकरणों की गति से काफी हद तक सीमित थीं, जिनके साथ वे बनाए गए थे।<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>
 
जबकि वॉन न्यूमैन को प्रायः ईडीवीएसी (EDVAC) की अपनी संरचना के कारण संग्रहीत-प्रोग्राम कंप्यूटर की संरचना का श्रेय दिया जाता है, और संरचना को वॉन न्यूमैन निर्माणकला के रूप में जाना जाता है; कोनराड ज़ूस जैसे अन्य लोगों ने उनके पहले इसी तरह के विचारों का सुझाव दिया था और उन्हें प्रयुक्त किया था।<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> ईडीवीएसी (EDVAC) से पहले पूर्ण, हार्वर्ड मार्क-प्रथम की तथाकथित हार्वर्ड वास्तुकला<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> वॉन न्यूमैन और हार्वर्ड वास्तुकला के बीच महत्वपूर्ण अंतर यह है कि बाद वाला सीपीयू (CPU) निर्देशों और डेटा के भंडारण और उपचार को अलग करता है, जबकि पूर्व वाला दोनों के लिए समान मेमोरी का उपयोग करता है।<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> अधिकांश आधुनिक सीपीयू (CPU) मुख्य रूप से संरचना में वॉन न्यूमैन हैं, लेकिन हार्वर्ड वास्तुकला वाले सीपीयू (CPU) को भी विशेष रूप से अन्तर्निहित अनुप्रयोगों में देखा जाता है; उदाहरण के लिए, एटमेल एवीआर माइक्रोकंट्रोलर (Atmel AVR Microcontroller) हार्वर्ड वास्तुकला प्रोसेसर हैं।<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> एक उपयोगी कंप्यूटर के लिए हजारों या दसियों हज़ार स्विचिंग उपकरणों की आवश्यकता होती है। सिस्टम की समग्र गति स्विच की गति पर निर्भर करती है। ईडीवीएसी (EDVAC) जैसे निर्वात नली कंप्यूटर विफलताओं के बीच औसतन आठ घंटे तक चलते थे, जबकि हार्वर्ड मार्क-प्रथम जैसे (धीमे, लेकिन पहले) रिले कंप्यूटर बहुत कम ही विफल होते थे।<ref name="weik1961" />अंत में, महत्वपूर्ण गति लाभ के सामान्यतः विश्वसनीयता की समस्याओं से अधिक होने के कारण नली-आधारित सीपीयू (CPU) प्रमुख हो गए। इनमें से अधिकांश प्रारम्भिक समकालीन सीपीयू (CPU) आधुनिक माइक्रोइलेक्ट्रॉनिक संरचनाओं की तुलना में कम घड़ी स्पंदों पर चलते थे। इस समय 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>
 





Revision as of 14:57, 12 September 2022

An Intel 80486DX2 CPU, as seen from above
Bottom side of an Intel 80486DX2, showing its pins

सेंट्रल प्रोसेसिंग यूनिट (Central Processing Unit (CPU)), एक इलेक्ट्रॉनिक परिपथ तंत्र है, जो कंप्यूटर प्रोग्राम से युक्त निर्देशों को निष्पादित करता है। इसे सेंट्रल प्रोसेसर, मुख्य प्रोसेसर या सिर्फ प्रोसेसर भी कहा जाता है। सीपीयू (CPU), प्रोग्राम में निर्देशों द्वारा निर्दिष्ट बुनियादी अंकगणित, तर्क, नियंत्रण और इनपुट/आउटपुट (I/O) का संचालन करता है। यह मुख्य मेमोरी और इनपुट/आउटपुट परिपथ तंत्र जैसे बाहरी घटकों[1] और ग्राफिक्स प्रोसेसिंग यूनिट (GPU) जैसे विशेष प्रोसेसर के विपरीत है।

सीपीयू (CPU) का रूप, संरचना और कार्यान्वयन समय के साथ बदल गया है, लेकिन उनका मौलिक संचालन लगभग अपरिवर्तित ही रहता है। एक सीपीयू (CPU) के प्रमुख घटकों में अंकगणित-तर्क इकाई (arithmetic-logic unit(ALU)), जो अंकगणित और तर्क का संचालन करता है, प्रोसेसर रजिस्टर, जो एएलयू (ALU) को संचालनों (operands) की आपूर्ति करता है और एएलयू (ALU) संचालन के परिणामों को संग्रहीत करता है, और एक नियंत्रण इकाई, जो एएलयू (ALU), रजिस्टरों और अन्य घटकों के समन्वित संचालन को मेमोरी से निर्देशित करके, डिकोडिंग और निर्देशों के निष्पादन को व्यवस्थित करती है, अदि सम्मिलित हैं।

अधिकांश आधुनिक सीपीयू (CPU) एकीकृत सर्किट माइक्रोप्रोसेसरों पर प्रयुक्त होते हैं, जिसमें एक आईसी (IC) चिप पर एक या एक से अधिक सीपीयू (CPU) होते हैं। कई सीपीयू वाले माइक्रोप्रोसेसर चिप मल्टी-कोर प्रोसेसर होते हैं। एकल भौतिक सीपीयू (प्रोसेसर कोर) को अतिरिक्त आभासी या तार्किक सीपीयू (CPU) बनाने के लिए बहु-स्तरीय भी किया जा सकता है।[2]

सीपीयू (CPU) वाले एक आईसी (IC) चिप में मेमोरी, परिधीय अंतरपृष्ठ और कंप्यूटर के अन्य घटक भी हो सकते हैं; ऐसे एकीकृत उपकरणों को विभिन्न रूप से माइक्रोकंट्रोलर या चिप पर तंत्र (SoC) कहा जाता है।

सरणी (array) प्रोसेसर या वेक्टर प्रोसेसर में कई प्रोसेसर होते हैं जो बिना किसी इकाई को केंद्रीय मानते हुए समानांतर कार्य करते हैं। आभासी सीपीयू (CPU) गतिशील समेकित कम्प्यूटेशनल संसाधनों का एक पृथक्करण है।[3]

इतिहास

EDVAC, पहले संग्रहीत-प्रोग्राम कंप्यूटरों में से एक

ईएनआईएसी (ENIAC) जैसे प्रारंभिक कंप्यूटरों को अलग-अलग कार्यों को करने के लिए भौतिक रूप से पुनः तारित किया जाना था, जिसके कारण इन मशीनों को "फिक्स्ड-प्रोग्राम कंप्यूटर (fixed-program-computer)" कहा जाने लगा।[4] "सेंट्रल प्रोसेसिंग यूनिट" शब्द का उपयोग वर्ष 1955 के पहले से किया गया था।[5][6] चूंकि सीपीयू (CPU) शब्द को सामान्यतः सॉफ्टवेयर (कंप्यूटर प्रोग्राम) निष्पादन के लिए एक उपकरण के रूप में परिभाषित किया जाता है, इसलिए उचित रूप से सीपीयू (CPU) कहे जा सकने वाले सबसे प्रारम्भिक उपकरण का आगमन संग्रहीत-प्रोग्राम कंप्यूटर (stored-program computer) के आविष्कार के साथ हुआ था।

जे. प्रेस्पर एकर्ट (J. Presper Eckert) और जॉन विलियम मौचली (John William Mauchly) के ईएनआईएसी (ENIAC) की संरचना में एक संग्रहीत-प्रोग्राम कंप्यूटर का विचार पहले से ही उपस्थित था, लेकिन प्रारंभ में इसे छोड़ दिया गया था, जिससे इसे शीघ्रता से समाप्त किया जा सके।[7] ईएनआईएसी (ENIAC) के निर्माण से पूर्व 30 जून, 1945 को गणितज्ञ जॉन वॉन न्यूमैन ने ईडीवीएसी (EDVAC) पर एक रिपोर्ट का पहला मसौदा शीर्षक वाला पृष्ठ वितरित किया। यह एक संग्रहीत-प्रोग्राम कंप्यूटर की रूपरेखा थी जो अंततः अगस्त 1949 में पूरी हो गई।[8] ईडीवीएसी (EDVAC) को विभिन्न प्रकार के निर्देशों (या संचालन) की एक निश्चित संख्या को निष्पादित करने के लिए निर्मित किया गया था। गौरतलब है कि ईडीवीएसी (EDVAC) के लिए लिखे गए प्रोग्राम को कंप्यूटर की भौतिक वायरिंग द्वारा निर्दिष्ट करने के स्थान पर उच्च गति कंप्यूटर मेमोरी में संग्रहीत किया जाना था।[9] इसने ईएनआईएसी (ENIAC) की एक गंभीर सीमा को पार कर लिया, जो नया कार्य करन हेतु कंप्यूटर को पुन: कॉन्फ़िगर करने के लिए आवश्यक काफी समय और प्रयास था।।[10] वॉन न्यूमैन की संरचना के साथ, ईडीवीएसी (EDVAC) द्वारा चलाए जाने वाले प्रोग्राम को केवल मेमोरी की सामग्री को बदलकर बदला जा सकता है। ईडीवीएसी (EDVAC) पहला संगृहीत-प्रोग्राम कंप्यूटर नहीं था, क्योंकि मैनचेस्टर बेबी नामक एक छोटे पैमाने के प्रायोगिक संगृहीत प्रोग्राम कंप्यूटर ने अपना पहला प्रोग्राम 21 जून 1948 को[11] और मैनचेस्टर मार्क-1 ने 16-17 जून 1949 की रात के दौरान अपना पहला प्रोग्राम संचालित किया।[12]

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

जबकि वॉन न्यूमैन को प्रायः ईडीवीएसी (EDVAC) की अपनी संरचना के कारण संग्रहीत-प्रोग्राम कंप्यूटर की संरचना का श्रेय दिया जाता है, और संरचना को वॉन न्यूमैन निर्माणकला के रूप में जाना जाता है; कोनराड ज़ूस जैसे अन्य लोगों ने उनके पहले इसी तरह के विचारों का सुझाव दिया था और उन्हें प्रयुक्त किया था।[19] ईडीवीएसी (EDVAC) से पहले पूर्ण, हार्वर्ड मार्क-प्रथम की तथाकथित हार्वर्ड वास्तुकला[20][21] ने इलेक्ट्रॉनिक मेमोरी के स्थान पर छिद्रित पेपर टेप का उपयोग करके एक संग्रहीत-कार्यक्रम संरचना का भी उपयोग किया।[22] वॉन न्यूमैन और हार्वर्ड वास्तुकला के बीच महत्वपूर्ण अंतर यह है कि बाद वाला सीपीयू (CPU) निर्देशों और डेटा के भंडारण और उपचार को अलग करता है, जबकि पूर्व वाला दोनों के लिए समान मेमोरी का उपयोग करता है।[23] अधिकांश आधुनिक सीपीयू (CPU) मुख्य रूप से संरचना में वॉन न्यूमैन हैं, लेकिन हार्वर्ड वास्तुकला वाले सीपीयू (CPU) को भी विशेष रूप से अन्तर्निहित अनुप्रयोगों में देखा जाता है; उदाहरण के लिए, एटमेल एवीआर माइक्रोकंट्रोलर (Atmel AVR Microcontroller) हार्वर्ड वास्तुकला प्रोसेसर हैं।[24]

रिले और निर्वात नली (ऊष्मापन नली) सामान्यतः स्विचिंग तत्वों के रूप में उपयोग किए जाते थे;[25][26] एक उपयोगी कंप्यूटर के लिए हजारों या दसियों हज़ार स्विचिंग उपकरणों की आवश्यकता होती है। सिस्टम की समग्र गति स्विच की गति पर निर्भर करती है। ईडीवीएसी (EDVAC) जैसे निर्वात नली कंप्यूटर विफलताओं के बीच औसतन आठ घंटे तक चलते थे, जबकि हार्वर्ड मार्क-प्रथम जैसे (धीमे, लेकिन पहले) रिले कंप्यूटर बहुत कम ही विफल होते थे।[6]अंत में, महत्वपूर्ण गति लाभ के सामान्यतः विश्वसनीयता की समस्याओं से अधिक होने के कारण नली-आधारित सीपीयू (CPU) प्रमुख हो गए। इनमें से अधिकांश प्रारम्भिक समकालीन सीपीयू (CPU) आधुनिक माइक्रोइलेक्ट्रॉनिक संरचनाओं की तुलना में कम घड़ी स्पंदों पर चलते थे। इस समय 100 किलोहर्ट्ज़ से 4 मेगाहर्ट्ज तक की घड़ी संकेत आवृत्तियाँ बहुत सामान्य थीं, जो बड़े पैमाने पर स्विचिंग उपकरणों की गति से सीमित थीं, जिनके साथ उन्हें बनाया गया था।[27]


ट्रांजिस्टर सीपीयू (CPU)s

IBM POWERPC 604E प्रोसेसर

सीपीयू की डिजाइन जटिलता बढ़ गई क्योंकि विभिन्न प्रौद्योगिकियों ने छोटे और अधिक विश्वसनीय इलेक्ट्रॉनिक उपकरणों के निर्माण की सुविधा प्रदान की।इस तरह का पहला सुधार ट्रांजिस्टर के आगमन के साथ आया था।1950 और 1960 के दशक के दौरान ट्रांजिस्टर किए गए सीपीयू को अब वैक्यूम ट्यूब और रिले जैसे भारी, अविश्वसनीय और नाजुक स्विचिंग तत्वों से बाहर नहीं बनाया जाना था।[28] इस सुधार के साथ, असतत (व्यक्तिगत) घटकों वाले एक या कई मुद्रित सर्किट बोर्डों पर अधिक जटिल और विश्वसनीय सीपीयू बनाए गए थे।

1964 में, आईबीएम ने अपना आईबीएम सिस्टम/360 कंप्यूटर आर्किटेक्चर पेश किया, जिसका उपयोग कंप्यूटरों की एक श्रृंखला में किया गया था जो एक ही कार्यक्रम को अलग -अलग गति और प्रदर्शन के साथ चलाने में सक्षम थे।[29] यह ऐसे समय में महत्वपूर्ण था जब अधिकांश इलेक्ट्रॉनिक कंप्यूटर एक दूसरे के साथ असंगत थे, यहां तक कि एक ही निर्माता द्वारा भी बनाए गए थे।इस सुधार को सुविधाजनक बनाने के लिए, आईबीएम ने एक माइक्रोप्रोग्राम (जिसे अक्सर माइक्रोकोड कहा जाता है) की अवधारणा का उपयोग किया, जो अभी भी आधुनिक सीपीयू में व्यापक उपयोग देखता है।[30] सिस्टम/360 आर्किटेक्चर इतना लोकप्रिय था कि यह दशकों तक मेनफ्रेम कंप्यूटर मार्केट पर हावी था और एक विरासत को छोड़ दिया जो अभी भी आईबीएम जेडरी जैसे आधुनिक कंप्यूटरों द्वारा जारी है।[31][32] 1965 में, डिजिटल उपकरण कॉरपोरेशन (DEC) ने वैज्ञानिक और अनुसंधान बाजारों, PDP-8 के उद्देश्य से एक और प्रभावशाली कंप्यूटर पेश किया।[33]

SPARC64 VIIIFX प्रोसेसर के साथ Fujitsu बोर्ड

ट्रांजिस्टर-आधारित कंप्यूटरों के अपने पूर्ववर्तियों पर कई अलग-अलग फायदे थे।बढ़ी हुई विश्वसनीयता और कम बिजली की खपत की सुविधा के अलावा, ट्रांजिस्टर ने भी ट्यूब या रिले की तुलना में ट्रांजिस्टर के कम स्विचिंग समय के कारण सीपीयू को बहुत अधिक गति से संचालित करने की अनुमति दी।[34] स्विचिंग तत्वों की बढ़ी हुई विश्वसनीयता और नाटकीय रूप से बढ़ी हुई गति (जो इस समय तक लगभग विशेष रूप से ट्रांजिस्टर थे);इस अवधि के दौरान मेगाहर्ट्ज़ के दसियों में सीपीयू घड़ी की दर आसानी से प्राप्त की गई थी।[35] इसके अतिरिक्त, जबकि असतत ट्रांजिस्टर और आईसी सीपीयू भारी उपयोग में थे, नए उच्च-प्रदर्शन डिजाइन जैसे एकल निर्देश, एकाधिक डेटा (SIMD) वेक्टर प्रोसेसर दिखाई देने लगे।[36] इन शुरुआती प्रायोगिक डिजाइनों ने बाद में क्रे इंक और फुजित्सु लिमिटेड द्वारा बनाए गए विशेष सुपर कंप्यूटर के युग को जन्म दिया।[36]


छोटे पैमाने पर एकीकरण सीपीयू (CPU)s

कोर मेमोरी और एक्सटर्नल बस इंटरफेस ऑफ ए डिक पीडीपी -8/आई, मध्यम-पैमाने पर एकीकृत सर्किट से बना

इस अवधि के दौरान, एक कॉम्पैक्ट स्पेस में कई परस्पर जुड़े ट्रांजिस्टर के निर्माण की एक विधि विकसित की गई थी।एकीकृत सर्किट (आईसी) ने बड़ी संख्या में ट्रांजिस्टर को एक एकल अर्धचालक-आधारित डाई, या चिप पर निर्मित करने की अनुमति दी।सबसे पहले, केवल बहुत ही बुनियादी गैर-विशिष्ट डिजिटल सर्किट जैसे कि और न ही गेट्स को आईसीएस में छोटा किया गया था।[37] इन बिल्डिंग ब्लॉक आईसी पर आधारित सीपीयू को आमतौर पर छोटे पैमाने पर एकीकरण (एसएसआई) उपकरणों के रूप में जाना जाता है।SSI ics, जैसे कि अपोलो मार्गदर्शन कंप्यूटर में उपयोग किए जाने वाले, आमतौर पर कुछ दर्जन ट्रांजिस्टर तक होते हैं।SSI ics से एक संपूर्ण सीपीयू (CPU) बनाने के लिए हजारों व्यक्तिगत चिप्स की आवश्यकता होती है, लेकिन फिर भी पहले असतत ट्रांजिस्टर डिजाइनों की तुलना में बहुत कम स्थान और शक्ति का सेवन किया।[38] आईबीएम के सिस्टम/370, सिस्टम/360 के लिए फॉलो-ऑन, ठोस लॉजिक टेक्नोलॉजी असतत-ट्रांसिस्टर मॉड्यूल के बजाय एसएसआई आईसीएस का उपयोग किया।[39][40] DEC का PDP-8/I और KI10 PDP-10 भी PDP-8 और PDP-10 द्वारा उपयोग किए जाने वाले व्यक्तिगत ट्रांजिस्टर से SSI ICS पर स्विच किया गया,[41] और उनकी बेहद लोकप्रिय पीडीपी -11 लाइन मूल रूप से एसएसआई आईसीएस के साथ बनाई गई थी, लेकिन अंततः एलएसआई घटकों के साथ लागू किया गया था, जब ये व्यावहारिक हो गए थे।

बड़े पैमाने पर एकीकरण सीपीयू (CPU)s

ली बॉयसेल ने 1967 के घोषणापत्र सहित प्रभावशाली लेख प्रकाशित किए, जिसमें बताया गया कि बड़े पैमाने पर एकीकरण सर्किट (एलएसआई) की अपेक्षाकृत कम संख्या से 32-बिट मेनफ्रेम कंप्यूटर के बराबर निर्माण कैसे किया जाए।[42][43] एलएसआई चिप्स बनाने का एकमात्र तरीका, जो सौ या अधिक गेट्स के साथ चिप्स हैं, उन्हें एक धातु -ऑक्साइड -सेमिकंडक्टर (एमओएस) सेमीकंडक्टर विनिर्माण प्रक्रिया (या तो पीएमओएस लॉजिक, एनएमओएस लॉजिक, या सीएमओएस लॉजिक) का उपयोग करके निर्माण करना था।हालांकि, कुछ कंपनियों ने द्विध्रुवी ट्रांजिस्टर -ट्रांसिस्टर लॉजिक (टीटीएल) चिप्स से प्रोसेसर का निर्माण जारी रखा क्योंकि द्विध्रुवी जंक्शन ट्रांजिस्टर 1970 के दशक तक एमओएस चिप्स की तुलना में तेजी से थे (कुछ कंपनियां जैसे कि डेटापॉइंट जैसे कि डेटापॉइंट टीटीएल चिप्स से प्रोसेसर का निर्माण जारी रखते थे, जब तक कि शुरुआती समय तक टीटीएल चिप्स तक प्रोसेसर का निर्माण जारी रहे।1980 के दशक)।[43]1960 के दशक में, mos ics धीमे थे और शुरू में केवल उन अनुप्रयोगों में उपयोगी माना जाता था जिन्हें कम शक्ति की आवश्यकता होती थी।[44][45] 1968 में फेयरचाइल्ड सेमीकंडक्टर में फेडेरिको फागिन द्वारा सिलिकॉन-गेट एमओएस तकनीक के विकास के बाद, MOS ICS ने 1970 के दशक की शुरुआत में बड़े पैमाने पर द्विध्रुवी TTL को मानक चिप तकनीक के रूप में बदल दिया।[46] जैसा कि माइक्रोइलेक्ट्रोनिक तकनीक उन्नत हुई, ट्रांजिस्टर की बढ़ती संख्या को आईसी पर रखा गया, जिससे पूर्ण सीपीयू के लिए आवश्यक व्यक्तिगत आईसी की संख्या कम हो गई।MSI और LSI ICS ने ट्रांजिस्टर की गिनती को सैकड़ों तक बढ़ा दिया, और फिर हजारों।1968 तक, एक पूर्ण सीपीयू के निर्माण के लिए आवश्यक आईसी की संख्या को आठ अलग -अलग प्रकारों के 24 आईसीएस तक कम कर दिया गया था, जिसमें प्रत्येक आईसी में लगभग 1000 MOSFET थे।[47] अपने एसएसआई और एमएसआई पूर्ववर्तियों के साथ विपरीत, पीडीपी -11 के पहले एलएसआई कार्यान्वयन में केवल चार एलएसआई एकीकृत सर्किट से बना सीपीयू शामिल था।[48]


माइक्रोप्रोसेसर

Die of an Intel 80486DX2 microprocessor (actual size: 12 × 6.75 mm) in its packaging
Intel Core i5 CPU on a Vaio E series laptop motherboard (on the right, beneath the heat pipe)
एक लैपटॉप के अंदर, सॉकेट से सीपीयू को हटा दिया गया

चूंकि माइक्रोप्रोसेसरों को पहली बार पेश किया गया था, इसलिए उन्होंने लगभग पूरी तरह से अन्य सभी केंद्रीय प्रसंस्करण इकाई कार्यान्वयन विधियों से आगे निकल गए हैं।1971 में बनाया गया पहला वाणिज्यिक रूप से उपलब्ध माइक्रोप्रोसेसर, इंटेल 4004 था, और 1974 में बनाया गया पहला व्यापक रूप से इस्तेमाल किया जाने वाला माइक्रोप्रोसेसर, इंटेल 8080 था। अपने पुराने कंप्यूटर आर्किटेक्चर को अपग्रेड करने के लिए समय के मेनफ्रेम और मिनीकॉम्प्यूटर निर्माता, अपने पुराने कंप्यूटर आर्किटेक्चर को अपग्रेड करने के लिए मालिकाना आईसी विकास कार्यक्रम,और अंततः उत्पादित निर्देश सेट संगत माइक्रोप्रोसेसर जो अपने पुराने हार्डवेयर और सॉफ्टवेयर के साथ पिछड़े-संगत थे।सर्वव्यापी व्यक्तिगत कंप्यूटर के एडवेंट और अंतिम सफलता के साथ संयुक्त, सीपीयू शब्द अब लगभग विशेष रूप से लागू होता है[lower-alpha 1] माइक्रोप्रोसेसर्स को।कई सीपीयू (निरूपित कोर) को एकल प्रसंस्करण चिप में जोड़ा जा सकता है।[49]

सीपीयू की पिछली पीढ़ियों को एक या अधिक सर्किट बोर्डों पर असतत घटकों और कई छोटे एकीकृत सर्किट (आईसीएस) के रूप में लागू किया गया था।[50] दूसरी ओर, माइक्रोप्रोसेसर्स, सीपीयू को बहुत कम संख्या में आईसीएस पर निर्मित किया जाता है;आमतौर पर सिर्फ एक।[51] समग्र छोटे सीपीयू आकार, एक एकल मरने पर लागू होने के परिणामस्वरूप, गेट परजीवी समाई जैसे भौतिक कारकों जैसे भौतिक कारकों के कारण तेजी से स्विचिंग समय का मतलब है।[52][53] इसने सिंक्रोनस माइक्रोप्रोसेसरों को दसियों मेगाहर्ट्ज़ से लेकर कई गिगाहर्ट्ज़ तक घड़ी की दर की अनुमति दी है।इसके अतिरिक्त, एक आईसी पर अत्यधिक छोटे ट्रांजिस्टर के निर्माण की क्षमता ने एकल सीपीयू में ट्रांजिस्टर की जटिलता और संख्या में वृद्धि की है।यह व्यापक रूप से मनाया गया प्रवृत्ति मूर के कानून द्वारा वर्णित है, जो 2016 तक सीपीयू (और अन्य आईसी) जटिलता के विकास का एक सटीक भविष्यवक्ता साबित हुआ था।[54][55] जबकि सीपीयू (CPU) की जटिलता, आकार, निर्माण और सामान्य रूप 1950 के बाद से काफी बदल गया है,[56] बुनियादी डिजाइन और फ़ंक्शन बिल्कुल नहीं बदला है।आज लगभग सभी आम सीपीयू को आज वॉन न्यूमैन संग्रहीत-कार्यक्रम मशीनों के रूप में बहुत सटीक रूप से वर्णित किया जा सकता है।[57][lower-alpha 2] जैसा कि मूर का कानून अब नहीं रखता है, एकीकृत सर्किट ट्रांजिस्टर प्रौद्योगिकी की सीमाओं के बारे में चिंताएं उत्पन्न हुई हैं।इलेक्ट्रॉनिक गेट्स के चरम लघुकरण से इलेक्ट्रोमिग्रेशन और सबथ्रेशोल्ड रिसाव जैसी घटनाओं का प्रभाव बहुत अधिक महत्वपूर्ण हो रहा है।[59][60] ये नई चिंताएं कई कारकों में से हैं, जिससे शोधकर्ताओं को क्वांटम कंप्यूटर जैसे कंप्यूटिंग के नए तरीकों की जांच करने के लिए, साथ ही साथ समानांतरवाद और अन्य तरीकों के उपयोग का विस्तार करना है जो शास्त्रीय वॉन न्यूमैन मॉडल की उपयोगिता का विस्तार करते हैं।

संचालन (Operation)

अधिकांश सीपीयू (CPU) का मौलिक संचालन संग्रहीत निर्देशों के अनुक्रम को निष्पादित करना है, जिसे प्रोग्राम (program) कहा जाता है, चाहे वे किसी भी भौतिक रूप में हों। निष्पादित किए जाने वाले निर्देश किसी प्रकार की कंप्यूटर मेमोरी में रखे जाते हैं। लगभग सभी सीपीयू (CPU) अपने संचालन में प्राप्त करना (fetch), डिकोड करना (decode) और निष्पादित करना (execute) आदि चरणों का पालन करते हैं, जिन्हें सामूहिक रूप से निर्देश चक्र के रूप में जाना जाता है।

एक निर्देश के निष्पादन के बाद, पूरी प्रक्रिया दोहराई जाती है, साथ ही अगले निर्देश चक्र के साथ सामान्य रूप से प्रोग्राम काउंटर में बढ़े हुए मूल्य के कारण अगला-इन-सीक्वेंस (next-in-sequence) निर्देश प्राप्त होता है। एक जम्प निर्देश (jump instruction) निष्पादित किये जाने पर प्रोग्राम काउंटर को उस निर्देश के पते को शामिल करने के लिए संशोधित करना पड़ता है, जिस पर वह जम्प (jump) कर गया था और प्रोग्राम निष्पादन सामान्य रूप से जारी रहता है। अधिक जटिल सीपीयू (CPU) में, एक साथ कई निर्देश प्राप्त किए जा सकते हैं, डिकोड किए जा सकते हैं और निष्पादित भी किए जा सकते हैं। यह भाग सामान्यतः "क्लासिक आरआईएससी पाइपलाइन (classic RISC pipeline)" के रूप में जाने जाने वाले विषय का वर्णन करता है, जो कई इलेक्ट्रॉनिक उपकरणों (प्रायः माइक्रोकंट्रोलर) में उपयोग किए जाने वाले साधारण सीपीयू (CPU) में काफी प्रचलित है। यह काफी हद तक सीपीयू कैश (CPU cache) की महत्वपूर्ण भूमिका और इस प्रकार पाइपलाइन के पहुँच स्तर की उपेक्षा करता है।

कुछ निर्देश सीधे परिणाम डेटा उत्पन्न करने के स्थान पर प्रोग्राम काउंटर में हेरफेर करते हैं; इस तरह के निर्देशों को सामान्यतः "जम्प (jump)" कहा जाता है और चक्र (loop), सशर्त कार्यक्रम निष्पादन (सशर्त जम्प के उपयोग के माध्यम से), और कार्यों के अस्तित्व जैसे कार्यक्रम-व्यवहार की सुविधा प्रदान करते हैं।[lower-alpha 3] कुछ प्रोसेसरों में, कुछ अन्य निर्देश "ध्वज (flags)" रजिस्टर में बिट्स की स्थिति को बदलते हैं। इन ध्वजों (flags) का उपयोग किसी कार्यक्रम के व्यवहार को प्रभावित करने के लिए किया जा सकता है, क्योंकि वे अक्सर विभिन्न कार्यों के परिणाम का संकेत देते हैं। उदाहरण के लिए, ऐसे प्रोसेसर में एक "तुलना" निर्देश दो मानों का मूल्यांकन करता है और फ़्लैग रजिस्टर में बिट्स को यह इंगित करने के लिए निर्धारित या साफ़ करता है, कि कौन सा मान बड़ा है या क्या वे बराबर हैं; इनमें में से एक ध्वज का उपयोग प्रोग्राम प्रवाह को निर्धारित करने के लिए विलंबित जम्प निर्देश (later jump instruction) द्वारा किया जा सकता है।

प्राप्त करना (Fetch)

प्रोग्राम मेमोरी से एक संख्या या संख्याओं के अनुक्रम द्वारा प्रदर्शित एक निर्देश को पुनः प्राप्त करना प्राप्त करने (fetch) की प्रक्रिया में सम्मिलित है। प्रोग्राम मेमोरी में निर्देश का स्थान (पता), प्रोग्राम काउंटर (पीसी (PC); जिसे इंटेल x86 माइक्रोप्रोसेसरों में "इंस्ट्रक्शन प्वाइंटर" कहा जाता है) द्वारा निर्धारित किया जाता है, जो एक संख्या को संगृहीत करता है जो प्राप्त किए जाने वाले अगले निर्देश के पते की पहचान करता है। पीसी (PC) को एक निर्देश प्राप्त होने के बाद निर्देश की लंबाई तक बढ़ाया जाता है, जिससे इसमें अनुक्रम में अगले निर्देश का पता सम्मिलित हो।[lower-alpha 4] प्रायः प्राप्त किए जाने वाले निर्देश को अपेक्षाकृत धीमी मेमोरी से पुनर्प्राप्त किया जाना चाहिए, जिससे सीपीयू (CPU) वापसी के निर्देश की प्रतीक्षा करते समय रुक जाता है। कैश (cache) और पाइपलाइन निर्माणकला द्वारा आधुनिक प्रोसेसर में इस मुद्दे को काफी हद तक संबोधित किया गया है।(नीचे देखें)

डिकोड करना (Decode)

सीपीयू (CPU) द्वारा मेमोरी से प्राप्त निर्देश सीपीयू (CPU) के कार्य का निर्धारण करता है। डिकोड चरण में, निर्देश डिकोडर के रूप में ज्ञात बाइनरी डिकोडर परिपथ तंत्र द्वारा निष्पादित निर्देश को संकेत में परिवर्तित किया जाता है जो सीपीयू (CPU) के अन्य भागों को नियंत्रित करता है।

जिस तरह से निर्देश की व्याख्या की जाती है वह सीपीयू (CPU) के निर्देश सेट निर्माणकला (ISA) द्वारा परिभाषित किया जाता है।[lower-alpha 5] प्रायः, निर्देश के भीतर ओपकोड (opcode) के रूप में जाना जाने वाला बिट्स का एक समूह (अर्थात, एक "फ़ील्ड"), यह इंगित करता है कि कौन सा संचालन किया जाना है, जबकि संकार्य (operands) जैसे शेष फ़ील्ड सामान्यतः संचालन के लिए आवश्यक पूरक जानकारी प्रदान करते हैं। उन संकार्य (operands) को एक स्थिर मान (तत्काल मान) के रूप में निर्दिष्ट किया जा सकता है, या एक प्रोसेसर रजिस्टर या मेमोरी एड्रेस जैसे किसी मान के स्थान के रूप में हो सकता है, जैसा कि कुछ एड्रेसिंग मोड (addressing mode) द्वारा निर्धारित किया जाता है।

कुछ सीपीयू संरचनाओं में निर्देश डिकोडर को सख्त-तारित (hardwired), अपरिवर्तनीय द्विआधारी डिकोडर परिपथ के रूप में प्रयुक्त किया जाता है। जबकि अन्य सीपीयू संरचनाओं में, एक माइक्रोप्रोग्राम (microprogram) का उपयोग सीपीयू विन्यास संकेतों के समूह में निर्देशों का अनुवाद करने के लिए किया जाता है जो कि कई घड़ी की नाड़ी (clock pulse) पर क्रमिक रूप से प्रयुक्त होते हैं। कुछ मामलों में माइक्रोप्रोग्राम को संगृहीत करने वाली मेमोरी फिर से लिखने योग्य होती है, जिससे सीपीयू (CPU) द्वारा निर्देशों को डिकोड करने के तरीके को बदलना संभव हो जाता है।।

निष्पादित करना (Execute)

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

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

संरचना और कार्यान्वयन

एक बुनियादी यूनिप्रोसेसर-सीपीयू कंप्यूटर का ब्लॉक आरेख।काली रेखाएं डेटा प्रवाह को इंगित करती हैं, जबकि लाल रेखाएं नियंत्रण प्रवाह का संकेत देती हैं;तीर प्रवाह दिशाओं को इंगित करते हैं।

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

प्रत्येक निर्देश के लिए वास्तविक गणितीय संचालन सीपीयू के प्रोसेसर के भीतर एक कॉम्बिनेशनल लॉजिक सर्किट द्वारा किया जाता है जिसे अंकगणित -साहित्य इकाई या ALU के रूप में जाना जाता है। सामान्य तौर पर, एक सीपीयू मेमोरी से इसे लाने के लिए एक निर्देश को निष्पादित करता है, एक ऑपरेशन करने के लिए अपने ALU का उपयोग करता है, और फिर परिणाम को मेमोरी के लिए संग्रहीत करता है। पूर्णांक गणित और तर्क संचालन के निर्देशों के अलावा, विभिन्न अन्य मशीन निर्देश मौजूद हैं, जैसे कि मेमोरी से डेटा लोड करने और इसे वापस संग्रहीत करने के लिए, सीपीयू की फ्लोटिंग-पॉइंट यूनिट (एफपीयू (एफपीयू) द्वारा किए गए फ्लोटिंग-पॉइंट नंबरों पर गणितीय संचालन, और गणितीय संचालन )।[61]


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

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

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


अंकगणितीय तर्क इकाई

एक ALU और इसके इनपुट और आउटपुट सिग्नल का प्रतीकात्मक प्रतिनिधित्व

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

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

पता पीढ़ी इकाई

पता जनरेशन यूनिट (AGU), कभी -कभी पता कम्प्यूटेशन यूनिट (ACU) भी कहा जाता है,[63] सीपीयू के अंदर एक निष्पादन इकाई है जो मुख्य मेमोरी तक पहुंचने के लिए सीपीयू द्वारा उपयोग किए जाने वाले पते की गणना करती है। सीपीयू के बाकी हिस्सों के साथ समानांतर में संचालित होने वाले अलग -अलग सर्किटरी द्वारा संभाला गया पता गणना करके, विभिन्न मशीन निर्देशों को निष्पादित करने के लिए आवश्यक सीपीयू चक्रों की संख्या को कम किया जा सकता है, जिससे प्रदर्शन में सुधार हो सकता है।

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

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

मेमोरी मैनेजमेंट यूनिट (MMU)

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

कैश

एक सीपीयू कैश[64] मुख्य मेमोरी से डेटा तक पहुंचने के लिए औसत लागत (समय या ऊर्जा) को कम करने के लिए कंप्यूटर के केंद्रीय प्रसंस्करण इकाई (सीपीयू (CPU)) द्वारा उपयोग किया जाने वाला एक हार्डवेयर कैश है।एक कैश एक छोटा, तेज मेमोरी है, एक प्रोसेसर कोर के करीब है, जो अक्सर उपयोग किए जाने वाले मुख्य मेमोरी स्थानों से डेटा की प्रतियां संग्रहीत करता है।अधिकांश सीपीयू में अलग -अलग स्वतंत्र कैश होते हैं, जिनमें निर्देश और डेटा कैश शामिल होते हैं, जहां डेटा कैश आमतौर पर अधिक कैश स्तर (एल 1, एल 2, एल 3, एल 4, आदि) के पदानुक्रम के रूप में आयोजित किया जाता है।

सभी आधुनिक (तेज) सीपीयू (कुछ विशेष अपवादों के साथ[65]) सीपीयू कैश के कई स्तर हैं। पहला सीपीयू जिसने कैश का उपयोग किया था, उसमें केवल एक स्तर का कैश था; बाद के स्तर 1 कैश के विपरीत, इसे L1D (डेटा के लिए) और L1I (निर्देशों के लिए) में विभाजित नहीं किया गया था। कैश के साथ लगभग सभी वर्तमान सीपीयू में एक विभाजित एल 1 कैश है। उनके पास L2 कैश भी हैं और, बड़े प्रोसेसर के लिए, L3 कैश भी। L2 कैश आमतौर पर विभाजित नहीं होता है और पहले से ही विभाजित L1 कैश के लिए एक सामान्य भंडार के रूप में कार्य करता है। मल्टी-कोर प्रोसेसर के प्रत्येक कोर में एक समर्पित L2 कैश होता है और आमतौर पर कोर के बीच साझा नहीं किया जाता है। L3 कैश, और उच्च-स्तरीय कैश, कोर के बीच साझा किए जाते हैं और विभाजित नहीं होते हैं। एक L4 कैश वर्तमान में असामान्य है, और आम तौर पर डायनामिक रैंडम-एक्सेस मेमोरी (DRAM) पर होता है, बजाय एक अलग रैंडम-एक्सेस मेमोरी (SRAM) पर, एक अलग डाई या चिप पर। एल 1 के साथ ऐतिहासिक रूप से भी मामला था, जबकि बड़े चिप्स ने पिछले स्तर के संभावित अपवाद के साथ आईटी और आम तौर पर सभी कैश स्तरों के एकीकरण की अनुमति दी है। कैश का प्रत्येक अतिरिक्त स्तर बड़ा होता है और अलग -अलग अनुकूलित होता है।

अन्य प्रकार के कैश मौजूद हैं (जो ऊपर वर्णित सबसे महत्वपूर्ण कैश के कैश आकार की ओर नहीं गिना जाता है), जैसे कि अनुवाद लुकसाइड बफर (टीएलबी) जो मेमोरी मैनेजमेंट यूनिट (एमएमयू) का हिस्सा है जो कि अधिकांश सीपीयू के पास है।

कैश आम तौर पर दो: 2, 8, 16 आदि की शक्तियों में आकार के होते हैं KIB या MIB (बड़े गैर-एल 1 के लिए) आकारों के लिए, हालांकि IBM Z13 (माइक्रोप्रोसेसर) | IBM Z13 में 96 KIB L1 निर्देश कैश है।[66]


घड़ी दर

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

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

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

अनावश्यक घटकों के स्विचिंग से निपटने की एक विधि को क्लॉक गेटिंग कहा जाता है, जिसमें घड़ी सिग्नल को अनावश्यक घटकों को बंद करना शामिल है (प्रभावी रूप से उन्हें अक्षम करना)। हालांकि, इसे अक्सर लागू करना मुश्किल माना जाता है और इसलिए बहुत कम-शक्ति वाले डिजाइनों के बाहर सामान्य उपयोग नहीं देखा जाता है। एक उल्लेखनीय हाल ही में सीपीयू डिज़ाइन जो व्यापक घड़ी गेटिंग का उपयोग करता है, वह है IBM PowerPC- आधारित Xenon Xbox 360 में उपयोग किया जाता है; इस तरह, Xbox 360 की बिजली की आवश्यकताएं बहुत कम हो जाती हैं।[67]


क्लॉकलेस सीपीयू

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

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

वोल्टेज नियामक मॉड्यूल

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

पूर्णांक रेंज

प्रत्येक सीपीयू (CPU) एक विशिष्ट तरीके से संख्यात्मक मूल्यों का प्रतिनिधित्व करता है।उदाहरण के लिए, कुछ शुरुआती डिजिटल कंप्यूटरों ने परिचित दशमलव (आधार 10) अंक प्रणाली मूल्यों के रूप में संख्याओं का प्रतिनिधित्व किया, और अन्य ने अधिक असामान्य अभ्यावेदन जैसे कि टर्नरी (आधार तीन) को नियोजित किया है।लगभग सभी आधुनिक सीपीयू द्विआधारी रूप में संख्याओं का प्रतिनिधित्व करते हैं, प्रत्येक अंक को कुछ दो-मूल्यवान भौतिक मात्रा जैसे कि उच्च या निम्न वोल्टेज द्वारा दर्शाया जाता है।[lower-alpha 6]

दशमलव मूल्य 40 के बाइनरी एन्कोडेड प्रतिनिधित्व वाले एक छह-बिट शब्द। अधिकांश आधुनिक सीपीयू शब्द आकारों को नियोजित करते हैं जो दो की शक्ति हैं, उदाहरण के लिए 8, 16, 32 या 64 बिट्स।

संख्यात्मक प्रतिनिधित्व से संबंधित पूर्णांक संख्याओं का आकार और सटीकता है जो एक सीपीयू का प्रतिनिधित्व कर सकता है।एक बाइनरी सीपीयू के मामले में, यह बिट्स (एक बाइनरी एन्कोडेड पूर्णांक के महत्वपूर्ण अंकों) की संख्या से मापा जाता है, जिसे सीपीयू एक ऑपरेशन में संसाधित कर सकता है, जिसे आमतौर पर वर्ड साइज, बिट चौड़ाई, डेटा पथ चौड़ाई, पूर्णांक सटीकता कहा जाता है, या पूर्णांक आकार।एक सीपीयू का पूर्णांक आकार पूर्णांक मानों की सीमा को निर्धारित करता है जो सीधे संचालित हो सकता है।[lower-alpha 7] उदाहरण के लिए, एक 8-बिट कंप्यूटिंग | 8-बिट सीपीयू सीधे आठ बिट्स द्वारा प्रतिनिधित्व किए गए पूर्णांक में हेरफेर कर सकता है, जिसमें 256 की सीमा होती है (2 (28 ) असतत पूर्णांक मान।

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

बड़े शब्द आकार के साथ सीपीयू को अधिक सर्किटरी की आवश्यकता होती है और परिणामस्वरूप शारीरिक रूप से बड़े होते हैं, अधिक लागत और अधिक शक्ति का उपभोग करते हैं (और इसलिए अधिक गर्मी उत्पन्न करते हैं)। नतीजतन, छोटे 4- या 8-बिट माइक्रोकंट्रोलर आमतौर पर आधुनिक अनुप्रयोगों में उपयोग किए जाते हैं, भले ही बहुत बड़े शब्द आकार (जैसे कि 16, 32, 64, यहां तक ​​कि 128-बिट) उपलब्ध हैं। जब उच्च प्रदर्शन की आवश्यकता होती है, हालांकि, एक बड़े शब्द आकार (बड़े डेटा रेंज और एड्रेस स्पेस) के लाभों से नुकसान हो सकता है। एक सीपीयू में आकार और लागत को कम करने के लिए शब्द आकार की तुलना में आंतरिक डेटा पथ हो सकते हैं। उदाहरण के लिए, भले ही आईबीएम सिस्टम/360 इंस्ट्रक्शन सेट एक 32-बिट इंस्ट्रक्शन सेट था, सिस्टम/360 आईबीएम सिस्टम/360 मॉडल 30 | मॉडल 30 और आईबीएम सिस्टम/360 मॉडल 40 | मॉडल 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)।

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

  • निर्देश-स्तर समानांतरवाद (ILP), जो उस दर को बढ़ाने का प्रयास करता है जिस पर एक सीपीयू के भीतर निर्देश निष्पादित किए जाते हैं (यानी, ऑन-डाई निष्पादन संसाधनों के उपयोग को बढ़ाने के लिए);
  • टास्क-लेवल समानता (टीएलपी), जो थ्रेड्स या प्रक्रियाओं की संख्या को बढ़ाने के उद्देश्य से है कि एक सीपीयू एक साथ निष्पादित कर सकता है।

प्रत्येक कार्यप्रणाली उन दोनों तरीकों से अलग होती है, जिनमें वे लागू होते हैं, साथ ही साथ वे सापेक्ष प्रभावशीलता भी लेते हैं जो वे एक आवेदन के लिए सीपीयू के प्रदर्शन को बढ़ाते हैं।[lower-alpha 8]


निर्देश-स्तर समानांतरवाद

मूल पांच-चरण पाइपलाइन।सबसे अच्छे मामले के परिदृश्य में, यह पाइपलाइन प्रति घड़ी चक्र में एक निर्देश की पूर्णता दर को बनाए रख सकती है।

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

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

एक साधारण सुपरस्केलर पाइपलाइन।एक समय में दो निर्देशों को प्राप्त करने और भेजने से, प्रति घड़ी चक्र प्रति अधिकतम दो निर्देश पूरे किए जा सकते हैं।

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

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

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

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

कार्य-स्तरीय समानांतरवाद

प्रदर्शन को प्राप्त करने की एक और रणनीति समानांतर में कई थ्रेड्स या प्रक्रियाओं को निष्पादित करना है।अनुसंधान के इस क्षेत्र को समानांतर कंप्यूटिंग के रूप में जाना जाता है।[71] फ्लिन के टैक्सोनॉमी में, इस रणनीति को कई निर्देश, कई डेटा के रूप में जाना जाता है। मल्टीपल इंस्ट्रक्शन स्ट्रीम, मल्टीपल डेटा स्ट्रीम (MIMD)।[72] इस उद्देश्य के लिए उपयोग की जाने वाली एक तकनीक बहुप्रतीक्षित (एमपी) थी।[73] इस तकनीक के प्रारंभिक स्वाद को सममित मल्टीप्रोसेसिंग (एसएमपी) के रूप में जाना जाता है, जहां सीपीयू की एक छोटी संख्या उनकी मेमोरी सिस्टम के सुसंगत दृश्य को साझा करती है। इस योजना में, प्रत्येक सीपीयू में मेमोरी के लगातार अप-टू-डेट दृश्य को बनाए रखने के लिए अतिरिक्त हार्डवेयर है। मेमोरी के बासी दृश्यों से बचने से, सीपीयू एक ही कार्यक्रम में सहयोग कर सकता है और कार्यक्रम एक सीपीयू से दूसरे में माइग्रेट कर सकते हैं। 1990 के दशक में एक मुट्ठी भर, गैर-समान मेमोरी एक्सेस (NUMA) और निर्देशिका-आधारित सुसंगतता प्रोटोकॉल जैसी योजनाओं से परे सीपीयू (CPU)s की संख्या बढ़ाने के लिए। एसएमपी सिस्टम सीपीयू की एक छोटी संख्या तक सीमित हैं, जबकि हजारों प्रोसेसर के साथ NUMA सिस्टम बनाए गए हैं। प्रारंभ में, प्रोसेसर के बीच इंटरकनेक्ट को लागू करने के लिए कई असतत सीपीयू और बोर्डों का उपयोग करके मल्टीप्रोसेसिंग का निर्माण किया गया था। जब प्रोसेसर और उनके इंटरकनेक्ट सभी को एक ही चिप पर लागू किया जाता है, तो तकनीक को चिप-लेवल मल्टीप्रोसेसिंग (सीएमपी) और एकल चिप को मल्टी-कोर प्रोसेसर के रूप में जाना जाता है।

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

1970 के दशक से 2000 के दशक की शुरुआत में कई दशकों तक, उच्च प्रदर्शन सामान्य उद्देश्य सीपीयू को डिजाइन करने में ध्यान काफी हद तक पाइपलाइनिंग, कैश, सुपरस्केलर निष्पादन, आउट-ऑफ-ऑर्डर निष्पादन, आदि जैसी प्रौद्योगिकियों के माध्यम से उच्च आईएलपी को प्राप्त करने पर था। , पावर-भूख सीपीयू जैसे कि इंटेल पेंटियम 4. 2000 के दशक की शुरुआत में, सीपीयू डिजाइनरों को सीपीयू ऑपरेटिंग आवृत्तियों और मुख्य मेमोरी ऑपरेटिंग आवृत्तियों के साथ-साथ सीपीयू पावर अपव्यय के कारण बढ़ती असमानता के कारण आईएलपी तकनीकों से उच्च प्रदर्शन प्राप्त करने से विफल कर दिया गया था। अधिक गूढ़ ILP तकनीकों के लिए।

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

जोर का यह उलट दोहरी और अधिक कोर प्रोसेसर डिजाइनों के प्रसार से स्पष्ट है और विशेष रूप से, इंटेल के नए डिजाइन इसके कम सुपरस्केलर P6 (माइक्रोआर्किटेक्चर) से मिलते जुलते हैं। P6 आर्किटेक्चर। कई प्रोसेसर परिवारों में लेट डिज़ाइन सीएमपी को प्रदर्शित करते हैं, जिसमें x86-64 ओप्टरन और एथलॉन 64 X2, SPARC अल्ट्रासपेरक T1, IBM POWER4 और POWER5, साथ ही Xbox 360 के ट्रिपल-कोर POWERPC डिजाइन जैसे कई वीडियो गेम कंसोल सीपीयू (CPU) शामिल हैं, और साथ ही कई वीडियो गेम कंसोल सीपीयू (CPU) भी शामिल हैं, और प्लेस्टेशन 37-कोर सेल माइक्रोप्रोसेसर।

डेटा समानांतरवाद

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

अधिकांश प्रारंभिक वेक्टर प्रोसेसर, जैसे कि क्रे -1, लगभग विशेष रूप से वैज्ञानिक अनुसंधान और क्रिप्टोग्राफी अनुप्रयोगों के साथ जुड़े थे। हालांकि, जैसा कि मल्टीमीडिया ने बड़े पैमाने पर डिजिटल मीडिया में स्थानांतरित कर दिया है, सामान्य-उद्देश्य प्रोसेसर में SIMD के कुछ रूप की आवश्यकता महत्वपूर्ण हो गई है। फ्लोटिंग-पॉइंट इकाइयों को शामिल करने के कुछ समय बाद सामान्य-उद्देश्य वाले प्रोसेसर में आम होने लगे, सिमड निष्पादन इकाइयों के कार्यान्वयन और कार्यान्वयन भी सामान्य-उद्देश्य प्रोसेसर के लिए दिखाई देने लगे।[when?] इन शुरुआती SIMD विनिर्देशों में से कुछ-जैसे एचपी के मल्टीमीडिया त्वरण एक्सटेंशन (अधिकतम) और इंटेल के एमएमएक्स-केवल पूर्णांक थे।यह कुछ सॉफ्टवेयर डेवलपर्स के लिए एक महत्वपूर्ण बाधा साबित हुआ, क्योंकि कई अनुप्रयोग जो SIMD से लाभान्वित होते हैं, मुख्य रूप से फ्लोटिंग-पॉइंट अंकगणित के साथ सौदा करते हैं। फ्लोटिंग-पॉइंट नंबर।उत्तरोत्तर, डेवलपर्स ने इन शुरुआती डिजाइनों को कुछ सामान्य आधुनिक SIMD विनिर्देशों में परिष्कृत और रीमेक किया, जो आमतौर पर एक निर्देश सेट आर्किटेक्चर (ISA) से जुड़े होते हैं।कुछ उल्लेखनीय आधुनिक उदाहरणों में इंटेल के स्ट्रीमिंग सिमड एक्सटेंशन (एसएसई) और पावरपीसी-संबंधित अल्टिवेक (जिसे वीएमएक्स के रूप में भी जाना जाता है) शामिल हैं।[lower-alpha 10]


हार्डवेयर प्रदर्शन काउंटर

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

कई प्रमुख विक्रेता (जैसे कि आईबीएम, इंटेल, एएमडी, और एआरएम आदि) सॉफ्टवेयर इंटरफेस (आमतौर पर सी/सी ++ में लिखा गया) प्रदान करते हैं, जिनका उपयोग मेट्रिक्स प्राप्त करने के लिए सीपीयू रजिस्टरों से डेटा एकत्र करने के लिए किया जा सकता है।[77] ऑपरेटिंग सिस्टम विक्रेता भी सॉफ्टवेयर जैसे सॉफ्टवेयर प्रदान करते हैं (लिनक्स) कर्नेल और अनुप्रयोगों को चलाने वाले सीपीयू इवेंट्स को रिकॉर्ड, बेंचमार्क या ट्रेस करने के लिए।

आभासी सीपीयू (Virtual CPUs)

सीपीयू संचालन को आभासी सेंट्रल प्रोसेसिंग यूनिट (vCPUs[78]) में उप-विभाजित करना क्लाउड कंप्यूटिंग (cloud computing) में सम्मिलित हो सकता है।[79]

होस्ट (Host), एक भौतिक मशीन का आभासी समकक्ष है, जिस पर एक आभासी तंत्र कार्य करता है।[80] जब कई भौतिक मशीनें मिलकर कार्य करती हैं और समग्र रूप से प्रबंधित होती हैं, तो समूहीकृत कंप्यूटिंग और मेमोरी संसाधन एक समूह (cluster) बनाते हैं। कुछ प्रणालियों में समूह में गतिशील रूप से जोड़ना और निकालना संभव है। होस्ट और समूह स्तर पर उपलब्ध संसाधनों को बारीक कणिकता (granularity) के साथ संसाधन पूल में विभाजित किया जा सकता है।

प्रदर्शन

एक प्रोसेसर का प्रदर्शन या गति कई अन्य कारकों पर निर्भर करता है, जिनमें घड़ी की दर (सामान्यतः हर्ट्ज के गुणकों में) और निर्देश प्रति घड़ी (IPC), जो एक साथ प्रति सेकंड निर्देशों (IPS) के कारक हैं, जिसका प्रदर्शन सीपीयू (CPU) कर सकता है।[81] रिपोर्ट किए गए कई आईपीएस (IPS) मूल्यों ने कुछ शाखाओं के साथ कृत्रिम निर्देश अनुक्रमों पर "पीक (Peak)" निष्पादन दर का प्रतिनिधित्व किया है, जबकि यथार्थवादी कार्यभार में निर्देशों और अनुप्रयोगों का मिश्रण होता है, जिनमें से कुछ को दूसरों की तुलना में निष्पादित करने में अधिक समय लगता है। एमआईपीएस (MIPS) गणना में मुश्किल से माना जाने वाला एक मुद्दा, मेमोरी पदानुक्रम का प्रदर्शन भी प्रोसेसर के प्रदर्शन को बहुत प्रभावित करता है। इन समस्याओं के कारण, विभिन्न मानकीकृत परीक्षणों को सामान्यतः उपयोग किए जाने वाले अनुप्रयोगों में वास्तविक प्रभावी प्रदर्शन को मापने के प्रयास के लिए विकसित किया गया है, जिन्हें प्रायः इस उद्देश्य के लिए "बेंचमार्क" कहा जाता है, जैसे स्पेकआईएनटी (SPECint)।

मल्टी-कोर प्रोसेसर (multi-core processor) का उपयोग करके कंप्यूटर के प्रसंस्करण प्रदर्शन को बढ़ाया जाता है, जो अनिवार्य रूप से दो या दो से अधिक व्यक्तिगत प्रोसेसर (इस अर्थ में कोर) को एक एकीकृत परिपथ में जोड़ता है।[82] आदर्श रूप से, एक द्वि-कोर प्रोसेसर (dual core processor), एकल कोर प्रोसेसर (single core processor) से लगभग दोगुना शक्तिशाली होता है। व्यवहार में, अपूर्ण सॉफ़्टवेयर एल्गोरिदम (software algorithm) और कार्यान्वयन के कारण, प्रदर्शन लाभ बहुत कम, केवल लगभग 50% होता है।[83] एक प्रोसेसर में कोरों की संख्या (अर्थात ड्यूल-कोर, क्वाड-कोर, आदि) में वृद्धि से कार्यभार बढ़ जाता है जिसे संभाला जा सकता है। इसका अर्थ यह है कि प्रोसेसर अब कई अतुल्यकालिक (asynchronous) घटनाओं, अवरोधों आदि को संभाल सकता है, जो अत्यधिक होने पर सीपीयू पर भारी पड़ सकता है। इन कोरों को एक प्रसंस्करण संयंत्र में अलग-अलग तलों के रूप में माना जा सकता है, जिनमें प्रत्येक तल एक अलग कार्य को संभालता है। कभी-कभी, ये कोर उसी तरह के कार्यों को संभालते हैं, जैसे कि उनके आस-पास के कोर, अगर सूचना को संभालने के लिए पर्याप्त नहीं हैं।

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

यह भी देखें

  • पता मोड (addressing mode)
  • एएमडी (AMD) त्वरित प्रसंस्करण इकाई
  • सीआईएससी (CISC)
  • कंप्यूटर बस
  • कंप्यूटर अभियांत्रिकी
  • सीपीयू कोर वोल्टेज
  • सीपीयू सॉकेट (CPU socket)
  • डिजिटल सिग्नल प्रोसेसर
  • जीपीयू (GPU)
  • अनुदेश सेट की सूची
  • संरक्षण की रिंग
  • आरआईएससी (RISC)
  • धारा प्रसंस्करण
  • सही प्रदर्शन सूचकांक
  • टीपीयू (TPU)
  • प्रतीक्षा अवस्था


टिप्पणियाँ

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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. 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.
  9. 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).
  10. 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.


संदर्भ

  1. Kuck, David (1978). Computers and Computations, Vol 1. John Wiley & Sons, Inc. p. 12. ISBN 978-0471027164.
  2. 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.
  3. 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)
  4. Regan, Gerard (2008). A Brief History of Computing. p. 66. ISBN 978-1848000834. Retrieved 26 November 2014.
  5. Weik, Martin H. (1955). "A Survey of Domestic Electronic Digital Computing Systems". Ballistic Research Laboratory. {{cite journal}}: Cite journal requires |journal= (help)
  6. 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)
  7. "Bit By Bit". Haverford College. Archived from the original on October 13, 2012. Retrieved August 1, 2015.
  8. "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)
  9. Stanford University. "The Modern History of Computing". The Stanford Encyclopedia of Philosophy. Retrieved September 25, 2015.
  10. "ENIAC's Birthday". The MIT Press. February 9, 2016. Archived from the original on October 17, 2018. Retrieved October 17, 2018.
  11. Enticknap, Nicholas (Summer 1998), "Computing's Golden Jubilee", Resurrection, The Computer Conservation Society (20), ISSN 0958-7403, retrieved 26 June 2019
  12. "The Manchester Mark 1". The University of Manchester. Retrieved September 25, 2015.
  13. "The First Generation". Computer History Museum. Retrieved September 29, 2015.
  14. "The History of the Integrated Circuit". Nobelprize.org. Retrieved July 17, 2022.
  15. Turley, Jim (11 August 2003). "Motoring with microprocessors". Embedded. Retrieved November 15, 2015.
  16. "Mobile Processor Guide – Summer 2013". Android Authority. 2013-06-25. Retrieved November 15, 2015.
  17. "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.
  18. "ARM946 Processor". ARM. Archived from the original on 17 November 2015.
  19. "Konrad Zuse". Computer History Museum. Retrieved September 29, 2015.
  20. "Timeline of Computer History: Computers". Computer History Museum. Retrieved November 21, 2015.
  21. White, Stephen. "A Brief History of Computing - First Generation Computers". Retrieved November 21, 2015.
  22. "Harvard University Mark - Paper Tape Punch Unit". Computer History Museum. Retrieved November 21, 2015.
  23. "What is the difference between a von Neumann architecture and a Harvard architecture?". ARM. Retrieved November 22, 2015.
  24. "Advanced Architecture Optimizes the Atmel AVR CPU". Atmel. Archived from the original on November 14, 2015. Retrieved November 22, 2015.
  25. "Switches, transistors and relays". BBC. Archived from the original on 5 December 2016.
  26. "Introducing the Vacuum Transistor: A Device Made of Nothing". IEEE Spectrum. 2014-06-23. Retrieved 27 January 2019.
  27. What Is Computer Performance?. The National Academies Press. 2011. doi:10.17226/12980. ISBN 978-0-309-15951-7. Retrieved May 16, 2016.
  28. "1953: Transistorized Computers Emerge". Computer History Museum. Retrieved June 3, 2016.
  29. "IBM System/360 Dates and Characteristics". IBM. 2003-01-23.
  30. 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.
  31. Brodkin, John (7 April 2014). "50 years ago, IBM created mainframe that helped send men to the Moon". Ars Technica. Retrieved 9 April 2016.
  32. Clarke, Gavin. "Why won't you DIE? IBM's S/360 and its legacy at 50". The Register. Retrieved 9 April 2016.
  33. "Online PDP-8 Home Page, Run a PDP-8". PDP8. Retrieved September 25, 2015.
  34. "Transistors, Relays, and Controlling High-Current Loads". New York University. ITP Physical Computing. Retrieved 9 April 2016.
  35. Lilly, Paul (2009-04-14). "A Brief History of CPUs: 31 Awesome Years of x86". PC Gamer. Retrieved June 15, 2016.
  36. 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.
  37. "1962: Aerospace systems are first the applications for ICs in computers". Computer History Museum. Retrieved October 9, 2018.
  38. "The integrated circuits in the Apollo manned lunar landing program". National Aeronautics and Space Administration. Retrieved October 9, 2018.
  39. "System/370 Announcement". IBM Archives. 2003-01-23. Retrieved October 25, 2017.
  40. "System/370 Model 155 (Continued)". IBM Archives. 2003-01-23. Retrieved October 25, 2017.
  41. "Models and Options". The Digital Equipment Corporation PDP-8. Retrieved June 15, 2018.
  42. 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. 43.0 43.1 Ken Shirriff. "The Texas Instruments TMX 1795: the first, forgotten microprocessor".
  44. "Speed & Power in Logic Families"..
  45. T. J. Stonham. "Digital Logic Techniques: Principles and Practice". 1996. p. 174.
  46. "1968: Silicon Gate Technology Developed for ICs". Computer History Museum.
  47. R. K. Booher. "MOS GP Computer". afips, pp.877, 1968 Proceedings of the Fall Joint Computer Conference, 1968 doi:10.1109/AFIPS.1968.126
  48. "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.
  49. Bigelow, Stephen J. (March 2022). "What is a multicore processor and how does it work?". TechTarget. Retrieved July 17, 2022.
  50. Richard Birkby. "A Brief History of the Microprocessor". computermuseum.li. Archived from the original on September 23, 2015. Retrieved October 13, 2015.
  51. Osborne, Adam (1980). An Introduction to Microcomputers. Vol. 1: Basic Concepts (2nd ed.). Berkeley, California: Osborne-McGraw Hill. ISBN 978-0-931988-34-9.
  52. Zhislina, Victoria (2014-02-19). "Why has CPU frequency ceased to grow?". Intel. Retrieved October 14, 2015.
  53. "MOS Transistor - Electrical Engineering & Computer Science" (PDF). University of California. Retrieved October 14, 2015.
  54. Simonite, Tom. "Moore's Law Is Dead. Now What?". MIT Technology Review (in English). Retrieved 2018-08-24.
  55. "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)
  56. "A detailed history of the processor". Tech Junkie. 15 December 2016.
  57. Eigenmann, Rudolf; Lilja, David (1998). "Von Neumann Computers". Wiley Encyclopedia of Electrical and Electronics Engineering. doi:10.1002/047134608X.W1704. ISBN 047134608X. S2CID 8197337.
  58. Aspray, William (September 1990). "The stored program concept". IEEE Spectrum. Vol. 27, no. 9. p. 51. doi:10.1109/6.58457.
  59. Saraswat, Krishna. "Trends in Integrated Circuits Technology" (PDF). Retrieved June 15, 2018.
  60. "Electromigration". Middle East Technical University. Retrieved June 15, 2018.
  61. Ian Wienand (September 3, 2013). "Computer Science from the Bottom Up, Chapter 3. Computer Architecture" (PDF). bottomupcs.com. Retrieved January 7, 2015.
  62. "Introduction of Control Unit and its Design". GeeksforGeeks (in English). 2018-09-24. Retrieved 2021-01-12.
  63. 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]
  64. Gabriel Torres (September 12, 2007). "How The Cache Memory Works".[verification needed]
  65. 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]
  66. "IBM z13 and IBM z13s Technical Introduction" (PDF). IBM. March 2016. p. 20.[verification needed]
  67. Brown, Jeffery (2005). "Application-customized CPU design". IBM developerWorks. Archived from the original on 2006-02-12. Retrieved 2005-12-17.
  68. 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.
  69. IBM System/360 Model 65 Functional Characteristics (PDF). IBM. September 1968. pp. 8–9. A22-6884-3.
  70. 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.
  71. Gottlieb, Allan; Almasi, George S. (1989). Highly parallel computing. Redwood City, Calif.: Benjamin/Cummings. ISBN 978-0-8053-0177-9.
  72. 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.
  73. 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.
  74. 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.
  75. 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.
  76. Herath, Nishad; Fogh, Anders (2015). "CPU Hardware Performance Counters for Security" (PDF). USA: Black Hat. Archived (PDF) from the original on 2015-09-05.
  77. 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
  78. 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.
  79. 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.
  80. "VMware Infrastructure Architecture Overview- White Paper" (PDF). VMware. VMware. 2006.
  81. "CPU Frequency". CPU World Glossary. CPU World. 25 March 2008. Retrieved 1 January 2010.
  82. "What is (a) multi-core processor?". Data Center Definitions. SearchDataCenter.com. Retrieved 8 August 2016.
  83. "Quad Core Vs. Dual Core". 8 April 2010.
  84. Tegtmeier, Martin. "CPU utilization of multi-threaded architectures explained". Oracle. Retrieved July 17, 2022.


बाहरी संबंध

]