CN114756493B - 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法 - Google Patents

一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法 Download PDF

Info

Publication number
CN114756493B
CN114756493B CN202210329705.2A CN202210329705A CN114756493B CN 114756493 B CN114756493 B CN 114756493B CN 202210329705 A CN202210329705 A CN 202210329705A CN 114756493 B CN114756493 B CN 114756493B
Authority
CN
China
Prior art keywords
peer
request
event
interface
response
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
Application number
CN202210329705.2A
Other languages
English (en)
Other versions
CN114756493A (zh
Inventor
魏敬和
黄乐天
王淑芬
鞠虎
王明杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 58 Research Institute
Original Assignee
CETC 58 Research Institute
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 CETC 58 Research Institute filed Critical CETC 58 Research Institute
Priority to CN202210329705.2A priority Critical patent/CN114756493B/zh
Publication of CN114756493A publication Critical patent/CN114756493A/zh
Application granted granted Critical
Publication of CN114756493B publication Critical patent/CN114756493B/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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法,对等接口由协议转换器和事件控制器组成,协议转换器包括Shell、Buffer和Kernel。Shell是本地总线协议控制器,可根据对等设备接口总线格式与数据包传输数据格式,完成格式转换以及数据收发;Buffer用于数据缓冲和时钟域隔离;Kernel主要完成数据的打包和解包工作;事件控制器主要用于请求和响应事件的管理与组织,保证请求和响应之间的一一对应,避免数据包的丢失。同时,本发明提供了基于Initiator/Target模式和基于Condensed I/O模式的对等接口设计方案,可通过将互连裸芯所提供的对等接口与对等设备的对等接口互连,实现高性能信息处理微系统中对等设备的扩展以及对等设备和互连裸芯之间的高速通信。

Description

一种面向可扩展互连裸芯与对等设备的对等接口设计及通信 方法
技术领域
本发明涉及裸芯与对等设备之间的通信方法,尤其是指一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法。
背景技术
在单片专用集成电路中,所有组件都是在一个硅片上用同一种工艺设计和制造的。随着工艺尺寸的缩小,开发单片专用集成电路的成本和开发周期变得极高。在此情况下,多裸芯集成是未来开发高性能芯片的必然选择,即将多个功能各异且已通过验证、未被封装的芯片组件互连组装起来,并封装为同一管壳中的芯片整体,从而形成封装级网络NoP(Network on Package)。这些裸芯可以采用不同工艺、来自不同厂商,因此极大缩短和降低了开发周期和难度。而多裸芯集成的难点在于如何高效互连各个裸芯,并保证在功耗约束下实现较高的微系统性能。目前已有的面向多裸芯集成的通信协议要么是专用协议,通用性较差;要么是技术体系过于庞杂而难以使用。在多裸芯互连总线协议不成熟的情况下,如何基于我国的现实情况和现阶段技术水准,定义出符合我国目前集成电路发展需求的多裸芯互连总线协议是突破新一代集成微系统的关键问题。
微系统支持通过复用现有的裸芯来实现异构集成。从系统层次划分来看,微系统是由多个微组件级联而成,微组件由互连裸芯与其他裸芯构成。互连裸芯是以裸芯级网络NoD(Network on Die,一个包含高速片上网络与扩展总线的裸芯)为核心,加上各种标准协议接口转换、配置单元、时钟管理等电路构成可实际使用的裸芯。而互连裸芯支持集成的裸芯包含作为主设备的MPU,作为从设备的外设和DDR SDRAM等存储设备,以及可以集成主设备接口、从设备接口、对等设备接口等多种接口形式的DSP和FPGA。因此需要研究具有不同类型接口的裸芯基于互连裸芯接口的扩展方法,以及外部裸芯与互连裸芯的通信过程。
发明内容
为解决上述技术问题,本发明提出了一种面向可扩展高速互连裸芯与对等设备的通信方法与对等接口设计方法,解决了数据的包传输和传统的总线式传输之间的转换问题,实现了互连裸芯与对等设备之间的高速通信问题。通过互连裸芯提供的对等接口,可以高效地对数字信号处理器DSP(Digital Signal Processor)等对等设备处理器件进行快速的扩展与集成。
互连裸芯面向对等设备提供了对等接口,其结构如图1所示,通过将互连裸芯所提供的对等接口与对等设备的接口对应互连即可实现高性能信息处理微系统中对等设备的扩展。互连裸芯的对等接口主要由用于完成总线与包传输之间的数据格式转换的协议转换器和实现分门别类处理请求与响应事件的事件控制器组成。值得一提的是,在本方案的所有案例中包传输协议采用Valid-Ready握手协议,输入与输出通道独立,接口信号包括握手信号Valid、Ready和数据总线Data。
协议转换器根据数据的流动方向可分为打包模块和解包模块,打包模块负责将来自于对等协议总线上的数据转换为数据包的形式,而解包模块则是将来自互连裸芯的数据包转换为总线的数据和控制信号送入对等设备。
对等设备既可以作为“虚主设备”发送请求和接收响应,同时也能够作为“虚从设备”接收请求和返回响应,即对等设备既可以发送请求和响应,也可以接收请求和响应。因此为了避免协议级死锁,本发明设置事件控制器负责请求和响应事件的甄别以及虚通道的仲裁任务。当对等设备作为“虚主”时,如图2所示,输入通道为请求通道,输出通道为响应通道。由于对等设备接口不会根据通道来区分请求和响应,这就需要对等设备以软件的形式完成虚主设备的工作。
当对等设备作为“虚从”时,如图3所示,输出通道为请求通道,输入通道为响应通道。事件控制器会根据输出通道接收到的数据包类型对其进行仲裁,将数据包写入请求缓冲器,再将请求缓冲器中的数据包按照对等设备接口的协议格式解包,发送给对等设备。对等设备接收请求事件后需返回响应,而返回的响应信息同样经过打包后,写入响应缓冲器,经过输入通道送入网络。同样的由于对等设备接口不会根据通道来区分请求和响应事件,然后打包器将信息按照规定的格式打包为基本的响应事件数据包,最终送入网络。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。
图1是本发明互连裸芯对等接口结构的流程图;
图2是本发明所述对等设备作为虚主时的数据流动示意框图;
图3是本发明所述对等设备作为虚从时的数据流动示意框图;
图4是本发明所述基于Initiator/Target模式的对等接口协议控制器的结构框图;
图5是本发明所述基于Initiator/Target模式的对等接口事件控制器的结构框图;
图6是本发明所述基于基于Condensed I/O模式的对等接口的结构框图。
具体实施方式
本发明中主要针对DSP进行设计,其数据交互接口是高速串行总线Rapid IO,因此本发明主要实现了面向DSP的互连裸芯对等接口的设计。本方案中Rapid IO接口选用Xilinx SRIO IP核,其接口主要有两种模式:Initiator/Target模式和Condensed I/O模式。其中前者将请求与响应分开、发送与接收分开,因此共有4个通道:treq、tresp、ireq和iresp,依次负责发送请求、接收响应、接收请求和发送响应。而后者仅将发送和接收分开,共有2个通道:iotx和iorx,请求和响应共用一个通道,通道iotx负责发送请求和响应,iorx负责接收响应和请求。本方案分别基于不同的接口模式进行了对等接口,具体设计细节如下:
P1.基于Initiator/Target模式的对等接口:
该模式下,对等设备作为虚主发送请求和接收响应以及作为虚从接收请求和发送响应的通道都是独立的,而与对等接口相连的路由器(NoC的基本组成单元)只有输入和输出两个通道,因此协议转换器有4个通道,分别对应虚主和虚从的请求与响应通道,而事件控制器负责发送和接收通道的请求和响应之间的仲裁与分配。在上述方案的基础上,基于图1所示的接口结构设计的协议转换器和事件控制器分别如图4、5所示。
图4所示的是协议转换器的具体实现,该模块分为Shell、Buffer和Kernel三部分。其中Shell负责完成本地协议和数据包传输协议之间的转换,由于SRIO IP核是将Rapid IO串行信号转换为AXI-Stream协议,因此在本案例中Shell主要实现AXI-Stream和包传输之间的协议转换。
数据缓冲区Buffer连接Shell和Kernel,每个通道设置有一个缓冲区,共4个缓冲区。为了实现全局异步局部同步的时钟机制,Buffer选择由异步FIFO构成,用来解决数据传输的跨时钟域问题。当NoC和DSP处在不同时钟域时,仍然可以保证数据的可靠传输。
Kernel则是整个接口的核心,分为打包器(Packetizer)和解包器(Unpacketizer),打包器从缓冲区读取数据,然后添加头尾微片以及微片类型从而构成完整数据包,最终送入网络;解包器将来自网络的数据包去掉头尾微片以及微片类型,然后写入对应的缓冲区。
图5所示的是事件控制器的结构,由虚主事件控制器、虚从事件控制器和仲裁分配单元组成。
其中虚主事件控制器主要由请求Buffer、响应Buffer、ID队列、ID生成器以及看门狗构成。当请求Buffer非空时,首先查询事件队列是否有空闲ID,有空闲ID时,ID生成器会生成事件ID并挂起相应ID,同时路由器准备好接收数据的话,就读出Buffer中的数据包,然后将已生成的事件ID信息打入数据包的头微片中,最后将数据送入路由器。事件ID有4位,总共有16个ID,因此存在所有ID都被挂起的情况,在这种情况下,ID生成器停止ID的生成,同时停止请求Buffer中数据包的读取,等待ID被释放(ID相对应的事件的响应数据包返回)。当响应Buffer非空时,释放事件队列中相应的ID,然后将数据包送入协议转换模块。ID序列还配备一个看门狗模块,当一个ID对应的请求事件发出时,看门狗开始计时,若在一定时间内响应数据包未返回,则触发中断传回DSP,DSP根据中断类型进行相应处理。
如图5所示,虚从事件控制器包括请求Buffer、响应Buffer和ID队列。相比于虚主事件控制器,虚从事件控制器就简单了很多,只负责事件ID的挂起和释放,当请求数据包从网络进入请求Buffer中时,ID队列记录对应的事件ID,等到该事件的响应数据包进入响应Buffer时,将挂起的ID打入响应数据包后,释放该ID,如此即可避免数据包的丢失。
P2.基于Condensed I/O模式的对等接口:
Initiator/Target模式相较于Condensed I/O模式虽然处理事件时更精细化,但是由于iresp通道无法传输DoorBell事件(Rapid IO协议中定义的事件类型,一般用于产生中断),因此对等设备作为虚主设备发送请求之后,必须一直查询对应地址来判断是否有响应事件返回,这会造成大量的资源和时间浪费。为了避免对等设备一直等待响应,对P1所述接口进行改进,即采用Condensed I/O模式,使请求和响应共用一个通道。在上述方案基础下,当对等接口从网络中接收到响应事件时,可以发送携带中断信息DoorBell事件给对等设备,对等设备接收到中断信息后,在指定地址读取响应信息,完成响应的接收。这种情况下大大节省了资源,避免了对等设备的等待造成的时间浪费。
由于通道的缩减,请求和响应事件的共用通道导致事件控制器的设计难度大幅增加。为了简化设计难度和节省开发时间,本方案将事件控制器的事件队列功能“软件化”,即通过软件编程的方式生成事件ID并管理事件队列,保证请求和响应之间的对应关系。
图6所示的即是简化后的对等接口结构,仅包括事件控制器,仍然由Shell、Buffer和Kernel组成,与P1所述方案完全一致。不同的是由于通道的合并和缩减,各部分结构与功能都出现了变化。为方便后续介绍,作以下规定:图6中左边的通道为接收通道,与路由器的输出通道相连;右边的通道为发送通道,与路由器的输入通道相连。
在Shell中,核心部分是状态控制器,其由状态机构成,所有的数据处理由其组织和管理。当对等设备作为虚主时,通过iotx通道发送请求信息,在状态机的控制下,数据经过发送通道的请求虚通道按照一定的格式进行转换,然后被送入FIFO;而当响应事件返回时,接收通道从FIFO中读取数据,经过接收通道的响应虚通道完成格式转换,最终通过总线传入对等设备。对等设备作为虚从时,接收请求时间通过接收通道的请求虚通道,发送响应事件时利用发送通道的响应虚通道完成。
Kernel功能与P1方案基本相同,在微片控制器的调度下,完成数据包的打包与解包。

Claims (1)

1.一种面向可扩展互连裸芯与对等设备的通信方法,其是基于可扩展互连裸芯与对等设备的对等接口设计的通信方法,其中对等接口设计基于Initiator/Target模式、或Condensed I/O模式,其特征在于:所述可扩展互连裸芯与对等设备的对等接口,主要由协议转换器和事件控制器组成,协议转换器包括Shell、Buffer和Kernel,其中,Shell主要实现AXI-Stream和包传输之间的协议转换,数据缓冲区Buffer连接Shell和Kernel,每个通道设置有一个缓冲区,Buffer由异步FIFO构成,用来解决数据传输的跨时钟域问题;Kernel则是分为打包器和解包器,打包器从缓冲区读取数据,添加头尾微片以及微片类型从而构成完整数据包,最终送入网络;解包器将来自网络的数据包去掉头尾微片以及微片类型,然后写入对应的缓冲区;事件控制器包括虚主事件控制器、虚从事件控制器和仲裁分配单元;
Initiator/Target模式将请求与响应分开、发送与接收分开,共有4个通道:treq、tresp、ireq和iresp,依次负责发送请求、接收响应、接收请求和发送响应;在Initiator/Target模式下,对等设备作为虚主发送请求和接收响应以及作为虚从接收请求和发送响应的通道都是独立的,与对等接口相连的路由器只有输入和输出两个通道,此模式下,协议转换器有4个通道,分别对应虚主和虚从的请求与响应通道,而事件控制器负责发送和接收通道的请求和响应之间的仲裁与分配;
基于Initiator/Target模式下,对等设备作为虚主时,通过treq通道将请求信息以包传输中定义的事件编码格式发送到对等接口,经过协议转换以及打包处理后送入输入通道并为其生成事件ID并记录在ID队列中,响应事件通过tresp返回时,释放ID队列中已挂起的ID,然后解包并进行格式转换;作为虚从时,对等接口从网络接收到请求数据包,将该数据包ID记录在队列中,解析请求数据包,将请求信息通过ireq通道送入对等设备,对等设备接收到请求后,将相关信息按照一定编码格式通过iresp通道发送给对等接口,然后经过转换和打包处理,并消除记录,最终进入网络;
Condensed I/O模式将发送和接收分开,共有2个通道:iotx和iorx,请求和响应共用一个通道,通道iotx负责发送请求和响应,iorx负责接收响应和请求;基于Condensed I/O模式下,对等接口结构上包括Shell、Buffer和Kernel;Buffer和Kernel功能与基于Initiator/Target模式的对等接口一致;在Shell中,核心部分是状态控制器,其由状态机构成,所有的数据处理由其组织和管理;
基于Condensed I/O模式下,与Initiator/Target模式的不同之处在于事件ID的生成和ID队列的管理功能交由软件完成,当对等设备作为虚主发送请求时,通过编程为每个请求事件生成ID并记录在ID队列中,当对应的响应返回时则消除记录;当对等设备作为虚从接收请求时,将事件ID记录在ID队列中,当设备完成响应后消除ID记录;基于Condensed I/O模式的对等接口将事件控制器的事件队列功能“软件化”,即通过软件编程的方式生成事件ID并管理事件队列,保证请求和响应之间的对应关系。
CN202210329705.2A 2022-03-31 2022-03-31 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法 Active CN114756493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210329705.2A CN114756493B (zh) 2022-03-31 2022-03-31 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210329705.2A CN114756493B (zh) 2022-03-31 2022-03-31 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法

Publications (2)

Publication Number Publication Date
CN114756493A CN114756493A (zh) 2022-07-15
CN114756493B true CN114756493B (zh) 2024-05-14

Family

ID=82328733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210329705.2A Active CN114756493B (zh) 2022-03-31 2022-03-31 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法

Country Status (1)

Country Link
CN (1) CN114756493B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794703B (zh) * 2022-11-18 2024-04-09 电子科技大学 一种基于分段确认的互连裸芯包传输方法
CN116016698B (zh) * 2022-12-01 2024-04-05 电子科技大学 一种面向RapidIO控制器与互连裸芯的对等式接口及数据交互方法
CN117389931B (zh) * 2023-12-12 2024-05-03 芯动微电子科技(武汉)有限公司 适用于总线访问gpu核内存储器的协议转换模块及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817907A (zh) * 2021-02-05 2021-05-18 中国电子科技集团公司第五十八研究所 互联裸芯扩展微系统及其扩展方法
CN112817897A (zh) * 2021-02-05 2021-05-18 中国电子科技集团公司第五十八研究所 互联裸芯与dsp/fpga的通信方法及其通信系统
CN112905520A (zh) * 2021-02-05 2021-06-04 中国电子科技集团公司第五十八研究所 用于互联裸芯的数据传输事件
CN114721979A (zh) * 2022-03-31 2022-07-08 中科芯集成电路有限公司 一种面向互连裸芯与axi主设备的转换接口及通信方法
CN114756494A (zh) * 2022-03-31 2022-07-15 中国电子科技集团公司第五十八研究所 多裸芯互连的标准通信协议与片上包传输协议的转换接口

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868941B2 (en) * 2011-09-19 2014-10-21 Sonics, Inc. Apparatus and methods for an interconnect power manager

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817907A (zh) * 2021-02-05 2021-05-18 中国电子科技集团公司第五十八研究所 互联裸芯扩展微系统及其扩展方法
CN112817897A (zh) * 2021-02-05 2021-05-18 中国电子科技集团公司第五十八研究所 互联裸芯与dsp/fpga的通信方法及其通信系统
CN112905520A (zh) * 2021-02-05 2021-06-04 中国电子科技集团公司第五十八研究所 用于互联裸芯的数据传输事件
CN114721979A (zh) * 2022-03-31 2022-07-08 中科芯集成电路有限公司 一种面向互连裸芯与axi主设备的转换接口及通信方法
CN114756494A (zh) * 2022-03-31 2022-07-15 中国电子科技集团公司第五十八研究所 多裸芯互连的标准通信协议与片上包传输协议的转换接口

Also Published As

Publication number Publication date
CN114756493A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN114756493B (zh) 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法
CN112860612B (zh) 互联裸芯与mpu的接口系统及其通信方法
WO2022166427A1 (zh) 用于互联裸芯的数据传输事件
TW480855B (en) Communications system and method with multilevel connection identification
CN106648896B (zh) 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
WO2011147324A1 (zh) 多接口固态硬盘及其处理方法和系统
CN108345555B (zh) 基于高速串行通信的接口桥接电路及其方法
CN101937406B (zh) 一种VxWorks操作系统中实现驱动1394设备的方法和系统
CN109165178B (zh) 一种基于RapidIO的弹上系统SoC芯片间高速通信方法
CN112970010B (zh) 流式传输平台流和架构
GB2411985A (en) Bus arrangement for reducing response time in a System on a Chip
CN112835848B (zh) 互联裸芯的片间互联旁路系统及其通信方法
CN114721979A (zh) 一种面向互连裸芯与axi主设备的转换接口及通信方法
US7535920B2 (en) Method and system for optimizing UTOPIA CLAV polling arbitration
CN114756494A (zh) 多裸芯互连的标准通信协议与片上包传输协议的转换接口
JPWO2014115207A1 (ja) バスインタフェース装置、中継装置、およびそれらを備えたバスシステム
CN112817907B (zh) 互联裸芯扩展微系统及其扩展方法
CN116069711B (zh) 直接内存访问控制器、异构设备、内存访问方法及介质
US5459836A (en) Inter-processor communication net
JP2007534052A (ja) 集積回路及びトランザクション撤回方法
US8260994B2 (en) Interface for prototyping integrated systems
JP2014170361A (ja) 情報処理装置、バス分割方法、及びバス分割プログラム
CN115587059A (zh) 一种数据转换系统
KR20190108001A (ko) 네트워크온칩 및 이를 포함하는 컴퓨팅 장치
CN112835847B (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
GR01 Patent grant