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

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

Tiedon tarkistus (4)

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

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

Tiedon tarkistus (4)

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)

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

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

Konekäskyjen esitysmuoto muistissa (4)

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

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

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

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

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

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

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

MUISTIPIIRIT H. Honkanen

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

Arto Salminen,

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

3. Luento: Muistin hallinta. Tommi Mikkonen,

Muistipiirit. Digitaalitekniikka (piirit) Luku 20 Sivu 1 (24)

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

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

TK Palvelinympäristö

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 1 Tietokonejärjestelmän rakenne

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

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

esimerkkejä erilaisista lohkokoodeista

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

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

Järjestelmän ulkoinen muisti I/O

Luento 1 Tietokonejärjestelmän rakenne

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

Muistihierarkia Kiintolevyt I/O:n toteutus

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

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

Käännös, linkitys ja lataus

1. Keskusyksikön rakenne

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus.

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Luento 9 Järjestelmän ulkoinen muisti

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Jakso 5 Suoritin ja väylä

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

POWER analytiikka-alustana

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

Luento 9 Järjestelmän ulkoinen muisti

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

6.3. AVR_rauta. EEPROM-muisti pva

Internal Memory, Cache

Jakso 5 Suoritin ja väylä

Tietokoneen toiminta, K Tavoitteet (4)

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

Internal Memory, Cache

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

SM210 RS485 - JBUS/MODBUS mittarille SM102E. Käyttöohje

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.

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

Tietokoneen toiminta (Computer Organization I)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Luento 5 Suoritin ja väylä

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

2 Konekieli, aliohjelmat, keskeytykset

Ohjelmistojen virheistä

Luento 2: Tiedostot ja tiedon varastointi

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

Tietokoneen toiminta (Computer Organization I)

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

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

Tietokoneen toiminta (Computer Organization I)

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

Luento 9 Järjestelmän ulkoinen muisti

Tietokoneen toiminta (Computer Organization I)

Luento 5 Suoritin ja väylä

TIETOKONEEN MUISTI NYT JA TULEVAISUUDESSA

Internal Memory, Cache (välimuisti)

Internal Memory, Cache (välimuisti)

PC-tietokoneen kokoaminen. Osien valinta

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

SM211 RS485 - JBUS/MODBUS mittarille SM103E. Käyttöohje

Dynaaminen muisti. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät 2017.

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

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus (2)

Luento 5 Suoritin ja väylä

Luento 9 Järjestelmän ulkoinen muisti

Luento 5 Suoritin ja väylä

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Å Ä Ö

Transkriptio:

Luento 7 (verkkoluento 7) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Pariteetti, Hamming-koodi Välimuisti, muisti 1

Tiedon tarkistus Tiedon oikeellisuutta ei voi tarkistaa yleisessä tapauksessa Laitteistovirheitä voidaan havaita ja joskus automaattisesti korjata Bitti voi muuttua muistissa tai tiedon siirrossa muistipiirissä voi olla vika (staattinen vika) sopiva alkeishiukkanen voi muuttaa bitin tiedonsiirron aikana (transientti vika) Vian takia tieto muuttuu virheelliseksi (virhe) Korjaamattomasta virheestä voi aiheutua häiriö Tietokannan eheys on eri asia! Lisää tietoa? vika virhe häiriö Tietokanta kurssit 2

Vika, virhe, häiriö Rillit huurussa tv-sarja Penny liukastuu ammeessa? Sheldonin mielestä vika oli liukuestematon puuttuminen, liukastuminen sen aiheuttama virhe ja murtuma virheen aiheuttama häiriö. Avaruussukkula Virhe koodissa Luokittelu sen aiheuttaman häiriön perusteella Vika yleensä ohjelmoijan koulutuksessa 3

Tiedon muuttumattomuus Virheitä tapahtuu Otetaan mukaan ylimääräisiä bittejä, joiden avulla virheitä voidaan havaita ja ehkä myös korjata Järjestelmä suorittaa tarkistukset automaattisesti Laitteistotasolla, esim. Muistipiiri tarkistaa ja ehkä korjaa, jos tieto on muuttunut tallennuksen aikana Suorittimen MMU tarkistaa ja ehkä korjaa, jos tieto on muuttunut väylällä matkalla muistista Ohjelmistotasolla, esim. 4KB tietoliikennepaketissa ei tiedonsiirtovirheitä 4

Bittitason tarkistukset Muistipiirit, levyt, väylät, tiedonsiirrot Monenko bitin muuttuminen havaitaan? Monenko bitin muuttuminen voidaan automaattisesti korjata? Havaitsemiseen ja/tai korjaamiseen tarvitaan enemmän (ylimääräisiä) bittejä lisämuistitilan tai levytilan tarve? lisäpiuhojen tarve väylällä? Tarkistukset/korjaukset laitteisto- vai ohjelmistotasolla? Hetu: 1 (merkki) Hetu: 0 (merkki) Hetu: +10%? Hetu: 120464-121C (merkkejä, ei bittejä) Hetu: ohjelmistotasolla 5

Pariteettibitti Yksi ylimääräinen bitti per tietoalkio sana, tavu, tietoliikennepaketti (?) Parillinen (pariton) pariteetti: 1-bittien kokonaislukumäärä on aina parillinen (pariton) Havaitsee: 1 bitti Korjaa: 0 bittiä Havaitsee: Esimerkki (parillinen pariteetti) Kaikki yhden bitin virheet 0010 001 0 1000 1101 1111 001 1 pariteettitilantarve: 12.5% 6.25% 6

Suomalainen IBAN Havaitsee: (vanha) Pankkitilin numero 500015-123 Kaikki yhden merkin virheet Useimmat kahden merkin virheet Kaikki kahden merkin vaihtumiset Useimmat muut virheet 50001500000123 FI00 50001500000123 15 18 00 50001500000123 15 18 00 mod 97 = 61 98-61 = 37 FI37 5000 1500 0001 23 (uusi, IBAN) Pankkitilin numero 7

Hamming etäisyys (R. Hamming 1950) Montako bittiä jossain koodijärjestelmässä (esim. ISO Latin-1) esitetyllä koodilla (esim. A = 0x41 = 0100 0001) täytyy muuttua, että se muuttuu johonkin toiseen (mihin tahansa) lailliseen koodiin. ISO Latin-1:n Hamming etäisyys: 1 Pariteettibitin kanssa Hamming etäisyys: 2 mikä todennäköisyys 2 bitin (vs. 1 bitin) virheeseen? riittävän pieni? A = 0x41 = 0100 0001 B = 0x42 = 0100 0010 C = 0x43 = 0100 0011 2 bittiä 1 bittiä Prob{ 2 bitin virhe } = (Prob{ 1 bitin virhe }) 2 8

Virheen korjaava Hamming koodi (5) (R. Hamming 1950) 0 corrected [Tane99] (a) Kukin databitti (4 kpl) kuuluu erilaisiin pariteettijoukkoihin (3 kpl) (b) Tarvitaan 3 ylimääräistä bittiä! (c) Joukot A ja C havaitsevat virheen ja siten paikallistavat virheellisen bitin Täsmälleen 1 databitti identifioituu kerrallaan! entä jos virhe pariteettibitissä? 9

Virheen korjaava Hamming koodi oikein virheellinen Data: 100 1100 110 1100 Bitti nro: 765 4321 765 4321 Pariteettibitti 1 tarkistaa bittejä 1, 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) 1 = 001 2 = 010 3 = 011 4 = 100 5 = 101 6 = 110 7 = 111 Keskustele 10

CRC - Cyclic Redundancy Code Tiedonsiirrossa käytetty tarkistusmenetelmä Tarkistussumma (16 bittiä) isolle tietojoukolle laske CRC = f (viesti) % 2 16 (ota 16 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 16 bits or less In summary, 99.998% of all errors 11

Virheiden tarkistusmenetelmien käyttöalueet Mitä lähempänä suoritinta, sitä tärkeämpää tiedon oikeellisuus on Sisäinen väylä, muistiväylä (laitteistotuteutus) virheet lennossa korjaava Hamming-koodi ylim. johtimet pariteettibiteille laitteistopiirit pariteettibittien tarkistamiseen (aika!?) Paikallisverkko (ohjelmistototeutus) 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 12

Laitteiden monistaminen 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 saman tyyppiset laitteistot, samankaltaiset ohjelmat samat speksit, samat syötteet, eri ohjelmoijat Four of the five computers (IBM AP-101) on the space shuttle 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-101) 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 13

