数据提取方法和设备与流程

文档序号:11432079阅读:368来源:国知局
数据提取方法和设备与流程

本申请要求于2016年2月22日提交到韩国知识产权局的第10-2016-0020441号韩国专利申请的优先权,所述韩国专利申请的全部公开通过引用包括于此。

与示例性实施例一致的方法和设备涉及数据提取。



背景技术:

包括多个元件的传感器可包括:被配置为针对每个元件检测信号的检测元件、被配置为放大由检测元件检测的信号的模拟电路以及被配置为处理放大的信号的数字电路。

在传感器中,可能不是在被布置在传感器的预定位置的元件中产生数据,而是可基于例如使用状况、环境和情况来任意产生数据。在这个示例中,需要探测每个传感器元件,这可能导致过多的功耗和数字电路的信号处理效率的劣化。



技术实现要素:

示例性实施例可解决至少上面的问题和/或缺点以及上面未描述的其他缺点。此外,不要求示例性实施例克服上述的缺点,并且示例性实施例可不克服上述问题中的任何一个。

根据示例性实施例的一方面,提供有一种提取数据设备,所述设备包括:数据接收电路,被配置为接收包括被随机布置在位位置中的目标值的输入数据,位位置包括第零位位置至第n-1位位置,n是大于1的整数;补码产生电路,被配置为通过将输入数据的位位置的位值反相并将已经被反相的输入数据加1的值来产生输入数据的补码;位位置提取电路,被配置为:基于补码和输入数据,提取包括存在于输入数据的位位置中的目标值中的被布置在输入数据中的第零位位置或最靠近输入数据中的第零位位置的目标值的位位置;处理器,被配置为输出提取的位位置。

位位置提取电路可被配置为从输入到其中的数据顺序地提取包括目标值的位位置。

所述设备还可包括:数据转换器,被配置为通过初始化当前周期中提取的位位置的位值来转换输入数据,并输出将用于下一周期的转换输入数据。

数据转换器可包括:异或(xor)门,被配置为通过对输入数据和提取的位位置的相应位值执行按位异或运算来产生转换输入数据。

位位置提取电路可被配置为从输入到其中的数据顺序地提取包括目标值的最右边的位位置,其中,最右边的位位置是被输入到位位置提取电路的数据中的包括目标值并被布置为最靠近第零位位置的位位置。

位位置提取电路可包括:逻辑与门,被配置为通过对输入数据和补码的相应位值执行按位与运算来产生位位置数据,其中,在位位置数据中仅一个位位置具有与目标值对应的值,其中,位位置提取电路被配置为从位位置数据提取包括被布置在第零位位置或最靠近第零位位置的目标值的位位置。

补码产生电路包括:非门,被配置为通过对输入数据执行按位非运算来产生反相的输入数据,其中,在反相的输入数据中,位值相对于输入数据的位值而被反相;加法器,被配置为通过将反相的输入数据加1的值来产生补码。

所述设备还可包括输出电路元件,其中,处理器被配置为产生时钟信号并控制输出电路元件输出基于时钟信号顺序提取的每个位位置。

输出电路元件还可被配置为将每个提取的位位置输出为二进制对数值。

所述设备还可包括:终止确定电路元件,被配置为响应于从输入数据提取包括目标值的全部的位位置的确定而产生终止信号。

数据接收电路还可被配置为:对输入数据执行按位非运算,并将通过按位非运算获得的输入数据传送到补码产生电路和位位置提取电路。

所述设备还可包括:事件传感器,包括像素,其中,发生事件的像素的位置被用作由数据接收电路接收的输入数据。

根据示例性实施例的一方面,提供有一种数据提取方法,所述方法包括:接收包括被随机布置在位位置中的目标值的输入数据,位位置包括第零位位置至第n-1位位置,n是大于1的整数;通过将输入数据的位位置的位值反相并将已经被反相的输入数据加1的值,产生输入数据的补码;基于补码和输入数据,提取包括存在于输入数据的位位置中的目标值中的被布置在输入数据中的第零位位置或最靠近输入数据中的第零位位置的目标值的位位置;输出提取的位位置。

所述方法还可包括顺序地提取包括目标值的位位置。

所述方法还可包括:通过对输入数据和提取的位位置的相应位值执行按位异或运算来转换输入数据,并在下一周期使用转换输入数据。

提取位位置的步骤可包括:通过对输入数据和补码的相应位值执行按位与运算来产生位位置数据,其中,在位位置数据中仅一个位位置具有与目标值对应的值;从位位置数据提取具有目标值的最右边的位位置,其中,最右边的位位置是最靠近第零位位置的位位置。

所述方法还可包括:基于时钟信号,顺序提取和输出每个位位置。

输出的步骤可包括将每个提取的位位置输出为二进制对数值。

