Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> CPU >> .

Tecniche che possono essere utilizzate per migliorare le prestazioni della CPU?

1. Riduzione delle penalità per le previsioni errate del ramo

- I predittori di branch vengono utilizzati per prevedere la successiva istruzione da eseguire. Se viene effettuata la previsione corretta, le istruzioni sono già precaricate e quindi non si verifica alcuno stallo della pipeline. In caso di previsione errata, invece, l'esecuzione entra in fasi di recupero. Lo stallo della pipeline comporta una perdita di prestazioni.

- Le tecniche che possono essere applicate per ridurre la previsione errata dei rami sono:aumento delle dimensioni del buffer, srotolamento del loop, fusione del loop.

2. Riduzione delle penalità per mancata cache dei dati

- La cache dei dati viene utilizzata per ridurre i tempi di caricamento e archiviazione durante il recupero dei dati dalla memoria principale. Ma quando l'indirizzo di memoria richiesto non viene trovato nella cache, si parla di Cache Miss e i dati devono essere recuperati dalla memoria principale, il che richiede più tempo.

- Esistono due tipi di cache miss:

a) Insuccessi a freddo - Si verifica quando il blocco di memoria a cui si fa riferimento non è nella cache e non c'era nemmeno prima.

b) Mancanza di capacità - Si verifica quando il blocco richiesto non è presente nella cache ma avrebbe potuto essere presente se ci fosse abbastanza spazio.

- Tecniche per ridurre i cache miss:aumento delle dimensioni della cache, localizzazione spaziale (raggruppamento dei dati con elevata probabilità di accesso).

3. Riduzione del sovraccarico del flusso di controllo

- Le istruzioni di flusso di controllo in un programma modificano la sequenza di esecuzione delle istruzioni.

- Tecniche che possono essere utilizzate per ridurre il flusso di controllo:riduzione del numero di rami (ad esempio rimozione di if-else nidificati), utilizzo di Jump-Table, srotolamento dei loop.

4. Esecuzione speculativa

- L'esecuzione speculativa implica l'esecuzione di istruzioni oltre un'istruzione di salto con il presupposto che il salto verrà eseguito.

- Le speculazioni vengono verificate o schiacciate a seconda della direzione effettiva del ramo in seguito.

 

hardware © www.354353.com