CN111090248A - 用于执行可配置处理操作的微控制器 - Google Patents

用于执行可配置处理操作的微控制器 Download PDF

Info

Publication number
CN111090248A
CN111090248A CN201911005802.0A CN201911005802A CN111090248A CN 111090248 A CN111090248 A CN 111090248A CN 201911005802 A CN201911005802 A CN 201911005802A CN 111090248 A CN111090248 A CN 111090248A
Authority
CN
China
Prior art keywords
parameter
register
hardware module
processing
microcontroller
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
Application number
CN201911005802.0A
Other languages
English (en)
Other versions
CN111090248B (zh
Inventor
M·瓦利斯
Y·塞比勒特
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.)
STMicroelectronics Rousset SAS
STMicroelectronics Grenoble 2 SAS
Original Assignee
STMicroelectronics Rousset SAS
STMicroelectronics Grenoble 2 SAS
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 STMicroelectronics Rousset SAS, STMicroelectronics Grenoble 2 SAS filed Critical STMicroelectronics Rousset SAS
Publication of CN111090248A publication Critical patent/CN111090248A/zh
Application granted granted Critical
Publication of CN111090248B publication Critical patent/CN111090248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • 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/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及用于执行可配置处理操作的微控制器。例如,微控制器能够执行可由至少一个参数来参数化的处理。微控制器包括处理器和耦合至处理器的硬件模块。硬件模块被配置为硬件执行该处理,并且处理器被配置为将至少一个参数传送到硬件模块。

Description

