0% found this document useful (0 votes)
7 views

RISC vs. CISC

Uploaded by

mahimadec2000
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

RISC vs. CISC

Uploaded by

mahimadec2000
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

RISC vs.

CISC
Towards CISC
• Wired logic  microcode control
– Temptingly easy extensibility
• Performance tuning
– HW implementation of some high-level functions
• Marketing
– Add successful instructions of competitors
– “New feature” hype
– Compatibility: only extensions are possible
CISC Problems
• Performance tuning unsuccessful
– Rarely used high-level instructions
– Sometimes slower than equivalent sequence
• High complexity
– Pipelining bottlenecks  lower clock rates
– Interrupt handling can complicate even more
• Marketing
– Prolonged design time and frequent microcode errors hurt
competitiveness
RISC Features
• Low complexity
– Generally results in overall speedup
– Less error-prone implementation by hardwired logic or
simple microcodes
• VLSI implementation advantages
– Less transistors
– Extra space: more registers, cache
• Marketing
– Reduced design time, less errors, and more options
increase competitiveness
RISC Compiler Issues
• The compilers themselves
– Computationally more complex
– More portable

• The compiler writer


– Less instructions  probably easier job
– Simpler instructions  probably less bugs
– Can reuse optimization techniques
RISC vs. CISC misconceptions

• Arguments favoring RISC: simple design,


short design time, speed, price…

• Study of RISC should include


hardware/software tradeoffs, factors
influencing computer performance and
industry-side evaluation.
RISC vs. CISC misconceptions
• Incorrect implication from the two acronyms:
RISC and CISC.
– They are not bifurcations between which designers have to
choose

• Carelessly leaving out the ‘participation’ of


Operating System
RISC vs. CISC misconceptions
• Reduced design time?
– academic <-> industrial

• Performance claims of RISC proponent do not


decouple design features like MRSs.
– MRSs can have a remarkable effect on program execution
Conclusion – RISC vs. CISC?

• CISC
– Effectively realizes one particular High Level Language
Computer System in HW - recurring HW development
costs when change needed

• RISC
– Allows effective realization of any High Level Language
Computer System in SW - recurring SW development
costs when change needed
Conclusion – Optimum?
• Hybrid solutions
– RISC core & CISC interface
– Still has specific performance tuning

• Optimal ISA
– Between RISC & CISC
– Few, carefully chosen, useful complex instructions
– Still has complexity handling problems
RISC
Reduced Instruction Set Computers

• Microprocessor architecture
• Designed to perform a set of smaller
computer instructions so that it can operate
at higher speeds
What will we cover?
• History
• Theory
• Advantages
• Pipelining
Before the RISC era
• Compilers were hard to build especially for machines with
registers
– Make machine do more work than software
– Have instructions load and store directly to memory (memory-
to-memory operations)
• Software costs were rising and hardware costs were
dropping
– Move as much functionality to hardware
• Magnetic core memory was used as main memory which
was slow and expensive
– Minimize assembly code
• Complex Instruction Set Computers (CISC)
– Use complex instructions “MULT”, “ADD”…
Technology was advancing
• Compilers were improving
– Simple compilers found it difficult to use more complex
instructions
– Optimizing compilers rarely needed more powerful
instructions
• Caches
– allowed main memory to be accessed at similar speeds to
control memory
• Semiconductor memory was replacing magnetic core
memory
– Reduced performance gap between control and main
memory
Inception of RISC
• 1974 – John Cocke (IBM) proved that 80% of
work was done using only 20% of the
instructions
• Three RISC projects
– IBM 801 machine (1974)
– Berkeley’s RISC-I and RISC-II processors (1980)
– Stanford’s MIPS processor (1981)
• 1986 – announcement of first commercial
RISC chip
RISC Approach
• Use only simple instructions that can be
executed within one clock cycle
– Fewer transistors for instructions = more registers
• Pipelining
• Register-to-register operations
– Operand reuse
– Reduction of load/store
Pipelining
Sequential
IF ID O OE O
F S
IF ID O OE O
F S
Clock Cycle IF ID O OE O
F S

Pipelined
IF ID O OE O IF – Instruction Fetch
F S ID – Instruction Decode
IF ID O OE O
Clock Cycle

OF – Operand Fetch
F S
IF ID O OE O OE – Operand Execution
F S OS – Operation Store

Time
Pipelining
Data Dependency
IF – Instruction Fetch
IF ID O OE O ID – Instruction Decode
F S
IF ID O OE O OF – Operand Fetch
F S OE – Operand Execution
OS – Operation Store

IF ID O OE O
F S

Branch Address Dependency


IF ID O OE O
F S
IF ID O OE O
F S
Pipelining
• Data dependencies can be addressed by
reordering the instructions when possible
(compiler)
• Performance degradation from branches can
be reduced by branch prediction or executing
instructions for both branches until the
correct branch is identified
Other Advantages
• New microprocessors can be developed and
tested more quickly if being less complicated
is one of it’s aims
• Smaller instruction sets are easier for compiler
programmers to use
Use of RISC today
• X86 is one of the only chips that retain CISC
architecture
– Large base of proprietary PC applications were written
for X86 or compiled into X86 machine code
– Intel was able to spend vast amounts of money on
processor development to offset the RISC advantages
enough to maintain PC market share
• CISC and RISC architectures are nearly
indistinguishable
– CISC processors use pipelining and can complete
multiple instructions per cycle
– Transistor technology has allowed more room on
chips allowing RISC to have more CISC like instruction

You might also like