मुझे पता है कि यह भौतिक पता = सेगमेंट रजिस्टर < < 4 + ऑफसेट रजिस्टर का उपयोग करता है। हालांकि ये दो रजिस्ट्रार 16-बिट हैं, 8086 कैसे 20-बिट प्लस ऑपरेशन को संभाल सकते हैं?सीपीयू वास्तविक मोड में 20-बिट पते की गणना कैसे करता है
उत्तर
बस इंटरफ़ेस इकाई खंड रजिस्टरों के होते हैं, योजक 20 बिट पता और शिक्षा प्रीफ़ेच कतार उत्पन्न करने के लिए। एक बार यह पता बीआईयू से बाहर निकलने के बाद, निर्देश और डेटा बाइट स्मृति से प्राप्त किए जाते हैं और वे फर्स्ट इन फर्स्ट आउट 6 बाइट कतार भरते हैं।
"8086_Internal_Block_diagram_enotes.pdf" नामक एक दस्तावेज़ देखें, जिसे Google के माध्यम से आसानी से प्राप्त किया जा सकता है। बस इंटरफेस यूनिट के बारे में अनुभाग, this document भी देखें।
तो प्रोसेसर एक समर्पित आंतरिक 20-बिट रजिस्टर के साथ "मांग पर" इन 20-बिट पते उत्पन्न करता है, यदि आप करेंगे।
जब आप 16 बिट संख्या 4 स्थानों को बाईं ओर स्थानांतरित करते हैं, तो आप अनिवार्य रूप से 20 बिट संख्या बना रहे हैं। ऑफ़सेट तब इंगित करता है कि आप उस सीमा में कितनी दूर जाएंगे। Wikipedia article on Real mode addressing देखें।
उदाहरण:
0x0001 << 4 -> 0x00010 (5 sets of 4 bits in each hex digit -> 20 bits)
मुझे लगता है कि प्रश्न इस के साथ और अधिक था: चूंकि सभी रजिस्ट्रार 16-बिट हैं, प्रोसेसर 20-बिट मान को कैसे संभाल सकता है जो सामान्य रजिस्टर के लिए बहुत बड़ा है। – DarkDust
@ डार्कडस्ट हां, इस तरह मैंने इसका भी अर्थ लिया। आपका पूरा हो गया है, मैं सिर्फ सवाल को सीधे हल करने की कोशिश कर रहा था। – jonsca
@ डार्कडस्ट, जॉन्स्का, बिल्कुल :) – Oxdeadbeef
- 1. सीपीयू उपयोग की गणना
- 2. कैसे प्राप्त या कार्यक्षेत्र स्क्रॉलबार बिना ListBox की वास्तविक चौड़ाई की गणना करता है, तो दिखाई
- 3. सीपीयू गहन गणना उदाहरण?
- 4. ऑब्जेक्ट के पते से हैशकोड() की गणना कैसे करें?
- 5. एनएसआईएनटेगर समय 4 की गणना करता है?
- 6. कर्नेल कैसे जानता है कि सीपीयू उपयोगकर्ता मोड या केनेल मोड में है या नहीं?
- 7. विंडोज़ कर्नेल मोड में संक्रमण की रक्षा कैसे करता है?
- 8. PHP की eval() लाइन संख्याओं की गणना कैसे करता है?
- 9. वास्तविक संख्या के व्यस्त फैक्टरियल की गणना कैसे करें?
- 10. एमडीएनएस पते को कैसे हल करता है?
- 11. वास्तविक ईमेल पते की जांच करने के लिए पिंग
- 12. मैं Win32 में सीपीयू चक्र गणना कैसे प्राप्त करूं?
- 13. शीर्ष कमांड का सीपीयू उपयोग गणना
- 14. मैं एआरसी मोड में संदर्भ गणना कैसे सत्यापित करूं?
- 15. Google प्रतीक्षा समय की गणना कैसे करता है और क्रोम में समय प्राप्त करता है?
- 16. Google डेस्कटॉप पर मेरे स्थान की गणना कैसे करता है?
- 17. मीडियाप्लेयर.फ्रेमवर्क: MPMusicRepeatModeDefault को वास्तविक मोड में "अनुवाद" कैसे करें?
- 18. एंड्रॉइड कैश और डेटा आकार की गणना कैसे करता है?
- 19. अमेज़ॅन आरडीएस I/O दर की गणना कैसे करता है?
- 20. विंडोज़ वॉल्यूम अद्वितीय आईडी की गणना कैसे करता है?
- 21. OPENCV eigenvalues और eigenvectors की गणना कैसे करता है?
- 22. मीडियाविकि छवि के फ़ाइल पथ की गणना कैसे करता है?
- 23. स्टेट कमांड फ़ाइल के ब्लॉक की गणना कैसे करता है?
- 24. सी ++ आकार के ऑपरेटर आकार की गणना कैसे करता है?
- 25. घाटे की गणना कैसे की जाती है?
- 26. यह कोड कैप्चर किए गए CPU चक्रों की संख्या की गणना कैसे करता है?
- 27. x86 आर्किटेक्चर में "ईयू" क्या है? (प्रभावी पता की गणना करता है?)
- 28. एक प्रक्रिया के सीपीयू उपयोग और लिनक्स में अपने सभी बाल प्रक्रियाओं की गणना कैसे करें?
- 29. क्या F # Async.Parallel गति की गणना करता है?
- 30. वास्तविक मोड, इंटरप्ट वेक्टर प्रतिस्थापन क्रैशिंग
मैं देखता हूं, धन्यवाद! इसलिए अनिवार्य रूप से पता गणना पारंपरिक 16-बिट एएलयू (?) – Oxdeadbeef
@ 0xdeadbeef का उपयोग नहीं करती है: सही है, इसका बीआईयू में अपना समर्पित "मिनी-एएलयू" है। – DarkDust