Professional Documents
Culture Documents
bm02 140801020300 Phpapp02
bm02 140801020300 Phpapp02
0/
2. Hatt (Pipeline)
hattnda (pipeline) birden fazla i (rnein komutlar) paralel olarak ayn anda
yrtlrler.
Bir i hattnn verimli olarak alabilmesi iin
1. Farkl veriler zerinde defalarca tekrarlanan iler (task) olmas gerekir,
2. ler paralel yrtlebilen kk alt ilere blnebilmeli.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.1
www.buzluca.info
Bilgisayar Mimarisi
Adm = 1 Oto 1
stasyon 1 stasyon 2 stasyon 3
1
Bilgisayar Mimarisi
veri sonu
lem lem .... lem
R1 R2 Rk
Birimi 1 Birimi 2 Birimi k
saat
1. Segman (katman) 2. Segman k. Segman
(Segment, stage, layer)
Bilgisayar Mimarisi
Toplama 3. Katman
Toplama
R5
Sonu
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.4
www.buzluca.info
2
Bilgisayar Mimarisi
Not: Verinin nceden hazr olduu veya bellek okuma sresinin dier ilemlere gre
ok ksa olduu sistemlerde bellekten okuma ayr bir alt ilem olarak ele alnmaz.
Bu durumda sadece aritmetik ilemi yapan i hatt 3 yerine 2 katmanl olarak
tasarlanabilirdi.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.5
www.buzluca.info
Bilgisayar Mimarisi
2 T1 T2 T3 T4 T5 T6
3 T1 T2 T3 T4 T5
4 T1 T2 T3 T4
1nci i (T1) 4 saat evrimi (segman k.dan sonraki her saat evriminde
says k=4) sonunda tamamland. yeni bir i tamamlanr.
3
Bilgisayar Mimarisi
tamamlanr.
T3 S1 S2 S3 S4
T4 S1 S2 S3 S4
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.7
www.buzluca.info
tp = max(i) + dr = M + dr
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.8
www.buzluca.info
4
Bilgisayar Mimarisi
Hzlanma (Speedup):
k: hattndaki segman says
tp: saat periyodu (En yava birime gre ayarlanr.)
n: says (iin tekrar says)
1nci iin (T1) tamamlanmas iin k adet saat darbesi gereklidir.
Buna gre 1nci iin tamamlanma sresi: T(1) = ktp
Kalan n-1 iin tamamlanmas ii (n-1) evrim gereklidir. Sre: (n-1)tp
Tm ilerin (n adet) toplam sresi: (k+n-1)tp
tn : hatt kullanlmasayd bir iin sresi
hatt olmadan gereken sre n tn
Hzlanma (Speedup): S = S=
hatt ile gerekli olan sre (k + n 1) t p
says ok artarsa: n
tn
S =
lim
n
tp
Eer tn= ktp varsaym yaplrsa
(ana ii k adet eit sreli kk alt ileme blmek mmknse):
Smax = k (Teorik maksimum hzlanma)
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.9
www.buzluca.info
Bilgisayar Mimarisi
5
Bilgisayar Mimarisi
Bilgisayar Mimarisi
Sonu:
hattnn hzlanma salayabilmesi iin ii ok sayda, ksa sreli ve dengeli alt ie
blmek gerekir.
rnein yukardaki rnek i, her biri 20ns sreli 5 adet alt ileme blnebilirse
saat iaretinin periyodu 25ns olur.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.12
www.buzluca.info
6
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.13
www.buzluca.info
7
Bilgisayar Mimarisi
Bilgisayar Mimarisi
8
Bilgisayar Mimarisi
Bilgisayar Mimarisi
9
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.20
www.buzluca.info
10
Bilgisayar Mimarisi
b) Adres Bamll:
Veri atmas (bamll) adres saklayclarnda (iareti - pointer) da oluabilir.
rnek (68000)
ADDA.W #2, A0
MOVE.B (A0)+, D0
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.21
www.buzluca.info
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.22
www.buzluca.info
11
Bilgisayar Mimarisi
Bilgisayar Mimarisi
1
M
R0 0 U A
R1 X
: 1 F
M
B Bellek ilemleri
0 U ile ilgili segman
X
bu izimde
ALU gsterilmemitir.
Saklayc Dosyas
s
hatt saklayclar hatt saklayclar
DO EX WO
s girii, i hattnn atma sezme (hazard detection) birimi tarafndan denetlenir.
ALU'nun giriine ya saklayclardan gelen deeri ya da ALU'nun kndan dorudan
gelen deeri (bypass) ynlendirir.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.24
www.buzluca.info
12
Bilgisayar Mimarisi
Eer sorunu operand ynlendirme ile zmek mmkn olursa i hattn durdurmaya
gerek olmaz ve performans dmez.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.25
www.buzluca.info
13
Bilgisayar Mimarisi
Bilgisayar Mimarisi
b) Koullu dallanma
Koullu dallanmalarda hem dallanmadan sonraki komut (koul yanl ise
kullanlacak) hem de dallanma ile gidilmesi olas olan hedef komut (koul doru ise
kullanlacak) i hattna nceden alnr.
ki ayr komut dizisinin ayn anda ilenebilmesi iin iki paralel i hattna gerek
vardr.
En azndan iki ayr komut alma katmanna gerek duyulur.
Hedef komutu nceden belirlemek iin dallanma hedef tablosu kullanlr.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.28
www.buzluca.info
14
Bilgisayar Mimarisi
rnek:
Dallanma Komutu adresi Hedef adres .
Programda en son $A000 $B000 $A000 JUMP Hedef
alan belli . ..
saydaki her . ..
dallanma komutu $B000 Hedef ..
iin bir satr vardr.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.29
www.buzluca.info
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.30
www.buzluca.info
15
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.31
www.buzluca.info
Bilgisayar Mimarisi
Programda
son alm
olan koullu
dallanma
komutlar
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.32
www.buzluca.info
16
Bilgisayar Mimarisi
Her koullu dallanma komutu iin dallanma gemii tablosunda bir ngr biti (pi)
tutulur.
pi , i. koullu dallanma komutunun ngr bitidir.
ngr biti, ilgili komutun son almasnda dallanma olup olmadn gsterir.
Eer komutun son almasnda dallanma olduysa bir sonraki almasnda da
dallanma olaca varsaylr.
Algoritma:
i. Koullu dallanma komutunu al
Eer (pi = 0) ise ngr: "dallanma YOK", bellekte sradaki komutu al
Eer (pi = 1) ise ngr: "dallanma VAR", dallanmann hedefi olan komutu al
Eer dallanma gerekten olursa pi 1
Eer dallanma gerekten olmazsa pi 0
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.33
www.buzluca.info
Program almaya baladnda BNZ komutunun p biti 1'dir (dallanma VAR ngrs).
Dngnn ilk almasnda BNZ'de doru ngr yaplacak ve dngnn bandaki
komut i hattna alnacak.
p bitinin deeri (p=1) dngnn son almasna kadar deimeyecek.
Dngnn son almasnda p biti hl 1'dir ve "dallanma VAR" ngrs yaplr; ama
counter sfr olduu iin program dngnn bana dallanmaz ve dngden sonraki
komut ile devam eder (yanl ngr). p sfr yaplr (p 0).
Sonu olarak 100 defa dnen bir dngde 99 defa doru, sadece bir defa yanl
ngr yaplm oldu.
Dngden sonra BNZ'nin p biti 0'dr, nk son almada dallanma olmamtr.
Ayn dng baka bir dngnn iinde olduu iin tekrar altnda ne olur?
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.34
www.buzluca.info
17
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.35
www.buzluca.info
Bilgisayar Mimarisi
Dallanma oldu
ngr: Dallanma olmad ngr:
Program Dallanma Dallanma
altnda VAR VAR
gerekte 11 Dallanma oldu 10
olan
Bu yntemde ancak pe pee iki defa yanl ngr yaplrsa ngr karar deiir.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.36
www.buzluca.info
18
Bilgisayar Mimarisi
V: Dallanma VAR
"VAR"dan "YOK"tan
Y: Dallanma YOK
"YOK"a "VAR"a
Durum: 11 11 10 11 10 00 00 01 00 01 11
ngr: V V V V V Y Y Y Y Y V
Olan: V Y V Y Y Y V Y V V V
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.37
www.buzluca.info
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.38
www.buzluca.info
19
Bilgisayar Mimarisi
rnek:
Problem:
Bir MBte dallanma sorunlarn zmnde donanm tabanl yntemlerin
kullanld bir i hatt (pipeline) bulunmaktadr.
Bu MBte aada verilen ve i ie iki dng ieren kod paras altrlmaktadr.
Counter1 10
LOOP1 ------ ; Herhangi bir komut
Counter2 10
LOOP2 ------ ; Herhangi bir komut
------ ; Herhangi bir komut
Counter2 Counter2 - 1
BNZ LOOP2 ; Sfr deilse dallan
(Branch if not zero)
------ ; Dngden sonraki komut
Counter1 Counter1 - 1
BNZ LOOP1 ; Sfr deilse dallan
------ ; Dngden sonraki komut
Farkl dallanma ngrs yntemlerinin kullanlmas durumunda, yukarda verilen
kod parasndaki iki dallanma komutunun (BNZ) yrtlmesinde oluan doru ve
hatal dallanma ngrlerinin saylarn veriniz.
Yantlarnz ksaca aklaynz.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.39
www.buzluca.info
Bilgisayar Mimarisi
zm:
a. Statik ngr
i) Her zaman "dallanma var"
BNZ LOOP1: Sadece son yinelemede dngden karken yanl ngr olur; dier
ngrler dorudur.
Doru: 9 Yanl: 1
BNZ LOOP2: Sadece son yinelemede dngden karken yanl ngr olur; dier
ngrler dorudur.
Doru: 10x9 = 90 Yanl: 10x1 = 10
Toplam: Doru: 99 Yanl: 11
20
Bilgisayar Mimarisi
zm (devam):
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.42
www.buzluca.info
21
Bilgisayar Mimarisi
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.44
www.buzluca.info
22
Bilgisayar Mimarisi Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/
Performans arttrmak iin daha fazla segmana (4, 5 veya daha fazla) RISC
ilemciler de vardr.
rnekler:
MIPS R3000: 5 katman
MIPS R4000: 8 katman (superpipelined)
ARM7: 3 katman, ARM Cortex-A8: 13 katman.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.45
www.buzluca.info
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.46
www.buzluca.info
23
Bilgisayar Mimarisi
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.48
www.buzluca.info
24
Bilgisayar Mimarisi
zmlerin devam:
zm 2: Komutlarn yerini deitirmek, optimize edilmi gecikmeli ykleme
Derleyici programda uygun bir komun yerini deitirerek bu komutu LOAD ile sorun
karan saklaycy kullanan komut arasna yerletirir.
100 LOAD M[X], R1 Saat evrimi
104 LOAD M[Y], R2 Komutlar 1 2 3 4 5 6 7
108 LOAD M[W], R4 LOAD R1 I A D
10C ADD R1, R2, R3
LOAD R2 I A D
110 STORE R3, M[Z]
LOAD R4 I A D
R2 operand olarak
R2 gncelleniyor. kullanlyor.
Farkl saat evrimleri
Performans artmtr: Toplam 7 saat evrimi (zm 1'deki 8 evrim yerine).
Programn davran deimemitir.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.49
www.buzluca.info
Bilgisayar Mimarisi
Dallanma Problemi
Dallanma komutlar (branch, jump) PC'yi ALU (yrtme) katmannda gncellerler.
Ancak dallanma komutu yrtlrken bellekte dallanmadan sonra yer alan komut da
(dallanmann hedefi deil) i hattna alnm olur.
Bu durumda ya bir donanm birimi i hattn boaltmal ya da derleyici tabanl bir
zm uygulanmaldr.
nlem alnmazsa:
rnek: Sanal Kod Saat evrimi
Komutlar
1 2 3 4 5 6 7
100 LOAD M[X], R1
104 ADD 1, R2 100 LOAD M[X], R1 I A D
108 JUMP 200
10C ADD R1,R2 104 ADD 1, R2 I A
. I A
108 JUMP 200
200 STORE R1, M[Y]
10C ADD R1,R2 I A
25
Bilgisayar Mimarisi Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/
Bilgisayar Mimarisi
26
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.53
www.buzluca.info
Bilgisayar Mimarisi
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.54
www.buzluca.info
27
Bilgisayar Mimarisi
ADD R1,R2,R3 I R A
R2 operand olarak
Farkl saat evrimleri
kullanlyor.
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.55
www.buzluca.info
Bilgisayar Mimarisi
110 NOOP I R A
Derleyici tarafndan
yerletirildi.
Farkl saat evrimleri
www.akademi.itu.edu.tr/buzluca
2005-2017 Dr. Feza BUZLUCA 2.56
www.buzluca.info
28