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.

Slides:



Advertisements
Presentazioni simili
Interfacciamento Processore – dispositivi di I/O
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Interfacciamento Processore – dispositivi di I/O
La struttura fisica e logica di un elaboratore
in un programma Assembler
Procedure In assembler.
Gestione Input Output A. Ferrari.
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
Elaboratore e Sistemi Operativo
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
Esercizio Temperatura Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un.
Bus e interconnessione fra registri
L’organizzazione della comunicazione di I/O G. Vercelli
Microprogrammazione Codice operativo.
CALCOLATORI ELETTRONICI II
CALCOLATORI ELETTRONICI Gestione delle subroutine.
Esercizio Semaforo Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio.
Il processore PD32 Set Istruzioni. Listruzione (almeno 32 bit) è divisa in più campi codice operativo specifica operazione (classe e tipo) parte indirizzo.
CALCOLATORI ELETTRONICI
Gerarchie di priorità per la gestione delle interruzioni
Dal busy-wait allinterrupt. Costo aggiuntivo del busy-wait in un sistema di I/O 2. CDROM player (20X)=> trasferisce dati al processore in blocchi da 8.
Macchina a stati finiti DMAC 1.I/O dalla memoria al disco in modalità Burst 2.I/O dalla memoria al disco in modalità Burst Stealing 3.I/O dal disco alla.
Interfaccia del Timer1 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 IOWR REG COUNTER.
Il processore PD32.
Schema di principio del SCA di una MMU Memory Management Unit
Dal busy-wait allinterrupt Tecniche di interazione con periferiche di I/O finora studiate sono: Polling Busy-waiting Entrambe nella categoria sincrona.
Il processore PD32 Set Istruzioni.
Gestione delle subroutine
Esercizio Temperatura Una stanza e monitorata da 4 sensori di temperatura, i quali sono pilotati da un PD32. Questultimo controlla costantemente che il.
1 Interfacciamento Processore – dispositivi di I/O.
Struttura dei sistemi operativi (panoramica)

Il Linguaggio Macchina
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Gestione della memoria logica e fisica degli elaboratori x86
Ingresso/Uscita u Materiale in: –Queste trasparenze, non basta il testo! –Tanenbaum 2.4.1, 5.6.4, 5.6.5,
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
Il Modello logico funzionale dell’elaboratore
TECNICHE DI INPUT/OUTPUT
CALCOLATORI ELETTRONICI II
Esercizio Temperatura Una stanza e monitorata da 4 sensori di temperatura, i quali sono pilotati da un PD32. Questultimo controlla costantemente che il.
I vettore interruzioni
Architettura del calcolatore
Alcune Istruzioni per la gestione dellI/O (Classe 7) Per la destinazione D0 sono ammessi tutti i tipi di indirizzamento tranne quello immediato. Per la.
Introduzione al linguaggio assembly del microprocessore a parte
Sistemi di elaborazione e trasmissione delle informazioni
Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado.
Unità centrale di processo

La gestione delle interruzioni
Sistema Operativo (Software di base)
Istruzioni Riferimento alla memoria
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Gestione dei dispositivi di I/O:
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Sistemi Elettronici Programmabili
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Esercizio Semaforo Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Dalla macchina di Von Neumann …
Il modello di Von Neumann
Comunicazione Seriale Prof. Antonino Mazzeo Corso di Laurea Specialistica in Ingegneria Informatica.
Macchina a stati finiti DMAC
Transcript della presentazione:

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 dell’acquisizione, 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, l’uguaglianza con il corrispondente dato precedentemente acquisito da B. Se almeno uno dei dati non soddisfa l’uguaglianza, il processore deve porre ad 1 il valore di un byte ad indirizzo 0BBBh. Progettare l’interfaccia 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 dell’input 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.

Logica dell’interfaccia del DMAC per le interruzioni IRQ CPU I/O AB I/O DB I/O CB CLEAR START IACKIN IRQ IVN Decoder STARTD O.C. R Q S Q STATUS SELECT COMPLETE SCO DMAC STARTDEV IACKOUT

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

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

org 400h ;INIZIO PROGRAMMA dev_a equ 0h ; indirizzo device A dev_b equ 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 all’uscita buffer_lavoro equ 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

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

;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 l’indirizzo corrente per il controllo cmpb (r1), ro ;r0- valore corrispondente in memoria JNZ set_flag aggiorna: addl #1, r1 movl r1, buffer_lavoro ;aggiorno l’indirizzo 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