解决存储器读写冲突的方法及装置制造方法

文档序号:6490176阅读:405来源:国知局
解决存储器读写冲突的方法及装置制造方法
【专利摘要】本发明公开了一种解决存储器读写冲突的方法及装置,该方法包括:当检测到读写操作冲突时,优先处理冲突的写操作,处理完冲突的写操作后再处理冲突的读操作,处理冲突的读操作的同时,将处理器的时钟关闭,冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。该装置包括冲突检测模块和冲突处理模块。本发明只是在处理时间上增加一个时钟周期,使用很少的硬件资源就可以完成冲突的处理,不需要通过软件的方式规避读写冲突,实现起来比较方便。
【专利说明】解决存储器读写冲突的方法及装置
【技术领域】
[0001]本发明涉及微电子【技术领域】,尤其涉及一种解决存储器读写冲突的方法及装置。【背景技术】
[0002]现有的处理器多采用流水线架构,其读写操作都有其固定的时序。存储器分为双口存储器和单口存储器。双口存储器有两个读写端口,可同时对存储器进行读写操作。单口存储器只有一个读写端口,同一时刻只能允许一个读操作或者写操作。处理器中应用双口存储器时,可同时对存储器进行读写,不会出现读写冲突的问题。应用单口存储器时,若对存储器同时进行读写操作,就会产生冲突。
[0003]目前现有的解决冲突的方法是让读写操作在时间上间隔开,或者是通过延时器件让写时钟的上升比读时钟晚一些时间,来保证了数据从存储器读出后再写入新的数据。但是上述解决存储器读与冲突的方法还有待进一步提闻。

【发明内容】

[0004]鉴于上述的分析,本发明旨在提供一种解决存储器读写冲突的方法及装置,更好的解决存储器读写冲突的问题。
[0005]本发明的目的主要是通过以下技术方案实现的:
[0006]一种解决存储器读写冲突的方法,该方法包括:
[0007]当检测到读写操作冲突的同时,优先处理冲突的写操作,处理完冲突的写操作后再处理冲突的读操作,处理冲突的读操作的同时,将处理器的时钟关闭,冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
[0008]优选地,当发生读写操作冲突时,在所述处理器时钟关闭前,如果所述处理器已经向存储器发送了其他读写操作,将所述处理器发送的其他读写操作暂存在寄存器中,当冲突的读写操作处理完后,打开所述处理器时钟,先处理所述寄存器中的读写操作,再继续处理所述处理器发出的读写操作。
[0009]优选地,当发生读写操作冲突时,在所述处理器时钟关闭前,如果所述处理器已经向存储器发送了其他读写操作,处理冲突的读写操作的步骤具体包括:
[0010]当检测到读写操作冲突的同时,优先处理冲突的写操作,接着处理冲突的读操作,同时把处理器后续发送的读写操作暂存在寄存器中,并关闭所述处理器时钟。
[0011]本发明还提供了一种解决存储器读写冲突的装置,该装置包括:
[0012]冲突检测模块,用于检测存储器的读写操作冲突,当检测到读写操作冲突时,触发冲突处理模块;
[0013]所述冲突处理模块,用于优选处理冲突的写操作,处理完冲突的写操作后再处理冲突的读操作,处理冲突的读操作的同时,将处理器的时钟关闭,冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
[0014]优选地,还包括寄存器模块;[0015]所述寄存器模块用于,当发生读写操作冲突时,在所述处理器时钟关闭前,所述处理器已经向存储器发送了其他读写操作,暂存所述处理器发送的其他读写操作;
[0016]所述冲突处理模块还用于,当冲突的读写操作处理完后,打开处理器时钟,先处理所述寄存器中的读写操作,再继续处理所述处理器发出的读写操作。
[0017]优选地,所述冲突处理模块具体用于,当检测到读写操作冲突的同时,优先处理冲突的写操作,,接着处理冲突的读操作,处理冲突的读操作的同时将后续发送的其它读写操作暂存在寄存器中,并关闭所述处理器时钟,将冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
[0018]本发明有益效果如下:
[0019]本发明实施例提供的一种解决存储器读写冲突的方法及装置,当检测到读写操作冲突时,将处理器的时钟暂停一下,在暂停的过程中处理冲突的读写操作,处理完后再将处理器的时钟打开,继续处理所述处理器发出的读写操作。通过该方法有效解决了存储器的读写冲突,而且该方法只是在处理时间上增加一个时钟周期,,使用很少的硬件资源就可以完成冲突的处理,且不需要通过软件的方式让读写操作在时序上隔开,实现起来比较方便。
[0020]本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
【专利附图】

【附图说明】
[0021]图1为本发明实施例1的解决存储器读写冲突的方法的流程图;
[0022]图2为本发明实施例2的解决存储器读写冲突的方法的流程图;
[0023]图3为本发明实施例3的解决存储器读写冲突的装置示意图;
[0024]图4为本发明实施例4的解决存储器读写冲突的装置示意图;
[0025]图5为本发明实施例5的是处理器同时产生了读写操作的电路信号示意图;
[0026]图6为本发明实施例5的冲突解决装置检测到冲突的电路信号示意图;
[0027]图7为本发明实施例5的冲突解决装置进行阻塞状态的电路信号示意图;
[0028]图8为本发明实施例5的冲突解决装置重新恢复到正常状态的电路信号示意图;
[0029]图9为本发明实施例5的第二次的读操作被更新的电路信号示意图;
[0030]图10为本发明实施例5的第三次的写操作被发射的电路信号示意图;
[0031]图11为本发明实施例5的第三次的读操作被发射的电路信号示意图;
[0032]图12为本发明实施例5的第三次读操作在存储器的电路信号示意图。
【具体实施方式】
[0033]下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
[0034]实施例1
[0035]本发明实施例提供了一种解决存储器读写冲突的方法,参见图1,该方法包括:
[0036]S101、当检测到读写操作冲突时,优先处理冲突的写操作;
[0037]其中,本发明实施例中写操作的优先级高于读操作的优先级。[0038]S102、处理完冲突的写操作后再处理冲突的读操作,处理冲突的读操作的同时,将处理器的时钟关闭;
[0039]S103、冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
[0040]本发明实施例提供的一种解决存储器读写冲突的方法,当检测到读写操作冲突时,将处理器的时钟暂停一下,在暂停的过程中处理冲突的读写操作,处理完后再将处理器的时钟打开,继续处理所述处理器发出的读写操作。通过该方法有效解决了存储器的读写冲突,而且该方法只是增加一个时钟周期,实现的硬件代价小,且不需要通过软件的方式规避读写冲突,实现起来比较方便。
[0041]实施例2
[0042]本发明实施例提供了一种解决存储器读写冲突的方法,参见图2,该方法包括:
[0043]S201、当检测到读写操作冲突的同时,优先处理冲突的写操作;
[0044]其中,本发明实施例中写操作的优先级高于读操作的优先级。当然本领域技术人员也可以根据实际需要设定读的优先级高于写的优先级。
[0045]S202、处理完冲突的写操作之后,再处理冲突的读操作,在处理读操作的同时把后续发送的其它读写操作暂存在寄存器中,并将处理器的时钟关闭;
[0046]本发明实施例通过设置一个寄存器,当检测到读写操作冲突时,将处理器关闭时钟前发送来的读写操作暂存在寄存器中,当解决完读写操作冲突时,寄存器内的读写操作可以及时的发送到储存器,大大节约了总的处理时间。
[0047]S203、将冲突的读写操作处理完后,打开所述处理器的时钟,先处理所述寄存器中的读写操作,再继续处理所述处理器发出的读写操作。
[0048]本发明实施例提供的一种解决存储器读写冲突的方法,当检测到读写操作冲突时,将处理器的时钟暂停一下,在暂停的过程中处理冲突的读写操作,通过该方法有效解决了存储器的读写冲突,而且该方法只是增加一个时钟周期,不需要增加其它硬件和软件,实现起来比较方便。并且本发明实施例设置一个寄存器,当检测到读写操作冲突时,将处理器关闭时钟前发送来的读写操作暂存在寄存器中,当解决完读写操作冲突时,寄存器内的读写操作可以及时的发送到储存器,从而节约了总的处理时间。
[0049]实施例3
[0050]本发明实施例提供了一种解决存储器读写冲突的装置,参见图3,该装置包括:
[0051]冲突检测模块31,用于检测存储器的读写操作冲突,当检测到读写操作冲突时,触发冲突处理模块32 ;
[0052]所述冲突处理模块32,用于优选处理冲突的写操作,处理完冲突的写操作后再处理冲突的读操作,处理冲突的读操作的同时,将处理器的时钟关闭,冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
[0053]其中,本发明实施例中写操作的优先级高于读操作的优先级。当然本领域技术人员也可以根据实际需要设定读的优先级高于写的优先级。
[0054]实施例4
[0055]本发明实施例提供了一种解决存储器读写冲突的装置,参见图4,该装置包括:
[0056]冲突检测模块41,用于检测存储器的读写操作冲突,当检测到读写操作冲突时,触发冲突处理模块;
[0057]冲突处理模块42,用于当检测到读写操作冲突的同时,优先处理冲突的写操作,然后处理冲突的读操作,处理冲突的读操作的同时将后续发送的其他读写操作暂存在寄存器中,并关闭所述处理器时钟,将冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
[0058]其中,本发明实施例中写操作的优先级高于读操作的优先级。当然本领域技术人员也可以根据实际需要设定读的优先级高于写的优先级。
[0059]寄存器模块43,用于当发生读写操作冲突时,在所述处理器时钟关闭前,所述处理器已经向存储器发送了其他读写操作,暂存所述处理器发送的其他读写操作。
[0060]实施例5
[0061]本发明实施例提供了一种解决存储器读写冲突的方法及装置,冲突解决装置的电路图如图5-12所示,该冲突解决装置包括依次连接的寄存器和选择器,具体电路连接详见冲突解决装置示意图。
[0062]本发明实施例以三个连续读写操作并行发射为例,详述解决存储器读写冲突的方法,其他发射情况,解决存储器读写冲突的方法与此类似:
[0063]在第一个时钟周期,读写操作同时被处理器发射,具体如图5所示。
[0064]第二个时钟周期,第一次的读(load)写(store)操作同时被更新至冲突解决装置的发射端口,此时冲突解决装置判断出现了冲突,根据预设的优先级写的优先级高,写先发送至存储器(memory)。同时冲突(conflict)信号有效,则下一周期装置将进入阻塞状态。处理器产生第二次读写操作请求更新至st_en和ld_en端,具体如图6所示。
[0065]第三个时钟周期,第一次的读操作发送到存储器,同时装置进入阻塞状态,处理器第二次发送的读写操作被暂存到st_enb和ld_enb,第三次发送的写和读请求更新至st_en和ld_en端,此时装置没有检测到冲突,下一时钟周期装置将进入正常状态,第一次冲突将使fclk_en无效,下一个周期处理器的时钟将关闭,具体如图7所示。
[0066]第四个时钟周期,装置处于正常状态,第二次的写和读操作将会从st_enb和ld_enb更新至装置的发射端口,同时由于写的优先级要高,写操作发送至存储器.此时冲突产生,装置在下一周期将会进入阻塞状态,第一次读操作数据将会从存储器读出,本周期处理器的时钟将会关闭,第三次发射的写和读操作仍然会保留在处理器的发射端口,具体如图8所示。
[0067]第五个时钟周期,装置处于阻塞状态,本周期第二次的读操作被发送至存储器,同时conflict无效,下一周期进入正常状态,处理器第三次发射的读,写操作被暂存于st_enb和ld_enb,由于上周检测到第二次的冲突,fclk_en无效,处理器三次写和读并行发射均已经完毕,处理器发射端口 st_en和ld_en将置为无效,具体如图9所示。
[0068]第六个时钟周期,装置处于正常状态,第三次的读写操作将会从st_enb和ld_enb更新至装置的发射端口,同时写操作将会发送至存储器,第二次的读操作,数据将会从存储器读出,Conflict信号有效,下周期将会进入阻塞状态,本周期处理器的时钟关闭,具体如图10所示。
[0069]第七个时钟周期,装置处于阻塞状态,第三次发射的读操作将会发送至存储器,Conflict信号无效,下周将进入正常状态,由于上周检测到第三次冲突,fclk_en将无效,下一个周期,处理器时钟将关闭,具体如图11所示。
[0070]第八个时钟周期,装置处理正常状态,处理器时钟关闭,最后一次的读操作,数据从存储器读出,具体如图12所示。
[0071]从处理器的角度来看,本发明实施例中的处理器只是连续发射了三次并行的读写操作,没有多余的时间开销,从整个过程来看,相比于处理器的运行,整个处理过程只增加了 3个时钟周期,时间上的增加并不大,有效解决了单口存储器的存储冲突的问题,且该冲突解决装置的结构简单,使用方便。
[0072]综上所述,本发明实施例提供了一种解决存储器读写冲突的方法,当检测到读写操作冲突时,将处理器的时钟暂停一下,在暂停的过程中处理冲突的读写操作,处理完后再将处理器的时钟打开,继续处理所述处理器发出的读写操作。通过该方法有效解决了存储器的读写冲突,而且该方法只是增加一个时钟周期,不需要增加其它硬件和软件,实现起来比较方便。
[0073]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
【权利要求】
1.一种解决存储器读写冲突的方法,其特征在于,包括: 当检测到读写操作冲突时,优先处理冲突的写操作,处理完冲突的写操作后再处理冲突的读操作,处理冲突的读操作的同时,将处理器的时钟关闭,冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
2.根据权利要求1所述的方法,其特征在于,当发生读写操作冲突时,在所述处理器时钟关闭前,如果所述处理器已经向存储器发送了其他读写操作,将所述处理器发送的其他读写操作暂存在寄存器中,当冲突的读写操作处理完后,打开所述处理器时钟,先处理所述寄存器中的读写操作,再继续处理所述处理器发出的读写操作。
3.根据权利要求2所述的方法,其特征在于,当发生读写操作冲突时,在所述处理器时钟关闭前,如果所述处理器已经向存储器发送了其他读写操作,处理冲突的读写操作的步骤具体包括: 当检测到读写操作冲突时,优先处理冲突的写操作,然后处理冲突的读操作,在处理读操作的同时把后续发送的其它读写操作暂存在寄存器中,并关闭所述处理器时钟。
4.一种解决存储器读写冲突的装置,其特征在于,包括: 冲突检测模块,用于检测存储器的读写操作冲突,当检测到读写操作冲突时,触发冲突处理模块; 所述冲突处理模块,用于优选处理冲突的写操作,处理完冲突的写操作后再处理冲突的读操作,处理冲突的读操作的同时,将处理器的时钟关闭,冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
5.根据权利要求4所述的装置,其特征在于,还包括寄存器模块; 所述寄存器模块用于,当发生读写操作冲突时,在所述处理器时钟关闭前,所述处理器已经向存储器发送了其他读写操作,暂存所述处理器发送的其他读写操作; 所述冲突处理模块还用于,当冲突的读写操作处理完后,打开处理器时钟,先处理所述寄存器中的读写操作,再继续处理所述处理器发出的读写操作。
6.根据权利要求5所述的装置,其特征在于, 所述冲突处理模块具体用于,优先处理冲突的写操作,然后处理冲突的读操作,处理冲突的读操作的同时将后续发送的其它读写操作暂存在寄存器中,并关闭所述处理器时钟,将冲突的读写操作处理完后,打开所述处理器的时钟,继续处理所述处理器发出的读写操作。
【文档编号】G06F13/18GK103777894SQ201210411865
【公开日】2014年5月7日 申请日期:2012年10月25日 优先权日:2012年10月25日
【发明者】曹庆新, 刘凯, 任晖 申请人:深圳市中兴微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1