L'interfacciamento dell'mp0

Materie:Appunti
Categoria:Informatica

Voto:

2.5 (2)
Download:189
Data:26.06.2001
Numero di pagine:3
Formato di file:.doc (Microsoft Word)
Download   Anteprima
interfacciamento-mp0_1.zip (Dimensione: 8.11 Kb)
trucheck.it_l-interfacciamento-dell-mp0.doc     40 Kb
readme.txt     59 Bytes


Testo

Girelli Emanuele Quarta B 30/06/10 pag.1
L’ INTERFACCIAMENTO I/O
L’utilizzo dell’ mP0 ,ci fornisce un modo rapido per inserire dei dati nella memoria, ma se in realtà esistesse veramente,con una memoria a 256 byte sarebbe di difficile utilizzo anche perché non ha nessun collegamento col mondo esterno. Quindi si ha bisogno di dispositivi che permettano questa funzione : i dispositivi di I/O che si collegano al microprocessore per mezzo del : bus dati (usato per il trasferimento di dati),bus indirizzi (usato per scegliere a quale dispositivo fare riferimento) e del bus di controllo (usato per es. per stabilire se l’operazione è in lettura o scrittura ma solitamente serve a sincronizzare le operazioni di clock ( anche se le porte I/O sono asincrone)).
Per il collegamento dell’ I/O si possono usare due tipi di architetture differenti :
1-Memory mapped I/O
2-Isolated I/O
1- Memoria e I/O sono visti dal microprocessore come entità dello stesso tipo, una parte degli indirizzi è dedicata alla memoria , un’ altra all’ I/O .Il vantaggio di questa architettura è che il microprocessore usa le stesse istruzioni sia con l’una che con l’altra.
Es: 6502 Rockwell o Motorola 6800 e 68000

2-Il microprocessore distingue le operazioni I/O e memoria . Il vantaggio riguarda il fatto che il
microprocessore può utilizzare la stessa capacità d’indirizzamento sia per l’I/O che per la
memoria, quindi si ha un guadagno di spazio totale d’indirizzamento.
Es:Z80 Zilog
Un ulteriore architettura è quella detta multibus, dove si usano bus separati per la memoria e per l’I/O : il vantaggio sono i trasferimenti con la memoria e con l I/O.
I/O

BUS CONTROLLO mp0
MREQ :Richiesta di memoria .Attivato dalla UC (unità di controllo) quando si effettua un .
trasferimento di dati con la memoria.
I/OREQ: Richiesta di I/O . Attivato dalla UC quando si effettua un trasferimento di dati con l’I/O.
R/W :Quando mP0 è in lettura UC=1,quando è in scrittura UC=0.
INT :Segnale d’ interruzione.
CLOCK:Segnale di sincronismo.
DISPOSITIVI I/O :
Il simulatore di mP0 ha solamente il collegamento di 2 porte d’ingresso (una per la tastiera ($e0) e una per la porta stampante ($f0),che serve per acquisire i dati ad 8 bit) ed una d’uscita ($f0),che è la stessa di quella d’ingresso.
Girelli Emanuele Quarta B 30/06/10 pag.2
Analizzando la porta d’uscita (porta parallela P.C.),vediamo che è costituita da un latch ad 8 bit con ingressi collegati al bus dati e le uscite sono utilizzabili dall’esterno (per es.collegando un display). Il latch è necessario per memorizzare i dati verso l’uscita presenti sul bus dati perché altrimenti non sarebbero visti dato che l’operazione è troppo breve.La porta ha anche due terminali di controllo: CK(abilita la scrittura nei f.f.),è controllato dal microprocessore in fase di scrittura ed OE((output enaible), che abilita le uscite (3-state)), è controllato dall’esterno in fase di lettura.
Limitazioni: 1- mP non sa se il dato in uscita è stato letto e ne può scrivere un altro
2- Fuori non si sa se il dato è stato letto dal microprocessore e se ne può scrivere un
altro.
Per risolvere a questo problema si ricorre ad un flag .
Con flag =1: il microprocessore scrive nel f.f.
flag =0: lo si imposta da fuori dopo che si è acquisito il dato e torna ad 1 quando ce n’è uno
nuovo (protocollo di handshaking).
Il flag può essere usato con un latch S-R:
SET:controllato dal microprocessore quando esegue una scrittura sui f.f. collegato al CK porta.
RESET:usato dopo la lettura dei f.f. e comandato dall’OE della porta.
Q:portata all’esterno per controllarne il valore.
Per far sapere al microprocessore se il dato è stato letto o no,collegare Q al bus dati(al LSB),quando il micropr. è in fase di lettura quindi usiamo un buffer 3-state tra Q l’LSB.
Si usa Q perché quando il micropr.legge 0 dal flag,la porta non è libera e c’è ancora il dato.Quando il dato è stato letto si resetta Q =0 e il micropr. scrive nuovo dato.
Vista a sé stante la porta d’uscita (e d’ingresso) è in simmetria con l’interno e l’esterno,invertendo
CK/OE dell’uscita si ha la porta d’ingresso.Meglio usare una porta con memoria che memorizzi i dati anche in caso di perdita d’essi.
PORTA D’INGRESSO
Inviato il dato a 8 bit su porta d’ingresso,si abilita il segnale di scrittura:si memorizza il dato e si porta Q=1,con Q negatola porta è occupata dal dato.Per leggere Q, il micropr. Porta sul bus dati (con buffer 3-state),genera il segnale di lettura abilitando OE e il latch porta Q=0,indicando che il
micropr. è pronto per un nuovo dato.
STRUTTURA COMPLETA PORTA PARALLELA
3-state
Bus dati
Bus controllo
Bus indirizzi

Porta libera

Esempio