Apples macroscalar arkitektur: vad det är och vad det betyder

Vad i helsike är Apples macroscalar processor? Och varför skulle vi bry oss?

Apple fick ett nytt patent på något som kallas en macroscalar processor denna månad. Du kanske har sett en write-up på det som citerade ansökan och stannade där. Eftersom ingen vet vad det är och varför du vill en. Men jag vet.

Macroscalar; Macroscalar är INTE en fackterm i datavetenskap – även om en snabb Bing sökning kommer att tycka att det är ibland används i andra discipliner av akademiker ivriga inte förstås. Låt oss bryta ner det.

Makro sätt – i ett ord av en stavelse – stor. Makroekonomi förklarar de stora växlar av ekonomin. Makro linser gör små saker stora genom att få nära dem. Kontors makron gör stora, komplexa åtgärder i ett kommando.

Skalär innebär ett enda värde, i motsats till en vektor. En vektorprocessor tar en vektor av värden, säger

10 14 666 22 84 53 45 25 14 47 91

och med en instruktion utför samma operation på dem alla, såsom multiplicera med ett enda skalvärde eller en annan vektor.

När du har massor av uppgifter som massage – såsom i avbildning – vektor processorer påskynda saker. Vilket är anledningen till de företag som byggde vektor processorer för en levande blev dödad av Intel och grafikprocessorer.

Processorer, Intel lanserar 7: e generationen processorer för att driva 4K UHD till massorna, processorer, Vision och neurala nät driver efterfrågan på mer kraftfulla marker, datacenter, Nvidia lanserar virtuell GPU övervakning, analys, hårdvara, AMD slår tillbaka mot Intel dominans med Zen

Skalära OTOH, innebär ett enda värde. Så vad sjutton är en stor enda värde processor?

Parallell bearbetning loopar, som bakgrund till uppfinningen sektionen i patentet förklarar de stigande klockfrekvenser inte översätta till högre prestanda eftersom de flesta konsument programvara inte är optimerad för att använda längre pipelines.

Samtidigt som konsumenterna köper nyare och snabbare processorer med djupare rörledningar, är den stora majoriteten av programvara fortfarande riktade till processorer med kortare pipelines. Som ett resultat av detta konsumenten inte kan förverkliga den fulla behandlingspotentialen av en ny processor för ett eller två år efter dess release, och endast efter att tilläggsinvesteringar för att få uppdaterad programvara …. (I) t är tveksamt hur effektivt djupare rörledningar faktiskt kommer att utnyttjas.

Detta är viktigt eftersom som processorer drabbade Moores Wall, är mer parallellism chefs sätt att få högre prestanda – och djupare rörledningar är chef sätt att uppnå instruktion-nivå parallellism.

Vad är en pipeline? Hoppa över detta om du redan vet,. Enligt definitionen i Wikipedia en instruktion pipeline är en teknik som används i konstruktionen av datorer och andra digitala elektroniska apparater för att öka deras undervisning genomströmning (antalet instruktioner som kan utföras i en tidsenhet).

Här är ett grafiskt exempel från Wikipedia

Eftersom en stor del av ett typiskt program tid tillbringas i slingor, optimera loopar för parallell exekvering är en populär form av hastighet upp. Loop utrullning och automatisk vektorisering finns 2 vanliga metoder, men de fungerar inte med databeroende slingor vars längd beror på resultaten snarare än ett fast antal iterationer.

Uppfinningen; De macroscalar processoradresser detta problem på ett nytt sätt: vid kompileringen den genererar villkorade sekundära instruktioner så när en databeroende slinga avslutar nästa uppsättning instruktioner är redo att köra. I själva verket, laddar det en annan rörledning för, säg, slutföra en slinga, så att rörledningen förblir fullt om slingan fortsätter eller avslutar. Det kan också läsa in en uppsättning sekventiella instruktioner som körs inom eller mellan slingorna, fortkörning utförande samt.

Makro pjäs är det stora antalet register program som krävs så att alla eller de flesta tänkbara instruktions banor redan laddas i CPU-register för snabb exekvering. I stället för att upprätthålla en rörledning, arkitekturen effektivt bibehåller parallella rörledningar, laddar dem och sedan växla mellan dem för att maximera slingprestanda.

En stor del av patentet är inriktat på kompilator kodning som krävs för att dra fördel av den macroscalar arkitektur. I huvudsak kompilatorn behöver analysera arbetsflödet och förstå där beslut körtids kommer att göras så att processorn kan veta när den behöver en alternativ pipeline.

Lagrings Bits ta, Apple är bland annat ett halvledarföretag. De designar, men inte bygga egna processorer, såsom dual-core A5 i iPad 2.

Den macroscalar arkitektur, väl genomfört, ger högre prestanda för en given klock hastighet och lägre energiförbrukning. Båda är värdefulla i mobila enheter.

Eftersom Apple erbjuder sina egna kompilatorer samt utforma processorer, är det unikt positionerat för att erbjuda en komplett macroscalar lösning på sin stora skara iOS utvecklare, ytterligare bredda pris / prestanda mellan det och iPad wannabes.

Är det ett genombrott? Det kan vara om de effektivitetsvinster den lovar kan förverkligas i praktiken. Vi får se hur bra Apples kompilator ingenjörer.

Kommentarer välkomna, naturligtvis. Macroscalar är ett annat sätt att kasta transistorer på problemet att påskynda datorer. Jag gillar det.

Intel lanserar 7: e generationen processorer för att driva 4K UHD till massorna

Vision och neurala nät driver efterfrågan på mer kraftfulla marker

Nvidia lanserar virtuell GPU övervakning, analys

AMD slår tillbaka mot Intel dominans med Zen