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

Al fine di rispettare questa nuova specifica, quanto dovrà valere la nuova frequenza?

3

·

R: (3 pt) Poiché in un secondo ogni linea trasmette 128 10 bit, la banda del bus inizialmente vale

3 3

· · ·

8 128 10 = 1024 10 bit/s = 1 Mbit/s. Se si desidera che dopo l’espansione la nuova banda valga

3

· · ·

3 Mbit/s, le corrispondenti 12 linee dovranno essere tali da garantire 12 f = 3 1024 10 bit/s. Di

e

3

·

qui, f = 3072/12 10 = 256 kHz. Intuitivamente, infatti, se il numero di linee aumenta del 50% e se la

e

frequenza raddoppia, allora la banda del bus triplica.

12. Su un’architettura a 32 bit viene realizzata un’ISA di 34 istruzioni a lunghezza fissa. Quante istruzioni

al momento indefinite potranno essere aggiunte in futuro all’ISA nell’ipotesi di mantenere il vincolo

sulla lunghezza fissa? Quanti bit sono al momento disponibili per la specifica degli argomenti nell’ISA

realizzato? −

R: (3 pt) Qualunque lunghezza fissa L scelta va bene. Fatta questa scelta, restano disponibili 32 L

bit per specificare gli argomenti delle istruzioni. Se per semplicità si sceglie la lunghezza più piccola,

allora un set di 34 istruzioni richiede 6 bit per essere specificato. Idealmente, quindi, restano indefinite

6 −

2 34 = 30 codifiche su cui possono essere realizzate ulteriori 30 istruzioni di 6 bit. Evidentemente, la

parte restante di 32 6 = 26 bit è disponibile per specificare gli argomenti delle istruzioni.

13. La memoria virtuale paginata di un’architettura a 32 bit, fornita di sufficiente memoria di massa, è

20

configurata per indirizzare 2 pagine. La stessa architettura ha a disposizione una memoria fisica in

5

grado di contenere 2 pagine in caso di riempimento ottimale della stessa memoria. Mantenendo fermo il

vincolo sul riempimento ottimale, ovvero nel caso in cui ogni pagina possa essere posizionata solamente

in un page frame della memoria principale, si calcolino le dimensioni della page table.

20 5 20

R: La page table dovrà mappare 2 pagine su 2 page frame. Quindi, essa sarà costituita da 2 righe

ciascuna delle quali formata dai 5 bit necessari a indirizzare un page frame più il bit di presenza/assenza.

20 ·

Ne risulta una dimensione di 2 6 = 6291456 bit = 768 kB.

14. [INF] Si consideri il seguente programma in assembly per ARM il quale, potendo avere accesso in memoria

a un array di interi positivi di lunghezza parimenti specificata in memoria, crea una corrispondente

n

lista concatenata (eventualmente vuota):

.data

head: .skip 4

stringa:

.asciz "inputLista.txt"

.text

main: @@ create list containing the array elements

ldr r4, =head @ list head address in r4

ldr r0, =stringa @ string head address in r0

mov r1, #0 @ read mode

swi 0x66 @ open file in read mode

mov r2, r0 @ save file handler

swi 0x6c @ read number of integers

movs r3, r0 @ save number of integers in r3, check if empty list

streq r3, [r4] @ #NULL head if empty list

beq end @ go to end if empty list

next_node: @@ create nodes

mov r0, #8 @ allocate 8 bytes

swi 0x12 @ create node, pointer in r0

str r0, [r4] @ enlist new node

mov r6, r0 @ copy new address in current pointer

mov r0, r2 @ load file handler

swi 0x6c @ read integer from file

mov r5, r0 @ save integer in r5

