Hoe werkt een microprocessor?

Daniel, 17 jaar
6 oktober 2013

Hallo,
Ik zou graag weten hoe een microprocessor werkt. Op internet vind je allemaal zaken zoals ALU, cache,..
Maar wat is het eigenlijk? En hoe werken ze samen? Hoe zijn ze verbonden ? Hoe wordt het in mekaar gezet (elektrisch schema)?

Op internet vind je meestal hoe het werkt maar in het algemeen. Ik zou graag kunnen begrijpen hoe het in mekaar zit.
Als u meer informatie nodig heeft zeg het maar!
Alvast bedankt

Antwoord

Laten we het hier eerst hebben over een 'gewone' microprocessor.

Een microprocessor is een elektronische schakeling die bestaat uit vele logische schakelingen. Een logische schakeling is bv. een AND-poort (de uitgang is '1' als alle ingangen '1' zijn), of bv. een OR-poort (de uitgang is '1' als één of meerdere van de ingangen '1' is/zijn). En zo komen we aan de basis van een microprocessor: deze werkt enkel met '1' en '0'. Een '1' is bv. 5 volt (of ongeveer), een '0' is bv. 0 volt (of ongeveer). De nieuwe microprocessoren werken nu met lagere spanningen (3 volt of 2.4 volt). Het gaat dus over een ingang of uitgang - een draadje verbind de ingangen en uitgangen met elkaar - en worden in groep gebruikt - meestal in veelvoud van 8. Zo spreken we van een 4-bit processor, of 8-bit, of 16 bit, of 32 bit of 64 bit. Een 'bit' is net zo één draadje/ingang/uitgang die '0' of '1' kan zijn.

De microprocessor kan met die bits heel veel doen: logische dingen doen (bv. testen of 8 bits allemaal 0 zijn, testen of de getalwaarde van een groep bits groter/kleiner/gelijk is dan een andere groep bits) - bij de getalwaarde van een groepje bits 1 optellen of aftrekken - berekeningen maken (als basis is dit optellen, aftrekken, en ook vermeningvuldigen, delen) van een groepje bits met een andere groepje bits - deze bits bewaren of onthouden (geheugenwerking) - deze bits opschuiven, naar links of rechts of roteren - een bit op '0' of op '1' plaatsen - testen of een bit '0' of '1' is - enz ... De kracht van een microprocessor is net de hoeveelheid van zo'n basisbewerkingen die hij kan doen, en natuurlijk ook afhankelijk van de groep bits die hij in 1 keer kan verwerken, en ook de snelheid waarmee de processor dit kan doen. Speciaal is dat een processor een 'interrup' of onderbreking kan ondergaan. Dat is als het ware een 'noodsituatie' die hij kan uitvoeren (bv: op een toets duwen).

Deze groep bits kunnen wij beschouwen als een decimaal getal. Zo is de getalwaarde van 00000010 gelijk aan het decimaal getal 2, 00000011 = 3, 11111111 = 255. Als de processor met 64 bit werkt, dan kan je met decimale getallen tot 16 exabyte of in de orde van 16.000.000.000.000.000.000 (20 cijfers) werken.

De snelheid van een microprocessor kan oplopen tot 4 Ghz, dat zijn in principe 4.000.000.000 bewerkingen per seconde. Als wij mensen 1 bewerking per seconde zouden kunnen doen, dan hebben we daar 130 jaar voor nodig.

Een microprocessor kan dus heel vlug met grote getallen rekenen, daar komt hij nooit moe van, hij komt daar alleen maar warm van door de vele ingangen/uitgangen die '0' of '1' moeten komen (elektrisch verbruik). Daarom moet een microprocessor gekoeld worden met bv. een ventillator.

Deze schakeling, wat ik daarnet beschreven heb, noemen we een core. Zo bestaan er nu processoren die tot 10 zo'n cores naast elkaar hebben, en zodoende ook 10 dingen tegelijk kunnen uitvoeren. Weet ook dat de huidige grootstse processoren tot 1400 pinnetjes (ingangen en uitgangen) kunnen hebben en dat ze intern tot meer dan 1 miljoen transistoren bevatten.

Als we het terug over de processor zelf hebben, dan worden de verschillende bewerkingen via een 'instructie' aangesproken. Een instructie is een opdracht die je aan de processor kan geven, bv: tel 2 getallen op. Zo'n instructieset vormt de basis van een programma. Via een programmateller (adres) wordt dan instructie na instructie uitgevoerd. Deze instructies worden onthouden in het intern geheugen van de processor (cache) of het extern geheugen van een computer. Een processor kan dus in principe maar 1 bewerking/instructie per keer doen (wel heel vlug na elkaar). Zo'n programma noemen we software. Daarmee zeggen we wat de processor moet doen. Een computerprogramma is dus een manier om aan de processor te melden wat hij allemaal moet doen.

Zo kan er ook met teksten gewerkt worden (een karakter kan je met '0' en '1' voorstellen - bv: een 'a' wordt voorgesteld als 11000001), zo kan er ook grafisch gewerkt worden (een lijntje heeft een begincoordinaat (bv: 100010001000) en een eindcoordinaat, ieder kleur kan ook voorgesteld worden met '1' en '0' (met 24 bits kan je 16 miljoen kleuren voorstellen), enz ...

Er bestaan nu ook veel ingewikkelder microprocessoren. Deze kunnen allerhande speciale bewerkingen doen ... maar het principe blijft hetzelfde. Een microprocessor is dus niet 'slim', hij kan alleen maar heel vlug logische bewerkingen doen met veel '1' en '0' en is nooit moe zolang hij voldoende elektriciteit (bv. 5 volt en 1 ampere) krijgt en gekoeld wordt :-)

Reacties op dit antwoord

  • 07/10/2013 - Daniel (vraagsteller)

    Alvast bedankt voor de uitleg :) Maar zou ik nog iets kunnen vragen, zou u mij een voorbeeld kunnen geven van een schema van een microprocessor (8 bits) ? Zodanig dat ik het beter kan begrijpen hoe de instructie werken.

  • 14/10/2013 - Daniel (vraagsteller)

    Hallo Rik, Alvast bedankt voor je reactie. Maar toch heb ik nog een vraag. Zou u mij een schema van een microprocessor van 8-bits eens tonen om te kunnen zien hoe het werkt. Hoe een computer weet dat er met deze instructie, dat moet gebeuren. Bedankt.

  • 14/10/2013 -  (wetenschapper)

    Beste, Door enkel een schema te tonen zal je niet veel wijzer worden. De uitleg hoe alles verloopt uitgaande van een instructie is echt lang om hier te typen. Dat kan je terugvinden in databoeken van zo'n processoren. In het kort: een programmateller zegt waar de volgende instructie in het geheugen staat, deze wordt opgehaald via adreslijnen en datalijnen en naar de processor gestuurd. deze voert dan de instructie uit en dan wordt naar een volgende instructie gesprongen via de programmateller.

Enkel de vraagsteller en de wetenschapper kunnen reageren op een antwoord.

Beantwoord door

ing. Rik Hostyn

Elektronica-ICT

Katholieke Hogeschool Vives
Doorniksesteenweg 145 8500 Kortrijk
http://www.vives.be

Zoek andere vragen

© 2008-2023
Ik heb een vraag wordt gecoördineerd door EOS vzw