处理存储器请求制造技术

技术编号:16365450 阅读:29 留言:0更新日期:2017-10-10 21:28
本发明专利技术涉及处理存储器请求。描述了转换器模块,该转换器模块对由高速缓存(例如,片上高速缓存)发出的存储器请求进行处理,其中这些存储器请求包括在虚拟存储器空间内定义的存储器地址。转换器模块接收这些请求、发出每个具有事务标识符的请求并使用该标识符来跟踪存储器请求的状态。转换器模块向存储器管理单元发送地址转换的请求,并且在转换在存储器管理单元中不可用的情况下从存储器管理单元接收另外的存储器请求。存储器请求经由总线被发到存储器,并且一旦从存储器接收到响应,则释放用于请求的事务标识符。当将存储器请求发到总线上时,从存储器管理单元接收的存储器请求可以优先于从高速缓存接收的存储器请求。

Handling memory requests

The present invention relates to processing memory requests. Describes the converter module, the module of the converter by the cache (e.g., on-chip cache) a memory request processing, wherein the memory request includes a memory address defined in the virtual memory space. The converter module receives these requests, issues each request with a transaction identifier, and uses the identifier to track the status of the memory request. The converter module sends a request for address translation to the memory management unit, and receives additional memory requests from the memory management unit when the conversion is not available in the memory management unit. The memory request is sent to the memory via the bus, and once the response is received from the memory, the transaction identifier for the request is released. When a memory request is sent to the bus, a memory request received from the memory management unit may give priority to the memory request received from the cache.

