पहले के प्रोसेसर में, सभी रजिस्टर समान नहीं थे:
- प्रत्येक रजिस्टर के लिए एक योजक इकाई होने के लिए चिप्स पर पर्याप्त जगह नहीं थी।
- 8 बिट्स के साथ, स्रोत और गंतव्य के सभी संभावित संयोजनों के लिए पर्याप्त ओपकोड उपलब्ध नहीं थे।
इसलिए यह मानते हुए कि एक विशिष्ट रजिस्टर हमेशा जोड़ा गया था जब योजक शामिल था, चिप को कम जटिल बना दिया और opcodes को छोटा कर दिया।
उदाहरण के लिए 6510 (कमोडोर 64 में प्रयुक्त) केवल रजिस्टर A का उपयोग करके जोड़ सकता है, और X या Y में प्रयुक्त अनुक्रमण किया जाता है। INC X और INC Y निर्देश हैं, लेकिन कोई INC A नहीं।
चूंकि रजिस्टरों में अलग-अलग उपयोग थे, इसलिए उनके उपयोग को दर्शाते हुए मेनेमिक्स को चुना गया। जैसे 6510 (ए, बी और सी के बजाय) ए, एक्स और वाई।
8086 में नाम उनके उपयोग को दर्शाने के लिए चुने गए हैं। 4 सामान्य उद्देश्य रजिस्टरों के साथ, उन्हें एक्सएक्स, बीएक्स, सीएक्स, और डीएक्स नाम देना तर्कसंगत था। अतिरिक्त अनुक्रमण रजिस्टर को BP और SP (mnemonic: Base Pointer, Stack Pointer) कहा जाता था।
चूंकि कई ऑपकोड 16 बिट्स तक बढ़ाए गए थे, इसलिए यह इंगित करने के लिए कुछ स्थान था कि चार में से एक रजिस्टर का उपयोग किया गया था। हालांकि, कुछ ऐतिहासिक कारणों को अभी भी लागू किया गया है, क्योंकि CX थोड़ा विशेष था: REP और पसंद, जो 8 बिट opcodes हैं, हमेशा काउंटर के रूप में CX का उपयोग करते हैं। एक साधारण महामारी, सीएक्स = काउंटर, यह याद रखने में मदद करता है कि किसका उपयोग किया जाता है।
8086 के उत्तराधिकारियों के लिए opcodes को पीछे की ओर संगत होना था, और चर लंबाई opcodes के परिणामस्वरूप एक गड़बड़ है। जब 32 बिट बूस अधिक सामान्य हो गए, तो निश्चित ओपोड लंबाई वाले प्रोसेसर की कोशिश की गई। यह सीपीयू के डिकोडिंग भाग को सरल करता है, जो कि अंतरिक्ष को मुक्त करता है जिसका उपयोग अधिक रजिस्टरों के लिए किया जा सकता है।
CISC (कॉम्प्लेक्स इंस्ट्रक्शन सेट सीपीयू) के साथ विपरीत करने के लिए जिन प्रोसेसरों ने विचार की इस लाइन का अनुसरण किया, उन्हें RISC प्रोसेसर (कम इंस्ट्रक्शन सेट सीपीयू) कहा जाता है।
अधिक रजिस्टरों से मेमोरी में कम स्पिल-ओवर होता है। असल में, रजिस्टर सबसे तेज़ कैश उपलब्ध हैं, इसलिए रजिस्टर की संख्या बढ़ाना एक अच्छा विचार है, आजकल भी। विशेष निर्देशों की कमी (उम्मीद से अधिक) सरल निर्देशों के माध्यम से तेजी से मुआवजा दिया गया था।
निश्चित लंबाई 32 बिट ऑपकोड में एक स्रोत, एक दूसरा स्रोत, एक ऑपरेशन और एक गंतव्य शामिल करने के लिए पर्याप्त जगह है। SPARC प्रत्येक स्रोत, दूसरे स्रोत और गंतव्य के लिए 5 बिट्स को मिलाने में कामयाब रहा, और एक ही समय में 32 रजिस्टर दिखाई दिए।
32 रजिस्टर अक्षरों का उपयोग करने के लिए बहुत सारे हैं, और वे वैसे भी ज्यादातर समान थे, इसलिए उन्हें नंबर देना स्पष्ट पसंद था। 'R' का उपयोग उन्हें स्थिरांक 0..31 से अलग करने के लिए किया गया था, और 'R' रजिस्टर के लिए एक आसान महामारी था। इसलिए: R0..R31।
इन वर्षों में, पेंटियम और इसके उत्तराधिकारियों ने पीछे की ओर अनुकूलता बनाए रखी है। हालाँकि, अधिक सुसाइड RISC विचारों में से कई के रूप में अच्छी तरह से प्रेरित थे। अक्सर, वे नए, RISC जैसे निर्देश पीछे के संगत संस्करणों की तुलना में तेज़ी से चलेंगे।
मेमोरी एक्सेस की संख्या को कम करने के लिए, इंटेल द्वारा रजिस्टरों की संख्या भी बढ़ाई गई थी।
और जाहिर है, इंटेल ने आखिरकार आर-नोटेशन का उपयोग करना शुरू कर दिया है। पश्चगामी संगतता यह सुनिश्चित करेगी कि AX, BX, ... रहेगा, लेकिन मैं शर्त लगाऊंगा कि AX केवल R0 का पर्याय है।
डिस्क्लेमर : उपरोक्त इतिहास पर मेरा विचार है। यह अधूरा होगा क्योंकि मैं इतिहास के पहले हिस्सों को देखने के लिए पहले हाथ के आसपास नहीं था। फिर भी, मुझे आशा है कि यह कुछ के लिए उपयोगी है।