LABORATORIO DI SISTEMI

Documenti analoghi
LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI

Un quadro della situazione. Lezione 9 Logica Digitale (3) Dove siamo nel corso. Organizzazione della lezione. Dove siamo. Dove stiamo andando..

Interazione con il DOS e il BIOS

Secondo esonero di Architetture degli Elaboratori I Canale P-Z 22 Gennaio 2007

Reti logiche (2) Circuiti sequenziali

Reti logiche (2) Circuiti sequenziali

Introduzione. Architettura

Esercitazioni di Reti Logiche. Lezione 5

Fondamenti di Informatica B

ALU + Bistabili. Sommario

ALU + Bistabili. Prof. Alberto Borghese Dipartimento di Informatica Università degli Studi di Milano

DEC PDP8, III Generazione, '65-'75

LOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita

PROVA SCRITTA DEL CORSO DI CALCOLATORI ELETTRONICI 19 Febbraio 2013

Prima prova intercorso. Lezione 10 Logica Digitale (4) Dove siamo nel corso. Un quadro della situazione

Cognome:, Nome: Matricola:

Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico Regionale per la Sardegna

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:

X 1, X 2,..., X n e trasferisci il risultato nel registro Z. Lez. 9 Arch. RTL Fondamenti di Informatica B 6

Cognome:, Nome: Matricola:

Porte logiche di base. Cenni circuiti, reti combinatorie, reti sequenziali

Laboratorio di Architettura degli Elaboratori A.A. 2014/15 Circuiti Logici

Cognome:, Nome: Matricola:

Domande di Reti Logiche compito del 10/01/2017

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

LABORATORIO DI SISTEMI

x y z F x y z F

La ALU. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Tutorato di Calcolatori Elettronici Battista Biggio - Sebastiano Pomata. Corso di Laurea in Ingegneria Elettronica

Cognome:, Nome: Matricola:

Reti Logiche A II Prova - 2 marzo 2009

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

Esercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo. S 7

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Rappresentazione dell informazione

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Macchine combinatorie: progettazione. Macchine combinatorie

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

(competenze digitali) CIRCUITI SEQUENZIALI

FONDAMENTI DI INFORMATICA Lezione n. 9

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI

Esercitazione 03. Memorie e Registri. Gianluca Brilli 03/05/19 ARCHITETTURA DEI CALCOLATORI 1

Linguaggio macchina e register file

Circuiti sincroni circuiti sequenziali:bistabili e latch

ANALISI E PROGETTO DI CIRCUITI SEQUENZIALI

Il linguaggio macchina

Reti Logiche A Prova di giovedì 3 febbraio 2005

Reti Logiche A Appello del 9 luglio 2009

Sintesi di Reti sequenziali Sincrone

Indirizzo Liceo Scientifico opzione Scienze Applicate Classe 1 a sez. F Anno Scolastico

Cenni alle reti logiche. Luigi Palopoli

Esercitazioni di Reti Logiche

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Circuiti sequenziali e latch

Fondamenti di Informatica A. Allievi Ingegneria Gestionale Appello 17 dicembre tema D

Architettura dell elaboratore

Architettura dell elaboratore

Macchine sequenziali

LA CPU INTEL Vantaggi dei programmi Assembly

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione

Reti combinatorie. Reti combinatorie (segue)

Reti combinatorie (segue) Reti combinatorie. Lezione 2. Architettura degli Elaboratori A. Sperduti 1

Esercizi assortiti di Architetture

Esercitazione del 26/03/ Soluzioni

CIRCUITI DIGITALI. La grandezza fisica utilizzata nella maggior parte dei circuiti digitali è la differenza di potenziale (tensione).

Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico Regionale per la Sardegna

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Elementi di memoria

Il livello logico digitale

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

LATCH E FLIP-FLOP PREMESSA

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 12 Gennaio Attenzione:

Esercitazione 11. Control-Unit. Data-Path

Circuiti sequenziali e latch

ESAME di PROGETTAZIONE di SISTEMI DIGITALI. Nome e Cognome

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 17 Gennaio Attenzione:

Algoritmi e soluzione di problemi

Tutorato di Calcolatori Elettronici. Corso di laurea in Ingegneria Biomedica Elettrica, Elettronica e Informatica

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Corso di Automazione industriale

Assembly. Modello x86

Elettronica digitale: cenni

Linguaggi di Programmazione

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

Domande di Reti Logiche compito del 08/01/2019

LATCH E FLIP-FLOP PREMESSA

Appunti sull interconnessione tra registri

I flip-flop ed il register file. Sommario

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Istruzioni di trasferimento dati

PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO (5-6-7 CFU) 16 Gennaio 2014

62/8=,21,'(*/,(6(5&,=,

