diff options
-rw-r--r-- | techwsw/build/essence_of_hwsw.pdf | bin | 96442 -> 109127 bytes | |||
-rw-r--r-- | techwsw/essence_of_hwsw.tex | 9 | ||||
-rw-r--r-- | techwsw/makefile | 2 | ||||
-rw-r--r-- | techwsw/res/cc-logo.pdf | bin | 3691 -> 3693 bytes | |||
-rw-r--r-- | techwsw/res/license_logo_cc-by-sa.pdf | bin | 4301 -> 4303 bytes | |||
-rw-r--r-- | techwsw/res/memorie/ram.pdf | bin | 20425 -> 20431 bytes | |||
-rw-r--r-- | techwsw/res/memorie/rom.pdf | bin | 14913 -> 14910 bytes | |||
-rw-r--r-- | techwsw/res/seriale/parallel_serial.pdf | bin | 0 -> 992 bytes | |||
-rw-r--r-- | techwsw/res/seriale/parallel_serial.svg | 68 | ||||
-rw-r--r-- | techwsw/tex/convertitori.tex | 32 | ||||
-rw-r--r-- | techwsw/tex/memorie.tex | 140 | ||||
-rw-r--r-- | techwsw/tex/trasmissione_seriale.tex | 14 |
12 files changed, 189 insertions, 76 deletions
diff --git a/techwsw/build/essence_of_hwsw.pdf b/techwsw/build/essence_of_hwsw.pdf Binary files differindex 127fd0d..c426ee9 100644 --- a/techwsw/build/essence_of_hwsw.pdf +++ b/techwsw/build/essence_of_hwsw.pdf diff --git a/techwsw/essence_of_hwsw.tex b/techwsw/essence_of_hwsw.tex index 501ebe2..1b929ec 100644 --- a/techwsw/essence_of_hwsw.tex +++ b/techwsw/essence_of_hwsw.tex @@ -2,17 +2,18 @@ % math
\usepackage{amsmath}
-
% figures
\usepackage{float}
\usepackage{graphicx}
-
+% foonotes
+\usepackage[bottom]{footmisc}
% tables
\usepackage{array}
-
% language
\usepackage[italian]{babel}
-
+% encoding / fonts
+\usepackage[T1]{fontenc}
+% urls
\usepackage{url}
\title{Hardware e Software}
diff --git a/techwsw/makefile b/techwsw/makefile index 240e907..eafadcf 100644 --- a/techwsw/makefile +++ b/techwsw/makefile @@ -3,7 +3,7 @@ BUILD_DIR := build DOCUMENT := essence_of_hwsw.tex # tex settings -TEX := xelatex \ +TEX := texfot xelatex \ -interaction=nonstopmode \ -halt-on-error \ -output-directory=$(BUILD_DIR) diff --git a/techwsw/res/cc-logo.pdf b/techwsw/res/cc-logo.pdf Binary files differindex 028264b..049c28b 100644 --- a/techwsw/res/cc-logo.pdf +++ b/techwsw/res/cc-logo.pdf diff --git a/techwsw/res/license_logo_cc-by-sa.pdf b/techwsw/res/license_logo_cc-by-sa.pdf Binary files differindex c23c1c0..46bd5fc 100644 --- a/techwsw/res/license_logo_cc-by-sa.pdf +++ b/techwsw/res/license_logo_cc-by-sa.pdf diff --git a/techwsw/res/memorie/ram.pdf b/techwsw/res/memorie/ram.pdf Binary files differindex 0700a01..abfb8c5 100644 --- a/techwsw/res/memorie/ram.pdf +++ b/techwsw/res/memorie/ram.pdf diff --git a/techwsw/res/memorie/rom.pdf b/techwsw/res/memorie/rom.pdf Binary files differindex d83593c..50eb313 100644 --- a/techwsw/res/memorie/rom.pdf +++ b/techwsw/res/memorie/rom.pdf diff --git a/techwsw/res/seriale/parallel_serial.pdf b/techwsw/res/seriale/parallel_serial.pdf Binary files differnew file mode 100644 index 0000000..da4dddf --- /dev/null +++ b/techwsw/res/seriale/parallel_serial.pdf diff --git a/techwsw/res/seriale/parallel_serial.svg b/techwsw/res/seriale/parallel_serial.svg new file mode 100644 index 0000000..4b8f402 --- /dev/null +++ b/techwsw/res/seriale/parallel_serial.svg @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="210mm" + height="297mm" + viewBox="0 0 210 297" + version="1.1" + id="svg8" + inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" + sodipodi:docname="parallel_serial.svg"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.98994949" + inkscape:cx="-181.41644" + inkscape:cy="649.29067" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="true" + showborder="false" + inkscape:window-width="1266" + inkscape:window-height="762" + inkscape:window-x="5" + inkscape:window-y="29" + inkscape:window-maximized="0"> + <inkscape:grid + type="xygrid" + id="grid3699" /> + </sodipodi:namedview> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <rect + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect3701" + width="42.333332" + height="127" + x="-63.5" + y="64.166664" /> + </g> +</svg> diff --git a/techwsw/tex/convertitori.tex b/techwsw/tex/convertitori.tex index e600f0e..742d1f9 100644 --- a/techwsw/tex/convertitori.tex +++ b/techwsw/tex/convertitori.tex @@ -1,6 +1,38 @@ \section{Convertitori {\tt AD - DA}} \subsection{Quantizzazione dei dati} +Il processo di digitalizzazione dei segnali analogici introduce il concetto di +\emph{quantizzazione}. Infatti mentre un segnale analogico pu\`o assumere +infiniti valori in un campo continuo la sua rappresentazione digitale pu\`o +assumere soltanto un numero finito di valori \emph{discreti}. +Gli infiniti valori del segnale analogico devono pertanto essere quantizzati +ovvero raggruppati in un certo numero di fasce delimitate da livelli fissi +detti \emph{livelli di quantizzazione}; a ciascuna fascia di valori analogici +corrisponder\`a un valore digitale. La distanza fra due livelli di +quantizzazione continui costituisce il \emph{passo di quantizzazione} $Q$\footnote{Definito spesso anche come $LSB$}, a +cui corrisponde il valore del bit meno significativo. +$$ Q = \frac{V_{ref}}{2^n} \qquad FS = Q\cdot 2^n = V_{ref}$$ +Un dato digitale ad $n$ bit pu\`o esprimere $2^n$ valori; il valore digitale +$2^n$ viene pertanto associato al valore di fondo scala $FS$ o $FSR$ (Full +scale range) della grandezza analogica. + +\paragraph{Risoluzione.} In un ADC i valori digitali in uscita non riproducono +dunque fedelmente il segnale di ingresso ma ne danno una rappresentazione +approssimata tanto pi\`u precisa quanto minore \`e il passo di quantizzazione +$Q$. Il numero di bit $n$ in uscita di un convertitore AD, cos\`i come il +numero dei bit di ingresso di un convertitore DA viene generalmente chiamato +\emph{risoluzione}\footnote{In alcuni casi viene indicato come il valore del +passo di quantizzazione indipendente da $V_{ref}$, dunque $R = 2^{-n}$}. +$$ R = \log_2{\frac{V_{ref}}{Q}} = n$$ + +\paragraph{Errore di quantizzazione.} Avendo quantizzato il segnale analogico, +ogni valore non campionato sar\`a sostituito dall'ultimo valore misurato +(effetto `scaletta'). Perci\`o nel punto il cui l'errore del segnale digitale +sar\`a massimo rispetto a quello analogico, l'errore sar\`a di esattamente: +$$\varepsilon = \frac{1}{2}Q \qquad \varepsilon_\% = \frac{1}{2^{n+1}}$$ + +% TODO: diagramma segnale analogico lineare -> digitalizzato + \subsection{Sampling and Hold (Circuiti SH)} \subsection{Convertitori digitale $\rightarrow$ analogico ({\tt DA})} diff --git a/techwsw/tex/memorie.tex b/techwsw/tex/memorie.tex index 9723e07..8689e1b 100644 --- a/techwsw/tex/memorie.tex +++ b/techwsw/tex/memorie.tex @@ -1,35 +1,36 @@ \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.
+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)
+ \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.
+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}
@@ -52,43 +53,45 @@ 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{Memorie a sola lettura}
-\subsubsection{Read Only Memory ({\tt ROM})}
-
+\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 nomele informazioni vengono conservate
-permanentemente nella configurazione del circuito, siccome esso sono costituite
-da un decodificatore ed un codificatore.
+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}
+\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.
+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} }
+\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. \\
+ 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. \\
+ 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}
@@ -96,38 +99,39 @@ EEPROM o E\textsuperscript{2}PROM & Electronically Erasable PROM & Programmabile % che diamine erano?
% \subsection{Memorie non volatili ({\tt NVRWM})}
-\subsection{Memorie a scrittura e lettura}
-\subsubsection{Random Access Memory ({\tt RAM})}
-
+\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}
+\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.
\ No newline at end of file +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}
diff --git a/techwsw/tex/trasmissione_seriale.tex b/techwsw/tex/trasmissione_seriale.tex index 9d1c92c..b63431c 100644 --- a/techwsw/tex/trasmissione_seriale.tex +++ b/techwsw/tex/trasmissione_seriale.tex @@ -1,11 +1,19 @@ \section{Trasmissione di dati seriale} +\subsection{Trasmissione seriale} +Il sistema pi\`u semplice per la trasmissione di dati \`e un bus +\emph{parallelo}. Con collegamento parallelo si designa la trasmissione +simultanea di $n$ bit. Questi bit sono inviati simultaneamente su $n$ vie +differenti (una via può essere ad esempio un filo, un cavo o qualsiasi altro +supporto fisico). -\subsection{Tipi di Bus seriali} +In contrapposizione in una trasmissione \emph{seriale} i dati sono inviati bit +per bit sulla via di trasmissione. Tuttavia, dato che la maggior parte dei +dispositivi processa le informazioni in modo parallelo, si tratta di +serializzare i dati che arrivano in modo parallelo a livello dell'emittente, e +di eseguire il processo inverso a livello del ricevente. \subsection{USART e RS232 / RS485} \subsection{Inter-Integrated Circuit (I\textsuperscript{2}C)} \subsection{Serial Peripheral Interface Bus (SPI)} \subsection{Universal Serial Bus (USB)} - -\subsection{Trasmissione parallela (non seriale)}
\ No newline at end of file |