【技术实现步骤摘要】
处理存储器请求背景为了减少与访问存储在主存储器中的数据相关联的延迟,处理器(诸如CPU或GPU)通常具有一个或多个高速缓存,如图1中的示例存储器层次结构100所示。通常存在两个级别的片上高速缓存L1102和L2104,其通常利用SRAM(静态随机存取存储器)来实现。高速缓存比主存储器108小,主存储器108可在DRAM(动态随机存取存储器)中实现,但访问高速缓存所涉及的延迟比针对主存储器的延迟短得多并且在层次结构内的较低级别(即,更接近处理器)处变得更短。由于延迟至少近似地与高速缓存的大小相关,因此较低级别的高速缓存(例如,L1)小于较高级别的高速缓存(例如,L2)。当处理器访问数据项时,数据项从层次结构中的最低级被访问,其中该数据项是可获得的。例如,查找将在L1高速缓存102中执行并且如果数据在L1高速缓存中,则这被称为高速缓存命中并且数据可被加载到寄存器110中的一个中。然而,如果数据不在L1高速缓存(最低级别的高速缓存)中,则这是高速缓存缺失并且依次检查层次结构中的下一级别,直到发现数据(例如,在L1高速缓存缺失的情况下检查L2高速缓存104)。在高速缓存缺失的情况下,数据进入高速缓存(例如,L1高速缓存102)中,并且如果高速缓存已经是满的,则替换算法可用于决定哪个现有数据将被逐出(即,被删除),以便可以存储新的数据。如果数据项不在片上高速缓存的任一个中(例如,不在图1所示的层次结构中的L1高速缓存102或L2高速缓存104中),则存储器请求被发到外部总线(其也可被称为互连结构)上,使得数据项可从层次结构中的下一级别(例如,主存储器108)中获得。下面描述的实施方式仅作为示例被提供且不是解决管理对存储器的访问的已知方法的任何或所有缺点的实现的限制。概述这个概述被提供来以简化形式引入一些概念,其在以下详细描述中被进一步描述。这个概述并不旨在识别所要求保护的主题的关键特征或必要特征,也不旨在用来协助确定所要求保护的主题的范围。描述了处理由高速缓存(例如,片上高速缓存)发出的存储器请求的转换器模块,其中这些存储器请求包括在虚拟存储器空间内定义的存储器地址。转换器模块接收这些请求、发出每个请求连同事务标识符并使用该标识符来跟踪存储器请求的状态。转换器模块向存储器管理单元发送地址转换的请求,并且在转换在存储器管理单元中不可用的情况下从存储器管理单元接收另外的存储器请求。存储器请求经由总线被发给存储器,并且一旦从存储器接收到响应,则释放用于请求的事务标识符。当将存储器请求发到总线上时,从存储器管理单元接收的存储器请求可优先于从高速缓存接收的存储器请求。第一方面提供了一种模块,包括:分配模块,其被布置为从高速缓存接收存储器请求并将事务标识符分配给每个接收的存储器请求,其中从高速缓存接收的存储器请求包括在虚拟地址空间中定义的一个或多个存储器地址;事务跟踪器模块,其被布置为从分配模块接收存储器请求连同所分配的事务标识符、跟踪存储器请求的状态并从存储器管理单元接收转换信息,其中转换信息包括存储器请求中的虚拟存储器地址到物理存储器地址的转换或指向该转换的指针;以及仲裁器模块,其被布置为当存储器请求准备好发出时从事务跟踪器模块接收存储器请求连同所分配的事务标识符,并且经由外部总线将存储器请求发给存储器,并且响应于经由外部总线接收到来自存储器的响应,触发对所分配的事务标识符的释放,其中发给存储器的存储器请求包括使用转换信息确定的一个或多个物理存储器地址。第二方面提供了一种方法,包括:在转换器模块处从高速缓存接收存储器请求;在转换器模块中,将事务标识符分配给每个接收的存储器请求,其中从高速缓存接收的存储器请求包括在虚拟地址空间中定义的一个或多个存储器地址;在转换器模块中,跟踪存储器请求的状态;在转换器模块中,从存储器管理单元接收转换信息,其中转换信息包括存储器请求中的一个中的虚拟存储器地址到物理存储器地址的转换或指向该转换的指针;经由外部总线将来自转换器模块的存储器请求中的所述一个发到存储器,其中发到存储器的存储器请求包括使用转换信息确定的一个或多个物理存储器地址;以及响应于经由外部总线接收到来自存储器的响应,触发对所分配的事务标识符的释放。另外的方面提供了处理系统,其被配置为执行本文所述的方法;处理系统包括在集成电路上的硬件中体现的如本文所述的模块;计算机可读代码适于当代码运行在计算机上时执行本文所述的方法的步骤;在集成电路制造系统处制造包括如本文所述的模块的处理系统的方法;集成电路定义数据集,当其在集成电路制造系统中处理时,将系统配置为制造包括如本文所述的模块的处理系统;计算机可读存储介质,其具有在其上存储的集成电路的计算机可读描述,当其在集成电路制造系统中处理时,使集成电路制造系统制造包括如本文所述的模块的处理系统;以及集成电路制造系统,该集成电路制造系统包括:非暂时性计算机可读存储介质,其具有在其上存储的集成电路的计算机可读描述,该集成电路的计算机可读描述描述了图形处理系统;布局处理系统,其被配置为对集成电路描述进行处理,以便生成体现图形处理系统的集成电路的电路布局描述;以及集成电路生成系统,其被配置为根据电路布局描述来制造图形处理系统,其中处理系统包括如本文所述的模块。转换器模块可被体现在集成电路上的硬件中。可以提供在集成电路制造系统处制造转换器模块和/或包括转换器模块的处理器的方法。可以提供集成电路定义数据集,当其在集成电路制造系统中处理时,将系统配置为制造转换器模块和/或包括转换器模块的处理器。可以提供非暂时性计算机可读存储介质,其具有在其上存储的集成电路的计算机可读描述,当其被处理时,使布局处理系统生成在集成电路制造系统中使用的电路布局描述,以制造转换器模块和/或包括转换器模块的处理器。可以提供集成电路制造系统,包括:非暂时性计算机可读存储介质,其具有在其上存储的计算机可读集成电路描述,该计算机可读集成电路描述描述了转换器模块和/或包括转换器模块的处理器;布局处理系统,其被配置为对集成电路描述进行处理,以便生成体现转换器模块和/或包括转换器模块的处理器的集成电路的电路布局描述;以及集成电路生成系统,其被配置为根据电路布局描述来制造转换器模块和/或包括转换器模块的处理器。可以提供用于执行如本文所述的方法的计算机程序代码。可以提供非暂时性计算机可读存储介质,其具有在其上存储的计算机可读指令,当计算机可读指令在计算机系统处执行时,使计算机系统执行如本文所述的方法。优选特征可在适当时被组合,如对技术人员明显的,并可与本专利技术的任何方面组合。附图简述将参考以下附图通过示例的方式来描述本专利技术的实施方式,在附图中:图1是示例存储器层次结构的示意图;图2是包括第一示例转换器模块的存储器层次结构的一部分的示意图;图3A是示出如本文所述的转换器模块的第一示例操作方法的流程图;图3B是示出如本文所述的转换器模块的第二示例操作方法的流程图;图4是示出如本文所述的转换器模块的第三示例操作方法的流程图;图5是包括第二示例转换器模块的存储器层次结构的一部分的示意图;图6是示出如本文所述的转换器模块的第四示例操作方法的流程图;图7是示出如本文所述的转换器模块的第五示例操作方法的流程图;图8示出可在如本文所述的转换器模块内实本文档来自技高网...
处理存储器请求

【技术保护点】
一种模块(202、502),包括:分配模块(212、512R、512W),所述分配模块被布置为从高速缓存(204)接收存储器请求并且将事务标识符分配给每个接收的存储器请求,其中从所述高速缓存接收的所述存储器请求包括在虚拟地址空间中定义的一个或多个存储器地址;事务跟踪器模块(214、514R、514W),所述事务跟踪器模块被布置为从所述分配模块接收存储器请求连同所分配的事务标识符,跟踪所述存储器请求的状态并且从存储器管理单元(208)接收转换信息,其中所述转换信息包括所述存储器请求中的虚拟存储器地址到物理存储器地址的转换或指向所述转换的指针;以及仲裁器模块(216、516R、516W),所述仲裁器模块被布置为当所述存储器请求准备好发出时,从所述事务跟踪器模块接收存储器请求连同所分配的事务标识符并经由外部总线将所述存储器请求发给存储器,并且响应于经由所述外部总线接收到来自所述存储器的响应,触发对所分配的事务标识符的释放,其中发给存储器的所述存储器请求包括使用所述转换信息确定的一个或多个物理存储器地址。

