Sei sulla pagina 1di 11

Esercizion1

Completare il diagramma temporale del bus sincrono di un processore, in una situazione in cui la periferica P1 effettua una richiesta di DMA (attivando il segnale "BUS Req"), e il processore la rileva e onora attivando il segnale "BUS Grant". Mentre per la periferica P1 possiede il controllo del bus, la periferica P2 effettua a sua volta una richiesta di DMA. Il segnale "BUS Busy" viene tenuto attivo dall'unit master, per tutto il tempo in cui usa il bus. I segnali "BUS Req" e "BUS Grant" sono di tipo attivo alto, mentre il segnale "BUS Busy" di tipo attivo basso Qualora il processore riceva una richiesta di DMA mentre il bus non occupato da parte di una qualche periferica:

Se la richiesta di DMA arriva nella prima met del ciclo di clock, il processore rileva e onora la richiesta nel ciclo stesso. Se la richiesta di DMA arriva nella seconda met del ciclo di clock, il processore rilever e onorer la richiesta nel ciclo successivo. Le variazioni dei segnali "BUS Req" e "BUS Grant" si susseguono a distanza di 20 ns. Il segnale "BUS Busy" viene modificato, quando necessario, solo in corrispondenza del fronte di discesa del clock La periferica P1 tiene impegnato il bus per 4 cicli di clock, mentre la periferica P2 lo tiene impegnato per 1 ciclo di clock soltanto. i ritardi le relazioni di causa-effetto tra le transizioni dei vari segnali

Inoltre vanno indicati


P1richiedeDMA 1

P2richiedeDMA

BUSReq

BUSGrant 1 BUSBusy clock 1ciclo 80ns 2ciclo 3ciclo 4ciclo 5ciclo 6ciclo 7ciclo 8ciclo 9ciclo ciclidiclock

Esercizion2
Si consideri la sequenza di passi per loperazione di scrittura in memoria data sotto. Se la memoria riceve il comando di scrittura allinizio del ciclo di clock numero i, completa loperazione nel ciclo i + 2 (cio il terzo comprendendo il ciclo i). a) Si svolgano i punti seguenti: 1. si completi il diagramma temporale per loperazione di scrittura data sotto 2. sul diagramma si numerino i passi mettendo in evidenza eventuali cicli di proroga del passo 3. sul diagramma si riportino i legami causa-effetto significativi Si badi bene che il numero di cicli di clock riportato non significativo. Dove il comando di bus R / W ombreggiato in grigio significa che irrilevante. Operazione di scrittura: [R1] [R2], parte di MOVE R2, (R1)

1.R1out, MARin 2.R2out, MDRin, write, WMFC 3. (altri ordini che qui non interessano)

prorogadelpasso clock Tipodisegnale: ordine MAR 0


passo
in

proroga3cicli

bus

indirizzo
write R/W

valido=[R1]

ordine

0
mem.campionadato

bus

ordine

MDR 0
outE

bus

dato

valido=[R2] ritardomem.

ordine MDR 0
bus MFC 0 (riscontra)
in

Esercizion.3
Completare il diagramma temporale seguente, illustrando l'andamento dei componenti del bus sincrono di un processore, in una situazione in cui una periferica effettua una richiesta di interruzione (attivando il segnale INTREQ) il processore la accetta (attivando il segnale INTACK) e la periferica invia al processore il suo vettore di interruzione tramite il bus dati Per completare il diagramma, si tenga presente che:
I segnali INTREQ, INTACK e WAIT sono attivi alti (cio sono attivi quando valgono 1). Le interruzioni sono abilitate. Non c' nessun'altra richiesta di interruzione pendente. L'interruzione viene accettata dal processore 20 ns dopo l'inizio del ciclo in cui il processore stesso sente la richiesta. Se non ci sono impedimenti, il processore si aspetta di avere ricevuto dalla periferica il vettore di interruzione tramite il bus dati (e quindi di poterlo acquisire) alla fine del ciclo in cui ha attivato INTACK. Anche se non strattamente necessario, si considerino le seguenti specifiche ulteriori: Il segnale INTREQ viene disattivato dalla periferica 20 ns dopo l'attivazione di INTACK. Il segnale INTACK viene disattivato dal processore 20 ns dopo la disattivazione di INTREQ. Nel caso in esame: Il processore NON sente la richiesta di interruzione nei 3 cicli di clock successivi a quello in cui INTREQ stato attivato: deve terminare l'esecuzione dell'istruzione in corso prima di poter sentire il segnale di richiesta di interruzione. La periferica fornisce il vettore di interruzione 120 ns dopo avere visto l'attivazione del segnale INTACK. Se le occorre, la periferica pu attivare il segnale WAIT per tenere il processore in stato di

sospensione. Il segnale di WAIT pu variare solo in corrispondenza del fronte di salita del segnale di clock.

Completando il diagramma temporale, vanno indicati anche i ritardi, laddove le informazioni siano sufficienti per stabilirli, oppure le relazioni di causa-effetto tra le transizioni dei vari segnali.

INTREQ INTACK BUSDATI WAIT clock 1 ciclo 80ns 2 ciclo 3 ciclo 4 ciclo 5 ciclo 6 ciclo 7 ciclo ciclidiclock

Esercizio n. 5
Si chiede di completare il diagramma temporale mostrato nella figura seguente, illustrando l'andamento dei segnali del BUS sincrono dun processore, in una situazione in cui due periferiche P1 e P2 effettuino delle richieste dinterruzione (interrupt). Il BUS di CONTROLLO contiene i due segnali INTREQ e INTACK per la gestione del meccanismo dinterruzione, e il segnale PRONTO (che viene generato dalle periferiche); le interruzioni generate da P1 e P2 sono di tipo vettorizzato. Nel diagramma temporale sono indicati solo i cicli di clock e gli istanti di tempo in cui le periferiche P1 e P2 inviano al processore la richiesta di interruzione; il resto del diagramma va completato.

I segnali di controllo INTREQ, INTACK e PRONTO sono di tipo attivo alto. I segnali INTREQ e INTACK osservano il protocollo di handshake: vengono attivati e disattivati luno in risposta allaltro, ma tenendo anche conto della presenza del clock secondo quanto si dice pi avanti. Si considerino le seguenti specifiche ulteriori: Tutti i segnali vengono letti entro 10 ns (nanosecondi) a partire dal fronte di salita del clock e vengono modificati entro 10 ns a partire dal fronte di discesa del clock. Il periodo di clock, come indicato in figura (dove il ciclo di clock demarcato dai fronti di discesa), di 100 ns.

A partire dal momento in cui saccorge che linterruzione richiesta stata accettata da parte del processore, una periferica abbisogna di 150 ns prima di potere emettere sul BUS DATI il suo vettore dinterruzione, e poi lo manterr stabile sul BUS DATI per 100 ns. Il vettore dinterruzione rappresenta direttamente lindirizzo dellistruzione macchina iniziale del sottoprogramma di servizio dellinterruzione. Il processore sattende di potere leggere il vettore sul BUS DATI nel ciclo successivo a quello in cui ha attivato INTACK, salvo richiesta di proroga da parte della periferica. I sottoprogrammi di servizio delle interruzioni sono a loro volta interrompibili. Tutte le istruzioni macchina durano esattamente un ciclo di clock, tranne listruzione macchina iniziale del sottoprogramma di servizio dellinterruzione richiesta dalla periferica P1, che dura invece due cicli di clock.

Ilprocessorelegge Ilprocessorelegge

Potrebbero piacerti anche