Tietokonetekniikka5 Operandien osoittaminen ja tietokoneen käskykantaLähde: Haltsonen, S., Rautanen, E. Pieka 02.02.2009 Kuvagalleria 1 5 Operandien osoittaminen ja tietokoneen käskykanta
Tietokonetekniikka5 Operandien osoittaminen ja tietokoneen käskykanta
Lähde: Haltsonen, S., Rautanen, E. Pieka 02.02.2009 Kuvagalleria 1 5 Operandien osoittaminen ja tietokoneen käskykanta
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 2 5 Operandien osoittaminen ja tietokoneen käskykanta
5.2 Käskyn rakenne
3 5 Operandien osoittaminen ja tietokoneen käskykanta
Käskyn rakenne(instruction format)
4 5 Operandien osoittaminen ja tietokoneen käskykanta 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.
Kuva 5-4. Laskentakäskyn ja hyppykäskyn rakenne
5 5 Operandien osoittaminen ja tietokoneen käskykanta Laskentakäsky Hyppykäsky
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). 6 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 7
Kuva 5-3. Käsky, jossa on kolme muistiosoitetta
8 5 Operandien osoittaminen ja tietokoneen käskykanta Käskyn haku vaatii neljä muistiviittausta ja suoritus vaatii kolme muistiviittausta Hidas
Kuva 5-4. Käsky, jossa on kaksi muistiosoitetta
9 5 Operandien osoittaminen ja tietokoneen käskykanta Käskyn haku vaatii kolme muistiviittausta ja suoritus vaatii kolme muistiviittausta Hidas
Käsky, jossa on yksi muistiosoite, Akku nopeampi
10 5 Operandien osoittaminen ja tietokoneen käskykanta
Käsky, jossa on yksi muistiosoite ja yksi rekisteriosoite: Rekisteriryhmä
11 5 Operandien osoittaminen ja tietokoneen käskykanta
Käsky, jossa on kaksi rekisteriosoitetta
12 5 Operandien osoittaminen ja tietokoneen käskykanta 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.
Käsky, jossa on kolme rekisteriosoitettaKolmen operandin käskyn periaate
13 5 Operandien osoittaminen ja tietokoneen käskykanta
Nollan osoitteen käskyn periaate
14 5 Operandien osoittaminen ja tietokoneen käskykanta Operandit haetaan pinosta ja tulos viedään pinoon.
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 16
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 17
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 18
‹#›
Kuva 5-13. Muistiosoitteen täydentäminen ohjelmalaskurin avulla
5 Operandien osoittaminen ja tietokoneen käskykanta 19
5.4.4 Rekisteriepäsuora osoitus
5 Operandien osoittaminen ja tietokoneen käskykanta 20
Comments