यदि CPU में 16 बिट एड्रेस बस और 8 बिट शब्द हैं, तो यह कितनी मेमोरी को एड्रेस कर सकता है?


23

मैं सेमेस्टर परीक्षा के अंत के लिए अध्ययन कर रहा हूं और निम्नलिखित प्रश्न के साथ भ्रमित हूं। यदि एक CPU में 16 बिट एड्रेस बस और 8 बिट शब्द हैं, तो KB की मेमोरी में कितनी मेमोरी है? मेरी समझ मुझे बताएगी कि यह 64KB को संबोधित कर सकता है, हालांकि ऐसा करने के लिए मैंने सिर्फ 2 ^ 16 = 65,536 का उपयोग किया। यह गणना वास्तव में कभी भी 8 बिट शब्दों को ध्यान में नहीं रखती थी इसलिए मुझे यकीन नहीं है कि यह सही है। इसके अलावा 8 बिट शब्दों का क्या मतलब है?

चियर्स


16
आपने इसे अप्रत्यक्ष रूप से उपयोग किया: पता योग्य मेमोरी की कुल मात्रा 2 ^ 16 * 8 बिट्स है। चूंकि एक बाइट = 8 बिट्स, वह 2 ^ 16 बाइट्स, यानी 65536 बाइट्स या 64 KiB है। ध्यान दें कि K 1000 के लिए SI उपसर्ग है। यदि आपका मतलब 1024 है, तो Ki का उपयोग करें।
जकारोन

2
SI उपसर्ग किलोबाइट्स (1,000 बाइट्स) और बाइनरी प्रीफ़िक्स किबिबाइट्स (1,024 बाइट्स) के बीच अंतर को ध्यान में रखें। 2 ^ 16 = 65,536 = 64 किबी ~ 65.5 किलो। मांगा गया उत्तर शायद एक ऐसा है जहां किलो का मतलब किबी लिया जाता है, लेकिन कई बार ऐसा होता है जब अंतर वास्तव में मायने रखता है। यदि आप पूरी तरह से निश्चित होना चाहते हैं, तो सुरक्षित मार्ग लें और बाइट्स की संख्या निर्दिष्ट करें , और अपने शिक्षक की सुविधा के लिए किलोबाइट्स या किबिबाइट्स जैसी अधिक उपयोगी इकाइयों में अनुवाद की पेशकश करें। बाइनरी उपसर्ग की तुलना करें । मेमोरी चिप्स आमतौर पर 65,536x8 बिट्स निर्दिष्ट करते हैं।
बजे एक CVn


3
मुझे लगता है आप कोई बैंक गमागमन मान। अधिकांश 16 बिट सीपीयू बैंक स्वैपिंग के कुछ प्रकार का उपयोग करते हैं जो उत्तर देने के लिए वास्तव में कठिन बनाता है।
जोशुआ

1
@ MichaelKjörling सवाल केबी का कहना है जो हमेशा 1024 बाइट्स का मतलब है।
कैस्परल्ड

जवाबों:


38

बहुमत आर्किटेक्चर में एक शब्द, डेटा का सबसे बड़ा टुकड़ा है जिसे एक ही ऑपरेशन में काम करने वाली मेमोरी में और उससे स्थानांतरित किया जा सकता है।

स्मृति में किसी स्थान को निर्दिष्ट करने के लिए उपयोग किया जाने वाला सबसे बड़ा संभव पता आकार, आमतौर पर एक हार्डवेयर शब्द कहा जाता है।

तो, आपका सीपीयू 64KB (2 ^ 16) को संबोधित करने में सक्षम होगा , लेकिन केवल एक ही ऑपरेशन 8 बिट्स में स्थानांतरित करने में सक्षम होगा।


3
मुझे यकीन है कि यह उत्तर एक शिक्षक के बाद है, लेकिन क्या यह वास्तव में सही है? क्या आप पीएई जैसी चीज का उपयोग नहीं कर सकते हैं ताकि सीपीयू की पहुंच को 3 जी के स्तर की अनुमति दी जा सके। मैं एक हार्डवेयर विशेषज्ञ नहीं हूं, लेकिन क्या कमोडोर 128 ने भी 8 बिट वर्ड पर ऐसा कुछ करने का प्रबंधन नहीं किया, 16 बिट बस में रैम बैंकों को स्विच करने की अनुमति है?
दाविगो

5
मुझे यकीन नहीं है कि मैं आपका वाक्य समझता हूं "केवल एक ही ऑपरेशन में ट्रांसफर कर पाएंगे 256B (2 ^ 8)"? यह कभी भी एक ऑपरेशन में केवल 1 शब्द = 1 बाइट = 8 बिट्स स्थानांतरित कर सकता है।
जकरॉन

8
@davidgo अभी भी PAE को पते की बस को उचित आकार की आवश्यकता है। पीएई का समर्थन करने वाले इंटेल सीपीयू में 36 बिट्स का एक पता बस है।
दिमित्री ग्रिगोरीव

6
PAE आधुनिक x86 CPUs के लिए विशिष्ट ब्रांड के रूप में अधिक या कम है। हां, बड़े पैमाने पर स्मृति को अप्रत्यक्ष रूप से संबोधित करने की योजनाएं युगों (जैसे एक्सएमएस) के लिए लागू की गई हैं, ये अंत में मेमोरी सबसिस्टम को एक परिधीय की तरह मानते हैं जो अलग-अलग मेमोरी को एक छोटे पते स्थान में उजागर करने के लिए लगातार पुन: कॉन्फ़िगर किया जा सकता है। इसके अलावा, पुराने स्कूल x86 के खंडित स्मृति मॉडल देखें ...
रैकैंडबॉमन

6
@ ऑवरमाइंड आपको अपना उत्तर थोड़ा स्पष्ट करना चाहिए। नो- बी वास्तव में एक इकाई के रूप में एकल बी का उपयोग करता है और इसका कारण यही है कि यहां क्या हुआ है - आप बिट्स और बाइट्स को भ्रमित कर रहे हैं। ओपी "8-बिट शब्द * बताता है - प्रत्येक शब्द में 8 बिट्स (1 बाइट) होते हैं और केवल एक ही ऑपरेशन में स्थानांतरित कर सकते हैं। 256 बस प्रत्येक शब्द में संभावित मानों की संख्या है, न कि कितना स्थानांतरित किया गया है।
एडेलफस

21

एक मशीन शब्द, या आमतौर पर सिर्फ शब्द डेटा की सबसे बड़ी इकाई है जिसे सीपीयू सामान्य निर्देशों का उपयोग करके एक पूरे के रूप में हेरफेर कर सकता है। इसका मेमोरी एड्रेसिंग से कोई लेना-देना नहीं है।

क्या मायने रखता है पता रिज़ॉल्यूशन की इकाई , जो आमतौर पर 16/32/64 बिट आर्किटेक्चर पर भी 8-बिट बाइट है। यह मशीन शब्द के आकार के बराबर नहीं है, लेकिन यह संभवतः आपके मामले में है।

एक 8-बिट एड्रेसेबल यूनिट 16-बिट एड्रेस बस मात्रा के साथ 64KiB की रैम के साथ संयुक्त होती है जिसे सीपीयू संबोधित कर सकता है।


3
लेकिन मैंने उन मशीनों का उपयोग किया है जहां पता रिज़ॉल्यूशन की इकाई 16 बिट्स थी। (तो यह अवधारणा सार्थक है।)
मार्टिन बोनर

4
@MartinBonner फिर भी, यह सीधे सीपीयू शब्द के आकार से संबंधित नहीं है।
बजे

1
@glglgl - यह बहुत संबंधित है। मैं नहीं मानता कि देखते हैं किसी भी आर्किटेक्चर के एक पते इकाई की जरूरत नहीं है या तो 8 बिट या उनके शब्द आकार।
जूल्स

1
मैं इस कथन से असहमत हूं कि एक शब्द सबसे बड़ी इकाई है जो सीपीयू एक पूरे के रूप में हेरफेर कर सकता है । Intel i7 में 64 बिट डेटा बस है और अभी भी 256 बिट SIMD निर्देशों का उपयोग कर सकते हैं। यदि विकिपीडिया सही है, तो शब्द डेटा बस की चौड़ाई को संदर्भित करता है न कि सीपीयू के आंतरिक सामान को।
थॉमस वेलर

1
@ThomasWeller: 8088 में 8 बिट डेटा बस है, लेकिन फिर भी 16-बिट निर्देश है। वास्तव में यह एक छोटे डाटास के साथ 8086 है। नोट: डेटाबस की चौड़ाई और वास्तविक ट्रांसफर भी अलग है (गलत डेटा के बारे में सोचें)।
जियाकोमो कैटेनज़ज़ी

1

इसके अलावा 8 बिट शब्दों का क्या मतलब है?

संदर्भ में, शब्द आकार मेमोरी बस का वर्णन करने के लिए पते के आकार के साथ जाता है। मेमोरी में 16 बिट्स हैं, इसलिए यह 64ki लोकेशन चुन सकता है। फिर, प्रत्येक स्थान में 8 बिट्स होते हैं।

यहां शब्द का आकार सीपीयू संगणना इकाई आकार से मेल खा सकता है या नहीं, और यह संबोधित करने में तार्किक ग्रैन्युलैरिटी से मेल खा सकता है या नहीं।

