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.