Cosa riceve l'output dell'ALU?

3

So che l'Arithmetic Logic Unit (ALU di un processore esegue operazioni aritmetiche (e bit a bit) e il risultato è memorizzato come output dell'ALU - ma quale componente, dispositivo o software sta effettivamente accedendo / utilizzando l'output di una ALU? Ed è valido dire che l'ALU restituisce il risultato di un'operazione o sarebbe sbagliato?

    
posta asd 12.02.2018 - 00:00
fonte

1 risposta

4

Dipende molto dal design del processore; tuttavia, in generale, direi che l'output ALU di un'operazione richiesta è temporaneamente disponibile e dipende dall'istruzione eseguita:

  • l'output ALU viene catturato all'accumulatore o
  • in un particolare registro o
  • inviato anche al bus dati (ad esempio per un'operazione di scrittura in memoria) o
  • inviato all'ALU come input per un'altra operazione, o
  • semplicemente ignorato!

Riguardo l'ultimo, non tutte le istruzioni fanno una richiesta dell'ALU - considera un'istruzione di ramo, forse, che ha il suo modo di calcolare il nuovo valore del pc che non coinvolge l'ALU. Tuttavia, anche quando non è in uso, l'ALU è ancora lì e ha ancora linee di output, solo che il meccanismo di cattura / inoltro è configurato per non fare nulla con l'output.

Sì, quindi parliamo di un'istruzione macchina che fa ADD r3,r1,r2 dove r1 & r2 sono fonti del file di registro e r3 è un obiettivo nel file di registro.

Registra r3 sarà (in un ciclo corretto quando il risultato ALU è noto per essere letto) essere commutato in una modalità di acquisizione e l'uscita ALU sarà reso disponibile per le righe di dati del file di registro. Al prossimo clock, l'output ALU sarà catturato in r3 .

Se l'istruzione era stata "LOAD r3, ...", sarebbe avvenuta la stessa abilitazione di acquisizione, ma il valore del bus dati sarebbe stato reso disponibile per le righe di dati del file di registro invece che per l'ALU.

Successivamente, se viene eseguito un STORE r3,... , il valore in r3 verrà inserito nel bus dati per la scrittura in memoria.

Il file di registro è "ported". Può avere più porte di lettura e / o scrittura. Ogni porta consente l'accesso al file di registro nello stesso ciclo. Quindi, due porte di lettura e una porta di scrittura significherebbe che due registri diversi possono essere letti nello stesso ciclo e che uno può essere scritto nello stesso ciclo.

    
risposta data 12.02.2018 - 00:28
fonte

Leggi altre domande sui tag