RAM scratchpad

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

RAM scratchpad , cunoscut și sub numele de scatchpad sau Local Store, este un termen de computer care identifică o memorie de mare viteză utilizată în general pentru stocarea datelor utilizate de microprocesor cu frecvență înaltă.

Poate fi considerat similar cu cache - ul unui procesor cu diferența că, în timp ce cache-ul este invizibil pentru programator, scatchpad-ul este adresat direct de procesor și, prin urmare, vizibil pentru programator.

Scatchpad-ul este utilizat pentru a simplifica gestionarea coerenței cache-ului în sistemele multiprocesor. Într-un sistem multiprocesor, gestionarea cache-ului devine o problemă apăsătoare, deoarece trebuie să ne asigurăm că cache-urile nu conțin date vechi, deci de fiecare dată când un procesor modifică date care sunt prezente și într-un cache al altui procesor, blocul datele din memoria cache a procesorului trebuie invalidate, ceea ce generează un flux mare de date între procesoare, ceea ce încetinește sistemul. Scatchpad-ul este, în schimb, o memorie direct adresabilă, deci dacă un procesor dorește să acceseze date într-un scatchpad al altui procesor, îl poate face direct fără a trebui să invalideze memoria cache a procesorului proprietar scatchpad. Acest lucru simplifică implementarea hardware și reduce numărul de mesaje de sincronizare între procesoare. Scatchpad-urile se bazează pe principiul localității, cum ar fi cache-urile și, prin urmare, dacă un procesor copiază datele pe care le folosește frecvent pe scatchpad-ul său, acesta poate reduce semnificativ accesul la memoria principală lentă, fără a fi nevoie să utilizați cache-ul.

Scatchpad-urile nu sunt utilizate în mod normal în procesoarele pentru computerele personale, deoarece, pentru a avea un avantaj real, programele trebuie scrise ținând cont de prezența lor, în timp ce în sistemele informatice există tendința de a prefera compatibilitatea cu trecutul decât performanța. Pe de altă parte, sistemele încorporate, fiind adesea bazate pe software special scris, pot utiliza scatchpad-uri fără probleme. În sistemele încorporate, scartchpad-urile sunt, de asemenea, utilizate pentru a reduce consumul. Memoriile cache de aceeași dimensiune necesită mult mai multă putere decât scratchpad-urile, deoarece necesită o mulțime de structuri suplimentare pentru a funcționa corect. Scratchpad-urile, pe de altă parte, necesită structuri de management foarte simple și, prin urmare, sunt mult mai eficiente din punct de vedere energetic. [1]

Exemplu de utilizare

  • Procesoarele SH2 și SH4 utilizate în consolele SEGA ar putea aborda o parte din cache ca un scatchpad în caz de nevoie.
  • Procesorul R3000 SONY folosit de PlayStation avea un scatchpad în locul memoriei cache de primul nivel. Procesorul ar putea plasa stiva și alte fișiere temporare, de exemplu.
  • Procesorul R5000 SONY folosit de PlayStation 2 avea un scatchpad DMA de 16kb accesibil, care putea transfera date către procesorul grafic GS sau memorie.
  • Unitățile SPE ale procesorului Cell pot funcționa numai în memoria lor locală, care este accesibilă în DMA și, prin urmare, acționează ca un scatchpad. Acest lucru vă permite să eliminați complet prezența cache-ului, simplificând considerabil proiectarea procesorului și gestionarea coerenței, având în vedere că sistemul are mai multe unități de calcul. În plus, beneficiile ar trebui să crească pe măsură ce crește numărul de nuclee de calcul.
  • Multe procesoare vă permit să utilizați memoria cache a CPU ca scatchpad.

Multe DSP utilizează scatchpad-ul. Multe procesoare de accelerație 3D (cum ar fi PlayStation 2) folosesc un DSP pentru transformări de vârf în loc de GPU-uri moderne care preferă să utilizeze multe unități simple cu propria cache.

  • GPU-ul NVIDIA 8800 care rulează în modul CUDA are un scatchpad de 16 KB pentru a gestiona datele între fire.
  • Procesorul PhysX PhysX al Ageaia folosește un scatchpad cu un mod similar cu cel al celulei. Scatchpad-ul este utilizat pentru a stoca date despre coliziune și fizică a elementelor. În plus, sistemul vă permite să schimbați scatchpad-ul între diferitele elemente ale procesorului, după cum este necesar.

Alternative

Diferite arhitecturi, cum ar fi procesoarele PowerPC, preferă să aibă instrucțiuni de control al cache-ului în loc să folosească scatchpad-ul sau să ofere cache-ului posibilitatea de a acționa și ca scatchpad. Aceste instrucțiuni par să arate beneficii similare scatchpad-urilor cu avantajul că sunt compatibile cu cache-urile normale.

Cache L2 versus memorie obișnuită

În ceea ce privește comunicarea între procese într-un sistem cu mai multe nuclee, există avantaje similare cu scatchpad-ul prin utilizarea unui cache de nivel secundar comun ca în procesoarele Core 2 Duo sau în procesorul Xenon utilizat de consola Xbox 360 . Cache-ul de al doilea nivel vă permite să partajați date între nucleele procesorului fără a fi nevoie să treceți prin memoria centrală lentă, dar dacă programul este dezvoltat pentru a utiliza comunicația DMA între memoria locală a nucleelor, o gestionare a scatchpad-ului tinde să fie mai eficientă.

Notă

  1. ^ Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems Manish Verma, Student Student, IEEE, Lars Wehmeyer, and Peter Marwedel, Senior Member, IEEE
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT