CN1321274A - 标志控制的请求代理仲裁 - Google Patents

标志控制的请求代理仲裁 Download PDF

Info

Publication number
CN1321274A
CN1321274A CN00801766A CN00801766A CN1321274A CN 1321274 A CN1321274 A CN 1321274A CN 00801766 A CN00801766 A CN 00801766A CN 00801766 A CN00801766 A CN 00801766A CN 1321274 A CN1321274 A CN 1321274A
Authority
CN
China
Prior art keywords
behalf
last
visit
request
service
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.)
Granted
Application number
CN00801766A
Other languages
English (en)
Other versions
CN1160635C (zh
Inventor
A·辛格
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1321274A publication Critical patent/CN1321274A/zh
Application granted granted Critical
Publication of CN1160635C publication Critical patent/CN1160635C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus arbitration
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Abstract

提供了服务多个请求访问总线的代理的方法与系统。这些代理是按各具有第一与第二对代理的群的分层次序布置的。在各群内,置位标志来指示哪一对是最后服务的及各对中哪一个代理是最后服务的。

Description

标志控制的请求代理仲裁
本发明涉及数字系统的仲裁,而具体地涉及控制多个请求代理对总线的访问。
控制多个代理对总线的公平访问的仲裁方案是已知的。例如,美国专利5485586提出排队对总线的访问请求及随后按受排队的请求所确定的次序授予访问。
虽然维护公平性是仲裁的重要职责,同时希望尽可能简单与迅速地进行仲裁。如果所采用的仲裁方案能保证在为某些高速应用规定的最小时段,如公平时限,中授予访问,也是有利的。这里所用的“公平时限”是指对实际请求访问总线的所有代理授予这种访问所需的时间。例如,IEEE 1394高性能串行总线标准要求在收到信息分组之后,如果要求转发该分组则必须在四个公平时限内完成。在按排队的请求的次序授予访问的系统中,这一要求不一定能满足,而是取决于请求排队的次序。换言之,访问的最小时段要求的满足可能是不可预测的。IEEE 1394标准对于计算机外围设备及消费品电子设备的高性能总线互联特别有用,尤其是对于在总线上传输高速数字音频与视频数据。
本发明的目的为以可预测的与迅速的方式实现仲裁。
本发明的另一目的为提供在规定的最小时段内对多个请求代理的各个保证总线访问的能力。
按照本发明,用下述方式服务请求访问总线的多个代理:·提供用于从第一与第二对请求代理接收请求的通信路径;·提供第一对中哪一个请求代理最后考虑访问总线的指示;·提供第二对中哪一个请求代理最后考虑访问总线的指示;·提供哪一对请求代理最后考虑访问总线的指示;·按照下述优先级授予当前请求访问的请求代理访问:·不是最后考虑访问的对中,不是最后考虑访问的请求代理;·不是最后考虑访问的对中,不是最后考虑访问的请求代理;·最后考虑访问的对中,不是最后考虑访问的请求代理;·最后考虑访问的对中,最后考虑访问的请求代理。
这一授予访问的方法自动适应实际作出请求的代理的数目。如将详细说明的,它还提供扩充仲裁到任何数目请求代理的能力。
图1为可利用本发明的示范数字系统的框图。
图2至5为展示示范请求情况中的仲裁的示意图。
图6为展示按照本发明的示范仲裁方法的流程图。
图7为展示本发明对不同数目的请求器代理的可应用性的示意图。
图1一般性示出能利用本发明的一种数字系统的示范实施例。该系统包含第一对请求代理t与r、第二对请求代理d与p、总线B、及用于控制请求代理对总线的访问的仲裁器10。若干示范被请求代理A1、A2、A3、…An连接在总线B上。在本实施例中,请求代理t、r、d、p通过请求代理控制器12间接连接在仲裁器10上以提供进行请求的路径。具体地,第一对请求代理t与r分别连接在第一对控制器端口121A与121B上,第二对请求代理d与p分别连接在第二对控制器端口122A与122B上,而控制器12连接在仲裁器10上。其它配置也是可能的,它们使仲裁器与请求控制器能协作控制请求代理对总线的访问。例如,可以设置与总线B隔离的第二总线,并可将请求代理、请求代理控制器与仲裁器全部连接在第二总线上直接互相通信。作为另一实例,仲裁器10可通过控制器12连接在请求代理t、r、d、p上,如图1中所示,并且还通过直接线路(未示出)连接在请求代理上。
请求代理t、r、d、p包括具有对连接在总线上的被请求代理的可控制的传递信息的能力的任何代理。典型代理实例包含诸如FIFO、DRAM及摄象机等设备。被请求代理包括能通过仲裁器与诸如FIFO及DRAM通信的任何代理。
请求代理控制器12管理从请求代理t、r、d、p到仲裁器10的信息流。例如,如果请示代理之一为FIFO,控制器将连续地实现指定FIFO中应对其写入或从其检索信息的单元的指针的更新。控制器12还监视从请求代理到总线的每一次传输的完成状态。控制器也可执行方便数字系统的独一无二的要求的功能。例如,如果总线B正在按照IEEE 1394标准操作,每当总线不能获得时,控制器可临时存储要在总线上传输的信息。
仲裁器10检测请求代理t、r、d、p对总线B的访问请求,设置指示最后考虑访问总线的请求代理对及各对中的代理的标志,以及在这些标志的基础上确定下一个给予哪一请求代理访问总线。授予访问是按照下述优先级作出的:·在不是最后考虑访问的对中,不是最后考虑访问的请求代理;·在不是最后考虑访问的对中,最后考虑访问的请求代理;·在最后考虑访问的对中,不是最后考虑访问的请求代理;·在最后考虑访问的对中,最后考虑访问的请求代理。
图2、3、4与5展示在四种不同情况中授予对总线的访问次序,即:·全部四个代理t、r、d、p都在请求访问(图2)。·只有代理r、d与p(一对中的两个及另一对中只有一个)正在请求访问(图3)。·只有代理r与d(每对一个)正在请求访问(图4)。·只有代理t与r(来自一对的两个,另一对没有)正在请求访问(图5)。其它所有可能情况类似于图3、4与5中所示的。这便是:·图3能适应于表示其中r、d或p为不正在请求访问总线的唯一代理的情况。·图4能适应于表示只有代理t与p正在请求访问的情况。·图5能适应于表示只有代理d与p正在请求访问的情况。
注意图3、4与5中的虚线框指示其中它所表示的代理当前不在请求访问或没有这种代理当前连接在系统上的情况。在这两种情况中,都将这种代理作为不正在请求的存在的代理对待。
在图6A至6J中所提供的流程图中描述按照本发明的授予请求代理访问的方法的实施例。如图6A中所示,仲裁器10通过在A1上等待通电复位(POR)命令起动该方法。当在A2上检测到这一命令时,仲裁器通过置位与复位指示这些代理的最后受服务状态的预定标志在A2.1上初始化系统。这建立了代理访问总线的初始优先级。具体地,仲裁器置位提供来指示哪一对代理(tr或dp)最后受服务(即最好考虑访问总线B)的一个标志,在各对中置位提供来指示该对中哪一个代理最后受服务的一个标志,及复位另一对代理及两个中的另一代理的对应标志。在所述实例中,该仲裁器:·置位标志dp,指示dp是最后受服务的一对代理;·复位标志tr,指示tr不是最后一对受服务的代理;·置位标志t与d,指示这些是分别在对tr与dp中最后受服务的代理;·复位标志t与p,指示这些不是分别在对tr与dp中最后受服务的代理。
初始化系统之后,仲裁器在A3上进入启动服务状态,然后在判定A4上检测是否所有代理d、p、t、r都正在请求访问总线B。如果否,进入判定B1(图6B)。如果是,仲裁器进入判定A5并检测dp是否最后受服务的对。如果判定A5为是,仲裁器进入判定A6并检测代理r是否是对tr中最后受服务的代理。
如果判定A6为是,仲裁器:·授予代理t访问;·复位标志r与dp,指示代理r与对dp不是最后受服务的;·置位标志t与tr,指示代理t与对tr是最后受服务的;·置位标志t与tr,指示代理t与对tr是最后受服务的;·在A3.1上进入等待模式,直到在A3.2上检测到已完成了对代理t的服务为止(即代理t已完成其对总线B的传输);以及·当已完成了对代理t的服务时,返回到A3上的开始服务状态。如果判定A6为否,则仲裁器:·授予代理r访问;·复位标志t与dp,指示代理t与对dp不是最后受服务的;·置位标志r与tr,指示代理r与对tr是最后受服务的;·在A3.1上进入等待模式,直到在判定A3.2上检测到已完成了对代理r的服务为止(即代理r已完成其对总线B的传输);以及·在完成了对代理r的服务时,返回到A3上的开始服务状态。
如果判定A5为否,仲裁器进入判定A5.1并检测代理d是否所服务的对dp的最后一个,如果判定A5.1为是,则仲裁器:·授予代理p访问;·复位标志d与tr,指示代理d与对tr不是最后受服务;·置位标志p与dp,指示代理p与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理p的服务为止(即代理p已完成了其对总线B的传输);以及·在已完成了对代理p的服务时,返回到A3上的开始服务状态。如果判定A4为否,则仲裁器:·授予代理d访问;·复位标志p与tr,指示代理p与对tr不是最后受服务的;·置位标志d与dp,指示代理d与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成了对代理d的服务为止(即代理d已完成其对总线B的传输);以及·在已完成了对代理d的服务时,返回到A3上的开始服务状态。
每当判定A4为否时,仲裁器沿判定链的优先级下行:·B1:代理d、p、r是否都正在请求访问?(见图6B。)·C1:代理d、p、t是否都正在请求访问?(见图6C。)·D1:代理p、t、r是否都正在请求访问?(见图6D。)·E1:代理d、t、r是否都正在请求访问?(见图6E。)·F1:代理d、p是否都正在请求访问?(见图6F。)·G1:代理t、r是否都正在请求访问?(见图6G。)·H1:代理p、r是否都正在请求访问?(见图6H。)·I1:代理p、t是否都正在请求访问?(见图6I。)·J1:对tr或对dp是否都正在请求访问?(见图6J。)直到检测到请求为止。如果未检测到请求,仲裁器返回到开始服务状态A3。
图6B示出开始在判定B1上的子例程,在其中仲裁检测是否所有代理d、p、r都正在请求访问总线B。如果否,它进入判定C1(图6C)。然而如果是,仲裁器进入判定B2并检测dp是否是最后受服务的对。
如果评定B2为是,仲裁器:·授予代理r访问;·复位标志t与dp,指示代理t与对dp不是最后受服务的;·置位标志r与tr,指示代理r与对tr是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成了对代理t的服务为止;以及·在已完成了对代理t的服务时,返回到A3上的开始服务状态。
如果判定B2为否,仲裁器进入判定B3并检测代理d是否对dp的最后受服务的。
如果判定B3为是,仲裁器:· 授予代理p访问;· 复位标志d与tr,指示代理d与对tr不是最后受服务的;· 置位标志p与dp,指示代理p与对dp是最后受服务的;· 在A3.1上进入等待模式,直到在判定A3.2上检测到已完成了对代理p的服务为止;以及· 在已完成了对代理p的服务时,返回到A3上的开始服务状态。
如果判定B3为否,仲裁器:· 授予代理d访问;· 复位标志p与tr,指示代理p与对tr不是最后受服务的;· 置位标志d与dp,指示代理d与对dp是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成了对代理d的服务为止;以及· 在已完成了对代理d的服务时,返回到A3上的开始服务状态。
图6C示出在判定C1上开始的子例程,在其中仲裁器检测是否所有代理d、p、t都正在请求访问总线B。如果否,它进入判定D1(图6D)。然而如果是,仲裁器进入判定C2并检测dp是否最后受服务的对。
如果判定C2为是,仲裁器:· 授予代理t访问;· 复位标志r与dp,指示代理r与对dp不是最后受服务的;· 置位标志t与tr,指示代理t与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成了对代理t的服务为止;以及· 在完成了对代理t的服务时,返回到A3上的开始服务状态。
如果判定C2为否,仲裁器进入判定C3并检测代理d是否对dp的最后受服务的。
如果判定C3为是,仲裁器:· 授予代理p访问;· 复位标志d与tr,指示代理d与对tr不是最后受服务的;· 置位标志p与dp,指示代理p与对dp是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理p的服务时为止;以及· 在已完成了对代理p的服务时,返回到A3上的开始服务状态。
如果判定C3为否,仲裁器:· 授予代理d访问;· 复位标志p与tr,指示代理p与对tr不是最后受服务的;· 置位标志d与dp,指示代理d与对dp是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理d的服务为止;以及· 在已完成了对代理d的服务时,返回到A3上的开始服务状态。
图6D示出在判定D1上开始的子例程,在其中仲裁器检测是否所有代理p、t、r都正在请求访问总线B。如果否,它进入判定E1(图6E)。然而如果是,仲裁器进入判定D2并检测tr是否最后受服务的对。
如果判定D2为是,仲裁器:· 授予代理p访问;· 复位标志d与tr,指示代理d与对tr不是最后受服务的;· 置位标志p与dp,指示代理p与对dp是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理p的服务为止;以及· 在已完成对代理p的服务时,返回到A3上的开始服务状态。
如果判定D2为否,仲裁器进入判定D3并检测代理r是否对tr的最后受服务的。
如果判定D3为是,仲裁器:· 授予代理t访问;· 复位标志r与dp,指示代理r与对dp不是最后受服务的;· 置位标志t与tr,指示代理t与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成了对代理t的服务为止;以及· 完成对代理t的服务时,返回到A3上的开始服务状态。
如果判定D3为否,仲裁器:· 授予代理r访问;· 复位标志t与dp,指示代理t与对dp不是最后受服务的;· 置位标志r与tr,指示代理r与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理r的服务为止;以及· 在完成对代理r的服务时,返回到A3上的开始服务状态。
图6E示出在判定E1上开始的子例程,其中仲裁器检测是否所有代理d、t、r都正在请求访问总线B。如果否,它进入判定F1(图6F)。然而如果是,仲裁器进入判定E2并检测tr是否最后受服务的对。
如果判定E2为是,仲裁器:· 授予代理d访问;· 复位标志p与tr,指示代理p与对tr不是最后受服务的;· 置位标志d与dp,指示代理d与对dp是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理d的服务为止;以及· 在完成对代理d的服务时,返回到A3上的开始服务状态。
如果判定E2为否,仲裁器进入判定E3并检测代理r是否对tr的最后受服务的。
如果判定E3为是,仲裁器:· 授予代理t访问;· 复位标志r与dp,指示代理r与对dp不是最后受服务的;· 置位标志t与tr,指示代理t与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理t的服务时为止;以及· 在完成对代理t的服务时,返回到A3上的开始服务状态。
如果判定E3为否,仲裁器:· 授予代理r访问;· 复位标志t与dp,指示代理t与对dp不是最后受服务的;· 置位标志r与tr,指示代理r与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理r的服务时为止;以及· 在已完成对代理r的服务时,返回到A3上的开始服务状态。
图6F示出在判定F1上开始的子例程,其中仲裁器检测是否代理d、p都正在请求访问总线B。如果否,它进入判定F3并检测是否代理t、r都正在请求访问总线B。如果否,它进入判定G1(图6G)。
如果判定F1为是,仲裁器进入判定F2并检测代理p是否对dp的最后受服务的。如果判定F2为是,它:· 授予代理d访问;· 复位标志p与tr,指示代理p与对tr不是最后受服务的;· 置位标志d与dp,指示代理d与对dp是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理d的服务时为止;以及· 在已完成对代理d的服务时,返回到A3上的开始服务状态。
如果判定F2为否,它:· 授予代理p访问;· 复位标志d与tr,指示代理d与对tr不是最后受服务的;· 置位标志p与dp,指示代理p与对dp是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理p的服务时为止;以及· 在已完成对代理p的服务时,返回到A3上的开始服务状态。
如果判定F3为是,仲裁器进入判定F4并检测代理r是否对tr的最后受服务的。
如果判定F4为是,它:· 授予代理t访问;· 复位标志r与dp,指示代理r与对dp不是最后受服务的;· 置位标志r与dp,指示代理t与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理t的服务时为止;以及· 在已完成对代理t的服务时,返回到A3上的开始服务状态。
如果判定F4为否,仲裁器:· 授予代理r访问;· 复位标志t与dp,指示代理t与对dp不是最后受服务的;· 置位标志r与tr,指示代理r与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理r的服务时为止;以及· 在已完成对代理r的服务时,返回到A3上的开始服务状态。
图6G示出在判定G1上开始的子例程,其中仲裁器检测代理t、r是否都正在请求访问总线B。如果否,它进入判定G3并检测是否代理d、t都正在请求访问总线B。
如果否,它进入判定H1(图6H)。· 如果判定G1为是,仲裁器进入判定G-2并检测代理r是否对tr的最后受服务的。如果判定G2为是,它:· 授予代理t访问;· 复位标志r与dp,指示代理r与对dp不是最后受服务的;· 置位标志t与tr,指示代理t与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理t的服务时为止;以及· 在已完成对代理t的服务时,返回到A3上的开始服务状态。
如果判定G2为否,它:· 授予代理r访问;· 复位标志t与dp,指示代理t与对dp不是最后受服务的;· 置位标志r与tr,指示代理r与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理r的服务时为止;以及· 在已完成对代理r的服务时,返回到A3上的开始服务状态。
如果判定G3为是,仲裁器进入判定G4并检测代理t是否对dt的最后受服务的。
如果判定G4为否,它:· 授予代理t访问;· 复位标志r与dp,指示代理t与对dp不是最后受服务的;· 置位标志t与tr,指示代理t与对tr是最后受服务的;· 在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理t的服务时为止;以及· 在已完成对代理t的服务时,返回到A3上的开始服务状态。
如果判定G4为是,仲裁器:· 授予代理d访问;·复位标志p与tr,指示代理p与对tr不是最后受服务的;·置位标志d与dp,指示代理d与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理d的服务时为止;以及·在已完成对代理d的服务时,返回到A3上的开始服务状态。
图6H示出在判定H1上开始的子例程,其中仲裁器检测代理p、r是否都正在请求访问总线B。如果否,它进入判定H3并检测代理d、r是否都正在请求访问总线B。如果否,它进入判定I1(图6I)。
如果判定H1为是,仲裁器进入判定H2并检测代理r是否对pr的最后受服务的。
如果判定H2为否,它:·授予代理r访问;·复位标志t与dp,指示代理t与对dp不是最后受服务的;·置位标志r与tr,指示代理r与对tr是最后受服务的;·在A3.1上进入等待模式,直到在判定A3.2上检测到已完成对代理r的服务时为止;以及·在已完成对代理r的服务时,返回到A3上的开始服务状态。
如果判定H2为是,它:·授予代理p访问;·复位标志d与tr,指示代理d与对tr不是最后受服务的;·置位标志p与dp,指示代理p与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理p的服务时为止;以及·在完成对代理p的服务时,返回到A3上的开始服务状态。·如果判定H3为是,仲裁器进入判定H4并检测代理r是否对dr的最后受服务的。如果判定H4为是,它:·授予代理d访问;·复位标志p与tr,指示代理p与对tr不是最后受服务的;·置位标志d与dp,指示代理d与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理d的服务时为止;以及·在已完成对代理d的服务时,返回到A3上的开始服务状态。
如果判定H4为否,仲裁器:·授予代理r访问;·复位标志t与dp,指示代理t与对dp不是最后受服务的;·置位标志r与tr,指示代理r与对tr是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理r的服务时为止;以及·在已完成对代理r的服务时,返回到A3上的开始服务状态。
图6I示出在判定I1上开始的子例程,其中仲裁器检测代理p、t是否都正在请示访问总线B。如果否,它进入判定J1(图6J)。然而如果是,仲裁器进入判定I2并检测代理t是否代理p、t的最后受服务的。如果判定I2为否,它:·授予代理t访问;·复位标志r与dp,指示代理r与对dp不是最后受服务的;·置位标志t与tr,指示代理t与对tr是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理t的服务时为止;以及·在已完成对代理t的服务时,返回到A3上的开始服务状态。
如果判定I2为是,它:·授予代理p访问;·复位标志d与tr,指示代理d与对tr不是最后受服务的;·置位标志p与dp,指示代理p与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理p的服务时为止;以及·已完成对代理p的服务时,返回到A3上的开始服务状态。
图6J示出在判定J1上开始的子例程,其中仲裁器检测是对tr或对dp正在请求访问总线B。如果否,仲裁器返回到A3上的开始服务状态。
如果判定J1为是,仲裁器进入判定J2并检测代理d是否正在请求访问。如果是,它:·授予代理d访问;·复位标志p与tr,指示代理p与对tr不是最后受服务的;·置位标志d与dp,指示代理d与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理d的服务时为止;以及·在已完成对代理d的服务时,返回到A3上的开始服务状态。
如果判定J2为否,仲裁器进入判定J3并检测代理r是否正请求访问。如果是,它:·授予代理r访问;·复位标志t与dp,指示代理t与对dp不是最后受服务的;·置位标志r与tr,指示代理r与对tr是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理r的服务时为止;以及·在已完成对代理r的服务时,返回到A3上的开始服务状态。
如果判定J3为否,仲裁器进入判定J4并检测代理t是否正在请求访问。如果是,它:·授予代理t访问;·复位标志r与dp,指示代理r与对dp不是最后受服务的;·置位标志t与tr,指示代理t与对tr是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理t的服务时为止;以及·在已完成对代理t的服务时,返回到A3上的开始服务状态。
如果判定J4为否,仲裁器进入判定J5并检测代理p是否正在请求访问。如果是,它:·授予代理p访问;·复位标志d与tr,指示代理d与对tr不是最后受服务的;·置位标志p与dp,指示代理p与对dp是最后受服务的;·在A3.1上进入等待模式直到在判定A3.2上检测到已完成对代理p的服务时为止;以及·在已完成对代理p的服务时,返回到A3上的开始服务状态。
如果判定J5为否,仲裁器返回到A3上的开始服务状态。
图7示出如果能将采用按照本发明的方法的系统扩展到任何数目的请求代理。具体地,图7A、7B、7C与7D集体示出多达28个连接在图1中所示的控制器12上的请求代理的服务的优先级的实例。如图3至5中,各虚线框表示当前不请求访问的代理或并未实际连接在系统上的代理。
分配给各代理定义其服务优先级的分层符号。在这一特定实例中,有三个分层的级:·第一级,具有请求代理t、r、d、p;·第二级,具有请求代理t1、t2、r1、r2、d1、d2、p1、p2;以及·第三级,具有请求代理t1.1、t1.2、t2.1、t2.2、r1.1、r1.2、r2.1、r2.2、d1.1、d1.2、d2.1、d2.2、p1.1、p1.2、p2.1、p2.2
利用图6的流程图,按下述次序顺序服务这些代理的群:·群t、r、d、p;·群t1、r1、d1、p1;·群t2、r2、d2、p2;·群t1.1、r1.1、d1.1、p1.1;·群t1.2、r1.2、d1.2、p1.2;·群t2.1、r2.1、d2.1、p2.1;·群t2.2、r2.2、d2.2、p2.2。为了按这一次序实现服务,可利用一组标志(如每一群一个)来跟踪哪一个群是最后受服务的。注意,可通过改变它们的分层符号简单地改变单个代理的服务优先级。
按照较佳实施例,可通过参照图2至5中对应于相当的请求情况的任何的一种确定授予图7的各群中的代理访问的次序。具体地:·在第一级的单个群t、r、d、p中,所有这四个代理都正在请求。这对应于图2中所示情况,并且按流程图的图6A所确定的次序授予这些请求代理访问。然后服务于第二级的第一群。·在第二级的第一群t1、r1、d1、p1中,所有这四个代理都正在请求。这也对应于图2中所示的情况,并按流程图的图6A所确定的次序授予这些请求代理访问。然后服务于第二级的第二群。·在第二级的第二群t2、r2、d2、p2中,所有这四个代理也都正在请求。这又对应于图2中所示的情况,并且按流程图的图6A所确定的次序授予这些请求代理访问。然后服务于第三级的第一群。·在第三级的第一群t1.1、r1.1、d1.1、p1.1中,只有代理t1.1与d1.2正在请求。这实质上对应于图4中所示的情况,并且按流程图的图6G所确定的次序授予这些请求代理访问。然后服务于第三级的第二群。·在第三级的第二群t1.2、r1.2、d1.2、p1.2中,只有代理t1.2与p1.2正在请求。这实质上对应于图4中所示的情况,并且按流程图的图6I所确定的次序授予这些代理访问。然后服务于第三级的第三群。·在第三级的第三群t2.1、r2.1、d2.1、p2.1中,只有代理d2.1与p2.1正在请求。这逆对应于图5中所示的情况,并且按流程图的图6F所确定的次序授予这些代理访问。然后服务于第三级的第四群。·在第三级的第四群t2.2、r2.2、d2.2、p2.2中,只有代理t2.2与d2.2正在请求。这实质上对应于图4中所示的情况,并且按流程图的图6G所确定的次序授予这些代理访问。然后通过返回到第一级的单一群重复该服务进程。

Claims (8)

1.一种服务多个请求访问总线(B)的代理的方法,所述方法包括:
a.提供用于接收来自请求代理第一(tr)与第二(dp)对的请求的通信路径;
b.提供第一对中哪一个请求代理(t、r)最后考虑访问总线的指示;
c.提供第二对中哪一个请求代理(d、p)最后考虑访问总线的指示;
d.提供哪一对请求代理最后考虑访问总线的指示;
e.按照下述优先级授予当前请求访问的请求代理访问;
    ⅰ.在不最后考虑访问的对中,不最后考虑访问的请求代理;
    ⅱ.在不最后考虑访问的对中,最后考虑访问的请求代理;
    ⅲ .在最后考虑访问的对中,不最后考虑访问的请求代理;
    ⅳ.在最后考虑访问的对中,最后考虑访问的请求代理。
2.权利要求1中的方法,其中将请求代理中缺失的一个作为不请求访问的代理对待。
3.权利要求1中的方法,其中为多个请求代理的群提供通信路径,各所述群包括第一与第二对所述请求代理。
4.权利要求3中的方法,其中这些群是按预定的分层次序服务的。
5.一种服务多个请求访问总线(B)的代理的系统,所述系统包括:
a.用于接收来自请求代理第一(tr)与第二(dp)对的请求的通信路径;
b.用于提供第一对中哪一个请求代理(t、r)最后考虑访问总线的指示的装置;
c.用于提供第二对中哪一个请求代理(d、p)最后考虑访问总线的指示的装置;
d.用于提供哪一对请求代理最后考虑访问总线的指示的装置;
e.用于按照下述优先级授予当前请求访问的请求代理访问的装置:
    ⅰ.在不最后考虑访问的对中,不最后考虑访问的请求代理;
    ⅱ.在不最后考虑访问的对中,最后考虑访问的请求代理;
    ⅲ.在最后考虑访问的对中,不最后考虑访问的请求代理;
    ⅳ.在最后考虑访问的对中,最后考虑访问的请求代理。
6.权利要求5中的系统,其中将请求代理中缺失的一个作为不请求访问的代理对待。
7.权利要求5中的系统,其中为多个请求代理的群提供通信路径,各所述群包括第一与第二对所述请求代理。
8.权利要求7的系统,其中这些群是按预定的分层次序服务的。
CNB008017662A 1999-06-22 2000-06-16 标志控制请求代理仲裁的方法和系统 Expired - Fee Related CN1160635C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/338050 1999-06-22
US09/338,050 US6374319B1 (en) 1999-06-22 1999-06-22 Flag-controlled arbitration of requesting agents

Publications (2)

Publication Number Publication Date
CN1321274A true CN1321274A (zh) 2001-11-07
CN1160635C CN1160635C (zh) 2004-08-04

Family

ID=23323202

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008017662A Expired - Fee Related CN1160635C (zh) 1999-06-22 2000-06-16 标志控制请求代理仲裁的方法和系统

Country Status (6)

Country Link
US (1) US6374319B1 (zh)
EP (1) EP1105806A1 (zh)
JP (1) JP2003502777A (zh)
KR (1) KR100753690B1 (zh)
CN (1) CN1160635C (zh)
WO (1) WO2000079402A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100341011C (zh) * 2002-10-14 2007-10-03 三星电子株式会社 用于判定主块优先权的参数产生电路及产生参数的方法
CN101326505B (zh) * 2005-08-11 2011-06-01 苹果公司 部分填充的分级交叉开关

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3843667B2 (ja) * 1999-10-15 2006-11-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7725759B2 (en) * 2005-06-29 2010-05-25 Sigmatel, Inc. System and method of managing clock speed in an electronic device

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2462745B1 (fr) 1979-07-30 1986-01-03 Jeumont Schneider Dispositif de partage temporel de l'acces a une memoire connectee a un bus unique entre un calculateur central et une pluralite de calculateurs peripheriques
JPS56108103A (en) 1980-01-31 1981-08-27 Toshiba Corp Data transmission system of digital control device
GB2168182A (en) 1984-12-05 1986-06-11 Conic Corp Data-driven processor
SE445861B (sv) 1984-12-12 1986-07-21 Ellemtel Utvecklings Ab Prioritetsfordelningsanordning for datorer
US4675865A (en) 1985-10-04 1987-06-23 Northern Telecom Limited Bus interface
US5051946A (en) * 1986-07-03 1991-09-24 Unisys Corporation Integrated scannable rotational priority network apparatus
JPS6375955A (ja) 1986-09-19 1988-04-06 Fujitsu Ltd プログラムモ−ド・アクセス制御方式
US5388228A (en) * 1987-09-30 1995-02-07 International Business Machines Corp. Computer system having dynamically programmable linear/fairness priority arbitration scheme
GB8805668D0 (en) 1988-03-10 1988-04-07 Crosfield Electronics Ltd Image data handling
US4872004A (en) 1988-05-02 1989-10-03 Sun Electric Corporation Plural source arbitration system
US5047921A (en) * 1989-01-31 1991-09-10 International Business Machines Corporation Asynchronous microprocessor random access memory arbitration controller
EP0388574B1 (en) 1989-03-23 1994-06-15 International Business Machines Corporation Method and apparatus for distributed queue multiple access in a communication system
US5293493A (en) 1989-10-27 1994-03-08 International Business Machines Corporation Preemption control for central processor with cache
WO1991010959A1 (en) 1990-01-11 1991-07-25 Bull Micral Of America, Inc. Method and apparatus for microprocessor access arbitration
US5220653A (en) 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
JPH04199349A (ja) * 1990-11-29 1992-07-20 Fujitsu Ltd バス制御方式
GB2251361B (en) 1990-12-28 1995-03-15 Apple Computer Arbiter for bus coupler
FR2675286B1 (fr) 1991-04-15 1993-06-18 Bull Sa Circuit integre arbitreur de bus mca et utilisations d'un tel circuit.
US5485586A (en) 1992-01-10 1996-01-16 Digital Equipment Corporation Queue based arbitration using a FIFO data structure
EP0559408B1 (en) * 1992-03-04 1998-08-26 Motorola, Inc. A method and apparatus for performing bus arbitration using an arbiter in a data processing system
US5630173A (en) * 1992-12-21 1997-05-13 Apple Computer, Inc. Methods and apparatus for bus access arbitration of nodes organized into acyclic directed graph by cyclic token passing and alternatively propagating request to root node and grant signal to the child node
JP2959372B2 (ja) * 1993-12-03 1999-10-06 日本電気株式会社 クロック生成回路
US5473762A (en) * 1994-01-25 1995-12-05 Apple Computer Inc. Method and system for pipelining bus requests
DE4426123C2 (de) 1994-07-22 1998-05-20 Siemens Nixdorf Inf Syst Arbitrierung bei verzögernder Buskopplung
US5519837A (en) * 1994-07-29 1996-05-21 International Business Machines Corporation Pseudo-round-robin arbitration for a shared resource system providing fairness and high throughput
US5550875A (en) * 1994-12-29 1996-08-27 Unisys Corporation Apparatus and method for residual error clock skew bound, and clocking therewith
US5671369A (en) 1995-12-22 1997-09-23 Unisys Corporation Bus grant overlap circuit
GB2308959A (en) 1995-12-29 1997-07-09 Ericsson Telefon Ab L M Data switching apparatus with fair queuing
US5805838A (en) 1996-05-31 1998-09-08 Sun Microsystems, Inc. Fast arbiter with decision storage
US5784569A (en) 1996-09-23 1998-07-21 Silicon Graphics, Inc. Guaranteed bandwidth allocation method in a computer system for input/output data transfers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100341011C (zh) * 2002-10-14 2007-10-03 三星电子株式会社 用于判定主块优先权的参数产生电路及产生参数的方法
CN101326505B (zh) * 2005-08-11 2011-06-01 苹果公司 部分填充的分级交叉开关

Also Published As

Publication number Publication date
WO2000079402A1 (en) 2000-12-28
EP1105806A1 (en) 2001-06-13
CN1160635C (zh) 2004-08-04
KR100753690B1 (ko) 2007-08-30
US6374319B1 (en) 2002-04-16
KR20010072832A (ko) 2001-07-31
JP2003502777A (ja) 2003-01-21

Similar Documents

Publication Publication Date Title
KR0167818B1 (ko) 버스 중재 시스템, 버스 중재 회로, 버스 중재 방법 및 데이타 전송 방법
CN100552656C (zh) 减小芯片上系统互连中的传送等待时间的方法和设备
US8041869B2 (en) Method and system for bus arbitration
US6760793B2 (en) Transaction credit control for serial I/O systems
US7243179B2 (en) On-chip inter-subsystem communication
EP2306328B1 (en) Communications system and method with multilevel connection identification
JP2622654B2 (ja) 複数要求間の仲裁方法およびその装置
US6757795B2 (en) Apparatus and method for efficiently sharing memory bandwidth in a network processor
US20040019726A1 (en) Buffer management and transaction control for serial I/O systems
CN1608256A (zh) 使用多个消息组的计算机系统中的代理之间的通信消息请求事务类型
US20120036291A1 (en) Stream priority
CN1507592A (zh) 在高速缓存脉冲周期期间控制总线仲裁的系统和方法
US20130046933A1 (en) Storing data in any of a plurality of buffers in a memory controller
US20110208887A1 (en) Method and apparatus for performing arbitration
CN101061690A (zh) PCI Express总线中基于性能的分组排序
US7487276B2 (en) Bus arbitration system
CN1321274A (zh) 标志控制的请求代理仲裁
CN1324499C (zh) 处理不期望的完成分组和具有非成功完成状态的完成分组的方法
US7234012B2 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
US5689657A (en) Apparatus and methods for bus arbitration in a multimaster system
US6336179B1 (en) Dynamic scheduling mechanism for an asynchronous/isochronous integrated circuit interconnect bus
CN1461440A (zh) 在集成电路间的环境中具有可编程地址的集成电路
US5970253A (en) Priority logic for selecting and stacking data
US8386682B2 (en) Method, apparatus and system for maintaining transaction coherecy in a multiple data bus platform
US20030172237A1 (en) Re-ordering requests for shared resources

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
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070831

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20070831

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

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

Granted publication date: 20040804

Termination date: 20100616