用于通过并行通信总线传送中断消息的系统和方法

文档序号:6656257阅读:282来源:国知局
专利名称:用于通过并行通信总线传送中断消息的系统和方法
背景技术
已经开发出利用外围部件互连(PCI)总线的计算机系统。PCI总线要求仅一个PCI主机设备和一个或多个可操作耦合到PCI总线的非主机PCI设备。PCI总线可选地包括耦合在PCI主机设备和非PCI主机设备之间的一组中断线。任何非主机的PCI设备可改变中断线上的电压以中断PCI主机设备,引起PCI主机设备挂起而无论其正在执行什么样的任务,并执行与中断相关联的更高优先级的任务。
由PCI规范提供的中断方法和诸如VME的其他类似并行计算机总线具有若干缺陷,所有这些缺陷都负面影响计算机系统的整体速度。特别地,每当中断线之一被声明时,被中断的设备必须生成一个或多个总线周期以确定哪个中断设备声明了该中断线,并且还通知该中断设备其已经接收了中断信号。由于耦合到总线的能够生成这种中断信号的设备数量增加,因此PCI主机设备需要相对大的处理时间量来确定哪个设备发送了这种中断信号。
因此,具有这样的并行总线系统是所期望的,该并行总线系统允许设备通过总线接收中断信号,以相对快速地确定中断设备的身份。

发明内容
提供一种根据一个示例实施例的计算机系统。该计算机系统包括可操作地经由并行通信总线与第二设备通信的第一设备。该第一设备被配置为通过并行通信总线将第一中断消息传送到第二设备,其中第一中断消息具有多个位的数据部分,其具有识别第一设备的第一标识符。
提供一种根据另一个示例实施例的方法,其用于通过并行通信总线发送中断消息。该方法包括从第一设备通过并行通信总线发送第一中断消息。该第一中断消息具有多个位的数据部分,其具有识别第一设备的第一标识符。最后,该方法包括在可操作地耦合到通信总线的第二设备处接收第一中断消息。第二设备将第一中断消息存储在存储器的第一存储单元中。
提供一种根据另一个示例实施例的制造物品。该制造物品包括计算机存储介质,在其中编码了用于通过并行通信总线发送至少一个中断消息的计算机程序。该计算机存储介质包括用于从第一设备通过并行通信总线发送第一中断消息的代码。该第一中断消息具有多个位的数据部分,其具有识别第一设备的第一标识符。该计算机存储介质还包括用于在可操作地耦合到通信总线的第二设备处接收第一中断消息的代码。第二设备将第一中断消息存储在存储器的第一存储单元中。
在阅读了随后的附图和详细说明后,根据实施例的其它系统和/或方法将对于本领域技术人员来说将变得清楚。所想达到的是,所有这些附加的系统和方法都在本发明的范围内,并且由所附权利要求来保护。


图1是根据一个示例实施例的计算机系统示意图;图2是图1一部分计算机系统的更详细的示意图;图3和4是根据本发明的另一个示例实施例的用于通过图1的计算机系统中的并行通信总线来传送中断消息的方法的流程图。
具体实施例方式
参考图1,提供了计算机系统10。如图所示,计算机系统10包括PCI总线主机设备12、PCI总线14、PCI总线主设备16、PCI总线主设备18、PCI目标设备20和PCI目标设备22。计算机系统10的优点在于,系统10允许耦合到并行通信总线的设备发送中断消息,这些中断消息识别发送设备的身份。中断信号或中断消息引起目标设备临时挂起目标设备的其它任务,同时目标设备执行由中断消息指示的任务。
提供PCI主机设备12,用来执行与便于通过PCI通信总线14进行通信有关的任务。PCI主机设备12分配唯一的地址范围给耦合到PCI通信总线14的每个设备。此外,PCI主机设备12中的PCI总线仲裁器只批准一个耦合到总线14的设备在特定时间启动总线14上的数据传输。在可替换的实施例中,PCI总线仲裁器位于不同于PCI主机设备12的设备中。
提供PCI总线14,用来方便附着到总线14的各种设备之间的通信。如图所示,总线14可操作地耦合到PCI总线主机设备12、PCI总线主设备16、PCI总线主设备18、PCI目标设备20和PCI目标设备22。应当注意,在可替换的实施例中,PCI通信总线14可以用另一类型的总线来替代,比如VME总线。
提供PCI总线主设备16、18,用来通过总线14发送PCI中断消息到可操作地耦合到总线14的任何设备。PCI总线主设备16包括可操作地耦合到总线14的任何能够启动总线14上数据传输的设备。例如,PCI总线主设备可以是PCI总线主设备16、PCI总线主设备18、和PCI主机设备12。特别地,PCI总线主设备16和18的每一个都包括配置为通过总线14发送一个或多个PCI消息的计算机。此外,设备16和18的每一个都通过经由总线14对分配给目标设备的特定存储器地址执行总线写周期来发送中断消息。每个中断消息具有多个位的数据部分,其包含影响接收设备对中断消息如何反应的信息。该信息包括下列的一个或多个发送设备的身份;中断消息的优先权;或中断消息的原因。目标设备20可包括可操作地耦合到总线14的任何设备。例如,PCI总线主设备16可发送中断消息到PCI总线主设备18、PCI目标设备20、PCI目标设备22和PCI主机设备12。
参考图2,图解了计算机系统10一部分示意图,该部分包括PCI总线主设备16、PCI总线主设备18和PCI目标设备20。
PCI目标设备20包括PCI连接器23、本地PCI总线24、PCI桥26、处理器28、本地存储器总线30、存储器32、和中断处理器设备34。提供PCI连接器23,用来可操作地将PCI目标设备20与PCI通信总线14耦合。本地PCI总线24可操作地耦合在PCI连接器23和PCI桥26之间并将设备20的中断消息从通信总线14路由到PCI桥26。PCI目标设备20的优点在于,PCI目标设备20能够在存储器36中排队多个中断消息,并随后响应于此执行多个中断任务。
提供PCI通信桥26,用来通过本地存储器总线30将设备20所接收的中断消息发送到中断处理器设备34。特别地,当PCI通信桥26接收中断消息时,PCI通信桥26向分配给中断处理器设备34的特定地址执行总线写周期。此后,中断处理器设备34将中断消息写到存储器36中的预定地址。在可替换的实施例中,中断处理器设备34将中断消息写到存储器32中的预定地址。此外在另一个可替换的实施例中,PCI通信桥26可被嵌入在处理器28中。
提供处理器28,用来控制通过总线30的通信以及响应于中断消息来执行中断任务(例如,中断服务请求子例程)。处理器28可操作地耦合到总线30并进一步耦合到中断处理器设备34。中断通信线37位于处理器28和中断处理器设备34之间。当处理器28从中断处理器设备34接收中断信号(I1)时,处理器28取回由中断处理器设备34存储在存储器36中的中断消息。此后,处理器28要么(i)执行与中断消息相关联的任务,要么(ii)修改处理状态变量以便处理器28在将来执行与中断消息相关联的任务。此后,如果在队列中存在还没有被处理器28取回的更多的中断消息,则处理器28继续从中断处理器设备34接收中断信号。响应于接收中断信号,处理器28继续从队列取回中断消息并执行与那些中断消息相关联的任务,直到队列变为空。
在可替换的实施例中,中断处理器设备34发送另一个不同的中断信号到处理器28,以指示中断消息仍然待决。在又一个可替换的实施例中,处理器28和中断处理器设备34之间的协议可如此定义使得处理器28确定中断队列是否为空。
在目标设备20的仍又一个可替换的实施例中,多条附加的中断通信线位于处理器28和中断处理器设备34之间。每条中断通信线被配置为传送表示不同中断消息的信号。当处理器28经由中断通信线接收来自中断处理器设备34的信号时,处理器28执行与中断通信线相关联的任务。因此,在该可替换的实施例中,处理器28不需要从任何设备读取中断消息以确定要执行哪个中断任务。相反,中断处理器设备34通过经过多条中断通信线的预定的中断通信线将信号发送到处理器28来指示中断的类型。
中断处理器设备34可操作地耦合到总线30并被配置为接收并存储从任何耦合到总线14的PCI总线主设备接收的中断消息。如图所示,中断处理器设备34包含内部存储器设备36。特别地,中断处理器设备34被配置为确定存储器36内用于存储每个中断消息的存储器地址。此外,设备34被配置为通过中断通信线37发送信号(I1)到处理器28,以便指示中断消息被接收并存储在存储器36内。中断处理器设备34包括专用集成电路(ASIC)。在可替换的实施例中,中断处理器设备34可包括可配置可编程逻辑块(CPLD)、现场可编程门阵列(FPGA)、传统掩膜逻辑器件、或其它逻辑设备。
在可替换的实施例中,中断处理器设备34不具有内部存储器36、而是写入本地存储器32以存储中断消息。因此,中断处理器设备34写入本地存储器32以存储消息,并且处理器28从逻辑存储器32读取以取回中断消息。
参考图3和4,将解释通过并行通信总线传送中断消息的方法。
在步骤60,PCI总线主设备16经由PCI总线14将第一中断消息写到分配给PCI目标设备20的特定地址,其中第一中断消息包含识别PCI总线主设备16的标识符。
在步骤62,PCI桥26接收第一中断消息并通过内部总线30对分配给中断处理器设备34的特定地址执行包含第一中断消息的总线写周期。
在步骤64,中断处理器设备34将第一中断消息存储在存储器36的第一存储单元中。
在步骤66,中断处理器设备34将第一预定电平处的电压施加到中断线37上,以发信号通知处理器28有至少一个中断消息待决。
在步骤68,PCI总线主设备18经由PCI总线14将第二中断消息写到分配给PCI目标设备20的特定地址,其中第二中断消息包含识别PCI总线主设备18的标识符。
在步骤70,PCI桥26接收第二中断消息并通过内部总线30对分配给中断处理器设备34的特定地址执行包含第二中断消息的总线写周期。
在步骤74,中断处理器设备34将第二中断消息存储在存储器36的第二存储单元中。
在步骤76,中断处理器设备34继续以第一预定电平保持中断线37上的电压,以发信号通知处理器28有至少一个中断消息待决。
在步骤78,因为第一预定电压电平的电压被施加到中断线37,所以处理器28挂起其当前执行的任务并利用本地总线30从中断处理器设备34取回第一中断消息。
在步骤80,处理器28要么(i)立刻执行与第一中断消息相关联的任务,要么(ii)以如此方式修改处理状态变量以便它在将来执行与第一中断消息相关联的任务。
在步骤82,中断处理器设备34继续以第一预定电压电平保持中断线37上的电压,以发信号通知处理器28有至少一个中断消息待决。
在步骤84,因为第一预定电压电平的电压被施加到中断线37,所以处理器28利用本地总线30从中断处理器设备34取回第二中断消息。
在步骤86,处理器28要么(i)立刻执行与第二中断消息相关联的任务,要么(ii)以如此方式修改处理状态变量以便它在将来执行与第二中断消息相关联的任务。
在步骤88,中断处理器设备34将中断线37上的电压改变成第二预定电平,以指示当前没有中断消息待决。
最后,在步骤90,因为第二预定电压电平的电压被施加到中断线37,所以处理器28执行除从中断处理器设备34取回中断消息以外的任务。
用于传送中断消息的计算机系统和方法提供了相对于其它系统和方法的实质优点。特别地,该系统和方法提供了允许耦合到并行通信总线的发送设备将包含用来识别发送设备的标识符的中断消息发送到接收设备的技术效果。
如上所述,本发明可以用计算机实现的过程和用于实施那些过程的设备的形式来具体化。本发明还可以用这样的计算机程序代码的形式来具体化,该计算机程序代码包含在有形媒体中具体化的指令,比如在软盘、CD ROM、硬盘、或其它计算机可读存储介质中,其中当计算机程序代码由计算机加载和执行时,该计算机变为实施本发明的装置。本发明还可以这样的计算机程序代码的形式来具体化,例如该计算机程序代码要么存储在存储介质中、加载到/或由计算机执行、要么通过诸如电线或电缆的某传输介质经由光导纤维或电磁辐射来传输,其中当计算机程序代码由计算机加载和/或执行时,该计算机变为实施本发明的装置。当在通用微处理器上实现时,所述计算机程序代码段将微处理器配置成创建特定的逻辑电路。
尽管参考示例实施例描述了本发明,但是本领域技术人员将会理解,可作出各种变化,并且等效物可以替换其元素而不会偏离本发明的范围。此外,在不偏离本发明的范围的情况下可对本发明的教导作出许多修改来适应特定的情况。因此,所试图的是本发明不限于所公开的执行本发明的实施例,而是本发明包括所有落入所要求的权利要求范围的实施例。而且,术语第一、第二等的使用不表示任何重要性的顺序,而是术语第一、第二等被用来区别一个元素与另一个元素。
权利要求
1.一种计算机系统,包括可操作地经由并行通信总线与第二设备通信的第一设备,该第一设备被配置为通过并行通信总线将第一中断消息发送到第二设备,其中第一中断消息具有多个位的数据部分,其具有识别第一设备的第一标识符。
2.权利要求1的计算机系统,其中并行通信总线包括PCI通信总线、PCI-X通信总线、CompactPCI通信总线、VME通信总线、VME64通信总线、和VME64x通信总线之一。
3.权利要求1的计算机系统,还包括可操作地耦合到所述并行通信总线第三设备,所述第三设备被配置为通过所述通信总线将第二中断消息发送到第二设备,其中第二中断消息具有多个位的数据部分,其具有识别第三设备的第二标识符。
4.权利要求1的计算机系统,还包括可操作地耦合到所述并行通信总线第三设备,第一设备被配置为通过所述通信总线将第二中断消息发送到第三设备,其中第二中断消息具有多个位的数据部分,其具有识别第一设备的第二标识符。
5.权利要求1的计算机系统,其中第一中断消息的数据部分还包括识别第二设备要执行的任务的中断命令。
6.权利要求1的计算机系统,其中第二设备被配置为接收第一中断消息并执行与第一标识符相关联的至少一个任务。
7.权利要求1的计算机系统,其中第一设备通过并行通信总线将第一中断消息写到第二设备。
8.权利要求1的计算机系统,其中第一中断消息引起第二设备停止执行其它与第一中断消息不相关联的任务。
9.权利要求1的计算机系统,其中第二设备包括桥式通信设备、处理器、中断处理器设备、和可操作地耦合到桥式通信设备、处理器、中断处理器设备的内部总线,所述桥式通信设备接收第一中断消息并发送第一中断消息到中断处理器设备。
10.权利要求9的计算机系统,其中中断处理器设备接收第一中断消息并将第一中断消息存储在存储器的第一存储单元中,中断处理器设备发送第一信号到处理器,指示第一中断消息已经存储在存储器中,处理器响应于该第一信号而从第一存储单元取回第一中断消息。
11.权利要求10的计算机系统,其中处理器在读取第一中断消息之后执行至少一个与第一中断消息相关联的任务。
12.权利要求9的计算机系统,其中中断处理器设备接收第一中断消息并将第一中断消息存储在存储器的第一存储单元中,中断处理器设备发送多个信号之一到处理器,指示所接收中断的类型,处理器响应于该多个信号之一而从所述第一存储单元取回第一中断消息。
13.权利要求12的计算机系统,其中处理器在取回第一中断消息之后执行至少一个与第一中断消息相关联的任务。
14.一种用于通过并行通信总线发送中断消息的方法,该方法包括从第一设备通过并行通信总线发送第一中断消息,该第一中断消息具有多个位的数据部分,其具有识别第一设备的第一标识符;和在可操作地耦合到通信总线的第二设备处接收第一中断消息,该第二设备将第一中断消息存储在存储器的第一存储单元中。
15.权利要求14的方法,还包括从存储器取回第一中断消息并基于第一标识符来执行至少一个与第一中断消息相关联的任务。
16.权利要求14的方法,其中第一中断消息的数据部分还包括识别第二设备要执行的任务的中断命令。
17.权利要求14的方法,其中并行通信总线包括PCI通信总线、PCI-X通信总线、CompactPCI通信总线、VME通信总线、VME64通信总线、和VME64x通信总线之一。
18.权利要求14的方法,还包括从第三设备通过并行通信总线发送第二中断消息,该第二中断消息具有多个位的数据部分,其具有识别第三设备的第二标识符;和在可操作地耦合到通信总线的第二设备处接收第二中断消息,该第二设备将第二中断消息存储在存储器的第二存储单元中。
19.一种制造物品,包括计算机存储介质,在其中编码了用于通过并行通信总线发送至少一个中断消息的计算机程序。该计算机存储介质包括用于从第一设备通过并行通信总线发送第一中断消息的代码,该第一中断消息具有多个位的数据部分,其具有识别第一设备的第一标识符;用于在可操作地耦合到通信总线的第二设备处接收第一中断消息的代码,第二设备将第一中断消息存储在存储器的第一存储单元中。
20.权利要求19的制造物品,其中并行通信总线包括PCI通信总线、PCI-X通信总线、CompactPCI通信总线、VME通信总线、VME64通信总线、和VME64x通信总线之一。
21.权利要求19的制造物品,其中所述计算机存储介质还包括用于从第三设备通过并行通信总线发送第二中断消息的代码,该第二中断消息具有多个位的数据部分,其具有识别第三设备的第二标识符;和用于在可操作地耦合到通信总线的第二设备处接收第二中断消息的代码,该第二设备将第二中断消息存储在存储器的第二存储单元中。
全文摘要
提供一种用于通过并行通信总线传送中断消息的计算机系统和方法。该计算机系统包括可操作地经由并行通信总线与第二设备通信的第一设备。该第一设备被配置为通过并行通信总线将第一中断消息发送到第二设备,其中第一中断消息具有多个位的数据部分,其具有识别第一设备的第一标识符。
文档编号G06F13/24GK1973273SQ200580020917
公开日2007年5月30日 申请日期2005年5月13日 优先权日2004年6月22日
发明者N·达维斯, D·哈特费尔德, F·卡特温克尔, O·N·威尔斯 申请人:通用电气公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1