Reti e Sistemi per l Automazione LADDER LOGIC. Stefano Panzieri Ladder Logic - 1

Transcript:

ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 5 LABORATORIO DI SISTEMI OGGETTO: Progettare il software per il controllo di un serbatoio, gestendone la fase di riempimento e quella di svuotamento, controllando l azione di due rubinetti, utilizzando delle porte ideali. Progettare inoltre la parte elettro- meccanica che deve essere utilizzata per stabilire lo stato del serbatoio. 1

ANALISI DEL FLIP FLOP RS Il flip flop RS è un dispositivo bistabile dotato di due ingressi e di due uscite. Gli ingressi sono chiamati di Reset o Set; le uscite sono l una il complemento dell altra. Il funzionamento del dispositivo è il seguente: Quando entrambi gli ingressi sono a livello alto, in uscita si ha uno stato di indeterminazione. 2

3

4

INDIRIZZI DELLE PORTE UTILIZZATE Porta input: 0110 0100 (2) corrispondente alla porta di ingresso il cui indirizzo fa riferimento alla locazione contenente il valore dell'uscita Q del flip flop (vedi foglio 4), cioè quel valore che identifica se il serbatoio è vuoto o si sta riempiendo (0), oppure se è pieno o si sta svuotando (1) Porta output: 0110 0101 (2) Porta output: 0110 0110 (2) corrispondente alla porta di uscita corrispondente al rubinetto (R2) che svolge la funzione di svuotamento corrispondente alla porta di uscita corrispondente al rubinetto (R1) che svolge la funzione di riempimento 5

; AUTHOR Claudio Fratto ; FILE serbatoio.asm ; inizio definizione del segmento dei dati data segment FILE SORGENTE galleggiante db 00h ; dichiarazione di una variabile ad 8 bit che viene ; inizializzata con il valore esadecimale 00 data ends ; fine definizione del segmento dei dati ; inizio definizione del segmento del codice code segment start: ; etichetta che identifica l'inizio del programma ; inizio blocco per il settaggio dei registri mov ax, data ; caricamento nel registro ax dell'indirizzo della prima ; locazione di memoria riservata al segmento dei dati mov ds, ax ; caricamento nel registro ds del contenuto del registro ax mov es, ax ; caricamento nel registro es del contenuto del registro ax ; fine blocco per il settaggio dei registri ; inizo controllo del serbatoio l1: ; definizione di un'etichetta che svolge la funzione di riferimento: ; è utilizzata nell'istruzione di salto non condizionato mov dl, 100 mov dh, 00h in al, dx mov galleggiante, al add galleggiante, 00h ; caricamento nel registro dx dell'indirizzo della porta di ingresso, ; indirizzo che fa riferimento alla locazione contenente il valore ; dell'uscita Q del flip flop (vedi foglio 4), cioè quel valore che ; identifica se il serbatoio è vuoto o si sta riempiendo (0), oppure se ; è pieno o si sta svuotando (1) ; inizializzazione della parte alta del registro dx, utilizzato per ; l'indirizzamento indicizzato alle porte di I/O, con il valore ; esadecimale 00 ; caricamento nella parte bassa del registro ax, del valore presente ; sulla porta di ingresso il cui indirizzo è contenuto nel registro dx ; copia del valore letto dalla porta di ingresso, contenuto ai al, nella ; locazione di memoria che fa riferimento all'indirizzao dell'etichetta ; 'galleggiante' ; somma al valore contenuto nella locazione di memoria, che fa ; riferimento all'etichetta 'galleggiante', del valore esadecimale 00. ; Questa addizione serve soltanto per impostare il flag dello zero ; utilizzato come ferimento per l'istruzione di salto condizionato jz l2 ; controllo del flag dello zero ( se Z==1 salta a l2, se ZF==0 esegui ; blocco 'else') 6

; inizio 'else': operazione di svuotamento mov dl, 102 ; caricamento nel registro dx dell'indirizzo della porta di uscita ; corrispondente al rubinetto (R1) che svolge la funzione di riempimento mov al, 00h ; caricamento nella parte bassa del registro ax del valore esadecimale 00, ; valore che corrisponde alla chiusura di R1 out dx, al ; messa in uscita, attraverso l'indirizzo della porta di uscita ; corrispondente a R1, del valore contenuto in al, in modo da chiudere il ; rubinetto stesso mov dl, 101 ; caricamento nel registro dx dell'indirizzo della porta di uscita ; corrispondente al rubinetto (R2) che svolge la funzione di svuotamento mov al, 01h ; caricamento nella parte bassa del registro ax del valore esadecimale 01, ; valore che corrisponde all'apertura di R2 out dx, al ; messa in uscita, attraverso l'indirizzo della porta di uscita ; corrispondente a R2, del valore contenuto in al, in modo da aprire il ; rubinetto stesso jmp l1 ; salto non condizionato per ripetere all'infinito in controllo sul serbatotio ; fine 'else' ; inizio 'if': operazione di riempimento l2: ; definizione di un'etichetta che svolge la funzione di riferimento: ; è utilizzata nell'istruzione di salto condizionato mov dl, 101 ; caricamento nel registro dx dell'indirizzo della porta di uscita ; corrispondente al rubinetto (R2) che svolge la funzione di svuotamento mov al, 00h ; caricamento nella parte bassa del registro ax del valore esadecimale 00, ; valore che corrisponde alla chiusura di R2 out dx, al ; messa in uscita, attraverso l'indirizzo della porta di uscita ; corrispondente a R2, del valore contenuto in al, in modo da chiudere il ; rubinetto stesso mov dl, 102 ; caricamento nel registro dx dell'indirizzo della porta di uscita ; corrispondente al rubinetto (R1) che svolge la funzione di riempimento mov al, 01h ; caricamento nella parte bassa del registro ax del valore esadecimale 01, ; valore che corrisponde all'apertura di R1 out dx, al ; messa in uscita, attraverso l'indirizzo della porta di uscita ; corrispondente a R1, del valore contenuto in al, in modo da aprire il ; rubinetto stesso jmp l1 ret ; salto non condizionato per ripetere all'infinito in controllo sul serbatotio ; ritorno al sistema operativo e fine del controllo del serbatoio code ends ; fine definizione del segmento del codice end start ; termine del programma 7

RELAZIONE L esperienza effettuata in laboratorio si è articolata in due fasi: 1) la prima fase consisteva nel progettare e realizzare in maniera virtuale la parte elettromeccanica che deve essere utilizzata per definire lo stato del serbatoio, cioè quella parte che deve essere poi sostituita al blocco sistema galleggiante presente nello schema (vedi foglio1); 2) la seconda fase consisteva nel creare l algoritmo del problema da risolvere esposto nell oggetto, per poi creare il file sorgente corrispondente, scritto in linguaggio Assembly; FASE 1: Analizzando il problema che si doveva risolvere, per quanto riguarda la sua parte elettronica, si è reso necessario utilizzare un sistema sequenziale, un sistema, cioè, la cui uscita non dipende soltanto dallo stato degli ingressi esercitati in un preciso istante, ma anche dalla stato in cui si trova il sistema stesso anteriormente all azione degli ingressi stessi; per questo motivo un sistema sequenziale viene anche chiamato sistema con memoria storica. Il componente dotato di memoria storica utilizzato nel sistema sequenziale è stato un flip flop di tipo RS il cui funzionamento è rappresentato nel foglio2. Si è quindi associato all uscita bassa del flip flop lo stato vuoto del serbatoio o la sua fase di riempimento, ed all uscita alta del dispositivo stesso lo stato pieno del serbatoio o la sua fase di svuotamento. Per far si che il valore dell uscita del flip flop corrispondesse allo stato del serbatoio si è dovuto realizzare un sistema combinatorio a due ingressi ed a due uscite da collegare rispettivamente agli ingressi R e S del flip flop utilizzato. Per realizzare il sistema combinatorio si è dovuto procedere nel seguente modo: a) realizzare il diagramma degli stati corrispondente alla rete combinatoria da realizzare i cui ingressi sono degli interruttori a pressione (vedi foglio3); b) convertire il diagramma degli stati in una tabella, detta appunto di commutazione, in modo da rendere più facile la comprensione dei valori che dovrebbero assumere le uscite, in base alla combinazione degli ingressi (vedi foglio3); c) estrapolare dalla tabella di commutazione due tabelle che fanno riferimento ai singoli ingressi del flip flop, inserendo nella prima, i primi valori di ogni singola cella (scaturita dalla combinazione di ingressi), della tabella di commutazione, e nella seconda, i secondi valori delle stesse celle, sempre facendo corrispondere le stesse combinazioni (vedi foglio4); d) procedere alla semplificazioni delle funzioni logiche, rappresentate dalle tabelle ricavate, con l utilizzo delle mappe di Karnaugh, in modo da ridurre le porte logiche fondamentali da utilizzare nella rete combinatoria (vedi foglio4); e) realizzare il circuito combinatorio e simularlo con il software Circuit Maker, in modo da verificare se la progettazione è stata efficace. FASE 2: Creato il sistema sequenziale, sapendo che l uscita Q dello stesso veniva caricato su una porta avente un indirizzo scelto a priori (vedi foglio5), si è potuti passare, dopo la realizzazione di un algoritmo del problema da risolvere (vedi foglio5), alla scrittura del codice sorgente del nostro programma (vedi foglio6-7). 8