Maken computers ook fouten?

En dan bedoel ik geen bugs, maar fouten in de hardware.

Dus, stel je telt 1 +1 bij elkaar op, kan er dan theoretisch 3 uitkomen, ook al is het programma bugvrij?

Weet jij het antwoord?

/2500

Computers zelf maken geen fouten. Ze zijn geprogrammeerd door mensen dus de fouten zijn menselijke fouten.

Ja dat komt voor, soms zijn er softerrors en dan is er een foutje, dan kan er een hapering optreden of zelfs een hangen van de computer... Met XP is dat niet meer mogelijk omdat die pre-emptive de programma´s voorziet van rekentijd... Maar het komt voor, soms is een geheugenbit dat net niet terug komt op tijd of inkomt op tijd... Het gebeurt soms inderdaad... Maar ook met dieren, computers hebben geen mensenlijke eigenschappen en kunnen daardoor geen fouten maken als stelregel...

Lees dit maar eens door. http://www.emery.com/1e/pentium.htm

Ze "maken" geen fouten, ze doen precies wat ze moeten doen omdat ze zo gemaakt zijn, en inderdaad omdat dat mensen werk is, zitten ook daar fouten in. De "1 + 1 = 3" fout komt heel snel aan het licht, en zal nooit uitgeleverd worden, de Pentium FDIV bug is echter wel zoiets... Daarnaast is het zo dat heel veel bugs met aanpassingen op het moederbord later nog wel gebypassed kunnen worden, Veel problemen zijn timing-problemen, die merk je als eindgebruiker niet. De NASA gebruikt daarom ook niet de nieuwste chip, simpelweg omdat alle problemen nog niet bekent zijn, en een ruimteschip kan je niet zo makkelijk patchen als het ergens in de ruimte hangt, vandaar dat ze liever technolog gebruiken waar ze de fouten van kennen.

Fouten in de hardware komen inderdaad voor. De fout in de multiplier (of was het de divider?) van een Intel-chip, een paar jaar geleden, was een berucht voorbeeld. Daar was de hardware van de processor fout ontworpen. Bepaalde berekeningen leverden daardoor de verkeerde uitkomst. Elke keer weer, omdat de fout in de processor zelf zat. Het is ook mogelijk dat er een "bit omvalt". Dat kan gebeuren door straling, die altijd aanwezig is. Als gevolg daarvan kan een verkeerde instructie worden uitgevoerd, of kan een getalswaarde veranderen. In de ruimtevaart, waar de computers heel veel kosmische straling tegenkomen, worden speciale "radiation hardened" chips gebruikt. Die zijn beter dan gewone chips bestand tegen straling. Daarnaast zit er als extraatje speciale EDC-hardware bij. EDC staat voor Error Detection and Correction. Als er één willekeurig bit omvalt, kan de EDC-hardware dat detecteren en automatisch corrigeren. De computer kan dan gewoon verder werken alsof er niets is gebeurd, want de fout is hersteld. Als er twee bits omvallen, is in sommige gevallen nog correctie mogelijk; in alle andere gevallen is er wel detectie mogelijk, maar geen correctie. Je weet dan dat er iets fout is, maar je kunt dat niet herstellen. In zulke gevallen reageert de computer in het algemeen met een voorgeprogrammeerde herstart. Als er drie bits tegelijk omvallen in hetzelfde geheugengebiedje, kun je dat soms niet eens meer detecteren, laat staan corrigeren. De kans dat dat gebeurt is echter zo minimaal, dat we dat voor lief nemen. Terug naar je vraag: ook op aarde komt er af en toe wel eens wat ioniserende straling voorbij. Die kan een bit van waarde laten veranderen. Aardse computers hebben geen EDC-hardware, dus de computer gaat gewoon door met de veranderde bits. In jouw voorbeeld kan het dan gebeuren dat de computer 1+1 uitrekent, maar dat net voordat de optelling gebeurt, één van de 1en in een 2 verandert. Dus in het geheugen zijn beide getallen 1, maar onderweg naar de processor veranderen ze in een 1 en een 2. De processor doet de optelling, en daar komt natuurlijk 3 uit. Of, iets waarschijnlijker: de computer telt keurig 1 en 1 op, en daar komt 2 uit. Voordat dat resultaat naar het geheugen wordt geschreven, zorgt ioniserende straling ervoor dat die 2 in een 3 verandert. Het resultaat van de optelling lijkt dan 3 te zijn. Dus zelfs met bugvrije programma's EN met bugvrije hardware zijn rekenfouten mogelijk.

Ja, ik had mijn processor een keer zoveel overclocked. Dat de processor zich eigenlijk 'voorbij' rekent, omdat hij het zo snel probeert te doen. Als gevolg hiervan gaf hij zelfs verkeerde uitkomsten bij Windows rekenmachine. Overigens vind ik dit heel vreemd, hoe kan in godsnaam de pc dan überhaupt nog opstarten?

Willekeurige fouten kunnen door invloeden van buiten zoals b.v. electronische straling en warmte voorkomen. En je hebt natuurlijk fouten die ontstaan door fouten tijdens het ontwerp van de hardware of software. Maar die fouten zouden reproduceerbaar moeten zijn.

Computers maken geen fouten. Mensen maken fouten. Zelfs als computers computers gaan maken zal het nog generaties duren voordat er een foutloze computer zal zijn. Kijk maar naar "The Matrix"

Het gekke is dat je bugs uitsluit. Het was juist een bug (een kevertje) die ervoor zorgde dat de toen gebouwde computer fouten begon te maken. Dus door externe factoren kunnen computers fouten maken. Maar fouten in de hardware werden en worden nog steeds gemaakt door een onzorgvuldige fabricage of ontwerp ervan, maar dat wordt steeds minder. Mensen en externe factoren kunnen er dus voor zorgen dat computers fouten gaan maken.

Stel zelf een vraag

Ben je op zoek naar het antwoord op die ene vraag die je misschien al tijden achtervolgt?

/100