COA Unit-3
COA Unit-3
COA Unit-3
Control Unit
INSTRUCTION FORMATS- An instruction format or instruction code is a group of bits used to perform a particular operation
on the data stored in computer. • Processor fetches an instruction from memory and decodes the bits to execute the
instruction. • Different computers may have their own instruction set.
Suppose in a 16 bit instruction, First 12 bits (0-11) specify an address. •Next 3 bits specify operation cod (opcode).
• Left most bit specify the addressing model I = 0 for direct address I = 1 for indirect address.
• It is a computer in which single instructions can execute several low level operations (such as a load from memory, an
arithmetic operation, and a memory store) or are capable of multi-step operations or addressing modes within single
instructions.
• The term is in contrast to reduced instruction set computer (RISC) and has therefore become something of an umbrella
term for everything that is not RISC, from large and complex mainframe computers to simplistic microcontrollers where
memory load and store operations are not separated from arithmetic instructions.
• A modern RISC processor can therefore be much more complex then a modern microcontroller using a CISC labeled
instruction set, especially in the complexity of its electronic circuits, but also in the number of instructions or the
complexity of their encoding patterns.
• The only typical differentiating characteristic is that most RISC designs use uniform instruction length for almost all
instructions, and employ strictly separate load/store-instructions.
• The main intend of the CISC processor architecture is to complete task by using less number of assembly lines. For this
purpose, the processor is built to execute a series of operations. Complex instruction is also termed as MULT, which
operates memory banks of a computer directly without making the compiler to perform storing and loading functions.
• To simplify the computer architecture, CISC supports microprogramming. CISC have more number of predefined instructions
which makes high level languages easy to design and implement. CISC consists of less number of registers and more number
of addressing modes, generally 5 to 20. CISC processor takes varying cycle time for execution of instructions – multi-clock
cycles.
Drawbacks of CISC-
6. The amount of clock time taken by different instructions will be different – due to this – the performance of the machine
slows down.
7. The instruction set complexity and the chip hardware increases as every new version of the processor consists of a subset
of earlier generations.
8. Only 20% of the existing instructions are used in a typical programming event, even though there are many specialized
instructions in existence which are not even used frequently.
9. The conditional codes are set by the CISC instructions as a side effect of each instruction which takes time for this setting
– and, as the subsequent instruction changes the condition code bits – so, the compiler has to examine the condition
code bits before this happens
Characteristics-
1. It uses sequence of micro-instruction in micro programming
language.
2. It is mid-way between Hardware and Software.
3. It generates a set of control signal on the basis of control line.
4. Easy to design, test and implement.
5. Flexible to modify.
6. Slower mode of operation.
7. Cheaper and less error.
8. Used in CISC processor
Vertical Micro-Program-
• The vertical micro-programming reduces the size of control words by encoding, control signal pattern before it is stored in
control memory. it offers more flexibility than horizontal micro-programming.
• The pattern with vertical-programming is the maximum degree of parallelism is 1(due to the decoder).
Differences-
Horizontal Vertical
1. Long Format Short Format
2. Ability to express a high degree of parallelism Limited ability to express parallel micro-operations
3. Little encoding of control information Considerable encoding of the control information
4. Usefull when higher operating speed is desired Slower operating speed
Steps-
• First of all the two exponents are compared and the
larger of two exponents is chosen as the result
exponent.
• The difference in the exponents then decides how
many times we must shift the smaller exponent to the
right.
• Then after shifting of exponent, both the mantissas
get aligned.
• Finally the addition of both numbers take place
Computer Organization & Architecture (KCA-105) Prepared By Prof. Asheesh Pandey
followed by normalization of the result in the last
2. Instruction Pipeline :
In this a stream of instructions can be executed by overlapping
fetch, decode and execute phases of an instruction cycle. This
type of technique is used to increase the throughput of the
computer system.
An instruction pipeline reads instruction from the memory
while previous instructions are being executed in other segments
of the pipeline. Thus we can execute multiple instructions
simultaneously. The pipeline will be more efficient if the
instruction cycle is divided into segments of equal duration.
In the most general case computer needs to process each
instruction in following sequence of steps:
1.Fetch the instruction from memory (FI)
2.Decode the instruction (DA)
3.Calculate the effective address
4.Fetch the operands from memory (FO)
5.Execute the instruction (EX)
6.Store the result in the proper place
The flowchart for instruction pipeline is shown in fig-.