Why CISC?

              Compiler simplification?
             Disputed…
             Complex machine instructions harder to exploit
             Optimization more difficult
              Smaller programs?
             Program takes up less memory but…
             Memory is now cheap
             May not occupy less bits, just look shorter in symbolic form
              More instructions require longer op-codes
              Register references require fewer bits
              Faster programs?
             Bias towards use of simpler instructions
             More complex control unit
             Microprogram control store larger
             thus simple instructions take longer to execute
             It is far from clear that CISC is the appropriate solution

    CISC Characteristics

              A large number of instructions-typically from 100 to 250 instructions
              Some instructions that perform specialized tasks and are used frequently
              A large variety of addressing modes-typically from 5 to 20 different modes
              Variable-length instruction formats
              Instructions that manipulate operands in memory

    RISC Characteristics

              One instruction per cycle
              Register to register operations
              Few, simple addressing modes
              Few, simple instruction formats
              Hardwired design (no microcode)
              Fixed instruction format, easily decoded instruction format
              More compile time/effort
              Relatively few instruction
              Memory access limited to load and store instruction
              Relatively large number of registers in processor unit
              Use of overlapped register windows to speed-up procedure call and return
              Efficient instruction pipeline
              Compiler support for efficient translation of HLL programs into machine language programs.
              E.g.: Sun SPARC, Berkeley RISC1

    RISC vs CISC

              Not clear cut
              Many designs borrow from both philosophies
              e.g. PowerPC and Pentium II …….

    The Next Step - RISCReduced Instruction Set Computer

      Key features

             Large number of general purpose registers
             or use of compiler technology to optimize register use
             Limited and simple instruction set
             Emphasis on optimising the instruction pipeline
    RISC VS CISC

    RISC VS CISC


    Advantages of CISC

              Microprogramming is as easy as assembly language to implement and much less expensive than hardwiring a unit
              The ease of microcoding new instructions allowed the 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 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 constructions of high-level languages, the compiler does not have to be as complicated.

    Disadvantages of CISC

              Earlier generations of a processor family were generally contained as a subset in every new version- so instruction set and chip hardware become more complex with each generation of computers.
              So that 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 amount of clock time to execute, slowing down the overall performance of the machine.
              Many specialized instructions are not used frequently enough to justify their existence – approximately only 20% of the available instructions are used in a typical program.
              CISC instructions typically se the condition codes as a side effect of the instruction. Not only does setting the condition codes take time, but programmers have to remember to examine the condition code bits before a subsequent instruction changes them.

    Advantages of RISC

              Speedà Since a simplified instruction set allows for a pipelined, superscalar design RISC processors often achieve 2-4 times the performance of CISC processors using comparable semiconductor technology and the same clock rates.
              Simpler hardware à Because the instruction set of a RISC processor is so simple, it uses up much less chip space; extra functions, such as memory management units or floating point arithmetic units, can also be placed on the same chip. Smaller chips allow a semiconductor manufacture to place more parts on a single silicon wafer, which can lower the per-chip cost dramatically.
              Short design cycle à Since RISC processors are simpler than corresponding CISC processors, they be designed  more quickly, and can take advantage of other technological developments sooner than corresponding CISC designs, leading to greater leaps in performance between generations.

    Disadvantages of RISC

              Code Quality àThe performance of a RISC processor depends greatly on the code that it is executing. If the programmer (or compiler) does a poor job of instruction scheduling, the processor can spend quite a bit of time stalling-waiting for the result of one instruction before it can proceed with a subsequent instruction.
              Debugging à Unfortunately, instruction scheduling can make debugging difficult. If scheduling (and other optimizations) is turned off, the machine-language instructions show a clear connection with their corresponding lines of source. Many RISC programmers debug their code in an un-optimized, unscheduled form and then turn on the scheduler and hope that the program continues to work in the same way.


    Share To:

    Arogya Thapa Magar

    Post A Comment:

    0 comments so far,add yours