सूचकांक रजिस्टर: Difference between revisions
(Created page with "{{Short description|CPU register used for modifying operand addresses}} {{More citations needed|date=December 2009}} File:IBM 7094 console.agr.JPG|thumb|1960 के दश...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|CPU register used for modifying operand addresses}} | {{Short description|CPU register used for modifying operand addresses}} | ||
[[File:IBM 7094 console.agr.JPG|thumb|1960 के दशक की शुरुआत से [[ IBM 7094 ]] मेनफ्रेम पर इंडेक्स रजिस्टर डिस्प्ले।]] | [[File:IBM 7094 console.agr.JPG|thumb|1960 के दशक की शुरुआत से [[ IBM 7094 ]] मेनफ्रेम पर इंडेक्स रजिस्टर डिस्प्ले।]] | ||
कंप्यूटर | कंप्यूटर के [[सीपीयू]] में '''इंडेक्स रजिस्टर''' एक [[प्रोसेसर रजिस्टर]] (या एक निर्दिष्ट मेमोरी लोकेशन) है<ref>{{Cite book|url=http://bitsavers.org/pdf/ibm/7070/GA22-7003-6_7070-7074prcOps.pdf|title=IBM 7070-7074 Principles of Operation|publisher=IBM|year=1962|page=11|chapter=Instructions: Index Words|id=GA22-7003-6|chapter-url=http://bitsavers.org/pdf/ibm/7070/GA22-7003-6_7070-7074prcOps.pdf#page=11}}</ref> जिसका उपयोग प्रोग्राम चलाने के दौरान [[ऑपरेंड]] एड्रेस को इंगित करने के लिए किया जाता है। यह [[स्ट्रिंग्स]] और [[:hi:सरणी डेटा संरचना|सरणियों]] के माध्यम से आगे बढ़ने के लिए उपयोगी है। इसका उपयोग लूप पुनरावृत्तियों और काउंटरों को रखने के लिए भी किया जा सकता है। कुछ आर्किटेक्चर में इसका उपयोग स्मृति के पढ़ने/लिखने के ब्लॉक के लिए किया जाता है। आर्किटेक्चर के आधार पर यह शायद एक समर्पित इंडेक्स रजिस्टर या सामान्य प्रयोजन रजिस्टर हो सकता है।<ref>{{Cite web|title=What Is an Index Register? (with picture)|url=http://www.easytechjunkie.com/what-is-an-index-register.htm|access-date=2022-07-24|website=EasyTechJunkie|language=en-US}}</ref> कुछ [[निर्देश सेट|निर्देश सम्मुच्य]] एक से अधिक इंडेक्स रजिस्टर का उपयोग करने की अनुमति देते हैं; उस मामले में अतिरिक्त निर्देश फ़ील्ड निर्दिष्ट कर सकते हैं कि कौन से इंडेक्स रजिस्टरों का उपयोग करना है।<ref>IBM 709 Reference Manual, Form A22-6501-0, 1958, p. 12</ref> | ||
प्रायशः, वास्तविक डेटा (ऑपरेंड) के "प्रभावी" एड्रेस को बनाने के लिए एक इंडेक्स रजिस्टर के विषय को एक निकटम एड्रेस (जो स्वयं निर्देश का हिस्सा हो सकता है या किसी अन्य रजिस्टर में रखा जा सकता है) में जोड़ा जाता है (कुछ मामलों में घटाया भी जाता है) . विशेष निर्देश आमतौर पर इंडेक्स रजिस्टर का परीक्षण करने के लिए उपयोग किए जाते हैं और, यदि परीक्षण विफल हो जाता है, तो इंडेक्स रजिस्टर को तत्काल स्थिरांक और शाखा से बढ़ाएं, आमतौर पर लूप की शुरुआत में। जबकि आम तौर पर प्रोसेसर जो निर्देश को कई इंडेक्स रजिस्टर समूह को एक साथ सामग्री निर्दिष्ट करने की अनुमति देते हैं, आईबीएम के पास कंप्यूटर की एक पंक्ति होती है जिसमें विषय वस्तु एक साथ होती है या होती थी।<ref>{{cite manual | |||
</ref> प्रोग्राम चलाने के दौरान [[ | |||
| publisher = IBM | | publisher = IBM | ||
| title = IBM 7094 Principles of Operation | | title = IBM 7094 Principles of Operation | ||
Line 20: | Line 10: | ||
| version = Fifth Edition | | version = Fifth Edition | ||
| date = October 21, 1966}}</ref> | | date = October 21, 1966}}</ref> | ||
अनुक्रमणिका रजिस्टर [[सदिश कलन|सदिश]] / [[सरणी]] संचालन करने के लिए और रिकॉर्ड के भीतर एक क्षेत्र से दूसरे क्षेत्र में नेविगेट करने के लिए व्यावसायिक डेटा प्रसंस्करण में उपयोगी साबित हुए हैं। दोनों उपयोगों में इंडेक्स रजिस्टरों ने उपयोग की जाने वाली मेमोरी की मात्रा को काफी कम कर दिया और निष्पादन की गति में वृद्धि हुई। | |||
==इतिहास== | ==इतिहास== | ||
किसी भी प्रकार के एड्रेसिंग मोड के बिना शुरुआती कंप्यूटरों में | किसी भी प्रकार के [[:hi:एड्रेसिंग मोड|अप्रत्यक्ष संबोधन]] के बिना शुरुआती कंप्यूटरों में, निर्देश के पते को संशोधित करके सरणी संचालन किया जाता था, जिसके लिए कई अतिरिक्त प्रोग्राम चरणों की आवश्यकता होती थी और अधिक कंप्यूटर मेमोरी का उपयोग किया जाता था,<ref>IBM 1401 Reference manual, Form A24-1403-4, 1960, p. 77</ref> प्रारंभिक युग के कंप्यूटर इंस्टॉलेशन में एक दुर्लभ संसाधन (जैसा कि साथ ही दो दशक बाद शुरुआती माइक्रो कंप्यूटरों में)। | ||
इंडेक्स रजिस्टर, | इंडेक्स रजिस्टर, जिन्हें आमतौर पर शुरुआती ब्रिटिश कंप्यूटरों में बी-लाइन के रूप में जाना जाता है, कुछ मशीनों पर बी-रजिस्टर और अन्य पर एक्स-रजिस्टर {{Efn|The term X-registers was also used for accumulators on, e.g., the [[CDC 6600]].}}, पहली बार 1949 में ब्रिटिश मैनचेस्टर मार्क 1 कंप्यूटर में उपयोग किए गए थे। सामान्य तौर पर, अनुक्रमणिका रजिस्टर प्रौद्योगिकी की दूसरी पीढ़ी के दौरान, मोटे तौर पर 1954-1966 – दौरान कंप्यूटर का एक मानक हिस्सा बन गया। [[आईबीएम 700/7000]] [[मेनफ्रेम]] श्रृंखला में अधिकांश {{Efn|The [[IBM 700/7000 series#Commercial architecture (702/705/7080)|702, 705 and 7080]] did not have index registers.}} मशीनों में वे थे, जो 1954 में [[आईबीएम 704]] से शुरू हुए थे, हालांकि वे [[आईबीएम 650]] और [[आईबीएम 1401]] जैसी कुछ छोटी मशीनों पर वैकल्पिक थे। | ||
इंडेक्स रजिस्टर वाली शुरुआती छोटी मशीनों में 1960 के आसपास AN/USQ-17, और SDS 9 सीरीज ऑफ [[ रीयल-टाइम कंप्यूटिंग ]] शामिल हैं। | इंडेक्स रजिस्टर वाली शुरुआती छोटी मशीनों में 1960 के आसपास AN/USQ-17, और SDS 9 सीरीज ऑफ [[ रीयल-टाइम कंप्यूटिंग ]] शामिल हैं। | ||
Line 31: | Line 22: | ||
1962 के [[ UNIVAC 1107 ]] में 15 X-रजिस्टर हैं, जिनमें से चार A-रजिस्टर भी थे। | 1962 के [[ UNIVAC 1107 ]] में 15 X-रजिस्टर हैं, जिनमें से चार A-रजिस्टर भी थे। | ||
1964 [[ जीई-635 ]] में 8 समर्पित एक्स-रजिस्टर हैं; हालाँकि, यह निर्देश काउंटर | 1964 [[:hi:जीई-635|GE-635]] में 8 समर्पित एक्स-रजिस्टर हैं; हालाँकि, यह निर्देश काउंटर या A या Q रजिस्टर के आधे से भी अनुक्रमण की अनुमति देता है। | ||
1964 में शुरू किया गया डिजिटल इक्विपमेंट कॉर्पोरेशन (DEC) [[PDP-6]] और 1964 में घोषित [[आईबीएम सिस्टम/360]] में समर्पित इंडेक्स रजिस्टर शामिल नहीं हैं; इसके बजाय, उनके पास सामान्य-उद्देश्य वाले रजिस्टर होते हैं (पीडीपी-6 में "संचायक" कहलाते हैं) जिनमें या तो संख्यात्मक मान या पते हो सकते हैं। एक ऑपरेंड का स्मृति पता, पीडीपी -6 में, सामान्य प्रयोजन रजिस्टर की सामग्री का योग और 18-बिट ऑफ़सेट और, सिस्टम / 360 पर, दो सामान्य प्रयोजन रजिस्टरों की सामग्री का योग है। और एक 12-बिट ऑफ़सेट।<ref>{{Cite book|url=http://bitsavers.org/pdf/dec/pdp6/F-65_PDP-6_Handbook_Aug64.pdf|title=Programmed Data Processor-6 Handbook|date=August 1964|publisher=[[Digital Equipment Corporation]]|pages=20–22}}</ref> <ref>{{Cite book|url=http://bitsavers.org/pdf/ibm/360/princOps/A22-6821-7_360PrincOpsDec67.pdf|title=IBM System/360 Principles of Operation|date=September 1968|publisher=[[IBM]]|edition=Eighth|pages=8,12–14|id=A22-6821-7}}</ref> PDP-6 के उत्तराधिकारियों की संगत [[:hi:पीडीपी-10|PDP-10]] पंक्ति, और [[आईबीएम सिस्टम/370]] और बाद में सिस्टम/360 के संगत उत्तराधिकारी, वर्तमान z/आर्किटेक्चर सहित, उसी तरह से काम करते हैं। | |||
1969 [[डेटा जनरल नोवा]] और उत्तराधिकारी एक्लिप्स, और 1970 डीईसी पीडीपी-11, [[मिनीकंप्यूटरों]] ने अलग-अलग संचयकों और सूचकांक रजिस्टरों के बजाय सामान्य-उद्देश्य रजिस्टर (नोवा और एक्लिप्स में "संचयक" कहा जाता है) प्रदान किया, जैसा कि उनके [[:hi:डेटा जनरल एक्लिप्स एमवी/8000|ग्रहण एमवी]] और [[:hi:वैक्स|वैक्स]] ने किया था। 32-बिट [[सुपरमिनीकंप्यूटर]] उत्तराधिकारी है। PDP-11 और VAX में, ऑपरेंड के मेमोरी एड्रेस की गणना करते समय सभी रजिस्टरों का उपयोग किया जा सकता है; नोवा, एक्लिप्स और एक्लिप्स एमवी में, केवल रजिस्टर 2 और 3 का उपयोग किया जा सकता है।<ref>{{Cite book|url=http://bitsavers.org/pdf/dg/015-000023-03_NOVA_PgmrRefMan_Jan76.pdf|title=Programmer's Reference Manual, Nova Line Computers|date=January 1976|publisher=[[Data General]]|pages=I{{hyp}}1,II{{hyp}}7}}</ref> <ref>{{Cite book|url=http://bitsavers.org/pdf/dg/eclipse/015-000024-04_Eclipse_PgmrRefMan_Mar75.pdf|title=Programmer's Reference Manual, Eclipse Line Computers|date=March 1975|publisher=[[Data General]]|pages=1{{hyp}}1,2{{hyp}}6}}</ref> <ref>{{Cite book|url=http://bitsavers.org/pdf/dg/eclipse/014-000704-03_32-bit_Eclipse_PrincOps_Aug84.pdf|title=ECLIPSE 32-Bit Systems Principles of Operation|date=August 1984|publisher=[[Data General]]|pages=1{{hyp}}2}}</ref> | |||
1971 [[:hi:सीडीसी स्टार-100|सीडीसी स्टार-100]] में 256 64-बिट रजिस्टरों की एक रजिस्टर फ़ाइल है, जिनमें से 9 आरक्षित हैं। अधिकांश कंप्यूटरों के विपरीत, STAR-100 निर्देशों में केवल रजिस्टर फ़ील्ड और ऑपरेंड फ़ील्ड होते हैं, इसलिए रजिस्टर पारंपरिक इंडेक्स रजिस्टरों की तुलना में पॉइंटर रजिस्टरों के रूप में अधिक काम करते हैं। | |||
जबकि [[ इंटेल 8080 |इंटेल 8080]] ने एक रजिस्टर के माध्यम से अप्रत्यक्ष रूप से संबोधित करने की अनुमति दी, एक सही सूचकांक रजिस्टर वाला पहला [[ माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]]1974[[ मोटोरोला 6800 | मोटोरोला 6800]] प्रतीत होता है। | |||
1975 में, 8-बिट [[ एमओएस प्रौद्योगिकी 6502 | एमओएस प्रौद्योगिकी 6502]] प्रोसेसर में दो इंडेक्स रजिस्टर 'X' और 'Y' थे।<ref>{{Cite web |title=Registers - 6502 Assembly |url=http://www.6502.buss.hk/6502-architecture/registers |access-date=2022-07-24 |website=www.6502.buss.hk}}</ref> | |||
1978 में, इंटेल 80[[ 86 | 86]] , पहले x86 प्रोसेसर में आठ 16-बिट रजिस्टर थे, जिन्हें सामान्य-उद्देश्य के रूप में संदर्भित किया गया था, जिनमें से सभी का उपयोग अधिकांश कार्यों में पूर्णांक डेटा रजिस्टर के रूप में किया जा सकता है; उनमें से चार, 'एसआई' (स्रोत सूचकांक), 'डीआई' (गंतव्य सूचकांक), 'बीएक्स' (आधार), और 'बीपी' (आधार सूचक), का उपयोग किसी ऑपरेंड के स्मृति पते की गणना करते समय भी किया जा सकता है, जो उन रजिस्टरों में से एक और विस्थापन का योग है, या 'बीएक्स' या 'बीपी', 'एसआई' या 'डीआई' में से एक, और एक विस्थापन का योग है।<ref>{{cite web|title=The 8086 Family User's Manual|pages=2{{hyp}}6,2{{hyp}}68|date=October 1979|publisher=Intel Corporation|url=http://bitsavers.org/components/intel/8086/9800722-03_The_8086_Family_Users_Manual_Oct79.pdf|access-date=March 28, 2018|archive-date=April 4, 2018|archive-url=https://web.archive.org/web/20180404223644/http://www.bitsavers.org/components/intel/8086/9800722-03_The_8086_Family_Users_Manual_Oct79.pdf|url-status=live}}</ref> | |||
1979 [[ Intel 8088 | Intel 8088]] , और 16-bit [[ Intel 80186 | Intel 80186]] , [[ Intel 80188 | Intel 80188]] , और [[ Intel 80286 | Intel 80286]] उत्तराधिकारी समान कार्य करते हैं। 1985 में, [[ i386 | i386]] , उन प्रोसेसरों का 32-बिट उत्तराधिकारी, x86 आर्किटेक्चर के [[ IA-32 | IA-32]] 32-बिट संस्करण को पेश करते हुए, आठ 16-बिट रजिस्टरों को 32 बिट्स तक बढ़ा दिया, जिसमें E को रजिस्टर नाम की शुरुआत में जोड़ा गया। ; IA-32 में, एक ऑपरेंड का मेमोरी पता उन आठ रजिस्टरों में से एक का योग है, उनमें से सात रजिस्टरों में से एक (यहां दूसरे रजिस्टर के रूप में स्टैक पॉइंटर की अनुमति नहीं है) को 1 और 8 के बीच 2 की शक्ति से गुणा किया जाता है। , और विस्थापन।<ref name="modern-x86">{{cite book|title=Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 1: Basic Architecture|at=Chapter 3|date=March 2018|publisher=Intel Corporation|url=http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html|access-date=March 19, 2014|archive-date=January 26, 2012|archive-url=https://web.archive.org/web/20120126002939/http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html|url-status=live}}</ref>{{rp|pages=3{{hyp}}11-3{{hyp}}12,3{{hyp}}22-3{{hyp}}23}} उन्नत माइक्रो डिवाइसेस [[ ओप्टेरॉन | ओप्टेरॉन]] , जिसका पहला मॉडल 2003 में जारी किया गया था, ने [[ x86-64 | x86-64]] , x86 निर्देश सेट का 64-बिट संस्करण पेश किया; x86-64 में, सामान्य-प्रयोजन रजिस्टरों को 64 बिट्स तक बढ़ा दिया गया था, और आठ अतिरिक्त सामान्य-प्रयोजन रजिस्टर जोड़े गए थे; एक ऑपरेंड का मेमोरी एड्रेस उन 16 रजिस्टरों में से दो और एक विस्थापन का योग है।<ref>{{cite book|url=https://support.amd.com/TechDocs/24592.pdf|title=AMD64 Architecture Programmer's Manual Volume 1: Application Programming|pages=3,16|date=October 2020|publisher=[[Advanced Micro Devices]]}}</ref><ref name="modern-x86" />{{rp|pages=3{{hyp}}12,3{{hyp}}24}} | |||
1980 और 1990 के दशक में पेश किए गए कम किए गए निर्देश सेट कंप्यूटिंग (RISC) निर्देश सेट सभी सामान्य-उ | |||
्देश्य वाले रजिस्टर प्रदान करते हैं जिनमें संख्यात्मक मान या पता मान हो सकते हैं। उन अधिकांश निर्देश सेटों में, 32 सामान्य-उद्देश्य वाले रजिस्टर होते हैं (उनमें से कुछ निर्देश सेटों में, उन रजिस्टरों में से एक का मान शून्य पर हार्डवायर किया जाता है) का उपयोग ऑपरेंड पते की गणना के लिए किया जा सकता है; उनके पास समर्पित सूचकांक रजिस्टर नहीं थे। [[ एआरएम वास्तुकला परिवार | एआरएम वास्तुकला परिवार]] के 32-बिट संस्करण में, पहली बार 1985 में विकसित किया गया था, केवल 16 रजिस्टरों को सामान्य-उद्देश्य रजिस्टर के रूप में नामित किया गया है, लेकिन उनमें से केवल 13 का उपयोग सभी उद्देश्यों के लिए किया जा सकता है, जिसमें रजिस्टर आर 15 [[ कार्यक्रम गणक | कार्यक्रम गणक]] युक्त है। लोड या स्टोर निर्देश का मेमोरी पता 16 रजिस्टरों में से किसी का योग है और या तो विस्थापन या अन्य रजिस्टरों में से R15 (संभवतः स्केलिंग के लिए बाएं स्थानांतरित) के अपवाद के साथ है।<ref>{{cite book|url=https://documentation-service.arm.com/static/5f8dacc8f86e16515cdb865a|title=ARM Architecture Reference Manual|publisher=[[Arm (company)|Arm]]|date=2005|pages=A2{{hyp}}6,A3{{hyp}}21}}</ref> एआरएम आर्किटेक्चर के 64-बिट संस्करण में, 31 64-बिट सामान्य-प्रयोजन रजिस्टर और एक स्टैक पॉइंटर और एक शून्य रजिस्टर हैं; लोड या स्टोर निर्देश का स्मृति पता 31 रजिस्टरों में से किसी का योग है और या तो विस्थापन या किसी अन्य रजिस्टर का योग है।<ref>{{cite book|url=https://developer.arm.com/documentation/ddi0487/latest|title=Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile|publisher=[[Arm (company)|Arm]]|date=2022|pages=C1{{hyp}}227,C3{{hyp}}252}}</ref> | |||
Revision as of 15:58, 17 December 2022
कंप्यूटर के सीपीयू में इंडेक्स रजिस्टर एक प्रोसेसर रजिस्टर (या एक निर्दिष्ट मेमोरी लोकेशन) है[1] जिसका उपयोग प्रोग्राम चलाने के दौरान ऑपरेंड एड्रेस को इंगित करने के लिए किया जाता है। यह स्ट्रिंग्स और सरणियों के माध्यम से आगे बढ़ने के लिए उपयोगी है। इसका उपयोग लूप पुनरावृत्तियों और काउंटरों को रखने के लिए भी किया जा सकता है। कुछ आर्किटेक्चर में इसका उपयोग स्मृति के पढ़ने/लिखने के ब्लॉक के लिए किया जाता है। आर्किटेक्चर के आधार पर यह शायद एक समर्पित इंडेक्स रजिस्टर या सामान्य प्रयोजन रजिस्टर हो सकता है।[2] कुछ निर्देश सम्मुच्य एक से अधिक इंडेक्स रजिस्टर का उपयोग करने की अनुमति देते हैं; उस मामले में अतिरिक्त निर्देश फ़ील्ड निर्दिष्ट कर सकते हैं कि कौन से इंडेक्स रजिस्टरों का उपयोग करना है।[3]
प्रायशः, वास्तविक डेटा (ऑपरेंड) के "प्रभावी" एड्रेस को बनाने के लिए एक इंडेक्स रजिस्टर के विषय को एक निकटम एड्रेस (जो स्वयं निर्देश का हिस्सा हो सकता है या किसी अन्य रजिस्टर में रखा जा सकता है) में जोड़ा जाता है (कुछ मामलों में घटाया भी जाता है) . विशेष निर्देश आमतौर पर इंडेक्स रजिस्टर का परीक्षण करने के लिए उपयोग किए जाते हैं और, यदि परीक्षण विफल हो जाता है, तो इंडेक्स रजिस्टर को तत्काल स्थिरांक और शाखा से बढ़ाएं, आमतौर पर लूप की शुरुआत में। जबकि आम तौर पर प्रोसेसर जो निर्देश को कई इंडेक्स रजिस्टर समूह को एक साथ सामग्री निर्दिष्ट करने की अनुमति देते हैं, आईबीएम के पास कंप्यूटर की एक पंक्ति होती है जिसमें विषय वस्तु एक साथ होती है या होती थी।[4]
अनुक्रमणिका रजिस्टर सदिश / सरणी संचालन करने के लिए और रिकॉर्ड के भीतर एक क्षेत्र से दूसरे क्षेत्र में नेविगेट करने के लिए व्यावसायिक डेटा प्रसंस्करण में उपयोगी साबित हुए हैं। दोनों उपयोगों में इंडेक्स रजिस्टरों ने उपयोग की जाने वाली मेमोरी की मात्रा को काफी कम कर दिया और निष्पादन की गति में वृद्धि हुई।
इतिहास
किसी भी प्रकार के अप्रत्यक्ष संबोधन के बिना शुरुआती कंप्यूटरों में, निर्देश के पते को संशोधित करके सरणी संचालन किया जाता था, जिसके लिए कई अतिरिक्त प्रोग्राम चरणों की आवश्यकता होती थी और अधिक कंप्यूटर मेमोरी का उपयोग किया जाता था,[5] प्रारंभिक युग के कंप्यूटर इंस्टॉलेशन में एक दुर्लभ संसाधन (जैसा कि साथ ही दो दशक बाद शुरुआती माइक्रो कंप्यूटरों में)।
इंडेक्स रजिस्टर, जिन्हें आमतौर पर शुरुआती ब्रिटिश कंप्यूटरों में बी-लाइन के रूप में जाना जाता है, कुछ मशीनों पर बी-रजिस्टर और अन्य पर एक्स-रजिस्टर [lower-alpha 1], पहली बार 1949 में ब्रिटिश मैनचेस्टर मार्क 1 कंप्यूटर में उपयोग किए गए थे। सामान्य तौर पर, अनुक्रमणिका रजिस्टर प्रौद्योगिकी की दूसरी पीढ़ी के दौरान, मोटे तौर पर 1954-1966 – दौरान कंप्यूटर का एक मानक हिस्सा बन गया। आईबीएम 700/7000 मेनफ्रेम श्रृंखला में अधिकांश [lower-alpha 2] मशीनों में वे थे, जो 1954 में आईबीएम 704 से शुरू हुए थे, हालांकि वे आईबीएम 650 और आईबीएम 1401 जैसी कुछ छोटी मशीनों पर वैकल्पिक थे।
इंडेक्स रजिस्टर वाली शुरुआती छोटी मशीनों में 1960 के आसपास AN/USQ-17, और SDS 9 सीरीज ऑफ रीयल-टाइम कंप्यूटिंग शामिल हैं।
1962 के UNIVAC 1107 में 15 X-रजिस्टर हैं, जिनमें से चार A-रजिस्टर भी थे।
1964 GE-635 में 8 समर्पित एक्स-रजिस्टर हैं; हालाँकि, यह निर्देश काउंटर या A या Q रजिस्टर के आधे से भी अनुक्रमण की अनुमति देता है।
1964 में शुरू किया गया डिजिटल इक्विपमेंट कॉर्पोरेशन (DEC) PDP-6 और 1964 में घोषित आईबीएम सिस्टम/360 में समर्पित इंडेक्स रजिस्टर शामिल नहीं हैं; इसके बजाय, उनके पास सामान्य-उद्देश्य वाले रजिस्टर होते हैं (पीडीपी-6 में "संचायक" कहलाते हैं) जिनमें या तो संख्यात्मक मान या पते हो सकते हैं। एक ऑपरेंड का स्मृति पता, पीडीपी -6 में, सामान्य प्रयोजन रजिस्टर की सामग्री का योग और 18-बिट ऑफ़सेट और, सिस्टम / 360 पर, दो सामान्य प्रयोजन रजिस्टरों की सामग्री का योग है। और एक 12-बिट ऑफ़सेट।[6] [7] PDP-6 के उत्तराधिकारियों की संगत PDP-10 पंक्ति, और आईबीएम सिस्टम/370 और बाद में सिस्टम/360 के संगत उत्तराधिकारी, वर्तमान z/आर्किटेक्चर सहित, उसी तरह से काम करते हैं।
1969 डेटा जनरल नोवा और उत्तराधिकारी एक्लिप्स, और 1970 डीईसी पीडीपी-11, मिनीकंप्यूटरों ने अलग-अलग संचयकों और सूचकांक रजिस्टरों के बजाय सामान्य-उद्देश्य रजिस्टर (नोवा और एक्लिप्स में "संचयक" कहा जाता है) प्रदान किया, जैसा कि उनके ग्रहण एमवी और वैक्स ने किया था। 32-बिट सुपरमिनीकंप्यूटर उत्तराधिकारी है। PDP-11 और VAX में, ऑपरेंड के मेमोरी एड्रेस की गणना करते समय सभी रजिस्टरों का उपयोग किया जा सकता है; नोवा, एक्लिप्स और एक्लिप्स एमवी में, केवल रजिस्टर 2 और 3 का उपयोग किया जा सकता है।[8] [9] [10]
1971 सीडीसी स्टार-100 में 256 64-बिट रजिस्टरों की एक रजिस्टर फ़ाइल है, जिनमें से 9 आरक्षित हैं। अधिकांश कंप्यूटरों के विपरीत, STAR-100 निर्देशों में केवल रजिस्टर फ़ील्ड और ऑपरेंड फ़ील्ड होते हैं, इसलिए रजिस्टर पारंपरिक इंडेक्स रजिस्टरों की तुलना में पॉइंटर रजिस्टरों के रूप में अधिक काम करते हैं।
जबकि इंटेल 8080 ने एक रजिस्टर के माध्यम से अप्रत्यक्ष रूप से संबोधित करने की अनुमति दी, एक सही सूचकांक रजिस्टर वाला पहला माइक्रोप्रोसेसर1974 मोटोरोला 6800 प्रतीत होता है।
1975 में, 8-बिट एमओएस प्रौद्योगिकी 6502 प्रोसेसर में दो इंडेक्स रजिस्टर 'X' और 'Y' थे।[11]
1978 में, इंटेल 80 86 , पहले x86 प्रोसेसर में आठ 16-बिट रजिस्टर थे, जिन्हें सामान्य-उद्देश्य के रूप में संदर्भित किया गया था, जिनमें से सभी का उपयोग अधिकांश कार्यों में पूर्णांक डेटा रजिस्टर के रूप में किया जा सकता है; उनमें से चार, 'एसआई' (स्रोत सूचकांक), 'डीआई' (गंतव्य सूचकांक), 'बीएक्स' (आधार), और 'बीपी' (आधार सूचक), का उपयोग किसी ऑपरेंड के स्मृति पते की गणना करते समय भी किया जा सकता है, जो उन रजिस्टरों में से एक और विस्थापन का योग है, या 'बीएक्स' या 'बीपी', 'एसआई' या 'डीआई' में से एक, और एक विस्थापन का योग है।[12]
1979 Intel 8088 , और 16-bit Intel 80186 , Intel 80188 , और Intel 80286 उत्तराधिकारी समान कार्य करते हैं। 1985 में, i386 , उन प्रोसेसरों का 32-बिट उत्तराधिकारी, x86 आर्किटेक्चर के IA-32 32-बिट संस्करण को पेश करते हुए, आठ 16-बिट रजिस्टरों को 32 बिट्स तक बढ़ा दिया, जिसमें E को रजिस्टर नाम की शुरुआत में जोड़ा गया। ; IA-32 में, एक ऑपरेंड का मेमोरी पता उन आठ रजिस्टरों में से एक का योग है, उनमें से सात रजिस्टरों में से एक (यहां दूसरे रजिस्टर के रूप में स्टैक पॉइंटर की अनुमति नहीं है) को 1 और 8 के बीच 2 की शक्ति से गुणा किया जाता है। , और विस्थापन।[13]: 3-11–3-12, 3-22–3-23 उन्नत माइक्रो डिवाइसेस ओप्टेरॉन , जिसका पहला मॉडल 2003 में जारी किया गया था, ने x86-64 , x86 निर्देश सेट का 64-बिट संस्करण पेश किया; x86-64 में, सामान्य-प्रयोजन रजिस्टरों को 64 बिट्स तक बढ़ा दिया गया था, और आठ अतिरिक्त सामान्य-प्रयोजन रजिस्टर जोड़े गए थे; एक ऑपरेंड का मेमोरी एड्रेस उन 16 रजिस्टरों में से दो और एक विस्थापन का योग है।[14][13]: 3–12, 3–24 1980 और 1990 के दशक में पेश किए गए कम किए गए निर्देश सेट कंप्यूटिंग (RISC) निर्देश सेट सभी सामान्य-उ
्देश्य वाले रजिस्टर प्रदान करते हैं जिनमें संख्यात्मक मान या पता मान हो सकते हैं। उन अधिकांश निर्देश सेटों में, 32 सामान्य-उद्देश्य वाले रजिस्टर होते हैं (उनमें से कुछ निर्देश सेटों में, उन रजिस्टरों में से एक का मान शून्य पर हार्डवायर किया जाता है) का उपयोग ऑपरेंड पते की गणना के लिए किया जा सकता है; उनके पास समर्पित सूचकांक रजिस्टर नहीं थे। एआरएम वास्तुकला परिवार के 32-बिट संस्करण में, पहली बार 1985 में विकसित किया गया था, केवल 16 रजिस्टरों को सामान्य-उद्देश्य रजिस्टर के रूप में नामित किया गया है, लेकिन उनमें से केवल 13 का उपयोग सभी उद्देश्यों के लिए किया जा सकता है, जिसमें रजिस्टर आर 15 कार्यक्रम गणक युक्त है। लोड या स्टोर निर्देश का मेमोरी पता 16 रजिस्टरों में से किसी का योग है और या तो विस्थापन या अन्य रजिस्टरों में से R15 (संभवतः स्केलिंग के लिए बाएं स्थानांतरित) के अपवाद के साथ है।[15] एआरएम आर्किटेक्चर के 64-बिट संस्करण में, 31 64-बिट सामान्य-प्रयोजन रजिस्टर और एक स्टैक पॉइंटर और एक शून्य रजिस्टर हैं; लोड या स्टोर निर्देश का स्मृति पता 31 रजिस्टरों में से किसी का योग है और या तो विस्थापन या किसी अन्य रजिस्टर का योग है।[16]
उदाहरण
असेंबली भाषा छद्म कोड में इंडेक्स रजिस्टर उपयोग का एक सरल उदाहरण यहां दिया गया है जो 4-बाइट शब्दों की 100 प्रविष्टि सरणी को बताता है:
Clear_accumulator लोड_इंडेक्स 400, इंडेक्स 2 // लोड 4 * सरणी आकार इंडेक्स रजिस्टर 2 (इंडेक्स 2) में लूप_स्टार्ट : Add_word_to_accumulator array_start,index2 // एसी में एड्रेस पर शब्द जोड़ें (array_start + index2) Branch_and_decrement_if_index_not_zero loop_start,4,index2 // जब तक इंडेक्स रजिस्टर शून्य नहीं है तब तक लूप 4 से घट रहा है
यह भी देखें
टिप्पणियाँ
- ↑ The term X-registers was also used for accumulators on, e.g., the CDC 6600.
- ↑ The 702, 705 and 7080 did not have index registers.
संदर्भ
- ↑ "Instructions: Index Words" (PDF). IBM 7070-7074 Principles of Operation (PDF). IBM. 1962. p. 11. GA22-7003-6.
- ↑ "What Is an Index Register? (with picture)". EasyTechJunkie (in English). Retrieved 2022-07-24.
- ↑ IBM 709 Reference Manual, Form A22-6501-0, 1958, p. 12
- ↑ IBM 7094 Principles of Operation (PDF). Fifth Edition. IBM. October 21, 1966. A22-6703-4.
- ↑ IBM 1401 Reference manual, Form A24-1403-4, 1960, p. 77
- ↑ Programmed Data Processor-6 Handbook (PDF). Digital Equipment Corporation. August 1964. pp. 20–22.
- ↑ IBM System/360 Principles of Operation (PDF) (Eighth ed.). IBM. September 1968. pp. 8, 12–14. A22-6821-7.
- ↑ Programmer's Reference Manual, Nova Line Computers (PDF). Data General. January 1976. pp. I-1, II-7.
- ↑ Programmer's Reference Manual, Eclipse Line Computers (PDF). Data General. March 1975. pp. 1–1, 2–6.
- ↑ ECLIPSE 32-Bit Systems Principles of Operation (PDF). Data General. August 1984. pp. 1–2.
- ↑ "Registers - 6502 Assembly". www.6502.buss.hk. Retrieved 2022-07-24.
- ↑ "The 8086 Family User's Manual" (PDF). Intel Corporation. October 1979. pp. 2–6, 2–68. Archived (PDF) from the original on April 4, 2018. Retrieved March 28, 2018.
- ↑ 13.0 13.1 Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 1: Basic Architecture. Intel Corporation. March 2018. Chapter 3. Archived from the original on January 26, 2012. Retrieved March 19, 2014.
- ↑ AMD64 Architecture Programmer's Manual Volume 1: Application Programming (PDF). Advanced Micro Devices. October 2020. pp. 3, 16.
- ↑ ARM Architecture Reference Manual. Arm. 2005. pp. A2-6, A3-21.
- ↑ Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile. Arm. 2022. pp. C1-227, C3-252.
==