1 - Module 1

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

BCSE205L

Computer Architecture and Organization

LT PC
3003
Course Objectives
1. To acquaint students with the basic concepts of fundamental component,
architecture, register organization and performance metrics of a computer and to
impart the knowledge of data representation in binary and to understand the
implementation of arithmetic algorithms in a typical computer.
2. To teach students how to describe machine capabilities and design an effective
data path design for instruction execution. To introduce students to syntax and
semantics of machine level programming.
3. To make students understand the importance of memory systems, IO interfacing
techniques and external storage and their performance metrics for a typical
computer. And explore various alternate techniques for improving the
performance of a processor.
Course Outcomes
1. Differentiate Von Neumann, Harvard, and CISC and RISC architectures. Analyze the
performance of machine with different capabilities. Recognize different instruction
formats and addressing modes. Validate efficient algorithm for fixed-point and floating-
point arithmetic operations.
2. Explain the importance of hierarchical memory organization. Able to construct larger
memories. Analyze and suggest efficient cache mapping technique and replacement
algorithms for given design requirements. Demonstrate hamming code for error
detection and correction.
3. Understand the need for an interface. Compare and contrast memory mapping and IO
mapping techniques. Describe and Differentiate different modes of data transfer.
Appraise the synchronous and asynchronous bus for performance and arbitration.
4. Assess the performance of IO and external storage systems. Classify parallel machine
models. Analyze the pipeline hazards and solutions.
Syllabus
• 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 - CISC & RISC Architectures.

• Module 2: Data Representation and Computer Arithmetic


Algorithms for fixed point arithmetic operations: Multiplication (Booths,
Modified Booths), Division (restoring and non-restoring) - Algorithms for
floating point arithmetic operations - Representation of nonnumeric data
(character codes).
Syllabus (contd.)
• Module 3: Instruction Sets and Control Unit
Computer Instructions: Instruction sets, Instruction Set Architecture, Instruction
formats, Instruction set categories - Addressing modes - Phases of instruction
cycle – ALU – Datapath and control unit: Hardwired control unit and Micro
programmed control unit – Performance metrics: Execution time calculation,
MIPS, MFLOPS.
• Module 4: Memory System Organization and Architecture
Memory systems hierarchy: Characteristics, Byte Storage methods, Conceptual
view of memory cell - Design of scalable memory using RAM’s- ROM’s chips -
Construction of larger size memories - Memory Interleaving - Memory interface
address map- Cache memory: principles, Cache memory management
techniques, Types of caches, caches misses, Mean memory access time
evaluation of cache.
Syllabus (contd.)
• Module 5: Interfacing and Communication
I/O fundamentals: handshaking, buffering, I/O Modules - I/O techniques:
Programmed I/O, Interrupt-driven I/O, Direct Memory Access, Direct Cache
Access - Interrupt structures: Vectored and Prioritized-interrupt overhead -
Buses: Synchronous and asynchronous - Arbitration.
• Module 6: Subsystems
External storage systems: Solid state drivers - Organization and Structure of
disk drives: Electronic- magnetic and optical technologies - Reliability of
memory systems – Error detecting and error correcting systems - RAID Levels -
I/O Performance
Syllabus (contd.)
• Module 7: High Performance Processors
Classification of models - Flynn’s taxonomy of parallel machine models (SISD,
SIMD, MISD, MIMD) - Pipelining: Two stages, Multi stage pipelining, Basic
performance issues in pipelining, Hazards, Methods to prevent and resolve
hazards and their drawbacks - Approaches to deal branches - Superscalar
architecture: Limitations of scalar pipelines, superscalar versus super pipeline
architecture, superscalar techniques, performance evaluation of superscalar
architecture - performance evaluation of parallel processors: Amdahl’s law,
speed-up and efficiency.

• Module 8: Contemporary Issues


Books
• Textbook:
• David A. Patterson and John L. Hennessy, Computer Organization and Design
– The Hardware / Software Interface 6th Edition, Morgan Kaufmann, 2020

• Reference Books:
• Computer Architecture and Organization-Designing for Performance, William
Stallings, Tenth edition, Pearson Education series, 2016.
• Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Computer organization, Mc
Graw Hill, Fifth edition, Reprint 2011.
Overview of Organization and Architecture
What is a Computer?
• Common Operating Machine Particularly Used for Trade, Education, and
Research
• A Computer is an electronic device
• It takes the input from the user, processes the input as per the requirement
of the user and produces the output to the user in a meaningful manner.
• Any computer consists of hardware components as well as software
components
• A user interacts with computer system with the help of application
software
• This application software takes the input from the user.
• The application software communicates with the operating system for
the required operation of the user, and finally returns the results to the
output device.
What is Computer Architecture?
• Computer architecture can be defined as a set of rules/methods that describe the functionality, management

and implementation of computers.


• Computer architecture deals with high-level design issues (Overall System issues).
• Architecture is all about rules by which a system performs and operates.
• Rules refers to the attributes of a system that are visible to a programmer
• Attributes that have a direct impact on the logical execution of a program
• What are these attributes?
• Instructions – format, opcode, addressing modes
• Registers
• Data memory, techniques for addressing memory
• Effect of executed instructions on the registers and memory
• Algorithm for controlling instruction execution
• Example
• Instruction Set Architecture (ISA)
• Micro-architecture

(Contd.)
• Instruction set Architecture or ISA − Whenever an instruction is given to
processor, its role is to read and act accordingly. It allocates memory to
instructions and also acts upon memory address mode.
• Micro Architecture − It describes how a particular processor will handle and
implement instructions from ISA.
• System design − It includes the other entire hardware component within the
system such as virtualization, multiprocessing.
What is Computer Organization?
•Computer organization deals with the implementation of hardware devices
- Implementation of hardware unit of a CPU i.e. how a specific hardware unit works in a
computer
• Computer organization deals with the Interconnections between various hardware devices
• What are the organizational attributes?
• Hardware/physical components
• Circuit design
• Control signals
• Interfaces between the computer and peripherals
• Memory technology
• Deals with low-level design issues (Component Level)
(Contd.)
• Example
• Architectural design issue – whether a computer will have a multiply
instruction
• Organizational issue – whether that instruction will be implemented by a
special multiply unit or by a mechanism that makes repeated use of the add
unit of the system
• The organizational decision may be based on
• the anticipated frequency of use of the multiply instruction
• the relative speed of the two approaches
• the cost and physical size of a special multiply unit
• Many computer manufacturers offer a family of computer models, all with the
same architecture but with differences in organization. The different models in the
family have different price and performance characteristics.
Functional components of a computer/
Functional Units
TYPES

• Input Unit
• Output Unit
• ALU Unit
• Memory Unit
• Control Unit
Basic Functional Units
Introduction
• Computer has 5 functionally independent main parts,
• Input Unit
• Output unit
• Memory Unit
• ALU Unit
• Control Unit
• Input unit accepts coded information from human operators
• Accepts input from electro mechanical devices via digital communication lines
• The received information is stored for later reference or immediately used by ALU to perform desired
operation
• Processing steps of instruction that is specified in program is stored in memory
• Output unit will display the result to the outside world.
• All the units are co-ordinated by control unit
Instruction and its uses
• Communication between computers and input/output devices are done with the
help of instructions
• Instructions will specify what arithmetic and logic operations can be performed
• A list of instructions (Code) called program is stored in memory and fetched one
by one
• Processor is completely controlled by stored program
• Hence Software controls Hardware
Functional Components
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.
• Once the information is entered into the computer by the input device, the processor
processes it.
Processor (CPU)
• The CPU is called the brain of the computer because it is the control center of
the computer.
• It first fetches instructions from memory or input device and then interprets
them so as to know what is to be done.
• Thereafter CPU executes or performs the required computation and then either
stores the output or displays on the output device.
• The CPU has two main components which are responsible for different
functions – Arithmetic Logic Unit (ALU), Control Unit (CU).
• Arithmetic and Logic Unit (ALU) : 
• The ALU, as its name suggests performs 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.
ALU unit
• It is many times faster than other devices connected to computer
• Most of the computer operations are done here
• This enables single processor to control all external devices like keybord, sensors, mechanical
controller disk (Magnetic and optical), display etc
Example
• Addition of 2 numbers which is stored in memory is brought to the processor
• Actual addition is carried out in ALU
• The resulting SUM is retained in processor for immediate use or stored in memory
Other ALU operations : MUL, division, Compare etc., The operands are stored in brought from
memory and stored in regiters.
Registers are present in processors. It is a flipflop circuit. It can store 1 bit of information. Access
to register is faster than cache. It holds temporary data. It can be 8/16/32/64/128 bits in size.
Memory Unit
• It is used to store data, instructions and information.
• It is actually a work area of computer, where the CPU stores the data and instruction.
1. Primary / Main memory/Internal : -
• Primary memory is the computer memory that is directly accessible by CPU.
• It is comprised of DRAM and provides the actual working space to the processor.
• It holds the data and instructions that the processor is currently working on.
2. Secondary Memory / External : -
• The contents of the secondary memory first get transferred to the primary
memory and then are accessed by the processor, this is because the
processor does not directly interact with the secondary memory.
* Optical memory was developed by Philips and Sony and
released in 1982 in the fourth generation of computers. These
memories use light beams for its operations and require optical
drives for its operations. These memories are used for storing
audio/video, backup as well as caring for data.
Types of memory: -
Read only memory (ROM):- ROM is used in situations where the data must
be held permanently.
Random access memory (RAM):- 
It is used for temporary storage of program data.
It is considered as Read and write memory.
Read-write memory (RWM) is computer memory that can be read
from and written to.
Its data is lost when power is turned off.
What is RAM?
• The information stored in this type of memory is lost when the power
supply to the PC or laptop is switched off. 

SRAM DRAM
ROM (Read Only Memory)
• Read-only memory is a type of non-volatile memory used in computers and
other electronic devices.
• Data stored in ROM cannot be electronically modified after the manufacture
of the memory device.
• Data stored in ROM is retained even after the computer is turned off ie,
non-volatile. 
Types of ROM:
• Programmable ROM, where the data is written after the memory chip
has been created. It is non-volatile.
• Erasable Programmable ROM, where the data on this non-volatile
memory chip can be erased by exposing it to high-intensity UV light.
• Electrically Erasable Programmable ROM, where the data on this
non-volatile memory chip can be electrically erased.
• Mask ROM, in which the data is written during the manufacturing of the
memory chip.
Difference
Cache Memory
• Cache Memory is a very high speed semiconductor memory
• Store only programs and data’s that are frequently accessed by CPU
• Cache memory lies between the CPU and Main memory
• It is Costlier
• It saves time and increases efficiency
• There are different types of cache memories available.
• Cache Miss and Cache Hit rate are important
Access Time

Storage
Control Unit

• It is the nerve center of the processor


• This sends the control signals to other units
• It will also sense the state of other units
• 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 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.
• Timing signals are generated by control unit. Timing signals will govern
transfer between units
• Timing signals will determine when a given action should take place.
.
• Output Unit : 
• It is the counter part of input unit.
• It converts the binary data coming from CPU to human understandable form.
• It will send the processed results to the outside world.
• The common output devices are monitor, printer, plotter etc.
• Example: Printer can print 10,000 lines per minute.
• Graphic displays can act as both input and output
Key points – Functional Units

ALU Unit
Introduction
Registers
Coded Information Memory Unit
Faster Units
Memory Primary & Secondary
Input Unit Operands / c=a+b
Instructions Memory
Keyboard Operators/Values
Coded procedures CELL
Instruction types : Mouse Words
Joystick Output Unit
program & Data Distinct Address
Microphones Printer
Data Transfer Word Length : 16 -64 bits
Display Display
Object program RAM
Audio Input Computer Graphic
Compiler Memory Access Time
Display
BCD Caches
EBCDIC Secondary Storage
Control Unit
ASCII
All units coordination
Nerve center
Timing signals
Data Transfer

You might also like