F. Paměti základní pojmy permanentní a semipermanentní paměti uspořádání adresovatelné paměti statická paměť dynamická paměť organizace pamětí z hlediska výběru paměťových míst adresovatelné paměti paměti LIFO paměti FIFO paměti CAM(asociativní paměti) plně asociativní LRU omezený stupeň asociativity strategie uvolňování položek JPO 2005/6 c A. Pluháček 18.4.2006
základní pojmy i paměti vnitřní registry zápisníková paměť(angl. scratch-pad memory) skrytá paměť(též rychlá vyrovnávací paměť), angl. cache hlavní paměť(angl. main memory) = operační paměť vnější periferní zařízení nejdůležitější charakteristiky: doba čtení a zápisu, popř. vybavovací doba, cyklus paměti kapacita v bitech bit, ve slabikách(b), popř. ve slovech(specifikované délky) odvozené jednotky:(i binary) Ki= 2 10,Mi= 2 20,Gi= 2 30,Ti= 2 40 K = 10 3,M = 10 6,G = 10 9,T = 10 12 např.4kibit=4069bitů,4kbit=bitů,1kib=8192bitů cena JPO 2005/6 F 1 c A. Pluháček 2.5.2006 (opraveno)
základní pojmy ii paměti měnitelné RWM(read write memory) častěji označované RAM(random access memory) SRAM(static RAM) DRAM(dynamic RAM) permanentní ROM(readonlymemory) PROM(programable ROM) semipermanentní EPROM(erasable PROM) EEPROM,E 2 PROM,E 2 (electricallyeprom) flash paměti energeticky nezávislé(angl. non-volatile) (obsah paměti se zachová i po odpojení napájení): permanentní a semipermanentní paměti (polovodičové) paměti energeticky závislé: měnitelné paměti(polovod.) JPO 2005/6 F 2 c A. Pluháček 27.4.2006 (opraveno)
permanentní a semipermanentní paměti základní princip realizace(příklad): N=2 n n=3 N=8 adresa data 0 0 0... 1 0 1 0 0 1... 0 1 0....... 1 1 0... 1 1 0 1 1 1... 1 0 1 JPO 2005/6 F 3 c A. Pluháček 18.4.2006
uspořádání adresovatelné paměti!!! 3D propředstavu, ale(!) skutečnost 2D!!! n=m+k N=2 n adres M=2 m řádků K=2 k sloupců r i... i-týřádek s j... j-týsloupec dq... bitdat vřádu q (a n 1,..., a 0 ) nbitováadresa N=2 n adres kapacita paměti(v uvedeném příkladu): N 4 bity JPO 2005/6 F 4 c A. Pluháček 18.4.2006
statická paměť- paměťová buňka(1 bit) základní princip: typické řídicí signály: WE (writeenable) zápis OE (output enable) čtení CS (chip selection) výběr čipu aktivnínula out=oe CS= = OE+ CS in = WE CS= = WE+ CS JPO 2005/6 F 5 c A. Pluháček 18.4.2006
časové diagramy řídicích signálů čtení z paměti: zápis do paměti: JPO 2005/6 F 6 c A. Pluháček 18.4.2006
rozšíření slova v paměti slovonačipu=4bity slovovpaměti=8bitů CS=0 (obačipy trvale vybrány) JPO 2005/6 F 7 c A. Pluháček 18.4.2006
zvětšení adresového prostoru 3bitová adresa pro čip 5bitová adresa pro paměť (4 větší adresový prostor) JPO 2005/6 F 8 c A. Pluháček 18.4.2006
dynamická paměť i základní princip: JPO 2005/6 F 9 c A. Pluháček 18.4.2006
dynamická paměť ii nutné periodické obnovování obsahu(viz dále) adresa je časově multiplexována(posílá se nadvakrát): RAS=0... 1.částadresy=číslořádku CAS=0... 2.částadresy=číslosloupce dílčíčtení přečteseavymažesecelýřádek a uloží se do vyrovnávací paměti dílčí zápis zapíše se celý řádek z vyrovnávací paměti ČTENÍ=dílčíčtení+dílčízápis dílčím zápisem se obnoví přečtená(a vymazaná) informace ZÁPIS=dílčíčtení+dílčízápis dílčímčtenímsevymažeřádek(auložísedovyr.pam.) před dílčím zápisem(a obnovením) nutno změnit bit v příslušném řádu, popř. v bity v příslušných řádech JPO 2005/6 F 10 c A. Pluháček 18.4.2006
organizace pamětí z hlediska výběru paměťových míst paměť: adresovatelná, s adresním(adresovým) výběrem paměťové místo určeno adresou s postupným výběrem paměťová místa se vybírají postupně(jak za sebou následují) příklad: magnetická pásková paměť těmito paměťmi se nebudeme blíže zabývat LIFO, [Last-In First-Out] zásobníková, sklípková [stack, push-down] čte se posledně zapsaná položka FIFO [First-In First-Out] fronta čte se nejdéle zapsaná položka asociativní CAM [Content Addressed Memory] paměťové místo určeno svým obsahem JPO 2005/6 F 11 c A. Pluháček 18.4.2006
paměť: výběr paměťového místa pro zápis a čtení adresovatelná LIFO, FIFO, s postupným výběrem univerzální CAM speciální CAM JPO 2005/6 F 12 c A. Pluháček 18.4.2006
jednobránová paměť vícebránová paměť adresovatelné paměti i nbránová paměť: n adresových vstupů n(popř. méně) datových vstupů n(popř. méně) datových výstupů příklad 2bránová paměť: JPO 2005/6 F 13 c A. Pluháček 18.4.2006
adresovatelné paměti ii 2bránová paměť tvořená registry: vysvětlivky (registry): zápis A zápis B jinak: pamatuje se JPO 2005/6 F 14 c A. Pluháček 18.4.2006
adresovatelné paměti iii příklad použití 2bránové paměti tvořené registry: zápisníková paměť [scratch-pad] JPO 2005/6 F 15 c A. Pluháček 18.4.2006
adresovatelné paměti iv Hlavní paměť vícebránová umožňuje připojení několika procesorů nebo jiných jednotek(např. kanálů pro vstup/výstup) řízení: řadič hlavní paměti neboli organizátor kolize požadavků vyšší priorita V/V odebrání cyklu připojení: přímé sběrnice propojovací sítě [cycle stealing] jednobránová připojení přes sběrnici obvykle umožňuje připojení několika jednotek kolize požadavků řešena režimem přidělování sběrnice podsběrnice: adresová datová řídicí JPO 2005/6 F 16 c A. Pluháček 18.4.2006
adresovatelné paměti v vícebránová hlavní paměť s autonomními paměťovými bloky BP0, BP1,... bloky paměti P1, P2,... procesory (popř. jiné jednotky) umožňuje paralelní(současnou) práci různých bloků, pokud se požadavky týkají různých bloků (týkají se různých částí paměťového prostoru) JPO 2005/6 F 17 c A. Pluháček 2.5.2006
LIFO i LIFO sériově řazené registry TOP = vrchol zásobníku JPO 2005/6 F 18 c A. Pluháček 18.4.2006
LIFO ii LIFO registry určené ukazovátkem JPO 2005/6 F 19 c A. Pluháček 18.4.2006
LIFO iii realizace ukazovátka: JPO 2005/6 F 20 c A. Pluháček 18.4.2006
LIFO iv LIFO jádro = adresovatelná paměť zápis(push) pre-inkrementace čtení(pop) post-dekrementace nebo naopak: zápis(push) pre-dekrementace čtení(pop) post-inkrementace JPO 2005/6 F 21 c A. Pluháček 18.4.2006
LIFO v použití paměti LIFO návratové adresy: podprogramy a mikropodprogramy registry aritmetické jednotky (zápisníková p.) JPO 2005/6 F 22 c A. Pluháček 18.4.2006
FIFO i FIFO použití: vyrovnávací paměť [buffer] sériově řazené registry: P i =1 & P i+1 =0 P i...bityplatnosti i=1,...,n P n+1 =1 hodinovýpulsprodanoupozici zápis:1 P 1 čtení:0 Pn JPO 2005/6 F 23 c A. Pluháček 2.5.2006
FIFO ii FIFO sériověřazenéregistry příklad(2zápisy+1čtení)??? data 0 0 0 platnost A B A?? A A? A A A 1 0 0 0 1 0 0 0 1 B A A B B A 1 0 1 0 1 1 A B B A B B B 0 1 0 0 0 1 JPO 2005/6 F 24 c A. Pluháček 18.4.2006
FIFO iii FIFO registry určené ukazovátkem JPO 2005/6 F 25 c A. Pluháček 18.4.2006
FIFO iv realizace ukazovátka: JPO 2005/6 F 26 c A. Pluháček 18.4.2006
FIFO v stejné obsahy čítačů = { paměťprázdná paměť plná přidat klopný obvod: shodačítačůpočtení = nulovat zápis = nastavit(zapsat1) JPO 2005/6 F 27 c A. Pluháček 18.4.2006
FIFO vi FIFO jádro = adresovatelná paměť JPO 2005/6 F 28 c A. Pluháček 18.4.2006
CAM plně asociativní i Plně asociativní paměť: K i... klíč d i... vstupnídata D i... výstupnídata Z j... zápis S j... nalezenashoda P... platnost K... klíč D... data JPO 2005/6 F 29 c A. Pluháček 18.4.2006
CAM plně asociativní ii plně asociativní paměť značky: JPO 2005/6 F 30 c A. Pluháček 2.5.2006
CAM LRU i základní princip: LRU [Least Recently Used] strategie nalezení nejdéle nepoužité položky (pro uvolnění z paměti) matice M ignorujíseprvkynahlavnídiagonále { 11 1 i-týřádek použita položka i 00 0 i-týsloupec nejdélenepoužitápoložka i: 00 0 i-týřádek 11 1 i-týsloupec příklad:postupněpoužitypoložky2,3,1,2,4 JPO 2005/6 F 31 c A. Pluháček 18.4.2006
1 2 3 4 1 X??? 2? X?? 3?? X? 4??? X X 1 1 1 0 X 0 1 0 1 X 1 0 0 0 X M ij = M ji CAM LRU ii X 0?? 1 X 1 1? 0 X?? 0? X X 0 1 1 1 X 1 1 0 0 X 1 0 0 0 X stačíprvkynaddiagonálou: 1 0 1 0 2 1 0 3 0 2 3 4 X 0 0? 1 X 0 1 1 1 X 1? 0 0 X X 0 1 0 1 X 1 0 0 0 X 0 1 1 1 X JPO 2005/6 F 32 c A. Pluháček 18.4.2006
CAM LRU iii LRU: JPO 2005/6 F 33 c A. Pluháček 18.4.2006
CAM LRU iv časový diagram čtení/ zápisu: hodiny čtení/zápis Z1 Z4 změna LRU Předpokládá se, že zápis do synchronních klopných obvodů typudseprovádípřizávěrnéhraněhodin. JPO 2005/6 F 34 c A. Pluháček 18.4.2006
CAM- omezený stupeň asociativity i 1 stupeň asociativity s = 1 paměť přímo mapovaná [direct mapped] Jádrem je adresovatelná paměť AP. Klíč Kjerozdělenna2části: 1. PK(podklíč), 2. adr. Položkasklíčem Kjevždyukládánanaadresu adrvap; tvoříji: podklíč PK,vlastnídata Dabitplatnosti P. V paměti nemohou být dvě položky, jejichž klíče mají stejnou část adr. Přičtenísezadáváklíč K;zjišťujese,zdanaadrese adr jeuloženpodklíč PK,azdajenastavenbitplatnosti P adr. JPO 2005/6 F 35 c A. Pluháček 18.4.2006
CAM- omezený stupeň asociativity ii stupeň asociativity s = 1 (paměť přímo mapovaná) JPO 2005/6 F 36 c A. Pluháček 18.4.2006
CAM- omezený stupeň asociativity iii 2 stupeň asociativity s > 1 [direct mapped] Jádrem je adresovatelná paměť AP. Klíč Kjerozdělenna2části: 1. PK(podklíč), 2. adr. Najednuadresusemůžeuložitaž spoložek (jejichž klíče mají stejnou část adr). Položka:podklíč PK,vlastnídata D,bitplatnosti P. Při čtení se zadává klíč K; zjišťuje se, zda na některá položka na adrese adr obsahuje podklíč PK, a zda je nastaven její bit platnosti P. Paměť dále obsahuje informace pro výběr položky, která mábýtuvolněnazpaměti,abysedonídalazapsatjiná položka LRU. řádek... údajenajednéadrese JPO 2005/6 F 37 c A. Pluháček 18.4.2006
CAM- omezený stupeň asociativity iv stupeňasociativity s >1 JPO 2005/6 F 38 c A. Pluháček 18.4.2006
CAM- strategie uvolňování položek LRU [Least Recently Used] nejdéle nepoužitá položka pole LRU ( s) 2 bitůvkaždémřádku FIFO nejstarší položka pole LRU čítač log 2 s bitůvkaždémřádku náhodně společný čítač pro všechny položky log 2 s bitůproceloupaměť [First-In First-Out] [random] pseudo LRU FIFO + ochrana posledně použité položky pole LRU čítač&čísloposledněpoužitépoložky 2 log 2 s bitůvkaždémřádku nějak ošizené LRU př.: cachei486(s=4) 3bityvkaždémřádku JPO 2005/6 F 39 c A. Pluháček 18.4.2006