SlideShare a Scribd company logo
1 of 52
Download to read offline
Architecture History Types of Computers Structure Technology Trends Performance
CSC 213: Computer Architecture
Overview of Computer Architecture
October 15, 2021
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Agenda
1 Architecture
2 History
3 Types of Computers
4 Structure
5 Technology Trends
6 Performance
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
What is Computer Architecture?
Patterson & Hennessy:
Computer architecture =
Instruction set architecture + Machine organization + Hardware
Instruction Set Architecture (ISA)
WHAT the computer does (logical view)
Machine Organization
HOW the ISA is implemented (physical view)
Micro-Architecture
ISA implementation (Logic circuits level)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Instruction Set Architecture (ISA)
ISA, or simply architecture – the abstract interface between
the hardware and the lowest level software that encompasses
all the information necessary to write a machine language
program, including instructions, registers, memory access,
I/O, ...
Enables implementations of varying cost and performance to
run identical software
The combination of the basic instruction set (the ISA) and
the operating system interface is called the application binary
interface (ABI)
ABI – The user portion of the instruction set plus the
operating system interfaces used by application programmers.
Defines a standard for binary portability across computers.
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Organization and Hardware
Organization: high-level aspects of a computer’s design
Principal components: memory, CPU, I/O, . . .
How components are interconnected
How information flows between components
e.g. AMD Opteron 64 and Intel Pentium 4: same ISA but
different organizations
Hardware: detailed logic design and the packaging
technology of a computer
e.g. Pentium 4 and Mobile Pentium 4: nearly identical
organizations but different hardware details
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Abstraction Layers
Algorithm
Gates/Register-Transfer Level (RTL)
Application
Instruction Set Architecture (ISA)
Operating System/Virtual Machine
Microarchitecture
Devices
Programming Language
Circuits
Physics
Original
domain of
the computer
architecture
(‘50s-’80s)
Domain of
recent
computer
architecture
(‘90s)
Reliability,
power, …
Parallel
computing,
security, …
Reinvigoration of
computer architecture,
mid-2000s onward.
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Historic Perspective of Computers
1944 – ENIAC (The Electronic Numerical Integrator and
Calculator)
The first completely electronic, operational general-purpose
machine built using vacuum tubes.
Designed and built by Eckert and Mauchly at the University of
Pennsylvania during 1943-45.
30 tons, 72 square meters, 200KW
Performance : Read in 120 cards per minute; Addition took
200 µs; Division 6 ms;
Application: Ballistic calculations
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Historic Perspective of Computers (2)
1947: William Shockley, John Bardeen and Walter Brattain of
Bell Laboratories invent the transistor.
1958: Jack Kilby and Robert Noyce invent the integrated
circuit. Kilby was awarded the Nobel Prize in Physics in 2000
for his work
1960-1970, Mainframe computers used primarily by large
organizations for critical applications, bulk data processing
such as census,, industry and consumer
– Large: size, power consumption, cooling
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Historic Perspective of Computers (3)
1970, Minicomputers, is a class of smaller computers that
developed in the mid-1960s and sold for much less than
mainframe and mid-size computers from IBM and its direct
competitors.
Minicomputers: machine initially focused on applications in
scientific laboratories, but rapidly branching out as the
technology of time-sharing - multiple users sharing a computer
interactively through independent terminals - became
widespread
1971, Intel introduced the first microprocessor, the Intel 4004.
1973: Robert Metcalfe, a member of the research staff for
Xerox, develops Ethernet for connecting multiple computers
and other hardware
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Historic Perspective of Computers (4)
1977 The birth of the first personal computer (PC) Apple
computer series
1981: The first IBM personal computer is introduced
– It uses Microsoft’s MS-DOS operating system. It has an
Intel chip, two floppy disks and an optional color monitor.
1990: Tim Berners-Lee, a researcher at CERN, the
high-energy physics laboratory in Geneva, develops HyperText
Markup Language (HTML), giving rise to the World Wide
Web.
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Historic Perspective of Computers (5)
1980s and 1990s - the introduction of many commercial
parallel computers with multiple processors.
Intel followed suit by introducing the first of the most popular
microprocessor, the 80x86 series.
PCs from Compaq, Apple, IBM, Dell, and many others, soon
became pervasive, and changed the face of computing
The number of processors in a single machine ranged from
several in a shared memory computer to hundreds of
thousands in a massively parallel system
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Classes of Computers
Desktop
Designed to deliver good performance to a single user at low
cost, usually; executing 3rd party software, incorporating a
graphics display, a keyboard, and a mouse
Servers
Used to run larger programs for multiple, simultaneous users
typically accessed only via a network and that places a greater
emphasis on dependability and (often) security. Examples: file
servers, web servers, database servers
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Classes of Computers (2)
Embedded
A computer inside another device used for running one
predetermined application
Supercomputers
A high performance, high cost class of servers with hundreds
to thousands of processors, terabytes of memory and petabytes
of storage that are used for high-end scientific and engineering
applications
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Embedded Processor Characteristics
The largest class of computers spanning the widest range of
applications and performance
Often have minimum performance requirements.
Often have stringent limitations on cost.
Often have stringent limitations on power consumption.
Often have low tolerance for failure.
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Post PC Era
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Components of a Computer
Same components for all kinds of computer: Desktop, server,
embedded
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Inside the Processor (CPU)
Datapath: performs operations on data
Control: sequences datapath, memory, . . .
Cache memory: Small fast SRAM memory for immediate
access to data
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Below Your Program
System software
Operating system – supervising program that interfaces the
user’s program with the hardware (e.g., Linux, MacOS,
Windows)
– Handles basic input and output operations
– Allocates storage and memory
– Provides for protected sharing among multiple applications
Compiler – translate programs written in a high-level language
(e.g., C, Java) into instructions that the hardware can execute
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Translating your program
High-level language program
(in C)
Assembly language program
(for MIPS)
Binary machine language program
(for MIPS)
Compiler
Assembler
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Computer Progress
The rapid rate of improvements in computers has come both
from:
Progress in computer technology
– Underpinned by Moore’s Law
Innovations in organization and design of computer machines
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Moore’s Law
In 1965, Intel’s Gordon Moore predicted that the number of
transistors that can be integrated on single chip would double
about every 18 months
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Moore’s Law (2)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Computer Progress - Processor performance
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Computer Progress - Increased Clock Speed
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Computer Progress - Memory Capacity
Electronics technology continues to evolve, leading to
increased capacity and performance
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Processor-Memory Gap
Performance is not improving at the same rate
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Technology – dramatic change
Processor
logic capacity: about 30% per year
clock rate: about 20% per year until early 00’s
has now practically come to a halt
Memory
DRAM capacity: about 40% per year (2x every 2-3 years)
Memory speed: about 10% per year
Cost per bit: improves about 25% per year
Disk
capacity: about 40% per year (2x every 3 years)
Flash Storage
capacity: about 60% per year (2x every 2 years)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Processor Performance
“Unmatched by any other industry”
John Crawford, Intel Fellow, 1993
Microprocessor performance growth in perspective:
Doubling every 18 months (1982-1996): total of 800X
– Cars travel at 70,000 km/h; get 7,000 km/l
– Air travel: L.A. to N.Y. in 22 seconds (MACH 800)
Doubling every 24 months (1970-1996): total of 9,000X
– Cars travel at 970,000 km/h; get 64,000 km/l
– Air travel: L.A. to N.Y. in 2 seconds (MACH 9,000)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Performance Motivation
It is often helpful to have some way by which to compare
systems
During the design of new systems
During purchasing to compare between products
. . .
Which one would you choose?
3
Name INTEL CORE I7 4770K
Number of cores 4
Number of threads 8
Frequency 3.5 GHz
Turbo Frequency 3.9 GHz
Data width 64-bit
TDP 84 W
Release June, 2013
Name AMD FX 9590
Number of cores 8
Number of threads 8
Frequency 4.7 GHz
Turbo Frequency 5 GHz
Data width 64-bit
TDP 220 W
Release July, 2013
Designing for Performance
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Performance Motivation (2)
It is often helpful to have some way by which to compare
systems
Example (from another field)
Passengers Speed (km/h)
Car 5 60
Bus 60 20
Which one has the best performance?
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
How do we define Performance?
Possible key metrics
The time to perform a task
(latency, response time, execution time, elapsed time)
The number of tasks completed per unit time
(throughput, bandwidth, execution rate)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Performance - Car/Bus Example
Measure of performance
Latency: time to finish a fixed task
Throughput: number of tasks in fixed time
Example: Move people from A → B, a distance of 10km
Passengers Speed (km/h)
Car 5 60
Bus 60 20
What is the latency of the 1) Car, 2) Bus?
What is the throughput of the 1) Car, 2) Bus?
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Comparing Performance
System A is n times faster than B
Latency(A) =
Latency(B)
n
(1)
Throughput(A) = Throughput(B) ∗ n (2)
System A is X% times faster than B
Latency(A) =
Latency(B)
1 + X/100
(3)
Throughput(A) = Throughput(B) ∗ (1 + X/100) (4)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Comparing Performance - Car/Bus Example
Task: Move people from A → B, a distance of 10km
Passengers Speed(km/h) Latency(min) Throughput(PPH)
Car 5 60 10 15
Bus 60 20 30 60
Latency? Car is times (and %) faster than the
bus
Throughput? Bus is times (and %) more
efficient than the car
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Response Time and Throughput
Response Time
Time between start and completion of a task, as observed by
the end user
Response Time =
CPU Time + Waiting Time (I/O, OS scheduling, etc.)
Throughput
Number of tasks the machine can run in a given period of time
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Response Time and Throughput (2)
Decreasing execution time improves throughput
Example: using a faster version of a processor
Less time to run a task => more tasks can be executed
Increasing throughput can also improve response time
Example: increasing number of processors in a multiprocessor
More tasks can be executed in parallel
Execution time of individual sequential tasks is not changed
But less waiting time in scheduling queue reduces response
time
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Defining Performance
For some program running on machine X
PerformanceX =
1
ExecutionTimeX
(5)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Relative Performance
X is n times faster than Y
PerformanceX
PerformanceY
=
ExecutionTimeY
ExecutionTimeX
= n (6)
Problem: machine A runs a program in 10 seconds while
machine B runs the same program in 15 seconds. What is
their relative performance?
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Performance and Workloads
Latency (A) or Throughput (A) means nothing
these must be associated with some task - workload
Workload - set of tasks someone cares about
car/bus example: Task - drive people 10 km
example: A processor executes some program
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Performance and Workloads (2)
Benchmarks: standard workloads
Used to compare performance across machines
Either are or highly representative of actual programs people
run
Micro-benchmarks: non-standard non-workloads
Tiny programs used to isolate certain aspects of performance
Not representative of complex behaviors of real applications
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
SPEC Benchmarks
SPEC (Standard Performance Evaluation Corporation)
http://www.spec.org/
Consortium that collects, standardizes, and distributes
benchmarks
Post SPECmark results for different processors
1 number that represents performance for entire suite
Benchmark suites for CPU, Java, I/O, Web, Mail, etc.
Updated every few years
SPEC CPU 2006
12 “integer”: bzip2, gcc, perl, hmmer (genomics), h264, . . .
17 “floating point”: wrf (weather), povray, sphynx3 (speech)
. . .
SPEC CPU 2017
2 “integer” suites: latency vs. throughput
2 “floating point” suites: latency vs. throughput
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Measuring Execution Time
Real Elapsed Time
Counts everything (Waiting time, Input/output, disk access,
OS scheduling, . . . )
a useful number, but often not good for comparison purposes
CPU Time
Time spent while executing the program instructions (lines of
code that are ”in” our program)
can be broken up into system time, and user time
Can be measured in seconds, or can be related to number of
CPU clock cycles
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Clock Cycles
The operations of computer hardware is governed by a
constant rate clock
Clock period/cycle: duration of a clock cycle
Clock frequency/rate: cycles per second
Clock cycle =
1
Clock rate
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Clock Cycles
We often use clock cycles to report CPU execution time
CPU Time
= CPU cycles X Clock cycle time
=
CPU cycles
Clock rate
(7)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Improving Performance
To improve performance, we need to
Reduce number of clock cycles required by a program, or
Reduce clock cycle time (increase the clock rate)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Clock Cycles per Instruction (CPI)
Instructions take different number of cycles to execute, e.g.,
multiplication takes more time than addition
floating point operations take longer than integer ones
accessing memory takes more time than accessing registers
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Performance Equation
To execute, a given program will require ...
Some number of machine instructions
Some number of clock cycles
We can relate CPU clock cycles of a program to the
instruction count
CPU cycles = Instruction count x CPI (8)
Performance Equation:
Execution Time = Instruction count x CPI x Cycle time (9)
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Clock Cycles per Instruction (CPI)
CPI is an average number of clock cycles per instruction
a way to compare two different implementations of the same
ISA
instruction class
A B C
CPI 1 2 3
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Determining the CPI
Different types of instructions have different CPI
Let CPIi = clocks per instruction for class i of instructions and
Let Ci = instruction count for class i of instructions
CPU cycles =
n
X
i=1
CPIi x Ci (10)
Designers often obtain CPI by a detailed simulation
Hardware counters are also used for operational CPUs
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
What factors affect Execution time?
Execution Time = Instruction count * CPI * Cycle time
Depends on
Algorithm: affects Instruction count, possibly CPI
Programming language: affects Instruction count, CPI
Compiler: affects Instruction count, CPI
Instruction set architecture: affects Instruction count, CPI,
cycle time
Processor organization: affects CPI, cycle time
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Instruction Rate as a Performance Measure
instruction execution rate can also be used as a performance
metric
Millions of instructions per second (MIPS)
Millions of floating point instructions per second (MFLOPS)
Faster machine implies larger MIPS or MFLOPS
Heavily dependent on instruction set, compiler design,
processor implementation, cache and memory hierarchy
CSC 213: Computer Architecture
Architecture History Types of Computers Structure Technology Trends Performance
Performance Summary
Performance is specific to a particular program
Any measure of performance should reflect execution time
Total execution time is a consistent summary of performance
For a given ISA, performance improvements come from
Increases in clock rate (without increasing the CPI)
Improvements in processor organization that lower CPI
Compiler enhancements that lower CPI and/or instruction
count
Algorithm/Language choices that affect instruction count
CSC 213: Computer Architecture

