Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta

Samankaltaiset esitykset


Esitys aiheesta: "Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta"— Esityksen transkriptio:

1 Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta
Lähde: Haltsonen, S., Rautanen, E. Pieka Kuvagalleria 5 Operandien osoittaminen ja tietokoneen käskykanta

2 5.1 Käskykanta ja käskyryhmät
Käskyt jaetaan ryhmiin: Tiedonsiirtokäskyt Aritmeettiset käskyt Loogiset käskyt Sivuttaissiirto- ja rotaatiokäskyt (pyörityskäskyt) Hyppy- ja haarautumiskäskyt Syöttö- ja tulostuskäskyt Ohjauskäskyt 5 Operandien osoittaminen ja tietokoneen käskykanta

3 5 Operandien osoittaminen ja tietokoneen käskykanta
5.2 Käskyn rakenne 5 Operandien osoittaminen ja tietokoneen käskykanta

4 Käskyn rakenne (instruction format)
Osoitekenttä: Mikäli operandi tai tulos sijaitsee muistissa, sen sijainnin ilmoittavaa käskyn osaa nimitetään osoitekentäksi (address field). Osoitekenttä voi olla useita sanoja ja haku voi viedä useita muistijaksoja. 5 Operandien osoittaminen ja tietokoneen käskykanta

5 Kuva 5-4. Laskentakäskyn ja hyppykäskyn rakenne
5 Operandien osoittaminen ja tietokoneen käskykanta

6 5 Operandien osoittaminen ja tietokoneen käskykanta
Operandin sijainti Operaatio on käskyosa eli koodiosa Operandi on kohdeosa tai lähdeosa Kohde tai lähde voi olla muistipaikka tai yleiskäyttöinen rekisteri tai I/O –rekisteri (tai rekisteriryhmän indeksi). 5 Operandien osoittaminen ja tietokoneen käskykanta

7 5 Operandien osoittaminen ja tietokoneen käskykanta
Avainsanoja Rekisteriin viittaaminen Rekisteriryhmä, säilytetään välituloksia Muutaman bitin Indeksikentän käyttö koodissa Muistiviittaus Operandi tai tulos sijaitsevat keskusmuistissa Akku, A –rekisteri, laskentarekisteri Ohjelmalaskuri (EIP) ALU --- aritmeettislooginen yksikkö Pino --- pino-osoitin (ESP) 5 Operandien osoittaminen ja tietokoneen käskykanta

8 Kuva 5-3. Käsky, jossa on kolme muistiosoitetta
 Käskyn haku vaatii neljä muistiviittausta ja suoritus vaatii kolme muistiviittausta  Hidas 5 Operandien osoittaminen ja tietokoneen käskykanta

9 Kuva 5-4. Käsky, jossa on kaksi muistiosoitetta
 Käskyn haku vaatii kolme muistiviittausta ja suoritus vaatii kolme muistiviittausta  Hidas 5 Operandien osoittaminen ja tietokoneen käskykanta

10 Käsky, jossa on yksi muistiosoite, Akku  nopeampi
5 Operandien osoittaminen ja tietokoneen käskykanta

11 5 Operandien osoittaminen ja tietokoneen käskykanta
Käsky, jossa on yksi muistiosoite ja yksi rekisteriosoite: Rekisteriryhmä 5 Operandien osoittaminen ja tietokoneen käskykanta

12 Käsky, jossa on kaksi rekisteriosoitetta
Käskyn suorituksessa ei ole lainkaan muistiviittauksia.  Nopea RISC –koneissa käsky on yhden sanan mittainen. Käskyssä ei ole lainkaan muistiviittausta. Ainoa muistiviittaus on käskyn haku. 5 Operandien osoittaminen ja tietokoneen käskykanta

13 5 Operandien osoittaminen ja tietokoneen käskykanta
Käsky, jossa on kolme rekisteriosoitetta Kolmen operandin käskyn periaate 5 Operandien osoittaminen ja tietokoneen käskykanta

14 Nollan osoitteen käskyn periaate
Operandit haetaan pinosta ja tulos viedään pinoon. 5 Operandien osoittaminen ja tietokoneen käskykanta

15 5.4 Osoitusmuodot (Addressing mode)
1. Operandi käskyssä -välitön osoitus 2. Operandi rekisterissä -rekisteriosoitus 3. Operandi muistissa -absoluuttinen osoitus epäsuora osoitus Rekisteri epäsuora osoitus indeksoitu osoitus kantaosoitus indeksoitu kantaosoitus suhteellinen osoitus 5 Operandien osoittaminen ja tietokoneen käskykanta

