Esercizio Semaforo Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio.

Slides:



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

Progetto di un lettore di Smartcard Progetto realizzato tramite rivista "Fare Elettronica.
Interfacciamento Processore – dispositivi di I/O
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Gestione Input Output A. Ferrari.
Perché le interruzioni?
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Il Sistema Operativo.
MICROCONTROLLORI Di Tiziano Ragazzi.
Esercizio Temperatura Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un.
CALCOLATORI ELETTRONICI II
CALCOLATORI ELETTRONICI Gestione delle subroutine.
Il processore PD32 Set Istruzioni. Listruzione (almeno 32 bit) è divisa in più campi codice operativo specifica operazione (classe e tipo) parte indirizzo.
Flip-flop e Registri.
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.
Esercizi Assembly.
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.
Com’è fatto un elaboratore?
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
TIRO AL BERSAGLIO Di Ilaria Bertoletti Progetto Sincrono esame Reti logiche 30/01/13.
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
TECNICHE DI INPUT/OUTPUT
CALCOLATORI ELETTRONICI II
ELETTRONICA DIGITALE (II 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.
PREFAZIONE Per poter eseguire il progetto Schematico occorre installare la libreria libreria.cat e i relativi file Sch e Sym presenti nella cartella librerie,
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.
GESTIONE INTERRUPT CPU INTEL 8086
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
SCADA (Supervisory Control And Data Acquisition)
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.
Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni.
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Sistema Operativo (Software di base)
L’azienda di packaging ‘’Choco-Pack’’ dispone di un macchinario per l'impacchettamento di cioccolatini in scatole da 8 pezzi. Per variare l'offerta sul.
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione.
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
Università Degli Studi di Napoli “ Federico II”
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.
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.
Informatica Generale Marzia Buscemi
Esercizio Semaforo Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio.
09/01/2016 Corso propedeutico base di informatica 1.
Dalla macchina di Von Neumann …
Introduzione ai Microcontrollori Una prima definizione I microcontrollori sono utilizzati per gestire segnali in ingresso (input utente o da sensori),
Comunicazione Seriale Prof. Antonino Mazzeo Corso di Laurea Specialistica in Ingegneria Informatica.
Aprile 2015Architettura degli Elaboratori - Mod. B - 2. Macchina di Mano1 Logica di controllo “hardwired”
Macchina a stati finiti DMAC
Transcript della presentazione:

Esercizio Semaforo Un processore è interfacciato a due periferiche di input che indicano il numero di autovetture passate nelle due direzioni di un incrocio a X, al relativo semaforo e ad un TIMER. Normalmente il processore ogni minuto comanda il semaforo ad invertire labilitazione ai passaggi (da rosso a verde e viceversa). Prima di abilitare la commutazione del semaforo, il processore legge il numero di autovetture passate nella direzione con il verde, se il numero di auto passate in questa direzione è maggiore di 32 unità rispetto a quello dellaltra direzione (conteggiato nellultimo periodo), allora il processore ritarda la commutazione del semaforo di un altro minuto. Ogni volta che il processore legge i valori del numero di autovetture passate avverte il SCO delle periferiche di input di riazzerare il relativo contatore. Progettare linterfaccia del TIMER, una delle interfacce di input e linterfaccia della periferica che gestisce il semaforo. Inoltre progettare il software per la gestione delle interruzioni provenienti dal TIMER.

I/O DB I/O CB SELECT Counter I/O RD CPU I/O WR RESET I/O AB sensore inc Interfaccia del Sensore / 1

I/O DB I/O CB CPU I/O WR I/O AB SELECT S Q R Q STATUS SELECT Q=0 => ROSSO Q=1 => VERDE Interfaccia del Sensore / 2 SEM. DI RIFERIMENTO SEM. NON DI RIFERIMENTO

I/O AB I/O DB I/O CB Decoder SELECT START STARTD O.C. IRQ SCO R Q S Q STATUS STARTDEV COMPLETE CLEAR IVN CPU IACK IN IACK OUT IRQ Interfaccia del Timer

org 400h ;INIZIO PROGRAMMA timer equ 0h; indirizzo timer semaforoequ 1h; indiririzzo semaforo count1 equ 2h; indiririzzo sensore1 count2 equ 3h; indiririzzo sensore2 flagequ 1504h; flag=0 semaforo rosso, flag=1 semaforo verde nomoreequ 1505h; nomore=1 già ritardato, =0 è possibile ritardare lastmis dl 0; ultima misura dai sensori code jsr init seti; abilita PD32 ad accettare interruzioni ; setim NB: questo non va incluso perchèell'interfaccia non abbiamo incluso un ff IM main:;... jmp main; NB usato solo per la simulazione!

init: movl #0, flag movl #0, nomore ;setim timer solo simulatore start timer ret ;DRIVER TIMER driver 0, 600h ; Il driver della periferica con IVN=2 ; inizia dall'ind. 600h push r0; salva contenuto di R0 push r1 push r2 movl lastmis, r1; carico in r1 il numero di macchine misurato nell'ultimo intervallo movb flag,r0; carica flag in R0 cmpb #1,r0; controlla se semaforo di riferimento è verde jz verde ; semaforo di riferimento attualmente rosso inl count1, r0; legge valore da sensore 1, abbinato al semaforo non di riferimento outb #1, count1; resetta il contatore 1 jmp continue verde:inl count2, r0; legge valore da sensore 2, abbinato al semaforo di riferimento outb #1, count2; resetta il contatore 2

continue: movl r0,lastmis; e sovrascrivo in memoria lastmis. lastims<-ultima misura movb nomore, r2 cmpb #1,r2; verifica se lo switch è stato già ritardato jz switch; in tal caso forza lo switch subl r1, r0; r0< - differenza tra mis(t)-mis(t-1) cmpl #32,r0; r0 – 32 jnc cont switch: movb flag,r0; carica flag in R0 notb flag,r0 andb # b, r0 movb r0,flag; inverte il valore del flag che memorizza lo stato del semaforo movb #0,nomore; setta a 0 il flag nomore, inibendo ulteriori ritardi nello switch outb r0,semaforo ; setto il sem.di riferimento al nuovo stato start timer; riavvia il timer pop r2 pop r1 pop r0 rti

cont:movb #1, nomore; setta a 1 il flag nomore start timer; riavvia il timer pop r2 pop r1 pop r0 rti end; FINE PROGRAMMA

Esercizio esame DMAC

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 DEVICE (timer)

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

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

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,CAR; passa il valore al CAR START DMAC;avvia trasferimento POP R0 RTI

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