Designing around a 6502 (was Re: Assembly on a Apple IIc+)

From: Sean 'Captain Napalm' Conner <spc_at_conman.org>
Date: Tue Feb 11 13:19:00 2003

It was thus said that the Great Hans Franke once stated:
>
> (*1) Often the term real memory is used, but that's
> not correct. Physical memory is the memory installed
> in a machine, while real address space is the addressable
> amount of RAM by a CPU without using virtual addressing.
> Virtual address space can never excede real address space
> (After all, it's the maximum address range generated by
> the (logical) CPU), while physical memory can go beyond
> real or virual address space.

  Virtual address space *can* exceed physical address space---the 80386 (and
therefore, on topic) is a good example. A segmented architecture, the
segment registers use 14 bits [1] as an index into a table giving the
physical address, while each segment can be 4G in size. 14+32 gives you a
46-bit logical address, meaning you can virtually address 64 terrabytes in
the whole system; a bit more than just the 4G physical address space the
chip puts out.

  Now, are there systems that take advantage of this? That, I don't
know---I know that most OS that use the 386 (and above) skip the segments
and use a flat virtual address space (with the paging unit that the 386 also
has) but there could be the odd-ball OS that uses the segmentation as well.

  -spc (And attempting to use all 64TB would probably cosume huge amounts
        of physical RAM just for the lookup tables ... )

[1] 13 bits make the actual offset, with one bit set aside for a
        global-wide table, or a process-local table of segment/physical
        addresses. For all intended purposes, this gives you 14 bits of
        address space.
Received on Tue Feb 11 2003 - 13:19:00 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:35:54 BST