« Forum anonimo (sperimentale)

Datapath, istruzioni e somme

2 replies
Last
Salve,
Con alcuni miei colleghi, dopo un attento ripasso del Datapath, continuiamo ad avere un dubbio.
Tale dubbio riguarda le istruzioni che eseguono Due Somme durante la fase di fetch ed execute.
Ci chiedevamo in particolare quante somme esegua la jump (teoricamente 1 ovvero l'aggiornamento del program counter).
2 replies
  1. Re: Datapath, istruzioni e somme

    In realtà anche la jump esegue due add sullo stato 1 e sullo stato 2 (istruction fetch e istruction decode) della FSM, in quanto fasi comuni a tutte le istruzioni.

    1 reply
  2. Re: Datapath, istruzioni e somme

    Se vogliamo possiamo verificare sul diagramma FSM (dal Cap.5 sulla pagina del corso) quali stati generano il controllo "ALUOp = 00", cioè quali ordinano una add alla ALU:

    sono gli stati '0' e '1' (primo e secondo :), che sono attivati da tutte le istruzioni, jump inclusa. Il primo usa add per fare PC+4, sempre, e il secondo per fare PC+IR[15-0], sempre (in caso di beq è lo spostamento in caso di salto).

    L'unico altro stato che in FSM chiede add ad ALU è il '2', usato da lw e sw, dove si sommano il contenuto di un registro e dell'offset da IR.

    /Claudio Ferretti