可编程原子操作符资源锁定制造技术

技术编号:38495416 阅读:16 留言:0更新日期:2023-08-15 17:06
本文中描述用于可编程原子操作符资源锁定的装置及技术。针对可编程原子操作符(PAO)的请求可在包含可编程原子单元(PAU)的存储器控制器处接收。在此,所述请求包含所述PAO的标识符及存储器地址。处理所寻址的存储器以识别锁值。可执行验证以确定所述锁值指示不存在对应于所述存储器地址的锁。接着,设置所述锁值以指示现在存在对应于所述存储器地址的锁,且基于所述PAO的所述标识符调用所述PAO。响应于所述PAO完成,设置所述锁值以指示不再存在对应于所述存储器地址的锁。应于所述存储器地址的锁。应于所述存储器地址的锁。

【技术实现步骤摘要】
【国外来华专利技术】可编程原子操作符资源锁定
[0001]优先权申请
[0002]本申请要求2020年10月20日申请的序列号为17/075,384的美国申请的优先权权益,所述美国申请以其全文引用的方式并入本文中。
[0003]关于政府支持的声明
[0004]本专利技术是根据美国国防部高级研究计划局(DARPA)授予的第HR00111890003号协议在美国政府的支持下完成的。美国政府对本专利技术享有一定权利。

技术介绍

[0005]小芯片是用于集成各种处理功能性的新兴技术。一般来说,小芯片系统是由离散模块(每一者是“小芯片”)组成,所述离散模块经集成于中介层上且在许多实例中根据需要通过一或多个已建立的网络互连,以向系统提供所期望的功能性。中介层及所包含的小芯片可被封装在一起以促进与较大系统的其它组件互连。每一小芯片可包含一或多个个别集成电路(IC)或“芯片”,其潜在地与离散电路组件组合且共同耦合到相应衬底以促进附接到中介层。系统中的大多数小芯片或所有小芯片将个别地经配置以通过一或多个已建立的网络进行通信。
[0006]小芯片作为系统的个别模块的配置不同于实施在若干单芯片(其在一个衬底(例如单个裸片)上含有不同装置块(例如知识产权(IP)块))上的此类系统(例如单芯片系统(SoC)),或集成于印刷电路板(PCB)上的多个离散封装装置。一般来说,小芯片提供比离散封装装置更好的性能(例如低功耗、减小的延时等),且小芯片提供比单裸片芯片更大的生产效益。这些生产效益可包含更高良率或减小的开发成本及时间。
[0007]例如,小芯片系统可包含一或多个应用程序(或处理器)小芯片及一或多个支持小芯片。在此,应用程序与支持小芯片之间的区别仅仅是对小芯片系统的可能设计场景的参考。因此,例如,合成视觉小芯片系统可包含(仅作为实例)用于产生合成视觉输出的应用程序小芯片以及支持小芯片,例如存储器控制器小芯片、传感器接口小芯片或通信小芯片。在典型用例中,合成视觉设计者可设计应用程序小芯片且从其他方获得支持小芯片。因此,因为通过避免体现于支持小芯片中的功能性的设计及生产,设计支出(例如,在时间或复杂性方面)减小。小芯片还支持原本可能很难的IP块的紧密集成,例如使用不同处理技术或使用不同特征大小(或利用不同接触技术或间隔)制造的IP块。因此,具有不同物理、电或通信特性的多个IC或IC组合件可以模块化方式组装以提供组合件,所述组合件提供所期望的功能性。小芯片系统还可促进调适以适应小芯片系统将并入到其中的不同较大系统的需求。在实例中,IC或其它组合件可针对功率、速度或热产生进行优化以用于特定功能——正如传感器可发生——与尝试在单个裸片上这么做相比,可更容易地与其它装置集成。另外,通过减小裸片的整体大小,小芯片的良率趋向于比更复杂的单个裸片装置的良率更高。
附图说明
[0008]从下文给出的详细描述及从本公开的各个实施例的附图将更加完全地理解本公
开。然而,图式不应理解为将本公开限于特定实施例,而仅是为了解释及理解。
[0009]图1A及1B说明根据实施例的小芯片系统的实例。
[0010]图2说明根据实施例的存储器控制器小芯片的实例的组件。
[0011]图3说明根据实施例的存储器控制器小芯片的实例的组件。
[0012]图4说明根据实施例的可编程原子单元(PAU)的实例中的组件。
[0013]图5说明根据实施例的小芯片协议接口请求分组。
[0014]图6说明根据实施例的小芯片协议接口响应分组。
[0015]图7是根据实施例的用于可编程原子操作符资源锁定的方法的实例的流程图。
[0016]图8是本公开的实施例可利用其、在其中或通过其操作的机器的实例的框图。
具体实施方式
[0017]下文描述的图1提供小芯片系统及在其中操作的组件的实例。所说明的小芯片系统包含存储器控制器。小芯片系统包含用于在小芯片之间通信的基于分组的网络。存储器控制器包含具有处理器的可编程原子单元(PAU),其响应于对可编程原子操作符(PAO)的存储器请求而执行定制程序(可编程原子操作符(PAO))。关于PAU的额外细节在下文关于图2及4描述。
[0018]为了成为“原子的”,原子操作符排他地修改资源(例如,存储器中的数据)。因此,给定关于相同资源的两个原子操作符,一个操作符必须在第二操作符可开始之前开始且结束操作。因此,需要由原子操作符对其进行操作的资源的排他性机制。
[0019]排他性机制可使用PAO请求中的基地址作为资源的标识符来实施。通常,PAO请求包含可用于定义PAO应对其操作的数据的至少一个存储器地址。然而,不要求PAO实际上存取存储器地址处的数据。确切来说,PAO可存取关于此基地址的数据。此外,PAO可使用其它资源,例如内置原子、加密组件等,其全部都可表示在其操作期间PAO应对其具有排他存取的资源。即使PAO不一定存取基地址,PAO请求中的基础存储器地址用于表示针对其执行排他性的PAO的所有资源。
[0020]PAO请求的基础存储器地址用作PAO的锁或危险地址。基础存储器地址可例如由存储器控制器的危险组件或由PAU散列到索引。在实例中,索引是锁位阵列的索引。在这些实例中,当从散列基础存储器地址确定的索引处的锁位未设置(例如,未锁定)时,PAO继续执行。在此,因为PAO准备好执行,因此锁位可被成功设置。具有相同索引的后续PAO在锁被清除之前无法设置锁位。一旦PAO完成,锁位就被清除,从而使等待的PAO能够继续进行。在实例中,散列函数使用来自基础存储器地址的所有地址位产生锁阵列索引。此方法可确保在一组给定PAO地址上的散列结果冲突数目最小。
[0021]本文中描述的排他性机制可在操作时如下般进行操作。当PAO请求由存储器控制器接收时,将PAO中的存储器地址散列到锁位阵列的索引中。如果锁位是逻辑0,那么将锁位设置到逻辑1且PAO在PAU中开始。当PAO完成时,锁位被清除(例如,设置回到逻辑0)。如果当PAO请求被存储器控制器接收时锁位已经被设置,那么PAO请求被链接到锁位且暂停直到锁位被清除。多个PAO请求可被链接到相同锁位。此导致如此链接到锁位的PAO请求循序执行,从而提供原子性。即使由PAO进行的实际操作且因此由PAO使用的资源在设计硬件时是未知的,资源排他性机制也利用PAO请求中提供的存储器地址作为PAO的锁地址及基地址。下文
提供额外细节及实例。
[0022]图1A及1B说明根据实施例的小芯片系统110的实例。图1A是安装在外围板105上的小芯片系统110的表示,外围板105可通过例如外围组件互连高速(PCIe)连接到更大计算机系统。小芯片系统110包含封装衬底115、中介层120及四个小芯片(应用程序小芯片125、主机接口小芯片135、存储器控制器小芯片140及存储器装置小芯片150)。如将从以下论述明显看出,其它系统可包含许多额外小芯片以提供额外功能性。小芯片系统110的封装被说明为具有盖子或覆盖物165,但可使用用于小芯片系统的其它封装技术及结构。图1B本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种设备,其包括:接口,其能耦合到主机或小芯片系统中的小芯片且经配置以接收针对可编程原子操作符的请求,所述请求发送到存储器控制器且包含所述可编程原子操作符的标识符及存储器地址;存储器,其经布置以保持经配置以保持锁值的数据结构;危险电路系统,其经配置以:处理所述存储器地址以识别所述锁值;验证所述锁值指示不存在对应于所述存储器地址的锁;响应于所述请求的接收及验证所述锁值指示不存在对应于所述存储器地址的锁,设置所述锁值以指示存在对应于所述存储器地址的锁;及响应于所述可编程原子操作符完成,设置所述锁值以指示不存在对应于所述存储器地址的锁;及可编程原子单元,其经配置以基于所述可编程原子操作符的所述标识符调用所述可编程原子操作符。2.根据权利要求1所述的设备,其中为了处理所述存储器地址以识别所述锁值,所述危险电路系统经配置以将所述存储器地址散列到数据结构的条目。3.根据权利要求2所述的设备,其中所述数据结构是阵列,且所述存储器地址的所述散列是所述阵列的索引。4.根据权利要求2所述的设备,其中所述数据结构具有比所述存储器控制器的可寻址空间中的存储器地址更少的条目。5.根据权利要求2所述的设备,其中所述锁值是单个位。6.根据权利要求1所述的设备,其中:所述接口经配置以接收针对所述可编程原子操作符的第二请求,所述第二请求包含所述存储器地址及所述可编程原子操作符的所述标识符,所述第二请求在从所述请求调用的所述可编程原子操作符完成之前到达;且所述危险电路系统经配置以:处理所述第二请求的所述存储器地址以识别所述锁值;验证所述锁值指示存在对应于所述存储器地址的锁;响应于所述验证所述锁值指示存在对应于所述存储器地址的锁,暂停所述第二请求;及当所述锁值指示不存在对应于所述存储器地址的锁时恢复所述第二请求。7.根据权利要求6所述的设备,其中为了暂停所述第二请求,所述危险电路系统经配置以将所述第二请求链接到数据结构中对应于所述存储器地址的所述锁值的条目。8.根据权利要求7所述的设备,其中所述条目是先进先出(FIFO)队列,且其中为了将所述第二请求链接到所述数据结构中的所述条目,所述危险电路系统经配置以使所述第二请求入列。9.根据权利要求8所述的设备,其中当所述第二请求处于所述队列的头部处时,恢复所述第二请求。10.一种方法,其包括:
在包含可编程原子单元(PAU)的存储器控制器处接收针对可编程原子操作符的请求,所述请求包含所述可编程原子操作符的标识符及存储器地址;处理所述存储器地址以识别锁值;验证所述锁值指示不存在对应于所述存储器地址的锁;响应于所述请求的接收及验证所述锁值指示不存在对应于所述存储器地址的锁,设置所述锁值以指示存在对应于所述存储器地址的锁;基于所述可编程原子操作符的所述标识符调用所述可编程原子操作符;及响应于所述可编程原子操作符完成,设置所述锁值以指示不存在对应于所述存储器地址的锁。11.根据权利要求10所述的方法,其中处理所述存储器地址以识别所述锁值包含将所述存储器地址散列到数据结构的条目。12.根据权利要求11所述的方法,其中所述数据结构是阵列,且其中将所述存储器地址散列到所述数据结构的所述条目包含将所述存储器地址散列到所述阵列的索引。13.根据权利要求11所述的方法,其中所述数据结构具有比所述存储器控制器的可寻址空间中的存储...

【专利技术属性】
技术研发人员:T
申请(专利权)人:美光科技公司
类型:发明
国别省市:

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

1