CN1842762A - 数据处理装置 - Google Patents

数据处理装置 Download PDF

Info

Publication number
CN1842762A
CN1842762A CNA2004800247865A CN200480024786A CN1842762A CN 1842762 A CN1842762 A CN 1842762A CN A2004800247865 A CNA2004800247865 A CN A2004800247865A CN 200480024786 A CN200480024786 A CN 200480024786A CN 1842762 A CN1842762 A CN 1842762A
Authority
CN
China
Prior art keywords
circuit
mentioned
data processing
zone
processing equipment
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
CNA2004800247865A
Other languages
English (en)
Other versions
CN100580621C (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.)
Tokyo Keiki Inc
Original Assignee
IP Flex Inc
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 IP Flex Inc filed Critical IP Flex Inc
Publication of CN1842762A publication Critical patent/CN1842762A/zh
Application granted granted Critical
Publication of CN100580621C publication Critical patent/CN100580621C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明中使用一种结构代码(20)其具备:用来将作为用于执行应用的电路的至少一部分的对象电路映射到可以动态地进行重构的逻辑电路的一部分的对象电路信息(23);用来将对象电路上连接的接口电路映射到逻辑电路的接口电路信息(24);以及在接口电路中实现的边界条件(26)。本发明的数据处理装置具有:取得结构代码(20)的装载单元;根据结构代码的对象电路信息(23)及接口电路信息(24)、将对象电路和接口电路映射到逻辑电路区域的映射单元;以及按照结构代码的边界条件(26)来控制接口电路的动作控制单元。

Description

数据处理装置
技术领域
本发明涉及具有可重构的逻辑电路区域的数据处理装置。
背景技术
作为能够重构电路的可编程器件,众所周知有被称为FPGA(Field Programmable Gate Array)、PLD(Programmable LogicDevice)、PLA(Programmable Logic Array)的器件。这些可编程器件的基本构成是呈格子状配置被称为逻辑单元格或者逻辑单元的单元,并配置了布线群以包围这些单元,能够根据被叫做上下文信息或者配置信息的信息来变更逻辑单元格的功能或布线的连接。
在日本专利公开特开2000-40745号公报中,作为在FPGA上实现(实装)逻辑电路的不同部分的技术之一,记载有将对逻辑电路赋予特征的初始网表(netlist:连接表,连线表)区分为许多页,在FPGA上装配这些页的一个电路。据此,就可以进行远大于FPGA的物理容量的电路的装配(实装)。
但是,现在搭载于多媒体设备、移动式设备、数字设备等并进行这些设备的许多数据处理的系统LSI,在一个芯片上搭载多个用于实现特定功能的电路单位(在大多情况下,被称为硬件模块、IP(Intellectual Property)或者库),这些硬件模块并行进行处理。从而,若只在FPGA单单分解并装配一个电路,可重构电路的器件的有效性就不会很大延伸。
发明内容
相对于此,在本发明中提供一种技术以执行应用、或者在执行应用之际、对硬件空间动态地进行优化。而且,在本发明中还提供一种数据处理装置、例如LSI,其具备以下结构:不仅可以获得如利用编译器翻译的命令组的集合譬如程序那样的、以往的软件信息,而且可以获得作为硬件信息的执行应用的电路本身的信息,并对其直接进行执行。
在以往的系统LSI所代表的电路器件的技术中,用硬件实现的电路以被称为特定的硬件模块、IP、库为单位,作为被固定的硬件进行搭载,由借助于这些电路所专用化的LSI来处理数据。相对于此,有一种用通用的电路或者结构来执行硬件的电路的技术。例如,一种模拟器,一个一个执行程序的命令,以执行其电路自身如此对作为通用装置的CPU分派任务这样的手法。即使其为了将本来用硬件实现的电路所持有的并行性变成命令单位的执行以用CPU来进行处理,而使用了多个CPU,与实际的硬件的电路相比较,根据进行执行的电路规模也需要普通3位数~5位数以上的执行时间。另外,由于在实时性上肯定不够,所以若要实际地放置复杂的电路就需要庞大的验证时间。为此,不仅不可能取代具有庞大的门数的近年的专用LSI来执行处理,而且对复杂的专用LSI的功能进行验证也日益成为不适宜的状况。
对于实时性的问题,有一种被叫做硬件加速的办法。这就是在最初的阶段,排列多个CPU或DSP使之并行执行,对其一个个分配小规模的电路,作为整体以短时间进行仿真时间的思想。由于FPGA和PLD已被实用化,将仿真对象的电路直接分配给设备的作法成为主流,大规模的集成电路或硬件的仿真,就变得日益能够在实时上以极其接近的时间来执行。
但是,FPGA的内部单元构造为花费某一定的时间来变更硬件电路的实现的结构构造,在CPU或DSP等具有数据总线系的硬件的装配上不太适合。实际上若要进行装配,则在处理性能(动作频率)、门效率·消耗电力任何方面都无法与经过专门设计的LSI进行竞争。进而,根据用于执行应用的电路,在FPGA或者PLD的情况下,若成为装配对象的电路的规模比FPGA或者PLD的集成度还大则原则上装配是不可能的。虽然还考虑对用于执行应用的电路进行分割来装配的作法,但在此情况下,芯片成为多个由于引脚数的限制,性能、成本、消耗电力均进一步变得不利。
进而,在一个FPGA上装配经过分割的电路的情况下,引脚数的限制和经过分割的各电路的边界信息的传播等、对电路进行分割时将发生的问题较多。若要在使用了FPGA的硬件的设计阶段将它们全部解决,则相对于设计及开发专用LSI的以往的技术,使用了FPGA的优点就会丧失。进而,一般而言,FPGA和PLD需要目标的硬件电路的数倍~数十倍的硬件,在芯片成本(chip cost)、目标性能以及消耗电力这三点上均赶不上专用LSI。
另一方面,在专用LSI中也有许多问题。在以往的专用LSI的情况下,若在LSI的设计阶段没有正确的性能目标和功能规定则设计不会收敛。例如,虽然根据应用的执行状况,大多可进行功能和性能的动态折衷,但需要使可实现在设计阶段被认为必须的性能的相应硬件区域和能够保证性能的动作频率确定下来。也就是,即便功能或性能的动态折衷在应用上可能的情况下,也需要在进行了峰值性能要求和单体级别的每个功能的性能保证的基础上,来进行LSI设计。从而,对于功能和性能的要求是决定性的,谋图高性能及多功能的系统LSI,在成本上就成为最差情形的积累,制造成本、芯片面积、消耗电力等变得一直恶化。
进而,具体而言,在自动控制装置、例如机器人那样的应用的情况下,在处理视觉信息和听觉信息时,将其他功能(步行功能、语言处理、嗅觉处理等)大幅削弱为好的情况较多。但是,在以往的系统LSI中,将实现全部功能的所有电路同样地装配于系统LSI,只不过简单地不使用其处理结果或者以备用状态使处理能力降低。
相对于此,如果能够对电路构成动态地进行重构,则通过对由该可重构的逻辑电路所构成的硬件空间动态地进行优化,就能够将硬件资源向不使用或者成为备用状态的功能的分配大幅缩减,并对本来应集中的视觉信息处理或听觉信息处理集中地分配硬件资源。即,根据本发明,由于不需要如以往的专用LSI那样将硬件电路(目标电路)全部进行装配,所以就能够以较少的硬件资源获得最大的执行效率。
本发明中的动态优化技术说的是对由逻辑电路所构成的实际硬件空间的布置动态地进行优化,是不仅包含对实际硬件空间每次进行刷新,而且包含对实际硬件空间的部分布置动态地进行优化的概念。从而,就能够不仅释放硬件资源向现在不使用的功能的分配,而且缩减硬件资源的分配以使对于使用中的功能的硬件资源的分配增加,而不会牺牲备用中的功能的实时应答性。
另外,本发明中的动态优化技术,能够对即便在使用中却要求紧急性的功能增加硬件资源的分配,对不需要紧急性的功能则减少硬件资源的分配、或者暂时释放硬件资源的分配。紧急性是指包含处理速度、优先等级等的概念,是对于数据处理装置的要求的重要内容之一。作为左右硬件资源的分配的、对于数据处理装置的其他要求考虑有进行并行处理的作业(job)的增减、中断的有无等各种各样的因素。本发明中的动态优化技术依照这些对于数据处理装置的要求进行硬件资源的分配、即对实际硬件空间的构成动态地进行优化。
对实际硬件空间动态地进行优化的一个方法是假想数据处理装置遭遇的全部场面,预先决定对其最佳的实际硬件空间的布置,作为上下文信息(或者配置信息)来用意并每次进行装载的方法。由于此方法能够预先解决在实际硬件空间产生的定时闭包(timing closure)等问题,所以在确保数据处理装置的性能这一点上较为理想。但是,假想在所有情况(scenario)下遭遇的场面是不可能的,如果将有限的场面作为对象进行某种程度优化,并在其他场面中得到获得适中的性能这样的通用的解决方案的话,对实际硬件空间动态地进行优化的效果将会削弱。
其他方法的之一是用仅表示逻辑门和它们的连接状态的网表的状态来准备作为实现某功能用的单位所设计的硬件模块(IP或者库),在其功能变得需要时,将该网表的一部分或者全体结合实际硬件空间的空闲空间动态地配置及配线后进行映射的方法。由于此方法能够结合实际硬件空间的瞬间状况灵活地动态地配置电路,所以被认为是能够对硬件空间最动态地进行优化的方法。但是,基于网表进行配置及配线的处理是在静态的LSI的设计及开发阶段也需要庞大时间的处理,需要在进行映射的每个瞬间反复进行该处理。加入瞬间的实际硬件空间的实情及其他要素,基于必要电路的网表瞬间解决配置、配线诸多问题后进行映射实际上是不可能的。即便能够提供可以几乎以时钟单位或者周期单位高速地解决包含定时闭包在内的问题的硬件,另行准备这样的硬件资源也不经济,等待诸如这样的硬件的问世只会使硬件空间的动态优化的实现变得更难。
根据网表的状态,以欲用该网表进行装配的电路一部分的适当范围为单位,解决各自的电路单位内的配置、配线,并将这些电路单位配置于实际硬件空间的空闲空间,缩小成连接这些电路单位的配置、配线问题,由此就有可以将解决进行映射的每个瞬间的配置、配线问题的时间缩短的可能性。但是,进行配置、配线时的实际硬件空间的状况时刻进行变动。从而,依照状况时常在瞬间将配置、配线问题动态地进行解决并不容易,即便可能也将因此而时常耗费硬件资源和电力,依然如故不能解决提供高性能高功能、低芯片成本·低电力消耗的数据处理装置这一课题。
因而,在本发明中,提供一种结构代码,该结构代码具有用于将作为用来执行应用的电路的至少一部分的对象电路映射到逻辑电路区域的一部分的对象电路信息、用于将对象电路上所连接的接口电路映射到逻辑电路区域的接口电路信息以及在接口电路中实现的边界条件。对象电路的最适当的例子是将作为实现用于执行应用的某功能用的单位所设计的硬件模块分割成多个的分割电路。在为了装配硬件模块所要的硬件资源较少的情况下,也可以不进行分割地使之对象电路化,生成与其对应的接口电路信息并装配于逻辑电路区域。
具有可动态地重构电路的逻辑电路区域的数据处理装置中的本发明的控制方法具有:取得结构代码的步骤;根据结构代码的对象电路信息及接口电路信息在逻辑电路区域上映射对象电路和该对象电路所连接的接口电路的步骤;以及基于结构代码的边界条件来控制接口电路的动作步骤。
另外,本发明的数据处理装置具有:可动态地重构电路的逻辑电路区域;取得结构代码的装载单元;根据结构代码的对象电路信息及接口电路信息在逻辑电路区域上映射对象电路和该对象电路上所连接的接口电路的映射单元;依照结构代码的边界条件来控制接口电路的动作控制单元。装载单元在获取结构代码的情况下是获取单元,在从使用了计算机等的通信网络或存储器进行下载的情况下就是下载单元。虽然有时还包含根据所装载的电路信息来重构硬件的映射在内而被称为装载,但在本说明书中将直到取得结构代码为止称为进行装载的步骤。对在装载单元中取得代码的过程能够分配获取、下载、获得、读取等各种各样的命令,还可以利用通信系统来装载结构代码。
这些装载单元、映射单元以及动作控制单元也可以作为硬件模块之一来看待,通过进行分割并使之对象电路化,可以在逻辑电路区域上作为分割电路来装配。从而,在根据应用的执行状况实现装载单元、映射单元以及动作控制单元的功能的一部分即可这样的条件下,能够释放被分配给这些功能的硬件资源,并为了其他硬件模块的实现而分配硬件资源以此提高并行处理能力、或者改善处理速度。
在本发明中,从用于执行包含硬件模块的应用的电路的原始网表,分割某适当的范围,在经过分割的单元内配置、配线问题被解决,生成可映射在逻辑电路区域的一部分的对象电路信息。其次,从形成由对象电路信息所构成的对象电路的、原始网表上的边界的信息生成接口电路信息。进而,将原始网表变换成对象电路的集合,解决这些对象电路之间的配置、配线问题,生成接口电路中的边界条件。从而,对象电路之间的配置、配线问题就作为接口电路中的边界条件在结构代码的生成阶段得以解决。
为此,当在作为实际硬件空间的、可动态地重构电路的逻辑电路区域的空闲空间上配置对象电路时,由装载单元取得恰当的结构代码,由映射单元来映射对象电路,同时在其周围映射接口电路,由执行控制单元基于边界条件来控制接口电路,由此就能够在实际硬件空间动态地配置对象电路,并执行对象电路。从而,仅仅根据实际硬件空间的瞬间状态在逻辑电路区域布置所希望的、或者恰当的对象电路和接口电路,就能够执行对象电路。而且能够防止必须在瞬间解决对象电路之间的配置及配线问题之类的问题的发生于未然。
在本发明中,在作为实际硬件空间的可重构的逻辑电路区域上所映射的一个或多个对象电路在该状态下得以执行。对象电路的边界经由接口电路虚拟地连接到构成该对象电路所属的硬件模块的许多对象电路。为此,对象电路的边界就在连接了许多对象电路的虚拟硬件空间的状态下得以控制。从而,在进行映射之际就能够对作为实际硬件空间的逻辑电路区域的可利用的任一区域均映射对象电路和接口电路。
进而,在与相邻的对象电路的边界处的接口电路信息及边界条件相一致、或者相对应的情况下,就意味着将要进行映射的对象电路和相邻的对象电路是在虚拟硬件空间中邻接的对象电路。为此,就能够映射对象电路以不经过接口电路地将相邻的各对象电路直接连接起来。即,能够结合实际硬件空间的状态自由地改变实际硬件空间上映射的实际的对象电路的集合的大小。既可以将多个对象电路在实际硬件空间上分散进行映射,也可以集中进行映射,能够极其灵活地使用实际硬件空间。
在逻辑电路区域上现在和/或过去、以时间和/或空间方式所分散配置的各对象电路的连接也是容易的。由动作控制单元基于边界条件在将要执行的一方对象电路的接口电路的控制中反映以时间和/或空间方式所分开映射的另一方对象电路的接口电路的状态,由此就能够在实际硬件空间中将以时间或者空间方式分开的各对象电路在虚拟硬件空间中没有难度地进行连接。为此,希望设置存储在逻辑电路区域中现在和/或过去所映射的对象电路的接口电路的状态的边界信息存储器。在另一方对象电路中也包含以时间和/或空间方式没有连接地映射的自己的对象电路。由此,即便在实际硬件空间中根据条件对某对象电路进行删除、再生,也可以在虚拟硬件空间中进行连续的处理。进而,还可以将利用同一对象电路信息的电路实例构成多个以提高并行度或者提高可靠度。这样的控制既可以根据结构代码也可以根据映射单元和动作控制单元的组合来进行。
本发明的结构代码有各种各样的利用方法。通过将实际硬件空间上映射的结构代码以如程序的命令组那样能够顺序地进行跟踪的状态来提供,就能够根据结构代码来控制数据处理装置。结构代码既可以记录于记录介质来提供也可以经由网络等通信手段来提供,还可以通过远距离操作来改变硬件的构成。
另外,作为取代以往的系统LSI的使用方法,能够由装载单元基于包含针对数据处理装置的要求(紧急性、新作业的开始或者并行处理状态的变化、中断的有无等)、所映射的对象电路的执行状况、逻辑电路区域的可利用状况在内的动作环境信息,从具备多个结构代码的结构库取得所希望的结构代码,以根据应用的执行状况对数据处理装置的硬件动态地进行最佳构成。优化的方针能够基于动作环境信息来决定,装载单元、映射单元、执行控制单元的一个或多个有助于它。为了在实际硬件空间的空闲空间上映射新的对象电路、删除已使用完毕的对象电路、或者对具有紧急性的硬件模块优先地进行映射,而暂时保留其他硬件模块的分割电路、或者暂时缩小被分配给其他硬件模块的硬件资源的比例等、在实际硬件空间的利用方法上没有限制。
另外,通过将硬件电路结构代码化,数据处理装置的利用价值就飞跃性地增大。作为受限的利用方法能够在数据处理装置中装配结构库。例如,能够提供一种自动控制装置,其具有此数据处理装置;和在数据处理装置中所装配的至少一个硬件模块被用于各自的控制或者数据处理的多个自动控制机构,其中,多个硬件模块的分割电路被分别动态地映射在逻辑电路区域中。在对机器人的视觉信息和听觉信息进行处理时,可进行以下控制:将硬件资源主要分配给这些控制所需要的硬件模块的分割电路,而步行功能等其他自动控制机构的控制所需要的硬件模块的分割电路则被从实际硬件空间中移走。
另一方面,还可以经由网络等对于数据处理装置的外侧的通信来取得结构代码,如果有能够映射对象电路程度的硬件空间,就能够自由地利用庞大的硬件资产。例如就可以将存在于因特网上的多种多样的硬件资产映射到身边的便携终端的LSI加以利用。通过如机器人那样与具备各种机构的装置进行组合,就能够以较小的资源来进行多种多样的作业(work)。另外,由于结构代码时常被更新,所以能够在时常经过更新的控制电路之下使多种多样的作业得以进行。
另外,通过具备本发明的数据处理装置;天线、连接器等为了与外界通信而在电路上无法实现的通信所需要的机构;以及显示器、扩音器等专用于输入输出的机构,就能够提供以进行各种通信的功能为首、除通信以外的功能、例如对身体的状态进行监视的功能等各种各样的服务。而且,进行各自服务的电路构成能够使用时常经过更新的最新的配置。
对象电路的尺寸是灵活的,小于在映射对象的逻辑电路区域上还包含接口电路在内能够进行映射的尺寸即可。对象电路的尺寸较小的一方实际硬件空间的优化的效率较高。但是,对于一个硬件模块的所用意的结构代码的量将会变多。在进行映射之际,在本发明中,只要有硬件空间就可以将多个对象电路汇总起来进行映射。从而,因对象电路的尺寸而反复进行映射的次数变得庞大,其结果处理时间将增大这样的担心就较少。对于可重构的结构之内、具备多个有特定数目的可重构的电路所构成的电路块的结构,希望结构代码包含能够以电路块为单位进行映射的对象电路信息。
本发明的结构代码对具有可动态地重构电路的逻辑电路区域的所有数据处理装置都能够适用。但是,若是如FPGA那样将电路的构成存储在查找表格(LUT)中的硬件,则有可能为了变更LUT而具有数时钟,执行速度的延迟显著。从而,在本发明中提供一种具有逻辑电路区域的数据处理装置,该逻辑电路区域具备进行重构所要的时间非常短的多个元件。
本发明的元件具备对输入数据进行逻辑运算并输出输出数据的运算核,运算核具备被输入指示逻辑运算的多位操作码(functioncode),并根据输入数据来选择输出数据的选择器。由于能够仅通过提供被输入到运算核的操作码来变更逻辑,所以能够高速地更换逻辑而无需改写LUT。
进而,希望在将n设为多个整数时元件具备n个输入、n个输出、从n个输入中选择任意的输入数据的输入接口、以及从n系统的输入及输出数据中的某一个任意地进行选择并从n系统的输出中的至少某一个进行输出的输出接口。例如,如果是二维延伸的逻辑电路区域则多个n的候补为4,从东西南北(前后左右)4方向的任一方向都能够输入数据,对4方向的任一方向都能够输出数据。另外,如果是三维延伸的逻辑电路区域,则多个n的候补为6,从前后左右上下6方向的任一方向都能够输入数据,对6方向的任一方向都能够输出数据。进而,此元件还作为不进行逻辑运算简单的连接切换元件发挥功能。进而,希望在运算核中设置对n个输入的某一个数据、或者输出数据进行锁存的寄存器。如果不使用寄存器,则能够构成译码器等适合于没有时钟依赖性、或者执行较少处理的电路,如果使用寄存器就能够构成状态机等适合于时钟依赖性较高的处理的电路。
根据本发明,就可以按数时钟或周期的单位进行实际硬件空间的动态优化。为此,折衷的自由度就非常大、能够以较高的水平同时实现高性能高功能、低芯片成本、低电力消耗之类的、相反的若干要求。从而,可重构技术的有效性就飞跃性地增大。可动态地重构的电路区域的装配效率将提高,与专用LSI相比较使内部的运行效率显著提高,能够提供一种在芯片成本、性能及消耗电力这三点上有利的解决手段。另外,由于可动态地重构的硬件是可编程的硬件这一特征得以最大限度地活用,所以就能够提供一种使以往的LSI开发方法中为了物理设计和功能验证、品质保证而需要数月以上的时间的硬件的提供在原理上不需要这些期间的结构。
即,在本发明中,提供一种可实现的硬件空间的动态优化技术。将以往用有形体所提供的硬件电路信息和诸如命令程序那样控制硬件电路的软件信息,作为以一个使其统一的被称为结构代码的体系进行了编码的新信息来提供。因此,在硬件的执行周期中,通过在应用要求(结构)的约束条件下在该瞬间将有效的硬件、资源和所要求的处理性能进行折衷,并动态地进行优化,则即便对特定的应用用所设计的专用LSI,可重构的芯片也可以在芯片成本、性能要求、消耗电力这三个方面显示出优越性。
用于实现硬件空间的动态优化的结构的基本要素技术能够列举出可进行硬件电路的时间分割执行的电路分割执行和继续执行技术;多个硬件电路间的通道连接技术;动态硬件电路生成技术、缩小技术、删除交换技术;硬件电路信息的紧凑化技术和电路信息的高速移动技术;应用要求的资源间折衷、软件技术;硬件电路及软件信息的高速仿真技术。本发明的结构代码能够支持这些技术。
另外,本发明的结构代码包含对象电路信息(分割电路信息)、接口电路信息和边界条件,进而,结构代码可大致分为硬件电路信息和软件信息这两类。硬件电路信息能够包含当可使用的硬件资源为100%时的各电路的模块相关信息(静态拓扑信息和动态模块执行信息)、层次构造、优先等级、例外处理条件、动态折衷条件等。结构代码能够包含以边界条件为首的、辅助性地支持硬件电路的功能及定时控制的信息全体,在其中包含以往的命令程序和矢量表、根据应用还包含图像等数据信息之类的软件信息。
例如,在微处理器的情况下,存在诸如外部中断控制部及例外处理部那样只需要特定条件的电路和诸如译码器或者数据总线那样以比较高的频率进行执行的电路。如果使用本发明的结构代码,就能够从微处理器之类的功能面重新分析在硬件空间上层次构成的硬件电路,并作为被重构成可以进行设想了动态执行的动态优化的信息的集合体而提供微处理器的硬件以及软件信息。这与一般的程序空间不同,是由设想了并行执行的多个结构代码所构成。然后,利用结构代码所装配的对象电路之内、与没有电路交换富裕的有关的结构代码被保存在LSI内部的存储器中。反之,与有电路执行及起动富裕的对象电路有关的结构代码被保存在外部存储器中,并从外部存储器装入到内部存储器后得以执行。
作为本发明的数据处理装置的结构LSI能够由具有作为装载单元及映射单元的功能、用于将结构代码在硬件上翻译后进行硬件的初始化及分割执行的外部/内部高速装入控制单元(RLC);具备作为执行控制单元的功能、进行高速逻辑电路交换动作的控制和层次信息传达(传送)的高速逻辑通信主(RTM);以及成为逻辑电路区域的、对各种硬件电路(包含测试电路)进行直接分割执行的高速逻辑电路交换元件(REX)群所构成。对于本发明的实施方式,与本发明的其他的课题、构成以及效果一起在下面进一步详细地进行说明。
附图说明
图1是表示本发明的数据处理装置的概略构成的图。
图2是表示本发明的数据处理装置的不同例子的图。
图3是表示结构代码的概要的图。
图4是表示由数据处理装置所控制的机器人的概略构成的图。
图5是表示具备数据处理装置的终端的概略构成的图。
图6是表示生成结构代码的过程的流程图。
图7是表示在数据处理装置中执行结构代码的过程的流程图。
图8是表示RC区域的构成的一例的图。
图9是表示RC区域的构成的不同例子的图。
图10是表示RC区域的硬件构成的图。
图11是表示元件的配置的图。
图12是表示元件的构成的图。
图13是表示运算核的构成的图。
图14是表示运算核的动作例的图。
图15是表示运算核的其他动作例的图。
图16是表示可用运算核执行的逻辑运算的例子的图。
具体实施方式
图1是表示本发明的数据处理装置的一例。该数据处理装置1是结构LSI,具备:可动态地重构电路的逻辑电路区域(RC区域、可重构区域)10;记录了若干硬件模块的结构代码(architecture code)20的结构库2;将结构代码20在可以重构的硬件10之上进行翻译后执行硬件的初始化或分割的高速装入控制单元(RLC:Rapid LoadingControl)11;以及进行高速逻辑电路交换动作的控制和层次信息传达(传送)的高速逻辑通信主(RTM:Rapid Logic communicationMaster)12。RLC11具备作为从库2取得(获取或者下载)结构代码20的装载单元(LU:Load Unit)13的功能。进而,RLC11具备作为根据结构代码20的对象电路信息及接口电路信息,将对象电路19和该对象电路19上所连接的接口电路18映射到RC区域10的映射单元(MU:Mapping Unit)14的功能。RTM12具备作为按照结构代码的边界条件来控制接口电路18的动作控制单元的功能。另外,RTM12将RC区域10上现在和/或过去所映射的对象电路19的接口电路18的状态根据需要存储在边界信息存储器15中,进行对象电路19之间的信息传达。
在以下的例子中,结构代码20的对象电路信息以将硬件模块分割成适当的范围,并能够映射到RC区域10的方式得以生成。从而,根据对象电路信息在RC区域10上所构成的对象电路19,就成为对作为用于安装某功能的单位所设计的硬件模块进行了分割的分割电路。为此,在下面,以将分割电路信息作为对象电路信息来包含的结构代码20、和分割电路19为例来进一步说明本发明。
数据处理装置1还进一步具备:存储执行应用的程序4的RAM5;按照程序4使用数据处理装置1的硬件资源来执行处理的RISC处理器6;接收中断信号的中断控制单元7;对数据处理装置1的各硬件资源提供时钟信号的时钟发生源8;以及对外部存储器控制数据的输入输出的数据输入输出接口9。代码RAM5还能够从RC区域10进行访问。
图2中示出涉及本发明的数据处理装置1的不同的例子。作为CPU或者DSP的硬件能够通过一个或多个硬件模块(硬件宏)来提供。同样地,装载结构代码20的装载单元(LU)13、映射单元(MU)14以及动作控制单元(RTM)12的各功能也能够通过一个或多个硬件模块来提供。进而,中断检测单元(IU)7也能够通过硬件模块来提供。从而,就可以使这些硬件模块分割电路化,并根据结构代码在RC区域10上动态地进行构成。为此,图2所示的数据处理装置1就能够在RC区域10上通过分割电路19和接口电路18使处理器6、LU13、MU14以及RTM12的功能,部分地、或者如果需要的话作为全体得以实现。
从而,在此数据处理装置1中,由于RISC处理器6的功能使用RC区域10来实现,所以通过RC区域10上所映射的电路来进行还包含RC区域10的控制在内的数据处理装置1的控制。在此情况下,在数据处理装置1中利用构成被固定的硬件所实现的功能就成为在将作为数据处理装置的结构LSI1起动时、或者进行复位时,将用于其的构成映射到RC区域10的初始设定功能16。此初始设定功能16既可以是独立的电路,或者也可以如RTM12那样为了对RC区域10进行管理或者控制而固定地包含于必要的功能中,并用固定了该功能的硬件来进行提供。
这样,就能够通过RC区域10上所映射的电路,来进行还包含RC区域10的控制在内的数据处理装置1的控制。从而,通过在RAM4中准备还包含数据处理装置1的控制的结构代码28,就能够根据结构代码28来进行数据处理装置1的控制。为此,就可以将利用具备多个命令组的以往程序的控制换成利用结构代码28的控制。这就意味着通过利用记录介质、网络、通信等来提供结构代码28,就能够不仅包含硬件信息、而且还包含以往的软件信息并安装在数据处理装置1上,数据处理装置1的适应性将扩大。
另外,虽然如LU13、MU14以及RTM12的功能等那样,在数据处理装置1中为了执行应用而需要,但对多个应用提供具有冗余性的功能的结构代码,可以作为用于支持数据处理装置1的基本功能的结构代码29与用于应用的结构代码20独立地进行供给。支持此系统的结构代码29可进行与基于以往的程序运行的处理器中的OS或者BIOS相对应的处理。进而,支持系统的硬件也作为结构代码29来提供,由此在不需要RC区域10的交换动作的情况、或者能够降低交换动作的周期的情况下,就可以将用于RC区域10的交换动作的硬件所占的区域释放给用于应用的执行的硬件。为此,就能够提高RC区域10的利用效率,就可提供以较少的硬件资源发挥最大限度的处理能力的LSI。
图3中表示结构代码20的一例。结构代码20由硬件电路信息21和软件信息22构成。硬件电路信息21具备:在RC区域10的一部分上映射为了将某功能单位作为电路来安装而设计的硬件模块(IP或者库)分割成多个的分割电路19的分割电路信息23;和将分割电路19上所连接的接口电路18映射到RC区域10的接口电路信息24。软件信息22除了用于识别结构代码20的识别信息25和在接口电路18中实现的边界条件26以外,还包含其他信息27、例如对于其他分割电路的优先等级、例外处理条件、动态折衷条件、分割电路的执行顺序等信息。根据结构代码20,构成电路的基本元素的功能(function)信息及拓扑(topology)全部被明确,各个分割电路19的功能以及分割电路19的连接关系也变得明确。
在本实施例的数据处理装置1中,例如用于实现图1及图2所示的A之类的功能的电路构成(硬件模块)作为A1~An的结构代码20来提供。另外,实现B之类的功能的电路构成作为B1~Bm的结构代码20来提供,实现C之类的功能的电路构成作为C1~Cx的结构代码20来提供,实现D之类的功能的电路构成作为D1~Dy的结构代码来提供。其中,n、m、x以及y是适当的整数。
如图4所示那样,在数据处理装置1进行作为自动控制装置的一个例子的机器人70的控制的情况下,A功能进行听觉71的控制及数据处理,B功能进行视觉72的控制及数据处理,C功能进行语言能力73的控制及数据处理,D功能进行身体功能74的控制及数据处理。然后,在数据处理装置1的RC区域10上分别动态地映射这些多个自动控制机构71~74的硬件模块(从A模块到D模块)的分割电路。在RC区域10中,用于各自机构71~74的硬件模块所占的面积动态地进行控制。例如,在机器人70进行会话时,为此就要求听觉、视觉以及语言能力较大,所以用于控制功能A、B以及C的分割电路19所占的面积将增大。另一方面,在机器人70进行使用身体的作业时,就要求视觉以及身体功能的能力较大,所以用于控制功能B以及C的分割电路19所占的面积将增大。
此机器人70还进一步具备用于连接到外界、例如经由无线或者有线连接到因特网等计算机网络的机构75。从而,从外界下载用于实现各自功能的结构代码就成为可能。因此,能够用机器人70实现的作业的种类就变得基本上没有界限。然后,在结构代码的供给方,就能够通过更新结构代码而时常利用最新的硬件模块对机器人70进行控制,硬件陈旧化之类的问题也得以解决。另外,使用结构代码对机器人70进行远距离操作亦成为可能。与外界的通信所必需的功能之内、能够用电路顶替的功能基本上就使用结构代码通过本实施例的数据处理装置1来施行。从而,通信用的机构75就具备天线、连接器等、不能用电路顶替的硬件。
在通过一个数据处理装置1不能直至通信进行顶替的情况下,就可以搭载通信用的数据处理装置1以支持通信功能,同时在通信功能的负荷较小时,支持其他功能这样来进行设计。对于其他功能也能够同样如此,作为身体功能用将一个或多个数据处理装置1集中或分散进行搭载,在身体功能的负荷较小时,为了语言处理等其他功能而所使用这些数据处理装置1。
图5中表示搭载了数据处理装置1的终端80的概略构成。此终端80还具备用于与外界进行通信的机构85。从而,通过从外界下载结构代码,就能够由终端80来提供各种各样的服务。如果搭载有显示器、扩音器、扬声器等输入输出机构81,就能够提供需要图像、声音等输入输出的所有服务。进而,如果具备对光、温度等进行感知的传感器82,则并不限于作为照相机或温度计等的服务,还能够提供对身体进行监控的服务等、使用了传感器82的其他各种各样的服务。而且,通过从外界下载结构代码,就能够时常利用最新的硬件模块的功能。
图6中表示结构代码20的生成方法。首先,在步骤31中,生成硬件模块的原始网表。直到生成网表以前的阶段,公知有使用C语言等高级语言、Verilog等硬件描述语言的各种各样的方法,使用任意一种方法都可以。在步骤32中,将原始网表分割成若干单位,在各自经过分割后的范围内,以能够映射到RC区域10的方式来解决配置以及配线问题并生成分割电路信息23。
映射到RC区域10的分割电路19被分割成使用一或多个以构成RC区域10的硬件的恰当范围为单位的电路块来进行配置。通过采用此分割方法,就能够将分割电路19有效率地分派给RC区域10。另外,在分割电路19之间频繁地发生数据交换这样的分割方法,若考虑到将分割电路19个别地映射到RC区域10就不能说是较好的分割方法。不过,在本发明中可以赋予优先等级以使得只要RC区域10的状况允许这样的分割电路19的组合就同时进行映射。从而,在本发明的数据处理装置1中,就可以容许网表的各种各样的分割方法并进行对应。但是,在步骤32中希望以某种程度使分割原始网表、并将其分配给RC区域10的硬件的作业反复进行以获得最佳的分割电路信息23。
进而,在步骤33中,从接口电路信息24生成形成原始网表的分割电路19的边界的信息。从而,在边界与邻接的分割电路19一致的部分,接口电路信息24就变得相同,持有部分地共通的接口电路信息24的结构代码就得以生成。
其次,在步骤34中,将原始网表变换成分割电路19的集合,在这些分割电路19之间使作为硬件模块的功能得以实现,这样来解决包含定时闭包问题等的配置以及配线问题,并生成接口电路18中的边界条件26。从而,对应于边界与邻接的分割电路19一致或者能够连接的状态,在接口电路信息24成为相同或者相对应的构成的部分,边界条件也成为相同或者对应的条件。为此,持有部分地共通的、或者对应的边界条件26的结构代码就得以生成。
进而,在将分割电路映射到实际硬件空间(逻辑电路区域)10以使作为硬件模块的功能得以实现这样对上述信息进行编译的阶段,就获得对于其他分割电路的优先等级、例外处理条件、动态折衷条件、分割电路的执行顺序等信息,所以包含它们在内在步骤35生成结构代码20。从而,硬件模块就可以通过多个分割电路19在虚拟硬件空间上构成,并利用结构代码20,将其一部分在作为实际硬件空间的RC区域10中进行实现、执行。被映射到RC区域10的分割电路19能够说是电路实例。
虚拟硬件空间和实际硬件空间经由接口电路19联结起来,定时闭包等在实际硬件空间进行配置配线时的问题,表示根据边界条件26来控制接口电路19之类的解决方案。从而,不论是虚拟硬件空间上还是在实际硬件空间上,都可以使用所希望的分割电路19来实现软件上的处理、以及硬件上的处理。
图7中表示在数据处理装置1中,使用结构代码20在RC区域10生成分割电路19以及接口电路18并进行执行的过程。首先,在步骤41中,装载单元13从库2取得由RTM12所指定的结构代码20。虽然在本实施例的数据处理装置1中,有RISC处理器6执行应用程序4的情形、由根据结构代码28在RC区域10上所实现的构成来控制数据处理装置的情形,但在任何情况下都是RTM12决定基于动作环境信息取得的结构代码,并对装载单元13发出指示。动作环境信息包含由程序4或者结构代码28所得到的针对该数据处理装置1的请求、来自中断控制电路7的中断信息、被映射到RC区域10的分割电路19的执行状况、RC区域10的可利用状况(空闲区域的有无、可置换的分割电路的有无等)。
如果在库2中有代码20,装载单元13就输出地址并获取代码20。如果装载单元13具备适当的通信功能的话,就能够从其他数据处理装置或外部的存储器、进而从利用网络所连接的服务器或者其他网络上的资源取得代码20。如结构代码28那样,将结构代码设为强制地、或者能动地被装载单元13进行装入的构成,由此还可以经由结构代码对数据处理装置1中的处理能动地进行控制。
在步骤42中,映射单元14根据所取得的结构代码20的分割电路信息23以及接口电路信息24,在RC区域10上映射分割电路19和该分割电路上所连接的接口电路18。由于RC区域10的状况能够由控制分割电路19的执行的RTM12精度最好地进行把握,所以映射单元14根据RTM12的指示将分割电路19及接口电路18映射到RC区域10的空闲硬件空间或者可替换的硬件空间。此时,在与相邻的分割电路19的边界的接口电路信息24及边界条件26一致或者对应的情况下,由于是在虚拟硬件空间中邻接的分割电路19,所以在实际硬件空间10中可直接进行连接。从而,对分割电路19进行映射以不经过双方的接口电路地使相邻的各分割电路连接起来。此外,在图1以及图2等中,为了简化表示而仅在分割电路19的左右形成有接口电路18。在分割电路19包含不仅在左右而且在上下也进行连接的配线的情况下,接口电路18被整理安排成在分割电路19的上下左右以盒状方式包围分割电路19。进而,如果RC区域10持有三维方向的延伸、分割电路19也是持有三维方向的延伸的电路,则接口电路18构成为立体地包围分割电路19。
基本上,就是在RC区域10的空闲区域上映射分割电路19。若根据RTM12所把握的动作环境信息,存在对已经映射在RC区域10上的其他分割电路,使新的分割电路19优先进行映射的紧急性,则还可以擦除已经映射的其他分割电路19,或者进行缩小以形成空闲区域。经过删除的其他分割电路19能够在紧急性解除以后,再次映射到RC区域10,并从最初或者从中途开始进行执行。另外,在经过缩小的其他分割电路19中,虽然因反复对分割电路19进行映射的步骤而使处理速度降低,但能够继续执行与该分割电路有关的功能的处理。这样一来,在本实施例的数据处理装置1中,虽然依赖于动作环境信息等,但能够在RC区域10上神出鬼没地映射分割电路19。还可以通过预先仿真等来把握应用直面的场面,并进行调度安排以使所希望的分割电路19映射在RC区域10的规定位置上,这就能够提高RC区域10的利用效率。
在步骤43中,使经过映射的分割电路19进行动作。为了使分割电路19动作,在步骤44中,基于边界条件26来控制接口电路18,并以规定的定时对分割电路19供给规定的数据。在此步骤44中,借助于RTM12的功能,基于边界条件26使在RC区域10中现在和/或过去、以时间和/或空间方式划分后所映射的其他分割电路19的接口电路18的状态反映于动作对象的分割电路19的接口电路18的控制。从而,在步骤45中,在实际硬件空间所实现的分割电路19就成为与在周围连接有其他分割电路的虚拟硬件空间相同的状态,作为该分割电路19所属的硬件模块的功能在实际硬件空间上得以实现。另外,由于分割电路19进行了动作的结果被输出到接口电路18,故RTM12将该接口电路18的状态以空间方式传达给在RC区域10上所映射的其他分割电路19的接口电路18,或者经过时间后传达到下一被映射的其他分割电路19的接口电路18。由此,在虚拟硬件空间中信号按照网表进行传播,硬件模块的功能得以实现。
设定于接口电路18的边界信息,可以事先存储在存储器15中。在直至其他分割电路19被映射的定时为止的时间较长、或者在动作途中分割电路19被删除时,通过将存储器15中所存储的边界信息设定于接口电路18,就能够以所希望的条件使分割电路19动作、或者再动作。
在步骤46中,反复步骤44及45直到使所映射的分割电路19动作的请求终止。然后,处理终止的分割电路19在步骤47中被从RC区域10删除。或者,在RC区域10中有富裕空间并预测以后将需要分割电路19的功能的情况下,还可以进行缩小使其存在于RC区域10。进而,在RC区域10中有富裕的情况下也可以原封不动使之存在。
在需要对连续输入的数据进行反复动作的分割电路19被映射的情况下,直到其处理终止为止同一分割电路19存在于RC区域10。在通过增高并行度使处理速度提高的情况下,还可以将同一分割电路19的电路实例映射多个以提高处理速度。进而,还可以通过对同一结构代码20将多个电路实例在RC区域10上构成并比较它们的输出,来实现可靠性较高的处理。然后,还可以判断是要求可靠性的状态,或者判断是要求处理速度的状态,并数据处理装置1进行控制以自动地采用这样的构成。另一方面,在如状态机(state machine)那样在处理内容因状态推进而顺次改变的情况下,不同的分割电路19轮流进行映射。
在分割电路19、即电路实例被映射之际,为了进行硬件空间的动态优化,能够对作为表主(table master)的RTM12请求其他电路实例的起动和删除。RTM12进行多个电路的生成、删除、复制·移动及电路间的通道连接,能够将本来若不将大规模的电路在物理空间上展开并进行电路构成就不能动作的功能,一边仅将瞬间所需要的电路作为电路实例在硬件空间动态地进行优化一边进行生成,能够使用资源较少的硬件空间使实质上庞大的多个电路并行动作。
在硬件空间上所生成的分割电路19,能够分成时常存在于此数据处理装置(结构LSI)1的逻辑电路区域(电路平面)10之上的永久电路、所生成的电路只存在某一定时间的瞬时电路、每隔一定时间所生成的周期电路等种类。瞬时电路及周期电路若实际进行执行则在被删除前以自己的执行结果将应通知给其他电路的信息向RTM12通知并使其存储起来。通常此电路执行信息被效率良好地传达至下一生成的分割电路19。反之,RTM12进行电路控制以使瞬时电路间的执行信息效率良好地得以传达。
分割电路19的执行顺序的确定,在生成图6所示的结构代码20的开发阶段,由开发环境(FW)的电路编译器来进行。在分割电路因外部信号或数据输入条件而在电路执行顺序上有变更的情况下,RTM12进行此执行控制。反之,在可由分割电路自身对执行次序完全进行控制的情况下,RTM12依照系统全体的优先等级进行电路的执行区域的扩大、缩小。
例如,在图1的RC区域10中,实现A功能的A模块的分割电路A1与接口电路一起生成,实现B功能的B模块的分割电路B1~B3与接口电路一起生成。由于分割电路B1~B3以连续的电路实例在连续的RC区域10上生成,所以邻接的分割电路的边界区域就连续,在从连续的分割电路起相连到外侧的边界上形成有接口电路18。此外,为了简单地进行说明仅在图面的左右生成有接口电路18,但在虚拟硬件空间中分割电路上下进行连接的情况下,接口电路被生成的情况就如上述那样。
在实现C功能的C模块中,虽然分割电路C1及C2被映射到RC区域10但以空间方式进行分割。为此,对各个分割电路C1及C2生成接口电路18,经由RTM12这些分割电路C1及C2连接起来。另外,在实现D功能的D模块中,分割电路D1及D2以连接着的状态进行映射。RTM12通过在适当的定时对这些分割电路19的接口电路18设置数据将分割电路18激活,其结果将输出到接口电路18的数据进行保存、或者传达给以空间或者时间方式经过分割的连接方的分割电路19的接口电路18。
进而,RTM12能够根据分割电路19的结构代码20的信息和对于分割电路19的动作环境信息,来改变从时钟发生源8对RC区域10的分割电路19所供给的时钟信号的种类、即频率。为此,就能够将RC区域10的电力消耗抑制到必要的最小限度,性能能够最大地进行维持。在RC区域10之中、对没有映射电路实例的区域时钟信号原则上不进行供给。
图8及图9是时间经过后的RC区域10的状态。A功能是瞬时电路,A1、A2以及A3之类的分割电路19相继生成后进行删去,其间的数据传送由RTM12进行。B功能以图示的时序作为需要紧急性的功能在RTM12中要求,花费RC区域10的相当的硬件资源而得以生成。在图8所示的定时使D功能删去,并使用其资源以生成许多分割电路19。从而,在图9所示的定时,就在B功能的分割电路19被删去的区域复原D功能的分割电路19,再次,从中途或者从开头起重新执行D功能的处理。
图10中表示出RC区域10的构成。本实施例的RC区域10,将作为可变更各个逻辑运算的多个元件的集合的电路块(rxe_plane)51呈格子状(阵列状或者矩阵状)地进行排列,它们之间通过配线52连接起来。由结构代码20所定义的分割电路19的尺寸最好是以此电路块51的倍数为单位。在此情况下,将分割电路信息24作为上下文(配置信息),分割电路19消耗1个或者多个电路块51来进行映射。
图11中表示出1个电路块51的构成。在本实施例中,在电路块51上排列16个逻辑元件53以形成4×4的阵列构造。各个逻辑元件53与在图面的上下左右4方向上邻接的逻辑元件53通过4位的层1的总线54连接起来。进而,还准备有越过在上下左右邻接的逻辑元件53,与位于其外侧的逻辑元件53相连接的层2的总线55。为此,就能够在逻辑元件53之间更为灵活地进行连接。进而,还可以配置三级跳越过逻辑元件53的层3的总线。
各个逻辑元件53具备作为逻辑运算元件的功能和作为进行逻辑元件间的连接切换的配线开关的功能。而且,由于需要对运算的逻辑和配线连接的状态高速地进行变更或者更换,所以在本实施例的RC区域10中配置有被称为REX(Rapid eXchange Element)53的可高速进行更换动作的元件。
图12中表示出REX53的构成。REX53具备:4系统的输入61;4系统的输出62;从4系统的输入61中选择任意的输入数据的输入接口63;对由此输入接口63所选择的输入数据i进行逻辑运算并输出数据的运算核65;以及对4系统的输入61和运算核65的输出数据o任意地进行选择并可连接至4系统的输出62的输出接口64。运算核65为可变更逻辑运算的构成,起到作为可以变更逻辑的运算元件的功能。另外,输入接口63为配置多个用于从4系统的输入61中选择任意的1位的16对1的选择器63s的构成。输出接口64为配置多个兼任来自运算核65的输出o和4系统的输入61的路由的7对1的选择器64s的构成。
图13中表示出运算核(rxe_core)65的构成。运算核65具备将指示逻辑运算的16位的操作码f作为输入,并根据输入数据i来选择输出数据o的选择器66。运算核65还具备:对4位的输入数据i进行译码以生成16位的选择器66的选择信号的译码器67;对4系统的输入61的某一个数据、或者输出数据o进行锁存的寄存器68;以及用于对寄存器68中锁存的信号进行选择的选择器69a及69b。
图14及图15中表示出运算核65的动作。运算核65根据模式信号m来改变动作。图14的模式0是运算核65由4位的输入数据i生成1位的输出数据o,用寄存器68锁存该输出数据o并进行输出。图14的模式1是运算核65由4位的输入数据i生成1位的输出数据o,不用寄存器68使该输出数据o锁存地进行输出。输出数据o就取决于对16位的操作码f和输入数据i进行了译码的结果。从而,如图16所示那样,在这些模式1及2中,通过改变操作码f,就能够将运算核65作为从四输入AND(“与”)到四输入比较器这9种以上的不同逻辑运算元件来使用。
进而,运算核65在选择器66和操作码f的组合上进行逻辑运算。为此,就不需要如以往的FPGA那样在使用了SRAM等存储元件的查找表格(LUT)上设置逻辑。从而,就能够省略对SRAM进行输入输出的周期,能够在将操作码f输出到运算核65的定时瞬时地更换由运算核65进行的运算。为此,本实施例的运算核65被称为高速交换运算元件。
在从图15所示的模式2到模式4中,1个运算核65作为对2位的输入信号i输出1位的输出信号o的两个运算元件发挥功能。即,被内置的16对1的选择器66被设定成作为两个4对1的选择器发挥动作。在从这些模式2到4中,运算核65如图16所示那样,通过改变操作码f,就能够作为从反相器到两输入EXNOR(“同”)这7种以上的不同逻辑运算元件来使用。
进而,在从图15所示的模式5到模式7中,能够将运算核65作为对3位的输入信号i输出1位的输出信号o的运算元件来使用。如果允许附加位的输入,则能够将被内置的16对1的选择器66设定成作为两个3对1的选择器来动作,所以还能够将运算核65作为两个3位输入1位输出的运算元件来利用。在从这些模式5到7中,运算核65如图16所示那样,通过改变操作码f就能够作为从三输入AND(“与”)到全加器这5种以上的不同逻辑运算元件来使用。
这样一来,构成本实施例的RC区域10的REX53就可以以选择器方式高速地更换逻辑。REX53还进一步在内部具备对输出数据进行锁存的寄存器68,即便将输出数据以直通方式进行输出,还能够通过F/F以在时钟上进行了同步的状态进行输出。从而,就能够根据结构代码20的电路信息效率良好地装配并执行在数字电路中被经常使用的组合电路(译码器)、顺序电路(状态机)以及运算电路(数据总线)。
本实施例的可重构逻辑的元件(REX)53,可以考虑构成二维阵列或者矩阵。从而,具备适合于二维地呈格子状配置的4系统的输入输出。但是,如果连接于元件间的网络为一维的话,就能够用2系统或者3系统的输入输出来进行对应。进而,如果连接于元件间的网络为三维的话,则希望准备5系统以上的输入输出。进而,虽然本实施例的运算核(rxe_core)采用选择器方式以便可高速地进行交换动作,但如果能够消耗向查找表格(LUT)输入逻辑的周期的话,则还可以采用具备LUT的运算核。
另外,虽然在本实施例中利用同一构造的元件53来构成矩阵,但也可以利用逻辑运算用的元件和网络形成用的元件来构成矩阵。进而,还可以借助于将以算术计算为主的元件、以地址发生为主的元件等在某种程度的功能进行了特化、或者虽然具有冗余性但某种功能的处理能力较高的多个种类的元件以适当的密度进行了配置的矩阵,来构成能够重构电路的RC区域。
【产业上的可利用性】
系统的硬件、结构一般而言大多在设计开始(研究)的阶段作为要求规格进行确定。为了对应实际的应用已固定的阶段中要求的变化,或在设计初始阶段的时候没有预想到的要求规格的变更,最近的FPGA和PLD采用可变更硬件构成的结构。但是,其灵活性本身使构成内部的基本元件冗余化,在芯片成本的竞争力上以及与经过专门设计的LSI或ASSP相比较动作频率上却成为不利的要素。
最近,可动态重构机(dynamic reconfigurable machine)引人注目起来,并日益变得能够克服芯片成本较高之类的问题和动作频率较低之类的缺点。但其竞争力与花费1~2年所开发出来的专用LSI相比较仍未达到足够的水平。在本发明中,通过除了解决这些问题外还实现低电力消耗化,就能够一边作为总体实现现在的SoC的成本性能,一边进行针对结构的动态优化,并能够实现其次将到来的超级SoC。
另一方面,现在的LSI开发的问题是芯片成本的竞争力这一点和虽然性能、低电力消耗化很好但开发期间和开发成本很差这一点,但这些问题也能够解决。
在现在的LSI设计的常识中是以硬件描述语言(Verilog-HDL或VHDL)为中心,并将其翻译(逻辑合成)成与适于各公司的半导体工艺的库的连接形式相符合的网表。在此情况下,虽然因物理配线和各逻辑门(电路)的连接形态动作频率也受到影响,但比其更大的问题是从系统结构的观点来看的无法优化这一点。也就是,现在的SoC、FPGA、可动态重构的技术在执行硬件之际,就成为无法实现来自结构级别(architecture level)的动态优化的构造。本发明可以对执行硬件时的硬件空间动态地进行优化,从而解决此问题。
另外,在现在的LSI开发方法和装配方法中,可以说用于使系统的可靠性提高或者保证品质的成本非常大。要因之一是若不装配测试电路就不能进行内部的功能检查,若装配测试电路则芯片面积被该测试电路占用,使芯片成本上升。从而,结果虽然存在提高品质的手段,但最终却成为与成本的权衡折衷,在可靠性和品质保证上有限制。为此,就成为对消费品来说最需要的测试自身却剥夺产品的竞争力的结果。进而,虽然为了减少整体的开发时间和开发资源用于使调试容易化的设计也是必要的概念,但仍然如此,用于其设计的费用就成为使芯片成本上升的要因。
本发明能够对这些全部课题提供解决方案。本发明的硬件空间动态优化技术,使保证可靠性和品质保证的电路仅存在必要的定时,从而能够使全体的成本影响最小化。用于调试容易化的电路一般若调试完成就不再需要。反之,在需要调试的定时生成应追加的调试用电路即可,在本发明中能够极其容易地进行对应。
进而,基于结构代码的本发明可以在将来使用网络等、动态地变更或者生成测试电路和实现其他功能的电路,这就能够大幅降低构筑大规模、复杂的系统的成本。从而,就可以在身边持有小型的经过芯片化的本发明的数据处理装置被内置的终端,经由网络与持有庞大的资源的虚拟硬件空间进行连接,由此就可以利用身边的小型终端来执行多种多样的功能。此系统与一边经由网络来通信庞大的输入输出数据一边使用存在于网络上的硬件资源来进行处理的现在的方式是完全相反的想法,而是要在身边的终端上执行存在于网络上的硬件资源。从而,能够缓和大量的输入输出数据的发送接收使网络负荷减轻,另外还能够保证数据的保密性等、持有各种各样的优点的系统就可基于本发明来进行构筑。
另外,虽然在上述中说明了在以半导体集成电路技术为基础的LSI上适用本发明的例子,但在形成所谓的电路网的所有数据处理装置上都可以适用本发明。即,并不限于以电气或电子级别的电路技术为基础的数据处理装置,对以光、生体、分子或原子构造、遗传因子构造等为基础的形成电路网的全部数据处理装置都能够适用本发明。

Claims (34)

1.一种数据处理装置的控制方法,该数据处理装置具有可动态地重构电路的逻辑电路区域,所述控制方法的特征在于,包括:
取得结构代码的步骤,该结构代码具有用于将用来执行应用的电路的至少一部分、即对象电路映射到上述逻辑电路区域的一部分的对象电路信息、用于将上述对象电路上所连接的接口电路映射到上述逻辑电路区域的接口电路信息、和在上述接口电路中实现的边界条件;
根据上述结构代码的上述对象电路信息及接口电路信息,在上述逻辑电路区域上映射上述对象电路和、该对象电路上所连接的上述接口电路的步骤;以及
基于上述结构代码的上述边界条件来控制上述接口电路的动作步骤。
2.按照权利要求1所述的控制方法,其特征在于:
上述对象电路是对用于实现某功能的硬件模块进行了分割的分割电路。
3.按照权利要求1所述的控制方法,其特征在于:
在上述进行映射的步骤中,将上述对象电路和上述接口电路映射到上述逻辑电路区域的可以利用的任一区域。
4.按照权利要求1所述的控制方法,其特征在于:
在上述进行映射的步骤中,在与相邻的对象电路的边界处的接口电路信息及边界条件一致或者对应的情况下,对上述对象电路进行映射以不经过双方接口电路地与上述相邻的对象电路连接起来。
5.按照权利要求1所述的控制方法,其特征在于:
在上述动作步骤中,基于上述边界条件使在上述逻辑电路区域上以时间和/或空间方式划分后所映射的其他对象电路的接口电路的状态反映于该对象电路的接口电路的控制。
6.按照权利要求1所述的控制方法,其特征在于:
在上述取得结构代码的步骤中,基于包含针对该数据处理装置的请求、所映射的上述对象电路的执行状况、和上述逻辑电路区域的可利用状况的动作环境信息来选择将要取得的上述结构代码。
7.按照权利要求1所述的控制方法,其特征在于:
在上述取得结构代码的步骤中,经由通信网络来取得上述结构代码。
8.按照权利要求1所述的控制方法,其特征在于:
上述逻辑电路区域具备多个由特定数目的可重构的多个元件所构成的电路块,上述结构代码包含以上述电路块为单位的上述对象电路信息。
9.一种数据处理装置,其特征在于,包括:
可动态地重构电路的逻辑电路区域;
取得结构代码的装载单元,该结构代码具有用于将作为用来执行应用的电路的至少一部分的对象电路映射到上述逻辑电路区域的一部分的对象电路信息、用于将上述对象电路上所连接的接口电路映射到上述逻辑电路区域的接口电路信息、和在上述接口电路中实现的边界条件;
根据上述结构代码的上述对象电路信息及接口电路信息,在上述逻辑电路区域上映射上述对象电路和、该对象电路上所连接的上述接口电路的映射单元;以及
依照上述结构代码的上述边界条件来控制上述接口电路的动作控制单元。
10.按照权利要求9所述的数据处理装置,其特征在于:
上述对象电路是对用于实现某功能的硬件模块进行了分割的分割电路。
11.按照权利要求10所述的数据处理装置,其特征在于:
上述装载单元、上述映射单元以及上述动作控制单元分别是上述硬件模块之一,并通过上述分割电路被装配于上述逻辑电路区域。
12.按照权利要求9所述的数据处理装置,其特征在于:
上述映射单元将上述对象电路和上述接口电路映射到上述逻辑电路区域的可以利用的任一区域。
13.按照权利要求9所述的数据处理装置,其特征在于:
上述映射单元在与相邻的对象电路的边界处的接口电路信息及边界条件一致或者对应的情况下,对上述对象电路进行映射以不经过双方接口电路地与上述相邻的对象电路连接起来。
14.按照权利要求9所述的数据处理装置,其特征在于:
上述动作控制单元基于上述边界条件使在上述逻辑电路区域上以时间和/或空间方式划分后所映射的其他对象电路的接口电路的状态反映于该对象电路的上述接口电路的控制。
15.按照权利要求9所述的数据处理装置,其特征在于,还包括:
存储在上述逻辑电路区域上以时间和/或空间方式划分后所映射的对象电路的接口电路的状态的边界信息存储器。
16.按照权利要求9所述的数据处理装置,其特征在于:
上述装载单元基于包含针对该数据处理装置的请求、所映射的上述对象电路的执行状况、上述逻辑电路区域的可利用状况的动作环境信息从具备多个结构代码的结构库中取得上述结构代码。
17.按照权利要求9所述的数据处理装置,其特征在于:
上述装载单元经由通信网络来取得上述结构代码。
18.按照权利要求10所述的数据处理装置,其特征在于,还包括:
具备构成多个硬件模块的多个结构代码的结构库。
19.按照权利要求9所述的数据处理装置,其特征在于:
上述逻辑电路区域具备多个由特定数目的可重构的元件所构成的电路块,上述结构代码包含以上述电路块为单位的上述对象电路信息。
20.按照权利要求19所述的数据处理装置,其特征在于:
上述元件具备,n个输入和n个输出,其中,n为多个;
从上述n个输入中选择任意的输入数据的输入接口;
对由该输入接口所选择的输入数据进行逻辑运算并输出输出数据的运算核,该运算核可以变更其逻辑运算;以及
对上述n个输入及上述输出数据中的至少某一个任意地进行选择并从上述n个输出中的至少某一个进行输出的输出接口。
21.按照权利要求20所述的数据处理装置,其特征在于:
上述运算核具备被输入指示逻辑运算的多位操作码,并根据上述输入数据来选择上述输出数据的选择器。
22.按照权利要求20所述的数据处理装置,其特征在于:
上述运算核具备对上述n个输入的某一个数据、或者上述输出数据进行锁存的寄存器。
23.一种自动控制装置,其特征在于,包括:
权利要求10所记载的数据处理装置;以及
上述数据处理装置上所装配的至少一个上述硬件模块被用于各自的控制或者数据处理的多个自动控制机构,
其中,在上述逻辑电路区域上分别动态地映射多个硬件模块的分割电路。
24.按照权利要求23所述的自动控制装置,其特征在于,还包括:
用于通过与外界的通信来取得上述结构代码的通信机构。
25.一种终端,其特征在于,包括:
权利要求9所记载的数据处理装置;以及
通过与外界的通信来取得上述结构代码的通信机构。
26.一种记录介质,其特征在于:
记录了用于控制具有可动态地重构电路的逻辑电路区域的数据处理装置的结构代码,该结构代码具有用于将作为用来执行应用的电路的至少一部分的对象电路映射到上述逻辑电路区域的一部分的对象电路信息、用于将上述对象电路上所连接的接口电路映射到上述逻辑电路区域的接口电路信息、和在上述接口电路中实现的边界条件。
27.按照权利要求26所述的记录介质,其特征在于:
上述对象电路是对用于实现某功能的硬件模块进行了分割的分割电路。
28.一种结构代码的生成方法,该结构代码用于控制具有可动态地重构电路的逻辑电路区域的数据处理装置,并具有用于将作为用来执行应用的电路的一部分的对象电路映射到上述逻辑电路区域的一部分的对象电路信息、用于将上述对象电路上所连接的接口电路映射到上述逻辑电路区域的接口电路信息、和在上述接口电路中实现的边界条件,该生成方法的特征在于,包括:
分割用于执行上述应用的电路的网表,并解决各个经过分割后的范围内的配置、配线问题而生成上述对象电路信息的步骤;
从上述网表的、形成由上述对象电路信息所构成的上述对象电路的边界的信息生成上述接口电路信息的步骤;以及
将上述网表变换成上述对象电路的集合,并解决这些对象电路之间的配置、配线问题,生成各个上述对象电路的接口电路中的边界条件的步骤。
29.按照权利要求28所述的生成方法,其特征在于:
在上述进行生成的步骤中,分割用于实现某功能的硬件模块的网表而生成上述对象电路信息。
30.一种具有可动态地重构电路的逻辑电路区域的数据处理装置,其特征在于:
上述逻辑电路区域具有可以进行重构的多个元件,
上述元件具备对输入数据进行逻辑运算并输出输出数据的运算核,上述运算核具备被输入指示逻辑运算的多位操作码,并根据上述输入数据来选择上述输出数据的选择器。
31.按照权利要求30所述的数据处理装置,其特征在于:
上述元件具备,n个输入和n个输出,其中,n为多个;
从上述n个输入中选择上述输入数据的输入接口;以及
对上述n个输入及上述输出数据中的至少某一个进行选择并从上述n个输出中的至少某一个进行输出的输出接口。
32.按照权利要求30所述的数据处理装置,其特征在于:
上述元件具备4系统的输入和4系统的输出;
从上述4系统的输入中选择任意的上述输入数据的输入接口;以及
对上述4系统的输入和上述输出数据任意地进行选择并可连接至上述4系统的输出的输出接口。
33.按照权利要求31所述的数据处理装置,其特征在于:
上述运算核具备对上述n个输入的某一个数据、或者上述输出数据进行锁存的寄存器。
34.按照权利要求30所述的数据处理装置,其特征在于,还包括:
多个由规定数目的上述元件所构成的电路块。
CN200480024786A 2003-08-29 2004-08-27 数据处理装置、控制方法、自动控制装置、终端、生成方法 Active CN100580621C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003306357 2003-08-29
JP306357/2003 2003-08-29

Publications (2)

Publication Number Publication Date
CN1842762A true CN1842762A (zh) 2006-10-04
CN100580621C CN100580621C (zh) 2010-01-13

Family

ID=34269386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480024786A Active CN100580621C (zh) 2003-08-29 2004-08-27 数据处理装置、控制方法、自动控制装置、终端、生成方法

Country Status (7)

Country Link
US (1) US8106679B2 (zh)
EP (1) EP1659486B1 (zh)
JP (2) JP4572835B2 (zh)
KR (1) KR101080465B1 (zh)
CN (1) CN100580621C (zh)
TW (1) TW200511719A (zh)
WO (1) WO2005022380A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112124636A (zh) * 2020-05-09 2020-12-25 长沙天仪空间科技研究院有限公司 一种新型的高集成式卫星平台系统
CN112124636B (zh) * 2020-05-09 2024-06-04 长沙天仪空间科技研究院有限公司 一种高集成式卫星平台系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3836109B2 (ja) * 2004-02-19 2006-10-18 東京エレクトロン株式会社 プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム
JP4893309B2 (ja) * 2004-10-28 2012-03-07 富士ゼロックス株式会社 再構成可能な論理回路を有するデータ処理装置
WO2006129722A1 (ja) 2005-05-31 2006-12-07 Ipflex Inc. 再構成可能な装置
CN101351801B (zh) 2005-11-30 2011-06-15 富士施乐株式会社 再构成语句的方法以及具有该功能的计算机系统
GB0605349D0 (en) * 2006-03-17 2006-04-26 Imec Inter Uni Micro Electr Reconfigurable multi-processing coarse-grain array
JP2007279984A (ja) * 2006-04-05 2007-10-25 Fuji Xerox Co Ltd データ処理装置およびプログラム
JP6211583B2 (ja) * 2013-03-01 2017-10-11 アクシオンリサーチ株式会社 再構成する情報を生成する装置および方法
JP6290855B2 (ja) * 2013-03-01 2018-03-07 アクシオンリサーチ株式会社 データ処理装置およびその制御方法
JP6029010B2 (ja) * 2013-03-22 2016-11-24 大学共同利用機関法人情報・システム研究機構 半導体チップ、半導体チップ接続システム
US10523585B2 (en) 2014-12-19 2019-12-31 Amazon Technologies, Inc. System on a chip comprising multiple compute sub-systems
US10394731B2 (en) 2014-12-19 2019-08-27 Amazon Technologies, Inc. System on a chip comprising reconfigurable resources for multiple compute sub-systems
US11200192B2 (en) 2015-02-13 2021-12-14 Amazon Technologies. lac. Multi-mode system on a chip
DE102015219841A1 (de) * 2015-10-13 2017-04-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes
JP6522531B2 (ja) * 2016-02-15 2019-05-29 株式会社日立製作所 通信装置、通信システム、および回路構成制御方法
US10726677B2 (en) 2018-10-02 2020-07-28 Igt Gaming system and method for reporting of multiple concurrently played games

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116690A (ja) * 1987-10-30 1989-05-09 Fujitsu Ltd 論理演算回路
US5361373A (en) * 1992-12-11 1994-11-01 Gilson Kent L Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
JPH09231788A (ja) * 1995-12-19 1997-09-05 Fujitsu Ltd シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム
US6091258A (en) * 1997-02-05 2000-07-18 Altera Corporation Redundancy circuitry for logic circuits
US6034538A (en) 1998-01-21 2000-03-07 Lucent Technologies Inc. Virtual logic system for reconfigurable hardware
JP3471628B2 (ja) * 1998-05-12 2003-12-02 日本電信電話株式会社 書き換え可能な論理回路およびラッチ回路
JP3576837B2 (ja) * 1998-10-30 2004-10-13 日本電気株式会社 プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
JP2000222447A (ja) * 1999-01-28 2000-08-11 Nec Corp 論理合成システムにおける境界条件合成処理方法
US6212591B1 (en) * 1999-04-02 2001-04-03 Cradle Technologies Configurable I/O circuitry defining virtual ports
US6438737B1 (en) * 2000-02-15 2002-08-20 Intel Corporation Reconfigurable logic for a computer
EP1143338B1 (en) 2000-03-10 2004-05-19 Alcatel Method and apparatus for backing up data
US6507214B1 (en) * 2000-10-26 2003-01-14 Cypress Semiconductor Corporation Digital configurable macro architecture
JP3561506B2 (ja) * 2001-05-10 2004-09-02 東京エレクトロンデバイス株式会社 演算システム
US7210168B2 (en) 2001-10-15 2007-04-24 Mcafee, Inc. Updating malware definition data for mobile data processing devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112124636A (zh) * 2020-05-09 2020-12-25 长沙天仪空间科技研究院有限公司 一种新型的高集成式卫星平台系统
CN112124636B (zh) * 2020-05-09 2024-06-04 长沙天仪空间科技研究院有限公司 一种高集成式卫星平台系统

