बाइट एड्रेसिंग

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

पृष्ठभूमि
डिजिटल स्टोरेज की मूल इकाई एक अंश  है, जो एक 0 या 1 को स्टोर करती है। कई सामान्य निर्देश सेट आर्किटेक्चर एक समय में 8 बिट से अधिक डेटा को संबोधित कर सकते हैं। उदाहरण के लिए, 32-बिट x86 प्रोसेसर में 32-बिट सामान्य-उद्देश्य रजिस्टर होते हैं और एकल निर्देशों में 32-बिट (4-बाइट) डेटा को संभाल सकते हैं। हालाँकि, मेमोरी में डेटा विभिन्न लंबाई का हो सकता है। निर्देश सेट जो बाइट एड्रेसिंग का समर्थन करते हैं, उन इकाइयों में डेटा तक पहुँचने का समर्थन करते हैं जो शब्द की लंबाई से कम हैं। Intel 8008 जैसा आठ-बिट प्रोसेसर आठ बिट्स को संबोधित करता है, लेकिन चूंकि यह संचायक और अन्य रजिस्टरों की पूरी चौड़ाई है, इसे या तो बाइट-एड्रेसेबल या वर्ड-एड्रेसेबल माना जा सकता है। 32-बिट x86 प्रोसेसर, जो 8-बिट यूनिट में मेमोरी को संबोधित करते हैं, लेकिन 32-बिट सामान्य-उद्देश्य रजिस्टर हैं और 32-बिट आइटम पर एक निर्देश के साथ काम कर सकते हैं, बाइट-एड्रेसेबल हैं।

वर्ड एड्रेसिंग का लाभ यह है कि बिट्स की समान संख्या में अधिक मेमोरी को संबोधित किया जा सकता है। आईबीएम 7094 में 15-बिट पते हैं, इसलिए यह 36 बिट्स के 32,768 शब्दों को संबोधित कर सकता है। मशीनों को अक्सर एड्रेसेबल मेमोरी के पूर्ण पूरक के साथ बनाया गया था। 6 बिट्स के 32,768 बाइट्स को संबोधित करना वैज्ञानिक और इंजीनियरिंग उपयोगकर्ताओं के लिए बहुत कम उपयोगी होता। या 32-बिट x86 प्रोसेसर पर विचार करें। उनके 32-बिट रैखिक पते 4 बिलियन विभिन्न मदों को संबोधित कर सकते हैं। वर्ड एड्रेसिंग का उपयोग करते हुए, एक 32-बिट प्रोसेसर 4 गिगावर्ड्स को संबोधित कर सकता है; या आधुनिक 8-बिट बाइट का उपयोग करते हुए 16 गीगाबाइट। यदि 386 और उसके उत्तराधिकारियों ने शब्दों को संबोधित किया होता, तो वैज्ञानिक, इंजीनियर और गेमर्स सभी 32-बिट मशीनों पर 4 गुना बड़े प्रोग्राम चला सकते थे। हालाँकि, वर्ड प्रोसेसिंग, रेंडरिंग HTML, और अन्य सभी टेक्स्ट एप्लिकेशन अधिक धीमी गति से चलेंगे।

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

यह बताने के लिए कि बाइट एड्रेसिंग क्यों उपयोगी है, आईबीएम 7094 पर विचार करें, जो शब्द-एड्रेसेबल है और इसमें बाइट की कोई अवधारणा नहीं है। इसमें 36-बिट शब्द हैं और इसके छह-बिट वर्ण कोड को छह से एक शब्द में संग्रहीत करता है। एक स्ट्रिंग में 16 वें वर्ण को बदलने के लिए, कार्यक्रम को यह निर्धारित करना होगा कि यह स्ट्रिंग में तीसरे शब्द का चौथा वर्ण है, तीसरे शब्द को प्राप्त करें, मास्क (कंप्यूटिंग) चौथे वर्ण के पुराने मान को धारण किए गए मान से बाहर करें। रजिस्टर, थोड़ा सा या नए में, और फिर संशोधित शब्द को वापस स्टोर करें। कम से कम छह मशीन निर्देश। आम तौर पर, इन्हें एक सबरूटीन के लिए रवाना किया जाता है, इसलिए प्रत्येक स्टोर या एक ही चरित्र के लाने में सबरूटीन को कॉल करने और वापस लौटने का ओवरहेड शामिल होता है। बाइट एड्रेसिंग के साथ, जिसे एक निर्देश में प्राप्त किया जा सकता है: इस कैरेक्टर कोड को उस बाइट एड्रेस पर स्टोर करें। टेक्स्ट प्रोग्राम लिखने में आसान होते हैं, वे छोटे होते हैं, और तेजी से चलते हैं।

हाइब्रिड सिस्टम
शब्द संबोधन वाली कुछ प्रणालियाँ, जैसे कि PDP-10|PDP-6/10 और जीई-600 श्रृंखला|GE-600/ हनीवेल 6000 श्रृंखला ़ सीरीज़, में कुशलता से बाइट्स तक पहुँचने के लिए विशेष तंत्र हैं।

PDP-6/10 पर, विशेष निर्देश एक बाइट सूचक पर संचालित होते हैं जिसमें एक शब्द पता, थोड़ा ऑफसेट और थोड़ी चौड़ाई शामिल होती है। {{Mono|LDB}डीबी}}/DPB निर्देश लोड या संग्रहीत एक बाइट, IBP निर्देश ने बाइट पॉइंटर को बढ़ाया, और ILDB/IDPB निर्देशों ने बाइट पॉइंटर को बढ़ाया और फिर अगले बाइट को लोड या स्टोर किया। ये निर्देश मनमाना-चौड़ाई वाले बिट फ़ील्ड पर काम कर सकते हैं। कार्यक्रमों ने इस लचीलेपन का लाभ उठाया: जिन लोगों को लोअरकेस अक्षरों की आवश्यकता नहीं थी, वे छह-बिट वर्ण कोड के सीमित वर्ण सेट का उपयोग करते थे। दक्षता के लिए 6-बिट बाइट्स; सबसे अधिक उपयोग किया जाने वाला 7-बिट ASCII, एक अप्रयुक्त बिट के साथ एक शब्द में 5 पैक किया गया; और C (प्रोग्रामिंग लैंग्वेज) कार्यान्वयन में 9-बिट बाइट्स का उपयोग किया गया क्योंकि C को बाइट-एड्रेसेबल होने के लिए सभी मेमोरी की आवश्यकता होती है।

GE/हनीवेल मशीनों पर, अधिकांश निर्देश प्रकारों पर विशेष एड्रेसिंग मोड का उपयोग किया जा सकता है, और एक बाइट पॉइंटर पर संचालित किया जा सकता है जो 6-बिट या 9-बिट बाइट्स पर काम कर सकता है। इनमें से किसी भी मशीन में मूल रूप से बाइट्स के लिए यादृच्छिक अभिगम के लिए प्रत्यक्ष मशीन समर्थन नहीं था; बाइट पॉइंटर को बाइट से पहले या बाद में एन बाइट्स को इंगित करने के लिए समायोजित करना, जिस पर वर्तमान में कई निर्देशों के अनुक्रम की आवश्यकता होती है। KL10 PDP-10 मॉडल ने बढ़ाया IBP एडजस्ट बाइट पॉइंटर इंस्ट्रक्शन बनने का निर्देश, ADJBP, जो एक बाइट सूचक को बाइट्स की मनमानी संख्या से समायोजित कर सकता है।

यह भी देखें

 * डेटा संरचना संरेखण
 * अंतहीनता