EP1611528A2 - Method and device for data processing - Google Patents
Method and device for data processingInfo
- Publication number
- EP1611528A2 EP1611528A2 EP04725695A EP04725695A EP1611528A2 EP 1611528 A2 EP1611528 A2 EP 1611528A2 EP 04725695 A EP04725695 A EP 04725695A EP 04725695 A EP04725695 A EP 04725695A EP 1611528 A2 EP1611528 A2 EP 1611528A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- configuration
- data
- data processing
- logic cell
- cache
- 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
- 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
Definitions
- the present invention relates to the preamble and thus deals with improvements in the use of reconfigurable processor technologies for data processing.
- a problem with conventional approaches to reconfigurable technologies is when data processing is primary to be made on a sequential CPU consulting a configurable data processing logic cell array or the like and / or a 'data processing is desired, sequentially permited- in the many and / or large-saving processing steps are present.
- WO 00/49496 discloses a method for executing a computer program with a processor, which comprises a configurable functional unit which is capable of executing reconfigurable instructions, the effect of which can be redefined at runtime by loading a configuration program, the Method comprising the steps of selecting combinations of reconfigurable instructions, a respective configuration program for. every combination is generated and the computer program is executed.
- the configuration program for all of the instructions of the combination should be loaded into the configurable functional unit.
- the configurable functional unit serving to execute an instruction according to a configurable function.
- the configurable functional unit has a large number of independent configurable logic blocks to perform programmable logic operations to implement the configurable function.
- Configurable connection circuits are provided between the configurable logic blocks and both the inputs and the outputs of the configurable functional unit. This allows the distribution of logic functions to be optimized via the configurable logic blocks.
- a problem with conventional architectures is when a connection is to be made and / or technologies such as data streaming, hyperthreading, multithreading and so on are to be used in a meaningful and performance-enhancing manner.
- a description of an architecture can be found in "Exploiting Choice: Instruction Fetch and Issue on Implementable Simultaneous Multi-Threading Processor", Dean N. Tulson, Susan J. Eggers et al, Proceedings of the 23th annual international Symposium on Computer Architecture, Philadelphia , May 1996.
- the conventional arrangements as known from the non-registrant's proprietary rights are used among other things for this , Functions in configurable Process data processing logic cell array, DFP, FPGA or the like, which cannot be processed efficiently on the CPU's own ALU.
- the configurable data processing logic cell array is thus practically used to enable user-defined opcodes that enable algorithms to be processed more efficiently than would be possible on the ALU arithmetic unit of the CPU without configurable data processing logic cell array support.
- the coupling is therefore usually word-based, but not block-based, as would be necessary for the data flow processing. It is initially desirable to enable more efficient data processing than is the case with a close coupling via registers.
- logic cell fields consisting of coarse and / or fine-grained logic cells and logic cell elements consists in a very loose coupling of such a field to a conventional CPU and / or a CPU core in embedded systems.
- a conventional, sequential program can run on a CPU or the like, for example a program written in C, C ++ or the like, whereby calls to a data stream processing on the fine and / or coarse-grained data processing logic cell field are instantiated.
- the problem then is that when programming for this logic cell field, a program that is not written in C or another sequential high-level language must be provided for data stream processing.
- partial execution is achieved within a single configuration, for example to save resources, to achieve time optimization and so on, without this already leading to a programmer automatically and easily placing a piece of high-level language code on a data processing logic cell - implement field, as is the case with conventional machine models for sequential processors.
- the implementation of high-level language code on data processing logic cell fields according to the principles of models for sequentially operating machines remains difficult.
- Time usage planning control means and methods are therefore known per se from the prior art which, at least with the corresponding assignment of configurations to individual tasks and / or threads to configurations and / or configuration sequences, permit multitasking and / or multithreading.
- the use of such time-use planning control means, which were used in the prior art for configuration and / or configuration management, for purposes of scheduling tasks, threads, multithreads and hyperthreads is regarded as inventive per se.
- the basic idea of the invention is to provide something new for commercial use.
- a first essential aspect of the present invention is therefore to be seen in the fact that data are supplied to the data processing logic cell array in response to the execution of a load configuration by the data processing logic cell array and / or data from this data processing logic cell array are written away (STORE) by a STORE configuration is processed accordingly.
- This La- In this case, configuration and / or storage configurations are preferably to be designed in such a way that addresses are generated directly or indirectly within the data processing logic cell field of those storage locations which are to be accessed directly and indirectly for loading and / or storage.
- This configuration of address generators within a configuration makes it possible to load a large amount of data into the data processing logic cell field, where they can be stored in internal memories (iRAM) and / or where they can be stored in internal cells such as EALUs with registers and / or the like can be filed.
- the loading or storage configuration thus enables a block-wise and almost data stream-like, in particular fast loading of data, in particular comparatively compared to individual access, and such a loading configuration can be carried out before one or more configuration (s) processing and / or actually processing data, with which the preloaded data are processed.
- Data loading and / or writing can typically take place in large logic cell fields in small areas thereof, while other areas are concerned with other tasks.
- FIG. 1 In the ping-pong-type data processing described in other published documents by the applicant, in which memory cells are provided on both sides of a data processing field, the data in a first processing step from the memory on one side through the data processing field to the memory on the flow to the other side, there the intermediate results obtained during the first field flow are stored in the second memory, the field is possibly reconfigured, the intermediate results then for for further processing, etc., a memory page can be preloaded with new data by means of a LOAD configuration in one part of the array, while data with a STORE configuration in another part of the array is written away from the opposite side of the memory. This simultaneous LOAD / STORE procedure is also possible without spatial storage area separation.
- the internal memories can in particular be preloaded beforehand by separate charging configurations using date.nstrom-like access. This corresponds to the use as a vector register, with the result that the internal memories will always be at least partially a part of the externally visible state of the XPP and must therefore be saved or written back when the context changes.
- the internal memories iRAMs
- the internal memories can be loaded onto the CPU by separate “loading instructions”. This leads to reduced loading processes through configurations and can result in a broader interface to the memory hierarchy accessed.
- the precharge can also be a burst of memory by instruction from the cache controller. Furthermore, it is possible, and this is preferred as particularly powerful in many cases, to design the cache in such a way that a specific precharge instruction specifies a specific memory area, which is defined by the start address and size or step size (s) maps internal memory (iRAM). When all internal RAMs are allocated, the next one can Configuration must be activated. Activation entails waiting until all burst-like loading processes have been completed. However, this is transparent insofar as the preload instructions are issued long enough beforehand and the cache localization is not destroyed by interrupts or task changes. In particular, a "preload cleah" instruction can then be used, which prevents data from being loaded from the memory.
- a synchronization instruction is required to ensure that the content of a specific memory area, which is cached in the IRAM, can be written back to the memory hierarchy, which can be done globally or by specifying the memory area to be accessed; the global access corresponds to a "full write back".
- the precharging of the IRAM it is possible to do this by simply specifying a base address, possibly one or more step sizes (when accessing multidimensional data fields) and an overall run length to specify and store them in registers or the like and then access these registers to determine how to load.
- registers are designed as FIFOs.
- a FIFO can then be provided for a large number of virtual processors in a multithreaded environment.
- storage locations can be provided for use as TAG storage, as is customary with caches.
- IRAMs are marked as "dirty" in the cache sense so that the in- can be written back to an external memory as soon as possible if it is not to be used again in the same IRAM.
- the XPP field and the cache controller can thus be regarded as a single unit since they do not require different instruction streams. Rather, the cache controller can be seen as the implementation of the stages “configuration fetch”, “operand fetch ⁇ > (IRAM preload) and” write back ", ie CF, OF and WB, in the XPP pipeline, with the execution stage also (ex) is triggered. Because of the long latencies and the
- Unpredictability for example due to cache misses or configurations of different lengths, it is advantageous if the stages are overlapped over several configurations, the configuration and data preloading FIFO (pipeline) being used for loose coupling.
- the preload may be followed by FILMO, known per se.
- the preloading can be speculative, whereby the speculation measure can be determined depending on the compiler.
- a disadvantage due to incorrect preloading does not arise insofar as configurations that have not been carried out but only preloaded can easily be released for overwriting, as well as assigned data.
- the preloading of the FIFO can precede several configurations and may depend on the properties of the algorithm. It is possible to use hardware for this.
- this can by a suitable, carried the XPP associated cache controller, but where 'it is pointed out that this is typically prioritize its tasks and executes preferred precharge, on A high due to the assigned execution status Have priority.
- precharging can also be blocked by a higher-level IRAM instance in another block or the lack of empty IRAM instances in the target IRAM block. In the latter case, the configuration can wait until a configuration and / or a write-back has ended.
- the IRAM instance in a different block can be in use or "dirty". It can be provided that the clean IRAMs used last are discarded, that is to say are considered "empty”.
- FIGS. 4a-c Examples of architectures in which an SMT processor is coupled to an XPP thread resource can be found, for example, in FIGS. 4a-c.
- LRU least recently used
- IRAMs are defined as local cache copies of the main memory and each IRAM is assigned a start address and modification status information, it is preferred that the IRAM cells are also replicated as for SMT support, so that only the start addresses of the IRAMs saved and. must be reloaded as context.
- the start addresses for the IRAMs of a current configuration then select the IRAM instances with identical addresses for use. If no address tag of an IRAM instance corresponds to the address of the newly loaded or to be reloaded context, the corresponding memory area can be loaded into an empty IRAM instance, which is to be understood here as a free IRAM area. If one is not available, the procedures described above can be used.
- the cache is preferably to be understood as an explicit cache and not as a transparent cache to the programmer and / or compiler as usual.
- configuration preload instructions which precede IRAM preload instructions which are used by that configuration.
- Such configuration precharge instructions should be provided by the scheduler as early as possible.
- IRAM precharge instructions can also be provided, which should also be provided by the scheduler at an early stage, and configuration execution instructions can be provided, the IRAM precharge instructions for this configuration follow, and these configuration execution instructions can in particular delay estimated latencies compared to the precharge instructions.
- a configuration wait statement is executed, followed by a statement that forces a cache write-back, both of which are output by the compiler, especially when a statement from another functional unit such as the load / Memory unit can access a memory area that is potentially “dirty” or is in use in an IRAM. This can be used to force a synchronization of the instruction streams and the cache contents while avoiding data hazards Synchronization instructions are not necessarily common.
- the data loading and / or storage does not necessarily have to be carried out by a completely logic cell field-based procedure. Rather, it is also possible to provide, for example, one or more separate and / or dedicated DMA units, that is to say in particular DMA controllers, which, for. B. at most can also be configured or prepared for function and / or set up by specifying start address, step size, block size, destination addresses etc., in particular by the CT and / or from the logic cell field.
- Loading can also take place in particular from and into a cache.
- This has the advantages that the external communication with larger memory banks is handled via the cache controller, without separate switching arrangements having to be provided within the data processing logic cell field for access to the memory in a read or write manner to be typically very fast and with a low latency at most and that a CPU unit, typically there via a separate LOAD / STORE unit, is also typically connected to this cache, so that access to data and an exchange thereof between the CPU core and data processing logic cell field block by block can be carried out quickly and in such a way that a separate command, for example from the OpCode fetcher of the CPU, does not have to be fetched and processed for each transfer of data.
- This cache coupling also proves to be considerably cheaper than coupling a data processing logic cell field to the ALU via registers if these registers only communicate with a cache via a LOAD / STORE unit, as is per se from the non-PACT-cited fonts is known.
- a further data connection to the load / storage unit of the or a sequential CPU unit assigned to the data processing logic cell field and / or to its register can be provided. It should be mentioned that such units can be addressed via separate input / output connections (IO ports) of the data processing logic cell arrangement which can be configured in particular as a VPU or XPP and / or by means of one or more multiplexers connected downstream of an " individual port".
- IO ports input / output connections
- access to cache areas takes place in a writing and / or reading manner and / or the LOAD / STORE unit and / or the connection (known per se in the prior art) to the register of the sequential CPU also a connection to an external mass storage device such as a RAM, a hard disk and / or another data exchange port such as an antenna and so on can also be mentioned.
- a separate port can be provided for this access to storage means different in cache and / or LOAD / STORE unit and / or register unit.
- Suitable drivers, buffers, signal conditioners for level adjustment and so on can be provided here, e.g.
- the logic cells of the field ELUs or ELUs can include and become typical of those on the input and / or output side, in particular both on the input side -
- this is advantageous if a data stream is to get into the cell and is to be subjected to a kind of preprocessing there without blocking larger PAE units.
- the ALU is designed as a SIMD arithmetic unit, in which case a very wide data input word of, for example, 32 bit data width is split over the upstream FPGA-like strips into several parallel data words of, for example, 4 bit width , which can then be processed in parallel in the SIMD arithmetic units, which can significantly increase the overall performance of the system if the corresponding application is required. It should be pointed out that there was talk above of FPGA-like upstream or downstream structures.
- FPGA-like does not necessarily refer to 1-bit granular arrangements.
- hyper-fine-granular structures instead of these hyper-fine-granular structures, it is possible to provide only finer granular structures of, for example, 4-bit width.
- the FPGA-like input and / or output structures before and / or after an ALU unit, in particular designed as a SIMD arithmetic unit can be configured, for example, such that 4-bit wide data words are always supplied and / or processed.
- FPGA-like stripe structures as also disclosed in connection with FIG. 3, particularly easily enable the implementation of pseudo-random noise generators, in particular with regard to arrangement in the PAE. If, in doing so, the individual received from a single FPGA cell step by step. Output bits are stored back to the FPGA cell, a pseudo-random noise can also be creatively generated sequentially with a single cell, which is considered to be inventive per se, cf. Fig. 5.
- the coupling advantages described above for data block streams can be achieved via the cache; However, it is particularly preferred if the cache is built up in strips (slice-like) and then access to several of the slices can take place simultaneously, in particular to all slices simultaneously. This is advantageous if, as will be discussed later, a large number of threads have to be processed on the data processing logic cell array (XPP) and / or the sequential CPU and / or the sequential CPUs, be it by means of hyperthreading , multitasking and / or multithreading.
- Cache memory means with disk access or disk access enabling control means are therefore preferably provided. It can e.g. B. each thread can be assigned its own disk. This makes it possible
- the cache does not necessarily have to be divided into slices and that if this is the case, each slice does not necessarily have to be assigned to a separate thread. However, it should be noted that this is by far the preferred method. It should also be pointed out that there may be cases in which not all cache areas are used simultaneously or temporarily at a given time. Rather, it is to be expected that in typical data processing applications, such as will occur in hand-held mobile telephones (cell phones), laptops, cameras and so on, there will often be times when the entire cache is not required. It is therefore particularly preferred if individual cache areas can be separated from the power supply in such a way that their energy consumption drops significantly, in particular to or near zero.
- a slice-wise configuration of the cache this can be done by slice-wise deactivation of the cache using suitable power disconnection means, cf. for example Fig. 2.
- the separation can be done either by a down-clocking, clock separation or a power separation.
- an access recognition can be assigned to an individual cache disk or the like, which is designed to recognize whether a respective cache area or a respective cache disk currently has a thread, hyperthread or task assigned to it, from which it uses becomes. If the access detection means then determines that this is not the case, a separation is typically clock and / or even performance.
- the cache area can be reactivated immediately, i.e. no significant delay can be expected by switching the power supply on and off, provided that it is implemented in hardware using common suitable semiconductor technologies. This is useful in many applications regardless of the use with logic cell fields.
- Another particular advantage that arises with the present invention is that, although there is a particularly efficient coupling with regard to the transfer of data or operands, in particular in block form, balancing is nevertheless not necessary in such a way that the exact same processing time in sequential CPU and XPP or data processing logic cell field is required. Rather, the processing takes place in a practically often independent manner, in particular in such a way that the sequential CPU and the data processing logic cell array arrangement can be considered as separate resources for a scheduler or the like.
- This allows an immediate implementation of known data processing program splitting technologies such as multitasking, multithreading and hyperthreading.
- path balancing is not required, i.e. balancing between sequential parts (e.g.
- the advantage of the present invention is that by configuring a loading configuration or a storage configuration into the XPP or other data processing logic cells, the data can be loaded into the field at a speed or can be written out of it, which is no longer determined by the CPU clock speed, the speed at which the OpCode fetcher works, or the like. In other words, the sequence control of the sequential CPU is no longer a bottleneck-like limitation for the data throughput of the data cell logic field without there being only a loose coupling.
- CT or CM; configuration manager or configuration table
- CM configuration manager or configuration table
- the sequential CPU and / or another XPP can instantiate a call which leads to data processing on the XPP.
- the XPP is then z. B. via the cache coupling described and / or by means of LOAD and / or STORE configurations, the address generators for loading provide for and / or write away data in the XPP or data processing logic cell field, kept in data exchange.
- a coprocessor-like and / or thread resource-like coupling of a data processing logic cell field is possible, while at the same time a data stream-like data loading takes place by means of cache and / or I / O port coupling.
- the coprocessor coupling i. H. the coupling of the data processing logic cell field will typically lead to the fact that the scheduling for this logic cell field will also take place on the sequential CPU or on a higher-level scheduler unit or a corresponding scheduler means. In such a case, the threading control and management practically takes place on the scheduler or the sequential CPU. Although this is possible per se, at least with the simplest implementation of the invention, this will not necessarily be the case. Rather, the data processing logic cell array can be used by calling in the conventional manner as with a standard coprocessor, for example with 8086/8087 combinations.
- a particularly preferred variant consists, at least for certain data processing results and / or intermediate results, as storage or vector register means, in which or which the data obtained are to be stored to use an internal memory in which data about a STORE configuration in the cache or another area, which the sequential CPU or another data processing unit can access, are to be written away, but instead the results are to be written directly into corresponding ones, in particular Access-reserved cache areas, which can be organized like slices.
- This may have the disadvantage of greater latency, especially if the paths between the XPP or data processing logic cell array unit and the cache are so long that the signal propagation times are significant, but may result in no further STORE configuration being required.
- the cache controller of a conventional server quenziell CPU addresses a memory area as a cache, which, without serving the data exchange with the data processing logic cell field, is physically located on and / or with it.
- This has the advantage that if applications are running on the data processing logic cell field which have a small local memory requirement at most and / or if only a few further configurations are required in relation to the available memory quantities, these are used as one or more sequential CPUs Cache can be available.
- the cache controller can and will be designed for the management of a cache area with a dynamic scope, ie with a varying size.
- Dynamic cache size management or cache size management means for dynamic cache management will typically take into account the workload and / or the input / output load on the sequential CPU and / or the data processing logic cell field. In other words, it can be analyzed, for example, how many NOPs there are data accesses on the sequential CPU in a given time unit and / or how many configurations are to be stored in the XPP field in the memory areas provided for this purpose, in order to enable quick reconfiguration, be it in the To enable ways of a wave reconfiguration or in another way.
- the dynamic cache size disclosed hereby is particularly preferably runtime dynamic, i. H . the cache controller manages a current cache size, which can change from cycle to cycle or cycle group.
- a task or thread and / or hyperthread change using the known CT technology cf. PACT10 (DE 198 07 872.2, WO 99/44147, WO 99/44120) and PACT17 (DE 100 28 397.7, WO 02/13000) can be done in such a way and preferably will also be done that a software-implemented operating system Schedulers or the like are assigned by the CT performance slices and / or time slices, during which it is determined, by which tasks or threads subsequently which parts per se, assuming that resources are free to be processed.
- An example is given as follows: First, an address sequence is to be generated for a first task, according to which, during the execution of a LOAD configuration, data from a memory and / or cache memory to which a data processing logic cell array is coupled in the manner described, should be loaded. As soon as this data is available, processing of a second, the actual data processing configuration, can begin. This can also be preloaded, since it is certain that this configuration must be carried out unless interrupts or the like force a complete task change. In conventional processors that is now Known problem of the so-called cache miss, in which the data is requested but is not available in the cache for load access.
- PACT19 (DE 102 02 044.2, WO 2003/060747) and PACT11 (DE 101 39 170.6, WO 03/017095)
- another configuration as predetermined by the corresponding scheduler, in particular the scheduler close to the operating system, is partially defined, processed and / or the configuration for which the associated LOAD configuration was previously carried out.
- testing can be carried out in particular, e.g. B. by querying the status of the LOAD configuration or the data loading DMA controller, whether the corresponding data has now flowed into the array, that is, the latency, as it typically occurs, has passed and / or the data is actually available.
- latencies are when they occur because e.g. B. Configurations have not yet been configured, data has not yet been loaded and / or data has not yet been written off, bridged and / or hidden by
- Threads, hyperthreads and / or tasks are carried out which are already preconfigured and which work with data which are already available or which can be written off to resources which are already available for the write-off. In this way, latency times are largely covered and, assuming a sufficient number of threads, hyperthreads and / or tasks to be executed per se, a practically 100% utilization of the data processing logic cell field is achieved.
- real-time-capable systems can in particular be readily implemented realize.
- incoming data or interrupts which signal the arrival of data in particular, can be responded to within a maximum time that can never be exceeded. This can be done, for example, by a task change in response to an interrupt and / or, for example in the case of prioritized interrupts, by stipulating that a given interrupt should be ignored at the moment, this also having to be determined within a certain time.
- a task change in such real-time capable systems will typically be possible in three ways, namely either when a task has run for a certain time (timer principle), when a resource is not available, • be it due to its blocking by other access or due to latencies when accessing them, in particular in a writing and / or reading manner, that is to say in the event of latencies in data access and / or when interrupts occur. It is also pointed out that, in particular, a runtime-limited configuration on a resource to be released or changed for interrupt processing can retrigger a watchdog or tracking counter.
- a first variant consists of a switch to the processing of an interrupt, for example, within a resource that can be addressed by the scheduler or the CT. If the response times to interrupts or other requirements are so long that a configuration can still be processed without interruption during this time, this is not critical, especially during the processing of the currently running configuration on the resource that has to be changed to process the interrupt , a configuration for interrupt processing can be preloaded.
- the selection of the interrupt-processing configuration to be preloaded ration is z. B. by CT. It is possible to limit the runtime of the configuration to the resource to be released or changed for interrupt processing. Please refer to PACT29 / PCT (PCT / DE03 / 000942).
- a single resource for example a separate XPP unit and / or parts of an XPP field, for such processing. If an interrupt to be processed quickly occurs, either a configuration that has already been preloaded for particularly critical interrupts can be processed or the loading of an interrupt handling configuration into the reserved resource is started immediately. A selection of the configuration required for the corresponding interrupt is possible by means of appropriate triggering, wave processing, etc.
- a further, particularly preferred variant of the response to interrupts if at least one of the accessible resources is a sequential CPU, consists in executing an interrupt routine on it, in which code for the data processing logic cell field is again prohibited.
- a time-critical interrupt routine is only processed on a sequential CPU without XPP data processing steps being called. This guarantees that the processing operation on the data processing logic cell field cannot be interrupted and further processing can then take place on this data processing logic cell field after a task switch.
- the actual interrupt routine does not have an XPP code, it can nevertheless be ensured that an interrupt at a later, no longer real-time point in time with the XPP leads to a state detected by an interrupt and / or a real-time request and / or Data can be responded using the data processing logic cell array.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Logic Circuits (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10315295 | 2003-04-04 | ||
DE10321834 | 2003-05-15 | ||
PCT/EP2004/003603 WO2004088502A2 (en) | 2003-04-04 | 2004-04-05 | Method and device for data processing |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1611528A2 true EP1611528A2 (en) | 2006-01-04 |
Family
ID=33132675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04725695A Withdrawn EP1611528A2 (en) | 2003-04-04 | 2004-04-05 | Method and device for data processing |
Country Status (5)
Country | Link |
---|---|
US (2) | US20070011433A1 (en) |
EP (1) | EP1611528A2 (en) |
JP (1) | JP2006524850A (en) |
DE (1) | DE112004000026D2 (en) |
WO (1) | WO2004088502A2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2441005A2 (en) | 2009-06-09 | 2012-04-18 | Martin Vorbach | System and method for a cache in a multi-core processor |
CN102737007B (en) * | 2011-04-07 | 2015-01-28 | 中兴通讯股份有限公司 | Method and device supporting random replacement of plurality of data units |
JP2012243086A (en) * | 2011-05-19 | 2012-12-10 | Renesas Electronics Corp | Semiconductor integrated circuit device |
EP3373105B1 (en) * | 2012-03-30 | 2020-03-18 | Intel Corporation | Apparatus and method for accelerating operations in a processor which uses shared virtual memory |
US9003218B2 (en) | 2012-05-21 | 2015-04-07 | International Business Machines Corporation | Power shifting in multicore platforms by varying SMT levels |
EP2840503A1 (en) * | 2013-08-22 | 2015-02-25 | Continental Automotive GmbH | Method for operating a buffer storage device of a data processing system and data processing system |
JP2016178229A (en) | 2015-03-20 | 2016-10-06 | 株式会社東芝 | Reconfigurable circuit |
CN108108191A (en) * | 2018-01-09 | 2018-06-01 | 湖南国科微电子股份有限公司 | A kind of collocation method of SOC chip and SOC chip cpu instruction collection |
US12132699B2 (en) | 2018-07-26 | 2024-10-29 | Secturion Systems, Inc. | In-line transmission control protocol processing engine using a systolic array |
DE102018215139A1 (en) * | 2018-09-06 | 2020-03-12 | Robert Bosch Gmbh | Operating method and control unit for a data / signal evaluation system, data / signal evaluation system, ultrasound operating assistance system and working device |
US11803507B2 (en) | 2018-10-29 | 2023-10-31 | Secturion Systems, Inc. | Data stream protocol field decoding by a systolic array |
Family Cites Families (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2067477A (en) * | 1931-03-20 | 1937-01-12 | Allis Chalmers Mfg Co | Gearing |
GB971191A (en) * | 1962-05-28 | 1964-09-30 | Wolf Electric Tools Ltd | Improvements relating to electrically driven equipment |
US3564506A (en) * | 1968-01-17 | 1971-02-16 | Ibm | Instruction retry byte counter |
US5459846A (en) * | 1988-12-02 | 1995-10-17 | Hyatt; Gilbert P. | Computer architecture system having an imporved memory |
US3956589A (en) * | 1973-11-26 | 1976-05-11 | Paradyne Corporation | Data telecommunication system |
US4151611A (en) * | 1976-03-26 | 1979-04-24 | Tokyo Shibaura Electric Co., Ltd. | Power supply control system for memory systems |
US4498134A (en) * | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
US4498172A (en) * | 1982-07-26 | 1985-02-05 | General Electric Company | System for polynomial division self-testing of digital networks |
US4594682A (en) * | 1982-12-22 | 1986-06-10 | Ibm Corporation | Vector processing |
US4566102A (en) * | 1983-04-18 | 1986-01-21 | International Business Machines Corporation | Parallel-shift error reconfiguration |
US4646300A (en) * | 1983-11-14 | 1987-02-24 | Tandem Computers Incorporated | Communications method |
US4720778A (en) * | 1985-01-31 | 1988-01-19 | Hewlett Packard Company | Software debugging analyzer |
US5225719A (en) * | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US4748580A (en) * | 1985-08-30 | 1988-05-31 | Advanced Micro Devices, Inc. | Multi-precision fixed/floating-point processor |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
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 |
US4910665A (en) * | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
US5367208A (en) * | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
FR2606184B1 (en) * | 1986-10-31 | 1991-11-29 | Thomson Csf | RECONFIGURABLE CALCULATION DEVICE |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5119290A (en) * | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
US5081575A (en) * | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
NL8800053A (en) * | 1988-01-11 | 1989-08-01 | Philips Nv | VIDEO PROCESSOR SYSTEM, IMAGE SYSTEM AND IMAGE STORAGE SYSTEM, PROVIDED WITH SUCH A VIDEO PROCESSOR SYSTEM. |
ATE109910T1 (en) * | 1988-01-20 | 1994-08-15 | Advanced Micro Devices Inc | ORGANIZATION OF AN INTEGRATED CACHE FOR FLEXIBLE APPLICATION TO SUPPORT MULTIPROCESSOR OPERATIONS. |
US5287511A (en) * | 1988-07-11 | 1994-02-15 | Star Semiconductor Corporation | Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith |
US4901268A (en) * | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5081375A (en) * | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
GB8906145D0 (en) * | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5203005A (en) * | 1989-05-02 | 1993-04-13 | Horst Robert W | Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement |
CA2021192A1 (en) * | 1989-07-28 | 1991-01-29 | Malcolm A. Mumme | Simplified synchronous mesh processor |
US5489857A (en) * | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
GB8925723D0 (en) * | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
US5212777A (en) * | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
JP3118266B2 (en) * | 1990-03-06 | 2000-12-18 | ゼロックス コーポレイション | Synchronous segment bus and bus communication method |
US5483620A (en) * | 1990-05-22 | 1996-01-09 | International Business Machines Corp. | Learning machine synapse processor system apparatus |
US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
US5734921A (en) * | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5713037A (en) * | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
US5218302A (en) * | 1991-02-06 | 1993-06-08 | Sun Electric Corporation | Interface for coupling an analyzer to a distributorless ignition system |
JPH04328657A (en) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | Cache memory |
US5260610A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
FR2681791B1 (en) * | 1991-09-27 | 1994-05-06 | Salomon Sa | VIBRATION DAMPING DEVICE FOR A GOLF CLUB. |
JP2791243B2 (en) * | 1992-03-13 | 1998-08-27 | 株式会社東芝 | Hierarchical synchronization system and large scale integrated circuit using the same |
JP2647327B2 (en) * | 1992-04-06 | 1997-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Massively parallel computing system equipment |
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 |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
US5386154A (en) * | 1992-07-23 | 1995-01-31 | Xilinx, Inc. | Compact logic cell for field programmable gate array chip |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
US5497498A (en) * | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5857109A (en) * | 1992-11-05 | 1999-01-05 | Giga Operations Corporation | Programmable logic device for real time video processing |
US5392437A (en) * | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5386518A (en) * | 1993-02-12 | 1995-01-31 | Hughes Aircraft Company | Reconfigurable computer interface and method |
US5596742A (en) * | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
WO1994025917A1 (en) * | 1993-04-26 | 1994-11-10 | Comdisco Systems, Inc. | Method for scheduling synchronous data flow graphs |
US5768629A (en) * | 1993-06-24 | 1998-06-16 | Discovision Associates | Token-based adaptive video processing arrangement |
US5502838A (en) * | 1994-04-28 | 1996-03-26 | Consilium Overseas Limited | Temperature management for integrated circuits |
JP2927160B2 (en) * | 1993-11-17 | 1999-07-28 | 松下電器産業株式会社 | Register device |
US6064819A (en) * | 1993-12-08 | 2000-05-16 | Imec | Control flow and memory management optimization |
WO1995025306A2 (en) * | 1994-03-14 | 1995-09-21 | Stanford University | Distributed shared-cache for multi-processors |
US5515107A (en) * | 1994-03-30 | 1996-05-07 | Sigma Designs, Incorporated | Method of encoding a stream of motion picture data |
US5504439A (en) * | 1994-04-01 | 1996-04-02 | Xilinx, Inc. | I/O interface cell for use with optional pad |
US5896551A (en) * | 1994-04-15 | 1999-04-20 | Micron Technology, Inc. | Initializing and reprogramming circuitry for state independent memory array burst operations control |
US5600845A (en) * | 1994-07-27 | 1997-02-04 | Metalithic Systems Incorporated | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5513366A (en) * | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
US5619720A (en) * | 1994-10-04 | 1997-04-08 | Analog Devices, Inc. | Digital signal processor having link ports for point-to-point communication |
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 (en) * | 1994-12-28 | 2004-12-08 | 株式会社日立製作所 | Data processing device |
US5493239A (en) * | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5757207A (en) * | 1995-03-22 | 1998-05-26 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
JP3391624B2 (en) * | 1995-03-31 | 2003-03-31 | 川崎マイクロエレクトロニクス株式会社 | Circuit system |
US6077315A (en) * | 1995-04-17 | 2000-06-20 | Ricoh Company Ltd. | Compiling system and method for partially reconfigurable computing |
EP0823091A1 (en) * | 1995-04-28 | 1998-02-11 | Xilinx, Inc. | Microprocessor with distributed registers accessible by programmable logic device |
GB9508931D0 (en) * | 1995-05-02 | 1995-06-21 | Xilinx Inc | Programmable switch for FPGA input/output signals |
US5600597A (en) * | 1995-05-02 | 1997-02-04 | Xilinx, Inc. | Register protection structure for FPGA |
JP3677315B2 (en) * | 1995-06-01 | 2005-07-27 | シャープ株式会社 | Data-driven information processing device |
US5671432A (en) * | 1995-06-02 | 1997-09-23 | International Business Machines Corporation | Programmable array I/O-routing resource |
ZA965340B (en) * | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
US5889982A (en) * | 1995-07-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating event handler vectors based on both operating mode and event type |
US5784313A (en) * | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5734869A (en) * | 1995-09-06 | 1998-03-31 | Chen; Duan-Ping | High speed logic circuit simulator |
US5642058A (en) * | 1995-10-16 | 1997-06-24 | Xilinx , Inc. | Periphery input/output interconnect structure |
US5608342A (en) * | 1995-10-23 | 1997-03-04 | Xilinx, Inc. | Hierarchical programming of electrically configurable integrated circuits |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
CA2166369C (en) * | 1995-12-29 | 2004-10-19 | Robert J. Blainey | Method and system for determining inter-compilation unit alias information |
US5898602A (en) * | 1996-01-25 | 1999-04-27 | Xilinx, Inc. | Carry chain circuit with flexible carry function for implementing arithmetic and logical functions |
US5635851A (en) * | 1996-02-02 | 1997-06-03 | Xilinx, Inc. | Read and writable data bus particularly for programmable logic devices |
US5727229A (en) * | 1996-02-05 | 1998-03-10 | Motorola, Inc. | Method and apparatus for moving data in a parallel processor |
US6020758A (en) * | 1996-03-11 | 2000-02-01 | Altera Corporation | Partially reconfigurable programmable logic device |
US6173434B1 (en) * | 1996-04-22 | 2001-01-09 | Brigham Young University | Dynamically-configurable digital processor using method for relocating logic array modules |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5887165A (en) * | 1996-06-21 | 1999-03-23 | Mirage Technologies, Inc. | Dynamically reconfigurable hardware system for real-time control of processes |
US6023742A (en) * | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US6023564A (en) * | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
US6624658B2 (en) * | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
US5859544A (en) * | 1996-09-05 | 1999-01-12 | Altera Corporation | Dynamic configurable elements for programmable logic devices |
US6049866A (en) * | 1996-09-06 | 2000-04-11 | Silicon Graphics, Inc. | Method and system for an efficient user mode cache manipulation using a simulated instruction |
JP3934710B2 (en) * | 1996-09-13 | 2007-06-20 | 株式会社ルネサステクノロジ | Microprocessor |
US6178494B1 (en) * | 1996-09-23 | 2001-01-23 | Virtual Computer Corporation | Modular, hybrid processor and method for producing a modular, hybrid 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 |
DE19654595A1 (en) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures |
DE19654593A1 (en) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Reconfiguration procedure for programmable blocks at runtime |
US6338106B1 (en) * | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19704044A1 (en) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Address generation with systems having programmable modules |
US5865239A (en) * | 1997-02-05 | 1999-02-02 | Micropump, Inc. | Method for making herringbone gears |
DE19704728A1 (en) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Method for self-synchronization of configurable elements of a programmable module |
US5884075A (en) * | 1997-03-10 | 1999-03-16 | Compaq Computer Corporation | Conflict resolution using self-contained virtual devices |
GB2323188B (en) * | 1997-03-14 | 2002-02-06 | Nokia Mobile Phones Ltd | Enabling and disabling clocking signals to elements |
US6035371A (en) * | 1997-05-28 | 2000-03-07 | 3Com Corporation | Method and apparatus for addressing a static random access memory device based on signals for addressing a dynamic memory access device |
US6011407A (en) * | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
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 |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6072348A (en) * | 1997-07-09 | 2000-06-06 | Xilinx, Inc. | Programmable power reduction in a clock-distribution circuit |
US6170051B1 (en) * | 1997-08-01 | 2001-01-02 | Micron Technology, Inc. | Apparatus and method for program level parallelism in a VLIW processor |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US6078736A (en) * | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
US6038656A (en) * | 1997-09-12 | 2000-03-14 | California Institute Of Technology | Pipelined completion for asynchronous communication |
JP3719570B2 (en) * | 1997-10-20 | 2005-11-24 | 株式会社パワーシステム | Electric double layer capacitor |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US5915123A (en) * | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
JPH11147335A (en) * | 1997-11-18 | 1999-06-02 | Fuji Xerox Co Ltd | Plot process apparatus |
US6075935A (en) * | 1997-12-01 | 2000-06-13 | Improv Systems, Inc. | Method of generating application specific integrated circuits using a programmable hardware architecture |
JP3878307B2 (en) * | 1997-12-19 | 2007-02-07 | 松下電器産業株式会社 | Programmable data processing device |
DE19861088A1 (en) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Repairing integrated circuits by replacing subassemblies with substitutes |
US6172520B1 (en) * | 1997-12-30 | 2001-01-09 | Xilinx, Inc. | FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
DE19807872A1 (en) * | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Method of managing configuration data in data flow processors |
US6173419B1 (en) * | 1998-05-14 | 2001-01-09 | Advanced Technology Materials, Inc. | Field programmable gate array (FPGA) emulator for debugging software |
US6052524A (en) * | 1998-05-14 | 2000-04-18 | Software Development Systems, Inc. | System and method for simulation of integrated hardware and software components |
JP3123977B2 (en) * | 1998-06-04 | 2001-01-15 | 日本電気株式会社 | Programmable function block |
US6202182B1 (en) * | 1998-06-30 | 2001-03-13 | Lucent Technologies Inc. | Method and apparatus for testing field programmable gate arrays |
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 (en) * | 1998-10-02 | 2004-08-04 | 株式会社日立製作所 | Data relocation method |
US6249756B1 (en) * | 1998-12-07 | 2001-06-19 | Compaq Computer Corp. | Hybrid flow control |
WO2000034883A2 (en) * | 1998-12-11 | 2000-06-15 | Microsoft Corporation | Accelerating a distributed component architecture over a network using an implicit flow control |
US6694434B1 (en) * | 1998-12-23 | 2004-02-17 | Entrust Technologies Limited | Method and apparatus for controlling program execution and program distribution |
JP3142268B2 (en) * | 1999-02-23 | 2001-03-07 | 株式会社エイ・ティ・アール環境適応通信研究所 | Communication service quality control method and apparatus |
US6191614B1 (en) * | 1999-04-05 | 2001-02-20 | Xilinx, Inc. | FPGA configuration circuit including bus-based CRC register |
US6512804B1 (en) * | 1999-04-07 | 2003-01-28 | Applied Micro Circuits Corporation | Apparatus and method for multiple serial data synchronization using channel-lock FIFO buffers optimized for jitter |
US6341347B1 (en) * | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
US6211697B1 (en) * | 1999-05-25 | 2001-04-03 | Actel | Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure |
US6347346B1 (en) * | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
US6745317B1 (en) * | 1999-07-30 | 2004-06-01 | Broadcom Corporation | Three level direct communication connections between neighboring multiple context processing elements |
US6341318B1 (en) * | 1999-08-10 | 2002-01-22 | Chameleon Systems, Inc. | DMA data streaming |
US6972798B1 (en) * | 1999-08-31 | 2005-12-06 | Canon Kabushiki Kaisha | Focusing device and method |
US6349346B1 (en) * | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
JP2001167066A (en) * | 1999-12-08 | 2001-06-22 | Nec Corp | Inter-processor communication method and multiprocessor system |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6519674B1 (en) * | 2000-02-18 | 2003-02-11 | Chameleon Systems, Inc. | Configuration bits layout |
US6845445B2 (en) * | 2000-05-12 | 2005-01-18 | Pts Corporation | Methods and apparatus for power control in a scalable array of processor elements |
US6725334B2 (en) * | 2000-06-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for exclusive two-level caching in a chip-multiprocessor |
JP2004506261A (en) * | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Pipeline CT protocol and CT communication |
US7164422B1 (en) * | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
EP1182559B1 (en) * | 2000-08-21 | 2009-01-21 | Texas Instruments Incorporated | Improved microprocessor |
JP2002108702A (en) * | 2000-10-03 | 2002-04-12 | Hitachi Ltd | Microcomputer and data processing device |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US20020087828A1 (en) * | 2000-12-28 | 2002-07-04 | International Business Machines Corporation | Symmetric multiprocessing (SMP) system with fully-interconnected heterogenous microprocessors |
JP3501761B2 (en) * | 2001-01-30 | 2004-03-02 | 株式会社半導体理工学研究センター | Execution mechanism of large-scale datapath architecture |
US6976239B1 (en) * | 2001-06-12 | 2005-12-13 | Altera Corporation | Methods and apparatus for implementing parameterizable processors and peripherals |
US7657877B2 (en) * | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
JP3580785B2 (en) * | 2001-06-29 | 2004-10-27 | 株式会社半導体理工学研究センター | Look-up table, programmable logic circuit device having look-up table, and method of configuring look-up table |
US7036114B2 (en) * | 2001-08-17 | 2006-04-25 | Sun Microsystems, Inc. | Method and apparatus for cycle-based computation |
US7472230B2 (en) * | 2001-09-14 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Preemptive write back controller |
US7000161B1 (en) * | 2001-10-15 | 2006-02-14 | Altera Corporation | Reconfigurable programmable logic system with configuration recovery mode |
US20030108046A1 (en) * | 2001-12-06 | 2003-06-12 | Simeone John B. | Interface device |
WO2004021176A2 (en) * | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Method and device for processing data |
US6976131B2 (en) * | 2002-08-23 | 2005-12-13 | Intel Corporation | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system |
US7571303B2 (en) * | 2002-10-16 | 2009-08-04 | Akya (Holdings) Limited | Reconfigurable integrated circuit |
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 |
EP1634182A2 (en) * | 2003-06-17 | 2006-03-15 | PACT XPP Technologies AG | Data processing device and method |
US7412581B2 (en) * | 2003-10-28 | 2008-08-12 | Renesas Technology America, Inc. | Processor for virtual machines and method therefor |
US7299339B2 (en) * | 2004-08-30 | 2007-11-20 | The Boeing Company | Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework |
US20060112226A1 (en) * | 2004-11-19 | 2006-05-25 | Hady Frank T | Heterogeneous processors sharing a common cache |
-
2004
- 2004-04-05 JP JP2006505004A patent/JP2006524850A/en active Pending
- 2004-04-05 WO PCT/EP2004/003603 patent/WO2004088502A2/en active Application Filing
- 2004-04-05 DE DE112004000026T patent/DE112004000026D2/en not_active Ceased
- 2004-04-05 EP EP04725695A patent/EP1611528A2/en not_active Withdrawn
- 2004-04-05 US US10/551,891 patent/US20070011433A1/en not_active Abandoned
-
2009
- 2009-09-30 US US12/571,195 patent/US20100122064A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
WO2004088502A2 (en) | 2004-10-14 |
US20100122064A1 (en) | 2010-05-13 |
WO2004088502A3 (en) | 2005-01-13 |
US20070011433A1 (en) | 2007-01-11 |
JP2006524850A (en) | 2006-11-02 |
DE112004000026D2 (en) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60013115T2 (en) | PROCESSOR WITH VERTICAL THREADED PIPELINE WITH SEVERAL THREAD AND OPERATING PROCESS THEREFOR | |
DE60005701T2 (en) | THREAD SWITCHING LOGIC IN A MULTITHREAD PROCESSOR | |
DE60002200T2 (en) | SWITCHING METHOD IN A MULTITHREAD PROCESSOR | |
DE60005002T2 (en) | VERTICAL-THREADED PROCESSOR WITH MULTIDIMENSIONAL MEMORY | |
DE69231500T2 (en) | One-chip microcomputer | |
DE112011100743B4 (en) | A data processing apparatus and method for transferring a workload between source and destination processing circuits | |
DE69906809T2 (en) | ARRANGEMENT AND METHOD FOR OPTIMIZING CHIP INTEGRATION AND SPEED PERFORMANCE BY REGISTER MEMORY DISTRIBUTION | |
DE69727773T2 (en) | Improved branch prediction in a pipeline microprocessor | |
DE112005002305B4 (en) | Thread livelock unit | |
DE69130138T2 (en) | Jump prediction unit for high-performance processor | |
DE112005002672B4 (en) | Dynamic reconfiguration of a cache memory | |
DE69127726T2 (en) | Combined queue for cancellations and return data in a multiprocessor system | |
DE60316774T2 (en) | CHAINING MULTIPLE PROCESSOR CORE FOR MACHINING DATA PACKAGES | |
DE112017000721T5 (en) | PROCESS, DEVICE AND COMMANDS FOR THREAD SUSPENSION AT USER LEVEL | |
DE102018130441A1 (en) | Equipment, methods and systems with configurable spatial accelerator | |
DE102014003671A1 (en) | PROCESSORS, METHODS AND SYSTEMS FOR RELAXING THE SYNCHRONIZATION OF ACCESS TO A SHARED MEMORY | |
DE102018005172A1 (en) | PROCESSORS, METHODS AND SYSTEMS WITH A CONFIGURABLE ROOM ACCELERATOR | |
DE102008062692B4 (en) | Embedded microcontroller system and method for configuring an embedded microcontroller system with controlled switching mode | |
US20100122064A1 (en) | Method for increasing configuration runtime of time-sliced configurations | |
DE112011100715T5 (en) | HARDWARE ASSIST-THREAD | |
DE112013004751T5 (en) | Multi-core processor, shared core extension logic, and shared core extension usage commands | |
DE112011100744T5 (en) | A data processing apparatus and method for switching a workload between first and second processing circuits | |
WO2004021176A2 (en) | Method and device for processing data | |
DE112010005821T5 (en) | context switching | |
DE19506435C2 (en) | Method and apparatus for avoiding write-back conflicts between execution units using a common writeback path |
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 |
|
17P | Request for examination filed |
Effective date: 20050907 |
|
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 HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL HR LT LV MK |
|
DAX | Request for extension of the european patent (deleted) | ||
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: VORBACH, MARTIN |
|
17Q | First examination report despatched |
Effective date: 20080905 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: RICHTER, THOMAS Owner name: KRASS, MAREN |
|
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 HU IE IT LU MC NL 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: 20181101 |