CN108431772A - 操作无线传感器装置中的vliw处理器 - Google Patents

操作无线传感器装置中的vliw处理器 Download PDF

Info

Publication number
CN108431772A
CN108431772A CN201680074058.8A CN201680074058A CN108431772A CN 108431772 A CN108431772 A CN 108431772A CN 201680074058 A CN201680074058 A CN 201680074058A CN 108431772 A CN108431772 A CN 108431772A
Authority
CN
China
Prior art keywords
storage unit
execution unit
clock cycle
unit
processor
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
CN201680074058.8A
Other languages
English (en)
Inventor
K·查塔
N·J·马塔伊
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.)
Cognitive Systems Inc
Cognitive Systems Corp
Original Assignee
Cognitive Systems Inc
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 Cognitive Systems Inc filed Critical Cognitive Systems Inc
Publication of CN108431772A publication Critical patent/CN108431772A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

在这里描述的一些方面中,无线传感器装置包括射频(RF)处理器系统。所述RF处理器系统包括具有多个执行单元的超长指令字(VLIW)处理器装置。所述RF处理器系统还包括存储单元和互连装置。所述存储单元存储要路由至所述执行单元的指令字。所述互连装置提供所述存储单元和所述执行单元之间的连接。所述互连装置适于根据针对所述VLIW装置的各时钟周期的路由索引来将指令字从存储单元路由至各执行单元。

Description

