Domanda

Volevo sapere come il processore fa moltiplicazione in un multi-ciclo di dati-cammino fin dall'inizio cioè da insegnamento della lettura -> decodifica del instruction-> lettura dei file di registro, ecc

In altre parole ho voluto sapere che dato algoritmo della cabina per la moltiplicazione implementato separatamente (un circuito è dato) come intende estendere il data-percorso multi-ciclo per sostenere l'istruzione si moltiplicano utilizzando risorse minime.

Si può dire per la divisione anche?

È stato utile?

Soluzione

Un altro buon collegamento è il nucleo microprocessore opensource OpenFire, variante / analogica MicroBlaze (che si basa su DLX) qui:

http: // OpenCores .org / websvn, messa in vendita? repname = openfire_core & path =% 2Fopenfire_core% 2Ftrunk% 2Fopenfire_top_syn% 2Fhdl% 2Fverilog% 2F # path_openfire_core_trunk_openfire_top_syn_hdl_verilog_

Una parte del percorso dati per l'unità ALU e moltiplicatore è nel file di openfire_primitives.v.

Manuale di DLX datapath con buona spiegazione di gasdotto bancarelle e bolle è

http://www.cs.iastate.edu/~ Prabhu / Tutorial / PIPELINE / hazards.html

E c'è informazioni ops mulitcycle (DLX)

http://www.cs.iastate.edu/~ Prabhu / Tutorial / PIPELINE / multicycle.html

Quindi, operazione che possono soggiornare in pipeline (bisogno di più zecche) inserirà bancarelle (o bolla) a pipeline. Si può pensare a questo come fermare tutte le fasi della pipeline di oltre EX, che fanno un'operazione a lungo per diversi tisks.

Un'altra unità Mul / Div di opensource Verilog è qui: http://opencores.org/ websvn, filedetails? repname = OpenRISC & path =% 2Fopenrisc% 2Ftrunk% 2For1200% 2Frtl% 2Fverilog% 2For1200_mult_mac.v

Altri suggerimenti

Per la semplice moltiplicazione CPU sarà sulla fase EX della conduttura CPU. Così Fetch istruzione, decodificarlo, Chiedi RegisterFile per operandi di ingresso, Esegui moltiplicazione reale sul ALU.

Dipende ALU variante, moltiplicazione può prendere 1 ciclo CPU o più (con memorizzazione delle somme parziali di ciascun ciclo CPU, allora sarà l'EX0, EX1, EX2 ecc fasi della conduttura CPU). ALU lento può essere pipeline, così Darà risultato prima operazione in N zecche, e inizia a diverse operazioni ogni M

I vari hardware varianti dei moltiplicatori si può ottenere sulla pagina http://www.aoki.ecei.tohoku.ac.jp /arith/mg/algorithm.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top