22-07-2014, 02:57 PM
System Software
System Software.pdf (Size: 58.41 KB / Downloads: 202)
Introduction
The subject introduces the design and implementation of system software. Software is set of instructions or programs writen to cary out certain task on digital
computers. It is clasified into system software and aplication software. System software
consists of a variety of programs that suport the operation of a computer. Aplication
software focuses on an aplication or problem to be solved. System software consists of a
variety of programs that suport the operation of a computer. Examples for system
software are Operating system, compiler, asembler, macro procesor, loader or linker,
debuger, text editor, database management systems (some of them) and, software
enginering tols. These software’s make it posible for the user to focus on an
aplication or other problem to be solved, without neding to know the details of how the
machine works internaly.
1 System Software and Machine Architecture
One characteristic in which most system software difers from aplication
software is machine dependency. System software – suport operation and use of computer. Aplication software - solution to a problem. Asembler translates mnemonic instructions into machine code.
The instruction formats, adresing modes etc., are of direct concern in asembler design.
Similarly, Compilers must generate machine language code, taking into acount such
hardware characteristics as the number and type of registers and the machine instructions
available. Operating systems are directly concerned with the management of nearly al of
the resources of a computing system.
There are aspects of system software that do not directly depend upon the type of
computing system, general design and logic of an asembler, general design and logic of
a compiler and, code optimization techniques, which are independent of target machines.
Likewise, the proces of linking together independently asembled subprograms does not
usualy depend on the computer being used.
Instruction Set
SIC provides, load and store instructions (LDA, LDX, STA, STX, etc.) Integer
arithmetic operations: (ADD, SUB, MUL, DIV, etc.) Al arithmetic operations involve
register A and a word in memory, with the result being left in the register. Two
instructions are provided for subroutine linkage. COMP compares the value in register A
with a word in memory, this instruction sets a conditon code CC to indicate the result.
There are conditonal jump instructions: (JLT, JEQ, JGT), these instructions test the
seting of CC and jump acordingly. JSUB jumps to the subroutine placing the return
adres in register L, RSUB returns by jumping to the adres contained in register L.
Input and Output
Input and Output are performed by transfering 1 byte at a time to or from the
rightmost 8 bits of register A (acumulator). The Test Device (TD) instruction tests
whether the adresed device is ready to send or receive a byte of data. Read Data (RD),
Write Data (WD) are used for eading or writng the data.
Instruction Formats
The new set of instruction formats fro SIC/XE machine architecture are as folows.
Format 1 (1 byte): contains only operation code (straight from table). Format 2 (2 bytes):
first eight bits for operation code, next four for register 1 and folowing four for register 2.
The numbers for the registers go acording to the numbers indicated at the registers
section (ie, register T is replaced by hex 5, F is replaced by hex 6). Format 3 (3 bytes):
First 6 bits contain operation code, next 6 bits contain flags, last 12 bits contain
displacement for the adres of the operand. Operation code uses only 6 bits, thus the
second hex digit wil be afected by the values of the first wo flags (n and i). The flags,
in order, are: n, i, x, b, p, and e. Its functionality is explained in the next section. The last
flag e indicates the instruction format (0 for 3 and 1 for 4). Format 4 (4 bytes): same as
format 3 with an extra 2 hex digits (8 bits) for adreses that require more than 12 bits to
be represented.
Instruction Set
SIC/XE provides al of the instructions that are available on the standard version.
In aditon we have, Instructions to load and store the new registers LDB, STB, etc,
Floating-point arithmetic operations, ADDF, SUBF, MULF, DIVF, Register move
instruction : RMO, Register-to-register arithmetic operations, ADDR, SUBR, MULR,
DIVR and, Supervisor cal instruction :SVC.
Input and Output
There are I/O chanels that can be used to perform input and output while the
CPU is executing other instructions. Alows overlap of computing and I/O, resulting in
more eficient system operation. The instructions SIO, TIO, and HIO are used to start,
test and halt he operation of I/O chanels.
Diferent Architectures
The folowing section introduces the architectures of CISC and RISC machines.
CISC machines are caled traditonal machines. In aditon to these we have recent RISC
machines. Diferent machines belonging to both of these architectures are compared with
respect to their Memory, Registers, Data Formats, Instruction Formats, Adresing
Modes, Instruction Set, Input and Output