本技术属于集成电路领域,具体涉及一种控制器、芯片、电子设备及数据读取方法。
背景技术:
1、随着对硬件设备的配置要求越来越高,对硬件设备中的处理器对数据的读写效率的要求也越来越高,对处理器的性能要求也越来越严格。在以xip(execute in place,即芯片内执行)模式下读访问存储器时,存储器接收到处理器发送的地址后,将会按照地址增大顺序将每个地址对应的数据写入控制器,控制器以先进先出的顺序将数据读给处理器,但若处理器重新向存储器发送了新地址,基于原地址的读流程会中断,并以新地址开始新的读流程,因此在处理器通过控制器发送新地址给存储器时,读访问效率较低。
技术实现思路
1、鉴于此,本技术的目的在于提供一种控制器、芯片、电子设备及数据读取方法,以改善现有处理器通过控制器发送新地址给存储器时,读访问效率较低。
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、在所述最新读地址大于所述先入先出队列中读指针所在的当前读地址,并且所述最新读地址与所述当前读地址之间的差值大于所述先入先出队列的长度的情况下,比较第一时间和第二时间的大小;若所述第一时间小大于所述第二时间,需要发起新数据读取流程;若所述第一时间不小大于所述第二时间,则不需要发起新数据读取流程;其中,所述第一时间为所述新数据读取流程读取到所述目标数据所需的时间,所述第二时间为按照所述当前数据读取流程读取到所述目标数据所需的时间。
31、第三方面,本技术实施例还提供了一种芯片,所述芯片包括:处理器、存储器和上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式所提供的控制器,所述处理器与所述控制器连接,所述控制器与所述存储器连接。
32、第四方面,本技术实施例还提供了一种电子设备,所述电子设备包括至少一个处理器和至少一个存储器,所述处理器与存储器耦合,所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行所述存储器中存储的计算机程序时实现上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法。
33、应当理解的是,本发明实施例的第二~四方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
34、本技术的其他特征和优点将在随后的说明书阐述。本技术的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
1.一种控制器,其特征在于,所述控制器包括:
2.根据权利要求1所述的控制器,其特征在于,所述队列逻辑控制器还被配置为判断所述先入先出队列是否存储有所述目标数据,其中,若所述先入先出队列存储有所述目标数据,则不需要发起新数据读取流程。
3.根据权利要求2所述的控制器,其特征在于,所述队列逻辑控制器还被配置为:
4.根据权利要求2所述的控制器,其特征在于,所述队列逻辑控制器还被配置为在所述先入先出队列未存储有所述目标数据的情况下,比较所述最新读地址与所述先入先出队列中读指针所在的当前读地址的大小;其中,若所述最新读地址小于所述当前读地址,需要发起新数据读取流程。
5.根据权利要求4所述的控制器,其特征在于,所述队列逻辑控制器还被配置为,在所述最新读地址大于所述当前读地址的情况下,比较第一时间和第二时间的大小;若所述第一时间小于所述第二时间,需要发起新数据读取流程;若所述第一时间不小于所述第二时间,则不需要发起新数据读取流程;
6.根据权利要求1-5中任一项所述的控制器,其特征在于,所述队列逻辑控制器还被配置为在所述先入先出队列存储有所述目标数据的情况下,控制所述先入先出队列的读指针从所述当前读地址对应的数据跳转至所述目标数据,并读出所述目标数据。
7.根据权利要求5所述的控制器,其特征在于,所述队列逻辑控制器还被配置为在所述第一时间不小于所述第二时间的情况下,等待所述当前数据读取流程读取所述目标数据并输出。
8.根据权利要求1所述的控制器,其特征在于,所述队列逻辑控制器还被配置为:
9.根据权利要求1所述的控制器,其特征在于,所述队列逻辑控制器还被配置为:
10.一种芯片,其特征在于,包括:
11.一种电子设备,其特征在于,包括:
12.一种数据读取方法,其特征在于,所述方法包括:
13.根据权利要求12所述的方法,其特征在于,判断是否需要发起针对所述最新读地址的新数据读取流程,包括:
14.根据权利要求12所述的方法,其特征在于,判断所述先入先出队列是否存储有所述目标数据,包括:
15.根据权利要求13所述的方法,其特征在于,在判断所述先入先出队列是否存储有所述目标数据之后,所述方法还包括:
16.根据权利要求15所述的方法,其特征在于,在比较所述最新读地址与当前读地址的大小之后,所述方法还包括:
17.根据权利要求12所述的方法,其特征在于,基于当前数据读取流程读取的数据,获取所述目标数据,包括:
18.根据权利要求16所述的方法,其特征在于,基于当前数据读取流程读取的数据,获取所述目标数据,包括:
19.根据权利要求12所述的方法,其特征在于,判断是否需要发起针对所述最新读地址的新数据读取流程,包括:
20.根据权利要求12所述的方法,其特征在于,判断是否需要发起针对所述最新读地址的新数据读取流程,包括: