DE69733251T2 - Data processing system for dynamic use of resources - Google Patents

Data processing system for dynamic use of resources Download PDF

Info

Publication number
DE69733251T2
DE69733251T2 DE69733251T DE69733251T DE69733251T2 DE 69733251 T2 DE69733251 T2 DE 69733251T2 DE 69733251 T DE69733251 T DE 69733251T DE 69733251 T DE69733251 T DE 69733251T DE 69733251 T2 DE69733251 T2 DE 69733251T2
Authority
DE
Germany
Prior art keywords
data
function
flag
storage means
memory
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.)
Expired - Lifetime
Application number
DE69733251T
Other languages
German (de)
Other versions
DE69733251D1 (en
Inventor
Shunsuke Nakahara-ku Fueki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69733251D1 publication Critical patent/DE69733251D1/en
Publication of DE69733251T2 publication Critical patent/DE69733251T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Description

Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem mit internen Funktionen und, im besonderen, ein Datenverarbeitungssystem mit einer Datenverarbeitungsvorrichtung, die eine flexible Operation ausführen kann, indem interne Funktionen, die in einer Logikschaltung (programmierbares Logikarray (PLA), feldprogrammierbares Gatterarray (FPGA) etc.) im Inneren der Datenverarbeitungsvorrichtung enthalten sind, dynamisch eingestellt und modifiziert werden.The The present invention relates to a data processing system with internal functions and, in particular, a data processing system with a data processing device that provides a flexible operation To run can, by internal functions, in a logic circuit (programmable logic array (PLA), field programmable gate array (FPGA) etc.) inside the data processing device are included, set dynamically and modified.

Die Computerindustrie führt ihren jüngsten Fortschritt auf Großrechner und Personalcomputer mit verringerter Größe zurück, und er ist durch außerordentliches Erhöhen der Leistung in bezug auf den Preis eines Prozessors erreicht worden. Die gegenwärtige Prozessorarchitektur ist dafür ausgelegt, ein Programm zu verarbeiten, das unter Verwendung von Befehlen beschrieben ist, von denen jeder eine Basislänge hat, und ein Hochgeschwindigkeitsprozeß ist durch das Verkürzen des Ausführungszyklus eines Computers realisiert worden.The Computer industry leads her recent progress on mainframe and personal computer with reduced size back, and it is by extraordinary Increase performance in terms of the price of a processor. The current one Processor architecture is for designed to process a program using Commands, each of which has a base length, and a high-speed process is by shortening the Execution cycle of a Computer realized.

Unter solchen Umständen wird die Taktgeschwindigkeit eines Prozessors immer schneller. Wenn die Taktsignale von modernsten Prozessoren verwendet werden, die mit mehreren hundert MHz laufen, muß eine aktuelle Prozeßtechnik angewendet werden, um den Bereich eines Chips im Hinblick auf die Verzögerung eines Taktsignals zu reduzieren, wodurch die Zeit und die Kosten, die für die Computerentwicklung aufgewendet werden, enorm erhöht werden. Als Resultat ist ein neues Computerparadigma, das heißt eine Basiskonfiguration, verlangt worden.Under such circumstances the clock speed of a processor becomes faster and faster. If the clock signals are used by state-of-the-art processors run with several hundred MHz, must have a current process technology be applied to the area of a chip with regard to delay a clock signal, reducing the time and cost, the for The computer development can be expended enormously. The result is a new computer paradigm, that is one Basic configuration, has been requested.

Wenn ein Prozeß ausgeführt wird, wird dieselbe Prozessorarchitektur normalerweise nur der Bequemlichkeit halber für alle Algorithmen verwendet. Falls ein Prozeß unter Verwendung der Architektur ausgeführt werden kann, die für jeden Algorithmus die richtige ist, das heißt, ein erforderlicher Prozeß, kann dann ein Hochgeschwindigkeitsprozeß erwartet werden, der von dem herkömmlichen Verfahren unabhängig ist, das von einer hohen Taktgeschwindigkeit abhängt.If a process is executed The same processor architecture is usually just for convenience half for all algorithms used. If a process using the architecture accomplished that can be for everyone Algorithm is the right one, that is, a required process can then a high-speed process expected from the conventional one Procedure independent is that depends on a high clock speed.

Die Architektur gemäß diesem Konzept ist eine VLIW-(very long instruction word)-Architektur, also eine Architektur mit langem Instruktionswort, die als Architektur der nächsten Generation von Mikroprozessoren angesehen wird. Dieser Architekturtyp ist in einem parallelen Supercomputer, einem ASIC-Produkt, etc. eingesetzt worden.The Architecture according to this Concept is a VLIW (very long instruction word) architecture, ie a long-term architecture Instruction word used as the next-generation architecture of microprocessors is seen. This type of architecture is in a parallel supercomputer, an ASIC product, etc. have been used.

1 zeigt ein Beispiel für die Konfiguration einer VLIW-Architektur. In 1 enthält die Architektur n Ausgabespalte 101 zum Bestimmen der Anzahl von Instruktionen, die parallel ausgeführt werden; n Funktionseinheiten 102, wie zum Beispiel ALUs, die den n Funktionseinheiten 102 eins zu eins entsprechen; eine Registerdatei 103; und eine Lese-/Schreibkreuzschiene 104 zum Steuern des Lesens/Schreibens von Daten von den Funktionseinheiten 102 in die Registerdatei 103. 1 shows an example of the configuration of a VLIW architecture. In 1 contains the architecture n output column 101 for determining the number of instructions executed in parallel; n functional units 102 , such as ALUs, which are the n functional units 102 to match one to one; a register file 103 ; and a read / write crossbar 104 for controlling the reading / writing of data from the functional units 102 in the register file 103 ,

Bei der oben beschriebenen Architektur wird eine Vielzahl von Instruktionen in jedem Taktzyklus ausgegeben, und die Vielzahl von Instruktionen wird durch die n Ausgabespalte 101 parallel ausgeführt. Dabei wird eine Vielzahl von Instruktionen, die gleichzeitig auszuführen sind, als vorläufig selektiert vorausgesetzt, und die Vielzahl von Instruktionen wird durch einen Kompilierer statisch als sehr lange Instruktion (very long instruction: VLI) angesehen. Deshalb ist keine Ablaufsteuerungsschaltung erforderlich. Da ferner die Lese-/Schreibkreuzschiene 104 verwendet wird, muß nicht jede Funktionseinheit 102 mit der Registerdatei 103 verbunden sein.In the above-described architecture, a plurality of instructions are issued every clock cycle, and the plurality of instructions are output by the n output column 101 executed in parallel. In so doing, a plurality of instructions to be executed concurrently are presumed preliminarily selected, and the plurality of instructions are statically regarded by a compiler as a very long instruction (VLI). Therefore, no sequence control circuit is required. Further, because the read / write crossbar 104 not every functional unit has to be used 102 with the register file 103 be connected.

Somit bestimmt die VLIW-Architektur die Länge einer Instruktion freier als eine herkömmliche Prozessorarchitektur, und deshalb kann sie einen parallelen Prozeß ausführen. Jedoch hat sie auch das Problem, daß der ihr eigene Durchsatz nicht voll genutzt werden kann, da ein Zielalgorithmus durch vorbereitete Instruktionen ersetzt werden müßte, und die Breite des Datenbusses ist begrenzt, während der Prozeß ausgeführt wird. Deshalb müssen Schaltungselemente eine Funktionseinheit freier konfigurieren oder eine Registerdatei alternative mit der VLIW-Architektur verbinden. So ist den Schaltungselementen viel Aufmerksamkeit gewidmet worden, die Funktionen durch ein Programm implementieren können, wie beispielsweise einem programmierbaren Logikarray (PLA), einem feldprogrammierbaren Gatterarray (FPGA), etc.Consequently The VLIW architecture determines the length of an instruction freer as a conventional processor architecture, and therefore, it can execute a parallel process. However, she also has the problem that the their own throughput can not be fully utilized as a target algorithm should be replaced by prepared instructions, and the Width of the data bus is limited while the process is running. That's why Circuit elements configure a functional unit more freely or connect a register file alternative to the VLIW architecture. So much attention has been paid to the circuit elements can implement the functions through a program, such as for example, a programmable logic array (PLA), a field programmable gate array (FPGA), etc.

Mit diesem PLA und FPGA kann eine Logikschaltung und Zwischenverbindungsverdrahtung frei konstruiert werden, aber man braucht einen Bereich zum Speichern einer Funktion und einen Bereich zum Selektieren der Verbindung von Leitungen. Deshalb sind das PLA und das FPGA in der Integration dem ASIC unterlegen, und sie können kaum in einem zentralen Abschnitt, wie etwa einer ALU, etc., eingesetzt werden. Da sie aus der kleinstmöglichen Anzahl von Logikzellen und Verbindungsbetriebsmitteln zum Verbinden der Zellen gebildet sind und eine Funktion nur einmal vor der Operation eingestellt wird, ist es schwierig, eine Funktion durch Operationen einzustellen oder zu modifizieren.With This PLA and FPGA can be a logic circuit and interconnection wiring be constructed freely, but you need a space to save a function and a range for selecting the connection of wires. Therefore the PLA and the FPGA are in the integration ASIC inferior and they can hardly used in a central portion, such as an ALU, etc. become. Since they are from the smallest possible Number of logic cells and connection resources for connection The cells are formed and a function only once before surgery is set, it is difficult to perform a function through operations to adjust or modify.

US 5 361 373 A offenbart eine Berechnungsanordnung einer integrierten Schaltung, die aus einem dynamisch konfigurierbaren feldprogrammierbaren Gatterarray (FPGA) gebildet ist. Dieses Gatterarray ist so konfiguriert, um einen RISC-Prozessor und eine rekonfigurierbare Instruktionsausführungseinheit zu implementieren. Da das FPGA dynamisch rekonfiguriert werden kann, kann die rekonfigurierbare Instruktionsausführungseinheit dynamisch verändert werden, um kom plexe Operationen durch Hardware statt durch zeitaufwendige Softwareroutinen zu implementieren. US 5,361,373 A. discloses an integrated circuit computing arrangement formed from a dynamically configurable field programmable gate array (FPGA). This gate array is configured to be a RISC processor and to implement a reconfigurable instruction execution unit. Because the FPGA can be reconfigured dynamically, the reconfigurable instruction execution unit can be dynamically altered to implement complex operations through hardware rather than through time-consuming software routines.

US 4 791 603 A offenbart eine dynamisch rekonfigurierbare Arraylogik (DRAL), die zur systeminternen logischen Rekonfigurierung in Echtzeit in der Lage ist und ein RAM-programmierbares Logikarray von Bits umfaßt, wobei jedes Bit eine Schmelzverbindung zwischen Logikelementen umfaßt. E/A-Mittel sind mit dem RAM-programmierbaren Logikarray zur logischen Selektion einer registrierten Ausgabe gekoppelt. Ein erstes Register ist zum Empfangen von Daten und höheren Befehlen gekoppelt. Ein Sequenzer enthält ein Paar von Aufwärts-/Abwärtszählern und Funktionen, um Adressen zu erzeugen. Eine Zeitlagenanordnung steuert DMA-Transfers und gibt LESE- und SCHREIB-Hinweissignale aus. Ein zweites Register überwacht Ausgaben und Funktionen als Komparator in einem ersten Modus und Funktionen zum Laden von Ausgaben während spezifizierter Zeitintervalle in einem zweiten Modus. US 4 791 603 A discloses a dynamically reconfigurable array logic (DRAL) capable of real-time in-system logical reconfiguration, comprising a RAM programmable logic array of bits, each bit comprising a fuse connection between logic elements. I / O means are coupled to the RAM programmable logic array for logically selecting a registered output. A first register is coupled to receive data and higher commands. A sequencer includes a pair of up / down counters and functions to generate addresses. A timing arrangement controls DMA transfers and issues READ and WRITE strobes. A second register monitors outputs and functions as a comparator in a first mode and functions for loading outputs during specified time intervals in a second mode.

US 5 469 003 A offenbart ein feldprogrammierbares Gatterarray (FPGA) von Zellen, die in Reihen und Spalten angeordnet sind und durch eine hierarchische Trassierungsstruktur miteinander verbunden sind. Schalter trennen die Zellen in Blöcke und in Blöcke von Blöcken, wobei Trassierungsleitungen die Schalter untereinander verbinden, um die Hierarchie zu bilden. Auswahleinheiten sind vorgesehen, um Speicherbits sowohl individuell als auch in großen und willkürlichen Gruppen ansteuern zu können, und ein Steuerspeicher ist zum Konfigurieren des FPGA vorgesehen, der als SRAM angesteuert wird, damit es während der Operation dynamisch rekonfiguriert werden kann. US 5,469,003 A discloses a Field Programmable Gate Array (FPGA) of cells arranged in rows and columns and interconnected by a hierarchical routing structure. Switches separate the cells into blocks and blocks of blocks, with routing lines interconnecting the switches to form the hierarchy. Selectors are provided to drive memory bits both individually and in large and arbitrary groups, and a control store is provided for configuring the FPGA, which is driven as SRAM, so that it can be dynamically reconfigured during the operation.

US 5 533 169 A offenbart ein neuronales Netzsystem, das ein Netz von neuronalen Operatoren enthält, die durch eine Steuereinheit pilotgesteuert werden. Die durch die Operato ren berechneten Aktivitäten werden in zugeordneten Speicherräumen gespeichert, die durch eine Aktivitätsadresse ansteuerbar sind. Um das Rekonfigurieren des Netzes zu erleichtern, enthält der Speicherraum von wenigstens einem Abschnitt der Operatoren die Aktivitätsadressen von anderen Operatoren des Netzes. Daher können die eingegebenen Aktivitäten dieser Operatoren von beliebigen anderen Operatoren in einer weise ausgegeben werden, die einfach durch Verändern der Werte der Aktivitätsadressen modifizierbar ist. US 5 533 169 A discloses a neural network system that includes a network of neural operators that are pilot-controlled by a control unit. The activities calculated by the operators are stored in allocated memory spaces, which can be controlled by an activity address. To facilitate the reconfiguration of the network, the memory space of at least a portion of the operators contains the activity addresses of other operators of the network. Therefore, the input activities of these operators can be output from any other operators in a manner that is easily modifiable by changing the values of the activity addresses.

WO 95 17065 A offenbart eine objektorientierte Client-Server-Einrichtung (CSF) und Netzserviceeinrichtung (NSF) zum Verbinden und Implementieren der Kommunikation zwischen Anwendungsprogrammen, die in Client- und Serverknoten eines verteilten Dienstnetzes geladen sind. Die CSF-Schnittstelle enthält Fernprozeduraufruf-(RPC)-Objekte zum Aufrufen von und Antworten auf Dienstaufforderungen in den Knoten und Anwendungsprogrammschnittstellen-(API)-Objekte zum Transportieren jener Aufforderungen zwischen den Knoten. Die API-Objekte sehen jedoch nur Kommunikationstransporte innerhalb eines Knotens vor. Daher wirken die API- und die RPC-Objekte mit dynamisch konfigurierbaren Protokollstapeln innerhalb der NSF-Schnittstellen zusammen, um den Transportmechanismus zu komplettieren, der von einem Anwendungsprogramm in dem Client-Knoten benötigt wird, wenn auf Dienste in einem abgesetzten Serverknoten zugegriffen wird.WHERE 95 17065 A discloses an object-oriented client-server device (CSF) and Network Service Facility (NSF) to connect and deploy communication between application programs running in client and server nodes of a distributed service network are loaded. The CSF interface contains Remote procedure call (RPC) objects for invoking and responding to Service prompts in the nodes and application program interface (API) objects for transporting those requests between the nodes. The See API objects however, only communication transports within a node. Therefore, the API and RPC objects behave with dynamically configurable Log stacks within the NSF interfaces together to make the Complete transport mechanism by an application program needed in the client node when accessing services in a remote server node becomes.

Auf der Basis des oben beschriebenen Hintergrundes ist die vorliegende Erfindung auf das dynamische Einstellen und Modifizieren von internen Funktionen einer Anordnung unter Verwendung eines externen Programms gerichtet, um interne Funktionen einzustellen und zu modifizieren, so daß ein Hochgeschwindigkeitsprozeß durch einen Computer und eine Datenverarbeitungsvorrichtung unter Verwendung der Anordnung und der Operationen der Anordnung ausgeführt werden kann.On The basis of the background described above is the present one Invention to the dynamic setting and modification of internal functions directed to an arrangement using an external program, to set and modify internal functions so that a high-speed process by a computer and a data processing device using the arrangement and the operations of the arrangement are executed can.

Gemäß der vorliegenden Erfindung ist ein Datenverarbeitungssystem vorgesehen, das mit einer Funktion zum dynamischen Nutzen von Betriebsmitteln versehen ist und eine Datenverarbeitungsvorrichtung hat, die interne Funktionen hat, die extern eingestellt und modifiziert werden können, indem eine Logikschaltung, die in der Datenverarbeitungsvorrichtung enthalten ist, unter Verwendung eines für die Datenverarbeitungsvorrichtung externen Programms eingestellt und modifiziert wird, mit: einem Funktionsdateneinstellmittel, das außerhalb der Datenverarbeitungsvorrichtung vorgesehen ist, zum Lesen, Schreiben und Speichern von Daten zur Verwendung beim Einstellen und Modifizieren von internen Funktionen der Datenverarbeitungsvorrichtung; und gekennzeichnet durch ein Ausführungszustandsstapelmittel, das außerhalb der Datenverarbeitungsvorrichtung vorgesehen ist, zum Speichern von Daten, die einen Zustand im Fortgang des Ausführens der internen Funktionen angeben; und ein internes Betriebsmittelverwaltungsmittel, das innerhalb der Datenverarbeitungsvorrichtung vorgesehen ist, zum Einstellen und Modifizieren der internen Funktionen und Sichern und Wiederherstellen der Daten, die den Zustand im Fortgang des Ausführens der internen Funktionen angeben, unter Verwendung des Ausführungszustandsstapelmittels.According to the present Invention, a data processing system is provided, which with a Function for the dynamic use of resources is provided and a data processing device having internal functions which can be set externally and modified by a Logic circuit included in the data processing device is, using one for the Data processing device external program and set is modified, comprising: a function data setting means outside the data processing device is provided for reading, writing and storing data for use in setting and modifying internal functions of the data processing device; and marked by an execution state stacking means, the outside the data processing device is provided for storing Data representing a state in progress of the execution of internal functions specify; and an internal resource management tool that operates within the Data processing device is provided for adjusting and Modify the internal functions and save and restore the data representing the state in progress of the execution of the internal functions using the execution state stack means.

Gemäß einem Datenverarbeitungssystem, das die Erfindung verkörpert, können Schaltungsfunktionen, die in zeitlicher Reihenfolge erforderlich sind, in der Datenverarbeitungsvorrichtung sequentiell so eingestellt werden, daß ein Prozeß ausgeführt werden kann. Als Resultat der sequentiell eingestellten Schaltungsfunktionen kann die Härte des Überkapazitätsproblems im Vergleich zu dem Fall gemildert werden, wenn alle Schaltungsfunktionen, die in zeitlicher Reihenfolge erforderlich sind, in der Datenverarbeitungsvorrichtung gleichzeitig eingestellt werden. Zusätzlich kann die Breite eines Datenbusses für einen zu verarbeitenden Algorithmus frei eingestellt werden, und die Prozesse werden unter Verwendung eines vakanten Datenbusses parallel ausgeführt, wodurch die Prozesse mit hoher Geschwindigkeit ausgeführt werden, ohne nur von einem Hochgeschwindigkeitstaktsystem abzuhängen. Die vorliegende Erfindung kann deshalb zur Innovation der Basiskonfiguration einer Datenverarbeitungsvorrichtung, wie etwa eines Computers, etc. beitragen.According to a data processing system embodying the invention, circuitry functions required in chronological order are sequentially set in the data processing apparatus so that a process can be executed. As a result of the sequentially set circuit functions, the hardness of the over-capacity problem can be alleviated as compared to the case where all the circuit functions required in time order are set simultaneously in the data processing apparatus. In addition, the width of a data bus can be freely set for an algorithm to be processed, and the processes are executed in parallel using a vacant data bus, thereby executing the processes at high speed without depending only on a high-speed clock system. The present invention can therefore contribute to the innovation of the basic configuration of a data processing apparatus such as a computer, etc.

Die vorliegende Erfindung geht aus der folgenden eingehenden Beschreibung in Verbindung mit den beiliegenden Zeichnungen deutlicher hervor, in denen:The The present invention will become apparent from the following detailed description in conjunction with the accompanying drawings more clearly, in which:

1 ein Beispiel für die Konfiguration der VLIW-Architektur als herkömmliche Technologie zeigt; 1 shows an example of the configuration of the VLIW architecture as conventional technology;

2 ein Blockdiagramm ist, das die Basiskonfiguration der Anordnung, des Computers und der Datenverarbeitungsvorrichtung auf der Basis der Funktion zum dynamischen Nutzen von Betriebsmitteln zeigt; 2 Fig. 12 is a block diagram showing the basic configuration of the device, the computer and the data processing device on the basis of the dynamic resource use function;

3A, 3B, 3C und 3D erläuternde Diagramme für die in 2 gezeigten Operationen sind; 3A . 3B . 3C and 3D explanatory diagrams for the in 2 shown operations;

4 eine andere Konfiguration zum Einstellen der internen Funktionen der Anordnung gemäß der vorliegenden Erfindung zeigt; 4 shows another configuration for setting the internal functions of the device according to the present invention;

5 ein Blockdiagramm ist, das die Konfiguration gemäß der ersten Ausführungsform der Funktionsdateneinstelleinheit zeigt; 5 Fig. 10 is a block diagram showing the configuration according to the first embodiment of the function data setting unit;

6 ein Blockdiagramm ist, das die Konfiguration gemäß der zweiten Ausführungsform der Funktionsdateneinstelleinheit zeigt; 6 Fig. 10 is a block diagram showing the configuration according to the second embodiment of the function data setting unit;

7 ein Blockdiagramm ist, das die Operationen gemäß den ersten und zweiten Ausführungsformen der Funktionsdateneinstelleinheit zeigt; 7 Fig. 10 is a block diagram showing the operations according to the first and second embodiments of the function data setting unit;

8 das Datenspeicherformat in dem Funktionsdatenselektionsspeicher von 5 zeigt; 8th the data storage format in the function data selection memory of 5 shows;

9 das Datenspeicherformat in dem Funktionsdatenselektionsspeicher von 4 zeigt; 9 the data storage format in the function data selection memory of 4 shows;

10 ein Blockdiagramm ist, das die Konfiguration gemäß der dritten Ausführungsform der Funktionsdateneinstelleinheit zeigt; 10 Fig. 10 is a block diagram showing the configuration according to the third embodiment of the function data setting unit;

11 ein Blockdiagramm ist, das die Operationen der Funktionsdateneinstelleinheit von 10 zeigt; 11 FIG. 12 is a block diagram illustrating the operations of the function data setting unit of FIG 10 shows;

12 die Bibliotheksdaten einer Logikzelle zeigt; 12 shows the library data of a logic cell;

13 ein Blockdiagramm ist, das die Konfiguration gemäß der vierten Ausführungsform der Funktionsdateneinstelleinheit zeigt; 13 Fig. 10 is a block diagram showing the configuration according to the fourth embodiment of the function data setting unit;

14A und 14B Blockdiagramme sind, die die Operationen der Funktionsdateneinstelleinheit von 13 zeigen; 14A and 14B Are block diagrams illustrating the operations of the function data setting unit of 13 demonstrate;

15 ein Beispiel zum Komprimieren und Expandieren von Daten zeigt; 15 shows an example of compressing and expanding data;

16 ein Blockdiagramm ist, das die Konfiguration gemäß der fünften Ausführungsform der Funktionsdateneinstelleinheit zeigt; 16 Fig. 12 is a block diagram showing the configuration according to the fifth embodiment of the function data setting unit;

17 ein Blockdiagramm ist, das die DMA-Datentransferoperationen in der Funktionsdateneinstelleinheit von 16 zeigt; 17 FIG. 12 is a block diagram illustrating the DMA data transfer operations in the function data setting unit of FIG 16 shows;

18 ein Blockdiagramm ist, das die Konfiguration gemäß der fünften Ausführungsform der Ausführungszustandsstapeleinheit zeigt; 18 Fig. 12 is a block diagram showing the configuration according to the fifth embodiment of the execution state stack unit;

19 ein Blockdiagramm ist, das die Konfiguration gemäß der zweiten Ausführungsform der Ausführungszustandsstapeleinheit zeigt; 19 Fig. 10 is a block diagram showing the configuration according to the second embodiment of the execution state stack unit;

20A, 20B und 20C Blockdiagramme sind, die die Operationen der Ausführungszustandsstapeleinheit von 18 zeigen; 20A . 20B and 20C Are block diagrams illustrating the operations of the execution state stack unit of 18 demonstrate;

21A, 21B und 21C Blockdiagramme sind, die die Operationen zum Sichern und Wiederherstellen von Daten in der Ausführungszustandsstapeleinheit von 19 zeigen; 21A . 21B and 21C Block diagrams are the operations to back up and restore data in the execution state stack unit of 19 demonstrate;

22 die Daten über den Zustand der internen Funktionen der Anordnung zeigt, die gerade ausgeführt werden; 22 shows the data about the state of the internal functions of the device being executed;

23 die Operationen zum Löschen von Daten zeigt, die in der Ausführungszustandsstapeleinheit gesichert sind; 23 shows the operations for deleting data saved in the execution state stack unit;

24 ein Blockdiagramm ist, das die Konfiguration gemäß der ersten Ausführungsform der Anordnung zeigt, die die interne Betriebsmittelverwaltungseinheit enthält; 24 Fig. 12 is a block diagram showing the configuration according to the first embodiment of the arrangement including the internal resource management unit;

25 ein Blockdiagramm ist, das die Operationen der internen Betriebsmittelverwaltungseinheit von 24 zeigt; 25 is a block diagram illustrating the operations of the internal resource management unit of 24 shows;

26 ein Blockdiagramm ist, das die Konfiguration gemäß der zweiten Ausführungsform der Anordnung zeigt, die die interne Betriebsmittelverwaltungseinheit enthält; 26 Fig. 10 is a block diagram showing the configuration according to the second embodiment of the arrangement including the internal resource management unit;

27 ein Blockdiagramm ist, das die Operationen der internen Betriebsmittelverwaltungseinheit von 26 zeigt; 27 is a block diagram illustrating the operations of the internal resource management unit of 26 shows;

28 ein Blockdiagramm ist, das ein Beispiel für eine praktische Konfiguration der Speichertabelle von 26 zeigt; 28 is a block diagram illustrating an example of a practical configuration of the memory table of 26 shows;

29 ein Blockdiagramm ist, das die Konfiguration eines praktischen Beispiels für die Anordnung unter Verwendung der Funktion zum dynamischen Nutzen von Betriebsmitteln auf der Basis der Basiskonfiguration von 2 zeigt; 29 FIG. 12 is a block diagram showing the configuration of a practical example of the arrangement using the dynamic resource use function based on the basic configuration of FIG 2 shows;

30 ein Blockdiagramm ist, das die detaillierte Konfiguration eines Systemcontrollers von 29 zeigt; 30 is a block diagram illustrating the detailed configuration of a system controller of 29 shows;

31 ein Blockdiagramm ist, das die Konfiguration des Systemspeichers von 29 zeigt; 31 is a block diagram illustrating the configuration of the system memory of 29 shows;

32 eine Signaleingabe/-ausgabe für eine RFU für eine einzelne FPGA-Anordnung zeigt; 32 shows a signal input / output for an RFU for a single FPGA device;

33 ein Blockdiagramm ist, das eine Signaleingabe/-ausgabe entsprechend der Konfiguration der Anordnung, die die interne Betriebsmittelverwaltungseinheit enthält, von 24 zeigt; 33 FIG. 12 is a block diagram showing signal input / output corresponding to the configuration of the device including the internal resource management unit of FIG 24 shows;

34 ein Blockdiagramm ist, das das Speichern von Daten in der Funktionsdateneinstelleinheit und die Konfiguration für die RFU zeigt; 34 Fig. 12 is a block diagram showing the storage of data in the function data setting unit and the configuration for the RFU;

35A ein Zeitlagendiagramm des Speicherns von Daten in der Funktionsdateneinstelleinheit ist; 35A Fig. 10 is a timing chart of storing data in the function data setting unit;

35B ein Zeitlagendiagramm für die Operationen bei der Konfiguration für die RFU ist; 35B is a timing chart for the operations in the configuration for the RFU;

36 ein Blockdiagramm ist, das das Sichern und Wiederherstellen von Daten von der RFU für die Ausführungszustandsstapeleinheit zeigt; 36 Fig. 10 is a block diagram showing the backup and recovery of data from the RFU for the execution state stack unit;

37A ein Zeitlagendiagramm zum Sichern von Daten in der Ausführungszustandsstapeleinheit ist; und 37A is a timing chart for saving data in the execution state stack unit; and

37B ein Zeitlagendiagramm zum Zurückführen von Daten zu der RFU ist. 37B is a timing chart for returning data to the RFU.

2 ist ein Blockdiagramm, das die Basiskonfiguration der Anordnung, des Computers und der Datenverarbeitungsvorrichtung auf der Basis der Funktion zum dynamischen Nutzen von Betriebsmitteln zeigt. 2 Fig. 10 is a block diagram showing the basic configuration of the device, the computer and the data processing device based on the dynamic resource use function.

In 2 enthält eine Anordnung (ein Computer oder eine Datenverarbeitungsvorrichtung, die die Anordnung enthalten) 11, wie beispielsweise ein PLA, ein FPGA, ein ASIC, eine programmierbare Logikanordnung (PLD), etc. eine interne Betriebsmittelverwaltungseinheit 14, und extern umfaßt sie eine Funktionsdateneinstelleinheit 12 und eine Ausführungszustandsstapeleinheit 13.In 2 contains an assembly (a computer or a data processing device containing the assembly) 11 such as a PLA, an FPGA, an ASIC, a Programmable Logic Array (PLD), etc., an internal resource management unit 14 , and externally includes a function data setting unit 12 and an execution state stack unit 13 ,

Die Funktionsdateneinstelleinheit 12 speichert die Daten über einen Teil oder alle der internen Funktionen in der oben beschriebenen Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 und gibt eine Instruktion zum Einstellen der gespeicherten Daten in der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 zum Beispiel bei einer Instruktion von der zentralen Verarbeitungseinheit (CPU) des Computers aus. Die Funktionsdateneinstelleinheit 12 umfaßt eine Funktionsdatenspeichereinheit zum Speichern von Daten zum Einstellen und Modifizieren von internen Funktionen einer Anordnung als Daten, die durch eine Adresse im Speicher spezifiziert werden, oder zum Speichern von Daten zum Einstellen und Modifizieren von Funktionen als Daten von Bitfolgen für eine Reihe und/oder eine Spalte eines Speicherarrays; und eine Speichersteuereinheit zum Steuern des Datenspeicherns in der Funktionsdatenspeichereinheit.The function data setting unit 12 stores the data about part or all of the internal functions in the above-described arrangement (a computer or a data processing device) 11 and gives an instruction for setting the stored data in the device (a computer or a data processing device) 11 for example, at an instruction from the central processing unit (CPU) of the computer. The function data setting unit 12 comprises a function data storage unit for storing data for setting and modifying internal functions of an array as data specified by an address in memory or for storing data for setting and modifying functions as data of bit strings for a row and / or one Column of a memory array; and a memory control unit for controlling data storage in the function data storage unit.

Die Ausführungszustandsstapeleinheit 13 speichert Daten, die den Zustand im Fortgang eines Teils oder der Gesamtheit der Schaltung angeben, als interne Funktion, die in der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 eingestellt wird, und sichert die Daten und stellt sie wieder her unter Verwendung der internen Betriebsmittelverwaltungseinheit 14 bei einer Instruktion von der CPU, etc. Die Ausführungszustandsstapeleinheit 13 umfaßt eine Speichereinheit für gesicherte Daten, wie etwa einen Stapelspeicher, etc., zum Speichern von Aufforderungsausgabezustandsinformationen, die den Operationszustand einer Schaltung angeben, als interne Funktion, wenn eine Aufforderung ausgegeben wird, um Daten als Daten zu sichern, die den Zustand der internen Funktionen angeben, die gerade ausgeführt werden; und eine Stapelspeichersteuereinheit zum Steuern des Datenspeicherns in der Speichereinheit für gesicherte Daten.The execution state stack unit 13 stores data indicating the state in progress of a part or the whole of the circuit as an internal function included in the device (a computer or a data processing device) 11 is set, saving the data and restoring it using the internal resource management unit 14 at an instruction from the CPU, etc. The execution state stack unit 13 comprises a saved data storage unit, such as a stack memory, etc., for storing request output state information indicating the operation state of a circuit as an internal function when a request is issued to save data as data indicating the state of the internal functions specify which are currently being executed; and a stack memory control unit for controlling the data storage in the saved data storage unit.

Die interne Betriebsmittelverwaltungseinheit 14 ist in der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 vorgesehen, verwaltet eine Logikzelle, in der interne Funktionen eingestellt werden, stellt die Funk tionen ein und modifiziert sie bei einer Instruktion von der Funktionsdateneinstelleinheit 12 und sichert und führt die Daten zurück, die den Zustand der gerade ausgeführten internen Funktionen angeben, unter Verwendung der Ausführungszustandsstapeleinheit 13. Die interne Betriebsmittelverwaltungseinheit 14 umfaßt eine Flagspeichereinheit, wie zum Beispiel ein Flagregister, zum Speichern von einem oder mehreren Flags, die den Zustand von Operationen eines Satzes von Logikzellen angeben; eine Flag-Schreib-/Leseeinheit zum Schreiben/Lesen eines Flags, das eins zu eins der Flagspeichereinheit entspricht; und eine Überwachungszeitlagenerzeugungseinheit zum Ausgeben einer Instruktion zum Lesen des Inhaltes eines in der Flagspeichereinheit gespeicherten Flags und Einstellen einer Aktualisierungszeitlage.The internal resource management unit 14 is in the arrangement (a computer or a data processing device) 11 provided, manages a logic cell, in the internal functions set the functions and modifies them at an instruction from the Funktionsdateneinstelleinheit 12 and saves and returns the data indicating the state of the internal functions being executed using the execution state stack unit 13 , The internal resource management unit 14 comprises a flag storage unit, such as a flag register, for storing one or more flags indicating the state of operations of a set of logic cells; a flag read / write unit for writing / reading a flag corresponding to one to one of the flag storage unit; and a monitoring timing generation unit for issuing an instruction to read the content of a flag stored in the flag storage unit and setting an update timing.

3A, 3B, 3C und 3D sind erläuternde Diagramme für die Operationen von 2. Wie zum Beispiel in 3A gezeigt, wird bei #1 eine Instruktion von der CPU eines Computers zu der Funktionsdateneinstelleinheit 12 gesendet, um Funktionsdaten zu senden, die durch eine Anordnung (einen Computer oder eine Datenverarbeitungsvorrichtung) 11 verwendet werden, oder um die Funktionsdaten zu nutzen, die in der Funktionsdateneinstelleinheit 12 gespeichert sind. 3A . 3B . 3C and 3D are explanatory diagrams for the operations of 2 , Like in 3A at # 1, an instruction from the CPU of a computer becomes the function data setting unit 12 sent to send function data through an array (a computer or a computing device) 11 or to use the function data contained in the function data setting unit 12 are stored.

Als Antwort auf die Instruktion gibt die Funktionsdateneinstelleinheit 12 bei #2 eine Instruktion an die interne Betriebsmittelverwaltungseinheit 14 in der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 aus, um eine Funktion in einer Logikzelle einzustellen. Dann stellt die interne Betriebsmittelverwaltungseinheit 14 eine Funktion einer Logikzelle in der Anordnung, dem Computer oder der Datenverarbeitungsvorrichtung ein.In response to the instruction, the function data setting unit gives 12 at # 2 an instruction to the internal resource management unit 14 in the arrangement (a computer or a data processing device) 11 to set a function in a logic cell. Then put the internal resource management unit 14 a function of a logic cell in the device, the computer or the data processing device.

Als Antwort auf die Instruktion von der Funktionsdateneinstelleinheit 12 stellt die interne Betriebsmittelverwaltungseinheit 14 eine Funktion in einer Logikzelle ein. Wenn nicht alle Funktionen eingestellt werden können, wird das Funktionseinstellresultat bei #3 der Funktionsdateneinstelleinheit 12 mitgeteilt, und das Resultat wird von der Funktionsdateneinstelleinheit 12 bei #4 zu der CPU weitergeleitet.In response to the instruction from the function data setting unit 12 provides the internal resource management unit 14 a function in a logic cell. If not all functions can be set, the function setting result becomes # 3 of the function data setting unit 12 notified, and the result is from the Funktionsdateneinstelleinheit 12 forwarded to the CPU at # 4.

In 3B wartet die CPU eines Computers zum Beispiel auf die Ausführung der Funktion, die in der Logikzelle eingestellt ist, wie in 3A gezeigt, und bei #5 gibt sie an die Ausführungszustandsstapeleinheit 13 eine Instruktion aus, um bei #6 die interne Betriebsmittelverwaltungseinheit 14 dazu aufzufordern, die Daten der internen Funktionen, die gerade ausgeführt werden, zu sichern. Bei #7 werden die Daten, die gerade verarbeitet werden, in der Ausführungszustandsstapeleinheit 13 gesichert, und der CPU wird durch die Ausführungszustandsstapeleinheit 13 bei #8 die Vollendung der Datensicherung mitgeteilt.In 3B For example, the CPU of a computer waits for execution of the function set in the logic cell, as in FIG 3A and at # 5, it indicates the execution state stack unit 13 an instruction to # 6 the internal resource management unit 14 to prompt to back up the data of the internal functions being executed. At # 7, the data being processed is in the execution state stack unit 13 and the CPU is backed up by the execution state stack unit 13 at # 8 the completion of the backup communicated.

In 3C instruiert die CPU bei #9 die Funktionsdateneinstelleinheit 12, Funktionsdaten für eine Logikzelle einzustellen, in der ein Prozeß kontinuierlich ausgeführt werden sollte. Die interne Betriebsmittelverwaltungseinheit 14 empfängt die Instruktion bei #10, stellt eine Funktion für eine Logikzelle ein und meldet die Vollendung des Einstellens eines Prozesses bei #11. Bei #12 wird das Resultat zu der CPU weitergeleitet.In 3C At # 9, the CPU instructs the function data setting unit 12 To set function data for a logic cell in which a process should be carried out continuously. The internal resource management unit 14 receives the instruction at # 10, sets a function for a logic cell, and announces the completion of setting a process at # 11. At # 12, the result is forwarded to the CPU.

In 3D gibt die CPU bei #13 eine Instruktion an die Ausführungszustandsstapeleinheit 13 aus, und bei #14 überträgt die Ausführungszustandsstapeleinheit 13 die Daten zu der internen Betriebsmittelverwaltungseinheit 14, die von den gespeicherten Daten zu der Anordnung zurückzuführen sind. Die interne Betriebsmittelverwaltungseinheit 14 stellt Funktionen in einer Logikzelle so ein, daß der Prozeß unter Verwendung von wiederherzustellenden Daten fortgesetzt werden kann. Der Ausführungszustandsstapeleinheit 13 wird bei #15 die Vollendung des Einstellens der Funktionen mitgeteilt. Bei #16 wird der CPU die Vollendung mitgeteilt.In 3D At # 13, the CPU issues an instruction to the execution state stack unit 13 and at # 14, the execution state batch unit transmits 13 the data to the internal resource management unit 14 which are due to the stored data to the arrangement. The internal resource management unit 14 Sets functions in a logic cell so that the process can continue using data to be restored. The execution state stack unit 13 At # 15, the completion of setting the functions is notified. At # 16, the CPU is notified of the completion.

4 zeigt die Funktionen, die in einer Anordnung eingestellt werden, das heißt, eine andere Konfiguration zum Einstellen der Anordnung von Funktionen in einem Bereich, in dem Funktionen eingestellt werden können, gemäß der vorliegenden Erfindung. In 4 wird die Konfiguration einer Funktion A in einem Teil des Bereiches eingestellt, in dem eine Funktion in der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 eingestellt werden kann. Dann wird die Logik der Funktion A ausgeführt. Das Resultat wird in der Ausführungszustandsstapeleinheit 13 als Eingabe für den Stapelspeicher gesichert. Als nächstes wird die Konfiguration einer Funktion B in einem Bereich eingestellt, in dem eine Funktion in der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 eingestellt werden kann. Dann wird die Logik der Funktion B ausgeführt. Das Resultat wird in der Ausführungszustandsstapeleinheit 13 als Stapelspeichereingabe gestapelt. Schließlich wird die Konfiguration einer Funktion C in dem Bereich eingestellt, in dem eine Funktion eingestellt werden kann. Die Prozeßresultate der Funktionen A und B, die in der Ausführungszustandsstapeleinheit 13 gespeichert sind, werden entnommen, und die Logik einer Funktion C wird auf der Basis der Resultate ausgeführt. 4 Fig. 15 shows the functions set in one arrangement, that is, another configuration for setting the arrangement of functions in an area in which functions can be set, according to the present invention. In 4 the configuration of a function A is set in a part of the area in which a function in the arrangement (a computer or a data processing device) 11 can be adjusted. Then the logic of function A is executed. The result is in the execution state stack unit 13 saved as input to the stack. Next, the configuration of a function B is set in a range in which a function in the arrangement (a computer or a data processing device) 11 can be adjusted. Then the logic of the function B is executed. The result is in the execution state stack unit 13 stacked as a stack input. Finally, the configuration of a function C is set in the range in which a function can be set. The process results of functions A and B included in the execution state stack unit 13 are stored, and the logic of a function C is executed on the basis of the results.

5 ist ein Blockdiagramm, das die Konfiguration gemäß der ersten Ausführungsform der Funktionsdateneinstelleinheit zeigt. In 5 umfaßt die Funktionsdateneinstelleinheit 12 einen Funktionsdatenselektionsspeicher 16 zum Speichern von Funktionsdaten; eine Speichersteuereinheit 17 zum Steuern des Datenspeicherns in dem Funktionsdatenselektionsspeicher 16; und eine externe E/A-Steuereinheit 18 zum Kommunizieren zum Beispiel mit einer CPU eines Computers, etc. Der Funktionsdatenselektionsspeicher 16 speichert Funktionsdaten für jedes Funktionsdatenelement in einer Mindesteinheit entsprechend einer spezifizierten Anordnung, zum Beispiel für jedes Datenelement entsprechend einer Adresse im Speicher. 5 FIG. 10 is a block diagram showing the configuration according to the first embodiment of the function data setting unit. FIG. In 5 includes the function data setting unit 12 a function data selection memory 16 for storing function data; a memory controller 17 for controlling data storage in the function da tenselektionsspeicher 16 ; and an external I / O control unit 18 for communicating with, for example, a CPU of a computer, etc. The function data selection memory 16 stores functional data for each functional data item in a minimum unit according to a specified arrangement, for example, for each data item corresponding to an address in the memory.

6 ist ein Blockdiagramm, das die Konfiguration gemäß der zweiten Ausführungsform der Funktionsdateneinstelleinheit 12 zeigt. In 6 werden in einem Funktionsdatenselektionsspeicher 19, anders als im Funktionsdatenselektionsspeicher 16, Funktionsdaten in einem Format gespeichert, in dem eine Reihenrichtung oder eine Spaltenrichtung in einem Speicherarray als Verfahren zum Zugreifen auf den Speicher spezifiziert werden kann. Das heißt, Funktionsdaten können in einem Format gespeichert werden, in dem eine Reihen- oder Spaltennummer und der Inhalt der Bits der Reihe oder der Spalte spezifiziert werden können. 6 FIG. 10 is a block diagram showing the configuration according to the second embodiment of the function data setting unit. FIG 12 shows. In 6 are stored in a function data selection store 19 , unlike the function data selection memory 16 , Function data is stored in a format in which a row direction or a column direction in a memory array can be specified as a method of accessing the memory. That is, function data may be stored in a format in which a row or column number and the contents of the row or column bits can be specified.

7 ist ein erläuterndes Blockdiagramm der Operationen, die in 5 oder 6 gezeigt sind. In 7 wird zum Beispiel eine Instruktion von der CPU eines Computers bei #1 durch die externe E/A-Steuereinheit 18 zu der Speichersteuereinheit 17 bei #2 übertragen. Die Speichersteuereinheit 17 speichert in dem Funktionsdatenselektionsspeicher 16 oder 19 bei #3 die Funktionsdaten in der Mindesteinheit gemäß der Spezifikation einer Anordnung zum Beispiel in einem Format der Funktionsdaten entsprechend einer Adresse oder als Bitfolge einer Reihe oder einer Spalte eines Speicherarrays. 7 is an illustrative block diagram of the operations that are described in US Pat 5 or 6 are shown. In 7 For example, an instruction is taken from the CPU of a computer at # 1 by the external I / O control unit 18 to the memory controller 17 transmitted at # 2. The memory controller 17 stores in the function data selection memory 16 or 19 at # 3, the functional data in the minimum unit according to the specification of an arrangement, for example, in a format of the function data corresponding to an address or bit sequence of a row or a column of a memory array.

Wenn eine Instruktion zum Schreiben von Daten in eine Anordnung (einen Computer oder eine Datenverarbeitungsvorrichtung) ausgegeben wird, führt der Funktionsdatenselektionsspeicher 16 oder 19 die Instruktion bei #4 aus. Wenn eine Instruktion zum Lesen von Daten von der Anordnung ausgegeben wird, werden die Daten in dem Funktionsdatenselektionsspeicher 16 oder 19 bei #5 gespeichert. wenn Daten zu der CPU übertragen werden sollen, werden die Daten bei #6 zu der Speichersteuereinheit 17 gesendet und bei #7 und #8 durch die externe E/A-Steuereinheit 18 zu der CPU gesendet.When an instruction for writing data into an array (a computer or a data processing device) is issued, the function data selection memory is maintained 16 or 19 the instruction at # 4 off. When an instruction to read data from the device is issued, the data in the function data selection memory becomes 16 or 19 stored at # 5. When data is to be transferred to the CPU, the data at # 6 becomes the memory controller 17 sent and # 7 and # 8 through the external I / O control unit 18 sent to the CPU.

8 zeigt das Speicherformat von Funktionsdaten in dem Funktionsdatenselektionsspeicher 16, der in 5 gezeigt ist. In dem Funktionsdatenselektionsspeicher 16 werden Funktionsdaten in der Mindestdateneinheit gemäß der Spezifikation einer Anordnung gespeichert. Die Funktionsdaten in der Mindesteinheit werden mit der Position in dem Speicher gespeichert, die durch eine Adresse spezifiziert wird, wie in 8 gezeigt. Gemäß der vorliegenden Ausführungsform kann die interne Funktion der Anordnung dynamisch eingestellt werden, indem die Daten in der Mindesteinheit verändert werden, die in der Anordnung zulässig ist. 8th shows the storage format of function data in the function data selection memory 16 who in 5 is shown. In the function data selection memory 16 Function data is stored in the minimum data unit according to the specification of an arrangement. The function data in the minimum unit is stored with the position in the memory specified by an address as in 8th shown. According to the present embodiment, the internal function of the device can be dynamically adjusted by changing the data in the minimum unit allowed in the device.

9 zeigt das Verfahren zum Speichern von Daten in dem Funktionsdatenselektionsspeicher 19, der in 6 gezeigt ist. In dem Funktionsdatenselektionsspeicher 19 kann auf den Speicher zum Speichern von Funktionsdaten zugegriffen werden, indem die Reihen- oder Spaltenrichtung in einem Speicherarray spezifiziert wird. Das heißt, Funktionsdaten werden durch das Spezifizieren einer Reihen- oder Spaltennummer und des Inhaltes des Bits der Reihe oder der Spalte beschrieben. 9 shows the method for storing data in the function data selection memory 19 who in 6 is shown. In the function data selection memory 19 For example, the memory for storing function data may be accessed by specifying the row or column direction in a memory array. That is, function data is described by specifying a row or column number and the content of the row or column bit.

10 ist ein Blockdiagramm, das die Konfiguration der dritten Ausführungsform der Funktionsdateneinstelleinheit zeigt. Die in 10 gezeigte Ausführungsform unterscheidet sich von der zweiten Ausführungsform, die in 6 gezeigt ist, nur darin, daß ein Logikzellenbibliotheksdatenspeicher 20 in 10 hinzugekommen ist. Der Logikzellenbibliotheksdatenspeicher 20 speichert vorläufig Daten der Schaltungen, die in der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 häufig verwendet werden, wie zum Beispiel Daten eines Satzes von Logikzellen mit einer spezifischen Funktion, wie etwa ein 8-Bit-Register, ein 32-Bit-Addierer, etc., als Bibliotheksdaten. Der Logikzellenbibliotheksdatenspeicher 20 speichert keine duplizierten Daten von ein und derselben Logikschaltung. 10 Fig. 10 is a block diagram showing the configuration of the third embodiment of the function data setting unit. In the 10 The embodiment shown differs from the second embodiment shown in FIG 6 is shown only in that a logic cell library data memory 20 in 10 has been added. The logic cell library data store 20 preliminarily stores data of the circuits included in the device (a computer or a data processing device) 11 are frequently used, such as data of a set of logic cells having a specific function such as an 8-bit register, a 32-bit adder, etc. as the library data. The logic cell library data store 20 does not store duplicate data from one and the same logic circuit.

11 zeigt die Operationen gemäß der dritten Ausführungsform der Funktionsdateneinstelleinheit 12, die in 10 gezeigt ist. Die Beschreibungen der Operationen, die auch in 7 gezeigt sind, sind hier weggelassen. Anders als bei den in 7 gezeigten Operationen werden Bibliotheksdaten in dem Bibliotheksdatenspeicher 20 gespeichert, in der Anordnung eingestellt und aus dem Bibliotheksdatenspeicher 20 zu der CPU gelesen. 11 Fig. 15 shows the operations according to the third embodiment of the function data setting unit 12 , in the 10 is shown. The descriptions of the operations that are also in 7 are shown are omitted here. Unlike the in 7 The operations shown become library data in the library data memory 20 stored, set in the arrangement and from the library data memory 20 read to the CPU.

Wenn Bibliotheksdaten gespeichert werden, wird eine Instruktion zum Speichern von Bibliotheksdaten, die in der Anordnung häufig verwendet werden, bei #1 von der CPU ausgegeben und bei #2 durch die externe E/A-Steuereinheit 18 zu der Speichersteuereinheit 17 übermittelt. Bei #3 werden die zu registrierenden Bibliotheksdaten in dem Bibliotheksdatenspeicher 20 gespeichert. Beim Datenregistrieren wird der Prozeß auf solch eine Weise ausgeführt, daß Funktionsdaten von ein und derselben Logikschaltung nicht als Duplikat gespeichert werden. Wenn Daten in der Anordnung eingestellt werden, werden notwendige Bibliotheksdaten bei #7 zu der internen Betriebsmittelverwaltungseinheit 14 gesendet.When storing library data, an instruction for storing library data frequently used in the array is output from the CPU at # 1 and from the external I / O control unit at # 2 18 to the memory controller 17 transmitted. At # 3, the library data to be registered becomes the library data memory 20 saved. In data registration, the process is executed in such a manner that function data of one and the same logic circuit is not stored as a duplicate. When data in the array is set, necessary library data at # 7 becomes the internal resource management unit 14 Posted.

Wenn die in dem Bibliotheksdatenspeicher 20 gespeicherten Bibliotheksdaten zu der CPU gelesen werden, wird eine Instruktion von der CPU wie beim Datenregistrieren ausgegeben. Die gespeicherten Daten werden bei #4 bis #6 durch die Speichersteuereinheit 17 und die externe E/A-Steuereinheit 18 zu der CPU übertragen.If in the library data store 20 stored library data is read to the CPU, an instruction from the CPU is like issued during data registration. The stored data is at # 4 to # 6 by the memory controller 17 and the external I / O control unit 18 transferred to the CPU.

12 zeigt die Bibliotheksdaten einer Logikzelle. Die Bibliothek einer Logikzelle bezieht sich auf eine Einheit, die durch die Aufstellung und Verbindung von Logikzel len in der Anordnung, wie z. B. die oben beschriebene PLD, das FPGA, der ASIC, etc., eine spezifische Funktion ausführen kann. Die Bibliotheksdaten von Logikzellen werden in dem Logikzellenbibliotheksdatenspeicher 20 als Code im Datenformat für die Anzeige der Anordnung gespeichert. 12 shows the library data of a logic cell. The library of a logic cell refers to a unit by the establishment and connection of Logikzel len in the arrangement, such. For example, the PLD described above, the FPGA, the ASIC, etc., can perform a specific function. The library data of logic cells are stored in the logic cell library data memory 20 stored as code in the data format for the display of the arrangement.

13 ist ein Blockdiagramm, das die Konfiguration der vierten Ausführungsform der Funktionsdateneinstelleinheit 12 zeigt. Die vorliegende Erfindung unterscheidet sich von der in 10 gezeigten dritten Ausführungsform darin, daß sowohl der Funktionsdatenselektionsspeicher 19 als auch der Logikzellenbibliotheksdatenspeicher 20 mit einer Datenkomprimierungs-/-expansionseinheit 21 versehen ist. Die Datenkomprimierungs-/-expansionseinheit 21 komprimiert und expandiert Daten, wenn Daten unter Verwendung des Funktionsdatenselektionsspeichers 19 und des Logikzellenbibliotheksdatenspeichers 20 eingegeben und ausgegeben werden. Die Operationen der Datenkomprimierungs-/-expansionseinheit 21 werden durch die Speichersteuereinheit 17 gesteuert. 13 FIG. 10 is a block diagram showing the configuration of the fourth embodiment of the function data setting unit. FIG 12 shows. The present invention differs from that in 10 shown third embodiment in that both the function data selection memory 19 as well as the logic cell library data store 20 with a data compression / expansion unit 21 is provided. The data compression / expansion unit 21 compresses and expands data when using the function data selection memory 19 and the logic cell library data store 20 entered and issued. The operations of the data compression / expansion unit 21 are done by the memory controller 17 controlled.

14A und 14B zeigen die Operationen gemäß der vierten Ausführungsform der Funktionsdateneinstelleinheit, die in 13 gezeigt ist. In 14A gibt die CPU bei #1 und #2 durch eine externe E/A-Steuereinheit 18 eine Instruktion an die Speichersteuereinheit 17 aus, um Daten in dem Funktionsdatenselektionsspeicher 19 zu speichern und Daten in dem Logikzellenbibliotheksdatenspeicher 20 zu registrieren. Wenn die Daten gespeichert werden, komprimiert die Datenkomprimierungs-/-expansionseinheit die Daten bei #3 auf Bitebene bei der Instruktion von der Speichersteuereinheit 17. Die Daten in einer Bitfolge, die einer Reihe oder einer Spalte in einem Speicherarray entsprechen, werden in dem Funktionsdatenselektionsspeicher 19 gespeichert, und die Bibliotheksdaten einer Logikzelle werden in dem Bibliotheksdatenspeicher 20 gespeichert. 14A and 14B show the operations according to the fourth embodiment of the Funktionsdateneinstelleinheit that in 13 is shown. In 14A Gives the CPU at # 1 and # 2 through an external I / O control unit 18 an instruction to the memory controller 17 out to data in the function data selection memory 19 to store and data in the logic cell library data store 20 to register. When the data is stored, the data compression / expansion unit compresses the data at # 3 at bit level in the instruction from the memory controller 17 , The data in a bit string corresponding to a row or a column in a memory array is stored in the function data selection memory 19 stored, and the library data of a logic cell are in the library data memory 20 saved.

Wenn zum Beispiel gespeicherte Daten auf Aufforderung von der Anordnung zu der Anordnung übertragen werden, werden die Daten, die auf Aufforderung von der Anordnung bei #5 aus dem Funktionsdatenselektionsspeicher 19 bei #6 gelesen werden, und die Daten, die bei #7 aus dem Bibliotheksdatenspeicher 20 gelesen werden, auf Bitebene extrahiert und dann als wiederhergestellte Daten zu der Anordnung übertragen.For example, when stored data is transferred from the device to the device upon request, data requested at the device # 5 from the device becomes the function data selection memory 19 read at # 6, and the data at # 7 from the library data store 20 are read, extracted at the bit level and then transferred to the device as recovered data.

In 14B wird, wenn die CPU auf den Inhalt des Funktionsdatenselektionsspeichers 19 oder des Logikzellenbibliotheksdatenspeichers 20 Bezug nimmt, bei #8 und #9 eine Instruktion zu der Speichersteuereinheit 17 gesendet und bei #10 oder #11 zu dem Funktionsdatenselektionsspeicher 19 oder dem Bibliotheksdatenspeicher 20 weitergeleitet. Die Daten, die aus dem Funktionsdatenselektionsspeicher 19 oder dem Bibliotheksdatenspeicher 20 gelesen werden, werden durch die Datenkomprimierungs-/-expansionseinheit 21 auf Bitebene expandiert. Die wiederhergestellten Daten werden bei #12 oder #13 zu der Speichersteuereinheit 17 gesendet und bei #14 und #15 zu der CPU gesendet.In 14B when the CPU is on the contents of the function data selection memory 19 or the logic cell library data store 20 Referring to # 8 and # 9, an instruction to the memory controller 17 sent at # 10 or # 11 to the function data selection memory 19 or the library data store 20 forwarded. The data resulting from the function data selection store 19 or the library data store 20 are read by the data compression / expansion unit 21 expanded at the bit level. The recovered data becomes # 12 or # 13 to the memory controller 17 sent and sent to the CPU at # 14 and # 15.

15 zeigt ein Beispiel für die Datenkomprimierung und -expansion. Die Daten, die von der CPU oder der Anordnung eines Computers übertragen werden, sind aus einem Header und einem Codebereich gebildet, wie links in 15 gezeigt. Der Header speichert einen Code, durch den die Daten erkannt werden, die in eine Bibliothek zu bringen sind. Der Code gibt an, daß Daten bei LibCd = 0 nicht in eine Bibliothek gebracht werden, aber bei LibCd = 1 in eine Bibliothek gebracht werden. 15 shows an example of data compression and expansion. The data transferred from the CPU or the arrangement of a computer is formed of a header and a code area as shown on the left in FIG 15 shown. The header stores a code that identifies the data that is to be brought into a library. The code indicates that data at LibCd = 0 is not put into a library, but at LibCd = 1 it is put into a library.

Wenn Daten komprimiert werden, werden die übertragenen Daten aus dem ersten Datenbereich gelesen. Nach dem Komprimieren werden die Daten in dem Funktionsdatenselektionsspeicher 19 gespeichert, der einen Raum hat, der jenem der Anordnung ähnlich ist, das heißt, die Daten werden in einer Bitfolge entsprechend einer Einheit einer Reihe oder einer Spalte in einem Speicherarray gespeichert. Dann wird in Abhängigkeit von dem Inhalt des Headers bestimmt, ob die gespeicherten Daten in dem Bibliotheksdatenspeicher 20 zu speichern sind oder nicht. Bei diesem Beispiel ist der zweite Datenbereich von oben für eine Bibliothek spezifiziert. Der Inhalt des Codebereichs, das heißt, Datencode Bibliothek 1, wird in dem Bibliotheksdatenspeicher 20 gespeichert. Dabei wird die Datenmenge vom Datencode Bibliothek 1 in dem führenden Mengenbereich (CNT) gespeichert.When data is compressed, the transmitted data is read from the first data area. After compression, the data in the function data selection memory becomes 19 stored, which has a space similar to that of the arrangement, that is, the data is stored in a bit string corresponding to a unit of a row or a column in a memory array. Then, depending on the content of the header, it is determined whether the stored data is in the library data memory 20 to save or not. In this example, the second data area is specified from the top for a library. The content of the code area, that is, data code library 1, is stored in the library data store 20 saved. The amount of data from the data code library 1 is stored in the leading quantity area (CNT).

Dann wird der Inhalt des Codebereichs, der in dem Funktionsdatenselektionsspeicher 19 gespeichert ist, als Zeiger Bibliothek 1 erkannt und tatsächlich auf solch eine Weise umgeschrieben, daß auf die Adresse gezeigt wird, an der die Daten gespeichert sind. Ähnlich wird der vierte Datenbereich von oben in dem Funktionsdatenselektionsspeicher 19 gespeichert, und der Inhalt des Codebereichs wird auf die Adresse umgeschrieben, an der die zuvor eingestellten Bibliotheksdaten gespeichert sind. Somit kann die Menge von Daten reduziert werden, die in dem Funktionsdatenselektionsspeicher 19 gespeichert werden.Then, the content of the code area stored in the function data selection memory 19 is stored as a pointer recognized library 1 and actually rewritten in such a way that is pointed to the address where the data is stored. Similarly, the fourth data area becomes the top of the function data selection memory 19 is stored and the contents of the code area is rewritten to the address where the previously set library data is stored. Thus, the amount of data stored in the function data selection memory can be reduced 19 get saved.

Wenn Daten expandiert werden, werden Daten in umgekehrter Reihenfolge der Datenkomprimierung gelesen, das heißt, von oben in dem Funktionsdatenselektionsspeicher 19. Dann wird bestimmt, daß die zweiten Daten in eine Bibliothek gebracht wurden, und auf den Inhalt der Adresse in dem Bibliotheksdatenspeicher 20, auf die der Zeiger zeigt, wird durch den Inhalt des Zeigers Bibliothek 1 Bezug genommen. In dem Speicher werden die notwendigen Daten für den Datencode Bibliothek 1 gemäß dem Inhalt des führenden Mengenbereichs CNT gelesen. Dann werden dieselben Prozesse wiederholt und die Daten expandiert. Eine Schaltung zum Ausführen solcher Operationen kann entsprechend der Anordnung, wie etwa einem FPGA, unter Verwendung einer Hardwaresprache, wie beispielsweise VHDL, erzeugt werden.As data expands, Da becomes read in reverse order of the data compression, that is, from the top of the function data selection memory 19 , Then, it is determined that the second data has been put into a library and the contents of the address in the library data memory 20 that pointed to by the pointer is referred to by the contents of the pointer library 1. In the memory, the necessary data for the data code library 1 is read in accordance with the content of the leading quantity area CNT. Then the same processes are repeated and the data is expanded. A circuit for performing such operations may be generated according to the arrangement, such as an FPGA, using a hardware language such as VHDL.

16 ist ein Blockdiagramm, das die fünfte Ausführungsform der Funktionsdateneinstelleinheit zeigt. Die Ausführungsform unterscheidet sich von der in 5 gezeigten ersten Ausführungsform nur darin, daß eine DMA-(Direktspeicherzugriffs-)-Datentransferspeichersteuereinheit 22 die Speichersteuereinheit 17 ersetzt. Die DMA-Datentransferspeichersteuereinheit 22 transferiert Daten durch das DMA-System bei einer Instruktion von der CPU zu dem Funktionsdatenselektionsspeicher 16. 16 Fig. 10 is a block diagram showing the fifth embodiment of the function data setting unit. The embodiment differs from that in FIG 5 only in that a DMA (direct memory access) data transfer memory control unit 22 the memory controller 17 replaced. The DMA Data Transfer Memory Controller 22 transfers data through the DMA system upon instruction from the CPU to the function data selection memory 16 ,

17 zeigt den DMA-Transfer von Daten, die in 16 beschrieben sind. Wenn in 17 die CPU bei #1 eine Instruktion zum Schreiben von DMA-Daten ausgibt, werden bei #2 eine Datenspeicherstartadresse in dem Funktionsdatenselektionsspeicher 16 und die Anzahl der Transferdatenelemente durch die externe E/A-Steuereinheit 18 zu der DMA-Datentransferspeichersteuereinheit 22 übertragen. Dann wird die spezifizierte Anzahl der Datenelemente übertragen, und die Daten werden bei #3 in dem Funktionsdatenselektionsspeicher 16 gespeichert. 17 shows the DMA transfer of data in 16 are described. When in 17 When the CPU at # 1 issues an instruction to write DMA data, # 2 becomes a data memory start address in the function data selection memory 16 and the number of transfer data items through the external I / O control unit 18 to the DMA data transfer memory controller 22 transfer. Then, the specified number of the data items is transmitted, and the data becomes # 3 in the function data selection memory 16 saved.

Wenn die CPU bei #1 und #2 eine Instruktion zum Lesen von DMA-Daten ausgibt, werden eine Datenlesestartadresse und die Anzahl der Transferdatenelemente, ähnlich wie oben beschrieben, zu der DMA-Datentransferspeichersteuereinheit 22 übertragen. Dann wird bei #4 die spezifizierte Anzahl von Datenelementen aus dem Funktionsdatenselektionsspeicher 16 gelesen und bei #5 und #6 durch die DMA-Datentransferspeichersteuereinheit 22 und die externe E/A-Steuereinheit 18 zu der CPU transferiert.When the CPU at # 1 and # 2 issues an instruction for reading DMA data, a data read start address and the number of transfer data items, similarly as described above, become the DMA data transfer memory control unit 22 transfer. Then, at # 4, the specified number of data items is retrieved from the function data selection memory 16 read at # 5 and # 6 by the DMA data transfer control unit 22 and the external I / O control unit 18 transferred to the CPU.

18 ist ein Blockdiagramm, das die erste Ausführungsform der Ausführungszustandsstapeleinheit 13 zeigt. In 18 umfaßt die Ausführungszustandsstapeleinheit 13 einen Aufforderungsausgabezustandsinformationsspeicherbereich 23 zum Speichern der Informationen über den Zustand einer Schaltung, etc., wenn eine Datensicherungsaufforderung von der Anordnung ausgegeben wird; einen Wiederherstellungsbereichsinformationsspeicherbereich 24, der ein Wiederherstellungsbereich von gesicherten Daten in der Anordnung ist; einen Stapelspeicher, der einen Speicherbereich für wiederherstellte Daten 25 zum Speichern von wiederhergestellten Daten enthält, die die Struktur einer Schaltung, etc. angeben; eine Stapelspeichersteuereinheit 26 zum Steuern des Speichers; eine externe E/A-Steuereinheit 27 zum Steuern der Dateneingabe/-ausgabe für die bzw. von der CPU eines Computers; und einen internen Systembus 28 zum Senden und Empfangen von Daten zu bzw. von anderen Einheiten. 18 FIG. 10 is a block diagram illustrating the first embodiment of the execution state stack unit. FIG 13 shows. In 18 includes the execution state stack unit 13 a prompt output state information storage area 23 for storing the information about the state of a circuit, etc., when a backup request is issued from the device; a recovery area information storage area 24 which is a recovery area of backed up data in the array; a stack that holds a restored data storage area 25 for storing recovered data indicating the structure of a circuit, etc .; a stack memory controller 26 for controlling the memory; an external I / O control unit 27 for controlling data input / output to and from the CPU of a computer; and an internal system bus 28 to send and receive data to and from other units.

19 ist ein Blockdiagramm, das die zweite Ausführungsform der Ausführungszustandsstapeleinheit zeigt. Die zweite Ausführungsform, die in 19 gezeigt ist, unterscheidet sich von der ersten Ausführungsform von 18 nur darin, daß die Stapelspeichersteuereinheit 26 mit einer Komprimierungs-/Expansionseinheit 29 zum Komprimieren und Expandieren von Daten versehen ist. 19 Fig. 10 is a block diagram showing the second embodiment of the execution state stack unit. The second embodiment, which is in 19 is different from the first embodiment of FIG 18 only in that the stack memory control unit 26 with a compression / expansion unit 29 for compressing and expanding data.

20A, 20B und 20C zeigen die Operationen gemäß der ersten Ausführungsform der Ausführungszustandsstapeleinheit, die in 18 gezeigt ist. Die Operationen der Ausführungszustandsstapeleinheit 13 werden durch die CPU, etc. ausgeführt, durch Bezugnahme auf die Daten, die in der Ausführungszustandsstapeleinheit gespeichert sind, über den Zustand von internen Funktionen der Anordnung, die gerade ausgeführt werden, oder durch das Sichern und Wiederherstellen der Daten über den Zustand von internen Funktionen, die gerade ausgeführt werden, auf Aufforderung von der Anordnung. 20A . 20B and 20C show the operations according to the first embodiment of the execution state stack unit, which in 18 is shown. The operations of the execution state stack unit 13 are executed by the CPU, etc., by referring to the data stored in the execution state stack unit, the state of internal functions of the device being executed, or the saving and restoring of the state of internal functions which are being executed at the request of the arrangement.

20A zeigt die Operationen in ersterem Fall. Eine Instruktion unter Bezugnahme auf Daten wird bei #1 von der CPU durch die externe E/A-Steuereinheit 27 bei #2 an den internen Systembus 28 ausgegeben. Als Antwort auf die Instruktion werden bei #3 und #4 Daten zu dem internen Systembus 28 zurückgeführt, wenn auf die Aufforderungsausgabezustandsinformationen Bezug genommen wird; bei #5 und #6, wenn auf Wiederherstellungsbereichsdaten Bezug genommen wird; und bei #7 und #8, wenn auf wiederhergestellte Daten Bezug genommen wird. Die zurückgeführten Daten werden bei #9 und #10 durch die externe E/A-Steuereinheit 27 zu der CPU übertragen. 20A shows the operations in the former case. An instruction referring to data becomes # 1 from the CPU through the external I / O control unit 27 at # 2 to the internal system bus 28 output. In response to the instruction, # 3 and # 4 become data on the internal system bus 28 when the request output state information is referenced; at # 5 and # 6, when referring to recovery area data; and at # 7 and # 8 when referring to recovered data. The returned data will be at # 9 and # 10 through the external I / O control unit 27 transferred to the CPU.

20B zeigt die Operation zum Sichern von Daten in letzterem Fall. Eine Instruktion zum Sichern von Daten von der internen Betriebsmittelverwaltungseinheit 14 in der Anordnung, dem Computer oder der Anordnung (einem Computer oder einer Datenverarbeitungsvorrichtung) 11 wird bei #11 zu der Stapelspeichersteuereinheit 26 übertragen. Die Stapelspeichersteuereinheit 26 speichert bei #12 Aufforderungsausgabezustandsinformationen, Wiederherstellungsbereichsinformationen und wiederhergestellte Daten durch den internen Systembus 28 bei #13, #14 und #15. Die Daten, die zu sichern sind, werden zum Beispiel durch ein First-in-last-out-(FILO)-System geschrieben und gelesen. 20B shows the operation for backing up data in the latter case. An instruction to save data from the internal resource management unit 14 in the arrangement, the computer or the arrangement (a computer or a data processing device) 11 at # 11 becomes the stack memory controller 26 transfer. The stack memory controller 26 saves at # 12 Prompt output state information, recovery area information, and recovered data through the internal system bus 28 at # 13, # 14 and # 15. For example, the data to be backed up is written and read by a first-in-last-out (FILO) system.

20C zeigt die Datenwiederherstellungsoperation in letzterem Fall. Eine Instruktion zum Wiederherstellen von Daten von der internen Betriebsmittelverwaltungseinheit 14 wird bei #16 zu der Stapelspeichersteuereinheit 26 übertragen. Die Stapelspeichersteuereinheit 26 gibt bei #17 eine Instruktion durch den internen Systembus 28 aus und liest bei #18, #19 und #20 die Aufforderungsausgabezustandsinformationen, die Wiederherstellungsbereichsinformationen und die wiederhergestellten Daten. Die Daten werden bei #21 durch den internen Systembus 28 zu der Stapelspeichersteuereinheit 26 übertragen, und bei #22 werden die wiederhergestellten Daten zu der Anordnung übertragen. 20C shows the data recovery operation in the latter case. An instruction to recover data from the internal resource management unit 14 at # 16 becomes the stack memory controller 26 transfer. The stack memory controller 26 at # 17 gives an instruction through the internal system bus 28 # 18, # 19, and # 20 reads the prompt output state information, recovery area information, and recovered data. The data is at # 21 through the internal system bus 28 to the stack memory controller 26 at # 22, the recovered data is transferred to the array.

21A, 21B und 21C zeigen die Operation zum Sichern und wiederherstellen von Daten gemäß der zweiten Ausführungsform der Ausführungszustandsstapeleinheit, die in 18 gezeigt ist. Die Ausführungsform unterscheidet sich von jener in 20A, 20B und 20C darin, daß die Komprimierungs-/Expansionseinheit 29 Daten komprimiert, wenn die Daten gespeichert werden, und Daten expandiert, wenn die Daten gelesen werden. 21A . 21B and 21C show the operation for saving and restoring data according to the second embodiment of the execution state stack unit shown in FIG 18 is shown. The embodiment is different from that in FIG 20A . 20B and 20C in that the compression / expansion unit 29 Data compresses when the data is stored, and data expands when the data is read.

21A zeigt die Operation zur Bezugnahme auf Daten durch die CPU, etc. Die Operation ist der in 20A gezeigten Operation ähnlich, unterscheidet sich von ihr jedoch wie folgt. Da Daten expandiert werden sollen, wird bei #2 eine Instruktion zur Bezugnahme auf Daten von der externen E/A-Steuereinheit 27 zu der Stapelspeichersteuereinheit 26 übertragen, expandiert die Komprimierungs-/Expansionseinheit 29 die Daten auf Bitebene, die durch die Stapelspeichersteuereinheit 26 gelesen werden, und werden die wiederhergestellten Daten bei #8 und #9 durch die externe E/A-Steuereinheit 27 zu der CPU übertragen. 21A shows the operation for referring to data by the CPU, etc. The operation is the one in 20A However, similar to the operation shown, but differs from her as follows. As data is to be expanded, # 2 is an instruction to reference data from the external I / O control unit 27 to the stack memory controller 26 transferred, the compression / expansion unit expands 29 the bit-level data passed through the stack memory controller 26 and the recovered data at # 8 and # 9 are read by the external I / O control unit 27 transferred to the CPU.

21B zeigt die Operation zum Sichern von Daten auf Aufforderung, um die Daten zu sichern, von der Anordnung. Die Operation ist der in 20B gezeigten Operation ähnlich, unterscheidet sich von ihr jedoch darin, daß die Komprimierungs-/Expansionseinheit 29 Daten, die zu sichern sind, auf Bitebene komprimiert, und die komprimierten Daten werden im Stapelspeicher gespeichert. 21B shows the operation to back up data on demand to save the data from the array. The surgery is the in 20B However, the operation shown is similar to that in that the compression / expansion unit 29 Data to be backed up is compressed at bit-level and the compressed data is stored in the stack.

21C zeigt die Operation zum Wiederherstellen von Daten. Die Operation ist der in 20C gezeigten Operation ähnlich und unterscheidet sich von ihr lediglich darin, daß die Komprimierungs-/Expansionseinheit 29 die Daten, die bei #20 gelesen werden, auf Bitebene expandiert, und bei #21 werden die Daten zu der Anordnung übertragen. 21C shows the operation to recover data. The surgery is the in 20C similar operation and differs from her only in that the compression / expansion unit 29 the data read at # 20 expands at the bit-level, and at # 21 the data is transferred to the array.

22 zeigt die Daten, die in der Ausführungszustandsstapeleinheit gesichert und in der Anordnung bei Bedarf wiederhergestellt werden, über den Zustand von gerade ausgeführten internen Funktionen der Anordnung. Die Daten existieren in drei Typen, das heißt, als Aufforderungsausgabezustandsinformationen, die den Zustand angeben, wenn eine Sicherungsaufforderung ausgegeben wird; als Wiederherstellungsbereich, der den Bereich angibt, worin die Daten in der Anordnung wiederhergestellt werden sollten; und als wiederhergestellte Daten, die die Struktur einer Schaltung, etc. angeben. Diese drei Datentypen werden in den oben beschriebenen Bereichen 23, 24 und 25 gespeichert. Die Aufforderungsausgabezustandsinformationen, die in 22 gezeigt sind, sind Daten auf Schaltungsverbindungsebene als interne Funktion einer Anordnung. Der Wiederherstellungsbereich gibt den Bereich an, in dem die Schaltung in der Anordnung plaziert ist. Die wiederhergestellten Daten sind Funktionsdaten, die die Struktur der Schaltung selbst angeben. 22 FIG. 12 shows the data saved in the execution state stack unit and restored in the array when needed about the state of internal functions of the device being executed. The data exists in three types, that is, as prompt output state information indicating the state when a backup request is issued; as a recovery area indicating the area in which the data in the array should be restored; and as recovered data indicating the structure of a circuit, etc. These three data types are in the areas described above 23 . 24 and 25 saved. The prompt output state information that is in 22 As shown, circuit-level data is an internal function of an arrangement. The recovery area indicates the area in which the circuit is placed in the array. The recovered data is function data indicating the structure of the circuit itself.

Die unnötigen Daten unter den Daten, die in der Ausführungszustandsstapeleinheit 13 gesichert sind, werden unter der Steuerung der Stapelspeichersteuereinheit 26 gelöscht. Die Daten werden gelöscht, wenn ein Signal, das das Ende eines Prozesses angibt (ein Teil der Aufforderungsausgabezustandsinformationen), eingegeben wird, nachdem es zum Beispiel durch das Vollenden der Operation der in der Anordnung eingestellten Schaltung getriggert wurde.The unnecessary data among the data stored in the execution state stack unit 13 are secured under the control of the stack memory controller 26 deleted. The data is cleared when a signal indicating the end of a process (a part of the request output state information) is input after being triggered by, for example, completing the operation of the circuit set in the device.

23 zeigt die Operation zum Löschen der Daten. In 23 ist ein Eingangssignal C1 1 und wird nach 3 Taktimpulsen s3 = 0. Falls zu dieser Zeit die Operation der Schaltung vollendet ist und die gespeicherten Daten zu löschen sind, werden dann andere notwendige Daten in dem Bereich darübergeschrieben, der die zu löschenden Daten bis jetzt gespeichert hat. Diese Operation wird dadurch ausgeführt, indem die Adresse verändert wird, an die die Daten geschrieben werden. 23 shows the operation for deleting the data. In 23 If the operation of the circuit is completed at this time and the stored data is to be erased, then other necessary data is overwritten in the area storing the data to be erased so far Has. This operation is performed by changing the address to which the data is written.

24 ist ein Blockdiagramm, das die Konfiguration gemäß der ersten Ausführungsform der Anordnung zeigt, die eine interne Betriebsmittelverwaltungseinheit enthält. Die in 24 gezeigte interne Betriebsmittelverwaltungseinheit ist für jeden der Sätze von Logikzellen vorgesehen, die zum dynamischen Einstellen von Funktionen in der Anordnung in der Lage sind, das heißt, ein Logikzellensatz 31 und eine Logikzellenkonfigurationsschaltung 32 zum Eingeben und Ausgeben von Funktionsdaten normalerweise für eine Vielzahl von Logikzellensätzen 31, und umfaßt ein Flagregister 33 zum Speichern normalerweise einer Vielzahl von Flags, die den Operationszustand eines entsprechenden Logikzellensatzes 31 angeben, wie zum Beispiel eines Flags, das einen benutzten/unbenutzten Zustand angibt; eine Flag-Schreib-/Leseeinheit 34 zum Setzen/Freigeben eines Flags für jedes Flagregister 33; eine Flagdateneingabe-/-ausgabeeinheit 35 zum Senden und Empfangen des Inhaltes eines Flags zu der bzw. von der Ausführungszustandsstapeleinheit 13; und eine Überwachungszeitlagenerzeugungseinheit 36 zum Erzeugen einer Unterbrechung zum Aktualisieren des Inhaltes des Flagregisters 33. Das Flagregister 33 umfaßt zum Beispiel ein Flipflop. Wenn eine Vielzahl von Logikzellensätzen 31 vorhanden ist, sind die Flagregister in einem Kaskadenformat verbunden. 24 FIG. 10 is a block diagram showing the configuration according to the first embodiment of the arrangement including an internal resource management unit. FIG. In the 24 The internal resource management unit shown is provided for each of the sets of logic cells capable of dynamically adjusting functions in the array, that is, a set of logic cells 31 and a logic cell configuration circuit 32 for inputting and outputting function data normally for a plurality of logic cell sets 31 , and includes a flag register 33 for storing normally a plurality of flags representing the operation state of a corresponding logic cell set 31 such as a flag indicating a used / unused state; a flag read / write unit 34 for setting / releasing a flag for each flag register 33 ; a flag data input / output unit 35 for sending and receiving the content of a flag to and from the execution state stack unit 13 ; and a monitoring timing generation unit 36 for generating an interrupt for updating the content of the flag register 33 , The flag register 33 includes, for example, a flip-flop. If a variety of logic cell sets 31 is present, the flag registers are connected in a cascade format.

25 zeigt die Operationen der internen Betriebsmittelverwaltungseinheit gemäß der ersten Ausführungsform der Anordnung, die die interne Betriebsmittelverwaltungseinheit enthält. In 25 stellt auf eine Instruktion zum Einstellen von Funktionsdaten von der Funktionsdateneinstelleinheit 12 die Logikzellenkonfigurationsschaltung 32 Funktionsdaten für jeden der Logikzellensätze 31 ein. 25 FIG. 12 shows the operations of the internal resource management unit according to the first embodiment of the arrangement including the internal resource management unit. In 25 sets to an instruction for setting function data from the function data setting unit 12 the logic cell configuration circuit 32 Function data for each of the logic cell sets 31 one.

Der Inhalt des Flagregisters 33 für jeden der Logikzellensätze 31 wird von jedem Flagregister 33 synchron mit einem Abtasttakt als Unterbrechung, der durch die Überwachungszeitlagenerzeugungseinheit 36 erzeugt wird, ausgegeben, und die Daten werden zum Beispiel durch die Flagdateneingabe-/-ausgabeeinheit 35 zu der Ausführungszustandsstapeleinheit 13 gesendet, und die Ausführungszustandsstapeleinheit 13 nimmt auf diese Bezug. Das Flagregister 33 umfaßt zum Beispiel, wie oben beschrieben, ein Flipflop. Wie in dem unteren Teil von 25 gezeigt, wird der Inhalt von jedem Flagregister 33 (wie bei einem Schieberegister) synchron mit jeweiligen Abtasttakten kontinuierlich gelesen.The content of the flag register 33 for each of the logic cell sets 31 is from each flag register 33 in synchronism with a sampling clock as an interrupt by the monitoring timing generation unit 36 is generated and output, for example, by the flag data input / output unit 35 to the execution state stack unit 13 sent, and the execution state stack unit 13 takes on this reference. The flag register 33 For example, as described above, a flip-flop includes. As in the lower part of 25 shown, the content of each flag register 33 (as with a shift register) read continuously in synchronism with respective sampling clocks.

26 ist ein Blockdiagramm, das die Konfiguration der zweiten Ausführungsform der Anordnung zeigt, die eine interne Betriebsmittelverwaltungseinheit enthält. Die Ausführungsform unterscheidet sich von der ersten Ausführungsform, die in 24 gezeigt ist, darin, daß kein Flagregister 33 oder keine Flagdateneingabe-/-ausgabeeinheit 35 entsprechend jedem Logikzellensatz 31 vorhanden ist, aber es ist eine Speichertabelle 38 vorhanden, die durch einen internen Systembus 37 mit der Flag-Schreib-/Leseeinheit 34 entsprechend jedem Logikzellensatz 31 verbunden ist; und eine Speichertabellen-Schreib-/Leseeinheit 39 zum Schreiben und Lesen von Daten in die bzw. aus der Speichertabelle 38. Die Speichertabelle 38 entspricht dem Flagregister 33, das entsprechend jedem der Logikzellensätze 31 vorgesehen ist, und speichert kollektiv Flags, die den Operationszustand von jedem Logikzellensatz angeben, wie zum Beispiel einen benutzten/unbenutzten Zustand. Die Speichertabellen-Schreib-/Leseeinheit 39 entspricht der Flagdateneingabe-/-ausgabeeinheit 35 von 24 und sendet und empfängt die Daten über den Inhalt von Flags zu der bzw. von der Ausführungszustandsstapeleinheit 13. Die Überwachungszeitlagenerzeugungseinheit 36 erzeugt eine Unterbrechung, um den Inhalt, das heißt Flagdaten, der Speichertabelle 38 zu lesen oder in vorbestimmten Intervallen zu aktualisieren, wie die Überwachungszeitlagenerzeugungseinheit 36 von 24. 26 Fig. 10 is a block diagram showing the configuration of the second embodiment of the arrangement including an internal resource management unit. The embodiment differs from the first embodiment described in FIG 24 is shown in that no flag register 33 or no flag data input / output unit 35 according to each logic cell set 31 is present, but it is a memory table 38 available through an internal system bus 37 with the flag read / write unit 34 according to each logic cell set 31 connected is; and a memory table write / read unit 39 for writing and reading data in and out of the memory table 38 , The memory table 38 corresponds to the flag register 33 , that according to each of the logic cell sets 31 is provided, and collectively stores flags indicating the operation state of each logic cell set, such as a used / unused state. The memory table read / write unit 39 corresponds to the flag data input / output unit 35 from 24 and sends and receives the data about the contents of flags to and from the execution state stack unit 13 , The monitoring timing generation unit 36 generates an interrupt to the contents, that is flag data, of the memory table 38 to read or update at predetermined intervals, such as the monitoring timing generation unit 36 from 24 ,

27 zeigt die Operation der internen Betriebsmittelverwaltungseinheit, die in 26 gezeigt ist. In 27 werden Funktionsdaten in jedem der Logikzellensätze 31 bei einer Instruktion der Funktionsdateneinstelleinheit 12 wie bei den in 25 gezeigten Einstellungen eingestellt. 27 shows the operation of the internal resource management unit, which in 26 is shown. In 27 Function data in each of the logic cell sets 31 upon an instruction of the function data setting unit 12 as with the in 25 settings shown.

Falls ein Unterbrechungssignal zur Verwendung beim Aktualisieren des Inhaltes von Flags von der Überwachungszeitlagenerzeugungseinheit 36 bei #1 in vorbestimmten Intervallen zu der Speichertabellen-Schreib-/Leseeinheit 39 übertragen wird, wird dann bei #2 eine Instruktion zum Aktualisieren des Flags an die Speichertabelle 38 ausgegeben. Bei Empfang der Instruktion erhält die Speichertabelle 38 die Daten, die den Operationszustand von jedem Logikzellensatz 31 angeben, entsprechend den Flagdaten bei #4 von der Flag-Schreib-/Leseeinheit 34 entsprechend jedem Logikzellensatz 31 bei #3 durch den internen Systembus 37. So kann der Betriebsmittelnutzungszustand in der Anordnung erhalten werden.If an interrupt signal for use in updating the content of flags from the monitoring timing generation unit 36 at # 1 at predetermined intervals to the memory table write / read unit 39 is transmitted, then at # 2 an instruction for updating the flag to the memory table 38 output. Upon receipt of the instruction, the memory table is received 38 the data representing the operational state of each logic cell set 31 corresponding to the flag data at # 4 from the flag read / write unit 34 according to each logic cell set 31 at # 3 through the internal system bus 37 , Thus, the working condition state in the arrangement can be obtained.

28 ist ein Blockdiagramm, das ein Beispiel für eine praktische Konfiguration der Speichertabelle 38 von 26 zeigt. In 28 umfaßt die Speichertabelle 38 einen Dualport-Speicher 41 und einen Adressenzähler 42. Jedes Bit eines Datensignals d ist mit der Flag-Schreib-/Leseeinheit 34 entsprechend dem Logikzellensatz 31 verbunden, um einen Logikzellensatz zu spezifizieren, aus dem oder in den Daten, die den Inhalt eines Flags angeben, gelesen oder geschrieben werden, indem Daten gemäß einem Adressensi gnal a und einem Signal AS von dem Adressenzähler decodiert werden. Bei Empfang einer Instruktion von der Speichertabellen-Schreib-/Leseeinheit 39 gibt der Adressenzähler 42 eine Adresse aus, und die decodierten Daten, die den Operationszustand des Logikzellensatzes 31 angeben, werden durch den Datenweg, der mit der Flag-Schreib-/Leseeinheit 34 verbunden ist, in den Dualport-Speicher 41 geschrieben. 28 Figure 11 is a block diagram illustrating an example of a practical configuration of the memory table 38 from 26 shows. In 28 includes the memory table 38 a dual-port memory 41 and an address counter 42 , Each bit of a data signal d is with the flag read / write unit 34 according to the logic cell set 31 connected to specify a logical cell set from which or in the data indicating the content of a flag are read or written by decoding data according to an address signal a and a signal AS from the address counter. Upon receipt of an instruction from the memory table read / write unit 39 gives the address counter 42 an address, and the decoded data representing the operation state of the logic cell set 31 are specified by the data path associated with the flag read / write unit 34 connected to the dual-port memory 41 written.

29 ist ein Blockdiagramm, das die Konfiguration eines praktischen Beispiels für eine Anordnung zeigt, die die Funktion zum dynamischen Nutzen der Betriebsmittel hat und der in 2 gezeigten Basiskonfiguration gemäß der vorliegenden Erfindung entspricht. Unten ist das praktische Beispiel, das in 29 gezeigt ist, unter der Annahme beschrieben, daß eine Anordnung, die zum dynamischen Einstellen und Modifizieren der internen Funktionen in der Lage ist, in einer rekonfigurierbaren Funktionseinheit (RFU) 54 enthalten ist. 29 FIG. 10 is a block diagram showing the configuration of a practical example of an arrangement having the function of dynamically utilizing the resources, and which is shown in FIG 2 shown basic configuration according to the present inven corresponds. Below is the practical example that is in 29 is shown assuming that an arrangement capable of dynamically setting and modifying the internal functions is in a reconfigurable functional unit (RFU). 54 is included.

Das in 29 gezeigte praktische Beispiel ist eine Schaltung mit einer PCI-Schnittstelle auf der Basis eines Referenzstandards einer Personalcomputerschnittstelle als Schnittstelle zu einem Prozessor höherer Ordnung und umfaßt einen Systemcontroller 50; eine Erzeugungseinheit von asynchronen Taktsignalen (ASYCLK) 51; einen Systemspeicher 52; einen Lokalspeicher 53; und eine rekonfigurierbare Funktionseinheit (RFU) 54. Der Systemspeicher 52, der Lokalspeicher 53 und die RFU 54 bilden Bänke A und B als Gruppe. Die RFUs 54 der Bänke A und B sind durch eine Vielzahl von Signalleitungen miteinander verbunden.This in 29 A practical example shown is a circuit having a PCI interface based on a reference standard of a personal computer interface as an interface to a higher-order processor and comprising a system controller 50 ; a generation unit of asynchronous clock signals (ASYCLK) 51 ; a system memory 52 ; a local store 53 ; and a reconfigurable functional unit (RFU) 54 , The system memory 52 , the local store 53 and the RFU 54 Banks A and B form as a group. The RFUs 54 Banks A and B are interconnected by a plurality of signal lines.

Ein Plasticware-Bus (PLS BUS) 55 ist ein lokaler Bus, der für ein System (Platine) spezifisch ist. Ein Signal bei dem praktischen Beispiel hat 20 Adressensignale, die dem Speicherraum entsprechen; 32 Datensignale, die Funktionseinstelldaten und Speicherdaten angeben; 4 Speicherchipselekti ons-(MCS)-Signale zur Speicherdecodierung; 4 Ausgangsfreigabe-(OE)-Signale für die Ausgabe des Speichers; 4 Lese-/Schreib-(Rd/Wr)-Signale, die das Datenschreiben und -lesen für den Speicher angeben; 7 RFU-Signale zum Senden und Empfangen einer Instruktion zwischen dem Systemcontroller 50 und der RFU 54; ein Signal für einen Takt einer PCI-Schnittstelle, wie zum Beispiel einen Grundtakt (FOLK), der bei 33 MHz synchron ist; und ein Rücksetzsignal für ein gesamtes Platinensystem, zum Beispiel ein Systemzurücksetzen (/Sreset) zum Initialisieren der RFU.A plasticware bus (PLS BUS) 55 is a local bus specific to a system (board). A signal in the practical example has 20 address signals corresponding to the memory space; 32 data signals indicating function setting data and storage data; 4 memory chip selections (MCS) signals for memory decoding; 4 output enable (OE) signals for the output of the memory; 4 read / write (Rd / Wr) signals indicating data write and read for the memory; 7 RFU signals for sending and receiving an instruction between the system controller 50 and the RFU 54 ; a signal for a clock of a PCI interface, such as a master clock (FOLK), which is synchronous at 33 MHz; and an entire board system reset signal, for example a system reset (/ reset) to initialize the RFU.

Das führende Zeichen '/' von '/Sreset' kennzeichnet ein Signal, das bei negativer Logik effektiv ist. Ein MCS-Signal, ein OE-Signal, ein Rd/Wr-Signal und ein RFU-Signal werden für die Bänke A und B unabhängig vorgesehen. Unten sind die offiziellen Namen und die Bedeutungen von anderen Signalen beschrieben, die in 29 gezeigt sind.
ASYCLK (asynchroner Takt): asynchrones Taktsignal
OrgCLK (Originaltakt): das für eine Platine spezifische Basistaktsignal
OrgCLK/2 (Originaltakt/2): Signal mit der 1/2 Frequenz eines für eine Platine spezifischen Basistaktsignals
laddr (lokale Adresse): Adressensignal zum Zugriff auf den Lokalspeicher
ldata (lokale Daten): Datensignal zum Zugriff auf den Lokalspeicher
iodata (Eingangs-/Ausgangsdaten): Signal für die Datenkommunikation zwischen RFUs
EFU (erweiterte Funktionseinheit): bei der Kommunikation zwischen RFUs frei verwendetes Signal
/Reset (Zurücksetzen): Rücksetzsignaleingangsanschluß einer Anordnung
The leading character '/' of '/ Sreset' denotes a signal that is effective in negative logic. An MCS signal, an OE signal, an Rd / Wr signal and an RFU signal are independently provided for the banks A and B. Below are the official names and meanings of other signals described in 29 are shown.
ASYCLK (asynchronous clock): asynchronous clock signal
OrgCLK (Original Clock): the basic clock signal specific to a board
OrgCLK / 2 (Original clock / 2): Signal at the 1/2 frequency of a base clock signal specific to a board
laddr (local address): Address signal for accessing the local memory
ldata (local data): Data signal for accessing the local memory
iodata (input / output data): Signal for data communication between RFUs
EFU (extended functional unit): signal freely used during communication between RFUs
/ Reset: Reset signal input terminal of an array

30 ist ein Blockdiagramm, das die detaillierte Konfiguration des Systemcontrollers von 29 zeigt. In 30 umfaßt ein Systemcontroller einen PCI-Controller 60, der eine PCI-Schnittstelle hat; einen E/A-Controller 61, der der externen E/A-Steuereinheit 18 entspricht, die in 3 gezeigt ist; eine systemkonfigurierbare Logikeinheit (SysConf) 62, die eine zentrale Schaltung für die Operationen der Funktionsdateneinstelleinheit 12 ist, die durch die in 30 gezeigten gestrichelten Linien gekennzeichnet ist; eine Systemstapeleinheit (SysStack) 63, die eine zentrale Schaltung für die Operationen der Ausführungszustandsstapeleinheit 13 ist, die durch die gestrichelten Linien gekennzeichnet ist; einen Lokalspeichercontroller (LMcntl) 64 zum Steuern des Lokalspeichers 53, der als Arbeitsspeicher für einen Prozeß verwendet wird, der durch eine Anordnung auszuführen ist, die in der RFU 54 realisiert wird; einen Adressenzähler 65; ein Anfangswertregister (InitReg) 66 zum Speichern eines Anfangswertes für einen Zählwert des Adressenzählers 65; einen Speicher 67 zum temporären Speichern einer Adresse; Speicher 68 und 69 zum temporären Speichern von Eingangs- und Ausgangsdaten, etc. Der Controller wird zum Beispiel in einem FPGA als Anordnung erzeugt. 30 is a block diagram illustrating the detailed configuration of the system controller of 29 shows. In 30 For example, a system controller includes a PCI controller 60 having a PCI interface; an I / O controller 61 , the external I / O control unit 18 corresponds to that in 3 is shown; a system configurable logic unit (SysConf) 62 , which is a central circuit for the operations of the function data setting unit 12 is through the in 30 indicated dashed lines is indicated; a system stack unit (SysStack) 63 , which is a central circuit for the operations of the execution state stack unit 13 is, which is indicated by the dashed lines; a local memory controller (LMcntl) 64 to control the local store 53 which is used as memory for a process to be executed by an arrangement disclosed in the RFU 54 is realized; an address counter 65 ; an initial value register (InitReg) 66 for storing an initial value for a counter value of the address counter 65 ; a memory 67 for temporary storage of an address; Storage 68 and 69 for temporarily storing input and output data, etc. The controller is generated as an array in, for example, an FPGA.

Unten sind die offiziellen Namen und die Bedeutungen der Signale beschrieben, die in dem in 30 gezeigten Systemcontroller verwendet werden.
Sysconf_din (sysconf data in): Signal zur Verwendung beim Realisieren eines Dateneingabegatters von Sys Conf
sysconf_dout (sysconf data out): Signal zur Verwendung beim Realisieren eines Datenausgabegatters von Sys Conf
sysconf_rdc (sysconf read clock): Signal zur Verwendung beim Ausgeben von nachfolgenden Daten in dem FIFO-System von Sys Conf
sysconf_adr (sysconf address): Signal zur Verwendung beim Realisieren eines Adresseneingabegatters von dem FIFO-System durch Sys Conf
sysconf_adc (sysconf address counter): Signal zur Verwendung beim Realisieren eines Adresseneingabegatters eines Adressenzählers durch Sys Conf
sysconf_adcst (system address counter start): Signal zur Verwendung beim Realisieren der Operationen eines Adressenzählers von Sys Conf
FifoAddr (FIFO address): Signalleitung, die mit dem FIFO-System verbunden ist, das Daten enthält, die gemäß der Bedeutung einer Adresse verwendet werden
FifoSel (FIFO select signal): Signal zum Steuern des FIFO-Systems, das Daten enthält, die gemäß der Bedeutung einer Adresse verwendet werden.
Below are the official names and meanings of the signals used in the in 30 shown system controller can be used.
Sysconf_din (sysconf data in): Signal to use when implementing a data entry gate from Sys Conf
sysconf_dout (sysconf data out): Signal to use when implementing a data output gate from Sys Conf
sysconf_rdc (sysconf read clock): Signal for use in outputting subsequent data in the Sys Conf FIFO system
sysconf_adr (sysconf address): Signal for use in implementing an address input gate from the FIFO system by Sys Conf
sysconf_adc (sysconf address counter): Signal for use in implementing an address input register of an address counter by Sys Conf
sysconf_adcst (system address counter start): Signal for use in implementing the operations of an address counter from Sys Conf
FifoAddr (FIFO address): Signal line connected to the FIFO system containing data used according to the meaning of an address
FifoSel (FIFO select signal): Signal for controlling the FIFO system containing data used according to the meaning of an address.

Die Daten, die gemäß der Bedeutung einer Adresse verwendet werden, beziehen sich auf 'Daten, die als Adresse verwendet werden', da ein Nutzer als Standard des PCI-Busses nur einen 32-Bit-Datenbus verwenden darf und es erforderlich ist, Daten als Adresse des Inhaltes der Daten zu identifizieren. Als FifoSel-Signal wird ein Impulssignal zur Verwendung beim Lesen von Daten, die als Antwort auf solch ein Signal wie sysconf_rdc, sysstack_rdc, etc. erzeugt werden, so übertragen wie es ist.The Data according to the meaning An address used to refer to 'data as an address be used', since a user as a standard of the PCI bus only a 32-bit data bus may use and it is necessary to use data as the address of the content to identify the data. As a FifoSel signal becomes a pulse signal for use in reading data in response to such Signal such as sysconf_rdc, sysstack_rdc, etc. are generated, so transfer how it is.

31 ist ein Blockdiagramm, das die Konfiguration des Systemspeichers 52 von 29 zeigt. In 31 umfaßt der Systemspeicher einen statischen Speicher mit wahlfreiem Zugriff-1 (SRAM (1)) 71, der dem oben beschriebenen Funktionsdatenselektionsspeicher 16 oder 19 entspricht; und einen statischen Speicher mit wahlfreiem Zugriff-2 (SRAM (2)) 72, der dem Stapelspeicher entspricht, der aus dem Aufforderungsausgabezustandsinformationsspeicherbereich 23, dem Wiederherstellungsbereichsinformationsspeicherbereich 24 und dem Speicherbereich für wiederhergestellte Daten 25 gebildet wird. 31 is a block diagram showing the configuration of system memory 52 from 29 shows. In 31 System Memory Includes Static Random Access Memory 1 (SRAM (1)) 71 , the function data selection selection memory described above 16 or 19 corresponds; and a static random access memory-2 (SRAM (2)) 72 corresponding to the stack memory of the request output state information storage area 23 , the recovery area information storage area 24 and the restored data storage area 25 is formed.

32 zeigt die Signaleingabe/-ausgabe in die bzw. aus der RFU zum Bearbeiten einer FPGA-Anordnung, wie zum Beispiel XC6216 (Xilinx). 33 zeigt die Signaleingabe/-ausgabe für die Konfiguration der Anordnung, die die interne Betriebsmittelverwaltungseinheit enthält, die unter Bezugnahme auf 24 beschrieben ist. Die Operation von jedem Signal ist unter Bezugnahme auf diese Figuren beschrieben. In 33 sind anders als in 24 die Logikzellenkonfigurationsschaltung 32 und die Flagdateneingabe-/-ausgabeeinheit 35 als integrierter Block gezeigt. 32 shows the signal input / output to and from the RFU for processing an FPGA device, such as XC6216 (Xilinx). 33 FIG. 12 shows the signal input / output for the configuration of the device including the internal resource management unit, with reference to FIG 24 is described. The operation of each signal is described with reference to these figures. In 33 are different than in 24 the logic cell configuration circuit 32 and the flag data input / output unit 35 shown as an integrated block.

In 32 und 33 wird die Initialisierung ausgeführt, indem ein PCI-Rücksetz-(RST)-Signal zur Verwendung beim Initialisieren einer Schaltung der Logikzellenkonfigurationsschaltung 32 und der Flagdaten-Eingabe-/Ausgabeeinheit 35 in 32 und 33 eingegeben wird. MCS3 ist ein Chipselektionssignal, das die Selektion dieser Anordnung angibt. Das Signal Rd/Wr3 gibt ein Lesen oder Schreiben von Daten an. Zum Beispiel gibt der Pegel 1 ein Datenlesen an, und der Pegel 0 gibt ein Datenschreiben an. Ein Signal /OE3 ist ein Ausgangsfreigabesignal, das den Pegel 0 hat, wenn interne Daten gelesen werden.In 32 and 33 initialization is performed by applying a PCI reset (RST) signal for use in initializing a circuit of the logic cell configuration circuit 32 and the flag data input / output unit 35 in 32 and 33 is entered. MCS3 is a chip selection signal indicating the selection of this arrangement. The signal Rd / Wr3 indicates reading or writing of data. For example, level 1 indicates data read, and level 0 indicates data write. A signal / OE3 is an output enable signal that has the level 0 when internal data is read.

'addr' und 'data' bezeichnen ein Adressenbussignal bzw. ein Datenbussignal und haben einen Adressenraum gemäß der Spezifikation der Anordnung. Zum Beispiel werden die Adressen 0x00000 bis 0x7ffff für die Logikzellenkonfigurationsschaltung 32 verwendet, während die Adressen 0x8000 bis 0xffff für die Flagdateneingabe-/-ausgabeeinheit 35 verwendet werden.'addr' and 'data' designate an address bus signal and a data bus signal, respectively, and have an address space according to the specification of the device. For example, the addresses become 0x00000 to 0x7ffff for the logic cell configuration circuit 32 while the addresses are 0x8000 to 0xffff for the flag data input / output unit 35 be used.

Die Flag-Schreib-/Leseeinheit 34 liest und schreibt ein Flag auf der Basis des Abtasttaktes von der Überwachungszeitlagenerzeugungseinheit 36. Von den Signalen, die mit der Überwachungszeiterzeugungseinheit 36 verbunden sind, ist FOLK zum Beispiel ein Takt von 33 MHz, wie oben beschrieben. 'OrgCLK', das von dem ASYCLK 51 von 29 vorgesehen wird, beläuft sich auf 100 MHz, und 'OrgCLK/2' beläuft sich auf 50 MHz. Ein Signal /Sreset wird zum Initialisieren der Überwachungszeitlagenerzeugungseinheit 36 verwendet.The flag read / write unit 34 reads and writes a flag based on the sample clock from the watch timing generation unit 36 , Of the signals associated with the monitoring time generation unit 36 For example, FOLK is a clock of 33 MHz, as described above. 'OrgCLK' by the ASYCLK 51 from 29 is 100 MHz and 'OrgCLK / 2' is 50 MHz. A signal / reset is used to initialize the monitoring timing generation unit 36 used.

'laddr', 'ldata' und ein Teil eines RFU-Signals werden zum Zugriff auf den Lokalspeicher 53 verwendet. Da der Lokalspeicher ein Arbeitsspeicher ist, der durch eine Prozeßfunktion verwendet wird, die in der RFU realisiert wird, wird die eingehende Erläuterung hier weggelassen.'laddr', 'ldata' and part of an RFU signal are used to access the local memory 53 used. Since the local memory is a working memory used by a process function realized in the RFU, the detailed explanation is omitted here.

34 zeigt das Speichern von Daten in dem Funktionsdatenselektionsspeicher und die Einstellungen der Funktionen, das heißt, die Konfiguration der rekonfigurierbaren Funktionseinheit (RFU). 35A und 35B sind die Zeitlagendiagramme der Prozesse. In 34 werden die Daten, die in dem Funktionsdatenselektionsspeicher zu speichern sind, in dem SRAM(1) 71 in dem Systemspeicher 52 über den Weg von dem Systemcontroller 50 zu A gespeichert. Dieser Prozeß wird durch die SysConf 62 ausgeführt, die in 30 gezeigt ist. Die Einstellungen von Funktionsdaten, das heißt die Konfiguration, der RFU 54 werden über den Weg von B erhalten. Dieser Prozeß wird durch die SysConf 62 ausgeführt. 34 shows the storage of data in the function data selection memory and the settings of the functions, that is, the configuration of the reconfigurable functional unit (RFU). 35A and 35B are the timing diagrams of the processes. In 34 the data to be stored in the function data selection memory is stored in the SRAM (1) 71 in the system memory 52 over the way from the system controller 50 saved to A. This process is done by the SysConf 62 executed in 30 is shown. The settings of function data, that is the configuration, the RFU 54 get over the way from B This process is done by the SysConf 62 executed.

35A ist ein Zeitlagendiagramm, das das Datenspeichern in dem Funktionsdatenselektionsspeicher zeigt. In 35A wird angenommen, daß sysconf_adr und sysconf_din als Antwort auf den Befehl PCI_COM effektiv sind. Ein entsprechender Bereich (FIFO) des Speichers, der Daten speichert, die durch sysconf_rdc zu holen sind, wird selektiert, und ein zu beschreibender Speicher wird durch /AMCSO selektiert. Dann werden Daten geschrieben, nachdem der Speicher durch ARd/WrO in einen Schreibzustand versetzt wurde. Die Daten, die in dem Speicher zu speichern sind, können alle oder ein Teil von den Daten zum Betreiben einer Schaltung sein. Erforderliche Daten werden in dem Funktionsdatenselektions speicher gespeichert, indem eine Serie von Operationen wiederholt wird. 35A Fig. 10 is a timing chart showing the data storage in the function data selection memory. In 35A It is assumed that sysconf_adr and sysconf_din are effective in response to the PCI_COM command. A corresponding area (FIFO) of the memory storing data to be fetched by sysconf_rdc is selected, and a memory to be written is selected by / AMCSO. Then, data is written after the memory is set in a write state by ARd / Wr0. The data to be stored in the memory may be all or part of the data for operating a circuit. Required data is stored in the function data selection memory by repeating a series of operations.

35B zeigt die Einstellungen von Funktionsdaten, das heißt die Konfiguration, von dem Systemspeicher 52 für die RFU 54. Die Operation wird durch den Befehl RFU_COM gestartet, der dem Signal ARFU entspricht, das von der RFU 54 dem Systemcontroller 50 eingegeben wird. Zuerst macht sysconf_adc die Adresse des Adressenzählers 65 wirksam, der in 30 gezeigt ist. Unter Verwendung der Signale /AMCSO, /AOEO und ARd/WrO werden Daten aus dem Systemspeicher 52 gelesen. Unter Verwendung der Signale /AMCS3, /AOE3 und ARd/Wr3 werden Daten in die RFU 54 geschrieben. Wenn ein Datenschreiben vollendet ist, wird der Zählwert des Adressenzählers 65 durch das Signal sysconf_adcst inkrementiert. Durch das Wiederholen dieser Operationen wird die Konfiguration der RFU eingerichtet. 35B shows the settings of function data, that is the configuration, of the system memory 52 for the RFU 54 , The operation is started by the command RFU_COM, which corresponds to the signal ARFU received from the RFU 54 the system controller 50 is entered. First, sysconf_adc makes the address of the address counter 65 effective, in 30 is shown. Using the signals / AMCSO, / AOEO and ARd / WrO Data is taken from system memory 52 read. Using the signals / AMCS3, / AOE3 and ARd / Wr3, data is transferred to the RFU 54 written. When data writing is completed, the count value of the address counter becomes 65 incremented by the signal sysconf_adcst. Repeating these operations sets up the configuration of the RFU.

36 zeigt das Sichern und Wiederherstellen von Daten von der rekonfigurierbaren Funktionseinheit (RFU) für die Ausführungszustandsstapeleinheit. 37A und 37B sind Zeitlagendiagramme der Operationen dieser Prozesse. In 36 werden Daten als Datenspeicherung von der RFU 54 in dem SRAM(2) 72 in dem Systemspeicher 52 über den Weg von C gesichert. Die Daten werden auf dem Rückweg von D wiederhergestellt. Dies erfolgt durch SysStack 63 in dem Systemcontroller. 36 FIG. 12 shows the backup and restore of data from the reconfigurable functional unit (RFU) for the execution state stack unit. 37A and 37B are timing diagrams of the operations of these processes. In 36 Data is stored as data storage by the RFU 54 in the SRAM (2) 72 in the system memory 52 secured by way of C. The data is restored on the way back from D. This is done by SysStack 63 in the system controller.

37A ist ein Zeitlagendiagramm zum Sichern von Daten. In 37A wird als Antwort auf den Befehl RFU_COM die Adresse des Adressenzählers 65 durch das Signal sysstack_adc wirksam gemacht, und die internen Zustandsdaten der RFU 54 werden durch die Signale /AMCS3, /AOE3 und ARd/Wr3 gelesen, und die Daten werden in den SRAM(2) 72 in dem Systemspeicher 52 durch die Signale /AMCS1, /AOE1 und ARd/Wr1 geschrieben. Wenn ein Datenschreiben vollendet ist, wird der Zählwert des Adressenzählers 65 durch das Signal sysstack_adcst inkrementiert. Indem diese Operationen wiederholt werden, werden entsprechende Daten gesichert. 37A is a timing chart for backing up data. In 37A is the address of the address counter in response to the RFU_COM command 65 activated by the signal sysstack_adc, and the internal state data of the RFU 54 are read by the signals / AMCS3, / AOE3 and ARd / Wr3, and the data is written to the SRAM (2) 72 in the system memory 52 written by the signals / AMCS1, / AOE1 and ARd / Wr1. When data writing is completed, the count value of the address counter becomes 65 incremented by the signal sysstack_adcst. By repeating these operations, corresponding data is saved.

37B ist ein Zeitlagendiagramm zum wiederherstellen von Daten. In 37B wird als Antwort auf den Befehl RFU_COM die Adresse des Adressenzählers 65 durch das Signal sysstack_adc wirksam gemacht, und Daten werden durch die Signale /AMCS1, /AOE1 und ARd/Wr1 aus dem Systemspeicher 52 gelesen, und die Daten werden durch die Signale /AMCS3, /AOE3 und ARd/Wr3 in die RFU 54 geschrieben. Wenn ein Datenschreiben vollendet ist, wird der Zählwert des Adressenzählers 65, wie oben beschrieben, durch das Signal sysstack_adcst inkrementiert. Indem diese Operationen wiederholt werden, werden entsprechende Daten wiederhergestellt. 37B is a timing chart for restoring data. In 37B is the address of the address counter in response to the RFU_COM command 65 is asserted by the sysstack_adc signal, and data is removed from the system memory by the / AMCS1, / AOE1 and ARd / Wr1 signals 52 The data is read by the signals / AMCS3, / AOE3 and ARd / Wr3 in the RFU 54 written. When data writing is completed, the count value of the address counter becomes 65 as described above, is incremented by the signal sysstack_adcst. By repeating these operations, corresponding data is restored.

Claims (20)

Datenverarbeitungssystem, das mit einer Funktion zum dynamischen Nutzen von Betriebsmitteln versehen ist und eine Datenverarbeitungsvorrichtung (11) hat, die interne Funktionen hat, die extern eingestellt und modifiziert werden können, indem eine Logikschaltung, die in der Datenverarbeitungsvorrichtung enthalten ist, unter Verwendung eines für die Datenverarbeitungsvorrichtung (11) externen Programms eingestellt und modifiziert wird, mit: einem Funktionsdateneinstellmittel (12), das außerhalb der Datenverarbeitungsvorrichtung (11) vorgesehen ist, zum Lesen, Schreiben und Speichern von Daten zur Verwendung beim Einstellen und Modifizieren von internen Funktionen der Datenverarbeitungsvorrichtung (11); und gekennzeichnet durch ein Ausführungszustandsstapelmittel (13), das außerhalb der Datenverarbeitungsvorrichtung (11) vorgesehen ist, zum Speichern von Daten, die einen Zustand im Fortgang des Ausführens der internen Funktionen angeben; und ein internes Betriebsmittelverwaltungsmittel (14), das innerhalb der Datenverarbeitungsvorrichtung (11) vorgesehen ist, zum Einstellen und Modifizieren der internen Funktionen und Sichern und Wiederherstellen der Daten, die den Zustand im Fortgang des Ausführens der internen Funktionen angeben, unter Verwendung des Ausführungszustandsstapelmittels (13).Data processing system provided with a dynamic resource utilization function and a data processing device ( 11 ) having internal functions that can be externally adjusted and modified by using a logic circuit included in the data processing apparatus using a data processing apparatus ( 11 ) is adjusted and modified with: a function data setting means ( 12 ) outside the data processing device ( 11 ) is provided for reading, writing and storing data for use in setting and modifying internal functions of the data processing device ( 11 ); and characterized by an execution state stack means ( 13 ) outside the data processing device ( 11 ) for storing data indicating a state in progress of execution of the internal functions; and an internal resource management means ( 14 ), which within the data processing device ( 11 ) is provided for setting and modifying the internal functions and saving and restoring the data indicating the state in progress of execution of the internal functions using the execution state stack means ( 13 ). System nach Anspruch 1, bei dem die Datenverarbeitungsvorrichtung (11) eine Anordnung umfaßt, die entweder ein programmierbares Logikarray, ein feldprogrammierbares Gatterarray oder eine programmierbare Logikanordnung ist, oder einen Computer, der die Anordnung hat.System according to claim 1, in which the data processing device ( 11 ) comprises an array that is either a programmable logic array, a field programmable gate array, or a programmable logic array, or a computer having the array. System nach Anspruch 2, bei dem das Funktionsdateneinstellmittel (12) umfaßt: ein Funktionsdatenspeichermittel (16) zum Speichern von Daten zur Verwendung beim Einstellen und Modifizieren der internen Funktionen der Anordnung (11) für jedes Funktionsdatum in einer in der Anordnung (11) zugelassenen Mindesteinheit; und ein Speichersteuermittel (17) zum Steuern des Datenspeicherns in dem Funktionsdatenspeichermittel (16).A system according to claim 2, wherein the function data setting means (16) 12 ) comprises: a function data storage means ( 16 ) for storing data for use in setting and modifying the internal functions of the device ( 11 ) for each functional date in one in the array ( 11 ) authorized minimum unit; and a memory control means ( 17 ) for controlling data storage in said function data storage means (12) 16 ). System nach Anspruch 3, bei dem die Funktionsdaten in der Mindesteinheit durch eine Adresse im Speicher spezifiziert werden.A system according to claim 3, wherein the functional data in the minimum unit specified by an address in the memory become. System nach Anspruch 3 oder 4, ferner mit: einem Logikzellenbibliotheksdatenspeichermittel (20) zum Speichern von Bibliotheksdaten einer Logikzelle als Daten zur Verwendung beim Einstellen und Modifizieren von Funktionen in der Anordnung (11), bei dem das Speichersteuermittel (17) auch das Datenspeichern in dem Logikzellenbibliotheksdatenspeichermittel (20) steuert.The system of claim 3 or 4, further comprising: a logic cell library data storage means (10). 20 ) for storing library data of a logic cell as data for use in setting and modifying functions in the device ( 11 ), in which the memory control means ( 17 ) also the data storage in the logic cell library data storage means ( 20 ) controls. System nach Anspruch 5, ferner mit: einem Datenkomprimierungs-/-expansionsmittel (21) zum Komprimieren von Daten, wenn die Logikzellenbibliotheksdaten in das Logikzellenbibliotheksdatenspeichermittel (20) geschrieben werden, und zum Expandieren von Daten, wenn die Daten gelesen werden, bei dem das Speichersteuermittel (17) auch das Datenkomprimierungs-/-expansionsmittel (21) steuert.The system of claim 5, further comprising: a data compression / expansion means ( 21 ) for compressing data when the logic cell library data is stored in the logic cell library data storage means (Fig. 20 ) and to expand data when the data is being read, in which the memory control means ( 17 ) also the data compression / expansion means ( 21 ) controls. System nach Anspruch 5 oder 6, bei dem das Logikzellenbibliotheksdatenspeichermittel (20) keine duplizierten Daten für ein und dieselbe Logikschaltung speichert.A system according to claim 5 or 6, wherein the logic cell library data storage means (10) 20 ) does not store duplicate data for one and the same logic circuit. System nach irgendeinem der Ansprüche 3 bis 7, bei dem das Speichersteuermittel (17) ein Direktspeicherzugriffs-(DMA)-Transfersystem als Datentransfersystem für das Funktionsdatenspeichermittel (16) ausführt.A system according to any one of claims 3 to 7, wherein the memory control means (16) 17 ) a direct memory access (DMA) transfer system as a data transfer system for the function data storage means ( 16 ). System nach Anspruch 2, bei dem das Funktionsdateneinstellmittel (12) umfaßt: ein Funktionsdatenspeichermittel (19) zum Speichern von Daten einer Bitfolge für eine Reihe oder eine Spalte in einem Speicherarray als Daten zur Verwendung beim Einstellen und Modifizieren der internen Funktionen der Anordnung; und ein Speichersteuermittel (17) zum Steuern des Datenspeicherns in dem Funktionsdatenspeichermittel (19).A system according to claim 2, wherein the function data setting means (16) 12 ) comprises: a function data storage means ( 19 ) for storing data of a bit string for a row or a column in a memory array as data for use in setting and modifying the internal functions of the array; and a memory control means ( 17 ) for controlling data storage in said function data storage means (12) 19 ). System nach Anspruch 9, ferner mit: einem Logikzellenbibliotheksdatenspeichermittel (20) zum Speichern von Bibliotheksdaten einer Logikzelle als Daten zur Verwendung beim Einstellen und Modifizieren der Funktionen in der Anordnung (11), bei dem das Speichersteuermittel (17) auch das Datenspeichern in dem Logikzellenbibliotheksdatenspeichermittel (20) steuert.The system of claim 9, further comprising: a logic cell library data storage means (10). 20 ) for storing library data of a logic cell as data for use in setting and modifying the functions in the device ( 11 ), in which the memory control means ( 17 ) also the data storage in the logic cell library data storage means ( 20 ) controls. System nach Anspruch 10, ferner mit: einem Datenkomprimierungs-/-expansionsmittel (21) zum Komprimieren von Daten, wenn die Logikzellenbibliotheksdaten in das Logikzellenbibliotheksdatenspeichermittel (20) ge schrieben werden, und zum Expandieren von Daten, wenn die Daten gelesen werden, bei dem das Speichersteuermittel (17) auch das Datenkomprimierungs-/-expansionsmittel (21) steuert.The system of claim 10, further comprising: a data compression / expansion means ( 21 ) for compressing data when the logic cell library data is stored in the logic cell library data storage means (Fig. 20 ) and for expanding data when the data is read, in which the memory control means ( 17 ) also the data compression / expansion means ( 21 ) controls. System nach Anspruch 10 oder 11, bei dem das Logikzellenbibliotheksdatenspeichermittel (20) keine duplizierten Daten für ein und dieselbe Logikschaltung speichert.A system according to claim 10 or 11, wherein the logic cell library data storage means (10) 20 ) does not store duplicate data for one and the same logic circuit. System nach irgendeinem der Ansprüche 9 bis 12, bei dem das Speichersteuermittel (17) ein Direktspeicherzugriffs-(DMA)-Transfersystem als Datentransfersystem für das Funktionsdatenspeichermittel (19) ausführt.A system according to any one of claims 9 to 12, wherein the memory control means (16) 17 ) a direct memory access (DMA) transfer system as a data transfer system for the function data storage means ( 19 ). System nach irgendeinem vorhergehenden Anspruch, bei dem das Ausführungszustandsstapelmittel (13) umfaßt: ein Speichermittel für gesicherte Daten (23, 24, 25) zum Speichern, als Daten, die einen Zustand im Fortgang des Ausführens der internen Funktionen angeben, von Aufforderungsausgabezustandsinformationen, die einen Operationszustand einer Schaltung als interne Funktion angeben, wenn eine Aufforderung zum Sichern der Daten ausgegeben wird, von Wiederherstellungsbereichsinformationen, die eine Position der Schaltung in einer Anordnung angeben, und von Wiederherstellungsdaten, die eine Konfiguration der Schaltung angeben; und ein Stapelspeichersteuermittel (26) zum Steuern des Datenspeicherns in dem Speichermittel für gesicherte Daten (23, 24, 25).A system according to any preceding claim, wherein the execution state stack means ( 13 ) comprises: a stored data storage means ( 23 . 24 . 25 ) for storing, as data indicative of a state in progress of execution of the internal functions, of request output state information indicating an operation state of a circuit as an internal function when a request to save the data is issued, of recovery area information indicating a position of the circuit indicate in an array and recovery data indicating a configuration of the circuit; and a stack memory control means ( 26 ) for controlling data storage in the saved data storage means ( 23 . 24 . 25 ). System nach Anspruch 14, bei dem das Stapelspeichersteuermittel (26) das Datenspeichern in dem Speichermittel für gesicherte Daten (23, 24, 25) in einem First-in-last-out-(FILO)-System steuert.The system of claim 14, wherein the stack memory control means (16) 26 ) the data storage in the secure data storage means ( 23 . 24 . 25 ) in a first-in-last-out (FILO) system. System nach Anspruch 14 oder 15, ferner mit: einem Datenkomprimierungs-/-expansionsmittel (29) zum Komprimieren von Daten, wenn die Daten in das Speichermittel für gesicherte Daten (23, 24, 25) geschrieben werden, und zum Expandieren von Daten, wenn die Daten gelesen werden, bei dem das Stapelspeichersteuermittel (26) auch das Datenkomprimierungs-/-expansionsmittel (29) steuert.The system of claim 14 or 15, further comprising: a data compression / expansion means ( 29 ) for compressing data when the data is stored in the stored data storage means ( 23 . 24 . 25 ) and to expand data when the data is being read, in which the stack memory control means ( 26 ) also the data compression / expansion means ( 29 ) controls. System nach Anspruch 14, 15 oder 16, bei dem das Stapelspeichersteuermittel (26) die Daten löscht, die bereits in dem Speichermittel für gesicherte Daten (23, 24, 25) gespeichert sind, wobei sie den Zustand im Fortgang des Ausführens der internen Funktionen angeben und dem Inhalt der Aufforderungsausgabezustandsinformationen entsprechen.A system according to claim 14, 15 or 16, wherein the stack memory control means (16) 26 ) deletes the data already stored in the stored data storage means ( 23 . 24 . 25 ), indicating the state in progress of execution of the internal functions and corresponding to the content of the request output state information. System nach irgendeinem vorhergehenden Anspruch, bei dem das interne Betriebsmittelverwaltungsmittel (14) umfaßt: eines oder mehrere Flagspeichermittel (33) zum Speichern eines Flags, das einen Operationszustand eines Satzes von Logikzellen (31) angibt, entsprechend jedem Satz von Logikzellen (31) in einer Anordnung (11); ein Flag-Schreib-/Lesemittel (34) zum Schreiben und Lesen eines Flags, das eins zu eins dem Flagspeichermittel (33) entspricht; und ein Überwachungszeitlagenerzeugungsmittel (36) zum Spezifizieren einer Zeitlage zum Lesen oder Aktualisieren des Inhaltes des Flags, das in dem Flagspeichermittel (33) gespeichert ist.A system according to any preceding claim, wherein the internal resource management means ( 14 ) comprises: one or more flag storage means ( 33 ) for storing a flag representing an operational state of a set of logic cells ( 31 ), corresponding to each set of logic cells ( 31 ) in an arrangement ( 11 ); a flag read / write means ( 34 ) for writing and reading a flag that is one-to-one with the flag storage means ( 33 ) corresponds; and a monitoring timing generating means ( 36 ) for specifying a timing for reading or updating the content of the flag stored in the flag storage means ( 33 ) is stored. System nach Anspruch 18, bei dem das eine oder die mehreren Flagspeichermittel (33) jeweils ein Flipflop umfassen; und, wenn viele Sätze von Logikzellen (31) in der Anordnung existieren, eine Vielzahl von Flipflops kontinuierlich verbunden ist.The system of claim 18, wherein said one or more flag storage means (16) 33 ) each comprise a flip-flop; and, if many sets of logic cells ( 31 ) exist in the arrangement, a plurality of flip-flops continuum is connected. System nach irgendeinem vorhergehenden Anspruch, bei dem das interne Betriebsmittelverwaltungsmittel (14) an einer entsprechenden Position eines Satzes von Logikzellen (31) in einer Anordnung (11) umfaßt: ein Flagspeichertabellenmittel (38) zum Speichern eines Flags, das einen Operationszustand einer Logikzelle angibt; ein Flag-Schreib-/Lesemittel (39) zum Schreiben und Lesen eines Flags für das Flagspeichertabellenmittel (38); und ein Überwachungszeitlagenerzeugungsmittel (36) zum Spezifizieren einer Zeitlage zum Lesen oder Aktualisieren des Inhaltes des Flags, das in dem Flagspeichermittel (38) gespeichert ist.A system according to any preceding claim, wherein the internal resource management means ( 14 ) at a corresponding position of a set of logic cells ( 31 ) in an arrangement ( 11 ) comprises: a flag memory table means ( 38 ) for storing a flag indicating an operation state of a logic cell; a flag read / write means ( 39 ) for writing and reading a flag for the flag memory table means ( 38 ); and a monitoring timing generating means ( 36 ) for specifying a timing for reading or updating the content of the flag stored in the flag storage means ( 38 ) is stored.
DE69733251T 1997-06-13 1997-12-24 Data processing system for dynamic use of resources Expired - Lifetime DE69733251T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP15667797A JP3403614B2 (en) 1997-06-13 1997-06-13 Data processing system with dynamic resource utilization function
JP15667797 1997-06-13

Publications (2)

Publication Number Publication Date
DE69733251D1 DE69733251D1 (en) 2005-06-16
DE69733251T2 true DE69733251T2 (en) 2005-11-10

Family

ID=15632914

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69733251T Expired - Lifetime DE69733251T2 (en) 1997-06-13 1997-12-24 Data processing system for dynamic use of resources

Country Status (4)

Country Link
US (1) US6009483A (en)
EP (1) EP0884676B1 (en)
JP (1) JP3403614B2 (en)
DE (1) DE69733251T2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110995B2 (en) * 2002-02-27 2006-09-19 International Business Machines Corporation Apparatus and method for generating graphic presentation of estimated time of completion of a server request
US8719807B2 (en) 2006-12-28 2014-05-06 Intel Corporation Handling precompiled binaries in a hardware accelerated software transactional memory system
US7973555B1 (en) * 2008-05-28 2011-07-05 Xilinx, Inc. Configuration interface to stacked FPGA

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791603A (en) * 1986-07-18 1988-12-13 Honeywell Inc. Dynamically reconfigurable array logic
US4831573A (en) * 1987-03-06 1989-05-16 Altera Corporation Programmable integrated circuit micro-sequencer device
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5361373A (en) * 1992-12-11 1994-11-01 Gilson Kent L Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
FR2704669B1 (en) * 1993-04-29 1995-06-30 France Telecom NEURONAL NETWORK SYSTEM FOR SIGNAL PROCESSING, ESPECIALLY FOR ANALYSIS AND SYNTHESIS OF IMAGES.
US5548723A (en) * 1993-12-17 1996-08-20 Taligent, Inc. Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
JP3365581B2 (en) * 1994-07-29 2003-01-14 富士通株式会社 Information processing device with self-healing function
US5778439A (en) * 1995-08-18 1998-07-07 Xilinx, Inc. Programmable logic device with hierarchical confiquration and state storage
US5745734A (en) * 1995-09-29 1998-04-28 International Business Machines Corporation Method and system for programming a gate array using a compressed configuration bit stream
US5726584A (en) * 1996-03-18 1998-03-10 Xilinx, Inc. Virtual high density programmable integrated circuit having addressable shared memory cells
US5844422A (en) * 1996-11-13 1998-12-01 Xilinx, Inc. State saving and restoration in reprogrammable FPGAs

