« Forum anonimo (sperimentale)

Numero cicli di clock per istruzioni

1 reply
Last
Buongiorno, ascoltando la lezione del prof. Ferretti relativa alla pipeline, mi è sorto un dubbio: per le istruzioni, ad esempio la R-type, che esegue tutti i passaggi meno l'accesso in memoria ed impiegherebbe 4 cicli per essere eseguita in un canonico datapath multiciclo, nella pipeline "salta" l'accesso in memoria facendo arrivare mediante apposito bus il risultato al registro MEM/WB per il passaggio di write-back, ma tale operazione è immediata o si esegue al quarto ciclo? In sostanza, la R-type ci mette 4 o 5 cicli ad essere eseguita?
1 reply
  1. Re: Numero cicli di clock per istruzioni

    Buona domanda, tocca un dettaglio trascurato:

    se facciamo entrare più istruzioni in datapath pipeline, una ad ogni colpo di clock, bisogna evitare che arrivino a contendersi nello stesso momento la stessa sezione, quindi si accetta di perdere l'esecuzione corta che potremmo avere per alcuni tipi di istruzioni, e tutte vengono eseguite in 5 cicli, per poi uscire una ad ogni colpo di clock;

    quindi, ad esempio, il "salto" di MEM impiega comunque un colpo di clock, anche se della sezione MEM non usiamo niente e i dati arrivano inalterati (con appositi collegamenti) alla sezione successiva.

    /CF