Title: Racunarske arhitekture Predavanje 1: Uvod
1Racunarske arhitekture Predavanje 1 Uvod
- Oktobar 2003
- Doc. dr Novica Nosovic
- ETF Sarajevo, soba 0-22
- novica.nosovic_at_etf.unsa.ba
2Pregled
- Uvod u strukture racunara
- Organizacija i anatomija racunara
- Brze tehnološke promjene
- Struktura nastave
- Važne stvari koje treba zapamtiti
3Šta su Strukture racunara?
Instruction Set Architecture
- Interakcija više nivoa apstrakcije
4Nivoi predstavljanja
temp vk vk vk1 vk1 temp
High Level Language Program (e.g., C)
Compiler
- lw to, 0(2)
- lw t1, 4(2)
- sw t1, 0(2)
- sw t0, 4(2)
Assembler (npr. MIPS)
Asembler
Mašinski jezik (MIPS)
0000 1001 1100 0110 1010 1111 0101 1000 1010 1111
0101 1000 0000 1001 1100 0110 1100 0110 1010
1111 0101 1000 0000 1001 0101 1000 0000 1001
1100 0110 1010 1111
Mašinski interpreter
Upravljacki signali
5Anatomija 5 komponenti racunara
Personal Computer
Keyboard, Mouse
Computer
Processor (active)
Memory (passive) (where programs, data live
when running)
Devices
Disk (where programs, data live when not
running)
Input
Control (brain)
Datapath (brawn)
Output
Display, Printer
6Tehnološki Trendovi Kapacitet memorije (1 Chip
DRAM)
God. (Megabit) 1980 0.0625 1983 0.25 1
986 1 1989 4 1992 16 1996 64 1999 256 1.5
5X/god, ili dvostruko svakih 1.6 godina
7Tehnološki trendovi Mikroprocesori
Alpha 21264 15 million Pentium Pro 5.5
million PowerPC 620 6.9 million Alpha 21164 9.3
million Sparc Ultra 5.2 million
Moores Law
2X tranzistora/Chip Svakih 1.5 godina Moore-ov
zakon
8Tehnološki Trendovi Procesorske Performanse
1.54X/yr
Porast procesorskih performansi /god (Joy-ev
zakon) a ne Moore-ov zakon (tranzistora/chip-u)
9Racunarska Tehnologija gt Dramaticne 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 gt 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 gt Giga, Giga gt Tera
10Zašto studirati strukture racunara?
- PROMJENE Nikada nije bilo uzbudljivije!
- Uticu na sve aspekte inženjeringa i racunarskih
nauka
BionicsSensors 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
11Šta cete uciti?
- Strukture racunara kako ih vidi programer
- Šta piše programer
- Kako se to prevodi u nešto što racunar razumije
- Kako racunar interpretira program
- Zašto se programi izvršavaju sporo
- Naucite osnovne stvari iz racunarstva i
inženjeringa - 5 klasicnih komponenti racunara
- kako racunar manipuliše onim što predstavlja
stvari - racunari sa programom u memoriji instrukcije su
podaci - princip lokalnosti iskorišten u memorijskoj
hijerarhiji (keš) - prevodenje i indirektno izvršavanje
- više performanse korištenjem paralelizma
(protocnost) - principi apstrakcija, predstavljanje sistema po
nivoima/slojevima - kompajliranje protiv interpretiranja smanjuju
broj slojeva sistema - principi i greške zablude pri mjerenju
performansi
12Šta necete uciti?
- Pisati programe
- ako znate jedan (programski) jezik, lako cete
nauciti i drugi ... - ako znate C ili Java, lako cete razumjeri
njuhove pretke, C... - Programirati u asembleru
- to cete nauciti uceci osnovne stvari
- Projektovati logicke strukture (hardver)
- shvatite hardver kao nivo apstrakcije, morate ga
razumjeti da bi shvatili više nivoe - Kompajlere i operativne sisteme
- ali morate znati njihove uloge i principe
C
C
Java
13Struktura nastave zvanicno!
- 1. Predmet RACUNARSKE ARHITEKTURE
- 2. Semestar VII VIII
- 3. Opterecenje P AV LV
- - prosjecno sedmicno 3 0 3
- - ukupno 90 0 90
- 4. Sadržaj
- Klasifikacije racunarskih arhitektura.
Paralelizam u jednoprocesorkim racunarskim
sistemima. Prevazilaženje uskih grla izmedu
podsistema racunara i balansiranje propusnih
opsega podsistema. Pipeline i vektorske
arhitekture racunarskih sistema. Multiprocesorske
racunarske arhitekture. Racunari vodeni tokom
podataka (data-flow racunari i VLSI racunarske
arhitekture). Paralelne racunarske arhitekture za
specijalizovane primjene. Komparativna analiza
razlicitih tipova arhitektura sistema i ocjena
performansi.
14Hronologija i sadržaj
- RACUNARSKE ARHITEKTURE - PERFORMANSE I PODJELE
- VON NEUMANN-OV MODEL, RAZVOJ OD VON NEUMANN-A,
OSNOVE DIZAJNA, KVANTITATIVNI PRINCIPI DIZAJNA - ARHITEKTURA SKUPA INSTRUKCIJA
- NACINI ADRESIRANJA MEMORIJE, OPERACIJE U SKUPU
INSTRUKCIJA, UPRAVLJACKE INSTRUKCIJE, TIPOVI I
VELICINE OPERANADA, KODIRANJE INSTRUKCIJA, ULOGA
KOMPAJLERA, UTICAJ KOMPAJLERA NA ARHITEKTURU,
OGLEDNA LOAD/STORE ARHITEKTURA, FORMAT
INSTRUKCIJA, EFEKTIVNOST OGLEDNE ARHITEKTURE - PROTOCNE STRUKTURE
- OGLEDNA ARHITEKTURA BEZ PROTOCNE STRUKTURE,
OSNOVNA PROTOCNA 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
15Hronologija i sadržaj (nastavak)
- 5 PARALELIZAM NA NIVOU INSTRUKCIJA
- PARALELIZAM NA NIVOU PETLJE, DINAMICKIO
RASPOREÐIVANJE INSTRUKCIJA, DINAMICKO
RASPOREÐIVANJE SA SEMAFOROM, TOMASULOV ALGORITAM,
DINAMICKO PREDVIÐANJE GRANANJA, KORIŠTENJE BAFERA
ODREDIŠNIH ADRESA GRANANJA, SUPERSKALARNI I VLIW
PROCESORI, SUPERSKALARNA VERZIJA OGLEDNE
ARHITEKTURE, VIŠESTRUKO POKRETANJE INSTRUKCIJA SA
DINAMICKIM RASPOREÐIVANJEM, VLIW PRISTUP,
OGRANICENJA PROCESORA SA VIŠESTRUKIM POKRETANJEM
INSTRUKCIJA - 6 PODRŠKA KOMPAJLERA U POVECANJU ILP-a
- OTKRIVANJE I ODKLANJANJE ZAVISNOSTI, SOFTVERSKE
PROTOCNE 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 RACUNARSKE ARHITEKTURE
- PROJEKTOVANJE PARALELNIH RACUNARA, NACINI
POVEZIVANJA KOMPONENTI SISTEMA, MREŽE ZA
POVEZIVANJE, PREKLOPNICI, PERFORMANSE PARALELNIH
RACUNARA
16Literatura
- 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 Nosovic, RACUNARSKE ARHITEKTURE interni
materijal ETF Sarajevo, 1999 -
17Ocjenjivanje
- Zadace (2 individualno) 20
- Seminarski radovi (2 timski rad) 40
- Završni pismeni ispit 40
- Najuspješnijih 10 završni ispit polažu prije
junskog ispitnog roka
18Teme za seminarske radove - prijedlozi
- Registarski prozori, Cache hierarhije,
- Data prefetching, Cache coherency,
- Game engine anatomy, Bluetooth,
- Pojekat seti_at_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!
19Zapamtite...
- 30 sedmica da naucite osnove racunarskih
arhitektura - Preincip apstrakcija služi za predstavljanje
sistema u slojevima - Šta su podaci? Program odreduje šta je šta!
- Koncept smještanja programa u memoriju i
instrukcije su podaci!!! - Princip lokalnosti diktira memorijsku hijerarhiju
(od keša pa naniže) - Povecanje performansi iskorištavanjem paralelizma
(protocnosti) - Kompajleri protiv interpretera smenjuje se broj
nivoa u sistemu - Principi i zablude pri mjerenju performansi
- Nastavlja se ubrzani razvoj u racunarstvu
- 2X brže svakih 18 mjeseci brzina procesora,
velicina memorije, kapacitet diska Moore-ov
zakon to omogucava (2X tran./chip/1.5 god) - 5 klasicnih komponenti svakog racunara
- 1. Kontrolna jedinica 2. Put podataka 3.
Memorija 4. Ulaz 5. Izlaz
Processor