CN102289421B - 一种基于交叉开关结构的片上互联方法 - Google Patents

一种基于交叉开关结构的片上互联方法 Download PDF

Info

Publication number
CN102289421B
CN102289421B CN 201110210017 CN201110210017A CN102289421B CN 102289421 B CN102289421 B CN 102289421B CN 201110210017 CN201110210017 CN 201110210017 CN 201110210017 A CN201110210017 A CN 201110210017A CN 102289421 B CN102289421 B CN 102289421B
Authority
CN
China
Prior art keywords
bus
data
moderator
write
buses
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.)
Expired - Fee Related
Application number
CN 201110210017
Other languages
English (en)
Other versions
CN102289421A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN 201110210017 priority Critical patent/CN102289421B/zh
Publication of CN102289421A publication Critical patent/CN102289421A/zh
Application granted granted Critical
Publication of CN102289421B publication Critical patent/CN102289421B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了基于交叉开关结构的片上互联方法,处理元件与共享资源间提供多组并行总线以提高数据交互的并行性;命令总线与数据总线分离;为每个资源目标的数据读取和数据写入提供单独的总线,这些总线分别称为读总线和写总线;其中读总线包括读数据总线和读ID总线;写总线包括写数据总线和写ID总线;读ID总线和写ID总线作为数据读取和写入的标识信息配合读数据总线和写数据总线完成包处理单元与共享资源之间的数据传输;为命令总线、读总线以及写总线分别提供一组轻型仲裁器。从而可为系统设计者提供多种仲裁算法。此外,基于本仲裁方案中仲裁器的独立性的特点,系统总线的扩展变得极其简单,从而提高了网络处理器系统的可扩展性。

Description

