Posted By: shimi (The NEUROLOGiC member) on 'CZhardware'
Title:     Pameti
Date:      Wed Apr 16 19:10:03 1997

Ciao,
  Nevim, nevin, ale kdyz tady slysim vase mistama az bludy o pametech, i od 
takovejch lidi jako je pajasoft tak mam pocit, ze filosofie na liane posledni 
dobou je : pcha tak to neni, honem zaplacnout necim jinym

Pokusim se tady shrnout to co vim o pametech (vnitrnich, podle terminologie)

ROM, RAM, VRAM, CMOS RAM, CACHE : tohle jsou deleni z hlediska programatora, 
kazdy vi, ze v ROM je setup a neda se smazat, RAM pocitac pouziva k ulozeni 
vykonavanych modulu, VRAM je jakasi pamet do ktere co zapisi, to se prenese 
na obrazovku, ve CMOS RAM mame ulozen setup, a CACHE nam zrychluje. 

Ale tohle pojmenovani ma dost malo spolecneho s konstrukci pameti jako 
takovych. Obecne lze pameti rozdelit na pevne (pouze pro cteni - ROM - 
ReadOnlyMemory), zapisovatelne (RWM ReadWriteMemory - vsadim se, ze tohle 
slyselo dost malo lidi), Podle typu pristupu (SAM, RAM - 
SequentialAccesMemory, RandomAccesMemory - vsimete si ze RAM nema nic 
spolecneho s pameti pro zapis, a tudiz oznacovani oper pamet RAM je sice 
spravne, nicmene zcestne protoze vsechny pameti v pc jsou RAM) a teprve 
naposled podle konstrukce (DRAM, SRAM a jine)

ad konstrukce : 
V podstate pouzivame dve zakladni konstrukce
Staticka a dynamicka
Staticka pamet je tvorena z mnozstvi bistabilnich klopnych obvodu, ktere jsou 
naklopeny bud na H nebo L podle toho jestli je bit 0 nebo jedna. Kdo 
premejsly vidi, ze precist zapsat takovouhle pamet, spociva v tom, dekodovat 
adresu na H v danem dratu a vystrobovat stav Kl. Obv. na Datove sbernici 
pripadne  KO hodnotou ze sbernice nastavit. Kdo s tim delal, vi ze se to da 
realizovat se zpozdenim i 5 ns. Ale pri kapacite 256Kb dela pocet bunek pres 
2^20 a pri uvazzeni bunky na dva tranzistory nam vyjde cca 4000000 
tranzistoru na cipu a tady je (F,S,LS...)TTL technologie na konci. Na pomoc 
prichazeji (C,N...)MOS technologie ktere jsou na tom trochu lip, maji 
extremne nizkou spotrebu, drzi i pri napajeni ke trm V, ale jsou pomalejsi (20 
a vic ns) a celkem nakladne. (Mate ji v PC jako CMOS RAM na pamatovani 
setupu). Bipolarni (xTTL) pameti jsou CACHE.

Dynamicke :
Potom se prislo na to, ze se bunka udela tak, ze se vyuzije parazitni 
kapacity na tranzistoru (detajly nevim) cims se dosahne mnohonasobne vyssi 
integrace. Ale naboj v tato kapacite se vybiji (pomerne rychle- udava se 
bezpacna doba udrzeni dat 2ms). Proto je treba nejdele do te doby zajistit 
cteni teto bunky (pameti jsou konstuhovany tak, ze se ctenim se informace 
znovuzapise). Ale tohle by nebylo casove zvladatelne (cist dejme tomu 
16milionu bunek do dvou milisec) a proto je KAZDA dynamicka pamet 
koncipovane jako matice (ctvercove pole bunek) a pri cteni bunky se zaroven 
ctou (ale nevysilaji na sbernici) vsechny bunky v radku. Dale pro zapis takhle 
velke adresy se pouziva zapis postupny (prez jedny adres vodice).
Dusledek : 1) pro refresh staci cist do dvou ms jen sqr(rozmer pameti) krat ( 
a to uz je zvledatelne)
           2) Zapis adresy je siilene zpomalujici (zklada se z tohoto : 1. 
tik-zapis radku, 2.tikcekani na prevzeti radku, 3.tik zapis sloupce a 
pozadavku, asi 4tiky cekani na vyrizeni)
VSECHNY 'nove' (doposud) pameti jako EDO SDRAM atd spocivaji pouze ve 
zrychleni techto fazi. Akorat nove pameti SDRAM v DIMM modulech (snad nic moc 
o tom nevim) maji behat na 3V


Ted se uchylim k tomu, jak je to u PC

ROM PAMET - Popisu (moc toho k popisu neni kdyz bude zajem)
RWM (RAM) - Taky jsem se zaobiral myslenkou stavet oper pamet z SRAM, ale uz 
pri letmych vypoctech narazim na trouble ohledne buzeni velkeho poctu cipu 
(dostanu se opet na dobu kolem 60ns), ale dnes jsou VESKERE op pameti v PC 
(ale i jinde) Dynamicke, a je vicemene zjisteno, ze staci cteni 
zretezit+omezit pristup pomoci CACHE.
CACHE - SRAM pamet, do ktere se vse po jekychsi 4kb strankach prenaseji bloky 
z RWM a kdyz prijde pozadavek, SLOZITY (ale opravdu velmi slozity :) ) radic 
kese provede v 1 taktu vyhledani (plne asociativni) jestli je tento blok, 
kam adrtesa patri ve SRAM (popr se rozhodne ho tam umistit, popr navic 
nejaky vyhodit, a to kontroluje jeste platnost regionu (kvuli prenosum DMA a 
pristupu zarizeni do pameti)) a potom bud pise /cte jen do SRAM nebo dela 
cykl DRAM. 
Abyste byli v obratu pri cteni ze sram (pamettovy cykl pentia na 100 trva 
cca 20ns) je procesor 100% vytizen, ale pri cteni z DRAM cykl je zpozdovan 
tlogikou razeni DRAM tak na 100ns coz pri max potencialnim vyuziti vyuzije 
CPU cca na 20% - tohle jsou vsechno moje spekulace (to sem vicemene zmeril 
nebo vymyslel ajsou to STRASNE hrube odhady)

Tak to sou asi zhruba moje vedomosti o pametech a pamet systemu PC doufam, ze 
jsem nenapovidal moc nesmyslu, nekdo se to bude obtezovat precist, a nekomu 
to pomuze.

Uvitam jakekoliv reakce, otazky etc

 
      
+--   |   | | |  /| |  I was systemak,
+--+  |   | | | / | |               I'm systemak
   |  +---+ | |    | |                          and I will be systemak
 --+  |   | | |    | |  E-mail: tsimek@students.zcu.cz
                        http://dione.zcu.cz/~tsimek

Search the boards