Sei sulla pagina 1di 28

Banco dei registri

9 novembre 2020
Calendario
• Lezione 21 (lunedì 9 novembre 2020 ore 16-18): Il banco
dei registri. [PH] appendice B.8, oppure [P] 5.7.
Organizzazione prova.

• Lezione 22 (mercoledì 11 novembre 2020, ore 15-18):


Esercitazione in preparazione alla prova intercorso.

• Lezione/incontro (venerdì 13 novembre 2020: ore 17):


Prova Moodle

• Prima prova intercorso (lunedì 16 novembre 2020, ore 15,


con Moodle) su Rappresentazione informazione, reti, ALU e
moduli combinatori, reti sequenziali, il banco dei registri.
Punto della situazione
• Stiamo studiando le reti sequenziali, cioè le
reti con memoria come elemento per
costruire i registri e le memorie per l’unità di
elaborazione
• Oggi vediamo l’applicazione dei flip-flop per
formare il banco di registri per lettura e
scrittura
• Avremo così tutti i blocchi che costituiscono il
processore
Il nostro obiettivo finale
Alla fine del corso saprete come funziona una versione semplificata del processore MIPS
Circuiti sequenziali
• Un circuito combinatorio è
– Una rete di porte logiche il cui output è funzione solo
dell’input corrente (cioè non dipende dai precedenti
input).
– In altre parole è un circuito senza memoria
– Per esempio l’ALU
• Un circuito sequenziale è
– Una rete di porte logiche il cui output dipende non
solo dall’input corrente, ma anche dai precedenti
input
– E’ un circuito con memoria
– Per esempio: i registri, la memoria dati e la memoria
istruzioni
6
Reti sequenziali

Rete combinatoria + feedback (o retroazione)

Questo sarà
l’elemento
Va interpretata la base dei nostri
circuiti
sua evoluzione nel sequenziali:
il latch S-R
tempo
7
Problemi nel flip-flop S-R
(con o senza clock)
• Hanno uno stato indecidibile quando S = R =1.

Una soluzione sono i latch D o flip-flop D.


In realtà esistono vari tipi di flip-flop:
S-R
S-R temporizzato
D
T
J-K

9
Un flip-flop D
• Quando il clock C è asserito, il latch è aperto e l’output Q
diventa l’input D (lascia passare il dato D)
• Quando il clock non è asserito il latch è chiuso e Q mantiene il
valore che aveva l’ultima volta che il latch era aperto

10
Registro
• Registro D0 D Q
Q0

Flip-FlopD
– Un array di n flip flop D clock !Q

• n bit di ingresso e uscita D1 D Q


Q1

Flip-FlopD
• Input Write clock !Q

• Temporizzazione sensibile al
fronte
– Write: Dn-1 D Q
Qn-1

• Se negato (0): i dati in uscita Flip-FlopD


clock !Q
(Data Out) non cambiano
• Se affermato (1): quando il clock
è asserito i dati in uscita (Data
Out) divengono uguali ai dati in clock Write
ingresso (Data In)
Banco di registri/ Register file
Insieme di registri in cui ogni registro può essere letto o scritto specificando il
suo numero. Ogni registro sarà un array di flip-flop (in particolare di tipo D)
Per ciascuna operazione di tipo R dobbiamo leggere da 2 Registri di lettura
(Read register number a 5 bit).
Per scrivere abbiamo bisogno di sapere il Dato da scrivere (Write Data a 32
bit) e il registro su cui scriverlo (Registro di scrittura, Write register a 5 bit).
I 2 Dati letti (Read Data a 32 bit) sono forniti in output sempre disponibili.
La scrittura è controllata dal segnale Write.

15
Lettura/Read
in un registro

Il register file fornisce in


qualunque momento in
uscita il contenuto del
registro specificato

16
17
Scrittura/write
in un registro
log2n-to-n
Invece un registro può decoder

essere scritto in n -2
corrispondenza del n-1
fronte attivo del clock
e quando il segnale
Write è asserito.
Il valore scritto potrà
essere letto in un
successivo ciclo di
clock.
I segnali devono
essere validi sul fronte
attivo del clock.

18
Memoria

I registri e il banco dei registri costituiscono i blocchi per


piccole memorie all’interno del processore.

Maggiori quantità di memoria sono fornite tramite le


SRAM e DRAM.
Memoria
I registri e il banco dei registri costituiscono i blocchi per
piccole memorie all’interno del processore.

Maggiori quantità di memoria sono fornite tramite altre


tecnologie.
Oggi vengono utilizzate 4 principali tecnologie:
• SRAM
• DRAM
• Memorie flash
• Dischi magnetici
Principali tecnologie per RAM
• RAM sta per Random Access Memory: tempo di accesso
uguale per ogni dato (diversamente dalle memorie ad
accesso sequenziale)
• Le memorie RAM sono di due tipi
– Memorie statiche: Static Random Access Memory (SRAM)
– Memorie dinamiche: Dynamic Random Access Memory (DRAM)
• Memorie statiche
– Mantengono il dato (non hanno bisogno di refresh)
– Il singolo elemento corrisponde ad un latch; usano 6/8 transistor per bit
– Circuiti integrati direttamente nel processore (cache)
• Memorie dinamiche
– Richiedono un refresh periodico dell’informazione perché l’informazione è
memorizzata sotto forma di carica di un condensatore
– Un solo transistor per bit

Memoria 27
Una 2M16 SRAM

2M dati ciascuno di 16 bit


Linea di indirizzamento a 21 bit (2M=221), 1 dato input a
16 bit, 3 linee di controllo e 1 dato output a 16 bit
Din[0]
Altre tecnologie
• Memorie flash
– Permettono numero limitato (ma elevato) di scrittura
(hanno tecniche di livellamento dell’usura)
– Non volatili (cioè il contenuto viene mantenuto anche
se si spegne l’elaboratore)
– Robuste
• Dischi magnetici
– Formati da un gruppo di dischi che ruotano, la cui
superficie è divisa in tracce; ogni traccia è divisa in
settori.
– Lettura/scrittura tramite un braccio mobile (testina)
– Accesso sequenziale
Confronto
Obiettivo
• Illusione di avere a disposizione una memoria che sia:
– grande
– veloce (ritardo della memoria simile a quello del processore)
– economica
• Osservazioni:
– Le memorie di grandi dimensioni sono lente
– Le memorie veloci hanno dimensioni piccole
– Le memorie veloci costano (molto) più di quelle lente
– Non esiste una memoria che soddisfi simultaneamente tutti i requisiti!
• Come creare una memoria che sia grande, economica e
veloce (per la maggior parte del tempo)?
– Gerarchia
– Parallelismo
CE-V.Cardellini, S.Tucci a.a.
2011-12 40
La soluzione: gerarchia di memorie
• Non un livello di memoria…
• Ma una gerarchia di memorie
– Ognuna caratterizzata da differenti tecnologie, costi,
dimensioni, e tempi di accesso
Processore

Aumenta il tempo di Livello 1


accesso
Aumenta la capacità Livello 2
di memorizzazione .
Diminuisce il costo
per bit
Livello n

Dimensione della memoria ad ogni livello

CE-V.Cardellini, S.Tucci a.a.


2011-12 41
La soluzione: gerarchia di memorie (2)
• Obiettivi della gerarchia di memorie:
– Fornire una quantità di memoria pari a quella disponibile nella
tecnologia più economica
– Fornire una velocità di accesso pari a quella garantita dalla
tecnologia più veloce

Processor

Control
Secondary
Storage
Second Main
(Disk)
Registers

On-Chip

Level Memory
Cache

Datapath Cache (DRAM)


(SRAM)

Speed (ns): 0,25 1 100 5˙000˙000 (5 ms)

Size (B): 500 64K 1G 100G

CE-V.Cardellini, S.Tucci a.a.


2011-12 42
Referenze
Il banco dei registri. [PH] appendice B.8, oppure [P] 5.7.
Elementi di memoria: SRAM e DRAM (cenni da [PH] par.
1.5, 5.2 e dall’appendice B.9).
Prima prova intercorso
• Lunedì 16 novembre ore 15
• Moodle e Lockdown browser
• Circa 30 domande a scelta multipla (distribuite
random)
• Risposte esatte: +1
• Risposte errate: -0,25
• Risposta non data: 0
• Prenotazioni su Esse3 entro 11/11
• Entro 11/11: prenotazioni e cancellazioni
• Siate responsabili!!!
• Preparate postazione secondo le linee guida di Ateneo
Domande a scelta multipla
Materiale: sulla piattaforma e-learning
Prove intercorso, compiti e test degli anni scorsi,
domande a scelta multipla

Divisi in gruppi di max 24.


Attualmente: 126 prenotati