Järjestelmän ulkoinen muisti I/O



Samankaltaiset tiedostot
Muistihierarkia Kiintolevyt I/O:n toteutus

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Luentokerta 5 Ohjelman toteutus järjestelmässä (prosessi, käyttöjärjestelmä) Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Muistihierarkia Kiintolevyt I/O:n toteutus. Käännös, Linkitys Lataus

Tietokoneen toiminta Teemu Kerola, Copyright Muistihierarkia

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

Muistihierarkia. Virtuaalimuisti. Tiedostojärjestelmä. Levymuistin saantiaika. Tietokoneen toiminta Luento 9, Ulkoinen muisti ja I/O 1

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Jakso 8 Ohjelman suoritus järjestelmässä

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ä

Jakso 8 Ohjelman suoritus järjestelmässä

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

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

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

1. Keskusyksikön rakenne

Jakso 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin 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

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

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

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

Luento 1 Tietokonejärjestelmän rakenne

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

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

Luento 5 Suoritin ja väylä

Luento 1 Tietokonejärjestelmän rakenne

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

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

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

Ulkoinen muisti ja IIO:n toteutus

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 4 Aliohjelmien toteutus

Luento 5 Suoritin ja väylä

Jakso 4 Aliohjelmien toteutus

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

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

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

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

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

Jakso 4 Aliohjelmien toteutus

Aliohjelmien toteutus Suoritin ja väylä

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

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

Käyttöjärjestelmän rakenne

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

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

Luento 4 Aliohjelmien toteutus

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Jakso 8 Ohjelman toteutus järjestelmässä

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

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi

Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

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

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

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

Luento 4 Aliohjelmien toteutus

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

Jakso 8 Ohjelman toteutus järjestelmässä

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

Tietokoneen toiminta, K Tavoitteet (4)

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, K2000

Luento 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Luento 6: VIRTUAALIMUISTI

Käyttöjärjestelmät II

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

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

Luento 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

Luento 2: LAITTEISTOSTA

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 29/01/2001 Teemu Kerola, Copyright 2001

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

Transkriptio:

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 hitaampaa kuin sisäinen muisti Aika/tila optimointi Fig 4.1 [Stal13] suuret tietomäärät täytyy (kannattaa) kustannussyistä pitää ulkoisessa muistissa pienet tietomäärät täytyy (kannattaa) tehokkuussyistä pitää sisäisessä muistissa Kaiken viitatun tiedon tulee suoritusaikana olla sisäisessä muistissa tai vielä lähempänä suoritinta! Suoritin ei voi odottaa viitattua tt tietoa t kovin kauan aikaa 2

Osa muistihierarkiaa Vastaus Vs usoge ongelmaan Virtuaalimuisti Kuinka muisti, joka on yhtä suuri kuin levymuisti ja yhtä nopea kuin keskusmuisti? Kaksitasoinen: Keskusmuistissa on kulloinkin käytössä ä olevat alueet Levyllä on kaikki tiedot Kopiointi tarvittaessa Sivunpuutoskeskeytys (viitattu tieto ei ole keskusmuistissa) muisti väylä ohjain levy 3

Virtuaalimuistin toteutus Toteutustavat kanta- ja rajarekisterit sivutus, (segmentointi ja sivuttava segmentointi) Pääosa toteutuksesta KJ:n ohjelmistotasolla Laitteistotuki MMU muistinhallintayksikkö Virtuaaliosoite fyysinen muistiosoite Hidas operaatio, usea konekäsky, muistiviitteitä? Osoitteenmuutospuskurista (TLB) löytyy viimeksi tehdyt osoitteenmuutokset (vrt. välimuisti) Fyysistä osoitetta ei tarvitse laskea usealla konekäskyllä, jos se löytyy TLB:stä Lisää Tieto- Käyttökoneen järjes- tietoa? rakenne telmät 4

Tiedostojärjestelmä KJ:n osa, hallitsee kaikkia tiedostoja Valvoo oikeuksia tiedostoa avattaessa Muuntaa tiedostonimet fyysisiksi osoitteiksi read write execute Ylläpitää (vain KJ:n käytössä olevia) taulukoita, joista näkee mitä kohtaa mistäkin tiedostosta kukin prosessi on käsittelemässä Tiedostojärjestelmä lukee ja kirjoittaa tiedostoja suurina kerralla käsiteltävinä ina (0.5-8 KB?) käyttäjätason prosessit käsittelevät tiedostoja tavuittain, eikä niiden tarvitse tietää tiedoston todellista fyysistä rakennetta (KJ:n laiteajuri huolehtii siitä) 5

Tiedoston talletus levylle Tiedosto koostuu useista ista = 1 tai usea levyn sektori Levyn hakemisto FileA tiedoston t luetaan t annetussa järjestyksessä hakemisto alkio (unix) indeksi Pienin alue, jota voi lukea/kirjoittaa levyllä 6

Levyn käyttö Virtuaalimuistin tukimuistina Tiedostojen talletukseen Muisti page page page page page page page page sivu sivu (tdsto) (data) Väylä Levy VM tukimuisti sivu sivu sivu sivu sivu sivu sivu sivu Tiedostot 7

Levymuistin saantiaika Tiedon (n) osoite: levypinta + ura + sektori laiteajuri ateaju etsii KJ-taulukoista Jtauu osta loogisen osoitteen perusteella Figs 6.5& 5&6.2[Stal13] Keskustele 8

Laiteohjain (I/O Moduuli) Muisti väylä suoritin käyttäjäprosessi laiteajuri KJ prosessi (tai aliohjelma?) laite data c/s laiteohjain laiteohjainprosessi (device controller, device controller process) laite Ks. Fig 7.3 [Stal13] 9

cpu mem 10

I/O:n toteutus konekäskyillä (i): Laiteohjaimen rekistereihin viittaaminen I/O konekäskyillä I/O laitteille on omat konekäskynsä Käskyssä annetaan laiteohjaimen identifikaatio ja lit laiterekisterin kit i nro (oma I/O osoiteavaruus) Vaikea laajentaa käyttöä uusiin laitteisiin, joilla laiterekisterit voivat olla hyvinkin erilaisia Suorittimen konekäskyjä ei voi muuttaa x86: IN, OUT INS, OUTS Ttk-91: IN, OUT 11

I/O:n toteutus konekäskyillä (ii): Laiteohjaimen rekistereihin viittaaminen muistin luku/kirjoitus käskyillä Muistiinkuvattu I/O, memory-mapped I/O Laiteajuri lukee/kirjoittaa laiteohjaimella olevia rekistereitä (data, status/kontrolli) tavallisilla muistin luku/kirjoitus käskyillä load R1,=DiskRd ei tarvita erillisiä I/O-konekäskyjä! store R2, DiskCtr laiteohjaimella olevat laiterekisterit ovat samanlaista viitattavaa muistia kuin normaali muisti muistisoitteen itt ensimmäiset bitit (ei siis käskykoodi) k k valitsevat, mille laitteelle (vai tavallisen muistiin) viittaus kohdistuu DiskCtr EQU 0x80000001 12

I/O tyypit Suora I/O Programmed I/O Direct I/O mem Laiteajuri koko ajan aktiivinen dev ctlr Laiteajuri odottaa busy-wait loopissa laiteohjainta Epäsuora I/O Indirect I/O, Interrupt driven I/O Laiteohjain osaa tehdä I/O-laitekeskeytyksiä Laiteajuri odottaa odotustilassa laiteohjainta DMA I/O Direct Memory Access I/O Laiteohjain osaa myös viitata keskusmuistiin Tieto kulkee väylän läpi vain yhden kerran Laiteohjaimelle annettavat tehtävät isompia Laiteajuri odottaa odotustilassa laiteohjainta cpu 13

Suora I/O Epäsuora I/O DMA I/O Device driver (laiteajuri) j i) Input of a Block of data Fig 7.4 [Stal13] Direct I/O Keskustele 14

Esimerkki: kirjoittimen laiteajuri i ttk-91 koneelle Laitteella voi tulostaa kokonaislukuja yksi kerrallaan Muistiinkuvattu I/O, suora I/O Laiteportti kontrollirekisteri muistipaikka 1048576 = 0x80000 tilarekisteri muistipaikka 1048577 = 0x80001 datarekisteri muistipaikka 1048578 = 0x80002 Laiteajuri Print toimii etuoikeutetussa tilassa Kutsu: PUSH SP, =0 ; space for return value PUSH SP, X ; parameter to print SVC SP, =Print ; returns Success/Failure POP SP, R1 JNZER R1, TakeCareOfTrouble 15

Esim: laiteajurin toteutus (12) ptrctr DC 1048576 ; control register address ptrstat DC 1048577 ; status register address ptrdata DC 1048578 ; data register address Solution with no timeout retval EQU -3 Print PUSHR SP ;save regs pardata EQU -2 LOAD R1, pardata(fp) STORE R1, @ptrdata ; data to print Oleta: SVC:n ja IRET:n LOAD R1, =0 STORE R1, @ptrstat ; init (clear) state register toteutus samalla tavalla LOAD R1, =1 kuin CALL ja EXIT ptrctl 1 ptrstat 01 ptrdata 200 STORE R1, @ptrctr ; give command to print Wait LOAD R1, @PtrStat ; check state register JNZER R1, Done JUMP Wait ; wait until I/O done Done LOAD R1, =0 ; return Success STORE R1, retval(fp) POPR SP ; recover regs See: driver.k91 IRET SP, =1 http://www.cs.helsinki.fi/group/nodes/kurssit/tito/esimerkit/driver.k91 Keskustele 16

-- Luennon loppu -- Ferriittirengas (core) teknologia 1952, Jay Forrester & Bob Everett, MIT (Whirlwind) tieto säilyy ilman virtaa ei häiriinny säteilystä (avaruus, sotilasteknologia) 1955, valtaa markkinat Williams Tube lta Käytössä ä vielä 1970-luvulla, ll nyt vain nimi i jäljellä llä 17