Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 1
Università degli Studi dell’InsubriaUniversità degli Studi dell’Insubria
Dipartimento di Scienze Teoriche e ApplicateDipartimento di Scienze Teoriche e Applicate
ArchitetturaArchitettura deglidegli elaboratorielaboratoriTema d’esame del Tema d’esame del 13/07/201513/07/2015
Luigi LavazzaLuigi LavazzaDipartimento di Informatica e ComunicazioneDipartimento di Informatica e Comunicazione
[email protected]@uninsubria.it
Esercizio 1Esercizio 1
Si realizzi un circuito combinatorio avente le seguenti caratteristiche:
ingresso a 4 bit che rappresenta un numero n in complemento a 2.
Uscita da un bit, che vale uno se e solo se n assume uno tra i
seguenti valori: 1, 2, 3, -5, -6, -7, -8.
Si chiede di realizzare il circuito di costo minimo. Si usino porte a non
più di due ingressi.
Si calcoli il ritardo complessivo del circuito ottenuto, sapendo che le
porte not introducono un ritardo di 1 ns, e le porte a due ingressi un
ritardo di 3 ns.
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 2
Esercizio 1 Esercizio 1 -- soluzionesoluzione
x y u v f
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
00 01 11 10
00
01
xy
uv
10
11
0 11 1
0 0 0 0
1 1
0 00 0
1 1
f = /y (x+u+v)
N
0
1
2
3
4
5
6
7
-8
-7
-6
-5
-4
-3
-2
-1
Esercizio 1 Esercizio 1 -- soluzionesoluzione
Naturalmente è possibile sintetizzare la funzione come somma di
prodotti, anziché prodotto di somme, ma leggermente meno
conveniente.
00 01 11 10
00
01
xy
uv
10
11
0 11 1
0 0 0 0
1 1
0 00 0
1 1
f = x/y + /yv + /yu =
/y (x+v+u)
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 3
Esercizio 1 Esercizio 1 -- soluzionesoluzione
f = /y (x+v+u)
Occorre effettuare in sequenza la negazione, due somme e il prodotto.
Ritardo: 1+3+3+3 = 10 ns
Esercizio 1 Esercizio 1 –– Soluzione BSoluzione B
Il ritardo massimo è dato da U1, che richiede in sequenza: negazione,
due prodotti, e tre somme, per un ritardo totale di 21 ns.
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 4
Esercizio 2Esercizio 2
Si realizzi, utilizzando preferibilmente componenti di libreria, una
semplice ALU dalle seguenti caratteristiche:
due ingressi A e B da 8 bit, interpretati come numeri in
complemento a due;
un’uscita U da 8 bit, che rappresenta un numero in
complemento a due;
bit di esito: Z (zero), N (risultato negativo);
un ingresso di selezione S da tre bit.
Le operazioni eseguire sono descritte in tabella. Si trascurino i
riporti e gli overflow.S U Z N000 2A A*2 = 0 A*2 < 0001 A-B A-B = 0 A-B < 0010 A+B A+B = 0 A+B < 0011 A+1 A+1 = 0 A+1 < 0100 -B -B = 0 -B < 0101 1 0 0110 -1 0 1111 0 1 0
EsercizioEsercizio 2 2 –– soluzionesoluzione banalebanale
Al solito si può semplicmente seguire le specifiche.
Poiché si devono produrre in uscita funzioni diverse a seconda del
valore di S, basta implementare tutte le funzioni sepratamente, e poi
scegliere con un multiplexer quale mandare in uscita.
Questa soluzione comporta un certo spreco di componenti.
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 5
Esercizio 2 Esercizio 2 –– soluzione furbasoluzione furba
S1S2
U
01
00A
B
+8
8
8
11
10
1
01
00
11
10
0
-1
1
0
S0
8
8
8
-
MSBN
Zero Z
Esercizio 2 Esercizio 2 –– soluzione furbasoluzione furba
X
0
8
X Y
+Cin
8
8
Y
1Rete “Zero”
Rete “-”
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 6
EsercizioEsercizio 33
Si consideri la macchina a stati descritta in figura.
Si realizzi il circuito che implementa la macchina, considerando che:
Ci sono due ingressi binari, uno che rappresenta la condizione X>L e uno
che rappresenta la condizione X<H.
L’uscita è da un bit.
Non è definito lo stato iniziale. Il circuito deve funzionare correttamente a
regime.
Si può utilizzare la
rappresentazione dello stato che si
preferisce (codificata o esplicita).
Non è necessario minimizzare il
costo del circuito; evitare tuttavia
realizzazioni più dispendiose del
necessario. Usare bistabili a
commutazione sul fronte di discesa.
Si possono usare i principali circuiti
di libreria.
X≤L
X≥HX≤L
X≥HL<X<H
X≥H
L<X<H
X≤L
L<X<H
L<X<H
X≤L
HfL
U=0
High
U=1
LfH
U=1
Low
U=0
X≥H
EsercizioEsercizio 3 3 -- soluzionesoluzione
Scegliamo di codificare gli stati
Stati
Low: 00
High: 11
HfL: 01
LfH: 10
Segnali in ingresso
I0 rappresenta la condizione X>L
I1 rappresenta la condizione X<H
Ne consegue che I=00 non ha senso, e quindi non si presentarà
mai in ingresso.
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 7
MacchinaMacchina codificatacodificata
01
1001
1011
10
11
01
11
1101
01
U=0
11
U=1
10
U=1
00
U=0
10
EsercizioEsercizio 3 3 -- circuitocircuito
Clock
D Q2
URCUI
RCS’
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 8
EsercizioEsercizio 3 3 –– FunzioneFunzione didi transizionetransizione
Stato Codificastato
I Stato’ Codificastato’
U
Low 00 00 ? XX X
Low 00 01 Low 00 0
Low 00 10 High 11 1
Low 00 11 HfL 01 0
HfL 01 00 ? XX X
HfL 01 01 Low 00 0
HfL 01 10 High 11 1
HfL 01 11 HfL 01 0
EsercizioEsercizio 3 3 –– FunzioneFunzione didi transizionetransizione
Stato Codificastato
I Stato’ Codificastato’
U
LfH 10 00 ? XX X
LfH 10 01 Low 00 0
LfH 10 10 High 11 1
LfH 10 11 LfH 10 1
High 11 00 ? XX X
High 11 01 Low 00 0
High 11 10 High 11 1
High 11 11 LfH 10 1
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 9
FunzioneFunzione uscitauscita
Stato Codifica stato U
Low 00 0
HfL 01 0
LfH 10 1
High 11 1
U = S1
FunzioneFunzione per per ilil calcolocalcolo didi SS11’’
Stato Codifica stato I Stato’ Codifica stato’
Low 00 00 ? XX
Low 00 01 Low 00
Low 00 10 High 11
Low 00 11 HfL 01
HfL 01 00 ? XX
HfL 01 01 Low 00
HfL 01 10 High 11
HfL 01 11 HfL 01
LfH 10 00 ? XX
LfH 10 01 Low 00
LfH 10 10 High 11
LfH 10 11 LfH 10
High 11 00 ? XX
High 11 01 Low 00
High 11 10 High 11
High 11 11 LfH 10
00 01 11 10
00
01
S
I
10
11
X 00 1
X 0 0 1
x 0
1 1X 0
1 1
S1’
S1’ = I1/I0 + S1I1
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 10
FunzioneFunzione per per ilil calcolocalcolo didi SS00’’
Stato Codifica stato I Stato’ Codifica stato’
Low 00 00 ? XX
Low 00 01 Low 00
Low 00 10 High 11
Low 00 11 HfL 01
HfL 01 00 ? XX
HfL 01 01 Low 00
HfL 01 10 High 11
HfL 01 11 HfL 01
LfH 10 00 ? XX
LfH 10 01 Low 00
LfH 10 10 High 11
LfH 10 11 LfH 10
High 11 00 ? XX
High 11 01 Low 00
High 11 10 High 11
High 11 11 LfH 10
00 01 11 10
00
01
S
I
10
11
X 10 1
X 0 1 1
x 0
0 1X 0
0 1
S0’
S0’ = I1/I0 + S0I1
EsercizioEsercizio 3 3 -- soluzionesoluzione
Nel caso si opti per la rappresentazione esplicita dello stato (un
bistabile per ogni stato) è necessario prevedere un circuito di reset che
assicuri che uno solo dei bistabili valga uno, perché ci deve essere un
solo stato corrente.
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 11
Esercizio 4Esercizio 4
Si supponga di avere a
disposizione il datapath
mostrato sopra (è quello
visto a lezione). L’ALU
fornisce tutte le
operazioni opportune.
Sono supportati i
condition code n, c, z, ed
possibile effettuare salti
nel microcodice in base
al valore dei condition
code. AL
U
PC
MAR
MDR
IR
Reg. file
R0..Rn
Temp
Addr
Data
V
Z
A B
R
4
select
ALUctrl
MUX
ZoutZin
Vin
MDRin
Ri_in
Ri_out
Temp_in
Temp_out
IRin
ZExtout
SignExtout
MDRout
MARin
PCin
PCout
Extender
CP
U B
US
Esercizio 4Esercizio 4
Si scriva un microprogramma che realizza l’operazione Bni (branch on
null indirect)
Bni Rs, Ind
avente opcode = 55 e che ha l’effetto di effettuare un salto se la parola
di memoria il cui indirizzo è contenuto in Rs vale zero (Ind è lo
spiazzamento espresso in numero di parole da 32 bit, come in tutte le
istruzioni di branch).
Supponiamo che Rs=0x1000, Ind = 7 e PC=0xfa00:
se in memoria all’indirizzo 0x1000 c’è il valore 0x0067, alla
conclusione dell’istruzione si avrà PC=0xfa04 (non c’è stato salto)
se in memoria all’indirizzo 0x1000 c’è il valore 0x0000, alla
conclusione dell’istruzione si avrà PC=0xfa20 (la parola di memoria
è nulla, quindi c’è stato salto di 7 parole = 28 byte)
Si scriva anche il microcodice della fase di fetch.
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 12
Esercizio 4 Esercizio 4 -- soluzionesoluzione
Passo(ciclo di clock)
Azione
0 Pcout, MARin, read, select4, Add, Zin
1 Zout, PCin, Vin, WMFC
2 MDRout, IRin, goto opcode
55 Rsout, MARin, read
56 Signextout, Vin, WMFC
57 MDRout, passB, jz 59
58 Goto 0
59 Pcout, selectV, Add, Zin
60 Zout, Pcin, goto 0
Esercizio 5Esercizio 5
Si consideri il sistema di memoria + cache set-associativa a 2 vie seguente:
memoria di lavoro di 4 KByte, indirizzata a livello di singolo byte;
cache di 512 Byte;
ogni blocco della cache contiene 128 Byte.
Considerando la sequenza di richieste alla memoria riportata qui sotto, si
chiede di completare la tabella che illustra il comportamento della cache nel
rispetto delle indicazioni seguenti:
Nella colonna “esito” riportare H (hit) se il blocco richiesto si trova nella cache, M (miss) se invece il blocco deve essere caricato dalla memoria.
Nelle colonne “dati” deve essere riportato il numero del blocco della memoria che si trova nel corrispondente blocco della cache.
Nella colonna “azione” deve essere indicato il blocco cui si accede (in caso di successo, H) o il blocco in cui vengono caricati i dati della memoria (in caso di fallimento, M).
I blocchi A e B appartengono all’insieme (o riga) 0 e i blocchi C e D all’insieme
(o riga) 1.
La politica di sostituzione adottata nella cache è la LRU (Least Recently Used).
NB: quando il contenuto di un blocco non cambia da un passo all’altro non è
necessario trascriverlo, basta indicare “=”.
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 13
Esercizio 5Esercizio 5
Dati
Etichetta
Valido
Dati
Etichetta
Valido
Dati
Etichetta
Valido
Dati
Etichetta
Valido
Azione
Blocco DBlocco CBlocco BBlocco AEsito
Indirizzo
richiesto
Passo
6
5
4
3
2
1
Situazione
iniziale100000171000118100102000110
000100101010
010100101010
000110101010
000010101010
010100101010
000110101010
EsercizioEsercizio 5 5 -- soluzionesoluzione
Mem da 4K richiede 12 bit di indirizzamento
Numero blocchi in cache: 512/128 = 4
Numero righe cache = 4 blocchi / 2 blocchi per riga = 2 righe,
indirizzabili con un bit
Dimensione blocco = 128 Byte, quidi occorrono 7 bit per indirizzare un
Byte nel blocco.
Per il tag restano 12-(1+7) = 4 bit
Architettura degli elaboratori - Esame del 13 luglio 2015 A.A. 2014-15
Università dell'Insubria - Luigi Lavazza 14
EsercizioEsercizio 5 5 -- soluzionesoluzione
Dati
Etichetta
Valido
Dati
Etichetta
Valido
Dati
Etichetta
Valido
Dati
Etichetta
Valido
Azione
Blocco DBlocco CBlocco BBlocco AEsito
Indirizzo
richiesto
Passo
6
5
4
3
2
1
Situazione
iniziale1000001710001
10
100102000110
000100101010
010100101010
000110101010
000010101010
010100101010
000110101010
0101
18
1M
H
300011
100001
M
M
H
H
Carica il blocco
10 in set 0
Legge blocco 2
da set 0
Carica il blocco 3
in set 1
Carica il blocco 1
in set 1
Legge blocco 10 da set 0
Legge blocco 3
da set 1