16 5.4.1 Välitön osoitus (immediate addressing)
Operandi (kohde- tai lähde) on osa käskyä. Vakioiden käyttö on helppoa. Käsky ja operandi voi olla myös kahden sanan mittainen. 5 Operandien osoittaminen ja tietokoneen käskykanta

17 5.4.2 Rekisteriosoitus (register addressing)
Operandi (kohde tai lähde) on rekisterissä. Etua, jos operaation tulosta käytetään hyväksi seuraavassa käskyssä. 5 Operandien osoittaminen ja tietokoneen käskykanta

18 5.4.3 Absoluuttinen osoitus eli suora muistiosoitus
Operandi on muistissa ja muistipaikan osoite sisältyy käskyyn. Muistiosoite vie sanan verran tilaa. Yksinkertainen tapa viitata muistissa oleviin muuttujiin. Ei rekisteriosoitus ??? Virhe !!!! 5 Operandien osoittaminen ja tietokoneen käskykanta

19 Kuva 5-13. Muistiosoitteen täydentäminen ohjelmalaskurin avulla
5 Operandien osoittaminen ja tietokoneen käskykanta

20 5.4.4 Rekisteriepäsuora osoitus
5 Operandien osoittaminen ja tietokoneen käskykanta

21 5.4.5 Indeksoitu osoitus ja kantaosoitus
Indeksoitu osoitus (indexed addressing, Index register addressing) Kantaosoitus (based addressing, base register addressing) Rekisteriepäsuoran osoituksen ylestyksiä Muistiosoite saadaan lisäämällä indeksi- tai kantarekisterin sisältöön käskyssä oleva vakio tai siirros (displament, offset). 5 Operandien osoittaminen ja tietokoneen käskykanta

22 Indeksoitu osoitus ja kantaosoitus
Jos indeksi- tai kantarekistereitä on useita, käytetty rekisteri on ilmoitettava käskyssä. Skaalattu käyttö: Indeksirekisterin sisältö kerrotaan vakiolla 1, 2, 4 tai 8 ennen käskyssä olevan siirroksen lisäystä. Yhdessä muistipaikassa talletettuna on yksi tavu. Operandi voi olla joka yhden, kahden, neljän tai kahdeksan tavun mittainen. Muistissa taulukko  laskentakaava n=k*ri+d k on vakio, ri on indeksirekisterin sisältö ja d on käskyssä oleva siirros. 5 Operandien osoittaminen ja tietokoneen käskykanta

23 Indeksoitu osoitus ja kantaosoitus
5 Operandien osoittaminen ja tietokoneen käskykanta

24 Taulukon käsittely indeksoitua osoitusta käyttäen
5 Operandien osoittaminen ja tietokoneen käskykanta

25 Tietorakenteen käsittely
Kuva 5-17 ! 5 Operandien osoittaminen ja tietokoneen käskykanta

26 Tietorakenteen käsittely
5 Operandien osoittaminen ja tietokoneen käskykanta

27 5.4.6 Indeksoitu kantaosoitus
5 Operandien osoittaminen ja tietokoneen käskykanta

28 5 Operandien osoittaminen ja tietokoneen käskykanta
5.4.7 Suhteellinen osoitus 5 Operandien osoittaminen ja tietokoneen käskykanta

29 Mikro-ohjaimen osoitusmuodot
Katso toinen PPT ! 5 Operandien osoittaminen ja tietokoneen käskykanta

30 5 Operandien osoittaminen ja tietokoneen käskykanta
Katso esim. atMega128:n käskykanta *.pdf ! Tietokoneen kaikki käskyt Jaettu ryhmiin toimintojen mukaan 5 Operandien osoittaminen ja tietokoneen käskykanta

31 5.5.1 Siirtokäskyt (data transfer instruction)
Esimerkiksi assembler –käskyinä Move, load , store jne. omina lyhenteinä Siirtävät tietoa joko muistipaikan ja rekisterin tai kahden rekisterin välillä Pinonkäsittelykäskyt ovat siirtokäskyjä push Rekisteristä pinon päälle pop Pinon päältä rekisteriin 5 Operandien osoittaminen ja tietokoneen käskykanta

32 5.5.2 Aritmeettiset käskyt (arithmetic instruction)
Yhteen-, vähennys-, kerto-, ja jakolaskut Inkrementointi (incrementing) Dekrementointi (decrementing) Vertailu (comparison) Laskutoimitukset kahdelle luvulle kerrallaan C-lippu Liukulukukäskyjä 5 Operandien osoittaminen ja tietokoneen käskykanta

