Come far funzionare Spotify nel nuovo Garmin Venu
Scopri come configurare Spotify sul tuo Garmin Venu per ascoltare la tua musica preferita mentre ti alleni.
Storicamente le CPU sono state macchine perfettamente sequenziali. Questo è altamente logico e facile da capire, ma può essere un problema di prestazioni. Nel corso degli anni, sono stati apportati molti ingegnosi aggiustamenti ai progetti di CPU per ottenere il massimo delle prestazioni possibili dai wafer di silicio. Uno dei più interessanti, tuttavia, è l'esecuzione fuori ordine. Nelle CPU con esecuzione fuori ordine, le istruzioni non devono necessariamente essere eseguite nell'ordine in cui vengono emesse.
Stallo in ordine
Il principale problema di prestazioni in cui si imbatte una CPU in ordine è chiamato stallo della pipeline. Ciò accade quando un'istruzione dipende da una certa memoria, ma quella memoria non è direttamente disponibile in un registro. In questo caso, la CPU deve trovare quel valore in memoria. La cache della CPU viene controllata per prima in quanto questi sono i livelli di memoria più veloci. Se il valore non è presente, viene controllata la RAM di sistema. Durante questo periodo, la CPU deve rimanere inattiva, poiché l'istruzione dipendente dalla memoria deve essere completata in ordine prima delle istruzioni successive.
L'impatto sulle prestazioni di uno stallo della pipeline potrebbe non essere così negativo, ma può anche essere relativamente grave. Ad esempio, la cache L1 può in genere restituire un risultato nell'ordine di grandezza di 5 cicli della CPU. La cache L2 può richiedere 20 cicli, L3 circa 200 cicli e la RAM di sistema circa 400 cicli. Dato che una CPU può funzionare a circa 5 GHz, ovvero 5 miliardi di cicli di clock al secondo, anche 400 cicli non sono poi così male (0,000008%). Ma se hai molte istruzioni che devono fare riferimento ai dati più in basso nei livelli della cache, l'effetto cumulativo può causare un notevole rallentamento.
Esecuzione fuori servizio e ridenominazione dei registri
L'esecuzione fuori ordine è una tecnica che consente allo scheduler di riordinare le istruzioni nella sua coda. Attraverso questo riordino, può scegliere di dare la priorità a thread specifici rispetto ad altri. Può anche riportare le istruzioni nella coda quando hanno una dipendenza dai dati che non è stata ancora soddisfatta. Ciò impedisce il più possibile gli stalli della pipeline, riducendo al minimo i cicli di inattività.
L'esecuzione fuori ordine richiede una funzionalità chiamata ridenominazione dei registri. La CPU può accedere ai dati contenuti nei registri all'interno di un singolo ciclo. I registri vengono utilizzati per memorizzare i dati letti e scritti. È essenziale, tuttavia, garantire che il computer in generale veda tutto ciò che accade nell'ordine logico, non nell'ordine fuori servizio, ottimizzato per il ciclo della CPU. Per consentire ciò, le CPU dispongono di molti più registri logici rispetto a quelli richiesti dall'architettura della CPU.
I dati che devono essere scritti, ma hanno un'istruzione "precedente" che non è stata ancora completata, vengono inseriti in un registro di deposito. Questi dati non vengono trasferiti ad un altro registro quando l'ordine si è evaso da solo. Invece, il nome del registro aziendale viene cambiato con quello del registro in cui dovrebbe trovarsi. Questo è in qualche modo simile a preparare un dolce prima del piatto principale ma poi tenerlo in frigo fino al momento di servirlo.
Questi registri logici sono del tutto privi di indirizzo. La CPU può indirizzare realmente solo i registri logici che attualmente condividono il nome dei registri architetturali. Detto questo, la CPU ne è anche abbastanza consapevole che se altre istruzioni riordinate si basano sui dati nel registro di mantenimento logico, possono usarli piuttosto che sui dati "obsoleti" nel registro architetturale in quel particolare momento empirico.
Barriere della memoria
Una barriera di memoria, nota anche come membar, barriera di memoria o istruzione di recinzione, è un'istruzione nel codice del computer. Consente a un programmatore di imporre un vincolo di ordinamento sulle operazioni di memoria eseguite prima e dopo la barriera di memoria. La barriera di memoria ordina allo scheduler della CPU di garantire che tutte le istruzioni vengano elaborate prima di qualsiasi istruzione dopo la barriera. Questo viene fatto per garantire che le operazioni importanti siano completate nell'ordine corretto.
Generalmente, sui computer moderni, questo non dovrebbe essere necessario. L'esecuzione fuori servizio e la ridenominazione del registro sono campi consolidati e maturi. Tuttavia, una barriera di memoria può essere utile per processori meno recenti, meno sofisticati, fuori servizio o utilizzati in operazioni di memoria critiche.
Le barriere di memoria possono comportare un calo delle prestazioni. Questo perché impediscono attivamente allo scheduler della CPU di ottimizzare parti specifiche del flusso di istruzioni. Ciò aumenta la possibilità di uno stallo del gasdotto.
Conclusione
Una barriera di memoria è un'istruzione che garantisce un vincolo di ordinamento sulle operazioni di memoria. Questo è importante perché i processori di esecuzione fuori ordine possono riordinare istruzioni specifiche. Sebbene la ridenominazione del registro sia un metodo consolidato per garantire l'integrità della memoria in questo ambiente, può essere utile assicurarla manualmente.
La barriera della memoria forza lo scheduler della CPU a garantire che le istruzioni siano completate prima di qualsiasi istruzione successiva alla barriera. Ciò impedisce il riordino delle operazioni di memoria. Impedisce inoltre alla CPU di ottimizzare il flusso di istruzioni, il che può influire sulle prestazioni.
Scopri come configurare Spotify sul tuo Garmin Venu per ascoltare la tua musica preferita mentre ti alleni.
Scopri come risolvere i problemi dell
Scopri le differenze tra S Pen e Apple Pencil, due accessori per disegnare e prendere appunti, analizzando design, prestazioni e costi.
Scopri tutto su cosa è WPS e come funziona, insieme ai suoi vantaggi e svantaggi.
Scopri come risolvere il problema della tua TV Samsung che non salva le impostazioni dell
Guida dettagliata su come acquisire screenshot a schermo intero e parziale su Chromebook. Segui questi passaggi per facilitare la tua esperienza.
Se si è verificato un errore durante l
Per ottenere i migliori risultati nella stampa 3D, ecco cosa devi sapere sul TPU e i suoi utilizzi.
Il blocco dello scorrimento è un tasto sulla maggior parte delle tastiere, sebbene raramente venga utilizzato. Scopri come funziona e la sua utilità nei moderni software.
Scopri se è possibile aggiornare la memoria del tuo Chromebook e quali sono le migliori opzioni per ottimizzare le prestazioni del dispositivo.