2. Laitteistorajapinta

Koko: px
Aloita esitys sivulta:

Download "2. Laitteistorajapinta"

Transkriptio

1 30 Sulautettu ohjelmointi 2. Laitteistorajapinta Tämä luku esittelee sulautetuissa järjestelmissä käytettyjen tietokoneiden arkkitehtuuria. Ylivoimaisesti yleisin arkkitehtuuri on von Neumann -arkkitehtuuri, mutta varsinkin erityistarkoituksiin tehdyissä suorittimissa arkkitehtuuri voi olla jokin toinenkin (yleensä niin sanottu Harvard-arkkitehtuuri), joka sopii paremmin laitteen toteuttamiseen joko hintansa tai ominaisuuksiensa takia. Tässä yhteydessä ei käydä läpi suorittimien konekieliä, vaan lähinnä rekisterirakenteita ja keskeytysjärjestelmää. Symbolinen konekoodi ja tiedon esitysmuodot oletetaan tunnetuksi. Nykyään ovat sulautetuissa järjestelmissä hyvin tärkeässä osassa niin sanotut mikrokontrollerit, joissa on yhdistetty (tavallisesti pienehkö) suoritin ja yleisimmät oheislaitteet. Näiden erityispiirteisiin kiinnitetään jonkin verran huomiota. 2.1 Tyypillinen sulautetun järjestelmän suoritin Pöytätietokoneissa ja palvelimissa on käytännössä aina 32- tai 64-bittiset suorittimet. Myös sulautetuissa järjestelmissä on suuntaus tähän suuntaan, mutta hämmästyttävän suuri osuus uusistakin järjestelmistä tehdään pienemmillä suorittimilla. Tosin niillä tehtävät järjestelmät ovat sitten pieniä. Muutosta ja eri suorittimien osuutta kuvaa taulukko 2.1. Valitettavasti uudempia tietoja ei juuri ole, mutta nämä luvut muistuttavat siitä, että vanhoissa, jo käytössä olevissa järjestelmissä pienten suorittimien osuus on taulukon lukujen mukainen, joten ylläpitotyössä

2 Laitteistorajapinta 31 ja järjestelmien kehittämisessä ne tulevat olemaan vielä pitkään käytössä. Taulukko 2.1: Uusissa sulautetuissa järjestelmissä käytettävät suorittimet (pahoittelut vanhan tiedon vuoksi, mutta syystä tai toisesta luotettavaa tuoreempaa tietoa ei tunnu olevan saatavilla). Suorittimen bittisyys Osuus Osuus , muu 3 3,5 Sulautettujen järjestelmien keskeistä osaa koko tietoteollisuudessa korostanee se, että 98 % kaikista suorittimista valmistetaan sulautettuun käyttöön (tieto vuodelta 2009) Yleinen koneiden arkkitehtuuri Yleisin tietokonearkkitehtuuri on traditionaalinen von Neumann -arkkitehtuuri keksijänsä unkarilaisen Johann (John) von Neumannin mukaan. Tämän arkkitehtuurin mukaan keskusyksikkö käsittelee muistissa olevan ohjelman käskyjen mukaisesti muistissa olevaa dataa. Muistissa olevasta bittikuviosta ei voi päätellä, onko se käsky vai jotain muuta: tulkinnan ratkaisee se, miten tietoa käsitellään. Tämä ominaisuus itse asiassa mahdollistaa kääntäjän (ja itseään muuntavan ohjelman) teon: se mikä vielä äsken oli dataa (eli kääntäjän tuottama muistiin talletettu lukusarja), muuttuukin käskyiksi sitä suoritettaessa. Vaikka von Neumann -arkkitehtuuri on vallitseva, se ei ole ainoa mahdollinen. Monissa erikoissuorittimissa erityisesti signaalisuorittimissa on käytössä niin sanottu Harvard-arkkitehtuuri. Tässä arkkitehtuurissa ohjelma- ja datamuistit ovat erillään toisistaan, ja niiden sanan- 2.

3 32 Sulautettu ohjelmointi ALU Rekisterit N Ohjaus Muisti Kuva 2.1 Yksinkertaisen koneen kaaviokuva Suoritin pituuskin voi olla eri. Ratkaisulla on kierretään von Neumann -arkkitehtuurin pääpullonkaulaa eli suorittimen ja muistin välistä tiedonsiirtoa. Ulkoisilla muisteilla tämä johtaisi suureen määrään ulkoisia pinnejä, ellei väyliä multipleksoida. Tämä taas hävittäisi erillisten muistien hyödyt, joten ei liene yllätys, että näissä suorittimissa on yleensä sisäistä muistia. Vaikka tämä ero arkkitehtuurissa on periaatteessa iso, se ei käytännössä näy ohjelmoijalle kuin hyvin harvoissa tilanteissa, joissa ohjelmoija joutuu esimerkiksi ottamaan huomioon sisäisen muistin koon ylimääräisenä rajoitteena ohjelmaa rakennettaessa. Toinen esimerkkitilanne, jossa erot saattavat näkyä, on energiankulutukseen liittyvät toteutusyksityiskohdat, joilla voi olla paljonkin merkitystä rakennettaessa akkukäyttöistä laitetta. Pienen koneen rakenteen kaaviokuva on kuvassa 2.1. Koneen suorittimessa on ohjauslogiikka, joka ohjaa koko suorittimen toimintaa, aritmeettis looginen yksikkö (ALU), joka huolehtii varsinaisista laskutoimituksista sekä jokin määrä rekistereitä, eli suorittimen sisäisiä nopeita muistipaikkoja. Rekisterit voivat olla yleiskäyttöisiä tai johonkin tiettyyn tarkoitukseen varattuja; esimerkiksi erityinen ohjelmalaskuri (PC, program counter, myös nimellä käskynosoitin, IP, instruction pointer) osoittaa seuraavaksi suoritettavaa käskyä. Koska laitteessa ei ole kuin yksi muisti, se edustaa von Neumann -arkkitehtuuria, sillä muistista haettu tieto voidaan joko käsitellä datana tai ohjelmana. Aritmeettis-looginen yksikkö saa lähtötietonsa joko muistista tai rekisteristä. Aina arkkitehtuuri ei salli suoraan keskusmuistiin viittausta, vaan varsinkin pienemmissä tai RISC-suorittimissa käskyjen lähtöja tulostietojen tulee olla rekistereissä. Tällaisesta arkkitehtuurista

4 Laitteistorajapinta 33 käytetään myös nimitystä load-and-store-arkkitehtuuri. Nimi viittaa siihen, että tarvitaan erityiset käskyt siirtämään dataa muistista rekisteriin (load) tai päinvastoin (store). Mikäli vain jokin tietty rekisteri voi toimia tällaisena lähtö- ja (erityisesti) tulosrekisterinä, sitä sanotaan akuksi. Joskus, melko hämäävästi, akkuja voi olla useampiakin, jolloin rekisterin ja akun välinen ero hämärtyy. Lisäksi jossain suorittimissa on erikseen data- ja indeksirekisterit, joissain taas rekisterit ovat yleisrekistereitä, eli niitä voi käyttää sekä osoitteiden tallentamiseen ja indeksointiin että datan käsittelyyn. 2.3 Suorittimen tilat ja rekisterit Tärkein laitteistonläheiseen ohjelmointiin liittyvä asia, joka sulautetuissa järjestelmissä tulee vastaan symbolisen konekoodin lisäksi, on keskeytysjärjestelmä ja sen hallinta. Siihen liittyvät usein myös suorittimen erilaiset tilat ja rekisterisarjat. Käymme niitä läpi lyhyesti seuraavassa. Suorittimilla on usein kaksi erillistä tilaa: niin sanottu käyttäjän tila (user) ja käyttöjärjestelmän tila (etuoikeutettu tila, supervisor mode, kernel mode). Jälkimmäisessä tilassa suoritin voi toteuttaa konekäskyjä, jotka ovat kiellettyjä käyttäjän tilassa. Mekanismin tarkoituksena on estää eri prosesseja sotkemasta toistensa tai käyttöjärjestelmän toimintaa. Pienissä sulautetuissa järjestelmissä ei oikeuksien erilaisuus ole useinkaan tarpeen tai edes haluttua. Tämä johtuu siitä, että järjestelmät ovat luonteeltaan suljettuja, eli järjestelmään ei käyttäjä tuo omia ohjelmiaan, vaan koko järjestelmä on sen toimittajan vastuulla ja hallinnassa. Vaikka jotkin ympäristöt kuten esimerkiksi jo edellä mainittu Symbian-ympäristö sallivat kolmannenkin osapuolen ohjelmistojen käytön järjestelmässä, tällainen ratkaisu on yleisesti ottaen harvinainen. Niinpä tilajärjestelmäkään ei ole sulautetuissa järjestelmissä välttämätön ominaisuus, eikä sitä aina hyödynnetä muistinkulutukseen ja suorituskykyyn liittyvistä syistä. Tilajärjestelmään liittyy oikeuksien lisäksi myös mahdollisuus useampaan rekisterisarjaan. Esimerkiksi käyttäjän tilassa voi olla käytössä toiset rekisterit kuin käyttöjärjestelmän tilassa. Tästä ominaisuudesta on hyötyä nopean keskeytysvasteen aikaansaamisessa. Jos järjestelmässä on vain yksi tila, on aina ennen varsinaista keskeytyskäsittelyä talletettava keskeytyskäsittelyssä tarvittavat rekisterit. Mikäli keskeytys vaihtaa tilaa, ja tilanvaihto vaihtaa rekisterisarjan, voidaan keskeytys käsitellä tallettamatta käyttäjätilan rekistereitä.

