BI-JPO (Jednotky počítače) I. Dalšívnitřní paměti c doc. Ing. Alois Pluháček, CSc. 2010 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha& EU: Investujeme do vaší budoucnosti
I. Dalšívnitřnípaměti 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 BI-JPO c A. Pluháček 2010
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 BI-JPO I 1 c A.Pluháček 2010
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 BI-JPO I 2 c A.Pluháček 2010
jednobránová paměť vícebránová paměť adresovatelné paměti 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ěť: BI-JPO I 3 c A.Pluháček 2010
adresovatelné paměti ii 2bránová paměť tvořená registry: vysvětlivky (registry): zápis A zápis B jinak: pamatuje se BI-JPO I 4 c A.Pluháček 2010
adresovatelné paměti iii příklad použití 2bránové paměti tvořené registry: zápisníková paměť [scratch-pad] BI-JPO I 5 c A.Pluháček 2010
adresovatelné paměti iv Hlavní paměť jednobránová připojení obvykle přes sběrnici 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í 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 připojení: přímé sběrnice propojovací sítě BI-JPO I 6 c A.Pluháček 2010
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ů (tzn. různých částí paměťového prostoru) BI-JPO I 7 c A.Pluháček 2010
LIFO LIFO sériově řazené registry TOP = vrchol zásobníku BI-JPO I 8 c A.Pluháček 2010
LIFO ii LIFO registry určené ukazovátkem BI-JPO I 9 c A.Pluháček 2010
LIFO iii realizace ukazovátka: BI-JPO I 10 c A. Pluháček 2010
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 BI-JPO I 11 c A. Pluháček 2010
LIFO v použití paměti LIFO návratové adresy: podprogramy a mikropodprogramy registry aritmetické jednotky (zápisníková p.) BI-JPO I 12 c A. Pluháček 2010
FIFO 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 BI-JPO I 13 c A. Pluháček 2010
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 BI-JPO I 14 c A. Pluháček 2010
FIFO iii FIFO registry určené ukazovátkem BI-JPO I 15 c A. Pluháček 2010
FIFO iv realizace ukazovátka: BI-JPO I 16 c A. Pluháček 2010
FIFO v stejné obsahy čítačů = { paměťprázdná paměť plná přidat klopný obvod: shodačítačůpočtení = nulovat zápis = nastavit(zapsat1) BI-JPO I 17 c A. Pluháček 2010
FIFO vi FIFO jádro = adresovatelná paměť BI-JPO I 18 c A. Pluháček 2010
Plně asociativní paměť: CAM plně asociativní 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 BI-JPO I 19 c A. Pluháček 2010
CAM plně asociativní ii plně asociativní paměť značky: BI-JPO I 20 c A. Pluháček 2010
CAM LRU 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 BI-JPO I 21 c A. Pluháček 2010
1 2 3 4 1 X??? 2? X?? 3?? X? 4??? X 1 X 1 1 1 0 X 0 1 0 1 X 1 0 0 0 X M ij = M ji CAM LRU ii 2 X 0?? 1 X 1 1? 0 X?? 0? X 2 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 3 X 0 0? 1 X 0 1 1 1 X 1? 0 0 X 4 X 0 1 0 1 X 1 0 0 0 X 0 1 1 1 X BI-JPO I 22 c A. Pluháček 2010
CAM LRU iii LRU: BI-JPO I 23 c A. Pluháček 2010
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. BI-JPO I 24 c A. Pluháček 2010
CAM- omezený stupeň asociativity 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. BI-JPO I 25 c A. Pluháček 2010
CAM- omezený stupeň asociativity ii stupeň asociativity s = 1 (paměť přímo mapovaná) BI-JPO I 26 c A. Pluháček 2010
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 BI-JPO I 27 c A. Pluháček 2010
CAM- omezený stupeň asociativity iv stupeňasociativity s >1 BI-JPO I 28 c A. Pluháček 2010
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 BI-JPO I 29 c A. Pluháček 2010