summaryrefslogtreecommitdiffstats
path: root/techwsw/tex/memorie.tex
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--techwsw/tex/memorie.tex69
-rw-r--r--techwsw/tex/memorie.tex.bak149
2 files changed, 193 insertions, 25 deletions
diff --git a/techwsw/tex/memorie.tex b/techwsw/tex/memorie.tex
index 375daa7..a9db737 100644
--- a/techwsw/tex/memorie.tex
+++ b/techwsw/tex/memorie.tex
@@ -1,8 +1,10 @@
-\section{Memorie}
+%!TEX root = essence_of_hwsw.tex
+
+\section{Memorie a semiconduttore}
\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
+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
@@ -22,15 +24,15 @@ Le memorie digitali possono essere classificate in base a vari criteri quali
\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.
+\(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.
+(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}
@@ -38,9 +40,9 @@ modifica il significato dei simboli SI quando sono combinati con l'unit\`a Byte
\toprule
Valore & Nome IEC & Simbolo IEC & Nome JEDEC & Simbolo JEDEC \\
\midrule
-$2^{10} = 1024^1$ & KibiByte & KiB & KiloByte & KB \\
-$2^{20} = 1024^2$ & MebiByte & MiB & MegaByte & MB \\
-$2^{30} = 1024^3$ & GibiByte & GiB & GigaByte & GB \\
+\(2^{10} = 1024^1\) & KibiByte & KiB & KiloByte & KB \\
+\(2^{20} = 1024^2\) & MebiByte & MiB & MegaByte & MB \\
+\(2^{30} = 1024^3\) & GibiByte & GiB & GigaByte & GB \\
\bottomrule
\end{tabular}}
\caption{Riassunto delle unit\`a di misura}
@@ -48,21 +50,36 @@ $2^{30} = 1024^3$ & GibiByte & GiB & GigaByte & GB \\
\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 bit
-utilizzato in uscita, mentre $words~count$ indica il numero di parole presenti.
+\[ words~count \times word~size \]
+In cui \(word~size\) indica la dimensione della parola, ovvero il numero di bit
+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$ bit.
+indicata come memoria \(2048\times 8\) bit.
\`E anche possibile indicare la dimensione con il numero di bit
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$).
+si indica quindi con \(16384\) bits oppure 16 K (che con lo standard JEDEC
+corrisponde a \(16 \cdot 1024 = 16384\)).
+
+\subsection{Conversione Decimale \(\leftrightarrow{}\) Esadecimale}
+Per rappresentare graficamente le regioni di indirizzabili occupare da una
+memoria si utilizza spesso dei diagrammi che rappresentano l'\emph{address
+space}. Nell'address space per\`o normalmente si indica gli indirizzi in base
+16 azich\`e 10, perci\`o \`e necessario convertire le grandezze di una memoria
+indicate in base decimale in esadecimale.
+
+Consideriamo quindi un esempio di una memoria di 4 KiB all'indirizzo {\tt
+2000h} di un address space a 16 bit. Per determinare quanto spazio
+nell'address space viene occupato si deve trovare il numero di bits e poi
+convertirlo in esadecimale.
+\[
+4~{\rm KiB} = 4 \cdot 1024 \cdot 8 ~{\rm bit} = 16384 ~{\rm bit} = 4000 {\rm h}
+\]
\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.
+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.
@@ -73,10 +90,10 @@ conservate permanentemente nella configurazione del circuito, siccome esse sono
\caption{Funzionamento di una 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
+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
-metodi, creando quindi differenti tipi di ROM. La seguente tabella descrive
+metodi, creando quindi differenti tipi di ROM\@. La seguente tabella descrive
brevemente le caratteristiche di ognuna.
\begin{table}[H]
@@ -89,11 +106,13 @@ brevemente le caratteristiche di ognuna.
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
+EPROM o UVPROM & 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. \\
+FLASH & & Si controlla il gate di un tipo di transistor CMOS, che resta
+ bloccato nella posizione anche in assenza di alimentazione. \\
\bottomrule
\end{tabular}}
\end{table}
@@ -105,7 +124,7 @@ EEPROM o E\textsuperscript{2}PROM & Electronically Erasable PROM &
In una memoria ad accesso 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$.
+costante detto \emph{tempo di accesso} \(t_a\).
%% doc: 01c memorie principali.pdf
% TODO: check
@@ -136,6 +155,6 @@ mantenere le informazioni per un tempo indeterminato affinch\`e ci sia
l'alimentazione. Gli svantaggi delle SRAM rispetto alle DRAM sono il consumo
energetico (potenza dissipata) e la dimensione, 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.
+pi\`u veloci delle DRAM\@.
% \subsection{Indirizzamento sequenziale, 1D e 2D}
diff --git a/techwsw/tex/memorie.tex.bak b/techwsw/tex/memorie.tex.bak
new file mode 100644
index 0000000..b45243e
--- /dev/null
+++ b/techwsw/tex/memorie.tex.bak
@@ -0,0 +1,149 @@
+\section{Memorie a semiconduttore}
+
+\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 }
+\toprule
+Valore & Nome IEC & Simbolo IEC & Nome JEDEC & Simbolo JEDEC \\
+\midrule
+\(2^{10} = 1024^1\) & KibiByte & KiB & KiloByte & KB \\
+\(2^{20} = 1024^2\) & MebiByte & MiB & MegaByte & MB \\
+\(2^{30} = 1024^3\) & GibiByte & GiB & GigaByte & GB \\
+\bottomrule
+\end{tabular}}
+\caption{Riassunto 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 bit
+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\) bit.
+\`E anche possibile indicare la dimensione con il numero di bit
+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{Conversione Decimale \(\leftrightarrow{}\) Esadecimale}
+Per rappresentare graficamente le regioni di indirizzabili occupare da una
+memoria si utilizza spesso dei diagrammi che rappresentano l'\emph{address
+space}.
+% TODO
+
+\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}
+ \caption{Funzionamento di una 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
+metodi, creando quindi differenti tipi di ROM\@. La seguente tabella descrive
+brevemente le caratteristiche di ognuna.
+
+\begin{table}[H]
+\centering {
+\def\arraystretch{1.4}\tabcolsep=6pt
+\begin{tabular}{>{\ttfamily}p{.12\textwidth} p{.28\textwidth} p{.5\textwidth}}
+\toprule
+\rmfamily Acronimo & Nome & Caratteristica \\
+\midrule
+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 o UVPROM & 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. \\
+FLASH & & Si controlla il gate di un tipo di transistor CMOS, che resta
+ bloccato nella posizione anche in assenza di alimentazione. \\
+\bottomrule
+\end{tabular}}
+\end{table}
+
+% che diamine erano?
+% \subsection{Memorie non volatili ({\tt NVRWM})}
+
+\subsection{Random Access Memory ({\tt RAM})}
+In una memoria ad accesso 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
+% TODO: check
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=\textwidth]{res/memorie/ram}
+ \caption{Metodo per accedere al contenuto di una memoria ad acesso casuale}
+\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 condensatori, 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 indeterminato affinch\`e ci sia
+l'alimentazione. Gli svantaggi delle SRAM rispetto alle DRAM sono il consumo
+energetico (potenza dissipata) e la dimensione, 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}