1 / 40

Kompiuterių architektūra ir operacin ė s sistemos KA - 2 paskaita

Kompiuterių architektūra ir operacin ė s sistemos KA - 2 paskaita. Doc. Stasys Maciulevičius Kompiuterių katedra stasys@ecdl.lt stasys.maciulevicius@ktu.lt. Ankstesnė s paskaitos turinys. Apie kursą Praeitis ir dabartis von Neuman'o tipo kompiuteris Kompiuterio struktūra

lucian
Télécharger la présentation

Kompiuterių architektūra ir operacin ė s sistemos KA - 2 paskaita

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 sistemosKA- 2 paskaita Doc. Stasys Maciulevičius Kompiuterių katedra stasys@ecdl.lt stasys.maciulevicius@ktu.lt

  2. Ankstesnės paskaitos turinys • Apie kursą • Praeitis ir dabartis • von Neuman'o tipo kompiuteris • Kompiuterio struktūra • Kompiuterių klasifikacija S.Maciulevičius

  3. Kompiuterių architektūra ir operacinės sistemos INFORMACIJA IR JOS KODAVIMAS S.Maciulevičius

  4. Šios paskaitos turinys • Informacijos tipaikompiuteriuose • Pozicinės skaičiavimo sistemos • Dvejetainiai, aštuonetainiai, šešioliktainiai sveikieji skaičiai • Dvejetainėstrupmenos • Neigiamųskaičių kodavimas • Sveikųjų skaičių sudėtis ir atimtis • Slankaus kablelio skaičiai • Dešimtainiai skaičiai • Simbolių kodavimas • Grafinės informacijos kodavimas S.Maciulevičius

  5. Informacijos tipaikompiuteriuose nskilčių dvejetainis žodis kompiuteryje atitinka tokius informacijos tipus: • duomenis (skaičius, dvejetainius vektorius ar simbolius), • komandas, • atminties lastelių arba įvesties ir išvesties įtaisų adresus. Šiuolaikiniuose kompiuteriuose galima sutikti ir kitokius informacijos tipus: • tegus (tags) - bitų grupes, kurios nurodo palydimos informacijos tipą; • informacijos vienetų deskriptorius; • informacijos vienetų identifikatorius (vardus). S.Maciulevičius

  6. Skaičių kodavimas Skaičiai gali būti: • sveikieji, • slankaus kablelio, • dešimtainiai, • dvejetainiai, šešioliktainiai, aštuonetainiai. Kompiuterių viduje – tik pirmieji trys skaičių tipai. Dvejetainiai, šešioliktainiai, aštuonetainiai – tik įvedant ar išvedant duomenis. S.Maciulevičius

  7. Pozicinės skaičiavimo sistemos Mes naudojame pozicines skaičiavimo sistemas, kuriose kiekvienas skaitmuo skaičiuje turi tam tikrą svorį. Todėl sveikajam skaičiui A rašome: A = am-1am-2…a2a1a0 = am-1.pm-1+am-2.pm-2 +… +a2.p2+a1.p1+a0.p0; Čia p – skaičiavimo sistemos pagrindas. Taigi, dešimtainėje skaičiavimo sistemoje 1847 = 1.103+8.102+4.101+7.100 S.Maciulevičius

  8. Pozicinės skaičiavimo sistemos Dar kartą pažiūrėkime į išraišką: A = am-1.pm-1+am-2.pm-2 +…+a2.p2+a1.p1+a0.p0; Jeigu šį skaičių padalinsime iš p (skaičiavimo sistemos pagrindo), gausime sveikąją dalįam-1.pm-2 +am-2.pm-3+…+a2.p1+a1.p0ir liekanąa0. Gautąją sveikąją dalį vėl padalinę iš p, gausime sveikąją dalįam-1.pm-3+am-2.pm-4+…+a2.p0ir liekanąa1. Vadinasi, norėdami rasti skaičiaus A užrašą kurioje nors skaičiavimo sistemoje, turime A nuosekliai dalyti iš tos sistemos pagrindo ir fiksuoti gautąsias liekanas. S.Maciulevičius

  9. Dvejetainiai, aštuonetainiai, šešioliktainiai sveikieji skaičiai 10810= ?2 = ?8 = ?16 108 54 0 27 0 13 1 6 1 3 0 1 1 10810= 11011002 108 81001 = 9 4 13 81010 = A 5 1 1011 = B 1100 = C 10810= 15481101 = D 1110 = E 10810= 1 101 10021111 = F 1 5 4 Sugrupuokime taip: 10810=110 11002=6C16 6 C S.Maciulevičius

  10. Dvejetainiai, aštuonetainiai, šešioliktainiai sveikieji skaičiai 11011002 =?10 A = an-1dn-1 + an-2dn-2 + … + a3d3 + a2d2 + a1d1 + a0d0 1 1 0 1 1 0 02 n =6 5 4 3 2 1 0 11011002 = 26 + 25 + 23 + 22 = 64+32+8+4 = 108 11011002 = 1548 = 182 + 581 + 480 = 64+40+4 = 108 S.Maciulevičius

  11. 3 6 13 27 54 Dvejetainiai, aštuonetainiai, šešioliktainiai sveikieji skaičiai 11011002 =?10 A = an-1dn-1 + an-2dn-2 + … + a3d3 + a2d2 + a1d1 + a0d0 A = d(an-1dn-2 + an-2dn-3 + … + a3d2 + a2d1 + a1) + a0 = = d(d(an-1dn-3 + an-2dn-4 + … + a3d1 + a2) + a1) + a0 = … = d(d(d(…d(an-1d + an-2) + … + a3) + a2) + a1) + a0 = = (((…((an-1d + an-2)d + an-3)d + … + a3)d + a2)d + a1)d + a0 11011002 = (((((12+1) 2+0) 2+1) 2+1) 2+0) 2+0 =108 S.Maciulevičius

  12. Dvejetainės, aštuntainės, … trupmenos O dabar užrašykime trupmeninio skaičiaus išraišką: A = a-1.p-1+a-2.p-2 +a-3.p-3 + … (pvz., A = 0,1011…2). Jeigu šį skaičių padauginsime iš p (skaičiavimo sistemos pagrindo), gausime sveikąją dalįa-1ir trupmenąa-2.p-1+a-3.p-2 +… (pvz., 2 0,1011…2 = 1,011…2; sveikoji dalis 1 ir trupmena 0,011…). Gautą sveikąją dalį vėl padauginę iš p, gausime sveikąją dalįa-2ir trupmenąa-3.p-1+a-4.p-2 +… (pvz., 20,011… = 0,11…2; sveikoji dalis 0 ir trupmena 0,11…). Vadinasi, norėdami rasti trupmenosA užrašą kurioje nors skaičiavimo sistemoje, turime A ir gautąsias trupmenines dalis nuosekliai dauginti iš tos sistemos pagrindo ir fiksuoti gautąsias sveikąsias dalis S.Maciulevičius

  13. Dvejetainėstrupmenos Pabandykime į dvejetainę sistemą paversti 0,3125. Praktiškai tai patogu rašyti taip: dvigubiname trupmeninę dalį 0, 3125 0, 625 1, 25 0, 5 1, 0– trumeninė dalis tapo lygi 0, todėl daugybą baigiam Atsakymas:0,312510 = 0,01012. S.Maciulevičius

  14. Aštuntainės trupmenos O dabarį aštuntainę sistemą paverskime tą pačią trupmeną 0,3125. Praktiškai tai patogu rašyti taip: dauginame iš 8 0, 3125 8 = 2, 5 8 = 4, 0– trumeninė dalis tapo lygi 0, todėl daugybą baigiam Atsakymas:0,312510 = 0,248. Galima pereiti iš dvejetainės sistemos ir tokiu būdu: 0,312510 = 0,01012= 0,0101002= 0,248. 2 4 S.Maciulevičius

  15. Sveikieji skaičiai Sveikieji skaičiai gali būti: • be ženklo: • su ženklu: Diapazonas: S.Maciulevičius

  16. Neigiamųskaičių kodavimas Neigiami sveikieji skaičiai gali būti pateikiami tokiais kodais: • tiesioginiu, • atvirkštiniu, • papildomuoju. S.Maciulevičius

  17. Neigiamųskaičių kodavimas Tegul skaičiui koduoti skirtos 8 skiltys. Pažiūrėkime, kaip tiesioginiu,atvirkštiniu ir papildomuoju kodais turi būti koduojamai skaičiai +108 ir -108 (10810=11011002): S.Maciulevičius

  18. Skaičių kodo ilgio keitimas Tegul skaičiui koduoti skirtos 8 skiltys. Pažiūrėkime, kaip jis įrašomas į 16 skilčių turintį žodį: S.Maciulevičius

  19. Sveikųjų skaičių sudėtis ir atimtis Kadangi kompiuteryje sudėtį ir atimtį atlieka tas pats įtaisas (tos pačios schemos), sveikųjų skaičių atimtis pakeičiama sudėtimi, kai atėminiui ženklas pakeičiamas priešingu: S.Maciulevičius

  20. Sveikųjų skaičių sudėtis Vienos skilties skaičių sudėtisatliekama taip: (čia ai, bi – operandai, ci – pernaša į šią skiltį, si – suma, ci – pernaša į aukštesniąją skiltį) S.Maciulevičius

  21. Sveikųjų skaičių sudėtis Kompiuteryje sveikųjų skaičiųalgebrinė sudėtis atliekama papildomuoju kodu. Sudedant vienodai interpretuojamos visos skiltys, įskaitant ženklo skiltį Pažiūrėkime, kaip papildomuoju kodu turi būti sumuojami skaičiai +77 ir -108 (+7710=0.1001101, -10810=1.00101002): S.Maciulevičius

  22. Sveikųjų skaičių sudėtis +77 0.1001101 -108 1.0010100 - 31 1.1100001 Pakeiskime operandųženklus priešingais ir juos susumuokime; papildomuoju kodu -7710=1.0110011, o10810=0.11011002: 1.0110011 0.1101100 10.0011111 1.1100001(papild.kodu) = 1.0011111 (ties.kodu) = -31 Atmetę kairįjį 1, turime 0.0011111= + 31 S.Maciulevičius

  23. Sveikųjų skaičių sudėtis Tegul abu operandaiteigiami; 7710= 0. 1001101, o10810=0.11011002.Juos susumuokime: +77 0.1001101 108 0.1101100 1851.0111001 Gautasis rezultatas rodo, kad suma – neigiamas skaičius. Aišku, kad taip negali būti. Atkreipkime dėmesį, kad suma turėtų būti lygi 185, o maksimalus teigiamas skaičius, kurį galima užrašyti tokiu formatu – 127. Taigi, turime situaciją, vadinamą perpildymu. S.Maciulevičius

  24. Sveikųjų skaičių sudėtis Analogišką vaizdą turėsime, jei sudėsime neigiamus skaičius -7710 = 1. 1001101 (ties.kodu)= 1.0110011 (pap.kodu) ir-10810=1.1101100(ties.kodu)= 1.0010100 (pap.kodu): - 771.0110011 -1081.0010100 -185 0.1000111 Gautasis rezultatas rodo, kad suma – teigiamas skaičius. Aišku, kad taip negali būti. Atkreipkime dėmesį, kad suma turėtų būti lygi -185, o maksimalus (abs.verte) neigiamas skaičius, kurį galima užrašyti tokiu formatu – -128. Taigi, ir čia turime situaciją, vadinamą perpildymu S.Maciulevičius

  25. Slankaus kablelio skaičiai Slankaus kablelio skaičiai kildinami iš skaičiaus užrašymo naudojant mantisę ir eilę. Pavyzdžiui, skaičių 137,15 galima užrašyti taip: 137,15 = 13,715×101 = = 1,3715×102 = = 0,13715×103= = 0,013715×104 = ±M×10e Čia M - skaičiaus mantisė, o e – jo eilė. Paryškintas variantas vadinamas normalizuotu. Tokiu atveju mantisė M turi tenkinti sąlygą 0,1≤M < 1 S.Maciulevičius

  26. Standartas IEEE 754 Slankaus kablelio skaičiai šiuolaikiniuose kompiuteriuose koduojami laikantis standartoIEEE 754, pagal kurį normalizuoti slankaus kablelio skaičiai užrašomi taip : A = (-1)s × 1,M× 2E-posl Čia s- skaičiaus ženklo kodas, M - skaičiaus mantisė, E – jo eksponentė (t.y., perstumta eilė e: E =posl + e) S.Maciulevičius

  27. Standartas IEEE 754 Pagal šį standartąnenormalizuoti slankaus kablelio skaičiai užrašomi taip : A = (-1)s ×0,M× 2-posl Tokių skaičių eksponentė lygi 0, o mantisė - nenormalizuota. S.Maciulevičius

  28. Standartas IEEE 754 Pagrindiniai slankaus kablelio skaičių formatai šiuolaikiniuose kompiuteriuose yra tokie : a) 32 bitų formatas: s E M b) 64 bitų formatas: s E M S.Maciulevičius

  29. Standartas IEEE 754 Skaičiaus ženklo kodui visuomet skiriama 1 skiltis, ir teigiamiems skaičiams s =0, o neigiamiems - s =1 (nes (-1)0 = +1, (-1)1 = -1). E irM skilčių skaičius, taip pat posl reikšmė priklauso nuo skaičiaus ilgio : S.Maciulevičius

  30. Standartas IEEE 754 Pavyzdžiui, skaičių 17,25 galima užrašyti taip: 17,25 = +10001,01 = = +1,000101×24. Palyginę su užrašu A = (-1)s × 1,M× 2E-posl, gauname: s = 0, М = 000101, E-posl = E-127=4; t.y., E=127+4=131 (=128+3). Todėl: S.Maciulevičius

  31. Standartas IEEE 754 Kitas pavyzdys. Skaičių 0,375 galima užrašyti taip: 0,375 = +0,011 =+1,1×2-2. Palyginę su užrašu A = (-1)s × 1,M× 2E-posl, gauname: s = 0, М = 1, E-posl = E-127=-2; t.y., E=127-2=125. Todėl: S.Maciulevičius

  32. Standartas IEEE 754 Kai kurios slankaus kablelio skaičių reikšmės koduojamos specialiai: NaN reikšmės naudojamos operacijų 0/0 ir -1 rezultatams. S.Maciulevičius

  33. Dešimtainiai skaičiai Dešimtainiai skaičiai dažniausiai pateikiami "pakuota forma", kai kiekvienam skaitmeniui skiriami 4 bitai, o skaičiaus gale koduojamas jo ženklas (dažniausiai kodas 1100 žymi +, o 1101 žymi −) Tokiu atveju skaičius +127 užims du baitus ir bus pateikiamas taip: , o −127 – šitaip: IBM/360 naudojo ir “zoninį formatą", kai kiekvienam skaitmeniui buvo skiriami 4+4 bitai (“zona” ir skaitmuo). Dešinysis baitas – ženklas ir skaitmuo. “Zonos” kodas - 1111 S.Maciulevičius

  34. Simbolių kodavimas Tekstinei informacijai koduoti plačiausiai naudojamas kodas ASCII (American Standard Code for Information Interchange). Yra du jo variantai: • pagrindinis, kuriame simboliams koduoti skirtos 7 skiltys (aštuntoji skiltis skirta kontrolei); • išplėstasis, kuriame simboliams koduoti skirtos 8 skiltys; papildomos kodo kombinacijos skirtos nacionaliniams ir pseudografikos simboliams. S.Maciulevičius

  35. Simbolių kodavimas Pagrindinio ASCII kodo fragmentai: S.Maciulevičius

  36. Grafinės informacijos kodavimas Grafinei (ir kitai multimedijos) informacijai koduoti naudojami kodai ir formatai, įvertinantys tokios informacijos vienetų apjungimąį vieną žodį. Apie tokios informacijos apdorojimo ypatumus kalbėsime atskirai S.Maciulevičius

  37. Pikselių kodavimas S.Maciulevičius

  38. 64 bitų sveikasis 64 bitų sveikasis 32 bitų sv. 32 bitų sv. 32 bitų sv. 32 bitų sv. 16 b. 16 b. 16 b. 16 b. 16 b. 16 b. 16 b. 16 b. 8 b 8 b 8 b. 8 b 8 b 8 b. 8 b. 8 b.8 b. 8 b. 8 b. 8 b 8 b 8 b 8 b 8 b. SSE2 duomenų formatai 128 bitų sveikasis Du 64 bitų sveikieji skaičiai: Keturi 32 bitų sveikieji skaičiai: Aštuoni 16 bitų sveikieji skaičiai: Šešiolika 8 bitų sveikųjų skaičių: S.Maciulevičius

  39. 64 bitų sl.kabl. 64 bitų sl.kabl. 32 bitų sl.k. 32 bitų sl.k. 32 bitų sl.k. 32 bitų sl.k. SSE2 duomenų formatai Du 64 bitų slankaus kablelio skaičiai: Keturi 32 bitų slankaus kablelio skaičiai: S.Maciulevičius

  40. Kitą kartą KOMANDŲ SISTEMA komandųsistemossamprata pagrindiniai komandųsistemų tipai bendrosios paskirties registrų tipo architektūra komandų formatai operandų adresavimo būdai komandų formatų pavyzdžiai CISC ir RISC KOMANDŲ VYKDYMO KONVEJERIS konvejerio esmė kliūtys konvejeryje S.Maciulevičius

More Related