Chapter 1 of Computer Organization and Architecture by Patterson and Hennessy, often referred to as the "Computer Organization and Design" (COD) book, serves as an introduction to the fundamental concepts of computer systems. It lays the groundwork for understanding how computers are desig...
Chapter 1 of Computer Organization and Architecture by Patterson and Hennessy, often referred to as the "Computer Organization and Design" (COD) book, serves as an introduction to the fundamental concepts of computer systems. It lays the groundwork for understanding how computers are designed and how they operate at both the hardware and software levels. The chapter begins by explaining the importance of abstraction in computer design, highlighting how layers of abstraction simplify the complexity of modern computing systems. Abstraction allows designers and programmers to focus on specific levels of a system without needing to understand every detail of the underlying layers, making it easier to build, optimize, and maintain complex systems.
The authors introduce the concept of the stored-program computer, a revolutionary idea where instructions and data are stored in memory, and the CPU fetches, decodes, and executes these instructions. This forms the basis of the von Neumann architecture, a cornerstone of modern computing. The von Neumann model is characterized by its sequential execution of instructions and its unified memory space for both data and programs. The chapter explains how this architecture enables the flexibility and programmability that define modern computers.
The chapter also discusses the roles of key components in a computer system, such as the CPU (Central Processing Unit), memory, and I/O (Input/Output) devices, and how they interact to execute programs. The CPU is described as the brain of the computer, responsible for performing arithmetic and logical operations, while memory stores data and instructions temporarily or permanently. I/O devices facilitate communication between the computer and the external world, enabling input from users and output to displays or other peripherals.
A significant portion of the chapter is dedicated to the concept of performance in computer systems. The authors introduce metrics like response time (the time it takes to complete a task) and throughput (the number of tasks completed per unit of time). They explain how these metrics are influenced by hardware and software optimizations, such as faster processors, larger memory, and efficient algorithms. The chapter also touches on the trade-offs involved in improving performance, such as the cost, power consumption, and complexity of hardware components.
The chapter emphasizes the importance of instruction set architecture (ISA), which serves as the interface between hardware and software. The ISA defines the set of instructions that a CPU can execute, as well as the registers, memory addressing modes, and data types it supports. Understanding the ISA is crucial for both hardware designers, who implement it, and software developers, who write programs that run on it.
To illustrate these concepts, the chapter often uses real-world examples and analogies, making the material accessible to readers with varying levels of prior knowledge.
Size: 163.06 KB
Language: en
Added: Mar 03, 2025
Slides: 11 pages
Slide Content
Computer Organization and Computer Organization and
Architecture (AT70.01)Architecture (AT70.01)
Comp. Sc. and Inf. Mgmt.Comp. Sc. and Inf. Mgmt.
Asian Institute of TechnologyAsian Institute of Technology
Instructor: Dr. Sumanta Guha
Slide Sources: Patterson &
Hennessy COD book website
(copyright Morgan Kaufmann)
adapted and supplemented
COD Ch. 1
Computer Abstractions and
Technology
Introduction
Rapidly changing field:
vacuum tube -> transistor -> IC -> VLSI
doubling every 1.5 years:
memory capacity
processor speed (due to advances in technology and hardware organization)
cute example: if Boeing had kept up with IBM we could fly from Bangkok
to HCM City in 10 minutes for 5 baht (2000 dong) !!
Things we’ll be learning:
how computers work, what’s a good design, what’s not
how to make them – yes, we will actually build working computers!!
issues affecting modern processors (e.g., caches, pipelines)
The Five Classic Components
of a Computer
Input (mouse, keyboard, …)
Output (display, printer, …)
Memory
main (DRAM), cache (SRAM)
secondary (disk,
CD, DVD, …)
Datapath
Control
Input
Processor
Control
Datapath
Output
Memory
1001010010110000
0010100101010001
1111011101100110
1001010010110000
1001010010110000
1001010010110000
Processor
(CPU)
Our Primary Focus
The processor (CPU)…
datapath
control
…implemented using millions of transistors
…impossible to understand by looking at individual
transistors
we need...
Abstraction
Delving into the depths reveals
more information, but…
An abstraction omits “unneeded”
detail, helps us cope with complexity
From the figure on the right, how
does abstraction help the programmer
and how does she avoid too much
detail?
swap(int v[], int k)
{int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
swap:
muli $2, $5,4
add $2, $4,$2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
Binary machine
language
program
(for MIPS)
C compiler
Assembler
Assembly
language
program
(for MIPS)
High-level
language
program
(in C)
The Instruction
Set:
a Critical Interface
instruction set
software
hardware
Instruction Set Architecture
A very important abstraction:
interface between hardware and low-level software
standardizes instructions, machine language bit patterns,
etc.
advantage: allows different implementations of the same
architecture
disadvantage: sometimes prevents adding new innovations
Modern instruction set architectures:
80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP
What is Computer
Architecture?
Easy Answer
Computer Architecture =
Instruction Set Architecture +
Machine Organization
I/O systemInstars. Set Proc.
Compiler
Operating
System
Application
Digital Design
Circuit Design
Instruction Set
Architecture
Firmware
Datapath & Control
Layout
What is Computer
Architecture?
Better (More Detailed) Answer
Forces on Computer
Architecture
Computer
Architecture
Technology Programming
Languages
Operating
Systems
History
Applications