Lecture 1 Computer Abstraction and Performance
Lecture 1 Computer Abstraction and Performance
Computer Architecture
Lecture 1: Computer abstraction & performance
4/17/2025 VNU-ITI/CICA 2
1
4/17/2025
4/17/2025 VNU-ITI/CICA 3
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
4/17/2025 VNU-ITI/CICA 4
2
4/17/2025
Classes of Computers
• Supercomputers
– Type of server
– 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
4/17/2025 VNU-ITI/CICA 5
4/17/2025 VNU-ITI/CICA 6
3
4/17/2025
4/17/2025 VNU-ITI/CICA 7
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
4/17/2025 VNU-ITI/CICA 9
4
4/17/2025
• Hierarchy of memories
4/17/2025 VNU-ITI/CICA 10
• 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
4/17/2025 VNU-ITI/CICA 11
5
4/17/2025
• 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
4/17/2025 VNU-ITI/CICA 12
Components of a Computer
4/17/2025 VNU-ITI/CICA 13
6
4/17/2025
Touchscreen
• PostPC device
• Supersedes keyboard
and mouse
• Resistive and Capacitive
types
– Most tablets, smart phones
use capacitive
– Capacitive allows multiple
touches simultaneously
4/17/2025 VNU-ITI/CICA 14
4/17/2025 VNU-ITI/CICA 15
7
4/17/2025
4/17/2025 VNU-ITI/CICA 16
4/17/2025 VNU-ITI/CICA 17
8
4/17/2025
• A12 processor
4/17/2025 VNU-ITI/CICA 18
Abstractions
4/17/2025 VNU-ITI/CICA 19
9
4/17/2025
4/17/2025 VNU-ITI/CICA 20
Networks
4/17/2025 VNU-ITI/CICA 21
10
4/17/2025
Technology Trends
• Electronics
technology continues
to evolve
– Increased capacity
and performance
– Reduced cost
DRAM capacity
4/17/2025 VNU-ITI/CICA 22
Semiconductor Technology
• Silicon: semiconductor
• Add materials to transform properties:
– Conductors
– Insulators
– Switch
4/17/2025 VNU-ITI/CICA 23
11
4/17/2025
Manufacturing ICs
4/17/2025 VNU-ITI/CICA 24
4/17/2025 VNU-ITI/CICA 25
12
4/17/2025
4/17/2025 VNU-ITI/CICA 26
Defining Performance
4/17/2025 VNU-ITI/CICA 27
13
4/17/2025
4/17/2025 VNU-ITI/CICA 28
Relative Performance
Performanc e X Performanc e Y
= Execution time Y Execution time X = n
4/17/2025 VNU-ITI/CICA 29
14
4/17/2025
• Elapsed time
– Total response time, including all aspects
• Processing, I/O, OS overhead, idle time
– Determines system performance
• CPU time
– Time spent processing a given job
• Discounts I/O time, other jobs’ shares
– Comprises user CPU time and system CPU time
– Different programs are affected differently by CPU and system
performance
4/17/2025 VNU-ITI/CICA 30
CPU Clocking
Clock (cycles)
Data transfer
and computation
Update state
4/17/2025 VNU-ITI/CICA 31
15
4/17/2025
CPU Time
• Performance improved by
– Reducing number of clock cycles
– Increasing clock rate
– Hardware designer must often trade off clock rate against cycle
count
4/17/2025 VNU-ITI/CICA 32
16
4/17/2025
CPI Example
B = I 600ps = 1.2
CPU Time
…by this much
CPU Time I 500ps
A
4/17/2025 VNU-ITI/CICA 35
17
4/17/2025
n
Clock Cycles = (CPIi Instruction Count i )
i=1
Relative frequency
4/17/2025 VNU-ITI/CICA 36
CPI Example
◼ 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
4/17/2025 VNU-ITI/CICA 37
18
4/17/2025
Performance Summary
• Performance depends on
– Algorithm: affects IC, possibly CPI
– Programming language: affects IC, CPI
– Compiler: affects IC, CPI
– Instruction set architecture: affects IC, CPI, Tc
4/17/2025 VNU-ITI/CICA 38
Power Trends
• In CMOS IC technology
×30 5V → 1V ×1000
4/17/2025 VNU-ITI/CICA 39
19
4/17/2025
Reducing Power
4/17/2025 VNU-ITI/CICA 40
Uniprocessor Performance
4/17/2025 VNU-ITI/CICA 41
20
4/17/2025
Multiprocessors
• Multicore microprocessors
– More than one processor per chip
• Requires explicitly parallel programming
– Compare with instruction level parallelism
• Hardware executes multiple instructions at once
• Hidden from the programmer
– Hard to do
• Programming for performance
• Load balancing
• Optimizing communication and synchronization
4/17/2025 VNU-ITI/CICA 42
n
n
Execution time ratio
i=1
i
4/17/2025 VNU-ITI/CICA 43
21
4/17/2025
4/17/2025 VNU-ITI/CICA 44
10 10
Overall ssj_ops per Watt = ssj_opsi poweri
i =0 i =0
4/17/2025 VNU-ITI/CICA 45
22
4/17/2025
4/17/2025 VNU-ITI/CICA 46
23
4/17/2025
4/17/2025 VNU-ITI/CICA 48
Instruction count
MIPS =
Execution time 10 6
Instruction count Clock rate
= =
Instruction count CPI CPI 10 6
10 6
Clock rate
◼ CPI varies between programs on a given CPU
4/17/2025 VNU-ITI/CICA 49
24
4/17/2025
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
• Execution time: the best performance measure
• Power is a limiting factor
– Use parallelism to improve performance
4/17/2025 VNU-ITI/CICA 50
25