Risc and Cisc: by Eugene Clewlow
Risc and Cisc: by Eugene Clewlow
Risc and Cisc: by Eugene Clewlow
by Eugene Clewlow
Overview
History of CISC and RISC
CISC and RISC
Philosophy
Attributes and disadvantages
Summation
History of RISC/CISC
1950s IBM instituted a research program
1964 Release of System/360
Mid-1970s improved measurement tools demonstrated on CISC
1975 801 project initiated at IBM’s Watson Research Center
1979 32-bit RISC microprocessor (801) developed led by Joel Birnbaum
1984 MIPS developed at Stanford, as well as projects done at Berkeley
1988 RISC processors had taken over high-end of the workstation market
Early 1990s IBM’s POWER (Performance Optimization With Enhanced
RISC) architecture introduced w/ the RISC System/6k
AIM (Apple, IBM, Motorola) alliance formed, resulting in PowerPC
What is CISC?
CISC is an acronym for Complex Instruction Set Computer and are chips that are
easy to program and which make efficient use of memory. Since the earliest
machines were programmed in assembly language and memory was slow and
expensive, the CISC philosophy made sense, and was commonly implemented
in such large computers as the PDP-11 and the DECsystem 10 and 20
machines.
Most common microprocessor designs such as the Intel 80x86 and Motorola 68K
series followed the CISC philosophy.
But recent changes in software and hardware technology have forced a re-
examination of CISC and many modern CISC processors are hybrids,
implementing many RISC principles.
CISC was developed to make compiler development simpler. It shifts most of the
burden of generating machine instructions to the processor. For example, instead
of having to make a compiler write long machine instructions to calculate a
square-root, a CISC processor would have a built-in ability to do this.
CISC Attributes
The design constraints that led to the development of CISC (small amounts of
slow memory and fact that most early machines were programmed in
assembly language) give CISC instructions sets some common
characteristics:
A 2-operand format, where instructions have a source and a destination.
Register to register, register to memory, and memory to register commands.
Multiple addressing modes for memory, including specialized modes for
indexing through arrays
Variable length instructions where the length often varies according to the
addressing mode
Instructions which require multiple clock cycles to execute.