CN103294643B - 可重构处理器、代码转换设备及其代码转换方法 - Google Patents

可重构处理器、代码转换设备及其代码转换方法 Download PDF

Info

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
Application number
CN201310063870.9A
Other languages
English (en)
Other versions
CN103294643A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN103294643A publication Critical patent/CN103294643A/zh
Application granted granted Critical
Publication of CN103294643B publication Critical patent/CN103294643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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
    • G06F15/7885Runtime interface, e.g. data exchange, runtime control
    • G06F15/7892Reconfigurable logic embedded in CPU, e.g. reconfigurable unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • 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 or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent 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
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (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硬件信息中的一个。
CN201310063870.9A 2012-02-28 2013-02-28 可重构处理器、代码转换设备及其代码转换方法 Active CN103294643B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070199B1 (ko) * 2012-05-11 2020-01-28 삼성전자주식회사 재구성가능 프로세서 및 재구성가능 프로세서의 코드 압축해제 방법
KR102122455B1 (ko) * 2013-10-08 2020-06-12 삼성전자주식회사 프로세서의 디코더 검증을 위한 테스트 벤치 생성 방법 및 이를 위한 장치
KR102130813B1 (ko) * 2013-10-08 2020-07-06 삼성전자주식회사 재구성 가능 프로세서 및 재구성 가능 프로세서를 동작하는 방법
US11188497B2 (en) 2018-11-21 2021-11-30 SambaNova Systems, Inc. Configuration unload of a reconfigurable data processor
US10831507B2 (en) 2018-11-21 2020-11-10 SambaNova Systems, Inc. Configuration load 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720495A (zh) * 2002-12-04 2006-01-11 皇家飞利浦电子股份有限公司 基于软件的微处理器功率损耗控制

Family Cites Families (16)

* Cited by examiner, † Cited by third party
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 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 再構成可能な集積回路
US8431376B2 (en) * 2004-04-26 2013-04-30 The Regents Of The University Of Colorado 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 삼성전자주식회사 프로세서 및 인스트럭션 스케줄링 방법
CN101971500A (zh) * 2007-11-13 2011-02-09 松下电器产业株式会社 可编程设备、设备控制方法及信息处理系统
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 삼성전자주식회사 재구성가능 프로세서 및 재구성가능 프로세서의 미니 코어

Patent Citations (1)

* Cited by examiner, † Cited by third party
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
JP6317065B2 (ja) 2018-04-25
JP2013178770A (ja) 2013-09-09
CN103294643A (zh) 2013-09-11
US20130227255A1 (en) 2013-08-29
KR101978409B1 (ko) 2019-05-14

Similar Documents

Publication Publication Date Title
CN103294643B (zh) 可重构处理器、代码转换设备及其代码转换方法
US9792252B2 (en) Incorporating a spatial array into one or more programmable processor cores
KR101606622B1 (ko) Fsm을 구현하기 위한 특수 목적 요소의 이용
KR101551045B1 (ko) 요소 이용을 위한 상태 그룹화
CN102782672B (zh) 用于高效嵌入式同类多核平台的基于瓦片的处理器架构模型
AU2014203218B2 (en) Memory configuration for inter-processor communication in an MPSoC
US20150149747A1 (en) Method of scheduling loops for processor having a plurality of functional units
US20230023303A1 (en) Machine learning network implemented by statically scheduled instructions
US20230169318A1 (en) Method and apparatus to efficiently process and execute artificial intelligence operations
CN112507284B (zh) 稀疏矩阵乘法在可重构处理器阵列上的实现方法及装置
CN110427337A (zh) 基于现场可编程门阵列的处理器内核及其运行方法
US9804903B2 (en) Data processing apparatus for pipeline execution acceleration and method thereof
TW201640379A (zh) 快速向量動態記憶衝突檢測
JP5362592B2 (ja) プログラム命令の圧縮のための圧縮エントリーの最適選択
WO2013090521A1 (en) Control flow-based approach in implementing exception handling on a graphics processing unit
CN105373496A (zh) 微型计算机
US20120047350A1 (en) Controlling simd parallel processors
CN113469326B (zh) 在神经网络模型中执行剪枝优化的集成电路装置及板卡
CN102902548B (zh) 汇编级内存复制标准库函数的生成方法及装置
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
JP2008242947A (ja) 半導体装置
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