可执行分散/聚集直接存储器存取的系统与方法

文档序号:87142阅读:327来源:国知局
专利名称:可执行分散/聚集直接存储器存取的系统与方法
技术领域
本发明关于一种可实现直接存储器存取的系统与方法,特别是关于一种分散/聚集直接存储器存取的传输系统与方法。
背景技术
直接存储器传输为一常用的技术,在直接存储器传输中,数据自一存储器直接传输至另一存储器,而不须经过处理器或其他中间仲介装置。举例如图1所示,其是表示一计算机系统的部分元件的结构图。在本实施例的系统10中,两个分隔的存储器12与14连接至一系统总线15,该系统总线15亦连接至一处理器16。通常数据自其中一个存储器传输至另一存储器。
举例而言,假设存储器12中的一批数据目欲传输至存储器14,可影响该传输的一种方式为由处理器16来执行该批数据目的读取,以将该批数据目自存储器12传输至处理器16。因此,处理器16可将该数据目写入存储器14的特定位置。虽然该种方法对传输单一个数据目或少量的数据目来说为可行的,但通常的情况是自一存储器搬移一整个数据块至另一存储器。利用直接存储器存取即可大大提升该种数据传输,以减少需通过处理器多次搬移数据的需要。
在直接存储器存取传输中,自一第一存储器搬移数据至一第二存储器的操作由直接存储器存取控制器20来控制。处理器16或其他合适的逻辑电路通常通过类型(组态)设定直接存储器存取控制器20来起始一个数据传输。在简单的直接存储器存取传输中,类型设定的内容包括来源存储器12的起始地址,目的存储器14的起始地址,以及欲传输的数据数量。典型的直接存储器存取控制器包含控制寄存器22,用以存储处理器16的类型设定。当设定完成后,直接存储器存取控制器20提供必须的控制信号至存储器12与14,并藉该控制存储器12与14之间的传输。如标号19所示,当该直接存储器存取传输开始后,数据即可有效地从来源存储器12传输至目的存储器14。当然,数据经过总线15传输,而其他数据传输亦可能暂停。举例而言,处理器16可读取或写入至其他耦接至总线15的存储器。为达该目的,通常会加上仲裁逻辑单元18以排序与控制通过总线15的传输,以避免总线上的冲突。
由于直接存储器存取与总线仲裁运作为熟知的技术,在此将不赘述。
除了自来源存储器至目的存储器的单一数据块的传输等,此类的基本直接存储器存取运作之外,其他较复杂的直接存储器存取亦为熟知技术。例如聚集直接存储器存取,其将来源存储器的多个分散的数据块传输至目的存储器的连续位置,如图2A所示。来源存储器12中包含位置相异且大小不一的数据块32、34、36与38传输至目的存储器14后,存放于单一的相邻的连续位置。另一种为分散直接存储器存取,如图2B所表示。于分散直接存储器存取传输中,来源存储器的多个连续的数据块42、44、46与48传输至目的存储器的多个分散与相异的位置。如其名称所示,当数据写入目的存储器14时,被分散放置。前述的分散/聚集等词与于本发明中用以指称直接存储器存取为分散或聚集模式。
虽然图2A与图2B所示的分散与聚集直接存储器存取,将来源存储器的分散数据存入目的存储器的连续位置,或将来源存储连续数据存放至目的存储器的分散地址,其他形式的分散/聚集直接存储器存取可将来源存储器的不连续数据移至目的存储器的不连续位置。该类的分散或聚集直接存储器存取运作通常需要直接存储器控制器20更复杂的类型设定与运作,依此考虑,直接存储器控制器20会使用对照表,连结清单或其他形式以将来源数据块对应于目的数据块的合适位置。
由上所述可知,提供一种可更有效更经济地执行分散/聚集直接存储器传输的系统与方法,实为一待解决的课题。

发明内容本发明提供一种自一来源存储器至一目的存储器执行直接存储器存取传输的系统与方法。本发明的一实施例关于一种数据位线的直接存储器传输方法,包含接收一来源地址以定义来源存储器的起始位置;接收目的地址以定义目的存储器的起始位置;接收一尺寸值一定义一数据位线的数据单位数量;接收一计数值以定义自来源存储器传输至目的存储器传输的数据位线数量,其中每一数据位线包含多个连续的数据单位;接收一偏移值以定义两连续传输的数据位线间的固定相隔距离;根据来源地址值、目的地址值、尺寸值、计数值与偏移值,自来源存储器至目的存储器间一次传输一条数据位线,当所有数据位线传输完毕后,停止该直接存储器存取传输。
本发明的另一实施例提供一种数据块的直接存储器存取传输方法,该方法包含接收一来源地址以定义来源存储器的起始位置;接收目的地址以定义目的存储器的起始位置;接收一位线尺寸值以定义一数据位线的数据单位数量,其中每一数据位线包含多个连续的数据单位;接收一位线计数值以定义一数据块的数据位线数量,其中每一数据块包含多个连续传输的数据位线;接收一位线偏移值以定义一数据块中两个连续传输的数据位线间的固定相隔距离;接收一块计数值以定义自来源存储器至目的存储器所传输的数据块数量;接收一块偏移值以定义两个连续传输的数据块间的固定相隔位置;根据来源地址、目的地址、块计数值与块偏移值,自来源存储器至目的存储器间一次传输一数据块,其中每一数据块根据位线计数值与位线偏移值,一次传输一条数据位线来进行传输;当所有数据位线传输完毕后,停止该直接存储器存取传输。于本实施例中每一数据块的位线尺寸值与位线计数值相等。
本发明的又一实施例提供一种用于传输数据位线的直接存储器存取控制器,包含一存储单元用以存储与数据传输相关的多个传输参数,以及一控制单元用以根据该多个传输参数控制来源存储器与目的存储器间的数据传输。其中传输参数包括用以定义数据于来源存储器与目的存储器内的起始位置的地址值,用以定义数据位线的数据单位数量的尺寸值,用以定义数据位线数量的位线计数值,以及用以定义两个连续传输的数据位线间相隔距离的位线偏移值。本实施例的每一数据位线包含相同数量的数据单位。
本发明的再一实施例提供一种用于传输数据块的直接存储器存取控制器,包含一存储单元用以存储与数据传输相关的多个传输参数,以及一控制单元用以根据该多个传输参数控制来源存储器与目的存储器间的数据传输。其中该多个传输参数包括用以定义数据于来源存储器与目的存储器内的位置的地址值,用以定义一数据位线包含的数据单位数量的位线尺寸值,用以定义一数据块包含的数据位线数量的位线计数值,用以定义一数据块内两个连续传输的数据位线间固定相隔距离的位线偏移值,用以定义欲传输的数据块数量的块计数值,用以定义两个连续传输的数据块间固定相隔距离的块偏移值。本实施例的每一数据块的位线计数值与位线偏移值为相等。
本发明亦包含其他可实现分散/聚集直接存储器存取传输的系统与方法。
图1是表示本发明先前技术的直接存储器存取系统的结构图。
图2A是表示一分散直接存储器存取的结构图。
图2B是表示一聚集直接存储器存取的结构图。
图3A是表示一显示视窗的结构与动态。
图3B是表示一固定偏移的分散/聚集直接存储器存取。
图4是表示本发明一实施例的高阶直接存储器存取传输的流程图。
图5是表示本发明一实施例的直接存储器存取控制器的部分结构图。
图6是表示本发明另一实施例的直接存储器存取控制器的部分结构图。
图7是表示本发明又一实施例的直接存储器存取控制器的部分结构图。
图8是表示本发明再一实施例的直接存储器存取控制器的部分结构图。
图9是表示本发明再一实施例的直接存储器存取控制器的部分结构图。
主要元件符号说明10系统 12、14存储器装置 15总线 16处理器18仲裁逻辑单元 19直接存储器存取 20直接存储器存取控制器22控制寄存器 32、34、36、38数据块42、44、46、48数据块110显示视窗 120来源存储器 130目的存储器215处理器 220直接存储器存取控制器222控制/类型逻辑单元 230逻辑模块232、234、236子模块 240控制寄存器242位线尺寸值 244位线偏移值 246位线数量315处理器 320直接存储器存取控制器322控制/类型逻辑单元 334逻辑模块326、328、330、332、334子模块 340控制寄存器342位线尺寸值 344、356位线偏移值346位线数量348、358块偏移值 349块数量 352、354起始地址值
具体实施方式本发明所公开的实施例关于用以执行分散/聚集直接存储器存取传输的系统与方法,其中每一数据块的大小为固定与统一的尺寸,间隔的距离亦相同。该类型的直接存储器存取传输又称为固定偏移分散/聚集直接存储器存取。图3A与图3B表示本发明的固定偏移分散/聚集直接存储器存取的实施例。如图3A所示,一图形显示装置100包含一显示视窗110,当使用者将显示视窗110自一第一位置拖曳至一第二位置(如破折线112所示)时,显示视窗110所包含的数据必须在帧缓冲存储器内移动。换句话说,为了将显示视窗110自第一位置移动到第二位置,其一方法将帧缓冲存储器内的数据块传输至内部的另一位置。为说明方便,假设帧缓冲存储器包含两个存储器120与130,每一个分别涵盖显示视窗110的一半区域,两块区域的切割如参考线114所示。显示视窗110中参考线114左半边的数据存储于存储器120,而右半边的数据存储于存储器130。
假设存储器120与130内数据的配置与分割与显示视窗110的空间设置相关,直接存储器存取传输的第一个数据目对应于显示视窗左半边的像素。再假设显示视窗110的垂直维度为5个像素,水平维度为100个像素,若一个像素为一个数据单位(如一字节、一位字或双位字),即表示有5个数据块将自存储器120搬移至存储器130,其中每一数据块的长度为100个数据单位。该种数据块称为一个数据位线,包含连续的多个数据单位。
如图3B所示,当每一数据位线搬移完毕后,在碰到下一个被传输的位线的第一个数据目前还有一段偏移值的距离。每个连续传输的数据位线间的偏移距离为相等,因此称为固定偏移。同样地,在目的存储器中每条数据位线之间的偏移距离亦为相等。
前面的叙述已将自来源存储器传输多个数据位线(或数据块)至目的存储器的实施例详尽说明,其中每一数据位线之间的距离为固定的,藉以说明固定偏移的分散/聚集直接存储器存取如何运作。
接着请看图4,其是表示本发明一实施例的高阶直接存储器存取传输方法的流程图。首先于步骤S200,当一直接存储器存取传输被启动,以自来源存储器传输多个数据位线至目的存储器,其中每一条数据位线的尺寸为固定,且两连续的数据位线间的偏移距离亦为固定。步骤S200先判断与该直接存储器存取传输相关的多个传输参数。这些传输参数包括来源存储器与目的存储器的起始地址,每一数据块或数据位线的数据单位数量(如字节、位字或双位字),两条数据位线间相隔的偏移距离,以及欲传输的所有数据位线的数量。接着,于步骤S202这些传输参数,尤其是位线长度(或著称为传输计数值),位线偏移值,以及位线的数量,将存储于直接存储器存取控制器内的特定位置,例如专用的寄存器。然后在步骤S204第一条位线被传输至目的存储器,步骤S206则对应将位线计数值减一。当位线计数值等于0时,表示所有数据位线皆以传输完毕,如步骤S208所示。当位线计数值不等于0时,则于步骤S210下一条数据位线将被传输,再回到步骤S206。数据传输与计数减值的动作将一直重复直到位线计数值等于0为止,整个直接存储器传输即结束。
于本发明的其他实施例中,这些传输参数可直接自请求该直接存储器存取的传输请求中接收而得,省略判断传输参数的步骤。甚者,传输参数亦可不被存储至直接存储器存取控制器的特定位置,相反地,可直接作为直接存储器存取传输的指标值或阈值。举例而言,传输参数可自传输请求中获得并直接用以设定程序计数器。程序计数器再用以计算被传输的数据位线或数据单位的数量。
于本发明的其他实施例中,步骤S206至步骤S210亦可以其他方式实现。例如计算已被传输的数据位线的数量,或者计算步骤S204(一条数据位线的传输完成)已执行过的次数,来取代步骤S206。当传输的次数达到位线计数值时,即表示所有数据位线已传输完毕,则传输即可终止,如步骤S210所为。还可利用一计数器来计算已传输的数据位线的数量,或计算步骤S204执行的次数,取决于实际设计考虑。于本发明实施例的其他变化中,可使用位线尺寸值来判断步骤S204的传输是否完毕。例如当一条数据位线中的一个数据单位被传输时,递减位线尺寸值。当位线尺寸值等于0时,亦即一条数据位线已传输完毕,即可对应增加计算数据位线的传输数量或者步骤S204执行次数的数值。无论上述何种方式,直接存储器存取传输皆可通过这些传输参数被监视与控制。
通过以上叙述可知,相较于先前技术的分散聚集直接存储器存取,本发明的各种实施例提供一种更为有效率减简化传输复杂度的操作方法,不须使用对照表,连结清单或其他复杂的结构。
接着请参照图5,其是表示本发明一实施例的直接存储器存取控制器220的结构图。本实施例的直接存储器存取控制器220包含一控制/类型逻辑单元222,用以控制传送至来源存储器与目标存储器(未表示)的控制信号,以执行该固定偏移分散/聚集直接存储器存取传输。处理器215或其他逻辑单元可用以存储直接存储器存取控制器220的类型设定,以执行直接存储器存取。如于图4相关的叙述所言,类型设定包括位线长度值,位线偏移值与欲传输的数据位线数量。其中对每一数据位线而言,位线长度值与位线偏移值皆相等。
控制类型逻辑单元222包含一逻辑模块230,用以类型设定直接存储器存取控制器220,以执行该直接存储器存取传输。该传输包含多个固定大小的数据位线,彼此间隔的距离亦为固定。逻辑模块230还包含用以判定位线尺寸值的子模块232,用以判定两相邻数据位线间相隔距离的子模块234,用以判定数据位线数量的子模块236。请注意在本实施例中,其他形式的逻辑元件亦可用于本发明中,且不背离本发明的范围与精神。
举例而言,图6表示本发明一实施例的结构图。如图所示,控制类型逻辑单元222包含多个控制寄存器240,分别用以存储(1)位线尺寸值242;(2)位线偏移值244;(3)欲传输的数据位线数量246。于本实施例中,上述数值可分别存储于控制寄存器240的一巨集模块中不同的寄存器。于另一实施例中,可用单一寄存器来存储所有数值。在该情况下,各数值可能仅占据控制寄存器的数个特定栏。实际的设计可依据存储器空间与数值大小来决定实现的方式,举例而言,若每一数值的大小约3到4个位,则可以一单一寄存器的不同栏来实现;如果每一数值的大小可达16到32位,则可选择使用不同的寄存器来实现。
以下的实施例将描述如何实现自来源存储器搬移一数据块至目的存储器的固定偏移分散/聚集直接存储器存取传输。本发明的其他实施例亦可涵盖搬移多个数据块的直接存储器存取传输。对于被传输的某个数据块而言,该数据块内的各条数据位线间具有固定的相隔距离。同样地,每一个数据块间相隔的距离亦为固定。数据位线间与数据块间的偏移距离为独立不相干。
在此重申,本发明的各实施例所使用的特定应用并非用以限定本发明的范围,相反地,仅用以说明的本发明可能的应用范例。本发明的专利范围亦不受限于此些应用。
图7为本发明一实施例的流程图,用以示意一自来源存储器传输多个数据块至目的存储器的高阶直接存储器存取的传输方法。本实施例的数据块为固定大小,且两连续数据块间的相隔距离亦为固定。再者,每一数据块皆由多个数据位线所组成,每一数据位线的大小与两条数据位线间的相隔距离亦为固定。在传输的起始,首先于步骤S302须判断与直接存储器存取传输相关的传输参数。此些传输参数包括来源存储器与目的存储器的起始地址(亦即欲传输的第一个数据目的起始地址),每一数据位线的长度,两连续数据位线之间的相隔距离(亦即位线偏移值),每一数据块所包含的数据位线数量,两连续数据块之间的相隔距离(亦即块偏移值),以及欲传输的数据块数量。接着于步骤S304这些传输参数被存储至特定位置,包含位线长度值,位线偏移值,位线数量,块偏移值,数据块数量。于本实施例中,存储这些传输参数的特定位置位于直接存储器存取控制器内,但于其他实施例中亦可存储于直接存储器存取控制器的外,可被直接存储器存取控制器存取的其他位置,同样不背离本发明的精神。
步骤S306则将第一个数据块的第一个数据位线自来源存储器传输至目的存储器,步骤S308相对将位线计数值递减。步骤S310则判断位线计数值是否到达0,若不等于0,则于步骤S312接续传输第一数据块的下一条数据位线。上述的数据位线传输与位线计数值递减的步骤将重复直到位线计数值等于0为止,接着重新设定位线计数值到初始值,并将块计数值递减,如步骤S314所示。与步骤S310类似,步骤S316判断块计数值是否到0;若尚未等于0,则于步骤S318继续传输下一数据块的数据位线,传输程序将回到步骤S308、S310与S312的内部循环,依次递减位线计数值,直到目前的数据块内的所有数据位线皆传输完毕为止。前述步骤S308至S318将持续重复,直到步骤S316判断块计数值等于0为止,表示所有的数据块皆已传输完毕。
于本发明的其他实施例中,这些传输参数可直接自请求该直接存储器存取的传输请求中接收而得,省略判断传输参数的步骤。甚者,传输参数亦可不被存储至直接存储器存取控制器的特定位置,相反地,可直接作为直接存储器存取传输的指标值或阈值。举例而言,传输参数可自传输请求中获得并直接用以设定程序计数器。程序计数器再用以计算被传输的数据位线或数据块的数量。
于本发明的其他实施例中,步骤S308至S318亦可以其他方式实现。例如利用额外的计数器来计算内部循环执行的次数或一数据块内已传输的数据数量。同样地,其他传输参数,例如位线长度与位线计数值,也可用于计算一数据块内已传输的数据位线的数量或者已完成传输的数据块数量。通过适当的计算方式,直接存储器存取传输可被妥善地监视与控制。总结而论,直接存储器存取传输的终止依据所有数据块(或者数据位线,于图6的实施例中)是否已被全部自来源存储器传输至目的存储器完毕。计算直接存储器存取传输的数据流量的方式可以多种不同方式实现,但皆不背离本发明的精神与范畴。
图8是表示本发明一实施例的直接存储器存取控制器的结构图,本实施例对应于图7的流程图,并且与图5的实施例具有许多相似的处。
处理器315或其他合适的逻辑单元可用以类型设定直接存储器存取控制器320,已将传输参数存储至直接存储器存取控制器320内的特定位置,或者其他直接存储器存取控制器320可存取的位置。直接存储器存取控制器320包含控制/类型逻辑单元322用以提供控制信号至来源存储器与目的存储器,来控制直接存储器存取传输。该直接存储器存取传输将多个固定偏移的数据块自来源存储器传输至目的存储器。控制/类型逻辑单元包含逻辑模块324,以类型设定该直接存储器存取传输,其中每一数据块包含相同数量的数据位线,且数据位线彼此之间的相隔距离亦相等。逻辑模块324又包含用以定义位线尺寸值的子模块326,用以定义相邻数据位线之间相隔距离(位线偏移值)的子模块328,用以定义每一数据块所包含的数据位线数量的子模块330,用以定义欲传输的数据块数量的子模块332,以及用以定义两相邻的数据块之间相隔距离(块偏移值)的子模块334。在不背离本发明的范畴与精神的情况下,上述的逻辑模块与子模块可以其他方式实现。
接着请参照图9,其是表示本发明一实施例的结构图。于本实施例中,图8的多个子模块326、328、330、332与334可以直接存储器存取控制器320的数个特殊控制寄存器340来实现。例如,特殊控制寄存器342用以存储位线尺寸值,特殊控制寄存器344用以存储位线偏移值,特殊控制寄存器346用以存储欲传输的数据位线的数量,特殊控制寄存器348用以存储块偏移值,以及特殊控制寄存器349用以存储欲传输的数据块的数量。
当然,额外的控制寄存器或逻辑单元亦可包含于直接存储器存取控制器320的中。然而,为简化叙述与更有效率地公开本发明的特征,图示所包含的元件依据下列的条件而表示(1)本发明的实施例所特有的特征;(2)可支援对上述特征的理解。举例而言,直接存储器存取控制器320的其他额外控制寄存器可包含用以存储来源寄存器中欲传输的第一个数据目的起始地址的控制寄存器352;用以存储被传输的第一个数据目于目的寄存器内的起始地址的控制寄存器354;用以存储目的寄存器的位线偏移值的控制寄存器356;以及用以存储目的寄存器内块偏移值的控制寄存器358。
前述的各实施例中位线偏移值为固定,亦即来源存储器的位偏移值为相异,而目的存储器的位偏移值为相同的实施例尚未涵盖在内。若仅定义一个位线偏移值,对聚集直接存储器存取操作而言,假设目的存储器的位线偏移值为0。相似地,对分散直接存储器存取操作而言,假设来源存储器的位线偏移值为0,除非另行定义一位线偏移值供来源存储器使用。然而,本发明的实施例亦可推及至来源存储器与目的存储器具有相异的位线偏移值的实施例,以分别定义来源位线偏移值与目的位线偏移值,两者皆不为0。块偏移值亦可以相同方式来处理,以支援具有多个数据块的实施例。
于本发明可同时支援分散与聚集直接存储器存取的实施例中,该实施例的方法还包含存储一个分散/聚集指标,例如一旗标,于分散直接存储器存取时设为1,于聚集直接存储器存取时设为0。当分散/聚集指标表示一分散存取时,位线偏移值表示数据传输后,目的存储器中两相邻数据位线之间的距离,而数据传输前,来源存储器内的数据位线的相隔距离为0;当分散/聚集指标表示一聚集存取时,位线偏移值表示数据传输前,来源存储器中两相邻数据位线之间的距离,而数据传输后,目的存储器内的数据位线的相隔距离为0。
本发明可涵盖其他未述及的实施例,且与本发明列举的较佳实施例具有相同的简化与有效率执行直接存储器存取的特性。在不脱离本发明的范畴与精神的情况下,对本发明的结构任何的变化与调整应为本领域技术人员可预知的,亦属于本发明的保护范围。
权利要求
1.一种直接存储器存取传输方法,用以自一来源存储器传输数据位线至一目的存储器,包含接收一来源地址值,用以定义该来源存储器的起始位置;接收一目的地址值,用以定义该目的存储器的起始位置;接收一尺寸值,用以定义一数据位线的数据单位的数量;接收一计数值,用以定义自该来源存储器至该目的存储器所欲传输的该多个数据位线的数量,其中每一条该多个数据位线包含多个连续的数据单位;接收一偏移值,用以定义两个连续传输的该多个数据位线间的固定相隔距离;根据该来源存储器地址、该目的存储器地址、该尺寸值、该计数值与该偏移值,自该来源存储器一次传输一条该数据位线至该目的存储器;以及当该多个数据位线全部被传输完毕时,停止该直接存储器存取传输。
2.如权利要求
1所述的直接存储器存取传输方法,还包含接收一指标值,用以表示该直接存储器存取传输的操作模式,其中该操作模式选自下列模式一正常模式,一分散模式与一聚集模式。
3.如权利要求
2所述的直接存储器存取传输方法,其中该指标值表示该聚集模式时,该偏移值定义该多个数据位线于来源存储器内的固定相隔距离,而该多个数据位线于该目的存储器内的固定相隔距离为0。
4.如权利要求
2所述的直接存储器存取传输方法,其中该指标值表示该分散模式时,该偏移值定义该多个数据位线于目的存储器内的固定相隔距离,而该多个数据位线于该来源存储器内的固定相隔距离为0。
5.如权利要求
1所述的直接存储器存取传输方法,还包含分别将接收的该多个参数存储至专用的寄存器。
6.如权利要求
1所述的直接存储器存取传输方法,其中该停止的步骤还包含当每一条该多个数据位线传输完毕时,递减该计数值直到等于0为止。
7.一种直接存储器存取传输方法,用以自一来源存储器传输数据块至一目的存储器,包含接收一来源地址值,用以定义该来源存储器的起始位置;接收一目的地址值,用以定义该目的存储器的起始位置;接收一位线尺寸值,用以定义每一条数据位线所包含的数据单位的数量,其中每一条该数据位线包含多个连续的数据单位;接收一位线计数值,用以定义一数据块包含的该多个数据位线的数量,其中该数据块包含多个连续传输的该多个数据位线;接收一位线偏移值,用以定义该数据块内两个连续传输的该多个数据位线间的固定相隔距离;接收一块计数值,用以定义自该来源存储器至该目的存储器所传输的该多个数据块的数量;接收一块偏移值,用以定义两个连续传输的该多个数据块间的固定相隔距离;根据该来源地址值、该目的地址值、该块计数值与该块偏移值,自该来源存储器每次传输一个该数据块的数据至该目的存储器,其中该多个数据块根据该位线计数值与该位线偏移值,每次传输一条该数据位线;以及当该多个数据块全部传输完毕时,停止该直接存储器存取传输;其中该多个数据块的每一个皆具有相同的该位线尺寸值与该位线计数值。
8.如权利要求
7所述的直接存储器存取传输方法,还包含当每一个该多个数据块传输完毕时,重设该位线计数值至原始所接收的值。
9.如权利要求
7所述的直接存储器存取传输方法,还包含接收一指标值,用以表示该直接存储器存取传输的模式,其中该操作模式选自下列模式一正常模式,一分散模式与一聚集模式。
10.如权利要求
9所述的直接存储器存取传输方法,其中该指标值表示该聚集模式时,该偏移值定义该多个数据位块于来源存储器内的固定相隔距离,而该多个数据块于该目的存储器内的固定相隔距离为0。
11.如权利要求
9所述的直接存储器存取传输方法,其中该指标值表示该分散模式时,该偏移值定义该多个数据块于目的存储器内的固定相隔距离,而该多个数据块于该来源存储器内的固定相隔距离为0。
12.如权利要求
7所述的直接存储器存取传输方法,其中该终止的步骤还包含当每一个该数据块传输完毕时,递减该块计数值直到等于0为止。
13.如权利要求
7所述的直接存储器存取传输方法,还包含分别将接收的该多个参数存储至专用的寄存器。
14.一种直接存储器存取控制器,包含一存储逻辑单元,用以存储一数据传输的多个传输参数;以及一控制逻辑单元,用以根据该多个传输参数,控制自一来源存储器至一目的存储器的该数据传输;其中该多个传输参数包含地址值用以定义数据的位置,一尺寸值用以定义一条数据位线的数据单位数量,一位线计数值用以定义该数据传输所包含的数据位线总数量,其中每一条该位线包含连续的多个数据单位。
15.如权利要求
14所述的直接存储器存取控制器,其中该存储逻辑单元包含一地址寄存器,用以存储该地址值;一尺寸寄存器,用以存储该尺寸值;一位线计数寄存器,用以存储该位线计数值;以及一位线偏移值寄存器,用以存储该位线偏移值;其中该地址值包含一来源地址,用以定义该来源存储器的起始位置,以及一目的地址,用以定义该目的存储器的起始位置。
16.如权利要求
15所述的直接存储器存取控制器,其中该控制逻辑单元包括一地址控制逻辑模块,用以根据该来源地址与该目的地址,于该来源存储器与该目的存储器内定位数据;一位线计数控制逻辑模块,用以于该多个数据位线被传输的数量相等于该位线计数值时,停止该数据传输;以及一位线偏移控制模块,用以根据该位线偏移值,于该来源存储器与该目的存储器内每次存取一条该数据位线。
17.如权利要求
14所述的直接存储器存取控制器,其中该多个传输参数还包含一指标值,用以表示一操作模式;其中该操作模式选自于下列模式一正常模式、一分散模式与一聚集模式。
18.如权利要求
17所述的直接存储器存取控制器,其中该指标值为该聚集模式时,该位线偏移控制模块根据该位线偏移值,连续地将该多个数据位线移出该来源存储器。
19.如权利要求
17所述的直接存储器存取控制器,其中该指标值为该分散模式时,该位线偏移控制模块根据该位线偏移值,连续地将该多个数据位线置入该目的存储器。
20.一种直接存储器存取控制器,包含一存储逻辑单元,用以存储一数据传输的多个传输参数;以及一控制逻辑单元,用以根据该多个传输参数,控制自一来源存储器至一目的存储器的该数据传输;其中该多个传输参数包含地址值用以定义数据于来源存储器与目的存储器内的位置;一尺寸值用以定义一数据位线的数据单位数量;一位线计数值用以定义一数据块所包含的该多个数据位线数量;一位线偏移值用以定义该数据块内两个连续传输的该多个数据位线间的固定相隔距离;一块计数值用以定义欲传输的该多个数据块数量;以及一块偏移值用以定义两个连续传输的该多个数据块间的固定相隔距离;其中每一个该多个数据块的该位线计数值与该位线尺寸值相等。
21.如权利要求
20所述的直接存储器存取控制器,其中该存储逻辑单元包含一地址寄存器,用以存储该地址值;一尺寸寄存器,用以存储该尺寸值;一位线计数寄存器,用以存储该位线计数值;一位线偏移值寄存器,用以存储该位线偏移值;一块计数寄存器,用以存储该块计数值;以及一块偏移寄存器,用以存储该块偏移值;其中该地址值包含一来源地址,用以定义该来源存储器的起始位置,以及一目的地址,用以定义该目的存储器的起始位置。
22.如权利要求
21所述的直接存储器存取控制器,其中该控制逻辑单元包括一地址控制逻辑模块,用以根据该来源地址与该目的地址,于该来源存储器与该目的存储器内定位数据;一位线计数控制逻辑模块,用以于每一个该多个数据块的该多个数据位线被传输的数量相等于该位线计数值时,重设该多个数据块的传输;一位线偏移控制模块,用以根据该位线偏移值,于该来源存储器与该目的存储器内一次传输一条该数据位线来存取每一个该多个数据块;一块计数控制模块,用以于被传输的该多个数据块的数量相等于该块计数值时,停止数据传输;以及一块偏移值控制模块,用以根据该块偏移值,于该来源存储器与该目的存储器连续地存取该多个数据块。
23.如权利要求
20所述的直接存储器存取控制器,其中该多个传输参数还包含一指标值,用以表示一操作模式;其中该操作模式选自于下列模式一正常模式、一分散模式与一聚集模式。
24.如权利要求
23所述的直接存储器存取控制器,其中该指标值为该聚集模式时,该块偏移控制模块根据该块偏移值,连续地将该多个数据块移出该来源存储器,且对应将该多个数据块连续且无间隔地置入该目的存储器。
25.如权利要求
23所述的直接存储器存取控制器,其中该指标值为该分散模式时,该块偏移控制模块连续且无间隔地将该多个数据块移出该来源存储器,并根据该块偏移值,连续地将该多个数据块对应置入该目的存储器。
专利摘要
本发明关于一种可自一来源存储器至一目的存储器执行一分散/聚集直接存储器存取的系统与方法。本发明的方法包含接收地址数值以定义来源存储器与目的存储器的起始地址;接收一尺寸值以定义一数据位线的位单位数量;接收一计数值以定义自来源存储器自目的存储器欲传输的数据位线数量,其中每一数据位线包含连续的多个数据单位;接收一偏移值以定义连续传输的两条数据位线之间的固定相隔距离;根据来源存储器地址、目的存储器地址、尺寸值、计数值与偏移值,自来源存储器每次传输一数据位线至目的存储器;以及当直接存储器存取的所有数据位线传输完毕后,停止该传输。
文档编号G06F13/28GK1991809SQ200610168553
公开日2007年7月4日 申请日期2006年12月19日
发明者伊沃·图西克 申请人:威盛电子股份有限公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1