blog placeholder

Ik werk iedere dag met een computer maar ik weet, net als de meeste mensen, niet hoe een computer eigenlijk werkt. Ik heb in het verleden nog wel eens een paar regeltjes Basic (programeertaal) geschreven maar ook dat was al een “mensen” taal met opdrachten als “IF”, “GOTO” en “END”. Ik ben daarom op internet op zoek gegaan en met wat ik gevonden heb zal ik in dit artikel proberen te beschrijven  hoe de fysieke computer, die als het ware onder een programmeertaal zit, werkt.

Hoe werkt een computer

Computertaal:

Het eerste wat ik heb gevonden is dat een computer in zijn microprocessor alleen binaire informatie kan verwerken in de vorm van negatief geladen, positief geladen of niet geladen transistors. Om als mens met deze drie waardes te kunnen werken noteren we dit als de toestanden 0, 1 of niets. Een computer werkt dus niet, zoals ik altijd gedacht heb met alleen maar nullen en enen maar ook met de toestand daartussen die “niets” heet.

Fysieke informatie verwerking:

Vervolgens ben ik gaan zoeken hoe een computer nu eigenlijk met deze binaire informatie alles kan berekenen. Om de basiswerking hiervan te kunnen begrijpen heb ik mijn vraag eerst beperkt tot de vraag “hoe kan een computer fysiek getallen optellen”. Ik ben dit gaan begrijpen toen ik bij toeval op het begrip “Turing machine”stuitte. http://users.compaqnet.be/stijn-heymans/Turing/AlanTuringnl.html Met behulp van deze theoretische machine blijkt het mogelijk om het optelproces van een computer te visualiseren.

Unaire berekeningen:

Uit de uitleg van de theoretische Turing machine blijkt dat een mechanisch apparaat, wat een computer ook is, alleen kan rekenen met unaire getallen. Unaire getallen zijn getallen die alleen met nullen en enen worden genoteerd bijvoorbeeld het getal 4 is unair 011110, het getal 10 is unair 011111111110 etc. Deze getallen moeten vervolgens als binaire informatie worden aangeboden zodat ze tussen twee lege posities in kunnen komen te staan die het begin en het eind van de te bewerken getallen aangeven.

Hoe werkt een computer

Optellen met een computer:
Het optellen met een computer gebeurt doordat je met de + toets de voor een optelling benodigde “code” (= de vastgelegde voorwaarden voor de “lees/schrijfkop” van de computer)  in werking stelt (zie afbeelding “in werking gestelde voorwaardes voor + bewerking”)  waarna de computer vervolgens volgens deze voorwaarden de twee unair ingevoerde getallen verwerkt. (zie afbeelding “Mechanisch unaire optelling van 2 + 3 = 5”). Deze “code”en alle andere “codes” voor andere bewerkingen staan in het zgn. RAM-geheugen.

Hoe werkt een computer

Werking optellen in een processor:
Het optellen in een processor gaat als volgt:
–  Je drukt op de 2 toets, de unaire waarde van 2 wordt nu als tijdelijke data op register 0001 (=1) geplaatst.
– Je drukt op de + toets, je geeft hiermee de computer de optelcode 00010101 (= decimaal voor het instructienummer 21).
– Je drukt op de toets 3, de unaire waarde van 2 wordt nu als tijdelijke data op register 0010 (=2) geplaatst.
– Als je vervolgens op de enter toets drukt voegt de computer de toetsinvoer samen tot de instructiecode 0001010100010010.

De betekenis van de instructiecode is; 00010101 (staat voor ADD (optellen)), 0001 staat voor  r1 (waarde ophalen van register 0001 (=1)) en 0010 staat voor  r2 (waarde ophalen van register 0010(=2)).

De processor haalt nu de waarde uit r1 en r2 op, telt ze bij elkaar op en plaatst het resultaat in een stukje tijdelijk geheugen. De instructiecode wordt vervolgens weer naar alle registers gestuurd en het register waar het voor bestemd is 0001 (r1), gaat in de luisterstand. Vervolgens wordt, als op de elektrische leidingen in de processor het getal voorbij komt voor register 0001 (r1), het getal vervangen dat 0001 (r1) bewaart door het berekende getal bestemt voor 0001 (r1) dat het voorbij ziet komen. Het getal dat berekend is, wordt vervolgens op de uitvoerleidinkjes gezet en weergegeven op het display (monitor).