1. Che cos'è il Pipelining?
Il pipelining è una tecnica di implementazione architetturale della CPU che consente l'esecuzione sovrapposta di più istruzioni sfruttando il parallelismo intrinseco del ciclo macchina. Invece di attendere il completamento totale di un'istruzione prima di iniziare la successiva (ciclo fetch-decode-execute sequenziale), la CPU suddivide l'elaborazione in stadi sequenziali indipendenti, dove ogni stadio lavora contemporaneamente su un'istruzione diversa.
2. Gli Stadi Fondamentali della Pipeline
In una classica architettura RISC a 5 stadi, il flusso di un'istruzione viene ripartito nelle seguenti fasi:
- IF (Instruction Fetch): Prelievo dell'istruzione dalla memoria cache delle istruzioni utilizzando il Program Counter (PC).
- ID (Instruction Decode): Decodifica dell'istruzione e lettura dei registri operandi necessari.
- EX (Execute): Esecuzione dell'operazione aritmetico-logica (ALU) o calcolo dell'indirizzo di memoria.
- MEM (Memory Access): Lettura o scrittura dei dati nella memoria RAM/Cache dati (se l'istruzione lo richiede).
- WB (Write Back): Scrittura del risultato finale all'interno del registro di destinazione della CPU.
3. Simulatore di Efficienza e Stadi di Pipeline
Seleziona una configurazione di pipeline o analizzane l'impatto sui cicli di clock necessari per completare le istruzioni.