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
