\chapter{Paměti}

Polovodičová paměť je obvodová struktura určená ke krátkodobému nebo dlouhodobému uchování informace. Typická paměť obsahuje adresní dekodéry a čtecí a případně zápisové obvody. Taková paměť pak může mít strukturu podle obrázku \ref{fig:memory-basic}. Toto je běžná struktura polovodičové paměti.\footnote{Zanedbáme-li speciální sériové paměti, které mohou reprezentovat fonty a posuvné registry.}

\image{fig:memory-basic}{
\input{obrazky/memory-block}
}{Blokové schéma typické paměti} 

\section{Typy pamětí}

Polovodičové paměti můžeme dělit podle několika hledisek. Paměti můžeme dělit podle uchování dat na trvalé (non-volatilní) a dočasné (volatilní), nebo podle upravitelnosti dat na přepisovatelné a pouze pro čtení.
% Přehledné shrnutí dělení pamětí je na obrázku \ref{fig:memory-division}. 

%\image{fig:memory-division}{
%\input{./obrazky/memory-division.tex}
%TBD
%}{Dělení pamětí}

Paměti určené pouze pro čtení (\uv{ROM}) jsou vždy trvalého charakteru. Tyto paměti mnohou být programovány maskou při výrobě (tzv. maskou programovatelné paměti), přepálením pojistky (tzv. OTP) nebo jde o EPROM\footnote{EPROM je přeprogramovatelná paměť, ale z pohledu této práce si ji dovolím zařadit mezi ROM z důvodu nemožnosti ji elektronicky přepsat. }.

Přepisovatelné paměti trvalého charakteru jsou paměti, které se používají k uložení dat nebo konfigurace. Běžně se používají paměti EEPROM (typicky pro uložení malého množství dat) a paměti FLASH (NAND a NOR typu, dnes dostupné i pro velké kapacity).

Paměti dočasného charakteru jsou prakticky vždy přepisovatelné. Tyto paměti dále rozdělujeme na statické (SRAM) a dynamické (DRAM).

SRAM je polovodičová paměť, jejíž základní buňkou je klopný obvod (tzv. \splithyphens{}flip-flop\standardhyphens{}) tvořený dvěma invertory zapojenými do kladné zpětné vazby. Příklad takové buňky v technologii CMOS lze vidět na obrázku \ref{fig:memory-sram-cell}. Takto tvořená buňka drží uloženou hodnotu, dokud je připojeno napájecí napětí a není třeba data pravidelně obnovovat. 

\image{fig:memory-sram-cell}{
\input{obrazky/sram-cell}
}{Paměťová buňka SRAM v technologii CMOS. Tato buňka je označována jako 6T.}

DRAM je polovodičová paměť, jejíž základní buňku tvoří kondenzátor vytvořený ve struktuře integrovaného obvodu. Z toho plyne nutnost data v dynamické paměti pravidelně obnovovat (tzv. refresh) z důvodu vybíjení paměťové kapacity svodem. Taktéž čtení dynamické paměti je pro uložená data destruktivní. Z toho vyplývá nutnost opětovného zápisu dat do paměti po přečtení.  

Paměti můžeme dále rozdělit podle jejich komunikačních rozhraní na synchronní a asynchronní. U synchronních pamětí probíhá komunikace v pravidelných časových okamžicích - taktech. U asynchronních je pouze udána doba, do které paměť zareaguje na žádanou operaci.

\section{Organizace paměťových buněk}

Paměť se skládá z většího množství paměťových buněk rozmístěných po ploše integrovaného obvodu. Jako příklad může posloužit SRAM paměť Intel 2102 (1024x1). Její popis je dostupný v datasheetu, například na \cite{datasheet-intel2102}. Blokové schéma je na obrázku \ref{fig:memory-intel2102-block}. Vyrobený integrovaný obvod je vidět na obrázku \ref{fig:memory-intel2102-foto}. Z datasheetu a fotky čipu je poznat, že jde o paměť s organizací 32 řádků a 16 sloupců o dvou bankách. Adresní sběrnice A[9:0] se dělí na řádkovou adresu A[4:0] a sloupcovou adresu A[9:5]. Bit, který vybírá banku paměti, nelze z datasheetu poznat. 

\imagex{fig:memory-intel2102-foto}{\includegraphics[scale=1.8]{obrazky/2102.jpg}}{Foto integrované paměti Intel 2102}{Foto integrované paměti Intel 2102\footnotemark}


\image{fig:memory-intel2102-block}{\includegraphics[scale=1]{obrazky/2102-block.jpg}}{Blokové schéma paměti Intel 2102 \cite{datasheet-intel2102}}
%Footnote text has to be here :(
Informace \footnotetext{Převzato z \url{http://www.oac.cdlib.org/ark:/13030/kt7k4022nm/?brand=oac4}} o rozdělení adresy na řádkovou adresu, sloupcovou adresu a bankovou adresu je nezbytné znát pro určení fyzické pozice paměťové buňky a logických adres sousedních buněk.

