Schema architetturale a blocchi di un generico processore

In informatica ed elettronica, il ciclo macchina o ciclo fetch-decode-execute è un algoritmo che descrive in via generale e semplificata il funzionamento dei processori. Viene utilizzato in modo particolare come riferimento iniziale nella progettazione di CPU.

In termini generali un processore è una macchina a stati finiti che esegue a ciclo continuo la stessa sequenza di tre operazioni:

  • recupero di un'istruzione (instruction fetch) dalla memoria programma;
  • decodifica (decode) ovvero "interpretazione" dell'istruzione ed attivazione delle funzioni associate;
  • esecuzione (execute) dell'istruzione e memorizzazione del risultato.

L'esecuzione comporta l'invio di segnali di controllo a un certo numero di unità interne del processore, a seconda dell'istruzione da eseguire. Alla fine del processo il Program Counter (PC) viene incrementato per puntare all'istruzione successiva (se presente).

Descrizione

modifica
Diagramma di flusso del ciclo macchina

Fase 1: Recupero dell'istruzione

modifica

All'inizio di ogni ciclo la CPU carica l'istruzione da eseguire facendo riferimento al Program Counter (PC), ovvero il registro che tiene traccia dell'istruzione da eseguire. Il codice dell'istruzione viene così trasferito dalla memoria programma mediante Data Bus nel Memory Data Register (MDR). Il valore dalla MDR è poi depositato nell'Instruction Register (IR), un circuito che trattiene l'istruzione temporaneamente così che possa essere decodificata ed eseguita. Il Program Counter aumenta di 1 l'indirizzo contenuto in memoria (ad esempio da 1000 passa a 1001), per indicare che la prossima istruzione sarà contenuta all'interno di questa nuova cella di memoria.

Fase 2: Decodifica

modifica

La CPU legge l'indirizzo dalla memoria principale se l'istruzione ha un indirizzo indiretto. Dopodiché carica i dati richiesti dalla memoria principale per poi essere processati e depositati all'interno dei registri. Dall'Instruction Register, l'istruzione è decodificata dall'Unità di Controllo (Control Unit). Eventuali indirizzi di memoria in cui leggere o scrivere dati sono contenuti nel MEM register, un ulteriore registro oltre l'Instruction Register.

Fase 3: Esecuzione

modifica

A questo punto, se l'istruzione decodificata è tale da portare i dati memorizzati precedentemente nell'Instruction Register all'interno dei registri della ALU, i dati possono essere manipolati da quest'ultima: in generale il dato nuovo viene scritto mediante "scrittura distruttiva" in uno dei registri stessi della ALU, il che comporta la perdita eventuale di dati precedentemente memorizzati nello stesso registro. Nel caso invece l'istruzione non prevedesse la manipolazione, ma solo la scrittura di una cella o la sua lettura, l'ALU non viene interpellata. Se l'azione è terminata con successo, il ciclo può allora ricominciare.

Bibliografia

modifica

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Stuart Hall

scritti più rilevanti del sociologo britannico, intitolato Encoding and decoding in the television discourse (1973). Nel 1979 Hall abbandonò il Centro e

Samantha Morton

Stanton (2012) Cosmopolis, regia di David Cronenberg (2012) Annie Parker (Decoding Annie Parker), regia di Steven Bernstein (2013) Miss Julie, regia di Liv

Annie Parker

Annie Parker (Decoding Annie Parker) è un film del 2013 diretto da Steven Bernstein. Il film ripercorre la storia di Annie Parker, una donna colpita più

Benjamin McKenzie

Adventures in the Sin Bin, regia di Billy Federighi (2012) Annie Parker (Decoding Annie Parker), regia di Steven Bernstein (2013) Goodbye World, regia di

ISO 3166-1 alpha-2

Commons contiene immagini o altri file su ISO 3166-1 alpha-2 (EN) ISO 3166-1 decoding table, su iso.org. Portale Geografia: accedi alle voci di Wikipedia che

Maccartismo

2000, ISBN 1-56663-091-6. Haynes, John Earl and Klehr, Harvey, Venona: Decoding Soviet Espionage in America, Yale University Press, 2000, ISBN 0-300-08462-5

Macchina di Anticitera

Crawley, P. Hockley, T. Malzbender, D. Gelb, W. Ambrisco e M. G. Edmunds, Decoding the ancient Greek astronomical calculator known as the Antikythera Mechanism

Rashida Jones

(Celeste and Jesse Forever), regia di Lee Toland Krieger (2012) Annie Parker (Decoding Annie Parker), regia di Steven Bernstein (2013) Cuban Fury, regia di James