Anteprima
Vedrai una selezione di 7 pagine su 30
Calcolatori Elettronici II Pag. 1 Calcolatori Elettronici II Pag. 2
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici II Pag. 6
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici II Pag. 11
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici II Pag. 16
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici II Pag. 21
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Calcolatori Elettronici II Pag. 26
1 su 30
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

RTS e CTS della UART

DMA da M1 e M2 non operi in condizione di sovrapposizione con l'operazione di trasmissione, tramite la UART, da P verso C; tali trasmissioni devono avvenire infatti in sequenza temporale. A tal fine si deve utilizzare un semaforo di sincronizzazione (impiego codice test and set). La temporizzazione di tutte le operazioni da svolgere va effettuata mediante un dispositivo timer opportunamente configurato.

I comandi che possono essere inviati da C a P sono i seguenti: cisterna è piena e non si può prelevare liquido se la cisterna è vuota.

Configurazione ASIM del sistema:

In ASIM è stato prodotto un file di configurazione il cui schema è riportato di seguito:

CHIP Name: MEM-A
Type: MMU/BUS. Identif: 01. BUS: 0000.
Address 1: 00008000. Address 2: 00000000.
Com1: 0000. Com2: 0010. Com3: 0008. Com4: 0000.

Figura 6 - Configurazione della

memoria 6MEM-A rappresenta la memoria del sistema C ed è connessa al BUS che presenta l'id 01 (pariall'identificativo della memoria stessa). Ponendo Com2 a 0010, equivale ad allocare 10Kbyte di RAM, mentre porre Com3 a 0008 equivale ad allocare 8 Kbyte di ROM. Il primo byte di RAM è allocato all'indirizzo 8000, mentre il primo byte di ROM è allocato all'indirizzo 0000.

CHIP Name: M68000
Type: CPU. Identif: 02. BUS: 0001.
Addres 1: 00009000. Address 2: 00009200.
Com1: 0000. Com2: 0000. Com3: 0000. Com4: 0000.

Figura 7 - Configurazione del processore

M68000 rappresenta la CPU ed in Address1 è stato inserito l'indirizzo da cui ha inizio lo stack utente, mentre in Address 2 è stato inserito l'indirizzo a partire dal quale ha inizio lo stack supervisore.

CHIP Name: I8251USART
Type: Device. Identif: 03. BUS: 0001.
Addres 1: 00002004. Address 2: 00002005.
Com1: 0002. Com2: 0000. Com3: 0000. Com4: 0006.

Figura 8 - Schema della USART

interruzioni il processore 0002. Ponendo invece Com4 pari a 0006 si sta connettendo questa USART con identificativo pari a 03 con la USART avente identificativo pari a 06.

Dispositivo USART (Universal Synchronous-asynchronous Receiver Transmitter) consente di realizzare una connessione seriale fra dispositivi (ad es. il collegamento seriale di un sistema verso un dispositivo periferico quale un terminale, un modem, una stampante, etc., per effettuare un trasferimento di dati) secondo un protocollo sincrono o asincrono. È necessario notare che in questo caso è stato inserito come dispositivo per la gestione delle interruzioni il processore 0002. Ponendo invece Com4 pari a 0006 si sta connettendo questa USART con identificativo pari a 03 con la USART avente identificativo pari a 06.

CHIP Name: I8251

USARTType: Device. Identif: 06. BUS: 0004.

Address 1: 00002004. Address 2: 00002005.

Com1: 0005. Com2: 0003. Com3: 0000. Com4: 0003.

Le considerazioni introdotte per l'USART precedente sono del tutto analoghe anche per questo dispositivo: è necessario solo notare che in questo caso è stato inserito come dispositivo per la gestione delle interruzioni il processore 0002. Ponendo invece Com4 pari a 0006 si sta connettendo questa USART con identificativo pari a 03 con la USART avente identificativo pari a 06.

M2Type: MMU/BUS. Identif: 04. BUS: 0000. Addres 1: 00008000. Address 2: 00000000. Com1: 000D. Com2: 0010. Com3: 0008. Com4: 0000. M2 rappresenta la memoria del sistema P ed è connessa al BUS che presenta l'id 04 (pari all'identificativo della memoria stessa). Ponendo Com2 a 0010, equivale ad allocare 10Kbyte di RAM, mentre porre Com3 a 0008 equivale ad allocare 8 Kbyte di ROM. Il primo byte di RAM è allocato all'indirizzo 8000, mentre il primo byte di ROM è allocato all'indirizzo 0000. Le considerazioni, ovviamente, sono del tutto analoghe a quelle della memoria MEM-A

M68000Type: CPU. Identif: 05. BUS: 0004.

Addres 1: 00009000. Address 2: 00009200.

Com1: 0000. Com2: 0000. Com3: 0000. Com4: 0000.

M68000 rappresenta la CPU ed in Address1 è stato inserito l'indirizzo da cui ha inizio lo stack utente, mentre in Address 2 è stato inserito l'indirizzo a partire dal quale ha inizio lo stack supervisore.

CHIP Name: TERMINAL

Type: Device. Identif: 07. BUS: 0001.

Addres 1: 00002000. Address 2: 00002001.

Com1: 0002. Com2: 0001. Com3: 0002. Com4: 0000.

Figura 9 - Schema del terminale

ASIM mette a disposizione, come dispositivo base per realizzare l'I/O da e per un sistema, un dispositivo da utilizzare, appunto, come terminale video- tastiera denominato TERMINAL.

Nel nostro caso tale dispositivo è configurato come segue: Alla porta Com1 abbiamo connesso la CPU che si occupa della gestione delle interruzioni, alla porta Com2 abbiamo identificato con 0001 la linea 1 del processore per gestire l'interruzione relativa alla pressione

del tasto enter, mentre perl'interruzione relativa al buffer full abbiamo utilizzato la linea 2, servendoci della porta Com3.

CHIP Name: M6821PIA

Type: Device. Identif: 09. BUS: 0004.

Addres 1: 00002010. Address 2: 00002013.

Com1: 0005. Com2: 0005. Com3: 0000. Com4: 0208.

Figura 10 - Configurazione della PIA

Il dispositivo PIA (Periferal Interface Adapter) è un dispositivo parallelo, a parallelismo 8 bit, facente parte della famiglia dei processori Motorola 68xx. Il dispositivo contiene due sezioni quasi identiche, ciascuna dotata di 8 bit dati configurabili, anche singolarmente, come linee di ingresso o di uscita. Ciascun porto può, quindi, funzionare in ingresso, uscita o in configurazione mista (in-out). L'utilizzo tipico previsto è quello di controllore di una periferica con comunicazione full duplex e con possibilità di controllare le operazioni di I/O mediante interruzioni e schemi di handshaking preconfigurati. Due coppie di linee di controllo sono

utilizzate per gestire l'handshaking per la sincronizzazione della periferica connessa al dispositivo. Di queste, CA1 e CB1, in ingresso al dispositivo, acquisiscono eventi dalle periferiche e controllano la linea di interruzione IRQA e IRQB verso il processore; le altre due linee, CA2 e CB2, possono essere programmate per operare come segnali in ingresso (in tal caso si comportano in modo analogo alla CA1 e CB1) sia in uscita per implementare forme di handshaking. Il controllo delle operazioni realizzabili con le due linee è programmato, come di seguito mostrato, mediante i campi del registro di controllo.

Nel nostro caso è stata posta a 0005 la Com1 per identificare il processore come dispositivo per la gestione delle interruzioni. La Com2, che si occupa della gestione dell'interrupt IRQA è stata posta a 0005 per indicare che in questo caso il dispositivo fa uso della linea 5 di interruzione. La porta Com4 è stata posta a 0208 per indicare con 08

L'identificativo della PIA con cui deve comunicare è e02 per indicare che si intende connettere la CB2 del dispositivo con la CA1 del dispositivo periferico e la CA2 del dispositivo con la CB1 del dispositivo periferico: uno schema delle possibili connessioni è riportato in Figura 11 - Possibili connessioni della PIA.

