CH 1 - Introduction To Computer Architecture and Performance Measurement
CH 1 - Introduction To Computer Architecture and Performance Measurement
1
Chapter 1
Introduction to Computer
Architecture and Performances
Measurement
2
Course Administration
• Instructor: Dr. Wajdi Elhamzi
• Email: [email protected]
4
Course Outline
5
Introduction
6
History of Computers
• Mechanical calculator
• Vacuum tube
• Transistor
• Integrated circuit
• Very Large Scale Integration (VLSI) /
Microprocessor
• Ultra Large Scale Integration (ULSI) /
Microprocessor
7
Mechanical calculator
• Mechanical calculator is a mechanical device used to
perform automatically the basic operations of
arithmetic. They have been rendered obsolete by the
advent of the electronic calculator.
8
Vacuum Tubes
9
Transistors
10
Integrated Circuits
11
VLSI and ULSI
• In the 1980s, integrated circuits gave way to very large scale integrated
(VLSI) circuit technology, which eventually contain 20 000 to 1 000 000
transistors.
▪ ULSI: created in 1984 and contain 1 000 000 transistors and more (The
Intel 486 and Pentuim microprocessor use ULSI technology).
12
Moore’s Law
13
Components of a Computer System
• Processor Computer
15
Von-Neumann architecture
16
Harvard architecture
17
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
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
A Hierarchy of Languages
Application Programs
High-Level Languages
Machine independent High-Level Language
Machine specific Low-Level Language
Assembly Language
Machine Language
Hardware
A Six-Level Computer
Application Programs
Level 5
Increased level
High-Level Language
of abstraction
Software Assembly Language Level 4
Operating System
Level 3
21
Programmer's View (cont'd) Application Programs
High-Level Language Level 5
Microarchitecture Level 1
24
Types of ISA
26
Relative Performance
• Processor performance: Based on execution time of a program
on a processor X:
𝟏
Performancex =
Execution Timex
• Processor relative performance:
PerformanceX
Relative Performance = n =
PerformanceY
Execution TimeY
n=
Execution Timex
n > 1 => X is n times faster than Y
Clock (cycles)
Data transfer
and computation
Update state
• Clock cycle time (Clock period): is the amount of time for one
clock period to elapse (duration of a clock cycle)
• Clock frequency (rate): is the number of cycles per second (the
inverse of the clock cycle time).
◼ Clock period: duration of a clock cycle
◼ e.g., 250ps = 0.25ns = 250×10^–12s
IC 𝐱 CPI
=
Clock Rate
CPI Example1
Solution
1. CPU clock cycles= CPU time * clock rate
=10*3*10^9=30*10^9 clock cycles
n ∑ (CPI × IC )
∑(CPI × IC )
i i
CPU cycles = i i CPI =
i=1
n
∑ IC
i=1
i
i=1
39
Amdahl’s Law Examples
• Example 2:
▪ The following table shows the execution time of five routines of
a program running on different numbers of processors.
A (ms) B (ms) C(ms) D(ms) E(ms)
4 14 2 12 2
34
• Speedupoverall = 32.15 = 1.06
• Solution:
B) By how much is the total time reduced if routine B is improved by a factor of 1,9?
• Execution Time new = B/1.9 +A+C+D+E=0.52*14 +4 +2 +12 +2=7.36+20=27.36
34
• Speedupoverall = = 1.24
27.36
C) By how much is the total time reduced if routine D is improved by a factor of 1,9?
• Execution Time new = D/1.9 +A+B+C+E=12/1.9 + 4+14+2+2=6.31+22=28.31
34
• Speedupoverall = = 1.20
28.31