Ce este memoria Scratchpad?

Accesul la date este o parte critică a designului CPU. CPU-urile funcționează la viteze extrem de mari, procesând mai multe instrucțiuni la fiecare ciclu de ceas și, prin urmare, au nevoie de acces la o mulțime de date. Marea majoritate a acestor date sunt stocate pe mediile de stocare. Dispozitivele de stocare, însă, sunt incredibil de lente în comparație cu un procesor. Dispozitivele de stocare sunt, de asemenea, semnificativ mai bune la citirile secvențiale decât la citirile aleatorii, deși SSD-urile oferă o îmbunătățire semnificativă în acest sens (și multe altele) față de HDD-urile.

RAM de sistem este concepută pentru a fi încărcată cu toate datele de care CPU ar putea avea nevoie pentru software-ul care rulează în prezent. RAM are o latență semnificativ mai mică decât stocarea, de asemenea, este special adaptată pentru a avea performanțe ridicate de citire aleatorie. Cu toate acestea, pe cât de rapidă este RAM modernă, nu este nimic în comparație cu procesorul cu latențe de ordinul a 400 de cicluri de ceas.

Pentru a reduce și mai mult latența, majoritatea procesoarelor moderne includ niveluri de memorie cache. De obicei, acestea sunt denumite cache-urile L1, L2 și L3. L1 are o viteză foarte mare, având de obicei acces la ordinul a 5 cicluri de ceas. L2 este ceva mai lent, de ordinul a 20 de cicluri. L3 este și mai lent încă la aproximativ 200 de cicluri. În timp ce L1 este incredibil de rapid, este și mic. O mare parte din viteza sa provine din faptul că cache-urile mai mici necesită mai puțin timp pentru căutare. L2 este mai mare decât L1, dar mai mic decât L3, care este încă mai mic decât RAM de sistem. Echilibrarea bine a dimensiunii acestor cache-uri este esențială pentru obținerea unui procesor de înaltă performanță. Ratele de accesări din cache sunt importante, dar trebuie să echilibrați numărul de accesări cu timpul necesar pentru a obține acel hit, de aici nivelurile.

Memorie Scratchpad

Rețineți că memoria scratchpad nu se încadrează în ierarhia tradițională a memoriei. Asta pentru că nu este folosit în majoritatea procesoarelor de consum. Memoria Scratchpad este concepută pentru a fi utilizată așa cum ar fi un scratchpad în viața reală. Notați informații temporare pe care trebuie să le amintiți, dar care nu trebuie să le înregistrați. În cea mai mare parte a timpului, un procesor procesează date și apoi are nevoie din nou de acest rezultat imediat. Îl poate copia în memorie, dar pentru a-l putea accesa rapid ar trebui să îl păstreze și în cache.

Memoria Scratchpad umple, în esență, același gol ca cache-ul L1. Este accesibil cât mai repede posibil, adesea în număr de cicluri de o singură cifră. Pentru a gestiona acest lucru, este, de asemenea, relativ mic. Există, totuși, două diferențe cheie între L1 și memoria scratchpad. În primul rând, memoria scratchpad este direct adresabilă. În al doilea rând, este împărțit între toate nucleele și procesoarele.

Diferențele dintre cache și scratchpad

Cache-ul CPU este în esență transparent pentru CPU, nu poate pune în mod deliberat date acolo și conținutul său nu poate fi programat. În schimb, CPU-ul solicită doar date din RAM și se întâmplă să le recupereze mai repede, uneori mult mai repede decât s-ar putea aștepta. Permiterea scratchpad-ului să fie adresabil înseamnă că codul poate specifica exact ce date ar trebui să fie în scratchpad. Acest lucru poate fi util, deși algoritmii moderni de stocare în cache sunt excelenți, cu rate de accesare de 95-97% așteptate în sarcinile de lucru standard.

Cache-ul L1 este întotdeauna blocat la un nucleu de procesare individual. Niciun alt nucleu de procesare nu îl poate accesa. Aceasta înseamnă că, dacă mai multe nuclee au nevoie de aceleași date, le pot duplica în cache-urile L1 respective. În unele arhitecturi CPU, L2 este pe nucleu, în altele este împărțit de un număr mic sau chiar de toate nucleele. L3 tinde să fie împărtășit de toate nucleele. Partajarea memoriei cache între nuclee permite două sau mai multe nuclee să acceseze aceleași date fără a le duplica. De asemenea, permite unui nucleu să utilizeze mai mult decât cota echitabilă atunci când are nevoie și cache-ul are spațiu.

Scratchpad acționează similar cu L1 în ceea ce privește viteza și capacitatea, dar este împărțit între toate nucleele. Acest lucru permite accesul foarte rapid la anumite date asupra cărora se acționează într-o sarcină de lucru cu mai multe fire. Memoria Scratchpad poate fi partajată chiar între procesoare distincte pe plăci de bază cu mai multe socket.

Un dezavantaj pe care îl are memoria scratchpad este că se poate baza prea mult pe ea. Fiind capabil să-l acceseze direct, software-ul se poate baza pe prezența sa în anumite cantități. În acest caz, atunci ar fi incapabil să ruleze pe procesoare fără atâta memorie scratchpad. Nivelurile de cache pur și simplu nu suferă de această problemă și, prin urmare, sunt mai potrivite pentru uz general.

Cazuri de utilizare

Memoria Scratchpad se găsește cel mai adesea în sistemele de server multi-socket concepute pentru HPC (High-Performance Computing). Acolo, combinația sa de viteză și acces partajat îl face util pentru sarcini de lucru extrem de paralele.

Memoria Scratchpad este utilizată și în procesoare mult mai mici. Procesoare încorporate, adesea MPSoC. Un procesor încorporat are adesea o putere relativ scăzută și este specializat pentru o anumită sarcină. Această specializare este adesea reprezentată în optimizările hardware. În special într-un sistem multi-procesor pe un cip, memoria de mare viteză partajată poate oferi îmbunătățiri semnificative ale latenței pentru mai multe procesoare diferite. Aceste tipuri de procesoare sunt adesea foarte fixe în design. Consolele de jocuri, de exemplu, văd deja o mulțime de optimizări pentru designul hardware și, prin urmare, pot folosi astfel de caracteristici fără a fi nevoie să vă faceți griji cu privire la compatibilitatea inversă sau înainte.

Concluzie

Memoria Scratchpad este similară cu cache-ul L1, dar are o serie de diferențe care îi schimbă cazurile de utilizare. În loc să fie un cache, este direct adresabil, permițând ca datele să fie atribuite în mod specific unei memorie de mare viteză. De asemenea, este împărțit între toate nucleele și procesoarele de procesor, ceea ce îl face deosebit de util în sarcinile de lucru cu mai multe fire.



Leave a Comment

Cum se clonează un hard disk

Cum se clonează un hard disk

În era digitală modernă, în care datele sunt un bun valoros, clonarea unui hard disk pe Windows poate fi un proces crucial pentru mulți. Acest ghid cuprinzător

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

În timpul pornirii computerului, vă confruntați cu mesajul de eroare care spune că driverul WUDFRd nu s-a încărcat pe computer?

Cum să remediați codul de eroare NVIDIA GeForce Experience 0x0003

Cum să remediați codul de eroare NVIDIA GeForce Experience 0x0003

Aveți experiența NVIDIA GeForce cu codul de eroare 0x0003 pe desktop? Dacă da, citiți blogul pentru a afla cum să remediați această eroare rapid și ușor.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Cum să eliminați un GPU de pe un computer Windows în 2023

Cum să eliminați un GPU de pe un computer Windows în 2023

Trebuie să eliminați GPU-ul de pe computer? Alăturați-vă pentru a explica cum să eliminați un GPU de pe computer în acest ghid pas cu pas.

Cum se instalează un SSD NVMe pe un desktop și laptop

Cum se instalează un SSD NVMe pe un desktop și laptop

Ați cumpărat un nou SSD NVMe M.2, dar nu știți cum să îl instalez? Citiți mai departe pentru a afla cum să instalați un SSD NVMe pe laptop sau desktop.

Ce este o bombă logică?

Ce este o bombă logică?

O bombă logică este un incident de securitate în care un atacator stabilește o acțiune întârziată. Continuați să citiți pentru a afla mai multe.

Ce este un SoC?

Ce este un SoC?

Dacă v-ați uitat vreodată în interiorul unui turn de PC, puteți vedea că există o mulțime de componente diferite. Laptopul tău obișnuit conține majoritatea componentelor

Ce este criptarea asimetrică?

Ce este criptarea asimetrică?

Algoritmii de criptare asimetrică utilizează două chei distincte. O cheie este folosită pentru criptare, iar cealaltă pentru decriptare.

Steam Deck: Cum se formatează cardul SD

Steam Deck: Cum se formatează cardul SD

Steam Deck vine în trei opțiuni de stocare: eMMC de 64 GB, SSD NVMe de 256 GB și SSD NVMe de 512 GB. În funcție de biblioteca dvs. de jocuri și de dimensiunea jocurilor