Also Published As

Publication number Publication date
EP0884676B1 (en) 2005-05-11
US6009483A (en) 1999-12-28
EP0884676A3 (en) 2000-06-07
JP3403614B2 (en) 2003-05-06
EP0884676A2 (en) 1998-12-16
DE69733251D1 (en) 2005-06-16
JPH113209A (en) 1999-01-06

Similar Documents

Publication Publication Date Title
DE102020122174A1 (en) CALCULATE-IN / NEAR MEMORY (CIM) CIRCUIT ARCHITECTURE FOR UNIFIED MATRIX-MATRIX AND MATRIX-VECTOR CALCULATIONS
DE3049437C2 (en) Matrix arrangement of a plurality of processing elements
DE4416881C2 (en) Method for operating a data processing device
DE4305442C2 (en) Method and device for generating a test vector
DE69827589T2 (en) Configurable processing assembly and method of using this assembly to build a central processing unit
DE2716369C2 (en)
DE60316151T2 (en) ACCESS TO WIDE STORAGE
DE19822776A1 (en) Data processing arrangement
DE2953861C2 (en)
DE3338333A1 (en) LOGIC SIMULATOR DEVICE FOR VALIDITY CHECK OF A LOGIC STRUCTURE
DE4134192A1 (en) INTEGRATED CIRCUIT WITH PROCESSING IN THE MEMORY
DE2524046A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE19814415A1 (en) Logic analysis subsystem in a time slice emulator
DE3114921C2 (en) Microprogram memory array
DE19518529A1 (en) Conversion interface for incompatible CPUs e.g for substituting Intel 486 with PowerPC chip or Pentium (RTM)
DE102005005073B4 (en) Computer device with reconfigurable architecture for the parallel calculation of arbitrary algorithms
DE19957594B4 (en) Method for synchronizing threads of a computer program
DE2556617A1 (en) DATA PROCESSER FOR THE ROTATABLE MOVEMENT OF BITS OF A DATA WORD
DE2401364A1 (en) DATA PROCESSING SYSTEM
DE69828890T2 (en) CONFIGURABLE MEMORY CONTROL DEVICE AND METHOD THEREFOR
DE69733251T2 (en) Data processing system for dynamic use of resources
DE102004012516A1 (en) Computer system for electronic data processing
EP1116129B1 (en) Configurable hardware block
DE102020106357A1 (en) STORAGE DEVICE AND INSTRUCTION RING STORAGE QUEUE PROCEDURE
DE10001168A1 (en) Output-first-in-first-out (OFIFO)-data transmission control device, has write-read cursor generator for providing a cursor for identifying location of instructed stored data

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: FUJITSU MICROELECTRONICS LTD., TOKYO, JP

8327 Change in the person/name/address of the patent owner

Owner name: FUJITSU SEMICONDUCTOR LTD., YOKOHAMA, KANAGAWA, JP

8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE