Tietokoneen toiminta (2 ov)

Slides:



Advertisements
Samankaltaiset esitykset
Tietokoneen käyttöjärjestelmä
Advertisements

Tietokonetekniikka 5 Operandien osoittaminen ja tietokoneen käskykanta
Tietokonetekniikka 3 Tietokoneen Rakenteen ja toiminnan perusteet
PROSESSIT Tehtäviä: Limittää usean prosessin suoritus, jotta resurssien käyttö olisi tehokasta, mutta samalla taata, että kaikki prosessit etenevät mielekästä.
4. Lausekielinen ohjelmointi
Tietokone Koostuu keskusyksiköstä, näytöstä, näppäimistöstä, hiirestä sekä muista mahdollisista lisälaitteista. Pöytäkoneiden lisäksi löytyy myös kannettavia.
Käyttöjärjestelmien perustehtävät
Tärkeämpää kuin arvaatkaan
Tietokoneen rakenne Stallings, Luku 1
Käyttöjärjestelmät Johdanto. Kurssimateriaalista 15 lukua, jotka vastaavat enemmän tai vähemmän 15 kahden tunnin pakettia Perustuu Gary Nuttin Operating.
Windows NT Mika Purmonen
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Siirräntäjärjestelmät. 2 w Siirräntäjärjestelmä Tiedostojärjestelmä ja siirräntä keskusmuistin ja oheislaitteiden välillä w Voidaan käsitellä hierarkkisina.
E-Commerce 2010: Business, Technology, Society 6e
5.3.3 Koodin generointi Koodin generointi tarkoittaa objektikoodin eli konekielisen ohjelman tuottamista. Generointi jakautuu kolmeen osatehtävään: 1.Muistin.
Konekieli.
 Tärkeämpää kuin arvaatkaan 1. Et ole ehkä koskaan tarvinnut varmistuksia, mutta… …ennemmin tai myöhemmin se tapahtuu sinullekin. 2PowerPoint harjoitus.
13. Hyvä ohjelmointitapa (osa 1)
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Ohjelmat.
Ohjelmointi.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Visual Basic -ohjelmointi
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
1 9. Muistinhallinta l Moniajojärjestelmässä keskusmuisti on jaettu usean prosessin kesken l => ohjelman paikka muistissa ei ole kiinteä, vaan koodi on.
Pinon ylivuodon estäminen Mikko Toivonen & Antti Mattila.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Tietokoneen arkkitehtuuri ja konekieli Tietotekniikan perusteet Pekka Orponen.
Keskusmuistitietokantahakemistot Vilho Raatikka Solid Information Technology Tietokannat NYT! Helsinki,
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
Ohjelma Mikro-ohjelmointi Symbolinen konekieli Osoitustavat.
Mikro-ohjelmoitava tietokone
Aiheet ● Ohjelmointikielten kääntäminen ● Kieliopin määrittely ● Kääntäjän toiminta.
.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembler.
ATVa Tietokoneen rakenne Tanja Koivisto Hartolan Yhtenäiskoulu aineenopetus/tietotekniikka/atva.
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
Lausekielinen ohjelmointi. 4.2 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi,
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op

Tärkeämpää kuin arvaatkaan
Tietokoneen toiminnasta ja rakenteesta
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Tärkeämpää kuin arvaatkaan
10. Siirräntäjärjestelmät
6. Konekäskyjen suorittaminen
8. Ohjelman toteutus järjestelmässä
Tärkeämpää kuin arvaatkaan
Tietokoneen toiminta (2 ov)
Luento 10 Käännös, linkitys ja lataus
8. Ohjelman toteutus järjestelmässä
10. Siirräntäjärjestelmät
Tietokoneen toiminta (2 ov = 4 op)
2. TTK-91 –tietokone ja sen simulaattori
2. TTK-91 –tietokone 2.0 Mikä TTK-91? Ja mitä hyötyä siitä on?
Tärkeämpää kuin arvaatkaan
Luku 12 Java-ohjelmien suoritus
3. TTK-91-käskykanta Symbolisen konekielen tavalliset käskyt
4. Ohjelmointi konekielellä (TTK-91 ja Titokone)
Kurssin tavoitteet Miksi? Keskeiset asiat
10. Siirräntäjärjestelmät
Luku 12 Java-ohjelmien suoritus
OHJELMOINTITAITO ICT02D 12 ECTS.
3. TTK-91-käskykanta Symbolisen konekielen tavalliset käskyt
OHJELMOINTITAITO ICT02D 12 ECTS.
4. Luokan testaus ja käyttö olion kautta
OHJELMOINTITAITO ICT02D 12 ECTS.
10. Siirräntäjärjestelmät
Esityksen transkriptio:

Tietokoneen toiminta (2 ov) Liisa Marttinen liisa.marttinen@cs.helsinki.fi Avoin yliopisto, kevät 2005 Kurssin kotisivu: http://www.cs.helsinki.fi/u/marttine/tito/avoink05/kotisivu.html 26.12.2018 Liisa Marttinen

Kurssin oppimistavoitteet: käsitteellisellä tasolla ymmärtää, miten tietokone toimii suoritin, keskusmuisti, välimuisti, ohjain, väylät, oheislaitteet miten tietokone suorittaa ohjelmia ohjelman esitysmuoto ja sijainti tietokoneessa suoritussykli, konekieli usean ohjelman ’samanaikainen’ suoritus käyttöjärjestelmän rooli EI SIIS TÄTÄ! 26.12.2018 Liisa Marttinen

Miksi tarpeen? Mitä hyötyä tästä on? suoritusnopeus ja koodin viemä tila Tietokone osaa suorittaa vain omalla konekielellään esitettyjä konekäskyjä. Suoritusnopeus riippuu näiden käskyjen suorittamisesta, ei suoraan korkean tason kielen (C, Java, C++) esitysmuodosta. tehokkaan kääntäjän tekeminen koodin optimointi käsin tehokkaammaksi ja tiiviimmäksi konetasoisen toiminnan ymmärtäminen alemman tason ymmärtäminen auttaa ymmärtämään ylemmän tason asioita Miksi Javan byte-koodi kannattaisi kääntää? Mitä Java-ohjelmien kääntäminen oikein tarkoittaa? Mitä Java-ohjelmien suorittaminen tarkoittaa? Entä C-ohjelmien? 26.12.2018 Liisa Marttinen

Tietokonejärjestelmä Keskusyksikkö (CPU) prosessori eli suoritin keskusmuisti väylät ohjaimet oheislaitteet

Kurssin (alustava)sisältö 1. jakso: Johdanto, Tietojärjestelmän rakenne 2. jakso: TTK-91-tietokone 3. jakso: TTK-91-käskykanta 4. jakso:Konekielinen ohjelmointi. 5. jakso: Aliohjelmien toteutus konekielen tasolla 6. jakso: CPU ja väylä 7. jakso: Tiedon esitysmuodot 26.12.2018 Liisa Marttinen

Kurssin (alustava) sisältö jatkuu: 8. jakso: Tiedon muuttumattomuus; järjestelmän sisäinen muisti 9. jakso: Ohjelman toteutus järjestelmässä 10. jakso: Ulkoinen muisti, I/O:n toteutus, I/O-laitteet 11. jakso: Käännös, linkitys, lataus 12. jakso: Tulkinta ja emulointi Kertausta ja yhteenveto 26.12.2018 Liisa Marttinen

Erilaisia tietokoneita superlaskimet reitittimet tietokoneverkoissa pöytätietokoneet ja kannettavat tietokoneet kämmentietokoneet puhelimet upotetut tietokoneet mm. autoissa, pesukoneissa, kameroissa jne 26.12.2018 Liisa Marttinen

Yhä nopeampia, yhä tehokkaampia! Tehostumiskerroin 1000 500 muistin pakkaustiheys 200 100 50 20 10 5 2 prosessorin nopeus muistin saantiaika 1980 1985 1990 1995 2000 Aika 26.12.2018 Liisa Marttinen

Keskusyksikkö, keskusmuisti, ohjaimet prosessori eli suoritin ohjelman suoritus keskusmuisti Ohjelmat + data käyttöjärjestelmä tiedonsiirtoa väylät ohjaimet suuria määriä dataa oheislaitteet

Suuret nopeuserot tiedonsaannissa keskusyksikön omat rekisterit (5 ns) välimuistirekisterit (10 ns) keskusmuisti (50-100 ns) levy (10-50 ms), CD-levy (300 ms) magneettinauha verkon kautta toiselta koneelta ihmisen antama syöte 1 s – 10 s 26.12.2018 Liisa Marttinen

Nopeuserojen vaikutus (1) 1 ns = 1000 mikros 1 mikros = 1000 ms 1 ms = 1000 s 1 s = 10 **9 ns ihmisen antaman syötteen (1 s) saaminen kestää noin 200 miljoona kertaa kauemmin kuin tiedonsaanti rekisteristä! levyltä haku noin 2 miljoonaa kertaa pitempään kuin tiedonsaanti rekisteristä 26.12.2018 Liisa Marttinen

Nopeuserot ihmisen aikaskaalassa ravintolan kokin tarvikkeet kädessä (1 s) ~ tieto rekisterissä pöydällä (2 s) ~ tieto välimuistissa jääkaapissa ( 10 s) ~ tieto keskusmuistissa Mitä kokilla vastaa levyltä haku? noin 2000000 sekuntia eli 23 päivää Entä ihmisen antama syöte? 4600 – 46000 päivää eli 12-120 vuotta 26.12.2018 Liisa Marttinen

Nopeuserojen vaikutus (2) prosessori voi suorittaa vain keskusmuistissa olevaa ohjelmaa jos ohjelma tarvitsee tietoa levyltä tai käyttäjältä, niin prosessori siirtyy suorittamaan jotain toista ohjelmaa samanaikaisesti suorituksessa voi olla usea ohjelma, mutta yksi prosessori suorittaa vain yhtä kerrallaan 26.12.2018 Liisa Marttinen

Suorittimen toteutushierarkkia Konekieliarkkitehtuuri mitä konekäskyjä kone osaa suorittaa ADD r1, A Moduulit yhteenlaskin, rekisteri, ALU Loogiset portit AND, NOT NOR A B (A+B) A B F 0 0 1 0 1 0 1 0 0 1 1 0 A B F F= (A+B) 26.12.2018 Liisa Marttinen

Käskykanta-arkkitehtuuri ISA (Instruction set architecture) käskykanta = niiden konekäskyjen joukko, jotka kone osaa suorittaa tyypillisiä konekäskyjä ADD R1, 100 STORE R4, 20 COMP R3, R2 arkkitehtuuri? mitä käskyjä, mikä on käskyn rakenne miten osoittaminen hoidetaan? TTK-91: 8 3 2 3 16 bittiä käskykoodi rekisteri muistinoudot indeksirekisteri osoiteosa 26.12.2018 Liisa Marttinen

Konekieli Suoritin osaa suorittaa vain omalla konekielellään esitettyä ohjelmakoodia! => suoritettavan ohjelman täytyy olla konekielisessä muodossa suoritin on hyvin nopea => ohjelman täytyy olla nopeasti saatavilla => oltava jo valmiina keskusmuistissa levyltä hakeminen on liian hidasta 26.12.2018 Liisa Marttinen

Ohjelma konekielelle Lausekielellä kirjoitettu ohjelma on joko käännettävä konekielelle kääntäjä korvaa lausekielen lauseet konekielen käskyillä, jotka suorittavat halutut toimenpiteet => konekielinen ohjelma, joka talletetaan muistiin suorittamista varten tai ohjelma on tulkittava tulkkiohjelma käy läpi ohjelman lauseita yksi kerrallaan ja generoi lauseen suorittamiseen tarvittavat konekieliset käskyt, jotka heti suoritetaan 26.12.2018 Liisa Marttinen

