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

Documenti analoghi
Outline. cose da ricordare (cont d) Aritmetica di macchina: cose da ricordare

SECONDA PROVA INTERMEDIA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO ORDINAMENTO DIDATTICO 14 Gennaio 2011

PROVA SCRITTA DEL CORSO DI CALCOLATORI ELETTRONICI 26 Settembre 2012

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 17 Febbraio 2006

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Unità aritmetica e logica

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 Giugno 2014

Numeri frazionari nel sistema binario

Codifica. Rappresentazione di numeri in memoria

Fondamenti di Informatica - 1. Esercizi A.A. 2011/2012

ARCHITETTUREDIELABORAZIONE,a.a Esercizi d esame NUMERI BINARI

Esercizi su Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Rappresentazione di numeri in virgola mobile

Rappresentazione dei Numeri

Parte III Indice. Rappresentazione dei valori frazionari. Esercizi. in virgola fissa in virgola mobile III.1. Fondamenti di Informatica

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

Informatica Generale 02 - Rappresentazione numeri razionali

Esempio: Il formato floating point standard IEEE P754 (precisione semplice)

Fondamenti di Informatica

Corso di Circuiti Logici Appunti e Approfondimenti A. Di Stefano

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 10 Novembre 2015

Rappresentazione FP IEEE-754 Somme di numeri FP

Esercitazione n. 5. Rappresentazione dei numeri

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

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

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 giugno 2015 NOME: COGNOME: MATRICOLA:

Lezione 3. I numeri relativi

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Numeri in virgola. Marco D. Santambrogio Ver. aggiornata al 14 Novembre 2014

SECONDA PROVA INTERMEDIA DEL MODULO DI

Aritmetica dei calcolatori. La rappresentazione dei numeri

SECONDA PROVA INTERMEDIA DEL MODULO DI

SECONDA PROVA INTERMEDIA DEL MODULO INTEGRATO DI NOME: COGNOME: MATRICOLA:

Aritmetica dei calcolatori

Numeri con segno ed in virgola

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 giugno 2018 NOME: COGNOME: MATRICOLA:

SECONDA PROVA INTERMEDIA DEL MODULO DI C A L C O L A T O R I E L E T T R O N I C I 5 Giugno 2012

Rappresentazione in virgola mobile Barbara Masucci

Esercitazione del 03/03/ Soluzioni

Esercitazione 1 del 07/10/2011

