0
votes

I read that the CPU generates the logical address which is then mapped to the physical address by the Memory Management Unit(MMU). What exactly does 'generates' mean here? Is the logical address just an offset value like an instruction number or maybe an index? For example, say a process has a hundred instructions. So is the logical adress space of the process between 0 and 99?

1

1 Answers

1
votes

Sounds like bad wording. The CPU processes logical addresses. In some cases it can calculate logical addresses. The logical address is some value in the range 0 .. 2^N where N is usually 16, 32, or 64.

The Memory Management unit can be part of the of the CPU and not something separate. In ye olde days, it was frequently a separate chip or board. The CPU/MMU combination has to translate logical pages into physical page frames. The CPU uses page tables maintained by the operating system to map the logical pages of a process to physical page frames.

Usually, there is a privileged hardware register that specifies where the page table is located.

The structure of the page tables is system dependent.