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

技术编号:2822984 阅读:194 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种具有直接存储器存取(Direct Memory Access,DMA)能力的电子系统及其直接存储器存取方法。在电子系统中,DMA电路利用元件选择信号来指示处理器正存取或即将存取存储器。若DMA电路得知处理器并未存取存储器,DMA电路开始DMA操作。一旦DMA电路得知处理器即将存取存储器时,DMA电路停止DMA操作,并将存储器的使用权归还给处理器。上述具直接存储器存取能力的电子系统及其直接存储器存取方法可避免处理器控制DMA电路所需的信号来回传输,从而提高了数据移动的效率。

【技术实现步骤摘要】

本专利技术是有关于一种电子系统及其设计方法,且特别是有关于一种具直接存储器存取(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绘示依照本专利技术较佳实施方式的存取存储器方法流程图。此方法可 在状态机电路及/或具有对应固件的电路中来达成。首先,在步骤本文档来自技高网
...

【技术保护点】
一种具直接存储器存取能力的电子系统,包括:存储器元件;处理器,用以通过设定所述的存储器元件的元件选择信号,以存取所述的存储器元件;以及直接存储器存取元件,用以当所述的直接存储器存取元件通过检测所述的元件选择信号得知所述的处理器并未存取所述的存储器元件时,执行等待队列的直接存储器存取操作以存取所述的存储器元件,以及当所述的直接存储器存取元件通过检测所述的元件选择信号得知所述的处理器正试图来存取所述的存储器元件时,暂停所述的直接存储器存取操作。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:康欣佑吴正鼎
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1