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



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

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

Tiedon tarkistus (4)

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)

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

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

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

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

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

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

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

Arto Salminen,

TK Palvelinympäristö

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

3. Luento: Muistin hallinta. Tommi Mikkonen,

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

Luento 1 Tietokonejärjestelmän rakenne

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

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

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

Luento 1 Tietokonejärjestelmän rakenne

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

esimerkkejä erilaisista lohkokoodeista

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

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.

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

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Järjestelmän ulkoinen muisti I/O

Luento 9 Järjestelmän ulkoinen muisti

Käännös, linkitys ja lataus

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

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

Ohjelmistojen virheistä

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

Luento 9 Järjestelmän ulkoinen muisti

TIETOKONEEN MUISTI NYT JA TULEVAISUUDESSA

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

1. Keskusyksikön rakenne

2 Konekieli, aliohjelmat, keskeytykset

6.3. AVR_rauta. EEPROM-muisti pva

Jakso 5 Suoritin ja väylä

Tietokoneen toiminta (Computer Organization I)

Luento 9 Järjestelmän ulkoinen muisti

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

POWER analytiikka-alustana

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

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

Tietokoneen toiminta (Computer Organization I)

Jakso 5 Suoritin ja väylä

T Tietotekniikan peruskurssi

Tietokoneen toiminta, K Tavoitteet (4)

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

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

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

Internal Memory, Cache

Backup Exec 3600 Appliance

Luento 2: Tiedostot ja tiedon varastointi

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 5 Suoritin ja väylä

PC-tietokoneen kokoaminen. Osien valinta

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

7.4 Sormenjälkitekniikka

Internal Memory, Cache

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

Luento 9 Järjestelmän ulkoinen muisti

Käyttöpaneelin merkkivalot

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

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

Luento 5 Suoritin ja väylä

Pikaintro käyttöjärjestelmiin

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

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

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

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

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 joko laitteistotasolla tai ohjelmiston avulla 3

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 Hetu: +10%? Hetu: 120464-121C (merkkejä, ei bittejä) Hetu: ohjelmistotasolla 4

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ä Esimerkki (parillinen pariteetti) 0010 001? 0 1000 1101 1111 001? 1 pariteettitilantarve: 12.5% 6.25% 5

Suomalainen IBAN Havaitsee: 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 6

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 7

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

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 (parillinen pariteetti) 1 = 001 2 = 010 3 = 011 4 = 100 5 = 101 6 = 110 7 = 111 Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7: VIRHE 2+4 = 6 korjaa bitti nro 6 Keskustele 9

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 10

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 11

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 12

13

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

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 15

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 16

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 17

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) 18

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 (ehkä) kovalevynä 19

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

SSD vs. kovalevy (2012) I/O per sek: SSD 100x nopeampi Kaistanleveys: SSD vähän nopeampi Saantiaika: SSD 10-100x nopeampi Kapasiteetti: kovalevy 10x isompi SSD kestää tärinää, ei kulu, vaatii vähemmän virtaa, vie vähemmän tilaa, on kalliimpi (per MB) Keskustele 21

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

-- Luennon 3 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 23