具有处理器及输入/输出控制器的系统的制作方法

文档序号:6583201阅读:122来源:国知局
专利名称:具有处理器及输入/输出控制器的系统的制作方法
技术领域
本文中讨论的实施例的某一方面涉及具有处理器及输出/输出(I/O)控制器的系统。
背景技术
部分地构成信息设备的系统板被构造成响应于接收到10请求而控制相继的请求
之间的顺序。IO请求需要顺序保证以使得后续请求不会跳过在先请求。当请求存储器访问
时,系统板控制顺序以在完成基于在先请求的存储器访问之后发送后续请求。 系统板中的IOC(输入/输出控制器)在接收到关于存储器访问建立的响应之后
发出后续请求。IOC将后续请求保持从发送在先请求到接收到响应的时间段。因此,从接收
到请求到完成处理后续请求会花费很长时间。 已经提出了在日本特开专利公报06-187231号、日本特开专利公报04-190435号 及日本特开专利公报2007-148507号中公开的技术。

发明内容
因此,本发明的目的是縮短从接收到在先请求到完成处理后续请求所花费的时间 段。 根据实施例的一方面, 一种控制包括处理器及用于发送或接收请求的I/O控制器 的设备的方法,包括存储执行信息,所述执行信息根据相继请求的类型的组合指示要由所 述处理器还是所述I/O控制器来管理所述相继请求的执行的启动;所述I/O控制器连续地 接收到第一请求及第二请求;所述I/O控制器参照所述执行信息来确定所述第一请求及所 述第二请求的各自执行的启动是要由所述处理器还是所述I/O控制器来管理;在所述第一 请求及所述第二请求的执行的启动由所述1/0控制器管理时,从所述I/O控制器向所述处 理器发送所述第一请求,并且当在所述处理器处完成所述第一请求的执行时,从所述I/O 控制器向所述处理器发送所述第二请求;以及在所述第一请求及所述第二请求的执行的启 动由所述处理器管理时,无论所述处理器是否完成所述第一请求的执行,都向所述处理器 发送所述第一请求及所述第二请求。


