1. Verminderen van boetes voor verkeerde voorspelling van vestigingen
- Branch-voorspellers worden gebruikt om de volgende uit te voeren instructie te voorspellen. Als de juiste voorspelling wordt gedaan, zijn de instructies al vooraf opgehaald en is er dus geen sprake van een pijplijnblokkade. Aan de andere kant, als er sprake is van een onjuiste voorspelling, komt de uitvoering in een herstelfase terecht. Het vastlopen van de pijplijn leidt tot prestatieverlies.
- Technieken die kunnen worden toegepast om misvoorspellingen van vertakkingen te verminderen zijn:het vergroten van de buffergrootte, het afrollen van de lus, het samensmelten van de lus.
2. Missboetes voor gegevenscache verminderen
- Datacache wordt gebruikt om de laad- en opslagtijden te verkorten tijdens het ophalen van gegevens uit het hoofdgeheugen. Maar wanneer het gevraagde geheugenadres niet in de cache wordt gevonden, wordt dit een Cache Miss genoemd en moeten gegevens uit het hoofdgeheugen worden opgehaald, wat langer duurt.
- Er zijn twee soorten cachemissers:
a) Koude missers - Treedt op wanneer het geheugenblok waarnaar wordt verwezen niet in de cache staat en dit daar ook niet eerder was.
b) Capaciteitsmissers - Treedt op wanneer het gevraagde blok niet aanwezig is in de cache, maar aanwezig had kunnen zijn als er voldoende ruimte was.
- Technieken om cache-missers te verminderen:cachegrootte vergroten, ruimtelijke locatie (de gegevens met een hoge waarschijnlijkheid van toegang samen groeperen).
3. Vermindering van de controlestroomoverhead
- Control-Flow-instructies in een programma veranderen de volgorde van uitvoering van instructies.
- Technieken die kunnen worden gebruikt om de controlestroom te verminderen:het verminderen van het aantal vertakkingen (bijvoorbeeld het verwijderen van de geneste if-else), gebruik van Jump-Table, het uitrollen van lussen.
4. Speculatieve uitvoering
- Speculatieve uitvoering omvat het uitvoeren van instructies die verder gaan dan een vertakkingsinstructie, in de veronderstelling dat de vertakking zal worden overgenomen.
- Speculaties worden ofwel geverifieerd ofwel verpletterd, afhankelijk van de feitelijke richting van de tak later. |