När en instruktion utförs i ett program inträffar flera saker i processorn och minnet, beroende på instruktionens typ:
1. Hämta: Processorn hämtar instruktionen från minnet. Adressen till instruktionen hålls vanligtvis i ett register som heter Program Counter (PC). Instruktionen hämtas från minnesplatsen som PC:s pekas och placeras i ett internt register inom CPU.
2. Avkoda: Processorn avkodar den hämtade instruktionen. Detta handlar om att bryta ner instruktionen i dess beståndsdelar (opcode och operander). Opkoden anger operationen som ska utföras, medan operanderna identifierar de data som ska användas.
3. Kör: Processorn kör instruktionen. Detta innebär flera steg:
* aritmetiska/logiska operationer: Om instruktionen är en aritmetik (tillägg, subtraktion, etc.) eller logisk operation (och, eller, xor, etc.) utför processorn den angivna operationen på operanderna (som kan vara i register eller minne). Resultatet lagras vanligtvis i ett register.
* Dataöverföring: Om instruktionen är en dataöverföringsinstruktion (som "mov" eller "belastning") flyttas data mellan register, mellan ett register och minne eller mellan minnesplatser. Detta innebär att komma åt minnet för att läsa eller skriva data.
* Kontrollflöde: Om instruktionen är en kontrollflödesinstruktion (som "Jump", "gren", "samtal", "return") ändrar processorn värdet på datorn. Detta förändrar sekvensen av instruktioner som utförts. Detta kan innebära kontrollvillkor (t.ex. i en villkorad gren) och uppdatera datorn i enlighet därmed.
* Input/Output: Om instruktionen involverar ingång/utgång (I/O) interagerar processorn med perifera enheter (t.ex. tangentbord, diskenhet, nätverkskort). Detta innebär ofta att vänta på att I/O -operationen ska slutföras.
4. Skrivback (ibland): Resultatet av instruktionen kan skrivas tillbaka till minnet eller ett register. Inte alla instruktioner ändrar minne eller register.
Minnes roll:
* Lagring av instruktioner: Programmets instruktioner lagras i minnet.
* Lagring av data: Data som programmet fungerar på lagras också i minnet.
* Läsning och skrivning: Processorn läser instruktioner och data från minnet och skriver data tillbaka till minnet. Hastigheten för minnesåtkomst är en kritisk faktor i systemets totala prestanda. Cache -minne spelar en avgörande roll för att påskynda denna process.
Sammanfattningsvis involverar en instruktion en samordnad insats mellan processorns kontrollenhet (hämtning, avkodning, körning), aritmetisk logikenhet (ALU) (utför operationer) och minne (tillhandahåller instruktioner och data). De specifika operationerna i minnet beror på vilken typ av instruktion som utförs.