SIC & SIC/XE Architecture & System Specification


Memory:

1 word = 24 bits (3 8-bit bytes)

total (SIC) = 215 (32,768) bytes (32Kbytes)

total (SIC/XE) = 220 (1,048,576) bytes (1Mbyte)

Registers:

10 x 24 bit registers

  MNEMONIC   Register #   Comment/note
  A   0   Accumulator
  X   1   Index register
  L   2   Linkage register (JSUB/RSUB)
  B (SIC/XE)   3   Base register
  S (SIC/XE)

  4   General register
  T (SIC/XE)   5   General register
  F (SIC/XE)   6   Floating Point Accumulator (48 bits)
     
  PC   8   Program Counter (PC)
  SW   9   Status Word (includes Condition Code, CC)

Data Format:

Integers - stored in 24 bit, 2's complement format

Characters stored in 8-bits, in ASCII format

Float (SIC/XE) stored in 48 bit signed-exponent-fraction format:

s exponent {11} fraction {36}

fraction range: 0..1

exponent: unsigned binary range 0..2047

s: 0=positive, 1=negative

therefore, the absolute floating point number value is: f*2(e-1024)


Instruction Format:


SIC:

op {8} x address {15}

x indicates indexed-addressing mode


SIC/XE:

Format 1 (1 byte):

op {8}

Format 2 (2 bytes):

op {8}

r1 {4}

r2 {4}

Format 3 (3 bytes):

op {8}

n

i

x

b

p

e

displacement {12}

Format 4 (4 bytes):

op {8} n i x b p e address {20}


Formats 3 & 4 introduce addressing mode flag bits:

(note I will use TA for "target address" & disp for "displacement")

flags n & i:

flag x:

x=1 indexed addressing add contents of X register to TA calculation

flag b & p (Format 3 only):

* note - in PC relative, disp is interpreted as a 12 bit signed integer in 2's complement

** note - in Base relative, disp is interpreted as a 12 bit unsigned integer


flag e:

e=0 use Format 3

e=1 use Format 4

Addressing Mode Table


Instructions:

SIC provides 26 instructions, SIC/XE provides an additional 33 instructions (59 total)

SIC has 6 categories of instructions:


SIC/XE has additional instructions available in each of the above mentioned categories, plus, it has 3 additional categories of instructions:

Input and Output (I/O):

28 (256) I/O devices may be attached, each has its own unique 8-bit address

1 byte of data will be transferred to/from the rightmost 8 bits of register A

3 I/O instructions are provided:

SIC/XE Has capability for programmed I/O (I/O device may input/output data while CPU does other work) - 3 additional instructions are provided:


$Id: SicArchitecture.html,v 1.4 2003/01/27 06:28:32 stremler Exp stremler $