Luonnoslevyn muisti - Scratchpad memory

Työmuistin ( SPM ), joka tunnetaan myös nimellä scratchpad , scratchpad RAM tai paikallisen myymälän on tietokone terminologia, on nopea sisäinen muisti, jota käytetään väliaikaiseen varastointiin laskelmia tiedot, ja muut työt. Viittaamaan mikroprosessori (tai CPU ), työmuistin viittaa erityisen nopeaa muistia piiri käytetään pitämään pienet tietojen nopean haku. Se on samanlainen kuin raaputuslevyn käyttö ja koko elämässä: paperi alustaville muistiinpanoille tai luonnoksille tai kirjoituksille jne.

Joissakin järjestelmissä voidaan katsoa samanlainen L1-välimuisti , että se on lähimpien muistista ALU jälkeen rekisteri , jossa on tarkkoja ohjeita siirtää tietoja ja päämuistiin , usein käyttäen DMA -pohjainen tiedonsiirto. Toisin kuin välimuistia käyttävä järjestelmä, raaputuslevyillä varustettu järjestelmä on järjestelmä, jolla on epätasainen muistikäyttö (NUMA) -viive, koska eri raaputuslevyjen ja päämuistin käyttöoikeuden viive vaihtelee. Toinen ero välimuistia käyttävään järjestelmään on, että raaputuslevy ei yleensä sisällä kopiota tiedoista, jotka on myös tallennettu päämuistiin.

Scratchpads käytetään yksinkertaistamiseksi välimuistin logiikan, ja taata laite voi toimia ilman päämuistin väite järjestelmässä, joka käyttää useita suorittimia, erityisesti monen system-on-chip varten sulautettujen järjestelmien . Ne soveltuvat enimmäkseen väliaikaisten tulosten tallentamiseen (kuten CPU -pinosta löytyy), joiden ei yleensä tarvitse aina sitoutua päämuistiin; Kuitenkin DMA: n syöttämänä niitä voidaan käyttää myös välimuistin sijasta hitaamman päämuistin tilan peilaamiseksi. Samat referenssipaikkakysymykset koskevat käytön tehokkuutta; vaikka jotkin järjestelmät sallivat portaattomalla DMA: lla pääsyn suorakaiteen muotoisiin tietojoukkoihin. Toinen ero on se, että sovellukset manipuloivat nimenomaan raaputuslevyjä. Niistä voi olla hyötyä reaaliaikaisissa sovelluksissa , joissa välimuistikäyttäytyminen estää ennustettavaa ajoitusta.

Luonnoslevyjä ei käytetä tavallisissa työpöytäprosessoreissa, joissa vanhojen ohjelmistojen suorittaminen sukupolvelta toiselle edellyttää yleisyyttä , jolloin käytettävissä oleva sirun muistikoko voi muuttua. Ne toteutetaan paremmin sulautetuissa järjestelmissä, erikoisprosessoreissa ja pelikonsoleissa , joissa siruja valmistetaan usein MPSoC-muodossa ja joissa ohjelmistot on usein viritetty yhteen laitteistokokoonpanoon.

Esimerkkejä käytöstä

  • Fairchild F8 vuodelta 1975 sisälsi 64 tavua raaputuslevyä.
  • Cyrix 6x86 on ainoa x86 -yhteensopiva työpöytäprosessori, jossa on oma raaputuslevy.
  • SuperH , jota käytetään Segan konsoleissa, voi lukita välimuistit päämuistin ulkopuoliseen osoitteeseen käytettäväksi raaputuslevynä.
  • Sonyn PS1 : n R3000: ssa oli raaputuslevy L1 -välimuistin sijasta. Suoritinpino oli mahdollista sijoittaa tähän, esimerkki tilapäisestä työtilan käytöstä.
  • Adapteva n Epiphany rinnakkain oheisprosessorin tarjolla paikallisen tallentaa kunkin ytimen, joita yhdistää verkko on siru , DMA mahdollista niiden välillä ja sirun linkkejä (mahdollisesti DRAM). Arkkitehtuuri on samanlainen kuin Sonyn Cell, paitsi että kaikki ytimet voivat suoraan kohdistaa toistensa raaputuslevyt ja luoda verkkoviestejä tavallisista lataus-/tallennusohjeista.
  • Sonyn PS2 Emotion Engine sisältää 16  kt: n raaputuslevyn, johon ja josta voidaan lähettää DMA -siirtoja sen GS: ään, ja päämuistiin.
  • Solun SPE: t rajoittuvat pelkästään työskentelyyn "lähikaupassaan", ja ne tukeutuvat DMA: han siirtäessään päämuistista/päämuistiin ja paikallisten kauppojen välillä, aivan kuten raaputuslevy. Tässä suhteessa lisähyötyä saadaan laitteiston puutteesta useiden välimuistien välisen johdonmukaisuuden tarkistamiseksi ja päivittämiseksi: suunnittelussa hyödynnetään oletusta, että kunkin prosessorin työtila on erillinen ja yksityinen. Tämän hyödyn odotetaan lisääntyvän, kun prosessorien määrä kasvaa "monisydämiseksi" tulevaisuudeksi. Kuitenkin joidenkin laitteistologiikan poistamisen vuoksi SPE -sovellusten tietoja ja ohjeita on hallittava ohjelmiston avulla, jos SPE: n koko tehtävä ei mahdu paikalliseen myymälään.
  • Monet muut prosessorit mahdollistavat L1 -välimuistilinjojen lukitsemisen.
  • Useimmat digitaaliset signaaliprosessorit käyttävät raaputuslevyä. Monet aiemmat 3D -kiihdyttimet ja pelikonsolit (mukaan lukien PS2) ovat käyttäneet DSP: itä pisteiden muunnoksissa . Tämä eroaa nykyaikaisten grafiikkasuorittimien stream -pohjaisesta lähestymistavasta, joilla on enemmän yhteistä suorittimen välimuistin toimintojen kanssa.
  • NVIDIAn 8800- näytönohjain, joka toimii CUDA: n alla, tarjoaa 16 kilotavua raaputuslevyä (NVIDIA kutsuu sitä jaetuksi muistiksi) ketjua kohden, kun sitä käytetään GPGPU- tehtävissä. Luonnoslevyä käytettiin myös myöhemmässä Fermi GPU: ssa ( GeForce 400 -sarja ).
  • Ageian PhysX -siru sisältää raaputuslevyn RAM -muistin samalla tavalla kuin Cell; sen teorian mukaan välimuistihierarkiasta on vähemmän hyötyä kuin ohjelmistojen hallitsemasta fysiikasta ja törmäyslaskelmista. Nämä muistot ovat myös tallella ja kytkin hallitsee siirtoja niiden välillä.
  • Intelin Knights Landing -prosessorissa on 16 Gt: n MCDRAM -muisti, joka voidaan määrittää joko välimuistiksi, raaputuslevymuistiksi tai jaetuksi välimuistiksi ja osaksi raaputuslevymuistiksi.
  • Movidius Myriad 2 , joka on visio käsittely-yksikön , järjestäytynyt monisäikeinen arkkitehtuuri, jossa on suuri moniporttisen jaettu luonnostelualustana.
  • Graphcore on suunnitellut AI kiihdyttimen perustuu luonnostelualustana muistoja

Vaihtoehdot

Välimuistin hallinta vs raaputuslevyt

Jotkut arkkitehtuurit, kuten PowerPC, yrittävät välimuistin lukituksen tai raaputuslevyjen välttämistä välimuistin ohjausohjeiden avulla . Muistialueen merkitseminen "Data Cache Block: Zero" (varaa rivi, mutta aseta sen sisältö nollaksi päämuistista lataamisen sijasta) ja hylkää se käytön jälkeen ('Data Cache Block: Invalidate', ilmoitus siitä, että päämuisti ei tehnyt) t vastaanottaa päivitettyjä tietoja) välimuisti on tehty toimimaan raaputuslevynä. Yleisyys säilyy siinä, että nämä ovat vihjeitä ja taustalla oleva laitteisto toimii oikein välimuistin todellisesta koosta riippumatta.

Jaetut L2 vs Cell -myymälät

Mitä tulee prosessorien väliseen kommunikaatioon moniytimisessä kokoonpanossa, Cellin paikallisen myymälän DMA: n ja jaetun L2-välimuistiasetusten välillä on yhtäläisyyksiä kuten Intel Core 2 Duo tai Xbox 360: n mukautettu powerPC: L2-välimuisti sallii prosessorien jakaa tuloksia ilman, että näitä tuloksia sitoutua päämuistiin. Tämä voi olla etu, jos työ asetettu algoritmia käsittää kokonaisuudessaan L2-välimuistin. Kuitenkin, kun ohjelma on kirjoitettu hyödyntämään paikallisten kauppojen välistä DMA: ta, Cellillä on se etu, että toiset-muut-paikalliset kaupat palvelevat molempien yksityisen työtilan tarkoituksia yhdelle prosessorille JA jakamisprosessorien kesken; eli muut paikalliset kaupat ovat samalta pohjalta katsottuna yhdeltä prosessorilta kuin jaettu L2 -välimuisti perinteisessä sirussa. Kompromissi on muistin tuhlausta puskurointiin ja ohjelmoinnin monimutkaisuuteen synkronointia varten, vaikka tämä olisi samanlainen kuin tavanomaisen sirun suojatut sivut. Alueita, joilla tämän ominaisuuden käyttö on tehokasta, ovat:

  • Putkilinjan käsittely (jossa saavutetaan sama vaikutus kuin L1 -välimuistin koon lisäämisellä jakamalla yksi työ pienemmiksi paloiksi)
  • Työjoukon laajentaminen, esim. Makea paikka yhdistämislajille, jossa tiedot mahtuvat 8 × 256 kt: n sisään
  • Jaetun koodin lataaminen, kuten koodinpalan lataaminen yhteen SPU -laitteeseen ja sen kopioiminen sieltä muille, jotta päämuisti ei osu uudelleen

Perinteinen prosessori voisi saada samanlaisia ​​etuja välimuistinhallintaohjeilla, esimerkiksi sallii esipyynnön L1: lle ohittamalla L2, tai häätövihje, joka ilmoitti siirron L1: stä L2: een, mutta ei sitoutunut päämuistiin; Kuitenkin tällä hetkellä mikään järjestelmä ei tarjoa tätä ominaisuutta käyttökelpoisessa muodossa, ja tällaisten ohjeiden pitäisi heijastaa nimenomaista tiedonsiirtoa kunkin ytimen käyttämien välimuistialueiden välillä.

Katso myös

Huomautuksia

Viitteet

Ulkoiset linkit