信息处理装置以及信息处理方法制造方法及图纸

技术编号:2831768 阅读:143 留言:0更新日期:2012-04-11 18:40
一种信息处理装置,通过DMA(Direct  Memory  Access)从设置在存储器上的多个队列读出包单位的数据,该信息处理装置的特征在于,包括:    生成单元,其对应于各队列,生成连接用于从上述队列读出包单位的数据的描述符而构成的描述符群;    读出单元,其从由上述生成单元对应于各队列而生成的多个上述描述符群中的各个描述符群读出上述描述符;    选择单元,其选择由上述读出单元读出的多个上述描述符中的一个;以及    DMA单元,其从由上述选择单元选择的上述描述符中提取上述位置信息,根据提取出的上述位置信息,通过DMA从上述存储器读出包单位的数据。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种,特别是涉及一种在通过DMA(Direct Memory Access:直接存储器存取) 读出存储器上的数据并通过网络发送的情况下使用的最佳的信 息处理装置以及信息处理方法。
技术介绍
考虑从发送装置通过网络向接收装置发送数据的系统。图 l表示该系统的结构例。发送装置1由如下部分构成通过执行规定的程序来对发 送装置l的整体进行控制的CPUll、通过数据总线12与CPU11连 接的存储器13、存储器控制器14、以及网卡15。应该发送给接 收装置3的数据(以下记述为发送数据)存储在存储器13中,通常 为了不占用CPU11 ,通过DMA(Direct Memory Access)从存储器 13读出并移动到网卡15之后,从网卡15通过网络2发送到接收装 置3。参照图2的流程图说明向网卡15进行记录在存储器13中的 发送数据的DMA的动作。在步骤S1中,CPU11在存储器13上设 置的描述符表的各描述符中记述发送数据的包单位的信息。图3表示描述符表的 一 例。描述符表由记录在存储器13的 连续的区域中的多个描述符弁0至弁n构成。图4表示各描述符的数 据构造。在描述符中记述了表示所对应的包的存储器13中的记 录开始地址的高位32位的address(high:高)以及表示低位32位 的address(low: j氐)、未4吏用164立的reserved, 以及表示包长的 16位的length。返回图2,在步骤S2中,CPU11向网卡15通知可利用(即, 在步骤S1的处理中记述了包单位的信息)的描述符的编号。在步骤S3中,网卡15对应于该通知从存储器13依次逐个读 出可利用的描述符。然后在步骤S4中,网卡15向存储器控制器 14通知描述符中记述的记录开始地址以及包长。存储器控制器 14对应于该通知,通过DMA从存储器13向网卡1 5传送以存储器 13的该记录开始地址为开头的该包长的数据。网卡15将D M A传 送的包通过网络2发送到接收装置3。通过步骤S3和S4的处理, 发送数据的一个包被移动到网卡15,并被发送到接收装置3。在步骤S5中,网卡15判断可利用的描述符之中是否存在没 有读出的描述符。在判断为存在没有读出的描述符的情况下, 返回步骤S3,重复其以后的处理。然后在步骤S5中,在判断为 不存在没有读出的描述符的情况下,构成发送数据的全部包被 移动到网卡15,并被发送到接收装置3,因此处理进入步骤S6。 在步骤S6中,网卡15向CPU11通知DMA的结束。在步骤S7中, CPU11开放记录了发送数据的存储器13上的空间。以上,结束 从存储器13向网卡15进行DMA传送的动作的说明。接着,考虑如下动作将存储器13上的多个数据根据各自 的优先级而DMA传送到网卡15,并通过网络2从网卡15发送。 为了实现这种动作,有如下的方法在存储器13上设置多个队 列(queue),将存储在各自中的发送数据DMA传送到网卡1 5 ,通 过网络2从网卡15发送(例如参照专利文献1)。例如,在存储器13上设置发送率、优先级不同的第一队列 和第二队列,在第一队列中存储应该以第一发送率发送的第一 发送数据,在第二队列中存储应该以第一发送率发送的第二发 送数据。在将存储在第一队列中的第一数据和存储在第二队列中的第二数据DMA传送到网卡15时,考虑两种方法。第 一方法是如下的方法通过将与第 一 队列或第二队列对 应的描述符根据各自的发送率或优先级交替地进行记述,将第 一数据和第二数据分时进行DMA传送。第二方法是在存储器13 与网卡15之间i殳置两个以上的DMA通道的方法(例如,参照专 利文献2)。专利文南大l:曰本净争开2000—332787号7>冲艮 专利文献2:日本特开平9-259071号7^净艮
技术实现思路
专利技术要解决的问题在上述的第一方法中,必须根据第一队列和第二队列的发 送率、优先级来交替地记述与第 一队列或第二队列对应的描述 符,因此导致CPU11的负荷变大。另外,按照软件进行动作的 CPU11与作为^_件的网卡1 5相比其处理的粒度(对动作的定时 进行控制时的时间间隔)大,因此难以将描述符交替地记述成能 够正确地控制发送率的程度。在上述的第二方法中,能够从存储器13将第一数据和第二 数据同时并行地DMA传送到网卡15。然而,存在如下问题在 存储器13与网卡15之间设置了两个以上的DMA通道的情况下, 网卡15等的硬件结构变得复杂,导致电路规模变大、或制造成本提高o本专利技术是鉴于这种状况而完成的,能够通过筒单的硬件结构,来正确地控制存在于存储器上的多个数据的DMA传送。 用于解决问题的方案本专利技术的信息处理装置的特征在于,包括生成单元,其 对应于各队列,生成连接用于从队列读出包单位的数据的描 符而构成的描述符群;读出单元,其从由生成单元对应于各队 列而生成的多个描述符群中的各个描述符群读出描述符;选择 单元,其选才奪由读出单元读出的多个描述符中的 一个;以及 DMA单元,其从由选择单元选择的描述符中提取位置信息,根 据提取出的位置信息,通过DMA从存储器读出包单位的数据。 可将上述描述符群设为在物理上连续地配置有多个描述 符的描述符表。可将上述描述符群设为离散地配置有多个描述符的描述符链。上述选择单元能够在由读出单元读出的多个描述符之中 优先选择与规定的队列对应的描述符。本专利技术的信息处理装置还可以包含控制单元,该控制单元 控制读出单元的描述符的读出定时。上述生成单元能够通过软件来实现,上述控制单元能够通 过硬件来实现。本专利技术的信息处理方法的特征在于,包括生成步骤,对 应于各队列,生成连接用于从队列读出包单位的数据的描述符 而构成的描述符群;读出步骤,从在生成步骤的处理中对应于 各队列而生成的多个描述符群中的各个描述符群读出描述符; 选择步骤,选择在读出步骤的处理中读出的多个描述符中的一 个;以及DMA步骤,从在选择步骤的处理中选择的描述符中提取位置信息,根据提取出的位置信息,通过DMA从存储器读出 包单位的数据。在本专利技术中,对应于各队列,生成连4妻用于从队列读出包 单位的数据的描述符而构成的描述符群,从生成的多个描述符 群中的各个描述符群读出描述符,选择其中的一个,根据从选 择的描述符中提取出的位置信息,通过DMA从存储器读出包单位的数据。专利技术的效果根据本专利技术,能够通过简单的硬件结构来正确地控制存在于存储器上的多个数据的DMA传送。 附图说明图l是表示通过网络发送和接收数据的系统的一例的图。 图2是说明图l的发送装置的动作的流程图。 图3是表示由多个描述符构成的描述符表的一例的图。 图4是表示在DMA中使用的描述符的数据构造的图。 图5是表示应用了本专利技术的发送装置的结构例的框图。 图6是表示由图5的CPU实现的功能模块和网卡的结构例的 框图。图7是表示代替描述符表的描述符链的一例的图。 图8是表示构成描述符链的描述符的数据构造的图。 图9是说明图5的发送装置的包发送处理的流程图。 图IO是表示由图5的CPU实现的功能模块和网卡的其它结 构例的框图。附图标记i兌明2:网络;3:接收装置;30:发送装置;31: CPU; 32: 数据总线;33:存储器;34:存储器控制器;35:网卡;36: 程序;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种信息处理装置,通过DMA(Direct Memory Access)从设置在存储器上的多个队列读出包单位的数据,该信息处理装置的特征在于,包括生成单元,其对应于各队列,生成连接用于从上述队列读出包单位的数据的描述符而构成的描述符群;读出单元,其从由上述生成单元对应于各队列而生成的多个上述描述符群中的各个描述符群读出上述描述符;选择单元,其选择由上述读出单元读出的多个上述描述符中的一个;以及DMA单元,其从由上述选择单元选择的上述描述符中提取上述位置信息,根据提取出的上述位置信息,通过DMA从上述存储器读出包单位的数据。2. 根据权利要求l所述的信息处理装置,其特征在于,上述描述符群是在物理上连续地配置有多个上述描述符的 描述符表。3. 根据权利要求l所迷的信息处理装置,其特征在于, 上述描述符群是离散地配置有多个上述描述符的描述符链,在上述描述符中记述有表示后续的描述符的记录位置的信4. 根据权利要求l所述的信息处理装置,其特征在于, 上述选择单元在由上述读出单元...

【专利技术属性】
技术研发人员:久曾神宏松元秀树
申请(专利权)人:索尼株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利