• Non ci sono risultati.

Soluzione Esercizio1 Domande ArchitetturadegliElaboratori

N/A
N/A
Protected

Academic year: 2021

Condividi "Soluzione Esercizio1 Domande ArchitetturadegliElaboratori"

Copied!
3
0
0

Testo completo

(1)

Cognome e Nome: Matricola:

Architettura degli Elaboratori A - Compito del 21 Giugno 2021

Usare un foglio separato per rispondere alle domande e risolvere gli esercizi, specificando nell’intestazione: Titolo del corso (Architettura degli Elaboratori – Modulo I ), Data esame, Cognome e Nome, Matricola.

Non `e possibile consultare libri o appunti.

Domande

1. Si consideri l’operazione A+B (con A e B numeri binari) nei seguenti casi:

(a) A, B sono numeri naturali senza segno rappresentati su 8 bit;

(b) A, B sono numeri interi espressi in complemento a due su 8 bit.

Si discutano le condizioni che possono causare overflow e come esse possono essere rilevate nei due casi elencati.

2. Scrivere la tabella di verit`a della funzione logica F = (A+B)C + A∼C e realizzare la funzione attraverso un multiplexer.

3. Si descriva il principio di progetto della CPU a singolo ciclo vista a lezione. Dire quali sono le risorse replicate per permettere l’esecuzione delle istruzioni e per quale motivo.

Esercizio 1

Dati i due numeri esadecimali A=C2C60000 e B=41DC0000 1. tradurre i due numeri in binario

2. interpretare le sequenze di bit ottenuti come numeri FP espressi secondo lo standard IEEE754 in singola precisione e tradurle in decimale;

3. eseguire poi la somma usando l’algoritmo di somma di numeri FP e specificando tutti i passaggi. Tradurre il risultato in decimale;

4. rappresentare il risultato ottenuto secondo lo Standard e tradurre la sequenza di bit in esadecimale.

Soluzione

1. Traduzione in binario:

A = 1 10000101 10001100000000000000000 B = 0 10000011 10111000000000000000000

2. Interpretazione delle sequenze come numeri FP IEEE754 in singola precisione:

SA = 1

EA = 100001012 = 13310 = 127 + 6 MA = 1+ 0.100011

Quindi A = - 1,100011 * 26 = - 11000112= - 9910

SB = 0

EB = 100000112 = 13110= 127 + 4 MB = 1+ 0.10111

Quindi B = + 1,10111 * 24= 11011,12 = 27,510

(2)

3. Somma dei numeri FP:

Allineamento esponenti:

MB = 1,10111 * 24= 0,0110111 * 26

I due numeri hanno segno opposto. Introduco la rappresentazione in complemento a due, passando dal valore assoluto:

|A| = 01,100011 * 26 con A negativo => A = 10,011101 * 26

|B| = 00,0110111 * 26 con B positivo => B = 00,0110111 * 26 Somma delle mantisse:

000 111110 A 10,0111010 + B 00,0110111 =

--- C 10,1110001

Rappresentazione del risultato in modulo e segno:

C = 10,1110001 * 26=> C = - 01,0001111 * 26 = -1000111,1 = -71,5 Normalizzazione risultato: non necessaria

4. Rappresentazione secondo lo Standard:

SC = 1

EC = 100001012= 13310 = 127 + 6 MC = 1+ 0,0001111

Cio`e:

C = 1 10000101 00011110000000000000000

Rappresentazione del risultato in esadecimale: C = C28F0000.

Esercizio 2

Si vuole realizzare un circuito combinatorio con quattro variabili in ingresso A,B,C,D e una funzione di uscita F.

Considerare le seguenti condizioni che descrivono il comportamento del circuito:

• F `e vera quando A `e falsa e C,D sono vere;

• F `e vera quando B `e vera e D `e falsa;

• F `e don’t care quando gli ingressi sono tutti falsi oppure tutti veri.

Si richiede di:

1. scrivere la tabella di verit`a di F;

2. scrivere F in forma canonica SP;

3. minimizzare F usando sempre la forma canonica SP;

4. disegnare il circuito finale.

(3)

Soluzione

1. La tabella di verit`a del circuito `e la seguente:

A B C D | F

---

0 0 0 0 | X

0 0 0 1 | 0

0 0 1 0 | 0

0 0 1 1 | 1

0 1 0 0 | 1

0 1 0 1 | 0

0 1 1 0 | 1

0 1 1 1 | 1

1 0 0 0 | 0

1 0 0 1 | 0

1 0 1 0 | 0

1 0 1 1 | 0

1 1 0 0 | 1

1 1 0 1 | 0

1 1 1 0 | 1

1 1 1 1 | X

2. F = ∼A∼BCD + ∼AB∼C∼D + ∼ABC∼D + ∼ABCD + AB∼C∼D - ABC∼D.

3. La mappa di Karnaugh `e la seguente:

C D

A B

00 01 11 10

00 01

11 10

1

1 1 1

1 1

X

X

Si ricava F = ∼ACD + B∼D.

4. Il circuito risultante si ricava direttamente dall’equazione minima.

Esercizio 3

Una macchina M esegue un dato benchmark in 18 secondi. Si supponga di riuscire a migliorare M in modo che tutte le operazioni in virgola mobile siano 2 volte pi`u veloci. Quale sar`a lo speedup nel caso in cui 1/3 del tempo di esecuzione del benchmark sia impiegato per l’esecuzione delle operazioni in virgola mobile?

Soluzione

Applico la legge di Amdahl: ExeTimeaf ter = (1/s · ExeTimebef ore) + [(1 - 1/s) · ExeTimebef ore] / n ExeTimeaf ter = (2/3 · ExeTimebef ore) + [(1/3) · ExeTimebef ore]/2 = 2/3 · 18 + (1/3 · 18)/2 = 12+3 = 15.

Da questo si ricava: SpeedUp = ExeTimebef ore/ExeTimeaf ter =18/15 = 1,2

Dunque, per il benchmark considerato, il miglioramento delle operazioni in virgola mobile porta ad una macchina 1,2 volte pi`u veloce.

Riferimenti

Documenti correlati

PER ESEMPIO Trasformiamo una frazione con denominatore diverso dalle potenze di 10 in numero decimale.. T CAPITOLO 1 • Rappresentazione decimale dei numeri

Se la piattaforma si trova al primo piano e viene premuto il pulsante Up, l’input dev’essere ignorato.. Analogamente, se la piattaforma si trova al piano terra e viene premuto

Tradurre il numero Y prima in decimale e poi in binario; esprimerlo quindi secondo lo Standard IEEE754 in singola precisione;3. Eseguire l’operazione X+Y secondo lo Standard

Il valore di F deve essere affermato quando gli ingressi, interpretati come numero naturale senza segno (con A cifra pi` u significativa e D cifra meno significativa), rappresentano

In particolare : (a) un’architettura pipeline senza forwarding e con il register file speciale che scrive un registro nella prima parte del ciclo e legge una coppia di registri

Usare un foglio separato per rispondere alle domande e risolvere gli esercizi, specificando nell’intestazione: Titolo del corso (Architettura degli Elaboratori – Modulo I ), Data

Quindi dopo la prima ripetizione dei resti si presenteranno anche i quozienti ripetuti nello stesso ordine, dando origine

• numeri Cardinali – servono per stabilire delle quantità finite, come l’età di una persona, il numero di oggetti, i ragazzi in una classe, ecc.. Sono scritti nel