Input/Output Elementi periferici: Testiera Monitor Stampanti

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Differenza tra comunicazione seriale e parallela
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
LE RETI Modello OSI e TCP/IP LE RETI Modello OSI e TCP/IP Maura Zini.
Gestione Input Output A. Ferrari.
Concetti fondamentali
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Corso di Informatica Applicata - by Scardino Giuseppe Il PC MULTIMEDIALE Un PC con laggiunta di qualche optionalUn PC con laggiunta di qualche optional.
Il Sistema Operativo.
Frontespizio Economia Monetaria Anno Accademico
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.
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © William Fornaciari Tecniche di gestione.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
L’organizzazione della comunicazione di I/O G. Vercelli
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Gerarchie di priorità per la gestione delle interruzioni
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Struttura dei sistemi operativi (panoramica)
Il livello analogico digitale Lezione 3_4 Chip delle CPU e Bus.
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Cos’è un problema?.
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
I File.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
IL MODEM Che cos’è? A cosa serve? Che problemi risolve? Come comunica?
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Contatore: esempio di circuito sequenziale
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
2. Hardware Componenti di base di un computer
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Il Calcolatore Elettronico
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
Architettura degli elaboratori
TRASMISSIONE DATI CON MODEM
Architettura del calcolatore
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
PIC 8259 PROGRAMMABLE INTERRUPT CONTROLLER
GESTIONE INTERRUPT CPU INTEL 8086
BUS DI CPU M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
Sistema Operativo (Software di base)
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Architettura di una CPU
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
CENTRAL PROCESSOR UNIT (CPU) 1/2 E’ l’unità che regola e controlla tutti I processi nel microcontroller. E’ formata da diverse sottounità tra cui: Instruction.
ELETTRONICA DIGITALE (II Parte) (6-7) 13.12;15.12
Gestione dei dispositivi di I/O:
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
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.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda Interfaccia verso il bus.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Il modello di Von Neumann
Comunicazione Seriale Prof. Antonino Mazzeo Corso di Laurea Specialistica in Ingegneria Informatica.
Transcript della presentazione:

Input/Output Elementi periferici: Testiera Monitor Stampanti Memorie di massa ........... hard disk monitor floppy disk tastiera CPU memoria controller video controller tastiera controller disk

Input/Output Colloquio tra unità centrale e periferiche: Controllo da programma Interrupt DMA Canale di I/O

Controllo da programma E' da programma che si decide quando interrogare la periferica per un colloquio es: lettura di un tasto premuto E' usato nei processori di bassa fascia e in vecchi sistemi parte meccanica della periferica interfaccia parte meccanica_bus circuito di selezione bus

Controllo da programma Ogni periferica è individuata da un unico indirizzo (I/O a mappa di memoria) Esistono istruzioni dedicate all' I/O: es: PDP 8 3 6 3 C.O. n. periferica comando 110: operazione di I/O

Controllo da programma Funzionamento: Nel programma vengono inserite delle istruzioni il cui C.O. è una operazione di I/O. Con queste ultime vengono specificate: La periferica L'operazione da svolgere sulla periferica

Controllo da programma Operazioni principali svolte: a) test su flag la periferica possiede un flag che rappresenta la sua disponibilità ad operare. Fino a che la periferica non è disponibile si resta in attesa: Test su flag b) lettura (scrittura) con reset (set) del flag si legge un dato e si attiva il flag per segnalare alla periferica che che l'operazione è stata svolta. La periferica si attiva nuovamente. Quando un nuovo dato è pronto la periferica disattiva il flag. test sul flag

Controllo da programma esempio: flag: pronto per il prossimo carattere flag: carattere disponibile carattere ricevuto carattere da visualizzare buffer di tastiera buffer di monitor Il flag è posto a 1 dal trasmettitore ed azzerato dal ricevente

Controllo da programma Svantaggio: La CPU spende la maggior parte del tempo in un ciclo di attesa. Questo è negativo se la CPU ha del lavoro da svolgere.

Interrupt Soluzione: Attivare il dispositivo di I/O chiedendogli di comunicare la fine del suo lavoro: Interrupt ( oppure Interruzione di programma )

Interrupt L'interrupt è un cambiamento nel flusso di controllo non provocato dall'esecuzione del programma. Due tipi di cambiamenti nel flusso: TRAP Interruzioni SINCRONE con il programma overflow o underflow durante una operazione aritmetica. codici operativi non definiti tentativo di azionare un dispositivo di I/O inesistente ........... INTERRUPT Interruzioni ASINCRONE con il programma

Interrupt Esempio di funzionamento delle interruzioni: Emissione a video di una stringa di caratteri Tutti i caratteri sono raccolti in una zona di memoria individuata da 2 variabili globali: puntatore al primo carattere numero di caratteri (variabile contatore) Richiesta del terminale da parte della CPU. Quando il terminale è pronto la CPU, che è rimasta in attesa, manda il primo carattere. L'operazione di I/O è iniziata. La CPU torna ad eseguire il programma utente. (segue)

Interrupt Visualizzato il primo carattere, il controller video lancia un interrupt: Azioni HARDWARE: Il controller attiva la linea di interrupt Non appena possibile la CPU attiva il segnale di acknowledge (la CPU ha accettato l'interruzione) Ricevuto il segnale di acknowledge, il dispositivo di I/O identifica se stesso mediante il vettore di interrupt (identificatore del dispositivo o del gruppo di dispositivi) La CPU salva in un registro il vettore di interrupt La CPU salva nello stack il PC e il registro di STATO (segue)

Interrupt Viene caricato in PC l'indirizzo relativo alla routine di I/O. L'indirizzo è individuato attraverso il vettore di interrupt. Es: 8088: la tabella degli indirizzi delle routine di interrupt inizia all'indirizzo assoluto 0000. Ogni indirizzo è costituito da 4 byte. es: vettore di interrupt = 3 indirizzo primo byte del PC relativo alla sua routine di gestione = 3 * 4 = 12 PC0 primo byte PC0 secondo byte PC0 terzo byte PC0 quarto byte PC1 primo byte PC1 secondo byte PC1 terzo byte PC1 quarto byte routine di servizio dell'interrupt . . . . . . . 0000 0001 0002 0003 0004 0005 ......... VettInt * 4 NOTA: in 80286 e 80386, i vettori di interrupt individuano PC disposti su 8 byte in un punto qualunque della memoria (è usato il registro segmento extra)

Interrupt Azioni SOFTWARE (routine di I/O): Salvataggio dei registri di lavoro nello stack (o in una tabella di sistema); Ricerca del dispositivo che ha richiesto l'interrupt all'interno del gruppo individuato dal vettore di interrupt (solitamente più dispositivi condividono lo stesso vettore di interrupt); Si aggiornano le variabili globali Puntatore, Contatore; Ripristino dello stato; Esegue l'istruzione IRET (ritorno da interrupt) che ripristina i valori dei registri PC e STATO. (fine esempio)

Interrupt Il ripristino dello stato della CPU rende le interruzioni TRASPARENTI cioè, la CPU continua a lavorare come se non ci fosse stata nessuna interruzione. Per multi_interruzioni due strategie a) Senza interruzione degli interrupt; b) Con interruzione (a priorità) degli interrupt.

Interrupt a) La routine di gestione dell'interruzione svolge, come prima operazione, la disabilitazione del segnale di interruzione e come ultima operazione la riabilitazione. Interrupt strettamente sequenziali

proviene l'interruzione Interrupt Esempio di routine per la gestione dell'I/O disattiva l'interrupt IOFF inizio Salvataggio dello stato della macchina ricerca periferica gestione di P1 gestione di P2 Riconoscimento della periferica da cui proviene l'interruzione ......... gestione di Pn fine Operazioni di I/O ........... riattiva l'interrupt ION PC Salto indiretto alla cella contenente il PC del programma utente ........... PC

Interrupt b) La disabilitazione degli interrupt può andar bene se non vengono trattati dispositi critici. Es: Nella trasmissione seriale a 9600 bps i caratteri arrivano ogni 1042 sec, pronto o non pronto che sia il calcolatore!! Viene associata una priorità ai dispositivi di I/O: Una routine a priorità n è interrotta solo da interrupt a priorità k > n. Gli altri sono ignorati (MASCHERATI).

