CN1713133A - 可重构处理器和半导体器件 - Google Patents

可重构处理器和半导体器件 Download PDF

Info

Publication number
CN1713133A
CN1713133A CNA2005100051358A CN200510005135A CN1713133A CN 1713133 A CN1713133 A CN 1713133A CN A2005100051358 A CNA2005100051358 A CN A2005100051358A CN 200510005135 A CN200510005135 A CN 200510005135A CN 1713133 A CN1713133 A CN 1713133A
Authority
CN
China
Prior art keywords
switching condition
arithmetic
logic unit
output
unit group
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
CNA2005100051358A
Other languages
English (en)
Other versions
CN100412789C (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.)
Fujitsu Semiconductor Ltd
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 CN1713133A publication Critical patent/CN1713133A/zh
Application granted granted Critical
Publication of CN100412789C publication Critical patent/CN100412789C/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
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供了一种可以更自由地切换应用的可重构处理器。切换条件关联部件将来自多个算术和逻辑单元模块的输出关联到以切换条件代码指示的多个状态,其中,来自多个算术和逻辑单元模块的输出被用作切换算术和逻辑单元组的运算的切换条件。当切换条件代码输出部件基于被设置为切换条件的来自多个算术和逻辑单元模块的输出来判定切换条件成立时,切换条件代码输出部件输出与成立的切换条件相对应的切换条件代码。当序列器接受切换条件代码时,序列器将算术和逻辑单元组切换到对应于切换条件代码的状态。

Description

可重构处理器和半导体器件
技术领域
本发明涉及可重构处理器和半导体器件,更具体地说,本发明涉及包括算术和逻辑单元组以及用于控制算术和逻辑单元组运算的序列器的可重构处理器和半导体器件,其中,算术和逻辑单元组包括多个算术和逻辑单元。
背景技术
在产品交付之后可能需要进行改变规格、增加功能、增加新的服务等等。通常,提供可重构处理器来改变功能,而不需要重新制造器件。传统的可重构处理器只需通过替换电路配置信息就可满足上述情况。
例如,IP-Flex制造的数字应用处理器/分布式网络体系结构(注册商标)(DAP/DNA)和NEC制造的动态可重构处理器(DRP)被公知为这样的可重构处理器。
DAP/DNA包括多个二维排列的复合算术和逻辑单元模块以及多条信息,并通过切换这些条信息处理不同的运算,在所述多条信息中,描述了每个模块中的配置以及算术和逻辑单元之间的联系。
DRP包括多个二维排列的算术和逻辑单元模块,其中每个算术和逻辑单元模块包括指令存储器、指令解码器以及算术和逻辑单元。多个算术和逻辑单元模块的运算由状态转换管理部件管理。状态转换管理部件含有状态转换表。状态转换管理部件根据状态转换表指定将由每个算术和逻辑单元模块执行的指令存储器中的地址,从而选择任意指令并使每个算术和逻辑单元模块执行该指令。
人们提出了诸如数据流处理器(DFP)的技术,该技术用于动态地重构包括多个二维排列或多维排列的单元的可配置模块(例如参见日本PCT申请翻译公开No.2001-510650,图2)。
然而,以传统的可重构处理器,不能自由地设置用来产生切换应用的条件的定时。
图13是示出了用于在传统DAP/DNA中切换算术和逻辑单元组内容的方法的简化图。在DAP/DNA的情形中,当分配给一个装置的运算终止并且执行分配给下一个装置的运算时,中断信号904从DNA 902被发送到DAP 901,其中,DNA 902为算术和逻辑单元组,DAP 901为通用CPU,响应于中断信号904,装置切换信号905从DAP 901被输出到DNA 902,并且装置被切换。在装置被切换后,启动信号903从DAP 901被输出到DNA 902,并且开始进行分配给下一个装置的运算。而且,在数据写入到外部存储器后,判定切换条件是否成立。
如上所述,只有在分配给一个装置的运算终止后或者在数据写入到外部存储器后,才可以判定用于切换DNA 902中的装置并重构DNA 902的条件是否成立。也就是说,当DNA 902中正在执行进程时,不能判定切换装置的条件是否成立。
这与DRP相同。在由一组二维排列的算术和逻辑单元执行的一连串处理终止后,切换条件信号被输出到状态控制管理部件。
此外,通过利用动态重构可配置模块的技术,作为对一个事件或事件组合发生的响应,模块被重构。因此,切换时序是确定的。
如上所述,以传统的可重构处理器,用来判定切换应用的条件是否成立的定时是受限的,并且不能自由地设置用来产生切换应用的条件的定时。这对应用设计进行了约束,导致了难以实现期望的应用。
例如,为了执行多重FOR语句,希望拥有用于实现这些多重FOR语句的多个计数器。然而,基于从算术和逻辑单元输出的信息,不可能转换到下一个状态。因此,以传统的可重构处理器不能执行多重FOR语句,或者必须采用相当冗余的配置以执行多重FOR语句。
发明内容
本发明的目的是提供一种可重构处理器和半导体器件,所述可重构处理器和半导体器件可以基于来自包括在算术和逻辑单元组中的任何组件的输出,判定用于切换由算术和逻辑单元组执行的应用的条件。
本发明提供了一种具有算术和逻辑单元组以及序列器的可重构处理器,其中,算术和逻辑单元组包括多个算术和逻辑单元,序列器用于控制算术和逻辑单元组的运算。该可重构处理器包括切换条件关联部件和切换条件代码输出部件,其中,切换条件关联部件用于使用来自包括在算术和逻辑单元组中的任何组件的输出作为切换条件,以切换算术和逻辑单元组的运算,并且将输出与切换条件代码关联起来;切换条件代码输出部件用于每当产生由切换条件关联部件设置为切换条件的来自组件的输出时,判定切换条件是否成立,并且输出与成立的切换条件相对应的切换条件代码。
此外,本发明提供了一种具有算术和逻辑单元组以及序列器的半导体器件,其中,算术和逻辑单元组包括多个算术和逻辑单元,序列器用于控制算术和逻辑单元组的运算,并且在所述半导体器件中算术和逻辑单元组的运算状态由序列器重构。该半导体器件包括切换条件关联部件、切换条件代码输出部件和序列器,其中,切换条件关联部件用于使用来自包括在算术和逻辑单元组中的任何组件的输出作为切换条件,以切换算术和逻辑单元组的运算,并且将输出与切换条件代码关联起来;切换条件代码输出部件用于每当产生由切换条件关联部件设置为切换条件的来自组件的输出时,判定切换条件是否成立,并且输出与成立的切换条件相对应的切换条件代码;序列器用于根据从切换条件代码输出部件输出的切换条件代码,切换算术和逻辑单元组的运算状态。
从下面结合附图的描述中,本发明上述和其他的目的、特征和优点将变得清楚,其中,附图通过示例的方式图示了本发明的优选实施例。
附图说明
图1是适用于各实施例的本发明的原理图。
图2是示出了根据本发明实施例的可重构处理器的整体结构的方框图。
图3示出了根据本发明实施例的配置存储器的结构示例。
图4示出了根据本发明实施例的配线和开关的结构示例。
图5是示出了根据本发明实施例的算术和逻辑单元组的配置示例的方框图,其中,算术和逻辑单元组用于判定切换条件是否成立。
图6示出了根据第一实施例的切换条件判决电路的结构。
图7示出了根据第二实施例的切换条件判决电路的结构。
图8是示出了第二实施例中计数器模块的结构示例的方框图。
图9示出了根据第三实施例的切换条件判决电路的结构。
图10示出了第三实施例中可编程开关的结构示例。
图11示出了根据第四实施例的切换条件判决电路的结构。
图12示出了根据第五实施例的切换条件判决电路的结构。
图13是示出了用于在传统DAP/DNA中切换算术和逻辑单元组内容的方法的简化图。
具体实施方式
下面将参考附图描述本发明的实施例。首先将给出应用到实施例上的本发明的概论,然后将描述实施例的具体内容。
图1是应用到实施例上的本发明的原理图。
在根据本发明的可重构处理器中,执行运算处理的算术和逻辑单元组由序列器(未示出)控制。用于确定算术和逻辑单元组的运算的多条设置信息被提前设置,其中,所述多条设置信息例如是包括在算术和逻辑单元组中的多个算术和逻辑单元之间的联系与每个算术和逻辑单元所执行的处理。序列器根据预定的切换条件切换这些条设置信息,以控制算术和逻辑单元组的运算。
算术和逻辑单元组包括算术和逻辑单元模块1a、1b、1c和1d,切换条件关联部件2以及切换条件代码输出部件3,其中每个算术和逻辑单元模块1a、1b、1c和1d执行唯一的运算进程。
每个算术和逻辑单元模块1a、1b、1c和1d执行例如算术运算、逻辑运算、计数和地址生成的进程,并且经由切换条件关联部件2连接到切换条件代码输出部件3。每当运算终止时,每个算术和逻辑单元模块1a、1b、1c和1d都将产生的运算结果输出到切换条件代码输出部件3。
切换条件关联部件2将来自算术和逻辑单元模块1a的输出关联到切换条件代码,所述输出被用作切换算术和逻辑单元组的运算状态的切换条件。在这个示例中,切换条件代码被表述为状态1、状态2、状态3和状态4。状态1关联部件2a将来自算术和逻辑单元模块1a的输出关联到状态1。也就是说,根据来自算术和逻辑单元模块1a的输出,产生作为切换条件代码的状态1。类似地,状态2关联部件2b将来自算术和逻辑单元模块1b的输出关联到状态2,状态3关联部件2c将来自算术和逻辑单元模块1c的输出关联到状态3,状态4关联部件2d将来自算术和逻辑单元模块1d的输出关联到状态4。
切换条件代码输出部件3接受来自算术和逻辑单元模块1a、1b、1c和1d的输出并判定切换条件是否成立,其中,切换条件代码输出部件3经由切换条件关联部件2连接到算术和逻辑单元模块1a、1b、1c和1d。例如,切换条件代码输出部件3将来自算术和逻辑单元模块的输出与预定参考值相比较。如果两者匹配,则切换条件代码输出部件3判定切换条件成立。此时切换条件代码输出部件3输出与来自算术和逻辑单元模块的输出相关联的切换条件代码。输出的切换条件代码指示序列器使得算术和逻辑单元组要转变到的下一个状态。
下面将描述具有上述结构的可重构处理器的操作。
切换条件关联部件2将来自算术和逻辑单元模块1a、1b、1c和1d的输出关联到切换条件代码,所述输出被用作切换算术和逻辑单元组状态的条件。算术和逻辑单元模块1a、1b、1c和1d将运算结果输出到切换条件代码输出部件3,其中,来自算术和逻辑单元模块1a、1b、1c和1d的输出被切换条件关联部件2设置为切换条件。每当算术和逻辑单元模块1a、1b、1c和1d进行运算时,切换条件代码输出部件3从产生的运算结果判定切换算术和逻辑单元组状态的条件是否成立。如果切换算术和逻辑单元组状态的条件成立,则切换条件代码输出部件3输出与条件相关联的切换条件代码。输出的切换条件代码被输入到序列器中。序列器基于切换条件代码来切换算术和逻辑单元组的状态。
如上所述,每当算术和逻辑单元模块运行时,都要判定切换条件是否成立。结果,可在执行应用的期间内的任何时刻切换算术和逻辑单元组的状态。而且,可以同时对多个算术和逻辑单元模块进行判定切换条件是否成立。与传统的可重构处理器相比,这样做缩短了处理时间,其中,在传统的可重构处理器中,在一连串进程终止之后,判定切换条件是否成立。
可通过将包括在算术和逻辑单元组中的多个算术和逻辑单元模块或专用模块组合起来,以实现包括在根据本发明的可重构处理器内的切换条件关联部件2和切换条件代码输出部件3,其中,在专用模块中拥有用于判定切换条件是否成立的机制。例如,用于执行预定运算的算术和逻辑单元,用于接受从算术和逻辑单元输出的值、将其与参考值相比较并输出判决结果作为标记的比较器,用于根据从比较器输出的标记输出预定切换条件代码的选择器等等被组合起来以判定切换条件是否成立。专用切换条件判决电路可位于算术和逻辑单元组外部。
下面将参考附图详细描述本发明实施例的具体内容。
图2是示出了根据本发明实施例的可重构处理器的整体结构的方框图。
可重构处理器包括算术和逻辑单元组10和序列器20,其中,算术和逻辑单元组10包括多个排列的算术和逻辑单元,序列器20用于控制包括在算术和逻辑单元组10中的每个算术和逻辑单元模块的运算。
算术和逻辑单元组10包括配置存储器11、配线和开关12、组分算术和逻辑单元模块13a、13b、...和13c、数据存储器件13d、13e等等,以及计数器13f。
配置存储器11存储设置信息以设置算术和逻辑单元组10的运算,所述设置信息例如是要被包括在算术和逻辑单元组10中的每个算术和逻辑单元模块执行的内容、各个算术和逻辑单元模块之间的配线通路以及运算所必需的数据。一条设置信息对应于算术和逻辑单元组10的一种电路配置“状态”。多个状态设定在配置存储器11中。算术和逻辑单元组10运行在序列器20所指定的状态。每个算术和逻辑单元模块以及配线和开关12根据在配置存储器11中设置的内容运行。配线和开关12包括配线部件和切换部件,所述配线部件和切换部件根据在配置存储器11中设置的内容,在各个算术和逻辑单元模块之间进行连接并切换连接。每个算术和逻辑单元模块13a、13b、...和13c对经由配线和开关12输入的输入信号执行预定的运算,并经由配线和开关12输出结果。算术和逻辑单元模块具有数据存储器件13d、13e等等和计数器13f,其中,数据存储器件13d、13e等等为存储器或寄存器,用于存储数据处理所需的数据。此外,每个算术和逻辑单元模块具有与外部单元、地址生成器等交换数据和地址的接口。在图2中,配置存储器1 1位于算术和逻辑单元组10内。然而,配置存储器11也可位于序列器20内,或者位于算术和逻辑单元组10与序列器20外部。此外,配置存储器11可被分割以分别位于算术和逻辑单元组10与序列器20内。
序列器20包括状态控制部件21、状态表22和当前状态地址寄存器23。
状态控制部件21响应于从算术和逻辑单元组10输入的切换条件信号,设置算术和逻辑单元组10下一步将要转变到的状态。该切换条件信号包括切换条件发生的通知和切换条件代码。状态表22中使用的地址与配置存储器11中使用的地址相同。状态表22中的每个条目存储指示转变到下一条目的操作代码和可能被选择的条目的地址。当前状态地址寄存器23存储指示当前状态的地址(在状态表22和配置存储器11中)。
在上述可重构处理器中,算术和逻辑单元组10运行在这样的状态中,所述状态建立在序列器20所指定的配置存储器11中的特定地址内的设置信息基础上。当基于来自算术和逻辑单元模块的输出而做出切换条件成立的判决时,包括切换条件代码的切换条件信号被从算术和逻辑单元组10发送到序列器20。
在序列器20中,切换条件信号启动状态控制部件21,从切换条件代码和状态表22中的条目确定算术和逻辑单元组10下一步将要转变到的状态,计算登记了指示状态的设置信息的地址(目标地址),并在当前状态地址寄存器23、状态表22和配置存储器11中设置所计算的目标地址。结果,配置存储器11中的特定地址被改变为目标地址,且算术和逻辑单元组10转变到该状态。
下面将详细描述算术和逻辑单元组10。首先将描述配置存储器11,然后将描述配线和开关12。
图3示出了根据本发明实施例的配置存储器的结构。
配置存储器11存储用于确定每个状态中算术和逻辑单元组10的运算的配置数据。在这个示例中,根据状态存储了配置数据111、112、113、114等等。每个状态通过地址管理。
对于每个状态,存储了运算模式111a、可重构电路设计信息111b、状态1(111c)、状态2(111d)、状态3(111e)和状态4(111f)。运算模式111a是标识该状态的信息。可重构电路设计信息111b是指示在该运算模式中可重构电路内的每个算术和逻辑单元的运算以及各个算术和逻辑单元之间联系的设计信息。该电路配置的下一个状态的备选项被描述为状态1(111c)、状态2(111d)、状态3(111e)和状态4(111f)。实际上,配置存储器11中的地址是直接记录的,或者记录了可通过执行运算直接产生这些地址的数据。每个备选状态与切换条件相关联。当切换条件成立时,执行转变到相应状态的进程。如何将备选状态关联到切换条件将在后文描述。
在这个示例中,登记的备选状态的数目为4,但是可登记任意数目的备选状态。
下面将描述配线和开关12。图4示出了根据本发明实施例的配线和开关的结构示例。
在算术和逻辑单元组10的输入侧,有触发器(FF)以及位于触发器前面的选择器。在这个示例中,选择器(SEL)12a和12c以及FF 12b和12d位于算术和逻辑单元模块13a的输入侧。类似地,SEL 12e和FF 12f位于数据存储器件(存储器)13d的输入侧。算术和逻辑单元或存储器的输出端口连接到每个选择器的输入端口。
算术和逻辑单元组的配置由上述配置存储器以及配线和开关确定。
下面将描述算术和逻辑单元组10的配置示例。图5是示出了根据本发明实施例的算术和逻辑单元组的配置示例的方框图,其中,算术和逻辑单元组用于判定切换条件是否成立。在图5中,未示出包括在配线和开关12中的选择器和FF。
通过这个算术和逻辑单元组10的配置示例,基于从算术和逻辑单元模块131输出的运算结果来判定切换条件是否成立,并且产生预定的切换条件代码。算术和逻辑单元组10包括用于执行预定运算的算术和逻辑单元模块131、用于比较输入值与参考值的算术和逻辑单元模块132、用于输出预定的“切换条件代码”的算术和逻辑单元模块133以及用于延时输入信号并将其作为“切换条件发生”的通知输出的延时单元134。从算术和逻辑单元模块131输出的运算结果由配线和开关12输入到算术和逻辑单元模块132中,算术和逻辑单元模块132判定切换条件是否成立。从算术和逻辑单元模块132输出的切换条件是否成立的判决结果由配线和开关12输入到算术和逻辑单元模块133和延时单元134中,其中,算术和逻辑单元模块133产生“切换条件代码”,延时单元134产生“切换条件发生”的通知。
在以这种方式配置的算术和逻辑单元组10中,由算术和逻辑单元模块131执行的运算结果被输出到算术和逻辑单元模块132中。算术和逻辑单元模块132将输入的运算结果与其预先保存的参考值相比较,并将结果作为切换条件是否成立的判决结果输出。例如,如果运算结果为0,则输出判决切换条件成立。当输入切换条件成立的判决时,算术和逻辑单元模块133输出“切换条件代码”。延时单元134延时输入并将其输出。也就是说,当从算术和逻辑单元模块132输出切换条件成立的判决时,从算术和逻辑单元模块133输出“切换条件代码”并且在经过预定延时时间后从延时单元134输出“切换条件发生”的通知。以这种方式,指示切换条件成立的切换条件信号被输入到序列器20中。可以任意设置由延时单元134引起的延时时间。例如,该延时时间可以为0。
在这个示例中,算术和逻辑单元模块132基于从算术和逻辑单元模块131输入的运算结果来判定切换条件是否成立。然而,判定切换条件是否成立的机制也可位于算术和逻辑单元模块131中。这样的机制可位于所有的算术和逻辑单元模块中,或者只位于其中一部分中。
此外,在这个示例中,算术和逻辑单元模块133根据从算术和逻辑单元模块132输出的判决结果,产生固定的切换条件代码。然而,切换条件是否成立的判决可以从多个算术和逻辑单元模块输出到产生切换条件代码的算术和逻辑单元模块133中。在这种情况下,产生的切换条件代码取决于哪一个算术和逻辑单元模块输出切换条件是否成立的判决。结果,如果算术和逻辑单元组将转换到的下一个状态存在n个备选,则可以基于n个有关切换条件是否成立的判决中的最大值来确定n个备选中的一个,通过n个备选中所确定的这一个可获得真值。
另外,在这个示例中,有一个切换条件判决电路。然而,可以有任意数目的切换条件判决电路,其中,每个电路都与上述的一个相同。通过拥有多个切换条件判决电路,可以同时进行多个切换条件是否成立的判决。
下面将依次描述根据第一到第五实施例的机制,在所述机制中,算术和逻辑单元组进行切换条件是否成立的判决。在下面的描述中,这些机制将通过简化的电路示出,但实际上这些机制包括如图4所示的算术和逻辑单元模块以及配线和开关。
[第一实施例]
在第一实施例中,判定切换条件是否成立的算术和逻辑单元模块与切换条件代码之间的关系由硬件固定。
图6示出了根据第一实施例的切换条件判决电路的结构。在根据第一实施例的切换条件判决电路中,来自算术和逻辑单元模块301、302、303和304的输出被输入到选择器开关401中。
每个算术和逻辑单元模块301、302、303和304执行预定运算。此外,每个算术和逻辑单元模块301、302、303和304将运算结果与切换条件在该点成立的参考值相比较,并将其是否匹配,也即切换条件是否成立作为标记信息输出。每个算术和逻辑单元模块301、302、303和304可以是在程序块中执行这些进程的算术和逻辑单元模块,或者是只执行运算的算术和逻辑单元与进行比较的比较器的组合。
选择器开关401有四个输入端。由硬件产生的固定的状态值被输入到每个输入端中。例如,连接到第一输入端的算术和逻辑单元模块总是产生状态1。类似地,连接到第二输入端的算术和逻辑单元模块总是产生状态2,连接到第三输入端的算术和逻辑单元模块总是产生状态3,连接到第四输入端的算术和逻辑单元模块总是产生状态4。结果,算术和逻辑单元模块301、302、303和304分别关联到状态1、2、3、4。
在上述的切换条件判决电路中,如果设置标记信息例如从算术和逻辑单元模块301输出,则从选择器开关401输出状态1。如果以这种方式设置从每个算术和逻辑单元模块输出标记信息,则输出与该算术和逻辑单元模块相关联的状态。
在这个示例中,选择器开关401是选择四个输入信号中的一个的4选1开关。然而,也可使用另一种类型的选择器开关。选择器开关上的输入端或输出端的数目没有限制。例如,可使用4选1或7选4选择器开关。
如果同时指示多个状态的条件成立,则选择具有更高优先级的状态并输出。在这种情况下,优先级预先保存在硬件中,或预先注册为设置信息。
[第二实施例]
在第一实施例中,通过使用来自算术和逻辑单元模块的输出判定切换条件是否成立。在第二实施例中,还使用来自计数器模块的输出判定切换条件是否成立。图7示出了根据第二实施例的切换条件判决电路的结构。
在根据第二实施例的切换条件判决电路中,来自算术和逻辑单元模块306和308以及计数器模块305和307的输出被输入到选择器开关402中。选择器开关402的操作与第一实施例中的选择器开关401相同。
下面将描述计数器模块305和307的结构。图8是示出了第二实施例中计数器模块的结构示例的方框图。
每个计数器模块包括用于保存切换条件在该点成立的参考值的参考值寄存器501、用于计数例如时钟信号的输入信号数目的计数器502以及用于将计数器502的值与参考值寄存器501保存的参考值相比较,并将比较结果作为标记信息输出的标记生成器(比较器)503。参考值寄存器501将来自算术和逻辑单元模块的输出或设置为配置数据的数据保存为参考值。
在每个具有上述结构的计数器模块中,标记生成器(比较器)503将计数器502指示为预定输入信号数目的计数结果的值与参考值寄存器501保存的参考值相比较。如果两者匹配,则标记生成器(比较器)503输出指示切换条件成立的标记信息。
当设置从具有上述结构的计数器模块305和307的其中之一输出标记信息或者从算术和逻辑单元模块306和308的其中之一输出标记信息时,选择器开关402输出响应的状态。这与第一实施例相同。
在这个示例中,来自算术和逻辑单元模块与计数器模块的输出被用于判定切换条件是否成立。然而,只有来自计数器模块的输出可用于判定切换条件是否成立。如果算术和逻辑单元模块是地址生成器,则可以同样方式建立切换条件判决电路,在所述切换条件判决电路中,基于由每个地址生成器产生的预定地址来判定切换条件是否成立。
[第三实施例]
在第一和第二实施例中,算术和逻辑单元模块与状态之间的联系由硬件固定。然而在第三实施例中,算术和逻辑单元模块与状态之间的联系以可编程方式设置。图9示出了根据第三实施例的切换条件判决电路的结构。
在根据第三实施例的切换条件判决电路中,来自第一实施例中算术和逻辑单元模块301、302、303和304的输出被输入到可编程开关403中。可编程开关403经由总线接受来自程序信息寄存器404的设置信息,并输出与算术和逻辑单元模块301、302、303和304其中之一的标记信息相关联的状态,其中,程序信息寄存器404存储用于确定算术和逻辑单元模块与状态之间的对应关系的程序信息,标记信息由设置信息设定。
图10示出了第三实施例中可编程开关的结构示例。
可编程开关403包括与(AND)电路、选择器和或(OR)电路。
每个AND电路计算来自算术和逻辑单元模块的输出与状态的逻辑积,并将其输出到为算术和逻辑单元模块而设置的选择器中。例如,AND4031计算来自算术和逻辑单元模块的输出FLAG1与状态1的逻辑积,AND 4032计算FLAG1与状态2的逻辑积,AND 4033计算FLAG1与状态3的逻辑积,AND 4034计算FLAG1与状态4的逻辑积。类似地,AND4035计算来自算术和逻辑单元模块的输出FLAG4与状态1的逻辑积,AND 4036计算FLAG4与状态2的逻辑积,AND 4037计算FLAG4与状态3的逻辑积,AND 4038计算FLAG4与状态4的逻辑积。以同样方式,对于输出FLAG2和FLAG3的算术和逻辑单元模块,也设置了AND电路。
选择器403a、...和403b中的每一个接受来自为每条FLAG信息而设置的AND电路的输出,并且基于存储在程序信息寄存器404a中的程序信息,选择并输出AND电路之一的输出。例如,对于FLAG1,有选择器403a,选择器403a选择并输出程序信息所设置的AND电路4031、4032、4033和4034之一的输出。存储在程序信息寄存器404a中的信息与存储在设置了多个电路配置的配置存储器中的信息相同。类似地,对于FLAG4,有选择器403b,选择器403b选择并输出程序信息所设置的AND电路4035、4036、4037和4038之一的输出。
OR电路403c计算选择器403a、...和403b的输出的逻辑和,并将其作为下一个状态输出。
通过以这种方式使用可编程开关将算术和逻辑单元模块关联到状态,可以更自由地进行设计。
[第四实施例]
在第一到第三实施例中,通过使用来自算术和逻辑单元模块或计数器模块的输出判定切换条件是否成立。然而在第四实施例中,当存储器接口读/写预定存储器或预定数据时,切换条件成立。图11示出了根据第四实施例的切换条件判决电路的结构。
根据第四实施例的切换条件判决电路包括用于在存储器部件601被读出时判定切换条件是否成立的比较器602、参考值寄存器603和可变移位器604,以及用于在存储器部件601被写入时判定切换条件是否成立的比较器605、参考值寄存器606和可变移位器607。
比较器602和605中的每一个在读出或写入时间内接受地址或数据,将其与参考值寄存器603或606中保存的参考值相比较,并判定切换条件是否成立,其中,在参考值点切换条件成立。
可变移位器604和607中的每一个接受比较器602或605产生的指示切换条件是否成立的标记信息,将其延时预定时间并输出。延时时间是可变的。结果,算术和逻辑单元组的状态可在例如写入存储器部件601的动作终止时切换。
在具有上述结构的切换条件判决电路中,通过在存储器部件601中预先设置例如预定地址的数据,或者在参考值寄存器603或606中预先设置指示存储数据结束的特殊代码,当执行从预定地址中读出的操作或写入预定地址的操作时或者当读出或写入预定数据时,切换条件成立。
比较器602和605中的每一个将地址或数据与参考值寄存器603或606中保存的参考值相比较,并判定切换条件是否成立。每个可变移位器604和607将指示切换条件成立的标记信息延时任意时间并输出。
[第五实施例]
在第五实施例中,将描述多重FOR语句的执行情况。图12示出了根据第五实施例的切换条件判决电路的结构。
在根据第五实施例的切换条件判决电路中,多个计数器模块通过进位输出串联。在这个示例中,来自计数器模块701的进位输出被输入到计数器模块702中,来自计数器模块702的进位输出被输入到计数器模块703中。每个计数器模块的结构与图8中所示的计数器模块相同。当计数值匹配切换条件在该点成立的参考值时,每个计数器模块输出标记信息并产生进位输出。此外,每个计数器模块701、702和703与状态相关联。在这个示例中,计数器模块701、702和703分别关联到状态2、3和4。
在具有上述结构的切换条件判决电路中,当计数器模块701达到预定参考值时,对应于状态2的标记信息被输出,且进位被输出到计数器模块702。此时计数器模块702开始计数。当计数器模块702达到参考值时,对应于状态3的标记信息被输出,且进位被输出到计数器模块703。此时计数器模块703开始计数。当计数器模块703达到参考值时,对应于状态4的标记信息被输出。因此,即使每个计数器模块701、702和703中可使用的比特位很小,计数器模块701、702和703的整体可使用的比特位也较大。此外,通过定义根据状态的预定应用,当每个切换条件成立时可以执行进程。因此,可以执行多重FOR语句中的每一个。
例如,为了执行多重FOR语句
FOR(条件A){
 状态3
  FOR(条件B){
   状态2
    FOR(条件C){
     状态1
     }
    }
   }
在最内层FOR语句中执行的进程表示为状态1,在最内层FOR语句外层的FOR语句中执行的进程表示为状态2,在该层FOR语句外层的FOR语句中执行的进程表示为状态3。此外,计数器模块701判定切换条件C是否成立,计数器模块702判定切换条件B是否成立,计数器模块703判定切换条件A是否成立。
结果,当切换条件C成立且计数器模块701输出标记(状态2)时,状态1终止且开始执行状态1外层的FOR语句中的状态2。类似地,当切换条件B成立且计数器模块702输出标记(状态3)时,状态2终止且开始执行状态3。通常是不可能执行多重FOR语句的。然而,通过以这种方式使用串联的计数器模块中的每一个作为多重FOR语句的其中之一的计数器,可以容易地执行多重FOR语句。
在本发明中,来自包括在算术和逻辑单元组中的算术和逻辑单元模块的输出被预先关联到切换条件代码,其中,基于所述切换条件代码来切换算术和逻辑单元组的运算状态。每当算术和逻辑单元模块运行时,都要判定切换条件是否成立。如果切换条件成立,则输出相应的切换条件代码。因此,每当算术和逻辑单元模块运行时,都可以判定切换条件是否成立。也就是说,可以更自由地判定切换条件是否成立。结果,可以容易地实现期望的应用。
另外,可以同时对多个算术和逻辑单元模块进行切换条件是否成立的判决。这样做与在一连串进程终止之后再判定切换条件是否成立的情况相比,缩短了处理时间。
前述应当认为只是对本发明原理的说明。另外,因为本领域的技术人员可以容易地进行大量修正和改变,所以本发明并不希望被严格限制在所图示和描述的构造和应用上,因此,所附权利要求和其等同物中所有合适的修正和等同物都可认为落在本发明的范围内。

Claims (11)

1.一种具有算术和逻辑单元组以及序列器的可重构处理器,其中,所述算术和逻辑单元组包括多个算术和逻辑单元,所述序列器用于控制所述算术和逻辑单元组的运算,所述处理器包括:
切换条件关联部件,用于使用来自包括在所述算术和逻辑单元组中的任何组件的输出作为切换条件,以切换所述算术和逻辑单元组的运算,并且将所述输出与切换条件代码关联起来;以及
切换条件代码输出部件,用于每当产生由所述切换条件关联部件设置为切换条件的来自所述组件的输出时,判定所述切换条件是否成立,并且输出与成立的切换条件相对应的切换条件代码。
2.如权利要求1所述的可重构处理器,其中,所述切换条件关联部件通过配线预先将来自预定组件的输出与所述切换条件代码关联起来。
3.如权利要求1所述的可重构处理器,其中,所述切换条件关联部件将来自任何组件的输出与所关联的切换条件代码之间的联系作为程序信息存储在程序信息存储部件中。
4.如权利要求1所述的可重构处理器,其中,所述切换条件代码输出部件管理来自所述组件的输出与所述切换条件代码之间的多个对应关系,并且在对于所输入的来自多个组件的输出,切换条件都成立的情况下,根据预先确定的优先级选择切换条件代码之一。
5.如权利要求1所述的可重构处理器,其中:
所述算术和逻辑单元组基于设置信息来运行,在所述设置信息中,描述了所述组件的运算和各个组件之间的联系;以及
通过将包括在所述算术和逻辑单元组中的组件的组合登记在所述设置信息中,建立所述切换条件关联部件和所述切换条件代码输出部件。
6.如权利要求1所述的可重构处理器,其中,在其输出与所述切换条件相关联的组件当中包括算术和逻辑单元模块,该算术和逻辑单元模块包括:
用于执行预定运算的算术和逻辑单元;
用于存储切换条件在该点成立的参考值的参考值存储部件;以及
用于将从所述算术和逻辑单元输出的运算结果与存储在所述参考值存储部件中的参考值进行比较,并输出比较结果的比较器。
7.如权利要求1所述的可重构处理器,其中,在其输出与所述切换条件相关联的组件当中包括计数器模块,该计数器模块包括:
用于计数预定数目的计数器;
用于存储切换条件在该点成立的参考计数值的参考值存储部件;以及
用于将所述计数器的当前值与存储在所述参考值存储部件中的参考计数值进行比较,并输出比较结果的比较器。
8.如权利要求7所述的可重构处理器,其中:
多个计数器模块通过从每个计数器模块输出的进位串联;并且
所述切换条件代码被所述切换条件关联部件关联到串联的所述多个计数器模块以执行多重FOR语句。
9.如权利要求1所述的可重构处理器,其中,在其输出与所述切换条件相关联的组件当中包括存储器模块,该存储器模块包括:
用于存储预定数据的存储器部件;
用于存储所述存储器部件中的参考地址或者切换条件借助其成立的参考数据的参考值存储部件;以及
用于将所述存储器部件被写入或读出时所指定的地址或者写入或读出的数据与存储在所述参考值存储部件中的所述参考地址或参考数据进行比较,并输出比较结果的比较器。
10.如权利要求9所述的可重构处理器,其中,所述存储器模块还包括延时单元,所述延时单元用于接受来自所述比较器的输出,将所述输出延时任意时间,并输出所述输出。
11.一种具有算术和逻辑单元组以及序列器的半导体器件,其中,算术和逻辑单元组包括多个算术和逻辑单元,序列器用于控制所述算术和逻辑单元组的运算,所述算术和逻辑单元组的运算状态由所述序列器重构,所述器件包括:
切换条件关联部件,用于使用来自包括在所述算术和逻辑单元组中的任何组件的输出作为切换条件,以切换所述算术和逻辑单元组的运算,并且将所述输出与切换条件代码关联起来;以及
切换条件代码输出部件,用于每当产生由所述切换条件关联部件设置为切换条件的来自所述组件的输出时,判定所述切换条件是否成立,并且输出与成立的切换条件相对应的切换条件代码,并且
其中
所述序列器根据从所述切换条件代码输出部件输出的切换条件代码,切换所述算术和逻辑单元组的运算状态。
CNB2005100051358A 2004-06-25 2005-01-28 可重构处理器和半导体器件 Expired - Fee Related CN100412789C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP188095/2004 2004-06-25
JP2004188095A JP2006011825A (ja) 2004-06-25 2004-06-25 再構成可能演算装置および半導体装置

