数据链路层传输器、优先权分配方法与优先权系统.pdf

上传人:r7 文档编号:1115672 上传时间:2018-04-01 格式:PDF 页数:19 大小:767.78KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110354061.4

申请日:

2009.08.11

公开号:

CN102347880A

公开日:

2012.02.08

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/40申请日:20090811|||公开

IPC分类号:

H04L12/40; H04L29/06; H04L12/56

主分类号:

H04L12/40

申请人:

威盛电子股份有限公司

发明人:

赖彦廷; 曾纹郁

地址:

中国台湾新北市

优先权:

2008.08.14 US 61/089,048; 2009.07.24 US 12/509,007; 2009.07.24 US 12/509,056

专利代理机构:

北京市柳沈律师事务所 11105

代理人:

钱大勇

PDF下载: PDF下载
内容摘要

本发明为一种数据链路层传输器,其包含:多个仲裁器,其中每一个仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类而选择一个封包供传输;选择器,自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包;可编程的储存元件,其提供数值以控制该选择器。其中,至少于一优先权规则中,交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及至少于另一优先权规则中,确认/否认数据链路层封包的优先权高于交换层封包的优先权。

权利要求书

1: 一种数据链路层传输器, 应用于高速 PCI 装置中, 以管理高速 PCI 交换层封包及数据 链路层封包, 该数据链路层传输器包含 : 优先权系统, 其包含 : 第一数据链路层封包, 供初始化流程控制使用, 具有最高的优先权 ; 以及 闲置数据字符, 具有最低的优先权。
2: 根据权利要求 1 所述的数据链路层传输器, 其中该优先权系统还包含 : 第二数据链路层封包, 供功率状态进入使用, 其优先权较该第一数据链路层封包的优 先权为低。
3: 根据权利要求 2 所述的数据链路层传输器, 其中该优先权系统还包含 : 再播放交换层封包, 供重试缓冲区的再传输使用, 其优先权较该第二数据链路层封包 的优先权为低 ; 以及 新的交换层封包, 其优先权较该再播放交换层封包的优先权为低。
4: 根据权利要求 3 所述的数据链路层传输器, 其中该优先权系统还包含 : 确认 / 否认数据链路层封包, 其优先权较该新的交换层封包的优先权为低 ; 第三数据链路层封包, 供更新流程控制使用, 其优先权较该确认 / 否认交换层封包为 低; 以及 第四数据链路层封包, 供确认该第二数据链路层封包使用, 其优先权较该第三数据链 路层封包的优先权为低。
5: 根据权利要求 3 所述的数据链路层传输器, 其中该优先权系统还包含 : 第三数据链路层封包, 供更新流程控制使用, 其优先权较该新的交换层封包的优先权 为低 ; 确认 / 否认数据链路层封包, 其优先权较该第三数据链路层封包的优先权为低 ; 第四数据链路层封包, 供确认该第二数据链路层封包使用, 其优先权较该确认 / 否认 数据链路层封包的优先权为低。
6: 根据权利要求 2 所述的数据链路层传输器, 其中该优先权系统还包含 : 确认 / 否认数据链路层封包, 其优先权较该第二数据链路层封包的优先权为低。
7: 根据权利要求 6 所述的数据链路层传输器, 其中该优先权系统还包含 : 回放交换层封包, 供重试缓冲区的再传输使用, 其优先权较该确认 / 否认数据链路层 封包的优先权为低 ; 新的交换层封包, 其优先权较该回放交换层封包的优先权为低 ; 第三数据链路层封包, 供更新流程控制使用, 其优先权较该新的交换层封包的优先权 为低 ; 第四数据链路层封包, 供确认该第二数据链路层封包使用, 其优先权较该第三数据链 路层封包的优先权为低。
8: 根据权利要求 7 所述的数据链路层传输器, 其中该优先权系统还包含 : 确认 / 否认交换层封包, 其 SEQ 数目大于该确认交换层封包, 其优先权较该第四数据链 路层封包的优先权低。
9: 根据权利要求 6 所述的数据链路层传输器, 其中该优先权系统还包含 : 第三数据链路层封包, 供更新状态流程控制使用, 其优先权较该确认 / 否认交换层封 2 包的优先权为低 ; 回放交换层封包, 供重试缓冲区的再传输使用, 其优先权较该第三数据链路层封包的 优先权为低 ; 新的交换层封包, 其优先权较该回放交换层封包的优先权为低 ; 以及 第四数据链路层封包, 供确认该第二数据链路层封包使用, 其优先权较该新的交换层 封包的优先权为低。
10: 根据权利要求 2 所述的数据链路层传输器, 其中该优先权系统还包含 : 第三数据链路层封包, 供更新流程控制使用, 其优先权较该第二数据链路层封包的优 先权为低。
11: 根据权利要求 10 所述的数据链路层传输器, 其中该优先权系统还包含 : 回放交换层封包, 供重试缓冲区的再传输使用, 其优先权较该第三数据链路层封包的 优先权为低 ; 新的交换层封包, 其优先权较该回放交换层封包的优先权为低 ; 确认 / 否认数据链路层封包, 其优先权较该新的交换层封包的优先权为低 ; 以及 第四数据链路层封包, 供确认该第二数据链路层封包使用, 其优先权较该新的交换层 封包的优先权为低。
12: 根据权利要求 10 所述的数据链路层传输器, 其中该优先权系统还包含 : 确认 / 否认数据链路层封包, 其优先权较该第三数据链路层封包的优先权为低 ; 回放交换层封包, 供重试缓冲区的再传输使用, 其优先权较该确认 / 否认数据链路层 封包的优先权为低 ; 新的交换层封包, 其优先权较该回放交换层封包的优先权为低 ; 以及 第四数据链路层封包, 供确认该第二数据链路层封包使用, 其优先权较该新的交换层 封包的优先权为低。
13: 一种优先权分配方法, 该方法应用于高速 PCI 装置的数据链路层传输器, 用以对交 换层封包及数据链路层封包进行调度, 其包含以下步骤 : 使第一数据链路层封包具有最高优先权, 该第一数据链路层封包供初始化流程控制使 用; 以及 使一闲置数据字符具有最低优先权。
14: 根据权利要求 13 所述的优先权分配方法, 该方法还包含以下步骤 : 对多个封包进 行调度, 该多个封包有 : 第二数据链路层封包, 供功率状态进入使用 ; 确认 / 否认数据链路层封包 ; 回放交换层封包, 供重试缓冲区再传输使用 ; 新的交换层封包 ; 第三数据链路层封包, 供更新流程控制使用 ; 以及 第四数据链路层封包, 供确认该第二数据链路层封包使用。
15: 根据权利要求 14 所述的优先权分配方法, 该方法还包含以下步骤 : 使该第二数据链路层封包具有次高优先权。
16: 根据权利要求 14 所述的优先权分配方法, 该方法还包含以下步骤 : 3 使该新的交换层封包具有紧接于该回放交换层封包之后的优先权。
17: 根据权利要求 14 所述的优先权分配方法, 该方法还包含以下步骤 : 使该第四数据链路层封包具有仅高于该闲置数据字符的优先权。
18: 一种优先权系统, 建立于高速 PCI 装置的数据链路层传输器内, 以管理交换层封包 及数据链路层封包的传输, 该优先权系统包含 : 最高优先权, 分配给供流程控制初始化使用的数据链路层封包 ; 次高优先权, 分配给供功率状态进入使用的数据链路层封包 ; 以及 最低优先权, 分配给闲置数据字符。
19: 根据权利要求 18 所述的优先权系统, 该系统还包含 : 两个优先权, 分别分配给供重试缓冲区的再传输使用的回放交换层封包与一新的交换 层封包。
20: 根据权利要求 18 所述的优先权系统, 该系统还包含 : 次低优先权, 分配给供功率状态进入确认使用的数据链路层封包。

说明书


数据链路层传输器、 优先权分配方法与优先权系统

     本申请是申请日为 2009 年 8 月 11 日、 申请号为 200910163301.5、 发明名称为 “可 选传输优先权的高速外围元件互连传输器与控制方法” 的发明专利申请的分案申请。技术领域
     本发明关于序列式数据链路传输的优先权调度, 尤指应用于高速 PCI 的序列式互 连架构。 背景技术
     近年来, 被设计作为计算机系统中元件的数据转移使用的高速外围元件互连 (Peripheral Component Interconnect, PCI), 已被广泛地应用于高速序列式链路输入输 出 (I/O) 互连。高速 PCI 是一种序列式总线, 与并列式总线相较, 该种类的总线得以较少的 针脚数目提供更高的效能, 因此高速 PCI 便被用来以取代并列式的 PCI 与 PCI-X 总线规格。 有关于高速 PCI 的说明, 请参见由 PCI 特殊利益团体 (Special Interest Group, SIG) 所管 理与散布的高速 PC I 规格书。
     于 高 速 PCI 架 构 中, 高 速 PCI 装 置 具 有 三 个 不 连 续 的 逻 辑 层, 即, 一交换层 (Transaction Layer)、 一数据链路层 (Data Link Layer) 与一物理层 (Physical Layer), 且各逻辑层分别具有一个传输部与一个接收部。于序列式链路上, 高速 PCI 利用封包作为 元件间的信息沟通使用, 这些封包包括由数据链路层产生并消耗的数据链路层封包 (data link layer packets, DLLPs), 以及由交换层产生并消耗的交换层封包 (transaction layer packets, TLPs)。作为管理序列式数据链路使用的是数据链路层封包, 其包含不同种类, 例 如: 与初始化、 序列式链路的流程控制、 功率管理等相关的数据链路层封包 ; 而交换层封包 则作为元件彼此间沟通交易使用, 例如数据的读取与写入交易及该等种类的事件。
     不同种类的多个数据链路层封包及交换层封包可能排在同时传输。高速 PCI 数据 链路层包含一仲裁器, 通过该仲裁器对传输的封包进行优先权排序。该仲裁器依照一个优 先权规则决定第一个传输的封包。 原则上, 该优先权规则必须确保 : 所有封包均能于一定期 间内完成传输, 且不会被其它种类的封包所阻碍。该优先权规则可能影响一高速 PCI 链路 上的传输效能, 举例而言, 倘若一个优先权规则分配一确认 (Ack) 数据链路层封包一相对 较低的传输优先权, 则该确认数据链结层封包会等待其它交换层封包的传输, 若于该等待 期间内, 针对另一个接收的交换层封包又排了另一个确认封包, 依据高速 PCI 的规格书的 作法, 此时仅需要传输第二个确认数据链路层封包, 因为第二个确认数据链路层封包提供 的信息, 得用以取代第一个确认数据链路层封包的信息。 亦即, 这些确认数据链路层封包被 重整成为一个确认数据链路层封包, 藉此得以有效率地利用频宽。 另一方面, 倘若该优先权 规则, 分配一最高优先权给确认数据链路层封包传输, 则每接收到交换层封包, 便要传输确 认数据链路层封包一次, 这将丧失重整确认数据链路层封包的效益, 而造成传输频宽的浪 费, 这个例子说明了优先权规则可能影响传输的效能的事实。
     高速 PCI 基本规格书第 1.1 修订版本指定了一个建议使用的传输调度的优先权规则, 如下所述 :
     1. 完成目前处理中的任何交换层封包或数据链路层封包的传输 ( 最高优先权 ) ;
     2. 否认 (Nak) 数据链路层封包传输 ;
     3. 于接收一重复的交换层封包, 或确认延迟 (latency) 定时器时间届满时, 尽速 进行传输确认数据链路层封包传输 ;
     4. 流程控制数据链路层封包传输 (updateFC) ;
     5. 重试缓冲区的再传输 ;
     6. 交换层的交换层封包 ;
     7. 流程控制数据链路层封包传输 (initFC1 及 initFC2) ;
     8. 所有其它的数据链路层封包传输 ( 最低优先权 )。
     高速 PCI 基本规格书所载的建议优先权规则, 在一根联合体 (root complex, RC) 牵连至更复杂的交换行为时缺乏弹性, 且该建议优先权规则在某些情形可能导致系统效能 低落。 发明内容 本发明的一个目的, 是提供一种高速 PCI 数据链路层传输器, 自多个调度交换层 封包及数据链路层封包中选择封包, 于一高速 PCI 数据链路上进行传输, 该数据链路层传 输器包含多个仲裁器, 其中每一个仲裁器使用不同的优先权规则, 依据该多个调度交换层 封包及数据链路层封包的种类, 自该多个调度交换层封包及数据链路层封包中选择一封 包。该数据链路层传输器装置亦包含一选择器, 耦接至该多个仲裁器, 该选择器用以自该 多个仲裁器中选择一仲裁器, 以便自该多个调度交换层封包及数据链路层封包中选择该封 包, 于该高速 PCI 数据链路上进行传输。
     根据上述构想, 该数据链路层传输器包含一可编程的储存元件, 其提供一数值予 该选择器, 以控制该选择器自该多个仲裁器中选择该仲裁器。
     根据上述构想, 至少一第一仲裁器所使用的优先权规则, 令交换层封包的优先权 高于确认 / 否认数据链路层封包的优先权 ; 以及至少一第二仲裁器所使用的优先权规则, 令确认 / 否认数据链路层封包的优先权高于交换层封包的优先权。
     根据上述构想, 至少一第一仲裁器, 其使交换层封包的优先权高于确认 / 否认数 据链路层封包的优先权以及更新流程控制数据链路层封包的优先权 ; 至少一第二仲裁器, 其使确认 / 否认数据链路层封包的优先权, 高于该交换层封包的优先权以及更新流程控制 数据链路层封包的优先权 ; 以及至少一第三仲裁器, 其使更新流程控制数据链路层封包的 优先权, 高于交换层封包的优先权以及确认 / 否认数据链路层封包的优先权。
     本发明的另一目的, 是提供一种传输方法, 应用于一高速 PCI 数据链路层传输器, 通过一高速 PCI 数据链路传输交换层封包及数据链路层封包, 该传输方法包括步骤 : 由多 个不同的优先权规则中选择一优先权规则, 该多个不同的优先权规则使得每种交换层封包 及数据链路层封包具有不同的优先权。 该操作方法亦包含步骤 : 使用该选择的优先权规则, 于多个调度交换层封包及数据链路层封包中, 选择一交换层封包或数据链路层封包, 于该 高速 PCI 数据链路上进行传输。
     本发明的又一目的, 是提供一种高速 PCI 数据链路层传输器的操作方法, 于一高
     速 PCI 数据链路上传输交换层封包及数据链路层封包, 该方法包含步骤 : 该数据链路传送 器使用多个不同优先权规则以便自多个调度高速 PCI 交换层封包及数据链路层封包中进 行选择, 预测其中之一优先权规则能产生最佳效能, 以便于该数据链结上进行调度传输, 其 中对于不同种类的该多个调度交换层封包及数据链路层封包, 每一个优先权规则会分配不 同的优先权。 该操作方法亦包含步骤 : 编程该数据链路层传输器, 使其应用该预测的优先权 规则, 藉以自该多个调度高速 PCI 交换层封包及数据链路层封包中进行选择。
     本发明的又一目的, 是提供一种数据链路层传输器, 应用于高速 PCI 装置中, 以 管理高速 PCI 交换层封包及数据链路层封包, 该数据链路层传输器包含 : 优先权系统, 其 包含 : 第一数据链路层封包, 供初始化流程控制使用, 具有最高的优先权 ; 以及闲置数据字 符, 具有最低的优先权。
     本发明的又一目的, 是提供一种优先权分配方法, 该方法应用于高速 PCI 装置的 数据链路层传输器, 用以对交换层封包及数据链路层封包进行调度, 其包含以下步骤 : 使第 一数据链路层封包具有最高优先权, 该第一数据链路层封包供初始化流程控制使用 ; 以及 使一闲置数据字符具有最低优先权。
     本发明的又一目的, 是提供一种优先权系统, 建立于高速 PCI 装置的数据链路层 传输器内, 以管理交换层封包及数据链路层封包的传输, 该优先权系统包含 : 最高优先权, 分配给供流程控制初始化使用的数据链路层封包 ; 次高优先权, 分配给供功率状态进入使 用的数据链路层封包 ; 以及最低优先权, 分配给闲置数据字符。 附图说明 本发明图式中所包含的各元件列式如下 :
     图 1 为本发明的高速 PCI 装置方块图。
     图 2 为本发明图 1 所示的高速 PCI 装置的部分元件方块图, 特别是图 1 中的高速 数据链路层传输器。
     图 3 为本发明图 2 所示的高速数据链路层传输器的操作流程图。
     图 4 为说明本发明实施例中编程图 2 所示的控制暂存器的流程图。
     本发明图式中所包含的各元件列示如下 :
     具体实施方式本发明描述的实施例提供一个高速 PCI 数据链路层传输器以解决前述的效能问 题, 该传输器定义了多个 ( 于一实施例中为七个 ) 优先权规则供调度传输 ( 封包 ) 使用。 该 数据链路层传输器包含一个可编程的控制暂存器 ( 于一实施例中为三位暂存器 ), 用以选 择该多个优先权规则之一, 以便选择下一个传输封包。每一个优先权规则可针对特定交换 型态而提升效能。举例而言, 一个高档的 3D 高速 PCI 显示卡, 对于一个高速 PCI 根联合体 (Root Complex, RC) 提出需求时, 将需要大规模的上游存储器读取 (memory read, Mrd) 周 期 (cycle)。为了达到较佳的传输效能, 该根联合体需要传输背对背 (back-to-back) 的完 成交换层封包。 因此, 在一个使用大量上游存储器读取周期的交换型态中, 数据链路层传输 器可以从多个优先权规则中选择, 使交换层封包的传输优先权较数据链路层封包的传输优 先权为高, 以增加交换层封包的背对背完成发生的可能性, 并可以减少因为确认 / 否认数 据链路层封包传输, 导致中断交换层封包的背对背完成的情况发生。 已知技术中, 数据链路 层传输器采用高速 PCI 基本规格书所建议的单一优先权规则, 而本发明提供自多个优先权 规则中进行选择的技术, 可以大大地提升其效能。
     请参考图 1, 其为依据本发明所使用的高速 PCI 装置 100 的方块图, 该高速 PCI 装 置 100 可以使用于高速 PCI 的根联合体、 端点、 交换元件、 或桥接器。 该高速 PCI 装置 100 包 含一交换层传输器 102, 其耦接于一数据链路层传输器 104, 另包含一物理层传输器 106, 其 耦接于该数据链路层传输器 104 ; 该高速 PCI 装置 100 亦包含一个交换层接收器 112, 其耦 接于一数据链路层接收器 114, 另包含一物理层接收器 116, 其耦接于该数据链路层接收器 114。该物理层传输器 106 及该物理层接收器 116 分别耦接至该高速 PCI 序列式链路 122, 可与连接至该序列式链路 112 另外一端的另一个高速 PCI 装置进行传送或接收高速 PCI 封 包 ( 数据链路层封包及交换层封包 ) 的行为。
     高速 PCI 规格书载明高速 PCI 架构包含三个不连续的逻辑层, 即交换层、 数据链 路层与物理层, 且各逻辑层分别具有一个传输部与一个接收部。关于这三个逻辑层不同功 能的详细说明, 请参见高速 PCI 规格书。元件 102 至元件 116 配合这些逻辑层并进行高速 PCI 规格书所描述的功能, 不同的是, 在高速 PCI 规格书中, 数据链路层传输器仅使用一个 优先权规则来选择要传输的封包, 本发明作法则不然。请参见图 1, 本发明对于高速 PCI 规 格书的数据链路层传输器 104 进行修改, 使数据链路层传输器 104 不但可以使用多个优先 权规则中的一个优先权规则, 从多个调度的数据链路层封包与交换层封包中选择要传输的 封包, 还可以自行选择该优先权规则。更有利的是, 用以选择封包的优先权规则, 其选择是 在高速 PCI 装置 100 的操作过程中动态决定的, 该选择方式则是通过编程一个控制暂存器 指定所要使用的优先权规则。
     尽管图 1 中的元件 102-116 是以逻辑元件的方式描述, 在实施例中可通过一硬件 电路实现该功能, 在其它实施例中, 可以通过一个或多个可编程的处理器, 以执行储存程序 的方式实现其部分功能。
     请参见图 2, 其是图 1 的高速 PCI 装置 100 的部分元件方块图, 特别是图 1 中的高 速 PCI 数据链路层传输器 104。该高速 PCI 装置 100 包含一调度封包池 202, 该调度封包池 202 包含所有由交换层传输器 102 与数据链路层传输器 104 产生的交换层封包及数据链路 层封包, 所有封包于该序列链路 122 上已备妥即将传输。于一实施例中, 该调度封包池 202 包含多个调度封包队伍, 每一个队伍持有一封包种类的调度封包。 具体而言, 各队伍的封包种类对应于以下所讨论的多个优先权规则所指定的封包种类。 举例而言, 于一实施例中, 对 于下述表一所指定的封包种类均有一个对应的调度封包队伍, 因为表一的第一优先权规则 将表二至表七中认为相同种类的封包区分成两种封包, 所以表一实际上为表二至表七所列 的不同封包种类的超集。 于一实施例中, 在同一个调度封包队伍里的封包, 其相同种类封包 以先进先出的方式进行传输。
     该 数 据 链 路 层 传 输 器 104 包 含 多 个 优 先 权 规 则 仲 裁 器 204-1、 204-2、 204-3、 204-4、 204-5、 204-6 及 204-7, 下面统称为优先权规则仲裁器 204 或仲裁器 204。 每一个仲裁 器 204 均得检视该调度封包池 202 的内容, 并依据个别仲裁器所对应的优先权规则, 自该调 度封包池 202 选择一个封包准备于序列链路 122 上进行传输。 于一实施例中, 仲裁器 204-1 使用表一的第一优先权规则 ; 仲裁器 204-2 使用表二的第二优先权规则 ; 仲裁器 204-3 使 用表三的第三优先权规则 ; 仲裁器 204-4 使用表四的第四优先权规则 ; 仲裁器 204-5 使用 表五的第五优先权规则 ; 仲裁器 204-6 使用表六的第六优先权规则 ; 仲裁器 204-7 使用表 七的第七优先权规则。每一个仲裁器 204 由个别的输出端 224-1 至 224-7 输出其选定的封 包, 输出端 224-1 至 224-7 将统称为输出端 224。
     该数据链路层传输器 104 亦包含一个七对一多工器 206, 该多工器 206 的七个输入 端分别连接至该七个仲裁器的个别输出端 224-1 至 224-7。一个控制暂存器 208 提供一控 制信号 226 至该多工器 206 的控制输入端, 通过其控制, 选择由输入端 224-1 至 224-7 其中 的一个作为该多工器 206 的输出, 作为最终允许的传输 212, 即, 将在数据链路 122 上传输的 封包。于一实施例中, 该控制暂存器 208 为三位的暂存器, 其可以记录经编码过的数值, 用 以选择仲裁器 204 的一特定输出 224。于一实施例中, 该控制暂存器 208 是可编程的, 得以 在该高速 PCI 装置 100 的操作过程中, 动态选择某个优先权规则, 于说明图 4 时将提供更进 一步的讨论。
     图 2 中的七个优先权规则仲裁器 204 使用表一至表七的七个优先权规则。关于个 别封包种类的定义请参见高速 PCI 基本规格书修订版本 1.1, 以下仅简要说明个别封包种 类的意义。
     1. 流程控制数据链路层封包传输, 其是供初始化流程控制使用的数据链路层数据 封包, 例如 initFC1 与 initFC2。
     2. 功率管理数据链路层封包传输, 其是供功率状态进入使用的数据链路层封包, 例如 PM_Enter_L1、 PM_Enter_L23 及 PM_Active_State_Request_L1。
     3. 流程控制数据链路层封包传输, 例如 UpdateFC 是供更新流程控制使用的数据 链路层封包。
     4. 功率管理数据链路层封包传输, PM_Request_Ack 是供确认该功率管理数据链 路层封包传输使用的数据链路层封包。
     表一 第一优先权规则
     表二 第二优先权规则
     表三 第三优先权规则
     表四 第四优先权规则
     表五 第五优先权规则
     表六 第六优先权规则
     表七 第七优先权规则
     请参考图 3 的流程图, 用以解释图 2 中, 本发明的高速 PCI 数据链路层传输器 104 的操作。该流程自步骤 302 开始。
     于步骤 302 中, 该数据链路层传输器 104 准备好要在图 1 所示的高速 PCI 序列式 链路 122 上传输一个封包 ( 即, 来自调度封包池 202 的数据链路层封包或交换层封包 )。普 遍说来, 该数据链路层传输器 104 可如其所愿的进行传输, 但在某些情况, 如初始化或流程 控制限制下, 会要求该数据链路层传输器 104 先等待后, 再传输封包。接着流程进入至步骤 304。
     于步骤 304 中, 图 2 中的每一个仲裁器 204, 均对封包池 202 中准备调度传输的封 包进行检查, 并各自选择其中一个封包进行传输。每一个仲裁器 204 均使用个别的优先权 规则 ( 如上述表一至表七中的任一个优先权规则 ) 来选择封包。每一个仲裁器 204 通过个 别的输出端 224-1 至 224-7 输出其选定的封包给多工器 206。接着流程进入至步骤 306。
     于步骤 306 中, 该多工器 206 自输入 224-1 至 224-7 中择一作为最终允许传输的封 包 212。具体而言, 依据控制暂存器 208 的输出 206, 藉以指定传输的封包为 224-1 至 224-7 的其中一个, 作为该多工器 206 选择的最终允许传输的封包 212。流程结束于步骤 306。
     请参见图 4 的流程图, 其绘示依据本发明图 2 的控制暂存器 208 的可编程流程。 该 流程自步骤 402 开始。
     于步骤 402 中, 依据如图 2 中数据链路层传输器 104 即将于序列式链路 122 上传 输的混合或串流形态的封包种类, 一个元件预测前述表一至表七中的某一优先权规则可提 供最高效能。 该预测元件可能为系统软件, 例如在系统 CPU 上执行的装置驱动程序 ; 该预测 元件可能是成对的高速 PCI 装置, 通过序列式链路 122 耦接至图 1 中的高速 PCI 装置 100, 例如一影像控制器、 一储存装置控制器、 一网络接口控制器等 ; 该预测元件亦可能是用以控 制该成对高速 PCI 装置的软件。举例而言, 图 1 中的高速 PCI 装置 100, 可为一根联合体, 耦接至一高速 PCI 影像卡及影像控制器 ; 或为一控制该影像控制器的软件, 知道该影像控 制器即将请求该根联合体进行传输, 传输大量的存储器读取完成交换层封包至该影像控制 器。此外, 针对主要为交换层封包 ( 如存储器读取完成交换层封包 ) 的封包串流, 该影像控 制器或控制该影像控制器的软件知道在表一至表七中的特定优先权规则可能产生最佳的 效能。流程继续进行至步骤 404。
     请见步骤 404, 针对该数据链路层传输器 104 即将执行的混合封包种类传输, 该预 测元件以特定的数值编程图 2 的控制暂存器 208, 选择具有最佳效能的优先权规则。 流程结 束于步骤 404。
     经由上述的说明可以得知, 与一个仅使用单一优先权规则的高速 PCI 数据链路层 传输器相比较, 本发明具有从多个优先权规则中进行选择的能力, 以便自不同种类的多个 数据链路层封包与交换层封包中选择进行传输的封包, 此弹性的作法可促进较佳的效能。 这样的方式, 特别适用于一些情形, 即, 高速 PCI 根联合体牵涉复杂的传输串流, 以及 / 或不 同种类的高速 PCI 端点装置等情形。
     尽管上述的各实施例中, 高速 PCI 数据链路层传输器的控制暂存器通过耦接至根 联合体的 CPU 进行编程的操作, 该高速 PCI 数据链路层传输器亦可能包含一高速 PCI 从属 端接口, 用以接受 PCI 设定写入周期, 使其它的高速 PCI 主控端得以编程该控制暂存器。再
     者, 上述实施例虽说明高速 PCI 数据链路层传输器位于一高速 PCI 装置上的根联合体内, 该 数据链路层传输器还可以应用于任何高速 PCI 装置内, 包括高速 PCI 的端点、 交换元件或桥 接器。更进一步而言, 尽管上述实施例说明该高速 PCI 数据链路层传输器使用一特定数目 的优先权规则 ( 于一实施例中, 该数目为七 ), 但亦可考虑其它数目的优先权规则, 本发明 并不限制该数目。 最后, 尽管上述实施例说明了数种优先权规则, 但本发明并不限于上述的 特定优先权规则, 亦可考虑其它的优先权规则。
     虽然本发明以较佳实施例揭露如上, 然其仅用于说明而非限定本发明, 任何本领 域技术人员, 在不脱离本发明的精神和范围内, 当可作各种更动与润饰。举例而言, 软件可 用以提供装置与方法的功能、 组建、 模化、 模拟、 描述及 / 或测试。这可以通过一般的程序语 言 ( 例如 : C、 C++)、 硬件描述语言 (hardware description language, HDL) 如 Verilog HDL、 VHDL 等, 或其它可能的程序。 此类软件可被放置于任何已知的计算机使用媒介, 例如一半导 体, 一磁盘或一光盘片 ( 例如 : CD-ROM, DVD-ROM 等 )。本发明所描述的装置与方法实施例可 能包含在半导体智慧财产核心, 例如一个微处理器核心或芯片组核心 ( 如 : 通过硬件描述 语言实现 ), 而转换为集成电路制程的硬件。此外, 本发明的装置与方法可能通过一硬件与 软件的组合实现。因此本发明的保护范围不应限制于上述作为范例使用的最佳实施例, 而 当视上述权利要求范围所定义及其均等要件为准。具体而言, 本发明可以应用于一般计算 机系统中的微处理器装置或芯片组装置。最后, 本领域技术人员可应用本发明所揭露的观 念与特定实施例, 设计或修改其它架构达成与本发明相同目的, 仍不脱如附权利要求范围 所定义的范畴。

