08.03.2018 13:13 Teemu Kerola
Verkkoluennot on tehty 2004-2005. Numerotiedot luennoissa voivat olla vähän vanhoja, mutta muutoin ne ovat täysin käyttökelpoisia. Alkuperäiset Authorware verkkoluennot ovat TKTL intranetissä.
Verkkoluennoista on Flash versiot. Ne on tallennettu aika tiiviisti - suosittelen pause-napin käyttöä eri näkymien välissä sopivan hitaan opiskelutahdin saamiseksi.
Verkkoluennoista on mp4 versiot. Ne on tallennettu aika tiiviisti - suosittelen pause-napin käyttöä eri näkymien välissä sopivan hitaan opiskelutahdin saamiseksi. Ne ovat kooltaan yli 20-kertaisia flash- versioihin verrattuna - tämä kannattaa huomioida, jos lataatte niitä hitaan yhteyden ylitse.
Verkkoluennoista on myös pdf versiot. Niissä ei ole puhuttua tekstiä, mutta opettava tekstimateriaali on luettavassa muodossa.
Web Lectures in Flash. Only lu01e, lu02e, lu03e, lu04e are English. They are recorded pretty tight - I recommend using the Pause button between views to achive slower paced viewing better suitable for studying.
Johdanto Otsake Luennon rakenne Yleiskuva Tietokone Ohjelman sijainti ja esitysmuoto Sijainti käyttäjän kannalta Pitkäaikainen talletus Suoritusaikainen talletus Konekieli Symbolinen konekieli Ohjelma vs. konekieli Ohjelman esitysmuodot C esimerkki Laitteiston nopeus Suorittimen ja muistin sisältö Laitteiston nopeus Juustokakku Yhteenveto Mitä opimme? Anna arvio
Johdanto Otsake Luennon rakenne Konekielinen ohjelmointi Miksi konekieltä? Miksi ei oikeata konekieltä? Ttk-91 yleiskuva ja laitteisto Yleiskuva Laitteisto Rekisterit Kontrolliyksikkö Tilarekisterin kuvaus Tilarekisterin bitit Muistinhallintayksikkö Ttk-91 käskyt Käskykannan rakenne Tietotyypit Käskytyypit Symbolinen konekäsky Todellinen konekäsky Käskyesimerkkejä Tiedon osoitusmuodot Indeksointi Tiedonosoitusesimerkit Taulukot ja tietueet Ttk-91 operaatiot Operaatiot Muistiinviittausoperaatiot I/O-operaatiot Kokonaislukuoperaatiot Bittimanipulaatiokäskyt Bittien siirtokäskyt Kontrollinsiirtokäskyt Muut käskyt Kääntäjän ohjauskäskyt Ttk-91 ohjelmat ja simulaattori Ohjelma Hello.k91 Ohjelma Sum.k91 Ttk-91 simulaattori Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Tiedon sijainti Tiedon sijainti suoritusaikana Tiedon viittaamistavat Tieto ja sen osoite Osoitteen osoite Osoitinmuuttujat Kaikkialla näkyvä data Muistitilan käyttö Muistitilaesimerkki Muistissa oleva data Tiedon sijainti laitteistossa Konekielen perusteet Peruskäsitteet Aritmeettinen lauseke Taulukko Tietue Kontrolli yleensä If-then-else Case Toistolauseet For-step-until While-do Monimutkaisempi konekieli Koodin generointi Optimoitu For-lause Virhetilanteet Taulukon indeksitarkistus Taulukon alaraja ei ole nolla Moniulotteiset taulukot Esimerkki 2-ulotteisesta taulukosta Moniulotteisten taulukoiden talletus Monimutkaiset tietorakenteet Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Aliohjelmat ja niiden parametrit Aliohjelmatyypit Muodolliset ja todelliset parametrit Parametrityypit Arvoparametri Viiteparametri Nimiparametri Aliohjelman toteutus Aliohjelman komponentit Aktivointitietue Aktivointitietuepino Aktivointitietueen käsittely Esimerkki: aliohjelmakutsu Esimerkki: aliohjelman toteutus Viiteparametrit Aliohjelma kutsuu toista aliohjelmaa Rekursiivinen aliohjelma Esimerkki: rekursio KJ-palvelun kutsu Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Yleiskuva Järjestelmän komponentit Suorittimen rakenne Muistin rakenne Konekäskyjen suoritussykli Käskyjen nouto- ja suoritussykli Systeemin tila Konekäskyn rakenne Nouto- ja suoritussykli tarkemmin Käskyn noutovaihe Käskyn purku Operandin luku muistista ALU-operaatio Muistiinkirjoitus Ttk-91 nouto- ja suoritussykli MMU'n toiminta ja virtuaalimuisti MMU'n tekemä osoitteenmuunnos Ttk-91 virtuaalimuisti Osoitteenmuunnosmenetelmät Sivuttava virtuaalimuisti Virtuaalimuistin piirteitä Virtuaalimuistin ongelmia Poikkeukset ja keskeytykset Keskeytystilanteet Keskeytysten käsittely Keskeytyslajit Käskyn virhetilanteet Käskyn muut poikkeustilanteet Ulkoapäin tulleet keskeytykset Keskeytyskäsittelijä Keskeytykset nouto- ja suoritussyklissä Suorittimen suoritustila Erilaiset suoritustilat Suorittimen tilan muuttaminen Väylä Yleiskuva Esimerkki: väylähierarkia Ttk-91 simulaattori Rakenne Toiminta Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Tiedon tyypit ja esitys Tyyppien luokittelu Tieto laitteistossa Tiedon esitystapa Suorittimen ymmärtämä tieto Lukujärjestelmät Binäärijärjestelmä Binäärilukujen laskutoimitukset Binääripiste Muunnokset 2to10 ja 10to2 Esimerkki: 10to2 kokonaisosa Esimerkki: 10to2 desimaaliosa Heksadesimaaliesitys Oktaaliesitys Monitavuinen tieto Tavujen talletusjärjestys Big vs. Little Endian Kokonaisluvut Negatiiviset kokonaisluvut Kahden komplementti Liukuluvut Liukuluvut Liukulukujen esitys IEEE liukulukustandardi IEEE liukulukuesimerkkejä IEEE esitystapaa vastaava arvo Merkit ja merkkijonot Merkkien esitystapa UCS ja Unicode Merkkijonot Totuusarvot Talletus ja käyttö Kuvat, äänet ja muu data Kuvien talletus Kuvien käsittely Videokuva Näytönohjain Äänen talletus Muu tieto Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Esitysmuodot Konekäskyjen esitysmuoto Ttk-91 konekäskyn rakenne Taulukkojen esitysmuoto Tietueiden esitysmuoto Olioiden esitysmuoto Tiedon muuttumattomuus Tiedon tarkistus Muuttumattomuuden valvonta Esimerkki: henkilötunnus Bittitason tarkistukset Pariteettibitti Hamming-etäisyys Virheen korjaava koodi Hamming koodi Esimerkki: Hamming-koodi Cyclic Redundancy Code Käyttöalueet Laitteiden monistaminen Välimuisti Perusidea Piirteitä Muisti Muistin toteutus RAM teknologia ROM teknologia ROM teknologian kehitys Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Prosessi Ohjelman esitysmuoto Ohjelma ja prosessi Prosessin elinkaari Prosessin esitysmuoto Kuvaajan sisältö Prosessin tilanvaihto Prosessit jonoissa Esim: I/O-keskeytys Prosessin vaihdon toteutus Esimerkki: prosessin vaihto Prosessin prioriteetti Käyttöjärjestelmä palvelut Käyttäjän näkökulma Ylläpitäjän näkökulma Käyttöliittymä laitteistoon Käyttöjärjestelmän tavoitteet Resurssien valvonta Eheyden turvaaminen Käyttöjärjestelmän rakenne Pääosat KJ-rutiinien suorittaminen KJ-rutiinien kutsu ja paluu KJ:n suoritus Esimerkki KJ-palvelusta Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Muistin eri tasot Muistihierarkia Virtuaalimuisti Virtuaalimuistin toteutus Kiintolevyt Fyysinen rakenne Levymuistin saantiaika Tiedoston talletus levylle Tiedostot ja VM tukimuisti DOS/FAT-levyke Hakemistoalkio ja FAT FAT-esimerkki I/O laitteet Laitteiden liittäminen Laiteohjain Laiteohjaimen käsittely I/O tyypit Laiteajuri esimerkki Laiteajuri toteutus Tiedostot Tiedostojärjestelmä Tiedostopalvelin Erilaiset levymuistit Magneettiset levyt Optiset levyt USB muistitikku Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Lausekielinen ohjelma Käännöksen vaiheet Ttk-91 esimerkki Ttk-91 objektimoduuli Korkean tason kielet Assembler-käännös Käännöksen vaiheet Ttk-91 esimerkki Ttk-91 objektimoduuli Korkean tason kielet Linkitys Uudelleensijoitusongelma Esimerkki Viittauskohdat linkitettynä listana Staattinen linkitys Windows DLL Sijainnista riippumaton koodi Lataus Toiminta Nimien sidonta Yhteenveto Mitä opimme? Kokonaisarvio
Johdanto Otsake Luennon rakenne Java virtuaalikone (JVM) Java-ohjelmien suoritustavat Java virtuaalikone Pino Metodialue Vakioallas Keko Natiivimenetelmien pinot Rekisterit Kehys tarkemmin Paikalliset muuttujat Tiedon osoitusmoodit Yksinkertainen esimerkki Käskykanta Java ohjelmien suoritus Erilaiset suoritustavat Java-tulkki Käännös natiivikoneelle Just-In-Time -käännös Java-suoritin PicoJAVA II pino PicoJava II rekisterit PicoJAVA II käskyjä PicoJAVA II toteutuksia MAJC Tulkinta ja emulointi muualla C# ttk-91 Transmetan Crusoe Yhteenveto Mitä opimme? Kokonaisarvio