CS 61C Machines Structures lecture 1

Download Report

Transcript CS 61C Machines Structures lecture 1

Računarske arhitekture
Predavanje 1: Uvod
Oktobar 2003
Doc. dr Novica Nosović
ETF – Sarajevo, soba 0-22
[email protected]
Pregled
•
•
•
•
•
Uvod u strukture računara
Organizacija i anatomija računara
Brze tehnološke promjene
Struktura nastave
Važne stvari koje treba zapamtiti
RA2002-3 Pr 1
2
Šta su “Strukture računara”?
Application (Netscape)
Compiler
Software
Hardware
Assembler
Operating
System
(Windows XP)
Processor Memory I/O system
Instruction Set
Architecture
Datapath & Control
Digital Design
Circuit Design
transistors
• Interakcija više nivoa apstrakcije
RA2002-3 Pr 1
3
Nivoi predstavljanja
temp = v[k];
v[k] = v[k+1];
High Level Language
Program (e.g., C)
v[k+1] = temp;
Compiler
lw $to,
lw $t1,
sw$t1,
sw$t0,
Assembler (npr. MIPS)
Asembler
Mašinski jezik (MIPS)
Mašinski interpreter
0000
1010
1100
0101
1001
1111
0110
1000
1100
0101
1010
0000
0($2)
4($2)
0($2)
4($2)
0110
1000
1111
1001
1010
0000
0101
1100
1111
1001
1000
0110
0101
1100
0000
1010
1000
0110
1001
1111
Upravljački signali
°
°
RA2002-3 Pr 1
4
Anatomija: 5 komponenti računara
Personal Computer
Computer
Processor
(active)
Control
(“brain”)
Datapath
(“brawn”)
Memory
(passive)
(where
programs,
data
live when
running)
Devices
Input
Output
Keyboard,
Mouse
Disk
(where
programs,
data
live when
not running)
Display,
Printer
RA2002-3 Pr 1
5
Tehnološki Trendovi: Kapacitet memorije
(1 Chip DRAM)
God.
1980
1983
1986
1989
1992
1996
1999
s ize
1000000000
100000000
Bits
10000000
1000000
(Megabit)
0.0625
0.25
1
4
16
64
256
100000
1.55X/god,
ili dvostruko svakih
1.6 godina
10000
1000
1970
1975
1980
1985
1990
1995
2000
Year
RA2002-3 Pr 1
6
Tehnološki trendovi: Mikroprocesori
100000000
Alpha 21264: 15 million
Pentium Pro: 5.5 million
PowerPC 620: 6.9 million
Alpha 21164: 9.3 million
Sparc Ultra: 5.2 million
10000000
Moore’s Law
Pent ium
i80486
Transistors
1000000
i80386
i80286
100000
2X tranzistora/Chip
Svakih 1.5 godina
i8086
10000
i8080
“Moore-ov zakon”:
i4004
1000
1970
1975
1980
1985
1990
1995
2000
Year
RA2002-3 Pr 1
7
Tehnološki Trendovi: Procesorske
Performanse
900
800
700
600
500
400
300
200
100
0
DEC Alpha 21264/600
1.54X/yr
DEC Alpha 5/500
DEC
HP
Sun MIPSMIPSIBM
AXP/
9000/
-4/ M M/ RS/
500
750
260 2000 120 6000
DEC Alpha 5/300
DEC Alpha 4/266
IBM POWER 100
87 88 89 90 91 92 93 94 95 96 97
Porast procesorskih performansi /god (Joy-ev zakon)
a ne Moore-ov zakon (tranzistora/chip-u)
RA2002-3 Pr 1
8
Računarska Tehnologija => Dramatične promjene
• Procesor
– 2X brži svake 1.5 godine; 1000X performanse u zadnjih 10 god.
• Memorija
– DRAM kapacitet: 2x / 1.5 god.; 1000X u zadnjih 10 god.
– Cijena po bitu: pada oko 25% godišnje
• Disk
– Kapacitet: > 2X svakih 1.5 god.
– Cijena po bitu : pada oko 60% godišnje
– 120X u zadnjih 10 god
• Savremeni PC kada vi diplomirate: ???
–
–
–
–
Procesor clock:
8000 MegaHertz (8 GigaHertz)
Memorija:
4000 MegaByte (4 GigaBytes)
Disk Kapacitet:
600 GigaBytes (0.15 TeraBytes)
Nove stvari! Mega => Giga, Giga => Tera
RA2002-3 Pr 1
9
Zašto studirati strukture računara?
• PROMJENE; Nikada nije bilo uzbudljivije!
• Utiču na sve aspekte inženjeringa i računarskih nauka
Bionics:
Sensors in latex fingers
instantly register hot
and cold, and an electronic
interface in his artificial
limb stimulates the nerve
endings in his upper arm,
which then pass the
information to his brain.
The $3,000 system allows
his hand to feel pressure
and weight, so for the first
time since losing his arms
in a 1986 accident, he can
pick up a can of soda
without crushing it or
having it slip through his
fingers. One Digital Day
RA2002-3 Pr 1
10
Šta ćete učiti?
• Strukture računara – kako ih vidi programer
–
–
–
–
Šta piše programer
Kako se to prevodi u nešto što računar razumije
Kako računar interpretira program
Zašto se programi izvršavaju sporo
• Naučite osnovne stvari iz računarstva i inženjeringa
–
–
–
–
–
–
–
–
–
5 klasičnih komponenti računara
kako računar manipuliše onim što predstavlja stvari
računari sa programom u memoriji – instrukcije su podaci
princip lokalnosti – iskorišten u memorijskoj hijerarhiji (keš)
prevođenje i indirektno izvršavanje
više performanse korištenjem paralelizma (protočnost)
principi apstrakcija, predstavljanje sistema po nivoima/slojevima
kompajliranje protiv interpretiranja – smanjuju broj slojeva sistema
principi i greške – zablude pri mjerenju performansi
RA2002-3 Pr 1
11
Šta nećete učiti?
• Pisati programe
– ako znate jedan (programski) jezik, lako ćete naučiti i drugi ...
– ako znate C++ ili Java, lako ćete razumjeri njuhove pretke, C...
• Programirati u asembleru
– to ćete naučiti učeći osnovne stvari
• Projektovati logičke strukture (hardver)
C
C++
– shvatite hardver kao nivo apstrakcije, morate ga razumjeti da bi shvatili
Java
više nivoe
• Kompajlere i operativne sisteme
– ali morate znati njihove uloge i principe
RA2002-3 Pr 1
12
Struktura nastave – zvanično!
• 1. Predmet: RAČUNARSKE ARHITEKTURE
• 2. Semestar: VII + VIII
• 3. Opterećenje:
P
AV
LV
•
- prosječno sedmično
3
0
3
•
- ukupno
90
0
90
4. Sadržaj
• Klasifikacije računarskih arhitektura. Paralelizam u jednoprocesorkim
računarskim sistemima. Prevazilaženje uskih grla između podsistema
računara i balansiranje propusnih opsega podsistema. Pipeline i
vektorske arhitekture računarskih sistema. Multiprocesorske računarske
arhitekture. Računari vođeni tokom podataka (data-flow računari i
VLSI računarske arhitekture). Paralelne računarske arhitekture za
specijalizovane primjene. Komparativna analiza različitih tipova
arhitektura sistema i ocjena performansi.
RA2002-3 Pr 1
13
Hronologija i sadržaj
• RAČUNARSKE ARHITEKTURE - PERFORMANSE I PODJELE
VON NEUMANN-OV MODEL, RAZVOJ OD VON NEUMANN-A, OSNOVE DIZAJNA,
KVANTITATIVNI PRINCIPI DIZAJNA
• ARHITEKTURA SKUPA INSTRUKCIJA
•
NAČINI ADRESIRANJA MEMORIJE, OPERACIJE U SKUPU INSTRUKCIJA,
UPRAVLJAČKE INSTRUKCIJE, TIPOVI I VELIČINE OPERANADA, KODIRANJE
INSTRUKCIJA, ULOGA KOMPAJLERA, UTICAJ KOMPAJLERA NA
ARHITEKTURU, OGLEDNA LOAD/STORE ARHITEKTURA, FORMAT
INSTRUKCIJA, EFEKTIVNOST OGLEDNE ARHITEKTURE
• PROTOČNE STRUKTURE
OGLEDNA ARHITEKTURA BEZ PROTOČNE STRUKTURE, OSNOVNA PROTOČNA
STRUKTURA ZA OGLEDNU ARHITEKTURU
HAZARDI
STRUKTURNI HAZARDI, HAZARDI PODATAKA, KLASIFIKACIJA HAZARDA
PODATAKA, HAZARDI PODATAKA KOJI ZAHTJEVAJU ZASTOJE,
KOMPAJLERSKO RASPOREÐIVANJE INSTRUKCIJA, UPRAVLJANJE OGLEDNOM
PROTOCNOM STRUKTUROM, UPRAVLJACKI HAZARDI, STATICKO
PREDVIÐANJE GRANANJA, PREKIDI/IZUZECI U PROTOCNOJ STRUKTURI,
IZUZECI KOD OGLEDNE ARHITEKTURE, KOMPLIKACIJE SKUPA INSTRUKCIJA,
OGLEDNA ARHITEKTURA I VIŠECIKLUSNE OPERACIJE
RA2002-3 Pr 1
14
Hronologija i sadržaj (nastavak)
• 5 PARALELIZAM NA NIVOU INSTRUKCIJA
PARALELIZAM NA NIVOU PETLJE, DINAMICKIO RASPOREÐIVANJE
INSTRUKCIJA, DINAMIČKO RASPOREÐIVANJE SA SEMAFOROM, TOMASULOV
ALGORITAM, DINAMIČKO PREDVIÐANJE GRANANJA, KORIŠTENJE BAFERA
ODREDIŠNIH ADRESA GRANANJA, SUPERSKALARNI I VLIW PROCESORI,
SUPERSKALARNA VERZIJA OGLEDNE ARHITEKTURE, VIŠESTRUKO
POKRETANJE INSTRUKCIJA SA DINAMIČKIM RASPOREÐIVANJEM, VLIW
PRISTUP, OGRANIČENJA PROCESORA SA VIŠESTRUKIM POKRETANJEM
INSTRUKCIJA
• 6 PODRŠKA KOMPAJLERA U POVECANJU ILP-a
OTKRIVANJE I ODKLANJANJE ZAVISNOSTI, SOFTVERSKE PROTOČNE
STRUKTURE, TRASIRANJE
• 7 PODRŠKA HARDVERA U POVECANJU ILP-a
USLOVNE INSTRUKCIJE, KOMPAJLERSKO SPEKULISANJE UZ PODRŠKU
HARDVERA, SARADNJA HW-SW U SVRHU SPEKULACIJE, SPEKULISANJE
KORIŠTENJEM BITA "OTROVA", SPEKULATIVNE INSTRUKCIJE SA
REIMENOVANJEM, HARDVERSKO SPEKULISANJE
• 8 PARALELNE RAČUNARSKE ARHITEKTURE
PROJEKTOVANJE PARALELNIH RAČUNARA, NAČINI POVEZIVANJA
KOMPONENTI SISTEMA, MREŽE ZA POVEZIVANJE, PREKLOPNICI,
PERFORMANSE PARALELNIH RAČUNARA
RA2002-3 Pr 1
15
Literatura
• Computer Architecture: A Quantitative Approach: 2nd
Edition, J. L. Hennessy, D. A. Patterson
• Computer Organization & Design: The
Hardware/Software Interface , D. A. Patterson, J. L.
Hennessy
• A. Thanenbaum: Structured Computer Architectures
a ako nemate ništa bolje, onda
Novica Nosović, RAČUNARSKE ARHITEKTURE – interni
materijal – ETF Sarajevo, 1999
RA2002-3 Pr 1
16
Ocjenjivanje
• Zadaće (2 individualno)
• Seminarski radovi (2 timski rad)
• Završni pismeni ispit
20%
40%
40%
• Najuspješnijih 10% završni ispit polažu prije junskog
ispitnog roka
RA2002-3 Pr 1
17
Teme za seminarske radove - prijedlozi
•
•
•
•
•
•
•
•
•
•
•
Registarski prozori, Cache hierarhije,
Data prefetching, Cache coherency,
Game engine anatomy, Bluetooth,
Pojekat seti@home,
IBM Hypersocket,
IBM Chipkill,
NAS vs SAN,
Systolic arrays,
firewire,
switch/router (ATM),
Beowulf,
ARM procesor,
Embeded processors,
AMD Opteron,
DDR,
Power management,
VMware,
UltraSPARC,
blade servers ...
ili po dogovoru!
RA2002-3 Pr 1
18
Zapamtite...
• 30 sedmica da naučite osnove računarskih arhitektura
– Preincip apstrakcija služi za predstavljanje sistema u slojevima
– Šta su podaci? – Program određuje šta je šta!
– Koncept smještanja programa u memoriju – i instrukcije su podaci!!!
– Princip lokalnosti diktira memorijsku hijerarhiju (od keša pa naniže)
– Povećanje performansi iskorištavanjem paralelizma (protočnosti)
– Kompajleri protiv interpretera – smenjuje se broj nivoa u sistemu
– Principi i zablude pri mjerenju performansi
• Nastavlja se ubrzani razvoj u računarstvu
– 2X brže svakih 18 mjeseci; brzina procesora, veličina memorije,
kapacitet diska; Moore-ov zakon to omogućava (2X tran./chip/1.5 god)
• 5 klasičnih komponenti svakog računara
1. Kontrolna jedinica; 2. Put podataka; 3. Memorija; 4. Ulaz; 5. Izlaz
}
RA2002-3 Pr 1
Processor
19