- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sdram访问控制机制研究
0 sdram性能优化
随着寺院容量和性能要求的增加,越来越多的嵌入式系统使用sdram检测器作为主要存储器。由于SDRAM访问时序的复杂性,必须采用专门的SDRAM控制器作为CPU与SDRAM的接口。在一些单片机和DSP中,往往没有SDRAM控制器,此时多采用FPGA实现SDRAM控制器,这些SDRAM控制器往往只实现SDRAM命令的一个子集,采用整行读取的方式访问SDRAM,虽然能够实现对SDRAM的正确访问,但不能完全发挥SDRAM存储器的性能优势。还有一些研究,针对数字信号处理,尤其是图像处理中存储器访问的特征,通过优化存储空间分配,调整访问时序的方法,大幅度提高存储器的性能,但这种策略仅限于信号处理系统,并不适用于控制系统等应用场合,在这些系统中,存储器的访问同时具有局部性和随机性的特征。而另外的一些研究,通过优化SDRAM访问时序,减少换页的次数,来达到减少功耗,或者提高性能的目的。
本文在以上研究成果的基础上,介绍SDRAM存储器的交错机制,并分析交错机制对SDRAM性能的影响。通过对基于页的交错方式和基于体的交错方式的对比,研究各自对性能的影响,并通过试验对研究结果进行验证。从而在不对硬件进行任何改动的情况下,通过合理的软件设置,充分发挥硬件的潜能,从而进一步提高存储器的访问性能和系统的性能。
1 sdram添加多个选择模块
在SDRAM存储器中,每个存储芯片内部都包含多个(一般为2、4或8个)逻辑存储体,称为逻辑bank,简称bank,每个bank都是一个相对独立的存储体,有自己的地址译码单元和刷新再生放大器,彼此之间互不影响,各个bank靠存储芯片上的bank地址(BA)选择。可以把BA看作存储器地址线的一部分,从而在访问SDRAM时,存储器地址被分成了行地址、列地址和bank地址3部分。
SDRAM的访问(这里以读访问为例)时序如图1所示:先执行预充电(PRECHARGE)操作,对将要访问的bank预充电,使得其刷新再生放大器处于不稳定的中间状态,随时准备锁存数据;再执行激活(ACTIVE)操作,使得该bank中选定的行(也称为页,以下同)在bank内部读出,并暂存在刷新再生放大器中,可随时输出到数据总线上;然后执行读(READ)操作,由列地址选定的数据从刷新再生放大器中输出到芯片外部的数据线上,访问过程结束。从访问开始到输出第一个数据的延时为:预充电时间t RP、激活时间t RCD、读延迟时间t CL之和。
根据将要访问的bank当前所处的状态不同,访问时序有如下差异:若bank中已经激活了一行,且不是将要访问的行,则时序与前文所述一致,延迟时间为t RP+tRCD+tCL,这种情况称为page miss;若bank中没有一行是激活的,则不需要预充电,直接执行激活操作,延迟时间为t RCD+tCL,这种情况称为page closed;若bank中将要访问的行恰好是打开的,则数据已经在刷新再生放大器中了,可直接读写,延迟时间为t CL,这种情况称为page hit。
再看连续访问的情况,若连续两次访问落在同一bank的同一行,则后一次访问的情况就是page hit,这是最好的情况,它发生的几率取决于行的大小和访问本身的局部性;若连续两次访问落在同一bank的不同行,则后一次访问的情况就是page miss,这是最坏的情况,要先对该bank进行预充电(或者自动预充电),再激活将要访问的行,然后才能读取,如图2所示。若连续两次访问落在不同bank中,则后一次访问的情况是page close,它要先给前一bank预充电,然后再激活后一bank,进行读取。可见后两种情况的访问时间是一样的,都是预充电时间,激活时间,和读时间之和,似乎引入多个bank并没有得到性能上的提高。
其实不然,在SDRAM中引入多个bank,可以在连续两次访问不同bank时提高性能。此时,存储器控制器先向后一bank发ACTIVE命令,激活新行,然后再向前一bank发PRE-CHARGE命令(或者自动预充电),从而减少一次PRE-CHARGE命令的执行时间,提高了访问性能,如图3所示,这种方式称为交错(interleaving)。交错机制需要存储器控制器的支持。
2 是否有交错机制
可见,在采用交错机制的条件下,存储器访问的3种情况对应的延迟时间分别为:Page hit:延时为t CL,这是最好情况;Page miss:延时为t RP+t RCD+tCL,这是最坏情况;Page close:延时为t RCD+tCL,介于前两者之间。
交错机制只有在连续两次访问处于不同bank时才能提高访问性能,因此交错机制对SDRAM访问性能的提高,就取决于连续两次访问越过行边界的前提下,同时越过bank边界的几率。这一几率与
文档评论(0)