Professional Documents
Culture Documents
ADD X /* AC AC + M[X] */
Pros Cons
1. Very low hardware requirements 1. Accumulator becomes the bottleneck
2. Easy to design and understand 2. Little ability for parallelism or pipelining
3. High memory traffic
General register organization
• Multiple registers used as accumulator
• PDP-11, IBM system/360
Pros Cons
1. Some data can be accessed without loading 1. Operands are not equivalent
first 2. Variable number of clocks per
2. Instruction format easy to encode instruction
3. Good code density 3. May limit number of registers
Stack organization
• push down list with a Last In First Out (LIFO) access
mechanism
• all operations by the CPU are done on the contents of a
stack; result stored in stack
• Burroughs B5000 and HP 3000
PUSH X /* TOS M[X] */
ADD Cons
1. Stack becomes the bottleneck
Pros
2. Little ability for parallelism or pipelining
1. Good code density (implicit top of stack)
3. Data is not always at the top of stack
2. Low hardware requirements
when need, so additional instructions like
3. Easy to write a simpler compiler for stack
TOP and SWAP are needed
architectures
4. Difficult to write an optimizing compiler
for stack architectures
Assembly code of C = A + B; in all 3 architectures
CISC and RISC Architecture
Introduction
• The computer designers intend to reduce this gap and include large instruction set, more
addressing mode and various High Level Language (HLL) statements implemented in
hardware.
• As a result the instruction set becomes complex. Such complex instruction sets are
intended to-
• Ease the task of the compiler writer.
• Improve execution efficiency, because complex sequences of operations can be
implemented in microcode.
• Provide support for even more complex and sophisticated HLLs.
• To reduce the gap between HLL and the instruction set of computer architecture, the
system becomes more and more complex and the resulted system is termed as Complex
Instruction Set Computer (CISC).
Cont…
• A number of studies have been done over the years to determine the characteristics
and patterns of execution of machine instructions generated from HLL programs.
• The instruction execution characteristics involves the following aspects of
computation:
• Operation Performed: These determine the functions to be performed by the
processor and its interaction with memory.
• Operand Used: The types of operands and the frequency of their use
determine the memory organization for storing them and the addressing modes
for accessing them.
• Execution sequencing: This determines the control and pipeline organization.
Cont…
• A variety of studies have analyzed the behavior of high level language program. The
below Table includes key results, measuring the appearance of various statement
types during execution which is carried out by different researchers.
• These results are instructive to the machine instruction set designers, indicating
which type of statements occur most often and therefore should be supported in an
―optimal‖ fashion.
• From these studies one can observe that though a complex and sophisticated
instruction set is available in a machine architecture, common programmer may not
use those instructions frequently.
Classification of ISA
Based on CPU design and instruction set, the computer architecture can
be classified into two categories:
1. Complex Instruction Set Computer (CISC)
2. Reduce Instruction Set Computers (RISC)
CISC Architecture
• A large number of instruction types used – typically from 100 to 250
instructions.
• A large number of addressing modes used- typically from 5 to 15 different
modes.
• Some instructions that perform specialized tasks are used infrequently.
• Variable-length instruction formats.
• Small number of general-purpose registers (GPRs) – typically 8-24 GPRs.
• Clock per instruction (CPI) lies between 2 and 15.
• Mostly micro-programmed control units.
• Most instructions manipulate operands in memory.
Cont…