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