Module 1 - Introduction and Overview of Computer Architecture

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 50

Module 1 – Introduction and

Overview of Computer Architecture


Dr.Ilavarasi
Outline
• Introduction to computer systems
• Overview of Organization and Architecture
• Functional components of a computer
• Registers and register files
• Interconnection of components
• Organization of the von Neumann machine and Harvard architecture
• Performance of processor
Digital Computer
• Computer: a fast calculating machine
– Accepts digitized input information
– Process it according to a list of internally stored
instructions
– Produces the resulting output information
• The list of instructions are called computer
program
• Internal storage is computer Memory
Defining Computer Architecture
• “Old” view of computer architecture:
– Instruction set architecture (ISA) design
– i.e., decisions regarding
• Registers, memory addressing, addressing modes, instruction
operands, available operations, control flow instruction,
instruction encoding
• “Real” computer architecture:
– Specific requirements of the target machine
– Design to maximize performance within constraints:
• Cost, power and availability
– Includes ISA, micro-architecture, hardware
Defining Computer organization
• How the functional units are arranged in the
computer in order to get good performance
Classes of computer
• Differs on
– Size
– Cost
– Computational Power
– Intended Use
• Three different classes:
– PCs
– Servers
– Embedded computers
Personal Computer
• Emphasize good performance to single users
• Low cost
Servers
• Modern form
• Larger computers
• Accesed via a network
• Carrying large workloads
• Scientific or engineering applications
• Handling many jobs
• Greater computing, storage and I/O
computing
Super computers
• Consists of tens of thousands of processors
• Terra bytes memory (1012)
• Cost tens to hundreds of million dollars
• High end scientific and engineering
applications
– Weather forecasting
– Oil exploration
– Protein structure determination
Embedded computers
• Largest class
• Widest span in the applications
• Include in
– Microprocessors found in your car
– Computers in television set
– Networks of processors that control modern
airplane/cargo
• It is designed to run the one application or one set of
related applications
– Integrated with hardware and delivered as single system
Growth in processor performance
Information to think
• How the programs written in high level
language like C, are translated to the
hardware?
• How hardware execute the resulting program?
• What is the interface between software and
hardware?
• How does the software instruct the hardware
to perform the needed functions?
Information to think
• What determines the performance of a
program?
• How programmer can improve the
performance?
• What techniques used by hardware designers
to improve performance and energy efficiency?
• Why sequential to parallel processing switch
has happened?
Simplified view
Abstraction
• Complex application to the simple instructions
• Involves several layers of software
• To interprete or translate high level operations
into simple operations
System software
•Operating System
– Interfaces between a user’s program and the
hardware and provides a variety of services and
supervisory functions
•Compilers
– A program that translates high-level language
statements into assembly language statements
•Assembler
– A program that translates assembly language
statements in to 1’s and 0’s
High level to Hardware Language
• Binary digit or bit: 1 or 0
• Computers are slaves to our instructions
• For example : 1000110010100000
– Its an instruction to add two numbers
• If programmer writes, Add A,B
• The compiler translate to a symbolic language called as
assembly language
• Assembler translates to binary language machine
understands and is called as machine language, Eg.
1000110010100000
Power of abstraction

High level language Assembly language Binary machine


program in C program (for MIPS) language program (for
MIPS)
Basic Functional units
Input
• Accepts coded information through input
units
– Input devices
– Keyboard
– Joysticks
– Track balls
– Mouse
– Microphone
Memory Unit
• Stores programs and data
• Two types
– Primary
– Secondary
• Primary Memory
– Fast and operates at electronic speeds
– Programs must be stored in the memory while they
are being executed
– Large number of semiconductor storage cells
Terminology
• Random Access Memory
– any location in the memory can be reached in a
short and fixed amount of time after specifying its
address.
• Access time is fixed, independent of the
location of the word being accessed.
• It typically ranges from few ns to 100ns
• Memory access time
– Time required to access one word
Primary Memory
• Memory of a computer implemented as a
memory hierarchy or 3 or 4 levels of
semiconductor RAM units with different speeds
and sizes.
• The small, fast RAM units called caches
• The largest & slowest unit is referred as the main
memory
• Primary storage is essential, it tend to be
expensive with increase of size.
Secondary Memory
• When large amounts of data and many
programs have to be stored
• Particularly for information that is accessed
infrequently.
• Secondary storage devices
– Magnetic disks & tapes
– Optical disks (CD-ROMs)
– Flash memory devices
Arithmetic Logic Unit
• Most computer operations are executed in the ALU
of the processor
• Suppose: two numbers located in the memory are
to be added
– They brought into the processor and the actual
addition is carried out by the ALU
– The sum may then be stored in the memory or retained
in the processor for immediate use
– Control and ALU are many times faster than other
devices connected
Output Unit
• Counterpart of the input unit
• To send processed results to the outside world
• Printers
• Graphics display
• Audio output devices (Speakers)
Control Unit
• The operations of following units must be
coordinated in some way
– Memory
– Arithmetic and logic unit
– Input and output units stores and process information and
performs I/O operations
• Control unit is effectively the nerve center that sends
control signals to other units and sends their states.
• Much of the control circuitry is physically distributed
throughout the machine
Summary of functional units
• The computer accepts information in the form of
programs and data through an input unit and
stores it in the memory
• Information stored in the memory fetched, under
program control, into an ALU, where it is processed
• Processed information leaves the computer
through an output unit
• All activities inside the machine are directed by the
control unit.
Bus Structures
• To achieve a reasonable speed of operation
– A computer must be organized so that all its units can
handle one full word of data at a given time
• When a word of data is transferred between units, all
its bits are transferred in parallel,
– Bits are transferred simultaneously over many wires or
lines, one bit per line.
• A group of lines that serves as a connecting path for
several devices is called a bus.
• Buses: Data, Address and Control
Bus Structure

