Tiedon sijainti. Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Taulukkojen esitysmuoto. Konekäskyn operandit ja tulos

Samankaltaiset tiedostot
Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Konekäskyn operandit ja tulos. Taulukkojen esitysmuoto. Tietueiden esitysmuoto

Konekäskyjen esitysmuoto muistissa (4)

Tiedon tarkistus (4)

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Ohjelman esitysmuoto Rakenteellinen tieto Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa

Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti. Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa

Tiedon tarkistus (4)

Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Konekäskyn operandit ja tulos. Taulukkojen esitysmuoto. Tietueiden esitysmuoto

Tietokoneen toiminta, Kevät Luento 7 Tiedon esitysmuodot (jatk) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Luento 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Tiedon esitysmuodot Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Ohjelman toteutus järjestelmässä

Tietokoneen toiminta Copyright Teemu Kerola Konekohtainen, jokaisella omansa Käskyt ovat 1 tai useamman tavun mittaisia

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

Luento 5 (verkkoluento 5) Suoritin ja väylä

Jakso 5 Suoritin ja väylä

Käännös, linkitys ja lataus

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Jakso 5 Suoritin ja väylä

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

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

Suoritin. Jakso 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

Järjestelmän ulkoinen muisti I/O

Jakso 5 Suoritin ja väylä. Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

Luento 1 Tietokonejärjestelmän rakenne

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

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne. Käskyjen nouto- ja suoritussykli (5)

Luento 1 Tietokonejärjestelmän rakenne

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

Luento 5 Suoritin ja väylä

Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (4) Tiedon esitys (7) Suorittimen ymmärtämä tieto (9) Tietokoneen toiminta, K

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 6 Tiedon esitysmuodot

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä

Luento 5 Suoritin ja väylä

Tiedon tyypit Kommunikointi ihmisen kanssa. Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (4) Suorittimen ymmärtämä tieto (9)

Luento 6 Tiedon esitysmuodot

Jakso 6 Tiedon esitysmuodot

Tiedon ta:rkistus ja muisti

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

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

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

1. Keskusyksikön rakenne

MUISTIPIIRIT H. Honkanen

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

Tietokoneen toiminta, K Tavoitteet (4)

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Luento 5 (verkkoluento 5) Suoritin ja väylä

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

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

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

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

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

Tietokoneen toiminta (Computer Organization I)

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

Tietokoneen toiminta (Computer Organization I)

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

Kertausluento luennoista 1-3 1

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Tietokoneen toiminta (Computer Organization I)

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Jakso 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

Aliohjelmien toteutus Suoritin ja väylä

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Tietokoneen toiminta (Computer Organization I)

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

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

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

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

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset

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

Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen

Tietokoneen toiminta Copyright Teemu Kerola Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

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

Luento 4 Aliohjelmien toteutus

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

Aihepiiri Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Transkriptio:

Tietokoneen toiminta, Kevät 23 6.4.24 Luento 7 Tiedon esitysmuodot (jatk) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Tiedon sijainti suoritin - CPU ALU rekisterit CU MMU Välimuisti (cache) väylä muisti (kirjastorutiinit) ohjelma data laiteohjaimet 2 Konekäskyjen esitysmuoto muistissa (4) Konekohtainen, jokaisella omansa Käskyt ovat tai useamman tavun mittaisia SPARC, kaikki käskyt: sana eli 4 tavua PowerPC, kaikki käskyt: sana eli 4 tavua Pentium II: -6 tavua, paljon variaatioita Käskyillä on yksi tai useampi muoto, kussakin tietty määrä erilaisia kenttiä opcode, Ri, Rj, Rk, osoitusmoodi pitkä tai lyhyt vakio TTK-9, kaikki käskyt: sana, muoto 3 TTK-9 konekäskyn rakenne Käskyn esitys bittitasolla on aina: OPER käskykoodi bit field Rj M Ri 3 bit 2 bit 3 bit ADDR osoiteosa 6 bit field 3 24 2 9 6 5 Rj = käskyn ensimmäinen operandi muistiosoite tai (pienehkö) vakio Ri = indeksirekisteri (R ) M = muistinoutojen määrä toiseen operandiin (ennen mahdollista muistiin talletusta) (addressing mode) eli kpl, välitön osoitus (STORE: suora osoitus) eli kpl, suora osoitus (STORE: epäsuora osoit.) eli 2 kpl, epäsuora osoitus (STORE: epäkelpo arvo) ( eli 3 kpl, epäkelpo arvo poikkeustilanne ) 4 (käyttöjärjestelmä) Konekielen tiedon osoitusmoodit Konekäskyn operandit ja tulos Tulos: rekisteri Rj paitsi WRITE- tai PUSH-käskyissä muistipaikan sisältö Ensimmäinen operandi: rekisteri Rj Toinen operandi laske ensin arvo Ri+ADDR ja käytä sitä sellaisenaan tai käytä sitä muistisoitteena jos Ri = R, arvo: Ri + ADDR niin pelkkä ADDR muistipaikan M[Ri+ADDR] sisältö muistipaikan M[ M[Ri+ADDR] ] sisältö Taulukkojen esitysmuoto Peräkkäisrakenteena, kuten esimerkit aikaisemmin Riveittäin tai sarakeittain Ei omia konekäskyjä, manipulointi aliohjelmilla tai loopeilla Poikkeus: vektorisuorittimet, joilla vektorirekisterit (esim. 64 liukulukua) tavallisten rekistereiden lisäksi omia konekäskyjä vektorioperaatioita varten Indeksoitu tiedonosoitusmoodi tukee -ulotteisten taulukoiden käyttöä 5 6 Luento 7, Muuttumattomuus, sisäinen muisti

Tietokoneen toiminta, Kevät 23 6.4.24 Tietueiden esitysmuoto Peräkkäisrakenteena Osoite on jonkin osoitinmuuttujan arvo Ei omia konekäskyjä, manipulointi aliohjelmilla tai kääntäjän generoimien vakiolisäysten avulla Indeksoitu tiedonosoitusmoodi tukee tietueiden käyttöä Olioiden esitysmuoto Kuten tietueet, yleensä varattu keosta (heap) Useat olion kentistä sisältävät vuorostaan osoitteen keosta suoritusaikana varattuun toiseen olioon Metodit ovat aliohjelmien osoitteita Ei omia konekäskyjä, manipulointi aliohjelmilla 7 Tiedon muuttumattomuus Muuttumattomuus vaikuttaa itsestäänselvyydeltä, mutta... Laitteisto voi vioittua ja aiheuttaa muutoksia tallennettuihin tietoihin Bitti vaihtaa tilaa ( -> tai ->) Ohjelmassa voi olla virhe, joka aiheuttaa tiedon tallennuksen väärään paikkaan Koko muistipaikan sisältö vaihtuu 9 Entä jos bitti kääntyy? Bitti vaihtaa tilaa valvomattomasti Bitti voi muuttua muistissa tai tiedon siirrossa sekä väylällä että koneiden välillä Syitä sähköinen komponentti tai johdin vaurioituu lämpöherkkä komponentti (lämmettyään lakkaa toimimasta) jännitepiikki elektromagneettinen säteily irtonainen johdin (huono liitos) Tiedon tarkistus (3) Tiedon oikeellisuutta ei voi tarkistaa yleisessä tapauksessa Laitteistovirheitä voidaan havaita ja joskus automaattisesti korjata muistipiirissä voi olla vika (staattinen vika) sopiva alkeishiukkanen voi muuttaa bitin tiedonsiirron aikana (transientti virhe) korjaamattomasta virheestä voi aiheutua häiriö Tietokannan eheys on eri asia! Lisää tietoa? Tietokanta kurssit 2 Luento 7, Muuttumattomuus, sisäinen muisti 2

Tietokoneen toiminta, Kevät 23 6.4.24 Tiedon muuttumattomuuden tarkistus (2) Perusidea: otetaan mukaan ylimääräisiä bittejä, joiden avulla virheitä voidaan havaita ja ehkä myös korjata Järjestelmä suorittaa tarkistukset automaattisesti joko laitteistotasolla tai ohjelmiston avulla Ei tepsi ohjelmavirheiden aiheuttamiin eitoivottuihin muutoksiin, koska yleensä tarkistusbitit ovat kunnossa 3 Esimerkki ohjelmistotason tarkistusmerkistä (2) Henkilötunnus: 2464-2C 24642 % 3 = 2 2345679 ABCDEFHJKLMNPRSTUVWXY 2 3 Tarkistusmerkin avulla voidaan tarkistaa, että mikään yksittäinen merkki ei ole väärin havaitsee yhden merkin virheen 2464-23C virhettä ei voi automaattisesti korjata!! Miksi? välimerkkiä (-, +, A) ei tarkasteta lainkaan! 4 Bittitason tarkistukset (5) Muistipiirit, levyt, väylät, 2464-2C tiedonsiirrot Monenko bitin muuttuminen Hetu: havaitaan? Monenko bitin muuttuminen voidaan automaattisesti korjata? Hetu: Havaitsemiseen ja/tai korjaamiseen tarvitaan enemmän (ylimääräisiä) bittejä lisämuistitilan tai levytilan tarve? lisäpiuhojen tarve väylällä? Hetu: +% Tarkistukset/korjaukset laitteisto- vai SW-tasolla? Hetu: ohjelmistotasolla Ylimääräisten bittien käyttö Yksi ylimääräinen bitti Voidaan havaita yhden bitin virhe Pariteettibitiksi Useampia ylimääräisiä bittejä Voidaan havaita useamman bitin virhe tai korjata yhden tai muutaman bitin virhe Hamming-koodaus pienehkölle bittiryhmälle (esim. tavu) CRC (Cyclic Redundancy Code) isommalle määrälle 5 6 Pariteettibitti (9) Yksi ylimääräinen bitti per tietoalkio sana, tavu, tietoliikennepaketti Parillinen (pariton) pariteetti: -bittien lukumäärä on aina parillinen (pariton) Havaitsee: bitti Korjaa: bittiä Esimerkki (parillinen pariteetti)?? Hamming etäisyys (3) Montako bittiä jossain koodijärjestelmässä (esim ISO Latin-) esitetyllä koodilla (esim. A = x4 = ) täytyy muuttua, että se muuttuu johonkin toiseen (mihin tahansa) lailliseen koodiin. A = x4 = B = x42 = C = x43 = 2 bittiä bittiä ISO Latin-:n Hamming etäisyys: Pariteettibitin kanssa Hamming etäisyys: 2 mikä todennäköisyys 2 bitin (vs. bitin) virheeseen? riittävän pieni? (Prob{ yhden bitin virhe }) 2 7 Luento 7, Muuttumattomuus, sisäinen muisti 3

Tietokoneen toiminta, Kevät 23 6.4.24 Hamming etäisyys Kertoo mahdollisuudet bittivirheiden havaitsemiseen tai korjaamiseen Merk. d joukon pienin Hamming etäisyys m-bittinen virhe havaitaan, kun d m+ m-bittinen virhe voidaan korjata, kun d 2m+ 9 Virheen korjaava Hamming koodi(5) [Tane99] (a) Kukin databitti (4 kpl) kuuluu erilaisiin pariteettijoukkoihin (3 kpl) (b) Tarvitaan 3 ylimääräistä bittiä! corrected (c) Joukot A ja C havaitsevat virheen ja siten paikallistavat virheellisen bitin Täsmälleen databitti identifioituu kerrallaan! entä jos virhe pariteettibitissä? 2 Hamming koodi (9) Käytetään useampia pariteettibittejä Havaitsee: 2:n bitin muuttuminen Korjaa: bitin muuttuminen Data + parit. Bitti nro: 765 432 4 bittiä dataa, 3 pariteettibittiä Kutakin databittiä n tarkistavat ne pariteettibitit joiden summana n voidaan esittää. Parillinen pariteetti. 6 = 4 + 2 Kaikki bitit nro 2 i ovat pariteettibittejä, muut ovat databittejä (numerot alkavat :stä) databittiä 6 tarkistavat par. bitit 4 ja 2 2 Virheen korjaava Hamming koodi () Data: Bitti nro: 765 432 765 432 Pariteettibitti tarkistaa bittejä, 3, 5, 7 Pariteettibitti 2 tarkistaa bittejä 2, 3, 6, 7 Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7 Tapahtuu virhe: bitti 6 muuttuu (flips) Pariteettibitti 2 tarkistaa bittejä 2, 3, 6, 7: VIRHE Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7: VIRHE 2+4 = 6 korjaa bitti nro 6 (ECC) (parillinen pariteetti) 42 = 2 = 3 = 4 = 5 = 6 = 7 = 22 Virheen korjaava Hamming koodi (ilman animaatioita) Data: Bitti nro: 765 432 765 432 Pariteettibitti tarkistaa bittejä, 3, 5, 7 Pariteettibitti 2 tarkistaa bittejä 2, 3, 6, 7 Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7 Tapahtuu virhe: bitti 6 muuttuu (flips) Pariteettibitti 2 tarkistaa bittejä 2, 3, 6, 7: VIRHE Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7: VIRHE 2+4 = 6 korjaa bitti nro 6 (parillinen pariteetti) = 2 = 3 = 4 = 5 = 6 = 7 = 23 Data Bits 6 32 64 2 256 Hamming koodi Single-Error Correction Check Bits 4 5 6 7 9 %increase 5 3.25.75.94 6.25 3.52 Single-Error Corr & Double-Error Detection Check Bits 5 6 7 9 %increase 62.5 37.5 2.75 2.5 7.3 3.9 Table 5.2 [Sta3] 24 Luento 7, Muuttumattomuus, sisäinen muisti 4

Tietokoneen toiminta, Kevät 23 6.4.24 Positio Bin. lukuna Data bitti Tark. bitti Noudettu Talletettu Tark. bitti 2 D D7 Hamming: databittiä D6 9 D5 D3 muuttuu -> C 7 D4 6 D3 5 D2 4 C4 3 D 2 C2 Fig 5. [Sta3] 25 C CRC - Cyclic Redundancy Code (7) Tiedonsiirrossa käytetty tarkistusmenetelmä Tarkistussumma (6 bittiä) isolle tietojoukolle laske CRC = f (viesti) % 2 6 (ota 6 viimeistä bittiä) lähetä viesti ja CRC vastaanota viesti ja CRC laske CRC ja tarkista, oliko se sama kuin viestissä jos pielessä, niin pyydä uudelleenlähetystä CRC-CCITT CRCs detect: All single- and double-bit errors All errors of an odd number of bits All error bursts of 6 bits or less In summary, 99.99% of all errors 26 Virheiden tarkistusmenetelmien käyttöalueet Mitä lähempänä suoritinta, sitä tärkeämpää tiedon oikeellisuus on Sisäinen väylä, muistiväylä virheet lennossa korjaava Hamming koodi Paikallisverkko uudelleenlähetyksen vaativa CRC kun tulee virheitä, niin niitä tulee yleensä paljon Hamming koodi ei riitä kuitenkaan pariteettibitti päästää läpi (esim.) 2 virheen paketit 27 Laitteiden monistaminen (4) Monta muistipiiriä tai levyä, samat tiedot monistettu Monta suoritinta, samat käskyjen suoritukset monistettu Monta laitteistoa, samat ohjelmat monistettu äänestysmenettely: enemmistö voittaa monimutkainen, hidas? virheelliseksi havaittu laitteisto suljetaan pois häiriköimästä automaattisesti? Eri- tai samantyyppiset laitteistot, samankaltaiset ohjelmat samat speksit, samat syötteet, eri ohjelmoijat Four of the five computers (IBM AP-) on the Columbia ran identical software and compared results with each other before giving the go-ahead to take a specific action. The fifth computer (also IBM AP-) ran a different version of the software and was used only if the others failed. http://www.hq.nasa.gov/office/pao/history/computers/contents.html 2 Välimuisti muisti suoritin - CPU (kirjastorutiinit) Pariteetti Hamming-koodi Välimuisti Tavallinen muisti ALU rekisterit CU MMU Välimuisti (cache) väylä (käyttöjärjestelmä) ohjelma data laiteohjaimet 29 3 Luento 7, Muuttumattomuus, sisäinen muisti 5

Tietokoneen toiminta, Kevät 23 6.4.24 Välimuisti (cache) (3) Ongelma: keskusmuisti rekisterin viittausaika: X on aika kaukana muistin viittausaika: X suorittimesta Ratkaisu: välimuisti lähelle suoritinta pidetään siellä (kopioita) viime välimuistin aikoina viitatuista keskusmuistin alueista viittausaika: 2X Jokainen muistiviite on nyt seuraavanlainen jos data ei ole välimuistissa, niin hae se sinne suoritin odottaa tällä aikaa, laitteistototeutus! tee viittaus dataan (käskyyn) välimuistissa (talleta muutettu tieto keskusmuistiin) 3 Välimuisti (6) Fig. 4.3 [Stal3] Tuntumaton suorittimelle Fig. 4.3 [Stal99] jos viitattu tieto ei saatavilla, niin suoritin vain odottaa muutaman kellopulssin ajan Toteutettu usein nopeammalla teknologialla kuin keskusmuisti (tavallinen muisti) Toteutettu nykyään usein samalla mikropiirillä kuin suoritin Silti iso aikaero: välimuisti 2X, muisti X TTK-9 koneessa ei ole välimuistia Lisää tietoa? tietokoneen rakenne -kurssi Lisää tietoa? käyttöjärjestelmäkurssit 32 Muistin toteutus (6) Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Eri teknologioita eri tasoisiin muisteihin RAM - Random-Access Semiconductor Memory anna osoite ja lue/kirjoita signaali mistä vaan voi lukea/kirjoittaa samassa ajassa virta pois tiedot häviävät (volatile memory) Huom: kaikki nykyiset muistit ovat random access 33 34 RAM:n kaksi eri teknologiaa (2) DRAM: dynaaminen RAM, halvempi, hitaampi, tietoja pitää virkistää vähän väliä (esim. joka 2 ms) tavallinen keskusmuisti (975-..) useimmissa koneissa toteutettu kondensaattoreilla, jotka vuotavat SRAM: staattinen RAM, kalliimpi ( -2x), nopeampi ( x), ei vaadi tietojen virkistämistä välimuisti useimmissa koneissa muisti superkoneissa (esim. Cray C-9) toteutettu samanlaisilla logiikkaporteilla (gate) kuin prosessorikin CMOS valmistusteknologia (Complementary Metal Oxide Semiconductor) ROM teknologia () ROM - Read-Only Memory tieto säilyy virran katkettua (non-volatile) voi käytössä vain lukea, ei voi kirjoittaa esim. järjestelmän alustustiedot (BIOS) kirjoitus lastun valmistusaikana, Mask-ROM ei enää käytössä huono puoli: kerran väärin, aina väärin päivitys: laita valmistajalta saatu uusi lastu paikalleen tietoa voi lukea mistä vain samassa ajassa (random access) yleensä hitaampi kuin RAM ( x) 35 36 Luento 7, Muuttumattomuus, sisäinen muisti 6

Tietokoneen toiminta, Kevät 23 6.4.24 Kirjoitettavia ROM-muisteja (6) PROM - Programmable ROM kerran kirjoitettava tiedon päivitys: polta tiedot tyhjään PROM:iin EPROM - Erasable PROM tietoja ei voi päivittää sana kerrallaan readmostlsäteilyllä, jonka jälkeen päivitetyt tiedot voidaan ladata vanhat tiedot voidaan (kaikki!) poistaa 2 min. UV- memory EEPROM - Electronically Erasable PROM tietojen pyyhkiminen tavukohtaisesti elektronisesti FLASH EEPROM memory tietojen pyyhkiminen nopeasti kerralla elektronisesti normaalijännitteellä, kaikki tai lohko kerrallaan nopeampi kuin EEPROM 37 Pariteetti Hamming-koodi Välimuisti Tavallinen muisti 3 Muistien historiaa Kondensaattorirumpu 939, ABC, Atanasoff- Berry Computer, Iowa State College. lähinnä laskin, ei toiminut kondensaattorit pyörivän rummun pinnalla Artzybasheff Time cover 95 32 numeroa á 5 bittiä 39 Elektroniputki logiikka, muisti ENIAC, 945 Electronic Numerical Integrator and Computer J.W. Mauchly, J.P. Eckert, J. von Neumann elektr. putkea 7 vastusta 5 milj. juotettua liitosta tykinammusten ja pommien radanlaskenta 4 Akustinen elohopeaviiveputki kvartsikide muutti sähkövirran akustiseksi signaaliksi (ja päin vastoin) pietsosähköisen ilmiön avulla bittiä per.45m putki W. Shockley & J.P. Eckert, 946 M. Wilkes, EDSAC Electronic Delay Storage Automatic Calculator, 949 Mauchly & Eckert, UNIVAC, 95 (ens. kaupallinen tietokone USA:ssa) Univac memory Wilkes Akustinen nikkeliviiveputki magneettikenttä aiheuttaa pituussuuntaisen muodonmuutoksen tankoon ja siten vääntöpulssin johtimeen vähän ajan päästä muutos tuntuu toisessa päässä ja aiheuttaa magneettikentän muutoksen siellä Hazeltine Electronic Corp, 95? Elliot 4, 953 Canon 4 laskin, 969 Sony Sobax 25, 97 Canon 4 4 42 Luento 7, Muuttumattomuus, sisäinen muisti 7

Tietokoneen toiminta, Kevät 23 6.4.24 Williams Tube 946, Williams & Kilburn katodisädeputki ensimmäinen suuri RAM muisti kallis: $ / kk / putki Small Scale Experimental Machine ( Baby ), 947 Ferranti Mark I, ensimmäinen yleiskäyttöinen kaupallinen tietokone, 95 ( bitin muisti) akustisen viiveteknologian kilpailija Tom Kilburn holding a Cathode Ray Tube Storing 24 bits on a CRT in 947 43 Ferriittirengas (core) teknologia 952, Jay Forrester & Bob Everett, MIT (Whirlwind) tieto säilyy ilman virtaa ei häiriinny säteilystä (avaruus, sotilasteknologia) 955, valtaa muistimarkkinat Williams Tube lta 44 Transistori (nopea, kestävä) J. Bardeen, W.B. Shockley ja W. Brattain, ATT Bell Labs, 94 Nobel 956 MIT TX-, 957, ensimmäinen transistoroitu tietokone st transistor 45 Integroitu piiri (ei enää johtoja) st IC (Kilby) Jack Kilby, Texas Instruments, 95 Nobel 2 ensimmäinen käsikäyttöinen laskin Robert Noyce, Fairchild Semiconductor, 959 planar process valmistusmenet. perusti Intelin G. Mooren kanssa IBM S/36, 964 http://www.tomorrowtoday.com/content/newsbriefs/hireswafer.htm Robert Noyce Jack Kilby 46 DRAM Robert Dennard, IBM, 966 (US) National Medal of Technology 9 Intel 3 (97) John Reed Kbit valtaa markkinat ferriittirengasmuisteilta 972 SRAM 97, Fairchild Corp Robert Dennard 47 Muistiteknologian historiaa (7) 94 Mekaaninen Rele Kondensaattorirumpu 944 946 952 966 CRT (Cathode Ray Tube) suurempi, lyhytikäinen Magneettirumpu hitaampi, suurempi tyhjiöputki (vacuum tube) nopeampi Ferriittirengasmuisti (magnetic core) nopeampi, kestävä transistori nopeampi integroitu piiri nopeampi Elohopeaviiveputki suurempi, pitkä ikä Nikkeliviiveputki suurempi, pitkä ikä DRAM/SRAM suurempi 4 Luento 7, Muuttumattomuus, sisäinen muisti

Tietokoneen toiminta, Kevät 23 6.4.24 Muistiteknologian käyttöhistoriaa 94 95 97 rekisterit keskusmuisti massamuisti Mekaaninen Rele kondens. rumpu tyhjiö vastus putki reikäkorttnauha paperi- CRT viiveputki magn. rumpu ferr. rengas CRT viiveputki transistori ferr. rengas integroitu piiri DRAM välimuisti: SRAM PROM SRAM magn. rumpu magn. nauha magn. levy optin. levy 49 Välimuisti (965, Maurice Wilkes) IBM S/36 Model 5 96 256 lohkoa á 64 tavua Wilkes 5 PROM??? EPROM 97, Dov Frohman, Intel 7 EEPROM, 9, Intel 26 Flash EEPROM 94, Fujio Masuoka, Toshiba Fujio Masuoka OROM - optical ROM 99, James Russell (Russell keksi myös CD-ROM:n) 99, Wond-OROM-a 2 MB/kortti plus lukulaite ei liikkuvia osia sama nopeus kuin CD-ROM:lla (siis aika hidas!) pieni virrankulutus sopii kannettaviin laitteisiin hävisi Flash-muisteille 5 52 -- Luennon 7 loppu -- Intel 44, 97 Faggin, Hoff, Mazor Ens. suoritin lastulla 3x4 mm, $2 23 transistoria 4 bitin sana Laskinta varten Sama laskentateho kuin Eniacilla ( tyhjiöputkea) 53 Luento 7, Muuttumattomuus, sisäinen muisti 9