Aihepiiri Tietokoneen toiminta (Computer Organization I) Tavoitteet (4) Mitä hyötyä tästä on? (4) 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) Mitä hyötyä tästä on? (4) Kurssien välisiä riippuvuuksia. Aihepiiri.

Aihepiiri 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. Mitä hyötyä tästä on? (3) Tavoitteet. Kurssien välisiä riippuvuuksia

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)

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

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

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

Kurssin esittely Tavoitteet Komponentit

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Kurssin esittely Tavoitteet Komponentit

Luento 0, Hallinto, yleisesittely 1

Tietokoneen toiminta (Computer Organization I)

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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)

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? Teemu Kerola, K2000

Luento 12 Yhteenveto. 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? 29/01/2001 Teemu Kerola, Copyright 2001

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

Luento 12 Yhteenveto

Luento 12 Yhteenveto

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)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

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

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

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

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 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

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

4. Lausekielinen ohjelmointi 4.1

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

Jakso 4 Aliohjelmien toteutus

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

Luento 4 Aliohjelmien toteutus

Jakso 10 Ohjelman suoritus järjestelmässä

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

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 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 simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91 (1) TTK-91 laitteisto

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

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

Jakso 10 Ohjelman suoritus järjestelmässä

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

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Ohjelmoinnin perusteet Y Python

Luento 4 Aliohjelmien toteutus

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

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)

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

2 Konekieli, aliohjelmat, keskeytykset

Jakso 4 Aliohjelmien toteutus

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

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

Luento 9 Järjestelmän ulkoinen muisti

Jakso 5 Suoritin ja väylä

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

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

Tiedon sijainti suoritusaikana. Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Transkriptio:

581305-6 toiminta (Computer Organization I) Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Kesä 2000 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 (4) Mitä hyötyä tästä on? (4) 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? 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ää? Miksi MHz eivät kerro suoritusnopeutta? 3 4 Kurssien välisiä riippuvuuksia Käyttöjärjestelmät I (2ov) Java ohjelmointi toiminta (2ov) rakenne (2ov) Perusopinnot (kaikille yhteisiä cl-kursseja) toiminta Käyttöjärj I Käyttö järj II Hajautetut järjestelmät Rinnakkaisohjelmistot Tietoliikenne I Spes & verif perusteet (2) Pakolliset l-kurssit (Haj järj ja tietoliikenne ) rakenne Tietoliikenne II Rinnakkaisohjelmointi (2ov) Tietoliikenne I (2ov) 5 KJ-metod Ohj sem Tietoliik järjest Valinnaiset l-kurssit (Haj järj & tietoliik) Tietokonearkkiteht 6 Luento 1, johdanto 1

TiTo (2ov), suoritusmuodot Luentokurssi luennot, luentokalvot luentomoniste, laskuharjoitukset koe (288), uusintakuulustelut: 710, 1111 Loppukoe kirjasta [Tane99] kurssikuvauksessa mainitut osat ohjelmointi TTK-91 symbolisella konekielellä KOKSI:n käyttö koe Tämä kurssi Sovittava erikseen 7 Luentokurssin suoritus Luennot luentokalvot verkossa, kopioi etukäteen opi perusasiat kunnolla luennolla Lue kirjasta samat asiat vähän eri tavalla esitettynä Tee laskuharjoitukset Osallistu laskuharjoituksiin Osallistu kokeeseen 6-9 t / vk? 15t / vk? 4t / vk? 8 60 50 TITO K2000 koe vs laskuharjoitukset 60 50 TiTo K2000 koe vs laskuharjoitukset Koe (max 60) 40 30 20 Koepisteet 40 30 20 hylätyt hyväksytyt 10 0 0 5 10 15 20 25 30 35 HTP (max 36) 10 0 0 5 10 15 20 25 30 35 Harjoitustehtäväpisteet 9 10 Oppimateriaali Huomaa Kurssimoniste: Auvo Häkkinen, toiminta, opetusmoniste D390, TKTL, 3011998 (pääpiirteittäin luvut 1-10) painos vuoden 1998 jälkeen (Java) KOKSI simulaattori & dokumentit Luentokalvot kopiot verkossa 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 Tanenbaum Stallings Patterson-Hennessy 11 12 Luento 1, johdanto 2

Motto (2) WWW Informaatio (6) Kunto ei nouse, jos ei tule hiki Kurssin kotisivu ( It is not good exercise, if you do not sweat ) 24t luentoja, 12t laskareita ja noin 40 omaa opiskelua => 76t kolmen viikon aikana http://wwwcshelsinkifi/~marttine/tito/kesa00 Tämän lukukauden aikataulu /tito/k2000/aikatauluhtml Luennot /luennot/ Laskuharjoitukset /laskuharj/ Vanhat kokeet /tito/kokeet/ Uutisryhmä hyopiskelutktltito 13 14 Muisti Suoritin Väylä Ohjain Levy TiTo: Mitä systeemissä tapahtuu? TiKRa: Miten CPU ja muisti on toteutettu? toiminta (TiTo, Comp Org I ) A := B + C; High level language MOV AX, B ADD AX, C MOV A, AX Assembler Logic circuits rakenne (TiKRa, Comp Org II) 15 16 toiminta -kurssin alin esitystaso rakenne -kurssin alin esitystaso CLOCK SIGNAL NOR NOT NAND A B CarryIn Adder Sum Carry 17 18 Luento 1, johdanto 3

Kurssin sisältö (10) Johdanto: tietokonejärjestelmän rakenne TTK-91 -tietokone ja sen KOKSI simulaattori Konekielinen ohjelmointi Aliohjelmien toteutus konekielen tasolla Suoritin (CPU) ja väylä Tiedon esitysmuodot Tiedon muuttumattomuus, järj sis muisti Ohjelman toteutus järjestelmässä Järjestelmän ulkoinen muisti, I/O, levy Ohjelmien suorittaminen järjestelmässä Yhteenveto 4 t 19 20 Jakso 1 Tietokonejärjestelmän rakenne Tietokonejärjestelmä Tietokonelaitteisto Käyttäjä Järjestelmän eri tasot Laitteiston nopeus Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 21 22 suoritin (CPU) Liitännät muiden koneiden kanssa Ethernet, modem, Tietokone (3) väylä tai väylät Liitännät laitteiden kanssa DVD, CD, disk, diskette, printer, muisti laiteohjaimet Liitännät ihmisten kanssa Mouse, joystick, monitor, game pad, 23 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 sijoittamalla CD-levy CD-asemaan 24 Luento 1, johdanto 4

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: x86, MIPS, PA-RISC, pakattuna ehkä jollain tavoin zip, tar, gz, 25 Tietokoneohjelman sijainti ja esitysmuoto (jatkuu) (1) Suoritusaikana muistissa konekielisessä muodossa suoritin (CPU) väylä tai väylät muisti pitkäaikainen talletus Suoritusaikainen talletus 26 Konekieli (3) Suorittimen konekielen käskykanta määrittelee tietokoneen käskykantaarkkitehtuurin ISA - Instruction Set Architecture Kukin käsky on esim 10- 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 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 % hyppy osoitteeseen 27 28 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 linkitys lataus ohjelmointikieli konekieli paketoidaan kirjasto-ohjelmat mukaan sijoitetaan ohjelma muistiin suoritettavaksi 29 Ohjelman esitysmuodot (4) ks C-kielinen esimerkki (2 sivua) LOAD R1,40542 ADD R1,=1 STORE R1,40542 PUSH SP,R1 CALL 86488 muistissa käännös linkitys lataus 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 levyllä 30 Luento 1, johdanto 5

Kääntäjä esimerkki (4) Pascal-kääntäjä kääntää Pascal-kielisen ohjelman (esim) Intel x86 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 x86 konekieli lähdekieli esitysmuoto ohjelma Pascal kääntäjä x86 x86 tuloskieli Kääntäjä esimerkki (jatkuu) Pascal-kääntäjä on ohjelma, joka on alkuaan kirjoitettu jollain ohjelmointikielellä C-kielellä? Pascal-kielellä? Ennen suoritusta myös Pascal-kääntäjä täytyy olla käännettynä laitteiston konekielelle Intel x86, PA-RISC, 31 Kääntäjä esimerkki (jatkuu) (5) Suorittimen ja muistin sisältö Käännä ohjelma MyProg Pascalista konekielelle? muisti MyProg MyProg Pascal Pascal kääntäjä x86 x86 syöte x86 tuloste suoritettava ohjelma? Käännä Pascal kääntäjä Pascalista konekielelle? Pascal kääntäjä x86 Pascal kääntäjä x86 Pascal Pascal kääntäjä x86 x86 x86? suoritin konekäskyjen suorituspiirit välimuisti väylä kirjastorutiinit ohjelma laiterekisterit käyttöjärjestelmä data 33 34 Laitteiston nopeus (7) 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 Juustokakun tekeminen (5) Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä? Europa (Jupiter) käsi jääkaappi pöytä kuu 1 sek 05 sek (välimuisti) (rekisteri) 10 sek (muisti) 12 pv (levy) 4 v (nauha, ihminen) 36 Luento 1, johdanto 6

-- Jakson 1 loppu -- VA6 - PC133 ATX Mainboard Väyläkontrolli (chip set), piuhat piilossa muissa kerroksissa) Suoritin eli prosessori (CPU) Muisti I/O-laitteet http://wwwabitnl/english/product/ 37 Luento 1, johdanto 7