बेलमैक 32

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

इतिहास
Bellmac 32 प्रोसेसर को AT&T इंजीनियरों द्वारा तीन अलग-अलग Bell Labs स्थानों में विकसित किया गया था: Naperville, इलिनोइस, Holmdel, न्यू जर्सी और मरे हिल, न्यू जर्सी।

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

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

बेलमैक माइक्रोप्रोसेसर की दूसरी पीढ़ी के रूप में फॉलोअप डिज़ाइन मीटिंग्स के परिणामस्वरूप बेलमैक 32ए प्रोजेक्ट हुआ। परियोजना ने एक बार फिर CMOS तकनीक का चयन किया और लक्ष्य घड़ी की आवृत्ति 6.2 मेगाहर्ट्ज तय की। विशिष्टताओं को पूरा करने में ट्रांजिस्टर और प्रतिरोधों के आकार को अधिकतम करने और इंटरकनेक्शन को कम करने के लिए समायोजन मौलिक थे। इंजीनियरों ने एक बड़े कमरे के फर्श पर चिप लेआउट का 20 फुट बाय 20 फुट का इंजीनियरिंग ड्राइंग रखा। पूर्ण सर्किट से उत्पादित चिप्स का परीक्षण डिजाइन की गति से अधिक हो गया, और 7, 8, और यहां तक ​​कि 9 मेगाहर्ट्ज की घड़ी आवृत्ति तक पहुंच गया। एटी एंड टी के टूटने के बाद, बेल लैब्स पश्चिमी इलेक्ट्रिक  का एक घटक बन गया। इस परिवर्तन के साथ, बेलमैक 32 का नाम बदलकर WE 32000 कर दिया गया। चिप के अद्यतन संस्करणों में WE 32100 शामिल था, जिसकी घोषणा जून 1984 में की गई थी। और WE 32200।

आर्किटेक्चर
बेलमैक 32 में एक इंस्ट्रक्शन फेच यूनिट के साथ एक निर्देश पाइपलाइन  है जो मुख्य मेमोरी तक पहुंच को नियंत्रित करने का काम करती है, और एक एक्जीक्यूशन यूनिट है जो प्रक्रिया की निगरानी और डेटा में हेरफेर करने का काम करती है।

निर्देश कतार मेमोरी से प्राप्त निर्देशों से भरी होती है। पता अंकगणितीय इकाई पता गणना के लिए कार्य करती है।

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

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

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

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

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

रजिस्टर
बेलमैक 32 में सोलह 32-बिट रजिस्टर हैं। इनमें से तीन (ISP, PCBP, PSW) विशेषाधिकार प्राप्त हैं, जिनका उपयोग ऑपरेटिंग सिस्टम का समर्थन करने के लिए किया जाता है और केवल तभी लिखा जा सकता है जब माइक्रोप्रोसेसर कर्नेल मोड में हो। तीन अन्य रजिस्टर (एसपी, एपी, एफपी) हैं जिनका उपयोग कुछ निर्देशों द्वारा स्टैक पॉइंटर्स के रूप में किया जाता है। निष्पादन स्तर, प्रोसेसर स्थिति शब्द में निर्धारित, चार अवस्थाओं में से एक हो सकता है: कर्नेल, कार्यकारी, पर्यवेक्षक, उपयोगकर्ता। WE 32200 में अतिरिक्त सोलह रजिस्टर हैं, इन्हें आठ रजिस्टरों के दो समूहों में विभाजित किया जा रहा है: R16 से R23 उपयोगकर्ता रजिस्टर होने के नाते, किसी भी प्रोसेसर मोड में पढ़ने योग्य और लिखने योग्य, वैश्विक चर और अस्थायी भंडारण के लिए अभिप्रेत है; R24 से R31 कर्नेल, या विशेषाधिकार प्राप्त होने के नाते, रजिस्टर करता है जो केवल कर्नेल मोड में लिखने योग्य हैं, किसी अन्य मोड में पढ़ने योग्य हैं। इन अतिरिक्त रजिस्टरों को उच्च-स्तरीय भाषा संकलक को कोड उत्पन्न करने की अनुमति देने के लिए पेश किया गया था जो उन्हें अक्सर उपयोग किए जाने वाले डेटा को संग्रहीत करने के लिए उपयोग कर सकता है, इस प्रकार ऐसी भाषाओं के निष्पादन प्रदर्शन में सुधार होता है।

प्रोसेसर स्थिति शब्द
प्रोसेस स्टेटस वर्ड रजिस्टर फ़ाइल का हिस्सा है और इसे R11 के रूप में अलिया किया गया है।

