Professional Documents
Culture Documents
Organization
Lecture 6
RISC Vs CISC
1
Introduction
CISC is an acronym for Complex Instruction Set Computer and are chips
that are easy to program and which make efficient use of memory.
It is a processor design where single instructions can execute several low-
level operations such as
A load from memory,
An arithmetic operation,
And a memory store) or
are capable of multi-step operations or addressing modes within single
instructions.
Characteristics of CISC
CISC:-MUL 100,400;
finish the task in the minimum possible instructions by implementing
hardware which could understand and execute series of operations.
Thus the processor would come with a specific instruction ‘MUL’ in its
instruction set.
‘MUL’ will loads the two values from the memory into separate registers,
multiplies the operands in the execution unit, and then stores the product in
the appropriate location.
So, the entire task of multiplying two numbers can be completed with one
instruction.
RISC Vs CISC : An Example
RISC processors use simple instructions that can be executed within one
clock cycle.
Thus, ‘MUL’ instruction will be divided into three instructions.
LOAD, which moves data from the memory bank to a register,
PROD, which finds the product of two operands located within the registers, and
STORE, which moves data from a register to the memory banks.
In order to perform the task, a programmer would need to code four lines
of assembly:
LOAD A, 100
LOAD B, 400
PROD A, B
STORE 100, A
From the Example:
RISC design uses more lines of code and hence, more RAM is
needed to store the assembly level instructions.
RISC "reduced instructions" require less transistors of hardware
space than the complex instructions, leaving more room for general
purpose registers.
As all of the instructions execute in a uniform amount of time (i.e.
one clock), pipelining is possible.
Separating the "LOAD" and "STORE" instructions actually reduces
the amount of work that the computer must perform.
Computer Architecture and
Organization
Control Unit
12
Micro-operations
The execution of a program consists of the sequential execution of
instructions.
Each instruction is executed during an instruction cycle made up of
shorter sub-cycles (fetch, indirect, execute, interrupt)
The execution of each sub-cycle involves one or more shorter operations,
that is, micro-operations
Micro-operations are the functional or atomic operations of a processor.
Micro-operations
The Fetch Cycle
Causes an instruction to be fetched from memory. Four registers are
involved:
Memory Address Register (MAR)
Connected to address bus
Specifies address for read or write operation
Memory Buffer Register (MBR)
Connected to data bus
Holds data to write or last data read
Program Counter (PC)
Holds address of next instruction to be fetched
Instruction Register (IR)
Holds last instruction fetched
The Fetch Cycle
Fetch Sequence
Address of next instruction is in PC
Address (MAR) is placed on address bus
Control unit issues READ command
Result (data from memory) appears on data bus
Data from data bus copied into MBR
PC incremented by 1 (in parallel with data fetch from memory)
Data (instruction) moved from MBR to IR
MBR is now free for further data fetches
The Fetch Cycle
Fetch Sequence (symbolically)
OR
Rules for Clock Cycle Grouping
The groupings of micro-operations must follow two simple rules:
This is a minimum
May be additional micro-ops to get addresses
N.B. saving context is done by interrupt handler routine, not micro-ops
The Execute Cycle
First, consider an ADD instruction:
ADD R1,X
(Add the contents of location X to Register 1 , result in R1)
t1: MAR <- (IRaddress)
t2: MBR <- (memory)
t3: R1 <- R1 + (MBR)
Next :Memory