5DSSUHVHQWD]LRQH)3,((( 6RPPHGLQXPHUL)3

Esercitazione del 09/03/ Soluzioni

Corso di Informatica B - Sezione D

Rappresentazione dei numeri reali

Esercitazione 1 del 10/10/2012

Utilizzata per rappresentare numeri frazionari nella. numero =(mantissa) 2 esponente. Il formato piu utilizzato e quello IEEE P754, rappresentato

Codifica dell informazione numerica. Matteo Re, Nicola Basilico,

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

Lezione 1. Rappresentazione dei numeri. Aritmetica dei calcolatori. Rappresentazione dei numeri naturali in base 2

Rappresentazione in virgola fissa. Rappresentazione in virgola mobile (floating point)

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Lezione 9 Aritmetica in virgola mobile (3)

Codifica dell Informazione per il Calcolo Scientifico

PROVA SCRITTA DEL MODULO DI NOME: COGNOME: MATRICOLA:

Esercitazione del 05/03/ Soluzioni

Algebra di Boole e porte logiche

SECONDA PROVA INTERMEDIA DEL MODULO DI. 5 giugno 2018 NOME: COGNOME: MATRICOLA:

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

Rappresentazione dei numeri reali in un calcolatore

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

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

Rappresentazione dell informazione

Rappresentazione dell Informazione

Codifica dell informazione numerica

Calcolatori Elettronici da 6CFU (CdL Ingegneria Informatica) Esame del 20 luglio 2018 tempo a disposizione: 1 ora e 25 minuti

Informazione binaria: - rappresentazione dei numeri razionali -

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Codifica dell informazione numerica

Codifica binaria: - numeri razionali -

Aritmetica dei Calcolatori - Operazioni

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Roberto Navigli

Rappresentazione della informazione

Numeri in virgola mobile

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

Rappresentazione numeri reali

CALCOLO NUMERICO. Rappresentazione virgola mobile (Floating Point)

Esercitazioni su rappresentazione dei numeri e aritmetica. Interi unsigned in base 2

Un quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI

Rappresentazione dei numeri reali in un calcolatore

Rappresentazione numeri relativi e reali

Rappresentazione dei numeri reali in un calcolatore

SECONDA PROVA INTERMEDIA DEL CORSO DI C A L C O L A T O R I E L E T T R O N I C I NUOVO ORDINAMENTO DIDATTICO 14 Gennaio 2010

Esercitazione 1 del 9/10/2013

Interi unsigned in base 2. Esercitazioni su rappresentazione dei numeri e aritmetica. Conversione binario-decimale

Aritmetica binaria e circuiti aritmetici

PROVA SCRITTA DEL MODULO INTEGRATO E DEL CORSO DI NOME: COGNOME: MATRICOLA: CFU:

Esercitazione del 2/3/2010- Numeri binari e conversione

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Rappresentazione dei Numeri in Virgola Mobile Valeria Cardellini

Elementi di Informatica e Programmazione

Lezione 2. Rappresentazione dell informazione

Esercitazione 1 del 8/10/2014

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Rappresentazione dei dati

Sistemi di Numerazione Binaria

ESERCIZIO 1 (12 punti) 1. (2 punti) Scrivere la sequenza di istruzioni MIPS che implementino lo pseudocodice:

Rappresentazione dei numeri reali

Transcript:

Esercitazione di Calcolatori Elettronici Prof. Fabio Roli Corso di Laurea in Ingegneria Elettrica ed Elettronica Capitolo 6 Unità di Elaborazione Aritmetica di Macchina Progettazione ALU

Outline Aritmetica dei calcolatori Rappresentazione dei numeri Algoritmo della somma nei calcolatori Progettazione ALU

Aritmetica di macchina: cose da ricordare Un numero binario in virgola fissa senza segno si rappresenta come: N 1 M i i a i 2 bi 2 i0 i1 Dove: a N-1 a 0 sono gli N bit della parte intera; b 1 b M sono gli M bit della parte frazionaria (dal più significativo). Omettendo le potenze di due, un numero in virgola fissa si rappresenta con la sequenza di N+M bit: a N-1 a 0. b 1 b M Punto separatore della parte intera da quella frazionaria

q q q N N i i 1 1 1 0 M M i i N N i i q q 2 1 2 2 1 2 2 2 1 1 1 0 Parte intera: Parte frazionaria: Queste formule sono utili per il calcolo del massimo valore assumibile, in valore assoluto, dalla parte intera e dalla parte frazionaria di un numero binario, in quanto tutti i bit sono posti a 1: cose da ricordare (cont d)

Es. 1 - Aritmetica dei calcolatori Si consideri un campo di 5 bit, utilizzati per la rappresentazione dei numeri in virgola mobile secondo i seguenti formati: 1 bit segno, 2 bit per l esponente (eccesso 1), 2 bit per la mantissa (1.M) 1 bit segno, 3 bit per l esponente (eccesso 3), 1 bit per la mantissa (1.M) 1. Indicare quanti sono i valori rappresentabili nei due casi. 2. Indicare il minimo e il massimo valore positivo rappresentabili, escluso lo zero, dettagliando i passaggi intermedi. 3. Rappresentare il valore 5 nei due casi, specificando a quale valore esso venga approssimato nel caso non sia rappresentabile esattamente.

Soluzioni 3. 1. Il numero di valori rappresentabili in entrambi i formati è 32=2 5, avendo a disposizione 5 bit Non importa il formato, ma il numero di bit disponibili! 2. Minimo e massimo valore positivo rappresentabile: Rappresentazione n.1. Minimo: 0.5; massimo: 7 Rappresentazione n.2. Minimo: 2-3 ; massimo: 24 5 10 = 101 2 = 1.01 * 2 2 S E M Rappresentazione 1: 0 11 01 Rappresentazione 2: 0 101 0 * Si noti che, a causa del numero limitato di bit disponibili per la mantissa, la rappresentazione 2 non è in grado di rappresentare il numero dato. Si provi infatti a convertire il numero in decimale.

Es. 2 - Aritmetica dei calcolatori (16/01/03) Sono dati i seguenti formati per la rappresentazione dei numeri in un calcolatore (campo complessivo 28 bit): Interi senza segno. Reali in virgola fissa con bit di segno, parte intera e nove bit per la parte frazionaria. Reali in virgola mobile con bit di segno, esponente in eccesso 63 (7 bit) e mantissa frazionaria e normalizzata in segno e valore 1.M. 1. Si richiede il minimo e massimo valore raggiungibili in valore assoluto, escluso lo zero. 2. Rappresentare il numero 121.25 in ciascuno dei tre formati.

Soluzione Interi senza segno Minimo valore: 1 Massimo valore: 2 28-1 Virgola fissa con bit di segno Minimo valore: 2-9 Massimo valore: 2 18-2 -9

Soluzione Virgola mobile con bit di segno (1.M) Minimo valore: 2-63 Massimo valore: 2 64 * (2-2 -20 )

Rappresentare 121.25 nei tre formati Interi senza segno Possiamo rappresentare solo la parte intera: 121 Virgola fissa 121.25 = 1111001.01 Virgola mobile 121.25 = 1111001.01 = 1.11100101 * 2 6 6 = 110 eccesso 63 110 + 0111111 = 1000101

Calcolare il range dei seguenti formati, con 32 bit a disposizione Rappresentazione in virgola fissa in segno e valore con bit di segno, e 9 bit per la parte frazionaria Rappresentazione in virgola mobile con esponente di 8 bit in eccesso 128 e mantissa frazionaria, normalizzata in segno e valore 0.M Rappresentazione in virgola mobile con esponente di 8 bit in complemento a due e mantissa frazionaria, normalizzata in segno e valore 0.M Rappresentazione in virgola mobile con esponente di 8 bit in eccesso 127 e mantissa frazionaria, normalizzata in segno e valore 1.M (standard IEEE 754) Verificate con MARS (Tools->Floating Point Representation) http://courses.missouristate.edu/kenvollmar/mars/download.htm Attenzione alle rappresentazioni di NaN, Inf, etc http://steve.hollasch.net/cgindex/coding/ieeefloat.html

Es. 3 - Aritmetica dei calcolatori Si considerino i numeri interi decimali 121.25 e 32.75. Rappresentarli nel formato in virgola mobile dato dal precedente esercizio: Reali in virgola mobile con bit di segno, rappresentati su 28 bit, con esponente in eccesso 63 (su 7 bit) e mantissa frazionaria, normalizzata in segno e valore 1.M Sommare i due numeri rappresentati in virgola mobile seguendo i passi dell algoritmo usato nei calcolatori

Soluzione 121.25 = 1111001.01 = 1.11100101 * 2 6 32.75 = 100000.11 = 1.0000011 * 2 5 1. Confronto esponenti ed allineamento mantisse 1.0000011 * 2 5 = 0.10000011 * 2 6 2. Somma delle mantisse 1.11100101 + 0.10000011 = 10.01101000 3. Normalizzazione della mantissa del risultato 10.01101000 * 2 6 = 1.001101000 * 2 7 Risultato:

Es. 4 - Aritmetica dei calcolatori Si consideri il seguente formato per la rappresentazione binaria dei numeri in virgola mobile: 24 bit, con esponente a 8 bit in eccesso 125, mantissa frazionaria e normalizzata in segno e valore (1.M). 1. Si calcoli il minimo e il massimo numero positivo rappresentabili, escluso lo zero. 2. Si rappresentino nel formato dato i numeri 130.25 e 120.75. 3. Si sommino i due numeri seguendo i passi usati nell algoritmo dei calcolatori.

Soluzione 1. Minimo numero: 2-125. Massimo numero: (2-2 -15 )* 2 130. 2. 130.25 = 10000010.01 = 1.000001001 * 2 7. 120.75 = 1111000.11 = 1.11100011 * 2 6. In eccesso 125: 7 111 + 1111101 = 10000100 6 110 + 1111101 = 10000011 S Esponente Mantissa 130.25 0 10000100 0000010010000000 120.75 0 10000011 1110001100000000

Soluzione 3. Seguendo l'algoritmo dei calcolatori, la somma si realizza coi seguenti passi: a) Confronto degli esponenti e allineamento. L'esponente del primo numero è superiore a quello del secondo, per cui il secondo numero viene portato allo stesso esponente del primo. Per far ciò la mantissa scorre verso destra di una posizione, venendo così denormalizzata: 1.11100011 -> 0.111100011 b) Somma delle mantisse. Ora è possibile sommare le mantisse: 1.000001001 + 0.111100011 = ----------------------- 1.111101100 c) Eventuale normalizzazione del risultato. Non v'è alcun bisogno di normalizzare il risultato, essendo il riporto dopo il primo bit della parte intera nullo, per cui il risultato si rappresenta con lo stesso esponente e con la parte frazionaria della mantissa: S Esponente Mantissa 251.00 0 10000100 1111011000000000

