一种同步动态随机存储器控制器部分字访问方法

文档序号:6759656阅读:367来源:国知局
专利名称:一种同步动态随机存储器控制器部分字访问方法
技术领域
本发明涉及一种嵌入式片上系统(SoC)SDRAM控制器的设计与实现,特别涉及一种硬件支持的SDRAM控制器部分字访问方法。
背景技术
目前,嵌入式系统应用极为广泛。针对嵌入式应用而推出的片上系统(SoC)也越来越多,应用场合也越来越复杂。为了能够适用各种复杂的应用的场合,SoC设计一般采用32位数据总线,集成的SDRAM控制器用来外接存储器件作为系统运行的主存。外接存储器件要采用高速存储器件,一般为单倍数据速率同步动态随机存储器(SDR SDRAM)或者双倍数据速率同步动态随机存储器(DDR SDRAM),形式为SDRAM存储芯片颗粒或者SDRAM的DIMM条。
大部分SDR SDRAM或DDR SDRAM存储芯片颗粒的数据宽度为X4、X8或X16。所以,对于数据总线宽度为32位的嵌入式SoC来说,需要通过并联存储芯片颗粒来达到位扩展的要求,从而满足32位宽度的数据总线。
对于嵌入式系统SoC来说,以字节(8位)、半字(16位)的方式访问SDRAM存储芯片是经常发生的。由于系统采用32位数据总线,外接存储芯片采用位扩展的方式组成32位数据总线和系统总线相连。所以,以字节、半字的方式访问存储芯片,就需要采用特殊的方式。
现假设SoC系统配置如下SoC系统采用32位数据总线,并行外接2颗X16存储芯片。
传统的解决方法采用以下两种方式来实现部分字访存1、硬件系统只支持以32位字的方式访问存储芯片,部分字访存操作由软件模拟来实现。2、硬件系统支持部分字访存方式。第一种方法对于经常以部分字方式访存的应用来说,系统开销比较大,致使系统运行缓慢;第二种方法一般采用SDRAM控制器输出控制信号来控制SDRAM存储芯片的片选(CS)信号或者DQM信号来实现部分字方式访存,但致使SDRAM控制器控制电路逻辑较为复杂,SDRAM控制器芯片管腿较多,芯片封装成本就比较高。

发明内容
1、发明目的本发明的目的是提供一种同步动态随机存储器控制器部分字访问方法。它能够根据系统的访存方式、访存数据单元大小和读写命令等自动实现对于存储器的部分字访问,从而提高系统的运行速度。
2、技术方案为实现上述目的,本发明所述的同步动态随机存储器控制器部分字访问方法,包括以下步骤(1)选择SDRAM控制器,从而可以以32位字的方式访问SDRAM的DIMM条或者SDRAM存储芯片。
(2)引入读—改—写信号RMW,嵌入硬件实现的读—改—写操作。读—改—写信号RMW只在一定条件下触发,读—改—写操作是一个原子操作,其过程中间不被打断。
(3)SDRAM控制器输出一个控制信号与SDRAM的DIMM条或者SDRAM芯片颗粒的所有DQM信号相连接,从而实现对于SDRAM的DIMM条或者SDRAM芯片颗粒的逻辑控制。
3、有益效果本发明相对于传统的SDRAM控制器部分字访问方法相比,具有以下优点(1)由于采用硬件实现的SDRAM控制器部分字访问,所以,速度比较快,系统开销不大。(2)硬件实现的读—改—写操作是原子操作,中间过程不被打断,从而可以减少操作被中断打断的可能性,也就降低了出错的可能性。(3)比较灵活通用,无论SDRAM芯片颗粒的数据宽度是多少位,都可以应用本发明进行部分字访问。(4)SDRAM控制器输出管腿数目少,降低了SDRAM控制器芯片的封装成本,从而可以降低芯片的整个成本。