14

Välimuisti (cache) Ongelma: keskusmuisti on aika kaukana suorittimesta Ratkaisu: välimuisti lähelle suoritinta pidetään siellä kopioita viime aikoina viitatuista keskusmuistin alueista rekisterin viittausaika: X muistin viittausaika: 200X (karkealla tasolla) 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, ehkä) välimuistin viittausaika: 2X Keskustele 15

Muistin toteutus 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) Kaikki nykyiset keskusmuistit ovat random access 16

RAM:n kaksi eri teknologiaa DRAM: dynaaminen RAM, halvempi, hitaampi, tietoja pitää virkistää vähän väliä (esim. joka 2 ms) tavallinen keskusmuisti (1975-..) useimmissa koneissa toteutettu kondensaattoreilla, jotka vuotavat SRAM: staattinen RAM, kalliimpi ( 10-20x), nopeampi ( 10-50x), vie tilaa enemmän, ei vaadi tietojen virkistämistä välimuisti useimmissa koneissa muisti superkoneissa (esim. Cray C-90) toteutettu samanlaisilla logiikkaporteilla (gate) kuin prosessorikin 17

Nykyaikaisen keskusmuistin termejä SDRAM (synchronous dynamic random access memory) Kello tahdittaa siirrot väylälle Sisäinen puskuri, useita muistioperaatioita jonossa DDR (double data rate) SDRAM Yhden kellopulssin aikana kaksi datasiirtoa, sekä nousevalla että laskevalla pulssin osalla Kello, väylä Lisää tietoa? Tietokoneen rakenne 18

ROM teknologia ROM - Read-Only Memory tieto säilyy virran katkettua Voi käytön aikana 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 (ehkä ) päivitys: laita valmistajalta saatu uusi lastu paikalleen tietoa voi lukea mistä vain samassa ajassa (random access) yleensä hitaampi kuin RAM ( 10x) (non-volatile) 19

readmostly memory Kirjoitettavia ROM-muisteja PROM - Programmable ROM kerran kirjoitettava tiedon päivitys: polta tiedot tyhjään PROM:iin EPROM - Erasable PROM tietoja ei voi päivittää sana kerrallaan vanhat tiedot voidaan (kaikki!) poistaa 20 min. UV-säteilyllä, jonka jälkeen päivitetyt tiedot voidaan ladata 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 Flash Drive, SSD Solid State Disk Flash-muistilla toteutettu iso muisti Käyttöjärjestelmä näkee (usein vielä) kovalevynä 20

SSD Flash-muisti paketoituna erilaisiin koteloihin Rajallinen määrä (100 000?) kirjoituskertoja samaan muistipaikkaan Kirjoitettavia fyysisiä muistialueita kierrätetään Vara-alueita valmiiksi allokoituna Keskusmuistissa oleva tiedostovälimuisti vähentää kirjoituskertoja? Kaksi teknologiaa (2012) nor: luku/kirj sana kerrallaan, hitaampi nand: luku/kirj lohko kerrallaan, nopeampi 21

SSD vs. kovalevy (HDD) I/O per sek: SSD ehkä 100x nopeampi Saantiaika: SSD n. 10-100x nopeampi Kapasiteetti: HDD ehkä 4x isompi (2016) SSD kestää tärinää, ei kulu, vaatii vähemmän virtaa, vie vähemmän tilaa Hinta: SSD ehkä 8x (2016) HDD 2 TB 70e SSD 1 TB 280e Keskustele 22

Muisti- hier- arkia Flash? SSD? Levypalvelin? Pilvi? 23

-- Loppu -- Eckert Akustinen elohopeaviiveputki kvartsikide muutti sähkövirran akustiseksi signaaliksi (ja päin vastoin) pietsosähköisen ilmiön avulla 1000 bittiä per 1.45m putki Luku: odota, että oikea arvo ehtii putken päähän, lue se ja kirjoita se takaisin putken toiseen päähän W. Shockley & J.P. Eckert, 1946 M. Wilkes, EDSAC Electronic Delay Storage Automatic Calculator, 1949 Wilkes 24