71
KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA Doc. Stasys Maciulevičius Kompiuterių katedra sta sys. ma ciulevicius ŠIUOLAIKINIŲ KOMPIUTERIŲ ARCHITEKTŪRA

KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA

  • Upload
    duc

  • View
    67

  • Download
    2

Embed Size (px)

DESCRIPTION

KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA. ŠIUOLAIKINIŲ KOMPIUTERIŲ ARCHITEKTŪRA. Doc. Stasys Maciulevičius Kompiuterių katedra sta sys. ma ciulevicius @ktu.lt. Ankstesnėje paskaitoje. Magnetiniai diskai Informacija magnetiniame diske MD įrašymo būdai Flash atmintis S SD - PowerPoint PPT Presentation

Citation preview

Page 1: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

KOMPIUTERIŲ ELEMENTAI ir

ARCHITEKTŪRA

Doc. Stasys Maciulevičius

Kompiuterių katedra

[email protected]

ŠIUOLAIKINIŲ KOMPIUTERIŲ ARCHITEKTŪRA

Page 2: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 22011

Ankstesnėje paskaitoje

Magnetiniai diskai Informacija magnetiniame diske MD įrašymo būdai Flash atmintis SSD Hibridiniai diskai CD DVD Naujieji DVD tipai

Page 3: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 32011

Šioje paskaitoje

Grafinė plokštė Grafinė atmintis Grafinės atminties tipai Grafikos procesorius Įterptinė grafika SLI ir CrossFire Skaičiavimų spartinimas Intel Larrabee Bendrosios paskirties GPU Nvidia CUDA

Page 4: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 42011

Grafikos aktualumas

AMD http://www.amd.com/us/products/technologies/fusion/Pages/training-

course.aspx teigia: Kiekvieną sekundę į Facebook įkeliama daugiau nei

1000 nuotraukų Kiekvieną minutę į YouToube įkeliama apie 20 valandų

video medžiagos Kiekvieną dieną vartotojai į savo skaitmenines media

bibliotekas įkelia apie 50 mln failų Šiandien vartotojų asmeninėse bibliotekose 9 mlrd

video failų yra didelės raiškos (HD) Tai smarkiai įtakoja vartotojų pasirinkimą perkant

kompiuterius

Page 5: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 52011

Ko nori vartotojai

Remiantis šiuolaikinių technologijų naudojimo praktika galima sakyti, kad vartotojai iš kompiuterio laukia:

Ryškaus ir švaraus vaizdo, atkuriamo realiu laiku Galimybės vienu metu vykdyti keletą naujausių

taikomųjų programų Elegantiškos išvaizdos ir prieinamos kainos Energetinio efektyvumo, tylos, tačiau ne našumo

sąskaita Turtingos grafikos ir vaizdo

Page 6: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 62011

Grafinė plokštė

Grafinė plokštė – svarbus PC įtaisas, kuris kompiuterio apdorotą informaciją mums pateikia akiai maloniu vaizdu

Anksčiau kompiuterių grafinė plokštė transformuodavo skaitmeninę informaciją į analoginę, kurią išvesdavo į ekraną

Šiuolaikiniuose LCD displėjuose informacijos transformuoti į analoginę nereikia

Vaizdas ekrane sudaromas iš taškų – pikselių. Šie gali būti vienspalviai arba spalvoti

Aukščiausios kokybės vaizdą (full-color arba true color) užtikrina 1 pikseliui koduoti skirti 24 arba 32 bitai – 16,8 mln. spalvų

Page 7: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 72011

Grafinė plokštė

Jungtis su kompiuteriu Atmintis

Video jungtis

Page 8: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 82011

Grafinė plokštė

Grafinės plokštės vadinamos įvairiais vardais: video plokštėmis, video kortomis, grafinių adapterių plokštėmis, video adapterių plokštėmis.

Ankstesnių PC grafinė plokštė buvo sudaryta iš 4 pagrindinių komponentų:

grafikos procesoriaus video atminties tvarkyklės programos (driver) keitiklio, transformuojančio RAM skaitmeninę

informaciją į analoginę (RAMDAC)

