Configware

Configware

Configware (Configuration Ware) is the program source for morphware, i. e. for reconfigurable platforms like FPGAs (field-programmable gate arrays), or, to coarse-grained reconfigurable platforms like reconfigurable datapath arrays (rDPAs). Software is the counterpart to configware. In contrast to software which is instruction-stream-based and deserves procedural programming for instruction scheduling onto von-Neumann-like machine resources, configware deserves structural programming like e. g. for placement and routing before the application run time.

As configware code, configware also refers to the bit code configuration filesfor a FPGA (field-programmable gate array), or, for a rDPA (Morphware). These files specify the configuration of logic blocks internal to the device, and the interconnection between blocks, and external I/O. Configware code files are unique to a particular manufacturer's part. They may be handled with software-like configuration management procedures. When configuration is completed so that the resources are ready for use, suitable Flowware has to be compiled for data scheduling.

To-day, configware compilers and other configware application development support tools are usually implemented as software running on von-Neumann-like processors. This may change in the future. In contrast to operating systemsfor software (SW-OS), emerging operating systems for configware (CW-OS) deserve to manage multi-tasking and other administrative jobs on reconfigurable platforms.

The CW-OS is especially important for dynamically reconfigurable systems, whereparts of the reconfigurable resources are at execution mode when, at the same time, other parts are at configuration mode, and also, where in addition to thisa swapping of configware code modules helps flexibility and to save resources.Prof. Reiner Hartenstein, TU Kaiserslautern, has coined term "Configware" the mid 90's.

Compiler

A Configware Compiler is used in the area of Reconfigurable Computing for data-stream-based reconfigurable systems using platforms like FPGAs or coarse-grained reconfigurable datapath arrays (rDPAs) to generate two different blocks of code: configware code and flowware code (see figure). By placement and routing the mapper generates the configware code for reconfiguration of the platform. Based on the mapper's result the data scheduler generates the flowware code which is used to organize the data streams needed by programming the data counters through reconfiguration of the address generators, such as for instance Generic address generators GAG, in the Auto-sequencing memory (ASM) blocks. A configware compiler may be, for instance, part of a Configware/Software Co-Compiler.

The fundamental architectural model behind this methodology is the Super systolic array (KressArray), a generalization of the systolic array having been derived by Rainer Kress, who replaced the algebraic synthesis models known from original systolic arrays restricting their use only to applications with regular data dependencies, by simulated annealing merging both the mapper and the data scheduler.

External links

* [http://morphware.net/ The Morphware Page]
* [http://configware.org/ The Configware Page]
* [http://flowware.net/ The Flowware Page]
* [http://www.hicss.hawaii.edu/hicss_32/etcfp.htm#1 introducing the term "Configware"]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Configware — Mit dem Begriff Configware werden Programmier Quellen für Reconfigurable Computing zusammengefasst. Diese Distanzierung vom Begriff Software ist deshalb sinnvoll, weil hier ein grundlegend verschiedenes Paradigma zu Grunde liegt, in welchem es… …   Deutsch Wikipedia

  • Configware/Software-Co-Compilation — Software/Configware Co Compilation is used for Reconfigurable Computing to generate the code for both, an instruction stream based microprocessor and a reconfigurable accelerator interfaced to it. Such a co compiler (see figure) has a partitioner …   Wikipedia

  • Reconfigurable datapath array — A reconfigurable datapath array (rDPA) is a coarse grained morphware unit for Reconfigurable Computing. Instead of FPGAs (field programmable gate arrays) having single bit configurable logic blocks (CLBs), rDPAs have multiple bits wide (for… …   Wikipedia

  • Reiner Hartenstein — (* 18. Dezember 1934 in Berlin Spandau) ist ein deutscher Informatiker. Hartenstein gilt weltweit als Pionier der Hardware Beschreibungs Sprachen, des Reconfigurable Computing und des Reconfigurable Supercomputing. Inhaltsverzeichnis 1 Leben 2 …   Deutsch Wikipedia

  • Reconfigurable computing — is a computer architecture combining some of the flexibility of software with the high performance of hardware by processing with very flexible high speed computing fabrics like field programmable gate arrays (FPGAs). The principal difference… …   Wikipedia

  • Systolic array — In computer architecture, a systolic array is a pipe network arrangement of processing units called cells. It is a specialized form of parallel computing, where cells ( i.e. processors), compute data and store it independently of each other.… …   Wikipedia

  • Reconfigurable Supercomputing — stands for a new direction in Supercomputing, where Reconfigurable Computing methods are adopted by supercomputer architectures, like including FPGAs. From FPGA usage as accelerators, speed up factors by up to two orders of magnitude are reported …   Wikipedia

  • Reiner Hartenstein — (born December 18, 1934 in Berlin) is a German computer scientist. He is a professor of Computer Science (Informatik) at the University of Kaiserslautern. He earned all his academic degrees, including his Ph. D. (Dr. Ing.), from the EE department …   Wikipedia

  • FPGA — Ein FPGA ist ein programmierbarer Integrierter Schaltkreis (IC) der Digitaltechnik. Die englische Abkürzung steht für Field Programmable Gate Array und kann als „Vor Ort modifizierbarer Logikbaustein“ übersetzt werden. In FPGAs können durch… …   Deutsch Wikipedia

  • Feinkörnig rekonfigurierbar — Der Begriff Reconfigurable Computing bezeichnet das Gebiet der rekonfigurierbaren Rechensysteme und ihrer Anwendungen. Inhalte Hierbei handelt es sich um Rechensysteme, die in ihrer Struktur programmierbar sind, wie beispielsweise auf der Basis… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”