11.72M
Категория: ЭлектроникаЭлектроника

Ievads datoru arhitektūrā

1.

Ievads datoru arhitektūrā
DST203
7. Lekcija
Virtuālā atmiņa un datu nesēji
Asoc.prof., Dr.sc.ing, Dmitrijs Bļizņuks
1

2.

Saturs
Fiziskā un virtuālā atmiņa
Adresācija
Kopnes
Cietais disks (HDD)
Redundance (RAID)
2

3.

Fiziskā un virtuālā atmiņa
Adrešu lauks kas ir nepieciešams
programmas darbam parasti ir daudzkārt
lielāks nekā pieejamais pamatatmiņas
apjoms
Tikai neliela programmas daļa ietilpst
pamatatmiņā bet pārējais tiek glabāts
sekundārajā atmiņā (HDD)
Lai programmu varētu izpildīt tai ir jāatrodas
pamatatmiņā. Tāpēc kādam tās segmentam
vispirms ir jātop ielādētam pamatatmiņā
(potenciāli aizvietojot kādu citu tur jau esošu
segmentu)
3
3

4.

Virtuālā atmiņa
Datu un programmu pārvietošanu no un uz
pamatatmiņu notiek automātiski (OS)
CPU binārā adrese ir virtuāla (loģiskā) adrese
kas ir daudzkārt lielāka nekā RAM apjoms un
kura ir attiecināta uz neesošu atmiņu.
Ja virtuālā adrese attiecas uz to programmas
daļu kas jau atrodas RAM (kešā) tad piekļuve
tai notiek tieši. Ja tā nav tad tā vispirms ir
jāielādē pamatatmiņā.
Virtuālo adrešu translāciju uz fiziskām veic
speciāls mezgls – Memory Management Unit
(MMU)
4
4

5.

Virtuālā atmiņa. Lapaspuses
Virtuālā atmiņa nodrošina arī programmu datu
aizsardzību (vienam no otra).
Virtuālais atmiņas lauks ir sadalīts vienāda izmēra
lapaspusēs – no 512B līdz 16MB tipiski 4KB.
(‘pages’)
Fiziskā atmiņa ir sadalīta kadros “frames” kas pēc
izmēra atbilst lapaspusei
Lapaspuse ir pamata informācijas elements kas
var tikt pārvietots starp pamatatmiņu un disku
OS izlemj kuras dotās lietotnes lapas ievietot RAM
un kuras aizvietot, tā lai minimizētu zaudējumus
(“page fault”)
Zaudējums (“page fault”) ir situācija kurā CPU
pieprasa adresi kas atrodas lapā kas savukārt
neatrodas RAM
5
5

6.

Adrešu translācija
Atmiņā izvietoto datu piekļuvei izmanto virtuālās adreses
translāciju fiziskajā adresē:
– Virtuālā adrese = lapaspuses Nr. + nobīde
– Fiziskā adrese = kadra Nr. + nobīde
Translāciju veic MMU ar lapaspušu tabulas palīdzību
Tabula satur vienu ierakstu katrai virtuālās atmiņas lapaspusei
Katrs tabulas ieraksts satur atmiņas kadra adresi kurā atrodas
vajadzīgā (ja tā ir ievietota pamatatmiņā)
Katrs tabulas ieraksts satur arī papildus informāciju:
– Vai lapa ir ielādēta RAM
– Vai lapa ir izmainīta
– Piekļuves tiesības
6
6

7.

Piekļuves tabula
Diemžēl tabula ir ļoti liela un piekļuvei tai ir
jānotiek ļoti ātri
Lai atrisinātu šo problēmu, tabulas ierakstiem lieto
speciālu kešu “translation lookaside buffer (TLB)”
Tā darbība ir līdzīga pamata atmiņas kešu
darbībai un tas satur tikai nesen lietotos tabulas
ierakstus
Tabula ir pat pārāk liela, lai to glabātu
pamatatmiņā tāpēc to sadala pa atmiņas
hierarhiju:
– TLB kešu,
– Pamatatmiņu,
– Disku.
7
7

8.

