jeni duke lexuar...
Ushtrime

Pipeline…vlerësim i performancave

Për shkak edhe të ekzistencës së “pipeline hazards”,  procesorët pipeline realizojnë një performancë më të ulët se ajo teorike. Kështu, në formë të përgjithshme, mund të shkruajmë:

CPI pipeline= CPI ideale + mesatarja e cikleve të clockut të “ngecjeve” për instruksion

Shënim : termi “ngecje” është përkthim i “stall” në anglisht.

Për një procesor të thjeshtë pipeline RISC (procesor scalar dhe “in-order pipeline”) CPI ideale=1, prandaj barazimi i mësipërm do të marrë formën : 

CPI pipeline= 1 + mesatarja e cikleve të clockut të “ngecjeve” për instruksion

Për “ngecjet”që shkaktohen prej “pipeline hazard”, në mënyrë simbolike mund të shkruajmë:

CPI pipeline= 1 + cikle vonesë për instruksion nga hazards (structural + data + control)

Shënim : barazimi i mësipërm është i vërtetë, sepse në pipeline të tipit “in-order” vonesat e shkaktuara nga  “hazards”, në përgjithësi, nuk mbivendosen.

Më konkretisht, barazimi i mësipërm do të mund të shkruhej:

CPI pipeline= 1 + Σ (frekuenca e ngecjeve * penalizim nga ngecjet)

ose

CPI pipeline= 1 + Σ (Stall Frequency * Stall Penalty)

ku: 

      Frekuenca e ngecjeve (Stall Frequency) është frekuenca e instruksioneve që pëson ngecje ose vonesë.

      Penalizim nga ngecjet (Stall Penalty) është numri i cikleve të clocku me të cilat ngec (vonohet) një instruksion.

Shpesh herë  termi “ CPI pipeline” quhet edhe “CPI efektive“,  prandaj do të kishim :

CPI efektive = 1 + Σ (Stall Frequency * Stall Penalty)

 

Ushtrim 1

Në një procesor pipeline të thjeshtë, për çdo instruksion “branch” të ekzekutuar, avancimi në pipeline vonohet (ngec) me 3 cikle clocku, ndërsa 10 % e instruksioneve “load” vonohet me 1 cikël clocku. Frekuenca në program e instruksioneve të tipit “branch” dhe “load” është respktivisht 20 % dhe 25%. Të llogaritet CPI efektive e procesorit.

Zhvillim :

CPI efektive = 1 + Σ (Stall Frequency * Stall Penalty)

CPI efektive = 1 + 0.2*3 + 0.1 * 0.25*1 =1.625

Shënim : pavarësisht se frekuenca e “load” është 25%, vetëm 10 % e tyre ngecin 1 cikël në pipeline.

Ushtrim 2

Supozojmë se në një procesor pipeline të thjeshtë 30 % e instruksioneve janë të tipit “load” dhe në gjysmën e rasteve ata pasohen nga një instruksion, ekzekutimi i të cilit varet vlera që ngarkohet në regjistër. Ky “hazard” shkakton një vonesë prej 1 cikël clocku.

Gjeni sa më e shpejtë është pipeline ideale nga kjo pipeline reale. Injoroni vonesat e shkaktuara nga ngecjet e tjera.

Zhvillim :

Në rastin e mësipërm kemi të bëjmë me “data dependency” ose “data hazards” e shkaktuar prej 15 % e instruksioneve.

CPI efektive do të ishte :

CPI efektive = 1 +  0.15 *1 = 1.15

CPI ideale/CPI efektive = 1/1.15 = 0.87 ose 87 %.

Përfundimi : “Data hazards” shkaktojnë uljen me 13 % të performancave të procesorit.

Diskutim

Komentet janë mbyllur.

Regjistroni adresën tuaj e-mail për të marrë artikujt e rinj nëpërmjet mesazheve ...

Kategori

Intel CPU Architectures

Procesore Apple Ax

Apple A12 Bionic
Këtë e pëlqejnë %d blogues: