Table of Contents
Pipelinointi on mikroprosessoriarkkitehtuurissa käytetty tekniikka, jolla parannetaan suorituskykyä päällekkäisesti useiden ohjeiden toteuttamisen kanssa. Se jakaa ohjeenkäsittelyn useisiin vaiheisiin, jolloin useita eri osia useista ohjeista voidaan käsitellä samanaikaisesti. Tässä artikkelissa tarkastellaan pillinkäsittelyn peruslaskelmia ja keskustellaan käytännön haasteista.
Peruslaskelmat Pipelinointiin
Putkiston päälaskennassa on kyse putkiston läpiviennin ja tehokkuuden määrittämisestä. Läpivienti mitataan usein ohjeina sykliä kohti (IPC). Jos putkistossa on n vaiheita, ihanteellisesti yksi ohje valmistuu jokaisen syklin jälkeen, kun putkijohto on täytetty. Ihanteellinen läpivienti on:
Johdanto = 1 opetusta sykliä kohti
Todellinen suorituskyky riippuu kuitenkin putkiston vaaroista ja pysähdyksistä. Putkiston nopeutuminen voidaan laskea seuraavasti:
Nopeus = suoritusaika ilman pillinointia/toteutusaika pillinkäsittelyllä[
Käytännön haasteet Pipeliningin alalla
Toteutus pillinointi tuo mukanaan useita käytännön haasteita. Tietovaarat ilmenevät, kun ohjeet riippuvat aiempien ohjeiden tuloksista. Ohjausvaarat johtuvat haaraohjeista, jotka muuttavat toteutusvirtaa. Rakenteellisia vaaroja syntyy, kun laitteistoresurssit eivät riitä tukemaan päällekkäisiä ohjeita.
Yleiset vaarat
- Tietovaarat:[ Vaadi tekniikoita kuten huolinta tai viivyttely.
- Valvontavaarat:[ Hoitanut haaraennusteen avulla.
- Rakennusriskit:[ Ratkaistu lisäämällä laitteistoresursseja.
Näihin haasteisiin vastaaminen on olennaisen tärkeää, jotta mikroprosessorien pillinkäsittelyn tehokkuus paranee.