581305-6 Tietokoneen toiminta (C t O i ti I) (Computer Organization I

Luento 0
581305-6 Tietokoneen toiminta
(C
(Computer
t Organization
O
i ti I)
Teemu Kerola
Kurssin esittely
Tavoitteet
Komponentit
27.10.2015
Copyright 2015 Teemu Kerola
1
Tietokoneen toiminta
• Kurssin aihepiiri
p jja tavoitteet
• Kurssin suoritusmuoto
– Luennot ja verkkoluennot
– Paja ja harjoitustehtävät
– Minikokeet, kurssikuulustelu, erilliskoe
• Ttk-91
Ttk 91 esimerkkitietokone
– Titokone simulaattori
– TitoTrainer ympäristö
y p
• Lue www-sivut huolella
http://www.cs.helsinki.fi/courses/581305/2015/s/k/1
p
27.10.2015
Copyright 2015 Teemu Kerola
2
Kurssin näkökulma:
yhden
hd ohjelman
hj l
suorittaminen
i
i
• Mikä on ohjelman esitysmuoto laitteistossa?
• Miten laitteisto suorittaa ohjelmaa?
• Mitkä laitteiston osat osallistuvat tähän ja miten?
• Tavoitteena: yleiskuva tietokoneen toiminnasta ja sen
perusrakenteesta
Keskustele
27.10.2015
Copyright 2015 Teemu Kerola
3
Tietokone numeroina
• Suoritinesimerkkejä:
– AMD Athlon II X4 645, 3.1 GHz
– Intel Core i5-52OU, 2.4 GHz
– ARM Cortex A-8, 600 MHz – 1 GHz
• Keskusmuisti
– 2 Gt – 192 Gt (gigatavu, giga byte, GB)
– Kt,, Mt,, Gt
• Mitä tarkoittaa GHz?
• Montako bittiä tarvitaan osoitteeseen?
27.10.2015
Copyright 2015 Teemu Kerola
4
SI-järjestelmän
j j
kerrannaisyksiköt
y
27.10.2015
Copyright 2015 Teemu Kerola
5
Aihepiirien välisiä riippuvuuksia
Ohjelmointikielet
Sovellukset
Ohjelmointi
Laskennan teoria
Tietokoneen
toiminta
Samanaikaisuuden
hallinta
Käyttöjärjestelmät
Tietoliikenne
27.10.2015
Tietokonearkkitehtuuri
Copyright 2015 Teemu Kerola
6
Kurssien välisiä riippuvuuksia
Ohjelmoinnin
perusteet
Pakolliset
perus- ja
aineopinnot
Käyttöjärjestelmät
Hajauteut
jä j t l ät
järjestelmät
27.10.2015
Valinnaiset
aineopinnot
ja syventävät
opinnot
(Haj. järj. ja
tietoliikenne)
Tietokoneen
toiminta
Tietoliikenteen
perusteet
Internetprotokollat
t k ll t
Tietokoneen
rakenne
(Computer
Organization II)
Spes. & verif.
perusteet
t t
Copyright 2015 Teemu Kerola
7
TiTo (5 op), suoritusmuodot
• Luentokurssi
–
–
–
–
–
”T lli
”Tavallinen
kurssi”
k
i”
Luennot
Verkkoluennot, oppikirjat, kertauskysymykset
Titokone/TitoTrainer pajassa ja itsenäisesti
Harjoitustehtävät, harjoitukset
Minikokeet (4) ja kurssikuulustelu
”Itseopiskelu
I
ik l ”
• Itseopiskelu
–
–
–
–
Viimeksi pidetyllä luentokurssilla esitetyt asiat
Oppikirjoista [Stal13 ja Tane10] kurssin kotisivulla mainitut luvut
Titokone/TitoTrainer itsenäisesti
Erilliskoe
• Ohjattu itseopiskelukurssi
–
–
–
–
27.10.2015
”Ohjattu
Ohjattu itseopiskelu”
Kuten itseopiskelu erilliskoetta varten
Titokone/TitoTrainer itsenäisesti
Harjoitustehtävät (+ TitoTrainer tehtäviä),
tehtäviä) harjoitukset
Kurssikoe
Copyright 2015 Teemu Kerola
8
Ryhmätyöskentely
• Ryhmätyötä
– Ryhmässä on parempi opiskella kuin yksin
– Vertaisopiskelijoiden tuki
• Opiskelijakeskeinen oppiminen
– Vastuu oppimisesta on opiskelijalla
– Ohjaajat edistävät opiskelijan oppimista
– Ohjaajat
j j luovat puitteet
p
oppimiselle
pp
• Eri tyyppistä ryhmätyötä
– Harjoitustehtävien ratkaisu itsenäisesti ja niistä keskustelu
y
ryhmässä
– Titokone/TitoTrainer tehtävien työstäminen ryhmätyönä
– Muu vapaamuotoinen yhteistyö
27.10.2015
Copyright 2015 Teemu Kerola
9
Verkkokurssi
• Merkittävä osa kurssin materiaalista ja toiminnoista
verkossa
– Verkkoluennot
– Titokone, TitoTrainer, TitoTrainer-tehtävät
– Tiedotus,
Ti d t kalvokopiot,
k l k i t tehtävät,
t htä ät tulokset
t l k t
• Verkkokurssi ≠ etäopiskelu
–
–
–
–
27.10.2015
Luennot
Pajatyöskentely
Viikoittaiset harjoitustilaisuudet
O
Osan
kkurssin
i osioista
i i voii tehdä
hdä verkon
k avulla
ll etäopiskeluna
ä ik l
Copyright 2015 Teemu Kerola
10
Verkkoluennot
• Itseopiskelumateriaalia
I
ik l
i li verkossa,
k
luennot
l
1-11
1 11
– Varatkaa noin kaksi tuntia kunkin luennon läpikäyntiin
– Materiaalia noin 60-90 min p
per kerta
– Materiaalin käytöstä ei pidetä kirjaa
• Materiaalin tuotanto
– Teemu
T
Kerola,
K l 2004-2005
2004 2005
• Jotkut teknologiaviittaukset ovat vähän vanhoja…
– Macromedia Authorware –ohjelmistolla
– https://www.cs.helsinki.fi/i/kerola/tito/verkkoluennot/
• Käyttö
– Selaimen
S l i
A h
Authorware
lii
liitospalikka
likk Windows-ympäristössä
i d
i
• Ilmeisesti vain Firefox? ja Chrome?
– Flash-versiot, useimmissa ympäristöissä
– Pdf-versiot (vain teksti, ei puhetta)
27.10.2015
Copyright 2015 Teemu Kerola
11
Luennot
• Annetusta aihepiiristä
p
(ks.
( aikataulu))
– Opiskele etukäteen (kirja, verkkoluennot)
– Jos et ole opiskellut aihepiiriä etukäteen, luentojen hyöty voi
olla pieni
• Pienryhmäkeskustelua joistakin aihepiirin alueista
• Kysy epäselvät asiat
27.10.2015
Copyright 2015 Teemu Kerola
12
Harjoitustehtävät (8/60 p)
• Tavanomaiset laskuharjoitustehtävät
• Oppiminen tapahtuu tehtäviä ratkaistaessa ja niistä
keskusteltaessa
– opiskele
op s e e aaihepiirin
ep
as
asiat
at eennen
e tehtävien
te täv e työstä
työstämistä
stä itsenäisesti
tse ä sest
– työstä tehtäviä itsenäisesti ennen niistä käytävää keskustelua
– valmiin vastauksen lukeminen tai toiselle antaminen on hyvän
oppimistilaisuuden hukkaan heittämistä!
• Vaikuttavat arvosanaan
– tehdyistä tehtävistä saa harjoitustehtäväpisteitä (htp)
– vain ryhmätapaamisessa läsnäoleville
– htp:t skaalataan lineaarisesti arvosanapisteiksi (n. 83% → 8p)
27.10.2015
Copyright 2015 Teemu Kerola
13
Harjoitustilaisuudet
• Opiskelijat jaetaan ”pöytiin”
– Joka ppöydässä
y
kuhunkin tehtävään
ainakin yksi sen tehtävän ratkaissut opiskelija?
• Harjoitustehtävien läpikäynti opiskelijavetoisesti
p
pienryhmissä
y
– Ei valmiiden ratkaisujen esityksiä kaikille
– Voi otaksua, että kaikki ovat tutustuneet tehtäviin etukäteen ja
ainakin y
yrittäneet ratkaista ne
– Ohjaaja auttaa tarvittaessa
• Malliratkaisut käytettävissä tilaisuuden loppupuolella
– Mukana ylim
ylim. keskustelutehtäviä
• Lopuksi käydään 1 tai useampi tehtävää läpi yhdessä
• Kaikki ovat paikalla loppuun asti
27.10.2015
Copyright 2015 Teemu Kerola
14
Ttk-91 esimerkkitietokone
• Auvo Häkkinen, 1991
ttk-91
CPU
– Tietokoneen toiminta –kurssi
kurssi 1991
• Yksinkertainen tietokonearkkitehtuuri
– Määrittelytaso juuri tälle kurssille sopiva
• Yksinkertainen (symbolinen)
konekieli
Muisti
Ohjelma
R0
R1
…
R
R7
Data
Väylä
– Helppo oppia,
oppia ei liikaa konekäskyjä
– Sopiva tämän kurssin tavoitteisiin
• Tavoitteet
– Ymmärtää, minkälaista koodia suoritin
käyttää
– Ymmärtää, miten järjestelmä suorittaa
ohjelmaa
27.10.2015
Copyright 2015 Teemu Kerola
15
Titokone
• Java
Java-ohjelma,
ohjelma joka simuloi ttk-91
ttk 91 tietokonetta ja sen
käyttöjärjestelmää
– ttk-91 spesifikaatio ja simulaattori, Auvo Häkkinen, 1991
• Alkup.
Alkup ttk
ttk-91
91 simulaattori kirjoitettu Pascalilla,
Pascalilla ei enää käytössä
– Toimii samalla tavalla kuin laitteistolla toteutettu ttk-91 kone ja
sen käyttöjärjestelmä
– Ohjelmistotuotantoprojekti Koski,
Koski kevät 2004
• Sisältö
LOAD R3, X
-> 0x39845890
– Ttk-91 symbolisen konekielen kääntäjä
– Ttk-91
Ttk 91 emulaattori
emulaattori, joka suorittaa käännettyjä ttk
ttk-91
91
konekielisiä ohjelmia
– Ohjelmistonkehitysympäristö sisäänrakennettuna emulaattorissa
– Animaattori,
Animaattori joka visualisoi käskyjen suoritusta ttk-91
arkkitehtuurin laitteistossa
– Graafinen käyttöliittymä
http://www cs helsinki fi/group/nodes/kurssit/tito/esimerkit/
http://www.cs.helsinki.fi/group/nodes/kurssit/tito/esimerkit/
http://www.cs.helsinki.fi/group/titokone/distr/titokone-1.203.jar
27.10.2015
Copyright 2015 Teemu Kerola
Keskustele
16
TitoTrainer
• N
Nykyinen
k i
versio:
i Tit
TitoTrainer2
T i 2
• Titokoneen “päälle” rakennettu ohjelmisto
• Toteutetaan ttk
ttk-91
91 ohjelmia tai niiden osia
– Samoja ohjelmia voi myös ajaa Titokoneella
• Vastauksen oikeellisuus tarkistetaan automaattisesti
http://titotrainer2.users.cs.helsinki.fi
27.10.2015
Copyright 2015 Teemu Kerola
17
TitoTrainer tehtävät ((12/60 p)
• Ttk-91 symbolisen konekielen harjoitteluun TitoTrainerympäristössä
• Paja
– Kurssiviikko 3
– Kurssiviikko 4
(4 p)
(4 p)
• Itsenäinen työskentely (kaverien kanssa?) pajan jälkeen
– Kurssiviikot 5-7 (4 p)
27.10.2015
Copyright 2015 Teemu Kerola
18
Kokeet (40p/60p)
( p p)
• Kurssin voi suorittaa minikokeilla (4 koetta á 10p) tai
k
kurssikokeella
ik k ll (40p)
(40 )
– Max {minikokeet, kurssikoe} ratkaisee
• Minikokeet luennon yyhteydessä,
y
, tiistaina 12:15,, 45 min
– Minikoe 4 kurssikokeen yhteydessä
– Aihepiiri: edeltävät luennot ja harjoitukset (ks. aikataulu)
• Uusintakokeet
U i t k k t
– Minikokeet 1-3 voi uusia kurssikokeessa
– Minikokeen 4 voi uusia kurssikokeen uusintakokeessa
– Kurssikokeen voi uusia uusintakokeella (kurssia seuraava
erilliskoe)
27.10.2015
Copyright 2015 Teemu Kerola
19
Kurssin arvostelu
27.10.2015
Harjoitustehtävät
8p
TitoTrainer-tehtävät
Tito-paja Tr1, vk 3
Tito paja Tr2,
Tito-paja
Tr2 vk 4
Itsenäinen harjoittelu Tr3, vk 5-7
4p
4p
4p
Minikokeet, kurssikuulustelu,
uusintakuulustelu
i t k l t l
minimitaso 20 p
40 p
Yhteensä
minimitaso
i i i
30 p
60 p
Copyright 2015 Teemu Kerola
20
Oppimateriaali
pp
• Oppikirjat
– Stallings:
St lli
C
Computer
t Org.
O andd Architecture,
A hit t
9th ed., 2013 (8th ed., 2010 myös OK)
• Verkossa ilmaiseksi luettavana
– Tanenbaum: Structured Computer Organization,
5th Ed, 2010
•
•
•
•
27.10.2015
Verkkoluennot 1-11
Luennot
Titokone ja TitoTrainer harjoitteluympäristöt
Harjoitukset
Copyright 2015 Teemu Kerola
21
WWW Informaatio
• Kurssin kotisivu
– Kurssin aikataulu
– Kaikki tiedotus
http://www.cs.helsinki.fi/courses/581305/2015/s/k/1
• Osa materiaalista on TKTL Intranetissä
– Verkkoluennot (Authorware
(Authorware, Flash,
Flash pdf)
– Harjoitusten esimerkkivastaukset
– Kaikki tarvitsevat
v sev TKTL tunnuksen
u u se
• Ohjeet tunnuksen hankkimiseksi laitoksen www-sivulla
27.10.2015
Copyright 2015 Teemu Kerola
22
Kurssin sisältö
•
•
•
•
Tietokonejärjestelmän rakenne
TTK-91 -tietokone ja sen simulaattori
Konekielinen ohjelmointi
Aliohjelmien toteutus
• Suoritin ja väylä
• Tiedon esitysmuodot
• Tiedon muuttumattomuus ja muisti
•
•
•
•
27.10.2015
Ohjelman ja käyttöjärjestelmän toteutus
Ulk i
Ulkoinen
muisti
i i ja
j I/O:n
I/O toteutus
Käännös, linkitys ja lataus
Tulkinta ja emulointi
Copyright 2015 Teemu Kerola
23
Tito vs. Tikra
Suoritin
Muisti
Väylä
Ohjain
27.10.2015
Tietokoneen
toiminta (Tito)
Tietokoneen
rakenne (Tikra)
Levy
Tito:
Mitä systeemissä tapahtuu?
Mitä käyttöjärjestelmä tekee?
Tikra:
Miten CPU ja muisti on toteutettu?
Miten
i kellopulssi
k ll l i saa käskyt
k k suoritetuksi?
i k i?
Copyright 2015 Teemu Kerola
24
Suorittimen toteutushierarkia (2)
Tito
• Konekieliarkkitehtuuri
– ADD R1, R2
Tikra
T
• Moduulit
d li
– Adder, register, ALU
i t portit
tit
• L
Loogiset
1
0
– AND, OR, NOR
0
AND
• Piirisuunnittelu
Pii i
itt l
– Virrankulutus, ajoitus,
piuhojen sijoitus
• Toteutuslaitteisto
– Elektroniputki,
p
, transistori,,
mikropiiri
27.10.2015
Copyright 2015 Teemu Kerola
25
Motto
• “Kunto ei nouse, jos ei tule hiki”
(“It is not good exercise, if you do not sweat”)
– Ei tämä silti mikään maraton ole!
• Käytä kurssiin n.
n 12 t / viikko
+ kokeeseen valmistautuminen + koe
5 v / 300 op = 1 v / 60 op = 1600 t / 60 op
= 26.67 t / 1 op = 133 t / 5 op
27.10.2015
Copyright 2015 Teemu Kerola
26