CN105677605B - 一种高效的可配置片上互联***及其实现方法、装置 - Google Patents
一种高效的可配置片上互联***及其实现方法、装置 Download PDFInfo
- Publication number
- CN105677605B CN105677605B CN201410667527.XA CN201410667527A CN105677605B CN 105677605 B CN105677605 B CN 105677605B CN 201410667527 A CN201410667527 A CN 201410667527A CN 105677605 B CN105677605 B CN 105677605B
- Authority
- CN
- China
- Prior art keywords
- main equipment
- bit wide
- equipment
- request
- bus identifier
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
-
- 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
-
- 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)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种实现高效的可配置片上互联***的方法,该方法包括:所述互联***中,各主设备对自身的总线识别符的位宽进行设置,所述各主设备的总线识别符的位宽相同;在存储访问过程中,所述主设备基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。本发明还同时公开了一种实现所述方法的***和装置。
Description
技术领域
本发明涉及通信领域中的***级芯片(SOC),尤其涉及一种高效的可配置片上互联***及其实现方法、装置。
背景技术
随着制造工艺的不断进步,芯片内部的晶体管越来越多,片内***越来越复杂,通常集成了几十个甚至几百个IP核,核间通信成了SOC设计的主要问题之一。对于复杂的***一般选择标准中的共享式互联***。
在一个复杂的共享式互联***中,所有的通信都可以转化为相互之间的存储访问,发出存储访问请求的一方为主设备,接收存储访问请求的一方为从设备。SOC就是将众多的主设备与从设备连接起来的***。
当前的共享式互联***中,每个主设备都有一个总线识别符(简称ID),ID有两个作用:一、用于在返回访问请求的响应时进行路由;二、由于ID的不同,主设备可以不按发送顺序接收响应,矩阵(Matrix)或交叉开关矩阵(Crossbar)在中转请求或响应时,可以根据实际情况乱序转发。本文中将所述Matrix或Crossbar统称为互联矩阵。
但是,ID的位宽随着互联深度的递增而增加,造成总线协议开销增加,功耗较大、成本支出较高;其次,必须通过ID转换(适配器进行ID转换)才可实现不同ID宽度的总线互联,造成访问延迟的增加,对设计、验证、后端实现等都造成了影响,也不利于功耗和成本的控制。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种高效的可配置片上互联***及其实现方法、装置。
本发明实施例提供了一种实现高效的可配置片上互联***的方法,该方法包括:
所述互联***中,各主设备对自身的总线识别符的位宽进行设置,所述各主设备的总线识别符的位宽相同;在存储访问过程中,所述主设备基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。
其中,所述各主设备对自身的总线识别符的位宽进行设置,包括:
各主设备依据所述互联***中所有主设备的数量以及各主设备能发出的请求的种类对自身的总线识别符的位宽进行计算。
其中,所述总线识别符的位宽设置用公式表示为:
其中,所述IDWIDTH表示ID的位宽,n表示互联***的所述主设备的数量,i0~in分别表示每个主设备能发出的请求的种类数,UP_int表示向上取整。
在一个实施例中,该方法还包括:各主设备配置自身能发出的请求的种类。
其中,所述主设备能发出的请求的种类可包括如下一种或多种:
数据传输过程中位宽可变、可缓存、访问存储空间的安全级别、访问的存储空间的类型。
本发明实施例还提供了一种高效的可配置片上装置,该装置为上文所述的主设备,所述主设备包括:接口控制器和处理器;其中,
所述接口控制器,用于对主设备的总线识别符的位宽进行设置,各主设备中的接口控制器所设置的总线识别符的位宽均相同;
所述处理器,用于主设备在存储访问过程中,基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。
其中,所述接口控制器对各主设备的总线识别符的位宽进行设置,包括:
所述接口控制器依据所述互联***中所有主设备的数量以及各主设备能发出的请求的种类对自身所属的主设备的总线识别符的位宽进行计算。
其中,所述接口控制器对总线识别符的位宽设置用公式表示为:
其中,所述IDWIDTH表示ID的位宽,n表示互联***的所述主设备的数量,i0~in分别表示每个主设备能发出的请求的种类数,UP_int表示向上取整。
在一个实施例中,所述接口控制器,还用于配置自身所属的主设备能发出的请求的种类。
本发明实施例还提供了一种高效的可配置片上互联***,该***包括:若干个上文所述的主设备、若干个从设备以及若干个互联矩阵。
本发明实施例提供的高效的可配置片上互联***及其实现方法、装置,所述互联***中,各主设备对自身的总线识别符的位宽进行设置,所述各主设备的总线识别符的位宽相同;在存储访问过程中,所述主设备基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。本发明实施例中,所有主设备的ID通过参数化配置,即:对各主设备ID的位宽进行参数化配置,由于均采用相同的ID位宽计算公式获得,因此各主设备的ID位宽相同,在存储访问过程中省掉了ID转换的步骤,相应省掉了现有互联***中的适配器,因此,可对现有ID转换过程中的延迟进行优化,相应减少互联总线的协议开销,降低了功耗、且可节约成本;另外,在***设计中,不需要适配器以及ID截位,节省设计时间,方便验证问题的定位。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为现有采用ID位宽增量方式的互联***的结构示意图;
图2为现有互联***中适配器的设置以及ID截位示意图;
图3为本发明实施例所述实现高效的可配置片上互联***的方法实现流程图;
图4为本发明一具体应用场景中的可配置片上互联***的结构示意图;
图5为本发明实施例所述主设备的结构示意图。
具体实施方式
为了方便说明,下面对现有采用ID位宽增量方式的互联***及其通信方法进行描述。
这里,将总线连接的设备(不限于设备,也可能是子***)称之为组件。图1中所示M表示主设备接口,双向箭头的另一端表示从设备接口;***上的组件有的只有主设备接口、有的只有从设备接口、有的同时含有主、从设备接口。访问主设备_n0_0的主设备接口不需要再经过Matrix或Crossbar进行互联,因此,所述主设备_n0_0不包括在互联主设备范围内。
图1上所有主设备接口中,假设主设备_n0_0发出的不同请求数最多,需要5位的ID(ID位宽为5)才能表示,采用ID递增式互联,由主设备_n0_0至从设备_n3_3,经过4层矩阵(Matrix)互联后,ID位宽至少递增到了15位。在目前及以后发展的SOC***中,互联的主设备至少有几十个,甚至几百个,而且,为了互联局部化,便于后端实现,互联层次可能有十几个,因此,ID位宽的增加就更多了。
互联***需要使用ID将响应路由至主设备,ID位宽越宽,路由的时序越难满足,在特别大的***中,很可能成为性能的瓶颈;互联***以及从设备需要存储没有得到响应的ID,位宽越宽,存储请求信息的硬件开销越大,特别是支持缓存未完成请求的较大的互联矩阵和从设备,代价更大;***设计中,由于不同层次的ID位宽不同,有的地方需要进行ID位宽的转换,有的地方需要进行ID的截位,因此,除了增加***访问延迟外,将导致***集成耗费大量时间,且验证也比较困难。
如图1中虚线所示,主设备_n1_2要通过主设备_n0_0访问从设备_n0_0内的共享存储空间,由于ID位宽的不匹配,主设备_n1_2的ID位宽是10,而主设备_n0_0上的从设备接口的ID位宽只是5,必须进行ID位宽的转换才能将主设备_n1_2和主设备_n0_0以及从设备_n0_0集成在一起,如图2所示,在主设备_n0_0与交换矩阵_n0间设置一个适配器,该适配器主要作用就是进行ID转换。ID转换一般使用队列,将队列指针用作访问主设备_n0_0的ID即可,适配器接收到访问请求后需要存储ID,产生新的队列指针,至少要一个周期的延迟;而响应返回也要查队列,找出所存储的ID,也至少需要一个周期的延迟。也就是说,经过ID转换,浪费了至少两个周期的访问延迟,对于延迟敏感的***来说难以接受。即使受延迟影响小的***,进行ID转换也有不少的硬件开销,不利于成本和功耗的控制。
另外,如图2所示,对于从设备_n0_0来说,由于三个从设备接口所连接的三个主设备接口的ID位宽(3、5和8)都不一样,设计的时候至少应该按最宽的ID(8)设计,进行ID位宽窄的连接时,将所述从设备一侧的ID高位截去。这样集成时很容易出错,也不易使用工具或脚本进行自动化设计,同时验证时出现的问题较多,不适用于复杂的SOC。因此,
本发明的实施例中,所述互联***中,各主设备对自身的总线识别符(ID)的位宽进行设置,所述各主设备的总线识别符的位宽相同;在存储访问过程中,所述主设备基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。
下面结合附图及具体实施例对本发明作进一步详细说明。
图3为本发明实施例所述实现高效的可配置片上互联***的方法实现流程图,如图3所示,该方法包括:
步骤301:所述互联***中,各主设备对自身的总线识别符(ID)的位宽进行设置,所述各主设备的总线识别符的位宽相同,即不同主设备的总线识别符通过相同的位宽表示;
这里,根据存储访问的数据流,存储访问请求总是从主设备发出,经过多层总线互联,达到从设备;然后,从设备返回的响应按请求的传输路径返回给主设备,也就是说,只有主设备需要访问ID,从设备的识别是通过地址译码来完成的。
本发明实施例中,在互联***统一配置ID,所述ID的位宽取决于***上需要进行互联的所有主设备的数量和每个主设备能发出多少种不同的请求,以保证在这种方案下主设备仍然能乱序发送请求。相应的,所述各主设备对自身的总线识别符的位宽进行设置,包括:
各主设备依据所述互联***中所有主设备的数量以及各主设备能发出的请求的种类数对自身的总线识别符的位宽进行计算。
这里,所述ID位宽的设置方法用公式表示为:
其中,所述IDWIDTH表示ID的位宽,n表示主设备的数量,i0~in分别表示每个主设备能发出的请求的种类数,UP_int表示向上取整。
可以看出,经过上述公式的计算,本发明实施例中各主设备的ID位宽相同。
本发明实施例中,所述ID的位宽全***一致,而各主设备能发出的请求的种类数(REQ_NUM)取决于各主设备本身,如:对于支持乱序执行的处理器,其能发出的请求的种类数可能比较大;而对于加速器或专用接口,其能发出的请求的种类数大部分都是1。该参数的设置在SOC设计的顶层进行,实例化设备或子***时将所述参数配置到相应设备或子***中。
步骤302:在存储访问过程中,所述主设备基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。
在本发明实施例中,如图5所示,处理器主设备存储访问控制方式存储在缓存中,可以通过处理器核进行配置;非处理器主设备的存储访问控制方式存储在其它内存中,可以通过配置接口进行配置;主设备的ID位宽和请求通过参数传递到具体从设备模块的顶层;从设备通过解析来自互联矩阵的内存访问地址进行和主设备的交互,不再进行和主设备或互联矩阵的ID进行截位或处理。
本发明实施例中所有主设备的ID通过参数化配置,即:对各主设备ID的位宽进行参数化配置,由于均采用相同的ID位宽计算公式获得,因此各主设备的ID位宽相同,在存储访问过程中省掉了ID转换的步骤,即相应省掉了图2所示的现有互联***中的适配器,因此,可对现有ID转换过程中的延迟进行优化,相应减少互联总线的协议开销,降低了功耗、且可节约成本;另外,在***设计中,不需要适配器以及ID截位,节省设计时间,方便验证问题的定位。
在本发明一个实施例中,该方法还包括:各主设备配置自身能发出的请求的种类,且各主设备的能发出的请求的种类相同。
由于对不同主设备的请求种类进行统一配置,即:请求种类相同,因此可减少ID位宽在不同层次矩阵间进行的截位处理和缓存处理,降低了延时,减少了时序风险,降低了集成出错的机率。
这里,所述配置可由主设备自己完成,这主要针对处理器核,也可能是由处理器内的传输后备缓冲器(Translation Lookaside Buffer,TLB)自动完成;对于非处理器核,配置过程与主设备的其它配置一起由主设备内专门的配置接口进行配置,如:存储器直接访问(DMA)接口。
其中,所述主设备能发出的请求的种类可包括如下一种或多种:
数据传输过程中位宽可变、可缓存、访问存储空间的安全级别和访问的存储空间的类型等。所述数据传输过程中位宽可变,表示总线数据在不同场景下有不同位宽访问的请求,如在大数据流量访问场景下有128比特数据位宽的数据传输,在小数据流量访问场景下有8比特数据位宽的数据传输等;所述可缓存,表示数据在传输过程中,根据一些算法和时序等的要求要进行对齐处理,需要进行缓存等;所述访问存储空间的安全级别,表示一些地址空间的数据访问存在访问控制功能,在满足设置条件后该数据可以被访问,该设置条件可以是地址过滤,也可以是一个功能场景等;所述访问存储空间类型,表示该访问存储空间可以是数据访问空间、指令访问空间、可读可写访问空间和只读访问空间等。
本发明实施例中,各主设备可以选择发出一种或多种存储访问请求,也可以选择支持上述所有的存储访问请求,例如:主设备发出请求后处于等待状态,直到接收到从设备的响应,这种就属于强顺序型,某些主设备可以支持甚至是仅支持这种类型的存储访问。
当然,也不排除有其它配置的可能性,如:复杂的主设备需要对请求的流量进行统计或控制、主设备等待超时等。
下面结合一具体应用场景对本发明实施例的方法进行描述。
图4以5个互联矩阵互联为例(不限于互联矩阵的类型以及个数),如果主设备_n1_j要通过主设备_n0_0访问从设备_n0_0内的共享存储空间,由于互联时ID的位宽不再变化,不需要对ID进行转换,因此,ID的位宽与互联的层次没有任何关系,全***的互联非常简单和平衡。这里的平衡有时序上的,所有互联的ID一致,不会因为某个互联矩阵进行ID比较时产生时序问题;另外,ID不再需要截位,存储控制信号也不需要变换,集成甚至完全工具化,减少人工操作导致问题的风险。
本发明实施例还提供了一种高效的可配置片上装置,如图5所示,该装置为上文所述的主设备,所述主设备50包括:接口控制器501和处理器502;其中,
所述接口控制器501,用于对主设备的总线识别符的位宽进行设置,各主设备中的接口控制器所设置的总线识别符的位宽均相同;
所述接口控制器501包括缓存和其他内存,用于对内存访问控制和配置参数的存储,对主设备为处理器的内存访问控制和配置参数存储于内存中,对主设备为非处理器的内存访问控制和配置参数存储于其他内存中。所述接口控制器501与所述配置接口相连,接收从设备返回的相应主设备ID的响应信号(ID response),该响应信号是读或写完成的反馈信号等;主设备发出和ID相关联的命令信号(ID cmd),该命令可以是读或写等。
所述处理器502,用于主设备在存储访问过程中,基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。
这里,根据存储访问的数据流,存储访问请求总是从主设备发出,经过多层总线互联,达到从设备;然后,从设备返回的响应按请求的传输路径返回给主设备,也就是说,只有主设备需要访问ID,从设备的识别是通过地址译码来完成的。
本发明实施例中,在互联***统一配置ID,所述ID的位宽取决于***上需要进行互联的所有主设备的数量和每个主设备能发出多少种不同的请求,以保证在这种方案下主设备仍然能乱序发送请求。
在本发明一个实施例中,所述接口控制器501对各主设备的总线识别符的位宽进行设置,包括:
所述接口控制器依据所述互联***中所有主设备的数量以及各主设备能发出的请求的种类对自身所属的主设备的总线识别符的位宽进行计算。
在本发明一个实施例中,所述接口控制器501对总线识别符的位宽设置用公式表
示为:
其中,所述IDWIDTH表示ID的位宽,n表示互联***的所述主设备的数量,i0~in分别表示每个主设备能发出的请求的种类数,UP_int表示向上取整。
可以看出,经过上述公式的计算,本发明实施例中各主设备的ID位宽相同。
本发明实施例中,所述ID的位宽全***一致,而各主设备能发出的请求的种类数(REQ_NUM)取决于各主设备本身,如:对于支持乱序执行的处理器,其能发出的请求的种类数可能比较大;而对于加速器或专用接口,其能发出的请求的种类数大部分都是1。该参数的设置在SOC设计的顶层进行,实例化设备或子***时将所述参数配置到相应设备或子***中。
本发明实施例中所有主设备的ID通过参数化配置,即:对各主设备ID的位宽进行参数化配置,由于均采用相同的ID位宽计算公式获得,因此各主设备的ID位宽相同,在存储访问过程中省掉了ID转换的步骤,即相应省掉了图2所示的现有互联***中的适配器,因此,可对现有ID转换过程中的延迟进行优化,相应减少互联总线的协议开销,降低了功耗、且可节约成本;另外,在***设计中,不需要适配器以及ID截位,节省设计时间,方便验证问题的定位。
在本发明一个实施例中,所述接口控制器501,还用于配置自身所属的主设备能发出的请求的种类。
本发明实施例还提供了一种高效的可配置片上互联***,可参见图4,该***包括:上文所述的主设备、若干个从设备以及若干个互联矩阵。
图5中所示的配置接口对结构没有固定限制,也不限于某一种固定协议。
这里,所述配置可由主设备自己完成,这主要针对处理器核,也可能是由处理器内的TLB自动完成;对于非处理器核,配置过程与主设备的其它配置一起由主设备内专门的配置接口进行配置,如:存储器直接访问(DMA)接口。
其中,所述主设备能发出的请求的种类可包括如下一种或多种:
数据传输过程中位宽可变、可缓存、访问存储空间的安全级别、访问的存储空间的类型。
所述数据传输过程中位宽可变,表示总线数据在不同场景下有不同位宽访问的请求,如在大数据流量访问场景下有128比特数据位宽的数据传输,在小数据流量访问场景下有8比特数据位宽的数据传输等;所述可缓存,表示数据在传输过程中,根据一些算法和时序等的要求要进行对齐处理,需要进行缓存等;所述访问存储空间的安全级别,表示一些地址空间的数据访问存在访问控制功能,在满足设置条件后该数据可以被访问,该设置条件可以是地址过滤,也可以是一个功能场景等;所述访问存储空间类型,表示该访问存储空间可以是数据访问空间、指令访问空间、可读可写访问空间和只读访问空间等。
本发明实施例中,各主设备可以选择发出一种或多种存储访问请求,也可以选择支持上述所有的存储访问请求,例如:主设备发出请求后处于等待状态,直到接收到从设备的响应,这种就属于强顺序型,某些主设备可以支持甚至是仅支持这种类型的存储访问。
当然,也不排除有其它配置的可能性,如:复杂的主设备需要对请求的流量进行统计或控制、主设备等待超时等。
本发明实施例中,各主设备可以选择发出一种或多种存储访问请求,也可以选择支持上述所有的存储访问请求,例如:主设备发出请求后处于等待状态,直到接收到从设备的响应,这种就属于强顺序型,某些主设备可以支持甚至是仅支持这种类型的存储访问。
当然,也不排除有其它配置的可能性,如:复杂的主设备需要对请求的流量进行统计或控制、主设备等待超时等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (8)
1.一种实现高效的可配置片上互联***的方法,其特征在于,该方法包括:
所述互联***中,各主设备依据所述互联***中所有主设备的数量以及各主设备能发出的请求的种类对自身的总线识别符的位宽进行计算;各主设备根据计算结果通过参数化配置的方式对自身的总线识别符的位宽进行设置,所述各主设备的总线识别符的位宽相同;在存储访问过程中,所述主设备基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。
2.根据权利要求1所述的方法,其特征在于,所述总线识别符的位宽设置用公式表示为:
其中,所述IDWIDTH表示ID的位宽,n表示互联***的所述主设备的数量,i0~in分别表示每个主设备能发出的请求的种类数,UP_int表示向上取整。
3.根据权利要求1-2中任一项所述的方法,其特征在于,该方法还包括:各主设备配置自身能发出的请求的种类。
4.根据权利要求3所述的方法,其特征在于,所述主设备能发出的请求的种类可包括如下一种或多种:
数据传输过程中位宽可变、可缓存、访问存储空间的安全级别、访问的存储空间的类型。
5.一种高效的可配置片上装置,该装置为权利要求1-4中任一项所述的主设备,其特征在于,所述主设备包括:接口控制器和处理器;其中,
所述接口控制器,用于依据所述互联***中所有主设备的数量以及各主设备能发出的请求的种类对主设备的总线识别符的位宽进行计算;还用于根据计算结果通过参数化配置的方式对主设备的总线识别符的位宽进行设置,各主设备中的接口控制器所设置的总线识别符的位宽均相同;
所述处理器,用于主设备在存储访问过程中,基于所述总线识别符、且仅通过互联矩阵进行与从设备间的交互。
6.根据权利要求5所述的装置,其特征在于,所述接口控制器对总线识别符的位宽设置用公式表示为:
其中,所述IDWIDTH表示ID的位宽,n表示互联***的所述主设备的数量,i0~in分别表示每个主设备能发出的请求的种类数,UP_int表示向上取整。
7.根据权利要求5-6中任一项所述的装置,其特征在于,所述接口控制器,还用于配置自身所属的主设备能发出的请求的种类。
8.一种高效的可配置片上互联***,其特征在于,该***包括:若干个权利要求5-7中任一项所述的主设备、若干个从设备以及若干个互联矩阵。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410667527.XA CN105677605B (zh) | 2014-11-20 | 2014-11-20 | 一种高效的可配置片上互联***及其实现方法、装置 |
EP15860060.1A EP3223162B1 (en) | 2014-11-20 | 2015-04-15 | Configurable on-chip interconnection system and method and apparatus for implementing same, and storage medium |
US15/527,862 US10198374B2 (en) | 2014-11-20 | 2015-04-15 | Configurable on-chip interconnection system and method and apparatus for implementing same, and storage medium |
PCT/CN2015/076672 WO2016078307A1 (zh) | 2014-11-20 | 2015-04-15 | 可配置片上互联***及其实现方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410667527.XA CN105677605B (zh) | 2014-11-20 | 2014-11-20 | 一种高效的可配置片上互联***及其实现方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105677605A CN105677605A (zh) | 2016-06-15 |
CN105677605B true CN105677605B (zh) | 2019-04-30 |
Family
ID=56013183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410667527.XA Active CN105677605B (zh) | 2014-11-20 | 2014-11-20 | 一种高效的可配置片上互联***及其实现方法、装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10198374B2 (zh) |
EP (1) | EP3223162B1 (zh) |
CN (1) | CN105677605B (zh) |
WO (1) | WO2016078307A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10282321B1 (en) * | 2017-01-19 | 2019-05-07 | Marvell Israel (M.I.S.L) Ltd. | Systems and methods for serial input and selective output mechanism for exchanging data at a network device |
CN107301024B (zh) * | 2017-06-09 | 2020-07-17 | 珠海艾派克微电子有限公司 | 成像盒芯片、成像盒及数据处理方法 |
CN109947677B (zh) * | 2019-02-27 | 2023-03-21 | 山东华芯半导体有限公司 | 支持乱序功能的axi总线位宽转换装置及数据传输方法 |
KR20210012439A (ko) * | 2019-07-25 | 2021-02-03 | 삼성전자주식회사 | 마스터 지능 소자 및 이의 제어 방법 |
KR20210029615A (ko) * | 2019-09-06 | 2021-03-16 | 에스케이하이닉스 주식회사 | 반도체장치 |
US11054998B1 (en) * | 2019-12-12 | 2021-07-06 | Facebook, Inc. | High bandwidth memory system with distributed request broadcasting masters |
CN112069115B (zh) * | 2020-09-18 | 2021-06-25 | 上海燧原科技有限公司 | 数据传输方法、设备及*** |
CN114265872B (zh) * | 2022-02-24 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 一种用于总线的互联装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145019A (en) * | 1998-03-02 | 2000-11-07 | Hewlett-Packard Company | Unconfigured device that automatically configures itself as the primary device if no other unconfigured device is present |
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上***及axi总线下的传输方法 |
CN101950279A (zh) * | 2010-09-30 | 2011-01-19 | 华为技术有限公司 | 均衡数据信息流量的方法、总线***和译码器 |
CN102780628A (zh) * | 2012-07-31 | 2012-11-14 | 中国人民解放军国防科学技术大学 | 面向多核微处理器的片上互连网络路由方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL144789A0 (en) | 2001-08-07 | 2002-06-30 | Broadlight Ltd | System architecture of a high bit rate switch module between functional units in a system on a chip |
CN1707404A (zh) | 2004-06-09 | 2005-12-14 | 上海华博科技(集团)有限公司 | 共性总线接口结构及其实现方法 |
KR100596982B1 (ko) | 2004-12-15 | 2006-07-05 | 삼성전자주식회사 | 이중 계층 버스 구조, 이중 계층 버스 구조를 가진 시스템온 칩 시스템 및 시스템 온 칩 시스템의 버스 액세스 방법 |
CN100533417C (zh) | 2006-12-30 | 2009-08-26 | 大唐微电子技术有限公司 | 片上***的数据传输方法及直接存储器访问控制器 |
KR100854973B1 (ko) | 2007-02-13 | 2008-08-28 | 삼성전자주식회사 | 버스 매트릭스를 포함하는 시스템 |
CN100573728C (zh) | 2007-07-19 | 2009-12-23 | 中兴通讯股份有限公司 | 一种存储器控制器自动化测试方法及装置 |
GB2452571A (en) | 2007-09-10 | 2009-03-11 | Advanced Risc Mach Ltd | Interconnect component generation within an integrated circuit |
US8650629B2 (en) | 2009-12-16 | 2014-02-11 | Intel Corporation | Interface logic for a multi-core system-on-a-chip (SoC) |
CN101937412B (zh) | 2010-09-14 | 2013-03-20 | 硅谷数模半导体(北京)有限公司 | 一种片上***及其访问方法 |
KR101733203B1 (ko) * | 2010-10-13 | 2017-05-08 | 삼성전자주식회사 | 아이디 컨버터를 포함하는 버스 시스템 및 그것의 변환 방법 |
CN102096657B (zh) | 2010-12-14 | 2012-08-01 | 哈尔滨工业大学 | 一种基于soc的微型信息处理模块 |
US8583844B2 (en) | 2011-05-31 | 2013-11-12 | Lsi Corporation | System and method for optimizing slave transaction ID width based on sparse connection in multilayer multilevel interconnect system-on-chip architecture |
-
2014
- 2014-11-20 CN CN201410667527.XA patent/CN105677605B/zh active Active
-
2015
- 2015-04-15 US US15/527,862 patent/US10198374B2/en active Active
- 2015-04-15 EP EP15860060.1A patent/EP3223162B1/en active Active
- 2015-04-15 WO PCT/CN2015/076672 patent/WO2016078307A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145019A (en) * | 1998-03-02 | 2000-11-07 | Hewlett-Packard Company | Unconfigured device that automatically configures itself as the primary device if no other unconfigured device is present |
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上***及axi总线下的传输方法 |
CN101950279A (zh) * | 2010-09-30 | 2011-01-19 | 华为技术有限公司 | 均衡数据信息流量的方法、总线***和译码器 |
CN102780628A (zh) * | 2012-07-31 | 2012-11-14 | 中国人民解放军国防科学技术大学 | 面向多核微处理器的片上互连网络路由方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3223162A4 (en) | 2017-12-06 |
WO2016078307A1 (zh) | 2016-05-26 |
US10198374B2 (en) | 2019-02-05 |
CN105677605A (zh) | 2016-06-15 |
US20180143921A1 (en) | 2018-05-24 |
EP3223162A1 (en) | 2017-09-27 |
EP3223162B1 (en) | 2019-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677605B (zh) | 一种高效的可配置片上互联***及其实现方法、装置 | |
US9009648B2 (en) | Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification | |
EP3151493B1 (en) | Pci express fabric routing for a fully-connected mesh topology | |
US9202002B2 (en) | System for designing network on chip interconnect arrangements | |
US11693690B2 (en) | Method of completing a programmable atomic transaction by ensuring memory locks are cleared | |
US11403023B2 (en) | Method of organizing a programmable atomic unit instruction memory | |
CN103218337A (zh) | 基于wishbone总线实现主与主、从与从通信的片上***和方法 | |
CN108874687A (zh) | 针对拼贴式末级高速缓存的非统一总线(nub)互连协议 | |
CN105874758A (zh) | 内存访问方法、交换机及多处理器*** | |
US10437750B2 (en) | Relative data width indication for read responses routed by an interconnect | |
CN116583831A (zh) | 向操作***注册自定义原子操作 | |
CN100401279C (zh) | 支持包处理的可配置的多端口多协议网络接口 | |
US10581997B2 (en) | Techniques for storing or accessing a key-value item | |
US20160098212A1 (en) | Information processor apparatus, memory control device, and control method | |
CN105491082B (zh) | 远程资源访问方法和交换设备 | |
US11409539B2 (en) | On-demand programmable atomic kernel loading | |
CN114385246A (zh) | 桶式多线程处理器中的可变流水线长度 | |
JP6235259B2 (ja) | 通信制御装置、通信制御方法及び通信制御システム | |
CN104394078A (zh) | 一种查询芯片fdb表项的方法及*** | |
CN117908959A (zh) | 用于执行原子操作的方法及其相关产品 | |
CN116569128A (zh) | 存储器热点识别 | |
CN103984654A (zh) | 访问控制列表处理装置及处理写入数据请求的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20160615 Assignee: Xi'an Chris Semiconductor Technology Co. Ltd. Assignor: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD. Contract record no.: 2019440020036 Denomination of invention: Highly-efficient interconnected system capable of configuring chips and realization system thereof and device Granted publication date: 20190430 License type: Common License Record date: 20190619 |