You are on page 1of 3

ARCHITETTURA EGLI ELABORATORI

Esercizi preparatori per il primo compitino


1.

Si supponga che nella memoria di un sistema PD32 venga caricata all'indirizzo $2000 la stringa: NonSoCheFare e che venga
eseguita la sequenza di 2 istruzioni:
MOVW $2000,R0
ADDW $2002,R0
Si indichi, in esadecimale, il contenuto del LSW del registro R0 quale risulta dopo l'esecuzione delle istruzioni indicate:
R0 = $....................................

2.

Con riferimento alla fig. 3.11 di pag. 93 del testo, supponendo di modificarla in modo che ciascun chip di memoria abbia una
capacit pari a 16Kx1 e vi siano complessivamente 4 banchi, l'indice di riga (e di colonna) costituito da br bit e sono necessari bs
bit per selezionare uno dei segnali RASi. Inoltre, supponendo che il periodo di refresh sia 100.000 volte il tempo di accesso della
memoria, la percentuale di tempo dedicata al refresh pari a pr. Calcolare br, bs, pr:
br = .....................

bs = .....................

pr = ..................%

3.

In una memoria dinamica da 1 Mbyte, organizzata come quella di fig. 3.11 (pag. 93) del libro di testo, l'indirizzo $23456 individua
un byte situato nel banco b (0b15); la posizione relativa, all'interno del banco, del byte individuato pari a p (0p216-1).
Calcolare b e p (si esprima p in esadecimale).
b =...........................................
p =$..........................................

4.

In una memoria dinamica da 16Kbit, organizzata in 128 righe e 128 colonne, ciascuna operazione di refresh agisca, in un unico ciclo
di memoria, su tutti i bit di una riga. Nell'ipotesi che ciascun bit della memoria necessiti di un refresh ogni 4 ms e che un ciclo di
memoria abbia una durata di 50ns, la percentuale p di cicli di memoria impegnati per il refresh sul totale di cicli e`:
p = ..........................%

5.

Con riferimento alla fig. 3.11 di pag. 93 del testo, supponendo di modificarla in modo che ciascun chip di memoria abbia una
capacit pari a 16Kx1 e vi siano 8 banchi (memoria complessiva da 128 Kbyte), l'indirizzo $13578 individua un byte situato nel
banco b (0b7); la posizione relativa, all'interno di quel banco, del byte individuato pari a p; il valore di p codificato con np bit.
Calcolare i valori di b, p (espresso in esadecimale) e np (in decimale):
b =..............................
p =$............................
np = ...........................

6.

Con riferimento alla memoria dinamica dell'esercizio precedente, ciascuna operazione di refresh agisce, in un unico ciclo di
memoria, contemporaneamente su tutti i 128 bit della medesima riga di ciascuno degli 8 banchi. Nell'ipotesi che ciascun bit della
memoria necessiti di un refresh ogni 4 ms e che un ciclo di memoria abbia una durata di 100ns, la percentuale pc di cicli di memoria
impegnati per il refresh sul totale di cicli e`:
pc = ........................%

7.

Per un chip di memoria dinamica da 1Mbit, organizzata in 1024 righe e 1024 colonne, si supponga che ciascuna operazione di
refresh agisca, in un unico ciclo di memoria, su tutti i bit di una riga. Nell'ipotesi che ciascun bit della memoria necessiti di un
refresh ogni 6 ms e che un ciclo di memoria abbia una durata di 70ns, la percentuale p di cicli di memoria impegnati per il refresh
sul totale di cicli e`:
p =................%

Architettura degli elaboratori 1 Esercizi per il I compitino

8.

Si scriva la sequenza di segnali (microcodice) con cui si potrebbe realizzare nel PD32 l'istruzione:
JMP @nnnn
(si tenga presente che l'istruzione utilizza un modo di indirizzamento non presente nella versione base del PD32).

9.

Scrivere la codifica del long word operativo (OL) dell'istruzione la cui esecuzione produce nel PD32 questa sequenza di segnali di
controllo (microcodice):
RPC=1, MA=1, Z=2, MRD=1, WIR=1, X2=1, S1=6, S2=0; XCI=0, OP=0, RA=1, WPC=1,
RPC=1, MA=1,
X2=1, S1=6, S2=0, XCI=0, OP=0, RA=1, WPC=1,
Z=2, MRD=1, XR=1, d1=1, W=1
OL = $...............................

10. In un processore la cui unit di controllo realizzata con la tecnica della 'control store' a 2 livelli, l'area di silicio riservata a
contenere le due memorie di controllo corrisponde ad un totale di b=3500 bit. Supponendo che il processore abbia n=34 segnali e
l=80 microistruzioni diverse e m5=10 istruzioni di macchina che richiedono 5 microistruzioni, il massimo numero possibile m4 di
ulteriori istruzioni di macchina che richiedono 4 microistruzioni ciascuna (non essendovi altri tipi di istruzioni di macchina) pari a:
m4 = ..........................
11. Le 32 istruzioni di macchina di un processore microprogrammato sono interpretate da un modulo di controllo a due livelli costituito
da una microROM contenente 1120 bit e da una nanoROM contenente 8400 bit. Le microistruzioni orizzontali sono costituite da 70
bit. Indicare il numero k di microistruzioni orizzontali e il numero medio m di microistruzioni per istruzione macchina.
k = ...............................................

m = ..............................................

12. Si debba progettare la memoria di controllo di un processore microprogrammato dotato di 30 istruzioni macchina, per la
realizzazione di ciascuna delle quali sono necessarie 6 microistruzioni orizzontali da 70 bit. Il numero di microistruzioni diverse
pari a 90. Il numero di bit occupati dal microcodice nella memoria di controllo, nell'ipotesi di adottare una organizzazione
orizzontale, pari a Norr; nell'ipotesi di adottare una organizzazione a due livelli, il numero di bit pari a N 2liv:
Norr =

...............................

N2liv = ...............................
13. Il seguente segmento di programma PD32, caricato a partire dall'indirizzo L = $1100, eseguito a partire da tale indirizzo, si blocca
eseguendo in un loop infinito una delle istruzioni Lx: JMP Lx. Fornire, in esadecimale, il contenuto finale del PC,
L:
L1:
L2:
L3:
L4:
L5:
L6:

MOVL
NOP
JMP
JMP
JMP
JMP
JMP
JMP

L, L+12
L1
L2
L3
L4
L5
L6
PC = $....................................

14. Si supponga che nel PD32 vengano eseguite le seguenti istruzioni:


MOVL #$3FFF, R1
ANDW $FFFFFFFC(PC), R1
Al termine dell'esecuzione, il contenuto del registro R1, in notazione esadecimale, e il numero totale Na di accessi alla memoria
(compresi quelli di fetch) sono pari a:
R1 = $................................
Na = ..................................
Architettura degli elaboratori 1 Esercizi per il I compitino

15. Si supponga che il PD32, con R0 inizialmente eguale a 100 (decimale), inizi ad eseguire le seguenti istruzioni:
CMPB #a, R0
JNN AV1 ; se il salto non viene eseguito, il PC viene incrementato SENZA leggere da memoria il longword di estensione
NEGL R0, R0
AV1: . . .
Al termine dell'esecuzione, il contenuto del registro R0, in notazione esadecimale, e il numero totale Na di accessi alla memoria
(compresi quelli di fetch) sono pari a:
R0 = $................................
Na = ..................................
16. Si supponga che nel PD32 vengano eseguite le seguenti istruzioni:
MOVL #$8FFE, R1
ADDW $FFFFFFFC(PC), R1
Al termine dell'esecuzione, il contenuto di R1, in notazione esadecimale, pari a (si ricordi che nellindirizzamento autorelativo il
valore del PC usato per il calcolo dellindirizzo quello che punta al primo longword di estensione dellistruzione stessa)
R1 = ......................

17. Si consideri la seguente direttiva:


A: .DCB 'ABCDEF', 0 (equivalente a: A: .ASCII "ABCDEF")
Dopo l'esecuzione delle istruzioni del PD32:
MOVW A, R1
ROLW 2, R1
MOVW R1, A
il long word L di indirizzo A contiene, espresso in esadecimale, il valore:
L[A] = $ .....................

18. Supponendo che nel PD32 ogni istruzione richieda un numero di cicli di clock C pari a C=2*NumAcc+1 ove NumAcc il numero
di accessi in memoria richiesti dallistruzione (compresi quelli per il fetch) e supponendo inoltre che la frequenza del clock Fc sia
pari a 10 Mhz, indicare il tempo totale Tt necessario per eseguire la seguente sequenza di 3 istruzioni:
MOVW $FE(R1), R1 ADDL (R7)+, R1 ORB #67, R1
Tt = .............. ns

19. Nel registro di stato SR del PD32 i bit di condizione CNZV occupano, rispettivamente, le posizioni di indice 0, 1, 2 e 3; si indichi, in
esadecimale, il valore contenuto nel registro PC dopo lesecuzione di due istruzioni del seguente segmento di codice, supposto
caricato a partire dallindirizzo $1000 e supponendo che inizialmente sia SR=$0B.
LAB0:
LAB1:
LAB2:
LAB3:

JZ
JNZ
JC
MOVL

LAB2
LAB3
LAB0
R0, 4(R1)
PC = $ ......................

20. Con riferimento al codice riportato a pag. 157 del testo (acquisizione da 5 convertitori A/D) e alla successiva figura 4.12 a pag. 158,
supponendo che il tempo di conversione dei cinque convertitori sia compreso tra 1 s e 1.2 s, e nell'ipotesi che il tempo di
esecuzione delle istruzioni del PD32 (compresi i fetch) sia di 200 ns se la codifica dell'istruzione occupa un long word, 300 ns se
occupa 2 long word, e 400 ns se occupa 3 long word, si indichi il periodo minimo Tmin del dispositivo clock che garantisce la
contemporaneit dei campioni acquisiti e la non perdita dei dati:
Tmin = ......................ns
21. Supponendo che venga allocata in memoria unarea per un vettore di 20 elementi da 16 bit, (corrispondente allistruz. C: short
int a[20]), completare la direttiva di allocazione indicata:Si completi inoltre listruzione PD32 indicata (aggiungendo ad essa i 2
operandi) al fine di caricare nel registro R1 lindirizzo dellelemento di indice 5 (corrispondente a &a[5]):
A:

.DS..............................

MOVL ..............................
Architettura degli elaboratori 1 Esercizi per il I compitino