I/o控制器和描述符传输方法

文档序号:6596892阅读:293来源:国知局
专利名称:I/o控制器和描述符传输方法
技术领域
在此讨论的实施例涉及控制I/O设备的I/O控制器。
背景技术
当诸如磁盘设备或网络接口等的1/0设备(输入/输出设备)执行数据传输或分 组传输时,例如,计算机中的处理器向控制1/0设备的1/0控制器传递描述符。描述符可以 包括指示要由I/O设备执行的处理的种类和作为数据传输对象的主存储器的地址等的信 息。1/0控制器可以基于从处理器传递的描述符中的信息而使1/0设备执行所指示的处理。
在向1/0控制器传输描述符时,处理器将描述符写到设置在1/0控制器中的描述 符存储单元,并将写至描述符存储单元的描述符传输至1/0控制器。描述符存储单元可以
是与主存储器分离地设置的且与存储器访问相比可被更快地访问的存储器单元。另外,1/
0控制器可以从处理器接收请求,并读取存储在主存储器中的描述符。 提出了一种数据传输,在该数据传输中,DMA控制器顺序地处理由CPU写到TD链存 储单元的TD链中所包括的多个传输描述符,并且通过直接存储器存取而在主存储器和I/O 设备之间传输一系列数据。 通常,处理器将描述符写到设置在I/O控制器中的描述符存储单元,然后将所写 的描述符传输至I/0控制器,可以减少传瑜描述符的延迟。然而,在该方法中,1/0控制器 必须设置有具有相对大的容量的描述符存储单元。 而且,在其中1/0控制器从处理器接收请求并读取存储在主存储器中的描述符的
方法中,需要时间来从主存储器读取描述符,因此增大了传输描述符的延迟。 要解决的问题是在不增大用于存储描述符的存储器单元的容量的情况下减少传
输描述符的延迟。

发明内容
在此所讨论的实施例的一方面是提供I/O控制器和描述符传输方法。 可以通过下面的I/O控制器实现上述方面,其中,可以将I/O设备连接至该I/O控
制器,并且该I/O控制器指令I/O设备执行处理,该I/O控制器包括描述符传输设备,该描
述符传输设备传输指示要执行的处理的内容的描述符;以及执行指令单元,该执行指令单
元基于从描述符传输设备传输的描述符而指令1/0设备执行该处理;其中,描述符传输设
备包括用于存储描述符的存储器,根据来自处理器的与描述符读取源相关的指示而从存
储描述符的主存储器或所述存储器读取所指示的描述符的描述符读取单元;以及将所读取
的描述符传输至执行指令单元的描述符传输单元。
在下文更充分地描述和声明的结构和操作的细节中,参考构成该细节的一部分的 附图,这些所述的和其它的方面和优点将随之而显而易见,在附图中相似的附图标记始终 表示相似的部分。


图1示出示例性设备结构; 图2A示出描述符传输方法,并且图2B示出利用示例性描述符传输设备的示例性
描述符传输方法; 图3示出示例性实施例; 图4示出描述符传输设备中的示例性操作和处理; 图5示出示例性描述符传输处理序列; 图6示出第二示例性实施例; 图7示出第三示例性实施例;以及 图8示出描述符读取单元中的操作和处理。
具体实施例方式
图1示出根据示例性实施例的描述符传输设备。根据来自处理器2的指令,根据 示例性实施例的描述符传输设备1从主存储器5或描述符存储单元12读取描述符,并将所 读取的描述符传输至I/0控制器3。描述符是与要由1/0设备4执行的处理相关的信息,并 且例如包括指示要由I/O设备4执行的处理的种类和作为数据传输对象的主存储器的地址 的信息。图1示出配备有描述符传输设备1的示例性I/O控制器3。然而,描述符传输设备 1可以是独立于I/O控制器3的设备。 处理器2还可以通过路径6将描述符存储在主存储器5的描述符存储区域51中, 或存储在设于描述符传输设备1中的描述符存储单元12中,并且还向描述符传输设备1指 示描述符读取源。 I/O控制器3指令I/O设备4执行由通过路径6而从描述符传输设备1传输的描 述符所指示的要由I/O设备执行的处理。设置在I/O控制器3中的执行指令单元31接收 从设于描述符传输设备1中的描述符读取单元11传输的描述符,并指令I/O设备4执行与 所传输的描述符相对应的处理。例如,I/O设备4执行例如由I/O控制器3指令的处理。
图1所示的描述符传输设备1包括描述符读取单元11和描述符存储单元12。描 述符读取单元11例如根据从处理器2接收的指示描述符读取源的指示而从存储描述符的 主存储器5或描述符存储单元12读取与该指示相对应的描述符。而且,描述符读取单元11 用于将所读取的描述符传输至设置在I/O控制器3中的执行指令单元31。
在I/O控制器3指令I/O设备4执行由描述符所指示的处理时,描述符读取单元 11可以能够从读取源读取后续的描述符,即,预取操作。 描述符存储单元12是可与主存储器5分离地设置的、且与存储器访问相比可被更
快地访问的存储器单元。描述符存储单元12存储由处理器2所写的描述符。 图2A示出描述符传输方法,并且图2B示出利用示例性描述符传输设备1的示例
性描述符传输方法。
图2A和2B示出在下面的情况下的例子将三个描述符(即,第一描述符Dl以及 后续的描述符D2和D3)传输至I/O控制器3。图1所示的处理器2指令描述符传输设备1 从描述符存储单元12读取描述符Dl,并从主存储器5读取描述符D2和D3。
图2A示出了 处理器从时间t0到时间t3将描述符Dl至D3顺序地写到主存储 器,并且处理器从时间t3到时间t4指令描述符传输设备读取描述符。描述符传输设备从 时间t4到时间t6从主存储器读取描述符Dl,并且从时间t6到时间t7将所读取的描述符 Dl传输至I/O控制器。然后,I/O控制器从时间t7到时间t9将用于指令执行基于描述符 Dl的处理的执行指令数据发送至1/0设备。 描述符传输设备从时间t7到时间t8从主存储器读取描述符D2,并且从时间t9到 时间t10将所读取的描述符D2传输至I/O控制器。另一方面,I/O控制器从时间t10到时 间t12将基于描述符D2的执行指令数据发送至I/O设备。 而且,描述符传输设备从时间t10到时间tll从主存储器读取描述符D3,并且从时 间t12到时间t13将所读取的描述符D3传输至I/O控制器。随后,I/O控制器将基于描述 符D3的执行指令数据发送至I/O设备。 另一方面,如图2B所示,根据示例性实施例,例如,如图1所示的处理器2从时间 t0到时间tl将描述符Dl写到描述符存储单元12,并且从时间tl到时间t3,将描述符D2 和D3写到主存储器5。从时间t3到时间t4,处理器2指令描述符传输设备1读取描述符。
处理器2指令描述符传输设备1从描述符存储单元12读取描述符Dl ,并且还从主 存储器5读取描述符D2和D3。 描述符传输设备1从时间t4到时间t4A从描述符存储单元12读取描述符Dl,并 且从时间t4A到时间t5将所读取的描述符Dl传输至I/O控制器3。另一方面,I/O控制器 3从时间t5到时间t8A将用于指令执行基于描述符Dl的处理的执行指令数据发送至I/O 设备4。 描述符传输设备1从时间t5到时间t7A,从主存储器读取描述符D2,并且从时间 t8A到时间t8B,将所读取的描述符D2传输至I/O控制器3。 I/O控制器3从时间t8B到时 间tllA,将基于描述符D2的执行指令数据发送至I/O设备4。 描述符传输设备1从时间t8B到时间tlOA,从主存储器读取描述符D3,并且从时 间tllA到时间tllB,将所读取的描述符D3传输至I/O控制器3。 I/O控制器3将基于描述 符D3的执行指令数据发送至I/O设备4。 根据示例性实施例,与图2A所示的例子相比,从处理器2发出用于读取描述符Dl 的指令时开始到I/O控制器3开始传输执行指令数据时的时段被縮短了时段t7-t5。换句 话说,在示例性实施例中,由于处理器2指令描述符传输设备1从与主存储器相比可被更快 地访问的描述符存储单元12读取第一描述符Dl,因而与从主存储器读取描述符Dl的图2A 的例子相比,可以减少传输描述符的延迟。 而且,在示例性实施例中,在I/O控制器3发送基于第一描述符Dl的执行指令数 据时,描述符传输设备1从主存储器5读取在描述符Dl之后的描述符D2。因此,可以隐藏 读取该存储器的延迟。作为其结果,该实施例可以进一步减少传输该描述符的延迟。
而且,在示例性实施例中,处理器2将在Dl之后的描述符D2和D3写到主存储器 5。因此,对于存储该描述符,仅需要小容量的描述符存储单元12,另外,在确保描述符存储
6单元12中的空闲区域之前,处理器2不必等待去写该描述符。 图3示出第一示例性实施例。在第一实施例中,处理器2将描述符随同与该描述 符相对应的源类型(Source Type)(例如图3所示的源类型=1) 一起写到主存储器5的描 述符存储区域51。处理器2指令描述符传输设备1A从主存储器5读取以下描述符指示 源类型的值为1的"源类型=1"。 设置在描述符传输设备1A中的描述符读取单元11A从主存储器5读取描述符,并 获得所读取的描述符的源类型。例如,描述符传输设备1A中的描述符读取单元IIA基于所 获得的源类型的值而确定是将所读取的描述符传输至1/0控制器3A,还是等待将所读取的 描述符写到描述符存储单元12然后将写到描述符存储单元12的描述符传输至I/O控制器 3A。"源类型"是指示描述符读取源的标记,并被存储在用于存储源类型的预定字段 中。 图3所示的被写到描述符存储单元12的描述符El是要被传输至I/O控制器3A 的第一描述符,并且E2和E3是在El之后的描述符。在第一实施例中,假定与E1、E2和E3 中每一个相对应的源类型的值为"0"。 图4示出示例性实施例中的描述符传输设备的示例性操作和处理。在第一实施例 中,当描述符传输设备1A从处理器2接收描述符读取指令时,描述符传输设备1A从主存储 器5读取描述符。描述符传输设备1A基于从主存储器5所读取的描述符的源类型而确定 是将所读取的描述符传输至I/O控制器3A,还是等待通过处理器2将描述符写到描述符存 储单元12而不将所读取的描述符传输至I/O控制器3A。 如果描述符传输设备1A已确定了从主存储器5读取的描述符的源类型不是"O", 则描述符传输设备1A确定要传输的描述符的读取源为描述符存储单元12,并等待通过处 理器2将该描述符写到描述符存储单元12。响应于描述符被写到描述符存储单元12,描述 符传输设备1A从描述符存储单元12读取所写的描述符。 另一方面,如果描述符传输设备1A已确定了从主存储器5读取的描述符的源类型 为"0",则描述符传输设备1A确定要传输的描述符为从主存储器5读取的描述符(也就是 说,确定描述符读取源为主存储器5),并将所读取的描述符传输至I/O控制器3A。
描述符读取单元11A从处理器2接收描述符读取指令,并且例如基于指示该单元 自身中包括的描述符的存储位置的指示器而读取存储在主存储器5的描述符存储区域51 中的描述符(Sl)。描述符读取单元11A确定所读取的描述符是否是有效的描述符(S2)。 描述符读取单元11A确定在Sl中已被从其读取描述符的描述符存储区域51是否是处理器 2已将描述符写到的区域,并基于该确定的结果而确定所读取的描述符是否是有效的描述 符。 如果描述符读取单元11A已确定了在Sl中已从处理器2尚未写的区域读取了描 述符,则描述符读取单元IIA确定所读取的描述符不是有效的描述符,并且处理进行到S8。 另一方面,如果描述符读取单元11A已确定在S1中已从处理器2已写的区域读取了描述 符,则描述符读取单元IIA确定所读取的描述符是有效的描述符,并且处理进行到S3。
描述符读取单元11A确定在Sl中读取的描述符的源类型是否是"O" (S3)。如果 描述符读取单元11A已确定描述符的源类型为"O",则描述符读取单元IIA确定要传输的描述符的读取源为主存储器5。描述符读取单元11A确认I/O控制器3A没有正在处理描述 符,也就是说,I/O控制器3A没有正在执行用于发送基于描述符的执行指令数据的处理,然 后将在SI中读取的描述符传输至I/O控制器3A(S4)。 如果描述符读取单元11A已确认I/O控制器3A正在处理描述符,则描述符读取单 元11A保持描述符,直到I/O控制器3A终止描述符处理为止。 描述符读取单元IIA更新指示描述符的存储位置的指示器,并读取已被写到主存 储器的描述符存储区域51的后续的描述符(S5),然后处理返回至S2。
在S3中,如果描述符读取单元11A已确定描述符的源类型不是"O",则描述符读取 单元IIA确定要传输的描述符的读取源为描述符存储单元12。换句话说,描述符读取单元 11A等待由处理器2将描述符写到描述符存储单元12,而不将在S1中读取的描述符传输至 I/O控制器(S6)。 响应于描述符被写到描述符存储单元12,描述符读取单元11A从描述符存储单元 12读取描述符,并将该描述符传输至I/O控制器3A(S7)。描述符读取单元11A等待来自处 理器2的描述符读取指令(S8)。 图5示出了示例性描述符传输处理序列。例如,图3所示的处理器2从时间t0到 时间tl将源类型为1的描述符写到主存储器5,并从时间tl到时间t2指令描述符传输设 备1A读取该描述符。从时间t2到时间t3,已接收到读取指令的描述符传输设备1A中的 描述符读取单元11A从主存储器5读取该描述符。如果描述符读取单元11A已确定所读取 的描述符的源类型为"1"(也就是说,源类型不是"0"),则如上文所述地,描述符读取单元 11A基于例如图4的S6中所示的处理而等待由处理器2将描述符写到描述符存储单元12。
当处理器2从时间t4到时间t5将第一描述符El写到描述符存储单元12时,描 述符读取单元11A在作为写描述符E1已被终止时的时间的时间t5开始从描述符读取单元 12读取描述符El。描述符读取单元11A从时间t6到时间t7将描述符El传输至I/O控制 器3A。 I/O控制器3A从时间t7到时间tll将用于指令执行基于描述符El的处理的数据 (即,执行指令数据)发送至I/O设备4。 对于作为在描述符El之后的描述符的E2和E3,处理器2从时间t5到时间t8将 描述符E2和E3写到主存储器5,并从时间t8到时间t9指令描述符传输设备1A读取该描 述符。从时间t9到时间t10,已接收到读取指令的描述符传输设备1A中的描述符读取单元 11A从主存储器5读取描述符E2。描述符读取单元11A确定所读取的描述符E2的源类型 为"0",并且从时间tll到时间tl2,将描述符E2传输至1/0控制器3A。 1/0控制器3A从 时间t12到时间tl4,将基于描述符E2的执行指令数据发送至I/O设备4。
描述符读取单元11A从时间t12到时间t13从主存储器5读取描述符E3。描述符 读取单元11A确定所读取的描述符E3的源类型为"0",并且从时间t14到时间tl5,将描述 符E3传输至I/O控制器3A。然后,控制器3A在时间t15时开始向I/O设备4发送基于描 述符E3的执行指令数据。 另一方面,如图5所示,处理器2从时间t9到时间t10将源类型为"1 "的描述符写 到主存储器5,并从时间t10到时间tll指令描述符传输设备1A读取该描述符。从时间t15 到时间t16,已接收到读取指令的描述符传输设备1A中的描述符读取单元11A从主存储器 5读取描述符,并且如果描述符读取单元11A已确定所读取的描述符的源类型不是"0",则
8描述符读取单元11A等待将描述符写到描述符存储单元12。 在参考图3至5所述的第一示例性实施例中,处理器2将具有源类型的描述符写 到主存储器5,然后指令描述符传输设备1A从主存储器5读取该描述符。如果描述符传输 设备1A已确定从主存储器5读取的描述符的源类型不是"O",则描述符传输设备IA等待由 处理器2将描述符写到描述符存储单元12,并且响应于描述符被写到描述符存储单元12, 描述符传输设备1A从描述符存储单元12读取所写的描述符。 因此,例如,通过利用处理器2将源类型的值为"1"的描述符写到主存储器5,可以 总是从描述符存储单元12读取第一描述符,从而使描述符传输设备1A处于等待状态,然后 将第一描述符写到描述符存储单元12。换句话说,根据第一实施例,可以将描述符传输设备 1A设置成从描述符存储单元12读取期望的描述符。 与描述符相对应的源类型的值不局限于"O"或"l",并且可以采用任意数量的种 类的源类型和任意的源类型的值。而且,可以根据源类型的值而预先确定从描述符存储单 元12的哪个地址读取描述符。 例如,处理器2可以将源类型为"2"、"3"和"4"的描述符分别写到主存储器5,然 后可以指令描述符传输设备1A读取该描述符,并且描述符传输设备1A可以根据从主存储 器5读取的描述符的源类型的值而从描述符存储单元12的地址读取描述符。
图6示出第二示例性实施例。在图6所示的处理单元中,省略了对被分配了与图 3所示的处理单元相同的附图标记的类似的处理单元的说明。 在第二示例性实施例中,根据与第一实施例相类似的描述符传输方法,描述符传 输设备1A将从主存储器5A或描述符存储单元12读取的描述符写到I/O控制器。
处理器2将具有源类型的描述符写到主存储器5A的描述符区域51 ,然后指令描述 符传输设备1A从主存储器5A读取描述符。 例如,如果将描述符读取单元IIA设置成从描述符存储单元12读取描述符,则处 理器2将源类型不是"0"(例如,为"l")的描述符写到主存储器5A上的描述符存储区域 51。例如,如果描述符传输设备1A中的描述符读取单元11A已确定从主存储器5A读取的 描述符的源类型不是"0",则描述符读取单元11A等待由处理器2将该描述符写到描述符存 储单元12。响应于描述符被写到描述符存储单元12,描述符读取单元IIA从描述符存储单 元12读取被写到描述符存储单元12的描述符,并将该描述符传输至I/O控制器3B。
如果描述符读取单元11A已确定从主存储器5A读取的描述符的源类型为"0",则 描述符读取单元11A将所读取的描述符传输至I/O控制器3B。 I/O控制器3B将基于所传 输的描述符的执行指令数据发送至I/O设备4。 在第二示例性实施例中,在主存储器5A上设置有完成描述符存储区域52。当1/ 0设备4完成由从执行指令单元31发送的执行指令数据所指示的处理的执行时,I/O设备 4向完成描述符处理单元32通知该处理已完成。设置在I/O控制器3B中的完成描述符处 理单元32将指示已由I/O设备4完成了该处理的信息作为完成描述符信息而写到主存储 器5A上的完成描述符存储区域52。完成描述符信息可以包括指示已完成了执行由描述符 所指示的处理(即,由通过执行指令单元31发送至I/O设备4的执行指令数据所指示的处 理)的信息。 例如,如图6所示,当完成了由被写到主存储器5A上的描述符存储区域51的描述符El所指示的处理的执行时,完成描述符处理单元32将作为指示完成了执行由描述符El 所指示的处理的信息的完成描述符1写到完成描述符存储区域52。 如果例如描述符读取单元11A已从图6所示的主存储器5A读取了主存储器5A中 的源类型为"0"的描述符,则描述符读取单元11A等待将描述符x写到描述符存储单元12, 然后读取描述符x,并将描述符x传输至I/O控制器3B。如图6所示,当I/O设备4完成了 执行由所传输的描述符x所指示的处理时,I/O控制器3B中的完成描述符处理单元32将作 为指示已完成了执行由描述符x所指示的处理的信息的完成描述符x写到主存储器5A上 的完成描述符存储区域52。 在第二实施例中,每当完成由描述符所指示的处理时,将完成描述符信息写到主 存储器5A上的完成描述符存储区域。因此,根据第二示例性实施例的例子,将指示该处理 的描述符与指示是否已完成了执行该处理的信息相关联。作为其结果,可以容易地知道由 哪个描述符指示完成了的处理。 图7示出第三示例性实施例。在图7所示的处理单元中,省略了对被分配了与图3 所示的处理单元相同的附图标记的类似的处理单元的说明。在第三示例性实施例中,被写 到主存储器5或描述符存储单元12的描述符包括针对紧接着描述符自身的要读取的描述 符的指示器。描述符读取单元IIB基于描述符中所包括的指示器而确定紧接着要读取的描 述符的读取源,并且如图7所示的双点划箭头70所示地,基于该确定的结果而顺序地从该 读取源读取紧接着要读取的描述符。 当处理器2将描述符写到主存储器5或描述符存储单元12时,将针对紧接着要读 取的描述符的指示器存储在各描述符中包括的字段(例如next—ptr字段)中。该指示器 指示紧接着要读取的描述符已被写到了描述符存储单元12或主存储器5的哪个区域。
设置在描述符传输设备IB中的描述符读取单元11B基于存储在从主存储器5或 描述符存储单元12读取的描述符的next—ptr字段中的指示器而确定是否已将下个描述符 写到了描述符存储单元12或主存储器5。描述符读取单元IIB基于该确定的结果而从描述 符存储单元12或主存储器5读取下个描述符。 图8示出了第三实施例中的描述符读取单元中的示例性操作和处理。当描述符读 取单元11B从处理器2接收到描述符读取指令时,描述符读取单元11B从由该单元自身中 保持的指示器所指示的读取源(主存储器5或描述符存储单元12)读取描述符(Sll)。可 以将该指示器的初始值预先设置到处理器2。 描述符读取单元11B确定所读取的描述符是否有效(S12)。描述符读取单元11B 确定在Sll中已从其读取描述符的区域是否是已被处理器2写的区域,并基于该确定的结 果而确定所读取的描述符是否是有效的描述符。 描述符读取单元11B确认I/O控制器3C不是正在处理描述符(即,I/O控制器3C 不是正在执行用于发送基于描述符的执行指令数据的处理),然后将所读取的描述符传输 至I/O控制器3C(S13)。如果描述符读取单元11B已确认了 I/O控制器3C正在处理描述 符,则描述符读取单元11B将描述符保持在预定的存储器单元中,直到I/O控制器3C终止 描述符处理为止。 描述符读取单元11B从由在Sll中读取的描述符的next_ptr字段中存储的指示 器所指示的读取源读取描述符(S14),并且处理返回至S12。
如果描述符读取单元11B在S12中已确定所读取的描述符为无效的描述符,则描 述符读取单元llB保持已被确定为无效的描述符的next—ptr字段中存储的指示器,并等待 来自处理器2的描述符读取指令(S15)。然后,当描述符读取单元11B接收到来自处理器2 的下个描述符读取指令时,描述符读取单元11B从由所保持的指示器所指示的读取源读取 描述符。 在第三示例性实施例中,由于描述符已具有针对下个描述符的指示器,因而不必 将描述符写到描述符存储单元12或主存储器5的连续的存储器区域。而且,由于指示器 指定了是从主存储器5还是从描述符存储单元12读取描述符,因而可以切换描述符读取 源。例如,通过将描述符读取单元11B中保持的指示器的初始值设置成指示描述符存储单 元12,描述符读取单元11B可以在不访问主存储器5的情况下读取描述符存储单元12中的 描述符。 在描述符传输设备、I/O控制器和描述符传输方法中,如果来自处理器的与描述符 读取源相关的指示指示从已被与主存储器分离地设置的、且可被快速地访问的存储器单元 读取描述符,则描述符传输设备从该存储器单元读取描述符,并将该描述符传输至I/O控 制器。因此,可以在不增大存储器单元容量的情况下减少传输描述符的延迟。
可以在计算硬件(计算设备)和/或软件中实现实施例,例如(在非限定性的例子 中)任何可以存储、检索、处理和/或输出数据和/或与其它计算机进行通信的计算机。可 以将产生的结果显示在计算硬件的显示器上。可以将实现实施例的程序/软件记录在包括 计算机可读记录介质的计算机可读介质上。还可以通过传输通信介质来传输实现实施例的 程序/软件。计算机可读记录介质的例子包括磁性记录设备、光盘、磁光盘和/或半导体存 储器(例如RAM、 ROM等)。磁性记录设备的例子包括硬盘驱动器(HDD)、软盘(FD)和磁带 (MT)。光盘的例子包括DVD (数字多功能光盘)、DVD-RAM、 CD-ROM (压縮盘-只读存储器) 和CD-R(可记录)/RW。通信介质的例子包括载波信号。 此外,根据实施例的方面,可以提供所描述的特征、功能和/或操作的任何组合。
从本详细说明书来看,实施例的许多特征和优点是明显的,因此,所附的权利要求 旨在涵盖落在所附的权利要求的实质精神和范围内的实施例的所有这种特征和优点。此 外,由于对于本领域的技术人员来说,可以容易地进行许多变型和改变,因此不是要将本发 明的实施方式局限于例示和说明的具体的结构和操作,相应地,所有适当的变型和等同方 案均落在本发明的实施例的范围之内。
权利要求
一种I/O控制器,I/O设备能够被连接至所述I/O控制器,并且所述I/O控制器指令所述I/O设备执行处理,所述I/O控制器包括描述符传输设备,所述描述符传输设备传输指示要执行的处理的内容的描述符;以及执行指令单元,所述执行指令单元基于从所述描述符传输设备所传输的描述符而指令所述I/O设备执行所述处理;其中,所述描述符传输设备包括存储器,用于存储所述描述符;描述符读取单元,所述描述符读取单元根据来自处理器的与描述符读取源相关的指示而从存储所述描述符的主存储器或所述存储器读取所指示的描述符;以及描述符传输单元,所述描述符传输单元将所读取的描述符传输至所述执行指令单元。
2. 根据权利要求1所述的1/0控制器,其中存储在所述主存储器中的所述描述符包括指示所述描述符读取源的读取源信息;以及 所述描述符读取单元基于从所述主存储器读取的描述符中包括的读取源信息而确定是将所读取的描述符传输至所述I/O控制器,还是等待将所述描述符写到所述存储器然后将被写到所述存储器的所述描述符传输至所述I/O控制器。
3. 根据权利要求2所述的I/O控制器,还包括信息设置单元,所述信息设置单元在所述主存储器中设置指示所述I/O设备已完成了 由所述描述符所指示的处理的信息。
4. 一种描述符传输方法,用于将指示要执行的处理的内容的描述符传输至指令1/0设 备执行该处理的I/O控制器,所述方法包括将所述描述符存储在主存储器或预定的存储器单元中; 指示描述符读取源;根据所述描述符读取源的指示而从所述主存储器或所述存储器单元读取所指示的描 述符;以及将所读取的描述符传输至所述I/O设备控制器。
5. 根据权利要求4所述的描述符传输方法,其中存储在所述主存储器中的所述描述符包括指示所述描述符读取源的读取源信息;以及 当将所述描述符传输至所述1/0控制器时,基于从所述主存储器读取的描述符中所包 括的读取源信息而确定是将所读取的描述符传输至所述1/0控制器,还是等待将所述描述 符写到所述存储器单元然后将被写到所述存储器单元的所述描述符传输至所述I/O控制 器。
6. 根据权利要求5所述的描述符传输方法,还包括在所述主存储器中设置指示所述1/0设备已执行了已被传输至所述1/0控制器的所述 描述符中所指示的处理的信息。
7. 根据权利要求4所述的描述符传输方法,其中存储在所述主存储器或所述存储器单元中的所述描述符包括针对紧接着所述描述符自身的要读取的描述符的指示器;以及基于所述描述符中包括的指示器而确定所述描述符读取源。
8. —种计算机,包括处理器;主存储器,用于存储所述处理器所使用的信息;1/0控制器,用于基于作为与要由所述1/0设备执行的处理相关的信息的描述符而控 制与所述计算机相连接的1/0设备的操作;以及描述符传输设备,用于将所述描述符传输至所述I/0控制器,其中, 所述描述符传输设备包括 存储器单元,用于存储所述描述符;描述符读取装置,用于根据来自所述处理器的指示而读取所指示的描述符;以及 描述符传输设备,用于将所读取的描述符传输至所述I/O控制器;在多个所述描述符中,所述处理器将在前的描述符写到所述存储器单元,并且还将后 续的描述符写到所述主存储器;以及所述描述符读取装置根据来自所述处理器的指示而从所述存储器单元和所述主存储 器中的任一个读取所述描述符。
9. 根据权利要求8所述的计算机,其中所述描述符读取装置根据来自所述处理器的指示而首先读取存储在所述存储器单元 中的所述在前的描述符;以及所述描述符读取装置顺序地读取存储在所述主存储器中的所述后续的描述符。
10. 根据权利要求8所述的计算机,其中所述I/O控制器还包括用于指令所述I/O设备执行基于所述描述符的所述处理的执行 指令单元;所述描述符传输设备被设置在所述1/0控制器中;以及 所述描述符传输装置将所读取的描述符传输至所述执行指令单元。
11. 根据权利要求8所述的计算机,其中在所述描述符中包括指示所述后续的描述符的存储器位置的指示器;以及 所述描述符读取装置参考所读取的描述符中包括的所述指示器而读取所述后续的描 述符。
12. 根据权利要求8所述的计算机,其中, 在所述描述符中包括指示描述符读取源的信息;以及所述描述符读取装置参考所读取的描述符中包括的信息而确定是将所读取的描述符 传输至所述1/0控制器,还是等待由所述处理器将所述描述符写到所述存储器单元。
13. —种1/0控制器,包括传输设备,所述传输设备根据来自处理器的指示而从存储描述符的存储器读取所述描 述符,并传输与要执行的处理的内容相关的数据;以及指令单元,所述指令单元基于所传输的数据而指令设备执行所述处理。
全文摘要
提供了I/O控制器和描述符传输方法。可与I/O设备相连接的、且指令I/O设备执行处理的I/O控制器包括描述符传输设备,该描述符传输设备传输指示要执行的处理的内容的描述符;以及执行指令单元,该执行指令单元指令I/O设备执行基于从描述符传输设备所传输的描述符的处理;其中描述符传输设备包括存储器,用于存储描述符;描述符读取单元,该描述符读取单元根据来自处理器的与描述符读取源相关的指示而从存储描述符的主存储器或所述存储器读取所指示的描述符;以及描述符传输单元,该描述符传输单元将所读取的描述符传输至执行指令单元。
文档编号G06F13/12GK101794262SQ20101000258
公开日2010年8月4日 申请日期2010年1月19日 优先权日2009年1月30日
发明者井上智宏, 安岛雄一郎, 平本新哉 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1