Hello Everyone,

I have added new instructions in SE x86 ISA, this instructions are same as
MOV instructions in x86 and use the similar mnemonic defined in
/arch/x86/isa/microops/ldstop.isa i.e. Ld and St

For example:

defineMicroLoadOp('*Ldnew*', 'Data = merge(Data, Mem, dataSize);', 'Data =
Mem & mask(dataSize * 8);')


defineMicroStoreOp('*Stnew*', 'Mem = pick(Data, 2, dataSize);')


I have added a new flag "SPECIAL" in src/mem/request.hh, and also added

 bool *isSpecial*() const { return _flags.isSet(SPECIAL); } in same file to
identify this instructions in different cache levels.


I want to set this flag when I see this new mov instruction so I modify
ldstop.isa lines as


defineMicroLoadOp('Ldnew', 'Data = merge(Data, Mem, dataSize);', 'Data =
Mem & mask(dataSize * 8);*'mem_flags="Request::Special”*)


defineMicroStoreOp('Stnew', 'Mem = pick(Data, 2, dataSize);'
*mem_flags="Request::Special”*)




*My question is:*


   1. Are this steps enough to set a flag and use it in caches?
   2. Will this flag be deleted on own on response path(recvTimingResp in
   src/mem/cache/base.cc) i.e. on a cold miss to load when pkt is
   traversing from LLC to Dcache, will I be able to see this flag again in
   when pkt is the response?








Best regards,

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

Reply via email to