Paměti Základní rozdělení pamětí:
Paměti v počítači:
Paměti RAM DRAM (hlavní paměť, VGA) SRAM (Cache) CMOS SRAM (BIOS)
1.1.
Paměti ROM EEPROM / FLASH (Setup) SPD
Chronologie a příklady jednotlivých druhů pamětí:
Paměti s feritovými jádry: - vysoká výrobní náročnost, nízká kapacita.
1 Elektronková paměť (ČS počítač EPOS - Ústav mat. strojů, 1964)
První polovodičové paměti byly v počítačích zabudovány napevno. Rozšiřování bylo možné například pomocí zásuvných karet.
1.2.
Paměti DRAM a organizace pamětí RAM v PC
Paměti DRAM Technologie pamětí je podrobně probírána ve 3. přednášce, tak tedy jen ve zkratce: Dynamická paměť RAM je založena na fyzikálním principu nabíjení kondenzátoru. Takto vzniklý potenciál, který je ekvivalentní napětí, odpovídá logické 0 nebo 1. Jelikož vlivem svodů (svodový odpor) je tento potenciál vybíjen, je nutno tuto informaci v paměťové buňce obnovovat (refresh). Obnova probíhá tak, že jsou paralelně sejmuty obsahy paměťových buněk na řádku, v budiči zesíleny a opět zapsány na původní místo. Obnovu provádí speciální obvod DMA (Data Memory Acces), který toto provádí bez součinnosti procesoru a to přímým přístupem do paměti. Tyto paměti jsou výrobně jednodušší a tedy levnější než statické. Paměti DRAM netvoří pouze hlavní paměť počítače, ale najdeme je například na grafických kartách (dnes běžně 256MB – 512MB), ve vyrovnávacích pamětech disků, na grabovacích kartách a na dalších místech.
PC-XT, 80286 První počítače PC používaly operační paměť osazenou pomocí jednotlivých integrovaných obvodů, z nichž každý měl šířku přenosu 1 bit nebo čtveřici bitů (tzv. nibble nibble oriented memory). Vzhledem k tomu, že tyto počítače byly nejčastěji postaveny na bázi procesoru 8088, který měl 8bitovou datovou sběrnici, bylo nutné, aby byl vždy osazen zároveň patřičný počet paměťových obvodů. Paměťové obvody byly dodávány v pouzdrech DIP, osazovaly se přímo do odpovídajících patic na základní desce a měly kapacitu 256 kb (popřípadě 256 knibblů). V závislosti na typu základní desky se používaly dva způsoby realizace:
Bezparitní:
Při tomto způsobu jsou paměťové obvody zapojeny přímo k datové sběrnici procesoru. Je použito osm obvodů s šířkou přenosu jeden bit nebo dva obvody s šířkou přenosu jeden
nibble. Není zde použito žádného zabezpečení pro případ, že by se informace v paměti poškodila (např. vadná paměť, závada na základní desce). Paritní:
Toto zapojení používá v obou případech navíc jeden paměťový obvod s šířkou přenosu 1 bit, do kterého se ukládá pro každých osm bitů jeden bit paritní. Pří zápisu do paměti je pomocí generátoru parity vygenerován paritní bit. Paritní bit je generován tak, že ukládaná 8bitová informace se doplní buď na sudý počet jedniček (sudá parita), nebo na lichý počet jedniček (lichá parita). Tento jeden bit je uložen do posledního paměťového obvodu. Při čtení z paměti se pak přečte všech devět bitů a provede se kontrola, zda uložená informace odpovídá uloženému paritnímu bitu. Pokud kontrola nedopadne správně, je zřejmé, že došlo k poškození informace uložené v paměti a práce počítače je zastavena. Využití paritní kontroly se používá u pamětí dodnes (viz. např. registrovaný modul u pamětí DDR)
Tento způsob organizace operační paměti se používal hlavně u počítačů řady PC a PC/XT. Je možné se s ním setkat i u prvních počítačů řady PC/AT osazené procesorem 80286.
80286, první 80386 Se vzrůstající kapacitou operační paměti přišly další způsoby její organizace, které dovolily její snadnější rozšiřování a také větší kapacitu. Paměti byly integrovány na miniaturních deskách plošného spoje s drátovými vývody označovaných jako SIPP (Single Inline Pin Package), které byly potom jako celek osazovány do odpovídajících konektorů (dutinková lišta) na základní desce (popř. jiných zařízení využívajících ke své činnosti paměť).
Paměti SIPP používané zejména v PC s CPU 80286
80286, 80386 – 80486 Kromě modulů SIPP se brzy objevily moduly SIMM (Single Inline Memory Module), které byly potom jako celek osazovány do odpovídajících konektorů na základní desce (popř. jiných zařízení využívajících ke své činnosti paměť). Moduly SIMM se udržely poměrně dlouhou dobu a byly používány ještě v prvních základních deskách pro procesory Pentium (cca do CPU 133MHz), kde musely být osazovány po dvojicích (64bit. přístup). Tyto moduly byly vyráběny ve dvou variantách: •
30-pin SIMM: používaný u většiny počítačů s procesory 80286, 80386SX, 80386 a některých 80486. Mají 30 vývodů a šířku přenosu dat 8 bitů (bezparitní SIMM) nebo 9 bitů (paritní SIMM). Byly vyráběny s kapacitami 256 kB, 1 MB a 4 MB. Prakticky až na provedení konektoru shodné s moduly SIPP.
•
72-pin SIMM (PS/2 SIMM): používané u počítačů s procesory 80486 a prvních Pentií. PS/2 SIMMy mají 72 vývodů, šířku přenosu dat 32 bitů (bezparitní SIMM) nebo 36 bitů (paritní SIMM - pro každý byte jeden paritní bit). Byly vyráběny s kapacitami 4 MB, 8 MB, 16 MB, 32 MB a snad i více...
Paměťové moduly SIMM
V polovině devadesátých let se objevilo drobné vylepšení: paměti označované zkratkou EDO (Extended-Data Output). Zjednodušeně: do výstupu paměti byl přidán záchytný registr pro zachycení výstupních dat i v okamžiku zápisu do paměti. Výsledkem bylo asi 5% zrychlení práce paměti ale hlavně nekompatibilita směrem dolů. Ve starších PC tyto SIMMy nefungovaly a musely se v nich používat klasické FPM SIMMy (Fast-Page Module).
Paměti DIMM Dalším typem paměťových modulů jsou paměťové moduly typu DIMM (Dual Inline Memory Module). Jedná se podobně jako v případě modulů SIMM o malou desku plošného spoje s osazenými paměťovými obvody. Moduly DIMM prošly podobně jako paměti SIMM jistým vývojem. První moduly DIMM, se kterými se dnes již určitě nesetkáte, používaly napětí 5V a mněly jinak umístěné klíče oproti dnešním 3,3V DIMMům. Pracovaly na frekvencích max. 83MHz a
používaly se u prvních 5V Pentií (60 a 66MHz). Tyto paměti byly označovány jako DRAM EDO či DRAM BEDO. Dnešní moduly DIMM SDRAM (Synchronous Dynamic Random Access Memory)mají 168 vývodů a šířku přenosu dat 64 bitů. Vyrábějí se s kapacitami 16 MB, 32 MB a 64 MB ... maximum je tuším 512MB modul. Mají dva výřezy v plošném spoji.
Paměti DIMM S použitím pamětí DIMM jsou spojeny jisté obtíže. V nejstarších systémech je možné použít pouze paměťové moduly 16MB, 32MB a 64MB. Větší moduly buď nebudou fungovat vůbec, nebo z nich bude „vidět“ pouze např. 64MB. Velmi častým problémem počítačů z konce devadesátých let (zejména s čipovou sadou Intel 440BX, LX...) jsou zase problémy se „single side moduly“. Po zastrčení například modulu 256MB s osmi čipy se zobrazí pouze 128MB. Pak je třeba použít starší „double side moduly“ se 16ti paměťovými čipy. Podle mezní frekvence, na které mohou paměti pracovat, jsou paměti DIMM SDRAM označovány jako PC100 (100MHz) nebo PC133 (133MHz). I v nejstarších systémech mohou být použity moduly PC133 (pozor však na předchozí poznámku), nebude však logicky využito jejich výkonnostních možností. Typ paměti PC66
Frekvence [MHz]
Přenosová rychlost [ MB/s]
66
528
PC100
100
800
PC133
133
1066
PC150
150
1200
Tabulka 1 Přehled modulů SDR SDRAM
Paměti DDR Paměti SDRAM-DDR (SDRAM Double Data Rate) používají technologii přenosu dat zdvojnásobenou rychlostí. První data jsou přenesena na náběžnou hranu hodinového signálu a druhá na sestupnou. Dosahují tak při stejné hodinové frekvenci teoreticky dvojnásobné datové propustnosti (nesprávně také označované jako šířka pásma) oproti modulům DIMM-SDRAM.
Princip zdvojení rychlosti přenosu dat u pamětí DDR Podle pracovní frekvence jsou paměti označovány: PC1600 (DDR 200) s frekvencí 200 MHz (reálná 100 MHz). Propustnost cca 1.5 GB/s. PC2100 (DDR 266) s frekvencí 266 MHz (reálná 133 MHz). Propustnost cca 2 GB/s. PC2700 (DDR 333) s frekvencí 333 MHz (reálná 166 MHz). Propustnost cca 2,5 GB/s. PC3200 (DDR 400) s frekvencí 400 MHz (reálná 200 MHz). Propustnost cca 3 GB/s. PC3500 (DDR 433) s frekvencí 433 MHz (reálná 217 MHz). Propustnost cca 3,2 GB/s. PC4000 (DDR 500) s frekvencí 500 MHz (reálná 250 MHz). Propustnost cca 3,7 GB/s. Nejnověji se prodávají paměti DDR2 (data jsou přenášena čtyřnásobnou rychlostí) PC2-3200 (DDR 400) s frekvencí 400 MHz (reálná 100 MHz). Propustnost cca 3 GB/s. PC2-4300 (DDR 533) s frekvencí 533 MHz (reálná 133 MHz). Propustnost cca 4 GB/s. PC2-5300 (DDR 667) s frekvencí 667 MHz (reálná 166 MHz). Propustnost cca 5 GB/s. Pozn. Novější čipsety umožňují použít dva moduly v dvoukanálovém režimu, kdy se propustnost teoreticky zdvojnásobí.
Příklad: PC2700U - 2522 - 540 PC2700 šířka pásma [MB/s] U/R
U - modul Unbuffered (bez ECC) R - registrovaný modul (obsahuje kontrolu chyb ECC) *
25
CAS Latency Time (v tomto případě je to 2,5)
2
RAS to CAS Delay
2
RAS Precharge
Tabulka 2 Značení paměťových modulů DDR *
ECC (Error Checking and Correction) - je druhou (parita), modernější, technologií, která se používá pro zabezpečení dat při přenosu. Moduly, které tímto disponují, dokáži odhalit z jednoho bytu až dva vadné bity. Dosahují toho tím, že zvětší délku slova o více než o jeden bit na 8 datových bitů. Navíc pokud se vyskytne v daném bytu jen jedna chyba je možné ji i opravit. Technologie vznikla především pro potřebu
zajištění vysoké bezpečnosti a nepřetržitého chodu, tudíž se využívá především v serverech.
Porovnání paměťových modulů DDR (184 pinů, jeden zámek v DPS) a SDR
Paměťový modul DDR2 S pracovní frekvencí procesoru úzce souvisí frekvence, na jaké budou pracovat paměti. Tak například při použití procesoru AMD 2800+, pracujícího na skutečné frekvenci 1800MHz s násobičem 11 bude takt FSB 166MHz a můžeme použít například paměti PC2700 (DDR 333), nebo PC3200 (DDR400), v domnění, že máme rezervu. Při přetaktování brzy narazíme na hranici možností pamětí. Při použití pamětí DDR400 bude maximální možnost přetaktování pouze 2200MHz. Budeme li ale chtít procesor přetaktovat například na reálnou frekvenci 2300MHz, bude to znamenat takt FSB 210MHz a budou tedy potřeba minimálně paměti DDR433 (umožňující FSB 217MHz). S pamětmi DDR400 se nám přetaktování buď nepodaří, nebo budeme muset nastavit asynchronní rychlost FSB a pamětí (pokud to deska umožňuje) a připravíme se tak o značnou část výkonu.
Příklad konektoru pro paměti DDR
Pozice klíče u pamětí DDR udává napájecí napětí
Diagnostika CPU-Z (přetaktování Core 2 Duo E 6400) Dělička FSB:RAM je nastavena 1:1 => DRAM frequency =345 МHz pro DDR2 PC2-5300.
Paměti DR-SDRAM Poměrně neúspěšnou, ač zajímavou technologii tvoří paměti Direct Rambus SDRAM nebo RDRAM. Tyto moduly vynalezla společnost Rambus pro Intel a ten se je snažil prosazovat do základních desek pro své procesory Pentium 4. Zapadají do slotů RIMM (Rambus Inline Memory Module) a mají dva zářezy. Avšak používají datovou sběrnici o šířce pouze 16 bitů – výkon je kompenzován mnohem vyšší frekvencí. Mají však nespornou výhodu – díky jinak uspořádané sběrnici s nimi dokáží některé aplikace pracovat efektivněji navzdory její velikosti. Další výhodou je jejich modularita, totiž že na jednom paměťovém modulu může být více 16bitových sběrnic. Čipsety, jim určené, také dokáží přistupovat ke dvěma modulů současně. Vzhledem k velmi vysoké ceně se však oproti pamětem DDR neprosadily.
Paměťový modul RDRAM
Typ paměti
Frekvence modulu [MHz DDR]
Propustnost jednokanálově [GB/s]
Propustnost dvoukanálově [GB/s]
PC600
300
1,2
2,4
PC800
400
1,6
3,2
PC1066
533
2,13
4,26
PC1200
600
2,4
4,8
Tabulka 3 Přehled modulu Rambus DRAM
Samostatnou kapitolu dynamických pamětí tvoří paměti grafických karet. Dříve se používaly různé paměti VRAM, WRAM a další. Dnes jsou grafické karty osazeny převážně běžnými moduly RAM.
Příklad porovnání velikostí několika modulů paměti. Shora: DIPP, SIPP, SIM30, SIM72, SDRAM, DDR
1.3.
Paměti SRAM
Jednotlivé paměťové buňky v pamětech typu SRAM jsou tvořeny tranzistorovými obvody, které jsou schopny se nastavit do jednoho ze dvou stavů a v tomto stavu setrvat – nepotřebují obnovování informace. Paměť je velmi rychlá, ale také velmi komplikovaná – drahá. Proto se tyto paměti používají zejména jako malé, ale vysoce rychlé vyrovnávací paměti (CACHE). Najdeme je jako vyrovnávací paměť mezi rychlým jádrem procesoru a pomalou pamětí DRAM (dokonce v několika úrovních), či jako vyrovnávací paměti na pevných discích. Speciální paměti vyrobené nízkopříkonovou CMOS technologií se také používají k uchování nastavení BIOSu – obsah paměti je zálohován baterií.
Sekundární paměť CACHE na základní desce
1.4.
Paměti pro notebooky
Dříve se v noteboocích používala různá proprietální řešení. Rozšiřování pamětí tak bylo složité a hlavně drahé. Nebylo výjimkou, že cena za 1 MB byla u notebooků až 10x vyšší než u normálních PC. Dnes se používají prakticky shodné technologie jako v běžných PC. Rozdíl je pouze v pouzdření pamětí. Nejběžnější paměti jsou typu: • • •
SO-DIMM (Small Outline DIMM) SDRAM 144 pinů Micro-DIMM SDRAM 144pinů & DDR 172 pinů SO-RIMM 160 pinů
Paměť SO-DIMM SDRAM pro notebooky, 144 pinů
Paměť Micro-DIMM DDR pro notebooky
Paměť SO-RIMM pro notebooky
1.5.
Paměti ROM a jejich modifikace
Princip pamětí na přednášce. V počítačích jsou nejčastěji použity paměti s neměnným obsahem: • •
EPROM – biosy nejstarších počítačů, neumožňují uživatelské přepsání novou verzí EEPROM / FLASH – umožňují jednoduché nahrání nové verze BIOSu
Paměť EPROM
EEPROM / FLASH paměti s biosy PC
I na dynamických paměťových modulech SDRAM a DDR najdeme paměť EPROM – jedná se o SPD (Serial Presence Detect) paměť, ve které jsou výrobcem zapsány optimální hodnoty časování, které použije základní deska při automatickém nastavení pamětí.
Paměť SPD na čipu DRAM
V každém počítači najdeme ještě jeden typ pevné paměti - přepínače, propojky
1.6.
Časování pamětí
Aby dynamické paměti správně pracovaly v systému a podávaly maximální výkon, je třeba je správně nastavit. Uživatel má v podstatě dvě možnosti: manuální konfiguraci nebo automatické nastavení. Při automatickém nastavení se použijí informace obsažené v SPD čipu. Tyto informace do čipu zapisuje výrobce a mnohdy se jedná o dosti konzervativní nastavení – takové, se kterým pracuje naprosto spolehlivě i nejhorší vyrobený paměťový modul dané série. Mezi nejdůležitější parametry patří: •
tRAS (Active to Precharge) - Délka paměťového cyklu buňky udávající počet cyklů, které proběhnou mezi aktivací a jejím "přednabitím".
•
RAS to CAS (Column Address Strobe) - počet cyklů mezi přepnutím signálu RAS a začátkem CAS
•
tCAS latency (CL) - (Column Acces Strobe Latency), tedy odezva, je to počet cyklů, které jsou potřebné k získání dat z paměťové buňky. Možné hodnoty jsou od 1 (v praxi skoro nepoužitelné), přes 2 a 2,5 (nejfrekventovanější nastavení) a konče hodnotou 3 (která se používá pouze u vysoko taktovaných pamětí nebo u neznačkových kusů).
Pro časování platí následující zjednodušená pravidla: • 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 - nastavení těchto hodnot hodně záleží na daném čipsetu. Pro i875 platí, nižší je lepší, ale třeba pro nForce2 je nejlepší hodnota mezi 9 a 11. Nebojte se experimentovat.
Další možnosti nastavení: • • •
•
•
•
•
tRP (Precharge to Active) - Čas potřebný ke změně vnitřní buňky. (RAS Precharge) tRCD (Active to CMD) - Určuje čas, který je potřebný mezi aktivací buňky a příkazem pro čtení. Active to Precharge Delay (TRAS) - určuje počet přístupů do paměti, mezi kterými se musí provést dobití - občerstvení buněk (refresh). Pokud by se toto občerstvení neprovedlo, pamět by nedokázala udržet data. Sem zadejte tedy co největší číslo, avšak pozor, pokud jej zadáte příliš velké data v paměti nevydrží. Nutnost občerstvování vychází již z architektury paměťových buněk. DRAM Refresh Rate - ekvivalence k Active to Precharge Delay. Určuje interval mezi obnovením paměťových buněk. Tuto hodnotu můžete nechat nastavovat automaticky (je přečtena z SPD, viz výše) nebo ji nastavit ručně (v mikrosekundách). Defaultně je pro 128 MB a menší čipy doporučena hodnota 15,6 a pro ty větší 7,8. Čím bude zde obsažená hodnota vyšší, tím bude paměť rychlejší, neboť bude potřebovat méně času pro vlastní režii. Na druhou stranu čím vyšší hodnota, tím častěji bude docházet ke ztrácení obsahu paměti (modul prostě data tak dlouhou dobu nebude schopen udržet) a vaše PC by mohlo začít vykazovat nestabilitu! DRAM Idle Timer - určuje počet tzv. nulových cyklů před zavřením nebo obnovením (refresh) paměťové stránky (minimální délka nečinnosti před některou z těchto akcí). Můžete zde nastavit volby 0T - 64T, Infinite a Auto. o OT - refresh se bude provádět okamžitě, ihned po prázdném cyklu. Doporučené nastavení pro servery. o Infinite - otevřená stránka se bude uzavírat až při potřebě obnovení. Tato volba je doporučena pro běžné desktopové stanice (např. s Windows). o Auto - defaultní volba, bude se používat tovární nastavení. o 8T - hodně často bývá továrním nastavením, obnovení paměťové stránky se provádí po 8 nulových cyklech. RAS Pulse Width - zde můžeme nastavit šířku RAS impulzu. Čím menší počet hodinových cyklů nastavíme, tím rychlejší práci s pamětmi docílíme. Opět pokud nastavení přeženete, počítač vám "poděkuje" nižší stabilitou. SDRAM 1T Command Delay (DRAM 1T Command Control) - nastavuje prodlevu mezi signálem čipové sady a momentem, kdy se začne přistupovat do určité adresy v paměti. Čím menší prodleva tím vyšší výkon, avšak agresivní nastavení může opět vést k nestabilitě.