CIE3301 C56i
CIE3301 C56i
Computer Architecture
2021-2022
Hardware
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
CIE3301 Chapter 1.15 Dr. S. Younis, Ninevah University, 2021
Below the Program, Con’t
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)
Input/output includes
User-interface devices
- Display, keyboard, mouse
Storage devices
- Hard disk, CD/DVD, flash
Network adapters
- For communicating with
other computers
feature size
&
die size
Courtesy, Intel ®
CIE3301 Chapter 1.23 Dr. S. Younis, Ninevah University, 2021
Technology Scaling Road Map (ITRS)
1G
256M
64M 512M
128M
4M
16M
1M
64K 256K
16K
120
100
Power (Watts)
80
60
40
20
0
BAC/Sud BAC/Sud
Concorde Concorde
Douglas DC- Douglas DC-
8-50 8-50
BAC/Sud BAC/Sud
Concorde Concorde
Douglas DC- Douglas DC-
8-50 8-50
performanceX = 1 / execution_timeX
performanceX execution_timeY
-------------------- = --------------------- = n
performanceY execution_timeX
performanceA execution_timeB
-------------------- = --------------------- = n
performanceB execution_timeA
Clock (cycles)
Data transfer
and computation
Update state
Programming
language
Compiler
ISA
Core
organization
Technology
ISA
X X X
Core
X X
organization
Technology
X
=
How much faster would the machine be if a better data cache
reduced the average load time to 2 cycles?
In CMOS IC technology
×30 5V → 1V ×1000
Static Metrics:
How many bytes does the program occupy in memory?
Dynamic Metrics:
How many instructions are executed? How many bytes does the
processor fetch to execute the program?
How many clocks are required per instruction? CPI
How "lean" a clock is practical?
ANY QUESTIONS