非阻塞访存(non-blocking memory access),理学-计算机科学技术-计算机体系结构-微体系结构,乱序执行处理器中,一种在访存指令发生高速缓冲存储器(简称高速缓存)缺失时,后续访存指令仍然能够继续执行的技术。在早期的计算机系统中,处理器访存的过程为:先访问高速缓存(可能是多级),如果高速缓存命中,则返回;否则,高速缓存阻塞,到内存中寻找数据,然后返回给高速缓存,最后返回给处理器。随着乱序执行处理器的出现,这种访存方式变得不再适用:尽管处理器可以乱序地并行执行多条访存指令,然而一旦某条访存指令出现高速缓存缺失,高速缓存会被阻塞,从而并行的其他访存指令也无法进行访存操作。这种方式被称为阻塞式访存。缺失状态保持寄存器(MSHR)是常见的一种非阻塞访存的实现方式。MSHR在处理器和高速缓存之间增加了一个缺失队列,用于记录出现高速缓存缺失的请求,其工作流程如下:①处理器向高速缓存请求数据,若高速缓存命中,则返回数据;否则,进行下一步。②访存请求被转交给了MSHR,加入到缺失队列;此时高速缓存没有被阻塞,处理器仍然可执行其他指令的访存。