数据冒险(数据相关冒险):在流水线处理器中,后一条指令需要使用前一条(或更早)指令尚未写回/尚未产生的结果,导致执行出错风险或必须暂停(stall)等待的数据依赖问题。常见类型包括 RAW(Read After Write) 等。(注:在更广义的语境中也可泛指并行/流水线中的数据依赖冲突。)
/ˈdeɪtə ˈhæzərd/
A data hazard can force the pipeline to stall.
数据冒险可能会迫使流水线暂停。
Without forwarding, the processor must insert bubbles to handle a data hazard between dependent instructions.
如果没有数据前递(转发)机制,处理器就必须插入气泡(空操作)来处理相互依赖指令之间的数据冒险。
data(数据)源自拉丁语 datum,意为“给出的东西”;hazard(危险/风险)来自中古法语 hasard,原指“偶然性、风险”。在计算机体系结构领域里,hazard 被借用来表示“会破坏正确执行的隐患”,因此 data hazard 就是“由数据依赖带来的执行隐患”。