CN101784987B - 可编程滤波处理器 - Google Patents
可编程滤波处理器 Download PDFInfo
- Publication number
- CN101784987B CN101784987B CN200880103449.3A CN200880103449A CN101784987B CN 101784987 B CN101784987 B CN 101784987B CN 200880103449 A CN200880103449 A CN 200880103449A CN 101784987 B CN101784987 B CN 101784987B
- Authority
- CN
- China
- Prior art keywords
- filter processor
- programmable filter
- logical block
- memory
- data
- 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.)
- Active
Links
- 238000001914 filtration Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 238000012432 intermediate storage Methods 0.000 claims description 3
- 230000002349 favourable effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
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/30098—Register arrangements
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Advance Control (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
本发明涉及可编程滤波处理器(2),所述可编程滤波处理器可被匹配于不同的滤波算法,其中,多个不同的软件算法可被执行,其中,所述可编程滤波处理器(2)包含:逻辑单元(14),所述逻辑单元包含多个流水线级;第一存储器(8),所述软件算法被保存在所述第一存储器中;第二存储器(12),原始数据和用于所述不同的滤波算法的参数被保存在所述第二存储器中;以及地址产生单元(10),所述地址产生单元可通过程序计数器控制,其中,所述地址产生单元(10)被构造用于生成用于所述第二存储器(12)和所述逻辑单元(14)的控制指令。
Description
技术领域
本发明涉及一种可编程滤波处理器,所述可编程滤波处理器可被匹配于不同的滤波算法,本发明还涉及一种滤波方法,使所述滤波方法适合于不同的滤波算法。
背景技术
由于汽车领域中的成本压力,发动机控制设备的硬件和软件的开发越来越困难。
现今,微芯片中的信号处理大多借助于软件执行。在进行大规模的计算、如滤波算法时,经常出现实时性能的问题,因为微芯片还必须实时地处理一系列其它的任务。由于成本原因,通常避免控制器结构的真正的以及更多重的并行性
发明内容
按照本发明,提出了一种可编程滤波处理器,所述可编程滤波处理器可被匹配于不同的滤波算法,其中,多个不同的软件算法可被执行,其中,所述可编程滤波处理器包含:一逻辑单元,所述逻辑单元包含多个流水线级,其中,在所述逻辑单元中实现一附加的数据路径,所述数据路径被构造用于与一模拟/数字转换器数据并行地一起传输一时间戳和/或角度戳通过所述逻辑单元,一第一存储器,所述软件算法被保存在所述第一存储器中,一第二存储器,原始数据和用于不同滤波算法的参数被保存在所述第二存储器中,以及一地址产生单元,所述地址产生单元可通过一程序计数器控制,其中,所述地址产生单元被构造用于生成用于所述第二存储器和所述逻辑单元的控制指令。
本发明的任务是,能够在高数据量(Datenaufkommen)的情况下实现信号检测和信号预处理的更高的复杂性和必要的并行性。
该任务通过可编程滤波处理器解决,所述可编程滤波处理器可被匹配于不同的滤波算法,其中多个不同的软件算法可被执行,其中所述可编程滤波处理器包含:逻辑单元,所述逻辑单元包含多个流水线级;第一存储器,软件算法被保存在所述第一存储器中;第二存储器,原始数据和用于不同滤波算法的参数被保存在所述第二存储器中;以及地址产生单元,可通过程序计数器控制所述地址产生单元,其中所述地址产生单元被构造用于生成用于第二存储器和逻辑单元的控制指令。根据本发明的可编程滤波处理器的本质点在于,所述可编程滤波处理器可被非常灵活地匹配于不同的滤波算法。可通过汇编指令对所述处理器进行编程,并且所述处理器具有由多个流水线级组成的逻辑单元。
根据本发明的可编程滤波处理器的优选的进一步构型在下面的说明中进行说明。
据此,在可编程滤波处理器的一个有利的实施形式中设置:地址产生单元被进一步构造用于以数据填充第二存储器的和逻辑单元的寄存器。由此,可编程滤波处理器可被容易地匹配于不同的信号处理任务。
在可编程滤波处理器的另一个有利的实施形式中,逻辑单元被构造用于处理数据。由此可以在逻辑单元内部以硬件实现不同的功能。
在可编程滤波处理器的另一个有利的实施形式中,逻辑单元被构造用于将经处理的数据的结果再次保存在第二存储器中。由此,可编程滤波处理器可被容易地匹配于不同的信号处理任务。
在可编程滤波处理器的另一个有利的实施形式中,在逻辑单元内部以硬件实现预先确定的功能,可编程滤波处理器可通过所述功能匹配于预先确定的信号处理任务。由此可以在逻辑单元内部以硬件实现不同的功能。
在可编程滤波处理器的另一个有利的实施形式中,在逻辑单元中实现多个工作寄存器,这些工作寄存器被构造用于中间存储部分结果。由此能够实现上下文切换,以便可以实时地处理对时间要求严格的信号处理任务。但在这种情况下程序员必须确保工作寄存器的内容不被重写。
在可编程滤波处理器的另一个有利的实施形式中,在逻辑单元中实现一数据路径,该数据路径被构造用于通过逻辑单元与模拟/数字转换器数据并行地一起传输时间戳和角度戳。由此能够处理与模拟/数字转换器的值相关的时间戳。在此,与其它数字信号处理器相比,可编程滤波处理器具有其优点,因为所述可编程滤波处理器的硬件体系结构仍可被匹配。
在可编程滤波处理器的另一个有利的实施形式中,可编程滤波处理器被构造用于以一数据记录工作并且与此并行地将一另外的数据记录加载到可编程滤波处理器的第一存储器中。由此,可编程滤波处理器可被容易地匹配于不同的信号处理任务。
以上任务也通过一种滤波方法解决,使所述滤波方法适合于不同的滤波算法,其中执行多个不同的软件算法,其中所述滤波方法包含以下步骤:将软件算法保存在一第一存储器中;将原始数据和用于不同滤波算法的参数保存在一第二存储器中;通过一程序计数器控制一地址产生单元;以及在所述地址产生单元中生成用于第二存储器以及逻辑单元的控制指令。通过所述根据本发明的滤波方法,可以使可编程滤波处理器非常灵活地匹配于不同的滤波算法。可以通过汇编指令对处理器进行编程,并且所述处理器具有由多个流水线级组成的逻辑单元。
以下对根据本发明滤波方法的优选的进一步构型进行说明。
在所述方法的另一个有利实施形式中,还包含以数据填充第二存储器的和逻辑单元的寄存器的步骤。由此可以使所述滤波方法容易地匹配于不同的信号处理任务。
在所述方法的另一个有利实施形式中,还包含在逻辑单元中处理数据的步骤。由此可以在逻辑单元内部以硬件实现不同的功能。
在所述方法的另一个有利实施形式中,还包含将经处理的数据的结果保存在第二存储器中的步骤。由此可以使所述滤波方法容易地匹配于不同的信号处理任务。
附图说明
以下借助实施例对可编程滤波处理器的根据本发明的布置进行详细的说明。相同或起相同作用的部分设有相同的附图标记。附图示出:
图1示出一个集成的可编程滤波处理器的体系结构,
图2示出可编程滤波处理器的逻辑单元对时间戳的处理的扩展,
图3示出说明对同伴芯片中的信号处理的要求的表。
具体实施方式
图1示出一个集成的可编程滤波处理器IFP 2的体系结构。所述可编程滤波处理器是可非常灵活地匹配于不同滤波算法的可编程滤波处理器。可以通过汇编指令对可编程滤波处理器2进行编程,并且可编程滤波处理器2具有由多个流水线级组成的逻辑单元,所述逻辑单元扩展了对时间戳的处理。
由于汽车制造商以及发动机领域中传感器提出的完全不同的要求,同伴芯片必须能够实现非常灵活的信号处理。一方面,可以通过对软件的加强使用实现这种灵活性。而另一方面,由于更高的控制复杂性和高数据量,同伴芯片的微芯片不可能承担所有的信号处理任务。
首先,这是不可能的,因为例如Cortex-M3TM芯片由于受限的总线系统AHB-Lite必须亲自进行从FIFO的全部数据传输用于在它的RAM中的进一步处理。出于这个原因,在同伴芯片内部还实现了集成的可编程滤波处理器的两个信号处理模块以及信号预处理。
集成的可编程滤波处理器2在图1中示出的体系结构证实在实现新算法时是非常有效率的。例如在可使用集成的可编程滤波处理器2的无线电应用中,可以在相同的可编程滤波处理器硬件上运行最多17个不同的软件算法。在此,借助触发线路6通过PCTR单元4通过入口点确定算法。在图1中示出三个触发线路6。算法本身被保存在第一存储器RAM 8中。随后通过PCTR 4中的程序计数器控制地址产生单元AGU 10,所述地址产生单元生成用于第二存储器IFP MEM 12以及逻辑单元ALU 14的控制指令,或者相应地用数据填充寄存器。在第二存储器IFP MEM 12上连接有FIFO缓冲器16以及总线接口16。
在第二存储器IFP MEM 12中不仅保存原始数据而且保存用于滤波的参数。最后,逻辑单元ALU 14处理数据并且将结果重新保存在第二存储器IFP MEM 12中。在此,可以在逻辑单元ALU 14内以硬件实现预先确定的功能。通过这些预先确定的功能,可编程滤波处理器随后可容易地匹配于预先确定的信号处理任务。
由此,集成的可编程滤波处理器IFP 2可以容易地匹配于不同的信号处理任务。则用于信号改善的智能滤波处理器的开发时间例如可以少于一天。
为了在同伴芯片内使用集成的可编程滤波处理器IFP 2,其必须扩展附加的功能。由于高数据量,例如必然需要在可编程滤波处理器还忙于处理其它的模拟/数字转换器ADC数据期间将新的模拟/数字转换器ADC的数据加载到集成的可编程滤波处理器IFP 2中。这由两个独立的RAM组件实现,可以在这两个独立的RAM组件之间进行转换。
此外,必须能够上下文切换,以便可以实时地处理对时间要求严格的信号处理任务。集成的可编程滤波处理器IFP 2已经对这两个任务作好了准备。为此,例如可以在逻辑单元ALU 14中实现多个工作寄存器ACCU,以便中间存储部分结果。但是,在这种情况下程序员必须确保,工作寄存器ACCU的内容不被重写。
图2示出了可编程滤波处理器IFP的逻辑单元对时间戳的处理的扩展。
集成的可编程滤波处理器IFP的扩展在于对与模拟/数字转换器ADC的值相关的时间戳的处理。在此,与其它数字信号处理器DSP相比,集成的可编程滤波处理器IFP具有其优点,因为滤波处理器的硬件体系结构还可被匹配。这样可以在实现逻辑单元ALU(参见图1)时实现一个附加的数据路径,其中,时间戳或角度戳与其模拟/数字转换器ADC的数据并行地通过逻辑单元ALU一起移动。
集成的可编程滤波处理器IFP用于支持同伴芯片的微处理器的信号处理。可编程滤波处理器由多个元件组成,其中,逻辑单元ALU以及第二存储器IFP-MEM和用于信号处理程序的第一存储区RAM(参见图1)占据了芯片面积的主要部分。
同伴芯片的集成的可编程滤波处理器IFP应当能够以一个数据记录工作,并且一个第二数据记录应可以与此并行地被加载到集成的可编程滤波处理器IFP的存储器中。由根据图3的数据量可见,除了由于其复杂性必须在微处理器上进行计算的用于燃烧室压力(CSC-P,Combustion Signalbased Control-Pressure:基于控制的燃烧信号-压力)的任务的数据外,数据量为最大250字节/缸(压电电压测量)。
在安全系数为2并且工作和影子存储器(Arbeits-und Schattenspeicher)为0.5KB的情况下,用于集成的可编程滤波处理器IFP的存储器消耗为1KB。这可以借助约8000个门电路实现。
Claims (7)
1.可编程滤波处理器(2),所述可编程滤波处理器可被匹配于不同的滤波算法,其中,多个不同的软件算法可被执行,其中,所述可编程滤波处理器(2)包含:
一逻辑单元(14),所述逻辑单元包含多个流水线级,其中,在所述逻辑单元(14)中实现一附加的数据路径,所述数据路径被构造用于与一模拟/数字转换器数据并行地一起传输一时间戳和/或角度戳通过所述逻辑单元(14),
一第一存储器(8),所述软件算法被保存在所述第一存储器中,
一第二存储器(12),原始数据和用于不同滤波算法的参数被保存在所述第二存储器中,以及
一地址产生单元(10),所述地址产生单元可通过一程序计数器控制,其中,所述地址产生单元(10)被构造用于生成用于所述第二存储器(12)和所述逻辑单元(14)的控制指令。
2.根据权利要求1的可编程滤波处理器(2),其中,所述地址产生单元(10)被进一步构造用于以数据填充所述第二存储器(12)的寄存器以及所述逻辑单元(14)的寄存器。
3.根据权利要求2的可编程滤波处理器(2),其中,所述逻辑单元(14)被构造用于处理数据。
4.根据权利要求3的可编程滤波处理器(2),其中,所述逻辑单元(14)被构造用于将经处理的数据的结果再次保存在所述第二存储器(12)中。
5.根据权利要求1至4之一的可编程滤波处理器(2),其中,在所述逻辑单元(14)内以硬件实现预先确定的功能,所述可编程滤波处理器通过所述预先确定的功能可被匹配于预先确定的信号处理任务。
6.根据权利要求1至4之一的可编程滤波处理器(2),其中,在所述逻辑单元(14)中实现多个工作寄存器,所述多个工作寄存器被构造用于中间存储部分结果。
7.根据权利要求1至4之一的可编程滤波处理器(2),所述可编程滤波处理器被构造用于以一数据记录工作并且与此并行地将一另外的数据记录加载到所述可编程滤波处理器(2)的第一存储器(8)中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102007038545A DE102007038545A1 (de) | 2007-08-16 | 2007-08-16 | Programmierbarer Filterprozessor |
DE102007038545.7 | 2007-08-16 | ||
PCT/EP2008/058824 WO2009021780A1 (de) | 2007-08-16 | 2008-07-08 | Programmierbarer filterprozessor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101784987A CN101784987A (zh) | 2010-07-21 |
CN101784987B true CN101784987B (zh) | 2015-05-20 |
Family
ID=39864901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880103449.3A Active CN101784987B (zh) | 2007-08-16 | 2008-07-08 | 可编程滤波处理器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8464027B2 (zh) |
CN (1) | CN101784987B (zh) |
DE (1) | DE102007038545A1 (zh) |
WO (1) | WO2009021780A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111656367A (zh) | 2017-12-04 | 2020-09-11 | 优创半导体科技有限公司 | 神经网络加速器的系统和体系结构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282631B1 (en) * | 1998-12-23 | 2001-08-28 | National Semiconductor Corporation | Programmable RISC-DSP architecture |
EP1564464A1 (de) * | 2004-02-11 | 2005-08-17 | FESTO AG & Co | Piezoventil |
CN1678999A (zh) * | 2002-09-03 | 2005-10-05 | 皇家飞利浦电子股份有限公司 | 用于处理嵌套中断的方法和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63216170A (ja) * | 1987-03-05 | 1988-09-08 | Mitsubishi Electric Corp | デイジタル信号処理プロセツサ |
US7200735B2 (en) * | 2002-04-10 | 2007-04-03 | Tensilica, Inc. | High-performance hybrid processor with configurable execution units |
US20050177674A1 (en) | 2004-02-11 | 2005-08-11 | Infineon Technologies, Inc. | Configurable embedded processor |
-
2007
- 2007-08-16 DE DE102007038545A patent/DE102007038545A1/de not_active Ceased
-
2008
- 2008-07-08 WO PCT/EP2008/058824 patent/WO2009021780A1/de active Application Filing
- 2008-07-08 US US12/668,190 patent/US8464027B2/en active Active
- 2008-07-08 CN CN200880103449.3A patent/CN101784987B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6282631B1 (en) * | 1998-12-23 | 2001-08-28 | National Semiconductor Corporation | Programmable RISC-DSP architecture |
CN1678999A (zh) * | 2002-09-03 | 2005-10-05 | 皇家飞利浦电子股份有限公司 | 用于处理嵌套中断的方法和设备 |
EP1564464A1 (de) * | 2004-02-11 | 2005-08-17 | FESTO AG & Co | Piezoventil |
Also Published As
Publication number | Publication date |
---|---|
WO2009021780A1 (de) | 2009-02-19 |
US20100199070A1 (en) | 2010-08-05 |
CN101784987A (zh) | 2010-07-21 |
US8464027B2 (en) | 2013-06-11 |
DE102007038545A1 (de) | 2009-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019127731A1 (zh) | 卷积神经网络硬件加速装置及卷积计算方法及存储介质 | |
JPH10187438A (ja) | 乗算器の入力に対する遷移を減少させる方法 | |
CN111183418B (zh) | 可配置硬件加速器 | |
WO2004053841A2 (en) | Apparatus and method for matrix data processing | |
WO2019190707A1 (en) | System and method for implementing a machine perception and dense algorithm integrated circuit | |
CN108139903A (zh) | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 | |
KR20230142355A (ko) | 데이터베이스 스캔 가속을 위한 시스템 및 방법 | |
US7945765B2 (en) | Method and structure for asynchronous skip-ahead in synchronous pipelines | |
CN101784987B (zh) | 可编程滤波处理器 | |
US8761188B1 (en) | Multi-threaded software-programmable framework for high-performance scalable and modular datapath designs | |
WO2016085679A1 (en) | System and method for managing pipelines in reconfigurable integrated circuit architectures | |
Dong et al. | A novel high-speed parallel scheme for data sorting algorithm based on FPGA | |
JP2008090455A (ja) | マルチプロセッサ信号処理装置 | |
WO2008115834A1 (en) | Microcontroller with low-cost digital signal processing extensions | |
CN103809987A (zh) | 一种soc芯片更换自身内部fpga ip程序的方法 | |
JP6365387B2 (ja) | 電子制御装置 | |
EP1927056A2 (en) | Processor array with separate serial module | |
US10089277B2 (en) | Configurable circuit array | |
EP3030963A1 (en) | Flexible configuration hardware streaming unit | |
JP3091441B2 (ja) | データ処理装置 | |
US20090144461A1 (en) | Method and system for configuration of a hardware peripheral | |
JP2014067144A (ja) | 車両用ソフトウェア作成支援装置、車両用ソフトウェア変換装置、車両用ソフトウェア作成支援装置のプログラム、及び、組込みソフトウェア | |
US6314132B1 (en) | Microprocessor structure and method for implementing digital filter operations | |
JPH04148372A (ja) | ハッシュ値算出処理方式 | |
KR101795531B1 (ko) | 재구성 가능한 시스템 온 칩 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |