Bättre datorchips, förr

Forskare vid University of Michigan har utvecklat programvara som letar efter brister i chips och föreslår det bästa sättet att fixa dem. Deras tillvägagångssätt tar itu med ett växande problem för chiptillverkare som AMD och Intel. När transistorer krymper och chips får mer komplexa konstruktioner blir hårdvarubuggar allt vanligare. För närvarande kan det ta upp till ett år att felsöka prototypchips och göra dem redo för massproduktion. Den nya mjukvaran kan förkorta tiden det tar att få ut ett chip på marknaden, minska kostnaderna genom att minska antalet prototyper och testcykler och i slutändan ge chip med färre brister.





Digital utrotare: Ny programvara kan hitta buggar i datorchips och föreslå sätt att fixa dem, mycket snabbare än ingenjörer som använder den traditionella manuella metoden kan. Programvaran kan spara miljontals dollar i prototypkostnader och göra chips säkrare.

Det här är fortfarande ett olöst problem, säger Rob Rutenbar , professor i el- och datorteknik vid Carnegie Mellon University, som tillägger att det finns väldigt lite vetenskaplig litteratur om felsökning av kisel. Intel kanske har någon sofistikerad teknik, men de pratar inte om det. För allt vi vet gör folk det för hand, säger Rutenbar. Känslan jag får är att det inte är särskilt väl automatiserat.

Felsökning för hand ger mer utrymme för fel. I stort sett alla chips, inklusive mikroprocessorer, är buggiga, säger Igor Markov , professor i elektroteknik och datavetenskap vid University of Michigan. Intels webbplats, till exempel, listar cirka 130 kända hårdvarubuggar på kommersiella bärbara datorer. De flesta kan fixas med mjukvarunedladdningar, men cirka 20 av dem kan inte vara det, säger Markov, och de lämnar maskiner sårbara för virus.

Markov och hans kollega Valeria Bertacco , professor i elektroteknik och datavetenskap vid Michigan, utvecklade programvara som tar itu med buggfixningsproblemet efter att den första omgången av prototyper har kommit tillbaka till chiptillverkaren. När du har en första version av ett chip är det inte redo att ge till konsumenten, säger Bertacco. Ingenjörer måste försöka köra operativsystem och programvara på den för att se om det fungerar, och denna process kan ta allt från ett par timmar till en vecka, beroende på antalet brister i chipsen.

Det är väldigt svårt att ta reda på vad som är fel, säger Bertacco. Och när en ingenjör har identifierat en bugg – som kan vara allt från ledningar placerade för nära varandra till felplacerade transistorer – är det inte alltid klart vad den bästa lösningen kommer att vara. Ofta reparerar ingenjörer ett problem bara för att i nästa omgång av prototyper upptäcka att deras lösningar oavsiktligt har lagt till andra brister. Prototyper kan ta månader att bygga, och de är dyra: att ändra designen på maskerna som används för att mönstra lager av transistorer och ledningar på chipsen kostar miljontals dollar.

För närvarande, när en prototyp kommer tillbaka till en chiptillverkare, kopplar ingenjörer den till elektriska sonder som skickar elektriska signaler genom den och registrerar utsignalen, förklarar Bertacco. Olika signaler går till olika delar av chipet, och genom att prova tusentals signaler kan ingenjörer vanligtvis lokalisera ett problem. Sedan föreslår de en rad möjliga lösningar. Ibland behöver de helt enkelt ta bort en anslutning mellan två ledningar i ett av de övre lagren av chipet. Detta kan göras med hjälp av utrustning som är lätt tillgänglig i labbet, och chippet kan snabbt testas igen. Andra gånger behövs fixar vid lägre lager i chippet, där transistorerna utgör logiska grindar. Dessa transistorer kan inte justeras och testas så lätt.

Forskarna i Michigan skrev programvara som automatiskt specificerar den elektriska ingången till chips som testas och analyserar deras utdata för att hitta problemområden. Helst skulle ingenjörer vilja veta utgången från varje transistor på ett chip. Men konsumentchips kommer snart att ha mer än en miljard transistorer, vilket kommer att göra sådana exakta tester alldeles för tidskrävande, förklarar Bertacco. Så Michigan-algoritmen testar ett antal ingångar över en stor del av chipet. Baserat på utmatningsfelen vet den vilken del av chippet den ska koncentrera sig på, vilket begränsar en sökning till några lovande kandidatbuggar, säger Bertacco. På ett liknande sätt identifierar programvaran sätt att fixa buggarna, genom att köra igenom en serie simuleringar för att hitta en designvariant som erbjuder den snabbaste och mest kostnadseffektiva lösningen.

En av de stora fördelarna med Michigan-forskarnas tillvägagångssätt, säger Rutenbar, är att deras mjukvara ibland kan komma med kontraintuitiva lösningar. En ingenjör, säger han, kanske ser att det logiska sättet att fixa en bugg är att koppla om ett antal kretsar. Men programvaran kan säga när du vänder några kablar kommer att få samma resultat. När människor tittar på det är det inte alls uppenbart, säger Rutenbar.

I fallstudier visade forskarna att deras mjukvara automatiskt kan reparera cirka 70 procent av större kiselbuggar, och de hävdar att de kan minska den tid som krävs för att hitta en viss bugg från veckor till dagar.

Intel håller ett öga på arbetet, eftersom det alltid letar efter bättre sätt att förbättra chiptillverkningsprocessen. Att felsöka kisel är ett allvarligt problem, säger Shekhar Borkar , en Intel-forskare. Han säger att Intel använder samma typ av tekniker som forskarna i Michigan, men kanske i en annan form. Borkar tillägger att det finns några framsteg i [Michigan] tidningen. Han säger att Michigan-forskningen är en bra början för att lösa problemet men fortfarande måste bevisas utanför labbet.

Dölj