Periodo e Frequenza di Clock: Hazard nel Pipelining in Informatica

Documento da Università su Periodo e Frequenza di Clock. Il Pdf tratta i concetti di periodo e frequenza di clock, e i problemi di hazard (data hazard e branch hazard) nel pipelining, utili per studenti universitari di Informatica.

See more

13 Pages

!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
PERIODO
E
FREQUENZA
DI
CL OCK
Finora
il
pr ocesso
di
che
di
un
istruzione
macchina
è
stato
scomposto
in
tre
fasi
Effete
Abbiamo
suppost o
chetueste
3
fasi
avvenissero
in
modo
sequelae
luna
di
seguito
all'altra
La
fine
di
una
fase
l'inizio
della
fase
successiv a
viene
scandita
dal
clock
un
componente
hw
Che
periodicamente
invia
un
impulso
alla
Cpu
Fearful
I
numero
di
impulsi
che
itockgenera
al
secondo
prende
il
nome
di_frequenza
di
l'unità
di
misura
di
questa
grandezza
è
1
l'herta
e
si
indica
con
la
lettera
f
I
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Il
tempo
che
interc orre
fra
due
impulsi
che
coincide
con
la
durata
di
una
fase
prende
il
nome
di
periodo
di
clock
e
si
indica
con
la
lettera
Dalle
definizioni
fornite
è
possibile
ricavare
la
seguente
relazione
EH
SI
immagini
che
un
processore
teorico
abbia
una
fre quenza
di
5
Ha
questo
significa
che
ogni
secondo
il
clock
inv ia
alla
Cpu
5
impulsi
FafDafatI
1s
PERIODO
DI
D
2s
CL OCK
FREQUENZA
DI
CL OCK
1
I

Unlock the full PDF for free

Sign up to get full access to the document and start transforming it with AI.

Preview

PERIODO E FREQUENZA DI CLOCK

