प्रक्रमक रजिस्टर

From Vigyanwiki

प्रक्रमक रजिस्टर कंप्यूटर के प्रोसेसर के लिए उपलब्ध एक त्वरित सुलभ स्थान है। रजिस्टरों में प्रायः थोड़ी मात्रा में तेज भंडारण होता है, हालांकि कुछ रजिस्टरों में विशिष्ट हार्डवेयर कार्य होते हैं, और केवल-पढ़ने या केवल-लिखने के लिए हो सकते हैं। कंप्यूटर आर्किटेक्चर में, रजिस्टरों को प्रायः मुख्य मेमोरी के अलावा अन्य तंत्रों द्वारा संबोधित किया जाता है, लेकिन कुछ मामलों में एक मेमोरी पता निर्दिष्ट किया जा सकता है उदाहरण- डीईसी पीडीपी (DEC PDP)-10, आईसीटी (ICT) 1900।

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

प्रोसेसर रजिस्टर सामान्य रूप से मेमोरी पदानुक्रम के शीर्ष पर होते हैं, और डेटा तक पहुंचने का सबसे तेज़ तरीका प्रदान करते हैं। शब्द सामान्य रूप से केवल रजिस्टरों के समूह को संदर्भित करता है जो सीधे निर्देश के हिस्से के रूप में सांकेतिक शब्दों में बदले जाते हैं, जैसा कि निर्देश सेट द्वारा परिभाषित किया गया है। हालांकि, आधुनिक उच्च-प्रदर्शन सीपीयू (CPU) में प्रायः इन "वास्तुशिल्प रजिस्टरों" के प्रतिलिपि होते हैं, ताकि रजिस्टर का नाम बदलकर प्रदर्शन में सुधार किया जा सके, जिससे समानांतर और काल्पनिक निष्पादन की अनुमति मिलती है। आधुनिक x86 डिज़ाइन ने इन तकनीकों को 1995 के आसपास पेंटियम प्रो, साइरिक्स 6x86, Nx586, और AMD K5 के रिलीज़ के साथ प्राप्त किया था।

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

आकार

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

प्रकार

एक प्रोसेसर में प्रायः कई प्रकार के रजिस्टर होते हैं, जिन्हें उनकी सामग्री या उन पर संचालित निर्देशों के अनुसार वर्गीकृत किया जा सकता है।

  • उपयोगकर्ता-सुलभ रजिस्टरों को मशीन के निर्देशों द्वारा पढ़ा या लिखा जा सकता है। उपयोगकर्ता-सुलभ रजिस्टरों का सबसे आम विभाजन डेटा रजिस्टरों और पता रजिस्टरों में होता है
    • डेटा रजिस्टर संख्यात्मक डेटा मान जैसे पूर्णांक और, कुछ आर्किटेक्चर में, फ़्लोटिंग-पॉइंट मान, साथ ही वर्ण, छोटे बिट एरेज़ और अन्य डेटा रख सकते हैं। कुछ पुराने आर्किटेक्चर में, जैसे आईबीएम (IBM) 704, आईबीएम (IBM)709 और उत्तराधिकारी, पीडीपी (PDP)-1, पीडीपी (PDP)-4/पीडीपी (PDP)-7/पीडीपी (PDP)-9/पीडीपी (PDP)-15, पीडीपी (PDP)-5/पीडीपी (PDP)-8, और एचपी (HP) 2100, एक विशेष डेटा रजिस्टर जिसे संचायक के रूप में जाना जाता है, का उपयोग कई कार्यों के लिए स्पष्ट रूप से किया जाता है।
    • पता रजिस्टरों में पते होते हैं और उन निर्देशों द्वारा उपयोग किए जाते हैं जो अप्रत्यक्ष रूप से प्राथमिक मेमोरी तक पहुंचते हैं।
      • कुछ प्रोसेसर में रजिस्टर होते हैं जिनका उपयोग केवल एक पता रखने के लिए या केवल संख्यात्मक मान रखने के लिए किया जा सकता है (कुछ मामलों में एक सूचकांक रजिस्टर के रूप में उपयोग किया जाता है जिसका मान किसी पते से ऑफसेट के रूप में जोड़ा जाता है) अन्य रजिस्टरों को किसी भी प्रकार की मात्रा धारण करने की अनुमति देते हैं। एक संकार्य के प्रभावी पते को निर्दिष्ट करने के लिए उपयोग किए जाने वाले संभावित एड्रेसिंग मोड की एक विस्तृत विविधता मौजूद है।
      • स्टैक पॉइंटर का उपयोग रन-टाइम स्टैक के प्रबंधन के लिए किया जाता है। शायद ही, अन्य डेटा स्टैक को समर्पित पता रजिस्टरों द्वारा संबोधित किया जाता है (स्टैक मशीन देखें)।
    • सामान्य प्रयोजन रजिस्टर (जीपीआर) डेटा और पते दोनों को संग्रहीत कर सकते हैं, अर्थात, वे संयुक्त डेटा/पता रजिस्टर हैं कुछ आर्किटेक्चर में, रजिस्टर फाइल को एकीकृत किया जाता है ताकि जीपीआर (GPRs) फ्लोटिंग-पॉइंट नंबरों को भी संग्रहीत कर सके।
    • स्थिति रजिस्टरों में सत्य मान होते हैं जिनका उपयोग अक्सर यह निर्धारित करने के लिए किया जाता है कि कुछ निर्देश निष्पादित किए जाने चाहिए या नहीं। फ़्लोटिंग-पॉइंट रजिस्टर (FPRs) कई आर्किटेक्चर में फ्लोटिंग पॉइंट नंबरों को संग्रहीत करते हैं। लगातार रजिस्टरों में केवल-पढ़ने के लिए मान होते हैं जैसे शून्य, एक, या पीआई। सदिश रजिस्टर एसआईएमडी (SIMD) निर्देशों (एकल निर्देश, एकाधिक डेटा) द्वारा किए गए सदिश प्रोसेसिंग के लिए डेटा रखते हैं।
    • विशेष-उद्देश्य रजिस्टर (एसपीआर) कार्यक्रम की अवस्था रखते हैं उनमें प्रायः प्रोग्राम काउंटर, जिसे इंस्ट्रक्शन पॉइंटर भी कहा जाता है, और स्थिति (स्टेटस) रजिस्टर सम्मिलित होते हैं प्रोग्राम काउंटर और स्टेटस रजिस्टर को प्रोग्राम स्टेटस वर्ड (PSW) रजिस्टर में जोड़ा जा सकता है। उपरोक्त स्टैक पॉइंटर को कभी-कभी इस समूह में भी सम्मिलित किया जाता है। एंबेडेड माइक्रोप्रोसेसरों में विशेष हार्डवेयर तत्वों के अनुरूप रजिस्टर भी हो सकते हैं। कुछ आर्किटेक्चर में, मॉडल-विशिष्ट रजिस्टर (जिन्हें मशीन-विशिष्ट रजिस्टर भी कहा जाता है) प्रोसेसर से संबंधित डेटा और सेटिंग्स को ही स्टोर करते हैं। चूंकि उनके अर्थ एक विशिष्ट प्रोसेसर के डिजाइन से जुड़े होते हैं, इसलिए उनसे प्रोसेसर पीढ़ियों के बीच मानक बने रहने की उम्मीद नहीं की जा सकती है।
    • मेमोरी टाइप रेंज रजिस्टर (MTRRs)
  • आंतरिक रजिस्टर - निर्देशों द्वारा सुलभ नहीं होने वाले रजिस्टर, प्रोसेसर संचालन के लिए आंतरिक रूप से उपयोग किए जाते हैं।
    • निर्देश रजिस्टर, वर्तमान में निष्पादित किए जा रहे निर्देश को धारण करना।
    • रैम से जानकारी प्राप्त करने से संबंधित रजिस्टर, सीपीयू (CPU) से अलग चिप्स पर स्थित स्टोरेज रजिस्टरों का एक संग्रह-
      • मेमोरी बफर रजिस्टर (एमबीआर), जिसे मेमोरी डेटा रजिस्टर (एमडीआर) के रूप में भी जाना जाता है।
      • मेमोरी पता रजिस्टर (MAR) '
  • आर्किटेक्चरल रजिस्टर - एक आर्किटेक्चर द्वारा परिभाषित सॉफ्टवेयर को दिखाई देने वाले रजिस्टर भौतिक हार्डवेयर के अनुरूप नहीं हो सकते हैं, यदि अंतर्निहित हार्डवेयर द्वारा रजिस्टर का नामकरण किया जा रहा है।

हार्डवेयर रजिस्टर समान होते हैं, लेकिन सीपीयू (CPU) के बाहर होते हैं।

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

उदाहरण

निम्न तालिका कई मुख्यधारा के सीपीयू (CPU) आर्किटेक्चर में रजिस्टरों की संख्या दिखाती है। ध्यान दें कि x86-संगत प्रोसेसर में स्टैक पॉइंटर (ESP) को एक पूर्णांक रजिस्टर के रूप में गिना जाता है, भले ही सीमित संख्या में निर्देश हों जिनका उपयोग इसकी सामग्री पर संचालित करने के लिए किया जा सकता है। अधिकांश आर्किटेक्चर पर समान चेतावनी लागू होती है।

हालांकि ऊपर सूचीबद्ध सभी आर्किटेक्चर अलग-अलग हैं, लगभग सभी एक बुनियादी व्यवस्था में हैं जिसे वॉन न्यूमैन आर्किटेक्चर के रूप में जाना जाता है, जिसे पहले हंगेरियन-अमेरिकी गणितज्ञ जॉन वॉन न्यूमैन द्वारा प्रस्तावित किया गया था। यह भी उल्लेखनीय है कि जीपीयू (GPU) पर रजिस्टरों की संख्या सीपीयू (CPU) की तुलना में बहुत अधिक है।