Page 9: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 92011

Grafinė plokštė

Page 10: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 102011

Grafinių adapterių standartai

MetaiStan-dartas

Pavadinimas Raiška Spalvų sk.

1981 CGA Colour Graphics Adapter640x200160x200

Nėra16

1984 EGAEnhanced Graphics

Adapter640x350 16 iš 64

1987 VGA Video Graphics Array 640x480320x200

16 iš 262,144256

1990 XGA EXtended Graphics Array 1024x768 16.7 milijonų

SXGASuper Extended Graphics

Array1280x1024 16.7 milijonų

UXGA Ultra XGA 1600x1200 16.7 milijonų

QXGA Quantum XGA 2040x1536 16.7 milijonų

Į turinį

Page 11: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 112011

Video atmintis

Video atmintis – speciali atminties sritis, skirta monitoriuje atvaizduojamai informacijai laikyti; iš jos ekrano kontroleris cikliškai skaito informaciją ir regeneruoja vaizdą. Dar vadinama kadrų buferiu (frame buffer).

PC atmintyje ši sritis pagal tradiciją užima sritį A0000-BFFFFh (128 KB).

Paprastesniems adapteriams (MDA, CGA, EGA) tokios srities pakako. VGA ir SVGA – ne, todėl čia teko panaudoti bankų perjungimo principą.

Reikalingos atminties apimtys – lentelėje:

Page 12: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 122011

Reikalinga video atminties talpa

Bitų/ piks.

Spalvų skaičius

640x480 800x600 1024x768 1280x1024

4 16 150 KB 234 KB 384 KB 640 KB

8 256 300 KB 469 KB 768 KB 1,25 MB

15 32768 600 KB 938 KB 1,5 MB 2,5 MB

24 16,7 mln. 900 KB 1,37 MB 2,25 MB 3,75 MB

32 16,7 mln. 1,17 MB 1,83 MB 3,0 MB 5,0 MB

Page 13: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 132011

Grafinė atmintis

Anksčiau buvo sudaroma iš paprastų DRAM mikrochemų. Tačiau regeneravimo metu operacijos negalėjo būti vykdomos.

Vėliau PC video atmintyse buvo naudojamos tokių tipų atmintys:

VRAM – Video RAM; tai dviejų portų DRAM, kuriose tuo pačiu metu informacija gali būti įrašoma ir skaitoma

WRAM – Windows RAM; taip pat dviejų portų DRAM, kuri spartesnė nei VRAM

Page 14: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 142011

VRAM SM55161A struktūra

DataD0-D15

Stulp. adr. buferis

Regener. skaitiklis

Eil. adr. buferis

Nuoseklioji Atmintis (NA)

Stulpelio dešifratorius

Stiprintuvai

DRAM matrica

512 x 512 x 16

Eil.

deš

ifrat

.

A0-A8

A0-A8A0-A8

Duomenųbuferiai

NA adr. buferis

A0-A8NA

buferisSDQ0-15

512x16

Į turinį

Page 15: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 152011

Grafinės atminties tipai

GDDR GDDR2 GDDR3 GDDR4 GDDR5

Nvidia ATI

Serij. ga-myba nuo

2001 2003 2004 2006 2006 2008

Maksimalus dažnis

200 MHz 500 MHz 900 MHz 1.2 GHz 1.4 GHz 5 GHz

Konfigū-racija

4 Mx32 4 Mx32 8 Mx32 8 Mx32 16Mx32 32Mx32

Buferio plotis

2n 4n 4n 4n 8n 8n

Mait. įtampa 2.5 V 2.5 V 1.8 V 1.8 V 1.8 V 1.5 V

Page 16: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 162011

Grafinės atminties tipai

Šiuolaikinėse grafinėse atmintyse dideliam pralaidumui pasiekti naudojami tie patys principai, kaip ir RAM

GDDR3 – Graphics Double Data Rate 3 – naudoja tą pačią technologiją kaip ir DDR2, tačiau kartu sunaudoja mažiau energijos ir išskiria mažiau šilumos. Per vieną kontaktą per 2 taktus persiunčiami 4 bitai

Page 17: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 172011

