CN1255721C - 数字信号处理设备 - Google Patents
数字信号处理设备 Download PDFInfo
- Publication number
- CN1255721C CN1255721C CNB018046258A CN01804625A CN1255721C CN 1255721 C CN1255721 C CN 1255721C CN B018046258 A CNB018046258 A CN B018046258A CN 01804625 A CN01804625 A CN 01804625A CN 1255721 C CN1255721 C CN 1255721C
- Authority
- CN
- China
- Prior art keywords
- functional unit
- control
- digital signal
- fifo
- fifo register
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 9
- 230000001276 controlling effect Effects 0.000 abstract 2
- 230000008569 process Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000001351 cycling effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007087 memory ability Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明涉及执行多个操作的数字信号处理设备,该设备包括多个功能单元(10),其中每一个功能单元适合执行操作,和用于控制所述功能单元(10)的控制装置,其中所述控制装置包括多个控制单元(12)。其中至少一个控制单元(12)与任何功能单元(10)分别有效相关,为了控制其功能,以及每一个功能单元(10)适合在与其相关的控制单元(12)的控制下以自治方式执行操作,和/或其中设置有FIFO(先进/先出)寄存器装置(14)适合支持在所述功能单元中的数据流通信。另外,本发明涉及一种在数字信号处理设备中处理数字信号的方法,该设备包括多个功能单元(10),其中每一个功能单元(10)适合执行操作,并且所述功能单元(10)受多个控制单元(12)控制,其中至少一个控制单元(12)分别与任何功能单元有效相关,从而每一个功能单元(10)能够以自治方式在与之相关的控制单元的控制下执行操作,和/或其中FIFO(先进/先出)寄存器装置(14)支持在所述功能单元(10)中的数据流通信。
Description
本发明涉及执行多个操作的数字信号处理设备,该设备包括多个功能单元,其中每一个功能单元适合执行操作;和控制所述功能单元的控制装置。另外,本发明涉及在数字信号处理设备中处理数字信号的方法,该数字信号处理设备包括多个功能单元,其中每一个功能单元适合执行操作。
通常在数字信号处理器(DSP)中实现这种设备和方法。为了提高它们的性能,该数字信号处理器包含若干通常运行在小循环中的处理单元。存在二种常规的解决方案,即:设置(1)VLIW处理器,该处理器包括若干功能单元和一个中央控制,以及(2)带有协处理器的中央处理器,这些协处理器中的每一个自发进行固定功能。
EP 0 403 729 A2公开了一种数字信号处理设备,该设备包括二个或更多的与至少一个指令存储器相关的地址寄存器、数据存储器或系数存储器、和二个或更多的与计算块(computing block)相关的数据寄存器。这些二个或更多的寄存器在由计算块同时处理的不同作业之间被负载循环(duty circle)切换以便能够在作业的单芯片上进行有效处理,可以采用不同的处理速度处理这些作业,如适合高速或者低速处理的作业。
在美国加州,Los Alamitons 2000年出版的“第六届异步电路与系统高级研究讨论会的会议录”第176-186页的会议论文(“proceedings Sixth International Symposium on AdvancedResearch in Asynchronous Circuits and System(ASYNC200)”(Cat.No PR00586),published 2000 in Los Alamitos,CA,USA)中,Brackenbury描述了一种用于低功率异步数字信号处理器的结构,该处理器准备用于GSM(数字蜂窝电话)芯片组的目标应用。该结构的关键部分是一个指令缓冲器,该缓冲器既可以提供预取指令的存储又可以进行硬件循环。这需要低的等待时间和合理快的循环时间,但是还必须适合低功率运行。在该论文中,提出了一种基于字片(word-slice)FIFO(先入先出)结构。这避免了与微线性流水线FIFO关联的输入等待和功率消耗,并且这种结构反应性容易地导致其本身所需的循环特性。该指令缓冲器的循环时间比微流水线FIFO大约慢三倍。但是,该指令缓冲器显示出:每次操作的能量为微流水线结构(低得多的能力)的能量的48%-62%之间。空FIFO的输入至输出的等待比微流水线设计低10倍。
US 5,655,090 A公开了一种外部控制的数字信号处理器,该数字信号处理器设有进行异步操作并且独立于系统环境的输入/输出FIFO。该系统结构包括:连接于第一FIFO缓冲器数据输出与第二FIFO缓冲器数据输出之间的数字信号处理装置、控制数字信号处理装置的控制装置,该装置对第一FIFO缓冲器和第二FIFO缓冲器中存有或者没有数据和所接收的来自控制信号源的控制信号起作用。数据的吞吐异步进行并且独立于系统环境,其包括以下步骤:在第一FIFO缓冲器的输入端接收数据、将该数据传送给数字信号处理器、对数据进行处理、然后将处理过的数据传送给第二FIFO缓冲器以备当数据接收机准备好接收数据时输出。
在5,515,329 A中,示出了一个存储器系统,该系统通过其中包含有数字信号处理器和附属的动态随机存取存储器显示出处理数据的能力。数字信号处理器提供在空闲时有效的数据处理而附属的动态随机存取存储器阵列提供附加的缓存能力。将输入和输出FIFO连接到数字信号处理器的数据和地址总线。利用串行通信链接通过主处理器将数字信号处理器控制连接到该数字信号处理器。
US 5,845,093 A公开了一种在集成电路上的数字信号处理器,该处理器采用多端口数据流结构,该结构的特征在于有四个端口即:一个获取端口、二个数据端口、和一个系数端口。所有四个端口均可以是双向的,从而可以通过DSP系统从相应端口读出和向相应端口写入数据。该结构允许一种数据流管理模式,其中数据通过获取端口或者任何数据端口之一输入处理器。当处理数据时,它可以在数据端口之间,或者数据端口与获取端口之间往复转换(ping pong)。在DSP算法结束时,可以通过获取端口或者数据端口提供输出数据以满足具体应用的需要。系数端口通常用于为DSP算法提供系数或旋转因子。将每一个数据端口附加到专用独立数据存储器。这为多通道算法提供了优化。
SUN公司开发了一种被称为“MAJC”的多线程处理器,该处理器允许同时执行多线程。在该处理器中,每一个功能单元接收相对于一个或多个线程的指令并且按顺序执行。通过单个控制强制这些功能单元同时执行相对于相同线程的指令。因为线程以队列交替方式执行所以不存在自治任务。但是,MAJC处理器不是用于上述的处理而是用于网络处理。
图1示出了一个计算矢量积的数字信号处理器(DSP)循环的实例,该矢量积很好地代表一大类DSP算法(例如FIR过滤)。图1a示出了可以编成普通DSP核心的普通汇编代码的原始C代码,图1b示出了该汇编代码。
图2a示出了一个标准DSP核心。执行上述代码的最简单的标准DSP核心是一种序列机(有时称之为标量处理器),该序列机一次读一个指令,然后以流水线的方式执行该指令。通过单控制点确定指令流-获取单元2(对照图2a)-其确定从存储器6获取哪一个指令并发布在处理单元4中的执行。
现代DSP核心借助于同时执行多指令试图打破这种队列方法。因为有些队列指令既不共源也不进行数据交换,即是独立的,因此这是可行的。最广泛采用的方法是基于非常大的指令字(VLIW)结构。在这种情况下,将这种指令组成束(bundle)。同时从存储器中取出一束,然后同步执行相同束中的指令,即,同时发布、解码和执行。图2b示出VLIW DSP核心方框图的一个实例。从图2b可以注意到获取单元2提出控制点,该控制点对以与图2a的简单DSP核心相同方式的指令流负责。
图1所示的VLIW DSP的计算的矢量积会看起来象图3给出的代码。由逗号分隔开的指令组成束,而束本身由分号分隔开。即使束的数目少于原始代码中的指令数目(对照图1b与图3),但是基本指令的数目增加了;实际上,不可能总能找到填充束的独立指令,因此需要所谓的“非操作”(nop)指令。
本发明的一个目标是进一步提高性能,特别是获得数字信号处理设备和方法,该方法将VLIW的灵活性与由设置协处理器提供的粗粒度并行性相结合。
为了获得上述目标以及其它目标,根据本发明的第一方面提供了一个数字信号处理设备以同时执行多个操作,该装置包括多个功能单元,其中每一个功能单元适合执行操作;以及一个控制所述功能单元的控制装置,其特征在于所述控制装置包括多个控制单元,其中至少一个控制单元与任何功能单元分别有效关联,用于控制其功能,并且每一个功能单元适合在与之相关的控制单元的控制下以自治方式执行操作。根据本发明的第二方面,还提供一种用于在数字信号设备中处理数字信号的方法,该数字设备包括多个功能单元,其中每一个功能单元适合执行操作,其特征在于:所述功能单元受多个控制单元控制,其中至少一个控制单元与任何功能单元分别有效相关,从而每一个功能单元能够在与之相关的控制单元的控制下以自治方式执行操作。
因此,每一个功能单元有一个专用地控制单元。换言之,每一个功能单元设有“私有”控制装置,提供给每一个功能单元其自己的专用模块以控制其功能。该功能单元可以执行正常指令(如同常规处理器)或者执行特殊指令(所谓指示),该只是使其自治地执行一个所谓的进程或者任务,其中进程或者任务意味着对某个操作(其一个或多个正常指令)执行指定的次数。
为了获得上述的和其它目标,根据本发明的第三方面提供一个数字信号处理设备用于执行多个操作,该设备包括多个功能单元,其中每一个功能单元适合执行操作;以及控制所述功能单元的控制装置,其特征在于FIFO(先输入/先输出)寄存器装置,该装置适合支持在所述功能单元中的数据流通信。根据本发明的第四方面,还提供一种在数字处理设备中处理数字信号的数字信号处理方法,该设备包括多个功能单元,其中每一个功能单元适合执行操作,其特征在于:由FIFO(先入/先出)寄存器装置支持的在所述功能单元中的数据流通信。根据本发明的第四方面,还提供一种用于在数字信号处理设备中处理数字信号的方法,该设备包括多个FIFO(先入/先出)寄存器装置支持在所述功能单元中的数据流通信。
当然,可以将上述的本发明的第一和第三方面以及上述的本发明的第二和第四方面分别组合在一起,以便提供数字信号处理设备和处理数字信号的方法,该方法包括由每一个功能单元的局域控制单元的分布式控制以及借助FIFO的数据流支持。
与常规VLIW处理器相比,本发明的优点在于由于任务级并行性的较好的可测量性(scalability)和较高的性能,该任务级的并行性使其比较容易保持功能单元的处于忙碌状态。另外,需要较少的程序存储访问,其结果导致较低的功率和存储器带宽(存储器支持的每一个时间单位最大访问数)。
与其它当前的数字信号处理器,诸如菲利普公司的“R.E.A.L”数字信号处理器相比较,本发明的优点在于:由于指令组规则并且为非定制VLIW,例如需要ASI用于上述的处理器,所以本发明编译简单。
毕竟,本发明提供了将VLIW处理器的灵活性与由协处理器提供的粗粒度的并行性相结合的解决方案。
根据本发明,可以独立地以并行方式一致和/或同时执行操作。另外,采用本发明可以选择进行该结构的异步实施、该结构的同步实施或者混合实施。
在提供根据本发明的FIFO的情况下,这种FIFO为可配置。通常该数字处理器设备包括一个寄存器文件,从而可以将该寄存器文件用FIFO寄存器装置扩展,其中FIFO寄存器装置可以拥有分离的地址或者是寄存器文件的部分。因此,除了常规寄存器以外,还可以是FIFO寄存器装置。通常FIFO寄存器装置包括多个FIFO寄存器,因此可以采用若干支持在功能单元中进行数据流通信的FIFO将寄存器文件扩展。这里应当注意的是寄存器与FIFO之间的差别是FIFO拥有将发送机和接收机“同步化”的装置。
最好提供包括多个级的流水线,并且由功能单元执行每一个级。具体而言,通过连接经FIFO的子任务在软件级上形成一个流水线。
功能单元之间的FIFO不仅可以用于经过所形成流水线的数据流而且可以用于对该流的控制。如何进行利用的一个实例是:当在功能单元的流水线中,每一个单元必须进行相同数目的操作。只有流水线的头需要知道该数目,并且它可以是取决于数据的。其它的功能单元通过检查例如被添加到FIFO数据中的额外位可能会了解数据结尾。另外一个实例是如果不知道某些功能单元中的重复数,诸如取样可能有时会被添加到或者扔出。
值得注意的是在VLIW处理器中建立流水线的开端程序和收尾程序是不需要的,因为它自然地来自FIFO的同步化。出于举例解释的目的,假定采用用于执行流水线的VLIW处理器,该流水线包括例如三级,功能单元F1、F2、F3分别执行其中的每一级。例如,F1从存储器中读值,并将这些值传递到F2。F2进行计算并将结果传送到F3。F3将结果写回该存储器。实例中的所有这三个功能单元在一个VLIW指令的控制下以全速同时发挥其功能。但是,在循环开始之前,有二个指令对该循环进行初始化,即,首先执行F1的指令,随后执行F1和F2的指令(称为开端程序)。在循环之后,有类似的情形,通过首先执行F2和F3的指令,最后执行F3的指令(称为收尾程序)来请求流水线。如上所述,在本发明的结构中不需要这种开端程序和收尾程序。而且,本发明的结构支持流水线中的指令级并行性(在指令级上的流水线中的子任务)以及任务级并行性(若干流水线可以同时互相以及同时以主线程激活)。
在本发明的另一个实施方案中,给每一个控制单元提供指令寄存器和计数器,其中计数器指明指令的执行次数,该指令存储在指令寄存器中而且必须由相应功能单元执行。该指令寄存器保持一个操作或者一序列操作,并且计数器指明还必须执行该操作的频繁程度。另外,该控制单元通常也可以包括地址寄存器。该计数器可以作为分离器件或者作为相关控制单元的一部分实现。但是,其它结构也是可能的;例如基于XOR的操作(采用Galois场表示)和向上计数(up-counting)直至到达边界也都是有效的。
在本发明另一个优选的实施方案中,设置程序存储器装置用于存储主程序,主程序包括命令控制单元的指示(directive)。根据本发明,如以上所述,这些功能单元有其自己的控制逻辑电路,以及该主程序包括命令这些逻辑电路的指示(例如:“执行该操作n次”)。因此,通常有一个主程序的程序计数器的中央控制。该中央控制被称为主控单元,而功能单元的控制单元被称为从动控制单元。主控单元获取指令并相应地命令从动控制单元。一旦中央或者主控单元建立了流水线,它可以进行和例如启动其它的流水线;这种并行性被称为任务级并行性。因此,根据本发明的功能单元的分散控制支持该指令级并行性,而中央控制可以照顾任务级并行性(分级控制结构)。
关于对诸如存储在局域控制单元中的局域存储器的指令编码,注意到可以独立于对主指令流中指令的编码来选择该编码,该主指令流诸如是通过中央控制观察的。例如,因为对局域控制单元选项(option)编码比局域控制单元库(arsenal)需要较少的位,所以可以选择“窄”编码。因此假定进程只采用给定局域控制单元的基本操作,该局域控制单元本身只存储从指示本身给定的进程中的较短的指令型式。另外的选择是让中央控制发送部分解码的指令给局域控制单元,该局域控制单元潜在地包含更多位。
结合优选实施方案和附图的说明将使本发明上述的和其它目的与特征更加清晰,在附图中:
图1示出了计算矢量积的DSP循环的简单实例,它们分别用C代码表达(a)和用普通汇编代码表达(b);
图2示出标准DSP核心(a)和现代VLIW DSP核心(b)的方框图;
图3示出了VLIW DSP核心的矢量积;
图4示出了处理器识别的实例和最终代码外观;
图5示出了采用局域逻辑控制而没有FIFO寄存器的DSP的方框图;
图6示出了采用局域控制和中心源的定义的实例;
图7示出了仅采用局域控制的进程的实例,它要求仍然以VLIW DSP核心方式的时序同步(a)以及采用局域控制和移动数据流上同步的FIFO寄存器以便简化进程定义和减少所需指令的数目(b);
图8示出原始标准DSP代码(a)和采用局域控制和FIFO寄存器的DSP相同段的代码(b)的一个可能版本;和
图9示出采用局域控制逻辑与FIFO寄存器的DSP的方框图。
图3中的代码建议每一个功能单元实际上只工作在给定代码的子集。如果该循环的本体被隔离,那么三个任务或进程可能实际上被确认,这实际上分别由三个功能单元执行。这被标为进程A、B、和C(参照图4)。另外,假定总是由DSP核心的相同的功能单元执行每一个进程。
图5所示的是一个与图2b的DSP核心相似的DSP核心,但是不同之处在于:每一个功能单元(图5的执行单元)设置有专用的控制逻辑(图5的局域控制12),该控制逻辑可以执行一个给定进程一定的次数。每一个局域控制12包括一个指令寄存器或维持一个或一序列操作的存储器、指明还必须执行的操作的频繁程度和或许地址寄存器(注意:图5未示出局域控制的结构)。除专用控制逻辑或与每一个功能单元或执行单元10相关的局域逻辑控制12外,在获取单元2中,设置有一个中央控制逻辑(图5中的全局控制)。图2所示的标准或现代VLIW DSP核心的获取单元2已经包括这种中央控制逻辑仅作为唯一控制装置。因此,该控制逻辑通常作为标准或现代VLIW DSP核心被集中化,即一次获取一个指令,然后发布给一个功能单元或执行单元。但是,在图5所示的DSP核心中,当启动一个循环时,将控制传送给相应执行单元10的局域控制12。
除了局域控制,必须包括对具体进程的支持。以简单和紧凑的方式提供简单指令以指定一个进程,只要它只包括简单操作如加载、存储和乘(参照图6)。在启动该循环之前,总是对进程加以限定。但是,可能出现由循环本身限定进程中的一个的情况。当进程已经完成,将控制传送至获取单元。该解决方案总体减少了循环体中的指令数,从而减少了对外部存储器的访问和有时将循环转换为重复语句,该语句只访问存储器一次。这降低了功率消耗并加快了操作而对代码尺度没有明显的影响。此外,局域控制利用局域寄存器(程序员无法看到)处理循环中所用的索引,因此减小了寄存器压力;例如在图6中,实际上没有用寄存器$r1指定进程,而是指定了它的增量+1。
但是采用局域控制可能需要按照一个具体的时间顺序执行指令,该时间顺序对应于相同VLIW DSP核心束中的指令同步(参照图7a)。因此,在每一个循环中都涉及所有功能单元或执行单元。为了放松这种约束,延迟对数据的同步。只停止等待新数据的进程中的指令。为了轻易地包括这种数据同步,加入到局域控制设置中的是以寄存器方式使用的先进/先出(FIFO)队列(在图7的实例中被表示为$f而不是图3和6的实例中的标准寄存器$r)。只有当FIFO完整才停止相向FIFO中写入指令;而只有当数据无法获得时,才停止读取FIFO寄存器指令。通过这种方法,如图7b所示,在进程中指令通过FIFO交换数据,并且在该进程中不需要另外的“nop”指令。对数据的同步允许以超级标量处理器的方式无序执行进程。
图8示出了一个在原始标准DSP核心(a)中和在采用局域控制的DSP核心和FIFO寄存器(b)中进行标量积循环的可能代码。
按照图8a,每一个指令可以被编成32位码。但是,根据图8b,“define_process”指示指定了一个3指令进程。该指示本身是32位的并且局域控制12(参照图5)只存储其18位信息(而不是根据图8a可能会需要的96位)。寄存器保持地址#b存储在其标签信息{$f3、Read、first_instruction}等等。当然,标签的大小取决于该信息如何编码和复杂性。
图9示出具有与图5所示相同结构的DSP代码,但是另外还设置有FIFO寄存器14。
将图8与图3和4相比较,可以清楚地看到最终代码比原始代码短;它把循环语句替换为定义作为进程B重复体的重复语句。由于对数据和局域控制都进行同步,所以所有功能单元或执行单元与处理器无关,此处进程已经完成或者未使用(如进程C),将控制传送给获取单元,然后可以执行与该循环本身并行的循环本身之后的指令。这在标准的解决方案中(例如常规VLIW DSP)是不可能的,实际上,没有涉及计算的单元被停止或者执行“nop”操作以考虑时间约束。
Claims (11)
1.用于执行多个操作的数字信号处理设备,该设备包括:
数字信号处理装置,具有多个功能单元(10)和控制装置,其中每一个功能单元用于执行操作,所述控制装置用于控制所述功能单元(10),其特征在于:
所述控制装置包括多个控制单元(12),其中分别地至少一个控制单元(12)与任何一个功能单元(10)有效相关,以控制其功能,以及每一个功能单元(10)适合在与其相关的控制单元(12)的控制下以自治方式执行操作,和
提供FIFO寄存器装置(14;$f),用于支持数字信号处理装置内每个所述功能单元(10)之间的数据流通信,使得仅在FIFO寄存器装置(14,$f)满时,停止一个功能单元(10)写入到FIFO寄存器装置(14;$f),同时仅在FIFO寄存器装置(14,$f)中数据不可获得时,停止一个功能单元(10)从FIFO寄存器装置(14,$f)中读出。
2.根据权利要求1的设备,该设备包括寄存器文件(8),其特征在于:利用所述FIFO寄存器装置(14)扩展所述寄存器文件(8)。
3.根据权利要求1或2的设备,其特征在于:所述FIFO寄存器装置(14)包括多个FIFO寄存器,每个FIFO寄存器与一个所述功能单元(10)相关。
4.根据权利要求1的设备,其特征在于:每个所述功能单元(10)设置有至少一个控制单元(12)。
5.根据权利要求1的设备,该设备适合执行包括多个级的流水线,其中由功能单元(10)执行每一个级。
6.根据权利要求1的设备,其特征在于:为每一个控制单元(12)设置指令寄存器和计数器,其中所述计数器指明由对应功能单元(10)必须执行存储在所述指令寄存器中的指令的次数。
7.根据权利要求1的设备,该设备还包括:存储主程序的程序存储器装置(6),
其特征在于:所述主程序包含用于命令所述控制单元的指示。
8.用于在数字信号处理设备中处理数字信号的方法,该数字信号处理设备包括具有多个功能单元(10)和控制装置的数字信号处理装置,其中每一个功能单元用于执行操作,所述控制装置用于控制所述功能单元(10),
其特征在于:
由多个控制单元(12)控制所述多个功能单元(10);
分别地将至少一个控制单元(12)与任何一个功能单元(10)有效相关,从而每一个功能单元(10)能够在与其相关的控制单元(12)的控制下以自治方式执行操作;和
由FIFO寄存器装置(14)支持所述多个功能单元(10)的数据流通信,使得仅在FIFO寄存器装置(14,$f)满时,停止一个功能单元(10)写入FIFO寄存器装置(14;$f),同时仅在FIFO寄存器装置(14,$f)中数据不可获得时,停止从一个功能单元(10)中读取FIFO寄存器装置(14,$f)。
9.根据权利要求8的方法,其中设置有包括多个级的流水线,并且由功能单元(10)执行每一个级。
10.根据权利要求8或9的方法,其特征在于:由相应的控制单元(12)对功能单元(10)必须执行所存储指令的次数进行计数。
11.根据权利要求8的方法,其中主程序存储在程序存储器装置(6)中,
其特征在于:所述主程序包含用于命令所述控制单元的指示。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00310905 | 2000-12-07 | ||
EP00310905.5 | 2000-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1398369A CN1398369A (zh) | 2003-02-19 |
CN1255721C true CN1255721C (zh) | 2006-05-10 |
Family
ID=8173433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018046258A Expired - Fee Related CN1255721C (zh) | 2000-12-07 | 2001-11-22 | 数字信号处理设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20020083306A1 (zh) |
EP (1) | EP1346279A1 (zh) |
JP (2) | JP2004515856A (zh) |
CN (1) | CN1255721C (zh) |
WO (1) | WO2002046917A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8161461B2 (en) * | 2005-03-24 | 2012-04-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for evaluating code usage |
US7782991B2 (en) * | 2007-01-09 | 2010-08-24 | Freescale Semiconductor, Inc. | Fractionally related multirate signal processor and method |
US9804995B2 (en) * | 2011-01-14 | 2017-10-31 | Qualcomm Incorporated | Computational resource pipelining in general purpose graphics processing unit |
JPWO2013080289A1 (ja) * | 2011-11-28 | 2015-04-27 | 富士通株式会社 | 信号処理装置及び信号処理方法 |
JP6292324B2 (ja) * | 2017-01-05 | 2018-03-14 | 富士通株式会社 | 演算処理装置 |
JP6608572B1 (ja) * | 2018-12-27 | 2019-11-20 | 三菱電機株式会社 | データ処理装置、データ処理システム、データ処理方法及びプログラム |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6057090B2 (ja) * | 1980-09-19 | 1985-12-13 | 株式会社日立製作所 | データ記憶装置およびそれを用いた処理装置 |
JPH0697450B2 (ja) * | 1987-10-30 | 1994-11-30 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | コンピユータ・システム |
JPH0535507A (ja) * | 1991-07-26 | 1993-02-12 | Nippon Telegr & Teleph Corp <Ntt> | 中央処理装置 |
JPH0683578A (ja) | 1992-03-13 | 1994-03-25 | Internatl Business Mach Corp <Ibm> | 処理システム、及びデータスループット制御方法 |
US5845093A (en) * | 1992-05-01 | 1998-12-01 | Sharp Microelectronics Technology, Inc. | Multi-port digital signal processor |
US5665090A (en) * | 1992-09-09 | 1997-09-09 | Dupuy Inc. | Bone cutting apparatus and method |
JPH07110769A (ja) * | 1993-10-13 | 1995-04-25 | Oki Electric Ind Co Ltd | Vliw型計算機 |
US5632023A (en) * | 1994-06-01 | 1997-05-20 | Advanced Micro Devices, Inc. | Superscalar microprocessor including flag operand renaming and forwarding apparatus |
US5515329A (en) * | 1994-11-04 | 1996-05-07 | Photometrics, Ltd. | Variable-size first in first out memory with data manipulation capabilities |
US6237082B1 (en) * | 1995-01-25 | 2001-05-22 | Advanced Micro Devices, Inc. | Reorder buffer configured to allocate storage for instruction results corresponding to predefined maximum number of concurrently receivable instructions independent of a number of instructions received |
US6029242A (en) * | 1995-08-16 | 2000-02-22 | Sharp Electronics Corporation | Data processing system using a shared register bank and a plurality of processors |
JPH09106346A (ja) * | 1995-10-11 | 1997-04-22 | Oki Electric Ind Co Ltd | 並列計算機 |
JPH09265397A (ja) * | 1996-03-29 | 1997-10-07 | Hitachi Ltd | Vliw命令用プロセッサ |
JP3531856B2 (ja) * | 1998-01-07 | 2004-05-31 | シャープ株式会社 | プログラム制御方法及びプログラム制御装置 |
US6216223B1 (en) * | 1998-01-12 | 2001-04-10 | Billions Of Operations Per Second, Inc. | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor |
EP0992916A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
US6990570B2 (en) * | 1998-10-06 | 2006-01-24 | Texas Instruments Incorporated | Processor with a computer repeat instruction |
US6269440B1 (en) * | 1999-02-05 | 2001-07-31 | Agere Systems Guardian Corp. | Accelerating vector processing using plural sequencers to process multiple loop iterations simultaneously |
US6598155B1 (en) * | 2000-01-31 | 2003-07-22 | Intel Corporation | Method and apparatus for loop buffering digital signal processing instructions |
US6574725B1 (en) * | 1999-11-01 | 2003-06-03 | Advanced Micro Devices, Inc. | Method and mechanism for speculatively executing threads of instructions |
US7178013B1 (en) * | 2000-06-30 | 2007-02-13 | Cisco Technology, Inc. | Repeat function for processing of repetitive instruction streams |
US6898693B1 (en) * | 2000-11-02 | 2005-05-24 | Intel Corporation | Hardware loops |
US6732253B1 (en) * | 2000-11-13 | 2004-05-04 | Chipwrights Design, Inc. | Loop handling for single instruction multiple datapath processor architectures |
-
2001
- 2001-11-22 CN CNB018046258A patent/CN1255721C/zh not_active Expired - Fee Related
- 2001-11-22 WO PCT/EP2001/013689 patent/WO2002046917A1/en active Application Filing
- 2001-11-22 JP JP2002548578A patent/JP2004515856A/ja active Pending
- 2001-11-22 EP EP01994717A patent/EP1346279A1/en not_active Withdrawn
- 2001-12-07 US US10/020,019 patent/US20020083306A1/en not_active Abandoned
-
2008
- 2008-02-14 JP JP2008033236A patent/JP2008181535A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN1398369A (zh) | 2003-02-19 |
WO2002046917A1 (en) | 2002-06-13 |
US20020083306A1 (en) | 2002-06-27 |
JP2008181535A (ja) | 2008-08-07 |
EP1346279A1 (en) | 2003-09-24 |
JP2004515856A (ja) | 2004-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7836276B2 (en) | System and method for processing thread groups in a SIMD architecture | |
US7366874B2 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
EP1368732B1 (en) | Digital signal processing apparatus | |
CA2122139C (en) | Data processing system | |
US6757820B2 (en) | Decompression bit processing with a general purpose alignment tool | |
KR101730282B1 (ko) | 지연된 재구성된 프로그램 순서를 이용한 선택 로직 | |
US20060265555A1 (en) | Methods and apparatus for sharing processor resources | |
EP3314398A1 (en) | Reuse of decoded instructions | |
WO2000022515A1 (en) | Reconfigurable functional units for implementing a hybrid vliw-simd programming model | |
US7383419B2 (en) | Address generation unit for a processor | |
CN1114857C (zh) | 执行程序指令的装置与方法 | |
US20210216454A1 (en) | Coupling wide memory interface to wide write back paths | |
US5857088A (en) | System for configuring memory space for storing single decoder table, reconfiguring same space for storing plurality of decoder tables, and selecting one configuration based on encoding scheme | |
CN1255721C (zh) | 数字信号处理设备 | |
EP1623318B1 (en) | Processing system with instruction- and thread-level parallelism | |
US8601236B2 (en) | Configurable vector length computer processor | |
CN1650258A (zh) | 可扩展处理器中的自动任务分配 | |
CN116670644A (zh) | 通用计算核上的交错处理的方法 | |
EP0760976B1 (en) | Object-code compatible representation of very long instruction word programs | |
US20040123073A1 (en) | Data processing system having a cartesian controller | |
Gregoretti et al. | Design and Implementation of the Control Structure of the PAPRICA-3 Processor | |
GB2393286A (en) | Method for finding a local extreme of a set of values associated with a processing element by separating the set into an odd and an even position pair of sets |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060510 Termination date: 20091222 |