summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--techwsw/build/essence_of_hwsw.pdfbin96442 -> 109127 bytes
-rw-r--r--techwsw/essence_of_hwsw.tex9
-rw-r--r--techwsw/makefile2
-rw-r--r--techwsw/res/cc-logo.pdfbin3691 -> 3693 bytes
-rw-r--r--techwsw/res/license_logo_cc-by-sa.pdfbin4301 -> 4303 bytes
-rw-r--r--techwsw/res/memorie/ram.pdfbin20425 -> 20431 bytes
-rw-r--r--techwsw/res/memorie/rom.pdfbin14913 -> 14910 bytes
-rw-r--r--techwsw/res/seriale/parallel_serial.pdfbin0 -> 992 bytes
-rw-r--r--techwsw/res/seriale/parallel_serial.svg68
-rw-r--r--techwsw/tex/convertitori.tex32
-rw-r--r--techwsw/tex/memorie.tex140
-rw-r--r--techwsw/tex/trasmissione_seriale.tex14
12 files changed, 189 insertions, 76 deletions
diff --git a/techwsw/build/essence_of_hwsw.pdf b/techwsw/build/essence_of_hwsw.pdf
index 127fd0d..c426ee9 100644
--- a/techwsw/build/essence_of_hwsw.pdf
+++ b/techwsw/build/essence_of_hwsw.pdf
Binary files differ
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
index 028264b..049c28b 100644
--- a/techwsw/res/cc-logo.pdf
+++ b/techwsw/res/cc-logo.pdf
Binary files differ
diff --git a/techwsw/res/license_logo_cc-by-sa.pdf b/techwsw/res/license_logo_cc-by-sa.pdf
index c23c1c0..46bd5fc 100644
--- a/techwsw/res/license_logo_cc-by-sa.pdf
+++ b/techwsw/res/license_logo_cc-by-sa.pdf
Binary files differ
diff --git a/techwsw/res/memorie/ram.pdf b/techwsw/res/memorie/ram.pdf
index 0700a01..abfb8c5 100644
--- a/techwsw/res/memorie/ram.pdf
+++ b/techwsw/res/memorie/ram.pdf
Binary files differ
diff --git a/techwsw/res/memorie/rom.pdf b/techwsw/res/memorie/rom.pdf
index d83593c..50eb313 100644
--- a/techwsw/res/memorie/rom.pdf
+++ b/techwsw/res/memorie/rom.pdf
Binary files differ
diff --git a/techwsw/res/seriale/parallel_serial.pdf b/techwsw/res/seriale/parallel_serial.pdf
new file mode 100644
index 0000000..da4dddf
--- /dev/null
+++ b/techwsw/res/seriale/parallel_serial.pdf
Binary files differ
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