在Intel ISA扩展手册中,
pcommit
的描述有些晦涩:它提到了像持久内存范围、接受到内存、变成持久性和非易失性设备等概念1。
PCOMMIT
指令会导致对持久内存范围的某些存储到内存操作变得持久(受电源故障保护)。具体来说,PCOMMIT
适用于那些已经被接受到内存的存储。
[...]
如果在将存储到持久性内存范围的存储器接受到内存后执行PCOMMIT
,则当PCOMMIT
变为全局可见时,存储器变为持久性。
[...]
只有在数据被写入目标非易失性设备或一些中间的受电源故障保护的存储器/缓冲区之后,存储到持久性内存的数据才会变得持久性(耐用)。
这是什么背景下的呢?
1这不可能是经典的NV设备,如NOR Flash ROM或NVMe设备(即新型SSD),因为它们位于可变数量的桥接器后面,包括减法解码器,CPU无法控制。