Konekäskyjen esitysmuoto muistissa (4)

Samankaltaiset tiedostot
Ohjelman esitysmuoto Rakenteellinen tieto 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

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

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)

Luento 7 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 toiminta, Kevät Luento 7 Tiedon esitysmuodot (jatk) 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ä

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

Jakso 5 Suoritin ja väylä

Muistihierarkia Kiintolevyt I/O:n toteutus

Käännös, linkitys ja lataus

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

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

Järjestelmän ulkoinen muisti I/O

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

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

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

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

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ä

Muistihierarkia Kiintolevyt I/O:n toteutus

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 1 Tietokonejärjestelmän rakenne

Luento 6 Tiedon esitysmuodot

Jakso 6 Tiedon esitysmuodot

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

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

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

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

Tiedon ta:rkistus ja muisti

1. Keskusyksikön rakenne

Tietokoneen toiminta, K Tavoitteet (4)

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

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

MUISTIPIIRIT H. Honkanen

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

Aliohjelmien toteutus Suoritin ja väylä

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

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

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

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

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

Tietokoneen toiminta (Computer Organization I)

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

Tietokoneen toiminta (Computer Organization I)

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

Kertausluento luennoista 1-3 1

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Tietokoneen toiminta (Computer Organization I)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

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

Tietokoneen toiminta (Computer Organization I)

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

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

Luento 4 Aliohjelmien toteutus

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

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

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

Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

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

Kertausluento 2 (lu04, lu05, lu06) Aliohjelmien toteutus Suoritin, väylä, tiedon esitys

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

Tiedon sijainti suoritusaikana (3) Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Miten tietoon viitataan? (4)

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

Transkriptio:

Luento 7 Tiedon esitysmuodot (jatk) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Ohjelman esitysmuoto Rakenteellinen tieto Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa 1 Konekäskyjen esitysmuoto muistissa (4) Konekohtainen, jokaisella omansa Käskyt ovat 1 tai useamman tavun mittaisia SPARC, kaikki käskyt: 1 sana eli 4 tavua PowerPC, kaikki käskyt: 1 sana eli 4 tavua Pentium II: 1-16 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-91, kaikki käskyt: 1 sana, 1 muoto 2

TTK-91 konekäskyn rakenne Käskyn esitys bittitasolla on aina: OPER käskykoodi 8 bit field Rj 3 bit M 2 bit Ri 3 bit ADDR osoiteosa 16 bit field 31 24 21 19 16 15 0 Rj = käskyn ensimmäinen operandi Ri = indeksirekisteri (R0 0) M = muistinoutojen määrä toiseen operandiin (ennen mahdollista muistiin talletusta) muistiosoite tai (pienehkö) vakio (addressing mode) 00 eli 0 kpl, välitön osoitus (STORE: suora osoitus) 01 eli 1 kpl, suora osoitus (STORE: epäsuora osoit.) 10 eli 2 kpl, epäsuora osoitus (STORE: epäkelpo arvo) ( 11 eli 3 kpl, epäkelpo arvo poikkeustilanne ) 3 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 arvo: Ri + ADDR muistipaikan M[Ri+ADDR] sisältö muistipaikan M[ M[Ri+ADDR] ] sisältö jos Ri = R0, niin pelkkä ADDR 4

Taulukkojen esitysmuoto Peräkkäisrakenteena, kuten esimerkit aikaisemmin Riveittäin tai sarakeittain Ei omia konekäskyjä, manipulointi aliohjelmilla tai loopeilla (paitsi ns. vektorikoneet, joilla on omia konekäskyjä vektorioperaatioita varten) Indeksoitu tiedonosoitusmoodi tukee 1-ulotteisten taulukoiden käyttöä 5 Tietueiden esitysmuoto Peräkkäisrakenteena Osoite on jonkin osoitemuuttujan arvo Ei omia konekäskyjä, manipulointi aliohjelmilla tai kääntäjän generoimien vakiolisäysten avulla Indeksoitu tiedonosoitusmoodi tukee tietueiden käyttöä 6

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 8

Tiedon tarkistus (4) 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 virhe) korjaamattomasta virheestä voi aiheutua häiriö Tietokannan eheys on eri asia! Lisää tietoa? Tietokanta kurssit 9 Tiedon muuttumattomuus (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 10

Esimerkki ohjelmistotason tarkistusmerkistä (2) Henkilötunnus: 120464-121C 120464121 % 31 = 12 0123456789 ABCDEFHJKLMNPRSTUVWXY 10 11 12 30 Tarkistusmerkin avulla voidaan tarkistaa, että mikään yksi merkki ei ole väärin havaitsee yhden merkin virheen 120464-123C virhettä ei voi automaattisesti korjata!! Miksi? 11 Bittitason tarkistukset (5) Muistipiirit, levyt, väylät, 120464-121C tiedonsiirrot Monenko bitin muuttuminen Hetu: 1 havaitaan? Monenko bitin muuttuminen Hetu: 0 voidaan automaattisesti korjata? Havaitsemiseen ja/tai korjaamiseen tarvitaan enemmän (ylimääräisiä) bittejä lisämuistitilan tai levytilan tarve? Hetu: +10% lisäpiuhojen tarve väylällä? Tarkistukset/korjaukset Hetu: ohjelmistotasolla laitteisto- vai SW-tasolla? 12

Pariteettibitti (9) Yksi ylimääräinen bitti per tietoalkio sana, tavu, tietoliikennepaketti Parillinen (pariton) pariteetti: 1-bittien lukumäärä on aina parillinen (pariton) Havaitsee: 1 bitti Korjaa: 0 bittiä Esimerkki (parillinen pariteetti) 0010 001? 0 1000 1101 1111 001? 1 13 Hamming etäisyys (3) Montako bittiä jossain koodijärjestelmässä (esim ISO Latin) esitetyllä koodilla (esim. A = 0x41 = 0100 0001) täytyy muuttua, että se muuttuu johonkin toiseen (mihin tahansa) lailliseen koodiin. A = 0x41 = 0100 0001 B = 0x42 = 0100 0010 C = 0x43 = 0100 0011 2 bittiä 1 bittiä ISO Latin-1:n Hamming etäisyys: 1 Pariteettibitin kanssa Hamming etäisyys: 2 mikä todennäköisyys 2 bitin (vs. 1 bitin) virheeseen? 14

Hamming koodi (4) [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! 15 Hamming koodi (9) Käytetään useampia pariteettibittejä Havaitsee: 2:n bitin muuttuminen Korjaa: 1 bitin muuttuminen Data + parit. 100 1100 Bitti nro: 765 4321 4 bittiä dataa, 3 pariteettibittiä Kaikki bitit nro 2 i ovat pariteettibittejä, muut ovat databittejä (numerot alkavat 1:stä) Kutakin data-bittiä n tarkistavat ne pariteettibitit joiden summana n voidaan esittää. Parillinen pariteetti. 6 = 4 + 2 databittiä 6 tarkistavat par. bitit 4 ja 2 16

Virheen korjaava Hamming koodi (8) Data: 100 1100 110 0 1100 Bitti nro: 765 4321 765 4321 421 1 = 001 Pariteettibitti 1 tarkistaa bittejä 1, 3, 5, 7 Pariteettibitti 2 tarkistaa bittejä 2, 3, 6, 7 2 = 010 3 = 011 4 = 100 Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7 5 = 101 6 = 110 Tapahtuu virhe: bitti 6 muuttuu (flips) 7 = 111 Pariteettibitti 2 tarkistaa bittejä 2, 3, 6, 7: VIRHE (ECC) Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7: VIRHE 2+4 = 6 korjaa bitti nro 6 17 Virheen korjaava Hamming koodi (ilman animaatioita) Data: 100 1100 110 1100 Bitti nro: 765 4321 765 4321 1 = 001 Pariteettibitti 1 tarkistaa bittejä 1, 3, 5, 7 Pariteettibitti 2 tarkistaa bittejä 2, 3, 6, 7 2 = 010 3 = 011 4 = 100 Pariteettibitti 4 tarkistaa bittejä 4, 5, 6, 7 5 = 101 6 = 110 Tapahtuu virhe: bitti 6 muuttuu (flips) 7 = 111 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 18

CRC - Cyclic Redundancy Code (7) Tiedonsiirrossa käytetty tarkistusmenetelmä Tarkistussumma (16 bittiä) isolle tietojoukolle laske CRC = f (viesti) % 2 16 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 19 Virheiden tarkistusmenetelmien käyttöalueet Mitä lähempänä suoritinta, sitä tärkeämpää tiedon oikeellisuus on Sisäinen väylä, muistiväylä virheet 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 2 virheen paketit 20

Laitteiden monistaminen (6) Monta muistipiiriä, samat tiedot monistettu Monta suoritinta, samat käskyjen suoritukset monistettu Monta laitteistoa, samat ohjelmat monistettu Eri tyyppiset laitteistot, samankaltaiset ohjelmat samat speksit, samat syötteet, eri ohjelmoijat Äänestysmenettely: enemmistö voittaa monimutkainen, hidas? virheelliseksi havaittu laitteisto suljetaan pois häiriköimästä automaattisesti? Lentokoneet, avaruussukkula, ydinvoimala, 21 22

Välimuisti suoritin - CPU muisti (kirjastorutiinit) ALU CU rekisterit MMU (käyttöjärjestelmä) Välimuisti (cache) ohjelma data väylä laiteohjaimet 23 Välimuisti (cache) (3) Ongelma: keskusmuisti rekisterin viittausaika: X on aika kaukana muistin viittausaika: 10X suorittimesta Ratkaisu: välimuisti lähelle suoritinta pidetään siellä (kopioita) viime aikoina viitatuista keskusmuistin alueista välimuistin 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) 24

Välimuisti (6) Tuntumaton suorittimelle Fig. 4.13 [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 10X TTK-91 koneessa ei ole välimuistia Lisää tietoa? tietokoneen rakenne -kurssi Lisää tietoa? käyttöjärjestelmäkurssit 25 26

Muistin toteutus (6) 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 27 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 (1975-..) useimmissa koneissa toteutettu kondensaattoreilla, jotka vuotavat SRAM: staattinen RAM, kalliimpi ( 10-20x), nopeampi ( 10x), ei vaadi tietojen virkistämistä välimuisti useimmissa koneissa muisti superkoneissa (esim. Cray C-90) toteutettu samanlaisilla logiikkaporteilla (gate) kuin prosessorikin CMOS valmistusteknologia (Complementary Metal Oxide Semiconductor) 28

ROM teknologia (8) 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 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 ( 10x) 29 readmostly memory 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 vanhat tiedot voidaan (kaikki!) poistaa 20 min. UVsä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ä nopeampi kuin EEPROM BIOS, CIH-virus 30

31 Muistien historiaa Kondensaattorirumpu 1939, ABC, Atanasoff- Berry Computer, Iowa State College. lähinnä laskin, ei toiminut kondensattorit pyörivän rummun pinnalla 32 numeroa á 50 bittiä Artzybasheff Time cover 1951 32

Elektroniputki Muistien historiaa logiikka, muisti ENIAC, 1945 Electronic Numerical Integrator and Computer J.W. Mauchly, J.P. Eckert, J. von Neumann 18,000 elektr. putkea 70,000 vastusta 5 milj. juotettua liitosta tykinammusten ja pommien radanlaskenta 33 Muistien historiaa 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 W. Shockley & J.P. Eckert, 1946 Wilkes M. Wilkes, EDSAC Electronic Delay Storage Automatic Calculator, 1949 Mauchly & Eckert, UNIVAC, 1951 (ens. kaupallinen tietokone USA:ssa) Univac memory 34

Muistien historiaa 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, 1950? Elliot 401, 1953 Canon 141 laskin, 1969 35 Muistien historiaa Williams Tube 1946, Williams & Kilburn katodisädeputki ensimmäinen suuri RAM muisti kallis: $1000 / 1 kk / putki Small Scale Experimental Machine ( Baby ), 1947 Ferranti Mark I, ensimmäinen yleiskäyttöinen kaupallinen tietokone, 1951 (10000 bitin muisti) Tom Kilburn holding a Cathode Ray Tube Storing 2048 bits on a CRT in 1947 36

Muistien historiaa Ferriittirengas (core) teknologia 1952, Jay Forrester & Bob Everett, MIT (Whirlwind) tieto säilyy ilman virtaa ei häiriinny säteilystä (avaruus, sotilasteknologia) 1955, valtaa muistimarkkinat Williams Tube lta 37 Muistien historiaa Transistori J. Bardeen, W.B. Shockley ja W. Brattain, ATT Bell Labs, 1948 Nobel 1956 MIT TX-0, 1957, ensimmäinen transistoroitu tietokone 1 st transistor 38

Muistien historiaa Integroitu piiri (ei enää johtoja) Jack Kilby, Texas Instruments, 1958 Nobel 2000 ensimmäinen käsikäyttöinen laskin Robert Noyce, Fairchild Semiconductor, 1959 planar process valmistusmenet. perusti Intelin G. Mooren kanssa IBM S/360, 1964 1 st IC (Kilby) Jack Kilby Robert Noyce 39 Muistien historiaa DRAM Robert Dennard, IBM, 1966 (US) National Medal of Technology 1988 Intel 1103 (1970) John Reed 1 Kbit valtaa markkinat ferriittirengasmuisteilta 1972 SRAM 1970, Fairchild Corp Robert Dennard 40

Muistiteknologian historiaa (7) 1940 Mekaaninen Rele Kondensaattorirumpu 1944 1946 1952 1966 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 suurempi 41 Muistiteknologian käyttöhistoriaa 1940 1950 1970 rekisterit keskusmuisti massamuisti Mekaaninen Rele tyhjiö vastus putki kondens. rumpu 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 42

Muistien historiaa Välimuisti (1965, Maurice Wilkes) IBM S/360 Model 85 1968 256 lohkoa á 64 tavua Wilkes 43 Muistien historiaa PROM??? EPROM 1971, Dov Frohman, Intel 1701 EEPROM, 1980, Intel 2816 Flash EEPROM 1984, Fujio Masuoka, Toshiba Fujio Masuoka 44

Muistien historiaa OROM - optical ROM 1990, James Russell (Russell keksi myös CD-ROM:n) 1998, Wond-OROM-a 128 MB/kortti plus lukulaite ei liikkuvia osia sama nopeus kuin CD-ROM:lla (siis aika hidas!) pieni virrankulutus sopii kannettaviin laitteisiin 45 -- Luennon 7 loppu -- Intel 4004, 1971 Faggin, Hoff, Mazor Ens. suoritin lastulla 3x4 mm, $200 2300 transistoria 4 bitin sana Laskinta varten Sama laskentateho kuin Eniacilla (18000 tyhjiöputkea) 46