- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FIFO缓存的高速无等待双端口SRAM研究12
基于FIFO缓存的高效双口SRAM数据传输研究
摘要:针对MIMO系统中数据传输的海量性、实时性、及交互性的特点,本文利用FIFO作双口SRAM的外部缓存,实现多系统实时数据操作,完成多机之间的数据交换。本方案解决了竞争状态下的数据冲突及写覆盖问题,并且减少了数据传输的延时等待。利用双口SRAM CY7C019对本方案进行测试,以地址映射的方式实现了存储器与CPU的有效寻址。通过与改进前的系统进行性能比较,证明了本方案的有效性及可行性。
关键字:双端口SRAM、FIFO缓存、数据冲突、地址映射
引言:
大数据量的高速采集及交换传输是通信系统中很重要的环节。但是无线频谱资源非常有限,因此多输入多输出(MIMO)以其高速率低成本的高频谱效率的技术特性成为新通信时代的关键技术之一[1]。由于MIMO系统的数据量非常大,因此多端口存储器用于简化其接收和发送模块结构复杂性,提高其数据交换速率是必要的。多个处理器可同时进行数据操作实现多系统之间的实时数据交换,在一定程度上改善MIMO系统的数据传输速率,然而鉴于多端口存储器自身的一些缺陷,当多端同时进行数据操作时会发生数据冲突,导致传输的延时及写覆盖问题,因此要对多端口存储器的应用加以改进以完善其在MIMO系统中的应用。
异步双端口SRAMRAM(Static Random Access Memory)是一种具有静止存储功能的存储器,不需刷新电路即能保存它内部存储的数据,因此具有较高的性能。双机间进行互操作时,该存储器可作为两机数据交换的公用共享存储器,为其复杂的数据交换提供场所,但并不是数据操作的工作区。双口SRAM允许从两个端口同时对存储单元进行访问,不需要双端口存储器中不可缺少的仲裁逻辑,然而如果精确到同时对某一存储单元进行读写操作时,会产生需要仲裁的竞争,延迟数据存取操作,严重影响系统的数据交换进程。如果在一个端口进行写操作的同时另一个端口进行读操作,读周期将读出的可能是旧数据,也可能是新数据,不会是两个数据的合并。但是写周期总是用新的数据更新存储单元,所以当两个端口同时对一个存储单元进行写操作时,肯定会引起亚稳态的存储单元竞争问题[2]。双口SRAM两端数据传输因竞争而易产生数据冲突,进而影响数据的传输速度容易造成数据处理中的“瓶颈问题”,并会产生数据的等待问题,从而满足不了实时快速的设计要求,而且会造成数据的写覆盖问题,所以如何改善各处理器之间的数据交换,即如何提高数据应用系统中双口SRAM的数据交换速率,是一个关键问题。
基于FIFO缓存的双端口SRAM硬件结构图
通过对8T SRAM、10T 单端SRAM和10T 差分SRAM几种双端口SRAM进行读功率和操作频率方面的仿真比较[3],可以看出:随着外围电路复杂度的增加,各存储器消耗的读功率会增大或操作周期时间变长,证明了传统系统应用中SRAM性能存在着一些不足。已有文献[4]提出一种改善的策略,设计一种改进型的存储器SRAM,在设计过程中提到采用FIFO作缓存的概念,但只是作为SRAM结构设计的一个内部单元,该方案的优越性得到了证实,使用该SRAM作为共享存储器将会使原速度的ATM速度得到大幅提高。然而,该方法对于MIMO系统中数据的大量频繁交换而言,增设缓存容量要求较高,内部设计较为复杂,双方竞争冲突时实现不了无需等待的要求。因此本文根据上述文献中利用FIFO作SRAM内部缓存的思想,探讨基于FIFO缓存的高速无等待双端口SRAM研究,采用FIFO作双口SRAM的外部缓存以提高多系统的数据交换能力。
在双机系统中,只允许一端的CPU向FIFO中写数据,而另一端CPU读FIFO中数据,空指示不写,满指示不读,这样才不会导致写入数据丢失和读出数据无效[5]。FIFO先进先出,及没有外部读写地址线的特点,使得FIFO使用起来非常简单,这些特点显示了FIFO适于做缓存。本文采用FIFO作缓存改进双口SRAM数据交换速率的系统简单框图如下图1所示:
由下图可见,该方案的主要组成器件有:双口SRAM CY7C019(128k*9位)、FIFO存储器CY7C429(2k*9位)六片、单向总线驱动器74ls244八片、双向总线驱动器74ls245四片、地址锁存器74ls373一片和两片CPU AT89C51。其中CPU A、CPU B是传输数据的主机,控制实现整个数据传输的过程。双口SRAM作整个系统的共享存储器,实现两CPU之间的数据互操作,图2是双口SRAM CY7C019的仲裁操作图,该时序图可描述为:给地
图1 双口SRAM数据传输图
址A0-A16,地址保持最短时间为trc;从两端对同一地址进行访问,先给LEFT端CE片选,响应来自LEFT端口的访问;同时RIGHT端口
文档评论(0)