Raunarske arhitekture Predavanje 1 Uvod Oktobar 2003 Doc
Računarske arhitekture Predavanje 1: Uvod Oktobar 2003 Doc. dr Novica Nosović ETF – Sarajevo, soba 0 -22 novica. nosovic@etf. unsa. ba RA 2002 -3 Pr 1
Pregled • • • Uvod u strukture računara Organizacija i anatomija računara Brze tehnološke promjene Struktura nastave Važne stvari koje treba zapamtiti RA 2002 -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 RA 2002 -3 Pr 1 3
Nivoi predstavljanja temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; High Level Language Program (e. g. , C) Compiler lw $to, lw $t 1, sw$t 0, 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) 0110 1000 1111 1001 1010 0000 0101 1100 1111 1000 0110 0101 1100 0000 1010 1000 0110 1001 1111 Upravljački signali RA 2002 -3 Pr 1 ° ° 4
Anatomija: 5 komponenti računara Personal 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 RA 2002 -3 Pr 1 5
Tehnološki Trendovi: Kapacitet memorije (1 Chip DRAM) God. 1980 1983 1986 1989 1992 1996 1999 (Megabit) 0. 0625 0. 25 1 4 16 64 256 1. 55 X/god, ili dvostruko svakih 1. 6 godina RA 2002 -3 Pr 1 6
Tehnološki trendovi: Mikroprocesori Moore’s Law Alpha 21264: 15 million Pentium Pro: 5. 5 million Power. PC 620: 6. 9 million Alpha 21164: 9. 3 million Sparc Ultra: 5. 2 million 2 X tranzistora/Chip Svakih 1. 5 godina “Moore-ov zakon”: RA 2002 -3 Pr 1 7
Tehnološki Trendovi: Procesorske Performanse 1. 54 X/yr Porast procesorskih performansi /god (Joy-ev zakon) a ne Moore-ov zakon (tranzistora/chip-u) RA 2002 -3 Pr 1 8
Računarska Tehnologija => Dramatične promjene • Procesor – 2 X brži svake 1. 5 godine; 1000 X performanse u zadnjih 10 god. • Memorija – DRAM kapacitet: 2 x / 1. 5 god. ; 1000 X u zadnjih 10 god. – Cijena po bitu: pada oko 25% godišnje • Disk – Kapacitet: > 2 X svakih 1. 5 god. – Cijena po bitu : pada oko 60% godišnje – 120 X u zadnjih 10 god • Savremeni PC kada vi diplomirate: ? ? ? – – Procesor clock: 8000 Mega. Hertz (8 Giga. Hertz) Memorija: 4000 Mega. Byte (4 Giga. Bytes) Disk Kapacitet: 600 Giga. Bytes (0. 15 Tera. Bytes) Nove stvari! Mega => Giga, Giga => Tera RA 2002 -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 RA 2002 -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 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 RA 2002 -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 RA 2002 -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. RA 2002 -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 RA 2002 -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 RA 2002 -3 Pr 1 15
Literatura • Computer Architecture: A Quantitative Approach: 2 nd 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 RA 2002 -3 Pr 1 16
Ocjenjivanje • Zadaće (2 individualno) • Seminarski radovi (2 timski rad) • Završni pismeni ispit 20% 40% • Najuspješnijih 10% završni ispit polažu prije junskog ispitnog roka RA 2002 -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, Ultra. SPARC, blade servers. . . ili po dogovoru! RA 2002 -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! – 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 – 2 X brže svakih 18 mjeseci; brzina procesora, veličina memorije, kapacitet diska; Moore-ov zakon to omogućava (2 X tran. /chip/1. 5 god) • 5 klasičnih komponenti svakog računara 1. Kontrolna jedinica; 2. Put podataka; 3. Memorija; 4. Ulaz; 5. Izlaz } RA 2002 -3 Pr 1 Processor 19
- Slides: 19