CN1908927A - 可重配置的集成电路器件 - Google Patents

可重配置的集成电路器件 Download PDF

Info

Publication number
CN1908927A
CN1908927A CNA2006100083495A CN200610008349A CN1908927A CN 1908927 A CN1908927 A CN 1908927A CN A2006100083495 A CNA2006100083495 A CN A2006100083495A CN 200610008349 A CN200610008349 A CN 200610008349A CN 1908927 A CN1908927 A CN 1908927A
Authority
CN
China
Prior art keywords
memory
processor element
data
data transmission
trooping
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
CNA2006100083495A
Other languages
English (en)
Other versions
CN100414535C (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.)
Cypress Semiconductor Corp
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1908927A publication Critical patent/CN1908927A/zh
Application granted granted Critical
Publication of CN100414535C publication Critical patent/CN100414535C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

本发明提供了一种可重配置的集成电路器件,其基于配置数据被动态构建为任意运算状态,该器件包括:多个群集,所述群集包括运算处理器元件、存储器处理器元件、以及用于在任意状态下连接所述元件的处理器元件间开关组;群集间开关组,用于在任意状态下构建群集之间的数据路径;以及外部存储器总线,用于执行存储器处理器元件和外部存储器之间的数据传输。此外还提供了直接存储器访问控制部件,其响应于从所述多个群集的存储器处理器元件而来的访问请求,通过直接存储器访问来执行存储器处理器元件和外部存储器之间的数据传输。

Description

可重配置的集成电路器件
技术领域
本发明涉及可重配置的集成电路器件,更具体地说,涉及被安装在可重配置集成电路器件中的内部存储器的新颖配置,用于执行与外部存储器之间的数据传输。
背景技术
可重配置集成电路器件包括多个处理器元件和用于互连这些处理器元件的网络,其中定序器响应于外部或内部事件来向处理器元件和网络提供配置数据,并根据该配置数据,利用处理器元件和网络来配置任意运算状态或运算电路。传统的可编程微处理器顺序地读取存储在存储器中的指令,并顺序地处理它们。由于一个处理器同时执行的指令数是有限的,因此微处理器的处理能力也受到某种限制。
另一方面,在最近提出的可重配置集成电路器件中,具有加法器、乘法器、比较器等功能的ALU和例如延迟电路、计数器等多种处理器元件被预先安装,并且用于连接这些处理器元件的网络也被安装,然后,根据从具有定序器的状态转换控制部件而来的配置数据,所述多个处理器元件和网络被重新配置为所需配置,而且在该运算状态下执行预定的运算。当在一种运算状态下的数据处理完成时,根据其他配置数据来构造另一种运算状态,而且在该状态下执行不同的数据处理。
通过以此方式动态地构造不同运算状态,可提高对大量数据的数据处理能力,并且可提高整体处理效率。这种可重配置集成电路器件例如在日本专利申请早期公开No.2001-312481中公开。
发明内容
在传统的可重配置集成电路器件中,多个处理器元件的阵列被连接在处理器之间的开关包围,状态转换控制部件向处理器元件和开关组提供配置数据,以设置任意运算状态。在处理器元件组中,数据从外部存储器输入,被设置为运算状态的处理器元件组对输入数据执行预定数据处理,如此获得的数据被输出。
在上述集成电路器件中,数据处理所需的数据从外部存储器被成批读取,并被存储在内部存储器中,然后被设置为某种运算状态的处理器元件组和开关组对读取的所有数据执行数据处理。
但是,可重配置的集成电路器件利用动态配置的预定数量的处理器元件执行不同的应用。因此,每个处理器元件需要在所需的定时上向外部存储器写或从外部存储器读取所需数量的数据。在现有技术中,经由使用连接处理器元件的开关组的数据路径来传输数据,并且仅能在预定的定时上与外部存储器进行数据传输。
此外,用于存储从外部存储器读取的数据或要被写到外部存储器的数据的预定数量的内部存储器被安装用于多个处理器元件,但是将由用户配置的运算状态是可变的,因此很难估计需要多少个内部存储器以及内部存储器需要何种输入/输出特性。因此在可重配置集成电路器件中,内部存储器的配置和操作需要很高的灵活度。
鉴于上述原因,本发明的目的在于提供一种可重配置的集成电路器件,其允许内部存储器的高度灵活的配置和操作。
为了达到此目的,本发明的第一方面是一种可重配置的集成电路器件,该器件基于配置数据被动态构建为任意运算状态,该器件包括:多个群集,所述群集包括多个分别具有计算单元的运算处理器元件、与外部存储器之间进行数据传输的具有存储器的存储器处理器元件、以及用于在任意状态下连接运算处理器元件和存储器处理器元件的处理器元件间开关组;群集间开关组,用于在任意状态下构建群集之间的数据路径;以及外部存储器总线,用于执行存储器处理器元件和外部存储器之间的数据传输,其中所述运算处理器元件、存储器处理器元件、处理器元件间开关组和群集间开关组基于配置数据而被动态改变,此外还提供了直接存储器访问控制部件,其响应于从多个群集的存储器处理器元件而来的访问请求,通过直接存储器访问来执行存储器处理器元件和外部存储器之间的数据传输。
根据第一方面,安装在群集中的存储器处理器元件可经由与群集间开关组不同的外部存储器总线,通过直接存储器访问与外部存储器之间进行数据传输,而且可以在适于重配置后的运算状态的定时上,对外部存储器中的数据执行重配置后的运算。
在本发明的第一方面中,优选地,所述群集还包括用于存储所述配置数据的配置数据存储器,以及定序器,所述定序器响应于从所述运算处理器元件和存储器处理器元件而来的结束信号,从所述配置数据存储器输出用于构建下一运算状态的配置数据。
在本发明的第一方面中,优选地,所述可重配置的集成电路器件还包括数据流控制部件,该数据流控制部件被安装为所述多个存储器处理器元件的公用部件,用于接受来自所述多个存储器处理器元件的直接存储器访问请求,并向用于所述多个存储器处理器元件的直接存储器访问控制部件指示同步的直接存储器访问请求。
在第一方面中,优选地,所述可重配置的集成电路器件还包括数据流控制部件,该数据流控制部件被安装为所述多个存储器处理器元件的公用部件,用于接受来自所述多个存储器处理器元件的直接存储器访问请求,并向用于所述多个存储器处理器元件的直接存储器访问控制部件指示同步的直接存储器访问请求。通过该数据流控制部件,来自所述多个存储器处理器元件的访问请求可被同步执行。
在第一方面中,所述存储器处理器元件还包括与连接到所述处理器元件间开关组的内部总线之间的内侧接口,以及与所述外部存储器总线之间的外侧接口,其中在所述存储器处理器元件经由所述外侧接口通过直接存储器访问来访问所述外部存储器的同时,所述运算处理器元件经由内侧接口来访问存储器处理器元件。根据该方面,可无缝地在外部存储器和运算处理器元件之间进行数据传输。
在第一方面中,同样优选地,存储器处理器元件在通过直接存储器访问与外部存储器之间进行数据传输的同时,接受与运算处理器元件之间的数据传输,当通过直接存储器访问的数据传输跟不上与运算处理器元件之间的数据传输时断言(assert)一个停顿(stall)信号,以停止所述多个运算处理器元件的运算,并且在能够跟上时取消所述停顿信号。根据该方面,当不能在所述外部存储器和所述运算处理器元件之间进行无缝数据传输时,运算处理器元件的运算可被停止,以避免误操作。
为了达到该目的,本发明的第二方面是一种可重配置的集成电路器件,该器件基于配置数据被动态配置为预定运算状态,该器件包括:多个群集,所述群集包括具有计算单元的运算处理器元件、与外部存储器之间进行数据传输的具有存储器的存储器处理器元件、以及用于在任意状态下连接运算处理器元件和存储器处理器元件的处理器元件间开关组;群集间开关组,用于在任意状态下构建群集之间的数据路径;以及外部存储器总线,用于执行存储器处理器元件和外部存储器之间的数据传输,其中所述运算处理器元件、存储器处理器元件、处理器元件间开关组和群集间开关组基于配置数据而被动态改变,此外还提供了直接存储器访问控制部件,其响应于从多个群集的存储器处理器元件而来的访问请求,通过直接存储器访问来执行存储器处理器元件和外部存储器之间的数据传输,所述存储器处理器元件包括第一和第二存储器库,其中当所述第一和第二存储器库中的一个正在通过直接存储器访问与外部存储器进行数据传输时,所述第一和第二存储器库中的另一个与运算处理器元件进行数据传输。
根据第二方面,可经由不同于所述群集间开关组的外部存储器总线,在任意定时上执行所述外部存储器和所述运算处理器元件之间的无缝数据传输。
根据本发明,安装在每个群集中的存储器处理器元件使得可独立于群集之间的数据路径,通过对外部存储器的直接存储器访问实现数据传输,从而增加向可重配置集成电路器件中的存储器处理器元件进行数据传输的灵活性,并且可以高效地完成数据传输。
附图说明
图1是描述了构成根据本实施例的可重配置集成电路器件的一部分的一个群集(cluster)的框图;
图2是描述了根据本实施例的PE网络部件的配置示例的示意图;
图3是描述了根据本实施例的根据PE网络部件的配置数据配置的电路的配置示例的示意图;
图4是描述了根据本实施例的根据PE网络部件的配置数据配置的电路的配置示例的示意图;
图5是描述了根据本实施例的可重配置集成电路器件的框图;
图6是描述了根据本实施例的存储器处理器元件的示例的框图;
图7A-7C是描述了根据本实施例的存储器处理器元件中的两个存储器库(memory bank)的切换操作的示意图;
图8A-8C是描述了根据本实施例的存储器处理器元件中的两个存储器库的切换操作的示意图;
图9A-9C是描述了根据本实施例的存储器处理器元件中的两个存储器库的切换操作的示意图;
图10A-10C是描述了根据本实施例的存储器处理器元件中的两个存储器库的切换操作的示意图;
图11A-11C是描述了根据本实施例的存储器处理器元件中的两个存储器库的切换操作的示意图;
图12是描述了根据本实施例的存储器处理器元件的控制部件的框图;
图13是根据本实施例的存储器处理器元件的控制部件的状态转换图;
图14A-14B是描述了访问结束寄存器的标志改变控制的示意图;
图15A-15B是描述了存储器PE中的外侧接口的示意图;以及
图16是描述了存储器PE中的外侧接口的示意图。
具体实施方式
现在参照附图描述本发明的实施例。但是,本发明的技术范围将不局限于这些实施例,而是延伸到权利要求及其等同物的内容。
图1是构成了根据本实施例的可重配置集成电路器件的一部分的一个群集的框图。群集10包括:定序器SEQ,用于执行状态管理;配置数据存储器14,用于存储配置数据CD;以及将根据配置数据CD而被配置为任意电路配置的处理器元件网络部件16。在配置数据存储器14中,配置数据CD是从配置数据加载部件(未示出)加载的。
处理器元件网络部件16包括:多个处理器元件(此后常称为PE)PE0-PE5;PE间开关20,这一组开关是用于连接PE的选择器;以及输入端口部件22和输出端口部件24,它们是与其他群集之间进行数据传输的接口。输入端口部件22和输出端口部件24连接到群集间开关组30。根据图1中的示例,处理器元件PE0-PE3都是运算PE,并且每一个的内部具有ALU、加法器、比较器。处理器元件PE4是另一个PE,例如延迟电路或计数器,而处理器元件PE5是内部具有RAM的存储器PE。
配置数据CD0-CD5从配置数据存储器14被提供给处理器元件PE0-PE5,并且配置数据被存储在这些PE中的寄存器(未示出)中。基于在这些寄存器中设置的配置数据CD0-CD5,每个PE中的电路被动态地配置。同样地,配置数据CD还从配置数据存储器14被提供到PE间开关组20,而且基于该数据,所需的内部开关组结构被配置并且PE之间的数据路径被动态配置。群集间开关组30也基于配置数据CD被动态配置,而且群集之间的数据路径也被配置。
群集中的存储器处理器元件PE5可经由PE间开关组20与PE0-PE4中每一个进行数据传输。因此,存储器处理器元件PE5连接到内部总线I-BUS。存储器处理器元件PE5可经由外部总线E-BUS1和E-BUS2与外部存储器E-MEM直接进行数据传输,该存储器访问是通过直接存储器访问控制部件DMAC的控制,经由与群集间开关组30不同的总线而直接进行的。因此,存储器处理器元件PE5可与外部存储器E-MEM直接进行数据传输,而且可以在与群集间的数据路径操作无关的定时上进行数据传输。
每个结束信号CS0-CS5分别从每个处理器元件PE0-PE5输出,切换信号生成部件12基于这些结束信号输出切换信号SW1。响应于该切换信号SW1,定序器SEQ输出新地址Add和切换信号SW2到配置数据存储器14,响应于此,新配置数据被输出,PE网络部件16中的电路配置被重新配置。
图2是示出了根据本实施例的PE网络部件的配置示例的示意图。运算处理器元件PE0-PE3、存储器处理器元件PE5和其他处理器元件PE4可经由选择器41(PE间开关组20中的一个开关)连接。在该配置中,每个处理器元件PE0-PE5可基于配置数据CD0-CD5被配置为任意一种配置,PE间开关组20的选择器41也可基于配置数据CD被配置为任意一种配置。
如图2右下角所例示的那样,选择器41包括:寄存器42,用于存储配置数据CD;选择器电路43,用于根据寄存器42的数据来选择输入;以及触发器44,其与时钟CK同步地锁存选择器电路43的输出。
图3和图4是根据本实施例描述了根据PE网络部件的配置数据配置的电路配置示例的示意图。在图3和图4中,可动态配置运算电路的运算处理器元件PE0-PE3和PE6被PE间开关组20连接,并且被配置为高速执行预定运算的专用运算电路。处理器元件PE6未在图1和图2中示出。
图3中的示例是当对输入数据a、b、c、d、e和f执行下列算术表达式的专用运算电路被配置时的示例。
(a+b)+(c-d)+(e+f)
根据该配置的示例,处理器元件PE0被配置为A=a+b运算电路,处理器元件PE1被配置为B=c-d运算电路,处理器元件PE2被配置为C=e+f运算电路,处理器元件PE3被配置为D=A+B运算电路,处理器元件PE6被配置为E=D+C运算电路。数据a~f中的每一个从存储器处理器元件和外部群集(未示出)被提供,处理器元件PE6的输出作为运算结果E被输出到存储器处理器元件和外部群集。
处理器元件PE0、PE1和PE2并行执行运算,处理器元件PE3对上面的运算结果执行运算D=A+B,最后处理器元件PE6执行运算E=D+C。以此方式,通过配置专用运算电路实现了并行运算,从而提高了运算处理效率。
每个运算处理器元件都具有内建的ALU、加法器、乘法器和比较器,并且可基于配置数据CD被重配置为任意运算电路。通过如图3所示进行配置,可配置用于执行上述专用运算的专用运算电路。并且通过配置这样的专用运算电路,多个运算可被并行执行,从而可提高运算效率。
图4的示例是当对输入数据a~d执行(a+b)*(c-d)运算的专用运算电路被配置时的示例。处理器元件PE0被配置为A=a+b运算电路,处理器元件PE1被配置为B=c-d运算电路,处理器元件PE3被配置为C=A*B运算电路,运算结果C被输出到存储器处理器元件或外部群集。在此情形下,同样地,处理器元件PE0和PE1并行执行运算,处理器元件PE3对其运算结果A和B执行运算C=A*B。因此,通过配置专用运算电路,上述运算效率可被提高,而且对大量数据的运算效率也可提高。
图5是描述根据本实施例的可重配置集成电路器件的框图。在图5中,安装了多个群集CLS0-CLS3,用于连接这些群集的群集间开关组30被安置在这些群集之间。通过根据配置数据CD来配置该群集间开关组30,可动态地配置一个组合了多个群集的任意运算电路。
在图5的示例中,存储器处理器元件PE-RAM被安装在群集CLS0-CLS3的每一个中。在一个群集中,可根据情况安装多个存储器处理器元件或不安装存储器处理器元件。这些存储器处理器元件经由外部总线E-BUS1连接到直接访问控制部件DMAC,并经由访问控制部件DMAC通过直接存储器访问来执行与外部存储器E-MEM之间的数据传输。关于外部存储器E-MEM,例如DDR-SDRAM(双数据率同步DRAM)被用作高速存储器的示例。此外,安装一个公共数据流控制部件40用于多个存储器处理器元件PE-RAM。每个存储器处理器元件发出访问请求DR0-DR3,响应于该访问请求,数据流控制部件40发送访问命令到控制部件DMAC,从而通过DMA与发送了访问请求的存储器处理器元件执行数据传输。
数据流控制部件40接受来自多个存储器处理器元件的访问请求,并同步地执行多个存储器处理器元件和外部存储器之间的DMA数据传输。换言之,访问控制部件DMAC基于来自数据流控制部件40的访问命令ACMD,通过轮转方式(round-robin)来同步执行与多个存储器处理器元件之间的DMA数据传输。
以此方式,群集中的存储器处理器元件以DMA方式从外部存储器E-MEM传输数据,该数据将被利用群集中的运算处理器元件配置的运算电路处理,并将处理后的数据以DMA方式传输到外部存储器E-MEM。这种DMA方式的传输由外部总线E-BUS1和E-BUS2直接执行,所述外部总线独立于用于连接群集的群集间开关组30。因此,在可重配置集成电路器件中,即使群集间开关组30的连接结构是动态改变的,也可以在每个存储器处理器元件所需的定时上,经由独立于群集间开关组30的路径来在每个存储器处理器元件和外部存储器之间进行数据传输,并且可以为动态配置的群集或者为多个群集实现最优数据传输。
图6是描述了根据本实施例的存储器处理器元件的示例的框图。为了实现在外部存储器和群集中的运算处理器元件之间的无缝数据传输,存储器处理器元件包括第一存储器库BNK0和第二存储器库BNK1,还包括这些存储器库和PE间开关组20之间的内侧接口50,以及这些存储器库和外部总线E-BUS1之间的外侧接口52。存储器库BNK0和BNK1分别包括四个16位宽RAM。内侧接口50连接到与PE间开关组20相连接的内部总线I-BUS,基于配置数据CD被动态配置为不同的输入/输出总线接口结构。外侧接口52连接到外部总线E-BUS1,并且也基于配置数据CD而被动态配置为不同的输入/输出总线接口结构。有关将被配置的输入/输出总线接口结构的细节将在后面描述。
在第一存储器库BNK0和第二存储器库BNK1中,当一个存储器库正在与内部运算处理器元件PE/ALU进行数据传输时,另一个则与外部存储器E-MEM进行数据传输,而且两个存储器库还可以交替执行数据传输。因此,选择器SEL被安装在存储器库BNK0、BNK1与内侧接口50、外侧接口52之间,这些选择器SEL根据配置数据CD被设置。于是,第一和第二存储器库可被交替连接到内侧和外侧接口。接口50和52与每个存储器库BNK0和BNK1之间的信号线都包括16位数据线、地址线和所有其他必要的控制线。
存储器处理器元件内部包括:存储器控制部件54,用于控制存储器库的切换和控制DMA请求;以及运算控制部件56,用于执行对内部运算处理器元件PE/ALU的运算执行控制。存储器控制部件54监视存储器库的状态,并执行对存储器库的切换控制、DMA请求、以及对用于停止运算处理器元件的操作的停顿信号STR的断言和取消,从而实现外部存储器和内部运算处理器元件之间的无缝数据传输。响应于该停顿信号STR,运算控制部件56控制运算处理器元件操作的开始和停止。
图7A-7C和图8A-8C是描述了本实施例的存储器处理器元件中的两个存储器库的切换操作的示意图。在图7A-7C和图8A-8C中,在存储器处理器元件PE/RAM中示出了两个存储器库BNK0、BNK1和访问结束寄存器END-REG,其中访问结束控制器被存储器控制部件54(见图6)用来控制存储器库的切换。存在两个访问结束寄存器END-REG,其中分别存储用于指示第一和第二存储器库的访问状态的标志,例如,当存储器访问结束并且接收到结束信号时,该标志被设置为结束状态“0”,而当存储器库进入访问使能状态(就绪)时,该标志被设置为就绪状态“1”。通过监视这两个寄存器值,存储器控制部件54(见图6)控制两个存储器库BNK0和BNK1的切换。
现在参照图6、图7A-7C和图8A-8C描述初始启动后的操作。在启动时,定序器SEQ在复位被清零后输出对应于初始启动的地址,并且用于初始启动的配置数据从配置数据存储器14(图6)输出,群集中的处理器元件PE和PE间开关组20被配置为初始电路配置。通过该初始启动,初始值被设置在访问结束寄存器END-REG中,如图7A所示。在该示例中,第一存储器库BNK0的寄存器处于就绪状态(标志是“0”),而第二存储器库BNK1的寄存器处于访问结束状态(标志是“1”)。通过该初始启动,选择器SEL被配置以使得第一存储器库BNK0连接到外侧接口52,而第二存储器库BNK1连接到内侧接口50。
在初始启动之后,存储器控制部件54查阅访问结束寄存器,并输出对外部存储器的访问请求DMAR。如上所述,访问请求DMAR经由数据流控制部件40(图5)被发送到直接存储器访问控制部件DMAC,在外部存储器E-MEM和第一存储器库BNK0之间开始了直接数据传输。具体而言,从外部存储器E-MEM读取的数据经由外部总线被直接传输和写入第一存储器库BNK0。如上所述,初始启动时的访问请求DMAR从多个存储器处理器元件输出,因此利用多个直接存储器访问的数据传输被同步执行。
然后,如图7B所示,当从外部存储器E-MEM到第一存储器库BNK0的数据传输结束时,从DMA控制部件DMAC发送访问结束信号END1,响应于此,访问结束寄存器END-REG中对应于第一存储器库的位变为访问结束状态(标志“1”)。以此方式,当两个寄存器都变为访问结束状态(标志“1”)时,存储器控制部件54发出状态结束信号CS,使得定序器SEQ输出下一地址Add并使得配置数据存储器14输出新的配置数据CD,从而切换第一存储器库BNK0和第二存储器库BNK1。换言之,第二存储器库BNK1连接到外侧接口52,第一存储器库BNK0连接到内侧接口50。
然后,如图7C所示,当两个存储器库被切换时,存储器控制部件54清零访问结束寄存器END-REG,从而将两个存储器库都设置为就绪状态(标志“0”)。响应于该状态,存储器控制部件54输出访问请求DMAR到外部存储器,基于该访问请求,DMA控制部件DMAC控制外部存储器E-MEM和第二存储器库BNK1之间的数据传输。在此情形下的访问控制DMAR是在存储器处理器元件需要进行访问的定时上发出的,这与初始启动时是不同的,因此数据传输根据需要而执行。同时,存储器控制部件54输出信号ALU-EN,该信号指示了内部运算处理器元件可被执行,响应于此,运算控制部件56输出运算开始信号ALU-ST到内部运算处理器元件PE/ALU,并开始运算处理器元件的运算处理。于是,内部运算处理器元件PE/ALU访问第一存储器库BNK0,读取数据,并对读取的数据执行运算处理。
然后,如图8A所示,当第二存储器库BNK1和外部存储器E-MEM之间的数据传输结束时,响应于访问结束信号END1,访问结束寄存器END-REG被设置为访问结束状态(标志“1”)。通常,与外部存储器之间的直接存储器访问具有较宽的数据总线宽度,因此是高速数据传输,并且在与内部运算处理器元件间的数据传输之前结束。
如图8B所示,来自内部运算处理器元件PE/ALU的访问也结束了,访问结束寄存器END-REG的另一标志也被访问结束信号END2设置为访问结束状态(标志“1”)。响应于此,存储器控制部件54输出状态结束信号CS,并根据从配置数据存储器14输出的配置数据CD,替换第一存储器库BNK0和第二存储器库BNK1与内侧和外侧接口之间的连接。
如图8C所示,存储器控制部件54再次输出直接存储器访问请求DMAR,开始第一存储器库BNK0和外部存储器E-MEM之间的数据传输,运算控制部件56输出运算开始信号ALU-ST并开始从内部运算处理器元件PE/ALU到第2存储器库BNK1的访问。
如上所述,通过交替切换第一和第二存储器库,存储器控制部件54实现从外部存储器E-MEM到内部运算处理器元件的无缝数据传输。具体而言,与外部存储器之间的直接存储器访问比内部运算处理器元件的访问快,因此运算处理器元件可无缝地读取和处理数据。
图9A-9C是描述了根据本实施例的存储器处理器元件中的两个存储器库的切换操作的示意图。这里将描述在无缝数据传输出现问题时的控制。由于与外部存储器之间的直接数据传输以高速进行,因此通常一个存储器库在另一个存储器库结束与内部运算PE间的数据传输之前就结束了与外部存储器间的数据传输。当与内部运算PE间的数据传输完成时,执行存储器库切换控制,于是可实现在外部存储器和内部运算PE之间的无缝数据传输。但是由于某些原因,有些情形下与内部运算PE之间的数据传输先完成。
如图9A所示,如果从第一存储器库BNK0到内部运算PE的数据传输先结束,则访问结束寄存器END-REG被结束信号END2设置为访问结束状态(标志“1”)。响应于此,存储器控制部件54向运算控制部件56断言一个停顿信号STR,于是运算PE阵列暂时停止其流水线处理。换言之,当不能从存储器PE读取数据时,运算PE阵列的流水线处理无法进行,运算处理开始出现问题。
如图9B所示,当第二存储器库BNK1的数据传输完成时,访问结束寄存器END-REG被结束信号END1设置为访问结束状态。于是,存储器控制部件54输出状态结束信号CS,并根据配置数据CD切换存储器库。然后,如图9C所示,存储器控制部件54输出访问请求DMAR,使得第一存储器库BNK0开始与外部存储器之间的数据传输,取消停顿信号STR,并重新开始内部运算PE阵列的操作,于是,第二存储器库BNK1开始与内部运算PE之间的数据传输。
以此方式,专用运算电路被配置,并且数据运算处理被流水线式处理,于是在存储器控制部件54监视两个存储器库的访问状态并且数据的无缝传输被禁止时,存储器控制部件54断言一个停顿信号STR,以停止对内部运算PE的流水线处理。这样,可以避免流水线处理可能出现的问题。当无缝传输被使能时,存储器控制部件54取消停顿信号STR,并重新开始流水线处理。
图10A-10C和图11A-11C是描述了存储器处理器元件中的两个存储器库的切换操作的示意图。这是在执行经由存储器PE从内部运算PE到外部存储器E-MEM的数据传输时的示例。
在图10A中,运算PE向第一存储器库BNK0写数据。在图10B中,当数据写完成时,两个访问结束寄存器END-REG都变为访问结束状态(标志“1”)。响应于此,存储器控制部件54输出状态结束信号CS,并基于配置数据CD来切换两个存储器库。如图10C所示,第一存储器库BNK0通过访问请求DMAC开始与外部存储器之间的直接数据传输,通过到运算PE的运算开始信号ALU-ST开始从运算PE到第二存储器库BNK1的数据写。
然后,如图11A所示,第一存储器库BNK0的数据传输首先完成,从运算PE的数据写如图11B所示结束。于是,存储器控制部件54切换两个存储器库,交换后的存储器库的数据传输如图11C所示分别开始。
如上所述,从运算PE到外部存储器的数据传输也经由存储器PE被无缝执行。如果无缝数据传输被中途禁止,则停顿信号STR被取消,运算PE阵列停止流水线处理,并且在数据传输被使能时重新开始流水线处理。
图12是描述了根据本实施例的存储器处理器元件的控制部件的框图。图13是其控制部件的状态转换图。在图12的示例中,同一群集中的存储器单元60具有多个存储器处理器元件RAM-PE0~PEn,运算处理器元件的阵列PE/ALU阵列被配置为与存储器处理器元件RAM-PE0~PEn中的每一个相对应。每个存储器PE包括作为存储器控制部件54的库切换控制部件541和DMA传输执行判断部件542,还具有作为运算控制部件56的ALU运算执行判断部件561。多个存储器PE共享作为运算控制部件56的ALU运算控制部件562,DMA传输控制部件543被提供为存储器控制部件54。存储器PE中的第一存储器库BNK0和第二存储器库BNK1被配置为经由外部总线交替地与访问控制部件DMAC进行数据传输,以及经由群集中的PE间开关组PE-SW交替地与运算处理器元件阵列PE/ALU阵列进行数据传输。
下面将参照图13中的状态转换图描述控制流。如上所述,第一存储器处理器元件RAM-PE启动,并基于配置数据CD被配置为所需电路配置(C10)。通过所述启动,访问结束寄存器END-REG被设置为初始值标志,存储器库通过该标志状态变为初始状态(C12)。
在存储器处理器元件RAM-PE启动之后的操作期间,库切换控制部件541根据访问结束寄存器END-REG的状态(都是标志“1”)来控制存储器库的切换(C12),从而切换存储器库(C14)。当存储器库被切换时,运算PE的电路配置可被相应地转换(C12、C14)。
当存储器库被切换时,DMA传输执行判断部件542判断到外部存储器的数据传输是否可能,如果数据传输可被执行,则DMA传输执行判断部件542向安装在存储器PE外部的DMA传输控制部件543输出DMA传输使能信号DMA-EN(C16)。是否可以进行数据传输取决于指示存储器库状态的访问结束寄存器END-REG的状态。相应的DMA传输控制部件543经由数据流控制部件40(未示出,见图5)输出访问请求到访问控制部件DMAC(C18),数据传输被执行(C20)。当与外部存储器的数据传输结束时,DMA传输控制部件543接收数据传输结束信号END1,数据传输结束信号END10被发送到库切换控制部件541。然后,根据访问结束寄存器END-REG的状态执行上述库切换控制(C12)。
另一方面,当存储器库被切换时,ALU运算执行判断部件561基于访问结束寄存器END-REG来监视存储器库的状态,并判断从运算PE的访问是否可能,即,运算PE是否可执行运算处理(C22)。如果执行是可能的,则ALU运算执行判断部件561输出运算执行使能信号ALU-EN。
仅当从所有存储器处理器元件RAM-PE0~PEn都接收到运算执行使能信号ALU-EN时,ALU运算控制部件562输出运算开始信号ALU-ST到群集中的所有运算PE阵列(C24),并使得所有运算PE阵列同步执行运算处理(C26)。换言之,群集中的多个运算PE阵列必须在执行与多个存储器PE的数据传输的同时同步执行流水线处理,因此一个ALU运算控制部件562被安装为多个存储器PE的公用部件,并且仅当从所有存储器PE接收到运算执行使能信号ALU-EN时,ALU运算控制部件562才向多个运算PE阵列输出运算开始信号ALU-ST。ALU运算执行判断部件561监视存储器库的状态,如果数据传输不能无缝地进行,则ALU运算执行判断部件561断言一个停顿信号STR,并停止运算PE阵列的流水线处理。停顿信号STR如上所述。
当运算处理完成时,到运算PE侧的存储器库的访问结束,于是从运算PE接收结束信号END2,ALU运算执行判断部件561取消运算执行使能信号ALU-EN。通过该结束信号END2,访问结束寄存器END-REG的标志状态被改变,存储器库被切换或者运算PE的配置改变被相应地控制和执行(C12、C14)。
在图13中,虚线那的状态转换示出了存储器PE的状态转换,其左侧示出了DMA传输控制部件543和直接存储器访问控制部件DMAC的状态,其右侧示出了ALU运算控制部件562和运算PE阵列的状态。
在图12和图13中,DMA传输控制部件543基于DMA传输执行判断部件542输出的DMA传输使能信号DMA-EN输出DMA请求,但是DMA传输控制部件543可检查直接存储器访问控制部件DMAC接受的信道状态,从而判断DMA传输是否可被执行,即DMA传输执行定时是否合适,如果合适的话则输出DMA请求。这样,当直接存储器访问控制部件DMAC的信道数量超过预定数量而且定时不适于发送DMA请求时,可停止对DMA请求的发送,直到信道数量变为预定数量或少于预定数量,并且DMA传输定时可被延迟。DMA传输使能信号DMA-EN是根据访问结束寄存器END-REG的状态生成的,因此对延迟DMA传输定时的这一控制是很重要的。
在图13中,当运算处理器元件阵列的操作结束时(C26),新的配置数据从定序器输出,运算PE的配置数据被改变(C12)。在必要时,配置数据被切换。
图14A-14B是描述了访问结束寄存器的标志改变控制的示意图。图14A示出了当存储器库BNK0/1连接到内侧(运算PE阵列侧)时的标志改变控制。用于访问的地址Add从运算PE阵列侧被提供给存储器库BNK,相应的访问被执行。该访问地址Add也被提供给存储器控制部件54中的比较器70。当电路被基于配置数据配置时将被访问的结束地址E-Add已被预先设置在比较器70中。每次地址有效信号Valid(该信号指示附接到访问地址的地址是否有效)变为有效,比较器70就比较访问地址Add和结束地址E-Add,并且如果它们匹配则将访问结束寄存器END-REG的标志变为“1”。
作为另一控制方法,响应于来自运算PE阵列的结束信号END2,访问结束寄存器END-REG的标志可被变为结束状态“1”。在任一情形下,当内侧和外侧存储器库被切换时,访问结束寄存器END-REG的标志都被设置为就绪状态“0”。
图14B示出了当存储器库0/1连接到外侧(外部存储器E-MEM侧)时的标志改变控制。在此情形下,访问地址Add被从访问控制部件DMAC提供。响应于来自访问控制部件DMAC的结束信号END1,存储器控制部件54将访问结束寄存器END-REG的标志变为结束状态“1”,当存储器库的内侧和外侧被切换时,存储器控制部件54响应于切换结束信号END-SW将访问结束寄存器END-REG的标志设置为就绪状态“0”。
此外,访问结束寄存器END-REG的结束状态通过重置被清零并且被设置为就绪状态。
图15A-15B和16是描述了存储器PE中的外侧接口的示意图。外侧接口52连接到外部总线E-BUS1,并基于配置数据CD被动态配置为不同的输入/输出总线接口结构。通常,用于直接存储器访问的外部总线E-BUS1具有较宽的总线宽度。例如,在外部存储器E-MEM是32位DDR-SDRAM时,数据在一个时钟周期内被输出两次,因此外部总线E-BUS1的总线宽度是64位。在此情形下,外侧接口52的电路被配置为使得64位数据并行地输入到存储器库BNK中的四个16位RAM,或并行地从存储器库BNK中的四个16位RAM输出。
图15A示出了当外部总线E-BUS1的总线宽度是16位时的外侧接口。如上所述,64位数据被并行地输入到四个16位RAM,或并行地从四个16位RAM输出。
图15B示出了当总线宽度为32位时的情形,接口被配置为使得32位数据被并行地输入两组RAM,或并行地从这两组RAM输出,其中每组由两个16位RAM构成。向每组的两个RAM输入16位数据和从每组的两个RAM输出16位数据的接口是串行的。
图16示出了当总线带宽是16位并且接口被配置为使得16位数据被串行输入四个16位RAM或被串行输出四个16位RAM。图16中接口52的配置与内侧接口的配置相同。换言之,内侧接口被配置为图16所示的配置,因为运算PE阵列侧的内部总线宽度较窄,即16位。因此,内侧接口50被配置为使得16位数据被串行输入四个16位RAM或被串行输出四个16位RAM。
以此方式,对存储器PE中的接口50和52进行配置,以和基于配置数据CD而连接的总线的配置相匹配。
如上所述,根据本实施例,包括多个运算PE和存储器PE的多组群集被布置在可通过动态改变电路配置而被配置的集成电路器件中,群集通过连接状态被动态改变的开关组互连,独立于该群集间开关组,群集中的存储器PE与外部存储器连接。存储器PE可执行与外部存储器的DMA传输。存储器PE例如还是双缓冲器配置,从而可在外部存储器和运算PE之间进行无缝数据传输,如果数据传输出现问题,则运算PE阵列的流水线操作暂时停止。
本发明基于2005年8月2日提交的在先日本专利申请No.2005-224208并要求享受其优先权,该在先申请的全部内容通过引用而包含于此。

Claims (16)

1.一种可重配置的集成电路器件,该器件基于配置数据被动态配置为任意运算状态,该器件包括:
多个群集,所述群集还包括多个分别具有计算单元的运算处理器元件、与外部存储器之间进行数据传输的具有存储器的存储器处理器元件、以及用于在任意状态下连接所述运算处理器元件和所述存储器处理器元件的处理器元件间开关组;
群集间开关组,用于在任意状态下配置所述群集之间的数据路径;以及
外部存储器总线,用于执行所述存储器处理器元件和所述外部存储器之间的数据传输,其中
所述运算处理器元件、所述存储器处理器元件、所述处理器元件间开关组和所述群集间开关组基于所述配置数据而被动态改变,所述器件还包括:
直接存储器访问控制部件,其响应于从所述多个群集的存储器处理器元件而来的访问请求,通过直接存储器访问来执行所述存储器处理器元件和所述外部存储器之间的数据传输。
2.如权利要求1所述的可重配置的集成电路器件,其中所述群集还包括用于存储所述配置数据的配置数据存储器,以及定序器,该定序器响应于从所述运算处理器元件和存储器处理器元件而来的结束信号,从所述配置数据存储器输出用于配置下一运算状态的配置数据。
3.如权利要求1所述的可重配置的集成电路器件,还包括数据流控制部件,该数据流控制部件被安装为所述多个存储器处理器元件的公用部件,用于接受从所述多个存储器处理器元件而来的直接存储器访问请求,并向用于所述多个存储器处理器元件的所述直接存储器访问控制部件指示同步的直接存储器访问请求。
4.如权利要求1所述的可重配置的集成电路器件,还包括数据流控制部件,该数据流控制部件被安装为所述多个存储器处理器元件的公用部件,用于接受从所述多个存储器处理器元件而来的直接存储器访问请求,并向用于所述多个存储器处理器元件的所述直接存储器访问控制部件指示同步的直接存储器访问请求,其中
当直接存储器访问请求是从单个存储器处理器元件接受的时,所述数据流控制部件响应于所述接受操作,向所述直接存储器访问控制部件指示所述直接存储器访问请求。
5.如权利要求1所述的可重配置的集成电路器件,其中
所述存储器处理器元件还包括与连接到所述处理器元件间开关组的内部总线之间的内侧接口、以及与所述外部存储器总线之间的外侧接口,其中
在所述存储器处理器元件经由所述外侧接口通过直接存储器访问正在访问所述外部存储器的同时,所述运算处理器元件经由所述内侧接口访问所述存储器处理器元件。
6.如权利要求5所述的可重配置的集成电路器件,其中
所述存储器处理器元件还包括第一和第二存储器库,其中
所述第一和第二存储器库基于所述配置数据被交替连接到所述内侧和外侧接口。
7.如权利要求6所述的可重配置的集成电路器件,其中
所述存储器处理器元件在所述外部存储器和所述第一或第二库之间的数据传输完成之后,允许所述运算处理器元件和所述第一或第二存储器库之间的数据传输,并且
如果所述外部存储器和所述第一或第二存储器库之间的数据传输未完成,则所述存储器处理器元件断言一个停顿信号,以向所述多个运算处理器元件指示停止操作,并且当所述外部存储器和所述第一或第二存储器库之间的数据传输完成时,取消所述停顿信号。
8.如权利要求3所述的可重配置的集成电路器件,其中所述存储器处理器元件监视所述直接存储器访问控制部件的操作状态,并基于所述操作状态将所述访问请求提供给所述数据流控制部件。
9.如权利要求8所述的可重配置的集成电路器件,其中所述存储器处理器元件基于所述操作状态,可变地控制所述访问请求的定时。
10.如权利要求1所述的可重配置的集成电路器件,其中所述存储器处理器元件在通过直接存储器访问与所述外部存储器之间进行数据传输的同时接受与所述运算处理器元件之间的数据传输,在通过直接存储器访问的数据传输跟不上与所述运算处理器元件之间的数据传输时,断言一个停顿信号以停止所述多个运算处理器元件的运算,并且在能够跟上时取消所述停顿信号。
11.如权利要求5所述的可重配置的集成电路器件,其中所述存储器处理器元件的外侧接口基于所述配置数据被构建为对应于所述多个数据总线宽度的接口状态。
12.如权利要求1所述的可重配置的集成电路器件,其中
所述存储器处理器元件还包括第一和第二存储器库,并且
所述存储器处理器元件基于配置数据将所述第一和第二存储器库中的一个设置为使能在启动时对外部总线侧进行访问的状态,并输出所述访问请求。
13.如权利要求12所述的可重配置的集成电路器件,其中在所述第一和第二存储器库中的一个完成通过直接存储器访问的数据传输时,所述存储器处理器元件向所述运算处理器元件断言一个运算执行使能信号,以促使所述运算处理器元件执行运算。
14.如权利要求13所述的可重配置的集成电路器件,其中在所述第一和第二存储器库都进入数据传输禁止状态时,所述存储器处理器元件断言一个停顿信号,以请求所述运算处理器元件停止操作。
15.如权利要求13所述的可重配置的集成电路器件,其中所述群集还包括多个存储器处理器元件以及所述存储器处理器元件公用的一个运算执行控制部件,该部件响应于从所述多个存储器处理器元件而来的运算执行使能信号的断言,向所述多个运算处理器元件请求同步的运算执行。
16.一种可重配置的集成电路器件,该器件基于配置数据被动态配置为预定的运算状态,该器件包括:
多个群集,所述群集包括具有计算单元的运算处理器元件、与外部存储器之间进行数据传输的具有存储器的存储器处理器元件、以及用于在任意状态下连接所述运算处理器元件和所述存储器处理器元件的处理器元件间开关组;
群集间开关组,用于在任意状态下配置所述群集之间的数据路径;以及
外部存储器总线,用于执行所述存储器处理器元件和所述外部存储器之间的数据传输,其中
所述运算处理器元件、所述存储器处理器元件、所述处理器元件间开关组和所述群集间开关组基于所述配置数据而被动态改变,所述器件还包括:
直接存储器访问控制部件,其响应于从所述多个群集的存储器处理器元件而来的访问请求,通过直接存储器访问来执行所述存储器处理器元件和所述外部存储器之间的数据传输,其中
所述存储器处理器元件包括第一和第二存储器库,其中当所述第一和第二存储器库中的一个正在通过直接存储器访问与所述外部存储器进行数据传输时,所述第一和第二存储器库中的另一个与所述运算处理器元件进行数据传输。
CNB2006100083495A 2005-08-02 2006-02-17 可重配置的集成电路器件 Expired - Fee Related CN100414535C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005224208A JP4536618B2 (ja) 2005-08-02 2005-08-02 リコンフィグ可能な集積回路装置
JP2005224208 2005-08-02

