संगणक वास्तुकला: Difference between revisions

From Vigyanwiki
No edit summary
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[File:ABasicComputer.svg|thumb|495x495px|यूनिप्रोसेसर सीपीयू के साथ एक बुनियादी कंप्यूटर का ब्लॉक आरेख। काली रेखाएँ डेटा प्रवाह को दर्शाती हैं, जबकि लाल रेखाएँ नियंत्रण प्रवाह को दर्शाती हैं। तीर प्रवाह की दिशा का संकेत देते हैं।]]
[[File:ABasicComputer.svg|thumb|495x495px|यूनिप्रोसेसर सीपीयू के साथ एक बुनियादी कंप्यूटर का ब्लॉक आरेख। काली रेखाएँ डेटा प्रवाह को दर्शाती हैं, जबकि लाल रेखाएँ नियंत्रण प्रवाह को दर्शाती हैं। तीर प्रवाह की दिशा का संकेत देते हैं।]]


'''कम्प्यूटर वास्तुकला''' (कम्प्यूटर आर्किटेक्चर), [[ संगणक |कम्प्यूटर अभियांत्रिकी]] में कम्प्यूटर सिस्टम की कार्यक्षमता, संगठन और कार्यान्वयन का वर्णन करने वाले नियमों और विधियों का एक समूह है। एक सिस्टम की वास्तुकला, उसके अलग-अलग निर्दिष्ट घटकों और उनके अंतर्संबंधों के संदर्भ में इसकी संरचना को संदर्भित करने का कार्य करती है।<ref>{{cite web|last=Dragoni|first=Nicole|title=Introduction to peer to peer computing|url=http://www2.imm.dtu.dk/courses/02220/2017/L6/P2P.pdf|website=DTU Compute – Department of Applied Mathematics and Computer Science|location=Lyngby, Denmark|date=n.d.}}</ref>
'''संगणक वास्तुकला''' (कम्प्यूटर आर्किटेक्चर), [[ संगणक |कम्प्यूटर अभियांत्रिकी]] में कम्प्यूटर सिस्टम की कार्यक्षमता, व्यवस्था और कार्यान्वयन का वर्णन करने वाले नियमों और विधियों का एक समूह है। एक सिस्टम की आर्किटेक्चर, उसके अलग-अलग निर्दिष्ट घटकों और उनके अंतर्संबंधों के संदर्भ में इसकी संरचना को संदर्भित करने का कार्य करती है।<ref>{{cite web|last=Dragoni|first=Nicole|title=Introduction to peer to peer computing|url=http://www2.imm.dtu.dk/courses/02220/2017/L6/P2P.pdf|website=DTU Compute – Department of Applied Mathematics and Computer Science|location=Lyngby, Denmark|date=n.d.}}</ref>


वास्तुकला की कुछ परिभाषायें, किसी विशेष कार्यान्वयन के रूप में परिभाषित करने के स्थान पर, इसे कंप्यूटर की क्षमताओं और प्रोग्रामिंग मॉडल का वर्णन करने के रूप में परिभाषित करती हैं।<ref>{{cite book|last1=Clements|first1=Alan|title=Principles of Computer Hardware|page=1|edition=Fourth|quote=Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.}}</ref> अन्य परिभाषाओं के आधार पर, कंप्यूटर वास्तुकला [[ निर्देश सेट वास्तुकला |निर्देश समूह वास्तुकला]] संरचना, [[ माइक्रोआर्किटेक्चर |सूक्ष्म वास्तुकला]] संरचना, [[ तर्क डिजाइन |तर्क संरचना]] और कार्यान्वयन आदि को सम्मिलित करती है।<ref>{{cite book|last1=Hennessy|first1=John|last2=Patterson|first2=David|title=Computer Architecture: A Quantitative Approach|page=11|edition=Fifth|quote=This task has many aspects, including instruction set design, functional organization, logic design, and implementation.}}</ref>
आर्किटेक्चर की कुछ परिभाषायें, किसी विशेष कार्यान्वयन के रूप में परिभाषित करने के स्थान पर, इसे कंप्यूटर की क्षमताओं और प्रोग्रामिंग मॉडल का वर्णन करने के रूप में परिभाषित करती हैं।<ref>{{cite book|last1=Clements|first1=Alan|title=Principles of Computer Hardware|page=1|edition=Fourth|quote=Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.}}</ref> अन्य परिभाषाओं के आधार पर, कंप्यूटर आर्किटेक्चर [[ निर्देश सेट वास्तुकला |निर्देश समूह आर्किटेक्चर]] संरचना, [[ माइक्रोआर्किटेक्चर |सूक्ष्म आर्किटेक्चर]] संरचना, [[ तर्क डिजाइन |तर्क संरचना]] और कार्यान्वयन आदि को सम्मिलित करती है।<ref>{{cite book|last1=Hennessy|first1=John|last2=Patterson|first2=David|title=Computer Architecture: A Quantitative Approach|page=11|edition=Fifth|quote=This task has many aspects, including instruction set design, functional organization, logic design, and implementation.}}</ref>
== इतिहास ==
== इतिहास ==
प्रथम प्रलेखित कंप्यूटर वास्तुकला, [[ विश्लेषणात्मक इंजन |विश्लेषणात्मक इंजन]] का वर्णन करते हुए [[ चार्ल्स बैबेज |चार्ल्स बैबेज]] और [[ लवलेस है |एडा लवलेस]] के परस्पर सहयोग से निर्मित थी। वर्ष 1936 में कम्प्यूटर [[ Z1 (कंप्यूटर) |ज़ेड1]] के निर्माण के समय, [[ कोनराड ज़ुसे |कोनराड ज़ुसे]] ने अपनी भविष्य की परियोजनाओं के लिए दो एकाधिकार (पेटेंट) आवेदनों में [[ स्टोर-प्रोग्राम कंप्यूटर |संग्रहण-प्रोग्राम]] संकल्पना का वर्णन किया, जिसके अनुसार डेटा के लिए उपयोग किए जाने वाले एक ही भंडारण में यन्त्र निर्देशों को भी संग्रहीत किया जा सकता है।<ref>{{citation |title=Electronic Digital Computers |journal=Nature |date=25 September 1948 |volume=162 |page=487 |url=http://www.computer50.org/kgill/mark1/natletter.html |access-date=2009-04-10 |doi=10.1038/162487a0 |archive-url=https://web.archive.org/web/20090406014626/http://www.computer50.org/kgill/mark1/natletter.html |archive-date=6 April 2009 |url-status=dead |last1=Williams |first1=F. C. |last2=Kilburn |first2=T. |issue=4117 |bibcode=1948Natur.162..487W |s2cid=4110351 }}</ref><ref>Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000</ref> दो अन्य प्रारंभिक और महत्वपूर्ण उदाहरण निम् हैं:
प्रथम प्रलेखित कंप्यूटर आर्किटेक्चर, [[ विश्लेषणात्मक इंजन |विश्लेषणात्मक इंजन]] का वर्णन करते हुए [[ चार्ल्स बैबेज |चार्ल्स बैबेज]] और [[ लवलेस है |एडा लवलेस]] के परस्पर सहयोग से निर्मित थी। वर्ष 1936 में कम्प्यूटर [[ Z1 (कंप्यूटर) |ज़ेड1]] के निर्माण के समय, [[ कोनराड ज़ुसे |कोनराड ज़ुसे]] ने अपनी भविष्य की परियोजनाओं के लिए दो एकाधिकार (पेटेंट) आवेदनों में [[ स्टोर-प्रोग्राम कंप्यूटर |संग्रहण-प्रोग्राम]] संकल्पना का वर्णन किया, जिसके अनुसार डेटा के लिए उपयोग किए जाने वाले एक ही भंडारण में यन्त्र निर्देशों को भी संग्रहीत किया जा सकता है।<ref>{{citation |title=Electronic Digital Computers |journal=Nature |date=25 September 1948 |volume=162 |page=487 |url=http://www.computer50.org/kgill/mark1/natletter.html |access-date=2009-04-10 |doi=10.1038/162487a0 |archive-url=https://web.archive.org/web/20090406014626/http://www.computer50.org/kgill/mark1/natletter.html |archive-date=6 April 2009 |url-status=dead |last1=Williams |first1=F. C. |last2=Kilburn |first2=T. |issue=4117 |bibcode=1948Natur.162..487W |s2cid=4110351 }}</ref><ref>Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000</ref> दो अन्य प्रारंभिक और महत्वपूर्ण उदाहरण हैं:
*[[ जॉन वॉन न्यूमैन |जॉन वॉन न्यूमैन]] का वर्ष 1945 का पेपर, [[ ईडीवीएसी पर एक रिपोर्ट का पहला मसौदा |ईडीवीएसी पर एक रिपोर्ट का पहला मसौदा]], जिसमें तार्किक तत्वों के एक संगठन का वर्णन किया गया था;<ref>{{Cite book|title=First Draft of a Report on the EDVAC|last=Neumann|first=John|year=1945|pages=9}}</ref> और
*[[ जॉन वॉन न्यूमैन |जॉन वॉन न्यूमैन]] का वर्ष 1945 का पेपर, [[ ईडीवीएसी पर एक रिपोर्ट का पहला मसौदा |ईडीवीएसी पर एक रिपोर्ट का पहला मसौदा]], जिसमें तार्किक तत्वों के एक संगठन का वर्णन किया गया था।<ref>{{Cite book|title=First Draft of a Report on the EDVAC|last=Neumann|first=John|year=1945|pages=9}}</ref>
*वर्ष 1945 में ही [[ स्वचालित कंप्यूटिंग इंजन |स्वचालित कंप्यूटिंग इंजन]] के लिए एलन ट्यूरिंग का अधिक विस्तृत ''प्रस्तावित इलेक्ट्रॉनिक गणक'', जिसमें जॉन वॉन न्यूमैन के पेपर का हवाला दिया गया था।<ref>Reproduced in B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454.</ref>
*वर्ष 1945 में ही [[ स्वचालित कंप्यूटिंग इंजन |स्वचालित कंप्यूटिंग इंजन]] के लिए एलन ट्यूरिंग का अधिक विस्तृत ''प्रस्तावित इलेक्ट्रॉनिक गणक'', जिसमें जॉन वॉन न्यूमैन के पेपर का हवाला दिया गया था।<ref>Reproduced in B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454.</ref>
वर्ष 1959 में आईबीएम के मुख्य अनुसंधान केंद्र में यन्त्र संगठन विभाग के सदस्यों लाइल आर. जॉनसन और फ्रेडरिक पी. ब्रूक्स, जूनियर के कार्य से कंप्यूटर शास्त्र में "वास्तुकला" शब्द के बारे में पता लगाया जा सकता है। जॉनसन को [[ लॉस एलामोस नेशनल लेबोरेटरी |लॉस एलामोस राष्ट्रीय प्रयोगशाला]] (तत्कालीन लॉस एलामोस वैज्ञानिक प्रयोगशाला) के लिए आईबीएम द्वारा विकसित [[ सुपर कंप्यूटर |सुपर कंप्यूटर]], [[ आईबीएम 7030 खिंचाव |स्ट्रेच]] के बारे में एक मालिकाना अनुसंधान संचार लिखने का अवसर मिला। शानदार ढंग से अलंकृत कंप्यूटर पर चर्चा के विस्तार के स्तर का वर्णन करने के लिए, उन्होंने पाया कि प्रारूपों, निर्देश प्रकार, हार्डवेयर प्राचलों और गति वृद्धि के उनके विवरण, "मशीन संगठन" शब्द से अधिक उपयोगी शब्द "सिस्टम वास्तुकला" के स्तर पर थे। "<ref>{{cite web|url=https://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/05-10/102634114.pdf |last1= Johnson |first1=Lyle| title= A Description of Stretch|page=1|year=1960|access-date=7 October 2017}}</ref>  
वर्ष 1959 में आईबीएम के मुख्य अनुसंधान केंद्र में यन्त्र संगठन विभाग के सदस्यों लाइल आर. जॉनसन और फ्रेडरिक पी. ब्रूक्स, जूनियर के कार्य से कंप्यूटर शास्त्र में "आर्किटेक्चर" शब्द के बारे में पता लगाया जा सकता है। जॉनसन को [[ लॉस एलामोस नेशनल लेबोरेटरी |लॉस एलामोस राष्ट्रीय प्रयोगशाला]] (तत्कालीन लॉस एलामोस वैज्ञानिक प्रयोगशाला) के लिए आईबीएम द्वारा विकसित [[ सुपर कंप्यूटर |सुपर कंप्यूटर]], [[ आईबीएम 7030 खिंचाव |स्ट्रेच]] के बारे में एक सांपातिक अनुसंधान संचार लिखने का अवसर मिला। शानदार ढंग से अलंकृत कंप्यूटर पर चर्चा के विस्तार के स्तर का वर्णन करने के लिए, उन्होंने पाया कि प्रारूपों, निर्देश प्रकार, हार्डवेयर प्राचलों और गति वृद्धि के उनके विवरण, "मशीन संगठन" शब्द से अधिक उपयोगी शब्द "सिस्टम आर्किटेक्चर" के स्तर पर थे। "<ref>{{cite web|url=https://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/05-10/102634114.pdf |last1= Johnson |first1=Lyle| title= A Description of Stretch|page=1|year=1960|access-date=7 October 2017}}</ref>  


इसके बाद, एक स्ट्रेच रचनाकार ब्रूक्स ने ''प्लानिंग ए कंप्यूटर सिस्टम'': ''प्रोजेक्ट स्ट्रेच'' नामक पुस्तक का अध्याय 2 प्रारंभ किया, जिसमें कहा गया था, कि "कंप्यूटर वास्तुकला भी, अन्य वास्तुकलाओं की तरह ही एक संरचना के उपयोगकर्ता की आवश्यकताओं को निर्धारित करने और फिर उन्हें आर्थिक और तकनीकी प्रतिबंधों के भीतर उन आवश्यकताओं को यथासंभव प्रभावी ढंग से पूरा करते हुए संरचित करने की कला है।"<ref>{{Cite book |title= Planning a Computer System|last=Buchholz |first=Werner|year=1962|pages=5}}</ref>
इसके बाद, एक स्ट्रेच रचनाकार ब्रूक्स ने ''प्लानिंग ए कंप्यूटर सिस्टम'': ''प्रोजेक्ट स्ट्रेच'' नामक पुस्तक का अध्याय 2 प्रारंभ किया, जिसमें कहा गया था, कि "कंप्यूटर आर्किटेक्चर भी, अन्य आर्किटेक्चरओं की तरह ही एक संरचना के उपयोगकर्ता की आवश्यकताओं को निर्धारित करने और फिर उन्हें आर्थिक और तकनीकी प्रतिबंधों के भीतर उन आवश्यकताओं को यथासंभव प्रभावी ढंग से पूरा करते हुए संरचित करने की कला है।"<ref>{{Cite book |title= Planning a Computer System|last=Buchholz |first=Werner|year=1962|pages=5}}</ref>


ब्रूक्स ने आईबीएम सिस्टम/360 (अब [[ आईबीएम zSeries |आईबीएम ज़ेड-श्रृंखला]]) कंप्यूटर की लाइन विकसित करने में मदद की, जिसमें "वास्तुकला" एक संज्ञा बन गया जो "उपयोगकर्ता की आवश्यकताओं को जानना" को परिभाषित करता है।[[:en:Computer_architecture#cite_note-10|<sup>[10]</sup>]] कंप्यूटर उपयोगकर्ता बाद में इस शब्द का प्रयोग बहुत कम स्पष्ट तरीकों से करने लगे।<ref>{{cite book|last1=Hellige|first1=Hans Dieter|title=Geschichten der Informatik: Visionen, Paradigmen, Leitmotive|chapter=Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom "system of organs" zum Schichtmodell des Designraums| pages=411–472|year=2004}}</ref>
ब्रूक्स ने आईबीएम सिस्टम/360 (अब [[ आईबीएम zSeries |आईबीएम ज़ेड-श्रृंखला]]) कंप्यूटर की लाइन विकसित करने में मदद की, जिसमें "आर्किटेक्चर" एक संज्ञा बन गया जो "उपयोगकर्ता की आवश्यकताओं को जानना" को परिभाषित करता है।[[:en:Computer_architecture#cite_note-10|<sup>[10]</sup>]] कंप्यूटर उपयोगकर्ता बाद में इस शब्द का प्रयोग बहुत कम स्पष्ट तरीकों से करने लगे।<ref>{{cite book|last1=Hellige|first1=Hans Dieter|title=Geschichten der Informatik: Visionen, Paradigmen, Leitmotive|chapter=Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom "system of organs" zum Schichtmodell des Designraums| pages=411–472|year=2004}}</ref>


प्रारंभिक कंप्यूटर वास्तुकला को कागज पर संरचित किया गया था और फिर सीधे अंतिम हार्डवेयर रूप में बनाया गया था।<ref>ACE underwent seven paper designs in one year, before a prototype was initiated in 1948. [B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57]</ref> कंप्यूटर वास्तुकला के मूलरूप को बाद में भौतिक रूप से एक ट्रांजिस्टर-ट्रांजिस्टर तार्किक (टीटीएल) कंप्यूटर के रूप में बनाया गया था - जैसे कि 6800 और [[ PA-RISC |PA-RISC]] के मूलरूप, फिर इनका परीक्षण किया गया, और अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले ट्वीक किया गया। नई कंप्यूटर वास्तुकलायें 1990 के दशक तक सामान्यतः "निर्मित" थीं, और इनका [[ कंप्यूटर वास्तुकला सिम्युलेटर |कंप्यूटर वास्तुकला सिम्युलेटर]] में किसी अन्य कंप्यूटर वास्तुकला के अंदर या एफपीजीए के अंदर एक [[ सॉफ्ट माइक्रोप्रोसेसर |सॉफ्ट माइक्रोप्रोसेसर]] के रूप में या दोनों के लिए अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले परीक्षण और ट्वीक किया जाता था।<ref>{{Cite web|url=https://www.cise.ufl.edu/~mssz/CompOrg/CDAintro.html|title=Organization of Computer Systems|last=Schmalz|first=M.S.|website=UF CISE|access-date=11 May 2017}}</ref>
प्रारंभिक कंप्यूटर आर्किटेक्चर को कागज पर संरचित किया गया था और फिर सीधे अंतिम हार्डवेयर रूप में बनाया गया था।<ref>ACE underwent seven paper designs in one year, before a prototype was initiated in 1948. [B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57]</ref> कंप्यूटर आर्किटेक्चर के मूलरूप को बाद में भौतिक रूप से एक ट्रांजिस्टर-ट्रांजिस्टर तार्किक (टीटीएल) कंप्यूटर के रूप में बनाया गया था - जैसे कि 6800 और [[ PA-RISC |PA-RISC]] के मूलरूप, फिर इनका परीक्षण किया गया, और अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले ट्वीक किया गया। नई कंप्यूटर आर्किटेक्चरयें 1990 के दशक तक सामान्यतः "निर्मित" थीं, और इनका [[ कंप्यूटर वास्तुकला सिम्युलेटर |कंप्यूटर आर्किटेक्चर सिम्युलेटर]] में किसी अन्य कंप्यूटर आर्किटेक्चर के अंदर या एफपीजीए के अंदर एक [[ सॉफ्ट माइक्रोप्रोसेसर |सॉफ्ट माइक्रोप्रोसेसर]] के रूप में या दोनों के लिए अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले परीक्षण और ट्वीक किया जाता था।<ref>{{Cite web|url=https://www.cise.ufl.edu/~mssz/CompOrg/CDAintro.html|title=Organization of Computer Systems|last=Schmalz|first=M.S.|website=UF CISE|access-date=11 May 2017}}</ref>
== उपश्रेणियाँ ==
== उपश्रेणियाँ ==
कंप्यूटर वास्तुकला के अनुशासन में तीन मुख्य उपश्रेणियाँ हैं:<ref name=HennessyPattersonQuantitative>{{cite book|author=John L. Hennessy and David A. Patterson|title=Computer Architecture: A Quantitative Approach|edition=Third|publisher=Morgan Kaufmann Publishers}}</ref>
कंप्यूटर आर्किटेक्चर के विषय में तीन मुख्य उपश्रेणियाँ हैं:<ref name=HennessyPattersonQuantitative>{{cite book|author=John L. Hennessy and David A. Patterson|title=Computer Architecture: A Quantitative Approach|edition=Third|publisher=Morgan Kaufmann Publishers}}</ref>
* इंस्ट्रक्शन सेट आर्किटेक्चर (आईएसए): [[ मशीन कोड ]] को परिभाषित करता है जिसे एक [[ कंप्यूटर प्रोसेसर ]] पढ़ता है और साथ ही शब्द आकार, [[ एड्रेसिंग मोड ]], [[ प्रोसेसर रजिस्टर ]] और [[ डेटा प्रकार ]] पर कार्य करता है।
*'''निर्देश सेट आर्किटेक्चर''' (आईएसए): यह उस [[ मशीन कोड |मशीन कोड]] को परिभाषित करता है, जो एक [[ कंप्यूटर प्रोसेसर |कंप्यूटर प्रोसेसर]] द्वारा पढ़ा जाता है और साथ ही शब्द आकार, [[ एड्रेसिंग मोड |मेमोरी एड्रेसिंग मोड]], [[ प्रोसेसर रजिस्टर |प्रोसेसर रजिस्टर]] और [[ डेटा प्रकार |डेटा प्रकार]] पर कार्य करता है।
* माइक्रोआर्किटेक्चर: कंप्यूटर संगठन के रूप में भी जाना जाता है, यह बताता है कि एक विशेष केंद्रीय प्रसंस्करण इकाई आईएसए को कैसे लागू करेगी।<ref>{{cite book|title= Dictionary of Computer Science, Engineering, and Technology|last=Laplante|first=Phillip A.|year=2001|publisher=CRC Press|isbn=0-8493-2691-5|pages=94–95}}</ref> उदाहरण के लिए, कंप्यूटर के CPU कैश का आकार एक ऐसा मुद्दा है जिसका आम तौर पर ISA से कोई लेना-देना नहीं है।
*'''सूक्ष्म-आर्किटेक्चर''': इसे "कंप्यूटर संगठन" के रूप में भी जाना जाता है, यह बताता है कि एक विशेष प्रोसेसर निर्देश सेट आर्किटेक्चर को कैसे प्रयुक्त करेगा।<ref>{{cite book|title= Dictionary of Computer Science, Engineering, and Technology|last=Laplante|first=Phillip A.|year=2001|publisher=CRC Press|isbn=0-8493-2691-5|pages=94–95}}</ref> उदाहरण के लिए, कंप्यूटर के सीपीयू कैश का आकार एक ऐसा मुद्दा है, जिसका सामान्यतः निर्देश सेट आर्किटेक्चर से कोई लेना-देना नहीं है।
* [[ सिस्टम डिजाइन ]]: एक कंप्यूटिंग सिस्टम के भीतर अन्य सभी हार्डवेयर घटक शामिल हैं, जैसे [[ सीपीयू कैश ]] अलावा डेटा प्रोसेसिंग (जैसे, [[ प्रत्यक्ष मेमोरी एक्सेस ]]), [[ वर्चुअलाइजेशन ]] और [[ बहु ]]।
*[[ सिस्टम डिजाइन |'''सिस्टम संरचना''']]: यह एक कंप्यूटिंग सिस्टम के भीतर अन्य सभी हार्डवेयर घटकों को सम्मिलित करता है, जैसे [[ सीपीयू कैश |सीपीयू]] के अलावा डेटा प्रोसेसिंग (जैसे, [[ प्रत्यक्ष मेमोरी एक्सेस |प्रत्यक्ष मेमोरी एक्सेस]]), [[ वर्चुअलाइजेशन |आभासीकरण]] और [[ बहु |मल्टीप्रोसेसिंग]]।


कंप्यूटर आर्किटेक्चर में अन्य प्रौद्योगिकियां हैं। निम्नलिखित तकनीकों का उपयोग इंटेल जैसी बड़ी कंपनियों में किया जाता है, और इसका अनुमान 2002 में लगाया गया था<ref name=HennessyPattersonQuantitative></ref> सभी कंप्यूटर आर्किटेक्चर का 1% गिनने के लिए:
कंप्यूटर आर्किटेक्चर में अन्य प्रौद्योगिकियाँ भी हैं। इंटेल जैसी बड़ी कंपनियों में निम्नलिखित तकनीकों का उपयोग किया जाता है, और वर्ष 2002 में यह अनुमान लगाया गया था<ref name=HennessyPattersonQuantitative></ref> कि इनकी गणना सभी कंप्यूटर आर्किटेक्चरओं के 1% के लिए की जाती है:
* मैक्रोआर्किटेक्चर: माइक्रोआर्किटेक्चर की तुलना में [[ वास्तु परत ]]्स अधिक अमूर्त
*'''मैक्रोआर्किटेक्चर''': [[ वास्तु परत |आर्किटेक्चर परतें]] सूक्ष्म-आर्किटेक्चर की तुलना में अधिक सारगर्भित हैं।
* असेंबली निर्देश सेट आर्किटेक्चर: एक स्मार्ट असेंबलर अलग-अलग कार्यान्वयन के लिए मशीनों के समूह के लिए एक अमूर्त असेंबली भाषा को थोड़ा अलग [[ मशीन भाषा ]] में परिवर्तित कर सकता है।
*'''एकत्रण निर्देश सेट आर्किटेक्चर''': एक स्मार्ट एकत्रक अलग-अलग कार्यान्वयन के लिए यंत्रों के समूह के लिए सामान्य एकत्रण भाषा को थोड़ा अलग [[ मशीन भाषा |यांत्रिक भाषा]] में परिवर्तित कर सकता है।
* [[ प्रोग्रामर ]]-दृश्यमान मैक्रोआर्किटेक्चर: उच्च-स्तरीय भाषा उपकरण जैसे कि [[ संकलक ]] प्रोग्रामर्स के लिए एक सुसंगत इंटरफ़ेस या अनुबंध को परिभाषित कर सकते हैं, जो अंतर्निहित आईएसए, यूआईएसए और माइक्रोआर्किटेक्चर के बीच अंतर को अमूर्त करते हैं। उदाहरण के लिए, [[ सी (प्रोग्रामिंग भाषा) ]], सी ++, या [[ जावा (प्रोग्रामिंग भाषा) ]] मानक विभिन्न प्रोग्रामर-दृश्यमान मैक्रोआर्किटेक्चर को परिभाषित करते हैं।
*'''[[ प्रोग्रामर |प्रोग्रामर]]-दृश्यमान मैक्रोआर्किटेक्चर''': यह उच्च-स्तरीय भाषा उपकरण जैसे कि [[ संकलक |संकलक]] प्रोग्रामर्स के लिए एक सुसंगत इंटरफ़ेस या अनुबंध को परिभाषित कर सकता है, जो अंतर्निहित आईएसए, यूआईएसए और माइक्रोआर्किटेक्चर के बीच अंतर को अमूर्त करते हैं। उदाहरण के लिए, [[ सी (प्रोग्रामिंग भाषा) |सी (प्रोग्रामिंग भाषा)]], सी ++ , या [[ जावा (प्रोग्रामिंग भाषा) |जावा (प्रोग्रामिंग भाषा)]] मानक विभिन्न प्रोग्रामर-दृश्यमान मैक्रोआर्किटेक्चर को परिभाषित करते हैं।
*[[ माइक्रोकोड |'''माइक्रोकोड''']]: माइक्रोकोड एक ऐसा सॉफ्टवेयर है जो एक चिप पर संचालित होने के लिए निर्देशों का अनुवाद करता है। यह हार्डवेयर के चारों ओर एक आवरण की तरह कार्य करता है, जो हार्डवेयर के निर्देश सेट इंटरफ़ेस का पसंदीदा संस्करण प्रस्तुत करता है। यह निर्देश अनुवाद सुविधा चिप रचनाकारों को लचीले विकल्प प्रदान करती है: उदा 1. चिप का एक नया उन्नत संस्करण पुराने चिप संस्करण के समान सटीक निर्देश सेट को प्रस्तुत करने के लिए माइक्रोकोड का उपयोग कर सकता है, इसलिए निर्देश सेट को लक्षित करने वाले सभी सॉफ़्टवेयर बिना किसी बदलाव के नए चिप पर चल सकते हैं। उदा. 2. माइक्रोकोड एक ही अंतर्निहित चिप के लिए विभिन्न प्रकार के निर्देश सेट प्रस्तुत कर सकता है, जिससे यह व्यापक प्रकार के सॉफ़्टवेयर को संचालित करने की अनुमति प्रदान करता है।
*'''उपयोगकर्ता निर्देश सेट आर्किटेक्चर (यूआइएसए)''': यह [[ पावरपीसी |पावरपीसी]] आरआईएससी (RISC) प्रोसेसर द्वारा प्रदान किए गए आरआईएससी सीपीयू निर्देशों के तीन उपसमूहों में से एक को संदर्भित करता है। यूआईएसए उपसमूह आरआईएससी निर्देश, एप्लिकेशन विकासकों के लिए रुचिकर हैं। अन्य दो उपसमुच्चय आभासी वातावरण आर्किटेक्चर निर्देश (वीईए) और संचालित वातावरण आर्किटेक्चर (ओईए) हैं, जिनमें से वीईए का उपयोग आभासीकरण सिस्टम विकासकों द्वारा और ओईए का उपयोग संचालन सिस्टम विकासकों द्वारा किया जाता है।<ref>{{cite web|last1=Frey |first1=Brad |title=PowerPC Architecture Book, Version 2.02 |publisher=IBM Corporation |date=2005-02-24 |url=https://www.ibm.com/developerworks/systems/library/es-archguide-v2.html }}</ref>
*'''पिन आर्किटेक्चर''': ये हार्डवेयर के वे कार्य हैं, जो एक [[ माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]] को हार्डवेयर प्लेटफॉर्म को प्रदान करना चाहिए, उदाहरण के लिए, x86 पिन A20M, FERR/IGNNE, या FLUSH। साथ ही ये ऐसे संदेश भी होते हैं, जो प्रोसेसर को उत्सर्जित करना चाहिए ताकि बाहरी कैश को खाली किया जा सके। पिन आर्किटेक्चर कार्य, आईएसए कार्यों की तुलना में अधिक लचीले होते हैं क्योंकि बाहरी हार्डवेयर नए एन्कोडिंग के अनुकूल हो सकते हैं, या पिन से संदेश में बदल सकते हैं। इसके लिए शब्द "आर्किटेक्चर" उचित है, क्योंकि कार्यों को विस्तृत विधि बदल जाने पर भी संगत सिस्टम के लिए प्रदान किया जाना चाहिए।


* [[ माइक्रोकोड ]]: माइक्रोकोड एक सॉफ्टवेयर है जो चिप पर चलने के लिए निर्देशों का अनुवाद करता है। यह हार्डवेयर के चारों ओर एक आवरण की तरह कार्य करता है, जो हार्डवेयर के निर्देश सेट इंटरफ़ेस का पसंदीदा संस्करण प्रस्तुत करता है। यह निर्देश अनुवाद सुविधा चिप डिजाइनरों को लचीले विकल्प देती है: उदा। 1. चिप का एक नया उन्नत संस्करण पुराने चिप संस्करण के समान सटीक निर्देश सेट को प्रस्तुत करने के लिए माइक्रोकोड का उपयोग कर सकता है, इसलिए निर्देश सेट को लक्षित करने वाले सभी सॉफ़्टवेयर बिना किसी बदलाव के नए चिप पर चलेंगे। उदा. 2. माइक्रोकोड एक ही अंतर्निहित चिप के लिए विभिन्न प्रकार के निर्देश सेट प्रस्तुत कर सकता है, जिससे यह व्यापक प्रकार के सॉफ़्टवेयर को चलाने की अनुमति देता है।
== भूमिकाएँ ==
 
* यूआईएसए: यूजर इंस्ट्रक्शन सेट आर्किटेक्चर, [[ पावरपीसी ]] [[ जोखिम ]] प्रोसेसर द्वारा प्रदान किए गए आरआईएससी सीपीयू निर्देशों के तीन सबसेट में से एक को संदर्भित करता है। यूआईएसए सबसेट, वे आरआईएससी निर्देश हैं जो एप्लिकेशन डेवलपर्स के लिए रुचिकर हैं। अन्य दो उपसमुच्चय VEA (वर्चुअल एनवायरनमेंट आर्किटेक्चर) निर्देश हैं जिनका उपयोग वर्चुअलाइजेशन सिस्टम डेवलपर्स द्वारा किया जाता है, और OEA (ऑपरेटिंग एनवायरनमेंट आर्किटेक्चर) ऑपरेशन सिस्टम डेवलपर्स द्वारा उपयोग किया जाता है।<ref>{{cite web|last1=Frey |first1=Brad |title=PowerPC Architecture Book, Version 2.02 |publisher=IBM Corporation |date=2005-02-24 |url=https://www.ibm.com/developerworks/systems/library/es-archguide-v2.html }}</ref>
* पिन आर्किटेक्चर: हार्डवेयर फ़ंक्शंस जो एक [[ माइक्रोप्रोसेसर ]] को एक हार्डवेयर प्लेटफॉर्म को प्रदान करना चाहिए, जैसे, x[[ 86 ]] पिन A20M, FERR/IGNNE या FLUSH। साथ ही, संदेश जो प्रोसेसर को उत्सर्जित करना चाहिए ताकि बाहरी सीपीयू कैश को अमान्य (खाली) किया जा सके। पिन आर्किटेक्चर फ़ंक्शंस ISA फ़ंक्शंस की तुलना में अधिक लचीले होते हैं क्योंकि बाहरी हार्डवेयर नए एन्कोडिंग के अनुकूल हो सकते हैं, या पिन से संदेश में बदल सकते हैं। आर्किटेक्चर शब्द फिट बैठता है, क्योंकि संगत सिस्टम के लिए फ़ंक्शंस प्रदान किए जाने चाहिए, भले ही विस्तृत विधि बदल जाए।
 
== भूमिकाएं ==


=== परिभाषा ===
=== परिभाषा ===
कंप्यूटर आर्किटेक्चर का संबंध कंप्यूटर सिस्टम के प्रदर्शन, दक्षता, लागत और विश्वसनीयता को संतुलित करने से है। इन प्रतिस्पर्धी कारकों के संतुलन को स्पष्ट करने के लिए निर्देश सेट आर्किटेक्चर के मामले का उपयोग किया जा सकता है। अधिक जटिल निर्देश सेट प्रोग्रामर को अधिक स्थान कुशल प्रोग्राम लिखने में सक्षम बनाता है, क्योंकि एक ही निर्देश कुछ उच्च-स्तरीय अमूर्तता (जैसे x86 लूप निर्देश) को एन्कोड कर सकता है।<ref>{{cite book |last1=Null |first1=Linda |title=The Essentials of Computer Organization and Architecture |date=2019 |publisher=Jones & Bartlett Learning |location=Burlington, MA |isbn=9781284123036 |page=280 |edition=5th}}</ref> हालांकि, लंबे और अधिक जटिल निर्देश प्रोसेसर को डीकोड करने में अधिक समय लेते हैं और प्रभावी ढंग से लागू करने के लिए अधिक महंगा हो सकता है। बड़े निर्देश सेट से बढ़ी हुई जटिलता भी अविश्वसनीयता के लिए अधिक जगह बनाती है जब निर्देश अप्रत्याशित तरीके से इंटरैक्ट करते हैं।
कंप्यूटर आर्किटेक्चर, कंप्यूटर सिस्टम के प्रदर्शन, दक्षता, लागत और विश्वसनीयता के संतुलन से सम्बंधित है। इन प्रतिस्पर्धी कारकों के संतुलन को स्पष्ट करने के लिए निर्देश सेट आर्किटेक्चर के मुद्दे का उपयोग किया जा सकता है। अधिक जटिल निर्देश सेट, प्रोग्रामकर्ता को अधिक स्थान कुशल प्रोग्राम लिखने में सक्षम बनाता है, क्योंकि एक ही निर्देश एक्स86 लूप निर्देश जैसे कुछ उच्च-स्तरीय पृथक्करण (जैसे) को एन्कोड कर सकता है।<ref>{{cite book |last1=Null |first1=Linda |title=The Essentials of Computer Organization and Architecture |date=2019 |publisher=Jones & Bartlett Learning |location=Burlington, MA |isbn=9781284123036 |page=280 |edition=5th}}</ref> हालांकि, लंबे और अधिक जटिल निर्देश, प्रोसेसर को डीकोड करने में अधिक समय लेते हैं और प्रभावी ढंग से प्रयुक्त करने के लिए अधिक महंगे हो सकते हैं। जब निर्देश अप्रत्याशित तरीके से परस्पर प्रभावित करते हैं, तो बड़े निर्देश सेट से बढ़ी हुई जटिलता भी अविश्वसनीयता के लिए अधिक स्थान बनाती है।
 
कार्यान्वयन में एकीकृत सर्किट डिजाइन, पैकेजिंग, बिजली और शीतलन शामिल है। डिज़ाइन के अनुकूलन के लिए कंपाइलर, ऑपरेटिंग सिस्टम से लेकर लॉजिक डिज़ाइन और पैकेजिंग के बारे में जानकारी की आवश्यकता होती है।<ref>{{Cite web|url=https://www.cis.upenn.edu/~milom/cis501-Fall11/lectures/00_intro.pdf|title=What is computer architecture?|last=Martin|first=Milo|website=UPENN|access-date=11 May 2017}}</ref>
 


=== निर्देश सेट वास्तुकला ===
एकीकृत परिपथ संरचना, पैकेजिंग, विद्युत और शीतलन आदि क्रियायें इसके कार्यान्वयन में सम्मिलित है। संरचना के अनुकूलन के लिए संकलक (कंपाइलर), तार्किक संरचना के लिए ऑपरेटिंग सिस्टम और पैकेजिंग के बारे में जानकारी की आवश्यकता होती है।<ref>{{Cite web|url=https://www.cis.upenn.edu/~milom/cis501-Fall11/lectures/00_intro.pdf|title=What is computer architecture?|last=Martin|first=Milo|website=UPENN|access-date=11 May 2017}}</ref>
{{Main|Instruction set architecture}}
=== निर्देश सेट आर्किटेक्चर ===
{{Unreferenced section|date=March 2018}}
{{Main|निर्देश सेट वास्तुकला}}
एक निर्देश सेट आर्किटेक्चर (आईएसए) कंप्यूटर के सॉफ्टवेयर और हार्डवेयर के बीच इंटरफेस है और इसे मशीन के प्रोग्रामर के दृष्टिकोण के रूप में भी देखा जा सकता है। कंप्यूटर उच्च-स्तरीय प्रोग्रामिंग भाषाओं जैसे जावा, सी ++, या उपयोग की जाने वाली अधिकांश प्रोग्रामिंग भाषाओं को नहीं समझते हैं। एक प्रोसेसर केवल कुछ संख्यात्मक फैशन में एन्कोड किए गए निर्देशों को समझता है, आमतौर पर [[ बाइनरी अंक प्रणाली ]] के रूप में। सॉफ्टवेयर टूल, जैसे कि कंपाइलर, उन उच्च स्तरीय भाषाओं को निर्देशों में अनुवाद करते हैं जिन्हें प्रोसेसर समझ सकता है।
एक निर्देश सेट आर्किटेक्चर, कंप्यूटर के सॉफ्टवेयर और हार्डवेयर के बीच का इंटरफेस है, और इसे मशीन के प्रोग्रामर के दृष्टिकोण के रूप में भी देखा जा सकता है। कंप्यूटर उच्च-स्तरीय प्रोग्रामिंग भाषाओं जैसे जावा, सी ++ या उपयोग की जाने वाली अधिकांश प्रोग्रामिंग भाषाओं को नहीं समझते हैं। एक प्रोसेसर, सामान्यतः [[ बाइनरी अंक प्रणाली |द्विआधारी अंक प्रणाली]] जैसे केवल कुछ संख्यात्मक विधान में एन्कोड किए गए निर्देशों को समझ सकता है। सॉफ्टवेयर यन्त्र, कंपाइलर, प्रोसेसर द्वारा समझी जा सकने वाली उच्च स्तरीय भाषाओं का निर्देशों में अनुवाद करते है।


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


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


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


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


=== कंप्यूटर संगठन ===
=== कंप्यूटर संगठन ===
{{main | Microarchitecture}}
{{main |सूक्ष्म-वास्तुकला}}
कंप्यूटर संगठन प्रदर्शन-आधारित उत्पादों को अनुकूलित करने में मदद करता है। उदाहरण के लिए, सॉफ्टवेयर इंजीनियरों को प्रोसेसर की प्रोसेसिंग पावर जानने की जरूरत है। उन्हें न्यूनतम कीमत पर सबसे अधिक प्रदर्शन प्राप्त करने के लिए सॉफ़्टवेयर को अनुकूलित करने की आवश्यकता हो सकती है। इसके लिए कंप्यूटर के संगठन के काफी विस्तृत विश्लेषण की आवश्यकता हो सकती है। उदाहरण के लिए, एक एसडी कार्ड में, डिजाइनरों को कार्ड की व्यवस्था करने की आवश्यकता हो सकती है ताकि सबसे अधिक डेटा को सबसे तेज़ संभव तरीके से संसाधित किया जा सके।
कंप्यूटर संगठन प्रदर्शन-आधारित उत्पादों के अनुकूलन में सहायता प्रदान करता है। उदाहरण के लिए, सॉफ्टवेयर अभियंताओं को प्रोसेसर की प्रोसेसिंग क्षमता जानने की आवश्यकता है। उन्हें न्यूनतम कीमत पर अधिकतम प्रदर्शन प्राप्त करने हेतु सॉफ़्टवेयर को अनुकूलित करने की आवश्यकता हो सकती है। इसके लिए कंप्यूटर संगठन के काफी विस्तृत विश्लेषण की आवश्यकता हो सकती है। उदाहरण के लिए, एक एसडी कार्ड में, रचनाकारों को कार्ड को इस प्रकार व्यवस्थित करने की आवश्यकता हो सकती है, जिससे अत्यधिक डेटा को अति तीव्र संभव तरीके से संसाधित किया जा सके।


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


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


केंद्रीय प्रसंस्करण इकाइयों के लिए, संपूर्ण कार्यान्वयन प्रक्रिया को अलग तरीके से व्यवस्थित किया जाता है और इसे अक्सर [[ सीपीयू डिजाइन ]] के रूप में संदर्भित किया जाता है।
पूरी कार्यान्वयन प्रक्रिया को सीपीयू के लिए अलग तरीके से व्यवस्थित किया जाता है, और इसे प्रायः [[ सीपीयू डिजाइन |सीपीयू संरचना]] के रूप में जाना जाता है।


== डिजाइन लक्ष्य ==
== संरचना लक्ष्य ==
कंप्यूटर सिस्टम का सटीक रूप बाधाओं और लक्ष्यों पर निर्भर करता है। कंप्यूटर आर्किटेक्चर आमतौर पर मानकों, शक्ति बनाम प्रदर्शन, लागत, स्मृति क्षमता, [[ विलंबता (इंजीनियरिंग) ]] का व्यापार करते हैं (विलंबता एक नोड से स्रोत तक जाने के लिए जानकारी के लिए लगने वाला समय है) और थ्रूपुट। कभी-कभी अन्य विचार, जैसे कि सुविधाएँ, आकार, वजन, विश्वसनीयता और विस्तारशीलता भी कारक होते हैं।
कंप्यूटर सिस्टम का सटीक रूप बाधाओं और लक्ष्यों पर निर्भर करता है। कंप्यूटर आर्किटेक्चर सामान्यतः मानकों, शक्ति बनाम प्रदर्शन, लागत, मेमोरी क्षमता, [[ विलंबता (इंजीनियरिंग) |विलंबता]] (वह समय, जो एक नोड से स्रोत तक यात्रा करने हेतु जानकारी के लिए लेता है) और प्रवाह क्षमता का व्यापार करता है। कभी-कभी सुविधाएँ, आकार, वजन, विश्वसनीयता और विस्तारशीलता जैसे अन्य विचार भी इसके कारक होते हैं।


सबसे आम योजना एक गहन शक्ति विश्लेषण करती है और यह पता लगाती है कि पर्याप्त प्रदर्शन को बनाए रखते हुए बिजली की खपत को कैसे कम रखा जाए।
सबसे सामान्य योजना एक गहन शक्ति का विश्लेषण करती है, और यह जानकारी करती है कि पर्याप्त प्रदर्शन को बनाए रखते हुए बिजली की खपत को कैसे कम रखा जाए।


===प्रदर्शन ===
===प्रदर्शन ===
आधुनिक कंप्यूटर प्रदर्शन को अक्सर निर्देश प्रति चक्र (आईपीसी) में वर्णित किया जाता है, जो किसी भी घड़ी आवृत्ति पर वास्तुकला की दक्षता को मापता है; तेज आईपीसी दर का मतलब है कि कंप्यूटर तेज है। पुराने कंप्यूटरों में आईपीसी की संख्या 0.1 जितनी कम थी जबकि आधुनिक प्रोसेसर आसानी से 1 के करीब पहुंच जाते हैं। [[ सुपरस्केलर ]] प्रोसेसर प्रति घड़ी चक्र में कई निर्देशों को निष्पादित करके तीन से पांच आईपीसी तक पहुंच सकते हैं।{{citation needed|date=January 2020}}
आधुनिक कंप्यूटर प्रदर्शन को प्रायः निर्देश प्रति चक्र (आईपीसी) में वर्णित किया जाता है, जो किसी भी घड़ी आवृत्ति पर आर्किटेक्चर की दक्षता को मापता है; तेज आईपीसी दर का मतलब होता है कि कंप्यूटर तेज है। पुराने कंप्यूटरों में आईपीसी की संख्या 0.1 जितनी कम थी जबकि आधुनिक प्रोसेसर सरलता से आईपीसी की संख्या 1 के करीब पहुँच जाते हैं। [[ सुपरस्केलर |सुपरस्केलर]] प्रोसेसर प्रति घड़ी चक्र में कई निर्देशों को निष्पादित करके तीन से पांच आईपीसी तक पहुंच सकते हैं।  
मशीन-भाषा के निर्देशों की गणना करना भ्रामक होगा क्योंकि वे अलग-अलग आईएसए में अलग-अलग मात्रा में काम कर सकते हैं। मानक माप में निर्देश आईएसए के मशीन-भाषा निर्देशों की गिनती नहीं है, बल्कि माप की एक इकाई है, जो आमतौर पर [[ वैक्स ]] कंप्यूटर आर्किटेक्चर की गति पर आधारित होती है।


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


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


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


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


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


=== शक्ति दक्षता ===
=== शक्ति दक्षता ===
{{Main|Low-power electronics|Performance per watt}}
{{Main|निम्न-शक्ति इलेक्ट्रॉनिक्स|प्रति वाट प्रदर्शन }}
आधुनिक कंप्यूटरों में शक्ति दक्षता एक और महत्वपूर्ण माप है। एक उच्च शक्ति दक्षता को अक्सर कम गति या उच्च लागत के लिए कारोबार किया जा सकता है। कंप्यूटर आर्किटेक्चर में बिजली की खपत का जिक्र करते समय सामान्य माप एमआईपीएस/डब्ल्यू (प्रति सेकंड प्रति वाट लाखों निर्देश) है।
शक्ति दक्षता, आधुनिक कंप्यूटरों में एक और महत्वपूर्ण माप होती है। प्रायः निम्न गति या उच्च लागत के लिए एक उच्च शक्ति दक्षता का व्यापार किया जा सकता है। कंप्यूटर आर्किटेक्चर में विद्युत की खपत का जिक्र करते समय एमआईपीएस/डब्ल्यू (प्रति सेकंड प्रति वाट लाखों निर्देश (MIPS/W)) सबसे सामान्य माप है।


आधुनिक सर्किट में प्रति ट्रांजिस्टर कम शक्ति की आवश्यकता होती है क्योंकि प्रति चिप ट्रांजिस्टर की संख्या बढ़ती है।<ref>{{Cite web|url=http://eacharya.inflibnet.ac.in/data-server/eacharya-documents/53e0c6cbe413016f23443704_INFIEP_33/192/ET/33-192-ET-V1-S1__ssed_unit_4_module_10_integrated_circuits_and_fabrication_e-text.pdf|title=Integrated circuits and fabrication|access-date=8 May 2017}}</ref> ऐसा इसलिए है क्योंकि प्रत्येक ट्रांजिस्टर जिसे एक नई चिप में लगाया जाता है, उसे अपनी बिजली की आपूर्ति की आवश्यकता होती है और इसे बिजली देने के लिए नए रास्ते बनाने की आवश्यकता होती है। हालाँकि प्रति चिप ट्रांजिस्टर की संख्या धीमी गति से बढ़ने लगी है। इसलिए, एक चिप में अधिक से अधिक ट्रांजिस्टर फिट करने से अधिक महत्वपूर्ण नहीं होने पर, बिजली दक्षता उतनी ही महत्वपूर्ण होने लगी है। हाल के प्रोसेसर डिजाइनों ने इस जोर को दिखाया है क्योंकि वे एक चिप में अधिक से अधिक ट्रांजिस्टर को रटने के बजाय बिजली दक्षता पर अधिक ध्यान केंद्रित करते हैं।<ref>{{Cite web|url=http://www.samsung.com/semiconductor/minisite/Exynos/w/solution/mod_ap/8895/?CID=AFL-hq-mul-0813-11000170|title=Exynos 9 Series (8895)|website=Samsung|access-date=8 May 2017}}</ref> एम्बेडेड कंप्यूटरों की दुनिया में, थ्रूपुट और लेटेंसी के बाद बिजली दक्षता लंबे समय से एक महत्वपूर्ण लक्ष्य रहा है।
प्रति चिप ट्रांजिस्टरों की संख्या बढ़ने के साथ ही आधुनिक परिपथों में एक ट्रांजिस्टर में कम शक्ति की आवश्यकता होती है।<ref>{{Cite web|url=http://eacharya.inflibnet.ac.in/data-server/eacharya-documents/53e0c6cbe413016f23443704_INFIEP_33/192/ET/33-192-ET-V1-S1__ssed_unit_4_module_10_integrated_circuits_and_fabrication_e-text.pdf|title=Integrated circuits and fabrication|access-date=8 May 2017}}</ref> ऐसा इसलिए होता है क्योंकि एक नई चिप में लगाये गए प्रत्येक ट्रांजिस्टर को स्वयं की विद्युत आपूर्ति की आवश्यकता होती है और इसे विद्युत आपूर्ति के लिए नए मार्ग बनाने की आवश्यकता होती है। हालाँकि प्रति चिप ट्रांजिस्टरों की संख्या धीमी गति से बढ़ने लगी है। इसलिए, एक चिप में अधिक से अधिक ट्रांजिस्टर स्थापित करने से अधिक महत्वपूर्ण नहीं होने पर, शक्ति दक्षता उतनी ही महत्वपूर्ण हो गई है। हाल की प्रोसेसर संरचनाओं ने इस तथ्य पर बल दिया है क्योंकि वे एक चिप में अधिक से अधिक ट्रांजिस्टर को स्थापित करने के स्थान पर शक्ति दक्षता पर अधिक ध्यान केंद्रित करते हैं।<ref>{{Cite web|url=http://www.samsung.com/semiconductor/minisite/Exynos/w/solution/mod_ap/8895/?CID=AFL-hq-mul-0813-11000170|title=Exynos 9 Series (8895)|website=Samsung|access-date=8 May 2017}}</ref> प्रवाह क्षमता और विलंबता के बाद शक्ति दक्षता एम्बेडेड कंप्यूटरों की दुनिया में लंबे समय से एक महत्वपूर्ण लक्ष्य रहा है।


=== बाजार की मांग में बदलाव ===
=== बाजार की माँग में बदलाव ===
बिजली कटौती में सुधार की तुलना में पिछले कुछ वर्षों में घड़ी की आवृत्ति में वृद्धि धीमी गति से बढ़ी है। यह मूर के कानून के अंत और लंबे बैटरी जीवन की मांग और मोबाइल प्रौद्योगिकी के आकार में कमी से प्रेरित है। उच्च घड़ी दरों से बिजली की खपत और लघुकरण पर ध्यान केंद्रित करने में यह परिवर्तन बिजली की खपत में उल्लेखनीय कमी से दिखाया जा सकता है, जितना कि 50%, जो इंटेल द्वारा [[ हैसवेल (माइक्रोआर्किटेक्चर) ]] के रिलीज में रिपोर्ट किया गया था; जहां उन्होंने अपने बिजली खपत बेंचमार्क को 30 से 40 वाट से घटाकर 10-20 वाट कर दिया।<ref>{{Cite web|url=http://www.intel.com/content/dam/doc/white-paper/resources-xeon-measuring-processor-power-paper.pdf|title=Measuring Processor Power TDP vs ACP|date=April 2011|website=Intel|access-date=5 May 2017}}</ref> इसकी तुलना में 3 गीगाहर्ट्ज़ से 4 गीगाहर्ट्ज़ तक की प्रोसेसिंग स्पीड में वृद्धि (2002 से 2006)<ref>{{Cite web|url=https://www.cs.columbia.edu/~sedwards/classes/2012/3827-spring/advanced-arch-2011.pdf|title=History of Processor Performance|date=24 April 2012|website=cs.columbia.edu|access-date=5 May 2017}}</ref> यह देखा जा सकता है कि अनुसंधान और विकास में ध्यान घड़ी की आवृत्ति से हट रहा है और कम बिजली की खपत और कम जगह लेने की ओर बढ़ रहा है।
पिछले कुछ वर्षों में घड़ी की आवृत्ति में वृद्धि, विद्युत कटौती में सुधार की तुलना में धीमी गति से बढ़ी है। यह मूर के नियम के समापन, लंबे बैटरी जीवनकाल की माँग और मोबाइल प्रौद्योगिकी के आकार में कमी से प्रेरित है। उच्च घड़ी दरों के लिए विद्युत की खपत और लघुकरण पर ध्यान केंद्रित करने में यह परिवर्तन विद्युत की खपत (लगभग 50%) में उल्लेखनीय कमी से प्रदर्शित किया जा सकता है, जो इंटेल द्वारा [[ हैसवेल (माइक्रोआर्किटेक्चर) |हैसवेल सूक्ष्म-आर्किटेक्चर]] के प्रदर्शन में दर्ज किया गया था; जहां उन्होंने अपने विद्युत खपत के बेंचमार्क को 30-40 वाट से घटाकर 10-20 वाट कर दिया।<ref>{{Cite web|url=http://www.intel.com/content/dam/doc/white-paper/resources-xeon-measuring-processor-power-paper.pdf|title=Measuring Processor Power TDP vs ACP|date=April 2011|website=Intel|access-date=5 May 2017}}</ref> इसकी तुलना 3 गीगाहर्ट्ज़ से 4 गीगाहर्ट्ज़ (वर्ष 2002 से 2006)<ref>{{Cite web|url=https://www.cs.columbia.edu/~sedwards/classes/2012/3827-spring/advanced-arch-2011.pdf|title=History of Processor Performance|date=24 April 2012|website=cs.columbia.edu|access-date=5 May 2017}}</ref> की प्रसंस्करण गति में वृद्धि से करते हुए यह देखा जा सकता है कि अनुसंधान और विकास में ध्यान घड़ी की आवृत्ति से हटकर कम विद्युत की खपत और कम स्थान लेने की ओर बढ़ रहा है।


==यह भी देखें==
==यह भी देखें==
{{Portal|Electronics}}
{{cmn|colwidth=30em|
{{cmn|colwidth=30em|
* [[Comparison of CPU architectures]]
* [[सीपीयू वास्तु-कलाओं की तुलना]]
* [[Computer hardware]]
* [[कम्प्यूटर हार्डवेयर]]
* [[CPU design]]
* [[सीपीयू संरचना]]
* [[Floating point]]
* [[फ्लोटिंग प्वाइंट]]
* [[Harvard architecture]] ([[Modified Harvard architecture|Modified]])
* [[हार्वर्ड वास्तुकला]] ([[संशोधित हार्वर्ड वास्तुकला|संशोधित]])
* [[Dataflow architecture]]
* [[डेटा प्रवाह वास्तुकला]]
* [[Transport triggered architecture]]
* [[परिवहन प्रेरित वास्तुकला]]
* [[Reconfigurable computing]]
* [[पुन: कॉन्फ़िगर योग्य कंप्यूटिंग]]
* [[Influence of the IBM PC on the personal computer market]]
* [[व्यक्तिगत कंप्यूटर बाजार पर आईबीएम पीसी का प्रभाव]]
* [[Orthogonal instruction set]]
* [[लम्बवत निर्देश सेट]]
* [[Software architecture]]
* [[सॉफ़्टवेयर वास्तुकला]]
* [[von Neumann architecture]]
* [[वॉन न्यूमैन वास्तुकला]]
* [[Flynn's taxonomy]]
* [[फ्लिन का वर्गीकरण]]
}}
}}
==संदर्भ==
==संदर्भ==
{{Reflist}}
{{Reflist}}


 
*
==इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची==
 
*सेंट्रल प्रोसेसिंग यूनिट
*शब्द का आकार
*सभा की भाषा
*सी++
*उच्च स्तरीय प्रोग्रामिंग भाषा
*एम्यूलेटर
*फ्लोरप्लान (माइक्रोइलेक्ट्रॉनिक्स)
*प्रति चक्र निर्देश
*कार्यात्मक इकाई


== स्रोत ==
== स्रोत ==
Line 137: Line 119:
* गेरिट ब्लाउव|ब्लाउव, जीए, और फ्रेड ब्रूक्स|ब्रूक्स, एफपी, जूनियर, [http://domino.research.ibm.com/tchjr/journalindex.nsf/d9f0a910ab8b637485256bc80066aOpen393/95dc427e3fd30024a सिस्टम की संरचना भाग I- तार्किक संरचना की रूपरेखा], आईबीएम सिस्टम्स जर्नल, वॉल्यूम। 3, नहीं। 2, पीपी. 119-135, 1964.
* गेरिट ब्लाउव|ब्लाउव, जीए, और फ्रेड ब्रूक्स|ब्रूक्स, एफपी, जूनियर, [http://domino.research.ibm.com/tchjr/journalindex.nsf/d9f0a910ab8b637485256bc80066aOpen393/95dc427e3fd30024a सिस्टम की संरचना भाग I- तार्किक संरचना की रूपरेखा], आईबीएम सिस्टम्स जर्नल, वॉल्यूम। 3, नहीं। 2, पीपी. 119-135, 1964.
* {{Cite book |last= Tanenbaum |first=Andrew S. |author-link=Andrew S. Tanenbaum |title=Structured Computer Organization |year=1979 |publisher=Prentice-Hall |location=[[Englewood Cliffs, New Jersey]]  |isbn=0-13-148521-0}}
* {{Cite book |last= Tanenbaum |first=Andrew S. |author-link=Andrew S. Tanenbaum |title=Structured Computer Organization |year=1979 |publisher=Prentice-Hall |location=[[Englewood Cliffs, New Jersey]]  |isbn=0-13-148521-0}}
==बाहरी संबंध==
==बाहरी संबंध==
{{Commons category}}
* [http://portal.acm.org/toc.cfm?id=SERIES416&type=series&coll=GUIDE&dl=GUIDE&CFID=41492512&CFTOKEN=82922478 ISCA: Proceedings of the International Symposium on Computer Architecture]
* [http://portal.acm.org/toc.cfm?id=SERIES416&type=series&coll=GUIDE&dl=GUIDE&CFID=41492512&CFTOKEN=82922478 ISCA: Proceedings of the International Symposium on Computer Architecture]
* [http://www.microarch.org/ Micro: IEEE/ACM International Symposium on Microarchitecture]
* [http://www.microarch.org/ Micro: IEEE/ACM International Symposium on Microarchitecture]
Line 152: Line 131:
{{Authority control}}
{{Authority control}}


{{DEFAULTSORT:Computer Architecture}}[[Category:कंप्यूटर वास्तुकला| ]]
{{DEFAULTSORT:Computer Architecture}}
[[Category: केंद्रीय प्रसंस्करण इकाई]]
 


[[Category: Machine Translated Page]]
[[Category:AC with 0 elements|Computer Architecture]]
[[Category:Created On 06/09/2022]]
[[Category:All articles with unsourced statements|Computer Architecture]]
[[Category:Articles with hatnote templates targeting a nonexistent page|Computer Architecture]]
[[Category:Articles with unsourced statements from January 2020|Computer Architecture]]
[[Category:CS1 français-language sources (fr)]]
[[Category:CS1 maint]]
[[Category:CS1 Ελληνικά-language sources (el)]]
[[Category:Citation Style 1 templates|W]]
[[Category:Collapse templates|Computer Architecture]]
[[Category:Commons category link is the pagename|Computer Architecture]]
[[Category:Created On 06/09/2022|Computer Architecture]]
[[Category:Lua-based templates|Computer Architecture]]
[[Category:Machine Translated Page|Computer Architecture]]
[[Category:Multi-column templates|Computer Architecture]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Computer Architecture]]
[[Category:Pages using div col with small parameter|Computer Architecture]]
[[Category:Pages with script errors|Computer Architecture]]
[[Category:Sidebars with styles needing conversion|Computer Architecture]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|Computer Architecture]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite web]]
[[Category:Templates generating microformats|Computer Architecture]]
[[Category:Templates that add a tracking category|Computer Architecture]]
[[Category:Templates that are not mobile friendly|Computer Architecture]]
[[Category:Templates used by AutoWikiBrowser|Cite web]]
[[Category:Templates using TemplateData|Computer Architecture]]
[[Category:Templates using under-protected Lua modules|Computer Architecture]]
[[Category:Wikipedia fully protected templates|Div col]]
[[Category:Wikipedia metatemplates|Computer Architecture]]

Latest revision as of 15:53, 12 September 2023

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

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

आर्किटेक्चर की कुछ परिभाषायें, किसी विशेष कार्यान्वयन के रूप में परिभाषित करने के स्थान पर, इसे कंप्यूटर की क्षमताओं और प्रोग्रामिंग मॉडल का वर्णन करने के रूप में परिभाषित करती हैं।[2] अन्य परिभाषाओं के आधार पर, कंप्यूटर आर्किटेक्चर निर्देश समूह आर्किटेक्चर संरचना, सूक्ष्म आर्किटेक्चर संरचना, तर्क संरचना और कार्यान्वयन आदि को सम्मिलित करती है।[3]

इतिहास

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

वर्ष 1959 में आईबीएम के मुख्य अनुसंधान केंद्र में यन्त्र संगठन विभाग के सदस्यों लाइल आर. जॉनसन और फ्रेडरिक पी. ब्रूक्स, जूनियर के कार्य से कंप्यूटर शास्त्र में "आर्किटेक्चर" शब्द के बारे में पता लगाया जा सकता है। जॉनसन को लॉस एलामोस राष्ट्रीय प्रयोगशाला (तत्कालीन लॉस एलामोस वैज्ञानिक प्रयोगशाला) के लिए आईबीएम द्वारा विकसित सुपर कंप्यूटर, स्ट्रेच के बारे में एक सांपातिक अनुसंधान संचार लिखने का अवसर मिला। शानदार ढंग से अलंकृत कंप्यूटर पर चर्चा के विस्तार के स्तर का वर्णन करने के लिए, उन्होंने पाया कि प्रारूपों, निर्देश प्रकार, हार्डवेयर प्राचलों और गति वृद्धि के उनके विवरण, "मशीन संगठन" शब्द से अधिक उपयोगी शब्द "सिस्टम आर्किटेक्चर" के स्तर पर थे। "[8]

इसके बाद, एक स्ट्रेच रचनाकार ब्रूक्स ने प्लानिंग ए कंप्यूटर सिस्टम: प्रोजेक्ट स्ट्रेच नामक पुस्तक का अध्याय 2 प्रारंभ किया, जिसमें कहा गया था, कि "कंप्यूटर आर्किटेक्चर भी, अन्य आर्किटेक्चरओं की तरह ही एक संरचना के उपयोगकर्ता की आवश्यकताओं को निर्धारित करने और फिर उन्हें आर्थिक और तकनीकी प्रतिबंधों के भीतर उन आवश्यकताओं को यथासंभव प्रभावी ढंग से पूरा करते हुए संरचित करने की कला है।"[9]

ब्रूक्स ने आईबीएम सिस्टम/360 (अब आईबीएम ज़ेड-श्रृंखला) कंप्यूटर की लाइन विकसित करने में मदद की, जिसमें "आर्किटेक्चर" एक संज्ञा बन गया जो "उपयोगकर्ता की आवश्यकताओं को जानना" को परिभाषित करता है।[10] कंप्यूटर उपयोगकर्ता बाद में इस शब्द का प्रयोग बहुत कम स्पष्ट तरीकों से करने लगे।[10]

प्रारंभिक कंप्यूटर आर्किटेक्चर को कागज पर संरचित किया गया था और फिर सीधे अंतिम हार्डवेयर रूप में बनाया गया था।[11] कंप्यूटर आर्किटेक्चर के मूलरूप को बाद में भौतिक रूप से एक ट्रांजिस्टर-ट्रांजिस्टर तार्किक (टीटीएल) कंप्यूटर के रूप में बनाया गया था - जैसे कि 6800 और PA-RISC के मूलरूप, फिर इनका परीक्षण किया गया, और अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले ट्वीक किया गया। नई कंप्यूटर आर्किटेक्चरयें 1990 के दशक तक सामान्यतः "निर्मित" थीं, और इनका कंप्यूटर आर्किटेक्चर सिम्युलेटर में किसी अन्य कंप्यूटर आर्किटेक्चर के अंदर या एफपीजीए के अंदर एक सॉफ्ट माइक्रोप्रोसेसर के रूप में या दोनों के लिए अंतिम हार्डवेयर प्रारूप के लिए प्रतिबद्ध होने से पहले परीक्षण और ट्वीक किया जाता था।[12]

उपश्रेणियाँ

कंप्यूटर आर्किटेक्चर के विषय में तीन मुख्य उपश्रेणियाँ हैं:[13]

कंप्यूटर आर्किटेक्चर में अन्य प्रौद्योगिकियाँ भी हैं। इंटेल जैसी बड़ी कंपनियों में निम्नलिखित तकनीकों का उपयोग किया जाता है, और वर्ष 2002 में यह अनुमान लगाया गया था[13] कि इनकी गणना सभी कंप्यूटर आर्किटेक्चरओं के 1% के लिए की जाती है:

  • मैक्रोआर्किटेक्चर: आर्किटेक्चर परतें सूक्ष्म-आर्किटेक्चर की तुलना में अधिक सारगर्भित हैं।
  • एकत्रण निर्देश सेट आर्किटेक्चर: एक स्मार्ट एकत्रक अलग-अलग कार्यान्वयन के लिए यंत्रों के समूह के लिए सामान्य एकत्रण भाषा को थोड़ा अलग यांत्रिक भाषा में परिवर्तित कर सकता है।
  • प्रोग्रामर-दृश्यमान मैक्रोआर्किटेक्चर: यह उच्च-स्तरीय भाषा उपकरण जैसे कि संकलक प्रोग्रामर्स के लिए एक सुसंगत इंटरफ़ेस या अनुबंध को परिभाषित कर सकता है, जो अंतर्निहित आईएसए, यूआईएसए और माइक्रोआर्किटेक्चर के बीच अंतर को अमूर्त करते हैं। उदाहरण के लिए, सी (प्रोग्रामिंग भाषा), सी ++ , या जावा (प्रोग्रामिंग भाषा) मानक विभिन्न प्रोग्रामर-दृश्यमान मैक्रोआर्किटेक्चर को परिभाषित करते हैं।
  • माइक्रोकोड: माइक्रोकोड एक ऐसा सॉफ्टवेयर है जो एक चिप पर संचालित होने के लिए निर्देशों का अनुवाद करता है। यह हार्डवेयर के चारों ओर एक आवरण की तरह कार्य करता है, जो हार्डवेयर के निर्देश सेट इंटरफ़ेस का पसंदीदा संस्करण प्रस्तुत करता है। यह निर्देश अनुवाद सुविधा चिप रचनाकारों को लचीले विकल्प प्रदान करती है: उदा 1. चिप का एक नया उन्नत संस्करण पुराने चिप संस्करण के समान सटीक निर्देश सेट को प्रस्तुत करने के लिए माइक्रोकोड का उपयोग कर सकता है, इसलिए निर्देश सेट को लक्षित करने वाले सभी सॉफ़्टवेयर बिना किसी बदलाव के नए चिप पर चल सकते हैं। उदा. 2. माइक्रोकोड एक ही अंतर्निहित चिप के लिए विभिन्न प्रकार के निर्देश सेट प्रस्तुत कर सकता है, जिससे यह व्यापक प्रकार के सॉफ़्टवेयर को संचालित करने की अनुमति प्रदान करता है।
  • उपयोगकर्ता निर्देश सेट आर्किटेक्चर (यूआइएसए): यह पावरपीसी आरआईएससी (RISC) प्रोसेसर द्वारा प्रदान किए गए आरआईएससी सीपीयू निर्देशों के तीन उपसमूहों में से एक को संदर्भित करता है। यूआईएसए उपसमूह आरआईएससी निर्देश, एप्लिकेशन विकासकों के लिए रुचिकर हैं। अन्य दो उपसमुच्चय आभासी वातावरण आर्किटेक्चर निर्देश (वीईए) और संचालित वातावरण आर्किटेक्चर (ओईए) हैं, जिनमें से वीईए का उपयोग आभासीकरण सिस्टम विकासकों द्वारा और ओईए का उपयोग संचालन सिस्टम विकासकों द्वारा किया जाता है।[15]
  • पिन आर्किटेक्चर: ये हार्डवेयर के वे कार्य हैं, जो एक माइक्रोप्रोसेसर को हार्डवेयर प्लेटफॉर्म को प्रदान करना चाहिए, उदाहरण के लिए, x86 पिन A20M, FERR/IGNNE, या FLUSH। साथ ही ये ऐसे संदेश भी होते हैं, जो प्रोसेसर को उत्सर्जित करना चाहिए ताकि बाहरी कैश को खाली किया जा सके। पिन आर्किटेक्चर कार्य, आईएसए कार्यों की तुलना में अधिक लचीले होते हैं क्योंकि बाहरी हार्डवेयर नए एन्कोडिंग के अनुकूल हो सकते हैं, या पिन से संदेश में बदल सकते हैं। इसके लिए शब्द "आर्किटेक्चर" उचित है, क्योंकि कार्यों को विस्तृत विधि बदल जाने पर भी संगत सिस्टम के लिए प्रदान किया जाना चाहिए।

भूमिकाएँ

परिभाषा

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

एकीकृत परिपथ संरचना, पैकेजिंग, विद्युत और शीतलन आदि क्रियायें इसके कार्यान्वयन में सम्मिलित है। संरचना के अनुकूलन के लिए संकलक (कंपाइलर), तार्किक संरचना के लिए ऑपरेटिंग सिस्टम और पैकेजिंग के बारे में जानकारी की आवश्यकता होती है।[17]

निर्देश सेट आर्किटेक्चर

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

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

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

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

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

कंप्यूटर संगठन

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

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

कार्यान्वयन

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

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

पूरी कार्यान्वयन प्रक्रिया को सीपीयू के लिए अलग तरीके से व्यवस्थित किया जाता है, और इसे प्रायः सीपीयू संरचना के रूप में जाना जाता है।

संरचना लक्ष्य

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

सबसे सामान्य योजना एक गहन शक्ति का विश्लेषण करती है, और यह जानकारी करती है कि पर्याप्त प्रदर्शन को बनाए रखते हुए बिजली की खपत को कैसे कम रखा जाए।

प्रदर्शन

आधुनिक कंप्यूटर प्रदर्शन को प्रायः निर्देश प्रति चक्र (आईपीसी) में वर्णित किया जाता है, जो किसी भी घड़ी आवृत्ति पर आर्किटेक्चर की दक्षता को मापता है; तेज आईपीसी दर का मतलब होता है कि कंप्यूटर तेज है। पुराने कंप्यूटरों में आईपीसी की संख्या 0.1 जितनी कम थी जबकि आधुनिक प्रोसेसर सरलता से आईपीसी की संख्या 1 के करीब पहुँच जाते हैं। सुपरस्केलर प्रोसेसर प्रति घड़ी चक्र में कई निर्देशों को निष्पादित करके तीन से पांच आईपीसी तक पहुंच सकते हैं।

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

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

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

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

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

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

शक्ति दक्षता

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

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

बाजार की माँग में बदलाव

पिछले कुछ वर्षों में घड़ी की आवृत्ति में वृद्धि, विद्युत कटौती में सुधार की तुलना में धीमी गति से बढ़ी है। यह मूर के नियम के समापन, लंबे बैटरी जीवनकाल की माँग और मोबाइल प्रौद्योगिकी के आकार में कमी से प्रेरित है। उच्च घड़ी दरों के लिए विद्युत की खपत और लघुकरण पर ध्यान केंद्रित करने में यह परिवर्तन विद्युत की खपत (लगभग 50%) में उल्लेखनीय कमी से प्रदर्शित किया जा सकता है, जो इंटेल द्वारा हैसवेल सूक्ष्म-आर्किटेक्चर के प्रदर्शन में दर्ज किया गया था; जहां उन्होंने अपने विद्युत खपत के बेंचमार्क को 30-40 वाट से घटाकर 10-20 वाट कर दिया।[20] इसकी तुलना 3 गीगाहर्ट्ज़ से 4 गीगाहर्ट्ज़ (वर्ष 2002 से 2006)[21] की प्रसंस्करण गति में वृद्धि से करते हुए यह देखा जा सकता है कि अनुसंधान और विकास में ध्यान घड़ी की आवृत्ति से हटकर कम विद्युत की खपत और कम स्थान लेने की ओर बढ़ रहा है।

यह भी देखें

संदर्भ

  1. Dragoni, Nicole (n.d.). "Introduction to peer to peer computing" (PDF). DTU Compute – Department of Applied Mathematics and Computer Science. Lyngby, Denmark.
  2. Clements, Alan. Principles of Computer Hardware (Fourth ed.). p. 1. Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same architecture.
  3. Hennessy, John; Patterson, David. Computer Architecture: A Quantitative Approach (Fifth ed.). p. 11. This task has many aspects, including instruction set design, functional organization, logic design, and implementation.
  4. Williams, F. C.; Kilburn, T. (25 September 1948), "Electronic Digital Computers", Nature, 162 (4117): 487, Bibcode:1948Natur.162..487W, doi:10.1038/162487a0, S2CID 4110351, archived from the original on 6 April 2009, retrieved 2009-04-10
  5. Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
  6. Neumann, John (1945). First Draft of a Report on the EDVAC. p. 9.
  7. Reproduced in B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454.
  8. Johnson, Lyle (1960). "A Description of Stretch" (PDF). p. 1. Retrieved 7 October 2017.
  9. Buchholz, Werner (1962). Planning a Computer System. p. 5.
  10. Hellige, Hans Dieter (2004). "Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom "system of organs" zum Schichtmodell des Designraums". Geschichten der Informatik: Visionen, Paradigmen, Leitmotive. pp. 411–472.
  11. ACE underwent seven paper designs in one year, before a prototype was initiated in 1948. [B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", OUP, 2005, p. 57]
  12. Schmalz, M.S. "Organization of Computer Systems". UF CISE. Retrieved 11 May 2017.
  13. 13.0 13.1 John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach (Third ed.). Morgan Kaufmann Publishers.
  14. Laplante, Phillip A. (2001). Dictionary of Computer Science, Engineering, and Technology. CRC Press. pp. 94–95. ISBN 0-8493-2691-5.
  15. Frey, Brad (2005-02-24). "PowerPC Architecture Book, Version 2.02". IBM Corporation.
  16. Null, Linda (2019). The Essentials of Computer Organization and Architecture (5th ed.). Burlington, MA: Jones & Bartlett Learning. p. 280. ISBN 9781284123036.
  17. Martin, Milo. "What is computer architecture?" (PDF). UPENN. Retrieved 11 May 2017.
  18. "Integrated circuits and fabrication" (PDF). Retrieved 8 May 2017.
  19. "Exynos 9 Series (8895)". Samsung. Retrieved 8 May 2017.
  20. "Measuring Processor Power TDP vs ACP" (PDF). Intel. April 2011. Retrieved 5 May 2017.
  21. "History of Processor Performance" (PDF). cs.columbia.edu. 24 April 2012. Retrieved 5 May 2017.

स्रोत

बाहरी संबंध