Saturs
Kopnes
Cietais disks (HDD)
Redundance (RAID)
8

9.

Ievad-izvades iekārtas (I/O)
Lai dators varētu izmantot I/O iekārtu ir nepieciešams tās interfeiss – aparatūra (kontrolieri)
un programmatūra (draiveri) kas ļauj atpazīt adresējamo iekārtu un veikt datu apmaiņu
Datu apmaiņas veidi:
– Ievada iekārtas (tikai lasīšanai)
– Izvada iekārtas (tikai rakstīšanai)
– Uzglabāšanas iekārtas (vienlaicīgi)
– Komunikāciju iekārtas (vienlaicīgi)
Iekārta
Pele
Monitors
Tips
Ievada
Izvada
Partneris
Cilvēks
Cilvēks
Modems
Komunikāciju
Mašīna
0.05
LAN
Komunikāciju
Mašīna
1000
Lentas
Uzglabāšanas
Mašīna
700
Diski
Uzglabāšanas
Mašīna
6000
Mbit/s
0.01
80 000
9
9

10.

I/O sistēmas arhitektūra
10
10

11.

Kopnes
Kopne ir:
– Koplietošanas komunikācijas resurss
– Pārraides vide (piem. vadu kopa) kas savieno vairākas apakšsistēmas
– Pamata rīks ar kura palīdzību var veidojot lielas un sarežģītas sistēmas
Pozitīvi:
– Daudzpusīgs pielietojums (var pieslēgt dažādas iekārtas, pārvietot iekārtas starp datorsistēmām...)
– Neliela cena (visus vadus koplieto visas iekārtas, vieni un tie paši vadi dara vairākas lietas)
Negatīvi:
– Tās ir sistēmas šaurās vietas
– Maksimālo ātrumu nosaka fiziskie izmēri un pieslēgto iekārtu skaits.
– Vajag saskaņot ļoti dažādu (pēc latentuma un datu apjoma) iekārtu darbību.
11
11

12.

Kopnes
Kopnes cikls sastāv no divām daļām:
– Komandas (un adreses) izstādīšanu pieprasījuma daļā
– Datu apmaiņas darbības daļā
Vadītājs (‘master’) ir tas kurš uzsāk kopnes ciklu, definējot komandu un adresi
Vadāmais (‘slave’) ir tas kurš atbild uz šo adresi ar:
– Datu nosūtīšanu ja tā tika pieprasīta no vadītāja puses
– Datu saņemšanu ja tā tika pieprasīta no vadītāja puses
12
12

13.

Kopnes
• Atmiņas kopne
• Īsa un ātra
• Specifiska dotajai realizācijai
• Atbilst keša bloku apmaiņas veidam un izmēram
• I/O kopnes
• Garākas un lēnākas
• Industrijas standarti
• Jāspēj savienot ļoti dažādas iekārtas
• Ar tiltu palīdzību slēdzas pie CPU/RAM kopnes
13
13

14.

I/O iekārtu veidi
Simbolu/ datu plūsmas iekārtas:
– Apmainās ar simbolu plūsmu
– To dati nav adresējami
– Piemēri - klaviatūra, printeri
Bloku iekārtas:
– Apmainās ar datu blokiem
– Datus adresē bloku veidā
– Piemēri - diski, tīkla iekārtas
14
14

15.

CPU noslodze
Pamatā problēma ir I/O un CPU ātrdarbības plaisa:
– Ja CPU gaida uz I/O tad tas nevar veikt neko citu.
– Ja CPU dara ko citu, kamēr veic I/O, tad kā sinhronizēt CPU un I/O?
Var lieto pārtraukumus kuri paziņo CPU par I/O notikumiem uz kuriem CPU reaģēs nosūtot
nākamo datu porciju un atkal pārslēdzoties uz citiem darbiem līdz nākamajam
pārtraukumam.
Bet var būt pietiekami ātras iekārtas (salīdzināms ar CPU ātrdarbību) kas tādā gadījumā
pārslogos CPU ar saviem pārtraukumiem (CPU tikai pārslēgsies starp uzdevumiem un
nevarēs veikt neko lietderīgu)
Tāpēc masveida datu apmaiņai cenšas lieto DMA. Šādā gadījumā CPU pasaka iekārtai kur
iegūt/nolikt datus un iekārta tikai darba beigās paziņo par darba veikšanu.
15
15

16.

I/O organizācijas veidi
IRQ pārtraukumu līnijas. Fiziski signāli IRQ kontrolierim kas signalizē par iekārtas gatavību veikt
kādu darbību.
Programaptauja
DMA (Direct Memory Access):
– Iespēja iekārtai strādāt ar atmiņu bez CPU piesaistes
– Parasti pielieto bloku iekārtām
Visas organizācijas var būt ar:
– Atmiņas adresēs iekļautās iekārtas. Iekārtu reģistri ir daļa no atmiņas adresēm un nevajag speciālas
komandas (piem. Sparc)
– I/O porti. Katram kontrolierim tiek piešķirta speciāla adrese (ports) kas nav pamata atmiņas adrese
(piem. x86)
16
16

17.

Direct Memory Controller (DMA)
Pārvieto datus uz/no atmiņas, bez nepārtrauktas CPU dalības
Neizmantojot DMA
Ar DMA
17
17

18.

Datu nesēji
18
18

19.

Secīgs (sequential) ieraksts
HDD
CD / DVD
19
19

20.

20
20

21.

Cietais disks (HDD)
Pievads – kustina sviras (ar magnētiskā lauka
palīdzību)
Plates - parasti vairākas, ar magnētisku informācijas
ierakstu/nolasīšanu no abām plates pusēm
Celiņi - informāciju parasti ieraksta cilindriskos celiņos
kas savukārt tiek iedalīti sektoros (512B - var būt
maināms lielums)
Svira - kustina galviņas virs platēm izvēloties celiņus
(meklēšana “seek” = virsmas izvēle, cilindra izvēle,
gaidīšana līdz sektors nonāk zem galvas)
Galvas – ieraksta/nolasīšanas elementi
Vārpsta – tas uz kā nostiprinātas plates un piedzen tās
(parasti 5 400 – 15 000 apgr./min)
21
21

22.

Disku piekļuves laiks
Vidējais meklēšanas laiks ”averege seek time” atkarīgs no to cik daudz jāpārvieto svira (standarta
etalonuzdevums pieņemot ka piekļuves ir pilnīgi gadījuma rakstura parasti ~8ms)
Meklēšana ir vislielākais ļaunums (iekustināt sviru, kustība, bremzēšana, pozicionēšana) tāpēc cenšas
izvietot datus secīgi (‘fragmentation’)
Rotācijas laiks (1/2 apgr. pie 7200rpm ir 4.7 ms)
Pārraides laiks - atkarīgs no joslas platuma (ieraksta blīvuma, rotācijasātruma, pieprasījuma lieluma).
Ārējie celiņi ir ātrāki nekā iekšējie.
Kontroliera virstēriņu laiks (lasīšana uz priekšu, kešatmiņa)
Disk Latency = Seek Time + Rotation Time + Transfer Time + Controller Overhead
Piemērs
128 sectors/track, 512 B/sector, 6000 RPM, 10 ms tseek, 1 ms tcontroller


6000 RPM → 100 R/s → 10 ms/R → trotation = 10 ms / 2 = 5 ms
4 KB page → 8 512B sectors → ttransfer = 10 ms * 8/128 = 0.6 ms
tdisk = tseek + trotation + ttransfer + tcontroller = 10 + 5 + 0.6 + 1 = 16.6 ms
22
22

23.

Disku pārvaldība
‘Low-level formatting’, vai ‘physical formatting’ ir virsmu
sadalīšana sektoros (ko izmantos diska kontrolieris)
Lai OS varētu glabāt diskā failus ir nepieciešamas vēl citas
datu struktūras
– Partition - cilindru grupas.
– Failu sistēma – loģiskais formatējums.
Lai varētu startēt OS uz diskiem ir viena speciāla vieta - boot
bloks.
Pirmsielādes kods tiek glabāts ROM atmiņā (piem. BIOS)
Atteikumnoturības uzlabošanai diski satur “liekus” sektorus.
Tos izmanto bojāto sektoru aizvietošanai
23
23

24.

Disku pārvaldība
File Allocation Table (FAT)
24
24

25.

HDD progress
Ietilpība aug 100% / gadā
Pārraides ātrums aug+ 40% / gadā
Rotācijas un pozicionēšanas laiks samazinās 8 % / gadā
Cena par MB krīt 100% / gadā
25
25

26.

Alternatives (Flash)
Pusvadītāju iekārtas
10 000 ieraksta/dzēšanas cikli
Dikstāves (‘standby’) strāva = 100uA, ieraksta strāva = 45mA
Flash vs. HDD
Praktiski momentāna izeja no dīkstāves režīma
Iespējama (un pat ieteicama) gadījuma rakstura (‘random’) piekļuve
Noturīgs pret triecieniem un vibrāciju (1000G darba režīmā)
Cena/MB joprojām lielāka
26
26
26

27.

HDD vs SSD defragmentācija
27
27

28.

Ja nepietiek ar vienu disku
Disku masīvi sniedz:
– lielāku I/O veiktspēju (IOPS)
– lielāku blīvumu (MB/m3)
Uzticamība?
N Disku uzticamība = (1. Diska uzticamība)/N
MTTF = Mean Time to Failure
50 000 h ÷ 70 diskiem = 700 stundas
Disku masīvam MTTF samazinās no 6. gadiem uz 1. mēnesi
Masīvi bez redundances ir praktiski nelietojami
28
28

29.

Uzticamība/Pieejamība
Cilvēks jebkuru sistēmu iztver kā divos stāvokļos esošu:
– Normāls serviss (kaut kad būs atteikums)
– Servisa pārtraukums (kaut kad notiks atjaunošana)
Pieejamība (%) = MTBF / (MTBF + MTTR)
– MTTR - mean time to repare, MTBF - mean time between failure
– Cik % no sistēmas darba laika tā strādās (99.999% – ...? min nedarbība ‘downtime’ gadā)
Uzticamība - varbūtība ka sistēma strādās izvēlētajā laikā dotajos apstākļos. Obligāti jāzina
kādam periodam dati ir doti, kas ir atteikums un kādi ir apstākļi pie kuriem mēra. 99,999% 0.001 atteikums 100 gados
Defektu noturību “fault tolerance” – panāk ar dublēšanu
Atkļūdošanu “error removal” – panāk ar verifikāciju
29
29

30.

RAID
Redundant Arrays of (Inexpensive) Disks
Tiek nodrošināta pieejamība kaut arī diski “mirs”
tāpat
Dati tiek atjaunoti no dublētās informācijas
– Papildus tēriņi dublējošās informācijas izveidei,
atjaunošanai
– Papildus vieta dublējošās informācijas glabāšanai
RAID veidi:





RAID1 – spoguļošana (100% virstēriņi)
RAID0 – nav dublēšanas (bet ir veiktspēja 2x)
RAID3 – vismaz viens “lieks” paritātes disks (diemžēl vienlaicīgi tas ir arī sistēmas šaurā vieta)
RAID5 – paritātes informācija “izsmērēta” pa visiem diskiem (nav vienas “šaurās” vietas)
Kombinācijas no šiem pamata veidiem
RAID neatbrīvo no rezerves kopiju veidošanas nepieciešamības!
30
30

31.

Tīklam pievienoti diski (NAS)
Network-attached storage (NAS) – tās ir datu glabātuves kas DS tiek pievienotas izmantojot datoru
tīklu
Plašāk izplatītie NFS un CIFS protokoli
31
31

32.

Resorces
http://www.storagereview.com/map/lm.cgi/seek
http://www.cs.ucla.edu/~kohler/class/05s-osp/notes/notes12.html
http://www.zurich.ibm.com/st/storage/concept.html#
http://en.wikipedia.org/wiki/Hard_disk
http://en.wikipedia.org/wiki/Availability
http://www.google.com/search?q=define:reliability
http://www.ecs.umass.edu/ece/koren/architecture/Raid/basicRAID.html
32
32
English     Русский Правила