Estratto del documento

Codifica e operazioni in complemento a due

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 effettivamente a -3.

Numero più grande in notazione floating point IEEE 754

[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 delle codifiche speciali, è uguale a (1 + 2-1 + ... + 2-23) × 2128.

Crescita della capacità di memoria del chip

R: (3 pt) 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. 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.

Realizzazione di una porta binaria

Si realizzi una porta binaria adoperando porte binarie NAND e NOR. R: (3 pt) = + = +
AB = A + B = A + B.
Ricordando che A = A + A, se ne conclude che 4 porte binarie sono sufficienti per realizzare la porta NOR in questione.

Uguaglianza con mappa di Karnaugh

[INF] Si dimostri l’uguaglianza E = AB = A + B adoperando una mappa di Karnaugh.
R: (3 pt) Dalla tabella di verità della porta NAND E = AB si ha immediatamente:

ABE
001
011
101
110

Minimizzando sulla mappa in modo convenzionale oppure duale si trova in ogni caso E = A + B.

Transistor necessari per la rete logica

Comunque sia stato risolto l’esercizio 5, quanti transistor occorrono in totale per realizzare la rete logica di porte trovate allo stesso esercizio?
R: (3 pt) Poiché ogni porta binaria NOR necessita di 2 transistor per essere realizzata, 4 × 2 = 8 transistor sono sufficienti per realizzare la rete proposta.

Utilità del flip-flop master-slave

[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.

Decodifica binaria a ripetizione tripla

Un trasmettitore di bit adopera un codice binario a ripetizione tripla di ogni bit da trasmettere. Nell’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.

Strumenti software dell'IDE Arduino

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 [Serial.flush()]
  • Eseguire una callback quando sono ricevuti nuovi dati [Serial.serialEvent()]

Trasmissione su un bus parallelo a 4 linee

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 128 × 103 bit, dopo il tempo t il bus ha trasmesso 4 × 1200 × 128 × 103 bit = 614400 × 103 bit = 614.4 Mbit.

Estensione del campo argomento di un'istruzione

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?
R: (3 pt) Disponendo l’architettura di 4 KByte = 212 locazioni di un byte, all’istruzione di salto è richiesto di indirizzare qualunque coppia di locazioni consecutive, cioè qualunque word di 16 bit. Occorre quindi poter specificare 212/2 = 211 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.

Memoria virtuale paginata

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’indirizzamento. 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.
R: Ogni pagina occupa 256 × 210 = 218 byte. La page table dovrà quindi mappare 232/218 = 214 pagine. Quindi, essa sarà costituita da 214 righe. Poiché la RAM ha estensione uguale a 16 MB = 224 byte, ciascuna riga sarà lunga i) 24 bit più il bit di presenza/assenza nel caso in cui ogni pagina possa essere collocata in una qualunque posizione in memoria principale, e ii) 6 bit (da 224/218 = 26) più il bit di presenza/assenza nel caso in cui ogni pagina possa essere posizionata solamente in un page frame della memoria principale. Le dimensioni della page table saranno quindi rispettivamente di (24 + 1) × 214 bit nel caso i), e di (6 + 1) × 214 bit nel caso ii).

Programma in assembly per ARM

[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 memoria la norma dell’array definita come la differenza tra il massimo e il minimo elemento. Per esempio, se l’array contiene gli elementi 1,23,5,7,12,114,8,7,6 allora la norma è uguale a 114-1. È gradita la presenza di commenti al codice prodotto.

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

Conversioni e operazioni aritmetiche

Conversione del numero 5-3.45

Si può convertire il numero 5-3.45 nella base 10? Se sì, si dia il risultato nella nuova base calcolandolo fino alla terza cifra decimale.
R: (3 pt) No, in quanto il numero da convertire non ha senso per come è stato denotato.

Operazione in complemento a due a 8 bit

Si esegua l’operazione 150 - 120 in aritmetica complemento a due a 8 bit. Che risultato dà?
R: (3 pt) Ricordando che l’intervallo calcolabile in aritmetica complemento a due a 8 bit va da -128 a 127, è immediato verificare che il risultato dell’operazione 150 - 120 = 30 non è rappresentabile all’interno dello stesso intervallo. Il risultato è dunque in overflow.

Codifica in floating point IEEE 754 a 32 bit

[INF] Convertire il numero decimale -9.5 in codifica floating point IEEE 754 a 32 bit.
R: (3 pt) Riscriviamo innanzitutto il numero in base due: -1001.1. Riportandolo in notazione mantissa ed esponente: -1.0011 × 23. La codifica richiesta avrà dunque bit di segno asserito, campo esponente in notazione eccesso 127 e dunque uguale a 127 + 3 = 130 = 10000010, e infine mantissa uguale a 0011. 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 ... da cui la codifica richiesta: 0xC1180000.

Crescita della capacità del chip di memoria

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.

Tabella di verità per un chip LED

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 E1,...,E7 scorrendo progressivamente i LED dall’alto in basso e da sinistra a destra, gli ingressi I1,...,I4 soddisferanno la seguente tabella di verità:

Ingresso (I1...I4) Uscita (E1...E7)
0000 1111110
0001 0110000
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
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
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.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community