CN117743259A - 一种数据访问、多芯片级联方法、系统、设备和存储介质 - Google Patents

一种数据访问、多芯片级联方法、系统、设备和存储介质 Download PDF

Info

Publication number
CN117743259A
CN117743259A CN202311817227.0A CN202311817227A CN117743259A CN 117743259 A CN117743259 A CN 117743259A CN 202311817227 A CN202311817227 A CN 202311817227A CN 117743259 A CN117743259 A CN 117743259A
Authority
CN
China
Prior art keywords
chip
address
access
data access
chips
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311817227.0A
Other languages
English (en)
Inventor
王力
沈阳
施奕平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Calterah Semiconductor Technology Shanghai Co Ltd
Original Assignee
Calterah Semiconductor Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Calterah Semiconductor Technology Shanghai Co Ltd filed Critical Calterah Semiconductor Technology Shanghai Co Ltd
Priority to CN202311817227.0A priority Critical patent/CN117743259A/zh
Publication of CN117743259A publication Critical patent/CN117743259A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

一种数据访问、多芯片级联方法、系统、设备和存储介质,所述方法包括:接收来自上一级芯片的第一数据访问指令;根据所述第一数据访问指令中的访问地址和当前芯片的地址空间信息,确定新的访问地址;将所述第一数据访问指令中的访问地址更新为所述新的访问地址后,发送更新后的第一数据访问指令到下一级芯片,以访问目标数据。基于本公开实施例所提出的访问地址规划和更新方法,能够实现多芯片级联方式下的跨芯片数据访问,可以按需灵活构建更大可寻址范围的级联芯片组,以满足不同产品或应用需求。

Description

