Anda di halaman 1dari 5

SYSTEM SOFTWARE

Definition System software consists of a variety of programs that support the operation of a computer Example: e.g. when you took your first programming course text editor, compiler, loader or linker, debugger e.g. if you wrote any assembly language programs assembler, macro processor e.g. you invoked all of these processes and used devices like printers, keyboard etc. interacting with the operating system

System Software vs. Machine Architecture One characteristic in which system software differs from application software is machine dependency e.g. assembler translates mnemonic instructions into machine code e.g. compilers must generate machine language code e.g. operating systems are directly concerned with the management of nearly all of the resources of a computing system There are however some aspects of system software that do not directly depend upon the type of computing system e.g. general design and logic of an assembler e.g. code optimization techniques

System Software Vs Application Software 1) a system software runs the system where an application system runs over the system software. 2) a system software are programs that run & control the hardware units of the system & an application software doesn't. 3) system programs are written using dll, exe files for windows & rpm files for linux etc, where application software are developed on the basis these files or by using different language files. 4) u can't create applications using system software but application software are specially made to create applications for users.

The Simplified Instructional Computer (SIC)


SIC is a hypothetical computer that includes the hardware features most often found on real machines Why SIC? Not to get embroiled in the idiosyncrasies of any particular machine. Understand system software at a generic level. Two versions of SIC standard model SIC/XE version (SIC programs are upward compatible. Will run on SIC/XE) SIC Machine Architecture Memory 8-bit bytes 3 consecutive bytes form a word addressed by lowest numbered byte Byte addressable 215 bytes of memory Registers (24 bits each, total 5 in number)
Mnemonic A X L PC SW Number 0 1 2 8 9 Special use Accumulator; used for arithmetic operations Index register; used for addressing Linkage register; JSUB Program counter Status word, including CC

Data Formats Integers are stored as 24-bit binary numbers; 2s complement representation is used for negative values, 8 bit ASCII for characters. No floating-point hardware. Instruction Formats

Addressing Modes

Mode Direct Indexed

Indication x=0 x=1

Target address calculation TA=address TA=address+(X)

Instruction Set load and store: LDA, LDX, STA, STX, etc. 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 comparison: COMP COMP compares the value in register A with a word in memory, this instruction sets a condition code CC to indicate the result conditional jump instructions: JLT, JEQ, JGT these instructions test the setting of CC and jump accordingly subroutine linkage: JSUB, RSUB JSUB jumps to the subroutine, placing the return address in register L RSUB returns by jumping to the address contained in register L

Input and Output Input and output are performed by transferring 1 byte at a time to or from the rightmost 8 bits of register A The Test Device (TD) instruction tests whether the addressed device is ready to send or receive a byte of data Less Than if device is ready; Equal if device is busy. Read Data (RD) Write Data (WD)

SIC/XE Machine Architecture


Larger Memory 220 bytes in the computer memory More Registers Floating Point Registers and Instructions More addressing modes Data Formats Floating-point data type: frac*2(exp-1024) frac: 0~1 exp: 0~2047

Instruction Formats larger memory -> extend addressing capacity

Format 1 op(8) Format 2 op(8)


Format 3 op(6) Format 4 op(6) Addressing Modes
Mode Base relative Program-counter relative

r1(4)
e=0 n I x b p e e=1 n I x b p e

r2(4)

disp(12)

address (20)

Indication b=1, p=0 b=0, p=1

Target address calculation TA=(B)+disp (0<=disp<=4095) TA=(PC)+disp (-2048<=disp<=2047) TA=disp (format 3) or address (format 4) TA=TA+(X)

Direct b=0, p=0 Indexed x=1 How the target address is used?

Mode

immediate addressing indirect addressing simple addressing

Indication i=1, n=0 i=0, n=1

operand value TA (TA)

i=0, n=0 SIC instruction (all end with 00) i=1, n=1 SIC/XE instruction Note: Indexing cannot be used with immediate or indirect addressing

Instruction Set new registers: LDB, STB, etc. floating-point arithmetic: ADDF, SUBF, MULF, DIVF register move: RMO register-register arithmetic: ADDR, SUBR, MULR, DIVR supervisor call: SVC generates an interrupt for OS Input/Output SIO, TIO, HIO: start, test, halt the operation of I/O device

Anda mungkin juga menyukai