आईबीएम 801: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{About|the 1970s IBM CPU|the document processor released in 1934|IBM document processors#IBM 801}}
{{Short description|Experimental minicomputer by IBM}}
{{Short description|Experimental minicomputer by IBM}}
'''801,'''1970 के दशक के समय [[आईबीएम]] द्वारा विकसित प्रायोगिक [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू) डिजाइन था। इसे पहला आधुनिक [[ जोखिम |आरआईएससी]] डिज़ाइन माना जाता है, जो सभी संगणनाओं के लिए [[प्रोसेसर रजिस्टर]]ों पर निर्भर करता है और [[ जटिल निर्देश सेट कंप्यूटर |सीआईएससी]] डिज़ाइनों में पाए जाने वाले कई प्रकार के [[एड्रेसिंग मोड|एड्रेसिंग मोड्स]] को समाप्त करता है। मूल रूप से यह [[टेलीफोन स्विच]] के लिए प्रोसेसर के रूप में विकसित किया गया था, इसे बाद में[[ मिनी कंप्यूटर | मिनी कंप्यूटर]] और उनके [[ मेनफ़्रेम कंप्यूटर |मेनफ़्रेम कंप्यूटर]] लाइन के लिए कई उत्पादों के आधार के रूप में प्रयोग किया गया था। प्रारंभिक डिजाइन 24-बिट प्रोसेसर था; जिसे जल्द ही समान अवधारणाओं के [[32-बिट]] कार्यान्वयन द्वारा बदल दिया गया था और मूल 24-बिट 801 का उपयोग केवल 1980 के दशक की के प्रारम्भ में किया गया था।
'''801,'''1970 के दशक के समय [[आईबीएम]] द्वारा विकसित प्रायोगिक [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू) डिजाइन था। इसे पहला आधुनिक [[ जोखिम |आरआईएससी]] डिज़ाइन माना जाता है, जो सभी संगणनाओं के लिए [[प्रोसेसर रजिस्टर]]ों पर निर्भर करता है और [[ जटिल निर्देश सेट कंप्यूटर |सीआईएससी]] डिज़ाइनों में पाए जाने वाले कई प्रकार के [[एड्रेसिंग मोड|एड्रेसिंग मोड्स]] को समाप्त करता है। मूल रूप से यह [[टेलीफोन स्विच]] के लिए प्रोसेसर के रूप में विकसित किया गया था, इसे बाद में[[ मिनी कंप्यूटर | मिनी कंप्यूटर]] और उनके [[ मेनफ़्रेम कंप्यूटर |मेनफ़्रेम कंप्यूटर]] लाइन के लिए कई उत्पादों के आधार के रूप में प्रयोग किया गया था। प्रारंभिक डिजाइन 24-बिट प्रोसेसर था; जिसे जल्द ही समान अवधारणाओं के [[32-बिट]] कार्यान्वयन द्वारा बदल दिया गया था और मूल 24-बिट 801 का उपयोग केवल 1980 के दशक की के प्रारम्भ में किया गया था।
Line 10: Line 9:


=== मूल अवधारणा ===
=== मूल अवधारणा ===
1974 में, आईबीएम ने एक घंटे में एक मिलियन कॉल, या प्रति सेकंड लगभग 300 कॉल को संभालने के लिए एक टेलीफोन स्विच के निर्माण की संभावना की जांच शुरू की। उन्होंने गणना की कि प्रत्येक कॉल को पूरा करने के लिए 20,000 निर्देशों की आवश्यकता होगी, और जब एक जोड़ा गया समय ओवरहेड और अन्य विचार, ऐसी मशीन को लगभग 12 एमआईपीएस के प्रदर्शन की आवश्यकता होती है।{{sfn|Cocke|Markstein|1990|p=4}} इसके लिए प्रदर्शन में महत्वपूर्ण प्रगति की आवश्यकता होगी; उनकी वर्तमान टॉप-ऑफ़-द-लाइन मशीन, आईबीएम सिस्टम/370 मॉडल 168 1972 के अंत में, लगभग 3 एमआईपीएस की पेशकश की।<ref>{{cite web |url=https://alt.folklore.computers.narkive.com/9nl6cj2Q/on-the-370-165-and-the-360-85 |title= On the 370/165 and the 360/85 |first= John |last= Savard}}</ref>
1974 में, आईबीएम ने एक घंटे में एक मिलियन कॉल, या प्रति सेकंड लगभग 300 कॉल को संभालने के लिए एक टेलीफोन स्विच के निर्माण की संभावना की जांच प्रारम्भ की थी। उन्होंने गणना किया कि प्रत्येक कॉल को पूरा करने के लिए 20,000 निर्देशों की आवश्यकता होगी, और जब जोड़ा गया समय ओवरहेड और अन्य कारण, ऐसी मशीन को लगभग 12 एमआईपीएस के परफॉरमेंस की आवश्यकता होती है।{{sfn|Cocke|Markstein|1990|p=4}} इसके लिए परफॉरमेंस में महत्वपूर्ण प्रगति की आवश्यकता होगी; उनकी वर्तमान टॉप-ऑफ़-द-लाइन मशीन, आईबीएम सिस्टम/370 मॉडल 168 1972 के अंत में, लगभग 3 एमआईपीएस को प्रदर्शित किया था।<ref>{{cite web |url=https://alt.folklore.computers.narkive.com/9nl6cj2Q/on-the-370-165-and-the-360-85 |title= On the 370/165 and the 360/85 |first= John |last= Savard}}</ref>
जॉन कॉके (कंप्यूटर वैज्ञानिक) सहित थॉमस जे. वाटसन रिसर्च सेंटर में इस परियोजना पर काम कर रहे समूह ने इस उद्देश्य के लिए एक प्रोसेसर तैयार किया। आवश्यक प्रदर्शन तक पहुंचने के लिए, उन्होंने इस तरह की मशीन के संचालन के प्रकार पर विचार किया और जो उचित नहीं थे उन्हें हटा दिया। इसके कारण [[फ्लोटिंग-पॉइंट यूनिट]] को हटा दिया गया, उदाहरण के लिए, जिसकी इस एप्लिकेशन में आवश्यकता नहीं होगी। अधिक गंभीर रूप से, उन्होंने मुख्य मेमोरी में डेटा पर काम करने वाले कई निर्देशों को भी हटा दिया और केवल उन निर्देशों को छोड़ दिया जो आंतरिक प्रोसेसर रजिस्टरों पर काम करते थे, क्योंकि ये उपयोग करने के लिए बहुत तेज़ थे और टेलीफोन स्विच में सरल कोड का उपयोग करने के लिए लिखा जा सकता था। केवल इस प्रकार के निर्देश। इस कार्य का परिणाम आवश्यक प्रदर्शन के साथ एक सरलीकृत प्रोसेसर के लिए एक वैचारिक डिजाइन था।{{sfn|Cocke|Markstein|1990|p=4}}


टेलीफोन स्विच परियोजना को 1975 में रद्द कर दिया गया था, लेकिन टीम ने अवधारणा पर काफी प्रगति की थी और अक्टूबर में आईबीएम ने इसे सामान्य प्रयोजन के डिजाइन के रूप में जारी रखने का फैसला किया। इसे संलग्न करने के लिए कोई स्पष्ट परियोजना नहीं होने के कारण, टीम ने उस इमारत के बाद इसे 801 कहने का फैसला किया जिसमें उन्होंने काम किया था। सामान्य उद्देश्य की भूमिका के लिए, टीम ने वास्तविक दुनिया के कार्यक्रमों पर विचार करना शुरू किया जो एक विशिष्ट मिनीकंप्यूटर पर चलेंगे। आईबीएम ने अपनी मशीनों पर वास्तविक दुनिया के वर्कलोड के प्रदर्शन पर भारी मात्रा में सांख्यिकीय डेटा एकत्र किया था और इस डेटा ने प्रदर्शित किया कि एक विशिष्ट कार्यक्रम में आधे से अधिक समय केवल पांच निर्देशों का पालन करने में व्यतीत होता है: मेमोरी से लोड वैल्यू, स्टोर वैल्यू टू मेमोरी, ब्रांच , निश्चित-बिंदु संख्याओं की तुलना करें और निश्चित-बिंदु संख्याओं को जोड़ें। इसने सुझाव दिया कि समान सरलीकृत प्रोसेसर डिज़ाइन एक सामान्य-उद्देश्य मिनीकंप्यूटर के लिए विशेष-उद्देश्य स्विच के रूप में ठीक काम करेगा।{{sfn|Cocke|Markstein|1990|p=5}}
जॉन कॉके (कंप्यूटर वैज्ञानिक) के साथ ही थॉमस जे. वाटसन रिसर्च सेंटर में इस परियोजना पर काम कर रहे समूह ने इस उद्देश्य के लिए प्रोसेसर निर्मित किया था। आवश्यक परफॉरमेंस तक पहुंचने के लिए, उन्होंने इस प्रकार की मशीन के संचालन के प्रकार पर विचार किया और जो उचित नहीं थे उन्हें हटा दिया था। इसके कारण [[फ्लोटिंग-पॉइंट यूनिट]] को हटा दिया गया, उदाहरण के लिए, जिसकी इस एप्लिकेशन में आवश्यकता नहीं थी। अधिक गंभीर रूप से, उन्होंने मुख्य मेमोरी में डेटा पर काम करने वाले कई निर्देशों को भी हटा दिया और केवल उन निर्देशों को छोड़ दिया जो आंतरिक प्रोसेसर रजिस्टरों पर काम करते थे, क्योंकि ये उपयोग करने के लिए बहुत तेज़ थे और टेलीफोन स्विच में सरल कोड का उपयोग केवल इस प्रकार के निर्देश के लिए लिखा जा सकता था। इस कार्य का परिणाम आवश्यक प्रदर्शन के साथ सरलीकृत प्रोसेसर के लिए कल्पनात्मक डिजाइन था।{{sfn|Cocke|Markstein|1990|p=4}}


=== [[माइक्रोकोड]] === के उपयोग के खिलाफ तर्क
टेलीफोन स्विच परियोजना को 1975 में समाप्त कर दिया गया था, लेकिन टीम ने अवधारणा पर बहुत प्रगति की थी और अक्टूबर में आईबीएम ने इसे सामान्य प्रयोजन के डिजाइन के रूप में चलाये रखने का निर्णय किया था। इसे संलग्न करने के लिए कोई स्पष्ट परियोजना नहीं होने के कारण, टीम ने उस बिल्डिंग के बाद इसे 801 कहने का निर्णय किया जिसमें उन्होंने काम किया था। सामान्य उद्देश्य की भूमिका के लिए, टीम ने रियल वर्ल्ड प्रोग्राम पर विचार करना प्रारम्भ किया जो विशिष्ट मिनीकंप्यूटर पर चलते हैं। आईबीएम ने अपनी मशीनों पर रियल वर्ल्ड के वर्कलोड के प्रदर्शन पर अधिक मात्रा में सांख्यिकीय डेटा एकत्र किया था और इस डेटा ने प्रदर्शित किया कि विशिष्ट प्रोग्राम में आधे से अधिक समय केवल पांच निर्देशों : मेमोरी से लोड वैल्यू, स्टोर वैल्यू टू मेमोरी, ब्रांच , निश्चित-बिंदु संख्याओं की तुलना और निश्चित-बिंदु संख्याओं को जोड़ने का पालन करने में व्यतीत होता है। इसने सुझाव दिया कि समान सरलीकृत प्रोसेसर डिज़ाइन सामान्य-उद्देश्य मिनीकंप्यूटर के लिए विशेष-उद्देश्य स्विच के रूप में ठीक काम करता हैं।{{sfn|Cocke|Markstein|1990|p=5}}
यह निष्कर्ष समकालीन प्रोसेसर डिजाइन के सामने उड़ गया, जो कि माइक्रोकोड का उपयोग करने की अवधारणा पर आधारित था। आईबीएम अपने सिस्टम/360 श्रृंखला के हिस्से के रूप में इस तकनीक का व्यापक उपयोग करने वाले पहले लोगों में से एक था। 360, और 370, विभिन्न प्रकार के प्रदर्शन स्तरों में आए, जो सभी समान [[मशीन भाषा]] कोड चलाते थे। हाई-एंड मशीनों पर, इन निर्देशों में से कई सीधे हार्डवेयर में फ्लोटिंग पॉइंट यूनिट की तरह लागू किए गए थे, जबकि लो-एंड मशीनें इसके बजाय माइक्रोकोड में एन्कोड किए गए अन्य निर्देशों के अनुक्रम का उपयोग करके उन निर्देशों का अनुकरण कर सकती थीं। इसने एकल [[अनुप्रयोग बाइनरी इंटरफ़ेस]] को पूरे लाइनअप में चलाने की अनुमति दी और ग्राहकों को आश्वस्त महसूस करने की अनुमति दी कि यदि अधिक प्रदर्शन की कभी आवश्यकता होती है तो वे बिना किसी अन्य बदलाव के तेज मशीन तक जा सकते हैं।<ref>{{cite web | title=The IBM System/360 and the Use of Microcode |url=http://scihi.org/ibm-system360-microcode/ |website=SciHub |first=Harald |last=Sack |date= 7 April 2016}}</ref>
माइक्रोकोड ने एक साधारण प्रोसेसर को कई निर्देश देने की अनुमति दी, जिसका उपयोग डिजाइनरों द्वारा विभिन्न प्रकार के एड्रेसिंग मोड्स को लागू करने के लिए किया गया था। उदाहरण के लिए, जैसे एक निर्देश <code>ADD</code> एक दर्जन संस्करण हो सकते हैं, एक जो आंतरिक रजिस्टरों में दो नंबर जोड़ता है, एक जो मेमोरी में एक मूल्य के लिए एक रजिस्टर जोड़ता है, एक जो मेमोरी से दो मान जोड़ता है, आदि। इससे प्रोग्रामर को सटीक भिन्नता का चयन करने की अनुमति मिलती है जो उन्हें किसी के लिए चाहिए विशेष कार्य। प्रोसेसर उस निर्देश को पढ़ेगा और इसे आंतरिक निर्देशों की एक श्रृंखला में तोड़ने के लिए माइक्रोकोड का उपयोग करेगा। उदाहरण के लिए, मेमोरी में दो नंबर जोड़ने को उन दो नंबरों को रजिस्टरों में लोड करके, उन्हें जोड़कर, और फिर मेमोरी में वापस जमा करके लागू किया जा सकता है।{{sfn|Cocke|Markstein|1990|p=5}} सभी निर्देशों के लिए सभी संभावित एड्रेसिंग मोड की पेशकश का विचार प्रोसेसर डिजाइनरों का एक लक्ष्य बन गया, यह अवधारणा एक [[ऑर्थोगोनल निर्देश सेट]] के रूप में जानी जाने लगी।


801 टीम ने इस अवधारणा का एक दुष्प्रभाव देखा; जब किसी दिए गए निर्देश के संभावित संस्करणों की अधिकता का सामना करना पड़ता है, तो [[संकलक]] लेखक लगभग हमेशा एक ही संस्करण चुनते हैं। यह लगभग हमेशा वही था जो लो-एंड मशीनों पर हार्डवेयर में लागू किया गया था। यह सुनिश्चित करता है कि संकलक द्वारा उत्पन्न मशीन कोड पूरे लाइनअप पर जितनी जल्दी हो सके चलेगा। जबकि निर्देशों के अन्य संस्करणों का उपयोग एक मशीन पर और भी तेजी से चल सकता है जो उन्हें हार्डवेयर में लागू करता है, यह जानने की जटिलता कि मशीनों की हमेशा बदलती सूची में से किसे चुनना है, यह बेहद अनाकर्षक है, और संकलक लेखकों ने बड़े पैमाने पर इन संभावनाओं की अनदेखी की।{{sfn|Cocke|Markstein|1990|p=5}}
[[माइक्रोकोड]] के उपयोग के विरुद्ध तर्क


नतीजतन, निर्देश सेट में उपलब्ध अधिकांश निर्देश संकलित कार्यक्रमों में कभी भी उपयोग नहीं किए गए थे। और यहीं पर टीम ने 801 प्रोजेक्ट की मुख्य उपलब्धि हासिल की:
यह निष्कर्ष समकालीन प्रोसेसर डिजाइन के सामने आया, जो कि माइक्रोकोड का उपयोग करने की अवधारणा पर आधारित था। आईबीएम अपने सिस्टम/360 श्रृंखला के हिस्से के रूप में इस तकनीक का व्यापक उपयोग करने वाले पहले लोगों में से एक था। 360, और 370, विभिन्न प्रकार के प्रदर्शन स्तरों में आए, जो सभी समान [[मशीन भाषा|मशीन लैंग्वेज]] कोड चलाते थे। हाई-एंड मशीनों पर, इन निर्देशों में से कई सीधे हार्डवेयर में फ्लोटिंग पॉइंट यूनिट की तरह क्रियान्वित किए गए थे, जबकि लो-एंड मशीनें इसके अतिरिक्त माइक्रोकोड में एन्कोड किए गए अन्य निर्देशों के अनुक्रम का उपयोग करके उन निर्देशों का अनुकरण कर सकती थीं। इसने एकल [[अनुप्रयोग बाइनरी इंटरफ़ेस]] को पूरे लाइनअप में चलाने की अनुमति दी और ग्राहकों को आश्वस्त किया कि यदि अधिक प्रदर्शन की कभी आवश्यकता होती है तो वे बिना किसी अन्य बदलाव के तेज मशीन तक जा सकते हैं।<ref>{{cite web | title=The IBM System/360 and the Use of Microcode |url=http://scihi.org/ibm-system360-microcode/ |website=SciHub |first=Harald |last=Sack |date= 7 April 2016}}</ref>


<blockquote>कंप्यूटर और उसके उपयोगकर्ताओं के बीच माइक्रोकोड लगाने से सबसे अधिक बार निष्पादित निर्देशों को पूरा करने में खर्चीला खर्च आता है।{{sfn|Cocke|Markstein|1990|p=5}}</blockquote>
माइक्रोकोड ने साधारण प्रोसेसर को कई निर्देश देने की अनुमति दी, जिसका उपयोग डिजाइनरों द्वारा विभिन्न प्रकार के एड्रेसिंग मोड्स को क्रियान्वित करने के लिए किया गया था। उदाहरण के लिए, जैसे एक निर्देश <code>ADD</code> के दर्जनों संस्करण हो सकते हैं, एक जो आंतरिक रजिस्टरों में दो नंबर जोड़ता है, एक जो मेमोरी में मूल्य के लिए रजिस्टर जोड़ता है, एक जो मेमोरी से दो मान जोड़ता है, आदि। इससे प्रोग्रामर को निश्चित भिन्नता का चयन करने की अनुमति मिलती है जो उन्हें किसी विशेष कार्य के लिए चाहिए होता हैं। प्रोसेसर उस निर्देश को पढता हैं और इसे आंतरिक निर्देशों की श्रृंखला में तोड़ने के लिए माइक्रोकोड का उपयोग करता हैं। उदाहरण के लिए, मेमोरी में दो नंबर जोड़ने को उन दो नंबरों को रजिस्टरों में लोड करके, उन्हें जोड़कर, और फिर मेमोरी में वापस जमा करके क्रियान्वित किया जा सकता है।{{sfn|Cocke|Markstein|1990|p=5}} सभी निर्देशों के लिए सभी संभावित एड्रेसिंग मोड को प्रदर्शित का विचार प्रोसेसर डिजाइनरों का लक्ष्य बन गया, यह अवधारणा [[ऑर्थोगोनल निर्देश सेट]] के रूप में जानी जाती हैं।


माइक्रोकोड प्रदर्शन करने से पहले निर्देश की जांच करने के लिए गैर-शून्य समय लेता है। हटाए गए माइक्रोकोड के साथ वही अंतर्निहित प्रोसेसर इस ओवरहेड को खत्म कर देगा और उन निर्देशों को तेज़ी से चलाएगा। चूंकि माइक्रोकोड अनिवार्य रूप से एक विशेष हार्डवेयर कार्यान्वयन के लिए समर्पित छोटे [[सबरूटीन]]्स चलाता था, यह अंततः वही मूल कार्य कर रहा था जो संकलक था, मशीन-विशिष्ट निर्देशों के अनुक्रम के रूप में उच्च-स्तरीय निर्देशों को लागू करना। केवल माइक्रोकोड को हटाने और संकलक में इसे लागू करने के परिणामस्वरूप तेज मशीन हो सकती है।{{sfn|Cocke|Markstein|1990|p=5}}
801 टीम ने इस अवधारणा का दुष्प्रभाव देखा; जब किसी दिए गए निर्देश के संभावित संस्करणों की अधिकता का सामना करना पड़ता है, तो [[संकलक]] लेखक लगभग हमेशा एक ही संस्करण चुनते हैं। यह लगभग हमेशा वही था जो लो-एंड मशीनों पर हार्डवेयर में क्रियान्वित किया गया था। यह सुनिश्चित करता है कि संकलक द्वारा उत्पन्न मशीन कोड पूरे लाइनअप पर जितनी जल्दी चलना प्रारम्भ कर देता हैं। यद्यपि की निर्देशों के अन्य संस्करणों का उपयोग मशीन पर और भी तेजी से चल सकता है जो उन्हें हार्डवेयर में क्रियान्वित करता है, यह जानने की जटिलता कि मशीनों की हमेशा बदलती सूची में से किसे चुनना है, यह बेहद अनाकर्षक है, और संकलक लेखकों ने बड़े पैमाने पर इन संभावनाओं की उपेक्षित किया था।{{sfn|Cocke|Markstein|1990|p=5}}


एक चिंता यह थी कि ऐसी मशीन के लिए लिखे गए प्रोग्राम अधिक मेमोरी लेंगे; कुछ कार्य जो 370 पर एक निर्देश के साथ पूरे किए जा सकते हैं, उन्हें 801 पर कई निर्देशों के रूप में व्यक्त करना होगा। उदाहरण के लिए, मेमोरी से दो नंबर जोड़ने के लिए दो लोड-टू-रजिस्टर निर्देशों की आवश्यकता होगी, एक रजिस्टर-टू-रजिस्टर ऐड , और फिर एक स्टोर-टू-मेमोरी। यह संभावित रूप से सिस्टम को समग्र रूप से धीमा कर सकता है यदि उसे स्मृति से निर्देशों को पढ़ने में अधिक समय देना पड़ता है, जितना कि पहले उन्हें डीकोड करने में लगता था। जैसा कि उन्होंने डिजाइन पर काम जारी रखा और अपने कंपाइलर्स में सुधार किया, उन्होंने पाया कि समग्र कार्यक्रम की लंबाई में गिरावट जारी रही, अंततः 370 के लिए लिखी गई लंबाई के समान हो गई।{{sfn|Cocke|Markstein|1990|pp=6-7}}
परिणामतः, निर्देश सेट में उपलब्ध अधिकांश निर्देश कम्पाइलड प्रोग्राम में कभी भी उपयोग नहीं किए गए थे और यहीं पर टीम ने 801 प्रोजेक्ट की मुख्य उपलब्धि प्राप्त की थी:


=== पहला कार्यान्वयन ===
<blockquote>कंप्यूटर और उसके उपयोगकर्ताओं के बीच माइक्रोकोड लगाने से सबसे अधिक बार निष्पादित निर्देशों को पूरा करने में अधिक खर्च आता है।{{sfn|Cocke|Markstein|1990|p=5}}</blockquote>
प्रारंभिक रूप से प्रस्तावित आर्किटेक्चर सोलह 24-बिट रजिस्टरों वाली एक मशीन थी और [[ आभासी मेमोरी ]] के बिना थी।<ref>{{cite web|url=http://www.bitsavers.org/pdf/ibm/system801/The_801_Minicomputer_an_Overview_Sep76.pdf|title=The 801 Minicomputer - An Overview|date=October 8, 1976|page=9}}</ref><ref>{{cite web|url=http://www.bitsavers.org/pdf/ibm/system801/System_801_Principles_of_Operation_Jan76.pdf|title=System 801 Principles of Operation|date=January 16, 1976}}</ref> इसने निर्देश में दो-ऑपरेंड प्रारूप का उपयोग किया, ताकि निर्देश आम तौर पर फॉर्म के हों <code>A = A + B</code>, तीन-ऑपरेंड प्रारूप के विपरीत, <code>A = B + C</code>. परिणामी CPU 1980 की गर्मियों तक चालू था और Motorola MECL-10K असतत घटक प्रौद्योगिकी का उपयोग करके कार्यान्वित किया गया था{{sfn|Radin|1982}} तार से लिपटे बड़े कस्टम बोर्डों पर। CPU को 66 ns चक्र (लगभग 15.15 MHz) पर क्लॉक किया गया था और प्रति सेकंड लगभग 15 मिलियन निर्देशों की तेज़ गति से गणना कर सकता था।


801 आर्किटेक्चर का उपयोग कई प्रकार के IBM उपकरणों में किया गया था, जिसमें उनके S/370 मेनफ्रेम (जैसे [[IBM 3090]]) के लिए [[चैनल नियंत्रक]] शामिल हैं।<ref name="microprocessors-programmers-view">{{cite book |last1=Dewar |first1=Robert B.K. |last2=Smosna |first2=Matthew |title=Microprocessors: A Programmer's View |url=https://archive.org/details/microprocessorsp00robe |url-access=registration |date=1990 |publisher=McGraw-Hill}}</ref>{{rp|377}} विभिन्न नेटवर्किंग डिवाइस, और [[आईबीएम 9370]] मेनफ्रेम परिवार के 9373 और 9375 प्रोसेसर में [[ लंबवत माइक्रोकोड ]] निष्पादन इकाई के रूप में।{{sfn|Cocke|Markstein|1990|p=9}}<ref name="Mitchell1988">{{cite journal | last1 = Mitchell | first1 = James | title = Implementing a mainframe architecture in a 9370 processor | journal = ACM SIGMICRO Newsletter | date = September 1988 | volume = 19 | issue = 3 | pages = 3–10 | issn = 1050-916X | doi = 10.1145/62185.62186 | pmid = | s2cid = 14602753 | url = }}</ref> 801 आर्किटेक्चर का मूल संस्करण [[IBM ROMP]] [[माइक्रोप्रोसेसर]] के आर्किटेक्चर का आधार था<ref name="microprocessors-programmers-view"/>{{rp|378}} [[IBM RT PC]] [[वर्कस्टेशन कंप्यूटर]] और IBM रिसर्च के कई प्रायोगिक कंप्यूटरों में उपयोग किया जाता है। इलियड नाम के 32-बिट एड्रेसिंग के साथ 801 आर्किटेक्चर के व्युत्पन्न का उद्देश्य असफल आईबीएम एएस/400#फोर्ट नॉक्स मिडरेंज सिस्टम प्रोजेक्ट के प्राथमिक प्रोसेसर के रूप में काम करना था।<ref name="inside-as400">{{cite book|title=Inside the AS/400, Second Edition|url=https://books.google.com/books?id=5DoPAAAACAAJ|isbn=978-1882419661|author=Frank G. Soltis|year=1997|publisher=Duke Press}}</ref>
माइक्रोकोड प्रदर्शन करने से पहले निर्देश की जांच करने के लिए अशून्य समय लेता है। हटाए गए माइक्रोकोड के साथ वही अंतर्निहित प्रोसेसर इस ओवरहेड को समाप्त कर देगा और उन निर्देशों को तीव्रता से चलाता हैं। चूंकि माइक्रोकोड अनिवार्य रूप से विशेष हार्डवेयर कार्यान्वयन के लिए समर्पित छोटे [[सबरूटीन]] चलाता था, यह अंततः वही मूल कार्य कर रहा था जो संकलक करता था, मशीन-विशिष्ट निर्देशों के अनुक्रम के रूप में उच्च-स्तरीय निर्देशों को क्रियान्वित करता था। केवल माइक्रोकोड को हटाने और संकलक में इसे क्रियान्वित करने के परिणामस्वरूप मशीन तेज हो सकती है।{{sfn|Cocke|Markstein|1990|p=5}}
 
एक सोच यह थी कि ऐसी मशीन के लिए लिखे गए प्रोग्राम अधिक मेमोरी लेंगे; कुछ कार्य जो 370 पर निर्देश के साथ पूरे किए जा सकते हैं, उन्हें 801 पर कई निर्देशों के रूप में व्यक्त करना होता हैं। उदाहरण के लिए, मेमोरी से दो नंबर जोड़ने के लिए दो लोड-टू-रजिस्टर निर्देशों, एक रजिस्टर-टू-रजिस्टर ऐड, और फिर स्टोर-टू-मेमोरी की आवश्यकता होती हैं। यह संभावित रूप से सिस्टम को समग्र रूप से धीमा कर सकता है यदि उसे मेमोरी से निर्देशों को पढ़ने में अधिक समय देना पड़ता है, जितना कि पहले उन्हें डीकोड करने में लगता था। जैसा कि उन्होंने डिजाइन पर काम क्रियान्वित रखा और अपने कंपाइलर्स में सुधार किया, उन्होंने पाया कि समग्र प्रोग्राम की लम्बाई में कमी निरंतर हो रही हैं, अंततः 370 के लिए लिखी गई लंबाई के समान हो गयी थी ।{{sfn|Cocke|Markstein|1990|pp=6-7}}
 
=== प्रथम कार्यान्वयन ===
प्रारंभिक रूप से प्रस्तावित आर्किटेक्चर सोलह 24-बिट रजिस्टरों वाली मशीन थी और [[ आभासी मेमोरी |आभासी मेमोरी]] के बिना थी।<ref>{{cite web|url=http://www.bitsavers.org/pdf/ibm/system801/The_801_Minicomputer_an_Overview_Sep76.pdf|title=The 801 Minicomputer - An Overview|date=October 8, 1976|page=9}}</ref><ref>{{cite web|url=http://www.bitsavers.org/pdf/ibm/system801/System_801_Principles_of_Operation_Jan76.pdf|title=System 801 Principles of Operation|date=January 16, 1976}}</ref> इसने निर्देश में दो-ऑपरेंड प्रारूप का उपयोग किया, जिससे की निर्देश साधारण तौर पर फॉर्म <code>A = A + B</code>के हो, तीन-ऑपरेंड प्रारूप <code>A = B + C</code> के विपरीत होते हैं। परिणामी सीपीयु 1980 की गर्मियों तक कार्यान्वित था और मोटोरोला एमइसीएल-10K असतत घटक प्रौद्योगिकी का उपयोग करके तार से लिपटे बड़े कस्टम बोर्डों पर कार्यान्वित किया गया था{{sfn|Radin|1982}}। सीपीयु को 66 ns चक्र (लगभग 15.15 MHz) पर क्लॉक किया गया था और प्रति सेकंड लगभग 15 मिलियन निर्देशों की तेज़ गति से गणना कर सकता था।
 
801 आर्किटेक्चर का उपयोग कई प्रकार के आईबीएम उपकरणों में किया गया था, जिसमें उनके S/370 मेनफ्रेम (जैसे [[IBM 3090|आईबीएम 3090]]) के लिए [[चैनल नियंत्रक]] सम्मलित हैं।<ref name="microprocessors-programmers-view">{{cite book |last1=Dewar |first1=Robert B.K. |last2=Smosna |first2=Matthew |title=Microprocessors: A Programmer's View |url=https://archive.org/details/microprocessorsp00robe |url-access=registration |date=1990 |publisher=McGraw-Hill}}</ref>{{rp|377}} विभिन्न नेटवर्किंग डिवाइस, और [[आईबीएम 9370]] मेनफ्रेम परिवार के 9373 और 9375 प्रोसेसर में[[ लंबवत माइक्रोकोड | लंबवत माइक्रोकोड]] निष्पादन इकाई के रूप में होता हैं।{{sfn|Cocke|Markstein|1990|p=9}}<ref name="Mitchell1988">{{cite journal | last1 = Mitchell | first1 = James | title = Implementing a mainframe architecture in a 9370 processor | journal = ACM SIGMICRO Newsletter | date = September 1988 | volume = 19 | issue = 3 | pages = 3–10 | issn = 1050-916X | doi = 10.1145/62185.62186 | pmid = | s2cid = 14602753 | url = }}</ref> 801 आर्किटेक्चर का मूल संस्करण [[IBM ROMP|आईबीएम आरओएमपी]] [[माइक्रोप्रोसेसर]] के आर्किटेक्चर का आधार था<ref name="microprocessors-programmers-view"/>{{rp|378}} [[IBM RT PC|आईबीएम आरटी पीसी]] [[वर्कस्टेशन कंप्यूटर]] और आईबीएम रिसर्च के कई प्रायोगिक कंप्यूटरों में उपयोग किया जाता है। इलियड नाम के 32-बिट एड्रेसिंग के साथ 801 आर्किटेक्चर के व्युत्पन्न का उद्देश्य असफल आईबीएम फोर्ट नॉक्स मिडरेंज सिस्टम प्रोजेक्ट के प्राथमिक प्रोसेसर के रूप में काम करना था।<ref name="inside-as400">{{cite book|title=Inside the AS/400, Second Edition|url=https://books.google.com/books?id=5DoPAAAACAAJ|isbn=978-1882419661|author=Frank G. Soltis|year=1997|publisher=Duke Press}}</ref>




== बाद में संशोधन ==
== बाद में संशोधन ==
मूल रूप से एक सीमित-फ़ंक्शन सिस्टम के लिए डिज़ाइन किए जाने के बाद, 801 डिज़ाइन में बड़ी मशीनों पर देखी जाने वाली कई विशेषताओं का अभाव था। इनमें से उल्लेखनीय वर्चुअल मेमोरी के लिए हार्डवेयर समर्थन की कमी थी, जिसकी नियंत्रक भूमिका के लिए आवश्यकता नहीं थी और इसे आवश्यक 801 सिस्टम पर सॉफ़्टवेयर में लागू किया गया था। अधिक व्यापक उपयोग के लिए, हार्डवेयर समर्थन एक आवश्यक विशेषता थी। इसके अतिरिक्त, 1980 के दशक तक कंप्यूटर की दुनिया 32-बिट सिस्टम की ओर बढ़ रही थी, और 801 के साथ भी ऐसा ही करने की इच्छा थी।{{sfn|Cocke|Markstein|1990|p=7}}
मूल रूप से सीमित-फ़ंक्शन सिस्टम के लिए डिज़ाइन किए जाने के बाद, 801 डिज़ाइन में बड़ी मशीनों पर देखी जाने वाली कई विशेषताओं की कमी थीं। इनमें से उल्लेखनीय वर्चुअल मेमोरी के लिए हार्डवेयर सहायता की कमी थी, जिसकी नियंत्रक भूमिका के लिए आवश्यकता नहीं थी और इसे आवश्यक 801 सिस्टम पर सॉफ़्टवेयर कार्यान्वित किया गया था। अधिक व्यापक उपयोग के लिए, हार्डवेयर सहायता आवश्यक विशेषता थी। इसके अतिरिक्त, 1980 के दशक तक कंप्यूटर वर्ल्ड 32-बिट सिस्टम की तरफ बढ़ रही थी, और 801 के साथ भी ऐसा ही करने की इच्छा थी।{{sfn|Cocke|Markstein|1990|p=7}}


32-बिट प्रारूप में जाने से एक और महत्वपूर्ण लाभ हुआ। व्यवहार में, यह पाया गया कि विशिष्ट गणित कोड में दो-ऑपरेंड प्रारूप का उपयोग करना कठिन था। आदर्श रूप से, दोनों इनपुट ऑपरेंड रजिस्टरों में बने रहेंगे जहां उन्हें बाद के ऑपरेशनों में फिर से इस्तेमाल किया जा सकता है, लेकिन ऑपरेशन के आउटपुट ने उनमें से एक को ओवरराइट कर दिया, अक्सर ऐसा होता था कि मानों में से एक को मेमोरी से फिर से लोड करना पड़ता था . 32-बिट प्रारूप में जाने से, निर्देश शब्दों में अतिरिक्त बिट्स को एक अतिरिक्त रजिस्टर निर्दिष्ट करने की अनुमति मिलती है, ताकि ऐसे कार्यों के आउटपुट को एक अलग रजिस्टर में निर्देशित किया जा सके। बड़े निर्देश शब्द ने भी रजिस्टरों की संख्या को सोलह से बढ़ाकर बत्तीस करने की अनुमति दी, एक परिवर्तन जो 801 कोड की परीक्षा द्वारा स्पष्ट रूप से सुझाया गया था। 24 से 32-बिट्स के निर्देश शब्दों के विस्तार के बावजूद, इन दो परिवर्तनों के कारण टाले गए भार और बचत के कारण प्रोग्राम 33% की वृद्धि नहीं हुई।{{sfn|Cocke|Markstein|1990|p=7}}
32-बिट प्रारूप में जाने से एक और महत्वपूर्ण लाभ हुआ। व्यवहार में, यह पाया गया कि विशिष्ट गणित कोड में दो-ऑपरेंड प्रारूप का उपयोग करना कठिन था। आदर्श रूप से, दोनों इनपुट ऑपरेंड रजिस्टरों में बने रहेंगे जहां उन्हें बाद के ऑपरेशनों में फिर से इस्तेमाल किया जा सकता है, लेकिन ऑपरेशन के आउटपुट ने उनमें से एक को ओवरराइट कर दिया, प्रायः ऐसा होता था कि मानों में से एक को मेमोरी से फिर से लोड करना पड़ता था। 32-बिट प्रारूप में जाने से, निर्देश शब्दों में अतिरिक्त बिट्स को अतिरिक्त रजिस्टर निर्दिष्ट करने की अनुमति मिलती है, जिससे की ऐसे कार्यों के आउटपुट को अलग रजिस्टर में निर्देशित किया जा सकता था। बड़े निर्देश शब्द ने भी रजिस्टरों की संख्या को सोलह से बढ़ाकर बत्तीस करने की अनुमति दी, एक परिवर्तन जो 801 कोड की परीक्षा द्वारा स्पष्ट रूप से सुझाव दिया गया था। 24 से 32-बिट्स के निर्देश शब्दों के विस्तार के बाद भी, इन दो परिवर्तनों के कारण अवोइडेड लोड और बचत के कारण प्रोग्राम 33% की वृद्धि नहीं हुई थी।{{sfn|Cocke|Markstein|1990|p=7}}


अन्य वांछनीय परिवर्धन में स्ट्रिंग डेटा के साथ काम करने के निर्देश शामिल हैं जो एक मेमोरी शब्द में कई [[ASCII]] वर्णों के साथ पैक किए गए प्रारूप में एन्कोड किया गया था, और [[बाइनरी-कोडित दशमलव]] के साथ काम करने के लिए अतिरिक्त, जिसमें एक योजक शामिल है जो चार-बिट दशमलव संख्याओं को ले जा सकता है।{{sfn|Cocke|Markstein|1990|p=7}}
अन्य वांछनीय परिवर्धन में स्ट्रिंग डेटा के साथ काम करने के निर्देश सम्मलित हैं जो मेमोरी शब्द में कई [[ASCII|एइससीआईआई]] वर्णों के साथ पैक किए गए प्रारूप में एन्कोड किया गया था, और [[बाइनरी-कोडित दशमलव]] के साथ काम करने के लिए अतिरिक्त, जिसमें एक योजक सम्मलित है जो चार-बिट दशमलव संख्याओं को ले जा सकता है।{{sfn|Cocke|Markstein|1990|p=7}}


जब 801 का नया संस्करण 370 पर एक सिम्युलेटर के रूप में चलाया गया था, तो टीम को यह जानकर आश्चर्य हुआ कि 801 के लिए संकलित कोड और सिम्युलेटर में चलाया जाने वाला कोड अक्सर उसी स्रोत कोड की तुलना में तेजी से चलता है जो सीधे 370 मशीन कोड का उपयोग करके संकलित किया जाता है। 370 का PL/1 संकलक।{{sfn|Cocke|Markstein|1990|p=8}} जब उन्होंने अपनी प्रायोगिक PL.8 भाषा को 370 में वापस पोर्ट किया और इसका उपयोग करते हुए अनुप्रयोगों को संकलित किया, तो वे मौजूदा PL/1 कोड की तुलना में तीन गुना अधिक तेजी से चले। यह संकलक द्वारा RISC जैसे निर्णय लेने के कारण था कि कोड को आंतरिक रजिस्टरों में कैसे संकलित किया जाए, जिससे अधिक से अधिक मेमोरी एक्सेस का अनुकूलन किया जा सके। ये 370 पर 801 की तरह ही महंगे थे, लेकिन यह लागत आमतौर पर CISC कोड की एक पंक्ति की सादगी से छिपी हुई थी। PL.8 कंपाइलर लोड से बचने और बचाने के बारे में अधिक आक्रामक था, और इसके परिणामस्वरूप CISC प्रोसेसर पर भी उच्च प्रदर्शन हुआ।{{sfn|Cocke|Markstein|1990|p=8}}
जब 801 का नया संस्करण 370 पर सिम्युलेटर के रूप में चलाया गया था, तो टीम को यह जानकर आश्चर्य हुआ कि 801 के लिए संकलित कोड और सिम्युलेटर में चलाया जाने वाला कोड प्रायः उसी स्रोत कोड की तुलना में तेजी से चलता है जो सीधे 370 मशीन कोड 370 का पीएल/1 संकलक का उपयोग करके संकलित किया जाता है।{{sfn|Cocke|Markstein|1990|p=8}} जब उन्होंने अपनी प्रायोगिक पीएल.8 भाषा को 370 में वापस पोर्ट किया और इसका उपयोग करते हुए अनुप्रयोगों को संकलित किया, तो वे उपस्थित पीएल/1 कोड की तुलना में तीन गुना अधिक तेजी से चल रहे थे। यह संकलक द्वारा आरआईएससी जैसे निर्णय लेने के कारण था कि कोड को आंतरिक रजिस्टरों में कैसे संकलित किया जाए, जिससे अधिक से अधिक मेमोरी एक्सेस का अनुकूलन किया जा सकता हैं। ये 370 पर 801 की तरह ही महंगे थे, लेकिन यह लागत साधारण तौर पर सीआईएससी कोड की एक पंक्ति की सरलता से छिपी हुई थी। पीएल.8 कंपाइलर लोड से बचने और बचाने के बारे में अधिक आक्रामक था, और इसके परिणामस्वरूप सीआईएससी प्रोसेसर पर भी उच्च प्रदर्शन हुआ था।{{sfn|Cocke|Markstein|1990|p=8}}


== चीता, पैंथर और अमेरिका प्रोजेक्ट ==
== चीता, पैंथर और अमेरिका प्रोजेक्ट ==
1980 के दशक की शुरुआत में, 801 पर सीखे गए पाठों को [[आईबीएम एडवांस्ड कंप्यूटर सिस्टम्स प्रोजेक्ट]] प्रोजेक्ट से जोड़ा गया, जिसके परिणामस्वरूप चीता नामक एक प्रायोगिक प्रोसेसर का निर्माण हुआ। चीता एक 2-वे [[सुपरस्केलर प्रोसेसर]] था, जो 1985 में पैंथर नामक प्रोसेसर के रूप में विकसित हुआ, और अंततः 1986 में अमेरिका नामक 4-वे सुपरस्केलर डिज़ाइन में विकसित हुआ।<ref>{{Cite book |last1=Shen |first1=John Paul |title=Modern Processor Design: Fundamentals of Superscalar Processors |last2=Lipasti |first2=Mikko H. |publisher=McGraw-Hill |year=2005 |contributor-last=Smotherman |contributor-first=Mark |contribution=Survey of Superscalar Processors}}</ref> यह एक तीन-चिप प्रोसेसर सेट था जिसमें एक इंस्ट्रक्शन प्रोसेसर शामिल था जो निर्देशों को प्राप्त करता है और डिकोड करता है, एक फिक्स्ड-पॉइंट प्रोसेसर जो इंस्ट्रक्शन प्रोसेसर के साथ ड्यूटी साझा करता है, और उन सिस्टमों के लिए एक फ्लोटिंग-पॉइंट प्रोसेसर होता है जिन्हें इसकी आवश्यकता होती है। 801 टीम द्वारा डिज़ाइन किया गया, अंतिम डिज़ाइन 1986 में IBM के ऑस्टिन कार्यालय को भेजा गया था, जहाँ इसे IBM RS/6000 सिस्टम में विकसित किया गया था। 25 मेगाहर्ट्ज पर चलने वाली RS/6000 अपने युग की सबसे तेज मशीनों में से एक थी। इसने सामान्य परीक्षणों पर अन्य आरआईएससी मशीनों को दो से तीन गुना बेहतर प्रदर्शन किया, और पुराने सीआईएससी सिस्टमों को मामूली रूप से बेहतर प्रदर्शन किया।{{sfn|Cocke|Markstein|1990|p=9}}
1980 के दशक की प्रारम्भ में, 801 पर सीखे गए ज्ञान को [[आईबीएम एडवांस्ड कंप्यूटर सिस्टम्स प्रोजेक्ट]] से जोड़ा गया, जिसके परिणामस्वरूप चीता नामक प्रायोगिक प्रोसेसर का निर्माण हुआ था। चीता 2-वे [[सुपरस्केलर प्रोसेसर]] था, जो 1985 में पैंथर नामक प्रोसेसर के रूप में विकसित हुआ, और अंततः 1986 में अमेरिका नामक 4-वे सुपरस्केलर डिज़ाइन में विकसित हुआ था।<ref>{{Cite book |last1=Shen |first1=John Paul |title=Modern Processor Design: Fundamentals of Superscalar Processors |last2=Lipasti |first2=Mikko H. |publisher=McGraw-Hill |year=2005 |contributor-last=Smotherman |contributor-first=Mark |contribution=Survey of Superscalar Processors}}</ref> यह तीन-चिप प्रोसेसर सेट था जिसमें इंस्ट्रक्शन प्रोसेसर सम्मलित था जो निर्देशों को प्राप्त करता है और डिकोड करता है, एक फिक्स्ड-पॉइंट प्रोसेसर जो इंस्ट्रक्शन प्रोसेसर के साथ ड्यूटी साझा करता है, और उन सिस्टमों के लिए एक फ्लोटिंग-पॉइंट प्रोसेसर होता है जिन्हें इसकी आवश्यकता होती है। 801 टीम द्वारा डिज़ाइन किया गया, अंतिम डिज़ाइन 1986 में आईबीएम के ऑस्टिन ऑफिस को भेजा गया था, जहाँ इसे आईबीएम आरएस/6000 सिस्टम में विकसित किया गया था। 25 मेगाहर्ट्ज पर चलने वाली आरएस/6000 अपने समय की सबसे तेज मशीनों में से एक थी। इसने सामान्य परीक्षणों पर अन्य आरआईएससी मशीनों को दो से तीन गुना ज्यादा अच्छा प्रदर्शन किया, और पुराने सीआईएससी सिस्टमों को निम्नतम रूप से बेहतर प्रदर्शन किया गया था।{{sfn|Cocke|Markstein|1990|p=9}}


RS/6000 के बाद, कंपनी ने अपना ध्यान 801 अवधारणाओं के एक संस्करण की ओर लगाया जिसे विभिन्न पैमानों पर कुशलतापूर्वक गढ़ा जा सकता था। परिणाम [[आईबीएम पावर इंस्ट्रक्शन सेट आर्किटेक्चर]] और [[PowerPC]] ऑफशूट था।
आरएस/6000 के बाद, कंपनी ने अपना ध्यान 801 अवधारणाओं के संस्करण की ओर लगाया जिसे विभिन्न पैमानों पर कुशलतापूर्वक गढ़ा जा सकता था। परिणाम [[आईबीएम पावर इंस्ट्रक्शन सेट आर्किटेक्चर]] और [[PowerPC|पावर पीसी PC]] ऑफशूट था।


== मान्यता ==
== मान्यता ==
801 पर अपने काम के लिए, जॉन कॉके (कंप्यूटर वैज्ञानिक) को कई पुरस्कार और पदक से सम्मानित किया गया:
801 पर उनके कार्य के लिए, जॉन कॉके (कंप्यूटर वैज्ञानिक) को कई पुरस्कार और पदक से सम्मानित किया गया:


* 1985: एकर्ट-मौचली पुरस्कार<ref>{{Cite web |title=जॉन कोक|url=https://awards.acm.org/award_winners/cocke_2083115 |access-date=2022-08-29 |website=awards.acm.org |language=en}}</ref>
* 1985: एकर्ट-मौचली पुरस्कार<ref>{{Cite web |title=जॉन कोक|url=https://awards.acm.org/award_winners/cocke_2083115 |access-date=2022-08-29 |website=awards.acm.org |language=en}}</ref>
Line 57: Line 59:
* 1991: प्रौद्योगिकी का राष्ट्रीय पदक<ref name=":0">{{Cite web|title=एनएसटीएमएफ|url=https://www.nationalmedals.org/laureates/john-cocke|website=एनएसटीएमएफ|access-date=2020-05-12}}</ref>
* 1991: प्रौद्योगिकी का राष्ट्रीय पदक<ref name=":0">{{Cite web|title=एनएसटीएमएफ|url=https://www.nationalmedals.org/laureates/john-cocke|website=एनएसटीएमएफ|access-date=2020-05-12}}</ref>
* 1994: [[जॉन वॉन न्यूमैन मेडल]]<ref>{{Cite web |title=IEEE जॉन वॉन न्यूमैन मेडल प्राप्तकर्ता|website=[[Institute of Electrical and Electronics Engineers]] (IEEE) |url=https://www.ieee.org/content/dam/ieee-org/ieee/web/org/about/awards/recipients/von-neumann-rl.pdf}}</ref>
* 1994: [[जॉन वॉन न्यूमैन मेडल]]<ref>{{Cite web |title=IEEE जॉन वॉन न्यूमैन मेडल प्राप्तकर्ता|website=[[Institute of Electrical and Electronics Engineers]] (IEEE) |url=https://www.ieee.org/content/dam/ieee-org/ieee/web/org/about/awards/recipients/von-neumann-rl.pdf}}</ref>
* 1994: विज्ञान का राष्ट्रीय पदक<ref name=":0" />* 2000: [[ बेंजामिन फ्रैंकलिन पदक (फ्रैंकलिन संस्थान) ]] (द फ्रैंकलिन इंस्टीट्यूट)<ref>{{Cite web |date=2014-01-10 |title=जॉन कोक|url=https://www.fi.edu/laureates/john-cocke |access-date=2022-08-29 |website=The Franklin Institute |language=en}}</ref>
* 1994: विज्ञान का राष्ट्रीय पदक<ref name=":0" />*
*2000: [[ बेंजामिन फ्रैंकलिन पदक (फ्रैंकलिन संस्थान) |बेंजामिन फ्रैंकलिन पदक (फ्रैंकलिन संस्थान)]] (द फ्रैंकलिन इंस्टीट्यूट)<ref>{{Cite web |date=2014-01-10 |title=जॉन कोक|url=https://www.fi.edu/laureates/john-cocke |access-date=2022-08-29 |website=The Franklin Institute |language=en}}</ref>
माइकल जे. फ्लिन 801 को पहले आरआईएससी के रूप में देखते हैं।<ref name="Flynn54">{{cite book |title=Computer architecture: pipelined and parallel processor design |author-link=Michael J. Flynn |first=Michael J. |last=Flynn |year=1995 |isbn=0867202041 |pages=54–56 }}</ref>
माइकल जे. फ्लिन 801 को पहले आरआईएससी के रूप में देखते हैं।<ref name="Flynn54">{{cite book |title=Computer architecture: pipelined and parallel processor design |author-link=Michael J. Flynn |first=Michael J. |last=Flynn |year=1995 |isbn=0867202041 |pages=54–56 }}</ref>


Line 119: Line 122:
{{RISC-based processor architectures}}
{{RISC-based processor architectures}}
{{IBM midrange computers}}
{{IBM midrange computers}}
[[Category: आईबीएम मिनीकंप्यूटर | 801]] [[Category: मिनी कंप्यूटर]]


[[Category: Machine Translated Page]]
[[Category:CS1 English-language sources (en)]]
[[Category:Collapse templates]]
[[Category:Created On 19/06/2023]]
[[Category:Created On 19/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:आईबीएम मिनीकंप्यूटर| 801]]
[[Category:मिनी कंप्यूटर]]

Latest revision as of 17:44, 10 July 2023

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

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

801 पर अपने कार्य के लिए, जॉन कॉके (कंप्यूटर वैज्ञानिक) को कई पुरस्कारों और पदकों से सम्मानित किया गया, जिसमें 1987 में ट्यूरिंग अवार्ड, 1991 में प्रौद्योगिकी का राष्ट्रीय पदक और 1994 में विज्ञान का राष्ट्रीय पदक सम्मलित हैं।

इतिहास

मूल अवधारणा

1974 में, आईबीएम ने एक घंटे में एक मिलियन कॉल, या प्रति सेकंड लगभग 300 कॉल को संभालने के लिए एक टेलीफोन स्विच के निर्माण की संभावना की जांच प्रारम्भ की थी। उन्होंने गणना किया कि प्रत्येक कॉल को पूरा करने के लिए 20,000 निर्देशों की आवश्यकता होगी, और जब जोड़ा गया समय ओवरहेड और अन्य कारण, ऐसी मशीन को लगभग 12 एमआईपीएस के परफॉरमेंस की आवश्यकता होती है।[1] इसके लिए परफॉरमेंस में महत्वपूर्ण प्रगति की आवश्यकता होगी; उनकी वर्तमान टॉप-ऑफ़-द-लाइन मशीन, आईबीएम सिस्टम/370 मॉडल 168 1972 के अंत में, लगभग 3 एमआईपीएस को प्रदर्शित किया था।[2]

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

टेलीफोन स्विच परियोजना को 1975 में समाप्त कर दिया गया था, लेकिन टीम ने अवधारणा पर बहुत प्रगति की थी और अक्टूबर में आईबीएम ने इसे सामान्य प्रयोजन के डिजाइन के रूप में चलाये रखने का निर्णय किया था। इसे संलग्न करने के लिए कोई स्पष्ट परियोजना नहीं होने के कारण, टीम ने उस बिल्डिंग के बाद इसे 801 कहने का निर्णय किया जिसमें उन्होंने काम किया था। सामान्य उद्देश्य की भूमिका के लिए, टीम ने रियल वर्ल्ड प्रोग्राम पर विचार करना प्रारम्भ किया जो विशिष्ट मिनीकंप्यूटर पर चलते हैं। आईबीएम ने अपनी मशीनों पर रियल वर्ल्ड के वर्कलोड के प्रदर्शन पर अधिक मात्रा में सांख्यिकीय डेटा एकत्र किया था और इस डेटा ने प्रदर्शित किया कि विशिष्ट प्रोग्राम में आधे से अधिक समय केवल पांच निर्देशों : मेमोरी से लोड वैल्यू, स्टोर वैल्यू टू मेमोरी, ब्रांच , निश्चित-बिंदु संख्याओं की तुलना और निश्चित-बिंदु संख्याओं को जोड़ने का पालन करने में व्यतीत होता है। इसने सुझाव दिया कि समान सरलीकृत प्रोसेसर डिज़ाइन सामान्य-उद्देश्य मिनीकंप्यूटर के लिए विशेष-उद्देश्य स्विच के रूप में ठीक काम करता हैं।[3]

माइक्रोकोड के उपयोग के विरुद्ध तर्क

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

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

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

परिणामतः, निर्देश सेट में उपलब्ध अधिकांश निर्देश कम्पाइलड प्रोग्राम में कभी भी उपयोग नहीं किए गए थे और यहीं पर टीम ने 801 प्रोजेक्ट की मुख्य उपलब्धि प्राप्त की थी:

कंप्यूटर और उसके उपयोगकर्ताओं के बीच माइक्रोकोड लगाने से सबसे अधिक बार निष्पादित निर्देशों को पूरा करने में अधिक खर्च आता है।[3]

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

एक सोच यह थी कि ऐसी मशीन के लिए लिखे गए प्रोग्राम अधिक मेमोरी लेंगे; कुछ कार्य जो 370 पर निर्देश के साथ पूरे किए जा सकते हैं, उन्हें 801 पर कई निर्देशों के रूप में व्यक्त करना होता हैं। उदाहरण के लिए, मेमोरी से दो नंबर जोड़ने के लिए दो लोड-टू-रजिस्टर निर्देशों, एक रजिस्टर-टू-रजिस्टर ऐड, और फिर स्टोर-टू-मेमोरी की आवश्यकता होती हैं। यह संभावित रूप से सिस्टम को समग्र रूप से धीमा कर सकता है यदि उसे मेमोरी से निर्देशों को पढ़ने में अधिक समय देना पड़ता है, जितना कि पहले उन्हें डीकोड करने में लगता था। जैसा कि उन्होंने डिजाइन पर काम क्रियान्वित रखा और अपने कंपाइलर्स में सुधार किया, उन्होंने पाया कि समग्र प्रोग्राम की लम्बाई में कमी निरंतर हो रही हैं, अंततः 370 के लिए लिखी गई लंबाई के समान हो गयी थी ।[5]

प्रथम कार्यान्वयन

प्रारंभिक रूप से प्रस्तावित आर्किटेक्चर सोलह 24-बिट रजिस्टरों वाली मशीन थी और आभासी मेमोरी के बिना थी।[6][7] इसने निर्देश में दो-ऑपरेंड प्रारूप का उपयोग किया, जिससे की निर्देश साधारण तौर पर फॉर्म A = A + Bके हो, तीन-ऑपरेंड प्रारूप A = B + C के विपरीत होते हैं। परिणामी सीपीयु 1980 की गर्मियों तक कार्यान्वित था और मोटोरोला एमइसीएल-10K असतत घटक प्रौद्योगिकी का उपयोग करके तार से लिपटे बड़े कस्टम बोर्डों पर कार्यान्वित किया गया था[8]। सीपीयु को 66 ns चक्र (लगभग 15.15 MHz) पर क्लॉक किया गया था और प्रति सेकंड लगभग 15 मिलियन निर्देशों की तेज़ गति से गणना कर सकता था।

801 आर्किटेक्चर का उपयोग कई प्रकार के आईबीएम उपकरणों में किया गया था, जिसमें उनके S/370 मेनफ्रेम (जैसे आईबीएम 3090) के लिए चैनल नियंत्रक सम्मलित हैं।[9]: 377  विभिन्न नेटवर्किंग डिवाइस, और आईबीएम 9370 मेनफ्रेम परिवार के 9373 और 9375 प्रोसेसर में लंबवत माइक्रोकोड निष्पादन इकाई के रूप में होता हैं।[10][11] 801 आर्किटेक्चर का मूल संस्करण आईबीएम आरओएमपी माइक्रोप्रोसेसर के आर्किटेक्चर का आधार था[9]: 378  आईबीएम आरटी पीसी वर्कस्टेशन कंप्यूटर और आईबीएम रिसर्च के कई प्रायोगिक कंप्यूटरों में उपयोग किया जाता है। इलियड नाम के 32-बिट एड्रेसिंग के साथ 801 आर्किटेक्चर के व्युत्पन्न का उद्देश्य असफल आईबीएम फोर्ट नॉक्स मिडरेंज सिस्टम प्रोजेक्ट के प्राथमिक प्रोसेसर के रूप में काम करना था।[12]


बाद में संशोधन

मूल रूप से सीमित-फ़ंक्शन सिस्टम के लिए डिज़ाइन किए जाने के बाद, 801 डिज़ाइन में बड़ी मशीनों पर देखी जाने वाली कई विशेषताओं की कमी थीं। इनमें से उल्लेखनीय वर्चुअल मेमोरी के लिए हार्डवेयर सहायता की कमी थी, जिसकी नियंत्रक भूमिका के लिए आवश्यकता नहीं थी और इसे आवश्यक 801 सिस्टम पर सॉफ़्टवेयर कार्यान्वित किया गया था। अधिक व्यापक उपयोग के लिए, हार्डवेयर सहायता आवश्यक विशेषता थी। इसके अतिरिक्त, 1980 के दशक तक कंप्यूटर वर्ल्ड 32-बिट सिस्टम की तरफ बढ़ रही थी, और 801 के साथ भी ऐसा ही करने की इच्छा थी।[13]

32-बिट प्रारूप में जाने से एक और महत्वपूर्ण लाभ हुआ। व्यवहार में, यह पाया गया कि विशिष्ट गणित कोड में दो-ऑपरेंड प्रारूप का उपयोग करना कठिन था। आदर्श रूप से, दोनों इनपुट ऑपरेंड रजिस्टरों में बने रहेंगे जहां उन्हें बाद के ऑपरेशनों में फिर से इस्तेमाल किया जा सकता है, लेकिन ऑपरेशन के आउटपुट ने उनमें से एक को ओवरराइट कर दिया, प्रायः ऐसा होता था कि मानों में से एक को मेमोरी से फिर से लोड करना पड़ता था। 32-बिट प्रारूप में जाने से, निर्देश शब्दों में अतिरिक्त बिट्स को अतिरिक्त रजिस्टर निर्दिष्ट करने की अनुमति मिलती है, जिससे की ऐसे कार्यों के आउटपुट को अलग रजिस्टर में निर्देशित किया जा सकता था। बड़े निर्देश शब्द ने भी रजिस्टरों की संख्या को सोलह से बढ़ाकर बत्तीस करने की अनुमति दी, एक परिवर्तन जो 801 कोड की परीक्षा द्वारा स्पष्ट रूप से सुझाव दिया गया था। 24 से 32-बिट्स के निर्देश शब्दों के विस्तार के बाद भी, इन दो परिवर्तनों के कारण अवोइडेड लोड और बचत के कारण प्रोग्राम 33% की वृद्धि नहीं हुई थी।[13]

अन्य वांछनीय परिवर्धन में स्ट्रिंग डेटा के साथ काम करने के निर्देश सम्मलित हैं जो मेमोरी शब्द में कई एइससीआईआई वर्णों के साथ पैक किए गए प्रारूप में एन्कोड किया गया था, और बाइनरी-कोडित दशमलव के साथ काम करने के लिए अतिरिक्त, जिसमें एक योजक सम्मलित है जो चार-बिट दशमलव संख्याओं को ले जा सकता है।[13]

जब 801 का नया संस्करण 370 पर सिम्युलेटर के रूप में चलाया गया था, तो टीम को यह जानकर आश्चर्य हुआ कि 801 के लिए संकलित कोड और सिम्युलेटर में चलाया जाने वाला कोड प्रायः उसी स्रोत कोड की तुलना में तेजी से चलता है जो सीधे 370 मशीन कोड 370 का पीएल/1 संकलक का उपयोग करके संकलित किया जाता है।[14] जब उन्होंने अपनी प्रायोगिक पीएल.8 भाषा को 370 में वापस पोर्ट किया और इसका उपयोग करते हुए अनुप्रयोगों को संकलित किया, तो वे उपस्थित पीएल/1 कोड की तुलना में तीन गुना अधिक तेजी से चल रहे थे। यह संकलक द्वारा आरआईएससी जैसे निर्णय लेने के कारण था कि कोड को आंतरिक रजिस्टरों में कैसे संकलित किया जाए, जिससे अधिक से अधिक मेमोरी एक्सेस का अनुकूलन किया जा सकता हैं। ये 370 पर 801 की तरह ही महंगे थे, लेकिन यह लागत साधारण तौर पर सीआईएससी कोड की एक पंक्ति की सरलता से छिपी हुई थी। पीएल.8 कंपाइलर लोड से बचने और बचाने के बारे में अधिक आक्रामक था, और इसके परिणामस्वरूप सीआईएससी प्रोसेसर पर भी उच्च प्रदर्शन हुआ था।[14]

चीता, पैंथर और अमेरिका प्रोजेक्ट

1980 के दशक की प्रारम्भ में, 801 पर सीखे गए ज्ञान को आईबीएम एडवांस्ड कंप्यूटर सिस्टम्स प्रोजेक्ट से जोड़ा गया, जिसके परिणामस्वरूप चीता नामक प्रायोगिक प्रोसेसर का निर्माण हुआ था। चीता 2-वे सुपरस्केलर प्रोसेसर था, जो 1985 में पैंथर नामक प्रोसेसर के रूप में विकसित हुआ, और अंततः 1986 में अमेरिका नामक 4-वे सुपरस्केलर डिज़ाइन में विकसित हुआ था।[15] यह तीन-चिप प्रोसेसर सेट था जिसमें इंस्ट्रक्शन प्रोसेसर सम्मलित था जो निर्देशों को प्राप्त करता है और डिकोड करता है, एक फिक्स्ड-पॉइंट प्रोसेसर जो इंस्ट्रक्शन प्रोसेसर के साथ ड्यूटी साझा करता है, और उन सिस्टमों के लिए एक फ्लोटिंग-पॉइंट प्रोसेसर होता है जिन्हें इसकी आवश्यकता होती है। 801 टीम द्वारा डिज़ाइन किया गया, अंतिम डिज़ाइन 1986 में आईबीएम के ऑस्टिन ऑफिस को भेजा गया था, जहाँ इसे आईबीएम आरएस/6000 सिस्टम में विकसित किया गया था। 25 मेगाहर्ट्ज पर चलने वाली आरएस/6000 अपने समय की सबसे तेज मशीनों में से एक थी। इसने सामान्य परीक्षणों पर अन्य आरआईएससी मशीनों को दो से तीन गुना ज्यादा अच्छा प्रदर्शन किया, और पुराने सीआईएससी सिस्टमों को निम्नतम रूप से बेहतर प्रदर्शन किया गया था।[10]

आरएस/6000 के बाद, कंपनी ने अपना ध्यान 801 अवधारणाओं के संस्करण की ओर लगाया जिसे विभिन्न पैमानों पर कुशलतापूर्वक गढ़ा जा सकता था। परिणाम आईबीएम पावर इंस्ट्रक्शन सेट आर्किटेक्चर और पावर पीसी PC ऑफशूट था।

मान्यता

801 पर उनके कार्य के लिए, जॉन कॉके (कंप्यूटर वैज्ञानिक) को कई पुरस्कार और पदक से सम्मानित किया गया:

माइकल जे. फ्लिन 801 को पहले आरआईएससी के रूप में देखते हैं।[22]


संदर्भ

उद्धरण

  1. 1.0 1.1 Cocke & Markstein 1990, p. 4.
  2. Savard, John. "On the 370/165 and the 360/85".
  3. 3.0 3.1 3.2 3.3 3.4 Cocke & Markstein 1990, p. 5.
  4. Sack, Harald (7 April 2016). "The IBM System/360 and the Use of Microcode". SciHub.
  5. Cocke & Markstein 1990, pp. 6–7.
  6. "The 801 Minicomputer - An Overview" (PDF). October 8, 1976. p. 9.
  7. "System 801 Principles of Operation" (PDF). January 16, 1976.
  8. Radin 1982.
  9. 9.0 9.1 Dewar, Robert B.K.; Smosna, Matthew (1990). Microprocessors: A Programmer's View. McGraw-Hill.
  10. 10.0 10.1 Cocke & Markstein 1990, p. 9.
  11. Mitchell, James (September 1988). "Implementing a mainframe architecture in a 9370 processor". ACM SIGMICRO Newsletter. 19 (3): 3–10. doi:10.1145/62185.62186. ISSN 1050-916X. S2CID 14602753.
  12. Frank G. Soltis (1997). Inside the AS/400, Second Edition. Duke Press. ISBN 978-1882419661.
  13. 13.0 13.1 13.2 Cocke & Markstein 1990, p. 7.
  14. 14.0 14.1 Cocke & Markstein 1990, p. 8.
  15. Smotherman, Mark (2005). "Survey of Superscalar Processors". Modern Processor Design: Fundamentals of Superscalar Processors. By Shen, John Paul; Lipasti, Mikko H. McGraw-Hill.
  16. "जॉन कोक". awards.acm.org (in English). Retrieved 2022-08-29.
  17. "जॉन कॉके - ए.एम. ट्यूरिंग पुरस्कार विजेता". amturing.acm.org. Retrieved 2022-08-29.
  18. "IEEE कंप्यूटर सोसायटी ENIAC कंप्यूटर पायनियर पुरस्कार की महिला" (in English). 9 April 2018. Retrieved 2022-08-29.
  19. 19.0 19.1 "एनएसटीएमएफ". एनएसटीएमएफ. Retrieved 2020-05-12.
  20. "IEEE जॉन वॉन न्यूमैन मेडल प्राप्तकर्ता" (PDF). Institute of Electrical and Electronics Engineers (IEEE).
  21. "जॉन कोक". The Franklin Institute (in English). 2014-01-10. Retrieved 2022-08-29.
  22. Flynn, Michael J. (1995). Computer architecture: pipelined and parallel processor design. pp. 54–56. ISBN 0867202041.


ग्रन्थसूची


अग्रिम पठन

  • "Altering Computer Architecture is Way to Raise Throughput, Suggests IBM Researchers". Electronics V. 49, N. 25 (23 December 1976), pp. 30–31.
  • V. McLellan: "IBM Mini a Radical Departure". Datamation V. 25, N. 11 (October 1979), pp. 53–55.
  • Dewar, Robert B.K.; Smosna, Matthew (1990). Microprocessors: A Programmer's View. McGraw-Hill. pp. 258–264.
  • Tabak, Daniel (1987). RISC Architecture. Research Studies Press. pp. 69–72.


बाहरी संबंध