T7.2/T7.3/T8.1/T8.2 Samlebåndsprosessor med 5 steg Flashcards
Hvorfor har flersykelprosessoren dårlig ytelse?
Viktigste grunnen: Bruker flere klokkesykler på hver instruksjon
Hvordan kan man få flersykelprosessoren til å ha bedre ytelse
Utnytte parallellitet
Hva går samlebåndsprinsippet ut på
En implementeringsteknikk der flere instruksjoner blir utført overlappende
Hva er fordelene og ulempene med en enkeltsykelprosessor?
CPI: Lav
Sykeltid: Høy
Areal: Lav
Kompleksitet: Lav
Hva er fordelene og ulempene med en flersykelprosessor?
CPI: Høy
Sykeltid: Lav
Areal: Lavere
Kompleksitet: Litt høyere
Hva er fordelene og ulempene med en samlebåndsprosessor?
CPI: Lav til lavere
Sykeltid: Lav til lavere
Areal: Lav til høy
Kompleksitet: Middels til høy
Hva er fordelene ved samlebåndsprosessoren sammenliknet med flersykelprosessoren og enkeltsykelprosessoren?
Økt ytelse: kan utnytte parallellitet og dermed øke gjennomstrømningen av instruksjoner
Bedre ressursutnyttelse: Bruk av samlebånd gjør det mulig å bruke flere enheter samtidig
Redusert klokkesykeltid
Høy skalerbarhet: Samlebåndsprosessorer kan enklere skaleres ved å legge til flere trinn i samlebåndet
Forbedret instruksjonsgjennomstrømning
Hva er ulempene ved samlebåndsprosessoren sammenliknet med flersykelprosessoren og enkeltsykelprosessoren?
Høy design kompleksitet
Må håndtere stall og hazards
Har en øvre grense for ytelsesforbedring
Økt strømforbruk
Mer krevende feilhåndtering
Hva er stegene i samlebåndet?
- Instruksjonshenting (IF)
- Instruksjonsdekoding og registerlesing (ID)
- Utføring (EX)
- Minneaksess (MEM)
- Tilbakeskriving (WB)
Oppstartskostnad
Det tar n-1 klokkesykler å fylle et n-stegs samlebånd
Hva vil balanse i et samlebånd si?
Hvor godt vi lykkes med å fordele tiden mellom stegene i samlebåndet
Hvordan påvirker oppstartskostnad i samlebåndet ytelse?
Høy oppstartskostnad reduserer ytelsen
Hvordan påvirker balanse mellom steg i samlebåndet ytelse?
For optimal ytelse bør hvert steg i samlebåndet ta omtrent like lang tid å fullføre. Dersom ett steg tar betydelig lengre tid enn de andre - flaskehals - redusert total gjennomstrømning.
- Farer (Hazards)
Programmet kan ikke utføres fordi det mangler noe
- Strukturfare
En enhet instruksjon trenger er ikke tilgjengelig
- Datafare
Instruksjonen kan ikke utføres forid data ikke er tilgjengelig
Hvordan kan datafarer unngås?
Med forwarding
Load-use datafare
En spesifikk form for datafare der hvor data som blir lastet opp av en load instruksjon ikke har blitt tilgjengelig enda fordi de trengs av en annen instruksjon
Hva kan en load-use datafare føre til?
Samlebånds stopp / boble