summaryrefslogtreecommitdiffstats
path: root/techwsw/tex/memorie.tex
blob: 8689e1bc3676fcf3633ba9aeda6d5399ac6421f7 (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
134
135
136
137
\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. Lo standard americano
modifica il significato dei simboli SI quando 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.
\`E anche possibile indicare la dimensione con il numero di bits
contenuti nella memoria. Sempre lo stesso esempio di una memoria da 2 KiB 
si indica quindi con $16384$ bits oppure 16 K (che con lo standard JEDEC 
corrisponde a $16 \cdot 1024 = 16384$).

\subsection{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 nome le informazioni vengono
conservate permanentemente nella configurazione del circuito, siccome esse sono
`bruciate' fisicamente nel circuito.

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

Per ogni indirizzo in $A$ corrisponde una riga che accende alcuni 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. La seguente tabella descrive
brevemente le caratteristiche di ogniuna.

\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{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 il 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.

% \subsection{Indirizzamento sequenziale, 1D e 2D}