CN105900080A - 用于经由芯片内和芯片间跳跃总线在片上系统之内和之间传送信息的方法和装置 - Google Patents

用于经由芯片内和芯片间跳跃总线在片上系统之内和之间传送信息的方法和装置 Download PDF

Info

Publication number
CN105900080A
CN105900080A CN201480067472.7A CN201480067472A CN105900080A CN 105900080 A CN105900080 A CN 105900080A CN 201480067472 A CN201480067472 A CN 201480067472A CN 105900080 A CN105900080 A CN 105900080A
Authority
CN
China
Prior art keywords
chip
adapter
soc
bus
hopping
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.)
Granted
Application number
CN201480067472.7A
Other languages
English (en)
Other versions
CN105900080B (zh
Inventor
H·郑
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade 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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN105900080A publication Critical patent/CN105900080A/zh
Application granted granted Critical
Publication of CN105900080B publication Critical patent/CN105900080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种包括非跳跃总线接口和跳跃总线的片上系统。非跳跃总线接口包括第一非跳跃总线接口和第二非跳跃总线接口。第一非跳跃总线接口被配置为基于第一协议来接收信息。跳跃总线包括芯片内适配器。芯片内适配器串联连接并且分别连接到非跳跃总线接口。芯片内适配器被配置为(i)根据第二协议,将该信息转换为第一格式以用于通过跳跃总线的传输,以及(ii)通过跳跃总线并且在芯片内适配器之间传送第一格式的该信息。第二协议不同于第一协议。第二非跳跃总线接口被配置为基于通过跳跃总线的该信息的传输从跳跃总线接收该信息。

Description

用于经由芯片内和芯片间跳跃总线在片上系统之内和之间传送 信息的方法和装置
相关申请的交叉引用
本申请要求对2014年12月9日提交的美国发明申请No.14/564,499的优先权,并且还要求2013年12月12日提交的美国临时申请No.61/915,413和2014年3月17日提交的美国临时申请No.61/954,486的权益。上面所引用的这些申请的整体公开通过引用并入本文。
技术领域
本公开涉及为了芯片内和芯片间的信息传送而利用的片上系统(SoC)的架构。
背景技术
本文所提供的背景描述是为了一般性地呈现本公开的背景环境的目的。当前被命名为发明人的工作,到该工作在这一背景章节中被描述的程度,以及在提交时在其他方面还不够格作为现有技术的本描述的方面,既不明确地也不隐含地被承认为针对本公开的现有技术。
高级的硅制造过程正在允许不断增加的数目的门被包括在SoC的给定区域中。某些总线(或结构)架构已经被引入以允许SoC内的处理器模块与接口控制模块之间的信息(例如,数据、命令、参数、地址等)的传送。例如,高级微控制器总线架构(AMBA)是一种用于SoC中的模块的连接和管理的片上互连规范。AMBA的一代接口被称为高级可扩展接口(AXI)。
具有基于AXI的架构的SoC可以包括多个处理器(或核心)模块、主控AXI互连总线(或主控结构)、从属AXI互连总线(或从属结构)、以及接口控制器。处理器模块经由互连总线来控制和/或访问连接到接口控制器的外围设备。AXI互连总线可以被称为多层级AXI结构,并且提供处理器模块与接口控制器之间的互连的网状结构(mesh)。接口控制器可以分别连接到外围设备和/或网络。外围设备可以包括存储器设备,诸如随机访问存储器(RAM)或者只读存储器(ROM)。外围设备可以包括显示器、闪速驱动器、硬盘驱动器、混合驱动器、摄像机、嵌入式多媒体卡(eMMC)、以太网设备、串行小型计算机系统接口(SCSI)协议(SSP)设备、经由通用异步接收器传输器(UART)接口进行通信的设备,等等。网络可以包括无线网络或有线网络。无线网络的一种示例是无线局域网络(WLAN),诸如WiFi网络。
处理器模块可以被称为总线主控(bus master)。处理器模块控制并且发起对连接到SoC的外设的操作。这可以包括处理器模块(或主控)经由主控AXI互连总线向接口控制器传输命令。这些接口控制器中的每个接口控制器包括主控端口(或接口)和从属端口(或接口)。主控端口连接到主控AXI互连总线。从属端口连接到从属AXI互连总线。命令可以被传输给主控端口并且然后被转发给外围设备。然后可以在从属端口处从外围设备接收数据。从属AXI互连总线把来自从属端口的数据转发给处理器模块。
在具有AXI架构的SoC中,处理器模块与接口控制器之间的每个连接包括多个通道。这些通道包括读取地址通道、读取数据通道、写入地址通道、写入数据通道、缓冲器写入响应通道、以及时钟通道。这些连接是经由处理器模块和接口控制器的AXI总线接口来提供的。AXI总线接口可以存在于(i)处理器模块与AXI互连总线之间、以及(ii)AXI连接总线与接口控制模块之间。AXI总线接口和AXI互连总线包括大数目的导线(wire)。例如,AXI总线接口的写入通道可以包括多至224条导线以用于128比特的并行传送。AXI总线接口的读取通道可以包括多至208条导线以用于128比特的并行传送。从属AXI互连总线可以包括200条导线以用于32比特的并行传送。10端口的AXI互连总线可以包括5000条导线以用于每端口128比特的并行传送。作为另一示例,10端口的AXI互连总线可以包括3000条导线以用于每端口32比特的并行传送。还要求附加的导线用于中断的传送。AXI互连总线是具有有限数据传送速度(例如,312兆赫兹(MHz)或更慢)的互连的大型网状网络。网状网络中的邻近节点之间的点到点传送速度也是有限的(例如,416MHz)或者更慢。
具有AXI架构的SoC中的模块基于共同共享的时钟进行操作。时钟信号是经由AXI互连总线中的分支(或互连)的大型时钟树来提供的。作为结果,这些模块之间的通信是同步的。如果这些模块中的两个模块将基于不同的协议(例如,不同的AMBA协议,诸如AXI和AMBA高性能总线(AHB))和/或不同的时钟(或者具有不同频率的时钟信号)进行操作,则这些模块之间通常包含桥接器。桥接器允许了具有例如不同总线宽度(例如,并行传送的比特的数目)和时钟频率的两个不同域之间的通信。尽管整合器(integrator)能够被包含在SoC中以确保用于模块之间的连接的恰当带宽和时延,但是针对这些模块中的每个模块的带宽分配和访问时延控制是困难的。这归因于模块之间的大数目的导线和互连、以及共享时钟信号在大型网状网络上的分布。
设置时钟信号的频率以提供恰当的时钟树降额(derating)可能是困难的。恰当的时钟树降额是指将时钟信号的频率设置到不会负面影响对应SoC的操作和/或寿命的可能的最高频率。增加时钟信号的频率可能增加SoC的过程、电压和温度(PVT)的变化。作为结果,归因于所增加的PVT变化的潜质,增加时钟频率的能力可能被限制。时钟树越大,时钟信号的频率越慢。
发明内容
一种第一片上系统被提供并且包括非跳跃(non-hopping)总线接口和跳跃(hopping)总线。非跳跃总线接口包括第一非跳跃总线接口和第二非跳跃总线接口。第一非跳跃总线接口被配置为基于第一协议来接收信息。跳跃总线包括芯片内适配器。芯片内适配器串联连接并且分别连接到非跳跃总线接口。芯片内适配器被配置为(i)根据第二协议,将该信息转换为第一格式以用于通过跳跃总线的传输,以及(ii)通过跳跃总线并且在芯片内适配器之间传送第一格式的该信息。第二协议不同于第一协议。第二非跳跃总线接口被配置为基于通过跳跃总线的该信息的传输从跳跃总线接收该信息。
在其他特征中,一种在第一片上系统中转发信息的方法,第一片上系统包括非跳跃总线接口和跳跃总线。非跳跃总线接口包括第一非跳跃总线接口和第二非跳跃总线接口。跳跃总线包括芯片内适配器。芯片内适配器串联连接并且分别连接到非跳跃总线接口。该方法包括:在第一片上系统的第一非跳跃总线接口处,基于第一协议来接收信息;根据第二协议,经由芯片内适配器将该信息转换为第一格式以用于通过跳跃总线的传输,其中第二协议不同于第一协议;通过跳跃总线并且在芯片内适配器之间传送第一格式的该信息;以及基于通过跳跃总线的该信息的传输,在第二非跳跃总线接口处从跳跃总线接收该信息。
从详细描述、权利要求和附图来看,本公开的可应用性的进一步区域将变得明显。详细描述和具体示例仅意图用于说明的目的并且不意图为限制本公开的范围。
附图说明
图1是根据本公开的实施例的跳跃总线(HB)系统的功能性框图。
图2是根据本公开的实施例的包含多个SoC并且图示出芯片内HB适配器模块和芯片间HB适配器模块的另一HB系统的功能性框图。
图3是根据本公开的实施例的地址变换模块的功能性框图。
图4图示了根据本公开的实施例的操作HB系统的方法。
图5是根据本公开的实施例的用于交叉芯片启动控制的HB系统的功能框图。
图6图示了根据本公开的实施例的启动方法。
在附图中,参考数字可以被重用以标识类似和/或相同的元件。
具体实施方式
下文所公开的示例介绍了用于SoC的跳跃总线(HB)架构。SoC包括芯片内HB、芯片内HB适配器模块、以及芯片间HB适配器模块。芯片内HB包括并且提供芯片内HB适配器模块之间的连接。芯片间HB包括SoC之间的延伸、包括芯片间HB适配器模块、并且提供芯片间HB适配器模块之间的连接。HB是指一种总线,该总线包括如本文所公开的芯片内HB适配器模块和/或芯片间HB适配器模块以及对应的导电元件和缓冲器。HB提供了一种路径,该路径用于信息从HB适配器模块跳跃到HB适配器模块直至到达目的地。HB适配器模块可以执行协议变换、分组化(packetizing)、采样、偏斜控制(skew control)、唯一标识、串行化、和/或解串行化。如下文进一步描述的,HB根据HB协议对信息进行操作和转发。
HB架构增加了系统划分的容易性,这允许系统设计者关注于模块和/或SoC的功能,而不是关注于SoC的布局。这是因为这些模块中的每个模块都可以容易地被定位在SoC上的不同区域中。模块和SoC能够经由单个HB协议与彼此进行通信。这些模块可以基于不同的时钟信号进行操作,可以具有不同的传送速率、端口或接口带宽等。这些模块中的每个模块被提供有HB适配器模块以允许通过一个或多个芯片内HB以及一个或多个芯片间HB的信息传送。芯片内HB和芯片间HB用作并行传输元件(例如,导电元件)的一个或多个“高速公路”,以用于在模块与SoC之间的高效信息传送。
HB架构允许了新设计的模块和/或SoC的简单集成。HB架构还允许了相同软件在不同模块和/或不同类型的SoC中的简单集成和重用,因为这些模块和SoC中的每个模块和每个SoC都能够使用相同的HB协议经由所分配的HB适配器模块来进行通信。芯片内HB适配器模块将包括中断的信息分组化,这允许了信息和中断的高效传送。这是在不需要用于中断的附加的指定通道和/或导线的情况下完成的。芯片间适配器模块提供地址映射以允许在使用相同HB协议的SoC之间的信息传送。
HB架构允许了经由单向异步互连的高速信息传送。这些HB适配器模块中的每个HB适配器模块具有相应的传输连接和接收连接。这些连接中的每个连接是单向的。模块和/或SoC可以基于具有不同时钟频率的不同时钟信号进行操作。芯片内HB和芯片间HB独立于SoC的时钟信号来传送信息。芯片内HB和芯片间HB包括定时模块,这些定时模块基于HB时钟频率来提供偏斜控制。这提供了在HB适配器模块之间的并行且准同步的信息传送。下文进一步详细地描述了HB系统和对应HB架构的操作。
图1示出了包含多个SoC 12、14的HB系统10。SoC 12、14包括相应的芯片内HB 16、18并且经由芯片间HB 20连接到彼此。芯片内HB 16、18中的每个芯片内HB包括多个芯片内HB适配器模块(后文中被称为芯片内HB适配器)AHBIntra,它们串联连接在一对芯片间HB适配器模块(后文中被称为芯片内HB适配器)AHBInter之间。芯片间HB适配器AHBInter被配置为经由对应的芯片间HB连接到其他芯片间HB适配器。例如,芯片间HB适配器22经由芯片间HB元件26连接到芯片间HB适配器24。如所示出的,导电元件在HB适配器AHBIntra、AHBInter的连续对之间延伸。尽管示出了某个数目的连续元件,但是HB 16、18、20中可以包括任何数目的导电元件。这些芯片内HB适配器AHBIntra中的每个芯片内HB适配器AHBIntra可以连接到模块和/或接口,诸如SoC控制模块27、28;蜂窝接口29;图形处理模块(GPM)30、32;WLAN接口34;图像信号处理器(ISP)接口36;通用异步接收器/传输器(UART)接口38;存储器接口40;以及以太网接口42。接口29、34、36、38、40、42可以经由端口44、45、46、47、48、49连接到相应的设备。
尽管芯片内HB适配器AHBIntra被示出为连接到某些模块和接口,但是芯片内HB适配器AHBIntra可以连接到其他模块和接口。例如,芯片内HB适配器AHBIntra可以连接到:串行接口,诸如通用串行总线(USB)接口;串行高级技术附件(SATA)接口;以及外围组件互连快速(PCIe)接口。这些模块和/或接口中的每项中的一个或多个可以被包括在SoC 12、14中的每个SoC中。存储器接口40可以连接到易失性和/或非易失性存储器,诸如动态随机访问存储器(DRAM)、双倍数据速率(DDR)存储器、只读存储器(ROM)、固态驱动器(SDD)、硬盘驱动器、混合驱动器、嵌入式多媒体卡(eMMC),等等。
SoC控制模块27、28每个都可以包括一个或多个处理模块(或主控)和高速缓存,并且可以控制其他模块和/或接口的操作。这些接口可以经由相应的端口与相应的无线网络和/或有线网络、外围设备(例如,摄像机、打印机、调制解调器、复印机等)、和/或其他设备进行通信。SoC控制模块27、28中的每个SoC控制模块经由对应的芯片内HB 16、18和芯片内HB适配器AHBIntra来访问SoC 12、14中的对应SoC的模块和接口。SoC控制模块27、28中的每个SoC控制模块经由芯片内HB 16、18中的对应芯片内HB、芯片间HB(例如,芯片间HB 20)、以及HB适配器AHBIntra、AHBInter来访问其他SoC的模块和接口。例如,SoC控制模块27、28之一可以向芯片内HB 16、18之一发送命令(或请求信号)。该命令可以经由芯片间HB和/或芯片间HB 20被转发给这些模块和/或接口中的一个模块和/或接口。响应于该命令,数据可以经由芯片内HB 16、18之一和/或芯片间HB20被返回给SoC控制模块。
SoC 12、14可以如所示出的经由端口50、52和/或经由芯片间HB适配器22、24连接到彼此。端口50、52可以被包括在芯片间HB适配器22、24中。HB适配器AHBIntra、AHBInter中的每个HB适配器可以包括两个或更多端口,其中这些端口中的每个端口是传输端口或者接收端口。这些端口中的每个端口可以被称为主控端口和/或从属端口,这取决于信息是被发送给或来自(i)主控设备、模块或接口,还是(ii)从属设备、模块或接口。
图2示出了包括多个SoC 70、72、74的跳跃总线系统60。第一SoC 70包括芯片内HB 75。芯片内HB 75包括串联连接在一对芯片间HB适配器82、84之间的芯片内HB适配器76、78、80。HB适配器76、78、80、82、84可以替换图1的对应HB适配器中的任何HB适配器。芯片内HB适配器76、78、80可以连接到SoC控制模块86;外围接口模块88、90;和/或其他模块和/或接口(其中的一些在上文中被提到)。芯片内HB适配器76、78、80中的每个芯片内HB适配器可以包括非HB接口和HB接口(示例接口92、94、96、98被示出)、协议转换模块(示例协议转换模块99被示出)、以及定时模块(示例定时模块100被示出)。非HB接口根据非HB协议向对应的HB适配器并且从对应的HB适配器传送信息。HB接口根据HB协议向对应的HB适配器并且从对应的HB适配器传送信息。非HB接口和HB接口经由相应的主控端口、从属端口、传输端口和/或接收端口连接到SoC控制模块86;外围接口模块88、90;邻近芯片内HB适配器的接口;和/或芯片间HB适配器82、84的接口。尽管第一芯片内HB适配器76被示出为包括接口、协议转换模块、以及定时模块,但是其他芯片内HB适配器(例如,芯片内HB适配器78、80)每个都可以包括相应的接口、协议转换模块、以及定时模块。
第一芯片内HB适配器76包括:连接到SoC控制模块86的第一接口92;经由导电元件102和缓冲器104连接到第二芯片内HB适配器78的第二接口94;经由导电元件106和缓冲器108连接到芯片间HB适配器82的第三接口96;以及第四接口98。第一接口92为非HB接口并且包括与SoC控制模块86的接口110的主控端口和从属端口相对应的主控端口和从属端口。其他接口94、96、98是HB接口。第四接口98可以连接到另一芯片内HB适配器、最后的芯片内HB适配器(例如,芯片内HB适配器80)、或者另一芯片间HB适配器。作为一种示例,缓冲器102、106可以定位在第一SoC 70的上层金属层上,而SoC控制模块86、外围接口模块88、90、和/或其他模块可以定位在比上层金属层较低的层中(即,更接近于第一SoC 70的基板)。外围接口模块88、90包括连接到相应的外围设备110、112的相应接口107、109。
芯片内HB适配器76、78、80可以如所示出的被链接在一起,并且可以通过将第一芯片内HB适配器76连接到最后的芯片内HB适配器80而回环(loop back)。芯片内HB适配器76、78、80中的每个芯片内HB适配器可以经由相应的芯片间HB适配器(例如,芯片间HB适配器82、84)连接到一个或多个SoC(例如,SoC 72、74)。尽管示出了两个芯片间HB适配器,但是附加的芯片间HB适配器可以被包含在第一SoC 70中并且可以连接到芯片内HB适配器76、78、80中的任何芯片内HB适配器。芯片内HB适配器76、78、80每个都可以包括用于连接到任何数目的模块、接口和/或HB适配器的任何数目的接口。
芯片内HB适配器模块76、78、80的如下接口(例如,接口92)可以被称为非HB接口,这些接口连接到(i)SoC控制模块86、(ii)外围接口模块88、90、和/或(iii)连接到芯片内HB 75的其他模块和/或接口。非HB接口可以包括相应的主控端口和从属端口。主控端口和从属端口可以对信息进行操作,和/或经由相同或不同的非HB协议向SoC控制模块86、外围接口模块88、89、和/或其他模块和/或接口并且从SoC控制模块86、外围接口模块88、89、和/或其他模块和/或接口传送信息。非HB协议可以基于相同的时钟信号或者不同的时钟信号。非HB协议可以是例如高级微控制器总线架构(AMBA)、高级可扩展接口(AXI)协议、以及AMBA高性能总线(AHB)。SoC控制模块86、外围接口模块88、89、和/或其他模块和/或接口可以(i)根据这些非HB协议中的一个或多个非HB协议、并且(ii)基于这些时钟信号中的一个或多个时钟信号,向芯片内HB 75并且从芯片内HB 75传送信息。芯片内HB适配器76、78、80的其他接口(例如,接口94、96、98)可以被称为HB接口并且根据HB协议来传送信息。芯片内HB适配器76、78、80被配置为从非HB接口接收信息,而不管被用来传送该信息的时钟信号。
协议转换模块99可以包括缓冲器120和分组化模块122。协议转换模块99把根据非HB协议中的一个或多个非HB协议所接收的信息转换为根据HB协议的格式的信息。所接收的信息可以被存储在缓冲器120中并且然后由分组化模块122分组化。作为结果,生成了具有头部和主体的分组。头部可以包括源地址、目的地地址、以及将被传送和/或访问的比特数目。主体可以包括命令、所请求的信息、数据和/或其他信息。分组化模块122还可以将中断分组化,并且经由对应的HB接口、缓冲器和导电元件在HB适配器76、78、80、82、84之间与其他信息类似地和/或与其他信息一起传输中断。这消除了对于用于中断的附加线路、导电元件和/或通道的需求。
定时模块100可以包括生成HB时钟信号的HB时钟124。尽管定时模块100和HB时钟124被示出为是第一芯片内HB适配器76的一部分,但是定时模块100和/或HB时钟124可以是HB适配器76、78、80、82、84中的任何HB适配器的一部分,和/或可以与HB适配器76、78、80、82、84是分离的并且向HB适配器76、78、80、82、84提供HB时钟信号。HB适配器76、78、80、82、84可以共享相同的HB时钟信号。相同的HB时钟信号可以由SoC 70、72、74的HB适配器共享。HB适配器76、78、80、82、84中的每个HB适配器的定时模块和/或分组化模块可以将HB时钟信号包含在从对应的HB适配器转发给其他HB适配器之一的信息信号中。
定时模块100还可以执行偏斜控制。这可以包括基于HB时钟信号来对在芯片内HB适配器的对应接口处在并行通道上接收的信息(或分组)进行采样。偏斜控制确保了在HB适配器之间的并行通道上转发的信息的比特在彼此的预定时段内被接收。这提供了信息的并行传播和信号的对齐。可以存在任何数目的接收通道和传输通道以及对应的导电元件在HB适配器与对应的缓冲器之间并行地延伸。
芯片间HB适配器82、84包括:连接到芯片内HB适配器76、78的HB接口131、133;以及连接到芯片间HB 150、152的HB接口135、137。芯片间HB适配器82、84包括地址变换模块130、132;标识符(ID)模块134、136;串行化器/解串行化器(SER/DER)138、140;以及定时模块142、144。对于传出的信息,地址变换模块可以把从芯片内HB适配器接收的分组中提供的本地地址变换为全局地址。本地地址对本地芯片可以是可识别的并且对其他芯片不是。全局地址对本地芯片并且对其他芯片可以是可识别的。本地地址可以是指本地芯片中的存储器位置和/或连接到本地芯片的存储器设备的地址。全局地址可以是指远程芯片中的存储器位置和/或连接到远程芯片的存储器设备的地址。对于传入的信息,地址变换模块可以把从远程SoC接收的全局地址变换为该地址变换模块的本地SoC的本地地址。
ID模块134、136可以将一个或多个唯一ID添加到从芯片内HB适配器76、78、80接收的分组的头部。这些唯一ID对SoC、源模块(请求和/或提供信息的模块)、源接口(请求和/或提供信息的接口)、和/或芯片间HB适配器可以是唯一的。可以经由例如ID模块所执行的软件来指配唯一ID。作为一种示例,地址变换模块130、132之一可以从芯片内HB 75接收本地的40比特地址,并且基于由ID模块134、136之一所提供的唯一ID来生成全局的48比特地址。
SER/DER模块138、140可以把分别在芯片间HB 150、152上从芯片间HB适配器82、84传输的信息(或分组)串行化,并且把经由芯片间HB 150、152从SoC 72、74接收的信息(或分组)解串行化。定时模块142、144可以与芯片内HB适配器76的定时模块100类似地进行操作,包括HB时钟信号的传输和偏斜控制。
模块86、88、90(以及连接到芯片内HB适配器76、78、80的其他模块和/或接口)可以基于相应的宏(macro)进行操作。归因于芯片内HB适配器76、78、80的配置和操作,这些宏可以是特定于芯片的和/或可以在不同类型的芯片中被重用。这是因为,与这些宏中的每个宏相关联的时钟信号不需要匹配于和/或被修改以匹配于对应芯片的时钟信号。不需要时钟匹配是因为,不管信息何时被接收,芯片内HB适配器76、78、80都能够进行操作。
芯片内HB适配器76、78、80可以知晓宏的定时。这可以被编程到芯片内HB适配器76、78、80中,和/或可以基于与模块86、88、90(以及连接到芯片内HB适配器76、78、80的其他模块和/或接口)的通信和/或从模块86、88、90(以及连接到芯片内HB适配器76、78、80的其他模块和/或接口)接收的时钟信号。因此,芯片内适配器76、78、80可以能够确定信息将何时从模块86、88、90(以及连接到芯片内HB适配器76、78、80的其他模块和/或接口)被接收并且相应地进行响应。在另一实施例中并且关于从模块86、88、90(以及连接到芯片内HB适配器76、78、80的其他模块和/或接口)接收信息,芯片内HB适配器76、78、80可能是不知晓时间的并且对所接收的信息进行缓冲。
芯片内HB 75向标准化的可互换连接点(即,芯片内HB适配器76、78、80)提供了可互换连接点之间的顶级的路由和定时。异步的信息传送可以发生在以下各项之间:(i)模块86、88、90以及连接到芯片内HB适配器76、78、80的其他模块和/或接口,以及(ii)芯片内HB适配器76、78、80。归因于所执行的偏斜控制,HB适配器76、78、80、82、84之间的信息传送可以被称为准同步的。包含可互换连接点允许了可互换连接点的简单验证和硅注入。
这些HB接口可以被称为组合式主控接口和从属接口,并且经由相应的传输导电元件和接收导电元件(例如,导电元件102、106)以传送并行格式的信息。传输导电元件和接收导电元件每个都可以是单向的。作为一种示例,传输导电元件可以包括128个数据元件和16个选通(strobe)元件。接收导电元件也可以包括128个数据元件和16个选通元件。这不同于传统的AXI交叉网(cross-mesh)配置,在传统的AXI交叉网配置中,例如,设备A经由从设备A延伸的交叉网配置的相应分支连接到设备B-D。所公开的HB系统60允许设备A-D经由串联HB进行连接,以使得设备A-D中的每个设备能够通过在该HB的HB适配器之间串行地转发信息来与其他设备A-D中的每个设备进行通信。该信息从源设备(例如,设备A)并且在HB适配器之间被转发,直至到达最接近于目的地设备(例如,目的地设备D)的芯片内HB适配器。
SoC控制模块86可以包括启动模块160。启动模块160可以启动第一SoC 70和/或其他SoC(例如,SoC 72、74)的模块和适配器。启动模块160可以指令这些其他SoC何时启动以及用于这些SoC的相应启动代码被存储在何处。启动代码可以被存储在第一SoC 72、这些其他SoC中,和/或与第一SoC 72和/或其他SoC分离的存储器中。这些其他SoC可以基于来自第一SoC 72的指令进行启动。这些其他SoC可以基于这些其他SoC中的相应的所存储和预设的比特、预设的引脚(pin)、和/或预设的引信(fuse)来进行启动,它们指示了是自启动还是基于来自第一SoC 72的指令进行启动。如下文进一步描述的,这些指令可以被提供在芯片间HB(IHB)就绪信号中。关于图5和6更详细地描述启动模块160的操作。
图3示出了地址变换模块170。地址变换模块170可以替换图2的地址变换模块中的任何地址变换模块。地址变换模块170包括本地地址掩蔽模块172、第一地址比较模块174、全局地址掩蔽模块176、以及第二地址比较模块178。本地地址掩蔽模块172可以指示要与预定数目的全局地址进行比较的本地地址的比特数目。第一地址比较模块174将本地地址或它的一部分与一个或多个全局地址进行比较以找到匹配。如果匹配被找到,则所匹配的全局地址被使用在对该本地地址的替换中。
例如,本地地址掩蔽模块172可以指示本地地址的48比特中的前32比特将与预定数目的全局地址中的每个全局地址的前32比特进行比较,直至找到匹配。预定数目的全局地址可以被存储在相应的寄存器中并且与本地地址进行比较。这些比较可以并行地(或者在相同的时间段期间)被执行。该本地地址然后经由第一地址比较模块174被重映射到匹配的全局地址。
全局地址掩蔽模块176可以指示要与预定数目的本地地址进行比较的全局地址的比特数目。第二地址比较模块178将全局地址或它的一部分与一个或多个本地地址进行比较以找到匹配。如果匹配被找到,则所匹配的本地地址被使用在对该全局地址的替换中。
例如,全局地址掩蔽模块176可以指示全局地址的48比特中的前32比特将与预定数目的本地地址中的每个本地地址的前32比特进行比较,直至找到匹配。预定数目的本地地址可以被存储在相应的寄存器中并且与全局地址进行比较。这些比较可以并行地(或者在相同的时间段期间)被执行。该全局地址然后经由第二地址比较模块178被重映射到匹配的本地地址。
如果全局地址从当前的SoC经由一个或多个芯片内HB以及一个或多个芯片间HB被转发给另一SoC,则全局地址可以不重映射到本地地址。重映射可以发生在最终的目的地SoC。这被称为旁路一个或多个芯片。
可以使用许多方法来操作本文所公开的系统,图4中图示了一种示例方法。在图4中,示出了操作HB系统(例如,图1-2的HB系统10、60之一)的方法。尽管主要关于图1-3的实施方式描述了以下的任务,但是这些任务可以容易地被修改以应用到本公开的其他实施方式。这些任务可以迭代地被执行。
该方法可以在200处开始。在202处,第一芯片内HP适配器(例如,芯片内HP适配器76)从模块(例如,SoC控制模块86)接收信息(例如,命令)。可以经由第一芯片内适配器的非HB接口的主控端口来接收该信息。
在204处,协议转换模块将所接收的信息转换为HB协议。所接收的信息可能具有不同的类型,可能以不同的速率被接收,和/或可能基于不同的时钟频率被传输。不管该信息被接收的协议,协议转换模块都根据HB协议将该信息转换为HB格式。这可以包括分组化模块对该信息进行分组化并且向一个或多个分组添加头部。该头部可以包括源地址、目的地地址、源芯片唯一ID、目的地芯片唯一ID、源模块唯一ID、和/或目的地模块唯一ID。源地址和目的地地址可以不是SoC的地址,而是可以指代SoC之中或SoC之外的存储器位置和/或连接到SoC的设备的地址。
在206处,第一芯片内HP适配器可以基于该头部中的任何信息或全部信息来确定在204处生成的一个或多个分组是(i)将从当前的芯片内适配器模块内部地被转发给当前的SoC,还是(ii)将被发送给另一SoC。如果这些分组将保持在当前的SOC中,则任务208被执行,否则任务222被执行。
在208处,第一芯片内HP适配器可以基于该头部中的任何信息或全部信息来确定在204处生成的该一个或多个分组是否将被转发给下一芯片内HP适配器模块。如果这些分组将沿着芯片内HB被转发给下一芯片内HP适配器模块,则任务210被执行,否则任务215被执行。
在210处,该信息和HB时钟信号从当前的(或者前一)芯片内HB适配器模块经由芯片内HB被转发给下一芯片内HP适配器模块。这些分组被散布在HB适配器模块之间的多个可用并行通道上。在212处,在下一芯片内HP适配器模块处被接收之前,该信息经由前一芯片内HB适配器模块与下一芯片内HB适配器模块之间的缓冲器(例如,缓冲器102)而被缓冲。在214处,在这些通道上并且在下一芯片间HB适配器模块处接收的分组的比特基于HB时钟信号而被采样。该采样可以被调节以执行偏斜控制,以调节这些比特在这些通道中的每个通道处被接收的速率。这辅助了确保在并行通道上并且在彼此的第一预定时段内被传输的比特在彼此的第二预定时段内被接收。第二预定时段可以是与第一预定时段的相同长度。在任务214之后,任务206可以被执行,其中该下一芯片内HP适配器模块现在是当前的芯片内HP适配器模块。
在215处,以分组为形式的信息由该下一芯片内HP适配器模块的协议转换模块转换为对目的地设备是可识别的格式。该信息可以采用与源设备所传输的信息相同的格式和/或基于与源设备所传输的信息相同的协议,或者可以采用不同的格式和/或基于不同的协议。在216处,经转换的信息从芯片内HB被转发给目的地设备、模块和/或接口。在218处,最近(latest)的芯片内HB适配器模块基于该信息来确定是否已经从目的地设备、模块和/或接口接收到响应。如果已经接收到响应,则任务220被执行,否则该方法可以在238处结束。
在220处,在最近的芯片内HB适配器模块处从目的地设备、模块和/或接口接收响应,并且该响应经由芯片内HB被转发给该信息的源。该响应可以包括例如存储器中所存储的数据。该响应的转发可以按照该信息被发送给目的地设备、模块和/或接口的相反顺序发生。
在222处,该信息从当前的芯片内HB适配器模块被转发给芯片间HB适配器模块(例如,芯片间HB适配器82)。在224处,在芯片间HB适配器模块处被接收之前,该信息被缓冲。在226处,芯片间HB适配器模块对所接收的信息进行采样。这可以包括如上文所描述的偏斜控制,并且可以基于在芯片间HB适配器模块处从最后的芯片内HB适配器模块(先前被称为当前的芯片内HB适配器模块)接收的HB时钟信号。
在228处,ID模块(例如,该ID模块)确定一个或多个唯一ID。在230处,地址变换模块可以基于该一个或多个唯一ID将本地地址变换为全局地址。可以基于该一个或多个唯一ID以及所确定的全局地址来修改这些分组的头部。在231处,串行化器/解串行化器模块将这些分组的比特串行化。在232处,芯片间HB适配器模块经由芯片间HB把经串行化的比特转发给下一SoC。尽管这些分组被串行化,但是分组可以经由前一SoC与下一SoC之间的并行通道而被传输,其中每个通道包括相应分组的经串行化的比特。分组的比特可以通过一个或多个通道被传输给下一SoC。
在234处,芯片间HB适配器模块基于经由芯片间HB传输的分组来确定是否已经接收到来自下一SoC的响应。该响应可以包括例如下一芯片或连接到下一芯片的设备之中所存储的数据或启动代码。如果已经接收到响应,则任务236被执行,否则该方法可以在238处结束。在236处,该响应经由芯片内HB被转发给该信息的源。这可以按照该信息被传输的相反顺序来进行。
上文所描述的任务意指是说明性示例,取决于应用,这些任务可以依次地、同步地、同时地、连续地、在交叠的时间段期间、或者按照不同的顺序被执行。此外,取决于事件的实施方式和/或次序,这些任务中的任何任务可以不被执行或者被跳过。
图5示出了被配置为执行交叉芯片(cross-chip)启动控制的HB系统250。HB系统250包括第一SoC 252和第二SoC 254。第一SoC252可以被称为“基础”或“主控启动”芯片,并且第二SoC 254可以被称为“次级”芯片。第一SoC 252包括:具有启动模块258的SoC控制模块256;HB 260;ROM和/或高速缓存262;存储器接口模块264;以及芯片间HB适配器模块266。HB 260包括分别连接到ROM和/或高速缓存262、存储器接口模块264、以及芯片间HB适配器模块266的芯片内HB适配器模块268。芯片内HB适配器模块268可以类似于图2的芯片内HB适配器模块而被配置。存储器接口模块264连接到存储器设备,诸如eMMC 270、USB模块272、DDR存储器274和UART模块276。芯片间HB适配器模块266经由芯片间HB 280连接到第二SoC 254,芯片间HB 280可以连接到另一存储器设备(例如,第二DDR存储器278)。参考图6来进一步描述HB系统250。
图6示出了一种启动方法。尽管主要关于图5的实施方式描述了以下的任务,但是这些任务可以容易地被修改以应用到本公开的其他实施方式。这些任务可以迭代地被执行。
该方法可以在330处开始。以下的任务302-308与基础芯片(例如,第一SoC 252)相关联。在302处,基础芯片被开启(例如,被通电)。在304处,基础芯片将用于基础芯片和/或一个或多个次级芯片(例如,第二SoC 254)的启动代码加载在一个或多个存储器(或存储器设备)中,诸如加载在存储器设备262、270、272、274、276中的一个或多个存储器设备中。这可以包括将启动代码加载到基础芯片的高速缓存中,或者在这些存储器设备中的两个或更多存储器设备之间传送启动代码。在306处,如果不是已经在304处被执行,则次级芯片的启动代码可以被加载。
在308处,基础芯片和/或对应的启动模块可以生成芯片间HB(IHB)就绪信号,以指示基础芯片、芯片间HB、基础芯片的芯片内HB、以及启动代码就绪用于次级芯片。IHB就绪信号可以指示用于次级芯片中的每个次级芯片和/或次级芯片的模块中的每个模块的启动代码位于何处。IHB信号从基础芯片经由芯片间HB被传输给次级芯片。如果多于一个次级芯片正在接收IHB就绪信号,则IHB就绪信号可以从第一次级芯片被转发给第二次级芯片,或者可以直接从基础芯片被转发给次级芯片中的每个次级芯片。
任务310-314与第一次级芯片相关联。在310处,第一次级芯片在第一次级芯片的芯片间HB适配器模块处接收IHB信号。在312处,第一次级芯片的芯片间HB适配器模块确定是否将IHB信号转发给第二次级HB芯片。如果IHB信号将不被转发,则任务314被执行,否则任务316被执行。
在314处,第一次级芯片基于IHB信号确定是否启动。这可以包括第一次级芯片的控制模块根据IHB信号确定是否访问启动代码,和/或是否基于第一次级芯片和/或连接到第一次级芯片的存储器设备中所存储的代码来进行启动。第一次级芯片可以(i)生成访问请求信号以根据IHB信号加载启动代码,以及(ii)基于该访问请求信号,从基础SoC和/或在基础SoC内部和/或连接到基础SoC的存储器设备接收启动代码。访问请求信号可以经由芯片内HB适配器、芯片内HB、芯片间HB适配器、以及芯片间HB而被发送回到基础SoC的控制模块和/或发送给基础SoC中的或者连接到基础SoC的存储器。启动代码然后可以经由芯片内HB适配器、芯片内HB、芯片间HB适配器、以及芯片间HB而被发送给第一次级SoC的控制模块。
在316处,第二次级SoC可以根据IHB信号进行启动。在任务314、316之后,该方法可以在318处结束。
本公开中所描述的无线通信能够完全地或者部分地符合于IEEE标准802.11-2012、IEEE标准802.16-2009、IEEE标准802.20-2008、和/或蓝牙核心规范v4.0来进行。在各种实施方式中,蓝牙核心规范v4.0可以通过蓝牙核心规范附录2、3或4中的一个或多个而被修改。在各种实施方式中,IEEE 802.11-2012可以通过草案IEEE标准802.11ac、草案IEEE标准802.11ad、和/或草案IEEE标准802.11ah进行补充。
前述描述在性质上仅是说明性的,并且决不意图为限制本公开、它的应用、或使用。本公开的宽泛教导能够以各种形式来实施。因此,虽然这一公开包括特定的示例,但是本公开的真实范围不应当如此被限制,因为一经研究附图、说明书和以下的权利要求,其他的修改将变得明显。如本文所使用的,短语“A、B和C中的至少一个”应当被解释为意指使用非排他的逻辑“或”的逻辑(A或B或C),并且不应当解释为意指“至少一个A、至少一个B、以及至少一个C”。应当理解,不变更本公开的原理,方法内的一个或多个步骤可以按照不同的顺序(或者并发地)被执行。
在本申请中(包括下面的定义),术语“模块”或术语“控制器”可以被替换为术语“电路”。术语“模块”可以指代以下各项、是以下各项的一部分、或者包括以下各项:专用集成电路(ASIC);数字、模拟、或混合式模拟/数字分立电路;数字、模拟、或混合式模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共享的、专属的、或群组);存储由处理器电路执行的代码的存储器电路(共享的、专属的、或群组);提供所描述的功能的其他适合的硬件组件;或者上面中的一些或全部的组合,诸如在片上系统中。
模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、互联网、广域网(WAN)、或它们的组合的有线接口或无线接口。本公开的任何给定模块的功能可以被分布在经由接口电路连接的多个模块之间。例如,多个模块可以允许负载平衡。在进一步的示例中,服务器(也被称作远程、或云)模块可以代表客户端模块完成一些功能。
如上文所使用的术语“代码”可以包括软件、固件、和/或微代码,并且可以指代程序、例程、函数、类、数据结构、和/或对象。术语“共享的处理器电路”涵盖执行来自多个模块的一些代码或全部代码的单个处理器电路。术语“群组处理器电路”涵盖与另外的处理器电路相组合来执行来自一个或多个模块的一些代码或全部代码的处理器电路。对多个处理器电路的参考涵盖分立裸片上的多个处理器电路、单个裸片上的多个处理器电路、单个处理器电路的多个核心、单个处理器电路的多个线程、或者上面的组合。术语“共享的存储器电路”涵盖存储来自多个模块的一些代码或全部代码的单个存储器电路。术语“群组存储器电路”涵盖与另外的存储器相组合来存储来自一个或多个模块的一些代码或全部代码的存储器电路。
术语“存储器电路”是术语“计算机可读介质”的子集。如本文所使用的术语“计算机可读介质”没有涵盖通过介质(诸如,在载波上)传播的瞬态电信号或电磁信号;术语“计算机可读介质”因此可以被考虑为是有形且非瞬态的。非瞬态有形计算机可读介质的非限制性示例包括非易失性存储器电路(诸如,闪速存储器电路或掩模只读存储器电路)、易失性存储器电路(诸如,静态随机访问存储器电路和动态随机访问存储器电路)、以及次级存贮器,诸如磁存贮器(诸如,磁带或硬盘驱动器)和光存贮器。
本申请中所描述的装置和方法可以部分地或者完全地由专用计算机来实施,专用计算机通过将通用计算机配置为执行计算机程序中具体化的一个或多个特定功能来创建。计算机程序包括至少一个非瞬态有形计算机可读介质上所存储的处理器可执行指令。计算机程序还可以包括或依赖于所存储的数据。计算机程序可以包括与专用计算机的硬件进行交互的基本输入/输出系统(BIOS)、与专用计算机的特定设备进行交互的设备驱动器、一个或多个操作系统、用户应用、背景服务和应用,等等。
计算机程序可以包括:(i)汇编代码;(ii)由编译器从源代码生成的对象代码;(iii)用于由解释器执行的源代码;(iv)用于由即时编译器编译和执行的源代码;(v)用于解析的描述性文本,诸如HTML(超文本标记语言)或XML(可扩展标记语言),等等。仅是作为示例,可以用C、C++、C#、Objective-C、Haskell、Go、SQL、Lisp、ASP、Perl、HTML5、Ada、ASP(动态服务器页面)、Perl、Scala、Erlang、Ruby、VisualLua、或来编写源代码。
权利要求中所记载的元素都不意图为是35U.S.C§112(f)的含义之内的“装置加功能”元素,除非使用短语“用于……的装置”来明确地记载元素,或者是在方法权利要求使用短语“用于……的操作”或“用于……的步骤”的情况下。
权利要求书(按照条约第19条的修改)
1.一种第一片上系统,包括:
包括第一非跳跃总线接口和第二非跳跃总线接口的多个非跳跃总线接口,其中所述第一非跳跃总线接口被配置为基于第一协议来接收信息;以及
包括多个芯片内适配器的跳跃总线,
其中
所述多个芯片内适配器串联连接并且分别连接到所述多个非跳跃总线接口,
所述多个芯片内适配器被配置为i)根据第二协议,将所述信息转换为第一格式以用于通过所述跳跃总线的传输,包括将所述信息分组化以生成一个或多个分组,以及ii)通过所述跳跃总线并且在所述多个芯片内适配器之间传送所述第一格式的所述信息,
所述第二协议不同于所述第一协议,并且
所述第二非跳跃总线接口被配置为基于通过所述跳跃总线的所述信息的所述传输从所述跳跃总线接收所述信息。
2.根据权利要求1所述的第一片上系统,其中:
所述多个芯片内适配器包括第一芯片内适配器和第二芯片内适配器;
所述第一芯片内适配器包括第三非跳跃总线接口和跳跃总线接口;
所述第三非跳跃总线接口连接到所述第一非跳跃总线接口,并且被配置为从所述第一非跳跃总线接口根据所述第一协议接收所述信息;并且
所述第一跳跃总线接口被配置为将所述第一格式的所述一个或多个分组转发给所述第二芯片内适配器。
3.根据权利要求2所述的第一片上系统,其中:
所述第二芯片内适配器被配置为i)根据第三协议将所述第一格式的所述一个或多个分组转换为第二格式,以及ii)将所述第二格式的所述信息转发给所述第二非跳跃总线接口;并且
所述第三协议不同于所述第二协议。
4.根据权利要求3所述的第一片上系统,其中所述第三协议不同于所述第一协议。
5.根据权利要求2所述的第一片上系统,其中:
所述第一芯片内适配器被配置为将所述一个或多个分组的比特散布在所述第一芯片内适配器与所述第二芯片内适配器之间的多个通道或多个导电元件上;并且
所述第二芯片内适配器被配置为i)经由所述多个通道或所述多个导电元件来接收所述一个或多个分组的所述比特,以及ii)基于所述跳跃总线的时钟信号,对所述一个或多个分组的所述比特进行采样以对所述一个或多个分组的所述比特在所述第二芯片内适配器处的接收进行偏斜控制。
6.根据权利要求1所述的第一片上系统,其中所述第一协议是高级微控制器总线架构。
7.根据权利要求1所述的第一片上系统,其中所述多个非跳跃总线接口中的每个非跳跃总线接口被配置为连接到所述第一片上系统之内的模块或者外围设备。
8.根据权利要求1所述的第一片上系统,其中:
所述第一非跳跃总线接口包括第一主控端口和第一从属端口;
所述跳跃总线接口包括第二主控端口和第二从属端口;
所述第一主控端口连接到所述第二主控端口;
所述第一从属端口连接到所述第二从属端口;并且
所述信息i)在所述第一主控端口与所述第二主控端口之间、或者ii)在所述第一从属端口与所述第二从属端口之间被传送。
9.根据权利要求1所述的第一片上系统,进一步包括芯片间适配器,所述芯片间适配器被配置为在第一芯片内适配器与芯片间总线之间传送所述信息,其中:
所述多个芯片内适配器包括所述第一芯片内适配器;
所述第一芯片内适配器被配置为将所述信息分组化以生成具有头部的分组;
所述头部包括本地地址;并且
所述芯片间适配器被配置为i)确定用于所述第一片上系统的唯一标识符,ii)基于所述唯一标识符,将所述本地地址变换为全局地址,以及iii)将具有所述全局地址的所述一个或多个分组转发给第二片上系统。
10.根据权利要求9所述的第一片上系统,其中所述芯片间适配器被配置为在将所述一个或多个分组转发给所述第二片上系统之前将所述一个或多个分组串行化。
11.根据权利要求1所述的第一片上系统,进一步包括:
控制模块,被配置为i)加载用于所述第一片上系统和第二片上系统的启动代码,以及ii)向第一芯片内适配器传输就绪信号,其中所述就绪信号指示用于所述第二片上系统的启动代码就绪,并且其中所述多个芯片内适配器包括所述第一芯片内适配器;以及
芯片间适配器,被配置为i)将所述就绪信号从所述第一芯片内适配器经由芯片间总线传送给所述第二片上系统,以及ii)基于所述就绪信号,从所述第二片上系统接收访问信号,以及iii)基于所述访问信号,将用于所述第二片上系统的启动代码传送给所述第二片上系统,其中所述芯片间总线在所述第一片上系统与所述第二片上系统之间延伸。
12.根据权利要求1所述的第一片上系统,进一步包括:
经由芯片间总线连接到第一芯片内适配器的芯片间适配器,其中所述芯片间适配器被配置为i)从第二片上系统接收就绪信号,以及ii)将所述就绪信号转发给所述第一芯片内适配器,其中所述多个芯片内适配器包括所述第一芯片内适配器;以及
控制模块,被配置为i)从所述第一芯片内适配器接收所述就绪信号,ii)基于所述就绪信号,确定是否基于i)经由所述芯片间总线被访问并且被存储在所述第二片上系统中的或者连接到所述第二片上系统的存储器中的启动代码,或者ii)被存储在所述第一片上系统中的或者连接到所述第一片上系统的存储器中的启动代码,来启动所述第一片上系统。
13.根据权利要求12所述的第一片上系统,其中所述控制模块被配置为i)基于所述就绪信号生成访问信号,ii)经由所述芯片间总线将所述就绪信号传输给所述第二片上系统,以及iii)接收所述启动代码并且存储在所述第二片上系统中的或者连接到所述第二片上系统的存储器中。
14.一种跳跃总线系统,包括:
根据权利要求1所述的第一片上系统,其中所述第一片上系统包括连接到第一芯片内适配器的第一芯片间适配器,其中所述多个芯片内适配器包括所述第一芯片内适配器;
包括第二跳跃总线和第二芯片间适配器的第二片上系统;以及
将所述第一芯片间适配器连接到所述第二芯片间适配器的芯片间总线。
15.根据权利要求14所述的跳跃总线系统,其中:
所述第一片上系统包括控制模块;
所述控制模块被配置为i)生成请求信号,以及ii)基于所述第一协议,将所述请求信号传输给所述第一芯片内适配器;
所述第一芯片内适配器被配置为i)根据所述第二协议将所述请求信号分组化以生成分组,以及ii)将所述分组转发给所述第一芯片间适配器;
所述第一芯片间适配器被配置为i)向所述分组添加唯一标识符,ii)将所述分组串行化,以及iii)将经串行化的所述分组转发给所述芯片间总线;
所述第二芯片间适配器被配置为i)将所述分组解串行化,以及ii)将所述分组转发给第三芯片内适配器;以及
所述第三芯片内适配器被配置为i)基于所述分组来访问存储器中存储的数据,以及ii)经由所述第二芯片间适配器、所述芯片间总线、所述第一芯片间适配器、以及所述第一芯片内适配器,将所述数据转发给所述控制模块。
16.一种在第一片上系统中转发信息的方法,所述第一片上系统包括多个非跳跃总线接口和跳跃总线,其中所述多个非跳跃总线接口包括第一非跳跃总线接口和第二非跳跃总线接口,其中所述跳跃总线包括多个芯片内适配器,并且其中所述多个芯片内适配器串联连接并且分别连接到所述多个非跳跃总线接口,所述方法包括:
在第一片上系统的所述第一非跳跃总线接口处,基于第一协议来接收信息;
根据第二协议,经由所述多个芯片内适配器将所述信息转换为第一格式以用于通过所述跳跃总线的传输,包括将所述信息分组化以生成一个或多个分组,其中所述第二协议不同于所述第一协议;
通过所述跳跃总线并且在所述多个芯片内适配器之间传送所述第一格式的所述信息;以及
基于通过所述跳跃总线的所述信息的所述传输,在所述第二非跳跃总线接口处从所述跳跃总线接收所述信息。
17.根据权利要求16所述的方法,进一步包括:
在第一芯片内适配器的第三非跳跃总线接口处,从所述第一非跳跃总线接口,根据所述第一协议接收所述信息,其中所述多个芯片内适配器包括所述第一芯片内适配器和第二芯片内适配器;
根据所述第二协议,经由所述第一芯片内适配器,将所述信息转换为所述第一格式以用于通过所述跳跃总线的传输,其中所述信息的所述转换包括将所述信息分组化以生成一个或多个分组;以及
经由所述第一跳跃总线接口,将所述第一格式的所述一个或多个分组转发给所述第二芯片内适配器。
18.根据权利要求17所述的方法,进一步包括:
经由所述第二芯片内适配器,根据第三协议将所述第一格式的所述一个或多个分组转换为第二格式,其中所述第三协议不同于所述第二协议;以及
将所述第二格式的所述信息转发给所述第二非跳跃总线接口。
19.根据权利要求18所述的方法,其中所述第三协议不同于所述第一协议。
20.根据权利要求17所述的方法,进一步包括:
经由所述第一芯片内适配器,将所述一个或多个分组的比特散布在所述第一芯片内适配器与所述第二芯片内适配器之间的多个通道或多个导电元件上;
经由所述多个通道或所述多个导电元件,在所述第二芯片内适配器处接收所述一个或多个分组的所述比特;以及
基于所述跳跃总线的时钟信号,对所述一个或多个分组的所述比特进行采样,以对所述一个或多个分组的所述比特在所述第二芯片内适配器处的接收进行偏斜控制。

Claims (20)

1.一种第一片上系统,包括:
包括第一非跳跃总线接口和第二非跳跃总线接口的多个非跳跃总线接口,其中所述第一非跳跃总线接口被配置为基于第一协议来接收信息;以及
包括多个芯片内适配器的跳跃总线,
其中
所述多个芯片内适配器串联连接并且分别连接到所述多个非跳跃总线接口,
所述多个芯片内适配器被配置为(i)根据第二协议,将所述信息转换为第一格式以用于通过所述跳跃总线的传输,以及(ii)通过所述跳跃总线并且在所述多个芯片内适配器之间传送所述第一格式的所述信息,
所述第二协议不同于所述第一协议,并且
所述第二非跳跃总线接口被配置为基于通过所述跳跃总线的所述信息的所述传输从所述跳跃总线接收所述信息。
2.根据权利要求1所述的第一片上系统,其中:
所述多个芯片内适配器包括第一芯片内适配器和第二芯片内适配器;
所述第一芯片内适配器包括第三非跳跃总线接口和跳跃总线接口;
所述第三非跳跃总线接口连接到所述第一非跳跃总线接口,并且被配置为从所述第一非跳跃总线接口根据所述第一协议接收所述信息;
所述第一芯片内适配器被配置为,根据所述第二协议,将所述信息转换为所述第一格式以用于通过所述跳跃总线的传输,包括将所述信息分组化以生成一个或多个分组;并且
所述第一跳跃总线接口被配置为将所述第一格式的所述一个或多个分组转发给所述第二芯片内适配器。
3.根据权利要求2所述的第一片上系统,其中:
所述第二芯片内适配器被配置为(i)根据第三协议将所述第一格式的所述一个或多个分组转换为第二格式,以及(ii)将所述第二格式的所述信息转发给所述第二非跳跃总线接口;并且
所述第三协议不同于所述第二协议。
4.根据权利要求3所述的第一片上系统,其中所述第三协议不同于所述第一协议。
5.根据权利要求2所述的第一片上系统,其中:
所述第一芯片内适配器被配置为将所述一个或多个分组的比特散布在所述第一芯片内适配器与所述第二芯片内适配器之间的多个通道或多个导电元件上;并且
所述第二芯片内适配器被配置为(i)经由所述多个通道或所述多个导电元件来接收所述一个或多个分组的所述比特,以及(ii)基于所述跳跃总线的时钟信号,对所述一个或多个分组的所述比特进行采样以对所述一个或多个分组的所述比特在所述第二芯片内适配器处的接收进行偏斜控制。
6.根据权利要求1所述的第一片上系统,其中所述第一协议是高级微控制器总线架构。
7.根据权利要求1所述的第一片上系统,其中所述多个非跳跃总线接口中的每个非跳跃总线接口被配置为连接到所述第一片上系统之内的模块或者外围设备。
8.根据权利要求1所述的第一片上系统,其中:
所述第一非跳跃总线接口包括第一主控端口和第一从属端口;
所述跳跃总线接口包括第二主控端口和第二从属端口;
所述第一主控端口连接到所述第二主控端口;
所述第一从属端口连接到所述第二从属端口;并且
所述信息(i)在所述第一主控端口与所述第二主控端口之间、或者(ii)在所述第一从属端口与所述第二从属端口之间被传送。
9.根据权利要求1所述的第一片上系统,进一步包括芯片间适配器,所述芯片间适配器被配置为在第一芯片内适配器与芯片间总线之间传送所述信息,其中:
所述多个芯片内适配器包括所述第一芯片内适配器;
所述第一芯片内适配器被配置为将所述信息分组化以生成具有头部的分组;
所述头部包括本地地址;并且
所述芯片间适配器被配置为(i)确定用于所述第一片上系统的唯一标识符,(ii)基于所述唯一标识符,将所述本地地址变换为全局地址,以及(iii)将具有所述全局地址的所述一个或多个分组转发给第二片上系统。
10.根据权利要求9所述的第一片上系统,其中所述芯片间适配器被配置为在将所述一个或多个分组转发给所述第二片上系统之前将所述一个或多个分组串行化。
11.根据权利要求1所述的第一片上系统,进一步包括:
控制模块,被配置为(i)加载用于所述第一片上系统和第二片上系统的启动代码,以及(ii)向第一芯片内适配器传输就绪信号,其中所述就绪信号指示用于所述第二片上系统的启动代码就绪,并且其中所述多个芯片内适配器包括所述第一芯片内适配器;以及
芯片间适配器,被配置为(i)将所述就绪信号从所述第一芯片内适配器经由芯片间总线传送给所述第二片上系统,以及(ii)基于所述就绪信号,从所述第二片上系统接收访问信号,以及(iii)基于所述访问信号,将用于所述第二片上系统的启动代码传送给所述第二片上系统,其中所述芯片间总线在所述第一片上系统与所述第二片上系统之间延伸。
12.根据权利要求1所述的第一片上系统,进一步包括:
经由芯片间总线连接到第一芯片内适配器的芯片间适配器,其中所述芯片间适配器被配置为(i)从第二片上系统接收就绪信号,以及(ii)将所述就绪信号转发给所述第一芯片内适配器,其中所述多个芯片内适配器包括所述第一芯片内适配器;以及
控制模块,被配置为(i)从所述第一芯片内适配器接收所述就绪信号,(ii)基于所述就绪信号,确定是否基于(i)经由所述芯片间总线被访问并且被存储在所述第二片上系统中的或者连接到所述第二片上系统的存储器中的启动代码,或者(ii)被存储在所述第一片上系统中的或者连接到所述第一片上系统的存储器中的启动代码,来启动所述第一片上系统。
13.根据权利要求12所述的第一片上系统,其中所述控制模块被配置为(i)基于所述就绪信号生成访问信号,(ii)经由所述芯片间总线将所述就绪信号传输给所述第二片上系统,以及(iii)接收所述启动代码并且存储在所述第二片上系统中的或者连接到所述第二片上系统的存储器中。
14.一种跳跃总线系统,包括:
根据权利要求1所述的第一片上系统,其中所述第一片上系统包括连接到第一芯片内适配器的第一芯片间适配器,其中所述多个芯片内适配器包括所述第一芯片内适配器;
包括第二跳跃总线和第二芯片间适配器的第二片上系统;以及
将所述第一芯片间适配器连接到所述第二芯片间适配器的芯片间总线。
15.根据权利要求14所述的跳跃总线系统,其中:
所述第一片上系统包括控制模块;
所述控制模块被配置为(i)生成请求信号,以及(ii)基于所述第一协议,将所述请求信号传输给所述第一芯片内适配器;
所述第一芯片内适配器被配置为(i)根据所述第二协议将所述请求信号分组化以生成分组,以及(ii)将所述分组转发给所述第一芯片间适配器;
所述第一芯片间适配器被配置为(i)向所述分组添加唯一标识符,(ii)将所述分组串行化,以及(iii)将经串行化的所述分组转发给所述芯片间总线;
所述第二芯片间适配器被配置为(i)将所述分组解串行化,以及(ii)将所述分组转发给第三芯片内适配器;以及
所述第三芯片内适配器被配置为(i)基于所述分组来访问存储器中存储的数据,以及(ii)经由所述第二芯片间适配器、所述芯片间总线、所述第一芯片间适配器、以及所述第一芯片内适配器,将所述数据转发给所述控制模块。
16.一种在第一片上系统中转发信息的方法,所述第一片上系统包括多个非跳跃总线接口和跳跃总线,其中所述多个非跳跃总线接口包括第一非跳跃总线接口和第二非跳跃总线接口,其中所述跳跃总线包括多个芯片内适配器,并且其中所述多个芯片内适配器串联连接并且分别连接到所述多个非跳跃总线接口,所述方法包括:
在第一片上系统的所述第一非跳跃总线接口处,基于第一协议来接收信息;
根据第二协议,经由所述多个芯片内适配器将所述信息转换为第一格式以用于通过所述跳跃总线的传输,其中所述第二协议不同于所述第一协议;
通过所述跳跃总线并且在所述多个芯片内适配器之间传送所述第一格式的所述信息;以及
基于通过所述跳跃总线的所述信息的所述传输,在所述第二非跳跃总线接口处从所述跳跃总线接收所述信息。
17.根据权利要求1所述的方法,进一步包括:
在第一芯片内适配器的第三非跳跃总线接口处,从所述第一非跳跃总线接口,根据所述第一协议接收所述信息,其中所述多个芯片内适配器包括所述第一芯片内适配器和第二芯片内适配器,并且其中所述第一芯片内适配器包括所述第三非跳跃总线接口和跳跃总线接口;
根据所述第二协议,经由所述第一芯片内适配器,将所述信息转换为所述第一格式以用于通过所述跳跃总线的传输,其中所述信息的所述转换包括将所述信息分组化以生成一个或多个分组;以及
经由所述第一跳跃总线接口,将所述第一格式的所述一个或多个分组转发给所述第二芯片内适配器。
18.根据权利要求17所述的方法,进一步包括:
经由所述第二芯片内适配器,根据第三协议将所述第一格式的所述一个或多个分组转换为第二格式,其中所述第三协议不同于所述第二协议;以及
将所述第二格式的所述信息转发给所述第二非跳跃总线接口。
19.根据权利要求18所述的方法,其中所述第三协议不同于所述第一协议。
20.根据权利要求17所述的方法,进一步包括:
经由所述第一芯片内适配器,将所述一个或多个分组的比特散布在所述第一芯片内适配器与所述第二芯片内适配器之间的多个通道或多个导电元件上;
经由所述多个通道或所述多个导电元件,在所述第二芯片内适配器处接收所述一个或多个分组的所述比特;以及
基于所述跳跃总线的时钟信号,对所述一个或多个分组的所述比特进行采样,以对所述一个或多个分组的所述比特在所述第二芯片内适配器处的接收进行偏斜控制。
CN201480067472.7A 2013-12-12 2014-12-09 用于经由芯片内和芯片间跳跃总线在片上系统之内和之间传送信息的方法和装置 Active CN105900080B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361915413P 2013-12-12 2013-12-12
US61/915,413 2013-12-12
US201461954486P 2014-03-17 2014-03-17
US61/954,486 2014-03-17
PCT/US2014/069322 WO2015089058A1 (en) 2013-12-12 2014-12-09 Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses

Publications (2)

Publication Number Publication Date
CN105900080A true CN105900080A (zh) 2016-08-24
CN105900080B CN105900080B (zh) 2019-05-14

Family

ID=53371758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480067472.7A Active CN105900080B (zh) 2013-12-12 2014-12-09 用于经由芯片内和芯片间跳跃总线在片上系统之内和之间传送信息的方法和装置

Country Status (7)

Country Link
US (1) US9535869B2 (zh)
EP (1) EP3080708B1 (zh)
JP (1) JP6541272B2 (zh)
KR (1) KR102280718B1 (zh)
CN (1) CN105900080B (zh)
TW (1) TWI664532B (zh)
WO (1) WO2015089058A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690511A (zh) * 2016-08-31 2019-04-26 株式会社索思未来 总线控制电路、半导体集成电路、电路基板、信息处理装置以及总线控制方法
CN112740191A (zh) * 2018-06-08 2021-04-30 Iot耐科特有限公司 通信装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959237B2 (en) 2013-12-12 2018-05-01 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US10552350B2 (en) 2015-08-03 2020-02-04 Marvell World Trade Ltd. Systems and methods for aggregating data packets in a mochi system
WO2017023661A1 (en) * 2015-08-03 2017-02-09 Marvell World Trade Ltd. Systems and methods for transmitting interrupts between nodes
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
US10372646B2 (en) * 2017-06-30 2019-08-06 Western Digital Technologies, Inc. Programmable adapter between slow peripherals and network on-chip interfaces
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11114138B2 (en) 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
US11789883B2 (en) * 2018-08-14 2023-10-17 Intel Corporation Inter-die communication of programmable logic devices
US11301546B2 (en) 2018-11-19 2022-04-12 Groq, Inc. Spatial locality transform of matrices
US11115147B2 (en) * 2019-01-09 2021-09-07 Groq, Inc. Multichip fault management
CN112540949A (zh) * 2020-12-17 2021-03-23 北京航天测控技术有限公司 一种数据传输系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044806A1 (en) * 2002-05-15 2004-03-04 Moll Laurent R. Addressing scheme supporting variable local addressing and variable global addressing
US20100269123A1 (en) * 2009-04-21 2010-10-21 International Business Machines Corporation Performance Event Triggering Through Direct Interthread Communication On a Network On Chip
CN102035723A (zh) * 2009-09-28 2011-04-27 清华大学 一种片上网络路由及实现方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI234943B (en) * 2002-08-14 2005-06-21 Intel Corp Method and apparatus for mitigating radio frequency interference between transceiver systems
US7793024B2 (en) * 2006-06-20 2010-09-07 Nvidia Corporation Method for utilizing a PCI-Express bus to communicate between system chips
US7936809B2 (en) * 2006-07-11 2011-05-03 Altera Corporation Economical, scalable transceiver jitter test
JP2010500641A (ja) * 2006-08-08 2010-01-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子装置及び通信同期方法
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US9015446B2 (en) * 2008-12-10 2015-04-21 Nvidia Corporation Chipset support for non-uniform memory access among heterogeneous processing units
US20100312934A1 (en) * 2009-06-05 2010-12-09 Taiwan Semiconductor Manufacturing Company, Ltd. System and Method for Multi-Protocol Bus Communications
US20150012679A1 (en) * 2013-07-03 2015-01-08 Iii Holdings 2, Llc Implementing remote transaction functionalities between data processing nodes of a switched interconnect fabric

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044806A1 (en) * 2002-05-15 2004-03-04 Moll Laurent R. Addressing scheme supporting variable local addressing and variable global addressing
US20100269123A1 (en) * 2009-04-21 2010-10-21 International Business Machines Corporation Performance Event Triggering Through Direct Interthread Communication On a Network On Chip
CN102035723A (zh) * 2009-09-28 2011-04-27 清华大学 一种片上网络路由及实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KANGMING LEE, ET AL: "《Low-power network-on-chip for high-performance SoC design》", 《IEEE TRANSACTIONS ON VERY LARGE SCALE INTERATION (VLSI) SYSTEMSS》 *
MIKKEL BYSTRUP STENSGAARD,ET AL: "《ReNoC: A Network-on-Chip Architecture with Reconfigurable Topology》", 《SECOND ACM/IEEE INTERNATIONAL SYMPOSIUM ON NETWORKS-ON-CHIP (NOCS 2008)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690511A (zh) * 2016-08-31 2019-04-26 株式会社索思未来 总线控制电路、半导体集成电路、电路基板、信息处理装置以及总线控制方法
CN109690511B (zh) * 2016-08-31 2023-05-02 株式会社索思未来 总线控制电路、半导体集成电路、电路基板、信息处理装置以及总线控制方法
CN112740191A (zh) * 2018-06-08 2021-04-30 Iot耐科特有限公司 通信装置
CN112740191B (zh) * 2018-06-08 2023-03-28 Iot耐科特有限公司 通信装置

