Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 25 reacties

Imagination is een nieuw programma voor universiteiten gestart waarbij volledige toegang tot een versie van de microAptiv-rekenkern op basis van de MIPS-architectuur wordt geboden. Het bedrijf geeft educatieve instellingen gratis toegang.

Het gaat om volledige en gratis toegang tot een vereenvoudigde versie van de microAptiv-cpu-core die speciaal aangepast is voor gebruik door educatieve instellingen. Imagination levert een volledig lespakket onder de noemer MIPSfpga dat inzicht biedt in de MIPS-architectuur.

Volgens het bedrijf is het de eerste keer dat universiteiten op deze wijze toegang tot de rtl-code, voor een interne representatie van de datastructuur, krijgen. Het lespakket bestaat uit een startgids, boeken voor docenten en voorbeelden die de studenten laten zien hoe de cpu werkt. Met het materiaal kunnen studenten zelf een cpu ontwerpen, deze debuggen en laten draaien op een fpga-platform.

Met het programma probeert Imagination interesse van educatieve instellingen te wekken voor zijn MIPS-platform. MIPS heeft een marginaal marktaandeel en Imagination probeert onder andere de concurrentie met ARM aan te gaan voor goedkope tablets, vooralsnog zonder veel succes.

Moderatie-faq Wijzig weergave

Reacties (25)

De MIPS is naar mijn mening ook niet het juiste antwoord op de uitdagingen in moderne processoren: De instructieset is heel simpel en heel regelmatig, maar ook bijzonder spartaans: Je hebt zeer veel instructies nodig om een bepaalde taak te verrichten. De filosofie van de ontwerpers was dat het daardoor erg eenvoudig was pipelining toe te passen, waardoor hoge kloksnelheden behaald konden worden en daarmee de lage hoeveelheid werk per klokpuls gecompenseerd kon worden. Pipelining toepassen op andere architecturen bleek echter prima te doen.

Voor FPGA's denk ik dat de MIPS nog wel een goede optie is: Omdat de instructieset zo simpel is, heeft hij maar weinig ruimte op een FPGA nodig. Voor tablets is de ARM toch echt de betere technologie.
Is het niet zo dat de kracht van MIPS momenteel zit in de openbare documentatie dat er te verkrijgen is?
VZIW om een volledig (open source) ARM boordje te creŽren moet je redelijk wat geld neerleggen om toegang te krijgen tot de documentatie, waarbij bij MIPS vrijwel alle diagrammen en schema's al vrij te verkrijgen zijn.
Niet helemaal; de ARM architectuurspecificaties zijn gratis te verkrijgen in hun "infocentre". Let wel: gratis, niet vrij. Zodra jij er een chip op wilt baseren moet je een licentie afnemen.
Dat klopt maar ten dele. "ARM" is een verzamelterm voor de ISA, maar ook voor interne data-bussen en aanverwanten. De ISA zelf is simpelweg een lijst met genummerde instructies, en nummers zijn niet te beschermen (daarom introduceerde Intel de naam Pentium als opvolger van de 80486).

Als je een FPGA implementatie gaat maken (zoals in het artikel gesuggereerd) dan heb je die ARM-specifieke bussen vermoedelijk helemaal niet nodig, en hoef je alleen de ISA te gebruiken.
Die ARM-specifieke bus heet AMBA, en die staat los van de ARM architectuur.
Granted, de scope van het woord "architectuur" is op zichzelf een bron van discussie (zie ook "Computer Architecture: A Quantitative Approach"), maar in reactie op archive23 en dmantione volstaat de krappere definitie die wordt gereflecteerd in de "ARM Architecture Reference Manual", zijnde de specificaties zover relevant voor software, compiler en operating system developers. Hiervan vormt de ISA het belangrijkste onderdeel.

[Reactie gewijzigd door RSpliet op 28 april 2015 11:20]

Als dit zo is, hoezo is er dan niet een volledig open source variant van een ARM boardje verschenen?
Heeft het met alleen de kosten te maken?
De reden staat al in het bericht waarop je reageert:
Let wel: gratis, niet vrij. Zodra jij er een chip op wilt baseren moet je een licentie afnemen.
En een licentie afnemen kost gewoon geld.

[Reactie gewijzigd door mae-t.net op 27 april 2015 14:00]

Die ARM licenties, hoe zit dat precies. Is dat een licentie op een architectuur, as-in een processorontwerp, of is dat een licentie om de instructieset te mogen gebruiken.

