1 / 26

Loginiai kompiuterio veikimo principai

Loginiai kompiuterio veikimo principai. Interpretatoriumi aprašomos mašinos struktūra. T - laikinojo saugojimo (papildomas) registras; IR - komandos registras; PC - programos skaitiklis; M – atmintis; AR - jos adreso registras; DR - jos duomenų registras. Kompiuterio Našumas.

nevan
Download Presentation

Loginiai kompiuterio veikimo principai

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. Loginiai kompiuterio veikimo principai

  2. Interpretatoriumi aprašomos mašinos struktūra T - laikinojo saugojimo (papildomas) registras; IR - komandos registras; PC - programos skaitiklis; M – atmintis; AR - jos adreso registras; DR - jos duomenų registras.

  3. Kompiuterio Našumas Jei kompiuteris dirba multiprograminiu režimu, reikia atminti, kad, kol vykdomos vieno uždavinio įvedimo-išvedimo operacijos, CPU vykdo kito uždavinio skaičiavimus. Todėl kompiuteryje vieno uždavinio sprendimo laikas nebūtinai bus minimaliai galimas. CPU laikas gali būti padalintas į dvi dalis:1) CPU laiką, skirtą šio uždavinio skaičiavimams, vadinamą vartotojo CPU laiku;2) sistemos CPU laiką, kai atitinkamas užduotis, susijusias su vartotojo uždaviniu, vykdo operacinė sistema. Programai vykdyti reikalingas CPU laikas TCPU gali būti išreikštas dviem būdais: TCPU = NCPU * T arba TCPU = NCPU / F ; čia pažymėta: · NCPU - programai vykdyti reikalingas taktų skaičius, · T - takto periodas, · F - taktų dažnis ( T = 1/F ).

  4. Vietoje programos CPU taktų skaičiaus galima naudoti įvykdytų komandų skaičių. Žinodami abu šiuos dydžius, galime paskaičiuoti vidutinį komandos taktų skaičių: CPI = NCPU / N, čia pažymėta: ·CPI - vidutinis komandos taktų skaičius (Clock Per Instruction), • N - programai vykdyti reikalingų komandų skaičius.Apjungę abi formules, galime užrašyti: TCPU = N * CPI * T arba TCPU = N * CPI / F. Taigi, CPU našumas priklauso nuo trijų parametrų: taktų periodo (T, dažnio), komandai įvykdyti reikalingo (CPI, vidutinio) taktų skaičiaus ir programos komandų skaičiaus (N). Jieyra priklausi nuo kitų dalykų: • taktų dažnis priklauso nuo aparatūros technologijos ir organizacijos; • CPI priklauso nuo organizacijos ir komandų sistemos architektūros; · komandų skaičius priklauso nuo komandų sistemos architektūros ir kompiliatorių kūrimo technologijos.

  5. MIPS ir MFLOPS Vienu iš populiarių rodiklių, apibūdinančių kompiuterių našumą, yra MIPS metrika: MIPS = N / (T * 106) = F / (CPI * 106 ). Tačiau reikia atminti, kad: ·MIPS priklauso nuo komandų sistemos, todėl sunku palyginti kompiuterius, turinčių skirtingas komandų sistemas; net ir tam pačiam kompiuteriui MIPS priklauso nuo programos, naudojamos rodikliui nustatyti; atskirais atvejais MIPS netgi veikia atvirkščiai nei našumas. Kitas populiarus rodiklis, apibūdinantis kompiuterių našumą apdorojant slankaus kablelio skaičius, yra MFLOPS metrika: MFLOPS = N / (T * 106) . Nustatant šio rodiklio reikšmę, kompiuteris vykdo programas, kuriose apdorojami slankaus kablelio duomenys. Žinoma, ir šis rodiklis priklauso ir nuo programos. Reikia atminti, kad: • skirtingi kompiuteriai dažnai turi skirtingus slankaus kablelio operacijų rinkinius; · pačių slankaus kablelio operacijų trukmė kinta plačiose ribose.

  6. Kompiuterio našumo testai Visus dabar žinomus kompiuterių našumo įvertinimo testus pagal jų "kilmę" priimta skirstyti į tris grupes:1. Gamintojų testai; juos kuria kompiuterius gaminančios firmos "vidiniam" naudojimui - savo produktų įvertinimui. Pavyzdžiui, IBM sukūrė specialų testų paketą LSPR System/370 ir System/390 šeimų kompiuteriams įvertinti, o taip pat testus RAMP-C - AS/400 kompiuteriams. Tokie testai geriausiai parodo šeimos kompiuterių galimybes, tačiau jų tiesiogiai negalima panaudoti kitiems kompiuteriams, nes testai pernelyg orientuoti į konkrečią architektūrą. 2. Standartiniai testai; jie pretenduoja į plataus spektro kompiuterių našumo įvertinimą ir dažnai laikomi universaliais. Šiuos testus kuria nepriklausomi specialistai, turintys autoritetą kompiuterių pasaulyje. Tokiais yra SPEC, TPC, Linpack testai.3. Vartotojų testai; juos kuria garsios kompiuterių firmos, besispecializuojančios įvairių kompiuterinių technologijų diegimo srityje, arba panašios krypties vartotojų grupės. Todėl šie testai orientuoti į kompiuterių ir programinės įrangos, geriausiai tinkančių konkretiems taikymo uždaviniams spręsti, parinkimą.

  7. Kompiuterio našumo testai Pagal testavimui naudojamų programų tipą skiriami 4 testų tipai, kuriuos išvardinsime jų pasikliautinumo mažėjimo tvarka.1) Realios programos. Tai gali būti populiarių programavimo kalbų kompiliatoriai, tekstų procesoriai, CAD programos (pvz., Spice).2) Branduoliai - tai realių programų fragmentai, panaudojami našumui įvertinti. Jie geriausiai išryškina realioms programoms svarbias kompiuterio savybes. Tokie yra Livermoro ciklai ir Linpack testas. 3) Žaidimų tipo testai - tai trumpos (10-100 eilučių) programos, kurios turi suskaičiuoti iš anksto žinomą rezultatą. Jas lengva įvesti ir paleisti bet kokiame kompiuteryje. Tokių testų pavyzdžiu gali būti Erastoteno rėtis, Hanojaus bokštai, greito rūšiavimo programos.4) Dirbtiniai (sintetiniai) testai - programos, kuriose bandoma pasiekti operacijų ir operandų tipų dažnių santykį, būdingą plačiai uždavinių klasei. Populiarūs buvo Whetstono ir Dhrystono testai.

  8. SPEC testai Pirmieji SPEC testai (SPEC89) buvo skirti mikroprocesorių galimybių įvertinimui sprendžiant uždavinius, kuriems reikalingi intensyvūs skaičiavimai. Formuodama šį testų rinkinį, SPEC vadovavosi tokiais sumetimais: · galimybė testuoti įvairias kompiuterių architektūras (32 ir 64 bitų, įskaitant Alpha, Intel, PA-RISC, Rxx00, Sparc ir kt.); · galimybė dirbti įvairiose operacinėse sistemose (UNIX, NT, VMS); · testai neturi apimti įvedimo ir išvedimo; · testai neturi apimti tinklo darbo arba grafikos; · testai turi būti vykdomi 64MB RAM be informacijos mainų su išorine atmintimi (SPEC mano, kad 64MB yra minimali atminties talpa intensyviems skaičiavimams atlikti nesikreipiant į diską); · testai turi būti vykdomi ne mažiau kaip 5 minutes DEC firmos kompiuteryje Alpha, dirbančiame 200 MHz dažniu; · ne daugiau kaip 5 procentai testavimo laiko gali tekti ne SPEC pateikto kodo apdorojimui; · kompiliatorių projektuotojai įsigudrino realizuoti priemones, optimizuojančias kompiuterio našumą kai kurių testų atžvilgiu.

  9. Operacinis ir valdymo įtaisas Procesorius = Operacinis įtaisas + Valdymo įtaisas:

  10. Valdymo įtaisas Projektuojamas naudojant klasikinio baigtinio automato struktūrinės sintezės metodiką:1) detalizuojamas algoritmas (kiekvienas jo žingsnis); 2) išskiriamos ir pažymimos baigtinio automato būsenos;3) sudaroma baigtinio automato perėjimo ir išėjimo signalų lentelė(s); 4) koduojamos būsenos, įėjimo ir išėjimo signalai;5) užrašomos Būlio funkcijos, aprašančios baigtinio automato perėjimo ir išėjimo signalus;6) sintezuojama loginė schema, realizuojanti sudarytąsias Būlio funkcijas; ši schema papildoma atminties elementais, saugančiais būsenas. Ši loginė schema gali būti realizuota naudojant ROM:

  11. Valdymo įtaisas 1951 m. Uilksas (M.Wilkes) pasiūlė mikroprograminio valdymo principą, kurio esmę galima būtų nusakyti taip: · įtaiso darbo algoritmas išskaidomas į žingsnius, aprašančius vieną jo darbo ciklą; · signalai, reikalingi žingsnio veiksmams valdyti, vadinami mikrooperacijomis; · žingsnį atitinkančių mikrooperacijų rinkinys sudaro mikrokomandą; · mikrokomanda papildoma informacija, būtina "sekančios" mikrokomandos išrinkimui; · mikrokomandų seka, atitinkanti algoritmą ar jo užbaigtą dalį, sudaro mikroprogramą. Mikroprogramos saugomos pastovioje atmintyje (ROM):

  12. DLX komandų vykdymo algoritmas

  13. DLX komandų formatai

  14. DLX Komandos vykdymas 1. Komandos išrinkimas: MAR ¬ PC; IR ¬ M[MAR] 2. Komandos dekodavimas/registrų išrinkimas: A ¬ Rs1; B ¬ Rs2; PC ¬ PC + 4 3. Vykdymas/EA skaičiavimas:a) išrinkimas iš atminties: MAR ¬ A + (IR16)16##IR16..31; MDR ¬ Rd b) ALU komanda: ALUout ¬ A op (B or (IR16)16##IR16..31) c) perėjimas: ALUout ¬ PC + (IR16)16##IR16..31); cond ¬ (A op 0) 4. Atminties išrinkimas/perėjimas:a) išrinkimas/įrašymas: MDR ¬ M[MAR] arba M[MAR] ¬ MDR b) perėjimas: IF (cond) PC ¬ ALUout 5. Rezultato įrašymas: Rd ¬ ALUout or MDR Paaiškinimai: MAR - atminties adresų registras; PC - programos skaitiklis; IR -komandos registras; A,B - procesoriaus registrai; Rs1, Rs2 – registrai; MDR - atminties duomenų registras; Rd - atminties ląstelė.

  15. Pagrindiniai komandų sistemų tipai Nagrinėjant komandų sistemas, galima išskirti 5 požymius,pagal kuriuos būtų galima jas klasifikuoti:1) Operando saugojimas CPU: kur dar (be atminties) būna saugomi operandai?2) Komandoje aiškiai nurodomų operandų skaičius.3) Operandų vieta: ar aritmetinių ir loginių komandų operandai gali būti atmintyje, ar visi operandai turi būti CPU viduje (registruose)? Jei operandai yra atmintyje, tai kaip nurodoma jų vieta?4) Operandų tipas ir dydis: kokie ir kaip jie nurodomi?5) Operacijos: kokios operacijos įeina į komandų sistemą? Vidinės CPU atminties tipas yra pagrindinis skiriamasis požymis.

  16. Pastaruoju metu vyrauja bendrosios paskirties registrų tipo architektūra.Tai paaiškinama tuo, kad:1) registrai, kaip ir kiti CPU mazgai, greitesni, nei atmintis;2) kompiliatoriai juos panaudoja kodo generavimui efektyviau, nei kitas vidines CPU atminties formas (pvz., steką);3) saugant operandus ir tarpinius rezultatus registruose, sumažėja kreipinių į atmintį skaičius, tuo atlaisvinant ją kitiems tikslams (pvz., įvedimui ar išvedimui);4) generuojamas kompaktiškesnis kodas, nes registrams nurodyti reikia mažiau vietos. Yra dvi pagrindinės charakteristikos, kurios skiria bendrosios paskirties registrų architektūras:1) aritmetinių komandų operandų skaičius - 2 ar 3; pirmu atveju rezultatas talpinamas į vieno iš operandų vietą);2) kiek operandų komandoje gali būti atmintyje; šis skaičius gali būti nuo 0 iki 3. Tuomet turime tokias šių dviejų charakteristikų reikšmių kombinacijas:

  17. Taigi, yra 7 galimos kombinacijos. Trys iš jų būdingesnės ir naudojamos klasifikuojant daugumą egzistuojančių kompiuterių: ·registras-registras, ·registras-atmintis, ·atmintis-atmintis.

  18. Atminties adresavimas Nepriklausomai nuo to, kokio tipo komandų sistemos architektūrą (registras-registras, registras-atmintis ar atmintis-atmintis) turime, duomenys turi būti skaitomi iš atminties. Kaip interpretuojamas atminties adresas? Kaip duomenys išrenkami iš atminties? Dauguma kompiuterių vieno kreipinio į atmintį metu išrenka baitus, pusžodžius (16 bitų), žodžius ar net dvigubus žodžius (64 bitus). Panagrinėkime, kokią įtaką išrinkimo procedūrai turi baitų tvarka atminties žodyje ir atminties žodžio ilgis. Yra du skirtingi baitų išdėstymo atminties žodyje variantai:1) Little Endian, kai žodžio adresą atitinkantis baitas yra žemiausioje atminties žodžio pozicijoje - dešinėje (žr. paveikslą, virš.);2) Big Endian, kai žodžio adresą atitinkantis baitas yra aukščiausioje atminties žodžio pozicijoje - kairėje (žr. paveikslą, apač.).

  19. Adresavimo būdai Operandų vietos nurodymui kompiuteriuose naudojama daug įvairių adresavimo būdų, kurie tinka vienai ar kitai situacijai. Aprašydami juos, pateiksime ir pavyzdžius, iliustruojančius operando išrinkimą. M[A] žymės atminties lastelę, kurios adresas A. 1. Registrinė - operandai yra registre, kurio numeris nurodytas komandoje, pavyzdžiui:ADD R4, R1 R4 := R4 + R1 2. Netiesioginė registrinė - operando adresas yra registre, kurio numeris nurodytas komandoje, pavyzdžiui:ADD R4, (R1) R4 := R4 + M[R1] Tinka išrenkant rodykle (pointer) nurodytą operandą arba operandą pagal paskaičiuotą adresą. 2a. Netiesioginė atmintyje - operando adresas yra atminties lastelėje, kurios adresas nurodytas registre, kurio numeris duotas komandoje, pavyzdžiui:ADD R4, @(R1) R4 := R4 + M[M[R1]] Čia R1 galėtų būti rodyklės adresas. 3. Autoinkrementinė - kaip ir netiesioginėje registrinėje, operando adresas yra registre, kurio numeris nurodytas komandoje; išrinkus operandą, šio registro turinys padidinamas dydžiu, atitinkančiu operando ilgį (l). Pavyzdžiui:ADD R4, (R1)+ R4 := R4 + M[R1]; R1 := R1 + l Šis būdas gerai tinka nuosekliam masyvo elementų išrinkimui. 4. Autodekrementinė - kaip ir autoinkrementinėje, operando adresas yra registre, kurio numeris nurodytas komandoje; prieš išrenkant operandą, šio registro turinys sumažinamas dydžiu, atitinkančiu operando ilgį (l). Pavyzdžiui:ADD R4, -(R1) R1 := R1 - l; R4 := R4 + M[R1] Šis būdas tinka nuosekliam masyvo elementų išrinkimui atvirkščia tvarka. Abu pastarieji būdai gali būti panaudoti stekui realizuoti kaip push ir pop operacijos.

  20. 5. Bazinė arba su poslinkiu - operando adresas paskaičiuojamas prie registro turinio pridedant nurodytą poslinkio rekšmę; tinka lokaliniams kintamiesiems pasiekti. Pavyzdžiui:ADD R4, 9(R1) R4 := R4 + M[R1+9] 6. Indeksinė - operando adresas paskaičiuojamas sumuojant bazės ir indekso registrų turinius; tinka masyvo elementams išrinkti (R1 - masyvo bazinis adresas, R2 - indekso reikšmė). Pavyzdžiui:ADD R4, (R1+R2) R4 := R4 + M[R1+R2] 6a. Indeksinė masteliuota- nuo indeksinės skiriasi tik tuo, kad indekso reikšmė padauginama iš koeficiento, atitinkančio duomenų elemento ilgį (l). Pavyzdžiui:ADD R4, (R1) [R2] R4 := R4 + M[R1+R2*l] 7. Tiesioginė arba absoliutinė - adreso reikšmė (pilna ar jo dalis) nurodoma komandoje; tinka statiniams duomenims nurodyti. Pavyzdžiui:ADD R4, (704) R4 := R4 + M[704] 8. Betarpiškoji - operandas yra komandos formato dalis. Tai gali būti interpretuojama, kaip adreso nuoroda yra komandų skaitiklyje. Pavyzdžiui:ADD R4, #7 R4 := R4 + 7 Valdymo perdavimo komandose reikia nurodyti perėjimo adresą. Dažniausiai tam naudojama santykinė adresacija komandų skaitiklio atžvilgiu. Tai naudinga, nes:1) dažniausiai pasitaiko perėjimai, esantys arti perėjimo vietos atmintyje; tokiems perėjimams nurodyti pakanka trumpo poslinkio (offset);2) toks kodas yra nepriklausomas nuo jo talpinimo vietos atmintyje. Tais atvejais, kai kompiliavimo metu negalima nustatyti perėjimovietos,naudojamas netiesioginės adresacijos būdas, perėjimo adresą nurodant registre.

  21. Pertraukiai

  22. P R I E V A D A I 4 ROM 2 I/O Įrenginys 1 CP 2 2 1 DMA Įrenginys RAM 3 3 Pertraukių rūšys

  23. 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 Programinės (sinchroniškos procesui): · programiniai (pertr. sistemai tikrinti) · derinimo (po kiekvienos komandos - analizė) Vykdymo variantai: · po komandos (dažniausiai) · komandoje (dažniausiai) * kai negalima užbaigti (puslapio klaida)* ilgai trunkančioms komandoms Apdorojama: · mikroprograma (kartais) · paprograme (dažniausiai) · aparatūra (retai) Pertraukčių tipai

  24. Informacijos perdavimas kompiuteryje Sinchroninis Asinchroninis

  25. Kešavimas Nepriklausomai nuo to, koks yra kešo organizacijos būdas, kešo ar jo dalies (vienos krypties) struktūra atrodo taip: Eilutės dešinėje dalyje yra duomenų laukas (4-128 baitai). Eilutės kairėje - tegas, tai yra informacija, kuri padeda nustatyti, kuris iš daugelio galimų pagrindinės atminties blokų yra kopijuotas į šią eilutę. Be to, į tego sudėtį įeina ir kita informacija

  26. Kešo organizavimas

More Related