一种预取buffer数据一致性的处理方法及装置制造方法及图纸

技术编号:25550615 阅读:32 留言:0更新日期:2020-09-08 18:49
本发明专利技术公开一种预取buffer数据一致性的处理方法及装置,属于集成电路技术领域。处理器发出访问请求,数据一致性控制模块将处理器发出的访问地址与预取buffer地址寄存器中的值进行比较,并结合处理器发出的读写信号进行读写判断;为写操作时,若地址比较结果一致,数据一致性控制模块对数据一致性状态寄存器写1,表示当前预取buffer中的数据与对应Cache Line中的数据不一致。若地址比较结果不一致,数据一致性控制模块保持数据一致性状态寄存器的值不变;为读操作时,若地址比较的结果匹配,且数据一致性状态寄存器中的值为0,处理器从预取buffer中读取数据。否则处理器直接从存储器Cache中读所需要的数据。

【技术实现步骤摘要】
一种预取buffer数据一致性的处理方法及装置
本专利技术涉及集成电路
,特别涉及一种预取buffer数据一致性的处理方法及装置。
技术介绍
随着半导体工艺和处理器设计技术水平的不断提高,处理器的性能每年以60%左右的速度快速增长。与此同时,主存储器的访问速度却始终得不到大的提升,成为影响系统性能的一个最重要的瓶颈。为了解决存储墙的问题,目前处理器一般都采用预取buffer(缓冲器),一级或二级Cache(高速缓冲存储器),再加上外部存储器的这种存储结构。然而这种分层次的存储结构,改善存储器访问速度的同时,也带来了数据一致性问题。由于预取buffer中的数据来Cache,处理器对Cache中某一CacheLine(缓存行)进行写操作,如果这一行CacheLine的数据在写之前已经映射到预取buffer中,处理器对这一行CacheLine写完数据后,直接导致了当前CacheLine中的数据与预取buffer中数据不一致。如果处理器再对这一地址进行读操作,根据预取buffer优先读取机制,会首先读取预取buffer中的数据,而此时预取buffer中的数据是处理器写之前的数据,处理器读取到错误的数据直接会使整个电路系统运行出错。数据一致性的问题,直接影响到处理器执行指令与取数的正确性,也受到了越来越多的关注。
技术实现思路
本专利技术的目的在于提供一种预取buffer数据一致性的处理方法及装置,以解决目前带有预取buffer存储结构,由于处理器对存储器进行写后读相关操作后导致的数据不一致性的问题。为解决上述技术问题,本专利技术提供一种预取buffer数据一致性的处理方法,包括:处理器发出访问请求,数据一致性控制模块将处理器发出的访问地址与预取buffer地址寄存器中的值进行比较,并结合处理器发出的读写信号进行读写判断;当为写操作,若地址比较结果一致,表明预取buffer与之对应的CacheLine中数据将被修改,此时预取buffer中的数据仍对应CacheLine修改之前的数据,数据一致性控制模块对数据一致性状态寄存器写1,表示当前预取buffer中的数据与对应CacheLine中的数据不一致;若地址比较结果不一致,表明预取buffer与之对应的CacheLine中数据保持不变,数据一致性控制模块保留数据一致性状态寄存器原来的值;当为读操作,若地址比较结果一致,根据数据一致性状态寄存器中的值进行数据一致性判断,若值为1,则处理器直接从存储器Cache中读所需要的数据;若值为0,则处理器从预取buffer中读取数据;若地址比较结果不一致,处理器直接从存储器Cache中读所需要的数据;读操作时,地址比较结果不一致,或者数据一致性状态寄存器中的值为1时,处理器直接从存储器Cache中读所需要的数据,数据一致性控制模块将处理器读取存储器Cache所在行的数据全部更新到预取buffer中,并同时更新预取buffer地址寄存器和数据一致性状态寄存器的值。可选的,若处理器发出读操作访问请求,当数据一致性状态寄存器中的值为1时,那多选器的选择信号sel的值为0,处理器从存储器Cache中取数据;当预取buffer地址寄存器中的值与处理器发出的地址不匹配时,则多选器的选择信号sel的值为0,处理器从存储器Cache中取数据;当数据一致性状态寄存器中的值为0时,并且预取buffer地址寄存器中的值与处理器发出的地址匹配成功,那多选器的选择信号sel的值为1,处理器直接从预取buffer中取数据。可选的,若处理器发出读操作访问请求,当预取buffer地址寄存器中的值与处理器发出的地址比较结果不一致,或者数据一致性状态寄存器中的值为1时,数据一致性控制模块将处理器读取存储器Cache所在行的数据全部更新到预取buffer中,同时更新预取buffer地址寄存器中值和数据一致性状态寄存器的值,使得预取buffer中数据、数据对应的地址以及一致性状态位相互对应。可选的,若处理器发出写操作访问请求,当预取buffer地址寄存器中的值与处理器发出的地址匹配,并且处理器发出的写信号有效,则向数据一致性状态寄存器写1,表明当前预取buffer中的数据与对应CacheLine中的数据不一致;当处理器需要读取这个地址的数据时,应跳过预取buffer,直接从对应CacheLine中取数据。本专利技术还提供了一种预取buffer数据一致性的处理装置,包括处理器和存储器Cache,还包括:预取buffer,用于存放预取的数据,以便所述处理器直接从所述预取buffer中取到所需数据,减少对存储器Cache的访问次数;预取buffer地址寄存器,用于存放当前预取buffer中的数据所对应的地址;数据一致性控制模块,通过对处理器发出的访问地址与预取buffer地址寄存器的值进行比较,来检测预取buffer中的数据是否与存储器Cache中对应的数据一致,以及对预取buffer,预取buffer地址寄存器和数据一致性状态寄存器进行同步更新;数据一致性状态寄存器,存放所述数据一致性控制模块的检测结果,当数据一致性状态寄存器值为1时,表示预取buffer中的数据与对应CacheLine中的数据不一致;当数据一致性状态寄存器值为0时,表示预取buffer中的数据与对应CacheLine中的数据一致。可选的,当前预取buffer中的数据对应的地址存放在所述预取buffer地址寄存器中;当处理器对存储器Cache进行读操作时,根据数据一致性控制模块对地址的比较结果,并结合数据一致性状态寄存器中的状态位来判断当前预取buffer中的数据是否为处理器所需的数据;当处理器对存储器Cache进行写操作时,根据数据一致性控制模块对地址的比较结果,判断当前预取buffer中的数据是否与CacheLine中的数据一致。可选的,预取buffer大小与CacheLine大小一致,其对应关系采用地址直接映射,预取buffer中的数据来自相对应的CacheLine,当处理器需要访问数据时,采用预取buffer优先访问机制,首先判断预取buffer中是否含有所需要的数据。在本专利技术中提供了一种预取buffer数据一致性的处理方法及装置,处理器发出访问请求,数据一致性控制模块将处理器发出的访问地址与预取buffer地址寄存器中的值进行比较,并结合处理器发出的读写信号进行读写判断。当为写操作时,若地址匹配,就表明预取buffer与之对应的CacheLine中数据将被修改,数据一致性控制模块对数据一致性状态寄存器写1,表示当前预取buffer中的数据与对应CacheLine中的数据不一致;当为读操作时,若地址比较的结果匹配,根据数据一致性状态寄存器中的值进行数据一致性判断,若值为1,则处理器直接从存储器Cache中读所需要的数据;若值为0,则处理器从预取buffer中读取数据;若地址比较结果不匹配,处理器直接从存储器Cache中读所需要的数据。本专利技术通过增加少量的硬件控本文档来自技高网...

【技术保护点】
1.一种预取buffer数据一致性的处理方法,其特征在于,包括:/n处理器发出访问请求,数据一致性控制模块将处理器发出的访问地址与预取buffer地址寄存器中的值进行比较,并且根据处理器发出的读写信号进行读写判断;/n当为写操作,若地址比较结果一致,表明预取buffer与之对应的Cache Line中数据将被修改,此时预取buffer中的数据仍对应Cache Line修改之前的数据,数据一致性控制模块对数据一致性状态寄存器写1,表示当前预取buffer中的数据与对应Cache Line中的数据不一致;若地址比较结果不一致,表明预取buffer与之对应的Cache Line中数据保持不变,数据一致性控制模块保留数据一致性状态寄存器原来的值;/n当为读操作,若地址比较结果一致,根据数据一致性状态寄存器中的值进行数据一致性判断,若值为1,则处理器直接从存储器Cache中读所需要的数据;若值为0,则处理器从预取buffer中读取数据;若地址比较结果不一致,处理器直接从存储器Cache中读所需要的数据;/n读操作时,地址比较结果不一致,或者数据一致性状态寄存器中的值为1时,处理器直接从存储器Cache中读所需要的数据,数据一致性控制模块将处理器读取存储器Cache所在行的数据全部更新到预取buffer中,并同时更新预取buffer 地址寄存器和数据一致性状态寄存器的值。/n...

【技术特征摘要】
1.一种预取buffer数据一致性的处理方法,其特征在于,包括:
处理器发出访问请求,数据一致性控制模块将处理器发出的访问地址与预取buffer地址寄存器中的值进行比较,并且根据处理器发出的读写信号进行读写判断;
当为写操作,若地址比较结果一致,表明预取buffer与之对应的CacheLine中数据将被修改,此时预取buffer中的数据仍对应CacheLine修改之前的数据,数据一致性控制模块对数据一致性状态寄存器写1,表示当前预取buffer中的数据与对应CacheLine中的数据不一致;若地址比较结果不一致,表明预取buffer与之对应的CacheLine中数据保持不变,数据一致性控制模块保留数据一致性状态寄存器原来的值;
当为读操作,若地址比较结果一致,根据数据一致性状态寄存器中的值进行数据一致性判断,若值为1,则处理器直接从存储器Cache中读所需要的数据;若值为0,则处理器从预取buffer中读取数据;若地址比较结果不一致,处理器直接从存储器Cache中读所需要的数据;
读操作时,地址比较结果不一致,或者数据一致性状态寄存器中的值为1时,处理器直接从存储器Cache中读所需要的数据,数据一致性控制模块将处理器读取存储器Cache所在行的数据全部更新到预取buffer中,并同时更新预取buffer地址寄存器和数据一致性状态寄存器的值。


2.如权利要求1所述的预取buffer数据一致性的处理方法,其特征在于,若处理器发出读操作访问请求,当数据一致性状态寄存器中的值为1时,那多选器的选择信号sel的值为0,处理器从存储器Cache中取数据;当预取buffer地址寄存器中的值与处理器发出的地址不匹配时,则多选器的选择信号sel的值为0,处理器从存储器Cache中取数据;
当数据一致性状态寄存器中的值为0时,并且预取buffer地址寄存器中的值与处理器发出的地址匹配成功,那多选器的选择信号sel的值为1,处理器直接从预取buffer中取数据。


3.如权利要求1所述的预取buffer数据一致性的处理方法,其特征在于,若处理器发出读操作访问请求,当预取buffer地址寄存器中的值与处理器发出的地址比较结果不一致,或者数据一致性状态寄存器中的值为1时,数据一致性控制模块将处理器读取存储器Cache所在行的数据全部更新到预取buffer中,同时更新预取buffer地址寄存器中值和数据一致性状态寄存器的值,使得预取buffer中数据、数据对应的地址...

【专利技术属性】
技术研发人员:杨晓刚朱樟明魏敬和
申请(专利权)人:中科芯集成电路有限公司
类型:发明
国别省市:江苏;32

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

1