EP2217999A2 - Compiler für rekonfigurierbare architekturen mit besonderem zwischenformat - Google Patents
Compiler für rekonfigurierbare architekturen mit besonderem zwischenformatInfo
- Publication number
- EP2217999A2 EP2217999A2 EP08855171A EP08855171A EP2217999A2 EP 2217999 A2 EP2217999 A2 EP 2217999A2 EP 08855171 A EP08855171 A EP 08855171A EP 08855171 A EP08855171 A EP 08855171A EP 2217999 A2 EP2217999 A2 EP 2217999A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- pct
- code
- specific
- architecture
- target
- 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.)
- Withdrawn
Links
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/47—Retargetable compilers
Definitions
- the present invention relates to the preamble claimed. It thus relates u. a. on how an executable machine code can be generated for a given high-level language program, taking into account that a change in machine code may be required by processor changes, such as the use of new generations of processors.
- the individual elements of a library are adapted for execution to the respective data processing architecture. This adaptation is typically done by compiling a nes in a programming language written program part or program. During compilation, a plurality of conversions of the high-level language program or program part are made to arrive at a code portion executable on the target architecture. Compilation is a technique well known in the art. Reference is made in particular to standard textbooks such as WIRTH, Compiler Construction, AHO, SETHI and ULLMAMN "Red Dragon".
- the high-level source text is first decomposed (parsed) into sections suitable for compilation, parsed for syntax errors, etc. This is done in the so-called front end of the compiler, and the edited code obtained from the frontend is then abstracted
- RTL code Registered Transfer Level Code
- the data flow and control flow graphs are typically already present in this stage, which are also mentioned, for example, in the publications of the applicant (PCT / DE 02/03278, PCT / EP 02/10065, PCT / EP 2004/009640, PCT / EP 03/00624), including all members of the family, all of which are incorporated by reference for purposes of disclosure.
- the target architectures of the compiler are in particular reconfigurable architectures.
- a reconfigurable architecture is understood, inter alia, to include building blocks (VPU) which have a plurality of operationally variable elements (PAEs) in operation and / or networking, which are preferably arranged in a two-dimensional or even higher-dimensional matrix.
- the elements may include arithmetic logic units, FPGA areas, input / output cells, memory cells, analog modules, etc. These are usually coarsely granular, ie z. B. at least 4, preferably 8 bits wide and configurable in their function and networking. In between, however, fine-grained areas can also be arranged in part. Building blocks of this type are known, for example, under the name VPU.
- PAEs arithmetic and / or logical and / or analog and / or storage and / or networking assemblies referred to as PAEs and / or communicative peripheral assemblies (10) directly or through one or more bus systems are connected.
- the PAEs are arranged in any desired configuration, mixture and hierarchy, the arrangement being referred to as a PAE array or PA for short. It can be assigned to the PAE array a configuring unit.
- VPU components, systolic arrays, neural networks, multiprocessor systems, processors with multiple arithmetic units and / or logic cells, networking and network components such as crossbar circuitry, etc. are known, as well as FPGAs, DPGAs, Trans - computer etc.
- FPGAs are among the target architectures, with the FPGAs preferably having at least some of the above-listed (typically coarse-grained, configurable) elements (PAEs). Particularly preferred is at least one row or column within the FPGA architecture having elements with at least one adder and a multiplier, or an arithmetic logic unit (ALU).
- PEEs typically coarse-grained, configurable elements
- ALU arithmetic logic unit
- VIRTEX building blocks from XILINX SPARTAN, VIRTEX-2, VIRTEX-II Pro, VIRTEX-4, VIRTEX-5) etc. or building blocks from Altera, in particular STRATIX, etc.
- the blocks have PAE elements in the form of DSP cells.
- data sheets of the respective building blocks which can be obtained in public, for example, via the Internet pages of the manufacturers XILINX and ALTERA, and are incorporated in their entirety for disclosure purposes.
- the backend which outputs the machine-adapted program or library parts, must typically be very closely adapted to the respective computer architecture or machine. This typically prevents the library parts created for a particular target architecture from executing on a different target architecture, or, if so, from performing at a high performance level.
- the object of the present invention is to provide new products for commercial use.
- the compilation may include certain architectural, but not building block-specific optimizations of a high-level language code, for example for precompilation, those optimizations mentioned in PCT / EP 02/10065, PCT / EP 2004/003603, PCT / EP 2004/009640, PCT / EP 02 / 06,865th
- optimizations are made which relate to a division into parallel and vectorial / sequential program portions or flow portions, to a (hyper-) threading, etc.
- These optimizations may optionally be supported manually by a programmer; However, this is not mandatory.
- the precompilate can and will then be subjected to object code before execution of a block-specific optimization.
- This block-specific optimization can, for example, be adapted to the width and quantity of available buses, register depths and / or locally available memories, the instruction set of elements such as ALUs in an array or the different instruction sets of different elements in an array; temporal partitions according to PCT / EP 03/00624 can be carried out in this (second) optimization, etc.
- the correspondingly further optimized parts of the RTL are fed to a backend and from this a binary code is determined. This is advantageous because in the case of leading components, for example, when changing from one processor generation to a next generation processor easy adjustments made by simple recompilation of the compile. can be.
- this group mainly includes the aforementioned Field Programmable Gate Arrays (FPGAs) and (re) configurable processors, such as.
- FPGAs Field Programmable Gate Arrays
- VPUs building blocks manufactured by Siliconicon
- ADRES architecture of IMEC Endgland
- IPFlex Japan
- the details of the architecture are publicly available and it is intended to refer to the web pages and patent applications of the respective providers, which are fully incorporated for revelation purposes.
- the building block specific data such as bus widths, field sizes, instruction sets, etc. can be reported to the post-compiler of the present invention in a variety of ways. In the most preferred variant, they can be read from any relevant chip available in the system. Thus, corresponding data can be stored in a ROM or flash memory at or on the processor chip or module. be chert. Similarly, storage in a BIOS or the like is possible, though not preferred.
- the invention thus includes a system and / or method for providing more flexible and processor-independent code to the end user, as follows:
- a pre-compilation is generated by the software manufacturer by a compiler.
- the precompilate is not a processor-specific binary code in the conventional sense but an intermediate format of the code, for example in the form of graphs or a Register Transfer Language (RTL).
- the code preferably has no machine-specific parts, but is a pure processor-independent intermediate format (intermediate format).
- the precompilation is translated on the processor system or the user's computer by means of a post-compiler into the executable executable in binary format.
- Various times are suitable for code translation and can be selected system-, market- and user-specific. len.
- the precompilation may be translated at the following times:
- JAVA is also not distributed as an executable binary code (executable), but in the form of an intermediate representation. However, as an essential difference to the present invention, this is already processor-specifically translated to the JAVA Virtual Machine and thus no longer completely independent of the target system. Although the code can be executed on different target processors, these implement or emulate the JAVA Virtual Machine either within an interpreter at runtime, or a compiler. All specific limitations of the JAVA Virtual Machine are therefore already implicitly included in the pre-compilation and can hardly or no longer be optimized on the target system. Incidentally, this is one of the major disadvantages of JAVA, as it significantly limits the possible performance.
- the precompilate according to the invention is a pure intermediate format which has no processor or architecture-specific features and can therefore be efficiently compiled on any possible target system.
- the precompilate is preferably already optimized and designed for specific processor types and basic architectures.
- a precompilation for FPGAs will have undergone other optimization steps and transforms in the precompiler than the precompilate for ordinary sequential processors.
- the precompilate may already have manufacturer specific optimizations, and thus the precompilate may differ in architectural details between, for example, Altera and XILINX FPGAs.
- the compiler is completely independent of particular building blocks within a particular building block or architecture family (eg, Virtex-4) and preferably is largely independent between similar building block or architectural families (such as Virtex-4 and Virtex -5) and thus enables flexible and efficient final compilation to the corresponding target modules or target processors.
- 0201 means the high-level language source code, for example C code.
- 0202 represents the frontend, 0204 the intermediate format, 0205 the backend, and 0206 the binary data output from the backend.
- 0203a to 0203n are the optimizers or transformers required for the optimization of the intermediate format, which can be created in hardware and / or typical software and represent certain method steps in this respect.
- Fig. 2b substantially the same units or stages are described as in Fig. 2a, but now with implementation of the present invention.
- the ultimately output binary code that is in a library or can be registered is referred to as 0214 in Fig. 2b.
- the backend is called 0213.
- Precom- mulator generation takes place in 0204 after passing a high-level code or a binary code 0201 prepared for a sequential processor or co-processor through a front-end 0202 in stage 0204, performing the various optimizations 0203a-0203i described above already mentioned.
- the generated and ejected precompilation 0210 is fed as object code to an intermediate stage 0211, which in turn has the specific data of those chips on which the program parts, modules, etc., are actually to be executed later.
- Chip specific optimizations 0212a to 0212g are executed. Making the precompil available, tradable and mailable is thus particularly advantageous.
- the execution of the chip-specific or block-specific optimizations can occur significantly later and / or on a different computer system than the precompilation.
- the post-compilation can be done by the target architecture itself. This is considered to be particularly advantageous in each case. It should, however, be noted that the same computer system can possibly be used, for example because an existing high-level language program is to be translated by a software manufacturer after precompiling for a large number of different computer components.
- the post-compiler 0211 feeds the post-compilation to the backend 0213, which generates a chip-specific binary.
- a single binary may include a plurality of sub-binaries for specific chips can, which is loaded when loading a stored in a library such a binaries each required sub-binary from the so composed binary.
- Fig. 1 shows how a given object code 0105 in the (local) translator / post-compiler 0104 is recompiled, taking into account chip-specific information from a database 0106 or a chip, in particular the chip ID, compare 0102, extraction 0103 Backend 0107 to generate binaries, which are then stored in a library 0101 to be instantiated after linking by a program 0108.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102007057642 | 2007-11-28 | ||
PCT/DE2008/001971 WO2009068014A2 (de) | 2007-11-28 | 2008-11-28 | Über datenverarbeitung |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2217999A2 true EP2217999A2 (de) | 2010-08-18 |
Family
ID=40679035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP08855171A Withdrawn EP2217999A2 (de) | 2007-11-28 | 2008-11-28 | Compiler für rekonfigurierbare architekturen mit besonderem zwischenformat |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110173596A1 (de) |
EP (1) | EP2217999A2 (de) |
DE (1) | DE112008003670A5 (de) |
WO (1) | WO2009068014A2 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014151017A1 (en) * | 2013-03-15 | 2014-09-25 | Arganteal, Llc | Method of taking a computer architecture representation and generating manufaturing method capable of manufacturing computer systems in a specification |
US11163546B2 (en) * | 2017-11-07 | 2021-11-02 | Intel Corporation | Method and apparatus for supporting programmatic control of a compiler for generating high-performance spatial hardware |
Family Cites Families (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3564506A (en) * | 1968-01-17 | 1971-02-16 | Ibm | Instruction retry byte counter |
US3753008A (en) * | 1970-06-20 | 1973-08-14 | Honeywell Inf Systems | Memory pre-driver circuit |
US5459846A (en) * | 1988-12-02 | 1995-10-17 | Hyatt; Gilbert P. | Computer architecture system having an imporved memory |
US3754211A (en) * | 1971-12-30 | 1973-08-21 | Ibm | Fast error recovery communication controller |
US3956589A (en) * | 1973-11-26 | 1976-05-11 | Paradyne Corporation | Data telecommunication system |
US4594682A (en) * | 1982-12-22 | 1986-06-10 | Ibm Corporation | Vector processing |
US4646300A (en) * | 1983-11-14 | 1987-02-24 | Tandem Computers Incorporated | Communications method |
US4760525A (en) * | 1986-06-10 | 1988-07-26 | The United States Of America As Represented By The Secretary Of The Air Force | Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction |
US5119290A (en) * | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
CA1286421C (en) * | 1987-10-14 | 1991-07-16 | Martin Claude Lefebvre | Message fifo buffer controller |
US5031179A (en) * | 1987-11-10 | 1991-07-09 | Canon Kabushiki Kaisha | Data communication apparatus |
NL8800071A (nl) * | 1988-01-13 | 1989-08-01 | Philips Nv | Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. |
US4939641A (en) * | 1988-06-30 | 1990-07-03 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
US5245616A (en) * | 1989-02-24 | 1993-09-14 | Rosemount Inc. | Technique for acknowledging packets |
WO1991011765A1 (en) * | 1990-01-29 | 1991-08-08 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
DE4129614C2 (de) * | 1990-09-07 | 2002-03-21 | Hitachi Ltd | System und Verfahren zur Datenverarbeitung |
JPH04328657A (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
US5493663A (en) * | 1992-04-22 | 1996-02-20 | International Business Machines Corporation | Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses |
JP2572522B2 (ja) * | 1992-05-12 | 1997-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピューティング装置 |
DE4322343C2 (de) * | 1992-07-06 | 1996-10-02 | Mitsubishi Electric Corp | Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors |
US5339840A (en) * | 1993-04-26 | 1994-08-23 | Sunbelt Precision Products Inc. | Adjustable comb |
US5435000A (en) * | 1993-05-19 | 1995-07-18 | Bull Hn Information Systems Inc. | Central processing unit using dual basic processing units and combined result bus |
US5502838A (en) * | 1994-04-28 | 1996-03-26 | Consilium Overseas Limited | Temperature management for integrated circuits |
US6064819A (en) * | 1993-12-08 | 2000-05-16 | Imec | Control flow and memory management optimization |
US5574927A (en) * | 1994-03-25 | 1996-11-12 | International Meta Systems, Inc. | RISC architecture computer configured for emulation of the instruction set of a target computer |
US5677909A (en) * | 1994-05-11 | 1997-10-14 | Spectrix Corporation | Apparatus for exchanging data between a central station and a plurality of wireless remote stations on a time divided commnication channel |
US5798719A (en) * | 1994-07-29 | 1998-08-25 | Discovision Associates | Parallel Huffman decoder |
US6154826A (en) * | 1994-11-16 | 2000-11-28 | University Of Virginia Patent Foundation | Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order |
US5584013A (en) * | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache |
US5603005A (en) * | 1994-12-27 | 1997-02-11 | Unisys Corporation | Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed |
JP3598139B2 (ja) * | 1994-12-28 | 2004-12-08 | 株式会社日立製作所 | データ処理装置 |
US5682491A (en) * | 1994-12-29 | 1997-10-28 | International Business Machines Corporation | Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier |
US5778237A (en) * | 1995-01-10 | 1998-07-07 | Hitachi, Ltd. | Data processor and single-chip microcomputer with changing clock frequency and operating voltage |
EP0809825A1 (de) * | 1995-02-14 | 1997-12-03 | Vlsi Technology, Inc. | Verfahren und vorrichtung zur reduzierung des leistungsverbrauches in digitalen elektronischen schaltungen |
ZA965340B (en) * | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
US5784313A (en) * | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
CA2166369C (en) * | 1995-12-29 | 2004-10-19 | Robert J. Blainey | Method and system for determining inter-compilation unit alias information |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5898602A (en) * | 1996-01-25 | 1999-04-27 | Xilinx, Inc. | Carry chain circuit with flexible carry function for implementing arithmetic and logical functions |
US5727229A (en) * | 1996-02-05 | 1998-03-10 | Motorola, Inc. | Method and apparatus for moving data in a parallel processor |
US5859993A (en) * | 1996-08-30 | 1999-01-12 | Cypress Semiconductor Corporation | Dual ROM microprogrammable microprocessor and universal serial bus microcontroller development system |
JP3934710B2 (ja) * | 1996-09-13 | 2007-06-20 | 株式会社ルネサステクノロジ | マイクロプロセッサ |
US5832288A (en) * | 1996-10-18 | 1998-11-03 | Samsung Electronics Co., Ltd. | Element-select mechanism for a vector processor |
US5895487A (en) * | 1996-11-13 | 1999-04-20 | International Business Machines Corporation | Integrated processing and L2 DRAM cache |
US5913925A (en) * | 1996-12-16 | 1999-06-22 | International Business Machines Corporation | Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order |
GB2323188B (en) * | 1997-03-14 | 2002-02-06 | Nokia Mobile Phones Ltd | Enabling and disabling clocking signals to elements |
US6058266A (en) * | 1997-06-24 | 2000-05-02 | International Business Machines Corporation | Method of, system for, and computer program product for performing weighted loop fusion by an optimizing compiler |
US5838988A (en) * | 1997-06-25 | 1998-11-17 | Sun Microsystems, Inc. | Computer product for precise architectural update in an out-of-order processor |
US6072348A (en) * | 1997-07-09 | 2000-06-06 | Xilinx, Inc. | Programmable power reduction in a clock-distribution circuit |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
JPH11147335A (ja) * | 1997-11-18 | 1999-06-02 | Fuji Xerox Co Ltd | 描画処理装置 |
US6075935A (en) * | 1997-12-01 | 2000-06-13 | Improv Systems, Inc. | Method of generating application specific integrated circuits using a programmable hardware architecture |
US6096091A (en) * | 1998-02-24 | 2000-08-01 | Advanced Micro Devices, Inc. | Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip |
US6298043B1 (en) * | 1998-03-28 | 2001-10-02 | Nortel Networks Limited | Communication system architecture and a connection verification mechanism therefor |
US6456628B1 (en) * | 1998-04-17 | 2002-09-24 | Intelect Communications, Inc. | DSP intercommunication network |
US6052524A (en) * | 1998-05-14 | 2000-04-18 | Software Development Systems, Inc. | System and method for simulation of integrated hardware and software components |
US6173419B1 (en) * | 1998-05-14 | 2001-01-09 | Advanced Technology Materials, Inc. | Field programmable gate array (FPGA) emulator for debugging software |
US6449283B1 (en) * | 1998-05-15 | 2002-09-10 | Polytechnic University | Methods and apparatus for providing a fast ring reservation arbitration |
WO2001006371A1 (en) * | 1998-07-21 | 2001-01-25 | Seagate Technology Llc | Improved memory system apparatus and method |
US6289369B1 (en) * | 1998-08-25 | 2001-09-11 | International Business Machines Corporation | Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system |
US20020152060A1 (en) * | 1998-08-31 | 2002-10-17 | Tseng Ping-Sheng | Inter-chip communication system |
US7100026B2 (en) * | 2001-05-30 | 2006-08-29 | The Massachusetts Institute Of Technology | System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values |
JP3551353B2 (ja) * | 1998-10-02 | 2004-08-04 | 株式会社日立製作所 | データ再配置方法 |
US6249756B1 (en) * | 1998-12-07 | 2001-06-19 | Compaq Computer Corp. | Hybrid flow control |
US6826763B1 (en) * | 1998-12-11 | 2004-11-30 | Microsoft Corporation | Accelerating a distributed component architecture over a network using a direct marshaling |
US6694434B1 (en) * | 1998-12-23 | 2004-02-17 | Entrust Technologies Limited | Method and apparatus for controlling program execution and program distribution |
US6496902B1 (en) * | 1998-12-31 | 2002-12-17 | Cray Inc. | Vector and scalar data cache for a vector multiprocessor |
US6321298B1 (en) * | 1999-01-25 | 2001-11-20 | International Business Machines Corporation | Full cache coherency across multiple raid controllers |
US6191614B1 (en) * | 1999-04-05 | 2001-02-20 | Xilinx, Inc. | FPGA configuration circuit including bus-based CRC register |
GB9909196D0 (en) * | 1999-04-21 | 1999-06-16 | Texas Instruments Ltd | Transfer controller with hub and ports architecture |
US6738967B1 (en) * | 2000-03-14 | 2004-05-18 | Microsoft Corporation | Compiling for multiple virtual machines targeting different processor architectures |
US6845445B2 (en) * | 2000-05-12 | 2005-01-18 | Pts Corporation | Methods and apparatus for power control in a scalable array of processor elements |
US7164422B1 (en) * | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
EP1182559B1 (de) * | 2000-08-21 | 2009-01-21 | Texas Instruments Incorporated | Mikroprozessor |
JP2002123563A (ja) * | 2000-10-13 | 2002-04-26 | Nec Corp | コンパイル方法および合成装置ならびに記録媒体 |
US6836849B2 (en) * | 2001-04-05 | 2004-12-28 | International Business Machines Corporation | Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements |
TWI230897B (en) * | 2001-04-20 | 2005-04-11 | Ibm | Method for sharing a translation lookaside buffer between CPUs |
US6836842B1 (en) * | 2001-04-24 | 2004-12-28 | Xilinx, Inc. | Method of partial reconfiguration of a PLD in which only updated portions of configuration data are selected for reconfiguring the PLD |
US6976239B1 (en) * | 2001-06-12 | 2005-12-13 | Altera Corporation | Methods and apparatus for implementing parameterizable processors and peripherals |
AU2002347560A1 (en) * | 2001-06-20 | 2003-01-02 | Pact Xpp Technologies Ag | Data processing method |
US7036114B2 (en) * | 2001-08-17 | 2006-04-25 | Sun Microsystems, Inc. | Method and apparatus for cycle-based computation |
WO2003023583A2 (en) * | 2001-09-10 | 2003-03-20 | Cybula Limited | Computing devices |
US7472230B2 (en) * | 2001-09-14 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Preemptive write back controller |
US6625631B2 (en) * | 2001-09-28 | 2003-09-23 | Intel Corporation | Component reduction in montgomery multiplier processing element |
US7752459B2 (en) * | 2001-12-06 | 2010-07-06 | Novell, Inc. | Pointguard: method and system for protecting programs against pointer corruption attacks |
US6668237B1 (en) * | 2002-01-17 | 2003-12-23 | Xilinx, Inc. | Run-time reconfigurable testing of programmable logic devices |
DE10243322B4 (de) | 2002-09-18 | 2004-12-02 | Pact Xpp Technologies Ag | Analoge rekonfigurierbare Datenverarbeitungseinrichtung |
US20030226056A1 (en) * | 2002-05-28 | 2003-12-04 | Michael Yip | Method and system for a process manager |
WO2004021176A2 (de) * | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US6908227B2 (en) * | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US7167954B2 (en) * | 2002-09-09 | 2007-01-23 | Broadcom Corporation | System and method for caching |
US7155708B2 (en) * | 2002-10-31 | 2006-12-26 | Src Computers, Inc. | Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation |
US7299458B2 (en) * | 2002-10-31 | 2007-11-20 | Src Computers, Inc. | System and method for converting control flow graph representations to control-dataflow graph representations |
US7873811B1 (en) * | 2003-03-10 | 2011-01-18 | The United States Of America As Represented By The United States Department Of Energy | Polymorphous computing fabric |
US7412581B2 (en) * | 2003-10-28 | 2008-08-12 | Renesas Technology America, Inc. | Processor for virtual machines and method therefor |
US7389490B2 (en) * | 2004-07-29 | 2008-06-17 | International Business Machines Corporation | Method, system and program product for providing a configuration specification language supporting selective presentation of configuration entities |
US7455450B2 (en) * | 2005-10-07 | 2008-11-25 | Advanced Micro Devices, Inc. | Method and apparatus for temperature sensing in integrated circuits |
JP2008071130A (ja) * | 2006-09-14 | 2008-03-27 | Ricoh Co Ltd | Simd型マイクロプロセッサ |
US20090193384A1 (en) * | 2008-01-25 | 2009-07-30 | Mihai Sima | Shift-enabled reconfigurable device |
-
2008
- 2008-11-28 EP EP08855171A patent/EP2217999A2/de not_active Withdrawn
- 2008-11-28 WO PCT/DE2008/001971 patent/WO2009068014A2/de active Application Filing
- 2008-11-28 DE DE112008003670T patent/DE112008003670A5/de not_active Withdrawn
- 2008-11-28 US US12/745,335 patent/US20110173596A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
PIOTR LESNICKI ET AL: "Split Compilation: an Application to Just-in-Time Vectorization", INTERNATIONAL WORKSHOP ON GCC FOR RESEARCH IN EMBEDDED AND PARALLEL SYSTEMS, GREPS 2007, 16 September 2007 (2007-09-16), pages 1 - 7, XP055171902, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.73.3450&rep=rep1&type=pdf> [retrieved on 20150225] * |
See also references of WO2009068014A2 * |
Also Published As
Publication number | Publication date |
---|---|
DE112008003670A5 (de) | 2010-10-28 |
WO2009068014A3 (de) | 2010-08-05 |
WO2009068014A2 (de) | 2009-06-04 |
US20110173596A1 (en) | 2011-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19815865B4 (de) | Kompiliersystem und Verfahren zum rekonfigurierbaren Rechnen | |
DE69622305T2 (de) | Verfahren und Gerät für einen optimierenden Kompiler | |
EP1228440B1 (de) | Sequenz-partitionierung auf zellstrukturen | |
DE69516891T2 (de) | Verfahren zum übersetzen von quellkode aus einer computer-hochsprache in eine andere | |
DE69021659T2 (de) | Verfahren und Vorrichtung zur reihenweisen Parallelprogrammfehlersuche. | |
EP2224330B1 (de) | Verfahren und gerät zum partitionieren von grossen rechnerprogrammen | |
EP2765528B1 (de) | Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit | |
DE112012002905T5 (de) | Technik zum Kompilieren und Ausführen von Programmen in höheren Programmiersprachen auf heterogenen Computern | |
EP2954440B1 (de) | Verändern eines signalwerts eines fpga zur laufzeit | |
EP2799983B1 (de) | Flexible Aufteilung der I/O Kanäle einer Hardware Komponente | |
WO2007082730A1 (de) | Hardwaredefinitionsverfahren | |
DE112013001735T5 (de) | Optimieren des Verbindens von Anweisungen | |
EP0825540B1 (de) | Prozessor mit Pipelining-Aufbau | |
EP3568757B1 (de) | Verfahren zur erzeugung von quellcode | |
DE102019119956A1 (de) | Architektur und verfahren zur datenparallelen einzelprogramm- mehrfachdaten(spmd)-ausführung | |
DE102016110195A1 (de) | Erzeugen von Code in statisch typisierten Programmiersprachen für eine dynamisch typisierte array-basierte Sprache | |
EP2330469A1 (de) | Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms | |
DE102019124215A1 (de) | Verfahren zum Ändern von Modellen für die Erzeugung von Quellcode | |
DE102020124080A1 (de) | Verfahren zur inkrementellen Codegenerierung | |
DE102018208267A1 (de) | Technologie zum verwenden von steuerabhängigkeitsgraphen für das konvertieren von steuerflussprogrammen in datenflussprogramme | |
DE112018002316T5 (de) | Codeabdeckungsverfolgung für ein mikrocontroller-programm | |
DE102013101300A1 (de) | Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit | |
WO2009068014A2 (de) | Über datenverarbeitung | |
EP1483682A2 (de) | Reconfigurierbarer prozessor | |
DE102013114508B4 (de) | Blockbasierte Signalverarbeitung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA MK RS |
|
R17D | Deferred search report published (corrected) |
Effective date: 20100805 |
|
17P | Request for examination filed |
Effective date: 20110204 |
|
RBV | Designated contracting states (corrected) |
Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR |
|
17Q | First examination report despatched |
Effective date: 20110304 |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: PACT XPP TECHNOLOGIES AG |
|
111L | Licence recorded |
Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LT LU LV MC MT NL NO PL PT RO SE SI SK TR Name of requester: XILINX, INC., US Effective date: 20141010 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20150714 |