Sun, Apr 6, 2025
A student writes (via ED):
>
> Are the USP and SSP a physical or virtual address
> (do we have to do address translation for R6?)
No, USP and SSP are registers,not memory locations. Virtual memory is all
about allowing processes to have available to it a lot more memory locations
than they have physical memory locations. It works because no process needs
to access all (or even most) of its locations at the same time. Those locations
that are needed to access (for load or store instructions) right now are put
into physical memory locations so they can be accessed. The rest remain on
the disk where there is plenty of room. Address translation provides the
process with a physical memory location, given its virtual address.
Registers are very different animals. They are not part of memory. Many, like
the PC, PSR, PBR, PLR, and the three one-bit condition code registers are part
of the data path. Every process has its own values of these registers. They
are part of that process' context and sit quietly while the process is not
executing. When it is time for that process to start executing instructions,
these registers are first loaded with the values of those registers that the
process has. When the process stops executing, the contents of these registers
are saved as part of the process' context, after which the values associated
with the process about to start executing are loaded.
I hope this helps.
Good luck with the rest of 460N.
YNP