双模式本地数据存储制造技术

技术编号:21637435 阅读:19 留言:0更新日期:2019-07-17 14:00
描述了一种用于有效地处理对共享资源的访问请求的系统及方法。许多请求程序中的每一者都被分配给共享资源的分区。当控制器确定没有请求程序生成对未分配分区的访问请求时,所述控制器允许同时访问被分配给活动请求程序的分区。当所述控制器确定至少一个活动请求程序生成对未分配分区的访问请求时,所述控制器允许单个活动请求程序获得对整个共享资源的独占访问,同时停止其他活动请求程序的访问。所述控制器交替所述活动请求程序之间的独占访问。在各种实施方案中,所述共享资源是图形处理单元中的本地数据存储,并且所述多个请求程序中的每一者都是单指令多数据(SIMD)计算单元。

Dual-mode local data storage

【技术实现步骤摘要】
【国外来华专利技术】双模式本地数据存储
技术介绍
相关技术描述任务并行化用于增加计算机系统的吞吐量。为此,编译器或软件程序员从程序代码中提取并行化任务以在系统硬件上并行执行。无序执行、深度流水线、推测执行和多线程执行用于利用指令级并行性,因此提高吞吐量。为了进一步增加硬件上的并行执行,在系统中包括并行架构处理器以利用数据级并行性并卸载常规通用处理器中的计算密集型和重复性任务。这些任务的示例包括视频图形渲染、加密、垃圾收集和其他矢量指令应用程序。利用数据级并行性的上述系统的各种示例包括作为并行架构处理器的单指令多数据(SIMD)处理器。图形处理单元(GPU)是SIMD处理器的一个示例。GPU包括一个或多个SIMD计算单元,每个SIMD计算单元都具有多个处理资源通道用于执行相应线程的指令。所述指令在跨通道执行的线程中是相同的,但具有特定于给定通道的数据元素。操作系统调度器或程序员经由软件编程平台调度SIMD计算单元的通道上的线程。在不使用本地数据存储的情况下,由SIMD计算单元内的给定通道生成的结果数据在没有将结果数据存储到其他形式的数据存储装置和进行检索的昂贵延迟的情况下,对于其他通道是不可访问的。尽管SIMD计算单元的多个通道共享本地数据存储,但是系统不提供允许通道数量动态改变的架构,因此改变了在本地数据存储内共享的存储量。因此,系统不支持本地数据存储的冲突解决和完全可访问性(可寻址性)。鉴于以上所述,期望用于有效地处理对共享资源的访问请求的有效方法及系统。附图说明图1是支持共享资源的访问的计算系统的一个实施方案的概括图。图2是并行架构处理器的一个实施方案的概括图。图3是用于处理针对共享资源的访问请求的方法的一个实施方案的概括图。图4是用于处理针对共享资源的访问请求的方法的另一个实施方案的概括图。图5是用于选择对使用共享资源的访问请求的源的方法的一个实施方案的概括图。虽然本专利技术容易有各种修改和备选形式,但是通过举例方式在附图中示出了具体实施方案并在本文中对其作出详细描述。然而,应理解,附图和对其进行的详细描述并不意图将本专利技术局限于所公开的特定形式,而是相反,本专利技术意图涵盖属于如所附权利要求所限定的本专利技术的范围的所有修改、等同物和备选方案。具体实施方式在以下描述中,陈述众多具体细节以提供对本专利技术的彻底理解。然而,所属领域一般技术人员应认识到,可以在没有这些具体细节的情况下实践本专利技术。在一些情况下,公知的电路、结构和技术未被详细示出以免混淆本专利技术。此外,应当明白,为了使图示简单和清楚起见,图中所示的元件不一定按比例绘制。例如,一些元件的尺寸相对于其他元件被夸大。预期用于有效地处理对共享资源的访问请求的系统及方法。在各种实施方案中,许多请求程序中的每一者都被分配给共享资源的分区。在一些实施方案中,每个分区都是单独分区,所述单独分区与共享资源的其他分区不重叠。控制器用于支持对共享资源的访问。当所述控制器确定没有请求程序生成对未分配分区的访问请求时,所述控制器允许同时访问被分配给活动请求程序的分区。然而,当所述控制器确定至少一个活动请求程序生成对未分配分区的访问请求时,所述控制器允许单个活动请求程序获得对整个共享资源的访问,同时停止其他活动请求程序的访问。所述控制器通过选择活动请求程序来执行仲裁。在一些实施方案中,所述选择是基于最近最少使用的标准。所述控制器停止未选定请求程序对共享资源的访问,同时允许所述选定请求程序的访问。在一些实施方案中,所述控制器对针对选定请求程序执行的访问请求的数量设定限制,或者对用于执行选定请求程序的访问请求的时间量(诸如时钟周期的数量)设定限制。如果活动请求程序具有更多访问请求,则控制器停止选定请求程序对共享资源的访问,并且将所述选定请求程序标记为最近选择的活动请求程序。之后,控制器取消选择所述请求程序,并且通过选择另一个活动请求程序对整个共享资源具有独占访问来再次执行仲裁。在各种实施方案中,所述共享资源是图形处理单元中的本地数据存储,并且所述多个请求程序中的每一者都是单指令多数据(SIMD)计算单元。在一些实施方案中,所述控制器通过检测对在SIMD计算单元的被分配存储器地址边界外部的本地数据存储的区域的访问来检测对未分配分区的访问请求。在各种实施方案中,当给定的SIMD计算单元具有对整个本地数据存储的独占访问时,它在仲裁再次发生并且另一个SIMD计算单元获得独占访问之前具有独占访问持续单个时钟周期。然而,时钟周期的另一个数量是可能的并且可以被预期。可选地,在其他实施方案中,所述控制器监视访问请求的数量,并且当所述数量达到极限时,再次发生仲裁。在各种实施方案中,每个SIMD计算单元都包括到本地数据存储的读写端口,当另一SIMD计算单元具有对本地数据存储的独占访问时,所述读写端口用于提供所述另一个SIMD计算单元对本地数据存储的访问。转向图1,示出了支持共享资源的访问的计算系统的一个实施方案的概括框图。在所示实施方案中,计算系统包括经由仲裁控制单元120访问共享资源140的请求程序110A至110H。在一些实施方案中,共享资源140是共享存储器,并且仲裁控制单元120是存储器控制器。在其他实施方案中,共享资源140是具有特定密集型计算功能性的单元或用于提供对网络的切换访问的单元。资源和任何相关控制器的其他示例是可能的并且是可预期的。请求程序110A至110H包括计算资源112A至112H。在各种实施方案中,计算资源112A至112H包括流水线寄存器、用于存储中间结果的数据结构、用于执行整数运算、浮点运算、布尔逻辑运算、分支条件比较等等的电路。如所示,共享资源140被划分为多个分区142A至142H。在一些实施方案中,分区142A至142H中的每一者都包括相同的数据存储量、相同数量的密集计算功能性等等。在其他实施方案中,分区142A至142H中的一者或多者包括比分区142A至142H中的其他分区更少或更多的数据存储装置或密集计算功能性。在各种实施方案中,分区142A至142H中的每一者都是单独分区,所述单独分区不与分区142A至142H中的任何其他分区重叠。在其他实施方案中,使用重叠。在各种实施方案中,分区142A至142H中的每个分区都被分配给计算资源112A至112H中的一者。在其他实施方案中,计算资源112A至112H中的两者或更多者被分配给分区142A至142H中的同一者。在一些实施方案中,除了分区142A至142H的大小之外,计算资源112A至112H与分区142A至142H之间的分配也由可编程控制和状态寄存器(未示出)设定。固件、执行软件应用程序或其他软件用于更新控制和状态寄存器以将计算资源112A至112H最初分配并随后重新分配给分区142A至142H,并更新分区142A至142H的大小。在其他实施方案中,由请求程序110A至110H和/或仲裁控制单元120内的硬件电路实施的控制逻辑执行初始分配和大小调整以及随后的重新分配和大小调整。当计算资源112A至112H中的一者或多者处理一个或多个应用程序的指令时,请求程序110A至110H中的一者或多者生成对共享资源140的访问请求。在各种实施方案中,所生成的访问请求识别分区142A至142H中的一者。通过识别分区142A至142H中的一本文档来自技高网...

【技术保护点】
1.一种计算系统,其包括:共享资源,所述共享资源包括多个分区;多个请求程序,每个请求程序被分配给所述共享资源的所述多个分区中的不同分区;以及控制器,所述控制器耦合到所述共享资源,其中响应于从所述多个请求程序中的第一请求程序接收到访问给定分区的请求,所述控制器被配置为:响应于确定所述给定分区被分配给所述第一请求程序而向所述第一请求程序提供仅对所述给定分区的访问;以及响应于确定所述给定分区未被分配给所述第一请求程序而向所述第一请求程序提供对所述多个分区中的所有分区的访问。

【技术特征摘要】
【国外来华专利技术】2016.11.23 US 15/360,2051.一种计算系统,其包括:共享资源,所述共享资源包括多个分区;多个请求程序,每个请求程序被分配给所述共享资源的所述多个分区中的不同分区;以及控制器,所述控制器耦合到所述共享资源,其中响应于从所述多个请求程序中的第一请求程序接收到访问给定分区的请求,所述控制器被配置为:响应于确定所述给定分区被分配给所述第一请求程序而向所述第一请求程序提供仅对所述给定分区的访问;以及响应于确定所述给定分区未被分配给所述第一请求程序而向所述第一请求程序提供对所述多个分区中的所有分区的访问。2.如权利要求1所述的计算系统,其中所述控制器还被配置为当向所述第一请求程序提供对所有分区的访问时,停止所述多个请求程序中除所述第一请求程序之外的每个请求程序对所述共享资源的访问。3.如权利要求2所述的计算系统,其中所述第一请求程序是所述多个请求程序中最近最少选择的活动请求程序。4.如权利要求1所述的计算系统,其中所述控制器还被配置为响应于以下项而取消选择所述第一请求程序:确定完成所述第一请求程序的给定数量的访问请求;以及确定所述多个请求程序具有更多访问请求。5.如权利要求4所述的计算系统,其中所述访问请求的给定数量是在单个时钟周期内服务的访问请求的数量。6.如权利要求4所述的计算系统,其中所述控制器还被配置为:停止所述第一请求程序对所述共享资源的访问;以及将所述第一请求程序标记为所述多个请求程序中最近选择的活动请求程序。7.如权利要求6所述的计算系统,其中所述控制器还被配置为:选择与所述多个请求程序中的所述第一请求程序不同的第二请求程序;删除所述选定的第二请求程序的停止;以及向所述第二请求程序提供对所述多个分区中的所有分区的访问。8.如权利要求1所述的计算系统,其中所述共享资源是图形处理单元中的本地数据存储,并且所述多个请求程序中的每一者都是单指令多数据(SIMD)计算单元。9.一种方法,其包括:将多个请求程序中的每一者分配给共享资源的多个分区中的不同分区;响应于从多个请求程序中的第一请求程序接收到访问给定分区的请求:响应于确定所述给定分区被分配给所述第一请求程序而向所述第一请求程序提供仅对所述给定分区的访问;以及响应于确定所述给定分区未被分配给所述第一请求程序而向所述第一请求程序提供对所述多个分区中的所有分区的访问。10.如权利要求9所...

【专利技术属性】
技术研发人员:丹尼尔·克利夫顿迈克尔·J·曼特汉斯·伯顿
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

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

1