Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

4. Tietokoneen rakenne ja toiminta

Samankaltaiset esitykset


Esitys aiheesta: "4. Tietokoneen rakenne ja toiminta"— Esityksen transkriptio:

1 4. Tietokoneen rakenne ja toiminta
Lähes kaikki nykyiset tietokoneet perustuvat John von Neumannin 1940-luvulla muodostamiin käsitteisiin. von Neumannin koneessa muisti prosessori, jolla käytössään rekistereitä Born: 28 Dec in Budapest, Hungary Died: 8 Feb in Washington D.C., USA

2 Tietokoneen rakenne ja toiminta...
Prosessori voi ladata tietoa muistista rekistereihin, suorittaa aritmeettisia ja loogisia operaatioita rekisterien tiedoille sekä tallettaa rekisterien arvot takaisin muistiin. Ohjelma ohjaa prosessorin toimintaa: se koostuu käskyjoukosta ja kontrollikäskyistä. Kontrollikäskyt määräävät seuraavan käskyn.

3 Tietokoneen rakenne ja toiminta...
Luku 4: Millä periaatteella tietokoneen prosessori toimii, miten se pystyy lukemaan, 'ymmärtämään' ja suorittamaan algoritmin käskyjä ?

4 Tietokoneen rakenne ja toiminta...
Nykyiset tietokoneet ovat digitaalisia tietokoneita, ne käsittelevät kaiken tiedon numeerisessa muodossa. Periaatteessa voidaan rakentaa myös analogisia tietokoneita, jotka perustuvat analogisten jatkuvien signaalien käsittelyyn.

5 4.1 Matemaattiset perusteet
Tietokoneiden toiminta perustuu siis kahden olotilan periaatteelle: luotettavasti ja kohtuullisin kustannuksin on mahdollista rakentaa kone, joka tunnistaa kaksi toisistaan poikkeavaa olotilaa (on/off, päällä/pois päältä, kyllä/ei, tosi/epätosi).

6 Matemaattiset perusteet...
Matematiikassa kahden olotilan vastine on kaksikantainen lukujärjestelmä eli kaksijärjestelmä eli binäärijärjestelmä. Sana bitti (bit, BInary digiT) tarkoittaa kaksijärjestelmän numeroa 0 tai 1. Numerot vastaavat em. kahta olotilaa. Koodaus: tieto esitetään jonkin järjestelmän mukaisina merkkeinä tai symboleina. Palautusta sanotaan dekoodaukseksi.

7 Matemaattiset perusteet...
Koodaustavat: tiedoittainen koodaus (esim. liikennemerkit, vakioveikkaus 1 x 2, muita?) merkeittäinen koodaus (esim. morse-aakkoset, A= .- B= -… C = -.-., muita?)

8 Matemaattiset perusteet...
Tietokoneessa kaikki tieto esitetään binäärisenä, siis ykkösinä ja nollina !

9 Matemaattiset perusteet...
Tietokoneessa viereinen kuva voisi näyttää tältä:

10 Matemaattiset perusteet...
Esitettävä tieto voidaan jakaa kahteen osaan: merkit aakkosellinen ja aakkosnumeerinen tieto, koodataan merkki kerrallaan sovitun koodijärjestelmän mukaan luvut 10-järjestelmän luvut esitetään vastaavina 2-järjestelmän lukuina, joukko peräkkäisiä bittejä muodostaa 2-järjestelmän luvun.

11 Matemaattiset perusteet...
Koodijärjestelmistä: Kullekin selväkieliselle merkille (A, B, C, …, &, ", ? +, ! jne.) sovitaan yksikäsitteinen 2-järjestelmän (tai ihmisen lukiessa 10, 16-järjestelmän) koodiluku. n-bittisellä bittijonolla voidaan esittää 2n erilaista koodia: esimerkiksi , jos n=3, voidaan esittää 23 = 8 erilaista koodiarvoa: 000, 001, 010, 011, 100, 101, 110, 111.

12 Matemaattiset perusteet...
Tunnetuimpia koodijärjestelmiä ovat: 8 bitin ASCII: ascii-taulukko nykyisin yhä yleisempi 16 bitin UNICODE. 28 = 256 erilaista koodiyhdistelmää 216 = erilaista koodiyhdistelmää. (voi olla enemmänkin, ks selitys) Esim. ascii-koodi: kirjaimelle 'B' on ,tai 6610, tai4216, 'e' -kirjaimelle , tai 10110, tai 6516.

13 Matemaattiset perusteet...
Esim. pieniä kirjaimia ascii-koodissa: a b c d e f g h i jne A j B k C l D m E n F o p q r s t u v w x y A z

14 4.1.1 Lukujärjestelmät Luku (number) muodostuu numeroista (digit).
Lukujärjestelmä: kantaluku k sekä k kpl numeromerkkejä eli numeroita. Tällöin järjestelmää sanotaan k-kantaiseksi lukujärjestelmäski eli k-järjestelmäksi (k-arinen järjestelmä). Esim. 10-järjestelmä: k = 10, numerot ovat 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

15 4.1.1 Lukujärjestelmät Määritelmä: k-järjestelmän luku
an-1 an-2 …a1 a0.a-1 a-2 … a-(m-1) a-m, missä kukin ai(i=n-1,…,1,0,-1,…,-m) on jokin numero dj(j=0,0,1,…,k-1), tarkoittaa 10-järjestelmän lukua an-1 kn-1+ an-2 kn-2+ …a1 k+ a0 + a-1 k-1+ a-2 k-2+ … + a-(m-1) km-1+ a-m k-m. Esim. 10-järjestelmän kokonaisluku 745 = 7* * *100 = =745. Esim. 10-järjestelmän desimaaliluku 4.81 = 4* * * 10-2 = = 4.81.

16 4.1.1 Lukujärjestelmät jos käytettävä lukujärjestelmä ei käy muuten selväkis, kantaluku merkitään luvun esityksen perään alaindeksiksi: (an-1 an-2 …a1 a0.a-1 a-2 … a-(m-1) a-m)k

17 4.1.1 Lukujärjestelmät Usein käytettyjä lukujärjestelmiä
10-järjestelmän ohella: 2-järjestelmä: k = 2, numerot ovat 0 ja 1. (binäärijärjestelmä) 8-järjestelmä: k = 8, numerot ovat 0, 1, 2, 3, 4, 5, 6 ja 7. (oktaalijärjestelmä) 16-järjestelmä: k = 16, numerot ovat 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. (heksadesimaalijärjestelmä)

18 4.1.1 Lukujärjestelmät Siirtyminen järjestelmästä toiseen tapahtuu
esimerkiksi muunnoskaavan avulla: (an-1 an-2 …a1 a0.a-1 a-2 … a-(m-1) a-m)k = (…(an-1k+ an-2)k+…a1)k+a0+(…(a-m k-1+a-(m-1))k-1+…+ a1) k-1. Tätä kaavaa voidaan soveltaa kumpaankin suuntaan, joten sen avulla saadaan luvun esitys muunnettua muodosta toiseen peräkkäisten jako- tai kertolaskujen avulla

19 4.1.1 Lukujärjestelmät Esimerkki: 110102 = ?10. Nyt k on siis 2.
1*24 + 1*23 + 0*22 + 1*21 + 0*20 = (= (((1*2+1)*2+0)*2+1)*2)+0)= = 2610. Esimerkki: = ?10 1*21 + 1*20 + 0* *2-2 = = * *0.25 =

20 4.1.1 Lukujärjestelmät Esimerkki: E1A16 = ?10 . Nyt k = 16.
= 14* * *1 (=(14*16+1)*16+10) = Esimerkki: = ?10 . Nyt k = 3, numeromerkit ovat 0, 1 ja 2. 2*34 + 0*33 + 1*32 + 2*31 + 0*30 = 2*81 + 1*9 + 2*3 =

21 4.1.1 Lukujärjestelmät Esimerkki: 70328 = ?10 . Nyt k = 8.
7*83 + 0*82 + 3*81 + 2*80 = 7* *8 + 2*1 =

