问题
Does CS:IP use the MSROM? Because it needs to decode to an instruction that checks the segment cache to see whether or not it is present and instructions to read the segment base from the cache, otherwise it jumps to instructions that fetch it from memory and perform the address calculation. Otherwise I suppose it could be done by the AGU and it gets decoded to something that the AGU recognises. If this were the case then the AGU would have to have the ability to insert loads in the load buffer which I think is what the PMH does. I'm pretty sure that segment registers get renamed but I'm not sure whether it renames them as separate registers from the MSROM routine or it renames a compound instruction that the AGU could recognise.
Also, If the MSROM is used, it raises yet another question I'm not sure of and that's conditional jump instructions in the MSROM procedure which is made complicated by the fact that MSROM instructions do not have an RIP. I suppose if the decoders themselves check the segment cache then the jump would be avoided and the correct MSROM routine would be issued.
来源:https://stackoverflow.com/questions/55813026/does-csip-use-the-msrom