Date : Thu, 11 Aug 2011 09:07:34 +0100
From : philb@... (Phil Blundell)
Subject: Risc PC (Was 'Minitel in France')
On Thu, 2011-08-11 at 08:14 +0100, Sprow wrote:
> The MMU deals with logical to physical mappings, so once it's enabled the
> processor can only see a logical memory map.
>
> For convenience, the OS may choose to set up the page tables so that part of
> the logical memory map is set aside with a 1:1 mapping to the physical
> memory map, but that's by no means mandatory. Especially if the number of
> entries in the page table is fixed as it would be on simple microcontrollers.
>
> On the Risc PC the logical address space starts at &00000000 but there's a
> copy of physical I/O space at &80000000. With MEMC I think logical RAM is at
> &00000000 and physical copy at &02000000, so you could be perverse and write
> to the physical copy of DRAM and then read it back from its logical address
> space.
>
> You could triple or quadruple map stuff if you wanted.
Not on MEMC, though. One of the slightly unusual things about that
particular MMU implementation was that the page tables were "backwards":
each physical page has one CAM slot, rather than there being one PTE per
virtual page. So every physical page of DRAM appears once in the
&02000000-&02ffffff region, and either once or not at all (but never
more than once) in the &00000000-&01ffffff region.
p.