Architettura dei calcolatori/Periferiche: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Diablo (discussione | contributi)
m Annullate le modifiche di 151.15.254.10, riportata alla revisione precedente di Pietrodn
FrescoBot (discussione | contributi)
m Bot: apostrofo dopo l'articolo indeterminativo
Riga 26:
\begin{itemize}
\item il tempo di esecuzione di una sezione di programma non è facilmente calcolabile (ogni istruzione richiede un tempo diverso, hanno differente lunghezza e numero di operandi) e non è costante (ad esempio a causa della cache che rende imprevedibile il tempo di accesso alla memoria);
\item l'esecuzione di un programma può essere interrotta dall'arrivo di un 'interruzione che richiede per essere gestita un tempo imprevedibile a priori;
\item un sistema multitasking non può essere unicamente dedicato alla gestione di una periferica.
\end{itemize}
Riga 40:
Il segnale proveniente dal timer è usato per generare una richiesta di interruzione al processore, che risponde mandando in esecuzione la routine di interrupt che esegue i trasferimenti richiesti e termina.
 
Il ritardo con cui la routine dal momento in cui è generata l'interruzione va in esecuzione non è determinabile con precizione (ci possono essre interruzioni a priorità maggiore, la routine attualmente in esecuzione può non essere interrompibile, \ldots), ma dipende dallo stato del processore nel momento in cui arriva la richiesta; questo causa un \emph{jitter} (ritardo variabile tra un 'esecuzione e l'altra).
 
Per compensare il jitter si inserisce un registro aggiuntivo all'uscita della periferica che prende il valore di uscita nel momento in cui arriva l'interruzione successiva (l'uscita del timer, oltre a generare l'interruzione, è collegata all'ingresso strobe del registro; è possibile anche inserire un invertitore nel collegamento per evitare il jitter anche nel primo semiperiodo oltre che nel secondo).