33 5.5.3 Loogiset käskyt (Logical instruction)
Maskauksen merkitys ja käyttö: AND-, OR- ja XOR –maskaus, ”Bittikuviomuokkaus” AND – maskaus: Maskin 1 siirtää (säilyttää) ja 0 nollaa kyseisen bitin OR – maskaus: Maskin 1 pakottaa 1:ksi ja 0 siirtää (säilyttää) kyseisen bitin XOR – maskaus: Maskin 1 invertoi (kääntää) ja 0 siirtää (säilyttää) kyseisen bitin 5 Operandien osoittaminen ja tietokoneen käskykanta

34 Bittioperaatiot ja Loogiset lausekkeet
Bittioperaatiot (&, |, ^, ~, <<, >> , Boolen kytkentä algebra bittitasolla) Maskina bittikuvio esim. muuttuja = muuttuja & 0x0F; Looginen lauseke (Boolen kytkentä algebra lauseketasolla) !, &&, ||, ==, =>, =<... if ( tosijuttu1 && tosijuttu2 ) teejuttu; 5 Operandien osoittaminen ja tietokoneen käskykanta

35 5 Operandien osoittaminen ja tietokoneen käskykanta
AND (JA) -operaatio Sana Maski Tulos AND – maskaus: Maskin 1 siirtää (säilyttää) ja 0 nollaa kyseisen bitin A B F 0 0 0 0 1 0 1 0 0 1 1 1 5 Operandien osoittaminen ja tietokoneen käskykanta

36 5 Operandien osoittaminen ja tietokoneen käskykanta
OR (TAI) -operaatio Sana Maski Tulos OR – maskaus: Maskin 1 pakottaa 1:ksi ja 0 siirtää (säilyttää) kyseisen bitin A B F 0 0 0 0 1 1 1 0 1 1 1 1 5 Operandien osoittaminen ja tietokoneen käskykanta

37 5 Operandien osoittaminen ja tietokoneen käskykanta
NOT (EI) -operaatio Sana ~ Kääntää eli invertoi bitin arvon ulostuloon Totuustaulu A F 0 1 1 0 5 Operandien osoittaminen ja tietokoneen käskykanta

38 XOR (ehdon tai) -operaatio
Sana Maski Tulos XOR – maskaus: Maskin 1 invertoi (kääntää) ja 0 siirtää (säilyttää) kyseisen bitin A B F 0 0 0 0 1 1 1 0 1 1 1 0 5 Operandien osoittaminen ja tietokoneen käskykanta

39 5.5.4 Sivuttaissiirto- ja rotaatiokäskyt
5 Operandien osoittaminen ja tietokoneen käskykanta

40 Aritmeettinen sivuttaissiirto
Kahdenkomplementtilukujen käsittely 5 Operandien osoittaminen ja tietokoneen käskykanta

41 Looginen sivuttaissiirto
Kahdella kertominen ja jakaminen 5 Operandien osoittaminen ja tietokoneen käskykanta

42 5.5.5 Hyppy- ja haarautumiskäskyt
Hyppykäskyt (jump instruction) Ehdottomia tai ehdollisia Haarautumiskäskyt (branch instruction) Suoritetaan vain jos ehto on voimassa. Taulukossa on annettu ehto ja lippujen avulla muodostettu looginen lauseke, jonka arvo on yksi, jos ehto on voimassa. Katso taulukot 5-1 ja 5-2 ! 5 Operandien osoittaminen ja tietokoneen käskykanta

43 Hyppy- ja haarautumiskäskyt
5 Operandien osoittaminen ja tietokoneen käskykanta

44 Hyppy- ja haarautumiskäskyt
5 Operandien osoittaminen ja tietokoneen käskykanta

45 5 Operandien osoittaminen ja tietokoneen käskykanta
5.5.6 Aliohjelmakäskyt call return Ohjelmalaskurin arvo (EIP) 5 Operandien osoittaminen ja tietokoneen käskykanta

46 5 Operandien osoittaminen ja tietokoneen käskykanta
Aliohjelman periaate 5 Operandien osoittaminen ja tietokoneen käskykanta

47 5.5.7 Syöttö- ja tulostuskäskyt
I/O -käskyt 5 Operandien osoittaminen ja tietokoneen käskykanta

48 5 Operandien osoittaminen ja tietokoneen käskykanta
5.5.8 Ohjauskäskyt Mm. keskeytysten prioriteettien asettaminen 5 Operandien osoittaminen ja tietokoneen käskykanta


Lataa ppt "Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta"

Samankaltaiset esitykset


Iklan oleh Google