对页驻留的条件性页错误控制的制作方法

文档序号:9794026阅读:223来源:国知局
对页驻留的条件性页错误控制的制作方法
【技术领域】
[0001] 本发明涉及图形存储器中的驻留及非驻留页,且更确切地说,涉及用于页错误控 制的技术。
【背景技术】
[0002] -般来说,对一些系统中的非驻留页的存取导致页错误。非驻留页是不具有与其 相关联的物理存储器位置的页。相反,驻留页是具有与其相关联的物理存储器位置的页。例 如,非驻留页可具有虚拟地址,但没有实际物理存储器与所述地址相关联。在一些实例中, 软件可使用例如页表将虚拟地址映射到驻留页的物理地址。一般来说,非驻留页可不发生 映射,因为非驻留页不具有分配给其的物理存储器。存储器管理单元(MMU)可执行查找以确 定虚拟地址与物理地址之间的映射以便执行例如存储器读取或存储器写入等存储器事务。

【发明内容】

[0003] 用于处置与例如多媒体相关的任务的一些应用编程接口(API)可允许在没有出错 的情况下存取非驻留页。本发明提供与用于区别导致错误及不导致错误的非驻留页的技术 相关的系统及方法。在一个实例中,在存取非驻留瓦片时,可响应于读取指令且响应于到非 驻留瓦片的写入指令而返回预定位值,可丢弃所述写入。在另一实例中,填充有恰当默认值 的"虚拟页"可用于所有非驻留页。所述虚拟页可为填充有恰当默认值的单一存储器页,可 例如在读取到非驻留页的任何存储器地址时存取所述恰当默认值。在一些实例中,还可返 回存储器读取未翻译的指示,例如信号。在虚拟地址不映射到物理地址时,存储器读取不翻 译。换句话说,在页虚拟地址指向非驻留的页时,存储器地址不翻译。在页是非驻留时,虚拟 地址不可被翻译为物理地址,因为不存在用于所述虚拟地址的物理地址。
[0004] 非驻留页是不存在物理存储器位置且因此没有虚拟地址到物理地址的映射的页。 相反,驻留页是具有物理存储器位置且因此可为虚拟地址到物理地址的映射的页。另外,本 发明描述使客户端(即,可尝试读取或写入存储器中的页的装置)知晓页何时是非驻留的各 种方式。
[0005] 在一个实例中,本发明描述一种处理非驻留页的方法,其包含:尝试存取非驻留 页,所述非驻留页的地址指向含有默认值的存储器页;基于检查指示所述非驻留页不应该 产生页错误的指示符而确定所述非驻留页不应该导致页错误;及返回存储器读取未翻译的 指示且在对所述非驻留页的存取是读取且非驻留页不应该导致页错误时返回所述默认值。
[0006] 在一个实例中,本发明描述一种处理非驻留页的方法,其包含:尝试存取非驻留 页,所述非驻留页的地址指向含有默认值的存储器页;返回存储器读取未翻译的指示且在 对所述非驻留页的存取是读取且所述非驻留页不应该导致页错误时返回所述默认值;及在 对所述非驻留页的存取是写入且所述非驻留页不应该导致页错误时中断写入。
[0007] 在另一实例中,本发明描述一种处理非驻留页的设备,其包含处理器,所述处理器 经配置以:尝试存取非驻留页,所述非驻留页的地址指向含有默认值的存储器页;基于检查 指示所述非驻留页不应该产生页错误的指示符而确定所述非驻留页不应该导致页错误;及 返回存储器读取未翻译的指示且在对所述非驻留页的存取是读取且非驻留页不应该导致 页错误时返回所述默认值。
[0008] 在另一实例中,本发明描述一种处理非驻留页的设备,其包含处理器,所述处理器 经配置以:尝试存取非驻留页,所述非驻留页的地址指向含有默认值的存储器页;返回存储 器读取未翻译的指示且在对所述非驻留页的存取是读取且所述非驻留页不应该导致页错 误时返回所述默认值;及在对所述非驻留页的存取是写入且所述非驻留页不应该导致页错 误时中断写入。
[0009] 在另一实例中,本发明描述一种处理非驻留页的设备,其包含:用于尝试存取非驻 留页的装置,所述非驻留页的地址指向含有默认值的存储器页;用于基于检查指示所述非 驻留页不应该产生页错误的指示符而确定所述非驻留页不应该导致页错误的装置;及用于 返回存储器读取未翻译的指示且在对所述非驻留页的存取是读取且非驻留页不应该导致 页错误时返回所述默认值的装置。
[0010] 在另一实例中,本发明描述一种向客户端告知页是非驻留的设备,其包含:用于存 取非驻留页的装置,所述非驻留页的地址指向含有默认值的存储器页;用于返回存储器读 取未翻译的指示的装置及用于在对所述非驻留页的存取是读取且所述非驻留页不应该导 致页错误时返回所述默认值的装置;及用于在对所述非驻留页的存取是写入且所述非驻留 页不应该导致页错误时中断写入的装置。
[0011] 在另一实例中,本发明描述一种计算机可读存储媒体。所述计算机可读存储媒体 具有存储在其上的指令,所述指令在执行时导致一或多个处理器:尝试存取非驻留页,所述 非驻留页的地址指向含有默认值的存储器页;基于检查指示所述非驻留页不应该产生页错 误的指示符而确定所述非驻留页不应该导致页错误;及返回存储器读取未翻译的指示且在 对所述非驻留页的存取是读取且非驻留页不应该导致页错误时返回所述默认值。
[0012] 在另一实例中,本发明描述一种计算机可读存储媒体。计算机可读存储媒体具有 存储在其上的指令,所述指令在执行时导致一或多个处理器非暂时性计算机可读存储媒体 存储指令,所述指令在由一或多个处理器执行时致使所述一或多个处理器:尝试存取非驻 留页,所述非驻留页的地址指向含有默认值的存储器页;返回存储器读取未翻译的指示且 在对所述非驻留页的存取是读取且所述非驻留页不应该导致页错误时返回所述默认值;及 在对所述非驻留页的存取是写入且所述非驻留页不应该导致页错误时中断写入。
[0013] 附图及以下描述中陈述一或多个实例的细节。其它特征、目标和优点将从所述描 述和图式以及权利要求书而显而易见。
【附图说明】
[0014] 图1为说明可用于实施本发明中描述的技术的实例计算装置的框图。
[0015] 图2是说明用以实施本发明中所描述的用于区别导致错误的非驻留页及不导致错 误的非驻留页的技术的实例计算装置的框图。
[0016] 图3是说明用以实施本发明中所描述的用于区别导致错误的非驻留页及不导致错 误的非驻留页的技术的另一实例计算装置的框图。
[0017] 图4是说明实例图形管线的概念图,其包含可执行本发明的用于区别导致错误的 非驻留页及不导致错误的非驻留页的技术的单元。
[0018] 图5为说明根据本发明中所描述的一或多个实例的实例方法的流程图。
[0019] 图6为说明根据本发明中所描述的一或多个实例的实例方法的流程图。
【具体实施方式】
[0020] 如上文所论述,一些API允许在没有出错的情况下存取非驻留页。一个实例是 DirectX 11 (DX11)中的被称为瓦片化资源的新特征。瓦片化资源允许在没有出错的情况下 经由图形操作(例如,纹理读取、色彩缓冲器写入)存取资源的非驻留页。
[0021] 本发明涉及用于页错误控制的技术。本发明提供与用于区别导致错误及不导致错 误的非驻留页的技术相关的系统及方法。例如,本发明描述区别导致错误的非驻留页及不 导致错误的非驻留页的各种技术。一般在处理器或存储器管理单元尝试读取或写入一非驻 留页的存储器地址时出现页错误。如上文所描述,非驻留页是不存在物理存储器位置且因 此没有虚拟地址到物理地址的映射的页。相反,驻留页是具有物理存储器位置且因此可为 虚拟地址到物理地址的映射的页。
[0022] 另外,本发明描述使客户端知晓页何时是非驻留页的各种方式。例如,本发明中描 述的技术可允许客户端确定其存取非驻留页。在本发明中描述的一些技术中,不暂停后续 命令的执行,客户端可经配置以处置对非驻留页的此类存取。客户端是可尝试读取或写入 到存储器中的页的装置。在一些实例中,处理器可为客户端。例如,图形处理单元可为客户 端。在此实例中,GPU内的多个子客户端可请求存取(例如,纹理子客户端可请求从地址的读 取,而光栅单元可请求写入)。在此实例中,GPU进行读取和写入请求。在一些实例中,客户端 可为GHJ内的请求端,例如纹理单元、混合器单元或着色器单元。存储器管理单元(MMU)可为 客户端。然而,MMU-般是以上客户端中的一或多者的从属装置。在一个实例中,在非驻留瓦 片被客户端存取时,可响应于读取操作返回预定位值且响应于写入操作可丢弃预定位值。 在另一实例中,填充有恰当默认值的"虚拟页"可以用于所有非驻留页。所述虚拟页可为填 充有所述恰当默认值的单一存储器页。在客户端存取到非驻留页的任何存储器地址时,可 将虚拟页中的值返回到客户端。
[0023] 如上文所论述,DX11中的被称为瓦片化资源的新特征允许在没有出错的情况下经 由图形操作(即纹理读取、色彩缓冲器写入)存取资源的非驻留页。因此,可需要区别导致错 误的非驻留页及不导致错误的非驻留页。另外,应该找到使客户端知晓页何时是非驻留的 方式。
[0024] 在一个实例中,DX11页属性(例如读取权限(R)、写入权限(W)、可高速缓存存储器 位置(C)及共享存储器位置(S))可包含额外的位、旗标或其它指示以指定对非驻留页的存 取不应该产生页错误。本文中描述的系统和方法的一些实例可在现有ARM位的顶部上添加 NF(无错)位。其它位的以上列表相对于其它属性既定不是穷尽性的。可存在其它位。仅基于 ARM给出页属性R、W、C及S作为实例。
[0025] 在一些实例中,无错(NF)位(旗标等)可指示对此非驻留页的存取不应该产生页错 误。例如,对于给定虚拟地址,页表可存储与虚拟地址相关联的物理地址以及存储在由物理 地址识别的页中的数据的页属性。页属性可作为二进制位存储在页表中。页表可映射一物 理地址(作为一个实例hNF位208可被添加到页属性以指定对此非驻留页的存取不应该产 生页错误。实施这些系统和方法的实例装置可随后返回用于读取的默认值或丢弃写入。因 此,NF位208可指示对非驻留材料的存取不应该导致错误。在一个实例中,此装置可确定读 取或写入是否将发生错误。如果不出现错误,那么可翻译读取或写入。如果发生错误,那么 装置可使用NF位208确定是否应该报告所述错误、关于所述错误的操作系统(OS)的错误。装 置可执行各种典型的页错误校正。或者,如果NF位208指示不应该将错误报告给OS,那么装 置可返回用于读取的例如0x0的值或装置可中止写入且继续。
[0026]如上文所论述,在一些实例中,还可返回存储器读取未翻译的指示,例如单精度。 在虚拟地址不映射到物理地址时,存储器读取不翻译。换句话说,在页虚拟地址指向非驻留 的页时,存储器地址不翻译。在页是非驻留时,虚拟地址不可被翻译为物理地址,因为不存 在用于所述虚拟地址的物理地址。
[0027]虽然NF位208的一个目的可为指定非驻留材料不应该导致错误,但NF位208还可影 响非驻留页的确定。例如,NF位208可用于确定瓦片化资源中的页是否为驻留,如此处所描 述。在本文中描述的各种实例中,NF位208可结合默认值、驻留检查等使用以确定瓦片化资 源中的页是否为驻留。
[0028]在一实例中,如果出现错误,那么对非驻留页的存储器存取已发生且NF位208必定 已被设定成允许错误。如果未出现错误,存储器存取已发生,且NF位208使得允许发生错误, 那么尝试的存储器存取必定是对驻留页。如果错误将出现,除了 NF位208被设定成使得错误 将发生之外,那么可发生本发明的其它方面,例如返回默认值、驻留检查等。
[0029] 一些实例可使用现有的页表属性。换句话说,在此实例中可不需要存在NF位20
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1