Tietokoneen toiminta, verkkokurssi
Tämä on elokuun 2005 suunnitelma. Uusin toteutus on Syksyn 2005 kurssi.
Tämä aikataulu- ja sisältösivu päivittyy aina tarpeen tullen eli siis aika usein. Tarkkailkaa tätä sivua ainakin viikoittain kurssin aikana. Kurssin sisältö voi vielä jonkin verran muuttua aika myöhäänkin.
This is a web version of normal lecture course. It is not recommended for foreign students. All lectures and practice sessions will be in Finnish only.
Suoritusmuoto
Tämä on verkkokurssi, jonka sisältö vastaa tavanomaista Tietokoneen toiminta (2 ov) luentokurssia.Kurssimateriaali
- Tavalliset luennot
- Intro (luento 0) + lopetus (luento 12)
- videointi ja tallennus verkkoon?
- Verkkoluennot:
- Opintopiiri
- uudet, opintopiireille sopivat tehtävät
- viikoittaiset pienemmät harjoitustehtävät, kuten vanhat laskarit
- tehdään itsenäisesti tai ryhmän kanssa
- esitellään viikoittaisessa ryhmätapaamisessa
- projektit
- vähän haastavampi ohjelmointitehtävä
- kertaustehtäviä
- Verkossa tehtävät harjoitustehtävät
(ei vielä, ohjelmisto ei ole riittävän hyvä)
- titokone?
- eAssari protot
- (410, FI) Aritmetiikkaharjoitus 1
- (430, FI) Aliohjelman kutsu
- (450, FI) Funktion Simple toteutus
- (450, EN) Function Simple implementation
- Verkossa olevat kertaustehtävät
- Verkkoneuvonta
- chatti? wiki? blogi?
- puhelinkonferenssi?
- tietyt ajat? joka viikko? joka päivä? joka ilta?
- Moodle ympäristö?
- Ylimääräinen raportti
Oppikirja ja konekielisen ohjelmoinnin simulointiympäristö
Suosittelen, että hankitte oheislukemistoksi käyttöönne Stallingsin kirjan ([Stal06] tai [Stal03]), vaikka se ei olekaan ihan välttämätön. Tanenbaum'in [tane06] kirjaa tuskin kannattaa vain tätä kurssia varten ostaa.
- [Stal06], luvut 1-2, 3-3.1, 4.1, 5-5.2, 6-6.1, 7-7.5, 8-8.2, 9-9.2, 10
- [Tane06], luvut 4.2, 7.3-7.4
- Esimerkkitietokoneen ttk-91 uusi konekielisimulaattori TITOKONE
- ttk-91 -tietokoneen yleiskuva ja toiminta: ks. luentokalvot luentoihin 2-4
Yleistä
- Kurssiin liittyvät yleiset asiat (siis muut kuin erityisesti tähän verkkokurssiin
liittyvät asiat) ovat kurssin kotisivulla http://www.cs.helsinki.fi/teemu.kerola/tito/index.html.
- Kurssin uutisryhmä on hy.opiskelu.tktl.tito. Uutisryhmä on tarkoitettu opiskelijoiden ei-realiaikaiseen keskinäiseen kommunikointiin.
- Jos haluatte (nopeaa) reagointia (esim. jokin verkkosivu ei aukea ajoissa) luennoitsijalta, niin käyttäkää sähköpostia. Kaikkia kurssilaisia kiinnostavat asiat julkaistaan luennoitsijan puolesta mieluummin tällä foorumilla (tämä sivu) kuin uutisryhmässä tai jutusteluhuoneessa.
Ohjausajat
Luennot | 1.11.-8.12.2005 | ti, to 12-14 (B123) | Teemu Kerola |
Harjoitukset |
7.11.-9.12.2005 | ti 14-16 (C221) | Jari Suominen |
ke 14-16 (CK107) | Kimmo Simola | ||
to 10-12 (CK111) | Kimmo Simola | ||
to 14-16 (CK107) | Kimmo Simola | ||
Kurssikuulustelu | 13.12.2005 | ti 9-12 |
Arviointi
Nämä ovat hyvin alustavia suunnitelmia. Kaikki arvosteluperusteet voivat vielä muuttua kokoaan ennen syksyn 2005 kurssia.
Tämä arvostelu on nimenomaan vasta idea. Kommentteja otetaan mielellään vastaan. Tavoitteena on päästä arviointiin, jossa (a) ryhmää palkitaan työn saattamisesta loppuun, (b) paljon muita enemmän työtä tehneet palkitaan paremmalla arvosalla ja (c) paljon muita vähemmän tehneet huomaavat sen myös arvosanassaan. Tämä perusidea on ärsyttävän hankala muotoilla täsmällisiksi arviointiperusteiksi.
Yhteensä 60 p, 30 tarvitaan läpipääsyyn (MIKÄ OLISI PARAS TAPA JAKAA PINNAT??)
Opintopiirien pientehtävät (6 kpl): max 6 p
Opintopiirien projektit (4 kpl): max 24 p (+25% ?)
Kursssikuulustelu max 30 p, minimivaatimus 15 p
Ylimääräinen raportti max 8 p (jolla voi korvata esim. huonoa koemenestystä)
Ylimääräisen raportin arviointi
Raportti arvostellaan asteikolla 1-5. Normaalityöstä saa arvosanan 3 ja erityisansioilla paremman.
Hyväksytystä raportista saa 3 pistettä arvosanan pisteiden lisäksi.
Raportin pisteet vaikuttavat kurssin arvosteluun raportin osuuden puitteissa.
Esimerkki 1. Raportin arvosana on 4. Pisteitä tulee yhteensä 7
Verkkoluennot
Verkkoluennon seuraaminen vaatii oman liitospalikan (Macromedia Authorware Web Player) selaimeen. Sen pitäisi kuulua Windows'in vakioasennukseen laitoksen opiskelijakäyttöön tarkoitetuissa tiloissa. Tätä ei (valitettavasti) voi itse asentaa laitoksen koneisiin, kuten ei muitakaan selainten liitospalikoita. Liitospalikka on olemassa ainoastaan Windows ympäristöön. Sorry. Voitte kokeilla liitospalikan toimivuutta tästä. Järjestelmä antaa liitospalikka käynnistettäessä erilaisia asiaan kuuluvia varoituksia, mutta nähdäkseni liitospalikka on turvallinen käyttää.
Tietojenkäsittelytieteenlaitoksen koneilta verkkoluentoa voi seurata myös Linux-ympäristöissä Windows 2003 Terminal Server -palvelimen avulla. Palvelin mahdollistaa Windows-ympäristön käytön ohjelmistoineen etänä, jopa Linux-koneilta. Palvelimen käyttö laitoksen Linux-koneilta onnistuu yksinkertaisesti komennolla "windows". Tämä avaa ruudulle Windows-järjestelmän sisäänkirjautumisruudun. Kirjautuminen tapahtuu normaaleilla laitoksen TKTL-domainin tunnuksilla (joka on sama kuin Linux-järjestelmän käyttäjätunnus). Palvelimen IE'ssä on valmiiksi asennettuna Authorware liitospalikka. Mikäli haluatte tarkemman kontrollin etäkäyttöohjelmistoon, voitte käyttää suoraan rdesktop (http://www.rdesktop.org) ohjelmistoa komennolla "/usr/local/bin/rdesktop winserver". (Samuli Valo, TKTL, 18.11.04)
Jos Authorware Web Player -liitospalikan käytössä on ongelmia, raportoikaa niistä minulle, kiitos.
Verkkoluentojen käyttöön on on olemassa Käyttöohje ja Usein Kysyttyjen Kysymysten lista, jotka löytyvät verkosta ja ovat myös suoraan käytettävissä verkkoluennoista.
Opintopiirit
Opintopiirien toiminnasta on täsmällisemmät yleisohjeet omalla sivullaan.
Pienet tehtävät ovat samanlaisia kuin vanhat laskaritehtävät. Kaikki tekevät ne itsenäisesti ja ryhmä esittää ne palautetilaisuudessa harjoituksissa. Näistä annetaan pinnoja aktiviteetin mukaan..
Isommat tehtävät oavt laajempia tehtäviä, joista tehdään raportti. Näistä annetaan pisteitä työn laadun ja ryhmätyöhön osallistumisen perusteella. Ryhmä arvioi itse jäsentensä osallistumisaktiviteetin.
Sisältö ja aikataulu
Kurssikirjat täydentävät verkkoluentoja. Jos jokin asia jäi epäselväksi tai muuten vain haluat toisenlaisen lähestymistavan sen oppimiseen, niin tarkista asia kurssikirjasta kyseisen luennonkohdalla annetusta kohdasta.
- Luento 0: Hallintoa
- Verkkoluento (lu00) ???
- Luento 1: Järjestelmän rakenne
- Verkkoluento (lu01)
- Viitteet: Ch 1 [Stal06] (Ch 1 [Stal03] )
- Kertauskysymyksiä
- Luento 2: TTK-91 -tietokone ja sen simulaattori
- Verkkoluento (lu02)
- Viitteet: Ch 3.1, 10.1-3 [Stal06] (Ch 3.1, 10.1-3 [Stal03] )
- Kertauskysymyksiä
- Luento 3: Konekielinen ohjelmointi
- Verkkoluento (lu03)
- Viitteet: Ch 10.4-8 [Stal06] (Ch 10.4-8 [Stal03] )
- Kertauskysymyksiä
- Luento 4: Aliohjelmien toteutus konekielen tasolla
- Verkkoluento (lu04)
- Viitteet: Ch 10.4 [Stal06] (Ch 10.4 [Stal03])
- Kertauskysymyksiä
- Luento 5: Suoritin (CPU) ja väylä
- Verkkoluento (lu05)
- Viitteet: Ch 3.1-3 [Stal06] (Ch 3.1-3 [Stal03])
- Kertauskysymyksiä
- Luento 6: Tiedon esitysmuodot
- Verkkoluento (lu06)
- Viitteet: Ch 10.1-3 [Stal06] (Ch 10.1-3 [Stal03] )
- Kertauskysymyksiä
- Luento 7: Tiedon muuttumattomuus ja järjestelmän sisäinen
muisti
- Verkkoluento (lu07)
- Viitteet: Ch 4.1, 5.1-2 [Stal06] (Ch 4.1, 5.1-2 [Stal03] )
- Kertauskysymyksiä
- Luento 8: Ohjelman toteutus järjestelmässä
- Verkkoluento (lu08)
- Viitteet: Ch 8.1-2 [Stal06] (Ch 8.1-2 [Stal03])
- Kertauskysymyksiä
- Luento 9: Järjestelmän ulkoinen muisti, I/O-laitteet,
I/O:n toteutus
- Verkkoluento (lu09, keskeneräinen)
- Viitteet: Ch 6.1, 7.1-5 [Stal06] (Ch 6.1, 7.1-5 [Stal03])
- Luento 10: Käännös, linkitys ja lataus
- Verkkoluento (lu10, protoversio, päivitetään myöhemmin)
- Tämä on verkkoluennon aikaisempi layout versio. Se tullaan muuttamaan jossain vaiheessa samaan muotoon kuin muutkin verkkoluennot.
- Viitteet: Ch 7.3, 7.4 [Tane06] (Ch 7.3, 7.4 [Tane99] )
- Kertauskysymyksiä
- Luento 11: Tulkinta ja emulointi
- Verkkoluento (lu11, keskeneräinen)
- Viitteet: Ch 4.2 [Tane06] (Ch 4.2 [Tane99])
- Kertauskysymyksiä
- Luento 12: Yhteenveto ja kertausta
- Verkkoluento (lu12)
Kirjallisuutta ja muita viitteitä
- [Stal06] William
Stallings, Computer Organization and Architecture - Designing for Performance,
7th Ed., Prentice Hall, 2006.
- William Stallings'in kotisivu.
- William Stallings'in oma tukisivu kurssikirjaa käyttäville opiskelijoille ja opettajille.
- Otan mielelläni vastaan opiskelijoiden tietoja siitä, mistä tätä kirjaa kulloinkin on saatavana mihinkin hintaan. Välitän tietoja eteenpäin muille opiskelijoille tällä foorumilla.
- [Stal03] William Stallings, Computer Organization and Architecture - Designing for Performance, 6th Ed., Prentice Hall, 2003.
- [Häkk98] Auvo Häkkinen, Tietokoneen toiminta, opetusmoniste
D390 (vanha kurssimoniste), Tietojenkäsittelytieteen laitos, Helsingin
yliopisto, 30.1.1998. Monistetta voi ostaa TKTL:n monistemyynnistä hintaan 15€.
- Monisteen painovirhelista
- Monisteen painovirhelista
- [Tane06] Andrew S. Tanenbaum, Structured Computer Organization, 5th Ed, Prentice-Hall, 2006.
- [Tane99] Andrew S. Tanenbaum, Structured Computer Organization, 4th Ed, Prentice-Hall, 1999.
- [PaHe98] Patterson & Hennessy, Computer Organization and Design - The Hardware/Software Interface, 2nd Ed, Morgan Kaufmann, 1998.
- [Scra92] Greg
W. Scragg, Computer Organization - A Top Down Approach, McGraw-Hill,
1991.
- Ttk-91 -tietokoneen konekielisimulaattori Titokone on kopioitavissa
verkosta
- Titokoneen tiedostojen paikalliset kopiot
(Titokone files, local copies):
- Asennusohje (Titokone Installation Instructions)
- Käyttöohje (Titokone User's Manual)
- Ttk-91 koneen käskyt (ttk-91 instruction summary)
- Titokoneen vähän erikoisemmat piirteet tai ongelmat.
- Asennustiedostot (versio 1.1): titokone.jar ja titokone.zip .
- Kaikki Titokoneeseen liittyvä materiaali löytyy myös
sen keväällä
2004 toteuttaneen Koski-ohjelmistotuotantoprojektin
sivuilta. Ohjelmiston suunnittelivat ja toteuttivat Olli Alm, Seppo Hätönen,
Sini Ruohomaa, Antti Takalahti, Sampo Yrjänäinen ja Arto Åkerlund.
Titokoneen taustalla olevan ttk-91 esimerkkitietokoneen on suunnitellut
Auvo Häkkinen.
- Titokoneen tiedostojen paikalliset kopiot
(Titokone files, local copies):
- Aikaisemmin opetuskäytössä ollut ja edelleen
ainakin vanhemmissa Windows-järjestelmissä toimiva konekielisimulaattori
KOKSI (koksi.zip)
on myös kopioitavissa verkosta, tekijänsä Auvo Häkkisen sivuilta.
- KOKSIn käyttöohje
- esimerkkikoneen TTK-91 käskykannan kuvaus.
- Kimmo Palinin Linux TTK-91 simulaattori. Käyttö omalla vastuulla. Käyttö-ohjeita löytynee Kimmo Palinilta itseltään (ja uutisryhmistä).
- Heikki Lindholmin dosemu_ohje.txt
Koksin (alkup. Windows-version) käyttämiseen tehokkaassa Linux-PC:ssä
Dos-emulaattorin avulla. Käyttö omalla vastuulla.
- Luennolla käytettyjä (ja muita) ttk-91
-esimerkkejä
sekä aikaisempien kurssien esimerkkejä on
myös
verkossa. Kopioikaa ne omaan käyttöönne omaan hakemistoonne.
(KOKSIa käytettäessa esimerkkiohjelmat on kopioitava samaan hakemistoon kuin mihin KOKSI on asennettu!).
Koksi references in English
- KOKSI simulator: koksi.zip
- [KariA] Introduction to the KOKSI simulator by Kalle Karinen (student project)
- [KariB] A summary of TTK-91 instructions by Kalle Karinen (student project)
- [Liu] TTK-91 Memory addressing by Song Liu (student project)
- The KOKSI simulator itself (koksi.zip) can be downloaded from here. Download it into some directory (e.g., koksi) and unzip the files contained.
- KOKSI examples and older examples. To use them please make copies of them into your own koksi directory.
- Sanakirjoja
- Slides for
Principles Of Computer Architecture, Miles J. Murdocca and Vincent P.
Heuring
(vähän Titoa vastaavan kurssin luentokalvot) - Uusi suomalainen merkistöstandardi, Erkki Kolehmainen, TIEKE, linkki ok 4.2.2005
- Merkit ja koodaukset, Jukka Korpela, TTYO, linkki ok 4.2.2005
- ISO Latin 9 as compared with ISO Latin 1, Jukka Korpela, TTYO, linkki ok 4.2.2005
- The Java Virtual Machine Specification, Second Edition, Tim Lindholm, Frank Yellin, Sun Microsystems (1999), linkki ok 4.2.2005
- IEEE-754 Calculators Christopher Vickery, Computer Science Department at Queens College of CUNY (The City University of New York), linkki ok 4.2.2005
Teemu Kerola