1 / 8

Konekäskyjen toteutus tietokoneessa

Konekäskyjen toteutus tietokoneessa. Tietotekniikan perusteet 13.10.1998 Pekka Orponen. Muistin rakenne. Tarkastellaan hyvin pientä (h.p.) tietokonetta, jonka muistissa on vain 256 16-bittistä muistipaikkaa. Tällöin jokaiseen muistipaikkaan voidaan viitata 8-bittisellä osoitteella.

gunda
Download Presentation

Konekäskyjen toteutus tietokoneessa

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. Konekäskyjen toteutus tietokoneessa Tietotekniikan perusteet 13.10.1998 Pekka Orponen

  2. Muistin rakenne • Tarkastellaan hyvinpientä (h.p.) tietokonetta, jonka muistissa on vain 256 16-bittistä muistipaikkaa. Tällöin jokaiseen muistipaikkaan voidaan viitata 8-bittisellä osoitteella. • Nykyisissä tietokoneissa keskusmuisti tyypillisesti 16-67 milj. 8-bittistä ”tavua”; osoitteen pituus 32 bittiä.) DATA (16 bit) 00…00 00…01 11…10 11…11 ADDR (8 bit)

  3. Konekäskyjen koodaus • Oletetaan, että h.p. tietokoneemme käskykanta muodostuu viime luennolla esitetyistä 9 käskystä. • Annetaan kullekin käskylle 4-bittinen binäärikoodi: Käsky Koodi NOP 0000 HALT 0001 LOAD 0010 STORE 0011 ADD 0100 SUB 0101 CLEAR 0110 JUMP 1000 JMPZ 1001 • Täydellinen käskysana koostuu tällöin 4-bittisestä käskykoodista ja 8-bittisestä osoitteesta, esim.: ADD 100 = 0100 1100100

  4. Konekäskyjen tallennus muistiin • Konekielinen ohjelma tallennetaan koneen muistiin koodatussa muodossa; esim. 10: LOAD 100 11: ADD 101 12. STORE 102 13: HALT 00…00 0..1010 0..1011 0..1100 0..1101 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 11…11

  5. Konekäskyjen suoritussekvenssi • Tietokone suorittaa konekielisen ohjelman toistamalla seuraavaa toimenpidejonoa: • nouda seuraava käsky muistista • nouda käskyn operandi muistista (jos tarvitaan) • suorita käsky • talleta käskyn tulos muistiin (jos tarvitaan) • Keskusyksikössä tarvittavia apurekistereitä: • PC: käskylaskuri (program counter) • seuraavan suoritettavan käskyn muistiosoite • IR: käskyrekisteri (instruction register) • suoritettavana olevan käskyn käskykoodi • monisteessa INSTR • MAR: osoiterekisteri (memory address register) • suoritettavana olevan käskyn osoitekenttä • monisteessa MD • MDR: datarekisteri (memory data register) • suoritettavana olevan käskyn operandi • monisteessa 2 kpl: IA, IB • Lisäksi vielä yleiskäyttöinen apurekisteri AC, ”akku”.

  6. Konekäskyjen suoritussekvenssi (jatkuu) • Rekisterimerkintöjä käyttäen suoritussekvenssi voidaan kuvata: • (IR, MAR) ¬ MEM[PC] • jos IR = ”LOAD”, ”ADD” tai ”SUB”, niin • MDR ¬ MEM[MAR] • suorita käsky INSTR operandilla MDR • jos IR = ”STORE”, niin • MEM[MAR] ¬ MDR • jos IR ¹ ”JUMP”, ”JMPZ”, niin • PC ¬ PC+1 • palaa kohtaan 1

  7. Ohjausautomaatti ja käskyjen dekoodaus • Ohjausautomaatti, joka voidaan toteuttaa esim. ROM-muistipiirinä, purkaa IR-rekisteriin tallennetun käskykoodin vastaaviksi ohjaussignaaleiksi: DATA(5..8) IR 0 0 NOP LOAD ADD JMPZ 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 C0 Cl Cj Cx Ca

  8. Toimintopiirien ohjaus ohjaussignaaleilla • Ohjausautomaatin tuottamat signaalit ohjaavat keskusyksikön muiden piirien toimintaa. • Esim.ADD- ja LOAD-käskyt voisivat olla toteutettuina koneen aritmeettis-loogisessa yksikössä seuraavasti: MDR AC ALU ADDER Ca Cl

More Related