Kurssin esittely Tavoitteet Komponentit

Samankaltaiset tiedostot
Kurssin esittely Tavoitteet Komponentit

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Luento 0, Hallinto, yleisesittely 1

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) Aihepiiri. Mitä hyötyä tästä on? (3) Tavoitteet. Kurssien välisiä riippuvuuksia

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.

Tietokoneen toiminta (Computer Organization I)

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Aihepiiri Tietokoneen toiminta (Computer Organization I) Tavoitteet (4) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Kertausluento luennoista 1-3 1

Tietokoneen toiminta, K Tavoitteet (4)

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Luento 12 Yhteenveto

LUENTO 0. Tervetuloa! Käyttöjärjestelmät II 2 ov Teemu Kerola. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat?

Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright Tavoitteet (4)

Tavoitteet (4) Luento 12 Yhteenveto. Keskeisiä asioita. Mitä hyötyä tästä on? (2) Esimerkkikone: TTK-91 laitteisto suoritin - CPU

TVT-kurssimoduulin mitat

Luento 12 Yhteenveto

Luento 12 Yhteenveto

Tietokoneen toiminta, K Tavoitteet (4)

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 29/01/2001 Teemu Kerola, Copyright 2001

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, K2000

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Teemu Kerola Orientointi Syksy 2018

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Luento 4 Aliohjelmien toteutus

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Ohjelmoinnin perusteet Y Python

Oppimistavoitteet kurssilla Tietokoneen toiminta

Teemu Kerola Interaktiivisen verkkomateriaalin tuotantoprosessi TKTL:llä (IVT)

Teemu Kerola Interaktiivisen verkkomateriaalin tuotantoprosessi TKTL:llä (IVT)

Käännös, linkitys ja lataus

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Jakso 4 Aliohjelmien toteutus

TVT-kurssimoduulin mitat

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2003

Jakso 4 Aliohjelmien toteutus

Luento 4 Aliohjelmien toteutus

Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Luento 12 Yhteenveto. Tavoitteet. Keskeisiä asioita. Mitä hyötyä tästä on? Esimerkkikone: TTK-91 laitteisto. Tietokoneen toiminta 27.4.

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

Luento 4 Aliohjelmien toteutus

Ohjelmoinnin perusteet Y Python

Luento 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

4. Lausekielinen ohjelmointi 4.1

P e d a c o d e ohjelmointikoulutus verkossa

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Palautekysely tilastollisen signaalinkäsittelyn kurssiin

Jakso 4 Aliohjelmien toteutus

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Yksilöllisen oppimisen menetelmä. Ville

Tähtitieteen käytännön menetelmiä Kevät 2009

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Jakso 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

PLA Mobiiliohjelmointi. Mika Saari

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Monipuolinen esimerkki

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Transkriptio:

Luento 0 581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Kurssin esittely Tavoitteet Komponentit 1

Tietokoneen toiminta Kurssin aihepiiri ja tavoitteet Kurssin suoritusmuoto Luennot ja verkkoluennot Paja ja harjoitustehtävät Minikokeet, kurssikuulustelu, erilliskoe Ttk-91 esimerkkitietokone Titokone simulaattori TitoTrainer ympäristö Examinarium-koe Lue www-sivut huolella https://courses.helsinki.fi/fi/tkt10005/119284992 2

Kurssin näkökulma: yhden ohjelman suorittaminen 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 3

Tietokonejärjestelmä Java-ohjelma Ohjelmointiympäristö (esim. Net Beans) Käyttöjärjestelmä (esim. Linux/Windows) Tito Turing Von Neumann Tito (CO-I) CPU Muisti Näyttö Levymuisti Näppäimistö Boole Tietokoneen rakenne (CO-II) portit kellopulssi sähköä virtalähde mikrosiru 4

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, Tt Mitä tarkoittaa GHz? Nykyteknologian numerot eivät ole niin tärkeitä! Montako bittiä tarvitaan osoitteeseen? 5

SI-järjestelmän kerrannaisyksiköt 6

Aihepiirien välisiä riippuvuuksia Ohjelmointikielet Sovellukset Ohjelmointi Laskennan teoria Tietokoneen toiminta Samanaikaisuuden hallinta Käyttöjärjestelmät Tietoliikenne Tietokonearkkitehtuuri 7

Kurssien välisiä riippuvuuksia Pakolliset perus- ja aineopinnot Internetprotokollat Käyttöjärjestelmät Ohjelmoinnin perusteet Tietokoneen toiminta (Computer Organ. I) Tietoliikenteen perusteet Valinnaiset aineopinnot ja syventävät opinnot (Haj. järj. ja tietoliikenne) Tietokoneen rakenne (Computer Organization II) Hajautetut järjestelmät Spes. & verif. perusteet 8

TiTo (5 op), suoritusmuodot Luentokurssi Luennot Verkkoluennot, oppikirjat, kertauskysymykset Titokone/TitoTrainer pajassa ja itsenäisesti, Examinarium-koe Harjoitustehtävät, harjoitukset Minikokeet (4) ja/tai kurssikoe Itseopiskelu Viimeksi pidetyllä luentokurssilla esitetyt asiat Oppikirjat Titokone/TitoTrainer itsenäisesti Erilliskoe Itseopiskelu Tavallinen kurssi Ohjattu itseopiskelukurssi Kuten itseopiskelu erilliskoetta varten Titokone/TitoTrainer itsenäisesti, Examinarium-koe Harjoitustehtävät (+ TitoTrainer tehtäviä), harjoitukset Kurssikoe (ja/tai minikokeet) Ohjattu itseopiskelu 9

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 luovat puitteet oppimiselle Eri tyyppistä ryhmätyötä Harjoitustehtävien ratkaisu itsenäisesti ja niistä keskustelu ryhmässä Titokone/TitoTrainer tehtävien työstäminen ryhmätyönä Muu vapaamuotoinen yhteistyö 10

Verkkokurssi Merkittävä osa kurssin materiaalista ja toiminnoista verkossa Verkkoluennot Titokone, TitoTrainer, TitoTrainer-tehtävät Tiedotus, kalvokopiot, tehtävät, tulokset Verkkokurssi etäopiskelu Luennot Pajatyöskentely Viikoittaiset harjoitustilaisuudet Kokeet Osan kurssin osioista voi tehdä verkon avulla etäopiskeluna 11

Verkkoluennot Itseopiskelumateriaalia verkossa, luennot 1-11 Varatkaa noin kaksi tuntia kunkin luennon läpikäyntiin Materiaalia noin 60-90 min per kerta Materiaalin käytöstä ei pidetä kirjaa Materiaalin tuotanto Teemu Kerola, 2004-2005 Jotkut teknologiaviittaukset ovat vähän vanhoja epäolennaista. Macromedia Authorware ohjelmistolla http://www.cs.helsinki.fi/group/nodes/kurssit/tito/verkkoluennot Käyttö Selaimen Authorware liitospalikka Windows-ympäristössä Ilmeisesti vain Firefox? ja Chrome? Flash-versiot, useimmissa ympäristöissä Pdf-versiot (vain teksti, ei puhetta) 12

Luennot Annetusta aihepiiristä (ks. aikataulu) Opiskele etukäteen (kirja, verkkoluennot) Jos et ole opiskellut aihepiiriä etukäteen, luentojen hyöty on pienempi Pienryhmäkeskustelua joistakin aihepiirin alueista Kysy epäselvät asiat 13

Harjoitustehtävät (10/60 p) Tavanomaiset laskuharjoitustehtävät Oppiminen tapahtuu tehtäviä ratkaistaessa ja niistä keskusteltaessa Opiskele aihepiirin asiat ennen tehtävien työstämistä itsenäisesti Työstä tehtäviä itsenäisesti ennen niistä käytävää keskustelua Valmiin vastauksen lukeminen tai antaminen toiselle on hyvän oppimistilaisuuden hukkaan heittämistä! Haittaa sen toisen oppimista! Vaikuttavat arvosanaan Tehdyistä tehtävistä saa harjoitustehtäväpisteitä (htp) Vain ryhmätapaamisessa läsnäoleville Htp:t skaalataan lineaarisesti arvosanapisteiksi (n. 83% 10 p) 14

Harjoitustilaisuudet Opiskelijat jaetaan pöytiin Joka pöydässä kuhunkin tehtävään ainakin yksi sen tehtävän ratkaissut opiskelija? Harjoitustehtävien läpikäynti opiskelijavetoisesti pienryhmissä Ei välttämättä valmiiden ratkaisujen esityksiä kaikille Voi otaksua, että kaikki ovat tutustuneet tehtäviin etukäteen ja ainakin yrittäneet ratkaista ne Ohjaaja auttaa tarvittaessa Malliratkaisut käytettävissä tilaisuuden loppupuolella Mukana ylim. keskustelutehtäviä Lopuksi käydään 1 tai useampi tehtävää läpi yhdessä Kaikki ovat paikalla loppuun asti 15

Ttk-91 esimerkkitietokone Auvo Häkkinen, 1991 Tietokoneen toiminta kurssi 1991 Yksinkertainen tietokonearkkitehtuuri Määrittelytaso juuri tälle kurssille sopiva Yksinkertainen (symbolinen) konekieli Helppo oppia, ei liikaa konekäskyjä Sopiva tämän kurssin tavoitteisiin Tavoitteet Ymmärtää, minkälaista koodia suoritin käyttää ttk-91 Ymmärtää, miten järjestelmä suorittaa ohjelmaa CPU R0 R1 R7 Muisti Ohjelma Data Väylä 16

Titokone Java-ohjelma, joka simuloi ttk-91 tietokonetta ja sen käyttöjärjestelmää ttk-91 spesifikaatio, Auvo Häkkinen, 1991 Alkup. ttk-91 simulaattori kirjoitettu Pascalilla, ei enää käytössä Toimii samalla tavalla kuin laitteistolla toteutettu ttk-91 kone ja sen käyttöjärjestelmä Ohjelmistotuotantoprojekti Koski, kevät 2004 Titokone Ttk-91 symbolisen konekielen kääntäjä Ttk-91 emulaattori, joka suorittaa käännettyjä ttk-91 konekielisiä ohjelmia Ohjelmistonkehitysympäristö sisäänrakennettuna emulaattorissa 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/titokone/distr/titokone-1.203.jar LOAD R3, X 0x39845890 Keskustele 17

TitoTrainer Nykyinen versio: TitoTrainer2 Titokoneen päälle rakennettu ohjelmisto Toteutetaan ttk-91 ohjelmia tai niiden osia Samoja ohjelmia voi myös ajaa Titokoneella Vastauksen oikeellisuus tarkistetaan automaattisesti Paja kurssiviikolla 3 Harjoitukset kurssiviikolla 4 Itsenäinen työskentely kurssiviikoilla 5-7 Examinarium-koe Max 2 suorituskertaa Ennen kurssikoetta (ks. aikataulu) http://titotrainer2.users.cs.helsinki.fi 18

Examinarium-koe (10/60 p) Ennen koetta olisi hyvä Osata erilaisten tietorakenteiden globaalit muistivaraukset ja niihin viittaamiset muuttujat, 1- ja 2-ulotteiset taulukot, tietueet Osata käyttää tietorakenteita myös osoitinmuuttujien avulla Osata toteuttaa koodissa haarautumiset (if-then-else) ja erilaiset toistolauseet (for, while-do, do-until,...) Osata käyttää aliohjelmia (funktioita) ja toteuttaa ne Osata selittää, mikä on aktivointitietue ja aktivointitietuepino Osata käyttää arvo- ja viiteparametreja Examinarium (suomeksi) Osata varata aliohjelmien paikallisia tietorakenteita Osata viitata aliohjelmissa/funktioissa parametreihin, paluuarvoon sekä globaaleihin ja paikallisiin tietorakenteisiin 19

Kokeet (40/60 p) Kurssin voi suorittaa minikokeilla (4 koetta á 10 p) tai kurssikokeella (40 p) Max {minikoe, kurssikokeen tehtävä} ratkaisee Minikokeet 1-3 luennon yhteydessä, tiistaina 16:15, 45 min Aihepiiri: edeltävät luennot ja harjoitukset (ks. aikataulu) Kurssikoe (periodin lopussa koeviikolla) Minikokeet 1-4 kaikki samalla kertaa Minikoe 4 on kurssikokeen tehtävä 4 Uusintakokeet Minikokeet 1-3 voi uusia kurssikokeessa Minikokeen 4 voi uusia uusintakokeessa (kurssia seuraava erilliskoe) Koko kurssikokeen voi uusia uusintakokeessa (kurssia seuraava erilliskoe, vastaa kaikkiin 4 tehtävään) Muita uusintakokeita ei ole 20

Kurssin arvostelu Harjoitustehtävät Examinarium-koe (ttk-91) Minikokeet, kurssikuulustelu, uusintakuulustelu minimitaso 25/50 p Yhteensä minimitaso 30/60 p 10 p 10 p 40 p 60 p 21

Oppikirjat Oppimateriaali Stallings: Computer Org. and Architecture, 10th ed., 2016 (8th ja 9th ed. ok) Verkossa ilmaiseksi luettavana (voi olla lisenssiongelmia älä avaa turhaan!) Tanenbaum: Structured Computer Organization, 6th Ed, 2013 (5th ed. ok) Verkkoluennot 1-11 Luennot Titokone ja TitoTrainer harjoitteluympäristöt Harjoitukset 22

Kurssin kotisivu WWW Informaatio Kurssiesite (Oodi, Courses) Yleiset, ei vain tähän luentokurssiin liittyvät asiat Luentokurssin tiedot (Courses) Tarkempi aikataulu (Teemu) Titopaja (Teemu) Ttk-91, Titokone, TitoTrainer (Teemu) Verkkoluennot (Teemu) Luentokalvot (pdf) (Teemu) Harjoitukset ja niiden esimerkkivastaukset (Teemu) Kokeet, vastaukset ja arviointiperusteet (Teemu) 23

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 Ohjelman ja käyttöjärjestelmän toteutus Ulkoinen muisti ja I/O:n toteutus Käännös, linkitys ja lataus Tulkinta ja emulointi 24

Tietokoneen toiminta (Tito) Tito vs. Tikra Tietokoneen rakenne (Tikra) Muisti Ohjain Väylä Suoritin Levy Tito: Tikra: Mitä systeemissä tapahtuu? Mitä käyttöjärjestelmä tekee? Miten CPU ja muisti on toteutettu? Miten kellopulssi saa käskyt suoritetuksi? 25

Tikra Tito Suorittimen toteutushierarkia (2) Konekieliarkkitehtuuri ADD R1, R2 Moduulit Adder, register, ALU Loogiset portit AND, OR, NOR Piirisuunnittelu Virrankulutus, ajoitus, piuhojen sijoitus Toteutuslaitteisto Elektroniputki, transistori, mikropiiri AND 1 0 0 26

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. 12 t / viikko + kokeiseen valmistautuminen + kokeet Tai: 5 v / 300 op = 1 v / 60 op = 1600 t / 60 op = 26.67 t / 1 op = 133 t / 5 op 27