La memòria Scratchpad (SPM), també coneguda com Scratchpad, Scratchpad RAM o botiga local en terminologia informàtica, és una memòria interna, generalment d'alta velocitat, que s'utilitza per a l'emmagatzematge temporal de càlculs, dades i altres treballs en curs. En referència a un microprocessador (o CPU), el bloc de notes es refereix a una memòria especial d'alta velocitat que s'utilitza per contenir petits elements de dades per a una recuperació ràpida. És similar a l'ús i la mida d'un bloc de notes a la vida: un bloc de paper per a notes preliminars o esbossos o escrits, etc. Quan el bloc de notes és una part oculta de la memòria principal, de vegades es coneix com a emmagatzematge de cops.

En alguns sistemes es pot considerar similar a la memòria cau L1, ja que és la següent memòria més propera a l'ALU després del registre del processador, amb instruccions explícites per moure dades a i des de la memòria principal, sovint utilitzant la transferència de dades basada en DMA. A diferència d'un sistema que utilitza memòria cau, un sistema amb blocs de notes és un sistema amb latències d'accés a memòria no uniforme (NUMA), perquè les latències d'accés a la memòria als diferents blocs de notes i la memòria principal varien. Una altra diferència d'un sistema que utilitza memòria cau és que un bloc de notes generalment no conté una còpia de dades que també s'emmagatzemen a la memòria principal.

Scratchpads s'utilitzen per simplificar la lògica d'emmagatzematge en memòria cau i per garantir que una unitat pugui funcionar sense contenció de memòria principal en un sistema que empra diversos processadors, especialment en sistemes multiprocessadors en xip per a sistemes incrustats. Són adequats sobretot per emmagatzemar resultats temporals (com es trobarien a la pila de la CPU) que normalment no haurien d'estar compromesos sempre amb la memòria principal; tanmateix, quan s'alimenten per DMA, també es poden utilitzar en lloc d'una memòria cau per reflectir l'estat de la memòria principal més lenta. S'apliquen les mateixes qüestions de localitat de referència en relació amb l'eficiència d'ús; tot i que alguns sistemes permeten que el DMA progressiu accedeixi a conjunts de dades rectangulars. Una altra diferència és que les aplicacions manipulen explícitament els blocs de notes. Poden ser útils per a aplicacions en temps real, on el temps previsible es veu obstaculitzat pel comportament de la memòria cau.

Els blocs de notes no s'utilitzen en els processadors d'escriptori convencionals on es requereix una generalitat perquè el programari heretat s'executi de generació en generació, en què la mida de memòria disponible al xip pot canviar. S'implementen millor en sistemes incrustats, processadors especials i consoles de jocs, on els xips sovint es fabriquen com a MPSoC i on el programari sovint s'ajusta a una configuració de maquinari.

Exemples d'ús Fairchild F8 de 1975 contenia 64 bytes de bloc de notes. La TI-99/4A té 256 bytes de memòria de bloc de notes al bus de 16 bits que conté els registres del processador del TMS9900. Cyrix 6x86 és l'únic processador d'escriptori compatible amb x86 que incorpora un bloc de notes dedicat. SuperH, utilitzat a les consoles de Sega, podria bloquejar les cachelines a una adreça fora de la memòria principal per utilitzar-la com a bloc de notes. El R3000 de la PS1 de Sony tenia un bloc de notes en lloc d'una memòria cau L1. Va ser possible col·locar la pila de CPU aquí, un exemple de l'ús temporal de l'espai de treball. El coprocessador paral·lel Epiphany d'Adapteva inclou botigues locals per a cada nucli, connectades per una xarxa en un xip, amb DMA possible entre ells i enllaços fora del xip (possiblement a DRAM). L'arquitectura és similar a la de Sony, excepte que tots els nuclis poden adreçar-se directament als blocs de notes dels altres, generant missatges de xarxa a partir d'instruccions estàndard de càrrega/emmagatzematge. El PS2 Emotion Engine de Sony inclou un 16 Scratchpad KB, cap a i des del qual es podrien emetre transferències DMA al seu GS i a la memòria principal. Els SPE de Cell es restringeixen exclusivament a treballar a la seva "botiga local", confiant en DMA per a les transferències des de/a la memòria principal i entre botigues locals, com un bloc de notes. En aquest sentit, es deriva un benefici addicional de la manca de maquinari per comprovar i actualitzar la coherència entre múltiples memòria cau: el disseny s'aprofita del supòsit que l'espai de treball de cada processador és separat i privat. S'espera que aquest benefici es faci més notable a mesura que el nombre de processadors s'escalfi cap al futur de "molts nuclis". Tanmateix, a causa de l'eliminació d'algunes lògiques de maquinari, les dades i instruccions de les aplicacions a les SPE s'han de gestionar mitjançant programari si tota la tasca a SPE no pot cabre a la botiga local. Molts altres processadors permeten bloquejar les línies de memòria cau L1. La majoria dels processadors de senyal digital utilitzen un bloc de notes. Molts acceleradors 3D i consoles de jocs anteriors (inclosa la PS2) han utilitzat DSP per a transformacions de vèrtex. Això difereix de l'enfocament basat en flux de les GPU modernes que tenen més en comú amb les funcions de la memòria cau de la CPU. La GPU 8800 de NVIDIA que funciona sota CUDA ofereix 16 KB de bloc de notes (NVIDIA l'anomena memòria compartida) per paquet de fils quan s'utilitza per a tasques GPGPU. Scratchpad també es va utilitzar en la GPU Fermi posterior (sèrie GeForce 400). El xip PhysX d'Ageia inclou una memòria RAM de bloc de notes d'una manera semblant a la del Cell; la teoria d'aquesta unitat de processament de física específica és que una jerarquia de memòria cau és de menys utilitat que la física gestionada per programari i els càlculs de col·lisions. Aquestes memòries també estan bancàries i un commutador gestiona les transferències entre elles. El processador Knights Landing d'Intel té un 16 GB MCDRAM que es pot configurar com a memòria cau, memòria Scratchpad o dividida en una memòria cau i una altra memòria Scratchpad. Movidius Myriad 2, una unitat de processament de visió, organitzada com una arquitectura multinucli amb un gran bloc de notes compartit multiport. Graphcore ha dissenyat un accelerador d'IA basat en memòries de bloc de notes

Referències

Categoria:Memòria informàtica