Ohjelma Mikro-ohjelmointi Symbolinen konekieli Osoitustavat.

Slides:



Advertisements
Samankaltaiset esitykset
Tietokonetekniikka 4 Tieto ja tiedon talletus
Advertisements

15. Loogiset operaatiot.
Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta
Tietokonetekniikka 3 Tietokoneen Rakenteen ja toiminnan perusteet
JavaScript (c) Irja & Reino Aarinen, 2007
Ohjelman perusrakenteet
Rakenteinen ohjelmointi
Sovellusohjelman suunnittelu & toteutus
Käyttöjärjestelmät Johdanto. Kurssimateriaalista 15 lukua, jotka vastaavat enemmän tai vähemmän 15 kahden tunnin pakettia Perustuu Gary Nuttin Operating.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
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.
© Lammi-Niskala-Kossarev1 Algoritmiteoriaa Toiset tehtävät (ja sen ratkaisut) vaikeampia kuin toiset Toiset tehtävät (ja sen ratkaisut) vaikeampia kuin.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Konekieli.
Ohjelman perusrakenteet
2. Vuokaaviot.
Pseudokoodi Tietokoneohjelmien perusidea:
Vapaa aihe Kysymykset.
Ohjelmointi.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Visual Basic -ohjelmointi
Ohjelmointikielet ja ohjelmointi Tietotekniikan perusteet Pekka Orponen.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
2.7 Rekursio ja iteraatio Algoritminen ongelmanratkaisu ei ole
2.8 TIETO- JA TALLETUSRAKENTEET
© Lammi-Niskala-Kossarev 1 Kertausta (lu 05-06) Algoritmin perusvaatimukset Miksi ei luonnollista kieltä ohjelmointiin Syntaksi, semantiikka ja pragmatiikka.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
3.2 Kompleksisuus Vain pieni osa kaikista tehtävistä on laskettavissa tai edes osittainkaan laskettavissa. Laskettavien osalta saattaa olla tarpeellista.
@ Leena Lahtinen Toistorakenne Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja.
RAKENNUSPALIKOITA SEINÄJOEN KANSALAISOPISTO Jussi Rasku Aki Sirviö.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Tietokoneen arkkitehtuuri ja konekieli Tietotekniikan perusteet Pekka Orponen.
Visual Basic -ohjelmointi
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Visual Basic -ohjelmointi
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Rekisterit ja laskurit
Johdatus ohjelmointiin – lohkokaaviot ja algoritmit
FOR i := 0...N-1 DO summa := summa + A[i] tulo := tulo * A[i] ENDFOR.
Ohjelmassa tänään Ohjelmointimallit Pseudokieli Modulaarisuus.
Mikro-ohjelmoitava tietokone
Aiheet ● Ohjelmointikielten kääntäminen ● Kieliopin määrittely ● Kääntäjän toiminta.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
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
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
13. Loogiset operaatiot.
Tietokoneen toiminnasta ja rakenteesta
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Ohjelmien suunnittelu
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
4. Ohjelmointi konekielellä (TTK-91 ja Titokone)
Tietokoneen toiminta (2 ov)
Tietokoneen toiminta (2 ov)
Luento 10 Käännös, linkitys ja lataus
5. Aliohjelmien toteutus
11. Käännös, linkitys ja lataus
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
4. Ohjelmointi konekielellä (TTK-91 ja Titokone)
13. Loogiset operaatiot.
Kurssin tavoitteet Miksi? Keskeiset asiat
Ohjelman perusrakenteet
3. TTK-91-käskykanta Symbolisen konekielen tavalliset käskyt
Gopro action-kamerat Hero 4 silver ja hero 2018.
Jakso 4 Aliohjelmien toteutus
Esityksen transkriptio:

Ohjelma Mikro-ohjelmointi Symbolinen konekieli Osoitustavat

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:

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)

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

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

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ä

Algoritmi jatkuu Ehdolliset jump-hypyt pois, korvataan ehdollisilla ylihypyillä ja ehdottomilla hypyillä

Algoritmi jatkuu

Symbolinen mikrokoodi

Mikrokoodi osoite 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Konekieli

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

Yksiosoitekone Käskyt 16-bittisiä Kone suorittaa käskyjä yksi kerrallaan, peräkkäin Toinen operandi aina akku Ohjelma ja data päämuistissa

Konekäskyt

Eksponenttifunktio 2n Ohjelma muistipaikasta 371 alkaen Data muistipaikoissa 381-383 Algoritmi: MODULE exp(n) RETURNS 2n arvo:=1 WHILE n>0 DO n:=n-1 arvo:=arvo+arvo ENDWHILE RETURN arvo ENDMODULE

2n konekielellä 371 LOAD 383 372 STORE 382 373 LOAD 381 374 JUMPZERO 384 375 SUBTRACT 383 376 STORE 381 377 LOAD 382 378 ADD 382 379 STORE 382 380 JUMP 373 381 n 382 0 383 1

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