आर्किटेक्चर जीपीआर/डेटा+पता रजिस्टर एफपी (FP) रजिस्टर टिप्पणियाँ
एटी (AT) एंड टी (T) हॉबिट 000 7 का ढेर सभी डेटा हेरफेर निर्देश पूरी तरह से रजिस्टरों के भीतर काम करते हैं, और प्रसंस्करण से पहले डेटा को एक रजिस्टर में स्थानांतरित किया जाना चाहिए।
क्रे-1[1] 8 अदिश डेटा, 8 पता 8 अदिश, 8 सदिश

(64 तत्व)

अदिश डेटा रजिस्टर पूर्णांक या फ़्लोटिंग-पॉइंट हो सकते हैं; 64 स्केलर स्क्रैच-पैड टी रजिस्टर और 64 एड्रेस स्क्रैच-पैड बी रजिस्टर भी।
4004[2] 1 संचायक, 16 अन्य 000 रजिस्टर ए सामान्य उद्देश्य है, जबकि r0-r15 रजिस्टर पते और खंड के लिए हैं।
8008[3] 1 संचायक, 6 अन्य 000 ए (A) रजिस्टर एक संचायक है जिससे सभी अंकगणित किए जाते हैं; एच (H) और एल (L) रजिस्टरों को एक पते के रजिस्टर के रूप में संयोजन में इस्तेमाल किया जा सकता है सभी रजिस्टरों को लोड/स्टोर/मूव/इंक्रीमेंट/डिक्रीमेंट निर्देशों में ऑपरेंड के रूप में और अंकगणितीय निर्देशों में अन्य ऑपरेंड के रूप में उपयोग किया जा सकता है। कोई एफपी (FP) इकाई उपलब्ध नहीं है।
8080[4] 1 संचायक, 6 अन्य 000 इसके अलावा एक ढेर सूचक। ए रजिस्टर एक संचायक है जिससे सभी अंकगणित किए जाते हैं कुछ निर्देशों में रजिस्टर जोड़े बी+सी, डी+ई, और एच+एल को पता रजिस्टर के रूप में इस्तेमाल किया जा सकता है सभी रजिस्टरों को लोड/स्टोर/मूव/इंक्रीमेंट/डिक्रीमेंट निर्देशों में ऑपरेंड के रूप में और अंकगणितीय निर्देशों में अन्य ऑपरेंड के रूप में उपयोग किया जा सकता है। कुछ निर्देश केवल एच+एल का उपयोग करते हैं एक अन्य निर्देश एच + एल और डी + ई को स्वैप करता है। 8080 के लिए इच्छित फ़्लोटिंग पॉइंट प्रोसेसर इंटेल 8231, एएमडी (AMD) एएम (Am)9511 और इंटेल 8232 थे। वे Z80 और इसी तरह के प्रोसेसर के साथ आसानी से प्रयोग करने योग्य थे।
आईएपीएक्स432 (iAPX432) 000 6 का ढेर स्टैक मशीन
16-बिट x86[5] 006 8 का ढेर

(यदि एफपी (FP) मौजूद है)

8086/8088, 80186/80188, 80286,फ़्लोटिंग-पॉइंट के लिए 8087, 80187 या 80287 के साथ, 80-बिट चौड़े, 8 गहरे रजिस्टर स्टैक के साथ कुछ निर्देशों के साथ स्टैक के शीर्ष के सापेक्ष रजिस्टरों को ऑपरेंड के रूप में उपयोग करने में सक्षम 8087/80187/80287 के बिना, कोई फ़्लोटिंग-पॉइंट रजिस्टर नहीं
IA-32[6] 008 8 का ढेर (यदि एफपी (FP) मौजूद है),

8 (यदि एसएसई (SSE)/एमएमएक्स (MMX) मौजूद है)

80386 को फ्लोटिंग-पॉइंट के लिए 80387 की आवश्यकता होती है, बाद के प्रोसेसर में बिल्ट-इन फ्लोटिंग पॉइंट होता है, दोनों में 80-बिट चौड़ा, 8 डीप रजिस्टर स्टैक होता है, जिसमें कुछ निर्देश ऑपरेंड के रूप में स्टैक के शीर्ष के सापेक्ष रजिस्टरों का उपयोग करने में सक्षम होते हैं। पेंटियम III और बाद में अतिरिक्त 128-बिट एक्सएमएम रजिस्टरों के साथ एसएसई (SSE) था।
x86-64[6][7] 016 16 या 32

(यदि AVX-512 उपलब्ध है)

एफपी (FP) रजिस्टर 128-बिट एक्सएमएम (XMM) रजिस्टर हैं, जिन्हें बाद में AVX/AVX2 के साथ 256-बिट वाईएमएम (YMM) रजिस्टर और AVX-512. के साथ 512-बिट ZMM0-ZMM31 रजिस्टर तक बढ़ा दिया गया है।[8]
ज़ीओन फी (Xeon Phi)[9] 016 032 AVX-512 के साथ 32 256/512-बिट जेडएमएम (ZMM) रजिस्टर सहित।
फेयरचाइल्ड F8 एक संचायक, 64 स्क्रैचपैड रजिस्टर, एक अप्रत्यक्ष स्क्रैचपैड रजिस्टर (आईएसएआर) (ISAR) निर्देश सीधे पहले 16 स्क्रैचपैड रजिस्टरों को संदर्भित कर सकते हैं और आईएसएआर (ISAR) के माध्यम से अप्रत्यक्ष रूप से सभी स्क्रैचपैड रजिस्टरों तक पहुंच सकते हैं।[10]
जिओड जीएक्स (GX) 1 डेटा, 1 पता 008 जिओड जीएक्स/मीडिया जीएक्स/4x86/5x86 साइरिक्स/नेशनल सेमीकंडक्टर द्वारा बनाए गए 486/पेंटियम संगत प्रोसेसर का अनुकरण है।ट्रांसमेटा की तरह, प्रोसेसर में एक अनुवाद परत थी जिसने x86 कोड को मूल कोड में अनुवादित किया और इसे निष्पादित किया।[citation needed] यह 128-बिट एसएसई रजिस्टरों का समर्थन नहीं करता है, केवल आठ 80-बिट फ्लोटिंग पॉइंट रजिस्टरों का 80387 स्टैक, और एएमडी (AMD) से 3डीनाउ! आंशिक रूप से समर्थन करता है। मूल प्रोसेसर में सभी उद्देश्यों के लिए केवल 1 डेटा और 1 पता रजिस्टर होता है और इसे 32-बिट नामकरण रजिस्टरों r1 (आधार), r2 (डेटा), r3 (बैक पॉइंटर), और r4 (स्टैक पॉइंटर) के 4 पथों में अनुवादित किया जाता है। पूर्णांक संचालन के लिए स्क्रैचपैड SRAM और यह x86 कोड अनुकरण के लिए L1 कैश का उपयोग करता है (यह वास्तविक मोड में कुछ 286/386/486 निर्देशों के साथ संगत नहीं है)।[citation needed] बाद में एएमडी(AMD) द्वारा राष्ट्रीय सेमीकंडक्टर से आईपी (IP) प्राप्त करने के बाद डिजाइन को छोड़ दिया गया था इसे एंबेडेड मार्केट में एथलॉन कोर के साथ ब्रांडेड किया।
सनप्लस एसपीजी (SPG) 000 6 स्टैक + 4 एसआईएमडी (SIMD) ताइवान की कंपनी सनप्लस टेक्नोलॉजी का एक 16-बिट चौड़ा, 32-बिट एड्रेस स्पेस स्टैक मशीन प्रोसेसर, यह शैक्षिक उद्देश्यों के लिए वीटेक की वी.स्माइल लाइन और वायरलेस 60, मैटल हाइपरस्कैन और जावीएक्सपीओआरटी (XaviXPORT) जैसे वीडियो गेम कंसोल पर पाया जा सकता है। इसमें नामकरण / नामकरण के लिए किसी भी सामान्य प्रयोजन के रजिस्टर या आंतरिक रजिस्टर का अभाव है, लेकिन इसकी फ़्लोटिंग पॉइंट यूनिट में एक 80-बिट 6 चरण स्टैक और चार 128-बिट वीएलआईडब्ल्यू (VLIW) एसआईएमडी (SIMD) रजिस्टर हैं जो एक वर्टेक्स शेडर सह-प्रोसेसर पर हैं।
वीएम (VM) लैब्स न्यूऑन 000 001 वीएम लैब्स द्वारा विकसित और मल्टीमीडिया के लिए विशिष्ट 32-बिट स्टैक मशीन प्रोसेसर। यह कंपनी के अपने नुऑन डीवीडी (DVD) प्लेयर कंसोल लाइन और जैपिट गेम्स के गेम वेव फैमिली एंटरटेनमेंट प्रणाली पर पाया जा सकता है। डिजाइन इंटेल की एमएमएक्स (MMX) तकनीक से काफी प्रभावित था इसमें सदिश और अदिश निर्देशों दोनों के लिए 128-बाइट एकीकृत स्टैक कैश सम्मिलित था। एकीकृत कैश को 8 128-बिट सदिश रजिस्टरों या 32 32-बिट एसआईएमडी (SIMD) स्केलर रजिस्टरों के रूप में बैंक के नामकरण के माध्यम से विभाजित किया जा सकता है इस आर्किटेक्चर में कोई पूर्णांक रजिस्टर नहीं है।
Nios II[11][12] 031 008 Nios II MIPS IV निर्देश सेट पर आधारित है[citation needed] और इसमें 31 32-बिट GPR हैं, जिसमें रजिस्टर 0 शून्य से हार्डवायर्ड है, और 8 64-बिट फ्लोटिंग पॉइंट रजिस्टर हैं।[citation needed]
मोटोरोला 6800[13] 2 डेटा, 1 सूचकांक 000 प्लस एक ढेर सूचक
मोटोरोला 68k[14] 8 डेटा (d0–d7), 8 पता (a0–a7) 008

(यदि एफपी (FP) मौजूद है)

पता रजिस्टर 8 (ए 7) ढेर सूचक है। 68000, 68010, 68012, 68020, और 68030 को फ़्लोटिंग पॉइंट के लिए एक एफपीयू (FPU) की आवश्यकता होती है 68040 में एफपीयू (FPU) बनाया गया था। एफपी (FP) रजिस्टर 80-बिट हैं।
एसएच (SH) 16-बिट 001 006
इमोशन इंजन 3(VU0)+ 32(VU1) 32 SIMD (UV1 में एकीकृत)

+ 2 × 32 सदिश (समर्पित सदिश सह-प्रोसेसर जो इसके GPU के पास स्थित है)

इमोशन इंजन का मुख्य कोर (VU0) सामान्य पृष्ठभूमि कार्यों के लिए एक भारी संशोधित डीएसपी (DSP) सामान्य कोर है और इसमें एक 64-बिट संचायक, दो सामान्य डेटा रजिस्टर और एक 32-बिट प्रोग्राम काउंटर सम्मिलित हैं। एक संशोधित एमआईपीएस (MIPS) III निष्पादन योग्य कोर (VU1) गेम डेटा और प्रोटोकॉल नियंत्रण के लिए है और इसमें पूर्णांक गणना के लिए 32 32-बिट सामान्य-उद्देश्य रजिस्टर और एसआईएमडी (SIMD) निर्देश, स्ट्रीमिंग डेटा मान और कुछ पूर्णांक गणना मान संग्रहीत करने के लिए 32 128-बिट एसआईएमडी (SIMD) रजिस्टर सम्मिलित हैं। और सह-प्रोसेसर पर सदिश रजिस्टर फ़ाइल में सामान्य फ्लोटिंग-पॉइंट गणना को जोड़ने के लिए एक संचायक रजिस्टर को प्रोसेसर 32-एंट्री 128-बिट सदिश रजिस्टर फ़ाइल के माध्यम से बनाया गया है (केवल सीपीयू (CPU) में संचायक से गुजरने वाले सदिश मानों को संग्रहीत कर सकता है) और कोई पूर्णांक रजिस्टर नहीं बनाया गया है। दोनों सदिश सह-प्रोसेसर (VPU 0/1) और इमोशन इंजन का संपूर्ण मुख्य प्रोसेसर मॉड्यूल (VU0 + VU1 + VPU0 + VPU1) एक संशोधित एमआईपीएस (MIPS) निर्देश सेट के आधार पर बनाया गया है। इस मामले में संचायक सामान्य उद्देश्य नहीं बल्कि नियंत्रण की स्थिति है।
सीयूडीए (CUDA)[15] विन्यास योग्य, प्रति थ्रेड 255 तक पहले की पीढ़ियों को प्रति थ्रेड (टेस्ला/ फर्मी) 127/63 रजिस्टर तक की अनुमति थी। प्रति थ्रेड जितने अधिक रजिस्टर कॉन्फ़िगर किए जाते हैं, उतने ही कम थ्रेड एक ही समय में चल सकते हैं। रजिस्टर 32 बिट चौड़े होते हैं, डबल सटीक फ्लोटिंग पॉइंट नंबर और 64 बिट पॉइंटर्स इसलिए दो रजिस्टरों की आवश्यकता होती है। इसके अतिरिक्त प्रति थ्रेड में 8 विधेय रजिस्टर हैं।[16]
सीडीसी (CDC) 6000 श्रृंखला 016 008 8 'ए' रजिस्टर, ए0-ए7, 18-बिट पते रखते हैं 8 'बी' रजिस्टर, बी0-बी7, 18-बिट पूर्णांक मान रखते हैं (बी0 के साथ स्थायी रूप से शून्य पर सेट) 8 'X' रजिस्टर, X0-X7, पूर्णांक या फ्लोटिंग-पॉइंट डेटा के 60 बिट रखते हैं। आठ 18-बिट ए रजिस्टरों में से सात को उनके संबंधित एक्स (X) रजिस्टरों के साथ जोड़ा गया था किसी भी ए 1-ए 5 रजिस्टरों को किसी मान पर सेट करने से उस पते की सामग्री का मेमोरी लोड संबंधित एक्स (X) रजिस्टर में होता है। इसी तरह, रजिस्टरों ए 6 या ए 7 में एक पता सेट करने से एक्स 6 या एक्स 7 से मेमोरी में उस स्थान पर मेमोरी संग्रहीत हो जाता है। (रजिस्टर A0 और X0 इस तरह युग्मित नहीं थे)।
सिस्टम/360,सिस्टम/370,सिस्टम/390,