Grafinės atminties tipai

GDDR4 dvigubai našesnė už GDDR3 . Tai pasiekta padvigubinus išrinkimo plotį nuo 4 iki 8 bitų, maksimalus bankų skaičius taip pat padidintas iki 8

Maitinimo įtampa sumažinta iki 1.5 V GDDR4, dirbanti 2.4 Gb/s sparta, sunaudoja 45%

mažiau energijos lyginant su GDDR3, dirbančia 2.0 Gb/s sparta

Tikimasi, kad GDDR4 pasieks 1.4 GHz dažnį (2.8  Gb/s), o Samsung planuoja pasiekti 1.6 GHz (3.2 Gb/s), padidinus maitinimo įtampą

Page 18: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 182011

Grafinės atminties tipai

GDDR5 naudoja tą pačią technologiją kaip ir DDR3, todėl yra dvigubai našesnė už GDDR4

Qimonda 2008 m. pristatė 512 Mb GDDR5 kristalus, užtikrinančius 3.6 Gb/s (900 MHz), 4.0 Gb/s (1 GHz) ir 4.5 Gb/s (1.125 GHz) spartą

Samsung 2008 m. pristatė 512 Mb kristalus, užtikrinančius 6.0 Gb/s spartą

Į turinį

Page 19: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 192011

Grafinės atminties pralaidumas

Atm

intie

s pr

alai

dum

as (

Gb/

s) v

iena

m iš

vadu

i

Page 20: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 202011

GDDR5 palyginimas su DDR3

Page 21: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 212011

Kiek grafinės atminties reikia?

Laikoma, kad idealus sparčiausios GDDR5 atminties kiekis masiniuose nešiojamuose kompiuteriuose yra nuo 512MB iki 1GB

GPU su tokia GDDR5 užtikrina didesnę spartą lyginant su GPU, turinčiu didesnę ir didesniu dažniu dirbančią DDR3 atmintį

Papildoma nenaudojama grafinė atmintis reikalauja didesnių energijos sąnaudų, generuoja daugiau šilumos, gali paveikti baterijos gyvavimo laiką, kartu nedidėjant sistemos našumui

Page 22: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 222011

Grafikos svarba

Svarbi kompiuterių industrijos varomoji jėga šiais laikais – kompiuterinė grafika. Kiek keista, bet atrodo, kad pagrindinis progreso variklis - kompiuteriniai žaidimai

Tetrio laikai, kai pradžioje apskritai buvo apsieinama be grafikos, negrįžtamai praėjo

Atėjo laikai, kai modeliuojama realybė. Kuo ji sudėtingesnė, kuo daugiau tenka modeliuoti judančių objektų, perpiešti didesnes ekrano sritis, tuo didesni reikalavimai techninei įrangai

Page 23: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 232011

Grafikos svarba

Pasirodžius Quake tipo kompiuteriniams žaidimams ir įvairiausiems “simuliatoriams”, kur modeliuojami realūs trimačiai objektai, paviršiams vaizduoti naudojamos įvairiausios tekstūros, šešėliai, užtemdymas, dūmų efektai, panaudojamas skaidrumas, reikia labai didelių skaičiavimo resursų

Centrinio procesoriaus galios jau nebepakanka, todėl buvo sukurti specializuoti grafiniai procesoriai - grafiniai akceleratoriai

Jiems perduodama dalis operacijų, susijusių su trimačių objektų modeliavimu. Jie realizuoja daugelį efektų aparatiniu būdu, naudojant nesudėtingą matematinį aparatą.

Page 24: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 242011

Grafika ir CPU

Fizinius efektus, kurie reikalingi dirbant su vaizdais, grafinis procesorius apskaičiuoja žymiai sparčiau, nei tai daro centrinis procesorius, pavyzdžiui:

Page 25: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 252011

Grafikos kokybė

Tai kompiuteriu sukurtas aktorės Adrianne Curry paveikslas, naudojant NVIDIA GeForce 8800 GTX

Page 26: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 262011

Grafikos procesorius

Anksčiau viską darydavo CPU, bet grafika jį pernelyg apkraudavo.

