Ända sedan Arm11 har Arms multikärnor kunna förlita sig på cachekoherens. Nu lanserar Arm cachekoherens i form av protokoll och implementationer för Arms chipsbuss Amba.
Det betyder att du kan addera egna kärnor, för exempelvis grafik, till systemkretsen och på ett enkelt standardiserat sätt upprätthålla cachekoherens mellan dem och mellan Armkärnorna.
Armprocessorn är en vanlig arkitektur i inbyggda system, bland annat dominerar den nästan helt i dagens mobiltelefoner.
– Det här är ännu ett exempel på hur multiprocessorer, multikärnor och avancerade minnessystem med flera nivåer flyttar in i inbyggda system, kommenterar processorexperten Joachim Strömbergson på svenska företaget Secworks.
Ett bra stöd för att hålla ordning på vad som finns i olika cacheminnen, betyder att mjukvaran oftare törs avstå från att kopiera data mellan minnen, vilket särskilt vad gäller kommunikation med primärminnet både kostar energi och tid.
Protokollet heter ACE (AXI Coherency Extensions). Det definerar nya kanaler och nya signaler för att prata om och överföra data mellan cacheminnen. ACE stöder både så kallad katalogbaserad och snoop-baserad cachekorens, och kombinationer av dem.
Arms egen processor Cortex A15 MPCore och Arms egen grafikkärna Mali-T604 GPU är först ut med att stödja ACE.
ST-Ericsson finns bland de företag som hjälpt Arm definiera Amba 4 och är också ett av de första att licensera en implementation av protokollet från Arm kallad CoreLink CCI-400 Cache Coherency Interconnect.
Cortex A15 MPCore ska kunna skalas upp till åtta kärnor ”och fler” med hjälp av protokollet. Arm visar en systemskiss bestående av två stycken fyrkärniga Cortex A15, en Mali T604, en IO-enhet, en video/LCD-port och DDR3-minnesanslutningar och slavanslutningar som alla synkar sin cache via CCI-400.