बेलमैक 32

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

इतिहास
बेलमैक 32 प्रोसेसर को एटी&टी इंजीनियरों द्वारा तीन अलग-अलग बेल लैब्स स्थानों : इंडियन हिल, होल्मडेल, और मुर्रे हिल में विकसित किया गया था।

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

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

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

एटी एंड टी के टूटने के बाद, बेल लैब्स पश्चिमी विद्युत् का घटक बन गया था। इस परिवर्तन के साथ, बेलमैक 32 का नाम बदलकर डब्ल्यू इ 32000 कर दिया गया था। चिप के अद्यतन संस्करणों में डब्ल्यू इ 32100 और डब्ल्यू इ 32200 सम्मलित था, जिसकी घोषणा जून 1984 में की गई थी।

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

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

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

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

 

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

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

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

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

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

प्रोसेसर स्टेटस वर्ड
प्रोसेस स्टेटस वर्ड रजिस्टर फ़ाइल का भाग है और इसे R11 के रूप में उपनाम दिया गया हैं।

! बिट्स ! अर्थ
 * वर्ग= विकिटेबल

31:26
 * अप्रयुक्त

25
 * कैश फ्लश डिसएबल

24
 * क्विक इंटरप्ट इनेबल

23
 * कैश डिसेबल

22
 * ओवरफ्लो ट्रैप इनेबल

21
 * ऋणात्मक
 * 20
 * शून्य
 * शून्य

19
 * ओवरफ्लो
 * 18
 * कैर्री
 * कैर्री

17
 * ट्रेस इनेबल
 * 16:13
 * इंटरप्ट प्रायोरिटी लेवल
 * 12:11
 * करंट एक्सेक्यूशन लेवल
 * 10:9
 * प्रीवियस एक्सेक्यूशन लेवल
 * 10:9
 * प्रीवियस एक्सेक्यूशन लेवल
 * प्रीवियस एक्सेक्यूशन लेवल

8:7
 * रजिस्टर-इनिशियल कॉन्टेक्स्ट

6:3
 * इंटरनल स्टेट कोड

2
 * ट्रेस मास्क

1:0
 * एक्सेप्शन टाइप
 * }

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

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

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

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

सहायक चिप्स
एटी&टी के पास डब्ल्यू इ 32x00 सहायक चिप्स और पेरिफेरल्स का लाइनअप सम्मलित था, :
 * डब्ल्यू इ 32101/32201 मेमोरी मैनेजमेंट यूनिट
 * डब्ल्यू इ 32102 घड़ी (10, 14, 18, या 24 मेगाहर्ट्ज)
 * डब्ल्यू इ 32103 डीआरएएम् नियंत्रक
 * डब्ल्यू इ 32104/32204 डीएमए नियंत्रक
 * डब्ल्यू इ 32106/32206 गणित त्वरण इकाई
 * डब्ल्यू इ 321SB विएम्इ बस सिंगल बोर्ड कंप्यूटर
 * डब्ल्यू इ 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)