Betere computerchips, sneller

Onderzoekers van de Universiteit van Michigan hebben software ontwikkeld die op fouten in chips jaagt en de beste manier voorstelt om ze te repareren. Hun aanpak pakt een groeiend probleem aan voor chipmakers als AMD en Intel. Naarmate transistors krimpen en chips complexere ontwerpen krijgen, komen hardwarefouten steeds vaker voor. Momenteel kan het tot een jaar duren om prototypechips te debuggen en klaar te maken voor massaproductie. De nieuwe software kan de tijd die nodig is om een ​​chip op de markt te brengen verkorten, kosten besparen door het aantal prototypes en testcycli te verminderen en uiteindelijk chips opleveren met minder fouten.





Digitale verdelger: Nieuwe software kan bugs in computerchips vinden en manieren voorstellen om ze te repareren, veel sneller dan technici die de traditionele handmatige aanpak gebruiken. De software kan miljoenen dollars aan prototypingkosten besparen en chips veiliger maken.

Dit is nog steeds een onopgelost probleem, zegt Rob Rutenbar , een professor in elektrische en computertechniek aan de Carnegie Mellon University, die eraan toevoegt dat er heel weinig wetenschappelijke literatuur is over het debuggen van silicium. Intel heeft misschien wat geavanceerde technologie, maar ze praten er niet over. Voor zover we weten, doen mensen het met de hand, zegt Rutenbar. Het gevoel dat ik krijg is dat het niet erg goed geautomatiseerd is.

Handmatig debuggen laat meer ruimte voor fouten. Vrijwel alle chips, inclusief microprocessors, zijn buggy, zegt Igor Markov , een professor in elektrotechniek en computerwetenschappen aan de Universiteit van Michigan. De website van Intel vermeldt bijvoorbeeld ongeveer 130 bekende hardwarefouten op commerciële laptops. De meeste kunnen worden opgelost met softwaredownloads, maar ongeveer 20 daarvan kunnen dat niet zijn, zegt Markov, en ze laten machines kwetsbaar voor virussen.

Markov en zijn collega Valeria Bertacco , hoogleraar elektrotechniek en computerwetenschappen in Michigan, ontwikkelde software die het probleem met het oplossen van bugs aanpakt nadat de eerste ronde prototypes is teruggekeerd naar de chipmaker. Als je een eerste versie van een chip hebt, is die nog niet klaar om aan de consument te geven, zegt Bertacco. Ingenieurs moeten proberen om er besturingssystemen en software op te draaien om te zien of het werkt, en dit proces kan een paar uur tot een week duren, afhankelijk van het aantal fouten in de chips.

Het is heel moeilijk om erachter te komen wat er mis is, zegt Bertacco. En zodra een ingenieur een bug heeft geïdentificeerd, wat van alles kan zijn, van draden die te dicht bij elkaar zijn geplaatst tot misplaatste transistors, is het niet altijd duidelijk wat de beste oplossing zal zijn. Vaak repareren ingenieurs één probleem om in de volgende ronde van prototypes te ontdekken dat hun oplossingen onbedoeld andere gebreken hebben toegevoegd. Prototypes kunnen maanden in beslag nemen om te bouwen, en ze zijn duur: het veranderen van de ontwerpen op de maskers die worden gebruikt om lagen van transistors en draden op de chips te modelleren, kost miljoenen dollars.

Wanneer een prototype momenteel terugkomt bij een chipmaker, sluiten ingenieurs het aan op elektrische sondes die er elektrische signalen doorheen sturen en de output registreren, legt Bertacco uit. Verschillende signalen gaan naar verschillende delen van de chip en door duizenden signalen uit te proberen, kunnen technici meestal een probleem lokaliseren. Vervolgens stellen ze een reeks mogelijke oplossingen voor. Soms moeten ze gewoon een verbinding tussen twee draden in een van de bovenste lagen van de chip verwijderen. Dit kan met behulp van apparatuur die in het laboratorium beschikbaar is en de chip kan snel opnieuw worden getest. Andere keren zijn fixes nodig op lagere lagen in de chip, waar de transistors logische poorten vormen. Deze transistoren zijn niet zo eenvoudig af te stellen en opnieuw te testen.

De onderzoekers uit Michigan schreven software die automatisch de elektrische input voor chips die worden getest specificeert en hun output analyseert om probleemgebieden te vinden. Idealiter zouden ingenieurs de output van elke transistor op een chip willen weten. Maar consumentenchips zullen binnenkort meer dan een miljard transistors hebben, waardoor zo'n nauwkeurig testen veel te tijdrovend zal zijn, legt Bertacco uit. Dus het Michigan-algoritme test een aantal ingangen over een groot deel van de chip. Op basis van de outputfouten weet het op welk deel van de chip hij zich moet concentreren, waardoor de zoektocht wordt beperkt tot een paar veelbelovende kandidaat-bugs, zegt Bertacco. Op een vergelijkbare manier identificeert de software manieren om de bugs op te lossen, door een reeks simulaties te doorlopen om een ​​ontwerpvariatie te vinden die de snelste en meest kosteneffectieve oplossing biedt.

Een van de grote voordelen van de aanpak van de onderzoekers uit Michigan, zegt Rutenbar, is dat hun software soms met contra-intuïtieve oplossingen kan komen. Een ingenieur, zegt hij, zou kunnen zien dat de logische manier om een ​​bug op te lossen is om een ​​aantal circuits opnieuw te bedraden. Maar de software kan zien wanneer het omdraaien van een paar draden hetzelfde resultaat oplevert. Als mensen ernaar kijken, is het helemaal niet duidelijk, zegt Rutenbar.

In casestudy's toonden de onderzoekers aan dat hun software ongeveer 70 procent van de belangrijkste siliciumbugs automatisch kan repareren, en ze beweren dat ze de tijd die nodig is om een ​​bepaalde bug te vinden, van weken tot dagen kunnen verminderen.

Intel houdt het werk in de gaten, omdat het altijd op zoek is naar betere manieren om het proces van het maken van chips te verbeteren. Debuggen van silicium is een serieus probleem, zegt Shekhar Borkar , een Intel-onderzoeker. Hij zegt dat Intel dezelfde soort technieken gebruikt als de onderzoekers uit Michigan, maar misschien in een andere vorm. Borkar voegt eraan toe dat er enige vooruitgang is in het [Michigan]-papier. Hij zegt dat het onderzoek in Michigan een goed begin is om het probleem op te lossen, maar dat het nog buiten het laboratorium moet worden bewezen.

zich verstoppen