IT3030E-CA-Syllabus & Chap1-Introduction
IT3030E-CA-Syllabus & Chap1-Introduction
❑ Future
l Tailored medical care based on individual genome.
l Super-human: transfer human’s brain to a mechanical body
(robot) for interstellar traveling (The Matrix movies franchise,
1999, Michio Kaku, Physics of the Future 2011 and The Future
of the Mind 2015).
l …and many more
❑ Computer performance
l How to evaluate performance
l Basic techniques to improve computer performance.
❑ Server
l Network based
l High capacity, performance, reliability
l Range from small servers to building sized
❑ Desktop computers
l General purpose, variety of software
l Subject to cost/performance tradeoff
❑ Embedded computers
l Hidden as components of systems
l Stringent power/performance/cost constraints
Embedded
PC
Server
Super computer
IT3030E Fall 2024 12
Price/performance of computer classes
Super $Millions
Mainframe
$100s Ks
Server $10s Ks
Differences in scale,
not in substance Workstation $1000s
Personal $100s
Embedded $10s
Pascalite machine
Babbage’s Analytical Engine (plan 25)
Curiosity Stream - Calculating Ada: The Countess of Computing
IT3030E Fall 2024 16
A brief history of computers
❑ 1st generation: Vacuum tubes
l ENIAC: 1st general purpose computer
- Computing artillery-firing tables
- Enormous in size and energy consumption
l IAS: computer with Von Newman architecture
- Memory, ALU, Control, Input/Output, stored-program concept
l UNIVAC: 1st commercial computer
IBM System/360
IT3030E Fall 2024 18
A brief history of computers
❑ Later generations: IC and VLSI
❑ Increasing price/performance
❑ Moore’s law
❑ Application software
l Written in high-level language (HLL)
❑ System software
l Compiler: translates HLL code to
machine code
l Operating System: service code
- Handling input/output
- Managing memory and storage
- Scheduling tasks & sharing resources
❑ Hardware
l Processor, memory, I/O controllers
❑ High-level language
l Level of abstraction closer to
problem domain
l Provides for productivity and
portability
❑ Assembly language
l Textual representation of
instructions
❑ Hardware representation
l Binary digits (bits)
l Encoded instructions and
data
IT3030E Fall 2024 25
What’s below your program?
❑ High-level language program (in C)
swap (int v[], int k)
{ int temp;
temp = v[k];
v[k] = v[k+1]; one-to-many
v[k+1] = temp;
C compiler
}
❑ datapath +
control =
processor
(CPU)
❑ A web server
How fast a request can be served?
How many request can be served per second?
performanceA execution_timeB
-------------------- = --------------------- = n
performanceB execution_timeA
= #-------------------------------------------
CPU clock cycles for a program
clock rate
Instruction_count x CPI
= -----------------------------------------------
clock_rate
4 steps
20 steps
FIGURE 1.18 SPECINTC2006 benchmarks running on a 2.66 GHz Intel Core i7 920.
IT3030E Fall 2024 46
(Uni)processor performance since 1908