【技术特征摘要】
2016.03.29 GB 1605243.31.一种模块(202、502),包括:分配模块(212、512R、512W),所述分配模块被布置为从高速缓存(204)接收存储器请求并且将事务标识符分配给每个接收的存储器请求,其中从所述高速缓存接收的所述存储器请求包括在虚拟地址空间中定义的一个或多个存储器地址;事务跟踪器模块(214、514R、514W),所述事务跟踪器模块被布置为从所述分配模块接收存储器请求连同所分配的事务标识符,跟踪所述存储器请求的状态并且从存储器管理单元(208)接收转换信息,其中所述转换信息包括所述存储器请求中的虚拟存储器地址到物理存储器地址的转换或指向所述转换的指针;以及仲裁器模块(216、516R、516W),所述仲裁器模块被布置为当所述存储器请求准备好发出时,从所述事务跟踪器模块接收存储器请求连同所分配的事务标识符并经由外部总线将所述存储器请求发给存储器,并且响应于经由所述外部总线接收到来自所述存储器的响应,触发对所分配的事务标识符的释放,其中发给存储器的所述存储器请求包括使用所述转换信息确定的一个或多个物理存储器地址。2.根据权利要求1所述的模块,其中,所述仲裁器模块还被布置为接收多个存储器请求,并从尚未发出的任何接收的存储器请求中选择要发出的存储器请求。3.根据权利要求2所述的模块,其中,所述仲裁器模块还被布置为从所述存储器管理单元接收存储器读请求连同由所述存储器管理单元分配的事务标识符,并且选择来自所述存储器管理单元的所述存储器读请求以用于在从所述事务跟踪器模块接收的尚未发出的任何存储器请求之前发出。4.根据权利要求2或3所述的模块,其中,所述仲裁器模块被布置为根据预定义的规则,从尚未发出的任何接收的存储器请求中选择要发出的存储器请求;以及可选地,其中所述预定义的规则导致先于从所述事务跟踪器模块接收的存储器请求选择从所述存储器管理单元接收的存储器请求,并且如果不存在从所述存储器管理单元接收的存储器请求,则至少部分地基于用于从所述事务跟踪器模块接收的存储器请求的所述转换信息的接收时间来选择从所述事务跟踪器模块接收的所述存储器请求。5.根据前述权利要求中的任一项所述的模块,其中,由所述分配模块分配的所述事务标识符是外部事务标识符,而且其中所述仲裁器模块被布置为使用所分配的外部事务标识符来发出存储器请求。6.根据权利要求5所述的模块,其中,所述仲裁器模块被布置为响应于经由所述外部总线接收到来自所述存储器的包括外部事务标识符的响应来识别从其接收到具有相同外部事务标识符的相应请求的单元并且将所述响应传输到所识别的单元,其中所述单元包括所述事务跟踪器模块或所述存储器管理单元。7.根据权利要求1-4中的任一项所述的模块,其中,由所述分配模块分配的所述事务标识符是内部事务标识符,而且其中所述仲裁器模块还被布置为在选择用于发出的存储器请求之后将外部事务标识符分派给所述存储器请求并存储所分配的内部事务标识符和所分派的外部事务标识符之间的映射,并且其中所述仲裁器模块被布置为使用所分派的外部事务标识符来发出存储器请求。8.根据权利要求7所述的模块,其中,所述仲裁器模块被布置为响应于经由所述外部总线接收到来自所述存储器的包括外部事务标识符的响应将所述外部事务标识符映射回到所分配的内部事务标识符,识别从其接收到具有相同内部事务标识符的相应请求的单元并且将所述响应传输到所识别的单元,其中所述单元包括所述事务跟踪器模块或所述存储器管理单元。9.根据权利要求1-4所述的模块(502),其包括布置为从所述高速缓存接收存储器读请求的读路径和布置为从所述高速缓存接收存储器写请求的写路径,其中所述读路径包括所述分配模块(512R)、所述事务跟踪器模块(514R)和所述仲裁器模块(516R),而且其中所述写路径包括第二分配模块(512W)、第二事务跟踪器模块(514W)和第二仲裁器模块(516W)。10.根据权利要求9所述的模块,其中,所述事务跟踪器模块和所述第二事务跟踪器模块都被布置为针对数据冲突检查来自所述高速缓存的传入存储器请求,并且响应于检测到冲突,为传入事务设置标志,并且其中如果所述标志被设置,则存储器请求没有准备好发出;以及可选地,其中所述事务跟踪器模块和所述第二事务跟踪器模块被布置为响应于经由所述外部总线从所述存储器接收到对于较早的存储器请求的响应,清除依赖于所述较早的存储器请求的存储器请求的所述标志。11.一种方法,包括:在转换器模块处接收来自高速缓存的存储器请求(302);在所述转换器模块中,将事务标识符分配给每个接收的存储器请求(304),其中从所述高速缓存接收的所...

【专利技术属性】
技术研发人员:马克·兰德斯约翰·马丁·罗宾逊
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国,GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1