2012-07-13 30 views
8

मैं शब्द आकार की परिभाषा के बारे में उलझन में हूं। मैंने पढ़ा है कि एक प्रोसेसर का शब्द आकार इसकी डेटा बस चौड़ाई है। 8 बिट प्रोसेसर की तरह 8 बिट चौड़ी डेटा बस है। मैंने हाल ही में पढ़ा है कि वर्चुअल एड्रेस स्पेस का अधिकतम आकार शब्द आकार यानी द्वारा निर्धारित किया जाता है। यदि शब्द का आकार एन बिट्स अधिकतम वर्चुअल एड्रेस स्पेस 2^एन -1 है। लेकिन मैंने हमेशा सोचा कि अधिकतम आभासी पता स्थान पता बस चौड़ाई द्वारा निर्धारित किया जाता है यानी एक बिट बिट्स विस्तृत पता बस अधिकतम 2^एन बाइट्स को संबोधित कर सकती है। तो, सच क्या है?शब्द का आकार और डेटा बस

इसके अलावा, यह पॉइंटर्स से संबंधित है क्योंकि एक बिट डेटा बस केवल एक छोटा सा पता ले जाने में सक्षम है। तो, पॉइंटर्स के माध्यम से अधिकतम 2^एन बाइट्स का उपयोग किया जा सकता है।

+0

पॉइंटर्स एक आर्किटेक्चर की तुलना में एक प्रोग्रामिंग भाषा अवधारणा के अधिक हैं; वे स्मृति पते का एक अमूर्त हैं। –

+0

@ लार्समैन ... पॉइंटर्स द्वारा मेरा मतलब अप्रत्यक्ष पता लगाना था, जो एक प्रोसेसर के निर्देश सेट आर्किटेक्चर का एक अभिन्न हिस्सा है और जिसमें डेटा बस – avinash

उत्तर

8

मैं पहले कहूंगा कि आपका कुछ भ्रम शायद इस तथ्य से आता है कि कुछ दशकों पहले चीजें सरल थीं और आपकी सरल समझ इन सरल मशीनों पर आधारित होती है।

मैं शब्द आकार की परिभाषा के बारे में उलझन में हूं। मैंने पढ़ा है कि एक प्रोसेसर का शब्द आकार इसकी डेटा बस चौड़ाई है। 8 बिट प्रोसेसर की तरह 8 बिट चौड़ी डेटा बस है।

निश्चित रूप से नहीं। इसके साथ डेटा बस इस से पूरी तरह से असंबंधित है। एक प्रोसेसर का शब्द आकार (जो वास्तव में एक सटीक शब्द कभी नहीं रहा है) सबसे अच्छी तरह से अंकगणित के लिए सबसे बड़ा प्राकृतिक आकार के रूप में परिभाषित किया जाता है जो आम तौर पर मशीन में रजिस्टरों का आकार होता है। यह अक्सर डेटा पथ की चौड़ाई (जो डेटा बस से अलग है) है। डेटा पथ केवल एएलयू की चौड़ाई है। शब्द का आकार अक्सर सूचक आकार के समान होता है।

मैंने हाल ही में पढ़ा है कि वर्चुअल एड्रेस स्पेस का अधिकतम आकार शब्द आकार यानी द्वारा निर्धारित किया जाता है। यदि शब्द का आकार एन वर्चुअल वर्चुअल एड्रेस स्पेस 2^एन -1 है। लेकिन मैंने हमेशा सोचा कि अधिकतम आभासी पता स्थान पता बस चौड़ाई द्वारा निर्धारित किया जाता है यानी एक बिट बिट्स विस्तृत पता बस अधिकतम 2^एन बाइट्स को संबोधित कर सकती है। तो, सच क्या है?

सं।वर्चुअल एड्रेस स्पेस का आकार पेज टेबल (और टीएलबी) के वर्चुअल पेज नंबर में बिट्स की संख्या द्वारा निर्धारित किया जाता है। वर्तमान amd64 आधारित मशीनों पर, वर्चुअल पते के केवल 48 बिट उपयोग योग्य हैं। ऊपरी 16 बिट 47 का एक साइन एक्सटेंशन है। वर्तमान amd64 मशीनों पर, भौतिक पता आकार 52 बिट्स है। ये भौतिक पता बिट्स बस पर भेजे गए हैं। हालांकि शब्द भी वास्तव में गलत है। लगभग सभी लिंक पॉइंट-टू-पॉइंट (डीडीआरएक्स डीआरएएम एक अपवाद है) और पता तारों और डेटा तारों के बजाय एक पैकेटेटेड प्रारूप (हेडर + पेलोड) का उपयोग करें।

इसके अलावा, यह पॉइंटर्स से संबंधित है क्योंकि एक बिट डेटा बस केवल एक छोटा सा पता ले जाने में सक्षम है। तो, पॉइंटर्स के माध्यम से अधिकतम 2^एन बाइट्स का उपयोग किया जा सकता है।

कई (लगभग सभी भी) मशीन जिनके पास एक अलग पता बस है, पता बस का उपयोग करने वाली पता बस का उपयोग करें जो पता बिट्स की संख्या से कम है। इन बिट्स को आसानी से विभाजित किया जाता है और कई घड़ी चक्रों का उपयोग करके बस में भेजा जाता है। डीडीआरएक्स डीआरएएम इसका एक और उदाहरण है।

+0

@nathan ... मैं शब्द आकार और डेटा बस (उस के लिए धन्यवाद) के तथ्य को समझ गया ... लेकिन वर्चुअल एड्रेस के संबंध में, मैंने सीखा है कि सीपीयू एक तार्किक पता उत्पन्न करता है जहां (अगर स्मृति अनगिनत है) पृष्ठ संख्या एक हिस्सा है और फिर ऑफसेट है। अब 2^(इस तार्किक पते के बिट्स की कुल संख्या) = कुल आभासी पता स्थान। है ना? ... और अगर डेटापथ (= शब्द का आकार) इस पते को लेता है (और प्रोग्राम काउंटर को इस पते को सहेजना है, तो पता शब्द आकार से अधिक नहीं हो सकता है) ... शब्द का आकार नहीं होना चाहिए कुल वर्चुअल एड्रेस बिट्स के बराबर? ... या यह संभव हो सकता है कि शब्द के कुछ बिट्स अप्रयुक्त हैं – avinash

+0

वर्तमान x86 मशीनों पर, शब्द का आकार 64 बिट्स है, लेकिन आपको ऊपरी 16 बिट्स का उपयोग करने की अनुमति नहीं है। उन्हें बिट 47 का साइन एक्सटेंशन होना आवश्यक है। मुझे लगता है कि आप तर्क दे सकते हैं कि इस मामले में वर्चुअल एड्रेस 64 बिट्स है, लेकिन वास्तविकता यह है कि आपको 48 से अधिक का उपयोग करने की अनुमति नहीं है। आप पृष्ठ संख्या और ऑफ़सेट चीज़ के बारे में सही हैं। X86 पर, 4k पृष्ठों के साथ, आभासी पृष्ठ संख्या 36 बिट्स है और ऑफसेट 12 बिट्स (कुल 48 बिट्स) है। इस मामले में भौतिक पृष्ठ संख्या 40 बिट्स है। –

1

वर्चुअल ऐड्रेस स्पेस का अधिकतम आकार शब्द आकार से निर्धारित होता है

यह सच हुआ करता था, लेकिन कुछ एक्सटेंशन इस सीमा (अर्थात् भौतिक पता एक्सटेंशन, या पीएई) बायपास करने के लिए किए गए थे जो 36 बिट मेमोरी पतों के रूप में ऐसी चीजों को सक्षम बनाता है।

कि से

अलावा, विकिपीडिया के रूप में एक शब्द को परिभाषित करता है:

एक विशेष प्रोसेसर डिजाइन

द्वारा प्रयोग किया जाता लगभग सभी मामलों में डेटा के प्राकृतिक इकाई, इस 32 बिट सिस्टम पर 32 बिट है और 64 बिट सिस्टम पर 64 बिट्स। आपको 64 बिट सिस्टम पर 32 बिट शब्दों के संदर्भ अक्सर मिलेंगे (आंशिक रूप से क्योंकि amd64 एक संशोधन के बजाय इंटेल x86 का विस्तार है)। साथ ही, आधुनिक कंप्यूटिंग के शुरुआती दिनों से होल्डओवर के रूप में, आप अक्सर 32 बिट मात्रा को डीडब्ल्यूओआर या डबल शब्द के रूप में संदर्भित करेंगे, और 64 बिट वाले को क्यूडब्ल्यूओआर या क्वाड शब्द के रूप में देखेंगे।

यह कुछ लोग हर समय लड़ते हैं। मैं व्यक्तिगत रूप से शब्द आकार == बस चौड़ाई की परिभाषा का उपयोग करता हूं।

+0

@wug पर पता लेना शामिल है ... आपके उत्तर ने निश्चित रूप से मेरे ज्ञान को बढ़ाया लेकिन नहीं किया मेरा संदेह स्पष्ट करें ... शब्द का आकार == बस चौड़ाई ... कौन सी बस? डेटा या पता ... और कौन सी बस सामान्य वर्चुअल केस में अधिकतम वर्चुअल मेमोरी आकार को नियंत्रित करती है (यानी 36 बिट मेमोरी पतों जैसे मामलों पर विचार नहीं) ... – avinash

+0

कई प्रकार के शब्द हैं। कंप्यूटर के विभिन्न घटकों में अक्सर अलग-अलग शब्द आकार होते हैं। जब आप 32 बिट प्रोसेसर के बारे में बात करते हैं, तो आप 32 बिट शब्द आकार वाले प्रोसेसर के बारे में बात कर रहे हैं, हालांकि कुछ घटक (मेमोरी बस की तरह) मूल रूप से एक अलग आकार का उपयोग कर सकते हैं। शेष बिट्स द्वारा प्रदान की गई पता स्थान तक पहुंचने के लिए प्रोसेसर द्वारा विशेष चालें की जाती हैं। "शब्द आकार की परिभाषा" इस बात पर निर्भर करती है कि आप किस शब्द को परिभाषित कर रहे हैं। यहां विकिपीडिया पृष्ठ है: http://en.wikipedia.org/wiki/Word_(computer_architecture) – Wug