CN104375972A - 用于可配置数学硬件加速器的微处理器集成配置控制器 - Google Patents

用于可配置数学硬件加速器的微处理器集成配置控制器 Download PDF

Info

Publication number
CN104375972A
CN104375972A CN201410403538.7A CN201410403538A CN104375972A CN 104375972 A CN104375972 A CN 104375972A CN 201410403538 A CN201410403538 A CN 201410403538A CN 104375972 A CN104375972 A CN 104375972A
Authority
CN
China
Prior art keywords
data
configuration
mathematics
hardware accelerator
configurable
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
CN201410403538.7A
Other languages
English (en)
Other versions
CN104375972B (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.)
Analog Devices Global ULC
Analog Devices International ULC
Original Assignee
Analog Devices Technology
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 Analog Devices Technology filed Critical Analog Devices Technology
Publication of CN104375972A publication Critical patent/CN104375972A/zh
Application granted granted Critical
Publication of CN104375972B publication Critical patent/CN104375972B/zh
Active 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/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
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7885Runtime interface, e.g. data exchange, runtime control
    • G06F15/7889Reconfigurable logic implemented as a co-processor
    • 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

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)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)

Abstract

本发明涉及微处理器电路,包括软件可编程微处理器核心和数据存储器。数据存储器包括根据多个可配置数学硬件加速器的各自预定数据结构规格结构化的多组配置数据和用于多个可配置数学硬件加速器的各自输入数据组,每个可配置数学硬件加速器被配置将预定信号处理函数应用至输入数据组。配置控制器经由数据存储器总线耦合至数据存储器且耦合至多个可配置数学硬件加速器。配置控制器被配置从数据存储器的预定地址空间获取每个数学硬件加速器的配置数据组,将多组配置数据转译成多个可配置数学硬件加速器的各自的寄存器级配置数据组,将每组寄存器级配置数据传输至对应可配置数学硬件加速器以及写至对应可配置数学硬件加速器的一个或多个配置寄存器。

Description

