Tietokoneen toiminta, kesä 2005
Suurin osa tehtävistä edellytetään etukäteen tehdyiksi. Tehdyt
tehtävät merkitään listaan ja harjoituspisteitä saa sitä enemmän mitä
enemmän tehtäviä on tehnyt. Tehtävät käydään läpi
harjoitustilaisuudessa.
Osa tehtävistä tehdään ryhmätöinä vasta harjoitustilaisuudessa.
Myös ryhmätöinä tehtäviiin on syytä perehtyä etukäteen, jotta
harjoituksiin varattu aika riittäisi ja jotta itselle olisi
harjoituksista mahdollisimman suuri hyöty. Ryhmätöissä osallistuminen
kasvattaa harjoituspistetiliä.
Harjoitus 1
Käsitellään harjoitusryhmissä keskiviikkona 17.8.2005.
- Yleistä tietokoneista
- Mitkä osat ovat välttämättömiä tietokonelaitteistossa? Entä mitkä ovat tietokoneiden yleisimpiä oheislaitteita?
- Etsi mainoksista tai verkosta vähintään kahden erilaisen
tietokoneen (PC:n eli 'kotitietokoneen', kannettavan, kämmenmikron,
supertietokoneen, yms) kapasiteetti- ja suorituskykyarvoja.
- Mitä tarkoitetaan seuraavilla käsitteillä?
- mikroprosessori - mikrotietokone - keskusyksikkö - kontrolliyksikkö
- ohjelma - prosessi
- lausekieli - symbolinen konekieli -konekieli -mikrokoodi
- käännös - tulkinta
- tavalliset käskyt - etuoikeutetut käskyt
- Kääntäminen, linkitys, ym.
Tehdään harjoitustilaisuudessa, sillä kaikilla ei varmaan ole käytössä Linux-ympäristöä ja C-kääntäjää!
- Käännä ohjelma
rand.c linuxissa komennolla gcc -c rand.c
- Linkitä ohjelma komennolla gcc rand.o -o rand
- Minkä kokoinen on objektitiedosto rand.o? Entä suoritettava ohjelmatiedosto rand?
- Symbolisen
konekielisen version saat komennolla gcc -S rand.c. Mitä arvelet
tiedostossa rand.s olevien konekäskyjen tekevän? Kuinka monta
hyppykäskyä löysit tiedostosta rand.s?
- Suorita vielä ohjelma rand antamalla syötteeksi luvut 17 ja 1.
- Kiinnostuneille:
linkki Linux-koneen assemblerin tutoriaaliin.
- Simulaattori
- Miten simulaattori eroaa todellisesta tietokoneesta?
- Miten simulaattorilla suoritettavat ohjelmat eroavat todellisella
tietokoneella suoritettavista ohjelmista?
- Mitä etua on suorittaa ohjelmia simulaattorilla sen sijaan, että ne
suoritettaisiin todellisella tietokoneella?
- Mitä haittaa on suorittaa ohjelmia simulaattorilla sen sijaan, että
ne suoritettaisiin todellisella tietokoneella?
- Tutustu Titokoneeseen
Titokoneen käyttöön ja ohjeisiin kannattaa tutustua etukäteen,
mutta käyttöä kokeillaan harjoitustilaisuudessa. Samoin asennukseen saa
tarvittaessa lisäohjausta.
Tutustu Titokonesimulaattoriin. Kurssin kotisivulta löytyvät
tarvittavat linkit. Voit myös asentaa simulaattorin annettujen ohjeiden
mukaan omalle koneellesi. Näin jatkossa voit testata kirjoittamiesi
ohjelmien toimintaa ja nähdä itse, kuinka Titokone käyttäytyy.
Konekielisten ohjelmien kirjoittaminen ja
testaaminen pelkästään paperilla on työlästä ja hankalaa. Niiden
tekeminen ja testaaminen Titokoneella on paljon mielekkäämpää. Jos
mitenkään mahdollista, niin käytä Titokonetta symbolisella konekielellä
laadittavien ohjelmien testaamiseen. Titokoneen käyttö ei ole edellytys
kurssin suorittamiseen. Kokeessa on kuitenkin osattava kirjoittaa
konekielinen ohjelma kynällä paperille.