Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

System Software

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

System Software

The software that helps to activate the computer system and provide operating environment for other application software is called system software. Its primary work is to control, integrate and manage the individuals hardware components of the computer system. System software is the basic requirement of a computer system. System software is further classified into: (i) Operating Systems (ii) Utility software (iii) Language Translator (a) Assembler (b) Compiler (c) Interpreter (iv) Device Driver

Machine structure

Machine Dependency of System Software One characteristic in which most system software differs from application software is machine dependency. An assembler is considered as a system software which converts mnemonic instructions into machine code; the instruction formats, addressing modes etc. are of direct relation in assembler design. SIC Machine The Simplified Instructional Computer (SIC) is a hypothetical computer that includes the hardware features most often found on real machines, while avoiding unusual or irrelevant complexities. Like many other products, SIC comes in two versions. The standard model An XE version SIC Machine Architecture

Memory
Memory consists of 8-bit bytes. Any 3 consecutive bytes form a word (24 bits). Total of 32768 (215) bytes in the computer memory.

Registers
Five registers Each register is 24 bits in length Mnemonic Number A 0 X 1 L 2 PC 8 SW 9 Special use Accumulator Index register Linkage register Program counter Status word

Data Formats
Integers are stored as 24-bit binary number. 2s complement representation for negative values. Characters are stored using 8-bit ASCII codes. No floating-point hardware on the standard version of SIC.

Instruction Formats
Standard version of SIC 24 bits 8 opcode 1 x 15 address

The flag bit x is used to indicate indexed-addressing mode.

Addressing Modes
There are two addressing modes available Indicated by x bit in the instruction Mode Indication Target address calculation Direct x=0 TA=address Indexed x=1 TA=address+(X) ( X): the contents of register X.

Instruction Set
Load and store registers LDA, LDX, STA, STX, etc. Integer arithmetic operations ADD, SUB, MUL, DIV All arithmetic operations involve register A and a word in memory, with the result being left in A COMP Conditional jump instructions JLT, JEQ, JGT Subroutine linkage JSUB, RSUB

Input and Output


Input and output are performed by transferring1 byte at a time to or from the rightmost 8 bits of register A. Test Device TD instruction Read Data (RD) Write Data (WD)

SIC/XE Machine Architecture

Memory
Maximum memory available on a SIC/XE system is 1 megabyte (220 bytes).

Registers
Additional registers are provided by SIC/XE Mnemonic Number Special use B 3 Base register S 4 General working register T 5 General working register F 6 Floating-point accumulator ( 48 bits)

Floating-point data type


There is a 48-bit floating-point data type. 1 11 s exponent 36 fraction

F*2(e-1024)
Instruction Formats
The new set of instruction formats for SIC/XE machine architecture are as follows. 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 following four for register 2. The numbers for the registers go according to the numbers indicated at the registers section (i.e., 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 address of the operand. Operation code uses only 6 bits, thus the second hex digit will be affected by the values of the first two 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 addresses that require more than 12 bits to be represented.

Format 1 (1 byte) 8 op Format 2 (2 bytes) 8 4 op r1

4 r2

Formats 1 and 2 are instructions do not reference memory at all Format 3 (3 bytes) 6 1 1 op n i Format 4 (4 bytes) 6 1 op n

1 x

1 b

1 p

1 e

12 disp (12)

1 i x

1 b

1 p

1 e

20 Address (20)

Instruction Set
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 Supervisor call instruction SVC

Input and Output


There are I/O channels that can be used to perform input and output while the CPU is executing other instructions.

Major Components of a Programming System


The Major Components of a programming system are explained as below. 1. Operating system. 2. Language translators. a) Compilers b) Interpreters c) Assemblers d) Preprocessors 3. Loaders 4. Linkers 5. Macro processors 1. Operating System An operating system is a program that control the execution of application programs and acts as an interface between the user of a computer and the computer hardware. Operating system performs three functions: 1. Convenience: An as makes a computer more. convenient to use. 2. Efficiency: An as allows the computer system resources to be used in an efficient manner. 3. Ability to evolve : An as should be constructed in such a way as to permit the effective development, testing and introduction of new system functions without at the same time interfering with service . 2. Language Translators Language translator is the program that takes an input program in one language and generates an output in another language Source Program->Language Translator->Object Program Types of translators: Compiler: Compiler is a program whose job is to accept as input a source program written in a some high-level language and to generate as output an object code which can be executed on the computer.

Interpreters: It is a translator program that converts a statement of highlevel language to machine language and implements it instantly. Assembler: An Assembler is a program which is used to translate an assembly language program into its machine level language equivalent. 3. Preprocessors The preprocessor provides the ability for the inclusion of header files, macro expansions, conditional compilation, and line control. 4. Loader In computing, a loader is the part of an operating system that is responsible for loading programs. It is one of the essential stages in the process of starting a program, as it places programs into memory and prepares them for execution. Loader is a custom that loads an object program and organizes it for execution. 5. Linker A linker or link editor is a program that takes one or more objects generated by a compiler and combines them into a single executable program. The linker takes in the various object modules and combines them to be a single load module. 6. Macros A macro displays a generally used group of statements in the source programming language. A macro instruction is simply a notational convenience for the programmer.

Design of Assembler

You might also like