一种位宽自适应的存储器访问方法及系统技术方案

技术编号:2825952 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种位宽自适应的存储器访问方法,该方法包括:使用当前位宽模式读取存储器中设置的位宽检测信息,位宽检测信息的比特位数大于等于所述存储器支持的最大位宽;判断位宽检测信息的读取结果与设置的位宽检测信息是否一致,如果不是则调整位宽模式,使用调整后的位宽模式访问存储器,否则使用当前位宽模式访问存储器。本发明专利技术还公开了一种位宽自适应的存储器访问系统。应用本发明专利技术,可以基于低成本实现SoC对存储器进行位宽自适应的访问。

【技术实现步骤摘要】

本专利技术涉及存储器访问技术,特别涉及一种位宽自适应的存储器访问方法及系统
技术介绍
片上系统(SoC,System on Chip)是一种系统级芯片,在该芯片中集成了其所在的整个应用系统的解决方案,应用系统中除SoC之外还包括存储器和相关外设等。SoC一般包括中央处理器(CPU,Central Process Unit)、总线、只读存储器(ROM,Read Only Memory)、各种存储器引导控制器和应用模块,其中存储器引导控制器负责以一定的位宽模式访问SoC外部的存储器。应用系统开机后,SoC中的硬件CPU需要运行软件系统,其中获取软件系统代码并运行的过程就称为代码引导。一般情况下,上述软件系统代码可以存储在SoC内部的ROM中,也可以存储在SoC外部的存储器中。应用系统中SoC外部的存储器包括安全数字(SD,Secure Digital)卡、与非型快闪存储器(Nandflash)、或非型快闪存储器(Norflash)等,根据应用需要可以选择不同类型的存储器。这些不同类型的存储器可能存在不同的位宽,因此为实现从存储器进行的代码引导,即实现获取存储器中的软件系统代码并且运行,在SoC设计中必须考虑不同位宽的总线访问机制,以满足SoC对外部不同位宽的存储器的访问。以Norflash为例,其作为一种程序存储器在SoC设计中获得了广泛的应用,位宽包括8比特和16比特两种。目前为满足对不同位宽Norflash的访问需求,普遍的做法有以下两种:-->第一、使用SoC上的一个引脚用于检测所连接的电平值,并设置不同电平值和Norflash位宽的关系,这样在该引脚上连接不同的电平时,SoC就可以通过对电平值的检测,实现对存储器位宽的检测,进而使用不同的位宽模式访问Norflash。例如,如果在该引脚连接的电平为3.3伏,SoC检测到后确定存储器的位宽为16比特,进而以16比特位宽模式访问Norflash,如果在该引脚连接的电平为0伏,SoC检测到后确定存储器的位宽为8比特,进而以8比特位宽模式访问Norflash。上述对Norflash的访问由SoC内部的Norflash引导控制器完成。但是考虑到SoC的引脚有限,这种存储器位宽检测和存储器访问的方式浪费了引脚,从而限制了SoC功能上的扩展,使得SoC竞争力下降,同时在灵活性上也有所欠缺。第二、在应用系统额外增加一个存储器,如电可擦写可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory),在该增加的存储器中写入Norflash引导控制器位宽模式切换程序,通过对该程序的运行实现对Norflash引导控制器位宽模式的切换。由于设计人员会预先知晓所使用的Norflash位宽,因此可以将Norflash引导控制器位宽模式切换程序写入增加的存储器中,这样当SoC上电后运行增加的存储器中的程序,即可以将Norflash引导控制器的位宽模式切换成与所使用的Norflash相同。该方法在设计人员已知使用的Norflash位宽的情况下,通过增加存储Norflash控制器位宽模式切换程序的存储器,实现SoC上电后对Norflash引导控制器位宽模式的切换,但同时增加了整个SoC设计的成本,也会使得SoC的竞争力下降。另外,该方法也无法实现对Norflash位宽的检测。可见,目前针对SoC的应用,还未出现既能节约成本又能进行位宽自适应的存储器访问方法。
技术实现思路
本专利技术提供一种位宽自适应的存储器访问方法,使用该方法可以基于低-->成本实现SoC对存储器进行位宽自适应的访问。本专利技术提供一种位宽自适应的存储器访问系统,使用该系统可以基于低成本实现SoC对存储器进行位宽自适应的访问。本专利技术的技术方案是这样实现的:一种位宽自适应的存储器访问方法,该方法包括:使用当前位宽模式读取存储器中设置的位宽检测信息,所述设置的位宽检测信息的比特位数大于等于所述存储器的位宽;判断位宽检测信息的读取结果与所述设置的位宽检测信息是否一致,如果不是则调整位宽模式、使用调整后的位宽模式访问存储器,否则使用当前位宽模式访问存储器。较佳地,所述访问存储器之后进一步包括:进行代码引导;所述进行代码引导为:将程序运行进程跳转至存储器中,运行存储器中的软件系统代码,或者读取存储器中的软件系统代码至其他存储器运行,其中将程序运行进程跳转至存储器时,避开所述设置的位宽检测信息占用的存储地址。较佳地,如果存储器的实际位宽大于当前位宽模式,位宽检测信息的读取结果与设置的位宽检测信息不一致包括:位宽检测信息读取完成之前的每次读取结果中,一部分读取结果中仅包括设置的位宽检测信息中的数据,另一部分读取结果中仅包括未知数;如果存储器的实际位宽小于当前位宽模式,位宽检测信息的读取结果与设置的位宽检测信息不一致包括:位宽检测信息读取完成之前,每次读取结果中既包括所述设置的位宽检测信息中的数据,又包括随机数。较佳地,所述当前位宽模式为默认位宽模式;所述调整位宽模式为:当所述一部分读取结果中仅包括设置的位宽检测信息中的数据,另一部分读取结果中仅包括未知数时,将默认位宽模式的位宽比特位数加上一次读取结果中包括的未知数的比特位数,作为调整后的位宽模式;当所述每次读取结果中既包括所述设置的位宽检测信息中的数据,又包括随机数时,将默认位宽模式的位宽比特位数减去一次读取结果中包括的随机数-->的比特位数,作为调整后的位宽模式。较佳地,所述调整位宽模式为:当所述一部分读取结果中仅包括设置的位宽检测信息中的数据,另一部分读取结果中仅包括未知数时,增大当前位宽模式的位宽比特位数,作为调整后的位宽模式;当每次读取结果中既包括所述设置的位宽检测信息中的数据,又包括随机数时,减小当前位宽模式的位宽比特位数,作为调整后的位宽模式。较佳地,所述使用调整后的位宽模式访问存储器之前进一步包括:返回执行使用当前位宽模式读取存储器中设置的位宽检测信息的步骤,判断位宽检测信息的读取结果与所述设置的位宽检测信息是否一致,如果是继续执行调整位宽模式的步骤,否则继续执行使用调整后的位宽模式访问存储器的步骤。较佳地,所述存储器为或非型快闪存储器Norflash,或者与非型快闪存储器Nandflash。一种位宽自适应的存储器访问系统,该系统包括:存储器引导控制模块,用于使用当前位宽模式读取存储器中设置的位宽检测信息,所述设置的位宽检测信息的比特位数大于等于所述存储器的位宽;根据确定的位宽模式调整方式,调整位宽模式、使用调整后的位宽模式访问存储器,或者使用当前位宽模式访问存储器;位宽选择模块,用于判断所述位宽检测信息的读取结果是否与所述设置的位宽检测信息是否一致,如果不是确定存储器引导控制模块位宽模式的调整方式,否则确定存储器引导控制模块使用当前位宽模式。较佳地,所述当前位宽模式为默认位宽模式;所述位宽选择模块包括:第一位宽检测单元,用于判断所述位宽检测信息的读取结果与所述设置的位宽检测信息是否一致;第一位宽模式调整单元,用于在第一位宽检测单元判断所述位宽检测信息的读取结果与所述设置的位宽检测信息不一致时,如果所述存储器引导控制模-->块在位宽检测信息读取完成之前的每次读取结果中,一部分读取结果中仅本文档来自技高网
...