उदाहरण के लिए, एक CPU 16-बिट बस (इस उद्देश्य के लिए) का विज्ञापन कर सकता है। यह अपने निर्देशों में 16-बिट पते का उपयोग करता है, और जैसे आपके उदाहरण में 64ki है। लेकिन इसमें एड्रेस बस के 15 और डेटा बस के 16 बिट्स हैं। इसमें केवल 32ki पतों की जरूरत होती है और हमेशा प्रत्येक स्थान के साथ 2 बाइट्स मिलते हैं। (यदि कोई निर्देश 1 बाइट चाहता है, तो यह कम से कम गायब होने के साथ पते को भेज देगा, दोनों बाइट्स को उस चरण में लाएगा, फिर वांछित पते के कम से कम बिट को देखने के लिए तय करें कि कौन सा आधा उपयोग करना है।)

ध्यान दें कि अन्य लोगों द्वारा उल्लिखित बैंक स्विचिंग, पीएई आदि यहां प्रासंगिक नहीं हैं। स्मृति प्रबंधन इकाई 16-बिट पतों का उपयोग कर सकती है और उसमें 20-बिट हार्डवेयर पता होता है, इसलिए सीपीयू को वास्तविक 20-बिट एड्रेस रेंज की रैम चिप्स का उपयोग करने के लिए चीजों को स्विच और मैप करने की आवश्यकता होती है जिन्हें संबोधित किया जा सकता है।

अपने उत्तरों में इकाइयों को निर्दिष्ट करना सुनिश्चित करें। "64ki"। किस? 8-बिट शब्द, इसे (अभी भी) पता करने योग्य रैम के 64ki बाइट्स बनाते हैं । यह कदम भ्रम को समाप्त करता है और इस तुच्छ जैसी समस्याओं को बनाता है।


0

आपको गणना में भी शब्द आकार का उपयोग करना होगा। जवाब 64 केबी है।

आप 2 ^ 16 शब्दों को संबोधित कर सकते हैं और प्रत्येक शब्द 8 बिट (= 1 बाइट) है। इसलिए यह 64 केबी है।

यदि शब्द का आकार 16 बिट था। जवाब होगा 128 केबी।


1
आपकी गणना आम 32-बिट सीपीयू के लिए नहीं है जो अभी भी 2 ^ 32 बाइट्स ऑफ़ मेमोरी (4 जीबी), नॉट (2 ^ 32) * 4 (16 जीबी) को संबोधित कर सकती है।
दिमित्री ग्रिगोरीव

आधुनिक सीपीयू बड़े "पंक्तियों" को संबोधित करते हैं और मिलान करने के लिए कम पता लाइनें होती हैं। प्रश्न पते की बात करता है बस चीजों का भौतिक पक्ष। इसलिए उस बस के शब्द आकार (सीपीयू रजिस्टर आकार नहीं) से गुणा करना सही है।
जुल्लुगोज़

0

इस बारे में दो पक्ष हैं, आपका प्रशिक्षक संभावित रूप से आपको यह बताना चाहता है कि वास्तविकता क्या है।

सबसे पहले आपका प्रशिक्षक संभावित रूप से चाहता है कि आप उसे बताएं।

"16 बिट्स 2 ^ 16 मेमोरी स्थानों को संबोधित कर सकते हैं, प्रत्येक स्थान 8 बिट्स है। इसलिए हम 524288 बिट (65536 ऑक्टेट) मेमोरी को संबोधित कर सकते हैं।"

हालांकि यह विश्वव्यापी निगरानी को दर्शाता है। वास्तविकता अधिक जटिल है और निश्चित उत्तर देने के लिए अधिक जानकारी की आवश्यकता होती है। कुछ तरीके जिनमें वास्तविक सिस्टम इससे अधिक जटिल हो सकते हैं, शामिल हैं।

  • कई प्रोसेसर में एक समर्पित IO नक्शा नहीं होता है, इसलिए मेमोरी एड्रेस स्पेस के कुछ हिस्सों को मेमोरी के अलावा अन्य चीजों के लिए उपयोग करने की आवश्यकता हो सकती है।
  • प्रोसेसर का "शब्द आकार" स्मृति डेटा बस की चौड़ाई या मेमोरी की सबसे छोटी पता योग्य इकाई के समान नहीं है।
  • कुछ busses अलग आकार डेटा इकाइयों की आवाजाही की अनुमति देते हैं। इसके लिए आगे के पते की आवश्यकता होती है जो कि मुख्य पता बस के बिट्स द्वारा संभाला जा सकता है या नहीं।
  • कुछ busses एक ही तर्ज पर अलग-अलग सिग्नलों को गुणा करते हैं। उदाहरण के लिए एसडीआरएएम "पंक्ति पता" और "स्तंभ पता" भेजने के लिए एक ही पते की पंक्तियों का दो बार उपयोग करता है।
  • कई प्रणालियों ने बैंक स्विचिंग एप्रोच का उपयोग किया ताकि प्रोग्राम को प्रोसेसर से अधिक मेमोरी तक पहुंचने की अनुमति दे सके।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.