Šiuolaikinių PC grafikos plokštėse tam įdėtas specialus grafikos procesorius, kuris atlieka tokias operacijas:

taškinio (bitmap) vaizdo perdavimas ir piešimas, langų didumo ir vietos keitimas, linijų braižymas, daugiakampių braižymas, mastelio keitimas

Page 27: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 272011

GPU Radeon HD 5800

Page 28: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 282011

NVIDIA GeForce 8800 GPU

Page 29: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 292011

NVIDIA GeForce 8800 GPU

Į turinį

Page 30: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 302011

Įterptinė grafika

Ne viada reikalingi dideli grafikos pajėgumai. Pavyzdžiui, dirbant su raštinės programų paketais, turime tik dvimatę grafiką

Todėl kompiuterių ir jų procesorių projektuotojai numatė dvi galimybes grafikos posistemiui supaprastinti: supaprastintą grafikos itaisą įkelti į valdymo

schemų rinkinio šiaurinį tiltą supaprastintą grafikos itaisą įkelti į paties

CPU kristalą

Page 31: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 312011

Intel: CPU ir integruota grafika

Page 32: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 322011

Įterptinė grafika

Nešiojamiems kompiuteriams skirtas AMD VSR M880G turi integruotą grafinį branduolį RV620 (tai diskrečiojo Mobility Radeon HD 4250 modifikacija)

Šis grafinis branduolys turi 40 universalių procesorių (8х5), keturis tekstūrinius blokus ir keturis rastro formavimo blokus

Grafinis branduolys dirba 500 MHz dažniu. Kadrų buferiui naudojama iki 512 MB RAM (DDR2 arba DDR3)

Grafinis branduolys palaiko API DirectX 10.1 ir OpenGL 2.0

Page 33: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 332011

Intel: CPU ir integruota grafika

Kairėje – “senasis” Penryn, dešinėje – 32 nm Westmere

Page 34: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 342011

Įterptinė grafika

Nešiojamiems kompiuteriams skirti Core i3/i5/i7 turi integruotą grafinį branduolį GMA HD (GMA 5700MHD). Jame yra 12 universalių procesorių

Grafinio branduolio dažnis nuo 500 MHz iki 766 MHz

Kadrų buferiui naudojama iki 1,5 GB RAMGrafinis branduolys palaiko API DirectX 10 ir

OpenGL 2.1

Page 35: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 352011

Perjungiama grafika

Kadangi nešiojamiems kompiuteriams svarbu taupyti energiją, o kartais reikalinga ir galingesnė grafika, gali būti panaudotas toks sprendimas:

grafinis procesorius įstatomas į pagrindinę plokštę su integruota grafika

kai kompiuteris maitinamas iš elektros tinklo, dirba grafinis procesorius, kai kompiuteris maitinamas iš baterijos – naudojama integruota grafika (Nvidia Optimus)

Page 36: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 362011

Perjungiama grafika (NVIDIA)

Page 37: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 372011

Perjungiama grafika (NVIDIA)

Į turinį

Perjungiamos grafikos darbo scenarijai

Page 38: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 382011

SLI (Scaleable Link Interface)

2004 m., siekdama padidinti grafikos pajėgumus, nVidia pristatė sistemą, pavadintą SLI

Pagrindinė SLI idėja - leisti dviems ar daugiau GPU bendrai dalintis darbą kuriant tikroviškus trimačius vaizdus (rendering)

Dvi grafinės plokštės įstatomos į PCI-Express x16 lizdus sisteminėje plokštėje; jos dirba master-slave principu

Dalis vaizdo per specialią jungtį (SLI Bridge) perduodama į kitą plokštę. Apdorojusi informaciją, ši grąžina ją vedančiajai, kuri apjungia vaizdus ir perduoda į ekraną

Page 39: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 392011

SLI (Scaleable Link Interface)

Darbo pasidalijimas tarp dviejų GPU gali būti atliekamas vienu iš trijų būdų:

1. Split Frame Rendering (SFR) – darbas tarp GPU padalijamas 50/50 santykiu; tai gali būti dalijama horizontaliu pjūviu, tačiau atsižvelgiant į vaizdo geometriją – jei kurioje dalyje daugiau tuščių vietų (mėlynas dangus), tai ta dalis bus didesnė

2. Alternate Frame Rendering (AFR) – vienas GPU apdoroja lyginius kadrus, kitas – nelyginius. Tai duoda beveik dvigubą spartą (Nvidia tvirtina, kad sparta išauga iki 1.9x)

Page 40: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 402011

SLI (Scaleable Link Interface)

3. SLI Antialiasing. Čia pasidalijamas darbas glotninant laiptuotas linijas. Išauga vaizdo kokybė, bet ne darbo sparta.

SLI technologiją palaiko Windows XP, Windows Vista ir Linux (visos 32 ir 64 bitų)

Page 41: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 412011

Triple SLI

Kaip "Triple SLI" sistemos dalys galės būti naudojamos vaizdo plokštės su nVidia GeForce 8800 Ultra ir GeForce 8800 GTX

Page 42: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 422011

Triple SLI

Oficialiai teigiama, kad trijų vaizdo plokščių SLI konfigūracijoje naudojimas turėtų padidinti žaidimų spartą iki 2.8 karto bei leisti pasiekti 60 FPS spartą esant net 2560x1600 raiškai

Kompiuterio su tokia vaizdo posisteme kaina nebus maža - daug kainuoja ne tik trys vaizdo plokštės, bet ir daugiau nei 1000 W galios maitinimo blokas, nauja pagrindinė plokštė

Amerikiečiai paskaičiavo, kad neperkant pigiausių sistemos komponentų sistema kainuoja apie 2828 JAV dolerius neskaitant korpuso, kietojo disko, DVD įrenginio kainų

Page 43: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 432011

Quad SLI

2006 m., siekdama grafikos pajėgumus didinti kartu su CPU, nVidia pristatė keturių grafikos procesorių sistemą, pavadintą Quad SLI

Sistemą sudaro dvi plokštės, po du GPU kiekviena; plokštės tarpusavyje sujungtos 10 kontaktų jungtimi

Kiekvienas GPU turi 512 KB GDDR3 atminties

Page 44: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 442011

Quad SLI

Page 45: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 452011

CrossFire

2005 m. ATI pristatė dviejų grafinių plokščių tandemą, pavadintą CrossFire. Jį sudarė:

Radeon CrossFire Edition grafinė plokštė su Compositing Engine

antra PCI Express grafinė plokštė su Radeon X800 ar X850 serijų GPU

CrossFire Ready sisteminė plokštė su dviem PCI Express jungtimis grafikai

CrossFire tvarkyklė

Page 46: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 462011

CrossFire

Į turinį

Page 47: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 472011

Procesorių našumas ir galia

Page 48: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 482011

Amdahl dėsnis ir lygiagretumas

Page 49: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 492011

Skaičiavimų spartinimas

Skaičiavimų industrija susiduria su tokiomis problemomis:

Plėtojami komerciniai ir vartotojiški uždaviniai (t.t. virtualizacija ir multimedijos elementus turintys uždaviniai), kuriems reikia nebrangių, energijos sąnaudų atžvilgiu efektyvių ir labai našių skaičiavimų

Sutinkami ir išlygiagretinti algoritmai, kurie gali būti realizuojami daugiabranduolinėse architektūrose

Stokojama programuotojų, turinčių žinias ir įgūdžius lygiagrečioms programoms rašyti, ir priemonių tokioms programoms derinti

Page 50: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 502011

Skaičiavimų spartinimas: x86

1985 1990 2000 2008

Pirmoji karta:

Dažnis ir architektūra

Antroji karta:

Homogeniškos kelių branduolių

sistemos

Trečioji karta:

Heterogeniškos kelių branduolių

sistemosDidesnis dažnis = didesnis našumas

Didesnis pralaidumas =

didesnis našumas

Tinkamiausia užduočiai

aparatūra = didesnis našumas, energ.efektyvumas ir mažesnė kaina

Page 51: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 512011

Skaičiavimų spartinimas

Į turinį

Page 52: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 522011

CPU ir grafika

Page 53: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 532011