Also Published As

Publication number Publication date
JP6541272B2 (ja) 2019-07-10
EP3080708B1 (en) 2020-02-05
US20150248371A1 (en) 2015-09-03
KR102280718B1 (ko) 2021-07-22
TW201531858A (zh) 2015-08-16
WO2015089058A1 (en) 2015-06-18
US9535869B2 (en) 2017-01-03
JP2017504862A (ja) 2017-02-09
EP3080708A1 (en) 2016-10-19
KR20160096690A (ko) 2016-08-16
TWI664532B (zh) 2019-07-01
CN105900080B (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
CN105900080A (zh) 用于经由芯片内和芯片间跳跃总线在片上系统之内和之间传送信息的方法和装置
US9959237B2 (en) Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US9049124B2 (en) Zero-latency network on chip (NoC)
US8514889B2 (en) Use of common data format to facilitate link width conversion in a router with flexible link widths
JP4477613B2 (ja) AXIプロトコルを適用したNoCシステム
US8234483B2 (en) Memory units with packet processor for decapsulating read write access from and encapsulating response to external devices via serial packet switched protocol interface
JP6522663B2 (ja) ハイブリッドメモリキューブリンクを用いる相互接続システムおよび方法
JP2011028650A (ja) 情報処理装置
US20060095621A1 (en) Methods and apparatuses for generating a single request for block transactions over a communication fabric
WO2022166427A1 (zh) 用于互联裸芯的数据传输事件
US7277975B2 (en) Methods and apparatuses for decoupling a request from one or more solicited responses
Markettos et al. Interconnect for commodity FPGA clusters: Standardized or customized?
US11797311B2 (en) Asynchronous pipeline merging using long vector arbitration
US20200192842A1 (en) Memory request chaining on bus
JP2007065847A (ja) 情報処理システム、プログラムおよびデータ転送方法
US11636061B2 (en) On-demand packetization for a chip-to-chip interface
Balle et al. Inter-kernel links for direct inter-FPGA communication
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치
CN111158588B (zh) 一种双倍速率控制方法及系统
Zhang et al. An Address-Oriented Transmit Mechanism for GALS NoC
CN116795763A (zh) 基于axi协议的数据分组传输的方法、片上系统和芯片
Anderson et al. Multiprocessing: Linking the Arduino for More Power
Sharma et al. Fpga cluster based high throughput architecture for cryptography and cryptanalysis
JP2005333481A (ja) データ転送装置及び通信データ処理システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200423

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200423

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200423

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.