एड्रेसिंग मोड (Addressing Modes)
एड्रेसिंग मोड वे नियम हैं जिनके द्वारा एक निर्देश यह निर्दिष्ट करता है कि उसके ऑपरेंड कहाँ स्थित हैं — एक रजिस्टर में, एक तात्कालिक मान के रूप में एम्बेडेड, या रजिस्टरों और ऑफसेट से परिकलित पते पर मेमोरी में।
Definition
एक एड्रेसिंग मोड एक निर्देश द्वारा निर्दिष्ट एक विधि है जो एक ऑपरेंड के स्थान का निर्धारण करती है, जिसमें सीधे रजिस्टरों में या स्वयं निर्देश में रखे गए मानों से लेकर बेस रजिस्टरों, इंडेक्स रजिस्टरों और डिस्प्लेसमेंट से परिकलित पते तक शामिल हैं।
Scope
यह विषय ऑपरेंड के नामकरण और स्थान निर्धारण के तरीकों को शामिल करता है: तात्कालिक (immediate), रजिस्टर (register), रजिस्टर-अप्रत्यक्ष (register-indirect), बेस-प्लस-डिस्प्लेसमेंट (base-plus-displacement), अनुक्रमित (indexed), पीसी-सापेक्ष (PC-relative), और अधिक जटिल परिकलित मोड। यह इस बात पर विचार करता है कि एड्रेसिंग मोड कोड के आकार, निर्देश गणना और हार्डवेयर की जटिलता को कैसे प्रभावित करते हैं। इसमें यह शामिल नहीं है कि निर्देशों को बिट्स में कैसे एन्कोड किया जाता है (निर्देश प्रारूप और एन्कोडिंग) और सिस्टम का वर्चुअल-से-भौतिक अनुवाद (वर्चुअल मेमोरी और पेजिंग)।
Core questions
- प्रत्येक एड्रेसिंग मोड एक ऑपरेंड के प्रभावी पते या मान की गणना कैसे करता है?
- वास्तविक प्रोग्रामों में सबसे अधिक बार कौन से एड्रेसिंग मोड का उपयोग किया जाता है, और क्यों?
- समृद्ध एड्रेसिंग मोड हार्डवेयर और डिकोड जटिलता की कीमत पर निर्देश गणना को कैसे कम करते हैं?
- लोड-स्टोर आर्किटेक्चर मेमोरी एक्सेस को कुछ सरल मोड तक क्यों सीमित रखते हैं?
Key concepts
- तात्कालिक एड्रेसिंग
- रजिस्टर एड्रेसिंग
- रजिस्टर-अप्रत्यक्ष एड्रेसिंग
- बेस-प्लस-डिस्प्लेसमेंट
- अनुक्रमित एड्रेसिंग
- पीसी-सापेक्ष एड्रेसिंग
- प्रभावी पता गणना
- लोड-स्टोर प्रतिबंध
Mechanisms
प्रत्येक एड्रेसिंग मोड यह परिभाषित करता है कि प्रोसेसर एक ऑपरेंड कैसे प्राप्त करता है। तात्कालिक ऑपरेंड निर्देश में एन्कोड किए जाते हैं; रजिस्टर ऑपरेंड रजिस्टर फ़ाइल से पढ़े जाते हैं; मेमोरी ऑपरेंड का एक प्रभावी पता होता है जिसे एक बेस रजिस्टर, एक वैकल्पिक स्केल्ड इंडेक्स और एक डिस्प्लेसमेंट को जोड़कर परिकलित किया जाता है। पीसी-सापेक्ष एड्रेसिंग प्रोग्राम काउंटर के सापेक्ष पते बनाती है, जो स्थिति-स्वतंत्र कोड और ब्रांच लक्ष्यों का समर्थन करती है।
Clinical relevance
एड्रेसिंग मोड यह आकार देते हैं कि कंपाइलर कोड कैसे उत्पन्न करते हैं: बेस-प्लस-डिस्प्लेसमेंट स्वाभाविक रूप से संरचना फ़ील्ड और स्टैक चर से मेल खाता है, अनुक्रमित मोड सरणी पहुंच से, और पीसी-सापेक्ष एड्रेसिंग स्थिति-स्वतंत्र निष्पादन योग्य और साझा पुस्तकालयों से। आरआईएससी (RISC) लोड-स्टोर डिज़ाइन पाइपलाइनिंग को आसान बनाने के लिए मेमोरी एड्रेसिंग को जानबूझकर सरल रखते हैं, जबकि सीआईएससी (CISC) मशीनें कोड घनत्व के लिए समृद्ध मोड प्रदान करती हैं।
History
प्रारंभिक और सीआईएससी (CISC) आर्किटेक्चर ने कई विस्तृत एड्रेसिंग मोड जमा किए, जिनमें मेमोरी-अप्रत्यक्ष और ऑटो-इंक्रीमेंट फॉर्म शामिल थे। निर्देश उपयोग के अनुभवजन्य अध्ययनों से पता चला कि सरल मोड का एक छोटा सेट अधिकांश एक्सेस के लिए जिम्मेदार है, जिसने आरआईएससी (RISC) के केवल कुछ मोड का समर्थन करने और मेमोरी एक्सेस को लोड और स्टोर निर्देशों तक सीमित रखने के निर्णय को प्रेरित किया।
Key figures
- John L. Hennessy
- David A. Patterson
Related topics
Seminal works
- hennessy2019
- patterson2020
Frequently asked questions
- आरआईएससी (RISC) आर्किटेक्चर इतने कम एड्रेसिंग मोड का समर्थन क्यों करते हैं?
- अध्ययनों से पता चला है कि प्रोग्राम मुख्य रूप से कुछ सरल मोड का उपयोग करते हैं। मेमोरी एक्सेस को रजिस्टर-अप्रत्यक्ष और बेस-प्लस-डिस्प्लेसमेंट तक सीमित रखने से पाइपलाइन सरल रहती है और प्रभावी-पता गणना तेज़ होती है, जबकि कंपाइलर इन प्रिमिटिव से किसी भी समृद्ध एक्सेस पैटर्न को संश्लेषित करते हैं।
- पीसी-सापेक्ष एड्रेसिंग का उपयोग किस लिए किया जाता है?
- पीसी-सापेक्ष एड्रेसिंग प्रोग्राम काउंटर से एक ऑफसेट के रूप में एक पते की गणना करती है। इसका उपयोग ब्रांच और जंप लक्ष्यों के लिए और आस-पास के डेटा तक पहुंचने के लिए किया जाता है, जिससे स्थिति-स्वतंत्र कोड सक्षम होता है जो मेमोरी में कहीं भी लोड होने पर सही ढंग से चलता है।