Also Published As

Publication number Publication date
JP4572835B2 (ja) 2010-11-04
EP1659486A1 (en) 2006-05-24
WO2005022380A1 (ja) 2005-03-10
TWI299941B (zh) 2008-08-11
KR20060135600A (ko) 2006-12-29
EP1659486A4 (en) 2008-12-10
US20080122482A1 (en) 2008-05-29
EP1659486B1 (en) 2019-04-17
US8106679B2 (en) 2012-01-31
TW200511719A (en) 2005-03-16
JPWO2005022380A1 (ja) 2007-11-01
JP2010171994A (ja) 2010-08-05
KR101080465B1 (ko) 2011-11-04
CN100580621C (zh) 2010-01-13
JP5077597B2 (ja) 2012-11-21

Similar Documents

Publication Publication Date Title
Koch Partial reconfiguration on FPGAs: architectures, tools and applications
Asanovic et al. The landscape of parallel computing research: A view from berkeley
Pedram et al. Codesign tradeoffs for high-performance, low-power linear algebra architectures
JP5077597B2 (ja) データ処理装置
JP4893309B2 (ja) 再構成可能な論理回路を有するデータ処理装置
Page Reconfigurable processor architectures
Bondalapati et al. Reconfigurable computing: Architectures, models and algorithms
Huangfu et al. Nest: Dimm based near-data-processing accelerator for k-mer counting
Marconi Online scheduling and placement of hardware tasks with multiple variants on dynamically reconfigurable field-programmable gate arrays
Cong et al. Customizable computing—from single chip to datacenters
Adário et al. Dynamically reconfigurable architecture for image processor applications
Zhang et al. Rapidlayout: Fast hard block placement of fpga-optimized systolic arrays using evolutionary algorithm
Nagami et al. Plastic cell architecture: Towards reconfigurable computing for general-purpose
Dhar et al. Freac cache: Folded-logic reconfigurable computing in the last level cache
dos Santos et al. An FPGA array for cellular genetic algorithms: Application to the minimum energy broadcast problem
Cai et al. Gemini: Mapping and Architecture Co-exploration for Large-scale DNN Chiplet Accelerators
Xiao et al. Pedal to the Bare Metal: Road Traffic Simulation on FPGAs Using High-Level Synthesis
Dhar Reconfigurable and heterogeneous architectures for efficient computing
Atef A Modular Platform for Adaptive Heterogeneous Many-Core Architectures
Nagi Efficient, Scalable and High-Throughput Runtime Reconfigurable Arrays for Accelerator as a Service
Nguyen A Modular Design Flow for NoC-embedded FPGAs
Enemali Efficient runtime placement management for high performance and reliability in COTS FPGAs
Dylan Introduction to reconfigurable computing
Ang et al. ACRES architecture and compilation
CEA et al. ARCHITECTURES AND TECHNOLOGIES

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: FUJI XEROX CO., LTD.

Free format text: FORMER OWNER: IP PHILLY CO., LTD.

Effective date: 20100420

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

Effective date of registration: 20100420

Address after: Tokyo, Japan, Japan

Patentee after: Fuji Xerox Corp.

Address before: Tokyo, Japan, Japan

Patentee before: IP Flex Inc.

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

Address after: Tokyo, Japan

Patentee after: Fuji film business innovation Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: Fuji Xerox Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220111

Address after: No.46, 16 / F, 2 D, Nampo tin, OTA District, Tokyo, Japan

Patentee after: TOKYO KEIKI Inc.

Address before: Tokyo, Japan

Patentee before: Fuji film business innovation Co.,Ltd.

TR01 Transfer of patent right