More Related Content

Similar to lect1.pdf

software engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.pptsoftware engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.ppt
SomnathMule5
 
Embedded System
Embedded SystemEmbedded System
Embedded System
surendar
 

Similar to lect1.pdf (20)

COA.pptx
COA.pptxCOA.pptx
COA.pptx
 
software engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.pptsoftware engineering CSE675_01_Introduction.ppt
software engineering CSE675_01_Introduction.ppt
 
CSE675_01_Introduction.ppt
CSE675_01_Introduction.pptCSE675_01_Introduction.ppt
CSE675_01_Introduction.ppt
 
CSE675_01_Introduction.ppt
CSE675_01_Introduction.pptCSE675_01_Introduction.ppt
CSE675_01_Introduction.ppt
 
Computer Evolution
Computer EvolutionComputer Evolution
Computer Evolution
 
Ge6151 computer programming notes
Ge6151 computer programming notesGe6151 computer programming notes
Ge6151 computer programming notes
 
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
“eXtending” the Automation Toolbox: Introduction to TwinCAT 3 Software and eX...
 
Ijetr042175
Ijetr042175Ijetr042175
Ijetr042175
 
Lect-3 Evaluation of computer architecture.pptx.pdf
Lect-3 Evaluation of computer architecture.pptx.pdfLect-3 Evaluation of computer architecture.pptx.pdf
Lect-3 Evaluation of computer architecture.pptx.pdf
 
IS 139 Lecture 1
IS 139 Lecture 1IS 139 Lecture 1
IS 139 Lecture 1
 
COA Complete Notes.pdf
COA Complete Notes.pdfCOA Complete Notes.pdf
COA Complete Notes.pdf
 
Ca lecture 03
Ca lecture 03Ca lecture 03
Ca lecture 03
 
Unit 1 one part introduction to computers
Unit 1 one part introduction to computersUnit 1 one part introduction to computers
Unit 1 one part introduction to computers
 
Ch02
Ch02Ch02
Ch02
 
Japan's post K Computer
Japan's post K ComputerJapan's post K Computer
Japan's post K Computer
 
CO&AL-lecture-04 about the procedures in c language (1).pptx
CO&AL-lecture-04 about the procedures in c language (1).pptxCO&AL-lecture-04 about the procedures in c language (1).pptx
CO&AL-lecture-04 about the procedures in c language (1).pptx
 
Module 3 unit 1
Module 3  unit 1Module 3  unit 1
Module 3 unit 1
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
Third generation computers (hardware and software)
Third generation computers (hardware and software)Third generation computers (hardware and software)
Third generation computers (hardware and software)
 
CH02-COA9e.pptx
CH02-COA9e.pptxCH02-COA9e.pptx
CH02-COA9e.pptx
 