操作无线传感器装置中的VLIW处理器
优先权要求
本申请要求2015年12月16日提交的、标题为“Operating a VLIW Processor in aWireless Sensor Device”的美国申请14/971,299的优先权,其通过引用而并入于此。
背景技术
以下说明涉及无线传感器装置中的超长指令字(VLIW)处理器的操作。
超长指令字(VLIW)处理器具有用以并行处理多个指令的多个执行单元。通常,VLIW处理器的各执行单元可以在VLIW处理器的各时钟周期期间执行指令字。执行单元可以接收“NOP”指令,这表示在相应的时钟周期期间不操作执行单元。
发明内容
在这里描述的一般方面,指令被通信至超长指令字(VLIW)处理器装置。
在一些方面,一种处理器系统包括具有多个执行单元的超长指令字(VLIW)处理器装置。所述处理器系统还包括存储单元和互连装置。所述存储单元存储要路由至所述执行单元的指令字。所述互连装置提供所述存储单元和所述执行单元之间的连接。所述互连装置适于访问针对所述VLIW处理器装置的时钟周期的路由索引。所述互连装置还适于根据针对所述时钟周期的路由索引来将所述指令字从所述存储单元中的一个或多个存储单元路由至所述执行单元中的一个或多个执行单元。
在一些方面,指令字存储在处理器系统中的各存储单元处。在用于提供VLIW处理器装置的所述存储单元和所述执行单元之间的连接的互连装置处,访问针对所述VLIW处理器装置的时钟周期的路由索引。所述指令字根据所述路由索引从所述存储单元中的一个或多个存储单元路由至所述执行单元中的一个或多个执行单元。
在一些方面,所述处理器系统是无线传感器装置中的射频(RF)处理器系统。
这些其它方面的实现可以包括以下特征中的一个或多个。针对所述时钟周期的路由索引可以针对各执行单元表示该执行单元是否接收要在该时钟周期上执行的指令字。所述路由索引可以包括表示针对所述执行单元中的至少一个执行单元的NOP指令的二进制值。
这些其它方面的实现可以包括以下特征中的一个或多个。所述VLIW处理器装置可以包括N个执行单元,并且所述处理器系统可以包括N个存储单元。所述处理器系统可以包括用于提供所述N个存储单元和所述N个执行单元之间的N对N连接的N对N互连装置。
这些其它方面的实现可以包括以下特征中的一个或多个。所述处理器系统可以包括用于存储针对所述VLIW处理器装置的多个时钟周期的路由索引的索引存储。所述互连装置可以适于访问来自所述索引存储的针对各时钟周期的路由索引。所述索引存储可以存储包括针对所述多个时钟周期的路由索引的二进制路由矩阵。所述处理器系统可以包括用于存储要被通信至所述存储单元的指令字的主存储装置。
这些其它方面的实现可以包括以下特征中的一个或多个。可以根据针对第一时钟周期的路由索引来提供所述存储单元中的第一存储单元和所述执行单元中的第一执行单元之间的第一连接。可以通过所述第一连接将所述指令字中的第一指令字从所述第一存储单元路由至所述第一执行单元。可以根据针对随后的第二时钟周期的路由索引来提供所述第一存储单元和所述执行单元中的不同的第二执行单元之间的不同的第二连接。可以通过所述第二连接将第二指令字从所述第一存储单元路由至所述第二执行单元。
在一些情况下,这些和其它方面的实现可以提供多个优点。例如,用于VLIW处理器装置的指令可以需要较少的内存。作为另一示例,用于VLIW处理器装置的指令可以根据不依赖于简档化的一般方案来路由。
在以下附图和说明书中详细阐述了一个或多个实现。根据说明书和附图以及权利要求书,其它特征、目的和优点将显而易见。
附图说明
图1A是示出示例性无线传感器装置的方面的框图。
图1B是示出示例性处理器系统的示意图。
图2是示出示例性指令集的示意图。
图3是示出无线传感器装置中的示例性信号路径的示意图。
具体实施方式
图1A是示出示例性无线传感器装置100的方面的框图。如图1A所示,无线传感器装置100包括天线系统102、射频(RF)处理器系统104和电源103。无线传感器装置可以包括附加的或不同的特征和组件,并且这些组件可以如图所示或者以其它方式布置。
在操作中,无线传感器装置100可以检测和分析无线信号。在一些实现中,尽管无线传感器装置100本身不是蜂窝网络的一部分,但是该无线传感器装置可以检测根据(例如,蜂窝网络的)无线通信标准进行交换的信号。在一些情况下,无线传感器装置100通过在宽频率范围上“收听”或“观察”RF信号并处理其检测到的RF信号来监视RF信号。可能存在没有检测到RF信号的时间,并且在无线传感器装置100的本地环境中检测到RF信号时,该无线传感器装置100可以(例如,间或地或连续地)处理这些RF信号。
示例性天线系统102例如通过电线、导线、触点或者使得天线系统102和RF处理器系统104能够交换RF信号的其它类型的连接,来与RF处理器系统104通信连接。在一些情况下,天线系统102无线地接收来自无线传感器装置100的电磁环境的RF信号,并将这些RF信号传送至RF处理器系统104以待处理(例如,数字化、分析、存储、再发送等)。在一些情况下,天线系统102接收来自RF处理器系统104的RF信号,并无线地发送来自无线传感器装置100的RF信号。
示例性RF处理器系统104可以包括被配置为处理RF信号的一个或多个芯片、芯片组、或其它类型的装置。例如,RF处理器系统104可以包括一个或多个处理器装置,其中这一个或多个处理器装置被配置为通过对根据各种无线通信标准发送的RF信号进行解调和解码来识别和分析编码在RF信号中的数据。在一些情况下,RF处理器系统104包括VLIW处理器装置。例如,RF处理器系统104可以包括图1B所示的处理器系统110或其它类型的处理器系统的特征。VLIW处理器装置包括用以并行处理多个指令的多个执行单元。例如,无线传感器装置100可以提供相当的计算资源以处理用于实时分析无线信号的大型指令集。
在一些实现中,例如,即使在编译器不能调度VLIW处理器装置的所有可用位置(slot)中的指令字的情况下(例如,在编译器将“NOP”或空集插入未使用指令位置的情况下),RF处理器系统104也以高指令存储器利用率来处理用于VLIW处理器装置的指令。例如,RF处理器系统可以使用用于为指令提供高压缩比的压缩方案。在一些情况下,压缩方案使用二进制路由矩阵来构造具有NOP指令和非NOP指令的操作流程。例如,二进制路由矩阵可以包括用以按照要被应用的顺序表示所有非NOP指令的第一二进制索引(例如,“1”)、以及用以按照要被应用的顺序表示所有NOP指令的另一二进制索引(例如,“0”)。在这样的示例中,NOP指令可以减少至一位,因此与一些现有方案相比需要较少的存储。
在一些实现中,RF处理器系统104被配置为监视并分析根据例如如下的一个或多个通信标准格式化的信号:诸如全球移动系统(GSM)和GSM演进的增强数据率(EDGE)或EGPRS等的2G标准;诸如码分多址(CDMA)、通用移动电信系统(UMTS)和时分同步码分多址(TD-SCDMA)等的3G标准;诸如长期演进(LTE)和高级LTE(LTE-A)等的4G标准;诸如IEEE802.11等的无线局域网(WLAN)或WiFi标准、蓝牙、近场通信(NFC)和毫米通信;以及这些无线通信标准中的多个或其它类型的无线通信标准。在一些情况下,RF处理器系统104能够提取可用特征、同步信息、小区和服务标识符、RF的质量度量、无线通信标准的物理层、以及其它信息等。在一些实现中,RF处理器系统104被配置为处理其它类型的无线通信(例如,非标准化的信号和通信协议)。
在一些实现中,RF处理器系统104可以在频域、时域或两者中进行各种类型的分析。在一些情况下,RF处理器系统104被配置为确定所检测到的信号的带宽、功率谱密度或其它频率属性。在一些情况下,RF处理器系统104被配置为进行解调或其它操作以在时域中从无线信号提取内容,例如无线信号中所包括的信令信息(例如,前导码、同步信息、信道条件指示、WiFi网络的SSID/MAC地址)。RF处理器系统104和天线系统102可以基于电源103所提供的电力来进行操作。例如,电源103可以包括用于向RF处理器系统104提供AC或DC电压的电池或其它类型的组件。
在一些情况下,无线传感器装置100被实现为可用于感测无线信号并分析无线频谱使用的紧凑、便携式装置。在一些实现中,无线传感器装置100被设计为以低功耗(例如,平均约为0.1或0.2瓦以下)进行操作。在一些实现中,无线传感器装置100可以小于典型的个人计算机或膝上型计算机,并且可以在各种环境下进行操作。在一些情况下,无线传感器装置100可以在用于分析和聚合某一地理区域中的无线频谱使用的无线传感器网络或其它类型的分布式系统中进行操作。例如,在一些实现中,无线传感器装置100可以如标题为“Wireless Spectrum Monitoring and Analysis”的美国专利9,143,168中所描述地使用,或者无线传感器装置100可以在其它类型的环境中使用或者以其它方式进行操作。
图1B是示出示例性处理器系统110的示意图。在一些情况下,示例性处理器系统110的全部或部分可以包括在图1A所示的RF处理器系统104中。例如,处理器系统110可被配置为接收并分析天线系统所检测到的RF信号。处理器系统110可以包括在其它类型的系统和装置中。图1B中的示例性处理器系统110包括主存储111、动态存储器分配(DMA)单元112、总线113、高速缓存存储器115、互连装置114、超大指令字(VLIW)处理器装置117、索引存储119、以及预取队列120。在所示的示例中,高速缓存存储器115包括N个存储单元116A、116B、...116N,VLIW处理器装置117包括N个执行单元118A、118B、...118N,并且互连装置114是N对N互连装置(其中N是整数)。处理器系统110可以包括附加的或不同的特征,并且处理器系统的特征可以如图所示或以其它方式布置。
示例性处理器系统110可以通过存储和处理针对VLIW处理器装置117的指令集来进行操作。在一些示例中,处理器系统110存储并处理如图2所示的示例性指令集200那样格式化的指令集,其中该指令集包括二进制路由矩阵208和指令字210的集合。处理器系统110可以存储并处理更大或更小的指令集,或者处理器系统110可以存储并处理以其它方式格式化的指令集。
示例性处理器系统110包括可以存储二进制信息的三个存储器装置。所示的三个示例性存储器装置是主存储111、高速缓存存储器115和索引存储119。处理器系统110可以包括附加的或不同的存储器装置。存储器装置可以包括易失性存储器装置(例如,静态随机存取存储器、动态随机存取存储器、专用逻辑电路等)或非易失性存储器装置(例如,闪速存储器、各种形式的只读存储器等)。
示例性主存储111包括用以存储针对VLIW处理器装置117的指令的存储器。例如,主存储111可以存储图2所示的指令字210的集合,或者主存储111可以存储其它格式(压缩或未压缩)的指令或其它类型的信息。
示例性DMA单元112连接在主存储111和总线113之间。DMA单元112能够操作以生成存储器地址,在一个或多个存储器装置(例如,主存储111、高速缓存存储器115等)中发起读取和写入操作,并进行与存储器装置相关的其它操作。在一些示例中,DMA单元112可以访问主存储111中所存储的信息,并经由总线113将该信息分配至其它装置(例如,高速缓存存储器115)。例如,DMA单元112可以访问主存储111中的指令字,并经由总线113将这些指令字分配至高速缓存存储器115。
示例性总线113提供DMA单元112和高速缓存存储器115之间的物理连接。例如,总线113可以包括适于在DMA单元112和高速缓存存储器115之间传送信息的一个或多个电线、光纤或其它物理路径。总线113可以提供处理器系统110中的其它装置或组件之间的连接。
示例性高速缓存存储器115包括N个存储单元116A、116B、...116N。整数N可以例如是十二(12)、十六(16)或其它值。在所示的示例中,整数N还是VLIW处理器装置117中的执行单元118A、118B、...118N的数量。因此,在该示例中,高速缓存存储器115中的存储单元116A、116B、...116N的数量等于VLIW处理器装置117中的执行单元118A、118B、...118N的数量。
高速缓存存储器115中的示例性存储单元116A、116B、...116N各自包括用以存储用于VLIW处理器装置117的指令字的存储器。例如,高速缓存存储器115可以存储图2所示的指令字210中的N个指令字,其中第一存储单元116A存储指令字中的第一指令字(例如,a11),第二存储单元116B存储指令字中的第二指令字(例如,a13)等。在所示的示例中,高速缓存存储器115可以存储针对VLIW处理器装置117的至少一个时钟周期的所有指令字。在一些情况下(对于包括一个或多个NOP指令的时钟周期),高速缓存存储器115可以存储针对VLIW处理器装置117的多个时钟的指令字。
示例性存储单元116A、116B、...116N存储要路由至各个执行单元118A、118B、...118N的指令字。高速缓存存储器115中的示例性存储单元116A、116B、...116N可被实现为N个独立的“微型存储”。在所示的示例中,使存储分离,以允许增加压缩并且允许对VLIW处理器装置117中的执行单元118A、118B、...118N进行连续馈送。
示例性互连装置114提供存储单元116A、116B、...116N和执行单元118A、118B...118N之间的连接。在所示的示例中,互连装置114包括可以在任何存储单元和任何执行单元之间进行连接的路由逻辑,并且该路由逻辑可以修改各时钟周期的连接。互连装置114可以在各时钟周期中使用这些连接将来自各个存储单元116A、116B、...116N的指令字通信至各个执行单元118A、118B、......118N。示例性互连装置114是N对N互连,这意味着该互连装置114可以在N个存储单元中的任一个存储单元与N个执行单元中的任一个执行单元之间建立通信链路。例如,互连装置114可以提供从第一存储单元116A到第一执行单元118A、到第二执行单元118B或者VLIW处理器装置117中的任何其它执行单元的连接。
示例性互连装置114适于访问针对VLIW处理器装置117的各时钟周期的路由索引。在一些情况下,互连装置114可以利用预取队列120访问路由索引。路由索引可以例如格式化为二进制向量、二进制串或其它格式。针对时钟周期的路由索引表示在该时钟周期期间哪个执行单元应该接收非NOP指令字以供执行。以这种方式,路由索引提供针对互连装置114的路由逻辑的指令。
在一些情况下,互连装置114针对各时钟周期提供从各个存储单元到相应的各个执行单元的直接连接。可以根据针对时钟周期的路由索引来配置针对各时钟周期的连接。针对时钟周期的路由索引可以是N个二进制值的集合,其中各执行单元118A、118B、...118N具有一个二进制路由索引。例如,针对VLIW处理器装置117的时钟周期的路由索引可以是图2所示的示例性路由矩阵208的任意单独的行中的N个二进制值。在一些情况下,可以使用其它类型的路由索引。
互连装置114可以包括可根据路由索引或其它指令进行控制的数字或模拟电路。在图1B所示的示例中,示例性互连装置114的路由逻辑适于将针对VLIW处理器装置117的各时钟周期的指令字从存储单元116A、116B、...116N中的一个或多个存储单元路由至执行单元118A、118B、...118N中的一个或多个执行单元。针对各时钟周期,根据针对时钟周期的路由索引来配置存储单元和执行单元之间的连接。例如,针对时钟周期的路由索引可以表示要用于接收针对该时钟周期的指令字的执行单元的子集(一个或多个执行单元)。作为处理路由索引的结果,互连装置114可以提供执行单元的子集和存储指令字的存储单元之间的连接。
在一些情况下,互连装置114可以被实现为通过索引存储119中所存储的路由信息来控制的N:N交叉开关。通过控制连接并且使得这些连接能够针对各时钟周期根据路由索引进行再配置,可以消除或减少内存分配假设,并且可以通用地且紧凑地填充存储器装置,这可以在一些情况下实现改进的压缩和实用性。例如,以这种方式操作互连装置114可以避免如下的某些情况,其中在这些情况下,预分配将(例如,由于程序较多地使用特定执行单元因而)限制程序大小。
在一些情况下,针对各时钟周期的路由索引指定VLIW处理器装置中的哪些执行单元需要被馈送有针对该时钟周期的指令字。以这种方式,指令字可以从各个存储单元直接路由至正确的相应执行单元。并且存储单元和执行单元之间的路由可以随着各时钟周期而改变。例如,存储单元和执行单元之间的通信路径可以随着各时钟周期进行再配置,并且该再配置通信路径可以用于将指令字从存储单元传送至相应的执行单元。
作为如何针对各时钟周期改变连接的示例,互连装置114可以根据针对第一时钟周期的路由索引提供第一存储单元116A和第一执行单元118A之间的第一连接;然后该互连装置114可以改变连接以根据针对第二时钟周期的路由索引提供第一存储单元116A和第二存储单元118B之间的不同的第二连接。在该示例中,互连装置114可以使用第一连接来将第一指令字从第一存储单元116A路由至第一执行单元118A,然后该互连装置114可以使用第二连接来将第二指令字从第一存储单元116A路由至第二执行单元118B。第一指令字可以由第一执行单元118A在第一时钟周期期间执行,然后第二指令字可以由第二执行单元118B在第二时钟周期期间执行。
示例性索引存储119存储由互连装置114访问的路由索引。例如,索引存储可以存储路由矩阵,例如图2所示的示例性路由矩阵208的全部或部分。索引存储119可以存储其它类型或格式的路由索引。
示例性预取队列120可以用作索引存储119和互连装置114之间的流水线缓存器。预取队列120的大小可例如被设计为VLIW处理器装置117的延迟位置的数量,并且预取队列120可以包含远在指令执行之前请求的路由代码。在一些情况下,在控制流的改变(例如,程序跳跃)期间,已经排好队的路由代码可以继续控制路由逻辑,直到所有的延迟位置已被执行为止。
示例性VLIW处理器装置117是通过执行指令来进行逻辑操作的处理器装置。VLIW处理器装置117的N个执行单元118A、118B、...118N可以并行操作,并且在VLIW处理器装置117的各时钟周期中并行地执行指令。一般地,各执行单元通过执行从存储单元之一接收到的指令字来进行操作。针对各时钟周期的路由索引为各执行单元表示该执行单元是否接收要在该时钟周期上执行的指令字。在一些情况下,一个或多个执行单元118A、118B、...118N不在一个或多个时钟周期期间(例如,在执行单元接收NOP指令字的时钟周期期间)进行操作。VLIW处理器装置117的执行单元118A、118B、...118N可以包括被配置为处理指令字的逻辑电路或其它数据处理硬件。在操作中,执行单元执行VLIW处理器装置117的算术和逻辑工作负载以及加载和存储操作等。
示例性处理器系统110可以根据一般压缩方案(例如,由图2所示的示例所表示的方案)来存储和处理指令。例如,在一些实现中,N个存储单元116A、116B、...116N中的任意存储单元可以存储针对任意执行单元118A、118B、...118N且针对任意时钟周期的任意指令字。随着程序执行的进行,VLIW处理器单元117的控制单元可以判断要提取多少指令字、以及从N个存储单元116A、116B、...116N中的哪些存储单元提取这些指令字。控制单元可以例如通过使用寄存器指向当前“头”存储单元、然后对来自指令存储器的路由索引进行减少添加,来进行该判断。然后可以相应地更新头指针,以指向下一指令的开始。一旦头指针增量超过存储单元的数量,则该头指针可以以循环方式环绕。同样,指令的提取也可以环绕。在一些情况下,可以在使用路由索引将所提取的指令字扩展为VLIW发出的操作期间对指令字进行再定序。
图2是示出可由处理器系统110处理的示例性指令集200的某些方面的示意图。图2所示的示例性指令集200包括路由矩阵208、以及指令字210的集合。示例性路由矩阵208是M×N矩阵,其具有M行和N列(其中M和N均为整数)。路由矩阵208的各行包括针对VLIW处理器装置的单个时钟周期的路由索引。例如,第一行中的路由索引针对第一时钟周期,第二行中的路由索引针对第二时钟周期,以及第M行中的路由索引针对第M个时钟周期。路由矩阵208中的各列与VLIW处理器装置中的执行单元相对应。例如,第一列中的路由索引用于由第一执行单元执行,第二列中的路由索引用于由第二执行单元执行,以及第N列中的路由索引用于由第N个执行单元执行。针对图2所示的示例中的第一时钟周期,“1”是针对第一、第三和第N个执行单元的路由索引,以及“0”是针对第二执行单元的路由索引;针对图2所示的示例中的第二时钟周期,“1”是针对第一和第二执行单元的路由索引,以及“0”是针对第三和第N个执行单元的路由索引;等等。
在图2所示的示例中,路由索引208中的各二进制索引表示是否将非NOP指令路由至执行单元。具体而言,各“0”索引表示NOP指令,并且各“1”索引表示非NOP指令。非NOP指令明确地提供于指令字210的集合中,而NOP没有被明确地存储。例如,指令集200中的各非NOP指令可以是指令字210的集合中的n位值。
在图2所示的示例中,指令字210的集合被存储为n位值的阵列。针对第一时钟周期的指令字在图2中被示出为{a11、a13和a1N},以及针对第二时钟周期的指令字在图2中被示出为{a21和a22},等等。在该示例中,a11表示在第一时钟周期上用于第一执行单元的指令字,a13表示在第一时钟周期上用于第三执行单元的指令字,a21表示在第二时钟周期上用于第一执行单元的指令字,等等。
图2所示的指令字210的示例性集合不包括任何NOP指令字。作为替代,在路由矩阵208中,NOP指令字被表示为“0”索引。因此,例如,指令字210的集合不包括在第一时钟周期上用于第二执行单元的指令字、在第二时钟周期上用于第三执行单元的指令字、或者与路由矩阵中的“0”索引相对应的其它位置。
图2所示的示例性指令集200表示M×N个指令字,并且在路由矩阵208中存在M×N个二进制索引。在该示例中,NOP指令的数量可以表示为整数α,这意味着在路由矩阵208中存在着α个“0”索引以及(M×N-α)个“1”索引。在该示例中,各非NOP指令字各自为n位值,这意味着使用(M×N-α)×N个位来存储指令字210的集合。因此,用于存储示例性指令集200的总位数为(M×N-α)×n+(M×N)。在许多情况下,指令集200需要比其它格式少的总内存。例如,在明确存储了所有NOP指令和非NOP指令的可选格式中,使用存储器中的(M×N×n)位来存储指令集。与该可选例相比,在NOP指令的数量大于按各操作的位大小进行划分的(NOP和非NOP)操作的总数的情况下(即,在α>(M×N)/n的情况下),图2所示的格式消耗较少的内存。
在一些示例性实现中,能够在图1B所示的处理器系统110中存储并处理图2所示的指令集200。在这样的示例中,针对第一时钟周期的x个指令字a11、a13、...a1N可以存储在高速缓存存储器115中的前x个存储单元(例如,存储单元116A、存储单元116B等)上,并且针对第二时钟周期的N-x个指令字可以存储在剩余的N-x个存储单元上。例如,指令字210中的前N个指令字可以通过DMA单元112的操作经由总线113从主存储111通信至高速缓存存储器115。互连装置114可以从预取队列120接收针对第一时钟周期的路由索引。互连装置114的路由逻辑可以将指令字从前x个存储单元路由至VLIW处理器装置117中的适当的x个执行单元,以供在第一时钟周期期间执行。例如,指令字a11可以从第一存储单元116A路由至第一执行单元118A,指令字a13可以从第二存储单元116B路由至第三执行单元118C,指令字a1N可以从第x个存储单元路由至第N个执行单元118N,等等。在一些情况下,互连装置114然后可以从预取队列120接收针对第二时钟周期的路由索引,并且路由逻辑可以将指令字从剩余的N-x个存储单元路由至VLIW处理器装置117中的适当的执行单元以供在第二时钟周期期间执行。
图3是示出无线传感器装置中可以实现的示例性信号路径300的示意图。其它类型的信号路径可用于在无线传感器装置中处理信号。图3所示的示例性信号路径300包括RF接口310(在图3中表示为“无线电路径A”)和频谱分析子系统305。信号路径可以包括附加或不同的特征,其中这些特征可以如图所示或者以其它方式进行配置。在一些情况下,图3所示的系统可以进行用于监视和分析无线传感器装置中的无线信号的所有操作。例如,信号路径300可以执行无线接收器的功能,例如解调、均衡、信道解码等。信号路径300可以支持各种无线通信标准的信号接收,并且访问频谱分析子系统305以用于分析无线信号。
在所示的示例中,RF接口310可以包括用于检测并处理RF信号的宽带或窄带前端芯片组。例如,RF接口310可以被配置为在无线通信标准的一个或多个频带的宽频谱或者在特定频带内的窄频谱中检测RF信号。在一些实现中,信号路径300可以包括一个或多个RF接口310以覆盖关注的频谱。
在图3所示的示例中,RF接口310包括天线系统322、RF多路复用器320或功率合成器(例如,RF开关)、以及一个或多个信号处理路径(例如,“路径1”330、…、“路径M”340)。图3中的示例性天线系统322连接至RF多路复用器320。在一些实现中,RF接口310可被配置为使用天线系统322以基于单输入单输出(SISO)、单输入多输出(SIMO)、多输入单输出(MISO)或多输入多输出(MIMO)技术来检测RF信号。
在一些实现中,无线传感器装置的本地环境中的RF信号可以由天线系统322拾取,并被输入到RF多路复用器320中。根据RF信号的频率,从RF多路复用器320输出的信号302可以路由至处理路径(即,“路径1”330、...、“路径M”340,其中M是整数)其中之一。各路径可以包括独特的频带。例如,“路径1”330可以用于1GHz和1.5GHz之间的RF信号,而“路径M”可以用于5GHz和6GHz之间的RF信号。多个处理路径可以具有各自的中心频率和带宽。多个处理路径的带宽可以是相同或不同的。两个相邻处理路径的频带可以重叠或不相交。在一些实现中,可以基于不同的无线通信标准(例如,GSM、LTE、WiFi等)的所分配的频带来分配或以其它方式配置处理路径的频带。例如,可以配置为使得各处理路径负责检测特定无线通信标准的RF信号。作为示例,“路径1”330可以用于检测LTE信号,而“路径M”340可以用于检测WiFi信号。
各处理路径(例如,“处理路径1”330、“处理路径M”340)可以包括一个或多个RF无源元件和RF有源元件。例如,处理路径可以包括RF多路复用器、一个或多个滤波器、RF解多路复用器、RF放大器和其它组件。在一些实现中,从RF多路复用器320输出的信号302、302m可以应用于处理路径中的多路复用器(例如,“RF多路复用器1”332、...、“RF多路复用器M”342)。例如,如果选择“处理路径1”330作为信号302的处理路径,则信号302可以被馈送到“RF多路复用器1”332中。RF多路复用器可以在来自第一RF多路复用器320的信号302和由频谱分析子系统305所提供的RF校准(cal)音调338之间进行选择。“RF多路复用器1”332的输出信号304可以进入滤波器(滤波器(1,1)334a、…、滤波器(1,N)334n,其中N是整数)其中之一。滤波器进一步将处理路径的频带划分成较窄的关注频带。例如,可以将“滤波器(1,1)”334a应用于信号304以产生经滤波的信号306,并且可以将经滤波的信号306应用于“RF解多路复用器1”336。在一些情况下,可以在RF解多路复用器中放大信号306。然后,可以将放大后的信号308输入到频谱分析子系统305中。
同样地,如果选择“处理路径M”340作为信号302m的处理路径,则信号302m可以被馈送到“RF多路复用器M”342中。RF多路复用器可以在来自第一RF多路复用器320的信号302m和由频谱分析子系统305所提供的RF校准(cal)音调348之间进行选择。“RF多路复用器M”342的输出信号可以进入滤波器(滤波器(M,1)344a、…、滤波器(M,N)344n,其中N是整数)其中之一。在一些情况下,可以在RF解多路复用器M 346中放大滤波器的输出信号。然后,可以将放大后的信号308m输入到频谱分析子系统305中。
频谱分析子系统305可以被配置为将检测到的RF信号转换为数字信号,并且基于检测到的RF信号来进行数字信号处理以识别信息。频谱分析子系统305可以包括一个或多个SI无线电接收(RX)路径(例如,“无线电RX路径1”350a、“无线电RX路径M”350m)、DSP频谱分析引擎360、RF校准(cal)音调生成器370、前端控制模块380、以及I/O 390。频谱分析子系统305可以包括附加或不同的组件和特征。
在所示的示例中,将放大后的信号308输入到“无线电RX路径1”350a中,其中该“无线电RX路径1”350a将信号308降频为基带信号并应用增益。然后,可以经由模数转换器来对降频后的信号进行数字化。数字化信号可以被输入到DSP频谱分析引擎360中。在一些情况下,频谱分析子系统305包括一个或多个处理器装置,例如超长指令字(VLIW)处理器装置、数字信号处理器(DSP)装置、或者这些和其它类型的处理器装置的组合。在一些情况下,VLIW处理器装置通过用于根据路由索引来对指令进行路由的互连来接收指令。例如,频谱分析子系统305可以包括图1B所示的处理器系统110或其它类型的处理器系统。
DSP频谱分析引擎360例如可以(例如,基于无线通信标准的规范)识别数字信号中所包括的包和帧,读取嵌入在数字信号中的前导码、头部、或者其它控制信息,并且确定一个或多个频率处或带宽上的信号的信号功率和SNR、信道质量和容量、流量水平(例如,数据速率、重传率、延迟、丢包率等)或其它参数。DSP频谱分析引擎360的输出(例如,参数)可以适用于I/O 390并针对I/O 390进行格式化,例如以供发送至外部系统。
RF校准(cal)音调生成器370可以生成用于诊断和校准无线电RX路径(例如“无线电RX路径1”350a、…、“无线电RX路径M”350m)的RF校准(cal)音调。例如,可以针对线性和带宽来校准无线电RX路径。
虽然本说明书包含很多细节,但这些细节不应被解释为对所要求保护的范围的限制,而应被解释为特定于特定示例的特征描述。还可以组合本说明书在单独实现的上下文中所描述的某些特征。相反,在单个实现的上下文中所描述的各种特征还可以在多个实施例中单独实现或者以任何合适的子组合实现。
已经描述了许多实施例。然而,应当理解,可以进行各种修改。因此,其它实施例在所附权利要求书的范围内。

