Vi fick en bra fråga nyligen som fick oss att komma ihåg att inte alla håller sig uppdaterade om specifikationer och hårdvarudesign. Någon frågade vad ARM betydde.
För det första är det en fantastisk fråga. Jag kan föreställa mig att det är svårt att känna till några av de tekniska prat som händer om du inte är säker på ens grunderna, och det enda sättet att ta reda på är att fråga. Så vi är glada att du frågade!
ARM är ett företag och ARM är en processorarkitektur som de utvecklar och säljer.
När du ser en teknisk diskussion och ordet ARM används beskriver det en typ av processor. Den övertekniska definitionen av en ARM-processor är en CPU byggd på den RISC-baserade arkitekturen som utvecklats av Acorn Computers på 1980-talet och är nu utvecklad av Advanced RISC Machines (därmed ARM).
Det är inte särskilt bra när du inte vet vad något av det betyder. Så låt oss prata om vad det betyder.
ARM, Ltd. är ett företag i England som utvecklar och designer en processorarkitektur. ARM-förkortningen för processorkonstruktionen står för Acorn RISC Machine, och ARM-förkortningen för företaget som designer och säljer licens för att använda den arkitekturen står för Advanced RISC Machines. Häng inte på vilken ARM som betyder vilken sak, eftersom nuförtiden båda är utbytbara. ARM företaget utformar en metod för att bygga ARM-processorer och företag som Qualcomm, Apple och Samsung licensierar alla att bygga sina egna anpassade processorer på. Många andra företag licensierar också ARM-designen. De flesta enheter som är små och batteridrivna och behöver hjärna använder en ARM-processor.
ARM-CPU: er är utformade för att göra många enkla uppgifter på en gång utan att behöva mycket ström.
RISC står för minskad instruktionsuppsättning beräkning. Den Intel- eller AMD-processor som du hittar i din bärbara eller stationära dator är troligtvis en CISC-processor (komplex instruktionsuppsättning). De två olika typerna är utformade för olika behov. En RISC-processor är utformad för att köra en mindre mängd instruktioner (instruktioner definierar vilka beställningar som kan skickas till en processor av ett program) än en CISC-processor. Eftersom de kan göra färre saker kan de ha en högre frekvens - Gigahertz-numren du hör diskuterat - och utföra fler MIPS (miljoner instruktioner per sekund) än en CISC-processor.
När du minskar antalet instruktioner som processorn kan beräkna kan du skapa en enklare krets inuti chipet. En RISC-processor använder färre transistorer som i sin tur använder mindre ström. Eftersom kretsarna är enkla (de är kända som optimerade banor på tekniskt språk) kan en mindre formstorlek användas för att bygga processorn. Diestorlek är mätningen av ett chip på kiselskivan som en processor bygger på. När formstorleken är mindre kan fler komponenter med mindre ledningar placeras på processorytan. Detta gör ARM-processorer små och mycket mindre krafthungeriga.
Små, snabba och enkla processorer är perfekta för saker som telefoner. En telefon ber inte CPU: n om att bearbeta saker som 3D-kollisionsdata (såvida det inte är en Tango-telefon) eller försöker köra hundratals trådar på dess begränsade antal kärnor. Mobil mjukvara, både operativsystemet och applikationer som körs på det, är kodade och optimerade för den reducerade instruktion som ARM-processorn använder. Men det betyder inte att ARM-CPU: er inte är kraftfulla i sig.
Den nuvarande ARM-specifikationen möjliggör 32-bitars och 64-bitarsdesign, maskinvarevirtualisering, avancerad krafthantering som kan gränssnitt mot användarprogramvara och en last / butikarkitektur som mestadels är encykelkörning och ortogonal. Om du är nyfiken på vad dessa saker är kan du undersöka datorinstruktioner för arkitektur för mer.
Allt du behöver veta om det är att det betyder att ARM-processorer också är riktigt bra på saker som inte är telefoner eller mediaspelare. Saker som superdatorer.
ARM: s utmärkta Architecture Fundamentals-videospelningslista
ARM har ett bra prestanda per watt-förhållande. Korrekt kodad programvara kan göra mer per watt el som används på ett ARM-chip än det kan på en x86 (en CISC-processor populariserad av Intel) CPU. Detta underlättar skalning efter saker som servrar och superdatorer när man använder ARM-processorer.
Du kan få mängden rå datorkraft som behövs från 24 x86 CPU-kärnor, eller så kan du få den från hundratals små, låg effekt ARM-kärnor. X86-kärnorna kommer att använda sin datorkraft för att utföra de beräkningar som behövs för bara några CPU-kärnor och trådar medan ARM-kärnorna sprider uppgifterna över många lågkapacitet och mindre komplexa kärnor. ARM-kärnorna är mycket högre i antal men behöver inte mer kraft eller mer utrymme än de 24 x86-kärnorna kommer att göra. Detta underlättar skalning - att lägga till mer datorkraft till en processordesign - med ARM. Lägg bara till fler CPU-kärnor och se till att din programvara är skriven för att fungera bra med ARMs instruktionsuppsättning.
ARM-processorer skalar mycket bra och körs på superdatorer och servrar samt din Android eller iPad.
I slutändan kommer en enda instans av en ARM-processor aldrig att vara lika kraftfull som något liknande en Intel Core i7 som du skulle hitta på en speldator. Det är inte så bra att köra programvaran som är skriven för x86 Intel-processor och det krävs många kodändringar, eller en virtuell maskin, för att göra samma saker. Men att Intel Core i7 använder ungefär 12 gånger strömmen, behöver ett aktivt kylsystem och kommer aldrig att passa in i en telefonkropp. Den mindre komplexa ARM-processorn klarar sig bra när programvara skrivs för att direkt stödja den, och på grund av dess låga effekt och små designfunktioner är det enkelt att lägga till några höga klockhastighetskärnor till en CPU för att köra den avancerade programvaran vi alla vill att använda på våra telefoner.
Och om du har ett datacenter i bergen någonstans, kan du fortsätta skala och lägga till fler kärnor tills du skapar datorer som kan hantera saker som NVIDIAs smarta bilar eller Googles läromaskiner.