CN101635662B - 可选传输优先权的高速外围元件互连传输器与控制方法 - Google Patents

可选传输优先权的高速外围元件互连传输器与控制方法 Download PDF

Info

Publication number
CN101635662B
CN101635662B CN200910163301.5A CN200910163301A CN101635662B CN 101635662 B CN101635662 B CN 101635662B CN 200910163301 A CN200910163301 A CN 200910163301A CN 101635662 B CN101635662 B CN 101635662B
Authority
CN
China
Prior art keywords
package
priority
data link
link layer
layer package
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
Application number
CN200910163301.5A
Other languages
English (en)
Other versions
CN101635662A (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN101635662A publication Critical patent/CN101635662A/zh
Application granted granted Critical
Publication of CN101635662B publication Critical patent/CN101635662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

可选传输优先权的高速外围元件互连传输器与控制方法
技术领域
本发明关于序列式数据链路传输的优先权调度,尤指应用于高速PCI的序列式互连架构。
背景技术
近年来,被设计作为计算机系统中元件的数据转移使用的高速外围元件互连(Peripheral Component Interconnect,PCI),已被广泛地应用于高速序列式链路输入输出(I/O)互连。高速PCI是一种序列式总线,与并列式总线相较,该种类的总线得以较少的针脚数目提供更高的效能,因此高速PCI便被用来以取代并列式的PCI与PCI-X总线规格。有关于高速PCI的说明,请参见由PCI特殊利益团体(Special Interest Group,SIG)所管理与散布的高速PCI规格书。
于高速PCI架构中,高速PCI装置具有三个不连续的逻辑层,即,一交换层(Transaction Layer)、一数据链路层(Data Link Layer)与一物理层(Physical Layer),且各逻辑层分别具有一个传输部与一个接收部。于序列式链路上,高速PCI利用封包作为元件间的信息沟通使用,这些封包包括由数据链路层产生并消耗的数据链路层封包(data link layer packets,DLLPs),以及由交换层产生并消耗的交换层封包(transaction layerpackets,TLPs)。作为管理序列式数据链路使用的是数据链路层封包,其包含不同种类,例如:与初始化、序列式链路的流程控制、功率管理等相关的数据链路层封包;而交换层封包则作为元件彼此间沟通交易使用,例如数据的读取与写入交易及该等种类的事件。
不同种类的多个数据链路层封包及交换层封包可能排在同时传输。高速PCI数据链路层包含一仲裁器,通过该仲裁器对传输的封包进行优先权排序。该仲裁器依照一个优先权规则决定第一个传输的封包。原则上,该优先权规则必须确保:所有封包均能于一定期间内完成传输,且不会被其它种类的封包所阻碍。该优先权规则可能影响一高速PCI链路上的传输效能,举例而言,倘若一个优先权规则分配一确认(Ack)数据链路层封包一相对较低的传输优先权,则该确认数据链结层封包会等待其它交换层封包的传输,若于该等待期间内,针对另一个接收的交换层封包又排了另一个确认封包,依据高速PCI的规格书的作法,此时仅需要传输第二个确认数据链路层封包,因为第二个确认数据链路层封包提供的信息,得用以取代第一个确认数据链路层封包的信息。亦即,这些确认数据链路层封包被重整成为一个确认数据链路层封包,藉此得以有效率地利用频宽。另一方面,倘若该优先权规则,分配一最高优先权给确认数据链路层封包传输,则每接收到交换层封包,便要传输确认数据链路层封包一次,这将丧失重整确认数据链路层封包的效益,而造成传输频宽的浪费,这个例子说明了优先权规则可能影响传输的效能的事实。
高速PCI基本规格书第1.1修订版本指定了一个建议使用的传输调度的优先权规则,如下所述:
1.完成目前处理中的任何交换层封包或数据链路层封包的传输(最高优先权);
2.否认(Nak)数据链路层封包传输;
3.于接收一重复的交换层封包,或确认延迟(latency)定时器时间届满时,尽速进行传输确认数据链路层封包传输;
4.流程控制数据链路层封包传输(updateFC);
5.重试缓冲区的再传输;
6.交换层的交换层封包;
7.流程控制数据链路层封包传输(initFC1及initFC2);
8.所有其它的数据链路层封包传输(最低优先权)。
高速PCI基本规格书所载的建议优先权规则,在一根联合体(rootcomplex,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所示的控制暂存器的流程图。
本发明图式中所包含的各元件列示如下:
102  交换层传输器        104  数据链路层传输器
106  物理层传输器        112  交换层接收器
114  数据链路层接收器    116  物理层接收器
122  高速PCI序列式链路   202  调度封包池
204-1~204-7  仲裁器     206  多工器
208  控制暂存器          212  最终允许传输
224-1~224-7 仲裁器输出
具体实施方式
本发明描述的实施例提供一个高速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是供确认该功率管理数据链路层封包传输使用的数据链路层封包。
           表一  第一优先权规则
优先权       封包种类
1            流程控制数据链路层封包传输(initFC1及initFC2)
2            功率管理数据链路层封包传输(PM_Enter_L1、
             PM_Enter_L23及PM_Active_State_Request_L1)
3            确认/否认数据链路层封包传输
             (导因于以下可能:
             -收到一个重复的交换层封包
             -收到一个损坏的交换层封包
             -确认延迟定时器的时间届满)
4            回放交换层封包传输(重试缓冲区的再传输)
5            新的交换层封包传输(来自交换层的交换层封包,包括完
             成交换层封包)
6            流程控制数据链路层封包传输(UpdateFC)
7            功率管理数据链路层封包传输(PM_Request_Ack)
8            确认/否认数据链路层封包传输(收到一个交换层封包,
             该封包的SEQ数目多于已确认的交换层封包的SEQ数目)
9            传输闲置(无调度传输)
           表二  第二优先权规则
优先权       封包种类
1            流程控制数据链路层封包传输(initFC1及initFC2)
2            功率管理数据链路层封包传输(PM_Enter_L1、
             PM_Enter_L23及PM_Active_State_Request_L1)
3            回放交换层封包传输(重试缓冲区的再传输)
4            新的交换层封包传输(来自交换层的交换层封包,包括完
             成交换层封包)
5            确认/否认数据链路层封包传输
             (导因于以下可能:
             -收到一个重复的交换层封包
             -收到一个损坏的交换层封包
             -确认延迟定时器的时间届满
             -收到一个交换层封包,该封包的SEQ数目多于已确认
             的交换层封包的SEQ数目)
6            流程控制数据链路层封包传输(UpdateFC)
7            功率管理数据链路层封包传输(PM_Request_Ack)
8            传输闲置(无调度传输)
           表三  第三优先权规则
优先权       封包种类
1            流程控制数据链路层封包传输(initFC1及initFC2)
2            功率管理数据链路层封包传输(PM_Enter_L1、
             PM_Enter_L23及PM_Active_State_Request_L1)
3            放交换层封包传输(重试缓冲区的再传输)
4            新的交换层封包传输(来自交换层的交换层封包,包括完
             成交换层封包)
5            流程控制数据链路层封包传输(UpdateFC)
6            确认/否认数据链路层封包传输
             (导因于以下可能:
             -收到一个重复的交换层封包
             -收到一个损坏的交换层封包
             -确认延迟定时器的时间届满
             -收到一个交换层封包,该封包的SEQ数目多于已确认
             的交换层封包的SEQ数目)
7            功率管理数据链路层封包传输(PM_Request_Ack)
8            传输闲置(无调度传输)
           表四  第四优先权规则
优先权       封包种类
1            流程控制数据链路层封包传输(initFC1及initFC2)
2            功率管理数据链路层封包传输(PM_Enter_L1、
             PM_Enter_L23及PM_Active_State_Request_L1)
3            确认/否认数据链路层封包传输
             (导因于以下可能:
             -收到一个重复的交换层封包
             -收到一个损坏的交换层封包
             -确认延迟定时器的时间届满
             -收到一个交换层封包,该封包的SEQ数目多于已确认
             的交换层封包的SEQ数目)
4            放交换层封包传输(重试缓冲区的再传输)
5            新的交换层封包传输(来自交换层的交换层封包,包括完
             成交换层封包)
6            流程控制数据链路层封包传输(UpdateFC)
7            功率管理数据链路层封包传输(PM_Request_Ack)
8            传输闲置(无调度传输)
           表五  第五优先权规则
优先权       封包种类
1            流程控制数据链路层封包传输(initFC1及initFC2)
2            功率管理数据链路层封包传输(PM_Enter_L1、
             PM_Enter_L23及PM_Active_State_Request_L1)
3            确认/否认数据链路层封包传输
             (导因于以下可能:
             -收到一个重复的交换层封包
             -收到一个损坏的交换层封包
             -确认延迟定时器的时间届满
             -收到一个交换层封包,该封包的SEQ数目多于已确认
             的交换层封包的SEQ数目)
4            流程控制数据链路层封包传输(UpdateFC)
5            放交换层封包传输(重试缓冲区的再传输)
6            新的交换层封包传输(来自交换层的交换层封包,包括完
             成交换层封包)
7            功率管理数据链路层封包传输(PM_Request_Ack)
8            传输闲置(无调度传输)
           表六  第六优先权规则
优先权       封包种类
1            流程控制数据链路层封包传输(initFC1及initFC2)
2            功率管理数据链路层封包传输(PM_Enter_L1、
             PM_Enter_L23及PM_Active_State_Request_L1)
3            流程控制数据链路层封包传输(UpdateFC)
4            放交换层封包传输(重试缓冲区的再传输)
5            新的交换层封包传输(来自交换层的交换层封包,包括完
             成交换层封包)
6            确认/否认数据链路层封包传输
             (导因于以下可能:
             -收到一个重复的交换层封包
             -收到一个损坏的交换层封包
             -确认延迟定时器的时间届满
             -收到一个交换层封包,该封包的SEQ数目多于已确认
             的交换层封包的SEQ数目)
7            功率管理数据链路层传输(PM_Request_Ack)
8            传输闲置(无调度传输)
           表七  第七优先权规则
优先权       封包种类
1            流程控制数据链路层封包传输(initFC1及initFC2)
2            功率管理数据链路层封包传输(PM_Enter_L1、
             PM_Enter_L23及PM_Active_State_Request_L1)
3            流程控制数据链路层封包传输(UpdateFC)
4            确认/否认数据链路层封包传输
             (导因于以下可能:
             -收到一个重复的交换层封包
             -收到一个损坏的交换层封包
             -确认延迟定时器的时间届满
             -收到一个交换层封包,该封包的SEQ数目多于已确认
             的交换层封包的SEQ数目)
5            回放交换层封包传输(重试缓冲区的再传输)
6            新的交换层封包传输(来自交换层的交换层封包,包括完
             成交换层封包)
7            功率管理数据链路层封包传输(PM_Request_Ack)
8            传输闲置(无调度传输)
请参考图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等)。本发明所描述的装置与方法实施例可能包含在半导体智慧财产核心,例如一个微处理器核心或芯片组核心(如:通过硬件描述语言实现),而转换为集成电路制程的硬件。此外,本发明的装置与方法可能通过一硬件与软件的组合实现。因此本发明的保护范围不应限制于上述作为范例使用的最佳实施例,而当视上述权利要求范围所定义及其均等要件为准。具体而言,本发明可以应用于一般计算机系统中的微处理器装置或芯片组装置。最后,本领域技术人员可应用本发明所揭露的观念与特定实施例,设计或修改其它架构达成与本发明相同目的,仍不脱如附权利要求范围所定义的范畴。

Claims (17)

1.一种高速PCI数据链路层传输器,自多个调度交换层封包及数据链路层封包中选择封包,于高速PCI数据链路上进行传输,该数据链路层传输器包含:
多个仲裁器,每一个该仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类,自该多个调度交换层封包及数据链路层封包中选择一封包;以及
选择器,耦接至该多个仲裁器,该选择器用以自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包,于该高速PCI数据链路上进行传输,
其中于该多个仲裁器中:
至少一第一仲裁器所使用的优先权规则,令交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及
至少一第二仲裁器所使用的优先权规则,令该确认/否认数据链路层封包的优先权高于该交换层封包的优先权。
2.根据权利要求1所述的高速PCI数据链路层传输器,还包含:
储存元件,耦接至该选择器,其提供一数值予该选择器,以控制该选择器自该多个仲裁器中选择该仲裁器。
3.根据权利要求2所述的高速PCI数据链路层传输器,其中该储存元件可于该数据链路层传输器的操作过程中进行编程。
4.根据权利要求1所述的高速PCI数据链路层传输器,其中该多个仲裁器的数目多于四个。
5.根据权利要求1所述的高速PCI数据链路层传输器,其中该多个调度交换层封包及数据链路层封包至少包含以下三个种类:
第一种类封包,为该交换层封包;
第二种类封包,为该确认/否认数据链路层封包;以及
第三种类封包,为更新流程控制数据链路层封包,
其中该多个仲裁器包括至少一第一仲裁器、一第二仲裁器及一第三仲裁器;
该第一仲裁器所使用的优先权规则,为使该第一种类封包的优先权高于该第二种类封包的优先权以及该第三种类封包的优先权;
该第二仲裁器所使用的优先权规则,为使该第二种类封包的优先权,高于该第一种类封包的优先权以及该第三种类封包的优先权;以及
该第三仲裁器所使用的优先权规则,为使该第三种类封包的优先权,高于该第一种类封包的优先权以及该第二种类封包的优先权。
6.根据权利要求1所述的高速PCI数据链路层传输器,其中该多个调度交换层封包与数据链路层封包至少包含以下三个种类:
第一种类封包,为该交换层封包;
第二种类封包,为该确认/否认数据链路层封包;以及
第三种类封包,为更新流程控制数据链路层封包,
且依据该第一种类封包、该第二种类封包及该第三种类封包的相对优先权,还可以产生六种可能相对优先权的组合;
其中该多个仲裁器包含至少六个仲裁器;
其中该至少六个仲裁器使用不同的优先权组合,根据该六种可能相对优先权的组合,排定该多个调度交换层封包及数据链路层封包的优先权。
7.根据权利要求1所述的高速PCI数据链路层传输器,其中于该多个仲裁器中,至少一第一仲裁器所使用的优先权规则,令否认数据链路层封包的优先权高于确认数据链路层封包的优先权。
8.一种传输方法,应用于高速PCI数据链路层传输器,通过高速PCI数据链路传输高速PCI交换层封包及数据链路层封包,该传输方法包括以下步骤:
由多个不同的优先权规则中选择一优先权规则,该多个不同的优先权规则使得每种交换层封包及数据链路层封包具有不同的优先权;以及
使用该选择的优先权规则,于多个调度交换层封包及数据链路层封包中,选择一交换层封包或数据链路层封包,于该高速PCI数据链路上进行传输,
其中于该多个优先权规则中:
至少一第一优先权规则,其令交换层封包的优先权高于确认/否认数据链路层封包的优先权;且
至少一第二优先权规则,其令该确认/否认数据链路层封包的优先权高于该交换层封包的优先权。
9.根据权利要求8所述的传输方法,还包含以下步骤:
于选择该优先权规则之前,以一数值指定一优先权规则,并以该数值编程该高速PCI数据链路层传输器内的储存元件。
10.根据权利要求8所述的传输方法,其中该多个优先权规则多于四个。
11.根据权利要求8所述的传输方法,其中该多个调度交换层封包及数据链路层封包至少包含以下三个种类:
第一种类封包,为该交换层封包;
第二种类封包,为该确认/否认数据链路层封包;以及
第三种类封包,为更新流程控制数据链路层封包,
其中该多个优先权规则包括至少一第一优先权规则、一第二优先权规则及一第三优先权规则;
于该第一优先权规则中,该第一种类封包的优先权高于该第二种类封包的优先权及该第三种类封包的优先权;
于该第二优先权规则中,该第二种类封包的优先权高于该第一种类封包的优先权及该第三种类封包的优先权;以及
于该第三优先权规则中,该第三种类封包的优先权高于该第一种类封包的优先权及该第二种类封包的优先权。
12.根据权利要求8所述的传输方法,其中该多个调度交换层封包与数据链路层封包至少包含以下三个种类:
第一种类封包,为该交换层封包;
第二种类封包,为该确认/否认数据链路层封包;以及
第三种类封包,为更新流程控制数据链路层封包,
其中该三个种类的封包,共有六种可能的相对优先权组合;
其中该多个优先权规则包含至少六个优先权规则;
其中该至少六个优先权规则,为依据该六种可能的相对优先权组合,排定该多个调度交换层封包及数据链路层封包的优先权。
13.根据权利要求8所述的传输方法,其中于该多个优先权规则中,至少一第一优先权规则使否认数据链路层封包的优先权高于确认数据链路层封包的优先权。
14.一种高速PCI数据链路层传输器的操作方法,于高速PCI数据链路上传输高速PCI交换层封包及数据链路层封包,该方法包含以下步骤:
该数据链路层传输器使用多个不同优先权规则以便自多个调度高速PCI交换层封包及数据链路层封包中进行选择,预测其中之一优先权规则能产生最佳效能,以便于该数据链路上进行调度传输,其中对于不同种类的该多个调度高速PCI交换层封包及数据链路层封包,每一个优先权规则会分配不同的优先权;以及
编程该数据链路层传输器,使其应用该预测的优先权规则,藉以自该多个调度高速PCI交换层封包及数据链路层封包中进行选择,
其中于该多个优先权规则中:
至少一第一优先权规则,其令交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及
至少一第二优先权规则,其令该确认/否认数据链路层封包的优先权高于该交换层封包的优先权。
15.根据权利要求14所述的操作方法,其中该编程步骤,是可由具有该数据链路层传输器的一系统中的CPU实现。
16.根据权利要求14所述的操作方法,其中该可编程步骤,是可由具有该数据链路层传输器的一系统中的高速PCI主控端实现。
17.根据权利要求14所述的操作方法,其中该多个调度交换层封包及数据链路层封包至少包含以下三个种类:
第一种类封包,为该交换层封包;
第二种类封包,为该确认/否认数据链路层封包;以及
第三种类封包,为更新流程控制数据链路层封包,
其中该多个优先权规则包括至少一第一优先权规则、一第二优先权规则及一第三优先权规则;
于该第一优先权规则中,该第一种类封包的优先权高于该第二种类封包的优先权及该第三种类封包的优先权;
于该第二优先权规则中,该第二种类封包的优先权高于该第一种类封包的优先权及该第三种类封包的优先权;以及
于该第三优先权规则中,该第三种类封包的优先权高于该第一种类封包的优先权及该第二种类封包的优先权。
CN200910163301.5A 2008-08-14 2009-08-11 可选传输优先权的高速外围元件互连传输器与控制方法 Active CN101635662B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US8904808P 2008-08-14 2008-08-14
US61/089,048 2008-08-14
US12/509,056 US8706924B2 (en) 2008-08-14 2009-07-24 PCI-express data link transmitter employing a plurality of dynamically selectable data transmission priority rules
US12/509,007 US8006014B2 (en) 2008-08-14 2009-07-24 PCI-Express data link transmitter employing a plurality of dynamically selectable data transmission priority rules
US12/509,007 2009-07-24
US12/509,056 2009-07-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201110354061.4A Division CN102347880B (zh) 2008-08-14 2009-08-11 数据链路层传输器以及优先权分配方法

Publications (2)

Publication Number Publication Date
CN101635662A CN101635662A (zh) 2010-01-27
CN101635662B true CN101635662B (zh) 2012-06-27

Family

ID=41594729

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200910163301.5A Active CN101635662B (zh) 2008-08-14 2009-08-11 可选传输优先权的高速外围元件互连传输器与控制方法
CN201110354061.4A Active CN102347880B (zh) 2008-08-14 2009-08-11 数据链路层传输器以及优先权分配方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201110354061.4A Active CN102347880B (zh) 2008-08-14 2009-08-11 数据链路层传输器以及优先权分配方法

Country Status (3)

Country Link
US (2) US8006014B2 (zh)
CN (2) CN101635662B (zh)
TW (1) TWI402688B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050290B2 (en) 2007-05-16 2011-11-01 Wilocity, Ltd. Wireless peripheral interconnect bus
US9075926B2 (en) * 2007-07-19 2015-07-07 Qualcomm Incorporated Distributed interconnect bus apparatus
WO2011088203A1 (en) 2010-01-13 2011-07-21 Fisker Automotive, Inc. System and method of controlling a direct electrical connection and coupling in a vehicle drive system
TWI413907B (zh) * 2010-06-02 2013-11-01 Realtek Semiconductor Corp 一種用於訊號傳輸之省電方法及裝置
CN110769298A (zh) * 2018-07-26 2020-02-07 联发科技股份有限公司 信号处理电路以及相关方法
JP6700564B1 (ja) * 2018-12-28 2020-05-27 富士通クライアントコンピューティング株式会社 情報処理システム
US11128410B1 (en) * 2019-07-18 2021-09-21 Cadence Design Systems, Inc. Hardware-efficient scheduling of packets on data paths
KR102519484B1 (ko) * 2021-02-18 2023-04-10 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 이를 포함하는 시스템
CN113297022B (zh) * 2021-06-09 2023-03-24 海光信息技术股份有限公司 高速串行计算机扩展总线测试方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1403913A (zh) * 2002-10-18 2003-03-19 威盛电子股份有限公司 具有并行仲裁机制的多重允许控制器及其方法
CN1674440A (zh) * 2004-07-14 2005-09-28 威盛电子股份有限公司 动态多重输入优先权多任务器及其选择信号的方法
US6961793B2 (en) * 2001-11-20 2005-11-01 Nec Corporation Bus arbiter and bus access arbitrating method
CN1697425A (zh) * 2005-06-15 2005-11-16 威盛电子股份有限公司 数据读取方法以及相关的计算机系统
CN1874268A (zh) * 2006-05-17 2006-12-06 威盛电子股份有限公司 实现网络媒体存取控制的方法与相关装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881313A (en) * 1994-11-07 1999-03-09 Digital Equipment Corporation Arbitration system based on requester class and relative priority including transmit descriptor valid bit for a shared resource having multiple requesters
TWI230863B (en) * 2001-06-13 2005-04-11 Corrent Corp Input/output system and method for transferring control and data, and arbiter for coordinating data communication
US6966684B2 (en) * 2001-09-13 2005-11-22 Gelcore, Llc Optical wave guide
US7145914B2 (en) * 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7480312B2 (en) * 2002-08-19 2009-01-20 Tehuti Networks Ltd. Network traffic accelerator system and method
TW569236B (en) * 2002-10-03 2004-01-01 Via Tech Inc Multiple-grant controller with parallel arbitration mechanism and related method
US7525978B1 (en) * 2005-04-15 2009-04-28 Altera Corporation Method and apparatus for scheduling in a packet buffering network
TWI311705B (en) * 2005-05-23 2009-07-01 Via Tech Inc Peripheral component interconnect express and changing method of link power states thereof
US7583600B1 (en) * 2005-09-07 2009-09-01 Sun Microsytems, Inc. Schedule prediction for data link layer packets
US7558271B2 (en) * 2005-10-21 2009-07-07 International Business Machines Corporation Method and apparatus for adaptive bandwidth control with defined priorities for different networks
JP4878185B2 (ja) * 2006-03-17 2012-02-15 株式会社リコー データ通信回路および調停方法
US7752473B1 (en) * 2006-03-20 2010-07-06 Intel Corporation Providing a deterministic idle time window for an idle state of a device
US8462628B2 (en) * 2006-12-20 2013-06-11 Integrated Device Technology, Inc. Method of improving over protocol-required scheduling tables while maintaining same
JP4873557B2 (ja) * 2007-01-12 2012-02-08 ルネサスエレクトロニクス株式会社 データ処理装置及び半導体集積回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961793B2 (en) * 2001-11-20 2005-11-01 Nec Corporation Bus arbiter and bus access arbitrating method
CN1403913A (zh) * 2002-10-18 2003-03-19 威盛电子股份有限公司 具有并行仲裁机制的多重允许控制器及其方法
CN1674440A (zh) * 2004-07-14 2005-09-28 威盛电子股份有限公司 动态多重输入优先权多任务器及其选择信号的方法
CN1697425A (zh) * 2005-06-15 2005-11-16 威盛电子股份有限公司 数据读取方法以及相关的计算机系统
CN1874268A (zh) * 2006-05-17 2006-12-06 威盛电子股份有限公司 实现网络媒体存取控制的方法与相关装置

Also Published As

Publication number Publication date
CN102347880B (zh) 2014-09-17
US8706924B2 (en) 2014-04-22
US20100040087A1 (en) 2010-02-18
US8006014B2 (en) 2011-08-23
CN102347880A (zh) 2012-02-08
US20100042766A1 (en) 2010-02-18
TW201007468A (en) 2010-02-16
TWI402688B (zh) 2013-07-21
CN101635662A (zh) 2010-01-27

Similar Documents

Publication Publication Date Title
CN101635662B (zh) 可选传输优先权的高速外围元件互连传输器与控制方法
CN1150460C (zh) 计算机总线系统、通信系统和通过总线通信的方法
EP1835413B1 (en) Data communication circuit and arbitration method
EP2306328B1 (en) Communications system and method with multilevel connection identification
TWI402686B (zh) 通用序列匯流排輸出入埠傳送器及其傳送方法
US6996684B2 (en) Multiple-grant controller with parallel arbitration mechanism and related method
US11080220B2 (en) System on chip having semaphore function and method for implementing semaphore function
US8156273B2 (en) Method and system for controlling transmission and execution of commands in an integrated circuit device
CN101719110A (zh) 光通信器件中多路i2c器件的实时监控方法
CN103729329A (zh) 核间通信装置及方法
CN102291423A (zh) 控制物理层芯片的方法及控制电路
US20170017593A1 (en) Proactive quality of service in multi-matrix system bus
JP2007220046A (ja) バス装置、バスシステムおよび情報転送方法
US8838862B2 (en) Data transfer device, method of transferring data, and image forming apparatus
CN202815824U (zh) 微控制器系统
US20190278729A1 (en) Method of scheduling system-on-chip including real-time shared interface
US20090320034A1 (en) Data processing apparatus
US20080195782A1 (en) Bus system and control method thereof
CN101315547B (zh) 一种基于多fpga的控制系统
US9367493B2 (en) Method and system of communicating between peer processors in SoC environment
CN113886054A (zh) 一种中断处理装置、芯片和电子设备
JPH06243093A (ja) バス制御システム
JP2006065457A (ja) インタフェース回路生成装置およびインタフェース回路
JP4437386B2 (ja) 信号処理システム
US7975086B1 (en) Apparatus for real-time arbitration between masters and requestors and method for operating the same

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