Claims (20)

1.一种无线传感器装置,其包括射频处理器系统即RF处理器系统,所述RF处理器系统包括:
超长指令字处理器装置即VLIW处理器装置,其包括执行单元;
存储单元,用于存储要路由至所述执行单元的指令字;以及
互连装置,其提供所述存储单元和所述执行单元之间的连接,所述互连装置被配置为:
访问针对所述VLIW处理器装置的时钟周期的路由索引;以及
根据针对所述时钟周期的路由索引来将所述指令字从所述存储单元中的一个或多个存储单元路由至所述执行单元中的一个或多个执行单元。
2.根据权利要求1所述的无线传感器装置,其中,针对所述时钟周期的路由索引针对各执行单元表示该执行单元是否接收要在该时钟周期上执行的指令字。
3.根据权利要求1所述的无线传感器装置,其中,所述路由索引包括表示针对所述执行单元其中之一的NOP指令的二进制值。
4.根据权利要求1至3中任一项所述的无线传感器装置,其中,所述VLIW处理器装置包括N个执行单元,并且所述RF处理器系统包括:
N个存储单元;以及
N对N互连装置,用于提供所述N个存储单元和所述N个执行单元之间的N对N连接。
5.根据权利要求1至3中任一项所述的无线传感器装置,其中,还包括用于存储针对多个时钟周期的路由索引的索引存储,其中所述互连装置被配置为访问针对各时钟周期的路由索引。
6.根据权利要求5所述的无线传感器装置,其中,所述索引存储用于存储包括针对所述多个时钟周期的路由索引的二进制路由矩阵。
7.根据权利要求1至3中任一项所述的无线传感器装置,其中,还包括用于存储要被通信至所述存储单元的指令字的主存储装置。
8.一种在处理器系统中处理指令字的方法,所述方法包括:
在处理器系统中的各存储单元处存储要路由至所述处理器系统中的超长指令字处理器装置即VLIW处理器装置的执行单元的指令字;以及
通过用于提供所述存储单元和所述执行单元之间的连接的互连装置的操作来进行以下步骤:
访问针对所述VLIW处理器装置的时钟周期的路由索引;以及
根据针对所述时钟周期的路由索引来将所述指令字从所述存储单元中的一个或多个存储单元路由至所述执行单元中的一个或多个执行单元。
9.根据权利要求8所述的方法,其中,还包括:通过所述互连装置的操作来进行以下步骤:
根据针对所述时钟周期的路由索引来提供所述存储单元中的第一存储单元和所述执行单元中的第一执行单元之间的第一连接;以及
通过所述第一连接将所述指令字中的第一指令字从所述第一存储单元路由至所述第一执行单元。
10.根据权利要求9所述的方法,其中,所述时钟周期包括第一时钟周期,并且所述方法还包括:通过所述互连装置的操作来进行以下步骤:
根据针对随后的第二时钟周期的路由索引来提供所述第一存储单元和所述执行单元中的不同的第二执行单元之间的不同的第二连接;以及
通过所述第二连接将第二指令字从所述第一存储单元路由至所述第二执行单元。
11.根据权利要求8至10中任一项所述的方法,其中,还包括:通过所述互连装置的操作来进行以下步骤:
根据针对所述VLIW处理器装置的顺次时钟周期的路由索引来改变所述存储单元和所述执行单元之间的连接。
12.根据权利要求8至10中任一项所述的方法,其中,还包括:
将二进制路由矩阵存储在所述处理器系统中的索引存储处,其中所述二进制路由矩阵包括针对所述VLIW处理器装置的多个时钟周期的路由索引。
13.根据权利要求8至10中任一项所述的方法,其中,还包括:
将所述指令字从主存储装置通信至所述存储单元。
14.一种处理器系统,包括:
超长指令字处理器装置即VLIW处理器装置,其包括执行单元;
存储单元,用于存储要路由至所述执行单元的指令字;以及
互连装置,其提供所述存储单元和所述执行单元之间的连接,所述互连装置被配置为:
访问针对所述VLIW处理器装置的时钟周期的路由索引;以及
根据针对所述时钟周期的路由索引来将所述指令字从所述存储单元中的一个或多个存储单元路由至所述执行单元中的一个或多个执行单元。
15.根据权利要求14所述的处理器系统,其中,所述互连装置包括路由逻辑,所述路由逻辑能够操作以根据针对所述VLIW处理器装置的顺次时钟周期的路由索引来改变所述存储单元和各执行单元之间的连接。
16.根据权利要求14所述的处理器系统,其中,针对所述时钟周期的路由索引针对各执行单元表示该执行单元是否接收要在该时钟周期上执行的指令字。
17.根据权利要求14所述的处理器系统,其中,所述路由索引包括表示针对所述执行单元其中之一的NOP指令的二进制值。
18.根据权利要求14至17中任一项所述的处理器系统,其中,所述VLIW处理器装置包括N个执行单元,并且所述处理器系统包括:
N个存储单元;以及
N对N互连装置,用于提供所述N个存储单元和所述N个执行单元之间的N对N连接。
19.根据权利要求14至17中任一项所述的处理器系统,其中,还包括用于存储针对多个时钟周期的路由索引的索引存储。
20.根据权利要求14至17中任一项所述的处理器系统,其中,还包括用于存储要被通信至所述存储单元的指令字的主存储装置。
CN201680074058.8A 2015-12-16 2016-10-24 操作无线传感器装置中的vliw处理器 Pending CN108431772A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/971,299 2015-12-16
US14/971,299 US20170177542A1 (en) 2015-12-16 2015-12-16 Operating a VLIW Processor in a Wireless Sensor Device
PCT/CA2016/051231 WO2017100910A1 (en) 2015-12-16 2016-10-24 Operating a vliw processor in a wireless sensor device

