Petr Vích 4. C
Maturita 2008/2009
Technologie výroby a. TTL – tranzistor tranzistor logic - drahá b. CMOS – complement metal oxid semiconductor – Unipolární tranzistor PMOS – pozitivní – pomalá NMOS - negativní – rychlá c. BICMOS – bipolární tranzistor – u čipů PNP NPN Typy pamětí z hlediska přístupu: Blokové schéma
Volativní paměti: Dynamická paměť RAM DRAM – Dynamic Random Acces Memory Správnější označení by mělo znít DRWM (Dynamic Read-Write Memory), protože i paměti ROM, tj. Read-Only Memory, do kterých nelze zapisovat nové informace, umožňují náhodný přístup (Random Acces) k datům Nejčastěji používaný typ paměti ve výpočetní technice (operační paměť počítače PC) Informace uchována jen při zajištěném napájení Zapsaná hodnota uchována jako náboj na parazitní kapacitě tranzistoru MOSFET Informace o jednom bitu je uchována pomocí malého náboje uloženého v kondenzátoru Ve skutečnosti nejde o kondenzátor, ale strukturu na čipu, která se chová jako kondenzátor s malou kapacitou (cca 0,1 pF) Paměťová buňka je velmi jednoduchá buňka, což umožňuje dosažení vyšší kapacity na menší ploše Jednoduchá struktura = nízká cena paměti Drábek Tomáš 4. C
Stránka 2 2008/2009
Zápis - na vodič X-W přivedeme aktivní úroveň (1), čímž se otevře tranzistor T3 Na vodič Y-W přivedeme zapisovanou informaci a ta se přes T3 uloží do Cp. Cp se tedy buď nabije (1) nebo vybije (0)
Čtení - na vodič X-R se přivede aktivní úroveň, čímž se otevře tranzistor T2 a stav T1 ovlivní vodič Y-R Je-li Cp nabitý, T1 je otevřený a potom přes otevřený T2 a T1 je vodič Y-R na nulovém potenciálu - log 0
Čtení - na vodič X-R se přivede aktivní úroveň, čímž se otevře tranzistor T2 a stav T1 ovlivní vodič Y-R Je-li Cp vybitý, T1 je zavřený a přes otevřený T2 se připojí na vodič Y-R, na kterém bude úroveň log 1 Na vodič Y-R je tedy vždy přivedena opačná log. úroveň než jaký je obsah buňky Refresh DRAM Vzhledem k tomu, že kapacita uchovávající informaci je velmi malá a okolní prostředí není zcela nevodivé, dochází k samovolnému vybíjení a tím i k postupnému přechodu z úrovně logické jedničky do úrovně nuly Dochází tedy k „zapomínání“ zapsané informace Z tohoto důvodu je nutné, aby byly údaje zapsané v dynamické paměti periodicky obnovovány Obnova se provádí tak, že se naráz přečtou hodnoty všech paměťových buněk umístěných v jednom řádků a následně se tyto hodnoty zapíší zpět Také při čtení se kapacita vybije tak, že se náboj spotřebuje na otevření tranzistorů – čtení je tedy destruktivní operací a přečtená (zničená) informace se musí obnovit Kvůli nutnosti provádět Refresh mají dynamické paměti vyšší spotřebu el. Energie Drábek Tomáš 4. C
Stránka 3 2008/2009
Statická paměť RAM (SRAM) Slovem statická je myšleno to, že jednou zapsaný bit je v paměťové buňce držen po libovolně dlouhou dobu (pokud se nepřeruší napájení) a také to, že čtení není destruktivní, tzn. přečtením hodnoty bitu se obsah paměťové buňky neztrácí Informace uchována jen při zajištěném napájení Použito je 6 tranzistorů pro jednu paměťovou buňku a z toho plyne vyšší cena za jeden bit a větší plocha, kterou na čipu jedna paměťová buňka zabírá Základní buňku tvoří klopný obvod (mnohem složitější buňka než u paměti dynamické, ale je rychlejší a není nutné ji občerstvovat) Nízká spotřeba energie (nenabíjí se kondenzátory a překlápí se tranzistory a neprovádí se refresh) Kratší přístupová doba než u DRAM Nejčastěji používaný typ paměti v mikroprocesorové technice (právě protože netřeba provádět Refresh a paměti zde běžně používané nízké kapacity se prakticky nevyrábějí jako dynamické) 2 datové vodiče Data je určený k zápisu do paměti. Vodič označený jako \Data se používá ke čtení. Hodnota na tomto vodiči je vždy opačná než hodnota uložená v paměti. Při zápisu - se na adresový vodič umístí hodnota logická 1. Tranzistory T1 a T2 se otevřou. Na vodič Data se přivede zapisovaná hodnota (např 1). Tranzistor T1 je otevřen, takže jednička na vodiči Data otevře tranzistor T4 a tímto dojde k uzavření tranzistoru T3. Tento stav obvodu představuje uložení hodnoty 0 do paměti. Při čtení - je na adresový vodič přivedena hodnota logická 1, což způsobí otevření tranzistorů T1 a T2. Jestliže byla v paměti zapsána hodnota 1, je tranzistor T4 otevřen (tj. na jeho výstupu je hodnota 0) Jestliže byla v paměti zapsána hodnota 0, je tranzistor T4 uzavřen (tj. na jeho výstupu je hodnota 1) Výstupní log. úroveň je opačná oproti úrovni zapsané Výstupní log. úroveň je čtena přes vodič /DATA Drábek Tomáš 4. C
Stránka 4 2008/2009
Nevolatilní paměti Dosud jsme se seznámili s principem statických pamětí s náhodným přístupem (SRAM) a pamětí dynamických (DRAM) Oba typy pamětí po vypnutí napájecího napětí nenávratně ztrácí svůj obsah Takové paměti se nazývají volatilní (závislé na napájecím napětí) V moderních počítačích jsou volatilní paměti využívány v roli operační paměti, vyrovnávací paměti (cache) a zálohované paměti parametrů BIOSu Po zapnutí počítače nejsou ve volatilních pamětech uloženy žádné informace, tzn. ani strojový kód instrukcí, které by mohl mikroprocesor po zapnutí počítače začít zpracovávat Všechny počítače tedy musí obsahovat i nevolatilní paměť, jejíž obsah není závislý na napájení. V této nevolatilní paměti je uložen BIOS, který řídí činnost počítače po jeho zapnutí a umožní načtení operačního systému z disku Další nevolatilní paměti jsou v řídicí jednotce HDD, optické mechaniky, grafické karty apod. (obsahují firmware těchto periferií) Paměti ROM Vývojově nejstarší jsou paměti ROM (Read-Only Memory), do kterých jsou informace zapsány již při výrobě čipu jednou zapsanou hodnotu již nelze změnit Výroba ROM je velmi levná, jde o nejjednodušší formu uchování informací na křemíkových čipech Rychlost přístupu k datům je cca 10-20 ns Nákladné je prvotní vytvoření masky pro výrobu čipů, proto se tyto typy pamětí vyplatí vyrábět pouze při velkém množství (desetitisíce) identických kusů Paměť ROM je vlastně kombinační logický obvod V mikroprocesorové technice používané pro uložení konstant, monitoru, programu u sériově vyráběné aplikace Paměti PROM: Paměť PROM neobsahuje po vyrobení žádnou pevnou informaci a je až na uživateli, aby provedl příslušný zápis informace. Tento zápis je možné provést pouze jednou a poté již paměť slouží stejně jako paměť ROM. Při výrobě je vyrobena matice obsahující spojené adresové vodiče s datovými vodiči přes polovodičovou diodu a tavnou pojistku z NiCr Takto vyrobená paměť obsahuje na začátku samé hodnoty 1 Drábek Tomáš 4. C
Stránka 5 2008/2009
programování, které se provádí ve speciálním přípravku, je založeno na destruktivním přerušení spojů v těch místech, kde má být zapsána logická nula Zápis informace se provádí vyšší hodnotou elektrického proudu (cca 10 mA), která způsobí přepálení tavné pojistky a tím i definitivně zápis hodnoty 0 do příslušné paměťové buňky. Zápis dat je prováděn po jednotlivých bitech tak, že je na příslušnou svislou vodivou cestu přivedeno relativně vysoké napětí (15-30V) a vodorovná vodivá cesta je uzemněna V místě spoje vodorovné a svislé vodivé cesty se nachází polovodičový prvek a k němu sériově připojený rezistor, kterými začne protékat poměrně vysoký proud, který způsobí, že se rezistor zahřeje na tak vysokou teplotu, že je jeho odporová část roztavena a spoj se přeruší bez možnosti jeho obnovy – příslušný bit je trvale vynulován Paměti EPROM: Erasable Programable Read Only Memory Obsah paměti lze několikrát zapsat a smazat Mazání se však u těchto pamětí neprovádí elektrickým signálem, ale ultrafialovým zářením Obsah lze zapsat jen v programátoru (spec. zařízení) Paměťové buňky tvořeny tranzistory MOSFET s nábojem zanechaným na izolovaném hradle (udrží se v ní elektrický náboj po velmi dlouhou dobu, řádově desítky let) Tento náboj lze smazat ve všech buňkách současně delším působením UV záření Paměti jsou vybaveny okénkem, které UV propustí Levnější paměti okénko nemají- lze je tedy ale naprogramovat jen jednou (OTP – One Time Programable) Zápis se provádí větším elektrickým napětím přivedeným na tranzistor, kde elektron překoná nevodivou vrstvičku, která elektrodu izoluje od substrátu a nemá již dostatečnou energii k tomu, aby přeskočil zpět Zapsaná informace je zapamatována a může být následně čtena tak, že se zjišťuje, zda je příslušný tranzistor ve vodivém či nevodivém stavu (elektrický náboj v izolované elektrodě otevírá kanál tranzistoru, který se stává vodivým) Tímto způsobem je možné, za použití vyššího programovacího napětí (cca 20V) zapsat do libovolného místa paměti EPROM bit s hodnotou nula Zápis jedničky do jediné paměťové buňky není bez smazání celé paměti možný Smazáním paměti se zapíše jednička do všech buněk Drábek Tomáš 4. C
Stránka 6 2008/2009
Mazání je možné několikrát opakovat, ovšem s tím, že se postupně vlastnosti čipu degradují a doba potřebná pro smazání se prodlužuje Smazané buňky mají obsah FFh EPROM obvody mají vývody pro napájení při běžném provozu a pro programovací napájení (vyšší) Režim programování se aktivuje vývodem PGM Programovací postupy i napětí se u jednotlivých typů různých výrobců liší. Programátor musí identifikovat typ a výrobce Tuto identifikaci lze číst při přivedení programovacího napětí na vývod A9 na datovém výstupu Paměti EEPROM: Paměti EEPROM umožňují programovací cyklus zkrátit – jsou mazané elektricky Je možné mazání jednotlivých buněk (EPROM nebo FLASH se naproti tomu maže vždy celá) Zápis startován nastavením signálu WE (write enable) – to spustí vnitřní automat, který se postará o smazání starého obsahu a zápis nové hodnoty. Programátor nebo počítač pak může provádět např. jiný výpočet a nakonec pozná, že nová hodnota byla zapsána, testem nejnižšího bitu, který je během fáze autonomního programování negován Zápis je podobný práci s RAM V současnosti se od použití této paměti upouští a využívá se paměti typu Flash Paměti FLASH velká kapacita čipu a relativně nízká cena Mazání je elektrické a využívá FowlerNordheimova tunelového jevu paměti se od EEPROM liší především tím, že je zápis i mazání prováděn po blocích, přičemž mazání je velmi rychlé přeprogramovatelná přibližně 500 000krát Pro mazání a programování je třeba přivést zvýšené programovací napětí na vývod Vpp Programování se provádí přes příkazový registr, do kterého mikropočítač po datových vodičích zapisuje povely (na rozdíl od EEPROM, kde je zápis řízen vestavěným automatem a podobá se zápisu do RAM) Příkaz ke smazání paměti je dvoubajtový , následován prodlevou a ověřením, že všechny buňky byly smazány Smazaná paměť má ve všech buňkách FFh Zápisem se pak vlastně nulují vybrané bity Drábek Tomáš 4. C
Stránka 7 2008/2009
Zapsat nulu lze vždy (i do nesmazané paměti) Zapsat bajt FFh nelze (je třeba celou paměť smazat) Před mazáním se nejdříve paměť přepíše bajty 00h (kvůli rovnoměrnému mazacímu proudu) Větší kapacity jsou dosaženy spojením několika malých Flash pamětí Tyto menší flash paměti tvoří tzv. bloky nebo sektory Při zápisu se nemusí nulovat a mazat celá velká paměť ale pouze jeden sektor (blok) U většiny čipů se udává minimální garantovaný počet přepisů/vymazání každého bloku v řádu stovek tisíc Jedná se zdánlivě o vysokou hodnotu, v porovnání s přepisovatelnými kompaktními disky či DVD, V případě, kdy FLASH paměti nahrazují disk, již může být tato hodnota kritická, hlavně při použití souborových systémů, které nedokáží rozložit zápisy tak, aby byl počet mazání každého paměťového bloku přibližně stejný Například souborový systém FAT, velmi často používaný právě pro FLASH disky, je nevýhodný, protože prakticky jakákoli změna v souborovém systému znamená zápis do alokační tabulky umístěné na pevném místě v za sebou jdoucích blocích
Drábek Tomáš 4. C
Stránka 8 2008/2009
Časování paměti: Rychlost vyhledávání Rychlost vyhledávání je ovlivněna řadou faktorů. Datový prostor je organizován do banků, což jsou struktury definované určitým počtem řádek a sloupců. Aby bylo možné nalézt ty správná data, musí být napřed vybrán ten správný bank a následně musí dojít k vyhledávání řádku a sloupce.
K účelu vyhledávání je definována řada příkazů. Délka těchto příkazů je uváděna v hodinových cyklech (T). Tak například 3T znamená tři hodinové cykly, 2.5T pak dva a půl hodinového cyklu. Cílem samozřejmě je dosáhnout co nejkratší doby vyhledávání, protože i počet hodinových cyklů má být ideálně co nejmenší. Dražší paměti se liší právě tím, že mají kratší dobu vyhledávání. Kratší v tomto případě znamená, že paměť dokončí operace rychleji, bez ohledu na nastavení, tedy bez ohledu na to, jak rychle jsou data skutečně čtena - je to tedy podobné jako například maximální rychlost automobilu. Výrobci obvykle značí časování pamětí následovně:
Možné je ale i udávání hodnot obráceně, což více vyhovuje marketingovým Drábek Tomáš 4. C
Stránka 9 2008/2009
požadavkům (první je položka CAS Latency, která je v propagačních materiálech zmiňovaná více než často):
Přestože toto značení neobsahuje veškeré parametry, udává ty nejdůležitější. Jinými slovy údaje poví o výkonu pamětí hodně. Řekněme si nyní něco o jednotlivých příkazech.
Po té, co je vybrán bank (matice dat), je nutné nejprve vybrat řádek. Paměťový řadič vyvolá příkaz Row Address Strobe (tRAS) - jinak také Minimum RAS Active Time (minimální čas po vyvolání stavu Active pro stabilizaci). Tato operace trvá běžně pět či více cyklů a v podstatě udává, za jak dlouho je řádek použitelný - vyhledaný a připravený. Následuje příkaz RAS to CAS Delay (tRCD), což je prodleva mezi hledáním řádku (RAS) a hledáním sloupce (CAS - Column Address Strobe), následovaný samotným vyhledáním sloupce, tedy operací CAS Latency (tCL). Po tomto vyhledání již jsou data přečtena.
Název
typické hodnoty (hodinových taktů)
popis
tCAS(Column Acces Strobe Latency) nebo tCL (cas latency)
2-5
tRCD (RAS to CAS Delay)
3-5
tRP (Row Precharge)
2-5
obnoví data ve čtených buňkách
tRAS (Row Address Strobe)
5-10
délka trvání adresace řádků
CAS latency (CL) získáme ze vzorce CL ≥
Drábek Tomáš 4. C
Po tomto vyhledání již jsou data přečtena. prodleva mezi hledáním řádku (RAS) a hledáním sloupce (CAS)
tCAC tCLK
Stránka 10 2008/2009
Kde je tCAC Column Access Time a tCLK je délka cyklu. Pro časování platí následující: • • • •
CAS latency - platí, že čím nižší tím lepší tRP - u nejlepších pamětí je tato hodnota 2. Opět platí - nižší je lepší. tRCD - zde platí stejné pravidlo, jako pro tRP a často lze použít i stejnou hodnotu. tRAS - zde je trochu zakopaný pes, jelikož nastavení těchto hodnot hodně záleží na daném čipsetu.
Obr. 03 - SPD čip Vlastní nastavení časování má vliv na výkon systému v jednotkách procent, vše však závisí na používaných aplikacích. Každá z pamětí má od výrobce určené optimální nastavení tohoto časování tak, aby bylo zajištěno, že v systému (z tohoto pohledu) stoprocentně poběží a nebudou s ní problémy. Výrobci tím navíc usnadňují život běžným (nezkušeným) uživatelům, kteří se tak nemusí o nic starat. Toto optimální nastavení je s dalšími hodnotami (jako velikost paměti, voltáž, rychlost, …) uloženo v SPD (Serial Presence Detect) čipu, přítomného na každém paměťovém modulu, ze kterého toto nastavení deska přečte. Pokud na paměti tento čip není nebo je třeba poškozen a deska tak nedetekuje doporučená nastavení, poté automaticky nastaví nejkonzervativnější hodnoty. Pokud některým uživatelům nastavené hodnoty (ať už ty nejnižší nebo ty z SPD čipu) nevyhovují, pak je mají možnost na většině základních desek změnit v BIOSu sami. Poslední věcí je označení Dual-Bank a Dual-Side. Tyto dva pojmy se nesmí zaměňovat, jelikož Dual-Side je označení pro umístění paměťových čipů na obou stranách pamětí, ale Dual-Bank je elektrický termín, který říká, že paměti jsou rozděleny na dvě elektrické části. Tyto pojmy jsou někdy důležité při řešení problémů s kompatibilitou u některých základních desek. Row Refresh Cycle Time (tRFC) - Doba po vyvolání REF (viz dále) a opětovným nastolením stavu Active, tedy doba obnovy refreshe dat v banku. Některé řadiče umožňují také konfigurace dalších parametrů. Write Recovery Time (tWR) je doba, která musí uplynout po zadání zápisu před tím, než bude vydán příkaz Drábek Tomáš 4. C
Stránka 11 2008/2009
Row Precharge. Pokud by byl tento zadán příliš rychle, budou obnovena data, která jsou příliš stará, tj. nestihne se zápis nových dat. Write to Read Delay (tWTR) pro změnu udává, kolik cyklů musí uplynout před tím, než je vyvolána operace čtení po té, co právě proběhl zápis. Obdobně Read to Write Delay (tRWT) značí prodlevu mezi čtením a následným zápisem.
Důležitým parametrem je také Refresh Rate (tREF). Paměťové čipy DRAM musí čas od času obnovovat veškerý svůj obsah, jinak se všechna data ztratí. Toto obnovování může probíhat po různě dlouhých okamžicích, udávaných v mikrosekundách (obvykle například 7.8µs). Délka je závislá na "hustotě" pamětí, tedy čím vyšší je kapacita čipu, tím musí být doba obnovování kratší, protože se musí vystřídat jednotlivé banky - čas totiž udává, za jak dlouho se má začít obnovovat další bank, nikoli jak dlouho se bude obnovovat jeden bank (od toho je zde čas tRFC). Refresh se totiž obvykle neprovádí u všech banků současně, ale na střídačku. Čím bude prodleva mezi obnovováním banků delší, tím méně refresh operací se za určitý časový okamžik stane. To tedy znamená, že se zvýší pravděpodobnost ztráty dat, zároveň ale také vzroste výkon. To z toho důvodu, že v průběhu obnovy dat je bank nepřístupný jakékoli operaci. Cílem je tedy provádět co nejméně těchto operací, ale stále zaručit zachování obsahu. Problém s poklesem výkonu se pak snaží řešit Drábek Tomáš 4. C
Stránka 12 2008/2009
technologie zvaná Bank Interleave, která organizuje data prokládaně. Tím se zvyšují šance, že budou čtena data z banku, u nějž právě neprobíhá refresh. Bank Interleave může být různě intenzivní (2-way, 4-way...), kdy intenzivnější prokládání znamená vyšší výkon. Výpočet datového toku: Zadáno: DDR3 200 MHz – efektivní frekvence (rozmezí 100 – 200 MHz) Výpočet: Paměti mají 64b sběrnici = 8 B DDR3 je 23 = 8 bitů za takt Zdánlivá frekvence: 8 . 200000000 = 1,6 GHz Výpočet datového toku: 8 . 8 . 200000000 = 12,8 GB/s
Drábek Tomáš 4. C
Stránka 13 2008/2009