首页> 中国专利> 非对称式处理的多核心系统与其网络设备

非对称式处理的多核心系统与其网络设备

摘要

本发明的实施例提供一种非对称式处理的多核心系统,其可用在网络设备中。此非对称式处理的多核心系统内的次要处理核心会辅助处理其主要处理核心的工作,进而让整个网络设备的整体效能提升,且使其运作更为流畅。不同于传统的处理方法,此非对称式处理的多核心系统不用大量地搬移或复制经处理后的包的数据,而能节省大量的存储器频宽,以及减少功率消耗。

著录项

  • 公开/公告号CN103870318A

    专利类型发明专利

  • 公开/公告日2014-06-18

    原文格式PDF

  • 申请/专利权人 正文科技股份有限公司;

    申请/专利号CN201210538742.0

  • 发明设计人 邬培麟;

    申请日2012-12-11

  • 分类号G06F9/46(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人臧建明

  • 地址 中国台湾新竹县湖口乡新竹工业区中华路15之1号

  • 入库时间 2024-02-20 00:20:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-24

    授权

    授权

  • 2014-07-16

    实质审查的生效 IPC(主分类):G06F9/46 申请日:20121211

    实质审查的生效

  • 2014-06-18

    公开

    公开

说明书

技术领域

本发明是有关于一种非对称式处理的多核心系统,且特别是有关于 一种不需要大量复制或搬移存储器所储存的数据的非对称式处理的多 核心系统与具有此非对称式处理的多核心系统的网络设备。

背景技术

随着制程技术与芯片设计技术的发达,目前有很多的网络设备都会 具有多个处理核心,以快速地处理来所要传送或接收的多个包。一般来 说,最常见的就是具有不对称处理的双核心系统的网络设备。所谓的不 对称处理是指两个或多个处理核心的处理能力不同,其中一个处理核心 可能具有较快的处理速度与较大的功率消耗,另一个处理核心可能具有 较慢的处理速度与较低的功率消耗。

在具有不对称处理的双核心系统的网络设备下,不同的处理核心会 执行各自的操作系统,因此要让两个处理核心一起协同运作,并达到最 大的网络效能,就必须要规划完善的同步技术,让两个处理核心可以各 司其职。

请参照图1,图1是传统不对称处理的双核心系统的方块图。不对 称处理的双核心系统10包括了主要处理核心10_Core0、次要处理核心 10_Core1、暂存器10_Reg、存储器10_Mem、第一外围装置10_Ph0与 第二外围装置10_Ph1。第一外围装置10_Ph0与第二外围装置10_Ph1 在此例子中皆为以太网媒体接取控制器(包括网络层、媒体接取层与实体 层),且皆与外部交换构件10_ExSw连接。因此,在这个例子当中,不 对称处理的双核心系统10与外部交换构件10_ExSw可以形成一个网络 设备。除此之外,第一外围装置10_Ph0与第二外围装置10_Ph1也有可 能是其他类型的外围,例如通用串行总线(USB)外围装置。

主要处理核心10_Core0与次要处理核心10_Core1共用暂存器 10_Reg与存储器10_Mem,且存储器10_Mem被切分为三个存储区域 10_Mem0、10_MemS与10_Mem1,其中存储区域10_MemS为主要处理 核心10_Core0与次要处理核心10_Core1所共用,存储区域10_Mem0 与10_Mem1则分别为主要处理核心10_Core0与次要处理核心10_Core1 所专用。

主要处理核心10_Core0与次要处理核心10_Core1的处理能力不同, 且分别执行不同的操作系统。次要处理核心10_Core1会分担主要处理核 心10_Core0的网络处理工作,以达到最大的网络效能。

一般操作系统都会具有两个位置空间,其中一个为用户空间,另一 个为核心空间。用户空间用以给使用者存取,使用者程序可以在此用户 空间内毫无顾虑地执行。核心空间用以让操作系统执行使用与存取,以 提供使用者程序的执行环境。主要处理核心10_Core0的操作系统例如是 Windows操作系统,此Windows操作系统例如具有核心空间10_KS0与 用户空间10_US0。同样地,次要处理核心10_Core1的操作系统例如是 Linux操作系统,此Linux操作系统例如具有核心空间10_KS1与用户空 间10_US1。

传统上,主要处理核心10_Core0与次要处理核心10_Core1一起协 同运作的处理方法约有两种类型,以下将分别通过图2A与2B来分别说 明。

请同时参照图1与图2A,图2A是双核心系统的协同运作的传统处 理方法的流程图。首先,在步骤S20,外部交换构件10_ExSw将接收到 的包通过第一外围装置10_Ph0传送给主要处理核心10_Core0进行第一 处理。接着,在步骤S21,主要处理核心10_Core0对包进行第一处理。 之后,在步骤S22,主要处理核心10_Core0通过第一外围装置10_Ph0、 外部交换构件10_ExSw与第二外围装置10_Ph1将包传送给次要处理核 心10_Core1进行第二处理。

之后,在步骤S23,次要处理核心10_Core1对包进行第二处理。然 后,在步骤S24,次要处理核心10_Core1将包通过第二外围装置10_Ph1、 外部交换构件10_ExSw与第一外围装置10_Ph0传送给主要处理核心 10_Core0进行最后处理。最后,在步骤S25,主要处理核心10_Core0 对包进行最后处理。

举例来说,主要处理核心10_Core0可以负责决定包路由,而次要处 理核心10_Core1可以负责包数量统计或包类型分析。主要处理核心 10_Core0收到包后,可以先初步地对包的目的地址进行分析(如同上述 的第一处理),次要处理核心10_Core1可以统计包数量或分析包类型, 最后,主要处理核心10_Core0便可以根据包的目的地址与包类型决定路 由(如同上述的最后处理)。

请同时参照图1与图2B,图2B是双核心系统的协同运作的另一传 统处理方法的流程图。首先,在步骤S30,外部交换构件10_ExSw将接 收到的包通过第一外围装置10_Ph0传送给主要处理核心10_Core0进行 第一处理。接着,在步骤S31,主要处理核心10_Core0对包进行第一处 理,并将包储存在存储区域10_MemS中。之后,在步骤S32,主要处理 核心10_Core0通过沟通接口(在图1未示出)告知次要处理核心10_Core1 对包进行第二处理。

然后,在步骤S33,次要处理核心10_Core1自存储区域10_MemS 读取包。之后,在步骤S34,次要处理核心10_Core1对包进行第二处理, 并将包储存在存储区域10_MemS中。接着,在步骤S35,次要处理核心 10_Core1通过沟通接口告知主要处理核心10_Core0对包进行最后处理。 然后,在步骤S36,主要处理核心10_Core0自存储区域10_MemS读取 包。最后,在步骤S37,主要处理核心10_Core0对包进行最后处理。

举例来说,主要处理核心10_Core0可以负责决定包路由,而次要处 理核心10_Core1可以负责包数量统计或包类型分析。主要处理核心 10_Core0收到包后,可以先初步地对包的目的地址进行分析(如同上述 的第一处理),次要处理核心10_Core1可以统计包数量或分析包类型(如 同上述的第二处理),最后,主要处理核心10_Core0便可以根据包的目 的地址与包类型决定路由(如同上述的最后处理)。

一般来说,大部分网际网络应用的程序都执行在用户空间内,因此 当主要处理核心10_Core0每次要对包进行第一处理或最后处理时,都必 需把储存在核心空间10_KS0内的包通过存储器复制的方式搬移或复制 至用户空间10_US0内。同样地,当次要处理核心10_Core1每次要对包 进行第二处理时,也都必需把储存在核心空间10_KS1内的包通过存储 器复制的方式搬移或复制至用户空间10_US1内。

对于图2A的处理方法而言,储存在用户空间10_US0内的包的存储 区域是在主要处理核心10_Core0所专用的存储区域10_Mem0中,而当 次要处理核心10_Core1要处理包时,储存在存储区域10_Mem0内的包 会先被复制或搬移至核心空间10_KS1后,才会被复制或搬移至用户空 间10_US1内,以使得次要处理核心10_Core1能够对包进行第二处理。

对于图2B的处理方法而言,储存在用户空间10_US0内的包的存储 区域是在共用的存储区域10_MemS中,而当次要处理核心10_Core1要 处理包时,存储区域10_MemS内的包会先被复制或搬移至核心空间 10_KS1后,才会被复制或搬移至用户空间10_US1内,以使得次要处理 核心10_Core1能够对包进行第二处理。

图2A的处理方法需要通过第一外围装置10_Ph0、外部交换构件 10_ExSw与第二外围装置10_Ph1转送包,其效率与效能显然地会比图 2B的处理方法来得差。虽然,图2B的处理方法的效率较图2A的处理 方法来得佳,但无论如何,图2A与图2B的处理方法都需要大量地搬移 或复制包的数据,而浪费了存储器10_Mem的频宽。除此之外,不断地 通过主要或次要处理核心10_Core0、10_Core1来搬移存储器10_Mem的 数据也会造成较多的功率消耗。

发明内容

本发明的实施例提供一种非对称式处理的多核心系统,所述非对称 式处理的多核心系统包括主要处理核心、次要处理核心、暂存器、存储 器、第一外围装置与第二外围装置。主要处理核心具有第一操作系统, 所述第一操作系统包括第一核心空间与第一用户空间,所述第一核心空 间包括以太网驱动器模块与接收端阵列管理模块,所述第一用户空间包 括第一控制管理模块。次要处理核心具有第二操作系统,所述第二操作 系统包括第二核心空间与第二用户空间,所述第二用户空间包括第二控 制管理模块。暂存器为所述主要处理核心与所述次要处理核心所共用。 存储器具有所述主要处理核心所能使用的第一存储区域。第一外围装置 连接在所述主要处理核心与外部交换构件。第二外围装置连接在所述次 要处理核心与所述外部交换构件。所述以太网驱动器模块透通过所述第 一外围装置接收来自于所述外部交换构件的包,所述包会被所述接收端 阵列管理模块储存在所述第一存储区域;其中所述第二控制管理模块根 据一存储器绝对位置直接读取所述第一存储区域所储存的包的数据,并 加以处理,以产生处理结果,所述第二控制管理模块会将所述处理结果 告知所述接收端阵列管理模块。所述接收端阵列管理模块再根据所述处 理结果,对所述包进行处理。

本发明的实施例提供一种网络设备,其包括非对称式处理的多核心 系统与外部交换构件。所述非对称式处理的多核心系统包括主要处理核 心、次要处理核心、暂存器、存储器、第一外围装置与第二外围装置。 主要处理核心具有第一操作系统,所述第一操作系统包括第一核心空间 与第一用户空间,所述第一核心空间包括以太网驱动器模块与接收端阵 列管理模块,所述第一用户空间包括第一控制管理模块。次要处理核心 具有第二操作系统,所述第二操作系统包括第二核心空间与第二用户空 间,所述第二用户空间包括第二控制管理模块。暂存器为所述主要处理 核心与所述次要处理核心所共用。存储器具有所述主要处理核心所能使 用的第一存储区域。第一外围装置连接在所述主要处理核心与外部交换 构件。第二外围装置连接在所述次要处理核心与所述外部交换构件。所 述以太网驱动器模块通过所述第一外围装置接收来自于所述外部交换 构件的包,所述包会被所述接收端阵列管理模块储存在所述第一存储区 域;其中所述第二控制管理模块根据一存储器绝对位置直接读取所述第 一存储区域所储存的包的数据,并加以处理,以产生处理结果,所述第 二控制管理模块会将所述处理结果告知所述接收端阵列管理模块。所述 接收端阵列管理模块再根据所述处理结果,对所述包进行处理。

基于上述,本发明的实施例提供一种非对称式处理的多核心系统, 其可用在网络设备中。此非对称式处理的多核心系统内的次要处理核心 会辅助处理其主要处理核心的工作,进而让整个网络设备的整体效能提 升,且使其运作更为流畅。不同于传统的处理方法,此非对称式处理的 多核心系统不用大量地搬移或复制经处理后的包的数据,而能节省大量 的存储器频宽,以及减少功率消耗。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并 配合附图作详细说明如下。

附图说明

图1是传统不对称处理的双核心系统的方块图;

图2A是双核心系统的协同运作的传统处理方法的流程图;

图2B是双核心系统的协同运作的另一传统处理方法的流程图;

图3是本发明的实施例所提供的非对称式处理的双核心系统的方块 图;

图4是本发明的另一实施例所提供的非对称式处理的双核心系统的 方块图;

图5是本发明的实施例所提供的双核心系统的协同运作的处理方法 的流程图;

图6A是根据本发明的实施例所提供的主要处理核心与次要处理核 心的沟通与处理包的示意图;

图6B是根据本发明的实施例所提供的存储器储存阵列方式的示意 图;

图7是本发明的实施例所提供的非对称式处理的多核心系统的方块 图;

图8是本发明的另一实施例所提供的非对称式处理的多核心系统的 方块图。

附图标记说明:

10、30、50:非对称式处理的双核心系统;

70、80:非对称式处理的多核心系统;

10_Core0、30_Core0、30_Core3:主要处理核心;

10_Core1、30_Core1、30_Core2:次要处理核心;

10_Reg、30_Reg:暂存器;

10_Mem、30_Mem、50_Mem、70_Mem、80_Mem:存储器;

10_Mem0、10_Mem1、10_MemS、30_Mem0、30_Mem1、30_MemS、 50_Mem0、50_Mem1、70_Mem0~70_Mem2、70_MemS、80_Mem0~ 80_Mem3、80_MemS:存储区域;

10_Ph0、30_Ph0:第一外围装置;

10_Ph1、30_Ph1:第二外围装置;

30_Ph2:第三外围装置;

30_Ph3:第四外围装置;

10_ExSw、30_ExSw:外部交换构件;

S20~S25、S30~S37、S40~S46:步骤流程;

30_US0、30_US1:用户空间;

30_KS0、30_KS1:核心空间;

60_CM0、60_CM1:控制管理模块;

60_App:应用程序模块;

60_Noti:指示管理模块;

60_QM:阵列管理模块;

60_OS_Rx:操作系统接收功能模块;

60_PacFree:包释放模块;

60_IPC0、60_IPC1:沟通指示代理模块;

60_RxQM:接收端阵列管理模块;

60_EDri:以太网驱动器模块。

具体实施方式

请参照图3,图3是本发明的实施例所提供的非对称式处理的双核 心系统的方块图。不对称处理的双核心系统30包括了主要处理核心 30_Core0、次要处理核心30_Core1、暂存器30_Reg、存储器30_Mem、 第一外围装置30_Ph0与第二外围装置30_Ph1。第一外围装置30_Ph0 与第二外围装置30_Ph1在此例子中皆为以太网媒体接取控制器(包括网 络层、媒体接取层与实体层),且皆与外部交换构件30_ExSw连接。因 此,在这个例子当中,不对称处理的双核心系统30与外部交换构件 30_ExSw可以形成一个网络设备。除此之外,第一外围装置30_Ph0与 第二外围装置30_Ph1也有可能是其他类型的外围,例如通用串行总线 (USB)外围装置。

图3的双核心系统30与图1的双核心系统10的差异仅在于,图3 次要处理核心30_Core1具有对存储器30_Mem直接存取的功能,亦即 一种直接存储器映射技术被应用在次要处理核心30_Core1中,然而,图 1的次要处理核心10_Core1则无此功能,其依然必须通过存储器复制的 方法将包的数据搬移或复制至用户空间10_US1后,次要处理核心 10_Core1才能对储存在用户空间10_US1内的包进行第二处理。

接着,请参照图4,图4是本发明的另一实施例所提供的非对称式 处理的双核心系统的方块图。图4与图3不同处在于,图3的双核心系 统30的存储器30_Mem具有共用的存储区域30_MemS,然而,图4的 双核心系统50的存储器50_Mem却不具有共用的存储区域。次要处理 核心30_Core1一样具有直接存取存储器50_Mem的功能,只是,在这 个实施例中,次要处理核心30_Core1是根据存储器绝对位置存取存储区 域50_Mem0内经第一处理后的包的数据。在不考虑可能会影响到主要 处理核心30_Core0的操作系统内核心空间30_KS0的数据的情况下,图 4的双核心系统50的效能表现会近似于图3的双核心系统的表现。

请参照图5,图5是本发明的实施例所提供的双核心系统的协同运 作的处理方法的流程图。首先,在步骤S40,外部交换构件30_ExSw将 接收到的包通过第一外围装置30_Ph0传送给主要处理核心30_Core0进 行第一处理。此时,主要处理核心30_Core0的操作系统的核心空间 30_KS0内的包的数据会被送至其用户空间30_US0,且更进一步地说, 包的数据可能会储存在图3的存储区域30_MemS(或图4的存储区域 50_Mem0)。

接着,在步骤S41,主要处理核心30_Core0对包进行第一处理。之 后在步骤S42,处理核心30_Core0判断是否可以让次要处理核心 30_Core1对包进行第二处理,若可以,则主要处理核心30_Core0通过 沟通接口(在图3未示出)告知次要处理核心30_Core1对包进行第二处 理。

在步骤S43中,次要处理核心30_Core1自存储区域30_MemS(或图 4的存储区域50_Mem0)直接读取包的数据,并对包的数据进行第二处 理。更详细地说,存储区域30_MemS内的包的数据并不会被复制或搬 移至次要处理核心30_Core1的操作系统的核心空间30_KS1,且核心空 间30_KS1并没有包的数据可以被复制或搬移至次要处理核心30_Core1 的操作系统的用户空间30_US1。相反地,次要处理核心30_Core1根据 存储器绝对位置来读取存储区域30_MemS(或图4的存储区域50_Mem0) 内的包的数据,并且将存储区域30_MemS(或图4的存储区域50_Mem0) 内用来储存包的数据的储存空间当作用户空间30_US1内的储存空间。 换言之,次要处理核心30_Core1可以直接读取存储器30_Mem(或图4 的存储器50_Mem)所储存的所有数据。

接着,在步骤S44,次要处理核心30_Core1对经第一处理后的包进 行第二处理,并通过沟通接口告知主要处理核心对包30_Core0进行最后 处理。之后,在步骤S45,主要处理核心30_Core0自存储区域30_MemS 读取经第一处理后的包的数据。更详细地说,存储区域30_MemS(或图4 的存储区域50_Mem0)经第一处理后的包的数据会先被复制或搬移至核 心空间30_KS0后,才会被复制或搬移至用户空间30_US0。最后,在步 骤S46中,主要处理核心30_Core0对经第一处理后的包进行最后处理。

另外,要说明的是,在其他实施例中,主要处理核心30_Core0在步 骤S41中,可能不会对包进行第一处理,且主要处理核心30_Core0在 步骤S41中,也可能不会对包进行最后处理。换言的,在其他实施例中, 主要处理核心30_Core0可能仅负责传送包给外部交换构件30_ExSw与 接收来自于外部交换构件30_ExSw的包,而次要处理核心30_Core1用 来负责对包进行处理。

请参照图6A与图6B,图6A是根据本发明的实施例所提供的主要 处理核心与次要处理核心的沟通与处理包的示意图,图6B是根据本发 明的实施例所提供的存储器储存阵列方式的示意图。主要处理核心 30_Core0的操作系统例如是Windows操作系统,此Windows操作系统 具有用户空间30_US0与核心空间30_KS0。次要处理核心30_Core1的 操作系统例如是Linux操作系统,此Linux操作系统具有用户空间 30_US1与核心空间30_KS1。双核心系统30(或图4的双核心系统40) 包括控制管理模块60_CM0、60_CM1、操作系统接收功能模块 60_OS_Rx、包释放模块60_PacFree、沟通指示代理模块60_IPC0、接收 端阵列管理模块60_RxQM与以太网驱动器模块60_EDri与沟通指示代 理模块60_IPC1等基于软件程序码所实现的模块。

控制管理模块60_CM0为用户空间30_US0所执行的程序,且操作 系统接收功能模块60_OS_Rx、包释放模块60_PacFree、沟通指示代理 模块60_IPC0、接收端阵列管理模块60_RxQM与以太网驱动器模块 60_EDri皆为核心空间30_KS0所执行的程序。控制管理模块60_CM1 的应用程序模块60_App、指示(notification)管理模块60_Noti与阵列管 理模块60_QM皆为用户空间30_US1所执行的程序,且沟通指示代理模 块60_IPC1为核心空间30_KS1所执行的程序。

图6A的例子适用于图3或图4的非对称式处理的双核心系统,因 此图6A的存储器可以是存储器30_Mem或50_Mem。在图6A中,双核 心系统30(或图4的双核心系统50)还包括了位于接收端阵列管理模块 60_RxQM与以太网驱动器模块60_EDri之间的包过滤模块60_Filter。然 而,此处的包过滤模块60_Filter并非为必要的模块。

首先,以太网驱动器模块60_EDri会通过第一外围装置30_Ph0自 外部交换构件30_ExSw接收来自于网络的包。包过滤模块60_Filter会 分析接收的包,以决定要将包送至接收端阵列管理模块60_RxQM,或者 送至操作系统接收功能模块60_OS_Rx。若包并不需要次要处理单元 30_Core1进行处理,则包会被包过滤模块60_Filter送至操作系统接收功 能模块60_OS_Rx。若包需要次要处理单元30_Core1进行处理,则包会 被包过滤模块60_Filter送至接收端阵列管理模块60_RxQM。

接收端阵列管理模块60_RxQM用以管理存储器30_Mem或50_Mem 内储存所储存的包的数据,将所收到的包,以先进先出(First-In-First-Out, FIFO)的方式存放在包阵列中,并更新阵列标头(QueueHead),且用来储 存包的数据的存储区域实际上是位于主要处理核心30_Core0的核心空 间30_KS0。此处用来储存包的数据的存储区域可能是存储器30_Mem 的存储区域30_MemS或存储器50_Mem的存储区域50_Mem0。

控制管理模块60_CM1的阵列管理模块60_QM使用轮询(Polling) 的方式读取所述阵列,一旦发现阵列标头变动,便知道接收端阵列管理 模块60_RxQM有新的包需要处理,阵列管理模块60_QM便使用存储器 绝对位置对存储器30_Mem或50_Mem来读取包,以让次要处理核心 30_Core1对包进行处理。换句话说,阵列管理模块60_QM并不会对包 的数据在存储器30_Mem或50_Mem内进行复制与搬移,阵列管理模块 60_QM可以直接读取存储器30_Mem或50_Mem内的所有数据,而不会 有大量数据在存储器30_Mem或50_Mem内复制与搬移的情况。

阵列管理模块60_QM在读取完成后,会将处理结果写在阵列的控 制字段中,并更新阵列标尾(QueueTail)。接收端阵列管理模块60_RxQM 可以使用轮询的方式来检查阵列标尾。当接收端阵列管理模块60_RxQM 发现阵列标尾的值变动,便会了解阵列管理模块60_QM有处理完包, 且接收端阵列管理模块60_RxQM可以将处理结果从所述阵列的控制字 段取出。接着,接收端阵列管理模块60_RxQM会根据处理结果,将包 给操作系统接收功能模块60_OS_Rx或包释放模块60_PacFree。本发明 可以利用轮询的方式让主要处理核心30_Core0与次要处理核心 30_Core1得知何时处理包与读取存储器30_Mem或50_Mem的数据。

包释放模块60_PacFree可以根据发出丢弃信息指示第一外围装置 30_Ph1的缓冲存储器将此包的数据丢弃。操作系统接收功能模块 60_OS_Rx根据发出通过信息可以对包进行其他的处理,以让主要处理 核心30_Core0呼叫其他流程,以继续下一阶段的处理或将处理完后的包 发送出去。

一般来说,在有使用轮询且配合图6B的储存阵列方式下,图6A的 沟通指示代理模块60_IPC0、60_IPC1并非必要的模块。上述图6A与图 6B为使用中断通知来达成及时沟通主要处理核心30_Core0以及次要处 理核心30_Core1,以弥补轮询的不足的实施例。因包需要次要处理单元 30_Core1进行处理,因此接收端阵列管理模块60_RxQM会送出发出通 知信息给沟通指示代理模块60_IPC0,以指示沟通指示代理模块60_IPC0 协助进行主要处理核心30_Core0与次要处理核心的30_Core1间的沟通。

沟通指示代理模块60_IPC0会根据发出报告信息发送中断信号,例 如为门铃警示(Doorbell)信号,给次要处理核心30_Core1的沟通指示代 理模块60_IPC1。沟通指示代理模块60_IPC1会根据中断信号产生输出 输入控制信号给控制管理模块60_CM1的指示管理模块60_Noti。

指示管理模块60_Noti在收到来自沟通指示代理模块60_IPC1所传 送的输出输入控制信号后,会指示控制管理模块60_CM1开启阵列管理 模块60_QM,以让阵列管理模块60_QM根据存储器绝对位置对存储器 30_Mem或50_Mem来读取包,并接着让次要处理核心30_Core1对包进 行处理。

当次要处理核心30_Core1对包进行处理后,包的结果会存放在阵列 的控制字段中,并更新阵列标尾,指示管理模块60_Noti会依据应用程 序模块60_App的指示向沟通指示代理模块60_IPC1发出输出输入控制 信号。沟通指示代理模块60_IPC1根据输出输入控制信号产生中断信号 给沟通指示代理模块60_IPC0。沟通指示代理模块60_IPC0根据中断信 号产生发出报告信息给接收端阵列管理模块60_RxQM,以启动接收端阵 列管理模块60_RxQM根据所述处理结果,对所述包进行处理。换言之, 通过接收沟通指示代理模块60_IPC0的发出报告信息,接收端阵列管理 模块60_RxQM可以即时地检查阵列标尾,而解决使用轮询方式所产生 的等待时间的问题。

上述将存储器直接映射技术应用在次要处理核心的概念并非限定 于非对称式处理的双核心系统,换言之,上述的处理方法亦可以应用在 对称式处理的多核心系统。

请参照图7,图7是本发明的实施例所提供的非对称式处理的多核 心系统的方块图。与图3的双核心系统相比,图7的多核心系统70还 多出了次要处理核心30_Core2与第三外围装置30_Ph2。在图7中,存 储器70_Mem被切分为四个存储区域70_Mem0~70_Mem2与70_MemS, 其中存储区域70_Mem0为主要处理核心30_Core0所专用,存储区域 70_Mem1与70_Mem2分别为次要处理核心30_Core1与30_Core2所专 用,且存储区域70_MemS为主要处理核心30_Core0、次要处理核心 30_Core1与30_Core2所共用。

多核心系统70具备两个次要处理核心30_Core1、30_Core2,当其 中一个次要处理核心无法顺利地与主要处理核心30_Core0协同处理时, 另一个次要处理核心可以与主要处理核心30_Core0协同处理,以达到非 对称式处理的多核心系统的最大效能。

图8是本发明的另一实施例所提供的非对称式处理的多核心系统的 方块图。与图7的多核心系统70相比,图8的多核心系统80还多出了 一个主要处理核心30_Core3与第四外围装置30_Ph3,且存储器80_Mem 被切分为五个存储区域80_Mem0~80_Mem3与80_MemS,其中存储区 域80_MemS为主要处理核心30_Core0、30_Core3、次要处理核心 30_Core1与30_Core2所共用,存储区域80_Mem0~80_Mem3分别为主 要处理核心30_Core0、次要处理核心30_Core1、30_Core2与主要处理 核心30_Core3所专用。理论上,非对称式处理的多核心系统80的效能 应该会优于非对称式处理的多核心系统70。

另外,上述实施例所提供的非对称式处理的双核心系统或多核心系 统皆可以与外部交换构件形成一种网络设备,而达到包处理与包传递的 最大效能。此种网络设备可以是手机、笔记型电脑、台式电脑或伺服器 等。

综上所述,本发明的实施例提供一种非对称式处理的多核心系统, 其可用在网络设备中。此非对称式处理的多核心系统内的次要处理核心 会辅助处理其主要处理核心的工作,进而让整个网络设备的整体效能提 升,且使其运作更为流畅。不同于传统的处理方法,此非对称式处理的 多核心系统不用大量地搬移或复制经处理后的包的数据,而能节省大量 的存储器频宽,以及减少功率消耗。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而 非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领 域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术 方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这 些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术 方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号