5 34 Sulautettu ohjelmointi Tämä ajatus voi johtaa monitasoiseen tilajärjestelmään. Esimerkiksi ARM-suorittimessa, jota käytetään laajasti erilaisissa mobiililaitteissa, on peräti seitsemän tilaa. Joissain suorittimissa rekisterisarjat ovat kaikki täydellisiä, eli joka sarjassa on kopiot kaikista rekistereistä. Koska rekistereitä on nykykoneissa usein runsaasti, riittää käytännössä moniin tarpeisiin se, että vain osa rekistereistä on monistettu. Yksinkertaisimmillaan tämä voi olla pelkkä pinorekisteri tai tilasana ja ohjelmalaskuri. Samankaan suorittimien kaikki tilat eivät välttämättä saa samansuuruista "omaa" rekisterisarjaa, vaan eri tiloille on arvioitu erilaiset tarpeet. Aiemmin mainitussa ARM-suorittimessa on tehty juuri näin. 2.4 Keskeytysjärjestelmä Keskeytys on laitteistonläheisen ohjelmoinnin keskeinen käsite. Keskeytys siirtää ohjelman suorituksen jatkumaan edeltä määrätystä muistipaikasta, jota kutsutaan keskeytyskäsittelijäksi. Erilaisten ympäristöjen keskeytysjärjestelmät poikkeavat toisistaan, mutta perusperiaatteet ovat melko samantapaisia. Keskeytykseen liittyy kiinteästi keskeytysvektorin käsite, joka yksinkertaisuudessaan muodostuu keskeytyskäsittelijöiden muistiosoitteista Keskeytyksistä yleensä Keskeytyksen aiheuttaja voi olla virheellinen muistiviite tai käsky, ohjelmoitu keskeytys eli käyttöjärjestelmän palvelupyyntö tai ulkoinen, oheislaitteen aiheuttama keskeytys. Neljäs keskeytyksen muoto on käynnistys, joka ei tietenkään keskeytä mitään normaalioloissa, vaan huolehtii siitä, että suoritin aloittaa suorituksen järkevästä paikasta. Käynnistyksestä on usein kaksi versiota: niin sanottu kylmäkäynnistys ja käynnistys lämpimänä. Näihin palataan myöhemmin. Ohjelmavirhekeskeytys voi tulla, mikäli viitataan olemattomaan tai virheelliseen muistiosoitteeseen, yritetään suorittaa virheellistä (tai olematonta) käskyä tai yritetään suorittaa etuoikeutettua käskyä, vaikka suoritin on käyttäjän tilassa. Läsnäolokeskeytys virtuaalimuistin yhteydessä voidaan lukea tähän ryhmään, koska vasta ytimen tietorakenteista lopullisesti selviää, onko kyseessä laiton osoite vai sivu, jota ei ole keskusmuistissa 3. Ohjelmavirhekeskeytykseen reagoidaan heti sen tul- 3. Koska sulautetuissa järjestelmissä ei yleensä ole virtuaalimuistia, läsnäolokeskeytystä ei käsitellä tämän enempää.

6 Laitteistorajapinta 35 lessa, eikä muiden keskeytysten tapaan vasta sitten, kun käsky on suoritettu loppuun. Koska sulautetuissa järjestelmissä ohjelmistojen pitäisi olla valmiiksi testattuja, ohjelmavirhekeskeytys on aina vakavan virheen merkki. Sen tullessa on usein vaikeaa jatkaa toimintaa järkevästi, ja usein sen tuleminen aiheuttaa järjestelmän käynnistämisen uudestaan tai ainakin virheen aiheuttaneen prosessin poistamisen järjestelmästä. Ohjelmoitu keskeytys on yleensä palvelupyyntö käyttöjärjestelmälle. Vaikka reaaliaikajärjestelmissä pyritään tehokkuussyistä kutsut tekemään aliohjelmakutsuina, on ohjelmallinen keskeytys usein nopein tapa tallettaa prosessin ympäristö eli suorittimen sisäiset muistipaikat (suorittimen tilasana, ohjelmalaskuri, rekisterit ja niin edelleen). Mikäli järjestelmässä on käytössä etuoikeutettu tila (supervisor, executive, kernel) ja käyttäjän tila (user), vain ohjelmallisella keskeytyksellä voidaan siirtyä käyttäjän tilasta etuoikeutettuun tilaan. Ulkoinen keskeytys tulee suorittimen ulkopuoliselta oheislaitteelta. Määritelmästä huolimatta mikrokontrollerien sisäiset oheislaitteet lasketaan tähän luokkaan. Laite generoi keskeytyksen, kun se tarvitsee suorittimen "huomiota". Käsittelemme tätä tapausta hieman tarkemmin seuraavissa kohdissa. Kun suoritin käynnistetään, pidetään sen alustuslinjaa (reset) yleensä hieman aikaa alhaalla, jotta suorittimen sisäinen tila ehtii rauhoittua. Kun alustuslinja sitten sallii suorittimen varsinaisen toiminnan, alkaa suoritus hyvin samalla tavalla kuin yleensä keskeytyksessä alustuksen keskeytysvektorin kautta, mutta suorittimen tilaa ei talleteta muistiin Ulkoiset keskeytykset Ulkoisen keskeytyksen aiheuttaa jokin oheislaite silloin, kun se tarvitsee suorittimen huomiota. Tavallisesti kyse on siitä, että laite on saanut tehtyä sille annetun tehtävän, mutta aina tilannetta ei voi tulkita näin. Esimerkiksi usein aikavalvontaa vaativissa järjestelmissä vahtikoiralaitteen tehtävänä on alustaa suoritin uudestaan, mikäli ohjelmallisesti ei tarpeeksi usein käydä huolehtimassa siitä, että vahtikoira pysyy hiljaa. Vahtikoiran (watch dog) aiheuttamaa keskeytystä ei voi kieltää, ja se voi olla jopa suoraan kytkettynä alustuskeskeytykseen reset.

7 36 Sulautettu ohjelmointi Toiminta keskeytyksen tullessa Keskeytyksen tultua toimintaperiaate on pääpiirteissään seuraava: 1. Talletetaan keskeytyspalvelussa tarvittavat rekisterit, mikäli näin ei ole tehty laitteistolla automaattisesti. 2. Selvitetään keskeytyksen syy, mikäli laitteisto ei ole tästä jo huolehtinut. 3. Suoritetaan keskeytyksen edellyttämät toimenpiteet ja kuitataan keskeytys. 4. Palautetaan ohjelmallisesti talletetut rekisterien arvot ja palataan keskeytyksestä. Viimeisen kohdan asemesta voidaan siirtyä myös vuorontajaan (scheduler), jos sellainen laitteen ohjelmistossa on. Vuorontaja puolestaan voi valita myös jonkin muun prosessin suoritukseen. Prosessia ei kuitenkaan välttämättä aina vaihdeta tai edes tarkisteta, tulisiko vaihtaa itse asiassa aina ei edes ole prosesseja, joita ylipäätään voisi vaihtaa. Keskeytyksestä palattaessa laitteisto palauttaa paluukäskyn yhteydessä ne tiedot, jotka se keskeytykseen mennessä automaattisesti talletti. Mikäli ohjelmallisesti on talletettu enemmän, tulee näiden tietojen palautus olla ennen paluuta keskeytyksestä Keskeytyksen havaitseminen Ulkoiseen keskeytykseen reagoidaan tyypillisesti kahden käskyn välissä. Vain muistiosoituksen yhteydessä tulleet virheet aiheuttavat käskyn välittömän keskeyttämisen. Joihinkin erittäin pitkiin CISC 4 -tyyppisiin konekäskyihin on voitu tehdä kohtia, joissa käsky voidaan kesken sen suorituksen keskeyttää. Keskeytys voi olla reunaherkkä, eli se aktivoituu keskeytyslinjan arvon muutoksessa. Muutoksen suunta voi olla merkitsevä, eli vain muutos nollasta ykköseksi huomataan tai päinvastoin. Keskeytys voi olla myös tasoherkkä, jolloin keskeytyslinjan tila määrää, onko keskeytys vireessä. Varsinkin jälkimmäisessä tapauksessa keskeytys on muistettava kuitata ennen keskeytyskiellon poistamista, koska muuten oheislaite keskeyttää välittömästi uudelleen. Keskeytyksen kuittaaminen voi tarkoittaa oheislaitteen tilarekisterin lukua, ohjausrekisterin kirjoitusta tai datarekisterin lukua tai kirjoitusta. 4. Complex Instruction Set Computer

8 Laitteistorajapinta 37 Mikäli eri keskeytyksiä tulee yhtä aikaa, ratkaisee palveltavan keskeytyksen suorittimen sisään langoitettu prioriteettijärjestys. Tämä sisäinen prioriteetti näkyy taulukossa 2.2 siten, että mitä ylempänä laitteen keskeytysvektori on, sitä suurempi sen prioriteettikin on. Saman keskeytyksen aiheuttajan selvittämisestä on tarkemmin seuraavassa kohdassa Keskeytyksen palveleminen Keskeytyksen tullessa ensimmäiset toimet tapahtuvat laitteistotasolla. Ensimmäiseksi talletetaan ainakin ohjelmalaskuri ja tilaliput jonnekin, yleensä pinoon. Toinen vaihtoehto on vaihtaa käytössä oleva rekisteripankki (kuten kohdassa 2.3 esitettiin). Paluuosoitteen tallennuksen ohella kielletään vastaavantasoiset muut keskeytykset. Keskeytyskielto ei välttämättä ole ehdoton, vaan jokin kiireellisempi keskeytys voidaan yhä sallia. Tämän jälkeen siirrytään keskeytyspalvelurutiiniin, jonka alkuosoite (tai ensimmäinen suoritettava käsky) löytyy keskeytysvektorista. Kuten edellä kuvattiin, hypätään keskeytysvektorin kautta haluttuun keskeytyskäsittelijään. Tyypillinen pienen kontrollerin keskeytysvektori on kuvattu taulukossa 2.2. Taulukko 2.2: Pienen koneen keskeytysvektori (MC68HC11) Osoite Nimi Kommentti FFFE reset Alustusrutiinien alkuosoite FFFC clock monitor fail Vahtikoira epäonnistui FFFA watchdog Vahtikoira FFF8 illegal opcode Laiton käskykoodi FFF6 software interrupt Ohjelmistokeskeytys FFF4 XIRQ Ulkoinen keskeytys, ei estettävissä FFF2 IRQ Ulkoinen keskeytys, estettävissä FFF0 RTII Reaaliaikakeskeytys

9 38 Sulautettu ohjelmointi Taulukko 2.2: Pienen koneen keskeytysvektori (MC68HC11) Osoite Nimi Kommentti FFC0-FFEE - Sisäisten toimilaitteiden keskeytyksiä V cc IRQ R 1 suoritin FIRQ V cc R 2 laite 0 laite 1 laite 2 laite 3 Kuva 2.2 Ohjelmisto tunnistaa yhteiseen keskeytyslinjaan liittyvän laitteen Oikea keskeytysvektori löytyy joko keskeytykseen langoitetusta osoitteesta tai keskeyttävältä laitteelta saadusta keskeytysvektorin arvosta. Pienissä suorittimissa on usein ulkoinen keskeytyslinja, jonka avulla oheislaitteet voivat ilmaista halunsa keskeyttää, mutta eivät pysty laitteistotasolla identifioimaan itseään keskeytyslinjaa tarkemmin. Ohjelmisto tunnistaa keskeyttäjän Tyypillinen pienen suorittimen kytkentä on esitetty kuvassa 2.2 Siinä laitteet 0-2 on liitetty yhteiseen keskeytyslinjaan IRQ (interrupt request). Viiva linjan nimen päällä kertoo, että linja on loogisesti invertoitu. Toisin sanoen linjan arvo 1 tarkoittaa, että keskeytyspyyntöä ei ole ja 0, että jokin laite pyytää keskeytystä. Monta laitetta voidaan kytkeä yhteen linjaan siksi, että mikään laitteista ei yritä syöttää linjalle ykköstä ykkösen syöttämisestä huolehtii kuvaankin merkitty vastus

10 Laitteistorajapinta 39 R 1 suoraan käyttöjännitteestä V cc. Mikä tahansa laitteista pystyy pudottamaan linjan jännitteen alas, jolloin signaaliksi tulee 0, joka tarkoittaa siis keskeytyspyyntöä. Koska laitteisto ei pysty ilmaisemaan suorittimelle, mikä laitteista keskeytti, tulee keskeytyskäsittelyn aluksi ohjelmallisesti käydä tarkistamassa, mikä (tai mitkä) oheislaitteista aiheutti keskeytyksen. Ohjelmallinen tarkistus tarkoittaa siis sitä, että ohjelmisto käy lukemassa kunkin oheislaitteen tilarekisterin ja tulkitsee sen biteistä, halusiko laite keskeytystä vai ei. Jokin nopeaa vasteaikaa vaativa laite voidaan kytkeä myös linjaan FIRQ eli nopeaan keskeytyslinjaan (fast interrupt request). Nopeus tavalliseen keskeytykseen saadaan yleensä siitä, että tämä keskeytys menee läpi, vaikka laite olisi palvelemassa tavallista keskeytystä. Lisäksi nopeutta on voitu saada siitä, että FIRQ voi tallettaa vähemmän rekistereitä, mikä nopeuttaa vasteaikaa. Myös tässä linjassa voi olla monta laitetta, mutta tämä on joissain määrin ristiriidassa nopean käsittelyn kanssa. Toisaalta FIRQ:n käytön takana ei välttämättä ole laitteen nopea vasteaikatarve, vaan vain se, että yhteen keskeytyslinjaan ei tulisi liian monta laitetta ja keskeyttävän laitteen löytäminen olisi ohjelmallisesti nopeampaa. Kuvassa olevien keskeytyslinjojen lisäksi on usein olemassa vielä sellainen keskeytyslinja NMI (non-maskable interrupt tai vastaava), jolta tulevaa keskeytystä ei voi kieltää. Tätä ei saisi koskaan käyttää minkään laitteen normaalina keskeytyslinjana, vaan ainoastaan erikoistilanteissa. Edellä kuvatut ratkaisut ovat pienten suorittimien ratkaisuja. Yleensä keskeytysjärjestelmä on kehittyneempi. Laitteisto tunnistaa keskeyttäjän Laitteisto ja kytkentä on tässä tapauksessa samantapainen kuin edellisessä tapauksessa. Ratkaiseva ero on IACK-linja (interrupt acknowledged) tai vastaava (katso kuva 2.3), joka kertoo suorittimen vastaavan keskeytyspyyntöön. Olennaista on, että tämä linja kulkee oheislaitteiden kautta ketjussa. Kun suoritin ilmoittaa vastaavansa keskeytykseen, ketjussa ensimmäinen laite tarkistaa, onko se itse keskeyttänyt. Mikäli ei ole, se välittää signaalin eteenpäin, muussa tapauksessa se antaa dataväylän kautta oman keskeytysvektorinsa osoitteen suorittimelle. Suoritin hyppää sitten tämän keskeytysvektorin alkion kautta oikeaan keskeytyskäsittelijään. Oheislaitteelle sen keskeytysvektori

11 40 Sulautettu ohjelmointi suoritin IRQ IACK laite 0 laite 1 laite 2 Kuva 2.3 Laitteisto tunnistaa yhteiseen keskeytyslinjaan liittyvän laitteen määritellään yleensä laitteen alustusvaiheessa ohjelmallisesti, mutta joskus myös langoituksella tai laitekytkimillä. Myös keskeytyslinja voi kulkea samaan tapaan kuin IACK oheislaitteiden läpi kuten kuvassa 2.3 on esitetty. Tässä keskeytystavassa sillä laitteella, joka on ketjussa lähimpänä suoritinta, on korkein prioriteetti. Priorisoitu keskeytys Suuremmissa suorittimissa keskeytyslinjan tilalla voi olla väylä, jolla voidaan ilmaista eri keskeytystasot vaikkapa välillä 0 7. Rakenne on samankaltainen kuin kuvassa 2.3, mutta IRQ-linjan asemesta laiteilta tulee esimerkiksi kolmibittinen numerotieto keskeytyksen tasosta. Keskeytystaso 7 on korkein, ja taso nolla tarkoittaa, että keskeytystä ei ole tulossa. Mikäli suorittimen keskeytystaso on alempi kuin mitä väylältä tulee, se hyväksyy keskeytyksen. Mikäli suorittimen keskeytystaso on suurempi, keskeytystä ei päästetä läpi. Suoritin vastaa keskeytykseen kuten edellä. Se voi siis lähteä ohjelmallisesti etsimään keskeyttänyttä laitetta, mutta todennäköisempää on IACK-linjan tai vastaavan käyttö. Kummassakin ratkaisussa on vain huolehdittava siitä, että keskeytykset kysellään laitteilta oikeassa järjestyksessä eli korkein keskeytys on listassa tai ketjussa ensimmäisenä. Huomata sopii, että tässäkin voidaan yhdelle prioriteettitasolle asettaa useita laitteita Esimerkkejä keskeytysjärjestelmistä Mikrokontrollereissa on tyypillistä, että jokaiselle sisäänrakennetulle laitteelle on oma keskeytysvektorin arvo valmiina. Tämä näkyy sivun

12 Laitteistorajapinta taulukossa 2.2. Näille laitteille on niiden keskinäinen prioriteetti määrätty jo suunnitteluvaiheessa, eikä sitä voi ohjelmallisesti muuttaa. Näiden sisäisten laitteiden lisäksi on mahdollista liittää kontrolleriin ulkoisia keskeytyksiä edellä kuvatulla tavalla. ARM-suorittimessa hidas (IRQ, Interrupt ReQuest) ja nopea (FIQ, Fast Interrupt request) keskeytys ovat ulkoisia laitteistokeskeytyksiä. Näiden lisäksi suorittimessa on SVC-keskeytys, Abort-keskeytys muistivirheitä varten ja Undef-keskeytys virheellisiä käskyjä varten. Jokaisella keskeytystyypillä on oma tilansa, johon suoritin siirtyy keskeytyksen tullessa (user, _fiq, _irq, _abt, _svt ja _und; näiden lisäksi on järjestelmän etuoikeutettuja prosesseja varten tila system). Oikeuksien kannalta kaikki muut kuin user-tila vastaavat etuoikeutettua tilaa. Muilla kuin system-tilalla (joka käyttää user-tilan rekistereitä) on joitain omia rekistereitään: SPSR (Saved Program Status Register), johon talletetaan keskeytyksen tullessa suorittimen tilasana CPSR, sekä rekisterit R13 ja R14. Jälkimmäiseen näistä talletetaan paluuosoite keskeytyksestä poistumista varten. Rekisteri R13 taas on pinorekisteri, joka tulee alustaa käynnistysvaiheessa joka tilalle erikseen. Kun keskeytys oli se sitten mikä tahansa keskeytys tulee, talletetaan suorittimen tilasana keskeytystilan rekisteriin SPSR (Saved Program Status Register), PC talletetaan keskeytystilan rekisteriin R14, ja kielletään keskeytykset. Hitaan ja nopean keskeytyksen ero käsittelyssä on, että vain FIQ kieltää FIQ:n, mutta kaikki keskeytykset kieltävät IRQ:n. Keskeytysrutiinin tulee tallettaa käyttämänsä käyttäjän rekisterit pinoon tai jonnekin muualle talteen käytön ajaksi. Nopean keskeytyksen (FIQ) tekee nopeaksi se, että sillä on käytettävissä omat kopiot rekistereistä Mikäli nämä viisi rekisteriä riittävät keskeytyksen käsittelyyn, ei käyttäjän rekistereitä tarvitse tallettaa, jos prosessi ei keskeytyksen seurauksena vaihdu. Juuri nämä kopiorekisterit tekevät keskeytyksestä nopean Suorittimen alustus Suorittimen käynnistys tapahtuu RESET-linjan avulla. Tämä linja toimii muuten keskeytyksen tavoin, mutta se ei talleta keskeytyksen tullessa suorittimen tilaa mihinkään, vaan siirtyy suoraan keskeytysvektorin kautta suorittamaan alustustoimenpiteitä. Kun järjestelmään laitetaan sähköt päälle, kestää hieman aikaa, ennen kuin käyttöjännite asettuu. Tämän takia RESET-linjaa pidetään

13 42 Sulautettu ohjelmointi tarkoituksellisesti ulkoisella elektroniikalla hieman aikaa alhaalla ennen kuin suorittimen annetaan alkaa alustusrutiininsa. Koska RESET-linja voidaan johdottaa kaikille oheislaitteille, myöskään oheislaitteet eivät ala suorittaa omaa alustustaan, ennen kuin linja on noussut ykköseksi. Tästä taas seuraa se, että liityntäpiirien ulostulot ovat joko satunnaisessa tai korkeaimpedanssisessa tilassa ennen kuin suoritin saa alustettua ne. Mikäli ulkoinen elektroniikka ei ota tätä huomioon, laite voi käynnistyessään tehdä vaarallisia tai ainakin ei-toivottuja toimintoja. Kun sähköt laitetaan päälle, RESET-linja alustaa kaikki laitteet, joten muistinhallinta ja vastaavat järjestelmät lähtevät oletustilasta. Huomionarvoista on, että tällöin laite käynnistyy aina alustusmuistista ("boottiprommilta"). Aivan pienimmissä ja primitiivisimmissä sulautetuissa järjestelmissä ei välttämättä mitään muuta olekaan, mutta vähänkin monimutkaisemmissa järjestelmissä usein tämän jälkeen varsinainen suoritettava ohjelma luetaan massamuistista tai hitaammalta lukumuistilta (esimerkiksi flash-rom) keskusmuistiin. Tämän jälkeen suorittimissa voidaan keskeytysvektorin alkuosoite määrätä uudelleen. Näin saadaan keskeytykset ohjattua varsinaisen ohjelmiston keskeytysrutiineihin. Uudelleenohjaus tapahtuu myös RESET-keskeytykselle, joten laitteen ollessa käynnissä ("lämpimänä") reset voi toimia eri tavalla kuin "kylmänä" käynnistettäessä. Tämä selittää sen, miksi RESET-linjan käyttö ei aina saa toivottua koko järjestelmän täyskäynnistystä aikaiseksi. 2.5 Oheislaiteliittymät Oheislaitteita ohjataan tila-, ohjaus- ja datarekisterien avulla. Nämä rekisterit voidaan sijoittaa joko normaaliin muistiavaruuteen tai erilliseen IO-avaruuteen. Mikäli rekisterit ovat muistiavaruudessa, niihin viitataan käyttämällä normaaleja muistiviittauksia. Erillisessä IO-avaruudessa oleviin rekistereihin viitataan erityisillä IO-käskyillä. Jatkossa oletamme ensimmäisen vaihtoehdon, eli rekisterit ovat osa muistiavaruutta Muistutus terminologiasta: osoiteavaruus on suorittimen loogisesti näkemä muisti ennen muistinhallintaa. Muistiavaruus on todellinen, käytössä oleva muisti.

14 Laitteistorajapinta Oheislaitteiden ohjaamisesta Oheislaite voi itsessään olla hyvinkin monimutkainen kokonaisuus, jota ohjaa sen oma suoritin. Äärimmäisessä tilanteessa oheislaitteessa voi olla huomattavasti enemmän laskentatehoa on varsinaisessa suorittimessa. Toisessa ääripäässä oheislaitteena toimii jokin kellotettu puskuripiiri, josta voidaan vain lukea se arvo, joka siihen on viimeksi talletettu. Riippumatta laitteen monimutkaisuudesta sitä ohjataan ohjaus-, tila- ja datarekisterien avulla, mutta näitä kaikkia ei aina tarvita. Ohjausrekistereillä annetaan laitteistolle komentoja (lue tieto, muunna syöte digitaaliseksi ja niin edelleen). Ne voivat olla vain kirjoitettavia rekistereitä. Tilarekistereillä voidaan kysyä laitteen tilatietoja (onko laite valmis, mikä oli tapahtuneen virheen tarkempi syy ja niin edelleen). Tilarekisteri voi olla vain luettava rekisteri. Muistiavaruuden säästämiseksi on tila- ja ohjausrekisterit voitu laittaa samaan muistipaikkaan, jolloin lukeminen ohjautuu tilarekisteriin ja kirjoitus ohjausrekisteriin. Tämä on syytä pitää mielessä, mikäli ohjausrekisteriä ohjataan siten, että sen yksittäisiä bittejä nostetaan ja lasketaan. Esimerkiksi lauseen ohjaus = ohjaus KESKEYTYS_BITTI; tarkoitus on asettaa keskeytykset salliva bitti, mutta jättää ohjausarvo muuten koskemattomaksi. Jos tilarekisteri on samassa osoitteessa, uudeksi ohjausarvoksi tulisi tilarekisterin sisältö siten, että ohjausrekisterin keskeytysbitti olisi asettuneena. Koska tilarekisterin formaatilla ei ole mitään tekemistä ohjausrekisterin formaatin kanssa, tulos on arvaamaton. Mikään ohjelmointikielitasolla tapahtuva temppuilu ei auta, eli ohjaus = KESKEYTYS_BITTI; toimii täsmälleen samalla tavalla. Korjaus on tallettaa vanha arvo muistipaikkaan: ohjaus_talle = KESKEYTYS_BITTI; ohjaus = ohjaus_talle; Mikäli rekisteriä voi lukea normaalisti, näitä ongelmia ei tietenkään tule. Ohjausrekisterillä voidaan antaa varsinaisia käskyjä, mutta myös määrätä, missä tilanteissa laite keskeyttää ja miten, jos ollenkaan (sitä itse asiassa yllä olevassa esimerkissä tehtiin). Keskeyttäminen tapahtuu

15 44 Sulautettu ohjelmointi keskeytyslinjan avulla, ja vaikka oheislaite päättäisikin keskeyttää, voi suoritin vielä itse sallia tai kieltää keskeytykset Suora muistisiirto Monet monimutkaisemmat tai ainakin suurempia tietomääriä siirtävät oheislaitteet hoitavat tiedon siirron muistiin itse ohi suorittimen. Vaihtoehtona on suorittimen keskeyttäminen ja tiedon siirto suorittimen avulla. Tällöin suoritin lukisi tiedon oheislaitteen datarekisteristä omaan rekisteriinsä ja sieltä sitten tallettaisi sen keskusmuistiin (tai toisinpäin, riippuen tiedon suunnasta). Selvästikään suurille tietomäärille tämä ei ole järkevää, sillä tieto kulkee tässä mallissa dataväylällä kahteen kertaan. Ratkaisu on suora muistisiirto, DMA, direct memory access. Tällöin toiminta on pääpiirteissään seuraava (niin sanottu lohkomoodi): 1. Ennen siirtoa DMA-ohjaimelle kerrotaan, mihin muistiosoitteeseen (tai mistä muistiosoitteesta) ja miten suuri lohko siirretään. 2. Siirto aktivoituu, eli laite lähettää DMAREQUEST-signaalin DMA-ohjaimelle. 3. DMA-ohjain pyytää väylien käyttöoikeutta suorittimelta (BR, bus request). 4. Suorittimen päästyä sopivaan tilaan se vastaa signaalilla BG (bus grant) ja lopettaa väylien ohjaamisen. 5. DMA-ohjain asettaa osoitteen väylälle ja antaa muistille joko luku- tai kirjoituskäskyn riippuen tiedon suunnasta. Samalla se ilmoittaa oheislaitteelle DMAACK-linjalla, että oikea osoite on väylällä. 6. Oheislaite joko kirjoittaa tiedon väylälle tai lukee sen sieltä riippuen tiedon siirron suunnasta. 7. DMA-ohjain kasvattaa osoitetta, vähentää tavulaskuria ja jatkaa kohdasta 5, jos siirrettävää vielä on. Mikäli siirrettävä loppui, se luovuttaa väylät takaisin suorittimelle laskemalla BR-signaalin ja aiheuttaa keskeytyksen. Siirron aikana suoritin ei voi tehdä mitään, mikä käsittelee muistia. Se voi suorittaa sen välimuistissa olevaa ohjelmaa, mikäli tarvittavat tiedot ovat rekistereissä, mutta jos siirrettävänä on suuri lohko, on todennäköisempää, että se odottaa väylien vapautumista. Tämän takia DMAohjain voidaan ohjelmoida siirtämään esimerkiksi 4 16 sanaa kerrallaan ja luovuttamaan väylät takaisin suorittimelle.

16 Laitteistorajapinta 45 DMA voi toimia myös "varastamalla" muistijaksoja suorittimelta. Tällöin siirto tapahtuu sana kerrallaan aina sellaisessa tilanteessa, jossa suoritin ei voi muistia käyttää. DMA-ohjaimessa on yleensä useita kanavia, jotta se pystyy ohjaamaan monen laitteen tarvitsemia siirtopyyntöjä. Kullakin kanavalla on omat DMAREQUEST- ja DMAACK-signaalinsa sekä väylää ohjaavat rekisterit. 2.6 Yksinkertaisia oheislaitepiirejä Seuraavaksi esitellään joitakin yleisiä yksinkertaisia oheislaitepiirejä. Näitä ovat rinnakkaisliityntäpiirit (PIO, Parallel Input / Output), sarjaliityntäpiirit (SIO, Serial Input / Output), ajastinpiirit (timer), analogiadigitaalimuunnin (AD-converter) ja digitaali analogiamuunnin (DAconverter). Erilaiset väyläohjauspiirit ovat myös paljon käytettyjä, mutta niitä ei esitellä tässä. Oheispiiri voi olla myös juuri kyseessä olevaa ongelmaa varten tehty (codesign, ASIC). Kustannusten säästämiseksi on moniin pienimpiin sovelluksiin käytettäviin suorittimiin rakennettu sisään yleisimpiä liityntäpiirejä. Tällaisia ovat esimerkiksi MC68HC11- ja 8051-sarjan suorittimet 6, mutta suuntaus näyttää olevan, että yhä monimutkaisemmista suorittimista tulee myös tällaisia versioita. Näistä suorittimista (eli niin sanotuista mikrokontrollereista) on yleensä saatavilla useita versioita varustettuina erilaisin oheislaittein ja sisäisin muistein. Tietyssä mielessä aikaa ajaa näidenkin ohi, sillä on saatavissa suorittimia, joille voidaan ohjelmoida halutut oheislaitteet (FPGA, field programmable gate array). Toiminta voi olla jopa sellainen, että laitteen rakennetta voidaan vaihtaa ajoaikana, mutta tyypillisempää on, että kerran tehty ohjelmointi on pysyvä. Itse asiassa FPGA:lla voidaan nykyään toteuttaa myös itse suoritin (piirille voi mahtua näitä kymmeniä) ja valita se tai ne ja niiden väliset kytkennät juuri sovellukselle sopivaksi Rinnakkaisliityntä Rinnakkaisliityntäpiireissä on tyypillisesti kaksisuuntaisia liityntöjä, joiden suunta on ohjelmoitavissa joko porteittain (portti on yleensä yksi 6. Mainitut suorittimet ovat rakenteeltaan vanhoja (HC11 vuodelta 1985 ja 8051 vuodelta 1980). Niitä tai niiden paranneltuja versioita käytetään yhä pienimmissä sovelluksissa.

17 46 Sulautettu ohjelmointi tavu) tai biteittäin. Lisäksi piirissä voi olla kellotusta varten ohjauslinjoja, joiden avulla voidaan aiheuttaa myös keskeytys. Esimerkki: Mikrokontrolleri MC68HC811E2:n rinnakkaisliityntäportit B ja C. Portti B on ainoastaan ulostuloportti, mutta C-portin eri bittien suuntaa voidaan ohjata ohjelmallisesti. Porttien sisältöä ja suuntaa ohjataan seuraavien osoitteiden kautta: osoitteessa on C-portin sisältö (luetut arvot) osoitteessa on B-portin asetettu arvo osoitteessa on C-portin kellotettu arvo osoitteessa on C-portin bittien suunta (joka bitille erikseen). Porttien muita toimintoja voidaan ohjata tila-ohjausrekisterin ( ) avulla. Sen avulla voidaan määrätä tai selvittää muun muassa ovatko C-portin ulostulot normaaleja vai ei (langoitus, wired or) kellotetaanko C-portin sisääntulo STRA-signaalilla vai ei kellotetaanko STRB-signaalia, kun kirjoitetaan porttiin B vai ei aiheutuuko STRA-signaalista keskeytys vai ei tai onko STRA-signaali tullut. Lisäksi voidaan todeta, että jos C-portti kytketään B-porttiin ja päinvastoin, saadaan kaksisuuntainen 8-bittinen siirtoväylä, jota kellotetaan STRA ja STRB:n avulla. Tämä mahdollisuus selittää lähinnä porttien toimintalogiikkaa, käytännössä näin tuskin tehdään. Nämä portit voidaan käyttää myös osoite- ja datalinjoina, mikäli suorittimen sisäinen muisti ei riitä. Tällöin luonnollisesti menetetään rinnakkaiskäytön mahdollisuus Sarjaliityntäpiirit Sarjaliityntäpiirit ovat kaksisuuntaisia, ja ne voidaan ohjelmoida aiheuttamaan keskeytys merkin saavuttua tai kun se on lähetetty. Tyypillisesti ne lähettävät tai vastaanottavat merkin (tavun) kerrallaan, mutta niissä voi myös olla sisäänrakennettu puskuri, jolloin piirille voidaan siirtää tietoa tavua suuremmissa kokonaisuuksissa. Tarkastellaan esimerkkinä seuraavassa MC68HC811E2:n sarjaliityntäpiiriä. Piirin datarekisteri on osoitteessa 103F 16. Sama osoite on käytössä sekä lähtevälle että tulevalle datalle. Onko kyseessä kirjoitusvai lukurekisteri päätellään siitä, kirjoitetaanko vai luetaanko rekisteri. Piirin ohjausrekisteri SCCR1 osoitteessa 102C 16 määrää lähetettävän merkin pituuden ja muut vastaavat asiat, ja ohjausrekisteri SCCR2 (102D 16 ) ohjaa keskeytyksiä. Lisäksi on vielä tilarekisteri SCSR osoit-

