Architettura dei calcolatori: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nikbot (discussione | contributi)
m Robot: Automated text replacement (-poichè +poiché)
Riga 2:
 
 
==*[[Architettura dei calcolatori/Linee di trasmissione|Linee di trasmissione==]]
*[[Architettura dei calcolatori/Struttura di un bus|Struttura di un bus]]
 
*[[Architettura dei calcolatori/Alcuni bus commerciali|Alcuni bus commerciali]]
\section{Schematizzazione}
*[[Architettura dei calcolatori/Periferiche|Periferiche]]
Una linea di trasmissione può essere schematizzata con una linea di lunghezza $l$ che in ogni intervallo $dx$ è caratterizzata da:
*[[Architettura dei calcolatori/Architettura dei processori|Architettura dei processori]]
\begin{itemize}
*[[Architettura dei calcolatori/Sistemi multiprocessore|Sistemi multiprocessore]]
\item una tensione di ingresso $v(t,x)$ e di uscita $v(t,x+dx)$;
\item una corrente di ingresso $i(t,x)$ e di uscita $i(t,x+dx)$;
\item una resistenza $R$ ed una induttanza $L$ per unità di lunghezza;
\item una capacità $C$ ed una conduttanza $G$ per unità d lunghezza.
\end{itemize}
al variare del tempo $t$ e della posizione $x \in [0,l]$.
 
Queste grandezze sono legate tra loro dalle relazioni
\begin{equation}
\left\{ \begin{array}{l}
\frac{dv}{dx} = -Ri -L \frac{di}{dt} \\
\frac{di}{dx} = -Gv -C \frac{dv}{dt} \\
\end{array} \right.
\end{equation}
che in regime stazionario sinusoidale hanno soluzione
\begin{equation}
\left\{ \begin{array}{l}
v(t,x) = V_A e^{j(\omega t - kx)} + V_B e^{j(\omega t + kx)} \\
i(t,x) = \frac{V_A e^{j(\omega t - kx)} - V_B e^{j(\omega t - kx)} }{Z_0}\\
\end{array} \right.
\end{equation}
dove si definisce
\begin{itemize}
\item $Z = R + j\omega L$ e $Y = G + j\omega C$
\item $k^2 = -ZY$
\item $Z_0 = \sqrt{\frac{Z}{Y}} = \sqrt{\frac{R + j\omega L}{Y = G + j\omega C}}$, è detta \emph{impedenza caratteristica} e dipende dalla frequenza considerata e dalla natura fisica e dalla struttura della linea
\end{itemize}
 
\subsection{Linee non dispersive}
Se si suppone che $R$ e $G$ siano molto piccoli ($R,G << L,C$ \emph{linea non dispersiva}) si ha che
\begin{eqnarray}
Z_0 = \sqrt{\frac{L}{C}} \\
K = \omega \sqrt{LC}
\end{eqnarray}
e quindi $Z_0$ non dipende dalla frequenza.
 
\subsection{Velocità di fase}
Valutando la relazione tra i punti che si trovano alla stessa fase, ovvero quelli per cui $\omega t - kx = \omega(t+dt) - k(x+dx)$ si trova che
\begin{equation}
v_f = \frac{dx}{dt} = \frac{\omega}{k}
\end{equation}
dove $v_f$ è detta velocità di fase ed in generale è minore dalla velocità della luce;
si ha $v_f = \frac{c}{\epsilon_r}$.
 
Se la linea è non dispersiva la velocità di fase non dipende dalla frequenza,
\begin{equation}
v_f = \frac{1}{\sqrt{LC}}
\end{equation}
e quindi un segnale sviluppabile in serie di Fourier non viene distorto.
 
\subsection{Grandezze fisiche}
Nelle equazioni che governano le linee di trasmissione compaiono le costanti fisiche:
\begin{itemize}
\item $\mu_0 = 4\pi \phantom{1} 10^{-7}$ H/m, permeabilità magnetica del vuoto;
\item $\epsilon_0 = \frac{1}{36\pi} \phantom{1} 10^{-4}$ F/m, costante dielettrica del vuoto;
\item $c = \frac{1}{\sqrt{\mu_0 \epsilon_0}} = 3 \phantom{1} 10^8$ m/s, velocità della luce nel vuoto
\end{itemize}
 
\section{Tipiche linee di trasmissione}
Ogni tipo di linee di trasmissione, supposte non dispersive, è caratterizzato da una propria capacità ed induttanza, oltre che da un impedenza caratteristica che può essere espressa in funzione dell`\emph{impedenza di normalizzazione}
$Z_n = \frac{1}{2\pi} \sqrt{\frac{\mu_0}{\epsilon_0}}$
che è circa $60 \Omega$.
 
\subsection{Cavo coassiale}
è composto da un cilindro conduttore di diametro $d$ circondato da un guscio cilindrico conduttore di diametro $D$ e spessore piccolo, separati da un isolante
\begin{equation}
C = \frac{2\pi\epsilon}{\ln \frac{D}{d}} \phantom{100}
L = \frac{\mu}{2\pi} \ln\frac{D}{d} \phantom{100}
Z_0 = Z_n \sqrt{\frac{\mu_r}{\epsilon_r}} \ln\frac{D}{d}
\end{equation}
considerando $D=8$ mm, $d=1$ mm, $\epsilon_r = 3$, $\mu_r=1$ si ottiene circa $70 \Omega$, per i cavi ethernet coassiali circa $50 \Omega$.
 
\subsection{Doppino telefonico}
è composto da due conduttori cilindrici di diametro $d$ ad una distanza $s$ separati da un isolante
\begin{equation}
C = \frac{\pi\epsilon}{\ln \frac{2s}{d}} \phantom{100}
L = \frac{\mu}{\pi} \ln\frac{2s}{d}
\end{equation}
si ha un impedenza caratteristica di circa $100 \Omega$
 
\subsection{Microstrip}
Si tratta di piste di conduttore in un circuito elettronico spesse $h$
\begin{equation}
C = \frac{2\pi\epsilon}{\ln \frac{4h}{0.555 \omega + 0.669 t}} \phantom{100}
L = \frac{\mu}{2\pi} \ln\frac{4h}{0.555 \omega + 0.669 t}
\end{equation}
 
\section{Comportamento in regime sinusoidale}
Consideriamo una linea non dispersiva di lunghezza $l$ ed impedenza $Z_0$ con
alla porta di ingresso un generatore sinusoidale di tensione $V_G$ ed impedenza interna $Z_G$
che genera una corrente $I_G$ ed una tensione $V_O$ in ingresso alla linea,
alla porta di uscita un carico di impedenza $Z_L$ attraversato da una corrente $I_L$ che genera una caduta di potenziale $V_L$.
 
Per risolvere questo circuito in regime sinusoidale (con i fasori delle grandezza) si scrivono le due equazioni alle maglie di ingresso e di uscita
\begin{equation}
\left\{ \begin{array}{l}
V_G = V_O + Z_{G}I_{G} \\
V_V = Z_{L}I_{L} \\
\end{array} \right.
=
\left\{ \begin{array}{l}
V_G = V_A + V_B + Z_G\frac{V_A - V_B}{Z_0} \\
V_L = Z_{L}\frac{V_A e^{-jkl} - V_B e^{jkl}}{Z_0} \\
\end{array} \right.
\end{equation}
ottenendo
\begin{eqnarray}
V_A = \frac{Z_0}{Z_G + Z_0} \frac{V_G}{1 - \Gamma_G \Gamma_L e^{-j2kl}} \\
V_B = V_A \Gamma_L e^{-j2kl}
\end{eqnarray}
dove
\begin{equation}
\Gamma_L = \frac{Z_L - Z_0}{Z_L + Z_0}
\end{equation}
è il coefficente di riflessione sul carico e
\begin{equation}
\Gamma_G = \frac{Z_G - Z_0}{Z_G + Z_0}
\end{equation}
è il coefficente di riflessione al generatore
 
$V_A$ è l'onda diretta e $V_B$ l'onda riflessa dal carico.
$\tau$ è il tempo necessario all'onda per percorrere la linea da un capo all'altro.
\begin{equation}
\tau = \frac{l}{v_f}
\end{equation}
 
\subsection{Casi particolari}
\subsubsection{Terminazione adattata}
Se $Z_L = Z_0$ si dice che la linea ha una \emph{terminazione adattata}, in questo caso:
\begin{itemize}
\item $\Gamma_L = 0$ e quindi non si ha riflessione sul carico;
\item $V_B = 0$ e $V_A = \frac{Z_0}{Z_G + Z_0} V_G$;
\item il tempo per raggiungere la condizione di regime è $\tau$.
\end{itemize}
 
\subsubsection{Generatore adattato}
Se $Z_G = Z_0$ si dice che la linea ha un \emph{generatore adattato}, in questo caso:
\begin{itemize}
\item $\Gamma_G = 0$ e quindi non si ha riflessione sul generatore;
\item $V_A = \frac{V_G}{2}$;
\item il tempo per raggiungere la condizione di regime è $2\tau$.
\end{itemize}
 
\subsubsection{Terminazione in corto circuito}
Se $Z_L = 0$:
\begin{itemize}
\item $\Gamma_L = -1$;
\item $V_B = -V_A$;
\item $I = \frac{2V_A}{Z_0}$, la corrente è molto elevata e può danneggiare il generatore.
\end{itemize}
 
\subsubsection{Terminazione aperta}
Se $Z_L \rightarrow \infty$:
\begin{itemize}
\item $\Gamma_L = 1$;
\item $V_B = V_A$;
\item $V_L = 2 V_A$, la tensione sul carico è molto alta e può danneggiare il carico stesso.
\end{itemize}
 
 
\section{Comportamento transitorio}
Consideriamo l'andamento delle tensioni su una linea non dispersiva pilotata con un gradino $u(t)$ di ampiezza $V_G$.
 
La tensione a regime sul carico è
\begin{equation}
V_L(+\infty) = \frac{R_L}{R_L + R_G}
\end{equation}
in quanto gli effetti della linea a regime scompaiono, si considera un corto circuito.
 
La tensione in ingresso alla linea all'istante iniziale è
\begin{equation}
V_0(0^+) = \frac{R_0}{R_0 + R_G}
\end{equation}
in quanto la linea non ha ancora cominciato a condurre e quindi si considera solo la maglia di ingresso.
 
La tensione in funzione del tempo e della posizione è
\begin{equation}
V(t,x) = V_A\left( t - \frac{x}{v_f} \right)
+ \Gamma_L V_A \left( t - 2\tau \frac{x}{v_f} \right)
\end{equation}
e l'ampiezza delle onde diretta e riflessa è
\begin{equation}
\left\{ \begin{array}{l}
V_A(t) = \frac{R_0}{R_0 + R_G} V_G
\sum_{n=0}^{\left| \frac{t}{2\tau} \right|}
\Gamma_L^n \Gamma_G^n u(t -2n\tau)\\
V_B(t) = \Gamma_L V_A(t-\tau) \\
\end{array} \right.
\end{equation}
Poich\'e $\Gamma_L, \Gamma_G \leq 1$ le componenti riflesse tendono a ridursi col tempo e la sommatoria converge al valore di regime
 
\subsection{Casi particolari}
Un pilota di una linea di trasmissione può essere:
\begin{itemize}
\item \emph{robusto}, in grado di erogare una forte corrente,
$R_G < R_0$ e $\Gamma_G \approx -1$;
\item \emph{adattato}, calibrato sulla resistenza della linea,
$R_G = R_0$ e $\Gamma_G \approx 0$;
\item \emph{debole}, ad elevata resistenza interna,
$R_G > R_0$ e $\Gamma_G \approx 1$.
\end{itemize}
 
Mentre un carico di una linea può essere:
\begin{itemize}
\item una \emph{terminazione leggero}, che assorbe una bassa corrente, $R_L > R_O$ e $\Gamma_L \approx 1$;
\item con la \emph{linea adattata}, calibrata sul carico, $R_L = R_0$ e $\Gamma_L \approx 0$;
\item una \emph{terminazione pesante}, che assorbe una corrente elevata, $R_L < R_0$ e $\Gamma_L \approx -1$.
\end{itemize}
 
Si possono valutare le tensioni sul generatore e sul carico agli istanti immediatamente successivi a $i\tau$, quando si avverte anche la componente riflessa in quell'istante;
sul carico la tensione varierà agli istanti per $i$ dispari e su generatore per $i$ pari.
 
In generale è sempre valido che la tensione iniziale sul generatore è
\begin{equation}
V(0^+) = V_G \frac{R_0}{R_0 + R_G}
\end{equation}
e la tensione finale su tutta la linea è
\begin{equation}
V(+\infty) = V_G \frac{R_L}{R_L + R_G}
\end{equation}
 
\subsubsection{Terminazione leggera e pilota robusto}
\begin{equation}
\left\{ \begin{array}{l}
V_{generatore} (i \in \mbox{pari}) \approx
V_G-\epsilon, V_G+\epsilon, \cdots \\
V_{carico} (i \in \mbox{dispari}) \approx
2V_G, V_G-\epsilon, V_G+\epsilon, \cdots \\
\end{array} \right.
\end{equation}
Arriva subito un elevata tensione sul carico, in special modo al termine della linea, ma dopo $2\tau$ questa si abbassa bruscamente vicino al valore di regime e questo può confondere i ricevitori che necessitano di un isteresi per non considerare questa caduta di potenziale;
inoltre poich\'e il segno dei due coefficenti di riflessione è opposto non si ha una salita uniforme del segnale.
 
La tensione presso il generatore è invece stabile e pari al valore di regime $V(0^+) = V_G = V(+\infty)$
 
\subsubsection{Terminazione leggera e pilota adattato}
\begin{equation}
\left\{ \begin{array}{l}
V_{generatore} (i \in \mbox{pari}) \approx
\frac{V_G}{2}, V_G, V_G, \cdots \\
V_{carico} (i \in \mbox{dispari}) \approx
V_G, V_G, \cdots \\
\end{array} \right.
\end{equation}
Non si ha riflessione sul generatore e quindi il segnale diventa stabile dopo aver raggiunto il carico per la prima volta ed essere tornato al generatore,
la tensione iniziale è bassa, $V_(0^+) = \frac{V_G}{2}$, ma dopo $2\tau$ diventa elevata, $V(+\infty) = V_G$, e stabile.
 
\subsubsection{Terminazione leggera e pilota debole}
La linea non raggiunge mai una tensione elevata, $V(+\infty) = \frac{V_G}{2}$, la tensione sul generatore sale lentamente e costantemente seguita da quella sul carico fino ad assestarsi sul valore di regime;
i ricevitori devono essere in grado di discriminare un valore di tensione basso e il bus è lento, bisogna aspettare vari $\tau$ prima che la tensione raggiunga livelli accettabili.
Non serve la terminazione della linea, il bus anzi diventa pi\`u veloce se il terminale è aperto perch\'e i transitori diventano pi\`u ripidi.
Il comportamento della tensione sulla linea è comunque molto uniforme.
 
\subsubsection{Terminazione adattata e pilota robusto}
Questo è il caso migliore di funzionamento di un bus,
il carico non riflette il segnale e questo diventa stabile dopo un tempo $\tau$ al valore di regime $V_(+\infty) = V_G$,
inoltre in corrispondenza del generatore il segnale è subito stabile e a regime e quindi la frequenza $\frac{1}{\tau}$ è la massima raggiungibile dal bus nelle condizioni ideali.
 
\subsubsection{Terminazione adattata e pilota adattato}
La tensione si comporta come nel caso di pilota robusto e terminazione adattata ma il valore di regime è dimezzato, $V_(+\infty) = \frac{V_G}{2}$, e questo causa problemi di riconoscimento del livello logico.
 
\subsubsection{Terminazione adattata e pilota debole}
La tensione si comporta come nel caso di pilota robusto e terminazione adattata, ma il valore di regime è ancora minore del caso precedente, $V_(+\infty) < \frac{V_G}{2}$.
 
\subsubsection{Terminazione pesante e pilota robusto}
La tensione sul generatore è inizialmente alta, $V(0^+) = V_G$, poi scende ogni $2\tau$ fino al valore di regime $V_(+\infty) = \frac{V_G}{2}$ se $R_L \approx R_G$, la tensione sul carico invece è inizialmente nulla e sale fino al valore di regime.
I ricevitori al termine della linea devono attendere molto, per rimediare alla situazione conviene che i carichi siano piccoli, altrimenti il valore di regime si abbassa.
 
\subsubsection{Terminazione pesante e pilota adattato}
In questo caso il valore di regime è molto basso, ma in ingresso si ha per un tempo di $2\tau$ una tensione pari a $\frac{V_G}{2}$ e questo può essere usato per valutare la lunghezza di una linea accedendo solo ai capi,
basta misurare il tempo $\tau$ e dalla conoscenza della velocità di fase (nota in quando dipende dal tipo di cavo) si ricava la lunghezza.
 
\subsubsection{Terminazione pesante e pilota debole}
Questo caso è di scarso interesse perch\'e la tensione finale è molto bassa
 
 
 
\section{Piloti}
Per pilotare una linea tra i livelli alto e basso possono essere usati vari circuiti:
\subsection{Transistor open-collector}
Un transistore con il collettore collegato alla linea e l'emettitore a massa ed una resistenza di pull-up collegata alla linea e all'alimentazione; se la base si trova a livello alto, la linea viene portata a livello basso, altrimenti si trova in alta impedenza.
 
Il comportamento di questa porta è asimmetrico nelle transizioni: il passaggio a livello basso è rapido perch\'e guidato dall'elemento attivo, il ritorno a livello alto è pi\`u lento perch\'e deve avvenire attraverso una resistenza.
 
Più porte di questo tipo possono essere connesse alla stessa linea, vengono usate per le linee di segnale.
 
 
\subsection{Transistor tristate}
Si tratta di due transistor connessi per il collettore di uno e l'emettitore dell'altro, con gli ingressi nelle basi a formare un totem-pole, sono in grado di erogare una forte corrente durante le transizioni in entrambi i versi, se entrambi sono interdetti l'uscita è in alta impedenza.
 
Porte di questo tipo connesse per le uscite devono agire in mutua esclusione, vengono usate per le linee di livello.
 
 
\section{Terminazioni}
Per mantenere in un bus la condizione di linea adattata al carico è necessario che i terminali della linea non siano lasciati aperti, ma abbiano un'appropriata resistenza $R_T$ tale da garantire quanto pi\`u possibile che $R_0 = R_T$.
Sono possibili varie tipi di terminazione.
 
\subsection{Terminazione passiva}
Si tratta di resistori di valore pari a $R_0$ collegati ai termini di ciascuna linea e alla massa; per consentire il mantenimento di un 1 logico sulle linee si inserisce anche una resistenza di pull-up $R_{pu}$ collegata alla tensione positiva.
 
Una terminazione di questo tipo è semplice da realizzare ma comporta un consumo di energia in condizioni statiche.
 
\subsection{Terminazione passiva con generatore di tensione}
Si inserisce un resistore pari a $R_0$ ai termini di ciascuna linea collegati ad un generatore di tensione positiva;
in questo modo il generatore mantiene il livello logico alto sulle linee.
 
La corrente assorbita in condizioni statiche ha un valore basso poich\'e i due generatori ai capi delle linee non possono avere un uguale valore della tensione, ma questa differirà di poco; comunque passa corrente sulle linee ed inoltre la resistenza interna dei generatori causa un accoppiamento resistivo tra le linee del bus.
 
\subsection{Terminazione attiva}
Una terminazione ideale dovrebbe avere resistenza pari a $R_0$ alle alte frequenze (quelle che trasmettono il segnale) e resistenza infinita a frequenza nulla (per evitare passaggio di corrente e quindi consumo di energia).
Questo può essere ottenuto con un carico attivo composto da un operazionale retroazionato, due resistori ed un condensatore connessi come in figura.
 
\section{Disturbi nelle linee di trasmissione}
 
\subsection{Effetto dei carichi}
Un carico si schematizza con un impedenza capacitiva $C_L$ sulla linea;
normalmente in uno slot di espansione del bus i carichi sono disposti a distanze regolari e molto minori della lunghezza d'onda delle componenti a frequenza massima che circolano nel bus,
possiamo quindi pensare l'impedenza dei carichi come se fosse distribuita uniformemente sulla linea.
 
Gli effetti dei carichi sulla linea sono:
\begin{itemize}
\item disadattamento della linea, perch\'e si varia l'impedenza caratteristica $Z_0 = \sqrt{\frac{L}{C}}$;
\item diminuzione della velocità del bus, perch\'e aumenta la capacità della linea e la velocità di fase diminuisce, $v_f = \frac{1}{\sqrt{LC}}$;
\item distorsione del segnale perch\'e i coefficenti di riflessione diventano differenti per le diverse frequenze.
\end{itemize}
 
\subsection{Glitch da or cablato}
Nel caso di una linea di segnale pilotata da pi\`u porte open-collector, quando pi\`u di una porta è attiva, e quindi la linea è al livello basso,
nel momento in cui una delle porte si interdice si ha una corrente riflessa che causa un momentaneo innalzamento della tensione della linea che è tanto pi\`u elevato quanto pi\`u brusca è stata la transizione.
 
 
\subsection{Accoppiamenti}
Si possono avere \emph{accoppiamenti resistivi} quando pi\`u linee condividono un percorso comune per la corrente, ad esempio le linee di massa; si hanno anche \emph{accoppiamenti capacitivi ed induttivi} dovuti alla geometria delle linee.
 
\subsection{Criteri di progetto}
 
\begin{itemize}
\item Per evitare il glitch si devono usare fronti poco ripidi in ingresso alle porte open-collector e si possono sincronizzare i vari moduli in modo che la transizione di uno non sia corrispondente all'istante di registrazione del valore di ingresso;
\item Si riducono gli accoppiamenti resistivi evitando di usare conduttori comuni a pi\`u linee o aumentando la loro sezione;
\item Gli accoppiamenti capacitivi ed induttivi si riducono schermando le linee, inserendo linee di massa tra le linee di segnale e pilotando il bus con segnali con banda non elevata;
\item Per ridurre le riflessioni si deve cercare di terminare il bus con una resistenza molto vicino a quella caratteristica in condizioni operative;
\item L'uso di ricevitori con isteresi evita che questi siano confusi da transizioni spurie della linea;
\item Le temporizzazioni dei segnali devono essere calcolate valutando i tempi di propagazione del segnale sulla linea.
\end{itemize}
 
 
 
 
 
==Struttura di un bus==