【技术保护点】
一种位宽自适应的存储器访问方法,其特征在于,该方法包括:使用当前位宽模式读取存储器中设置的位宽检测信息,所述设置的位宽检测信息的比特位数大于等于所述存储器的位宽;判断位宽检测信息的读取结果与所述设置的位宽检测信息是否一致,如果不是,则调整位宽模式、使用调整后的位宽模式访问存储器,否则使用当前位宽模式访问存储器。

【技术特征摘要】
1. 一种位宽自适应的存储器访问方法,其特征在于,该方法包括:使用当前位宽模式读取存储器中设置的位宽检测信息,所述设置的位宽检测信息的比特位数大于等于所述存储器的位宽;判断位宽检测信息的读取结果与所述设置的位宽检测信息是否一致,如果不是,则调整位宽模式、使用调整后的位宽模式访问存储器,否则使用当前位宽模式访问存储器。2. 如权利要求1所述的方法,其特征在于,所述访问存储器之后进一步包括:进行代码引导;所述进行代码引导为:将程序运行进程跳转至存储器中,运行存储器中的软件系统代码,或者读取存储器中的软件系统代码至其他存储器运行,其中将程序运行进程跳转至存储器时,避开所述设置的位宽检测信息占用的存储地址。3. 如权利要求1所述的方法,其特征在于,如果存储器的实际位宽大于当前位宽模式,位宽检测信息的读取结果与设置的位宽检测信息不一致包括:位宽检测信息读取完成之前的每次读取结果中,一部分读取结果中仅包括设置的位宽检测信息中的数据,另一部分读取结果中仅包括未知数;如果存储器的实际位宽小于当前位宽模式,位宽检测信息的读取结果与设置的位宽检测信息不一致包括:位宽检测信息读取完成之前,每次读取结果中既包括所述设置的位宽检测信息中的数据,又包括随机数。4. 如权利要求3所述的方法,其特征在于,所述当前位宽模式为默认位宽模式;所述调整位宽模式为:当所述一部分读取结果中仅包括设置的位宽检测信息中的数据,另一部分读取结果中仅包括未知数时,将默认位宽模式的位宽比特位数加上一次读取结果中包括的未知数的比特位数,作为调整后的位宽模式;当所述每次读取结果中既包括所述设置的位宽检测信息中的数据,又包括随机数时,将默认位宽模式的位宽比特位数减去一次读取结果中包括的随机数的比特位数,作为调整后的位宽模式。5. 如权利要求3所述的方法,其特征在于,所述调整位宽模式为:当所述一部分读取结果中仅包括设置的位宽检测信息中的数据,另一部分读取结果中仅包括未知数时,增大当前位宽模式的位宽比特位数,作为调整后的位宽模式;当每次读取结果中既包括所述设置的位宽检测信息中的数据,又包括随机数时,减小当前位宽模式的位宽比特位数,作为调整后的位宽模式。6. 如权利要求5所述的方法,其特征在于,所述使用调整后的位宽模式访问存储器之前进一步包括:返回执行使用当前位宽模式读取存储器中设置的位宽检测信息的步骤,判断位宽检测信息的读取结果与所述设置的位宽检测信息是否一致,如果是继续执行调整位宽模式的步骤,否则继续执行使用调整后的位宽模式访问存储器的步骤。7. 如权利要求1至6任意一项所述的方法,其特征在于,所述存储器为或非型快闪存储器Norflash或者与非型快闪存储器Nandflash。8. 一种位宽自适应的存储器访问系统,其特征,该系统包括:存储器引导控制模块,用于使用当前位宽模式读取存储器中设置的位宽检测信息,所述设置的位宽检测信息的比特位数大于等于所述存储器的位宽;根据确定的位宽模式调整方式,调整位宽模式、使用调整后的位宽模式访问存储器,或者使用当前位宽模式访问存储器;位宽选择模块,用于判断所述位宽检测信息的读取结果与所述设置的位宽检测信息是否一致,如果不是确定存储器引导控制模块位宽模式的调整方式,否则确定存储器引导控制模块使...

【专利技术属性】
技术研发人员:黄少彬
申请(专利权)人:炬力集成电路设计有限公司
类型:发明
国别省市:44[中国|广东]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1