Hoe werken computers echt?
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
Ik zit op een hotelkamer in Aberdeen, zonder computer. Dus coderen is wat lastig en ik werk liever niet met code die door AI is bedacht en niet eens getest door mezelf. Dus even een zijstapje. Het doel van C leren was niet zozeer C leren, maar beter begrijpen hoe computers werken en wat dus goed werkt en wat niet.
Het probleem hier is dat je beeld nodig hebt om dit goed te beschrijven. Gelukkig vond ik op YouTube iemand die bijzonder helder laat zien hoe de meest basale eenheid van een computer, een transistor of schakelaar, wordt gebruikt. Als je alle abstractieniveaus weg laat, is de transistor wat overblijft. En ja, ik weet dat aan quantum computers wordt gewerkt, maar zolang die niet in de winkel liggen als laptops, negeer ik die verder.
Een transistor is een elektronische component die kan dienen als versterker en als schakelaar. Computers gebruiken die laatste rol. Van een schakelaar kan je logische poorten bouwen. Een logische poort is dus een eerste abstractie van een groepje transistors. Een logische poort vertaalt een of meer input-signalen naar een output-signaal. De werking wordt vaak in tabellen geplaatst. Zo kan de AND en de OR poort worden beschreven als:
A |
B |
A AND B |
A OR B |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
De NOT poort vertaalt een 0 naar een 1 en een 1 naar een 0. Heb je daar veel aan? Op zichzelf wellicht niet, maar met deze logische poorten bouw je alle logica die een computer te bieden heeft, inclusief geheugen.
Als je deze link volgt, kom je bij een filmpje dat in goed begrijpelijk detail, wel in hoog tempo, laat zien hoe je van een stel logische poorten een geheugeneenheid maakt.
Deze kennis is niet noodzakelijk om C te leren, maar het helpt wel. En als je computers echt wilt begrijpen, dan durf ik wel te stellen dat dit essentieel is.
Gerelateerd
Undefined behavior
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
Het huiswerk
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
De basisopbouw en een eerste opdracht
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
Wat hebben we gedaan, wat gaan we doen?
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
De computer klaar maken
Arnout van Kempen schrijft in deze rubriek over pret maken met computers. Hij gooit het na een reeks over Pascal over een andere boeg en gaat aan de slag met C.