18 Laitteistorajapinta 47 teessa 102E 16, jonka avulla voidaan kysyä ovatko rekisterit tyhjiä tai täynnä, virhelippujen arvot ja niin edelleen. Nopeus voidaan asettaa rekisterin BAUD (102B 16 ) avulla. Sarjaliitynnän nopeus on asetettavissa 300 bitistä 38,4 kilobittiin. Mikäli käytetään ulkoista sarjaliityntäpiiriä, se voi vaatia erillisen kellosignaalin, jonka saa tuotettua esimerkiksi ajastimella Ajastinpiirit Ajastinpiirit ovat monimutkaisimpia perusliityntäpiirejä. Ne ovat tavallisesti 16-bittisiä laskureita, joiden avulla voidaan laskea pulsseja generoida pulsseja, joiden taajuus ja leveys voi vaihdella jakaa taajuutta ja generoida keskeytyksiä, kun niissä olevaa lukua on vähennetty nollaan asti tai kasvatettu annettuun raja-arvoon. Ajastinpiirejä käytetään muun muassa kellokeskeytysten generointiin, vahtikoirina ja erilaisina laskureina ja pulssigeneraattoreina. Ajastin voi toimia sekä syöttö- että tulostuslaitteena A/D-muunnin Analogia-digitaalimuunnin konvertoi analogisen jännitesignaalin digitaaliseksi arvoksi, tyypillisesti 8-, 10-, tai 16-bittiseksi luvuksi. Tietyissä tehtävissä bittejä tarvitaan vielä tätäkin enemmän. Muunnin toimii joko jatkuvasti, jolloin lukemalla sen datarekisteriä saadaan viimeksi konvertoitu arvo tai sitten siten, että konversiota pyydetään ohjelmallisesti, ja piiri keskeyttää tai ilmoittaa tilalipulla, kun konversio on valmis. Muuntimen nopeus määrää maksiminäytteenottotaajuuden, joka muun muassa äänisovelluksissa on bittimäärän lisäksi hyvin tärkeä osa saadun signaalin laatua. A/D-muunnin on syöttölaite D/A-muunnin Digitaali-analogiamuunnin muuttaa digitaalisen arvon analogiseksi jännitteeksi. Laitteena se on harvinaisempi kuin A/D-muunnin. Muunnin koodautuu tyypillisesti yhdeksi muistipaikaksi, eikä se tarvitse (välttämättä) ohjaus- tai tilarekistereitä. Laite voi kuitenkin tarvittaessa ilmoittaa, milloin konversio on valmis. Laite on tulostuslaite.

19 48 Sulautettu ohjelmointi Muutamia yleisiä huomioita Elektroniikan ohjaus tapahtuu siis jonkin oheispiirin välityksellä. Yleensä ohjaaminen ei sinänsä ole vaikeaa, kunhan laite on tuttu. Valitettavasti uudenlaiseen laitteeseen tutustuminen voi viedä melkoisesti aikaa. Edes saman valmistajan piirit eivät välttämättä muistuta kovin paljoa toisiaan, joten tutustumista riittää. Ongelmana voi olla myös heikohko dokumentointi, jolloin yksityiskohdat täytyy selvittää kokeilemalla. Kuitenkaan kovin suuria ongelmia ei yleensä tarvitse odottaa. Lisäksi kokemus auttaa pikku hiljaa ongelmien ratkomisessa. Pahimmat ongelmat tulevat silloin, jos oheispiiri ei toimikaan odotetulla tavalla. Esimerkki Tellu-mikrohiirestä, joka käsitellään tarkemmin myöhemmin: 8-bittisen koneen tuli lukea 16-bittinen muuttuva luku laskurina toimivalta oheispiiriltä. Kun ensimmäinen tavu on luettu, piirin piti lukita toisen tavun sisältö, jotta arvo ei muuttuisi luvun aikana. Lukitus ei kuitenkaan toiminut, joten kasvavaan sarjaan arvoja tuli kummallisia poikkeamia: 00F9 16, 00FB 16, 00FE 16, , , , Tässä tapauksessa ongelma voidaan ratkaista ohjelmallisesti: palautetaan aina kolmen viimeksi luetun luvun mediaani (siis arvoltaan keskimmäinen), jolloin ylläolevasta sarjasta tulisi seuraava jono (vain viisi arvoa voidaan laskea): 00FB 16, 00FB 16, 00FE 16, , Yhden arvon toistuminen on ainakin tässä tapauksessa paljon pienempi ongelma kuin yksi suuri poikkeama. Vaikka edellä kuvattu ongelma olikin helposti ratkaistu, ratkaisun löytäminen ei ollut niin helppoa kuin sen esittäminen tässä. Yleisesti ottaen tarvitaankin melkoista kekseliäisyyttä, mikäli laitteet eivät toimikaan odotetusti. Itse asiassa edellä oleva ratkaisu on oikeastaan mittaussignaalin käsittelyä, johon palataan myöhemmin luvussa 8. Ohjauksen yhteydessä erityisen ongelmallisia ovat ne tilanteet, jossa ohjelmallisesti voidaan antaa sellainen ohjaus, joka voi vaurioittaa elektroniikkaa tai sen ohjaamaa mekaniikkaa tai ympäristöä. Tällaisen laitteen ohjelmoiminen vaatii paitsi hyvää huolellisuutta myös intensiivistä ja kattavaa testausta. Toinen keskeinen ongelma on järjestelmän käynnistäminen turvallisesti. Kun tietokonelaitteiston RESET-linja on alhaalla, sekä suoritin että oheispiirit ovat perustilassaan. Vasta alustussekvenssin loputtua

20 Laitteistorajapinta 49 oheispiirit antavat järkeviä ohjauksia. Jotta tämä vaihe ei aiheuttaisi ongelmia, tulee alustuksen järjestykseen kiinnittää huomiota, mutta väistämättä osa ongelmaa on hoidettava laitteistolla. Jotta järjestelmän toimivuudesta voitaisiin edes jotenkin varmistua, on elektroniikan testaamiseksi aina tehtävä testiohjelmat: keskeyttääkö laite, ilmoittaako se itse jostain virheestä, vastaako se odotetusti, toimiiko muisti ja niin edelleen. 2.7 Laitteistorajapinta abstraktiona Yleensä laitteistoa ei ohjata niin yksityiskohtaisesti kuin edellä on kuvattu, vaan käytössä on jonkintasoinen käyttöjärjestelmän ydin. Ytimiin palataan luvussa 7. Ydin jaetaan yleensä kahteen tasoon: ylempään, jossa toteutetaan varsinaiset käyttöjärjestelmän ominaisuudet, ja alempaa, joka tarjoaa liittymän laitteistoon. Tähän laitteistoliittymän rajapintaan viitataan yleensä nimellä HAL, Hardware Abstraction Layer. Käyttöjärjestelmä voidaan siirtää laitteistosta toiseen vaihtamalla vain HAL-tason "alapuolella" oleva toteutus vastaamaan uutta laitteistoa. Sen yläpuolella olevaa osuutta ei yleensä tarvitse muuttaa. Muuttaminen ei kuitenkaan ole tavatonta, sillä yleensä mikä tahansa rajapinta hieman "vuotaa", ja tämän takia suuret muutokset laitteistossa voivat näkyä myös HAL-tason yläpuolella. 2.8 Yhteenveto Tietokoneen keskeiset osat ovat: 1. suoritin, jonka osat ovat 1.1. kontrolliyksikkö 1.2. aritmeettis-looginen yksikkö (ALU) 1.3. rekisterit 2. muisti. Tilajärjestelmä koostuu suoritusoikeuksista ja rekisterisarjoista. Keskeytysjärjestelmässä useita erityyppisiä keskeytyksiä: 3. ohjelmavirhekeskeytys 4. ohjelmoitu keskeytys 5. ulkoinen keskeytys 6. käynnistys Oheislaiteliittymät joko rekisterien (ohjaus-, tila- ja datarekisterit) tai suoran muistisiirron (DMA, direct memory access) kautta.

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

