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