Recently uploaded

Introduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptxIntroduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptx
Bhagirath Gogikar
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
Areesha Ahmad
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Sérgio Sacani
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
PirithiRaju
 

Recently uploaded (20)

GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 
Introduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptxIntroduction,importance and scope of horticulture.pptx
Introduction,importance and scope of horticulture.pptx
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 22 (Delhi) Call Girl Service
 
Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
Dopamine neurotransmitter determination using graphite sheet- graphene nano-s...
 
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATIONSTS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
 
Zoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdfZoology 5th semester notes( Sumit_yadav).pdf
Zoology 5th semester notes( Sumit_yadav).pdf
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
IDENTIFICATION OF THE LIVING- forensic medicine
IDENTIFICATION OF THE LIVING- forensic medicineIDENTIFICATION OF THE LIVING- forensic medicine
IDENTIFICATION OF THE LIVING- forensic medicine
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Alandi Call Me 7737669865 Budget Friendly No Advance Booking
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 

lect1.pdf

  • 1. Architecture History Types of Computers Structure Technology Trends Performance CSC 213: Computer Architecture Overview of Computer Architecture October 15, 2021 CSC 213: Computer Architecture
  • 2. Architecture History Types of Computers Structure Technology Trends Performance Agenda 1 Architecture 2 History 3 Types of Computers 4 Structure 5 Technology Trends 6 Performance CSC 213: Computer Architecture
  • 3. Architecture History Types of Computers Structure Technology Trends Performance What is Computer Architecture? Patterson & Hennessy: Computer architecture = Instruction set architecture + Machine organization + Hardware Instruction Set Architecture (ISA) WHAT the computer does (logical view) Machine Organization HOW the ISA is implemented (physical view) Micro-Architecture ISA implementation (Logic circuits level) CSC 213: Computer Architecture
  • 4. Architecture History Types of Computers Structure Technology Trends Performance Instruction Set Architecture (ISA) ISA, or simply architecture – the abstract interface between the hardware and the lowest level software that encompasses all the information necessary to write a machine language program, including instructions, registers, memory access, I/O, ... Enables implementations of varying cost and performance to run identical software The combination of the basic instruction set (the ISA) and the operating system interface is called the application binary interface (ABI) ABI – The user portion of the instruction set plus the operating system interfaces used by application programmers. Defines a standard for binary portability across computers. CSC 213: Computer Architecture
  • 5. Architecture History Types of Computers Structure Technology Trends Performance Organization and Hardware Organization: high-level aspects of a computer’s design Principal components: memory, CPU, I/O, . . . How components are interconnected How information flows between components e.g. AMD Opteron 64 and Intel Pentium 4: same ISA but different organizations Hardware: detailed logic design and the packaging technology of a computer e.g. Pentium 4 and Mobile Pentium 4: nearly identical organizations but different hardware details CSC 213: Computer Architecture
  • 6. Architecture History Types of Computers Structure Technology Trends Performance Abstraction Layers Algorithm Gates/Register-Transfer Level (RTL) Application Instruction Set Architecture (ISA) Operating System/Virtual Machine Microarchitecture Devices Programming Language Circuits Physics Original domain of the computer architecture (‘50s-’80s) Domain of recent computer architecture (‘90s) Reliability, power, … Parallel computing, security, … Reinvigoration of computer architecture, mid-2000s onward. CSC 213: Computer Architecture
  • 7. Architecture History Types of Computers Structure Technology Trends Performance Historic Perspective of Computers 1944 – ENIAC (The Electronic Numerical Integrator and Calculator) The first completely electronic, operational general-purpose machine built using vacuum tubes. Designed and built by Eckert and Mauchly at the University of Pennsylvania during 1943-45. 30 tons, 72 square meters, 200KW Performance : Read in 120 cards per minute; Addition took 200 µs; Division 6 ms; Application: Ballistic calculations CSC 213: Computer Architecture
  • 8. Architecture History Types of Computers Structure Technology Trends Performance Historic Perspective of Computers (2) 1947: William Shockley, John Bardeen and Walter Brattain of Bell Laboratories invent the transistor. 1958: Jack Kilby and Robert Noyce invent the integrated circuit. Kilby was awarded the Nobel Prize in Physics in 2000 for his work 1960-1970, Mainframe computers used primarily by large organizations for critical applications, bulk data processing such as census,, industry and consumer – Large: size, power consumption, cooling CSC 213: Computer Architecture
  • 9. Architecture History Types of Computers Structure Technology Trends Performance Historic Perspective of Computers (3) 1970, Minicomputers, is a class of smaller computers that developed in the mid-1960s and sold for much less than mainframe and mid-size computers from IBM and its direct competitors. Minicomputers: machine initially focused on applications in scientific laboratories, but rapidly branching out as the technology of time-sharing - multiple users sharing a computer interactively through independent terminals - became widespread 1971, Intel introduced the first microprocessor, the Intel 4004. 1973: Robert Metcalfe, a member of the research staff for Xerox, develops Ethernet for connecting multiple computers and other hardware CSC 213: Computer Architecture
  • 10. Architecture History Types of Computers Structure Technology Trends Performance Historic Perspective of Computers (4) 1977 The birth of the first personal computer (PC) Apple computer series 1981: The first IBM personal computer is introduced – It uses Microsoft’s MS-DOS operating system. It has an Intel chip, two floppy disks and an optional color monitor. 1990: Tim Berners-Lee, a researcher at CERN, the high-energy physics laboratory in Geneva, develops HyperText Markup Language (HTML), giving rise to the World Wide Web. CSC 213: Computer Architecture
  • 11. Architecture History Types of Computers Structure Technology Trends Performance Historic Perspective of Computers (5) 1980s and 1990s - the introduction of many commercial parallel computers with multiple processors. Intel followed suit by introducing the first of the most popular microprocessor, the 80x86 series. PCs from Compaq, Apple, IBM, Dell, and many others, soon became pervasive, and changed the face of computing The number of processors in a single machine ranged from several in a shared memory computer to hundreds of thousands in a massively parallel system CSC 213: Computer Architecture
  • 12. Architecture History Types of Computers Structure Technology Trends Performance Classes of Computers Desktop Designed to deliver good performance to a single user at low cost, usually; executing 3rd party software, incorporating a graphics display, a keyboard, and a mouse Servers Used to run larger programs for multiple, simultaneous users typically accessed only via a network and that places a greater emphasis on dependability and (often) security. Examples: file servers, web servers, database servers CSC 213: Computer Architecture
  • 13. Architecture History Types of Computers Structure Technology Trends Performance Classes of Computers (2) Embedded A computer inside another device used for running one predetermined application Supercomputers A high performance, high cost class of servers with hundreds to thousands of processors, terabytes of memory and petabytes of storage that are used for high-end scientific and engineering applications CSC 213: Computer Architecture
  • 14. Architecture History Types of Computers Structure Technology Trends Performance Embedded Processor Characteristics The largest class of computers spanning the widest range of applications and performance Often have minimum performance requirements. Often have stringent limitations on cost. Often have stringent limitations on power consumption. Often have low tolerance for failure. CSC 213: Computer Architecture
  • 15. Architecture History Types of Computers Structure Technology Trends Performance Post PC Era CSC 213: Computer Architecture
  • 16. Architecture History Types of Computers Structure Technology Trends Performance Components of a Computer Same components for all kinds of computer: Desktop, server, embedded CSC 213: Computer Architecture
  • 17. Architecture History Types of Computers Structure Technology Trends Performance Inside the Processor (CPU) Datapath: performs operations on data Control: sequences datapath, memory, . . . Cache memory: Small fast SRAM memory for immediate access to data CSC 213: Computer Architecture
  • 18. Architecture History Types of Computers Structure Technology Trends Performance Below Your Program System software Operating system – supervising program that interfaces the user’s program with the hardware (e.g., Linux, MacOS, Windows) – Handles basic input and output operations – Allocates storage and memory – Provides for protected sharing among multiple applications Compiler – translate programs written in a high-level language (e.g., C, Java) into instructions that the hardware can execute CSC 213: Computer Architecture
  • 19. Architecture History Types of Computers Structure Technology Trends Performance Translating your program High-level language program (in C) Assembly language program (for MIPS) Binary machine language program (for MIPS) Compiler Assembler CSC 213: Computer Architecture
  • 20. Architecture History Types of Computers Structure Technology Trends Performance Computer Progress The rapid rate of improvements in computers has come both from: Progress in computer technology – Underpinned by Moore’s Law Innovations in organization and design of computer machines CSC 213: Computer Architecture
  • 21. Architecture History Types of Computers Structure Technology Trends Performance Moore’s Law In 1965, Intel’s Gordon Moore predicted that the number of transistors that can be integrated on single chip would double about every 18 months CSC 213: Computer Architecture
  • 22. Architecture History Types of Computers Structure Technology Trends Performance Moore’s Law (2) CSC 213: Computer Architecture
  • 23. Architecture History Types of Computers Structure Technology Trends Performance Computer Progress - Processor performance CSC 213: Computer Architecture
  • 24. Architecture History Types of Computers Structure Technology Trends Performance Computer Progress - Increased Clock Speed CSC 213: Computer Architecture
  • 25. Architecture History Types of Computers Structure Technology Trends Performance Computer Progress - Memory Capacity Electronics technology continues to evolve, leading to increased capacity and performance CSC 213: Computer Architecture
  • 26. Architecture History Types of Computers Structure Technology Trends Performance Processor-Memory Gap Performance is not improving at the same rate CSC 213: Computer Architecture
  • 27. Architecture History Types of Computers Structure Technology Trends Performance Technology – dramatic change Processor logic capacity: about 30% per year clock rate: about 20% per year until early 00’s has now practically come to a halt Memory DRAM capacity: about 40% per year (2x every 2-3 years) Memory speed: about 10% per year Cost per bit: improves about 25% per year Disk capacity: about 40% per year (2x every 3 years) Flash Storage capacity: about 60% per year (2x every 2 years) CSC 213: Computer Architecture
  • 28. Architecture History Types of Computers Structure Technology Trends Performance Processor Performance “Unmatched by any other industry” John Crawford, Intel Fellow, 1993 Microprocessor performance growth in perspective: Doubling every 18 months (1982-1996): total of 800X – Cars travel at 70,000 km/h; get 7,000 km/l – Air travel: L.A. to N.Y. in 22 seconds (MACH 800) Doubling every 24 months (1970-1996): total of 9,000X – Cars travel at 970,000 km/h; get 64,000 km/l – Air travel: L.A. to N.Y. in 2 seconds (MACH 9,000) CSC 213: Computer Architecture
  • 29. Architecture History Types of Computers Structure Technology Trends Performance Performance Motivation It is often helpful to have some way by which to compare systems During the design of new systems During purchasing to compare between products . . . Which one would you choose? 3 Name INTEL CORE I7 4770K Number of cores 4 Number of threads 8 Frequency 3.5 GHz Turbo Frequency 3.9 GHz Data width 64-bit TDP 84 W Release June, 2013 Name AMD FX 9590 Number of cores 8 Number of threads 8 Frequency 4.7 GHz Turbo Frequency 5 GHz Data width 64-bit TDP 220 W Release July, 2013 Designing for Performance CSC 213: Computer Architecture
  • 30. Architecture History Types of Computers Structure Technology Trends Performance Performance Motivation (2) It is often helpful to have some way by which to compare systems Example (from another field) Passengers Speed (km/h) Car 5 60 Bus 60 20 Which one has the best performance? CSC 213: Computer Architecture
  • 31. Architecture History Types of Computers Structure Technology Trends Performance How do we define Performance? Possible key metrics The time to perform a task (latency, response time, execution time, elapsed time) The number of tasks completed per unit time (throughput, bandwidth, execution rate) CSC 213: Computer Architecture
  • 32. Architecture History Types of Computers Structure Technology Trends Performance Performance - Car/Bus Example Measure of performance Latency: time to finish a fixed task Throughput: number of tasks in fixed time Example: Move people from A → B, a distance of 10km Passengers Speed (km/h) Car 5 60 Bus 60 20 What is the latency of the 1) Car, 2) Bus? What is the throughput of the 1) Car, 2) Bus? CSC 213: Computer Architecture
  • 33. Architecture History Types of Computers Structure Technology Trends Performance Comparing Performance System A is n times faster than B Latency(A) = Latency(B) n (1) Throughput(A) = Throughput(B) ∗ n (2) System A is X% times faster than B Latency(A) = Latency(B) 1 + X/100 (3) Throughput(A) = Throughput(B) ∗ (1 + X/100) (4) CSC 213: Computer Architecture
  • 34. Architecture History Types of Computers Structure Technology Trends Performance Comparing Performance - Car/Bus Example Task: Move people from A → B, a distance of 10km Passengers Speed(km/h) Latency(min) Throughput(PPH) Car 5 60 10 15 Bus 60 20 30 60 Latency? Car is times (and %) faster than the bus Throughput? Bus is times (and %) more efficient than the car CSC 213: Computer Architecture
  • 35. Architecture History Types of Computers Structure Technology Trends Performance Response Time and Throughput Response Time Time between start and completion of a task, as observed by the end user Response Time = CPU Time + Waiting Time (I/O, OS scheduling, etc.) Throughput Number of tasks the machine can run in a given period of time CSC 213: Computer Architecture
  • 36. Architecture History Types of Computers Structure Technology Trends Performance Response Time and Throughput (2) Decreasing execution time improves throughput Example: using a faster version of a processor Less time to run a task => more tasks can be executed Increasing throughput can also improve response time Example: increasing number of processors in a multiprocessor More tasks can be executed in parallel Execution time of individual sequential tasks is not changed But less waiting time in scheduling queue reduces response time CSC 213: Computer Architecture
  • 37. Architecture History Types of Computers Structure Technology Trends Performance Defining Performance For some program running on machine X PerformanceX = 1 ExecutionTimeX (5) CSC 213: Computer Architecture
  • 38. Architecture History Types of Computers Structure Technology Trends Performance Relative Performance X is n times faster than Y PerformanceX PerformanceY = ExecutionTimeY ExecutionTimeX = n (6) Problem: machine A runs a program in 10 seconds while machine B runs the same program in 15 seconds. What is their relative performance? CSC 213: Computer Architecture
  • 39. Architecture History Types of Computers Structure Technology Trends Performance Performance and Workloads Latency (A) or Throughput (A) means nothing these must be associated with some task - workload Workload - set of tasks someone cares about car/bus example: Task - drive people 10 km example: A processor executes some program CSC 213: Computer Architecture
  • 40. Architecture History Types of Computers Structure Technology Trends Performance Performance and Workloads (2) Benchmarks: standard workloads Used to compare performance across machines Either are or highly representative of actual programs people run Micro-benchmarks: non-standard non-workloads Tiny programs used to isolate certain aspects of performance Not representative of complex behaviors of real applications CSC 213: Computer Architecture
  • 41. Architecture History Types of Computers Structure Technology Trends Performance SPEC Benchmarks SPEC (Standard Performance Evaluation Corporation) http://www.spec.org/ Consortium that collects, standardizes, and distributes benchmarks Post SPECmark results for different processors 1 number that represents performance for entire suite Benchmark suites for CPU, Java, I/O, Web, Mail, etc. Updated every few years SPEC CPU 2006 12 “integer”: bzip2, gcc, perl, hmmer (genomics), h264, . . . 17 “floating point”: wrf (weather), povray, sphynx3 (speech) . . . SPEC CPU 2017 2 “integer” suites: latency vs. throughput 2 “floating point” suites: latency vs. throughput CSC 213: Computer Architecture
  • 42. Architecture History Types of Computers Structure Technology Trends Performance Measuring Execution Time Real Elapsed Time Counts everything (Waiting time, Input/output, disk access, OS scheduling, . . . ) a useful number, but often not good for comparison purposes CPU Time Time spent while executing the program instructions (lines of code that are ”in” our program) can be broken up into system time, and user time Can be measured in seconds, or can be related to number of CPU clock cycles CSC 213: Computer Architecture
  • 43. Architecture History Types of Computers Structure Technology Trends Performance Clock Cycles The operations of computer hardware is governed by a constant rate clock Clock period/cycle: duration of a clock cycle Clock frequency/rate: cycles per second Clock cycle = 1 Clock rate CSC 213: Computer Architecture
  • 44. Architecture History Types of Computers Structure Technology Trends Performance Clock Cycles We often use clock cycles to report CPU execution time CPU Time = CPU cycles X Clock cycle time = CPU cycles Clock rate (7) CSC 213: Computer Architecture
  • 45. Architecture History Types of Computers Structure Technology Trends Performance Improving Performance To improve performance, we need to Reduce number of clock cycles required by a program, or Reduce clock cycle time (increase the clock rate) CSC 213: Computer Architecture
  • 46. Architecture History Types of Computers Structure Technology Trends Performance Clock Cycles per Instruction (CPI) Instructions take different number of cycles to execute, e.g., multiplication takes more time than addition floating point operations take longer than integer ones accessing memory takes more time than accessing registers CSC 213: Computer Architecture
  • 47. Architecture History Types of Computers Structure Technology Trends Performance Performance Equation To execute, a given program will require ... Some number of machine instructions Some number of clock cycles We can relate CPU clock cycles of a program to the instruction count CPU cycles = Instruction count x CPI (8) Performance Equation: Execution Time = Instruction count x CPI x Cycle time (9) CSC 213: Computer Architecture
  • 48. Architecture History Types of Computers Structure Technology Trends Performance Clock Cycles per Instruction (CPI) CPI is an average number of clock cycles per instruction a way to compare two different implementations of the same ISA instruction class A B C CPI 1 2 3 CSC 213: Computer Architecture
  • 49. Architecture History Types of Computers Structure Technology Trends Performance Determining the CPI Different types of instructions have different CPI Let CPIi = clocks per instruction for class i of instructions and Let Ci = instruction count for class i of instructions CPU cycles = n X i=1 CPIi x Ci (10) Designers often obtain CPI by a detailed simulation Hardware counters are also used for operational CPUs CSC 213: Computer Architecture
  • 50. Architecture History Types of Computers Structure Technology Trends Performance What factors affect Execution time? Execution Time = Instruction count * CPI * Cycle time Depends on Algorithm: affects Instruction count, possibly CPI Programming language: affects Instruction count, CPI Compiler: affects Instruction count, CPI Instruction set architecture: affects Instruction count, CPI, cycle time Processor organization: affects CPI, cycle time CSC 213: Computer Architecture
  • 51. Architecture History Types of Computers Structure Technology Trends Performance Instruction Rate as a Performance Measure instruction execution rate can also be used as a performance metric Millions of instructions per second (MIPS) Millions of floating point instructions per second (MFLOPS) Faster machine implies larger MIPS or MFLOPS Heavily dependent on instruction set, compiler design, processor implementation, cache and memory hierarchy CSC 213: Computer Architecture
  • 52. Architecture History Types of Computers Structure Technology Trends Performance Performance Summary Performance is specific to a particular program Any measure of performance should reflect execution time Total execution time is a consistent summary of performance For a given ISA, performance improvements come from Increases in clock rate (without increasing the CPI) Improvements in processor organization that lower CPI Compiler enhancements that lower CPI and/or instruction count Algorithm/Language choices that affect instruction count CSC 213: Computer Architecture