User manual

VAX MP SIMH console extensions
56
Some of devices or their registers are system-wide (such as for example RQ or TS devices), and
listings appearing in the context of different current CPUs will refer to the same global, system-
wide instance of the device, whereas other devices (such as TLB or CLK) will be per-CPU and any
references to such devices mean a reference to device per-CPU instance.
To help user easily distinguish between per-CPU registers and system-wide registers, console
commands such as EXAMINE had been modified to display CPU ID tag when displaying a register
value, for example:
sim-cpu0> CPU ID 2
sim-cpu2> EXAMINE QBA STATE
[cpu2] SCR: 8000
[cpu2] DSER: 00
[cpu2] MEAR: 0000
[cpu2] SEAR: 00000
MBR: 00000000
[cpu2] IPC: 0000
[cpu2] IPL17: 00000000
[cpu2] IPL16: 00000000
[cpu2] IPL15: 00000000
[cpu2] IPL14: 00000000
In this example, MBR register is system-wide, while other displayed registers are per-CPU and
the tag displayed in front of them indicates ID of the processor the value is displayed for.
Console command
CPU ID without a parameter displays currently selected default processor for
other console commands context:
sim-cpu2> CPU ID
Current default CPU: cpu2
Instruction history recording
Instruction history recording had been modified to support simultaneous history recording for
multiple virtual processors.
VAX MP provides SIMH console user with two recording options.
One option is unsynchronized recording where each processor records the history of its
instruction stream independently from other processors. Recorded histories are strictly per-CPU
and are uncorrelated with each other and there is no telling about relative real-time order of
executions of instructions on different processors, i.e. whether certain instruction had executed
on CPU A before or after certain other instruction executed on CPU B. Recorded histories are
locally sequenced for each processor, but they are not globally sequenced.
The other option provided by VAX MP is to record globally sequenced history of instructions
executed by all the CPUs. Globally sequenced recording is somewhat slower than uncorrelated
recording, but it allows one to examine global order of execution and inter-processor interaction.