581305-6 Tietokoneen toiminta (C t O i ti I) (Computer Organization I
Transcription
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