Als het om het processorontwerp gaat, is het inderdaad de vraag waarom niemand een eigen ontwerp bouwt die weliswaar dezelfde instructies begrijpt maar verder niks met de ontwerpen van ARM te maken heeft. En dat zal vast wel met kosten te maken hebben.
Dat snap ik, maar wat weerhoudt een bedrijf om een licentie af te nemen en vervolgens een open hardware product te maken?
Onder voorbehoud dat ik de licentietermen van de ARM architectuur niet heb doorgespit: voor een open core op wat voor architectuur dan ook zal je zelf van A tot Z een processor moeten ontwerpen om dit waar te maken. De kosten daarvan zijn astronomisch... als je dat toch doet, is de enige reden om voor ARM te kiezen (en niet voor MIPS of RISC-V) binary-compatibility. En dat is in de ARM wereld lang niet zo waardevol als op x86(_64). Bij open-SoC projecten zie je dan ook dat dit niet opweegt tegen de licentiekosten.
De kosten van zo'n ontwerp vallen heel erg mee. Een CPU is niet magisch, je hebt het hier gewoon over een ASIC die toevallig CPU-dingen doet in plaats van zeg Ethernet pakketjes routeren. En er zijn honderden bedrijven die ASIC's (laten) maken.

Het echte probleem is simpelweg dat die ASIC's een business case hebben, en het totaal onduidelijk is wat de business case is van een open source CPU.
Een CPU is inderdaad weinig magisch... maar wel groot. Zo'n apparaat doet alle arithmetiek (int, float), een complete geheugenhierarchie (L1 data/instructie, L2, memory bus/MMIO) allerlei trucs om sequentiele performance te verbeteren (multiple-issue, insn reordering, pipelining...), interrupt handling, context-switching en securitydomeinen (kernel-space/user-space), performance monitoring (meestal counters), power management (DVFS, clock gating) en zo nog even door. Om al die componenten goed werkend en geintegreerd te krijgen heb je een flink budget nodig. Om nog niet te spreken van de tijd die het kost om een vloerplan te ontwerpen van het design, de productiekosten van de uiteindelijke masks voor prototyping en productie en de test-kosten van je chip achteraf.
Om dat een ARM core niet het enige is wat er in een chip zit. ARM maakt geen chips, en je kan ook geen 'ARM Chip' kopen. Je kan wel een chip met o.a. een ARM-specced aantal cores kopen. Maar daar zitten dan altijd wel extra's en implementatie details in die de fabrikant dan niet wil vrijgeven. Denk aan broadcom en samsung om maar wat te noemen, die voegen van alles toe waaronder GPU's en speciale rekenkernen, en die vallen echt niet onder een vrij toegankelijke specificatie. Meestal zit daar ook het enige verschil tussen de chips, en werkt een Qualcomm net weer anders dan een Broadcom of Samsung ARM chip.

Bij de Raspberry Pi kom je nog wel het dichtst bij een 'open' bordje, maar ook daar mogen bepaalde dingen niet gepubliceerd worden. Een van de ontwerpers werkt(e) bij Broadcom en heeft toegang tot alles, maar mag alsnog niet alles publiceren. Hij kan er echter wel voor zorgen dat alles wat afgeleid kan worden van die NDA-beschermde documenten op een of andere manier ingezet kan worden voor betere FOSS drivers voor die Broadcom chip.
Ik denk dat het veel zinniger is om het te doen op de manier die Zylinx en Altera hanteren : niet een softcore te gebruiken, maar een (genreal purpose) hardcore en die te koppelen aan je FPGA. Op die manier heb je niet die verspilling van FPGA ruimte die je met een 'eenvoudige (MIPS) softcore' probeert op te lossen. De cores die daar nu bij worden gebruikt zijn bij mijn weten allemaal ARM gebaseerd.
Engineers zullen veel eerder interesse hebben in de Mill architectuur en niet de MIPS architectuur.

Grote voordeel van de Mill architectuur is dat deze betere prestatie kan leveren zonder dat software ervoor herschreven hoeft te worden.
...has a "10x single-thread power/performance gain over conventional out-of-order superscalar architectures" but "runs the same programs, without rewrite".
Versimpeld uitgelegd, werkt dit systeem door enkele van de meest voorkomende handelingen van de CPU te automatiseren. Zo verplaatst de mill CPU zijn geheugen uit zichzelf, zodat daar geen expliciete instructies voor gedaan moeten worden. Dit scheelt in de theorie dus al gauw 50% van de instructies.

Helaas heeft de mill CPU geen grote aandacht van de grote jongens (Intel, AMD, Nvidia, etc.), dus wanneer deze CPU verder ontwikkeld gaat worden / in massa productie gaat, is moeilijk te zeggen. Ook zijn de meeste testresultaten behaald in opstellingen van de fabrikanten zelf, dus prestaties behaald 'in de praktijk' zijn nog niet heel erg betrouwbaar. Verder is de Mill architectuur natuurlijk een erg interessante technologie!

[Reactie gewijzigd door mrfu op 27 april 2015 10:47]

De Mill architectuur is een VLIW architectuur volgens jouw bron artikel, wat niet echt vergelijkbaar met de ARM of intel instructiesets, een als zodanig ook geen alternatief voor deze. Want als het intel niet lukt om de massa naar een VLIW achtige structuur te bewegen (IA64), dan gaat dat deze startup zeker ook niet lukken.
Maar wie weet, het lijkt een interessante architectuur, en een mill architectuur gebaseerde chips zou een prima co-processor / datacruncher kunnen zijn. Zeg maar iets wat je veel ziet in video bewerkings socs, een gpu zoals een Arm of een Mips, gecomibeerd met een VLIW zoals een TriMedia (of een willekeurige andere van bijv. Texas Instruments). En wellicht is het een architectuur die zich prima leent voor een volgende generatie videochips. Tenslotte werken die tegenwoordig ook met een VLIW architectuur.
De AMD TeraScale architectuur (VLIW 4&5) was VLIW SIMD. De huidige AMD GCN architectuur is RISC SIMD ;)

[Reactie gewijzigd door madmaxnl op 27 april 2015 12:50]

Alleen vergeet je dat de performance heden ten dage niet bepaald wordt door CPU instructies maar door memory references (cache misses, TLB misses, DRAM access times, ...)
Leuk dat je de load/store's weg doet (en dus wsch ook CPU registers), maar je moet ergens 0-CPU-cycle memory hebben (een cache dus) en je moet nog altijd loads/stores doen. Je moet trouwens op elke operatie een TLB access doen, cache coherency checken en wat nog meer.

Sneller? Ik denk het niet.
Mill veranderd weldegelijk veel aan de manier waarop met geheugen wordt omgegaan. Ik meen dat ze een structuur gebruiken die op een scratchpad lijkt in plaats van een cache, met "the belt" als koosnaam.

Dit zou een verschil kunnen maken, maar zoals ik in een andere commentaar al aangaf denk ik dat het heel erg vroeg is om grootse claims te maken of conclusies te trekken.

Het feit dat Mill Computing zich (initieel) op niche producten richt zegt volgens mij al veel over welke impact we voor alledaags gebruik kunnen verwachten...
Grote voordeel van de Mill architectuur is dat deze betere prestatie kan leveren zonder dat software ervoor herschreven hoeft te worden.
Hoewel Mill interessant is, is dit statement niet correct. Het gaat hier over geisoleerde microbenchmarks in een simulator. Dat is nog heel wat anders dan echte software op een echte chip.

Mill is interessant in de zin dat ze niet blindelings verderwerken op het pad dat de gevestigde chip-families ook bewandelen (meer cache, grotere register sizes, meer cores, ...), maar momenteel is Mill complete vaporware. Benieuwd wat het wordt, maar afwachten met grootse claims lijkt mij verstandig.

De RISC-V aanpak vind ik - althans op korte en middellange termijn - veelbelovender voor open source hardware.
Ik heb nog nooit van de Mill architectuur gehoord. En het bedrijf schijnt al 10 jaar bezig te zijn met ontwerpen.

En verder staat er ook in je wiki link:
The OOTBC (Mill computing) was criticized by Linley Gwennap in 2013 for absence of working compiler and lack of estimations in conventional benchmarks.[
Nou weet ik niet welke invloed Linley Gwennap group heeft, dus ik kan deze uitspraak niet op waarde schatten, maar het wordt toch genoemd in de wiki.
http://www.linleygroup.co...etter_detail.php?num=5038

Dus voorlopig zou ik nog willen stellen dat de Mill architectuur nog minder kans heeft dan MIPS.

Edit: typos

[Reactie gewijzigd door Rudie_V op 27 april 2015 11:31]

Ligt misschien ook een beetje aan de digitale plekken waar je 'rond hangt' ;)
Hier zijn er al meerdere artikelen over geplaatst.
Dat klopt, aan de ene kant zegt het natuurlijk niets dat ik nog nooit van deze mill architectuur gehoord hebt, aan de andere kant betekent het ook dat deze architectuur nog nooit een succes heeft gehad anders had ik er wel van gehoord(gok ik even dan :) ). En ik vermoed zo dat ik de komende jaren waarschijnlijk ook niets van de mill architectuur zal horen dan wel benchmarks te zien zal krijgen.
Da is allemaal heel leuk maar je probeert mensen les te geven in iets waar de haken en ogen al van bekend zijn en niet toekomstmuziek. Dat is gewoon buzzword bingo en daar is al te veel van in het onderwijs.
Zoals je het uitlegt "...werkt dit systeem door enkele van de meest voorkomende handelingen van de CPU te automatiseren" zou het mijn inziens lijken op wat eerder geprobeerd is onder de naam Transmeta, zie ook: http://nl.wikipedia.org/wiki/Transmeta . Echter als ik kijk naar de wiki van het bedijf zelf, http://millcomputing.com/wiki/Belt , lijkt het meer op een lopende band waar data pakketjes afvallen. Overigens is de laatste opmerking op die wiki ook erg interessant "It's important to remember that the belt is only a programming model, an interface for the compiler. Internally there are no values being moved around." Dus je zou alleen maar een nieuwe compiler hoeven te schrijven om deze ideeŽn toe te passen in bestaande architecturen (x86, amd64, ARM) ?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True