Basic Structure of Computers
Syllabus
– Computer Types
– Functional units
– Basic Operational concepts
– Bus Structure
– Software
– Performance
– Multiprocessor & Multicomputer
– Computer Generations
– Von-Neumann Architecture
Computer Types
Data flow & Control signals flow in a computer
Memory classification
Connections Between Processor & Memory
BASIC OPERATIONAL CONCEPTS (1/3)
• The processor contains ALU, control-circuitry and many registers.
• The instruction-register(IR) holds the instruction that is currently being executed.
• The instruction is then passed to the control-unit, which generates the timing-signals
that determine when a given action is to take place.
• The PC(Program Counter) contains the memory-address of the next-instruction to be
fetched & executed.
• During the execution of an instruction, the contents of PC are updated to point to
next instruction.
• The processor also contains “n” general-purpose registers R0 through Rn-1.
• The MAR (Memory Address Register) holds the address of the memory-location to
be accessed.
• The MDR (Memory Data Register) contains the data to be written into or read out of
the addressed location.
BASIC OPERATIONAL CONCEPTS (2/3)
Following are the steps that take place to execute an instruction -
• The address of first instruction(to be executed) gets loaded into PC.
• The contents of PC (i.e. address) are transferred to the MAR & control-unit
issues Read signal to memory.
• After certain amount of elapsed time, the first instruction is read out of
memory and placed into MDR.
• Next, the contents of MDR are transferred to IR.
• At this point, the instruction can be decoded & executed.
• To fetch an operand, it's address is placed into MAR & control-unit issues
Read signal.
• As a result, the operand is transferred from memory into MDR, and then it
is transferred from MDR to ALU.
BASIC OPERATIONAL CONCEPTS (3/3)
Likewise required number of operands is fetched into processor.
• Finally, ALU performs the desired operation.
• If the result of this operation is to be stored in the memory, then the result is
sent 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 execution, contents of PC are incremented to point to
next instruction in the program.
• The instruction is a combination of opcode and operand.
Instruction Cycle
Instruction Format
Bus Structure
Single Bus Structure
Double Bus Structure
Differences between Single Bus and Double Bus Structure
S. No. Single Bus Structure Double Bus Structure
The same bus is shared by
The two independent buses link
1. three units (Memory,
various units together.
Processor, and I/O units).
One common bus is used for Two buses are used, one for
2. communication between communication from peripherals
peripherals and processors. and the other for the processor.
Here, the I/O bus is used to
The same memory address connect I/O units and memory
3.
space is utilized by I/O units. bus is used to connect memory
and processor.
Instructions and data both are Instructions and data both are
4.
transferred in same bus. transferred in different buses.
Differences between Single Bus and Double Bus Structure
5. Its performance is low. Its performance is high.
The cost of a single bus The cost of a double bus
6.
structure is low. structure is high.
Number of cycles for Number of cycles for execution
7.
execution is more. is less.
Execution of the process is
8. Execution of the process is fast.
slow.
Number of registers associated Number of registers associated
9.
are less. are more.
At a time single operand can At a time two operands can be
10.
be read from the bus. read.
Advantages- Advantages-
11. •Less expensive •Better performance
•Simplicity •Improves Efficiency
Software
• Software is a collection of instructions, data, or computer programs
that are used to run machines and carry out particular activities.
• The software is basically a set of instructions or commands that tell
a computer what to do.
• In other words, the software is a computer program that provides a
set of instructions to execute a user’s commands and tell the
computer what to do.
• For example like MS-Word, MS-Excel, PowerPoint, etc.
• Types of Software:
• It is a collection of data that is given to the computer to complete a
particular task.
• The chart below describes the types of software:
Difference Between System Software and
Application Software
System Software Application Software
• It is designed to manage the resources • It is designed to fulfil the
of the computer system, like memory requirements of the user for
and process management, etc. performing specific tasks.
• Written in a low-level language. • Written in a high-level language.
• Less interactive for the users. • More interactive for the users.
• Application software is not so
• System software plays vital role for
important for the functioning of the
the effective functioning of a system.
system, as it is task specific.
• It is independent of the application
• It needs system software to run.
software to run.
Performance of Computer
• In computer organization, performance refers to the speed and efficiency at which a
computer system can execute tasks and process data.
• A high-performing computer system is one that can perform tasks quickly and
efficiently while minimizing the amount of time and resources required to complete
these tasks.
• There are several factors that can impact the performance of a computer system,
including:
• Processor speed: The speed of the processor, measured in GHz (gigahertz), determines
how quickly the computer can execute instructions and process data.
• Memory: The amount and speed of the memory, including RAM (random access
memory) and cache memory, can impact how quickly data can be accessed and
processed by the computer.
• Storage: The speed and capacity of the storage devices, including hard drives and solid-
state drives (SSDs), can impact the speed at which data can be stored and retrieved.
• I/O devices: The speed and efficiency of input/output devices, such as keyboards,
mice, and displays, can impact the overall performance of the system.
• Software optimization: The efficiency of the software running on the system,
including operating systems and applications, can impact how quickly tasks can be
completed.
• Improving the performance of a computer system typically involves optimizing
one or more of these factors to reduce the time and resources required to complete
tasks.
• This can involve upgrading hardware components, optimizing software, and using
specialized performance-tuning tools to identify and address bottlenecks in the
system.
• Computer performance is the amount of work accomplished by a computer system.
• It basically depends on the response time, throughput, and execution time of a
computer system.
• Response time is the time from the start to completion of a task. This also includes:
– Operating system overhead.
– Waiting for I/O and other processes
– Accessing disk and memory
– Execution time.
• Throughput is the total amount of work done in a given time.
• CPU execution time is the total time a CPU spends computing on a given task.
• It also excludes time for I/O or running other programs.
• This is also referred to as simply CPU time.
• Performance is determined by execution time as “performance is inversely proportional
to execution time”.
• Performance = (1 / Execution time) &
• (Performance of A / Performance of B) = (Execution Time of B / Execution Time of A)
• Execution time = CPU clock cycles x clock cycle time
• Execution time = CPU clock cycles / clock rate
• CPU clock cycles = (No. of instructions / Program ) x (Clock cycles / Instruction)
= Instruction Count x CPI
• Execution time = Instruction Count x CPI x clock cycle time
= Instruction Count x CPI / clock rate
• To improve performance you can either:
– Decrease the CPI (clock cycles per instruction) by using new Hardware.
– Decrease the clock time or Increase clock rate by reducing propagation
delays or by use pipelining.
– Decrease the number of required cycles or improve ISA or Compiler.
• Uses and Benefits of Performance of Computer
• Some of the key uses and benefits of a high-performing computer system
include:
– Increased productivity
– Improved user experience
– Faster data processing
– Enhanced gaming and multimedia performance
– Better efficiency and cost savings
Multiprocessor & Multicomputer
• There are multiple different types of computers used for different purposes.
• Multiprocessors and multicomputer are types of architectures used in the
computer.
Simple Multiprocessor
• Multiprocessor is the one where multiple processors are used that share the
same memory for operating and are connected to function together.
Simple Multicomputer
• While in multicomputer, multiple computers that have different processor are
connected and each has their own different memory. They share the data to work
together
Multiprocessor Vs. Multicomputer
The basic structure of Von Neumann Architecture
• Von-Neumann computer architecture design was proposed in 1945.
It was later known as Von-Neumann architecture.
• Historically there have been 2 types of Computers:
• Fixed Program Computers – Their function is very specific and
they couldn’t be reprogrammed, e.g. Calculators.
• Stored Program Computers – These can be programmed to carry
out many different tasks, applications are stored on them, hence the
name.
• Modern computers are based on a stored-program concept
introduced by John Von Neumann.
• In this stored-program concept, programs and data are stored in the
same memory.
• This novel idea meant that a computer built with this architecture
would be much easier to reprogram.
• This architecture is very important and is used in our PCs and even
in Super Computers.
• It is also known as ISA (Instruction set architecture) computer and is
having three basic units:
• The Central Processing Unit (CPU)
• The Main Memory Unit
• The Input/output Device
1. Central Processing Unit
• The central processing unit is defined as the it is an electric circuit used for the
executing the instruction of computer program.
It has following major components:
[Link] Unit(CU)
[Link] and Logic Unit(ALU)
[Link] of Registers
2. Control Unit
A control unit (CU) handles all processor control signals. It directs all input and
output flow, fetches code for instructions, and controls how data moves around the
system.
3. Arithmetic and Logic Unit (ALU)
• The arithmetic logic unit is that part of the CPU that handles all the calculations the
CPU may need, e.g. Addition, Subtraction, Comparisons.
• It performs Logical Operations, Bit Shifting Operations, and Arithmetic operations.
• Registers –
• Registers refer to high-speed storage areas in the CPU.
• The data processed by the CPU are fetched from the registers.
• There are different types of registers used in architecture :-
• Accumulator:
• Stores the results of calculations made by ALU. It holds the intermediate of
arithmetic and logical [Link] act as a temporary storage location or device.
• Program Counter (PC):
• Keeps track of the memory location of the next instructions to be dealt with. The
PC then passes this next address to the Memory Address Register (MAR).
• Memory Address Register (MAR):
• It stores the memory locations of instructions that need to be fetched from memory
or stored in memory.
• Memory Data Register (MDR):
• It stores instructions fetched from memory or any data that is to be transferred to,
and stored in, memory.
• Current Instruction Register (CIR):
• It stores the most recently fetched instructions while it is waiting to be coded and
executed.
• Buses
• Data is transmitted from one part of a computer to another,
connecting all major internal components to the CPU and memory,
by the means of Buses.
• Types:
• Data Bus: It carries data among the memory unit, the I/O devices, and the
processor.
• Address Bus: It carries the address of data (not the actual data) between
memory and processor.
• Control Bus: It carries control commands from the CPU (and status signals
from other devices) in order to control and coordinate all the activities within
the computer.
• Input/output Devices
• Program or data is read into main memory from the input device or secondary
storage under the control of CPU input instruction.
• Output devices are used to output information from a computer.
• If some results are evaluated by the computer and it is stored in the computer,
then with the help of output devices, we can present them to the user.