22 4.1.1 Lukujärjestelmät Muunnokset 10-järjestelmästä k-järjestelmään
Kokonaisosa: jaetaan lukua toistuvasti k:lla ottamalla osamäärän kokonaisosa aina uudeksi jaettavaksi, kunnes jaettava tulee nollaksi. Peräkkäiset jakojäännökset muodostavat k-kantaisen luvun numerot oikealta vasemmalle. Desimaaliosa: desimaaliosaa kerrotaan toistuvasti k:lla, uutena kerrottavana tulon desimaaliosa. Peräkkäisten tulojen kokonaisosat muodostavat uuden luvun desimaaliosan. Kertominen lopetetaan, kun tulo tulee nollaksi tai kun haluttu tarkkuus on saavutettu. Huom. : 10-järjestelmän päättyvä desimaaliluku saattaa olla k-järjestelmässä päättymätön. Kertolasku lopetetaan, kun sykli huomataan.

23 4.1.1 Lukujärjestelmät Esimerkki: 13210 = ?8 132/8= 16, jj = 4
Lopputulos = 2048.

24 4.1.1 Lukujärjestelmät Esimerkki: 13210 = ?16 Lopputulos 13210 = 8416.
132/16 = 8, jj = 4 8/16 = 0, jj = 8 Lopputulos = 8416. 10710 = ?16 107/16 = 6, jj = 11 ==> B 6/16 = 0, jj = 6 Lopputulos = 6B16.

25 4.1.1 Lukujärjestelmät Esimerkki: 13210 = ?2
132/2 = 66, jj = 0 66/2 = 33, jj = 0 33/2 = 16, jj = 1 16/2 = 8, jj = 0 8/2 = 4, jj = 0 4/2 = 2, jj = 0 2/2 = 1, jj = 0 1/2 = 0, jj = 1. Lopputulos =

26 4.1.1 Lukujärjestelmät Esimerkki: 2.3210 = ?2.
Kokonaisosa 2/2 = 1, jj = 0 1/2 = 0, jj = 1, joten 210 = 102. Desimaaliosa 2*0.32 = 0.64 2*0.64 = 1.28 2*0.28 = 0.56 2*0.56 = 1.12 jne. (päättymätön, sykli on [01]), joten 0.32 = … ja Lopputulos = …2.

27 4.1.1 Lukujärjestelmät Esimerkki: 0.5310 = ?16. Kokonaisosa 010 = 016.
Desimaaliosa 16*0.53 = 8.48 16*0.48 = 7.68 16*0.68 = ==> A 16*0.88 = ==> E jne. (päättymätön ?), joten = 0.87AE…16 ja Lopputulos = 0.87AE…16.

28 Positionaalisuus k-lukujärjestelmän luvun määritelmästä seuraa, että lukujärjestelmä on positionaalinen numeron sijainti luvun toisiin numeroihin nähden vaikuttaa luvun arvoon oikeanpuolimmaisin numero on vähiten merkitsevä (least significant digit) vasemmanpuolimmaisin – eniten merkitsevä (most significant digit). eniten merkitsevä vähiten merkitsevä 201203

29 Positionaalisuus II kun numeroita ei enää voi kasvattaa tietyssä paikassa, otetaan käyttöön lisäpaikka vasemmalta puolelta, joka aloittaa uuden kierroksen ja alempien paikkojen numerot alustetaan 8-järjestelmässa kun saavutetaan 78 (suurin sallittu numero, k-1), seuraava luku on jo 108 (=810), vastaavasti 178:tä seuraa 208 mikä on sitten 210, 310 binäärilukuna?

30 4.1.2 kokonaislukujen esittäminen...
BIN DEC 000 001 1 010 2 011 3 100 4 101 5 110 6 111 7 Yleisesti: n bitin avulla voidaan esittää 2n erilaista binäärilukua (on 2n erilaista bittiyhdistelmää). Esim. n =3  Voidaan esittää 23 = 8 erilaista kolmen bitin yhdistelmää. Tälläistä luonnollisen luvun binääriesitystä sanotaan puhtaaksi binääriesitykseksi Ei riitä kaikkien kokonaislukujen (negatiivisten) esittämiseen! => etumerkki esitettävä jotenkin

