RA_Pr1-Uvod

Embed Size (px)

Citation preview

Raunarske arhitekture Predavanje 1: UvodVan. prof. dr Novica Nosovi ETF Sarajevo, soba 0-22 [email protected]

Pregled Uvod u strukture raunara Organizacija i anatomija raunara Brze tehnoloke promjene Struktura nastave Vane stvari koje treba zapamtiti

2

ta su strukture raunara?Application (Netscape) Compiler Operating System (Windows XP) Instruction Set Architecture

Software Hardware

Assembler

Processor Memory I/O system Datapath & Control Digital Design Circuit Designtransistors

Interakcija vie nivoa apstrakcije3

Nivoi predstavljanjaHigh Level Language Program (e.g., C) Compiler Assembler (npr. MIPS)

temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;lw $to, lw $t1, sw$t1, sw$t0,0000 1010 1100 0101 1001 1111 0110 1000 1100 0101 1010 0000

Asembler Mainski jezik (MIPS)

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

Mainski interpreter Upravljaki signali

4

Anatomija: 5 komponenti raunara

Personal Computer

Computer Processor (active) Control (brain) Datapath (brawn) Memory (passive) (where programs, data live when running) Devices Input

Keyboard, Mouse Disk(where programs, data live when not running)

Output

Display, Printer5

Tehnoloki Trendovi: Kapacitet memorije (1 Chip DRAM)size 1000000000

100000000

10000000 Bits

1000000

God. 1980 1983 1986 1989 1992 1996 1999

(Megabit) 0.0625 0.25 1 4 16 64 256

100000

10000

1.55X/god, ili dvostruko svakih 1.6 godina1970 1975 1980 1985 Year 1990 1995 2000

1000

6

Tehnoloki trendovi: Mikroprocesori

100000000

10000000

Moores LawTransistors 1000000 i80386 100000 i80286

Pentium i80486

Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million

i8086 10000 i8080 i4004 1000 1970 1975 1980 1985 Year 1990 1995 2000

2X tranzistora/Chip Svakih 1.5 godina

Moore-ov zakon:

7

Tehnoloki Trendovi: Procesorske Performanse900 800 700 600 500 400 300 200 100 0DEC Alpha 21264/600

1.54X/yr

DEC Alpha 5/500 DEC HP IBM SunMIPSMIPS AXP/ 9000/ -4/ M M/ RS/ 500 6000 750 260 2000 120 DEC Alpha 5/300 DEC Alpha 4/266 IBM POWER 100

87 88 89 90 91 92 93 94 95 96 97Porast procesorskih performansi /god (Joy-ev zakon) a ne Moore-ov zakon (tranzistora/chip-u)8

Raunarska Tehnologija => Dramatine promjene Procesor 2X bri 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% godinje Disk Kapacitet: > 2X svakih 1.5 god. Cijena po bitu : pada oko 60% godinje 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

9

ProcesoriMicroprocesor16bit adresa mikrokodiran 32bit adresa mikrokodiran Petofazni cjevovod, onchipI&D caches,FPU Dvostruka superskalarna, 64bitsabirnica Trostruki superskalar Supercjevovod, onchip1.2 cache

Proizvod Godina Povrinaumm2 Tranzistori Pinovi Kanjenje(takt) irinasabirnice (bits) Brzinasata(MHz) Propusnost(MIPS) Kanjenje(ns)

Intel80286 1982 47 134.000 68 6 16 12,5 2 320

Intel80386 1985 43 275.000 132 5 32 16 6 313

Intel80486 1989 81 1.200.000 168 5 32 25 25 200

IntelPentium 1993 90 3.100.000 273 5 64 66 132 76

IntelPentiumPro 1997 308 5.500.000 387 10 64 200 600 50

IntelPentium4 2001 217 42.000.000 423 22 64 1.500 4.500 15 10

MemorijeMemorijskimodul DRAM Mode DRAM Brzimod DRAM Brzimod DRAM Sinhronizovani DRAM Dvostrukitakt SDRAM

irinamodula(bits)

16

16

32

64

64

64

Godina

1980

1983

1986

1993

1997

2000

Mbits/DRAMchip

0.06

0.25

1

16

64

256

Vel.dielektrika(mm2)

35

45

70

130

170

204

Pinova/DRAMchip

16

16

18

20

54

66

Propusnost(MBit/sec)

13

40

160

267

640

1.600

Kanjenje(ns)

225

170

125

75

62

52

11

MreeLokalne raunarskemree Ethernet Brzi Ethernet Gigabitni Ethernet 10Gigabitni Ethernet

IEEEstandard Godina Propusnost (MBit/sec) Kanjenje(sec)

802.3 1978 10 3.000

803.3u 1995 100 500

802.3ab 1999 1.000 340

802.3ac 2003 10.000 190

12

DiskoviHarddisk 3600RPM 5400RPM 7200RPM 10,000RPM 15,000RPM

Proizvod

CDCWrenI 9414536 1983 0.03 5.25inch 5.25inch ST412 0.6 48.3

Seagate ST41600 1990 1.4 5.25inch 5.25inch SCSI 4 17.1

Seagate ST15150 1994 4.3 3.5inch 3.5inch SCSI 9 12.7

Seagate ST39102 1998 9.1 3.5inch 3.0inch SCSI 24 8.8

Seagate ST373453 2003 73.4 3.5inch 2.5inch SCSI 86 5.7 13

Godina Kapacitet(GB) Veliinadiska Dijametarmedije Interfejs Propusnost (MBit/sec) Kanjenje(ms)

Odnos propusnost/kanjenje

14

Zato studirati strukture raunara? PROMJENE; Nikada nije bilo uzbudljivije! Utiu na sve aspekte inenjeringa i raunarskih 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

15

ta ete uiti? Strukture raunara kako ih vidi programer ta pie programer Kako se to prevodi u neto to raunar razumije Kako raunar interpretira program Zato se programi izvravaju sporo Nauite osnovne stvari iz raunarstva i inenjeringa 5 klasinih komponenti raunara kako raunar manipulie onim to predstavlja stvari raunari sa programom u memoriji instrukcije su podaci princip lokalnosti iskoriten u memorijskoj hijerarhiji (ke) prevoenje i indirektno izvravanje vie performanse koritenjem paralelizma (protonost) principi apstrakcija, predstavljanje sistema po nivoima/slojevima kompajliranje protiv interpretiranja smanjuju broj slojeva sistema principi i greke zablude pri mjerenju performansi

16

ta neete uiti? Pisati programe ako znate jedan (programski) jezik, lako ete nauiti i drugi ... ako znate C++ ili Java, lako ete razumjeri njuhove pretke, C...

Programirati u asembleru to ete nauiti uei osnovne stvari

C C++

Projektovati logike strukture (hardver) Kompajlere i operativne sisteme ali morate znati njihove uloge i principe

shvatite hardver kao nivo apstrakcije, morate ga razumjeti da bi shvatili vie nivoe Java

17

Struktura nastave zvanino! 1. Predmet: RAUNARSKE ARHITEKTURE 2. Semestar: IV 3. Optereenje: P V T - prosjeno sedmino 3 1,5 0 - ukupno 40 20 0 4. Sadraj Uvod u raunarske arhitekture - performanse i podjele, kvantitativni principi dizajna raunara, arhitektura skupa instrukcija, protone strukture, hazardi, paralelizam na nivou instrukcija, podrka kompajlera u poveanju paralelizma na nivou instrukcija, podrka hardvera u poveanju paralelizma na nivou instrukcija, hijerajhija memorije, paralelne raunarske arhitekture, projektovanje paralelenih raunara, naini povezivanja komponenti sistema, mree za povezivanje, preklopnici, performanse paralelnih raunara, ke koherencija i konzistencija u distribuiranim sistemima, tredovi-niti, message passing protocol, klasteri, grid.

18

Hronologija i sadraj RAUNARSKE ARHITEKTURE - PERFORMANSE I PODJELE VON NEUMANN-OV MODEL, RAZVOJ OD VON NEUMANN-A, OSNOVE DIZAJNA, KVANTITATIVNI PRINCIPI DIZAJNA ARHITEKTURA SKUPA INSTRUKCIJA NAINI ADRESIRANJA MEMORIJE, OPERACIJE U SKUPU INSTRUKCIJA, UPRAVLJAKE INSTRUKCIJE, TIPOVI I VELIINE OPERANADA, KODIRANJE INSTRUKCIJA, ULOGA KOMPAJLERA, UTICAJ KOMPAJLERA NA ARHITEKTURU, OGLEDNA LOAD/STORE ARHITEKTURA, FORMAT INSTRUKCIJA, EFEKTIVNOST OGLEDNE ARHITEKTURE PROTONE STRUKTURE OGLEDNA ARHITEKTURA BEZ PROTONE STRUKTURE, OSNOVNA PROTONA STRUKTURA ZA OGLEDNU ARHITEKTURU HAZARDI STRUKTURNI HAZARDI, HAZARDI PODATAKA, KLASIFIKACIJA HAZARDA PODATAKA, HAZARDI PODATAKA KOJI ZAHTJEVAJU ZASTOJE, KOMPAJLERSKO RASPOREIVANJE INSTRUKCIJA, UPRAVLJANJE OGLEDNOM PROTOCNOM STRUKTUROM, UPRAVLJACKI HAZARDI, STATICKO PREDVIANJE GRANANJA, PREKIDI/IZUZECI U PROTOCNOJ STRUKTURI, IZUZECI KOD OGLEDNE ARHITEKTURE, KOMPLIKACIJE SKUPA INSTRUKCIJA, OGLEDNA ARHITEKTURA I VIECIKLUSNE OPERACIJE

19

Hronologija i sadraj (nastavak) 5 PARALELIZAM NA NIVOU INSTRUKCIJA PARALELIZAM NA NIVOU PETLJE, DINAMICKIO RASPOREIVANJE INSTRUKCIJA, DINAMIKO RASPOREIVANJE SA SEMAFOROM, TOMASULOV ALGORITAM, DINAMIKO PREDVIANJE GRANANJA, KORITENJE BAFERA ODREDINIH ADRESA GRANANJA, SUPERSKALARNI I VLIW PROCESORI, SUPERSKALARNA VERZIJA OGLEDNE ARHITEKTURE, VIESTRUKO POKRETANJE INSTRUKCIJA SA DINAMIKIM RASPOREIVANJEM, VLIW PRISTUP, OGRANIENJA PROCESORA SA VIESTRUKIM POKRETANJEM INSTRUKCIJA 6 PODRKA KOMPAJLERA U POVECANJU ILP-a OTKRIVANJE I ODKLANJANJE ZAVISNOSTI, SOFTVERSKE PROTONE STRUKTURE, TRASIRANJE 7 PODRKA HARDVERA U POVECANJU ILP-a USLOVNE INSTRUKCIJE, KOMPAJLERSKO SPEKULISANJE UZ PODRKU HARDVERA, SARADNJA HW-SW U SVRHU SPEKULACIJE, SPEKULISANJE KORITENJEM BITA "OTROVA", SPEKULATIVNE INSTRUKCIJE SA REIMENOVANJEM, HARDVERSKO SPEKULISANJE 8 PARALELNE RAUNARSKE ARHITEKTURE PROJEKTOVANJE PARALELNIH RAUNARA, NAINI POVEZIVANJA KOMPONENTI SISTEMA, MREE ZA POVEZIVANJE, PREKLOPNICI, PERFORMANSE PARALELNIH RAUNARA

20

Literatura J. L. Hennessy, D. A. Patterson: Computer Architecture: A Quantitative Approach, D. A. Patterson, J. L. Hennessy: Computer Organization & Design: The Hardware/Software Interface, A. Tanenbaum: Structured Computer Architectures a ako nemate nita bolje, onda Novica Nosovi, RAUNARSKE ARHITEKTURE interni materijal ETF Sarajevo, 1999 (i mlae!)

21

Ocjenjivanje Zadae (2 individualno) Seminarski radovi (2 timski rad) Pismeni ispit Razgovor zavrni ispit... 20% 40% 40%

Najuspjenijih 10% zavrni ispit polau prije junskog ispitnog roka

22

Teme za seminarske radove - prijedlozi I seminarski rad savremene komponente raunarskih sistema (registarski prozori, memorijske hierarhije, Data prefetching, Cache coherency, Bluetooth, Firewire, switch/router, Hyperthreading, PCI Express, Hypertransport, ARM procesor, Embeded processors, AMD procesori, Intel procesori, DDR x, Power management, Sun UltraSPARC procesori, Systolic arrays, Vektorski procesori, DSP...) II seminarski rad savremeni raunarski sistemi (pojekat seti@home, NAS vs SAN, Game engine anatomy (PS3), GPU kao CPU CUDA, Beowulf, virtuelizacija, blade servers, klasteri, mrea radnih stanica, Grid computing, superracunari, Cloud computing ili klaster PS3 pod Linuxom?...) ... ili po dogovoru!

23

Zapamtite... 14 sedmica da nauite osnove raunarskih arhitektura Preincip apstrakcija slui za predstavljanje sistema u slojevima ta su podaci? Program odreuje ta je ta! Koncept smjetanja programa u memoriju i instrukcije su podaci!!! Princip lokalnosti diktira memorijsku hijerarhiju (od kea pa nanie) Poveanje performansi iskoritavanjem paralelizma (protonosti) Kompajleri protiv interpretera smenjuje se broj nivoa u sistemu Principi i zablude pri mjerenju performansi Nastavlja se ubrzani razvoj u raunarstvu 2X bre svakih 18 mjeseci; brzina procesora, veliina memorije, kapacitet diska; Moore-ov zakon to omoguava (2X tran./chip/1.5 god) 5 klasinih komponenti svakog raunara 1. Kontrolna jedinica; 2. Put podataka; 3. Memorija; 4. Ulaz; 5. Izlaz

Processor

}24