CN103294643B - 可重构处理器、代码转换设备及其代码转换方法 - Google Patents
可重构处理器、代码转换设备及其代码转换方法 Download PDFInfo
- Publication number
- CN103294643B CN103294643B CN201310063870.9A CN201310063870A CN103294643B CN 103294643 B CN103294643 B CN 103294643B CN 201310063870 A CN201310063870 A CN 201310063870A CN 103294643 B CN103294643 B CN 103294643B
- Authority
- CN
- China
- Prior art keywords
- cga
- hardware
- patterns
- groups
- informations
- 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.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- 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
-
- 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
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
- G06F15/7892—Reconfigurable logic embedded in CPU, e.g. reconfigurable unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种可重构处理器、代码转换设备及其代码转换方法,其中,所述可重构处理器包括处理器,所述处理器包括多个功能单元(FU),并具有作为执行模式的基于第一FU组的超长指令字(VLIW)模式、基于第二FU组的所有FU的第一粗粒度阵列(CGA)模式以及基于第二FU组的预定FU的第二CGA模式。
Description
本申请要求于2012年2月28日提交的第10-2012-0020560号韩国专利申请的利益,该申请的整个公开通过引用包含于此用于所有目的。
技术领域
以下描述涉及一种可重构处理器及其编译器。
背景技术
通常,可重构架构表示可改变计算设备的硬件配置从而将其优化用于特殊任务的架构。
由于硬件的固定的功能,仅硬件地处理特定任务难以有效地处理在任务的处理期间进行的修改或改变,而仅软件地处理特定任务可容易地处理在任务的处理期间进行的修改或改变,然而,这样导致与硬件地处理任务相比低的处理速度。
已经设计出可重构架构以获得这样的硬件处理和软件处理的所有优点。具体地说,在迭代执行相同任务的数字信号处理领域,可重构架构已经吸引了诸多注意。
代表性的可重构架构是粗粒度阵列(CGA)。CGA由多个处理单元组成,并可通过改变处理单元之间的连接来被优化用于特殊任务。
同时,最近,已经引入了CGA的特定处理单元被用作超长指令字(VLIW)机的可重构架构。通常,具有CGA模式和VLIW模式的可重构架构在CGA模式下处理相同操作被迭代执行的循环,并且在VLIW模式下处理除这样的循环操作以外的一般操作。
发明内容
在一个总体方面,提供了一种可重构处理器,该可重构处理器包括处理器,其中,所述处理器包括多个功能单元(FU),并具有作为执行模式的基于第一FU组的超长指令字(VLIW)模式、基于第二FU组的所有FU的第一粗粒度阵列(CGA)模式以及基于第二FU组的预定FU的第二CGA模式。
可重构处理器还可包括:配置存储器,被配置为存储用于VLIW模式、第一CGA模式和第二CGA模式的配置信息;解码器,被配置为接收预定模式转换信号,根据预定模式转换信号选择/转换存储在配置存储器中的一条配置信息,并将选择/转换的配置信息传送到处理器。
配置存储器还可包括:电源,被配置为使在没有当前模式下操作的一个或多个FU断电。
在另一总体方面,提供了一种用于可重构处理器的代码转换设备,所述可重构处理器包括多个功能单元(FU),并具有作为执行模式的基于第一FU组的超长指令字(VLIW)模式、基于第二FU组的所有FU的第一粗粒度阵列(CGA)模式以及基于第二FU组的预定FU的第二CGA模式,所述代码转换设备包括:硬件信息提供器,被配置为选择性地提供VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个,其中,VLIW硬件信息是关于第一FU组的硬件信息,第一CGA硬件信息是关于第二FU组的所有FU的硬件信息,第二CGA硬件信息是关于第二FU组的预定FU的硬件信息;编译单元,被配置为根据硬件信息提供器提供的硬件信息编译代码。
在另一总体方面,提供了一种用于可重构处理器的代码转换方法,所述可重构处理器包括多个功能单元(FU),并具有作为执行模式的基于第一FU组的超长指令字(VLIW)模式、基于第二FU组的所有FU的第一粗粒度阵列(CGA)模式以及基于第二FU组的预定FU的第二CGA模式,所述代码转换方法包括:提供VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个,其中,VLIW硬件信息是关于第一FU组的硬件信息,第一CGA硬件信息是关于第二FU组的所有FU的硬件信息,第二CGA硬件信息是关于第二FU组的预定FU的硬件信息;根据提供的硬件信息编译代码。
从下面的详细描述、附图和权利要求中其它特征和方面将变得清楚。
附图说明
图1是示出可重构处理器的示例的示图。
图2示出配置存储器的示例。
图3示出解码器的配置示例。
图4是示出可重构处理器的模式转换方法的示例的流程图。
图5是示出可重构处理器的模式转换方法的另一示例的流程图。
图6是用于解释用于第一粗粒度阵列(CGA)模式和第二CGA模式之间的模式转换的方法的示图。
图7是示出用于可重构处理器的代码转换设备的示例的示图。
贯穿附图和详细描述,除非另外描述,否则相同附图标号应被理解为表示相同元件、特征和结构。为了清楚、说明和方便,可夸大这些元件的相对大小和描绘。
具体实施方式
提供以下描述以帮助读者获得对这里描述的方法、设备和/或系统的充分理解。因此,这里描述的方法、设备和/或系统的各种改变、修改和等同物将被建议给本领域的普通技术人员。此外,为了增加清楚和简洁,可省略对公知功能和结构的描述。
图1是示出可重构处理器100的示例的示图。
参照图1,可重构处理器100包括处理器101、配置存储器102和解码器103,并还可包括控制器104和全局寄存器文件(GRF)105。
处理器101包括多个功能单元(在下文,被称为FU)。每个FU可包括:处理元件(PE),用于执行各种算术或逻辑运算;局部寄存器文件(LRF),用于存储运算的结果等。FU的数量不受限制并且取决于应用的目的。
处理器101具有两种执行模式:超长指令字(VLIW)模式和粗粒度阵列(CGA)模式。在VLIW模式下,处理器101基于第一FU组执行操作。例如,在VLIW模式下,存储在配置存储器102或单独VLIW存储器(未示出)中的VLIW指令可被传送到属于第一FU组110的FU0至FU3,并且各个FU0至FU3可执行VLIW指令。在CGA模式下,处理器101基于第二FU组执行操作。例如,在CGA模式下,存储在配置存储器102中的CGA指令可被传送到属于第二FU组120的FU0至FU15,并且各个FU0至FU15可执行CGA指令。这里,FU0至FU3被用于VLIW模式和CGA模式两者。然而,用于VLIW的单独FU还可被配置。此外,可提供用于VLIW指令的单独VLIW存储器。全局寄存器文件105可在模式转换时临时存储内部(Live-in)/外部(Live-out)数据。
处理器101可在CGA模式下处理诸如循环的迭代操作,并可在VLIW模式下处理其它操作。例如,当在VLIW模式下执行操作系统(OS)的同时从控制器104产生模式转换信号时,响应于模式转换信号将上下文信息存储在全局寄存器文件105中,然后在CGA模式下执行循环操作。之后,当循环操作被终止时,所述处理再次进入VLIW模式,并且存储在全局寄存器文件105中的上下文信息返回。
处理器101的CGA模式可被划分为多个子CGA模式。例如,CGA模式可包括使用第二FU组120的所有FU的第一CGA模式、使用第二FU组120的预定FU(例如,121)的第二CGA模式。此外,CGA模式还可包括使用第二FU组120的与FU121不同的FU的第三CGA模式。这里,与第三CGA模式相应的FU可与FU121完全不同或包括FU121中的一部分。第一CGA模式可被称为M×N模式,第二模式可被称为K×L模式(M×N>K×L)。
配置存储器102可存储用于处理器101的每个执行模式的配置信息。配置信息可包括关于将被各个FU处理的指令的信息和关于FU之间的连接关系的信息。换句话说,处理器101的硬件配置可根据配置信息而改变。
配置存储器102可存储用于第一CGA模式的第一CGA配置信息和用于第二CGA模式的第二CGA配置信息。配置存储器102可将第一CGA配置信息和第二CGA配置信息存储在不同的存储器区域中。第二CGA配置信息可具有比第一CGA配置信息小的容量,其中,第二CGA配置信息是用于第二FU组120的预定FU的配置信息。
解码器103可从控制器104接收模式转换信号,并将存储在配置存储器102中的相应模式的配置信息传送到处理器101。例如,解码器103在第一CGA模式下将第一CGA配置信息本身传送到处理器101,并在第二CGA模式下转换第二CGA配置信息并将转换后的第二CGA配置信息传送到处理器101。在转换第二CGA配置信息时,解码器103可将第二CGA配置信息中的没有映射到第二FU组120的FU121的配置信息转换为预定值。例如,当仅有四个FU(即,FU9、FU10、FU13和FU14)121在第二CGA模式下操作时,解码器103可将被传送到剩余FU的配置信息改变为默认值。
根据另一方面,控制器104可包括用于使没有在当前模式下操作的FU断电的电源(未示出)。可选地,电源可使配置存储器102中的存储第二CGA配置信息的存储器区域断电。
根据另一方面,可重构处理器100可通过VLIW模式执行第一CGA模式和第二CGA模式之间的转换。
图2示出配置存储器200的示例。
参照图2,配置存储器200可包括第一区域201和第二区域202。第一区域201可存储第一CGA配置信息,第二区域202可存储第二CGA配置信息。如上所述,已知第二CGA配置信息具有比第一CGA配置信息小的容量。换句话说,第二CGA配置信息可被划分为有效部分210和无效部分220。映射到有效部分210的FU可以是在第二CGA模式下操作的FU。
根据一个方面,在第二CGA模式下,控制器(图1的104)使无效部分220断电。
图3示出解码器300的配置示例。
参照图3,解码器300可包括多个转换器301。每个转换器301的输入端被连接到配置存储器(例如,图1的102)的输出端,并且每个转换器301的输出端可被连接到相应FU的输入端。
根据一方面,解码器300可根据当前模式适当地转换配置存储器102的配置。例如,每个转换器301可将第一CGA配置信息本身传送到相应FU,并将没有在第二CGA配置信息中使用的部分转换为默认值(例如,“0”),并将所述默认值传送到所述相应FU。
图4是示出可重构处理器的模式转换方法的示例的流程图。模式转换方法可以是用于从VLIW模式转换为CGA模式的示例。
参照图1至图4,响应于CGA模式转换信号,在多个子CGA模式中选择一个子CGA模式(401)。例如,可选择如上所述的第一CGA模式(M×N模式)或第二CGA模式(K×L模式)。然后,根据选择的子CGA模式调节存储器保持力(memory retention)(402)。例如,响应于CGA模式转换信号激活配置存储器102,如果选择第二CGA模式,则使预定存储器区域(例如,图2的220)断电。接着,使除与选择的子CGA模式相应的FU(例如,120或121)以外的FU断电(403)。例如,可使将配置存储器102连接至处理器101的相应FU的隔离单元断电。然后,执行选择的子CGA模式(404)。
图5是示出可重构处理器的模式转换方法的另一示例的流程图。模式转换方法可以是用于从CGA模式转换为VLIW模式的示例。
参照图1和图5,响应于VLIW模式转换信号,将上下文存储在全局寄存器文件105中(501)。上下文可包含CGA模式的执行结果。然后,使除与VLIW模式相应的FU以外的FU断电(502)。例如,可使除第一FU组110以外的剩余FU断电。接着,使除与VLIW模式相应的配置存储器102的区域以外的区域失活(503)。例如,如果提供单独VLIW存储器(未示出),则可在保持配置存储器102的同时从VLIW存储器取得VLIW指令。然后,执行VLIW模式(504)。
图6是用于解释用于第一CGA模式和第二CGA模式之间的模式转换的方法的示图。
参照图6,OS可被映射到VLIW模式600a、600b和600c,音频数据的处理可被映射到2×2CGA模式601,视频数据的处理可被映射到3×3CGA模式602。在2×2CGA模式601下,2×2FU610可根据第二CGA配置信息630处理音频数据。此时,剩余FU620处于失活状态。在音频数据的处理被终止之后,处理进入VLIW模式600b,并且3×3CGA模式602被调用。在3×3CGA模式602下,3×3FU650可根据第一CGA配置信息640处理视频数据。此时,第二CGA配置信息630可处于失活状态。
图7是示出用于可重构处理器的代码转换设备700的示例的示图。代码转换设备700可以是包括在图1的可重构处理器100中的编译器的示例。
参照图1和图7,代码转换设备700可包括硬件信息提供器701和编译单元702。
硬件信息提供器701选择性地提供VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个,其中,VLIW硬件信息是关于第一FU组110的硬件信息,第一CGA硬件信息是关于第二FU组120的所有FU的硬件信息,第二CGA硬件信息是关于第二FU组120的预定FU(例如,121)的硬件信息。例如,硬件信息提供器701可根据代码的特征或用户指令选择VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个。
编译单元702根据硬件信息提供器701提供的硬件信息编译代码。例如,如果第二CGA硬件信息被硬件信息提供器701选择,则编译单元702可在忽略第二FU组120的除了预定FU121以外的剩余FU(即,FU0至FU7、FU10、FU11、、FU14和FU15)的同时基于FU121执行编译。也就是说,编译单元702可根据第二CGA硬件信息不映射与第二FU组120除了的FU121以外的剩余FU相关的指令或数据。
在下文,将参照图1和图7描述用于可重构处理器100的代码转换方法的示例。
首先,如上所述,硬件信息提供器701根据代码的特征或用户指令选择VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个,其中,VLIW硬件信息是关于第一FU组110的硬件信息,第一CGA硬件信息是关于第二FU组120的所有FU的硬件信息,第二CGA硬件信息是关于第二FU组120的预定FU(例如,121)的硬件信息。接着,编译单元702根据选择的硬件信息编译代码。
如上所述,根据示例,由于基于具有不同数量的FU的多个FU组提供多个CGA模式,因此可重构处理器可按照应用需要的优化性能进行操作,这样实现节能和性能改善。
本发明可被实施为计算机可读记录介质中的计算机可读代码。计算机可读记录介质包括存储有计算机可读数据的所有类型的记录介质。计算机可读记录介质的示例包括ROM、RAM、CD-ROM、磁带、软盘和光学数据存储器。此外,记录介质还可被实施为诸如互联网传输的载波形式。此外,计算机可读记录介质可被分布到网络上的计算机系统,在所述计算机系统中计算机可读代码可以以分布方式被存储和执行。
以上已经描述了多个示例。然而,将理解可以进行各种改变。例如,如果按照不同顺序执行描述的技术,和/或如果以不同方式对描述的系统、架构、装置或电路中的组件进行组合,和/或由其他组件或它们的等同物代替或替换,则可实现合适的结果。因此,其它实施方式在权利要求的范围之内。
Claims (11)
1.一种可重构处理器,包括处理器,其中,所述处理器包括多个功能单元FU,并具有作为执行模式的基于第一FU组的超长指令字VLIW模式、基于第二FU组的所有FU的第一粗粒度阵列CGA模式以及基于第二FU组的多个FU的第二CGA模式,
其中,所述可重构处理器还包括:
配置存储器,被配置为分别存储用于VLIW模式、第一CGA模式和第二CGA模式的配置信息;
解码器,被配置为接收模式转换信号,并执行与模式转换信号对应的处理器的模式转换;
控制器,被配置为使与没有在对应于模式转换信号的模式下操作的一个或多个FU相应的配置存储器的一个或多个部分断电,
其中,通过VLIW模式执行第一CGA模式和第二CGA模式之间的模式转换,并且在模式转换期间,上下文信息被存储在全局寄存器文件中。
2.如权利要求1所述的可重构处理器,其中,
解码器,还被配置为接收模式转换信号,根据模式转换信号选择/转换存储在配置存储器中的一条配置信息,并将选择/转换的配置信息传送到处理器。
3.如权利要求2所述的可重构处理器,其中,配置存储器将用于第一CGA模式的第一CGA配置信息和用于第二CGA模式的第二CGA配置信息存储在不同的存储器区域中。
4.如权利要求3所述的可重构处理器,其中,解码器在第一CGA模式下将第一CGA配置信息本身传送到处理器,并在第二CGA模式下转换第二CGA配置信息并将转换后的第二CGA配置信息传送到处理器。
5.如权利要求4所述的可重构处理器,其中,解码器将第二CGA配置信息中的没有映射到第二FU组的所述多个FU的配置信息转换为一个值。
6.如权利要求1所述的可重构处理器,还包括:电源,被配置为使没有在当前模式下操作的一个或多个FU断电。
7.如权利要求1所述的可重构处理器,其中,所述处理器还具有基于第二FU组的与所述多个FU不同的FU的第三CGA模式。
8.一种用于可重构处理器的代码转换设备,所述可重构处理器包括多个功能单元FU,并具有作为执行模式的基于第一FU组的超长指令字VLIW模式、基于第二FU组的所有FU的第一粗粒度阵列CGA模式以及基于第二FU组的多个FU的第二CGA模式,
所述代码转换设备包括:
硬件信息提供器,被配置为选择性地提供VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个,其中,VLIW硬件信息是关于第一FU组的硬件信息,第一CGA硬件信息是关于第二FU组的所有FU的硬件信息,第二CGA硬件信息是关于第二FU组的所述多个FU的硬件信息;
编译器,被配置为根据硬件信息提供器选择性地提供的硬件信息编译代码,
响应于第二CGA硬件信息被选择,编译器基于选择性地提供的硬件信息,不映射与第二FU组的除所述多个FU中的FU之外的剩余FU相关的指令或数据。
9.如权利要求8所述的代码转换设备,其中,硬件信息提供器根据代码的特征或用户指令提供VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个。
10.一种用于可重构处理器的代码转换方法,所述可重构处理器包括多个功能单元FU,并具有作为执行模式的基于第一FU组的超长指令字VLIW模式、基于第二FU组的所有FU的第一粗粒度阵列CGA模式以及基于第二FU组的多个FU的第二CGA模式,所述代码转换方法包括:
提供VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个,其中,VLIW硬件信息是关于第一FU组的硬件信息,第一CGA硬件信息是关于第二FU组的所有FU的硬件信息,第二CGA硬件信息是关于第二FU组的所述多个FU的硬件信息;
根据提供的硬件信息编译代码,
响应于第二CGA硬件信息被选择,基于提供的硬件信息,编译的代码不包括映射的与第二FU组的除所述多个FU中的FU之外的剩余FU相关的指令或数据。
11.如权利要求10所述的代码转换方法,其中,提供硬件信息的步骤包括:根据代码的特征或用户指令提供VLIW硬件信息、第一CGA硬件信息和第二CGA硬件信息中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0020560 | 2012-02-28 | ||
KR1020120020560A KR101978409B1 (ko) | 2012-02-28 | 2012-02-28 | 재구성가능 프로세서, 이를 위한 코드 변환 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103294643A CN103294643A (zh) | 2013-09-11 |
CN103294643B true CN103294643B (zh) | 2018-04-24 |
Family
ID=49004587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310063870.9A Active CN103294643B (zh) | 2012-02-28 | 2013-02-28 | 可重构处理器、代码转换设备及其代码转换方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130227255A1 (zh) |
JP (1) | JP6317065B2 (zh) |
KR (1) | KR101978409B1 (zh) |
CN (1) | CN103294643B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348792B2 (en) * | 2012-05-11 | 2016-05-24 | Samsung Electronics Co., Ltd. | Coarse-grained reconfigurable processor and code decompression method thereof |
KR102130813B1 (ko) * | 2013-10-08 | 2020-07-06 | 삼성전자주식회사 | 재구성 가능 프로세서 및 재구성 가능 프로세서를 동작하는 방법 |
KR102122455B1 (ko) * | 2013-10-08 | 2020-06-12 | 삼성전자주식회사 | 프로세서의 디코더 검증을 위한 테스트 벤치 생성 방법 및 이를 위한 장치 |
US10831507B2 (en) | 2018-11-21 | 2020-11-10 | SambaNova Systems, Inc. | Configuration load of a reconfigurable data processor |
US11188497B2 (en) | 2018-11-21 | 2021-11-30 | SambaNova Systems, Inc. | Configuration unload of a reconfigurable data processor |
US10698853B1 (en) | 2019-01-03 | 2020-06-30 | SambaNova Systems, Inc. | Virtualization of a reconfigurable data processor |
US11386038B2 (en) | 2019-05-09 | 2022-07-12 | SambaNova Systems, Inc. | Control flow barrier and reconfigurable data processor |
US11055141B2 (en) | 2019-07-08 | 2021-07-06 | SambaNova Systems, Inc. | Quiesce reconfigurable data processor |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
US11556494B1 (en) | 2021-07-16 | 2023-01-17 | SambaNova Systems, Inc. | Defect repair for a reconfigurable data processor for homogeneous subarrays |
US11327771B1 (en) | 2021-07-16 | 2022-05-10 | SambaNova Systems, Inc. | Defect repair circuits for a reconfigurable data processor |
US11409540B1 (en) | 2021-07-16 | 2022-08-09 | SambaNova Systems, Inc. | Routing circuits for defect repair for a reconfigurable data processor |
US11487694B1 (en) | 2021-12-17 | 2022-11-01 | SambaNova Systems, Inc. | Hot-plug events in a pool of reconfigurable data flow resources |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1720495A (zh) * | 2002-12-04 | 2006-01-11 | 皇家飞利浦电子股份有限公司 | 基于软件的微处理器功率损耗控制 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2073516A1 (en) * | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
US5774731A (en) * | 1995-03-22 | 1998-06-30 | Hitachi, Ltd. | Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage |
JP2005528792A (ja) * | 2002-06-03 | 2005-09-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 再構成可能な集積回路 |
AU2005322593A1 (en) * | 2004-04-26 | 2006-07-06 | Replidyne, Inc. | Bacterial replication systems and methods |
JP3810419B2 (ja) * | 2004-12-07 | 2006-08-16 | 松下電器産業株式会社 | 再構成可能な信号処理プロセッサ |
GB0605349D0 (en) * | 2006-03-17 | 2006-04-26 | Imec Inter Uni Micro Electr | Reconfigurable multi-processing coarse-grain array |
EP1868094B1 (en) * | 2006-06-12 | 2016-07-13 | Samsung Electronics Co., Ltd. | Multitasking method and apparatus for reconfigurable array |
US20080244238A1 (en) * | 2006-09-01 | 2008-10-02 | Bogdan Mitu | Stream processing accelerator |
US20090113256A1 (en) * | 2007-10-24 | 2009-04-30 | Nokia Corporation | Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding |
KR101335001B1 (ko) * | 2007-11-07 | 2013-12-02 | 삼성전자주식회사 | 프로세서 및 인스트럭션 스케줄링 방법 |
US7863930B2 (en) * | 2007-11-13 | 2011-01-04 | Panasonic Corporation | Programmable device, control method of device and information processing system |
KR101581882B1 (ko) * | 2009-04-20 | 2015-12-31 | 삼성전자주식회사 | 재구성 가능한 프로세서 및 그 재구성 방법 |
KR101622266B1 (ko) * | 2009-04-22 | 2016-05-18 | 삼성전자주식회사 | 재구성 가능 프로세서 및 이를 이용한 인터럽트 핸들링 방법 |
KR101636377B1 (ko) * | 2009-10-23 | 2016-07-06 | 삼성전자주식회사 | 재구성 프로세서, 재구성 제어 장치 및 방법, 그리고, 스레드 모델링 방법 |
KR101738941B1 (ko) * | 2010-03-23 | 2017-05-24 | 삼성전자주식회사 | 재구성 가능 어레이 및 재구성 가능 어레이의 제어 방법 |
KR101912427B1 (ko) * | 2011-12-12 | 2018-10-29 | 삼성전자주식회사 | 재구성가능 프로세서 및 재구성가능 프로세서의 미니 코어 |
-
2012
- 2012-02-28 KR KR1020120020560A patent/KR101978409B1/ko active IP Right Grant
-
2013
- 2013-02-28 CN CN201310063870.9A patent/CN103294643B/zh active Active
- 2013-02-28 US US13/779,961 patent/US20130227255A1/en not_active Abandoned
- 2013-02-28 JP JP2013039961A patent/JP6317065B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1720495A (zh) * | 2002-12-04 | 2006-01-11 | 皇家飞利浦电子股份有限公司 | 基于软件的微处理器功率损耗控制 |
Also Published As
Publication number | Publication date |
---|---|
KR20130098773A (ko) | 2013-09-05 |
JP2013178770A (ja) | 2013-09-09 |
US20130227255A1 (en) | 2013-08-29 |
CN103294643A (zh) | 2013-09-11 |
JP6317065B2 (ja) | 2018-04-25 |
KR101978409B1 (ko) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294643B (zh) | 可重构处理器、代码转换设备及其代码转换方法 | |
KR101606622B1 (ko) | Fsm을 구현하기 위한 특수 목적 요소의 이용 | |
AU2014203218B2 (en) | Memory configuration for inter-processor communication in an MPSoC | |
US20150100757A1 (en) | Incorporating a spatial array into one or more programmable processor cores | |
US9292287B2 (en) | Method of scheduling loops for processor having a plurality of functional units | |
US20230023303A1 (en) | Machine learning network implemented by statically scheduled instructions | |
CN101799760A (zh) | 生成任意目标架构的并行单指令多数据代码的系统和方法 | |
US20230169318A1 (en) | Method and apparatus to efficiently process and execute artificial intelligence operations | |
CN112507284B (zh) | 稀疏矩阵乘法在可重构处理器阵列上的实现方法及装置 | |
JP2005534114A (ja) | ソース間分割コンパイル | |
CN110427337A (zh) | 基于现场可编程门阵列的处理器内核及其运行方法 | |
US9804903B2 (en) | Data processing apparatus for pipeline execution acceleration and method thereof | |
US20130159685A1 (en) | Control flow-based approach in implementing exception handling on a graphics processing unit | |
JP5362592B2 (ja) | プログラム命令の圧縮のための圧縮エントリーの最適選択 | |
EP2430527A1 (en) | Improvements relating to controlling simd parallel processors | |
Haaß et al. | Automatic custom instruction identification in memory streaming algorithms | |
KR20080067711A (ko) | 인스트럭션 실행 방법, 프로세싱 시스템 및 데이터 프로세싱 시스템 | |
CN116402091A (zh) | 面向人工智能芯片的混合引擎智能计算方法和装置 | |
CN113469326B (zh) | 在神经网络模型中执行剪枝优化的集成电路装置及板卡 | |
US8631173B2 (en) | Semiconductor device | |
US9547738B1 (en) | Invariant code optimization in high-level FPGA synthesis | |
CN102446086A (zh) | 一种可参量化专用指令集处理器设计平台 | |
Ma et al. | A graph-based spatial mapping algorithm for a coarse grained reconfigurable architecture template | |
CN114327630B (zh) | 一种适用于华为昇腾芯片的高性能算子生成方法 | |
CN113469328B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |