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. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 60 reacties, 21.605 views •
Bron: Wired Magazine

Het Nasa Ames Research Center heeft een microprocessor gemaakt die in staat is zichzelf te repareren. Microprocessors bestaan uit miljoenen transistoren en zijn doorgaans dan ook zeer gevoelig voor storingen. Het begint al bij de fabricage: van de chips op een wafer is doorgaans meer dan de helft defect. Zelfs een processor die het in eerste instantie wel doet kan nog zwakke plekken hebben, waardoor hij er na een tijdje zomaar mee ophoudt. Voor toepassingen op aarde maakt dat niet zoveel uit. Een processor heeft een technische levensduur van ongeveer tien jaar, maar wordt meestal al na drie jaar afgedankt omdat er inmiddels veel snellere modellen op de markt zijn. De meeste storingen treden pas op als de processor ouder is, zodat defecten vrij weinig voorkomen. En mocht hij binnen die tijd toch kapot gaan, dan is het simpel hem te vervangen door een nieuwe.

In de ruimtevaart ligt het allemaal wat moeilijker. Een satelliet of ruimtesonde is doorgaans bedoeld om langer dan drie jaar in de lucht te blijven, de chips erin worden blootgesteld aan een hoge dosis kosmische straling en bij defecten is het zeer moeilijk een monteur langs te sturen voor reparatie. Bij ruimtesondes heeft betrouwbaarheid dan ook een zeer hoge prioriteit. Deze wordt tot dusverre bereikt door ruimtevaartuigen met meerdere processors uit te rusten, zodat als er een defect raakt de anderen het over kunnen nemen. Dit is echter niet meer dan een workaround en biedt dus geen definitieve oplossing. Als een ruimtesonde vijf processors aan boord heeft hoeven er in het slechtste geval maar vijf transistoren - een in elke processor - defect te raken om het toestel onbruikbaar te maken.

De Nasa heeft inmiddels een methode ontwikkeld die veel efficiënter gebruikmaakt van de nog werkende delen van de schakeling. Deze gaat uit van Field Programmable Gated Arrays (FPGA's). FPGA's hebben geen vaste schakelingen, maar programmeerbare logische blokken, die de signalen een bepaalde kant op sturen. Als een deel van de chip het begeeft, kan hij worden hergeprogrammeerd om dat stuk niet meer te gebruiken. Het Nasa-ontwerp gaat uit van twee FPGA's, die elkaar controleren. Raakt er een defect, dan begint de andere hem in alle mogelijke configuraties te herprogrammeren totdat hij weer werkt.

Onderzoekers van het Jet Propulsion Laboratory hebben een proefmodel gebouwd en dit blootgesteld aan een stralingsdosis die hoog genoeg was om een mens te doden. Het systeem viel wel even uit toen de eerste chip het begaf, maar begon daarna onmiddellijk honderd nieuwe configuraties per seconde uit te proberen tot een werkende programmering gevonden werd. Tevreden met dit resultaat denken de onderzoekers nu al aan nog verdergaande toepassingen van deze techniek, zoals systemen die kunnen groeien en zich aanpassen aan een veranderende omgeving.

Ruimtesonde

Reacties (60)

Reactiefilter:-160060+151+224+37
Moderatie-faq Wijzig weergave
Ik vind de titel een beetje misleidend, de chip repareerd zichzelf helemaal niet. hij gaat gewoon een ander deel gebruiken.

Maar ondanks dat is het nog steeds erg knap en het zou denk ik ook wel toepasbaar zijn op aarde.. (fluistert zacht ... overclocken)

waarschijnlijk gaan de fabrikanten ervan uit dat de procecoren dan minimaal 25% kapot mag gaan binnen 10 jaar. dus als je dat gedeelte aan kan zetten dmv het herprogrameren van de chip.. en dat gedeelte functioneerd ook goed.. dan heb je gewoon een 25% snellere chip.. dat is handig :P

waarschijnlijk zal aan het begin dit wel vele malen duurder zijn waardoor je toch betere een snellere chip kan kopen, maar op de lange termijn zal het toch wel worden toegepast denk ik.... hoop ik.

@DarkTemple

je moet deze oplossing zien als een soort van raid achtige constructie voor processoren. en iid dat gaat ten koste van ruimte/geld/preformance (die je weer terug kan krijgen)
stel je hebt een FPGA chip waarbij je 100% ruimte hebt om iets te programeren, maar er is een eis dat 25% uit moet kunnen vallen dan kan je dus maar 80% gebruiken van de chip.
als je de overige 20% dan wel gaat gebruiken dan kunnen daar andere taken voor worden gereserveerd en wordt je chip dus sneller.
De huidige CPU's zijn iid 100% gevuld (de gemiddelde FPGA denk ik niet), tenminste daar mag je denk ik wel van uitgaan. maar ik verwacht dat de procecoren in de toekomst meer specialistische werk gaan doen.. dus stel dat het OS er achter komt dat je meer 3d spellen doet, dan zal deze je CPU her configureren zodat je gemiddeld betere prestaties krijgt.
en stel dat je meer database of andere server achtige toepassingen draait dan zal het OS je systeem meer geschikt maken voor paralelle processen.

nu moet dit worden opgelost door de hardware, servers bevatten bijna altijd meerdere processoren, een sloot met geheugen en een raid array terwijl er een standaard video kaartje in zit. dit kan je zien als een monster systeem.. alleen een gemiddeld spel zal er erg slecht op draaien.

Als het OS dit zou kunnen detecteren dan zou hij een CPU kunnen herconfiguren zodat veel 3d berekeningen sneller worden berekend.. een soort GPU co processor dus.. of misschien wel een extra GPU.

misschien verklaren mensen me voor gek maar het idee van een CISC processor is leuk maar ik vraag me af hoeveel procent van de instructies nu eigenlijk worden gebruikt.. ik zou liever een RISC processor zien met de top 10 instructies met een deel waarin de meest voorkomende berekeningen van de afgelopen keren( die de RISC processor niet heeft kunnen afhandelen en moeten doorsturen naar een CISC co processor) kunnen worden geprogrameerd.
een chip die kapot gaat maar daarna weer bruikbaar is, al dan niet in een andere configuratie vind ik toch wel onder de noemer repareren vallen. (kapot->werkend)

Doet me een beetje aan McGuyver van vroeger denken, alleen een iets modernere versie maar het komt wel neer op werken met wat je hebt.
De discussie of het nu wel of geen repareren is kan natuurlijk oneindig doorgaan. Het gaat er maar net om of je het alleen repareren noemt als je iets fysiek veranderd, dat is in dit geval dus niet. Het is nu gewoon zo dat als er in de ene FPGA bv een register kapot is de andere FPGA gewoon zorgt dat deze niet meer gebruikt zal worden in de configuratie. De functionaliteit wordt dus wat gedowngrade en op den duur houd je natuurlijk niks meer over.

EDIIT: ik las repareren net zoals Apache_ kan gebeuren :P
Je begrijpt denkelijk de werking niet van een FPGA, deze bestaat namelijk uit logica poorten (AND, OR) en flipflops, etc. die je los met elkaar kunt combineren tot bijvoorbeeld een register. Stel dat register heeft een defect, dan kun je dat register anders gaan combineren, zodanig dat het defect niet meer in dat register zit. Dit alles met als resultaat dat de FPGA weer werkt als vantevoren, zonder dat de functionaliteit opgegeven wordt, dus geen downgrade. De ene FPGA heeft dus de andere FPGA hersteld.
Zolang er dus reserve "cellen" aanwezig zijn, die opnieuw aangesloten kunnen worden, kan de FPGA hersteld worden.
maar ooit zijn de combinaties op, 'k denk dat hij dat bedoelde
joah, behalve als nu net een I/O kapot gaat die bestemd is voor het herconfigureren van de FPGA...

het is trouwens een: "Field Programmable Gate Array" niet "Field Programmable Gated Array"
Lees anders nergens dat ze die dingen zichzelf laten fixxen met duct-tape :P
FPGA als alternatief voor PC voor overklokken? BAHAHAHA!!!! :9

Nee sorry. Het lijkt misschien wel leuk, maar het nadeel van een FPGA is dat 'ie:
1: langzamer is;
2: Inefficienter is;
3: meer ruimte nodig heeft (in nm2) om een schakeling op de chip te zetten.

En dat allemaal om het herprogrogrammeerbaar te maken. Flexibiliteit, daar zijn ze voor, niet efficientie of snelheid. :9

@TimD: OK, ze kunnen idd sneller zijn, omdat je ze precies dat kan laten doen wat jij wilt, waar een 'gewone' processor daarvoor meerdere berekeningen moet doen. Nadeel is dan wel dat 'ie dan maar heel weinig dingen kan, of je moet hem weer herprogrammeren (en dat gaat niet echt heel snel)
Grote voordeel van een FPGA is dat deze vele operaties in parallel kan uitvoeren. Gedurende mijn stage heb ik een videobewerkings algoritme geimplementeerd op zowel een FPGA als CPU. De FPGA, draaiende op 300 mhz, bleek sneller dan de CPU, Pentium IV 3 ghz. Nadeel van een FPGA is hierbij dat het 'herconfigureerbaar' is voor 1 doel.
Dat is geen voordeel van een FPGA, dat is een voordeel van de manier waarop je de FPGA gebruikt; het kan als specialistische CPU geconfigureerd worden.

Er zijn in het verleden experimenten geweest met computers volledig opgebouwd uit meerdere FPGA's; die konden dan door de applicaties telkens opnieuw geconfigureerd worden om zo de maximale performance te halen.
Ik meen dat dit hoofdzakelijk gefaald is omdat het configureren van een FPGA een stuk moeilijker is dan het bouwen van een normale applicatie.
Zéker niet praktisch voor een systeem waarvoor je met redelijk tempo nieuwe applicaties moet kunnen maken; zowat élk denkbare generieke systeem.
Indien een syteem niet generiek is, is het vaak handiger de applicatie in hardware te bakken of een FPGA eenmalig te configureren.
Vind jij hem daarom misleidend?

Volgens mij staat er een typo; reparende.
Ik dacht dus; paren, samenvoegen.. maar dan op zn engels. Dat 2 half kapotte chips zich zouden clusteren en als 1 volledige chip verder konden werken..
En je denkt dat de chips, nu op aarde in gebruik, niet 100% gebruiken?

Ik snap je redenering niet van 25% snellere chip, omdat de chips op aarde al 100% in gebruik zijn. Als dit toegepast zou worden, worden ze dus eerst langzamer!
Als je iets repareert dan vervang je meestal iets ouds door iets nieuws :) Behalve als je het kunt lijmen ofzo.
Anyway, misschien kunnen ze wel gewoon 1 FPGA gebruiken ipv 2. Tegewoordig zijn je partieel configureerbaar dus ik zie niet in waarom ie zichzelf niet kan configureren.
Anyway, FPGAs zijn coole chips en maken het erg makkelijk om iets te maken waarvoor je anders een boel chips voor nodig hebt.
Jubs, resistance is futile,
Het probleem is alleen dat deze chips niet echt regeneraten, ze gaan gewoon het kapotte stukje van de chip niet meer gebruiken. Heel wat anders als het daadwerkelijk repareren van de schade. Daarom vind ik de titel ook wat misleidend.
Dat is toch ook de reden dat ze lange tijd Zilog Z80 (8 bit, Sinclair ZX80-Spectrum) en Motorala 6800-series (8 bit, Commodore 64, enz..) CPU's hebben gebruikt, door de lage frequentie enzo hebben ze minder last van storingen en uitval... en die CPU's zijn inmiddels wel geperfectioneerd lijkt me... en worden (volgens mij) nog steeds gefabriceerd...

http://en.wikipedia.org/wiki/Motorola_6800

http://en.wikipedia.org/wiki/Zilog_z80
Dan heb jij waarschijnlijk nooit echt met een Motorola serie gewerkt ;)
In mijn Amiga tijdperk, dus de 6800 68020 68030 en 68040 gingen dergelijke processors echt wel om zeep hoor zonder overgeclokt te zijn.
Ik heb een 68020 in een Amiga 1200 in rook zien opgaan en 68040 in een Amiga 4000 (beide niet van mij :+).
Bovendien waren die verre van perfect, de processor had ook last van overflows en een enkele keer een miscalculatie (a.k.a guru meditation error).
Ze werden pas beter (lees nog niet perfect) toen men de turbo kaarten op de markt bracht zoals de 68030 boarden voor een Amiga 1200 en Amiga 2000 en de extreme 68040 borden voor een Amiga 3000 en 4000.

Maar ja, nu een lachertje tegenover een Intel Pentium 4 of een AMD 64 / X2.
Maar minderwaardig zeker niet, Babylon 5 wat de meeste Sci Fi fans kennen is rendering werk geweest van een gemodificeerde A4000 met Lightwave.
Een Motorola 6800 is niet een Motorola 68000 (wat in een Amiga(500) zat). Die nul extra is een significant verschil.
Ik heb zowel geprogrammeerd op de Motorola's 68xx (géén Z80), 680xx en de 65xx serie die de topic starter waarschijnlijk bedoelde.

Het enige grote verschil tussen de 68xx en 680xx is dat de eerste 8-bits is en de laatste 16-bits. Verder lijken ze qua instructieset vrij veel op elkaar. Dit betekent echter wél dat ze niet inwisselbaar zijn. Hoewel de instructieset zeer duidelijk aan elkaar verwand was, was de gecompileerde machinecode compleet verschillend.

de 65xx is iets compleet anders.

Overigens heb ik nog nooit een motorola CPU dood zien gaan ondanks dat ze toch flink vaak gebruikt werden.
Precies, die 6800 of Z80 serie is helemaal uitgewerkt en getest, enzovoort.. en dus betrouwbaar gebleken voor kritische applicaties. De 68000 serie is een verre opvolger daarvan, en is overigens ook veel gebruikt door defensie. Alle wagens van de verbindingsdienst zitten vol met reduntant CPU's van dat type... Grappig detail is dat het ZODIAC systeem in de jaren 80 door holland signaal (o.a.) ontwikkeld is, en momenteel nog steeds een van de meest geavanceerde (gebruikte) verbindingssystemen voor militaire doeleinden in het veld is..Nieuwer kan wel, maar ontwikkelen is erg duur, dus rekken ze dat spul tot net na de 3e wereldoorlog denk ik zo...

Ik heb inderdaad nooit (zelden) met de motorola serie gewerkt, ik was Sinclair-fan, begonnen met een ZX81, dagenlang overtypen uit tijdschrifen, tot de stroom uitviel of tot ik geld genoeg had voor een dictafoon, want daarmee werkte ie het best... ach... oude tijde herleven, en krijg het weer warm... :)

