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

Samankaltaiset tiedostot
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

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

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)

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)

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

Tietokoneen toiminta (Computer Organization I)

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.

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

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

Kertausluento luennoista 1-3 1

Tietokoneen toiminta, K Tavoitteet (4)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Kurssin esittely Tavoitteet Komponentit

Kurssin esittely Tavoitteet Komponentit

Tietokoneen toiminta (Computer Organization I)

Luento 0, Hallinto, yleisesittely 1

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

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

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

Luento 12 Yhteenveto

Tietokoneen toiminta, K Tavoitteet (4)

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

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

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

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)

Luento 12 Yhteenveto

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

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

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

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

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)

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

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 4 Aliohjelmien toteutus

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

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

Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori

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

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä?

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

Ohjelmoinnin perusteet Y Python

Jakso 4 Aliohjelmien toteutus

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Miksi konekieltä? Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori. Tietokone TTK-91. Miksi ei oikeaa konekieltä?

Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

4. Lausekielinen ohjelmointi 4.1

Jakso 10 Ohjelman suoritus järjestelmässä

Käännös, linkitys ja lataus

Luento 2 TTK-91 tietokone ja sen simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91 (1) TTK-91 laitteisto

Miksi konekieltä? Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori. Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91: rekisterit

Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori

Järjestelmän ulkoinen muisti I/O

Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori

Jakso 10 Ohjelman suoritus järjestelmässä. Käännös Linkitys Dynaaminen linkitys Lataus

Luento 4 Aliohjelmien toteutus

Jakso 10 Ohjelman suoritus järjestelmässä

Miksi konekieltä? Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori. Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91: tietotyypit (2)

Jakso 4 Aliohjelmien toteutus

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

2 Konekieli, aliohjelmat, keskeytykset

Jakso 4 Aliohjelmien toteutus

Luento 9 Järjestelmän ulkoinen muisti

Luento 10 Käännös, linkitys ja lataus. Käännös Linkitys Dynaaminen linkitys Lataus

1. Keskusyksikön rakenne

Luento 10 Käännös, linkitys ja lataus

Lausekielestä suoritukseen (3) Luento 10 Käännös, linkitys ja lataus. Assembler-kielinen käännösyksikkö (2) Käännösyksikkö (4) Objektimoduuli (8)

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

Luento 10 Käännös, linkitys ja lataus

Luento 9 Järjestelmän ulkoinen muisti

Transkriptio:

58135-6 toiminta (Computer Organization I) Päivi Kuuppelomäki Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 22 Aihepiiri Sovellukset Samanaikaisuus Teknologia Ohjelmointikielet toiminta: konekieli suorittimen (CPU) rakenne käyttöjärjestelmä tuki Käyttöjärjestelmät Suorituskyky Käyttöliittymät Historia 1 2 Tavoitteet Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa? Minkälaista koodia suoritin ymmärtää? Mikä on käyttöjärjestelmän rooli? 3 Mitä hyötyä tästä on? (3) Ohjelman suoritusnopeus perustuu suorittimen (CPU) suorittamiin konekäskyihin, ei pelkästään ohjelman korkean tason esitysmuotoon Ylemmän tason asioiden ymmärtäminen on helpompaa (mahdollista), kun ymmärtää alemman tason asiat Miksi Java ohjelma (byte koodi) kannattaisi kääntää? Mitä Java ohjelmien kääntäminen tarkoittaa? Mitä Java ohjelmien suorittaminen tarkoittaa? Mitä C ohjelmien suorittaminen tarkoittaa? 4 Kurssien välisiä riippuvuuksia Java ohjelmointi toiminta (2ov) Perusopinnot (kaikille yhteisiä cl-kursseja) KJ-I toiminta (2) Pakolliset l-kurssit (Haj järj ja tietoliikenne) rakenne Käyttöjärjestelmät-I (2ov) rakenne (2ov) KJ-II Hajautetut järjestelmät Spes & verif perusteet Tietoliikenne II Rinnakkaisohjelmointi (2ov) Tietoliikenne-I (2ov) 5 KJ-metod Alg oik Valinnaiset l-kurssit (Haj järj & tietoliik) Tietoliik järjest Rinnakkaisohjelmistot Tietoliikenne-I Tietokonearkkiteht 6

TiTo (2ov), suoritusmuodot (2) Luentokurssi Tämä kurssi luennot, luentokalvot luentomoniste, kirjat, laskuharjoitukset kurssikuulustelu (luentojen jälkeen) vain luentokurssiin aktiivisesti osallistujille Erilliskoe kirjoista [Stal99 ja Tane99] kurssikuvauksessa mainitut osat ohjelmointi TTK-91 symbolisella konekielellä Luentokurssin suoritus (6) Luennot 4t / vk luentokalvot verkossa, kopioi etukäteen opi perusasiat kunnolla luennolla Lue kirjasta samat asiat vähän eri tavalla esitettynä 6t / vk? Tee laskuharjoitukset Osallistu laskuharjoituksiin Lue ja harjoittele itsenäisesti 2t / vk Osallistu kurssikokeeseen 8t? 7 8 Tito S2 koe vs LH Kevät 21 kurssikuulustelu vs HTP Koepisteet 5 45 4 35 3 25 2 15 Hyväksytyt Hylätyt Trendi (kaikki) koepisteet (max 49) 45 4 35 3 25 2 15 Tito K1 Kurssikoe vs harj tehtävät y =,314 x 2 -,4911 x + 21,559 R 2 =,2262 y =,6844 x + 12,138 R 2 =,1975 1 1 5 5 1 2 3 4 Harjoitustehtäväpisteet (HTP) 1 2 3 HTP - harjtehtäväpisteet (max 35) 9 1 Oppimateriaali Kurssimoniste: Auvo Häkkinen, toiminta, opetusmoniste D39, TKTL, 311998 (pääpiirteittäin luvut 1-82, 1) painos vuoden 1998 jälkeen (Java) Stallings: Comp Org and Arch, 5th Ed Tanenbaum: Struct Comp Org, 4th Ed KOKSI simulaattori & dokumentit Luennot luentokalvojen kopiot verkossa Harjoitukset tehtävät verkossa Huomaa Nämä kalvot on tehty luentojen (ja luentomonisteen) tueksi Kalvot eivät sisällä kaikkea luennolla ollutta asiaa Kalvot eivät korvaa oppikirjaa Jos haluat opiskella itsenäisesti, niin lue siihen tarkoitettuja oppikirjoja Stallings Tanenbaum Patterson-Hennessy 11 12

Motto (2) Kunto ei nouse, jos ei tule hiki ( It is not good exercise, if you do not sweat ) Ei tämä silti mikään maratoni ole! 4t luentoja, 2t laskareita ja tavallinen luentokurssi 6t omaa opiskelua per viikko yht n 12t/viikko + kokeeseen valmistautuminen + koe yht n 8t / kurssi eli 2 työviikkoa WWW Informaatio (6) Kurssin kotisivu http://wwwcshelsinkifi/u/kerola/tito/ Tämän lukukauden aikataulu http://wwwcshelsinkifi/u/kuuppelo/tito/k22 /aikatauluhtml Luennot /u/kuuppelo/tito/k22/luennot/ Laskuharjoitukset /u/kuuppelo/tito/k22/laskuharj/ Vanhat kokeet /u/kerola/tito/kokeet/ Uutisryhmä hyopiskelutktltito 13 14 Muisti Suoritin Väylä Ohjain Levy TiTo: Mitä systeemissä tapahtuu? TiKRa: Miten CPU ja muisti on toteutettu? Miten kellopulssi saa käskyt suoritetuksi? TikRa Suorittimen toteutushierarkia (7) Konekieliarkkitehtuuri ADD R1, R2 Moduulit adder, register, ALU Loogiset portit and, or 1 Piirisuunnittelu virrankulutus, ajoitus, piuhojen sijoitus Toteutuslaitteisto elektroniputki, transistori, mikropiiri TiTo AND 15 16 toiminta (TiTo, Comp Org I ) A := B + C; korkean tason kieli MOV AX, B ADD AX, C MOV A, AX konekieli rakenne (TiKRa, Comp Org II) toiminta -kurssin alin esitystaso loogiset piirit (porttitasolla) 17 18

rakenne -kurssin alin esitystaso CLOCK SIGNAL NOR A B NOT NAND CarryIn Adder Sum Carry Kurssin sisältö (12) Luento 1: Johdanto: tietokonejärjestelmän rakenne Luento 2: TTK-91 -tietokone ja sen KOKSI simulaattori Luento 3: Konekielinen ohjelmointi Luento 4: Aliohjelmien toteutus konekielen tasolla Luento 5: Suoritin (CPU) ja väylä Luento 6: Tiedon esitysmuodot Luento 7: Tiedon muuttumattomuus, järj sis muisti Luento 8: Ohjelman toteutus järjestelmässä Luento 9: Ulkoinen muisti, I/O toteutus, I/O laitteet Luento 1: Käännös, linkitys, lataus Luento 11: Tulkinta ja emulointi (Java ohjelmien suoritus) Luento 12: Yhteenveto 19 2 Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 21 22 Tietokonejärjestelmä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Käyttäjä Tietokone (computer) 23 suoritin (CPU) Liitännät muiden koneiden kanssa Ethernet, modem, Tietokone (3) väylä tai väylät muisti Liitännät laitteiden kanssa DVD, CD, disk, diskette, printer, laiteohjaimet Liitännät ihmisten kanssa Mouse, joystick, monitor, game pad, 24

