You are on page 1of 20

CS209 Computer Architecture

Somanath Tripathy
IIT Patna

I think it’s fair to say that personal computers have become the most
empowering tool we’ve ever created. They’re tools of communication, they’re
tools of creativity, and they can be shaped by their user.
Bill Gates, February 24, 2004

1
An appeal
• Please keep your mobile in
silent/ switch off mode

• Please Keep your mobile(s)


– inside your bag/ pocket

• Punctuality!!
• Participation
What Is This?

Fallingwater or Kaufmann Residence

3
Masterpiece of A Famous Architect

4
Find Differences of this two buildings

5
A Key Question
• How Was Wright Able To Design Fallingwater?
• Can have many guesses
– (Ultra) hard work, perseverance, dedication (over decades)
– Experience of decades
– Creativity
– Out-of-the-box thinking
– Principled design
– A good understanding of past designs
– Good judgment and intuition
– Strong understanding of and commitment to fundamentals(skills,
architecture, art, …)
– …
• Quote from the Architecture: “architecture […] based upon
principle, and not upon precedent”

• You will be exposed to and hopefully develop/enhance many of


these skills in this course)

6
Evaluation Criteria for the Designs
• Functionality (Does it meet the specification?)
• Reliability
• Space requirement
• Cost
• Expandability
• Comfort level of users
• Happiness level of users
• Aesthetics
• …

• How to evaluate goodness of design is always a


critical question.

7
Major Goals of This Course
• Is it to design a new computer?
• Understand the principles
• Understand the precedents

• Based on such understanding:


– Enable you to evaluate tradeoffs of different designs and
ideas
– Enable you to develop principled designs
– Enable you to develop novel, out-of-the-box designs

• The focus is on:


– Principles, precedents, and how to use them for new designs

8
Role of the (Computer) Architect

from Yale Patt’s lecture notes


9
We are Here now!!!
“C” as a model of computation
CS102,112
Programmer’s view of how
a computer system works
◼ How does an assembly
program end up executing
as digital logic? Architect/microarchitect’s view:
How to design a computer that
◼ What happens in- meets system design goals.
between? Choices critically affect both
◼ How is a computer the SW programmer and
designed using logic gates the HW designer
and wires to satisfy
specific goals?
HW designer’s view of how
a computer system works
CS227 Digital logic as a
model of computation
10
Levels of Transformation
“The purpose of computing is insight” (Richard Hamming)

We gain and generate insight by solving problems


How do we ensure problems are solved by logic circuits?

Problem
Algorithm
Program/Language
OperatingSystem

ISA (Architecture)
Microarchitecture
Logic Circuits

11
The Power of Abstraction
• Levels of transformation create abstractions
– Abstraction: A higher level only needs to know about the interface
to the lower level, not how the lower level is implemented
– E.g., high-level language programmer does not really need to know
what the ISA is and how a computer executes instructions

• Abstraction improves productivity


– No need to worry about decisions made in underlying levels
– E.g., programming in Java vs. C vs. assembly vs. binary vs. by
specifying control signals of each transistor every cycle

• Then, why would you want to know what goes


on underneath or above?
12
Crossing the Abstraction Layers
• As long as everything goes well, not knowing what
happens in the underlying level (or above) is not a
problem.
• What if
– The program you wrote is running slow?
– The program you wrote does not run correctly?
– The program you wrote consumes too much energy?

• What if
– The hardware you designed is too hard to program?
– The hardware you designed is too slow because it does not provide the right
primitives to the software?

• What if
– You want to design a much more efficient and higher performance system?
13
Crossing the Abstraction Layers

• Key goal of this course is

– to understand how a processor works


underneath the software layer and how
decisions made in hardware affect the
software/programmer

14
CS209: Computer Architecture
• Prerequisite:
– CS227
– CS102 Programming
• Objective:
– To understand the computers’ functional components,
their characteristics and interconnections among
themselves.
– to describe a broad range of architectural designs
and to contrast them
• After completion
– A student will have clear understanding of the major
architecture styles

• Understand the impact of design choices in programming that
runs efficiently in the context of a specific architecture

15
CS209 COMPUTER ORGANIZATION AND ARCHITECTURE (3 0 0 6)

• Course Instructor: Dr. Somanath Tripathy


Room: 407 @ Block III,
C.S.E. Departemnt, IIT Patna.
Ph: 8036, Email: som@iitp.ac.in

• CPU
• Control Units
• I/O
• Memory

16
Books
• Text :
– D.A. Patterson and J.L. Hennessy: Computer
Organization and Design, Morgan Kulfman
Publisher
– W. Stallings, Computer Organization and
Architecture: Designing for Performance, 8th
Ed, Pearson, 2010

• References:
– Relevant Materials to be placed in the course website
– Structured Computer Organization, By A. Tenenbaum, 5th
Ed, Prentice-Hall of India, 2009.
– Computer Architecture and Parallel Processing, K Hwang and
F.A. Brigg, Mcgrahill pub. 2008

17
Evaluation Policy
• Evaluation
– Continuous Evaluation (Class participation, Assignment,
Quiz-tests) (30%)
– MSE (30%)
– ESE (40%)

• NB: Class performance has major role

18
CS209 Computer Architecture 3–0–0–6 CS
CPU - registers, instruction execution cycle, RTL interpretation of instruction
addressing modes, instruction set. Case study - instruction sets of some common CPU
Assembly language programming for some processor; Data representation: signe
number representation, fixed and floating-point representations, characte
representation. Computer arithmetic - integer addition and subtraction, ripple carr
adder, carry look-ahead adder, etc. multiplication – shift-and-add, Booth multiplier, carr
save multiplier, etc. Division - non-restoring and restoring techniques, floating poin
arithmetic; CPU control unit design: hardwired and micro-programmed desig
approaches, Case study - design of a simple hypothetical CPU; Pipelining: Basic concep
of pipelining, throughput and speedup, pipeline hazards; Memory organization
Memory interleaving, concept of hierarchical memory organization, cache memory
cache size vs block size, mapping functions, replacement algorithms, write policy
Peripheral devices and their characteristics: Input-output subsystems, I/O transfers
program controlled, interrupt driven and DMA, privileged and non-privilege
instructions, software interrupts and exceptions. Programs and processes - role o
interrupts in process state transitions.
References:
1. David A. Patterson, John L. Hennessy, Computer Organization and Design, Fourt
Edition: The Hardware/Software Interface, Morgan Kaufmann; 4 edition, 2011.
2. A. Tenenbaum, Structured Computer Organization, 4th Ed, Prentice-Hall of Indi
1999.
3. W. Stallings, Computer Organization and Architecture: Designing for Performance, 6t

Ed, Prentice Hall, 2005.

4. J. Hennessy and D. Patterson, Computer Architecture A Quantitative Approach, 3r


Ed, Morgan Kaufmann, 2002.

19
• Thanks

20

You might also like