我的印象是,在查看u-op缓存一段时间后,每个微操作都是8个字节,但是我的问题是所有微操作的大小都一样,甚至是融合域微操作吗?
最佳答案
x86芯片供应商未记录此细节。但是,微指令必须足够简单,以便可以在一个周期的一小部分内对其进行解码。这与x86指令相反,在x86指令中,一条指令至少需要解码一个周期(尽管可以在同一周期中解码多个指令)。因此,用相同的格式制作相同大小的微指令将大大有助于实现这一目标。我认为大多数x86处理器上的融合域和非融合域oups的大小都相同。在Intel处理器中,取决于uop是否具有立即数和/或位移操作数,uop缓存中的oups可以具有不同的大小。另一方面,IDQ可以容纳固定数量的微指令,而没有关于微指令的条件的限制,这表明IDQ中的每个微指令都占用相同的空间量。融合域uop的大小可能与未融合域uop的大小不同。但是要使微融合具有任何用途,融合域uop的大小必须严格小于未融合域uop的两倍。另外,我认为我们可以从逻辑上说,融合域uop的大小至少与未融合域uop的大小一样大。