KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA

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

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. Grafin ė plokštė Grafinė atmintis Grafinės atminties tipai Grafikos procesorius Įterptinė g rafik a - PowerPoint PPT Presentation

Transcript of KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA

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

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 3: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 32011

Šioje paskaitoje

Pertrauktys, jų tipai Pertraukčių apdorojimas

Klasika - IBM Intel pertraukčių kontroleris

Įvesties ir išvesties problemos Periferinio įtaiso kontroleris Prievadai (portai) Programa valdomi duomenų mainai Tiesioginiai duomenų mainai Kanalas. TKA Kompiuterių platformos Mobiliųjų kompiuterių platformos

Page 4: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 42011

Pertrauktys

Procesoriui dirbant savo darbą (vykdant programos komandas) tenka kreipti dėmesį ir į kitų kompiuterio komponentų darbą

Galima tai atlikti taip – reguliariai paklausti, ar kuris nors komponentas nereikalauja dėmesio ar jame nesusidarė situacija, reikalaujanti dėmesio ir atitinkamo sprendimo

Toks reguliarus tikrinimas vadinamas apklausa arba polinguTačiau kur kas tikslingiau naudoti signalus, kuriais

kompiuterio komponentai patys informuotų apie juose susidariusią situaciją, reikalaujančią dėmesio

Tokie signalai vadinami pertraukties signalais

Page 5: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 52011

Pertrauktys

Pertraukiančios (pertrauktį apdorojančios) programos

Pertraukties signalai

Pagrindinėprogra

ma

Procesorius

Aplinka

Page 6: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 62011

Pertraukčių tipai

Išorinės (asinchroniškos procesui): • techniniai gedimai (įtampa, …)• laikrodis• kiti procesai ar procesoriai• procesai išoriniuose įtaisuose• vartotojas, operatoriusVidinės (sinchroniškos procesui): • adresavimo klaidos• operandų klaidos (/0, …)• operacijos klaidos (perpildymas, …)• negalima operacija• režimo pakeitimas

Page 7: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 72011

Pertraukčių tipai

Programinės (sinchroniškos procesui): • programinės (pertr. sistemai tikrinti)• derinimo (po kiekvienos komandos - analizė)

Vykdymo variantai: • po komandos (dažniausiai)• komandoje (rečiau, kai negalima užbaigti):

• puslapio klaida• ilgai trunkančioms komandoms

Apdorojama: • mikroprograma (anksčiau)• paprograme (dažniausiai)

Į turinį

Page 8: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 82011

Pertrauktys: terminai

Aparatinės pertrauktys – iššaukiamos elektriniais signalais procesoriaus įėjimuose.

• maskuojamos (įėjimas INTR) – reakcija priklauso nuo IF reikšmės

• nemaskuojamos (įėjimas NMI)Programinės pertrauktys – iš esmės tai speciali priemonė tam

tikroms procedūroms iškviesti.Išskirtinės situacijos (Exceptions) – trijų tipų ypatingi atvejai:

• klaidos (faults) – aptinkamos prieš vykdant komandą (pvz., page fault)

• “spąstai” (traps) – aptarnaujamos įvykdžius komandą (pvz., programinės pertrauktys)

• avarinės situacijos (aborts) – neaišku, kuri komanda kalta

Page 9: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 92011

Ar dažnai būna pertrauktys?

VAX 8800 kompiuterio, kuriame buvo naudojamas laiko skirstymo režimas, darbo analizė parodė:Pertraukties priežastis Intervalas

Įvesties ir išvesties sistema 2,7 ms

Sistemos laikrodis 10,0 ms

Programinės pertrauktys 1,5 ms

Aparatinės pertrauktys 2,1 ms

Įvertinus viską 0,9 ms

Page 10: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 102011

Pertrauktys

Parametrai:• įėjimo signalų skaičius• reakcijos laikas• perjungimo laikas• gylis

Pagr.progr.

Signalas

Pertr. apdor.Reakcijos

Perjungimolaikas laikas

Page 11: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 112011

Pertraukčių lygiai

321

321

3

22

11

Užklausos

Vieno lygiosistema

Kelių lygių sistema

Pertraukčių prioritetaiAptarnavimo tvarka:

Čia 1 pertrauktis turi žemiausią prioritetą, 3 - aukščiausią

Page 12: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 122011

Pertrauktys

Apdorojimo procedūra:• pertraukties signalo priėmimas• pertraukties atpažinimas• būsenos įsiminimas• pertrauktį apdorojančios programos vykdymas• būsenos atstatymas

Page 13: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 132011

Pertraukties apdorojimas

PROGRAMINĖ

ĮRANGA

APARATŪRA

Įtaiso kontroleris arba kita aparatūra

formuoja pertraukties signalą

Procesorius baigia vykdyti pradėtą

komandą

Procesorius perduoda pertr. patvirtinimo

signalą

Procesorius į steką įrašo programų skaitiklio ir PSW

reikšmes

Procesorius nustato PC pagal pertraukties

vekt.

Išsaugoma kita svarbi informacija apie proceso būseną

Procesorius apdoroja pertrauktį

Atstatoma informacija apie pertraukto proceso būseną

Atstatomas programų skaitiklio turinys ir

proceso būsena (PSW)

Į turinį

Page 14: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 142011

PSW (IBM/360)

Išorinių pertraukčių kaukė

Įvedimo / išvedimo kaukė

Valdymo režimas Kontrolės schemų pertraukties kaukė Laukimas / skaičiavimas Uždavinys / supervizorius

Būsena

Sistemos kaukė

0 5 6 7 8 11 12 13 14 15 16 31

Kanalų Programos Pertraukties

kaukė raktas kodas

32 33 34 35 36 39 40 63

Progr. ILC CC pertr. Komandos adresas

kaukė

Programinių pertraukčių kaukė:[36] - sveikųjų skaičių perpildymas[37] - dešimtainių skaičių perpildymas[38] - eilės išnykimas [39] - mantisės išnykimas

Sistemos kaukė:[0] - multipl. kan. kaukė[1-5] - selekt. kan. kaukė[6] - >5 kan. kaukė

Rezultato požymis

Komandos ikgio kodas

Page 15: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 152011

CC formavimas IBM/360

CC reikšmės formavimo pavyzdys:

Komanda 00 01 10 11Kodų sudėtis =0,C=0 0,C=0 = 0,C0

0,C0 Pusžodžių sudėtis =0 <0 >0 Perpild.

IR =0 0 - - Sąlyginis perėjimas n e k e i č i a m a Palyginimas = Op1<OP2 Op1>OP2

Page 16: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 162011

Pertraukčių realizacija IBM/360

PSW adresai:

Pertraukties tipas “Senieji” “Naujieji”• Išorinės 24 88• Kreipinys į supervizorių 32 96• Programinės 40 104• Aparatinės kontrolės 48 112• Įvesties ir išvesties 56 120

Page 17: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 172011

Pertraukčių realizacija IBM/360

P.užklausa (2 klasės)

Naujieji PSW

1

2

3

4

5

Pertraukiančioji programa

Senieji PSW

1

2

3

4

5

Pertrauk-toji

programa

Pertrau-kiamoji

programaBūsenos

išsaugojimas

Programa

Būsenos atstatymas

PSW registras1

2

5

6

3

4

Į turinį

Page 18: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 182011

Pertraukčių kontroleris (Intel)

INTA INT

D7 - D0

IR0IR1IR2IR3IR4IR5IR6IR7

Valdymo logika

Pertr. užklaus.regist-

ras

(IRR)

Prioriteto schema

Aptarn. pertr. regist-

ras

(ISR)

Pertr. kaukės registras(IMR)

Duom. magistr. buferis

Skait./ Įrašymo logika

Kaskadinio jungimo

valdymas

RD

WR

A0

CS

CAS0

CAS1

CAS2

SP/EN

Page 19: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 192011

Pertraukčių aptarnavimo valdymas

Procesorius gali nurodyti, kaip pertraukčių kontroleris aptranaus pertrauktis:

• Fiksuoti prioritetai – pertraukčių užklausos aptarnaujamos pagal įėjimų eilės tvarką (nuo IR0 iki IR7; aukščiausias – IR0); šis režimas nustatomas automatiškai

• Cikliniai prioritetai – aptarnautas įtaisas gauna žemiausią prioritetą toje grupėje

• Speciali kaukė – kai kurių įtaisų pertraukčių užklausos gali būti ignoruojamos.

Page 20: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 202011

Cikliškas prioritetų keitimas

Tegul aptrarnavimo laukia tokios pertrauktys:

Prioritetai:

Aptarnavus IR3 (jis turi aukščiausią pripritetą tarp laukiančių), visų įtaisų prioritetai pasikeis taip:

0 1 1 0 1 0 0 00 1 1 0 1 0 0 0IS7 IS6 . . . IS3 IS0

0 1 1 0 1 0 0 07 6 5 4 3 2 1 0Žem. . . . Aukšč.

0 1 1 0 1 0 0 03 2 1 0 7 6 5 4 Aukšč. Žem.

Page 21: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 212011

Pertraukčių kontroleris

IOWCIORCINTA

Pertraukčių įėjimai

Duomenų magistralė

Adreso selektoriu

s

Adreso magistralė

Į P

Kaskadiniam jungimui

CS A0 INT D7-D0

WR

RD 8259A CASINTA

IR0 IR7

Page 22: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 222011

Pertraukčių kontrolerio naudojimas

IR0IR1 INTIR2…IR7 CAS

Išor. įtaisas 00

Išor. įtaisas 01

Išor. įtaisas 07

IR0IR1 INTIR2…IR7 CAS

IR0IR1 INTIR2…IR7 CAS

Išor. įtaisas 08

Išor. įtaisas 09

Išor. įtaisas 15

Išor. įtaisas 56

Išor. įtaisas 57

Išor. įtaisas 63

IR0IR1 INTIR2…IR7CAS

NMIINTR

Vedantysis(Master)8259A

Vedamieji (Slaves)8259A

Procesorius

Page 23: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 232011

Pertraukčių kontrolerio naudojimas AT

IR0IR1 INTIR2…IR7 CAS

Išor. įtaisas 02

Išor. įtaisas 03

Išor. įtaisas 09

Išor. įtaisas 10

Išor. įtaisas 11

Išor. įtaisas14

IR0IR1 INTIR2IR3IR4IR5IR6IR7 CAS

NMIINTR

Vedantysis8259A

Vedamasis8259A

Procesorius

Išor. įtaisas 00

Išor. įtaisas 01

PC/XT kompiuteriuose buvo tik viena mikroschema 8259A

PC/AT kompiuteriuose buvo 2 mikroschemos 8259A, sujungtos tokiu būdu:

Į turinį

Page 24: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 242011

Pertraukčių kontrolerio 8259A valdymas

Pertraukčių kontroleris – programuojamas įtaisas.

Informacija jam perduodama ir gali būti iš jo gauta vieno baito žodžiais, naudojant įvesties ir išvesties komandas.

Kontroleris turi du darbo režimus: • inicializavimo režimą ir• darbo režimą.

Page 25: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 252011

Pertraukčių kontrolerio 8259A valdymas

Pradžioje kontroleris inicializuojamas, perduodant jam iki 4 baitų, vadinamų inicializavimo žodžiais (ICW). Šie žodžiai užduoda tokius parametrus, kaip:• paleidimo režimą (frontu ar lygiu),• kontrolerių kiekį,• pertraukties tipą nurodančius bitus,• kaskadinio jungimo detales, ...

Baigus inicializavimą, kontroleris pereina į darbo režimą.

Page 26: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 262011

Pertraukčių kontrolerio 8259A valdymas

Dirbdamas darbo režimu, jis priima valdymo komandas – OCW (Operation Control Words). Šie žodžiai užduoda:

• kaukę - blokuotus (maskuotus) įėjimus,

• ciklinį prioritetų režimą,

• pertraukties lygį,

• apklausos režimą.

Page 27: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 272011

Modernus pertraukčių kontroleris

Multiprocesorinėms sistemoms buvo sukurti

modernūs pertraukčių kontroleriai (APIC -

advanced programmable interrupt controllers),

kurie turėjo padidinti pertraukčių apdorojimo

efektyvumą tokiose sistemose

Intel APIC sistemose yra du komponentai -

lokalus APIC (LAPIC) ir I/O APIC

Page 28: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 282011

Modernus pertraukčių kontroleris

LAPIC valdo visas savojo procesoriaus išorines pertrauktis SMP sistemoje. Be to, jis gali priimti ir generuoti tarpprocesorines pertrauktis (IPI) tarp LAPIC

LAPIC gali palaikyti iki 224 pertraukčių vektorių iš I/O APIC. Vektoriai, kurių numeriai 0 - 31, yra rezer-vuoti pertraukčių apdorojimui x86 procesoriuose

I/O APIC turi specialią lentelę, kuri naudojama iš I/O magistralių gautoms pertrauktims nukreipti į vieną ar kelis lokalius APIC

Page 29: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 292011

Pentium pertrauktys ir išskirtinės situacijos

Vekt. Nr.

Aprašymas Vekt. Nr.

Aprašymas

0 Dalybos klaida 10 Neleistinas užduoties segmentas 1 Derinimo išskirtinė situacija 11 Nėra segmento 2 NMI (nemaskuojama) pertr. 12 Steko klaida

3 Stabdymo taškas (INT3) 13 Bendroji apsauga 4 Perpildymas 14 Puslapio klaida 5 Pažeista segmento riba 15 Rezervuota 6 Blogas operacijos kodas 16 Slankaus kablelio klaida 7 Nėra įrenginio 17 Išlyginimo klaida 8 Dvi klaidos (vienoje

komand.) 18 Mašinos kontrolė

9 Rezervuota 19 -31 Rezervuota 32 -255 Aparatinės pertrauktys

Page 30: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 302011

Pentium pertrauktys ir išskirtinės situacijos

Pertraukties (vektoriaus) numeris – 8 bitų kodas, identifikuojantis pertraukties vektorių.

Pertraukties vektorius – įrašas pertraukčių deskriptorių lentelėje IDT, kuris nurodo pertrauktį aptarnaujančią programą (paprogramę).

0-31 numeriais pažymėtas pertrauktis atpažįsta CPU, o 32-255 numeriais pažymėtos pertrauktys atpažįstamos tik programiškai

Page 31: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 312011

Pertrauktys konvejerizuojame procesoriuje

Rezultato įrašymas

Operacijos

vykdymas

Dekodavimas ir

operandų išrinkimas

Komandos išrinkimas

• dalyba iš nulio• perpildymas• rezultato išnykimas

• blogas op. kodas• puslapio klaida• adreso klaida• blogas išlyginimas• lyginumas

• puslapio klaida• adreso klaida• lyginumas

•puslapio klaida• adreso klaida• blogas išlyginimas• lyginumas

Page 32: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 322011

Įvesties ir išvesties problemos

Galimybė prijungti įvairius PĮ Lygiagretus įvesties ir išvesties

sistemos darbas su procesoriumi Maksimaliai supaprastintas įvesties ir

išvesties procesų programavimas Reakcija į įvairias kritines situacijas bei

iškilusias problemas

Page 33: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 332011

Problemų sprendimo keliai

PĮ moduliškumas (konstruktyvus išbaigtumas, paprastas prijungimas)

Unifikuoti duomenų formatai Unifikuota sąsaja (interfeisas) Unifikuoti komandų formatai ir tipai

Į turinį

Page 34: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 342011

Kompiuteris ir jo I/O įtaisai

CPU

Kešas

Pagrindinėatmintis

Įvesties ir išvesties magistralė

I/O kontroleris

MD MD

I/O kontroleris

I/O kontroleris

Grafikos išvesties

įtaisas LAN

Pertraukčių signalai

Page 35: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 352011

Periferinių įtaisų darbo sparta

Įtaisas Įv. - išv. Partneris Sparta (KB/s)

Klaviatūra Įvestis Žmogus 0,01Pelė Įvestis Žmogus 0,02Skeneris Įvestis Žmogus 200Nuoseklus spausdintuvas Išvestis Žmogus 1Lazerinis spausdintuvas Išvestis Žmogus 100 Grafinis displėjus Išvestis Žmogus 100 000 Vietinis tinklas (LAN) Įvest/išv. Kompiuteris 200Optinis diskas Atmintis Kompiuteris 1 000 Magnetinis diskas Atmintis Kompiuteris 40 000

Page 36: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 362011

Pagrindinės sąvokos

periferinis įtaisas (I/O įtaisas) I/O magistralė I/O kanalas I/O kontroleris I/O sąsaja (interfeisas) programa valdomi duomenų mainai tiesioginiai mainai su atmintimi

Page 37: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 372011

Periferinio įtaiso kontroleriofunkcijos

valdymas ir sinchronizavimas ryšis su CPU ryšis su periferiniu įtaisu

adreso atpažinimas komandų dekodavimas informacijos apie būseną pateikimas duomenų perdavimas

duomenų buferizavimas klaidų kontrolė

Į turinį

Page 38: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 382011

Periferinių įtaisų adresavimas

a) atskiros adresų b) persidengiančios sritys (PDP) adresų sritys

RAM

I/O prievadai

000000

777400

777777

RAM

I/O prievadai0000

00FF

FFFFFFFF

Page 39: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 392011

Periferinių įtaisų adresavimas ir I/O komandos

Komandos:

a) move - universali (ir kreipiantis į atmintį, ir į PĮ); vieta atskiriama pagal adreso reikšmę

b) load/store - kreipiantis į atmintį, in/out - kreipiantis į PĮ; vieta atskiriama pagal magistralės signalus

Page 40: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 402011

Prievadai (portai)

Įvesties prievadas – bet koks duomenų šaltinis, kuris gali būti išrinktas vykdant įvesties komandą.

Išvesties prievadas – bet koks duomenų imtuvas, kuris gali būti išrinktas vykdant išvesties komandą.

Prievadai adresuojami per adreso magistralę (ar jos dalį).

Page 41: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 412011

Prievadai (portai)

7 0išrinkimas

į periferinį įtaisą

išvesti

įvesti

A magistralė

D magistralė

7 0

L

L

iš periferinio įtaiso

selektorius

&

&

7 0

Išvesties prievadas

Įvesties prievadas

tribūvis buferis

Į turinį

Page 42: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 422011

Duomenų mainai su PĮ

Atsižvelgiant į persiunčiamų duomenų kiekį bei PĮ darbo spartą, pasirenkamas vienas iš dviejų mainų tipų:

a) programa valdomi duomenų mainai – kai perduodama mažai duomenų ir kreipiantis į atmintį, ir PĮ darbo sparta nedidelė

b) tiesioginiai duomenų mainai - kai perduodamų duomenų apimtis didelė ar PĮ darbo sparta didelė

Page 43: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 432011

Programa valdomiduomenų mainai

Šiuo atveju mainus valdo procesorius, tam naudodamas įvesties ir išvesties komandas IN ir OUT

Priklausomai nuo įtaiso tipo ir jo darbo ypatumų skiriami trys atvejai:

a) besąlyginiai mainai,

b) sąlyginiai mainai,

c) mainai pagal pertraukties signalą

Page 44: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 442011

Programa valdomiduomenų mainai

a) besąlyginiai mainai b) sąlyginiai mainai

in/out port

in/out port

Pasi-rengęs?

Ne

Taip

Page 45: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 452011

Programa valdomiduomenų mainai

c) mainai pagal pertraukties signalą

Pagrindinė programa

Pertr. sistemos parengimas

Mainų parengimas

Mainų papro-gramė

INTR

INTR

...

Į turinį

Page 46: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 462011

Tiesioginiai duomenų mainai

Tiesioginiais duomenų mainais vadinamas toks duomenų įvedimas ir išvedimas, kuris vyksta tarp sistemos pagrindinės atminties ir įvesties ar išvesties įtaisų, nedalyvaujant (tiesiogiai) procesoriui

Visas duomenų mainų valdymo funkcijas atlieka specialus įtaisas, kurį vadiname kanalu (klasika – didieji kompiuteriai) ar tiesioginių mainų su atmintimi kontroleriu (mikroprocesorinėse sistemose)

Page 47: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 472011

Tiesioginiai duomenų mainai

Procesorius parengia duomenų mainus, nusiųsdamas reikalingą informaciją (duomenų adresą atmintyje, baitų skaičių, operacijos tipą ir t.t.) kanalui ar kontroleriui, parengia pertraukčių sistemą ir toliau dirba kitą darbą

Bet kuriuo pagrindinės programos vykdymo momentu, kai periferinis įrenginys pasiruošęs tiesioginiams duomenų mainams, kanalas siunčia tiesioginių mainų reikalavimo signalą, kadangi jam reikalinga magistralė (vienam žodžiui perduoti)

Page 48: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 482011

Tiesioginiai duomenų mainai

CPU vykdo kitą procesą

CPU parengia mainus, progr. TKA kontrolerį

TKA valdo mainus

tarp disko ir atminties

INTR

...

Cik- lų

už-ėmi-mas

Į turinį

Page 49: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 492011

Klasika: IBM kanalai

Procesorius

KanalasPagrindinė

atmintisI/O

kontroleris

Page 50: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 502011

Pagrindinės kanalo funkcijos

nurodyti duomenų masyvo adresą atmintyje; nurodyti duomenų masyvo ilgį; formuoti (nuosekliai) atminties adresus; skaičiuoti perduodamų duomenų kiekį; nustatyti operacijos pabaigą; buferizuoti duomenis; keisti duomenų formatus (pagal PĮ ir Atm); įgalinti praleisti atskirus duomenų srauto gabalus; minimizuoti procesoriaus įsikišimą, kai sudaromos

komandų grandinėlės; formuoti pertraukties užklausimo signalą; perduoti informaciją apie periferinio įtaiso būseną.

Page 51: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 512011

Tiesioginių mainų su atmintimi kontroleris (8237A)

0 kanalasDuomenų

magistralės buferis

1 kanalasKontr. vald.

blokas

2 kanalasRežimų vald.

blokas

3 kanalas

TR(16)

CR(8)

SR(8)

RR(4)

MASK(4)

CAR (16)

BAR (16)

CWR (16)

MR (6)

WCR (16)

DREQ0

DACK0

D

Valdymo signalai

DREQ1

DACK1

DREQ2

DACK2

DREQ3

DACK3

Page 52: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 522011

Registrai

Registrai: CR – Command Reg. CAR – Current Address Reg. SR – Status Register BAR – Basic Address Reg. SR – Request Reg. CWR – Current WordCount Reg. MASK – Mask Register WCR – Basic WordCount Reg.

Page 53: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 532011

Tiesioginiai duomenų mainai

Procesorius leidžia atlikti duomenų mainus (perduoti žodį), leisdamas valdyti magistralę kanalui ar kontroleriui; tai vadinama ciklo užėmimu

Duomenų mainų procesas tęsiasi tol, kol perduodamas nustatytas baitų skaičius (duomenų masyvo ilgis)

Pabaigus įvesti ar išvesti nustatyto ilgio duomenų masyvą, kanalas siunčia pabaigos signalą į PĮ bei pertraukties signalą į CPU, informuodamas juos apie duomenų mainų pabaigą

Į turinį

Page 54: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 542011

Kompiuterių platformos

Kompiuterių platformos sąvoką dabartiniu metu girdime dažnai.

Kompiuterių platforma vadinama tam tikra jų techninės įrangos architektūra ir programinės įrangos karkasas, kuris įgalina veikti programinę įrangą

Paprastai platforma apima kompiuterio architektūrą, operacinę sistemą, programavimo kalbas ir vartotojo sąsają

Page 55: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 552011

Platformos samprata

Bet kuri platforma turi tris dedamąsias: konceptualiąją, nusakančią pagrindinę idėją, kuriai ir

kuriama platforma, jos funkcinių galimybių rinkinį; aparatūrinę, kuri nusako galimų komplektuojančių

komponenčių rinkinį, užtikrinantį visų konceptualiosios dedamosios idėjų realizaciją;

programinę, kuri nusako OS, tvarkyklių ir, gal būt, papildomos programinės įrangos rinkinį, užtikrinantį konceptualiąja dedamąja nusakytų funkcinių galimybių realizaciją.

Į turinį

Page 56: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 562011

Kompiuterių platformos

Kompiuterių platformų pavyzdžiais gali būti:

PC platforma, nešiojamų kompiuterių platformos:

AMD Brazos platforma, Intel Cedar Trail platforma, AMD Fusion platforma, nVidia Tegra platforma, ...

Page 57: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 572011

Intel mobiliųjų platformos

Intel savo mobiliųjų kompiuterių platformoms (technologijoms), kurių pagrindą sudaro trys suderinti komponentai: procesorius, valdymo schemų rinkinys (chipset) belaidžių tinklų adapteris

suteikė skambius pavadinimus (Centrino (2003 m), Sonoma, Napa, ...), kurie turėjo didelę įtaką mobiliųjų patrauklumui ir konkurencijai

Page 58: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 582011

Intel platformos

Sonoma Napa Santa Rosa MontevinaPasirodymas 2005.01 2006 1 ketv. 2007 2 ketv. 2008 1 ketv.

Procesorius Pentium M Pentium M Core 2 Duo Penryn

L2 maks. 1 MB 2 MB 4 MB 8 MB

Techn.norma 90 nm 65 nm 65 nm 45 nm

FSB 400/533 MHz

533 MHz 800 MHz 1066 MHz

RAM DDR2-533 DDR2-667 DDR2-800 DDR2-800, DDR3-800

Graf. plokštė GMA 900 (DirectX 8)

GMA 950 (DirectX 9.0)

GMA X3100

(DirectX 9.0)

???

(DirectX 10)

Video magistr. PCI Express PCI Express PCI Express PCI Express

Wi-Fi 802.11 a/b/g 802.11 a/b/g/n 802.11 a/b/g/n 802.11 a/b/g/n

Page 59: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 592011

Intel Centrino

Taip buvo pavadinta Intel mobiliųjų kompiuterių technologija, kurią sudaro trys komponentai:

Pentium-M procesorius, Intel 855 valdymo schemų rinkinys (chipset) Intel Pro/Wireless LAN adapteris.

Page 60: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 602011

Intel Calpella

Ši Intel mobiliųjų platforma pasirodė 2009 m. pabaigoje. Joje:

kai kurie valdymo schemų rinkinio komponentai, įskaitant atminties kontrolerį, perkelti į procesorių

valdymo schemų rinkinys Ibex Peak-M palaiko procesorius Core i3/i5/i7, kurių tarpe yra ir turinčių įterptinę grafiką

palaikomas Wi-Fi (standartas IEEE 802.11 a/b/g/n) ir WiMAX/Wi-Fi

Page 61: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 612011

Naujausios Intel platformos

Artimiausia ateitis – Huron River, kurios pagrindas – 2 ir 4 branduolių Sandy Bridge procesorius (32 nm). Čia integruoti grafinis ir DDR3-1600 kontroleriai, dažnis nuo 2,8 iki 3,4 GHz, L2 kešas – po 256 KB branduoliui, Wi-Fi ir WiMAX palaikymas, Wireless Display technologija.

Chief River – naujausia kuriama Intel platforma, kurios pagrindas – būsimasis Ivy Bridge procesorius (22 nm)

Page 62: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 622011

Huron River platf. pavyzdys

Taivanio firma MSI išleido nešiojamus kompiuterius, turinčius 15,5” ir 14” ekranus

FX620DX palaiko Full HD (1920x1080 piks.) arba HD (1366x768 piks.), turi 2,3 GHz Core i5-2410M arba 2 GHz Core i7-2630QM

Čia yra grafinis adapteris GeForce GT 540M su 1 GB atminties, 720 GB HD, DVD arba Blu-Ray, internetinė kamera HD, USB 3.0, Wi-Fi ir Bluetooth

Page 63: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 632011

Intel Atom platformos

Netrukus po to, kai pasirodė Atom, jų pagrindu Intel sukūrė MID platformą Menlow. Joje naudojamas VSR Poulsbo (su Intel HD Audio, pavadintu Azalia), belaidžiu radijo ryšiu.

Sekanti Atom platforma – Moorestown, kurių pagrindas Atom Z6xx procesorius (45 nm), Langwell - Intel Platform Controller Hub MP20 ir Mixed Signal IC (MSIC), skirtas energijos suvartojimo valdymui. Ryšys - 802.11a/b/g Wi-Fi

Page 64: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 642011

Intel Atom platformos

Intel Atom CPU

Magistralės sąsaja

Displėjus Atm.kontroleris

Grafika Video dekoderis

Pietinio tilto įtaisų valdymas

SIL

VER

TH

OR

NE

45 n

mPO

ULS

BO

130

nm

Atom CPU brand

Magistralės sąsaja

Displėjus Atm.kontrolerisGrafika Video dekoderis

Pietinio tilto įtaisų valdymas

LIN

CR

OFT

45 n

mLA

NG

WE

LL65 n

m

Page 65: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 652011

AMD platforma Shrike

• Pirmoji Fusion platforma, kurioje integruojami CPU ir GPU branduoliai viename kristale

• CPU branduoliai atitinka Phenom procesoriaus branduolius

• Sąsajos: USB 2.0, HDMI, DisplayPort ir DVI• Naudojami DDR3-1333 SO-DIMM moduliai

Page 66: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 662011

AMD platforma Shrike

Į turinį

Page 67: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 672011

Kontroliniai klausimai

1. Paaiškinkite pertraukties sąvoką ir paskirtį

2. Kokius pertraukčių tipus žinote?

3. Kokie pertraukčių parametrai? Jų prasmė

4. Kam reikalingi pertraukčių lygiai?

5. Kaip apdorojamos pertrauktys?

6. Kokia pertraukčių kontrolerio paskirtis ir struktūra?

7. Kokias problemas tenka spręsti realizuojant įvesties ir išvesties sistemą

8. Kokias funkcijas vykdo periferinio įtaiso kontroleris?

Page 68: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 682011

Kontroliniai klausimai

9. Kaip adresuojami periferiniai įtaisai?

10. Apibūdinkite prievado sąvoką

11. Ką vadiname programa valdomais duomenų mainais?

12. Apibūdinkite tris programa valdomų duomenų mainų atvejus

13. Ką vadiname tiesioginiais duomenų mainais?

14. Apibūdinkite kanalo ir TKA kontrolerio funkcijas

15. Apibūdinkite kompiuterių platformos sąvoką

16. Apibūdinkite nešiojamų kompiuterių platformas

Page 69: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 692011

Uždaviniai

Page 70: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 702011

Dviejų krypčių kešo dydis - 256 KB, jo eilutės ilgis - 32 baitai.

Vietai eilutėje nurodyti reikės log232 = 5 bitų.Eilutės numeriui (indeksui) nurodyti reikės

log2(256K/(2x32)) = log24K = 12 bitų.Tegui lieka 32 – 5 – 12 = 15 bitųAtminties adreso struktūra:

tegas eilutės numeris (indeksas) vieta eilutėje

31 17 16 5 4 0

Informacijos adresavimaskeše

Page 71: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 712011

Sparčiosios transliacijos buferis

Puslapių lentelė

Loginio puslapio numeris Baito poslinkis

Fizinio puslapio numeris Baito poslinkis

Sparčiosios transliacijos

buferis

ORPuslapio atmintyje nėra

Loginis adresas iš procesoriaus

Miss

Įkrauti TLB

Hit

Puslapių mainai su disku

Fizinis adresas į atmintį

Page 72: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 722011

Keturių krypčių TLB dydis - 32 įrašai,

VA puslapio ilgis - 2 Kbaitai.

Vietai puslapyje nurodyti reikės log22KB = 11 bitų.

Tai turime įvertinti aiškindamiesi atminties adreso struktūrą, nes šie bitai nėra transliuojami (žr. ankstesnę skaidrę)

Eilutės numeriui (indeksui) nurodyti reikės log2(32/2) = log216 = 4 bitų.

Tegui lieka 32 – 11 – 4 = 17 bitų

Informacijos adresavimas TLB

Page 73: KOMPIUTERIŲ  ELEMENTAI ir  ARCHITEKTŪRA

©S.Maciulevičius 732011

Taigi: Vietai puslapyje nurodyti - 11 bitų Indeksui nurodyti - 4 bitų Tegui lieka 32 – 11 – 4 = 17 bitųAtminties adreso struktūra:

tegas ind vieta puslapyje31 15 14 11 10 0

Informacijos adresavimas TLB

Įrašo struktūra:

V ir kt. Tegas (17 bitų) Fizinio psl. Nr.(21 bitas)??? 38 37 21 20 0