> On May 28, 2012, 7:59 a.m., Steve Reinhardt wrote:
> > I'm fine with making FullSystem a property of the decoder, but all this 
> > mechanism to support both SE and FS in the same simulation seems like 
> > overkill at this point (and for the foreseeable future, IMO).  Can we just 
> > clean up the FullSystemInt part first, and worry about simultaneous SE/FS 
> > when we really need it?  There's clearly a performance cost here (though 
> > possibly a small one), and it also makes the code more complex.  Since the 
> > vast majority of instructions don't depend on the mode, either, I don't 
> > really like the idea of having completely separate decode caches like most 
> > ISAs do.  OTOH, I don't like the overhead of having to hash in and compare 
> > the FS bit on every decode lookup either.

Leaving out whether we were in full system or not as contextualizing state when 
decoding instructions was actually broken, so that part of the change is 
necessary. The performance cost was not measurable on x86. Having separate 
decode caches is an intrinsic part of the design we talked about before because 
se/fs has to be contextualizing information.

Also we don't *have* to have SE/FS in the decoder in the first place. Some ISAs 
(SPARC, for instance) take care of the SE vs. FS changes in behavior when 
handling the trap/exception/interrupt which is requesting a system call. When 
set up that way, the instruction objects themselves don't know which type of 
system they're part of. It gets a little more complicated when there are system 
call instructions which don't return Fault objects (X86 has these), but then we 
can just inject system call targets with pseudo instructions at them which 
invoke a system call in SE mode.


- Gabe


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/1229/#review2834
-----------------------------------------------------------


On May 28, 2012, 12:52 a.m., Gabe Black wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/1229/
> -----------------------------------------------------------
> 
> (Updated May 28, 2012, 12:52 a.m.)
> 
> 
> Review request for Default.
> 
> 
> Description
> -------
> 
> Changeset 9030:674d25baca5e
> ---------------------------
> ISA: Factor FullSystemInt out of the decoders.
> 
> 
> Diffs
> -----
> 
>   src/arch/alpha/decoder.hh 5851586f399c 
>   src/arch/alpha/decoder.cc 5851586f399c 
>   src/arch/alpha/isa/decoder.isa 5851586f399c 
>   src/arch/mips/decoder.hh 5851586f399c 
>   src/arch/mips/decoder.cc 5851586f399c 
>   src/arch/mips/isa/decoder.isa 5851586f399c 
>   src/arch/x86/decoder.hh 5851586f399c 
>   src/arch/x86/isa.cc 5851586f399c 
>   src/arch/x86/isa/decoder/one_byte_opcodes.isa 5851586f399c 
>   src/arch/x86/isa/decoder/two_byte_opcodes.isa 5851586f399c 
>   src/sim/full_system.hh 5851586f399c 
>   src/sim/root.cc 5851586f399c 
> 
> Diff: http://reviews.gem5.org/r/1229/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gabe Black
> 
>

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

Reply via email to