2009-10-19 17 views
8

कंप्यूटरों में बाइट-एड्रेसेबल मेमोरी क्यों है, और 4-बाइट-एड्रेसेबल मेमोरी (या 64-बिट के लिए 8-बाइट-एड्रेसेबल मेमोरी) क्यों नहीं है? हाँ, मैं देखता हूं कि कभी-कभी यह कैसे उपयोगी हो सकता है, यह सिर्फ सुरुचिपूर्ण और अत्यधिक लगता है। फायदे पर्याप्त हैं, या वास्तव में विरासत की वजह से यह वास्तव में है?क्यों बाइट-एड्रेसेबल मेमोरी और 4-बाइट-एड्रेसेबल मेमोरी नहीं?

+0

मूल रूप से: 8 स्लाइस में पिज्जा काट क्यों? रुको, तुमने अपने पिज्जा को 16 स्लाइस में काट दिया!?! –

उत्तर

6

प्रोसेसर वास्तव में 64-बिट की मात्रा में एक्सेस मेमोरी (x86 पेंटियम या उसके बाद से किया गया); 64-बिट प्रोसेसर में अक्सर 128-बिट बस होती है। इसके अलावा, मुख्य स्मृति तक पहुंचने में, आपके पास एक पूरी कैश लाइन भरने वाली विस्फोट होती है, जो स्मृति की भी बड़ी इकाइयां होती है।

यह केवल संबोधित है जो बाइट-आधारित है; यह थोड़ा ऊपर की ओर जोड़ता है और बिल्कुल भी नहीं है।

आज, आपको नेटवर्किंग प्रोटोकॉल के लिए बिल्कुल बाइट-आधारित एड्रेसिंग की आवश्यकता है। शब्द-आधारित पते के साथ टीसीपी को कार्यान्वित करना मुश्किल होगा: यदि आप 17 बाइट्स प्राप्त करते हैं तो आपको वापस लौटने के लिए क्या पढ़ना है? इसी प्रकार, उच्च परत बाइट-आधारित हैं: यदि आपको चार बाइट्स की इकाइयों में "GET/HTTP/1.0" जैसी अनुरोध पंक्ति मिलती है तो HTTP को कार्यान्वित करना काफी कठिन होगा। आपको अनिवार्य रूप से शब्दों को शिफ्ट परिचालनों के साथ बाइट्स में विभाजित करना होगा और ऐसे (जो अब प्रोसेसर हार्डवेयर में करते हैं, बाइट-आधारित एड्रेसिंग के लिए धन्यवाद)।

+0

एक शब्द-संबोधित सीपीयू पर, नेटवर्क कार्ड प्रत्येक नेटवर्क ऑक्टेट को मशीन शब्द (और प्रेषण के लिए विपरीत) में स्टोर कर सकता है। या 32-बिट शब्दों में 4 बाइट पैक करने की अधिक संभावना के मामले (जैसे अल्फा एएक्सपी, जिसमें शुरुआती संस्करणों में कोई बाइट-लोड/बाइट-स्टोर निर्देश नहीं था), आपका टीसीपी उदाहरण 17 लौटाएगा, और यह सॉफ्टवेयर पर होगा एक शिफ्ट का उपयोग कर अंतिम शब्द में पैडिंग से निपटने के लिए।(अल्फा बाइट-एड्रेस करने योग्य था, लेकिन यह केवल आई/ओ पता स्थान के लिए कुछ हैक्स के साथ 32 या 64-बिट शब्द लोड/स्टोर्स को गठबंधन किया गया। Http://www.tldp.org/HOWTO/Alpha-HOWTO- 8.html) –

+0

अल्फा ने बाद में बाइट लोड/स्टोर जोड़े, लेकिन यह निश्चित रूप से उनके बिना टीसीपी (सामान्य पीसीआई नेटवर्क कार्ड, AFAIK का उपयोग कर) का समर्थन करता है। इसने इसे प्रभावी ढंग से एक शब्द-संबोधित मशीन बना दिया, लेकिन वर्तमान में मौजूद 64-बिट पते की कम बिट्स को अनदेखा किया गया (या 0 होना चाहिए?) के साथ। –

7

बड़े पैमाने पर ऐतिहासिक कारण - यह मानक बन गया है कि सीपीयू समझते हैं।

आम तौर पर, एक आकार को चुना जाना दोनों डेटा और मशीन के निर्देशों के लिए सुविधाजनक हो गया है: Here उस पर एक अच्छी चर्चा है। 8 बिट्स (256 मान) अंग्रेजी में सामान्य वर्णों और कुछ अन्य भाषाओं को समायोजित करने के लिए पर्याप्त है। 8-बिट प्रोसेसर के डिजाइनरों को संभवतः पाया गया कि 256 सामान्य निर्देश को एन्कोड करने में सक्षम है क्योंकि एक बाइट एक "उचित ट्रेडऑफ़" था। और उस समय, 8 बिट्स आमतौर पर अन्य चीजें जैसे कि पिक्सेल रंग या स्क्रीन समन्वय को एन्कोड करने के लिए पर्याप्त थे। बाइट आकार होने की क्षमता 2 है जो को "neater" डिज़ाइन माना जा सकता है। यह ध्यान दें कि उदाहरण के लिए, दिलचस्प है, Marxer, ई (1974), डाटा प्रोसेसिंग के तत्वों , होने के रूप में एक बाइट का वर्णन करता है या तो 6-बिट और 8 बिट पर कि क्या कंप्यूटर के था निर्भर करता है "ऑक्टल" या "हेक्साडेसिमल" प्रकार।

निश्चित रूप से, शुरुआती दिनों में अन्य आकारों का उपयोग किया जाता था।

0

हमें मानकीकरण के लिए कुछ आकार पर बसने की आवश्यकता है। लोगों ने उपरोक्त शेन द्वारा उल्लिखित कारणों के लिए 8-बिट आकार चुना है। तब से हम बाइट एड्रेसेबल मेमोरी से फंस गए हैं। अब विभिन्न संगतता मुद्दों और तथ्य यह है कि OPCODES केवल बाइट लंबे समय तक बदलना असंभव है। लेकिन एक चाल का उपयोग करके, स्मृति आसानी से डेटा/पते को लाने/स्टोर करने के लिए शब्द-पता योग्य बना दिया जाता है!

संबंधित मुद्दे