Anteprima
Vedrai una selezione di 3 pagine su 6
Prove svolte Architettura dei calcolatori Pag. 1 Prove svolte Architettura dei calcolatori Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Prove svolte Architettura dei calcolatori Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

R: (3 pt) Codifichiamo i due operandi in aritmetica complemento a due a 6 bit ed eseguiamone la

somma algebrica:

111111 +

111110 =

--------

1111101

Ora, scartando il bit di overflow, il numero in aritmetica complemento a due a 6 bit corrisponde

111101

−3.

effettivamente a

3. [INF] Evitando di tenere conto delle codifiche di numeri speciali, quale sarebbe il numero più grande che

può essere codificato in notazione floating point IEEE 754 a 32 bit? A quale valore corrisponde?

R: (3 pt) Il numero più grande che può essere codificato in notazione floating point IEEE 754 a 32 bit

evidentemente avrà mantissa (23 bit) ed esponente (8 bit) massimi. Quindi, evitando di tenere conto

−1 −23 128

·

delle codifiche speciali, è uguale a corrispondente a (1 + 2 + . . . + 2 ) 2 .

7.FFFFFFF

4. Assumendo che il numero dei transistor all’interno di un chip di memoria quadruplichi ogni tre anni,

si dica quanto tempo occorre affinchè a parità di superficie del chip la capacità di memoria cresca di 8

volte.

R: (3 pt) Dal dato sulla crescita si evince che, a parità di superficie, il numero dei transistor all’interno

· ·

di un chip di memoria cresce di un fattore 2 ogni anno e mezzo. Quindi, da 8 = 2 2 2, la memoria sarà

cresciuta di otto volte dopo 1.5 + 1.5 + 1.5 = 4.5 anni, cioè dopo quattro anni e mezzo.

5. Adoperando le regole dell’algebra booleana date a lezione, si realizzi una porta binaria adoperando

NAND

porte binarie.

NOR

R: (3 pt)

= + = +

AB A B A B.

Ricordando che = + se ne conclude che 4 porte binarie sono sufficienti per realizzare la porta

A A A, NOR

in questione.

6. [INF] Si dimostri l’uguaglianza = = + adoperando una mappa di Karnaugh.

E AB A B

R: (3 pt) Dalla tabella di verità della porta = si ha immediatamente:

NAND E AB

B 0 1

--------

A 0 | 1 1 |

1 | 1 0 |

--------

Minimizzando sulla mappa in modo convenzionale oppure duale si trova in ogni caso = +

E A B.

7. Comunque sia stato risolto l’esercizio 5, quanti transistor occorrono in totale per realizzare la rete logica

di porte trovate allo stesso esercizio?

NOR ·

R: (3 pt) Poiché ogni porta binaria necessita di 2 transistor per essere realizzata, 4 2 = 8 transistor

NOR

sono sufficienti per realizzare la rete proposta.

8. [INF] Si spieghi sinteticamente l’utilità della realizzazione flip-flop master-slave dopo avere disegnato il

relativo circuito.

R: (3 pt) Si rimanda alla corrispondente spiegazione presente nei lucidi.

9. Un trasmettitore di bit adopera un codice binario a ripetizione tripla di ogni bit da trasmettere. Nel-

l’ipotesi in cui i bit da trasmettere formino parole lunghe 4 bit, si spieghi come il ricevitore può essere

programmato per decodificare sempre una parola di 4 bit con la minima probabilità di commettere un

errore.

R: (3 pt) Poiché ogni bit da trasmettere viene ripetuto tre volte, la decodifica avente probabilità di

errore più piccola la si realizza scegliendo il valore che ricorre più frequentemente in ogni tripletta,

indipendentemente dalla lunghezza della parola.

10. Quali sono gli strumenti software messi a disposizione dell’utente dall’IDE Arduino per la comunicazione

seriale?

R: (3 pt) L’IDE, oltre a fornire un monitor seriale per leggere/scrivere da/verso Arduino via protocollo

USB, mette a disposizione dell’utente delle primitive per:

- instaurare la comunicazione impostando il baud rate [Serial.begin(baud)];

- terminare la comunicazione e liberare i pin [Serial.end()];

