传送已寄存的数据至pci总线的装置与方法

文档序号:6552888阅读:188来源:国知局
专利名称:传送已寄存的数据至pci总线的装置与方法
技术领域
本发明系有关于传送数据的方法与装置,特别是关于可减少输出信号的延迟时间且不需大幅增加电路复杂度的传送已寄存的数据至PCI总线的装置与方法。
电脑系统通常采用一个或多个周边总线使各种装置之间能相互联系。这些装置(agent)之间的联系一般依据协定来执行。其中一项协定是外设部件互连(PCI)总线,当脉冲频率在66MHz时,允许每秒266Mb的数据通讯频宽。
基本上同时会有很多装置连接至PCI总线。当请求端发送总线动作(bustransaction)至其他接收端时,PCI总线即执行数据运送。请求端被称为“主控端”,而接收端被称为“受控端”。当主控端输出地址/命令至受控端后,若主控端的命令是“写入”动作,则主控端接着输出一组数据,同时受控端将地址/命令解码并接收数据;若主控端的命令是“读取”动作,则受控端回送数据。因此,总线动作包含一个地址相位(address phase)以及之后的一个或多个数据相位(dara phase)。
PCI数据传送是由FRAME#、IRDY#及TRDY#等三个信号来控制。FRAME#信号是由主控端驱动,藉以表示传送动作的起始和结束。IRDY#信号亦由主控端驱动,藉以将主控端准备传送数据的信息告知受控端。而TRDY#信号是由受控端驱动,藉以将受控端准备传送数据的信息告知主控端。若FRAME#和IRDY#信号两者被不使能时,接口是处在闲置状态。当FRAME#信号被使能时,被视为地址相位,且地址/总线命令码在第一脉冲边缘被送出。当IRDY#和TRDY#两者被使能时,数据在之后的数据相位期间被送出。当主控端结束最后的数据传送,FRAME#信号被不使能。在受控端完成最后的数据传送之后,TRDY#信号也是不使能,且接口回到闲置状态。


