[发明专利]一种访问存储器的方法、系统和总线仲裁装置有效
申请号: | 200910087728.1 | 申请日: | 2009-06-19 |
公开(公告)号: | CN101692212A | 公开(公告)日: | 2010-04-07 |
发明(设计)人: | 林川 | 申请(专利权)人: | 北京中星微电子有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16;G06F13/18 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100083 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 访问 存储器 方法 系统 总线 仲裁 装置 | ||
技术领域
本发明涉及数据通信技术领域,特别是涉及一种访问存储器的方法、系统和总线仲裁装置。
背景技术
片上集成系统(SoC,System on Chip)存在多个功能模块需要访问存储器,如处理器,硬件加速器等功能模块。系统的存储器包括片外存储器,如同步动态随机存储器(SDRAM,Synchronous Dynamic Random AccessMemory),双倍数据速率(DDR,Double Data Rate)存储器,NOR存储器;同时为了方便各个功能模块之间的通讯,还可能有片内共享存储器,如ROM,静态随机存储器(SRAM,Static Random Access Memory)。
处理器和其他功能模块各自独立运行,根据需要访问各类存储器。所以每一种存储器有可能同时被多个功能模块访问,但是根据存储器的物理特性,大容量的存储器一般只允许同一时刻由一个功能模块进行读写访问。所以存储器的访问需要通过总线仲裁装置根据一定的选择策略,将存储器的访问权限授予某一个功能模块的访问请求,同时临时挂起其他功能模块的访问请求,直到所有处理完所有访问请求。
现有技术的一种访问存储器的系统如图1所示,包括N个功能模块、总线仲裁装置、多个存储器和连接总线仲裁装置及相应N个功能模块的N路总线。其中,各个存储器需要独立的总线仲裁装置来决定同一时刻允许哪个功能模块进行访问。每个功能模块都有自己预先设置好的优先级,总线仲裁装置根据各个功能模块的优先级,选择出最高优先级的功能模块使之取得访问权,再将该存储器的总线切换到与取得访问权的功能模块相对应的总线上,所述功能模块对该存储器进行访问。
传统的总线仲裁装置的设计,是通过一个树形比较器,比较N个功能模块的优先级,输出最高优先级功能模块的序号,再根据该功能模块序号控制N选一的多选器来选择存储器的总线,使存储器的总线切换到取得访问权的 最高优先级功能模块的总线上。
其中,树形比较器的工作原理是:第一级相邻功能模块优先级两两相互比较,得到N/2个比较结果,作为第二级。第二级也是相邻功能模块优先级两两相互比较,得到N/4个比较结果,作为第三级,依次类推,直到得到唯一的结果,即得到最高优先级功能模块的序号。所以树形比较器的级数是log2(N)。每一级比较器至少需要一个异或门,所以需要log2(N)级异或门的延迟。在多选器中,最高优先级功能模块的序号作为多选器的选择端,各个功能模块对应的总线作为多选器的输入端,存储器的总线作为多选器的输出端,则多选器根据树形比较器选择出的最高优先级功能模块的序号切换存储器的总线,使存储器的总线切换到取得访问权的功能模块的总线上。
在复杂的SoC中,并行处理功能模块越来越多,系统频率越来越高,对总线的仲裁切换电路的要求也需要提高。例如,在总线时钟频率大于125MHz的情况下,需要得到8ns以内的延迟。现有技术的设计在N大于16,优先级位数大于5时,很难综合得到8ns以内的延迟。因此总线仲裁切换电路速度的提升成为提高系统频率时解决的关键问题和设计难点。
总之,目前需要本领域技术人员解决的问题就是:缩短总线仲裁切换电路的延迟,提高总线仲裁切换电路的速度,使总线仲裁切换电路能够广泛适用于各种SoC芯片,满足多种条件的需要。
发明内容
本发明所要解决的技术问题是提供一种访问存储器的方法、系统和总线仲裁装置,以提高总线仲裁切换电路的速度,解决总线仲裁切换电路的速度和系统频率相适应的问题。
为了解决上述问题,本发明公开了一种访问存储器的方法,包括:
对访问存储器的N个功能模块的优先级进行比较,获得表示最高优先级功能模块的位置信息;所述位置信息是N位的二进制代码,其中第K位为1,代表功能模块K具有最高优先级;
通过将所述位置信息与每个功能模块的总线信息进行逻辑运算,将访问所述存储器的功能模块的总线切换到最高优先级功能模块;
其中,所述对访问存储器的N个功能模块的优先级进行比较具体包括:
按照比较策略分别对每一个功能模块与其它功能模块的优先级进行比较,对应每个功能模块分别产生由N-1位二进制代码表示的中间比较结果,其中每一位代表该功能模块与其它功能模块的优先级比较结果;
对于每一个功能模块,将中间比较结果的各个位进行与运算,得到由1位二进制代码表示的运算结果,所述N个功能模块的运算结果按照对应功能模块序号的顺序组成表示最高优先级功能模块的位置信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910087728.1/2.html,转载请声明来源钻瓜专利网。