• Only one data transfer at a time


• Only two units can actively use the bus at any
given time.
• Bus control lines are used to arbitrate multiple
request for use of the bus.
Bus Structure
• The main virtue of single bus structure
– Low cost
– Flexibility for attaching peripheral devices
• Multiple buses achieve more concurrency in operations
– By allowing two or more transfers to be carried out at the
same time
– Leads better performance
– With a penalty of increased cost
• Slower devices on the bus uses buffers registers
– Keyboards, printers, magnetic and optical disks
Organization of Cache and
memory
• To reduce memory traffic, certain amount of
data are placed in cache memory
Basic operational concepts
• To perform a given task, an appropriate
program consisting of a list of instructions is
stored in the memory.
• Individual instructions are brought from the
memory into the processor
• Processor executes the specified operations
• Data to be used as operands are also stored in
the memory
Layout of CPU and Memory
Basic operational concepts
• Add LOCA, R0
• R0 operand in LOCA + R0
• Original contents of the LOCA are preserved
• Where as those of R0 are overwritten
• This instruction require performance of several steps:
• Instruction is fetched from memory into the processor
• The operand at LOCA is fetched
• Add operand of LOCA and operand of R0
• Finally, the resulting sum is stored in register R0
Basic operational concepts
• In most of Modern computers the above instructions can
be realized as follows for performance reasons (RISC or
Load store)
– Load LOCA, R1
– Add R1, R0
• Execution procedure
– First instruction transfers the contents of memory location LOCA
into processor register R1
– Second instruction adds the content of R1 and R0 and places the
sum into R0
– Note: This destroys the former contents of register R1 as well as
those of R0, where the original contents of memory location
LOCA are preserved.
Connection between processor and memory
Processor
• In addition to ALU and Control Circuitry
• Number of registers
– Used for several different purposes
• The Instruction Register (IR):
– Holds the instruction that is currently being
executed
– Its output is available to the control circuits
• Generates the timing signals that control the various
processing elements involved in executing the instruction
Processor
• Program Controller (PC) is specialized register
– Keep track of the execution of a program
– It contains 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
– PC points to the next instruction that is to be
fetched from memory.
Processor
• n – general purpose registers R0 through Rn-1
• Two registers facilitates communication with
the memory
– Memory Address Register (MAR)
• holds the address of the location to be accessed
– Memory Data Register (MDR)
• Contains the data to be written into or read out of the
addressed location
Processor-Typical operational steps
• Program reside in the memory usually get there through the
input unit
• Execution of the program starts when PC is set to point to the
first instruction of the program
• The content of the PC are transferred to MAR
• 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
Processor-Typical operational steps(If it
use ALU)
• It is necessary to obtain the required operands
• If an operand resides in the memory, it has to be fetched
by sending its address to the MAR and initiate read cycle
• Operand is read from the memory to MDR, then it is
transferred from MDR to ALU
• After one or more operands are fetched in this way, the
ALU can perform the desired operation.
• If the results of this operation is to be stored in the
memory, the results is sent to MDR
• The address of the location where the result is to be
stored is sent to the MAR, and write cycle is initiated
Organization of Computers
• Based on the connection between
Data/memory and Processors, 2 classes of
architecture:


Von Neumann

Harvard
Von Neumann
• Von Neumann architecture has only one
memory space to store both program and data
memory- uses Stored Program concept
• Fetches instructions and data from one
memory
• Limits operating bandwidth
• One piece of data or one instruction at a time
Von Neumann
Harvard
• Two memory spaces, one for data and one for
instruction
• Increased throughput
• While we are executing one instruction, we
can fetch another instruction
Classification of architecture
• CISC (Complex Instruction Set Computing)
• RISC (Reduced Instruction Set Computing)
CISC Feature
• Complex instruction set computer
• Large number of instructions (~200-300
instructions)
• Specialized complex instructions
• Many different addressing modes
• Variable length instruction format
• Memory to memory instruction
• For Example : 68000, 80x86
RISC Feature
• Reduced instruction set computer
• Basic instructions constitute RISC
• Relatively few different addressing modes
• Fixed length instruction format
• Only load/store instructions can access memory
• Large number of registers – the number is 32 or more
• Hardwired rather than micro-program control
• For Example : MIPS, Alpha, ARM etc. RISC architectures are
also called LOAD/STORE architectures.
• The only disadvantage of RISC is its code size.
Example of CPU Architectures
• CISC
Intel: 80x86
• Motorola: 680x0
• Sun : Sparc
• Silicon Graphics : MIPS RISC
• HP : PA-RISC
• IBM: Power PC
• Compaq: Alpha

You might also like