From 339e0c3c6e6a413c308b4e0a6dd0df1ea4014065 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 1 Jan 2018 18:42:12 +0100 Subject: Add hwsw, changed $ to \( LaTeX notation --- techwsw/tex/memorie.tex | 69 +++++++++++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 25 deletions(-) (limited to 'techwsw/tex/memorie.tex') 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} -- cgit v1.2.1