K.S.R.COLLEGE OF ENGINEERING – TIRUCHENGODE 637 215.
(AUTONOMOUS)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Course Name : 24CST38 COMPUTER ORGANIZATION AND ARCHITECTURE
Class : II CSE
Syllabus
UNIT – I
Basic Structure And Arithmetic Operations
Functional Units – Basic Operational Concepts – Performance – Instruction Set Architecture
– Memory Locations and Addresses – Instructions and Instruction sequencing – Addressing
Modes – RISC and CISC Styles – Fixed Point and Floating Point Operations.
Part – A (2 Marks)
1. Write the basic performance equation?
• The Performance Equation is a term used in computer science. It refers to the
calculation of the performance or speed of a central processing unit (CPU).
• Basically the Basic Performance Equation [BPE] is an equation with 3
parameters which are required for the calculation of "Basic Performance" of a
given system. It is given by
T = (N*S)/R
2. What is clock rate?
• The clock rate is the frequency at which a CPU is running. It is the rate in
cycles per second (measured in hertz) or the frequency of the clock in any
synchronous circuit.
• In general, many people think a higher clock speed means a faster processor,
but other factors are also come into to picture.
3. What is meant by instruction?
• computer programming consists of a sequence of small steps, such as adding
two numbers, testing for particular condition ,reading the character from
keyboard and sending a character to be displayed on screen
4. Compare RISC and CISC.
RISC CISC
It stands for Reduced Instruction Set It stands for Complex Instruction Set
Computer. Computer.
It is a microprocessor architecture that
This offers hundreds of instructions of
uses small instruction set of uniform
different sizes to the users.
length.
5. Define Processor clock
• A processor clock, also known as a clock speed or CPU speed, refers to the rate at
which a computer's central processing unit (CPU) can execute instructions.
• It's measured in Hertz (Hz), with modern processors typically operating in the
GHz (gigahertz) range.
• A higher clock speed generally means the CPU can perform more operations per
second, leading to faster overall processing.
6. Define Clock Cycle
• the fundamental unit of time in a computer's central processing unit (CPU),
representing a single pulse of the CPU's internal clock signal.
• It's the time it takes for the CPU to complete a basic operation, such as fetching,
decoding, or executing an instruction.
7. What is a register transfer language
• A Register Transfer Language (RTL) is a symbolic notation used to describe the
micro-operations that transfer data between registers in a digital system.
• It provides how data moves from one register to the other and how data is
processed within the digital system
8. What is Fixed point representation
• Fixed-point representation is a method of representing real numbers in a computer
system where the position of the decimal (or binary) point is fixed.
• This means that the number is divided into an integer part and a fractional part,
with the position of the decimal point predetermined.
• Unlike floating-point representation, where the decimal point can "float" to
different positions, fixed-point has a fixed number of decimal places.
9. What is Addressing Modes?
• Addressing modes are the techniques used by the CPU to identify where the data
needed for an operation is stored. They provide rules for interpreting or modifying
the address field in an instruction before accessing the operand.
• Addressing modes for data
• Addressing modes for branch
10. List out basic functional units of a computer
• Input unit,
• Output unit,
• Memory unit,
• Arithmetic Logic Unit (ALU),
• Control unit.
Part – B(Big Questions)
1. Discuss the functional units of a computer system? Explain the way of handling
information by each of them.
Every Digital computer systems consist of five distinct functional units. These units are as
follows:
• Input unit
• Memory unit
• Arithmetic logic unit
• Output unit
These units are interconnected by electrical cables to permit communication between them. A
computer must receive both data and program statements to function properly and be able to
solve problems.
• Computer input devices read data from a source, such as magnetic disks, and
translate that data into electronic impulses for transfer into the CPU. Example for
input devices are a keyboard, a mouse, or a scanner.
Input Unit:
An input device is usually a keyboard or mouse, the input device is the conduit
through which data and instructions enter a computer.
•The most common input device is the keyboard, which accepts letters, numbers,
and commands from the user.
• Another important type of input device is the mouse, which lets you select options
from on- screen menus.
• The trackball and touchpad are variations of the mouse and enable you to draw or
point on the screen
• The joystick is a swivelling lever mounted on a stationary base that is well suited
for playing video games.
Memory unit:
• memory is used to store programs and data. There are two classes of storage, called
primary and secondary.
• A memory unit consists of data lines, address selection lines, and control lines that
specify the direction of transfer.
Primary storage:
• It is a fast memory that operates at electronic speeds. Programs must stay in
memory while they are being executed.
• The memory contains a large number of semiconductor storage cells, each capable
of storing one bit of information. To provide easy access to any word in the
memory, a distinct address is associated with each word location.
• Addresses are numbers that identify successive locations. A given word is accessed
by specifying its address and issuing a control command.
• Memory in which any location can be reached in a short and fixed amount of time
after specifying its address is called random access memory (RAM).
• The time required to access one word is called the memory access time.
• The small, fast, Ram units are called caches.
• The largest and slowest units are referred to as the main memory.
Secondary storage:
• Secondary storage is used when large amounts of data and many programs have to
be stored, particularly for information that is accessed infrequently.
• Examples for secondary storage devices are Magnetic Disks, Tape and Optical
disks.
Arithmetic-Logic Unit:-
• The arithmetic-logic section performs arithmetic operations, such as addition,
subtraction, multiplication, and division.
• Arithmetic-Logic Unit usually called the ALU is a digital circuit that performs two
types of operations— arithmetic and logical.
• Arithmetic operations are the fundamental mathematical operations consisting of
addition, subtraction, multiplication and division.
• Logical operations consist of comparisons. That is, two pieces of data are
compared to see whether one is equal to, less than, or greater than the other. The
ALU is a fundamental building block of the central processing unit of a computer.
Output Unit
• An output device is any piece of computer hardware equipment used to
communicate the results of data processing carried out by an information
processing system (such as a computer) to the outside world.
• In computing, input/output, or I/O, refers to the communication between an
information processing system (such as a computer), and the outside world. Inputs
are the signals or data sent to the system, and outputs are the signals or data sent by
the system to the outside.
Examples of output devices:
• Speaker
• Headphones
• Screen
• Printer
Control Unit:
• All activities inside the machine are directed and controlled by the control unit.
Control Unit is the part of the computer's central processing unit (CPU), which
directs the operation of the processor.
• A control unit works by receiving input information to which it converts into
control signals, which are then sent to the central processor.
2. Explain the role of Processor clock, clock rate. Pipelining and Super scalar operation
in the performance of computer system?
• Performance: The most important measure of the performance of a computer is
how quickly it can compute programs.
• The speed with which a computer executes programs is affected by the design of
its hardware and its machine language instructions.
• To represent the performance of a processor, we should consider only the periods
during which the processor is active.
• At the start of execution, all program instructions and the required data are stored
in the memory as shown below.
• As execution proceeds, instructions are fetched one by one over the bus into the
processor, and a copy is placed in the cache.
• When the execution of instruction calls for data located in the main memory, the
data are fetched and a copy is placed in the cache. Later, if the same instruction or
data item is needed a second time, it is read directly from the cache
• Computer performance is often described in terms of clock speed (usually in MHz
or GHz). This refers to the cycles per second of the main clock of the CPU.
Performance of a computer depends on the following factors.
Processor clock:-
• Processor circuits are controlled by a timing signal called a clock. A clock is a
microchip that regulates speed and timing of all computer functions.
• Clock Cycle is the speed of a computer processor, or CPU, which is the amount of
time between two pulses of an oscillator. Generally speaking, the higher number of
pulses per second, the faster the computer processor will be able to process
information
• CPU clock speed, or clock rate, is measured in Hertz — generally in gigahertz, or
GHz. A CPU's clock speed rate is a measure of how many clock cycles a CPU can
perform per second.
• To execute a machine instruction, the processor divides the action to be performed
into a sequence of basic steps, such that each step can be completed in one clock
cycle.
• The length P of one clock cycle is an important parameter that affects processor
performance.
• Its inverse is the clock rate, R = 1/P, which is measured in cycles per second.
• If the clock rate is 500(MHz) million cycles per second, then the corresponding
clock period is 2 nanoseconds.
Basic performance equation:-
• The Performance Equation is a term used in computer science. It refers to the
calculation of the performance or speed of a central processing unit (CPU).
• Basically the Basic Performance Equation [BPE] is an equation with 3 parameters
which are required for the calculation of "Basic Performance" of a given system. It
is given by
T = (N*S)/R
• Where 'T' is the processor time [Program Execution Time] required to execute a
given program written in some high level language .The compiler generates a
machine language object program corresponding to the source program.
• 'N' is the total number of steps required to complete program execution. 'N' is the
actual number of instruction executions, not necessarily equal to the total number
of machine language instructions in the object program. Some instructions are
executed more than others (loops) and some are not executed at all (conditions).
• 'S' is the average number of basic steps each instruction execution requires, where
each basic step is completed in one clock cycle. We say average as each instruction
contains a variable number of steps depending on the instruction.
• 'R' is the clock rate [In cycles per second].
Pipelining and Super scalar operation:-
• A substantial improvement in performance can be achieved by overlapping the
execution of successive instructions, using a technique called pipelining.
• Consider the instruction
• Add R1, R2, R3
• Which adds the contents of registers R1 and R2, and places the sum into R3
• The contents of R1 and R2 are first transferred to the inputs of the ALU.
• After the add operation is performed, the sum is transferred to R3.
• Processor can read the next instruction from the memory while the addition
operation is being performed.
• Then, if that instruction also uses the ALU, its operands can be transferred to the
ALU inputs at the same time that the result of add instruction is being transferred
to R3.
• Thus, pipelining increases the rate of executing instructions significantly.
Super scalar operation:-
• A higher degree of concurrency can be achieved if multiple instruction pipelines
are implemented in the processor.
• This means that multiple function units are used, creating parallel paths through
which different instructions can be executed in parallel.
• With such an arrangement, it becomes possible to start the execution of several
instructions in every clock cycle.
• This mode of execution is called super scalar operation.
Clock rate:-
• There are two possibilities for increasing the clock rate, R.
• First, improving the Integrated Circuit technology makes logic circuit faster, which
reduces the needed to complete a basic step. This allows the clock period, P, to be
reduced and the clock rate, R, to be increased.
• Second, reducing the amount of processing done in one basic step also makes it
possible to reduce the clock period, P.
3. Explain The Basic Operational Concepts
• The program contains of a list of instructions is stored in the memory.
• Individual instructions are brought from the memory into the processor, which
execute the specified operations.
• Data to be used as operands are also stored in the memory.
• Add R1,R2,R3
• In This instruction add is the operation perform on operands R1,R2 and place the
result stored in R3
• The top level view of the computer is as follows:
Instruction register (IR):
• The instruction register holds the instruction that is currently being executed.
• Its output is available to the control circuits, which generate the timing signals that
control the various processing elements involved in executing the instruction.
Program counter (PC):
• The program counter is another specialized register.
• It keeps track of the execution of a program.
• It contains the memory address of the next instruction to be fetched and executed.
• During the execution of an instruction, the contents of the PC are updated to
correspond to the address of the next instruction to be executed.
Memory address register (MAR) & Memory data register(MDR):-
• These two registers facilitate communication with the memory.
• The MAR holds the address of the location to be accessed.
• The MDR contains the data to be written into or read out of the addressed location.
Operating steps for Program execution (or) Instruction Cycle :
• Execution of the program (stored in memory) starts when the PC is set to point to
the first instruction of the program.
• The contents of the PC are transferred to the MAR and a Read control signal is sent
to the memory.
• The addressed word is read out of the memory and loaded into the MDR. Next, the
contents of the MDR are transferred to the IR. At this point, the instruction is ready
to be decoded and executed.
• If the instruction involves an operation to be performed by the ALU, it is necessary
to obtain the required operands.
• If an operand resides in memory (it could also be in a general purpose register in
the processor), it has to be fetched by sending its address to the MAR and initiating
a Read cycle.
• When the operand has been read from the memory into the MDR, it is transferred
from the MDR to ALU.
• After one or more operands are fetched in this way, the ALU can perform the
desired operation.
• If the result of the operation is to be stored in the memory, then the result is ent to
the MDR.
• The address of the location where the result is to be stored is sent to the MAR, and
a write cycle is initiated.
• At some point during the execution of the current instruction, the contents of the
PC are incremented so that the PC pints to the next instruction to be executed.
• Thus, as soon as the execution of the current instruction is completed, a new
instruction fetch may be started.
• In addition to transferring data between the memory and the processor, the
computer accepts data from input devices and sends data to output devices. Thus,
some machine instructions with the ability to handle I/O transfers are provided.
4. Illustrate various addressing modes with examples
• Addressing modes are the techniques used by the CPU to identify where the data
needed for an operation is stored. They provide rules for interpreting or modifying
the address field in an instruction before accessing the operand.
• Addressing modes for 8086 instructions are divided into two categories:
• Addressing modes for data
• Addressing modes for branch
• The 8086 memory addressing modes provide flexible access to memory, allowing
us to easily access variables, arrays, records, pointers, and other complex data
types. The key to good assembly language programming is the proper use of
memory addressing modes.
• An assembly language program instruction consists of two parts
IMPORTANT TERMS
• Starting address of memory segment.
• Effective address or Offset: An offset is determined by adding any combination of
three address elements: displacement, base and index.
• Displacement: It is an 8 bit or 16 bit immediate value given in the instruction.
• Base: Contents of base register, BX (Base Register)or BP (Base Pointer Register).
• Index: Content of index register SI (Source Index Register) or DI (Destination
Index Register).
• According to different ways of specifying an operand by 8086 microprocessor,
different addressing modes are used by 8086.
Importance of Addressing Modes
• They allow flexibility in data handling, such as accessing arrays, records, or
pointers.
• They support program control with techniques like loops, branches, and jumps.
• They enable efficient memory usage and program relocation during runtime.
• They reduce the complexity of programming by offering multiple ways to access
data.
Types of Addressing Modes in Computer Architecture
• Addressing Modes used by 8086 microprocessor are discussed below:
IMPLIED MODE
• In implied addressing the operand is specified in the instruction itself. In this mode
the data is 8 bits or 16 bits long and data is the part of instruction. Zero address
instruction are designed with implied adder.
Addressing mode.
Example: CLC
(used to reset Carry flag to 0)
Immediate addressing mode (symbol #)
• In this mode data is present in address field of instruction .Designed like one
address instruction format.
• Note: Limitation in the immediate mode is that the range of constants are restricted
by size of address
Example: MOV AL, 35H
(move the data 35H into AL register)
Register mode
• In register addressing the operand is placed in one of 8 bit or 16 bit general purpose
registers. The data is in the register that is specified by the instruction. Here one
register reference is required to access the data.
Example: MOV AX,CX
(move the contents of CX register to AX register)
Register Indirect
mode
• In this addressing the operand’s offset is placed in any one of the registers
BX,BP,SI,DI as specified in the instruction. The effective address of the data is in
the base register or an index register that is specified by the instruction. Here two
register reference is required to access the data.
• The 8086 CPUs let you access memory indirectly through a register using the
register indirect addressing modes.
MOV AX, [BX]
(move the contents of memory location addressed by the
register BX to the register AX)
Auto Indexed (increment mode)
• Effective address of the operand is the contents of a register
specified in the instruction. After accessing the operand, the
contents of this register are automatically incremented to point
to the next consecutive memory location.
• (R1)+. Here one register reference, one memory reference and
one ALU operation is required to access the data. Example:
Add R1, (R2)+ // OR
R1 = R1 +M[R2]
R2 = R2 + d
Useful for stepping through arrays in a loop. R2 - start of
array d - size of an element
Auto indexed ( decrement mode)
• Effective address of the operand is the contents of a register
specified in the instruction. Before accessing the operand, the
contents of this register are automatically decremented to point
to the previous consecutive memory location. -(R1)Here one
register reference, one memory reference and one ALU
operation is required to access the data.
• Example:
Add R1,-(R2) //OR
R2 = R2-d
R1 = R1 + M[R2]
• Auto decrement mode is same as auto increment mode. Both
can also be used to implement a stack as push and pop . Auto
increment and Auto decrement modes are useful for
implementing “Last-In-First-Out” data structures.
Direct addressing/ Absolute addressing Mode (symbol [ ])
• The operand’s offset is given in the instruction as an 8 bit or 16
bit displacement element. In this addressing mode the 16 bit
effective address of the data is the part of the instruction. Here
only one memory reference operation is required to access the
data.
Example: ADD AL,[0301] //add the contents of offset address 0301 to AL
Indirect addressing Mode (symbol @ or () )
• In this mode address field of instruction contains the address of
effective address. Here two references are required. 1st reference
to get effective address. 2nd reference to access the data. Based
on the availability of Effective address.
Indirect mode is of two kind:
• Register Indirect
• Memory Indirect
•Register Indirect: In this mode effective address is in the
register, and corresponding register name will be maintained in
the address field of an instruction. Here one register reference,
one memory reference is required to access the data.
• Example : MOV A, @R0
• Memory Indirect: In this mode effective address is in the
memory, and corresponding memory address will be maintained
in the address field of an instruction. Here two memory
reference is required to access the data.
• Example : MOV AX, [[5000H]]
Indexed addressing mode
•The operand’s offset is the sum of the content of an index
register SI or DI and an 8 bit or 16 bit displacement.
• Example: MOV AX, [SI +05]
Based Indexed Addressing
•The operand’s offset is sum of the content of a base register BX
and an index register SI or DI.
• Example: ADD AX, [BX+SI].
Based on Transfer of control, addressing modes are:
PC relative addressing mode
• PC relative addressing mode is used to implement intra segment
transfer of control, In this mode effective address is obtained by
adding displacement to PC.
• EA= PC + Address field value
PC= PC + Relative value.
Base register addressing mode
• Base register addressing mode is used to implement inter
segment transfer of control. In this mode effective address is
obtained by adding base register value to address field value.
• EA= Base register + Address field value.
PC= Base register + Relative value
• Note :
• PC relative and based register both addressing modes are
suitable for program relocation at runtime.
• Based register addressing mode is best suitable to write position
independent codes.
Advantages of Addressing Modes
• Enable advanced programming techniques like pointers and
counters for loops.
• Simplify memory access for arrays and complex data structures.
• Allow program relocation during runtime.
• Reduce the size of the instruction field, making the program
more efficient.
5. Explain the following:
Byte addressability, ii) Big-endian assignment, iii) Little-endian assignment
Byte Addressability
• As mentioned earlier, the word length of 8-bit is known as byte.
However the word length of memory ranges from 16 to 64 bits
are simply called word.
• Each byte location of the word has a unique address. That is
each successive byte location in the memory is addressed with
byte 0, byte 1, byte 2 and so on. Thus if the word length of the
processor is 32 bits, successive words are located at addresses 0,
4, 8,..., with each word consisting of four bytes.
.
Big-Endian and Little-Endian Assignments
• There are two ways that byte addresses can be assigned across
words : big-endian and little-endian.
• When lower byte addresses are used for the more significant
bytes (the leftmost bytes) of the word, addressing is called big
endian.
• When the lower byte addresses are used for the less significant
bytes (the rightmost byte) of the word, addressing is called little-
endian.
Consider the memory system of a computer storing the following data:
• • Interpret the storage as numbers in the manner indicated below
and find their decimal values in each case.
• i) Big-endian storage of 2 hex words of 4-digits each.
• ii) Big-endian storage of 2 BCD words of 4 -digits each.
• iii) Little-endian storage, in ASCII, of a 4-digit signed hex word.
• iv) Little endian storage, in ASCII, of a 4-digit BCD word.
• Solution: We know that, big endian storage uses lower byte
address for more-significant bytes and little-endian storage uses
lower byte address for less-significant bytes. Therefore, in big-
endian storage given two words are: 3834H, 3239H and in little-
endian storage given two words are: 3932H, 3438H.
• i) Big-endian storage of 2 hex words of 4-digit each are: 3834H,
3239H
• 3834H=3×163+8×162+3×161+4×160= 14388 decimal
• 3239H=3×163+2×162+3×161+9×160= 12857 decimal
• ii) Big-endian storage of 2 BCD words of 4-digit each are: 3834,
3239.
• 3834 (BCD) = 3834 decimal
• 3239 (BCD)=3239 decimal
• iii) Little-endian storage in ASCII, of 4-digit signed hex word
is : 9248H.
• Note: We subtract 30H from ASCII code to get the digit value in
hex.
• 9248H = 9×163+2×162+4×161+8×160= 37448 decimal
• iv) Little-endian storage, in ASCII, of a 4-digit BCD word is :
9248
• 9248 BCD=9248 decimal
Word Alignment
• Word length is typically a multiple of 8, common CPU word
length being 8, 16, 32 and 64-bits.
• When word lengths are more than 8-bits we have to take special
care while accessing words. In the case of a 32-bit word length,
natural word boundaries occur at addresses 0, 4, 8.
• In general, words are said to be aligned in memory if they begin
at the natural word boundaries. The addresses of such words are
called aligned addresses.
• For 16-bit word length aligned addresses are 0, 2, 4, and so on.
If the words begin at an arbitrary byte address, the address is
called unaligned address. Most of the times we use aligned
addresses.
Accessing Numbers, Characters and Character Strings
• We have seen that the number is stored in the memory as a
word. Thus it can be accessed by specifying its word address.
On the other hand, the character is stored in the memory as a
byte and it is accessed by specifying its byte address.
• The character string is stored using successive memory locations
in the memory. Since the character strings are of variable
lengths we have to specify two things about the strings: 1.
Starting address of the string 2. Length of the string.
• There are two ways to indicate the length of the string. A special
control character with the meaning 'end of string' can be used as
the last character in the string, or a separate number is used to
specify the length of the string.
• Thus the string can be accessed by simply specifying the address
of the first byte of the character (starting address) or by
specifying the starting address and the number indicating the
length of the string which can be in the separate word location or
in the processor register.
6.Illustrate RISC and CISC Styles Architecture and Compare RISC and CISC?
• RISC is the way to make hardware simpler whereas CISC is the
single instruction that handles multiple work. In this article, we
are going to discuss RISC and CISC in detail as well as the
Difference between RISC and CISC, Let's proceed with RISC
first.
Reduced Instruction Set Architecture (RISC)
• The main idea behind this is to simplify hardware by using an
instruction set composed of a few basic steps for loading,
evaluating, and storing operations just like a load command will
load data, a store command will store the data.
Characteristics of RISC
• Simpler instruction, hence simple instruction decoding.
• Instruction comes undersize of one word.
• Instruction takes a single clock cycle to get executed.
• More general-purpose registers.
• Simple Addressing Modes.
• Fewer Data types.
Advantages of RISC
• Simpler instructions: RISC processors use a smaller set of
simple instructions, which makes them easier to decode and
execute quickly. This results in faster processing times.
• Faster execution: Because RISC processors have a simpler
instruction set, they can execute instructions faster than CISC
processors.
• Lower power consumption: RISC processors consume less
power than CISC processors, making them ideal for portable
devices.
Disadvantages of RISC
• More instructions required: RISC processors require more
instructions to perform complex tasks than CISC processors.
• Increased memory usage: RISC processors require more
memory to store the additional instructions needed to perform
complex tasks.
• Higher cost: Developing and manufacturing RISC processors
can be more expensive than CISC processors.
Complex Instruction Set Architecture (CISC)
• The main idea is that a single instruction will do all loading,
evaluating, and storing operations just like a multiplication
command will do stuff like loading data, evaluating, and storing
it, hence it's complex.
Characteristics of CISC
• Complex instruction, hence complex instruction decoding.
• Instructions are larger than one-word size.
• Instruction may take more than a single clock cycle to get
executed.
• Less number of general-purpose registers as operations get
performed in memory itself.
• Complex Addressing Modes.
• More Data types.
Advantages of CISC
• Reduced code size: CISC processors use complex instructions
that can perform multiple operations, reducing the amount of
code needed to perform a task.
• More memory efficient: Because CISC instructions are more
complex, they require fewer instructions to perform complex
tasks, which can result in more memory-efficient code.
• Widely used: CISC processors have been in use for a longer
time than RISC processors, so they have a larger user base and
more available software.
Disadvantages of CISC
• Slower execution: CISC processors take longer to execute
instructions because they have more complex instructions and
need more time to decode them.
• More complex design: CISC processors have more complex
instruction sets, which makes them more difficult to design and
manufacture.
• Higher power consumption: CISC processors consume more
power than RISC processors because of their more complex
instruction sets.
CPU Performance
Both approaches try to increase the CPU performance
• RISC: Reduce the cycles per instruction at the cost of the
number of instructions per program.
• CISC: The CISC approach attempts to minimize the number of
instructions per program but at the cost of an increase in the
number of cycles per instruction.
Example:
Suppose we have to add two 8-bit numbers:
• CISC approach: There will be a single command or instruction
for this like ADD which will perform the task.
• RISC approach: Here programmer will write the first load
command to load data in registers then it will use a suitable
operator and then it will store the result in the desired location.
• So, add operation is divided into parts i.e. load,
operate, store due to which RISC programs are longer and
require more memory to get stored but require fewer transistors
due to less complex command.
RISC CISC
Focus on software Focus on hardware
Uses both hardwired
Uses only Hardwired control unit
and microprogrammed control unit
Transistors are used for storing complex
Transistors are used for more registers
Instructions
Fixed sized instructions Variable sized instructions
Can perform only Register to Register Can perform REG to REG or REG to
Arithmetic operations MEM or MEM to MEM
Requires more number of registers Requires less number of registers
Code size is large Code size is small
An instruction executed in a single clock Instruction takes more than one clock
cycle cycle
Instructions are larger than the size of one
An instruction fit in one word.
word
RISC is Reduced Instruction Cycle. CISC is Complex Instruction Cycle.
The number of instructions are less as The number of instructions are more as
compared to CISC. compared to RISC.
It consumes more/high power
It consumes the low power.
RISC is highly pipelined. CISC is less pipelined.