560 likes | 820 Views
KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS. Doc. Stasys Maciulevičius Kompiuterių katedra stasys.maciulevicius@ktu.lt. An kstesn ė s paskaitos santrauka. Procesori ai Intel procesori ų raida 64 bitai ir keli branduoliai Naujieji Intel procesori ai Sandy Bridge Ivy Bridge
E N D
KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS Doc. Stasys Maciulevičius Kompiuterių katedra stasys.maciulevicius@ktu.lt
Ankstesnės paskaitos santrauka • Procesoriai • Intel procesorių raida • 64 bitai ir keli branduoliai • Naujieji Intel procesoriai • Sandy Bridge • Ivy Bridge • Haswell • Atom
Šios paskaitos turinys • AMD procesoriai • AMD K10 architektūra • AMD Bulldozer • AMD - paspartinti skaičiavimai • Idėja • AMD Fusion • AMD Llano ir Trinity • x86 analogai • ARM procesoriai
AMD procesoriai AMD sąsajos su x86 architektūra siekia 1982 metus, kai su Intel buvo pasirašyta licencijavimo sutartis. Tad pradžioje AMD gaminami procesoriai buvo Intel procesorių analogai, tačiau mažesnės kainos dėka sėkmingai konkuravo rinkoje. Pirmuoju AMD suprojektuotu visiškai originalios architektūros procesoriumi buvo K5 (1996) – penktosios kartos procesorius, turėjęs x86 komandų sistemą, našumu prilygęs Intel Pentium, tačiau techniniais sprendimais artimesnis Pentium Pro, kadangi jis x86 komandasjau perkodavo į RISC86 operacijas
AMD procesoriai Vėliau sekė procesoriai K6 (1997), Athlon (K7, 1999), Athlon XP (2001) Aštuntajai kartai (K8) priklausę procesoriai Opteron buvo pirmieji, palaikę 64 bitų aritmetiką, turėję integruotą atminties kontrolerį ir didelės spartos sąsają HyperTransport (2003) 2005 m. buvo išleisti pirmieji dviejų branduolių procesoriai Opteron (serveriams) ir Athlon 64 X2 (stalo kompiuteriams).
AMD K10 architektūra AMD K10 architektūraremiasi K8 architektūra, tačiau joje buvo padaryti patobulinimai: viename procesoriuje gali būti iki 12 branduolių iš karto (viename sinchronizavimo cikle) išrenkami 32 baitai (256 bitų) iš L1 komandų kešo naudojama 128bitųvidinė duomenų magistralė;ankstesniuose K8 architektūros procesoriuoseji buvo 64 bitų (tai kiek trukdė SSE komandoms, nes SSE registrai (XMM) yra 128bitų)
AMD K10 architektūra kristale kiekvienas branduolys turi savus L1 ir L2 kešus, be to, visi branduoliai naudojasi bendru L3 kešu panaudotas išmanesnis atminties kontroleris (tiksliau – du nepriklausomi), įgalinantis vienu metu kreiptis į skirtingus (nebūtinai gretimus) 64 bitų žodžius kiekvienas branduolys gali dirbti skirtingu dažniu (IndependentDynamic Core Technology), be to, nenaudojamos dalys automatiškai gali būti išjungtos
AMD K10 architektūra Šios architektūros procesoriuoserealizuota didelio pralaidumo magistralė HyperTransport 3.0, kuri gali užtikrinti 41,6 GB/s abiem kryptimis 32 bitų režimu arba iki 10,4 GB/s viena kryptimi 16 bitų režimu, o dažnis siekia 2,6 GHz Tai buvo Sempron, Athlon II, Phenom X3/X4,Turion II Dual-Core Mobile, 6 branduolių ir 6100 serijos Opteron procesoriai
AMD Bulldozer • AMD naujos kartos (15h) mikroarchitektūros kodiniu pavadinimu „Bulldozer" procesorius pristatė parodoje „CeBIT 2011“ • Bulldozer procesoriai gaminami pagal 32 nm technologiją, jie naudoja patobulintas energijos vartojimo priemones, palaiko naująsias x86 komandas, turi specialias srautinių skaičiavimų našumo didinimo priemones • Bulldozer platforma išnaudoja dinaminio procesorių našumo didinimo technologijos (Turbo Core Dynamic Acceleration) galimybes, o tai prireikus leis padidinti visų branduolių taktinį dažnį 500 MHz. • Slankaus kablelio skaičių įtaisas turi du 128 bitų konvejerius; kartu jie gali vykdyti AVX 256 bitų komandas
AMD Bulldozer • Šioje struktūroje matome Bulldozer branduolį, kuriame yra dvi sveikųjų skaičių dalys, todėl sakoma, kad šis branduolys tarsi gali vykdyti dvi gijas (atitinka Intel hipergijų mechanizmą) • Perkoduotos komandosnukreipiamos vykdymui į du sveikųjų skaičių ir vieną slankaus kablelio skaičių dispečerius • Slankaus kablelio skaičių įtaisas turi du konvejerius, apdorojančius 128 bitų žodžius; kartu jie gali vykdyti AVX 256 bitų komandas
AMD Bulldozer • Aktyvių schemų dalis įvairiuose režimuose Bulldozer procesoriuje kur kas mažesnė nei ankstesniuose AMD CPU modeliuose: • Tai padeda taupyti energiją
AMD Interlagos • 2011 m. tarptautinėje superkompiuterių konferencijoje AMD pristatė naujausią procesorių Interlagos(Bulldozer architektūros pagrindu) • Interlagos turi net 16 branduolių ir palaiko 4 kanalų DDR3 atmintį; jis skirtas labai našiems serveriams • Gaminami ir 8 branduolių, 2 kanalų procesoriai “Valencia” (Opteron 4000 serija), kurie skirti mažesniems HPC klasteriams
AMD posūkis Nuo Nehalem mikroarchitektūros įvedimo AMD ėmė gerokai atsilikti našių procesorių srityje Nors AMD inžinieriai pirmieji yra sumanę ir panaudoję tokius dalykus, kaip 64 bitų x86 mikroarchitektūra, kelių branduolių procesoriai, atminties kontrolerio integravimas procesoriuje Manoma, kad AMD išgelbės naujoji idėja – kurti specialius įtaisus skaičiavimams spartinti, kuriuos jie pavadino APU (Accelerated Processing Units), kai viename kristale apjungiami tradiciniai x86 branduoliai su našiu grafikos branduoliu
AMD paspartinti skaičiavimai Paspartinti skaičiavimai (Accelerated Computing) yra karkasas, kuriame naujos techninės ir programinės įrangos sąveika įgalins įgyvendinti efektyviai naudojančių energiją, labai našių ir pigių skaičiavimų įdėją Paspartinti skaičiavimai reiškia, kad ateityje: kompiuteriuose bus naudojami bendrosios paskirties ir specializuoti procesoriai; uždaviniui spręsti bus pasirenkamas procesorius, kuris tai atliks optimaliai našumo, įvairialypės informacijos apdorojimo, energetinio efektyvumo ir kainos požiūriu; programinė įranga išnaudos geriausiai tinkančios tai užduočiai techninės įrangos privalumus; kūrėjai bus aprūpinti aukšto lygio priemonėmis lygiagrečiosioms taikomosioms programoms rašyti.
Lygiagretieji skaičiavimai ir Amdahl dėsnis Amdahl dėsnis apibrėžia bendrojo sistemos našumo padidėjimą: SN = 1/(Dn+(1-Dn)/N); SN– bendrasis sistemos našumas, N – procesorių skaičius sistemoje, Dn – nuosekliųjų skaičiavimų dalis Pagreitėjimas Nuoseklioji dalis: Branduolių skaičius
AMD paspartinti skaičiavimai Tradiciniai CPU sukurti bendrosios paskirties užduotims apdoroti, populiarioms taikomosioms programoms vykdyti. Pagal prigimtį jie skirti nuosekliam (skaliariniam) duomenų apdorojimui Tuo tarpu GPU sukurti specializuotoms užduotims (grafika, video), daugumai taikymų, susijusių su vaizdų apdorojimu, tai yra, lygiagrečiam duomenų apdorojimui APU apjungia šiuos skirtingo tipo skaičiavimus į vieną įtaisą
CPU ir GPU funkcijų apjungimas CPU GPU APU Video Nuoseklus duomenų apdorojimas Bendro pobūdžio užduotis Displėjus Grafika Lygiagretus duomenų apdorojimas Bendro pobūdžio užduotis ATI Stream
x86: paspartinti skaičiavimai Pirmajai kartai būdingas vieno komandų srauto procesorių kūrėjų siekis didinti darbo dažnį Kartu buvo tobulinama ir procesorių mikroarchitektūra, tačiau tie patobulinimai buvo nukreipti tiek našumo didinimui, tiek ir darbo dažnio didinimui Tačiau pastangų sutelkimas dažnio didinimui sąlygojo procesoriaus struktūros sudėtingumo, tuo pačiu ir suvartojamos energijos, augimą
x86: paspartinti skaičiavimai Todėl šio amžiaus pradžioje didesnis dėmesys buvo atkreiptas į lygiagretumo panaudojimą, viename procesoriaus kristale realizuojant kelis vienodus branduolius ir taip sudarant sąlygas užduočių pralaidumui didinti. Technologijos laimėjimai leido didinti tokių branduolių skaičių Tačiau nuolat didėjant lygiagrečiųjų skaičiavimų poreikiams tokios sistemos nebepajėgė tenkinti vartotojų norų dėl dviejų priežasčių: x86 branduolių skaičiaus didinimą riboja energijos sąnaudos ir kaina; lygiagrečiųjų skaičiavimų panaudojimas tokiose sistemose nėra efektyvus dėl nuosekliųjų skaičiavimų dalies.
AMD Fusion Pirmasis žingsnis – Fusion, kuriame apjungti centrinis ir grafikos procesoriai Procesoriaus kristalas CPU GPU L2 kešas Buferiai DIMM DIMM Kryžminis komutatorius Atminties kontroleris Hyper Transport Šiaurinis tiltas
AMD Fusion Matome, kad x86 branduoliai (CPU) turi bendrą L2 kešą (po 512 KB/branduoliui; be to, kiekvienas branduolys turi L1 duomenų ir komandų kešus), GPU – buferinę atmintį apdorojamai informacijai laikyti Abi šios dalys per kryžminį komutatorių pasiekia bendrai naudojamą pagrindinę atmintį (atminties kontroleris integruotas procesoriaus kristale) ir likusią sistemos dalį, tam naudojant sparčiąją HyperTransport
x86: paspartinti skaičiavimai Pirmajai kartai būdingas vieno komandų srauto procesorių kūrėjų siekis didinti darbo dažnį Kartu buvo tobulinama ir procesorių mikroarchitektūra, tačiau tie patobulinimai buvo nukreipti tiek našumo didinimui, tiek ir darbo dažnio didinimui Tačiau pastangų sutelkimas dažnio didinimui sąlygojo procesoriaus struktūros sudėtingumo, tuo pačiu ir suvartojamos energijos, augimą
AMD paspartinti skaičiavimai • AMD nori sukurti komandų sistemos architektūrą, kuri nukreiptų užduoties vykdymą turimai CPU ir GPU aparatinei įrangai • Jei užduotį geriausiai tinka vykdyti bendrosios paskirties x86 branduoliuose, tai ji ten ir bus vykdoma • Jei užduotį geriausiai tinka vykdyti dideliame skaičiuje lygiagrečių GPU branduolių, ji ten ir bus vykdoma
AMD paspartinti skaičiavimai • Šią idėją gerai iliustruoja toks pavyzdys • Buvo sprendžiamas veido aptikimo uždavinys. Algoritmą sudaro nemažas žingsnių skaičius, kuriuose įvairaus mastelio vaizde analizuojamos tokios veido detalės, kaip akys, ausys, nosis ir pan. • Pirmasis žingsnis gerai išlygiagretinamas, ir tam puikiai tinka GPU (žr. pav.). GPU gerai pasireiškia ir dar keliuose kituose pradiniuose žingsniuose. Tačiau vėliau GPU našumas krinta ir jis dirba lėčiau, nei paprastas CPU
AMD Llano • 2011 m. vasarą AMD pristatė A-Series procesorius, gaminamus naudojant 32 nm technologiją; jų maks. galia (TDP) – 35 arba 45 W • Kristaluose integruoti DDR3 atminties ir grafikos kontroleriai, palaikantys DirectX 11 (srautinių procesorių skaičius nuo 240 iki 400) • Llanopavadinti procesoriai turi 2 arba 4 branduolius su 4 arba 2 МB L2 kešo, dirba nuo 1,4 iki 2,1 GHz dažniu • Procesoriai palaiko našumo didinimo technologiją Turbo Core
AMD Llano Turbo Core efektyvumas APU Llano procesoriuje:
AMD Llano • AMD didesnį dėmesį skiria grafikai:
AMD Trinity • 2011 m. vasarą AMD pristatė antrąją Llano kartą - Trinityprocesorius, gaminamus naudojant tą pačią 32 nm technologiją • Padidėjo kristalo plotas (iki 246 mm2) ir tranzistorių skaičius (iki 1,3 mlrd) • Procesoriaus x86 branduoliai atitinka Bulldozer branduolius ir dirba iki 3,8 GHz dažniu • Visiškai perdirbtas grafikos įtaisas, turintis 384 blokus (srautiniu procesorius), dirbantis 800 MHz dažniu; jis palaiko DirectX 11 ir API OpenCL 1.1
Analogai X86 komandų sistemą turinčius procesorius gamina ir kitos firmos VIA gamina procesorius, skirtus nešiojamiems kompiuteriams. Naujausias procesorius – Nano (7 FĮ, 1-2 GHz, 32 KB L1 ir 1 MB L2) Transmeta – VLIW tipo procesorius, taip pat skirtus nešiojamiems kompiuteriams
Transmetos Crusoe • Skirtas mobilioms sistemoms • Sava VLIW komandų sistema (4 komandos) • 1 FPU, 2 ALU, 1 LSU, 1 BU • 64 registrai • x86 komandų perkodavimas • Code Morphing Software • Patobulinta maitinimo valdymo metodika
128 bitų komandų grupė (molekulė) FADD ADD LD BRCC FPU (Float Point Unit) ALU (Integer ALU) LSU (Load- Store Unit) BU (Branch Unit) Transmetos Crusoe
Transmetos Crusoe Komandų skirstymas
ARM procesoriai ARM architektūros pradžia siekia praėjusio amžiaus 9 dešimtmetį; ją sukūrė Acorn Computers Ltd., tad santrumpa ARM kilo iš Acorn RISC Machine Dabar ARM procesorius kuriair gamina Advanced RISC Machines, Ltd. ARM procesoriai priklauso 32bitų RISC mikroprocesorių šeimai Jieplačiai naudojami buitinėje elektronikoje - mobiliuosiuose telefonuose, multimedia grotuvuose, skaičiuotuvuoseir asmeniniuose pagalbikliuose (PDA - personal digital assistants)
ARM procesoriai ARM architektūra susiformavo stalo kompiuteriams skirtuose procesoriuose, po to ji persikėlė į buitinės technikos ir pramonės įrenginių mikroschemas, o šiandien vėl išeina į kompiuterių rinką, kur ji naudojama planšetiniuose ir internetiniuose kompiuteriuose
TaikomiejiARM procesoriai Taikomieji (Application)procesoriai– tai procesoriai, galintys vykdyti sudėtingas operacines sistemas, pavyzdžiui, Linux, Android/ Chrome, Microsoft Windows (CE/Embedded) ir Symbian, naudoti sudėtingas grafines vartotojo sąsajas Šios klasės procesoriaituri integruotą atminties dispečerį (MMU - Memory Management Unit), kad būtų galima tenkinti sudėtingų OS atminties poreikius, naudoti įvairią trečiųjų šalių PĮ
ARM procesoriai Procesorių tarpe yra ir kelių branduolių procesoriai, pvz., Cortex-A9 MPCore™, Cortex-A5 MPCore ir ARM11MPCore procesoriai, pasižymintys geru našumu Tokie procesoriai gali būti naudojami išmaniuosiuose mobiliuosiose telefonuose, kompaktiškuose skaičiavimo įtaisuose, namų multimedijos įtaisuose ir net nedideliuose mažai energijos naudojančiuose serveriuose
ARM procesoriai Čia matome keturių branduolių Cortex procesorių, skirtą plačiam įtaisų spektrui – nuo mobiliųjų įtaisų iki serverių
ARM A15 MPCore Pagrindiniais Cortex-A15 MPCore elementais yra: slankiojo kablelio įtaisas, atliekantis operacijas su įprasto ir dvigubo tikslumo skaičiais; čia realizuota ir NEON išplėsta komandų sistema su medijos ir signalų apdorojimo funkcijomis, pridėti 64 ir 128 bitų registrai, atliekamos SIMD operacijos su 8, 16 ir 32 bitų sveikaisiais skaičiais bei 32 bitų slankiojo kablelio skaičiais; sveikųjų skaičių ALU, kuriame formuojami 40 bitų fiziniai adresai, įgalinantys adresuoti iki 1 TB atminties (tačiau atskira gija naudoja 32 bitų adresą);
ARM A15 MPCore 32 kB duomenų ir 32 kB komandų L1 kešai kiekviename branduolyje, sukonstruoti minimaliam vėlinimui ir energijos suvartojimui; juose realizuotos duomenų skaidrumo palaikymo priemonės kelių branduolių aplinkoje, taip pat klaidų kontrolė ir korekcija (ECC); suderinamumo valdymo įtaisas (SCU – Snoop Control Unit) atsakingas už sujungimų valdymą ir arbitražą, mainus su L2 kešu ir pagrindine atmintimi, kešo suderinamumą;
ARM A15 MPCore 128 bitų AMBA 4 CoreLink CCI-400 sąsaja užtikrina kelių Cortex-A15 MPCore procesorių bendrą darbą, geriau išnaudojant kešus ir supaprastinant taikomąją programinę įrangą (įskaitant kompiuterinius žaidimus, serverius ir tinklo programas), skirtą klasteriams, sudarytiems iš vieno arba kelių branduolių procesorių.
ARM procesoriai ARM procesoriaus Cortex-A15 MPCore pagrindu yra išleidžiamos arba bus išleistos SoC sistemos Samsung Exynos 5 5250, Texas Instruments OMAP5430 ir OMAP5432, Nvidia Tegra 4 T40 ir T43 ir kt. 2010 metais buvo parduota net 6 mlrd. ARM architektūros procesorių
ARM procesoriai Iki šiol ARM procesoriai buvo 32 bitų, tačiau 2012 m. pristatyta visiškai nauja ARMv8 architektūros procesorių serija Cortex-A50, kurią sudarys 64 bitų Cortex-A53 bei Cortex-A57 procesoriai, skirti išmaniesiems telefonams bei planšetiniams kompiuteriams
ARM procesoriai 64 bitų palaikymas svarbus tuo, kad ARM galės pretenduoti ir į stalo kompiuterių bei serverių rinkas Žinoma, varžytis su Intel našių serverių rinkose, kur naudojami Xeon procesoriai, ARM negalės, tačiau į mažo galingumo ir mikroserverių rinką, kur Xeon galia nereikalinga, ji pretenduos. Čia jų varžovu bus Atom S serijos procesoriai
ARM procesoriai serveryje Serverių gamintojai, aišku, tik eksperimentuodami, jau siūlo sprendimus su ARM procesoriais, kurie tam tikrose veiklos sferose leidžia žymiai sumažinti elektros energijos išlaidas „Calxeda“ atstovai teigia, jog šis ARM sprendimų gamintojas nemato problemų, kurios neleistų naudoti ARM procesorių serveriuose kartu su x86