str r5, [r6,#4] @ store integer, point to address

subs r3, r3, #1 @ decrement r3

movne r4, r6 @ if another node then advance r4

bne next_node @ next read

str r3, [r6] @ last node points to NULL

end: @@ exit

swi 0x11

.end

Si aggiunga al programma del codice che realizza la procedura seguente: se la lista possiede un nodo

che contiene come dato il numero intero 6, alla lista viene concatenato un nuovo nodo contenente il

numero intero 8 in posizione immediatamente successiva a quello che contiene il numero intero 6. Per

esempio, se la lista concatena gli elementi allora la stessa lista successivamente all’esecuzione

1,6,23,5

della procedura concatenerà gli elementi Non occorre trascrivere il codice soprastante nella

1,6,8,23,5.

soluzione. É gradita la presenza di commenti al codice prodotto.

R: (9 pt)

.data

head: .skip 4

stringa:

.asciz "inputLista.txt"

.text

main: ldr r4, =head @ list head address in r4

ldr r0, =stringa @ string head address in r0

mov r1, #0 @ read mode

swi 0x66 @ open file in read mode

mov r2, r0 @ save file handler

swi 0x6c @ read number of integers

movs r3, r0 @ save number of integers in r3, check if empty list

streq r3, [r4] @ #NULL head if empty list

beq end @ go directly to end if empty list

next_node:

mov r0, #8 @ allocate 8 bytes

swi 0x12 @ create node, pointer in r0

str r0, [r4] @ enlist new node

mov r6, r0 @ copy new address in current pointer

mov r0, r2 @ load file handler

swi 0x6c @ read integer from file

mov r5, r0 @ save integer in r5

str r5, [r6,#4] @ store integer, point to address

subs r3, r3, #1 @ decrement r3

movne r4, r6 @ if another node then advance r4

bne next_node @ next read

str r3, [r6] @ last node points to NULL

@@ exercise about node insertion starts here

ldr r4, =head @ copy head address in r4

cmp r4, #0 @ if at the last node..

beq end @ ..then exit

loop: ldr r4, [r4] @ advance current pointer

cmp r4, #0 @ if at the last node..

beq end @ ..then exit

ldr r6, [r4,#4] @ load integer on next node in r6

cmp r6, #6 @ if data == 6 then..

moveq r0, #8 @ ..allocate 8 bytes

swieq 0x12 @ ..create node, pointer in r0

addeq r6, r6, #2 @ ..set r6 to integer 8

streq r6, [r0,#4] @ ..store integer 8 in new node

ldreq r5, [r4] @ ..load pointer to next (old) node in r5

streq r5, [r0] @ ..store pointer to next (old) node in new node

streq r0, [r4] @ ..store pointer to new node in current node

b loop @ make another loop

end: @ exit

swi 0x11

.end DMIF — Dipartimento di Scienze

Università degli Studi di Udine Matematiche, Informatiche e Fisiche

Esame di Architetture degli Elaboratori

Soluzione

A.A. 2022-23 — V appello — 19 settembre 2023

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.

1. Si dica quali dei seguenti numeri sono rappresentati scorrettamente nelle rispettive basi, spiegando perchè:

6 , 11 , 5 , 0 , F .

7 10 0 1 15

R: (3 pt) 5 è scorretto in quanto non ha senso definire una base (o alfabeto) contenente zero cifre (o

0

simboli). F è scorretto in quanto convenzionalmente F è, nell’ordine, la sedicesima cifra in una base.

15 · fornisce

2. Mostrare che l’operazione 2 (−1) eseguita interamente in aritmetica complemento a due a 4 bit

il risultato effettivamente corretto.

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

moltiplicazione:

0010 *

1111 =

--------

0010

0010

0010

0010

--------

11110 -> (scarto bit di overflow) -> 1110 −2,

Ora, il numero in aritmetica complemento a due a 4 bit corrisponde effettivamente a che è il

1110

risultato cercato.

3. [INF] Si codifichi il numero decimale 1.6 in notazione floating point IEEE 754 a 32 bit.

R: (3 pt) Poichè 0.6 = 1001 , il numero 1.6 può essere messo nella forma esponenziale binaria 1.1001... E0.

2 2

La codifica richiesta avrà dunque bit di segno non asserito, esponente uguale a 127+0 = 127 = 01111111

2

e infine mantissa uguale a . Sistemando sui 32 bit previsti dallo standard IEEE 754 e convertendo

1001...

2

alla base esadecimale:

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

3 | F | C | C | C |...

da cui la codifica richiesta: 0x3FCCCCCC.

4. Se la densità del numero dei transistor raddoppia ogni anno e mezzo, si dica di quante volte aumenta la

capacità di un chip di memoria a parità di superficie dopo 9 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 4 ogni tre anni e quindi di un fattore 4 4 4 = 64 dopo nove

anni.

5. É possibile realizzare una porta binaria adoperando solo porte binarie utilizzando le regole

NAND NOR

dell’algebra booleana date a lezione? Se sı̀, la si derivi mediante opportune espressioni booleane.

R: (3 pt) Ricordando l’uguaglianza = + e adoperando le regole di De Morgan, + = e

A A A A B A B

= + si ottiene

AB A B,

= = + = + + + = + + + = + + + + + + +

E AB A B A A B B A A B B A A B B A A B B.

6. Comunque sia stato risolto l’esercizio 5, di quante porte binarie necessita la rete booleana rappre-

NOR

sentata dall’espressione appena trovata?

R: (3 pt) Quattro porte binarie sono sufficienti per realizzare la rete proposta. Infatti, leggendo

NOR

= + come una formula di riduzione di complessità, l’espressione all’esercizio

stavolta l’uguaglianza A A A

5 può essere vista come = + =

E A B AB.

7. [INF] Comunque sia stato risolto l’esercizio 5, si dicano quanti transistor occorrono per realizzare l’e-

spressione booleana = adoperando, rispettivamente: i) solo porte binarie; ii) solo porte

E AB NAND NOR

binarie; iii) porte binarie e porte unarie.

NOR NOT

R: (3 pt) Ricordando che una porta binaria e una porta binaria sono realizzate con 2 transistor

NAND NOR

e, invece, una porta unaria è realizzata con un solo transistor, l’espressione in questione è realizzabile

NOT

rispettivamente con: i) 2 transistor (una porta binaria ii) 8 transistor (quattro porte binarie

NAND); NOR);

iii) 5 transistor (una porta binaria e tre porte unarie

NOR NOT). A {0,

8. [INF] Realizzare una macchina di Mealy o di Moore sull’alfabeto = 1}, la quale in uscita riproduce

la sequenza che giunge in ingresso. Se però i tre simboli più recenti ricevuti sono tutti uguali a 1,

allora il simbolo che viene prodotto in uscita dopo di essi è in ogni caso uguale a e, successivamente,

1

la macchina riprende a riprodurre la sequenza d’ingresso. Per esempio, se la sequenza d’ingresso è

la corrispondente sequenza d’uscita è

100111000111100..., 100111100111110....

R: (3 pt) Una soluzione è fornita dalla seguente macchina di Mealy:

1/1 1/1 1/1

q0 q1 q2 q3 1/1

0/0 0/0 0/0 0/1

9. Un trasmettitore di pacchetti di 8 bit introduce quattro bit di controllo su ogni pacchetto per rendere

la trasmissione affidabile, adoperando un codice a ripetizione doppia di ogni bit. Quindi, se per esempio

la parola da codificare è allora viene trasmesso un pacchetto contenente la corrispondente codifica

1001

Qual è la percentuale di codifiche tra quelle complessivamente disponibili che il codice sfrutta

11000011.

effettivamente?

Dettagli
Publisher
A.A. 2023-2024
9 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

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.