一种数据访问、多芯片级联方法、系统、设备和存储介质
技术领域
本公开涉及但不限于计算机芯片技术领域,尤其涉及一种数据访问、多芯片级联方法、系统、电子设备和存储介质。
背景技术
芯片系统的规模发展愈发庞大及复杂,各种SoC(System on Chip,片上系统)在具体应用场景下所需要面对处理的数据量不断攀升。单颗芯片越来越难以满足日益复杂的应用场景需要。因此,采用多个芯片连接构建多芯片系统,成为解决该问题的思路之一。
合理的芯片拓扑结构设计和芯片间数据访问方案设计,直接决定了多芯片系统的实现复杂度和可适用场景。如何有效利用多颗芯片连接构成满足不同应用需求且实现复杂度不高的多芯片级联系统,成为本领域技术人员不断探索的方向。
发明内容
本公开实施例提供一种数据访问、多芯片级联方法、系统、设备和存储介质,基于所提出的访问地址规划和更新方法,能够实现多芯片级联方式下的跨芯片数据访问,可以按需灵活构建更大可寻址范围的级联芯片组,以满足不同产品或应用需求。
本申请提供了一种数据访问方法,包括:
接收来自上一级芯片的第一数据访问指令;
根据所述第一数据访问指令中的访问地址和当前芯片的地址空间信息,确定新的访问地址;
将所述第一数据访问指令中的访问地址更新为所述新的访问地址后,发送更新后的第一数据访问指令到下一级芯片,以访问目标数据。
本申请还提供了一种多芯片级联方法,包括:
至少两个芯片采用线形方式级联;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中除所述尾芯片之外,每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如本公开任一实施例所述的数据访问方法进行数据访问。
本申请还提供了一种多芯片级联方法,包括:
至少两个芯片采用环形方式级联;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中的每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如本公开任一实施例所述的数据访问方法进行数据访问。
本申请还提供了一种多芯片级联方法,包括:
至少两个芯片组采用星行方式与中心处理单元连接;
其中,每一个芯片组包括至少两个芯片,每一个芯片组内的至少两个芯片采用如本公开任一实施例所述的多芯片级联方法的方法进行级联。
本申请还提供了一种多芯片级联系统,包括:
采用线形方式级联的至少两个芯片;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中除所述尾芯片之外,每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如本公开任一实施例所述的数据访问方法进行数据访问。
本申请还提供了一种多芯片级联系统,包括:
采用环形方式级联的至少两个芯片;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中的每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如本公开任一实施例所述的数据访问方法进行数据访问。
本申请还提供了一种多芯片级联系统,包括:
中心处理单元和至少两个芯片组;
其中,所述至少两个芯片组采用星行方式与所述中心处理单元连接;
每一个芯片组包括至少两个芯片,每一个芯片组内的至少两个芯片采用如本公开任一实施例所述的多芯片级联方法的方法进行级联。
本申请还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的数据访问方法。
本申请还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的多芯片级联方法。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任一实施例所述的数据访问方法。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任一实施例所述的多芯片级联方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种数据访问方法的流程图;
图2为本申请实施例提供的另一种数据访问方法的流程图;
图3为本申请实施例提供的另一种数据访问方法的流程图;
图4为本申请实施例提供的另一种数据访问方法的流程图;
图5为本申请实施例提供的一种线形拓扑的级联芯片结构示意图;
图6为本申请实施例提供的另一种线形拓扑的级联芯片结构示意图;
图7为本申请实施例提供的一种环形拓扑的级联芯片结构示意图;
图8为本申请实施例提供的另一种环形拓扑的级联芯片结构示意图;
图9为本申请实施例提供的一种级联芯片间通信信号示意图;
图10为本申请实施例提供的一种线形和星形复合拓扑的级联芯片结构示意图;
图11为本申请实施例提供的一种环形和星形复合拓扑的级联芯片结构示意图;
图12为本申请实施例提供的一种线形扩展拓扑的级联芯片结构示意图;
图13为本申请实施例提供的一种环形扩展拓扑的级联芯片结构示意图;
图14为本申请实施例提供的一种线形和星形复合扩展拓扑的级联芯片结构示意图;
图15为本申请实施例提供的一种环形和星形复合扩展拓扑的级联芯片结构示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
需要说明,在本公开实施例中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在芯片设计中基本定位为单颗芯片工作的场景,随着应用复杂度的提升,对芯片处理能力,芯片容量,可寻址范围的要求日益提高,需要不断扩大芯片的配置。但是,不同的产品或应用对芯片的处理能力,容量的需求又不同,不断追求扩大化高配置的单芯片方案,对有效控制芯片成本、产品尺寸以及产品成本并不友好。本公开实施例提供一种数据访问方法,基于芯片的级联拓扑,实现跨芯片的寻址和数据访问,可以灵活、简单地实现单芯片到多芯片的级联组合,以基本的单芯片搭建满足不同配置需要的级联芯片组,满足多种产品规格或应用需要。
本公开实施例提供一种数据访问方法,如图1所示,包括:
步骤110,接收来自上一级芯片的第一数据访问指令;
步骤120,根据所述第一数据访问指令中的访问地址和当前芯片的地址空间信息,确定新的访问地址;
步骤130,将所述第一数据访问指令中的访问地址更新为所述新的访问地址后,发送更新后的第一数据访问指令到下一级芯片,以访问目标数据。
需要说明的是,本公开实施例中,第一数据访问指令和第二数据访问指令,是针对当前芯片而言不同类型的数据访问指令。第一、第二是相对概念,属于不同视角下的两种数据访问指令。第一数据访问指令来自其他外部芯片,是由其他外部芯片发送给当前芯片的数据访问指令,第二数据访问指令是当前芯片自身发起的数据访问指令。对于当前芯片而言,第二数据访问指令也可以被发送到级联的外部芯片,发出后,对于接收到该指令的外部芯片而言,该指令就是第一数据访问指令。
一些示例性实施例中,所述地址空间信息,包括:片内最大可寻址范围和外部级联芯片可访问地址范围。
一些示例性实施例中,片内最大可寻址范围包括外部级联芯片可访问地址范围。
片内最大可寻址范围表示,如果访问地址在这个范围内,就在芯片内寻址,超过了就报错或向其他芯片寻址。需要说明的是,片内最大可寻址范围内具体空间地址的划分,根据当前芯片的设计需要自行确定,可以全部地址被分配使用,也可以保留部分地址暂不分配使用,不限于特定的方面。
外部级联芯片可访问地址范围表示,这个范围内的地址是允许外部芯片访问的,其地址范围被包括在片内最大可寻址范围内。
需要说明的是,为了实现多个芯片级联提出了本公开所述的数据访问方法,多个芯片级联可以扩展地址空间,当前芯片可访问的地址空间,一部分是自身的片内地址空间,另一部分是级联的外部芯片的可访问地址空间的总和。例如,当前芯片为N0,其片内最大可寻址范围是0x0000_0000~0x7FFF_FFFF,外部级联8个芯片N1-N8,每一个提供的外部芯片的可访问地址范围是0x0000_0000~0x0FFF_FFFF,则N0可以访问的地址范围最大为:0x0000_0000~0xFFFF_FFFF,其中,0x0000_0000~0x7FFF_FFFF在自身芯片内寻址,0x8000_0000~0xFFFF_FFFF在N1-N8各自对外提供的可访问地址范围内寻址。此时,访问地址位宽为32bit,根据最高4bit,确定具体到片内还是片外进行数据访问,最高4bit小于0x8,则进行片内寻址,大于或等于0x8,则进行片外寻址。
其中,片内最大可寻址范围可以定义为上限阈值,例如:0x8000_0000,表示小于该上限阈值0x8000_0000的访问地址,在片内进行寻址。或者,片内最大可寻址范围可以定义为起始地址和结束地址,例如,0x0000_0000~0x7FFF_FFFF,表示在这个起始地址和结束地址之内的访问地址,都在片内进行寻址。具体定义的形式不限于本公开示例的方面。
外部级联芯片可访问地址范围可以定义为上限阈值,例如:0x1000_0000,表示小于该上限阈值0x1000_0000的访问地址,是当前芯片内可以被外部芯片访问的地址空间。或者,外部级联芯片可访问地址范围可以定义为起始地址和结束地址,例如,0x0000_0000~0x0FFF_FFFF,表示在这个起始地址和结束地址之内的访问地址,是当前芯片可以被外部芯片访问的地址空间。
一些示例性实施例中,外部级联芯片可访问地址范围最大等于片内最大可寻址范围。
一些示例性实施例中,外部级联芯片可访问地址范围在片内最大可寻址范围的低地址范围内。其中,低地址指地址值小的地址;例如,片内最大可寻址范围0x0000_0000~0x7FFF_FFFF,其中,0x0000_0000~0x0FFF_FFFF为外部级联芯片可访问地址范围。外部级联芯片可访问地址范围对应一个地址偏移量。例如,外部级联芯片可访问地址范围0x0000_0000~0x0FFF_FFFF,其对应的地址偏移量为0x1000_0000。
需要说明的是,片内最大可寻址范围包括的其他0x1000_0000~0x7FFF_FFFF的地址范围可以是被当前芯片产生的其他指令访问,或者,也可以是预留未分配使用的地址。其中,低地址指地址值小的地址。
一些示例性实施例中,根据具体的地址空间规划,在总的可访问地址范围内,片内最大可寻址范围,对应总的可访问地址范围内的低地址范围。片内最大可寻址范围对应一个地址偏移量。例如,片内最大可寻址范围0x0000_0000~0x7FFF_FFFF,其对应的地址偏移量为0x80000000。
需要说明的是,本公开实施例中,根据数据访问指令访问目标数据,不限于访问特定的片内组件,可以访问片内存储器、寄存器以及外围设备等。
一些示例性实施例中,所述根据第一数据访问指令中的访问地址和当前芯片的地址空间信息,确定新的访问地址,包括:
根据所述第一数据访问指令中的访问地址、当前芯片的片内最大可寻址范围和外部级联芯片可访问地址范围,判断所述访问地址超出当前芯片的片内可访问范围,则确定所述新的访问地址。
一些示例性实施例中,所述访问地址是否超出当前芯片的片内可访问范围根据以下方法判断:
将第一数据访问指令中的访问地址减去当前芯片的片内最大可寻址范围对应的偏移量,得到地址差值;
在所述地址差值落入当前芯片的外部级联芯片可访问地址范围的情况下,判定未超出当前芯片的片内可访问范围;
在所述地址差值未落入当前芯片的外部级联芯片可访问地址范围的情况下,判定超出当前芯片的片内可访问范围。
例如,当前芯片的片内最大可寻址范围是0x0000_0000~0x7FFF_FFFF,对应偏移量为0x8000_0000;外部级联芯片可访问地址范围0x0000_0000~0x0FFF_FFF,对应偏移量为0x1000_0000。第一数据访问指令中的访问地址是0x9100_0000,0x9100_0000-0x8000_0000=0x1100_0000,未落入0x0000_0000~0x0FFF_FFF,则判断该访问地址0x9100_0000超出当前芯片的片内可访问范围,则确定所述新的访问地址;第一数据访问指令中的访问地址是0x8100_0000,0x8100_0000-0x8000_0000=0x0100_0000,落入0x0000_0000~0x0FFF_FFF,则判断该访问地址0x8100_0000未超出当前芯片的片内可访问范围,即在当前芯片的片内可访问范围内。
一些示例性实施例中,如图2所示,所述方法还包括:
步骤140,根据所述第一数据访问指令中的访问地址、当前芯片的片内最大可寻址范围和外部级联芯片可访问地址范围,判断所述第一数据访问指令中的访问地址在当前芯片的片内可访问范围内,则根据所述访问地址和当前芯片的片内最大可寻址范围,访问所述当前芯片中的目标数据。
一些示例性实施例中,所述根据所述访问地址和当前芯片的片内最大可寻址范围,访问所述当前芯片中的目标数据,包括:
将所述第一数据访问指令中的访问地址减去当前芯片的片内最大可寻址范围对应的地址偏移量,得到片内访问地址,访问所述当前芯片中的目标数据。
例如,第一数据访问指令中的访问地址是0x8100_0000,0x8100_0000-0x8000_0000=0x0100_0000,落入0x0000_0000~0x0FFF_FFF,则判断该访问地址0x8100_0000未超出当前芯片的片内可访问范围,即在当前芯片的片内可访问范围内,则访问所述当前芯片中的目标数据;0x8100_0000-0x8000_0000=0x0100_0000,得到片内访问地址0x0100_0000,根据该片内访问地址0x0100_0000进行当前芯片的片内寻址以访问目标数据。
一些示例性实施例中,如图3所示,所述方法还包括:
步骤150,根据所述第一数据访问指令中的访问地址、当前芯片的片内最大可寻址范围和外部级联芯片可访问地址范围,判断所述第一数据访问指令中的访问地址超出当前芯片的片内可访问范围,但当前芯片未级联下一级芯片,则丢弃所述第一数据访问指令或执行异常处理。
例如,第一数据访问指令中的访问地址是0x9100_0000,0x9100_0000-0x8000_0000=0x1100_0000,未落入0x0000_0000~0x0FFF_FFF,则判断该访问地址0x9100_0000超出当前芯片的片内可访问范围,但当前芯片未级联下一级芯片,则丢弃该数据访问指令或执行异常处理。
一些示例性实施例中,步骤130中的所述新的访问地址根据以下方式确定:
将接收到的第一数据访问指令中的访问地址减去当前芯片的外部级联芯片可访问地址范围对应的地址偏移量,得到所述新的访问地址。
例如,第一数据访问指令中的访问地址是0x9100_0000,0x9100_0000-0x8000_0000=0x1100_0000,未落入0x0000_0000~0x0FFF_FFF,则判断该访问地址0x9100_0000超出当前芯片的片内可访问范围,计算新的访问地址:0x9100_0000-0x1000_0000=0x8100_0000,将第一数据访问指令中的访问地址更改为新的访问地址0x8100_0000后,发给下一级芯片。
一些示例性实施例中,所述发送更新后的第一数据访问指令到下一级芯片,以访问目标数据,包括:
方式一:所述当前芯片发送所述更新后的第一数据访问指令到所述下一级芯片,以访问所述目标数据;
或者,
方式二:所述当前芯片与所述下一级芯片完成握手后,发送所述更新后的第一数据访问指令到所述下一级芯片,以访问所述目标数据;
或者,
方式三:所述当前芯片根据所述更新后的第一数据访问指令,发送对应的数据块传输指令到所述下一级芯片,以访问所述目标数据。
其中,方式一也称为直接转发传输,方式二称为握手通信传输,方式三也称为数据块传输。即芯片间的数据传送可以采用三种方式中的任一种。可以理解,直接转发传输方式误码率相对较高,握手传输方式误码率相对较低;数据块传输方式更适合数据量大的传输需要。根据数据传送需求选择所需传输方式即可,不限于特定方式。
一些示例性实施例中,如图4所示,所述方法还包括:
步骤160,根据当前芯片发起的第二数据访问指令中的访问地址和当前芯片的片内最大可寻址范围,访问当前芯片中的目标数据或将所述第二数据访问指令发送到下一级芯片以访问目标数据。
一些示例性实施例中,步骤160包括:
根据当前芯片发起的第二数据访问指令中的访问地址和当前芯片的片内最大可寻址范围,判断所述第二数据访问指令中的访问地址超出当前芯片的片内最大可寻址范围,则将所述第二数据访问指令发送到下一级芯片以访问目标数据;
或者,
根据当前芯片发起的第二数据访问指令中的访问地址和当前芯片的片内最大可寻址范围,判断所述第二数据访问指令中的访问地址在当前芯片的片内最大可寻址范围内,则根据所述第二数据访问指令中的访问地址,访问当前芯片中的目标数据。
例如,第二数据访问指令中的访问地址是0x7100_0000,当前芯片N0的片内最大可寻址范围是0x0000_0000~0x7FFF_FFFF,该访问地址0x7100_0000在当前芯片的片内最大可寻址范围内,则根据访问地址0x7100_0000访问当前芯片中的目标数据。又例如,第二数据访问指令中的访问地址是0x8100_0000,当前芯片的片内最大可寻址范围是0x0000_0000~0x7FFF_FFFF,该访问地址0x8100_0000超出当前芯片的片内最大可寻址范围,将第二数据访问指令发送到下一级联芯片N1。可以理解,对于N0来说,该数据访问指令为N0自身发起的数据访问指令,为第二数据访问指令;对于N1来说,该数据访问指令为来自上一级芯片N0的指令,为第一数据访问指令。
可以理解,当前芯片针对接收到的第一数据访问指令完成对应的本地访问或从下一级芯片接收到响应后,对应向上一级芯片返回响应。当前芯片针对第二数据访问指令完成对应的本地访问或接收到来自下一级芯片的响应后,对应进行后续处理。基于此,根据本公开实施例提供的方案,各芯片可以在多芯片级联后,实现片内或跨芯片的数据访问。
可以理解,根据本公开实施例提供的数据访问方法,针对级联的多个芯片,基于规划好的地址空间,各级芯片,对自身发起的第二数据访问指令和来自外部其他芯片的第一数据访问指令,分别按照对应的数据访问指令处理规则实现目标数据访问。可以灵活按需配置级联结构,实现逻辑简单统一。
本公开实施例还提供一种多芯片级联方法,包括:
至少两个芯片采用线形方式级联;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中除所述尾芯片之外,每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如本公开任一实施例所述的方法进行数据访问。
一些示例性实施例中,所述级联的各芯片为相同规格的芯片;各芯片具有相同的地址空间信息。
一些示例性实施例中,所述级联的各芯片为不同规格的芯片;不同规格的芯片具有不同的地址空间信息。
一些示例性实施例中,如图5所示,9个芯片采用线形方式级联,为相同的芯片,N0-N8。芯片N0,片内最大可寻址范围为0x0000_0000~0x7FFF_FFFF,但实际分配使用0x0000_0000~0x0FFF_FFFF,其他地址预留未分配使用;芯片N1-N8,各自片内最大可寻址范围为0x0000_0000~0x7FFF_FFFF,但实际分配使用0x0000_0000~0x0FFF_FFFF,其他地址预留未分配使用,外部级联芯片可访问地址范围0x0000_0000~0x0FFF_FFFF。
对于N0来说,通过地址空间0x0000_0000~0x0FFF_FFFF访问本芯片内数据,通过地址空间0x8000_0000~0x8FFF_FFFF可以访问片外第一级芯片N1,通过地址空间0x9000_0000~0x9FFF_FFFF可以访问片外第二级芯片N2,通过地址空间0xA000_0000~0xAFFF_FFFF可以访问片外第三级芯片N3,通过地址空间0xB000_0000~0xBFFF_FFFF可以访问片外第四级芯片N4,通过地址空间0xC000_0000~0xCFFF_FFFF可以访问片外第五级芯片N5,通过地址空间0xD000_0000~0xDFFF_FFFF可以访问片外第六级芯片N6,通过地址空间0xE000_0000~0xEFFF_FFFF可以访问片外第七级芯片N7,通过地址空间0xF000_0000~0xFFFF_FFFF可以访问片外第八级芯片N8。
对于N0而言,其N0-N8的芯片地址空间划分如表1所示:
表1芯片地址空间的划分
芯片 地址空间
芯片N0 0x0000_0000~0x0FFF_FFFF
芯片N1 0x8000_0000~0x8FFF_FFFF
芯片N2 0x9000_0000~0x9FFF_FFFF
芯片N3 0xA000_0000~0xAFFF_FFFF
芯片N4 0xB000_0000~0xBFFF_FFFF
芯片N5 0xC000_0000~0xCFFF_FFFF
芯片N6 0xD000_0000~0xDFFF_FFFF
芯片N7 0xE000_0000~0xEFFF_FFFF
芯片N8 0xF000_0000~0xFFFF_FFFF
N1-N8的每一个芯片收到前一级芯片发送的第一数据访问指令,根据其访问地址减去片内最大可寻址范围对应的地址偏移量0x8000_0000,如果结果在外部级联芯片可访问地址范围0x0000_0000~0x0FFF_FFFF内,则根据该结果访问本芯片,如果结果超出外部级联芯片可访问地址范围0x0000_0000~0x0FFF_FFFF,则计算新的访问地址=接收到的访问地址减去外部级联芯片可访问地址范围对应的地址偏移量0x1000_0000,将更新了访问地址后的第一数据访问指令发送给下一级芯片。
例如,N0发起访问地址为0x9100_0000的第二数据访问指令,执行步骤160将第二数据访问指令发送到下一级芯片N1;N1执行步骤110接收到访问地址为0x9100_0000的第一数据访问指令,执行步骤120,确定新的访问地址为0x8100_0000,继续执行步骤130,将第一数据访问指令的访问地址更新为0x8100_0000,发送给下一级芯片N2;N2执行步骤110接收到访问地址为0x8100_0000的第一数据访问指令,执行步骤140,判断访问地址0x8100_0000在当前芯片N2的片内可访问范围内,则计算得到片内访问地址0x8100_0000-0x8000_0000=0x0100_0000,根据0x0100_0000访问N2内的目标数据。即,N0发起的访问地址为0x9100_0000的第二数据访问指令,最终从N2获取了目标数据。
在线形连接中,只有前级芯片可以访问后级芯片,后级芯片不能访问前级芯片。芯片访问关系如表2。芯片N0可以访问其后N1至N8的所有芯片;芯片N1可以访问其后N2至N8的所有芯片;芯片N2可以访问其后N3至N8的所有芯片;芯片N3可以访问其后N4至N8的所有芯片;芯片N4可以访问其后N5至N8的所有芯片;芯片N5可以访问其后N6至N8的所有芯片;芯片N6可以访问其后的芯片N7和N8;芯片N7可以访问其后的芯片N8;芯片N8只能访问其本身。
表2线形连接芯片访问关系
芯片 可访问片外芯片
芯片N0 N1,N2,N3,N4,N5,N6,N7,N8
芯片N1 N2,N3,N4,N5,N6,N7,N8
芯片N2 N3,N4,N5,N6,N7,N8
芯片N3 N4,N5,N6,N7,N8
芯片N4 N5,N6,N7,N8
芯片N5 N6,N7,N8
芯片N6 N7,N8
芯片N7 N8
芯片N8
一些示例性实施例中,线形拓扑结构,N0-N8,按照连接的芯片数量不同,一共有8种线形拓扑结构,如图7所示,这些结构与图5一样,都是前级芯片可以访问后级芯片。
一些示例性实施例中,访问地址位宽为32bit,根据最高2bit,确定具体到片内还是片外进行数据访问,最高2bit小于01,则进行片内寻址,大于或等于01,则进行片外寻址。片内最大可寻址范围0x0000_0000~0x3FFF_FFFF,其对应的地址偏移量为0x4000_0000。实际分配使用0x0000_0000~0x3FFF_FFFF,外部级联芯片可访问地址范围0x0000_0000~0x3FFF_FFFF,其对应的地址偏移量为0x4000_0000。N0-N3四个芯片级联,对于N0来说,其N0-N3的芯片地址空间划分如表3所示:
表3芯片地址空间的划分
芯片 地址空间
芯片N0 0x0000_0000~0x3FFF_FFFF
芯片N1 0x4000_0000~0x7FFF_FFFF
芯片N2 0x8000_0000~0xBFFF_FFFF
芯片N3 0xC000_0000~0xFFFF_FFFF
可以理解,具体寻址地址的根据最高几位进行片内或片外寻址,可以根据设计需要灵活确定,更多示例在此不一一详细讨论。
本公开实施例还提供一种多芯片级联方法,包括:
至少两个芯片采用环形方式级联;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中的每一个芯片对应一个下一级芯片;
所述每一个芯片根据如本公开任一实施例所述的数据访问方法进行数据访问。
一些示例性实施例中,所述级联的各芯片为相同规格的芯片;各芯片具有相同的地址空间信息。
一些示例性实施例中,所述级联的各芯片为不同规格的芯片;不同规格的芯片具有不同的地址空间信息。
一些示例性实施例中,如图7所示,9个芯片采用环形方式级联,为相同的芯片,N0-N8。芯片N0-N8,各自片内最大可寻址范围为0x0000_0000~0x7FFF_FFFF,但实际分配使用0x0000_0000~0x0FFF_FFFF,其他地址预留未分配使用,外部级联芯片可访问地址范围0x0000_0000~0x0FFF_FFFF。
在图7所示环形连接中,所有芯片连接成环形,这时所有芯片从链接上看是同等的,无主次之分,每颗芯片都可以发起一次对片外任意芯片的访问。这时芯片的访问关系如表4所示。
表4环形连接芯片访问关系
对于芯片N0来说,可以依图7中所示箭头访问芯片N1,N2,N3,N4,N5,N6,N7,N8;芯片N1可以依图7中所示箭头访问芯片N2,N3,N4,N5,N6,N7,N8,N0;芯片N2可以依图7中所示箭头访问芯片N3,N4,N5,N6,N7,N8,N0,N1;芯片N3可以依图7中所示箭头访问芯片N4,N5,N6,N7,N8,N0,N1,N2;芯片N4可以依图7中所示箭头访问芯片N5,N6,N7,N8,N0,N1,N2,N3;芯片N5可以依图7中所示箭头访问芯片N6,N7,N8,N0,N1,N2,N3,N4;芯片N6可以依图7中所示箭头访问芯片N7,N8,N0,N1,N2,N3,N4,N5;芯片N7可以依图7中所示箭头访问芯片N8,N0,N1,N2,N3,N4,N5,N6;芯片N8可以依图7中所示箭头访问芯片N0,N1,N2,N3,N4,N5,N6,N7。
一些示例性实施例中,环形拓扑结构,N0-N8,按照连接的芯片数量不同,一共有8中环形拓扑结构,如图8所示,这些结构与图7一样,每颗芯片都可以发起一次对片外任意芯片的访问。
一些示例性实施例中,如图9所示,芯片间级联的信号类型包括:同步信号、数据信号、低速管理信号。同步信号用于协调各个芯片同步工作。数据信号提供芯片之间数据传输,相比之下数据传输速率较高,也称为高速数据信号。管理信号用于管理高速链路和各个芯片的运行,比之下数据传输速率较低,也称为低速管理信号。
可以看到,芯片均通过互联信号与下一级芯片连接。同步信号通过转发机制将信号传到下一级芯片,脉冲电平同步信号通过增加放大器输出到下一级芯片,射频同步信号也通过放大器输出到下一级芯片;数据信号通过下一级片上总线将数据转发到下一级芯片;管理信号通过适配方式将信号线连接,使用I2C(Inter-Integrated Circuit,"集成电路之间的串行通信接口)协议时,只需将本芯片内的I2C slave通过开漏传输管连接到总线,同时总线接上拉电阻。这种信号的连接方式只需将芯片两两相连来构成系统。
图9中通过管理信号可以增强芯片拓扑系统的功能安全特性,数据信号通路在数据传输之前,先通过管理信号完成数据信号通路的训练,获得最佳配置,再开始数据传输。数据传输时,增加CRC(循环冗余校验码),在数据传输过程中,接收方收到数据进行校验,如果检验出错,则通过管理管理通告知发送发重传。
本公开实施例还提供一种多芯片级联方法,包括:
至少两个芯片组采用星行方式与中心处理单元连接;
其中,每一个芯片组包括至少两个芯片,每一个芯片组内的至少两个芯片采用如本公开实施例所述的线形方式级联或者采用如本公开实施例所述的环形方式级联。
本公开实施例还提供一种多芯片级联系统,包括:
采用线形方式级联的至少两个芯片;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中除所述尾芯片之外,每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如本公开任一实施例所述的数据访问方法进行数据访问。
本公开实施例还提供一种多芯片级联系统,包括:
采用环形方式级联的至少两个芯片;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中的每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如本公开任一实施例所述的数据访问方法进行数据访问。
本公开实施例还提供一种多芯片级联系统,包括:
中心处理单元和至少两个芯片组;
其中,所述至少两个芯片组采用星行方式与所述中心处理单元连接;
每一个芯片组包括至少两个芯片,每一个芯片组内的至少两个芯片采用如本公开实施例所述的线形方式级联或者采用如本公开实施例所述的环形方式级联。
一些示例性实施例中,如图10所示,是线形与星形组合的复合拓扑结构。这种结构是线形拓扑结构与中心处理单元连接构成的,与中心处理单元通过其他方式连接的,比如以太网,CAN总线等等。图10中是4芯片线形与星形组合的示例。其中各芯片组是相同数量或不同数量的多颗芯片构成的线形拓扑。线形拓扑的数量,即芯片组的数量也可以根据需要灵活配置。
一些示例性实施例中,如图11所示,是环形与星形组合的复合拓扑结构。这种结构是环形拓扑结构与中心处理单元连接构成的,与中心处理单元通过其他方式连接的,比如以太网,CAN总线等等。图11中是4芯片环形与星形组合的示例。其中各芯片组是相同数量或不同数量的多颗芯片构成的线形拓扑。环形拓扑的数量,即芯片组的数量也可以根据需要灵活配置。
可以理解,不同的芯片连接拓扑结构可以应用于不同的系统。线形拓扑结构和环形拓扑结构可以应用于封装级系统连接和PCB板级系统连接。复合星形拓扑结构可以应用在域系统连接,比如室内系统连接,车载系统连接等等。
本公开实施例还提供一种多芯片级联系统,基于有限的地址位宽,通过上层软件方式,扩展连接更多芯片。
一些示例性实施例中,如图12所示,芯片线形扩展拓扑连接,在32bit地址位宽的情况下,芯片N9到Nk为扩展的芯片,N0最远能根据地址寻址访问到芯片N8,N9到Nk芯片可以通过软件方式进行访问。每颗芯片都如此,根据本公开实施例提供的数据访问方法最多能通过访问地址访问到片外8颗芯片,之后的芯片可以通过软件方式进行访问。
一些示例性实施例中,如图13所示,芯片环形扩展拓扑连接,在32bit地址位宽的情况下,芯片N9到Nk为扩展的芯片,N0最远能根据地址寻址访问到芯片N8,N9到Nk芯片可以通过软件方式进行访问。每颗芯片都如此,根据本公开实施例提供的数据访问方法最多能通过访问地址访问到片外8颗芯片,之后的芯片可以通过软件方式进行访问。
一些示例性实施例中,如图14和图15所示,分别是图12和图13中的线形拓扑和环形拓扑与星形复合的扩展拓扑结构。每个局部的拓扑结构与图12和图13中一样。这些结构是线形或者环形拓扑结构与中心处理单元连接构成的,与中心处理单元通过其他方式连接的,比如以太网,CAN总线等等。图14和图15中线形或者环形拓扑的数量也可以根据场景是任意的。
本公开实施例还提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的数据访问方法。
本公开实施例还提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的多芯片级联方法。
本公开实施例还提供一种计算机存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如本公开任一实施例所述的数据访问方法。
本公开实施例还提供一种计算机存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如本公开任一实施例所述的多芯片级联方法。
可以看到,基于本公开所提出的访问地址规划和更新方法,采用所述数据访问方法能够实现多芯片级联方式下的跨芯片数据访问,可以按需灵活构建更大可寻址范围的级联芯片组,以满足不同产品或应用需求。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (16)

1.一种数据访问方法,其特征在于,包括:
接收来自上一级芯片的第一数据访问指令;
根据所述第一数据访问指令中的访问地址和当前芯片的地址空间信息,确定新的访问地址;
将所述第一数据访问指令中的访问地址更新为所述新的访问地址后,发送更新后的第一数据访问指令到下一级芯片,以访问目标数据。
2.如权利要求1所述的数据访问方法,其特征在于,
所述地址空间信息,包括:片内最大可寻址范围和外部级联芯片可访问地址范围;
所述根据第一数据访问指令中的访问地址和当前芯片的地址空间信息,确定新的访问地址,包括:
根据所述第一数据访问指令中的访问地址、当前芯片的片内最大可寻址范围和外部级联芯片可访问地址范围,判断所述访问地址超出当前芯片的片内可访问范围,则确定所述新的访问地址。
3.如权利要求2所述的数据访问方法,其特征在于,
所述新的访问地址根据以下方式确定:
将接收到的第一数据访问指令中的访问地址减去当前芯片的外部级联芯片可访问地址范围对应的地址偏移量,得到所述新的访问地址。
4.如权利要求2所述的数据访问方法,其特征在于,
所述方法还包括:
根据所述第一数据访问指令中的访问地址、当前芯片的片内最大可寻址范围和外部级联芯片可访问地址范围,判断所述第一数据访问指令中的访问地址在当前芯片的片内可访问范围内,则根据所述访问地址和当前芯片的片内最大可寻址范围,访问所述当前芯片中的目标数据。
5.如权利要求4所述的数据访问方法,其特征在于,
所述根据所述访问地址和当前芯片的片内最大可寻址范围,访问所述当前芯片中的目标数据,包括:
将所述第一数据访问指令中的访问地址减去当前芯片的片内最大可寻址范围对应的地址偏移量,得到片内访问地址,访问所述当前芯片中的目标数据。
6.如权利要求2所述的数据访问方法,其特征在于,
所述方法还包括:
根据所述第一数据访问指令中的访问地址、当前芯片的片内最大可寻址范围和外部级联芯片可访问地址范围,判断所述第一数据访问指令中的访问地址超出当前芯片的片内可访问范围,但当前芯片未级联下一级芯片,则丢弃所述第一数据访问指令或执行异常处理。
7.如权利要求1-6任一项所述的数据访问方法,其特征在于,
所述发送更新后的第一数据访问指令到下一级芯片,以访问目标数据,包括:
所述当前芯片发送所述更新后的第一数据访问指令到所述下一级芯片,以访问所述目标数据;
或者,所述当前芯片与所述下一级芯片完成握手后,发送所述更新后的第一数据访问指令到所述下一级芯片,以访问所述目标数据;
或者,所述当前芯片根据所述更新后的第一数据访问指令,发送对应的数据块传输指令到所述下一级芯片,以访问所述目标数据。
8.如权利要求2所述的数据访问方法,其特征在于,
所述方法还包括:
根据当前芯片发起的第二数据访问指令中的访问地址和当前芯片的片内最大可寻址范围,访问当前芯片中的目标数据或将所述第二数据访问指令发送到下一级芯片以访问目标数据。
9.一种多芯片级联方法,其特征在于,包括:
至少两个芯片采用线形方式级联;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中除所述尾芯片之外,每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如权利要求1-8任一项所述的数据访问方法进行数据访问。
10.一种多芯片级联方法,其特征在于,包括:
至少两个芯片采用环形方式级联;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中的每一个芯片对应一个下一级芯片;
所述每一个芯片根据如权利要求1-8任一项所述的数据访问方法进行数据访问。
11.一种多芯片级联方法,其特征在于,包括:
至少两个芯片组采用星行方式与中心处理单元连接;
其中,每一个芯片组包括至少两个芯片,每一个芯片组内的至少两个芯片采用如权利要求9或10所述的多芯片级联方法进行级联。
12.一种多芯片级联系统,其特征在于,包括:
采用线形方式级联的至少两个芯片;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中除所述尾芯片之外,每一个芯片对应一个下一级芯片;
所述至少两个芯片中的每一个芯片根据如权利要求1-8任一项所述的数据访问方法进行数据访问。
13.一种多芯片级联系统,其特征在于,包括:
采用环形方式级联的至少两个芯片;
其中,所述至少两个芯片包括:头芯片和尾芯片;所述至少两个芯片中的每一个芯片对应一个下一级芯片;
所述每一个芯片根据如权利要求1-8任一项所述的数据访问方法进行数据访问。
14.一种多芯片级联系统,其特征在于,包括:
中心处理单元和至少两个芯片组;
其中,所述至少两个芯片组采用星行方式与所述中心处理单元连接;
每一个芯片组包括至少两个芯片,每一个芯片组内的至少两个芯片采用如权利要求9或10所述的多芯片级联方法进行级联。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的数据访问方法,或者,实现如权利要求9-11中任一项所述的多芯片级联方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的数据访问方法,或者,实现如权利要求9-11中任一项所述的多芯片级联方法。
CN202311817227.0A 2023-12-26 2023-12-26 一种数据访问、多芯片级联方法、系统、设备和存储介质 Pending CN117743259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311817227.0A CN117743259A (zh) 2023-12-26 2023-12-26 一种数据访问、多芯片级联方法、系统、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311817227.0A CN117743259A (zh) 2023-12-26 2023-12-26 一种数据访问、多芯片级联方法、系统、设备和存储介质

Publications (1)

Publication Number Publication Date
CN117743259A true CN117743259A (zh) 2024-03-22

Family

ID=90259143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311817227.0A Pending CN117743259A (zh) 2023-12-26 2023-12-26 一种数据访问、多芯片级联方法、系统、设备和存储介质

Country Status (1)

Country Link
CN (1) CN117743259A (zh)

Similar Documents

Publication Publication Date Title
US20220335002A1 (en) Control Method and Apparatus
US7760768B2 (en) System and method for allocating a plurality of sources to a plurality of channels
US7286384B2 (en) Automatic resource assignment in stacked module devices
CN114996201B (zh) 一种基于Die互连的路由系统
US8533377B2 (en) System and method for allocating transaction ID in a system with a plurality of processing modules
US11288223B2 (en) Bridge chip with function of expanding external devices and associated expansion method
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
CN103905310A (zh) 报文处理的方法及转发设备
CN117743259A (zh) 一种数据访问、多芯片级联方法、系统、设备和存储介质
CN109783002B (zh) 数据读写方法、管理设备、客户端和存储系统
US10095643B2 (en) Direct memory access control device for at least one computing unit having a working memory
US8645620B2 (en) Apparatus and method for accessing a memory device
CN116032746B (zh) 资源池的信息处理方法及装置、存储介质及电子装置
CN115576889B (zh) 链式的多芯片系统及通讯方法
CN116471224A (zh) 通信系统、方法及相关装置
US20110179213A1 (en) Memory module and memory module system
WO2019120294A1 (en) Data-processing apparatus, data transmission method, and computing system thereof
US6772232B1 (en) Address assignment procedure that enables a device to calculate addresses of neighbor devices
CN113328948B (zh) 资源管理方法、装置、网络设备及计算机可读存储介质
CN114860511A (zh) 数据处理方法和装置、芯片、电子设备、介质
CN113568863A (zh) 数据传输方法、路由节点、众核系统、计算机可读介质
CN111343227B (zh) 信息处理装置、信息处理方法和信息处理计算机可读存储介质
EP1752877A2 (en) A processing module
US11240178B2 (en) Data transmission method and data transmission system
US20230018349A1 (en) Device management method, apparatus, and computer system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination