Articles

GeeksforGeeks

a CPU teljesítményének javítása érdekében két lehetőségünk van:
1) javítsa a hardvert gyorsabb áramkörök bevezetésével.
2) rendezze el a hardvert úgy, hogy egyszerre több művelet is elvégezhető legyen.

mivel a hardver sebessége korlátozott, a gyorsabb áramkörök költsége meglehetősen magas, el kell fogadnunk a 2.opciót.

Pipelining : A Pipelining a CPU hardverelemeinek elrendezésének folyamata, hogy általános teljesítménye növekedjen. Több utasítás egyidejű végrehajtása egy pipelined processzorban történik.

let us see a real life example that works on the concept of pipelined operation. Vegyünk egy vizes palackot csomagoló üzemet. Legyen 3 szakaszban, hogy egy üveget kell áthaladni, Behelyezése a palack(I), Töltő víz az üveg(F), majd lezárja a palack(Ok). Tekintsük ezeket a szakaszokat 1., 2., illetve 3. szakasznak. Hagyja, hogy minden szakasz 1 percet vesz igénybe a művelet befejezéséhez.
most, egy nem Csővezetékes művelet során először egy palackot helyeznek be a növénybe, 1 perc elteltével a 2.szakaszba kerülnek, ahol a víz megtelik. Most, az 1. szakaszban semmi sem történik. Hasonlóképpen, amikor a palack a 3. szakaszba lép, mind az 1., mind a 2. szakasz tétlen. De a csővezetékes működés során, amikor a palack a 2. szakaszban van, egy másik palackot az 1.szakaszban lehet betölteni. Hasonlóképpen, ha a palack a 3. szakaszban van, akkor az 1.és a 2. szakaszban egy-egy palack lehet. Tehát minden perc után új palackot kapunk a 3.szakasz végén. Ezért az 1 palack gyártásához szükséges átlagos idő:

csővezeték nélkül = 9/3 perc = 3m

I F S | | | | | || | | I F S | | || | | | | | I F S (9 minutes)

pipelining = 5/3 perc = 1,67 m

I F S | || I F S || | I F S (5 minutes)

így a pipelined működés növeli a rendszer hatékonyságát.

egy alapvető csővezeték tervezése

  • egy pipelined processzorban egy csővezetéknek két vége van, a bemeneti vége és a kimeneti vége. E végek között több szakasz / szegmens van, úgy, hogy az egyik szakasz kimenete a következő szakasz bemenetéhez van csatlakoztatva, és minden szakasz egy adott műveletet hajt végre.
  • az Interfészregiszterek a közbenső kimenetet két szakasz között tartják. Ezeket az interfészregisztereket retesznek vagy puffernek is nevezik.
  • a csővezeték összes szakaszát az interfészregiszterekkel együtt egy közös óra vezérli.

a pipelined processzorban történő végrehajtás
a pipelined processzorban lévő utasítások végrehajtási sorrendje téridő-diagrammal megjeleníthető. Vegyük például egy 4 fokozattal rendelkező processzort, és hagyjuk, hogy 2 utasítás legyen végrehajtva. A végrehajtási sorrendet a következő tér-idő diagramokon keresztül tudjuk megjeleníteni:

nem átfedő végrehajtás:

Stage / Cycle 1 2 3 4 5 6 7 8
S1 I1 I2
S2 I1 I2
S3 I1 I2
S4 I1 I2

Total time = 8 Cycle

Overlapped execution:

Stage / Cycle 1 2 3 4 5
S1 I1 I2
S2 I1 I2
S3 I1 I2
S4 I1 I2

Total time = 5 Ciklus

csővezeték szakaszok

RISC processzor 5 fokozatú utasítás csővezeték végrehajtani az összes utasítást a RISC utasításkészlet. Következő 5 szakaszában RISC csővezeték a megfelelő műveletek:

  • 1. Szakasz (Fetch Utasítás)
    ebben A szakaszban a CPU olvassa az utasításokat a címe a memóriában, amelynek értéke van jelen a program számláló.
  • 2. szakasz(utasítás dekódolás)
    ebben a szakaszban az utasítás dekódolásra kerül, a regiszterfájl pedig az utasításokban használt regiszterekből érhető el.
  • 3. szakasz(utasítás végrehajtása)
    ebben a szakaszban ALU műveleteket hajtanak végre.
  • 4. szakasz(Memory Access)
    ebben a szakaszban a memory operandusok az utasításban található memóriából olvashatók és írhatók.
  • 5. szakasz(írja vissza)
    ebben a szakaszban a számított/lekérett értéket vissza kell írni az utasításokban szereplő regiszterbe.

pipelined processzor teljesítménye
Vegyünk egy ” k “szegmens csővezetéket óraciklusidővel” Tp ” – ként. Legyen ” n ” feladat a pipelined processzorban. Most, az első utasítás ” k “ciklusokat fog venni, hogy kijöjjön a csővezetékből, de a többi” n – 1 “utasítás csak” 1 “ciklust vesz igénybe, azaz összesen” n – 1 ” ciklust. Szóval idő, hogy végre az ” n ” utasítás a futószalag javítja processzor:

 ETpipeline = k + n – 1 cycles = (k + n – 1) Tp

ugyanazon ügyben, egy nem futószalagos processzor, végrehajtási ideje az ” n ” utasítás lesz:

 ETnon-pipeline = n * k * Tp

Szóval, sebesség (K) a futószalag javítja processzor át nem futószalagos processzor, ha ” n ” a feladatok végrehajtása ugyanazon a processzor:

 S = Performance of pipelined processor / Performance of Non-pipelined processor

mivel a processzor teljesítménye fordítottan arányos a végrehajtási idővel,

 S = ETnon-pipeline / ETpipeline => S = / S = / 

Ha az”n”feladatok száma lényegesen nagyobb, mint k, azaz n > k

 S = n * k / n S = k

ahol ” k ” a csővezeték szakaszainak száma.

Is, Hatékonyság = Adott sebesség / Max sebesség = S / Smax
tudjuk, hogy Smax = k

Szóval, a Hatékonyság = S / k

a Kapacitás = Számú utasítás / Teljes ideje, hogy töltse ki a megjelenő utasításokat

Szóval, a Kapacitás = n / (k + n – 1) * Tp

Megjegyzés: A ciklus per utasítás (CPI) értéke ideális futószalag javítja processzor 1

Kérjük, olvassa el Set 2 a Függőségek Adatok Veszély, majd Állítsa be a 3 Típusú vezetéket, majd húzza az időt.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük