1 / 43

KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS

KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS. Doc. Stasys Maciulevičius Kompiuterių katedra stasys.maciulevicius@ktu.lt. Pirmosios paskaitos santrauka. apie mūsų kursą kompiu t eri ų vystymasis – darbo spartos didinimas kas lemia bendrąją kompiu t eri ų darbo spartą

naasir
Download Presentation

KOMPIUTERIŲ ARCHITEKTŪRA ir OPERACINĖS SISTEMOS

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

  2. Pirmosios paskaitos santrauka • apie mūsų kursą • kompiuterių vystymasis – darbo spartos didinimas • kas lemia bendrąją kompiuterių darbo spartą • von Neuman'o ir Harvardo architektūros • komandos vykdymo procesas • kompiuterių struktūrų vystymasis • kompiuterių įvairovė S.Maciulevičius

  3. Šios paskaitos turinys • duomenų kodavimas • perėjimas iš vienos skaičiavimo sistemos į kitą • sveikieji skaičiai • slankaus kablelio skaičiai;standartas IEEE 754 • dešimtainiai skaičiai • simbolių kodavimas S.Maciulevičius

  4. Informacijos tipai kompiuteriuose Jau minėjome, kadnskilč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

  5. Skaičių kodavimas Skaičiai gali būti: • sveikieji, • slankaus kablelio, • dešimtainiai, Kodavimo (pateikimo) prasme skaičiai gali būti dvejetainiai, šešioliktainiai, aštuntainiai: • kompiuterių viduje – dvejetainiai skaičiai • įvedant ar išvedant duomenis (jų interpretavimui) –dvejetainiai, šešioliktainiai, aštuntainiai S.Maciulevičius

  6. 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, o ai – skaitmuo i-ojoje pozicijoje Taigi, 1847 = 1.103+8.102+4.101+7.100 S.Maciulevičius

  7. 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.p0 ir liekanąa1. Vadinasi, norėdami rasti skaičiaus A užrašą kurioje nors skaičiavimo sistemoje, turime nuosekliai A dalyti iš tos sistemos pagrindo ir fiksuoti gautąsias liekanas S.Maciulevičius

  8. Į dvejetainę sistemą (sveikieji skaičiai) 10810= ?2 = ?8 = ?16 108 54 0 27 0 13 1 6 1 3 0 1 1 10810= 11011002 A nuosekliai daliname iš 2 (sistemos pagrindo) ir fiksuojame gautąsias liekanas Po to užrašome visus skaitmenis, pradedant paskutiniuoju sveikuoju skaitmeniu, atvirkščia skaičiavimui tvarka S.Maciulevičius

  9. Dešimtainių ir aštuntainių skaitmenų dvejetainiai ekvivalentai 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 000 = 0 001 = 1 010 = 2 011 = 3 100 = 4 101 = 5 110 = 6 111 = 7 0101= 22+20 = 4+1 = 5 S.Maciulevičius

  10. Į aštuntainę, šešioliktainę sistemą (sveikieji skaičiai) 108 81001 = 9 4 13 81010 = A 5 11011 = B 1100 = C 10810= 15481101 = D 1110 = E 10810= 1 101 10021111 = F 1 5 4 Sugrupuokime taip: 108 16 10810=110 11002=6C1696 6 6 C 12 S.Maciulevičius

  11. Iš dvejetainės įdešimtainę (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 Galima eiti per tarpinę – aštuntainę – sistemą: 11011002 = 1548 = 182+581+480= 64+40+4 = 108 S.Maciulevičius

  12. Iš dvejetainės įdešimtainę (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 3 6 13 27 54 S.Maciulevičius

  13. Truputį praktikos ... • Dabar – 2013 metai. Pažiūrėkime, kaip šis skaičius atrodys dvejetainėje formoje: 2013 1006 1 2013 = 11111011101 503 0 251 1 125 1 62 1 31 0 15 1 7 1 3 1 1 1 S.Maciulevičius

  14. Truputį praktikos ... • Pažiūrėkime, kaip skaičius 2013 atrodys aštuntainėje formoje: 2013 8 201310 = 37358 16 251 8 41 24 31 8 40 11 24 3 13 8 7 8 3 5 S.Maciulevičius

  15. Truputį praktikos ... • Pažiūrėkime, kaip skaičius 2013 atrodys šešioliktainėje formoje: 2013 16 201310 = 7(13)(13)16 = 7DD16 16 125 16 41 112 7 32 13 93 80 13 S.Maciulevičius

  16. Truputį praktikos ... • Taigi, skaičius 2013 įvairiose skaičiavimo sistemose atrodo taip: • 201310 = 11111011101 • 201310 = 37358 • 201310 = 7DD16 3 7 3 5 11111011101 7 D D S.Maciulevičius

  17. 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-1 ir trupmenąa-2.p-1+a-3.p-2 +… (pvz., 2 0,1011…2 = 1,011…2; sveikoji dalis 1 ir trupmena0,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 trupmena0,11…). Vadinasi, norėdami rasti trupmenos A užrašą kurioje nors skaičiavimo sistemoje, turime nuosekliai dauginti A ir gautąsias trupmenines dalis iš tos sistemos pagrindo ir fiksuoti gautąsias sveikąsias dalis. S.Maciulevičius

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

  19. Dvejetainėstrupmenos Įdomu tai, kad paprasta dešimtainė trupmena dvejetainėje sistemoje gali tapti periodine. Pavyzdžiui, paverskime 0,1: 0, 1 0, 2 0, 4 0, 8 1, 6 1, 2 0, 4 – sveikoji ir trumeninė dalys pradėjo kartotis, todėl daugybą baigiame Atsakymas: 0,110 = 0,0(0011)2. S.Maciulevičius

  20. Aštuntainės trupmenos O dabartą pačią trupmeną 0,3125 paverskime į aštuntainę sistemą. 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 ir per dvejetainę sistemą tokiu būdu: 0,312510 = 0,01012= 0,0101002= 0,248. 2 4 S.Maciulevičius

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

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

  23. 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): Papildomajame kode skilčių svorius galima interpretuoti taip: Iš tikrųjų:-128 + 16 +4 = -108 S.Maciulevičius

  24. Skaičių 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

  25. si ci+1 ci Σ ai bi 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+1– pernaša į aukštesniąją skiltį) S.Maciulevičius

  26. sn-1 s2 s1 s0 cn cn-1 c3 c2 c1 0 Σ Σ Σ Σ a1 b1 a0 b0 an-1 bn-1 a2 b2 Sveikųjų skaičių sudėtis Ilgų skaičių sudėčiai naudojama schema (sumatorius), sudaryta iš n vienos skilties sumatorių: S.Maciulevičius

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

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

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

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

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

  32. Slankiojo kablelio skaičiai Slankiojo 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

  33. Standartas IEEE 754 Slankiojo kablelio skaičiai šiuolaikiniuose kompiuteriuose koduojami laikantis standartoIEEE 754, pagal kurį normalizuoti slankiojo 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

  34. Standartas IEEE 754 Pagrindiniai slankiojo 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

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

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

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

  38. Standartas IEEE 754 Pagal šį standartąnenormalizuoti slankiojo 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

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

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

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

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

  43. Dvejetainė daugyba Žr. Daugyba.doc Dvejetainė dalyba - žr. Dalyba.doc S.Maciulevičius

More Related