当距离较近的两条指令使用了同样的结构寄存器,且其中存在写操作,则会产生数据相关问题。数据相关包括写后读(RAW)、读后写(WAR)、写后写(WAW)三种形式。其中,写后读属于真相关,后续读寄存器操作需要等待前面指令完成运算;读后写和写后写属于伪相关,前后操作没有真实存在的依赖关系。存在数据相关的指令在处理器流水线中执行时,若控制不当会引发错误。写后读的真相关可通过流水线停滞、数据前递技术解决。读后写和写后写的伪相关在按序执行处理器中不会导致执行错误,但在乱序执行处理器中,读后写和写后写也可能因为指令执行序的变化而导致执行错误。读后写和写后写这种数据冒险可通过寄存器重命名技术解决。 |
|
来自: 求是1025 > 《162大数据与人工智能》