Hi everyone,

I was trying to keep the trace of the integer and floating register files
in ALPHA_SE mode..

I was able to get data by using readIntReg(PhysRegIndex reg_idx) function
in regfile.hh , but when I tried to access floating point register file I
have found two functions  to read the floating point register file.. The
functions are:

FloatReg readFloatReg(PhysRegIndex reg_idx)
FloatRegBits readFloatRegBits(PhysRegIndex reg_idx)

My first question is what is the difference, one of them returns "double"
and one of them returns "uint64_t" data type..

I tried to use both of the functions but I get assertion fail in line 114
of regfile.hh.. I didn't understand the line causes assertion fail in
readFloatRegBits() and readFloatReg() functions:

 // Remove the base Float reg dependency.
        reg_idx = reg_idx - numPhysicalIntRegs;

        assert(reg_idx < numPhysicalFloatRegs + numPhysicalIntRegs);

Why the code subtract the numPhysicalIntRegs from the reg_idx?
Does 'reg_idx' start from the number where numPhysicalIntRegs ends? For
example, my Integer and Floating register files have 128 registers.. So
when accessing FP registers, do I need to start the index from 128?

Thanks in advance,
Burak


-- 
*Mehmet Burak AYKENAR
Graduate Student of Computer Engineering
Research Assistant
**TOBB ETU Z-10
Microprocessors Laboratory*
*
mbaykenar.etu.edu.tr
[email protected]*
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to