Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuTaisto Hovinen Muutettu yli 8 vuotta sitten
1
Ohjelma Mikro-ohjelmointi Symbolinen konekieli Osoitustavat
2
Mikro-ohjelmointi Mikro-ohjelmoitava tietokone suorittaa päämuistissa olevaa (konekielistä) ohjelmaa Konekäsky suoritetaan suorittamalla käskyä vastaava mikro-ohjelma Mikro-ohjelmoitava koneemme kykenee seuraaviin toimintoihin:
3
Toiminnot Tiedon siirto rekisterien välillä sekä rekisterin ja päämuistin välillä Yhteen- ja vähennyslasku Kahdella kertominen Loogiset vertailut A<0, A=0 Siirtyminen mikro-ohjelmassa siirtyminen seuraavaan käskyyn ehdollinen ylihyppy (skip) ehdoton hyppy (jump) Tiedon siirto rekisterien välillä sekä rekisterin ja päämuistin välillä. Tietoa ei siis voi siirtää suoraan kahden päämuistin muistipaikan välillä. Rekistereistä tieto voidaan siirtää vain sille väylälle, johon kyseinen rekisteri on kytketty. Yhteen- ja vähennyslasku. On huomattava, että vähennyslaskussa vähentäjä on aina väylällä 1, kone siis osaa esimerkiksi vähennyslaskun A-MDR, mutta ei laskua MDR-A. Kahdella kertominen eli shiftleft-operaatio. Siis vain vasemmalle siirto, ja reunimmainen bitti hukkuu. Loogiset vertailut pienempi kuin ja yhtäsuuri kuin. Vain rekisterille A. Siirtyminen mikro-ohjelmassa. Kontrollin toteuttamiseksi on käytössä: siirtyminen seuraavaan käskyyn ehdollinen ylihyppy (skip) ehdoton hyppy (jump)
4
Ohjelmointi Periaatteessa tavallista ohjelmointia
Jokainen mikrokäsky sisältää 5 alikäskyä Rekisteri kerrallaan väylälle Jokainen mikrokäsky suorittaa haarautumisen tai asetuksen Mikrokäsky esitetään bittijonona, jossa toimintoja vastaavat ohjausbitit ovat 1
5
Esimerkki Mikro-ohjelma, joka laskee rekisterin D sisällön osoittaman muistipaikan sisällön ykkösbitit rekisteriin C Ratkaisu: Koska vain vasemman puolimmaista bittiä pystytään tutkimaan yksin, täytyy laskenta tehdä siirtämällä lukua aina bitti vasemmalle. Jos luku < 0, niin silloin 1. bitti on 1, muutoin 0
6
Algoritmi C:= 0 A:= hae(D) WHILE A <> 0 DO IF A < 0 THEN
C:= C+1 ENDIF shiftleft(A) ENDWHILE Korvataan aliohjelmat mikrokäskyillä ja silmukat hyppykäskyillä
7
Algoritmi jatkuu Ehdolliset jump-hypyt pois, korvataan ehdollisilla ylihypyillä ja ehdottomilla hypyillä
8
Algoritmi jatkuu
9
Symbolinen mikrokoodi
10
Mikrokoodi osoite 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
11
Konekieli
12
Konekieli Yksi kertolasku vaatii jo monta mikrokäskyä → ohjelmien kirjoittaminen työlästä Konekieli yhdistää mikrokäskyjä Konekielikoneen rakenne: Päämuisti Rekisterit PC IR ACC
13
Yksiosoitekone Käskyt 16-bittisiä
Kone suorittaa käskyjä yksi kerrallaan, peräkkäin Toinen operandi aina akku Ohjelma ja data päämuistissa
14
Konekäskyt
15
Eksponenttifunktio 2n Ohjelma muistipaikasta 371 alkaen
Data muistipaikoissa Algoritmi: MODULE exp(n) RETURNS 2n arvo:=1 WHILE n>0 DO n:=n-1 arvo:=arvo+arvo ENDWHILE RETURN arvo ENDMODULE
16
2n konekielellä 371 LOAD 383 372 STORE 382 373 LOAD 381
JUMPZERO 384 SUBTRACT 383 STORE 381 LOAD 382 ADD 382 STORE 382 JUMP 373 n
17
Osoitustavoista Osoitustapa: tapa, millä konekielen käskyn osoiteosa määrää käskyn todellisen operandin Osoitustavat: Välitön osoitus Suora osoitus Epäsuora osoitus Indeksoitu osoitus Epäsuora indeksoitu osoitus
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.