图1显示公知主控端的输出控制逻辑连接至PCI总线的功能方块图。PCI总线的规定中定义超过47个脚位,但是在本图中仅标示出AD总线AD[310]101。目前相位数据指针105、目前相位地址指针106、以及地址相位选择信号107是装置的内部状态信号。目前相位数据指针105和目前相位地址指针106是由输出动作控制的指针,藉以分别切换储存在缓冲器113和112的数据和地址。地址相位选择信号107是用来选择地址相位或数据相位。多工器111和I/O缓冲器110是用来驱动信号至PCI总线。数据缓冲器和地址缓冲器可以是任何形式的实施。
图2是描述图1公知主控端的运作的时序图。本图上半部显示主控端的内部信号的波形,以及下半部显示由主控端驱动输出信号至PCI总线的波形。在第三脉冲周期,该主控端利用多工器111根据地址相位选择信号107选择从地址缓冲器112所输出的地址Aj,且经过该多工器111与I/O缓冲器110的延迟D2后,将地址Aj驱动至PCI总线。在下一个脉冲周期时,地址相位选择信号107被不使能,该主控端利用多工器111根据地址相位选择信号107选择从数据缓冲器113所输出的数据Dj,且经过该多工器111与I/O缓冲器110的延迟D3后,将数据Dj驱动至PCI总线。因为无数据转换产生在第六脉冲周期,Dj是维持驱动至PCI总线。在第六脉冲周期之后,TRDY#和IRDY#信号两者同时被使能,目前相位数据指针105的指针j将改变为j+1。此外,由多工器111和I/O缓冲器110产生输出延迟,数据相位改变从Dj到Dj+1也导致一些延迟。
此外,如图1所示主控端在驱动AD信号至PCI总线之前,将包含大量的延迟,例如D1和D2。该延迟将减低受控端在接收同一PCI总线信号的可利用时间。当时序周期变的越来越短时,将难以使受控端有效地处理信号。举例而言,当时脉冲频率在66MHz且时序周期为15ns时,受控端将无法在此短或甚至更短时序期间内处理信号。
为了解决上述延迟问题,图3揭示出具有两层管线(pipeline)的其他电路。图3所示的功能方块图系描述公知的管线式装置的输出控制逻辑。在这电路结构中,在发送到PCI总线之前,先将输出信号寄存,且在信号被传送之前,由1R1W数据缓冲器310提前一个周期准备数据,该数据即为下一数据321。显然地,该电路必须使用其他寄存器,藉以在第一数据输出于PCI总线之前储存初值相位数据。如图3所示,该电路使用二个多工器311和312、以及二个触发器313和314来保持初值数据直到数据传送成功。然而,图3的电路相当复杂。
本发明的目的是提供一种可以减少输出信号延迟时间且不需大幅增加电路复杂度的传送已寄存数据至PCI总线的装置与方法。
根据本发明的传送已寄存的数据至PCI总线的装置,包含一数据缓冲器,用来储存多个寄存数据,并根据目前相位数据指针和下一相位数据指针来分别输出目前数据信号和下一数据信号;一地址缓冲器,用来储存地址,并依据目前相位地址指针输出目前地址;一第一多工器,系接收数据缓冲器的目前数据信号和地址缓冲器的地址,并根据地址相位选择信号输出目前数据信号或地址;一逻辑门,系从PCI总线接收IRDY#信号和TRDY#信号,并输出数据转换选择信号;一第二多工器,系接收数据缓冲器的下一数据信号和第一多工器输出的信号,并根据数据传送选择信号输出下一数据信号或第一多工器的输出信号;及一触发器,系接收第二多工器的输出,并根据参考脉冲将该第二多工器输出的信号驱动至该PCI总线。
一种传送已寄存的数据至PCI总线的方法,包含以下步骤(a)地址输出步骤,由地址缓冲器输出一地址信号到一第一多工器;(b)数据输出步骤,由一数据缓冲器分别输出目前数据信号和下一数据信号到前述第一多工器和一第二多工器;(c)第一逻辑步骤,由前述第一多工器依据一地址相位选择信号输出前述目前数据信号或前述地址信号;(d)第二逻辑步骤,由前述第二多工器依据一数据传送选择信号输出前述下一数据信号或前述第一多工器输出的信号;及(e)驱动步骤,由一触发器根据工作脉冲送出前述第二多工器的输出信号到PCI总线。
因此,藉由运用IRDY#信号和TRDY#信号的组合来切换由2R1W数据缓冲器所输出的目前数据与下一数据,并提前一个工作周期将地址或数据传送到触发器输入端,最后再由触发器根据工作脉冲送出数据或地址到PCI总线。故数据或地址只会受到触发器的延迟。
图1是公知主控端输出控制逻辑的功能方块图。
图2是描述图1公知主控端实际操作的时序图。
图3是公知主控端的另一输出控制逻辑的功能方块图。
图4是本发明应用于主控端的输出控制逻辑的功能方块图。
图5是描述图4实际操作的电路的时序图。
图6是本发明应用于受控端的输出控制逻辑的功能方块图。
图7是描述图6实际操作的电路的时序图。
以下参考附图详细说明本发明传送已寄存的数据至PCI总线的装置与方法,藉以在不大幅增加电路复杂度下,减少操作送出信号的延迟时间。
图4显示本发明应用于主控端的输出控制逻辑的功能方块图。在本实施例中,主控端400包含储存复数数据的二读一写(2R1W)数据缓冲器410、一储存多个地址的地址缓冲器411。该2R1W数据缓冲器410依据目前相位数据指针407和下一相位数据指针406分别输出目前数据404和下一数据403,同时该1R1W地址数据缓冲器411依据目前相位地址指针408输出目前地址405。该主控端400更包含一第一多工器412和一第二多工器413,藉以选择目前数据404、下一数据403或目前地址405。该第一多工器412连接至2R1W数据缓冲器410与1R1W地址缓冲器411,并依据地址相位选择信号409来选择目前数据404或目前地址405。同时,第二多工器413连接至2R1W数据缓冲器410和第一多工器412,并依据由或门415使能的数据传送选择信号401来选择下一数据403或第一多工器412所输出的信号。或门415接收IRDY#信号421和TRDY#信号422,并进行或(OR)运算。主控端400使用一触发器414将第二多工器413输出的Pre-AD信号驱动到PCI总线。该触发器414是由脉冲424的上缘触发。
本发明的主控端与公知主控端的主要不同处为(如图1所示)使用2R1W数据缓冲器410。该数据缓冲器410根据目前相位数据指针407和下一相位数据指针406分别输出目前数据404和下一数据403。
多工器412动作类似于图1所示的多工器111,除了提前一个脉冲周期(在PCI总线的实际AD动作的周期)来触发触发器414藉以清除已寄存的输出信号。在PCI总线成功传送数据后,即利用多工器413选择下一数据403;否则,多工器413选择多工器412输出的数据,藉以在PCI总线上维持相同数据。此外,多工器413的控制开关是数据传送选择信号401,也就是以IRDY#信号421和TRDY#信号422作为输入的或门逻辑415的输出。当有一数据成功传送后,数据缓冲器410会输出下一数据。反之,多工器413将选择由目前相位数据指针407所指向的目前数据404,并输出成Pre-AD信号402。在本发明中触发器414和I/O缓冲器416用来寄存输出信号。因为输出触发器414的节点只连接至I/O缓冲器416,因此本发明的优点是从触发器414输出的AD信号可直接由I/O缓冲器416传送到PCI总线。
图5是图4电路运作的时序图。该波形还包含本发明最佳实施例的PCI写入动作。类似图2的配置,本图上半部显示主控端的内部信号的波形,而下半部显示由主控端输出至PCI总线的输出信号的波形。需注意到,本发明的内部信号提前一个脉冲周期将数据输出至触发器414,即比在PCI总线的实际AD动作快一个周期。在本实施例中,地址相位选择信号409为1时,多工器412输出地址数据,而当数据传送选择信号401为0时,多工器413输出下一数据。以下说明每个周期的各信号动作,但省略第一周期的说明。
在第二脉冲周期时,地址相位选择信号409为1、且地址缓冲器411输出地址Aj、以及数据传送选择信号401为1。因此多工器412根据地址相位选择信号409输出地址Aj到多工器413,同时多工器413根据数据传送选择信号401将地址Aj输出至触发器414。故在此周期中,Pre-AD信号402为地址Aj。
在第三脉冲周期时,地址相位选择信号409为0且数据传送选择信号401为1,同时目前数据为Dj。多工器412根据地址相位选择信号409输出目前数据Dj到多工器413,同时多工器413根据数据传送选择信号401将目前数据Dj输出至触发器414。故在此周期中,Pre-AD信号402为目前数据Dj,而AD信号为地址Aj。
在第四脉冲周期时,地址相位选择信号409为0,且数据传送选择信号401为1,同时目前数据为Dj。多工器412根据地址相位选择信号409输出目前数据Dj到多工器413,同时多工器413根据数据传送选择信号401将目前数据Dj输出至触发器414。故在此周期中,Pre-AD信号402为目前数据Dj,而AD信号为目前数据Aj。
在第五周期时,地址相位选择信号409为0,且由于IRDY#信号421和TRDY#信号422皆为0,故数据传送选择信号401为1,同时下一数据为Dj+1。多工器413根据数据传送选择信号401将下一数据Dj+1输出至触发器414。故在此周期中,Pre-AD信号402为下一数据Dj+1,而AD信号为目前数据Dj。
在第六周期时,地址相位选择信号409为0且数据传送选择信号401为0,同时下一数据为Dj+2。多工器413根据数据传送选择信号401将下一数据Dj+2输出至触发器414。故在此周期中,Pre-AD信号402为下一数据Dj+2,而AD信号为下一数据Dj+1。在第七周期时,AD信号为下一数据Dj+2。
因此,从图5即可清楚看到,本发明的主控端400将AD信号驱动至PCI总线的延迟时间明显缩短。
图6显示本发明应用于受控端的输出控制逻辑的功能方块图。如该图所示,受控端的结构相似于主控端的结构,除了不具有地址信号控制电路。因此,图6的数据传送机构的电路,是类似于图4的电路。需注意到,主控端传送读取命令时,受控端将对应数据驱动至PCI总线,因此传送端可以是主控端或受控端。本发明亦可应用在具有相同总线协定的控制器。
图7是图6的电路运作的时序图。该时序图是关于主控端向受控端发布读取指令的情形。在第四脉冲周期,当主控端驱动地址或命令于PCI总线时,受控端600会对地址或命令解码。当受控端600确认为“读取”命令时,会在第四脉冲周期之后开始准备数据。以下分别说明各周期的动作。
在第四脉冲周期时,数据传送选择信号601为1,且目前数据为Dj,下一数据为Dj+1。因此,多工器611根据数据传送选择信号601将目前数据Dj输出至触发器612。故在此周期中,Pre-AD信号602为目前数据Dj,而AD信号不需要。
在第五脉冲周期时,数据传送选择信号601为0,且目前数据为Dj,下一数据为Dj+1。因此,多工器611根据数据传送选择信号601将下一数据Dj+1输出至触发器612。故在此周期中,Pre-AD信号602为下一数据Dj+1,而AD信号为数据Dj。
在第六脉冲周期时,主控端设定IRDY#621使能,数据传送选择信号601为1,且目前数据为Dj+1,下一数据为Dj+2。因此,多工器611根据数据传送选择信号601将目前数据Dj+1输出至触发器612。故在此周期中,Pre-AD信号602为目前数据Dj+1,而AD信号为数据Dj+1。
在第七脉冲周期时,主控端是不设定IRDY#621使能,数据传送选择信号601为0,且目前数据为Dj+1,下一数据为Dj+2。因此,多工器611根据数据传送选择信号601将下一数据Dj+2输出至触发器612。故在此周期中,Pre-AD信号602为下一数据Dj+2,而AD信号为数据Dj+1。
在第八脉冲周期时,Pre-AD信号602无作用,而AD信号为数据Dj+2。
参考图5至图7即可了解到,本发明的最佳实施例,传送延迟时间D4及D5比公知图2所示的传送延迟时间D2及D3要来的短。此外,本发明的最佳实施例的电路不会如图3所示的电路复杂。
以上本发明参考实施例,并不因此限定本发明的范围,只要不脱离申请专利范围覆盖,所有修正在不背离本发明的精神与范畴下,本领域技术人员可进行各种变形或变更。
权利要求
1.一种传送已寄存的数据至PCI总线的装置,包含一数据缓冲器,用来储存多个寄存数据,并根据目前相位数据指针和下一相位数据指针来分别输出目前数据信号和下一数据信号;一地址缓冲器,用来储存地址,并依据目前相位地址指针输出目前地址;一第一多工器,系接收前述数据缓冲器的前述目前数据信号和前述地址缓冲器的前述地址,并根据地址相位选择信号输出前述目前数据信号或前述地址;一逻辑门,系从PCI总线接收IRDY#信号和TRDY#信号,并输出数据转换选择信号;一第二多工器,系接收前述数据缓冲器的前述下一数据信号和前述第一多工器输出的信号,并根据前述数据传送选择信号输出前述下一数据信号或前述第一多工器输出的信号;及一触发器,系接收前述第二多工器的输出,并根据参考脉冲将该第二多工器输出的信号驱动至该PCI总线。
2.如权利要求1所记载的传送已寄存的数据至PCI总线的装置,更包含一第一I/O缓冲器,系连接于前述触发器,并将前述触发器的输出信号驱动至前述PCI总线;一第二I/O缓冲器,系连接于前述逻辑门,并从前述PCI总线传送前述IRDY#信号到该逻辑门;及一第三I/O缓冲器,系连接于前述逻辑门,并从前述PCI总线传送前述TRDY#信号到该逻辑门。
3.如权利要求1所记载的传送已寄存的数据至PCI总线的装置,其中前述逻辑门为一或门。
4.如权利要求2所记载的传送已寄存的数据至PCI总线的装置,其中前述逻辑门为一或门。
5.如权利要求2所记载的传送已寄存的数据至PCI总线的装置,其中前述数据缓冲器具有二读取口和一写入口。
6.一种传送已寄存的数据至PCI总线的方法,包含以下步骤地址输出步骤,由地址缓冲器输出一地址信号到一第一多工器;数据输出步骤,由一数据缓冲器分别输出目前数据信号和下一数据信号到前述第一多工器和第二多工器;第一选择步骤,由前述第一多工器依据一地址相位选择信号输出前述目前数据信号或前述地址信号;第二选择步骤,由前述第二多工器依据一数据传送选择信号输出前述下一数据信号或前述第一多工器输出的信号;及驱动步骤,由一触发器根据工作脉冲送出前述第二多工器输出的信号到PCI总线。
7.如权利要求6所记载的传送已寄存的数据至PCI总线的方法,其中前述数据传送选择信号系由IRDY#信号与TRDY#信号进行或(OR)运算的结果。
全文摘要
提供一种传送已寄存的数据至PCI总线的装置与方法,该装置与方法可减少输出信号的延迟时间,且不需大幅增加电路复杂度。该装置使用一2R1W数据缓冲器提前一个PCI总线的实际AD动作的脉冲周期送出目前相位数据和下一相位数据,并使用多工器依据选择信号选择目前相位数据或下一相位数据。而该选择信号是由IRDY#信号和TRDY#信号进行或运算的结果。这装置在实际AD动作周期时使用触发器来将多工器的输出信号驱动到PCI总线。因此,本发明的装置不但可减少输出信号的延迟时间,且易于实施。
文档编号G06F13/38GK1376990SQ0111200
公开日2002年10月30日 申请日期2001年3月26日 优先权日2001年3月26日
发明者林昌辅, 林志柔 申请人:矽统科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1