直接存储器存取控制器、其控制方法以及信息处理系统的制作方法_2

文档序号:8258403阅读:来源:国知局
039]在下文中,将在附图的基础上描述优选的实施方式。
[0040](第一实施方式)
[0041]描述第一实施方式。
[0042]图1是示出了根据第一实施方式的包括直接存储器存取(DMA)控制器的信息处理系统的配置示例的图。如图1所示,信息处理系统包括DMA控制器10、主CPU(中央处理单元)20、用于主CPU的RAM (随机存取存储器)30、副CPU 40、用于副CPU的RAM 50和介质存取控制(MAC)部分60。
[0043]在图1所示的信息处理系统中,副CPU 40和RAM 50的组合的功耗低于主CPU 20和RAM 30的组合的功耗。在正常操作状态(正常模式)中,激活主CPU 20和副CPU 40 二者。另一方面,在备用状态(备用模式)中,将至作为正常系统的主CPU 20和RAM 30的电力切断从而主CPU 20和RAM 30被停止,并且执行作为备用系统的副CPU 40和RAM50的处理。信息处理系统经由MAC部分60和没有示出的物理(PHY)部分连接至网络。
[0044]DMA控制器10为基于存储在RAM 30处的描述符31和存储在RAM50处的描述符51来执行数据的DMA传送的描述符型DMA控制器。DMA控制器10包括描述符读/写处理部分102、数据读/写处理部分103、通道切换部分(分组切换器)104、模式设置寄存器105和分组数据保存缓冲器106。
[0045]DMA控制器10包括用于主CPU的DMA通道(主CPU通道)1lA和用于副CPU的DMA通道(副CPU通道)101B。即,根据本实施方式的DMA控制器10包括用于正常系统和备用系统中的每一个的单独的DMA通道。
[0046]主CPU通道1lA包括接收DMA通道IllA和发送DMA通道121A。类似地,副CPU通道1lB包括接收DMA通道IllB和发送DMA通道121B。
[0047]每个接收通道lllA(lllB)包括基地址寄存器112A(112B)、当前地址寄存器113A(113B)、结束地址寄存器114A(114B)、剩余分组的数目的寄存器115A(115B)、重启处理部分116A(116B)和控制部分117A(117B)。每个发送通道121A(121B)包括基地址寄存器122A(122B)、当前地址寄存器123A(123B)、结束地址寄存器124A(124B)、剩余分组的数目的寄存器125A(125B)、重启处理部分126A(126B)和控制部分127A(127B)。
[0048]每个通道的基地址寄存器、当前地址寄存器、结束地址寄存器、剩余分组的数目的寄存器、重启处理部分和控制部分的各自的功能等等相同。将放在对应的RAM上的描述符的第一个地址存储在基地址寄存器处。将放在对应的RAM上的描述符的结束地址存储在结束地址寄存器处。将该描述符的与下一次要被处理的分组对应的地址存储在当前地址寄存器处。实际上布置有分组的RAM的地址信息、分组的长度信息和用于分组的处理的信息包括在该描述符中。
[0049]剩余分组的数目的寄存器具有表示在DMA通道处没有被处理的分组的数目(剩余分组的数目)的功能。重启处理部分具有接收用于停止和启动DMA通道的指令的功能。当接收到用于停止DMA通道的指令时,重启处理部分停止属于该DMA通道的分组数据的传送处理,并且执行用于清除DMA通道的描述符信息的处理。当接收到用于启动DMA通道的指令时,重启处理部分将基地址寄存器的值注册至当前地址寄存器,执行用于清除剩余分组的数目的寄存器的处理,并且启动DMA操作。控制部分控制在每个寄存器处存储的信息。
[0050]描述符读/写处理部分102执行与描述符信息的读和写有关的处理。数据读/写处理部分103执行与经由MAC 60发送的数据有关的处理。分组数据保存缓冲器106为保持从网络接收到的分组数据的缓冲器。
[0051]通道切换部分(分组切换器)104根据模式设置寄存器105处设置的信息来选择并且切换要被使用的DMA通道。通道切换部分104的接收处理部分141向所选择的DMA通道输出接收分组数据。将来自所选择的DMA通道的发送分组数据输入至通道切换部分104的发送处理部分142。在模式设置寄存器105处设置表示信息处理系统的操作模式(即表示操作模式是正常操作状态(正常模式)还是备用状态(备用模式))的信息。由副CPU40执行向模式设置寄存器105设置该信息。
[0052]通道切换部分104具有分组分析处理功能,并且根据模式设置寄存器105的信息在分组边界处执行DMA通道的切换。例如,根据本实施方式的信息处理系统接收来自网络的采用图2A所示的数据格式的数据,并且将该数据作为接收分组数据202存储至接收分组缓冲器201。
[0053]在图2A中,将包括以太网报头部分203、IP报头部分204、TCP报头部分205、有效载荷部分206和报尾207的TCP/IPv4的数据格式示出为示例。例如,可以从IP报头部分204的总长度字段来获取总IP分组的数据大小,并且可以从TCP报头部分205的数据偏移字段获取TCP报头大小。可以根据从IP报头部分204获取的总IP分组的数据大小和从TCP报头部分205获取的TCP报头大小来获取有效载荷部分206的数据大小。
[0054]如图2B所示,当接收到分组时,通道切换部分104的分组报头分析部分211从接收分组缓冲器提取接收分组数据202的报头数据并且对其进行分析,并且将分析出的报头信息传送至接收分组处理部分212。接收分组处理部分212基于从分组报头分析部分211获取的报头信息从接收分组缓冲器获取接收分组数据。接收分组处理部分212从接收分组数据中提取有效载荷数据,将该有效载荷数据作为接收有效载荷数据214存储至分组数据存储器,并且在接收描述符213处设置分组信息。通道切换部分104通过一个分组单元来执行这些处理。
[0055]图3是示出了通道切换部分104在分组接收时的操作示例的流程图。通道切换部分104基于根据所接收的分组数据的报头部分的信息获取的数据大小等等,执行用于所选择的DMA通道的数据传送直到达到分组边界的发送完成为止(SlOl)。
[0056]在达到分组边界的传送完成(在S102中为真)时,当模式设置寄存器105处设置的信息为表示正常模式的信息(在S103中为真)时,通道切换部分104选择主CPU通道1lA(S104)。随后,通道切换部分104启动从分组数据接收缓冲器106至主CPU通道1lA的针对一个分组的数据传送(S105),并且处理返回至步骤SlOl。
[0057]另一方面,当模式设置寄存器105处设置的信息不是表示正常模式的信息(即表示备用模式的信息)(在S103中为假)时,通道切换部分104选择副CPU通道1lB (S106)。随后,通道切换部分104启动用于来自分组数据接收缓冲器106的一个分组的至副CPU通道1lB的数据传送(S105),并且处理返回至步骤SlOl。
[0058]在根据本实施方式的信息处理系统处的分组接收处理中,每当接收到一个分组时将分组数据存储至RAM上的接收分组区域。然后根据图4所示的流程图,辨别RAM上的分组数据的存在/不存在,并且逐一处理该分组。即,即使在从接收到分组至模式切换处理的时段期间接收到新的分组,在任何时候也在将分组数据保存在RAM上的接收分组区域之后按顺序处理该分组数据,并且因此对模式切换处理等没有影响。
[0059]图4是示出了根据本实施方式的分组传送处理的流程图。当信息处理系统检测到从正常模式至备用模式的转换或者从备用模式至正常模式的转换(在S201中为是)时,执行模式转换处理(S202)。此后,当RAM上存在接收分组(在S203中为是)时,执行接收分组处理(S204),并且当RAM上存在发送分组(在S205中为是)时,执行发送分组处理(S206)。
[0060]图5是示出了根据本实施方式的包括信息处理系统的模式切换的操作示例的流程图。当操作开始时,激活副CPU 40(S301)。随后,重置与DMA控制器10中的副CPU(在下本中,被称为副DMA)有关的功能部分(S302)。此后,初始化DMA控制器10中的副DMA,将RAM 50上的描述符的第一地址注册至基地址寄存器112B、122B(S303),并且此后激活副DMA(S304)。
[0061]接下来,激活主CPU 20(S305)。随后,重置与DMA控制器10中的主CPU (在下本中,被称为主DMA)有关的功能部分(S306)。此后,初始化DMA控制器10中的主DMA,将RAM 30上的描述符的第一地址注册至基地址寄存器112A、122A(S307),并且此后,激活主DMA(S308)。上述步骤S301至步骤S308的处理不限于所示的处理顺序,而步骤S301至步骤S304的处理将按照所示的顺序来执行,并且步骤S305至步骤S308的处理将按照所示的顺序来执行。
[0062]接下来,副CPU 40将表示正常模式的信息写至DMA控制器10的模式设置寄存器105(S309)。此后,执行使用DMA控制器10的分组传送处理(S310)。这时,当接收到如下指令:其中,需要模式设置寄存器105的切换,S卩,从正常模式至备用模式或者从备用模式至正常模式的模式切换(在S311中为真)时,执行CPU切换处理(S312),并且该处理返回至步骤S310。
[0063]图6是示出了根据图5中所示的第一实施方式的CPU切换处理的流程图。在该CPU切换处理中,在使用主CPU 20的处理即模式为正常模式(在S401中为真)时激活在此之前被停止的主CPU 20(S402)。随后,重置DMA控制器10中的主DMA(S403)。此后,初始化DMA控制器10中的主DMA,将RAM上的描述符的第一地址重新加载至基地址寄存器112A、122A(S404),并且此后,激活主 DMA(S405)。
[0064]主CPU 20向副CPU 40通知激活完成(S406)。接收到来自主CPU 20的激活完成的通知的副CPU 40在DMA控制器10的模式设置寄存器105处设置表示正常模式的信息(S407)。随后,DMA控制器10的通道切换部分104根据模式设置寄存器105处设置的信息将要被使用的DMA通道切换至主CPU通道101A,向副CPU 40通知模式切换完成(S408),并且完成CPU切换处理。
[0065]另一方面,如果不是使用主CPU 20的处理(在S401中为假),则
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1