CN107113719A - 可配置的预处理阵列器 - Google Patents
可配置的预处理阵列器 Download PDFInfo
- Publication number
- CN107113719A CN107113719A CN201580054603.2A CN201580054603A CN107113719A CN 107113719 A CN107113719 A CN 107113719A CN 201580054603 A CN201580054603 A CN 201580054603A CN 107113719 A CN107113719 A CN 107113719A
- Authority
- CN
- China
- Prior art keywords
- processing
- processing units
- processing unit
- layer
- configurable
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0287—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
Abstract
缩放和可配置的预处理器阵列可以实现最小的数字活动,同时保持硬实时性能。预处理器阵列专门用于处理实时传感器数据。阵列的互连处理单元可以大大减少上下文交换、内存访问、主处理器输入/输出访问以及实时事件管理开销。
Description
优先权的相关申请
本申请与2013年4月9日提交的标题为“SENSOR POLLING UNIT FORMICROPROCESSOR INTEGRATION”的美国专利申请13/859,473相关但并不要求优先权,其全部内容通过引用并入本文。
本申请要求2014年10月8日提交的题为“CONFIGURABLE PRE-PROCESSING ARRAY”的美国临时专利申请62/061,210的优先权,其全部内容通过引用并入本文。
技术领域
本发明涉及集成电路领域,特别是可配置的预处理阵列。
背景技术
现代电子设备,特别是便携式电子设备,通常配备有许多传感器。这些传感器可以包括以下任何一个或多个:麦克风,电容传感器,光传感器,温度传感器,多轴加速度计,陀螺仪,全球定位系统(GPS)接收器,湿度传感器,压力传感器,化学传感器等。这样的现代电子设备包括平板电脑,手机,笔记本电脑,手持设备,可穿戴电子设备等。这些传感器中的许多通常获得需要处理电子设备的主处理器的大量实时数据。使用主处理器处理实时数据可占用大量的计算资源。
发明内容
缩放和可配置的预处理器阵列允许最小的数字活动,同时保持硬实时性能。预处理器阵列专门用于处理实时传感器数据。阵列的互连处理单元可以大大减少上下文交换、内存访问、主处理器输入/输出访问以及实时事件管理开销。
附图说明
为了更全面地了解本公开及其特征和优点,参考结合附图的以下描述,其中相同的附图标记表示相同的部分,其中:
图1示出了根据本公开的一些实施例的主处理器和可配置预处理阵列的示例性芯片框图;
图2是示出根据本公开的一些实施例的示例性H1处理单元的功能图;
图3是示出根据本公开的一些实施例的示例性中断和地址生成块的框图;
图4是根据本公开的一些实施例的具有单个ALU的H1处理单元的框图;
图5是根据本公开的一些实施例的具有两个ALU的H2处理单元的框图;和
图6是根据本公开的一些实施例的具有三个ALU的H3处理单元的框图;和
图7是示出根据本公开的一些实施例的用于预处理实时传感器数据流的方法的流程图。
具体实施方式
用于处理实时传感器数据的功耗问题
当电子设备的主处理器正在处理许多实时传感器数据流时,主处理器消耗大量的功率,而且可用的资源将被从主处理器上的其他进程中夺走。许多现代电子设备具有有限的功率资源(例如,由于电池),或者甚至当这些电子设备被插入时,电源设备在睡眠或待机模式期间的功率需求对于功率效率原因可能非常严格。同时,应用程序通常是“始终处于开启状态”,特别是始终感测环境或电子设备状态的应用程序。这些应用通常需要主处理器来持续处理来自这些传感器的实时数据。
这种计算架构具有许多低效率。一个低效率是收集传感器数据的负载和存储方面,并将数据存储在存储器中,这占据了大量的处理量。另一个无效率涉及对通信接口执行寄存器事务(例如,提供传感器数据的同步读取)。进一步的低效率涉及主处理器中的上下文切换,主处理器通常运行许多具有不同上下文的不同应用(并且上下文切换可能引起用户体验中的抖动)。当在上下文之间切换时,主处理器停止进程并切换到另一进程(涉及内存混洗)通常会导致传感器数据处理效率低下。
解决方案:可配置的预处理以辅助主处理器
在便携式消费者设备中,能量守恒是导致整个用户体验的几个因素之一。同时,连续或不断收集和解释各种形式的传感器数据构成了便携式设备如何操作和与用户和环境交互的基础。理想情况将包括传感器数据不断被采样和预处理,同时消耗很少的功率。
为了解决功耗的问题,改进的计算架构利用专门设计的专门配置的预处理阵列,其专门用于处理来自多个传感器(例如,许多实时传感器数据流)的传感器数据。专门的可配置预处理阵列可以包括用于处理数字数据的数字电路。该阵列可以与与传感器(例如,模拟前端进行“轻”处理)接口的电路集成。当传感器、模拟前端和可配置的预处理阵列一起提供为感测子系统时,感测子系统可以收集传感器数据,并对传感器数据执行智能操作,同时消耗很少的功率。
可配置预处理阵列的独特特征是其将处理职责划分为任务优化的处理单元,以及经由这些处理单元之间的可配置互连网络的处理单元之间的无缝交互。通过管道配置中的协作处理,在主处理器中无需频繁的上下文切换,使开销最小化。以同样的方式进行数据的同步收集,几乎不进行任何对下一阶段收集和准备数据的最终目标的贡献(几乎所有处理都有助于收集和准备数据的最终目标)为下一阶段)。此外,管道之间的相互作用导致零开销。因为可配置的预处理阵列可以以异步逻辑(在处理单元之间不具有共享或全局时钟信号的情况下异步操作)来实现,所以极少数的门将转变,导致最小的动态功率。该系统的强度在于,在指令级别,要执行的项目数量减少到最小,这具有降低总体功耗的优点。
该解决方案优选地执行以下技术任务中的一个或多个。第一个示例性技术任务是连续收集传感器数据,同时系统的大部分以可接受的低功耗关闭。第二个示例性技术任务是在唤醒主处理器或其他资源之前识别传感器数据流中的感兴趣区域。第三个示例性技术任务是在主处理器唤醒之后执行传感器数据的采集和流水线处理。第四个示例性技术任务是允许主处理器动态地重新配置底层处理单元的微代码以适应系统的需要(硬件线程)。第五示例性的技术任务是通过允许使用(图形)开发工具来生成微代码来提供算法的简化实现。
层叠的互连算术逻辑单元(ALU)的矩阵
主处理器可以触发将选择性地激活可配置的预处理阵列(互连的算术逻辑单元(ALU)的矩阵)的部件以持续监视传感器的过程。互连ALU的矩阵可以被组织成布置在多个处理层中的异步处理单元。具有不同复杂性的各种处理单元的选择性特征受限制,并排布置在并行管道中,使得传感器数据可以仅通过流水线阶段来评估,以确定其有用或无用。一般来说,与较高处理层的处理单元相比,较低处理层将具有较低复杂度的处理单元。
例如,可以通过具有基本(单个)ALU(流水线的量)的处理单元为传感器提供接口。在较高层,处理单元可以具有两个或更多个ALU,并且这些处理单元的互连(例如,数据路由)可以有助于动态管道的连接和分支。由于处理单元不是时钟,即单元是异步的,因此可以显着降低功耗,特别是在低泄漏过程中。
图1示出了根据本公开的一些实施例的主处理器和可配置预处理阵列的示例性芯片框图。在该示例中,芯片框图示出了H1层102,H2层104,H3层106和主处理层108。H1层102,H2层104和H3层106与可配置预处理层108的处理相关联。处理阵列。主处理层108与主处理器的处理相关联。应当理解,根据应用可以提供更少或更多的层。此外,该示例示出了每层的多个处理单元,但是应当理解,根据应用,每层可以提供更少或更多的单元。主处理器通过这些处理单元能够执行的合适指令来管理预处理流水线的配置。该配置可以指示例如数据如何通过层(在每个层的处理单元之间,或不同层的处理单元之间)之间移动。
在一些实施例中,可配置的预处理阵列可以执行实时传感器数据流的预处理并且减少整个系统的降低功耗。可配置的预处理阵列由专门的电路实现,其操作的执行可以被编程。可配置预处理阵列包括用于处理实时传感器数据流的第一处理层(H1层102)中的多个第一处理单元。第一处理单元中的每一个可被配置为从主处理器执行一个或多个第一处理层指令。可配置预处理阵列还包括用于处理由第一处理层(H1层102)生成的输出数据的第二处理层(H2层104)中的多个第二处理单元。第二处理单元中的每一个可被配置为从主处理器执行一个或多个第二处理层指令。指令集可能因应用而异。这些处理单元中的许多可以作为多条管线并行运行。因此,可以非常有效地执行许多实时传感器数据流的处理。
如果需要,可配置的预处理阵列还可以包括进一步的处理层。例如,可配置预处理阵列可以包括用于处理由第二处理层(H2层104)产生的输出数据的第三处理层(H3层106)中的多个第三处理单元。第三处理单元中的每一个可以被配置为从主处理器执行一个或多个第三处理层指令。
除了由处理单元执行的操作之外,可配置预处理的不同部分之间的数据路由也可以由例如主处理器来编程。在某些情况下,主处理器可以指定条件数据路由,其中数据路由基于处理单元的输出数据。条件数据路由允许可配置处理阵列的复杂数据处理,例如基于来自多个传感器的数据的智能感测。此外,条件数据路由有利地允许管线根据传感器数据进行连接或拆分。
例如,第二处理单元中的第一处理单元可以包括向以下各项中的一个或多个提供条件数据路由的电路:存储器,对等第二处理单元(在第二处理层中)以及处理单元第三处理层。在一些情况下,条件数据路由,即第二处理单元中的第一处理单元的输出数据应被路由在哪里,可以基于第一处理单元的输出数据。
在一些情况下,第三处理单元中的第一处理单元可以包括向以下各项中的一个或多个提供条件数据路由的电路:存储器,对等第三处理单元(在第三处理层中)和处理单元第三处理层。在一些情况下,条件数据路由,即第三处理单元中的第一处理单元的输出数据应该被路由的地方,可以基于第三处理单元中的第一处理单元的输出数据。
传感器数据流的并行处理的优点
单个传感器可以由在H1层102中的接口块处开始的流水线来服务。因此,多个传感器可以经由相应管线在H1层102中的多个接口块来处理。这些管道提供多个数据流的并行处理,并且这些管道可以根据可配置处理阵列的编程进行合并或拆分。具体来说,流水线的微编码配置可以对流水线进行编程,以定期收集传感器数据,以编程方式评估传感器数据,评估从多个管道的合并接收的数据,评估从管道分割的数据,打开具有不同级别的处理复杂度的处理单元,并且在最高级别的功能上,为主处理器执行循环加速或并行化任务。由于动态管道的可配置性,操作的结果可以共享并转移到其他处理单元以利用高度并行架构。
这些级还提供了一些有利的特征以提供样本数据的有效处理,而不受主处理器的干扰。例如,根据管道中的位置(通常适用于较高层中的处理单元),管道的某些阶段可以实现循环和/或分支功能。每个阶段可以实现零开销循环,这可以大大提高效率,而无需主处理器执行干预或工作。一些阶段甚至可以执行零循环跳转,中断和返回。在另一种情况下,流水线中的一些阶段可以将数据直接传递到下一阶段,从而消除了转换期间的数据存储器访问,以及减少函数调用或潜在的进程上下文交换。输出数据的传递可以在相同层中的“对等”处理单元之间,或者从一层的一个处理单元到较高层的另一个处理单元之间完成。在另一情况下,这些处理单元也可以写入共享存储器而不受主处理器的干扰。可配置预处理阵列可以包括由第一处理层,第二处理层和第三处理层可访问的共享存储器,而不受来自主处理器的干扰。共享存储器可以用于数据的内部处理层通信,而不必利用主处理器的周期或资源。
H1(最低)层:可配置处理阵列的量子
图1中看到的作为最低层处理的H1层102具有有限的实现。H1层102具有用于每个传感器的单独管道,其中每个流水线包括接口块(例如,相应的传感器接口)和低功率有限状态机(FSM)块(在此称为“H1处理单元”),其可以包括用于处理传感器数据的单个算术逻辑单元)。例如,一个接口块可以通过串行接口与加速度计接口,另一个接口块可以通过另一个串行接口与电容式传感器接口。广义而言,这一层是“永远在”的。具体来说,该层被配置为收集和存储传感器数据,并且在许多情况下,实现简单的流监视以指示兴趣的活动。例如,阈值处理是一种常见的流监视功能。
在一些实施例中,第一处理层(H1层102)中的第一处理单元可以通过向实时传感器数据流应用阈值来监视实时传感器数据流。例如,第一处理单元可以检查实时传感器数据流中的数据值是否大于阈值,或者检查最小数量的数据值是否超过阈值。如果是,则第一处理单元检测到感兴趣的活动。这种操作模式是特别有利的,因为传感器可以“休眠”或者长时间没有有趣的活动。没有这种处理层,主处理器将花费大量的精力来轮询感兴趣的活动。
H1层102执行的技术任务之一是管理来自任意数据接口的数据的同步收集,如果需要执行轻度预处理,并尽可能少地消耗功率。例如,如果发现感兴趣的活动,则H1层102可以扫描传感器数据中感兴趣的活动并中断较高层(例如,H2层104),系统的其余部分保持“关闭”或“未占用”。通常,保证多个传感器的硬实时采样开始成为在任何大量负载下的单个处理器的挑战。此外,处理器定期对外部传感器采样的大机制是功耗低效的。H1层102通过仅执行单次循环以在被触发时从传感器捕获数据来解决这些问题,如果需要则处理接收到的数据,然后停止直到另一个主处理器触发另一个单次循环。在一些实施例中,第一处理层(H1层102)的第一处理单元中的至少一个可以被配置为响应于使能信号执行指令存储器中的指令的单次执行,并且在执行指令的单次执行直到另一个使能信号被触发。
图2是示出根据本公开的一些实施例的示例性H1处理单元的功能图。H1处理单元的功能块包括地址生成器块202,指令随机存取存储器(RAM)204,读/写(R/W)仲裁块202,工作寄存器208,特殊功能寄存器210,数据路由212和ALU案例声明块214。为了触发单次循环(仅循环一次的“循环”),主处理器可以经由R/W仲裁块206将指令(“微代码”)加载到指令RAM 204上并导致一个使能信号被提供给地址生成块202。地址生成块202可以包括可以响应于使能信号顺序执行指令RAM 204中的指令的电路。
H1处理单元可以被认为是具有单个中断向量的基本处理器。完成中断服务程序中的指令后,H1停顿,不消耗动态电源。任何能够保持时基的源适合于触发H1的使能信号;示例是数字计数器,振荡模拟比较器电路等。优选地,H1被实现为异步逻辑。当处理完成时(例如,当一个或多个第一处理层指令的执行完成时,门控异步逻辑的时钟或信号),H1处理单元可以对其自己的时钟进行选通。
指令的一部分可以控制数据路由,例如控制多路复用器来加载来自工作寄存器208和特殊功能寄存器210的适当操作数,以及向工作寄存器208和特殊功能寄存器210写入数据。此外,每个指令的部分可以在ALU case语句214块中选择一个适当的ALU功能来处理数据。工作寄存器208通常用于存储指令的中间结果,并且特殊功能寄存器210通常用于向/从H1处理单元之外的块传送数据(例如,传感器接口,主处理器的存储器,循环缓冲器到下一个阶段,管道中的下一个阶段的注册等)。ALU案例声明块214通常将包括最小指令集,诸如针对有限脉冲响应(FIR)滤波和比较而优化的指令,或可执行传感器数据的轻微预处理的其他指令。一旦完成了指令RAM 204的指令,地址生成块202可以复位并返回到零(即,指令RAM 204的开始)。
在流水线阶段的输出处使用循环队列
返回参考图1,可以提供循环队列来存储感兴趣的样本或由处理单元在处理层中的任何一个处产生的数据,使得较高层可以以突发模式读取数据。在一些实施例中,第一处理层(H1层102)还包括在第一处理单元中的(任一)一个的输出处的圆形队列,其中第二处理单元之一直接从第一处理层经由循环队列。其他层的其他处理单元(例如,H2和H3)也可以在输出端包括圆形队列。
循环队列与直接路径区分开,因为循环队列允许多个数据样本的突发读取,并且直接路径仅允许读取单个数据样本。该示例示出了H1处理单元的输出处的循环队列,但是应当理解,较高层处的其他处理单元还可以包括循环队列(在不同层的处理单元之间或在同一层的“对等”处理单元之间)。有利地,需要多个数据样本(例如,快速傅里叶变换)的一些处理可以通过排队的路径快速读取多个数据样本。循环队列允许处理单元将数据存储在队列中,无需任何空载并存储到内存中。循环队列实际上是一个流水线延迟操作,这比实际的内存访问效率要高得多。
中断和地址生成
单次循环的实现相当简单。对于诸如H2层104和H3层106的更高层的处理,可以在处理单元的地址生成块中提供进一步的电路,以提供传感器数据流的更复杂的处理。附加电路可以提供零周期跳转,中断和返回,并且还使用循环计数器提供零延迟循环。图3是示出根据本公开的一些实施例的示例性中断和地址生成块的框图。显示的更复杂的地址生成器可以将程序计数器(“PC”)可用于生成的寄存器中的中断,跳转和返回向量(“jmpv”,“intv”,“jmprv”和“intrv”)程序计数器“PCO”。ALU也可以写入程序计数器本身。这样的中断和地址生成器可以提供比H1处理层的单次循环执行更灵活的跳转。
处理单元中的ALU的各种构造配置
返回参考图1,不同的处理层具有不同复杂性的处理单元。在H1层102处,低功率FSM处理单元具有一个ALU。图4是根据本公开的一些实施例的具有单个ALU的H1处理单元的框图。单个ALU处理单元可以负责基本收集和先进先出(FIFO)任务。为了提供更复杂的数据流处理,较高层具有具有多于一个ALU的处理单元。一到三(或更多)个ALU可以组合成一个处理单元。在一些实施例中,一个或多个第一处理单元(在H1层102中)中的至少一个每个具有单个算术逻辑单元,至少一个或多个第二处理单元(在H2层104中)每个具有两个算术逻辑单元。在一些情况下,第三处理单元中的至少一个具有三个算术逻辑单元。
H2层上的双ALU FSM处理单元
H2层104处的双ALU FSM可以具有两个ALU。双ALU FSM处理单元可以很好地比较和分析两个数据流。图5是根据本公开的一些实施例的具有两个ALU的H2处理单元的框图。该处理单元可用于H2层,可提供复杂的识别。H2层对应于图1的H2层104,其包括一个或多个双ALU FSM(这里称为“H2处理单元”)。从图中可以看出,两个ALU可以同时处理两个数据流。连接和分割流也是可能的。H2处理单元被设计为能够采用0,1或2个数据源,并确定数据的路由。H2处理停止,直到它已经接收到适当的中断信号或触发信号,这可以是同步(中断)源或触发或一个或多个H1数据就绪中断信号。H2将数据存在于其输入端,并且可以检查先前的采样或存储在存储器中的其他数据,以确定是否应启动管道的下一级。决策过程可以预处理下一阶段的数据。
用于该处理单元的指令可以有利地提供基于数据的条件路由,以确定输出数据是否应被路由到存储器,对等H2处理单元或H3处理单元(或其任何组合)。这一重要特征,动态流水线是基于数据的条件,使多个算法(管线)能够利用由特定处理块执行的相同处理。此外,数据的处理或操作可以在不用上下文切换的开销的情况下在不同上下文之间共享(即,通过连接或分支数据输出来共享中间结果),所以指令已经适当地编程了可配置的处理阵列。
一般来说,H2层中的双ALU FSM处理单元可以在H1检测到有趣的活动之后执行更复杂的数据分析。当H1层不存在有趣的活动时,H2层的处理单元睡眠/停顿,直至在H1层检测到活动。H2层的处理单元可以调查传感器数据的兴趣活动,并对多个数据流并行处理中等复杂度算法。双ALU FSM的代码与单个ALU FSM兼容,其中内部更改为两个ALU和写入目的地信号量。这样的代码可以以宏语言或其他合适的编程工具生成。
在H3层的三重ALU FSM处理单元
H3层106处的三重ALU FSM可以具有三个ALU。H3层对应于图1的H3层106,其包括一个或多个双ALU FSM(在此称为“H3处理单元”)。该层中的处理单元睡眠直到有效的下层活动或其他事件发生。三重ALU处理单元可以作为硬件线程接管主处理器计算任务。图6是根据本公开的一些实施例的具有三个ALU的H3处理单元的框图。H3处理块的第三个也是最后一个阶段,旨在实现需要硬实时性能的小型算法。通过拥有三个ALU,H3处理单元可以加入并分支数据流。使用内部合并功能(连接两个ALU的输出),H3处理单元无需使用1.5H2处理单元。
H3处理单元执行的任务的示例可以包括比例积分微分(PID)循环,触觉反馈和增强的音频功能。管道的这一阶段可以为算法提供实时性能,并允许主处理器通过高级应用程序编程接口(API)以软实时控制操作参数。这可以通过将某些算法作为流水线阶段的微代码来进一步提取传感器和算法。结果是在完全操作时可以帮助主处理器进行周期性处理任务的一层处理。H3层的代码通常与H1和H2层兼容,主处理器可以使用H3单元作为硬件线程,加载在编程工具中生成的二进制文件,或者通过直接加载生成的字节码来实现。
用于配置预处理阵列的软件
在一些实施例中,处理单元的各种特征向下兼容,意味着双单元可以运行单个单元的代码等。可以为处理单元的所有风格提供单个编程模型,并且因此任何缺失功能可以轻松模拟。代码空间可以限制。请注意,分析工具可用于生成用于配置预处理阵列的微代码,以优化处理单元和并行性的重用。
可配置预处理阵列可与通用协处理器区分开
在一些系统中,高性能主处理器通常由协处理器(例如,图形处理器,音频处理器,通用小型协处理器等)协助。其中一个例子可以是包括通用小尺寸处理器与电子设备中的主/应用处理器一起提供用于通信接口的一些数据通信功能。这些协处理器通常过于强大,并不特别适用于处理传感器数据流。虽然使用标准协处理器的原因有很多,例如熟悉现有的工具链和IP,但是使用通用协处理器并不能像处理传感器数据的处理网络那样获得同样的优势。
用于预处理实时传感器数据流的方法
图7是示出根据本公开的一些实施例的用于预处理实时传感器数据流的方法的流程图。用于预处理实时传感器数据流的方法可以有利地减少主处理器的上下文切换。可配置预处理阵列的第一处理层(H1)中的多个第一处理单元根据来自主处理器(任务702的一个或多个第一处理层指令)来并行地监视来自多个传感器的实时传感器数据流)。例如,第一处理单元可以单独和并行地监视数据流中感兴趣的活动。响应于通过第一处理单元(检查704)中的第一处理单元检测实时传感器数据流中感兴趣的活动,第一处理单元中的第一处理单元可以在第二处理中中断第二处理单元(任务706)层(H2),并且在第二处理层(任务708)中提供从第一处理单元中的第一处理单元到第二处理单元的输出数据。
在一些实施例中,监视实时传感器数据流(任务702)包括将阈值应用于至少一个实时传感器数据流。在一些实施例中,监控实时传感器数据流将滤波器(例如,由主处理器指定)应用于实时传感器数据流,使得将滤波版本提供给第二处理层(H2)用于进一步处理。
在一些实施例中,根据来自主处理器的一个或多个第二层处理指令,由第一处理单元中的第一处理单元处理来自第一处理单元的第一处理单元的输出数据。例如,第一处理单元中的第一处理单元可以“唤醒”,并且第一处理单元中的第一处理单元中的两个ALU可以对来自第一处理单元中的第一处理单元的输出数据进行操作。
为了提供传感器数据流的复杂处理,该方法可以包括将第二处理单元中的第一处理单元(在H2中)中的第一处理单元有条件地将输出数据路由到以下的一个或多个:基于第一处理单元的输出数据,存储器,对等第二处理单元(在H2中)和第三处理层(H3)处理单元。
为了节省功率,该方法包括停止第二处理单元中的一个或多个,直到第一处理单元中的一个或多个处理单元检测传感器数据流中感兴趣的活动。该方法还可以包括停止第三处理单元中的一个或多个处理单元,直到第二处理单元中的一个或多个处理单元检测到数据中感兴趣的活动。
应用,变型和实现
在某些情况下,本文所讨论的特征可以适用于消费者(便携式)设备,涉及传感器的医疗系统,涉及许多传感器的科学仪器,无线和有线通信,涉及传感器/接收器的雷达,涉及传感器的工业过程控制,音频以及涉及传感器的视频设备,涉及传感器的仪器以及具有许多传感器的其它基于数字处理的系统产生许多传感器数据流。广义地说,这里描述的实施例可应用于需要在不消耗大量功率的情况下监测传感器数据的许多应用中。可配置的预处理阵列通常用于辅助主处理器处理传感器数据流。主处理器阵列可以耦合到具有有限功率资源的电池供电设备。在这种情况下,可配置的预处理阵列是特别有利的,因为它可以在使用非常小的功率的同时实现传感器数据流的连续监视。
除了便携式电子设备之外,本文公开的实施例也适用于传感器远离主处理器和可配置预处理阵列分布的系统。一个例子是使用所公开的实施例与物联网。在物联网中,许多传感器(唯一可识别的感测设备)可以可通信地连接到可配置的预处理阵列。传感器数据可以经由接口(如H1层所示)作为数据帧或数据包提供,其中与H1层中的传感器的接口可以包括通信接口,例如无线通信接口。H1处理单元可以用于最小的网络帧或分组处理,例如帧/分组的解封装(例如,处理和/或去除报头信息),与校验和相关的数据计算,其他网络层处理。有效地,主处理器不必执行这些网络相关功能,H1处理单元可以激活可配置预处理阵列的较高层,以进一步处理来自传感器的输入数据(例如处理有效载荷内容,检测有效载荷内容中的兴趣活动,或其他合适的应用程序处理)。
广义地说,这里公开的实施例可应用于正在监视来自许多发射设备的数据的系统。这些设备中的一个或多个可以是主处理器和可配置的预处理阵列(例如,经由有线接口)本地的,或者远离主处理器和可配置的预处理阵列(例如,经由有线或无线接口)。这些设备可以包括例如医疗保健行业,农业/农业,汽车工业,运输业,体育产业,人员跟踪,库存跟踪,安全行业等中使用的监控设备。对于某些应用,这些设备可以包括低能够在可配置的预处理阵列处将数据发送到接口的无线电装置。在许多这些应用中,数据可以包括传感器数据或对传感器的状态进行采样的数据(例如,“活动”状态、“空闲”状态或“活动”状态))。例如,监视许多设备状态的应用程序可以利用可配置的预处理来降低主处理器的功耗。在这些应用中,应用可以周期地或频繁地轮询这些设备的状态,和/或设备可以周期地或频繁地向主处理器发送状态。为了降低功耗,可以在可配置的预处理阵列中轻松实现这些设备的状态信息的轮询,接收和处理。处理单元还可以被配置为检测来自一个设备的状态中的兴趣活动。用于合并管道(在某些情况下有条件地)具有更复杂性的处理单元还可以被配置为源自许多设备的状态的兴趣活动,从而进行更复杂的识别或活动检测。
在一些实施例中,一种用于预处理来自网络传感器的实时传感器数据流的方法包括在辅助主处理器的可配置预处理阵列处接收包括源自多个传感器。可配置预处理阵列的第一处理层(H1)中的多个第一处理单元可以通过将来自第一处理单元的实时传感器数据流提供给多个第一处理单元来执行对帧或分组的网络层处理可配置预处理阵列的第二处理层(H2)中的第二处理单元。第二处理单元可处理感兴趣的活动的实时传感器数据流。第二处理单元中的每一个可以执行来自主处理器的一个或多个第二处理层指令。响应于检测到实时传感器数据中感兴趣的活动,一个或多个第二处理单元可以在第三处理层(H3)中中断第三处理单元中的至少一个,并将第二处理层的输出数据提供给所述第三处理单元中的至少一个。
注意,上面参考附图讨论的活动可应用于涉及信号处理的任何集成电路,特别是那些可以执行专门的软件程序或算法的集成电路,其中一些可能与处理数字化的实时(传感器)数据。某些实施例可以具有涉及多DSP信号处理、浮点处理、信号/控制处理、固定功能处理、微控制器应用等的主处理器。
在上述实施例的讨论中,处理单元、功能块、电容器、时钟、DFF、分频器、电感器、电阻器、放大器、开关、数字核心、晶体管和/或其他组件可以容易地被替换,或以其他方式进行修改以适应特定的电路需求。此外,应当注意,使用互补电子设备、硬件、软件等为实现本公开的教导提供了同样可行的选择。
用于提供传感器数据的可配置预处理的各种装置的部分可以包括执行本文所述功能的电子电路。在一些情况下,设备的一个或多个部分可以由专门配置用于触发本文描述的功能的主处理器提供。例如,处理器可以包括一个或多个应用特定组件,或者可以包括被配置为触发本文描述的功能的可编程逻辑门。电路可以在模拟域、数字域或混合信号域中工作。在一些情况下,主处理器可以被配置为触发可配置的预处理阵列以通过执行存储在非暂时性计算机介质上的一个或多个指令来执行本文描述的功能。
在一个示例性实施例中,附图的任何数量的电路可以在相关联的电子设备的板上实现。该板可以是可以容纳电子设备的内部电子系统的各种部件的通用电路板,并且还可以为其它外围设备提供连接器。更具体地,电路板可以提供电连接,通过该电连接系统的其它部件可以电气通信。基于特定的配置需求、处理需求、计算机设计等,任何合适的处理器(包括数字信号处理器,微处理器,支持芯片组等),计算机可读的非暂时性存储元件等可以适当地耦合到板上其他组件如外部存储器,附加传感器,用于音频/视频显示的控制器和外围设备可以作为插件卡通过电缆连接到板上,或者集成到电路板本身中。
在另一个示例实施例中,图的电路可以被实现为独立模块(例如,具有被配置为执行特定应用或功能的相关组件和电路的设备)或被实现为插件模块应用电子设备的具体硬件。注意,本公开的特定实施例可以部分地或全部地容易地包括在片上系统(SOC)封装中。SOC表示将计算机或其他电子系统的组件集成到单个芯片中的IC。它可能包含数字,模拟,混合信号和通常的射频功能:所有这些都可以在单个芯片基板上提供。其他实施例可以包括多芯片模块(MCM),其中多个单独的IC位于单个电子封装内并被配置为通过电子封装彼此紧密地相互作用。在各种其他实施例中,可配置预处理阵列可以在专用集成电路(ASIC),现场可编程门阵列(FPGA)和其它半导体芯片中的一个或多个硅芯中实现。
还必须注意,本文概述的所有规格、尺寸和关系(例如,处理器的数量,逻辑操作等)仅仅是为了示例和教导的目的而提供的。在不脱离本公开的精神或所附权利要求的范围的情况下,这样的信息可以相当大地变化。这些规范仅适用于一个非限制性实例,因此,它们应被解释为如此。在前面的描述中,已经参考特定的处理器和/或组件布置描述了示例性实施例。在不脱离所附权利要求的范围的情况下,可以对这些实施例进行各种修改和改变。因此,描述和附图被认为是说明性的而不是限制性的。
注意,通过本文提供的许多实例,可以用两个、三个、四个或更多个电气部件来描述相互作用。然而,这仅仅是为了清楚和示例的目的而实现的。应当理解,可以以任何合适的方式来巩固该系统。沿着类似的设计替代方案,图中所示的组件,模块和元件中的任何一个可以以各种可能的配置组合,所有这些配置都明确地在本说明书的广泛范围内。在某些情况下,仅通过参考有限数量的电气元件来描述给定的一组流的一个或多个功能可能更容易。应当理解,图的电路及其教导是容易地可扩展的并且可以容纳大量组件以及更复杂/复杂的布置和配置。因此,所提供的实施例不应该限制范围或抑制潜在地应用于无数其他架构的电路的广泛教导。
注意,在本说明书中,对“一个实施例”、“示例实施例”、“实施例”、“另一个实施例”、“一些实施例”、“各种实施例”、“其他实施例”、“替代实施例”中包括的各种特征(例如,元件,结构,模块,部件,步骤,操作,特性等)等旨在意味着任何这样的特征被包括在本公开的一个或多个实施例中,或者可以不一定在相同的实施例中组合。
还重要的是注意,本文描述的用于处理传感器数据的操作仅示出了可能由图中所示的系统执行或在图中所示的系统内的一些可能的过程。这些操作中的一些可以在适当的情况下被删除或去除,或者这些操作可以在不脱离本公开的范围的情况下被修改或改变。此外,这些操作的时间可能会相当大的改变。上述业务流程是为了举例和讨论的目的而提供的。本文描述的实施例提供了实质的灵活性,因为在不脱离本公开的教导的情况下,可以提供任何合适的布置、年表、配置和定时机制。
可以为本领域技术人员确定许多其它变化、替代、变化、改变和修改,并且本公开意图包括落入范围内的所有这样的改变、替换、变化、改变和修改的所附权利要求。注意,上述装置的所有可选特征也可以针对本文描述的方法或过程来实现,并且示例中的具体内容可以在一个或多个实施例中的任何地方使用。
说明性实施例
示例1是用于执行多个传感器数据流的预处理的可配置预处理阵列,该阵列包括:用于处理传感器数据流的第一处理层,第一处理层具有一个或多个第一处理单元连接到多个传感器接口,所述一个或多个第一处理单元中的至少一个具有单个算术逻辑单元(ALU);以及第二处理层,用于处理来自第一处理层的输出数据,第二处理层具有一个或多个第二处理单元,至少一个或多个第二处理单元具有两个ALU;其中所述第二处理单元中的第一处理单元包括基于所述处理单元的输出数据将条件数据路由提供给以下一个或多个的电路:存储器,对等第二处理单元和第三处理中的处理单元层。
在示例2中,示例1的阵列可以包括包括一个或多个第三处理单元的第三层,每个一个或多个第三处理单元具有三个ALU。
在示例3中,示例1或2的阵列可以包括在第一处理单元(或其他处理层中的其他处理单元)之一的输出处的圆形队列。
在示例4中,上述示例中的任何一个的阵列可以包括一个或多个第一处理单元被配置为执行响应中的循环中的指令的单次执行。
在示例5中,上述示例中的任何一个的阵列可以包括一个或多个第二处理单元中的至少一个,包括用于在寄存器中存储中断,跳转和返回向量的中断和地址生成器,程序计数器用于生成程序计数器。
在示例6中,上述示例中的任一个的阵列可以包括一个或多个第二处理单元中的至少一个包括具有程序计数器的中断和地址生成器,该程序计数器可由ALU的输出第二处理单元。
在示例7中,上述示例中的任一个的阵列可以包括经由串行接口耦合到多个传感器的阵列。
在实施例8中,上述实施例中的任何一个的阵列可以包括耦合到电池供电装置的阵列。
在实施例9中,上述实施例中的任何一个的阵列可以包括一个或多个第二处理单元停滞,直到一个或多个第一处理单元检测到感兴趣的活动。
在示例10中,上述示例中的任何一个的阵列可以包括第三层的一个或多个第三处理单元停顿,直到一个或多个第二处理单元检测到感兴趣的活动。
在示例11中,上述示例中的任何一个的阵列可以包括异步操作的阵列(没有时钟)。
Claims (25)
1.一种用于执行实时传感器数据流的预处理并降低整个系统的功耗的可配置预处理阵列,所述可配置预处理阵列包括:
用于处理实时传感器数据流的第一处理层中的多个第一处理单元,第一处理单元每个被配置为执行来自主处理器的一个或多个第一处理层指令;和
用于处理由第一处理层生成的输出数据的第二处理层中的多个第二处理单元,每个第二处理单元被配置为执行来自主处理器的一个或多个第二处理层指令;
其中所述第二处理单元中的第一处理单元包括向如下的一个或多个提供条件数据路由:存储器,对等第二处理单元和第三处理层中的处理单元,并且所述条件数据路由基于第一处理单元中的第一个的输出数据。
2.根据权利要求1所述的可配置预处理阵列,其中所述第一处理层还包括在所述第一处理单元之一的输出处的循环队列,其中所述第二处理单元中的一个直接从所述第一处理层通过循环队列提取输出数据。
3.根据权利要求1所述的可配置预处理阵列,还包括:
由第一处理层、第二处理层和第三处理层可访问的共享存储器,而不受来自主处理器的干扰。
4.根据权利要求1所述的可配置预处理阵列,其中所述第一处理单元之一包括地址生成器块,指令存储器,读和写仲裁块,用于存储所述一个或多个第一层处理指令的中间结果的工作寄存器,用于通信数据的特殊功能寄存器,数据路由和算术逻辑单元案例语句块。
5.根据权利要求1所述的可配置预处理阵列,其中所述第一处理单元中的至少一个被配置为:
响应于使能信号,执行在指令存储器中的指令的单次执行;和
在执行单次执行指令之后停止,直到触发另一个使能信号。
6.根据权利要求1所述的可配置预处理阵列,其中,所述第一处理单元中的至少一个包括异步逻辑,当所述一个或多个第一处理层执指令行完成时,所述异步逻辑门控异步逻辑的时钟。
7.根据权利要求1所述的可配置预处理阵列,其中所述一个或多个第二处理单元中的至少一个包括中断和地址生成器,用于在生成所述程序计数器的程序计数器的寄存器中存储中断、跳转和返回向量。
8.根据权利要求1所述的可配置预处理阵列,其中所述一个或多个第二处理单元中的至少一个包括具有程序计数器的中断和地址生成器,所述程序计数器可由所述第二处理单元的算术逻辑单元的输出编程。
9.根据权利要求1所述的可配置预处理阵列,其中所述一个或多个第一处理单元中的至少一个具有单个算术逻辑单元,所述一个或多个第二处理单元中的至少一个具有两个算术逻辑单元。
10.根据权利要求1所述的可配置预处理阵列,其中所述第二处理单元中的一个具有个用于同时处理两个数据流的两算术逻辑单元。
11.根据权利要求1所述的可配置预处理阵列,还包括:
所述第三处理层中的多个第三处理单元,用于处理由所述第二处理层生成的输出数据,所述第三处理单元被配置为执行来自所述主处理器的一个或多个第三处理层指令。
12.根据权利要求11所述的可配置预处理阵列,其中所述第三处理单元中的至少一个具有三个算术逻辑单元。
13.根据权利要求11所述的可配置预处理阵列,其中所述第三处理单元中的所述一个被配置为连接两个算术逻辑单元的输出。
14.根据权利要求1所述的可配置预处理阵列,其中所述多个第一处理单元中的每一个连接到相应的传感器接口。
15.根据权利要求14所述的可配置预处理阵列,其中所述相应的传感器是串行接口。
16.根据权利要求1所述的可配置预处理阵列,其中所述阵列耦合到电池供电设备。
17.根据权利要求1所述的可配置预处理阵列,其中所述阵列在所述处理单元之间没有共享时钟信号的情况下异步操作。
18.一种用于预处理实时传感器数据流并减少主处理器的上下文切换的方法,所述方法包括:
根据来自主处理器的一个或多个第一处理层指令,由可配置预处理阵列的第一处理层中的多个第一处理单元监视来自多个传感器的实时传感器数据流;和
响应于由所述第一处理单元中的第一处理单元检测到所述实时传感器数据流中感兴趣的活动,中断第二处理层中的第二处理单元并将所述第一处理单元中的第一处理单元的输出数据提供给所述第二处理单元处理单元。
19.根据权利要求18所述的方法,其中监视所述实时传感器数据流包括将阈值应用于所述实时传感器数据流中的至少一个。
20.根据权利要求18所述的方法,还包括:
根据来自主处理器的一个或多个第二层处理指令,由第一处理单元中的第一处理单元处理来自第一处理单元的第一处理单元的输出数据。
21.根据权利要求20所述的方法,还包括:
通过循环队列以突发模式从第二处理单元读取第一处理单元的输出数据。
22.根据权利要求20所述的方法,还包括:
基于第一处理单元的输出数据,第二处理单元中的第一处理单元有选择地将第一处理单元中的第一处理单元的输出数据路由到如下的一个或多个:存储器、对等第二处理单元和第三处理层中的处理单元。
23.根据权利要求18所述的方法,还包括:
停止一个或多个第二处理单元,直到第一处理单元中的一个或多个处理单元检测到感兴趣的活动。
24.根据权利要求22所述的方法,还包括:
停止第三处理单元中的一个或多个处理单元,直到第二处理单元中的一个或多个处理单元检测到感兴趣的活动。
25.一种用于从网络传感器预处理实时传感器数据流的方法,所述方法包括:
在辅助主处理器的可配置预处理阵列处接收包括源自多个传感器的实时传感器数据流的帧或分组;
通过可配置预处理阵列的第一处理层中的多个第一处理单元对帧或分组进行网络层处理;
将所述实时传感器数据流从所述第一处理单元提供给所述可配置预处理阵列的第二处理层中的多个第二处理单元;
通过第二处理单元处理实时传感器数据流,每个第二处理单元执行来自主处理器的一个或多个第二处理层指令;和
响应于检测到实时传感器数据中感兴趣的活动,中断第三处理层中的第三处理单元中的至少一个,并将第二处理层的输出数据提供给第三处理单元中的至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462061210P | 2014-10-08 | 2014-10-08 | |
US62/061,210 | 2014-10-08 | ||
PCT/US2015/054265 WO2016057531A1 (en) | 2014-10-08 | 2015-10-06 | Configurable pre-processing array |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107113719A true CN107113719A (zh) | 2017-08-29 |
CN107113719B CN107113719B (zh) | 2020-06-23 |
Family
ID=55653652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580054603.2A Active CN107113719B (zh) | 2014-10-08 | 2015-10-06 | 可配置的预处理阵列器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170249282A1 (zh) |
CN (1) | CN107113719B (zh) |
DE (1) | DE112015004626T5 (zh) |
WO (1) | WO2016057531A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669527A (zh) * | 2018-12-18 | 2019-04-23 | Oppo广东移动通信有限公司 | 数据处理方法和电子设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9520180B1 (en) | 2014-03-11 | 2016-12-13 | Hypres, Inc. | System and method for cryogenic hybrid technology computing and memory |
US11327475B2 (en) | 2016-05-09 | 2022-05-10 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for intelligent collection and analysis of vehicle data |
US10732621B2 (en) | 2016-05-09 | 2020-08-04 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for process adaptation in an internet of things downstream oil and gas environment |
US11774944B2 (en) | 2016-05-09 | 2023-10-03 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10908602B2 (en) | 2017-08-02 | 2021-02-02 | Strong Force Iot Portfolio 2016, Llc | Systems and methods for network-sensitive data collection |
WO2021035079A1 (en) * | 2019-08-22 | 2021-02-25 | Google Llc | Propagation latency reduction |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459798A (en) * | 1993-03-19 | 1995-10-17 | Intel Corporation | System and method of pattern recognition employing a multiprocessing pipelined apparatus with private pattern memory |
US5583506A (en) * | 1988-07-22 | 1996-12-10 | Northrop Grumman Corporation | Signal processing system and method |
CN1298501A (zh) * | 1998-04-29 | 2001-06-06 | 爱特梅尔股份有限公司 | 具有数据存储扇区和代码存储扇区并同时支持对两种扇区的读/写访问的单个存储模块的微控制器 |
CN101201278A (zh) * | 2007-11-30 | 2008-06-18 | 清华大学 | 基于阵列式超薄柔顺力传感器的曲面层间挤压力监测系统 |
US20120136913A1 (en) * | 2010-03-15 | 2012-05-31 | Duong Tuan A | System and method for cognitive processing for data fusion |
CN102665049A (zh) * | 2012-03-29 | 2012-09-12 | 中国科学院半导体研究所 | 基于可编程视觉芯片的视觉图像处理系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049842A (en) * | 1997-05-01 | 2000-04-11 | International Business Machines Corporation | Efficient data transfer mechanism for input/output devices |
US20070270671A1 (en) * | 2006-04-10 | 2007-11-22 | Vivometrics, Inc. | Physiological signal processing devices and associated processing methods |
US8487655B1 (en) * | 2009-05-05 | 2013-07-16 | Cypress Semiconductor Corporation | Combined analog architecture and functionality in a mixed-signal array |
WO2012001462A1 (en) * | 2010-06-30 | 2012-01-05 | Nokia Corporation | Method and apparatus for providing context-based power consumption control |
US20140031060A1 (en) * | 2012-07-25 | 2014-01-30 | Aro, Inc. | Creating Context Slices of a Storyline from Mobile Device Data |
US9367119B2 (en) * | 2012-10-22 | 2016-06-14 | Maxim Integrated Products, Inc. | System and method to reduce power consumption in a multi-sensor environment |
-
2015
- 2015-10-06 CN CN201580054603.2A patent/CN107113719B/zh active Active
- 2015-10-06 DE DE112015004626.7T patent/DE112015004626T5/de not_active Withdrawn
- 2015-10-06 US US15/517,266 patent/US20170249282A1/en not_active Abandoned
- 2015-10-06 WO PCT/US2015/054265 patent/WO2016057531A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583506A (en) * | 1988-07-22 | 1996-12-10 | Northrop Grumman Corporation | Signal processing system and method |
US5459798A (en) * | 1993-03-19 | 1995-10-17 | Intel Corporation | System and method of pattern recognition employing a multiprocessing pipelined apparatus with private pattern memory |
CN1298501A (zh) * | 1998-04-29 | 2001-06-06 | 爱特梅尔股份有限公司 | 具有数据存储扇区和代码存储扇区并同时支持对两种扇区的读/写访问的单个存储模块的微控制器 |
CN101201278A (zh) * | 2007-11-30 | 2008-06-18 | 清华大学 | 基于阵列式超薄柔顺力传感器的曲面层间挤压力监测系统 |
US20120136913A1 (en) * | 2010-03-15 | 2012-05-31 | Duong Tuan A | System and method for cognitive processing for data fusion |
CN102665049A (zh) * | 2012-03-29 | 2012-09-12 | 中国科学院半导体研究所 | 基于可编程视觉芯片的视觉图像处理系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669527A (zh) * | 2018-12-18 | 2019-04-23 | Oppo广东移动通信有限公司 | 数据处理方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
DE112015004626T5 (de) | 2017-06-22 |
US20170249282A1 (en) | 2017-08-31 |
CN107113719B (zh) | 2020-06-23 |
WO2016057531A1 (en) | 2016-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107113719A (zh) | 可配置的预处理阵列器 | |
CN110582785B (zh) | 配置用于执行层描述符列表的具有功率效率的深度神经网络模块 | |
US11514291B2 (en) | Neural network processing element incorporating compute and local memory elements | |
CN105912396B (zh) | 用于动态地分配可配置计算资源的资源的技术 | |
CN103221918B (zh) | 具有分开的数据总线和消息总线的ic集群处理设备 | |
US8914551B2 (en) | Sensor polling unit for microprocessor integration | |
US10157060B2 (en) | Method, device and system for control signaling in a data path module of a data stream processing engine | |
CN103119537B (zh) | 用于通过使指令拾取单元掉电来降低处理器中的功耗的方法和装置 | |
CN103777923A (zh) | Dma向量缓冲区 | |
US11016810B1 (en) | Tile subsystem and method for automated data flow and data processing within an integrated circuit architecture | |
CN103345461A (zh) | 基于fpga的带有加速器的多核处理器片上网络系统 | |
US11238334B2 (en) | System and method of input alignment for efficient vector operations in an artificial neural network | |
WO2015187635A1 (en) | Extracting system architecture in high level synthesis | |
CN107729860B (zh) | 人脸识别计算方法及相关产品 | |
CN108628693A (zh) | 处理器调试方法和系统 | |
El Kateeb et al. | Wireless sensor nodes processor architecture and design | |
CN107566296A (zh) | 接口设备和接口方法 | |
Cho et al. | AB9: A neural processor for inference acceleration | |
US7107478B2 (en) | Data processing system having a Cartesian Controller | |
CN105718418B (zh) | 用于只写处理器间复位同步的方法和装置 | |
US20190066626A1 (en) | Automatic multi-clock circuit generation | |
Hung et al. | An Energy-efficient and Programmable RISC-V CNN Coprocessor for Real-time Epilepsy Detection and Identification on Wearable Devices | |
Garside et al. | The amulet chips: Architectural development for asynchronous microprocessors | |
Bae et al. | A 4.75 GOPS single-chip programmable processor array consisting of a multithreaded processor and multiple SIMD and IO processors | |
Chaithanya et al. | Microarchitecture and Design of a Watchdog Timer for aRISC-V based SoC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |