1 / 73

KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA

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

reed-gamble
Download Presentation

KOMPIUTERIŲ ELEMENTAI ir ARCHITEKTŪRA

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Ų ELEMENTAI ir ARCHITEKTŪRA ŠIUOLAIKINIŲ KOMPIUTERIŲ ARCHITEKTŪRA Doc. Stasys Maciulevičius Kompiuterių katedra stasys.maciulevicius@ktu.lt

  2. 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

  3. Š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

  4. 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 polingu Tačiau kur kas tikslingiau naudoti signalus, kuriais kompiuterio komponentai patys informuotų apie juose susidariusią situaciją, reikalaujančią dėmesio Tokie signalai vadinami pertrauktiessignalais

  5. Pertrauktys Procesorius Pagrindinėprograma Pertraukties signalai Pertraukiančios (pertrauktį apdorojančios) programos Aplinka

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

  7. 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į

  8. 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

  9. Ar dažnai būna pertrauktys? VAX 8800 kompiuterio, kuriame buvo naudojamas laiko skirstymo režimas, darbo analizė parodė:

  10. Pertrauktys Pagr.progr. Signalas Pertr. apdor. Reakcijos Perjungimo laikas laikas • Parametrai: • įėjimo signalų skaičius • reakcijos laikas • perjungimo laikas • gylis

  11. Pertraukčių lygiai 2 3 1 1 2 3 2 2 1 1 Pertraukčių prioritetai Aptarnavimo tvarka: Užklausos Vieno lygio sistema Kelių lygių sistema 3 Čia 1 pertrauktis turi žemiausią prioritetą, 3 - aukščiausią

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

  13. Įtaiso kontroleris arba kita aparatūra formuoja pertraukties signalą Pertraukties apdorojimas Išsaugoma kita svarbi informacija apie proceso būseną Procesorius apdoroja pertrauktį P R O G R A M I N Ė Į R A N G A Atstatoma informacija apie pertraukto proceso būseną Procesorius baigia vykdyti pradėtą komandą Atstatomas programų skaitiklio turinys ir proceso būsena (PSW) A P A R A T Ū R A Procesorius perduoda pertr. patvirtinimo signalą Procesorius į steką įrašo programų skaitiklio ir PSW reikšmes Procesorius nustato PC pagal pertraukties vekt. Į turinį

  14. 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 Kanalų Programos Pertraukties kaukėraktas kodas 0 5 6 7 8 11 12 13 14 15 16 31 Sistemos kaukė Būsena • Progr. • ILC CC pertr. Komandos adresas • kaukė 32 33 34 35 36 39 40 63 Sistemos kaukė: [0] - multipl. kan. kaukė [1-5] - selekt. kan. kaukė [6] - >5 kan. 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 Rezultato požymis Komandos ikgio kodas

  15. CC formavimas IBM/360 CC reikšmės formavimo pavyzdys: Komanda 00 01 10 11 Kodų sudėtis =0,C=00,C=0 =0,C0 0,C0 Pusžodžių sudėtis=0 <0 >0 Perpild. IR =00 - - Sąlyginis perėjimasn e k e i č i a m a Palyginimas =Op1<OP2Op1>OP2

  16. 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

  17. Pertraukčių realizacija IBM/360 Pertraukiančioji programa 1 2 3 4 5 Pertrau-kiamoji programa Senieji PSW Būsenos išsaugojimas Programa Būsenos atstatymas PSW registras P.užklausa (2 klasės) 1 2 3 4 5 Pertrauk-toji programa Naujieji PSW 3 5 1 4 2 6 Į turinį

  18. Pertraukčių kontroleris (Intel) RD WR A0 CS CAS0 CAS1 CAS2 SP/EN INTA INT Duom.magistr.buferis Valdymo logika D7 - D0 Skait./ Įrašymologika IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 Aptarn.pertr.regist- ras (ISR) Prioritetoschema Pertr. užklaus.regist-ras (IRR) Kaskadinio jungimo valdymas Pertr.kaukės registras (IMR)

  19. 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.

  20. Cikliškas prioritetų keitimas IS7 IS6 . . . IS3 IS0 Žem. . . . Aukšč. Aukšč. Žem. 0 1 1 0 1 0 0 0 7 6 5 4 3 2 1 0 3 2 1 07 6 5 4 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 • Tegul aptrarnavimo laukia tokios pertrauktys: • Prioritetai: • Aptarnavus IR3 (jis turi aukščiausią pripritetą tarp laukiančių),visų įtaisųprioritetai pasikeis taip:

  21. Pertraukčių kontroleris Adreso magistralė Duomenų magistralė Adreso selektorius ĮP CS A0 INT D7-D0 WR RD 8259ACAS INTA IR0 IR7 IOWC IORC INTA Kaskadiniam jungimui Pertraukčių įėjimai

  22. Pertraukčių kontrolerio naudojimas Vedamieji (Slaves) 8259A IR0 IR1 INT IR2 … IR7 CAS IR0 IR1 INT IR2 … IR7CAS IR0 IR1 INT IR2 … IR7 CAS IR0 IR1 INT IR2 … IR7 CAS Išor. įtaisas 08 Išor. įtaisas 56 Išor. įtaisas 00 Išor. įtaisas 57 Išor. įtaisas 09 Išor. įtaisas 01 Vedantysis (Master) 8259A Išor. įtaisas 07 Išor. įtaisas 63 Išor. įtaisas 15 Procesorius NMI INTR

  23. Pertraukčių kontrolerio naudojimas AT IR0 IR1 INT IR2 … IR7 CAS Išor. įtaisas 10 Išor. įtaisas 11 Išor. įtaisas14 Vedantysis 8259A Procesorius Vedamasis 8259A NMI INTR Išor. įtaisas 00 IR0 IR1 INT IR2 IR3 IR4 IR5 IR6 IR7 CAS Išor. įtaisas 02 Išor. įtaisas 01 Išor. įtaisas 03 Išor. įtaisas 09 PC/XT kompiuteriuose buvo tik viena mikroschema 8259A PC/AT kompiuteriuose buvo 2 mikroschemos 8259A, sujungtos tokiu būdu: Į turinį

  24. 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ą.

  25. 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ą.

  26. 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ą.

  27. Modernus pertraukčių kontroleris Multiprocesorinėms sistemoms buvo sukurti modernūspertraukč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

  28. 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ų apdorojimuix86 procesoriuose I/O APIC turi specialią lentelę, kuri naudojama iš I/O magistralių gautoms pertrauktims nukreipti į vieną ar kelis lokalius APIC

  29. Pentium pertrauktys ir išskirtinės situacijos

  30. 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

  31. Komandos išrinkimas Dekodavimas ir operandų išrinkimas Operacijos vykdymas Rezultato įrašymas Pertrauktys konvejerizuojame procesoriuje • puslapio klaida • adreso klaida • lyginumas • blogas op. kodas • puslapio klaida • adreso klaida • blogas išlyginimas • lyginumas • dalyba iš nulio • perpildymas • rezultato išnykimas • puslapio klaida • adreso klaida • blogas išlyginimas • lyginumas

  32. Į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

  33. Problemų sprendimo keliai PĮ moduliškumas (konstruktyvus išbaigtumas, paprastas prijungimas) Unifikuoti duomenų formatai Unifikuota sąsaja (interfeisas) Unifikuoti komandų formatai ir tipai Į turinį

  34. Kompiuteris ir jo I/O įtaisai Pertraukčių signalai CPU Kešas Įvesties ir išvesties magistralė I/O kontroleris I/O kontroleris I/O kontroleris Pagrindinė atmintis Grafikos išvesties įtaisas MD MD LAN

  35. Periferinių įtaisų darbo sparta

  36. 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

  37. 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į

  38. Periferinių įtaisų adresavimas a) atskiros adresų b) persidengiančios sritys (PDP) adresų sritys 0000 000000 RAM RAM I/O prievadai 00FF 777400 777777 FFFFFFFF I/O prievadai

  39. 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

  40. 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į).

  41. Prievadai (portai) A magistralė į periferinį įtaisą selektorius 7 0 L Išvesties prievadas & išrinkimas D magistralė 7 0 tribūvis buferis išvesti & įvesti 7 0 Įvesties prievadas L iš periferinio įtaiso Į turinį

  42. 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ė

  43. 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ą

  44. Programa valdomiduomenų mainai a) besąlyginiai mainai b) sąlyginiai mainai Pasi-rengęs? in/out port Ne Taip in/out port

  45. Programa valdomiduomenų mainai c) mainai pagal pertraukties signalą Mainų parengimas Pertr. sistemos parengimas Pagrindinė programa INTR Mainų papro-gramė INTR ... Į turinį

  46. 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)

  47. 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)

  48. Tiesioginiaiduomenų mainai CPU parengia mainus, progr. TKA kontrolerį CPU vykdo kitą procesą TKA valdo mainus tarp disko ir atminties Cik- lų už- ėmi- mas ... INTR Į turinį

  49. Klasika: IBM kanalai Procesorius Pagrindinė atmintis Kanalas I/O kontroleris

  50. 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ą.

More Related