CHIP Name: M6821PIA
Type: Device
Identif: 08
BUS: 0001
Address 1: 00002010
Address 2: 00002013
Com1: 0002
Com2: 0000
Com3: 0000
Com4: 0209

Le considerazioni appena introdotte sono del tutto analoghe per questa PIA che presenta l'identificativo pari a 08: in questo caso non risulta più necessario specificare la linea di interruzione relativa a IRQA in quanto i comandi sono catturati tramite il terminale e le sue apposite interruzioni: l'unica PIA che quindi deve notificare al processore che intende eseguire un comando è proprio l'altra PIA ovvero quella che presenta l'identificativo pari a 09. Questo tipo di PIA non ha bisogno.

Il dispositivo Direct Memory Access (DMA) è un dispositivo in grado di operare da master di bus, in grado di gestire cicli bus di trasferimento dati (in sostituzione del processore). Esso viene utilizzato per aumentare le prestazioni di un sistema di calcolo gestendo, in sostituzione del processore ma in modo più efficiente, le operazioni di trasferimento, consentendo, nel contempo, al processore di operare in parallelo. La maggiore efficienza è dovuta al fatto che mentre un processore per eseguire un trasferimento deve eseguire un'istruzione (ad es. un codice di move) attraverso una fase di fetch ed execute, un DMA gestisce il trasferimento utilizzando Hw specializzato appositamente progettato per realizzare tale unica funzione.

CHIP Name: I8237DMA
Type: Device. Identif: 0A. BUS: 0004.
Address 1: 00002020. Address 2: 0000202F.
Com1: 0005. Com2: 0004. Com3: 0005. Com4: 0000.

Figura 12 - Schema del DMA

stato scelto come CPU master per il trasferimento e come dispositivo per la gestione delle interruzioni il processore con identificativo 0005. La linea di interruzione è stata posta a 0004 e quindi rappresenta la linea 4 di interruzione. <CHIP Name: 1TO4INTGEN> <Type: Device. Identif: 0B. BUS: 0004.> <Addres 1: 00002040. Address 2: 00002053.> <Com1: 0005. Com2: 0000. Com3: 0000. Com4: 0000.>
Configurazione 1TO4Intgen
Figura 13 - Configurazione 1TO4Intgen
Il dispositivo 1to4INTGEN è un generatore di interruzioni verso i dispositivi in grado di gestirli (in ASIM processori e PIC). Esso è composto da 5 generatori: un generatore di interruzione programmabile e quattro timer ed è visto come 20 ($13+1) locazioni consecutive di memoria. Tale dispositivo è impiegato per generare interruzioni ad intervalli di tempo prefissati (mediante la programmazione dei parametri dei timer) o per generare, a programma, i segnali di interruzione verso lo specifico oggetto gestore di interruzioni. Nel nostro caso

È sufficiente un solo timer che ogni secondo generi un'interruzione che attiva il trasferimento del blocco di 256 Byte dal buffer M1 alla memoria M2: tale trasferimento è effettuato tramite l'ausilio del DMA.

CHIP Name: M1
Type: MMU/BUS. Identif: 0D. BUS: 0000.
Address 1: 00003000. Address 2: 00000000.
Com1: 0004. Com2: 0001. Com3: 0000. Com4: 0000.

M1 rappresenta il buffer di 256 Byte che viene usato dalla cisterna per inserire le informazioni relative al proprio stato. Nel nostro caso abbiamo allocato un solo Kbyte per inserire tutte le informazioni necessarie alla gestione dello stato della cisterna.

Al fine di avere maggiori dettagli circa la disposizione dei vari componenti all'interno del file di configurazione ed esaminare la struttura delle interruzioni, si propone il seguente schema in cui sono indicati anche i vari vettori di interruzione.

Figura 14 - Schema di dettaglio della configurazione 12

Dettagli
Publisher
A.A. 2008-2009
30 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Calcolatori Elettronici II e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Iannello Giulio.