CN103314338B - 集成电路装置以及实施数据条件否定的方法 - Google Patents

集成电路装置以及实施数据条件否定的方法 Download PDF

Info

Publication number
CN103314338B
CN103314338B CN201180064061.9A CN201180064061A CN103314338B CN 103314338 B CN103314338 B CN 103314338B CN 201180064061 A CN201180064061 A CN 201180064061A CN 103314338 B CN103314338 B CN 103314338B
Authority
CN
China
Prior art keywords
condition
data
data register
negative
module
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.)
Expired - Fee Related
Application number
CN201180064061.9A
Other languages
English (en)
Other versions
CN103314338A (zh
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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor 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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN103314338A publication Critical patent/CN103314338A/zh
Application granted granted Critical
Publication of CN103314338B publication Critical patent/CN103314338B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

集成电路装置(105)包括至少一个数字信号处理器(DSP)模块(100),所述至少一个DSP模块(100)包括第一数据寄存器和至少一个另外的数据寄存器(140)以及至少一个被配置成在存储在所述第一数据寄存器和所述至少一个另外的数据寄存器(140)内的目标数据上执行操作的数据执行单元(DEU)模块(120)。所述至少一个DEU模块(120)在接收到条件否定指令(210)后被配置成从所述第一数据寄存器(220)检索至少一个条件比特值(225、325);以及根据所述检索的至少一个条件比特值(225、325)有条件地实施所述至少一个另外的数据寄存器(230)内的目标数据的否定。

Description

集成电路装置以及实施数据条件否定的方法
技术领域
本发明的领域涉及集成电路装置以及实施存储在数据信号处理器(DSP)装置的数据寄存器内的数据条件否定的方法。
背景技术
数字信号处理器(DSP)应用在对DSP核心的要求方面变得越来越严格。例如,移动通信系统第四代(4G)专用的增加的数据率要求明显更高的DSP性能。由这种4G移动通信系统内的DSP实施的关键操作之一是接收比特的解扰。
在要被传输的数据比特上实施的加扰操作包括在要被传输的数据比特和给定序列的加扰比特之间实施比特操作XOR(异或)。在后续接收到数据后,有必要通过在接收的加扰数据比特和相同给定序列的加扰比特之间实施另一个比特XOR操作来倒转该过程。正如技术人员所了解的,接收的数据不再以比特的形式表示,而是被表示为通常包括一字节的“软值”的对数似然比(LLR)值。在这样LLR值上实施XOR操作相当于否定LLR值(在相等的传输比特是逻辑“1”的情况下)。因此,如果加扰比特序列内的对应比特值包括逻辑“1”,则LLR值被否定,同时如果加扰比特序列内的对应比特值包括逻辑“0”,则LLR值保持未否定,每个接收的LLR值的条件否定要求针对每个接收的LLR值实施。
为了使用传统DSP实现方案来实施LLR值的这种条件否定,应用软件代码有必要包括导致了应用程序代码内的“流变化”的“条件”语句(“if”statement)。为了改进DSP的总吞吐量,管线体系结构通常被实现,以减少每指令的周期总数量,并且因此提高了DSP的吞吐量。然而,例如可能由于使用“条件”语句造成的流变化有效地避免了由这样管线体系结构提供给应用程序代码那个部分的任何利益。此外,在限定数量的可用谓词比特的情况下,不论DSP体系结构内的处理并行的能力如何,使用“条件”语句实施LLR值的条件否定可能防止了每个周期不止一个条件否定操作被实施。而且,提取实施解扰操作要求的加扰比特序列消耗了DSP周期。
由于LLR值的这种条件否定可以被要求在移动通信接收器内的有规律基础上实施,因此降低实施这种操作的DSP的效能可以显著影响DSP总性能。
发明内容
正如附属权利要求中所描述的,本发明提供了集成电路装置以及实施存储在数据信号处理器(DSP)装置的数据寄存器内的数据条件否定的方法。
本发明的具体实施例在附属权利要求中被陈述。
根据下文中描述的实施例,本发明的这些或其它方面将会很明显并且被阐述。
附图说明
根据附图,仅仅通过举例的方式,本发明的进一步细节、方面和实施例将被描述。在附图中,类似的符号被用于表示相同的或功能相似的元素。为了简便以及清晰,附图中的元素不一定按比例绘制。
图1说明了DSP模块的一部分的例子的简化方框图。
图2说明了执行条件否定指令的数据执行单元模块的简化例子。
图3说明了被并行执行的条件否定指令的例子。
图4和图5说明了一种实施数据条件否定的方法的例子的简化流程图。
具体实施方式
现在将参考数据信号处理器(DSP)体系结构的例子描述本发明的例子。然而,应了解本发明不被限定为所描述的参考附图描述的特定DSP体系结构,并且可能同样地被应用于替代DSP体系结构。对于所说明的例子,提供了包含独立的数据和地址寄存器的DSP体系结构。然而,在一些例子中,不需要提供独立的地址寄存器,因为数据寄存器被用于提供地址存储。此外,对于所说明的例子,DSP体系结构被显示为包括四个数据执行单元。本发明的某些例子可能同样地在包括任何数量的数据执行单元的DSP体系结构内被实现。此外,因为本发明所说明的实施例在大多数情况下通过使用本领域所属技术人员已知的电子组件和电路被实现,细节不会在比上述所说明的认为有必要的程度大的任何程度上实施解释。对本发明基本概念的理解以及认识是为了不混淆或偏离本发明所教之内容。
首先参照图1,说明了适于根据本发明的一些例子实施例的DSP模块100的部分的例子的简化方框图。对于所说明的例子,DSP模块100形成了通常在105被说明的集成电路装置的一部分,并且包括至少一个程序控制单元(PCU)110、一个或多个数据执行单元(DEU)模块120、至少一个地址生成单元(AGU)130和通常在140被说明的多个数据寄存器。PCU110被配置成接收DSP指令,通常在115被说明,并且根据接收的DSP指令在DSP模块100中引起操作执行。例如,PCU110可能接收DSP指令,例如存储在指令缓冲器(未显示)中的指令,接收的DSP指令要求一个或多个操作在一个或多个比特/字节/字/等等上被实施。数据“比特”通常指包括逻辑“1”或逻辑“0”的二进制数据的单一的单元,而“字节”通常指8比特的块。数据“字”可能包括或多个字节的数据,例如,两个字节(16比特)的数据,这取决于特定DSP体系结构。在接收到这样DSP指令后,PCU110生成并且输出指令和/或控制信号到DSP模块100中的各种其它组件,以为了将要实施的所需操作。AGU130被配置成生成用于访问系统存储器的地址值,并且可能包括或通常在135被说明的一个或多个地址寄存器。数据寄存器140提供了从系统存储器内取出的数据存储,并且在上面实施一个或多个操作,并且数据从那里可以被写入系统存储器。DEU模块120被配置成根据从PCU110接收的指令和控制信号对数据实施操作(或者从那里直接提供,或存储在数据寄存器140内)。同样地,DEU模块120可能包括算术逻辑单元(ALU)等等。正如先前所提到的,DSP应用可能要求实施数据值的条件否定,据此数据值取决于特定比特值被否定(或未被否定)。
根据本发明的一些例子实施例,一个或多个DEU模块120可以被配置成执行条件否定指令,据此在接收到这样条件否定指令后,这样DEU模块120被配置成至少部分地基于条件比特向量从第一数据寄存器检索一个或多个条件比特值,并且根据检索的条件比特值有条件地实施至少一个另外的数据寄存器内的目标数据的否定。图2说明了执行这样条件否定指令的DEU模块120的简化例子。对于所说明的例子,DEU模块120例如从PCU115接收包括第一数据寄存器标识符212的条件否定指令210,该第一数据寄存器标识符212识别了包含一个或多个条件比特值225的第一数据寄存器220。条件否定指令215还包括识别了包含了目标数据的至少一个第二数据寄存器的第二数据寄存器标识符213,其中条件否定在该目标数据上被实施。对于所说明的例子,第二数据寄存器标识符213识别了通常在230被说明的包含了目标数据的两个数据寄存器(Da和Db),其中条件否定在该目标数据上被实施。在图2中所说明的条件否定指令210还包括识别了至少一个第三数据寄存器的第三数据寄存器标识符214,其中DEU模块120将条件否定操作的结果存储在该第三数据寄存器内。对于所说明的例子,第二数据寄存器标识符214识别了通常在240被说明的包含了目标数据的两个数据寄存器(Dm和Dn),其中条件否定在该目标数据上被实施。应考虑该第三数据寄存器标识符可以被省略,其中DEU模块120简单地将条件否定操作的结果存储在例如(一个或多个)第二数据寄存器230内,从而覆盖了(或简单地保持没有要实施的否定的情况)初始目标数据。
通过以这种方式给实施条件否定提供专用指令,可以基本上缓和对于应用程序代码包括“条件”语句以实施值的条件否定的需求。以这种方式,在严重影响DSP模块100性能的代码内的流变化的相关问题也基本上被缓和。具体地,通过基本上消除用于这种实施条件否定操作的应用程序代码内的流变化的存在,DSP模块100体系结构内的任何管线提供的利益可以被利用。
正如上面所描述的以及图2中所说明的,对于本发明所描述的条件否定操作,该否定是基于一个或多个位于数据寄存器230内的条件比特值225被实施的。对于图2中所说明的例子,条件否定指令210还包括表示了第一数据寄存器220内的特定位置(即,比特)的条件比特向量215,其中(一个或多个)条件比特值225位于该位置。因此,DEU模块120可以被配置成根据条件比特向量215从第一数据寄存器220检索(一个或多个)条件比特值225。
以这种方式,通过基于位于数据寄存器内的条件比特值实施否定操作,条件比特可以使用标准负载/存储机制从例如系统存储器(未显示)加载,例如在DSP模块100的管线的取周期内。这与利用了例如条件代码寄存器(未显示)内的专用条件标识的典型的“条件”语句条件操作形成对比,并且要求提前执行先前操作,以将条件标识设置为要求的条件值。而且,由于本发明例子的条件否定操作利用了位于数据寄存器内的条件比特值,基本上对并行实施多个条件否定操作的能力没有限制,从而当实施这些操作的时候,能够利用DSP模块100的并行处理能力。
返回参照图2,DEU模块120可以被配置成接收包括下述通用格式的条件否定指令:
CNEG.4W#向量;Da,Db;Dc;Dm,Dn
其中:
CNEG.4W表示了DEU模块120的操作代码,该操作代码指示条件否定操作要在4个数据字上被实施;
#向量表示了条件比特向量种子值;
Da和Db表示了数据寄存器的寄存器标识符,其中要被实施条件否定操作的数据字被存储在该数据寄存器内;
Dc表示了数据寄存器的寄存器标识符,其中条件比特值被存储在该数据寄存器内;以及
Dm和Dn表示了数据寄存器的寄存器标识符,其中条件否定操作的结果被存储在该数据寄存器内。
通常在325被说明的4个条件比特值位于第一数据寄存器220的4个连续比特内。以这种方式,分离的条件比特值对于被实施的4个条件否定操作的每个都是可用的。对于所说明的例子,每个数据寄存器包括例如包括2个16比特寄存器部的32比特数据寄存器。而且,对于所说明的例子,条件否定操作在其上被实施的每个数据块包括16比特字。因此,对于所说明的例子,条件否定操作在其上被实施的4个数据字可以被存储在通常在330、335被说明的2个数据寄存器内,一个数据字因此被存储在通常在332、334、336、338被说明的每个16比特寄存器内。同样地,4个条件否定操作的结果可以被存储在通常在340、345被说明的2个数据寄存器内,一个结果因此被存储在通常在342、344、346、348被说明的每个16比特寄存器部中。
正如上面所提到的,DEU模块120可以被配置成提取条件比特向量种子值(#向量)并且基于条件比特向量种子值(#向量)生成四个条件比特向量值(为每个否定操作生成)。对于图3中所说明的例子,条件比特向量种子值(#向量)在320被说明并且表示在第一数据寄存器220内的第一条件比特值的地址位置。因此,DEU模块120可能生成包括条件比特向量种子值(#向量)(例如,零的补偿)的第一条件比特向量值322,并且根据第一条件比特向量值322从第一数据寄存器220检索第一条件比特值,根据检索的第一条件比特值,有条件地实施第一寄存器部332内的目标数据的否定,并且将结果存储到寄存器部342中。
在相同的PCU周期内,DEU模块120可能生成第二、第三和第四条件比特向量值324、326、328,对于所说明的例子,所述第二、第三和第四条件比特向量值324、326、328包括条件比特向量种子值(#向量)的连续递增。例如,第二条件比特向量值324可能包括具有‘1’补偿的条件比特向量种子值(#向量);第三条件比特向量值326可能包括具有‘2’补偿的条件比特向量种子值(#向量);以及第四条件比特向量值328可能包括具有‘3’的补偿的条件比特向量种子值(#向量)。以这种方式,DEU模块120在相同的PCU执行周期内能够根据第二、第三和第四条件比特向量值324、326、328从第一数据寄存器220检索第二、第三和第四条件比特值。DEU模块120在相同的PCU执行周期内还能够根据检索的第二、第三和第四条件比特值324、326、328有条件地实施数据寄存器330、335的第二、第三和第四寄存器部334、336、338内的目标数据块的否定,并且将结果存储在数据寄存器340、345内的寄存器部344、346、348中。
因此,对于所说明的例子,DEU模块120能够在单一的PCU执行周期内实施多个(例如,在所说明的例子达到四个)条件否定操作。而且,返回参照图1,DSP模块100包括多个DEU模块120,尤其在所说明的例子中是4个DEU模块120。因此,对于图4中所说明的例子,条件否定指令可以基本上同时被提供给每个DEU模块120,并且基本上同时被每个DEU模块120执行,从而,对于所说明的例子,能够达到16个(每个DEU模块是4个)条件否定操作在单一的PCU执行周期内被实施。
对于图3中所说明的例子,以及上面所描述的,被DEU模块120接收的单一的条件否定指令可能要求4个条件否定操作被实施(例如,在存储在2个32比特数据寄存器内的4个16比特数据字上)。然而,其它例子实施例可以通过使用不同的体系结构和条件否定操作可能不同的数量被实现。例如,对于本发明的替代例子实施例,单一的条件否定指令可能要求例如达到8个条件否定操作被实施,例如在存储在2个32比特数据寄存器内的8个8比特字节上。或者,单一的条件操作指令可能要求例如2个条件否定操作被实施,例如在存储在单一32比特数据寄存器内的2个16比特数据字上。
在一些例子中,条件否定操作在其上被实施的数据值连同条件比特值一起可以被加载到它们各自的数据寄存器标准负载/储存机制中。因此,条件否定操作在其上被实施的数据值连同条件比特值一起在DSP模块100的管线内的一个或多个取周期期间可以被加载到它们各自的数据寄存器。以这种方式,条件否定操作可以在DSP模块100的单一的执行周期内被实施。因此,对于所说明的例子,多达4个这样的条件否定操作可以在DSP模块100的管线内的单一执行周期内被实施。这与用于实施这种条件否定操作的传统机制形成对比,所述传统机制不仅需要多线的应用程序代码以实施这样的操作(与单一的指令相反),而且还需要DSP模块的多个执行周期以实施单一的条件否定操作。而且,由于流变化,它们也通常不能利用DSP体系结构中的管线的优势,并且由于使用了专用条件标识,也不能被并行实施。
现在参照图4,根据本发明的一些例子实施例,说明了一种用于实施存储在DSP装置的数据寄存器内的数据条件否定的例子的另一部分的简化流程图400,例如也可以在图1的DSP模块100的一个或多个DEU120内实现。该方法从步骤405开始,其中接收到条件否定指令,例如在DSP模块100的DEU120内。接下来,在步骤410,确定了条件比特向量。例如,这样的条件比特向量可以由通过从接收的条件否定指令提取条件比特向量值被确定。正如步骤415所显示的,条件比特值然后基于确定的条件比特向量从第一数据寄存器被检索。该方法然后移至步骤420,其中确定是否基于检索的条件比特值实施目标数据的否定。例如,如果条件比特包括例如逻辑‘1’,目标数据的否定将被实施。相反,如果条件比特包括例如逻辑‘0’,目标数据的否定将不被实施。因此,如果确定否定将被实施,该方法移至步骤425,其中将被否定的目标数据从第二数据寄存器被检索。
目标数据的否定然后在步骤430被实施。例如,在信号处理系统采用2’s补码(complement)表示否定数量的情况下,否定二进制值的操作可能包括反相二进制值的每个比特以及添加‘1’到反相的值。否定的结果然后在步骤435被存储,例如存储在第三数据寄存器内,从而保存了初始数据。然而,在其它例子中,否定的结果可能同样地被存储在从其检索目标数据的第二数据寄存器内以减少实现该方法所需的数据寄存器的数量。该方法然后在步骤440结束。
返回参照步骤420,如果确定否定不被实施,该方法移至步骤445,其中目标数据从第二数据寄存器被检索,并且在步骤450简单地将未否定存储在第三数据寄存器内,并且该方法在步骤440结束。相反,在其它例子中,在条件否定的结果被存储在目标数据所在的相同数据寄存器内(例如,对于上面例子中的第二数据寄存器)的情况下,如果确定否定在步骤420不被实施,该方法可能简单地直接移至步骤440并且结束。
图5根据本发明的一些例子实施例,说明了一种用于实施存储在DSP装置的数据寄存器内的数据条件否定的例子的另一部分的简化流程图500,例如也可以在图1的DSP模块100的PCU模块110内实现。该方法从步骤510开始,并且移至步骤520,其中接收到将条件比特数据写入第一数据寄存器内的指令。随后在步骤530,响应于接收的数据,条件比特数据被加载到第一数据寄存器。例如,图1的PCU模块110可能造成AGU130在系统存储器内生成地址,所述地址正如在接收的指令内定义的并且条件比特数据被存储在该地址。AGU可能然后在地址总线上设置配置地址,以造成条件比特数据从系统存储器内被取出,并且然后被加载到第一数据寄存器中。接下来,在步骤540,将目标数据加载到一个或多个另外的数据寄存器内的指令被接收。随后在步骤550,响应于接收的数据,目标数据被加载到一个或多个另外的数据寄存器内。DSP条件否定指令然后在步骤560被接收,针对该DSP条件否定指令需要一个或多个条件否定操作。然后在步骤570,条件比特向量种子值、连同第一和至少一个另外的数据寄存器的一个或多个数据寄存器标识符一起,从接收的DSP条件否定指令中被提取。一个或多个DEU条件否定指令然后在步骤580被生成,其中连同第一和至少一个另外的数据寄存器的数据寄存器标识符一起,每个DEU条件否定指令包括条件比特向量值种子,所述条件比特向量值种子至少部分地基于被提取的条件比特向量种子值。该方法然后在步骤590结束。
在前面的说明中,参照本发明实施例的特定例子已经对本发明进行了描述。然而,很明显各种修改和变化可以在不脱离附属权利要求中所陈述的本发明的宽范围精神及范围的情况下被做出。
本发明所讨论的连接可以是任何类型的连接。该连接适于将信号从或传输到各自的节点、单元或装置,例如通过穿孔中间装置。因此,除非暗示或说明,连接,例如,可能是直接连接或间接连接。连接可以被说明或描述,涉及到是单一连接、多个连接、单向连接、或双向连接。然而,不同实施例可能改变连接的实现。例如,可以使用单独单向连接而不是双向连接,反之亦然。此外,多个连接可以被替换为连续地或以时间多路复用方式传输多个信号的单一连接。同样地,携带多个信号的单一连接可以被分离成各种不同的携带这些信号的子集的连接。因此,存在传输信号的许多选项。
本发明所描述的每个信号可以被设计为正逻辑或负逻辑。在负逻辑信号的情况下,所述逻辑真状态相当于逻辑电平0的地方所述信号是低有效。在正逻辑信号的情况下,所述逻辑真状态相当于逻辑电平1的地方所述信号是高有效。注意,本发明说所描述的任何信号可以被设计为负逻辑信号或正逻辑信号。因此,在替代实施例中,那些被描述为正逻辑信号的信号可以被实现为负逻辑信号,以及那些被描述为负逻辑信号的信号可以被实现为正逻辑信号。
此外,当将信号、状态比特、或类似的设备分别变为其逻辑真或逻辑假状态时,术语“明确肯定”或“设置”以及“否定”(或“非明确肯定”或“清除”)在本发明中被使用。如果逻辑真状态是逻辑电平“1”,逻辑假状态是逻辑电平“0”。如果逻辑真状态是逻辑电平“0”,逻辑假状态是逻辑电平“1”。
本领域所属技术人员将认识到逻辑块之间的界限仅仅是说明性以及替代实施例可能合并逻辑块或电路元件或在各种逻辑块或电路元件上强加替代的分解功能。因此,应了解本发明描述的体系结构仅仅是示范的,并且事实上实现相同功能的很多其它体系结构可以被实现。例如,清晰起见,PCU模块110、AGU130、DEU模块120以及数据寄存器140被说明为基本上包括DSP模块100内的离散逻辑元素。然而,应了解这些功能元素可以在物理模块的任何适当分布中被提供。
为实现相同功能的任何元件的排列是有效地“关联”以便所需的功能得以实现。因此,为实现特定功能,本发明中结合在一起的任何两个元件可以被看作彼此“相关联”以便所需的功能得以实现,不论体系结构还是中间元件。同样地,如此关联的任何两个元件还可以被认为是彼此被“可操作连接”或“可操作耦合”以实现所需的功能。
此外,本领域所属技术人员将认识到上述描述的操作功能之间的界限只是说明性的。所述多个操作可以组合成单一操作,单一操作可以分布在附加操作中以及操作可以在至少部分重叠的时间内被实施。而且,替代实施例可能包括特定操作的多个实例,并且操作的顺序在各种其它实施例中会改变。
又如,例子或其中的一部分可能作为物理电路的软或代码表征被实现,或作为能够转化成物理电路的逻辑表征,例如在任何合适类型的硬件描述语言中被实现。
此外,本发明不限定在非程序化硬件中被实现的物理装置或单元,但也可以应用在可编程装置或单元中。这些装置或单元通过操作能够实施所需的装置功能。该实施是根据合适的程序代码,例如,主机、微型计算机、服务器、工作站、个人电脑、笔记本、个人数字助理、电子游戏、汽车和其它嵌入式系统、手机和其它无线装置,在本申请中通常表示“计算机系统”。
然而,其它修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
在权利要求中,放置在括号之间的任何参考符号不得被解释为限定权利要求。单词“包括”不排除其它元素或然后在权利要求中列出的那些步骤的存在。此外,本发明所用的“a”或“an”被定义为一个或多个。并且,在权利要求中所用词语如“至少一个”以及“一个或多个”不应该被解释以暗示通过不定冠词“a”或“an”引入的其它权利要求元素限定任何其它特定权利要求。所述特定权利要求包括这些所介绍的对发明的权利元素,所述权利元素不仅仅包括这样的元素。即使当同一权利要求中包括介绍性短语“一个或多个”或“至少一个”以及不定冠词,例如“a”或“an”。使用定冠词也是如此。除非另有说明,使用术语如“第一”以及“第二”是用于任意区分这些术语描述的元素的。因此,这些术语不一定表示时间或这些元素的其它优先次序。某些措施在相互不同的权利要求中被列举的事实并不表示这些措施的组合不能被用于获取优势。

Claims (13)

1.一种集成电路装置(105),包括至少一个数字信号处理器DSP模块(100),所述至少一个DSP模块(100)包括:第一数据寄存器和至少一个另外的数据寄存器(140)、以及被配置成在目标数据上执行操作的至少一个数据执行单元DEU模块(120),所述目标数据被存储在所述第一数据寄存器和所述至少一个另外的数据寄存器(140)内;
其中所述至少一个DEU模块(120)被配置成:在接收到条件否定指令(210)后,
从所述第一数据寄存器(220)检索至少一个条件比特值(225、325);以及
根据所检索的至少一个条件比特值(225、325),有条件地实施所述至少一个另外的数据寄存器(230)内的目标数据的否定。
2.根据权利要求1所述的集成电路装置(105),其中所述条件否定指令(210)包括条件比特向量(215),并且所述至少一个DEU模块(120)被配置成:根据所述条件比特向量(215),从所述第一数据寄存器(220)检索所述至少一个条件比特值(225、325)。
3.根据权利要求1或权利要求2所述的集成电路装置(105),其中所述至少一个DEU模块(120)被配置成:确定基于所述第一数据寄存器(220)内的所述至少一个所检索的条件比特值(225、325)是否将要实施所述目标数据的否定。
4.根据权利要求3所述的集成电路装置(105),其中如果确定将要实施所述目标数据的否定,则所述至少一个DEU模块(120)被配置成:从第二数据寄存器(230)检索所述目标数据;实施所检索的目标数据的否定;以及,将所述否定的结果存储在第三数据寄存器(240)内。
5.根据权利要求3所述的集成电路装置(105),其中如果确定将不实施所述目标数据的否定,则所述至少一个DEU模块(120)被配置成:从第二数据寄存器(230)检索所述目标数据;以及,将未否定的目标数据存储在第三数据寄存器(240)内。
6.根据权利要求1所述的集成电路装置(105),其中所述至少一个DEU模块(120)被配置成:在接收到所述条件否定指令(210)后,
从所检索的条件否定指令(210)提取条件比特向量种子值(320);
至少部分地基于所述条件比特向量种子值(320),生成多个条件比特向量值(322、324、326、328);
根据所述多个条件比特向量值(322、324、326、328),从所述第一数据寄存器(220)检索多个条件比特值(225、325);以及
根据所检索的条件比特值(225、325),有条件地实施所述至少一个另外的数据寄存器(230)内的多个目标数据块(332、324、326、328)的否定。
7.根据权利要求1所述的集成电路装置(105),其中所述至少一个DSP模块(100)还包括被配置成基本上同时执行条件否定指令(210)的多个DEU模块(122、124、126、128)。
8.一种用于实施数据的条件否定的方法(400、500),所述数据被存储在数字信号处理器DSP装置的数据寄存器内,所述方法包括:在接收到在DSP装置(405)的至少一个数据执行单元DEU模块内的条件否定指令后,
基于条件比特向量(415),从第一数据寄存器检索至少一个条件比特值;以及
根据所检索的至少一个条件比特值(430),有条件地实施目标数据的否定,所述目标数据位于至少一个另外的数据寄存器内。
9.根据权利要求8所述的方法(400、500),其中基于条件比特向量(415)从第一数据寄存器检索至少一个条件比特值的步骤包括:根据所述条件比特向量(415),从所述第一数据寄存器(220)检索所述至少一个条件比特值(225)。
10.根据权利要求8或权利要求9所述的方法(400、500),还包括:确定基于所述第一数据寄存器(220)内的所述至少一个所检索的条件比特值(225)是否将要实施所述数据的否定。
11.根据权利要求10所述的方法(400、500),其中,如果确定将要实施所述目标数据的否定,则所述方法还包括:在所述至少一个DEU模块(120)处,
从第二数据寄存器(230)检索目标数据;
实施所检索的目标数据的否定;以及
将所述否定的结果存储在第三数据寄存器(240)内。
12.根据权利要求10所述的方法(400、500),其中,如果确定将不实施所述目标数据的否定,则所述方法还包括:在所述至少一个DEU模块(120)处,
从第二数据寄存器(230)检索目标数据;以及
将未否定的目标数据存储在第三数据寄存器(240)内。
13.根据权利要求8所述的方法(400、500),其中所述方法还包括:在接收到所述DSP装置(560)的程序控制单元PCU内的条件否定指令后:
从所检索的条件否定指令提取条件比特向量种子值;以及
至少部分地基于所述条件比特向量种子值(570),生成由所述DEU模块执行的至少一个条件否定指令,所述至少一个条件否定指令包括条件比特向量种子值。
CN201180064061.9A 2011-01-03 2011-01-03 集成电路装置以及实施数据条件否定的方法 Expired - Fee Related CN103314338B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2011/050002 WO2012093288A1 (en) 2011-01-03 2011-01-03 Integrated circuit device and method for performing conditional negation of data

Publications (2)

Publication Number Publication Date
CN103314338A CN103314338A (zh) 2013-09-18
CN103314338B true CN103314338B (zh) 2016-02-10

Family

ID=46457261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180064061.9A Expired - Fee Related CN103314338B (zh) 2011-01-03 2011-01-03 集成电路装置以及实施数据条件否定的方法

Country Status (4)

Country Link
US (1) US20130275725A1 (zh)
EP (1) EP2661658B1 (zh)
CN (1) CN103314338B (zh)
WO (1) WO2012093288A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10691451B2 (en) * 2015-12-28 2020-06-23 Coherent Logix, Incorporated Processor instructions to accelerate FEC encoding and decoding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964825A (en) * 1996-02-09 1999-10-12 Texas Instruments Incorporated Manipulation of boolean values and conditional operation in a microprocessor
US7017032B2 (en) * 2001-06-11 2006-03-21 Broadcom Corporation Setting execution conditions
CN1856770A (zh) * 2002-05-31 2006-11-01 飞思卡尔半导体公司 具有多寄存器环境的数据处理系统及其方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5837746A (ja) * 1981-08-31 1983-03-05 Nippon Telegr & Teleph Corp <Ntt> 条件判定処理装置
US4918733A (en) * 1986-07-30 1990-04-17 At&T Bell Laboratories Dynamic time warping using a digital signal processor
US5125092A (en) * 1989-01-09 1992-06-23 International Business Machines Corporation Method and apparatus for providing multiple condition code fields to to allow pipelined instructions contention free access to separate condition codes
US5617574A (en) * 1989-05-04 1997-04-01 Texas Instruments Incorporated Devices, systems and methods for conditional instructions
US5465374A (en) * 1993-01-12 1995-11-07 International Business Machines Corporation Processor for processing data string by byte-by-byte
EP1109400A1 (en) * 1999-12-16 2001-06-20 CANAL+ Société Anonyme Transmission of a command to a receiver or to a decoder
US7127593B2 (en) * 2001-06-11 2006-10-24 Broadcom Corporation Conditional execution with multiple destination stores
CN100587665C (zh) * 2003-07-23 2010-02-03 Nxp股份有限公司 用于对码进行合成的装置和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964825A (en) * 1996-02-09 1999-10-12 Texas Instruments Incorporated Manipulation of boolean values and conditional operation in a microprocessor
US7017032B2 (en) * 2001-06-11 2006-03-21 Broadcom Corporation Setting execution conditions
CN1856770A (zh) * 2002-05-31 2006-11-01 飞思卡尔半导体公司 具有多寄存器环境的数据处理系统及其方法

Also Published As

Publication number Publication date
EP2661658B1 (en) 2019-09-25
WO2012093288A1 (en) 2012-07-12
CN103314338A (zh) 2013-09-18
EP2661658A4 (en) 2014-07-23
EP2661658A1 (en) 2013-11-13
US20130275725A1 (en) 2013-10-17

Similar Documents

Publication Publication Date Title
US9165023B2 (en) Integrated circuit device and method for determining an index of an extreme value within an array of values
CN107608750B (zh) 用于型式辨识的装置
CN110597559A (zh) 计算装置以及计算方法
CN108009126B (zh) 一种计算方法及相关产品
CN108121688B (zh) 一种计算方法及相关产品
CN108108190B (zh) 一种计算方法及相关产品
US11693663B2 (en) Circular queue management with split indexes
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
US9342258B2 (en) Integrated circuit device and method for providing data access control
CN113138801B (zh) 命令分发装置、方法、芯片、计算机设备及存储介质
CN107943756B (zh) 一种计算方法及相关产品
CN101821719A (zh) 用于数据处理系统的调试指令
CN110569038B (zh) 随机验证参数设计方法、装置、计算机设备及存储介质
CN103314338B (zh) 集成电路装置以及实施数据条件否定的方法
CN108108189B (zh) 一种计算方法及相关产品
CN105550089A (zh) 一种基于数字电路的fc网络帧头数据错误注入方法
US7882295B2 (en) Non-system bus width data transfer executable at a non-aligned system bus address
EP2666082B1 (en) Integrated circuit device and method for calculating a predicate value
CN117713799B (zh) 一种流水线反压逻辑电路及电子设备
US20230185486A1 (en) Storage system and data writing method thereof
US11853551B2 (en) Storage system and data reading method thereof
CN110795384B (zh) 一种高效识别文件与地址数据的微处理器
US9135157B2 (en) Integrated circuit device, signal processing system and method for prefetching lines of data therefor
CN118317006A (zh) 一种紧耦合的可重构网络包处理引擎的硬件实现装置
US9652413B2 (en) Signal processing system and integrated circuit comprising a prefetch module and method therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Texas in the United States

Patentee after: NXP America Co Ltd

Address before: Texas in the United States

Patentee before: Fisical Semiconductor Inc.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160210

Termination date: 20190103

CF01 Termination of patent right due to non-payment of annual fee