COA 3.2_RISC_CISC
COA 3.2_RISC_CISC
1
Outline
• RISC-Features
• CISC Features,
• Comparison of RISC & CISC
• Superscalar Processors.
• Super pipelined Processor.
2
Processor Architectures
• The terms RISC (Reduced Instruction Set Computing) and CISC (Complex Instruction Set
Computing) refer to two different types of computer architectures.
• RISC and CISC are two different types of computer processor designs, or instruction set
architectures (ISA), that refer to the way a processor communicates with a programmer.
• CISC – 1970 10 years later RISC in high end work station.
• In the past, it was believed that hardware design was easier than compiler design
• Most programs were written3 in assembly language
• Hardware concerns of the past: 1. Limited and slower memory 2. Few registers
• The Solution :- As limited registers so … Instructions have do more work, thereby minimizing
the number of instructions called in a program.
• Allow for variations of each instruction - Usually variations in memory access.
Processor Architectures
– IBM/370 computers
Let’s understand this with a simple CISC ADD instruction, which requires two
inputs:
The ADD instruction picks up numbers from memory locations 1800 and
1801 or registers. Later, the picked-up numbers are added and eventually
stored in location 1800.
5
Processor Architectures
CISC Characteristics
Disadvantages :
However, it soon became apparent that a complex instruction set has a
6
number of disadvantages:
• Some complex instructions were slower than a group of simple instructions performing
an equivalent task:
– Too many instructions for designers to optimize each one.
• Smaller instructions allowed for constants to be stored in the unused bits of the
instruction
– This would mean less memory calls to registers or memory.
7
Reduced Instruction Set Computer.
• An essential RISC philosophy is to keep the most frequently accessed operands in registers and minimize
register-memory operations.
• Fixed Length, easily decoded instruction format
• Typically 4 bytes in length
9
Example of RISC
Let’s consider the same ADD instruction and look at how RISC devices
accomplish it.
To begin with, RISC machines do not execute the ADD instruction in one step.
Instead, it is broken down into multiple steps.
For example, you need to load the numbers from memory through a LOAD
instruction, followed by an ADD instruction that adds them, and finally, a
STORE instruction that stores the result in memory.
| Load X, 1600
| Load Y, 1601
| ADD X, Y
| Store 1600, X
In this example, the ‘Load’ instruction loads data at memory location 1600
into register X. Similarly, the second ‘Load’ instruction picks up data from
1601 and loads it into register Y. Later, the values in registers X and Y are
added. Lastly, the result X of addition is stored at memory location 1600 or
any other location. It is worth noting that operations in RISC-type processors
10
are performed on ‘registers’ rather than directly on memory.
RISC Pipeline.
12
To Conclude ……
13
To Conclude ……
14
CISC Vs RISC
CISC RISC
• Emphasis on hardware • Emphasis on software
15
CISC Vs RISC
16
CISC Vs RISC
Neither architecture is universally better; the choice depends on the application. RISC (Reduced Instruction Set
Computer) is generally superior for efficiency, battery life, and speed in mobile/embedded devices (e.g., ARM), while
CISC (Complex Instruction Set Computer) excels in high-performance computing requiring complex instructions,
such as desktop CPUs (e.g., Intel x86).
17
Superscalar Processors
Instruction-Level Parallelism
• Multiple Independent Instruction Pipelines : each with multiple stages, i.e., Common
instructions (arithmetic, load/store , conditional branch) can be initiated and executed
independently determine dependencies between nearby instructions .
18
Why Superscalar?
19
What Is Superscalar ?
20
General Superscalar Organization
• The configuration above, supports the parallel execution of two integer operations,
two floating point operations and one memory operation.
21
Super pipelined Architecture
• Pipeline stages can be segmented into n distinct non-overlapping parts each of which can
execute in 1/n of a clock cycle
• Exploits the fact that many pipeline stages perform tasks that require less than half a clock
cycle, i.e., n=2.
• Doubled internal clock speed allows the performance of two tasks in one external clock cycle
• Superscalar and superpipelined architectures are both techniques used to improve processor
performance, but they achieve this in different ways.
• Superscalar processors use multiple execution units to execute multiple instructions
concurrently, while superpipelined architectures achieve parallelism by breaking down
instructions into finer stages, allowing multiple stages of the same instruction to be in progress
simultaneousl
22
Comparison ……
23
Limitations
• Instruction level parallelism
• Compiler based optimisation
• Hardware techniques
• Limited by
– True data dependency
– Procedural dependency
– Resource conflicts
– Output dependency
– Antidependency
Comparison ……
Superscalar vs. Superpipelined Comparison
25
References
• Computer Organization And Architecture,8th Edition , William
Stallings
• [Link]
%20Guwahati/comp_org_arc/web/
• [Link]
THANK YOU
27