Tietokoneen toiminta : Titokone, TitoTrainer

Ttk-91 tietokone

Ttk-91 on Auvo Häkkisen vuonna 1991 opetuskäyttöön suunnittelema hyvin yksinkertainen tietokone [Häkk98]. Tietokone ttk-91 on määritelty sen rekisteriarkkitehtuurin, konekielen ja symbolisen konekielen avulla. Ainoa tietotyyppi on kokonaisluku, sanat ovat 32-bittisiä ja muistiosoitteet ovat sanaosoitteita.

Kevään 2011 Tietokoneen toiminta -kurssin assistentti Anna Kuosmanen teki oman ohjeistuksensa ttk-91 koneen käskyistä ja useita ohjelmaesimerkkejä. Ne ovat sivulla http://www.cs.helsinki.fi/group/nodes/kurssit/tito/kuosmanen/.

[Häkk98] Auvo Häkkinen, Tietokoneen toiminta, opetusmoniste D390 (vanha kurssimoniste), Tietojenkäsittelytieteen laitos, Helsingin yliopisto, 30.1.1998.

 

Titokone

Titokone on kevällä 2004 Koski-ohjelmistotuotantoryhmän toteuttama ohjelmisto, jonka avulla voidaan kääntää ja suorittaa symbolisella konekielellä kirjoitettuja ohjelmia ttk-91 -tietokoneelle. Helpoin tapa ajaa Titokonetta on tallettaa sen jar-tiedosto (v. 1.203) omalle koneellesi ja klikata sitä. Voit myös asentaa Titokoneen omalle koneellesi asennusohjeen mukaisesti, jolloin sen saa käynnistymään aina samassa omassa ympäristössäsi. Titokoneen käyttöohjeet ovat verkossa.

Ttk-91 konekielen käskyjen kuvaus on tiiviissä muodossa TitoTrainerin ohjeissa ja ladattavissa tekstitiedostona Titokoneen sivuilta.  

Verkossa on lukuisia nykykurssilla käytettäviä ttk-91 esimerkkejä ja vielä vanhempia ttk-91 esimerkkejä.

Titokonetta käytetään kurssilla itsenäiseen omalla tietokoneella tapahtuvaan konekielisen ohjelmoinnin harjoitteluun. Titokone osaa myös animoida konekäskyjen ja konekielisen ohjelman suoritusta ttk-91 arkkitehtuurissa.

 

TitoTrainer

Kurssilla käytetään konekieliseen ohjelmointiin tutustumisessa TitoTrainer-ohjelmistoa, joka automaattisesti tarkastaa ttk-91 -ohjelmien oikeellisuuden.  TitoTrainerin nykyversio eli TitoTrainer2  on sivulla http://titotrainer2.users.cs.helsinki.fi.

HUOM: Jos ette pääse kirjautumaan TitoTrainer2:een (esim. "Service Temporarily Unavailable"), mailatkaa asiasta osoitteeseen atk-apu@cs.helsinki.fi, ja tilanne korjaantuu yleensä aika pian. Joidenkin päivitysten jälkeen TitoTrainer2 ei käynnisty uudelleen automaattisesti, vaikka näin pitäisi tapahtua.  

Kukin opiskelijan tutustuu konekieliseen ohjelmointiin suorittamalla TitoTrainerilla joukon tehtäviä. TitoTrainer pitää kirjaa suoritetuista tehtävistä ja niistä saa arvosanaan vaikuttavia pisteitä. Osa tehtävistä tehdään tavallisina harjoitustehtävinä ja loput projektipisteinä. Jos ohjelman toiminnassa tai tehtävien muotoilussa on ongelmia tai outouksia, kertokaa niistä kurssin vastuuhenkilölle (=Teemu Kerola).

TitoTraineriin tarvitaan oma tunnus ja salasana. Voit luoda ne TitoTrainerin kirjautumissivulla. Kirjaa tunnuksesi samalla TitoTrainer-kurssille "Syksy 2011". Älä käytä laitoksen tunnuksen tai yliopiston AD-tunnuksen salasanaa. 

TitoTrainer-tehtävissä on niiden nimen alussa luokittelutietoa (esim. a-150 Simppeli koodisegmentti), jossa ensimmäisenä oleva kirjain kertoo päätason:

  1. aloittelija, yksinkertainen koodi, if-then-else, silmukat
  2. monimutkaisempaa koodia, tietorakenteiden käyttö
  3. aliohjelmien kutsuminen, konekielen hyvä ymmärrys, koodin optimointi
  4. aliohjelmien toteutus, moniulotteiset taulukot
  5. kokonaiset ohjelmat aliohjelmineen, laiteajuri
  6. itse muokkaavaa koodia, ihan mitä vain

Päätason perässä oleva kolminumeroinen luku kertoo päätason sisällä vaikeusasteen (100=helppo, 900=vaikea). On suositeltavaa, että tehtävät tehdään tasojärjestyksessä helpoimmasta vaikeampaan. Vaikeusasteella 700 tehtävät millä tahansa tasolla voivat olla haastavia. Vaikeusasteen 900 tehtävät menevät jo syventävien oppimistavoitteiden puolelle.