RTUEE / EC / EEEYr 2024 · Sem 52024

Q2Computer Architecture

Question

4 marks

Q.2. Is there any difference between RISC and CISC computers? Explain.

Answer

RISC (Reduced Instruction Set Computer) uses a small set of simple, fixed-length, single-cycle instructions optimized for pipelining, while CISC (Complex Instruction Set Computer) uses a large set of complex, variable-length, multi-cycle instructions that can directly perform elaborate operations.

Yes, there is a fundamental difference between RISC and CISC computers, rooted in differing design philosophies for the instruction set architecture.

RISC (Reduced Instruction Set Computer) architectures (e.g., ARM, MIPS, RISC-V) employ a small number of simple instructions, each typically executing in a single clock cycle, with fixed instruction length and a uniform instruction format that simplifies decoding. RISC follows a load-store architecture, meaning only dedicated LOAD and STORE instructions can access memory, while all arithmetic/logic operations work only on registers, and this design is highly amenable to pipelining, resulting in higher clock speeds and instruction throughput, though it may require more instructions to accomplish a complex task and relies heavily on an optimizing compiler.

CISC (Complex Instruction Set Computer) architectures (e.g., Intel x86) employ a large, rich instruction set including complex, multi-step instructions that can directly perform operations like memory-to-memory arithmetic in a single instruction, with variable instruction length and multiple addressing modes. This reduces the number of instructions needed per program and simplifies compiler design (since more work is done in hardware/microcode), but individual instructions can take multiple clock cycles and the variable-length, complex format makes efficient pipelining considerably harder to implement.

  • Instruction set size: RISC → small, simple; CISC → large, complex.
  • Instruction length: RISC → fixed; CISC → variable.
  • Cycles per instruction: RISC → mostly 1 cycle; CISC → multiple cycles.
  • Memory access: RISC → load-store only; CISC → direct memory operands allowed.
  • Pipelining: RISC → easy, highly effective; CISC → complex, harder to pipeline efficiently.
  • Hardware vs compiler complexity: RISC → simpler hardware, more compiler optimization; CISC → complex hardware/microcode, simpler compiler.
Back to Paper