Calcolatori elettronici II 12/02/2015
Es 1
Un sistema è dotato di 2 periferiche parallele P1 e P2 operanti secondo il meccanismo delle interruzioni.
Il sistema è programmato per ricevere N vettori di 5 interi ciascuno, espressi su 1 byte, secondo la
seguente modalità: ogni 5 interi xi1…xi5 ricevuti sulla periferica P1, viene ricevuto un intero yi sulla
periferica P2. Una volta ricevuto l’intero yi su P2, il sistema effettua una verifica sul vettore ricevuto da
P1 tramite una funzione di libreria VERIFICA, che prende in ingresso l’indirizzo del vettore, la sua
dimensione e il valore yi e restituisce un valore binario. Nel caso in cui il valore restituito sia pari a 1, il
vettore di 5 interi [xi1, xi2, xi3, xi4, xi5] viene trasferito in un’apposita area di memoria utilizzando un
DMA (Nota: i vettori di 5 interi acquisiti nel tempo devono essere memorizzati in aree contigue). In caso
contrario, l’errore va gestito con un meccanismo a scelta dello studente (disabilitazione delle
interruzioni, invio di un messaggio alla PIA P1 ecc.).
Si noti che la periferica P2 potrebbe ricevere l’intero yi prima che la periferica P1 abbia correttamente
ricevuto tutti i valori xi1…xi5: lo studente gestisca questa condizione di errore con un meccanismo a sua
scelta. Una volta ricevuti gli N vettori in maniera corretta, le interruzioni sulle periferiche vengono
disabilitate dal programma principale, che quindi deve essere in grado di rilevare la fine della
trasmissione.
Si rappresenti il flusso operativo tramite un diagramma di flusso per ciascun componente software. Si
scrivano i driver che realizzano l’architettura sopra illustrata e si evidenzino:
 Le assunzioni fatte dallo studente
 l’architettura complessiva del sistema;
 il collegamento tra i dispostivi;
 i protocolli;
 il software e la memoria con riferimento a dati e programmi in essa allocati
Es 2
Descrivere l’architettura interna di una cache set-associativa dotata di 16 set, grado di associatività 8 e
blocchi di 2k byte. Illustrare con un esempio il procedimento di lettura di un dato dalla cache e la sua
evoluzione in caso di cache miss.
Es3
Comparare la gestione dei conflitti di canale in un sistema a n stadi e in uno ad un solo stadio.
Es4
Con riferimento a un datapath scelto dallo studente, progettare le microfasi per l’esecuzione dei
seguenti codici operativi:
- ADD R2,R1
- LOAD (R2),R1
- JMP (R2)
Si disegni il datapath scelto e si descrivano i segnali di controllo, evidenziando eventuali ottimizzazioni
di codifica dei segnali di controllo stessi.
Si discutano le principali differenze progettuali rispetto ad un eventuale controllo cablato.
Es 5
Descrivere con opportuni esempi la gestione delle interruzioni precise in sistemi operanti in pipe.