Een rekencyclus, ook wel machinecyclus of instructiecyclus genoemd, is het basisproces dat de centrale verwerkingseenheid (CPU) van een computer gebruikt om een enkele instructie uit te voeren. Het is een fundamentele bouwsteen van hoe een computer welke taak dan ook uitvoert. Hoewel de details enigszins variëren, afhankelijk van de CPU-architectuur, omvat de algemene cyclus doorgaans deze vier fasen:
1. Ophalen: De CPU haalt de volgende instructie uit het geheugen. Het adres van de instructie wordt bewaard in een speciaal register dat de Program Counter (PC) wordt genoemd. De instructie wordt opgehaald uit de door de pc opgegeven geheugenlocatie.
2. Decoderen: De CPU decodeert de opgehaalde instructie om te begrijpen welke bewerking hij moet uitvoeren en met welke gegevens hij moet werken. Dit omvat het opsplitsen van de instructie in zijn samenstellende delen (opcode en operanden).
3. Uitvoeren: De CPU voert de bewerking uit die door de instructie wordt gespecificeerd. Het kan daarbij gaan om rekenkundige berekeningen, logische bewerkingen, gegevensverplaatsing of wijzigingen in de besturingsstroom (zoals vertakkingen). De rekenkundige logische eenheid (ALU) is vaak nauw betrokken bij deze fase.
4. Opslaan: De CPU slaat het resultaat van de bewerking op in het geheugen of in een register. De programmateller (PC) wordt bijgewerkt om naar de volgende uit te voeren instructie te verwijzen.
In eenvoudiger bewoordingen: Stel je een recept (programma) voor. De rekencyclus is als het volgen van een enkele stap in dat recept:
* Ophalen: Lees de volgende stap in het recept.
* Decoderen: Begrijp wat de stap zegt dat u moet doen (bijvoorbeeld 'meel en suiker mengen').
* Uitvoeren: Voer de stap uit (meng de bloem en de suiker).
* Winkel: Zet het resultaat (gemengde ingrediënten) opzij.
Deze vier stappen worden continu herhaald, waarbij de instructies één voor één worden verwerkt, totdat het programma is voltooid. De snelheid waarmee deze cyclus wordt voltooid (gemeten in Hertz of cycli per seconde) is een sleutelfactor bij het bepalen van de algehele prestaties van de CPU. Moderne CPU's maken vaak gebruik van technieken zoals pipelining om de fasen van meerdere instructies te overlappen, waardoor de uitvoeringssnelheid aanzienlijk wordt verhoogd. |