vuoi
o PayPal
tutte le volte che vuoi
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à: