20 marzo 2007 - Corsi di Laurea a Distanza

Transcript

20 marzo 2007 - Corsi di Laurea a Distanza
Laurea in Ingegneria Informatica
Sistemi di Elaborazione a Microprocessore
Esame del 20 marzo 2007
Teoria: non è possibile consultare nulla. Durata: 30 minuti
Domanda 1
Si descriva il ruolo della Bus Interface Unit, della Execution Unit e della Coda delle
istruzioni esistenti all’interno di un 8086.
Domanda 2
Si descrivano le differenze esistenti tra il funzionamento di un 8255 in modo 0 e in modo
1.
Programmazione: è possibile consultare libri o appunti. Durata: 60 minuti.
Si consideri il sistema 8086 riportato in figura, nel quale le porte A e B dell’8255 sono
configurate per funzionare in modo 0, in input e in output rispettivamente.
PortaA
8255
PortaB
INTA
8086
8259
IR7
INT
COUNT0
8253
1 MHz
Il sistema deve:
• Acquisire dalla porta A gli N × N elementi (ciascun corrispondente ad un intero
con segno su 16 bit) costituenti una matrice
• Inviare sulla porta B gli elementi della matrice trasposta.
Sia l’input che l’output avvengono contemporaneamente, ad una frequenza di 1 byte
ogni 250 µs. Affinché l’operazione di input non interferisca con quella di output, le due
operazioni lavorano su due strutture dati separate, che si scambiano periodicamente.
Si richiede la scrittura di:
• procedura di inizializzazione dell’8255
• procedura di inizializzazione dell’8253
• procedura di servizio dell'interrupt.
Si assuma che i dispositivi rispondano ai seguenti indirizzi esadecimali:
8255
Porta A
0030
Porta B
0031
Porta C
0032
Registro di controllo
0033
8259
ICW1, OCW2, OCW3
0090
ICW2, ICW3, ICW4, OCW1 0091
8253
Contatore 0
0010
Contatore 1
0011
Contatore 2
0012
Registro di controllo
0013