W
Walter Roberson
:Actually a "virtual pointer" and a REAL PHYSICAL ADDRESS are different
:things.
:A pointer 0x040 is always at index 0x40, ALWAYS.
Clearly you have never used a paged memory system.
:A relative offset is what you are thinking of.
:And it is relative to some Physical Memory Address, and used to compute a
:new Physical address.
You are assuming implimentations of virtual memory that do not hold true
on all systems. Segmented virtual address systems can refer down to
as low as one word, so virtual address 0x1234 might exist but there
might literally be nothing at virtual address 0x1233 or 0x1235, or
0x1235 might refer to a completely different part of physical memory,
or might refer to I/O memory.
:There is no such thing in hardware as a "Virtual Address Bus", only
:instructions that Compute the Physical Address.
Instructions? Well, instructions at the microcode level, perhaps.
The Motorola 68020 with its integrated MMU (Memory Management
Unit) did not have "instructions" for computing physical addresses:
a program running in Supervisor mode would send memory mappings to the
MMU co-processor which would read the internal virutal address bus and
output the appropriate physical address. But if you were using the
68010 which did not have an -integrated- MMU, then you would actually
output the virtual address onto the 68010 pins, and the seperate MMU
would read those pins and do the appropriate mapping.
:things.
:A pointer 0x040 is always at index 0x40, ALWAYS.
Clearly you have never used a paged memory system.
:A relative offset is what you are thinking of.
:And it is relative to some Physical Memory Address, and used to compute a
:new Physical address.
You are assuming implimentations of virtual memory that do not hold true
on all systems. Segmented virtual address systems can refer down to
as low as one word, so virtual address 0x1234 might exist but there
might literally be nothing at virtual address 0x1233 or 0x1235, or
0x1235 might refer to a completely different part of physical memory,
or might refer to I/O memory.
:There is no such thing in hardware as a "Virtual Address Bus", only
:instructions that Compute the Physical Address.
Instructions? Well, instructions at the microcode level, perhaps.
The Motorola 68020 with its integrated MMU (Memory Management
Unit) did not have "instructions" for computing physical addresses:
a program running in Supervisor mode would send memory mappings to the
MMU co-processor which would read the internal virutal address bus and
output the appropriate physical address. But if you were using the
68010 which did not have an -integrated- MMU, then you would actually
output the virtual address onto the 68010 pins, and the seperate MMU
would read those pins and do the appropriate mapping.