用于可配置数学硬件加速器的微处理器集成配置控制器
技术领域
本发明涉及一种微处理器电路,所述微处理器电路包括软件可编程微处理器核心和可经由数据存储器总线访问的数据存储器。所述数据存储器包括根据多个可配置数学硬件加速器的各自预定数据结构规格结构化的多组配置数据。所述数据存储器还包括用于所述多个可配置数学硬件加速器的各自输入数据组,其中所述可配置数学硬件加速器中的每个被配置来根据接收的寄存器级配置数据组将预定信号处理函数应用至输入数据组。配置控制器经由数据存储器总线而耦合至所述数据存储器且耦合至所述多个可配置数学硬件加速器。所述配置控制器被配置来通过数据存储器总线从数据存储器的预定地址空间获取每个数学硬件加速器的配置数据组,且根据各自预定数据结构规格将所述多组配置数据转译成所述多个可配置数学硬件加速器的各自的寄存器级配置数据组。所述配置控制器还被配置来将每组寄存器级配置数据传输至对应可配置数学硬件加速器且将每组寄存器级配置数据写至对应可配置数学硬件加速器的一个或多个配置寄存器。
背景技术
本发明涉及一种经由配置控制器和包括所述配置控制器的对应微处理器电路配置集成微处理器电路的多个可配置数学硬件加速器的方法。所述配置控制器可操作为数字信号处理器(DSP)核心或微处理器核心与多个可配置数学硬件加速器之间的接口。后者加速器或计算单元是专用数学硬件计算单元,其被配置来计算涉及算法或数学计算的某些类型的信号处理函数。所述数学计算通常与先进数字信号处理算法的复杂数值计算相关。示范性信号处理函数包括FFT、iFFT、向量*矩阵乘法、FIR/IIR滤波器乘法、对数、平方根等等。现有数学硬件加速器常常通过映射至微处理器电路的主数据存储器中的存储器而与微处理器核心介接或是或者介接至所述微处理器电路的一个或多个I/O端口。对于大量微处理器电路和相关系统而言,由于维持映射的存储器或I/O端口模型的计算开销,用于数学硬件加速器的这些先前技术接口方法并不是令人满意的解决方案。这个计算开销和功率开销通过持续更新(多个)数学硬件加速器的各自配置寄存器的内容而损及DSP或微处理器核心。另一方面,亟为希望经由许多可编程参数和对应配置寄存器而为每个数学硬件加速器提供相对灵活的结构或拓扑,使得可为特定类型的信号处理应用的需求而调整功能。为特定应用调整数学硬件加速器的功能的能力允许在宽广范围应用上使用或再使用数学硬件加速器,使得可服务于基于多元化客户的个别要求。
美国6,256,724 B1公开了一种具有DSP核心和可再配置硬件协处理器的微处理器。可再配置硬件协处理器可适于基于比如乘法器和加法器的一组功能单元计算各种数学函数。DSP核心将可再配置硬件协处理器要使用的数据和系数分别加载至数据存储器和系数存储器中。这种数据加载可直接由DSP核心进行或经由DMA电路的控制而间接进行。数据存储器和系数存储器耦合至由DSP核心和硬件协处理器使用的公共数据总线。DSP核心经由至硬件协处理器的命令存储器的命令而将关于期望信号处理算法的选择的命令发送至硬件协处理器。
Issam MAALEJ等人的ISCAS论文“INTERFACE DESIGNAPPROACH FOR SYSTEM ON CHIP BASED ONCONFIGURATION”。这个论文公开了一种RISC处理器与安装在SOC芯片上的硬件加速器之间的通信接口。硬件加速器可适于DCT、FIR等计算。通信接口从RISC核心读取要由硬件加速器处理的所有数据。所述数据在后者通过由通信接口发出的开始命令而就绪时被写至选定硬件加速器。通信接口在就绪时读取硬件加速器计算的结果且将所述结果写至RISC核心。
美国2005/0027965 A1公开了一种具有CPU、浮点单元(FPU)和字节码加速器(BCA)的微处理器。所述BCA将由JAVA产生的中间字节码转译成微处理器和FPU的固有格式。
发明内容
本发明的第一个方面涉及一种微处理器电路,其包括软件可编程微处理器核心和可经由数据存储器总线访问的数据存储器。数据存储器包括或存储根据多个可配置数学硬件加速器的各自预定数据结构规格加以结构化的多组配置数据。数据存储器还包括多个可配置数学硬件加速器的各自输入数据组,且所述可配置数学硬件加速器中的每个被配置来根据接收的寄存器级配置数据组将预定信号处理函数应用至所述输入数据组。配置控制器经由数据存储器总线耦合至数据存储器且例如通过单独控制总线耦合至多个可配置数学硬件加速器。配置控制器被配置来:
通过数据存储器总线从数据存储器的预定地址空间获取每个数学硬件加速器的配置数据组,
根据各自预定数据结构规格将多组配置数据转译成多个可配置数学硬件加速器的各自寄存器级配置数据组,
将每组寄存器级配置数据传输至对应可配置数学硬件加速器,
将每组寄存器级配置数据写至对应可配置数学硬件加速器的一个或多个配置寄存器。
配置可配置数学硬件加速器的本配置控制器和对应方法论通过持续更新可配置数学硬件加速器的许多配置寄存器的内容而解决先前所述关于损及微处理器核心的计算开销和功率开销的问题。本配置控制器能够从涉及读取可配置数学硬件加速器的往往大为不同的配置数据组且将其转译成以讨论中可配置数学硬件加速器的相关寄存器架构编译的对应寄存器级配置数据组的许多重复运算中卸载微处理器核心。同样地,配置控制器也将所产生寄存器级配置数据组写至可配置数学硬件加速器中的每个的适当配置寄存器,以进一步减少微处理器核心上的计算负担。因此,微处理器核心得以从响应于硬件加速器的配置的变化而定期更新数学硬件加速器的各自配置寄存器的内容中有所缓解。不管微处理器核心的这种卸载如何,多个可配置数学硬件加速器的配置灵活性得到维持,允许针对任何特定应用的性能度量精确调整相关信号处理函数。技术人员应明白,本发明尤其有助于可能包括大量可配置数学硬件加速器(例如2个与10个之间)以加速各种复杂信号处理算法或函数的计算的复杂片上系统(SOC)电路设计的应用。技术人员应理解,术语软件可编程微处理器核心的“微处理器”也包括数字信号处理器(DSP)或具有某些数字信号处理函数增强的微处理器。
配置控制器可物理放置在微处理器电路的可配置数学硬件加速器与数据存储器之间。配置控制器能够理解优选包括预定义高级语言数据结构的预定数据结构规格。高级语言数据结构可包括记录结构,诸如C型“结构”、“数组”或“列表”。本配置控制器的尤其有用实施方案包括指针寄存器,所述指针寄存器被配置来保持指示数据存储器中所述配置数据组的各自预定地址空间的数据指针。微处理器核心将指示相关配置数据组定位在何处的数据指针针对每组配置数据写至配置加速器的这个指针寄存器。在接收所述数据指针之后,配置控制器经由耦合至配置控制器的数据存储器总线从数据存储器获取或读取选定配置数据,诸如各种配置参数。数学硬件加速器中的每个的预定数据结构规格和寄存器架构已优选被硬编码至配置控制器中,使得配置控制器理解这些规格和架构。配置控制器可例如包括多个可配置数学硬件加速器的一个或多个配置寄存器的各自寄存器映射。这种理解使配置控制器能够将每组配置数据转译成可包括可配置数学硬件加速器中每个的一个或多个配置寄存器中每个的寄存器地址和寄存器数据的对应寄存器级配置数据组。配置控制器因此能够以由预定数据结构规格(例如,高级语言记录结构)指定的顺序将寄存器级配置数据复制至数学硬件加速器的适当配置寄存器中。
因此,本配置控制器可视为软件编程器(以高抽象级写入源程序代码)与被配置来执行由所开发程序代码指定的信号处理函数的可配置数学硬件加速器中每个的架构细节之间的接口块。软件编程器只需理解普通类型的高级语言记录结构以编程和利用可配置数学硬件加速器的计算功率。这个特征缓解了软件编程器担心和处理数学硬件加速器的实际配置细节,诸如配置寄存器内容和地址。配置优选地包括数字状态机,所述数字状态机包括被配置来进行以上讨论的函数和运算的时序和组合数字逻辑电路。
本配置控制器或加速器的存在从微处理器系统方面而言产生若干其它优点。计算加载或可编程微处理器核心的循环中的节省是产生的一个重要优点,因为可编程微处理器核心得以从自数据存储器中获取或读取数学硬件加速器的多组配置数据中有所缓解,且后续将这些转译的组中的每个转译并写至数学硬件加速器中每个的适当配置寄存器。
配置控制器还优选被配置来响应于接收先前讨论的数据指针从数据存储器的预定地址空间直接获取且加载每组配置数据而不干预所述软件可编程微处理器核心。这个特征在微处理器电路的功率消耗上产生显著节省,因为配置数据组绕过软件可编程微处理器核心中通常消耗显著功率的内部数据寄存器和内部数据总线等。因为配置控制器可被配置来利用软件可编程微处理器核心的空闲存储器循环来读取和写入相关配置数据,所以软件可编程微处理器核心上的计算负担将在很大程度上忽略不计。
配置控制器优选包括耦合至数学硬件加速器中每个的匹配控制端口的专用控制端口和控制总线以转移寄存器级配置数据组至数学硬件加速器中的每个。
获取或加载各自输入数据组至可配置数学硬件加速器用于信号处理可通过不同机制执行。在本发明的一个实施方案中,可配置数学硬件加速器中的一个或多个被配置来经由数据存储器总线从数据存储器获取所述输入数据组,且将所述输入数据组写至可配置数学硬件加速器的输入数据寄存器空间,诸如寄存器堆或RAM。另外,可配置数学硬件加速器中的一个或多个可被配置来将计算出的输出数据组写至数字存储器的预定地址空间,或输出缓冲器。本实施方案需要相关可配置数学硬件加速器包括存储器总线接口但是允许以低功率消耗从数据存储器迅速获取大输入数据组。这对于通常对这些大输入数据组进行运算的数学硬件加速器(例如可使用具有1024输入样本或更多的输入数据组的FFT或iFFT硬件加速器)是尤其相关的。
根据替代实施方案,配置控制器本身被配置来经由数字存储器总线从数据存储器获取一个或多个数学硬件加速器的输入数据组,且将所述输入数据组写至可配置数学硬件加速器的输入数据寄存器空间。在本实施方案中,配置控制器可包括先前讨论的控制端口和控制总线,使得所述输入数据组通过控制总线被写至可配置数学硬件加速器的输入数据寄存器空间,比如寄存器级配置数据组。因此,允许配置控制器将各自输入数据组加载至可配置数学硬件加速器,而无先前讨论的数据存储器总线。
由多个可配置数学硬件加速器计算的各自信号处理函数可以是涉及计算难计算的算法函数的函数。典型微处理器数据路径和典型DSP数据路径在计算这些难计算算法函数(其包括对数、平方根、除法等等)上通常是缓慢且低效的。其它类型的信号处理函数可简单包括不良好符合典型微处理器或DSP数据路径的能力的数据流或数据运算。在本发明的一个实施方案中,多个可配置数学硬件加速器中的至少一个被配置来计算选自{FFT、逆FFT(iFFT)、向量*矩阵乘法、FIR滤波器、IIR滤波器、对数、平方根}的组的信号处理函数。
本发明的第二方面涉及一种集成半导体晶片或芯片,其包括根据本发明的上述实施方案中的任一个的微处理器电路。集成半导体晶片可以用适当数字半导体工艺制造,诸如0.35μm、0.18μm或0.065μmCMOS。数据存储器可包括熟知的存储器类型,诸如RAM、EEPROM或闪速存储器或这些存储器类型的任何组合。在本发明的一些实施方案中,数据存储器可由多个可配置数学硬件加速器中的至少一些经由先前讨论的数据存储器总线访问,允许这些加速器从数据存储器直接获取各自输入数据组而无需来自配置控制器、微处理器核心或直接存储器访问(DMA)控制器的帮助。
本发明的第三方面涉及一种经由配置控制器配置集成微处理器电路的多个可配置数学硬件加速器的方法,所述方法包括以下步骤:
a)将根据多个可配置数学硬件加速器的各自预定数据结构规格结构化的多组配置数据写至集成微处理器电路的数据存储器的预定地址空间,
b)通过配置控制器从数据存储器的预定地址空间获取第一可配置数学硬件加速器的第一组配置数据,
c)根据对应预定数据结构规格将第一组配置数据转译成第一可配置数学硬件加速器的第一组寄存器级配置数据,
d)通过配置控制器将第一组寄存器级配置数据传输至第一可配置数学硬件加速器,
e)将第一组寄存器级配置数据写至第一可配置数学硬件加速器的一个或多个配置寄存器用于存储在其中,
f)为每个剩余可配置数学硬件加速器的每个剩余配置数据组重复步骤b)至e)。
配置多个可配置数学硬件加速器的方法的一个实施方案包括以下步骤:
g)通过微处理器核心将指示数据存储器中第一组配置数据的预定地址空间的数据指针写至配置控制器的指针寄存器。本实施方案在上文有详细讨论。
配置多个可配置数学硬件加速器的方法可包括以下额外步骤:
h)经由数据存储器总线由可配置数学硬件加速器中的至少一个从数据存储器获取所述输入数据组,
i)将所述输入数据组写至可配置数学硬件加速器的输入数据寄存器空间。
本方法的又一实施方案在执行步骤a)之前包括以下其它步骤:
在外部计算机中编译包括预定数据结构规格的高级语言声明的源代码以产生多组配置数据,且将多组配置数据加载至集成微处理器电路的数据存储器的各自预定地址空间中。技术人员应理解,所述配置数据组可经由适当数据通信接口例如串联数据接口(诸如I2C、SPI等等)由外部计算机写至微处理器核心。微处理器核心被配置来后续经由微处理器电路的数据存储器总线将所接收配置数据组写至数据存储器的预定地址空间。或者,如果数据通信接口耦合至数据存储器总线,那么外部计算机可经由所述数据通信接口将配置数据组直接写至数据存储器的各自预定地址空间。源代码可以各种高级计算机编程语言例如C语言(诸如C++)写入。
为了处理输入数据组且产生对应输出数据,本方法优选包括以下另一步骤:
根据所接收的寄存器级配置数据组由第一可配置数学硬件加速器对第一组输入数据执行预定信号处理函数。如上所述,输出数据可被写至位于数据存储器的预定地址空间的输出缓冲器。微处理器核心由此可根据一个或多个相关应用程序的可执行程序指令访问且利用输出数据。技术人员应明白,单个应用程序可调用一个或多个可配置数学硬件加速器以操作输入数据的特定集合。此外,可配置数学硬件加速器可被配置来由微处理器核心级联操作,使得第一可配置数学硬件加速器的输出数据组形成第二可配置数学硬件加速器的输入数据组等等。因此,可通过以特定顺序激活可配置数学硬件加速器来创建涉及许多不同信号处理函数的复杂数字信号处理算法。
附图说明
将结合附图更详细地描述本发明的优选实施方案,其中:
图1是根据本发明的优选实施方案的微处理器电路的简化示意框图,所述微处理器电路包括耦合至多个可配置数学硬件加速器的配置控制器,
图2是微处理器电路的数据存储器的数据存储器地址空间的数据内容和结构的示意图,
图3是配置控制器的优选实施方案的简化示意框图;且
图4是可配置数学硬件加速器中的一个的内部结构的简化示意框图。
具体实施方式
图1是根据本发明的优选实施方案的微处理器电路100的简化示意框图,其包括软件可编程微处理器核心101和配置控制器106。微处理器电路100可被成型且设计大小用于集成在诸如便携通信终端(诸如平板、智能手机、移动电话等等)的一件电子设备的印刷电路板上。微处理器电路100可被制造在用适当数字半导体工艺制造的单个半导体晶片上,诸如0.35μm、0.18μm或0.065μm CMOS。微处理器核心101经由数据存储器总线130耦合至数据存储器104。数据存储器总线130在本发明的本实施方案中可例如具有32或64位的宽度,但是技术人员应明白,其它实施方案可拥有不同位宽度,诸如8、16和128。数据存储器104可如图示上示意地指示般与微处理器核心101一起集成在公共半导体晶片或衬底上。或者,数据存储器104可安置在微处理器电路100可经由适当外部存储器接口而访问的单独专用存储器芯片上或实施为两者的组合,即,在芯片上和在外部(芯片外)数据存储器两者。数据存储器104可例如包括RAM、EEPROM和闪速存储器或这些存储器类型的任何组合。
软件可编程微处理器核心101或微处理器核心可包括购自ARMHoldings的标准ARM Cortex-M4处理器核心或任何其它软件可编程专有或标准微处理器和/或DSP核心。微处理器电路100包括程序存储器103,其包括各种类型的RAM存储器用于存储各种类型的应用程序。所述应用程序中的每个包括存储在程序存储器103中用于在微处理器核心101上加载和执行的一组可执行程序指令。
微处理器电路100包括三个集成且可配置的数学硬件加速器HA1-3(分别为110、112和114),其各包括被配置来有效计算预定信号处理函数的一个或多个特定数学函数的硬接线数字逻辑。可由可配置数学硬件加速器HA1-3支持的示范性数学函数包括FFT和逆FFT乘法、向量对向量和向量对矩阵乘法、FIR/IIR滤波器乘法、平方根和对数计算等等。数学硬件加速器HA1-3中的每个的可配置属性经由保持一组寄存器级配置数据的一个或多个可写入配置寄存器予以提供。可写入配置寄存器允许将相关信号处理函数的特征调整适于目标应用。因此,第一可配置数学硬件加速器HA1可被配置来进行存储在数据存储器104的特定存储器空间中的音频输入数据或样本的连续块的连续FFT变换。第一可配置数学硬件加速器HA1的可写入配置寄存器可用于指定FFT的特征,比如FFT的大小、音频输入数据的格式(例如整数或浮点)、音频输入数据的字长(例如,8、16或24位)、保持音频输入样本的数据存储器空间的指针地址、存储变换值的数据存储器空间的输出缓冲器的指针地址等等。技术人员应明白,在本发明的其它实施方案中可利用更少或额外的可配置数学硬件加速器。技术人员应同样理解,可由可配置数学硬件加速器计算许多不同类型的数学函数,尤其是将消耗特定类型微处理器核心101的数据路径的大量计算资源的数学函数。
配置控制器106的第一数据端口或接口经由数据存储器总线130而耦合至数据存储器104,使得配置控制器能够访问和读取数据存储器104的数据内容,尤其是以上讨论的配置数据组。配置控制器106还经由专用数据总线或链路135而耦合至三个可配置数学硬件加速器HA1-3,使得由配置控制器106确定的各自的寄存器级配置数据组可被配置控制器106写至可配置数学硬件加速器HA1-3,如下文额外详细阐述。
微处理器电路100的本实施方案包括I2C串联数据通信接口或端口109且其它实施方案可固有地包括额外串联数据接口和/或其它类型的有线或无线数据接口,比如SPI等等。I2C串联数据通信接口优选连接至微处理器核心101,使得可将应用程序指令从外部计算机加载至程序存储器103中。同样地,可如下文进一步详细讨论般经由I2C串联数据通信接口109将各种类型的数据变量和常数(尤其三个可配置数学硬件加速器HA1-3的多组配置数据)从外部计算机加载至数据存储器104。微处理器电路100包括耦合至数据存储器总线130的选用DMA控制器105,允许DMA控制器105在微处理器电路100的数据存储器与其它电路块之间有效移动大连续块的输入和输出数据。
技术人员应理解,微处理器电路100通常将包括诸如时钟电路、功率控制电路、总线控制器、中断控制器之类的若干额外电路块,所述电路块连接至示意图示的外部可访问的中断引脚或垫片IRQ1和IRQ2以及专用数字音频I/O端口,诸如基于I2S或SLIM总线的音频端口。
在操作微处理器电路100之前,先前讨论的三组配置数据被加载至数据存储器104的各自预定地址空间。下文结合图2更详细讨论配置数据组的安置。配置数据组可经由I2C串联数据通信接口109而由外部计算机写至微处理器核心101,且所述微处理器核心101被配置来经由数据存储器总线130而将所接收的配置数据写至数据存储器104的预定地址空间。或者,如果I2C串联数据通信接口109如所图示般耦合至数据存储器总线,那么外部计算机可经由所述I2C串联数据通信接口109而将配置数据直接写至数据存储器104的预定地址空间。通过编译优选以高级语言(诸如例如C++的C语言,包括如下文更详细阐述的某些预定数据结构规格的高级语言声明)写入的源代码文件在外部或主计算机中产生三组配置数据。主计算机上的编译过程的结果是根据由配置控制器106理解的各自预定数据结构规格结构化的三组配置数据。
微处理器核心101知道数据存储器地址空间的地址或位置,其保持第一组配置数据,且通过将指示这个预定地址空间的位置(例如,简单的第一组配置数据的开始地址)的数据指针写至配置控制器106的指针寄存器(未示出)而继续进行。配置控制器106现通过经由数据存储器总线130从数据存储器104的指针指定的地址空间或范围获取第一可配置数学硬件加速器HA1的第一组配置数据而继续进行。配置控制器106优选从数据存储器104获取第一组配置数据而不用调用或激活微处理器核心101,即直接获取第一组配置数据。这种从数据存储器104直接获取配置数据组是有利的,因为直接获取消除了微处理器核心101的典型功率消耗内部寄存器、数据总线、I/O端口等内的数据处理。配置控制器106通过根据预定数据结构规格将第一组配置数据转译成第一可配置数学硬件加速器的第一组寄存器级配置数据而继续进行。以此方式,由配置控制器106产生的第一组寄存器级配置数据符合第一可配置数学硬件加速器HA1的寄存器模型或架构。下文结合配置控制器106的示意图更详细地阐述这种转译过程的细节。
在下个步骤中,配置控制器106经由专用数据总线135将第一组寄存器级配置数据传输至第一可配置数学硬件加速器HA1。配置控制器106也将第一组寄存器级配置数据数据写至第一可配置数学硬件加速器HA1的配置寄存器用于存储在其中。第一可配置数学硬件加速器HA1的配置寄存器可包括各种类型的可写入易失性数据存储器,诸如寄存器堆或RAM单元。技术人员应明白,优选为剩余可配置数学硬件加速器HA2和HA3的剩余配置数据组执行对应过程步骤,使得在被微处理器核心激活之前以各自寄存器级配置数据组适当配置这些加速器。因此,在许多应用中,如果在由微处理器核心上执行的主应用程序执行相关信号处理函数之前每个可配置数学硬件加速器被适当配置,那么可配置数学硬件加速器HA1-3的配置的精确顺序不重要。
一旦可配置数学硬件加速器(例如HA1)被适当配置,那么必须在可将硬件加速器的信号处理函数应用至适当输入数据组之前将这些输入数据加载至加速器中。可利用若干数据加载机制来将输入数据组加载至硬件加速器中。在一个实施方案中,配置控制器106经由其至数据存储器总线130的连接而从数据存储器获取输入数据组且经由专用数据链路135将所获得的输入数据组写至硬件加速器的适当输入数据寄存器空间或输入数据缓冲器。根据替代实施方案,硬件加速器经由其至数据存储器总线130的连接而从数据存储器获取输入数据组且将输入数据组写至硬件加速器的适当寄存器空间。根据又一实施方案,DMA控制器105被配置来从数据存储器获取输入数据组且将输入数据组写至硬件加速器的适当输入数据寄存器空间。在后者实施方案中,微处理器核心可被配置来通过指示保持输入数据组的适当数据存储器地址空间且指示硬件加速器的输入数据寄存器空间或地址空间而初始化DMA控制器105。技术人员应明白为输入数据转移使用DMA控制器105在输入数据包括大块连续数据(诸如上文讨论的音频输入数据块或在音频数据块可包括512个与4096个之间的连续音频信号样本时用于FFT分析的样本)时是尤其合适的。
对输入数据组应用预定信号处理函数通常将产生特定量的输出数据,即,暂时存储在可配置数学硬件加速器(例如HA1)的输出数据寄存器空间的FFT二进制(bin)值、倒频谱系数、经滤波音频样本等等。这些输出数据可被回写至数据存储器104的预定地址空间用于由上文关于输入数据组概述的数据转移机制中的任一个存储。微处理器核心101上执行的应用程序可访问数据存储器中的这些输出数据且根据应用程序的相关程序例程处理这些输出数据。
技术人员应明白,配置控制器106能够从涉及读取可配置数学硬件加速器HA1-3的不同配置数据组且将其转译成对应寄存器级配置数据组的许多重复运算中卸载微处理器核心101。同样地,配置控制器也从将所产生寄存器级配置数据组写至可配置数学硬件加速器的正确配置寄存器而卸载微处理器核心101。处理配置寄存器的架构细节的这些任务代以由配置控制器106处理。以此方式,在将适当数据指针写至可配置数学硬件加速器之后,微处理器核心101简单等待数据存储器104的输出数据缓冲器中由可配置数学硬件加速器执行讨论中信号处理函数而产生的输出数据的可用性。微处理器核心101的数据路径可执行其它运算(包括数学运算),同时等待输出数据。因此,本发明可在微处理器核心和可配置数学硬件加速器的数据路径的运算中采用并行性。
图2是微处理器电路100的数据存储器104的数据存储器地址空间的数据内容和结构的示意图。虚线框201包括确定可配置数学硬件加速器HA1的先前讨论第一配置数据组的内容和结构的示范性预定数据结构声明或规格。技术人员应明白,示范性数据结构声明201类似于典型C型数据结构声明。但是,其它高级编程语言可根据选择用于写入微处理器电路100的先前讨论的应用程序的特定类型的编程语言而代以用于数据结构声明201。对应数据结构声明或规格203、205分别指示用于可配置数学硬件加速器HA2-3的先前讨论的第二组和第三组配置数据。
如上所述,第一可配置数学硬件加速器HA1优选包括专用硬件实施FFT加速器,其中FFT算法的某些细节可经由第一组配置数据编程或配置。技术人员应理解,第一可配置数学硬件加速器HA1的所描述的配置数据类型只是示范性的且其它实施方案可使用更少、额外或不同类型的配置数据。数据存储器的第一地址空间211保持若干不同配置常数或变量:Int16大小;Int8精度;Int32 iBuf;Int32sBuf;Int32 oBuf;Int8指令计数和Int32指令。这些配置常数或变量配置第一可配置数学硬件加速器HA1的FFT处理函数。变量Int16是具有限定FFT函数的大小的16位字长的正整数,即,每FFT要处理的输入数据样本的数量。变量Int8精度是具有限定FFT函数的精度的8位字长的正整数。变量Int32 iBuf是指示FFT函数的输入数据组或音频输入样本的数据存储器中的开始地址的32位地址或指针。变量Int32 sBuf是指示数据存储器中可由FFT函数使用用于暂时存储中间FFT结果的暂存存储器空间的开始地址的32位地址。变量Int32oBuf是保持FFT函数的输出数据组的输出数据缓冲器的数据存储器104中的32位开始地址。变量Int8实复数指示由Int32 iBuf指示的数据存储器地址空间中保持的输入数据是实数(诸如音频信号样本)还是复数,使得FFT运算的配置可对此进行说明。最后,变量Int32窗口是指示要应用至输入数据组的窗口的窗口系数的数据存储器中的开始地址的32位地址或指针。因此,编程器可通过将适当窗口系数加载至由图例FFT窗口示意指示、因此分配在数据存储器104的第一地址空间211中的数据存储器空间中而选择优选类型的窗口函数,例如自定义或专有窗口函数。技术人员应理解,数据存储器104保持对应第二地址空间213和第三地址空间215,每个保持或存储如标签配置2数据和配置3数据示意指示与剩余数据结构声明203、205相关的若干不同配置常数或变量。
数据存储器104还包括保持第一可配置数学硬件加速器HA1的先前讨论的第一组输入数据的第四存储器/地址空间219,以及分别保持第二和第三可配置数学硬件加速器HA2-3的第二组和第三组输入数据的额外存储器空间。最后,数据存储器104包括第五存储器/地址空间221,其分别保持可配置数学硬件加速器HA1-3的先前讨论的各自输出数据组。
图3是配置控制器106的优选实施方案的简化示意框图。如上所述,配置控制器106被配置来根据预定数据结构规格将第一组配置数据转译或转换成第一可配置数学硬件加速器110的对应寄存器级配置数据组。以此方式,由配置控制器106产生的第一组寄存器级配置数据符合第一可配置数学硬件加速器HA1的寄存器模型或架构。这些运算是在配置控制器106的控制器状态机307的控制下执行。控制器状态机307优选通过时序和组合数字逻辑电路的适当配置的集合来设计。
如上所述,微处理器核心101经由配置控制器106的单独且专用的控制接口131将指示保持在数据存储器中的第一组配置数据的开始地址的数据指针写至优选位于控制器状态机307中的指针寄存器(未示出)。这个专用控制接口可例如包括业界标准类型的先进微处理器总线架构受控器305(AMBA受控器)或任何其它适当数据通信接口以进行芯片上数据通信。控制器状态机307现在通过经由先前描述的数据存储器总线130从数据存储器104的指针指定地址空间获取第一可配置数学硬件加速器HA1的第一组配置数据而继续进行。这个数据存储器总线130也可包括由存储器总线主控器301控制的AMBA总线。控制器状态机307继续访问且从第一配置结构模型电路309获取第一可配置数学硬件加速器HA1的N个配置寄存器的架构细节,N为正整数。这些配置寄存器示意图示在图4上且技术人员应明白,个别寄存器的数量、其大小或位宽和寻址可根据其相关可配置数学硬件加速器的特性而显著变化。第一配置结构模型电路309模拟图2先前讨论的示范性数据结构声明201的内容且从而通知控制器状态机307关于相关配置寄存器细节,诸如寄存器地址、大小、数据的左/右对齐等等。基于这些配置寄存器细节,控制器状态机307能够将配置数据组转译成符合N个配置寄存器的架构的对应寄存器级配置数据组。
由控制器状态机307为第二和第三可配置数学硬件加速器HA2、HA3产生各自寄存器级配置数据以类似方式继续进行,但是现在参考第二和第三配置结构模型电路311、313。
寄存器级配置数据组经由专用数据总线135、经由控制总线处理程序303被写至第一可配置数学硬件加速器HA1的相关寄存器,其尤其允许诸如HA1-HA3之类的多个可配置数学硬件加速器耦合至公共数据总线或控制总线。控制总线处理程序303也可被配置来将控制器状态机307介接至由可配置数学硬件加速器HA1-HA3利用的不同类型的数据总线。这在可配置数学硬件加速器HA1-HA3中的一个或多个再使用预先存在的电路设计且因此以不同类型的数据总线创建时是尤其有利的。这些预先存在的可配置数学硬件加速器中的一些可例如包括不同类型的专有数据总线,而另一预先存在的数学硬件加速器可包括AMBA总线。控制总线处理程序303将可配置数学硬件加速器中的每个的配置数据组转译成适当数据总线格式。
图4是第一可配置数学硬件加速器110的内部结构的简化示意框图。可配置数学硬件加速器110包括先前讨论的多个可单独寻址的配置寄存器1-N。配置控制器106可通过选择适当寄存器地址经由专用数据总线135将适当寄存器级配置数据写至这些配置寄存器中的每个。多个配置寄存器可包括各种类型的可写易失性或非易失性存储器,诸如寄存器堆、RAM单元、EEPROM和闪速存储器等等。可根据各种系统和集成需求以不同方式组织多个配置寄存器。在一个实施方案中,多个配置寄存器在连续地址下组织且可具有相同大小,例如16位或32位,使得涉及写入寄存器级数据的计算工作量被最小化。然而,在其它实施方案中,多个配置寄存器可位于非连续地址且可具有不同大小和格式。
第一可配置数学硬件加速器110也包括根据加载至多个配置寄存器中的寄存器级数据以高效方式计算指定音频输入样本或数据的FFT的专用或硬件实施FFT计算引擎/加速器/协处理器303。第一可配置数学硬件加速器110额外包括将FFT加速器303连接至数据存储器总线130的接口的数据通信端口,允许FFT加速器303加载要变换的适当输入数据组。FFT加速器303能够从现在被加载至如由第一配置结构模型电路309指定的第一可配置数学硬件加速器110的特定32位配置寄存器中的先前讨论的变量Int32 iBuf数据指针确定正确数据存储器地址空间。

Claims (14)

1.一种微处理器电路,其包括:
软件可编程微处理器核心,
数据存储器,其可经由数据存储器总线访问,
包括多组配置数据的所述数据存储器根据多个可配置数学硬件加速器的各自预定数据结构规格加以结构化,
所述数据存储器还包括所述多个可配置数学硬件加速器的各自输入数据组,
所述可配置数学硬件加速器中的每个被配置来根据所述寄存器级配置数据的所接收组将预定信号处理函数应用至所述输入数据组,
配置控制器,其经由所述数据存储器总线耦合至所述数据存储器且耦合至所述多个可配置数学硬件加速器,
所述配置控制器被配置来:
通过所述数据存储器总线从所述数据存储器的预定地址空间获取每个数学硬件加速器的所述配置数据组,
根据所述各自预定数据结构规格将所述多组配置数据转译成所述多个可配置数学硬件加速器的各自寄存器级配置数据组,
将每组寄存器级配置数据传输至对应可配置数学硬件加速器,
将每组所述寄存器级配置数据写至所述对应可配置数学硬件加速器的一个或多个配置寄存器。
2.根据权利要求1所述的微处理器电路,其中所述配置控制器包括指针寄存器,所述指针寄存器被配置来保持指示所述数据存储器中所述配置数据组的所述各自预定地址空间的数据指针。
3.根据权利要求2所述的微处理器电路,其中所述配置控制器被配置来响应于接收所述数据指针而从所述数据存储器的所述预定地址空间直接获取且加载每组配置数据而不干预所述软件可编程微处理器核心。
4.根据权利要求1或2所述的微处理器电路,其中所述可配置数学硬件加速器中的至少一个被配置来:
经由所述数据存储器总线从所述数据存储器获取所述输入数据组,
将所述输入数据组写至所述可配置数学硬件加速器的输入数据寄存器空间。
5.根据权利要求1或2所述的微处理器电路,其中所述配置控制器被配置来:
经由所述数据存储器总线从所述数据存储器获取所述输入数据组,
将所述输入数据组写至所述可配置数学硬件加速器的输入数据寄存器空间。
6.根据权利要求1或2所述的微处理器电路,其中所述配置控制器包括所述多个可配置数学硬件加速器的所述一个或多个配置寄存器的各自寄存器映射。
7.根据权利要求1或2所述的微处理器电路,其中所述配置控制器包括数字状态机,所述数字状态机包括时序且组合的数字逻辑电路。
8.根据权利要求1或2所述的微处理器电路,其中所述多个可配置数学硬件加速器中的至少一个被配置来计算选自{FFT、iFFT、向量*矩阵乘法、FIR滤波器、IIR滤波器、对数、平方根}的组的信号处理函数。
9.一种包括根据权利要求1的微处理器电路的集成半导体晶片。
10.一种经由配置控制器配置集成微处理器电路的多个可配置数学硬件加速器的方法,所述方法包括以下步骤:
a)将根据多个可配置数学硬件加速器的各自预定数据结构规格结构化的多组配置数据写至所述集成微处理器电路的数据存储器的预定地址空间,
b)通过所述配置控制器从所述数据存储器的所述预定地址空间获取第一可配置数学硬件加速器的第一组配置数据,
c)根据对应预定数据结构规格将所述第一组配置数据转译成所述第一可配置数学硬件加速器的第一组寄存器级配置数据,
d)通过所述配置控制器将所述第一组寄存器级配置数据传输至所述第一可配置数学硬件加速器,
e)将所述第一组寄存器级配置数据写至所述第一可配置数学硬件加速器的一个或多个配置寄存器用于存储在其中,
f)为每个剩余可配置数学硬件加速器的每个剩余配置数据组重复步骤b)至e)。
11.根据权利要求10所述的配置多个可配置数学硬件加速器的方法,所述方法包括以下步骤:
g)通过微处理器核心将指示所述数据存储器中所述第一组配置数据的所述预定地址空间的数据指针写至所述配置控制器的指针寄存器。
12.根据权利要求11所述的配置多个可配置数学硬件加速器的方法,所述方法包括以下步骤:
h)经由所述数据存储器总线由所述可配置数学硬件加速器中的至少一个从所述数据存储器获取所述输入数据组,
i)将所述输入数据组写至所述可配置数学硬件加速器的输入数据寄存器空间。
13.根据权利要求10所述的配置多个可配置数学硬件加速器的方法,所述方法在执行步骤a)之前还包括以下步骤:
在外部计算机中编译包括所述预定数据结构规格的高级语言声明的源代码以产生所述多组配置数据,
将所述多组配置数据加载至所述集成微处理器电路的所述数据存储器的所述各自预定地址空间中。
14.根据权利要求10所述的配置多个可配置数学硬件加速器的方法,所述方法包括以下步骤:
根据所述接收的寄存器级配置数据组由所述第一可配置数学硬件加速器对第一组输入数据执行预定信号处理函数。
CN201410403538.7A 2013-08-16 2014-08-15 用于可配置数学硬件加速器的微处理器集成配置控制器 Active CN104375972B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/968,844 2013-08-16
US13/968,844 US9785444B2 (en) 2013-08-16 2013-08-16 Hardware accelerator configuration by a translation of configuration data

Publications (2)

Publication Number Publication Date
CN104375972A true CN104375972A (zh) 2015-02-25
CN104375972B CN104375972B (zh) 2018-04-06

Family

ID=52467689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410403538.7A Active CN104375972B (zh) 2013-08-16 2014-08-15 用于可配置数学硬件加速器的微处理器集成配置控制器

Country Status (2)

Country Link
US (1) US9785444B2 (zh)
CN (1) CN104375972B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778148A (zh) * 2015-04-03 2015-07-15 哈尔滨工业大学 基于fpga的动态可重构嵌入式数据协处理平台及采用该平台实现的数据处理方法
CN105824706A (zh) * 2015-12-31 2016-08-03 华为技术有限公司 一种配置加速器的方法和装置
CN105930598A (zh) * 2016-04-27 2016-09-07 南京大学 一种基于控制器流水架构的层次化信息处理方法及电路
US9785444B2 (en) 2013-08-16 2017-10-10 Analog Devices Global Hardware accelerator configuration by a translation of configuration data
CN108351863A (zh) * 2015-11-30 2018-07-31 英特尔公司 用于可编程结构层级结构和高速缓存的指令和逻辑
CN108572812A (zh) * 2017-03-14 2018-09-25 三星电子株式会社 存储器加载和算术加载单元(alu)融合
CN111090612A (zh) * 2018-10-24 2020-05-01 意法半导体(格勒诺布尔2)公司 有能力以加速方式执行可配置处理的微控制器
CN111090248A (zh) * 2018-10-24 2020-05-01 意法半导体(格勒诺布尔2)公司 用于执行可配置处理操作的微控制器
CN111338769A (zh) * 2019-12-31 2020-06-26 深圳云天励飞技术有限公司 一种数据处理方法、装置及计算机可读存储介质
CN112543925A (zh) * 2018-07-26 2021-03-23 赛灵思公司 用于使用专用低延迟链路的多个硬件加速器的统一地址空间
WO2022063269A1 (en) * 2020-09-25 2022-03-31 Huawei Technologies Co.,Ltd. Method and apparatus for configurable hardware accelerator

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483291B1 (en) * 2015-01-29 2016-11-01 Altera Corporation Hierarchical accelerator registry for optimal performance predictability in network function virtualization
WO2016184525A1 (en) * 2015-05-21 2016-11-24 Projoule Gmbh Apparatus and method for configuring a microcontroller system
JP6515771B2 (ja) * 2015-10-07 2019-05-22 富士通コネクテッドテクノロジーズ株式会社 並列処理装置及び並列処理方法
US10031760B1 (en) * 2016-05-20 2018-07-24 Xilinx, Inc. Boot and configuration management for accelerators
US11086967B2 (en) * 2017-03-01 2021-08-10 Texas Instruments Incorporated Implementing fundamental computational primitives using a matrix multiplication accelerator (MMA)
CN108446096B (zh) 2018-03-21 2021-01-29 杭州中天微系统有限公司 数据计算系统
GB2577890B (en) * 2018-10-08 2021-03-10 Advanced Risc Mach Ltd Data processing with swizzle operation
US10713196B1 (en) * 2018-12-20 2020-07-14 Intel Corporation Flexible and scalable accelerator architecture
CN112163187B (zh) * 2020-11-18 2023-07-07 无锡江南计算技术研究所 一种超长点数高性能fft计算装置
EP4080354A1 (en) * 2021-04-23 2022-10-26 Nxp B.V. Processor and instruction set
EP4394616A1 (en) * 2022-12-29 2024-07-03 STMicroelectronics S.r.l. Programmable hardware accelerator controller

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721945A (en) * 1996-05-06 1998-02-24 Advanced Micro Devices Microprocessor configured to detect a DSP call instruction and to direct a DSP to execute a routine corresponding to the DSP call instruction
US20030028751A1 (en) * 2001-08-03 2003-02-06 Mcdonald Robert G. Modular accelerator framework
US6842844B1 (en) * 2000-02-24 2005-01-11 Agere Systems Inc. Parameter memory for hardware accelerator
US7430652B2 (en) * 2003-03-28 2008-09-30 Tarari, Inc. Devices for performing multiple independent hardware acceleration operations and methods for performing same
US7669037B1 (en) * 2005-03-10 2010-02-23 Xilinx, Inc. Method and apparatus for communication between a processor and hardware blocks in a programmable logic device
CN102171682A (zh) * 2008-08-08 2011-08-31 美国亚德诺半导体公司 用于高效fft和fir硬件加速器的计算模块

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0410778A3 (en) 1989-07-28 1992-12-02 Texas Instruments Incorporated Graphics processor having a floating point coprocessor
EP0945788B1 (en) 1998-02-04 2004-08-04 Texas Instruments Inc. Data processing system with digital signal processor core and co-processor and data processing method
EP0992895A1 (en) 1998-10-06 2000-04-12 Texas Instruments Inc. Hardware accelerator for data processing systems
US6526430B1 (en) 1999-10-04 2003-02-25 Texas Instruments Incorporated Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing)
US7228401B2 (en) 2001-11-13 2007-06-05 Freescale Semiconductor, Inc. Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor
EP1391812A1 (en) 2002-08-20 2004-02-25 Texas Instruments Incorporated Hardware accelerator for performing division
JP4224430B2 (ja) 2003-07-07 2009-02-12 株式会社ルネサステクノロジ 情報処理装置
US20060179273A1 (en) 2005-02-09 2006-08-10 Advanced Micro Devices, Inc. Data processor adapted for efficient digital signal processing and method therefor
US7856546B2 (en) * 2006-07-28 2010-12-21 Drc Computer Corporation Configurable processor module accelerator using a programmable logic device
US7953221B2 (en) * 2006-12-28 2011-05-31 Intel Corporation Method for processing multiple operations
US8275975B2 (en) * 2008-01-25 2012-09-25 Mtekvision Co., Ltd. Sequencer controlled system and method for controlling timing of operations of functional units
US9785444B2 (en) 2013-08-16 2017-10-10 Analog Devices Global Hardware accelerator configuration by a translation of configuration data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721945A (en) * 1996-05-06 1998-02-24 Advanced Micro Devices Microprocessor configured to detect a DSP call instruction and to direct a DSP to execute a routine corresponding to the DSP call instruction
US6842844B1 (en) * 2000-02-24 2005-01-11 Agere Systems Inc. Parameter memory for hardware accelerator
US20030028751A1 (en) * 2001-08-03 2003-02-06 Mcdonald Robert G. Modular accelerator framework
US7430652B2 (en) * 2003-03-28 2008-09-30 Tarari, Inc. Devices for performing multiple independent hardware acceleration operations and methods for performing same
US7669037B1 (en) * 2005-03-10 2010-02-23 Xilinx, Inc. Method and apparatus for communication between a processor and hardware blocks in a programmable logic device
CN102171682A (zh) * 2008-08-08 2011-08-31 美国亚德诺半导体公司 用于高效fft和fir硬件加速器的计算模块

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785444B2 (en) 2013-08-16 2017-10-10 Analog Devices Global Hardware accelerator configuration by a translation of configuration data
CN104778148A (zh) * 2015-04-03 2015-07-15 哈尔滨工业大学 基于fpga的动态可重构嵌入式数据协处理平台及采用该平台实现的数据处理方法
CN108351863B (zh) * 2015-11-30 2022-12-13 英特尔公司 用于可编程结构层级结构和高速缓存的指令和逻辑
CN108351863A (zh) * 2015-11-30 2018-07-31 英特尔公司 用于可编程结构层级结构和高速缓存的指令和逻辑
CN105824706B (zh) * 2015-12-31 2020-11-06 华为技术有限公司 一种配置加速器的方法和装置
WO2017114361A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 一种配置加速器的方法和装置
CN105824706A (zh) * 2015-12-31 2016-08-03 华为技术有限公司 一种配置加速器的方法和装置
US10698699B2 (en) 2015-12-31 2020-06-30 Huawei Technologies., Ltd. Method and apparatus for configuring accelerator
CN105930598B (zh) * 2016-04-27 2019-05-03 南京大学 一种基于控制器流水架构的层次化信息处理方法及电路
CN105930598A (zh) * 2016-04-27 2016-09-07 南京大学 一种基于控制器流水架构的层次化信息处理方法及电路
CN108572812A (zh) * 2017-03-14 2018-09-25 三星电子株式会社 存储器加载和算术加载单元(alu)融合
CN108572812B (zh) * 2017-03-14 2023-05-16 三星电子株式会社 存储器加载和算术加载单元(alu)融合
CN112543925A (zh) * 2018-07-26 2021-03-23 赛灵思公司 用于使用专用低延迟链路的多个硬件加速器的统一地址空间
CN111090612A (zh) * 2018-10-24 2020-05-01 意法半导体(格勒诺布尔2)公司 有能力以加速方式执行可配置处理的微控制器
CN111090248B (zh) * 2018-10-24 2023-03-10 意法半导体(格勒诺布尔2)公司 用于执行可配置处理操作的微控制器
CN111090248A (zh) * 2018-10-24 2020-05-01 意法半导体(格勒诺布尔2)公司 用于执行可配置处理操作的微控制器
CN111338769A (zh) * 2019-12-31 2020-06-26 深圳云天励飞技术有限公司 一种数据处理方法、装置及计算机可读存储介质
CN111338769B (zh) * 2019-12-31 2023-08-29 深圳云天励飞技术有限公司 一种数据处理方法、装置及计算机可读存储介质
WO2022063269A1 (en) * 2020-09-25 2022-03-31 Huawei Technologies Co.,Ltd. Method and apparatus for configurable hardware accelerator

