一种输入/输出总线系统转让专利

申请号 : CN99104808.3

文献号 : CN1234550B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : P·E·莫瓦尔C·S·格拉哈姆D·F·默尔特尔S·M·兰贝思

申请人 : 国际商业机器公司

摘要 :

一种输入/输出总线体系结构,包括:输入/输出总线;连接在输入/输出总线上的输入/输出设备;连接在输入/输出总线上的主处理器,用于执行对应于该输入/输出设备的设备驱动程序,该设备驱动程序为该输入/输出设备生成加载/存储命令;以及连接在输入/输出总线上并仍独立于主处理器的加载/存储协助引擎,用于按照来自设备驱动程序的加载/存储命令向/自输入/输出设备加载/存储数据。加载/存储协助引擎将主处理器从与加载/存储命令的执行关联的等待时间上解脱开来。

权利要求 :

1.一种输入/输出总线系统,包括:

输入/输出总线;

连接在所述输入/输出总线上的输入/输出设备;

连接在所述输入/输出总线上的主处理器,用于执行对应于所述输入/输出设备的设备驱动程序,所述设备驱动程序为所述输入/输出设备生成加载/存储命令;以及连接在所述输入/输出总线上并仍独立于所述主处理器的加载/存储协助引警,用于按照来自所述设备驱动程序的所述加载/存储命令,自或向所述输入/输出设备加载或存储数据,使所述加载/存储协助引擎将所述主处理器从与所述加载/存储命令的执行关联的等待时间上解脱开来。

2.权利要求1的系统,其中所述输入/输出设备包括外围设备及将所述外围设备连接到所述输入/输出总线上的输入/输出适配器。

3.权利要求1的系统,其中所述加载/存储协助引擎为编程的处理器。

4.权利要求1的系统,其中所述加载/存储协助引擎为可编程的逻辑阵列。

5.权利要求1的系统,其中:

所述输入/输出总线为第一输入/输出总线;

所述系统还包括第二输入/输出总线及用于将所述第一输入/输出总线接口到所述第二输入/输出总线上的主桥接器;以及所述主桥接器与所述加载/存储协助引擎是集成为单一设备的。

6.权利要求5的系统,其中所述第二输入/输出总线与所述第一输入/输出总线不同。

7.权利要求1的系统,其中:

所述输入/输出设备为第一输入/输出设备及所述设备驱动程序为第一设备驱动程序;

所述系统还包括第二输入/输出设备;

所述主处理器可进行操作来执行对应于所述第二输入/输出设备的第二设备驱动程序及为其生成加载/存储命令;以及所述加载/存储协助引擎可进行操作按照来自所述第二设备驱动程序的所述加载/存储命令来加载/存储去往/来自所述第二输入/输出设备的数据。

8.权利要求1的系统,其中所述输入/输出总线为存储器映射的总线。

9.权利要求8的系统,其中所述输入/输出总线为PCI总线。

10.权利要求2的系统,其中将所述输入/输出总线配置成从所述输入/输出适配器传送中断信号给所述主处理器。

11.权利要求2的系统,其中所述主处理器还能进行操作来执行其操作系统。

12.权利要求11的系统,其中所述主处理器还能进行操作来执行协议栈。

13.权利要求12的系统,其中所述主处理器还能进行操作来执行应用程序。

14.权利要求11的系统,其中所述操作系统能进行操作选择通过所述主处理器与所述外围设备之向的直接路径或通过包含所述加载/存储协助引擎的向接路径来访向输入/输出适配器,使所述操作系统独立于所述设备驱动程序作出选择。

15.权利要求1的系统,其中所述加载/存储协助引擎与所述主处理器利用报文协议在所述输入/输出总线上通信。

说明书 :

一种输入/输出总线系统

[0001] 本发明涉及输入/输出处理领域,更具体地涉及主处理器外部的输入/输出处理。
[0002] 输入/输出处理涉及移动数据去往/来自诸如处理器复合体外部的光盘、固定磁盘或软磁盘等非易失性存储设备等设备。原来,输入/输出处理是由处理器复合体处理的。图1为对应于这一情况的硬件图。图1中,处理器复合体102用输入/输出总线104连接在输入/输出适配器106上。加载/存储命令与中断信号108是在处理器复合体102与输入/输出适配器106之间交换的。输入/输出适配器106将输入/输出设备(未示出)连接在输入/输出总线104上。处理器复合体102通常包含处理器(未示出)、存储器控制器(未示出)及总线控制器(未示出)。总线控制器通常生成与管理输入/输出总线上的通信。具体地,总线控制器诸如通过提供从物理输入/输出总线槽到中断位的映射来处理中断管理。
[0003] 图2描绘与图1对应的功能图。设备驱动程序功能204、协议栈功能206、应用功能208及操作系统服务210是由处理器复合体102执行的,如用虚线框202所示。输入/输出适配功能212是由输入/输出适配器106执行的。
[0004] 在应用功能208与输入/输出适配功能212之间已描绘了输入/输出请求处理数据流路径216。应用208直接或间接启动输入/输出请求。协议栈206处理这一输入/输出请求,将应用208的通用输入/输出请求转换成诸如盘存储器等外围设备或诸如TCP/IP等通信链路的特定命令协议。协议栈206可使用操作系统210所提供的各种服务。
[0005] 在诸如图1中的不带外部输入/输出处理的系统中,协议栈206询问操作系统210对设备驱动程序204的链接。一旦得到这一链接,协议栈206便直接调用设备驱动程序204所提供的服务。
[0006] 设备驱动程序204负责接收来自协议栈206的命令并指令输入/输出适配功能212,即输入/输出适配器106,去执行该命令,设备驱动程序204能直接访问输入/输出适配器106中的所有寄存器并直接从适配器106的寄存器空间(未示出)加载数据或向其存储数据。
[0007] 图1与2中描绘的情况对于个人计算机(PC)是典型的。输入/输出适配器106完全受处理器复合体102管理,包括编程输入/输出适配器106,使用加载与存储及应答从输入/输出适配器106利用中断或轮询技术送来的服务请求。这种编程与应答已通过信号路径108指示。
[0008] 以前,处理器复合体周期时间与输入/输出总线速度之间的差异是小的。如果处理器复合体必须等待输入/输出适配器106应答加载或存储命令,等待并不很长,只导致处理器复合体102停顿或不可使用仅少数周期。
[0009] 随着技术的进步,处理器复合体周期时间降低的程度比输入/输出响应时间大得多。结果,由于在等待输入/输出适配器应答加载或存储命令而停顿所损失的处理器复合体周期时间的数目随着处理器复合体的处理速度快速增长。
[0010] 作为处理器复合体停顿的实例,考虑在等待时间为300毫微秒(nsec)的本地PCI总线上的外围计算机接口(PCI)输入/输出事务处理及3nsec的处理器周期时间。在这一情况中,处理器将停顿100个周期来执行输入/输出事务处理。如果处理器周期时间降低到1nsec,则处理器复合体将停顿300个周期。作为另一实例,在通过桥接器连接到PCI总线上的远程PCI总线上的PCI输入/输出事务处理的等待时间为2微秒(μsec)而处理器复合体周期时间为3nsec的情况中,处理器复合体浪费666个周期。如果处理器周期时间降至1nsec,则处理器复合体浪费2000个周期。
[0011] 为了减少由输入/输出命令引起的处理器复合体停顿时间,将处理器复合体编程为在发布输入/输出命令之后去执行其它功能。当输入/输出适配器106最终应答时,它通过提出中断信号来重新获得处理器复合体102的注意。为了服务于该中断,处理器复合体必须存储其关于当前正在执行的进程的内部状态。通常,三或四条加载/存储命令与一个中断关联,而三或四个中断与每一条输入/输出命令关联。从而,虽然利用中断的技术解决了处理器复合体停机问题,但必须执行的中断服务例程消耗了许多处理器复合体的有用工作。
[0012] 为了解决处理器复合体必须服务于许多中断的问题,将执行设备驱动程序功能及服务于中断的责任从输入/输出适配器转移到处理器复合体外部的输入/输出处理器上。这一情况描绘在图3中,其中将处理器复合体302连接在输入/输出总线304上。还将输入/输出处理器310以及输入/输出适配器306也连接在输入/输出总线304上。处理器复合体302通常包含处理器(未示出)、存储器控制器(未示出)及总线控制器(未示出)。
总线控制器生成与管理输入/输出总线304,包含提供从物理输入/输出总线槽到中断位的映射。
[0013] 图4为对应于图3的功能图。用虚线框402表示的处理器复合体302执行的功能现在只包含操作系统服务406、协议栈408及应用410。设备驱动程序功能416从处理器复合体302移出到输入/输出处理器310,如虚线框404所示,它还包含输入/输出操作系统服务功能414。处理器复合体功能402通过报文协议412与输入/输出处理器功能404通信。输入/输出处理器功能404通过加载/存储命令及中断交换与输入/输出适配功能418通信,如条目420所示。
[0014] 和前面一样,在应用功能410与输入/输出适配功能418之间已描绘了输入/输出请求处理数据流路径422。应用410直接或间接启动输入输出请求。协议栈408处理这一输入/输出请求,将通用输入/输出请求转换成诸如盘驱动器存储器等外围设备或诸如TCP/IP等通信链路的特定命令协议。协议栈408可利用操作系统406所提供的各种服务。
[0015] 协议栈408查询操作系统406对设备驱动程序416的连接。这一连接允许命令与应答报文在协议栈408与设备驱动程序416之间流动。一旦建立了这一连接,协议栈408便通过操作系统服务406发送命令报文给设备驱动程序416。
[0016] 操作系统服务402传送及接收从协议栈408到输入/输出操作系统服务414的命令与应答报文。输入/输出操作系统服务向或自设备驱动程序416传送接收这些报文。对于每一个操作,利用操作系统服务406及输入/输出操作系统服务414来传送命令与应答。
[0017] 设备驱动程序416负责接收来自协议栈408的命令并指示输入/输出适配器306去执行该命令。通常,设备驱动程序416能直接访问输入/输出适配器306中的所有寄存器(未示出)及直接加载或存储数据,即读或写数据到输入/输出适配器306的寄存器空间。作为替代,可将一部分协议栈408实现为输入/输出操作系统服务的一部分。
[0018] 图3-4对于PC服务器是典型的。已增加了输入/输出处理器310来从处理器复合体302卸载输入/输出适配器306的控制。这一卸载是用信号路径308及312表示的。信号路径308表示按照处理器复合体302与输入/输出处理器310之间的报文协议交换加载/存储命令及中断信息。信号路径312表示在输入/输出处理器310与输入/输出适配器306之间发布加载/存储命令及中断形式的应答。作为可选择的方面,处理器复合体302能保留设备驱动程序功能,如在图1-2中,并直接与输入/输出适配器306通信,如用信号路径314所表示的。
[0019] 当开始采用这一体系结构时,输入/输出处理器310服务来自与各输入/输出命令关联的输入/输出适配器306的3或4个中断。而输入/输出处理器310每一条输入/输出命令只对处理器复合体302生成一个中断。从而,不再损失处理器复合体302的许多有用工作来为其余2或3个中断服务。
[0020] 输入/输出处理中的另一种趋势为使输入/输出适配器每一条输入/输出命令生成一个中断而不是三或四个中断。结果,输入/输出处理器只须服务于来自一个输入/输出适配器的一个中断请求。然后输入/输出处理器310必须发布其自己的中断请求到处理器复合体302。从而,不再一定是处理器复合体302正服务于比输入/输出处理器310少的中断。采用输入/输出处理器的优点现在成为它们能从与发布加载/存储命令给输入/输出适配器及等待来自输入/输出适配器的典型的单中断请求应答相关联的等待时间中将处理器复合体脱离开来。
[0021] 如在计算机技术领域中典型的,输入/输出适配器技术中的变化迅速地出现。这一变化可能是以太网卡的带宽从10兆位增加到100兆位。为了适应这一变化,必须使处理器复合体及输入/输出处理器两者都适应。从而,必须设计与支持两个独立的修正版本。更可能的是,还必须开发两组独立的诸如编译程序、调试程序等开发工具。这种双重开发是昂贵的。
[0022] 本发明部分地基于这样的认识,即为了输入/输出数据,输入/输出处理器必须减少处理器复合体必须服务的中断数目不再是必须的。
[0023] 本发明还部分地基于这样的认识,即如果将输入/输出处理器的设备驱动程序功能从输入/输出处理器的输入/输出适配器交互作用功能分离并移回到处理器复合体中,则可以消除双重开发成本。
[0024] 本发明提供经济的协处理器,称作加载/存储协助引擎,它是在处理器复合体外部的并协助执行寄存器加载与存储操作。加载/存储协助引擎采用高性能的基于报文的设施,即报文协议,来与主机通信。为了令加载/存储协助引擎执行对输入/输出适配器的加载与存储,这一协议要求处理复合体不执行加载及执行非常少的,诸如三个不停顿与不同步的存储。这解放了处理器复合体去执行有用的工作而不是停顿等待加载/存储完成,即等待输入/输出适配器应答。
[0025] 本发明的目的为提供输入/输出(I/O)总线体系结构,包括:
[0026] 输入/输出总线;连接在所述输入/输出总线上的输入/输出设备;连接在所述输入/输出总线上用于执行对应于所述输入/输出设备的设备驱动程序的主处理器,所述设备驱动程序为所述输入/输出设备生成加载/存储命令;以及加载/存储协助引擎,连接在所述输入/输出总线上并仍独立于所述主处理器,用于按照来自所述设备驱动程序的所述加载/存储命令加载/存储去往/来自所述输入/输出设备的数据,使所述加载/存储协助引擎将所述主处理器从与所述加载/存储命令关联的等待时间上分离。
[0027] 本发明的加载/存储协助引擎与外部输入/输出处理相比有许多优点。所有设备驱动程序与协议栈代码是在一个处理器而不是两个处理器中运行的。结果,在诸如编译程序及调试程序等的设计、支持、开发工具方面适应/开发输入/输出体系结构比较简单,因为只涉及单一开发而不是双重开发。这允许更好地利用高速缓冲存储器。除了需要少量附加代码来运行嵌入加载/存储协助引擎的服务之外,只分别需要一组设备驱动程序与协议栈而不是两组。此外,还具有这样的优点,即与外部输入/输出处理器相比,只需要操作系统服务中非常有限的路径长度来执行输入/输出操作。减少了执行诸如格式化等要求的工作所必需的指令数目。
[0028] 相对于直接输入/输出处理,即完全由处理器复合体执行,本发明的加载/存储协助引擎具有处理器复合体不遭受与访问输入/输出适配器关联的长的等待时间的优点。结果,处理器复合体不需停顿等待来自输入/输出适配器的要完成的应答,使处理器复合体可用于其它工作。
[0029] 相对比,本发明的加载/存储协助引擎消除了停顿的处理器周期来交换服务与之关联的附加中断所需的少数处理器复合体周期。必须服务的附加中断增加了与加载/存储协助引擎关联的处理器复合体的响应时间,但是,由于消除了极大数量的浪费的周期,加载/存储协助引擎的使用极大地提高了处理器复合体的吞吐量。在将一串加载/存储命令发送给加载/存储协助引擎的情况中,每一条加载/存储命令的开销降低得更多。
[0030] 从此后给出的详细描述中本发明的进一步可应用范围将是显而易见的。然而,应理解,详细的描述与特定实例虽然指示本发明的较佳实施例,只是以示例方式给出的,因为从该详细描述中,对于熟悉本技术者在本发明的精神与范围内的各种改变与修正是显而易见的。
[0031] 从下面给出的详细描述与附图中可以更全面地理解本发明,它们只是以示例的方式给出的,从而不是限定本发明的,附图中:
[0032] 图1为描绘第一先有技术输入/输出处理体系结构的硬件图;
[0033] 图2为对应于图1的先有技术功能图;
[0034] 图3为第二先有技术输入/输出处理体系结构的硬件图;
[0035] 图4为对应于图3的先有技术功能图;
[0036] 图5为按照本发明的输入/输出处理体系结构的硬件图;
[0037] 图6为本发明的功能图,其中图6对应于图5;以及
[0038] 图7为并排地比较先有技术与本发明的加载/存储协助引擎的表。
[0039] 传统上,已促使计算机输入/输出体系结构的设计人员将处理责任从处理复合体卸载到附着在输入/输出总线上的本地处理器上。本发明反映这样的认识,即支持输入/输出体系结构的传统设计观点的因素已经改变,诸如输入/输出命令现在通常需要一个中断来服务而不是三或四个。此外,外围设备与它们所关联的输入/输出适配器的改进,即变化的速度已使得更新输入/输出处理器以及处理复合体以便它们能全面地从外围设备的改进中得益的双重开发成本成为十分巨大。本发明反映了这样的认识,即逆转先有技术减轻处理器复合体的负担的趋势现在已经有利。本发明为将某些处理责任,如设备驱动程序,加载回到处理器复合体上的反映。
[0040] 图5为按照本发明的输入/输出处理体系结构的硬件图。图5中,较佳地将处理器复合体502连接在存储器映射的输入/输出总线上,例如PCI总线。处理器复合体502可包含处理器(未示出)、存储器控制器(未示出)及总线控制器(未示出)。将加载/存储协助引擎508及输入/输出适配器506各连接在输入/输出总线上。输入/输出适配器506类似于或等效于先有技术输入/输出适配器。图5的信号路径510表示处理器复合体502与加载/存储协助引擎508之间利用诸如报文传送机制等报文协议的加载/存储命令与中断的通信,报文传送机制为Nordstrom等人的名为“报文传送机制”的1997年10月15日提交的相关的共同未决美国专利申请序号08/950,593的主题,通过引用将序号08/950,593的全部内容结合在此。
[0041] 图5中的指令路径512从加载/存储协助引擎508到输入/输出适配器506。中断信号路径514从输入/输出适配器506到处理器复合体502。此外,命令不是通过加载/存储协助引擎508从处理器复合体502流到输入/输出适配器,而是处理器复合体502能在处理器复合体502与输入/输出适配器507之间在诸如双向指令与中断信号路径516上直接通信。
[0042] 图5中还作为集成的加载/存储协助引擎与桥接器518描绘了加载/存储协助引擎508的替代品。该引擎与桥接器518将输入/输出总线504连接到另一输入/输出总线520上,后者上面附着有分别对应于输入/输出适配器506与507的输入/输出适配器524与525。
[0043] 图6为对应于图5的硬件图的本发明的功能图。图6中,处理器复合体502所执行的功能用虚线框602指示并包含操作系统服务604、协议栈608及应用610。此外,在先有技术趋势的逆转中,本发明反映了已将执行设备驱动程序功能606的责任返回给处理器复合体502,从而将它描绘在虚线框602中。加载/存储协助功能612是独立于处理器复合体功能602或在其外部的。输入/输出适配功能614与615分别对应于图5的输入/输出适配器506与507。图5的指令信号路径510对应于将应用功能610连接在加载/存储协助功能612上的信号路径616及报文协议路径618。图5的命令信号路径512对应于图6的加载/存储命令信号路径622。图5的中断信号路径514对应于图6的中断信号路径
624。将信号路径616与618连接在节点617上。图5的另一命令信号路径516对应于图
6的信号路径616与620,如连接在节点617上的。
[0044] 为了简明起见,已省略了对应于集成的加载/存储协助引擎与桥接器518及输入/输出适配器524与525的功能图,因为它们十分类似于图6的功能图及其中的对应讨论。
[0045] 处理器复合体502的总线控制器(未示出)生成与管理输入/输出总线504。总线控制器(未示出)通常包含用于提供从物理输入/输出总线槽到中断位的映象的中断管理功能。本发明假定输入/输出总线504传输加载/存储去往/来自处理器复合体502并能传输中断到处理器复合体502,来控制去往/来自输入/输出适配器506-507与/或加载/存储协助引擎508的命令与数据流。
[0046] 输入/输出适配器506与507受到处理器复合体502的逻辑管理。其中包含编程输入/输出适配器、在输入/输出适配器506的情况中通过加载/存储协助引擎508发布加载与存储及采用中断或轮询技术响应来自输入/输出适配器的服务请求。
[0047] 在操作中,应用610直接或间接启动输入/输出请求。通过协议栈608处理这一输入/输出请求,它将通用输入/输出请求转换成用于诸如盘驱动器存储器或其它远程存储器等外围设备或诸如TCP/IP等通信链路的特定命令协议。协议栈可利用操作系统所提供的各种服务。
[0048] 协议栈608为链接到设备驱动程序606上查询操作系统604。一旦获得了这一链接,协议栈608便直接调用设备驱动程序606提供的服务。
[0049] 设备驱动程序606负责接收来自协议栈608的命令并指令输入/输出适配614去执行该命令。当利用加载/存储协助功能612时,设备驱动程序606不能直接访问输入/输出适配615中的寄存器空间(未示出),而是利用操作系统服务来执行对输入/输出适配615的寄存器空间(未示出)的加载或存储操作。以这一方式,操作系统604发送加载与存储命令表给加载/存储协助功能612供在与输入/输出适配器506相关联的高等待时间的情况中处理。加载/存储协助功能612接收加载与存储命令表,通过发送给输入/输出适配器614或从其接收而处理它们,并在加载命令的情况中将加载数据返回给操作系统604。
将输入/输出适配功能614的控制流中的诸如生成中断等任何变化直接选择路由到处理器复合体502而不是经由加载/存储协助612。
[0050] 加载/存储协助引擎508是用诸如编程的处理器、可编程逻辑阵列或对应于编程的处理器的应用特定的集成电路实现的。为了产生采取编程的处理器的形式的加载/存储协助引擎508而从先有技术输入/输出处理器310中消除设备驱动程序功能完全是输入/输出处理器技术中的普通技术水平内的事情。再者,一旦确定了对应的编程的处理器的代码,编程可编程的逻辑阵列是简单的事情。然而,直到编程的处理器的代码已经是适用的从而修订的概率是低的为止,采用可编程的逻辑阵列而不用编程的处理器来实现加载/存储协助引擎不是成本高效的。
[0051] 简要地回顾本发明的替代实施例,桥接器将第一输入/输出总线连接到第二输入/输出总线上。当第一与第二总线相同时,桥接器提供额外的扇出,从而作为完善的缓冲器或再驱动设备工作。当第一输入/输出总线与第二输入/输出总线不同时,桥接器作为两条总线之间的转换器工作。在本发明的替代形式中,即集成的加载/存储协助引擎与桥接器518的形式中,在输入/输出总线520与输入/输出总线504相同,诸如PCI总线的情况中,桥接器部分作为再驱动设备工作,或者在输入/输出总线520与输入/输出总线504不同,诸如扩展的工业标准体系结构总线的情况中,桥接器部分作为转换器工作。因为输入/输出适配器524与525分别对应于输入/输出适配器506与507,输入/输出适配器524与525的信号路径对应于路径510、512、514,并为了简单起见已从图5中省略。
[0052] 存在着具有非常低的等待时间的某些外围设备。这些设备说明通过输入/输出适配器507连接在输入/输出总线504上是合理的。这一替代认识到存在着采用加载/存储协助引擎关联的一些性能代价或开销。当通过输入/输出适配器507的直接连接至少产生与采用加载/存储协助引擎508相当的性能时,绕过加载/存储协助引擎508是值得的。
[0053] 绕过图6的加载/存储协助功能612的判断是独立于设备驱动程序606作出的,即这是在设备驱动程序结束了发送给外围设备的通信之后由操作系统服务604之一在节点617上作出的。一旦设备驱动程序调用操作系统服务604,设备驱动程序假定其命令将被投送给外围设备但并不关心用什么路径投送命令。
[0054] 为了启动加载/存储命令,处理器复合体502发布中断给加载/存储协助引擎508以便发送加载/存储命令给它。在加载命令的情况中,处理器复合体提供目标地址与指令码,即二元组,给加载/存储协助引擎508。在存储命令的情况中,处理器复合体502提供目标地址、指令码及数据,它们一起称作三元组,给加载/存储协助引擎508。然而,不提供外围设备特定的信息给加载/存储协助引擎508。作为替代,可向加载/存储协助引擎508提供一串加载/存储命令而不是一条。加载/存储协助引擎508直接执行来自/去往输入/输出适配器506的寄存器空间的数据的加载/存储,如处理器复合体502所指定的。在完成了加载/存储命令或加载/存储命令串时,加载/存储协助引擎508生成中断到处理器复合体502,并为加载命令提交任何检索到的数据。
[0055] 通过来自加载/存储协助引擎508的一系列加载与存储指令输入/输出设备506被指示去执行I/O操作。在与输入/输出适配器506连接的外围设备(未示出)的基本操作关联的延时之后,操作便将完成。在一些上下文中,可从输入/输出适配器506向处理器复合体502生成中断来通知它已执行了I/O操作。从而,为了利用加载/存储协助引擎执行某些设备操作,处理器复合体502有必要发布一个中断及服务其它两个中断,一个来自加载/存储协助引擎508而一个来自输入/输出适配器506。
[0056] 与图1-2中其中处理器复合体102处理所有输入/输出处理的先有技术对比,本发明的处理器复合体,即502,除了来自输入/输出适配器506的中断之外还必须处理来自加载/存储协助引擎的中断。然而,处理器复合体502服务附加的中断所需的时间明显地小于先有技术图1的处理器复合体102停顿等待输入/输出适配器106响应加载命令返回数据期间流逝的时间。此外,随着处理器性能的提高,与处理器复合体必须服务的附加的中断关联的时间损失越来越小。此外,可以通过成批处理或组合这些中断来减少服务这些中断以及数据与指令高速缓冲存储器的相关反复的时间损失。这一成批处理是Nordstrom等人的名为“中断与报文成批处理装置与方法”的1997年10月15日提交的相关共同未决美国专利申请序号08/950,755的主题,通过引用将序号08/950,755的全部内容结合在此。
[0057] 图7为列出提供关于哪些结构执行这些功能的先有技术与本发明之间的并排比较的输入/输出处理期间所执行的功能表。再者,本发明的加载/存储协助功能表示对输入/输出处理技术中的设计考虑的重新思考。
[0058] 虽然已详细描述与展示了本发明,清楚地理解,这只是以展示与示例方式,而不是以限定方法作出的,本发明的精神与范围只受所附的权利要求书限定。