Muistihierarkia Kiintolevyt I/O:n toteutus



Samankaltaiset tiedostot
Järjestelmän ulkoinen muisti I/O

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

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

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

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 (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

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)

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

Jakso 8 Ohjelman suoritus järjestelmässä

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

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

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

1. Keskusyksikön rakenne

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

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

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

Luento 4 Aliohjelmien toteutus

Ulkoinen muisti ja IIO:n toteutus

Jakso 4 Aliohjelmien toteutus

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Luento 5 Suoritin ja väylä

Jakso 5 Suoritin ja väylä

Jakso 4 Aliohjelmien toteutus

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 4 Aliohjelmien toteutus

Aliohjelmien toteutus Suoritin ja väylä

Luento 5 Suoritin ja väylä

Luento 4 Aliohjelmien toteutus

Jakso 8 Ohjelman toteutus järjestelmässä

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

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

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

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

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

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

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

Käyttöjärjestelmän rakenne

Jakso 8 Ohjelman toteutus järjestelmässä

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

Luento 5 Suoritin ja väylä

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 II

Oppimistavoitteet kurssilla Tietokoneen toiminta

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

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

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

Käyttöjärjestelmät II

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

Jakso 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)

Jakso 4 Aliohjelmien toteutus

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

Tietokoneen toiminta, K Tavoitteet (4)

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Luento 2: LAITTEISTOSTA

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

Prosessi (4) Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4) Prosessin elinkaari (9)

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

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Transkriptio:

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 hitaampaa kuin sisäinen muisti Aika/tila optimointi 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 tiedot tulee suoritusaikana olla sisäisessä muistissa! Fig 4.1 [Stal13] 2

Virtuaalimuisti Osa muistihierarkiaa Vastaus ongelmaan yhtä suuri kuin levymuisti ja yhtä nopea kuin keskusmuisti? Kaksitasoinen: keskusmuistissa kulloinkin käytössä olevat alueet levyllä kaikki tiedot kopiointi tarvittaessa npuutoskeskeytys muisti väylä levy 3

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

Tiedostojärjestelmä KJ:n osa, hallitsee kaikkia tiedostoja Valvoo oikeuksia tiedostoa avattaessa Muuntaa tiedostonimet fyysisiksi osoitteiksi Ylläpitää 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 tiedoston t luetaan t annetussa järjestyksessä hakemisto alkio FileA (unix) indeksi 6

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

Levymuistin saantiaika Tiedon (n) osoite: levypinta + ura + sektori laiteajuri etsii KJ-taulukoista loogisen osoitteen perusteella Figs 6.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

10

Laiteohjaimen rekistereihin viittaaminen omilla konekäskyillä Käskyssä annetaan laiteohjaimen identifikaatio ja laiterekisterin 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

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

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

Esimerkki: kirjoittimen laiteajuri 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 14

Esim: laiteajurin toteutus ptrctr DC 1048576 ; control register address ptrstat DC 1048577 ; status register address ptrdata DC 1048578 ; data register address retval EQU -3 Print PUSHR SP ;save regs pardata EQU -2 LOAD R1, pardata(fp) Oleta: SVC:n ja IRET:n toteutus samalla tavalla kuin CALL ja EXIT Solution with no timeout STORE R1, @ptrdata ; data to print LOAD R1, =0 STORE R1, @ptrstat ; init (clear) state register LOAD R1, =1 STORE R1, @ptrctr ; give command to print ptrctl ptrstat ptrdata 1 01 200 See: driver.k91 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 IRET SP, =1 Keskustele 15

-- Luennon loppu - Ferriittirengas (core) teknologia 22.10.2013 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, nyt vain nimi jäljellä Copyright 2013 Teemu Kerola 16