Publications (2)

Publication Number Publication Date
CN1713133A true CN1713133A (zh) 2005-12-28
CN100412789C CN100412789C (zh) 2008-08-20

Family

ID=35148782

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100051358A Expired - Fee Related CN100412789C (zh) 2004-06-25 2005-01-28 可重构处理器和半导体器件

Country Status (4)

Country Link
US (1) US20050289327A1 (zh)
EP (1) EP1615142A3 (zh)
JP (1) JP2006011825A (zh)
CN (1) CN100412789C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782893A (zh) * 2009-01-21 2010-07-21 上海芯豪微电子有限公司 可重构数据处理平台
CN102207851A (zh) * 2011-05-27 2011-10-05 清华大学 一种动态可重构处理器内调用立即数的方法
CN104067282A (zh) * 2011-12-15 2014-09-24 美光科技公司 状态机晶格中的计数器操作
CN104461463A (zh) * 2013-09-20 2015-03-25 威盛电子股份有限公司 用于微处理器的动态重设方法
CN112602058A (zh) * 2018-06-29 2021-04-02 弗索拉公司 处理器存储器存取

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006302132A (ja) * 2005-04-22 2006-11-02 Yaskawa Electric Corp 信号処理装置及び再構成可能論理回路装置及び再構成可能順序回路
JP2008059066A (ja) * 2006-08-29 2008-03-13 Matsushita Electric Ind Co Ltd コンパイラ装置および半導体集積回路装置
JP5141151B2 (ja) * 2007-09-20 2013-02-13 富士通セミコンダクター株式会社 動的再構成回路およびループ処理制御方法
JP4911022B2 (ja) * 2007-12-27 2012-04-04 富士通セミコンダクター株式会社 カウンタ制御回路、動的再構成回路およびループ処理制御方法
US9304968B2 (en) 2012-07-18 2016-04-05 Micron Technology, Inc. Methods and devices for programming a state machine engine
CN103207852B (zh) * 2013-04-03 2016-03-02 北京华清瑞达科技有限公司 多总线嵌入式处理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646544A (en) * 1995-06-05 1997-07-08 International Business Machines Corporation System and method for dynamically reconfiguring a programmable gate array
US5583450A (en) * 1995-08-18 1996-12-10 Xilinx, Inc. Sequencer for a time multiplexed programmable logic device
US6023564A (en) * 1996-07-19 2000-02-08 Xilinx, Inc. Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
US5970254A (en) * 1997-06-27 1999-10-19 Cooke; Laurence H. Integrated processor and programmable data path chip for reconfigurable computing
US5915123A (en) * 1997-10-31 1999-06-22 Silicon Spice Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
US6282627B1 (en) * 1998-06-29 2001-08-28 Chameleon Systems, Inc. Integrated processor and programmable data path chip for reconfigurable computing
US6205537B1 (en) * 1998-07-16 2001-03-20 University Of Rochester Mechanism for dynamically adapting the complexity of a microprocessor
US6539438B1 (en) * 1999-01-15 2003-03-25 Quickflex Inc. Reconfigurable computing system and method and apparatus employing same
US6654934B1 (en) * 2002-03-28 2003-11-25 Cyrpess Semiconductor Corporation Programmable event engine
CN1228711C (zh) * 2002-07-15 2005-11-23 北京南思达科技发展有限公司 一种可重构寄存器堆及其构造方法
GB0224023D0 (en) * 2002-10-16 2002-11-27 Roysmith Graeme Reconfigurable integrated circuit
JP2006018413A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd プロセッサおよびパイプライン再構成制御方法
JP4594666B2 (ja) * 2004-07-12 2010-12-08 富士通株式会社 再構成可能な演算装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782893B (zh) * 2009-01-21 2014-12-24 上海芯豪微电子有限公司 可重构数据处理平台
CN101782893A (zh) * 2009-01-21 2010-07-21 上海芯豪微电子有限公司 可重构数据处理平台
CN102207851A (zh) * 2011-05-27 2011-10-05 清华大学 一种动态可重构处理器内调用立即数的方法
CN102207851B (zh) * 2011-05-27 2013-07-17 清华大学 一种动态可重构处理器内调用立即数的方法
US9665083B2 (en) 2011-12-15 2017-05-30 Micron Technology, Inc. Counter operation in a state machine lattice
CN104067282A (zh) * 2011-12-15 2014-09-24 美光科技公司 状态机晶格中的计数器操作
CN107608750A (zh) * 2011-12-15 2018-01-19 美光科技公司 状态机晶格中的计数器操作
US9886017B2 (en) 2011-12-15 2018-02-06 Micron Technology, Inc. Counter operation in a state machine lattice
CN107608750B (zh) * 2011-12-15 2020-05-08 美光科技公司 用于型式辨识的装置
CN104461463A (zh) * 2013-09-20 2015-03-25 威盛电子股份有限公司 用于微处理器的动态重设方法
CN104461463B (zh) * 2013-09-20 2018-04-13 上海兆芯集成电路有限公司 用于微处理器的动态重设方法
CN112602058A (zh) * 2018-06-29 2021-04-02 弗索拉公司 处理器存储器存取
CN112602058B (zh) * 2018-06-29 2024-03-15 弗索拉公司 处理器存储器存取

Also Published As

Publication number Publication date
EP1615142A3 (en) 2009-04-22
CN100412789C (zh) 2008-08-20
EP1615142A2 (en) 2006-01-11
JP2006011825A (ja) 2006-01-12
US20050289327A1 (en) 2005-12-29

Similar Documents

Publication Publication Date Title
CN1713133A (zh) 可重构处理器和半导体器件
US7953956B2 (en) Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit
CN1188948C (zh) 用于配置可编程逻辑单元阵列的方法及装置
US20180017614A1 (en) Configurable Vertical Integration
US20210058086A1 (en) Stacked programmable integrated circuitry with smart memory
CN1713185A (zh) 数据流图处理方法、可重构电路及处理装置
EP4009186A1 (en) Network-on-chip data processing method and device
WO2000068775A1 (en) Apparatus and method for programmable datapath arithmetic arrays
CN1499388A (zh) 事件传送
CN1804809A (zh) 产生触发信号的系统和方法
CN1716180A (zh) 半导体器件
US10146555B2 (en) Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US20040111590A1 (en) Self-configuring processing element
CN1918560A (zh) 用于并行计算任意算法的可重构开关装置
CN1038792C (zh) 三维计算机图形设备
CN107743621A (zh) 集成电路输入及输出
CN1702658A (zh) 基于知识产权的大型集成电路设计系统及设计方法
CN114996178A (zh) 一种总线仲裁的方法、系统、设备和存储介质
Glette et al. Intermediate level FPGA reconfiguration for an online EHW pattern recognition system
US6987401B1 (en) Compare, select, sort, and median-filter apparatus in programmable logic devices and associated methods
CN1690951A (zh) 优化的处理器和指令对准
US20190042197A1 (en) Programmable-Logic-Directed Multiplier Mapping
CN1423177A (zh) 可编程逻辑阵列的节省能耗方法
CN112835515A (zh) 用于存储设备扩展挂载闪存颗粒数量的方法及存储设备
CN1547323A (zh) 可编程逻辑器件结构建模方法

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.

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

Granted publication date: 20080820

Termination date: 20100301