Unit 3 Basic Computer Organization and Design_1
Unit 3 Basic Computer Organization and Design_1
• Data Register(DR): The operand is stored in the Data Register from memory.
When a direct or indirect addressing operand is found, it is placed in the Data
Register. This value was then used as data by the processor during its operation.
It's about the same size as a word in memory.
Arithmetic, logic and shift instructions provide computational capabilities for processing the
type of data the user may wish to employ.
A huge amount of binary information is stored in the memory unit, but all computations are
done in processor registers. Therefore, one must possess the capability of moving
information between these two units.
Program control instructions such as branch instructions are used change the sequence in
which the program is executed.
Input and Output instructions act as an interface between the computer and the user.
Programs and data must be transferred into memory, and the results of computations must
be transferred back to the user.
Instruction set completeness refers to the extent to which a computer's
instruction set architecture (ISA) includes a comprehensive and
versatile set of instructions that can perform a wide range of operations.
An instruction set is a collection of machine-level instructions that a
processor can execute, and its completeness is crucial for enabling a
diverse set of tasks and computations.
A complete instruction set should provide instructions for arithmetic
operations, data movement, control flow, logical operations, and other
essential functions needed to execute software programs efficiently.
The completeness of an instruction set is often evaluated based on its
ability to support various programming constructs, algorithms, and
applications without the need for frequent workarounds or complex
optimizations.
Having a more complete instruction set can contribute to the versatility
and performance of a processor, allowing it to handle a broader range
of tasks and improve the overall efficiency of software execution.
https://youtu.be/-Qs5Ypwnb9c
• STA: This instruction stores the accumulator’s content in the address specified by the instruction.
• BUN (Branch Unconditionally): This instruction mentions the address of an instruction that is to be
executed out of sequence.
• BSA: The ‘Branch and Save Return Address’ (BSA) instruction transfers the execution of a program
to another portion (a subroutine) which is to be executed out of sequence.
• ISZ: This instruction increases the value of the effective address by 1. If the value after
incrementation is equal to zero, the value of the program counter increments by 1. Its full form is
Increment and skip if zero.
Register Reference Instruction
This type of instruction is divided into three parts – mode, opcode, and register operation.
The first 12 bits of memory (0-11) specify a register operation. The next three bits (12-14)
specify an opcode. The opcode for a register reference instruction is always 111. The last bit
specifies the addressing mode. This bit is always zero.
The different types of register operations are as follows:
Symbol Description Hexadecimal code
HLT Halt computer 7001
SZE Skip if E is zero 7002
SZA Skip if accumulator is 7004
zero
SNA Skip if accumulator is 7008
negative
SPA Skip if accumulator is 7010
positive
INC Increment accumulator 7020
CIL Circulate left 7040
CIR Circulate right 7080
CME Complement E 7100
CMA Complement 7200
accumulator
CLE Clear E 7400
CLA Clear accumulator 7800
Input-output instruction
This type of instruction is divided into three parts – mode, opcode, and
input/output operation. The first 12 bits of memory (0-11) specify an
input/output operation. The next three bits (12-14) specify an opcode. The
opcode for an I/O reference instruction is always 111. The last bit specifies
the addressing mode. This bit is always 1.
The interrupt cycle refers to the sequence of events that occur when a computer processor
receives and responds to an interrupt. When an interrupt is triggered, the processor
temporarily halts its normal execution to handle the interrupt.
Interrupt cycle is very similar to the instruction cycle. At the very start, the status of flip-flop
R is checked. If it is 0 there is no interrupt and CPU can continue it's ongoing tasks. But
when R=1, it denotes that the ongoing process should halt because an interrupt has
occured.
When R=0, CPU continues it's tasks checking the status of IEN in parallel. If it is 1, FGI
and FGO are checked in a hierarchy. If any of these flip-flops are found set, R is
immidiately set by 1.
When R=1, the content in PC (adress of next instruction in memory) is saved at M[0] and
then PC is set by 1 enabling it to point the BUN operation. The instruction at M[1] is a BUN
instruction that leads the control to approriate I/O ref. Instruction stored at some other
location in the memory. Now separate Fetch, Decode and Execute phases are practised to
entertain the I/O ref. instruction.
Once the I/O ref. instruction is executed completely, PC is loaded with 0 where it finds the
saved RETURN address. The entire workout is diagrammed as follows:
IEN: Interrupt Enable Flip Flop
R: Interrupt Flip Flop