Siirtorekisterin toteutus Javalla

Slides:



Advertisements
Samankaltaiset esitykset
18. Abstraktit tietotyypit
Advertisements

Copyright  Hannu Laine Bittitason-operaatiot Hannu Laine.
Moodle verkko- oppimisympäristö Lyhyt johdatus kuvien avulla Lähde: Tem Valtosen PP-esitys Vetu 7 -koulutuksessa.
Tietokonetekniikka 4 Tieto ja tiedon talletus
15. Loogiset operaatiot.
Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
10/9/2012 © Hannu Laine 1 Tietorakenteet ja algoritmit Listan määritelmä Listan toteutustapoja Yksinkertainen taulukkototeutus Linkattu taulukko Dynaamisesti.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Graafinen käyttöliittymä, osa 2
C-ohjelmointi, kevät 2006 Taulukot Binääritiedostot Luento
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Murphy ja TLT eli mitä kaikkea voi mennä pieleen tiedonsiirron eri vaiheissa?
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
Konekieli.
Binäärinen hakupuu Jokaisessa solmussa on yksikäsitteinen avain
1. Avaa omat tiedostot Pakatut tiedostot vievät vähemmän tallennustilaa ja ne voi siirtää toiseen tietokoneeseen nopeasti. Pakattuja ja pakkaamattomia.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Johtokoodaus Historia, toiminnalliset syyt ja toteutustapojen hintaerot ovat johtaneet eri johtokoodaustapojen kehittämiseen. Hyvälle johtokoodaukselle.
Paluu tutoriaalin 1 Exit Tutoriaalin Koke Ohjelmistotekniikka Aloittaa.
Tiedostomuodot Jussi Talaskivi atk-suunnittelija Jyväskylän yliopisto.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
Logiikka.
Liukulukulaskenta. Yleistä liukuluvuista Tarvitaan reaalilukujen esittämiseen tietokoneella  esim. matemaattiset mallit Kaikkia reaalilukuja ei ole mahdollista.
To start press the space bar. Tietojen päivittäminen PAF kantaan käyttäen Temple Ready ohjelmaa ja IGI CD- levyjä CD-ROM:lla on tiedot vuoteen 2000 saakka,
Kummitoiminnan arviointikysely Kummitoiminta - Marraskuu 2012, edellinen maaliskuu osastoa eli 39 % vastasi kyselyyn kokonaisvastaajamäärän.
Tentti. Olio-ohjelmoinnin perusteet | Kevät 2015 | Jorma Laurikkala2 Tentti Torstaina klo 16–20 D10ab (Päätalo). Pääasiassa Java-ohjelmien kirjoittamista.
15. Ohjelmoinnin tekniikkaa
Rekisterit ja laskurit
Loogiset piirit Puolijohteet Puolijohdekomponentit Loogiset piirit.
Kuplalajittelu (bubble sort)
Jakolajittelu (Radix sort) Vertailu tehdään avaimen osien perusteella Avaimia käsitellään R-kantaisina arvoina esim. postin lajittelukone prosessoi lähetykset.
Mikro-ohjelmoitava tietokone
Missä kaupunki X? Esimerkki PaikkaOpin käytöstä opetuksessa tehtävän idea: luokanopettaja Minna Glogan toteutus: koordinaattori Virpi Hirvensalo.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembler.
ASCII JORMA2002. ASCII A merican S tandard C ode for I nformation I nterchange  Vuonna 1963 julkaistiin (1967 täydennettiin) 7-bittinen ASCII-koodi kaukokirjoittimissa.
Kierros 3 - OLO Kuva. Tänään Lyhyesti kurssista tähän mennessä Viikon aiheiden esittely Jakautuminen ryhmiin ja työskentely ryhmissä – OLO1 –
Yksikkötestaus ● Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
BINÄÄRISET TIEDONSIIRTOMENETELMÄT TÄRKEIMPIEN ASIOIDEN KERTAUS
Tutkintojen kokoaminen Korpissa
Edellisen kerran yhteenveto
Missä kaupunki X? Esimerkki PaikkaOpin käytöstä opetuksessa
Oirekartoitin Asiakkaan käyttöohje.
Tässä käsittely ohjaus-yhteistyössä
Att visa vägen Tien neuvominen
Logical Link Control (LLC)
Yhden bitin asettaminen Javalla
13. Loogiset operaatiot.
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
Käytännön harjoitus 1.2. Suunnanotto ja kartan suuntaaminen
9. Aritmeettiset operaatiot
9. Aritmeettiset operaatiot
16. Ohjelmoinnin tekniikkaa
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
Työnantaja: Näin haet korvausta työterveyshuollon kustannuksista verkossa 2018.
Edellisen kerran yhteenveto: MAC frame
Saapuneet-kansio Lajiteltu Kansion puhdistaminen
7. Näytölle tulostaminen
Laulakaa onnittelulaulu Franzille!
Kontrollirakenteet laajemmin
13. Loogiset operaatiot.

16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

Siirtorekisterin toteutus Javalla

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 Nyt siirtorekisteriin tuodaan bittejä oikealta Esimerkiksi Position 2 uusi arvo on position 7 ja position 1 XOR operaation tulos Eli kun bittejä siirretään niin XOR operaatio edellisen kierroksen arvoista Javalla seuraavasti ((rekisteri & 0x80) >>> 7) ^ ((rekisteri & 0x02) >>> 1);

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 Positio 0: Byte uusi[pituus]; // uusi[0] = 00001111; int maski[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; for (int i=0;i<pituus;i++) { // go through all bytes for (int j=7;j>=0;j--) { // move each bit of byte to register MSB first { // lisää muut positiot ja muu rekisterin käsittely ((rekisteri & 0x80) >>> 7) ^ ((uusi[i] & maski[j]) >>> j); }

CRC koodauksen toteutus siirtorekisterillä Positio 7 6 5 4 3 2 1 Esimerkiksi CRC-8 koodaus http://www.macs.hw.ac.uk/~pjbk/nets/crc/

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 A B C D E F G H Maskataan rekisteristä position 7 bitti ja siirretään (rekisteri & 0x80) >>> 7 Olkoon rekisterissä esim. seuraavat bitit (A - H joko 0 tai 1) rekisteri ABCDEFGH 0x80 10000000 rekisteri & 0x80 A0000000 (rekisteri & 0x80) >>> 7 0000000A

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 A B C D E F G H Maskataan rekisteristä position 1 bitti ja siirretään (rekisteri & 0x02) >>> 1 Rekisterissä samat bitit kuin edellä (A - H joko 0 tai 1) rekisteri ABCDEFGH 0x20 00000010 rekisteri & 0x20 000000G0 (rekisteri & 0x20) >>> 1 0000000G

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 A B C D E F G H XOR operaatio rekisterin positioiden 7 ja 1 bitit välillä ((rekisteri & 0x80) >>> 7) ^ ((rekisteri & 0x02) >>> 1); (rekisteri & 0x80) >>> 7 0000000A (rekisteri & 0x02) >>> 1 0000000G XOR A XOR G Tulos on bitti X 0000000X

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 IJKL… A B C D E F G H Tehdään kaikki XOR operaatiot Tulokset olkoon X, Y ja Z vasemmalta oikealle Siirretään XOR operaation tulokset oikeaan positioon Eli positiot 2, 1 ja 0 X << 2 00000X00 Y << 1 000000Y0 Z (ei tarvitse siirtää) 0000000Z

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 JKL… A B C D E F G H I Siirretään kaikkia bittejä vasemmalle rekisteri = (rekisteri << 1); rekisteri BCDEFGHI

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 JKL… A B C D E F G H I Asetetaan XOR laskujen tulokset oikeille paikoille rekisteri = (rekisteri & ~0x04) | (X << 2); Voisi olla myös ^ operaatio, koska ensin nollataan edellinen arvo rekisteri BCDEFGHI 0x04 00000100 ~0x04 11111011 X << 2 00000X00

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 JKL… A B C D E F G H I rekisteri = (rekisteri & ~0x04) | (X << 2); rekisteri BCDEFGHI ~0x04 11111011 rekisteri & ~0x04 BCDEF0HI rekisteri & ~0x04 BCDEF0HI X << 2 00000X00 (rekisteri & ~0x04) | (X << 2) BCDEFXHI

Siirtorekisteri (CRC-8) Positio 7 6 5 4 3 2 1 JKL… A B C D E F X Y Z Vastaavasti muille XOR operaation tuloksille Y ja Z Ja sitten aloitetaan alusta…