Take the following from config.ini file, my understanding is here we defined 2 function units, both of them can execute IntMult and IntDiv type of instructions, and opLat defines how many ticks need to execute that instruction. Please correct me if my understanding is wrong.

My confusion comes from the meaning of issueLat. Does it define the latence from dispatch to issue? From my understanding about O3, after instruction decoding/ renaming, if operands are ready, instruction can be issued for execution. So that delay from dispatch to issue should not be constant, which depends on the number of ready instructions and the available execution units. Can anybody give me some hints regarding gem5 implementation of the o3 scheduler part? Really appreciate for any help.


[system.cpu.fuPool.FUList1]
type=FUDesc
children=opList0 opList1
count=2
opList=system.cpu.fuPool.FUList1.opList0 system.cpu.fuPool.FUList1.opList1

[system.cpu.fuPool.FUList1.opList0]
type=OpDesc
issueLat=1
opClass=IntMult
opLat=3

[system.cpu.fuPool.FUList1.opList1]
type=OpDesc
issueLat=12
opClass=IntDiv
opLat=12


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

Reply via email to