La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercizio Esame Un processore PD32 è interfacciato a due periferiche di input A e B, e ad un DMAC il quale puo gestire trasferimento di dati da B verso.

Presentazioni simili


Presentazione sul tema: "Esercizio Esame Un processore PD32 è interfacciato a due periferiche di input A e B, e ad un DMAC il quale puo gestire trasferimento di dati da B verso."— Transcript della presentazione:

1 Esercizio Esame Un processore PD32 è interfacciato a due periferiche di input A e B, e ad un DMAC il quale puo gestire trasferimento di dati da B verso la memoria. A e B lavorano a 8 bit. Il processore acquisisce 2048 dati da B tramite il DMAC il quale li memorizza in un buffer di 2048 byte ad indirizzo ABCDh. Al termine dellacquisizione, il DMAC avverte il processore tramite una interruzione, il cui servizio e il seguente: il processore acquisisce 2048 dati da A tramite la tecnica delle interruzioni e verifica, per ciascuno di essi, luguaglianza con il corrispondente dato precedentemente acquisito da B. Se almeno uno dei dati non soddisfa luguaglianza, il processore deve porre ad 1 il valore di un byte ad indirizzo 0BBBh. Progettare linterfaccia tra il DMAC ed il PD32. Progettare inoltre il software per attivare DMAC ed A, e per gestirne le interruzioni. Si ipotizzi che un buffer di 6 byte sia disponibile ad indirizzo 000Ah per la programmazione e la gestione dellinput dalla periferica A e che nessun altro buffer di memoria possa essere utilizzato. Si ipotizzi inoltre che i servizi di interruzione di DMAC ed A siano non interrompibili.

2 Logica dellinterfaccia del DMAC per le interruzioni I/O AB I/O DB I/O CB Decoder SELECT START STARTD O.C. IRQ SCO DMAC R Q S Q STATUS STARTDEV COMPLETE CLEAR IVN CPU IACK IN IACK OUT IRQ

3 PD32 DB CB I/O DB I/O CB I/O AB MEMORIA SELECT I/O WR CAR INC WC I/O WR SCO DMAC DECR TC MBR F/F Q O.C. MBR MBG SCO DEV_B DATO PRONTO NEXT DATO REG MRD 8 bit STATUS F/F AB IRQ LD

4 I/O AB I/O DB I/O CB Dec SELECT START IRQ SCO R Q S Q STATUS STARTDEV COMPLETE CLEAR IVN CPU IACK IN IACK OUT IRQ IORD REG OR Interfaccia DEV_A SCA

5 org 400h ;INIZIO PROGRAMMA dev_a equ 0h; indirizzo device A dev_bequ 1h; indirizzo device B dmac equ 2h; indirizzo dmac CAR equ 3h; indirizzo dmac WC equ 4h; indirizzo dmac risultato equ 0BBBh; indirizzo byte riservato alluscita buffer_lavoroequ 000Ah; indirizzo 6 byte riservato alla logica del programma code jsr init seti; abilita PD32 ad accettare interruzioni main:;... jmp main init: outl #2048, WC outl #ABCDh, CAR start dmac ret

6 ;DRIVER DMAC driver 0, 600h push r0; salva contenuto dei registri sporcati nella routine clear dmac;elimino la causa dellinterruzione sul dmac movl #ABCDh, buffer_lavoro movl #buffer_lavoro, r0 addl #4, r0 movw #0, (r0) start dev_a pop r0 rti

7 ;DRIVER dev_A driver 1, 700h push r0, r1, r2, r3; salva contenuto dei registri sporcati nella routine inb dev_A, r0;acquisisco il dato dalla periferica dev_A movl buffer_lavoro, r1;acquisisco lindirizzo corrente per il controllo cmpb (r1), ro;r0- valore corrispondente in memoria JNZ set_flag aggiorna: addl #1, r1 movl r1, buffer_lavoro;aggiorno lindirizzo che punterà al prossimo dato da controllare movl #buffer_lavoro, r2 addl #4, r2 movw (r2), r3;sposto in r3 il valore del contatore addw #1,r3;aggiorno il contatore cmpw #2048, r3 jz interrompi_esecuzione start dev_A jmp fine set_flag: movb #1, 0BBBh jmp aggiorna interrompi_esecuzione: clear dev_A fine: pop r3, r2, r1, r0 RTI


Scaricare ppt "Esercizio Esame Un processore PD32 è interfacciato a due periferiche di input A e B, e ad un DMAC il quale puo gestire trasferimento di dati da B verso."

Presentazioni simili


Annunci Google