CN117909266A - 数据选择方法、装置、电路及设备 - Google Patents

数据选择方法、装置、电路及设备 Download PDF

Info

Publication number
CN117909266A
CN117909266A CN202410073368.4A CN202410073368A CN117909266A CN 117909266 A CN117909266 A CN 117909266A CN 202410073368 A CN202410073368 A CN 202410073368A CN 117909266 A CN117909266 A CN 117909266A
Authority
CN
China
Prior art keywords
data
multiplexers
group
equal
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410073368.4A
Other languages
English (en)
Inventor
李博超
张晋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202410073368.4A priority Critical patent/CN117909266A/zh
Publication of CN117909266A publication Critical patent/CN117909266A/zh
Pending legal-status Critical Current

Links

Abstract

本申请公开了一种数据选择方法、装置、电路及设备,属于数据处理领域。本申请实施例的数据选择方法,包括:获取指示信号和缓存器的M行数据;根据所述指示信号,确定K组多路选择器中每组多路选择器是否输出重排列数据;根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K

Description

数据选择方法、装置、电路及设备
技术领域
本申请属于数据处理领域,具体涉及一种数据选择方法、装置、电路及设备。
背景技术
目前,数字图像处理算法中,多行数据信息是必不可少的,在一些简单的子模块中,例如需要开窗的算法,上/下采样模块等都需要必要的多行数据信息。更进一步的,对于处理多个模块的大型模块,经常会出现算法产生的行延迟后,再对原始数据进行对齐的情况。于是,在数字电路设计中,行缓存器的使用是十分常见的。其中,要从行缓存器中选取目标行数据而避免将所有的行数据读出,通常会引入比较器以及使用case语句。
然而,引入的比较器新增了逻辑开销,尤其是,需要选取大量行数据时,逻辑开销会大大增加。
发明内容
本申请实施例的目的是提供一种数据选择方法、装置、电路及设备,能够实现降低逻辑开销的目的。
第一方面,本申请实施例提供了一种数据选择方法,包括:
获取指示信号和缓存器的M行数据;
根据所述指示信号,确定K组多路选择器中每组多路选择器是否输出重排列数据;
根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;
其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
第二方面,本申请实施例提供了一种数据选择装置,包括:
获取模块,用于获取指示信号和缓存器的M行数据;
第一处理模块,用于根据所述指示信号,确定K组多路选择器中,每组多路选择器是否输出重排列数据;
第二处理模块,用于根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;
其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
第三方面,本申请实施例提供了一种数据选择电路,包括:
K组依次连接的多路选择器,用于选出缓存器包括的M行数据中的N行数据;
其中,每组多路选择器的第一端用于接入多行数据,每组多路选择器的第二端用于接入指示信号,所述指示信号用于指示每组多路选择器是否输出重排列数据;
M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
第四方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第六方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本申请实施例中,针对缓存器的M行数据,能够基于指示信号确定K组多路选择器中每组多路选择器是否输出重排列数据,从而由该K组多路选择器中最后一组多路选择器的输出得到N行数据,实现在M行数据中选出N行数据,仅需要搭建缓存器与K组多路选择器的连接,无需引入比较器,降低了数据选择过程中的逻辑开销,而且,电路开销也较小,组合逻辑延迟也很低。
附图说明
图1是本申请实施例的方法的流程示意图;
图2是本申请实施例方法的应用示意图之一;
图3是本申请实施例方法的应用示意图之二;
图4是本申请实施例方法的应用示意图之三;
图5是本申请实施例的装置的模块结构示意图;
图6是本申请实施例的数据选择电路的结构示意图;
图7是本申请实施例的电子设备的结构示意图;
图8是本申请实施例的终端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
为了方便理解,以下对本申请实施例涉及的一些内容进行说明:
缓存器的读出数据,与寄存器之间可供使用组合逻辑时间窗口非常有限。同时又需要避免将所有的行读出数据输入寄存器,因此,需要在很短的时间窗口内实现所需行的选取逻辑。更重要的,需要防止输入数据的绕线问题,这个位置的出现连线过多,导致的绕线问题是不被允许的。
以16行缓存器为例,使用case语句的数据选择,需要先对用于指示选取行的位置的信号进行判断,即引入比较器,获得当前待选行的指示信号;之后,根据判断结果使用多路选择器选出所需行数据。引入的比较器新增了逻辑开销,同时,选取多行时,会对后端实现的绕线造严重的问题。另外,代码书写方式冗余复杂,在需要添加其他逻辑时,还要注意信号分离。
或者,也可使用if-else语句。但是,该语句综合时,会产生串联的多路选择器,一共需要16级的多路选择器,才能选出一行的所需的缓存行,会造成大量的逻辑开销浪费以及逻辑延迟。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据选择方法、装置、电路及设备进行详细地说明。
如图1所示,本申请实施例的一种数据选择方法,包括:
步骤101,获取指示信号和缓存器的M行数据。
这里,指示信号是根据需要选出的目标行数据生成的,而M行数据是缓存器的所有数据,也可理解为待选行数据。在本步骤中,通过获取该指示信号和该M行数据,以便后续能够基于需求完成目标行数据的输出。
步骤102,根据所述指示信号,确定K组多路选择器中每组多路选择器是否输出重排列数据。
即,该指示信号用于指示K组多路选择器中每组多路选择器是否输出重排列数据。
步骤103,根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;
其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
由于M的取值小于或等于2K,而缓存器能够缓存的数据行数M是确定的,则K的取值是通过对log2 M向上取整得到的。例如,如图2所示,M=16,则K=4;如图3所示,M=10,K=4;如图4所示,M=23,K=5。
如此,按照上述步骤,针对缓存器的M行数据,能够基于指示信号确定K组多路选择器中每组多路选择器是否输出重排列数据,从而由该K组多路选择器中最后一组多路选择器的输出得到N行数据,实现在M行数据中选出N行数据,仅需要搭建缓存器与K组多路选择器的连接,无需引入比较器,降低了数据选择过程中的逻辑开销,而且,电路开销也较小,组合逻辑延迟也很低。
可选地,所述指示信号为位宽为n的信号,M的取值小于或等于2n
所述根据所述指示信号,确定K组多路选择器中,每组多路选择器是否输出重排列数据,包括:
在第k组多路选择器接入第一数据的情况下,确定重排列的第二数据;
根据所述指示信号中与所述第k组多路选择器对应的比特位的取值,确定所述第k组多路选择器输出所述第一数据,或者,所述第二数据;
其中,k为大于或等于1,且小于或等于K的整数;所述第一数据和所述第二数据均包括X行,X为大于或等于1,且小于或等于M的整数。
这里,M的取值也小于或等于2n,而在上述内容中已知M的取值小于或等于2K,K为多路选择器组的数量,则,还可以知道的是,指示信号的位宽n与多路选择器组的数量K一致,从而该指示信息的每个比特位能够指示对应的多路选择器组是否输出重排列数据。n的取值也可以通过对log2 M向上取整得到。
如此,步骤102中,对于K组多路选择器的任一组多路选择器,也就是第k组多路选择器,可以在其接入第一数据的情况下确定重排列的第二数据,从而以第一数据和第二数据作为第k组多路选择器的两路输入;之后,根据指示信号中与该第k组多路选择器对应的比特位的取值,确定该第k组多路选择器输出所述第一数据,或者,所述第二数据。
其中,第二数据是由第一数据重排列得到的。
其中,指示信号的比特位与多路选择器组的对应关系可以是预先配置的,可选地,指示信号中从低位到高位依次对应第1组多路选择器,第2组多路选择器,…,第K组多路选择器。
例如,如图2所示,假设M=16,N=16,则K=4,指示信号(index信号)为位宽为4的信号,当index信号中从低位到高位依次对应第1组多路选择器、第2组多路选择器、…、第4组多路选择器的情况下,第1组多路选择器由该指示信号的最低位(记为index[0])决定输出第一数据还是第二数据,第2组多路选择器由该指示信号的次低位(记为index[1])决定输出第一数据还是第二数据,第3组多路选择器由该指示信号的次高位(记为index[2])决定输出第一数据还是第二数据,第4组多路选择器由该指示信号的最高位(记为index[3])决定输出第一数据还是第二数据。
如图3所示,假设M=10,N=3,则K=4,指示信号(index信号)为位宽为4的信号,当index信号中从低位到高位依次对应第1组多路选择器、第2组多路选择器、…、第4组多路选择器的情况下,第1组多路选择器由该指示信号的最低位(记为index[0])决定输出第一数据还是第二数据,第2组多路选择器由该指示信号的次低位(记为index[1])决定输出第一数据还是第二数据,第3组多路选择器由该指示信号的次高位(记为index[2])决定输出第一数据还是第二数据,第4组多路选择器由该指示信号的最高位(记为index[3])决定输出第一数据还是第二数据。
如图4所示,假设M=23,N=8,则K=5,指示信号(index信号)为位宽为5的信号,当index信号中从低位到高位依次对应第1组多路选择器、第2组多路选择器、…、第5组多路选择器的情况下,第1组多路选择器由该指示信号的最低位(记为index[0])决定输出第一数据还是第二数据,第2组多路选择器由该指示信号的次低位(记为index[1])决定输出第一数据还是第二数据,第3组多路选择器由该指示信号的中间位(记为index[2])决定输出第一数据还是第二数据,第4组多路选择器由该指示信号的次高位(记为index[3])决定输出第一数据还是第二数据,第5组多路选择器由该指示信号的最高位(记为index4])决定输出第一数据还是第二数据。
可选地,该实施例中,K组多路选择器中最后一组多路选择器,即第1组多路选择器。
可选地,该实施例中,在所述比特位的取值为第一值的情况下,所述第k组多路选择器输出所述第二数据;
在所述比特位的取值为第二值的情况下,所述第k组多路选择器输出所述第一数据。
其中,第一值和第二值是预先配置的,如第一值为1,第二值为0,则,在第k组多路选择器对应的比特位为1时,该第k组多路选择器输出第二数据;在第k组多路选择器对应的比特位为0时,该第k组多路选择器输出第一数据。
可选地,该实施例中,所述第一数据为第k+1组多路选择器输出的数据;或者,
所述第一数据为第k+1组多路选择器输出的数据中的低T行数据;其中,T的取值等于2k-1+N-1
也就是说,一种方式中,第k组多路选择器的一路输入即前一组多路选择器输出的数据。例如,如图2所示,当k=2时,第2组多路选择器的一路输入是第3组多路选择器的输出的数据。
另一种方式中,第k组多路选择器的一路输入即前一组(第k+1组)多路选择器输出的数据中的低T行输入,且,T的取值等于2k-1+N-1。例如,如图3所示,当k=2时,由于第3组多路选择器的输出的数据是6行数据,则第2组多路选择器的一路输入是这6行数据中的低4(22-1+3-1)行数据。又如图4所示,当k=2时,由于第3组多路选择器的输出的数据是11行数据,则第2组多路选择器的一路输入是这11行数据中的低9(22-1+8-1)行数据。
其中,对于需要的数据行数N小于缓存器存储的数据行数M的情况,优选第一数据为第k+1组多路选择器输出的数据中的低T行数据,能够优化多路选择器组的输入,减少数据处理过程,降低逻辑开销。
当然,对于第K组多路选择器,该第K组多路选择器的第一数据是从缓存器获取的M行数据。
可选地,该实施例中,所述确定重排列的第二数据,包括:
在所述第一数据为第k+1组多路选择器输出的数据的情况下,将所述第一数据中的低Y行数据移位至高位后所得的数据作为所述第二数据;
在所述第一数据为第k+1组多路选择器输出的数据中的低T行数据的情况下,将所述第k+1组多路选择器输出的数据中的低Y行数据移位至高位后,截取低T行数据作为所述第二数据;
其中,Y的取值大于或等于2k-1
由于对于某组多路选择器,其第一数据和第二数据均包括X行,也可以理解为第一数据和第二数据是对齐的。
其中,当第k组多路选择器的第一数据为第k+1组多路选择器输出的A行数据时,第二数据是将该A行数据中的低Y行数据移位至高位后所得的数据。如图2所示,第2组多路选择器的第一数据是第3组多路选择器输出的16行数据,则第二数据是将这16行数据中的L1和L0两行数据移位至高位后重新排列的16行数据。
当第k组多路选择器的第一数据为第k+1组多路选择器输出的A行数据中的低T行数据时,第二数据是将该A行数据中的低Y行数据移位至高位进行重排列,得到新的A行数据后,进一步对新的A行数据的低T行数据截取所得的数据。如图3所示,第2组多路选择器的第一数据是第3组多路选择器输出的6行数据中的低4行数据,即第一数据是该6行数据中行L3~L0的数据,则第二数据是将这6行数据中的L1和L0两行数据移位至高位进行重排列得到新的6行数据后,在这个新的6行数据中截取的低4行数据,如此,第二数据实际为第3组多路选择器输出的6行数据中行L5~L2的数据。或者,如图4所示,第2组多路选择器的第一数据是第3组多路选择器输出的11行数据中的低9行数据,即第一数据是该11行数据中行L8~L0的数据,则第二数据是将这11行数据中的L1和L0两行数据移位至高位进行重排列得到新的11行数据后,在这个新的11行数据中截取的低9行数据,如此,第二数据实际为第3组多路选择器输出的11行数据中行L10~L2的数据。
可选地,该实施例中,所述根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据,包括:
在所述最后一组多路选择器输出的数据包括M行的情况下,选择输出的数据中的低N行数据。
也就是说,在第1组多路选择器输出的数据行数与获取的缓存器的数据行数相同时,对于最终获取的目标数据,也就是N行数据,会在第1组多路选择器输出的数据中选出低N行数据作为目标数据。例如,如图2所示的4组多路选择器,若用户想要选出缓存器的第5行数据,即行L4的数据,则指示信号为“0100”,也就是,index[3:0],index[2:1],index[1:0],index[0:0]。因此,第4组多路选择器输出的数据为缓存器的行L15~L0的数据,第3组多路选择器输出的数据为缓存器的行L3、L2、L1、L0、L15、…、L4的数据,第2组和第1组多路选择器输出的数据与第3组多路选择器输出的数据相同,最终,第1组多路选择器输出的数据选出最低1行的数据,也就是行L4的数据。
如图3所示的4组多路选择器,若用户想要选出缓存器的第7~9行数据,即行L8~L6的数据,则指示信号为“0110”,也就是,index[3:0],index[2:1],index[1:1],index[0:0]。因此,第4组多路选择器输出的数据为缓存器的行L9~L0的数据,第3组多路选择器输出的数据为缓存器的行L9~L4的数据,第2组多路选择器输出的数据为缓存器的行L9~L6的数据,第1组多路选择器输出的数据为缓存器的行L8~L6的数据。
需要说明的是,该实施例中,可选地,所述K组多路选择器,每组多路选择器的第一端用于接入多行数据,每组多路选择器的第二端用于接入指示信号。
其中,每组多路选择器可以具有两个第一端,分别接入第一数据和第二数据,此时,第二数据是在输入该组多路选择器之前确定的。或者,每组多路选择器可以仅有一个第一端,接入第一数据,而该组多路选择器内部基于接入的第一数据确定第二数据,然后由第一数据和第二数据进行输出。
这样,本申请实施例中,K组多路选择器串联,具有更少的逻辑连线,对于电路设计中的后端阶段具有更佳的适用性。并且,面对更大的缓存器存储行数,所增加的逻辑开销与逻辑延迟是十分缓慢的。
本申请实施例提供的数据选择方法,执行主体可以为数据选择装置。本申请实施例中以数据选择装置执行数据选择方法为例,说明本申请实施例提供的数据选择装置。
如图5所示,本申请实施例的一种数据选择装置500,包括:
获取模块510,用于获取指示信号和缓存器的M行数据;
第一处理模块520,用于根据所述指示信号,确定K组多路选择器中,每组多路选择器是否输出重排列数据;
第二处理模块530,用于根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;
其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
可选地,所述指示信号为位宽为n的信号,M的取值小于或等于2n
所述第一处理模块包括:
第一处理子模块,用于在第k组多路选择器接入第一数据的情况下,确定重排列的第二数据;
第二处理子模块,用于根据所述指示信号中与所述第k组多路选择器对应的比特位的取值,确定所述第k组多路选择器输出所述第一数据,或者,所述第二数据;
其中,k为大于或等于1,且小于或等于K的整数;所述第一数据和所述第二数据均包括X行数据,X为大于或等于1,且小于或等于M的整数。
可选地,在所述比特位的取值为第一值的情况下,所述第k组多路选择器输出所述第二数据;
在所述比特位的取值为第二值的情况下,所述第k组多路选择器输出所述第一数据。
可选地,所述第一数据为第k+1组多路选择器输出的数据;或者,
所述第一数据为第k+1组多路选择器输出的数据中的低T行数据;其中,T的取值等于2k-1+N-1。
可选地,所述第一处理子模块还用于:
在所述第一数据为第k+1组多路选择器输出的数据的情况下,将所述第一数据中的低Y行数据移位至高位后所得的数据作为所述第二数据;
在所述第一数据为第k+1组多路选择器输出的数据中的低T行数据的情况下,将所述第k+1组多路选择器输出的数据中的低Y行数据移位至高位后,截取低T行数据作为所述第二数据;
其中,Y的取值大于或等于2k-1
可选地,所述第二处理模块还用于:
在所述最后一组多路选择器输出的数据包括M行的情况下,选择输出的数据中的低N行数据。
该装置针对缓存器的M行数据,能够基于指示信号确定K组多路选择器中每组多路选择器是否输出重排列数据,从而由该K组多路选择器中最后一组多路选择器的输出得到N行数据,实现在M行数据中选出N行数据,仅需要搭建缓存器与K组多路选择器的连接,无需引入比较器,降低了数据选择过程中的逻辑开销,而且,电路开销也较小,组合逻辑延迟也很低。
本申请实施例中的数据选择装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的数据选择装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的数据选择装置能够实现图1至图4的方法实施例实现的各个过程,为避免重复,这里不再赘述。
如图6所示,本申请实施例还提供一种数据选择电路,包括:
K组依次连接的多路选择器,用于选出缓存器包括的M行数据中的N行数据;
其中,每组多路选择器的第一端用于接入多行数据,每组多路选择器的第二端用于接入指示信号,所述指示信号用于指示每组多路选择器是否输出重排列数据;
M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
可选地,所述指示信号为位宽为n的信号,M的取值小于或等于2n;且
所述指示信号在对应比特位的取值为第一值的情况下,指示第k组多路选择器输出第二数据;所述指示信号在对应比特位的取值为第二值的情况下,指示第k组多路选择器输出第一数据;
其中,所述第一数据和所述第二数据均包括X行,X为大于或等于1,且小于或等于M的整数;所述第一数据是所述第k组多路选择器的接入数据,所述第二数据为所述第k组多路选择器的重排列数据。
可选地,所述第一数据为第k+1组多路选择器输出的数据;或者,
所述第一数据为第k+1组多路选择器输出的数据中的低T行数据;其中,T的取值等于2k-1+N-1。
可选地,在所述第一数据为第k+1组多路选择器输出的数据的情况下,所述第二数据为所述第一数据中的低Y行数据移位至高位后所得的数据;
在所述第一数据为第k+1组多路选择器输出的数据中的低T行数据的情况下,所述第二数据为将所述第k+1组多路选择器输出的数据中的低Y行数据移位至高位所得数据的低T行数据;
其中,Y的取值大于或等于2k-1
可选地,所述数据选择电路还包括输出选择器,所述输出选择器用于在K组多路选择器中最后一组多路选择器的输出的数据包括M行的情况下,在所述最后一组多路选择器的输出数据中选择并输出低N行数据。
这样,针对缓存器的M行数据,能够基于指示信号确定K组多路选择器中每组多路选择器是否输出重排列数据,从而由该K组多路选择器中最后一组多路选择器的输出得到N行数据,实现在M行数据中选出N行数据,仅需要搭建缓存器与K组多路选择器的连接,无需引入比较器,降低了数据选择过程中的逻辑开销,而且,电路开销也较小,组合逻辑延迟也很低。
可选地,如图7所示,本申请实施例还提供一种电子设备700,包括处理器701和存储器702,存储器702上存储有可在所述处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述数据选择方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图8为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、以及处理器810等部件。
本领域技术人员可以理解,电子设备800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器810,用于获取指示信号和缓存器的M行数据;
根据所述指示信号,确定K组多路选择器中每组多路选择器是否输出重排列数据;
根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;
其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
可选地,所述指示信号为位宽为n的信号,M的取值小于或等于2n
所述处理器810还用于:
在第k组多路选择器接入第一数据的情况下,确定重排列的第二数据;
根据所述指示信号中与所述第k组多路选择器对应的比特位的取值,确定所述第k组多路选择器输出所述第一数据,或者,所述第二数据;
其中,k为大于或等于1,且小于或等于K的整数;所述第一数据和所述第二数据均包括X行,X为大于或等于1,且小于或等于M的整数。
可选地,在所述比特位的取值为第一值的情况下,所述第k组多路选择器输出所述第二数据;
在所述比特位的取值为第二值的情况下,所述第k组多路选择器输出所述第一数据。
可选地,所述第一数据为第k+1组多路选择器输出的数据;或者,
所述第一数据为第k+1组多路选择器输出的数据中的低T行数据;其中,T的取值等于2k-1+N-1。
可选地,所述处理器810还用于:
在所述第一数据为第k+1组多路选择器输出的数据的情况下,将所述第一数据中的低Y行数据移位至高位后所得的数据作为所述第二数据;
在所述第一数据为第k+1组多路选择器输出的数据中的低T行数据的情况下,将所述第k+1组多路选择器输出的数据中的低Y行数据移位至高位后,截取低T行数据作为所述第二数据;
其中,Y的取值大于或等于2k-1
可选地,所述处理器810还用于:
在所述最后一组多路选择器输出的数据包括M行的情况下,选择输出的数据中的低N行数据。
应理解的是,本申请实施例中,输入单元804可以包括图形处理器(GraphicsProcessing Unit,GPU)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807包括触控面板8071以及其他输入设备8072中的至少一种。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器809可用于存储软件程序以及各种数据。存储器809可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器809可以包括易失性存储器或非易失性存储器,或者,存储器809可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器809包括但不限于这些和任意其它适合类型的存储器。
处理器810可包括一个或多个处理单元;可选的,处理器810集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述数据选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (17)

