Hoe ARM de wereld veroverde - en won
NieuwsZolang de meesten van ons erom denken, is de strijd om de mainstream-processormarkt gevoerd tussen twee hoofdrolspelers, Intel en AMD, terwijl halfgeleiderfabrikanten zoals Sun en IBM zich van oudsher concentreerden op de meer gespecialiseerde Unix-server- en werkstationmarkten.
Ongekend voor velen, is een ander bedrijf tot een dominantiepunt gestegen, waarbij de verkoop van chips op basis van zijn technologie veel groter is dan die van Intel en AMD gecombineerd.
Dat baanbrekende bedrijf is ARM Holdings, en hoewel het geen naam is die op ieders lippen ligt, zoals de 'grote twee', wijzen er aanwijzingen dat dit bedrijf van kracht zal blijven groeien.
Hier plaatsen we ARM in de kijker, onderzoeken we het verleden en de geschiedenis, maar nog belangrijker, we kijken ook naar de toekomst voor deze onbezongen held van de micro-elektronica revolutie.
Hoewel de meeste halfgeleiderindustrie is gevestigd in Silicon Valley, is het een verfrissende verandering dat het hoofdkantoor van ARM hier in het Verenigd Koninkrijk ligt in het zogenaamde Silicon Fen-gebied rond Cambridge..
Ondanks dat ARM geen begrip is, is het bedrijf de laatste tijd geen Johnny-come. Inderdaad, als we ARM terug naar zijn oorsprong traceren, vinden we een bedrijf dat een belangrijke factor was in de groei van persoonlijke gegevens in de vroege jaren '80..
Al in 1980 was de IBM-pc nog in ontwikkeling en die personal computers die er bestonden, waren enorm duur, wat het equivalent van enkele duizenden pond vandaag kost. Het Verenigd Koninkrijk had net zijn stempel gedrukt op personal computing met de lancering van de Sinclair ZX80. Dit was de eerste computer die voor minder dan £ 100 werd verkocht - iets dat het Verenigd Koninkrijk hielp om de wereld te leiden in het bezit van een thuiscomputer gedurende de jaren tachtig.
Een van de meest invloedrijke bedrijven die in de voetsporen van Sinclair te volgen was, was Acorn Computers. Amper een jaar later bracht Acorn de BBC Micro uit, die zijn weg vond naar zowat elke school in het VK en ongeveer anderhalf miljoen eenheden ging verkopen.
Acorn's opvolger van de BBC Micro, de Archimedes, was lang niet zo succesvol als een computer, maar was veel invloedrijker vanwege Acorn's keuze voor de processor. Terwijl de BBC Micro een standaard 8-bit 6502 van MOS Technology gebruikte, besloot Archimedes Acorn om zijn eigen high-performance 32-bit RISC-chip (reduced instruction set computer) te ontwerpen, die hij een Acorn RISC-machine noemde of ARM-processor.
In 1990, in een joint venture met Apple en VLSI Technology (een bedrijf dat aangepaste en semi-custom chips heeft ontworpen en vervaardigd), overspant Acorn zijn onderzoeksafdeling als een afzonderlijk bedrijf met de naam Advanced RISC Machines. Na verloop van tijd zou deze uitloper evolueren naar de ARM Holdings die we vandaag kennen.
De RISC-filosofie
Nadat de term RISC is gebruikt om de ARM-chip te beschrijven die de Archimedes aandreef en omdat dezelfde tag kan worden toegepast op de hedendaagse ARM-technologie, is het zinvol om te beginnen met het onderzoeken van deze benadering van het ontwerp van een microprocessor. Om dat te doen, moeten we beginnen met een korte geschiedenisles.
Vroege 8-bit microprocessors zoals de Intel 8080 of de Motorola 6800 hadden slechts een paar eenvoudige instructies. Ze hadden zelfs geen instructie om twee gehele getallen te vermenigvuldigen, dus dit moest worden gedaan met behulp van lange softwareroutines met meerdere diensten en toevoegingen..
In de overtuiging dat de hardware snel was, maar de software traag, zorgde de ontwikkeling van de microprocessor ervoor dat de processors meer instructies kregen om steeds gecompliceerder functies uit te voeren. Genaamd CISC (gecompliceerde instructieset computer) benadering, dit was de filosofie die Intel adopteerde en dat, min of meer, nog steeds wordt gevolgd door de nieuwste Core i7-processors van dit moment.
Deze overgang naar steeds gecompliceerdere instructies kostte. Hoewel de eerste microprocessors de meeste van hun instructies in slechts een handvol klokcycli konden uitvoeren, omdat processors gecompliceerder werden, waren er aanzienlijk meer klokcycli vereist.
Begin jaren tachtig werd een radicaal andere filosofie, RISC (reduced instruction set computer), bedacht. Volgens dit computermodel zouden processors maar een paar eenvoudige instructies hebben, maar als gevolg van deze eenvoud zouden die instructies supersnel zijn, de meeste zouden in een enkele klokcyclus worden uitgevoerd. Dus hoewel er veel meer werk in de software zou moeten gebeuren, zou een algehele winst in prestaties haalbaar zijn.
Veel RISC-gebaseerde processorfamilies hebben deze aanpak gevolgd en indrukwekkende prestaties getoond in hun nichetoepassing van op Unix gebaseerde servers en engineeringwerkstations. Sommige van deze families zijn nu al lang verdwenen, maar het feit dat verschillende - waaronder IBM's POWER, Sun's SPARC en, uiteraard, ARM - de x86-architectuur een vlucht voor zijn geld geven, suggereert eerder dat minder inderdaad meer kan zijn.
We hebben het hier echt over een minimalistische benadering. In een klassiek RISC-ontwerp worden alle rekenkundige en logische bewerkingen uitgevoerd op gegevens die zijn opgeslagen in de interne registers van de processor. De enige instructies die toegang hebben tot geheugen zijn een laadinstructie, die een waarde uit het geheugen in een processorregister schrijft en de winkelinstructie die het tegenovergestelde doet.
Een eenvoudig voorbeeld illustreert hoe dit ertoe leidt dat meer instructies moeten worden uitgevoerd. Als je ooit geprobeerd hebt om te programmeren met een taal op hoog niveau zoals BASIC, dan heb je zeker een instructie geschreven zoals A = B + C die de waarden in variabelen (geheugenlocaties) A en B bij elkaar optelt, en schrijft het resultaat naar een andere variabele genaamd C.
Met een CISC-processor zou deze ene instructie drie worden, zoals wordt getoond in het volgende voorbeeld, dat voor een typische processor is:
LOAD A
VOEG B TOE
WINKEL C
In dit voorbeeld schrijft de LOAD-instructie de waarde van geheugenlocatie A naar de accumulator van de processor (een speciaal register dat wordt gebruikt voor rekenkundige en logische bewerkingen), voegt de ADD-instructie de waarde van geheugenlocatie B toe aan de waarde in de accumulator en de WINKEL instructie schrijft de waarde van de accumulator naar geheugenlocatie C.
In een RISC-processor zijn de volgende instructies nodig. Het is belangrijk op te merken dat een RISC-processor meerdere registers heeft, niet alleen de accumulator, dus deze moeten specifiek worden aangeduid (zoals R1 en R2 bijvoorbeeld) in de instructies.
LOAD A, R1
LOAD B, R2
VOEG R1, R2 TOE
STORE R2, C
Architectuur ontwikkeling
Omdat de huidige ARM-processoren en -kernen (we zullen later onderscheid maken tussen deze twee termen) directe afstammelingen zijn van de oorspronkelijke ARM-chip die in 1987 werd ontworpen voor Acorn's Archimedes, worden ze ARM-architectuurapparaten genoemd.
Dit is vergelijkbaar met de Intel- en AMD-chips van vandaag, die voortkwamen uit de Intel 8086 en zijn opvolgers, en daarom worden beschreven als aanhangers van de x86-architectuur. Hier zullen we bekijken wat er uniek was aan de ARM-architectuur toen het 25 jaar geleden verscheen, hoe het zich in de loop der jaren heeft ontwikkeld, waarom die evolutie niet parallel liep aan die van de 86 architectuur, en wat vandaag nog steeds onderscheidend is.
Degenen die in de loop der jaren de ontwikkeling van de pc hebben gevolgd, zullen ongetwijfeld bekend zijn met het concept van processorgeneraties binnen de x86-architectuur. In de afgelopen jaren zijn de scheidslijnen wat minder duidelijk geworden, maar in de begintijd zagen we dat de eerste generatie 8086 (of 8088) plaatsmaakte voor de 80286 en vervolgens voor de 80386, 80486, de Pentium enzovoort.
Hetzelfde geldt voor de ARM-architectuur, maar met een belangrijk verschil. In het rijk van x86 zijn nieuwe generaties bij een aantal gelegenheden geassocieerd met de introductie van een nieuw headline figure voor de breedte van de datatrajecten - iets dat een significante invloed heeft op de prestaties.
Dus de x86-architectuur werd gelanceerd met de 16-bits 8086 en de daaropvolgende ontwikkelingen brachten ons 32 bits en uiteindelijk de 64-bits architectuur die we vandaag genieten. In totaal contrast hiermee, maakte de ARM-architectuur zijn debuut bij 32 bits en moet de overgang naar 64 bits nog maken.
Dat moet echter niet worden geïnterpreteerd als een gebrek aan innovatie, zoals enkele feiten en cijfers zullen onthullen.
De eerste ARM-processor zag het levenslicht in 1985 en hoewel deze nooit commercieel werd gebruikt, was de ARM 2 die erop volgde en die de eerste Archimedes-pc aanstuurde, niet al te veel van hetzelfde. Hoewel het gebaseerd was op een 32-bits architectuur, had het een 26-bits adresbus, wat betekende dat het 64 MB geheugen kon adresseren. Hoewel niet veel volgens de huidige normen, dit was een enorm bedrag in het midden van de jaren '80.
De klokfrequentie van 8 MHz klinkt ook nogal voetgangers, hoewel hij dankzij het RISC-ontwerp een snelheid van 4 MIPS (miljoen instructies per seconde) kon bieden. Om dit in context te plaatsen, was de Intel 80386, die een jaar later op het toneel verscheen, slechts een tikje sneller bij 5 MIPS, maar om dit te bereiken moest het geklokt worden op 16MHz.
Om echter de vooruitgang te zien die de ARM-architectuur in een kwarteeuw van ontwikkeling heeft genoten, moeten we echt een aantal vergelijkingen maken met het aanbod van vandaag..
In termen van onbewerkte prestaties is de top-end kern van vandaag de Cortex-A15, die is gebaseerd op de architectuur van de zevende generatie, bekend als ARMv7. Hoewel de kloksnelheid afhankelijk is van de fabrikant (ARM Holdings zelf maakt geen siliconen), wordt een 2,5 GHz-waarde als een waarschijnlijk plafond beschouwd en zou bij deze snelheid een prestatie van ongeveer 35.000 MIPS genereren.
Hoewel dit bij lange na niet de nieuwste Intel Core i7 is, vergelijken we niet zoals met like. Uitgedrukt in termen van MIPS per core per MHz, hoewel de Core i7 nog steeds niet wordt ingehaald, komt de Cortex-A15 veel dichterbij - maar zelfs daar mist het punt.
Aanwijzingen zijn dat de Cortex-A15 minder dan een watt per kern verbruikt in vergelijking met tientallen watt per kern voor de Core i7. In dit opzicht komt het dichter bij de Intel Atom, maar met veel betere prestaties.