Luento 12 Yhteenveto

Samankaltaiset tiedostot
Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Tavoitteet (4) Luento 12 Yhteenveto. Keskeisiä asioita. Mitä hyötyä tästä on? (2) Esimerkkikone: TTK-91 laitteisto suoritin - CPU

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

Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright Tavoitteet (4)

Luento 12 Yhteenveto

Luento 12 Yhteenveto

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

Tietokoneen toiminta, K Tavoitteet (4)

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

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2003

Luento 12 Yhteenveto. Tavoitteet. Keskeisiä asioita. Mitä hyötyä tästä on? Esimerkkikone: TTK-91 laitteisto. Tietokoneen toiminta 27.4.

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Käännös, linkitys ja lataus

Tietokoneen toiminta (Computer Organization I)

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

Tietokoneen toiminta (Computer Organization I)

Kertausluento luennoista 1-3 1

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

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Luento 4 Aliohjelmien toteutus

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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

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)

Luento 4 Aliohjelmien toteutus

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

Tietokoneen toiminta Copyright Teemu Kerola Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

Kertausluento 2 (lu04, lu05, lu06) Aliohjelmien toteutus Suoritin, väylä, tiedon esitys

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Luento 4 Aliohjelmien toteutus

Tietokoneen toiminta (Computer Organization I)

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Aihepiiri Tietokoneen toiminta (Computer Organization I)

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

Tietokoneen toiminta (Computer Organization I)

Luento 4 Aliohjelmien toteutus

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

Jakso 4 Aliohjelmien toteutus

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

Jakso 8 Ohjelman toteutus järjestelmässä

Jakso 10 Ohjelman suoritus järjestelmässä

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Luento 10 Käännös, linkitys ja lataus

Jakso 4 Aliohjelmien toteutus

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

Jakso 4 Aliohjelmien toteutus

Jakso 8 Ohjelman toteutus järjestelmässä

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Lausekielestä suoritukseen (3) Luento 10 Käännös, linkitys ja lataus. Assembler-kielinen käännösyksikkö (2) Objektimoduuli (2) Symbolitaulu

Luento 10 Käännös, linkitys ja lataus. Käännös Linkitys Dynaaminen linkitys Lataus

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

Jakso 10 Ohjelman suoritus järjestelmässä. Käännös Linkitys Dynaaminen linkitys Lataus

Luento 10 Käännös, linkitys ja lataus

Lausekielestä suoritukseen (3) Luento 10 Käännös, linkitys ja lataus. Assembler-kielinen käännösyksikkö (2) Käännösyksikkö (4) Objektimoduuli (8)

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

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 10 Ohjelman suoritus järjestelmässä

Jakso 5 Suoritin ja väylä

Jakso 8 Ohjelman suoritus järjestelmässä

Muistihierarkia Kiintolevyt I/O:n toteutus

Jakso 5 Suoritin ja väylä

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

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 5 Suoritin ja väylä. Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne

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

Aliohjelmien toteutus Suoritin ja väylä

Tietokoneen toiminta Teemu Kerola, Copyright Muistihierarkia

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

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

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)

Oppimistavoitteet kurssilla Tietokoneen toiminta

Luento 5 Suoritin ja väylä

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

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

Järjestelmän ulkoinen muisti I/O

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

1. Keskusyksikön rakenne

Kurssin esittely Tavoitteet Komponentit

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 8 Ohjelman toteutus järjestelmässä

Transkriptio:

Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Luento 12 Yhteenveto Tavoitteet Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa? Minkälaista koodia ymmärtää? Mikä on käyttöjärjestelmän rooli ja perustoiminnot? 1 2 Mitä hyötyä tästä on? Ohjelman suoritusnopeus perustuu suorittimen (CPU) suorittamiin konekäskyihin, ei pelkästään ohjelman korkean tason esitysmuotoon Korkean tason kielen esitys on silti tärkeä! Ylemmän tason asioiden ymmärtäminen on helpompaa (mahdollista), kun ymmärtää alemman tason asiat 3 Keskeisiä asioita Järjestelmä kokonaisuudessaan, nopeuserot esimerkkikone ja sen käyttö Ohjelman suoritus konekielen tasolla, rekisterit, t, konekäskyjen suoritussykli, keskeytykset aktivointitietuepino, aliohjelmien toteutus Tiedon esitysmuodot (ohjelma vs. laitteisto) I/O laitteet ja I/O:n toteutus laiteajurit, laitekeskeytykset, levy Käyttöjärjestelmän perustoiminnot prosessi ja sen toteutus (PCB) ohjelmien suoritus järjestelmässä käännös, linkitys, lataus tulkinta, emulointi, simulointi Esimerkkejä keskeisistä asioista seuraavilla kalvoilla 4 Esimerkkikone: TTK-91 laitteisto - CPU ALU CU rekisterit (kirjastorutiinit) (käyttöjärjestelmä) Nopeuserot: Teemun juustokakku Rekisterien, välin, n, levyn ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä? Europa (Jupiter) jääkaappi käsi pöytä kuu (väli) MMU ohjelma data laiteohjaimet 2008: 1 sek 0.5 sek (väli- 10 sek (rekisteri) ) () 12 pv (levy) kuilu kuilu 0.5 ns? 10 ns? 4 ms? kasvaa kasvaa (50 pv?) Michael Crumpton 4 v (verkko,ihminen) 1 s? (n 65 v?) 5 6 Luento 12, Yhteenveto 1

Konekielinen ohjelmointi for (int i=20; i < 50; ++i) T[i] = 0; muuttujat, vakiot taulukot (2D), tietueet ssa, rekisterissä? valinta, loopit aliohjelmat, SVC:t parametrit, paikalliset muuttujat I DC 0 LOAD R1, =20 STORE R1, I Loop LOAD R2, =0 LOAD R1, I STORE R2, T(R1) LOAD R1, I ADD R1, =1 STORE R1, I LOAD R3, I COMP R3, =50 JLES Loop Parametrien tyyppi? arvo-, viite- ja nimiparametrit Aktivointitietue (Aktivointitietuepino) Aliohjelman toteutusmuoto (ttk-91) funktion paluuarvo (tai kaikki paluuarvot) kaikkien (sisäänmeno- ja ulostulo-) parametrien arvot paluuosoite kutsukohdan aktivointitietue kaikki paikalliset muuttujat ja tietorakenteet aliohjelman ajaksi talletettujen rekistereiden alkuperäiset arvot (activation record, activation frame) int funca (int x,y); paluuarvo param x param y vanha PC vanha FP paik. m. i1 paik. m. i2 vanha R1 vanha R2-2 +1 7 8 Käskyjen nouto- ja suoritussykli Hae käsky PC++ noutosykli Noutosykli M=2 M>0 lue sta pura käsky, M=0 laske osoite suorita käsky pushr suoritussykli kirj. iin write push pushr D=0 (SR) tarkista keskeytykset Suorittimen suoritustilat user kernel Käyttäjätila (user mode, normal mode) voi käyttää vain tavallisia käskyjä Miten ja voi viitata vain käyttäjän omaan milloin avaruuteen (MMU valvoo) tila vaihtuu? Etuoikeutettu tila tai (KJ:n) ytimen tila (kernel mode, privileged mode) voi käyttää kaikkia konekäskyjä, myös etuoikeutettuja (esim. clear_cache, iret) voi viitata kaikkialle in, myös käyttöjärjestelmän ytimeen (kernel) voi käyttää (myös) suoria osoitteita (PA, physical address) 9 10 Tiedon esitysmuodot + 15 0.1875 = 0.0011 sign exponent mantissa or significand 23 bittiä mantissalle, siten että... kokonaisluvut liukuluvut 1) Binääripiste (.) on heti merkit ensimmäisen bitin jälkeen merkkijonot 2) kuvat Mantissa on normalisoitu: vasemmanpuolimmainen äänet bitti on1 3)Vasemmanpuolimmaista (eniten merkitsevä) ei-standardoitu bittiä (1) tieto? ei talleteta (implied bit) suorittimen ymmärtämä tieto? 1/8 = 0.1250 1/16= 0.0625 0.1875 mantissa eksponentti 0.0011 15 1.1000 12 1000 12 24 bitin mantissa! Prosessi, prosessin tilat ja elinkaari luonti ready-to-run valmis suoritukseen odottaa waiting running suorituksessa Milloin tila vaihtuu? Mitä silloin tapahtuu (konekäsky tasolla)? Kuka tai mikä aiheuttaa tilan vaihdon? poistettu tai tapettu 11 12 Luento 12, Yhteenveto 2

