首页> 中国专利> 在至少一个直接存储器存取外围装置与以正交时钟操作的中央处理单元之间共享单端口静态随机存取存储器的带宽

在至少一个直接存储器存取外围装置与以正交时钟操作的中央处理单元之间共享单端口静态随机存取存储器的带宽

摘要

一种双重或三重存取接口(例如,硬件及软件实施方案),其允许CPU及至少一个DMA外围装置(例如,通用串行总线(USB)DMA引擎)通过协商所述CPU与所述DMA外围装置之间的存取请求而将数据传送于共用单端口SRAM中及/或将数据从所述共用单端口SRAM中传送出,且接着随后形成到所述单端口SRAM的存储器循环以满足所述CPU及所述DMA外围装置两者的存储器存取吞吐量要求。这允许所述CPU及所述至少一个DMA外围装置通过对(例如)两个或三个同时存储器存取请求之间的经准予存取进行时间多路复用而存取所共享的单端口SRAM,因此消除对双重端口存储器的需要。

著录项

  • 公开/公告号CN101911033A

    专利类型发明专利

  • 公开/公告日2010-12-08

    原文格式PDF

  • 申请/专利权人 密克罗奇普技术公司;

    申请/专利号CN200980102043.8

  • 申请日2009-03-03

  • 分类号G06F13/16(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人沈锦华

  • 地址 美国亚利桑那州

  • 入库时间 2023-12-18 01:18:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-07-31

    授权

    授权

  • 2011-03-23

    实质审查的生效 IPC(主分类):G06F13/16 申请日:20090303

    实质审查的生效

  • 2010-12-08

    公开

    公开

说明书

技术领域

本发明涉及数字装置及其存储器存取,且更特定来说,涉及一种在以正交时钟操作的中央处理单元(CPU)与直接存储器存取(DMA)外围装置之间共享单端口静态随机存取存储器(SRAM)的带宽的方式。

背景技术

CPU与高速DMA外围装置可通过耦合到双重端口SRAM而共享存储器,以允许CPU与DMA外围装置在其相应存储器存取期间不需要CPU与DMA外围装置之间的任一类型存储器总线仲裁便可进行独立存取。双重端口SRAM较昂贵且占用比更普遍的单端口SRAM所占用的更大的裸片面积。

发明内容

需要一种在正交时钟上操作的CPU与DMA外围装置之间共享单端口SRAM的带宽的方式。根据本发明的教示内容,双重存取接口(例如,硬件及软件实施方案)将允许CPU及DMA外围装置(例如,通用串行总线(USB)DMA引擎)通过协商所述CPU与所述DMA外围装置之间的存取请求而将数据传送于共用单端口SRAM中及/或将数据从所述共用单端口SRAM中传送出,且接着随后形成到所述单端口SRAM的存储器循环以满足所述CPU及所述DMA外围装置两者的存储器存取吞吐量要求。这允许所述CPU及所述DMA外围装置通过对(例如)两个同时存储器存取请求之间的经准予存取进行时间多路复用而存取所共享的单端口SRAM,因此消除对双重端口存储器的需要。

根据本发明的具体实例性实施例,一种用于在直接存储器存取(DMA)外围装置与以正交时钟操作的中央处理单元(CPU)之间共享单端口静态随机存取存储器(SRAM)的带宽的设备,所述设备可包括:中央处理单元(CPU),其具有第一存储器接口;直接存储器存取(DMA)外围装置,其具有第二存储器接口;单端口静态随机存取存储器(SRAM),其具有第三存储器接口;及双重存取接口,其具有第四、第五及第六存储器接口,其中所述第四存储器接口耦合到所述第一存储器接口,所述第五存储器接口耦合到所述第二存储器接口,且所述第六存储器接口耦合到所述第三存储器接口,借此所述双重存取接口使所述CPU能够在针对所述单端口SRAM的DMA事务期间执行针对所述单端口SRAM的读取、写入及读取-修改-写入事务。所述设备还可具有第二DMA外围装置,所述第二DMA外围装置通过三重存取接口以类似于前述DMA外围装置的方式操作,所述三重存取接口具有用于所述第二DMA外围装置的额外存储器接口。

附图说明

通过结合附图参照下文说明可获取对本发明的更全面理解,附图中:

图1是耦合到中央处理单元(CPU)及直接存储器存取(DMA)外围装置的现有技术双重端口静态随机存取存储器(SRAM)的示意性框图;

图2是根据本发明的具体实例性实施例通过双重存取接口耦合到中央处理单元(CPU)及直接存储器存取(DMA)外围装置的单端口静态随机存取存储器(SRAM)的示意性框图;

图3是根据图2中所示的具体实例性实施例的双重存取单端口SRAM接口的示意性框图;且

图4是根据图2及3中所示的本发明具体实例性实施例CPU在DMA循环期间执行读取-修改-写入的时序图;

图5是根据本发明的另一具体实例性实施例通过三重存取接口耦合到中央处理单元(CPU)以及第一及第二直接存储器存取(DMA)外围装置的单端口静态随机存取存储器(SRAM)的示意性框图;及

图6是根据图5中所示的具体实例性实施例的三重存取单端口SRAM接口的示意性框图。

尽管本发明易于做出各种修改及替代形式,但在图式中已显示并在本文中详细地描述其具体实例性实施例。然而,应理解,本文对具体实例性实施例的说明并非打算将本发明限定于本文所揭示的特定形式,而是相反,本发明打算涵盖所附权利要求书所界定的所有修改及等效形式。

具体实施方式

现在参照所述图式,其示意性地图解说明实例性实施例的细节。图式中,相同的元件将由相同的编号表示,且相似的元件将由带有不同小写字母后缀的相同编号表示。

参照图1,其是耦合到中央处理单元(CPU)及直接存储器存取(DMA)外围装置的现有技术双重端口静态随机存取存储器(SRAM)的示意性框图。双重端口SRAM102具有两个读取/写入接口104a及104b。一个读取/写入接口104a通过存储器总线106耦合到CPU 108。另一读取/写入接口104b通过存储器总线110耦合到DMA外围装置112。具有两个读取/写入接口104允许CPU 108及DMA外围装置112不必经历存储器总线仲裁便进行对双重端口SRAM 102的存取。然而,双重端口SRAM 102较昂贵且比单端口RAM需要更多的裸片面积。

参照图2,其描绘根据本发明的具体实例性实施例通过双重存取接口耦合到中央处理单元(CPU)及直接存储器存取(DMA)外围装置的单端口静态随机存取存储器(SRAM)的示意性框图。双重存取接口214用于将CPU 108及DMA外围装置112耦合到单端口SRAM 202的读取/写入接口204。CPU 108通过数据及地址总线106耦合到双重存取接口214。DMA外围装置112通过数据及地址总线110耦合到双重存取接口214。双重存取接口214通过数据及地址总线216耦合到单端口SRAM 202。因此,CPU 108及DMA外围装置112不必经历在使用通常共享的地址及数据总线的情况下将需要的总线仲裁便可各自存取单端口SRAM 202。由于单端口SRAM 202不那么昂贵且比双重端口SRAM需要更少的裸片面积,因此其在大多数应用中使用是更合乎需要的。数据及地址总线106、110及216通常为并行总线,然而,涵盖以下情况且其在本发明的范围内:这些总线可以是串行总线或者一些是串行总线而另一些是并行总线。

参照图3,其描绘根据图2中所示的具体实例性实施例的双重存取单端口SRAM接口的示意性框图。双重存取接口214可包括事务指示器320、DMA循环产生器322、CPU循环产生器324及数据/地址路径逻辑326。适当地址、数据及控制信号可耦合到CPU 108及DMA外围装置112,使得每一者可视需要通过双重存取接口214独立地存取单端口SRAM 202。存储器介接领域的技术人员在获益于本发明的教示内容时可容易明了用于双重存取接口214的其它电路实施方案。

下文是对根据本发明的图2及3中所示的具体实例性实施例的双重存取接口214的操作的简要概述。图4描绘CPU 108在DMA循环期间执行读取-修改-写入的时序图。

读取事务

当CPU 108向双重存取接口214发出读取事务时,双重存取接口214可等待一个存储器循环然后才产生到单端口SRAM 202的读取循环,而单端口SRAM 202又在已完成存储器存取时间之后提供读取数据。接着,双重存取接口214可继续锁存读取数据,从而空出总线216且同时使得所述数据可为CPU 108所用。注意,总线106及216可由CPU 108的读取事务占用达恰好一个存储器循环-其中断定读取选通及地址的第二循环。

对于在时钟周期结束之前的剩余循环(参见图4的cpu_clk),单端口SRAM 202可用于由双重存取接口214存取。注意,由于CPU 108具有较高优先级,因此对应的CPU读取循环在事务边界内的相同相对时间发生,而不论DMA外围装置112的请求如何。当双重存取接口214在总线216上发出存储器读取事务时,双重存取接口214等待一个循环以允许总线216稳定的时间。如果总线216的地址线未正被使用,那么双重存取接口214可为DMA形成到总线216上的对应循环。否则,其通过使总线110上的dma_ready信号的断定延迟而保持等待。注意,双重存取接口214还可锁存读取数据同时使得所述数据可在总线110上为DMA外围装置112所用。

写入事务

当CPU 108产生写入事务时,其预期直到时钟周期结束才会完成(参见图4的cpu_clk)。双重存取接口214同样等待达一个存储器循环以允许总线216稳定的时间且随后在第四循环中形成到单端口SRAM 202的对应写入循环,从而完成CPU 108的写入事务。

如果DMA外围装置112发出存储器事务,那么使DMA外围装置112等待一个循环。接着,如果存储器地址总线216未在使用中,那么双重存取接口214形成到单端口SRAM 202的对应循环,从而完成DMA外围装置112的请求。此可意味着如果CPU 108及DMA外围装置112两者同时开始其事务,那么将允许DMA外围装置112较早地完成。

读取-修改-写入事务

当CPU 108发出读取-修改-写入事务时,双重存取接口214将其分成两个存储器循环,即一个读取循环及一个写入循环。注意,双重存取接口214在循环3开始时将读取数据提供回到CPU 108。基于所述读取数据,CPU 108计算双重存取接口214的写入数据以在循环4结束时形成并完成到单端口SRAM 202的写入循环。

相同原理适用于DMA外围装置112的请求,如在本文中所论述的其它情况中一样。双重存取接口214等待至少一个循环然后才形成到单端口SRAM 202的对应存储器循环。

然而,所述双重存取接口等待直到CPU的读取-修改-写入事务完成为止,然后其才形成由所述DMA外围装置请求的存储器读取循环,如图4中所示。这最小化系统内的信号切换,以在所述双重存取接口能够跟上来自正被服务的CPU及DMA外围装置两者的存储器存取需求时节省电力。对于具有较高带宽需求的DMA外围装置,所述双重存取接口可经修改以允许存储器存取循环满足读取-修改-写入事务的读取循环与写入循环之间中的DMA请求。这允许当前DMA事务较早地完成,因此使所述DMA外围装置能够存取较多存储器循环。此外,对于具有两个DMA外围装置的此类系统,可给所述双重存取接口添加额外DMA端口,其将适应三个存储器需求代理;即,CPU、DMA1外围装置及DMA2外围装置,参见图5及6。

事务产生器

双重存取接口214执行三个接口的功能。双重存取接口214用作响应于来自CPU108及DMA外围装置112的请求的从控器且用作单端口SRAM 202的主控器。双重存取接口214通过管理其从控接口的控制信号以找出可用带宽且随后以通道方式传输来往于单端口SRAM 202的数据而处置来自CPU 108及DMA外围装置112的请求。

事务监视

事务指示器320可用于监视并指示CPU 108何时开始其存储器事务。这允许双重存取接口214形成适当存储器循环以完成CPU 108的存储器事务且随后提供信号以避免与来自DMA外围装置112的存储器事务的争用。注意,事务指示器320可处置各种时钟频率(参见图4的cpu_clk)。

此外,事务指示器320可负责检测其中CPU 108的时钟停止切换的空闲模式。实际上,这使得全部存储器带宽可为DMA外围装置112所用。

CPU存储器循环产生器

当被事务指示器320用信号通知时,CPU循环产生器324产生所必需的控制信号以基于CPU 108的请求形成存储器循环。同时,CPU循环产生器324用信号通知双重存取接口214的其它组件部分其进展情况。其还可经设计以锁存来自单端口SRAM 202的读取数据以便空出存储器总线216。

DMA循环产生器

借助关于CPU事务的边界及其活动的知识,DMA循环产生器322基于来自DMA外围装置112的请求形成存储器循环。由于DMA循环产生器322还负责避免与来自CPU的请求的存储器循环的争用,因此其向DMA外围装置112指示其何时准备好完成事务。

数据路径管理

双重存取接口214的数据/地址路径逻辑326负责分别基于来自CPU及DMA循环事务产生器324及322的控制信号而引导及/或缓冲所有三个总线接口中的数据。到单端口SRAM 202的总线216上的输出地址仅等于来自所述CPU或所述DMA的总线106或110上的输入地址(取决于在存储器存取中分别给出CPU或DMA循环事务产生器324或322中的哪一者)。

从产生器的输出获得输出到存储器的读取及写入选通。由于一次可仅发生一个类型的循环(即,读取或写入),因此读取选通仅为来自两个产生器322及324的读取指示符的逻辑“或”。相同原理可适用于写入选通。

在一个时钟周期的过程中,可多于一次地读取单端口SRAM 202,从而提供请求代理(即,CPU 108及/或DMA外围装置112)的数据。如所陈述,当CPU 108执行读取时,锁存单端口SRAM 202的对应读取数据且维持所述读取数据直到时钟循环结束为止(参见图4的cpu_clk)。这允许单端口SRAM 202服务于由DMA外围装置112产生的另一读取循环。注意,由于DMA外围装置112可在与CPU 108相同的时钟频率上运行,因此其在可用时取得其数据。然而,也可锁存读取数据以因总线划分而改进时序及节省电力。

注意,CPU 108及DMA外围装置112两者均维持其写入数据直到事务完成为止。这意味着仅需要在分别由CPU及DMA循环事务产生324及322决定的时间将到单端口SRAM 202的输出写入数据总线多路复用到适当源。

参照图5,其描绘根据本发明的另一具体实例性实施例通过三重存取接口耦合到中央处理单元(CPU)以及第一及第二直接存储器存取(DMA)外围装置的单端口静态随机存取存储器(SRAM)的示意性框图。三重存取接口514用于将CPU 108、第一DMA外围装置112a及第二DMA外围装置112b耦合到单端口SRAM 202的读取/写入接口204。CPU 108通过数据及地址总线106耦合到三重存取接口514。DMA外围装置112a通过数据及地址总线110耦合到三重存取接口514。DMA外围装置112b通过数据及地址总线510耦合到三重存取接口514。三重存取接口514通过数据及地址总线216耦合到单端口SRAM 202。因此,CPU 108以及DMA外围装置112a及112b不必经历在使用通常共享的地址及数据总线的情况下将需要的总线仲裁便可各自存取单端口SRAM 202。由于单端口SRAM 202不那么昂贵且比双重端口SRAM需要更少的裸片面积,因此其在大多数应用中使用是更合乎需要的。数据及地址总线106、110、510及216通常为并行总线,然而,涵盖以下情况且其在本发明的范围内:这些总线可以是串行总线或者一些是串行总线而另一些是并行总线。

参照图6,其描绘根据图5中所示的具体实例性实施例的三重存取单端口SRAM接口的示意性框图。三重存取接口514可包括事务指示器320、DMA循环产生器322、CPU循环产生器324及数据/地址路径逻辑326。适当地址、数据及控制信号可耦合到CPU 108及DMA外围装置112a及112b,使得每一者可视需要通过三重存取接口514独立地存取单端口SRAM 202。存储器介接领域的技术人员在获益于本发明的教示内容时可容易明了用于三重存取接口514的其它电路实施方案。

根据本发明的图5及6中所示的具体实例性实施例的三重存取接口514的操作类似于上文中所描述的双重存取接口214的操作。

涵盖以下情况且其在本发明的范围内:可将CPU 108与双重存取接口214或三重存取接口514制作于单个集成电路裸片(未图示)上。也可将DMA外围装置112、DMA外围装置512及/或单端口SRAM 202制作到相同集成电路裸片(未图示)上。所述CPU可以是例如微控制器、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑阵列(PLA)、芯片上系统(SOC)等数字处理器的一部分。涵盖以下情况且其在本发明的范围内:DMA外围装置112及/或DMA外围装置512可以是DMA接口,例如,以太网接口、通用串行总线(USB)接口、火线接口等。

尽管已参照本发明的实例性实施例来描绘、描述及界定本发明的实施例,但此参照并不意味着对本发明的限定,且不应推断出存在此限定。所揭示的标的物能够在形式及功能上做出大量修改、改动和等效形式,所属领域的技术人员在获益于本发明之后会联想到这些修改、改动和等效形式。所描绘及所描述的本发明实施例仅作为实例,而并非是对本发明范围的穷尽性说明。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号