Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
CAMPI
I
Nei funz
Camp ,
SONO NECESSARI
12
30 13
: 14
Solo ,
,
,
ESIMO ALTRI
BIT GLI
,
RIMANGONO INVARIATI .
È
Questo Controllore
CIRCUITO AL
IL Relativo ,
ALU SOPRA
RIPORTATO
DELLA QUI .
Unità Controllo
di
C Il
Pipeline
U si
pipeling tempi ben
con a
non di
diminuire di
serve esecuzione
i ,
QUINDI
AUMENTARE THROUGHDUT SEPARATAMENTE RISORSE DIFFERENTI
VARI LAVORERANNO
STADI UTILIZZANDO
IL ; I .
Registri per pipeline
La Necessitiamo Dunque Di
REGISTRI AGGIUNTIVI PER
,
PRESERVARE VALORE
IL
DELL'ISTRUZIONE IN
PC
ESECUZIONE
, DEL ,
EDI VALORI
ALCUNI
SPECIFICI NECESSITANO
CHE
VARIE PIPELINE
FASI
LE DELLA .
VIENE CONTATO
64996 IL
QUI
133
198 BIT RD
DEL
BIT
S
BIT + .
fetch PC
dell'istruzione Il incrementato
Viene
: e
Perche
IFLID
RISCRITTO VA
VECCHIO SALVATO
VALORE
IL IN
, ,
PIÙ
Può ESEMPIO BEQ
AVANTI
RICHIESTO AD UNA
ESSERE IN
, .
mmm Decodifica Entrambi Registri
due
dell'istruzione Vengono
I
: IDEX ALL'ESTENSORE
NELLA
SCRITTI PIPELINE INSIEME
E
LETTI ,
DEL SEGNO
Esecuzione Il
aritmetica indirizzo Risultato
:
calcolo
o
ALU EXIMEM
DEL In
Viene inserito
CALCOLO delle ,
Accesso dato
alla Il
memoria usando
letto il
: ,
RISULTATO RISULTATO
INDIRIZZO E IL ENTRANO
STESSO
COME ,
MEM/WB
NELLA PIPELINE SCRITTURA REGISTER FILE
NEL :
CASO RISULTATO
SIDEBBA
IN INSERIRE UN
REGISTER FILE QUEST'ULTIMO
NEL VIENE
, REGISTER
LETTO FILE
NEL
SCRITTO
E .
La PER
MODIFICATA
FIGURA Viene
LA MANCANZA REGISTRO
DEL DI
(5 Bit)
Destinazione Che devono
, /VISTO
MEMIWB
PRESI
ESSERE DAL ALL'ULTIMO)
È PROTRATTO
Che FINO
Si .
All'interno l'unità
Dobbiamo
pipeline aggiungere
della controllo
di . OCCORRE ESTENDERE
DUNQUE
La pipeline Dallo di
Stadio
,
ID/EX .
Questo Però
SCHEMA
Presenta PROBLEMA NELLA
Un
BISOGNA
BEQ FARE
E IL FLUSH
, ISTRUZIONI
3 PRECEDENTI
DELLE .
CRITICITà STRUTTURALI
Supponiamo r
istruzioni tipo
avere a
di
di Cicli
4 . D ve Tentano di
Istruzioni scrivere
CONTEMPORANEAMENTE
REGISTRI
NEI MA
,
È
PORTA DUNQUE
SCRITTURA
Di
LA UNICA ,
CRITICITÀ
Abbiamo STRUTTURALE
Una .
Esistono Criticità
per
due pipeline
risolvere nella
le
modi :
1) Inserimento Bolla
una
di
Nop (not operation) wa
se imposto Ex
Segnali mem
: i 7 di Stadi
a controllo Gli
o ,
, ,
Bisognerà Perchè
Ifild
CREO BLOCCO
ISTRUZIONE Ripetere
NULLA
Che fa IL
STADIO
Lo
Non
Un . ,
PC SCRITTURA Frid
E Di
La .
IDEX RD =
.
RS1
F/ID or
. Abbiamo
RS2 .
HAZARD
UN .
Rimandare R)
2) ciclo
per aggiunta
registro Viene mer
la scrittura la
del Istruzioni :
un ,
RISC-V
R IL
ISTRUZIONI TIPO INFATTI
FARANNO
Che ADOTTA
DI NON NULLA
NELLE SOLUZIONE
QUESTA ,
.
CRITICITÀ
PRESENTA
NON STRUTTURALI .
Criticità dati
Sui
Si un'unità
Tratta prima pronta
sia
del utilizzare
tentativo di che esempio
ad
,
UN'ISTRUZIONE ANCHESSA
DELL'ISTRUZIONE PRECEDENTE PIPELINE
DIPENDE CHE
IN
RISULTATO
DAL ,
FILE
REGISTER
SCRITTO
ANCORA NEL
NON HA .
· ↳ I CALCOLI SBAGLIATI
Sarebbero
FINO ADD .
ALLA
CLASSIFICAZIONE CRITICITÀ DATI
SUI
(Orflow
Row dependency) L'istruzione
legge registro prima
Istruzione successiva
Un un che
:
PRECEDENTE ABBIA SCRITTO
LO .
War(or dependency) e
registro
un'istruzione scrivere
successiva
anti cerca un che
di
: PRECEDENTE
STATO DALL'ISTRUZIONE
LETTO .
Waw (o dependency)
Output scrivono Registro
Istruzioni consecutive
due sullo Stesso
: .
,
Soluzioni Criticità
per le dati
sul
1) Inserisco Bolle
delle
2) Propago pipeline
della
Il Tra EX
Stadi
dato due .
3) Riordino fra
sono dipendenti
Istruzioni che Loro
non
Le .
Propagazione Questo PER
FUNZIONA LA
NON
- LOAD .
Le ISTRUZIONI DIPENDONO
CHE
DALLA DEVONO ESSERE
LOAD ,
RITARDATE/ MANDATE IN STALLO
(INTERLOCK)
VIA HARDWARE
Riordino La propagazione
dipende la
2
dalla
3 ,
ELIMINA E
DIPENDENZA ANCHE
LA DALLA 1 ,
6
LA DIPENDE 5
DALLA .
Ri DIPENDENZI
LEVAMENTO delle
1 20)
Ex MEM IDEX
REGISTRORD
IDEX
REGISTRORA REGISTRORST REGISTRORST
MEMIWB
= =
. . .
.
1) 26)
Ex/MEM MEM/WB
REGISTRORD REGISTRORS2 REGISTRORS2
REGISTRORD IDEX
IDLEX
= = .
.
. .
Implementazione una Soluzione
di Questa La Nostra
È
Unità Elaborazione Dopo
di ,
PER RISOLVERE
LE MODIFICHE
TRAMITE
HAZARD
GLI LA
, La
PROPAGAZIONE Figura
.
RAPPRESENTA SCHEMA
UNO
A STILIZZATO MANCANO
CUI
IN
SALTI L'ESTENSORE DEL
I E
SEGNO .
B
Ma Per Unità
Bisogna Bolla
La Necessitiamo Rilevamento
Li hazard
una
Inserire un
di
,
NOP Frid
idleX RSt RS2
Ra or .
Una
Che Genera Quando =
, .
. . SCHEMA !
AGGIORNATO
Criticità
Sul Controllo
Si preso
Avendo
Tratta Caricato
Tentativo Ramo
del Saltare Non
del
pur
di Istruzioni
Le .
Per Nello finora
L'archittettura
Risolverlo Esaminato
aspettiamo Modifichiamo Schema
o
o
, . ,
PC74
MEM Perciò
PRESA FINE
ALLA
La Le
DELLO STADIO Istruzioni
Di
DECISIONE SALTO VIENE
UN I
,
PC 8 NOP
PC Branch
12 DOVRANNO Una
Sostituite Zona
Una Saltasse
essere Caso
CON
+
+ in In
il
,
DIFFERENTE .
Lesoluzioni (ma problema)
completamente
risolvono
sono il :
due non
1) Cerco prendero
predire Ramo
di Quale
2) Riduco penalità anticipando Scelta
al la
salto
associata
la .
#1 Anticipo la
Ottimizzazione stadio
salto allo
il
,
# 2 OTTIMIZZAZIONE Ridefinizione ovvero faccia
Sia
Salto faccia Si
del che Non
Sia
si se
,
, , ,
(Branch-delay-Slot)
Listruzione
Salto Viene
Il salto
Eseguita il
immediatamente
che segue
, .
OSSERVAZIONI È NOP
BRANCH-DELAY-SLOT Caso una
di
peggiore Caso
L'inserimento MIGLIORE
SUL : , (PROCEDURA
PUÒ
TROVO INFLUENZARE
UN'ISTRUZIONE PROGRAMMA
Inserita SENZA
Essere SLOT
Che Nello Il
COMPILATORE)
Effettuata DAL .
Predizione Salto
del
Si Possono Su per ricordarmi
dell'istruzione
una
Bit parte
Uno due dell'indirizzo
Utilizzare o )
(con possibilità
più 90
%
bit
due accuratezza
oppure ho
Se saltato no di
ho .
Parte D'Agostino PAUSA
In
In DELZANO
PARTE
SEGUITO
Macchine finiti
a Stati Un transizioni
Insieme Si
di ci
stati e ,
fra ALTRO
SPOSTA E SOLO
STATO La
Un
UNO Se
È RISPETTATA
CONDIZIONE .
Le Cioè Transazioni
macchine a complete Gli Stati
essere
Stati Godono definiscono
Tutti
di , CIDE
INPUT
GLI Sono
PER Dato
CERTO
DETERMINIstiche Un Sempre
Seguo CERTO
Un
TUTTI E CON
,
Inoltre
Arco Possono TRAMITE
implementate RETI
essere
Stati SEQUENZIALI
a
Le macchine
. .
ALEE/GLITCh/ Hazard
Può e
Ingresso di
Accadere variando si variazioni
che creino multiple Uscita importante
un ,
SAPER LOGICA
COMPORTAMENTO
IL
ANALIZZARE RETE
TEMPORALE DELLA .
Le possono
reti :
Sequenziali essere
(Richiede Clock)
di
Segnale
Sincrone un ;
(Non Clock)
Asincrone Richiede il .
Come ?
BIT
Memorizza Un
Si Semplicemente è rete
una a stati
due .
LaTCH SR
Usa più
è Bit
L'esempio adi semplice
una asincrona circuito di ,
Logica memoria
di
ed
, PROCESSATI
L'USCITA PRECEDENTEMENTE
E
DAI INGRESSO Dal
DIPENDE In
SEGNALI SEGNALI .
& "Reset" "SET"
E S Si dice
Si dice ,
R
QUINDI QUANDO
RESETTO Q
QUANDO O
1 =
= ,
Quando Q
R
a
Setto sia
1
l si
S 0
=
= =
= ,
.
"CONSERVA" NE Un
DICE OVVERO NE
SET
Fa
NON ,
R Q
RESET Non può
Un fare
si
1
= = .
. o
o
S-R CLOCKED
Per Ser
fare modo solo
vengano ascoltati
Che determinati
in Utilizziamo
Istanti
in ,
v)
(k
Clock
Un = .
S-R TRIGGERED
EDGE
In fronte
Questo discesa
di
importanza
diamo
caso sul . SLAVE
MASTER
È Ser
Ck a
Master
1 Sensibile mantiene
Slave valore
il ;
= , ,
(al) input Qui
CK Mantiene Valore al
prende
Master Slave in
Il
O =
= , , (quando 1)
Fronte Master
Ch trasmette Salvato Slave
Dato memorizza
ck
il
co era
=L i
=
, ,
FRONTE INVARIATO
1 ATTIVO
MASTER LASCIA
CK RIMANE Scave DATO SALVATO
IL
>
0
= , , .
TIMING I To I
Bisogna Tenere Uscita
del propagazione
tempi ingresso
Segnale fra
di e
Conto del .
IL