Page Numbers: Yes X: 520 Y: -.5" First Page: 150
Heading:
Dorado Hardware ManualGlossary14 September 1981
Glossary
a - the first 8-bit operand of a two-byte or longer opcode.
b - the second 8-bit operand of a three-byte or longer opcode.
bypassing - a number of memories and task-specific registers in Dorado (RM, STK, and T, for example) are written with data that might be needed before the write occurs. These are implemented so that data about-to-be-written is substituted for data read from the register or memory when appropriate. This substitution is called bypassing and enables Dorado to run considerably faster than would otherwise be possible.
cache entry - a munch together with VA of the munch and 4 flag bits. For a 64 row x 4 column cache, VA[28:31] are the word in the munch, VA[22:27] address the row, and VA[7:21] are stored in the cache entry.
column - one of 4 groups of 64 (expandable to 256) cache entries. The cache column in which a word with VA resides is determined by comparing VA[7:21] with the corresponding bits stored in the four columns at row VA[22:27]. Thus a memory word may occupy one of 4 locations in the cache.
control processor - the microcomputer on Dorado’s baseboard, or the Midas program operating Dorado from an Alto.
dirty - a cache entry is dirty if the information in it differs from information in storage, because a store has been done into the cache, and storage has not yet been updated. A page is dirty if a store has been done into the page since its map dirty bit was cleared.
emulator - the lowest priority task, number 0, always awake. The emulator is distinguished by the fact that it cannot block, can use Stk, and has a private pipe entry. Primarily the emulator task will implement instruction sets.
entry vector - the exit microinstruction of an opcode sends control to the first microinstruction of the next opcode by means of IFUJump[n] (n = 0 to 3), where n chooses one of 4 entry microinstructions for the next opcode; these four microinstructions are the next opcode’s entry vector.
fault task - the highest priority task, number 15, woken whenever a memory fault or stack error occurs.
hit - a reference which finds the desired word in the cache.
Midas - the Alto program used for loading and debugging Dorado remotely.
miss - a reference which does not find the desired word in the cache.
module - the unit in which storage is packaged, either 64K, 256K, or 1M words. A machine may have 1 to 4 modules.
MTBF - mean time between failures.
munch - 256 bits, or 16 machine words; the unit of data for main storage.
parity - the parity of a data unit is the exclusive-or of all bits in the data unit; parity has the property that changing any single bit in the data unit will also change the parity, so it can be used to detect single failures. A data unit has odd parity when the number of 1’s in the unit is odd, even parity when the number of 1’s is even. Dorado uses odd parity everywhere, which means that the number of 1’s in the data unit including its associated parity bit should be odd when data is correct.
PC - "program counter". In this manual PC refers to the 16-bit byte displacements relative to BR 31 (the codebase) which are maintained by the IFU for the current instruction set. This term should be distinguished from TPC, which refers to the address of the next microinstruction for a task.
pipe - a 16-entry memory which records the state of the last few storage references.
quadrant - one of the four 4k-word regions in a 16k-word control store.
RAM - "random access memory"; selected words in the memory can be both read and written.
reference - a reference to the memory, initiated by the processor or by the IFU. A processor reference transfers a single word between the cache and the processor; an io reference transfers a munch between storage and an io device.
ROM - "read-only memory"; the contents of the memory are specified when the hardware is constructed and cannot be modified during program execution. ROM elements used on Dorado can be reprogrammed with a special device constructed for the purpose.
row - one of the 64 or 256 groups of 4 cache entries. The cache row in which a word resides is determined by bits 20..27 of its virtual address.
storage - the main memory of the machine, organized in munches of 256 bits, or 16 machine words.
storage reference - a reference to the storage, initiated as a result of a memory reference. A processor reference causes a storage reference if there is a cache miss or if the FDMiss control is true in the memory control register; an io reference always causes a storage reference.
storage reference number (SRN) - an address of a pipe entry which identifies a particular storage reference.
subtask - a two-bit number presented by an io device to the processor and memory system while its task is running. The processor OR’s subtask with RBase[3]..RSTK[1] in determining the RM address and with MemBase[2:3] in determining the base register selection. The memory system buffers the subtask for fast io devices, and then sends it over the Fin or Fout bus as part of device identification.
tag - The extra bit in Md readout which complements for successive Fetch←’es and Store←’s by the same task. Agreement of the bit in Md with the current value equals reference finished.
task - one of the 16 priority scheduled tasks. Special tasks are the emulator (task 0, lowest priority) and the fault task (task 15, highest priority). Other tasks are paired with io controllers.
VA - virtual address.
Vacant - a cache entry or map entry which does not contain valid data.
Victim (Vic) memory - stores 4 bits for each cache row. Two of the bits specify the victim which will be chosen if a reference to that row results in a miss, and the other two are the next victim.
victim - on a processor reference that causes a cache miss, the cache entry chosen to be replaced by the referenced data.
WP - write protected. Map entries and cache entries have bits with this name.