Ciclo delle istruzioni macchina

Nell'informatica, quando si parla di ciclo macchina si fa riferimento all'esecuzione delle istruzioni da parte del microprocessore (la CPU). La CPU esegue le istruzioni macchina in maniera ciclica, secondo uno schema che fu concettualizzato da Von Neumann. Il modello concettuale del computer, il più famoso almeno, prende proprio il nome di Macchina di Von Neumann ed è stato già trattato in questo post.

cpu

Concettualmente, per poter eseguire un’istruzione la CPU deve effettuare diversi passaggi, denominati fasi. Le tre fasi principali di esecuzione delle istruzioni nel modello di Von Neumann sono:

  • fetch
  • decode
  • execute

In sostanza, la CPU deve recuperare l’istruzione in memoria (fase di fetch), deve decodificarla, ovvero capire di che tipo di istruzione si tratta a partire da una stringa binaria (fase di decode) ed infine esegue l’istruzione (execute). Queste fasi avvengono in maniera ciclica, coinvolgendo anche gli altri componenti dell’architettura. Ad esempio per poter sommare due numeri si devono recuperare tali numeri dalla RAM.

Affinché la CPU possa sincronizzarsi nell’esecuzione delle proprie operazioni è necessario un orologio interno, detto clock. Il ciclo di clock è appunto l’intervallo di tempo in cui la CPU svolge un’istruzione elementare, come ad esempio decodificare un’operazione o leggere un operando in memoria.

Il ciclo di clock si misura in Hertz. Per definizione, la frequenza è l'inverso del periodo e dunque 1Hz = 1/s. I moderni processori, per dare un’idea, hanno un ciclo di clock nell’ordine dei GHz, ovvero svolgono un’operazione elementare in un nanosecondo 1GHz = 1 * 109Hz.