summaryrefslogtreecommitdiffstats
path: root/techwsw/tex/memorie.tex
blob: 9723e0763516dc175f4f60504dc44342acf07ffc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
\section{Memorie}

\subsection{Definizione di memoria}
Una memoria pu\`o essere definita come un sistema in grado di conservare delle 
informazioni come per esempio un Hard-Disk, un libro o un DVD. In questo capitolo
sono analizzate solamente alcuni tipi di memoire dette \emph{memorie a semiconduttore}.
In queste forme di memoria l'informazione \`e rappresentata da un livello di 
tensione (per esempio lo standard TTL) che come conseguenza richiede un supporto
fisico elettronico.

\subsection{Classificazione delle memorie}
Le memorie digitali possono essere classificate in base a vari criteri quali
\begin{itemize}
	\item Mantenimento dell'informazione senza l'uso di alimentazione: \\
		{\bf Volatili} o {\bf Non volatili}
	\item Tempo di permanenza con l'alimentazione: \\
		{\bf Statiche} o {\bf Dinamiche}
	\item Modalit\`a di accesso: \\
		{\bf Casuale} o {\bf Sequenziale} (o entrambe)
\end{itemize}

\subsection{Unit\`a di misura}
In informatica in molti casi sono pi\`u importanti le potenze di 2 che le potenze
di 10. Perci\`o oltre ai prefissi del sistema internazionale kilo (k) $10^3$, 
mega (M) $10^6$, giga (G) $10^9$ sono stati aggiunti dalla commissione europea 
IEC i prefissi kibi (Ki) $2^{10} = 1024^1$, mebi (Mi) $2^{20} = 1024^2$, gibi (Gi)
$2^{30} = 1024^3$ ecc.

Naturalmente per\`o non essendo uno standard internazionale negli USA la 
commissione JEDEC utilizza un sistema differente. Esso modifica il significato 
dei simboli SI quando essi sono combinati con l'unit\`a Byte (B). 
Quindi 1 KB = 1 KiB = $2^{10}$ Bytes, 1 MB = 1 MiB = $2^{20}$ Bytes, 1 GB = 1 GiB = $2^{30}$ ecc.

\begin{table}[H]
\centering {\def\arraystretch{1.2}
\begin{tabular}{ l l c l c }
\hline
Valore & Nome IEC & Simbolo IEC & Nome JEDEC & Simbolo JEDEC \\
\hline
$2^{10} = 1024^1$ & KibiByte & KiB & KiloByte & KB \\
$2^{20} = 1024^2$ & MebiByte & MiB & MegaByte & MB \\
$2^{30} = 1024^3$ & GibiByte & GiB & GigaByte & GB \\
\hline
\end{tabular}}
\caption{tablella riassuntiva delle unit\`a di misura.}
\end{table}

\subsection{Notazione}
Le memorie vengono normalmente indicate con la seguente notazione.
$$ words~count \times word~size$$
In cui $word~size$ indica la dimensione della parola, ovvero il numero di bits 
utilizzato in uscita, mentre $words~count$ indica il numero di parole presenti.
Per esempio una memoria da 2 KiB (o 2KB secondo la notazione JEDEC) viene 
indicata come memoria $2048\times 8$ bits.


\subsection{Memorie a sola lettura}
\subsubsection{Read Only Memory ({\tt ROM})}

La memoria ROM \`e un circuito combinatorio che fornisce in uscita una serie di
dati $Y_0\dotso Y_{m-1}$ in corrispondenza ad una serie di ingressi $A_0\dotso
A_{n-1}$. Con $n$ bit in ingresso si possono avere fino a $2^n$ celle di
dimensione $m$ in uscita.
In questo tipo di memoria come implica il nomele informazioni vengono conservate
permanentemente nella configurazione del circuito, siccome esso sono costituite
da un decodificatore ed un codificatore.

\begin{figure}[h!]
	\centering
	\includegraphics[width=\textwidth]{res/memorie/rom}
\end{figure}

Ogni indirizzo in $A$ corrisponde una riga che accende i bit sull'uscita $Y$
in base alle connessioni presenti tra le linee dei dati e le linee delle parole.
La connessione pu\`o essere costruita con differenti componenti, creando quindi
differenti tipi di ROM.

\begin{table}[H]
\centering {\def\arraystretch{1.5}\tabcolsep=6pt
\begin{tabular}{ >{\ttfamily}p{.12\textwidth} p{.28\textwidth} p{.5\textwidth} }
\hline
\rmfamily Acronimo & Nome & Caratteristica \\
\hline
ROM & Read Only Memory & Programmata in fabbrica \\
PROM & Programmable ROM & Programmabile dall'utente una volta sola, per sempre.
	La programmazione avviene bruciando dei fusibili. \\
EPROM & Erasable PROM & Programmabile pi\`u volte dall'utente. \`E possibile 
	cancellare il contenuto esponendo il chip ai raggi UV per 15 - 20 min. \\
EEPROM o E\textsuperscript{2}PROM & Electronically Erasable PROM & Programmabile 
	pi\`u volte dall'utente, la memoria viene riscritta in pochi millisecondi
	utilizzando dei segnali elettrici. \\
\hline
\end{tabular}}
\end{table}

% che diamine erano?
% \subsection{Memorie non volatili ({\tt NVRWM})}

\subsection{Memorie a scrittura e lettura}
\subsubsection{Random Access Memory ({\tt RAM})}

In una memoeria ad acesso casuale, o memoria RAM (Random Access Memory), una
qualsiasi locazione \`e individuata da un numero (indirizzo o address) e
il suo contenuto pu\`o essere letto o modificato in un intervallo di tempo
costante detto \emph{tempo di accesso} $t_a$.

%% doc: 01c memorie principali.pdf
\begin{figure}[h!]
	\centering
	\includegraphics[width=\textwidth]{res/memorie/ram}
\end{figure}

Quando viene richiesta un' operazione di lettura con il segnale {\tt R},
l'indirizzo comanda il multiplexer per passare sull'uscita il dato
contenuto alla locazione richiesta. Nell'operazione di scrittura il segnale {\tt
W} abilita la scrittura del dato presente in ingresso nella cella indicata
tramite il demultiplexer. 

 La RAM pu\`o essere di tipo \emph{statico} o
\emph{dinamico}. Le {\tt SRAM} (static RAM) sono dei flip-flops, mentre le {\tt
DRAM} (dynamic RAM) sono dei microcondensatori C-MOS nei quali 1 corrisponde al
condensatore carico e 0 corrisponde al condensatore scarico.

\paragraph{La RAM dinamica ({\tt DRAM})} avendo un comportamento elettrico tipico dei 
condenstatori, essa \`e soggetta alla scarica, cio\`e tende a perdere l'informazione
contenuta, perci\`o necessitano di essere ricaricate regolarmente con della 
circuiteria che esegue un \emph{refresh}.

\paragraph{La RAM statica ({\tt SRAM})} essendo un FF, \`e in grado di mantenere le
informazioni per un tempo indeterminao affinch\`e ci sia l'alimentazione. Gli
svantaggi delle SRAM rispetto alle DRAM sono dal consumo energetico (potenza
dissipata) e la dimensisone, che rendono la densit\`a di bit per unit\`a di area
minore. Come vantaggio invece le SRAM tendono ad essere pi\`u veloci delle DRAM.