数据链路层传输器、优先权分配方法与优先权系统.pdf_第1页
第1页 / 共19页
数据链路层传输器、优先权分配方法与优先权系统.pdf_第2页
第2页 / 共19页
数据链路层传输器、优先权分配方法与优先权系统.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《数据链路层传输器、优先权分配方法与优先权系统.pdf》由会员分享,可在线阅读,更多相关《数据链路层传输器、优先权分配方法与优先权系统.pdf(19页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102347880A43申请公布日20120208CN102347880ACN102347880A21申请号201110354061422申请日2009081161/089,04820080814US12/509,00720090724US12/509,05620090724US200910163301520090811H04L12/40200601H04L29/06200601H04L12/5620060171申请人威盛电子股份有限公司地址中国台湾新北市72发明人赖彦廷曾纹郁74专利代理机构北京市柳沈律师事务所11105代理人钱大勇54发明名称数据链路层传输器、优先权分配方。

2、法与优先权系统57摘要本发明为一种数据链路层传输器,其包含多个仲裁器,其中每一个仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类而选择一个封包供传输;选择器,自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包;可编程的储存元件,其提供数值以控制该选择器。其中,至少于一优先权规则中,交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及至少于另一优先权规则中,确认/否认数据链路层封包的优先权高于交换层封包的优先权。30优先权数据62分案原申请数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书12。

3、页附图3页CN102347899A1/3页21一种数据链路层传输器,应用于高速PCI装置中,以管理高速PCI交换层封包及数据链路层封包,该数据链路层传输器包含优先权系统,其包含第一数据链路层封包,供初始化流程控制使用,具有最高的优先权;以及闲置数据字符,具有最低的优先权。2根据权利要求1所述的数据链路层传输器,其中该优先权系统还包含第二数据链路层封包,供功率状态进入使用,其优先权较该第一数据链路层封包的优先权为低。3根据权利要求2所述的数据链路层传输器,其中该优先权系统还包含再播放交换层封包,供重试缓冲区的再传输使用,其优先权较该第二数据链路层封包的优先权为低;以及新的交换层封包,其优先权较该。

4、再播放交换层封包的优先权为低。4根据权利要求3所述的数据链路层传输器,其中该优先权系统还包含确认/否认数据链路层封包,其优先权较该新的交换层封包的优先权为低;第三数据链路层封包,供更新流程控制使用,其优先权较该确认/否认交换层封包为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该第三数据链路层封包的优先权为低。5根据权利要求3所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新流程控制使用,其优先权较该新的交换层封包的优先权为低;确认/否认数据链路层封包,其优先权较该第三数据链路层封包的优先权为低;第四数据链路层封包,供确认该第二数据链路层封包使用,。

5、其优先权较该确认/否认数据链路层封包的优先权为低。6根据权利要求2所述的数据链路层传输器,其中该优先权系统还包含确认/否认数据链路层封包,其优先权较该第二数据链路层封包的优先权为低。7根据权利要求6所述的数据链路层传输器,其中该优先权系统还包含回放交换层封包,供重试缓冲区的再传输使用,其优先权较该确认/否认数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;第三数据链路层封包,供更新流程控制使用,其优先权较该新的交换层封包的优先权为低;第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该第三数据链路层封包的优先权为低。8根据权利要求7所述的数据链路层。

6、传输器,其中该优先权系统还包含确认/否认交换层封包,其SEQ数目大于该确认交换层封包,其优先权较该第四数据链路层封包的优先权低。9根据权利要求6所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新状态流程控制使用,其优先权较该确认/否认交换层封权利要求书CN102347880ACN102347899A2/3页3包的优先权为低;回放交换层封包,供重试缓冲区的再传输使用,其优先权较该第三数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该新的交换层封包的优先权为低。10根据权利要。

7、求2所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新流程控制使用,其优先权较该第二数据链路层封包的优先权为低。11根据权利要求10所述的数据链路层传输器,其中该优先权系统还包含回放交换层封包,供重试缓冲区的再传输使用,其优先权较该第三数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;确认/否认数据链路层封包,其优先权较该新的交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该新的交换层封包的优先权为低。12根据权利要求10所述的数据链路层传输器,其中该优先权系统还包含确认/否认数据链路层封包,其优。

8、先权较该第三数据链路层封包的优先权为低;回放交换层封包,供重试缓冲区的再传输使用,其优先权较该确认/否认数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该新的交换层封包的优先权为低。13一种优先权分配方法,该方法应用于高速PCI装置的数据链路层传输器,用以对交换层封包及数据链路层封包进行调度,其包含以下步骤使第一数据链路层封包具有最高优先权,该第一数据链路层封包供初始化流程控制使用;以及使一闲置数据字符具有最低优先权。14根据权利要求13所述的优先权分配方法,该方法还包含以下步骤对多个封包进行。

9、调度,该多个封包有第二数据链路层封包,供功率状态进入使用;确认/否认数据链路层封包;回放交换层封包,供重试缓冲区再传输使用;新的交换层封包;第三数据链路层封包,供更新流程控制使用;以及第四数据链路层封包,供确认该第二数据链路层封包使用。15根据权利要求14所述的优先权分配方法,该方法还包含以下步骤使该第二数据链路层封包具有次高优先权。16根据权利要求14所述的优先权分配方法,该方法还包含以下步骤权利要求书CN102347880ACN102347899A3/3页4使该新的交换层封包具有紧接于该回放交换层封包之后的优先权。17根据权利要求14所述的优先权分配方法,该方法还包含以下步骤使该第四数据链。

10、路层封包具有仅高于该闲置数据字符的优先权。18一种优先权系统,建立于高速PCI装置的数据链路层传输器内,以管理交换层封包及数据链路层封包的传输,该优先权系统包含最高优先权,分配给供流程控制初始化使用的数据链路层封包;次高优先权,分配给供功率状态进入使用的数据链路层封包;以及最低优先权,分配给闲置数据字符。19根据权利要求18所述的优先权系统,该系统还包含两个优先权,分别分配给供重试缓冲区的再传输使用的回放交换层封包与一新的交换层封包。20根据权利要求18所述的优先权系统,该系统还包含次低优先权,分配给供功率状态进入确认使用的数据链路层封包。权利要求书CN102347880ACN10234789。

11、9A1/12页5数据链路层传输器、优先权分配方法与优先权系统0001本申请是申请日为2009年8月11日、申请号为2009101633015、发明名称为“可选传输优先权的高速外围元件互连传输器与控制方法”的发明专利申请的分案申请。技术领域0002本发明关于序列式数据链路传输的优先权调度,尤指应用于高速PCI的序列式互连架构。背景技术0003近年来,被设计作为计算机系统中元件的数据转移使用的高速外围元件互连PERIPHERALCOMPONENTINTERCONNECT,PCI,已被广泛地应用于高速序列式链路输入输出I/O互连。高速PCI是一种序列式总线,与并列式总线相较,该种类的总线得以较少的针。

12、脚数目提供更高的效能,因此高速PCI便被用来以取代并列式的PCI与PCIX总线规格。有关于高速PCI的说明,请参见由PCI特殊利益团体SPECIALINTERESTGROUP,SIG所管理与散布的高速PCI规格书。0004于高速PCI架构中,高速PCI装置具有三个不连续的逻辑层,即,一交换层TRANSACTIONLAYER、一数据链路层DATALINKLAYER与一物理层PHYSICALLAYER,且各逻辑层分别具有一个传输部与一个接收部。于序列式链路上,高速PCI利用封包作为元件间的信息沟通使用,这些封包包括由数据链路层产生并消耗的数据链路层封包DATALINKLAYERPACKETS,DL。

13、LPS,以及由交换层产生并消耗的交换层封包TRANSACTIONLAYERPACKETS,TLPS。作为管理序列式数据链路使用的是数据链路层封包,其包含不同种类,例如与初始化、序列式链路的流程控制、功率管理等相关的数据链路层封包;而交换层封包则作为元件彼此间沟通交易使用,例如数据的读取与写入交易及该等种类的事件。0005不同种类的多个数据链路层封包及交换层封包可能排在同时传输。高速PCI数据链路层包含一仲裁器,通过该仲裁器对传输的封包进行优先权排序。该仲裁器依照一个优先权规则决定第一个传输的封包。原则上,该优先权规则必须确保所有封包均能于一定期间内完成传输,且不会被其它种类的封包所阻碍。该优先。

14、权规则可能影响一高速PCI链路上的传输效能,举例而言,倘若一个优先权规则分配一确认ACK数据链路层封包一相对较低的传输优先权,则该确认数据链结层封包会等待其它交换层封包的传输,若于该等待期间内,针对另一个接收的交换层封包又排了另一个确认封包,依据高速PCI的规格书的作法,此时仅需要传输第二个确认数据链路层封包,因为第二个确认数据链路层封包提供的信息,得用以取代第一个确认数据链路层封包的信息。亦即,这些确认数据链路层封包被重整成为一个确认数据链路层封包,藉此得以有效率地利用频宽。另一方面,倘若该优先权规则,分配一最高优先权给确认数据链路层封包传输,则每接收到交换层封包,便要传输确认数据链路层封包。

15、一次,这将丧失重整确认数据链路层封包的效益,而造成传输频宽的浪费,这个例子说明了优先权规则可能影响传输的效能的事实。0006高速PCI基本规格书第11修订版本指定了一个建议使用的传输调度的优先权规说明书CN102347880ACN102347899A2/12页6则,如下所述00071完成目前处理中的任何交换层封包或数据链路层封包的传输最高优先权;00082否认NAK数据链路层封包传输;00093于接收一重复的交换层封包,或确认延迟LATENCY定时器时间届满时,尽速进行传输确认数据链路层封包传输;00104流程控制数据链路层封包传输UPDATEFC;00115重试缓冲区的再传输;00126交换。

16、层的交换层封包;00137流程控制数据链路层封包传输INITFC1及INITFC2;00148所有其它的数据链路层封包传输最低优先权。0015高速PCI基本规格书所载的建议优先权规则,在一根联合体ROOTCOMPLEX,RC牵连至更复杂的交换行为时缺乏弹性,且该建议优先权规则在某些情形可能导致系统效能低落。发明内容0016本发明的一个目的,是提供一种高速PCI数据链路层传输器,自多个调度交换层封包及数据链路层封包中选择封包,于一高速PCI数据链路上进行传输,该数据链路层传输器包含多个仲裁器,其中每一个仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类,自该多个调度交换层。

17、封包及数据链路层封包中选择一封包。该数据链路层传输器装置亦包含一选择器,耦接至该多个仲裁器,该选择器用以自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包,于该高速PCI数据链路上进行传输。0017根据上述构想,该数据链路层传输器包含一可编程的储存元件,其提供一数值予该选择器,以控制该选择器自该多个仲裁器中选择该仲裁器。0018根据上述构想,至少一第一仲裁器所使用的优先权规则,令交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及至少一第二仲裁器所使用的优先权规则,令确认/否认数据链路层封包的优先权高于交换层封包的优先权。0019根据上述构想,至少一第。

18、一仲裁器,其使交换层封包的优先权高于确认/否认数据链路层封包的优先权以及更新流程控制数据链路层封包的优先权;至少一第二仲裁器,其使确认/否认数据链路层封包的优先权,高于该交换层封包的优先权以及更新流程控制数据链路层封包的优先权;以及至少一第三仲裁器,其使更新流程控制数据链路层封包的优先权,高于交换层封包的优先权以及确认/否认数据链路层封包的优先权。0020本发明的另一目的,是提供一种传输方法,应用于一高速PCI数据链路层传输器,通过一高速PCI数据链路传输交换层封包及数据链路层封包,该传输方法包括步骤由多个不同的优先权规则中选择一优先权规则,该多个不同的优先权规则使得每种交换层封包及数据链路层。

19、封包具有不同的优先权。该操作方法亦包含步骤使用该选择的优先权规则,于多个调度交换层封包及数据链路层封包中,选择一交换层封包或数据链路层封包,于该高速PCI数据链路上进行传输。0021本发明的又一目的,是提供一种高速PCI数据链路层传输器的操作方法,于一高说明书CN102347880ACN102347899A3/12页7速PCI数据链路上传输交换层封包及数据链路层封包,该方法包含步骤该数据链路传送器使用多个不同优先权规则以便自多个调度高速PCI交换层封包及数据链路层封包中进行选择,预测其中之一优先权规则能产生最佳效能,以便于该数据链结上进行调度传输,其中对于不同种类的该多个调度交换层封包及数据链。

20、路层封包,每一个优先权规则会分配不同的优先权。该操作方法亦包含步骤编程该数据链路层传输器,使其应用该预测的优先权规则,藉以自该多个调度高速PCI交换层封包及数据链路层封包中进行选择。0022本发明的又一目的,是提供一种数据链路层传输器,应用于高速PCI装置中,以管理高速PCI交换层封包及数据链路层封包,该数据链路层传输器包含优先权系统,其包含第一数据链路层封包,供初始化流程控制使用,具有最高的优先权;以及闲置数据字符,具有最低的优先权。0023本发明的又一目的,是提供一种优先权分配方法,该方法应用于高速PCI装置的数据链路层传输器,用以对交换层封包及数据链路层封包进行调度,其包含以下步骤使第一。

21、数据链路层封包具有最高优先权,该第一数据链路层封包供初始化流程控制使用;以及使一闲置数据字符具有最低优先权。0024本发明的又一目的,是提供一种优先权系统,建立于高速PCI装置的数据链路层传输器内,以管理交换层封包及数据链路层封包的传输,该优先权系统包含最高优先权,分配给供流程控制初始化使用的数据链路层封包;次高优先权,分配给供功率状态进入使用的数据链路层封包;以及最低优先权,分配给闲置数据字符。附图说明0025本发明图式中所包含的各元件列式如下0026图1为本发明的高速PCI装置方块图。0027图2为本发明图1所示的高速PCI装置的部分元件方块图,特别是图1中的高速数据链路层传输器。0028。

22、图3为本发明图2所示的高速数据链路层传输器的操作流程图。0029图4为说明本发明实施例中编程图2所示的控制暂存器的流程图。0030本发明图式中所包含的各元件列示如下00310032具体实施方式说明书CN102347880ACN102347899A4/12页80033本发明描述的实施例提供一个高速PCI数据链路层传输器以解决前述的效能问题,该传输器定义了多个于一实施例中为七个优先权规则供调度传输封包使用。该数据链路层传输器包含一个可编程的控制暂存器于一实施例中为三位暂存器,用以选择该多个优先权规则之一,以便选择下一个传输封包。每一个优先权规则可针对特定交换型态而提升效能。举例而言,一个高档的3D。

23、高速PCI显示卡,对于一个高速PCI根联合体ROOTCOMPLEX,RC提出需求时,将需要大规模的上游存储器读取MEMORYREAD,MRD周期CYCLE。为了达到较佳的传输效能,该根联合体需要传输背对背BACKTOBACK的完成交换层封包。因此,在一个使用大量上游存储器读取周期的交换型态中,数据链路层传输器可以从多个优先权规则中选择,使交换层封包的传输优先权较数据链路层封包的传输优先权为高,以增加交换层封包的背对背完成发生的可能性,并可以减少因为确认/否认数据链路层封包传输,导致中断交换层封包的背对背完成的情况发生。已知技术中,数据链路层传输器采用高速PCI基本规格书所建议的单一优先权规则,。

24、而本发明提供自多个优先权规则中进行选择的技术,可以大大地提升其效能。0034请参考图1,其为依据本发明所使用的高速PCI装置100的方块图,该高速PCI装置100可以使用于高速PCI的根联合体、端点、交换元件、或桥接器。该高速PCI装置100包含一交换层传输器102,其耦接于一数据链路层传输器104,另包含一物理层传输器106,其耦接于该数据链路层传输器104;该高速PCI装置100亦包含一个交换层接收器112,其耦接于一数据链路层接收器114,另包含一物理层接收器116,其耦接于该数据链路层接收器114。该物理层传输器106及该物理层接收器116分别耦接至该高速PCI序列式链路122,可与连。

25、接至该序列式链路112另外一端的另一个高速PCI装置进行传送或接收高速PCI封包数据链路层封包及交换层封包的行为。0035高速PCI规格书载明高速PCI架构包含三个不连续的逻辑层,即交换层、数据链路层与物理层,且各逻辑层分别具有一个传输部与一个接收部。关于这三个逻辑层不同功能的详细说明,请参见高速PCI规格书。元件102至元件116配合这些逻辑层并进行高速PCI规格书所描述的功能,不同的是,在高速PCI规格书中,数据链路层传输器仅使用一个优先权规则来选择要传输的封包,本发明作法则不然。请参见图1,本发明对于高速PCI规格书的数据链路层传输器104进行修改,使数据链路层传输器104不但可以使用多。

26、个优先权规则中的一个优先权规则,从多个调度的数据链路层封包与交换层封包中选择要传输的封包,还可以自行选择该优先权规则。更有利的是,用以选择封包的优先权规则,其选择是在高速PCI装置100的操作过程中动态决定的,该选择方式则是通过编程一个控制暂存器指定所要使用的优先权规则。0036尽管图1中的元件102116是以逻辑元件的方式描述,在实施例中可通过一硬件电路实现该功能,在其它实施例中,可以通过一个或多个可编程的处理器,以执行储存程序的方式实现其部分功能。0037请参见图2,其是图1的高速PCI装置100的部分元件方块图,特别是图1中的高速PCI数据链路层传输器104。该高速PCI装置100包含一。

27、调度封包池202,该调度封包池202包含所有由交换层传输器102与数据链路层传输器104产生的交换层封包及数据链路层封包,所有封包于该序列链路122上已备妥即将传输。于一实施例中,该调度封包池202包含多个调度封包队伍,每一个队伍持有一封包种类的调度封包。具体而言,各队伍的封包说明书CN102347880ACN102347899A5/12页9种类对应于以下所讨论的多个优先权规则所指定的封包种类。举例而言,于一实施例中,对于下述表一所指定的封包种类均有一个对应的调度封包队伍,因为表一的第一优先权规则将表二至表七中认为相同种类的封包区分成两种封包,所以表一实际上为表二至表七所列的不同封包种类的超集。

28、。于一实施例中,在同一个调度封包队伍里的封包,其相同种类封包以先进先出的方式进行传输。0038该数据链路层传输器104包含多个优先权规则仲裁器2041、2042、2043、2044、2045、2046及2047,下面统称为优先权规则仲裁器204或仲裁器204。每一个仲裁器204均得检视该调度封包池202的内容,并依据个别仲裁器所对应的优先权规则,自该调度封包池202选择一个封包准备于序列链路122上进行传输。于一实施例中,仲裁器2041使用表一的第一优先权规则;仲裁器2042使用表二的第二优先权规则;仲裁器2043使用表三的第三优先权规则;仲裁器2044使用表四的第四优先权规则;仲裁器2045。

29、使用表五的第五优先权规则;仲裁器2046使用表六的第六优先权规则;仲裁器2047使用表七的第七优先权规则。每一个仲裁器204由个别的输出端2241至2247输出其选定的封包,输出端2241至2247将统称为输出端224。0039该数据链路层传输器104亦包含一个七对一多工器206,该多工器206的七个输入端分别连接至该七个仲裁器的个别输出端2241至2247。一个控制暂存器208提供一控制信号226至该多工器206的控制输入端,通过其控制,选择由输入端2241至2247其中的一个作为该多工器206的输出,作为最终允许的传输212,即,将在数据链路122上传输的封包。于一实施例中,该控制暂存器2。

30、08为三位的暂存器,其可以记录经编码过的数值,用以选择仲裁器204的一特定输出224。于一实施例中,该控制暂存器208是可编程的,得以在该高速PCI装置100的操作过程中,动态选择某个优先权规则,于说明图4时将提供更进一步的讨论。0040图2中的七个优先权规则仲裁器204使用表一至表七的七个优先权规则。关于个别封包种类的定义请参见高速PCI基本规格书修订版本11,以下仅简要说明个别封包种类的意义。00411流程控制数据链路层封包传输,其是供初始化流程控制使用的数据链路层数据封包,例如INITFC1与INITFC2。00422功率管理数据链路层封包传输,其是供功率状态进入使用的数据链路层封包,例。

31、如PM_ENTER_L1、PM_ENTER_L23及PM_ACTIVE_STATE_REQUEST_L1。00433流程控制数据链路层封包传输,例如UPDATEFC是供更新流程控制使用的数据链路层封包。00444功率管理数据链路层封包传输,PM_REQUEST_ACK是供确认该功率管理数据链路层封包传输使用的数据链路层封包。0045表一第一优先权规则0046说明书CN102347880ACN102347899A6/12页1000470048表二第二优先权规则0049说明书CN102347880ACN102347899A7/12页110050表三第三优先权规则0051说明书CN102347880。

32、ACN102347899A8/12页120052表四第四优先权规则00530054说明书CN102347880ACN102347899A9/12页130055表五第五优先权规则00560057表六第六优先权规则00580059说明书CN102347880ACN102347899A10/12页140060表七第七优先权规则00610062说明书CN102347880ACN102347899A11/12页150063请参考图3的流程图,用以解释图2中,本发明的高速PCI数据链路层传输器104的操作。该流程自步骤302开始。0064于步骤302中,该数据链路层传输器104准备好要在图1所示的高速PC。

33、I序列式链路122上传输一个封包即,来自调度封包池202的数据链路层封包或交换层封包。普遍说来,该数据链路层传输器104可如其所愿的进行传输,但在某些情况,如初始化或流程控制限制下,会要求该数据链路层传输器104先等待后,再传输封包。接着流程进入至步骤304。0065于步骤304中,图2中的每一个仲裁器204,均对封包池202中准备调度传输的封包进行检查,并各自选择其中一个封包进行传输。每一个仲裁器204均使用个别的优先权规则如上述表一至表七中的任一个优先权规则来选择封包。每一个仲裁器204通过个别的输出端2241至2247输出其选定的封包给多工器206。接着流程进入至步骤306。0066于步。

34、骤306中,该多工器206自输入2241至2247中择一作为最终允许传输的封包212。具体而言,依据控制暂存器208的输出206,藉以指定传输的封包为2241至2247的其中一个,作为该多工器206选择的最终允许传输的封包212。流程结束于步骤306。0067请参见图4的流程图,其绘示依据本发明图2的控制暂存器208的可编程流程。该流程自步骤402开始。0068于步骤402中,依据如图2中数据链路层传输器104即将于序列式链路122上传输的混合或串流形态的封包种类,一个元件预测前述表一至表七中的某一优先权规则可提供最高效能。该预测元件可能为系统软件,例如在系统CPU上执行的装置驱动程序;该预测。

35、元件可能是成对的高速PCI装置,通过序列式链路122耦接至图1中的高速PCI装置100,例如一影像控制器、一储存装置控制器、一网络接口控制器等;该预测元件亦可能是用以控制该成对高速PCI装置的软件。举例而言,图1中的高速PCI装置100,可为一根联合体,耦接至一高速PCI影像卡及影像控制器;或为一控制该影像控制器的软件,知道该影像控制器即将请求该根联合体进行传输,传输大量的存储器读取完成交换层封包至该影像控制器。此外,针对主要为交换层封包如存储器读取完成交换层封包的封包串流,该影像控制器或控制该影像控制器的软件知道在表一至表七中的特定优先权规则可能产生最佳的效能。流程继续进行至步骤404。00。

36、69请见步骤404,针对该数据链路层传输器104即将执行的混合封包种类传输,该预测元件以特定的数值编程图2的控制暂存器208,选择具有最佳效能的优先权规则。流程结束于步骤404。0070经由上述的说明可以得知,与一个仅使用单一优先权规则的高速PCI数据链路层传输器相比较,本发明具有从多个优先权规则中进行选择的能力,以便自不同种类的多个数据链路层封包与交换层封包中选择进行传输的封包,此弹性的作法可促进较佳的效能。这样的方式,特别适用于一些情形,即,高速PCI根联合体牵涉复杂的传输串流,以及/或不同种类的高速PCI端点装置等情形。0071尽管上述的各实施例中,高速PCI数据链路层传输器的控制暂存器。

37、通过耦接至根联合体的CPU进行编程的操作,该高速PCI数据链路层传输器亦可能包含一高速PCI从属端接口,用以接受PCI设定写入周期,使其它的高速PCI主控端得以编程该控制暂存器。再说明书CN102347880ACN102347899A12/12页16者,上述实施例虽说明高速PCI数据链路层传输器位于一高速PCI装置上的根联合体内,该数据链路层传输器还可以应用于任何高速PCI装置内,包括高速PCI的端点、交换元件或桥接器。更进一步而言,尽管上述实施例说明该高速PCI数据链路层传输器使用一特定数目的优先权规则于一实施例中,该数目为七,但亦可考虑其它数目的优先权规则,本发明并不限制该数目。最后,尽管。

38、上述实施例说明了数种优先权规则,但本发明并不限于上述的特定优先权规则,亦可考虑其它的优先权规则。0072虽然本发明以较佳实施例揭露如上,然其仅用于说明而非限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰。举例而言,软件可用以提供装置与方法的功能、组建、模化、模拟、描述及/或测试。这可以通过一般的程序语言例如C、C、硬件描述语言HARDWAREDESCRIPTIONLANGUAGE,HDL如VERILOGHDL、VHDL等,或其它可能的程序。此类软件可被放置于任何已知的计算机使用媒介,例如一半导体,一磁盘或一光盘片例如CDROM,DVDROM等。本发明所描述的装。

39、置与方法实施例可能包含在半导体智慧财产核心,例如一个微处理器核心或芯片组核心如通过硬件描述语言实现,而转换为集成电路制程的硬件。此外,本发明的装置与方法可能通过一硬件与软件的组合实现。因此本发明的保护范围不应限制于上述作为范例使用的最佳实施例,而当视上述权利要求范围所定义及其均等要件为准。具体而言,本发明可以应用于一般计算机系统中的微处理器装置或芯片组装置。最后,本领域技术人员可应用本发明所揭露的观念与特定实施例,设计或修改其它架构达成与本发明相同目的,仍不脱如附权利要求范围所定义的范畴。说明书CN102347880ACN102347899A1/3页17图1说明书附图CN102347880ACN102347899A2/3页18图2说明书附图CN102347880ACN102347899A3/3页19图3图4说明书附图CN102347880A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1