- sapere se stanno arrivando dei dati sul buffer di lettura [Serial.available()];

- leggere un byte dalla coda del buffer della seriale [Serial.read()];

- scrivere valori binari o caratteri attraverso diversi metodi [Serial.write(val), Serial.print(val), Serial.println(val)];

- attendere che la comunicazione in uscita sia completata prima di eseguire l’istruzione seguente [Se-

rial.flush()];

- eseguire una callback quando sono ricevuti nuovi dati [Serial.serialEvent()].

11. Un bus parallelo a 4 linee trasmette bit con continuità a una frequenza f = 128 kHz su ogni linea. Quanti

Mbit ha trasmesso dopo t = 20 minuti di funzionamento?

R: (3 pt) 20 minuti corrispondono a un tempo t = 1200 s. Poiché in un secondo ogni linea trasmette

3 3 3

· · · · ·

128 10 bit, dopo il tempo t il bus ha trasmesso 4 1200 128 10 = 614400 10 bit = 614.4 Mbit.

12. Una semplice architettura a 16 bit dispone di una memoria di programma formata da locazioni di 8

bit avente un’estensione di 4 KByte. Quanti bit dev’essere tipicamente esteso il campo argomento di

un’istruzione (a 16 bit) di salto incondizionato affinchè la memoria di programma disponibile possa essere

interamente indirizzata? 12

R: (3 pt) Disponendo l’architettura di 4 KByte = 2 locazioni di un byte, all’istruzione di salto è

richiesto di indirizzare qualunque coppia di locazioni consecutive, cioè qualunque word di 16 bit. Occorre

12 11

quindi poter specificare 2 /2 = 2 indirizzi, quindi occorrono 11 bit. Poichè tuttavia l’indirizzamento

deve poter anche essere fatto all’indietro occorre un bit aggiuntivo per il segno, quindi in definitiva il

campo argomento della nostra istruzione di salto incondizionato occupa 11 + 1 = 12 bit.

13. Avendo a disposizione una memoria RAM fisica di 16 MB, in un’architettura a 32 bit fornita di sufficiente

memoria di massa si vuole realizzare una memoria virtuale paginata che sfrutta tutto l’intervallo d’indi-

rizzamento. Assumendo che ogni pagina abbia un’estensione di 256 kB, si calcolino le dimensioni della

page table i) nel caso in cui ogni pagina possa essere collocata in una qualunque posizione in memoria

principale, e ii) nel caso in cui ogni pagina possa essere posizionata solamente in un page frame della

memoria principale. 10 18 32 18 14

·

R: Ogni pagina occupa 256 2 = 2 byte. La page table dovrà quindi mappare 2 /2 = 2 pagine.

14 24

Quindi, essa sarà costituita da 2 righe. Poichè la RAM ha estensione uguale a 16 MB = 2 byte,

ciascuna riga sarà lunga i) 24 bit più il bit di presenza/assenza nel caso in cui ogni pagina possa essere

24 18 6

collocata in una qualunque posizione in memoria principale, e ii) 6 bit (da 2 /2 = 2 ) più il bit di

presenza/assenza nel caso in cui ogni pagina possa essere posizionata solamente in un page frame della

14

·

memoria principale. Le dimensioni della page table saranno quindi rispettivamente di (24 + 1) 2 bit

14

·

nel caso i), e di (6 + 1) 2 bit nel caso ii).

14. [INF] Scrivere un programma in assembly per ARM il quale, potendo avere accesso a un array di interi

positivi presente nella memoria di lunghezza parimenti specificata in memoria, calcola e salva in

n

memoria la norma dell’array definita come la differenza tra il massimo e il minimo elemento. Per

esempio, se l’array contiene gli elementi allora la norma è uguale a

1,23,5,7,12,114,8,7,6 114-1 =

É gradita la presenza di commenti al codice prodotto.

113.

R: (9 pt)

.data

n: .word 9

array: .word 1,23,5,7,12,114,8,7,6

result: .skip 4

.text

main: ldr r1, =n

ldr r1, [r1] @ array length in r1

cmp r1, #0 @ if null length...

beq exit @ then exit

ldr r0, =array @ array head position in r0

ldr r2, [r0] @ minimum in r2

ldr r3, [r0], #4 @ maximum in r3, point to next

loop_el: @ iterate on elements

subs r1, r1, #1 @ decrease r1; if r1 == 0...

beq norm @ ...then compute norm

ldr r4, [r0], #4 @ load element in r4, point to next

cmp r4, r2 @ if r4 < minimum...

movlt r2, r4 @ ...update minimum

cmp r4, r3 @ if r4 > maximum...

movgt r3, r4 @ ...update maximum

b loop_el @ iterate on next element

norm: sub r4, r3, r2 @ compute array norm

ldr r1, =result

str r4, [r1] @ save result

exit: swi 0x11 @ exit

.end DMIF — Dipartimento di Scienze

Università degli Studi di Udine Matematiche, Informatiche e Fisiche

Esame di Architetture degli Elaboratori

Soluzione

A.A. 2021-22 — V appello — 13 settembre 2022

N.B.: il punteggio associato ad ogni domanda è solo una misura della difficoltà, e peso, di ogni domanda.

Per calcolare il voto complessivo bisogna normalizzare a 32.

−3.45 nella base 10? Se sı̀, si dia il risultato nella nuova base calcolandolo

1. Si può convertire il numero 5

fino alla terza cifra decimale.

R: (3 pt) No, in quanto il numero da convertire non ha senso per come è stato denotato.

−120 −

2. Si esegua l’operazione 150 in aritmetica complemento a due a 8 bit. Che risultato dà? 7

−2

R: (3 pt) Ricordando che l’intervallo calcolabile in aritmetica complemento a due a 8 bit va da =

7

−128 − −120 − −270 −128

a 2 1 = 127, è immediato verificare che il risultato dell’operazione 150 = <

non è rappresentabile all’interno dello stesso intervallo. Il risultato è dunque in overflow.

−9.5

3. [INF] Convertire il numero decimale in codifica floating point IEEE 754 a 32 bit.

−1001.1

R: (3 pt) Riscriviamo innanzitutto il numero in base due: . Riportandolo in notazione mantissa

2

−1.0011

ed esponente: La codifica richiesta avrà dunque bit di segno asserito, campo esponente in

E3.

2

notazione eccesso 127 e dunque uguale a 127 + 3 = 130 = , e infine mantissa uguale a .

10000010 0011

2 2

Sistemando sui 32 bit previsti dallo standard IEEE 754 e convertendo alla base esadecimale:

1|1 0 0 0 0 0 1 0|0 0 1 1 0 0 0 0|0 0 0 0 ...

C | 1 | 1 | 8 | 0 | 0 ...

da cui la codifica richiesta: 0xC1180000. si

4. Assumendo che il numero dei transistor all’interno di un chip di memoria triplichi ogni quattro anni,

dica di quanto è aumentata la capacità di memoria a parità di superficie del chip dopo sei anni.

R: (3 pt) Dal dato sulla crescita si evince che, a parità di superficie, il numero dei transistor all’interno

√ √ √ √ √

di un chip di memoria cresce di un fattore 3 ogni due anni. Quindi, da 3 3 = 3 3 3, la memoria

sarà cresciuta di 3 3 volte dopo 2 + 2 + 2 anni, cioè dopo sei anni.

5. Un chip LED come quello in figura può assumere 10 configurazioni diverse a seconda della cifra decimale

che i diodi luminosi devono visualizzare. Si dia una tabella di verità la quale, codificata in base due

una cifra decimale in ingresso, accende correttamente i 7 diodi a seconda della cifra da visualizzare. Si

ordinino definitivamente i sette diodi in tabella di verità come si preferisce.

R: (3 pt) Per esempio, scelta una numerazione da 1 a 7 per le uscite ,. . . ,E scorrendo progressivamente

E

1 7

i LED dall’alto in basso e da sinistra a destra, gli ingressi ,. . . ,I soddisferanno la seguente tabella di

I

1 4

verità:

Dettagli
Publisher
A.A. 2023-2024
6 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher danciogancio di informazioni apprese con la frequenza delle lezioni di Architettura dei calcolatori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Udine o del prof Fontana Federico.