· Finora il processo di esecuzione di un'istruzione
un Istruzione
macchina è stato
scomposta in tre fasi:
Fetch
F
Decode
D
Executed
Abbiamo supporto che queste 3 fasi avveni.
in modo sequenziale (una di seguito all'altro)
La fine di una fase/ l'inizio della fase successiva
Viene scandita dal clock, un componente hu
Che periodicamente Inv
Invia un Impulso alla CPU

1
cock p/ CPU
numero di impulsi che il clock genera al
secondo prende il nome di frequenza di clock
(l'unità di misura di questa grandezza è l'
l'hertz) e si indica con la lettera f.Il tempo che intercorre fra due impulsi, che
coincide con la durata di una fase, prende il
nome di periodo di clock e si indica con
la lettera T
Dalle definizioni fornite è possibile ricavare la
seguente relazione:
T.
1
1
Si immagini che un processore (teoria) abbia una
frequenza di SHE: questo significa che
Ogni secondo il clock invia allo CPU 5 Impulsi

1
1
4
Î
4
1
DU EL,
1
Dla
0,2 0,2
0,2
0,2
0,2
-r
15
PERIODO DI _T=
1 =0,25
CLOCK
t
FREQUENZA DI CLOCK
-· Naturalmente I processori reali hanno una
frequenza ben più elevata
Si immagine che un processore abia frequenza di 3,2
GHZ
il periodo di clock risulta essere:
1
10°s = 1 hs = 0,3125 ns/
T
3.2.109
1
-5
=
3,2
3,2
È evidente che all'aumentare della frequenza del
processore diminuisce il periodo di clock e più
istruzioni macchina la CPU riesce ad eseguire In
un certo intervallo temporale

INTRODUZIONE AL PIPELINING

LPAG 124-128
· Finora abbiamo supposto che le 3 fasi in cui
si articola il ciclo di fetch- decode-execute
Vengano eseguite dal modulo di controllo in
modo sequenziale
Ciascuna di queste tre fasi abbiamo
visto avere una durata
pari al periodo di
clock T del processore
F
D
E
F
E
DE
I-
T
T
7
T
T
TT
LI
L2
L3
· Sotto queste ipotes, il tempo totale tn
che la CPU Impiega per eseguire n istruzioni
macchina é:
Tempo necessario
En = (3.T)
.
per eseguire
2
una istruzione macchina

LPIPELINING

· Per ridurre il tempo complessivo di esecuzione
di un programma si può pensare di farsvolgere
queste 3 fasi da 3 circuiti hu indipendenti
In questo modo, a regime, è possibile
contemporaneamente svolgere:
· la fase di execute dell'istruzione li
la fase di decode dell'istruzione La
· la fase di fetch dell'istruzione (3

4
1
1
F
D
E
1.
L3
1
F
D
E
L2
1
F
D
E
LI
1
1
17
Ti
T2
13
1
Ta
Ts
DA QUI IN POI, AD OGNI PERIODO DI CLOCK
TERMINA L'ESECUZIONE DI UNA ISTRUZIONE
Quanto impiega la CPU ad eseguire n istruzioni
macchina in un sistema che utilizza la
tecnica del pipelining?
· per eseguire la prima istruzione impiega 3T
· Successivamente, ad ogni
periodo di clock termina
l'esecuzione di una istruzione
TEMPO PER
ESEGUIRE A
ISTRUZIONI IN
UN SISTEMA
A 3 STATI
tn=
3T+ (1-1) T
Tempo per a
eseguire la prima
Istruzione
2 Tempo per eseguire
le altre 0-1

SISTEMA A K STADI

Nella realtà, la fase di execute richie de più
periodi di clock rispetto alle fasi di fetch
e decode
. Per questo motivo, il processo di esecuzione di
un istruzione macchina è in genere articolato
In V fasi. Un'architettura in cui un istruzione
macchina viene eseguita in K fasi prende il nome di
architettura a la stadi
F D E. E2 E3
EK
La formula
La
per calcolare il tempo necessa
rio
per eseguire
A Istruzioni macchina in una
architettura
a K
stadi é :
tn = K· T + (n-1) T
NUMERO
STADI
D
PERIODO DI CLOCK

PROBLEMI NELL'UTILIZZO DEL PIPELINING

DATA HAZARD (CONFLITTO DEI DATI)

· Problema che si manifesta quando per iniziare
l'esecuzione di una istruzione è necessario che l'istruzione
precedente sia terminata
A titolo d'esempio, prendiamo in considerazione
Un'architettura à 5 stadi, in cui la fase di
execute si articola in 3 sotta -fasi
F D E1 E2 E3
· Supponiamo di dover eseguire due istruzioni
macchina che chiamiamo Li e La: queste
Istruzioni sono fra loro correlate, nel senso che
per poter iniziare la prima sottofase della fase di
execute dell'istruzione (2 è necessario che la CPU
abbia terminato l'esecuzione di li
·Questo genera degli stalli nel processo di esecuzione
-
(
di una istruzione macchina, ossia periodi di clock in
cui non viene completata alcuna fase

STALLI

F D . X . X
E
L2
+
-
LI
F. DE E1 E2
+
+
1
To T1 T2 T3 Ta
t
Questo causa un incremento nell'esecuzione
complessiva
del programma

BRANCH HAZARD (CONFLITTO DI SALTO)

· In presenza di istruzioni di salta condizionale,
la successiva istruzione che devi
essere esequita
dopo aver valutato la condizione, dipende dal
Valore logico assunto dalla condizione stessa
· Per comprendere questo problema, consideriamo
Una architettura a 3 stadi
4
if (ia > bi)
LLA-
· Se ax b, l'istruzione che la
CPU deve eseguire è La
3
else
1
£
L3
}
1
7
?
1
LI
F
D
T
To
£
T.
. Se a - b, l'istruzione che la
CPU deve eseguire è la
Nel periodo di clock TI, esegue la fase di fetch
dell'istruzione La o dell'istruzione i ??
La scelta dipende dal valore logica della
condizione a >b, ma per ottenerlo
é necessario
che l'istruzione Li termini
· In presenza di istruzioni di salta condizionale,
Viene invocato un algoritmo il quale effettua
Una predizione sul valore logica della condizione
e, consequentemente, sul blocco di istruzione che
Saranno
eseguite
Qualora la predizione risulti errata, la pipeline
SI svuota e si inizia da fase di fetch dell'
Istruzione che dev'essere eseguita
· Tomando all'esempio, immaginiamo che
l'agoritmo preditiva abbia prevista vera
la
condizione a >b
Questo ha portato al periodo di clock Ti e
T2 ad eseguire le fasi di Fetch e Decode
dell'istruzione La
F
D
L
J
F
D
E
1
-
To
TI
T2
T3
predittive abbia
fallita la previsione, in quanto supponiamo a >b
Sia una condizione falsa
1
F
L3
F
D
L2
1
F
D
E
1-
1
To
TI
T2
T3
Supponiamo che l'algoritmo
Questo causa un rallentamento Nell'esecuzione del
programma in quanto al periodo di clock T3
il modulo di controllo deve svolgere la fase di
fetch dell'istruzione 13
Se
Invece
l'agoritmo effettua una previsione corretta
nel periodo di clock T3 il modulo di controllo termina
l'esecuzione dell'istruzione successiva a la

Can’t find what you’re looking for?

Explore more topics in the Algor library or create your own materials with AI.