ESERCIZI DEL CORSO DI INFORMATICA



Documenti analoghi
Algebra Booleana. 13. Rif:

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Lezione2: Circuiti Logici

Corso di studi in Ingegneria Elettronica A.A. 2006/2007. Calcolatori Elettronici. Esercitazione n 2

Algebra Booleana, Funzioni Logiche e Circuiti Logici

Circuiti digitali combinatori

Fondamenti di Informatica

Algebra di commutazione

Circuiti Logici. Pagina web del corso:

Y = A + B e si legge A or B.

2010 De Agostini Scuola, Mezzalama, Piccolo, Capire l informatica

Algebra di Commutazione

Le mappe di Karnaugh

Algebra e circuiti elettronici

Fondamenti di Informatica

Sistemi di Numerazione

Esercizio , (+61,81) CA2: , = , (-61,81)

Dalla tabella alla funzione canonica

Reti Logiche Combinatorie

Algebra di Boole Algebra di Boole

Logica booleana. Bogdan Maris ( )

Dispensa di Informatica I.5

Fondamenti di Informatica. Algebra di Boole

Informatica e Bioinformatica: Circuiti

Fondamenti di Informatica

17/10/16. Espressioni Booleane

senza stato una ed una sola

Marta Capiluppi Dipartimento di Informatica Università di Verona

La codifica dell informazione

Esercizi assortiti di Architetture

Elementi di Informatica A. A. 2016/2017

Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali. Conversione decimale-binario di numeri non interi

Fondamenti di Informatica

Algebra di Boole X Y Z V. Algebra di Boole

ALGEBRA DI BOOLE. In caso di errori di battitura o se si volesse contribuire a migliorare la seguente guida contattare:

12BHD - Informatica - soluzioni Appendice D del quaderno di testo - v. 2.00

Esercitazioni di Reti Logiche. Algebra Booleana e Porte Logiche

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

A CHI E' RIVOLTA? CHI PUO' ESSERE DEFINITO PROPOSIZIONE LOGICA?

ALGEBRA BOOLEANA. Proprietà dell'algebra booleana: P. COMMUTATIVA

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

CORSO ZERO DI MATEMATICA

Rappresentazione in virgola mobile (floating-point) Rappresentazione in virgola mobile (floating-point)

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Esercizi svolti Y Z. 1. Date le seguenti funzioni logiche ricavare le corrispondenti reti logiche realizzate con porte elementari AND, OR, NOT.

Fondamenti di Programmazione. Sistemi di rappresentazione

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Richiami di Algebra di Commutazione

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

Semplificazione delle funzioni logiche mediante le mappe K

Le porte logiche. Elettronica L Dispense del corso

Elementi di informatica

Arithmetic and Logic Unit e moltiplicatore

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

I Circuiti combinatori: LOGISIM

12BHD - Informatica (I anno Ingegneria) - esercizi sulle funzioni logiche - v. 1.0

Es Soluzioni S = A B. R in. Full. Adder

Esercizi di Algebra di Boole (con Appendice)

Tecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni

CORSO ZERO DI MATEMATICA per Ing. Chimica e Ing. delle Telecomunicazioni MONOMI E POLINOMI Prof. Erasmo Modica

Lezione 5. Sommario. La logica booleana. I principi della logica booleana Gli operatori logici

Fondamenti di Informatica A.A. 2016/17

Semplificazione delle funzioni logiche mediante il metodo delle mappe di Karnaugh

FUNZIONI BOOLEANE. Vero Falso

Circuiti di commutazione, codifica e decodifica

Esercitazione del 17/03/2005

Esercizi sulla rappresentazione dell informazione

Attraverso la minimizzazione, si è così tornati all espressione di partenza.

Codifica binaria. Rappresentazioni medianti basi diverse

Esercitazione 2 Introduzione a GATESIM

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

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

I circuiti digitali: dalle funzioni logiche ai circuiti

Architettura degli elaboratori Ricapitolando (ciascuna freccia rappresenta un procedimento, che vedremo)

Algebra di Commutazione

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

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

06AZN - Fondamenti di Informatica (GES, LOP, ORG) - esercitazione del 8/10/08 - v ā b + b c + ā c =...

Sommatori e Moltiplicatori. Sommario

13/10/16. FB ed EB associate. Forme canoniche e forme normali. Assumiamo di avere n variabili {x 1,,x n }:

Fondamenti dell Informatica Algebra di Boole. Prof.ssa Enrica Gentile

I circuiti digitali: dalle funzioni logiche ai circuiti

Logica binaria. Cap. 1.1 e 2.1 dispensa

Operatori logici e algebra di boole

Esercizi Logica Digitale,Circuiti e Bus

Tutorato architettura degli elaboratori modulo I (lezione 3)

Logica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

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

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

I transistor. I transistor come interruttori

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

Porte logiche. Porte logiche. Corso di Architettura degli Elaboratori. Algebra Booleana

Abilità Informatiche e Telematiche

Esercitazioni di Reti Logiche. Lezione 4

! Rappresentazione dell informazione

Il Livello Logico-Digitale. Reti combinatorie -2015

Funzioni booleane. Vitoantonio Bevilacqua.

Transcript:

ESERCIZI DEL CORSO DI INFORMTIC Questa breve raccolta di esercizi vuole mettere in luce alcuni aspetti della prima parte del corso e fornire qualche spunto di riflessione. Il contenuto del materiale seguente non può sostituire in nessun modo le informazioni acquisite durante le lezioni teoriche, ma anzi vuole evidenziare che negli esercizi vi è concentrata la teoria. ESERCIZIO 1 Titolo: DEFINIZIONE DI BLOCCO FUNZIONLE SOMMTORE Per capire: Come definire in modo completo un blocco funzionale Come passare da una tabella della verità ad un circuito TESTO: Si disegni un blocco funzionale sommatore a 1 bit (con riporto sinistro e destro), se ne rappresenti in modo univoco il funzionamento e si disegni il circuito logico. EX 1.1 DISEGNO E DEFINIZIONE DI BLOCCO FUNZIONLE Rappresentazione: O B Lo schema funzionale del blocco definisce gli ingressi e le uscite, per cui nel nostro caso devono essere : : primo bit B: secondo bit : Il riporto da destra (ad es. potrebbe venire da un altro sommatore ) : O: il bit del risultato : il bit del riporto della notra addizione 1

Per descrivere univocamente il comportamento del blocco funzionale è sufficiente scrivere la tabella della verità (non deve sorprendere che una tabella in cui si possono esprimere tutte le possibili combinazioni degli ingressi e le loro corrispondenti uscite rappresenti in modo completo ed univoco il blocco). La tabella è composta indicando in modo chiaro quali sono gli ingressi e le uscite e completando in modo ordinato (numeri crescenti in binario) la parte riguardante gli ingressi B O 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 questo punto, ragionando su quale funzionalità il blocco funzionale deve implementare, si considera UN RIG LL VOLT quale deve essere l'uscita del blocco per QUELL particolare configurazione degli ingressi e si scrive il suo valore nella casella della uscita considerata. d esempio nella sesta riga: B O 1 0 1 ingressi=(1+0 con 1 in riporto) vogliamo che quindi il blocco produca: uscite=(o=zero,=1 ovvero che riusulti zero e che venga generato un riporto in uscita), quindi B O 1 0 1 0 1 Ripetendo per tutte le righe si ottiene la tabella della verità completa 2

B O 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Domanda: Possono essere state trascurate delle configurazioni degli ingressi? Risposta: NO! Le righe degli ingressi sono state compilate seguendo la numerazione binaria crescente e la tabella è composta da 2 N righe (N = numero ingressi - nell'esercizio sono 3- ), per cui non possono esistere altre configurazioni degli ingressi - Fine 1.1 - EX 1.2 DLL TBELL DELL VERIT' LL EQUZIONE LOGIC La scrittura dell'equazione logica che rappresenta il funzionamento del blocco che stiamo progettando può essere derivata DIRETTMENTE dalla tabella della verità. Si trova la rappresentazione di una variabile in uscita LL VOLT. Iniziamo con "O". Si evidenziano SOLO le righe della tabella nelle quali la variabile è a "1". B O 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Nel nostro caso sono 4. La funzione sarà quindi composta da 4 termini, tutti "messi in OR" (ricordiamo che " messo in OR con B" si scrive +B, mentre " messo in ND con B" si scrive *B, o anche semplicemente B ). 3

Primo termine: Per scrivere il primo termine dei quattro che comporranno l'espressione logica della variabile di uscita "O" è sufficiente guardare la prima riga. Nel termine compaiono TUTTE LE VRIBILI di ingresso, senza il segno di complementazione ( complementata di scrive Ā) se nella riga compaiono con "1", oppure con il segno di complementazione se nella riga compaiono con "0". Piu' semplicemente con un esempio, prendendo la terza riga: B O 0 1 0 1 Primo termine= Ā * B * _IN; in parole= ( complementata) ND (B complementata) ND ( complementata). Ripetendo ciò per tutte le righe e mettendo in OR i termini trovati si ricava l'espressione booleana di "O": O = Ā * * + Ā* B * _IN + * * _IN + * B * = = Ā + Ā B _IN + _IN + B Ripetendo quanto visto sopra per la variabile di uscita si evidenziano le seguenti linee: B O 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 e si ottiene l'espressione: = Ā * B * + * * + * B * _IN + * B * = = Ā B + + B _IN + B - fine 1.2 4

Domanda: L'espressione booleana così trovata rappresenta COMPLETMENTE il comportamento desiderato della variabile d'uscita, ovvero si può dire che possieda TUTTE le informazioni della tabella della verità? Risposta: SI! Per chi vuole rendersene conto basta guardare la composizione dell'espressione logica. Vogliamo, ad esempio per "", che sia a "1" solo per le righe della tabella della verità a "1", e per nessun altra riga; ma i 4 termini che compongono l'espressione (ad esempio il primo Ā * B *, "nato" dalla quarta riga) NON PUO' CHE ESSERE =1 SOLO IN QUELL RIG DELL TBELL (provare tutte le altre configurazioni degli ingressi ed il termine Ā*B* varrà sempre 0!). Poichè vale lo stesso per gli altri 3 termini e tutti i termini sono in OR, il risultato finale è che l'or varrà "1" solo per nelle righe corrette della tabella della verità L'espressione = Ā B + + B _IN + B esprime completamente la funzione descritta in tabella. OSS: le espressioni logiche trovate NON sono le uniche espressioni logiche che rappresentano correttamente la tabella della verità. Spesso infatti è possibile semplificare l espressione ottenuta sfruttando le proprietà dell algebra di Bool (associativa, commutativa,...) ottenendo altre espressioni che implementano altrettanto esattamente la corrispondenza Ingressi-Uscite COMPLETMENTE descritta dalla tabella della verità: EX 1.3 DLL EQUZIONE LOGIC L CIRCUITO CON PORTE LOGICHE E possibile sia passare dalla tabella della verità direttamente al circuito, sia passare dall equazione logica direttamente al circuito. La forma dell espressione logica ottenuta è chiamata somma di prodotti in quanto i termini sono composti da prodotti (es: Ā*B* ) e sono tra di loro sommati (PrimoTermine + SecondoTermine + TerzoTermine +... ). Questa particolarità si riflette nella topologia del circuito. Il ciruito si compone nel seguente modo: 1. Si implementa una variabile di uscita alla volta. Per ogni variabile si ripetono i punti seguenti 2. Si predispone una porta logica OR con un numero di ingressi pari al numero di termini della espressione (che sappiamo essere pari al numero 5

delle righe della tabella della verità con la corrisponente variabile di uscita a 1 ; numero di righe evidenziate nelle tabelle precedenti). OR 3. Si aggiunge un termine alla volta. Ogni termine viene rappresentato da una porta ND con in ingresso TUTTE LE VRIBILI della sezione di ingresso della tabella della verità; Le variabili che nel termine non sono complementate (ad es. in Ā*B* B e ) entrano direttamente nella porta ND, le variabili che nel termine sono complementate (ad es. in Ā*B* ) entrano in una porta NEGTORE (NOT) e successivamente nella porta ND. ND Ā*B* NOT OR B 6

4. ggiungendo le porte corrispondenti ai termini rimanenti il circuito della variabile d uscita considerata viene completato nel modo seguente: ND Ā B NOT ND B OR ND B ND B B OSS: La tabella della verità, l espressione logica delle variabili di uscita ed il circuito descrivono TUTTI in modo COMPLETO le funzionalita del blocco funzionale ed possibile passare direttamente da uno all altro. TB. VERIT' ESPRESSIONI LOGICHE CIRCUITO 7

ESERCIZIO 2 Titolo: SOMMTORE 4 BIT MEDINTE COMPOSIZIONE DI BLOCCHI FUNZIONLI Per capire: Come funzionalità più complesse possono essere realizzate da composizioni di blocchi più semplici TESTO: vendo a dispozione un blocchi funzionali di sommatori ad un bit (con riporto sinistro e destro), si disegni un blocco funzionale sommatore a 4 bit e come sia possibile ottenerlo dalla composizione dei blocchi funzionali dati. EX 1.1 DISEGNO E DEFINIZIONE DI BLOCCO FUNZIONLE Il testo può essere riscritto in altro modo: Si vuole realizzare: vendo a disposizione il blocco: 4 bit B 4 bit B 4 bit O O OSS: la rappresentazione indica che siamo passati da un ingresso ad 1 bit (un filo) ad un ingresso a 4 bit (4 fili -BUS- ) Il nostro bus (composto da 4 fili) può accettare dati composti da 4 bit ( ='3 2 1 0' es. =0110 binario 3=0,2=1,1=1,0=0) Raffigurazione Realtà 4 bit 3 2 1 0 8

Nel dispositivo di fianco (una scheda denominata RISC Processor Based Module) è possibile notare gruppi di fili ordinati (bus bus) che escono ed entrano da rettangoli scuri (chip o circuiti integrati) Vi è un parallelismo fra lo schematismo dei blocchi funzionali che usiamo negli esercizi e i collegamenti che vi sarebbero se costruissimo la scheda che "risolve l'esercizio". Per comporre in modo corretto i blocchi è necessario osservare come avvenga una somma in binario, evidenziando il meccanismo del riporto. Esaminiamo quali operazioni effettuiamo nel sommare =0110 a B=0011: 0 1 1 0 0 0 1 1???? La somma viene effettuata bit a bit, scrivendo l'eventuale riporto (per la successiva addizione) in questo modo: 1 0 1 1 0 0 0 1 1?? 0 1 Completando l'addizione 1 1 0 1 1 0 0 0 1 1 1 0 0 1 (Suggerimento: l'addizione può essere facilmente controllata tenendo conto che =0110 binario = (4+2) decimale =6 decimale e B=0011 binario = (2+1) decimale = 3 decimale Per cui +B=9 decimale = 1001 binario) 9

La disposizione ed il collegamento dei blocchi funzionali ad un bit che implementa il sommatore a 4 bit con riporto è la seguente: B 3 B 3 2 B 2 1 B 1 0 B 0 O 3 O 2 O 1 O 0 O 10