数据处理装置和数据处理方法

日期:2019-04-11 08:35:07

数据处理装置和数据处理方法
【专利摘要】根据实施例,一种数据处理装置包括第一生成单元、第二生成单元、传送指示单元和传送控制器。当所述第一生成单元确定要求从第一存储单元到第二存储单元的数据传送时,所述第一生成单元生成指定传送数据在数据传送源中的存储位置、所述传送数据在数据传送目的地中的存储位置以及数据传送尺寸的传送指示信息。所述第二生成单元生成通过将所述传送指示信息分段为具有预定数据尺寸的片段而获得的片段传送指示信息。所述传送指示单元以所述片段传送指示信息为基础来指示执行数据传送。所述传送控制器根据所述数据传送的指示来控制所述第一存储单元和所述第二存储单元之间的所述数据传送。
【专利说明】数据处理装置和数据处理方法
[0001] 相关申请的交叉引用
[0002] 本申请以2013年4月26日递交的日本专利申请No. 2013-094234为基础并且要 求该专利申请的优先权;本文以引用的方式结合其全部内容。

【技术领域】
[0003] 本文描述的实施例通常涉及数据处理装置和数据处理方法。

【背景技术】
[0004] 按照惯例,具有直接存储器存取(DMA)的数据处理装置是已知的。在这样的数据 处理装置中,启用通过DMA控制器而不是中央处理单元(CPU)的从主存储设备到非易失性 存储设备的直接数据传送。从而,在常规的数据处理装置中能够实现对于数据传送要求的 时间的减少。
[0005] 然而,在常规的数据处理装置中,当数据被分段为小段时,要求CPU在每一次数据 传送时生成传送指示信息。因此,在常规的数据处理装置中,CPU可能被置于重的处理负荷 下。


【发明内容】

[0006] 本文描述的实施例的目的在于提供能够减少CPU的处理负荷的数据处理装置。
[0007] 根据实施例,一种数据处理装置包括第一生成单元、第二生成单元、传送指示单元 和传送控制器。所述第一生成单元配置为当所述第一生成单元确定要求从第一存储单元到 第二存储单元的数据传送时生成指定传送数据在数据传送源中的存储位置、所述传送数据 在数据传送目的地中的存储位置以及数据传送尺寸的传送指示信息。所述第二生成单元配 置为生成通过将所述传送指示信息分段为具有预定数据尺寸的片段而获得的片段传送指 示信息。所述传送指示单元配置为以所述片段传送指示信息为基础来指示执行数据传送。 所述传送控制器配置为根据所述数据传送的指示来控制所述第一存储单元和所述第二存 储单元之间的所述数据传送。
[0008] 根据上面描述的数据处理装置,能够减少CPU的处理负荷。

【专利附图】

【附图说明】
[0009] 图1是根据实施例的数据处理装置的配置图;
[0010] 图2是表示根据实施例的数据处理装置的功能配置和操作示例的图;
[0011] 图3是表示根据实施例的虚拟存储器空间的示例的图;
[0012] 图4是表示根据实施例的页表的示例的图;
[0013] 图5是表示根据实施例在数据处理时的处理过程的示例的流程图;并且
[0014] 图6是表示根据实施例在数据传送时的处理过程的示例的序列图。

【具体实施方式】
[0015] 下面参照附图来详细解释实施例。
[0016] 数据处理装置
[0017] 图1是根据当前实施例的数据处理装置100的配置图。如图1所示,根据当前实 施例的数据处理装置100包括CPU101、只读存储器(ROM) 102、随机存取存储器(RAM) 103、 数据保存单元104和DMA控制器105。而且,根据当前实施例的数据处理装置100包括存储 器管理单元106、传送信息存储单元107、生成单元108、传送设置存储单元109和传送指示 单元110。在根据当前实施例的数据处理装置100中,经过总线B来连接硬件的各自段,并 且经过总线B来通信数据。图1中示出了其中硬件的各自段经过总线B的单条线路进行连 接的示例,并且例如以诸如外围部件互连(PCI)总线的标准为基础来建立连接。
[0018] CPU101是实现整个装置的控制和所安装的功能的计算设备。R0M102是非易失性 存储器,在其中存储有程序和数据。RAM103是诸如静态RAM (SRAM)和动态RAM (DRAM)的 存储器,并且是易失性存储器(主存储设备),在其中读取并且临时保持程序和数据。因此, 例如,CPU101将程序和数据从R0M102读取到RAM103上并且执行处理,并且从而获得整个 装置的控制或所安装的功能的实现。
[0019] 数据保存单元104是诸如硬盘驱动(HDD)和存储卡的记录介质,并且是存储应用 程序和数据的非易失性存储设备。DMA控制器105是控制在RAM103和数据保存单元104之 间执行的数据传送的控制设备。
[0020] 存储器管理单元106是向应用程序等等提供与RAM103中的存储区(在下文中,"存 储器空间")分开的虚拟存储区(在下文中,"虚拟存储器空间")的单元。存储器管理单元106 使用页表(页管理信息)来管理存储器空间和虚拟存储器空间,在页表中虚拟页和物理页彼 此相关联。
[0021] 传送信息存储单元107是易失性存储器,在其中存储有诸如指示数据传送的指示 的传送指示信息的数据。生成单元108以所述传送指示信息为基础根据DMA控制器105的 规范来生成与在数据传送时的分段数据相对应的片段传送指示信息。
[0022] 传送设置存储单元109是易失性存储器,在其中存储有诸如在到DMA控制器105 和数据保存单元104的数据传送时的设置(在下文中,"数据传送设置")以及用于在数据传 送时的中断控制的处理过程(在下文中,"中断处理过程")的数据。传送指示单元110是以 数据传送设置和中断处理过程为基础来执行关于DMA控制器105和数据保存单元104的数 据传送设置、数据传送指示、中断控制等等的控制单元。
[0023] 如上所述,根据当前实施例的数据处理装置100能够利用上面的配置提供将记录 在RAM103中的数据传送到数据保存单元104以便在其中进行存储的数据处理功能。
[0024] 数据处理功能
[0025] 将解释根据当前实施例的数据处理功能。根据当前实施例的数据处理装置100具 有生成单元108和传送指示单元110,这两个单元的功能由与CPU101分开的设备(例如,诸 如"电路"的硬件逻辑)实现。当CPU101确定要求从RAM103到数据保存单元104的数据传 送时,数据处理装置100生成指定所述传送数据在数据传送源中的存储位置、所述传送数 据在数据传送目的地中的存储位置、数据传送尺寸等等的传送指示信息。在数据处理装置 100中,生成单元108根据DMA控制器105的规范生成通过将传送指示信息分段为具有各自 的传送数据尺寸的片段而获得的片段传送指示信息。在数据处理装置100中,传送指示单 元110以片段传送指示信息为基础来指示DMA控制器105执行数据传送。根据当前实施例 的数据处理装置100具有这样的数据处理功能。
[0026] 数据处理包括每次在RAM103中的数据被重写时将该数据保存在数据保存单元 104中,以便防止数据损坏或者数据损失。
[0027] 在常规的数据处理装置中,CPU101在每一次数据传送时对于每一段数据生成包括 关于分段数据尺寸的信息或属性信息的片段传送指示信息,并且因此,当执行如上所述的 要求频繁数据传送的这样的数据处理时,CPU101处于重的处理负荷下。此外,在常规的数据 处理装置中,在数据传送时频繁地将中断信号从DMA控制器105发出到CPU101,并且因此, CPU101处于高的处理负荷下。
[0028] 因此,在根据当前实施例的数据处理装置100中,实现这样的系统,以使得将被给 予到DMA控制器105的片段传送指示信息的生成和到DMA控制器105的数据传送的指示由 与CPU101分开的设备实现,并且增强了数据传送时CPU101的独立性。
[0029] 将解释根据当前实施例的数据处理功能的配置和操作。在当前实施例中,RAM103 与传送源的存储设备(第一存储设备)相对应,并且数据保存单元104与数据传送目的地的 存储设备(第二存储设备)相对应。而且,DMA控制器105用作数据传送控制器以便控制在 RAM103和数据保存单元104之间的数据传送。
[0030] 图2是表示根据当前实施例的数据处理的功能配置和操作示例的图。根据当前实 施例的CPU101生成传送数据的传送指示信息107D,并且将生成的传送指示信息107D存储 在传送信息存储单元107中。CPU101对RAM103中的数据的更新做出响应而生成传送指示 信息107D。也就是说,在当前实施例中,当CPU101检测到RAM103中的数据更新时,CPU101 确定要求从RAM103到数据保存单元104的数据传送。
[0031] 本文解释根据当前实施例由CPU101生成的传送指示信息107D。如图2所示,传送 指示信息107D具有诸如主存储开始地址、保存单元开始扇区和传送尺寸的信息字段。各自 信息字段的字段值彼此相关联,并且被管理为一个条目。
[0032] 主存储开始地址是指示将被存储在数据保存单元104中的传送数据在RAM103中 地址的信息(数据传送源的存储位置信息)。保存单元开始扇区是指示扇区的开始号码的信 息(数据传送目的地的存储位置信息),在该扇区中传送数据将被存储在数据保存单元104 中。传送尺寸是指示将被存储在数据保存单元104中的传送数据的数据尺寸的信息(数据 传送尺寸信息)。传送指示信息107D的信息字段并不局限于此。图2所示的信息字段是一 个示例,并且例如可以以数据保存单元104的设备类型为基础来添加额外的信息字段。该 额外的信息字段可以例如具有指示条目是否有效的比特值(标志信息)、指示条目之间的数 据传送的操作间隔的定时器值(数据传送间隔信息)等等。
[0033] 例如,在图2所示的传送指示信息107D中,示出了其中其在RAM103中的地址以 "0x80001000"开始的"0x2000" [字节]的传送数据被管理为第一条目的示例。而且,示出 了其中当将传送数据存储在数据保存单元104中时扇区的开始号码为"0x8000"的示例。
[0034] 如所描述的,根据当前实施例的CPU101以RAM103中的连续数据为单位或者以数 据保存单元104中的连续数据为单位生成包括主存储开始地址、保存单元开始扇区、传送 尺寸等等的传送指示信息107D。因此,传送指示信息107D由CPU101生成为与数据的分段 的段的数量一样多的段。
[0035] 下面详细解释根据当前实施例通过CPU101的传送指示信息107D的生成方法。
[0036] 通常,操作系统(0S)具有向单独的应用程序提供作为单独的存储区域的虚拟存储 器空间的虚拟存储器功能。
[0037] 通过虚拟地配置RAM103中的存储器空间以便被提供到应用程序来实现虚拟存储 器空间。在该虚拟存储器空间中,例如,执行应用程序所要求的数据被临时保持在RAM103 中或者被临时保存在数据保存单元104中。
[0038] 虚拟存储器空间被管理为被分段为预定尺寸的虚拟页(页尺寸:例如"4096"是常 用尺寸)。类似地,RAM103中的存储器空间也在物理页中以与虚拟页相同的尺寸被分段和 管理。存储器管理单元106使用其中虚拟页和物理页彼此相关联的页表向应用程序提供与 RAM103中的存储器空间分开的虚拟存储器空间。
[0039] 因此,根据当前实施例的CPU101在当虚拟存储器功能要求虚拟页的数据从物理 页到数据保存单元104的传送时生成传送指示信息107D。
[0040] 图3是表示根据当前实施例的虚拟存储器空间91的示例的图。如图3所示,0S具 有由0S提供到应用程序的每一个虚拟存储器空间91的虚拟地址图92。虚拟地址图92具 有开始虚拟地址、结束虚拟地址、对象中的偏移等等,并且被以链形式的表进行构造。虚拟 地址图92指代相对应的存储器/文件对象93。
[0041] 存储器/文件对象93具有在存储器(数据保存单元104)中的扇区号码的列表等 等。扇区号码的列表是存储器上的多于一个扇区号码,该存储器具有与由虚拟地址图92指 示的虚拟存储器空间91的区域尺寸相匹配的长度。在当前实施例中,扇区号码与数据保 存单元104的扇区号码相对应。而且,存储器/文件对象93参照物理存储器图94,其指示 RAM103中的相对应的物理页。物理存储器图94具有在图3中被表示为"vm_page"的物理 页。
[0042] 图4是根据当前实施例表示页表81的示例的图。如图4所示,存储器管理单元 106具有页表81。对于页表81,从虚拟存储器空间91的顶部形成信息字段的多于一个条 目。将被作为条目添加的信息字段根据虚拟地址图92和物理存储器图94生成。将被生成 的信息字段包括由通过使RAM103的地址除以页尺寸而获得的值表示的物理页号、指示对 物理页的访问控制的访问控制信息等等。而且,将被生成的信息字段包括指示物理页的数 据已经被更新的更新比特(更新信息)、指示是否允许到物理页的写入的写入允许比特(写 入允许信息)等等。所生成的信息字段与作为一个条目的字段值相关联,并且在对于每一个 虚拟页的页表81中被管理。页表81的结构和管理方法根据存储器管理单元106的规范进 行。
[0043] 根据当前实施例的CPU101访问由存储器管理单元106保持的页表81,并且以更 新比特为基础来检测RAM103中的数据是否已经被更新。具体地,当0S执行虚拟存储器的 控制时,CPU101通过下面的处理生成传送指示信息107D。0S执行的虚拟存储器的控制的 时序可以是当诸如30秒钟的预定时间已经逝去时,当执行处理已经被改变时(当上下文切 换已经完成时),当某一中断发生时,等等。由0S执行的虚拟存储器的控制的时序取决于0S 的规范。
[0044] 首先,根据当前实施例的CPU101扫描页表81以便搜索其更新比特为"1"的条目。 CPU101根据相对应的条目确定数据传送目的地,并且搜索与该虚拟页的条目号码相匹配的 虚拟地址图92、存储器/文件对象93和物理存储器图94。
[0045] 结果,根据当前实施例的CPU101以搜索的结果为基础,使用从与具有更新的数据 的物理页相对应的页表81获得的值,通过下面的计算公式等式(1)到等式(3)来生成传送 指示信息107D的条目。
[0046] 主存储开始地址=(物理页号码)x (页尺寸) (1)
[0047] 其中,物理页号码指示在物理存储器图94的顶部由物理页"vm_page"保持的物理 页号码,并且页尺寸指示物理页的尺寸值(例如,4096[字节])。
[0048] 保存单元开始扇区=(扇区号码)(2)
[0049] 其中,扇区号码指示在存储器/文件对象93的存储器中的扇区号码列表的顶部处 的扇区号码。
[0050] 传送尺寸=(结束虚拟地址)-(开始虚拟地址) (3)
[0051] 其中,结束虚拟地址指示虚拟地址图的结束虚拟地址,并且开始虚拟地址指示虚 拟地址图的开始虚拟地址。
[0052] 按照这一方式,根据当前实施例的CPU101使用RAM103中的数据更新的检测作为 开始数据传送的触发。在检测到RAM103中的数据更新时,CPU101生成指定传送数据在数 据传送源中的存储位置、传送数据在数据传送目的地中的存储位置、数据传送尺寸等等的 传送指示信息107D。也就是说,在当前实施例中,CPU101用作生成传送指示信息107D的生 成单元(第一生成单元)。
[0053] 解释返回到图2。生成单元108 (第二生成单元)生成片段传送指示信息108D。将 所生成的片段传送指示信息108D存储在生成单元108中的存储区域(在下文中,"内部存储 区域")中。在从DMA控制器105接收到对由读取地址指定的内部存储区域的参考请求时, 生成单元108以存储在传送信息存储单元107中的传送指示信息107D为基础来生成片段 传送指示信息108D。换句话说,生成单元108以对于其已经发出参考请求的读取地址为基 础来确定根据传送信息存储单元107中的哪一段传送指示信息107D来生成片段传送指示 信息108D。
[0054] 此时,生成单元108根据DMA控制器105的规范由传送指示信息107D的单个条目 生成多段片段传送指示信息108D。具体地,生成单元108以根据DMA控制器105的规范的 数据尺寸为基础来使传送指示信息107D成为片段,以便生成多段片段传送指示信息108D。 生成单元108确定在传送信息存储单元107中选择传送指示信息107D的哪一个条目。生 成单元108通过向选择器电路输入控制信号来控制传送指示信息107D的条目选择。
[0055] 本文解释了根据当前实施例由生成单元108生成的片段传送指示信息108D。如图 2所示,片段传送指示信息108D包括诸如主存储开始地址、保存单元开始扇区、传送尺寸和 属性值的信息字段,并且使用彼此相关联的各自信息字段的字段值而被管理。
[0056] 主存储开始地址代表数据传送源的存储位置信息。保存单元开始扇区代表数据传 送目的地的存储位置信息。传送尺寸代表数据传送尺寸信息。这些信息字段与传送指示信 息107D中的信息字段相同。另一方面,属性值是当与传送指示信息107D的一个条目相对 应的传送数据被形成片段时指示分段传送数据的结束的信息(结束信息),并且是片段传送 指示信息108D的信息字段。因为规范在每一个DMA控制器105中不同,因此对于属性值, 设置根据DMA控制器105的规范的值。
[0057] 片段传送指示信息108D的结构并不局限于此。图2所示的结构是一个示例,并且 它可以例如采用根据DMA控制器105的设备类型的结构,例如,阵列结构和链结构。
[0058] 例如,对于图2所示的片段传送指示信息108D,示出了根据传送指示信息107D的 第一条目生成的片段传送指示信息108D的示例。在当前实施例中,示出了其中作为传送指 示信息107D中的一个条目被管理的"0x2000" [字节]的传送数据根据DMA控制器105被 以"0x1000"为单位进行分段的示例。具体地,当具有RAM103中的"0x80001000"的开始地 址的传送数据被分段为两段数据时,将指示不是结束的属性值"0x21"(非结束标志)和指 示是结束的属性值"0x23"(结束标志)设置到片段数据的各自段。而且,示出了其中当将 传送数据存储在数据保存单元104中时保存单元开始扇区为"0x8000"的示例。
[0059] 按照这一方式,根据当前实施例的生成单元108首先以DMA控制器105的规范为 基础来确定传送数据的片段尺寸、指示传送数据的结束的属性值等等。以下,生成单元108 根据传送指示信息107D生成以对于其已经发出参考请求的读取地址为单位的片段传送指 示信息108D。在传送信息存储单元107中提前设置确定传送数据的分段单位、指示传送数 据的结束的属性值等等的DMA控制器105的规范,以便存储在其中。因而,生成单元108以 传送信息存储单元107的设置信息为基础,根据DMA控制器105的规范,将传送指示信息 107D分段为具有数据尺寸的段,以便生成片段传送指示信息108D。生成单元108向已经发 出参考请求的DMA控制器105输出所生成的片段传送指示信息108D作为读取数据。
[0060] 传送指示单元110执行数据传送设置、数据传送指示、中断控制等等。传送指示单 元110通过设置当向生成单元108发送参考请求时将被指定的读取地址来执行关于DMA控 制器105的数据传送设置。从而,传送指示单元110指示DMA控制器105执行数据传送。而 且,传送指示单元110通过设置要在其中存储传送数据的扇区的开始号码来执行关于数据 保存单元104的数据传送设置。传送指示单元110以提前存储在传送设置存储单元109中 的扇区号码为基础来执行数据传送设置。
[0061] 当从DMA控制器105输入中断信号时,传送指示单元110以该输入信号为基础来 执行中断控制。传送指示单元110根据提前存储在传送设置存储单元109中的中断处理过 程来执行中断控制。当中断控制完成时,传送指示单元110向生成单元108通知其完成。 传送指示单元110例如当从DMA控制器105输入指示数据传送完成的中断信号时执行关于 DMA控制器105的中断控制,并且通知生成单元108数据传送已经完成。
[0062] 对此做出响应,生成单元108将传送指示信息107D的参考主题从在生成片段传送 指示信息108D时被参照的条目移动到下一个条目,并且更新传送指示信息107D的顶部。
[0063] 如所描述的,在当前实施例中,在数据传送时由CPU101执行的处理仅是生成传送 指示信息107D。因而,在根据当前实施例的数据处理装置100中,减少了在数据传送时执行 的CPU101的处理,并且不发生来自DMA控制器105的中断。因此,能够减少CPU101上的处 理负荷。
[0064] 根据上面描述的当前实施例的数据处理功能由上面描述的与数据处理装置100 协同操作的各自功能单元实现。在当前实施例中,生成单元108和传送指示单元110的各 自功能由与CPU101分开的设备实现。因此,根据当前实施例的数据处理功能由传送指示信 息生成功能(通过由CPU101执行数据处理程序实现)以及生成单元108和传送指示单元110 的各自功能(分别由协同操作的独立设备实现)实现。
[0065] 将数据处理程序提前安装在将被提供的数据处理装置100 (计算机)中配备的 R0M102中,该数据处理装置100是执行环境。数据处理程序具有包括传送指示信息生成 功能的各自功能单元的模块结构,并且通过由CPU101从R0M102读取将被执行的程序,在 RAM103上生成各自功能单元。提供数据处理程序的方法并不局限于此。例如,可以采取其 中将数据处理器程序存储在连接到互联网的设备中并且经过网络进行下载以便进行分配 的方法。而且,也可以采取其中以将可安装形式或者可执行形式的文件记录在能够由将被 提供的数据处理装置100读取的记录介质中的方法。
[0066] 下面使用流程图和序列图来解释数据处理功能的操作(各自功能单元的协同操 作)。
[0067] 数据处理时的操作
[0068] 图5是表示根据当前实施例在数据处理时的处理过程的示例的流程图。如图5所 示,在检测到RAM103中的数据更新时,CPU101在RAM103上生成用于传送数据的传送指示信 息107D (步骤S1),并且将所生成的传送指示信息107D写入到传送信息存储单元107 (步 骤 S2)。
[0069] 随后,传送指示单元110确定当执行到DAM控制器105的数据传送时(当从软件发 出实际上开始数据传送的指令时)是否存在有效的传送指示信息107D的一个或多个段(步 骤 S3)。
[0070] 结果,当传送指示单元110确定存在有效的传送指示信息107D的一个或多个段 (步骤S3 :是)时,传送指示单元110执行关于DMA控制器105的数据传送设置,包括各种条 件的设置,例如当向生成单元108发出参考请求时的读取地址(步骤S4)。因而,当在开始数 据传送时DMA控制器105向生成单元108发出对于片段传送指示信息108D的参考请求时, 在读取地址中指定的地址将是片段传送指示信息108D的参考开始地址。而且,传送指示单 元110在步骤S4执行数据传送设置,包括各种条件的设置,例如其中将传送数据存储在数 据保存单元104中的扇区的开始号码。当传送指示单元110确定不存在有效的传送指示信 息107D的一个或多个段(步骤S3 :否)时,传送指示单元110结束处理。
[0071] 生成单元108确定是否从DMA控制器105已经发出对于片段传送指示信息108D 的参考请求(步骤S5)。
[0072] 当生成单元108确定已经发出对于片段传送指示信息108D的参考请求(步骤S5 : 是)时,生成单元108以由CPU101生成的传送指示信息107D为基础来生成与对于其已经发 出参考请求的地址相对应的片段传送指示信息108D (步骤S6)。具体地,生成单元108以 对于其已经发出参考请求的读取地址为基础来确定根据传送信息存储单元107中的哪一 段传送指示信息107生成片段传送指示信息108D,并且生成数据。此时,生成单元108根据 DMA控制器105确定传送数据的片段尺寸、指示传送数据的结束的属性值等等。以下,生成 单元108根据传送指示信息107D的一个条目生成对于每一个读取地址的片段传送指示信 息108D,对于该读取地址已经发出参考请求。当生成单元108确定还没有发出对于片段传 送指示信息108D的参考请求(步骤S5 :否)时,生成单元108移动到在步骤S5的处理以便 对于参考请求处于待机状态中。
[0073] 接下来,生成单元108确定所生成的片段传送指示信息108D是否已经到达与生成 源的传送指示信息107D的条目相对应的传送数据的结束(步骤S7)。换句话说,生成单元 108确定直到传送数据的结束是否已经执行片段传送指示信息108D的处理。
[0074] 结果,当生成单元108确定所生成的片段传送指示信息108D已经到达与生成源的 传送指示信息107D的条目相对应的传送数据的结束(步骤S7 :是)时,生成单元108将结束 标志的值设置到所生成的片段传送指示信息108D的属性值(步骤S8)。以下,生成单元108 将所生成的片段传送指示信息108D输出到发出参考请求的DMA控制器105 (步骤S9)。因 而,DMA控制器105能够以对参考请求做出响应而输出的片段传送指示信息108D的属性值 为基础来确定是否已经获取片段传送指示信息108D的所有段。当生成单元108确定所生 成的片段传送指示信息108D还没有到达与生成源的传送指示信息107D的条目相对应的传 送数据的结束(步骤S7 :否)时,生成单元108将非结束标志的值设置到所生成的片段传送 指示信息108D的属性值,并且在步骤S9处执行处理。
[0075] 传送指示单元110确定是否从DMA控制器105已经输入指示数据传送完成的中断 信号(步骤S10)。DMA控制器105以从生成单元108输出的片段传送指示信息108D为基础 来执行到数据保存单元104的数据传送。因而,DMA控制器105以片段传送指示信息108D 的属性值为基础来确定是否已经获取片段传送指示信息108D的所有段,并且当完成数据 传送时发出指示数据传送完成的中断信号。
[0076] 因此,当传送指示单元110确定DMA控制器105已经输入指示数据传送完成的中 断信号(步骤S10 :是)时,传送指示单元110执行关于DMA控制器105的中断控制(步骤 S11)。
[0077] 另一方面,当传送指示单元110确定DMA控制器105还没有输入指示数据传送完 成的中断信号(步骤S10 :否)时,传送指示单元110再次重复从步骤S5的处理。同时,生成 单元108根据来自DMA控制器105的参考请求来生成片段传送指示信息108D。生成单元 108以在先前的处理时对于其发出参考请求的地址之后的下一个地址为基础来从DMA控制 器105接受参考请求。
[0078] 随后,传送指示单元110确定是否已经完成与将被处理的传送指示信息107D的一 个条目相对应的数据传送(步骤S12)。此时,传送指示单元110以由DMA控制器105输入的 指示数据传送完成的中断信号为基础来确定是否已经完成数据传送。数据传送完成的中断 信号包括指示是否已经正常完成数据传送的数据传送的结果的数据(在下文中,"数据传送 结果信息")。因此,传送指示单元110以包括在指示数据传送完成的中断信号中的数据传 送结果信息为基础来确定是否已经完成数据传送。
[0079] 结果,当传送指示单元110确定已经完成与将被处理的传送指示信息107D的一个 条目相对应的数据传送(步骤S12 :是)时,传送指示单元110通知生成单元108数据传送已 经完成。对此做出响应,生成单元108将要被处理的传送指示信息107D的条目(参考目的 地)移动到下一个条目(步骤S13),并且更新传送指示信息107D的顶部。以下,根据当前实 施例的数据处理被再次移动到步骤S3的处理,并且在存在有效的传送指示信息107D时继 续进行。
[0080] 当传送指示单元110确定已经完成与处理主题的传送指示信息107D的一个条目 相对应的数据传送(步骤S12 :否)时,传送指示单元110执行异常处理(步骤S14)。此时执 行的异常处理包括到显示屏的错误显示、通过电子邮件的错误通知等等。
[0081] 数据传送时的操作
[0082] 图6是表示根据当前实施例在数据传送时的处理过程的示例的序列图。在图6中, 示出了在上面描述的数据处理中执行的由DMA控制器105执行的数据传送的操作示例。
[0083] 如图6所示,在CPU101检测到RAM103中的数据更新时生成传送指示信息107D并 且将所生成的传送指示信息107D存储在传送信息存储单元107中之后,执行根据当前实施 例的数据传送。
[0084] 根据当前实施例的数据传送包括主要在图6中示出的处理A和处理B。处理A对 于传送指示信息107D的每一个条目被重复地执行。处理B对于每一个分段的传送数据在 处理A中被重复地执行。
[0085] 在处理A中,在检测到有效的传送指示信息107D的存在时,传送指示单元110关 于数据保存单元104设置其中存储有传送数据的扇区的开始号码,以便执行数据传送设置 (步骤S21)。
[0086] 随后,在处理A中执行处理B,并且当检测到与将被处理的传送指示信息107D的一 个条目相对应的数据传送的完成时,生成单元108被通知数据传送的完成(步骤S22)。对此 做出响应,生成单元108将要被处理的传送指示信息107D的条目移动到下一个条目。
[0087] 如所描述的,对于传送指示信息107D的每一个条目重复地执行处理A,同时检测 有效的传送指示信息107D的存在。
[0088] 在处理B中,通过生成单元108、传送指示单元110和DMA控制器105执行下面的 处理。
[0089] 首先,传送指示单元110关于DMA控制器105设置当向生成单元108发出参考请 求时指定的读取地址,以便执行数据传送设置(步骤S31)。随后,DMA控制器105以所设置 的读取地址为基础来向生成单元108请求片段传送指示信息108D的参考(步骤S32)。对此 做出响应,生成单元108以传送指示信息107D为基础来生成与对于其已经请求参考的地址 相对应的片段传送指示信息108D,并且将所生成的片段传送指示信息108D输出到DMA控制 器105 (步骤S33)。
[0090] 结果,DMA控制器105控制与RAM103和数据保存单元104之间的数据传输路径相 对应的总线B (步骤S34),并且从而以片段传送指示信息108D为基础来执行从RAM103到 数据保存单元104的数据传送。此时,DMA控制器105以片段传送指示信息108D中的主存 储开始地址、传送尺寸和保存单元开始扇区为基础来执行从RAM103到数据保存单元104的 数据传送。具体地,将位于RAM103中的主存储开始地址处的具有所述传送尺寸的数据传送 到数据保存单元104并且写入在保存单元开始扇区的位置处。
[0091] 当数据传送完成时,DMA控制器105向传送指示单元110发出指示数据传送完成 的中断信号(步骤S35)。此时,DMA控制器105以片段传送指示信息108D的属性值为基础 来发出指示数据传送完成的中断信号。具体地,当属性值是结束标志的值时,确定数据传送 已经完成,并且发出指示数据传送完成的中断信号。对此做出响应,传送指示单元110执行 关于DMA控制器105的中断控制(步骤S36)。
[0092] 当片段传送指示信息108D的属性值不是结束标志的值时,DMA控制器105不发出 指示数据传送完成的中断信号。因而,在处理B中,由传送指示单元110重复地执行到DMA 控制器105的数据传送设置,直到完成具有在将被处理的传送指示信息107D的条目中指定 的传送尺寸的数据的传送完成为止。结果,DMA控制器105重复数据传送与分段数据的段 数一样多的次数。
[0093] 如所描述的,在根据当前实施例的数据处理中,与生成由CPU101执行的传送指示 信息107D的处理独立地执行诸如将被传递到DMA控制器105的片段传送指示信息108D的 生成和到DMA控制器105的数据传送的指示的处理。
[0094] 概述
[0095] 如所描述的,根据当前实施例的数据处理装置100,当CPU101确定要求从RAM103 到数据保存单元104的数据传送时,CPU101生成指定传送数据在数据传送源中的存储位 置、传送数据在数据传送目的地中的存储位置、数据传送尺寸等等的传送指示信息107D。在 数据处理装置100中,其功能由与CPU101分开的设备实现的生成单元108,根据DMA控制 器105的规范来生成通过将传送指示信息107D分段为具有传送数据尺寸的片段而获得的 片段传送指示信息108D。在数据处理装置100中,其功能由与CPU101分开的设备实现的传 送指示单元110,以片段传送指示信息108D为基础来指示DMA控制器105执行数据传送。
[0096] 因而,根据当前实施例的数据处理装置100使用与CPU101分开的设备实现将被传 递到DMA控制器105的片段传送指示信息108D的生成、到DMA控制器105的数据传送的指 示等等,并且提供一种系统以便在数据传送时增强CPU101的独立性。结果,在根据当前实 施例的数据处理装置100中,在数据传送时CPU101的处理很少,并且不发生通过DMA控制 器105的中断。因此,能够减少CPU101上的处理负荷。
[0097] 尽管在上面描述的实施例中解释了其中生成单元108和传送指示单元110的各自 功能由与CPU101分开的设备的硬件逻辑实现(硬件的实现)的一个示例,但是并不局限于 此。例如,生成单元108和传送指示单元110的各自功能可以通过执行程序(软件)来实现。 如果生成单元108和传送指示单元110的各自功能通过执行程序来实现,则优选的是,考虑 CPU101上的处理负荷的减少来设计该程序。
[0098] 而且,尽管在上面描述的实施例中使用其中开始数据传送的触发(用于确定是否 要求数据传送的标准)是通过CPU101对RAM103中的数据更新的检测的示例给出了解释,但 是并不局限于此。例如,开始数据传送的触发可以是要求将数据从RAM103保存在数据保存 单元104中的条件,例如当功率被关断时或者当它转到休眠时。在这一情况下,在根据当前 实施例的数据处理装置100中,能够在不对CPU施加处理负荷的情况下稳定地将RAM103中 的数据保存到数据保存单元104中。因此,在根据当前实施例的数据处理装置100中,能够 降低用于休眠处理(数据保存处理)的处理时间,并且能够实现处理的加速。
[0099] 而且,尽管在上面描述的实施例中,使用包括生成传送指示信息107D的CPU101的 配置作为示例给出了解释,但是并不局限于此。能够将根据当前实施例的数据处理装置100 包括在参照由安装在另一设备中的处理器生成的传送指示信息107D以便实现数据处理功 能的系统中。
[0100] 根据当前实施例的数据处理装置,该数据处理装置包括第一生成单元、第二生成 单元、传送指示单元和传送控制器。所述第一生成单元配置为当该第一生成单元确定要求 从第一存储单元到第二存储单元的数据传送时生成指定传送数据在数据传送源中的存储 位置、传送数据在数据传送目的地中的存储位置和数据传送尺寸的传送指示信息。所述第 二生成单元配置为生成通过将传送指示信息分段为具有预定数据尺寸的片段而获得的片 段传送指示信息。传送指示单元配置为以所述片段传送指示信息为基础来指示执行数据传 送。传送控制器配置为根据数据传送的指示来控制第一存储单元和第二存储单元之间的数 据传送。因此,能够减少CPU的处理负荷。
[0101] 尽管描述了某些实施例,但是仅通过示例的方式提供了这些实施例,并且并不意 在限制本发明的范围。实际上,本文描述的新颖实施例可以体现在各种其它形式中;而且, 在不偏离本发明的精神的情况下,可以做出对本文描述的实施例的形式的各种省略、替换 和改变。所附权利要求及其等效形式意在涵盖落在发明的精神内的这样的形式或修改。
【权利要求】
1. 一种数据处理装置,包括: 第一生成单元,配置为当所述第一生成单元确定要求从第一存储单元到第二存储单元 的数据传送时,生成指定传送数据在数据传送源中的存储位置、所述传送数据在数据传送 目的地中的存储位置和数据传送尺寸的传送指示信息; 第二生成单元,配置为生成通过将所述传送指示信息分段为具有预定数据尺寸的片段 而获得的片段传送指示信息; 传送指示单元,配置为以所述片段传送指示信息为基础来指示执行数据传送;以及 传送控制器,配置为根据所述数据传送的指示来控制所述第一存储单元和所述第二存 储单元之间的所述数据传送。
2. 如权利要求1所述的装置,其中: 当所述第一生成单元以更新数据为基础来检测所述第一存储单元中的数据更新时,所 述第一生成单元确定要求从所述第一存储单元到所述第二存储单元的所述数据传送,所述 更新数据包括在页管理数据中并且指示物理页的数据更新,在所述页管理数据中,作为主 存储单元的所述第一存储单元的虚拟存储器空间的虚拟页和存储器空间中的物理页彼此 相关联。
3. 如权利要求2所述的装置,其中: 所述第一生成单元以与在其中数据被更新的所述物理页相对应的页管理信息为基础 来生成所述传送指示信息。
4. 如权利要求1所述的装置,其中: 所述第二生成单元根据所述传送控制器的规范,通过将所述传送指示信息分段为具有 所述数据尺寸的片段来生成所述片段传送指示信息,并且将所生成的片段传送指示信息输 出到所述传送控制器。
5. 如权利要求1所述的装置,其中: 所述第一生成单元通过由处理器执行软件来实现,并且 所述第二生成单元、所述传送控制器和所述传送指示单元中的至少一个通过与所述处 理器分离的硬件的实现来实现。
6. 如权利要求1所述的装置,其中: 在从所述传送控制器接收到对于所述片段传送指示信息的参考请求时,所述第二生成 单元以由所述传送指示单元指定的地址为基础来确定所述传送指示信息将被分段。
7. 如权利要求1所述的装置,其中: 所述传送指示单元将当由所述传送控制器发出对于所述片段传送指示信息的参考请 求时指定的地址设置到所述传送控制器。
8. 如权利要求1所述的装置,其中: 所述传送控制器以包括在所述片段传送指示信息中的结束信息为基础来向所述传送 指示单元发出指示数据传送完成的中断信号,所述结束信息指示所述传送数据的结束,并 且 所述传送指示单元以从所述传送控制器接收到的所述中断信号为基础来执行关于所 述传送控制器的中断控制,并且通知所述第二生成单元所述数据传送的完成。
9. 如权利要求1所述的装置,其中: 所述第一生成单元、所述第二生成单元、所述传送控制器和所述传送指示单元通过分 别分开的硬件的实现来实现。
10. -种包括处理器的系统,包括: 生成单元,配置为生成通过将当所述处理器确定要求从第一存储单元到第二存储单元 的数据传送时生成的传送指示信息分段为具有预定数据尺寸的片段而获得的片段传送指 示信息,所述传送指示信息指定传送数据在数据传送源中的存储位置、所述传送数据在数 据传送目的地中的存储位置和数据传送尺寸; 传送指示单元,配置为以所述片段传送指示信息为基础来指示执行数据传送;以及 传送控制器,配置为根据所述数据传送的指示来控制所述第一存储单元和所述第二存 储单元之间的所述数据传送。
11. 一种数据处理方法,包括: 当确定要求从第一存储单元到第二存储单元的数据传送时,生成指定传送数据在数据 传送源中的存储位置、所述传送数据在数据传送目的地中的存储位置和数据传送尺寸的传 送指示信息; 生成通过将所述传送指示信息分段为具有预定数据尺寸的片段而获得的片段传送指 示信息; 以所述片段传送指示信息为基础来指示执行数据传送;并且 根据所述数据传送的指示来控制所述第一存储单元和所述第二存储单元之间的所述 数据传送。
12. -种在包括处理器的系统中执行的数据处理方法,包括: 生成通过将当所述处理器确定要求从第一存储单元到第二存储单元的数据传送时生 成的传送指示信息分段为具有预定数据尺寸的片段而获得的片段传送指示信息,所述传送 指示信息指定传送数据在数据传送源中的存储位置、所述传送数据在数据传送目的地中的 存储位置和数据传送尺寸; 以所述片段传送指示信息为基础来指示执行数据传送;并且 根据所述数据传送的指示来控制所述第一存储单元和所述第二存储单元之间的所述 数据传送。
【文档编号】G06F13/28GK104123251SQ201410087786
【公开日】2014年10月29日 申请日期:2014年3月11日 优先权日:2013年4月26日
【发明者】后藤真孝, 菅泽延彦, 小林优太, 村井信哉 申请人:株式会社东芝


购买说明
       资料可在线传送,如需邮寄光盘(即将电子文档刻录到光盘里),邮费另计。
       我们也可以为您提供个性化定制,欢迎咨询,客服微信/QQ: 690542
       X专利信息网竭诚为您服务!

相关文章 您可能喜欢 最新发布 热门文章 随机文章 相关发布