Pamäte
. polovodičové pamäte
- vlastné - látky, ktoré sú za určitých podmienok nevodiče a malou zmenou napríklad teploty sa zmení na vodiče -
- nevlastní - pridáme cudzie látky a vznikne nadbytok elektrónov neboprotonů
Sú to napríklad diódy, tranzistory, tyristory, atď.
Unipolárne - potrebujú polovodiče typu N
Bipolárna - potrebujú polovodiče typu N a P.
RWM (read write memory)
Tieto pamäte majú pevne danú štruktúru, základ tvorí pamäťová matice. Pamäťová bunka je tvorená buď klopným obvodom (static), alebo kondenzátorom (dynamic).
Static - čítam z pamäte, bez toho aby som mazal jej obsah.
Dynamic - aby som prečítal pamäť na kondenzátoroch, musím nechať vytiecť prúd, a preto sa po každom Refresh musí obnoviť znova celá pamäť, pomerne malá pamäť, ktorá má veľký stratový činitelđ, obsah sa musí neustále obnovovať (refresh).
Static
Dynamic
dynamickej pamäte vyžadujú refresh, pretože po každom čítaní z pamäte
sa stráca jej obsah.
Pri čítaní sa pošlú dáta do buffera, kde sa uloží a odtiaľ na
zbernici v nasledujúcom takte sa pošlú späť z buffera cez I / O
zosilňovač a zapíšu sa na to miesto, kde boli predtým uložené. Po
určitej dobe je informácia nutné znova zapísať ak tomu sa využíva DMA,
ktoré veľmi rýchlo obnovuje pamäť.
Fast page pamäte
Majú buffer veľkosti jednej stránky, všetky bunky dokážem zapísať do pamäti. Čítam, zmením adresu a to isté znova až do tej doby, než dôjde k zápisu (rychlostránkové čítanie).
Flash
Programovateľná pamäť (riadená programom)
Latch - zachytávacie obvod, ktorý zisťuje, čo sa deje na
zbernici. Zistí, či prišli inštrukcie alebo dáta.
Inštrukcie - I / O Latch - programový register - radič
Data - I / O Latch - dátový register - pamäťová matica -
dáta
V tejto pamäti možno programovať čítanie aj zápis. Maže sa celá pamäť
naraz alebo po blokoch - vhodné pre emuláciu harddiskov u notebookov ako PC
karty miesto HDD. Veľkosť Flash pamäte je do 20 MB. V klasických
počítačoch sa používa napríklad u BIOSu, kde sa využíva pri upgrade.
Rýchlosť čítania - zodpovedá dynamickým pamätiam.
Rýchlosť zápisu- v porovnaní s HDD rýchlejší.
Operačná pamäť
Každý μP štartuje v Real modu
EMS (expandive memory specification) - pomocná, odkladací
priestor umiestnený mimo súvislú pamäťovú oblasť. Z EMS pamäte nie je
nič do chodu. Možno ju adresovať iba nepriamo - nemusí mať adresovacie
vodiče.
XMS - dostupná cez adresovací vodiče.
HMB (high memory block) - pamäť vytvorená v Real modu
vytváraním fyzickej adresy.
UMB (upper memory block) - sú tu uložené drivery
zariadení (shadow pamäte), počítač sa snaží zapísať určité veci
znova, tak aby urýchlil ich použitia (napr. BIOS sa zapíše ešte raz do UMB
a pri ďalšej práci s BIOSom sa používa tejto pamäti (shadow)
Protected mode
Umožňuje multitasking, pretože zabraňuje, aby sa spustené programy vzájomne rušili. Umožňuje segmentovanie aj stránkovanie.
Nastavuje práva užívateľov (určené 2B, majú štyri stupne):
- právo zásahu do operačného systému, najvyššia
- právo zásahu do utilít, vyššej
- právo zásahu do knižníc, nižšie
- pre obyčajných užívateľov, najnižšia
- Je potrebné vedieť adresovať XMS pamäť. *
μP 286 vedel želajú do protected modu, ale nevedel prejsť späť.
μP 386 vedel prejsť do protected modu aj späť.
Vytváranie adresy v Protected modu
Virtuálna adresa sa skladá z dvoch častí: offset a segment
Selector, ktorý nahradí segment.
24b adresa zz LDT (GDT) + offset = fyzická (lineárny adresa)
Segment Selector - má 16b, tretí najnižší b určuje typ tabuľky, posledné dva b určujú práva užívateľov. Zvyšných 13b sa nazývajú index a určujú polohu v tabuľke LDT alebo GDT. Veľkosť LDT prípadne GDT tabuľky je 8K (2 13) - každý b indexu ukazuje na jeden riadok (segmentačné tabuľka - určuje segment, 16B až 64KB)
LDT (local description table) - určený pre umiestňovanie jedinečných dát
GDT (global description table) - ukazuje, kde sú
umiestnené LDT, alebo základné globálne a systémové veci. Sú tu programy
alebo premenné prístupné viacerým používateľom
riadok tabuľky
reserve- rozšírená bázy (ôsmy bit) - limit na 24b, segment môže byť veľký až 16M, od 386
- rozšírenie limitu (siedmy bit), od Pentia Rights (práva)
- opakujú sa práva ako u Selector a navyše sú tu ďalšie napríklad
atribút, atribút súboru pre I / O, archívne - u súborov, ktoré sú
originálne a má ich cenu archivovať.
Bázová adresa - je 24b od μP 286, určuje celú počiatočnú adresu segmentu, ktorú nepočíta, ale prideľuje
Limit - max. Veľkosť sú samé F, program dlhý 4KB zaberie 4KB bázy adresy, segment je však veľký 64KB, preto nie je segment po 4 KB využitý. Do tohto nevyužitého priestoru sa naťahuje ďalší program. * Segment je od 2B do 64KB, ďalší segment sa nachádza minimálne na ďalšom riadku. Kontroluje sa, aby sa prepísaniu programy v pamäti. Segmentácia je protected modu globálny (jedna), ktorá prepína lokálne tabuľky (viac).
Operačný systém sa snaží ukladať svoj systém a tabuľky od 4 GB dole. *
V real modu postupná EMS pamäť.
V protected modu je tento mechanizmus od μP 386. Umožňuje swapovanie - vyčlení sa priestor na disku, ktorý umožní ukladať časť operačnej pamäte na HDD - virtuálna pamäť => rozšírenie OP o virtuálnu pamäť. Operácie s virtuálnou pamäťou sa nazývajú swapovanie. Do virtuálnej pamäte sa ukladajú programy, ktoré počítač aktuálne nepoužíva. Umiestnenie je závislé na adrese, kde sa program nachádzal. Swapovací priestor je minimálne dvakrát väčšia ako operačnú pamäť. Aby som mohol odkladať programy, používa sa stránkovanie, pretože stránka (pevný celok) má konštantnú dĺžku, a preto je komunikácia s pamäte rýchlejší. Swapovací priestor nie je zahrnutý do systému. Ak aplikácia vyžaduje 200 MB v OP a OP je len 128MB, tak sa zvyšok uloží do virtuálnej pamäte. Podľa adresy rámca sa hľadá, kde je stránka umiestnená na HDD. Ak je sector 512, číslo rámca je 16, tak budem musieť ísť na 128 - 135, pretože mám 8 Sector => 16x8
Vytváranie fyzickej adresy
Tu zistíme či je stránka uložená v operačnej alebo virtuálnej pamäte. Ak nie je v operačnej pamäti, tak si nájdem miesto v OP, ktoré sa práve nepoužíva a to presunu do virtuálnej pamäte az virtuálnej pamäte natiahnem požadovanú stánku.Lineárne adresa - vstupná adresa ku stránkovanie.
Formát tabuliek je doplnený o ďalšie bity:
Riadok stránkovací tabuľky:
adresa rámca | A V L |
X`X | D | A | C | T | U | W | P |
adresa rámca | A V L |
X O O |
D | A | C | T | U | W | P |
- X - rezerva, musí byť 0
- D - dirty - zápis
- OO - dĺžka stránka, 00 = 4kB
- A - zápis alebo čítanie do stránky pamäte alebo tabuľky
- U - user
- W - writetable
- P - present - tabuľka je obsadená (existuje zápis vo fyzickej pamäti)
- C - PCD - Cache disable
- T - PWT Write Through
Lineárne adresa - vznikne segmentáciou, ak nenasleduje stránkovanie stáva sa fyzickou adresou. Inak fyzickú adresu získam až stránkovaním.
Režim Pentia
Pentium pracuje segmentáciu aj so stránkovaním, ale viac používa stránkovanie. V Pentiu sa tento režim nazýva Flat mode.
Flat mode Je k dispozícii pamäť, ktorá umožňuje nesegmentovat, ale želajú priamo do stránkovacieho režimu. Segment je veľký 4GB, offset - 32b, a preto sa môžem pohybovať v celej pamäti a segmentácia stráca zmysel. Okamžite sa prechádza na stránkovanie - stránky sú veľké 4k a 16M.
IDT (interupt desk table) V Real modu sú na najnižších adresách vektory prerušenia. Tie musia mať aj pretečie mode, a preto sa zavádza tabuľka IDT, ktorá sa stará len o prerušení. Ak v tabuľke potrebujú nájsť N prerušenia, musím vynásobiť N prerušenia osmy. Tabuľka je umiestnená v spodnej časti pamäti.
Obsah celého μP sa ukladá do pamäte. Každy proces má svoju interupt tabuľku, prí prepínanie sa najskôr zistí na čo chceme prepnúť a potom sa to vyhľadá v tabuľke.
Synchrónne a asynchrónne pamäte
Viac sa používajú synchrónne pamäte. Operačná pamäť sa osadzuje dynamickými pamäťami, pretože sú menšie ako statické. Používajú sa DRAM (asynchrónne) a SDRAM (synchrónny RAM).
SDRAM
Tok dát je riadený vonkajšími hodinami. Obsahujú dve banky dát (32b
sústavy matíc), čo má vplyv na rýchlosť čítania. Kým jedna banka
vysiela dáta, druhá môže vykonávať refresh alebo dekódovať adresu.
Najviac času zaberá výber select chipu, z ktorého sa má čítať. Prvé
čítanie je pomalé a ďalšie sú rýchle. Synchrónne pamäte majú burst
režim, ktorý umožňuje načítať 4 adresy naraz => burst režim je
naprogramovaný tak, že je schopný vybaviť celú stránku, tj. Jeden prenos
na stránku, alebo 2,4,8 prenosy.
Dráma
Klasická (konvenčné) pamäť, ktorá vyžaduje pre každá dáta nové zadanie. Je vyvíjaná snaha, aby pamäť bola, čo najmenšia. K pamäte vedie 16b adresový bus, preto musím adresu zadávať na dvakrát.
CAS - signál, ktorý zadáva adresu, ktorý platí pre stĺpec
RAS - signál, ktorý zadáva adresu, ktorý platí pre riadok Keď sa
mení RAS a CAS, tak sa musí vykonať znova Refresh. Refresh by sa mal
vykonávať po každom čítaní. 3 - 3 - 3 - 3 5 - 3 - 3 - 3
EDO RAM
(Enhanced Data Output RAM) Má dvojnásobnú rýchlosť prístupu. Skracuje cyklus o 30%, pretože je schopná súčasne vysielať dáta a nastavovať novú adresu. Dáta sú na výstupe pripravené, zatiaľ čo radič pamäte vyhľadá nové dáta signálom CAS. Dáta na zbernici sú platné po dlhšiu dobu. Umožňuje zvýšiť výkon počítača približne o 5%.
3 - 2 - 2 - 2
5 - 2 - 2 - 2
Bedo RAM
(Burst Enhanced Data Output RAM)
Nezadáva druhýkrát CAS, pretože si ho pamätá, ale rovno zadáva RAS.
3 - 1 - 1 - 1
5 - 1 - 1 - 1
DDR RAM
Využíva sa tu toho, že riadiace signály sú krátke impulzy. Môže sa zvýšiť kladné aj záporné hrany hodín.
RD RAM
Sú podporované až od Pentia 4 vo väčšej miere. Sú vyvinuté do frekvencie 800 MHz, Pentium však používa najviac iba 400MHz. Čipy sú 8b, je potrebné, aby sa poskladali kanálmi.
RIMM moduly
Rýchla vybavovací doba, ktorá závisí, akou rýchlosťou sa komunikuje s
ostatnými zariadeniami.
4 kanály radené v pipelingu
Rýchlosť prenosu pri 800 MHz je 1,6 GB / s. Výstupy majú vlastné CACHE. Pre
spätný zápis nemajú buffer => odpadá čítanie z bufferu. Buffer
nahrádza nahrávacie zosilňovač, z ktorého sa nahráva späť do pamäte,
čo sa uskutočňuje v jednom cykle. Rýchlosť RIMM modulov je porovnateľná
so statickou pamäťou => nepotrebuje CACHE. Má priami konektor, má iný
spôsob kľúčovanie.
Grafickej pamäte
Charakteristickou vlastnosťou týchto pamätí je dvouportovost - každá
pamäť má dva porty => monitor môže komunikovať súčasne s grafickým
procesorom a pamäťou.
Dôležitá je kvôli rýchlosti tiež dvoubankovnost.
WRAM
Pamäť pre grafické karty, má rovnakú štruktúru ako VRAM, umožňuje
presúvanie dát po blokoch. Je o 30% rýchlejší vďaka dvojitému
buffering.
SGRAM (synchrónny grafická DRAM)
Má dve banky, je Jednoportový, pre svoju rýchlosť sa používa u 3D
kariet.
3D RAM
dvojportová, čtyřbanková pamäť. 1,6 GB / s. Obsahuje vlastné ALU, CACHE,
SERIALIZER. Tieto pamäte sú určené pre 3D grafiku, majú až 10x väčší
výkon ako VRAM.
SAM - serializer
Každá dvojke bánk zdieľa jeden SAM cez 640 b zbernice. SAM vytvára
sérioparalelne konektor so šírkou 256 b.
ALU urýchľuje prácu z bufferu, ktorý sa používa pre videnie
viditeľnosti.
Dvojitý z buffer - pre časovo premenné veličiny.
SIMM, RIMM, DIMM
SIMM - single inline memory modul, EDO (často), Bedo,
atď.
Pamäťové moduly s konektormi iba na jednej strane. Konektory sú 30 a 72
pinové.
30 pinový (8b (9) DB) - veľkosť kariet do 4MB, dnes sa už
nevyrába, banka pamäti - dvojke.
72 pinový (32b (36) DB) - veľkosť kariet do 64 MB, kapacita
sa sama hlási.
bity PD1 a PD2 určujú veľkosť pamäte
bity PD3 a PD4 určujú rýchlosť pamäte
U Pentia musíme moduly osadzovať po dvojiciach, pokiaľ to nie je double
modul.
Single sided - zostavené so single modulov - 1, 4, 16, 64MB
Double-sided zostavené s dvojíc single modulov. Potom kapacita je
dvojnásobná. Majú prepojené kontakty 33 a 45.
DIMM - double inline memory modul, 64 b, dvojradové konektory, zásuvné pamäti o veľkostiach: 16, 32, 64, 128, 256 MB. Sú všeobecné, nepoužívajú sa len pre OP, majú mnoho formátov (to sa týka 6 nožičiek, pre OP sa používa iba 168b)
168 pinové (64b (72) DB) - používajú paritu
- ECC - reťazec, ktorý spočíta celý reťazec, zakóduje celé slovo naraz.
Napätie 3,3 V (dnes) alebo 5V.
Inak posunutý kľúč - nejde zasunúť do konektora hrubou silou, ale ako sa
hovorí, čo nejde hrubou silou, ide ešte väčšou silou.
U DIMM modulov sa používa Refresh. Väčšina DIMM je synchrónne SDRAM.
RIMM - Rambus inline memory modul, používa sa pre vysokofrekvenčné pamäti. Majú iný konektor => nie je možné ich zameniť, 8b riadiaca štruktúra, určené pre RAM BUS.
Z buffering - pri zobrazení je potrebné ukladať hodnoty viac objektov, aby sa mohli vytvoriť viditeľné tiene.
Dvojitý z buffering - pre vytvorenie časových premenných