用于执行可配置处理操作的微控制器
相关申请的交叉参考
本申请要求2018年10月24日提交的法国专利申请第1859813号的优先权,其通过引用并入本文。
技术领域
本发明的实施例涉及微控制器。
背景技术
具有专用于软件执行功能的DSP(“数字信号处理”)数字信号协处理器,用于释放微控制器的处理器的带宽。DSP数字信号协处理器一般具有高性能,但价格昂贵。
其他类型的处理(例如,数字信号滤波、矩阵运算或快速傅立叶变换)通常通过处理器在软件中执行,并且通常在大量数据上重复。这将强制处理器执行该任务,但它也不总是优化的。
发明内容
本发明的实施例公开了用于执行可配置处理操作的微控制器。一些实施例可以提供用于执行该处理的较低成本的备选方案。
根据一些实施例提供的一种解决方案是提供一种非常廉价且通用的模块,其专用于特定处理且耦合至处理器,用于从该处理释放处理器。
根据一个方面,提供一种微控制器,用于执行可由至少一个参数来参数化的处理。微控制器包括:处理器;以及硬件模块,耦合至处理器,并且被配置为硬件执行该处理。处理器被配置为向硬件模块传送至少一个参数。
硬件模块是在其制造期间被物理“硬”编程的元件,通常用于实施计算。硬件模块及其硬件编程通常由术语“硬件”和“硬件编程”或“硬件编码”来指定。
参数被理解为定义和改变给定类型处理的实施的值,例如,定义滤波器类型处理的截止频率的参数。该参数与应用计算的处理的输入变量的值不同。
因此,具体提供了一种微控制器,其包括用于给定类型的处理的通用硬件模块(例如,数字滤波器),该处理能够根据任何应用参数化,同时受益于低成本和低能耗。然后,微控制器的处理器可以从执行这种类型的处理中释放,并接管更好优化的其他操作。换句话说,微控制器的性能(特别是速度)得到了改善。
根据一个实施例,处理是从包括数字滤波器、矩阵计算和快速傅里叶变换的组中选择的特定类型。
实际上,这三个处理示例可以通过相同的基本电路执行,并且取决于操作的执行顺序。因此,微控制器的制造商可以通过适应操作的定时从这三种类型的处理中显著地选择,而不必修改硬件模块的其它元件。
根据一个实施例,硬件模块包括用于接收处理的输入值的输入寄存器、用于提供处理的输出值的输出寄存器以及被配置用于存储至少一个参数的值的至少一个参数寄存器。
例如,输入寄存器、输出寄存器和至少一个参数寄存器位于共享寄存器中的相应存储位置。
这使得可以从灵活性中获益,例如,用于优化存储空间的使用,或者用于根据给定的使用上下文使共享寄存器的存储器适应约束。
有利地,输入寄存器、输出寄存器和至少一个参数寄存器能够接收和存储用于在未来执行处理的一组值。
这显著用于分组数据传输(尤其在接收中),并且用于降低存储器条目的拥塞或堵塞的概率。
根据一个实施例,微控制器还包括直接存储访问驱动设备,其中,硬件模块被配置用于在输入寄存器中生成写入请求或者(即,和/或)在输出寄存器中生成读取请求,这些请求用于且适于直接存储访问驱动设备。
这使得可以避免用于微处理器的中断信号的使用,并且使得可以进一步从硬件模块的输入-输出管理任务中释放微处理器。
根据一个实施例,硬件模块包括乘法器和累加器电路以及用于驱动乘法器和累加器电路以执行处理的硬件配置序列器。
由序列器传送的用于驱动乘法器和累加器电路的操作的命令定义将被硬件模块执行、同时还通过参数进行参数化的处理。此外,通过改变由序列器控制的每个元件的操作的执行顺序,可以根据乘法器和累加器电路的相同元件执行各种类型的处理。因此,修改序列器使得可以修改由硬件模块执行的处理的类型并且使该模块适应用于执行不同处理的微控制器的不同实施例。
根据一个实施例,至少一个参数包括代表由处理产生的值的动态值与这些值的精度值之间的折衷的至少一个参数,乘法器和累加器电路被配置用于在执行处理期间实施这种折衷。
例如,乘法器和累加器电路被配置用于在包括M位的计算值上截断N个最高有效位和A-N个最低有效位,其中A是正整数以使A<M,并且N是整数以使0≤N≤A,并且对由截断产生的值应用补偿增益2N,代表由处理产生的值的动态值与这些值的精度值之间的折衷的至少一个参数包括数字N,并且可选地包括数字A。
这在处理的执行中提供了额外的灵活性,例如,根据由参数值和/或由输入值给出的上下文。“值的动态值”被理解为表示处理结果的可能值的范围,其可以由最大可能值表示,或者在这些值的二进制写入中的位数来表示。
根据另一方面,提供了一种硬件模块,其被配置用于硬件执行可由至少一个参数来参数化的处理,至少一个参数用于由微控制器的处理器传送。
根据一些实施例,该功能可以是从包括数字滤波器、矩阵计算或快速傅里叶变换的组中选择的特定类型。硬件模块可包括用于接收处理的输入值的输入寄存器、用于提供处理的输出值的输出寄存器以及被配置用于存储至少一个参数的值的至少一个参数寄存器。输入寄存器、输出寄存器和至少一个参数寄存器可位于共享寄存器中的相应存储器位置。输入寄存器、输出寄存器和至少一个参数寄存器能够接收和存储用于在未来执行处理的一组值。硬件模块可以被配置用于在输入寄存器中生成写入请求和/或在输出寄存器中生成读取请求,这些请求可用于且适于辅助的直接存储访问驱动设备。
硬件模块可包括乘法器和累加器电路以及用于驱动乘法器和累加器电路以执行处理的硬件配置序列器。至少一个参数包括代表由处理产生的值的动态值与这些值的精度值之间的折衷的至少一个参数,乘法器和累加器电路被配置用于在处理执行期间实施这种折衷。例如,乘法器和累加器电路被配置用于在包括M位的计算值上截断N个最高有效位和A-N个最低有效位,其中A是正整数以使A<M,并且N是整数以使0≤N≤A,并且对由截断产生的值应用补偿增益2N,代表由处理产生的值的动态值与这些值的精度值之间的折衷的至少一个参数包括数字N,并且可选地包括数字A。
还提供了一种电子装置,诸如车辆的车载计算机,包括如上所定义的微控制器。
附图说明
将在以非限制性方式阅读实施例和实施方式的详细描述以及附图时明白本发明的其他优点和特征,其中:
图1至图6示意性示出了本发明的不同实施例。
具体实施方式
图1表示微控制器MC的一个实施例,包括CPU和硬件模块MM。微控制器主要用于执行处理。硬件模块MM被配置用于执行处理的硬件。由硬件模块MM执行的处理可由至少一个参数来参数化,并且处理器CPU被配置用于将至少一个参数传送到硬件模块MM。
微控制器还包括附属的存储器元件,该存储元件可包括随机存取存储器RAM和非易失性存储器ROM、直接存储存取驱动设备DMA、输入-输出接口,诸如数模转换器DAC、模数转换器ADC和脉宽调制器PWM。
微控制器的各种元件(即,在该示例中,处理器、硬件模块、存储元件、直接存储存取设备和输入-输出接口)可经由集成电路总线BS彼此通信。
例如,集成电路总线BS是AHB(高级高性能总线)类型。
因此,参数化由硬件模块MM执行的处理硬件的参数可经由集成电路总线BS传送到硬件模块MM和CPU。
处理优选是从包括数字滤波器、矩阵计算和快速傅里叶变换的组中选择的特定类型。
例如,数字滤波器类型的处理的参数化可对应于描述滤波器的脉冲响应的系数。
例如,矩阵计算的参数化可对应于该计算的定义(诸如数积或向量积)以及矩阵的维度的定义。
例如,快速傅立叶变换的参数化可对应于其复杂度设置(点的数量)。
在任何情况下,由于可参数化,处理在执行中具有灵活性。例如,处理的参数化可包括处理期间使用的函数的数学定义、硬件模块的特定计算电路部分的选择、计算顺序的选择或者甚至执行处理的连续重复(可选地在每次执行之间参数化)。
由于通过硬件模块对处理的硬件执行,微控制器的性能以较低的成本得到改善。此外,微控制器的使用大大简化,例如通过与DSP类型的传统***相比,其中专用于处理执行的软件必须由用户编程,特别是通过专用电路和所要求的预防措施。
图2表示数字滤波器类型的处理TRT的所选示例的功能图。
数字滤波器的该示例包括无限脉冲响应滤波器IIR,包括第一级有限脉冲响应滤波器FIR。
有限脉冲响应滤波器FIR是移位输入样本x[n]、x[n-1]、x[n-2]、…与反应系数向量b[0]、b[1]、b[2]、…生成输出样本y[n]的卷积。
无限脉冲响应滤波器IIR包括移位输出样本y[n-1]、y[n-2]、…与反馈系数向量a[1]、a[2]、…的卷积。
每个卷积是乘积的和。因此,无限脉冲响应滤波器IIR的连续卷积是通过硬件模块借助于乘法器-累加器电路MAC来硬件执行(图3)。
延迟元件(例如,触发器)Z-1存储输入x[n]和输出y[n]样本的先前值,用于实施移位。
作用系数b[i]和反馈系数a[j]矢量数学地定义滤波器FIR、IIR的所有特性。
在该示例中,处理TRT可以参数化,以便选择与有限脉冲响应滤波器FIR相对应的硬件模块MM的计算部分或者与无限脉冲响应滤波器FIR相对应的硬件模块MM的计算部分。
滤波器的长度或滤波器的阶数(即,延迟Z-1的数目N或M)也可以根据执行速度的需要和寄存器的容量来显著地参数化。
图3表示被配置用于硬件执行处理的硬件模块MM的实施例。该示例可对应于但不是必须对应于参照图2描述的滤波器示例。
硬件模块MM包括输入寄存器INRG、输出寄存器OUTRG、至少一个(这里是两个)参数寄存器PRMb、PRMa、乘法器和累加器电路MAC以及序列器SEQ。
输入寄存器INRG用于接收处理的输入值x[n]。输出寄存器OUTRG用于提供处理的输出值y[n]。参数寄存器PRMb、PRMa被配置用于存储参数化处理的参数b[i]、a[i]的值。
例如通过由索引信号CNT控制的多路复用器,从输入寄存器INRG连续地选择输入值x[n-N]、…、x[n-1]、x[n],并传输到乘法器和累加器电路MAC。
类似地,输出值y[n-M]、…、y[n-1]、y[n]以及系数值b[N]、…、b[1],b[0]、a[M]、…、a[2]、a[1]通过由索引信号CNT控制的多路复用器顺序地从相应寄存器传输到乘法器和累加器电路MAC。
乘法器和累加器电路MAC被配置用于硬件执行通过选择信号SEL在寄存器中选择的两项之间的乘法操作。这里,选择信号SEL用于选择输入寄存器INRG和第一系数寄存器PRMb中的一对值或者输出寄存器OUTRG和第二系数寄存器PRMa中的一对值。
电路MAC被配置用于硬件执行由此计算的每个积的累积和ACC。
序列器SEQ又被硬件配置用于明显地生成索引信号CNT和选择信号SEL。
因此,序列器SEQ使得可以硬件驱动乘法器和累加器电路MAC,以便执行特定类型的处理。
因此,通过硬件修改序列器SEQ,硬件模块MM可以执行其他类型的处理,特别是矩阵计算,诸如乘法、加法、点积、行列式计算、附加(adjunction)或其他。
此外,通过地址重新排序单元(诸如直接存储访问驱动器设备DMA),硬件模块MM可被配置用于硬件执行快速傅立叶变换。
还可以设想添加附加的乘法器-累加器电路MAC,用于增加所选处理的执行速度。
再次参考图1,以微控制器MC包括直接存储访问驱动器设备DMA为例。
如图3所述,硬件模块MM可有利地被配置用于在输入寄存器INRG中生成用于和适于直接存储访问驱动器设备DMA的写入请求;以及在输出寄存器OUTRG中生成同样用于和适于直接存储访问驱动器设备DMA的读取请求。
因此,总线BS上没有向CPU发送中断信号,并且硬件模块MM的整个输入-输出流由直接存储访问驱动器设备DMA驱动。因此,微控制器MC的处理器CPU完全没有该处理以外的处理操作。
现在参考图4。
图4表示上面参照图3描述的硬件模块MM的实施例。
在该实施例中,输入寄存器INRG、输出寄存器OUTRG和至少一个参数寄存器PRM位于共享寄存器MEM中的相应存储位置。
每个存储位置通过基地址_BS和位置_SZ的大小来定义。
因此,输入寄存器INRG被分配基地址INRG_BS和大小INRG_SZ。每个系数寄存器PRM被分配基地址PRM_BS和大小PRM_SZ。输出寄存器OUTRG被分配基地址OUTRG_BS和大小OUTRG_SZ。
寄存器的存储器是圆形的,新元件覆写最旧的元件。这意味着当一个元件不再必需时,其被新元件替换,例如通过从DMA驱动器或CPU的传送。
位置的大小可大于硬件模块MM的函数的延迟线,这允许以突发(burst)的方式进行数据传送并且降低退出(drop-out)的概率。参考图2,函数的延迟线通过连续延迟元件Z-1的数量来体现,或者参考图3,由数字N和M来实施。这是计算新输出值所使用的连续输入和输出值的量。
例如,位置的大小被标注为存储硬件模块MM的函数的延迟线的延迟数的倍数。
因此,输入寄存器INRG、输出寄存器OUTRG和至少一个参数寄存器PRM能够接收和存储用于在未来执行处理的一组值。
因此,当连续数据到达的数目大于硬件模块MM的函数的延迟线时,可以存储数据,而不必等待序列的第一数据能够被覆写。
此外,在这种情况下,在寄存器INRG、OUTRG和PRM位于共享寄存器MEM中的相应存储位置时,硬件模块MM能够接收基地址和位置的大小的附加参数化。
具有单个共享存储器的本实施例使得可以优化存储空间的使用。可选的双端口存储器可允许例如对输入/输出寄存器INRG/OUTRG和系数寄存器PRM进行并行访问。
图5表示上面参照图3描述的硬件模块MM的乘法器-累加器电路MAC的实施例。
图5所示的示例对应于输入数据x[n]乘以系数b[n]的乘积和累加。
参考标号为x[n]的表格表示输入数据x[n]的二进制表示,包括16位b0-b15。
参考标号为b[n]的表格表示系数b[n]的二进制表示,包括16位b0-b15。
乘法x[n]×b[n]给出乘积计算值PRD,包括32位b0-b31。
因此,连续乘积计算值PRD的累加ACC将给出至少32位的二进制数。
然而,由于输入数据值在16位上被编码,因此预期输出数据也在16位上编码。
相应地,乘法器-累加器电路MAC被配置用于截断乘积计算值PRD的8个最低有效位TR_PRD_8,产生24位b8-b31的二进制字。
乘积计算值PRD的累加形成累加计算值SUM。计算值SUM具有26位b0-b25的动态值。
乘法器-累加器电路MAC进一步被配置用于截断累加器计算值SUM的3个最低有效位TR_SUM_3,产生23位b0-b22的二进制字。
在该示例中,为了在16位以上获得输出数据y[n],乘法器和累加器电路MAC被配置用于在处理值的动态值和这些值的精度值之间实施可参数化的折衷。
通过截断n个最高有效位TRMSB_N(有利于精度值而不利于动态值)以及通过A-N个最低有效位TRLSB_A-N(不利于精度值而利于动态值),在累积计算值SUM上作出折衷。其中A为正整数(例如,等于7),以及N是整数,使得0≤N≤A。
在这些截断TRMSB_N、TRLSB_A-N的末尾,获得输出数据y[n]_N。
在图5中,通过N的两个值(N=0和N=7)参数化截断的两个示例,其中A=7通过输出数据y[n]_N(N=0)和y[n]_N(n=7)的两个表示来代表。每个输出数据y[n]_N(N=0)和y[n]_N(N=7)与累积计算值SUM的对应非截断部分对齐表示。
补偿增益值2N(2的N次幂)被应用于输出数据y[n]_N的值。“应用”意味着输出数据y[n]_N被隐式地加权了2N的因子,并且没有以二进制格式写为由该增益产生的值。
因此,在输出数据y[n]_N的后续使用时,在二进制写入中必须考虑到这一未被表示的增益。在输出数据y[n]_N用于与反馈系数a[n]相乘的示例中,然后可以将系数a[n]的值除以2N,用于计算齐次(homogeneous)维度的项,并且最终得到与输入数据具有相同增益2N的输出数据。
由此,硬件模块可以被配置用于接收数字N作为代表由处理产生的值的动态值与这些值的精度值之间的折衷的参数。根据一种可能性,数字A也可以是参数化该折衷的参数之一。
图6表示电子装置APP,诸如车辆的车载计算机,其包括微控制器MC,微控制器MC包括如之前参照图1至图5描述的硬件模块MM。
此外,本发明不限于这些实施例,而是包括所有变型,例如,所描述的处理类型通过示例给出,就像参照图2描述的功能对处理不限于处理的选择。