Arto Salminen,

Arto Salminen, 2. Luento: Laitteistorajapinta Arto Salminen, arto.salminen@tut.fi Agenda Arkkitehtuuri Keskeytysjärjestelmä Oheislaiteliitynnät Oheislaitepiirejä Arkkitehtuuri Rekisterirakenteet ja keskeytysjärjestelmä

Lisätiedot

1. Keskusyksikön rakenne

1. Keskusyksikön rakenne 1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.

Lisätiedot

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949. Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Käyttöjärjestelmän rakenne

Käyttöjärjestelmän rakenne Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa

Lisätiedot

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan

Lisätiedot

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master) Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä Prosessoriväylä Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master) Suuremmissa erillisiä väyliä Muistiväylä Oheislaiteväylät

Lisätiedot

Luento 5 (verkkoluento 5) Suoritin ja väylä

Luento 5 (verkkoluento 5) Suoritin ja väylä Luento 5 (verkkoluento 5) Suoritin ja väylä Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset 1 Suorituksenaikainen suorittimen ja muistin sisältö muisti suoritin konekäskyjen suorituspiirit,

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

Tietokoneen rakenne: Harjoitustyö. Motorola MC68030 -prosessori

Tietokoneen rakenne: Harjoitustyö. Motorola MC68030 -prosessori kevät 2004 TP02S-D Tietokoneen rakenne: Harjoitustyö Motorola MC68030 -prosessori Työn valvojat: Seppo Haltsonen Pasi Lankinen RAPORTTI 13.5.2004 Sisällysluettelo sivu Tiivistelmä... 1 Lohkokaavio... 2

Lisätiedot

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi 4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia

Lisätiedot

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen rakentamisessa? 2013-2014 Lasse Lensu 2 Transistori yhdessä

Lisätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtävä 2: Tietoliikenneprotokolla Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli

Lisätiedot

Luento 5 (verkkoluento 5) Suoritin ja väylä

Luento 5 (verkkoluento 5) Suoritin ja väylä Luento 5 (verkkoluento 5) Suoritin ja väylä Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset 1 Suoritusaikainen suorittimen ja muistin sisältö muisti suoritin konekäskyjen suorituspiirit,

Lisätiedot

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt

Lisätiedot

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet SISÄLLYS 1 2 3 4 Tietokoneen toimintaperiaate ja käyttö 14 1.1 Mikä tietokone on? 14 1.2 Tieteen ja toimiston koneista yleistietokoneeseen 15 1.3 Mekaanisista ja sähköisistä laitteista sulautettuihin tietokoneisiin

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen rakentamisessa? 2012-2013 Lasse Lensu 2 Transistori yhdessä

Lisätiedot

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

1. Yleistä. 2. Ominaisuudet. 3. Liitännät 1. Yleistä SerIO on mittaus ja ohjaustehtäviin tarkoitettu prosessorikortti. Se voi ohjemistosta riippuen toimia itsenäisenä yksikkönä tai tietokoneen ohjaamana. Jälkimmäisessä tapauksessa mittaus ja ohjauskomennot

Lisätiedot

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

ltöä rjestelmä Luento 2: LAITTEISTOSTA Tietokonejärjestelm KESKUSYKSIKKÖ Keskusyksikkö Kuva 1.1 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-1

ltöä rjestelmä Luento 2: LAITTEISTOSTA Tietokonejärjestelm KESKUSYKSIKKÖ Keskusyksikkö Kuva 1.1 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-1 Käyttöjärjestelmät t I Luento 2: LAITTEISTOSTA Stallings, Luku 1 Sisält ltöä Keskusyksikkö Käskysykli Keskeytys ja sen käsittely Siirräntä Muistihierarkia = Tietokoneen Toiminta kurssin kertausta KJ-I

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1 Käyttöjärjestelmät Tietokoneen rakenne Stallings, Luku 1 KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1 Sisältöä Keskusyksikkö Käskysykli Keskeytys ja sen käsittely Siirräntä Muistihierarkia

Lisätiedot

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.

Lisätiedot

Jakso 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä Jakso 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne 1 Suoritin muisti suoritin - CPU ALU CU rekisterit MMU (kirjastorutiinit)

Lisätiedot

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Kurssin sisältö Johdanto, historiaa

Lisätiedot

Jakso 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä Jakso 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne 1 Suoritin suoritin - CPU ALU rekisterit CU MMU muisti (kirjastorutiinit)

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Jakso 5 Suoritin ja väylä. Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne

Jakso 5 Suoritin ja väylä. Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne Jakso 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne 1 Suoritin muisti suoritin - CPU ALU CU rekisterit MMU (kirjastorutiinit)

Lisätiedot

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?

Lisätiedot

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000 Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?

Lisätiedot

Tietokoneen toiminta, K Tavoitteet (4)

Tietokoneen toiminta, K Tavoitteet (4) Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3

Lisätiedot

MUISTIPIIRIT H. Honkanen

MUISTIPIIRIT H. Honkanen MUISTIPIIRIT H. Honkanen Puolijohdemuistit voidaan jaotella käyttötarkoituksensa mukaisesti: Puolijohdemuistit Luku- ja kirjoitusmuistit RAM, Random Access Memory - Käytetään ohjelman suorituksen aikaisen

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Digikamera. Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle

Digikamera. Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle TEEMA 1 Tietokoneen peruskäyttö Digikamera Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle Tämä tietopaketti hahmottaa lukijalle, millä tavalla kuvat voidaan siirtää kamerakännykästä tai

Lisätiedot

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi 9. Luento: Ohjelmistotyö Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne. Käskyjen nouto- ja suoritussykli (5)

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne. Käskyjen nouto- ja suoritussykli (5) Luento 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne Suoritin suoritin - CPU ALU rekisterit CU

Lisätiedot

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä.

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android 4.0.3 Ice Cream Sandwichissä. Y K S I K Ä Ä N A S I A K A S E I O L E M E I L L E LI I A N P I E NI TAI M I K Ä Ä N H A A S T E LI I A N S U U R I. Android Sähköpostin määritys Määrittämällä sähköpostitilisi Android-laitteeseesi, voit

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 2: LAITTEISTOSTA

Luento 2: LAITTEISTOSTA Käyttöjärjestelmät t I Luento 2: LAITTEISTOSTA Stallings, Luku 1 KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-1 Sisält ltöä Keskusyksikkö Käskysykli Keskeytys ja sen käsittely Siirräntä

Lisätiedot

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA Tavallisimmin lukuja käsittelevien datasanojen tyypiksi kannattaa asettaa kokonaisluku 16 bitin INT, jonka vaihtelualueeksi tulee

Lisätiedot

Suoritin. Jakso 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

Suoritin. Jakso 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne Jakso 5 Suoritin ja Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset Suoritin suoritin - CPU ALU rekisterit CU MMU Välimuisti (cache) muisti (kirjastorutiinit) ohjelma

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä Luento 2 (verkkoluento 2) Ttk-91 järjestelmä Ttk-91 laitteisto Tiedon sijainti Muistitilan käyttö Ttk-91 konekieli Tiedon osoitus ttk-91:ssä Indeksointi, taulukot, tietueet 1 Suorituksenaikainen suorittimen

Lisätiedot

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä Luento 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne 1 Suoritin muisti suoritin - CPU ALU CU rekisterit

Lisätiedot

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita. Mikä on tietokone PUNOMO NETWORKS OY 22.7.2016 pva, piirroskuvat J. Mansikkaviita Henkilökohtaisesti olen aina valmis oppimaan, vaikka en välitäkään tulla opetetuksi. - Winston Churchill Tietokone on elektroninen

Lisätiedot

Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)

Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer) Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer) 1 Suorituksenaikainen suorittimen ja muistin sisältö muisti suoritin

Lisätiedot

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä Luento 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne 1 Suoritin suoritin - CPU ALU rekisterit CU

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin Zyxel Prestige 645 ISP Zyxel Prestige 645 WEB Zyxel Prestige 645R Zyxel Prestige 645 Ennen aloitusta tarkista,

Lisätiedot

1 Muutokset piirilevylle

1 Muutokset piirilevylle 1 Muutokset piirilevylle Seuraavat muutokset täytyvät olla piirilevylle tehtynä, jotta tätä käyttöohjetta voidaan käyttää. Jumppereiden JP5, JP6, JP7, sekä JP8 ja C201 väliltä puuttuvat signaalivedot on

Lisätiedot

Arto Salminen,

Arto Salminen, 4. Luento: Prosessit ja säikeet Arto Salminen, arto.salminen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia

Lisätiedot

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne Luento 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset TTK-91:n ja sen simulaattorien rakenne Suoritin suoritin - CPU ALU rekisterit

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä Luento 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset TTK-91:n ja sen simulaattorien rakenne 1 Suoritin muisti suoritin - CPU

Lisätiedot

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos TIES325 Tietokonejärjestelmä Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos Kevät 2008 Luku 1 Tietokone abstraktina yksikkönä Tietokoneen asbtratiotasoa sen muotoisena kuin me sen tällä hetkellä

Lisätiedot

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä Luento 5 Suoritin ja väylä Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Suorittimen tilat Poikkeukset ja keskeytykset TTK-91:n ja sen simulaattorien rakenne 1 Suoritin suoritin - CPU ALU rekisterit

Lisätiedot

Signaalien datamuunnokset. Näytteenotto ja pito -piirit

Signaalien datamuunnokset. Näytteenotto ja pito -piirit Signaalien datamuunnokset Muunnoskomponentit Näytteenotto ja pitopiirit Multiplekserit A/D-muuntimet Jännitereferenssit D/A-muuntimet Petri Kärhä 26/02/2008 Signaalien datamuunnokset 1 Näytteenotto ja

Lisätiedot

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne Luento 5 Suoritin ja Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset KOKSI:n rakenne Suoritin suoritin - CPU ALU rekisterit CU MMU Välimuisti (cache) muisti (kirjastorutiinit)

Lisätiedot

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä Luento 2 (verkkoluento 2) Ttk-91 järjestelmä Käskyjen nouto- ja suoritussykli Ttk-91 laitteisto Tiedon sijainti Muistitilan käyttö Ttk-91 konekieli Tiedon osoitus ttk-91:ssä Indeksointi, taulukot, tietueet

Lisätiedot

Mikrokontrollerit. Mikrokontrolleri

Mikrokontrollerit. Mikrokontrolleri Mikrokontrollerit S-108.2010 Elektroniset mittaukset 18.2.2008 Mikrokontrolleri integrointi säästää tilaa piirilevyllä usein ratkaisu helpompi ja nopeampi toteuttaa ohjelmallisesti prosessori 4-64 bittinen

Lisätiedot

Eye Pal Solo. Käyttöohje

Eye Pal Solo. Käyttöohje Eye Pal Solo Käyttöohje 1 Eye Pal Solon käyttöönotto Eye Pal Solon pakkauksessa tulee kolme osaa: 1. Peruslaite, joka toimii varsinaisena lukijana ja jonka etureunassa on laitteen ohjainpainikkeet. 2.

Lisätiedot

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii

Lisätiedot

DumpDbox-ohjelmiston asennus- ja käyttöohjeet Sisällys

DumpDbox-ohjelmiston asennus- ja käyttöohjeet Sisällys DumpDbox-ohjelmiston asennus- ja käyttöohjeet Sisällys 1. Esittely... 2 2. Asennusohjeet... 2 3. Yleiskuva ohjelmistosta... 3 4. Tietojen siirtäminen D-Boxin avulla... 4 4.1. Piirturitiedostojen siirtäminen...

Lisätiedot

KÄYTTÖOHJE. M2M Point - to - Point

KÄYTTÖOHJE. M2M Point - to - Point KÄYTTÖOHJE M2M Point - to - Point M2M Paketti SISÄLLYSLUETTELO YLEISTÄ 1 KÄYTTÖÖNOTTO 1.1 LAITTEISTON ASENNUS 2 TULOJEN JA LÄHTÖJEN KYTKENTÄ 2.1 TILATIETOKYTKENNÄT 2.2 ANALOGIAKYTKENNÄT 3 KANAVANVAIHTO

Lisätiedot

Pikaintro käyttöjärjestelmiin

Pikaintro käyttöjärjestelmiin Tietotekniikan laitos Jyväskylän yliopisto TIES406 Tietotekniikan opintojen aktivointi, luento 17.8.2011 Outline Tietokonelaitteisto 1 Tietokonelaitteisto 2 3 4 Outline Tietokonelaitteisto 1 Tietokonelaitteisto

Lisätiedot

Successive approximation AD-muunnin

Successive approximation AD-muunnin AD-muunnin Koostuu neljästä osasta: näytteenotto- ja pitopiiristä, (sample and hold S/H) komparaattorista, digitaali-analogiamuuntimesta (DAC) ja siirtorekisteristä. (successive approximation register

Lisätiedot

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Mikrotietokone Moderni tietokone Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Sen käyttötarkoitus on yleensä työnteko, kissavideoiden katselu internetistä tai pelien pelaaminen. Tietokoneen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessin elinkaari (10) Prosessin vaihto (4) Prosessin esitysmuoto järjestelmässä (4)

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessin elinkaari (10) Prosessin vaihto (4) Prosessin esitysmuoto järjestelmässä (4) Luento 8 Ohjelman toteutus järjestelmässä rosessi CB I/O:n toteutus rosessi (4) Järjestelmässä olevan ohjelman esitysmuoto Järjestelmässä voi olla samalla kertaa monta prosessia joko samasta tai eri ohjelmasta

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä Jakso 8 Ohjelman suoritus järjestelmässä Prosessi PCB I/O:n toteutus 1 Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä samalla kertaa järjestelmässä voi suorituksessa monta prosessia

Lisätiedot

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä Jakso 8 Ohjelman suoritus järjestelmässä Prosessi PCB I/O:n toteutus 1 Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä samalla kertaa järjestelmässä voi suorituksessa monta prosessia

Lisätiedot

Järjestelmän ulkoinen muisti I/O

Järjestelmän ulkoinen muisti I/O Luento 9 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen muisti on paljon

Lisätiedot

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 16: Tietokoneen rakenne, osa 2 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Viikkoharjoitusten

Lisätiedot

BL40A1810 & BL40A1820 Mikroprosessorit A/B. Luento 6: Väylät ja keskeytykset

BL40A1810 & BL40A1820 Mikroprosessorit A/B. Luento 6: Väylät ja keskeytykset BL40A1810 & BL40A1820 Mikroprosessorit A/B Luento 6: Väylät ja keskeytykset 2 5.3.2012 Johdanto Sulautettua järjestelmää voidaan ajatella sen toiminnallisuuden kannalta: Prosessointi Tiedonkäsittelyoperaatiot

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

Ttk-91 esimerkkitietokone ja sen simulaattori

Ttk-91 esimerkkitietokone ja sen simulaattori Ttk-91 esimerkkitietokone ja sen simulaattori Konekielinen ohjelmointi Esimerkkitietokone ttk-91 Ttk-91 koneen rakenne ja käskykanta-arkkitehtuuri Tietokoneen simulaattori Ttk-91 ohjelmien suorittaminen

Lisätiedot

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9)

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9) Jakso 8 Ohjelman suoritus järjestelmässä rosessi CB I/O:n toteutus rosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä samalla kertaa järjestelmässä voi suorituksessa monta prosessia joko

Lisätiedot

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Verilogvs. VHDL. Janne Koljonen University of Vaasa Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet

Lisätiedot

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone ja ylläpito computer = laskija koostuu osista tulostuslaite näyttö, tulostin syöttölaite hiiri, näppäimistö tallennuslaite levy (keskusyksikössä) Keskusyksikkö suoritin prosessori emolevy muisti levy Suoritin

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle, sovellusohjelmille ja käyttäjille? 2012-2013 Lasse Lensu

Lisätiedot

Muistihierarkia Kiintolevyt I/O:n toteutus

Muistihierarkia Kiintolevyt I/O:n toteutus Luento 8 (verkkoluento 9) Järjestelmän ulkoinen muisti I/O Muistihierarkia Kiintolevyt I/O:n toteutus 1 Muistihierarkia Ulkoinen muisti (levymuisti) on halvempaa toteuttaa per tavu Ulkoinen muisti on paljon

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

CEM DT-3353 Pihtimittari

CEM DT-3353 Pihtimittari CEM DT-3353 Pihtimittari Sivu 1/5 CEM DT-3353 Pihtimittari Ongelma Mittarin ohjelmisto ilmoittaa NO DATA vaikka tiedonsiirtokaapeli on kytketty tietokoneen ja mittarin välille, mittarissa on virta päällä

Lisätiedot

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet

Lisätiedot

S-108.3020 Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010

S-108.3020 Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010 1/7 S-108.3020 Elektroniikan häiriökysymykset Laboratoriotyö, kevät 2010 Häiriöiden kytkeytyminen yhteisen impedanssin kautta lämpötilasäätimessä Viimeksi päivitetty 25.2.2010 / MO 2/7 Johdanto Sähköisiä

Lisätiedot