R-to-R waiting Prosessit jonoissa ja PCB 1056 1766 Running 0188 Disk1 Timer 0036 7654 9878 0555 Msg from 1345 2222 Prosessin 9878 kuvaaja (PCB) Vuoronanto: valitse seuraava prosessi Ready-to-Run -jonosta ja siirrä se suoritukseen CPU:lle (kopioi tämän prosessin suorittimen tila suorittimelle) laite I/O:n toteutus, laiteohjain ja laiteajuri Muisti data c/s laiteohjain laiteohjainprosessi (device controller) laiteajuri (KJ prosessi) laite käyttäjäprosessi Suora I/O Epäsuora I/O DMA I/O 13 14 Levyjen käyttö Tiedosto koostuu useista ista per sektori (tai usea sektori) Levyn hakemistossa on tieto kunkin tiedoston käyttämistä ista luetaan t annetussa järjestyksessä hakemisto alkio FileA indeksi (unix) 15 Lausekielestä suoritukseen Käännös lausekielestä Linkitys muiden ja kirjastomoduulien kanssa Lataus in prosessia varten Käännösyksikkö myprog.c Lausekielinen ohjelma tai moduuli symboliset osoitteet Ajomoduuli myprog.exe lineaariset osoitteet (1 osoiteavar.) osa puutteellisia (?) Prosessi Suorituskelpoinen ohjelma lineaariset osoitteet (virt. os.avar.) prog.c Objektimoduuli myprog.obj prog.o Käännetty ohjelma (konekielellä) lineaariset osoitteet (per moduuli) math.l prog PCB (prog) 16 Tulkinta ja emulointi JVM virtuaalikone tulkki Pentium II lataus iload i iload j iadd istore k k = i+j; ohjelma n byte-koodi käännös iload i iload j iadd istore k ( esimerkiksi) natiiviympäristö byte-koodi (JIT) kääntäjä Pentium II 17 Aihepiirien välisiä riippuvuuksia Ohjelmointikielet Käyttöjärjestelmät Tietoliikenne Ohjelmointi toiminta Laskennan teoria Sovellukset dl latausmoduuli Tietokonearkkitehtuuri Samanaikaisuuden hallinta 18 Luento 12, Yhteenveto 3

Kurssien välisiä riippuvuuksia rakenne, 4 op Rinnakkaisohjelmointi Tietoturvan per. Pakolliset perus- ja aineopinnot toiminta Internet Haj. järjest. Tietoliik. perusteet Spes. & verif perusteet Syventävät opinnot (Haj. järj. ja tietoliikenne) rakenne Käyttöjärjest. Yksi taso alaspäin TITOsta LuK ja FM opintojen valinnainen kurssi Sopiva 2. vuoden opiskelijalle, heti TITOn jälkeen Useissa yliopistoissa yhdistetty TITOon Miten kellopulssi saa suorittimen suorittamaan konekäskyjä? Miten suorittimen aritmetiikka on toteutettu? Usea käsky on todellisuudessa suorituksessa samanaikaisesti (monellakin tavalla!) Miten tämä toteutetaan, mitä ongelmia siitä seuraa ja miten noita ongelmia ratkotaan? 19 20 Käyttöjärjestelmät, 4 op Sopiva 4. vuoden opiskelijalle Hajautettujen järjestelmien ja tietoliikenteen erikoistumislinjan maisteriopintojen pakollinen opintojakso Käyttöjärjestelmän rooli prosessien ja resurssien valvojana Samanaikaiset prosessit resurssien käyttäjinä Systeemin resurssien jakelu Prosessien vuoronanto (skedulointi) Jatkoa Hajautetut järjestelmät, 4 op Tietoliikenteen perusteet, 4 op Sopiva 2. vuoden opiskelijalle Aineopintojen pakollinen kurssi Tietokoneverkkojen peruspalvelut käyttäjälle ja sovelluksille Verkkojen tiedonsiirron perusvälineistö Verkkoarkkitehtuurin kerrosrakenne ja kunkin tason palvelut Internet-, 4 op 21 22 Tietoliikenteen perusteet Sovellus Sovellus rajapinta Kuljetuskerros Verkkokerros Siirtoyhteyskerros TCP/IP -kerrosmalli sovellus kuljetus verkko siirto Sovellus Sovellus rajapinta TCP, UDP IP Ethernet, token ring, PPP Rinnakkaisohjelmointi, 4 op Sopiva: 2. vuoden opiskelijoille Aineopintojen pakollinen kurssi Samanaikaisuuden aiheuttamat ongelmat järjestelmä kaatuu miksi niin kävi? Prosessien synkronointi eri tapauksissa odottamalla vai prosessia vaihtamalla? miksi? milloin? Prosessien kommunikointi eri tavoin yhteinen alue? viestit? miksi? milloin? verkon ylitse? Hajautetut järjestelmät, 4 op semaforit monitorit kohtaaminen vartioitu rinn. odotus rpc, viestit rinnakkaisohjelmointi 23 24 Luento 12, Yhteenveto 4

Spesifioinnin ja verifioinnin perusteet, 4 op Sopiva: 4. vuoden opiskelijalle Maisteriopintojen valinnainen erikoiskurssi Lähtötiedot: hajautuksen ja samanaikaisuuden problematiikka, TiLi, Rio Mallinnetaan prosesseja siirtymäsysteemeillä askel: konekäsky? metodi? tapahtuma? ohjelma? Automaattisen verifioinnin periaatteet Yksinkertaisien protokollien verifiointi Ohjelmien semantiikka (?), 6 op Automaattinen verifiointi (?), 6 op Laskennan teorian perusta (2) - CPU - CPU 500 miljoonaa lukua á 10 numeroa Ohjelma P Data 25 26 Laskennan teoriaa (5) Ohjelma P Data Laskennan teoriaa... (5) Mielivaltaisten ohjelmien ominaisuuksia voi päätellä kokonaislukujen ja niiden välisten funktioiden ominaisuuksista Muistin sisältö ennen P:n suoritusta: X = hyvin iso kokonaisluku (500M numeroa?) laskennan teoria Muistin sisältö P:n suorituksen jälkeen: P on kokonaislukuarvoinen funktio Y = joku toinen hyvin iso luku P: N N Ohjelman P esitysmuoto ssa:iso kokonaisluku, P N 27 Todistettuja lauseita ohjelmien ominaisuuksista pätevät kaikille tietokoneille pätevät aina: nyt ja tulevaisuudessa 28 Laskennan teoriasta ja algoritmianalyysistä todistettuja lauseita (4) Valitaanpa mikä tahansa aikaraja tai n koko, niin aina on olemassa sellainen ongelma, että (1) siihen on olemassa ratkaisu ja (2) kaikki ongelman ratkaisevat ohjelmat vievät enemmän aikaa tai tilaa kuin ennalta annettu raja On olemassa sellaisia ongelmia, että niitä ei voi ratkaista millään tietokoneella On olemassa suuri joukko tunnettuja vaikeita ongelmia, joista ei vielä tiedetä, kuinka vaikeita ne oikeastaan ovat? P = NP 29 -- Luennon 12 ja koko kurssin loppu -- http://lue.kurssikokeeseen.edu/ajoissa.html http://www.retroweb.com/apollo_retrospective.html 30 Luento 12, Yhteenveto 5