流水线计算机中,下列语句发生的数据相关类型是( )。 ADD R1,R2,R3;(R2)+(R3)→R1 ADD R4,R1,R5;(R1)+(R5)→R4
【正确答案】
C
【答案解析】解析:本题考查流水线的数据相关。在这两条指令中,都对R1进行操作,其中前面对R1写操作,后面对R1读操作,因此发生写后读相关。 数据相关包括RAW(写后读)、WAW(写后写)、WAR(读后写)。设有i和j两条指令,i指令在前,j指令在后,则三种相关的含义: *RAW(写后读):指令j试图在指令i写入寄存器前旧读出该寄存器的内容,这样指令j就会错误地读出该寄存器旧的内容。 *WAR(读后写):指令j试图在指令i读出该寄存器前就写入该寄存器,这样指令i就会错误地读出该寄存器的新内容。 *WAW(写后写):指令j试图在指令i写入寄存器前就写入该寄存器,这样两次写的先后次序被颠倒,就会错误地使由指令i写入的值称为该寄存器的内容。