z/आर्किटेक्चर

016 4 (यदि एफपी मौजूद है)

G5 में 16 और बाद में S/390 मॉडल और z/आर्किटेक्चर

एफपी सिस्टम/360 में वैकल्पिक था, और हमेशा एस/370 और बाद में मौजूद था। सदिश सुविधा वाले प्रोसेसर में, 16 सदिश रजिस्टर होते हैं जिनमें 32-बिट तत्वों की मशीन-निर्भर संख्या होती है।[17] कुछ रजिस्टरों को सम्मेलन बुलाकर एक निश्चित उद्देश्य सौंपा जाता है उदाहरण के लिए, रजिस्टर 14 का उपयोग सबरूटीन रिटर्न पतों के लिए किया जाता है और, ELF ABI के लिए, रजिस्टर 15 का उपयोग ढेर सूचक के रूप में किया जाता है। S/390 G5 प्रोसेसर ने फ्लोटिंग-पॉइंट रजिस्टरों की संख्या को बढ़ाकर 16 कर दिया।[18]
एमएमआईएक्स (MMIX)[19] 256 256 शैक्षणिक उद्देश्यों के लिए 1990 के दशक के अंत में डोनाल्ड नुथ द्वारा डिज़ाइन किया गया एक निर्देश सेट।
NS320xx[20] 008 008

(यदि एफपी (FP) मौजूद है)

Xelerated X10 001 032 एक संशोधित एमआईपीएस (MIPS) निर्देश सेट और 128 बिट फ्लोटिंग पॉइंट यूनिट के साथ एक 32/40-बिट स्टैक मशीन आधारित नेटवर्क प्रोसेसर।[citation needed]
लंबन प्रोपेलर 000 002 एक साधारण लॉजिक सर्किट के साथ एक 8 कोर 8/16 बिट कटा हुआ स्टैक मशीन नियंत्रक, इसमें 8 कॉग काउंटर (कोर) हैं, प्रत्येक में 32 बिट x 512 स्टैक रैम के साथ तीन 8/16 बिट विशेष नियंत्रण रजिस्टर हैं। हालांकि, इसमें पूर्णांक उद्देश्यों के लिए कोई सामान्य रजिस्टर सम्मिलित नहीं है। आधुनिक प्रोसेसर और मल्टी कोर प्रणाली में अधिकांश शैडो रजिस्टर फाइलों के विपरीत, कॉग में सभी स्टैक रैम को निर्देश स्तर में अभिगम किया जा सकता है जो इन सभी कोगों को यदि आवश्यक हो तो एकल सामान्य उद्देश्य कोर के रूप में कार्य करने की अनुमति देता है। फ्लोटिंग पॉइंट यूनिट बाहरी होती है और इसमें दो 80 बिट सदिश रजिस्टर होते हैं।
इटेनियम 128 128 और 64 1-बिट विधेय रजिस्टर और 8 शाखा रजिस्टर हैं। एफपी (FP) रजिस्टर 82-बिट हैं।
स्पार्क (SPARC) 031 032 वैश्विक रजिस्टर 0 को 0 से हार्डवायर किया गया है। रजिस्टर विंडो का उपयोग करता है।
आईबीएम (IBM) पावर 032 032 और 1 लिंक और 1 गिनती रजिस्टर।
पावर आईएसए (ISA) 032 032 और 1 लिंक और 1 गिनती रजिस्टर। सदिश सुविधा का समर्थन करने वाले प्रोसेसर में 32 128-बिट सदिश रजिस्टर भी होते हैं।
ब्लैकफिन 8 डेटा, 2 संचायक, 6 पता 000 और स्टैक पॉइंटर और फ्रेम पॉइंटर। अतिरिक्त रजिस्टरों का उपयोग शून्य-ओवरहेड लूप और सर्कुलर बफर डीएजी (DAG) (डेटा एड्रेस जेनरेटर) को लागू करने के लिए किया जाता है।
आईबीएम (IBM) सेल एसपीई (SPE) 128 128 जीपीआर, जो पूर्णांक, पता या फ्लोटिंग-पॉइंट मान रख सकते हैं।[21]
पीडीपी (PDP)-10 016 सभी रजिस्टरों का सामान्य रूप से उपयोग किया जा सकता है (पूर्णांक, फ्लोट, स्टैक पॉइंटर, जंप, इंडेक्सिंग, आदि)। प्रत्येक 36-बिट मेमोरी (या रजिस्टर) शब्द को आधे शब्द के रूप में भी हेरफेर किया जा सकता है, जिसे (18-बिट) पता माना जा सकता है। अन्य शब्द व्याख्याओं का उपयोग कुछ निर्देशों द्वारा किया जाता है। मूल पीडीपी (PDP)-10 प्रोसेसर में, ये 16 जीपीआर(GPR) मुख्य (यानी कोर) मेमोरी लोकेशन 0–15 के अनुरूप थे "फास्ट मेमोरी" नामक एक हार्डवेयर विकल्प ने रजिस्टरों को अलग आईसी (IC) के रूप में लागू किया, और स्मृति स्थानों के संदर्भ 0-15 आईसी (IC) रजिस्टरों को संदर्भित किया गया। बाद के मॉडलों ने रजिस्टरों को "फास्ट मेमोरी" के रूप में लागू किया और स्मृति स्थानों को 0-15 से संदर्भित करना जारी रखा। आंदोलन निर्देश लेते हैं (रजिस्टर, मेमोरी) ऑपरेंड- MOVE 1,2 रजिस्टर-रजिस्टर है, और MOVE 1,1000 मेमोरी-से-रजिस्टर है।
पीडीपी (PDP)-11 007 006

(यदि एफपीपी (FPP) मौजूद है)

R7 प्रोग्राम काउंटर है। कोई भी रजिस्टर स्टैक पॉइंटर हो सकता है लेकिन R6 का उपयोग हार्डवेयर इंटरप्ट और ट्रैप के लिए किया जाता है।
वीएएक्स (VAX) 016 जीपीआर (GPR) का उपयोग फ्लोटिंग-पॉइंट मान के लिए भी किया जाता है। तीन रजिस्टरों के विशेष उपयोग हैं R12 (तर्क सूचक), R13 (फ़्रेम पॉइंटर), और R14 (स्टैक पॉइंटर), जबकि R15 प्रोग्राम काउंटर को संदर्भित करता है।
एल्फा 031 031 रजिस्टर R31 (पूर्णांक) और F31 (फ्लोटिंग-पॉइंट) शून्य से हार्डवायर्ड हैं।
6502 1 डेटा, 2 सूचकांक 000 मुख्य उद्देश्य डेटा स्टोर और मेमोरी एड्रेस (8-बिट डेटा/16-बिट एड्रेस) के लिए 6502 की सामग्री ए (संचयक) रजिस्टर, एक्स (X), वाई (Y) अप्रत्यक्ष और प्रत्यक्ष सूचकांक रजिस्टर (क्रमशः) हैं और एसपी(SP) रजिस्टर केवल विशिष्ट सूचकांक हैं।
W65C816S 001 000 65c816 6502 का 16-बिट उत्तराधिकारी है। X, Y, D (डायरेक्ट पेज रजिस्टर) शर्त रजिस्टर हैं और SP रजिस्टर केवल विशिष्ट सूचकांक हैं। संगतता के लिए 8-बिट (ए) रखते हुए मुख्य संचायक को 16-बिट (सी)[22] तक बढ़ाया गया और मुख्य रजिस्टर अब 24-बिट (16-बिट वाइड डेटा निर्देश/24-बिट मेमोरी पता) तक संबोधित कर सकते हैं।
65k 001 000 6502, 65002 का प्रत्यक्ष उत्तराधिकारी केवल सामग्री ए (संचयक) मुख्य उद्देश्य डेटा संग्रहण के लिए रजिस्टर करता है और 32-बिट और 64-बिटअनुदेश चौड़ा तक डेटा का विस्तार करता है, सॉफ्टवेयर मोड में 48-बिट आभासी पता का समर्थन करता है, एक्स (X), वाई (Y) अभी भी शर्त रजिस्टर हैं और 8-बिट बने रहें और एसपी (SP) रजिस्टर विशिष्ट सूचकांक हैं लेकिन 16-बिट चौड़े तक बढ़ जाते हैं।
एमईपी (MeP) 004 008 मीडिया-एम्बेडेड प्रोसेसर एक 32 बिट प्रोसेसर था जिसे तोशिबा द्वारा विकसित किया गया था जिसमें सभी मोड (8/16/32 बिट) के माध्यम से केवल ए, बी, सी और डी रजिस्टरों के साथ एक संशोधित 8080 निर्देश सेट था। यह x86 के साथ असंगत है हालाँकि, इसमें एक 80 बिट फ्लोटिंग पॉइंट इकाई है जो x87 संगत है।
पीआईसी (PIC) माइक्रोकंट्रोलर 001 000
एवीआर (AVR) माइक्रोकंट्रोलर 032 000
एआरएम (ARM) 32-बिट (एआरएम(ARM)/ए (A)32, थंब-2/टी(T)32) 014 भिन्न

(32 तक)

r15 प्रोग्राम काउंटर है, और जीपीआर (GPR) के रूप में उपयोग करने योग्य नहीं है r13 स्टैक पॉइंटर है; r8–r13 को प्रोसेसर मोड स्विच पर अन्य (बैंक्ड) के लिए स्विच आउट किया जा सकता है। पुराने संस्करणों में 26-बिट एड्रेसिंग थी,[23]और स्टेटस फ्लैग के लिए प्रोग्राम काउंटर (आर 15) के ऊपरी बिट्स का इस्तेमाल किया, जिससे वह रजिस्टर 32-बिट बन गया।
एआरएम (ARM) 32-बिट (थंब) 008 016 थंब का संस्करण 1, जो केवल r0 से r7 तक रजिस्टरों तक पहुंच का समर्थन करता है।[24]
एआरएम (ARM) 64-बिट (A64)[25] 031 032 रजिस्टर r31 संदर्भ के आधार पर स्टैक पॉइंटर या 0 से हार्डवेयर्ड होता है।
एमआईपीएस (MIPS) 031 032 पूर्णांक रजिस्टर 0 को 0 से हार्डवायर किया जाता है।
आरआईएससी-वी (RISC-V) 031 032 पूर्णांक रजिस्टर 0 हार्डवायर्ड से 0। बहुत सीमित संसाधनों वाले प्रणाली के लिए लक्षित संस्करण RV32E में 15 पूर्णांक रजिस्टर हैं।
इपिफ़नी 64 (प्रति कोर)[26] प्रत्येक निर्देश नियंत्रित करता है कि रजिस्टरों को पूर्णांक या एकल परिशुद्धता फ़्लोटिंग बिंदु के रूप में व्याख्या किया गया है या नहीं। आर्किटेक्चर वर्तमान में उपलब्ध 16 और 64 कोर कार्यान्वयन के साथ 4096 कोर तक मापनीय है।

उपयोग

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

यह भी देखें

  • सीपीयू कैश।
  • रजिस्टर आवंटन।
  • रजिस्टर फ़ाइल।
  • शिफ्ट रजिस्टर।

संदर्भ

  1. "Cray-1 Computer System Hardware Reference Manual" (PDF). Cray Research. November 1977.
  2. "MCS-4 Micro Computer Set Users Manual" (PDF). Intel. February 1973.
  3. "8008 8 Bit Parallel Central Processor Unit Users Manual" (PDF). Intel. November 1973. Retrieved January 23, 2014.
  4. "Intel 8080 Microcomputer Systems User's Manual" (PDF). Intel. September 1975. Retrieved January 23, 2014.
  5. "80286 and 80287 Programmer's Reference Manual" (PDF). Intel. 1987.
  6. 6.0 6.1 "Intel 64 and IA-32 Architectures Software Developer Manuals". Intel. 4 December 2019.
  7. "AMD64 Architecture Programmer's Manual Volume 1: Application Programming" (PDF). AMD. October 2013.
  8. "Intel Architecture Instruction Set Extensions and Future Features Programming Reference" (PDF). Intel. January 2018.
  9. "Intel Xeon Phi Coprocessor Instruction Set Architecture Reference Manual" (PDF). Intel. September 7, 2012.
  10. F8 Guide to Programming (PDF). Fairchild MOS Microcomputer Division. 1977.
  11. "Nios II Classic Processor Reference Guide" (PDF). Altera. April 2, 2015.
  12. "Nios II Gen2 Processor Reference Guide" (PDF). Altera. April 2, 2015.
  13. "M6800 Programming Reference Manual" (PDF). Motorola. November 1976. Retrieved May 18, 2015.
  14. "Motorola M68000 Family Programmer's Reference Manual" (PDF). Motorola. 1992. Retrieved June 13, 2015.
  15. "CUDA C Programming Guide". Nvidia. 2019. Retrieved Jan 9, 2020.
  16. Jia, Zhe; Maggioni, Marco; Staiger, Benjamin; Scarpazza, Daniele P. (2018). "Dissecting the NVIDIA Volta GPU Architecture via Microbenchmarking". arXiv:1804.06826 [cs.DC].
  17. "IBM Enterprise Systems Architecture/370 and System/370 - Vector Operations" (PDF). IBM. SA22-7125-3. Retrieved May 11, 2020.
  18. "IBM S/390 G5 Microprocessor" (PDF).
  19. "MMIX Home Page".
  20. "Series 32000 Databook" (PDF). National Semiconductor.
  21. "Synergistic Processor Unit Instruction Set Architecture Version 1.2" (PDF). IBM. January 27, 2007.
  22. "Learning 65816 Assembly". Super Famicom Development Wiki. Retrieved 14 November 2019.
  23. "Procedure Call Standard for the ARM Architecture" (PDF). ARM Holdings. 30 November 2013. Retrieved 27 May 2013.
  24. "2.6.2. The Thumb-state register set". ARM7TDMI Technical Reference Manual. ARM Holdings.
  25. "Procedure Call Standard for the ARM 64-bit Architecture" (PDF). ARM Holdings. 22 May 2013. Retrieved 27 May 2013.
  26. "Epiphany Architecture Reference" (PDF).