On Fri, 25 May 2012, Gabe Black wrote:
On 05/24/12 07:56, Nilay Vaish wrote:
Gabe, what performance improvements do you have in mind? We had
discussed before the possibility of the registers read/written by a
microop being decided at the time of construction of the microop,
instead of at compile time. From the discussion it seemed that we
would need to assess the execution time impact of such any such change
as it would probably affect all the ISAs.

--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Just finding a way to avoid the unnecessary register reads, ie the ones
for bits that aren't being set or read, which is what we talked about
before. If we can simply avoid the reads without changing the way the
CPUs work, then it shouldn't affect the other ISAs. We'll want to keep
the changes localized to the way the StaticInsts are set up, because
technically that's all that really needs to change.

I am still inclined towards changing the ISA parser. I think we need a mechanism so that unnecessary reads/writes are avoided only when the ISA explicitly asks for it. Right now I am thinking of introducing new functions like makeConditionalConstructor(), makeConditionalRead(), makeConditionalWrite(), that are used only when the microop being generated has some operand that can read/written conditionally. In this case, all the ISAs that do not want to make use of conditional operand read / writes will not be affected. And the StaticInst class would also not require any changes.

--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to