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

Samankaltaiset tiedostot
Muistihierarkia (4) 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 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. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Järjestelmän ulkoinen muisti I/O

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus (2)

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.

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

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

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

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

Tietokoneen toiminta Teemu Kerola, Copyright Muistihierarkia

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)

Jakso 8 Ohjelman suoritus järjestelmässä

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

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

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot 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 4 (verkkoluento 4) Aliohjelmien toteutus

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

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

Luento 4 Aliohjelmien toteutus

Ulkoinen muisti ja IIO:n toteutus

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Jakso 4 Aliohjelmien toteutus

Jakso 5 Suoritin ja väylä

Jakso 8 Ohjelman toteutus järjestelmässä

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

Jakso 5 Suoritin ja väylä

Jakso 8 Ohjelman toteutus järjestelmässä

Kertausluento luennoista 1-3 1

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

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

Luento 4 Aliohjelmien toteutus

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

1. Keskusyksikö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 4 Aliohjelmien toteutus

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

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

Luento 5 Suoritin ja väylä

Luento 4 Aliohjelmien toteutus

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

Tietokoneen toiminta (Computer Organization I)

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

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

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) Aihepiiri. Mitä hyötyä tästä on? (3) Tavoitteet. Kurssien välisiä riippuvuuksia

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.

Tietokoneen toiminta (Computer Organization I)

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

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

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I) Tavoitteet (4) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia

Tietokoneen toiminta (Computer Organization I)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Tietokoneen toiminta (Computer Organization I)

D B. Levytiedostojen käsittely. Levytiedostojen käsittely

Tietokoneen toiminta (Computer Organization I)

Jakso 4 Aliohjelmien toteutus

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

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

Tietokoneen toiminta (Computer Organization I)

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Aliohjelmien toteutus Suoritin ja väylä

Tietokoneen toiminta (Computer Organization I)

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

Aihepiiri Tietokoneen toiminta (Computer Organization I)

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

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

Luento 5 Suoritin ja väylä

Transkriptio:

Luento 9 Järjestelmän ulkoinen Muistihierarkia Kiintot Muut pyörivät t I/O:n toteutus Muistihierarkia (4) ks. Fig 4.1 [Stal03] (ks. Fig 4.1 [Stal99]) Ulkoinen on halvempaa toteuttaa per tavu Ulkoinen on hyvin paljon hitaampaa kuin sisäinen Aika/tila optimointi suuret tietomäärät täytyy (kannattaa) kustannussyistä pitää ulkoisessa ssa pienet tietomäärät täytyy (kannattaa) tehokkuussyistä pitää sisäisessä ssa Kaiken viitatun tiedot tulee suoritusaikana olla sisäisessä ssa! 1 2 Virtuaali Osa hierarkiaa Vastaus ongelmaan miten tehdä suoritusaikaisesta sta yhtä suuri kuin ja yhtä nopea kuin keskus? Kaksitasoinen: keskusssa kulloinkin käytössä olevat alueet llä kaikki tiedot kopiointi tarvittaessa Muisti 3 Virtuaalin toteutus (4) Toteutustavat kanta- ja rajarekisterit tus (segmentointi ja ttava segmentointi) Pääosa toteutuksesta ohjelmistotasolla Laitteistotuki MMU nhallintayksikkö nopeuttaa viitatun paikan todellisen osoitteen laskentaa osoitetta ei tarvitse laskea usealla konekäskyllä, kun MMU tekee sen laitteistotasolla rakenne ja toiminta vaihtelee virtuaalin toteutustavan mukaan Lisää tietoa? Käyttö- järj.- I ja II Tietokoneen rakenne 4 Tiedostojärjestelmä (5) 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 6 Luento 9, Ulkoinen ja I/O 1

Levy (2) Levykkö pyörii nopeasti (koko ajan?) ~ 3600-10800 rpm luku/kirjoituspäät liikkuvat kaikki yhtä aikaa? monta ä ~ 1-16 ä/kkö Levypinta 2 per (tai 1) ks. Figs 6.2 [Stal03] (ks. Figs 5.3 [Stal99]) ura ~ 2000-3000 uraa/pinta sektori: pienin kerralla osoitettavissa oleva alue ~ 20-100 sektoria/ura sylinteri: päällekkäin olevat urat, luku/kirj. pää samalla kohtaa ~ 0.5-8KB/sektori ks. Fig 6.5 [Stal03] (ks. Fig 5.4 [Stal99]) 150 MB-181GB/kkö ~ 1-32 uraa/sylinteri 7 Levyn saantiaika (2) Tiedon osoite: pinta + ura + sektori laiteajuri etsii KJ-taulukoista loogisen osoitteen perusteella Saantiaika: hakuvarren siirtoaika Esim: aver 6.3 ms, min-max 2-15 ms? odota kunnes sektori kohdalla Esim: pyörähdysviive kun 3600 rpm: 8.33 ms (keskim. puolen kierroksen aika) siirrä sektorin verran tietoa Esim: pyör.aika / sekt. lkm = 0.42 ms ks. Fig 6.2 [Stal03] (ks. Fig 5.3 [Stal99]) (seek time) (rotational delay) (data transfer time) 8 Tiedoston talletus lle (2) Tiedosto koostuu useista ista per sektori ( per usea sektori?) Levyn hakemistossa on tieto kunkin tiedoston käyttämistä ista luetaan t annetussa järjestyksessä Levyn käyttö Virtuaalin tukina Tiedostojen talletukseen Virtuaalin voi toteuttaa tiedostojärjestelmän päälle (sitä käyttäen), tai päinvastoin! Väylä Muisti (tdsto) (tav.) hakemisto alkio FileA (unix) indeksi Levy VM tuki Tiedostot 9 10 DOS-kkeen rakenne (2) FAT File Allocation Table kertoo, mitkä sektorit ovat vapaana kertoo, mitkä sektorit ovat käytössä millekin tiedostolle kiinteä paikka kkeellä, 2 kopiota Hakemisto erikoistyyppinen tiedosto sisältää hakemistoalkion joka tiedostolle nimi, tyyppi, koko, muutos pvm ja kellonaika attribuutit (invisible, read-only,...) linkki ensimmäiseen sektoriin (FAT ja itse tiedosto) 11 FAT - File Allocation Table (DOS) aa: hakemistoalkio 32 hak. tdsto FAT... FAT varaustaulu tied. sektorit 32 1. 34 36-1... 36 3. 32 33 34 35 36 34 2. Eksa E 10 18 Peta Tera Giga P T 10 15 10 12 G 10 9 DOS kkeet: 1.44MB, 512 B, 2.9k a entä: 1 GB, 64 kb, 64k a OK? Mega M 10 6 Kilo 19.4.2004 k 10 3 Teemu Kerola, Copyright 2003 12 Luento 9, Ulkoinen ja I/O 2

Mikä on hyvä n koko? Mihin käyttöön? Videokuvan talletus/playback? 1 minuutti 12.3 MB 4kB? osoitetaulu? 1.5 Mbit/sek (koko ajan) epäsuorat viittaukset? riittääkö n/n/ohjaimien nopeus? entä jos 1 tunti? riittääkö n kapasiteetti? 13 14 Laitteiden liittäminen järjestelmään suoritin (CPU) Liitännät muiden koneiden kanssa tai t Liitännät laitteiden kanssa laiteohjaimet Liitännät ihmisten kanssa Kaikki samalla tavalla: ks. Fig. 2-29 [Tane99] 15 Laiteohjain (I/O Moduuli) laite Muisti data c/s laiteohjain suoritin laiteohjainprosessi (device controller, device controller process) laiteajuri KJ prosessi (tai aliohjelma?) laite käyttäjäprosessi Ks. Fig 7.4 [Stal03] (ks. Fig 6.4 [Stal99]) 16 Laitteiden käytön toteutus (5) (ed. kalvo) Käyttäjäohjelma kutsuu käyttöjärjestelmän laiteajuria tekemään I/O:n. Laiteajuri suoritetaan samalla suorittimella kuin käyttäjäohjelmakin. Laiteajuri ohjaa laitteen toimintaa laitteen laiteohjaimella olevien kontrollirekisterien (alue c ) avulla Laiteajuri voi lukea laitteen tilatietoa laiteohjaimella olevien statusrekisterien (alue s ) avulla Laiteajuri voi lukea (kirjoittaa) laitteen lukemaa (laitteelle kirjoitettavaa) tietoa laiteohjaimella olevien datarekistereiden (alue data ) avulla Kontrolli-, status- ja datarekisteri kolmikko muodostaa I/O portin suorittimen näkökulmasta 17 Laiteohjaimen rekistereihin viittaaminen (5) Ongelma: miten suorittimella suorittavan laiteajuri viittaa eri kortilla oleviin rekistereihin? Ratkaisu 1: omat I/O-konekäskyt tätä tarkoitusta varten 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 KOKSI: IN, OUT ks. Minix esimerkin port_out [Tane87] 18 Luento 9, Ulkoinen ja I/O 3

Ratkaisu 2: inkuvattu I/O (5) Laiteajuri lukee/kirjoittaa laiteohjaimella olevia rekistereitä (data, status/kontrolli) tavallisilla n luku/kirjoitus käskyillä load R1,=DiskRd ei tarvita erillisiä I/O-konekäskyjä! store R2, DiskCtr laiteohjaimella olevat laiterekisterit ovat samanlaista viitattavaa a kuin normaali soitteen ensimmäiset bitit (ei siis käskykoodi) valitsevat, mille laitteelle (vai tavallisen in) viittaus kohdistuu voidaan käyttää rinnan I/O DiskCtr käskyjen EQU kanssa 0x80000001 (laiterekistereihin voi siis viitata sekä I/O-käskyillä että inkuvatun I/O:n avulla) esim. Intelin arkkitehtuurit 19 I/O tyypit (2) Suora I/O: laiteajuri odottaa tiukassa silmukassa, kunnes laiteohjaimen statusrekisteri ilmoittaa I/O-pyynnön valmistuneen (direct I/O) laiteajuri siirtää tietoa n ja datarekisterin välillä Epäsuora I/O: I/O:n odotusaikana suorittimella suoritetaan jotain muuta ohjelmaa (indirect I/O Kun I/O-pyyntö valmistuu, laiteohjain interrupt antaa driven I/O) keskeytyksen (laitekeskeytys, I/O interrupt) suorittimelle, joka (jonkin ajan kuluttua) jatkaa kesken jäänyttä I/O-pyynnön esittänyttä ohjelmaa. laiteajuri siirtää tietoa n ja datarekisterin välillä 20 I/O tyypit (jatkoa) (4) DMA - Direct Memory Access älykkäämpi laiteohjain laiteohjain voi suoraan kopioida tiedot keskusin laiteajurin ei tarvitse laiterekistereitä käyttäen siirtää tietoa n ja datarekisterin välillä laiteohjain tekee paljon suuremman määrän työtä itsenäisesti (kuin epäsuorassa I/O:ssa) ennen suorittimelle annettavaa laitekeskeytystä Tiedostopalvelin (Lähi)verkossa oleva palvelin Käytettäessä tiedoston (osien) kopio on ssa (ja ehkä myös paikallisella llä) suoritin suoritin orig. tiedosto tiedoston kopio? Tiedostopalvelin 21 22 Tiedostopalvelin (4) Käytetään kuten paikallista ä oman systeemin KJ:n liitospalikan avulla Paljon hitaampi kuin paikallinen Tiedostovälit (puskurit tai puskurit) nopeuttavat (file cache) toimintaa käytännössä omassa järjestelmässä palvelimella 50% oman järjestelmän keskussta voi olla varattu tiedostovälille tiedon päivitys tiedoston kirjoituksen yhteydessä? Lisää tietoa? KJ kurssit 23 24 Luento 9, Ulkoinen ja I/O 4

Esimerkki: kirjoittimen laiteajuri ttk-91 koneelle (5) Laitteella voi tulostaa kokonaislukuja yksi kerrallaan Muistiinkuvattu I/O, suora I/O Laiteportti kontrollirekisteri paikka 1048576 = 0x80000 tilarekisteri paikka 1048577 = 0x80001 datarekisteri paikka 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 25 Esim: laiteajurin toteutus (12) ptrctr DC 1048576 ; control register address ptrstat DC 1048577 ; status register address Solution with no timeout ptrdata DC 1048578 ; data Print register PUSHR address SP ;save regs retval EQU -3 LOAD R1, pardata(fp) pardata EQU -2 STORE R1, @ptrdata ; data to print Oleta: SVC:n ja IRET:n toteutus samalla tavalla kuin CALL ja EXIT ptrctl ptrstat ptrdata 1 01 200 See: driver.k91 LOAD R1, =0 STORE R1, @ptrstat ; init (clear) state register LOAD R1, =1 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 IRET SP, =1 26 Erilaisia jä Kiinto ZIP ke Levyke CD-ROM, CD-R, CD-RW DVD...?... 27 28 Kiinto Kiinteä, ei vaihdettavissa oleva (hermeettisesti suljettu kotelo) Tila: 0.150-181 GB (v. 2000) Hakuaika: 5-15 ms 1-10 ä Pyörimisnopeus: 4500-10800 rpm 16 g 43 x 36 x 5 mm Siirtonopeus: 5-50 MB/sec Zip & Jaz keasemat Vaihdettava ke Tila: 0.1-2 GB Hakuaika: 10-30 ms Pyörimisnopeus: 3000-5400 rpm Siirtonopeus: 1-6 MB/sec 29 30 Luento 9, Ulkoinen ja I/O 5

Levykeasema CD - Compact Disc Vaihdettava ke Tila: 1.44 MB Hakuaika 90 ms Pyörimisnopeus 300 rpm Siirtonopeus 0.05 MB/sec Vaihdettava ke CD-R (Recordable) CD-RW (Rewritable) Yksi pitkä spiraalimainen ura Tila: 650 MB Hakuaika 90 ms Pyörimisnopeus 200-9000 rpm Siirtonopeus 0.1-2 MB/sec 31 32 DVD - Digital Versatile Disk Vaihdettava ke DVD-ROM DVD-R (Recordable) DVD-RAM kuten tavallinen kova Tila: 4.7-17 GB Hakuaika 100-180 ms Pyörimisnopeus 2000-8000 rpm Siirtonopeus 2-8 MB/sec hitaampi kuin kova Fig. 5.47 from Hennessy-Patterson, Computer Architecture Alpha AXP 21064 memory hierarchy käsky TLB (virt.n tueksi) käskyväli Käskyjen ja datan yhteinen L2 väli Lisää tietoa? Tietokoneen rakenne -- Luennon 9 loppu -- data TLB dataväli 33 34 Luento 9, Ulkoinen ja I/O 6