2. Course Textbook and Outline
Instructor: Dr. Nivine Güler
Textbook(s):
Computer Organization and Design: The
Hardware/Software Interface, 4th Edition, David
Patterson and John Hennessy, Morgan Kaufmann.
ISBN: 978-0-12-374493-7, 2012
Topics covered:
Computer Abstractions and Technology
Instructions: Language of the Computer
Arithmetic for Computers
The processor
Exploiting Memory Hierarchy
3. Grades
Quizes 30%
Chap 1, 2, 3
Date to be announced
Midterm Exam 30%
Chap 4, Part of Chap 5
Date to be announced
Final 40%
All material
4. The Computer Revolution
Progress in computer technology
Underpinned by Moore’s Law
Makes ”science-fiction” 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
Desktop computers
General purpose, variety of software
Subject to cost/performance tradeoff
Server computers
High capacity, performance, reliability
Execute programs for multiusers
simultaneously and accessed by network.
Embedded computers
Hidden as components inside the systems
such as car, phone, video game, so on
Designed to run one application integrated
with the hardware, and delivered as a single
system.
Chapter
1
—
Computer
Abstractions
and
Technology
7. What You Will Learn
How high level language programs, such
as C, are translated into the machine
language
And how the hardware executes them?
What is the hardware/software interface
And how does the software instruct the
hardware to perform needed functions?
What determines program performance
And how it can be improved?
Chapter
1
—
Computer
Abstractions
and
Technology
8. What You Will Learn
How can hardware designers improve
performance?
What is parallel processing
Switching from sequential processing to
parallel processing
Chapter
1
—
Computer
Abstractions
and
Technology
9. Understanding Performance
Algorithm
Determines number of operations executed
Programming language, compiler, architecture
Determine number of machine instructions executed
per operation
Processor and memory system
Determine how fast instructions are executed
I/O system (including OS)
Determines how fast I/O operations are executed
Chapter
1
—
Computer
Abstractions
and
Technology
10. Below Your Program
Application software
Written in high-level language
System software
Compiler: translates HLL code to
machine code
Operating System: service code
Handling input/output
Managing memory and storage
Scheduling tasks & sharing resources
Hardware
Processor, memory, I/O controllers
Chapter
1
—
Computer
Abstractions
and
Technology
11. Levels of Program Code
High-level language
Level of abstraction closer
to problem domain
Provides for productivity
and portability
Assembly language
Textual representation of
instructions
Hardware representation
Binary digits (bits)
Encoded instructions and
data
Ex: 1000110010100000
Just tells the computer to add two numbers
12. Components of a Computer
The five important components for all kinds of
computer are: Input, output, memory, datapath,
control( called processor)
Input/output includes:
User-interface devices
Display, keyboard, mouse
Storage devices
Hard disk, CD/DVD, flash
Network adapters
For communicating with other computers
§1.3
Under
the
Covers
The BIG Picture
13. Anatomy of a Computer
LCD screen is
Output device
Keyboard
Input device
Mouse Input
device
Network
cable
14. Inside the Processor (CPU)
Datapath: The component of the processor
that performs arithmetic operations
Control: The component of the processor
that commands the datapath, memory, and
I/O devices according to the instructions of
the program
Cache memory: consists of small and fast
SRAM memory for immediate access to
data
17. Abstractions
Abstraction helps us deal with complexity
Hide lower-level detail
Instruction set architecture (ISA)
The hardware/software interface :
encompasses all the information necessary to
write a machine language program
Application binary interface
The ISA combined with the system software
interface
Implementation
Hardware that obeys the architecture abstraction.
18. Defining Performance
Which airplane has the best performance?
0 100 200 300 400 500
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Passenger Capacity
0 2000 4000 6000 8000 10000
Douglas DC-
8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Cruising Range (miles)
0 500 1000 1500
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Cruising Speed (mph)
0 100000 200000 300000 400000
Douglas DC-
8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Passengers x mph
§1.4
Performance
19. Response Time and Throughput
Response time
How long it takes to do a task
Throughput
Total work done per unit time
e.g., tasks/transactions/… per hour
How are response time and throughput affected
by
Replacing the processor with a faster version?
Adding more processors?
We’ll focus on response time for now…
20. Relative Performance
Define Performance = 1/Execution Time
“X is n time faster than Y”
n
X
Y
Y
X
time
Execution
time
Execution
e
Performanc
e
Performanc
Example: time taken to run a program
10s on A, 15s on B
Execution TimeB / Execution TimeA
= 15s / 10s = 1.5
So A is 1.5 times faster than B
21. Please do the HOMEWORK!
Thank you all
Chapter 1 — Computer Abstractions and Technology — 37
Editor's Notes
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
March 2, 2023
dual inline memory module (DIMM)
A small board that contains DRAM chips on both sides.
The microprocessor in the laptop in Figure 1.7 has two cores per chip, called an Intel Core 2 Duo