Maar goed, het is een beetje off topic... :)
Het is eerder omdat deze processors vele grotere transistoren hebben dan bv een p4. Grotere transistoren betekend dat er meer atomen nodig zijn, meer atomen betekend vervolgens dat er ook meer straling nodig is om een transistor kapot te krijgen. Er moeten immers meer atomen gesloopt worden.
Typisch NASA. Uitbrengen dat ze een Self Re-Pairing-processor hebben.
Echt nieuw is het niet. Onder Linux had men al software geschreven die de kapotte delen van een geheugenchip omzeilde, waardoor het systeem wel bleef werken.
Eigenlijk is dit hetzelfde, maar voor de effectiviteit hebben ze de processor aangepast zodat het meer effect heeft.
Briljant? nee. Effectief? Ja.
Niet echt vergelijkbaar. Bij de kapot-geheugen truc die in Linux zit (en die overigens ontwikkeld is door een student aan de UT) worden delen die stuk zijn gewoon uitgeschakeld (of eigenlijk: gemarkeerd als in gebruik door de kernel). Het beschikbare geheugen wordt dus kleiner: een verlies aan functionaliteit.
In het geval van deze NASA setup wordt de functionaliteit zelf hersteld door een versie van de oorspronkelijke functionaliteit. Dat is nogal wat anders. Dat is dan ook waar ik van onder de indruk ben: hoe bouw je een processor die een soortgelijke processor kan herprogrammeren om dezelfde functionaliteit te krijgen als hij zelf heeft, en dan ook nog kan testen of hij dat wel goed doet? Ohja, en daarnaast moet die processor ook nog andere nuttige dingen kunnen doen...
Als ze nou ook nog een zelfreparerend hitteschild hebben dan komt het helemaal goed. Tot nu toe is dat toch de oorzaak van een ramp en een bijna ramp met de spaceshuttle, niet de computer technologie. Die is meestal al in meervoud aanwezig voor het geval dat :)

Maar ik zie hier voor "aardse " toepassing ook wel wat in.
Het is ook niet zozeer voor de spaceshuttle bedoelt. Maar voor al die satelieten/meetrobots/verzin maar wat, wat in de ruimte hangt waar geen mens bij aanwezig is.
In een spaceshuttle is denk ik toch alles beschermt tegen straling, want anders zouden de astronauten het ook niet echt fijn vinden daar denk ik.
lijkt me redelijk onmogelijk...

je kunt niet zo even de warmte om een kapot tegeltje heen leiden :Y)
Maar wat als er een bitje scheef gaat in het reparatie-stuk?
(8>
Mja hoe weet iemand die gestoord is dat hij gestoord is wanneer hijzelf de enige is die het kan constateren?

"Quis custodiet ipsos custodes -- Who Will Guard the Guards"
Deze wordt tot dusverre bereikt door ruimtevaartuigen met meerdere processors uit te rusten, zodat als er een defect raakt de anderen het over kunnen nemen. Dit is echter niet meer dan een workaround en biedt dus geen definitieve oplossing.
En in plaats van hele processoren vervangen, losse circuits vervangen is geen workaround om het probleem dat processoren wel eens kapot gaan?

Alles is een workaround, behalve alles wat er voor zorgt dat die hele processor gewoon niet kapot kan gaan.

Processors zijn gevoelig voor straling. Als je de chip in Silicon On Sapphire (SoS) maakt, dan is hij al heel wat stralingsongevoeliger. Maar een beetje snelle processor schijn je daar niet mee te kunnen maken.

De enige processor die ik ken die in SoS gemaakt is, is de CDP1802. En dat is een 8-bits processor die ook nog eens niet al te efficient is. Een design uit 1977 geloof ik.

Daarbij heeft een processor altijd nog een programma nodig, bijvoorbeeld in ROM. En als je ROM kapot gaat, dan maakt het niet meer uit of je processor het nog doet.

Ik denk niet dat hier sprake is van een revolutie ofzo. Het is gewoon de volgende evolutionaire stap. Maar misschien dat dit wel in de toekomst tot iets revolutionairs zal leiden.
Persoonlijk vind ik deze oplossing niet echt de volgende stap in de evolutie van de computer.

Het artikel dat hier een tijdje terug gestaan heeft over een processor die zelf z'n instructieset aanpast, dat is naar mijn idee een veel betere stap in de evolutie.

Dit is meer iets in de trend van de huidige maatschappelijke controle: Laten we allemaal op elkaar letten, dan gaat 't prima :+
Mjah precies..

Hoe weet een gek of hij gek is wanneer hij helemaal alleen in een kamer zit.

Een beetje als het Juvenalis Dillemma.

"Quis custodiet ipsos custodes -- Who Will Guard the Guards"
Heb na het lezen van het artikel twee vragen:

1. Wat gaat er precies kapot aan een chip in de ruimte? Ook FPGA's kunnen kapot gaan lees ik:
Raakt er een defect, dan begint de andere hem in alle mogelijke configuraties te herprogrammeren totdat hij weer werkt
Wat als beide chips defect raken? Het blijft dan toch een workaround?

2. Waarom kunnen ze de chips niet beschermen (bijv. mbv een loden schild)? Chips zijn zo klein als lood zwaar is...
De kans dat ze allebei precies tegelijk defect raken is natuurlijk minimaal. En wanneer er een stuk gaat, wordt hij door de ander razendsnel weer in een werkende configuratie geprogrammeerd en kan dan de ander weer repareren als die kapot gaat. En verder ben je er met stralingsafscherming nog niet, want een chip kan ook overlijden aan gewone veroudering.
als ze nou eens 2 van die paren plaatsen, dan heb je een werkend paar
mocht er in een onwaarschijnlijk geval iets gebeuren dat ze allebij dood gaan zonder dat ze elkaar kunnen repareren, dan sprinkt het 2e paar in, die repareert het eerste paar, en blijft daarna gewoon werken, moch in een ander onwaarschijnlijk geval het 2e paar uitvallen, dan neemt het eerste paar weer over
en dan is de kans dat ze alle 4 uitvallen wel verwaarloosbaar.. als dat gebeurt blijft er ook niet veel van de sateliet of degelijke meer over denk ik :+ ( kid1988 denk aan armageddon 8-) en metiorieten storm o.d.)

edit..
de chips zijn nu ook al beschermd tegen straling, maar waar ligt de grens tussen de hoeveelheid straling, en het gewicht vande sateliet-(zietelaat) (en de kosten/mogelijkheid om hem omhoog te krijgen)
Ik denk dat ze wel meer dan twee chips zullen gebruiken.

[edit]
Zoals kid1988 hierboven al zegt |:(
Wat is dat eigenlijk 'Zelfreparend'? Betekend dat je opnieuw met jezelf de liefde bedrijft, of is hier sprake van een typo? :o
edit:
Zie dat het aangepast is naar zelfherstellend.
<div class="b4" style="position: relative; color: black; border: #C6C1B4 1px solid; width: 80%; padding: 5px; font-size: 12px;"><span style="color: C00042;">Admin-edit:</span>
Spel- en tikfouten kunnen op het forum worden gemeld in het Spel- en tikfoutjes topic in Frontpage Algemeen Forum.

Reacties onder een nieuwsitem met een dergelijke inhoud worden als offtopic en ongewenst beschouwd.
</div>
Eigenlijk is zelfherstellend een meer Nederlands correcte verwoording overigens.
Tsja voor het inloggen op het forum om typo's te melden heb je weer een apart loginID nodig... Bovendien was het resultaat van de typo in mijn ogen grappig, en, getuige de modoptie 'Grappig' en de Clown als smiley zijn grappig bedoelde posts niet ongewenst of verboden...

Maar ja, je bent Admin of je bent het niet... Je kunt moeilijk alleen koffie drinken op zo'n werkdag.
Dus dat doen die admins hier de hele dag... Zeer verrassend :+
@admin:
aan de beoordelingen te zien worden zulke reacties niet als offtopic en ongewenst beschouwd... :?

Op dit item kan niet meer gereageerd worden.



HTC One (M9) Samsung Galaxy S6 Grand Theft Auto V Microsoft Windows 10 Apple iPad Air 2 FIFA 15 Motorola Nexus 6 Apple iPhone 6

© 1998 - 2015 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