Sie sind auf Seite 1von 33

COMPUTER ORGANIZATION AND DESIGN 5th

Edition
The Hardware/Software Interface

Chapter 1
Computer Organization
and Architecture
Overview
§1.1 Introduction
The Computer Revolution
 Progress in computer technology
 Underpinned by Moore’s Law
 Makes novel applications feasible
 Computers in automobiles
 Cell phones
 Human genome project (analyze human DNA)
 World Wide Web
 Search Engines
 Computers are pervasive

Chapter 1 — Computer Abstractions and Technology — 2


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

Chapter 1 — Computer Abstractions and Technology — 3


Classes of Computers
 Supercomputers
 High-end scientific and engineering calculations
 Highest capability but represent a small fraction of the overall
computer market

 Embedded computers
 Hidden as components of systems
 Stringent power/performance/cost constraints

Chapter 1 — Computer Abstractions and Technology — 4


The PostPC Era
 Personal Mobile Device (PMD)
 Battery operated
 Connects to the Internet
 Hundreds of dollars
 Smart phones, tablets, electronic glasses
 Cloud computing
 Warehouse Scale Computers (WSC)
 Software as a Service (SaaS)
 Portion of software run on a PMD and a
portion run in the Cloud
 Amazon and Google
Chapter 1 — Computer Abstractions and Technology — 5
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

Chapter 1 — Computer Abstractions and Technology — 6


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 — 7


§1.2 Eight Great Ideas in Computer Architecture
Eight Great Ideas
 Design for Moore’s Law

 Use abstraction to simplify design

 Make the common case fast

 Performance via parallelism

 Performance via pipelining

 Performance via prediction

 Hierarchy of memories

 Dependability via redundancy

Chapter 1 — Computer Abstractions and Technology — 8


Eight Great Ideas
 Design for Moore’s Law
 integrated circuit resources double every 18–24 months

 computer architects must anticipate where the technology will be


when the design finishes rather than design for where it starts.

Chapter 1 — Computer Abstractions and Technology — 9


Eight Great Ideas
 Use abstraction to simplify design
 Both computer architects and programmers had to invent techniques to
make themselves more productive.

 Abstractions is a major productivity technique for hardware and


software is to use to represent the design at different levels of
representation.

 lower-level details are hidden to offer a simpler model at higher levels.

Chapter 1 — Computer Abstractions and Technology — 10


Eight Great Ideas
 Make the common case fast
 The common case is often simpler than the rare case and hence
is often easier to enhance.

 This common sense advice implies that you know what the
common case is, which is only possible with careful
experimentation and measurement.

Chapter 1 — Computer Abstractions and Technology — 11


Eight Great Ideas
 Performance via parallelism
 computer architects have offered designs that get more performance by
performing operations in parallel

Chapter 1 — Computer Abstractions and Technology — 12


Eight Great Ideas
 Performance via pipelining
 A particular pattern of parallelism is so prevalent in computer
architecture

 A way of speeding up execution of instructions

 Key idea: overlap execution of multiple instructions

Chapter 1 — Computer Abstractions and Technology — 13


Eight Great Ideas
 Performance via prediction
 In some cases it can be faster on average to guess and start
working rather than wait until you know for sure, assuming that the
mechanism to recover from a misprediction is not too expensive
and your prediction is relatively accurate.

Chapter 1 — Computer Abstractions and Technology — 14


Eight Great Ideas
 Hierarchy of memories
 Programmers want memory to be fast, large, and cheap.

 There are conflicting demands to memory speed, capacity, cost

 Hierarchy of memories, with the fastest, smallest, and most


expensive memory per bit at the top of the hierarchy and the
slowest, largest, and cheapest per bit at the bottom.

Chapter 1 — Computer Abstractions and Technology — 15


Eight Great Ideas
 Dependability via redundancy
 Computers not only need to be fast; they need to be
dependable.

 Since any physical device can fail, we make systems


dependable by including redundant components

 These extra components can take over when a failure


occurs and to help detect failures.

Chapter 1 — Computer Abstractions and Technology — 16


§1.3 Below Your Program
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 — 17


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

Chapter 1 — Computer Abstractions and Technology — 18


Components of a Computer
The BIG Picture  Same components for
all kinds of computer
Input  Desktop, server,
embedded

Output
 Input/output includes
Processor  User-interface devices
Control
 Display, keyboard, mouse
Memory
1001010010110000  Storage devices
0010100101010001
1111011101100110
1001010010110000
 Hard disk, CD/DVD, flash
Datapath 1001010010110000
1001010010110000  Network adapters
 For communicating with
other computers

Chapter 1 — Computer Abstractions and Technology — 19


Touchscreen
 PostPC device
 Supersedes keyboard
and mouse
 Resistive and
Capacitive types
 Most tablets, smart
phones use capacitive
 Capacitive allows
multiple touches
simultaneously

Chapter 1 — Computer Abstractions and Technology — 20


Memory
 Dynamic Random Access Memory (DRAM)
 The choice for main memory
 Volatile (contents go away when power is lost)
 Fast
 Relatively small
 DRAM capacity: 2x / 2 years (since ‘96);
 Static Random Access Memory (SRAM)
 The choice for cache
 Much faster than DRAM, but less dense and more costly

 Magnetic disks
 The choice for secondary memory
 Non-volatile
 Slower
 Relatively large
 Capacity: 2x / 1 year (since ‘97)
 Solid state (Flash) memory
 The choice for embedded computers
 Non-volatile
 Optical disk (CDROM, DVD)
Inside the Processor (CPU)
 Datapath: performs operations on data
 Control: sequences datapath, memory, ...
 Cache memory
 Small fast SRAM memory for immediate access to data

Chapter 1 — Computer Abstractions and Technology — 22


Abstractions
The BIG Picture

 Abstraction helps us deal with complexity


 Hide lower-level detail
 Instruction set architecture (ISA)
 The hardware/software interface
 Application binary interface
 The ISA plus system software interface
 Implementation
 The details underlying and interface
Chapter 1 — Computer Abstractions and Technology — 23
Networks
 Communication, resource sharing,
nonlocal access
 Local area network (LAN): Ethernet
 Wide area network (WAN): the Internet
 Wireless network: WiFi, Bluetooth

Chapter 1 — Computer Abstractions and Technology — 24


§1.5 Technologies for Building Processors and Memory
Technology Trends
 Electronics
technology
continues to evolve
 Increased capacity
and performance
 Reduced cost
DRAM capacity

Year Technology Relative performance/cost


1951 Vacuum tube 1
1965 Transistor 35
1975 Integrated circuit (IC) 900
1995 Very large scale IC (VLSI) 2,400,000
2013 Ultra large scale IC 250,000,000,000

Chapter 1 — Computer Abstractions and Technology — 25


Semiconductor Technology
 Silicon: semiconductor
 With a special chemical process, it is possible to add
materials to silicon that allow tiny areas to transform into
one of three devices:
 Conductors
 Insulators
 Switch

Chapter 1 — Computer Abstractions and Technology — 26


Manufacturing ICs

 Yield: proportion of working dies per wafer

Chapter 1 — Computer Abstractions and Technology — 27


Intel Core i7 Wafer

 300mm wafer, 280 chips, 32nm technology


 Each chip is 20.7 x 10.5 mm
Chapter 1 — Computer Abstractions and Technology — 28
What is “Computer Architecture” ?
 Computer Architecture =

Instruction Set Architecture + Computer Organization


• Instruction Set Architecture (ISA)
– WHAT the computer does (logical view)
• Computer Organization
– HOW the ISA is implemented (physical view)

Chapter 1 — Computer Abstractions and Technology — 29


The Instruction Set:
a Critical Interface

software

instruction set

hardware

Chapter 1 — Computer Abstractions and Technology — 30


What is Computer Architecture?
Better (More Detailed) Answer

Application
Operating
System
Compiler Firmware
Instruction Set
Architecture
Instars. Set Proc.I/O system
Datapath & Control

Digital Design
Circuit Design
Layout

Chapter 1 — Computer Abstractions and Technology — 31


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

Chapter 1 — Computer Abstractions and Technology — 32


§1.9 Concluding Remarks
Concluding Remarks
 Cost/performance is improving
 Due to underlying technology development
 Hierarchical layers of abstraction
 In both hardware and software
 Instruction set architecture
 The hardware/software interface

Chapter 1 — Computer Abstractions and Technology — 33

Das könnte Ihnen auch gefallen