1.一种数据选择方法,其特征在于,包括:
获取指示信号和缓存器的M行数据;
根据所述指示信号,确定K组多路选择器中每组多路选择器是否输出重排列数据;
根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;
其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
2.根据权利要求1所述的方法,其特征在于,所述指示信号为位宽为n的信号,M的取值小于或等于2n
所述根据所述指示信号,确定K组多路选择器中,每组多路选择器是否输出重排列数据,包括:
在第k组多路选择器接入第一数据的情况下,确定重排列的第二数据;
根据所述指示信号中与所述第k组多路选择器对应的比特位的取值,确定所述第k组多路选择器输出所述第一数据,或者,所述第二数据;
其中,k为大于或等于1,且小于或等于K的整数;所述第一数据和所述第二数据均包括X行,X为大于或等于1,且小于或等于M的整数。
3.根据权利要求2所述的方法,其特征在于,
在所述比特位的取值为第一值的情况下,所述第k组多路选择器输出所述第二数据;
在所述比特位的取值为第二值的情况下,所述第k组多路选择器输出所述第一数据。
4.根据权利要求2或3所述的方法,其特征在于,所述第一数据为第k+1组多路选择器输出的数据;或者,
所述第一数据为第k+1组多路选择器输出的数据中的低T行数据;其中,T的取值等于2k -1+N-1。
5.根据权利要求4所述的方法,其特征在于,所述确定重排列的第二数据,包括:
在所述第一数据为第k+1组多路选择器输出的数据的情况下,将所述第一数据中的低Y行数据移位至高位后所得的数据作为所述第二数据;
在所述第一数据为第k+1组多路选择器输出的数据中的低T行数据的情况下,将所述第k+1组多路选择器输出的数据中的低Y行数据移位至高位后,截取低T行数据作为所述第二数据;
其中,Y的取值大于或等于2k-1
6.根据权利要求1所述的方法,其特征在于,所述根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据,包括:
在所述最后一组多路选择器输出的数据包括M行的情况下,选择输出的数据中的低N行数据。
7.一种数据选择装置,其特征在于,包括:
获取模块,用于获取指示信号和缓存器的M行数据;
第一处理模块,用于根据所述指示信号,确定K组多路选择器中,每组多路选择器是否输出重排列数据;
第二处理模块,用于根据所述K组多路选择器中最后一组多路选择器的输出,得到所述M行数据中的N行数据;
其中,M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
8.根据权利要求7所述的装置,其特征在于,所述指示信号为位宽为n的信号,M的取值小于或等于2n
所述第一处理模块包括:
第一处理子模块,用于在第k组多路选择器接入第一数据的情况下,确定重排列的第二数据;
第二处理子模块,用于根据所述指示信号中与所述第k组多路选择器对应的比特位的取值,确定所述第k组多路选择器输出所述第一数据,或者,所述第二数据;
其中,k为大于或等于1,且小于或等于K的整数;所述第一数据和所述第二数据均包括X行数据,X为大于或等于1,且小于或等于M的整数。
9.根据权利要求8所述的装置,其特征在于,所述第一数据为第k+1组多路选择器输出的数据;或者,
所述第一数据为第k+1组多路选择器输出的数据中的低T行数据;其中,T的取值等于2k -1+N-1。
10.根据权利要求9所述的装置,其特征在于,所述第一处理子模块还用于:
在所述第一数据为第k+1组多路选择器输出的数据的情况下,将所述第一数据中的低Y行数据移位至高位后所得的数据作为所述第二数据;
在所述第一数据为第k+1组多路选择器输出的数据中的低T行数据的情况下,将所述第k+1组多路选择器输出的数据中的低Y行数据移位至高位后,截取低T行数据作为所述第二数据;
其中,Y的取值大于或等于2k-1
11.一种数据选择电路,其特征在于,包括:
K组依次连接的多路选择器,用于选出缓存器包括的M行数据中的N行数据;
其中,每组多路选择器的第一端用于接入多行数据,每组多路选择器的第二端用于接入指示信号,所述指示信号用于指示每组多路选择器是否输出重排列数据;
M为大于或等于N的整数,N为大于或等于1的整数,M的取值小于或等于2K
12.根据权利要求11所述的数据选择电路,其特征在于,所述指示信号为位宽为n的信号,M的取值小于或等于2n;且
所述指示信号在对应比特位的取值为第一值的情况下,指示第k组多路选择器输出第二数据;所述指示信号在对应比特位的取值为第二值的情况下,指示第k组多路选择器输出第一数据;
其中,所述第一数据和所述第二数据均包括X行,X为大于或等于1,且小于或等于M的整数;所述第一数据是所述第k组多路选择器的接入数据,所述第二数据为所述第k组多路选择器的重排列数据。
13.根据权利要求12所述的数据选择电路,其特征在于,所述第一数据为第k+1组多路选择器输出的数据;或者,
所述第一数据为第k+1组多路选择器输出的数据中的低T行数据;其中,T的取值等于2k -1+N-1。
14.根据权利要求13所述的数据选择电路,其特征在于,
在所述第一数据为第k+1组多路选择器输出的数据的情况下,所述第二数据为所述第一数据中的低Y行数据移位至高位后所得的数据;
在所述第一数据为第k+1组多路选择器输出的数据中的低T行数据的情况下,所述第二数据为将所述第k+1组多路选择器输出的数据中的低Y行数据移位至高位所得数据的低T行数据;
其中,Y的取值大于或等于2k-1
15.根据权利要求14所述的数据选择电路,其特征在于,还包括输出选择器,所述输出选择器用于在K组多路选择器中最后一组多路选择器的输出的数据包括M行的情况下,在所述最后一组多路选择器的输出数据中选择并输出低N行数据。
16.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-6任一项所述的数据选择方法的步骤。
17.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-6任一项所述的数据选择方法的步骤。
CN202410073368.4A 2024-01-18 2024-01-18 数据选择方法、装置、电路及设备 Pending CN117909266A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410073368.4A CN117909266A (zh) 2024-01-18 2024-01-18 数据选择方法、装置、电路及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410073368.4A CN117909266A (zh) 2024-01-18 2024-01-18 数据选择方法、装置、电路及设备

Publications (1)

Publication Number Publication Date
CN117909266A true CN117909266A (zh) 2024-04-19

Family

ID=90691792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410073368.4A Pending CN117909266A (zh) 2024-01-18 2024-01-18 数据选择方法、装置、电路及设备

Country Status (1)

Country Link
CN (1) CN117909266A (zh)

Similar Documents

Publication Publication Date Title
US6526474B1 (en) Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US8441377B2 (en) Method of dynamically adjusting long-press delay time, electronic device, and computer-readable medium
US20080104364A1 (en) Vector indexed memory unit and method
CN111597009B (zh) 应用程序显示的方法、装置及终端设备
US20080082797A1 (en) Configurable Single Instruction Multiple Data Unit
CN117909266A (zh) 数据选择方法、装置、电路及设备
JPS62236038A (ja) 制御記憶装置
US6681314B1 (en) FIFO memory device suitable for data transfer apparatuses with different data bus widths and method for controlling the same
CN115658209A (zh) 通知消息显示方法、装置和电子设备
CN115754413A (zh) 示波器及数据处理方法
US5386521A (en) Instruction prefetching circuit with a next physical address precalculating circuit
US20210240394A1 (en) Memory access management
US6760741B1 (en) FFT pointer mechanism for FFT memory management
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
US11983118B2 (en) Method and apparatus for parsing contiguous system addresses, and electronic device
CN116974475A (zh) 数据缓存方法、装置及电子设备
US20230307036A1 (en) Storage and Accessing Methods for Parameters in Streaming AI Accelerator Chip
KR950012663B1 (ko) 크로스바 망을 이용한 화상 시스템 및 그 시스템의 엑세스 제어방법
CN109307791B (zh) 具有fft功能的示波器
CN114862659A (zh) 图像直方图生成方法、装置、电子设备及存储介质
CN116248088A (zh) 数据延时方法、装置、电路、电子设备及可读存储介质
US20040128467A1 (en) Data access method applicable to various platforms
CN117555639A (zh) 桌面组件的处理方法、装置及电子设备
CN115733499A (zh) 一种按键识别方法、电子设备以及计算机可读存储介质
US5822752A (en) Method and apparatus for fast parallel determination of queue entries

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination