Hello,

I am looking at the AtomicSimpleCPU code in src/cpu/simple for x86 ISA. I
am trying to understand the following code snippet. Whenever this condition
is true for a given PC, it does NOT follow the regular fetch from the
instruction cache and then decode. This results in a macroop called
`Microcode_ROM`, which is not an x86 macroop that has a sequence of uops
(can be seen in the O3 CPU). Example: Instruction is:   Microcode_ROM :
ldst   t0, HS:[t0 + t6 + 0x20] (This is taken from the O3 logs running the
same workload by checking the same PC in the Debug logs).

I am not sure what this macroop is and what the benefit is from the code
below. Does this mean this instruction has no x86 machine instruction
binary? If it has an x86 instruction binary, how to get it?

if (isRomMicroPC(pc_state.microPC())) {

        t_info.stayAtPC = false;

        curStaticInst = decoder->fetchRomMicroop(

                pc_state.microPC(), curMacroStaticInst);

    }


Thanks,

--

*Best,Abdelrahman Hussein*
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to