Also Published As

Publication number Publication date
CN104375972B (zh) 2018-04-06
US9785444B2 (en) 2017-10-10
US20150052332A1 (en) 2015-02-19

Similar Documents

Publication Publication Date Title
CN104375972A (zh) 用于可配置数学硬件加速器的微处理器集成配置控制器
US20210349720A1 (en) Systems, methods, and apparatuses for tile matrix multiplication and accumulation
US10719318B2 (en) Processor
US6944747B2 (en) Apparatus and method for matrix data processing
CN117349584A (zh) 实行16位浮点矩阵点积指令的系统和方法
TWI476597B (zh) 資料處理裝置及半導體積體電路裝置
CN114625423A (zh) 用于执行将矩阵变换为行交错格式的指令的系统和方法
JP2008530689A (ja) 効率的なデジタル信号処理に適用するデータプロセッサとその方法
KR20010043826A (ko) 마이크로 컨트롤러 명령어 집합
EP3451153B1 (en) Apparatus and method for executing transcendental function operation of vectors
CN112035397A (zh) 包括fpga的电子系统及其操作方法
CN113885942A (zh) 用于将片寄存器对归零的系统和方法
CN116860334A (zh) 用于计算两个区块操作数中的半字节的数量积的系统和方法
JPH01119828A (ja) マイクロプロセッサ
US6986028B2 (en) Repeat block with zero cycle overhead nesting
KR920010335B1 (ko) 마이크로프로세서 및 그것을 사용한 정보처리 장치.
JP2004086837A (ja) データ処理装置
CN105988773B (zh) 硬件接口组件和用于硬件接口组件的方法
CN115328547A (zh) 一种数据处理方法、电子设备及存储介质
US20050021929A1 (en) Micro controller for processing compressed codes
CN116097212A (zh) 用于16比特浮点矩阵点积指令的装置、方法和系统
CN113849770A (zh) 矩阵数据按行分散和收集
JP2021022370A (ja) コンピューティングデバイスによって実行される方法、装置、機器及びコンピュータ読み取り可能な記憶媒体
CN112149050A (zh) 用于增强的矩阵乘法器架构的装置、方法和系统
Halverson Jr et al. FPGAs for expression level parallel processing

Legal Events

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

Address after: Limerick

Patentee after: Analog Devices Global Unlimited Co.

Address before: Limerick

Patentee before: Analog Devices Global

CP01 Change in the name or title of a patent holder
CP02 Change in the address of a patent holder

Address after: Limerick

Patentee after: Analog Devices Global

Address before: Bermuda (UK) Hamilton

Patentee before: Analog Devices Global

CP02 Change in the address of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20210629

Address after: Limerick

Patentee after: ANALOG DEVICES INTERNATIONAL UNLIMITED Co.

Address before: Limerick

Patentee before: Analog Devices Global Unlimited Co.

TR01 Transfer of patent right