Forelesning 9 Registre, tellere og minne
Registre Tri-state output Shift registre Tellere Binær rippelteller Synkronteller Hovedpunkter registre og tellere 2
Register N bits register - parallellkobling av N stk. D flip-flopper Data I 0 -I 3 slippes gjennom til utgang A 0 -A 3 på stigende klokkeflanke Anvendelse: Kontroll av dataflyt 3
Lagringsregister Data I 0 -I 3 lastes inn samtidig på stigende flanke og når Load er høy, ellers beholdes gammel verdi Ekstra anvendelse: Lagring av data 4
Tri-state utgang Ønske: Flere utganger skal kunne dele samme databuss Problem: Porter som ikke er aktive kan ikke slås av gir elektrisk konflikt på utgangen Løsning: Tri-state utgang Utgang kobles fra når oe = 0 0? 1 1 1 0 oe oe 0 1 5 Databuss (felles ledning) Databuss (felles ledning) Invertere med tri-state utgang
Tri-state utgang Mulig implementasjon av tri-state inverter (oe - output enable) oe=1 oe=0:tri-state tilstand (utgang er koblet fra) oe=0 oe x x oe x x x 6 Ekvivalent for oe=1 Ekvivalent for oe=0
Felles databuss Hvis man bruker tri-state utganger kan flere registre dele samme databuss Må sørge for at kun ett register skriver til bussen av gangen clk1 oe1 inn inn Register1 clk2 oe2 Register2 ut ut Databuss (parallelle ledinger 7
Shift register Shiftregister Seriell inngangsdata klokkes gjennom registeret ett trinn per klokkeperiode For animasjoner se www.play-hookey.com/ 8
9 Universelt shift register
Eksempel: seriell adder Hver kolonne med bits adderes for seg, carrybiten mellomlagres i en D-ff Resultatet sendes tilbake inn i Shift reg. A 10
Rippeltellere Her laget med T flip-flopper. Utgang toggler på negativ flanke clk A 3 A 2 A 1 Clk A 0 www.play-hookey.com/ Count enable 11
Rippeltellere Her laget med D flip-flopper. Fører invertert utgang tilbake på negativ klokke A 3 A 2 A 1 A 0 Count www.play-hookey.com 12
Rippeltellere Signalet rippler/propagerer gjennom trinnene clk Problem: Portforsinkelse gir temporært gale utgangsverdier A 3 A 2 A 1 A 0 Clk Count enable 13
Synkronteller Utganger skifter verdi samtidig / synkront Count Count enable J K 0 0 0 1 1 0 1 1 Q uforandret 0 1 Q A 3 A 2 A 1 A 0 14 Count www.play-hookey.com
Oppsummering Registre og tellere Registre Tri-state output Shift registre Tellere Binær rippelteller Synkronteller 15
Hovedpunkter Minne Teoretisk minnemodell Flyktig minne - SRAM - DRAM Ikke-flyktig minne - ROM - EPROM - EEPROM Flash (SSD) 16
Minne - generelt Generelt minne Hvert bit lagres i egen minne-celle Data inn n-bit Adresse m-bit 2 m x n-bit minne Read / Write Enable 17 Suffikser: K: 2 10 = 1 024 M: 2 20 = 1 048 576 G: 2 30 = 1 073 741 824 n-bit Data ut Data inn/data ut deler ofte samme buss i praksis
Minne teoretisk cellestruktur RAM celle laget av standardkomponenter Separat datainngang/datautgang 18
RAM teoretisk system Systemeksempel: 4x4bit RAM RAM-celle 4-inputs OR 19
Adresse-dekoding Deler opp adressen i X og Y, sparer svært mye logikk Eksempel: X er de 5 mest signifikante adressebits. Y er de 5 minst signifikante adressebits. 20
SRAM SRAM (Static-Random-Access-Memory) + Raskt, <1ns CPU cacheminne + Trenger ikke refresh, latch-basert - Høyt strømforbruk - Tar stor plass, 4 eller 6 transistorer / celle - Flyktig (volatile), data forsvinner når strømforsyningen slås av 21
SRAM cellestruktur SRAM, 6-transistor latch-basert cellearkitektur En celle lagrer ett bit Ett bit representeres differensielt ved BL og BL BL WL Bryter Celle 1 2 WL Bryter BL 22 Write: WL=1 lukker bryterne, spenningene på BL og BL overstyrer inverterne spenningene lagres Read: BL og BL slippes løs, WL=1 lukker bryterne, inverterne drar opp/ned spenningene på BL og BL, dette registreres av utlesningslogikken
DRAM DRAM - Dynamic Random Access Memory + Kompakt/billig struktur, 1 transistor / celle - Trenger oppfriskning (refresh) hver 20-30ms - Flyktig (volatile), data forsvinner når strømforsyningen slås av 23
DRAM - cellestruktur DRAM, en-transistor cellestruktur Write: setter ROW Line til 1, legger 0 eller 1 på Column Line, transistoren kobler Column spenningen inn til kondensatoren Read: setter ROW Line til 1,transistoren kobler kondensatorspenningen ut til Column Line 24
DRAM - adressedekoding Vanlig arraydekoding, men delt adressebuss felles adressebuss 8 minst signifikante adressebits Fordeler adresser til rad/kolonne ved bruk av CAS/RASsignal, sparer pinner 8 mest signifikante adressebits 25
DRAM - eksempel Micron MT46V128M8 1Gb single chip DDR RAM Pinout 26
27 Micron MT46V128M8 1Gb single chip DDR RAM
ROM ROM Read Only Memory + Ikke-flyktig (non-volatile), data vedvarer når strømforsyningen slås av + Rask operasjon <1ns + Lavt strømforbruk + Kan lages meget kompakt, med kun fysiske koblinger (sikringer) - Må programmeres på fabrikken, aktuell for store produksjonskvanta 28
ROM ROM, systemeksempel Hver celle som inneholder 1 er et fysisk koblingspunkt 29
EPROM EPROM, Erasable Programmable Read Only Memory + Ikke-flyktig (non-volatile), data vedvarer når strømforsyningen slås av - Data kan legges inn av forbruker, data kan slettes ved bruk av ultrafiolett lys (eget lokk i pakken). Data må slettes (erase) før ny data kan legges inn 30
EEPROM EEPROM, Elektrical Erasable Programmable Read Only Memory + Ikke-flyktig (non-volatile), data vedvarer når strømforsyningen slås av - Data kan legges inn av forbruker, data kan slettes uten bruk av ultrafiolett lys. Data må slettes (erase) før ny data kan legges inn 31
Flash Flash - en billig og rask variant av EEPROM. Meget aktuell hukommelse for mange anvendelser + Ikke-flyktig (non-volatile), data vedvarer når strømforsyningen slås av + Kan lages meget kompakt, hver celle består av kun en transistor 32
Flash - eksempel 2003 - NAND flash Samsung K9W8G08U1M 4Gb chip >2 000 000 000 transistorer på samme chip Flash mikrochip 33
CompactFlash CompactFlash et lite kort med flere I/O protokoller, blant annet IDE interface CompactFlash kan erstatte IDE harddisk ingen bevegelige deler 34
Solid State Drive (SDD) Tidligere versjoner var basert på DRAM og IDE grensesnitt. SATA Express and M.2 grensesnitt spesifikt designet for SSD teknologien. Også skjedd forandringer på OS / filsystemer for å optimalisere hvordan SSD brukes. Mesteparten bruker idag (2017) 3D TLC NAND basert flash minne. 35
3D NAND TLC 64-layer 3D NAND. TLC - Triple-level cell. Klarer å lagre 4 GB på 1 mm 2. 36
Flash eksempel NextFlash NX29F010-90PL 37
Flash eksempel: NX29F010-90PL Read: La CE=0, OE=0 og WE=1, data kommer senest ut tacc=90ns etter ny adresse inn er stabil (verson 90PL) Erase / Write kommandostyrt, se datablad 38
Oppsummering Minne Teoretisk minnemodell Flyktig minne - SRAM - DRAM Ikke-flyktig minne - ROM - EPROM - EEPROM Flash (SDD) 39