Kääntäminen Suoritin eli prosessori Keskusmuisti kääntäjä (konekielinen ohjelma) suorittaa kääntäjä- ohjelman käskyjä. Tuloksena on C-ohjelma konekielisenä C-ohjelma (dataa kääntäjälle) C-ohjelma konekielisenä 26.12.2018 Liisa Marttinen

Käännetyn ohjelman suorittaminen Suoritin eli prosessori Keskusmuisti suorittaa konekielisen C-ohjelman käskyjä. C-ohjelma konekielisenä 26.12.2018 Liisa Marttinen

Ohjelman tulkkaaminen Suoritin eli prosessori Keskusmuisti tulkki (konekielinen ohjelma) suorittaa tulkki- ohjelman käskyjä datana tutkittava C-ohjelma. Tuloksena on aina yhden lauseen konekäskyt, jotka heti suoritetaan tulkin yhdestä lauseesta generoimat konekieliset käskyt C-ohjelma (dataa tulkille) Suoritin vuorottelee tulkin omien käskyjen ja sen generoimien konekäskyjen suorittamista 26.12.2018 Liisa Marttinen

Käyttöjärjestelmä ja prosessi Käyttöjärjestelmä on ohjelma, joka valvoo koko tietokonejärjestelmän toimintaa jakaa koneen resursseja prosesseille prosessori, muisti, … toimii käyttöliittymänä laitteistoon Prosessi on suoritettava ohjelma työsuoritus käyttöjärjestelmä pitää kirjaa prosessien tiloista 26.12.2018 Liisa Marttinen

Prosessin kuvaaja (process control block) sisältää kirjanpitotiedot prosessista mm. prosessin tunniste, ohjelmakoodin ja datan sijainti, avoinna olevat tiedostot ja niiden luku- ja kirjoituskohdat tiedot prosessin suoritusympäristöstä (= eri rekisterien arvot), jotta keskeytetty prosessi pystyy jatkamaan samasta tilasta, johon se keskeytettiin 26.12.2018 Liisa Marttinen

Moniajojärjestelmä suorituksessa on monta prosessia suoritetaan vuorotellen yhtä kerrallaan joko kutakin tietyn maksimiajan kerrallaan tai vaihdetaan, kun suoritettava prosessi joutuu odottamaan esim. levyltä lukua suoritetaan samanaikaisesti useita prosesseja vain moniprosessorikoneessa käyttöjärjestelmä huolehtii prosessien vuorottamisesta (skeduloinnista) 26.12.2018 Liisa Marttinen

Käyttöjärjestelmä Vaikka suorituksessa on monta prosessia, niin ne eivät saa sotkea toistensa suoritusta kullakin prosessilla omat muistialueet, joita ne saavat käyttää Käyttöjärjestelmä on ohjelma, jolla on erityisoikeuksia etuoikeutettuja käskyjä, joita tavalliset ohjelmat eivät saa suorittaa voi viitata kaikkialle muistiin 26.12.2018 Liisa Marttinen

Esimerkkikone: TTK-91 Laitteisto, hardware (HW) suoritin, muisti, väylät, oheislaitteiden liitännät Käskykanta - konekieliarkkitehtuuri konekäskyt, tiedon esitysmuodot, tietotyypit Symbolinen konekieli luettavampi muoto konekielestä 26.12.2018 Liisa Marttinen

CPU eli suoritin MUISTI MMU käyttöjärjestelmä rekisterit muistinhallinta yksikkö käyttöjärjestelmä rekisterit kirjastorutiinit ohjausyksikkö CPU aritmeettis-looginen yksikkö ALU data ohjelma väylä Laiteohjaimet

Titokone-simulaattori KOKSI-simulattori ohjelmia, jotka simuloivat hypoteettisen TTK-91-koneen laitteistoa symbolisen konekielen kääntäjä graafinen käyttöliittymä, virheenjäljitysympäristö (debugger) 26.12.2018 Liisa Marttinen