CN1716184A - 处理器和流水线重配置控制方法 - Google Patents
处理器和流水线重配置控制方法 Download PDFInfo
- Publication number
- CN1716184A CN1716184A CNA2004101035907A CN200410103590A CN1716184A CN 1716184 A CN1716184 A CN 1716184A CN A2004101035907 A CNA2004101035907 A CN A2004101035907A CN 200410103590 A CN200410103590 A CN 200410103590A CN 1716184 A CN1716184 A CN 1716184A
- Authority
- CN
- China
- Prior art keywords
- arithmetic
- logic unit
- configuration
- unit module
- execution time
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008569 process Effects 0.000 claims abstract description 55
- 238000003860 storage Methods 0.000 claims description 7
- 238000005096 rolling process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or 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/3897—Concurrent instruction execution, e.g. pipeline or 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明提供了一种处理器和流水线重配置控制方法。可重配置处理器从硬件配置信息计算用于执行流水线处理的配置的执行时间,并且确定处理结束前的时钟周期。计数器将所确定的时钟周期与实际已经过去的时钟数比较,并且当已经过去的时钟数等于时钟周期时,判定流水线处理已经结束,并且将其通知给配置控制器。
Description
技术领域
本发明涉及可重配置硬件中的处理器和流水线重配置控制方法。
背景技术
近来,出现了动态可重配置技术,用于动态地重配置硬件以适应应用,其通过使用可重配置硬件以使得在实际执行处理时可以灵活地对待应用。可重配置硬件的一个示例是算术和逻辑单元(ALU)模块,它是执行诸如四种算术运算、逻辑运算等处理的电路。通过使用可重配置网络连接多个ALU模块,并且通过ALU模块执行获得同步并行运算处理的流水线处理,可以提高性能。
具体地说,通过在执行循环命令时使用流水线处理,可以有效减少执行周期的数目。对于通过流水线处理执行循环命令的情况,已经公开了一种装置,该装置通过使用包括循环地址开始寄存器、循环地址结束寄存器、比较器和循环计数器的循环控制装置,优化了循环初始命令的安排,并且减少了循环开始处的开销(日本专利申请早期公开第H9-237186号公报)。
但是,当流水线处理已经被执行时,重要的是判断切换可重配置硬件部分的安排(后文中称为“配置”)的时机,即,判断一系列过程已经结束的时间,因为当在这一系列过程结束后执行重配置时,切换时间变为整个处理的开销,并导致性能恶化。
发明内容
本发明的目的是解决传统技术中的至少这些问题。
根据本发明一个方面的处理器在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理,其中ALU模块具有多个ALU,该处理器包括:执行时间计算单元,其计算ALU模块的每个连接配置的执行时间;时钟计数器,其对运算处理的执行周期进行时钟计数;和配置控制单元,当由时钟计数器计数的时钟数达到由执行时间计算单元计算的执行时间时,该配置控制单元切换ALU模块的连接配置。
根据本发明,可以通过使用时钟周期来计算一个配置做出的运算的执行时间,并且不需要监视ALU块的实际数据处理状态就可以判断流水线处理的结束时间。
并且,根据本发明另一方面的处理器在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理,其中ALU模块具有多个ALU,该处理器包括:设置单元,其设置对于ALU模块的每个连接配置的被处理数据数目;计数器,其对ALU模块的每个连接配置的被处理数据数目计数;和配置控制单元,当由计数器计数的被处理数据数目达到由设置单元设置的被处理数据数目时,该配置控制单元切换ALU模块的连接配置。
根据本发明,因为ALU块监视目标数据,所以可以相应于各种情况灵活地判断流水线处理的结束时间,这些情况例如是当从外部输入或当向外部输出运算结果,而无论存储器读出和写入。
并且,根据本发明另一方面的重配置控制方法使用在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理的处理器,其中ALU模块具有多个ALU,该方法包括:执行时间计算步骤,该步骤计算ALU模块的每个连接配置的执行时间;时钟计数步骤,该步骤对运算处理的执行周期进行时钟计数;和配置控制步骤,当在时钟计数步骤中计数的时钟数达到在执行时间计算步骤中计算的执行时间时,该配置控制步骤切换ALU模块的连接配置。
并且,根据本发明另一方面的重配置控制方法使用在切换多个算术和逻辑单元(ALU)模块的连接配置时执行预定运算处理的处理器,其中ALU模块具有多个ALU,该方法包括:设置步骤,该步骤设置对于ALU模块的每个连接配置的被处理数据数目;计数步骤,该步骤对ALU模块的每个连接配置的被处理数据数目计数;和配置控制步骤,当在计数步骤中计数的被处理数据数目达到在设置步骤中设置的被处理数据数目时,该配置控制步骤切换ALU模块的连接配置。
当结合附图阅读时,在下面对本发明的详细描述中具体地提出了或者从中将清楚地看到本发明的其他目的、特征和优点。
附图说明
图1是根据第一实施例的可重配置处理器的框图。
图2是用于解释一个配置的执行时间的时序图。
图3是通过使用时钟数确定一个配置的处理的流程图。
图4是通过时钟计数执行的流水线处理结束判断过程的流程图。
图5是根据第二实施例的可重配置处理器的框图。
图6是通过计数被处理的数据的数目执行流水线处理结束判断过程的流程图。
具体实施方式
下面将参考附图详细解释根据本发明的处理器和流水线重配置控制方法的示例实施例。
参考下面的实施例,将解释从可重配置硬件开始执行一个配置后判断流水线处理的结束的配置。
首先,将解释通过使用时钟周期计数来判断流水线处理结束的配置。图1是根据第一实施例的可重配置处理器的框图。
可重配置处理器100包括作为可重配置硬件单元的ALU块101和监视ALU块101配置状态的序列发生器102。
ALU块101包括多个ALU 103和多个存储器104,存储器104存储被ALU块101运算的数据。ALU 103和存储器104连接到网络105。从存储器104读取由序列发生器102指定的数据,并经由网络105将该数据输入至ALU块101。ALU块101执行由配置信息指定的运算,运算结果经由网络105被存储在存储器104中。网络105中ALU 103和存储器104之间的连接可以改变,ALU 103和存储器104之间的连接基于从序列发生器102提供的配置信息而被改变(被重配置)。
序列发生器102包括配置控制器106、配置存储器107和计数器108。配置存储器107存储每个配置完成前所需的涉及时钟周期的信息和硬件配置,该硬件配置设置ALU块101的安排以及处理内容。硬件配置被预先设置,并且在编译硬件配置信息时,时钟周期被确定。
硬件配置信息被发送至ALU块101,并且基于该信息,硬件被重配置。时钟周期信息被发送至计数器108。计数器108通过将从配置存储器107发送来的时钟周期信息与实际时钟数比较来判断流水线处理的结束,并且通知配置控制器106流水线已经结束。配置控制器106接收流水线已经结束的通知,并向配置存储器107发出命令以切换配置。
参考图2和图3,将解释用于基于配置存储器107中的硬件配置信息确定时钟周期的序列。
图2是一个配置的执行时间的时序图。处理一个数据需要四个运算级A至D,一个时钟内执行一级。在发射用于程序的循环命令时,流水线处理同时处理多个数据,并且每次将运算块移动一级。因此,当M个数据进行了N级运算时,流水线处理时间是N+M-1。实际上,从配置激活直到流水线处理开始之间总是存在一个处理时间(T1),并且在变为能够切换到下一配置之前存在处理时间(T2),所以一个配置的执行时间是N+M-1+T1+T2。
图3用于解释确定时钟周期的流程,该流程由配置存储器107在通过使用上述流水线特性进行编译时执行。图3是通过使用时钟数确定一个配置的处理的流程图。
首先,配置存储器107判断要被执行的处理是否是循环命令,例如,程序是否是“for”语句(步骤S301)。当处理是循环命令时(步骤S301:是),从程序中的循环变量的初始值和结束条件,计算循环数M(步骤S302)。当处理不是循环命令时(步骤S301:否),过程返回步骤S301,并且变为判断下一程序的循环命令。值M代表用于执行处理的数据的数目。
然后,从程序的一个循环命令中的执行命令的数目,计算流水线级数N(步骤S303)。使用该计算值,由M+N-1计算流水线处理时间(步骤S304)。切换配置前后所需的时间(图2中T1和T2)被加到流水线处理时间上(步骤S305)。通过以单位时钟时间划分以上述方式计算的配置执行时间,确定时钟数(步骤S306),并且操作结束。一个配置对应于一个循环过程的执行期。
下面将解释通过使用由配置存储器107确定的时钟周期来判断流水线处理结束的配置。图4是通过时钟计数执行的流水线处理结束判断过程的流程图。
首先,通过从配置存储器107接收到的时钟周期信息,计数器108确认配置完成,并且开始结束判断操作(步骤S401)。判断一个时钟是否已经过去(步骤S402),并且当一个时钟已经过去时(步骤S402:是),将由序列发生器102设置的寄存器值(时钟周期数)与计数值相比较(步骤S403)。
当一个时钟还没有过去时(步骤S402:否),再次判断其是否过去。当寄存器值与计数器值一致时(步骤S404:是),流水线处理结束,向配置控制器106发送流水线结束通知(步骤S405),并且操作结束。当它们不一致时(步骤S404:否),操作再次返回判断时钟是否过去的步骤,并且将下一时钟值与寄存器值相比较。
根据第一实施例,可以通过使用时钟周期计算由一个配置执行的运算的执行时间,并且不需要监视ALU块的实际数据处理状态就可以判断流水线结束时间。因此,不需要额外开销就可以有效地重配置ALU块。
下面将解释通过对被处理数据的数目计数而做出的流水线处理结束的判断。图5是根据第二实施例的可重配置处理器的框图。
可重配置处理器500包括作为可重配置硬件单元的ALU块501和监视ALU块501配置状态的序列发生器502。
ALU块501包括ALU 503、存储器504和网络505,它们具有与第一实施例中的可重配置处理器100的对应部分相同的功能和构造,另外,ALU块501还包括寄存器506、计数器507、比较器(COM)508和外部输入/输出,用于对被处理数据的数目计数。
从序列发生器502将硬件配置信息发送至寄存器506,并且基于该信息设置寄存器值。计数器507对四种类型的数据计数,图5中将这四种类型数据表示为a(外部输入数据)、b(外部输出数据)、c(存储器读出数据)和d(存储器写入数据)。硬件配置指定对哪种数据计数。比较器508将寄存器506的值与计数器507的值比较,并且通知序列发生器502流水线结束。
序列发生器502包括配置控制器509和配置存储器510。配置存储器510存储每个配置的硬件配置。硬件配置信息被发送至ALU块501,并且基于该信息重配置硬件。配置控制器509接收流水线已经结束的通知,并且向配置存储器510发出命令以切换配置。
在一个配置中判断要被处理的数据的数目。因此,对要被处理的数据的数目计数,并且当达到预定的数据数目时,判断流水线处理已经结束。如上所述,存在四种类型的被计数的数据a至d。每种数据被附加了有效性信息(也被称作令牌位),该信息指示使用该数据的运算处理是有效的。实际上,计数器507对在四种类型的数据上所附加的有效信息(valid)的数目进行计数和累加。
下面将解释通过使用上述特性,实际上由ALU块501执行的流水线处理结束判断操作。图6是通过对被处理数据的数目计数来执行流水线处理结束判断过程的流程图。
基于从序列发生器502的配置存储器510接收到的硬件重配置信息,确认配置完成,并且开始结束判定操作(步骤S601)。基于配置设定,选择要被计数的有效信息(步骤S602)。然后判断关于在步骤S602中所选择的有效信息的信息是否已经到达计数器507(步骤S603)。
当所选择的有效信息已经到达计数器507时(步骤S603:是),递增计数器507的值,并且比较器508将其与寄存器506的值相比较,寄存器506的值已经由硬件配置信息设置了(步骤S604)。当有效信息还没有到达计数器507时(步骤S603:否),再次判断有效信息是否已经到达计数器507。当计数器507的值与寄存器506的值相一致时(步骤S605:是),流水线处理结束,并且向序列发生器502的配置控制器509发送流水线处理结束通知(步骤S606),由此操作结束。当计数器507的值与寄存器506的值不一致时(步骤S605:否),再次判断有效信息是否已经到达计数器507。
通过以上述方式对有效信息计数,可以使结束时间适应意外的输入状态。另外,可以高速切换配置。考虑有四个流水线级的示例,即,当如在第一实施例中那样执行四种类型的过程A、B、C和D,由此结束关于一个输入的一系列过程的情况。在这种情形中,通过对输入数据的有效信息计数,当正在对最后的数据执行过程B、C和D时,可以通知序列发生器502处理结束,这使得切换配置处理能够被提前激活。
根据第二实施例,因为ALU块监视正被处理的数据,所以可以相应于各种情况灵活地判断流水线处理的结束时间,这些情况例如是当从外部输入或者当向外部输出运算结果,而不考虑存储器读出和写入。
上面的实施例中所描述的流水线重配置时机控制方法可以通过使计算机的处理器执行预先准备的程序来实现。程序被存储在计算机可读记录介质上,诸如硬盘、软盘、CD-ROM、MO或DVD,并且计算机通过从记录介质中读取程序执行该程序。该程序可以是传输介质,其可以经由诸如因特网之类的网络被分发。
根据本发明的处理器和流水线重配置控制方法,可以正确判断流水线处理的结束时间,并且可以缩短重配置切换时间。
虽然为了完整和清楚的公开,已经针对具体实施例描述了本发明,但是所附权利要求并不局限于此,而是应该被理解为包括了本领域技术人员可以想到的那些完全落入这里所提出的基本教导范围内的所有修改和替换结构。
本申请基于2004年6月30日提交的在先日本专利申请No.2004-193580,并要求享受其优先权,该申请的全部内容通过引用结合于此。
Claims (13)
1.一种在切换多个算术和逻辑单元模块的连接配置时执行预定运算处理的处理器,其中所述算术和逻辑单元模块具有多个算术和逻辑单元,所述处理器包括:
执行时间计算单元,所述执行时间计算单元计算所述算术和逻辑单元模块的每个连接配置的执行时间;
时钟计数器,所述时钟计数器对所述运算处理的执行周期进行时钟计数;和
配置控制单元,当由所述时钟计数器计数的时钟数已经达到由所述执行时间计算单元计算的所述执行时间时,所述配置控制单元切换所述算术和逻辑单元模块的连接配置。
2.根据权利要求1所述的处理器,包括存储单元,所述存储单元存储与由所述执行时间计算单元计算的所述算术和逻辑单元模块的每个连接配置的执行时间有关的信息,其中
所述配置控制单元在从被存储在所述存储单元中的多条信息中读取与下一连接配置有关的信息之后,切换所述算术和逻辑单元模块的连接配置。
3.根据权利要求1所述的处理器,其中,所述执行时间计算单元将所述执行时间计算为通过将流水线处理时间加到等待时间上所得到的时间,其中所述流水线处理时间是通过使用所述多个算术和逻辑单元模块执行流水线处理所花费的时间,所述等待时间是切换连接配置前后所花费的时间。
4.根据权利要求3所述的处理器,其中,所述执行时间计算单元基于所述运算处理中所包含的循环处理中的执行命令的数目,计算所述算术和逻辑单元模块的一个连接配置的所述执行时间。
5.一种在切换多个算术和逻辑单元模块的连接配置时执行预定运算处理的处理器,其中所述算术和逻辑单元模块具有多个算术和逻辑单元,所述处理器包括:
设置单元,所述设置单元设置对于所述算术和逻辑单元模块的每个连接配置的被处理数据数目;
计数器,所述计数器对所述算术和逻辑单元模块的每个连接配置的被处理数据数目进行计数;和
配置控制单元,当由所述计数器计数的被处理数据数目达到由所述设置单元设置的被处理数据数目时,所述配置控制单元切换所述算术和逻辑单元模块的连接配置。
6.根据权利要求5所述的处理器,包括存储单元,所述存储单元存储与由所述设置单元设置的所述算术和逻辑单元模块的每个连接配置的被处理数据数目有关的信息,其中
所述配置控制单元在从被存储在所述存储单元中的多条信息中读取与下一连接配置有关的信息之后,切换所述算术和逻辑单元模块的连接配置。
7.根据权利要求5所述的可重配置处理器,其中,所述计数器对下列数据中的任一种数据计数:
外部输入数据,从所述算术和逻辑单元模块的外部输入;
外部输出数据,从所述算术和逻辑单元模块输出;
写入存储器的数据,由所述算术和逻辑单元模块设置;和
从存储器读取的数据,由所述算术和逻辑单元模块设置。
8.根据权利要求7所述的处理器,其中,所述存储单元存储将要由所述计数器计数的被处理数据的种类。
9.根据权利要求5所述的处理器,其中,所述计数器对附加了有效信息的数据计数,所述有效信息指示对所述被处理数据的运算是有效的。
10.一种重配置控制方法,所述方法使用在切换多个算术和逻辑单元模块的连接配置时执行预定运算处理的处理器,其中所述算术和逻辑单元模块具有多个算术和逻辑单元,所述方法包括:
执行时间计算步骤,所述执行时间计算步骤计算所述算术和逻辑单元模块的每个连接配置的执行时间;
时钟计数步骤,所述时钟计数步骤对所述运算处理的执行周期进行时钟计数;和
配置控制步骤,当在所述时钟计数步骤中计数的时钟数达到在所述执行时间计算步骤中计算的所述执行时间时,所述配置控制步骤切换所述算术和逻辑单元模块的连接配置。
11.根据权利要求10所述的重配置控制方法,其中,所述执行时间计算步骤将所述执行时间计算为通过将流水线处理时间加到等待时间上所得到的时间,其中所述流水线处理时间是通过使用所述多个算术和逻辑单元模块执行流水线处理所花费的时间,所述等待时间是切换连接配置前后所花费的时间。
12.一种流水线重配置控制方法,所述方法使用在切换多个算术和逻辑单元模块的连接配置时执行预定运算处理的处理器,其中所述算术和逻辑单元模块具有多个算术和逻辑单元,所述方法包括:
设置步骤,所述设置步骤设置对于所述算术和逻辑单元模块的每个连接配置的被处理数据数目;
计数步骤,所述计数步骤对所述算术和逻辑单元模块的每个连接配置的被处理数据数目计数;和
配置控制步骤,当在所述计数步骤中计数的被处理数据数目达到在所述设置步骤中设置的被处理数据数目时,所述配置控制步骤切换所述算术和逻辑单元模块的连接配置。
13.根据权利要求12所述的流水线重配置控制方法,其中,所述计数步骤对下列数据中的任一种数据计数:
外部输入数据,从所述算术和逻辑单元模块的外部输入;
外部输出数据,从所述算术和逻辑单元模块输出;
写入存储器的数据,由所述算术和逻辑单元模块设置;和
从存储器读取的数据,由所述算术和逻辑单元模块设置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP193580/2004 | 2004-06-30 | ||
JP2004193580A JP2006018413A (ja) | 2004-06-30 | 2004-06-30 | プロセッサおよびパイプライン再構成制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1716184A true CN1716184A (zh) | 2006-01-04 |
Family
ID=35148778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004101035907A Pending CN1716184A (zh) | 2004-06-30 | 2004-12-30 | 处理器和流水线重配置控制方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7194610B2 (zh) |
EP (1) | EP1615139A3 (zh) |
JP (1) | JP2006018413A (zh) |
CN (1) | CN1716184A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440192C (zh) * | 2006-12-28 | 2008-12-03 | 北京时代民芯科技有限公司 | 粗粒度可重配置计算结构中算术单元结构 |
CN103218347A (zh) * | 2013-04-28 | 2013-07-24 | 清华大学 | 面向可重构阵列的多参数融合性能建模方法 |
CN104461464A (zh) * | 2013-09-20 | 2015-03-25 | 威盛电子股份有限公司 | 用于微处理器的动态重设方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4665760B2 (ja) * | 2003-06-25 | 2011-04-06 | 日本電気株式会社 | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム |
JP2006011825A (ja) * | 2004-06-25 | 2006-01-12 | Fujitsu Ltd | 再構成可能演算装置および半導体装置 |
CN100545827C (zh) * | 2004-07-30 | 2009-09-30 | 富士通株式会社 | 可重配置电路及可重配置电路的控制方法 |
KR100730280B1 (ko) * | 2005-12-06 | 2007-06-19 | 삼성전자주식회사 | 재구성 프로세서에서 루프 버퍼를 최적화하기 위한 장치 및방법 |
JP4782591B2 (ja) | 2006-03-10 | 2011-09-28 | 富士通セミコンダクター株式会社 | リコンフィグラブル回路 |
JP4646840B2 (ja) * | 2006-03-22 | 2011-03-09 | 富士通セミコンダクター株式会社 | 回路構成を動的に切り替える並列処理装置 |
US7533249B2 (en) * | 2006-10-24 | 2009-05-12 | Panasonic Corporation | Reconfigurable integrated circuit, circuit reconfiguration method and circuit reconfiguration apparatus |
JP5141151B2 (ja) * | 2007-09-20 | 2013-02-13 | 富士通セミコンダクター株式会社 | 動的再構成回路およびループ処理制御方法 |
JP4911022B2 (ja) * | 2007-12-27 | 2012-04-04 | 富士通セミコンダクター株式会社 | カウンタ制御回路、動的再構成回路およびループ処理制御方法 |
JP5590849B2 (ja) * | 2009-10-08 | 2014-09-17 | キヤノン株式会社 | 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、その制御装置、およびその制御方法、プログラム |
CN102122275A (zh) * | 2010-01-08 | 2011-07-13 | 上海芯豪微电子有限公司 | 一种可配置处理器 |
CN102214157A (zh) * | 2011-06-08 | 2011-10-12 | 清华大学 | 一种动态可重构阵列时序控制的方法 |
US10635446B2 (en) * | 2015-09-24 | 2020-04-28 | Qualcomm Incorporated | Reconfiguring execution pipelines of out-of-order (OOO) computer processors based on phase training and prediction |
US10335334B2 (en) * | 2017-04-14 | 2019-07-02 | Hill-Rom Services, Inc. | Emergent situation notification during transport of a patient support apparatus |
US11169822B2 (en) * | 2019-02-14 | 2021-11-09 | Xilinx, Inc. | Configuring programmable logic region via programmable network |
JP7325210B2 (ja) * | 2019-04-08 | 2023-08-14 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5440721A (en) * | 1992-03-24 | 1995-08-08 | Sony Electronics, Inc. | Method and apparatus for controlling signal timing of cascaded signal processing units |
EP0686917A1 (en) * | 1994-06-07 | 1995-12-13 | International Business Machines Corporation | Apparatus for processing a series of timing signals |
JPH09237186A (ja) | 1996-03-04 | 1997-09-09 | Hitachi Ltd | ループ制御装置およびプロセッサ |
US5958048A (en) * | 1996-08-07 | 1999-09-28 | Elbrus International Ltd. | Architectural support for software pipelining of nested loops |
US6757892B1 (en) * | 1999-06-24 | 2004-06-29 | Sarnoff Corporation | Method for determining an optimal partitioning of data among several memories |
EP1332429B1 (en) * | 2000-11-06 | 2011-02-09 | Broadcom Corporation | Reconfigurable processing system and method |
-
2004
- 2004-06-30 JP JP2004193580A patent/JP2006018413A/ja not_active Withdrawn
- 2004-12-22 EP EP04258035A patent/EP1615139A3/en not_active Withdrawn
- 2004-12-30 CN CNA2004101035907A patent/CN1716184A/zh active Pending
-
2005
- 2005-02-23 US US11/063,860 patent/US7194610B2/en not_active Expired - Fee Related
-
2007
- 2007-03-02 US US11/681,350 patent/US20070150707A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440192C (zh) * | 2006-12-28 | 2008-12-03 | 北京时代民芯科技有限公司 | 粗粒度可重配置计算结构中算术单元结构 |
CN103218347A (zh) * | 2013-04-28 | 2013-07-24 | 清华大学 | 面向可重构阵列的多参数融合性能建模方法 |
CN103218347B (zh) * | 2013-04-28 | 2016-01-20 | 清华大学 | 面向可重构阵列的多参数融合性能建模方法 |
CN104461464A (zh) * | 2013-09-20 | 2015-03-25 | 威盛电子股份有限公司 | 用于微处理器的动态重设方法 |
CN104461463A (zh) * | 2013-09-20 | 2015-03-25 | 威盛电子股份有限公司 | 用于微处理器的动态重设方法 |
CN104461463B (zh) * | 2013-09-20 | 2018-04-13 | 上海兆芯集成电路有限公司 | 用于微处理器的动态重设方法 |
CN104461464B (zh) * | 2013-09-20 | 2018-04-13 | 上海兆芯集成电路有限公司 | 用于微处理器的动态重设方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070150707A1 (en) | 2007-06-28 |
US7194610B2 (en) | 2007-03-20 |
US20060004993A1 (en) | 2006-01-05 |
JP2006018413A (ja) | 2006-01-19 |
EP1615139A2 (en) | 2006-01-11 |
EP1615139A3 (en) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1716184A (zh) | 处理器和流水线重配置控制方法 | |
CN1098487C (zh) | 用于影响数据处理器中的顺序指令处理的方法和装置 | |
CN1138205C (zh) | 以不同等待时间调度指令 | |
US5687360A (en) | Branch predictor using multiple prediction heuristics and a heuristic identifier in the branch instruction | |
EP0331372B1 (en) | Method of and apparatus using floating point execption signals for controlling several processors | |
US6366911B1 (en) | Partitioning of sorted lists (containing duplicate entries) for multiprocessors sort and merge | |
US4578750A (en) | Code determination using half-adder based operand comparator | |
CN1116639C (zh) | 带任务切换的零开销计算机中断 | |
CN109426484B (zh) | 一种数据排序装置、方法及芯片 | |
CN1044177A (zh) | 紧配合的多处理器指令同步 | |
CN1713137A (zh) | 含有多级寄存器文件的数字数据处理设备 | |
CN1255674A (zh) | 用于在运行时间选择编译方式的方法和装置 | |
CN1340760A (zh) | 分区的发送队列和分配策略 | |
CN1773459A (zh) | 从同步冗余设备选择状态数据的方法和系统 | |
JPH0223431A (ja) | 割込み処理システム | |
US6738896B1 (en) | Method and apparatus for determining availability of a queue which allows random insertion | |
CN112487750A (zh) | 一种基于存内计算的卷积加速计算系统及方法 | |
CN1109976C (zh) | 监视计时器系统 | |
CN111176831A (zh) | 基于多线程共享内存通信的动态线程映射优化方法及装置 | |
CN1319801A (zh) | 用于循环冗余校验的有效计算方法及装置 | |
CN1159648C (zh) | 有限游程转移预测方法 | |
Weber | Parallel Implementation of the Accelerated Integer GCD Algorithm. | |
US20220050664A1 (en) | Systems, methods, and devices for the sorting of digital lists | |
CN111158886A (zh) | 用于优化操作系统任务调度的方法、装置和智能设备 | |
CN1193777A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |