From 75cc38d6bdc522bbfe9c883fc6e68446a748d8f2 Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 5 Apr 2021 17:32:12 -0600 Subject: logical vs. physical address space --- doc/8.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/doc/8.md b/doc/8.md index 54a8b27..10f3230 100644 --- a/doc/8.md +++ b/doc/8.md @@ -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 | | + | | + | | + ------------ +``` -- cgit v1.2.3