我正在学习 IA64 ISA。我读过 IA64 编译器将指令放在指令组中,即它们之间没有寄存器数据依赖性的连续指令序列。因此,硬件不需要检测同一组内指令之间的数据依赖关系。在现实世界中,一个 IA64 实现可能会收到一个格式错误的指令组,该指令组确实包含其指令之间的寄存器数据依赖关系(例如,由于编译器错误)。在这种情况下,ISA 是否为实现指定了正确的行为?
我正在学习 IA64 ISA。我读过 IA64 编译器将指令放在指令组中,即它们之间没有寄存器数据依赖性的连续指令序列。因此,硬件不需要检测同一组内指令之间的数据依赖关系。在现实世界中,一个 IA64 实现可能会收到一个格式错误的指令组,该指令组确实包含其指令之间的寄存器数据依赖关系(例如,由于编译器错误)。在这种情况下,ISA 是否为实现指定了正确的行为?