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.
Le CPU sono bestie incredibilmente complesse. C'è un numero enorme di parti interconnesse che devono lavorare tutte all'unisono per raggiungere i livelli di prestazioni che vediamo. Le prestazioni della memoria sono un fattore chiave nelle prestazioni delle moderne CPU, in particolare come fattore limitante.
Perché la velocità della memoria è così importante?
Le CPU sono incredibilmente veloci, con le ultime generazioni che funzionano a 5,7 GHz se adeguatamente raffreddate. Ciò consente loro di completare 5,7 miliardi di operazioni al secondo. Molte di queste operazioni eseguono un'azione su alcuni tipi di dati che devono essere archiviati in memoria.
Anche la memoria di sistema principale, nota come RAM, è molto veloce. Sfortunatamente, è molto veloce rispetto a qualsiasi cosa diversa dalla CPU. La latenza assoluta sulla moderna RAM di fascia alta è dell'ordine di 60 nanosecondi. Sfortunatamente, ciò si traduce in circa 342 cicli della CPU. Per velocizzare l'accesso alla memoria, viene utilizzata una cache della CPU che memorizza dinamicamente nella cache i dati. Questa cache si trova sul die della CPU stessa e utilizza celle SRAM anziché celle DRAM, rendendola molto più veloce. Sfortunatamente, anche la cache della CPU è molto più piccola della RAM di sistema, generalmente non raggiunge nemmeno i 100 MB. Tuttavia, nonostante le sue dimensioni ridotte, il sistema di cache della CPU a più livelli aumenta notevolmente le prestazioni del sistema.
Arriva la memoria virtuale a rovinare tutto
I computer moderni utilizzano un sistema chiamato memoria virtuale. Anziché allocare indirizzi di memoria fisica ai processi, vengono utilizzati indirizzi di memoria virtuale. Ogni processo ha il proprio spazio di indirizzi di memoria virtuale. Questo ha due vantaggi. In primo luogo, fornisce una facile separazione tra la memoria che appartiene a un processo e la memoria che appartiene a un altro. Questo aiuta a prevenire gli attacchi in cui il software dannoso legge i dati dalla memoria di altri software, accedendo potenzialmente a informazioni riservate. Nasconde anche la struttura della memoria fisica dal processo. Ciò consente alla CPU di spostare i bit di memoria utilizzati raramente in un file di paging sull'archiviazione, senza necessariamente smontarlo dalla RAM virtuale. Ciò consente al computer di gestire delicatamente gli scenari in cui è richiesta più RAM di quella fisicamente presente. Senza memoria virtuale,
Sfortunatamente, se si utilizzano indirizzi di memoria virtuale, il computer deve effettivamente tradurre quegli indirizzi di memoria virtuale in indirizzi di memoria fisica per leggere i dati. Ciò richiede una tabella per memorizzare tutte le traduzioni degli indirizzi di memoria virtuale in indirizzi di memoria fisica. La dimensione di questo dipende direttamente dalla quantità di RAM in uso. In genere è abbastanza piccolo, almeno se confrontato con la capacità della RAM di sistema. Sfortunatamente, se memorizzi la traduzione tra indirizzi virtuali e indirizzi fisici nella RAM, devi fare due richieste alla RAM per ogni richiesta alla RAM. Uno per trovare l'indirizzo fisico da richiedere e poi un altro per accedere effettivamente a quella posizione.
Immettere il buffer lookaside della traduzione
La soluzione a questo problema è archiviare la tabella di traduzione da qualche parte più velocemente. La cache della CPU si adatterebbe bene al conto, almeno dal punto di vista della velocità. Il problema, tuttavia, è che la cache della CPU è minuscola e già ampiamente utilizzata. Non solo la tabella non si adatta alla cache, ma ciò interromperebbe il suo utilizzo già determinante per le prestazioni.
Certo, se il principio della cache funziona già per l'accesso alla memoria, perché non ripeterlo per la tabella di traduzione? Ed è esattamente quello che è il Translation Lookaside Buffer, o TLB. È una cache ad alta velocità per traduzioni di indirizzi recenti. Non è abbastanza grande per memorizzare l'intero tavolo, ma le sue dimensioni ridotte significano che può rispondere molto rapidamente, all'interno di un singolo ciclo di clock.
Qualsiasi richiesta di memoria passa attraverso il TLB. Se c'è un hit TLB, può fornire l'indirizzo di memoria fisica per la richiesta effettiva, in genere aggiungendo un singolo ciclo di latenza. Se manca un TLB, la ricerca deve essere eseguita dalla memoria principale. C'è una piccola penalità prestazionale per un errore TLB di circa 5 cicli, una perdita più che eclissata dalla latenza di accesso alla memoria. Una volta recuperata la traduzione dell'indirizzo dalla RAM di sistema, viene inserita nel TLB e la richiesta viene quindi ripetuta con un hit immediato del TLB.
Nota: esistono diversi schemi per lo sfratto di TLB. Alcuni possono utilizzare uno schema First In, First Out o FIFO. Altri possono utilizzare uno schema Least Frequently Used o LFU.
Nel raro caso in cui non vi sia alcuna voce nella tabella di conversione degli indirizzi, viene causato un errore di pagina, poiché i dati richiesti non si trovano nella RAM. Il sistema operativo deve quindi gestire l'errore e trasferire i dati dalla memoria alla RAM prima che la richiesta possa continuare.
Conclusione
Il Translation Lookaside Buffer, o TLB, è una cache della CPU ad alta velocità dedicata alla memorizzazione nella cache delle traduzioni di indirizzi recenti dal file di paging nella RAM di sistema. Ciò è necessario poiché i sistemi di memoria virtuale, come implementati in tutti i computer moderni, richiederebbero due richieste alla RAM per ogni richiesta alla RAM. Uno per tradurre l'indirizzo di memoria virtuale in un indirizzo di memoria fisica e un altro per accedere effettivamente all'indirizzo fisico. Mettendo nella cache le traduzioni recenti, la latenza della memoria può essere notevolmente ridotta per gli hit TLB.
È necessario prestare attenzione per garantire che le traduzioni memorizzate nella cache siano pertinenti al processo attualmente attivo. Poiché ogni processo ha uno spazio di indirizzi virtuali diverso, non possono essere riutilizzati. Non limitare rigorosamente questo è stata la causa alla base della vulnerabilità Meltdown.
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.