1 / 61

KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS

KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS. Doc. Stasys Maciulevičius Kompiuterių katedra stasys.maciulevicius@ktu.lt. An kstesn ė s paskaitos turinys. Hierarchin ė atmin č i ų sistema Puslaidininkinių a tmin č i ų tipai Lokališkumo principas Kešas (spartinančioji atmintis)

feleti
Download Presentation

KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS Doc. Stasys Maciulevičius Kompiuterių katedra stasys.maciulevicius@ktu.lt

  2. Ankstesnės paskaitos turinys • Hierarchinė atminčių sistema • Puslaidininkinių atminčių tipai • Lokališkumo principas • Kešas (spartinančioji atmintis) • Kešo principai • Procesorių kešai • Kešo nauda • Dinaminė atmintis (DRAM) • Klasikinių DRAM tipai • Šiuolaikinės DRAM S.Maciulevičius

  3. Šios paskaitos turinys • Pagrindinė atmintis • DRAM moduliai • Atminčių kontrolė • Atminties valdymas • Virtualioji atmintis • Virtualiosios atminties esmė • Segmentavimo mechanizmas • Puslapiavimo mechanizmas • Adresų transliacija • Išorinė atmintis • Magnetiniai diskai S.Maciulevičius

  4. PAGRINDINĖ ATMINTIS S.Maciulevičius

  5. Hierarchinė atminčių sistema CPU reg. Kešas Greitis, kaina Talpa Pagrindinė atmintis Išorinė atmintis S.Maciulevičius

  6. DRAM moduliai • SIPP – Single In-Line Pin Package • adatiniai kontaktai • 30 kontaktų • nepraktiški - lankstosi, nulūžta • SIMM – Single In-Line Memory Module • “trumpieji” (90 mm) – 30 kontaktų, 8 bitai • “ilgieji” (108 mm) – 72 kontaktai, 4 baitai • 32 arba 36 - su lyginumo kontrole • ECC-36 ir ECC-40 – su klaidų korekcija S.Maciulevičius

  7. DRAM moduliai • DIMM – Dual In-Line Memory Module • 133,35 mm – 168 kontaktai, 8 baitai • 64 (paprasta) , 72 (lyginumo kontr. arba klaidų korekcija), 80 bitų (klaidų korekcija) S.Maciulevičius

  8. DRAM moduliai • DDR, DDR2 ir DDR3 moduliai skiriasi lizdų raktų geometrija. • Čia matome staliniams kompiuteriams skirtų modulių matmenis: S.Maciulevičius

  9. SPD mikroschema • Pagal JEDEC standartą kiekviename modulyje turi būti nedidelė speciali ROM mikroschema, vadinama SPD (Serial Presence Detect), kurioje laikoma informacija: • apie konfigūraciją ir tipą, • apie laiko diagramą, • apie temperatūrinį režimą, • apie gamintoją (jo kodas), • serijinis numeris, • pagaminimo data. S.Maciulevičius

  10. SPD mikroschema Pavyzdžiui, testas CPU-Z rodo tokią informaciją apie modulį iš SPD: • tai Supertalent DDR2 atminties modulis, kurio talpa 2 GB, galintis perduoti duomenis 666 MHz dažniu (magistralė sinchronizuojama 333 MHz dažniu) • pagamintas 2007 metų 13-ą savaitę, klaidų korekcijos nėra • lentelėje nurodyti laiko parametrai, kurių reikšmės priklauso nuo magistralės dažnio (200, 266 ar 333 MHz) S.Maciulevičius

  11. 0 1 0 1 0 1 1 0 k k = b0 b1 …  b7 - lyginumo k = 1  b0 b1 …  b7 - nelyginumo Duomenų magistralė n 1 1 Informaciniai AR baitai DR Kontrolinių bitų formavimo / kontrolės schema k Adreso magistr. klaida n Duomenų magistralė k Paprastai k=n/8 Lyginumo kontrolė n Kontroliniai bitai m S.Maciulevičius

  12. Duomenų magistralė n 1 1 Informaciniai AR baitai DR Hemingo kodo formavimas k Adreso magistr. Hemingo kodo kontrolė k Korek-cijosschema n n n Kontroliniai bitai m k k klaida Klaidų kontrolė ir korekcija Hemingo kodas: ištaiso pavienes klaidas ir fiksuoja daugelį kartotinių. Kodo ilgis paprastaik=log2n + 1; plius lyginumo kontrolė -k=log2n + 2 S.Maciulevičius

  13. Atminties valdymas CPU, kreipdamasis į atmintį, naudoja tokius signalus (linijas) : • adresą, • RD (skaityti) ir WR (įrašyti), • duomenų linijas. Kaip matėme, DRAM valdymui reikalingi signalai: • adresas (eilutės ir stulpelio numeriai), • strobavimo signalai RAS ir CAS, • WE (įrašyti), • duomenų žodis, • OE (išėjimo buferių valdymui). 2009-2013 S.Maciulevičius 13

  14. Atminties valdymas CPU D D DRAM A A DRAM kontro-leris Rd RAS# CAS# Wr WE# OE# S.Maciulevičius

  15. Atminties valdymas • DRAM kontroleris, transformuodamas CPU kreipinio signalų rinkinį į atminčiai valdyti reikalingus signalus, kartu ir formuoja laiko diagramą pagal konkrečiam DRAM tipui (DDR2, DDR3, ...) reikalingą jų tarpusavio išdėstymą (žr. skaidres apie dinaminę atmintį su laiko diagramų pavyzdžiais) • Anksčiau išleistuose kompiuteriuose toks atminties kontroleris įeidavo į valdymo schemų rinkinio (VSR) sudėtį • Kai kuriuose šiuolaikiniuose kompiuteriuose toks atminties kontroleris jau realizuojamas procesoriaus kristale. 2009-2013 S.Maciulevičius 15

  16. Atminties kontrolerio vieta kompiuteryje CPU ATM FSB VSR (šiaurinis tiltas) CPU FSB ATM VSR AK AK AK – atminties kontroleris 2009-2013 S.Maciulevičius 16

  17. Dviejų kanalų atmintis • Siekiant padidinti mainų tarp procesoriaus ir atminties arba tarp atminties ir spartinančiosios atminties spartą, buvo pradėta naudoti du atskirus kanalus • Tai toks atminties realizavimo būdas, kai duomenys perskaitomi dvigubu pločiu, o DRAM kontroleris juos perduoda į procesorių per du kartus • Tam reikia, kad DRAM kontroleris palaikytų tokį darbo režimą 2009-2013 S.Maciulevičius 17

  18. Dviejų kanalų atmintis • Norint naudoti, pavyzdžiui, dviejų kanalų atmintį, reikia: • turėti VSR (ar procesorių) su atminties kontroleriu, palaikančiu du kanalus; • turėti du (keturis ar šešis) poromis identiškus atminties modulius; • tinkamai juos įdėti į lizdus pagrindinėje plokštėje. 2009-2013 S.Maciulevičius 18

  19. 2 kanalų atmintis S.Maciulevičius

  20. Lizdai dviejų kanalų atminčiai 1 kanalas 2 kanalas

  21. DDR3 modulis (8,5 GB/s) DDR3 modulis (8,5 GB/s) DDR3 modulis (8,5 GB/s) Intel Core i7 QPI (21,6 GB/s) X58 IOH (I/O Hub) 3 kanalų atmintis ir Core i7 S.Maciulevičius

  22. 4 kanalai • Intel Core i7-3960K, Core i7-3960X, Core i7-3820, Intel Xeon E5-16xx ir Xeon E5-16xxprocesoriuose integruotas atminties kontroleris palaiko net 4 kanalųDDR3-1600 atmintis • 4 kanalųDDR3 atmintis palaiko ir Opteron 6100serijos Magny-Cours (45 nm)ir Opteron 6200serijos Interlagos (32 nm) procesoriai S.Maciulevičius

  23. VIRTUALIOJI ATMINTIS 2009-2013 S.Maciulevičius 23

  24. Virtualioji atmintis • Šiuolaikiniai kompiuteriai vienu metu gali vykdyti kelias programas (pseudolygiagretus ar lygiagretus darbas) • Kiekviena tokia programa (procesas) turi atskirą kodo ir duomenų sritį • Mechanizmas, kuris užtikrina sąlygas keliems procesamas vykti vienu metu, korektiškai pasidalijant atmintį ir teisingai vykdant informacijos adresavimą, bei programos loginių adresų transformavimą į fizinius adresus, vadinamasVIRTUALIĄJA ATMINTIMI 2009-2013 S.Maciulevičius 24

  25. Virtualioji atmintis • Be to, virtualioji atmintis pasirūpina, kad procesui reikalinga informacija (programos kodas bei duomenys) reikiamu momentu atsidurtų pagrindinėje atmintyje, saugo procesui išskirtą sritį nuo kitų procesų • Virtualioji atmintisfiziniu požiūriu – pagrindinė atmintis plius dalis išorinės (disko), apjungtos priemonėmis adresams transformuoti ir informacijai persiųsti tarp šių lygmenų • Virtualioji atmintisloginiu požiūriu – išplėsta vieningai adresuojama atminties sritis 2009-2013 S.Maciulevičius 25

  26. Atminties adresavimas • Kalbėdami apie virtualiąją atmintį ir adresus, turime skirti kelias sąvokas: • vykdomasis arba loginis adresas– informacijos (komandos ar duomenų) adresas, kuris paskaičiuojamas procesoriuje pagal naudojamą adresacijos būdą; dažnai jis vadinamas virtualiuoju adresu • fizinis adresas– informacijos (komandos ar duomenų) adresas, kuris nurodo tikrąją jos vietą atmintyje 2009-2013 S.Maciulevičius 26

  27. Virtualiosios atminties tipai • Du pagrindiniai virtualiosios atminties realizacijos principai: • Segmentavimas. Uždaviniui spręsti reikalinga atminties sritis vadinama segmentu. Segmentas – ištisinė atminties sritis. Jo dydis priklauso nuo uždavinio poreikių. Vienam uždaviniui gali būti suformuoti keli segmentai – kodo (programos), duomenų, steko. • Puslapiavimas – atmintis padalinama į fiksuoto dydžio blokus, vadinamus puslapiais. Uždaviniui spręsti reikalinga atminties sritis užima tam tikrą puslapių skaičių. Vienam uždaviniui išskirti puslapiai gali būti išdėstyti atmintyje bet kuria tvarka. 2009-2013 S.Maciulevičius 27

  28. Segmentai atmintyje Op. sistema Op. sistema Op. sistema Op. sistema 1 procesas 2 procesas 2 procesas 2 procesas 2 procesas 3 procesas 3 procesas 3 procesas 3 procesas 4 procesas 4 procesas 6 procesas 5 procesas 5 procesas 5 procesas 5 procesas 2009-2013 S.Maciulevičius 28

  29. Segmentavimo mechanizmas 31 2423 0 Atmintis Segmento Nr. Baito adresas 2 segm 0 segm. 1 segm. 8000 Segmentų lentelė 24 8 Segm.Nr. 32 bitų bazė 0 20000H 1 4F000H 2 8000H … …. 20000 4F000 2009-2013 S.Maciulevičius 29

  30. Segmentavimo mechanizmas • Čia pateiktas paprastas virtualiosios atminties segmentavimo realizacijos principas: • Aukščiausiasis adreso baitas skirtas segmento numeriui. Vadinasi, segmento dydis ribojamas 24 bitų ilgio adresu – 224 = 16 MB • Informacija apie segmentų pradžios adresus (bazes) laikoma specialioje lentelėje, pavadintoje segmentų lentele. • Pagal segmento numerį iš lentelės išrenkamas segmento pradžios adresas, kuris sumuojamas su 24 bitų baito adresu 2009-2013 S.Maciulevičius 30

  31. Segmentavimo mechanizmasIA-32 15 0 31 0 Selektorius Vykdomasis adresas Deskriptorių lentelė Segmento deskriptorius + Bazės adresas 31 0 Fizinis adresas 2009-2013 S.Maciulevičius 31

  32. Segmentavimo mechanizmas IA-32 • Čia pateiktas Intel 32 bitų architektūroje priimtas virtualiosios atminties segmentavimo realizacijos principas: • 1. Segmento informacija laikoma specialioje duomenų struktūroje, pavadintoje segmento deskriptoriumi: • segmento pradžios adresas – bazė; • segmento dydis, .... • 2. Segmentų deskriptoriai laikomi specialioje lentelėje, pavadintoje deskriptoriųlentele. • 3. Segmento deskriptoriaus numeris laikomas 2 baitų žodyje, pavadintame selektoriumi. 2009-2013 S.Maciulevičius 32

  33. Puslapiavimo mechanizmas Loginio puslapio numeris Fizinio puslapio numeris Baito poslinkis Baito poslinkis Puslapių lentelė Apsaugos bitai Loginis adresas: Fizinis adresas: 2009-2013 S.Maciulevičius 33

  34. Puslapiavimo mechanizmas • Čia pateiktas paprastas virtualiosios atminties puslapiavimo principas: • Visi puslapiai yra vienodo dydžio, tarkime, 4 KB. • Todėl adresą padalijame į dvi dalis: - žemiausioji adreso dalis skirta baito poslinkiui, • - aukščiausioji adreso dalis skirta loginio puslapio numeriui. • 3. Pagal loginio puslapio numerį iš lentelės išrenkamas fizinio puslapio numeris, kuris kartu su baito poslinkiu ir duoda tikrąjį (fizinį) adresą 2009-2013 S.Maciulevičius 34

  35. Adresų transliacija Loginio adreso transformacija į fizinį vadinama adresų transliacija. x86 procesoriuose naudojama tokia adresų transliacijos schema: Loginis adresas Linijinis adresas Fizinis adresas Segmentų lentelė Puslapių lentelė 2009-2013 S.Maciulevičius 35

  36. Adresų transliacija Puslapiai Puslapių lentelė Progr. kodas Pagrindinė atmintis Duo- menys Užduotis Diskas Stekas Diskas Kodo seg- mentas Duome- nų seg- mentas Steko seg- mentas 2009-2013 S.Maciulevičius 36

  37. Adresų transliacija • Matome, kad norint sužinoti tikrąją informacijos vietą atmintyje gali tekti du kartus papildomai kreiptis į atmintį (įrašams iš lentelių pasiekti) • Šios lentelės užima daug vietos (pavyzdžiui, 4 GB atmintį sudaro milijonas puslapių po 4 KB), todėl jas saugoti procesoriaus keše – nerealu • Todėl dabar adresų transliacijai reikalinga informacija laikoma procesoriuje esančiame specialiame keše, kurį vadinsime sparčiosios transliacijos buferiu (TLB – angl.Translation Lookaside Buffer). Kiekvienas tokio kešo įrašas užtikrina sparčią transliaciją, kreipiantis net į 1000 žodžiųpo 4 baitus 2009-2013 S.Maciulevičius 37

  38. Sparčiosios transliacijos buferis Loginis adresas iš procesoriaus Loginio puslapio numeris Fizinio puslapio numeris Baito poslinkis Baito poslinkis Nepataikyta Sparčiosios transliacijos buferis Puslapių lentelė Įkrauti TLB Pataikyta Puslapio atmintyje nėra OR Fizinis adresas į atmintį Puslapių mainai su disku 2009-2013 S.Maciulevičius 38

  39. Sparčiosios transliacijos buferis • Pagal loginiame adrese esantį loginio puslapio numerį sparčiosios transliacijos buferyje ieškome reikalingo puslapių lentelės įrašo • Jei įrašą randame (“pataikyta”), iš jo paimame fizinio puslapio numerį, kuris kartu su baito poslinkiu ir sudaro fizinį adresą • Jei įrašo šiame buferyje nėra (“nepataikyta”), tenka kreiptis į atmintyje laikomą puslapių lentelę, iš jos perskaitytą įrašą įkeliame į sparčiosios transliacijos buferį, o jame esantį fizinio puslapio numerį perduodame į formuojamą fizinį adresą 2009-2013 S.Maciulevičius 39

  40. Sparčiosios transliacijos buferiaiprocesoriuje AMD K7

  41. IŠORINĖ ATMINTIS 2009-2013 S.Maciulevičius 41

  42. Išorinė atmintis Ilgalaikiam informacijos (programų ir duomenų) saugojimui kompiuteriuose naudojami: • standieji diskai, • optiniai kompaktiniai diskai (CD), • skaitmeniniai universalūs diskai (DVD), • flash laikmenos („atmintukai”), • elektroniniai diskai (SSD). Išorinėje atmintyje yra naudojamos ne tik stacionarios laikmenos (pavyzdžiui, visiems gerai žinomi standieji diskai), bet ir keičiamos laikmenos (išoriniai diskai, DVD, flash laikmenos) 2009-2013 S.Maciulevičius 42

  43. Pirmasis MD įtaisas • Pirmasis MD įtaisas sukurtas IBM 1956 m. Įtaiso parametrai: • 24” skersmuo, • talpa – apie 5 MB, • 50plokštelių, • sukimosi greitis – 1200 aps/min, • paieškos laikas – apie 1 s. • 1961 IBM sukurtas MD su ant oro pagalvės pakibusiomis galvutėmis. • 1963 IBM sukurtas MD su keičiamu diskų paketu. • 1970 IBM sukurtas 8 colių diskečių įtaisas.  2009-2013 S.Maciulevičius 43

  44. Pirmasis MD įtaisas • 50 plokštelių • 1 galvutė 2009-2013 S.Maciulevičius 44

  45. 1 GB diskas - įdomu Pirmasis gigabaito talpos diskųįtaisas, IBM 3380, sukurtas 1980 m., buvo šaldytuvo dydžio, svėrė 550 svarus (apie 250 kg), kainavo $40,000. The world's first gigabyte-capacity disk drive, the IBM 3380, introduced in 1980, was the size of a refrigerator, weighed 550 pounds (about 250 kg), and had a price tag of $40,000. 2009-2013 S.Maciulevičius 45

  46. Magnetiniai diskai Sektorius Velenas Cilindras Takelis Sektorius Takelis 2009-2013 S.Maciulevičius 46

  47. Informacija magnetiniame diske • Takelis – vienas iš koncentrinių apskritimų; numeruojami nuo išorės (0) į vidų • Cilindras – tą patį numerį turinčių takelių visuma • Sektorius– takelio dalis, anksčiau buvo 512 baitų, o nuo 2007 metų įvesti 4096 baitų sektoriai, kurie tampa šiuolaikinių diskų standartu • Klasteris – grupė sektorių, apjungtų į stambesnį junginį failų sistemos darbo efektyvumui padidinti; failas užima tam tikrą klasterių skaičių 2009-2013 S.Maciulevičius 47

  48. Klasteriai magnetiniame diske 2009-2013 S.Maciulevičius 48

  49. Informacija magnetiniame diske • Pirmaisiais metais sektorių skaičiustakeliuose buvo vienodas • Kadangi takelių ilgis išorėje ir prie centro žymiai skiriasi, vėliau pradėta takeliuose naudoti skirtingą sektorių skaičių • Šiuolaikiniuose diskuose takeliai suskirstyti į “zonas” su vienodu sektorių skaičiumi 2009-2013 S.Maciulevičius 49

  50. Magnetiniai diskai Velenas Magnetinis paviršius Skaitymo-įrašymo galvutės Korpusas Kontroleris Duomenų kešas 2009-2013 S.Maciulevičius 50

More Related