SYSTEM SOFTWARE AND
MACHINE ARCHITECTURE
► One characteristic in which most system software
differs from application software is machine
dependency.
► System software – support operation and use of
computer.
► Application software - solution to a problem.
► Assembler translates mnemonic instructions into
machine code.
The Simplified Instructional Computer
(SIC):
► SIC is a hypothetical(sample model computer)
computer that includes the hardware features most
often found on real machines.
► Two versions of SIC
► standard model (SIC)
► extension version (SIC/XE)
(extra equipment or extra expensive)
Various features of SIC:
► Memory and Registers
► Data Formats
► Instruction Formats
► Addressing Modes
► Instruction Set
► Input and Output
1. Memory:
► Memory consists of 8 bit bytes.
► Any 3 consecutive bytes form a word(24 bits).
► All addresses on SIC are byte addresses.
► There are total of 32,768( 2 to the power of 15)
bytes in the computer memory.
2. Registers:
► Computer registers are memory storing units that
operate at high speed.
► It's a component of a computer's processor.
► It can hold any type of data, including a bit sequence
or a single piece of data.
► There are five registers, all of which have special
uses.
► Each register is 24 bits in length.
► The following table indicates the numbers,
mnemonics, and uses of these registers.
Mnemonic Number Special use
A 0 Accumulator-- used for arithmetic
operations.
X 1 Index register-- used for addressing.
L 2 Linkage register-- The jump to
Subroutine(JSUB) instruction stores the
return address in this register.
PC 8 Program Counter– contains the address of
the next instruction to be fetched for
execution.
SW 9 Status Word– contains a variety of
information including a Condition code
(extra bits kept by processor that summarize
the results of an operation and they affect the
execution of later instruction)
3. Data formats:
► Integers are stored as 24 bit binary numbers.
► 2’s complement representation is used for negative
values.
► Characters are stored using their 8 bit ASCII codes.
► There is no floating point hardware on the standard
version of SIC.
4. Instruction formats:
► All machine instructions on the standard version
of SIC have the following 24 bit format
Opcode(8) X(1 or 0) Address(15)
• The opcode is short for Operation code.
• An opcode is the portion of a machine language instruction
that specifies the operation to be performed.
• And the instruction was given by the CPU.
5. Addressing modes:
► There are two addressing modes available. They are
Direct and Indexed.
► The following table describes how the TARGET
ADDRESS is calculated from the address given by the
instruction.
► Parentheses are used to indicate the contents of a
register or a memory location.
► For example (X) represents the content of register X.
Mode Indication Target address
calculation
Direct X=0 TA= address
Indexed X=1 TA= address+ (X)
6. Instruction set:
• SIC provides, load and store instructions (LDA, LDX, STA, STX, etc)
• L means load instruction and S means store instruction.
• Ex: LDA # 3 (load 3 into accumulator register).
• Ex: STA TABLE ( Store accumulator values in table)
• Integer arithmetic operations: (ADD, SUB, MUL, DIV, etc.).
• All arithmetic operations involve register A and a word in memory,
with the result being left in the register.
• Ther is an instruction COMP that compares the value in register A with a
word in memory, this instruction sets a condition code CC to indicate the
result(< , = or >).
► Conditionjump instruction – JLT(jump less than), JEQ( jump
equal to), JGT(jump greater than) can test the setting of CC and
jump accordingly.
► Subroutine linkages – JSUB( jump to subroutine place return
address in register L), RSUB( returns by jumping to the address
contained in register L).
9. INPUT & OUTPUT:
► On the standard version of SIC input and output are performed by
transferring 1 byte at a time to or from rightmost 8 bits of register.
► The test device(TD) instruction tests weather the addressed
device is ready to send or receive a byte of data.
► A program needing to transfer data must wait until the device is
ready then execute a Read data(RD) or Write data(WD).