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.

Slides:



Advertisements
Presentazioni simili
Informatica Generale Marzia Buscemi
Advertisements

Interfacciamento Processore – dispositivi di I/O
Interfacciamento Processore – dispositivi di I/O
in un programma Assembler
Gestione Input Output A. Ferrari.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
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.
Virtual CPU - Eniac Dr.ssa Veronica Marchetti
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Alcuni esercizi e domande per il compitino quali sono le parti principali dellarchitettura di von Neumann? citare le caratteristiche salienti della RAM.
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.
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.
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
CALCOLATORI ELETTRONICI
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.
Criticità sui dati (esempio da fare on line)
Struttura dei sistemi operativi (panoramica)
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
ARCHITETTURA DEL CALCOLATORE
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Strutture di controllo in C -- Flow Chart --
I File.
Espressioni condizionali
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Architettura dell’elaboratore
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Contatore: esempio di circuito sequenziale
PPI 8255 PROGRAMMABLE PERIPHERAL INTERFACE
TECNICHE DI INPUT/OUTPUT
Simulazione cassa Super-mercato
CALCOLATORI ELETTRONICI II
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
L' ARCHITETTURA DI VON NEUMANN
Introduzione al linguaggio assemby del microprocessore a parte
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.
Architettura del calcolatore
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
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Luca Orrù 1 Input/Output. 2 SOMMARIO Organizzazione di sistema Trasferimento dati; Gestione I/O.
Architettura del calcolatore
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
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
L’esecuzione dei programmi
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 modello di Von Neumann
Transcript della presentazione:

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 destinazione D1 sono ammessi tutti i tipi di indirizzamento tranne quello con registro e immediato.

Formato delle istruzioni di I/O TIPOkI/Os----- MODODEST CLASSE Per loperando dev sono ammessi solo due modi di indirizzamento: diretto con registro ed assoluto. Per la codifica di questo campo sono usati i campi I/O e k. Il campo I/O può assumere solo due valori: 01 => indica che il contenuto di k è lindirizzo del device 10 => indica che lindirizzo del device è contenuto nel registro generale specificato dai primi 3 bit del campo k Poichè i campi modo sorgente e sorgente sono inutilizzati, la sorgente S viene specificata nei campi modo destinazione e destinazione. 111

I/O AB I/O DB I/O CB SELECT REG I/O RDSTART STARTD O.C. READY SCO SCA R Q S Q STATUS PD32 I/O programmato – INTERFACCIA di INPUT PROTOCOLLO DI HANDSHAKING IMPLEMENTATO A SOFTWARE STARTDEV COMPLETE 0 WAIT

Programma assembler (input) Aspetta1: JNR DeviceIN, Aspetta1 START DeviceIN Aspetta2: JNR DeviceIN, Aspetta2 INB DeviceIN, R0

I/O AB I/O DB I/O CB DEC SELECT REG START I/O WR STARTD O.C. READY SCO SCA R Q S Q STATUS PD32 STARTDEV COMPLETE I/O programmato- INTERFACCIA di OUTPUT PROTOCOLLO DI HANDSHAKING IMPLEMENTATO A SOFTWARE

Programma assembler (output) Aspetta1: JNR DeviceOUT, Aspetta 1 OUT R0, DeviceOUT START DeviceOUT Aspetta2: JNR DeviceOUT, Aspetta2

I/O programmato MODALITA BUSY WAITING … MOVL #100, R0; numero di dati da acquisire MOVL #DATI, R1; ind.dellarea di memoria JSR IN_AD1 … IN_AD1: PUSH R0; salv. registri usati PUSH R1 PUSH R2 IN_1:JNR AD1, IN_1; attende che AD1 sia pronto IN_2:START AD1;avvia lacquisizione di un dato IN_3:JNR AD1, IN_3; attende che il dato sia stato prodotto INW AD1, R2; prelievo del dato e…. MOVW R2, (R1)+ ; … suo trasferimento in memoria SUBL #1, R0; decremento del contatore JNZ IN_2; acquisizione di un altro dato se non si è azzerato ; il contatore POP R2; ripristino dei registri usati POP R1; POP R0; RET; ritorno al programma chiamante

Polling (verifica circolare se ogni DEVICE è pronto ad interagire) I/O AB I/O DB I/O CB PD32 DEV 1DEV 2DEV 3DEV 4

Polling (acquisisce 100 dati da 4 dispositivi) … MOVL #100, R0; numero di dati da acquisire MOVL #DATI, R1; ind.dellarea di memoria JSR IN_AD1 … IN_AD1: PUSH R0; salv. registri usati PUSH R1 PUSH R2 POLL1:JR AD1, IN_1; attende che AD1 sia pronto POLL2: JR AD2, IN_2 POLL3: JR AD3, IN_3 POLL4: JR AD4, IN_4 JMP POLL1 … IN_i:START ADi; avvia lacquisizione di un dato WAIT:JNR ADi, WAIT; attende che il dato sia stato prodotto INW ADi, R2; prelievo del dato e…. MOVW R2, (R1)+ ; … suo trasferimento in memoria SUBL #1, R0; decremento del contatore JZ EXIT JMP POLL_i+1; continua a interrogare le altre periferiche EXIT:POP R2; ripristino dei registri usati POP R1; POP R0; RET; ritorno al programma chiamante

Esercizio Una stanza e monitorata da 4 sensori di temperatura, i quali sono pilotati da un PD32. Questultimo controlla costantemente che il valor medio della temperatura rilevata nella stanza sia compreso tra i valori [Tmin-Tmax]. Nel caso in cui il valor medio della temperatura non cada in tale intervallo, il microprocessore inviera un segnale di allarme su unapposita periferica, detta ALARM. Il segnale dallarme utilizzato e il valore 1 codificato con 8 bit. Se la temperatura ritorna allinterno dellintervallo [Tmin-Tmax], la CPU invia sulla periferica ALARM il valore 0. I sensori ritornano la temperatura misurata come un numero intero ad 8 bit, usando i decimi di gradi Celsius come unita di misura. Scrivere il codice assembly per il controllo dei sensori di temperatura e della periferica di allarme.

Macchina a stati finiti T_media in [Tmin-Tmax] T_media fuori da [Tmin-Tmax] newTemp,T_media NON in [Tmin-Tmax] / Alarm_ON Legenda per le transizioni: Input, Condizione / Output newTemp,T_media in [Tmin-Tmax] / Alarm_OFF newTemp, T_media NON in [Tmin-Tmax] / - newTemp, T_media in [Tmin-Tmax] / -

Diagramma di flusso T_media=T s1 =T s2 =T s3 =T s4 = = (Tmin+Tmax)/2 Stato=IN_RANGE dev i ready? controlla dev.succ Polling NO SI Ricalcola media: T_media=T_media+(new_T_si-old_T_si)/4 T_media in_range? SI Stato = IN SI Stato = OUT SI OUTPUT: ALARM OFF NO OUTPUT: ALARM ON Input da dev_i: new_T_si NO Stato=IN Stato=OUT NO

Il codice VEDI FILE POLLING.ASM SUL SITO…