Progettazione ALU: cose da ricordare Schema progettuale C in Trasformazione operandi bit a bit attraverso reti combinatorie dedicate Parallel adder per svolgere la somma finale e realizzare la funzione richiesta in uscita A 1 A N B 1 B N S 1 S 0 Rete Combinatoria per il riporto Rete Combinatoria A.. Rete Combinatoria A Rete Combinatoria B.. Rete Combinatoria B A 1 new A N new B 1 new B N new P A R. A D D E R R 1.. R N

Es. 1 - Progettazione ALU (16/01/03) Progettare una ALU che esegua le seguenti operazioni su due operandi A e B di n bit: Implementare la ALU utilizzando le opportune reti logiche e un parallel adder. Indicare uno schema più efficiente, in termini di tempi di ritardo, di quello presentato nei punti precedenti.

Schema base di una ALU a n bit Bit di controllo C in S 1 S 0 Rete Combinatoria per il riporto Primo operando Secondo operando A 1 A N B 1 B N Rete Combinatoria A.. Rete Combinatoria A Rete Combinatoria B.. Rete Combinatoria B new A 1 new A N new B 1 new B N P A R. A D D E R R 1.. R N

Soluzione Seconda domanda: Per uno schema più efficiente basta sostituire un carry lookahead adder al posto del parallel adder, in modo da evitare il problema dei ritardi dovuti al riporto. E possibile anche sostituire le varie reti combinatorie con dei multiplexer.

Es. 2 - Progettazione ALU Progettare una ALU che realizzi le seguenti funzionalità: dove A e B sono i due operandi a N bit. 1. Realizzare la ALU utilizzando un parallel adder e un opportuna rete logica, illustrando graficamente lo schema progettuale. 2. Realizzare la ALU utilizzando un MUX 4-1 in luogo delle reti logiche del punto precedente.

Soluzione 1. L esercizio si risolve semplicemente implementando le reti logiche che elaborano ogni bit degli operandi prima di passarli al parallel adder. Tali reti logiche si ricavano analizzando la tabella di verità nel testo dell esercizio:

Soluzione Lo schema progettuale è il seguente:

Soluzione 2. Per quanto riguarda i due MUX 4-1, devono essere pilotati come segue (si supponga che dal primo ingresso in alto i bit di selezione valgano 00,01,10,11): Bi 0

Es. 3 - Progettazione ALU Progettare una ALU che esegua le seguenti operazioni su due operandi A e B di n bit: A+B Si utilizzi un parallel adder a n bit e una opportuna rete logica, tenendo conto che c è il bit di riporto in ingresso al parallel adder. Si sostituisca la rete logica del passo precedente con due MUX 4-1.

Soluzione prima domanda

Soluzione seconda domanda