CN117453609B - 多芯粒的软件程序配置方法、装置、电子设备及存储介质 - Google Patents
多芯粒的软件程序配置方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117453609B CN117453609B CN202311354943.XA CN202311354943A CN117453609B CN 117453609 B CN117453609 B CN 117453609B CN 202311354943 A CN202311354943 A CN 202311354943A CN 117453609 B CN117453609 B CN 117453609B
- Authority
- CN
- China
- Prior art keywords
- core
- data
- data frame
- software program
- data packet
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 239000007771 core particle Substances 0.000 claims abstract description 96
- 238000012545 processing Methods 0.000 claims abstract description 61
- 230000001360 synchronised effect Effects 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 13
- 239000000758 substrate Substances 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000008187 granular material Substances 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Multi Processors (AREA)
Abstract
本申请实施例提供了一种多芯粒的软件程序配置方法、装置、电子设备及存储介质。所述方法包括:基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路;通过所述外部处理器根据所述多芯粒芯片系统中各所述芯粒的两线总线连接拓扑顺序,组成数据帧,并将所述数据帧发送给所述多芯粒芯片系统;所述数据帧包括:帧头和各所述芯粒的数据包,每个所述数据包中包含对应芯粒的软件程序数据;依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置。本申请实施例可以实现便捷的芯片软件程序配置,降低了软件程序配置的成本。
Description
技术领域
本申请涉及半导体技术领域,特别是涉及一种多芯粒的软件程序配置方法、装置、电子设备及存储介质。
背景技术
在使用芯粒(或小芯片)技术提高整体协处理器芯片计算能力(如人工智能加速)的应用中,经常需要把多颗相同的协处理器芯粒(或小芯片)集成在一个封装内来实现,这些协处理器芯粒在封装内以某种拓扑结构相互连接。如图1所示,单一封装内集成了6颗完全一样的协处理器芯粒,并通过黑色粗线的总线(可以为UCIe或者专有的Die2die等协议)拓扑进行连接,这些连接一般是通过封装内基板(substrate)来实现。同时,协处理器本身会通过某些高速总线(可以为UCIe,PCIe或者专有的Chip2chip等协议)与外部处理器进行连接,这个连接一般是通过印刷线路板(PCB)来实现。
在很多时候,在如图1所示的6颗协处理器芯粒组成的系统中,因为拓扑连接关系的差异,每个协处理器芯粒执行不同的计算任务,也运行着不同的软件程序。这里把这种由物理上完全相同但执行不同任务的协处理器芯粒组成的芯片系统称为同源异构多芯粒协处理器芯片。在实际应用中,在整个同源异构多芯粒系统开始执行正常的计算任务之前,必须为系统中的每个芯粒配置相应的软件程序。由于整个多芯粒系统的计算任务时刻在发生变化,因此这些软件程序需要存储在动态存储器(RAM)中,可以是片上的RAM,或者是片外的DRAM。这些软件程序在整个系统启动时或者进行计算任务准备时由片外的主处理器通过外部总线进行配置并传输到各个芯粒节点。
在实际应用中,组成芯片的各个芯粒在物理上完全相同(或者仅有每个芯粒的唯一ID标识符的差异),因此需要在系统启动或者计算准备的过程中,需要准确识别和定位出整个芯粒连接拓扑结构中各个节点的芯粒,并通过合适的机制从外部处理器传输到各个芯粒节点。
在同源异构的多芯粒芯片系统中,因为在晶圆生产过程中所有的处理器芯粒都是一样的,并且通过封装层面的拓扑连接以及系统运行时的动态配置来区分不同芯粒的功能,因此需要一个低成本的机制来给多芯粒芯片中的各个芯粒组件配置所需要的软件程序等。
发明内容
本申请实施例所要解决的技术问题是提供一种多芯粒的软件程序配置方法、装置、电子设备及存储介质,以实现便捷的芯片软件程序配置,降低了软件程序配置的成本。
第一方面,本申请实施例提供了一种多芯粒的软件程序配置方法,所述方法包括:
基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路;
通过所述外部处理器根据所述多芯粒芯片系统中各所述芯粒的两线总线连接拓扑顺序,组成数据帧,并将所述数据帧发送给所述多芯粒芯片系统;所述数据帧包括:帧头和各所述芯粒的数据包,每个所述数据包中包含对应芯粒的软件程序数据;
依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置。
可选地,所述依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置,包括:
通过第一个芯粒接收所述数据帧中的第一个数据包,并处理所述第一个数据包,以完成软件程序的配置;
由所述第一个芯粒将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,并在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包;
依次将所述多个芯粒中除所述第一个芯粒外的其它芯粒作为第一个芯粒,执行所述通过第一个芯粒接收所述数据帧中的第一个数据包,至在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包的步骤,直至所有的芯粒完成软件程序的配置。
可选地,在所述依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置之后,还包括:
通过所述外部处理器接收所述芯粒中最后一个芯粒发送的回传数据帧;
通过所述外部处理器根据所述回传数据帧中的回传数据包,确定所述多芯粒芯片系统中的所有芯粒是否完成软件程序配置;
在所述所有芯粒中存在未完成软件程序配置的芯粒的情况下,通过所述外部处理器向所述多芯粒芯片系统重新传输数据帧。
可选地,在每个所述芯粒内均设置有两线总线中继模块,所述两线总线中继模块包括:状态机,
所述依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,包括:
通过所述两线总线中继模块对接收的所述数据帧进行串行转并行处理,并将处理后的数据帧的数据依次缓存于输入FIFO队列;
通过所述状态机从所述输入FIFO队列中读取并处理数据帧中的第一个数据包,并将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包,得到新的数据帧;
将所述新的数据帧的数据依次缓存于输出FIFO队列;
读取所述输出FIFO队列中的数据,并进行并行转串行处理,然后发送给下一个芯粒。
可选地,所述基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路,包括:
基于封装内基板,将所述多芯粒芯片系统中的多个芯粒通过所述两根同步串行总线串联连接;
基于印刷电路板,将所述外部处理器与所述多个芯粒中串联链路外侧的两个芯粒连接,以形成闭合链路。
可选地,所述两根同步串行总线为:时钟信号的SPI总线和数据信号的SPI总线。
第二方面,本申请实施例提供了一种多芯粒的软件程序配置装置,所述装置包括:
闭合链路形成模块,用于基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路;
数据帧发送模块,用于通过所述外部处理器根据所述多芯粒芯片系统中各所述芯粒的两线总线连接拓扑顺序,组成数据帧,并将所述数据帧发送给所述多芯粒芯片系统;所述数据帧包括:帧头和各所述芯粒的数据包,每个所述数据包中包含对应芯粒的软件程序数据;
软件程序配置模块,用于依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置。
可选地,所述软件程序配置模块包括:
软件程序配置单元,用于通过第一个芯粒接收所述数据帧中的第一个数据包,并处理所述第一个数据包,以完成软件程序的配置;
数据帧处理单元,用于由所述第一个芯粒将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,并在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包;
所有芯粒配置单元,用于依次将所述多个芯粒中除所述第一个芯粒外的其它芯粒作为第一个芯粒,执行所述软件程序配置单元和所述数据帧处理单元,直至所有的芯粒完成软件程序的配置。
可选地,所述装置还包括:
回传数据帧接收模块,用于通过所述外部处理器接收所述芯粒中最后一个芯粒发送的回传数据帧;
程序配置确定模块,用于通过所述外部处理器根据所述回传数据帧中的回传数据包,确定所述多芯粒芯片系统中的所有芯粒是否完成软件程序配置;
数据帧重传模块,用于在所述所有芯粒中存在未完成软件程序配置的芯粒的情况下,通过所述外部处理器向所述多芯粒芯片系统重新传输数据帧。
可选地,在每个所述芯粒内均设置有两线总线中继模块,所述两线总线中继模块包括:状态机,
所述数据帧发送模块包括:
数据帧处理单元,用于通过所述两线总线中继模块对接收的所述数据帧进行串行转并行处理,并将处理后的数据帧的数据依次缓存于输入FIFO队列;
数据包处理单元,用于通过所述状态机从所述输入FIFO队列中读取并处理数据帧中的第一个数据包,并将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包,得到新的数据帧;
数据缓存单元,用于将所述新的数据帧的数据依次缓存于输出FIFO队列;
数据发送单元,用于读取所述输出FIFO队列中的数据,并进行并行转串行处理,然后发送给下一个芯粒。
可选地,所述闭合链路形成模块包括:
串联连接单元,用于基于封装内基板,将所述多芯粒芯片系统中的多个芯粒通过所述两根同步串行总线串联连接;
闭合链路形成单元,用于基于印刷电路板,将所述外部处理器与所述多个芯粒中串联链路外侧的两个芯粒连接,以形成闭合链路。
可选地,所述两根同步串行总线为:时钟信号的SPI总线和数据信号的SPI总线。
第三方面,本申请实施例提供了一种电子设备,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的多芯粒的软件程序配置方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的多芯粒的软件程序配置方法。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例中,通过基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路。通过外部处理器根据多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序,组成数据帧,并将数据帧发送给多芯粒芯片系统,数据帧包括:帧头和各芯粒的数据包,每个数据包中包含对应芯粒的软件程序数据。依次由各芯粒处理所述数据帧中的各芯粒对应的数据包,以完成软件程序的配置。本申请实施例通过将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路,并按照多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序,组成数据帧,发送给多芯粒芯片系统以进行软件程序配置,从而可以实现便捷的芯片软件程序配置,同时,可以降低软件程序配置的成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1为本申请实施例提供的一种芯粒拓扑结构的示意图;
图2为本申请实施例提供的一种多芯粒的软件程序配置方法的步骤流程图;
图3为本申请实施例提供的一种软件程序配置方法的步骤流程图;
图4为本申请实施例提供的一种数据帧重传方法的步骤流程图;
图5为本申请实施例提供的一种数据帧处理方法的步骤流程图;
图6为本申请实施例提供的一种闭合链路形成方法的步骤流程图;
图7为本申请实施例提供的一种时序关系的示意图;
图8为本申请实施例提供的一种芯粒接口的示意图;
图9为本申请实施例提供的一种系统连接拓扑的示意图;
图10为本申请实施例提供的一种数据帧结构的示意图;
图11为本申请实施例提供的一种第一个芯粒输出的数据帧结构的示意图;
图12为本申请实施例提供的一种外部处理器收到的数据帧的示意图;
图13为本申请实施例提供的一种两线总线中继模块的示意图;
图14为本申请实施例提供的一种多芯粒的软件程序配置装置的结构示意图;
图15为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
参照图2,示出了本申请实施例提供的一种多芯粒的软件程序配置方法的步骤流程图,如图2所示,该多芯粒的软件程序配置方法可以包括:步骤201、步骤202和步骤203。
步骤201:基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路。
在本申请实施例中,两根同步串行总线可以为:时钟信号的SPI(SerialPeripheral Interface,串行外设接口)总线和数据信号的SPI总线。如图7所示,SCLK为时钟信号,MOSI为数据信号。这两根信号均为同向的单向信号,发送这两个信号的设备为主设备,接收这两个信号的设备为从设备。这两个信号的时序关系如图7所示,没有数据传输时,时钟关闭,数据在时钟的下降沿被接收方锁存。
在对多芯粒芯片系统中每个芯粒进行软件程序配置时,可以基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,以形成闭合链路。对于该实现过程可以结合图6进行如下详细描述。
参照图6,示出了本申请实施例提供的一种闭合链路形成方法的步骤流程图。如图6所示,该闭合链路形成方法可以包括:步骤601和步骤602。
步骤601:基于封装内基板,将所述多芯粒芯片系统中的多个芯粒通过所述两根同步串行总线串联连接。
在本申请实施例中,针对多芯粒芯片系统中的多个芯粒,可以基于封装内基板将多芯粒芯片系统中的多个芯粒通过两根同步串行总线串联连接。在每个芯粒中均可以实现一个“从设备”端口(接收)和一个“主设备”接口(发送),如图8所示。
步骤602:基于印刷电路板,将所述外部处理器与所述多个芯粒中串联链路外侧的两个芯粒连接,以形成闭合链路。
同时,可以基于印刷电路板将外部处理器与多个芯粒中串联链路外侧的两个芯粒连接,以形成闭合链路。如图9所示,多芯粒芯片系统中包含六个芯粒,分别为:芯粒1、芯粒2、芯粒3、芯粒4、芯粒5和芯粒6,芯粒1、芯粒3、芯粒5、芯粒6、芯粒4和芯粒2依次串行连接,串行链路外侧的两个芯粒即为芯粒1的芯粒2,则可以基于印刷电路板将外部处理器与芯粒1和芯粒2连接,从而可以形成串行的闭合链路等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在本示例中,在外部处理器侧,可使用两个标准的SPI接口分别配置成主设备模式和从设备模式,并单独使用上述定义的两个信号来实现。在多芯粒协处理器芯片系统中,芯粒的串联方式并没有特定要求,因为封装基板设计已然固定,因此在每个多芯粒芯片中,每个系统总线连接拓扑节点的芯粒在两线总线环路中均具有已知并且固定的位置。在图9的示例中,芯粒1的从设备端口为多芯粒芯片的两线总线链路入口,芯粒2的主设备端口为多芯粒芯片的两线总线链路出口。
在基于两根同步串行总线将外部处理器与多芯粒芯片系统中多个芯粒串行连接形成闭合链路之后,执行步骤202。
步骤202:通过所述外部处理器根据所述多芯粒芯片系统中各所述芯粒的两线总线连接拓扑顺序,组成数据帧,并将所述数据帧发送给所述多芯粒芯片系统;所述数据帧包括:帧头和各所述芯粒的数据包,每个所述数据包中包含对应芯粒的软件程序数据。
在基于两根同步串行总线将外部处理器与多芯粒芯片系统中多个芯粒串行连接形成闭合链路之后,可以通过外部处理器根据多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序,组成数据帧。其中,数据帧可以包括:帧头和各芯粒的数据包,每个数据包中均包含对应的芯粒的软件程序数据。
在具体实现中,在图7所示的传输时序中,接收方可以按照低比特优先(littleendian)或者高比特优先(big endian)的顺序把从总线上接收到的比特流组合成字节流。发送方可以按照低比特优先(little endian)或者高比特优先(big endian)的顺序把待发送的字节流拆分成比特流发送到总线上。
外部处理器将需要配置给各个芯粒的软件程序字节流通过两线总线链路入口发送给多芯粒芯片系统,并从两线总线链路出口接收字节流。从链路入口到链路出口,流过整个两线总线链路的数据帧具有相同的帧结构和帧长度。以图9所示的6芯粒系统为例,从外部处理器发出的两线总线链路的数据帧结构如图10所示:该数据帧可以包括:1个head(帧头)和6个data packet(数据包)。其中head中包含data packet的长度及总数等信息,datapacket中包含需要输出给每个具体芯粒的数据。例如图10的六芯粒芯片系统中,数据包共有6个,分别为外部处理器希望传输给每个芯粒的数据。因为在多芯粒系统封装设计及生产完成后,各个芯粒在两线总线链路中的位置是确定和已知的,所以外部处理器可以根据每个芯粒在链路拓扑中的顺序构造出总的数据帧。
在根据多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序组成数据帧之后,则可以通过外部处理器将组成的数据帧发送给多芯粒芯片系统。
在将数据帧发送给多芯粒芯片系统之后,执行步骤203。
步骤203:依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置。
在将数据帧发送给多芯粒芯片系统之后,则可以依次由各芯粒处理数据帧中的各芯粒对应的数据包,以完成软件程序的配置。在具体实现中,当数据帧进入芯粒链路后,链路中的每个芯粒将接收和处理数据帧中的第一个data packet数据包(即图10中对应datapacket 0的数据包),然后把后续数据包原样不动的和head拼合,并在帧的最后附加与datapacket相同长度的回传数据包(称为loopback package),这个处理后的数据包可以包含数据校验信息、配置结果回应或者其他希望回传给外部处理器的信息。对于该实现过程,可以结合图3进行如下详细描述。
参照图3,示出了本申请实施例提供的一种软件程序配置方法的步骤流程图。如图3所示,该软件程序配置方法可以包括:步骤301、步骤302和步骤303。
步骤301:通过第一个芯粒接收所述数据帧中的第一个数据包,并处理所述第一个数据包,以完成软件程序的配置。
在本申请实施例中,在数据帧进入芯粒链路之后,则可以通过一个芯粒接收所述数据帧中的第一个数据包,并处理第一个数据包,以完成软件程序的配置。如图10所示,第一个芯粒可以接收并处理data packet 0的数据包,以完成第一个芯粒的软件程序的配置。
在通过第一个芯粒接收数据帧中的第一个数据包,并处理第一个数据包完成软件程序的配置之后,执行步骤302。
步骤302:由所述第一个芯粒将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,并在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包。
在通过第一个芯粒接收数据帧中的第一个数据包,并处理第一个数据包完成软件程序的配置之后,则可以由第一个芯粒将数据帧中除第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,并在拼合的数据帧的最后端添加与第一个数据包长度相同的回传数据包。如图11所示,在图10中的data packet 0的数据包被第一个芯粒接收并处理之后,则可以将head与剩余的data packet(即data packet 1、data packet 2、...、data packet5)拼接,并在帧的最后附加一个回传数据包(loopback package 0),该回传数据包与datapacket 0的长度相同,以保持帧长度的一致性等。
步骤303:依次将所述多个芯粒中除所述第一个芯粒外的其它芯粒作为第一个芯粒,执行所述通过第一个芯粒接收所述数据帧中的第一个数据包,至在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包的步骤,直至所有的芯粒完成软件程序的配置。
在第一个芯粒完成软件程序配置之后,则可以依次将多个芯粒中除第一个芯粒外的其它芯粒作为第一个芯粒,执行通过第一个芯粒接收数据帧中的第一个数据包,至在拼合的数据帧的最后端添加与第一个数据包长度相同的回传数据包的步骤,直至所有的芯粒完成软件程序的配置。即在第一个芯粒执行完软件程序配置之后,可以将第二个芯粒作为第一个芯粒,以执行接收处理第一个数据包,将剩余数据包与帧头拼合,并在帧的最后添加回传数据包。然后,将第三个芯粒作为第一个芯粒,也执行此过程,以此类推,直至所有的芯粒完成相应的软件程序配置操作。
在数据帧流经所有的芯片内芯粒并最终回到外部处理器时,外部处理器收到的数据帧可以如图12所示,该数据帧是由一个帧头和六个回传数据包组成,这六个回传数据包即分别为图9中芯粒1、芯粒3、芯粒5、芯粒6、芯粒4和芯粒2的回传数据包,即loopbackpackage 0、loopback package 1、loopback package 2、loopback package 3、loopbackpackage 4和loopback package 5等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例在芯片封装设计及制造完成之前,每个单独的芯粒并不能得知最终芯片的连接拓扑结构以及所需要的功能,因此在同源异构系统中每个处理器芯粒所运行的软件需要在系统运行时单独进行配置。采用本实施例提供的技术方案可以构造一个低成本的多芯粒芯片系统软件配置方案,在配置时不需要预先对封装内的具体芯粒进行定位和区分,极大简化了生产及使用过程。以上技术方案使用的两线总线兼容主流的SPI协议,所以利用市场上所使用的绝大多数处理器/SoC(System on Chip,系统级芯片)/MCU(MicroControl Unit,微控制单元)都可以简单地和多芯粒芯片系统进行连接,实现便捷的芯片软件程序配置。另外,除了前面描述的同源异构多芯粒系统之外,非同源的异构多芯粒芯片(即使用不同的处理器芯粒来集成在一个芯片中)也可以使用本实施例的配置机制来进行软件配置。
两线的总线信号数目极少,便于简化封装基本和PCB(Printed Circuit Board,印制电路板)的设计复杂度。环形的两线链路拓扑结构以及loopback packet的引入使得本方案可以使用单向传输总线实现双向数据交互,可以通过引入额外的校验数据及重传机制等实现可靠的数据传输。本申请使用与数据同源同向的时钟方案,可以使用较高的时钟频率,获得较大的数据传输速率。
在本实施例中,外部处理器可以根据接收到的各个芯粒的loopback packet来决定后面的处理步骤,例如继续传输下一个数据帧还是因为传输错误需要重传前一个数据帧等。对于该实现过程可以结合图4进行如下详细描述。
参照图4,示出了本申请实施例提供的一种数据帧重传方法的步骤流程图。如图4所示,该数据帧重传方法可以包括:步骤401、步骤402和步骤403。
步骤401:通过所述外部处理器接收所述芯粒中最后一个芯粒发送的回传数据帧。
在本实施例中,外部处理器可以接收芯粒中最后一个芯粒发送的回传数据帧。
步骤402:通过所述外部处理器根据所述回传数据帧中的回传数据包,确定所述多芯粒芯片系统中的所有芯粒是否完成软件程序配置。
进而,可以由外部处理器根据回传数据帧中的回传数据包,确定多芯粒芯片系统中的所有芯粒是否完成软件程序配置。即外部处理器可以根据接收到的各个芯粒的loopback packet来判断每个芯粒是否完成软件程序配置。具体地,在loopback packet中可以包含每个芯粒的配置结果信息,通过该配置结果信息即可以判断所有芯粒是否成功完成软件程序配置。
步骤403:在所述所有芯粒中存在未完成软件程序配置的芯粒的情况下,通过所述外部处理器向所述多芯粒芯片系统重新传输数据帧。
在所有芯粒中存在未完成软件程序配置的芯粒的情况下,通过外部处理器向多芯粒芯片系统重新传输数据帧。例如,在因为传输错误导致某个芯粒未能配置软件程序时,此时,则可以由外部处理器向多芯粒芯片系统重新传输数据帧等。
当然,在所有芯粒均完成软件程序配置时,则可以由外部处理器继续传输下一个数据帧。
本申请实施例通过回传数据包判断所有芯粒是否完成软件程序配置,从而可以避免由于传输错误等原因导致芯粒未完成软件程序配置的情况出现。
在本申请实施例中,根据上述描述的两线总线传输方式,每个芯粒实质上起到一个两线总线中继器的作用:每个芯粒从两线总线链路接收数据帧,抽取第一个datapacket,并把剩余data packet原样不动向后续的两线总线链路传递,并在最后附加上loopback packet。为实现这个功能,每个芯粒上需要实现一个两线总线中继模块,以进行数据包的处理。对于该实现过程可以结合图5进行如下详细描述。
参照图5,示出了本申请实施例提供的一种数据帧处理方法的步骤流程图。如图5所示,该数据帧处理方法可以包括:步骤501、步骤502、步骤503和步骤504。
步骤501:通过所述两线总线中继模块对接收的所述数据帧进行串行转并行处理,并将处理后的数据帧的数据依次缓存于输入FIFO队列。
在本实施例中,在每个芯粒内均设置有两线总线中继模块,两线总线中继模块包括:状态机,如图13所示。
在具体实现中,可以通过两线总线中继模块对接收的数据帧进行串行转并行处理,并将处理后的数据帧的数据依次缓存于输入FIFO队列。如图13所示,两线总线中继模块可以将接收的bit数据转换为byte数据,并依次缓存于输入FIFO(先进先出)队列。
步骤502:通过所述状态机从所述输入FIFO队列中读取并处理数据帧中的第一个数据包,并将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包,得到新的数据帧。
进而,可以通过状态机从输入FIFO队列中读取并处理数据帧中的第一个数据包,并将数据帧中除第一个数据包外的其它数据包按照原始顺序与帧头拼合,在拼合的数据帧的最后端添加与第一个数据包长度相同的回传数据包,得到新的数据帧。
如图13所示,状态机可以从输入FIFO中读取数据,并形成输入队列,进而,可以接收并转发head,以获得data packet长度及数量。同时,可以接收并处理第一个datapacket,接收并转发第一个data packet后续的data packet。在接收并处理第一个datapacket之后,可以生成loopback packet。同时,可以将head与后续data packet拼合,并在帧的最后端添加loopback packet,以形成新的输出队列,即新的数据帧。
步骤503:将所述新的数据帧的数据依次缓存于输出FIFO队列。
然后,可以将新的数据帧的数据依次缓存于输出FIFO队列中。
步骤504:读取所述输出FIFO队列中的数据,并进行并行转串行处理,然后发送给下一个芯粒。
最后,可以读取输出FIFO队列中的数据,并进行并行转串行处理,然后发送给下一个芯粒。可以理解地,在当前传输数据的为串行链路中的最后一个芯粒时,则可以将数据发送给外部处理器。
在本实施例中,的状态机部分可以使用纯硬件逻辑搭建,也可使用微控制器(MCU)等来实现,图13所示的模块需要包含在每个芯粒中。多芯粒芯片系统中某个芯粒所包含的图13所示模块所接收并处理的第一个data packet即是这个芯粒所对应的软件程序或者配置数据。
本申请实施例提供的多芯粒的软件程序配置方法,通过基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路。通过外部处理器根据多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序,组成数据帧,并将数据帧发送给多芯粒芯片系统,数据帧包括:帧头和各芯粒的数据包,每个数据包中包含对应芯粒的软件程序数据。依次由各芯粒处理所述数据帧中的各芯粒对应的数据包,以完成软件程序的配置。本申请实施例通过将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路,并按照多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序,组成数据帧,发送给多芯粒芯片系统以进行软件程序配置,从而可以实现便捷的芯片软件程序配置,同时,可以降低软件程序配置的成本。
参照图14,示出了本申请实施例提供的一种多芯粒的软件程序配置装置的结构示意图,如图14所示,该多芯粒的软件程序配置装置1400可以包括以下模块:
闭合链路形成模块1410,用于基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路;
数据帧发送模块1420,用于通过所述外部处理器根据所述多芯粒芯片系统中各所述芯粒的两线总线连接拓扑顺序,组成数据帧,并将所述数据帧发送给所述多芯粒芯片系统;所述数据帧包括:帧头和各所述芯粒的数据包,每个所述数据包中包含对应芯粒的软件程序数据;
软件程序配置模块1430,用于依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置。
可选地,所述软件程序配置模块包括:
软件程序配置单元,用于通过第一个芯粒接收所述数据帧中的第一个数据包,并处理所述第一个数据包,以完成软件程序的配置;
数据帧处理单元,用于由所述第一个芯粒将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,并在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包;
所有芯粒配置单元,用于依次将所述多个芯粒中除所述第一个芯粒外的其它芯粒作为第一个芯粒,执行所述软件程序配置单元和所述数据帧处理单元,直至所有的芯粒完成软件程序的配置。
可选地,所述装置还包括:
回传数据帧接收模块,用于通过所述外部处理器接收所述芯粒中最后一个芯粒发送的回传数据帧;
程序配置确定模块,用于通过所述外部处理器根据所述回传数据帧中的回传数据包,确定所述多芯粒芯片系统中的所有芯粒是否完成软件程序配置;
数据帧重传模块,用于在所述所有芯粒中存在未完成软件程序配置的芯粒的情况下,通过所述外部处理器向所述多芯粒芯片系统重新传输数据帧。
可选地,在每个所述芯粒内均设置有两线总线中继模块,所述两线总线中继模块包括:状态机,
所述数据帧发送模块包括:
数据帧处理单元,用于通过所述两线总线中继模块对接收的所述数据帧进行串行转并行处理,并将处理后的数据帧的数据依次缓存于输入FIFO队列;
数据包处理单元,用于通过所述状态机从所述输入FIFO队列中读取并处理数据帧中的第一个数据包,并将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包,得到新的数据帧;
数据缓存单元,用于将所述新的数据帧的数据依次缓存于输出FIFO队列;
数据发送单元,用于读取所述输出FIFO队列中的数据,并进行并行转串行处理,然后发送给下一个芯粒。
可选地,所述闭合链路形成模块包括:
串联连接单元,用于基于封装内基板,将所述多芯粒芯片系统中的多个芯粒通过所述两根同步串行总线串联连接;
闭合链路形成单元,用于基于印刷电路板,将所述外部处理器与所述多个芯粒中串联链路外侧的两个芯粒连接,以形成闭合链路。
可选地,所述两根同步串行总线为:时钟信号的SPI总线和数据信号的SPI总线。
本申请实施例提供的多芯粒的软件程序配置装置,通过基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路。通过外部处理器根据多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序,组成数据帧,并将数据帧发送给多芯粒芯片系统,数据帧包括:帧头和各芯粒的数据包,每个数据包中包含对应芯粒的软件程序数据。依次由各芯粒处理所述数据帧中的各芯粒对应的数据包,以完成软件程序的配置。本申请实施例通过将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路,并按照多芯粒芯片系统中各芯粒的两线总线连接拓扑顺序,组成数据帧,发送给多芯粒芯片系统以进行软件程序配置,从而可以实现便捷的芯片软件程序配置,同时,可以降低软件程序配置的成本。
本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述多芯粒的软件程序配置方法。
图15示出了本发明实施例的一种电子设备1500的结构示意图。如图15所示,电子设备1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的计算机程序指令或者从存储单元1508加载到随机访问存储器(RAM)1503中的计算机程序指令,来执行各种适当的动作和处理。在RAM1503中,还可存储电子设备1500操作所需的各种程序和数据。CPU1501、ROM1502以及RAM1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
电子设备1500中的多个部件连接至I/O接口1505,包括:输入单元1506,例如键盘、鼠标、麦克风等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许电子设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,可由处理单元1501执行。例如,上述任一实施例的方法可被实现为计算机软件程序,其被有形地包含于计算机可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由ROM1502和/或通信单元1509而被载入和/或安装到电子设备1500上。当计算机程序被加载到RAM1503并由CPU1501执行时,可以执行上文描述的方法中的一个或多个动作。
另外地,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述多芯粒的软件程序配置方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端上,使得在计算机或其他可编程终端上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端中还存在另外的相同要素。
以上对本申请所提供的一种多芯粒的软件程序配置方法、一种多芯粒的软件程序配置装置、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种多芯粒的软件程序配置方法,其特征在于,所述方法包括:
基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路;
通过所述外部处理器根据所述多芯粒芯片系统中各所述芯粒的两线总线连接拓扑顺序,组成数据帧,并将所述数据帧发送给所述多芯粒芯片系统;所述数据帧包括:帧头和各所述芯粒的数据包,每个所述数据包中包含对应芯粒的软件程序数据;
依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置;
其中,所述依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置的步骤包括:
通过第一个芯粒接收所述数据帧中的第一个数据包,并处理所述第一个数据包,以完成软件程序的配置;
由所述第一个芯粒将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,并在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包;
依次将所述多个芯粒中除所述第一个芯粒外的其它芯粒作为第一个芯粒,执行所述通过第一个芯粒接收所述数据帧中的第一个数据包,至在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包的步骤,直至所有的芯粒完成软件程序的配置。
2.根据权利要求1所述的方法,其特征在于,在所述依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置之后,还包括:
通过所述外部处理器接收所述芯粒中最后一个芯粒发送的回传数据帧;
通过所述外部处理器根据所述回传数据帧中的回传数据包,确定所述多芯粒芯片系统中的所有芯粒是否完成软件程序配置;
在所述所有芯粒中存在未完成软件程序配置的芯粒的情况下,通过所述外部处理器向所述多芯粒芯片系统重新传输数据帧。
3.根据权利要求1所述的方法,其特征在于,在每个所述芯粒内均设置有两线总线中继模块,所述两线总线中继模块包括:状态机,
所述依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,包括:
通过所述两线总线中继模块对接收的所述数据帧进行串行转并行处理,并将处理后的数据帧的数据依次缓存于输入FIFO队列;
通过所述状态机从所述输入FIFO队列中读取并处理数据帧中的第一个数据包,并将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包,得到新的数据帧;
将所述新的数据帧的数据依次缓存于输出FIFO队列;
读取所述输出FIFO队列中的数据,并进行并行转串行处理,然后发送给下一个芯粒。
4.根据权利要求1所述的方法,其特征在于,所述基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路,包括:
基于封装内基板,将所述多芯粒芯片系统中的多个芯粒通过所述两根同步串行总线串联连接;
基于印刷电路板,将所述外部处理器与所述多个芯粒中串联链路外侧的两个芯粒连接,以形成闭合链路。
5.根据权利要求4所述的方法,其特征在于,所述两根同步串行总线为:时钟信号的SPI总线和数据信号的SPI总线。
6.一种多芯粒的软件程序配置装置,其特征在于,所述装置包括:
闭合链路形成模块,用于基于两根同步串行总线,将外部处理器与多芯粒芯片系统中多个芯粒串行连接,形成闭合链路;
数据帧发送模块,用于通过所述外部处理器根据所述多芯粒芯片系统中各所述芯粒的两线总线连接拓扑顺序,组成数据帧,并将所述数据帧发送给所述多芯粒芯片系统;所述数据帧包括:帧头和各所述芯粒的数据包,每个所述数据包中包含对应芯粒的软件程序数据;
软件程序配置模块,用于依次由各所述芯粒处理所述数据帧中的各所述芯粒对应的数据包,以完成软件程序的配置;
其中,所述软件程序配置模块包括:
软件程序配置单元,用于通过第一个芯粒接收所述数据帧中的第一个数据包,并处理所述第一个数据包,以完成软件程序的配置;
数据帧处理单元,用于由所述第一个芯粒将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,并在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包;
所有芯粒配置单元,用于依次将所述多个芯粒中除所述第一个芯粒外的其它芯粒作为第一个芯粒,执行所述软件程序配置单元和所述数据帧处理单元,直至所有的芯粒完成软件程序的配置。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
回传数据帧接收模块,用于通过所述外部处理器接收所述芯粒中最后一个芯粒发送的回传数据帧;
程序配置确定模块,用于通过所述外部处理器根据所述回传数据帧中的回传数据包,确定所述多芯粒芯片系统中的所有芯粒是否完成软件程序配置;
数据帧重传模块,用于在所述所有芯粒中存在未完成软件程序配置的芯粒的情况下,通过所述外部处理器向所述多芯粒芯片系统重新传输数据帧。
8.根据权利要求6所述的装置,其特征在于,在每个所述芯粒内均设置有两线总线中继模块,所述两线总线中继模块包括:状态机,
所述数据帧发送模块包括:
数据帧处理单元,用于通过所述两线总线中继模块对接收的所述数据帧进行串行转并行处理,并将处理后的数据帧的数据依次缓存于输入FIFO队列;
数据包处理单元,用于通过所述状态机从所述输入FIFO队列中读取并处理数据帧中的第一个数据包,并将所述数据帧中除所述第一个数据包外的其它数据包按照原始顺序与所述帧头拼合,在拼合的数据帧的最后端添加与所述第一个数据包长度相同的回传数据包,得到新的数据帧;
数据缓存单元,用于将所述新的数据帧的数据依次缓存于输出FIFO队列;
数据发送单元,用于读取所述输出FIFO队列中的数据,并进行并行转串行处理,然后发送给下一个芯粒。
9.根据权利要求6所述的装置,其特征在于,所述闭合链路形成模块包括:
串联连接单元,用于基于封装内基板,将所述多芯粒芯片系统中的多个芯粒通过所述两根同步串行总线串联连接;
闭合链路形成单元,用于基于印刷电路板,将所述外部处理器与所述多个芯粒中串联链路外侧的两个芯粒连接,以形成闭合链路。
10.根据权利要求9所述的装置,其特征在于,所述两根同步串行总线为:时钟信号的SPI总线和数据信号的SPI总线。
11.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至5中任一项所述的多芯粒的软件程序配置方法。
12.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至5中任一项所述的多芯粒的软件程序配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311354943.XA CN117453609B (zh) | 2023-10-18 | 2023-10-18 | 多芯粒的软件程序配置方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311354943.XA CN117453609B (zh) | 2023-10-18 | 2023-10-18 | 多芯粒的软件程序配置方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117453609A CN117453609A (zh) | 2024-01-26 |
CN117453609B true CN117453609B (zh) | 2024-06-07 |
Family
ID=89592131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311354943.XA Active CN117453609B (zh) | 2023-10-18 | 2023-10-18 | 多芯粒的软件程序配置方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453609B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201000569Y (zh) * | 2007-01-15 | 2008-01-02 | 大连光洋科技工程有限公司 | 在环形总线数控系统中实现总线控制器功能的专用芯片 |
WO2013144001A1 (en) * | 2012-03-29 | 2013-10-03 | Robert Bosch Gmbh | Communication system with ring topology |
CN106656716A (zh) * | 2016-12-28 | 2017-05-10 | 中国人民解放军海军工程大学 | 具有公共时钟的环形网络拓扑结构 |
CN112631989A (zh) * | 2021-03-08 | 2021-04-09 | 南京蓝洋智能科技有限公司 | 一种小芯片间、芯片间、小芯片与芯片间的数据传输方法 |
CN115460128A (zh) * | 2022-11-09 | 2022-12-09 | 之江实验室 | 一种面向多芯粒组合芯片的片上网络仿真系统 |
KR20230038082A (ko) * | 2021-09-10 | 2023-03-17 | 에스케이하이닉스 주식회사 | 칩렛 기반의 스토리지 아키텍쳐 |
CN116049088A (zh) * | 2023-03-30 | 2023-05-02 | 之江实验室 | 一种晶上系统配置管理的总线协议电路拓扑及方法、装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11093429B1 (en) * | 2020-01-30 | 2021-08-17 | International Business Machines Corporation | Daisy-chained serial bus for multiple small footprint devices |
US11379402B2 (en) * | 2020-10-20 | 2022-07-05 | Micron Technology, Inc. | Secondary device detection using a synchronous interface |
US20230123826A1 (en) * | 2022-12-20 | 2023-04-20 | Intel Corporation | Source Synchronous Partition of an SDRAM Controller Subsystem |
-
2023
- 2023-10-18 CN CN202311354943.XA patent/CN117453609B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201000569Y (zh) * | 2007-01-15 | 2008-01-02 | 大连光洋科技工程有限公司 | 在环形总线数控系统中实现总线控制器功能的专用芯片 |
WO2013144001A1 (en) * | 2012-03-29 | 2013-10-03 | Robert Bosch Gmbh | Communication system with ring topology |
CN106656716A (zh) * | 2016-12-28 | 2017-05-10 | 中国人民解放军海军工程大学 | 具有公共时钟的环形网络拓扑结构 |
CN112631989A (zh) * | 2021-03-08 | 2021-04-09 | 南京蓝洋智能科技有限公司 | 一种小芯片间、芯片间、小芯片与芯片间的数据传输方法 |
KR20230038082A (ko) * | 2021-09-10 | 2023-03-17 | 에스케이하이닉스 주식회사 | 칩렛 기반의 스토리지 아키텍쳐 |
CN115460128A (zh) * | 2022-11-09 | 2022-12-09 | 之江实验室 | 一种面向多芯粒组合芯片的片上网络仿真系统 |
CN116049088A (zh) * | 2023-03-30 | 2023-05-02 | 之江实验室 | 一种晶上系统配置管理的总线协议电路拓扑及方法、装置 |
Non-Patent Citations (1)
Title |
---|
基于分层结构的D2D控制器设计与验证;李翔;中国优秀硕士学位论文全文数据库信息科技辑;20231015(2023年第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117453609A (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022166427A1 (zh) | 用于互联裸芯的数据传输事件 | |
WO2016192211A1 (zh) | 片间互联的发送、接收装置及发送、接收方法及系统 | |
CN113726592B (zh) | 一种边缘服务器的传输延迟测试方法、系统及相关组件 | |
CN117453609B (zh) | 多芯粒的软件程序配置方法、装置、电子设备及存储介质 | |
US6738843B2 (en) | Method and system for generating multiple self-ID packets on the 1394 bus using a standard PHY chip | |
CN116383114B (zh) | 芯片、芯片互联系统、数据传输方法、电子设备和介质 | |
US6208645B1 (en) | Time multiplexing of cyclic redundancy functions in point-to-point ringlet-based computer systems | |
EP2916234B1 (en) | Method and universal interface chip for achieving high-speed data transmission | |
US12001375B2 (en) | Interconnect system | |
US11868209B2 (en) | Method and system for sequencing data checks in a packet | |
CN116107953A (zh) | 芯粒间的通讯方法和系统 | |
CN110708185B (zh) | 用于人工智能处理器的数据互联方法、系统、芯片和装置 | |
US20220405223A1 (en) | Method and system for data transactions on a communications interface | |
CN115794434B (zh) | 一种基于共享存储的多裸芯集成微系统及多裸芯交互方法 | |
CN112835847B (zh) | 一种用于互联裸芯的分布式中断传输方法及其系统 | |
CN115794703B (zh) | 一种基于分段确认的互连裸芯包传输方法 | |
CN116016698B (zh) | 一种面向RapidIO控制器与互连裸芯的对等式接口及数据交互方法 | |
CN117640511B (zh) | 一种有线通信系统及其通信芯片、通信方法及介质 | |
CN116627894B (zh) | 一种介质访问控制层、通信方法和系统 | |
CN112559430B (zh) | 适用于窄带信道单元的cpu与fpga数据交互方法和系统 | |
CN112953977B (zh) | 系统数据发送方法、系统 | |
CN112446474B (zh) | 芯片和多芯片系统及电子设备和数据传输方法 | |
JP7340759B2 (ja) | 無線装置、無線通信システム、及び、無線通信方法 | |
CN117370264A (zh) | 一种芯片内裸片之间的互联系统、方法、装置及介质 | |
CN117725001A (zh) | 一种芯片互连系统、计算机设备及数据处理方法 |
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 | ||
GR01 | Patent grant |