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.

Slides:



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

Interfacciamento Processore – dispositivi di I/O
in un programma Assembler
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Procedure In assembler.
Gestione Input Output A. Ferrari.
Perché le interruzioni?
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.
PLC PCD1 della SAIA-Burgess
Esercizio Temperatura Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © William Fornaciari Tecniche di gestione.
Bus e interconnessione fra registri
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
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.
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.
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.
Caratteristiche principali dell’architettura del processore MIPS
Il livello Microarchitetturale

Com’è fatto un elaboratore?
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,
Struttura del Computer
CALCOLATORI ELETTRONICI II
SISTEMA DI CONTROLLO Circuito di controllo trasduttori attuatori NOTA:
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
Prova di verifica Fondamenti Informatica 1 15 Febbraio 2008.
Istruzioni per la Manipolazione dei Bit
Architetture dei Calcolatori (Lettere j-z ) Il Processore
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.
Sottoprogramma Un blocco di istruzioni, come ad esempio lanello di ritardo, può costituire un sottoprogramma (subroutine) a sé stante, richiamabile dal.
GESTIONE INTERRUPT CPU INTEL 8086
BUS DI CPU M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
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.
Convertitore Analogico / Digitale

Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
La gestione delle interruzioni
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Istruzioni Riferimento alla memoria
Architettura di una CPU
1 Connessione Microprocessore- 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
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.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
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.
Comunicazione Seriale Prof. Antonino Mazzeo Corso di Laurea Specialistica in Ingegneria Informatica.
Z iLOG 80 Calcolatori Elettronici Bartolomeo Bajic.
Macchina a stati finiti DMAC
Transcript della presentazione:

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 DEC TC R Q S Q IM SETIMCLRIM LD OR Non strettamente neces- sario TIMER1 è non interrompibile

Interfaccia del Timer2 (parte 1) 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 DEC TC R Q S Q IM SETIMCLRIM LD OR

Interfaccia del Timer2 (parte 2) I/O AB I/O DB I/O CB Dec SELECT SCO CPU IACK OUT IORD REG IRQ

Il codice ; TIMER1:I/O=O, ind=30h, IVN=1 ; TIMER2:I/O=O, ind=31h, IVN=2 org 400h ;INIZIO PROGRAMMA timer1equ 30h;indirizzo timer1 timer2equ 31h;indirizzo timer2 synchequ aaaah; byte di sincronizzazione initT1 equ bbbbh; indirizzo valore inizializzazione timer1 initT2 equ CCCCh; indirizzo valore inizializzazione timer2 buffer equ DDDDh; indirizzo buffer importazione da timer2 code;inizio istruzioni jsr init;inizializzazione seti;abilita PD32 ad accettare interruzioni main:;.... progr. principale

Il codice init:movb #0, synch outb initT1, timer1 outb initT2, timer2 start timer1 start timer2 setim timer1;abilita periferica TIMER1 a generare interruzioni setim timer2;abilita periferica TIMER2 a generare interruzioni ret ;DRIVER T1 driver 1, 600h Il driver della periferica con IVN=1 inizia dall'ind. 600h movb #1, synch start timer1; rti;ritorno da interruzione ;FINE DRIVER TIMER1 ;DRIVER T2 driver 2, 700h ;Il driver della periferica con IVN=2 inizia dall'ind. 700h push r0 ; clrim timer2 ; maschera il flip-flop im di timer2 per evitare stack-overflow seti ; rende il processore interrompibile

Il codice movb synch, r0; cmpb #0, r0; jz import; movb #0, synch start timer2; setim timer2 pop r0; rti import:inl timer2,buffer jsr init pop r0; rti ;FINE DRIVER TIMER2 end

Interfaccia del DEVICE (timer) 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 DEC TC R Q S Q IM SETIMCLRIM LD OR

Interfaccia DEV_TEMP I/O DB I/O CB SELECT REG I/O RD CPU I/O WR RESET I/O AB Termometro

Interfaccia DMAC

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

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 VIDEO DATO SCRITTO NEXT DATO REG VIDEOREG MRD 32 bit STATUS F/F AB IRQ LD

CMPB R1,R2 Equivale ad eseguire R2-R1 senza aggiornare R2 CMPB R1,R2 R2-R1=0 (R1=R2) Z=1 N=V R2-R1>=0 (R2>=R1) Z=0 R1<=R2 R1>R2 N=V R2>=R1 N<>V R2<=R1 Z=1 R1=R2 Z=0 R1<>R2 N<>V R1<>R2 Z=0 Confronto fra registri Aritmetica segnata R1,R2 rappresentati in complemento a 2 Z=0 R1<R2

Inizializzazione timer ; subroutine di inizializzazione parametrica, richiede il caricamento in R0 del numero ;di millisecondi dellintervallo init:outb R0, DEVICE start DEVICE ret

Driver timer DRIVER 1,600h PUSH R0 INB DEVTEMP, R0 CMPB R0,#40 JN N_EQ_1 N_EQ_0:JNV NV_EQ JMP NV_DIF N_EQ_1:JV NV_EQ JMP NV_DIF NV_EQ: START DEVICE POP R0 RTI NV_DIF: CLRIM DEVICE OUT #512, WCOUNTER; inizializza il WCOUNTER OUT #BBBBh,CAREGISTER; passa il valore al CAR START DMAC;avvia trasferimento POP R0 RTI

Driver DMAC DRIVER 2,700h SETIM DEVICE START DEVICE CLEAR DMAC RTI