Articles

GeeksforGeeks

for at forbedre ydeevnen af en CPU har vi to muligheder:
1) forbedre udstyret ved at indføre hurtigere kredsløb.
2) Arranger udstyret således, at der kan udføres mere end en operation på samme tid.

da der er en grænse for maskinens hastighed, og omkostningerne ved hurtigere kredsløb er ret høje, er vi nødt til at vedtage 2.mulighed.

Pipelining : Pipelining er en proces med arrangement af udstyrselementer i CPU ‘ en, således at dens samlede ydeevne øges. Samtidig udførelse af mere end en instruktion finder sted i en pipelineprocessor.

lad os se et eksempel i det virkelige liv, der fungerer på begrebet rørledningsoperation. Overvej en vandflaske emballage plante. Lad der være 3 trin, som en flaske skal passere igennem, indsætte flasken(I), fylde vand i flasken(F) og forsegle flasken (e). Lad os betragte disse faser som henholdsvis trin 1, Trin 2 og trin 3. Lad hvert trin tage 1 minut for at afslutte sin drift.
nu, i en ikke-rørformet operation, indsættes en flaske først i planten, efter 1 minut flyttes den til trin 2, hvor vand er fyldt. I fase 1 sker der ikke noget. Tilsvarende, når flasken bevæger sig til trin 3, er både Trin 1 og trin 2 inaktiv. Men i pipelined drift, når flasken er i trin 2, en anden flaske kan indlæses på trin 1. Tilsvarende, når flasken er i trin 3, der kan være en flaske hver i trin 1 og trin 2. Så efter hvert minut får vi en ny flaske i slutningen af trin 3. Derfor er den gennemsnitlige tid til fremstilling af 1 flaske:

uden pipelining = 9/3 minutter = 3M

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

med pipelining = 5/3 minutter = 1,67 m

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

således øger pipelined drift effektiviteten af et system.

Design af en grundlæggende rørledning

  • i en pipelineprocessor har en rørledning to ender, indgangsenden og udgangsenden. Mellem disse ender er der flere trin / segmenter, således at output fra et trin er forbundet til input fra næste trin, og hvert trin udfører en bestemt operation.
  • Interfaceregistre bruges til at holde mellemudgangen mellem to trin. Disse grænsefladeregistre kaldes også Lås eller buffer.
  • alle faser i rørledningen sammen med grænsefladeregistrene styres af et fælles ur.

udførelse i en pipelined processor
Eksekveringssekvens af instruktioner i en pipelined processor kan visualiseres ved hjælp af et rumtidsdiagram. Overvej for eksempel en processor, der har 4 trin, og lad der være 2 instruktioner, der skal udføres. Vi kan visualisere eksekveringssekvensen gennem følgende rumtidsdiagrammer:

ikke overlappet udførelse:

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 Cyklus

Pipeline Stages

RISC processor har 5 trin instruktion pipeline til at udføre alle instruktionerne i RISC instruktion sæt. Følgende er de 5 faser af RISC pipeline med deres respektive operationer:

  • Trin 1 (instruktion Hent)
    i dette trin læser CPU ‘ en instruktioner fra adressen i hukommelsen, hvis værdi er til stede i programtælleren.
  • Trin 2(Instruktionsdekode)
    i dette trin afkodes instruktion, og registerfilen åbnes for at hente værdierne fra de registre, der bruges i instruktionen.
  • Trin 3 (instruktion Udfør)
    i dette trin udføres ALU-operationer.
  • Trin 4 (hukommelsesadgang)
    i dette trin læses og skrives hukommelsesoperander fra/til den hukommelse, der er til stede i instruktionen.
  • Trin 5 (Skriv tilbage)
    i dette trin skrives beregnet/hentet værdi tilbage til det register, der findes i instruktionerne.

ydelse af en pipelineprocessor
overvej en ‘k’ segmentrørledning med urcyklustid som ‘Tp’. Lad der være’ n ‘ opgaver, der skal udføres i den pipelinede processor. Nu vil den første instruktion tage’ k ‘ cyklusser for at komme ud af rørledningen, men de andre ‘n – 1’ instruktioner tager kun ‘1’ cyklus hver, dvs.i alt ‘n – 1’ cyklusser. Så det tager tid at udføre ‘n’ instruktioner i en pipelined processor:

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

i samme tilfælde, for en ikke-pipelined processor, vil udførelsestiden for ‘n’ instruktioner være:

 ETnon-pipeline = n * k * Tp

så, speedup (S) af den pipelined processor over ikke-pipelined processor, når ‘n’ opgaver er udført på samme processor er:

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

da udførelsen af en processor er omvendt proportional med udførelsestiden, har vi

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

når antallet af opgaver ‘n’ er væsentligt større end k, det vil sige n >> k

 S = n * k / n S = k

hvor ‘k’ er antallet af trin i rørledningen.

også, effektivitet = given hastighed op / maks hastighed op = S/Smaks
vi ved, at, Smaks = k

så, effektivitet = S/k

gennemstrømning = antal instruktioner/Total tid til at fuldføre instruktionerne

så, gennemstrømning = n/(k + n – 1) * TP

Bemærk: cyklusserne pr.instruktion (CPI) værdi af en ideel pipelined processor er 1

se venligst sæt 2 For afhængigheder og Datafare og sæt 3 For typer af rørledninger og standsning.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *