Stored Program Organization
Stored Program Organization
Stored Program Organization
A computer instruction is a binary code that specifies a sequence of microoperations for the computer.
Instruction code together with data are stored in the memory.
An instruction code is a group of bits that instructs the computer to perform a specific operation. It is
usually divided into parts, each having its own particular interpretation. The most basic part of an
instruction code is its operation part. The operation code of an instruction is a group of bits that define
such operation as add, subtract, multiply, shift and complement.
• Stored Program Organization
The simplest way to organize a computer is to have one process register and an instruction code format
with two parts. The first part specifies the operation to be performed and the second specifies an
address. The memory address tells the control unit where to find an operand in memory. This operand
is read from memory and used as the data to be operated on together with the data stored in the
processor register.
• Indirect Address
One bit of the instruction code can be used to distinguish between a direct and an indirect address.
When I = 0 (Direct address) and when I = 1 (Indirect address)
▪ When address of an instruction code specifies an operand – immediate operand
▪ When address specifies address of operand – direct address
▪ Else, address specifies an address of memory word where address of operand is found – indirect address.
Computer Registers
• Registers are a type of computer memory used to quickly accept, store, and transfer data and instructions that
are being used immediately by the CPU. The registers used by the CPU are often termed as Processor registers.
• A processor register may hold an instruction, a storage address, or any data (such as bit sequence or individual
characters).
• The computer needs processor registers for manipulating data and a register for holding a memory address. The
register holding the memory location is used to calculate the address of the next instruction after the execution of
the current instruction is completed.