Professional Documents
Culture Documents
Computer Organization and Architecture
Computer Organization and Architecture
-6
1011
1010
1010
1001
1101
1110
✓ Numbers are often normalized, such that the decimal point is placed to the
right of the first non zero digit.
Example: 5236 is equivalent to .5236 * 104
IEEE standard (IEEE 754) floating point format
✓ IEEE has proposed two standard for representing floating-point number
✓ Single precision
✓ Double precision
(implied)
✓ Since we have an implied 1 in the significand, this equates to
-(1).1112 x 2 (128 – 127) = -1.1112 x 21 = -11.112 = -3.75.
B0 0 4x1 Y0 C1
1 MUX
Arithmetic Unit
2
3
A1 X1 C1
S1 FA D1
S0
B1 0 4x1 Y1 C2
1 MUX
2
3
A2 X2 C2
S1 FA D2
S0
B2 0 4x1 Y2 C3
1 MUX
2
3
A3 X3 C3
S1 FA D3
S0
B3 0 4x1 Y3 C4
1 MUX
2
3 Cout
0
✓ Fetch Instruction
✓ Interpret Instruction
✓ Fetch Data
✓ Process data
✓ Write data
Operation of a CPU:
1. Fetch the contents of a given memory location and load them into a CPU
register.
2. Store a word of data from a CPU register into a given memory location.
3. Transfer a word of data from one CPU register to another or to the ALU.
4. Perform an arithmetic or logic operation, and store the result in a CPU
register
09-02-2019 KLEF_SK_CO1 and CO2 24
Concept of Program Execution
1. Fetch the contents of the memory location pointed at by the PC. The
contents of this location are interpreted as an instruction to be
executed. Hence, they are stored in the instruction register (IR).
2. Symbolically this can be written as:
IR = [ [PC] ]
3. Increment the contents of the PC by 1.
PC = [PC] + 1
4. Carry out the actions specified by the instruction stored in the IR.
Instruction
Memory
+
Registers
7. Transfer Control
09-02-2019 KLEF_SK_CO1 and CO2 40
1. Data Transfer Operations
Move (Transfer) - Transfer word or block from source to destination
Opcode
Zero Address Instruction
Opcode Address
One Address Instruction
Block diagram
09-02-2019 of 64- word stack KLEF_SK_CO1 and CO2 50
Subroutine Calls
Requirements
✓ Assembly Language has the same efficiency of execution as the machine level
language. Because this is one-to-one translator between assembly language
program and its corresponding machine language program.
Uniprogramming system:
✓ Main memory is divided into two parts :
1. Part for the operating system
2. Part for the program currently
being executed.
Multiprogramming system:
✓ Main memory is divided into two parts :
1. Part for the operating system
2. The user part of memory is
subdivided to accommodate
multiple processes.