Publications (1)

Publication Number Publication Date
CN108431772A true CN108431772A (zh) 2018-08-21

Family

ID=59055516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680074058.8A Pending CN108431772A (zh) 2015-12-16 2016-10-24 操作无线传感器装置中的vliw处理器

Country Status (7)

Country Link
US (1) US20170177542A1 (zh)
EP (1) EP3391199A1 (zh)
JP (1) JP2018537791A (zh)
KR (1) KR20180084917A (zh)
CN (1) CN108431772A (zh)
CA (1) CA3006667A1 (zh)
WO (1) WO2017100910A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3935581A4 (en) 2019-03-04 2022-11-30 Iocurrents, Inc. DATA COMPRESSION AND COMMUNICATION USING MACHINE LEARNING

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030079109A1 (en) * 1997-12-04 2003-04-24 Bops, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
JP2007036598A (ja) * 2005-07-26 2007-02-08 Toshiba Corp 電話システム
US20090300337A1 (en) * 2008-05-29 2009-12-03 Axis Semiconductor, Inc. Instruction set design, control and communication in programmable microprocessor cases and the like
CN104111912A (zh) * 2013-04-22 2014-10-22 三星电子株式会社 用于支持处理器的多模式的设备和方法
CN104951281A (zh) * 2014-03-28 2015-09-30 英特尔公司 用于实现动态无序处理器流水线的方法和装置
WO2015145192A1 (en) * 2014-03-27 2015-10-01 Intel Corporation Processor logic and method for dispatching instructions from multiple strands

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163836A (en) * 1997-08-01 2000-12-19 Micron Technology, Inc. Processor with programmable addressing modes
US7571303B2 (en) * 2002-10-16 2009-08-04 Akya (Holdings) Limited Reconfigurable integrated circuit
WO2006114642A1 (en) * 2005-04-28 2006-11-02 The University Court Of The University Of Edinburgh Reconfigurable instruction cell array
US8099583B2 (en) * 2006-08-23 2012-01-17 Axis Semiconductor, Inc. Method of and apparatus and architecture for real time signal processing by switch-controlled programmable processor configuring and flexible pipeline and parallel processing
US7865346B2 (en) * 2007-03-30 2011-01-04 International Business Machines Corporation Instruction encoding in a hardware simulation accelerator
JP5805546B2 (ja) * 2012-01-13 2015-11-04 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030079109A1 (en) * 1997-12-04 2003-04-24 Bops, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
JP2007036598A (ja) * 2005-07-26 2007-02-08 Toshiba Corp 電話システム
US20090300337A1 (en) * 2008-05-29 2009-12-03 Axis Semiconductor, Inc. Instruction set design, control and communication in programmable microprocessor cases and the like
CN104111912A (zh) * 2013-04-22 2014-10-22 三星电子株式会社 用于支持处理器的多模式的设备和方法
WO2015145192A1 (en) * 2014-03-27 2015-10-01 Intel Corporation Processor logic and method for dispatching instructions from multiple strands
CN104951281A (zh) * 2014-03-28 2015-09-30 英特尔公司 用于实现动态无序处理器流水线的方法和装置

Also Published As

Publication number Publication date
WO2017100910A1 (en) 2017-06-22
JP2018537791A (ja) 2018-12-20
KR20180084917A (ko) 2018-07-25
US20170177542A1 (en) 2017-06-22
EP3391199A1 (en) 2018-10-24
CA3006667A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
US10237873B2 (en) Systems and methods for simultaneous sampling of serial digital data streams from multiple analog-to-digital converters (ADCs), including in distributed antenna systems
CN106851683B (zh) 多频载波聚合wifi数据传输方法、装置及终端设备
CN104038950B (zh) 无线通信中的空闲信道评估水平
CN109088643A (zh) 射频系统、天线切换控制方法及相关产品
CN101647153B (zh) 用于移动应用的与前端模块集成的多频段高度隔离平面天线
JP2017510195A5 (zh)
KR101879030B1 (ko) 안테나 그룹핑을 이용한 채널 정보 피드백 및 자원 할당 방법 및 이를 수행하는 장치들
TWI505652B (zh) 天線系統及設定其最佳天線單元的方法
US20200195333A1 (en) Beam selection method, mobile station, and base station
JP2013005436A (ja) 単一のベクトル信号発生器を使用して被試験デバイスを検証するためのシステム及び方法
CN109392139A (zh) 一种接收广播消息的资源位置指示方法、装置及系统
CN109392110A (zh) 一种指示上行传输的方法及装置
CN108370303A (zh) 与无线电信号的选择性增强有关的方法和设备
EP3836587A1 (en) Communication device, communication method, and recording medium
CN106792803B (zh) 一种双频多天线的待测设备并行测试方法及系统
CN108431772A (zh) 操作无线传感器装置中的vliw处理器
CN103688587A (zh) 为了设备到设备通信目的的蜂窝通信网络中的分组调度
WO2019033403A1 (zh) 信道状态信息的上报方法及相关设备
CN105634632A (zh) 用于测试多用户多入多出系统的系统和方法
US11424789B1 (en) Method and apparatus for MIMO antenna selection using spatial switched diversity for optimal coverage and blockage mitigation
US9763244B1 (en) Adaptive data frame aggregation
US20180287899A1 (en) Information processing system and delay measurement method
KR20160039570A (ko) 다중 안테나 기반 무선 통신 시스템에서 안테나 간 커플링 제거 방법 및 이를 위한 장치
WO2016201984A1 (zh) 一种数据传输方法和基站
US10225851B2 (en) Multi-cast long range low power access point

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180821

WD01 Invention patent application deemed withdrawn after publication