De hardware bug, een overzicht

De hardware bug, een overzicht

Ingenieurs zijn net mensen, en maken daarom ook fouten (bugs). Een bekend voorbeeld hiervan was de zogenaamde millenium-bug, een softwarefout die rond de eeuwwisseling veel stof deed opwaaien. Een chip of microprocessor kan tegenwoordig miljoenen of miljarden transistoren bevatten. Omdat men lang niet alle toestanden vooraf kan bekijken, kan een bug in dergelijke systemen makkelijk over het hoofd worden gezien. Een overzicht van bugs in hardware.

De hype rond de millenium bug

De meest bekende bug in software is de de zogenaamde millenium-bug. De fout kwam hier en daar voor in computerprogramma's omdat men voor het opslaan van jaartallen slecht twee digits gebruikt had. Dit betekent dat het jaartal 1998 bijvoorbeed werd opgeslagen als 98. Op deze manier zou het jaartal 2000 voor de computer het jaar 00 zijn, wat voor software gelijk is aan het jaartal 1900. Een grove blunder natuurlijk, aangezien de gegevensverwerking van mensen en produkten met de verkeerde getallen moest rekenen.
In werkelijkheid kwam de bug niet zo heel veel voor, en leek het meer op een storm in een glas water. De media sprongen gretig in op het fenomeen, wat veel onnodige angst veroorzaakte. Een media-hype dus.

Hardware bugs

Hoewel dit voorbeeld een ernstige blunder genoemd mag worden, is het maken van bugs onlosmakelijk verbonden aan het ontwerpen van software en hardware. Hardware systemen zijn tegenwoordig zo complex dat men lang niet alle toestanden kan bekijken waarin het systeem zich kan bevinden. Tijdens het ontwerp-proces bekjkt (simuleert) men zoveel mogelijk globale toestanden, en kritieke situaties. Zo bekijkt de zogenaamde corner simulation het gedrag van een ontwerp terwijl drie parameters worden gevarieerd: de temperatuur, de voeddingsspanning, en de gebruikte technologie. Elk van de drie parameters kan drie waarden aannemen, wat betekent dat het systeem zich in 3³ = 27 toestanden kan bevinden.

Dit zijn slechts variaties in de omgeving van een chip of microprocessor. Binnen een ontwerp van complexe schakelingen kunnen ook fouten en gevaren voorkomen in de functionaliteit, zoals:
  • Asynchroniteit
  • Meerdere klok-systemen
  • Timing-problemen
  • Vermogens-distributie

Digitale circuits werken met een klok-signaal, wat als de motor van de schakeling kan worden beschouwd. Op de overgang van '0' naar '1' (of andersom), een zogenaamde klok flank, worden alle geheugen-elementjes (flipflops) in het circuit ge-update. De cicrcuits die tussen de flipflops in liggen, voeren de signaalbewerkingen uit. Deze bewerkingen moeten snel genoeg zijn om voor de volgende flank een stabiel uitgangs-signaal te hebben. Timing problemen onstaan wanneer de tussenliggende circuits te langzaam of juist te snel zijn. De flipflops krijgen dan de verkeerde informatie aangeleverd. Een asynchroniteit treedt op wanneer de operaties niet synchroon met het klok-signaal verlopen. Het kan bijvoorbeeld zijn dat het klok-signaal bewerkt is, en dat er daardoor ongewenste pieken voorkomen. Een dergelijk piek (spike of glitch) zet de flipflops in de verkeerde toestand op het verkeerde moment.
Wanneer meerdere klok-systemen worden gebruikt, moet men bij de informatieoverdracht tussen de domeinen zeer nauwkeurig te werk gaan. De klok-signalen kunnen namenlijk totaal uit de pas lopen met elkaar. Een verkeerd ontwerp betekent dat het systeem informatie verliest bij de domein-overgang.
Tenslotte is de vermogens-distributie een mogelijke bron van fouten. Een in werking zijnde chip trekt een grote hoeveelheid stroom. Binnenin een ontwerp dient het aanbod van deze stroom (of spanning) goed verdeeld te zijn. Wanneer een circuit-gedeelte niet genoeg stroom kan trekken, zal dit ten koste gaan van de snelheid of performance.

Naast deze typische ontwerpfouten en gevaren kunnen er ook fouten gemaakt worden in het productieproces:
  • Fabricagefouten
De grote chipfabrikanten zijn tegenwoordig al in staat om sporen van onder de 50 nanometer (10E-9 meter) in silicium te schrijven. Stofdeeltjes of ongewenste trillingen kunnen fouten veroorzaken tijdens dit proces. Men heeft testen ontwikkeld om chips op fabricagefouten te testen, de zogenaamde scan test (of stuck-at test). Zo'n test probeert alle knooppunten in een ontwerp te laten schakelen, en doet daar uitspraken over in de vorm van een percentage. Op deze manier worden chips na fabricage op een snelle wijze op fabricagefouten getest.
© 2009 - 2012 Tronic, gepubliceerd in Geschiedenis (Electronica) op . Het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming van Tronic is vermenigvuldiging van dit artikel verboden. Meer informatie…

Gerelateerde artikelen
BIOS, wat is dat? Het BIOS is naast de processor het brein van elke computer. Door het BIOS weet uw computer hoe hardware…
Chrome - informatie over bugs Google Chrome is nog maar net beschikbaar om te downloaden en de eerste bugs zijn al bekend…
Anti spam appliance Mailtjes van mensen die je niet kent, vaak beginnende met ‘Dear friend’. Wie kent ze niet? Wie veelvu…
Microprocessor basisbegrippen Een beschrijving van de opbouw van een microprocessor. Uitleg van de basisbegrippen cpu, pr…
Nintendo Wii laten ombouwen Informatie over het laten ombouwen van een Nintendo Wii vindt u hier: De voordelen en nadelen…

Reageer op het artikel "De hardware bug, een overzicht"

Er zijn nog geen reacties geplaatst op dit artikel.
Infoteur: Tronic
Rubriek: Electronica / Geschiedenis
Schrijf mee!