图1是例示根据实施例1的系统板的结构的框图; 图2是例示从IOC到存储器的包路径的图; 图3是例示根据实施例1的IOC的结构的框图; 图4是例示控制单元表的示例的说明图; 图5是例示从IOC到存储器的包路径的说明图; 图6是例示根据实施例1的CPU的结构的框图; 图7是例示如何縮短等待时间的说明 图8是例示根据实施例1的在系统板中执行的请求顺序保证处理的流程的序列 图; 图9是例示当发生错误时在系统板中执行的请求顺序保证处理的流程的序列图; 图10是例示根据实施例2的在系统板中执行的请求顺序保证处理的流程的序列 图; 图11是例示现有技术的说明图; 图12是例示现有技术的说明图;以及 图13是例示现有技术的说明图。
具体实施例方式
将参照附图描述根据本发明技术的请求顺序控制系统、请求顺序控制方法及请求 顺序控制程序的示例。 参照图11,系统板上安装有CPU(中央处理单元)、SC(系统控制器)、I0C(外部输 入/输出控制器)及存储器。以上构造的系统板用于按IOC、 SC、存储器的顺序传送10请 求。 参照图12,当IOC从外部输入接收到需要顺序保证的请求时,系统板向SC发出在 先请求。当从IOC接收到在先请求时,SC使该在先请求进入流水线,并向存储器发送出存 储器访问请求。 当建立了存储器访问时,SC向IOC发送关于存储器访问建立的响应。在从SC接 收到关于存储器访问建立的响应之后,IOC向SC发出后续请求。如图13中所例示的,IOC
对所有需要顺序保证的io请求执行顺序保证。 实施例1 : 在下面的示例中,首先将描述根据实施例1的系统板的结构及处理流程,然后将 描述实施例1的优点。下文中将描述用作CPU及SC的系统板的示例。
系统板结构 首先将参照图1描述根据实施例1的系统板1。图1是例示根据实施例1的系统 板1的结构的框图。参照图l,根据实施例1的系统板1包括经由总线等而相互连接的IOC 10、CPU 20及存储器30(图中例示的"存储器",适用于下面的描述)。将描述各个元件的各 个处理流程。 IOC IO控制到系统板I的外部/来自系统板l的外部的信号发送/接收。当从外 部设备接收到需要顺序保证的请求时,根据实施例1的I0C 10向CPU 20发出在先请求,然 后向CPU 20发出后续请求。稍后将参照图3更详细地描述I0C IO执行的处理。
CPU 20控制IOC 10与存储器30之间的包发送/接收,并执行各种类型的计算及 数据处理。在实施例1中,CPU 20使从IOC接收到的在先请求或后续请求进入流水线以访 问存储器30。稍后将参照图6更详细地描述CPU 20执行的处理。 存储器30存储用于执行各种类型的处理的数据。具体地说,存储器30接收到来 自CPU 20的请求,并接受访问以执行读处理/写处理。 将参照图2描述从IOC 10到存储器30的包路径。参照图2,在系统板1中,IOC 10经由CPU 20而连接到存储器30。 IOC 10经由10总线(即,IOC-CPU总线)而连接到
5CPU 20。在实施例1中,10总线形成为8通道X4线串行传输总线。图2仅例示了单个10 总线。由于设置有多个10总线,因此在传送过程中针对10总线上的包的顺序保证是必不 可少的。 参照图2, CPU 20连接到存储器30。可能会存在以下情况来自各个源的保持等 待的请求在CPU 20中的流水线处遭受忙重试,即,该请求被返回到流水线的入口以再次处 理它。在先请求及后续请求需要顺序保证以应付前述情况。
IOC结构 将参照图3至图5描述图1中例示的IOC 10的结构。图3是例示根据实施例1 的IOC的结构的框图。图4是作为控制单元表的示例的说明图。图5是例示从I0C到存储 器的包路径的说明图。 参照图3,根据实施例1的IOC 10包括外部输入/输出控制1/F(接口,适用于后 续描述)11、CPU控制I/F 12、控制单元13及数据存储单元14。 CPU控制I/F 12经由I0总 线而连接到CPU 20。将描述各个单元的各个处理。1/0控制器10连续地接收到第一请求 及第二请求。 外部输入/输出控制I/F 11控制关于要从与其连接的外部单元输入或输出给该 外部单元的各种信息数据的通信。例如,外部输入/输出控制I/Fll从外部单元接收到包 括需要顺序保证的请求在内的各种请求。 CPU控制I/F 12控制关于要发送给与其连接的CPU 20或从CPU 20接收的各种 信息数据的通信。具体地说,CPU I/F 12向CPU 20发送在先请求,然后向CPU 20发送与 该在先请求相对应的后续请求。CPU控制I/F 12从CPU 20接收到关于完成请求处理的通 知。 数据存储单元14存储用于要由控制单元13执行的各种处理的数据、未完成的请 求以及程序,并且包含控制单元表14a。控制单元表14a将用于执行顺序保证控制的设备的 数据与请求类型相关联地存储。参照图3中的示例,将I0C 10或CPU 20设定为用于执行 顺序保证控制的单元。执行顺序保证控制以防止后续请求跳过在先请求。
控制单元表14a存储有例示在先请求的类型的"在先请求"、例示后续请求的类型 的"后续请求"以及例示用于执行顺序控制以防止后续请求跳过彼此关联的在先请求的单 元的"顺序控制单元"。"所有的DMA写/读"是指要作为在先请求由IOC IO发出的所有的 DMA写/读。控制单元表14a是指示要由处理器还是I/O控制器根据相继请求的类型的组 合来管理相继请求的执行的启动的执行信息。 顺序控制单元"IOC"表示IOC主要执行顺序控制以防止后续请求跳过在先请求。 作为顺序控制单元的"CPU & IOC"表示CPU主要执行顺序控制。例如,作为控制单元表14a 中的第(4)号后续请求的"零字节读"的处理可以在IOC内部完成。因此,后续请求"零字 节读"不通过CPU 20,因此不允许CPU执行关于后续请求"零字节读"的顺序控制。期望 "IOC"执行关于"DMA写"之后的"零字节读"的顺序控制,如控制单元表14中例示的。
图4中例示的控制单元表14a中的第(3)号的响应于后续请求"PIO读"可以在 CPU 20内部完成,而不通过CPU 20的控制单元及流水线。后续请求"PIO读"不通过CPU 20的控制单元,以使得不允许CPU 20的控制单元执行关于"PIO读"的顺序控制。因此,在 控制单元表14a中,将"IOC"设定为用于执行"DMA写"之后的"PIO读"的顺序控制单元。
6
CPU 20设置有用于对在先请求的写处理(DMA写)进行计数的计数器,将参照图6 对CPU 20的结构进行更详细的描述。计数器被构造成当使在先请求"DMA写"进入流水线 时递增1(+1),而当建立存储器访问以保证顺序时递减1(-1)。同时,CPU 20不对图4中例 示的控制单元表14a中的第(5)号的在先请求"DMA读"计数。因此,在控制单元表14a中, 将"IOC"设定为顺序控制单元。 控制单元13包括用于存储定义各种处理过程的程序以及所需数据的内部存储 器,并且根据所述程序及所需数据来执行各种处理。特别地,控制单元13还包括请求类型 确定部13a、在先请求发出部13b及后续请求发出部13c。控制单元13通过I/O控制器参
考执行信息来确定第一请求及第二请求的各自执行的启动是要由处理器还是i/o控制器 来管理,在第一请求及第二请求的执行的启动由i/o控制器管理时,从i/o控制器向处理器
发送第一请求,并且当在处理器处完成第一请求的执行时,从I/O控制器向处理器发送第 二请求,而在第一请求及第二请求的执行的启动由处理器管理时,无论处理器是否完成第 一请求的执行,都向处理器发送第一请求及第二请求。 请求类型确定部13a根据在先请求或后续请求的类型来确定是由IOC 10执行请 求顺序控制还是由CPU 20执行请求顺序控制。更具体地说,当从外部输入接收到需要顺序 保证的10请求时,请求类型确定部13a在控制单元表14a中搜索与控制单元13发出的在 先请求及后续请求相对应的顺序控制单元。即,请求类型确定部13a在控制单元表中搜索 作为搜索关键字的、与在后续请求之前接收到的"在先请求"与当前接收到的"后续请求"相 对应的请求对,以读出与所搜索的请求对相对应的"控制单元"。 在请求类型确定部13a读出作为顺序控制单元的"IOC"时,确定由IOC 10执行请 求顺序控制。向后续请求发出部13c发送出该确定。在请求类型确定部13a读出作为顺序 控制单元的"CPU & IOC"时,确定由连接到IOC 10的CPU 20执行请求顺序控制。然后,向 后续请求发出部13c发送出该确定。 在先请求发出部13b向CPU 20发出在先请求。更具体地说,在请求类型确定部 13a从外部输入接收到需要顺序保证的IO请求时,在先请求发出部13b向CPU 20发出在先 请求。即,如果作为IO请求接收到的在先请求与后续请求的对需要顺序保证,则在先请求 发出部13b向CPU 20发出在先请求。 在确定设定CPU 20执行请求顺序控制时,后续请求发出部13c在发出在先请求之 后向CPU 20发出后续请求。在这种情况下,IOC在不确认CPU已完成处理在先请求的情况 下向CPU发送后续请求。在确定设定IOC 10执行请求顺序控制时,后续请求发出部13c在 完成在先请求的处理之后向CPU 20发出后续请求。 当从请求类型确定部13a接收到将"CPU & IOC"设定为顺序控制单元的通知时, 后续请求发出部13c在后续请求的包中生成l比特跳过禁止标记(STO标记)。可能存在以 下情况为了保证在先请求及后续请求的顺序,来自各个源的处于等待状态的请求在CPU 20中的流水线处忙重试。将连同CPU结构的描述一起详细地描述前述各点。当接收到带有 跳过禁止标记的包中的后续请求时,CPU 20中的顺序控制部23a(稍后描述)使后续请求 在缓存器24a中进入等待状态,直到处理过程中的在先请求处于存储器访问建立的状态为 止。然后,向请求处理部23b发送出后续请求,以将其发送给存储器30。
考虑到板上的实际布线长度以及I0C与CPU之间的时钟同步,后续请求发出部13c以从发出在先请求起的足够间隔(例如,625MHz的20个周期)发出后续请求。换言之,为 了保证IO总线上的顺序,后续请求发出部13c以从发出在先请求起的足够间隔发出后续请 求。考虑到板上的实际布线长度或者IOC与CPU之间的时钟同步来确定在先请求与后续请 求之间的间隔。 当从请求类型确定部13a接收到将"IOC"设定为顺序控制单元的通知时,后续请 求发出部13c在CPU中完成在先请求的处理之后向CPU 20发出后续请求。
CPU结构 将参照图6及图7描述图1中例示的CPU 20的结构。图6是例示根据实施例1 的CPU的结构的框图。图7是表示如何縮短等待时间的说明图。 参照图6, CPU 20包括IOC控制I/F 21、存储器控制I/F 22、控制单元23及数据 存储单元24。 IOC控制I/F经由10总线而连接到IOC 10。存储器控制I/F连接到存储器 30。将描述各个单元的各个处理。 IOC控制I/F 21控制关于要从与其连接的外部设备输入或向该外部设备输出的 各种信息数据的通信。例如,IOC控制I/F 21接收到来自I0C10的请求,并向IOC 10发送 说明完成处理所接收到的请求的请求完成通知。 存储器控制I/F 22控制关于要向与其连接的存储器30发送或从该存储器30接 收的各种信息数据的通信。更具体地说,存储器控制I/F 22向存储器30发送请求,并从存 储器30接收到关于所发送的请求的处理完成通知。 数据存储单元24存储数据以及用于由控制单元23执行的各种数据处理的程序。 数据存储单元24包括缓存器24a。顺序控制部23a(稍后描述)允许缓存器24a临时地存 储从IOC 10接收到的后续请求。 控制单元23包括存储有定义各种处理过程的程序以及所需数据的内部存储器, 并且根据所述程序及所需数据来执行各种处理。控制单元包括顺序控制部23a、请求处理部 23b及传输错误检测部23c。 如果将CPU设定为顺序控制单元,则顺序控制部23a控制请求发送顺序,以使得经
由存储器控制I/F 22向存储器30发送在先请求,并且在完成处理在先请求之后,进一步向
存储器30发送后续请求。如果将I0C10设定为顺序控制单元,则在建立基于在先请求的存
储器访问之后,经由IOC控制I/F 21向IOC IO发送对存储器访问建立的响应。 当从IOC 10接收到在先请求时,顺序控制部23a向请求处理部23b发送出所接收
到的在先请求,以将其发送给存储器30。当从IOC 10接收到后续请求时,顺序控制部23a
确定是否已在所接收到的后续请求的包中生成跳过禁止标记。 当已在所接收到的后续请求的包中生成跳过禁止标记时,顺序控制部23a将后续 请求存储在缓存器24a中,以使其在缓存器24a中保持等待,直到在CPU中建立基于处理过 程中的在先请求的存储器访问为止。在建立之后,向请求处理部23b发送出后续请求,以将 其发送给存储器30。 具体地说,顺序控制部23a包括用于对与写处理(DMA写)相对应的在先请求进 行计数的计数器,其通过针对与"DMA写"相对应的请求每次进入流水线而将计数器值递增 1(+1)并在建立基于进入流水线的请求的存储器访问时将计数器值递减l(-l)来保证请求 之间的顺序。该系统能够在无需用于存储在先请求ID、请求类型及完成状态的大规模缓存
8器的情况下执行在先请求及后续请求的顺序控制。 请求处理部23b使请求进入流水线,并向存储器30发送出访问请求。具体地说, 当从顺序控制部23a接收到在先请求时,请求处理部23b使所接收到的在先请求进入流水 线,并向主存储器30发送访问请求。 当接收到来自存储器30的在先请求的处理已完成的通知以及来自顺序控制部 23a的后续请求时,请求处理部23b使所接收到的后续请求进入流水线,并向存储器30发送 出访问请求。此后,请求处理部23b从存储器30接收到关于处理完成的通知。
系统板1允许CPU 20根据请求类型来执行顺序控制,以縮短IOC 10等待完成在 先请求的处理的时间段。图7例示了如何縮短等待时间。参照沿时间轴表示处理的图7,尽 管例示了多个10总线及IOC,但是未使用多个这些元件。由垂直虚线定义的每个部分表示 单个时钟周期。尽管为了方便而将该图分为上部分及下部分,但是上部分与下部分之间没 有中断,如图中的箭头标记所例示的。 具体地说,如图7所示,在设定CPU 20执行顺序保证的情况下,与设定I0C 10执 行顺序保证的情况相比,系统板1能够将等待时间縮短与用于向IOC IO传送关于存储器访 问建立的通知的处理(在图7中描述为"传送"及"I0总线")、用于在I0C IO中执行顺序 控制的处理(在图7中描述为"I0C")以及用于向CPU 20传送的处理(在图7中描述为 "IO总线")相对应的量,导致性能更大程度地提高。 传输错误检 测部23c检测在IOC总线上发生的传输错误。具体地说,当检测到传 输错误时,传输错误检测部23c将该传输错误及发生错误的总线的号通知I0C 10。传输错 误检测部23c在发生传输错误之后销毁要由CPU接收的需要顺序保证的所有请求(图4中 例示的请求(1)、 (2)、 (6)),并指示顺序控制部23a正常地处理要由IOC 10保证顺序的请 求(图4中例示的请求(3)、 (4)、 (5))。 当完成处理在出错之前接收到的所有请求时,传输错误检测部23c向IOC 10发送 在发生传输错误之后由CPU 20接收到的需要顺序保证的请求的重传请求。在经过设定时 间之后,解除总线退化。
系统板的处理 将参照图8及图9描述根据实施例1的由系统板进行的处理。图8是例示根据实 施例1的由系统板执行的请求顺序保证处理的流程的序列图。图9是例示根据实施例1的 系统板响应于出错而执行的请求顺序保证处理的流程的序列图。 参照图8,当从外部输入接收到需要顺序保证的请求(步骤S101)时,系统板1中 的IOC IO确定关于所接收到的请求的类型。然后,根据所确定的请求类型来确定请求的顺 序控制是由IOC IO执行还是由CPU 20执行(步骤S102)。在图8中例示的示例中,将描述 要由CPU 20执行的请求顺序保证处理。 IOC 10向CPU 20发出在先请求(步骤S103)。然后,IOC 10在后续请求的包中生 成1比特跳过禁止标记(STO标记),并以从发出在先请求起的足够间隔(例如,625MHz的 20个周期的间隔)向CPU发出后续请求(步骤S104)。 当从IOC IO接收到在先请求时,CPU 20使所接收到的在先请求进入流水线(步 骤S105),并向存储器30发送出访问请求(步骤S106)。此后,CPU 20从存储器30接收到 处理完成(步骤S107)。在确定在先请求的处理已完成时,使后续请求进入流水线(步骤S108)。 CPU 20向存储器30发送出后续请求的访问请求(步骤S109),并且当存储器30 已完成与后续请求相对应的处理时,从存储器30接收到处理完成(步骤S110)。
将参照图9描述当发生错误时根据实施例1的系统板执行的请求顺序保证处理。 参照图9,当检测到传输错误(步骤S201)时,CPU 20将该传输错误以及发生错误的总线的 编号通知IOC 10 (步骤S202)。 当从CPU接收到传输错误的通知时,IOC 10停止发出所有的请求(步骤S203)。 CPU 20销毁在发生传输错误之后从IOC接收到的请求中的要由CPU保证顺序的所有请求 (步骤S204),并进一步指示顺序控制部23a正常地处理要由IOC 10保证顺序的请求(步 骤S205)。 当完成处理在发生错误之前从IOC接收到的所有请求(步骤S206)时,CPU 20向 IOC 10发送包重传请求(步骤S207)。当从CPU接收到重传请求时,IOC IO按时间顺序发 送出处于等待状态的未完成的请求(步骤S208)。此时,IOC IO不使用发生了传输错误的 IO总线。S卩,其将发生了传输错误的IOC总线暂时地退化,并使用与退化的总线不同的总线 重新发送请求。 此后,CPU 20在设定时间段内处理请求(步骤S209),并在经过该设定时间段之后 通知IOC 10解除10总线退化,并返回正常处理。 在系统板1中,IOC 10根据在先请求或后续请求的类型来确定请求顺序控制是由 IOC IO执行还是由CPU 20执行。在确定请求顺序控制由CPU 20执行时,I0C 10在发送在 先请求之后不等待完成处理由CPU 20执行的在先请求而立即向CPU 20发送该在先请求之 后的后续请求。CPU20执行顺序控制以向存储器30发送在先请求,并在完成处理该在先请 求之后,进一步向存储器30发送后续请求。可以在縮短IOC 10等待完成处理由CPU 20执 行的在先请求的时间段的同时向CPU 20发出后续请求。结果,可以縮短从接收到请求到完 成处理后续请求所花费的时间(等待时间),从而提高性能。 在根据实施例1的系统板1中,如果后续请求未通过CPU 20的处理单元23,则确 定由IOC IO执行请求顺序控制。不允许CPU 20执行顺序控制的请求可以经受I0C 10的 顺序控制。 在根据实施例1的系统板1中,以从发送在先请求起的预定间隔向CPU 20发送后 续请求。从发出在先请求至发出后续请求的足够间隔确保IO总线上的顺序保证。
在根据实施例1的系统板1中,如果确定由IOC 10执行请求顺序控制,则IOC 10 对后续请求添加跳过禁止标记,以将其发送给CPU 20。当接收到带有添加的跳过禁止标记 的后续请求时,CPU 20在完成处理在先请求之后向存储器30发送带有跳过禁止标记的后 续请求。例如,可以在CPU 20中设置用于管理在先请求的存储器访问完成的计数器,以根 据该计数器来执行带有跳过禁止标记的后续请求的顺序控制。结果,可以在不设置用于存 储在先请求ID、请求类型及请求的完成状态的大规模缓存器的情况下简单地执行对在先请 求及后续请求的顺序控制。 在根据实施例1的系统板1中,当检测到在先请求或后续请求的传输错误时,将发 生错误的IO总线通知IOC 10。销毁确定允许CPU 20来执行顺序控制的在先请求及后续请 求。然后,IOC IO在不使用发生所通知的错误的IO总线的情况下向CPU 20发送在先请求
10及后续请求。这使得尽管出错也允许适当的顺序控制成为可能。
实施例2 : 如已经针对本发明技术的示例描述的,本发明技术可以形成为各种结构。下文中 将描述本发明技术的另一示例作为实施例2。
IO总线上的顺序保证 在实施例1中,为了确保10总线上的顺序,以从发出在先请求起的足够间隔(例 如,625MHz的20个周期)发出后续请求。然而,本发明技术并不限于前述结构。设置有多 个10总线,例如4个总线。在实施例2中,使用同一个10总线来发送在先请求及后续请求, 以保证10总线上的顺序。 参照图IO,在向CPU发出在先请求(步骤S303)之后,根据实施例2的系统板中 的IOC在后续请求包中生成跳过禁止标记,并从与用于发送在先请求的总线相同的总线向 CPU发出后续请求(步骤S304)。 根据实施例2的系统板中的IOC存储有在发出在先请求时用于请求传输的总线的 编号,以用于唯一标识。当向CPU发出后续请求时,如果在先请求中存在不能被后续请求跳 过的请求,则IOC经由用于发送该在先请求的总线发出后续请求。如果存在多个禁止跳过 的在先请求,则可以使用与用于发送最后的在先请求的总线相同的总线发送后续请求。
由于可以在与用于发送在先请求的10总线相同的10总线上发送后续请求,因此 防止后续请求跳过在先请求。这可以确保保证10总线上的请求之间的顺序。
系统结构 所例示的单元的各个组成部分在物理上不一定形成为附图中的结构。各个单元的 分散/集成的具体结构并不限于附图中例示的结构。结构的整体或部分可以根据不同的负 载及用途以任意单元功能地或物理地分散/集成。例如,在先请求发出部13b可以与后续请 求发出部13c集成。在各个单元中进行的处理功能可以整体地或部分地由CPU以及由CPU 分析/执行的程序实现。作为另一种选择,可以通过布线逻辑利用硬件实现那些功能。
可以全部地或部分地手动执行示例中以自动方式执行的各个处理。相反的是,可 以使用已知方法整体地或部分地自动执行示例中以手动方式执行的各个处理。除非另外指 明,否则处理过程、控制过程、具体说明及包括附图及说明书中的各种数据及参数的信息可 以任意地改变。
程序 如在示例中描述的请求顺序控制方法可以通过由诸如个人计算机及工作站的计 算机执行准备好的程序来实现。可以经由诸如互联网的网络分布程序。可以将程序存储在 诸如软盘(FD) 、CD-ROM及MO的计算机可读记录介质中,并由用于执行程序的计算机从其中 读取该程序。 所公开的系统縮短了从接收到请求到完成处理后续请求所花费的时间段(S卩,等 待时间),从而提高性能。 如上所述,为了更好地理解本发明的实施例而具体地描述了本发明,以上描述并 不限制本发明的其它方面。因此,可以在不背离本发明的主旨及范围的情况下以各种方式 改变及修改本发明。 本文中记载的示例及条件语言是出于教育目的,以帮助读者理解由本发明人为推
11进技术而贡献的本发明及概念,并且应当将其理解为并不限于这些具体记载的示例及条 件,也不限于说明书中的与示出本发明的优势及劣势有关的这些示例的组织。虽然已详细 描述了本发明的实施例,但是应当理解,可以在不背离本发明的精神及范围的情况下对其 进行各种改变、替代及变更。
权利要求
一种控制具有处理器及用于发送或接收请求的I/O控制器的系统的方法,包括存储执行信息,所述执行信息根据相继请求的类型的组合指示要由所述处理器还是所述I/O控制器来管理所述相继请求的执行的启动;所述I/O控制器连续地接收到第一请求及第二请求;所述I/O控制器参考所述执行信息来确定所述第一请求及所述第二请求的各自执行的启动是要由所述处理器还是所述I/O控制器来管理;在所述第一请求及所述第二请求的执行的启动由所述I/O控制器管理时,从所述I/O控制器向所述处理器发送所述第一请求,并且当在所述处理器处完成所述第一请求的执行时,从所述I/O控制器向所述处理器发送所述第二请求;以及在所述第一请求及所述第二请求的执行的启动由所述处理器管理时,无论所述处理器是否完成所述第一请求的执行,都向所述处理器发送所述第一请求及所述第二请求。
2. 根据权利要求1所述的方法,其中所述确定在所述第二请求未通过所述处理器时, 确定由所述I/O控制器管理请求。
3. 根据权利要求1所述的方法,其中所述发送以从发送所述第一请求起的预定间隔向 所述处理器发送所述第二请求。
4. 根据权利要求1所述的方法,其中所述发送利用总线发送所述第二请求,所述总线是在发送所述第一请求时使用的。
5. 根据权利要求1所述的方法,其中所述发送在所述第二请求中生成跳过禁止标记。
6. 根据权利要求5所述的方法,还包括在完成所述第一请求的执行之后向连接到所述 处理器的存储器发送出包含所述标记的所述第二请求。
7. 根据权利要求1所述的方法,还包括检测总线中的所述第一请求或所述第二请求的 传输错误。
8. 根据权利要求7所述的方法,还包括销毁由所述处理器管理的所述第一请求及所述 第二请求,并且所述发送在不使用所述总线的情况下向所述处理器发送所述第一请求及所 述第二请求。
9. 一种具有处理器、用于发送或接收请求的1/0控制器及存储器的系统,包括所述I/O控制器,包括存储单元,用于存储执行信息,所述执行信息根据相继请求的类型的组合指示要由所述处理器还是所述I/O控制器来管理所述相继请求的执行的启动;接收单元,用于所述I/O控制器连续地接收到第一请求及第二请求;确定单元,用于所述I/O控制器参考所述执行信息来确定所述第一请求及所述第二请 求的各自执行的启动是要由所述处理器还是所述I/O控制器来管理;以及发送单元,用于在所述第一请求及所述第二请求的执行的启动由所述1/0控制器管理 时,从所述I/O控制器向所述处理器发送所述第一请求,并且当在所述处理器处完成所述 第一请求的执行时,从所述I/O控制器向所述处理器发送所述第二请求,而在所述第一请 求及所述第二请求的执行的启动由所述处理器管理时,无论所述处理器是否完成所述第一 请求的执行,都向所述处理器发送所述第一请求及所述第二请求;以及所述处理器,包括控制单元,用于向所述存储器发送所述第一请求,并且当完成所述第一请求的执行时,向所述存储器发送所述第二请求。
10. 根据权利要求9所述的系统,其中所述确定单元在所述第二请求未通过所述处理 器时,确定由所述1/0控制器管理请求。
11. 根据权利要求9所述的系统,其中所述发送单元以从发送所述第一请求起的预定 间隔向所述处理器发送所述第二请求。
12. 根据权利要求9所述的系统,其中所述发送单元利用总线发送所述第二请求,所述 总线是在发送所述第一请求时使用的。
13. —种存储有用于根据处理来控制设备的计算机程序的计算机可读记录介质,所述 设备具有处理器及用于发送或接收请求的I/O控制器,所述处理包括存储执行信息,所述执行信息根据相继请求的类型的组合指示要由所述处理器还是所 述I/O控制器来管理所述相继请求的执行的启动;所述I/O控制器连续地接收到第一请求及第二请求;所述I/O控制器参考所述执行信息来确定所述第一请求及所述第二请求的各自执行的启动是要由所述处理器还是所述I/O控制器来管理;在所述第一请求及所述第二请求的执行的启动由所述I/O控制器管理时,从所述I/O 控制器向所述处理器发送所述第一请求,并且当在所述处理器处完成所述第一请求的执行时,从所述I/O控制器向所述处理器发送所述第二请求;以及在所述第一请求及所述第二请求的执行的启动由所述处理器管理时,无论所述处理器 是否完成所述第一请求的执行,都向所述处理器发送所述第一请求及所述第二请求。
14. 根据权利要求13所述的计算机可读记录介质,其中所述确定在所述第二请求未通 过所述处理器时,确定由所述I/O控制器管理请求。
15. 根据权利要求13所述的计算机可读记录介质,其中所述发送以从发送所述第一请 求起的预定间隔向所述处理器发送所述第二请求。
16. 根据权利要求13所述的计算机可读记录介质,其中所述发送利用总线发送所述第 二请求,所述总线是在发送所述第一请求时使用的。
全文摘要
本发明公开了一种具有处理器及输出/输出控制器的系统。一种控制包括处理器及I/O控制器的设备的方法,包括存储执行信息;连续地接收到第一请求及第二请求;参考所述执行信息来确定所述第一请求及所述第二请求的各自执行的启动是要由所述处理器还是所述I/O控制器来管理;在所述第一请求及所述第二请求的执行的启动由所述I/O控制器管理时,从所述I/O控制器向所述处理器发送所述第一请求,并且当在所述处理器处完成所述第一请求的执行时,从所述I/O控制器向所述处理器发送所述第二请求;以及在所述第一请求及所述第二请求的执行的启动由所述处理器管理时,无论所述处理器是否完成所述第一请求的执行,都向所述处理器发送所述第一请求及所述第二请求。
文档编号G06F12/00GK101739341SQ20091021218
公开日2010年6月16日 申请日期2009年11月11日 优先权日2008年11月14日
发明者中川哲志, 杉崎刚, 草地宗太 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1