3. What is CISC?
Pronounced "sisk" and standing for Complex
Instruction Set Computer, is a Microprocessor
Architecture that aims at achieving complex
operations with single instructions and favors the
richness of the instruction set (typically as many as
200 unique instructions) over the speed with which
individual instructions are executed.
4. Why should I know about
CISC?
ï Todayâs computers still use processors which are
based on CISC designs
ï It has been a prominent architecture since 1978
ï Most Emerging Processor designs combine
features of CISC and RISC to create better designs.
6. Characteristics
â CISC are Mostly Von Neumann Architecture (There are
few exceptions)
â Same bus for program memory, data memory, I/O,
registers etc.
â Generally Micro-coded ,Variable length instructions
â Segmentation is possible with Segment Register s like
DS, ES and an offset which
â Can be common to all segments.
â Many powerful instructions are supported, making the
assembly language
â Programmerâs job much easier.
â Physical Memory Extension Possible
10. CISC Approach
Operations:
Loads the two operands into separate registers
Multiplies the operands in the execution unit
Then stores the product in some temporary register
Stores value back to memory location 2:3
11. CISC Approach
MULT is known as a "complex instruction."
Operates directly on the computer's memory banks
Does not require the programmer to explicitly call any loading or
storing functions.
closely resembles a command in a higher level language.
e.g. a âCâ statement "a = a * b."
12. CISC Philosophy
â Primary goal is to complete a task in as few lines
of assembly as possible
â Emphasis on hardware
â Includes multi-clock
complex instructions
â Memory-to-memory:
"LOAD" and "STORE"
incorporated in instructions
â Small code sizes
â High cycles per second
â Variable length Instructions
13. The Performance Equation
RISC
CISC
Minimizes the number of instructions per program (2)
Sacrificing the number of cycles per instruction. (1)
Reduces the cycles per instruction (1)
Sacrificing number of instructions per program (2)
1 2
15. Advantages
â Microprogramming is as easy as assembly language to
implement and much less expensive than hardwiring a
control unit.
â The ease of micro coding new instructions allowed
designers to make CISC machines upwardly compatible:
a new computer could run the same programs as earlier
computers because the new computer would contain a
superset of the instructions of the earlier computers.
â As each instruction became more capable, fewer
instructions could be used to implement a given task.
â This made more efficient use of the relatively slow main
memory, because microprogram instruction sets can be
written to match the constructs of high-level languages,
the compiler does not have to be as complicated
16. Disadvantages
â As many instructions as possible could be stored in memory
with the least possible wasted space, individual instructions
could be of almost any length this means that different
instructions will take different amounts of clock time to
execute, slowing down the overall performance of the
machine.
â Many specialized instructions aren't used frequently enough
to justify their existence --- approximately 20% of the
available instructions are used in a typical program.
â CISC instructions typically set the condition codes as a side
effect of the instruction. Setting the condition codes take
time, and programmers have to remember to examine the
condition code bits before a subsequent instruction changes
them
17. Recent Development
â The terms RISC and CISC have become less meaningful with
the continued evolution of both CISC and RISC designs and
implementations.
â Modern x86 processors also decode and split more complex
instructions into a series of smaller internal "micro-operations"
which can thereby be executed in a pipelined (parallel) fashion,
thus achieving high performance on a much larger subset of
instructions.
â Attempts have been made to combine features of both RISC
and CISC to develop a new approach
â Intel has teamed up with Hewlett-Packard to design a new type
of ISA. They are calling it IA-64 (Intel Architecture 64)
18. FAQs
Which one is faster? CISC or RISC?
So why would someone want to
develop another ISA?
x86 (and CISC) make poor use of the
faster hardware we have now.
Another problem with x86 is that people
have been trying to make it faster for a
long time, at least 20 years, and after a
while you have found most of the ways
to speed the computer up significantly
Well, it is commonly accepted that RISC
ISA's should make computers faster.
The main reason why is because RISC
computers figure out more words in a
shorter amount of time due to
pipelining.
19. FAQs
So why isn't my computer a RISC?
CISC ISA's were implemented in the first personal computers
With more people buying computers, CISC isa's became more prominent
Software (especially OS) was developed and "translated" so that personal computers
speaking x86 would be able to interact with its users
Because there was so much software written for computers "speaking" x86, people
continued to buy those computers.
If we tried to switch to another ISA, we would not have all of the software choices we
have now.