《一种数据输出方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种数据输出方法及装置.pdf(18页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103761065 A (43)申请公布日 2014.04.30 CN 103761065 A (21)申请号 201410038971.5 (22)申请日 2014.01.27 G06F 5/06(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 冯颖劼 史永杰 (74)专利代理机构 广州三环专利代理有限公司 44202 代理人 郝传鑫 熊永强 (54) 发明名称 一种数据输出方法及装置 (57) 摘要 本发明实施例公开了一种数据输出方法, 包 括 : 根据目标业务的传输速率需求信息确定目。
2、标 输出接口 ; 根据所述确定的目标输出接口的接口 位宽以及共享 FIFO 的位宽确定目标输出接口对 应的至少一个共享 FIFO 作为所述目标输出接口 对应的 FIFO 组 ; 将所述目标业务的共享缓存数据 写入所述确定的FIFO组, 并通过所述FIFO组将共 享缓存数据输出到对应的目标输出接口 ; 通过目 标输出接口对应的串行器将共享缓存数据输出。 相应地, 本发明实施例还公开了一种数据输出装 置。 采用本发明实施例, 可以提高FIFO的利用率。 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书。
3、2页 说明书10页 附图5页 (10)申请公布号 CN 103761065 A CN 103761065 A 1/2 页 2 1. 一种数据输出方法, 其特征在于, 包括 : 根据目标业务的传输速率需求信息确定目标输出接口 ; 根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接口对 应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组 ; 将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享 缓存数据输出到对应的目标输出接口 ; 通过目标输出接口对应的串行器将共享缓存数据输出。 2. 如权利要求 1 所述的方法, 。
4、其特征在于, 若所述根据目标业务的传输速率需求信息 确定了多个目标输出接口 ; 所述根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接 口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组包括 : 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各个目 标输出接口对应的 FIFO 组。 3. 如权利要求 2 所述的方法, 其特征在于, 所述将所述目标业务的共享缓存数据写入 所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口包 括 : 根据确定的各个 FIFO 组数据调度的先后顺序依次。
5、调度共享缓存数据 ; 通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 4. 如权利要求 3 所述的方法, 其特征在于, 所述根据确定的各个 FIFO 组数据调度的先 后顺序依次调度共享缓存数据包括 : 判断当前指向的 FIFO 组是否处于满状态 ; 若所述当前指向的 FIFO 组处于满状态, 则调度下一个 FIFO 组对应的共享缓存数据。 5. 如权利要求 1-4 任一项所述的方法, 其特征在于, 所述通过目标输出接口对应的串 行器将共享缓存数据输出之前, 还包括 : 根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对应关系。 6. 一种数据输出装置, 其特征在于, 。
6、包括 : 输出接口确定模块, 用于根据目标业务的传输速率需求信息确定目标输出接口 ; 共享 FIFO 分配模块, 用于根据所述输出接口确定模块所确定的目标输出接口的接口 位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出 接口对应的 FIFO 组 ; 数据传输模块, 用于将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过 所述 FIFO 组将共享缓存数据输出到对应的目标输出接口, 并通过目标输出接口对应的串 行器将共享缓存数据输出。 7. 如权利要求 6 所述的装置, 其特征在于, 若所述输出接口确定模块确定了多个目标 输出接口 ; 所述共享 。
7、FIFO 分配模块用于 : 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各个目 标输出接口对应的 FIFO 组。 8. 如权利要求 7 所述的装置, 其特征在于, 所述数据传输模块包括 : 权 利 要 求 书 CN 103761065 A 2 2/2 页 3 写口单元, 用于根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存数据 ; 读口单元, 用于通过 FIFO 组将共享缓存数据输出到对应的目标输出接口 ; 数据输出单元, 用于通过目标输出接口对应的串行器将共享缓存数据输出。 9. 如权利要求 8 所述的装置, 其特征在于, 所述写口单元包括 : 判。
8、断子单元, 用于判断当前指向的 FIFO 组是否处于满状态 ; 写口子单元, 用于若所述判断子单元判断当前指向的 FIFO 组处于满状态, 则调度下一 个 FIFO 组对应的共享缓存数据。 10. 如权利要求 6-9 任一项所述的装置, 其特征在于, 还包括 : 设置模块, 用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器 的对应关系。 权 利 要 求 书 CN 103761065 A 3 1/10 页 4 一种数据输出方法及装置 技术领域 0001 本发明涉及计算机技术领域, 尤其涉及一种数据输出方法及装置。 背景技术 0002 随着网络产品对通信芯片集成度以及兼容性要求的不。
9、断提高, 通信芯片的接口数 量以及接口类型 (如 10M/100M/1000M、 GE、 XLGE 以及 Interlaken) 日益增加。通信芯片的 数据发送侧使用一个大容量的共享缓存对输出到各个接口的数据进行统一管理, 再通过串 行器将输出到各个接口的数据进行输出。为了保证片内处理性能, 共享缓存有着较宽的数 据位宽, 因此从共享缓存调度出的数据会形成一定量的 burst, 即数据突发, 为了吸收这些 burst 需要为各个接口分配 FIFO, 即接口缓存。 0003 目前, 主要存在两种 FIFO 分配方法, 第一种, 根据接口分配 FIFO, 即每个接口都独 立对应一个 FIFO, 由。
10、于接口数量大于串行器数量, 因此, 即使是该芯片满宽带运行时, 总存 在某些接口对应的 FIFO 不工作, 其 FIFO 的利用率低 ; 第二种, 根据串行器对接口进行简单 的分组, 将使用同一个串行器的多个接口分配一个 FIFO, 即复用同一个串行器的多个接口 共用一个 FIFO, 因此, FIFO 的位宽必须满足对应的接口组中最大接口位宽, 当组内的接口 存在很大的位宽差异时, 同样, 其 FIFO 的利用率低。 发明内容 0004 本发明实施例提供了一种数据输出方法及装置, 可以提高 FIFO 的利用率。 0005 本发明实施例第一方面提供了一种数据输出方法, 包括 : 0006 根据目。
11、标业务的传输速率需求信息确定目标输出接口 ; 0007 根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接 口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组 ; 0008 将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将 共享缓存数据输出到对应的目标输出接口 ; 0009 通过目标输出接口对应的串行器将共享缓存数据输出。 0010 在第一种可能的实现方式中, 若所述根据目标业务的传输速率需求信息确定了多 个目标输出接口 ; 0011 所述根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标。
12、输 出接口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组包括 : 0012 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各 个目标输出接口对应的 FIFO 组。 0013 结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述将所 述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据 输出到对应的目标输出接口包括 : 0014 根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存数据 ; 说 明 书 CN 103761065 A 4 2/10 页 5 0015 通过 FIF。
13、O 组将共享缓存数据输出到对应的目标输出接口。 0016 结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述根据 确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存数据包括 : 0017 判断当前指向的 FIFO 组是否处于满状态 ; 0018 若所述当前指向的 FIFO 组处于满状态, 则调度下一个 FIFO 组对应的共享缓存数 据。 0019 结合第一方面或第一方面的第一种至第三种中任一种可能的实现方式, 在第四种 可能的实现方式中, 所述通过目标输出接口对应的串行器将共享缓存数据输出之前, 还包 括 : 0020 根据所述确定的目标输出接口的接口带宽设置目标输。
14、出接口与串行器的对应关 系。 0021 相应地, 本发明实施例第二方面还提供了一种数据输出装置, 包括 : 0022 输出接口确定模块, 用于根据目标业务的传输速率需求信息确定目标输出接口 ; 0023 共享 FIFO 分配模块, 用于根据所述输出接口确定模块所确定的目标输出接口的 接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标 输出接口对应的 FIFO 组 ; 0024 数据传输模块, 用于将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并 通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口, 并通过目标输出接口对应 的串行器将共享。
15、缓存数据输出。 0025 在第一种可能的实现方式中, 若所述输出接口确定模块确定了多个目标输出接 口 ; 0026 所述共享 FIFO 分配模块用于 : 0027 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各 个目标输出接口对应的 FIFO 组。 0028 结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述数据 传输模块包括 : 0029 写口单元, 用于根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓存 数据 ; 0030 读口单元, 用于通过 FIFO 组将共享缓存数据输出到对应的目标输出接口 ; 0031 数据输出单元, 用。
16、于通过目标输出接口对应的串行器将共享缓存数据输出。 0032 结合第二方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述写口 单元包括 : 0033 判断子单元, 用于判断当前指向的 FIFO 组是否处于满状态 ; 0034 写口子单元, 用于若所述判断子单元判断当前指向的 FIFO 组处于满状态, 则调度 下一个 FIFO 组对应的共享缓存数据。 0035 结合第二方面或第二方面的第一种至第三种可能的实现方式, 在第四种可能的实 现方式中, 还包括 : 0036 设置模块, 用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串 行器的对应关系。 说 明 书 CN 1037。
17、61065 A 5 3/10 页 6 0037 本发明实施例可以根据目标输出接口的接口位宽以及共享 FIFO 的位宽确定该目 标输出接口需求的共享 FIFO 的个数, 并根据所述确定的共享 FIFO 的个数为所述目标输出 接口分配 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 附图说明 0038 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例中所需要使用的 附图作简单地介绍, 显而易见地, 下面描述中的附图是本发明的一些实施例, 对于本领域普 通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 0039 图 1。
18、 是本发明实施例提供的一种数据输出方法的流程图 ; 0040 图 2 是本发明实施例提供的一种共享 FIFO 分配的结构示意图 ; 0041 图 3 是本发明实施例提供的另一种共享 FIFO 分配的结构示意图 ; 0042 图 4 是本发明实施例提供的另一种共享 FIFO 分配的结构示意图 ; 0043 图 5 是本发明另一实施例提供的一种数据输出方法的流程图 ; 0044 图 6 是本发明实施例提供的一种数据输出装置的结构示意图 ; 0045 图 7 是本发明实施例提供的一种数据传输模块的结构示意图 ; 0046 图 8 是本发明实施例提供的一种写口单元的结构示意图 ; 0047 图 9 是。
19、本发明另一实施例提供的一种数据输出装置的结构示意图。 具体实施方式 0048 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发 明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例, 都属于本发明保护的范围。 0049 请参阅图1, 图1是本发明实施例提供的一种数据输出方法的流程图。 如图1所示 本实施例中的数据输出的流程可以包括 : 0050 S110, 根据目标业务的传输速率需求信息确定目标输出接口。 0051 具体的, 通信芯片可以包括多种接口。
20、标准的输出接口, 例如, 10M、 100M、 1000M、 GE 或 XLGE 等等, 通信芯片的输出接口中同一种接口标准的输出接口可以存在多个, 例如, 120Gbps 的通信芯片可以包括 12 个 XGE(10Gbps) 输出接口、 6 个 2XGE(20Gbps) 、 3 个 XLGE (40Gbps) 输出接口或 1 个 ILK(120Gbps) 输出接口。通信芯片可以根据目标业务的传输速 率需求信息确定目标输出接口, 例如, 目标业务的传输速率需求为 10Gbps, 通信芯片可以任 意选择一个或多个 XGE 的输出接口作为目标输出接口。 0052 作为一种可选的实施方式, 通信芯片。
21、可以根据目标业务的传输速率需求信息确定 多个目标输出接口, 例如, 目标业务的传输速率需求为10Gbps, 该通信芯片包括12个XGE输 出接口, 通信芯片可以确定多个甚至全部 XGE 输出接口作为所述目标输出接口。 0053 S120, 根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标 输出接口对应的至少一个共享 FIFO 作为所述目标输出接口对应的 FIFO 组。 0054 具体的, 通信芯片可以根据所述确定的目标输出接口的接口位宽以及共享 FIFO 的位宽确定目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确定个数的共享 说 明 书 CN 103。
22、761065 A 6 4/10 页 7 FIFO作为所述目标输出接口对应的FIFO组。 例如, 目标输出接口的接口位宽为64bit, 共享 FIFO的位宽为64bit, 则该目标输出接口需求的共享FIFO的个数为1, 通信芯片可以在共享 FIFO中获取1个共享FIFO作为所述目标输出接口对应的FIFO组, 即当该FIFO组存在数据 输出时, 通过该目标输出接口将数据输出 ; 再例如, 目标输出接口的接口位宽为 128bit, 共 享 FIFO 的位宽为 32bit, 则该目标输出接口需求的共享 FIFO 的个数为 4, 通信芯片可以在 共享 FIFO 中获取 4 个共享 FIFO 作为所述目标。
23、输出接口对应的 FIFO 组, 即当该 FIFO 组存 在数据输出时, 该目标输出接口同时读取所述 FIFO 组中的数据。通信芯片可以根据目标输 出接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为 所述目标输出接口对应的 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用 率。 0055 其中, 目标输出接口的接口位宽可以根据目标输出接口的接口带宽以及输出频 率确定, 该输出频率可以根据通信芯片的制造工艺以及功耗等因素确定 ; 通信芯片中共享 FIFO 的个数可以根据串行器的个数确定, 串行器的个数可以根据串行器的输出带宽以及通 。
24、信芯片的总带宽确定, 每个共享 FIFO 的位宽可以根据串行器的输出带宽以及所述输出频 率确定。 0056 作为一种可选的实施方式, 若通信芯片根据目标业务的传输速率需求信息确定了 多个目标输出接口, 则可以根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各个目标输出接口对应的 FIFO 组。例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业务的传输速率需求信息确定了3个4XGE的输出接口, 每个目标输出接 口的接口位宽为 128bit, 若每个共享 FIFO 的位宽为 32bit, 则每 4 个共享 FIFO 可以组成一 个 FIFO 组, 如图 2 。
25、所示 ; 若每个共享 FIFO 的位宽为 128bit, 则 1 个共享 FIFO 则可以组成 一个 FIFO 组, 如图 3 所示, 其中, 通信终端可以任意选择 3 个共享 FIFO 分别确定为各个目 标输出接口对应的 FIFO 组。再例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业 务的传输速率需求信息确定了 3 个 2XGE 输出接口以及 6 个 XGE 输出接口为目标输出接口, 2XGE 输出接口的接口位宽为 64bit, XGE 输出接口的接口位宽为 32bit, 若每个共享 FIFO 的 位宽为 32bit, 则 2XGE 输出接口对应的 FIFO 组中共享 FI。
26、FO 的个数为 2, XGE 输出接口对应 的 FIFO 组中共享 FIFO 的个数为 1, 如图 4 所示。 0057 S130, 将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0058 具体的, 通信芯片可以将目标业务的共享缓存数据写入确定的 FIFO 组, 通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0059 作为一种可选的实施方式, 若通信芯片确定了多个FIFO组, 如图2所示, 通信芯片 可以确定的各个根据 FIFO 组数据调度的先后顺序依次调度共享缓存数据, 并通过 FIFO 组 将共享。
27、缓存数据输出到对应的目标输出接口。具体的, 通信芯片可以将共享缓存数据根据 确定的 FIFO 组的个数以及各个 FIFO 组中共享 FIFO 的个数进行划分, 即确定共享缓存数据 的输出路径, 根据确定的各个 FIFO 组数据调度的先后顺序依次调度对应的共享缓存数据。 0060 进一步的, 若通信芯片确定了多个 FIFO 组, 通信芯片在将共享缓存数据写入对应 的 FIFO 组之前, 判断该 FIFO 组是否处于满状态, 若该 FIFO 组处于满状态, 则调度下一个 FIFO 组对应的共享缓存数据。具体的, FIFO 组存在预设的存储空间, 当 FIFO 组存储的共享 说 明 书 CN 103。
28、761065 A 7 5/10 页 8 缓存数据达到预设阈值时, 通信芯片则判断FIFO组处于满状态, 当当前指向的FIFO组处于 满状态时, 通信芯片则可以根据确定的各个 FIFO 组数据调度的先后顺序调度下一个 FIFO 组对应的共享缓存数据。例如, 通信芯片划分的 FIFO 组与目标输出接口的对应关系如图 2 所示, 其中, 各个 FIFO 组数据调度的先后顺序为 F0、 F1 以及 F2, 若通信芯片当前指向的 FIFO 组为 F0, 且 F0 当前处于满状态, 则通信芯片不调度 F0 对应的共享缓存数据, 直接调度 F1对应的共享缓存数据并写入F1, 对于F0对应的共享缓存数据, 通。
29、信芯片可以在下一次向 F0 写入数据时才调度。 0061 S140, 通过目标输出接口对应的串行器将共享缓存数据输出。 0062 具体的, 串行器用于将多路低速并行信号转换成高速串行信号, 可以根据输出频 率读取对应的目标输出接口中的共享缓存数据, 从而将共享缓存数据输出。 0063 作为一种可选的实施方式, 通信芯片在通过目标输出接口对应的串行器将共享缓 存数据输出之前, 可以根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行 器的对应关系。具体的, 通信芯片可以根据目标输出接口的接口带宽以及串行器的输出带 宽确定目标输出接口需求的串行器个数, 从而设置目标输出接口与串行器的对应关系。
30、。例 如, 目标输出接口的接口带宽为 40Gbps, 串行器的输出带宽为 10Gbps, 则可以将目标输出 接口与 4 个串行器建立对应关系。 0064 本发明实施例可以根据目标输出接口的接口位宽以及共享 FIFO 的位宽确定该目 标输出接口需求的共享 FIFO 的个数, 并根据所述确定的共享 FIFO 的个数为所述目标输出 接口分配 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0065 请参阅图5, 图5是本发明另一实施例提供的一种数据输出方法的流程图。 本发明 实施例以确定多个目标输出接口为例进行描述。如图 5 所示本实施例中的数据输出的流程 可以。
31、包括 : 0066 S510, 根据目标业务的传输速率需求信息确定多个目标输出接口。 0067 具体的, 通信芯片可以包括多种接口标准的输出接口, 例如, 10M、 100M、 1000M、 GE 或 XLGE 等等, 通信芯片的输出接口中同一种接口标准的输出接口可以存在多个, 例如, 120Gbps 的通信芯片可以包括 12 个 XGE(10Gbps) 输出接口、 6 个 2XGE(20Gbps) 、 3 个 XLGE (40Gbps) 输出接口或 1 个 ILK(120Gbps) 输出接口。通信芯片可以根据目标业务的传输速 率需求信息确定多个目标输出接口, 确定的多个目标输出接口通过时分复。
32、用机制传输共享 缓存数据, 提高了目标输出接口的利用率, 从而提高了共享 FIFO 的利用率。例如, 目标业务 的传输速率需求为 10Gbps, 通信芯片可以在接口标准为 XGE 的输出接口中确定多个 XGE 输 出接口甚至可以确定所有 XGE 输出接口作为各个目标输出接口。 0068 S520, 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽 确定各个目标输出接口对应的 FIFO 组。 0069 具体的, 通信芯片可以根据所述确定的各个目标输出接口的接口位宽以及共享 FIFO 的位宽确定各个目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确定个数 。
33、的共享 FIFO 作为各个目标输出接口对应的 FIFO 组。例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业务的传输速率需求信息确定了3个4XGE的输出接口, 每个目标输出接 口的接口位宽为 128bit, 若每个共享 FIFO 的位宽为 32bit, 则每 4 个共享 FIFO 可以组成一 个 FIFO 组, 如图 2 所示 ; 若每个共享 FIFO 的位宽为 128bit, 则 1 个共享 FIFO 则可以组成 说 明 书 CN 103761065 A 8 6/10 页 9 一个 FIFO 组, 如图 3 所示, 其中, 通信芯片可以任意选择 3 个共享 FIFO 分别确定。
34、为各个目 标输出接口对应的 FIFO 组。再例如, 通信芯片的总带宽为 120Gbps, 通信芯片根据目标业 务的传输速率需求信息确定了 3 个 2XGE 输出接口以及 6 个 XGE 输出接口为目标输出接口, 2XGE 输出接口的接口位宽为 64bit, XGE 输出接口的接口位宽为 32bit, 若每个共享 FIFO 的 位宽为 32bit, 则 2XGE 输出接口对应的 FIFO 组中共享 FIFO 的个数为 2, XGE 输出接口对应 的 FIFO 组中共享 FIFO 的个数为 1, 如图 4 所示。通信芯片根据所述确定的各个目标输出接 口对应的接口位宽以及共享 FIFO 的位宽确定各。
35、个目标输出接口对应的 FIFO 组, 实现了共 享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0070 S530, 根据所述确定的各个 FIFO 组数据调度的先后顺序, 确定当前指向的 FIFO 组, 并判断当前指向的 FIFO 组是否处于满状态。 0071 具体的, FIFO 组存在预设的存储空间, 当 FIFO 组存储的共享缓存数据达到预设阈 值时, 通信芯片则可以判断 FIFO 组处于满状态。根据确定的各个 FIFO 组数据调度的先后 顺序, 当当前指向的 FIFO 组处于满状态时, 通信芯片则执行步骤 S540。 0072 S540, 若所述当前指向的FIFO组处于满状。
36、态, 则调度下一个FIFO组对应的共享缓 存数据。 0073 具体的, 通信芯片可以将共享缓存数据根据 FIFO 组的个数以及各个 FIFO 组中共 享FIFO的个数进行划分, 从而确定共享缓存数据的输出路径, 若当前指向的FIFO组处于满 状态, 通信芯片则根据确定的各个 FIFO 组数据调度的先后顺序调度下一个 FIFO 组对应的 共享缓存数据。例如, 通信芯片确定的 FIFO 组与目标输出接口的对应关系如图 2 所示, 其 中, FIFO 组数据调度的先后顺序为 F0、 F1 以及 F2, 若通信芯片当前指向的 FIFO 组为 F0, 且 F0当前处于满状态, 则通信芯片不调度F0对应的。
37、共享缓存数据, 直接调度F1对应的共享缓 存数据并写入F1, 对于F0对应的共享缓存数据, 通信芯片可以在下一次向F0写入数据时才 调度。 0074 S550, 将调度的共享缓存数据输出到 FIFO 组对应的目标输出接口。 0075 具体的, FIFO 组中的共享缓存数据根据先入先出的原则进行排序, 通过 FIFO 组将 共享缓存数据输出到对应的目标输出接口。 0076 S560, 通过该目标输出接口对应的串行器将共享缓存数据输出。 0077 具体的, 串行器用于将多路低速并行信号转换成高速串行信号, 可以根据输出频 率读取对应的目标输出接口中的共享缓存数据, 从而将共享缓存数据输出。 007。
38、8 作为一种可选的实施方式, 通信芯片在通过目标输出接口对应的串行器将共享缓 存数据输出之前, 可以根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行 器的对应关系。具体的, 通信芯片可以根据目标输出接口的接口带宽以及串行器的输出带 宽确定目标输出接口需求的串行器个数, 从而设置目标输出接口与串行器的对应关系。例 如, 目标输出接口的接口带宽为 40Gbps, 串行器的输出带宽为 10Gbps, 则可以将目标输出 接口与 4 个串行器建立对应关系。 0079 本发明实施例可以根据各个目标输出接口的接口位宽以及共享 FIFO 的位宽确定 各个目标输出接口需求的共享 FIFO 的个数, 并。
39、根据所述确定的共享 FIFO 的个数为各个目 标输出接口分配对应的 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0080 请参与图 6, 图 6 是本发明实施例提供的一种数据输出装置的结构示意图。如图 6 说 明 书 CN 103761065 A 9 7/10 页 10 所示本发明实施例中的数据输出装置至少可以包括输出接口确定模块 610、 共享 FIFO 分配 模块 620、 以及数据传输模块 630, 其中 : 0081 输出接口确定模块 610, 用于根据目标业务的传输速率需求信息确定目标输出接 口。 0082 具体实现中, 通信芯片可以包括多种。
40、接口标准的输出接口, 例如, 10M、 100M、 1000M、 GE 或 XLGE 等等, 通信芯片的输出接口中同一种接口标准的输出接口可以存在多个, 例如, 120Gbps 的通信芯片可以包括 12 个 XGE(10Gbps) 输出接口、 6 个 2XGE(20Gbps) 、 3 个 XLGE(40Gbps) 输出接口或 1 个 ILK(120Gbps) 输出接口。输出接口确定模块 610 可以 根据目标业务的传输速率需求信息确定目标输出接口, 例如, 目标业务的传输速率需求为 10Gbps, 输出接口确定模块 610 可以任意选择一个或多个 XGE 的输出接口作为目标输出接 口。 008。
41、3 共享 FIFO 分配模块 620, 用于根据所述输出接口确定模块 610 所确定的目标输出 接口的接口位宽以及共享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所 述目标输出接口对应的 FIFO 组。 0084 具体实现中, 共享FIFO分配模块620可以根据所述确定的目标输出接口的接口位 宽以及共享 FIFO 的位宽确定目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确 定个数的共享 FIFO 作为所述目标输出接口对应的 FIFO 组。例如, 目标输出接口的接口位 宽为 64bit, 共享 FIFO 的位宽为 64bit, 则该目标输出接口需求的共享 F。
42、IFO 的个数为 1, 共 享 FIFO 分配模块 620 可以在共享 FIFO 中获取 1 个共享 FIFO 作为所述目标输出接口对应 的 FIFO 组, 即当该 FIFO 组存在数据输出时, 通过该目标输出接口将数据输出 ; 再例如, 目 标输出接口的接口位宽为 128bit, 共享 FIFO 的位宽为 32bit, 则该目标输出接口需求的共 享 FIFO 的个数为 4, 共享 FIFO 分配模块 620 可以在共享 FIFO 中获取 4 个共享 FIFO 作为所 述目标输出接口对应的FIFO组, 即当该FIFO组存在数据输出时, 该目标输出接口同时读取 所述 FIFO 组中的数据。共享 。
43、FIFO 分配模块 620 可以根据目标输出接口的接口位宽以及共 享FIFO的位宽确定目标输出接口对应的至少一个共享FIFO作为所述目标输出接口对应的 FIFO 组, 实现了共享 FIFO 的量化分组, 从而提高了 FIFO 的利用率。 0085 数据传输模块 630, 用于将所述目标业务的共享缓存数据写入所述确定的 FIFO 组, 并通过所述 FIFO 组将共享缓存数据输出到对应的目标输出接口, 并通过目标输出接口 对应的串行器将共享缓存数据输出。 0086 作为一种可选的实施方式, 若所述输出接口确定模块 610 确定了多个目标输出接 口, 所述共享 FIFO 分配模块 620 用于 : 。
44、0087 根据所述确定的各个目标输出接口对应的接口位宽以及共享 FIFO 的位宽确定各 个目标输出接口对应的 FIFO 组。 0088 具体实现中, 共享FIFO分配模块620可以根据各个目标输出接口的接口位宽以及 共享 FIFO 的位宽确定各个目标输出接口需求的共享 FIFO 的个数, 在共享 FIFO 中获取确定 个数的共享 FIFO 作为各个目标输出接口对应的 FIFO 组。例如, 输出接口确定模块 610 根 据目标业务的传输速率需求信息确定了3个4XGE的输出接口, 每个目标输出接口的接口位 宽为 128bit, 若每个共享 FIFO 的位宽为 32bit, 则共享 FIFO 分配模。
45、块 620 可以将每 4 个 共享 FIFO 可以组成一个 FIFO 组, 如图 2 所示 ; 若每个共享 FIFO 的位宽为 128bit, 则共享 说 明 书 CN 103761065 A 10 8/10 页 11 FIFO 分配模块 620 可以将 1 个共享 FIFO 组成一个 FIFO 组, 如图 3 所示, 其中, 共享 FIFO 分 配模块 620 可以任意选择 3 个共享 FIFO 分别确定为各个目标输出接口对应的 FIFO 组。再 例如, 输出接口确定模块 610 根据目标业务的传输速率需求信息确定了 3 个 2XGE 输出接口 以及 6 个 XGE 输出接口为目标输出接口,。
46、 2XGE 输出接口的接口位宽为 64bit, XGE 输出接口 的接口位宽为 32bit, 若每个共享 FIFO 的位宽为 32bit, 则共享 FIFO 分配模块 620 可以为 确定的 2XGE 输出接口对应的 FIFO 组分别分配 2 个共享 FIFO, 为确定的 XGE 输出接口对应 的 FIFO 组分别分配 1 个共享 FIFO, 如图 4 所示。 0089 进一步的, 所述数据传输模块 630 包括写口单元 631、 读口单元 632 以及数据输出 单元 633, 其中 : 0090 写口单元 631, 用于根据确定的各个 FIFO 组数据调度的先后顺序依次调度共享缓 存数据。 。
47、0091 进一步的, 所述写口单元 631 包括 : 0092 判断子单元 631a, 用于判断当前指向的 FIFO 组是否处于满状态。 0093 写口子单元 631b, 用于若所述判断子单元 631a 判断当前指向的 FIFO 组处于满状 态, 则调度下一个 FIFO 组对应的共享缓存数据。 0094 具体实现中, FIFO 组存在预设的存储空间, 当 FIFO 组存储的共享缓存数据达到预 设阈值时, 判断子单元 631a 则可以判断 FIFO 组处于满状态。根据确定的各个 FIFO 组数据 调度的先后顺序, 当当前指向的FIFO组处于满状态时, 写口子单元631b可以根据确定的各 个 FI。
48、FO 组数据调度的先后顺序调度下一个 FIFO 组对应的共享缓存数据。例如, FIFO 组与 目标输出接口的对应关系如图 2 所示, 其中, 各个 FIFO 组数据调度的先后顺序为 F0、 F1 以 及 F2, 当前指向的 FIFO 组为 F0, 若判断子单元 631a 判断 F0 当前处于满状态, 写口子单元 631b 则可以直接调度 F1 对应的共享缓存数据并写入 F1, 对于 F0 对应的共享缓存数据, 写 口子单元 631b 可以在下一次向 F0 写入数据时才调度。 0095 读口单元 632, 用于通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0096 具体实现中, F。
49、IFO 组中的共享缓存数据根据先入先出的原则进行排序, 通过 FIFO 组将共享缓存数据输出到对应的目标输出接口。 0097 数据输出单元 633, 用于通过目标输出接口对应的串行器将共享缓存数据输出。 0098 具体实现中, 串行器用于将多路低速并行信号转换成高速串行信号, 数据输出单 元 633 包括串行器, 可以根据输出频率读取对应的目标输出接口中的共享缓存数据, 从而 将共享缓存数据输出。 0099 作为一种可选的实施方式, 所述数据输出装置还可以包括设置模块 640, 所述设置 模块 640 用于根据所述确定的目标输出接口的接口带宽设置目标输出接口与串行器的对 应关系。 0100 具体实现中, 设置模块 640 可以根据目标输出接口的接口带宽以及串行器的输出 带宽确定目标输出接口需求的串行器个数, 从而设置目标输出接口与串行器的对应关系。 例如, 目标输出接口的接口带宽为40Gb。