Tuan Tran What is CISC CISC stands for Complex Instruction Set Computer CISC are chips that are easy to program and which make efficient use of memory Examples of CISC processors are PDP11 ID: 341890
Download Presentation The PPT/PDF document "CISC Processor" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
CISC Processor
Tuan
TranSlide2
What is CISC?
CISC stands for Complex Instruction Set Computer.
CISC are chips that are easy to program and which make efficient use of memory.
Examples of CISC processors are:
PDP-11
Motorola 68000 family
Intel x86/Pentium CPU’sSlide3
CISC HISTORY
The first PC microprocessors developed were CISC chips, because all the instructions the processor could execute were built into the chip.
Memory was expensive in the early days of PCs, and CISC chips saved memory because their programming could be fed directly into the processor.
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
. Slide4
CIS PHILOSOPHY
The three decisions that led to the CISC philosophy, which drove all computer designs until the late 1980s, and is still in major use today are the use Microcode, build rich instruction sets, and build high-level instruction sets.
Use Microcode
: simple logic to control the data paths between the various elements of the processor.
In a micro programmed system, the main processor has some built-in memory (typically ROM) that contains groups of microcode instructions which correspond with each machine-language instruction.
Since the microcode memory can be much faster than main memory, an instruction set can be implemented in microcode without losing much speed over a purely hard-wired implementation.Slide5
CIS PHILOSOPHY
Build rich instruction sets:
By using a micro programmed design, designers could build more functionality into each instruction.
This design cut down on the total number of instructions required to implement a program, so it made more efficient use of a slow main memory.
Made the job for assembly-language programmer simpler
The enhancements included string manipulation operations, special looping constructs, and special addressing modes for indexing through tables in memory.Slide6
CIS PHILOSOPHY
Build high-level instruction sets :
After the programmer-friendly instruction sets were built, designers started to build instruction sets which map directly from high-level languages.
Because microprogram instruction sets can be written to match the constructs of high-level languages, the compiler does not have to be as complicated.
Allows compilers to emit fewer instructions per line of sourceSlide7
CHARATERICTICS OF CISC DESIGN
Instruction sets :
CISC instruction sets have 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. Slide8
CHARATERICTICS OF CISC DESIGN
Hardware architectures:
CISC hardware architectures have several characteristics in common:
Complex instruction-decoding logic, driven by the need for a single instruction to support multiple addressing modes.
A small number of general purpose registers. This is the direct result of having instructions which can operate directly on memory and the limited amount of chip space not dedicated to instruction decoding, execution, and microcode storage.
Several special purpose registers. Many CISC designs set aside special registers for the stack pointer, interrupt handling, and so on. This can simplify the hardware design.
A "Condition code" register which is set as a side-effect of most instructions. Slide9
CHARATERICTICS OF CISC DESIGN
CISC and the Classic Performance Equation
The equation for determining performance is the sum for all instructions of (the number of cycles per instruction * instruction cycle time) = execution time.
This allows you to speed up a processor in 3 different ways : use fewer instructions for a given task, reduce the number of cycles for some instructions, or speed up the clock (decrease the cycle time.)
CISC tries to reduce the number of instructions for a programSlide10
THE ADVANTAGES OF CISC
Microprogramming is as easy as assembly language to implement, and much less expensive than hardwiring a control unit.
The ease of microcoding 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. Slide11
THE DISADVANTAGES OF CISC
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.Slide12
QUESTIONS