Luento 2: LAITTEISTOSTA

Samankaltaiset tiedostot
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. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

Käyttöjärjestelmän rakenne

Stallings, Luku 1. KJ-I S2043 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-2. KJ-I S2003 / Auvo Häkkinen 2-1

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

Käyttöjärjestelmät, 8 op

Kurssin asema Käyttöjärjestelmät, 8 op. Kurssikirja. Kurssin tavoite. Kurssin rakenne: Kurssin suorittaminen. Käyttöjärjestelmät - Luento 1

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

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

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

Kurssin asema Käyttöjärjestelmät, 8 op. Siirtymävaiheen vastaavuudet. Kurssin tavoite. Kurssikirja. Kurssin rakenne:

Käyttöjärjestelmät, 8 op

1. Keskusyksikön rakenne

Käyttöjärjestelmät II

Käyttöjärjestelmät II

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

Osio 3: Siirräntä ja tiedostojärjestelmä

NTÄ. Luento 8: SIIRRÄNT. Osio 3: Siirräntä ja tiedostojärjestelmä. ltö. Yleistä siirrännästä. Siirtonopeuksia (teoreettisia) Kuva 11.1.

ltö Luento 6: VIRTUAALIMUISTI Luento 7: Segmentointi Segmentointi ja sivutus yhdistettynä Yhteiskäytöstä Suoritus virtuaalimuistissa

Luento 6: VIRTUAALIMUISTI

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

Stallings, Luku

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

Käyttöjärjestelmän rajapinnat

Käyttöjärjestelmän rajapinnat. Siirräntä: Laiteajurit ja keskeytys. I/O-ohjain. I/O-ohjain. Siirtomenetelmät. Käyttöjärjestelmän rakenne

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Järjestelmän ulkoinen muisti I/O

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

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Osio 2: Luennot 4-7 Muistinhallinta

Stallings, Luku I/O-laitteiden luokittelua, siirtonopeuksia Siirrännän perustekniikat Siirrännän kehittyminen

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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

Jakso 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä

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

Luento 5 Suoritin ja väylä

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

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

Luento 5 Suoritin ja väylä

Stallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1

Luento 9 Järjestelmän ulkoinen muisti

Kuva 8.7. u Muunnos prosessin sivunumerosta sivutilanumeroksi u Kussakin alkiossa: u Katenoimalla. u MMU:ssa; juuri äsken käytettyjä muunnoksia

Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

Tietokoneen toiminta, K Tavoitteet (4)

Luento 9 Järjestelmän ulkoinen muisti

Osio 2: Luennot 4-7 Muistinhallinta YKSINKERTAINEN MUISTINHALLINTA. ltöä YLEISTÄ MUISTINHALLINNASTA. Looginen muisti.

Luento 9 Järjestelmän ulkoinen muisti

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

u vapaakäyntisyys (reentrancy) u Yhteinen koodialue u kullakin oma data-alue, pino, PCB u osoitteet suhteellisia prosessin alun suhteen

Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 5 Suoritin ja väylä

Luento 9 Järjestelmän ulkoinen muisti

Luento 5 Suoritin ja väylä

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus.

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 3: PROSESSIT JA NIIDEN HALLINTA

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Osio 3: Prosessit, siirräntä ja tiedostojärjestelmä

Prosessi perinteisesti

Stallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

VIRTUAALIMUISTI. Stallings, Luku 8.1

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä?

Sisältö VIRTUAALIMUISTI. Stallings, Luku 8.1. Suoritus virtuaalimuistissa. Suoritus virtuaalimuistissa. Puutoskeskeytys. Suoritus virtuaalimuistissa

Osio 2: Luennot 5-8 Muistinhallinta

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91 (1) TTK-91 laitteisto

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

Sisältö VIRTUAALIMUISTI. Stallings, Luku 8.1. Suoritus virtuaalimuistissa. Suoritus virtuaalimuistissa. Puutoskeskeytys. Suoritus virtuaalimuistissa

Käyttöjärjestelmät: prosessit

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus (2)

Luento 9 Järjestelmän ulkoinen muisti

Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori

u saantimenetelmät u kirjanpito vapaista lohkoista (taltiolla!) u hierarkkinen hakemistorakenne: kirjanpito tdstoista u tdstojen käyttö

Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori

Sisältö SIIRRÄNTÄ. I/O-laitteiden luokittelua. Yleistä siirrännästä. Siirrännän perustekniikat. Siirtonopeuksia (teoreettisia) Kuva 11.

Miksi konekieltä? Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori. Tietokone TTK-91. Miksi ei oikeaa konekieltä?

Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori

Stallings, Luku 8.1. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-1

Stallings, Luku 8.1. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 7-1

KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen Stallings, Luku

Stallings, Luku 7. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6-1

Stallings, Lukua 2. KJ-I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-2. KJ-I I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-1

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

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

Käyttöjärjestelmät: Virtuaalimuisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

MUISTINHALLINTA. Stallings, Luku 7

Ttk-91 esimerkkitietokone ja sen simulaattori

Miksi konekieltä? Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori. Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91: rekisterit

Miksi konekieltä? Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori. Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91: tietotyypit (2)

Transkriptio:

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ä Muistihierarkia = Tietokoneen Toiminta kurssin kertausta KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-2 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-1

Tietokonejärjestelm rjestelmä = laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä KJ:n avustuksella u CPU ja muisti u oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa sovellukselle u prosessien hallinta u muistinhallinta u siirräntäjärjestelmä u tiedostojärjestelmä KJ on tärkein laitteiston suorittamista ohjelmistoista KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-3 Käyttöjärjestelmät I KESKUSYKSIKKÖ KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-4 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-2

Keskusyksikkö Kuva 1.1 Muista tärkeä tilarekisteri PSW! KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-5 Keskusyksikkö ks. Tietokoneen Toiminta -kurssi KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-6 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-3

Keskusyksikkö TLB PTR PSW KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-7 Keskusyksikkö KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-8 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-4

Keskusyksikön osat Prosessori (CPU) u käskyjen suoritus (Keskus)muisti u tilaa ohjelmille ja niiden datalle (myös KJ on ohjelma!) I/O ohjaimet (I/O kanavat, I/O prosessorit...) u laitteistoa, joka siirtää tietoa muistin ja oheislaitteiden välillä F syöttö- ja tulostuslaitteet F tallennuslaitteet F tietoliikennelaitteet u kommunikointi rekistereitä (I/O portteja) käyttäen u voivat sisältää omaa muistia (puskureita) Väylät u tiedonsiirto eri osien välillä KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-9 Muistinhallintayksikkö MMU Memory Management Unit Muuttaa ohjelman sisäisen osoitteen fyysiseksi muistiosoitteeksi u ohjelma käyttää siirtymiä alkunsa suhteen u laitteisto käyttää fyysisiä osoitteita MAR, Memory Address Register u muistiosoitetta varten MBR, Memory Buffer Register u Muistista noudettavan muistipaikan sisältö u Muistiin kirjoitettava arvo KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-10 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-5

Muistinhallintayksikkö MMU Kanta- ja rajarekisteriä käyttävä järjestelmä u Base Register: ohjelman fyysinen alkuosoite u Limit Register: viimeinen kelvollinen fyysinen osoite tai viitattavissa olevan alueen pituus Virtuaalimuistijärjestelmä (esim.) u PTR, Page Table Register FSuoritettavan prosessin sivutaulun fyys. alkuosoite u TLB, Translation Lookaside Buffer FViimeisimmissä osoitemuunnoksissa käytettyjä tietoja KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-11 Prosessorin rekistereitä Ohjaus- ja tilarekisterit (Control & Status Registers) u osa vain CPU:n sisäiseen käyttöön u osa vain KJ:n käyttöön u osa epäsuorasti ohjelmien viitattavissa F hyppykäsky muuttaa PC:n arvoa F vertailu asettaa tilarekisterin F ehdollinen hyppykäsky tutkii tilarekisteriä Yleiskäyttöiset rekisterit (User-visible registers) u ohjelmien käytettävissä (myös KJ:n!) u viitattavissa nimellä konekielen tasolla u datan ja osoitteiden tallettamiseen KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-12 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-6

Ohjaus- ja tilarekistereitä Käskyosoitin PC (Program Counter) u seuraavaksi suoritettavan käskyn virtuaaliosoite Käskyrekisteri IR (Instruction Register) u suoritettavaksi noudettu käsky Tilarekisteri PSW (Program Status Word) u Tietoa laitteiston tilasta ja toiminnan siihen aiheuttamista muutoksista u lipukkeet (flags) Fvertailujen tuloksille, virhetilanteille Fkeskeytyksille, keskeytyksien esto / salliminen Fetuoikeutettu tila / käyttäjätila KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-13 Esimerkki Tilarekisteristä 32 bittiä (kunkin arvo 0 tai 1) GEL OZUM IS P D... D = Interrupts Disabled (kesk. esto) P = Privileged mode (etuoik. tila) S = SVC (supervisor call) palvelupyyntö I = device Interrupt (laitekeskeytys) M = forbidden Memory address U = Unknown instruction Z = divide by Zero O = arithmetic Overflow GEL = comparison indicators: Greater, Equal, Less KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-14 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-7

Yleiskäytt yttöisiä rekistereitä Työrekisterit (Data Registers) u prosessin suoritusaikaisen datan tallettamiseksi u käyttötarkoitus ohjelman (ohjelmoijan) tarpeiden ja mieltymysten mukaan Osoiterekisterit (Address registers) u datan ja käskyjen osoitteiden hallintaan u voi sisältää esim. osoitteen osan, jota käytetään muistiosoitteen laskennassa u Esim: FIndeksirekisteri (index register) FSegmenttirekisteri (segment pointer) FPino-osoitin (stack pointer) KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-15 Käyttöjärjestelmät I KESKEYTYS KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-16 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-8

Käskysykli (perusmalli) Kuva 1.2 CPU noutaa käskyn PC:n osoittamasta paikasta kasvattaa PC:n arvoa noutaa operandit rekistereistä tai muistista suorittaa käskyn yleensä ALU:ssa tallettaa tuloksen rekisteriin tai muistiin KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-17 Yksinkertainen siirränt ntä Kuva 1.5a Palvelupyyntö antaa kontrollin laiteajurille Ł CPU suorittaa KJ:n koodia Ajuri alustaa ohjaimen sekä antaa tarvittavat käskyt, jolloin siirräntä käynnistyy (4) Ajuri odottaa (pollaa), että siirräntä valmistuu Ajuri tekee lopputoimet, ja palauttaa sovellukselle statustietoa (5) Ł CPU odottelee jouten! KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-18 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-9

Keskeytys Sallii CPU:n ja ohjaimien yhtäaikaisen toiminnan CPU vain käynnistää siirrännän, ja voi jatkaa muiden käskyjen suoritusta Kun siirto valmis, ohjain keskeyttää CPU:n CPU siirtyy suorittamaan KJ:hin kuuluvaa keskeytyskäsittelyä Kun KJ käsitellyt tilanteen, siirron valmistumista odottanut prosessi voi päästä taas suoritettavaksi KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-19 Moniajo (multiprogramming) Siirräntä hidasta, eikä sovellus voi aina jatkaa ennenkuin siirto valmis u esim. prosessi lukee tietoa oheislaitteelta Ł CPU odottaa toimettomana keskeytystä Idea: KJ ottaa suoritukseen useita prosesseja Kun yksi odottaa, suorita toista Entä, jos prosessi ei tee siirräntää? u Ei palvelupyyntöjä, ei keskeytyksiä u Muut prosessit nälkiintyvät Tarvitaan kello, joka keskeyttää KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-20 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-10

Käskysykli (täydennetty) Kuva 1.7 Start Interrupt Handler Jos keskeytys sallittu, CPU tutkii tilarekisterin ennen seuraavan käskyn noutoa Jos keskeytys, suorita keskeytyskäsittelyn käskyt KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-21 Keskeytys - virhe - palvelupyyntö KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-22 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-11

Siirränt ntä ja keskeytys (kuva 1.5b) Palvelupyyntö siirtää kontrollin KJ:n laiteajurille Ajuri alustaa ohjaimen ja antaa siirtokäskyn (4) Kontrolli takaisin sovellukseen CPU voi suorittaa sovelluksen käskyjä samaan aikaan siirron kanssa (2a) Kun siirto valmis, ohjain keskeyttää (x) Kontrolli keskeytyskäsittelylle, josta edelleen ajurille Ajuri tarkastaa miten siirrossa kävi, ja tekee tarvittavat lopputoimet (5) Kun keskeytys käsitelty, sovelluksen suoritus jatkuu (2b) KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-23 Keskeytyskäsittelij sittelijä (Interrupt handler) KJ:n koodia, jonka laitteisto käynnistää keskeytyksen sattuessa Selvittää keskeytyksen syyn Käynnistää toimet tilanteen hoitamiseksi u Siirtyminen sopivaan käsittelyrutiiniin Keskeytynyttä prosessia voitava jatkaa myöhemmin siitä mihin se jäi keskeytyksen sattuessa u CPU:n rekistereiden arvot talletettava muistiin F PC, PSW, muut ohjelman käyttämät rekisterit KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-24 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-12

Keskeytyskäsittely sittely (kuva 1.10) Kirja s. 21-25 * Etuoikeutettu tila vs. käyttäjätila * Keskeytysten esto vs. salliminen Start Interrupt Handler * * KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-25 Kuva 1.11 Keskeytys Paluu KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-13

Peräkk kkäinen käsittely hyöty / haitta? Keskeytykset estetty käsittelyn aikana u PSW:n keskeytykset estetty lipuke Uudet keskeytykset jäävät odottamaan Kun käsitelty, CPU tutkii taas keskeytyslipuketta KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-27 Priorisoitu käsittely Kirjoitin hyöty / haitta? Tietoliikenne Alemman prioriteetin keskeytyskäsittely jää kesken, jos tulee kiireellisempi keskeytys Ł Myös keskeytyskäsittely voi keskeytyä! Esim. Tietoliikenneohjaimen keskeytys käsitellään välittömästi, jotta saadaan uutta tilaa saapuvalle datalle KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-28 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-14

Käyttöjärjestelmät I SIIRRÄNTÄ KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-29 I/O-ohjain KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-30 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-15

I/O-ohjain Ohjain puskuroi väylältä tulevan / väylälle menevän datan datarekistereihinsä u sisäisen ja ulkoisen väylän nopeusero Status- ja ohjausrekisteri(t) u statustietoa ohjaimen / siirron tilasta u siirtokäskyt, osoitteet (lähde/kohde), tavumäärä Väylän varaus ja CPU:n keskeytys ohjausväylää käyttäen Liittymä laitteeseen vaihtelee tarpeen mukaan KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-31 Siirtomenetelmät Kolme perusmenetelmää Suora I/O (Programmed I/O) u ei keskeytyksiä Epäsuora, keskeyttävä I/O (Interrupt-driven I/O), u ohjain keskeyttää DMA-siirto (Direct Memory Access) u ohjain keskeyttää u ohjain siirtää suoraan keskusmuistiin u Älykäs laiteohjain KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-32 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-16

Suora I/O Ei keskeytystä, CPU tutkii toistuvasti statusrekisteriä (busy waiting, pollaus) Kun siirto valmis, CPU kopioi sanan ohjaimen datarekisteristä muistiin CPU varattuna siirron ajan Vain yksinkertaisissa laitteistoissa Sykli toistettava kunnes kaikki siirretty u Ajurilla iso rooli KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-33 Epäsuora I/O Ohjain keskeyttää, kun siirrettävä sana datarekisterissä CPU siirtää datan muistiin CPU:n ei tarvitse pollata, kun ohjain siirtää laitteelta Sykli toistettava erikseen jokaiselle sanalle Ł Siirto kuormittaa edelleen CPU:ta KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-34 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-17

DMA-siirto CPU ohjaimelle: mistä, minne, paljonko, suunta (R / W) Ohjain siirtää laitteen ja muistiin välillä Keskeytys vasta, kun koko data siirretty CPU:ta vain alussa siirron käynnistykseen ja lopussa statuksen tutkimiseen Ł CPU voi suorittaa siirron aikana muita prosesseja KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-35 Käyttöjärjestelmät I MUISTI KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-36 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-18

Muistihierarkia Tan01 1.14 Pentium 4 cache: 8 KB datalle, 12 KB koodille, ulkoinen 256 KB nano = 10-9, mikro = 10-6, milli = 10-3 KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-37 Välimuisti (cache memory) Pieni, nopea muisti / rekisterijoukko CPU:n ja keskusmuistin välissä CPU:n osana ja / tai ulkopuolella Laitetasolla, ei näy ohjelmissa / KJ:ssä CPU tutkii ensin löytyykö viitatun fyys. muistipaikan sisältö välimuistista Jos ei löydy, CPU tuo välimuistiin lohkon, joka sisältää myös viitatun muistipaikan KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-38 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-19

Real Address -> osoitemuunnos tehty MMU:ssa! Kuva 1.18 Osumatodennäköisyys (Hit Ratio) = Todennäköisyys, että viitattu muistipaikka on välimuistissa T1 = saantiaika välimuistista T2 = saantiaika keskusmuistista T2 >> T1 Kun osumatodenn. lähellä arvoa 1, keskim. saantiaika lähellä T1:tä KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-40 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-20

Paikallisuus (locality of references) Ajallinen ja alueellinen paikallisuus: Esim. silmukassa suoritetaan toistuvasti samaa käskyjoukkoa Tietyssä osassa koodia käytetään tyypillisesti vain tiettyjä muuttujia (data) Ł Kun ohjelma viittaa tiettyyn muistipaikkaan (käsky tai data), on tn., että se viittaa pian samaan paikkaan uudelleen tai sen lähellä oleviin muistipaikkoihin Osumatodenn. helposti lähellä arvoa 1 jo pienellä välimuistilla KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-41 Lohkopuskurit (block cache, disk cache) Keskusmuistialue, jonne puskuroidaan levyltä / levylle siirrettävää dataa u ei siis erillinen laitteiston osa Kun tiettyihin tavuihin on viitattu, viitataan pian melko varmasti niitä seuraaviin tavuihin Jos haettavat tavut eivät löydy puskurista, siirtää KJ kokonaisen levylohkon levyltä puskuriin u Ennaltanouto Paikallisuus! KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-42 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-21

Kertauskysymyksiä Mitä hyötyä on keskeytysmekanismista? Voiko tietokone toimia ilman keskeytyksiä? Miten keskeytysmekanismi toimii? Miksi keskeytyksiä kannattaisi priorisoida? Miten CPU saadaan suorittamaan KJ:tä / tavallista prosessia? Miten CPU niitä käskyjä suorittaa? Mikä oleellinen ero on suoralla I/O:lla ja epäsuoralla I/O:lla? Miksi DMA siirto on järkevää levysiirroissa? Miten paikallisuutta voidaan hyödyntää? KJ-I S2005 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-43 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-22