首页> 中国专利> 直接访问存储装置及直接访问存储操作方法

直接访问存储装置及直接访问存储操作方法

摘要

本发明公开了一种直接访问存储装置。将知识产权核、直接访问存储控制器、数据缓存器、缓存器控制器、先进微控制器总线结构主接口以及先进微控制器总线结构从接口集成,使得知识产权核能够直接访问存储操作先进微控制器总线上的设备。本发明还公开了一种直接访问存储操作方法:知识产权核通过总线从接口获取系统信号并初始化,直接访问存储控制器接收知识产权核提供的操作信息来驱动总线主接口上进行的总线传输,并根据总线主接口的反馈来控制直接访问存储传输的进行或终止,并将最终的操作结果通知知识产权核。本发明结构简单且面积较小、不破坏总线结构,并且能够通过总线直接与总线上的设备实现高效率直接访问存储的数据传输。

著录项

  • 公开/公告号CN101196859A

    专利类型发明专利

  • 公开/公告日2008-06-11

    原文格式PDF

  • 申请/专利号CN200610119052.6

  • 发明设计人 李石;沈强;

    申请日2006-12-04

  • 分类号G06F13/28(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人逯长明

  • 地址 201203 上海市浦东新区张江路18号

  • 入库时间 2023-12-17 20:15:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-12-21

    专利权的转移 IPC(主分类):G06F13/28 变更前: 变更后:

    专利申请权、专利权的转移

  • 2010-05-12

    授权

    授权

  • 2008-08-06

    实质审查的生效

    实质审查的生效

  • 2008-06-11

    公开

    公开

说明书

技术领域

本发明涉及直接访问存储(DMA,Direct Memory Access),特别涉及一种具有嵌入式直接访问存储控制器(DMAC,Direct Memory Access Controller)结构的装置及其在先进微控制器总线结构(AMBA,Advanced Microcontroller BusArchitecture)中的应用。

背景技术

在片外总线系统中,直接访问存储广泛应用于各个领域,如在外设部件互连标准(PCI,Peripheral Component Interconnect)总线结构中硬盘设备和系统存储器间的应用。在片上系统(SOC,System on chip)中,为了能够重复使用知识产权核,设计人员通常将知识产权核与标准的总线集成,例如先进微控制器总线。所述知识产权核是应用于片上系统中,经验证过的具备特定功能的逻辑块,例如USB控制器、MP3解码器。在先进微控制器总线的说明书中定义了核心模块的功能和各模块之间的接口、时序关系,但没有定义直接访问存储控制器的结构。为了完成知识产权核之间的直接访问存储数据传输,由此产生了各种不同的基于先进微控制器总线结构的直接访问存储控制器。有的直接访问存储控制器过于简单难以满足设计需求,有的又过于复杂而使得操作过程繁琐、功耗加大,有的则仅仅是为特殊总线结构和应用定制并且扩展性很差,还有的直接访问存储控制器甚至会额外增加先进微控制器总线结构所没有定义的控制信号以及它本身同先进微控制器总线的时序和功能关系,因此破坏了先进微控制器总线结构。面对这些情况,设计人员不得不耗费时间挑选可用的直接访问存储控制器,然后根据选定的直接访问存储控制器,为知识产权核额外设计接口及控制运行的方法来满足设计要求。

Synopsys公司2005年12月14日的DesignWare DW_ahb_dmac Databookversion 2.07a中公开了一种基于先进微控制器总线结构的中央直接访问存储控制器,应用于含有多个知识产权核并且知识产权核间直接访问存储数据传输较多的系统中。直接访问存储控制器通过内部仲裁器确定直接访问存储操作的源设备,通过数据缓存器接收源设备的数据暂存,再通过内部仲裁器确定直接访问存储的目标设备,从数据缓存器中读取源设备数据向目标设备传输。通过这样的方法来高效地处理最多16个知识产权核之间的直接访问存储数据传输。但是对于现今大多数内部模块功能复杂并且模块功能划分良好的片上系统,各个模块间只存在着不多的直接访问存储数据传输,因此Synopsys公司所公开的中央直接访问存储控制器并不能有效地适用于这种系统的总线,其不足之处在于:

1.中央直接访问存储控制器是为处理多个知识产权核间直接访问存储数据传输设计,因此结构复杂,导致芯片面积增大,芯片成本增加;

2.中央直接访问存储控制器运行需要设计人员为知识产权核定制不同的总线接口来进行数据传输,因而会破坏总线结构;

3.中央直接访问存储控制器的结构与处理直接访问存储操作的方法决定了总线设备之间无法直接进行数据传输,使直接访问存储操作效率降低。

发明内容

本发明所要解决的技术问题是为了避免因为使用中央直接访问存储控制器而使得总线设备之间的直接访问存储操作效率降低并且破坏总线结构。

为解决上述问题,本发明将知识产权核、直接访问存储控制器、先进微控制器总线结构主接口和先进微控制器总线结构从接口集成来构成可以完成直接访问存储功能的装置。下面对于本发明直接访问存储装置的各个组成部件作一一介绍:

先进微控制器总线结构从接口,与总线相连,用于接收并传输CPU通知知识产权核进行直接访问存储操作的系统信号;

知识产权核,接收并根据系统信号发送直接访问存储操作请求信号和操作信息;接收直接访问存储器的反馈和通知信号;

直接访问存储控制器,接收并根据直接访问存储操作请求信号和操作信息,发送总线数据传输的启动指令、驱动信息;接收并根据先进微控制器总线结构主接口反馈的传输失败信息发送总线数据传输终止指令;接收并发送内部数据或接收外部数据;通知知识产权核直接访问存储操作成功或失败;

先进微控制器总线结构主接口,与总线相连,接收启动指令和驱动信息启动与总线的数据传输并反馈直接访问存储控制器;接收终止指令终止与总线的数据传输,并将从总线接收的外部数据传输给直接访问存储控制器;将直接访问存储控制器发送的内部数据发送至总线。

相应地,本发明还采用了一种直接访问存储操作的方法,包括以下步骤:CPU向知识产权核发送系统信号通知进行直接访问存储操作;知识产权核向直接访问存储控制器发送直接访问存储请求信号及操作信息;直接访问存储控制器接收直接访问存储请求信号及操作信息并向知识产权核反馈;知识产权核接收反馈并处置请求信号;直接访问存储控制器根据接收的操作信息向先进微控制器总线结构主接口发送启动指令和驱动信息;先进微控制器总线结构主接口接收启动指令和驱动信息启动直接访问存储的总线数据传输,从总线接收外部数据传输给直接访问存储控制器或从直接访问存储控制器接收内部数据发送至总线,并将总线数据传输过程反馈给直接访问存储控制器;直接访问存储控制器根据接收的反馈保持总线数据传输的继续进行或者向先进微控制器总线结构主接口发送终止指令停止总线数据传输并通知知识产权核直接访问存储操作失败;当总线数据传输完成后,先进微控制器总线结构主接口通知直接访问存储控制器总线数据传输完成,直接访问存储控制器通知知识产权核直接访问存储操作成功。

与现有技术相比,本发明具有以下优点:

1.本发明直接访问存储装置通过将知识产权核、直接访问存储控制器、先进微控制器总线结构主接口和先进微控制器总线结构从接口集成来构成可以完成直接访问存储功能的装置,无需经过中央直接访问存储控制器,并且剔除了中央直接访问存储控制器的内部仲裁器,因此面积较小,降低了芯片成本;

2.从本发明直接访问存储操作方法可以看到,直接访问存储操作中知识产权核与总线设备的数据传输都统一通过先进微控制器总线结构主接口在总线上完成并且采用标准的总线传输,因此不破坏总线结构;

3.从本发明直接访问存储操作方法中还可以看到,直接访问存储操作所传输数据通过总线仅仅在本发明直接访问存储装置和总线设备之间直接传输而无需经过中央直接访问存储控制器,因此直接访问存储操作效率提高。

附图说明

图1本发明直接访问存储装置在先进高性能总线或先进系统总线上作为源设备的示意图;

图2本发明直接访问存储操作方法流程图;

图3本发明直接访问存储操作方法涉及的信号流向图;

图4本发明直接访问存储操作方法的相关信号时序图;

图5本发明直接访问存储装置的进一步扩展结构图。

具体实施方式

本发明直接访问存储装置通过将知识产权核1、直接访问存储控制器5、数据缓存器3、缓存器控制器4、先进微控制器总线结构主接口6和先进微控制器总线结构7从接口集成在一起。使知识产权核1能够通过先进高性能总线(AHB,Advanced High-performance Bus)直接与总线上的设备实现直接访问存储数据传输操作。

如图1所示,本发明直接访问存储装置(未标号)包括:

先进微控制器总线结构从接口7,与总线相连,用于接收并传输CPU通知知识产权核1进行直接访问存储操作的系统信号;

知识产权核1,接收并根据系统信号发送直接访问存储操作请求信号和操作信息;接收直接访问存储器5的反馈和通知信号;

直接访问存储控制器5,接收并根据直接访问存储操作请求信号和操作信息,发送总线数据传输的启动指令、驱动信息;接收并根据先进微控制器总线结构主接口6反馈的传输失败信息发送总线数据传输终止指令;接收并发送内部数据或接收外部数据;通知知识产权核1直接访问存储操作成功或失败;

先进微控制器总线结构主接口6,与总线相连,接收启动指令和驱动信息启动与总线的数据传输并反馈直接访问存储控制器5;接收终止指令终止与总线的数据传输,并将从总线接收的外部数据传输给直接访问存储控制器5;将直接访问存储控制器5发送的内部数据发送至总线。

本发明直接访问存储装置还可以包括数据缓存器3,存储直接访问存储操作的外部数据或内部数据。缓存器控制器4,采用多路器实现,用于将直接访问存储控制器5接收的外部数据写入数据缓存器或读取数据缓存器3存储的内部数据传输给直接访问存储控制器5。当然,本发明直接访问存储装置并不需要依赖数据缓存器3和缓存控制器4来实现直接访问存储功能,增加这两个部件只是为了使得直接访问存储操作过程对于内部数据和外部数据的保存和处理更加方便。

所述知识产权核1还可以包括寄存器群2,用于存储先进微控制器总线结构从接口7传送的系统信号和知识产权核1产生的操作信息。通过在知识产权核中加入寄存器群使知识产权核接收的系统信号和产生的操作信息信号分类更加明确。

所述直接访问存储控制器5包括与知识产权核1的接口模块(未显示)、与先进微控制器总线结构主接口6的接口模块(未显示)、与缓存器控制器4的接口模块(未显示)以及内部功能模块(未显示)。其中各接口模块负责与相应部件的信号传输,例如与缓存器控制器4的接口模块负责直接访问存储控制器5与缓存控制器4的数据信号传输。而内部功能模块完成指令发送和接收功能,例如接收知识产权核1的请求信号发出反馈信号通过与知识产权核1的接口模块传输到知识产权核1。

所述系统信号包括设备状态信号和设备地址信号,其中设备状态信号包括源设备状态信号或目标设备状态信号,表示源设备或目标设备对于直接访问存储是否可用;设备地址信号包括源设备地址信号或目标设备地址信号,表示直接访问存储操作的源设备或目标设备地址。

所述操作信息包括读写状态、传输数据大小、源设备地址信号基及目标设备地址信号基。

所述驱动信息包括读写状态、传输数据大小、传输类型、当前传输状态、源设备地址和目标设备地址。

所述内部数据为知识产权核要向总线上设备传送的数据。

所述外部数据为先进微控制器总线结构主接口从总线上接收的总线设备传送的数据。

图2为本发明直接访问存储操作的方法,包括:CPU向知识产权核发送系统信号通知进行直接访问存储操作;知识产权核向直接访问存储控制器发送直接访问存储请求信号及操作信息;直接访问存储控制器接收直接访问存储请求信号及操作信息并向知识产权核反馈;知识产权核接收反馈并处置请求信号;直接访问存储控制器根据接收的操作信息向先进微控制器总线结构主接口发送启动指令和驱动信息;先进微控制器总线结构主接口接收启动指令和驱动信息启动直接访问存储的总线数据传输,从总线接收外部数据传输给直接访问存储控制器或从直接访问存储控制器接收内部数据发送至总线,并将总线数据传输过程反馈给直接访问存储控制器;直接访问存储控制器根据接收的反馈保持总线数据传输的继续进行或者向先进微控制器总线结构主接口发送终止指令停止总线数据传输并通知知识产权核直接访问存储操作失败;当总线数据传输完成后,先进微控制器总线结构主接口通知直接访问存储控制器总线数据传输完成,直接访问存储控制器通知知识产权核直接访问存储操作成功。

下面结合图2和图3分别对于读和写两种直接访问存储操作详细阐述。

写操作中,CPU10通知总线仲裁器8指定本发明直接访问存储装置为直接访问存储操作的源设备,总线设备11作为直接访问存储的目标设备。包括下列步骤:

步骤21,CPU产生系统信号包括目标设备状态信号Opposite_IP_ready以及目标设备地址信号基External_base_addr向知识产权核发送来通知知识产权核进行直接访问存储操作,对于Opposite_IP_ready信号,如果值为“0”,则表示目标设备还不可访问;如果值为“1”,则表示目标设备可访问,此处为“1”,知识产权核内的寄存器群从先进微控制器总线结构从接口获取这些信号并暂存;

步骤22,知识产权核向直接访问存储控制器发出直接访问存储请求信号DMA_request和直接访问存储操作信息,包括DMA_direction信号,表示与目标设备的读写状态,此处由于是写操作所以为“1”;DMA_size信号,表示与目标设备传输数据的大小;Internal_base_addr信号,表示源设备地址信号基;External_base_addr信号,表示目标设备地址信号基;

步骤23,直接访问存储控制器接收知识产权核发出的直接访问存储请求信号,返回一个反馈信号DMA_acknowledge,同时获取知识产权核发出的直接访问存储操作信息并且将直接访问存储完成信号DMA_end置为无效,发送给知识产权核,其中直接访问存储请求信号由知识产权核的内部时钟控制,反馈信号和直接访问存储完成信号由先进高性能总线产生的时钟控制,具体时序关系如图5所示,其中系统信号sys_clk为先进高性能总线产生时钟,应用信号app_clk为知识产权核内部时钟,我们可以从中看出总线产生的时钟频率要高于知识产权核内部的时钟,为保证反馈信号、直接访问存储完成信号这些信号能被较慢的知识产权核内部时钟采样到,这些信号必须锁存至少几个时钟周期的时间,具体多少个时钟周期由两个时钟的频率倍数关系决定,设计人员可以在直接访问存储控制器中进行配置和选择;

步骤24,如果知识产权核收到直接访问存储控制器的反馈信号,会将请求信号置为无效,否则,会一直保持请求信号值为高直到超时或其他原因才将请求信号置为无效;同时,直接访问存储控制器向先进微控制器总线结构主接口发送启动指令,即联络信号Call_Master,同时根据接受的直接访问存储操作信息,向主接口发送驱动信息包括读写状态信号HWRITE_root,此时HWRITE_root为“1”,表示向目标设备写入数据;传输数据大小信号HSIZE_root,传输类型信号HBURST_root,表示突发传输;当前传输状态信号HTRANS_root,包含不连续,连续,等待,忙碌四种状态,此时为连续状态;源设备地址信号Internal_addr,由直接访问存储控制器在源设备地址信号基Internal_base_addr上加上不超过传输数据大小的偏移量(offset)来构成;目标设备地址信号HADDR,同样由直接访问存储控制器在目标设备地址信号基External_base_addr上加上不超过传输数据大小的偏移量(offset)来构成;

步骤25,先进微控制器总线结构主接口接收启动指令和驱动信息启动直接访问存储的总线数据传输,直接访问存储控制器根据与目标设备的读写状态信号值为“1”得知是与目标设备的写操作,因此通过缓存控制器从数据缓存器中读出内部数据,而先进微控制器总线结构主接口根据驱动信息的读写状态信号HWRITE_root为“1”得知是向目标设备写入数据,因此从直接访问存储控制器接收内部数据写入总线,在向总线写入数据过程中,先进微控制器总线结构主接口会向直接访问存储控制器返回反馈信号,即传输状态响应信号HRESP,包括传输正常OK、传输出错ERROR,若直接访问存储控制器接收到的传输状态响应信号为OK,则会保持先进微控制器总线结构主接口向总线写入数据的继续进行;若直接访问存储控制器接收到的传输状态响应信号为ERROR,直接访问存储控制器会向先进微控制器总线结构主接口发送终止指令停止先进微控制器总线结构主接口向总线写入数据,并向知识产权核发送直接访问存储结果信号DMA_result为failure的信息来表示直接访问存储操作失败;

步骤26,当先进微控制器总线结构主接口向总线写入数据完成后,先进微控制器总线结构主接口通知直接访问存储控制器向总线写入数据完成,直接访问存储控制器向知识产权核发送直接访问存储停止信号DMA_end和直接访问存储结果信号DMA_result为success的信息表示直接访问存储操作成功,它与DMA_end由相同的时钟控制,也需要锁存若干个时钟周期以保证能被知识产权核内部时钟采样到。

读操作中,CPU10向总线仲裁器8发送信号指定本发明直接访问存储装置为直接访问存储操作的源设备,总线设备11作为直接访问存储的目标设备。读操作与写操作的步骤类似,包括以下步骤:

步骤21,CPU产生系统信号包括目标设备状态信号Opposite_IP_ready以及目标设备地址信号基External_base_addr向知识产权核发送来通知知识产权核进行直接访问存储操作,此时Opposite_IP_ready值为“1”,表示目标设备可访问,知识产权核内的寄存器群从先进微控制器总线结构从接口获取这些信号并暂存;

步骤22,知识产权核向直接访问存储控制器发出直接访问存储请求信号DMA_request和直接访问存储操作信息,包括DMA_direction信号为“0”,表示与目标设备的读操作;表示与目标设备传输数据大小的;DMA_size信号;表示源设备地址信号基的Internal_base_addr信号;表示目标设备地址信号基的External_base_addr信号;

步骤23,直接访问存储控制器接收知识产权核发出的直接访问存储请求信号,返回一个反馈信号DMA_acknowledge,同时获取知识产权核发出的直接访问存储操作信息并且将直接访问存储停止信号DMA_end置为无效,发送给知识产权核;

步骤24,如果知识产权核收到直接访问存储控制器的反馈信号,会将请求信号置为无效,否则,会一直保持请求信号值为高直到超时或其他原因才将请求信号置为无效;同时,直接访问存储控制器向先进微控制器总线结构主接口发送启动指令,即联络信号Call_Master,同时根据接受的直接访问存储操作信息,向主接口发送驱动信息包括读写状态信号HWRITE_root,此时HWRITE_root为“0”,表示从目标设备读取数据;传输数据大小信号HSIZE_root,传输类型信号HBURST_root,表示突发传输;当前传输状态信号HTRANS_root,包含不连续,连续,等待,忙碌四种状态,此时为连续状态;源设备地址信号Internal_addr,由直接访问存储控制器在源设备地址信号基Internal_base_addr上加上不超过传输数据大小的偏移量(offset)来构成;目标设备地址信号HADDR,同样由直接访问存储控制器在目标设备地址信号基External_base_addr上加上不超过传输数据大小的偏移量(offset)来构成;

步骤25,先进微控制器总线结构主接口接收启动指令和驱动信息启动直接访问存储的总线数据传输,直接访问存储控制器根据与目标设备的读写状态信号值为“0”得知是与目标设备的读操作,因此直接访问存储控制器处于等待接收先进微控制器总线结构主接口传送数据的状态,而先进微控制器总线结构主接口根据驱动信息的读写状态信号HWRITE_root为“0”得知是从目标设备读取数据,因此从总线读取外部数据传送给直接访问存储控制器,直接访问存储控制器接收外部数据,通过缓存控制器向数据缓存器写入外部数据,在从总线读取数据过程中,先进微控制器总线结构主接口会向直接访问存储控制器返回传输状态响应信号HRESP,若直接访问存储控制器接收到的传输状态响应信号为OK,则会保持先进微控制器总线结构主接口读取外部数据的继续进行;若直接访问存储控制器接收到的传输状态响应信号为ERROR,直接访问存储控制器会向先进微控制器总线结构主接口发送终止指令停止先进微控制器总线结构主接口读取外部数据,并向知识产权核发送直接访问存储结果信号DMA_result为failure的信息来表示直接访问存储操作失败;

步骤26,当先进微控制器总线结构主接口读取外部数据完成后,先进微控制器总线结构主接口通知直接访问存储控制器读取外部数据完成,而当直接访问存储控制器通过缓存控制器向数据缓存器写入外部数据完成后,直接访问存储控制器向知识产权核发送直接访问存储停止信号DMA_end和直接访问存储结果信号DMA_result为success的信息表示直接访问存储操作成功。

从以上两个实施方式可以看出,通过对本发明直接访问存储装置结构的进一步优化,增加数据缓存器来实现内部数据和外部数据的存储,增加缓存控制器来实现对数据缓存器的读写使得直接访问存储操作过程对于内部数据和外部数据的保存和处理更加方便。通过在知识产权核中加入寄存器群使知识产权核接收和产生的信号分类更加明确。

同样地,通过本发明直接访问存储操作方法的进一步具体化,对于系统信号、操作信息和驱动信息状态的细致划分使得操作过程条理更清楚,每一步的操作目的也更明确。

更进一步,为了使结构更加完整,本发明直接访问存储装置还可以如图5所示增加先进微控制器总线结构从接口7与缓存控制器4的信号通道来实现CPU通过先进微控制器总线结构从接口7和缓存控制器4对数据缓存器3的读写操作的功能;增加寄存器群2向先进微控制器总线结构从接口7的信号通道来实现知识产权核通过先进微控制器总线结构从接口7通知CPU进行中断操作,刷新CPU状态的功能以及增加知识产权核1与缓存控制器4的信号通道来实现知识产权核与缓存控制器的数据联络。但以上结构的补充增加并不是完成直接访问存储操作所必需的。

综上所述,本发明直接访问存储装置通过将知识产权核、直接访问存储控制器、先进微控制器总线结构主接口和先进微控制器总线结构从接口集成,使得知识产权核能够通过先进高性能总线直接与总线上的设备实现直接访问存储操作。再通过本发明直接访问存储操作方法在先进高性能总线上较高效率地实现所述的直接访问存储操作。本领域的技术人员可以在本发明描述的基础上较方便地对应用做出扩展,例如,本发明中所述的总线设备可以是具有本发明装置结构的设备或者是存储器。同样地,本领域的技术人员也可以很容易得到本发明适用于先进系统总线(ASB,Advanced System Bus)的结论。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号