用于在外围组件互连系统中的代理之间通信的设备和方法

文档序号:6545012阅读:200来源:国知局
专利名称:用于在外围组件互连系统中的代理之间通信的设备和方法
技术领域
本发明涉及一种PCI局部总线系统,特别涉及一种用于在构成PCI局部总线系统的代理(agent)之间通信的设备和方法。
背景技术
外围组件互连(PCI)局部总线是一种提供直接连接中央处理单元(CPU)和外围装置并高速传输数据的数据路径的局部总线,并具有比现有(视频电子标准协会(VESA)局部)(VL)总线稳定性和可扩展性更好的优点。与VL总线不同的是,PCI总线可以连接到任何种类的系统CPU。也就是说,由于PCI桥连接系统CPU和PCI总线,因此如果给系统CPU提供了PCI桥,则PCI总线可以连接到任何系统CPU。在下文中,将参考图1对构成系统的PCI局部总线上的装置之间的数据传输和连接进行描述。
图1示出了主装置(host)100、代理102、以及其上连接了主装置100和代理102的PCI局部总线。主装置100是用于控制PCI局部总线的装置,而代理102是通过PCI局部总线给主装置100提供附加功能的装置。例如,如果PC充当主装置,则网卡、声卡、图形卡等充当代理。此外,如果成像设备充当主装置,则网络打印机卡、无线LAN模块、硬盘驱动器(HDD)等充当代理。
图1的PCI局部总线包括连接主装置100和代理102的两条信号线。这两条信号线包括中断信号线和传输除中断信号以外的信号的信号线。中断是指在发生意外事件的情况下,停止当前作业,并执行根据意外状态的作业。中断信号是在发生意外状态的情况下请求执行根据该意外状态的作业的信号。
中断信号因电力故障、外围装置的请求、数据输入和输出终止、错误发生等而产生。
当需要状态改变或数据传输请求时,代理102产生中断信号到PCI局部总线,以便控制主装置100。主装置100通过检查PCI局部总线而得知中断信号的产生。如果在PCI局部总线上出现中断信号,则主装置100检查连接在PCI局部总线上的代理102的状态,并运行必要的中断服务例程。
在图1中,代理102通过使用中断信号线将中断信号发送给主装置100,并通过使用信号线发送除中断信号以外的信号。
图2示出了主装置200、两个代理202和204、以及连接主装置200和这两个代理202及204的PCI局部总线。这两个代理是代理1(202)和代理2(204)。PCI局部总线可具有至少一个代理,但是为了解释方便起见,图2示出了两个代理。
图2示出了如图1中的两条信号线。也就是说,这两条信号线是用于发送中断信号的中断信号线、和用于发送除中断以外的信号的信号线。代理204将中断信号发送给主装置200,并通过主装置200发送给代理202。如果代理204将中断信号发送给主装置200,则将适用与图1相同的描述。
然而,如果代理204将中断信号发送给代理202,则代理204不能将中断信号直接发送给代理202。如上所述,主装置200控制连接到PCI局部总线的所有装置。因此,通过主装置200发送要从代理202发送到代理204的中断信号。
例如,如果代理204将数据和用于发送该数据的中断信号发送给代理202,则代理204不具有可访问代理202的存储器的装置驱动程序。因而,代理204不能将中断信号和数据发送到代理202。主装置200管理连接到PCI局部总线的装置的装置驱动程序。因此,如果代理204将中断信号发送到主装置200,则主装置200读出存储在代理204中的数据。这样,代理204有可能首先将数据发送到主装置200,并将数据存储在其中,然后将中断信号发送到主装置200。主装置200通过使用所接收的中断信号将所存储的数据发送到代理202。主装置200按照与代理204向主装置200发送数据相同的方式将数据发送到代理202。
如上所述,由于代理204不具有用于直接控制代理202的装置驱动程序,因此主装置200必须连接在这两者之间。也就是说,代理202首先将数据和中断信号发送到主装置200,然后主装置200将其接收到的数据和中断信号发送到代理202,这增大了整个PCI局部总线上的通信量,并影响了主装置的性能。

发明内容
为了解决上述缺点和与传统布置相关的其它问题,提出了本发明。本发明的一方面是提供一种用于增大代理之间的数据传输处理速度的方法。
本发明的一方面是一种主装置不控制所有代理,而特定代理控制另一代理的方法。
本发明的另一方面是提供一种用于通过减小PCI局部总线系统的负荷来增大系统效率的方法。
本发明的另一方面是提供一种用于通过使用存在的组件减小新功能成本的方法。
前述和其它目的及优点主要通过提供这样一种总线系统来实现,其中,该总线系统包括主装置,用于控制该总线系统;第一代理,用于将数据发送到主装置并从主装置接收数据;以及至少一个第二代理,用于直接将数据发送到第一代理并从第一代理接收数据。
优选的是,主装置初始化第一代理的装置驱动程序,以控制第一代理。
优选的是,第一和第二代理通过用于发送和接收中断信号的中断信号线直接连接。该中断信号可指示是否出现了要发送的数据。
优选的是,第一和第二代理通过在外部提供给总线系统的中断信号线连接。
前述和其它目的及优点主要通过提供一种用于控制总线系统的方法来实现,其中,该总线系统具有主装置、和包括至少第一代理和至少一个第二代理的至少两个代理。该方法包括以下步骤激活总线系统;由主装置设置用于驱动第一代理的第一代理装置驱动程序;以及由第一代理设置驱动第二代理的第二代理装置驱动程序。


通过参考附图描述本发明的某些实施例,本发明的以上方面和特征将更加清楚,其中图1是示出连接主装置和代理的传统PCI局部总线的视图;图2是示出连接主装置和两个代理的传统PCI局部总线的视图;图3是示出根据本发明实施例的代理的示例操作的视图;图4是示出根据本发明实施例的第一代理的示例操作的视图;
图5是示出根据本发明实施例的第二代理的示例操作的视图;图6是示出根据本发明实施例的将数据从第一代理发送到第二代理的PCI局部总线的视图;以及图7是示出根据本发明另一实施例的将数据从第一代理发送到第二代理的PCI局部总线的视图。
具体实施例方式
在下文中,将参考附图对本发明的示范实施例进行详细描述。将参考图3到图5对具有一个主装置和两个代理的PCI局部总线系统中的每个代理的操作进行描述。此外,将参考图3对构成PCI局部总线系统的主装置进行描述。
图3是示出根据本发明实施例的构成PCI局部总线系统的主装置的示例操作的视图。
接通PCI局部总线系统(S300)。主装置将PCI局部总线系统初始化(S302)。随着PCI局部总线系统的初始化,主装置将它自己必需的信息初始化。也就是说,主装置将PCI存储器大小、超高速缓存线大小等初始化。此外,主装置将用于激活PCI局部总线系统的变量初始化。
主装置检测构成PCI局部总线系统的所有装置,并将检测到的装置初始化(S304)。装置的初始化包括将装置请求的存储区域分配给PCI地址的过程。也就是说,如果代理1请求存储区域x,而代理2请求存储区域y,则主装置分配PCI地址,以避免所请求的存储区域x和y重叠。通过分配PCI地址,装置获得与它们自己要使用的存储器有关的地址信息。也就是说,所述装置可以使用所分配的PCI地址内的存储器。
如果PCI局部总线系统的装置被成功地初始化,则激活PCI局部总线(S306)。主装置将构成PCI局部总线系统的一些装置如代理的装置驱动程序初始化(S308)。可以预先设置主装置,以便具有要为这些装置初始化的装置驱动程序。根据本发明的实施例,主装置不会初始化所有装置的装置驱动程序,而是初始化部分装置的装置驱动程序。主装置存储其装置地址已被初始化的装置的标识符,并检查是否已经有任何身份存在。如果作为检查的结果,主装置确定存在具有与所存储的标识符相同的标识符的装置,则主装置将存在的装置的装置驱动程序初始化。通过该装置驱动程序的初始化,主装置控制装置驱动程序已被初始化的装置的一般操作。也就是说,主装置通过确定所分配的PCI地址的使用来控制对应装置。如上所述,根据本发明的实施例,主装置仅初始化一些装置的装置驱动程序,由此可以减小PCI局部总线系统的负荷。
图4是示出根据本发明实施例的第一代理的示例操作的视图。如图3所述,代理1是其装置驱动程序已被主装置初始化的装置。在下文中,将参考根据本发明实施例的图4对其装置驱动程序已被主装置初始化的代理1的操作进行详细描述。
接通PCI局部总线系统(S400)。代理1将PCI局部总线系统初始化(S402)。代理1请求主装置为用于它自己的存储区域、以及与代理2相关的存储区域分配地址。也就是说,由于存在的代理1不具有用于直接接收由代理2发送的数据的存储器,因此它通过主装置接收数据,但是,在本发明的实施例中,由于代理1向主装置请求与代理2有关的存储区域,因此代理1可以直接接收代理2发送的数据。
代理1等待PCI局部总线被激活(S404)。激活PCI局部总线(S406)。通过激活PCI局部总线,给代理1分配了所请求的存储区域的PCI地址。也就是说,给代理1分配与代理2相关的存储区域和用于它自己的存储区域的PCI地址。
代理1检测PCI局部总线(S408)。代理1判定是否检测代理2(S410)。代理2是其装置驱动程序已被代理1初始化的装置。图4作为示例示出了代理1只检测一个装置,但是,在本发明的其它实施例中,代理1不限于只检测一个装置。也就是说,代理1检测其装置驱动程序已被代理1初始化的所有装置(S410)。然而,为方便起见,图4示出了代理1限于检测一个装置。代理1存储装置驱动程序已被初始化的装置的标识符,并判定是否检测到与所存储的标识符相同的标识符。如果作为判定的结果,存在与所存储的那些标识符相同的标识符,则代理1将存在的装置的装置驱动程序初始化。在图4中,代理1将代理2作为其装置驱动程序已被初始化的装置,并存储代理2的标识符。这样,代理1判定PCI局部总线上是否存在代理2(S410)。如果作为判定的结果,存在代理2,则执行步骤S412,而如果代理2不存在,则执行步骤S414,并且整个过程终止。
在步骤S412,代理1将代理2的装置驱动程序初始化。通过执行步骤S412,代理1可控制代理2。也就是说,代理1通过决定对所分配的与代理2有关的PCI地址的使用来控制代理2。
图5是示出根据本发明示范实施例的代理2的操作的视图。在下文中,将参考根据本发明实施例的图5对代理2的操作进行详细描述。
接通PCI局部总线系统(S500)。代理2将PCI局部总线系统初始化(S502)。代理2请求主装置为它自己要使用的存储区域分配地址(S502)。代理2等待PCI局部总线被激活(S504)。激活PCI局部总线(S506)。通过激活PCI局部总线,给代理2分配了所请求的存储区域的PCI地址。
如上所述,本发明的实施例将在构成PCI局部总线的装置中执行的功能分为三个功能。这三个功能是控制构成PCI局部总线的装置的一般操作的主装置、由主装置控制其操作的代理1、以及由代理1控制其操作的代理2。如上所述,主装置的部分功能在代理1中执行,因此减小了PCI局部总线的负荷。
图6是示出根据本发明示范实施例的用于在代理之间发送数据的过程的视图。在下文中,将参考图6对用于将数据从代理2发送到代理1的过程进行详细描述。
图6示出了包括主装置200、代理202(代理1)和代理204(代理2)的PCI局部总线系统。通常,PCI局部总线系统可包括除以上装置以外的其它装置,但是,为方便起见,图6示出这些装置限于主装置200、代理202和代理204。
如图3到图6所述,代理204由代理202控制。在下文中,例如,将对代理202和204之间的关系进行描述。假设在成像设备中,有线网络打印机卡连接到PCI局部总线。该有线网络打印机卡处理分组,并将必要信息发送给成像设备。如果要将无线功能添加到该成像设备,则添加无线网络打印机卡取代有线网络打印机卡以供使用效率不高。换句话说,需要有线和无线网络打印机卡来实现同时具有有线和无线功能的成像设备。然而,包括有线和无线网络打印机卡的成像设备增大了成像设备的成本和体积。对于这样的情况,希望只添加能够处理无线分组的无线模块。也就是说,优选的是无线模块处理无线分组,而有线网络打印机卡处理处理后的无线分组。例如,有线网络打印机卡执行代理1的功能,而无线模块执行代理2的功能。
如上所述,如果无线模块经过打印机(主装置),则用于处理分组的时间被延迟,并且PCI局部总线上的通信量也增大。
如图6所示,代理202通过中断信号线直接连接到代理204。如果代理204有数据要发送给代理202,则代理202通过使用中断信号线发送指示它是否有数据的信号。代理202使用通过中断信号线发送的信息,得知要发送给代理202的数据已存储在代理204中。由于代理202具有针对代理204的存储区域,因此代理202可以接收数据而不考虑主装置200。代理204首先产生中断,因此代理204可以通知代理202代理204有数据要发送给代理202。此外,代理204首先将数据发送到代理202,并产生中断,使得代理202能够处理已发送的数据。
图7是示出根据本发明实施例的用于在多个代理之间发送数据的示例过程的视图。在下文中,将参考图7对用于将数据从代理2发送到代理1的过程进行详细描述。
在图7中,PCI局部总线系统具有主装置200、代理202(代理1)、以及代理204和206(代理2)。通常,PCI局部总线系统可包括除上述装置以外的其它装置,但是为方便起见,图7示出所述装置限于主装置200、代理202以及代理204和206。
如图3到图5所述,代理204和206由代理202控制。
如图7所示,代理202通过中断信号线直接连接到代理204和206。如果代理204有数据要发送给代理202,则代理202通过使用中断信号线发送它是否具有该数据。代理202使用通过中断信号线发送的信息得知要发送给代理202的数据已存储在代理204中。由于代理202具有针对代理204的存储区域,因此代理202可以接收该数据而不考虑主装置200。代理204首先产生中断,因此代理204可以通知代理202代理204有数据要发送给代理202。此外,代理204首先将数据发送到代理202,并产生中断,使得代理202能够处理已发送的数据。
如果代理206也有数据要发送给代理202,则代理202通过使用中断信号线发送它是否具有该数据。代理202使用通过中断信号线发送的信息得知要发送给代理202的数据已存储在代理206中。由于代理202具有针对代理206的存储区域,因此代理202可以接收该数据而不考虑主装置200。代理206首先产生中断,因而代理206可以通知代理202代理206有数据要发送给代理202。此外,代理206首先将数据发送到代理202,并产生中断,使得代理202能够处理已发送的数据。
代理204和206相对于代理202独立操作。
对于要在主装置和代理之间发送的数据和中断,可以使用现有方法。也就是说,本发明的实施例公开了一种用于处理由代理发送的信息而不考虑主装置的方法。
如上所述,本发明的实施例允许在PCI局部总线系统下,如果特定代理向其它代理发送数据,则在没有主装置干预的情况下在代理之间直接通信,而无需将数据直接发送给主装置。这种代理之间的通信减小了PCI局部总线系统的负荷,并允许以更高的速度发送数据。
前述实施例和优点仅仅是示例性的,而不应被理解为限制本发明。这里讲述的内容可以容易地适用于其它类型的设备。此外,对本发明实施例的描述意图是说明性的,而不是要限制权利要求的范围,并且,对于本领域技术人员来说,很多替换、修改和改变将是清楚的。
权利要求
1.一种总线系统,包括主装置,用于控制该总线系统;第一代理,适配为将数据发送到主装置并从主装置接收数据;以及至少一个第二代理,适配为直接将数据发送到第一代理并从第一代理接收数据。
2.如权利要求1所述的总线系统,其中,第一和第二代理由用于互相通知是否发送了数据信号的中断线连接。
3.如权利要求2所述的总线系统,其中,第一和第二代理由该总线系统外部的中断信号线连接。
4.如权利要求1所述的总线系统,其中,主装置是成像设备的控制单元。
5.如权利要求1所述的总线系统,其中,第一代理是有线网卡,而第二代理是无线模块。
6.如权利要求1所述的总线系统,其中,第二代理通过中断信号线发送向第一代理通知出现了要发送的数据的中断,然后发送该数据。
7.如权利要求1所述的总线系统,其中,第二代理将数据发送给第一代理,并通过中断信号线将用于处理该数据的中断发送给第一代理。
8.一种用于控制具有主装置以及至少第一代理和至少一个第二代理的总线系统的方法,包括以下步骤激活总线系统;由主装置设置用于驱动第一代理的第一代理装置驱动程序;以及由第一代理设置用于驱动第二代理的第二代理装置驱动程序。
9.如权利要求8所述的方法,包括由第二代理通过使用所设置的装置驱动程序将数据发送给第一代理的步骤。
10.如权利要求9所述的方法,其中,第二代理通过使用所设置的装置驱动程序,将向该第一代理通知出现了要发送的数据信号的中断通过中断信号线发送给第一代理,并将该数据发送给第一代理。
11.如权利要求9所述的方法,其中,第二代理通过使用所设置的装置驱动程序发送数据,并通过中断信号线将用于处理该数据的中断发送给第一代理。
12.如权利要求8所述的方法,其中,由主装置设置第一代理装置驱动程序的步骤在第一代理中设置用于仅存储从第二代理接收的数据的存储区域。
13.如权利要求8所述的方法,其中,激活步骤检测构成该总线系统的代理。
14.如权利要求8所述的方法,其中,第一代理检测构成该总线系统的第二代理。
15.如权利要求8所述的方法,其中,激活步骤将该总线系统初始化。
16.如权利要求8所述的方法,其中,该总线系统是PCI局部总线系统。
全文摘要
本发明公开了一种用于在总线系统中将数据从第二代理发送到第一代理的方法,其中,该总线系统具有主装置、以及第一代理和至少一个第二代理的至少两个代理。第一和第二代理由从外部提供给总线系统的中断信号线连接,并且,第二代理在没有主装置的干预的情况下将中断信号发送给第二代理。接收到中断信号的第一代理直接接收存储在第二代理中的数据。
文档编号G06F13/42GK1694083SQ20051006383
公开日2005年11月9日 申请日期2005年4月8日 优先权日2004年5月8日
发明者玉承洙, 李相亨, 金振亨 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1