Tietokoneohjelman sijainti ja esitysmuoto (4) Käyttäjän kannalta jossain tietokonelaitteistossa jossain muodossa helppo suorittaa napauta ikonia hiirellä anna ohjelman nimi ja parametrit tekstuaaliselle käyttöliittymälle DOS tai UNIX kehotteen jälkeen sijoita CD-levy CD-asemaan Tietokoneohjelman sijainti ja esitysmuoto (jatkuu) (4) Pitkäaikainen talletus jollain laitteella, jossa tieto säilyy myös ilman sähkövirtaa kovalevy, levyke, magneettinauha, CD, DVD jollain kielellä kuvattuna ohjelmointikielet: Java, Fortran, C, tietokannan kuvauskielet: SQL, SQL*Forms, suorittimen konekieli:, MIPS, PA-RISC, pakattuna ehkä jollain tavoin zip, tar, gz, 25 26 Tietokoneohjelman sijainti ja esitysmuoto (jatkuu) (1) Suoritusaikana muistissa konekielisessä muodossa suoritin (CPU) väylä tai väylät muisti pitkäaikainen talletus Suoritusaikainen talletus Konekieli (3) Suorittimen konekielen käskykanta määrittelee tietokoneen käskykantaarkkitehtuurin ISA - Instruction Set Architecture Kukin käsky on esim 1-numeroinen kokonaisluku Usein esitetty symbolisella konekielellä 22345612 5437658756 käsky jaettu osiin (kenttiin) LOAD R1,Summa joidenkin kenttien arvot kuvattu symboleilla helpompi ihmisten lukea ja kirjoittaa 27 28 Symbolinen konekieli Yleinen esitystapa konekielisille ohjelmille luettavassa muodossa oleva konekieli Helppo muuttaa konekieleksi suora vastaavuus konekieleen usein mielletään (vähän väärin, muttei paljon): symbolinen konekieli konekieli 129543876 LOAD R2, Summa % R2 Mem(Summa) 439874387 ADD R2, =5 % R2 R2 + 5 544399765 JUMP Loop % PC Loop Ohjelma vs konekieli Ongelma: Ohjelma on talletettu ohjelmointikielellä (esim Java) pitkäaikaismuistiin (esim kovalevy), mutta suoritusta varten sen tulee olla suoritettavan tietokonelaitteiston prosessorin konekielellä laitteiston muistissa Ratkaisu: esitysmuodon muunnokset käännös ohjelmointikieli konekieli linkitys lataus paketoidaan kirjasto-ohjelmat mukaan sijoitetaan ohjelma muistiin suoritettavaksi 29 3

Ohjelman esitysmuodot (4) ks C-kielinen esimerkki (2 sivua) LOAD R1,4542 ADD R1,=1 STORE R1,4542 PUSH SP,R1 CALL 86488 muistissa käännös eri moduulissa linkitys lataus samassa moduulissa Sum := Sum+1; Print (Sum); LOAD R1, Sum ADD R1,=1 STORE R1, Sum PUSH SP, R1 CALL IOModPrint LOAD R1, Sum ADD R1, =1 STORE R1, Sum PUSH SP, R1 CALL PrintRoutine PrintRoutine levyllä 31 Kääntäjä esimerkki (4) Pascal-kääntäjä kääntää Pascal-kielisen ohjelman (esim) Intel konekielelle (Pentium PC:lle) Pascal-kääntäjä on ohjelma, joka suoritetaan (esim) Intelin Pentium-prosessori pohjaisessa laitteistossa Pascal-kääntäjän esitysmuoto käännösaikana (suoritusaikana) täytyy olla Intel konekieli ohjelman nimi tuloskieli lähdekieli suoritettavan ohjelman esitysmuoto (sopiva Intel suorittimelle) Kääntäjä esimerkki (jatkuu) (2) Pascal-kääntäjä on ohjelma, joka on alkuaan kirjoitettu jollain ohjelmointikielellä C-kielellä? Pascal-kielellä? C/pascal Ennen suoritusta myös Pascal-kääntäjä täytyy olla käännettynä laitteiston konekielelle Intel, PA-RISC, Kääntäjä esimerkki (jatkuu) (5) Käännä ohjelma MyProg Pascalista konekielelle? syöte MyProg Pascal tuloste suoritettava ohjelma? Käännä Pascal kääntäjä Pascalista konekielelle? Pascal MyProg? 33 34 Suorittimen ja muistin sisältö Laitteiston nopeus (7) suoritin konekäskyjen suorituspiirit välimuisti väylä muisti kirjastorutiinit ohjelma laiterekisterit käyttöjärjestelmä data Järjestelmän eri komponenteilla on suuret nopeuserot laiterekisterit kaikkein nopeimmat välimuisti lähes yhtä nopea muisti jo aika kaukana laitteet hyvin kaukana eräät laitteet todella hyvin kaukana magneettinauha, ihmisen käyttöliittymät muut tietokoneet todella hyvin kaukana 35 36

Teemun juustokakku (5) Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä? käsi pöytä jääkaappi kuu Europa (Jupiter) Suoritin eli prosessori (CPU) -- Luennon 1 loppu -- VA6 - PC133 ATX Mainboard Väyläkontrolli (chip set), piuhat piilossa muissa kerroksissa) Muisti 5 sek (rekisteri) 1 sek (välimuisti) 1 sek (muisti) 12 pv (levy) 4 v (nauha, ihminen) 37 I/O-laitteet http://wwwabitnl/english/product/ 38