में सीपीयू द्वारा स्मृति का एक भी बाइट एक्सेस किया जाता है, मैं समझता हूं कि 32 या 64 बिट सिस्टम का अर्थ क्या है। इसलिए मूल रूप से सभी रजिस्टरों या शब्द की लंबाई या तो 32 या 64 बिट है।32-बिट मेमोरी और 32-बिट प्रोसेसर
सादगी के लिए हमें 32 बिट सिस्टम लेना चाहिए और कहें कि मैं सी में एक प्रोग्राम लिख रहा हूं यदि मैं एक इंट टाइप घोषित करता हूं तो "int a = 5;" फिर एक शब्द की लंबाई का एक स्मृति स्थान var a के लिए आरक्षित है। इसलिए जब भी मैं इसे एक्सेस करना चाहता हूं तो मैं उस स्मृति स्थान के लिए शब्द पता का उपयोग कर ऐसा कर सकता हूं।
लेकिन कहें कि मेरे पास 4 अक्षर हैं "char a, b, c, d;" चूंकि यह एक बाइट है, उनमें से प्रत्येक को एक शब्द में रखा गया है, तो अगर मैं केवल चार बी तक पहुंचना चाहता हूं तो मैं क्या करूँ? (कह रहा है कि स्मृति बाइट एड्रेसेबल है) अब कहें बी शब्द में तीसरा बाइट है ... तो यह बस पर कैसे आती है? बस में 17 वीं से 24 वीं लाइन तक तीसरी बाइट हार्ड वायर्ड नहीं है? तो अन्य 24 लाइनों के साथ क्या होता है जब केवल बी का उपयोग किया जा रहा है?
उस विशेष सीपीयू के लिए मशीन भाषा, असेंबली भाषा, विशेष रूप से मेमोरी एड्रेसिंग और सीपीयू रजिस्टरों के बारे में भागों की जांच करें। – theglauber
@ दीपक, बाइट एड्रेसिंग का समर्थन करने वाले 32 बिट प्लेटफार्मों पर, स्मृति के लिए एक बाइट लिखना संभव है, अन्य तीन बाइट लिखे गए हैं (बाइट सक्षम संकेतों को बंद करें)। –
@EricZ, अब क्या होगा यदि बाइट मैं चाहता हूं कि स्मृति में दूसरा बाइट (शून्य से गिनती शुरू हो) हो? आम तौर पर जब मैं स्मृति से एक शब्द का उपयोग करता हूं, तो दूसरा बाइट रजिस्टर की बिट स्थिति 23 - 16 के बीच बढ़ता है। लेकिन इस मामले में इसे 7 - 0 स्थिति में उतरना होगा। यह मुझे भ्रमित करता है क्योंकि मैंने सोचा था कि स्मृति से बिट 0 रजिस्टर के बिट 0 में उतरने के लिए तारित है, और 31 से थोड़ा 31 तक। मैंने सोचा था कि यह था सर्किट्री में सभी, तो थोड़ी सी स्थिति में जमीन पर उतरने के लिए थोड़ा सा कैसे हो सकता है, बाइट एक्सेस के दौरान स्थिति 0 पर उतरता है? – deepak