CN110557311A - 用于系统级封装管芯间访问等待时间的处理器间通信方法 - Google Patents

用于系统级封装管芯间访问等待时间的处理器间通信方法 Download PDF

Info

Publication number
CN110557311A
CN110557311A CN201910465770.6A CN201910465770A CN110557311A CN 110557311 A CN110557311 A CN 110557311A CN 201910465770 A CN201910465770 A CN 201910465770A CN 110557311 A CN110557311 A CN 110557311A
Authority
CN
China
Prior art keywords
die
processor bus
flow control
processor
connection circuitry
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
CN201910465770.6A
Other languages
English (en)
Other versions
CN110557311B (zh
Inventor
G·L·米勒
J·弗里曼
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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of CN110557311A publication Critical patent/CN110557311A/zh
Application granted granted Critical
Publication of CN110557311B publication Critical patent/CN110557311B/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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/07Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L29/00
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/16Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different main groups of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. forming hybrid circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/063Dynamically variable buffer size

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bus Control (AREA)

Abstract

本公开涉及用于系统级封装管芯间访问等待时间的处理器间通信方法。公开了一种系统和方法,其中管芯到管芯通信提供于包含在共同集成电路(IC)封装中的第一管芯与第二管芯之间,所述第一管芯上的第一处理器由所述第一处理器总线通信地耦合到所述第一连接电路系统并且被配置成向所述第一处理器总线提供待提供给所述第二连接电路系统的第一总线事务,所述第一连接电路系统被配置成利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多同时未完成事务能力,所述第二连接电路系统被配置成通过共同消息向所述第一连接电路系统提供处理器总线流量控制信息和关于所述弹性缓冲器的弹性缓冲器状态信息以进行流量控制。

Description

用于系统级封装管芯间访问等待时间的处理器间通信方法
技术领域
本公开总体上涉及电子系统和方法,并且更具体地说,涉及电子通信系统和方法。
背景技术
半导体行业的趋势正朝着系统级封装(SiP)产品迁移。SiP考虑了用于解决泄漏、性能、能力和成本的权衡的新优化范例。SiP可以用于使用分治策略(divide-and-conquerstrategy)来管理调度和处理任务复杂性。
然而,SiP还呈现了新的挑战。所述挑战之一是通过单个高速串行管芯到管芯接口在管芯之间提供硬件控制的处理器间通信(IPC),同时实现最低的访问等待时间。
硬件控制的IPC是非常理想的,并且可以被认为是管芯之间总线结构的虚拟互连。即,如高级微处理器总线架构(AMBA)高级可扩展接口(AXI)等硬件级总线结构实际上是以在不需要软件干预的情况下实现管芯之间的直接传送AXI事务的方式从一个管芯互连到另一个管芯。在管芯事务信息之间传送AXI事务被打包成可以在另一个管芯上精确再现整个事务的消息。
在实时应用中,当在时间敏感的控制回路中需要许多访问时,应最小化对SiP中另一个管芯上的从设备的访问。说明性例子是制动压力致动器控制回路时间为100微秒。控制回路任务包括对车轮速度传感器数据的读取访问,使用车轮速度数据的控制系统计算,以及然后写入访问以调整对直流(DC)无刷电机的控制。
高速串行接口的典型单个访问等待时间为几百纳秒。突发访问有助于改进访问等待时间,但是依赖于如存储器等访问兼容的从设备。然而,为了实现更多应用,挑战是实现接近针对单个和突发访问的芯片上访问时间的等待时间(即,在几十纳秒内)。先前技术已经缺少上面所讨论的方面。
发明内容
根据本发明的第一方面,提供一种系统,所述系统包括:
第一半导体管芯,所述第一半导体管芯包括:
第一处理器,
第一连接电路系统,以及
第一处理器总线,所述第一处理器总线耦合到所述第一处理器和所述第一连接电路系统;
第二半导体管芯,所述第二半导体管芯包括:
第二连接电路系统,所述第二连接电路系统包括:
弹性缓冲器,
所述第一管芯和所述第二管芯包含于共同集成电路(IC)封装中,所述第一处理器由所述第一处理器总线通信地耦合到所述第一连接电路系统并且被配置成向所述第一处理器总线提供待提供给所述第二连接电路系统的第一总线事务,所述第一连接电路系统被配置成利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多同时未完成事务能力,所述第二连接电路系统被配置成向所述第一连接电路系统提供处理器总线流量控制信息和关于所述弹性缓冲器的弹性缓冲器状态信息以进行流量控制。
在一个或多个实施例中,处理器总线接口消息用于所述流量控制。
在一个或多个实施例中,两种消息类别用于所述流量控制,所述两种消息类别包括:
第一消息类别,所述第一消息类别用于传送处理器总线接口协议信息和弹性缓冲器流量控制信息的处理器总线接口消息;以及
第二消息类别,所述第二消息类别用于传送弹性缓冲器流量控制信息的非处理器总线接口AXI消息。
在一个或多个实施例中,所述第二半导体管芯包括:
处理器总线接口消息管道,所述管道用于处理所述处理器总线接口消息;以及
弹性缓冲器流量控制消息管道,所述管道用于处理传送弹性缓冲器流量控制信息的所述非处理器总线接口消息。
在一个或多个实施例中,所述处理器总线接口消息管道提供不同处理时间来处理所述处理器总线接口消息,并且所述弹性缓冲器流量控制消息管道提供受限量的处理时间来处理所述非处理器总线接口消息。
在一个或多个实施例中,先行流加速被提供用于从所述弹性缓冲器预取所述弹性缓冲器流量控制信息。
在一个或多个实施例中,所述先行流加速避免所述弹性缓冲器流量控制信息对处理器总线接口准备握手的依赖。
根据本发明的第二方面,提供一种方法,所述方法包括:
在第一半导体管芯上,通过第一处理器总线接收第一处理器总线事务;
在所述第一半导体管芯上,将所述第一总线事务转换为待通过管芯到管芯互连传送到第二半导体管芯的管芯到管芯消息包;
在所述第一半导体管芯上,利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多同时未完成事务能力;以及
在所述第二半导体管芯上,向所述第一半导体管芯发射处理器总线流量控制信息和关于所述第二半导体管芯上的弹性缓冲器的弹性缓冲器状态信息以进行流量控制,所述第一半导体管芯和所述第二半导体管芯包含于共同集成电路(IC)封装中。
在一个或多个实施例中,处理器总线接口消息用于所述流量控制。
在一个或多个实施例中,所述方法进一步包括:
根据第一消息类别对传送处理器总线接口协议信息和弹性缓冲器流量控制信息的处理器总线接口消息进行分类;以及
根据第二消息类别对传送弹性缓冲器流量控制信息的非处理器总线接口消息进行分类。
在一个或多个实施例中,所述方法进一步包括:
根据处理器总线接口消息管道处理所述处理器总线接口消息;以及
根据弹性缓冲器流量控制消息管道处理传送弹性缓冲器控制信息的所述非处理器总线接口消息。
在一个或多个实施例中,所述处理器总线接口消息管道提供不同处理时间来处理所述处理器总线接口消息,并且所述弹性缓冲器流量控制消息管道提供受限量的处理时间来处理所述非处理器总线接口消息。
在一个或多个实施例中,所述方法进一步包括:
执行先行流加速以从所述弹性缓冲器预取所述弹性缓冲器流量控制信息。
在一个或多个实施例中,所述先行流加速避免所述弹性缓冲器流量控制信息对处理器总线接口准备握手的依赖。
根据本发明的第三方面,提供一种设备,所述设备包括:
共同集成电路(IC)封装;
第一半导体管芯上的第一处理器,所述第一半导体管芯包含于所述共同IC封装中;
第二半导体管芯上的第二处理器,所述第二半导体管芯包含于所述共同IC封装中;
所述第一半导体管芯上的第一连接电路系统,所述第一连接电路系统通过第一处理器总线连接到所述第一处理器,所述第一连接电路系统被配置成将所述第一处理器总线上的第一处理器总线事务转换为通过管芯到管芯互连通信的管芯到管芯消息包,所述第一连接电路系统另外被配置成利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多同时未完成事务能力;
所述第二半导体管芯上的第二连接电路系统,所述第二连接电路系统连接到所述管芯到管芯互联以接收所述管芯到管芯消息包,所述第二连接电路系统通过第二处理器总线连接到所述第二处理器,所述第二连接电路系统被配置成将所述管芯到管芯消息包转换成所述第二处理器总线上的第二处理器总线事务,所述第二连接电路系统另外被配置成向所述第一连接电路系统提供处理器总线流量控制信息和关于所述第二连接电路系统中的所述弹性缓冲器的弹性缓冲器状态信息以进行流量控制。
在一个或多个实施例中,处理器总线接口消息用于所述流量控制。
在一个或多个实施例中,两种消息类别用于所述流量控制,所述两种消息类别包括:
第一消息类别,所述第一消息类别用于传送处理器总线接口协议信息和弹性缓冲器流量控制信息的处理器总线接口消息;以及
第二消息类别,所述第二消息类别用于传送弹性缓冲器流量控制信息的非处理器总线接口消息。
在一个或多个实施例中,所述第二半导体管芯包括:
处理器总线接口消息管道,所述管道用于处理所述处理器总线接口消息;以及
弹性缓冲器流量控制消息管道,所述管道用于处理传送弹性缓冲器流量控制信息的所述非处理器总线接口消息。
在一个或多个实施例中,所述处理器总线接口消息管道提供不同处理时间来处理所述处理器总线接口消息,并且所述弹性缓冲器流量控制消息管道提供受限量的处理时间来处理所述非处理器总线接口消息。
在一个或多个实施例中,先行流加速被提供用于从所述弹性缓冲器预取所述弹性缓冲器流量控制信息。
本发明的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。
附图说明
通过參考附图,本公开可以被更好地理解,并且其多个特征和优点变得对本领域的技术人员显而易见。
图1是根据至少一个实施例的系统级封装(SiP)系统的展开封装平面视图。
图2是示出了根据至少一个实施例的系统的框图。
图3是示出了根据至少一个实施例的实施系统的管芯的框图。
图4是示出了根据至少一个实施例的方法的流程图。
在不同附图中使用相同的附图标记指示相似或相同的项目。
具体实施方式
根据至少一个实施例,提供了一种处理器间通信和信令系统和方法。所述系统和方法可以使用多个未完成事务功能和流量控制通过第一半导体管芯与第二半导体管芯之间的管芯到管芯互连以管芯到管芯消息包的形式输送处理器总线通信。第一半导体管芯和第二半导体管芯可以安置在共同集成电路(IC)封装内。
每个管芯上的处理器总线连接到处理器通信逻辑块,所述处理器通信逻辑块可以例如被实施为连接电路系统。每个管芯上的处理器通信逻辑块通过管芯到管芯装配技术互连到一个或多个其它管芯。管芯上处理器总线事务被转换为消息包并传送到另一个管芯。使用多个流量控制机制、消息类别、类别特定的处理和先行流加速机制的关系来管理用于管芯到管芯处理器通信的低等待时间要求。
在高速串行接口领域中实践的技术人员将理解设计用于最小化单个和突发访问的访问等待时间的IPC流量控制(FC)方法的重大挑战。标准闪存接口被优化成仅对16的突发访问,这不适用于控制系统或一般应用。
用于实现单个和突发访问的最小访问时间的管芯到管芯IPC流加速机制是迄今还未满足的需求。如上所述,高速串行接口的挑战是实现接近单个和突发访问的芯片上访问时间的等待时间。
根据至少一个实施例,每个管芯上的IPC总线连接到管芯上管芯到管芯串行通信电路。作为例子,IPC总线可以是高级微处理器总线架构(AMBA)高级可扩展接口(AXI)总线。每个管芯上的管芯上管芯到管芯串行通信电路通过管芯到管芯装配技术互连到一个或多个其它管芯。管芯上IPC总线事务被转换为消息包并传送到一个或多个其它管芯。
首先,以获得最小等待时间的方式采用两种流量控制机制。IPC总线协议用于流量控制,以最佳地利用多未完成事务能力,允许同时未完成的事务,如许多(例如,八个)未完成的读取和许多(例如,八个)未完成的写入已经同时开始但尚未完成。关于IPC总线消息的弹性缓冲器(EB)流量控制用于在一个或多个其它管芯上发信号通知EB状态。为了有助于实现管芯到管芯IPC总线传输的加速以获得最小的持续访问等待时间,建立了两个独立流量控制之间的能力关系(例如,允许的八个未完成的传输和用于EB的128字节)。
第二,为了最小化用于流量控制的带宽需求,利用两个消息类别。提供IPC总线消息,所述消息包含IPC总线协议和EB流量控制信息。提供包含EB流量控制信息的流量控制消息。为了有助于实现管芯到管芯IPC总线传输的加速,后一种类型的消息传输不排除或阻止IPC总线消息传输。
第三,存在两种类别特定的处理管道以有助于实现管芯到管芯IPC总线传输的加速。分离器用于传入消息以将消息划分到多个特定管道的适当特定管道中(例如,使用消息标识符(ID)的第一位)。提供了下文所描述的特征以支持不同的特性。IPC总线消息管道处理时间是相当多样的,因为其取决于从设备有多快或有多慢,以及其是单个访问还是突发访问。
保证将IPC总线EB流量控制消息管道处理时间限于如一个时钟周期等指定的有限时间量。EB流量控制消息的通信定时可以独立于影响IPC总线等待时间的因素,从而加快新的访问开始并减少等待时间。可以向每个管道提供独立的EB。因此,可以存在IPC总线EB和FC EB。
第四,为了减少或消除总线停止和总线锁定状况,可以采用先行流加速从IPC总线EB预取EB流量控制信息。这种预取可以消除等待的EB流量控制信息对有效/就绪的IPC总线握手的依赖。这种预取还可以加快新的访问开始并减少等待时间。
处理器总线流量控制信息和弹性缓冲器信息两者可以包含于IPC总线消息中,或者可以通过不同类型的消息被发送。EB流量控制信息可以被转换为除了EB流量控制信息之外还包括处理器总线流量控制信息的共同消息。
这些特征的结果可以改进管芯到管芯的访问时间,以接近另一个管芯上从设备的访问时间。对于来自源极管芯的在另一个管芯的从设备访问时间的周期内发生的单个和突发访问,可以观察到所执行的这种改进。即,如果另一个管芯上的从设备访问时间是例如25纳秒,则用于这一场景的平均管芯到管芯的访问时间可能接近25纳秒。
如上所述,至少一个实施例可以提供管芯到管芯通信的性能的技术改进。一个或多个特征,如上述多个流量控制机制、多个消息类别、多条处理管道、以及用于先行流加速的弹性缓冲流量控制信息的预取,可以改进管芯到管芯访问时间。管芯到管芯访问时间对于系统级封装(SiP)性能来说可能非常重要,因为如果没有及时接收到重要消息,则过多的管芯到管芯访问时间可能会产生通信瓶颈或导致不正确操作。因此,通过本文所描述的技术提供的改进可以产生可操作性与不可操作性之间或在商业可行性与不可行性之间的差异。
图1是根据至少一个实施例的系统级封装(SiP)系统的展开封装平面视图。系统100包括SiP 101。SiP 101包括管芯102、管芯103和管芯104。管芯102包括处理器核105和连接逻辑块108,连接逻辑块108包括连接电路系统。处理器核105通过处理器总线111连接到连接逻辑块108。外围设备118通过离散信号线114连接到连接逻辑块108。管芯103包括处理器核106和连接逻辑块109,连接逻辑块109包括连接电路系统。处理器核106通过处理器总线112连接到连接逻辑块109。外围设备119通过离散信号线115连接到连接逻辑块109。管芯104包括处理器核107和连接逻辑块110。处理器核107通过处理器总线113连接到连接逻辑块110。外围设备120通过离散信号线116连接到连接逻辑块110。连接逻辑块108、连接逻辑块109和连接逻辑块110通过互连117彼此连接。
离散信令事件(标量或矢量)可能在离散信号线114、115和116上发生。标量离散信令事件包含单个元素被传送。例如,单个导体输送具有可以通过不同信号幅度(例如,逻辑电平、电压、电流等)表示的多个不同信令值中的特定信令值的单个信号是标量离散信令事件的例子。矢量离散信令事件包含并行布置的一个或多个元素。例如,两个或两个以上导体各自输送各自具有可以通过不同信号幅度(例如,逻辑电平、电压、电流等)表示的多个不同信令值中的相应特定信令值的信号是矢量离散信令事件的例子。相比而言,处理器总线在处理器之间输送一般性质的较高带宽数据,这与离散信号线的信号的较低带宽特定信令值相反。
可以在表示标量离散信令事件和矢量离散信令事件的信号被递送到的目的地域的背景下理解这些事件。对于标量离散信令事件,单独信号线上的信令事件不会与目的地域中的另一条单独信号线上的信令事件重组。对于矢量离散信令事件,单独信号线上的信令事件与目的地域中的另一单独信号上的信令事件重组以恢复在单独信号线的组合上输送的信息。对于格雷编码的向量信令事件,在目的地域中重组两个或两个以上位,其中使用格雷编码来避免定时问题。格雷编码只允许在任何特定时间改变信号线之一。格雷编码可以避免由多条信号线之间的时间偏斜引起的临时不确定状态。对于基于限定符的矢量信令事件,在目的地域中重组两个或两个以上位,其中使用限定符来避免定时问题。在确定信令事件的值之前(例如,在将数据锁存到目的地域中的寄存器中之前),限定符等待,直到所有相关的单独信号线所输送的信号已经稳定。
图2是示出了根据至少一个实施例的系统的框图。系统200包括管芯102和管芯103。管芯102包括交叉开关矩阵221、串行端口控制器222、管芯到管芯物理接口223和管芯到管芯输入-输出(I/O)电路224、以及如处理器核105等处理器核和如外围设备118等外围设备。管芯103包括主和从外围设备229、IPC总线转换电路230(例如,高级微处理器总线架构(AMBA)转换电路)、交叉开关矩阵228、串行端口控制器227、管芯到管芯物理接口226和管芯到管芯输入-输出(I/O)电路225。
交叉开关矩阵221通过总线访问互连231连接到串行端口控制器222。离散信号线232连接到串行端口控制器222。串行端口控制器222通过互连233连接到管芯到管芯物理接口223。管芯到管芯物理接口223通过互连234连接到管芯到管芯I/O电路224。管芯102的管芯到管芯I/O电路224通过管芯到管芯串行互连235连接到管芯103的管芯到管芯I/O电路225。参考电压Vddref 236连接到管芯到管芯I/O电路225。参考电压Vddref 237从管芯到管芯I/O电路225连接到管芯到管芯I/O电路224。管芯到管芯I/O电路225通过互连238连接到管芯到管芯物理接口226。管芯到管芯物理接口通过互连239连接到串行端口控制器227。离散信号线240连接到串行端口控制器227。串行端口控制器227通过互连241连接到交叉开关矩阵228。交叉开关矩阵228通过互连243连接到IPC总线转换电路230。交叉开关矩阵228通过互连242连接到主和从外围设备229。
图3是示出了根据至少一个实施例的实施系统的管芯的框图。系统的管芯300包括处理电路系统351、管芯到管芯物理接口352、管芯到管芯发射输入-输出(I/O)电路353和管芯到管芯接收输入-输出(I/O)电路354。处理电路系统351包括链路层(LL)电路355、发射管理器356、信令和流量控制管理器357、接收管理器358、从IPC总线消息发生器359(例如,从高级可扩展接口(AXI)消息发生器)、从IPC总线电路362(例如,从AXI电路)、主IPC总线消息发生器360(例如,主AXI总线消息发生器)、主IPC总线电路363(例如,主AXI总线电路)、信令消息发生器361、信令接口364、信令接口365、从IPC总线事务发生器366(例如,从AXI事务发生器)、从IPC总线电路367(例如,从AXI电路)、主IPC总线事务发生器368(例如,主AXI事务发生器)、主IPC总线电路369(例如,主AXI电路)和寄存器370。
互连391连接到从IPC总线电路362。从IPC总线电路362通过互连388连接到从IPC总线消息发生器359。从IPC总线消息发生器359通过互连385连接到发射管理器356。互连392连接到主IPC总线电路363。主IPC总线电路363通过互连389连接到主IPC总线消息发生器360。主IPC总线消息发生器360通过互连386连接到发射管理器356。互连393连接到信令接口364。信令接口364通过互连390连接到信令消息发生器361。信令消息发生器361通过互连387连接到发射管理器356。发射管理器356通过互连380连接到链路层电路355。处理电路系统351的链路层电路355通过互连378连接到管芯到管芯物理接口352。管芯到管芯物理接口352通过互连376连接到管芯到管芯发射I/O电路353。管芯到管芯发射I/O电路353连接到互连374。
发射管理器356通过互连383连接到信令和流量控制管理器357。信令和流量控制管理器357通过互连394连接到信令接口365。信令接口365连接到互连395。信令和流量控制管理器357通过互连384连接到接收管理器358。信令和流量控制管理器357通过互连381连接到链路层电路355。
互连375连接到管芯到管芯接收I/O电路354。管芯到管芯接收I/O电路354通过互连377连接到管芯到管芯物理接口352。管芯到管芯物理接口352通过互连379连接到处理电路系统351的链路层电路355。链路层电路355通过互连382连接到接收管理器358。接收管理器358通过互连396连接到从IPC总线事务发生器366。从IPC总线事务发生器366通过互连398连接到从IPC总线电路367。互连301连接到从IPC总线电路367。接收管理器358通过互连397连接到主IPC总线事务发生器368。主IPC总线事务发生器368通过互连399连接到主IPC总线电路369。互连302连接到主IPC总线电路369。
虽然在处理电路系统351中示出了主和从部件,但是主装置可以在没有从部件的情况下被实施,从装置可以在没有主部件的情况下被实施,或者可以像所示出那样实施可选择的主装置和从装置。链路层电路355包括弹性缓冲器以支持通信。例如,链路层电路355被示出为包括发射弹性缓冲器(TX EB)、接收弹性缓冲器(AXI EB或RX EB)以及信令和流量控制弹性缓冲器(SIG FC EB)。
图4是示出了根据至少一个实施例的方法的流程图。方法400开始于框401并继续到框402。在框402处,在第一半导体管芯上,第一连接电路系统通过第一处理器总线接收第一处理器总线事务。从框402起,方法400继续到框403。在框403处,在第一半导体管芯上,第一连接电路系统将第一总线事务转换为待通过管芯到管芯互连传送到第二半导体管芯的管芯到管芯消息包。从框403起,方法400继续到框404。在框404处,在第一半导体管芯上,第一连接电路系统利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多未完成事务能力。可以被称为分离事务能力的多同时未完成事务能力允许例如读取事务被分成请求待读取的数据的读取请求和提供已读取的数据的读取响应。将读取事务分为可以在不同时间被传送的读取请求和读取响应允许在此期间传送其它事务或其部分。如果多个读取请求在传送了其相应的读取响应之前已经被传送,则那些多个读取事务同时处于未完成。类似情况可以在具有写入事务的可能在不同时间发生的多个部件的情况下发生。因此,多个写入事务可以同时处于未完成。
从框404起,方法400继续到用于IPC总线消息(例如,AXI消息)的框405和用于非IPC总线消息(例如,非AXI消息)的框406。在框405处,第二半导体管芯上的第二连接电路系统根据第一消息类别对传送IPC总线协议信息和弹性缓冲器流量控制信息的IPC总线消息进行分类。从框405起,方法400继续到框407。在框407处,第二半导体管芯上的第二连接电路系统根据IPC总线消息管道处理IPC总线消息。在框406处,第二连接电路系统根据第二消息类别对传送弹性缓冲器流量控制信息但不传送IPC总线协议信息的非IPC总线消息进行分类。从框406起,方法400继续到框408。在框408处,第二半导体管芯上的第二连接电路系统根据弹性缓冲器流量控制消息管道处理传送弹性缓冲器控制信息的非IPC总线消息。根据至少一个实施例,IPC总线消息管道提供不同处理时间来处理IPC总线消息,并且弹性缓冲器流量控制消息管道提供受限量的处理时间来处理非IPC总线消息。从框407或框408起,方法400继续到框409。
在框409处,第二半导体管芯上的第二连接电路系统执行先行流加速以从弹性缓冲器预取弹性缓冲器流量控制信息。根据至少一个实施例,框409包括框410。在框410处,所述先行流加速避免所述弹性缓冲器流量控制信息对处理器总线接口准备握手的依赖。从框409或框410起,方法400继续到框411。在框411处,在第二半导体管芯上,第二连接电路系统向第一半导体管芯发射关于第二半导体管芯上的弹性缓冲器的弹性缓冲器状态信息以进行流量控制。根据至少一个实施例,如高级微处理器总线架构(AMBA)高级可扩展接口(AXI)总线消息等IPC总线消息用于流量控制的一部分(EB状态是整体流量控制的另一部分)。根据至少一个实施例,第一半导体管芯和第二半导体管芯包含于共同集成电路(IC)封装。
提供结合附图的在前描述的目的是帮助理解本文所公开的教导。讨论集中于所述教导的具体实施方式和实施例。提供此集中点的目的是帮助描述所述教导,并且所述集中点不应当被解释为对所述教导的范围或适用性的限制。然而,在本申请中当然可以使用其它教导。所述教导还可以用于其它申请中,并且可以与若干不同类型的架构一起使用。
在本文件中,如“第一”和“第二”等关系术语仅可以用于将一个实体或动作与另一个实体或动作进行区分,而不一定需要或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括(comprises)”、“包括(comprising)”或其任何其它变体旨在覆盖非排他性包括,使得包括一系列要素的过程、方法、物品或设备不仅仅包括那些要素,而是可以包括其它未清楚地列出的或这种过程、方法、物品或设备固有的其它要素。在没有更多约束的情况下,前面带有“包括……”的要素不排除在包括所述要素的过程、方法、物品或设备中存在另外的相同要素。
通过考虑本说明书和对本文公开的公开内容的实践,本公开的其它实施例、用途和优点对于本领域技术人员而言将是显而易见的。说明书和附图应当仅被视为是示例性的,并且因此本公开的范围旨在仅限于以下权利要求及其等同物。
注意,以上在一般描述中描述的活动或元件并非都是必需的,可能不需要特定活动或装置的一部分,并且可以执行一个或多个另外的活动或除了所描述的要素之外可以包括另外的要素。仍另外地,活动列出的顺序不一定是执行所述活动的顺序。
而且,已经参照具体实施例对所述方面进行了描述。然而,本领域的技术人员应认识到,在不脱离如下文的权利要求中所阐述的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图应被视为具有说明性而非限制性意义,并且所有这种修改旨在包括在本公开的范围内。
上文已经关于具体实施例描述了益处、其它优点和问题解决方案。然而,所述益处、优点、问题解决方案以及可能使任何益处、优点或解决方案发生或变得更加明显的任何一个或多个特征不应被解释为任何或所有权利要求的关键、必需或必要特征。
如本文所使用的术语“基本上”、“约”及其变体旨在表示合格的物品足以以实际方式实现所陈述目的或值,这包括将由可能在装置运行期间发生的通常和预期异常引起的、对于所陈述目的或值来说不重要的任何微小的缺陷或偏差(如果有的话)考虑在内。此外,本文中已经在特定属性的上下文中另外定义了术语“基本上”以标识特定范围。

Claims (10)

1.一种系统,其特征在于,所述系统包括:
第一半导体管芯,所述第一半导体管芯包括:
第一处理器,
第一连接电路系统,以及
第一处理器总线,所述第一处理器总线耦合到所述第一处理器和所述第一连接电路系统;
第二半导体管芯,所述第二半导体管芯包括:
第二连接电路系统,所述第二连接电路系统包括:
弹性缓冲器,
所述第一管芯和所述第二管芯包含于共同集成电路(IC)封装中,所述第一处理器由所述第一处理器总线通信地耦合到所述第一连接电路系统并且被配置成向所述第一处理器总线提供待提供给所述第二连接电路系统的第一总线事务,所述第一连接电路系统被配置成利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多同时未完成事务能力,所述第二连接电路系统被配置成向所述第一连接电路系统提供处理器总线流量控制信息和关于所述弹性缓冲器的弹性缓冲器状态信息以进行流量控制。
2.根据权利要求1所述的系统,其特征在于,处理器总线接口消息用于所述流量控制。
3.根据权利要求2所述的系统,其特征在于,两种消息类别用于所述流量控制,所述两种消息类别包括:
第一消息类别,所述第一消息类别用于传送处理器总线接口协议信息和弹性缓冲器流量控制信息的处理器总线接口消息;以及
第二消息类别,所述第二消息类别用于传送弹性缓冲器流量控制信息的非处理器总线接口AXI消息。
4.根据权利要求3所述的系统,其特征在于,所述第二半导体管芯包括:
处理器总线接口消息管道,所述管道用于处理所述处理器总线接口消息;以及
弹性缓冲器流量控制消息管道,所述管道用于处理传送弹性缓冲器流量控制信息的所述非处理器总线接口消息。
5.根据权利要求4所述的系统,其特征在于,所述处理器总线接口消息管道提供不同处理时间来处理所述处理器总线接口消息,并且所述弹性缓冲器流量控制消息管道提供受限量的处理时间来处理所述非处理器总线接口消息。
6.根据权利要求3所述的系统,其特征在于,先行流加速被提供用于从所述弹性缓冲器预取所述弹性缓冲器流量控制信息。
7.根据权利要求6所述的系统,其特征在于,所述先行流加速避免所述弹性缓冲器流量控制信息对处理器总线接口准备握手的依赖。
8.一种方法,其特征在于,所述方法包括:
在第一半导体管芯上,通过第一处理器总线接收第一处理器总线事务;
在所述第一半导体管芯上,将所述第一总线事务转换为待通过管芯到管芯互连传送到第二半导体管芯的管芯到管芯消息包;
在所述第一半导体管芯上,利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多同时未完成事务能力;以及
在所述第二半导体管芯上,向所述第一半导体管芯发射处理器总线流量控制信息和关于所述第二半导体管芯上的弹性缓冲器的弹性缓冲器状态信息以进行流量控制,所述第一半导体管芯和所述第二半导体管芯包含于共同集成电路(IC)封装中。
9.根据权利要求8所述的方法,其特征在于,处理器总线接口消息用于所述流量控制。
10.一种设备,其特征在于,所述设备包括:
共同集成电路(IC)封装;
第一半导体管芯上的第一处理器,所述第一半导体管芯包含于所述共同IC封装中;
第二半导体管芯上的第二处理器,所述第二半导体管芯包含于所述共同IC封装中;
所述第一半导体管芯上的第一连接电路系统,所述第一连接电路系统通过第一处理器总线连接到所述第一处理器,所述第一连接电路系统被配置成将所述第一处理器总线上的第一处理器总线事务转换为通过管芯到管芯互连通信的管芯到管芯消息包,所述第一连接电路系统另外被配置成利用支持多个同时未完成的写入事务与多个同时未完成的读取事务同时发生的多同时未完成事务能力;
所述第二半导体管芯上的第二连接电路系统,所述第二连接电路系统连接到所述管芯到管芯互联以接收所述管芯到管芯消息包,所述第二连接电路系统通过第二处理器总线连接到所述第二处理器,所述第二连接电路系统被配置成将所述管芯到管芯消息包转换成所述第二处理器总线上的第二处理器总线事务,所述第二连接电路系统另外被配置成向所述第一连接电路系统提供处理器总线流量控制信息和关于所述第二连接电路系统中的所述弹性缓冲器的弹性缓冲器状态信息以进行流量控制。
CN201910465770.6A 2018-06-01 2019-05-31 用于系统级封装管芯间访问等待时间的处理器间通信方法 Active CN110557311B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/995,983 US10496594B1 (en) 2018-06-01 2018-06-01 Inter-processor communication method for access latency between system-in-package (SIP) dies
US15/995,983 2018-06-01

Publications (2)

Publication Number Publication Date
CN110557311A true CN110557311A (zh) 2019-12-10
CN110557311B CN110557311B (zh) 2022-07-29

Family

ID=66676458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910465770.6A Active CN110557311B (zh) 2018-06-01 2019-05-31 用于系统级封装管芯间访问等待时间的处理器间通信方法

Country Status (3)

Country Link
US (1) US10496594B1 (zh)
EP (1) EP3575972B1 (zh)
CN (1) CN110557311B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018124106A1 (de) * 2018-09-28 2020-04-02 Rockwell Collins Deutschland Gmbh Datenverarbeitungsvorrichtung mit mehreren Prozessoren und mehreren Schnittstellen
US10804255B1 (en) * 2019-05-10 2020-10-13 Xilinx, Inc. Circuit for and method of transmitting a signal in an integrated circuit device
US11216397B2 (en) * 2019-12-23 2022-01-04 Intel Corporation Translation circuitry for an interconnection in an active interposer of a semiconductor package
US11487683B2 (en) 2020-04-15 2022-11-01 AyDeeKay LLC Seamlessly integrated microcontroller chip
US11537539B2 (en) * 2020-10-19 2022-12-27 Softiron Limited Acceleration of data between a network and local I/O in a NUMA system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102210020A (zh) * 2008-11-10 2011-10-05 飞思卡尔半导体公司 用于互连集成电路的技术
CN102449614A (zh) * 2009-04-29 2012-05-09 英特尔公司 用于耦合代理的分组化接口
US20160344629A1 (en) * 2015-05-22 2016-11-24 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5948089A (en) 1997-09-05 1999-09-07 Sonics, Inc. Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation
US8949582B2 (en) * 2009-04-27 2015-02-03 Lsi Corporation Changing a flow identifier of a packet in a multi-thread, multi-flow network processor
EP2278757B1 (en) 2009-06-30 2014-05-28 Alcatel Lucent Flow control mechanism for data transmission links
GB2473505B (en) 2009-09-15 2016-09-14 Advanced Risc Mach Ltd A data processing apparatus and a method for setting priority levels for transactions
EP2333830B1 (en) 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited a package comprising a first and a second die coupled by a multiplexed bus
EP2330514B1 (en) 2009-12-07 2018-12-05 STMicroelectronics (Research & Development) Limited An integrated circuit package
EP2390792B1 (en) 2010-05-27 2014-04-16 STMicroelectronics (Grenoble 2) SAS Communication system and method
US9432288B2 (en) * 2014-02-28 2016-08-30 Cavium, Inc. System on chip link layer protocol
EP3400688B1 (en) 2016-01-04 2020-05-20 Gray Research LLC Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102210020A (zh) * 2008-11-10 2011-10-05 飞思卡尔半导体公司 用于互连集成电路的技术
CN102449614A (zh) * 2009-04-29 2012-05-09 英特尔公司 用于耦合代理的分组化接口
US20160344629A1 (en) * 2015-05-22 2016-11-24 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network

Also Published As

Publication number Publication date
US20190370212A1 (en) 2019-12-05
CN110557311B (zh) 2022-07-29
EP3575972B1 (en) 2021-02-17
US10496594B1 (en) 2019-12-03
EP3575972A1 (en) 2019-12-04

Similar Documents

Publication Publication Date Title
CN110557311B (zh) 用于系统级封装管芯间访问等待时间的处理器间通信方法
US10140242B2 (en) General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network
EP3830708B1 (en) Logical transport over a fixed pcie physical transport network
US10467154B2 (en) Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus
US7631118B2 (en) Lane to lane deskewing via non-data symbol processing for a serial point to point link
US10802995B2 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
US10282341B2 (en) Method, apparatus and system for configuring a protocol stack of an integrated circuit chip
CN100468373C (zh) 经平台总线传送和接收网络协议顺应信号包的方法
US9280297B1 (en) Transactional memory that supports a put with low priority ring command
US10496593B1 (en) Inter-processor communication and signaling system and method
US8631184B2 (en) Interconnection method and device, for example for systems-on-chip
US9311268B1 (en) Method and system for communication with peripheral devices
US7822903B2 (en) Single bus command having transfer information for transferring data in a processing system
KR101679333B1 (ko) 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템
US6425071B1 (en) Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
US20070208896A1 (en) Interrupt Scheme for Bus Controller
MY127415A (en) Integrated circuit and information processing device
US20230035810A1 (en) Method for data processing of frame receiving of an interconnection protocol and storage device
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
US20040098530A1 (en) Flexible data transfer to and from external device of system-on-chip
US20030084223A1 (en) Bus to system memory delayed read processing
CN117971135B (zh) 存储设备的访问方法、装置、存储介质和电子设备
KR950009576B1 (ko) 버스 인터페이스 장치
WO2000016202A1 (en) Apparatus and method to efficiently implement a switch architecture for a multiprocessor 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
GR01 Patent grant
GR01 Patent grant