CN100339826C - 处理器和半导体器件 - Google Patents

处理器和半导体器件 Download PDF

Info

Publication number
CN100339826C
CN100339826C CNB2005100005720A CN200510000572A CN100339826C CN 100339826 C CN100339826 C CN 100339826C CN B2005100005720 A CNB2005100005720 A CN B2005100005720A CN 200510000572 A CN200510000572 A CN 200510000572A CN 100339826 C CN100339826 C CN 100339826C
Authority
CN
China
Prior art keywords
configuration data
buffer memory
information
processor
parts
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.)
Expired - Fee Related
Application number
CNB2005100005720A
Other languages
English (en)
Other versions
CN1713135A (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 CN1713135A publication Critical patent/CN1713135A/zh
Application granted granted Critical
Publication of CN100339826C publication Critical patent/CN100339826C/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

处理器包括用于执行预定处理的可重配置处理电路,其中编译器能够确定配置数据在缓存中的存储。用于定义处理电路的配置的配置数据包含定义缓存操作的缓存操作信息。当选择配置数据时,缓存操作信息获取部件从配置数据获取缓存操作信息。缓存控制部件基于缓存操作信息,控制存储配置数据的缓存的操作。由于缓存操作信息包含在配置数据中,并且存储配置数据的缓存的操作是基于缓存操作信息来控制的,因此编译器能够基于对程序的操作预测,将缓存操作信息存储在配置数据中。

Description

处理器和半导体器件
技术领域
本发明涉及处理器和半导体器件,更具体地说涉及包括用于执行预定处理的可重配置的处理电路的处理器和半导体器件。
背景技术
传统上已提出了一种处理器,其包含CPU(中央处理单元)和具有多个功能单元的可重配置复合单元。这一处理器分析例如以C语言描述的程序,并将该程序划分成由该CPU处理的部分和由具有多个功能单元的复合单元处理的部分,从而高速执行该程序。
VLIW(超长指令字)或超标量处理器包含多个功能单元,并使用这些功能单元来处理单个数据流。因此,这些处理器在所述功能单元之间的工作关系上是非常紧密的。与此相对比的是,可重配置处理器具有一组功能单元,它们连接成单个流水线或通过专用总线而连接,确保了一定程度的自由度,以可处理多个数据流。在可重配置处理器中,非常重要的是应该如何传递用于确定所述功能单元组的配置的配置数据以用于所述功能单元的操作。
切换具有多个功能单元的复合单元的配置的一种条件例如在下述时间处发生,即在该复合单元的功能单元执行特定的计算,而该计算的结果与预定条件相匹配时。具有多个功能单元的复合单元的配置的切换受控于处理器的CPU。处理器具有多个区块(缓存)用于存储配置数据,并通过在所述缓存之间进行切换来实现复合单元的配置的即时切换(例如参见国际公开No.WO01/016711(日本专利申请No.2001-520598)。
应注意,还提出了一种处理器,其能够测量用于执行各种处理的模块的性能以及该处理器自身的性能,并能够基于所述测量结果改变所述模块或处理器的配置,从而设置适用于用户指示执行的程序的配置(例如参见日本未审查专利公开No.2002-163150)。
然而,在上述传统的处理器中,缓存受控于CPU的中间件(例如CPU的一个功能),因此存在一个问题,即用户必须在程序上预先进行设置以将配置数据存储在缓存中。
发明内容
在本发明的第一方面中,提供了一种处理器,其包括可重配置的处理电路,用于执行预定处理。该处理器的特征在于包括缓存操作信息获取部件,用于从当前选择的配置数据获取缓存操作信息,所述配置数据定义了所述处理电路的配置,所述缓存操作信息定义了缓存的操作,还包括缓存控制部件,其基于所述缓存操作信息来控制存储所述配置数据的所述缓存的操作。
在本发明的第二方面中,提供了一种半导体器件,其包括可重配置处理电路,用于执行预定处理。该半导体器件的特征在于包括缓存操作信息获取部件,用于从当前选择的配置数据获取缓存操作信息,所述配置数据定义了所述处理电路的配置,所述缓存操作信息定义了缓存的操作,还包括缓存控制部件,其基于所述缓存操作信息来控制存储所述配置数据的所述缓存的操作。
根据下面的描述,结合以示例方式描述本发明的附图,本发明的上述及其他特征和优点将变得很清楚。
附图说明
图1的方框图用于说明根据本发明的处理器的原理;
图2的示意方框图示出了所述处理器;
图3的方框图示出了图2所示的序列部件和处理电路组;
图4的方框图示出了图3所示的序列部件的细节;
图5的方框图示出了图4中的序列部件的进一步细节;
图6的方框图示出了图5所示的操作确定部件的细节;
图7A和7B用于说明配置数据,其中:
图7A示出了程序的示例;而
图7B示出了该程序的处理操作的流程;
图8A示出了配置数据的数据格式的示例;并且
图8B示出了所述数据的示例。
具体实施方式
本发明提供了一种处理器和半导体器件,在其中编译器能够确定配置数据在缓存中的存储。
下面将参考图1详细描述本发明的原理。
图1的方框图用于说明根据本发明的处理器的原理。
图1所示的处理器包括可重配置处理电路2a、2b、2c、2d……,用于执行预定处理,该处理器还执行程序。所述处理器包括缓存操作信息获取部件3、缓存控制部件4、缓存5和存储设备6。应注意,存储设备6可设置在处理器外部。而且,图1还示出了配置数据1。
配置数据1包含定义了可重配置处理电路2a、2b、2c、2d……的配置的电路配置信息以及定义了缓存5的操作的缓存操作信息。
缓存操作信息获取部件3从将执行的配置数据1获取缓存操作信息。
缓存控制部件4基于缓存操作信息获取部件3获取的缓存操作信息,控制存储配置数据1的缓存5的操作。存储设备6存储配置数据1,因此,例如缓存控制部件4控制是从缓存5还是存储设备6读出配置数据1。而且,缓存控制部件4控制缓存5,以将从存储设备6读出的配置数据1存储在缓存5中。
如上所述,根据本发明,所述配置数据被配置成包含缓存操作信息,并基于包含在配置数据中的缓存操作信息来控制缓存的操作。利用这一配置,编译器能够基于对程序的操作的预测,使得缓存操作信息被包含在配置数据中,并确定配置数据在缓存中的存储。
下面参考附图详细描述本发明的优选实施例。
图2的示意方框图示出了所述处理器。
如图2所示,处理器10包括序列部件20、处理电路组30和CPU40。处理器10例如由片上半导体实现。应注意,图2还示出了将由处理器10执行的程序的存储器映射50。
如存储器映射50所示,所述程序被划分为用于由CPU 40执行的命令和数据的区域以及用于配置数据的区域,所述配置数据即由序列部件20执行的与处理电路组30有关的配置数据。CPU 40执行由存储器映射50所示的命令和数据形成的程序,而序列部件20基于存储器映射50所示的配置数据,将处理电路组30的处理电路配置为预定方式,以用于所述程序的执行。
下面详细描述处理电路组30。
图3的方框图示出了图2所示的序列部件20和处理电路组30。
如图3所示,处理电路组30包括用于执行预定处理的多个处理电路,即计算单元31a、31b……计数器32a、32b……外部接口33以及连接开关34。应注意,图3所示的处理电路仅仅是示例性的,处理电路组30可包括存储设备例如存储器或寄存器。
序列部件20按照预定顺序将定义了处理电路组30的配置的配置数据输出到处理电路组30。处理电路组30基于从序列部件20输出的配置数据,改变并固定所述处理电路的配置。处理电路组30的处理电路基于从序列部件20输出的配置数据改变它们的操作和连接关系,从而改变并固定其配置。
例如,处理电路组30的计算单元31a、31b……计数器32a、32b……外部接口33和连接开关34基于所述配置数据改变它们的操作。而且,连接开关34基于配置数据改变计算单元31a、31b……计数器32a、32b和外部接口33之间的连接关系。
处理电路组30执行程序的计算,并且在计算结果与预定条件匹配时,将切换条件信号输出到序列部件20。假设处理电路组30对通过外部接口33输入的数据重复执行计算N次。计算单元31a、31b……重复计算输入数据,计数器32a对操作的次数计数。当计数器32a的计数到达N时,计数器32a向序列部件20输出切换条件信号。
接收到切换条件信号时,序列部件20把将要执行的配置数据输出到处理电路组30,处理电路组30基于配置数据重配置所述处理电路。这样,用于执行用户程序的处理电路在处理电路组30中进行配置,以高速执行所述程序。
下面详细描述序列部件20。
图4的方框图示出了图3所示的序列部件的细节。
如图4所示,序列部件20包括下一状态确定部件21、操作确定部件22、地址产生部件23、RAM(随机访问存储器)24和缓存部件25。
下一状态确定部件21存储表示下一步要执行的配置数据(包括多个候选者)的号码(状态号)。这些状态号包含在配置数据中,并且可以通过参考正在执行的配置数据来获知下一步要执行的配置数据的状态号。而且,下一状态确定部件21接收来自图3所示的处理电路组30的切换条件信号。响应于对切换条件信号所指示的切换条件的满足,下一状态确定部件21确定与下一步将要执行的配置数据相关联的下一状态号。
操作确定部件22存储正在执行的配置数据的操作模式。操作确定部件22根据所述操作模式,控制缓存部件25的操作。操作模式例如包括简单缓存模式和前瞻模式,在前者中使用以前缓存在缓存部件25中的配置数据,在后者中预先读取下一步将要执行的具有下一状态号的配置数据,并存储在缓存部件25中。
例如,在简单缓存模式中,当响应于切换条件信号而确定将要执行的配置数据的状态号时,操作确定部件22确定与该状态号相关联的配置数据是否存储在缓存部件25中(即是否发生缓存命中)。如果发生缓存命中,则操作确定部件22控制缓存部件25以使得从缓存部件25输出配置数据,而如果缓存未命中,则操作确定部件22控制地址产生部件23以使得从RAM 24输出配置数据。从RAM 24输出的配置数据被通过缓存部件25传递到处理电路组30。
在前瞻模式中,操作确定部件22读出存储在下一状态确定部件21中的下一状态号,并确定是否发生与下一状态号相关联的配置数据的缓存命中。如果缓存未命中,则操作确定部件22从RAM 24读出配置数据,并将其预先存储在缓存部件25中,而如果发生缓存命中,则操作确定部件22控制缓存部件25以使得从缓存部件25输出配置数据。在前瞻模式中,如果基于正在执行的配置数据的程序的处理花费了很长时间,则在当前程序的执行期间,将下一步要执行的候选配置数据预先存储在缓存部件25中,从而加快程序处理。
地址产生部件23接收从操作确定部件22输出的状态号,以及从缓存部件25输出的就绪信号。地址产生部件23响应于来自缓存部件25的就绪信号,将与所述状态号相关联的配置数据的地址输出到RAM 24。
RAM 24存储定义了图3中的处理电路组30的配置的配置数据。RAM 24将与接收自地址产生部件23的地址相关联的配置数据输出到缓存部件25、操作确定部件22和下一状态确定部件21。应注意,配置数据包含与下一步将要执行的配置数据相关联的状态号,如上所述。因此,当从RAM 24输出配置数据时,将与下一步要执行的配置数据相关联的状态号通知给下一状态确定部件21。操作确定部件22知道正在执行的配置数据的操作模式。
缓存部件25在操作确定部件22的控制下,存储从RAM 24输出的配置数据。而且,当操作确定部件22确定发生缓存命中时,缓存部件25将与该缓存命中相关联的已缓存的配置数据输出到处理电路组30。当缓存变为空闲时,缓存部件25将就绪信号传递给地址产生部件23,表明可在其中写入从RAM 24输出的配置数据。
下面将详细描述简单缓存模式和前瞻模式。首先描述简单缓存模式。
图5的方框图示出了图4中的序列部件的进一步细节。
在图5中,将与图4所示相同或等效的组成元件标识为相同的标号,并省略了其描述。如图5所示,操作确定部件22包括标签部件22a和判断部件22b。缓存部件25包括缓存25aa到25ac、输出部件25b和选择器25c。
操作确定部件22的标签部件22a存储与存储在缓存部件25的缓存25aa到25ac中的配置数据相关联的状态号。当从RAM 24输出的配置数据被存储在缓存25aa到25ac中的之一时,该配置数据的状态号被存储在标签部件22a中。
判断部件22b将与将要执行的配置数据相关联的状态号(响应于切换条件信号而确定)和存储在标签部件22a中的每一个状态号进行比较。当发生状态号的匹配时(即当发生缓存命中时),判断部件22b控制选择器选择器25c以使得输出存储在缓存25aa到25ac其中之一的,并与所述状态号相关联的配置数据。如果没有状态号的匹配,则判断部件22b控制地址产生部件23来产生与所述状态号相关联的配置数据的地址,并控制选择器25c以使得从RAM 24输出配置数据。更具体地说,判断部件22b确定是否发生将要执行的配置数据的缓存命中,并且,如果发生缓存命中,则控制选择器25c以使得从存储所述数据的缓存25aa到25ac之一中输出配置数据,而如果没有缓存命中,则控制选择器25c以使得从RAM 24输出配置数据。
缓存部件25的缓存25aa到25ac中的每一个都是一个寄存器,其具有的位宽度与配置数据相同,并由触发器实现。例如,缓存25aa到25ac由n(配置数据的位宽度)×3(缓存数量)个触发器形成。
输出部件25b将从RAM 24输出的配置数据传递给缓存25aa到25ac中之一和选择器25c。
现在假设简单缓存模式被进一步划分为两种模式。在这两种模式之一中,当没有发生缓存命中时,从RAM 24输出的配置数据被存储在缓存25aa到25ac之一中。在另一种模式中,当没有缓存命中时,不将从RAM24输出的配置数据存储在缓存25aa到25ac的任意之一中。
在第一种模式中,输出部件25b将从RAM 24输出的配置数据存储在缓存25aa到25ac之一中,并将之输出到选择器25c。在第二种模式中,输出部件25b将从RAM 24输出的配置数据输出到选择器25c,而不将其存储在缓存25aa到25ac的任意之一中。通过将简单缓存模式划分为两种模式,可以在缓存未命中时防止在缓存25aa到25ac中频繁执行数据重写。
应注意,新配置数据被存储在缓存25aa到25ac中的这样一个中,其存储最旧的配置数据或具有最低缓存命中率的配置数据。
选择器25c在判断部件的控制下,选择性地输出从缓存25aa到25ac输出的配置数据和通过输出部件25b从RAM 24输出的配置数据。如上所述,缓存25aa到25ac是寄存器,其处于恒定地将配置数据输出到选择器25c的状态中。选择器25c选择性地输出从缓存25aa到25ac恒定地输出的配置数据和从输出部件25b输出的配置数据当中的一种。选择器25c输出配置数据而不需要指定缓存地址,实现了配置数据的高速传递。
在图5中,假设已响应于输入到下一状态确定部件21的切换条件信号而确定了将要执行的配置数据的状态号,并且假设具有所述状态号的配置数据的操作模式是简单缓存模式。
操作确定部件22的判断部件22b比较存储在标签部件22a中的状态号和由下一状态确定部件21确定的状态号。如果所存储的状态号之一与所确定的状态号相匹配(即如果发生缓存命中),则控制选择器25c输出来自存储所述数据的缓存25aa到25ac之一的具有匹配状态号的配置数据。如果存储在标签部件22a中的状态号都不匹配所确定的状态号,则控制地址产生部件23输出具有所确定的状态号的配置数据的地址。
RAM 24将与从地址产生部件23输出的地址相关联的配置数据输出到缓存部件25的输出部件25b。如果当前的简单缓存模式是前述第一种模式,则输出部件25b将所述配置数据同时传给缓存25aa到25ac之一和选择器25c,而如果当前的简单缓存模式是第二种模式,则输出部件25b将所述配置数据只传递给选择器25c。选择器25c将从输出部件25b输出的配置数据传递给图3所示的处理电路组30。这样就执行了简单缓存模式中的配置数据缓存操作。
下面描述前瞻模式。
图6的方框图示出了图5所示的操作确定部件的细节。
在执行前瞻模式中的缓存操作时,操作确定部件22被配置成具有图5所示的功能模块(即标签部件22a、判断部件22b)以及操作模式设置部件22c。应注意,图6还示出了图5所示的下一状态确定部件21。
如果正在执行的配置数据的操作模式是前瞻模式,则操作模式设置部件22c输出预取请求信号到下一状态确定部件21,以请求下一状态确定部件21将存储在其处的用于下一步处理的下一状态号传递给判断部件22b。而且,操作模式设置部件22c指示判断部件22b执行预取操作。然后,当完成前瞻操作时,操作模式设置部件22c将下一状态输出完成信号输出到判断部件22b。
判断部件22b比较存储在标签部件22a中的状态号和用于前瞻的下一状态号,从而确定用于前瞻的配置数据是否存储在缓存25aa到25ac的任意之一中。如果存储在标签部件22a中的状态号之一与用于前瞻的下一状态号相匹配,则可以判断出用于前瞻的配置数据已经存储在缓存25aa到25ac的之一中,因此操作模式设置部件22c不做任何事情。
如果存储在标签部件22a中的状态号都不与用于前瞻的下一状态号匹配,则可以判断出用于前瞻的配置数据未存储在缓存25aa到25ac的任意之一中。因此,操作模式设置部件22c获取空闲的缓存号,并将预取操作获取的缓存号输出到输出部件25b。判断部件22b将下一状态号输出到地址产生部件23,而RAM 24将与下一状态号相关联的配置数据输出到输出部件25b。输出部件25b将接收自RAM 24的配置数据存储在缓存25aa到25ac当中与从操作模式设置部件22c接收的缓存号相关联的一个缓存中。判断部件22b将与预读取的配置数据相关联的下一状态号存储在标签部件22a中。
应注意,当可以将用于前瞻的配置数据存储在缓存25aa到25ac之一中时,输出部件25b将就绪信号发送到地址产生部件23,响应于该就绪信号,地址产生部件23将与将要预取的配置数据的状态号相关联的地址输出到RAM 24。
当响应于所述切换条件信号而确定与下一步将要执行的配置数据相关联的下一状态号时,判断部件22b确定与下一状态号相关联的配置数据是否存储在缓存25aa到25ac的任意之一中。如果所述配置数据存储在缓存25aa到25ac之一中,则将缓存号输出到选择器25c。选择器25c将从缓存25aa到25ac当中与所述缓存号相关联的一个缓存输出的配置数据输出到处理电路组30。
在图6中,当正在执行的配置数据的操作模式是前瞻模式时,操作模式设置部件22c将预取请求信号输出到下一状态确定部件21。下一状态确定部件21将用于前瞻的下一状态号输出到判断部件22b。而且,操作模式设置部件22c指示判断部件22b执行前瞻操作。
判断部件22b比较存储在标签部件22a中的状态号和用于前瞻的下一状态号,以确定与用于前瞻的下一状态号相关联的配置数据是否存储在缓存25aa到25ac的任意之一中。判断部件22b将确定结果输出到操作模式设置部件22c。
如果没有缓存命中,则操作模式设置部件22c操作来使得将没有缓存命中的配置数据预读入到缓存25aa到25ac的之一中。这样就执行了前瞻模式中的配置数据缓存操作。
下面描述配置数据和所述操作模式。
图7A和7B用于说明配置数据,其中图7A示出了程序的示例,而图7B示出了该程序的处理流程。
图7A所示的程序例如是用C语言编写的,其中“for”语句安排成嵌套形式。每个“for”语句指示处理器在括号中指定的条件为真时重复后续指令。内部“for”循环在“条件2”为真时执行“计算1”。外部“for”循环在“条件1”为真时执行内部循环处理和“计算2”。
如图7B的流程图所示,首先,图7A所示的程序在步骤S1中执行关于条件1的确定,在步骤S2中确定条件S2,在步骤S3执行计算1,在步骤S4中确定条件2,并在步骤S5中执行计算1。然后,程序在步骤SN(N:正整数)执行关于条件2的确定,在步骤SN+1中执行计算2,在步骤SN+2中确定条件1,并在步骤SN+3中确定条件2。在条件1和2为真期间重复执行这一过程。
图8A示出了配置数据的数据格式的示例,并且图8B示出了配置数据的示例。
如图8A所示,配置数据61被划分为用于模式位的区域、用于电路配置信息的区域以及用于和下一步将要执行的配置数据相关联的下一状态号的区域。
模式位区域存储表示操作模式的信息。例如,每个操作模式由两个位表示,如图8B所示。用于缓存以前读取的配置数据的简单缓存模式由(0,1)表示,而用于预读取配置数据并将之存储在缓存25aa到25ac之一中的前瞻模式由(1,0)表示。应注意,所述两种操作模式只是用作为示例,可以提供更多的操作模式。例如,可以提供一种用于连续对配置数据进行缓存的操作模式。
电路配置信息区域存储定义了图3所示的处理电路组30的处理电路的配置的信息。也就是说,处理电路组30的电路配置由配置数据61的电路配置信息所确定。
当执行配置数据61时,下一状态号区域存储与下一步将要执行的配置数据相关联的下一状态号。例如,根据图7B所示的处理流程,可得知紧跟在确定条件1之后将要执行的配置数据的状态号是与条件2相关联的状态号。因此,如图8B所示,与条件1相关联的配置数据的模式位被设置为简单缓存模式,并将与条件2相关联的状态号存储在下一状态号区域中。结果,如果与条件2的状态号相关联的配置数据存储在缓存25aa到25ac之一中,则发生缓存命中。
根据图7B所示的处理流程,可得知紧跟在确定条件2之后将要执行的配置数据的状态号是与计算1或2相关联的状态号。因此,如图8B所示,与条件2相关联的配置数据的模式位被设置为前瞻模式,并将与计算1和2相关联的状态号存储在下一状态号区域中。结果,对应于和计算1和2相关联的状态号的配置数据被预读入到缓存25aa到25ac之一中。
然后,响应于切换条件信号而执行计算1或2。在此情形下,由于与计算1和2相关联的配置数据已被预读入到缓存25aa到25ac当中相关联的一个缓存中,因此不管条件2的结果是如何,无论是执行计算1和2当中的哪一个,都可以高速地配置处理电路组30,而无需访问RAM 24。
如上所述,将配置数据配置为存储缓存的操作模式的信息,并根据操作模式来控制缓存操作。这使得编译器可在多种可由编译器分析的程序的操作预测中,确定配置数据在缓存中的存储。
更具体地说,编译器能够通过分析程序来获知将要执行什么处理,因此能够对例如通过循环描述而重复执行的预定处理自动执行缓存判断,从而向其添加操作模式。因此,用户可以获得最优的性能,而无需主动指定操作模式。
不受控于编译器的缓存判断的部分可由用户来控制。这例如可通过操作经编译的配置数据61的模式位来实现。
应注意,缓存操作可通过CPU 40的控制来强行锁定和解锁。而且,缓存操作的连续执行可通过CPU 40的控制来停止。还可以对存储在缓存25aa到25ac中的所有或只是一部分缓存中的配置数据进行锁定和解锁。而且,可以将配置数据强行存储在缓存25aa到25ac中。
例如,在图2所示的存储器映射50的配置数据区域的一部分当中提供了一个控制区域,用于上述CPU 40的设置。当CPU 40将预定设置数据存储在该控制区域中时,序列部件20根据该控制区域中的设置数据来控制缓存操作。例如,上述缓存25aa到25ac的所有或一部分缓存被锁定。因此将缓存25aa到25ac配置为受控于CPU 40,从而可在调试期间检查缓存25aa到25ac的内容。
根据本发明的处理器,将配置数据配置为包含缓存操作信息,并基于包含在配置数据中的缓存操作信息来控制缓存操作。这使得编译器可基于程序的操作预测来存储配置数据中的缓存操作信息,并确定配置数据在缓存中的存储。
前面的描述应只被看作为对本发明的原理的说明。而且,由于对于本领域内的技术人员来说可有多种修改和改变,因此不应将本发明限制为所示出并描述的结构和应用,相应地,可将所有适当的修改和等同物看作为落在所附权利要求及其等同物的本发明的范围中。

Claims (14)

1.一种处理器,其包括用于执行预定处理的可重配置处理电路,该处理器包括:
缓存,用于存储配置数据,所述配置数据包括定义了所述处理电路的配置的电路配置信息和定义了所述缓存的操作的缓存操作信息;
缓存操作信息获取部件,用于从当前选择的配置数据获取缓存操作信息;缓存控制部件,其基于所述缓存操作信息来控制存储所述配置数据的所述缓存的操作;以及
选择电路,其可在所述缓存控制部件的控制下进行操作,以从所述缓存输出的配置数据中选择配置数据,并将所选择的配置数据传递到所述处理电路。
2.如权利要求1所述的处理器,其中所述配置数据还包括下一状态信息,用于表示下一步应选择哪个配置数据,并且
其中当所述缓存操作信息表示前瞻操作时,所述缓存控制部件预读取由所述下一状态信息表示的配置数据,并控制所述缓存的操作。
3.如权利要求1所述的处理器,其中所述缓存包括多个寄存器。
4.如权利要求3所述的处理器,其中所述选择电路从各个寄存器输出的配置数据中选择配置数据。
5.如权利要求3所述的处理器,其中所述寄存器包括触发器。
6.如权利要求1所述的处理器,其中所述缓存控制部件在中央处理单元的控制下将所述配置数据存储在所述缓存中。
7.如权利要求1所述的处理器,其中所述缓存操作信息包含表示是否应将未发生缓存命中的配置数据存储在所述缓存中的信息。
8.一种半导体器件,其包括可重配置处理电路,用于执行预定处理,该半导体器件包括:
缓存,用于存储配置数据,所述配置数据包括定义了所述处理电路的配置的电路配置信息和定义了所述缓存的操作的缓存操作信息;
缓存操作信息获取部件,用于从当前选择的配置数据获取缓存操作信息;
缓存控制部件,其基于所述缓存操作信息来控制存储所述配置数据的所述缓存的操作;以及
选择电路,其可在所述缓存控制部件的控制下进行操作,以从所述缓存输出的配置数据中选择配置数据,并将所选择的配置数据传递到所述处理电路。
9.如权利要求8所述的半导体器件,其中所述配置数据还包括下一状态信息,用于表示下一步应选择哪个配置数据,并且
其中当所述缓存操作信息表示前瞻操作时,所述缓存控制部件预读取由所述下一状态信息表示的配置数据,并控制所述缓存的操作。
10.如权利要求8所述的半导体器件,其中所述缓存包括多个寄存器。
11.如权利要求10所述的半导体器件,其中所述选择电路从各个寄存器输出的配置数据中选择配置数据。
12.如权利要求10所述的半导体器件,其中所述寄存器包括触发器。
13.如权利要求8所述的半导体器件,其中所述缓存控制部件在中央处理单元的控制下将所述配置数据存储在所述缓存中。
14.如权利要求8所述的半导体器件,其中所述缓存操作信息包含表示是否应将未发生缓存命中的配置数据存储在所述缓存中的信息。
CNB2005100005720A 2004-06-24 2005-01-07 处理器和半导体器件 Expired - Fee Related CN100339826C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004186398A JP2006011705A (ja) 2004-06-24 2004-06-24 プロセッサおよび半導体装置
JP186398/2004 2004-06-24

Publications (2)

Publication Number Publication Date
CN1713135A CN1713135A (zh) 2005-12-28
CN100339826C true CN100339826C (zh) 2007-09-26

Family

ID=35033294

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100005720A Expired - Fee Related CN100339826C (zh) 2004-06-24 2005-01-07 处理器和半导体器件

Country Status (5)

Country Link
US (1) US20050289297A1 (zh)
EP (1) EP1610227B1 (zh)
JP (1) JP2006011705A (zh)
CN (1) CN100339826C (zh)
DE (1) DE602004011756T2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5491176B2 (ja) * 2006-06-21 2014-05-14 エレメント シーエックスアイ,エルエルシー 回復能力を有する集積回路アーキテクチャのための要素コントローラ
JP5175524B2 (ja) * 2007-11-13 2013-04-03 株式会社日立製作所 コンパイラ
JP5347974B2 (ja) * 2008-02-01 2013-11-20 日本電気株式会社 多分岐予測方法及び装置
JP5294304B2 (ja) * 2008-06-18 2013-09-18 日本電気株式会社 再構成可能電子回路装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997007466A1 (en) * 1995-08-17 1997-02-27 Kenneth Austin Re-configurable application specific device
EP1045307A2 (en) * 1999-04-16 2000-10-18 Infineon Technologies North America Corp. Dynamic reconfiguration of a micro-controller cache memory
JP2002007373A (ja) * 2000-06-20 2002-01-11 Fujitsu Ltd 半導体装置
JP2002163150A (ja) * 2000-11-28 2002-06-07 Toshiba Corp プロセッサ
JP2003044358A (ja) * 2001-07-31 2003-02-14 Mitsubishi Electric Corp キャッシュメモリ制御装置
WO2003025782A2 (en) * 2001-09-17 2003-03-27 Morpho Technologies Digital signal processor for wireless baseband processing

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
DE19704728A1 (de) * 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
US6205537B1 (en) * 1998-07-16 2001-03-20 University Of Rochester Mechanism for dynamically adapting the complexity of a microprocessor
US6288566B1 (en) * 1999-09-23 2001-09-11 Chameleon Systems, Inc. Configuration state memory for functional blocks on a reconfigurable chip
US6990555B2 (en) * 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997007466A1 (en) * 1995-08-17 1997-02-27 Kenneth Austin Re-configurable application specific device
EP1045307A2 (en) * 1999-04-16 2000-10-18 Infineon Technologies North America Corp. Dynamic reconfiguration of a micro-controller cache memory
JP2002007373A (ja) * 2000-06-20 2002-01-11 Fujitsu Ltd 半導体装置
JP2002163150A (ja) * 2000-11-28 2002-06-07 Toshiba Corp プロセッサ
JP2003044358A (ja) * 2001-07-31 2003-02-14 Mitsubishi Electric Corp キャッシュメモリ制御装置
WO2003025782A2 (en) * 2001-09-17 2003-03-27 Morpho Technologies Digital signal processor for wireless baseband processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Dynamically Adaptive Hardware onDynamically Reconfigurable Processor AMANO H ET AL,IEICE TRANSACTIONS ON COMMUNICATIONS,Vol.E86.B No.12 2003 *

Also Published As

Publication number Publication date
DE602004011756D1 (de) 2008-03-27
EP1610227B1 (en) 2008-02-13
CN1713135A (zh) 2005-12-28
EP1610227A1 (en) 2005-12-28
JP2006011705A (ja) 2006-01-12
DE602004011756T2 (de) 2009-02-05
US20050289297A1 (en) 2005-12-29

Similar Documents

Publication Publication Date Title
CN1109967C (zh) 多线程处理器中指令和关联读取请求的后台完成
US20200310994A1 (en) Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
CN1308825C (zh) 用于在smt处理器中进行cpi负载平衡的系统和方法
CN1084896C (zh) 清空高速缓冲存储器内容的装置
KR20160033768A (ko) 캐시 점유도 결정 및 명령어 스케줄링을 위한 방법 및 장치
CN1252594C (zh) 使能跟踪重复指令的方法和系统
US20080155197A1 (en) Locality optimization in multiprocessor systems
JP2008502083A (ja) クラスタ化されたプロセッサ群における通信並列性のトレードオフを動的に管理する方法
US10866902B2 (en) Memory aware reordered source
CN1945525A (zh) 从队列处理指令刷新的生存期计数器设计的系统和方法
EP3716065A1 (en) Apparatus, method, and system for ensuring quality of service for multi-threading processor cores
CN1682181A (zh) 具有外部和内部指令集的数据处理系统
CN1225469A (zh) 超标量或超长指令字计算机中选择下一指令的方法与装置
CN1782988A (zh) 用于选择性地禁止猜测性的条件分支执行的方法和设备
CN100339826C (zh) 处理器和半导体器件
CN1183445C (zh) 推测性字符串/多重操作的方法和结构
Haque et al. Dew: A fast level 1 cache simulation approach for embedded processors with fifo replacement policy
EP2339453A1 (en) Arithmetic processing unit, information processing device, and control method
CN116302106A (zh) 用于促进分支预测单元的改善的带宽的设备、方法和系统
JP7046087B2 (ja) キャッシュ・ミス・スレッド・バランシング
EP3333710A1 (en) System, apparatus and method for dynamic profiling in a processor
CN1144124C (zh) 程序执行方法及利用该方法的装置
CN114661434A (zh) 用于难以预测的分支的替代路径解码
EP3757772A1 (en) System, apparatus and method for a hybrid reservation station for a processor
CN1206145A (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081128

Address after: Tokyo, Japan, Japan

Patentee after: Fujitsu Microelectronics Ltd.

Address before: Kanagawa

Patentee before: Fujitsu Ltd.

ASS Succession or assignment of patent right

Owner name: FUJITSU MICROELECTRONICS CO., LTD.

Free format text: FORMER OWNER: FUJITSU LIMITED

Effective date: 20081128

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

Granted publication date: 20070926

Termination date: 20100208