Module Part1

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

Introduction to

Computer Architecture and


Organization
(BCSE205L)
What is a Computer?
• A computer is an electronic device that takes the input
from the user, processes the it as per the requirement of
the user and produces the output to the user in a
meaningful manner.
• A user interacts with computer system with the help of
application software and 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.
• Any computer consists of hardware components as well
as software components
What is Computer Architecture?
• 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
• A term that is often interchangeably used – Instruction Set Architecture (ISA)
• Computer architecture deals with high-level design issues.
What is Computer Organization?
• Refers to the operational units and their interconnections that realize the
architectural specifications
• Structure and behaviour / attributes visible to a user
• 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
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.
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.
• Module 1: Stallings/Hamacher
• Module 2: Hamacher/Stallings
• Module 3: Intial portions: Stallings and Data path onwards : Hamacher
• Module 4: Stallings
• Module 5: Stallings/Hamacher/Any other books as per syllabus
• Module 6: Stallings
• Module 7: Patterson
Assessments
• Digital Assignment 1 (10 marks) – 10%  Self -Study of tool

• Digital Assignment 2 (10 marks) – 10%  Problem addressing and solution

• Digital Assignment 3 (10 marks) – 10%  Quiz

• CAT 1 (50 marks) – 15%

• CAT 2 (50 marks) – 15%

• FAT (100 marks) – 40%


Functional Units

Arithmetic
Input and
logic
Memory
Memory

Output Control

I/O Processor

Functional Units of a computer.


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.
Processor(CPU) : Once the information is entered into the computer by the input
device, the processor processes it. The CPU is called the brain of the computer
because it is the control center of the computer. It first fetches instructions from
memory and then interprets them so as to know what is to be done. If required, 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.
Functional Components:
• 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.
• 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 Unit: Memory unit is a component of a computer system. 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. It is also known as a
main/primary/internal memory.
There are two types of memory: -
Read only memory (ROM):- ROM is a part of the memory unit. This is read
only memory. It can not be used to written. ROM is used in situations where the
data must be held permanently.
Random access memory (RAM):- RAM is also part of memory unit. It is used
for temporary storage of program data. Its data is lost when power is turned off.
• 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.
Registers
Register is a very fast computer memory, used to store data/instruction in-execution.
Typical operating steps with registers
• Programs reside in the memory and usually get there through the input unit.
• Execution of the program 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.
• After the time required to access the memory elapses, the addressed word is read
out of the memory and loaded into MDR.
• Next the contents of 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 the memory, 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 the ALU.
• After one or more operands are fetched in this way, the ALU can perform 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 is result is to be stored is sent tot MAR and write
cycle is initiated.
• Then contents of PC are incremented so that the PC points to the next instruction to
be executed.
• As soon as the execution of the current instruction is completed, a new instruction
fetch may be started.
Interconnection of components:
• A group of lines that serves as a connecting path for several devices is called a
bus.
• The simplest way to interconnect functional units is to use a single bus.

You might also like