Luento 1 Tietokonejärjestelmän rakenne

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

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)

Aihepiiri 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.

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, 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ä?

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

Tietokoneen toiminta, K Tavoitteet (4)

Luento 12 Yhteenveto

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?

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

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

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

Luento 12 Yhteenveto

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

Luento 12 Yhteenveto

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

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

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

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

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

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

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

Järjestelmän ulkoinen muisti I/O

Luento 4 Aliohjelmien toteutus

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

1. Keskusyksikön rakenne

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

4. Lausekielinen ohjelmointi 4.1

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

Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä

Jakso 4 Aliohjelmien toteutus

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

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

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

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

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

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

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

Kurssin esittely Tavoitteet Komponentit

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Luento 9 Järjestelmän ulkoinen muisti

Jakso 10 Ohjelman suoritus järjestelmässä

Luento 4 Aliohjelmien toteutus

Oppimistavoitteet kurssilla Tietokoneen toiminta

Luento 9 Järjestelmän ulkoinen muisti

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Jakso 10 Ohjelman suoritus järjestelmässä

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

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

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

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 4 Aliohjelmien toteutus

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Jakso 4 Aliohjelmien toteutus

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Luento 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

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Käännös, linkitys ja lataus

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

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

Transkriptio:

Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento 1, johdanto 1

Tietokone suoritin (CPU) muisti väylä tai väylät laiteohjaimet Liitännät muiden koneiden kanssa Ethernet, modem,... Liitännät laitteiden kanssa DVD, CD, disk, diskette, printer,... Liitännät ihmisten kanssa Mouse, joystick, monitor, game pad,... 3 Tietokoneohjelman sijainti ja esitysmuoto 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 4 Luento 1, johdanto 2

Tietokoneohjelman sijainti ja esitysmuoto (jatkuu) 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,... 5 Tietokoneohjelman sijainti ja esitysmuoto (jatkuu) Suoritusaikana muistissa konekielisessä muodossa suoritin (CPU) väylä tai väylät muisti Suoritusaikainen talletus pitkäaikainen talletus 6 Luento 1, johdanto 3

Konekieli 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ä 2234563212 5437658756 käsky jaettu osiin (kenttiin) LOAD R1,Summa joidenkin kenttien arvot kuvattu symboleilla helpompi ihmisten lukea ja kirjoittaa 7 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): 129543876 439874387 544399765 LOAD R2, Summa ; R2 Mem(Summa) ADD R2, =5 ; R2 R2 + 5 JUMP Loop ; PC Loop (koodi) (; kommentti) symbolinen konekieli konekieli 8 Luento 1, johdanto 4

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 9 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 määritelty muualla eri moduulissa linkitys lataus samassa moduulissa Sum := Sum+1; Print (Sum); LOAD R1, Sum ADD R1,=1 STORE R1, Sum PUSH SP, R1 CALL IOMod.Print LOAD R1, Sum ADD R1, =1 STORE R1, Sum PUSH SP, R1 CALL PrintRoutine PrintRoutine... levyllä 10 Luento 1, johdanto 5

Käännösesimerkki Ohjelma MyProg tekee jotain. Alkuaan MyProg on kirjoitettu Pascal-kielellä MyProg halutaan suorittaa Intel x86 laitteistossa (Pentium PC:lle) Ohjelman MyProg esitysmuoto suoritusaikana täytyy olla Intel x86 konekieli ohjelman nimi suoritettavan ohjelman esitysmuoto (sopiva Intel x86 suorittimelle) MyProg x86 11 Käännösesimerkki (jatkuu) Pascal-kääntäjä on ohjelma, joka on alkuaan kirjoitettu jollain ohjelmointikielellä C-kielellä? Pascal-kielellä? lähdekieli Ennen suoritusta myös Pascal-kääntäjä täytyy olla käännettynä laitteiston konekielelle Intel x86, PA-RISC,... Pascal kääntäjä x86 C/Pascal Pascal kääntäjä x86 x86 tuloskieli käännös 12 Luento 1, johdanto 6

Käännösesimerkki (jatkuu) (3) Käännä ohjelma MyProg Pascalista konekielelle? 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? 13 Suorittimen ja muistin sisältö muisti suoritin konekäskyjen suorituspiirit välimuisti kirjastorutiinit ohjelma laiterekisterit käyttöjärjestelmä data väylä 14 Luento 1, johdanto 7

Laitteiston nopeus 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 15 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) 0.5 sek (rekisteri) 1 sek (välimuisti) 10 sek (muisti) 12 pv (levy) oikea: 10 ms? 4 v (nauha, ihminen) 16 Luento 1, johdanto 8

-- Luennon 1 loppu -- VA6 - PC133 ATX Mainboard Väyläkontrolli (chip set), väylä ja piuhat piilossa muissa kerroksissa) Suorittimen eli prosessorin (CPU) liitin Muistin liittimet I/O-laitteiden liittimet http://www.abit.nl/english/product/ 17 Luento 1, johdanto 9