Computer Architecture and Operating Systems (Caos) Course Code: CS31702 4-0-0
Computer Architecture and Operating Systems (Caos) Course Code: CS31702 4-0-0
K. Sreenivasa Rao
Professor
Dept. of CSE
IIT Kharagpur
Syllabus
• Architecture:
– Basic organization,
– fetch-decode-execute cycle,
– data path and control path,
– instruction set architecture,
– I/O subsystems, interrupts, memory hierarchy, overview of pipelined
architecture.
• Operating systems:
– An overview,
– process management,
– user and supervisor modes,
– process synchronization, semaphores,
– memory management, virtual memory,
– file systems, I/O systems.
Books
Computer Architecture:
• David A. Patterson and John L. Hennessy, Computer
Organization and Design: The Hardware/Software Interface,
5th Edition, Elsevier.
• Carl Hamachar, Zvonco Vranesic and Safwat Zaky, Computer
Organization, McGraw-Hill.
• John P. Hayes, Computer Architecture and Organization,
McGraw-Hill.
Operating System:
• Avi Silberschatz, Peter Galvin, Greg Gagne, Operating
System Concepts, Wiley Asia Student Edition.
• William Stallings, Operating Systems: Internals and Design
Principles, Prentice Hall of India.
COMPUTER ORGANIZATION AND DESIGN 5th
Edition
The Hardware/Software Interface
Chapter 1
Computer Abstractions
and Technology
§1.1 Introduction
The Computer Revolution
Progress in computer technology
Underpinned by Moore’s Law – 2x integration
density every 18 months
Makes novel applications feasible
Computers in automobiles
Cell phones
Human genome project
World Wide Web
Search Engines
Computers are pervasive
Chapter 1 — Computer Abstractions and Technology — 5
Classes of Computers
Personal computers
General purpose, variety of software
Subject to cost/performance tradeoff
Server computers
Network based
High capacity, performance, reliability
Range from small servers to building sized
Embedded computers
Hidden as components of systems
Stringent power/performance/cost constraints
Programmers:
- Knowledge of Computer Organization
- Software below the program
- Hardware under the covers of computer
What You Will Learn
How programs are translated into the
machine language
And how the hardware executes them
The hardware/software interface
What determines program performance
And how it can be improved
How hardware designers improve
performance
What is parallel processing
Hierarchy of memories
Computer board
Clock (cycles)
Data transfer
and computation
Update state
B I 600ps 1.2
CPU Time
…by this much
CPU Time I 500ps
A
Chapter 1 — Computer Abstractions and Technology — 25
CPI in More Detail
If different instruction classes take different
numbers of cycles
n
Clock Cycles (CPIi Instructio n Count i )
i1
Relative frequency
Sequence 1: IC = 5 Sequence 2: IC = 6
Clock Cycles Clock Cycles
= 2×1 + 1×2 + 2×3 = 4×1 + 1×2 + 1×3
= 10 =9
Avg. CPI = 10/5 = 2.0 Avg. CPI = 9/6 = 1.5
Chapter 1 — Computer Abstractions and Technology — 27
Performance Summary
The BIG Picture
Performance depends on
Algorithm: affects IC, possibly CPI
Programming language: affects IC, CPI
Compiler: affects IC, CPI
Instruction set architecture: affects IC, CPI, Tc
In CMOS IC technology
Power Capacitive load Voltage 2 Frequency
×30 5V → 1V ×1000