! बिट्स ! अर्थ
 * वर्ग= विकिटेबल
 * 31:26
 * अप्रयुक्त
 * 25
 * कैश फ्लश अक्षम
 * 24
 * त्वरित-व्यवधान सक्षम करें
 * 23
 * कैश अक्षम करें
 * 22
 * ओवरफ्लो ट्रैप सक्षम करें
 * 21
 * नकारात्मक झंडा
 * 20
 * शून्य ध्वज
 * 19
 * अतिप्रवाह झंडा
 * 18
 * झंडा लेकर
 * 17
 * ट्रेस सक्षम करें
 * 16:13
 * बाधित प्राथमिकता स्तर
 * 12:11
 * वर्तमान निष्पादन स्तर
 * 10:9
 * पिछला निष्पादन स्तर
 * 8:7
 * रजिस्टर-प्रारंभिक संदर्भ
 * 6:3
 * आंतरिक राज्य कोड
 * 2
 * ट्रेस मास्क
 * 1:0
 * अपवाद प्रकार
 * }
 * वर्तमान निष्पादन स्तर
 * 10:9
 * पिछला निष्पादन स्तर
 * 8:7
 * रजिस्टर-प्रारंभिक संदर्भ
 * 6:3
 * आंतरिक राज्य कोड
 * 2
 * ट्रेस मास्क
 * 1:0
 * अपवाद प्रकार
 * }
 * ट्रेस मास्क
 * 1:0
 * अपवाद प्रकार
 * }
 * }

निर्देश
इस माइक्रोप्रोसेसर में 169 निर्देश हैं, जो सी प्रोग्रामिंग भाषा में लिखे गए प्रोग्रामों को निष्पादित करने के लिए अनुकूलित हैं। तदनुसार, चरित्र स्ट्रिंग्स का प्रारूप सी भाषा विनिर्देशों के लिए अनुकूलित किया गया है, उदाहरण के लिए।

निर्देशों में अधिकतम तीन ऑपरेंड हो सकते हैं। प्रोसेसर के पास कोई फ़्लोटिंग-पॉइंट या दशमलव अंकगणितीय निर्देश नहीं है, जो बाद में कोप्रोसेसर WE 32106 और WE 32206 द्वारा प्रदान किए गए थे।

मेमोरी
बेलमैक 32 कई प्रकार की मेमोरी एड्रेसिंग को लागू करता है, जैसे कि रैखिक, तत्काल 8, 16 या 32 बिट्स, पंजीकरण, अप्रत्यक्ष, लघु बदलाव, 8, 16 या 32 बिट्स का पूर्ण और अप्रत्यक्ष विस्थापन।

उपयोग
WE 32x00 प्रोसेसर का उपयोग AT&T कंप्यूटर सिस्टम्स की 3B श्रृंखला के कंप्यूटरों में किया गया था, जिसे वसंत 1984 कॉमडेक्स शो में 3B2, 3B5 और 3B20 श्रेणियों के रूप में व्यावसायिक रूप से उपलब्ध उत्पादों के रूप में अनावरण किया गया था। 1985 के मध्य में, AT&T ने अन्य निर्माताओं को WE 32100 और संबद्ध चिपसेट, बोर्ड-स्तरीय मूल्यांकन प्रणालियों के साथ पेश करना शुरू किया।

सहायक चिप्स
AT&T के पास WE 32x00 सपोर्टिंग चिप्स और पेरिफेरल्स का लाइनअप था, शामिल:
 * हम 32101/32201 मेमोरी मैनेजमेंट यूनिट
 * हम 32102 घड़ी (10, 14, 18, या 24 मेगाहर्ट्ज)
 * हम 32103 घूंट नियंत्रक
 * हम 32104/32204 डीएमए नियंत्रक
 * हम 32106/32206 गणित त्वरण इकाई
 * हम 321SB VMEbus सिंगल बोर्ड कंप्यूटर
 * हम 321EB मूल्यांकन बोर्ड

बाहरी संबंध

 * First-Hand: The AT&T BELLMAC-32 Microprocessor Development. http://www.ieeeghn.org/wiki/index.php/First-Hand:The_AT%26T_BELLMAC-32_Microprocessor_Development
 * Personal computers. Towards a world of computing machines. Appendix B: About microprocessors. Author: Fernando Sáez Cows. http://www.quadernsdigitals.net/datos_web/biblioteca/l_516/enLinea/8.pdf
 * AT&T Tech Channel Archives: Microprocessor for the Information Age  (video)