Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta

Slides:



Advertisements
Samankaltaiset esitykset
Copyright  Hannu Laine Bittitason-operaatiot Hannu Laine.
Advertisements

Tietokonetekniikka 4 Tieto ja tiedon talletus
15. Loogiset operaatiot.
Pääkaupunkiseudun 8. luokkien palvelukyky Espoo, Tapiolan koulu Joulukuu 2013.
Kemian tietolähteet ( ) Kaija Sipilä Maria Kovero Kevät 2002 kurssikerta.
Ompelukuvasarja laskosverhon valmistuksesta yksittäiskappaleena.
Tietokonetekniikka 3 Tietokoneen Rakenteen ja toiminnan perusteet
Työ, teho ja yksinkertaiset koneet
Helsingin uudet tyyppipiirustukset 2014
Perusopetuksen huoltajat 2014 Generated on :04.
Laskelma kuntien ja kuntayhtymien menoista v. 2012
Elinkeinopoliittinen mittaristo 2014 Pelkosenniemi 1.
Elinkeinopoliittinen mittaristo 2014 Kittilä 1. ELINKEINOPOLITIIKAN TILA 2.
Elinkeinopoliittinen mittaristo 2014 Kemi 1. ELINKEINOPOLITIIKAN TILA 2.
1 Senioreiden säästäminen ja maksutavat 2014 SENIOREIDEN SÄÄSTÄMINEN JA MAKSUTAVAT
V V V V V V V V V V V V Kuuden suurimman kaupungin lasten päivähoidon palvelujen ja kustannusten vertailu 2009 Kuuden suurimman kaupungin lasten päivähoidon.
*) Työttömät ilman lomautettuja Lähde: Työ- ja elinkeinoministeriön työttömyystilastot Työttömät* työnhakijat 1994–2014, syyskuu Yleisimmät.
KERTAUSTA PERUSASTEEN MATEMATIIKASTA Piia junes
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Säännöt 30 kuvaa 45 sekuntia / kuva 15 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
I.R.O. Research Oy vee 10/2000 Mediakäyttö Käyttää vähintään kerran viikossa Tytöt ja pojat *) Kirjat (esim. romaanit, lasten- ja nuortenkirjat)
Säännöt 30 kuvaa 45 sekuntia / kuva 15 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
V V V V V V V V Kuuden suurimman kaupungin lasten päivähoidon palvelujen ja kustannusten vertailu 2009 Kuuden suurimman kaupungin lasten päivähoidon palvelujen.
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
E-Commerce 2010: Business, Technology, Society 6e
5.3.3 Koodin generointi Koodin generointi tarkoittaa objektikoodin eli konekielisen ohjelman tuottamista. Generointi jakautuu kolmeen osatehtävään: 1.Muistin.
Elinkeinopoliittinen mittaristo 2014
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
Konekieli.
Harrastajatutkinto Säännöt Pisteytys 30 kuvaa 45 sekuntia / kuva
Säännöt 30 kuvaa 45 sekuntia / kuva 15 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Säännöt 30 kuvaa 45 sekuntia / kuva 10 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
Suuntaamattoman graafin syvyyshaku
1 Raha-asioiden suunnitteleminen ja nykyinen rahatilanne Senioritutkimus 2011.
Seinäjoki kisa A Tuomari: Tytti Lintenhofer ALO 12kyl, 4pys Kyl:
Maatalous, maaseutuyrittäminen rahavirrat 2008 ja 2007 Pohjois-Savo Jari Kauhanen MTK- Pohjois-Savo.
Työttömät* työnhakijat ELY-keskuksittain *) Työttömät ilman lomautettuja Lähde: Työ- ja elinkeinoministeriön työttömyystilastot Työttömät* työnhakijat,
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Maitotaito PIENEN VAUVAN PÄIVÄ Maitotaito.
Säännöt 30 kuvaa 45 sekuntia / kuva 15 sekuntia kirjoitusaikaa Vastaus suomeksi, ruotsiksi, englanniksi, tieteellisellä nimellä tai sen 3+3 lyhenteellä.
1 9. Muistinhallinta l Moniajojärjestelmässä keskusmuisti on jaettu usean prosessin kesken l => ohjelman paikka muistissa ei ole kiinteä, vaan koodi on.
Viikko 12 (19. – ) 7.LK TET-VIIKKO Maanantai: (19.3.) -9.LK tukarit: Suunnittelupalaveri klo Tiistai: (20.3.) -6A ja 9D: Ympäristömessut.
1. Usean muuttujan funktiot
Tilinpäätös 2004.
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
Logiikka.
Tietokoneen rakenne matalalla tasolla KYMENLAAKSON AMMATTIKORKEAKOULU Jarkko Ansamäki, kevät 2002.
Visual Basic -ohjelmointi
Tilastollisesti merkitsevä nousu Tilastollisesti merkitsevä lasku Edelliseen aineistoon KMT 2005 verrattuna* KMT Kevät06 puolivuosiaineisto KMT SYKSY05/KEVÄT06.
Ohjelma Mikro-ohjelmointi Symbolinen konekieli Osoitustavat.
Mikro-ohjelmoitava tietokone
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembler.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Yhden bitin asettaminen Javalla
Siirtorekisterin toteutus Javalla
13. Loogiset operaatiot.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
9. Aritmeettiset operaatiot
Tietokoneen toiminta (2 ov)
2. TTK-91 –tietokone ja sen simulaattori
2. TTK-91 –tietokone 2.0 Mikä TTK-91? Ja mitä hyötyä siitä on?
Luku 12 Java-ohjelmien suoritus
3. TTK-91-käskykanta Symbolisen konekielen tavalliset käskyt
13. Loogiset operaatiot.
3. TTK-91-käskykanta Symbolisen konekielen tavalliset käskyt
Esityksen transkriptio:

Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta Lähde: Haltsonen, S., Rautanen, E. Pieka 02.02.2009 Kuvagalleria 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 5 Operandien osoittaminen ja tietokoneen käskykanta

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.4.6 Indeksoitu kantaosoitus 5 Operandien osoittaminen ja tietokoneen käskykanta

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

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

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

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

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

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

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

5 Operandien osoittaminen ja tietokoneen käskykanta AND (JA) -operaatio Sana 1100 1010 Maski 1111 1001 Tulos 1100 1000 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

5 Operandien osoittaminen ja tietokoneen käskykanta OR (TAI) -operaatio Sana 1100 1010 Maski 1111 1001 Tulos 1111 1011 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

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

XOR (ehdon tai) -operaatio Sana 1100 1010 Maski 1111 1001 Tulos 0011 0011 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

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

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

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

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

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

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

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

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

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

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