Hi,
I'm new to the this simulator and because my work involves modifying some
component behavior of the core, I'm reading the code of the simulation
part. I'd appreciate if anybody can help me out.

I have a question regarding the Out-of-Order mis-prediction mechanism of
the simulator. It seems that the annulment procedure of an mis-prediction
appears twice in both the ReorderBufferEntry::issue() method (ooo-exec.cpp:
653) and ReorderBufferEntry::commit() method (ooo-pipe.cpp: 2094).

I know that the ReorderBufferEntry::issue() method annuls all the uop in
the ROB after the mis-predicted uop and the macro-op which comprises the
mis-predicted uop itself except that the mis-predicted uop is the end of
its macro-op. While ReorderBufferEntry::commit() is supposed to handle it.

But anyway in the ReorderBufferEntry::issue() the annulment is done once
for all the combination. Could anybody help me to understand why it is done
again in the commit stage instead of simply "commit" the mis-predicted uop?

Thanks in advance

Regards,
Sicong Zhuang

Graduate Student
Department of Computer Architecture
Univsersitat Politècnica de Catalunya
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to