Complex Instruction Set
Computer
(CISC)
Presented by: Maryam Abass and Umaima Asif
Overview
Advantages
Disadvantages
FAQs
Recent Developments
Future Scope
What is CISC and Why to learn?
Architecture
Typical x86 design
Characteristics & Addressing
Modes
Example Programs
The Performance Equation
01
02
03
06
09
05
04
11
08
07
10
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.
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.
Architecture
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
Addressing modes
Register Addressing
Mode Memory
Addressing Modes
Displacement Only
Addressing Mode
Register Indirect Addressing
Modes
Indexed Addressing Modes
Based Indexed Addressing
Modes
Example Program
Operands:
M[2:3] = operand 1 (15)
M[5:2] = operand 2(20)
Task : Multiplication
Result:
M[2:3] <= result
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
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."
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
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
What an ISA
would look
like.
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
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
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)
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.
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.
Questions?
Thank
you!

CISC.pptx

  • 1.
    Complex Instruction Set Computer (CISC) Presentedby: Maryam Abass and Umaima Asif
  • 2.
    Overview Advantages Disadvantages FAQs Recent Developments Future Scope Whatis CISC and Why to learn? Architecture Typical x86 design Characteristics & Addressing Modes Example Programs The Performance Equation 01 02 03 06 09 05 04 11 08 07 10
  • 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 Iknow 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.
  • 5.
  • 6.
    Characteristics ● CISC areMostly 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
  • 7.
    Addressing modes Register Addressing ModeMemory Addressing Modes Displacement Only Addressing Mode Register Indirect Addressing Modes Indexed Addressing Modes Based Indexed Addressing Modes
  • 8.
  • 9.
    Operands: M[2:3] = operand1 (15) M[5:2] = operand 2(20) Task : Multiplication Result: M[2:3] <= result
  • 10.
    CISC Approach Operations: Loads thetwo 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 isknown 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 ● Primarygoal 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 Minimizesthe 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
  • 14.
  • 15.
    Advantages ● Microprogramming isas 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 manyinstructions 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 ● Theterms 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 isfaster? 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'tmy 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.
  • 20.
  • 21.