Publications (2)

Publication Number Publication Date
CN1908927A true CN1908927A (zh) 2007-02-07
CN100414535C CN100414535C (zh) 2008-08-27

Family

ID=37700038

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100083495A Expired - Fee Related CN100414535C (zh) 2005-08-02 2006-02-17 可重配置的集成电路器件

Country Status (3)

Country Link
US (1) US20070033369A1 (zh)
JP (1) JP4536618B2 (zh)
CN (1) CN100414535C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620588B (zh) * 2008-07-03 2011-01-19 中国人民解放军信息工程大学 高效能计算机中可重构部件的一种连接与管理方法
CN101727434B (zh) * 2008-10-20 2012-06-13 北京大学深圳研究生院 一种特定应用算法专用集成电路结构
WO2017177928A1 (en) * 2016-04-12 2017-10-19 Huawei Technologies Co., Ltd. Scalable autonomic message-transport with synchronization
US10185606B2 (en) 2016-04-12 2019-01-22 Futurewei Technologies, Inc. Scalable autonomic message-transport with synchronization
US10289598B2 (en) 2016-04-12 2019-05-14 Futurewei Technologies, Inc. Non-blocking network

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006011232A1 (ja) * 2004-07-30 2006-02-02 Fujitsu Limited リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法
US7861060B1 (en) * 2005-12-15 2010-12-28 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior
JP4653697B2 (ja) * 2006-05-29 2011-03-16 株式会社日立製作所 電力管理方法
US8108625B1 (en) 2006-10-30 2012-01-31 Nvidia Corporation Shared memory with parallel access and access conflict resolution mechanism
US7680988B1 (en) * 2006-10-30 2010-03-16 Nvidia Corporation Single interconnect providing read and write access to a memory shared by concurrent threads
US8176265B2 (en) 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US7962702B1 (en) * 2007-07-09 2011-06-14 Rockwell Collins, Inc. Multiple independent levels of security (MILS) certifiable RAM paging system
JP5260068B2 (ja) * 2008-01-31 2013-08-14 古野電気株式会社 探知装置および探知方法
US8103853B2 (en) * 2008-03-05 2012-01-24 The Boeing Company Intelligent fabric system on a chip
JP5431003B2 (ja) * 2009-04-03 2014-03-05 スパンション エルエルシー リコンフィギュラブル回路及びリコンフィギュラブル回路システム
JP2013505520A (ja) * 2009-09-16 2013-02-14 ラムバス・インコーポレーテッド メモリ装置の構成可能メモリバンク
JP5711889B2 (ja) * 2010-01-27 2015-05-07 スパンション エルエルシー リコンフィギュラブル回路および半導体集積回路
KR101076869B1 (ko) * 2010-03-16 2011-10-25 광운대학교 산학협력단 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치
JP5678782B2 (ja) * 2011-04-07 2015-03-04 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
US9130596B2 (en) * 2011-06-29 2015-09-08 Seagate Technology Llc Multiuse data channel
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
JP5927012B2 (ja) * 2012-04-11 2016-05-25 太陽誘電株式会社 再構成可能な半導体装置
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
US10078606B2 (en) * 2015-11-30 2018-09-18 Knuedge, Inc. DMA engine for transferring data in a network-on-a-chip processor
US10203911B2 (en) * 2016-05-18 2019-02-12 Friday Harbor Llc Content addressable memory (CAM) implemented tuple spaces
CN113660439A (zh) * 2016-12-27 2021-11-16 株式会社半导体能源研究所 摄像装置及电子设备
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10558575B2 (en) * 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10891240B2 (en) * 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US11934482B2 (en) 2019-03-11 2024-03-19 Untether Ai Corporation Computational memory
US11256503B2 (en) * 2019-03-11 2022-02-22 Untether Ai Corporation Computational memory
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US11342944B2 (en) 2019-09-23 2022-05-24 Untether Ai Corporation Computational memory with zero disable and error detection
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
US11468002B2 (en) 2020-02-28 2022-10-11 Untether Ai Corporation Computational memory with cooperation among rows of processing elements and memory thereof
US12086080B2 (en) 2020-09-26 2024-09-10 Intel Corporation Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits
CN112967172B (zh) * 2021-02-26 2024-09-17 成都商汤科技有限公司 一种数据处理装置、方法、计算机设备及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS608970A (ja) * 1983-06-29 1985-01-17 Fuji Electric Co Ltd マルチコントロ−ラシステム
JPS60186151A (ja) * 1984-03-05 1985-09-21 Matsushita Electric Ind Co Ltd プロセツサ間デ−タ通信方法
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
US5842034A (en) * 1996-12-20 1998-11-24 Raytheon Company Two dimensional crossbar mesh for multi-processor interconnect
US5978379A (en) * 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
US6366999B1 (en) * 1998-01-28 2002-04-02 Bops, Inc. Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
US6041400A (en) * 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications
JP3674515B2 (ja) * 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ
US7006521B2 (en) * 2000-11-15 2006-02-28 Texas Instruments Inc. External bus arbitration technique for multicore DSP device
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US6809734B2 (en) * 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US7093104B2 (en) * 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7152151B2 (en) * 2002-07-18 2006-12-19 Ge Fanuc Embedded Systems, Inc. Signal processing resource for selective series processing of data in transit on communications paths in multi-processor arrangements
US20020184291A1 (en) * 2001-05-31 2002-12-05 Hogenauer Eugene B. Method and system for scheduling in an adaptable computing engine
US20040022094A1 (en) * 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US7124211B2 (en) * 2002-10-23 2006-10-17 Src Computers, Inc. System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system
US7093079B2 (en) * 2002-12-17 2006-08-15 Intel Corporation Snoop filter bypass
JP4423953B2 (ja) * 2003-07-09 2010-03-03 株式会社日立製作所 半導体集積回路
JP4359490B2 (ja) * 2003-11-28 2009-11-04 アイピーフレックス株式会社 データ伝送方法
US20080162877A1 (en) * 2005-02-24 2008-07-03 Erik Richter Altman Non-Homogeneous Multi-Processor System With Shared Memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620588B (zh) * 2008-07-03 2011-01-19 中国人民解放军信息工程大学 高效能计算机中可重构部件的一种连接与管理方法
CN101727434B (zh) * 2008-10-20 2012-06-13 北京大学深圳研究生院 一种特定应用算法专用集成电路结构
WO2017177928A1 (en) * 2016-04-12 2017-10-19 Huawei Technologies Co., Ltd. Scalable autonomic message-transport with synchronization
US10185606B2 (en) 2016-04-12 2019-01-22 Futurewei Technologies, Inc. Scalable autonomic message-transport with synchronization
US10289598B2 (en) 2016-04-12 2019-05-14 Futurewei Technologies, Inc. Non-blocking network

Also Published As

Publication number Publication date
US20070033369A1 (en) 2007-02-08
CN100414535C (zh) 2008-08-27
JP4536618B2 (ja) 2010-09-01
JP2007041781A (ja) 2007-02-15

Similar Documents

Publication Publication Date Title
CN1908927A (zh) 可重配置的集成电路器件
JP7274500B2 (ja) システムオンチップインターフェースアーキテクチャ
JP7074833B2 (ja) ネットワークオンチップによるデータ処理方法及び装置
TWI719788B (zh) 可重組態資料處理器的虛擬化
JP6856612B2 (ja) 多層相互接続による分散型プロセッサを有する処理システム
US6653859B2 (en) Heterogeneous integrated circuit with reconfigurable logic cores
CN1320453C (zh) 具有自我修复能力的多并行管线处理器
JP2024095699A (ja) データ処理エンジンアレイを有するデバイス
US8686549B2 (en) Reconfigurable elements
EP2237165B1 (en) Multiprocessor system with specific architecture of communication elements and manufacturing method therefor
US8429385B2 (en) Device including a field having function cells and information providing cells controlled by the function cells
WO2019195309A2 (en) Data processing engine arrangement in a device
US8686475B2 (en) Reconfigurable elements
CN1735878A (zh) 数据处理器的状态引擎
US7007111B2 (en) DMA port sharing bandwidth balancing logic
KR102539572B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
US8190856B2 (en) Data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
EP1083487A2 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
KR102539573B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
US11853235B2 (en) Communicating between data processing engines using shared memory
CN101075221A (zh) 管理分离总线上总线代理之间的数据流的方法和系统
JP2008077151A (ja) 共有メモリ装置
Papanikolaou et al. Architectural and physical design optimizations for efficient intra-tile communication
JP2010033336A (ja) 信号処理装置及び信号処理方法
EP2266046B1 (en) A control apparatus for fast inter processing unit data exchange in a processor architecture with processing units of different bandwidth connection to a pipelined ring bus

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
ASS Succession or assignment of patent right

Owner name: FUJITSU MICROELECTRONICS CO., LTD.

Free format text: FORMER OWNER: FUJITSU LIMITED

Effective date: 20081024

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081024

Address after: Tokyo, Japan, Japan

Patentee after: Fujitsu Microelectronics Ltd.

Address before: Kanagawa

Patentee before: Fujitsu Ltd.

C56 Change in the name or address of the patentee

Owner name: FUJITSU SEMICONDUCTORS CO., LTD

Free format text: FORMER NAME: FUJITSU MICROELECTRON CO., LTD.

CP03 Change of name, title or address

Address after: Kanagawa

Patentee after: Fujitsu Semiconductor Co., Ltd.

Address before: Tokyo, Japan, Japan

Patentee before: Fujitsu Microelectronics Ltd.

ASS Succession or assignment of patent right

Owner name: SPANSION LLC N. D. GES D. STAATES

Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR CO., LTD.

Effective date: 20140102

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140102

Address after: American California

Patentee after: Spansion LLC N. D. Ges D. Staates

Address before: Kanagawa

Patentee before: Fujitsu Semiconductor Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160408

Address after: American California

Patentee after: Cypress Semiconductor Corp.

Address before: American California

Patentee before: Spansion LLC N. D. Ges D. Staates

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

Granted publication date: 20080827

Termination date: 20170217

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