Module 1
Module 1
Organization
Module:1 Introduction To Computer Architecture and Organization
Overview of Organization and Architecture–Functional components of a
computer:Registers and register files - Interconnection of components -
Overview of IAS computer function - Organization of the von Neumann
machine - Harvard architecture -Overview of Organization and Architecture
CISC & RISC Architectures.
Overview of Organization and Architecture
It acts as the interface between hardware and software. It deals with the components of a connection in a system.
Computer Architecture helps us to understand the Computer Organization tells us how exactly all the units in
functionalities of a system. the system are arranged and interconnected.
A programmer can view architecture in terms of Whereas Organization expresses the realization of
instructions, addressing modes and registers. architecture.
Computer Architecture deals with high-level design issues. Computer Organization deals with low-level design issues.
Architecture involves Logic (Instruction sets, Addressing Organization involves Physical Components (Circuit
modes, Data types, Cache optimization) design, Adders, Signals, Peripherals)
Evolution of Computing Devices
ENIAC (Electronic Numerical Integrator and Computer) was the first computing
system designed in the early 1940s. It consisted of 18,000 buzzing electronic switches
called vacuum tubes, 42 panels each 9'x 2'x1'. It was organized in U-Shaped around the
perimeter of a room with forced air cooling.
•Atanasoff-Berry Computer (ABC) design was known as the first digital electronic
computer (though not programmable). It was designed and built by John Vincent
Atanasoff and his assistant, Clifford E. Berry in 1937.
•In 1941, Z3 was invented by German inventor Konrad Zuse. It was the first working
programmable, fully automatic computing machine.
•Transistors were invented in 1947 at Bell Laboratories which were a fraction the size
of the vacuum tubes and consumed less power, but still, the complex circuits were not
•In 1983, Lisa was launched as the first personal computer with a graphical user
interface (GUI) that was sold commercially; it ran on the Motorola 68000, dual floppy
disk drives, a 5 MB hard drive and had 1MB of RAM.
•In 1968, Robert Noyce co-founded Intel Electronics company which is still the
global market leader in IC manufacturing, research, and development.
•In 1990, Apple released the Macintosh Portable; it was heavy weighing 7.3 kg (16 lb)
and extremely expensive. It was not met with great success and was discontinued only
two years later.
•In 1990, Intel introduced the Touchstone Delta supercomputer, which had 512
microprocessors. This technological advancement was very significant as it was used
as a model for some of the fastest multi-processors systems in the world.
Functional Components of a
Computer
A computer is a combination of hardware and software resources that
integrate and provide various functionalities to the user.
Hardware consists of the physical components of a computer, such as the
processor, memory devices, monitor, keyboard, etc.
Software is the set of programs or instructions required by the hardware
resources to function properly.
There are a few basic components that aids the working-cycle of a computer
i.e. the Input- Process- Output Cycle and these are called as the functional
components of a computer
•Input Unit :The input unit consists of input devices that are attached to the computer.
These devices take input and convert it into binary language that the computer
understands. Some of the common input devices are keyboard, mouse, joystick,
scanner etc.
•Central Processing Unit (CPU) : The CPU
is called the brain of the computer because it
is the control center of the computer. The data
is fetched from memory or input device.
Thereafter CPU executes or performs the
required computation and then either stores
the output or displays on the output device.
The CPU has three main components which
are responsible for different functions –
Arithmetic Logic Unit (ALU), Control Unit (CU)
and Memory registers
•Arithmetic and Logic Unit (ALU) : The ALU performs both mathematical calculations
and takes logical decisions. Arithmetic calculations include addition, subtraction,
multiplication and division. Logical decisions involve comparison of two data items to
see which one is larger or smaller or equal.
•Control Unit : The Control unit coordinates and controls the data flow in and out of
CPU and also controls all the operations of ALU, memory registers and also
input/output units. It is also responsible for carrying out all the instructions stored in the
program. It decodes the fetched instruction, interprets it and sends control signals to
input/output devices until the required operation is done properly by ALU and memory.
•Memory : Memory attached to the CPU is used for storage of data and instructions
and is called internal memory The internal memory is divided into many storage
locations, each of which can store data or instructions. Each memory location is of the
same size and has an address. With the help of the address, the computer can read
any memory location easily without having to search the entire memory. when a
program is executed, it’s data is copied to the internal memory and is stored in the
memory till the end of the execution. The internal memory is also called the Primary
memory or Main memory. This memory is also called as RAM, i.e. Random Access
Memory. The time of access of data is independent of its location in memory, therefore
this memory is also called Random Access memory (RAM).
•Output Unit : The output unit consists of output devices that are attached with the
computer. It converts the binary data coming from CPU to human understandable
form. The common output devices are monitor, printer, plotter etc.
Information in a computer -- Instructions
• Instructions specify commands to:
• Transfer information within a computer (e.g., from memory to ALU)
• Transfer of information between the computer and I/O devices (e.g., from
keyboard to computer or computer to printer)
• Perform arithmetic and logic operations (e.g., Add two numbers, Perform
a logical AND).
• A sequence of instructions to perform a task is called a program, which is
stored in the memory.
• Processor fetches instructions that make up a program from the memory
and performs the operations stated in those instructions. 15
Information in a computer -- Data
• Computers use data that is encoded as a string of binary digits called bits.
Connection between the Functional Units
• For a computer to achieve its operation, the functional units need to communicate
with each other.
• In order to communicate, they need to be connected.
Bus
• A group of parallel wires may connect functional units that is called a bus
• Each wire in a bus can transfer one bit of information.
• The number of parallel wires in a bus is equal to the word length of a computer
17
Drawbacks of the Single Bus Structure
• The devices connected to a bus vary widely in their speed of operation
• Some devices are relatively slow, such as printer and keyboard
• Some devices are considerably fast, such as optical disks
• Memory and processor units operate are the fastest parts of a computer
• Registers
• Cache memory
• Main memory
• Secondary memory
instruction
the operation.
General Purpose
Data
Address
Condition Codes
User Visible - Registers
General purpose registers:
• Opcode is a part of the instruction that tells the processor what should be done
• Operand is a part of the instruction that contains the data to be acted on, or the
memory location of the data in a register.
Restricted Registered
• Used for specific operations like floating point and stack operations (dedicated
registers)
Data registers
Used only to hold data and cannot be employed in the calculation of an operand
address.
Accumulator (AC)
The accumulator is a register that acts as a temporary storage location that holds
(increment).
Flag registers
This is the status register that contains the current state of the processor.
CCR contains five flag bits, they are set by the ALU to hold information about the
result of an arithmetic or logical operation instruction that has just been executed
Condition Code Register(Flag)
• Flags in CCR
It functions as small RAM and is implemented using fast RAM technology.
RF needs several access ports for simultaneously reading from or writing to
several different registers.
A standard RAM (SRAM) has just one access port with an associated address
bus and data bus.
SRAMs will usually read and write through the same ports.
Register
Files with three access ports symbol
A Register File with three access ports – logic
diagram
Data in C
Ex: R3 ← R1 + R2
16
Read Address A = 01
Write 11 2 4-way 16-bit
Read Address B = 10
address C S demultiplexer Write Address C = 11
16 16 16 16
• Bus
39
Multiple Bus structure achieve more concurrency in operations by allowing two or
more transfers to be carried out at the same time.
It provides better performance at an increased cost and complexity.
40
Speed Issues
41
IAS
The most famous first- generation computer, known as the IAS computer.
In 1946, von Neumann and his colleagues began the design of a new stored-
program computer, referred to as the IAS computer, at the Princeton Institute for
Advanced Studies.
The IAS computer, although not completed until 1952, is the prototype of all
subsequent general- purpose computers
Von Neumann architecture
It is an architecture where the data and programs are subjected to shared
memory i.e., are stored in the same memory block.
• The memory of the IAS consists of 4,096 storage locations, called words, of 40 binary digits (bits) each.
• Both data and instructions are stored there. Numbers are represented in binary form, and each instruction is a
binary code.
• This instruction may be taken from the IBR, or it can be obtained from memory by loading a word into the MBR and
• a 12-bit address
• The IAS computer had a total of 21 instructions,
• Data transfer: Move data between memory and ALU registers or between two ALU registers.
• Unconditional branch: Normally, the control unit executes instructions in sequence from memory. This
• Conditional branch: The branch can be made dependent on a condition, thus allowing decision
points.
• Address modify: Permits addresses to be computed in the ALU and then inserted into instructions
– Load LOCB, R2
• Execution procedure
– First instruction transfers the contents of memory location LOC into processor
register R1 and R2
– Then instruction adds the content of R1 and R2 and places the sum into R3
Flow Of Operations For The Expression (A*B)+C.
Step-by-Step Execution
Step 4: Load C into Register R3
Step 1: Load A into Register R1
•Instruction: LOAD R3, MEM[C]
•Instruction: LOAD R1, MEM[A]
1.The address of C is placed in MAR.
1.The address of A is placed in the Memory Address Register
2.The data at MEM[C] is fetched into MBR.
(MAR).
3.The value in MBR is transferred to Register R3.
2.The data at MEM[A] is fetched into the Memory Buffer
Step 5: Add C to the Product (A * B)
Register (MBR).
•Instruction: ADD R1, R3
3.The value in MBR is transferred to Register R1.
1.The ALU performs addition: R1 = R1 + R3.
Step 2: Load B into Register R2
2.The result of (A * B) + C is stored in R1.
•Instruction: LOAD R2, MEM[B]
Step 6: Store the Result Back to Memory
1.The address of B is placed in MAR.
•Instruction: STORE MEM[RESULT], R1
2.The data at MEM[B] is fetched into MBR.
1.The value in R1 (the result of (A * B) + C) is placed in
3.The value in MBR is transferred to Register R2.
MBR.
Step 3: Multiply R1 and R2 (A * B)
2.The address of RESULT is placed in MAR.
•Instruction: MUL R1, R2
3.The data in MBR is stored in MEM[RESULT].
1.The ALU performs multiplication: R1 = R1 * R2.
2.The result of A * B is stored in R1.
Flow of Instructions
Here’s a summary of the sequence of instructions executed:
Step Instruction Description
Whatever we do to enhance performance, we cannot get away from the fact that instructions
can only be done one at a time and can only be carried out sequentially.
Both of these factors hold back the competence of the CPU. This is commonly referred to as
We can provide a Von Neumann processor with more cache, more RAM, or faster components
but if original gains are to be made in CPU performance then an influential inspection needs to
This architecture is very important and is used in our PCs and even in Super Computers.
Harvard architecture
• In von Neumann architecture, instructions, and data both are stored in the same
memory. So same buses are used to fetch instructions and data. This means the
CPU cannot do both things together (read the instruction and read/write data).
So, to overcome this problem, Harvard architecture was introduced.
• The Harvard architecture has two separate memory spaces dedicated to program
code and to data, respectively, two corresponding address buses, and two data
buses for accessing two memory spaces.
• Both memories can use different cell sizes making effective use of resources.
• There is less chance of corruption since data and instructions are transferred via
different buses
Comparison of von Neumann and Harvard Architecture
RISC Architecture
RISC stands for Reduced Instruction Set Computer Processor.
It is built to minimize the instruction execution time by optimizing and limiting
the number of instructions.
It means each instruction cycle requires only one clock cycle, and each cycle
contains three parameters: fetch, decode and execute.
The RISC processor is also used to perform various complex instructions by
combining them into simpler ones.
RISC chips require several transistors, making it cheaper to design and reduce
the execution time for instruction.
Features of RISC Processor
Some important features of RISC processors are
1.One cycle execution time: For executing each instruction in a computer, the RISC
processors require one CPI (Clock per cycle). And each CPI includes the fetch, decode
and execute method applied in computer instruction.
2.Pipelining technique: The pipelining technique is used in the RISC processors to
execute multiple parts or stages of instructions to perform more efficiently.
3.A large number of registers: RISC processors are optimized with multiple registers
that can be used to store instruction and quickly respond to the computer and minimize
interaction with computer memory.
4.It supports a simple addressing mode and
fixed length of instruction for executing the
pipeline.
5.It uses LOAD and STORE instruction to
access the memory location.
6.Simple and limited instruction reduces the
execution time of a process in a RISC.
Advantages of RISC Processor
The RISC processor's performance is better due to the simple and limited
number of the instruction set.
It requires several transistors that make it cheaper to design.
RISC allows the instruction to use free space on a microprocessor because of
its simplicity.
RISC processor is simpler than a CISC processor because of its simple and
quick design, and it can complete its work in one clock cycle.
Disadvantages of RISC Processor
The RISC processor's performance may vary according to the code executed
because subsequent instructions may depend on the previous instruction for
their execution in a cycle.
Programmers and compilers often use complex instructions.
RISC processors require very fast memory to save various instructions that
require a large collection of cache memory to respond to the instruction in a
short time.
CISC ARCHITECTURE
The CISC Stands for Complex Instruction Set Computer
It has a large collection of complex instructions that range from simple to very
complex and specialized in the assembly language level, which takes a long
time to execute the instructions.
CISC approaches reducing the number of instruction on each program and
ignoring the number of cycles per instruction.
It emphasizes to build complex instructions directly in the hardware because
the hardware is always faster than software.
Characteristics of CISC Processor
Following are the main characteristics of the RISC processor:
1.The length of the code is shorts, so it requires very little RAM.
2.CISC or complex instructions may take longer than a single clock cycle
to execute the code.
3.Less instruction is needed to write an application.
4.It provides easier programming in assembly language.
5.Support for complex data structure and easy compilation of high-level
languages.
6.It is composed of fewer registers and more addressing nodes, typically
5 to 20.
7.Instructions can be larger than a single word.
CISC Processors Architecture
The CISC architecture helps reduce program
code by embedding multiple operations on
each program instruction, which makes the
CISC processor more complex. The CISC
architecture-based computer is designed to
decrease memory costs because large
programs or instruction required large
memory space to store the data, thus
increasing the memory requirement, and a
large collection of memory increases the
memory cost, which makes them more
Advantages of CISC Processors
The compiler requires little effort to translate high-level programs or statement
languages into assembly or machine language in CISC processors.
The code length is quite short, which minimizes the memory requirement.
To store the instruction on each CISC, it requires very less RAM.
Execution of a single instruction requires several low-level tasks.
CISC creates a process to manage power usage that adjusts clock speed and
voltage.
It uses fewer instructions set to perform the same instruction as the RISC.
Disadvantages of CISC Processors
CISC chips are slower than RSIC chips to execute per instruction cycle on
each program.
The performance of the machine decreases due to the slowness of the clock
speed.
Executing the pipeline in the CISC processor makes it complicated to use.
The CISC chips require more transistors as compared to RISC design.
In CISC it uses only 20% of existing instructions in a programming event.
Difference between the RISC and CISC Processors
RISC CISC
It requires multiple register sets to store the It requires a single register set to store the
instruction. instruction.
RISC has simple decoding of instruction. CISC has complex decoding of instruction.
Uses of the pipeline are simple in RISC. Uses of the pipeline are difficult in CISC.
It uses a limited number of instruction that It uses a large number of instruction that
requires less time to execute the instructions. requires more time to execute the instructions.
It uses LOAD and STORE that are independent
It uses LOAD and STORE instruction in the
instructions in the register-to-register a program's
memory-to-memory interaction of a program.
interaction.
RISC architecture can be used with high-end CISC architecture can be used with low-end
applications like telecommunication, image applications like home automation, security
processing, video processing, etc. system, etc.
The program written for RISC architecture needs Program written for CISC architecture tends to
to take more space in memory. take less space in memory.
Example of RISC: ARM, PA-RISC, Power Examples of CISC: VAX, Motorola 68000 family,
Architecture, Alpha, AVR, ARC and the SPARC. System/360, AMD and the Intel x86 CPUs.