Interrupt Le routine di interrupt sono trasparenti ( lo stato della macchina viene riportato a quello che precede l'interrupt). RS 232 (6) tempo Disco (4) Stampa (2) utente stampa RS 232 disco stampa utente stampa stampa stack utente utente utente utente

Interrupt 8088/8086, 80286 e 80386 hanno due pin per le interruzioni (prevedono solo 2 livelli di priorità): INTR: interrupt mascherabile NMI: interrupt non mascherabile NMI Usato per segnalare catastrofi imminenti quali ERRORE DI PARITA' DELLA MEMORIA INTR Usato per i dispositivi di I/O

Interrupt In generale, due tipi di gestori delle priorità: A priorità cablata. es: encoder priority A priorità programmata. P1 da programma P2 P3

Interrupt Tra INTR e le periferiche viene interposto un dispositivo aggiuntivo che ha come compito quello di inibire le interruzioni di dispositivi a più bassa priorità rispetto a quello corrente: controllore di interrupt 8259A (Intel) Quando una routine di gestione è conclusa, viene trasmesso all'8259A un segnale che permette a un interrupt di minore priorità di verificarsi.

Interrupt connessione tra CPU e 8259A IR0 orologio INTR IR1 tastiera controllore di interruzioni D0-D7 CS A0 WR RD INTA INTR IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 orologio tastiera disco stampa

Interrupt Quando uno (o più degli) IRq è attivato, l'8259A attiva INTR. Alla fine della istruzione corrente, la CPU attiva INTA (INTerrupt Acknowledge). L' 8259A spedisce alla CPU il vettore di interrupt (D0 - D7) identificando il dispositivo che ha lanciato l'interrupt. Il vettore di interrupt è usato dalla CPU come indice in una tabella di indirizzi che individuano l'indirizzo della procedura da eseguire. RD, WR, A0, CS sono usati per svolgere diverse operazioni. Es: per comunicare all'8259A che il corrente interrupt è stato soddisfatto, oppure per mascherare un gruppo di interruzioni.

Interrupt Problema: Il trasferimento di grosse quantità di dati è oneroso dato che è richiesto un interrupt per ogni carattere trasmesso e l'elaborazione associata ad una interruzione è costosa. per ogni dato trasmesso: interruzione del programma in corso esecuzione della routine di servizio ripristino dello stato per il proseguimento del programma. ..................................ci vuole TEMPO!!!!!!!!

DMA Si supponga di voler leggere un blocco di dati da disco.......dopo il primo dato il tempo di accesso è praticamente nullo. La periferica è troppo veloce per poter essere gestita a interrupt..... Il DMA (Accesso Diretto alla Memoria) consiste in un trasferimento diretto dal dispositivo di I/O alla memoria (o viceversa).

DMA L'operazione di DMA è comandata dalla CPU ed è controllata da un controllore DMA che, programmato dalla CPU accede direttamente al bus trasferendo dati dal dispositivo di I/O alla memoria (o viceversa) e avverte la CPU, mediante interrupt, la fine dell'operazione.

DMA Il controllore di DMA possiede almeno 4 registri programmabili software dalla CPU indirizzo di partenza del blocco dati (da mettere o prelevare dalla memoria) contatore delle parole da trasferire Identificatore del dispositivo di I/O o l'indirizzo dello spazio di I/O da usare indica se l'operazione è di scrittura o lettura NOTA: Il DMA è un ritorno al controllo da programma fatto, non dalla CPU bensì da un dispositivo dedicato!

DMA Anche se la CPU ha meno lavoro da svolgere, il sistema di comunicazione non è perfetto: Durante un trasferimento in DMA di dati da un dispositivo particolarmente veloce, saranno necessari molti cicli di bus sia per accessi alla memoria che accessi al dispositivo di I/O CPU DMA Memoria UART RS 232 terminale

DMA La CPU ha priorità minore nella gestione del bus poiché spesso, i dispositivi di I/O non tollerano ritardi ......la CPU deve aspettare. Il DMA è comunque più vantaggioso delle interruzioni. E' il metodo normalmente usato per la gestione dell'I/O su tutti i Personal Computer e Mini Computer.

Bus PC IBM

Bus PC IBM Bus PC IBM 62 linee Clock a 14.31818 MHz da cui è ricavato il clock 4.77 MHz per l'8088 (max frequenza dell'8088 è 5 MHz) Per demultiplexare le linee dati da quelle indirizzo si usano dei latch: 74LS373 (per gli indirizzi: i segnali di indirizzo sono prodotti per primi in un ciclo di bus) 74LS245 (latch bidirezionale) NOTA: Poichè la CPU è MOS sono necessari dei buffer TTL per pilotare il bus.

Bus PC IBM AEN:(Address ENable) usato per estromettere la CPU dal bus ALE: (Address Latch Enable) Attivo quando è la CPU a pilotare li bus indirizzi e quando gli indirizzi sono validi. MEMR, MEMW: Lettura e scrittura a memoria. Quando sono attivi individuano non solo l'operazione ma anche che l'indirizzo si riferisce alla memoria. IOR, IOW: Lettura e scrittura su un dispositivo di I/O. Quando sono attivi individuano, oltre alla operazione, anche lo spazio di indirizzamento di I/O.

Bus PC IBM MEMR, MEMW, IOR e IOW sono generati decodificando i segnali S0_S2 mediante il decoder 8288 Intel IOCHCHK:(I/O CHannel CHecK) Attivo quando è presente un segnale di errore di parità della memoria. Genera un interrupt non mascherabile. IOCHRDY: (I/O CHannel ReaDY) E' usato dalle memorie lente per introdurre cicli di attesa. IRQ2-IRQ7: Interruzioni IRQ0: usato per i timer (non usa il bus) IRQ1: usato per la tastiera (non usa il bus)

Bus PC IBM DMA: Gestito dall' 8237A. E' una piccola CPU con un programma cablato. La CPU ordina un trasferimento caricando nell'8237A: Il numero del dispositivo indirizzo di memoria contatore di byte direzione di trasferimento Quando il dispositivo di I/O ha raggiunto il primo dei byte da trasferire, il suo controller attiva uno dei DRQx (Device ReQuest) in ingresso al 8237A . . . . .

Bus PC IBM Ricevuto il DRQx, l'8237A richiede il bus e lo prepara al trasferimento attivando uno dei DACKx (Device ACKnowledge). Quest'ultimo segnala al controllore di scrivere o leggere il dato. Durante questa fase il controller è master. Nota: L'8237A usa alcuni latch per generare l'indirizzo (per indirizzare la memoria) La linea DRQ0 è usata per il refresh di memorie dinamiche. Il segnale T/C è attivato quando il contatore è a ZERO avvisando così il controller che l'operazione è conclusa e deve lanciare l'interrupt.

Bus PC/AT IBM E' il bus PC IBM ampliato di 36 linee (estensione di indirizzi, dati, interrupt, DMA)

CANALE Su mainframe, le operazioni di I/O sono così frequenti che potrebbero saturare il bus. Si aggiungono dei processori di I/O dedicati detti CANALI. I Canali sono veri e propri processori che posseggono un linguaggio specializzato rivolto alle operazioni di I/O e svolgono programmi sofisticati.

CANALE I canali hanno struttura simile ad un processore (PC, Unità di Controllo, Registro Istruzione ........) ma, non sono dotati di memoria propria non sono in grado di attivarsi autonomamente Il canale ha essenzialmente lo scopo di eseguire in modo autonomo tutte le operazioni di I/O ripetitive in modo da impegnare al minimo il calcolatore durante la fase di trasferimento dati cioè.........

CANALE Trasferimento tra canale e calcolatore esclusivamente in DMA Controllo integrità dei dati Controllo checksum, parità,....... Conversione dati Es: da ASCII a Integer (su 16 bit) Trasferimento tra canale e calcolatore esclusivamente in DMA I mainframe IBM posseggono uno o più canali di due tipi: Canale Selettore: gestisce una sola unità di I/O veloce (dischi) Canale Multiplexer: gestisce più di una unità di I/O lento (es: terminali).

indirizzo programma di canale I/O buffer Programma di canale istruzione inizio I/O indirizzo programma di canale passo 2: PC per il canale passo 3: il canale esegue il programma e trasferisce i dati nella memoria centrale passo 1

Sistemi di Comunicazione Un sistema di comunicazione permette di realizzare un trasferimento di informazioni tra diverse unità. I chip di I/O: comunicazione con il mondo esterno Le unità che comunicano sono da considerarsi ASINCRONE tra loro.

Sistemi di Comunicazione Problemi da risolvere: Tecnologici : caratteristiche fisiche dei canali usati per la trasmissione. Arbitraggio : assegnare l'utilizzazione di un sistema di comunicazione a un particolare modulo tra quelli che ne fanno richiesta. Trasferimento: trasferire dati tra un modulo e l'altro superando la difficoltà costituita dal fatto che i due moduli sono asincroni tra loro

Problemi Tecnologici Mezzo trasmissivo e sue caratteristiche (consideriamo solo conduttori elettrici) Velocità di propagazione Un segnale elettrico (anche ottico) ha velocità pari a circa la metà della velocità della luca nel vuoto. dalla velocità di propagazione e dalla lunghezza del conduttore dipende il ritardo di propagazione Velocità di trasmissione: numero di bit trasmessi. Si misura in bps. La velocità di trasmissione dipende dalla larghezza di banda del canale trasmissivo che, a sua volta, dipende dalle caratteristiche elettriche e magnetiche del mezzo trasmissivo Attenuazione: perdita di energia del segnale RIPETITORI

Mezzi Trasmissivi Mezzi trasmissivi più diffusi: Doppino telefonico (velocità massima 10Mbps) è formato da due cavi elettrici intrecciati Flat cables usato per trasmissioni parallele. Sono costituiti da molti conduttori immersi in materiale isolante. Usato per distanze di pochi metri. problemi : interferenza (disturbi esterni) Crosstalk (interferenza reciproca tra segnali) Coassiali e fibre ottiche si stanno affermando per la trasmissione a grandi distanze poiché hanno bande passanti elevate (di gran lunga superiori al doppino telefonico). Le fibre ottiche sono pressoché immuni da interferenze. problema: costo elevato.

Trasferimento Dati Il trasferimento dati su brevi distanze può essere parallelo. Sincrono Esiste una linea dedicata al segnale globale di sincronismo: CLOCK GLOBALE Asincrono La sincronizzazione si basa su opportune regole e linee di sincronizzazione

Trasferimento Dati Parallelo Asincrono Il problema è: Assicurarsi che il ricevente abbia effettivamente ricevuto il dato prima che il trasmittente lo tolga dal bus e che il ricevente non lo legga due volte ! Si usa il metodo interlocking: Tenere alti i segnali fino a che non si riceve una risposta da parte dell'altro modulo. Due segnali: READY: Segnala al ricevente la presenza dal dato ACCEPT: Segnala la trasmittente che il dato è stato ricevuto

Trasferimento Dati Parallelo Asincrono Per la gestione del bus si usano delle tecniche di arbitraggio: un solo master che seleziona il ricevente. Trasmittente Ricevente BUS READY ACCEPT

Trasferimento Dati Parallelo Asincrono HALF-INTERLOCKED: Possibile errore: Il trasmittente perde il segnale di ACCEPT a) Il trasmittente rimane bloccato in attesa di un segnale di ACCEPT che non arriverà mai. b) Il ricevente vede READY alto e campiona gli lo stesso dato una seconda volta!!! READY ACCEPT

Trasferimento Dati Parallelo Asincrono FULLY-INTERLOCKED: READY ACCEPT

Trasferimento Dati Parallelo Sincrono La velocità di trasferimento deve adeguarsi alla unità più lenta. Trasmittente Ricevente BUS CLOCK

Trasferimento Dati Parallelo PIO (Parallel Input/Output) 8255A Intel E' un dispositivo programmabile con 24 linee di I/O. Nel modo più semplice può essere programmato per avere 3 porte indipendenti di I/O da 8 bit ciascuna. La CPU può leggere o scrivere su na qualunque delle 3 porte (bit di selezione A0-A1, solitamente i più significativi del bus indirizzi) L'8255A prevede dei pin per il trasferimento asincrono. 8 bit porta A CS PIO 8255 A A0-A1 WR 8 bit porta B RD RESET 8 bit porta C D0:D7

Trasferimento Dati Seriale UART scheda di I/O CPU mem modem RS 232 C Terminale modem

Trasferimento Dati Seriale Elementi di comunicazione: UART (Universal Asynchronous Receiver Transmitter) L'intervallo di tempo tra due caratteri non è fissato sebbene l'intervallo di tempo tra due bit che formano il carattere lo siano es: battitura da tastiera: la distanza tra due caratteri non è uniforme p i s t d tempo

Trasferimento Dati Seriale USART (U Synchronous ART) E' una unità predisposta per funzionare con modi di trasmissione seriale sia sincrona che asincrona. Sia le UART che le USART sono programmabili cioè richiedono una fase di inizializzazione I due tipi di interfaccia altro non sono che sofisticati convertitori PARALLELO-SERIALE (e viceversa) Sincrona p i s t d tempo

Trasferimento Dati Seriale Trasmissione asincrona: problema: come può il ricevitore riconoscere il primo bit del carattere? Formato del dato trasmesso: tempo . . . . 1 bit di stop bit di start 1 e 1/2 bit di stop 2 bit di stop esempio: dato=110100, bit parità pari, 2 bit di stop start 1 1 1 1 stop1 stop2

Trasferimento Dati Seriale formato del dato trasmesso: Un bit di start (0): la linea è mantenuta normalmente a 1 Dato: formato dal codice del carattere seguito eventualmente dal bit di parità. Uno, uno e mezzo, due bit di stop (1): separazione minima tra due dati. Due bit di stop migliorano l'affidabilità della trasmissione. velocità di trasmissione: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bit per secondo (bps o baud)

Trasferimento Dati Seriale ipotetico registro di programmazione di una unità di trasmissione seriale asincrona: dimensione dato trasmesso: 0 8 bit 1 9 bit velocità di trasmissione parità: 00 parità pari 01 nessuna parità 10 nessuna parità 11 parità dispari bit di stop 00 uno 01 uno e mezzo 10 due

Trasferimento Dati Seriale ricezione: Sia il ricevitore che il trasmettitore devono essere configurati nello stesso modo...... Il ricevitore campiona la linea ad una frequenza molto superiore a quella di trasmissione. Riconosciuto il bit di start (fronte di discesa) posiziona il campionamento a metà dei successivi bit; in questo modo la ricezione è insensibile ad eventuali piccole variazioni tra la frequenza di lavoro del trasmettitore e quella del ricevitore.

Trasferimento Dati Seriale esempio: linea parità pari start 1 1 stop stop ricevitore 1 1

Trasferimento Dati Seriale Trasmissione sincrona: E' molto complessa ed utilizza, in generale, un codice autosincronizzante oppure protocolli che permettono la sincronizzazione a inizio trasmissione. Nella trasmissione sincrona la necessità di un bit di inizio e fine viene eliminata. codice auto-sincronizzante Manchester 0: identificato da una transizione da 0 a 1 1: identificato da una transizione da 1 a 0 1 1 1

Trasferimento Dati Seriale Trasmissione di dati tra due modem: SIMPLEX la linea permette la trasmissione solo in una direzione HALF-DUPLEX Una linea di questo tipo permette la trasmissione in entrambe le direzioni ma a ogni istante la direzione è unica. FULL-DUPLEX E' equivalente ad una coppia di linee simplex: trasmissione simultanea in entrambe le direzioni.

Trasferimento Dati Seriale INTERFACCIA RS 232-C Lo standard RS 232-C definisce tutti gli aspetti relativi alla realizzazione fisica, cioè gli aspetti che permettono di connettere materialmente due dispositivi e che permettono loro di scambiare dati. 4 caratteristiche devono essere definite in uno standard di comunicazione fisica: a) caratteristiche elettriche dei segnali b) caratteristiche funzionali (dati, controllo, sincronizzazione) c) caratteristiche meccaniche d) protocollo di comunicazione

Trasferimento Dati Seriale a) caratteristiche elettriche 1 logico: +3 V - +12V 0 logico: -3 V - -12V b) caratteristiche funzionali 25 pin: 2 linee di terra (uno di segnale, l'altro di macchina) 2 linee di trasferimento dati: una per direzione controllo modem 5 non usate linee di terra: AA: terra di protezione AB: terra di segnale (di riferimento) linee di trasferimento dati: BA: Trasmissione BB: Ricezione

Trasferimento Dati Seriale Linee controllo modem: CA: Request to Send. Comunica l'intenzione di trasmettere un dato. Viene tenuta a 1 durante la trasmissione CB: Clear to Send. Comunica la trasmittente che può iniziare la trasmissione dati. CE: Ring Indicator. Comunica il segnale di chiamata AA BA BB CA CB AB 1 25

Trasferimento Dati Seriale Collegamento diretto tra due calcolatori AA AA BA BA BB BB AB AB Protocollo usato: XON/XOFF

Trasferimento Dati Seriale Protocollo di comunicazione (elementare) a) Protocollo RST/CTS (Request To Send/ Clear To Send) La trasmissione viene richiesta ed effetuata solo quando il ricevente l'accetta (usa CA e CB della RS 232-C) b) Protocollo XON/XOFF Non sono usate le linee RST e CTS. Vengono usati due caratteri speciali, XON e XOFF. Il ricevente blocca la trasmissione spedendo un XOFF e la riattiva con un XON.