31 4.1.2 kokonaislukujen esittäminen...
tietokoneessa n (käytettävissä oleva bittien määrä) on aina jokin kiinteä luku, useimmiten 16 (voi olla 32). Jos n=16, saadaan 216 = eri bittiyhdistelmää esitettyä. I. Etumerkki/itseisarvo -esitys Luun n-bittinen esitys on kaksiosainen: etumerkkibitti '+' = 0 ja '-' = 1 luvun itseisarvo n-1 bitin avulla binäärivastineenaan esitettynä. Kun puolet kaikista bittiyhdistelmistä varataan negatiivisille luvuille (eniten merkitsevä bitti on etumerkkibitti), n bitillä voidaan esittää arvoalue -2n-1,…,0,…,2n-1-1 = [-32768,32767]

32 4.1.2 kokonaislukujen esittäminen...
Esimerkki (etumerkki/itseisarvo: 2e-i): 1. Olkoon n = 16. Tallennettava kokonaisluku olkoon = -5. Luvun -5 itseisarvo = 1012. Etumerkkibitti on 1. Luvun -5 binääriesitys on siten Vastaavasti luvun +5 binääriesitys olisi 2. Olkoon n = 8. Luvun -5 binääriesitys on tällöin Vastaavasti luvun +5 binääriesitys on

33 2e-i:n arvostelua Yhteenlasku 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Ongelmia: Tässä esitystekniikassa ongelmia tulee vaikkapa yhteenlaskussa: -2 = +3 = +1  Summa esittää lukua -5 ! VÄÄRIN. Lisäksi nollalla on kaksi esitystä: +0 ja -0. Lisäksi pos. ja neg. binääriluvut kasvavat tässä esityksessä eri suuntiin!! (ks taulukko s. 106) Yhteenlasku 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10

34 4.1.2 kokonaislukujen esittäminen…
II. Yhden komplementti laitetaan luvut kasvamaan samaan suuntaan koodaamalla neg. luvut eri tavalla: komplementoidaan itseisarvot (1->0, 0->1) eniten merkitsevä bitti on edelleen etumerkkibitti nyt -2 = +3 = +1  (+0) nollalla on edelleen kaksi esitysmuotoa parannetaan vielä hieman poistamalla -0 yhdistelmä (ks. taulukko 106) =>

35 4.1.2 kokonaislukujen esittäminen…
III. Kahden komplementti negatiivisille luvuille: komplementoidaan itseisarvot (1->0, 0->1) siirretään yhdistelmät taulukkossa 1 rivi alaspäin -2 = +3 = +1 = (+1) nyt OIKEIN! lukusuora kulkee aina samaan suuntaan 0:lla yksi esitys aritmetiikka sujuu niin kuin pitääkin Määritelmä: Ei-negatiivisen luvun m n-bittinen kahden komplementtiesitys on sama kuin luvun m puhdas binääriesitys. m <= 2n-1 -1. Negatiivisen luvun m n-bittinen kahden komplementtiesitys on sama kuin luvun -m+2n puhdas binääriesitys.

36 4.1.2 kahden komplementtiesitys
Esim. n = 16, m=7, 2-komplementtiesitys on Esim. n = 16, m=-7, 2-komplementtiesitys on luvun m+216 = = = binääriesitys, joka on

37 Vaihteluväli Vaihteluväli: kahden komplementtiesitystä
käyttäen voidaan n bitin avulla esittää kokonaisluvut väliltä [-2n-1, 2n-1 -1]. Esim. jos n=16, vaihteluväli on [-32768, 32767]. Esim. jos n=32, väli on [ , ].

38 kahden komplementtiesitys
Väite: Negatiivisten lukujen kahden komplementtiesitykset saadaan itseisarvoltaan vastaavien positiivisten lukujen esityksistä vaihtamalla nollat ykkösiksi ja ykköset nolliksi ja lisäämällä tulokseen luku 1. Monisteessa todistus. Esim (ed.) -7 = Toisaalta: +7 = vaihdetaan: +1:

39 kahden komplementtiesitys
Kahden komplementtiesityksestä on se hyöty, että binäärilukujen yhteenlaskusäännöt tuottavat oikean tuloksen, myös negatiivisille luvuille. Esim. 9+13=22. 9: 13: summa: = 2210. Esim = 9+(-30)= -21. -30: summa: = Yhteenlasku 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10

40 Ylivuoto, modulo m Huomaa mahdollinen ylivuoto. Yhteenlasku voi tuottaa tulokseksi luvun, joka on joko < -2n-1 tai > 2n-1 -1. Yhteenlaskun tulos on oikein modulo 2n, ei siis mitä sattuu. (x  y (mod m) jos x = y + km) Esimerkki ylivuodosta (n=16): =32778 > 2n-1 -1. 32765 = 13 = summa = YLIVUOTO ! kuitenkin summa =  (mod 216), koska = = 32778 kahden komplementtiesityksessä lukusuora on lukusykli

41 excess-koodaus siirretään lukualue –a..b kokonaan positiiviselle puolelle lisäämällä kaikkiin lukuihin a ks. taulukko s. 106 n=4, lukualue -8..7, excess-8: kaikkiin lukuihin lisätään 8 (=24-1) käänteinen etumerkkibitti '+' = 1 ja '-' = 0 aritmettikka ei suju yhtä helposti kuin 2-2:ssa mutta yhdistelmien suuruusjärjestys, kun yhdistelmät tulkitaan puhtaiksi binääriluvuiksi, säilyy hyötyä liukulukujen esityksessä

42 4.1.3 Liukulukujen esittäminen
Reaalilukuja sanotaan esitystekniikkansa vuoksi liukuluvuiksi. Reaalilukujen esittämisen vaihtoehdot: 1. kiinteän pisteen esitys: Esim. sovitaan, että kokonaisosa esitetään vaikkapa 24 bitillä ja desimaaliosa 8 bitillä, yhteensä käytettävissä 32 bittiä. Kumpikin osa esitettäisiin kokonaislukujen esittämistekniikkaa käyttäen. Siten esim. 6.17 = ongelmana tarkkuuden häviäminen hyvin suurissa ja hyvin lähellä nollaa olevissa luvuissa ratkaisu: siirretään binääripiste aina sopivaan kohtaan!

43 liukulukujen esittäminen...
2. Liukulukuesitys (floating point): perustuu desimaalipisteen liu'uttamiseen luvut voidaan aina esittää samalla määrällä merkitseviä bittejä 10-järjestelmän luvun itseisarvo muutetaan binäärivastineekseen, saadaan esim Siirretään ensimmäisen ykkösen vasemmalle puolelle, tulos Tämä vastaa sitä, että luku jaettiin 23:lla Koko luku on siis * 23. Desimaaliosaa sanotaan mantissaksi ja eo. luku 3 - eksponentiksi. Luvusta tallennetaan mantissa ja eksponentti.

44 liukulukuesitys – esim.
5.32 = = * 23 mantissa: eksponentti: 112 IEEE lyhyt liukuluku: 4 tavua = 32 bittiä merkkibitti: 0 eksponentti: 8 bittiä, excess+127: mantissa: 23 bittiä, itseisarvo näin olleen esitys olisi:

45 4.1.4. Boolen algebrasta Ns. Matemaattinen struktuuri
({0,1},+,*,!) muodostaa Boolen algebran, jonka avulla mallinnetaan 2-järjestelmän laskutoimituksia. alkioita vain 0 ja 1 laskulait poikkeavat joltain osin tavalliesesta algebrasta

46 0+0=0, 0+1=1, 1+0=1, 1+1=1; 0*0=0, 0*1=0, 1*0=0, 1*1=1; !0=1, !1=0.
OR * AND ! NOT FALSE 1 TRUE 0+0=0, 0+1=1, 1+0=1, 1+1=1; 0*0=0, 0*1=0, 1*0=0, 1*1=1; !0=1, !1=0. Liitäntälaki (assosiatiivisuus) x+(y+z) = (x+y)+z x(yz)=(xy)z % Vaihdantalaki (kommutatiivisuus) x+y = y+x xy = yx Osittelulaki (distributivisuus) x(y+z) = xy+xz x+yz = (x+y)(x+z) ! Nolla-, ykkös- ja vasta-alkiot x+0 = x, x+1 = 1 x+!x = 1, x*0=0, x*1=x x(!x) = 0 Absorptiolait x+xy = x, x(x+y) = x de Morganin lait !(x+y)=!x*!y !(xy)=!x+!y Modulo 2 -yhteenlasku 0  0 = 1  1 = 0 0  1 = 1  0 = 1


Lataa ppt "4. Tietokoneen rakenne ja toiminta"

Samankaltaiset esitykset


Iklan oleh Google