写控制装置和方法

文档序号:8402730阅读:262来源:国知局
写控制装置和方法
【技术领域】
[0001]本发明涉及嵌入式系统领域,尤其涉及一种写控制装置和方法。
【背景技术】
[0002]当今随着电子信息化的发展,嵌入式系统得到广泛的应用,包括家电、汽车电子、航空航天、金融、个人消费类产品等各个领域。在嵌入式系统中通常会包括微控制器和用来存储指令和数据的非易失性存储器(Non Volatile Memory,简称:NVM),这些NVM通常是由带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称:EEPR0M)和EFLASH来实现。微控制器需要对这些NVM进行访问,以完成指令的读取以及数据的存储操作,而这些NVM读取的速度一般相对较快,而写入的速度则比较慢,所以如何提高NVM的写入效率是一个重要的问题。
[0003]目前,存储器一般选用页写的方式来提高写入效率,对于有大量数据写入的情况,将数据分页进行写入,这样,对于同一页的内容进行一次擦除操作,可以解决反复擦写造成的效率降低的问题。但对于随机写入少量数据的情况,会在一页上写入该少量数据,若存储器采用页写的方式,仍然需要对整页进行写入操作,这样就会造成时间的浪费,降低存储器的写入效率。
[0004]现有技术中,针对系统总线位宽小于存储器位宽时的情况,系统总线有时为了提高执行的效率会发出半字写和全字写的指令,但由于系统总线位宽小于半字或者全字宽度,所以系统总线要执行两次以上的写入操作才能完成一条半字或者全字的写操作指令,即系统总线发出一条表示几个连续写入操作的指令,例如:进行4个连续写入操作的指令或进行2个连续写入操作的指令,而此时存储器也会进行相应次数的写入操作,这就增加了存储器写入的次数,并且由于存储器每次写入需要耗费大量的时间,因此降低了存储器的写入效率。

【发明内容】

[0005]本发明提供一种写控制装置和方法,用以减少存储器的写入次数,提高存储器的写入效率。
[0006]本发明提供一种写控制装置,所述装置布置在系统总线和存储器之间,所述装置包括缓存模块、检测模块、第一写入模块和第二写入模块,其中:
[0007]所述检测模块用于检测所述系统总线的状态;
[0008]所述第一写入模块用于当所述系统总线的状态为连续写入状态时,将所述系统总线连续写入的内容写入所述缓存模块;
[0009]所述第二写入模块用于当所述系统总线的状态为读取状态时,暂停所述系统总线的读取操作,将所述缓存模块中缓存的内容写入所述存储器。
[0010]本发明还提供一种处理系统,包括前述的写控制装置、处理器和存储器,所述写控制装置与所述处理器之间通过系统总线进行通信,所述写控制装置与所述存储器之间通过内部总线进行通信。
[0011]本发明还提供一种写控制方法,在系统总线和存储器之间增加写控制装置,所述写控制装置包括缓存模块、检测模块、第一写入模块和第二写入模块,所述方法包括:
[0012]所述检测模块检测所述系统总线的状态;
[0013]当所述系统总线的状态为连续写入状态时,所述第一写入模块将所述系统总线连续写入的内容写入所述缓存模块;
[0014]当所述系统总线的状态为读取状态时,所述第二写入模块暂停所述系统总线的读取操作,将所述缓存模块中缓存的内容写入所述存储器。
[0015]在本发明中,检测模块检测系统总线的状态,第一写入模块在系统总线的状态为连续写入状态时,将系统总线连续写入的内容写入缓存模块中,当检测模块检测到系统总线的状态为读取状态时,则第二写入模块暂停系统总线的读取操作,将缓存模块中缓存的内容写入存储器中,实现在系统总线有读取操作时进行向存储器写入的操作,使得存储器无需根据系统总线的写入次数执行相应次数的写入操作,减少了存储器的写入次数,提高了存储器的写入效率。
【附图说明】
[0016]图1为本发明写控制装置第一实施例的结构示意图;
[0017]图2为本发明写控制装置第一实施例的具体工作流程示意图;
[0018]图3为本发明写控制装置第二实施例的结构示意图;
[0019]图4为本发明写控制装置第二实施例的一个实例的工作流程示意图;
[0020]图5为图4中本发明写控制装置第二实施例的一个实例对应的时序图;
[0021]图6为本发明一种处理系统实施例的结构示意图。
【具体实施方式】
[0022]下面结合说明书附图和【具体实施方式】对本发明作进一步的描述。
[0023]如图1所示,为本发明写控制装置第一实施例的结构示意图,该装置布置在系统总线和存储器之间,具体可以包括:检测模块11、第一写入模块12、缓存模块13和第二写入模块14,其中,第一写入模块12与检测模块11相连,缓存模块13与第一写入模块12相连,第二写入模块14与缓存模块13相连,检测模块11与第二写入模块14相连。
[0024]在本实施例中,检测模块11用于检测系统总线的状态;第一写入模块12用于当系统总线的状态为连续写入状态时,将系统总线连续写入的内容写入缓存模块13 ;第二写入模块14用于当系统总线的状态为读取状态时,暂停系统总线的读取操作,将缓存模块13中缓存的内容写入存储器。
[0025]具体地,检测模块11在工作过程中检测系统总线的状态;若检测模块11检测到系统总线的状态为连续写入状态,则第一写入模块12将系统总线连续写入的内容写入缓存模块13 ;若检测模块11检测到系统总线的状态为读取状态,则第二写入模块14将暂停系统总线的读取操作,将缓存模块13中缓存的内容写入存储器;若系统总线的状态不是连续写入状态,也不是读取状态,则检测模块11继续检测系统总线的状态,直到检测到系统总线的状态为连续写入状态或者读取状态。
[0026]该实施例的具体工作过程如下:检测模块11检测系统总线的状态;当系统总线的状态为连续写入状态时,第一写入模块12将系统总线连续写入的内容写入缓存模块13 ;当系统总线的状态为读取状态时,第二写入模块14暂停系统总线的读取操作,将缓存模块13中缓存的内容写入存储器。
[0027]具体地,如图2所示,为本发明写控制装置第一实施例的具体工作流程示意图,可以包括如下步骤:
[0028]步骤21、检测模块11检测系统总线的状态,若系统总线的状态为连续写入状态,则执行步骤22,若系统总线的状态为读取状态,则执行步骤24 ;
[0029]在这一步骤中,若检测模块11检测到系统总线的状态不是连续写入状态,也不是读取状态,则检测模块11继续进行检测,直到检测到系统总线的状态为连续写入状态或者读取状态。
[0030]步骤22、检测模块11检测到系统总线的状态为连续写入状态;
[0031]步骤23、第一写入模块12将系统总线连续写入的内容写入缓存模块13 ;
[0032]步骤24、检测模块11检测到系统总线的状态为读取状态;
[0033]步骤25、第二写入模块14暂停系统总线的读取操作,将缓存模块13中缓存的内容写入存储器。
[0034]在本实施例中,检测模块11检测系统总线的状态,第一写入模块12在系统总线的状态为连续写入状态时,将系统总线连续写入的内容写
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1