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