सूचकांक रजिस्टर: 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 |
||
(6 intermediate revisions by 4 users not shown) | |||
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 के दशक की | कंप्यूटर के [[सीपीयू]] में '''इंडेक्स रजिस्टर''' एक [[प्रोसेसर रजिस्टर]] (या एक निर्दिष्ट मेमोरी लोकेशन) है<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 सीरीज ऑफ [[ रीयल-टाइम कंप्यूटिंग ]] सम्मिलित हैं। | ||
1962 के [[ UNIVAC 1107 ]] में 15 X-रजिस्टर हैं, जिनमें से चार A-रजिस्टर भी थे। | 1962 के [[ UNIVAC 1107 ]] में 15 X-रजिस्टर हैं, जिनमें से चार A-रजिस्टर भी थे। | ||
1964 [[ जीई-635 ]] में 8 समर्पित एक्स-रजिस्टर हैं; हालाँकि, यह निर्देश काउंटर | 1964 [[:hi:जीई-635|GE-635]] में 8 समर्पित एक्स-रजिस्टर हैं; हालाँकि, यह निर्देश काउंटर या A या Q रजिस्टर के आधे से भी अनुक्रमण की अनुमति देता है। | ||
1964 में | 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 [[ | 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> | ||
जबकि [[ इंटेल 8080 ]] ने एक रजिस्टर के माध्यम से अप्रत्यक्ष रूप से संबोधित करने की अनुमति दी, एक | 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 में, इंटेल 8086, पहले [[:hi:86|x86]] प्रोसेसर में आठ 16-बिट रजिस्टर थे, जिन्हें "सामान्य-उद्देश्य" के रूप में संदर्भित किया गया था, जिनमें से सभी को अधिकांश कार्यों में पूर्णांक डेटा रजिस्टरों के रूप में उपयोग किया जा सकता है; उनमें से चार, 'SI' (स्रोत इंडेक्स), 'DI' (डेस्टिनेशन इंडेक्स), 'BX' (बेस) और 'BP' (बेस पॉइंटर) का उपयोग ऑपरेंड के मेमोरी एड्रेस की गणना करते समय भी किया जा सकता है, जो उन रजिस्टरों में से एक और एक विस्थापन का योग है, या 'बीएक्स' या 'बीपी' में से एक, 'एसआई' या 'डीआई' में से एक और एक विस्थापन का योग है। <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}}</ref> 1979 Intel 8088, और 16-बिट Intel 80186, Intel 80188, और Intel 80286 उत्तराधिकारी समान कार्य करते हैं। 1985 में, i386, उन प्रोसेसरों का 32-बिट उत्तराधिकारी, x86 आर्किटेक्चर के [[:hi:आई.ए.-३२|IA-32]] 32-बिट संस्करण को पेश करते हुए, आठ 16-बिट रजिस्टरों को 32 बिट्स तक बढ़ाया, जिसमें "E" को आरम्भ में जोड़ा गया। रजिस्टर नाम; IA-32 में, एक ऑपरेंड का मेमोरी एड्रेस उन आठ रजिस्टरों में से एक का योग है, उन सात रजिस्टरों में से एक (स्टैक पॉइंटर को यहां दूसरे रजिस्टर के रूप में अनुमति नहीं है) को 1 और 8 के बीच 2 की शक्ति से गुणा और विस्थापन किया जाता है।<ref name="modern-x862">{{Cite book|url=http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html|title=Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 1: Basic Architecture|date=March 2018|publisher=Intel Corporation|at=Chapter 3|access-date=March 19, 2014|archive-url=https://web.archive.org/web/20120126002939/http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html|archive-date=January 26, 2012}}</ref> {{Rp|pages=3{{hyp}}11-3{{hyp}}12,3{{hyp}}22-3{{hyp}}23}}एडवांस्ड माइक्रो डिवाइसेस ओपर्टन, जिसका पहला मॉडल 2003 में जारी किया गया था, ने 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|date=October 2020|publisher=[[Advanced Micro Devices]]|pages=3,16}}</ref> <ref name="modern-x862" /> {{Rp|pages=3{{hyp}}12,3{{hyp}}24}} | |||
1980 और 1990 के दशक में प्रारंभकिए गए रिड्यूस्ड [[इंस्ट्रक्शन सेट कंप्यूटिंग]] (RISC) इंस्ट्रक्शन सेट सभी सामान्य-उद्देश्य रजिस्टर प्रदान करते हैं जिनमें संख्यात्मक मान या पता मान हो सकते हैं। उन अधिकांश निर्देश सेटों में, 32 सामान्य-उद्देश्य वाले रजिस्टर हैं (उनमें से कुछ निर्देश सेटों में, उन रजिस्टरों में से एक का मान शून्य से कठोर होता है) का उपयोग ऑपरेंड एड्रेसकी गणना के लिए किया जा सकता है; उनके पास समर्पित इंडेक्स रजिस्टर नहीं थे। एआरएम आर्किटेक्चर के 32-बिट संस्करण में, जिसे पहली बार 1985 में विकसित किया गया था, केवल 16 रजिस्टरों को "सामान्य-उद्देश्य रजिस्टर" के रूप में नामित किया गया है, लेकिन उनमें से केवल 13 का उपयोग सभी उद्देश्यों के लिए किया जा सकता है, रजिस्टर R15 में [[प्रोग्राम काउंटर]] होता है। लोड या स्टोर निर्देश का स्मृति पता 16 रजिस्टरों में से किसी का योग है और या तो विस्थापन या अन्य रजिस्टरों में से एक R15 के अपवाद के साथ है (संभवतः स्केलिंग के लिए बाएं स्थानांतरित)। <ref>{{Cite book|url=https://documentation-service.arm.com/static/5f8dacc8f86e16515cdb865a|title=ARM Architecture Reference Manual|date=2005|publisher=[[Arm (company)|Arm]]|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|date=2022|publisher=[[Arm (company)|Arm]]|pages=C1{{hyp}}227,C3{{hyp}}252}}</ref> | |||
Line 49: | Line 44: | ||
Clear_accumulator | Clear_accumulator | ||
Load_index 400,index2 //load 4*array size into index register 2 (index2) | |||
loop_start : Add_word_to_accumulator array_start,index2 //Add to AC the word at the address (array_start + index2) | |||
Branch_and_decrement_if_index_not_zero loop_start,4,index2 // | Branch_and_decrement_if_index_not_zero loop_start,4,index2 //loop decrementing by 4 until index register is zero | ||
==यह भी देखें== | ==यह भी देखें== | ||
*[[ पाश के लिए ]] | *[[ पाश के लिए |लूप के लिए]] | ||
== टिप्पणियाँ == | == टिप्पणियाँ == | ||
Line 62: | Line 57: | ||
== संदर्भ == | == संदर्भ == | ||
{{reflist}}{{Processor technologies}} | {{reflist}}{{Processor technologies}} | ||
{{DEFAULTSORT:Index Register}} | {{DEFAULTSORT:Index Register}} | ||
[[Category: | [[Category:Articles with short description|Index Register]] | ||
[[Category:Created On 06/09/2022]] | [[Category:CS1 English-language sources (en)]] | ||
[[Category:CS1 français-language sources (fr)]] | |||
[[Category:CS1 maint]] | |||
[[Category:CS1 Ελληνικά-language sources (el)]] | |||
[[Category:Citation Style 1 templates|W]] | |||
[[Category:Collapse templates|Index Register]] | |||
[[Category:Created On 06/09/2022|Index Register]] | |||
[[Category:Machine Translated Page|Index Register]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists|Index Register]] | |||
[[Category:Pages with script errors|Index Register]] | |||
[[Category:Short description with empty Wikidata description|Index Register]] | |||
[[Category:Sidebars with styles needing conversion|Index Register]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates based on the Citation/CS1 Lua module]] | |||
[[Category:Templates generating COinS|Cite web]] | |||
[[Category:Templates generating microformats|Index Register]] | |||
[[Category:Templates that are not mobile friendly|Index Register]] | |||
[[Category:Templates used by AutoWikiBrowser|Cite web]] | |||
[[Category:Templates using TemplateData|Index Register]] | |||
[[Category:Wikipedia fully protected templates|Cite web]] | |||
[[Category:Wikipedia metatemplates|Index Register]] | |||
[[Category:केंद्रीय प्रसंस्करण इकाई|Index Register]] | |||
[[Category:डिजिटल रजिस्टर|Index Register]] | |||
[[Category:नियंत्रण प्रवाह|Index Register]] |
Latest revision as of 10:59, 27 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 में, इंटेल 8086, पहले x86 प्रोसेसर में आठ 16-बिट रजिस्टर थे, जिन्हें "सामान्य-उद्देश्य" के रूप में संदर्भित किया गया था, जिनमें से सभी को अधिकांश कार्यों में पूर्णांक डेटा रजिस्टरों के रूप में उपयोग किया जा सकता है; उनमें से चार, 'SI' (स्रोत इंडेक्स), 'DI' (डेस्टिनेशन इंडेक्स), 'BX' (बेस) और 'BP' (बेस पॉइंटर) का उपयोग ऑपरेंड के मेमोरी एड्रेस की गणना करते समय भी किया जा सकता है, जो उन रजिस्टरों में से एक और एक विस्थापन का योग है, या 'बीएक्स' या 'बीपी' में से एक, 'एसआई' या 'डीआई' में से एक और एक विस्थापन का योग है। [12] 1979 Intel 8088, और 16-बिट 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 का उपयोग सभी उद्देश्यों के लिए किया जा सकता है, रजिस्टर R15 में प्रोग्राम काउंटर होता है। लोड या स्टोर निर्देश का स्मृति पता 16 रजिस्टरों में से किसी का योग है और या तो विस्थापन या अन्य रजिस्टरों में से एक R15 के अपवाद के साथ है (संभवतः स्केलिंग के लिए बाएं स्थानांतरित)। [15] एआरएम आर्किटेक्चर के 64-बिट संस्करण में, 31 64-बिट सामान्य-उद्देश्य रजिस्टर प्लस एक स्टैक पॉइंटर और एक शून्य रजिस्टर हैं; लोड या स्टोर निर्देश का स्मृति पता 31 रजिस्टरों में से किसी का योग है और या तो विस्थापन या अन्य रजिस्टरों का योग है। [16]
उदाहरण
असेंबली भाषा छद्म कोड में इंडेक्स रजिस्टर उपयोग का एक सरल उदाहरण यहां दिया गया है जो 4-बाइट शब्दों की 100 प्रविष्टि सरणी को बताता है:
Clear_accumulator Load_index 400,index2 //load 4*array size into index register 2 (index2) loop_start : Add_word_to_accumulator array_start,index2 //Add to AC the word at the address (array_start + index2) Branch_and_decrement_if_index_not_zero loop_start,4,index2 //loop decrementing by 4 until index register is zero
यह भी देखें
टिप्पणियाँ
- ↑ 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 from the original (PDF) 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.