diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/8.md | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -72,3 +72,34 @@ Each binding is a mapping from one address space to another. * Load time binding: The compiler generates `relocatable code` where final binding is delayed until load time. * If the starting address changes, then we need to reload the user code to adjust. * Execution time binding: binding can be delayed until run time but special hardware must be available for this scheme to work. + +## Logical vs. Physical Address Space + +CPU generated addresses are referred to as a `logical address`. +An address seen by the memory unit, i.e. loaded into the `memory-address register`, +is called `physcial address`. + +The compile-time and load-time address-binding methods generate identical logical and physical addresses. +Execution-time addresses result in differing logical and physical addresses. + +```plaintext + ------------ + | | + | | + |------------| | | + | relocation | | | + | register | | | + | | | | + | | 14000 | | | | + | | | | +------- | _ | | | +| CPU | --> logical address --> | (+) | ---> physical address --> | memory | +------- 346 | - | 14346 | | + | | | | + | | | | + |------------| | | + MMU | | + | | + | | + ------------ +``` |
