Posted: May 3rd, 2023
CISC 640 Nova Southeastern University
OS Problem Set
Introduction
The following machine description will provide the basis for this assignment. You will
create a virtual machine/operating system for the machine described below that will accept
programs in the target machine language. The details for this assignment are presented
below following the machine description.
MICROPROGRAMMING/MACHINE DISCRIPTION
The following is a description of a machine called SIMMAC that contains the following:
512 32-bit words of memory (memory is word addressable).
Each Instruction consists of a 16-bit opcode and a 16-bit operand.
An ALU for performing mathematical operations.
Registers
ACC Accumulator; A 32-bit register involved in all arithmetic
operations. One of the operands in each arithmetic operation
must be in the Accumulator; the other must be in primary
storage.
PSIAR Primary Storage Instruction Address Register; This 16-bit
register points to the location in primary storage of the next
machine language instruction to be executed.
SAR Storage Address Register; This 16-bit register is involved in all
references to primary storage. It holds the address of the
location in primary storage being read from or written to.
SDR Storage Data Register; This 32-bit register is also involved in
all references to primary storage. It holds the data being
written to or receives the data being read from primary storage
at the location specified in the SAR.
TMPR Temporary Register; This 32-bit register is used to extract the
address portion (rightmost 16-bits) of the machine instruction in
the SDR so that it may be placed in the SAR. (No SDR to SAR
2
transfer.)
CSIAR Control Storage Instruction Address Register; This register
points to the location of the next micro-instruction (in control
storage) to be executed.
IR Instruction Register; This register contains the current
instruction being executed.
MIR Micro-instruction Register; This register contains the current
micro-instruction being executed.