具直接存储器存取的电子系统及其方法

文档序号:6612264阅读:118来源:国知局
专利名称:具直接存储器存取的电子系统及其方法
技术领域
本发明是有关于一种电子系统及其设计方法,且特别是有关于一种具直
接存储器存取(direct memory access, DMA)的电子系统及其方法。
背景技术
由于使用DMA技术可在元件间数据传输的同时不会造成主处理器 (masterprocessor)的造价过高,因而已成为现代电子系统中的一项重要特色。 计算机的主处理器即中央处理单元(CPU)。在其它内嵌系统中,主处理器可 以是一种控制处理器或数字信号处理器。
在没有DMA的情况下,主处理器必须复制每一笔由数据源传到目的地 的数据。当进行存储器元件间的数据传输时,主处理器无法执行其它指令。 一旦设置了 DMA,当DMA电路负责在一个或多个存储器元件间的数据移动 时,主处理器可同时执行其它指令,因而提高电子系统的总效能。
现有技术中,DMA电路接收来自主处理器的DMA指令,并通过存取一 个或多个存储器来执行此DMA指令。通常会使用一种"周期挪用(cycle stealing)"方式来避免存储器总线的存取冲突。根据此"周期挪用"方法,在 建立握手协议(handshaking protocol)后,处理器对存储器元件的存取机制会暂 时失能。也就是说,当试图执行DMA操作时,DMA电路会对主处理器提出 请求。在接收到处理器的告知收到(acknowledge)的响应时,DMA电路即开 始执行此DMA操作。
然而,"周期挪用"方法往往由于成本问题而降低其使用效率。在实时 (realtime)应用的内嵌系统中,这样的系统消耗变得更显著。在现代电子系统 设计上,高效率代表低成本,低功率损耗以及产品的高市场竞争力。

发明内容
为解决上述使用效率低问题,本发明提供一种具直接存储器存取能力的 电子系统及直接存储器存取方法。
根据本发明一实施方式,提出一种具直接存储器存取能力的电子系统, 包括存储器元件、处理器以及直接存储器存取元件。处理器用以通过设定存 储器元件的元件选择信号,以存取存储器元件。当直接存储器存取元件通过 检测元件选择信号得知处理器并未存取存储器元件时,执行等待队列的直接 存储器存取操作以存取存储器元件,以及当直接存储器存取元件通过检测元 件选择信号得知处理器正试图来存取存储器元件时,暂停直接存储器存取操 作。
根据本发明另一实施方式,提出一种直接存储器存取方法,用以存取存 储器元件,包括提供处理器,其中当处理器欲存取存储器元件时,处理器 设定元件选择信号;提供直接存储器存取元件,用以检测元件选择信号;当 直接存储器存取元件根据元件选择信号得知处理器并未存取存储器元件时, 执行直接存储器存取;以及当直接存储器存取元件根据元件选择信号得知处 理器欲存取存储器元件时,暂停直接存储器存取操作。
上述具直接存储器存取能力的电子系统及其直接存储器存取方法可避免 处理器控制DMA电路所需的信号来回传输,从而提高了数据移动的效率。


图1绘示依照本发明第一实施方式的电子系统的方框图。 图2绘示依照本发明第二实施方式的电子系统的方框图。 图3绘示依照本发明较佳实施方式的存取存储器方法流程图。 图4绘示根据DMA指令将第一指定数据由第一存储器复制到第二存储 器的时序图。
具体实施方式
请参照图1,其绘示依照本发明第一实施方式的电子系统的方框图。电
子系统100包括处理器110、直接存储器存取(Direct Memory Access, DMA) 电路120、第一存储器130以及第二存储器140。
DMA电路120连接至处理器110,用以存取第一存储器130以及第二存 储器140。当处理器110未存取第一存储器130时,DMA电路120根据处理 器110发出的DMA指令Da来执行DMA操作。此外,当DMA电路得知处 理器IIO欲存取第一存储器130时,DMA电路即停止DMA操作。
举例来说,DMA指令Da要求第一指定数据由第一存储器130复制到第 二存储器140,或第二指定数据由第二存储器140复制到第一存储器130。
DMA电路120包括检测电路121,用以检测元件选择信号Cs。此元件 选择信号Cs用以指示处理器IIO欲存取或正在存取第一存储器130。例如, 元件选择信号Cs为连接于处理器110与第一存储器130间的信号线上的信 号。当处理器110欲存取第一存储器130时,处理器110致能元件选择信号 Cs。在处理器110完成第一存储器130的存取前,元件选择信号Cs可处于 同一状态。元件选择信号Cs也可以提供至检测电路121,使得检测电路121 可通过检测元件选择信号Cs来判断处理器110是否正在存取或即将存取第 一存储器130。若第一存储器130设置在独立集成电路芯片中,元件选择信 号Cs即为芯片选择信号。值得注意的是,第一存储器130与DMA电路120 也可以设置在同一集成电路上,且元件选择信号Cs为选择第一存储器130 的信号。
一旦DMA电路120得知处理器110并未对第一存储器130进行存取, 且需执行DMA操作时,DMA电路120开始执行DMA操作。在某些情况下, DMA电路120也可以包括状态机(statemachine)电路(图未示),用以控制执行 DMA操作或为多个DMA操作排序的详细步骤,例如是待执行DMA操作的 等待队歹U(waiting queue)。
图2绘示依照本发明第二实施方式的电子系统的一种方框图。电子系统200还包括缓冲器,例如图2中的寄存器221、 222、 223及224,用以储存等 待队列。值得注意的是,缓冲器也可由本领域的技术人员所已知的其它机制 来达成,例如是其它数据结构及/或可储存一个或多个待执行DMA操作的不 同储存电路。缓冲器也可包括在DMA电路中。处理器IIO可在不同时间发 出多个DMA指令至DMA电路120。等待执行的DMA操作即储存在等待队 列之中。在本实施方式中,多工器210由DMA电路120控制,例如通过状 态机电路来控制,视实际电路情况以一次取得(fetch)—个或多个DMA操作, 并在DMA电路120得知处理器110并未存取或未欲存取第一存储器130时 来执行DMA操作。由于一旦DMA电路120得知处理器110即将存取第一 存储器130即中断DMA操作,DMA操作可能需分成几个部分来分别执行。 当此中断发生时,未完成的部分信息会更新至相关记录,然后再将记录存回 缓冲器,以便确保下一次可再执行DMA操作。
举例来说,DMA操作具有相关记录的内容"地址X1"、"地址X2"、 "地址Y1"及"地址Y2",并储存在寄存器221 224其中之一。这样的记 录表示将数据由第一存储器130的地址X1移到地址X2,再移到第二存储器 140的地址Yl以及地址Y2的DMA操作。假如DMA电路120并未一次完 成DMA操作,例如得知处理器110开始致能元件选择信号Cs,将代表下次 继续的新起始地址的新状态(例如Xl')更新至记录之中。
也可以在第二实施方式中设计优先级。例如,即使处理器110并未存取 第一存储器130,较低优先级的第一 DMA操作也会被中断并存回等待队列 中,接着,具有较高优先级的第二DMA操作先被执行。
图3绘示依照本发明较佳实施方式的存取存储器方法流程图。此方法可 在状态机电路及/或具有对应固件的电路中来达成。首先,在步骤31,接收 处理器110所提供的DMA指令Da。接着,在步骤32, DMA电路120主动 地检测是否处理器110正在存取或即将存取第一存储器130。若是,则执行 步骤32。如果处理器110并未正在存取或即将存取第一存储器130, DMA电路120根据DMA指令Da来执行DMA操作,如步骤33所示。
接着,在步骤34,继续检测是否处理器110即将存取第一存储器130。 若否,则回到步骤33,继续DMA操作。若处理器110即将存取第一存储器 130,例如致能元件选择信号Cs,如步骤35所示,DMA电路120停止执行 对应DMA指令Da的DMA操作。最后,在步骤36,判断是否完成DMA指 令Da对应的DMA操作。若是,则回到步骤31,等待或取回待执行的另一 DMA操作。若否,则回到步骤33。
在步骤34中,若DMA指令Da指示需移动大量的数据,则在移动部分 数据后必须检测处理器110是否需存取第一存储器130,以便不影响处理器 110的操作。这是因为当DMA电路120正执行DMA操作时处理器110可能 需要使用到第一存储器130。
图4绘示根据DMA指令Da将第一指定数据由第一存储器130复制到第 二存储器140的时序图。信号dsp一ck为处理器110的频率信号。信号Cs一DMA 为DMA电路120用来选择第一存储器130的存储器选择信号。如图4所示, 信号Cs—DMA以及元件选择信号Cs实质上互为反相信号。状态信号state为 DMA电路120的状态描述。信号dm一addr代表待移动数据的存取地址。信 号dm一rdata代表待移动的数据。
请一并参阅图3与图4。开始,信号dm—addr设定了待移动数据的存取 地址(A)。在时间tl时,DMA电路120检测到元件选择信号Cs为失斷亦即 处理器110不使用第一存储器130),且待移动数据的存取地址已准备好。经 过一个周期的时间,DMA电路120开始在时间t2存取第一存储器130。
在时间t2之后,状态信号state为DMR,代表待移动数据的一组数据。 待移动数据验证为D(A),如信号dmjdata所示。在时间t3之后,状态信号 state为WAIT。此时,再次验证处理器110是否存取第一存储器130,如步 骤34所示。同时,也决定下一组数据的存取位置,其中存取位置为"A+1", 如信号dm addr所示。在时间t4,当数据D(A+1)被移动后,被检测到的元件选择信号Cs随即 致能。此时,如步骤35所示,DMA指令Da必须停止,并保持状态WAIT, 如状态信号state所示。在时间t5,被检测的元件选择信号Cs失能,且DMA 电路120继续执行步骤33,并进入DMR状态。
根据本发明上述实施方式所公开的具直接存储器存取的电子系统及其方 法,DMA电路自动取得执行DMA操作的时机而不影响处理器的操作。因此, 可避免处理器控制DMA电路所需的信号来回传输而造成数据移动的效率降 低。
虽然本发明已以实施方式揭露如上,但是对于本领域的技术人员,依据 本发明实施方式的思想,在具体实施方式
及应用范围上均会有改变之处,综 上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种具直接存储器存取能力的电子系统,包括存储器元件;处理器,用以通过设定所述的存储器元件的元件选择信号,以存取所述的存储器元件;以及直接存储器存取元件,用以当所述的直接存储器存取元件通过检测所述的元件选择信号得知所述的处理器并未存取所述的存储器元件时,执行等待队列的直接存储器存取操作以存取所述的存储器元件,以及当所述的直接存储器存取元件通过检测所述的元件选择信号得知所述的处理器正试图来存取所述的存储器元件时,暂停所述的直接存储器存取操作。
2. 如权利要求1所述的具直接存储器存取能力的电子系统,其特征在于, 所述的处理器及所述的直接存储器存取元件设置在集成电路芯片中。
3. 如权利要求l所述的具直接存储器存取能力的电子系统,其特征在于, 所述的处理器为数字信号处理器或中央处理单元。
4. 如权利要求l所述的具直接存储器存取能力的电子系统,其特征在于, 所述的存储器元件设置在集成电路芯片中,且所述的元件选择信号为芯片选 择信号。
5. 如权利要求l所述的具直接存储器存取能力的电子系统,其特征在于, 所述的直接存储器存取元件包括检测电路,用以接收所述的元件选择信号;以及缓冲器电路,用以储存所述的等待队列,所述的等待队列包括所述的处 理器发出的多个直接存储器存取操作。
6. 如权利要求5所述的具直接存储器存取能力的电子系统,其特征在于, 所述的直接存储器存取元件还包括状态机电路,用以根据所述的检测电路对 所述的元件选择信号的检测来执行及暂停所述的直接存储器存取操作。
7. 如权利要求6所述的具直接存储器存取能力的电子系统,其特征在于, 在所述的检测电路通过检测所述的元件选择信号检测到所述的处理器欲存取 所述的存储器元件时,所述的状态机电路将所述的直接存储器存取操作移入 所述的等待队列中。
8. 如权利要求6所述的具直接存储器存取能力的电子系统,其特征在于,所述的状态机电路将尚未执行完成且具较低优先级的直接存储器存取操作移 入所述的等待队列中,并执行具有较高优先级的直接存储器存取操作。
9. 如权利要求1所述的具直接存储器存取能力的电子系统,其特征在于, 所述的直接存储器存取操作包括在所述的存储器元件与另一存储器元件之间 移动数据。
10. —种直接存储器存取方法,用以存取存储器元件,所述的方法包括 提供处理器,其中当所述的处理器欲存取所述的存储器元件时,所述的处理器设定元件选择信号;提供直接存储器存取元件,用以检测所述的元件选择信号; 当所述的直接存储器存取元件根据所述的元件选择信号得知所述的处理器并未存取所述的存储器元件时,执行直接存储器存取操作;以及当所述的直接存储器存取元件根据所述的元件选择信号得知所述的处理器欲存取所述的存储器元件时,暂停所述的直接存储器存取操作。
11. 如权利要求10所述的直接存储器存取方法,其特征在于,还包括 提供等待队列,用以储存所述的处理器发出的多个直接存储器存取操作。
12. 如权利要求ll所述的直接存储器存取方法,其特征在于,还包括 提供检测电路,当所述的检测电路通过检测所述的元件选择信号检测到所述的处理器欲存取所述的存储器元件时,将所述的直接存储器存取操作移 入所述的等待队列中。
13. 如权利要求IO所述的直接存储器存取方法,其特征在于,所述的存 储器元件设置在集成电路芯片中,且所述的元件选择信号为芯片选择信号。
14.如权利要求10所述的直接存储器存取方法,其特征在于,所述的处 理器为数字信号处理器或中央处理单元。
全文摘要
本发明公开一种具有直接存储器存取(Direct Memory Access,DMA)能力的电子系统及其直接存储器存取方法。在电子系统中,DMA电路利用元件选择信号来指示处理器正存取或即将存取存储器。若DMA电路得知处理器并未存取存储器,DMA电路开始DMA操作。一旦DMA电路得知处理器即将存取存储器时,DMA电路停止DMA操作,并将存储器的使用权归还给处理器。上述具直接存储器存取能力的电子系统及其直接存储器存取方法可避免处理器控制DMA电路所需的信号来回传输,从而提高了数据移动的效率。
文档编号G06F13/20GK101303676SQ20071015338
公开日2008年11月12日 申请日期2007年9月18日 优先权日2007年5月7日
发明者吴正鼎, 康欣佑 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1