Intel Larrabee

Larrabee branduolys yra x86 tipo:

Branduolys kurtas Pentium branduolio pagrindu tačiau gerokai modifikuotas:

Palaiko 64 bitų operacijas, Turi didesnius L1 kešus (po 32

KB), Turi vidinį L2 kešą (256 KB), Palaiko 4-way SMT/Hyper

Threading, Turi 16 komponenčių (32 bitų

FP) vektorinį ALU Jis lygiagrečiai inicijuoja

dviejų operacijų vykdymą

Page 54: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 542011

Intel Larrabee Procesorius turėtų daug branduolių, apjungtų

dvikrypte žiedine magistrale (512 bitų kiekviena kryptimi):

Page 55: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 552011

Intel Larrabee

Intel SC09 konferencijoje demonstravo Larrabee galimybes: 16 branduolių variantas (2,0 GHz dažnis, 150 W), kai dirbo pusė branduolių, pasiekė 417 Gflopų našumą, o kai buvo įjungti visi resursai – 825 Gflopų

Norėdami pasiekti 1 Tflopo ribą, inžinieriai panaudojo forsavimo priemones, ir tai davė 1006 GFlopų

Page 56: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 562011

Intel Larrabee

Intel neseniai džiaugėsi Larrabee galimybėmis, tačiau kol kas susilaiko nuo šio (video)procesoriaus gamybos (regis, planai tik atidedami)

Dabar firma nusprendė koncentruoti savo pajėgas CPU ir grafikos posistemio integravimui

Tokie yra procesoriai Westmere su integruotu videobranduoliu

Page 57: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 572011

GPU ir grafika

Kodėl grafinių procesorių sparta didėja greičiau nei CPU? CPU projektuotojai pagrindinį dėmesį skiria

komandų lygmens lygiagretumui didinti – perėjimų prognozei, vykdymuo ne eilės tvarka ir pan.

Iš prigimties aukštas grafinių skaičiavimų lygiagretumo laipsnis leidžia visas jėgas skirti tiesioginei skaičiavimo spartai didinti

Page 58: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 582011

GPU galimybės

Pirmieji grafiniai procesoriai turėjo fiksuotų funkcijų konvejerius, kurių išėjimuose buvo gaunamos 8 bitų spalvų kodus

Palaipsniui grafinių procesorių galimybės augo, ir dabar jau turime šiuolaikinius grafinius procesorius, kurie pasižymi aukštomis programavimo galimybėmis, kartu palaikydami vektorizuotas slankaus kablelio operacijas su įprasto tikslumo skaičiais (32 bitų)

Page 59: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 592011

GPU galimybės

Tad dėl vis didėjančios darbo spartos ir tikslumo bei programavimo galimybių augimo grafiniai procesoriai tampa patrauklia ir bendrosios paskirties skaičiavimų platforma

2002 metais pasirodė terminas GPGPU (General-Purpose computation on Graphics Processing Units ) - bendrosios paskirties skaičiavimai naudojant grafinius procesorius

Page 60: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 602011

Bendrosios paskirties GPU

Grafinių procesorių demonstruojamas skaičiavimų našumas – stulbinantis

Pavyzdžiui, GeForce 8800 dar 2006 m. paprastuose testuose parodė 330 GFlops našumą. 2008 m. pasiektas jau Tflops našumas.

Toks vis augantis grafinių procesorių našumas paskatino tyrimus, skirtus GPU panaudojimui įprastiems skaičiavimams

Stasys
graphics.stanford.edu/projects/gpubench
Page 61: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 612011

GPU realizacijos

AMD FireStream — GPGPU technologija, įgalinanti programuotojams realizuoti algoritmus, kurie būtų vykdomi ATI firmos GPU.

CUDA — Nvidia firmoje sukurta GPGPU technologija, įgalinanti programuotojams C kalboje realizuoti algoritmus, kurie būtų vykdomi ne žemesnės kaip 8 kartos GeForce GPU (GeForce 8 Series, GeForce 9 Series, GeForce 200 Series), Nvidia Quadro ir Nvidia Tesla.

DirectCompute — “šeideris” (Compute Shader –vienos iš grafinio konvejerio pakopų programa, nustatanti galutinius objekto ar vaizdo parametrus).

OpenCL — programavimo kalba, skirta uždaviniams su lygiagrečiaisiais skaičiavimais įvairiuose GPU ir CPU

Page 62: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 622011

Bendrosios paskirties GPU

Tyrinėtojai grafinį procesorių naudoja kaip koprocesorių skaičiavimams paspartinti

Žinoma, dėl specializuotos architektūros ypatumų GPU gerai tinka ne bet kokiems algoritmams realizuoti.

Daugeliui taikomųjų uždavinių būdingas nuoseklus apdorojimas, neprognozuoti kreipiniai į atmintį. Tačiau nemaža svarbių uždavinių reikalauja gana galingų skaičiavimo resursų ir neblogai derinasi su GPU būdinga daugelio branduolių architektūra

Page 63: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 632011

Bendrosios paskirties GPU

O kai kurie uždaviniai dirba su labai dideliais duomenų masyvais, ir čia GPU galimybės gali būti puikiausiai panaudotos

Tinkamai parinktas algoritmas, perkeltas į GPU platformą, dažnai padeda 5-20 kartų padidinti našumą lyginant su šiuolaikiniais įprastais procesoriais, o ypač tinkami GPU architektūrai algoritmai realizuojami net šimtą kartų greičiau

Į turinį

Page 64: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 642011

Nvidia CUDA

Grafiniai skaičiavimai gali būti panaudojami ir dirbant su slankaus kablelio skaičių masyvais

Tad šiandien problema yra ta, kad GPGPU panaudojimui reikia turėti atitinkamą programinę įrangą

Tam Nvidia ir sukūrė CUDA (Compute Unified Device Architecture) – bendrosios paskirties lygiagrečiųjų skaičiavimų architektūrą, kuri panaudoja Nvidia GPU skaičiavimams su slankaus kablelio skaičiais

Page 65: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 652011

CUDA technologija

Panaudojamos didelio skaičiaus grafinių branduolių galimybės

Skaičiavimo gijos gali komunikuoti ir kooperuoti grafiname procesoriuje

Sudėtingiems skaičiavimo uždaviniams galima naudoti standartinę C kalbos sąsają

Tradicinių CPU galimybės papildomos iš prigimties lygiagrečių programų apdorojimu GPU

GPU resursai išnaudojami ir kitaip, nei priimta grafiniuose skaičiavimuose

Page 66: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 662011

Nvidia CUDA

Page 67: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 672011

CUDA skaičiavimų eiga

1. Duomenys kopijuojami iš pagrindinės atminties į GPU atmintį

2. CPU nukreipia skaičiavimus į GPU

3. GPU vykdo (lygiagrečiai) programos kodą kiekviename branduolyje

4. Rezultatai kopijuojami iš GPU atminties į pagrindinę atmintį

Page 68: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 682011

CUDA progr. įrang. architektūra

CUDA programinė įranga yra sudaryta iš kelių sluoksnių:

• aparatinės įrangos tvarkyklės,

• aplikacijų programavimo sąsajos (API) ir

• dviejų bendros paskirties aukšto lygio matematinių bibliotekų

Page 69: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 692011

Nvidia CUDA našumas

N kūnų gravitacinės sąveikos erdvėje modeliavimas

Į turinį

Page 70: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 702011

Kontroliniai klausimai

1. Kokia grafinės plokštės paskirtis?

2. Kuo ypatingos grafinės atmintys?

3. Kokius grafinės atminties tipus žinote?

4. Kuo ypatingi grafiniai akceleratoriai (procesoriai)?

5. Kuo skiriasi CPU nuo GPU?

6. Ką vadiname įterptine grafika?

7. Ką vadiname perjungiama grafika?

Page 71: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 712011

Kontroliniai klausimai

7. Kas yra SLI?

8. Kas yra CrossFire?

9. Kokiu keliu buvo spartinami skaičiavimai?

9. Kokia buvo Larrabee idėja?

10. Ką reiškia santrumpa GPGPU?

11. Kas yra CUDA?