Claims (21)

1.一种微控制器,能够执行可由至少一个参数来参数化的处理,所述微控制器包括:
处理器;以及
硬件模块,耦合至所述处理器并且被配置为硬件执行所述处理,所述处理器被配置为向所述硬件模块传送所述至少一个参数。
2.根据权利要求1所述的微控制器,其中所述处理包括从由数字滤波器、矩阵计算和快速傅里叶变换组成的组中选择的处理。
3.根据权利要求1所述的微控制器,其中所述硬件模块包括被配置为接收所述处理的输入值的输入寄存器、被配置为提供所述处理的输出值的输出寄存器以及被配置为存储所述至少一个参数的值的参数寄存器。
4.根据权利要求3所述的微控制器,其中所述输入寄存器、所述输出寄存器和所述参数寄存器位于共享寄存器中的相应存储器位置。
5.根据权利要求3所述的微控制器,其中所述输入寄存器、所述输出寄存器和所述参数寄存器被配置为接收和存储用于在未来执行所述处理的一组值。
6.根据权利要求3所述的微控制器,还包括直接存储访问驱动设备,其中所述硬件模块被配置为在所述输入寄存器中生成写入请求或者在所述输出寄存器中生成读取请求,所述写入请求和所述读取请求用于且适于所述直接存储访问驱动设备。
7.根据权利要求1所述的微控制器,其中所述硬件模块包括乘法器和累加器电路以及硬件配置的序列器,所述序列器被配置为驱动所述乘法器和累加器电路,以便执行所述处理。
8.根据权利要求7所述的微控制器,其中所述至少一个参数包括代表由所述处理产生的值的动态值与由所述处理产生的值的精度值之间的折衷的至少一个参数,所述乘法器和累加器电路被配置为在执行所述处理期间实施所述折衷。
9.根据权利要求8所述的微控制器,其中所述乘法器和累加器电路被配置为在包括M位的计算值上截断N个最高有效位和A-N个最低有效位,其中A是正整数以使A<M,并且N是整数以使0≤N≤A,并且对由所述截断产生的值应用补偿增益2N,所述至少一个参数代表数字N。
10.根据权利要求9所述的微控制器,其中所述至少一个参数进一步代表数字A。
11.一种硬件模块,被配置为硬件执行可由至少一个参数来参数化的处理,所述硬件模块包括被配置为从微控制器的处理器接收所述至少一个参数的输入。
12.根据权利要求11所述的硬件模块,其中所述处理包括从由数字滤波器、矩阵计算和快速傅里叶变换组成的组中选择的处理。
13.根据权利要求11所述的硬件模块,还包括乘法器和累加器电路以及硬件配置的序列器,所述序列器被配置为驱动所述乘法器和累加器电路,以便执行所述处理。
14.根据权利要求13所述的硬件模块,其中所述至少一个参数包括代表由所述处理产生的值的动态值与由所述处理产生的值的精度值之间的折衷的参数,所述乘法器和累加器电路被配置为在执行所述处理期间实施所述折衷。
15.根据权利要求14所述的硬件模块,其中所述乘法器和累加器电路被配置为在包括M位的计算值上截断N个最高有效位和A-N个最低有效位,其中A是正整数以使A<M,并且N是整数以使0≤N≤A,并且对由所述截断产生的值应用补偿增益2N,所述至少一个参数代表数字N和数字A。
16.根据权利要求11所述的硬件模块,其中所述微控制器是车辆的车载计算机的一部分。
17.一种硬件模块,被配置为硬件执行可由参数来参数化的处理,所述硬件模块包括:
输入,被配置为从微控制器的处理器接收至少一个参数;
输入寄存器,被配置为接收所述处理的输入值;
输出寄存器,被配置为提供所述处理的输出值;以及
参数寄存器,被配置为存储代表所述参数的信息。
18.根据权利要求17所述的硬件模块,其中所述输入寄存器、所述输出寄存器和所述参数寄存器位于共享寄存器的相应存储器位置。
19.根据权利要求17所述的硬件模块,其中所述输入寄存器、所述输出寄存器和所述参数寄存器被配置为接收和存储用于在未来执行所述处理的一组值。
20.根据权利要求17所述的硬件模块,其中所述硬件模块被配置为在所述输入寄存器中生成写入请求或者在所述输出寄存器中生成读取请求,所述写入请求和所述读取请求用于且适于辅助的直接存储访问驱动设备。
21.根据权利要求17所述的硬件模块,其中所述处理可由多个参数来参数化。
CN201911005802.0A 2018-10-24 2019-10-22 用于执行可配置处理操作的微控制器 Active CN111090248B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1859813 2018-10-24
FR1859813A FR3087907B1 (fr) 2018-10-24 2018-10-24 Microcontroleur destine a executer un traitement parametrable

Publications (2)

Publication Number Publication Date
CN111090248A true CN111090248A (zh) 2020-05-01
CN111090248B CN111090248B (zh) 2023-03-10

Family

ID=65685606

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201921776163.3U Active CN210466088U (zh) 2018-10-24 2019-10-22 微控制器和硬件模块
CN201911005802.0A Active CN111090248B (zh) 2018-10-24 2019-10-22 用于执行可配置处理操作的微控制器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201921776163.3U Active CN210466088U (zh) 2018-10-24 2019-10-22 微控制器和硬件模块

Country Status (3)

Country Link
US (1) US11204739B2 (zh)
CN (2) CN210466088U (zh)
FR (1) FR3087907B1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3087907B1 (fr) * 2018-10-24 2021-08-06 St Microelectronics Grenoble 2 Microcontroleur destine a executer un traitement parametrable

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0174231A1 (en) * 1984-08-02 1986-03-12 Telemecanique Programmable controller ("PC") with co-processing architecture
FR2719926A1 (fr) * 1994-05-10 1995-11-17 Sgs Thomson Microelectronics Circuit électronique et procédé d'utilisation d'un coprocesseur.
US5535406A (en) * 1993-12-29 1996-07-09 Kolchinsky; Alexander Virtual processor module including a reconfigurable programmable matrix
CN1231741A (zh) * 1996-09-23 1999-10-13 Arm有限公司 数字信号处理集成电路体系结构
US6591230B1 (en) * 1999-11-12 2003-07-08 Texas Instruments Incorporated Coprocessor for synthesizing signals based upon quadratic polynomial sinusoids
US20040088519A1 (en) * 2002-10-30 2004-05-06 Stmicroelectronics, Inc. Hyperprocessor
CN101286115A (zh) * 2008-05-13 2008-10-15 北京邮电大学 六自由度机器人运动学cordic算法协处理器
CN102043609A (zh) * 2010-12-14 2011-05-04 东莞市泰斗微电子科技有限公司 一种浮点协处理器及相应的配置、控制方法
CN102446085A (zh) * 2010-10-01 2012-05-09 英特尔移动通信技术德累斯顿有限公司 硬件加速器模块及其设置方法
CN103793195A (zh) * 2012-10-31 2014-05-14 摩比莱耶科技有限公司 算术逻辑单元
CN104065478A (zh) * 2014-06-18 2014-09-24 天津大学 基于格密码体系的多项式模乘协处理器
US20150052332A1 (en) * 2013-08-16 2015-02-19 Analog Devices Technology Microprocessor integrated configuration controller for configurable math hardware accelerators
CN105630735A (zh) * 2015-12-25 2016-06-01 南京大学 一种基于可重构计算阵列的协处理器
US20160306635A1 (en) * 2015-04-17 2016-10-20 Renesas Electronics Corporation Semiconductor integrated circuit
US9639328B2 (en) * 2014-08-06 2017-05-02 Wisconsin Alumni Research Foundation Multiplication circuit providing dynamic truncation
CN107357745A (zh) * 2016-05-09 2017-11-17 飞思卡尔半导体公司 具有算术单元的dma控制器
CN210466088U (zh) * 2018-10-24 2020-05-05 意法半导体(格勒诺布尔2)公司 微控制器和硬件模块

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10186011B2 (en) * 2017-04-28 2019-01-22 Intel Corporation Programmable coarse grained and sparse matrix compute hardware with advanced scheduling
DE112018004189T5 (de) * 2017-08-15 2020-04-30 Technical Manufacturing Corporation Präzisions-Schwingungsisolationssystem mit Boden-Feed-Forward-Unterstützung
CN111985628B (zh) * 2019-05-24 2024-04-30 澜起科技股份有限公司 计算装置及包括所述计算装置的神经网络处理器

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0174231A1 (en) * 1984-08-02 1986-03-12 Telemecanique Programmable controller ("PC") with co-processing architecture
US5535406A (en) * 1993-12-29 1996-07-09 Kolchinsky; Alexander Virtual processor module including a reconfigurable programmable matrix
FR2719926A1 (fr) * 1994-05-10 1995-11-17 Sgs Thomson Microelectronics Circuit électronique et procédé d'utilisation d'un coprocesseur.
CN1231741A (zh) * 1996-09-23 1999-10-13 Arm有限公司 数字信号处理集成电路体系结构
US6591230B1 (en) * 1999-11-12 2003-07-08 Texas Instruments Incorporated Coprocessor for synthesizing signals based upon quadratic polynomial sinusoids
US20040088519A1 (en) * 2002-10-30 2004-05-06 Stmicroelectronics, Inc. Hyperprocessor
CN101286115A (zh) * 2008-05-13 2008-10-15 北京邮电大学 六自由度机器人运动学cordic算法协处理器
CN102446085A (zh) * 2010-10-01 2012-05-09 英特尔移动通信技术德累斯顿有限公司 硬件加速器模块及其设置方法
CN102043609A (zh) * 2010-12-14 2011-05-04 东莞市泰斗微电子科技有限公司 一种浮点协处理器及相应的配置、控制方法
CN103793195A (zh) * 2012-10-31 2014-05-14 摩比莱耶科技有限公司 算术逻辑单元
US20150052332A1 (en) * 2013-08-16 2015-02-19 Analog Devices Technology Microprocessor integrated configuration controller for configurable math hardware accelerators
CN104375972A (zh) * 2013-08-16 2015-02-25 亚德诺半导体集团 用于可配置数学硬件加速器的微处理器集成配置控制器
CN104065478A (zh) * 2014-06-18 2014-09-24 天津大学 基于格密码体系的多项式模乘协处理器
US9639328B2 (en) * 2014-08-06 2017-05-02 Wisconsin Alumni Research Foundation Multiplication circuit providing dynamic truncation
US20160306635A1 (en) * 2015-04-17 2016-10-20 Renesas Electronics Corporation Semiconductor integrated circuit
CN105630735A (zh) * 2015-12-25 2016-06-01 南京大学 一种基于可重构计算阵列的协处理器
CN107357745A (zh) * 2016-05-09 2017-11-17 飞思卡尔半导体公司 具有算术单元的dma控制器
CN210466088U (zh) * 2018-10-24 2020-05-05 意法半导体(格勒诺布尔2)公司 微控制器和硬件模块

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FRONS,F: "Dynamically Reconfigurable CORDIC Coprocessor for Trigonometric Computing", 《ARCS"06,19TH INTERNATIONAL CONFERENCE ON ARCHITECTURE OF COMPUTING SYSTEM》 *
王鹏: "一种动态可重构协处理器参数化***级模型研究", 《微 电 子 学 与 计 算 机》 *

