PD32. Esercitazione sull interfacciamento con un dispositivo di IO



Documenti analoghi
PD32. Interfacciamento con i dispositivi di I/O (V)

Scambio dati con il master

PD-32. Connessione di dispositivi esterni (periferiche)

Sottosistema di Ingresso/Uscita (I/O)

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Circuiti sequenziali e elementi di memoria

Testi di Esercizi e Quesiti 1

Architettura del calcolatore

Un programma per calcolare la media

JPD132. Microprocessore e assembly

Flip-flop, registri, la macchina a stati finiti

Programmazione Assembly

Le istruzioni del PD32

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Il Sistema Operativo (1)

ELETTRONICA Tema di Sistemi elettronici automatici Soluzione

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

C. P. U. MEMORIA CENTRALE

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Architettura di un sistema di calcolo

La tecnica proporzionale

Dispensa di Informatica I.1

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

CAP. 4: Aspetti generali del Sistema Operativo Linux. l

Il processore PD32. Set Istruzioni

Architettura di un calcolatore

CPU. Maurizio Palesi

Ing. Paolo Domenici PREFAZIONE

FONDAMENTI di INFORMATICA L. Mezzalira

Flip-flop Macchine sequenziali

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il Sistema Operativo

Il Processore: i registri

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Sistemi di Elaborazione a Microprocessore (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda

Architettura hw. La memoria e la cpu

Lezione 7 Sommatori e Moltiplicatori

Esame di INFORMATICA

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

introduzione I MICROCONTROLLORI

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena

Sistema operativo: Gestione della memoria

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

La Macchina Virtuale

Il sottosistema di I/O. Input Output digitale

Esempio di moltiplicazione come somma e spostamento

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Architettura dei calcolatori II parte Memorie

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Calcolo numerico e programmazione Architettura dei calcolatori

Software di base. Corso di Fondamenti di Informatica

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

Corso PLC - Manuale Pratico 1

La Comunicazione tra i dispositivi

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Informatica - A.A. 2010/11

Laboratorio di Informatica

La macchina programmata Instruction Set Architecture (1)

LABORATORIO DI SISTEMI

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

L architettura del calcolatore (Terza parte)

Esempio: aggiungere j

L architettura di riferimento

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Statistica. Lezione 6

Guida di Brother Image Viewer per Android

CALCOLATORI ELETTRONICI

Il protocollo MODBUS. Il protocollo MODBUS Pag. 1 di 11

Generazione della portante sinusoidale

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

= 0, 098 ms. Da cui si ricava t 2 medio

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Tutorato Architettura degli elaboratori

Ambienti di Sviluppo

Architettura di un calcolatore: introduzione

Approccio stratificato

Gestione della memoria centrale

Introduzione. Corso di Informatica giuridica (corso propedeutico) Facoltà di Giurisprudenza LIUC

ISTITUTO TECNICO ECONOMICO MOSSOTTI

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_3 V2.0. Processi. Scelta dei processi adeguati

CORSO DI ARCHITETTURA DEGLI ELABORATORI Il Processore 8088

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Architettura hardware

Introduzione all'architettura dei Calcolatori

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

Transcript:

PD32 Esercitazione sull interfacciamento con un dispositivo di IO

Domanda #5 14/09/2000 Si dispone di un PD32 per effettuare il collaudo di un circuito integrato combinatorio con 5 ingressi e una uscita, sospettato di essere guasto.il collaudo consiste nella verifica del comportamento del circuito combinatorio secondo la tavola di verità memorizzata all indirizzo TRUTAB della memoria del PD32. L esito (sano/guasto) del test va registrato in una variabile all indirizzo TEST. Disegnare l interfaccia di I/O del processore e scrivere la routine di test. Impostazione del sistema: HW Registro per memorizzare ognuna delle 2 5 =32 configurazioni d ingresso (uscita del PD32) Buffer 3-state d ingresso (al PD32) per leggere l uscita della rete SW: Prevediamo ciclo per generare ognuna delle configurazioni Non prevediamo attesa tra OUT configurazione e IN uscita r.c., ipotizziamo che delay r.c. < tempo intercorso per l esecuzione delle 2 istruzioni Memorizziamo tutte le uscite in una LW e facciamo confronto con la tavola in TRUTAB

Interfaccia Temporizzazioni T1: delay ammissibile per la rete combinatoria per la produzione del dato T2: delay ammissibile per la seconda versione

Interfaccia #2 Memorizziamo uscita della r.c. invece che l ingresso L uscita della r.c. viene campionata sul fronte di discesa del segnale IOWR Assumiamo ipotesi ragionevole che, dato il delay d della r.c., sia d < 1 ciclo di CK del PD32

Subroutine tester org 400h TESTIN equ 05Ah TESTOUT equ 05Bh ;indirizzi diversi perchè ;richiesto dal simulator TRUTAB dl 0A51E780Fh ; tavola della verità TEST db 00h ; inizializzo risultato code main: seti jsr tester halt tester: < push r0, r1, r2 > movb #0,TEST ; 0:OK (1:KO) xorl r0,r0 next: outb r0, TESTOUT ; ciclo di test inb TESTIN, r1 andl #01h, r1 ;forzo bit 1..7 a 0 asll #1,r2 ;in r2 accumulo risult.parz. orl r1,r2 ;scalo r2, bit0 di r1 bit0 di r2 addb #1,r0 cmpb #32,r0 jnz next movl TRUTAB,r1 cmpl r2,r1 jz exit movb #1,TEST exit: < pop r2,r1,r0 > ret end

PD32 Esercitazioni sull interfacciamento e la gestione delle interruzioni

Progetto di un sistema Master-Slave Specifiche: - un processore slave acquisisce dati da 8 perifer. - dati prodotti dalle periferiche in formato 8 byte - lo slave acquisce, ogni 10 s, il dato presente da ogni periferica e ne produce la media - Un processore master può fare richiesta asincrona allo slave dell ultimo set di dati acquisito - se valore media > valore soglia (noto allo slave) lo slave deve trasmettere immediatamente l ultimo set di dati al master Due possibili soluzioni: Sistema cablato (Ipotizziamo processori generici a 32 bit con istruzioni per trattamento busy-waiting o interruzioni) Specializzazione al caso del processore PD32

Fase di Analisi In entrambi i casi occorre progettare i componenti seguenti: Interfaccia periferica-processore slave Software slave (calcolo della media, scambio dati con il master) Interfaccia master/slave Software master Schema del sistema:

Soluzione con sistema cablato Interfaccia periferica-processore slave Periferica produce dati da 64 bit associamo ad ogni periferica 2 registri da 32 bit indirizzabili in modo indipendente (2 indirizzi) Non prevediamo busy-waiting (acquisizione fatta sui dati presenti nei registri) Lo slave assume che le periferiche abbiano indirizzi compresi tra 0 e 15 (2 per periferica) Specifiche richiedono acquisizione ultimo set di dati da parte del master in qualsiasi momento: Dati vengono caricati in memoria a partire dall indirizzo AD1 Finito ciclo di acquisizione, il set viene spostato a partire dall indirizzo AD2

Software processore slave (sistema cablato) Acquisizione dati da periferiche Spostamento set di dati da AD1 a AD2 Calcolo media del set di dati Controllo se media è superiore a valore soglia Scambio dati con il master (interruzione al master) Scambio dati con il master su interruzione dal master

Routine di acquisizione dati Accediamo sequenzialmente ai 16 registri (8 coppie). Per ogni IN viene eseguito un ciclo macchina.,.6: 8 430/,9 74,//7088507 107., 7,//7088809,./,9 47 7 7 47 7 7.. 4 3 7 7,.6: 8 8. /,94 37 24; 7 7,// 7,//- 7.25-7.43974 480 4,.6: 8 94 3.. 4 9:99 /,9

Routine di spostamento dati da AD1 a AD2 In questa fase il master non può interrompere lo slave per acquisire il set di dati. 85489,20394/,9 /,, 85/,9. 7 47 7 7.. 4 24; 7 7 Г.25-7.43974 480 485489,94 3.. 4 9:99 /,9 809 Routine per il calcolo della media Sommiamo 8 elementi da 64 bit. Somma finale di 96 bit contenuta in [R4, R6, R5] Per la media eseguo lo shift a destra di 3 bit: R4 3bit R6 3bit R5 R5: somma finale R6: eventuale riporto

; ***** calcolo media ***** media: xorl r0,r0 xorl r6,r6 movl AD2,r5 ; sommo i 32 lsb, risultato in r5, riporto in r6 somma1: addl #8,r0 addl AD2(r0),r5 jnc contin addl #1, r6 contin: cmpb #56,r0 jnz somma1 ; sommo i 32 msb, risultato in r6,r5, riporto in r4 xorl r4,r4 movl #4,r0 somma2: addl AD2(r0), r6 jnc contin1 addl #1,r4 contin1: addl#8,r0 cmpb #60,r0 jnz somma2 ; calcolo media di [R4, R6, R5] in [R6, R5] lsrl 3,r5 movl r6,r0 lsll 29,r0 addl r0,r5 lsrl 3,r6 lsll 29,r4 addl r4,r6

Routine per confronto con valore soglia Ipotizziamo di avere memorizzato in AD3 il valore soglia nel formato AD3: [MSlw], AD3+4: [LSlw]..43174394;, 47084,.4317 24; 7 24; 7 8:- 7 7 3 089 24; 7 7 8:- 7 7 3 089 3 1 30 089 878.,2-4/,9 1 30