Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

Marvells ARMADA: Custom Designed ARM SoCs bryter 1GHz

Intel brukade vara licenstagare för ARM-arkitektur fram till 2006, då man sålde sin XScale-division till Marvell. Intel hade vuxit sig för stor, alltför ofokuserad, och i sin tur hade dess kärnverksamhet lidit. Bli inte förvirrad, fokus skulle inte flyttas tillbaka till skrivbordet, utan snarare tillbaka till x86.

Det skulle dröja förrän 2008 som Intel skulle avslöja sin mer fokuserade strategi för världen: Atom.

Intels Atom-processorkärna

Medan ARM och dess licenstagare spelade ut Atom som att de inte var avlägsen hotfulla, visste alla att det bara var en tidsfråga. Offentligt bekräftade de ARM:s dominans på marknaden. Fyra miljarder ARM-chips skickades bara förra året. Intel sålde i storleksordningen tiotals miljoner Atomer. Men privat var hjulen i rörelse.

ARM ingick ett avtal med Globalfoundries, AMD:s tillverkningsarm, för att få ARM-baserade SoCs till faben. Detta ger ARM den typ av modern tillverkning den behöver för att konkurrera med Intel. Den andra saken som har ändrats är att ARM-licenstagare nu är mycket mer ivriga att prata om sina arkitekturer och vad som gör dem speciella.

ARM erbjuder två licensarrangemang till sina partners: en processorlicens eller en arkitekturlicens. En processorlicens tillåter partnern att ta en ARM-designad kärna och implementera den i sin SoC. En arkitekturlicens tillåter partnern att ta en ARM-instruktionsuppsättning och använda den i sin egen processor. Det förra är lättare att implementera, medan det senare ger licenstagaren möjligheten att optimera arkitekturen för dess specifika behov.

The Palm Pre – Drivs av ARM

Företag som Samsung och TI har ARM-processorlicenser. Cortex A8 som används i iPhone 3GS (Samsung) och Palm Pre (TI) är licensierad direkt från ARM. Marvell har dock varit licenstagare för ARM-arkitektur under de senaste 5 åren.

Det är en ARMADA

Marvell introducerar en flotta av nya SoCs (system på ett chip) och varumärket heter ARMADA. Förstår?

Marvell introducerar fyra serier av ARMADA och deras målmarknader är nedan:

SoC Marknadsföra
ARMADA 100-serien e-boksläsare, digitala fotoramar, bärbara NAV-enheter, etc…
ARMADA 500-serien MID, netbooks
ARMADA 600-serien Smartphones, MID
ARMADA 1000-serien Blu-ray-spelare, TV-apparater, set-top-boxar

Dessa är SoCs så de har CPU, GPU, I/O och nätverk på ett enda chip. Hela ARMADA-linjen är byggd på TSMC:s 55nm-process. 100 är superlåg prestanda, användbar i e-boksläsare, digitala fotoramar, IP-kameror, etc… 1000 är en flerkärnig version av 100 med extra block designade för Blu-ray-spelare, digitala TV-apparater och HD-apparater- toppboxar.

Både 100 och 1000 är baserade på Marvells Sheeva PJ1 ARM-kärna. Denna kärna använder ARMv5-instruktionsuppsättningen som ARM9-processorn, men prestandamässigt borde den vara jämförbar med en ARM11-implementering.

Det är en enda fråga i ordningskärnan med stöd för vidarebefordran av data. Kärnan är en hybrid mellan det ursprungliga Marvell CPU-teamet och XScale CPU-teamet som Marvell förvärvade 2006. Pipelinedjupet är mellan 5 och 8 steg beroende på instruktionsgruppen.

Kärnan har två separata ALU:er (enkel enkelcykel och komplex tvåcykel), en last-/förrådsenhet och en multipliceringsenhet. ARMv5-instruktionsuppsättningen kräver inte uttryckligen flyttal så det finns en separat samprocessor för alla fp-operationer. Integer SIMD hanteras genom en separat trådlös MMX2-enhet.

Marvell skulle inte avslöja formstorlekar men indikerade att PJ1 är jämförbar med ARM11-baserade konstruktioner i både storlek och kraftegenskaper.

De mer intressanta SoCs finns i familjerna ARMADA 500 och 600. De använder Sheeva PJ4-kärnan, Marvells svar på Cortex A8.

ARM Cortex A8 är en i sin ordning, dubbelutgåva mikroprocessor med en 13-stegs heltalspipeline klockad till cirka 600 – 800MHz idag. Marvells PJ4-kärna implementerar samma ARMv7-instruktionsuppsättning, men arkitekturen är mycket annorlunda. Det är fortfarande en kärna med dubbla problem, men heltalspipelinen är 6-9 steg beroende på instruktionen.

Den kortare pipelinen kommer tydligen inte på bekostnad av klockhastigheten. Genom att använda viss anpassad logik kan Marvell leverera klockhastigheter över 1 GHz.

Både L1- och L2-cacher stöds, precis som Cortex A8.

Det största problemet jag kan se med Marvells PJ4 är att den inte stöder ARMs NEON SIMDfp-instruktionsuppsättning. Marvell hävdar att penetrationen för Wireless MMX2 är högre än NEON. Med tanke på den begränsade användningen av Cortex A8 på marknaden idag ser jag inte bristen på NEON-kompatibilitet som ett stort problem för tillfället, men det kan vara ett på vägen beroende på utvecklarnas upptag.

På papper verkar PJ4 ha mycket högre IPC och klockhastighet än Cortex A8. Marvell var ovillig att dela med sig av någon kraft- eller prestandadata vid denna tidpunkt, så det återstår att se exakt hur väl Marvells arkitektur konkurrerar i den verkliga världen men på pappret, på en hög nivå, ser den bra ut.