Also Published As

Publication number Publication date
FR3087907A1 (fr) 2020-05-01
US11204739B2 (en) 2021-12-21
US20200133636A1 (en) 2020-04-30
CN111090248B (zh) 2023-03-10
CN210466088U (zh) 2020-05-05
FR3087907B1 (fr) 2021-08-06

Similar Documents

Publication Publication Date Title
EP2541431A1 (en) Data input for systolic array processors
CN103440121B (zh) 一种面向向量处理器的三角矩阵乘法向量化方法
CN102087740B (zh) 用于通用计算的纹理单元
EP1176718B1 (en) Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
CN105808206B (zh) 基于ram实现乘法运算的方法及其***
JPH10187438A (ja) 乗算器の入力に対する遷移を減少させる方法
KR20080053327A (ko) 디지털 필터를 구현하는 집적 회로, 디지털 필터 구현방법, 캐스케이드 디지털 필터 구현 방법 및 컴퓨터판독가능 매체
CN210466088U (zh) 微控制器和硬件模块
EP0285316A2 (en) Programmable multistage digital filter
US20100146024A1 (en) Digital filter, its synthesizing device, synthesizing program and synthesizing program recording medium
CN113568851A (zh) 访问存储器的方法及对应电路
US5400271A (en) Apparatus for and method of calculating sum of products
EP0474246A2 (en) Image signal processor
CN116151321A (zh) 半导体装置
CN104901651A (zh) 一种数字滤波器的实现电路及方法
CN111931937B (zh) 图像处理模型的梯度更新方法、装置及***
Mehendale et al. DA-based circuits for inner-product computation
JP2005353094A (ja) 積和演算器
US6745315B2 (en) Generation of address pattern through employment of one or more parameters to store information at parts of storage that are employable with multiprocessing
JP2005149517A (ja) 積和演算器
CN113258902B (zh) 一种处理器、滤波方法及相关设备
CN117991243B (zh) 一种基于fpga的声纳信号匹配滤波处理方法及其***
US20230361778A1 (en) Devices, systems, and methods for digital filtering
JP2005141764A (ja) 積和演算器
KR910005791B1 (ko) 영상신호 처리용 멀티플라이어리스 fir 디지탈 필터

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