Vad är en CPU-pipeline för en dator?

Cto Takoe Konvejer Cp Komp Utera



En CPU-pipeline är en serie bearbetningssteg i en dators centrala processorenhet (CPU). Stadierna är vanligtvis hämtning, avkodning, exekvering och återskrivning. Pipelinen är ett grundläggande designelement för de flesta processorer, och dess syfte är att förbättra prestandan. Genom att dela upp bearbetningen av instruktioner i separata steg kan CPU:n hålla flera instruktioner bearbetade samtidigt. Detta är känt som parallellitet eller parallell bearbetning, och det kan vara en betydande prestandaökning. Det kommer dock på bekostnad av ökad komplexitet, och det kan införa förseningar (så kallade pipeline stalls) om instruktioner behöver utföras i ur funktion.



I det här inlägget kommer vi att förklara vad är en datorprocessorpipeline . Den centrala processorenheten (förkortning för central processing unit) är en viktig del av datorn, som fungerar som hjärnan. Och vi vet det redan. Men vad vi kanske inte vet är teknikerna som gör CPU:n effektiv. En av dessa tekniker är Pipelining . Om du vill veta vad är pipelined cpu och hur pipelining förbättrar processorns prestanda läs då detta inlägg.





Vad är en dator CPU-pipeline





Vad är en CPU-pipeline för en dator?

Inom datavetenskap är en instruktion ett kommando som ges av ett program till den centrala processorn. Den består av maskinspråkskod som processorn förstår och exekverar. Till exempel |_+_| är en instruktion som används för att berätta för CPU:n att lagra information i RAM. Pipelining är en teknik används i utvecklingen av moderna processorer. Detta ökar den totala kommandogenomströmningen (antal instruktioner som exekveras per sekund) genom att dela upp instruktionerna i deluppgifter som CPU:n kan bearbeta parallellt.



teamviewer-ljudet fungerar inte

Vad är en pipelined processor?

En pipelined CPU fungerar enligt principen om pipelining, och delar upp en uppsättning instruktioner i ett antal deluppgifter, där varje deluppgift utför en operation. Rörledningen har 2 slutpunkter: in- och utgång . Flera deluppgifter ackumuleras mellan dessa ändar på ett sådant sätt att utgången från en deluppgift kopplas till ingången för nästa deluppgift. Därför exekverar den rörliga CPU:n mer än en deluppgift samtidigt.

bästa Twitter-appen för Windows 10

Grundläggande struktur för CPU-pipeline

Läs också: Förklaring av topologityper i ett datornätverk .



Hur förbättrar pipelining processorprestanda?

I allmänhet kan CPU:n bryta en instruktion i följande fall. 4 deluppgifter (på en mycket grundläggande nivå):

  • Föra – hämta instruktioner från minnet.
  • dechiffrera - avkodningsinstruktioner.
  • Uppfylla - utförande av instruktioner.
  • Skriva – skriva tillbaka resultatet till minnet.

Anta nu CPU:n har ett dedikerat block för att utföra var och en av dessa deluppgifter. . Medan ett block kör en deluppgift, kommer resten av CPU-blocken att vara inaktiva och gör ingenting under den tiden. Pipelining drar fördel av dessa lediga enheter genom att använda dem för att bearbeta andra köade instruktioner.

Låt oss förstå detta med ett exempel. Titta på följande figur:

när som helst videokonverterare

Icke-pipelined CPU vs. Pipelined CPU

Figuren ovan visar hur en uppsättning av två instruktioner exekveras i en icke-pipelined CPU-miljö och i en pipelined CPU-miljö. Som du kan se tar en icke-pipelined CPU 8 cykler för att exekvera 2 instruktioner, medan en pipelined CPU exekverar samma uppsättning instruktioner på bara 5 cykler.

När man tittar noggrant använder den rörliga CPU:n sitt hämta-block för att utföra den första deluppgiften i den andra instruktionen, medan dess avkodningsblock redan utför den andra deluppgiften i den första instruktionen. Därför använder den det andra blocket samtidigt som det första blocket, som annars skulle vara ledigt i en miljö utan pipeline.

Att öka exekveringshastigheten för en given uppsättning instruktioner ökar därför processorns hastighet. Och här är hur pipelining förbättrar processoreffektiviteten. Viktigt att notera här är att pipelining inte minskar den tid det tar för processorn att utföra en instruktion. Snarare ökar det antalet instruktioner som CPU:n kan bearbeta samtidigt. Så att öka antalet deluppgifter betyder egentligen inte att en pipelined CPU kommer att vara snabbare än en icke-pipelined CPU. Faktum är att en icke-pipelined CPU kan ta kortare tid att utföra en enskild instruktion än en pipelined CPU, beroende på antalet pipelinesteg som är involverade (antal deluppgifter).

Jag hoppas att ovanstående förklaring klargör vad en dators CPU-pipeline är. Om du har några tvivel, vänligen dela dem i kommentarsfältet nedan.

google lexikon firefox

Förbättrar pipelining processorprestanda?

Pipeline-arkitekturen ökar antalet instruktioner som bearbetas per processorcykel. Genom att öka genomströmningen av instruktioner ökar den totala prestandan för CPU:n. Men om instruktionsuppsättningen består av komplexa instruktioner (såsom greninstruktioner), kommer CPU:n inte att veta i förväg var den ska läsa nästa instruktion och måste vänta tills den aktuella instruktionen har utförts fullständigt. I sådana fall kan det hända att pipeline-arkitekturen inte ger CPU-effektivitet.

Ökar pipelining exekveringstiden?

Pipelining ökar antalet instruktioner som exekveras samtidigt i varje klockcykel. Men detta ökar inte nödvändigtvis tiden det tar att utföra en enskild instruktion. Till exempel är pipelining inte lämplig för att exekvera förgreningsinstruktioner, vilket avleder sekventiell exekvering till en annan väg. Denna desorganisation kan bryta rörledningen eller städa upp den helt om inte lämpliga metoder införs för att lösa problem med grenar.

Läs mer: Hur man begränsar CPU-användning för en process i Windows .

Vad är en dator CPU-pipeline
Populära Inlägg