所述方法还可包括:响应于从输入数据提取包括目标值的全部的位位置的确定,产生终止信号。

输入数据可以是事件传感器中发生事件的像素的位置。

根据示例性实施例的一方面,提供有一种用于基于组的数据提取设备,所述设备包括:组产生器,被配置为通过将输入数据分组成组来产生组数据;组提取电路,被配置为从组数据提取具有目标组值的组位位置;组选择器,被配置为基于组位位置选择组并从输入数据选择与选择的组对应的部分数据;数据提取电路,被配置为从部分数据顺序地提取目标值的位位置;处理器,被配置为输出提取的位位置。

组提取电路还可被配置为响应于数据提取电路从部分数据提取与目标值对应的全部位位置的确定而提取具有目标组值的随后的组位位置,组选择器还被配置为基于随后的组位位置选择随后的部分数据。

根据示例性实施例的一方面,提供一种其上记录当被处理器执行时使得处理器执行方法的软件程序的非暂时性计算机可读记录介质,所述方法包括:获得包括被随机布置在位位置中的目标值和非目标值的输入数据,位位置包括第零位位置至第n-1位位置,n是大于1的整数;通过将输入数据的位位置的位值反相并将已经被反相的输入数据加1的值,产生输入数据的补码;基于输入数据和补码,产生位位置数据,其中,在位位置数据中仅第一位位置具有存在于输入数据的位位置中的目标值中保持的目标值,第一位位置是第零位位置或最靠近第零位位置的位位置;基于位位置数据提取包括目标值的第一位位置;将提取的第一位位置输出作为传感器的检测结果。

所述方法还可包括:基于根据时钟信号在每个周期中再生的位位置数据,顺序地提取包括目标值的第二位位置,其中,每个第二位位置是在每个连续周期中最靠近第一位位置并包括目标值的顺序的序数位位置。

所述方法还可包括:通过在位位置数据初始化当前周期中提取的第一位位置的位值来转换输入数据;输出将用于下一周期的转换输入数据;通过将转换输入数据的位位置的位值反相并将已经被反相的转换输入数据加1的值来产生转换输入数据的补码;在下一周期从基于转换输入数据和转换输入数据的补码产生的位位置数据提取包括目标值的第二位位置,其中,第二位位置是下一周期中最靠近第一位位置并包括目标值的序数位位置。

产生位位置数据的步骤可包括对输入数据和补码的相应位值执行按位与运算。

附图说明

通过参照附图对特定示例性实施例进行描述,上述和/或其他方面将会变得更加清楚,其中:

图1示出根据示例性实施例的数据提取设备的示例;

图2和图3示出根据示例性实施例的操作数据提取设备的示例;

图4示出根据示例性实施例的数据提取设备的示例;

图5a和图5b示出根据示例性实施例的输出电路元件的示例;

图6示出根据示例性实施例的数据的示例;

图7、图8、图9和图10示出根据示例性实施例的数据提取方法的示例;

图11示出根据示例性实施例的基于组的数据提取设备的示例。

具体实施方式

下面参照附图在此对示例性实施例进行更加详细地描述。

在以下描述中,即使在不同的附图中,相同的附图标记也被用于相同的元件。提供在实施方式中限定的事物(诸如具体的结构和元件),以协助全面理解示例性实施例。然而,应当清楚的是,能够在没有这些具体地限定的事物的情况下实施示例性实施例。此外,因为公知的功能或构造会因不必要的细节而使实施方式变得模糊,因此不对它们进行详细的描述。

此外,在说明书中描述的诸如“单元”、“…者(…器)”和“模块”的术语指的是用于执行至少一个功能或操作的元件,并且可以以硬件、软件或硬件和软件的组合的形式来实施。

在包括多个元件的传感器中,当通过基于模拟域中的复杂的树结构的仲裁产生输出数据时,输入数据的位的数量的增加可导致树的深度、处理持续时间和传感器的大小的增加。当被配置为基于数字域中的预定值选择输入数据的全部位的复杂的电路(例如,被配置为选择预定位的多路复用器)被添加到传感器中的移位寄存器时,传感器的响应于输入数据的位的增加而增加的大小可导致难以基于单时钟周期实现和数据处理延迟。

以下,将对一种用于提取数据同时最小化延迟的设备进行描述。

图1示出根据示例性实施例的数据提取设备的示例。

数据提取设备100可以是例如包括一个或多个处理器或微处理器并被配置为从输入数据提取与目标值对应的位或二进制数字的电路。例如,可在包括像素的传感器中实施数据提取设备100。传感器可以是具有当预定事件发生时输出信号的像素的事件传感器。例如,事件传感器可以是光强度变化时其像素输出信号的动态视觉传感器(dvs)。这样的输出信号可作为输入数据而被输入到数据提取设备100中,并可指示发生事件的像素的位置。在图1中,输入数据由x表示。数据提取设备100可包括数据接收器110(例如,数据接收电路)、补码产生器120(例如,补码产生电路)和位位置提取器130(例如,位位置提取电路)。

数据接收器110可接收输入数据。输入数据可以是在序列中包括位的数据。例如,输入数据可具有0和2n之间的值。此外,输入数据序列的长度n可以是例如大于1的整数。在输入数据中,每个位位置i的二进制值可以是0或1,例如,i是0和n-1之间的整数。当第i位位置的二进制值是1时,输入数据可包括2i=21,即,2个值。在输入数据中,最右边的位位置可指示最低有效位(lsb),最左边的位位置可指示最高有效位(msb)。将参照图3对输入数据进行详细地描述。

补码产生器120可产生输入数据的补码。在图1中,输入数据的补码由-x表示。在本说明书中,除非被指定为反码(one’scomplement),否则补码是二进制系统的二进制补码(two’scomplement),并也可以是相反(负)值。当输入数据包括n位时,输入数据的二进制补码可以是2n的补码。例如,输入数据的二进制补码可对应于通过从2n减去输入数据的值而获得的结果。该结果可以是通过将输入数据中提供的二进制值0和二进制值1反相并向其加1而获得的值。例如,当输入数据的二进制值是“1110”时,输入数据的二进制补码可以是“0010”。

位位置提取器130可基于输入数据和补码从输入数据提取目标值的位位置。在图1中,位位置由y表示。例如,目标值可以是将从输入数据提取的值或将从输入数据提取的期望值。目标值的位位置可以是输入数据中的与lsb有关并表示目标值的第一位置。例如,当将被提取的目标值是1时,并且当输入数据的二进制值是“1110”时,提取的位位置可以是从lsb开始的第一位置。这里,例如,lsb可以是作为第零位位置的最右边的位位置。

数据提取设备100可在最小化或大体上消除与信息(即,与传感器元件的状态的变化有关的信息)的处理关联的延迟以及迅速地产生检测结果的同时,基于事件(诸如,光变化)在例如包括图像传感器的多个传感器中快速搜索发生事件的传感器元件的位置,以提取与每个事件对应的数据。以下,将对数据提取设备100的配置和操作进行详细描述。

图2和图3示出根据示例性实施例的操作数据提取设备的示例。

图2示出与数据提取设备100类似并且还包括数据转换器240的数据提取设备200。数据提取设备200可从输入数据顺序地提取包括目标值的位位置。例如,这个位位置可以是发生事件的事件传感器的传感器元件的位置。

数据接收器110可接收输入数据x,并将输入数据x传送到补码产生器120、位位置提取器130和数据转换器240。此外,数据接收器110可从数据转换器240接收由数据转换器240将输入数据x转换成的转换输入数据x’。

在示例中,转换输入数据x’可以是位位置的值被提取然后被初始化的数据。数据接收器110可将转换输入数据x’传送到补码产生器120、位位置提取器130和数据转换器240,并形成回路,使得数据提取设备200从输入数据顺序地提取目标值的位位置。例如,当输入数据x被初始接收时,数据接收器110可直接传送相应的输入数据x。随后,数据接收器110可接收被顺序地初始化的一组或多组转换输入数据x’,并传送转换输入数据x’,直到与在输入数据x中存在的目标值对应的全部位位置被提取为止。

补码产生器120可产生从数据接收器110传送的转换输入数据x’和输入数据x的补码。例如,补码产生器120可在输入数据x被接收时产生输入数据x的第一补码-x,并可在转换输入数据x’被接收时产生转换输入数据x’的第二补码-x’。例如,补码产生器120可将输入数据x或转换输入数据x’的每个位反相,并将结果加1。在这个示例中,当位位置的值是0时,补码产生器120可通过将0变成1来将相应的位反相,而当位位置的值是1时,补码产生器120可通过将1变成0来将相应的位反相。然后,将1的值加到反相的值。将参照图5对补码产生器120的操作进行更加详细的描述。

位位置提取器130可根据下面的等式1基于输入数据x和第一补码-x或者转换输入数据x’和第二补码-x’来提取目标值的位位置。

参照图3,假定输入数据x(参考标记241)包括例如具有值x[n-1]、值x[n-2]、值x[n-3]、值x[n-4]、值x[n-5]…值x[3]、值x[2]、值x[1]和值x[0]的n位序列242。这里,x[i]可表示从lsb开始的第i位位置的二进制值,i是0与n-1之间的整数。在图3中,假定x[n-5]至x[0]的二进制值是0,x[n-4]表示从lsb开始的具有1的二进制值的第一位。可从位位置数据(参考标记244)提取位位置y,其中,在位位置数据中,目标值(在图3的示例中为1)的最右边的位作为输入数据x而被保持,剩余的位被改变为具有非目标值(在图3的示例中为0)。

[等式1]z=x&(-x)

在等式1中,x表示输入数据,-x表示输入数据x的第一补码,z表示仅位位置y具有目标值的位位置数据(例如,位位置数据244),位位置y表示目标值的最右边的位位置,&表示按位与运算。根据等式1,通过将输入数据x和第一补码-x(参考标记246)的每一对的相应位的值相乘来应用按位与运算,其中,如果比较的位位置中的两个位均是1,则结果的二进制表示中的位是1(1×1=1);否则,结果是0(1×0=0和0×0=0)。因此,与按位与运算结果对应的位位置数据244可表示:最右边的位位置y的目标值1被保持,而剩余的位位置的值被改变为非目标值(例如,0)。如在图3中所示,只有与在输入数据中沿从lsb到msb的方向具有1的值的第一位位置(n-4)对应的位位置y(例如,包括目标值的最右边的位位置)具有1的值。与其他位对应的位位置可以是0。因此,基于等式1,数据提取设备200可从与目标值(例如,1)对应的lsb确认和提取第一位位置的值。

在图3中,由于从lsb开始的第(n-4)位位置是具有目标值的最右边的位位置,所以位值x[n-5]至位值x[0]是0。输入数据x和第一补码-x可具有对它们之间应用加法时结果为0的关系。由于第一补码-x的-x[0]至-x[n-5]是0,-x[n-4]具有与输入数据x的x[n-4]的值相同的值,所以可发生进位。因此,第一补码-x(参考标号246)的-x[n-3]至-x[n-1]可以分别是输入数据x的x[n-3]至x[n-1]的反码。此外,发生在x[n-4]+(-x[n-4])中的进位可以是用于补码的1。

输入数据x与第一补码-x之间的关系可具有这样的特征:沿到msb的方向从lsb到具有1的值的第一位(例如,x[n-4])的位具有相同的值0,位x[n-4]和-x[n-4]具有相同的1的值,剩余较高位具有关于彼此反相的值。由于这个特性,通过根据等式1将按位与运算应用到输入数据x和第一补码-x而所计算的位位置数据z(例如,位位置数据244)可具有与1的值对应的最右边的位位置(例如,最靠近lsb的位位置)。位位置y可对应于从lsb开始的1的第一位的十进制值。当从lsb开始的1的第一位是从lsb开始的第m位时,提取的位位置y可以是m,m是0与n-1之间的整数。在图3的示例中,位位置y是n-4。

为了从输入数据x中的多个位更快地输出或识别与目标值(例如,0或1)对应的位,数据提取设备200可通过顺序地输出相应位位置的目标值来提取目标值的位位置y,因而与相关领域的执行类似功能的设备相比,与信息的处理有关的延迟被最小化或大体上消除。

在从输入数据x提取目标值的位位置y之后,数据转换器240可初始化提取的位位置的值,并将输入数据x进行转换。例如,数据转换器240可根据等式2产生转换输入数据x’(参考标号248)。

[等式2]

x'=xxorz

在等式2中,x表示输入数据,z表示与位位置(诸如,位位置y)对应的位位置数据(诸如,位位置数据244),x’表示转换输入数据,xor表示按位异或(xor)。在等式2中,转换输入数据x’可以是对位位置数据244和输入数据x执行的按位异或运算的结果。异或运算对位位置数据244和输入数据x的每一对相应位执行逻辑异或运算。如果一对的仅第一位是1或仅第二位是1,则每个位置的结果是1;如果两个位均为0或两个位均为1,则每个位置的结果是0。因此,输入数据x中从lsb开始的1的最右边的位位置的值被转换成0,而转换输入数据x’的较高位和较低位与当前循环中处理的输入数据x的较高位和较低位保持一样。因此,数据提取设备200可根据等式2来从进一步处理排除在当前循环中已经被提取的具有1的值的位位置y。

在示例中,数字转换器240可将根据等式2的转换输入数据x’作为反馈提供到数据接收器110。当数据接收器110将转换输入数据x’提供到补码产生器120、位位置提取器130和数据转换器240时,数据提取设备200可将转换输入数据x’用作随后的输入数据。数据提取设备200可连续地和重复地执行用于从转换输入数据x’提取位位置的一系列处理,因而顺序地提取包括目标值的最右边的位位置,因而与信息的处理相关的延迟被大幅度最小化。数据提取设备200可重复地执行用于提取位位置y的一系列处理,直到转换输入数据x’全为0为止或者直到初始输入数据x中与1的值对应的所有位位置被输出为止。因此,数据提取设备200可连续地输出具有1的值的位位置的十进制值,因而与信息的处理相关的延迟被大幅度最小化。

图4示出根据示例性实施例的数据提取设备的示例。

图4是与上述数据提取设备100和数据提取设备200类似的数据提取设备400的门级的电路图。

数据接收器110可包括多路复用器(mux)402。响应于从控制器470传送的使能信号en,mux402可将数据din[n-1:0](即,输入数据x)和被执行数据转换的转换输入数据x’中的一个传送到补码产生器120、位位置提取器130和数据转换器240。例如,mux402可当从控制器470传送的使能信号是1时传送数据din,并可当从控制器470传送的使能信号是0时传送转换输入数据x’。当数据din被最初接收时,mux402可传送作为输入数据x的数据din。一旦位位置y被提取,mux402就可传送转换输入数据x’作为输入数据,直到从数据din提取出与目标值对应的全部位位置。

补码产生器120可包括被配置为对输入数据x执行按位非运算的非门421和被配置为将通过非运算获得的输入数据加1的值的加法器422。非门421可执行位反相功能,如果相应输入是0,则产生1作为输出,如果相应输入是1,则产生0作为输出。

补码产生器120可基于非运算和1的相加来产生输入数据x的补码-x。

位位置提取器130可包括被配置为对输入数据x和补码-x执行按位与运算的与门431。位位置提取器130可根据等式1通过将按位与运算应用到输入数据x和补码-x来产生位位置数据244。作为结果,位位置提取器130可提取输入数据x中提供的目标值的最右边的位位置。

数据转换器240可包括被配置为对输入数据x和提取的位位置y执行按位异或运算的异或门441。数据转换器240可通过将按位异或运算应用到输入数据x和位位置数据244,来产生转换输入数据x’。数据转换器240还可包括触发器(f/f)442。由于触发器电路的构造对本领域技术人员来说是已知的,因此将省略其详细描述。数据转换器240可在随后的时钟周期使用触发器442将转换输入数据x’传送到mux402。触发器442可从包括一个或多个处理器或微处理器的控制器470接收时钟信号clk。

数据提取设备400还可包括输出电路元件450和终止确定电路元件460。

输出电路元件450可输出提取的位位置y。例如,输出电路元件450可输出作为提取的位位置y的位位置数据z的二进制对数值(例如,dout[log2(n-1):0])。例如,当从lsb开始的第m位是与目标值对应的第一位时,提取的位位置数据z可具有2m的值,输出电路元件450可输出m,其中,m是作为位位置y的相应位位置数据z的值的二进制对数值。此外,m可被输出为log2(n-1)+1位(例如,dout[log2(n-1)]、dout[log2(n-1)-1]、…、dout[2]、dout[1]和dout[0])。针对目标值的位位置y,输出电路元件450可在每个时钟周期输出一次相应位位置的二的幂值。

响应于出现在输入数据x中的与目标值对应的全部位位置被提取,终止确定电路元件460可产生终止信号sctrl。终止确定电路元件460可包括被配置为执行按位或运算的或门461和被配置为将或门461的输出反相的非门462。或门461对每一对的相应位执行逻辑包含或运算。如果二个位均为0,则每个位置中的结果为0,否则结果为1。例如,当从输入数据x提取与1对应的全部位位置时,包括在数据转换器240的输出中的全部位可以是0。当转换输入数据x’的全部位为0时,包括在终止确定电路元件460中的或门461的输出可以是0,因此,非门462的输出可以是1。终止确定电路元件460可将产生的终止信号sctrl传送到控制器470。

例如,控制器470可以是被配置为控制数据提取设备400的整个操作的模块。控制器470可响应于终止确定电路元件460所产生的终止信号sctrl而通过确定从数据din提取全部的目标值来产生使能信号en,并将时钟周期clk施加到数据提取设备400,以开始处理新的一组输入数据din。在示例中,控制器470可在从数据din被接收的时间开始的仅仅一个周期(即,初始周期)的期间施加使能信号en。通过这样,控制器470可控制mux402在初始周期将数据din仅一次用作数据提取设备400的输入。控制器470可控制mux402从随后的周期开始将与触发器442的输出对应的转换输入数据x’用作输入数据,直到终止信号sctrl具有1的值。

如上所述,数据接收器110、补码产生器120、位位置提取器130、数据转换器240、输出电路元件450、终止确定电路元件460和控制器470可通过例如各种逻辑门、电路元件、电子元件、模拟元件和数字元件来实施。此外,非门、或门、异或门和加法器可以以各种电路元件来实施。

图5a和图5b示出根据示例性实施例的输出电路元件的示例。

输出电路元件450可输出作为1与2n-1之间的值的二进制对数值(例如,log2z)的位位置y。二进制对数值log2z可具有0与n-1之间的值。因此,输出电路元件450可输出作为位位置数据的二进制对数的位位置y,其中,位位置y是从lsb开始沿到msb的方向的与目标值对应的第一位的十进制值。在这个示例中,二进制对数值log2z可指示从lsb开始的与目标值对应的位的序数位置。

如在图5a中所示,用于将位位置数据z转换成二进制对数值log2z的对数函数可包括或门550。输出电路元件450的或门550可接收基于位的单元的从z[n-1]到z[0]的位位置数据z,并输出基于位的单元的从dout[log2(n-1)]到dout[0]的二进制对数值log2z。

如在图5b中所示,输出电路元件450可包括例如第一或门551、第二或门552和第三或门553等。然而,或门的节点连接类型和或门的数量不限于上述示例。

当位位置y被表示为将位位置数据z的第2k-1位用作输入的二进制对数值时,第一或门551可输出第零位dout[0],其中,是表示小于或等于x的整数的下截断(floor)运算,x是实数,可按例如来计算。例如,当输入数据x是“01100”时,与第一位置对应的位位置数据z可被输出为在十进制系统中是4(=22)的“00100”,并且还可被表示为:例如,z[4]=0、z[3]=0、z[2]=1、z[1]=0和z[0]=0。在这个示例中,由于n=5以及2k-1=1和3,因此第一或门551具有0的输入z[3]和z[1],第零位dout[0]可被输出为0。

当位位置y被表示为将位位置数据z的例如第2位和第3位、第6位和第7位、第10位和第11位以及第14位和第15位等用作输入的二进制对数值时,第二或门552可输出第一位dout[1]。在上述n=5的示例中,由于z[2]=1和z[3]=0,所以第一位dout[1]可被输出为1。

当位位置y被表示为将位位置数据z的例如第4、5、6、和7位、第12、13、14和15位以及第20和21位等用作输入的二进制对数值时,第三或门553可输出第二位dout[2]。在上述n=5的示例中,由于z[4]=0,所以第二位dout[2]可被输出为0。

在上述的示例中,由于二进制对数值dout的第一位dout[1]是1,所以序数数字可以是2(=21)。因此,二进制对数值dout可指示:从lsb开始的第二位位置对应于目标值。

照此,二进制对数值的范围可基于或门的数量而增加。二进制对数值的第w位可以是或门的将位位置数据z的第位用作输入的输出,w和u是大于或等于0的整数。这里,%是按例如10%4=2来计算的模(mod)运算。或门550的数量不限于参照图5描述的示例,并因此可基于将被输出的二进制对数值的范围而变化。

图6是示出根据示例性实施例的数据值在图4的数据提取设备400中基于时钟周期单元而变化的示例。

数据接收器110可接收作为输入数据x的例如“110010”。响应于使能信号en,数据接收器110可将“110010”作为输入数据x而传送到补码产生器120、位位置提取器130和数据转换器240。位位置提取器130可在第一时钟周期601从“110010”的输入数据x提取与从lsb开始的第一位置对应的最右边的位置的1。在第一时钟周期601,数据转换器240可确定转换输入数据x’的值为“110000”,并在第二时钟周期602将转换输入数据x’传送到数据接收器110。

在第二时钟周期602,由于使能信号en是0,所以数据接收器110可将转换输入数据x’“110000”传送到补码产生器120、位位置提取器130和数据转换器240。位位置提取器130可在第二时钟周期602从转换输入数据x’的“110000”提取与第四位置对应的最右边的位置的1。在第三时钟周期604,数据转换器240可确定转换输入数据x’的值为“100000”,并将转换输入数据x’传送到数据接收器110。

在第三时钟周期604,由于使能信号en是0,所以数据接收器110可将与转换输入数据x’对应的“100000”传送到补码产生器120、位位置提取器130和数据转换器240。位位置提取器130可在第三时钟周期604从转换输入数据x’的“100000”提取与第五位置对应的最右边的位置的1。在第四时钟周期606,数据转换器240可确定转换输入数据x’的值为“000000”。在这个示例中,由于全部位的值是0,所以终止确定电路元件460可将终止信号sctrl的值确定为1。响应于终止信号sctrl,控制器470可确定针对先前接收的输入数据x的提取完成,并产生作为1的使能信号en以开始处理新的一组输入数据。

在相关领域设备中,要对全部的接收的位(例如,对位“110010”)执行检索,并因此可能需要大约6个时钟周期来处理输入数据。然而,根据示例性实施例的数据提取设备可在三个时钟周期内从输入数据的六个位提取全部的目标值。上述图6的处理被描述为示例,因此不是限制性的。

图7至图9是示出根据示例性实施例的由数据提取设备执行的数据提取方法的示例的流程图。

在操作710中,数据接收器可接收输入数据。如参照图1至图6所述,数据接收器可将当前时钟周期中转换的输入数据用作随后时钟周期的输入数据。

在操作720中,补码产生器可产生输入数据的补码。如参照图1至图6所述,补码产生器可通过对输入数据执行按位运算来产生输入数据的补码。

在操作730中,位位置提取器可基于输入数据和补码从输入数据提取目标值的位位置。如参照图1至图6所述,位位置提取器可基于输入数据和补码通过按位运算来提取位位置。位位置提取器可提取输入值中的目标值的最右边的位位置。

如在图8中所示,在操作840中,输出电路元件可输出位位置。作为示例,输出电路元件可输出作为二进制对数值(诸如,位位置数据的对数值)的位位置。然而,示例性实施例不限于此。

在操作850中,数据转换器可初始化提取的位位置的值,并转换输入数据。例如,数据转换器可对输入数据和位位置数据执行异或运算。

在操作860中,终止确定电路元件可确定全部位位置是否被提取。这里,终止确定电路元件可响应于从输入数据提取了与目标值对应的全部位位置的确定(在操作860中的“是”)而产生终止信号,并且数据提取设备可终止运算。当位位置没有被全部提取时(在操作860中的“否”),数据提取设备可返回操作720,并使用操作850中转换的输入数据来产生补码。在示例中,数据提取设备可从输入数据顺序地提取目标值的位位置,直到全部的位位置被提取为止。当不是全部的位为0时,转换输入数据可被提供为将被用于操作720、操作730和操作850的反馈。

例如,在图7和图8的操作720中,当在操作860中不是全部的位位置被提取时,以及当转换输入数据在随后的时钟周期被接收时,补码产生器可产生转换输入数据的补码。随后,在操作730中,位位置提取器可使用转换输入数据的补码从转换输入数据提取目标值的位位置。

在图9的示例中,数据接收器可接收输入数据“1110”并传送接收的输入数据。

在操作920中,补码产生器可产生补码,输入数据“1110”的补码可以是“0010”。

在操作930中,位位置提取器可对输入数据和补码执行按位与运算。对输入数据“1110”和补码“0010”执行按位与运算的结果可以是“0010”。

在操作940中,输出电路元件可输出位位置。作为示例,输出电路元件可输出作为二进制对数值的位位置。

在操作950中,数据转换器可初始化提取的位位置的值,并转换输入数据。例如,数据转换器可对输入数据和位位置执行异或运算。在这个示例中,对输入数据“1110”和位位置“0010”执行异或运算的结果可以是“1100”。

在操作960中,终止确定电路元件可确定是否全部位位置被提取。当不是全部的位位置被提取时,数据提取设备可返回操作920,并使用与输入数据“1100”对应的在操作950中转换的输入数据来产生补码。数据提取设备可从输入数据顺序地提取目标值的位位置,直到全部的位位置被提取为止。在操作960中,当不是全部的位为0时,转换输入数据“1100”可被提供为反馈并将被用作操作920、操作930和操作950的输入。

图10是示出当目标值被设置为0时的数据提取方法的流程图。

在操作1011中,数据接收器可对输入数据执行非运算。在示例中,数据接收器可对输入数据执行按位非运算,并将通过按位非运算获得的输入数据传送到补码产生器、位位置提取器和数据转换器。例如,当输入数据“0001”被接收时,数据接收器可提供将输入数据“0001”反相而得到的将被用于操作720、操作730和操作850的数据“1110”。

例如,通过对输入数据执行非运算,数据提取设备可从输入数据顺序地提取与0对应的位位置。

图11示出根据示例性实施例的基于组的数据提取设备的示例。

基于组的数据提取设备1100可以是包括一个或多个处理器或微处理器的电路,并且可被实施在传感器中,以及可通过分类成组来处理输入数据。为了从输入数据计算补码,可使用加法器将通过对输入数据进行反相而获得的值加1,因此,加法器的大小可根据位的数量的增加而增加。为了减小数据提取设备的大小,基于组的数据提取设备1100可将输入数据分成包括预定数量的位的组,并将分组的数据输入到参照图1至图10描述的数据提取设备。

基于组的数据提取设备1100可包括信息接收器1110、组提取器1120、组选择器1130、数据提取器1140和输出电路元件1150。

信息接收器1110可接收输入数据,将输入数据分成组,并将输入数据组提供到组选择器1130。信息接收器1100可包组产生器1119。

组产生器1119可将输入数据分类成多个组来产生组数据。在示例中,组产生器1119可将包括在输入数据中的位分类成多个组。在“1”是目标值并且表示1的多个位中的至少一个位包括在组中的情况下,相应组的组值可被输出为1。例如,组产生器1119可基于输入数据产生均包括j个位的m个组。这里,m和j中的每个可以是大于或等于1的整数,例如,m=n/j。组产生器1119可对包括在m个组中的每个组中的j个位应用按位或运算。当表示1的至少一个位存在时,组产生器1119可确定相应组的组值为1。当缺少表示1的位时,组产生器1119可确定相应组的组值为0。组数据可以是包括每组的一系列组值的序列的数据。组数据可包括例如以第m-1组1115的值、…、第三组1114的值、第二组1113的值、第一组1112的值和第零组1111的值的顺序的组值的序列。

组提取器1120可从组数据提取目标组值的组位位置。目标组值可指示用于识别包括目标值(例如,1)的至少一个位的组的值。组位位置可表示指示包括目标值的至少一个位的组的值。可与参照图1至图10描述的位位置的提取类似地执行组位位置的提取。例如,在产生四个组的假定下,当第三组1114和第二组1113中的每个包括1,而第一组1112和第零组1111不包括1时,组数据可被表示为“1100”。组提取器1120可从组数据提取值“0100”以指示目标组值的最右边的组位位置。这里,例如,值“0100”可指示:组位位置是从lsb开始的第二位置。可以以与参照图1至图10描述的数据提取设备的结构类似的结构来设置组提取器1120。

组选择器1130可基于组位位置选择组,并从输入数据选择与选择的组对应的部分数据。例如,当组数据是“1100”时,组选择器1130可将第二组1113选择为与组位位置数据“0100”对应的组。此外,组选择器1130可将与第二组1113对应的位选择为部分数据,并将部分数据传送到数据提取器1140。

数据提取器1140可顺序地从与选择的组对应的部分数据提取目标值的位位置。例如,可以以与参照图1至图10描述的数据提取设备的结构类似的结构来设置数据提取器1140。在示例中,数据提取器1140可基于参照图1至图10描述的数据提取从部分数据顺序地提取目标值的位位置,因而将位位置提供到输出电路元件1150,其中,输出电路元件1150可与上述输出电路元件450类似地被实施。

输出电路元件1150可输出由数据提取器1140提取的位位置。输出电路元件1150可输出当前时钟周期中选择的组(例如,组位位置)以及相应组的输入数据中存在的目标值的位位置。这里,输出电路元件1150可将位位置输出为二进制对数。

随后,响应于数据提取器1140从部分数据(例如,从包括在第二组中的输入数据)提取目标值的全部位位置的确定,组提取器1120可提取目标组值的随后的组位位置(即,上面示例中包括“1000”的数据)。例如,当从一个组提取全部目标值时,数据提取器1140可将终止信号发送到组提取器1120。响应于终止信号,组提取器1120可初始化指示第一目标组值的(即,上面示例中的第二组1113的)位,并提取第二目标组值的(即,上面示例中的第三组1114的)组位位置。当组选择器1130选择属于与第二组位位置对应的组的部分数据时,数据提取器1140可输出选择的部分数据中(即,上面示例中中包括在第三组1114中的输入数据中)与1的值对应的位位置。

例如,基于组的数据提取设备1100可通过重复地输出位位置来顺序地输出位位置,直到全部组的输出是0为止。因此,当输入数据中的位的数量相对较大时,基于组的数据提取设备1100可通过将输入数据分组而作为移位寄存器操作,同时与信息的处理相关的延迟被大幅度最小化。

包括在基于组的数据提取设备1100中的元件(诸如,信息接收器1110、组提取器1120、组选择器1130和数据提取器1140)可通过例如各种逻辑门、电路元件、电子元件、模拟元件和数字元件来实施。此外,信息接收器1110、组提取器1120、组选择器1130和数据提取器1140均可被实施在单独的处理器或微处理器中,或者信息接收器1110、组提取器1120、组选择器1130和数据提取器1140中的一些或全部可被实施为共享处理器或微处理器。

上述示例性实施例可被记录在包括程序指令的非暂时性计算机可读介质中,以实施可由计算机执行的各种操作。介质还可单独包括或联合包括程序指令、数据文件和数据结构等。记录在介质上的程序指令可以是为了示例性实施例的目的而专门设计和构造的程序指令,或者可用于计算机软件领域技术人员。非暂时性计算机可读介质的示例包括磁介质(诸如,硬盘、软盘和磁带)、光学介质(诸如,cdrom盘和dvd)、磁光介质(诸如,光盘)以及被专门配置为存储和执行程序指令的硬件装置(诸如,只读存储器(rom)、随机存取存储器(ram)和闪速存储器等)。介质可以是包括载波的传送介质(诸如,光线、金属线或波导),其中,载波用于传输指定程序命令和数据结构的信号。程序指令的示例包括机器代码(诸如,由编译器生成的代码)和包含可由计算机使用解释器执行的更高级代码的文件二者。为了执行上述示例实施例的操作,描述的硬件装置可被配置为用作一个或多个软件模块,反之亦然。

前面的示例性实施例是示例,不应被解释为限制。本教导能被容易地应用在其他类型的设备中。此外,示例性实施例的描述意图在于说明,而不是为了限制权利要求的范围,并且很多替代方案、修改和变形对本领域技术人员来说将是清楚的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1