一种基于交叉开关结构的片上互联方法
技术领域
本发明涉及一种基于交叉开关结构的片上互联方法,属于计算技术领域。
背景技术
网络处理器作为面向网络应用领域的应用特定指令处理器,是面向数据分组处理的专用设备,应用于特定通信领域的各种任务,比如包处理、协议分析、声音/数据的汇聚、路由查找、防火墙、QoS(Quality of Service,即:服务质量)等。例如以网络处理器为核心的交换机和路由器等网络设备被设计成以包的形式在高速率下转发网络通信量。处理网络通信量的一个最重要的考虑是包吞吐量。为了处理包,网络处理器需要分析发往本设备的数据报文中的包报头信息,提取包目的地,服务分类等信息,确定数据报文的下一跳目的地址,修改数据报文并发往相应网络端口。
现代网络处理器一般由多个多线程包处理单元(通常称为PPE)、通用处理器、静态随机存取存储器(SRAM)控制器、动态随机存取存储器(SDRAM)控制器、加解密鉴权单元、数据流接口单元构成。多线程包处理单元和通用处理器(通常统一称作处理元件)作为包处理动作的发起者,执行大量存取操作来访问系统内的多种共享资源;静态随机存取存储器控制器、动态随机存取存储器控制器、加解密鉴权单元、数据流接口单元作为包数据处理具体实施者可被任一包处理单元访问,是网络处理中典型的共享资源。在包处理期间,包处理单元以及比如通用处理器的其它可选择的处理元件通过总线共享访问多种系统资源。因此必须提供一套高性能的系统互联总线,以提供芯片上的大量处理元件以及芯片上大量共享资源之间的片上数据传输基础结构。
传统的网络处理器系统互联采用共享总线的结构,共享总线一般采用多路复用技术。多种处理元件被耦合到一组共享总线上通过争用总线访问被耦合到总线上的多个资源目标,不同处理元件一般具有不同的总线访问优先级权限,总线仲裁器根据访问优先级由高到低对处理元件依次授权。图1提供了一个传统的共享总线体系结构示意图。该体系结构包含有多个包处理元件102,以及多种共享资源,包括SRAM单元112、DRAM单元114、加解密鉴权单元116和数据流接口118。这些处理单元全部被耦合到一组系统共享总线上,如图1所示命令及数据总线120。此外,系统中还包括一个负责调度各处理单元争用共享总线的全局仲裁器110。系统内处理元件与资源目标之间通过共享总线进行通信,一般分为以下几个步骤:
步骤一:处理元件首先向全局仲裁器申请总线占有权。
步骤二:如果总线处于空闲状态,全局仲裁器监测当前总线的申请请求,并对具有最高优先级的总线申请请求发起者进行授权。如果总线正在传输数据,则仲裁器等待当前通信结束后再对总线申请请求进行仲裁。
步骤三:处理元件获得总线授权后开始占用总线与目标单元进行通信。
步骤四:通信结束后释放总线,仲裁器再次监测当前总线的申请请求进行授权。
共享总线互联方式的特点是系统仅包含一组共享总线,其好处是结构紧凑,节省布线资源。然而这种共享总线的结构在任一时间节点上仅允许单独的一组数据在总线上传输,因此限制了处理元件与共享资源之间的通信带宽。此外,在多个处理元件同时请求使用总线时,由于上述原因在该时间节点上仅有一个处理元件可被授权,因此会引入总线访问的争用问题,处理元件发起的通信请求由于优先级较低可能长时间得不到授权从而使该处理元件长时间处于停滞状态,从而影响系统包处理速率。
发明内容
有鉴于此,本发明提出一种交叉开关(crossbar switch)结构与分布式总线互连相结合的片上互联方案,通过在处理元件与共享资源间提供多组并行总线以提高数据交互的并行性,解决因共享总线所带来的通信带宽瓶颈问题,从而提高网络处理器系统包处理速率。
为了实现上述目的,本发明的互联方案包括:
本发明将包处理单元作为主控端(master),是包处理事务的发起者;静态随机存储器控制器、动态随机存储器控制器、加解密鉴权单元、数据流接口单元是数据处理的具体实施者,作为系统共享资源可被任一主控端访问。
本发明为网络处理器系统互联提供命令总线与数据总线分离的技术,提高总线交易执行的并行性。将包处理事务的发起与执行分离,包处理单元不必监测事务执行的细节,仅专注于数据的分组与转发;包处理单元发起事务可根据系统需要转而执行其它事务,而不必一直等待上一事务的完成。
为了缓解共享总线中访问争用的问题,本方案为每个资源目标的数据读取和数据写入提供单独的总线,这些总线被称为读总线和写总线。(需要注意的是,数据读取与数据写入是从共享资源目标的观点而言。即数据读取是从资源目标中读取数据发往主控端,而数据写入是将主控端发出的数据写入资源目标。)其中读总线包括读数据总线和读ID总线;写总线包括写数据总线和写ID总线。读ID总线和写ID总线作为数据读取和写入的标识信息配合读数据总线和写数据总线完成包处理单元与共享资源之间的数据传输。
为了支持命令总线与数据总线分离的技术以及数据总线内读总线与写总线分离的技术。本发明提供分布式的仲裁方案,而不是使用传统的采用系统全局仲裁的方法。本发明为命令总线、读总线以及写总线分别提供一组轻型仲裁器。每一个仲裁器仅对一个主控端或资源目标进行控制;此外,系统设计者可根据系统实际要求对仲裁器采用不同的优先级算法。
正如以上所述,本发明的一个或多个方面可提供以下优点。
本发明采用命令总线与数据总线分离的技术,将事务发起与事务具体实施分离,保证包处理单元仅关注事务的发起及调度,共享资源负责事务具体实施以及数据交互。在同一时间节点为上,系统总线中可发出多个事务,并且支持多个包处理单元与资源目标之间的数据通信,保证了系统事务的并行执行,提高系统总线数据吞吐率。
本发明在数据总线中还提供相互独立的读数据总线和写数据总线以及对应的读ID总线和写ID总线,将读/写数据传输隔离,多个处理元件可以在一个时间节点上同时对不同的共享资源目标进行读和写访问,从而更加有效的缓解了共享总线中访问争用的问题。
本发明还提供分布式的仲裁方案,为命令总线、读总线以及写总线分别提供一组轻型仲裁器。其最大的特点是极大的降低了系统仲裁的复杂度,每一组仲裁器以及一组仲裁器中的任意两个仲裁器都是相互独立的。从而可为系统设计者提供多种仲裁算法。此外,基于本仲裁方案中仲裁器的独立性的特点,系统总线的扩展变得极其简单,从而提高了网络处理器系统的可扩展性。
附图说明
图1是基于共享总线结构的传统网络处理器系统互联方案示意图;
图2是根据本发明的一个实施例的网络处理器系统互联结构的示意图;
图3是根据本发明的一个实施例的命令总线细节示意图;
图4是根本本发明的一个实施例的命令传输流程图;
图5是根据本发明的一个实施例的写总线细节示意图;
图6是根据本发明的一个实施例的写数据传输流程图;
图7是根据本发明的一个实施例的读总线细节示意图;
图8是根据本发明的一个实施例的读数据传输流程图;
具体实施方式
以下结合具体实施例,对本发明进行详细说明。
实施例1
参考图2所示的一个实施例的网络处理器体系结构。在该体系结构中,包括四个包处理单元202A、202B、202C、202D。需要注意的是本发明并不对此作出限定,例如在其它实施例中包括(但不限于)六个或八个包处理单元;包处理单元可根据系统设计者的需要完成相同或不同的功能。包处理单元作为网络处理器包处理的核心元件,与系统内其它数据处理单元频繁交互数据。包处理单元作为主控端发起事务,对目标资源进行访问。
正如图2所示,本实施例的网络处理器还包括多种典型的共享资源。依次为,SRAM单元212,DRAM单元214,加解密鉴权单元216以及数据流接口218。特别地,DRAM单元214与SRAM单元212作为片外DRAM和SRAM存储器的控制单元,负责支持包处理单元对片外存储设备的共享访问,在对片外存储设备存取带宽要求较高的系统中还可以采用多存储控制器的结构,而不仅限于本实施例中单一的DRAM单元和SRAM单元。
正如图2所示,根据网络处理器体系结构中包处理事务的发起与事务的具体实施可分离的特点,本实施例采用命令总线与数据总线分离的方法,即命令总线与数据总线相互独立;包处理单元采用全双工的通讯方式从而达到提高数据吞吐率的目的,本方案为每个共享资源的数据读取和数据写入提供单独的总线,这些总线被称为读总线和写总线。由于本实施例中包括四个作为主控端的包处理单元202A、202B、202C、202D,因此系统互联方案提供四组总线,从而支持四个主控端并行访问共享资源。每组总线包括命令总线以及两组数据总线,即用于读取数据的读总线和用于写入数据的写总线。在该实施例的数据总线中除了提供用于数据传输的读/写数据总线外,还提供用于辅助主控端与目标资源进行数据传输的标识总线,即用于辅助主控端读取资源目标数据的读ID总线以及用于辅助主控端将数据写入资源目标的写ID总线。正如图2所显示的那样,上述实施例的网络处理器所使用的总线包括命令总线220,读数据总线222,写数据总线224,读ID总线226以及写ID总线228。
图3根据一个实施例展示出命令总线220的细节。命令总线使用交叉开关的结构,包处理单元作为主控端,是命令的发起者。每个主控端固定地连接到命令总线中其中一条总线上,而每个共享资源通过一个多路复用器耦合到命令总线上,这支持每个共享资源与每个包处理单元之间的选择性连接,多路复用器通过与其对应的命令仲裁器控制共享资源与命令总线的接通或断开。
需要注意的是,每条总线表示对应各自总线的一组信号线,而不是单个信号;每条总线的位宽取决于网络处理器实现的具体方式。在下文中提到的写总线以及读总线均不再做重复说明。
参考图3所示的命令总线细节,在该体系结构中的水平总线组(即命令总线)包括300A、300B、300C、300D。每个共享资源通过一个多路复用器耦合到水平总线组上,所述用于支持交叉开关的命令(CMD)多路复用器包括312A、312B、312C、312D。为了解决多个包处理单元在同一时间节点上对同一个共享资源发送命令而引起的访问竞争问题,本实施例还在每一个交叉开关节点上提供节点缓存,即为每一个多路复用器提供一组命令缓存FIFO,每一组命令缓存FIFO包括四个相互独立的FIFO,每一个FIFO负责维护水平总线组中的一条总线上的命令。命令缓存FIFO组将水平总线组中访问本共享资源的命令存入对应的FIFO中。所述命令缓存FIFO组包括314A、314B、314C、314D。在本实施方式中采用分布式的仲裁技术,每一个命令多路复用器和与之对应的命令缓存FIFO组通过一个轻型的命令仲裁器(CA)进行监测和控制。每一个命令仲裁器对水平总线组中的数据进行监测,将访问本单元的命令放入对应的命令缓存FIFO中,同时控制命令多路复用器选通某一线路将对应FIFO中的命令发送到资源目标。所述轻型命令仲裁器包括316A、316B、316C、316D。
参照图3,以命令仲裁器CA1为例进一步说明命令仲裁器对命令总线以及命令仲裁器负责维护的命令缓存FIFO组的监控方法,包括:
(1)对命令总线的监控。命令仲裁器CA1每个时钟周期对水平总线组300中命令有效标志进行检测,如果命令有效标志有效,则将命令总线中的ID信息与仲裁器CA1的ID进行比较。如果匹配,则表明当前命令的目的地是仲裁器CA1负责维护的资源目标214,命令仲裁器CA1将命令存入缓存FIFO组314B中。
(2)对命令缓存FIFO组的监控。命令仲裁器CA1对命令缓存FIFO组314B中每一个FIFO的空满标志位进行检测。在接收命令阶段,命令仲裁器CA1对每一个FIFO的满标志位进行检测,当某一个FIFO为满时,命令仲裁器将拒绝接收此FIFO负责维护的命令总线中的命令,因此,挂入这条命令总线中的主控端将暂停向相应的目标资源发送命令。在目标资源从FIFO组中取出命令阶段,命令仲裁器CA1对每一个FIFO的空标志位进行检测,对不为空的命令FIFO进行优先级排队,将最高优先级FIFO中的命令取出发送至目标资源214。
图4所示为依照本发明的一个实例的命令传输流程,包括:
步骤301:共享资源的命令仲裁器对命令总线以及本命令仲裁器负责维护的命令缓存FIFO组进行监控,当命令总线上有命令发出时,跳转到步骤303;当上一条命令从命令缓存FIFO中取出并完成发送时,跳转到步骤307;
步骤303:命令仲裁器对命令总线上的数据进行实时监控,当有命令出现在命令总线上时判断该命令是否是发往本仲裁器对应的资源目标,如果是则跳转到步骤305,否则继续监控;
步骤305:命令仲裁器控制对应的缓存FIFO接收命令;
步骤307:命令仲裁器对命令缓存FIFO组进行监控,若有FIFO不为空,则跳转到步骤309,否则继续监控;
步骤309:命令仲裁器筛选出不为空的命令FIFO,并控制多路复用器选通当前具有最高优先级FIFO的输出线路,将命令取出发送到资源目标。
需要注意的是,根据本发明采用分布式仲裁技术的特点,每一个共享资源对应的命令仲裁器都会并行执行上述步骤。此外,命令存入缓存FIFO与缓存命令发送往资源目标是相互独立的,因此这两个过程也是并行执行的,正如图4中所显示的那样。
下面以包处理单元202A发送访问SRAM单元212的命令为例进行说明:
(1)包处理单元202A发起事务请求,即将命令发送到命令总线300A。
(2)SRAM单元212对应的命令仲裁器316A监测到命令总线中有访问本单元的命令,因此控制命令总线300A上的命令存入命令缓存FIFO组314A中对应FIFO中。
(3)命令仲裁器316A监测到命令缓存FIFO组314A不全为空,判断当前具有最高优先级的命令FIFO,并控制多路复用器312A选通命令总线300A对应的缓存FIFO,将命令发送到SRAM单元212。
在一个实施例中,水平总线组中总线的数量等于该体系结构中包处理单元的数量,交叉节点数量取决于水平总线与共享资源的数量。因此本发明不限制总线组中总线数量以及对应的多路复用器,命令缓存FIFO的数量。例如在本实例的说明图中,网络处理器体系结构包括四个包处理单元,从而命令总线包括四条总线;该体系结构中包括四个共享资源,从而包括四个对应的多路复用器,四组命令缓存FIFO以及四个轻型命令仲裁器。
实施例2
根据一个实施例,图5显示了写总线的细节。写总线包括用于数据传输的写数据总线400A、400B、400C和400D,以及用于传输标识信息的写ID总线402A、402B、402C和402D。正如图5所显示的那样,每一个共享资源固定地连接到一条写ID总线上,每一个主控端通过一个ID多路复用器耦合到水平的写ID总线上。所述用于支持交叉开关的ID多路复用器依次为412A、412B、412C以及412D。每一个多路复用器通过一个轻型的写仲载器(WA)进行控制,写仲裁器监测写ID总线中的信息,对访问本主控端的请求进行响应,这些仲裁器依次为422A、422B、422C以及422D。
在图5说明的实施例中,数据的写入是经由写数据总线传输完成的,每一个主控端作为数据的提供者,固定地连接到一条写数据总线上,而每一个共享资源通过与一个数据多路复用器耦合到写数据总线上。所述用于支持交叉开关的数据多路复用器包括414A、414B、414C以及414D。此外,每一个数据多路复用器通过一个ID仲裁器进行控制,ID仲裁器记录共享资源发起数据传输请求时所发出的ID信息,并在数据写入时控制多路复用器选通相应写数据总线,从而完成数据写入。所述ID仲裁器依次为424A、424B、424C以及424D。
图6所示为依照本发明的一个实例展示了写总线上写仲裁器与ID仲裁器协调工作完成写数据的传输流程,包括:
步骤401:共享资源在处理一个事务时,可能需要包处理单元提供相关数据,此时共享资源发起写数据请求,并跳转到步骤403;
步骤403:该共享资源的ID仲裁器记录下ID信息,并跳转到步骤405;
步骤405:各包处理单元对应的写仲裁器对写ID总线中的信息进行监控,当检测到写ID总线上有访问本单元的请求时,跳转到步骤407,否则继续进行监控;
步骤407:写仲裁器控制多路复用器选通对应的写ID总线;
步骤409:包处理单元接收到访问本单元的ID信息后,准备相应数据并发送到写数据总线上;
步骤411:ID仲裁器根据资源目标发起写数据请求时所记录的ID信息控制多路复用器选通相应写数据总线,完成数据传输。
需要注意的是,根据本发明采用分布式仲裁技术的特点,每一个共享资源对应的ID仲裁器只有在本单元发起写数据操作时才会记录相应ID信息,各ID仲裁器是相互独立工作的。同理,每一个主控端的写仲裁器并行独立的检测写ID总线上的信息。
下面以DRAM单元214在处理事务时需要包处理单元202C对其写入数据为例进行说明:
(1)DRAM单元214在写ID总线402B发出写ID信息。
(2)DRAM单元214对应的ID仲裁器424B记录相应ID信息,同时包处理单元202C对应的写仲裁器422C检测到写ID总线上有访问本单元的请求,因此控制多路复用器412C选通写ID总线402B。
(3)包处理单元202C接收到访问本单元的ID信息,并将对应的数据发往写数据总线400C上。
(4)DRAM单元214对应的ID仲裁器424B控制多路复用器414B选通写数据总线400C,数据成功写入DRAM单元。
实施例3
根据一个实施例,图7显示了读总线的细节。读总线包括用于数据传输的读数据总线500A、500B、500C和500D,以及传输标识信息的读ID总线502A、502B、502C以及502D。与图5显示的写ID总线相似,每一个共享资源固定地连接到一条读ID总线上。不同之处在于,在读数据总线中,每一个共享资源固定地连接到一条读数据总线上,而主控端通过一个数据多路复用器耦合到读数据总线上。所述用于支持交叉开关的读数据多路复用器包括512A、512B、512C、512D。与写总线另一个不同之处在于,为了解决多个共享资源在同一时间节点上对同一个主控端返回数据而引起的访问竞争问题,本实施例还在每一个交叉开关节点上提供节点缓存,即为每一个多路复用器提供一组数据缓存FIFO,每一组缓存FIFO包括四个相互独立的FIFO,每一个FIFO负责维护读数据总线中一条总线上数据。所述数据缓存FIFO组包括514A、514B、514C、514D。根据本发明采用分布式的仲裁技术的特点,每一个数据多路复用器和对应的数据缓存FIFO组通过一个轻型的读仲裁器(RA)进行监测和控制。每一个读仲裁器对读总线中的数据进行监测,将返回本单元的数据放入对应的命令缓存FIFO中,并添加相应的ID信息(如地址信息等),同时控制数据多路复用器选通某一线路,将对应FIFO中的数据发送到包处理单元。所述轻型读仲裁器包括522A、522B、522C、522D。
图8所示为依照本发明的一个实例展示了读数据总线上数据传输的流程,包括:
步骤501:包处理单元所对应的读仲裁对读ID总线上的信息以及各自数据缓存FIFO组进行监控,当读ID总线上有ID信息发出时,跳转到步骤503;当上一个数据从数据缓存FIFO中取出并完成发送时,跳转到步骤507;
步骤503:读仲裁器对读ID总线上的信息进行实时监控,判断请求是否是发往本仲裁器对应的包处理单元,如果是则跳转到步骤505,否则继续监控;
步骤505:读仲裁器控制对应的缓存FIFO接收来自相应读数据总线上的数据,并添加相应的ID信息;
步骤507:读仲裁器对数据缓存FIFO组进行监控,若有FIFO不为空,则跳转到步骤509,否则继续监控;
步骤509:读仲裁器筛选出不为空的FIFO,并控制多路复用器选通当前具有最高优先级FIFO的输出线路,将数据取出发送到包处理单元。
需要注意的是,根据本发明采用分布式仲裁技术的特点,每一个包处理单元的读仲裁器都会并行执行上述步骤。此外,数据存入缓存FIFO与缓存数据发送往资源目标是相互独立的,因此这两个过程也是并行执行的,正如图8中所显示的那样。
下面以SRAM单元212在处理事务时需要向包处理单元202B返回数据为例进行说明:
(1)SRAM单元212在读ID总线502A发出ID信息,并将数据发送到读数据总线500A上。
(2)包处理单元202B对应的读仲裁器522B检测到读ID总线502A上有访问本单元的请求,因此控制读数据总线500A上的数据存入的数据缓存FIFO组514B中对应的FIFO中,同时添加必要的ID信息。
(3)读仲裁器522B检测数据缓存FIFO组514B中的FIFO不全为空,判断当前具有最高优先级的数据缓存FIFO,并控制多路复用器512B选通读数据总线500A对应的缓存FIFO,将数据发送到包处理单元。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (3)

1.一种基于交叉开关结构的片上互联方法,其特征在于,处理元件与共享资源间提供多组并行总线以提高数据交互的并行性;命令总线与数据总线分离;为每个资源目标的数据读取和数据写入提供单独的总线,这些总线分别称为读总线和写总线;其中读总线包括读数据总线和读ID总线;写总线包括写数据总线和写ID总线;读ID总线和写ID总线作为数据读取和写入的标识信息配合读数据总线和写数据总线完成包处理单元与共享资源之间的数据传输;为命令总线、读总线以及写总线分别提供一组轻型仲裁器;在命令总线中,为每一个共享资源提供一组命令缓存FIFO,用于缓存命令总线中发往共享资源的命令;在命令总线中,为每一个共享资源提供一个独立的命令仲裁器,用于维护命令缓存FIFO组;在写总线中,为每一个处理元件提供一个独立的轻型写仲裁器,用于监测写ID总线中的ID信息;同时为每一个共享资源提供一个独立的ID仲裁器,用于记录共享资源发起数据传输请求时所发出的ID信息,并控制多路复用器选通相应线路;在读总线中,为每一个处理元件提供一组相互独立的数据缓存FIFO,用于缓存发往本单元的数据;在读总线中,为每一个处理元件提供一个独立的读仲裁器,用于维护数据缓存FIFO;
命令总线的命令传输流程包括以下步骤:
步骤301:共享资源的命令仲裁器对命令总线以及本命令仲裁器负责维护的命令缓存FIFO组进行监控,当命令总线上有命令发出时,跳转到步骤303;当上一条命令从命令缓存FIFO中取出并完成发送时,跳转到步骤307;
步骤303:命令仲裁器对命令总线上的数据进行实时监控,当有命令出现在命令总线上时判断该命令是否是发往本仲裁器对应的资源目标,如果是则跳转到步骤305,否则继续监控;
步骤305:命令仲裁器控制对应的缓存FIFO接收命令;
步骤307:命令仲裁器对命令缓存FIFO组进行监控,若有FIFO不为空,则跳转到步骤309,否则继续监控;
步骤309:命令仲裁器筛选出不为空的命令FIFO,并控制多路复用器选通当前具有最高优先级FIFO的输出线路,将命令取出发送到资源目标。
2.根据权利要求1所述的基于交叉开关结构的片上互联方法,其特征在于,写总线上数据传输的流程包括以下步骤:
步骤401:共享资源在处理一个事务时,可能需要包处理单元提供相关数据,此时共享资源发起写数据请求,并跳转到步骤403;
步骤403:该共享资源的ID仲裁器记录下ID信息,并跳转到步骤405;
步骤405:各包处理单元对应的写仲裁器对写ID总线中的信息进行监控,当检测到写ID总线上有访问本单元的请求时,跳转到步骤407,否则继续进行监控;
步骤407:写仲裁器控制多路复用器选通对应的写ID总线;
步骤409:包处理单元接收到访问本单元的ID信息后,准备相应数据并发送到写数据总线上;
步骤411:ID仲裁器根据资源目标发起写数据请求时所记录的ID信息控制多路复用器选通相应写数据总线,完成数据传输。
3.根据权利要求1所述的基于交叉开关结构的片上互联方法,其特征在于,读总线上的数据传输流程包括以下步骤:
步骤501:包处理单元所对应的读仲裁器对读ID总线上的信息以及各自数据缓存FIFO组进行监控,当读ID总线上有ID信息发出时,跳转到步骤503;当上一个数据从数据缓存FIFO中取出并完成发送时,跳转到步骤507;
步骤503:读仲裁器对读ID总线上的信息进行实时监控,判断请求是否是发往本仲裁器对应的包处理单元,如果是则跳转到步骤505,否则继续监控;
步骤505:读仲裁器控制对应的缓存FIFO接收来自相应读数据总线上的数据,并添加相应的ID信息;
步骤507:读仲裁器对数据缓存FIFO组进行监控,若有FIFO不为空,则跳转到步骤509,否则继续监控;
步骤509:读仲裁器筛选出不为空的FIFO,并控制多路复用器选通当前具有最高优先级FIFO的输出线路,将数据取出发送到包处理单元。
CN 201110210017 2011-07-26 2011-07-26 一种基于交叉开关结构的片上互联方法 Expired - Fee Related CN102289421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110210017 CN102289421B (zh) 2011-07-26 2011-07-26 一种基于交叉开关结构的片上互联方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110210017 CN102289421B (zh) 2011-07-26 2011-07-26 一种基于交叉开关结构的片上互联方法

Publications (2)

Publication Number Publication Date
CN102289421A CN102289421A (zh) 2011-12-21
CN102289421B true CN102289421B (zh) 2013-12-18

Family

ID=45335862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110210017 Expired - Fee Related CN102289421B (zh) 2011-07-26 2011-07-26 一种基于交叉开关结构的片上互联方法

Country Status (1)

Country Link
CN (1) CN102289421B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912492B (zh) * 2016-04-01 2019-05-14 西北工业大学 Axi互联总线的扩展方法
CN109086228B (zh) * 2018-06-26 2022-03-29 深圳市安信智控科技有限公司 具有多个独立访问通道的高速存储器芯片
CN111309653B (zh) * 2018-12-12 2021-08-17 北京兆易创新科技股份有限公司 一种数据总线以及读取数据和写入数据的方法
CN113986813B (zh) * 2021-09-18 2023-08-04 苏州浪潮智能科技有限公司 片上网络结构构建及使用的方法、系统、设备和存储介质
CN116860185B (zh) * 2023-09-05 2024-06-07 深圳比特微电子科技有限公司 Sram阵列的数据访问装置、系统、方法、设备、芯片和介质
CN117951070B (zh) * 2024-03-26 2024-07-02 山东云海国创云计算装备产业创新中心有限公司 交叉开关模块、多核互联芯片、事务处理方法及产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816012A (zh) * 2004-11-23 2006-08-09 英特尔公司 打开多线程、多重处理单片系统网络处理器单元的可升级的、高性能全局互联方案

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1816012A (zh) * 2004-11-23 2006-08-09 英特尔公司 打开多线程、多重处理单片系统网络处理器单元的可升级的、高性能全局互联方案

Also Published As

Publication number Publication date
CN102289421A (zh) 2011-12-21

Similar Documents

Publication Publication Date Title
CN102289421B (zh) 一种基于交叉开关结构的片上互联方法
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
US8200882B2 (en) Memory system, access control method therefor, and computer program
JP4124491B2 (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
TWI326828B (en) A dma controller with multiple intra-channel software request support
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
US20090106468A1 (en) Hierarchical Bus Structure and Memory Access Protocol for Multiprocessor Systems
US20030210574A1 (en) Scratchpad memory
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
US7613849B2 (en) Integrated circuit and method for transaction abortion
CN110083461A (zh) 一种基于fpga的多任务处理系统及方法
CN103221934A (zh) 用于处理集群的控制节点
CN102804158A (zh) 总线架构中的请求和数据处理
JP2020109638A (ja) メモリ制御装置、メモリ制御方法及び画像形成装置
CN112882986A (zh) 一种带有超节点以及超节点控制器的众核处理器
US20140310444A1 (en) Dynamic balancing of bus bandwidth across multiple routes
CN109145397B (zh) 一种支持并行流水访问的外存仲裁系统
US20040230717A1 (en) Processing device
US8301816B2 (en) Memory access controller, system, and method
JP2001067298A (ja) ハブ及びポート・アーキテクチャーを有する転送制御装置における低速ポートについての障害を防止するための書込み要求キューの使用
CN112783663B (zh) 一种可扩展的栅栏同步方法及设备
JP3312361B2 (ja) 分散共有メモリシステム
JPH0410050A (ja) 計算機システム
JP3119155B2 (ja) バスアクセス方式
US20050160206A1 (en) Method and system for calculating dynamic burst length

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131218

Termination date: 20200726

CF01 Termination of patent right due to non-payment of annual fee