附图是本发明SDRAM控制器和外接存储芯片的连接关系图。
具体实施例方式
本发明所述的SDRAM控制器部分字访问方法包括步骤
1、SDRAM控制器判断系统的访存方式和访存数据单元的大小。如果系统的访存行为是(a)系统以32位字为单位进行访存操作时,RMW信号不触发;(b)系统以字节、半字为单位读访存操作时,RMW信号不触发,字节、半字的选择操作根据访存地址在SDRAM控制器内部实现,有以下几种情况(1)访存地址的最低两位为2’b00,访存单位为字节,则选中32位数据中的0-7位。
(2)访存地址的最低两位为2’b01,访存单位为字节,则选中32位数据中的8-15位。
(3)访存地址的最低两位为2’b10,访存单位为字节,则选中3位数据中的16-23位。
(4)访存地址的最低两位为2’b11,访存单位为字节,则选中32位数据中的24-31位。
(5)访存地址的最低两位为2’b00,访存单位为半字,则选中32位数据中的0-15位。
(6)访存地址的最低两位为2’b10,访存单位为字节,则选中32位数据中的16-31位。
(7)其余的情况都默认选中全部的32位数据。
(c)系统以字节、半字为单位进行写访存操作时,RMW信号触发,这时候,SDRAM控制器自动启动读—改—写操作,如以下步骤(1)SDRAM控制器读取操作地址当中的32位字到一个32位寄存器中。
(2)SDRAM控制器按照步骤(b)的选择方法选中32位寄存器中的某些位,按照系统的要求,把将要写入的数据写入到此32位寄存器当中。
(3)SDRAM控制器发起一个写操作,将32位寄存器当中的新数据写入到访存地址当中。从而完成了一次读—改—写操作。
SDRAM控制器和外接存储芯片的连接如附图所示(a)SDRAM控制器数据总线和SDRAM的DIMM条或者SDRAM芯片颗粒的数据总线相连接。如果SDRAM芯片颗粒的数据总线宽度不够,需要通过位扩展达到SDRAM控制器的数据总线宽度。
(b)SDRAM控制器输出一个DQM控制信号和外接SDRAM的DIMM条或者SDRAM芯片颗粒的所有DQM信号相连接。
(c)SDRAM控制器的其余控制信号,包括片选、读写、行选通、列选通等控制信号,分别和外接SDRAM的DIMM条或者SDRAM芯片颗粒的控制信号相连接,以实现控制逻辑功能。
权利要求
1.一种同步动态随机存储器控制器部分字访问方法,其特征是该方法包括以下步骤(1)选择SDRAM控制器,从而可以以32位字的方式访问SDRAM的DIMM条或者SDRAM存储芯片;(2)引入读—改—写信号RMW,嵌入硬件实现的读—改—写操作,该读—改—写操作是一个原子操作,其过程中间不被打断;(3)SDRAM控制器输出一个控制信号与SDRAM的DIMM条或者SDRAM芯片颗粒的所有DQM信号相连接,实现对于SDRAM的DIMM条或者SDRAM芯片颗粒的逻辑控制。
2.根据权利要求1所述的一种同步动态随机存储器控制器部分字访问方法,其特征是SDRAM控制器和SDRAM的DIMM条或SDRAM芯片颗粒连接时,SDRAM的DIMM条或者SDRAM芯片颗粒的所有DQM管腿只需和一根SDRAM控制器的控制信号管腿相连接以实现控制。
3.根据权利要求1所述的一种同步动态随机存储器控制器部分字访问方法,其特征是步骤(2)中,利用SDRAM控制器硬件实现读—改—写操作,并实现SDRAM控制器的部分字写访存,而对于读访存和32位字写访存,SDRAM控制器的读—改—写操作不做任何操作。
全文摘要
本发明公开了一种同步动态随机存储器控制器部分字访问方法,其步骤是(1)选择SDRAM控制器,从而可以以32位字的方式访问SDRAM的DIMM条或者SDRAM存储芯片。(2)引入读-改-写信号RMW,嵌入硬件实现的读-改-写操作,其过程中间不被打断。(3)SDRAM控制器输出一个控制信号与SDRAM的DIMM条或者SDRAM芯片颗粒的所有DQM信号相连接,从而实现对于SDRAM的DIMM条或者SDRAM芯片颗粒的逻辑控制。本发明的优点是可以减少SDRAM控制器的管腿数目,降低芯片的封装成本,提高产品的性能。本发明适用于高性能的SDRAM控制器设计。
文档编号G11C11/409GK1909110SQ200610041388
公开日2007年2月7日 申请日期2006年8月21日 优先权日2006年8月21日
发明者吴少刚, 章军, 肖永田 申请人:江苏中科龙梦科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1