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