本申请涉及ic设计领域,特别涉及一种数据读写装置、方法和芯片。
背景技术:
1、在计算机中执行读写操作时,由于ic(集成电路设计)中读写通道是分离的,所以在读写通道分离的总线上分别访问memory(内存,例如ddr或ram等存储器),往往会造成读写乱序。另外,读写通道往往比较长,从读写操作的发出,到读写操作的返回需要一定时间。
2、因此,在执行读写操作时,考虑到读写之间的乱序和读写操作返回需要时间的原因,导致对memory同一地址进行访问时,为了保证读回的数据是最新的数据,只能等一个读或写操作返回后才能执行下一个读写操作,降低了访问总线上memory的效率。
技术实现思路
1、本申请公开了一种数据读写装置、方法和芯片,以提高访问总线上memory的效率,并保证读回的数据是最新的数据。
2、根据本申请实施例的第一方面,提供一种数据读写装置,所述装置通过总线与存储单元通信,所述装置包括:控制器、写操作记录保存单元、读操作记录保存单元;
3、其中,所述写操作记录保存单元用于保存写操作记录,所述写操作记录至少包括写操作对应的写数据、写地址以及写标志位,所述写标志位用于表示所述写数据是否已写入所述存储单元;
4、所述读操作记录保存单元用于保存读操作记录,所述读操作记录至少包括读操作对应的读地址、读操作对应的读数据;
5、所述控制器用于接收并解析当前读操作,获得当前读操作对应的当前读地址,并根据所述当前读地址确定所述写操作记录保存单元中存在目标写记录的情况下,将所述目标写操作记录中的写数据和所述当前读地址写入一读操作记录中,其中,所述目标写操作记录中的写地址与所述当前读地址匹配,所述目标写操作记录中的写标志位表示所述对应的写数据未写入所述存储单元中;
6、所述控制器还用于返回该读操作记录中保存的数据。
7、优选地,所述读操作记录还包括读标志位,所述读标志位用于表示所述读操作记录中保存的读数据是否有效;
8、所述控制器还用于将所述一读操作记录中的所述读标志位设置为第一预设值,用于表示所述读操作记录中已保存的读数据有效。
9、优选地,所述控制器还用于接收总线返回的读数据,根据所述读数据确定目标读记录,若所述目标读记录中的读标志位为第一预设值,则将所述目标读记录中的读数据返回所述读操作发送方,若所述目标读记录中的读标志位为其他值,则将所述总线返回的读数据写入所述目标读记录中,并将所述目标读记录中的读标志位设置为所述第一预设值。
10、优选地,所述控制器还用于接收并解析写操作,获得对应的写数据,并将所述写数据和对应的写地址写入一写操作记录中,并将所述写操作记录中的写标志位设置为第二预设值,用于表示所述写数据未写入所述存储单元中;
11、所述控制器还用于接收写数据已写入所述存储单元的信号,响应于所述信号将所述一写操作记录中的写标志位设置为第三预设值,用于表示所述写数据已写入所述存储单元中。
12、优选地,所述控制器根据所述当前读地址确定所述写操作记录保存单元中存在目标写记录,包括:
13、查找所述写操作记录中当前是否存在候选写记录;所述候选写记录中的写地址与所述当前读地址相同;
14、若存在,将所述候选写记录中写操作的下发时间与当前时间间隔最短的写记录确定为目标写记录。
15、优选地,所述控制器还用于:
16、在返回该读操作记录中已保存的数据时,查找当前写操作记录保存单元中是否存在写地址与所述当前读地址相同、且写标志位为第二预设值的新写记录;
17、若存在,则更新该读操作记录中已保存的数据为所述新写记录中的写数据,返回该读操作记录中更新的数据。
18、根据本申请实施例的第二方面,提供一种数据读写方法,应用于数据读写装置,所述装置通过总线与存储单元通信,所述装置包括:控制器、写操作记录保存单元、读操作记录保存单元;
19、所述控制器接收并解析当前读操作,获得当前读操作对应的当前读地址,并根据所述当前读地址确定所述写操作记录保存单元中存在目标写记录的情况下,将所述目标写操作记录中的写数据和所述当前读地址写入一读操作记录中,其中,所述目标写操作记录中的写地址与所述当前读地址匹配,所述目标写操作记录中的写标志位表示所述对应的写数据未写入所述存储单元中;
20、所述控制器返回该读操作记录中保存的数据;
21、其中,所述写操作记录保存单元用于保存写操作记录,所述写操作记录至少包括写操作对应的写数据、写地址以及写标志位,所述写标志位用于表示所述写数据是否已写入所述存储单元;所述读操作记录保存单元用于保存读操作记录,所述读操作记录至少包括读操作对应的读地址、读操作对应的读数据。
22、优选地,所述读操作记录还包括读标志位,所述读标志位用于表示所述读操作记录中保存的读数据是否有效;
23、所述方法还包括:
24、所述控制器将所述一读操作记录中的所述读标志位设置为第一预设值,用于表示所述读操作记录中已保存的读数据有效。
25、优选地,所述方法还包括:
26、所述控制器接收总线返回的读数据,根据所述读数据确定目标读记录,若所述目标读记录中的读标志位为第一预设值,则将所述目标读记录中的读数据返回所述读操作发送方,若所述目标读记录中的读标志位为其他值,则将所述总线返回的读数据写入所述目标读记录中,并将所述目标读记录中的读标志位设置为所述第一预设值。
27、根据本申请实施例的第三方面,提供一种芯片,所述芯片包括如上任一项所述的数据读写装置。
28、本申请的实施例提供的技术方案可以包括以下有益效果:
29、由以上技术方案可知,本申请提供的方案可以在接收到读操作时,获得当前读操作对应的当前读地址,并根据所述当前读地址确定所述写操作记录保存单元中存在目标写记录的情况下,将所述目标写操作记录中的写数据和所述当前读地址写入一读操作记录中,以读出当前未写入存储单元的最新的写数据,防止读出的数据与内存中最新数据不同,而不需要等待写操作完成,提高了访问内存的效率。
30、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种数据读写装置,其特征在于,所述装置通过总线与存储单元通信,所述装置包括:控制器、写操作记录保存单元、读操作记录保存单元;
2.根据权利要求1所述的读写装置,其特征在于:
3.根据权利要求2所述的读写装置,其特征在于:
4.根据权利要求3所述的读写装置,其特征在于,
5.根据权利要求4所述的读写装置,其特征在于,所述控制器根据所述当前读地址确定所述写操作记录保存单元中存在目标写记录,包括:
6.根据权利要求4所述的读写装置,其特征在于,所述控制器还用于:
7.一种数据读写方法,其特征在于,应用于数据读写装置,所述装置通过总线与存储单元通信,所述装置包括:控制器、写操作记录保存单元、读操作记录保存单元;
8.根据权利要求7所述的读写方法,其特征在于:
9.根据权利要求8所述的读写装置,其特征在于,所述方法还包括:
10.一种芯片,其特征在于,所述芯片包括如权利要求1-6任一项所述的数据读写装置。