RISC and The Modern Computer
Download
Report
Transcript RISC and The Modern Computer
RISC
and
The Modern Computer
By Craig Long
INTRODUCTION
How many of you have taken as assembly language class?
Brief history of microprocessors
1978 – Intel releases Intel 8086, considered first modern processor
1981 – IBM-PC released with Intel 8088 processor
1982 – First RISC processor developed at UC Berkeley
1983 – Original Macintosh released with Motorola 68000 (CISC) processor
1992 – First PowerPC (RISC) processor released
1993 – First Pentium processor released
1994 – Power Macintosh released with PowerPC-based processor
What is CISC?
Complex Instruction Set Computer
- large instruction set
- few instructions per program
- instructions tend to be complex
- instructions take longer to decode
Dominant in early computing – before 1980s.
What is RISC?
Reduced Instruction Set Computer
- small instruction set
- more instructions per program
- complex operations composed of simpler instructions
- instructions take much less time to decode
First major RISC processor developed in early 80s, first
commercial RISC success was PowerPC in 1992.
A BRIEF DIVERSION...
How is code generated inside the computer?
Steps in compilation
- lexical analysis:
reducing text to symbols of the language
- parsing:
reducing symbols to program structure
- semantic analysis: associating names with correct variables, memory locations, and
types
- code generation:
creating assembly code from statements
An example...
Consider the Java statement:
int x = y + 2;
- lexical analysis:
int x = y + 2;
TYPE IDENTIFIER DENOTATION (etc)
- parsing:
int x = y + 2;
TYPE IDENTIFIER = EXPRESSION
EXPRESSION = IDENTIFIER + CONSTANT
- semantic analysis: int x = y + 2;
x, y, 2 – int; associated with memory address
- code generation:
(in IA-32 assembly)
; assume x and y have been declared as integer-size memory locations
mov
eax, y
add
eax, 2
mov
x, eax
So...what's the problem here?
The “semantic gap”
The semantic gap is the gap between the meaning of
statements in a high-level language and the meaning of
statements at the machine level.
Researchers found that many complex instructions were
not being used in CISC machines.
CISC vs RISC
So (you might ask) if an advantage of CISC is complex
instructions that aren't being used, is it time for a new
approach?
Some people thought so, and RISC was developed.
So why is RISC so great?
...well I'll tell you!
There are many reasons, including:
- More available registers, so that memory is accessed less
- “Load-store” idiom means less frequent data movement from
external memory to program space
- Simple instructions which can be used to compose complex
operations
Pipelining – A Story
Imagine you own a toy factory. Material comes in, goes through 23 stations,
and leaves fully processed. You start to wonder why your competitors can
make 23 times more toys than you can. Then, one day, you watch your
assembly line and gasp in astonishment! As each worker does their part,
they step back and wait until the entire toy is assembled before starting on
the new one (and take a nice nap while waiting)!
Why is pipelining only possible with RISC?
(well, it really isn't)
While RISC has not caught on in the personal computer market, it
remains dominant in other areas, especially the embedded
market and the high-end server market. For example, almost all
chips in Apple iPods are RISC, as are the chips in the next-gen
video game consoles and IBM-built Roadrunner, the fastest
supercomputer in the world.
Many RISC ideas, such as pipelining and standard-size
instructions, have also been taken by CISC-type processors, such
as the x86 architecture that forms the current generation of
desktop chips.
SOURCES
Murdocca, Miles and Vincent Heuring, Computer
Architecture and Organization, 2007, John
Wiley
& Sons, Inc
Irvine, Kip R., Assembly Language for Intel-Based
Computers, 2007, Pearson Prentice Hall
Wikipedia: The Free Encyclopedia. 17 Nov. 2008.
Wikimedia Foundation.
<http://en.wikipedia.org>