On 05/27/2011 03:42 PM, Ali Saidi wrote:
Normally, the hw that does an integer div or mul is very different the hw 
executes the fp version.    Float mult/div should probably be handled by a 
different unit.
I agree, but this doesn't matter for the simulator (since it's not simulating RTL but the architecture level). We could make a difference by creating different latency parameters for floating point and integer mul/divs.

Max
Ali

Sent from my ARM powered device

On May 27, 2011, at 7:09 AM, Maximilien 
Breughe<[email protected]>  wrote:

Hello,

I am using M5's inorder model (in ALPHA_SE mode).
I found out that the InOrderCPU::createBackEndSked only makes schedules for the 
MultDivUnit IF the instruction is an Integer multiplication/division. It 
doesn't do this for floating point mul/divs. Is there a special purpose for 
this?

Changing it to allow for fp mul/div only involves changing the following lines:
in cpu/inorder/cpu.cc in the function InOrderCPU::createBackEndSked:
---else if (inst->opClass() == IntMultOp || inst->opClass() == IntDivOp) {
        X.needs(MDU, MultDivUnit::StartMultDiv);

+++else if (inst->opClass() == IntMultOp || inst->opClass() == IntDivOp || 
inst->opClass() == FloatDivOp|| inst->opClass() == FloatMultOp ) {
        X.needs(MDU, MultDivUnit::StartMultDiv);

and similar lines in cpu/inorder/resources/mult_div_unit.cc (in functions 
MultDivUnit::getSlot, MultDivUnit::execute and MultDivUnit::exeMulDiv).


Kind regards,

Max
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to