Memory management Hardware & its operations
Memory Hierarchy
Computer में कई अलग-अलग Type की Memory होती है। जैसा कि नीचे Display किया गया है| इस Memory को अक्सर एक Hierarchy के रूप में देखा जाता है। यहां हमारी Main concern computer की Main या RAM Memory होगी। Cache memory महत्वपूर्ण है क्योंकि यह Memory की Access करने की Speed को बढ़ाती है, लेकिन इसे पूरी तरह से Hardware द्वारा Manage किया जाता है। Virtual memory management द्वारा Rotating magnetic memory या Disk memory का use किया जाता है।
Memory Management Unit
जैसे ही कोई Program run करता है,Memory address जिसका use वह अपने Data को referenced करने के लिए करता है, वह Logical address है। CPU की Memory Management Unit (MMU) द्वारा Hardware में Real time में Physical address का translation किया जाता है। MMU में दो विशेष Register होते हैं जिन्हें CPU की Control unit द्वारा Access किया जाता है। Main memory में Send किया जाने वाला या Memory से recover किया जाने वाला Data Memory Data Register (MDR) में Store किया जाता है। Desired Logical Memory Address Memory Address Register (MAR) में Store किया जाता है। address translation को address binding भी कहा जाता है और यह एक memory map का use करता है जिसे Operating System द्वारा Program किया जाता है।
Read and Write Operations
एक Memory unit binary information को Bits के Group में Store करती है जिन्हें Word कहा जाता है। Data input lines memory में Store की जाने वाली information provide करती हैं| Data output lines memory से information को बाहर ले जाती हैं। control lines Read और Write Data के transfer की direction specified करता है। मूल रूप से memory organization में, 2^{l} Memory space 0 से 2^{l}-1 तक indexed होते हैं जहां L address bus है। हम निम्न Formula का use करके memory का description bytes के रूप में कर सकते हैं|
l कुल Address bus है | N memory में bytes है| Example
1kB= 210 Bytes
64 kB = 26 x 210 Bytes
= 216 Bytes
4 GB = 22 x 210(kB) x 210(MB) x 210 (GB)
= 232 Bytes
- Memory Address Register (MAR) Address Register है जिसका use memory location के Address को store करने के लिए किया जाता है जहाँ Operation किया जा रहा है।
- Memory Data Register (MDR) Data Register है जिसका use data को store करने के लिए किया जाता है जिस पर Operation किया जा रहा है।
Memory Read Operation
memory read operation desired word को Address line में Transfer करता है और Read control line को Active करता है। memory read operation का Description नीचे दिया गया है|
Diagram के शुरू में, MDR में कोई भी Garbage value हो सकता है और MAR में 2003 memory address होता है। Read instruction के Execution के बाद, memory location 2003 का Data read किया जाएगा और MDR 2003 memory location (3D) के Value से update हो जाएगा।
Memory Write Operation
Memory write operation desired word के Address को Address line में Transfer करता है|Data bit को Memory में store करने के लिए Data input line में Transfer करता है। फिर यह Write control line को Active करता है। Write operation का Description नीचे दिया गया है|
Diagram में MAR में 2003 और MDR में 3D है। written instructions के Execution के बाद 2003 memory location पर 3D लिखा जाएगा।