Il Livello Logico-Digitale. Blocchi funzionali combinatori

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

Università degli Studi di Cassino

una rete combinatoria è un circuito logico avente n ingressi (x 1

Circuti AND, OR, NOT Porte logiche AND

Circuiti integrati. Circuiti integrati

Reti combinatorie. Reti combinatorie (segue)

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

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

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

Architettura degli Elaboratori

Circuiti integrati. Il Livello Logico-Digitale. Usi caratteristici. Famiglie di circuiti integrati. Blocchi funzionali combinatori

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

Circuiti Combinatori

Architettura degli Elaboratori. Davide Bertozzi Dipartimento di Ingegneria Università of Ferrara. Componenti Combinatori Standard

Architettura dei Calcolatori Blocchi funzionali logici combinatori

Architettura degli Elaboratori A Modulo 2

Università degli Studi di Cassino

senza stato una ed una sola

Calcolatori Elettronici

Moltiplicatori HW e ALU

Circuiti combinatori notevoli

Il livello logico digitale

Componenti di un sistema digitale

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

Mux X I 7..0 O 3 S 2..0 X 1 X 2

Architetture aritmetiche

Lezione 7 ALU: Moltiplicazione e divisione

Lezione 7 Sommatori e Moltiplicatori

Unità Aritmetico-Logica

circuiti combinatori: ALU

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Operazioni logiche

Componenti notevoli combinatori

Sommatori e Moltiplicatori

Moduli Combinatori. Moduli Combinatori. Corso di Architetture degli Elaboratori

Multiplexer. Multiplexer 2 a 1 (a 1 bit) e sua implementazione. Multiplexer 2 a 1 (a 32 bit) e sua implementazione

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

Circuiti di base e ALU. Lorenzo Dematte

La rappresentazione dei numeri. La rappresentazione dei numeri. Aritmetica dei calcolatori. La rappresentazione dei numeri

Logica binaria. Cap. 1.1 e 2.1 dispensa

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

Circuiti combinatori ALU

Arithmetic and Logic Unit e moltiplicatore

Lezione 7 Sommatori e Moltiplicatori

Esercitazione del 23/03/ Soluzioni

Aritmetica dei calcolatori. La rappresentazione dei numeri

di vario tipo vengono usati nei campi (e nei modi) più Come calcolatori veri e propri dai personal computer

Aritmetica dei calcolatori

SISTEMI DIGITALI COMPLESSI

LEZIONE N 91. Introduzione agli elementi architetturali principali. Roberto Giorgi, Universita di Siena, C116L91, Slide 1

Esercitazioni di Reti Logiche

A c r h c i h te t t e t t u t r u a r d g e li e l e abo b ra r t a o t ri Principi

Aritmetica binaria e circuiti aritmetici

I Indice. Prefazione. Capitolo 1 Introduzione 1

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:

Reti Logiche Combinatorie

Esercitazione 02. Circuiti Aritmetici. Gianluca Brilli 09/04/19 ARCHITETTURA DEI CALCOLATORI 1

Tecniche di semplificazione. Circuiti digitali notevoli

Reti Logiche Combinatorie

Esercitazioni di Reti Logiche. Lezione 4

Costruzione di un unità aritmetico-logica

Costruzione di un unità aritmetico-logica

Reti Combinatorie: sintesi

Le operazioni. di somma. e sottrazione

Aritmetica dei Calcolatori - Operazioni

Esercitazione di Calcolatori Elettronici Prof. Fabio Roli Corso di Laurea in Ingegneria Elettrica ed Elettronica

Macchine dedicate e Macchine programmabili

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Circuiti Addizionatori

Corso di Architettura degli Elaboratori. Porte logiche (I) Architetture degli Elaboratori. Porte logiche (III) Porte logiche (II)

Progetto di Circuiti Aritmetici

Livello logico digitale

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

Elementi di Informatica

Sommatori e Moltiplicatori. Sommario

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini

Codifica e aritmetica binaria

Rappresentazione dei numeri. Rappresentazione di insiemi numerici mediante insiemi finiti di stringhe di bit Problemi:

Aritmetica in complemento a due. 29 settembre 2017

Sommatori e Moltiplicatori

Le tre famiglie fondamentali. Laboratorio di Architettura. 1. Manipolazione di dati. 1.1 Aritmetica di base. Lezione 3

SisElnF1 12/21/01. F CIRCUITI COMBINATORI E SEQUENZIALI F1 Circuiti combinatori

Sistema Numerico Decimale

Firmware Division, UC & Floating pointer adder

Logica combinatoria. La logica digitale

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

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

Prefazione del Prof. Filippo Sorbello... VII. Prefazione del Prof. Mauro Olivieri... Prefazione degli autori...

Es. 05. Addizionatori (Half Adder, Full Adder); sommatori a n bit (con e. complemento a due e sottrazione; overflow.

Esercitazione del 17/03/2005

Decodificatore (decoder) 1 su m

Circuiti combinatori

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte 2)

anno scolastico 2009 / 2010 ELETTRONICA per Elettrotecnica ed Automazione

ESERCITAZIONE 4. Livello d architettura dell insieme di istruzioni Decodifica dell indirizzo

Circuiti combinatori

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 25 Febbraio Attenzione:

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Algebra di Boole. Fondamenti di Informatica per Meccanici Energetici - Biomedici 1. Politecnico di Torino Ottobre Mr. Boole. Variabile booleana

Rappresentazione numeri con e senza segno ([PH] par. 2.4) Giovedì 1 ottobre 2015 (ore 9-13)

Firmware Division, UC & Floating gpointer adder

Transcript:

Il Livello Logico-Digitale Blocchi funzionali combinatori 21-10-2015

Blocchi funzionali combinatori Esiste una ben nota e ormai stabilizzata libreria di blocchi funzionali predefiniti di tipo combinatorio che contiene i blocchi per tutte le funzioni combinatorie di base La libreria contiene anche blocchi funzionali di tipo sequenziale I tipici blocchi funzionali combinatori sono: Multiplexer Demultiplexer Decoder (decodificatore) Confrontatore Shifter combinatorio Half adder e Full adder Addizionatore a n bit ALU or, and, not e somma - 2 -

Multiplexer Il blocco funzionale multiplexer ha: n 1 ingressi di selezione 2 n 2 ingressi dati un uscita Gli ingressi dati sono numerati a partire da 0: k = 0, 1, 2,, 2 n 1 Se sugli ingressi di selezione è presente il numero binario k, il k esimo ingresso dati viene inviato in uscita - 3 -

Multiplexer a 1 ingresso di selezione (1) 1 ingresso di selezione, 2 ingressi dati, un uscita I0 I1 Sel OUT (Ctrl) D1 D2 0 D1 D1 D2 1 D2 I0 I1 Sel OUT (Ctrl) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 Tabella della verità 1 0 1 0 1 1 0 1 1 1 1 1-4 -

Multiplexer a 1 ingresso di selezione (2) 1 ingresso di selezione, 2 ingressi dati, un uscita OUT=!Sel I0!I1 +!Sel I0I1 + Sel!I0I1 + Sel I0I1 Sel I0 U I1 MUX - 5 -

Multiplexer a 2 ingressi di selezione MUX a 2 ingressi di selezione ingressi dati S1 I0 I1 I2 S0 U ingressi di selezione uscita Tabella delle verità # riga S1 S0 I0 I1 I2 I3 U 0 0 0 0 X X X 0 1 0 0 1 X X X 1 2 0 1 X 0 X X 0 3 0 1 X 1 X X 1 4 1 0 X X 0 X 0 I3 MUX 5 1 0 X X 1 X 1 6 1 1 X X X 0 0 7 1 1 X X X 1 1-6 -

Multiplexer a 2 ingressi dati da k bit Ctrl Esempio: k=3 Ctrl MUX 3 bit 1 B 3 B(1) A(1) B 3 0 1 M U X B(2) A(2) B(3) OUT 3 0 1 M U X OUT 3 A 3 A(3) A 3 0 1 M U X - 7 -

Demultiplexer Il blocco funzionale demultiplexer ha: n 1 ingressi di selezione 1 ingresso dati 2 n 2 uscite Le uscite sono numerate a partire da 0: k = 0, 1, 2,, 2 n 1 Se sugli ingressi di selezione è presente il numero binario k, l ingresso dati viene inviato alla k esima uscita, le rimanenti sono a 0-8 -

Demultiplexer a 2 ingressi di selezione Ingressi Selezione Uscite I S 1 S 2 O 1 O 2 O 3 O 4 D 0 0 D 0 0 0 D 1 0 0 D 0 0 D 0 1 0 0 D 0 D 1 1 0 0 0 D O 1 =!S 1!S 2 I O 2 = S 1!S 2 I O 3 =!S 1 S 2 I O 4 = S 1 S 2 I S 1 S 2 S 1 S 2 O 1 I O 2 O 3 O 4 I DMUX 00 10 01 11 O 1 O 2 O 3 O 4-9 -

Decodificatore (decoder) Il blocco funzionale decodificatore ha: n 1 ingressi 2 n 2 uscite Le uscite sono numerate a partire da 0: k = 0, 1, 2,, 2 n 1 Se sugli ingressi è presente il numero binario k, la k esima uscita assume il valore 1 e le restanti uscite assumono il valore 0-10 -

Decodificatore DEC a 2 ingressi ingressi I1 I0 DEC U0 U1 U2 U3 Decodificatore a 2 ingressi uscite Tabella delle verità # riga I1 I0 U0 U1 U2 U3 0 0 0 1 0 0 0 1 0 1 0 1 0 0 2 1 0 0 0 1 0 3 1 1 0 0 0 1-11 -

Confrontatore (comparator) Il blocco funzionale confrontatore ha: due gruppi A e B di ingressi da n 1 bit ciascuno tre uscite: minoranza A < B, uguaglianza A = B e maggioranza A > B Il blocco confronta i due numeri binari A e B da n bit presenti sui due gruppi di ingressi, e attiva (a 1) l uscita corrispondente all esito del confronto - 12 -

Confrontatore COMP a 2 bit ingressi A0 A1 A<B A=B B0 A>B B1 COMP Confrontatore di numeri a 2 bit uscite Tabella delle verità # riga A1 A0 B1 B0 A<B A=B A>B 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 2 0 0 1 0 1 0 0 3 0 0 1 1 1 0 0 4 0 1 0 0 0 0 1 5 0 1 0 1 0 1 0 6 0 1 1 0 1 0 0 7 0 1 1 1 1 0 0 8 1 0 0 0 0 0 1 9 1 0 0 1 0 0 1 10 1 0 1 0 0 1 0 11 1 0 1 1 1 0 0 12 1 1 0 0 0 0 1 13 1 1 0 1 0 0 1 14 1 1 1 0 0 0 1 15 1 1 1 1 0 1 0-13 -

Shifter combinatorio Il blocco funzionale shifter ha: n 1 ingressi 1 ingresso per il bit aggiunto a dx (scorrimento a sinistra) 1 ingresso per il bit aggiunto a sx (scorrimento a destra) 1 ingresso di controllo che comanda lo scorrimento a destra o a sinistra n 1 uscite Uscite: scorrimento a dx: bit aggiunto a sx + ingressi shiftati di una posizione a dx (viene perso il bit meno significativo degli ingressi) scorrimento a sx: bit aggiunto a dx + ingressi shiftati di una posizione a sx (viene perso il bit più significativo degli ingressi) Si noti che se si considerano gli ingressi come un valore numerico espresso in binario naturale lo scorrimento a dx (con bit aggiunto a sx = 0) equivale ad una divisione per 2 lo scorrimento a sx (con bit aggiunto a dx = 0) equivale ad una moltiplicazione per 2-14 -

Shifter combinatorio 5 ingressi S/!D Nuovo bit scorrimento a destra I4 I3 I2 I1 I0 Nuovo bit scorrimento a sinistra 0 MUX 1 0 1 0 1 0 1 0 1 MUX MUX MUX MUX O4 O3 O2 O1 O0-15 -

Blocchi aritmetici fondamentali Lavorano in binario naturale intero su k 1 bit Addizionatore ad 1 bit half adder full adder Addizionatore a k bit in binario naturale intero Sottrattore a 1 bit Sottrattore a k bit in binario naturale intero - 16 -

Half adder HALF-ADDER A B Carry Sum 0 0 0 0 0 1 0 1 1 0 0 1 Sum = A B Carry = AB A B 1 1 1 0 Carry Sum - 17 -

Full adder FULL ADDER A B Carry In Sum Carry Out 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 S = A xor B xor C_in S =!A!BC +!AB!C + A!B!C + ABC = = C (!A!B + AB) +!C (!AB + A!B) = C!(A xor B) +!C (A xor B) ponendo Z = A xor B =!Z C + Z!C = Z xor C = A xor B xor C_in C_out =!ABC + A!BC + AB!C + ABC = C (!AB + A!B) + AB(!C + C) = C (A xor B) + AB C_out = AB + C(A xor B).. schema rete da ricavare.. - 18 -

Addizionatore a k bit in binario naturale intero A B 3 bit 3 bit A 2 B 2 B 1 A 1 A 0 B 0 CarryOut FULL ADDER Cin 2 FULL ADDER Cin 1 HALF ADDER Cout 2 Cout 0 Cout 1 S 2 S 1 S 0 SUM 3 bit - 19 -

Sommatore intero a n bit sommatore a 3 bit ingressi addendi A2 A1 A0 B2 B1 B0 uscita di riporto uscite di somma R usc S2 S1 S0 R in ingresso di riporto Sommatore intero binario naturale a 3 bit - 20 -

Sottrattore a 1 bit e a k bit in binario naturale intero Ricavare le tabelle delle verità, l espressione logica minima e la rete combinatoria che realizza un semi-sottrattore a 1 bit un sottrattore completo a 1 bit Disegnare la struttura modulare di un sottrattore a k bit - 21 -

Sottrattore intero a n bit minuendo sottraendo sottrattore a 3 bit M2 M1 M0 S2 S1 S0 prestito in uscita Pusc D2 D1 D0 Pin prestito in ingresso differenza Sottrattore intero binario naturale a 3 bit - 22 -

Semplice esempio di progetto in stile funzionale Si chiede di progettare un circuito digitale combinatorio, che abbia: in ingresso due numeri interi binari naturali (positivi) A e B da n 1 bit ciascuno in ingresso un segnale di comando C in uscita un numero intero binario naturale Z da n 1 bit Su Z deve presentarsi la somma A + B se C = 0, la differenza A B se C = 1-23 -

Schema logico della soluzione A n X + Y X Sommatore C + S B n Y n I0 S n n X Y X -+ Y D MUX I1 n Multiplatore U n Z Sottrattore - 24 -

Unità Aritmetico-Logica comandi Add Sub R in, P in ALU n A C ALU U n operandi n B E risultato esiti A=0 A<B A=B A>B R usc - 25 - P usc

Unità Aritmetico-Logica: esempio di comandi # riga Comando Operazione R Esito 0 Add somma A e B A + B + R in riporto in uscita R usc 1 Sub sottrae B da A A B P in prestito in uscita P usc 2 3 Pass A Pass B A passa in uscita B passa in uscita 4 Zero annulla uscita 0-5 Shift Left A A scorre a SX 2A bit più significativo di A 6 Shift Right A A scorre a DX A / 2 bit meno significativo di A 7 8 Null Compare Confronta A con 0 Confronta A con B A B - A = 0 A <,=,> B - - A < B, A = B, A > B 9 Multiply prodotto di A e B A B riporto in uscita 10 Divide divisione A / B A / B divisione per 0? - 26 -

ALU and, not, or e somma (1): realizzazione con MUX F 1 F 0 B A F 0 F 1 Operazione svolta 0 0 A and B 1 0 A or B 0 1!B 1 1 A + B Half Adder CarryOut Multiplexer Uscita - 27 -

ALU and, not, or e somma (2): realizzazione con DECODER Schema logico di una ALU da 1 bit - 28 -

ALU e MIPS Istruzioni aritmetiche add sub Istruzioni logiche or and nor Istruzione slt e sltu - 29 -

ALU MIPS a 1 bit: somma e sottrazione in complemento a 2-30 -

32 bit ALU - 31 -

si aggiunge il.. NOR Schema Alu a 1 bit valido ad eccezione del bit più significativo a cui è necessario aggiungere la gestione del segnale di overflow - 32 -

Overflow Detection: bit più significativo Schema ALU a 1 bit in cpl2 per MSbit Il segnale di Overfolw va a 1 se Msbit MSbit Msbit oper_1 oper_2 risultato 0 0 1 1 1 0 dove oper_1 = a per somma e sottrazione oper_2 = b per somma e oper_2 = b_negato per sottrazione - 33 -

La realizzazione di slt slt $s1, $s2, $s3 se s2<s3 allora s1=1 altrimenti s1=0 s2 < s3 equivale a s2 s3<0 se s2 s3<0 allora il bit di segno del sommatore è 1 altrimenti è 0 L ingresso less viene portato direttamente in uscita tramite il multiplexer e deve essere 0 per i 31 bit più significativi di $s1 e 1 oppure 0 per il bit meno significativo qualche semplificazione - 34 -

a 32 bit Overflow in uscita solo quello relativo al bit più significativo slt ecco i valori di tutti i bit - 35 -

bit Zero posto a 1 se il risultato dell ALU vale zero altrimenti a 0 Bnegate Per la sottrazione in cpl2 è necessario avere i segnali Binvert e Carryin a 1 mentre per le altre operazioni considerate, eccetto il NOR, sono entrambi a 0 Vengono sostituiti dall unico segnale Bnegate - 36 -

ALU del MIPS e linee di controllo Le linee di controllo interne dell ALU sono: Ainvert, Bnegate, Operation(2) come blocco funzionale - 37 -

Numeri relativi e numeri reali I numeri relativi sono rappresentabili tramite sequenze di bit, proprio come i numeri interi naturali (sempre positivi) La tecnica più usata per rappresentare i numeri interi relativi è il complemento a due (two s complement) Le ALU sono normalmente in grado di operare sia con numeri interi naturali sia con numeri interi relativi rappresentati in complemento a due I numeri reali sono rappresentabili tramite sequenze di bit, proprio come i numeri interi Esiste uno standard internazionale per la rappresentazione binaria di numeri reali: lo standard IEEE 754 per la rappresentazione in virgola mobile Esistono ALU in grado di effettuare i calcoli aritmetici con i numeri reali, oltre che con i numeri interi - 38 -