REDUCTION PROCESSOR

Abstract: A reduction processor is provided, which is controlled by a program having a structure and which is adapted to reduce said structure in a number of reduction steps including different kinds of reductions. A first order processor of this kind includes an active storage (1, 2) in turn including a) a plurality of active storage cells, each able to store information, which could give rise to a reduction. b) A communication net communicating the result of each reduction to all cells having connection to said result. The processor includes a control means (6) in common for all the storage cells. Preferably, at least one of the storage cells, called core cell (2) or structure arithmetic unit, is able to perform all kinds of reductions, and the rest of said cells, called object storage cells, are able to perform only limited parts of some of all kinds of reductions. Further, several reduction processors could be connected to each other by a network and thereby form a higher order reduction processor.

Description: Reduction Processor This invention is directed to a reduction processor. BACKGROUND OF THE INVENTION The computer was invented during the 1940:s. Since then it has been developed with a revolutionary speed. In spite of this, current days computers have almost the same architecture as the first ones. Most improvements have been made in the hardware. The introduction of VLSI and the enhancement in lithography has made it possible to build one chip computers that only five years ago were called super computers. The dimensions have shrunk exponentially and the line width is now less than 1 micrometer. The clock rate as well as the number of active transistors have increased many orders of magnitude. Physical limitations will probably limit the line width to 0.2 micrometer. During the same time the computer architects have not improved in the use of silicon. On the contrary, most computers have been using more than the optimal amount of silicon in order to be faster. Both these facts will stop the evolution of the speed of single processors in the next five years. Parallel processors are introduced resulting in an increased hardware cost because of rising complexity and, for most types of programs, a prohibitive increase of programming costs. Seen in relation to each other, the hardware costs have shrunk but the programming costs of new systems have grown considerably and will soon be at a prohibitive level. A computer is a complicated assembly of different units in software and hardware. Different paradigms and stages in the evolution have created standards - ad hoc and established - that are spread out into the system. Because of this nonuniformity there is a great number of interfaces. All these interfaces and paradigms of different quality and style have made it hard for a user or a programmer to use the machine - it requires a lot of knowledge - and because of the complexity a programmer might introduce hidden errors. However, recently so-called reduction processors are developing. A reduction processor executes a program having a certain structure including arithmetic expressions and this structure is reduced in a number of reduction steps. Thus, the proam is not executed in a given sequence as in other kinds of computers. There have been some difficulties in developing reduction processors above a limited size. The development of programming languages The development of the first electronic computer started the development of several programming languages suited for this type of computer, such as FORTRAN, COBOL, Algol, BASIC, Pascal. These languages have been called imperative languages, below also called conventional languages, mainly because of the fact that they normally give programs that consist of a sequence of commands or instructions to be executed sequentially by a conventional computer, i.e. a computer designed according to the principles developed by John von Neumann. An increasing discomfort with these languages led to the development of another series of languages: LISP, ISWIM, Scheme (a dialect of LISP), ML, Hope, SASL, and so on. The driving force behind the development of these languages was conceptual simplicity; no particular machine influenced the design. It took some time before functional languages began to receive attention - one reason was that functional programs were slow to execute. Later developments have shown that the execution speed, in some cases, can be close to or the same as for conventional (imperative) language programs executed by conventional computers, even though these functional programs are not aimed at being executed by this type of computer. The software crisis What initiated the massive effort to develop functional languages was an increasing discomfort with imperative type languages. One started to talk about the software crisis around 1970. Programs became increasingly complex and often contained a lot of errors, were difficult to read, difficult to understand and specially hard to modify. One of the reasons is that the expectations that high-level imperative languages would simplify programming were set too high - these languages were not at such a high level, or abstraction level, as it may have seemed. The imperative languages are still adapted to the early computer concepts, the von Neumann kind of computer, and the level of programming is still fairly close to the machine level. Functional programming languages have several properties alleviating some of the disadvantages of the more conventional programming languages. For additional information and understanding we refer to the textbook "Functional Programming Using Standard ML", Ake Wikstrδm, Prentice Hall 1987. In order to fully understand the objectives and advantages of the invention it is essential to understand what comprises a functional approach in computing. Specially in comparison with the historically more prevalent imperative approach. The expression "functional approach" is meant to mean that programs are written in a functional language and stored and executed on a computer comprising hardware specially suited for these languages. Equivalently, the expression "imperative approach" is meant to mean that programs are written in an imperative language and stored and executed on a computer comprising hardware suited for imperative languages. However, it is possible to store and execute programs written in a functional language on a conventional computer. The opposite is also possible - programs written in an imperative language can be executed on a computer suited for executing programs written in functional languages. Properties of functional languages A program written in a functional language can be seen as a set of definitions of properties of objects and as computation rules. The definitions is the declarative part and the computation rules, or reduction or rewrite rules, is the operational part that the computer uses during execution. Functional languages provide a higher-level interface to the computer which makes it possible for the programmer to abstract away from hardware-related details of the computer. As a positive side-effect functional programs are often shorter and easier to understand than conventional imperative programs. One of the main disadvantages with functional languages is that functional programs have to be translated to a conventional language in order to be executed on a conventional computer. This has been done with compilers or interpretating programs. It is clear that some of the benefits of the functional approach have been held back by the fact that no dedicated hardware has existed for the task of storing and executing functional programs in an effective manner. OBJECTS OF THE INVENTION The main object of the invention is to provide a processor in which most hardware limitations are eliminated. A further object of the invention is to provide a very fast processor adapted to real-time executions. Another object of the invention is to provide a processor in which the programming will be the simplest possible and the complexity of the programming will be made in a uniform and simple world. Still another object of the invention is to provide a processor being adapted to a language used at the same time as machine language, operating system, communication protocol and programming language, i.e. a language which is simple and in which software levels have been brought to a minimum. Another object of the invention is to provide a processor which is very simple and flexible to use as well for programmers, system administrators, hardware designers and component people. A further object of the invention is to provide a processor adapted to a declarative programming language having behaviours as semantic objects, thus describing real-time and system properties. Still a further object of the invention is to provide a processor having a structural arithmetic unit separated from and cooperating with a numeric arithmetic unit. SUMMARY OF THE INVENTION To the attainment of the foregoing and other objects, the invention contemplates a reduction processor controlled by a program having a structure and adapted to reduce said structure in a number of reduction steps including different kinds of reductions, a first order processor of this type including an active storage in turn including a. a plurality of active storage cells, each having the opportunity to give rise to a performance of a reduction operation, and b. a communication net communicating the result of each reduction to all cells among the storage cells having connection to said result. The communication net includes preferably a bus arrangement having control lines and data lines, all lines being connected to each of said storage cells, and a control means in common for all said storage cells. Each storage cell may be able to include all information necessary to perform a reduction operation. The reduction information may also include reference to at least one of said other storage cells, the content of the storage cells being linked by said reference(s) in a tree structure. At least one of said storage cells, called core cell, is able to perform all kinds of reductions, and the rest of said cells, called object storage cells, are able to perform only limited parts of some of all kinds of reductions. The object storage cells are included in an associative memory having a first bus arrangement for external control, and a second memory bus arrangement for data including: several said object storage cells for storing a composed information, means in each of said object storage cells for storing at least one mark, said marks indicating at least select state(s) or non select state(s) for said object storage cell, means for making search operations among said object storage cells to set said marks, and a priority decoder to which all said object storage cells are coupled and which selects one out of several of said object storage cells. At least one global bus is provided for making logical operations of the type AND and OR between said storage cells, and means in each storage cell for communicating with said buses and to control said storage cell to take part in an actual logical operation. Several first order reduction processors could be joined into a square field representing a second order reduction processor, wherein each first order processor in said square field includes a channel going to each neighboring first order reduction processor in said square field. The second order reduction processor in turn could be divided into logical regions, each having a size of 2 n times 2 n first order reduction processors, said logical regions being provided at the side of each other in a regular pattern such as to cover said square field of said second order reduction processor. At least one referable indirect element provided with an address is stored in each region, said element is only referable from storage cells within the region to which it belongs. The first order processors could be connected to each other in said second order processor such that each said region within said second order processor is displaceable half a region in every direction by internal redefining of the placement of said region within said second order processor. As an alternative, several of said first order reduction processors could be connected in a hierarchy of networks, each network being a bus or a ring, or several of said first order reduction processors could be connected in a hierarchy of networks, at least two kinds of network being provided, the first kind being a bus, the second kind being a ring and the third kind being a square field. At least one port means is connected to said active storage means, and at least one surrounding means is connected to said at least one port means. Means are provided for comparing a signal sequence provided on a port means with a sequence stored in at least one storage cell, the stored sequence having possible undefined sequence elements, in said active storage means, and means for rewriting said stored sequence into nothing, i.e. something representing contradiction, if the comparison gives a clear difference, or else to rewrite said stored sequence into a specified sequence being the unification of the signal sequence from the surrounding and the stored sequence from the machine. A plurality of second order reduction processors, geographically separated from each other could form a third order reduction processor. A by regions limited associative adressing is adopted for second order reduction processors and physical adressing is adopted for third order reduction processors. Execution by reduction A program to be executed can be represented by a directional graph of closures, where each part of a program is represented by a closure. During execution this directional graph of closures is gradually reduced according to the reduction rules of the language used. When there are no executable closures left the execution of the program is finished. A directional graph of closures could be regarded as a tree structure where each node in the tree is a closure and where the topmost node is called the root. Execution by reduction is then normally performed by reducing the tree structure bottom-up, reducing the parts of the tree furthest away from the root and then up towards to the root. This kind of execution is normally called demand driven execution, i.e. the execution of parts of a program depending on the result of the execution of other parts is postponed until the result is available. DEFINITIONS Below follows a list on expressions used in this specification and their reserved meanings: element part of something larger in a data structure list an ordered sequence of elements, each element could in turn be a list inserted list a part of a list, small enough to be stored in its entirety in one cell closure. Makes it possible to represent arbitrary long lists closure a hierarchically structured entity which defines a process. All closures have a root which uniquely defines the closure. The reduction work in a reduction machine is made on closures. The whole state of the machine is transformed by the reductions object storage memory including storage cells storing objects. storage cell a cell in an object storage. It stores a cell closure, which might refer to other cell closures stored in other storage cells cell closure the content in a storage cell storage cell field a field in a storage cell closure element a data element stored in a storage cell field closure identifier a closure cell element uniquely designating a closure canonical closure a closure which cannot be further reduced, i.e. a cell closure which does not contain any closure identifiers designating some other cell closure which might be reduced in such a manner that this cell closure has to be further reduced goal a closure to be executed, i.e. reduced father a closure having at least one closure identifier in a value/designation field son a closure linked to another closure through a closure identifier, which is designating the son A son could also be a father. A father could also be a son. A son could have more than one father. A father could have more than one son. closure net a closure and all its fathers closure position whether the closure is a root or a node root the topmost closure in a closure tree node a closure in a closure tree not being a root where a storage cell field containing a closure position type type code in a cell closure, i.e. a bit pattern representing a property of an object, e.g. an instruction code. lazy an element in a cell closure which indicates if it is executable or a postponed evaluation or inactive identifier a special kind of closure element used to denote an object stored in a storage cell environment objects may be grouped by giving them the same environment value/des. a closure element storing either a simple value, i.e. a direct representation, nothing, or a designation to another closure, i.e. an indirect representation core cell structure arithmetic unit. The core cell is able to perform structure arithmetic involving reducing closures numeric ALU numeric arithmetic unit able to perform basic numeric and logic operations. The core cell makes use of the numeric ALU for numeric operations full register register extending through all the planes in a core cell core word the content of a full register in a core cell limited register register in a core cell extending through a limited amount of planes dimensioned to include a closure cell element of value/designation type element word the content of a limited register or a part of a full register having the same extension as the limited register nu word the part of an element word representing a value or a designation tag word the part of an element word having the tag indicating the feature of the representation in the num word reduction rewriting/restructuring a closure in accordance with the rules of the particular programming language used THE ASSOCIATIVE OBJECT STORAGE The strategy when deriving the processor according to the invention of the first order was to build an object storage device as several storage cells. Each such cell should contain one cell closure or be a free unused cell. The cells should not be allocated in any particular order but should rather be assumed to be a pool of available resources. It was deemed to be very important to have no physical address or dependence on the physical position. Such dependencies will sooner or later cause problems as in all conventional RAM type devices. All cells in the object storage communicate through a memory bus arrangement. This is important in order to decrease the cost. Other arrangements, such as using several ports etc, will increase the area of the object storage. However, the memory bus arrangement can only perform one operation per memory cycle. The reduction mechanism will have a state consisting of cell closures, each having an identifier, and where the cell closures, linked together by identifiers, form a graph. The graph could be followed by addressing cell closures by their identifiers. Therefore, the memory bus will be used as a shared path for all vertexes of the graph. Each cell closure also has an environment, which could include an identifier designating the root closure in a tree of closures providing the environment of the closure. In this way the whole structure is accessible from one closure in the tree, through the root, in one operation only. Closures could be grouped together by having the same environment. All the "addressing" must be made according to content information because there are no physical dependencies, i.e. the memory is associative. A cell closure, i.e. the content in a storage cell, includes several closure elements, storable in storage fields in the storage cell. Each storage element can contain an identifier together with some label information or a representation of a value or an indication that it is unused. In an associative search it is possible to use any closure element or combination of closure elements as a search key, e.g. the cell identifier, the cell environment, the cell type, the values written into the storage cell fields or combinations of them. The closure elements could include an extra select bit indicating that the closure element has been selected as a target for the access mechanism. Certain search operations set these select bits in the storage cell fields. This type of access may involve one or several storage cells. One multiple cell operation could be to store an identifier in many selected storage fields belonging to different storage cells. The central control unit The basic reduction rules are so many that they could not be included into each storage cell. Therefore, the reduction mechanism is shared by all cell closures. Drive and sense amplifiers are used to make all the object storage cells capable of driving long memory bus wires. The central control unit can adjust the bus signals both in time and in levels. Therefore, all communication is organized on the memory bus arrangement with the central control unit as the controlling device. The central control unit, preferably being a boolean gate array, makes a rather simple decoding of values on external wires and broadcasts most of the control signals to all the storage cells in the object storage across a control bus arrangement. We refer to the text book "Introduction to VLSI Systems", by Carver Mead and Lynn Conway, Addison Wesley Publishing Company, 1980, for further information regarding design of control units. In order to be able to perform complex access patterns, boolean expressions are solved in each storage cell. This expression is controlled by a broadcasted control word from the central control unit. The control word is normally derived by the central control unit by sensing the information in the storage cell. It is important for most applications of the reduction processor according to the invention that the boolean expressions are solved in the storage cells, because it will be more efficient than reading out information from the memory in an ordinary way and process it. The boolean expressions are chosen to be as small as possible in order to have the area overhead caused by them as little as possible. Consequently, the access functions are carefully selected. Thus, the control unit controls the function of the object storage. The memory bus arrangement communicates with all the storage cells. In some cases several storage cells will therefore be ordered to be read out. In order to do so a mechanism is provided for selecting only one at a time of several available candidates. The selection is made by a priority decoder connected to all the storage cells. THE CORE CELL A particular active storage cell, below called the core cell, could preferably be provided cooperating with the object storage, which in turn is to be regarded as an active storage. The core cell is able to perform all kinds of reductions, while the associative object storage contains storage cells able to perform only limited parts of some of the types of reductions. However, the core cell arrangement could be simulated in a part of the object storage - it would be less efficient though. The core cell is able to store a plurality of levels of an expression. Basic instructions in the expression stored in the core cell should be executed in the core cell. The core cell is adapted for structure arithmetic, i.e. arithmetic for rewriting a structure given by a computer program. The expression of a cell in the unit is of a size that corresponds to a branch of the representation graph that is involved in a rewrite operation. Numeric/Structure Arithmetic units It is to be noted that the core cell is a device only doing the structure arithmetic, i.e. most of the reductions, and that it makes use of a numeric arithmetic unit (numeric ALU) for performing numeric operations. Normally, a processor is provided with an arithmetic logic unit (ALU) performing both numeric and parts of structure operations, and this prior art ALU is not divided into different functional parts for structure and numeric operations in any way. When using a conventional ALU a small program is needed in order to perform equivalent operations to the structure operations performed in the core cell. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present invention and for further objects and advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings, in which: FIG. 1 shows schematically the structure of a first order reduction processor according to the invention. FIG. 2 illustrates schematically the design of an embodiment of a memory in the first order reduction processor in FIG. 1, FIG. 3 illustrates schematically an embodiment of a storage cell in the memory shown in FIG. - , FIG. 4A shows the use of different fields in a storage cell which can store a cell closure, FIG. 4B to 4D show core registers which could be used in an embodiment of a core cell, FIG. 4E shows a possible configuration of the core registers in an embodiment of a core cell, FIG. 5A to 5F show different data storage forms in a core cell, FIGs 6 to 8 show examples of the operation of a core cell, FIG. 9 shows a block diagram of an embodiment of a operating plane in a core cell in the first order reduction processor in FIG. 1, FIG. 10 shows schematically an embodiment of a design of a generic register cell in the core cell having all types of possible connections for the operating plane shown in FIG. 9, FIGs 11 and 12 show schematically two examples of transfer between register cells in the core cell, FIGs 13 to 19 show different examples of data transport within the core cell, FIG. 20 shows a circuit diagram of a bit cell in a storage cell (shown in FIG 3) and drive and sense circuits connected to it, FIG. 21A shows a circuit diagram of a block included in a priority decoder in the memory, FIG. 2IB illustrates connection of blocks shown in FIG. 21A, FIG. 22 shows a circuit diagram of an embodiment of an element head in the memory. FIG. 23 shows a circuit diagram of an embodiment of a closure head in the memory, F I G . 24A shows a schematic diagram of a numeric ALU in the first order processor in FIG. 1, FIG. 24B shows a diagram of clock signals and some basic control signals for the numeric ALU shown in FIG. 24A, FIG. 25 shows a schematic representation of the bit field partition in an arithmetic representation, FIG. 26A shows a graphical representation of a code for integers, FIG. 26B shows a graphical representation of a code for floating-point values, FIG. 26C shows a schematic representation for explaining the set up of an arithmetic representation provided on a 7 bit bus, FIGs 27A to D show a data list provided in accordance with FIG. 26, FIG. 28 shows a circuit diagram of an embodiment of the numeric ALU in the first order processor according to the invention, FIG. 29A to C show an embodiment of an input/output buffer of the numeric ALU in different clocking sequences FIG. 30 shows a circuit diagram of an embodiment of a precision decoder included in the circuit shown in FIG. 28, FIG. 31A shows a block diagram of an embodiment of a full word adder in the circuit shown in FIG. 28, FIG. 3IB shows a block diagram of a precision slice in the adder in FIG. 31A, FIG. 31C shows a block diagram of a bit slice in the precision slice in FIG. 31B, FIG. 32 shows an embodiment of a precision slice in an incrementer in the circuit shown in FIG. SUBSTITUTE SHEET 28, FIG. 33 shows a circuit diagram of an embodiment of a basic selector bit slice included in the selectors in the operand circuits in the circuit shown in FIG. 28. FIG. 34 is a diagram of a signal sequence at a port included in the processor according to the invention, FIG. 35 shows an embodiment of a port for input to and/or output from the processor according to the invention FIG. 36 shows a very general second order reduction processor (SOP) according to the invention, FIG. 37A shows an embodiment of a SOP where the first order processors (FOPs) are arranged in a square field, FIG. 37B shows an operating plane in the core cell provided with four separate data transfer means for possible use in the square field SOP in FIG 37A, FIG. 37C shows a square field SOP including 256 FOPs divided into square regions, FIG. 37D and 37E illustrate different soft rings in a square field SOP, FIG. 38 shows a second embodiment of a SOP where the FOPs are arranged in a hierarchy of networks, each network being a bus, FIG. 39 shows a third embodiment of a SOP where the FOPs are arranged in a hierarchy of networks, each network being a hard ring, FIG. 40 shows an embodiment of a combination SOP including the SOPs in FIGs 37A, 38 and 39, FIG. 41 shows a third order reduction processor which includes several SOPs, FIG. 42A to C show different parts of a third order reduction processor and illustrates one way to handle global addressing. DESCRIPTION OF THE PREFERRED EMBODIMENTS A first order reduction processor In FIG 1 an embodiment of a first order reduction processor, i.e. a simple reduction processor, according to the invention is shown. The first order processor is a reduction processor which could be provided as a part in a more complicated reduction processor as will be described further below. The schematic structure of this reduction processor is apparent from FIG. 1. However, it is to be noted that the design of it could be quite different, for instance the different planes of the core cell could be provided side by side on a chip or they could be provided in parallel layers but not exactly having the same design as schematically shown. The first order reduction processor in FIG. 1 includes an active, associative memory 1, below called object storage, including memory cells, below called storage cells, each able to store a data object which could include executable parts and also preferably being able to provide limited sets of reducing arithmetics, a structure arithmetic unit 2, below called core cell, including several core registers 3 for performing the structural arithmetic operations, i.e. the structure modifying reductions, and, if the first order reduction processor in FIG. 1 is a part of a two or multi order reduction processor including several first order reduction processors, a processor network data transfer means 4 providing the communication between the multiple processors. The data transfer means 4 includes several registers adapted to temporary hold a storage cell structure, in order to transfer this structure to another first order processor. It is possible to reserve a field in the object storage for operations which are made in the core cell, i.e. the core cell could be simulated in a part of the object storage. The core cell has several features to exchange and transfer data between its registers in one operation only. Such features will take several operation cycles in an object storage field simulating the core cell. A numeric arithmetic logic unit (numeric ALU) 5 is connected to the core cell 2, and data from the core cell is transferred to the numeric ALU when numeric operations are to be made. Thus, the structural arithmetic and the numeric arithmetic are made in different, separate units. The processor does also include a central control unit 6 for controlling the elements in the object storage 1, the core cell 2, and the numeric ALU 5. Further, the processor could be provided with one or several ports for communication with the outside world. The central control unit The central control unit 6 is preferably a boolean gate array of quite a complicated configuration. An embodiment of it can not be shown, because the configuration of it is calculated in a computer being provided with all the algorithms regarding the configuration of the control signals in relation to the informative signals. The boolean gate array is provided directly as chip mask patterns from the computer adapted to the configuration of the chip mask patterns for the whole processor according to the invention. Thus, this circuit is impossible to show in detail. Only signals to and from it will be described in connection with embodiments described below. The object storage The object storage 1 has substantially more intelligence than an ordinary RAM type memory. It is associative which makes it possible to provide more services than "read" and "write" as provided by an ordinary RAM type memory and as will be explained further below. A bit cell structure particularly suited for the object storage is shown in FIG. 20. The memory bit cell is able to perform many functions even though it only includes four connections of which three are controllable. It includes very few components. This gives a possibility to make a compact storage device including a huge amount of memory bit cells. The object storage is divided in storage cells, each including several closure elements. The provided services are on a high level. For instance it is possible to find all occurrences of a particular data element whatever place it has within the individual storage cells and to rewrite the found particular data element globally, i.e. within the whole object storage, to a new value using only one memory instruction. Since the object storage is associative this rewrite operation could be made in two physical memory cycles independent of the number of affected storage cells. With reference to FIG. 2, the associative object storage 1 consist of a storage plane of rows of storage cells 10. Thus, the storage cells are provided as rows in a stack. They are all connected to a vertical memory bus t^, t2, id, env, V , V^, V2, V driven by drive and sense amplifiers in a transforming interface 7, as will be further explained in relation to FIG. 20. All storage cells are also connected to a priority decoder 11 selecting one storage cell 10 at a time out of several storage cells to be operated. The object storage is controlled by associative accesses performed during a session of some few cycles. A full object storage access is performed during a session. The port In order to communicate with the outside world the reduction processor could be provided with one or several ports for input/output of data. The port can be seen as an prolongation of the object storage since it contains storage cells similar in function and compatible with the object storage cells. The port performs input/output-operations through unification. The object storage cell A storage cell 10 in the object storage 1 is used both to store a digital content and to take active part in the actual computing. Composed digital information and at least one mark are stored in each storage cell 10. The marks are either CHOSEN or NON CHOSEN. The composed digital information in the storage cells or in parts of them, called closure elements, can be read or written by reading or writing the information being marked CHOSEN. Access may also be provided without having the mark bit involved. The access is then controlled by the result of a logic function on one bit busses a and b connected to the elements as shown in FIG. 3, which shows a storage cell. Two global one bit busses 12 (MODE) and 13 (MORE) are provided in order to make logical operations between the storage cells 1. These operations could be AND and OR. A third bus 14 (ANY) could be provided connected to the priority decoder. However, the number of busses is not restricted to three but may be only one or several. The separate storage cells can read from the busses 12, 13 and 14 and also take part in the logical operations. The bus 12 (MODE) will have a signal 'true' if a test is going to be made on any of the buses a or b. The bus 12 (MODE) can be read and written by all the storage cells. The bus 13 (MORE) will have a value 'true' if MORE than one storage cell are chosen. The bus 14 (ANY) will have a signal 'true' (i.e. "1") if ANY of the storage cells request communication. The storage cell shown in FIG. 3 is divided into several storage cell fields 151. Each storage cell field 151 includes several bit cells 15 and an element head 166. A closure element is stored in the bit cells 15 together with a mark representing CHOSEN or NOT CHOSEN stored in the element head 16. The closure elements could be assigned to mutually different tasks. The word length to be stored in each closure element could for instance be in the order of 38 bits. As an addition to the mark in the head 16 some of the bits in bit cells 15 may also be used as an information regarding the usage of the rest of the information in the element. Thus, so called tag words may be placed in these bits. 6 bits may be used as tag words and 32 bits as normal, stored information in the bit cells 15. As apparent from FIG. 3, all the closure elements do not have to have the same size. Thus, the closure elements connected to the bus parts tl and t2, i.e. TYPE, are smaller than the closure elements connected to the rest of the bus parts. The element head 16 of the storage cell fields 151 are connected to local one bit busses a and b of the storage cell. The number of these busses may be chosen in another way. The essential is that there is at least one bus. Logical operations of the kind WIRED AND and WIRED OR among CHOSEN of the closure elements are made using these busses. Each storage cell has a closure head 17 to which the busses a and b are connected. The closure head 17 is also connected to the priority decoder with at least one bus one bit wide, which in the embodiment shown are two busses 18 and 19, and is also connected to the global busses 12 and 13. The closure head 17 serves as a buffer. The cells can read the result on these busses or take part in the logical operation. The object storage cell use An embodiment of a storage cell is shown diagramatically in FIG 4A, and will be used to explain the function of the different storage fields in a storage cell, as used in the processor according to the invention. The fields in the storage cell in FIG 4A do not have the same order as the fields in the storage cell in FIG 3, because FIG 3 shows the hardware and FIG 4A the use of the cell. As illustrated in FIG 4A the storage cell can store two kinds of closure elements and includes storage fields particularly adapted to the elements to be stored. These fields have been given the same names in FIG 4A as the closure elements to be stored in them. The first kind of closure elements The first kind of elements describe different states of the storage cell. One element of this kind is LAZY, which denotes whether the cell is idle, in which case the rest of the content of the cell is regarded as passive information, exec, i.e. is in an executable state, or wait, i.e. the evaluation of the cell has been postponed and it is waiting for a result before it can be executed. The field LAZY includes two bits. Another first kind of element is WHERE, indicating if the closure is a root or a node of a tree. It includes one bit. Another first kind of element is TYPE, which include an type code (par, seq, apply, list, unify etc). It includes three bits in the shown embodiment. These first kind of elements are adapted to be stored in the parts of the core registers 3 provided in planes LAZY, WHERE, and TYPE shown in FIG 1 when a cell closure is transferred to the core cell for reduction. Therefore, they have been provided with the same denotations. However, the core cell is provided with an extra plane called CLOS/SIMPLE in which it is denoted if the information in the register is a closure or a simple value. The planes CLOS/SIMPLE, LAZY, WHERE and TYPE are called the ATTRIBUTE planes below. Depending on the application additional storage cell fields and core cell planes could be provided. The second kind of closure elements The second kind of elements describe identification, environment or value. These are IDENTIFIER, ENVIRONMENT, VALUE/DES. These second kind of elements are adapted to be stored in the parts of the core registers 3 provided in the planes HEAD and NUM shown in FIG 1. Each of these elements includes an element word including 38 bits in the shown embodiment. The element word in turn is divided into a num word having preferably 32 bits to be stored in the planes NUM in the core cell and a tag word having preferably 6 bits to be stored in the planes HEAD when transferred into the core cell. Depending on the application additional planes could be provided. The tag word Each closure element of the second kind has a tag word indicating the feature of the num word. The tags are of two kinds, indirect tags, i.e. tags used for identifiers and environments, and direct tags, i.e. tags used for simple values or the like. Examples of indirect tags are els, canon, and open. If the tag word is els it means that the num word represents a closure which might be reduceable. If the tag word is canon it means that the num word represents a closure which can not be further reduced. If the tag word is open it means that the identifier field represents a closure being an inserted list. Examples of direct tags are discr, cont, unused and nothing. If the tag word is discr it means that the num word is an integer. If the tag word is cont it means that the num word is a floating-point value. If the tag word is unused it means that the num word in the field lacks meaning. If the tag word is nothing it means that the num word in the field represents nothing, i.e. a contradiction, e.g. a unification of a closure including a field marked nothing will always be nothing. Depending on the application additional indirect or direct tag words could be provided. Identifiers If the identifier field in a storage cell includes an identifier element the cell closure in that storage cell could be transferred to the core cell. Each of the storage cell fields VALUE/DES could contain an identifier denoting another cell closure, thereby providing a link to this other cell closure. The amount of stored closures could be seen as a directional graph or tree of cell closures held together by identifiers. The environment The environment fields could include an identifier designating the root closure in a tree of closures providing the environment of the closure. In this way the whole structure is accessible from one closure in the tree, through the root, in one operation only. However, the environment field could also have other uses. The environments could be used to keep track of the creator of a structure by storing the identifier of the creator in the environments of all cell closures created. Another example is that all closure cells in a subtree, in which all symbols having the same name shall stand for the same thing, could be grouped by having the same environment. Thus, if the environment of a closure is given, the root closure within this environment could be found. A root closure of an environment may be provided with a particular mark (for instance "1") in the field WHERE in its storage cell. A node closure of an environment may be provided with another mark (for instance "0") in the field WHERE. The type The content in the storage cell field TYPE is the type of the cell closure. This TYPE component can for instance have the values: par, i.e. parallel values and or designations, list, i.e. a sequence of values and/or designations, unify, i.e. a content of values and/or designations which are to be examined whether they represent the same values or not etc. The core cell The core cell as a whole is an arithmetic device for structural arithmetic containing several core registers 3 (see FIG 1) . The registers store a tree of lists. Each list includes words. The core registers contain a definition derived from the object storage 1. The core registers 3 are connected to the object storage with a bus arrangement 8, including the buses type, id, env, V Q , VJ, V2, V3, wide enough to transfer the content in a object storage cell. However, the core cell may contain and include up to a three level object structure. There are four cases: a O, 1, 2, or 3 level object structure can be stored in the core cell. Registers in the core cell The registers that could be used in an embodiment of the core cell is shown in FIGs 4B to 4D, the configuration of the registers that could be used in an embodiment of the core cell is shown in FIG 4E. FIG 4B is meant to illustrate that a register is built from register cells, each cell being able to store one bit of information. The way the register is drawn is meant to illustrate that a register extends through the different planes in the core cell, with each register cell situated in one plane. FIG 4C shows a register, which extends through all the planes in the core cell, i.e. a full register. This kind of register can hold an identifier or a value in the register cells situated in the NUM and HEAD planes. It can also hold a state, described above, in the register cells situated in the BOOL, TYPE, WHERE, LAZY and CLOS/SIMPLE planes. FIG 4D shows a register, which extends through only the NUM and HEAD planes of the core cell, i.e. a limited register. FIG 4E shows a possible configuration of registers in the core cell. The core cell has base registers preferably arranged in a square, called the base register matrix. The base registers have a main row along one of its sides, called the main registers. The columns of base registers, each having one main register at the bottom, are called the subsidiary registers. The core cell could also be provided with an identifier register and an environment register. A line of auxiliary registers is placed at the side of the base register matrix. In an embodiment of the core cell all base registers except the main registers could be of the kind shown in FIG 4D, i.e. limited registers, and the rest of the registers in FIG 4E could be of the kind shown in FIG 4C, i.e. full registers. Before a more detailed description of the hardware structure of the core cell a brief description of different storage forms of data will be given with reference to FIGs 5A to 5F and some examples of its operation will be given with reference to FIGs 6A to 6H, 7A to 7G, and 8A to 8G. Simple value As shown in FIG 5A, a simple value 25 being a result of a reduction is present in a particular register of the main registers. One level structure A goal is what is loaded into the core cell in order to be reduced. As shown in FIG 5B a goal including only one level, typically being a closure without references to other cell closures, is stored in the main registers. The example shows a simple numeric operation, i.e. the addition of the values 1, 2 and 3. The numerical instruction (+) is stored in the first main register and the elements to be processed are stored in the other main registers. Two level structure As shown in FIG 5C a tree including a two level structure may have its root list, being a father, stored horizontally in the main registers and the lists, being sons, vertically in the base registers. In this example the structure having a list representation ( (1 2) (3 4) ) is stored in the base register matrix. The root list, i.e. 1 and 3, being the first elements in the sublists is stored in the main registers, and the son lists, i.e. (1 2) and (3 4), are stored vertically in the subsidiary registers. Further examples of this kind of storage will be given below, e.g. in relation to the FIGs 6. Three level structure As shown in FIG 5E, a goal tree including a three level structure has its root stored in one of the auxiliary registers and its single son is stored in the main registers. In FIG 5D the root, which is the instruction Transpose (Tr), of the goal tree is stored in one of the auxiliary registers and its son, which is the list (idl, id2, id7), is stored in the main registers. Each element in this list is in turn an identifier denoting a son. In FIG 5E these sons are vertically loaded in the base registers, where idl is exchanged for the list it denotes, i.e. (12 3), and where id2 is exchanged for the list it denotes, i.e. (1112 13), and where id7 is exchanged for the list it denotes, i.e. (21 22 23). Pipe line mode As shown in FIG 5F, a tree stored in a pipe line mode is loaded with the goal list in the main registers and with the father of the goal in the auxiliary registers and has instructions and elements to be processed stored in both kinds of registers. The pipe line mode of operation is preferably used when reducing numeric expressions. One advantage is that intermediate results can be temporarily stored in the core cell instead of in the object storage. EXAMPLE 1 The first example shown in FIG 6A to 6H is a unification of parallel values given as the reduceable closure unify(par(l par(l) 3) par(l par(l) 2)) This reduceable closure is to be rewritten, as a parallel structure of unifications. FIG 6A shows the initial reduceable closure. FIG 6B shows how this reduceable closure is stored in the object storage. The storage cells in which different parts of the reduceable closure are stored are marked out in FIG 6A. The links between element closures and cell closures are marked out in FIG 6B. The cell closure having the identifier id-^ has the tag els and has the type code unify in the type field and the cell closures having the identifiers id2 id3 and id 4 have the type code par in their type fields. The cell closure having the identifier id includes as its first two value/designation closure elements designating the cell closures having the identifier id 2 and id 4 . These cell closures are tagged canon. The cell closure having the identifier id 2 has its first and third value/designation closure elements provided with discrete values having the tag discr and its second value/designation closure element designating the cell closure having the identifier id3 and thus is tagged canon. The cell closure having the identifier id 3 has its first value/designation closure element provided with an integer and thus tagged discr. The cell closure having the identifier id 4 has its first and third value/designation closure elements provided with discrete values having the tag discr and its second value/designation closure element designating the cell closure having the identifier id and thus tagged canon. As shown in FIG 6C, the content of the storage cell with the cell closure having the identifier id^ is first loaded into the core cell placing its identifier in the identifier register as id^ including the type code unify of the closure, and the value/designation elements as the goal in the main registers in a first operation step. How this is actually done is shown in FIG 13 and described further below. As shown in FIG 6D, the sons having the identifiers id2 and id * are loaded vertically in the base registers such that the content in their first value/identifier element is placed in the main register marked with its identifier and the rest of its value/identifier elements in registers in a vertical column thereabove. The type code par of each of these sons is also loaded in the main register. The type code is loaded into the register cells situated in the TYPE planes. As shown in FIG 6E, the content of the base registers are transposed 90°, such that the content in the first vertical column of the base registers are placed in the main registers and the second vertical column is placed in a row in the base registers parallel to the main registers. A transpose operation is shown in FIG 18 and is described further below. The type codes par and unify provided in the identifier register and the main registers are exchanged, which is done automatically by the control unit. Now the base registers includes a father having three sons placed in columns. Each son is now loaded back into the object storage using the instruction make. As an answer from the object storage the identifiers for the stored sons are provided and stored in the main registers. It is to be observed that the control unit 6 is sensing the contents particulary in the registers in the planes CLOS/SIMPLE to TYPE and is providing the instructions, i.e. controls the switches and the gates, according to the information found there. The sons have been named in sequence order after id-L and already occupied names are not used. However, the order of the names is of no importance, and could thus be arbitrary. As shown in FIG 6F, the first son gets the identifier id 2 , the second son, containing the element closures occupying the identifier id3, gets the identifier id 4 , and the third son gets the identifier ide j . The father having the element closures linked to the cell closures having the identifiers id2, id * , idg has kept its identifier id j^ and is then stored in the object storage. FIG 6G shows the storage cells storing the reduceable closure par(unify(l 1) unify(par(l) par(l)) unify(2 3)) The reduceable closure itself is shown in FIG 6H. FIGs 6G and 6H are shown in the same way as FIGs 6A and 6B and are therefore self explanatory. In FIG 6G it is also shown that the cell closures having the type code unify has been given the notation exec in the LAZY field and the cell closure having the identifier id-^ has been given the notation wait, which means that the cell closures being marked exec should be executed before the cell closure denoted by the identifier id-^ in order to reduce their contents into values. The closure in FIG 6H could, at a later point in time, be loaded back into the core cell for further processing. For instance, the cell closure having the identifier id 2 will have the value 1, because the values 1 and 1 in its value/designation elements are the same, and the cell closure having the identifier idg will result in nothing, because the values 2 and 3 in its value/designation elements are not the same. Each unification will be made in the numeric ALU which compares the values in comparators and provide the result of the comparison to the control unit 6. The control unit then uses its boolean gate array to provide the information in the first main register in the core cell accordingly. When a reduction has resulted in a canonical designation or a simple value or nothing, it is globally distributed to all the storage fields in the object storage such that each indirect designation of the reduced closure is replaced with the result of the reduction. This is made by a unify_id operation further described below in relation to FIG 16. EXAMPLE 2 This example is a hardware instruction list expansion meaning that the cell closure includes a inserted list. This kind of instruction is an auxiliary step in other, reductions. The hardware instruction list expansion is shown in FIG 19 and is described further in relation to FIG 19. The machine performes a reduction of an exemplifying instruction, called ex.type, and which could be any kind of instruction which includes values and lists having the form ex.type(l list(2 3 list(4 5 6))7) The form is shown in FIG 7A and its cell closures in FIG 7B. FIGs 7A and 7B are marked out in the same way as FIGs 6A and 6B and are therefore self explanatory. As shown in FIG 7C, the cell closure having the identifier id-^ is loaded into the main registers of the core cell having its identifier and the type code in the identifier register. Since the content in the second main register is marked with an indirect element open, the cell closure to which it is linked is loaded vertically in the base registers as a son, as apparent from FIG 7D. The hardware instruction list expand, shown in further detail in FIG 19, then moves the discrete value 7 in the third main register to the position beside id 4 in the third base column and moves the part of the list in the second column above the second main register to the third column placing its lowest element (the value 3) in the third main register and giving it the type code list. Since the content in the second main register is a discrete value it has the tag discr. Then, a new list expansion is made placing the content in the third column above the main register in the fourth column typing it as a list. The content in the third main register being a discrete value is tagged discr, as apparent from FIG 7F. Then the list in the fourth column is stored in the object storage using the instruction make. It is stored in the storage cell having the identifier id2, since it has become idle, and a supply of the identifier id2 is sent back to the core cell to be stored in the fourth main register, as apparent from FIG. 7G. Thereafter some other kind of reduction is made of ex.type before the result of the reduction is loaded back into the object storage. EXAMPLE 3 A numeric instruction is to be executed. A numeric instruction can be +, -, *, /, mod, etc. After the instruction the arguments will follow. In this example an addition between the numbers in a list is to be made. The machine makes a reduction of an apply (application) having the function apply(+ list(l 2)) The application is shown in FIG 8A and its cell closures in FIG 8B. FIGs 8A and 8B are marked out in the same way as FIGs 6A and 6B and are therefore self explanatory. As shown in FIG 8C, the cell closure having the identifier id j is loaded into the main registers of the core cell having its identifier and type code in the identifier register. The numeric instruction (+) is marked as an instruction. Since the content in the second main register is tagged as an indirect element open, the cell closure to which it is linked is loaded as a son vertically in the base registers, as apparent from FIG 8D. A list expansion is then made, tagging the discrete value in the second main register as discr, and marking the list expanded value 2 as list in the type code field. This is done because the machine makes the same operation whether the list having the identifier id2 had two, three or four elements. Since there is only one element in the new list the machine replaces the mark list with an indication that the main register contains a value which is discr, as apparent from FIG 8F. Then the main register includes an instruction mark (+) and two discrete values, and this causes the control unit, directly, or for instance through information regarding the instruction stored in a non writeable part of the object storage, in which instructions are stored, to control the numeric ALU to perform the instruction (addition) and to deliver the result of the numeric operation as a canonical value to the first main register, as shown in FIG 8G. It is to be noted that the notation apply in the type code field is a marking that an function application is to be made. The result value, in this case the simple value 3, is then distributed globally in order to exchange every occurence of the identifier idi for this value. As illustrated above, a fixed number of registers in a register stack store a list. Unused registers are particularly marked as unused. The tree of lists is used to control and provide a calculation, and this is performed under control from the central control unit 6 and, if a numeric arithmetic operation shall be done, in cooperation with the numeric ALU 5. A calculation is made by rewriting the content in the tree of lists. Lists having up to four elements could be placed in one cell closure. However, arbitrary long lists may be handled but then each such list must be divided into several lists each having a length coinciding with or being shorter than the maximal length to be processed in a core cell. The core cell can only process a tree of a certain depth at a time. Trees having a greater depth may be handled, but only a part of the tree having a limited depth is stored in the core cell at a time, i.e. it is only possible to handle a part of the tree at a time. Interface : object storage <-> core cell The object storage 1 and the core cell 2 are interconnected through a transforming interface 7 making a signal adaptation and a closure wide bus arrangement 8, i.e. a bus arrangement which can transfer the whole content of a cell closure between the core cell 2 and the object storage 1. The bus arrangement 8 includes a partial bus arrangement OBJv, including buses id, env, VQ, V^, V 2 , V , connected to register planes NUM in the core registers 3, and the partial bus arrangement TAG connected to register planes HEAD in the core registers 3, and the bus arrangement ATTRIBUTE including buses from the planes LAZY, WHERE, and TYPE to the corresponding closure field in the storage cells. The interface 7 amplifies and transforms the signals from the core registers 3 through the cell closure wide bus arrangement 8 to signals suitable for the memory bit cells in the object storage. It also amplifies and transforms signals from the object storage 1 in reading operations to be adapted to the core cell registers. Even though the interface 7 is shown to be placed in the object storage 1 it could instead be situated in the core cell. An interface for a bit cell is shown in FIG 20 and is described in detail below. THE STORAGE CELL OPERATION Returning to FIG 3, the storage cells are controlled by composed digital information from the central unit 6 distributed to all the storage cells through a control bus arrangement (not shown) connected to the core cell 2. The bit cells 15 in each closure element can be controlled from its head 16 such that the bit cells can perform one of the following operations at a time: rest in which each bit cell keeps a stored bit value stored, read in which stored bit values in the bit cells are read, write in which bit values are written in the bit cells, compare in which a data word composed by bit values stored in the bit cells is compared with another data word. The mark is settable in dependence on logical conditions each being a function of data on the second busses a and b, earlier mark, the result of the comparison in case of the comparison operation and an control signal to the memory from the control unit 6. Since associative addressing is used, i.e. data is retrieved on basis of the stored content rather than through an address, there are no physical dependencies. The memory is associative. It is possible to use the cell identifier, the environment, the type, the information value or combinations of them as a search key. The mark bit or bits in the elements of a storage cell having the value CHOSEN indicates that the element has been selected as a target for the access mechanism. Certain search operations set the marks, which is described below. This type of access may involve one or several storage cells. As mentioned above, one of these multiple cell operations is a kind of store operation that may store an identifier in many selected elements. A wire ace connected to the head 16 interconnects all the bit cells within an element. All the bit cells are controlled by signals on the wire ace. Other wires d and d connected to the bit cells are connected to corresponding bit cells in the other storage cells in the object storage, as will be explained further below. The priority decoder The priority decoder 11 includes one section for each storage cell, each section having a first connection for REQUEST, on which a bit value 'true' represents NEED and a bit value 'false' NO NEED, and a second connection for GRANT, on which a bit value 'true' represents CHOSEN and 'false' not CHOSEN. The priority decoder 11 sets maximally one GRANT equal to CHOSEN. This can be chosen such that the first section, measured in the structure, which has REQUEST equal to NEED will be CHOSEN. An embodiment of the priority decoder is described below in relation to FIG 21. In many cases the protocol on the memory bus communicates with all the storage cells. However, in some cases several storage cells, or closure elements within storage cells, should be ordered and read out. This is done by the priority decoder 11. From each cell there is a REQUEST signal and the priority decoder 11 returns a GRANT signal. The memory is controlled with read, write and search operations. These operations can be combined to more complicated operations. Certain arithmetic can be made on several of the internal busses a and b and on the global busses . A search is made by making a comparison, with the result FIT or DIFFERENT. The search can be made in one of the following ways: (1). Search is made individually for each closure element and is independent of the composed information in other closure elements. (2) . Search can be made using a comparison to all closure elements in a storage cell. The result must be FIT in every element. (3). Search can be made using a comparison to all closure elements in a storage cell. The result must be FIT in at least one of the closure elements. A comparison can be made in one of the following ways: (1) . Two bit patterns are compared. A comparison results in FIT only when all corresponding bits are alike. (2) . the two bit patterns to be compared or only one of them are coded such that one of the bits states that the bit pattern information corresponds to an ARBITRARY or a SPECIFIC information value v. If, at a comparison, one of the information values corresponds to ARBITRARY then the result is FIT. Otherwise the result is FIT only when the two specific information values v are identical. The bus function is performing the concept of reading or writing the object storage word. The bus is controlled by an access function. The access function depends on the mark and/or the value of the second busses a and b. The WIRED OR function provided on the one bit bus a has a list of booleans. It evaluates a logical OR between all the closure elements in a storage cell. Physically it corresponds to a wire that is set by an array of transistors in the element heads 16. The WIRED AND function provided on the one bit bus b has a list of booleans. It evaluates a logical AND between all the closure elements in a storage cell. Physically it corresponds to a wire that is set by an array of transistors in the element heads 16. The priority function of the priority decoder 11 has a list of booleans as argument and results in a boolean list of the corresponding size. The argument has a first element which has the highest priority. After that bits with lower priority will follow. The first 'true' bit of the argument results in a corresponding true bit in the result. All other bits are 'false'. The elements in the storage cells are generally used by first searching for values in the elements and then performing operations such as read and write in the found elements. THE HARDWARE STRUCTURE OF THE CORE CELL The planes NUM and HEAD have their core register cells connected to the wires in the bus OBJv, the id bus, i.e. an identifier bus, and the env bus, i.e. an environment bus, between the planes 2 and the interface 7. The OBJv bus includes the bus parts vO, vl, v2 and v3. The array of core register cells are thus "sliced" perpendicularly to the registers into the planes, and the register cells belonging to the same NUM or HEAD plane, but to different core registers, are connected to each other in the way shown in FIG 9. In the structure of at least the NUM- and HEAD-planes, shown in FIG 9, a square of register cells is placed in a matrix with NxN registers S Q Q to S N _ 1 N-1' -~- e - iase registers. The base registers are in most applications used for temporary storing closure elements. The denotation of the registers have been strictly divided in such sense that one kind of denotation, such as base, main and auxiliary register, is used if the description is directed to the actual position of the register, and another kind of denotation, such as son, goal and father register, is used if the description is directed to the function of the register. In the embodiment shown N=4, and this is to be preferred, but other matrix sizes could be chosen (not shown) . The lowest row of base register cells S Q Q , S^ Q , S2 Q and S3 g, as shown in FIG 9, are connected to bus line hO and are the main register cells. The main register cells S Q Q, S-^ Q, S 2 Q and S3 Q are most often used as goal root registers and are connected to the numeric ALU 5 through a bus NU, which consists of the conductors NUO to NU3. An identifier register cell ID is connected to the line id and an environment register cell ENV is connected to the line env. The bus line hi is connectable with the bus line vi by a switch SW V ^, where i is a number between 0 and 3. The bus including the bus lines hO, hi, h2, h3 is named OBJh, i.e. the horizontal object bus. The bus OBJh is, among other things, used for loading data vertically, i.e. in a column of registers, in the core cell, which data is provided by the object storage through the bus OBJv. This is described further in relation to FIG 15. The bus lines id, env, vO, vl, v2, v3 are connectable to the bus line hO by the switches SW id hQ , S enV/hQ , SW vQ , SW vl ^ hQ , SW v2 h0 , and SW v3 h0 , respectively. The bus res, including the bus lines c _df c f/ c h' nc C V ^ s conne cted to the control unit 6 and could be used for setting a register with a constant. such as zero. The bus line c id is connected to the identifier register cell and the bus line c f is connected to the register cells F0, FI, F2, and F3, and the bus line c h is connectable to the bus line hO by a switch SW^ ^Q, and the bus line c v is connectable to the bus line vi by a switch SW vi cv , where i is a number between 0 and 3. The bus res with its switches may be omitted in some applications (not shown). Auxiliary registers There is a top level in a data tree, called father. The father is some times stored in auxiliary register cells F0, FI, F2, F3 which are placed to the left in FIG 9. Every auxiliary register can store a core word in the embodiment shown. Each auxiliary register cell is connected to the bus line id and to one of the lines hO, hi, h2, h3, respectively. The auxiliary register cells are to be used in a minority of the operations the core cell can provide. Therefore the auxiliary register may be omitted in some applications (not shown) . It is also possible to provide a core cell having more than one column of auxiliary registers (not shown) . As apparent from the above each register is provided by register cells in several of the planes 2 having the same location in the planes. Therefore, the whole registers will be denominated by the references used in FIG 9, even though FIG 9 only shows one cell, i.e. one bit, of each register. As apparent from FIG 9 the registers are arranged in rows and columns. The auxiliary register area F0, FI, F2, F3 is a column and the N base register areas S Q Q to S Q 3, S^ Q to S j 3, S2 Q to S2 3, and S3 Q to S3 3, respectively, are each a column and able to store a son. Connections between register cells A connection is provided between the adjacent base register cells in each plane, both vertically and horizontally. A connection having a fixedly programmed value, which in the embodiment shown is false f, is also provided to each of the outmost base register cells on the horizontal row turned to the object storage. It is connected to the N terminal (North) in the register cell (see FIG. 10) and is used when shifts in the North-South direction are made. A connection in the diagonal direction between base register cells is settable such that transposable positions are connectable. This means that a cell S^ J, where i is different from j, is connectable to a cell s j i* Each base register cell is connected to the base register cell situated nearest below to the right, where there is a base register cell in such location. Each auxiliary, identifier, environment and base register cell is connected to one of the planes BOOL by an output ACC Fχ , ACC id , ACC env , and ACC Sχ y , respectively, where x and y are numbers between 0 and 3. Below a generic register cell is described (FIG 10). From the generic register cell, embodiments of the specific register cells, i.e. base, auxiliary, identifier, and environment register cells are derived (not shown) . For further details concerning the specific structure of the different register cells we refer to our copending US Application No The generic register cell Refering to FIG. 10, a preferable embodiment of a register cell includes two internal buses a R and b R and a central internal register r R . The buses a R and b R are connected to several connections outside the register cell. The embodiment in FIG. 10 shows a generic register cell provided with every possible connection to the outside. Typically, a specific register cell is not provided with all the connections shown in FIG. 10; depending upon the placement of the register cell one or more are missing. All the wires between connected terminals are apparent from the wiring shown in FIG 9. It is also apparent from FIG 9 that not all register cells have all the outer connections shown in FIG 10. A detailed description of all the register cells and their connections is therefore not given. The bus a R The bus a R is connected to the vertical bus line vx, where x is a number between 0 and 3, through the switch SW V* and a terminal V. Further, it is connected to the horizontal bus line hy, where y is a number between 0 and 3, through the switch sw Hi ai ~~ term inal H, to the register cell to the left through a terminal W (West) connected to a switch SW E (East) in the neighbouring register cell, and, if the register cell is a main register cell, also to the numeric arithmetic unit lp directly by a terminal NU. The bus a R is also connected to the register cell down to the right through a terminal Da to the switch SW Db provided in that register cell and also to the register cell below through a terminal S (South) to the switch SW ™ (North) provided in that register cell. The register cell can be set or reset through the terminal C and switch SW C , which iε connected to the bus a R . The bus a R is also, via a switch SW a -^, connected to an input of the central internal register r R and via a switch SW aQ to an output of the same. The bus b R The bus b R is connected to the register cell to the right through a switch SW £ and a terminal E, and also to a diagonal of register cells through a switch SW Q ^ and a terminal Db and also to the register cell above through a switch SW N and a terminal N. The bus b R is also, via a switch SW j ^, connected to an input of the central internal register r R and via a switch SW bQ to an output of the same. The central internal register The central internal register r R includes two inverters Ql and Q2, preferably CMOS inverters, and a controllable switch SW Q between them. A complete register cell includes also the buses a R and b R and the switches SW al , SW &Q , SWJJ Q and switches connecting the cell to the outside. The output of the central internal register r R is connectable to the horizontal and the vertical buses, via the switch SW Ho and terminal H and the switch SW Vo and terminal V, respectively. The central internal register r R stores a dynamic state (explained below) . Switch operation All the controllable switches in all the register cells in the core cell are controlled through wires connected to the control unit 6, which includes a gate array, such as for instance a PAL (Programmable Array Logic) . The gate array uses the information stored in the core cell to determine which switches to open and which to close next. The gate array operation is synchronized by a clock. The switches are bidirectional, but some are used in one direction only, for instance the input- and output- switches SW jj ^ and SWJJ Q . The comparator device COMP A comparator device COMP includes a first NAND-gate Gl. One input is connected to the non-inverted input of the inverter Ql and the other to the input of the inverter Q2. The device COMP also includes a second NAND-gate G2. One input is connected to the output of the inverter Ql and the other to the output of the inverter Q2. The outputs of the gates Gl and G2 are connected to a one-wire bus ACC leading to one of the planes BOOL. Both the NAND gates may be provided by two series coupled MOS-FET transistors having their series coupled source/drain paths connected between earth and a voltage source, their gates being the NAND gate inputs, and the drain of the topmost MOS-FET transistor being the output (not shown) . This comparator device COMP is used during an associative search, i.e. when an element in the core cell shall be compared with an element in the object storage or in another part of the core cell. Then the element to be compared is applied to the inputs of the register cells containing the element to compare to, which will be described further below. Inverters and switches The inverters Ql and Q2 could be provided by either two MOS-FET transistors of enhancement type or one enhancement type and one depletion type MOS-FET transistor, or two complementaryMOS-FET transistors (not shown). The controllable switches in the register cell could be provided by either a MOS-FET transistor or two complementary MOS-FET transistors (not shown) . The control unit 6 controls the switches through a control signal. A switch could be controlled by both a control signal and its complement signal in order to achieve faster state transitions. Associative search & BOOL plane(s) During an associative search the comparison is performed on the access wired-and bus going to the BOOL plane(s). The two AND-gates Gl and G2 compare the key value, i.e. the value that the stored value is to be compared to, on the input of Ql and the stored value on the input of Q2. During this comparison the key value is transferred through the internal bus a R or b R to Ql. The switch SWQ must then be off, i.e. open. If the value provided, i.e. the key value, does not match with the stored value the charged BOOL-plane will be discharged through the NAND-gates Gl and G2. If there is a match, the BOOL-plane will remain charged. All the bus lines ACC in a register, one bus line ACC per register cell, could be parallel coupled and connected to the same bus line in the plane BOOL. As an alternative, the bus lines ACC of all the register cells provided in the planes NUM and HEAD could be connected to a bus line in a BOOL plane intended for these planes, and all the register cells provided in the ATTRIBUTE planes could be connected to a separate bus line provided either in the same BOOL plane or in a second BOOL plane intended for the ATTRIBUTE planes. If one or two BOOL planes and one or two bus lines are provided is a matter of choice and dependent upon the type of control instructions stored in the control unit 6. To have more then two BOOL planes is also within the scope of the invention. The number of BOOL planes provided dictate the granularity of the associative search, i.e. the number of different associative searches that can be performed and to which extent they are performed, i.e. which register parts that can be involved. Thus the comparison is made simultaneously for the part of the register being connected to the same bus line in the BOOL plane. If all the NAND-gates Gl and G2 have the same output (high) then the comparison results in a "match" otherwise it results in a no- " atch", with "match" meaning that the both pieces of information are identical. The planes BOOL thus are planes for bus lines and could be regarded as virtual or "thought" planes, i.e. the bus lines need not necessarily be provided in a plane but could be connected directly to the control unit 6. The configuration of ATTRIBUTE planes The ATTRIBUTE planes could have another configuration than the planes NUM and HEAD, they could for instance be provided with only one row of base registers instead of a matrix of base register (not shown). Further, the ATTRIBUTE planes could have an extra bus line, which could be connected to all or some of the register cells in a plane, going to the control unit 6, which can use the information on this bus to decide what kind of reduction that should be performed. Further, the ATTRIBUTE planes need not be provided with environment register cells. The bus lines vO, vl, v2, v3 could be drawn to other inputs of the interface 7 than the bus lines having the same denominations in the planes NUM and HEAD and could thus be coupled to other parts of the object storage 1, preferably the parts lazy, where and type (see FIG 1). As an alternative, the bus lines vO, vl, v2 and v3 need not be coupled to the object storage 1. Instead the bus line id in the ATTRIBUTE planes could be used for the state information transfer (see FIG 1) from the object storage, i.e. lazy, where and type in the object storage are coupled to the bus line id in the corresponding plane in the core cell. The standby storage mode A standby storage mode loop is formed by one or both of the loops provided in the register cell. One loop is formed by the switch SW b , the bus b R , the switch SW bl , the inverter Ql, the switch SW Q and the inverter Q2. Another loop is formed by the switch SW a0 , the bus a R , the switch SW al , the inverter Ql, the switch SWQ and the inverter Q2. When the switches in one or both of the loops are closed the signal can propagate through the two inverters Ql and Q2 and the signal level becomes stable on the input of inverter Ql and on the output of inverter Q2 - this is how data is stored in the register cell. The cell is storing a dynamic state. The output mode When in output mode, the output of Q2 can be transferred to one of the buses a R or b R , and from there suitable switches can be controlled to transfer the output to one or more of the output terminals (N, S, E, W, etc) . The other bus b R or a R may be used in an arbitrary mode. If the switch SWQ is off, i.e. open, the output of the inverter Q2 is stable, i.e. it can not be changed until the switch SWQ is closed. The output of the inverter can be transferred to the bus b R through the switch SW^Q when closed, to the bus a R through the switch SW &Q when closed. The information on the buses b R and a R can be transferred to each of the outside buses to which the register cell is connected by controlling the switch connected between the register cell and the outside bus in question, as will be illustrated by an example further below. The input mode During an input mode one of the switches SW a -, or SWι_ι is on, i.e. closed. Thus the state of one of the terminals (N, S, E, W etc) is transferred to the local bus a R or b R and from there to the central internal register r R . Transfers It is possible to transfer data from any register cell in the core cell through a terminal connection to another register cell in the core cell during a two-phase cycle. A swap of two base register cells in the vertical, horizontal or diagonal direction is possible during a three-phase cycle. The switch SW Q is clocked directly by a main clock, and simultaneously for all the cells in the registers, such that the transfers between the inverters Ql and Q2 are made simultaneously in the whole core cell. The rest of the switches are controlled by signals derived from the main clock but provided in different, adequate phase intervals in the main clock period. The main clock is used as a reference signal for all the operations of the core cell. The clock cycle is divided into the clock phases (), a and/or b. The phase 0. is the first stretchabie phase, i.e. when the central internal register r R is in the standby storage mode - when the data is stable. The phase a is used during transport from the bus a R , and the phase b is used during transport from the bus b R . A one way transfer, i.e. only from or to a register cell, takes place in a two phase clock cycle. The first phase 0. is stable. In a two phase clock cycle the phase a or the phase b is used for the transport. A two way transfer, i.e. a transport between two register cells to exchange their respective contents, is performed in a three phase clock cycle. The phase 0. is stable. During the phases a and b transports are performed in different directions. It should be noticed that clock cycles with more than three phases is within the scope of the invention, for instance with two b phases. The switches SW al and SW t)1 are normally closed. Both the local buses a R and b R are then holding the stored state of the register cell. When an internal bus a R or b R shall be used for input of a new value to be stored, the appropriate switch SW al or SW bl , respectively, is controlled to be open. A switch to one of the external buses, such as the vertical or horizontal bus, is closed during a short interval long enough for the information on that bus to be transferred to the internal bus. It is also possible to use the shift network, i.e. the network between the different register cell including the switches connected to the terminals, to transfer the content in a register cell, north N or south S or west W or east E. An example of a one way transfer operation FIG 11A shows two neighbouring base register cells and data shall be transferred from the left one, the transmitter, to the right one, the receiver. The control signals, from the control unit 6, are controlling the switches. FIG 11B shows the state of every switch affected by the transfer during the different phases, the lower value represents an open switch and the higher value represents a closed switch. The actual transfer takes place in phase b. The transfer is made in the following way (the different steps below are marked with the same number in FIGs 11A and B) : 0. The circuit is stable, SWQ, SW aQ , SW &1 , SW b0 , SW bl are closed, all the other switches are open in both the transmitter and the receiver (this step is not marked in FIG 11A since it relates to all the switches). This stable mode corresponds to phase 0 in FIG 11B, 1. During a first phase (phase b) of the clock interval, when tthhee sswwii-tch SW Q in both the transmitter and the receiver is opened. 2. the switch SW aQ is opened and the switch SW^Q is closed in both the transmitter and the receiver, 3. the switch SW E between the transmitter and the receiver is closed, 4. the switch SW j ^ in both the transmitter and the receiver is opened, and the switch SW al in the transmitter is opened and the switch SW al in the receiver is closed. This enables the data to propagate from the transmitter internal register to the receiver internal register. During a second phase (phase 0) of the clock interval, when tthhee sswwii-tch SW Q in both the transmitter and the receiver is closed. 7. the switch SW E between the transmitter and the receiver is opened, 8. the switches SW b0 and SW aQ , are closed first and thereafter the switches SW bl and SW al in both the receiver and the transmitter. This brings us back to the stable mode described in step 0 above, i.e. the phase 0. An example of a two way transfer operation FIG 12A shows two neighbouring base register cells and the data in the two different base register cells shall be swapped with a two way transfer operation. The control signals, from the control unit 6, are controlling the switches. FIG 12B shows the state of every switch affected by the transfer during the different phases, the lower value represents an open switch and the higher value represents a closed switch. Both the register cells are serving as transmitter and receiver; therefore they will be called "cell 1" and "cell 2" below. One transfer, from cell 2 to cell 1, takes place in phase a and the transfer in the other direction, from cell 1 to cell 2, takes place in phase b. The different steps below are marked with the same number as in FIGs 12A and B. The transfer is made in the following way : 0. The circuit is stable, SWQ, SW a0 , SW &1 , SW^Q, SW bl are closed, all the other switches are open in both cells (this step is not marked in FIG 12A since it relates to all the switches), This stable mode corresponds to phase 0 in FIG 12B, 1. During a first phase (phase a) of the clock interval when the switch SWQ in the cells 1 and 2 is opened 2. the switch SW aQ in the cells 1 and 2 is closed and the switch SW bQ in the cells 1 and 2 is opened, 3. the switch SW E between the cells is closed, 4. the switch SW a ^ in the cells 1 and 2 is opened, and 5. the switch SW bl in the cell 1 is closed and the switch sw bl in ---- cel1 2 * s opened. This enables the data to propagate from the cell 2 to the cell 1. During a second phase (phase b) of the clock interval when the switch SWQ is still open. 6. the switch SW aQ in the cells 1 and 2 is opened and the switch SW bQ in the cells 1 and 2 iε closed. 7. the switch S bl in the cells 1 and 2 is opened, and 8. the εwitch SW al in the cell 1 is opened and the switch SW al in the cell 2 iε cloεed, thiε enables the data to i propagate from the cell 1 to the cell 2. 9. During a third phase (phase 0) of the clock interval, when the switch SWQ in both the cells 1 and 2 is closed, 10. the switch SW E in the cell 1 is opened, and 11. the switcheε SW^ Q and SW &Q , are closed first and thereafter the switcheε SW bl and SW al in both the cells. This brings us back to the stable mode described in step 0 above, i.e. the phase 0. The control signalε for the εwitches SW aQ and SW^ Q The signals are on, i.e. closed, by default during the phase 0. All local buεeε are then holding the stored state. A bus used for input iε controlled by εetting the control signal to off, i.e. open, for εwitch SWQ and εwitch SWxO, where x is a or b. During an input operation several buses may be short circuited by some terminals (E, V, D, H etc) during a short period. After a while the buseε get the correct value. There iε a delay time from a falling portion of the control signal to the switch SW Q to a falling portion of the control signal to the switch SW χQ (x is a or b) . If it is short, no problem occurs. However, if the time gets up in ms region, the bus x R (x is a or b) may lose its dynamic state. There is a delay time from a rising portion of the control εignal to the switch SW χQ to a rising portion of the control signal to the switch SW χl (x is a or b). If it becomes negative an erroneous value may be propagated to the local bus x R from the inverter Q2 to the inverter Ql. Thus a positive delay time is used. The control signals for the switches SW £ , SW y , SW p , SW H etc The switches are normally off, i.e. open. All local buses are then isolated. A bus used for input or output is controlled by setting the control signal to the terminal switch connected to it to on, i.e. closing the switch. During this operation several buses may be short circuited by some switches (SW E , SW V , SW D , SW H etc) during a short period. After a while the buses get the correct values. There is a delay time from a falling portion of the control signal to the switch SWQ to a rising portion of the control signal to the switch SW Z (Z being H, D, N, V, E etc, i.e. any of the terminals connected to the internal buses a R and b R provided with a switch) . If it is negative the local bus x R (x being a or b) value may be altered. The register value may then be set. Thus this delay time should be positive. There is a delay time from a rising portion of the control signal to the switch SW Z (Z being H, D, N, V, E etc, i.e. any of the terminals connected to the internal buses a R and b R provided with a switch) to a falling portion of the control signal to the εwitch SW χl . If it becomes negative the value can not propagate to the input. Thus a positive delay time is used. There is a delay time from a rising portion of the control signal to the switch SW χl to a falling portion of the control signal to the switch SW Z . If it becomes negative the local bus may be altered and the register might be set to an erroneous value. Thus a positive delay time iε used. The control εignalε for the εwitcheε SW a ^ and SW b - The signals are on by default during the phase 0. There must, however, be a slight delay from the rising portion of the control εignal to the εwitch SWQ to the riεing portion of the control signals for the switches SW al and SW bl . If this delay becomes negative the value on the input of the inverter Q2 may not be able to propagate to the bus x R (x is a or b) . Therefore a positive delay is used. Core cell computation Typical list instructions are performed in one machine cycle. As mentioned above, the core cell performε εtructure arithmetic. All εteps are performed by the core registers using the instructions in the listε that it contains. Examples of instructions are the following: length the length of the goal is calculated, map a function is applied to the elements of a list. If the list containε inεerted liεtε the inεtruction iε also applied to the elements of these inserted lists. (The instruction map will be further explained below) filter a function is applied and filters the elements of a list. The filter is also applied to inserted listε, if any. join all elementε are rewritten into inεerted liεt elementε. The inεtruction iε alεo applied to inεerted liεtε, if any. tranεpoεe a εmall matrix iε tranεpoεed. If it containε liεt elementε, they are εwapped. Inεerted lists are handled. (The instruction transpoεe will be further explained below) . etc Core cell εtorace The core cell εtores * the goal to be reduced in εeveral regiεterε, preferably the baεe registerε * in εome caεeε, for inεtance when a three-level εtructure is reduced, the root of the goal, preferably in the auxiliary registerε and the rest of the structure in the base register matrix. The object storage 1 can only store a one level structure, but the core registerε 3 may contain at most a three level object εtructure. There are four cases for temporary storage in the core cell, i.e. storing a 0, 1, 2 or 3 level object. If a three level object is stored, its root and only one of its branches are stored. In all the other cases all levels are εtored. A εimple tree, i.e. a single value (0 level object), is stored in the firεt main regiεter. A tree including only one level iε stored in the main registers. A tree including a two levels may have its root list, being a father, stored horizontally in the main regiεterε and the lists, being sonε, vertically in the baεe regiεterε. As an alternative the root could be εtored in the auxiliary regiεterε and one of its sons in the main regiεterε. It iε to be noted that the control unit 6 can chooεe one or the other of these alternatives dependent upon the operation to be performed. A tree including three levels has its root liεt εtored in one of the auxiliary regiεters, and one of its two level sonε stored in the base register matrix. Thus, the root list of a goal tree is preferably stored in different places in the registerε in the core cell dependent on the level of the tree structure and the operation to be performed. The root of the goal tree is a closure of reduceable kind, such as unify. In a function application (apply...) the first element is an instruction or an identifier indirectly designating a closure structure used as a function definition and the rest of the elements are arguments to the instruction/function definition. CORE CELL STORAGE CONTROL The information stored in the core registers is derived from information in the object storage 1. The information in the core registers is stored in the following way : The core registers in the planes HEAD and NUM are connected to the object storage bus OBJ, the access bus ACC, the res bus and the numeric ALU bus NU. The stored state conεists of the stored state of two single registers ID and ENV, the auxiliary registers F0 to F3 and the base registers S Q to S3 3. The core registers in the ATTRIBUTE planes are connected to the object storage in a εimilar way but to different partε of the object storage 1, preferably the parts lazy, where and type. The control word to the core registerε conεists of the control words to the switches SW V ^, SW V ^ cv , where i is a number between 0 and 3, SW id/hQ , SW chrh0 , SW enVrhQ , SW vl/h0 , SW v2/hQ , and SW v3 0' SW vi0' sw vl' sw v2 and sw v3' the sin gle registers ID and ENV, the auxiliary registers F0 to F3 and the base registers SQ Q to S3 3. The control words are transferred via several control wires connected to the control unit 6. The control wires could be biphase control pair wires or single phase control εingle wires, depending on what kind of switcheε uεed. The control word to each base register cell includes one common part and parts individual for each base register. The common part controls the εwitcheε SW aQ , SW bQ and SWQ of the core cell (see FIG 10) . However, it is to be noted that what is described here is only to be regarded aε an example and that several other embodiments are conceivable. EXAMPLES OF CORE CELL OPERATIONS FIGs 13 to 19 are derived from FIG 9. The references provided in FIG 9 alεo applieε to FIGε 13 to 19. However moεt referenceε are left out for readability. Alεo, in the deεcription of FIGε 13 to 19 the denotationε of the regiεter cells are intended to mean the whole register extending through the planes in the core cell. 1. Access to the object storage The mpx_mv instruction : The object storage 1 is read and εome of the core regiεterε are εet by an object storage operation mpx_mv. The accesεed object iε tranεported through the buses vO, vl, v2, v3 to the main regiεterε S Q Q , S 1 Q , S 2 S 3 Q , through the bus id to the register ID and through the bus env to the register ENV, as illustrated in FIG 13 by the thick lineε having arrowε pointing to the regiεter cells to which the transport is made. At the same time the old content in the main regiεterε iε εtored in the object εtorage 1 aε a cloεure. Thus, the mpx_mv instruction stores the present core cell closure in the object storage and loads the next object storage closure to be executed into the core cell. The fetch instruction : FIGs 14 and 15 illustrate the situation when there is an identifier stored in one of the main registers and the identifier is to be exchanged for the information it denotes. The identifier, e.g. stored in S2 Q (see FIG 14), is supplied to the object storage 1, the object storage finds the identifier and the content it denotes, which content is put on the bus lines vO to v3 and finally loaded into a vertical column in the baεe regiεters, e.g. S2 Q to S2 3 (see FIG 15). This operation is started by transferring the identifier in the base register S2 g to the vertical bus id through the bus hO and the switch i--__ ^Q (FIG 14). A stored value may be transfered from any of the other registers in a similar way. The operation continues (εee FIG 15) by loading the values supplied by the object storage 1 on the bus lines vO, vl, v2, v3 into the appropiate registers, which in the example are the regiεterε S2 - , -2 \ ι -2 2 ' ^2 3' --* tran sferring the values through the switcheε SW v0 , SW vl , SW v2 , SW v3 and the buses hO, hi, h2, h3. The object εtorage operationε make and unify_id could be used when the content in the core cell is to be stored in the object storage 1. The make inεtruction : In the first step of the operation make, the content in the registers in question is transfered, as in FIG 15 but in the oppoεite direction. The operation also transfers the environment register content. An associative search is carried out in the object storage in order to find an object with the same information stored as the information provided by the core cell. If an object is found, the identifier denoting the object is returned, otherwise, if no object is found, an unused identifier iε returned. In both caεes the identifier is tranεfered from the object εtorage to the identifier register in the core cell using the bus line id. Aε an alternative the identifier could be tranεfered to the main regiεter in the affected column of regiεters. Thus, an association between the content of the core cell and an identifier is created. The unify_id inεtruction : The operation unify_id iε illuεtrated in FIG 16 and diεtributeε an identifier from one of the regiεterε, for inεtance ≤2 Q to all the vertical buses id, env, vO, vl, v2, v3 by connecting the register cell in question to the horizontal bus hO and connecting all the vertical buses to the horizontal buε hO through the εwitches SW id h0 , SW env hQ , SW v0 , SW vl h0 etc. This is an operation that can be used when performing an asεociative εearch & replace, which for instance could involve searching for occurenceε of an identifier and replacing the found occurenceε of thiε identifier with a new, reduced εimple value. An operation εimilar to unify_id could in itε first εtep uεe make to get a unique identifier for the content of the core cell and in itε εecond εtep put the content of the core cell on the buε lineε connected to the object εtorage, in order for the object εtorage to store the identifier and the content it denotes. An example of an unify operation is given in appendix 1, where the content of the core cell is shown and where the switch states for the phases a, b, and 0 are εhown. 2. Numeric reductionε During a numeric reduction the object to reduce, i.e. the goal, is placed in the main registerε. Generally the entire goal takeε part in the reduction. Typically the main regiεter S Q 0 holdε the instruction code, which is a different bitpattern for different instructions. The registers S j and S2 Q are used for dyadic operations, i.e. operations with two operands, and the regiεter S^ Q is used for monadic operations, i.e. operations with one operand. Generally, trailing registers are used in a list form, their content is therefore pushed to the left after a reduction. The essential numeric arithmetic then takes place between the registers S j Q and S2 Q of the goal. A main adder of the numeric ALU is connected to these two registers. The other registers can be used for supplementary purposes in instructions like mul, div and mod. The following instruction types could be used: monadic instructions the register SQ Q holds the instruction and the register S 1 Q holds the operand. The registers S 2 Q and S 0 are not used. The result of the numeric ALU is returned to all the main registers. In the non pipe-line case it is saved in register S Q . In the pipe-line case it is intermediately saved either in a auxiliary register or in a base register. dyadic inεtructions the register SQ Q holds the instruction and the register S^ Q and S2 Q the operands. The register S3 Q is not uεed. The reεult iε returned to all main registers. In the non pipe-line case it is saved in register S^ Q . In the pipe-line case it is intermediately saved either in a auxiliary register or in a base register. mul, div, mod instructions the register SQ Q holds the instruction and the register s l 0' s 2 0 -~- e °P eran ds. The final result is saved in the register S^ Q. unify reductions the unify reductionε uεeε the numeric ALU to compare the content in regiεter S Q Q with the content in regiεter S-^ Q The other main registerε could alεo be uεed when performing the unification. The tag wordε εtored in the HEAD planeε of the registers are used together with the result of the comparison to evaluate the next action. The instructionε mul, div, and mod perform their innerloops entirely within the numeric arithmetic unit. The intermediate values computed could be stored dynamically on the wires between the numeric arithmetic unit and the main regiεters in the core cell, i.e. on the NU bus. 3♦ Structure reductionε During εtructure reduction the object to reduce, i.e. the goal, iε placed in the main regiεterε. Generally, εome or all of the base registerε take part in the reduction. Typically, the main regiεter S Q Q holds the instruction code, which is a different bitpattern for different instructionε. A map instruction haε a function f and a liεt (e^, ...,e n ) aε argumentε and applieε the function to every element of the list. The instruction returns a list (fe^, ...,fe n ) of the resultε of every function application, where fe-^ repreεentε the result when applying f on e^ mapping instructionε Format : (map f liεt) . The inεtruction map iε loaded into the auxiliary regiεter F0. The function to uεe iε loaded in the auxiliary regiεter FI. The liεt iε loaded in the main regiεterε S Q Q to S Q . Aε εhown in FIG 17a the elementε stored in the main registers are transfered two steps up in the base register matrix, i.e. the content in register S χ Q is transfered to the register S χ 2 where x is a number between 0 and 3. The transfer is made using the vertical bus lines vO to v3. As shown in FIG 17b the content in the auxiliary registers F0 and FI are then broadcasted horizontally to the base registers, i.e. the content of FO is copied to SQ Q to S 3 Q and the content of FI iε copied to SQ ^ to S3 •.. If an element is a simple value (not a list) the content of the register it is situated in, e.g. S 2 ' anci the content of the register below, e.g. ~χ r is shifted one step downwards. The function to apply is now situated in a main register, e.g. S^ Q, and the element to apply the function on is now situated in the register above this main regiεter, e.g. in S ■_ . If an element is a list no shifts are made in that column of registers. In FIG 17c it is assumed that e , e 2 and 63 represents simple values and that e 4 represents a list. Each column in the base register matrix is then stored as a closure in the object storage. Thereafter, each of these stored closures is loaded into the core cell for continued processing. If the stored closure contained a simple value, it is loaded into the core cell in the normal way, i.e. f is stored in SQ Q and ei is εtored in S Q aε shown in FIG 17d. If, on the other hand, the stored cloεure contained a liεt, it iε loaded aε described above, as shown in FIG 17a but with e^ being the first element in the list represented by e 4 , e 2 the second element in e 4 etc. This allows the map instruction to operate recursivly over inserted lists. Thus, the instruction map having a two level structure (map, f, (e l f . . . e n )) is rewritten into ((f, e χ ), .., (f, e n )), which after execution is rewritten to the one level structure (fe lf .., fe n ), where fe± representε the result when applying f on βi . The instruction map having a three (or more) level structure (map, f, par(e lf .., (e k , ..,e m ), .., e n )) , where (e k , • • , -_) is an inεerted liεt, iε rewritten into par((f, e χ ), .., (map, f, (e k , ..,e m )), . . . (f, e n ) ) aε an intermediate εtep and thereafter to par((f, e χ ), . . . ((f, e k ) , ..,(f, e m )), .., (f, e n )), which after execution is rewritten to the two level structure parffe-^ . . . (fe k , .., fe m ), .., fe n ), where fe represents the result when applying f on e-^ and where (fe k ••, - e m^ ~-~ an inserted liεt. Thuε, the function f iε recurεively applied on all elementε in the argument liεt. An illuεtrating example on how the core cell reεtructureε and executeε a map instruction is described below. The abbreviation reg is used instead of "register", ident instead of "identifier" and storage instead of "object storage" to keep the description short. The example inεtruction : (map f (-1 -2 (-7 -8))), where f iε defined aε f(x) = abε(x)+l. The machine representation, using machine identifiers, could be : idl : (map f id2) id2 : (-1 -2 id3) id3 : (-7 -8) where the ident idl denotes the closure containing the (map f id2)-structure etc. Below, i iε a number between 0 and 3. The following steps are carried out : Step 1 : map is stored in reg FO, f in reg FI and ident id2 in reg S Q ^ 0 Step 2 : ident id2 is expanded, i.e. reg S Q Q contains -1, reg s ι o onta inε -2 and reg S2 Q contains ident id3 Step 3 : The content of reg S j^ Q is transfered to reg S. ; 2 - Registers marked unused are not affected Step 4 : map and f are broadcasted horizontally, i.e. reg S - * contains f and reg S^ Q contains map. Registerε marked unuεed are not affected Step 5 : Columns with a simple value in its reg S * 2 are compacted one step downwards, i.e. reg SQ - contains -1 and reg S Q Q contains f and reg S 1 contains -2 and reg S- Q containε f, the third column iε untouched Step 6 : Every column in the base register matrix is (re)stored in the storage as : idl : (id6 id7 id8) id6 : (f -1) id7 : (f -2) id8 : (map f id3) Step 7 : The closure denoted by ident id6 is loaded in the main registers, f in reg SQ Q and -1 in reg S j Q Step 8 : The function, i.e. f(x) = abs(x)+l, is applied to the argument with the result 2, which is stored in reg S Q Q Step 9 : an associative search for ident id6 is performed in the storage and all occurences of ident idβ are replaced by 2: idl : (2 id7 id8) id7 : (f -2) id8 : (map f id3) Step 10 : step 7 to 9 are done for the ident id7 and with the result 3. The storage : idl : (2 3 id8) id8 : (map f id3) Step 11 : step 1 to 6 are done for the ident id8 with the result that two of the base matrix columns are εtored in the storage : idl : (2 3 id8) id8 : (id9 idlO) id9 : (f -7) idlO : (f -8) Step 12 : step 7 to 9 are done for the idents id9 and idlO with the resultε 8 and 9 respectively. The εtorage : idl : (2 3 idβ) id8 : (8 9) Which readε : (2 3 (8 9)) - the function f haε been applied on all elementε in the argument liεt. It iε to be noticed that the εtepε deεcribed might be performed by the core cell in a different, more efficient way. For inεtance, inεtead of εtoring a intermediate result in the object storage further reduction/execution could be performed in the core cell when appropriate. tranεpose Format : (transpoεe list) . The transpose instruction is loaded in one of the auxiliary regiεterε, e.g FO and the liεt argument, e.g. a list of liεtε, iε loaded in the baεe regiεter matrix, εee FIG 18. The content of the baεe regiεter matrix is transposed. Thus, the instruction tranεpoεe having the three level structure (transpoεe, < e n,l' • ■ ' e n,m>)) iε executed εuch that the reεult is rewritten into the two level structure ( (e l f l , .., e nfl ). ( e l,m' *• ' e n,m)) An illuεtrating example : A list-structure ((1 2 3 4), (5 6 7 8), (9 10 11 12), (13 14 15 16)), where the first list, i.e. (1 2 3 4), is εtored in the firεt column of baεe registers, i.e. base registers S0,0 to S0,3, the second list, i.e. (5 6 7 8), is stored in the second column of baεe regiεterε, i.e. baεe registers S1,0 to SI,3 etc. is transposed to ((1 5 9 13), (2 6 10 14), (3 7 11 15), (4 8 12 16)), where the first list, i.e. (1 5 9 13), is stored in the first column of base registers, i.e. base registers S0,0 to SO,3 etc. swap Format : (swap m list). A swap instruction iε executed such that an instruction swap having a three level structure (swap m ( (e l t ι , • - ) , ( e m,l' ' • )/ ( e m+l,l' • ")/ • • • ( e n,l' ' • ))) where the list of lists with elements e^ _,, i and j being the denotation of the position of an element in the base register matrix, is rewritten into a two level structure (( e l,l' •• ) / ( e m+l,l' • ')' • • * ( e n,l' ' • )) such that the element (©m i, • • ) changes place with the element ( β m +ι _. ' * •) • skip Format : (skip m list) A skip instruction iε executed such that an instruction skip having a three level structure (skip m ((e-^, ..), • • < e m-l,l' * • ) ( e m, l ' • • > / ( e m+l, l' " ) / • • • ( e n,l' • '))) where the list of lists with elements e^ j , i and j being the denotation of the position of an element in the base regiεter matrix, iε rewritten into a two level structure • ( e l,l' * * * ' ( e m-l,l' " ■ - ( e m+l,l' *• )' • • • < e n,l' ' • )) such that the liεt (e m 1# ..) iε deleted. 4. List extracting A goal containing a list is placed in the main registers. If the list containε elementε which are inεerted liεtε, these listε are stored vertically in the subsidiary registerε. An expand_liεt operation could be performed in one cycle. The contentε of the baεe regiεterε are εhifted diagonally down to the right one εtep, except for the content in the main regiεter, which iε tranεferred to the vertical bus and inserted at the uppermost base regiεter in that column (εee FIG 19) . A repeated expand_list could be uεed to "fill" the main regiεterε with data. THE BIT CELL The whole memory, as being a part of the reduction procesεor according to the invention, iε intended to be implemented in the VLSI-technicε (VLSI=Very Large Scale Integration) . Each bit cell haε thus a design adapted to be implemented in VLSI-technics. An embodiment of the bit cell circuit, together with drivers for the bit cell wires d, d* and ace, is shown in FIG. 20. The bit cell 15 is shown surrounded by dashed lines. Each bit cell is connected to the control unit with two wires, such as the wires d and d in the embodiment of a bit cell εhown in FIG 20. Thuε, each part of an information buε going to an element for storing information being 38 bits long contains 76 wires. Each such bus part is connected to storage fields 151 placed in a column in the storage cell area. As seen in FIG. 20 the bit cell has only four connections, i.e. a first connection V cc which is constantly provided with a supply voltage, and a second, a third and a fourth connection ace, d, d* each of which is settable in at least three different control states, as will be deεcribed in further detail later on. The bit cell shown in FIG. 20 is a four transistor CMOS cell. It is static and has a load. The load is the source/drain path of a MOS FET II and 12, respectively, having inverted gates in this embodiment. It is also possible to have a resistive load instead (not shown) . The cell is a flip-flop controllable from each side. Between the accesε wire ace and the εupply wire V cc two series connections, each including the source/drain path of a MOS FET and a load T1,I1 and T2,I2, respectively, are provided in parallel. The drain of the transistor Tl is connected to the gate of the tranεiεtor Tl and the drain of the transistor T2 is connected to the gate of the transistor Tl. A diode Dl is connected between the wire d and the interconnection nl between the drain of the transistor Tl, the load II and the gate of the transistor T2. A diode D2 is connected between the wire d* and the interconnection n2 between the drain of the transistor T2, the load 12 and the gate of the transistor Tl. Each of the diodeε Dl and D2 are provided by a MOS FET having the drain and gate connected to each other and connected to the wire d or d* respectively. The esεential qualitieε of the circuit elementε are that the diodeε Dl and D2 are elementε permitting current to flow only in one direction relative to the wires d and d , and that the transiεtorε Tl, T2 are active elements in which the current can be controlled by variation of the potential of their gates. The interconnections nl and n2 are nodes on which a potential related to a one bit information is storable. Each load II, 12 iε an element which behaveε like a resistor. In FIG. 20 the voltage V cc is εhown to be a high potential. The diodeε Dl and D2 are then directed such that current iε flowing from the wire d or d to the node nl or n2, reεpectively. The resistance of the active elements Tl or T2 are lowered when the potential on the gate electrode is increasing and thus the nodes are then lowered. However, in other embodiments potentialε and currentε could be choεen to have the oppoεite directionε to the oneε εhown in the embodiment according to FIG. 20. The bit cell can εtore a value v store , the value being either 'true' or 'falεe' . The bit cell haε a εtructure such that it is settable in several different functional stateε by setting different potentials on the wires ace, d and d . The control stateε are high level, low level, current into the cell for all the wireε and alεo current out of the cell for the wire ace. The wire ace iε an access wire going from the head 16 and connected to all the bit cells 15 in a storage cell field. The third and fourth wires d and d* have signalε inverted to each other when writing or reading of the cells is made and the accesε wire ace iε LOW. The drive and εenεe amplifierε in the element head 16 The driver and εenεe amplifiers in the head 16 is illustrated schematically in a dashed square in FIG. 20. A first transistor T3 has its source connected to a voltage Vr, its drain to the access wire ace in all the bit cells 15 in a storage cell field 151 and its gate is fed with clock signals prech from a clock signal generator (not shown) . A second transistor T4 has its source connected to a voltage 0V, its drain to the access wire ace in all the bit cells 15 in a storage cell field 151 and its gate is fed with a voltage V3 which is high when the voltage 0V shall be set on the access wire ace. As mentioned above the wire ace will be connected to all the bit cells in a closure element, thus to for inεtance 38 bit cells. It is provided in the head. Therefore, the head should be small. The voltage level of the wire ace is amplified in an amplifier AMP. The drive and sense circuits in the interface 7 The driver and sense circuits in the interface 7 for the bit cell wires d and d* are illustrated schematically in another dashed square in FIG. 20. However, it is to be noted that the circuits only illustrates one possible way to drive and sense the wires d and d . The input/output IN/OUT is connected to the core cell 2 shown in FIG. 1. Thus, the circuit is one of many similar circuitε that could be provided in an interface 7 between the object εtorage 1 and the core cell 2. The write circuit for the wire d includeε a first pair of transistors T5 and T6, the first shown to be of n-type and the second of p-type in the embodiment, having their drains connected to the wire d, and providing a voltage divider. The transiεtor T5 haε its source connected to a potential Vr, and its gate is fed with the precharge signal prech. The other transiεtor T6 has its εource connected to a potential Vcc, and its gate is fed with a control signal V4 going low when the potential Vcc shall be fed to the wire d. The write circuit for the wire d also includes a series connection of the source/drain paths of a p-type transistor T9 and a n-type transistor T10 connected between the voltage source Vcc and the drain of a n-type transistor Til having its source connected to ground and its gate connected to an input write from the external control. The interconnection between the drains of the tranεiεtorε T9 and T10 is connected to the gate of the transistor T6 and has the voltage V4. The gate of the tranεistor T9 is fed with the inverted precharge signal prech* connecting the gate of the tranεiεtor T6 to the εource voltage Vcc through a conducting tranεiεtor T9 during the precharge phase. The write circuit for the wire d includes a second pair of serieε coupled tranεiεtorε T7 and T8, the first shown to be of n-type and the second of p-type in the embodiment, having their drains connected to the wire d , and also providing a voltage divider. The tranεiεtor T7 haε itε εource connected to a potential Vr, and itε gate iε fed with the precharge εignal prech. The other transistor T8 has its drain connected to a potential Vcc, and its gate iε fed with a control εignal V5 going low when the potential Vcc εhall be fed to the wire d*. The write circuit for the wire d alεo includeε a εerieε connection of the εource/drain paths of a p-type transistor T12 and a n-type transistor T13 connected between the voltage source Vcc and the drain of the transiεtor Til. The interconnection between the drainε of the tranεiεtorε T12 and T13 iε connected to the gate of the tranεiεtor T8 and haε the voltage V5. The gate of the transistor T12 is fed with the inverted precharge εignal prech connecting the gate of the tranεiεtor T8 to the source voltage Vcc through a conducting transiεtor T12 during the precharge phaεe. The external wire IN/OUT for input and output is connected to two tristate inverters. One of the tristate inverters having itε output connected to the wire IN/OUT includeε a εerieε connection of the εource/drain pathε of two n-type transistorε T14, T15 and two p-type tranεistors T16, T17. The gate of the tranεistor T16 is connected to a control wire providing the εignal bitin and the gate of the transistor T15 is fed with the inverted signal bitin*. The second of the tristate inverters having its input connected to the wire IN/OUT includes a series connection of the εource/drain paths of two n-type transistors T18, T19 and two p-type transistors T20, T21. The gate of the transistor T19 is connected to the control wire providing the signal bitin and the gate of the tranεistor T20 is fed with the inverted signal bitin . The output of the second tristate inverter is connected to the gate of the transistor T13 and through an inverter INV to the gate of the transistor T10. A read amplifier including a n-type transistor T22 having its source connected to earth, its gate connected to a constant voltage Vbias which holds the transistor T22 constantly conducting and functioning as a current generator, and its drain connected to a parallel connection of two series connected source/drain pathε of a n-type transistor and a p-type transistor, T23, T24 and T25, T26, respectively, having their other end connected to the source voltage Vcc. The gates of the p-type transistors T24 and T25 are interconnected and connected to the interconnection of the drains of the transistors T23 and T24. The gate of the transiεtor T23 is connected to the wire d, and the gate of the transistor T25 is connected to the wire d . Each clock period, the signals prech and prech*, is divided into a precharge phase, in which the signal prech is high, and a make phase, in which the εignal prech iε low and the other control εignalε determines the operation to be made. Thus, at the precharge phase the wires d, d and ace are precharged to the voltage Vr, through the transistors T5, T7 and T3, respectively. The εignalε bitin and bitin controlε when data will be εent to and from the bit cell 15. When the εignal bitin iε low and the signal bitin high, then data will be transferred from the bit cell to the wire IN/OUT by the first tristate inverter. When the εignal bitin iε high and the εignal bitin low, then data will be tranεferred to the bit cell from the wire IN/OUT by the εecond triεtate inverter. At the read operation in phaεe two, after the precharge of the wireε d, d and ace to Vr, the wireε d and d are left floating, and the wire ace iε εet to the voltage 0V by a high voltage V3 making the tranεistor T4 conducting. This causeε the node having the loweεt potential, say nl, to be lowered to a potential between Vr and 0V. Because of thiε a current iε flowing from the wire d to the node nl to the wire ace. This current discharges the the wire d, i.e. the voltage on the wire d is lowered. This voltage reduction iε meaεured by the read amplifier T22 to T26. The result of the reading iε provided on the interconnection between the drainε of the tranεiεtorε T25 and T26 and fed to the input of the firεt triεtate inverter T14 to T17. The εignal bitin being low and the εignal bitin* being high provideε a tranεfer of the read and amplified bit value to the input/output wire IN/OUT. It iε important that the wireε d and d are not driven in an active way during the phaεe two, εince then no voltage reduction εhould be obtained on one of the wireε. Thuε, for the read operation both d and d are initially provided on the potential Vr. Both d and d* are εubstantially kept on the potential Vr, but one of them falls somewhat because of "current in" into the cell which decharges one of the wireε d, d . Since Vr here iε defined aε "low", the low potential will be lower than "low", d and d give the read values, d lower than d* gives FALSE, d higher than d* TRUE. For the don't write, write falεe, write true, don't write and don't comp. operationε the information potentialε on the wireε d and d* don't give any information. For a write operation in phaεe two, after the precharge of the wires d, d and ace to Vr, the wire ace is set to the voltage 0V by a high voltage V3 making the tranεistor T4 conducting. The value to be stored is provided on the input/output wire IN/OUT. The signalε bitin high and bitin* low activate the second tristate inverter T18 to T21 to transfer the value on the wire IN/OUT to its output. The control signal write being high on the gate of the transistor Til connects the sources of the transistors T10 and T13 to 0V. A high signal from the second tristate inverter T18 to T21, i.e. a "0" or false to be written, controls the transistor T13 to conducting state, setting the voltage V5 to low voltage, the transiεtor T8 iε controlled to be conducting and the wire d* is set to the voltage Vcc, i.e. high. The inverted signal from the second tristate inverter fed to the gate of the transistor T10, being low, will keep it non-conducting, the voltage V4 being connected to the voltage source Vcc during the precharge phase will be kept on this voltage. The transistor T6 will be kept non-conducting, and the voltage Vr connected to the wire d during the precharge interval through the transistor T5 will be kept. A low signal from the second triεtate inverter T18 to T21, i.e. a "1" or true to be written, will control the write circuit T5, T6, T9, T10 for the wire d to set it on the high voltage Vcc through the inverter INV while the write circuit T7, T8, T12, T13 will keep the wire d* on the voltage Vr it was set on during the precharge phase. As apparent from the examples above, the storage nodes nl and n2 are in the embodiment shown in FIG 20 used in the following way of operation. One of the nodes nl, n2 or both are charged or discharged during the second phase of the operation cycle dependent upon which ones of the control signals V3, V4 and V5 to be used, i.e. if the wire ace is set on 0V or if one of (or both) the wires d and d is set on Vcc. As mentioned above, every operation cycle is composed of a precharging period and an execution period. Thus, when it is mentioned below that the wire ace iε εet high it iε meant that the εignal V3 iε not controlling the tranεiεtor T4 to εet the voltage 0V on the wire ace during the execution period. Likewiεe, when it iε mentioned below that the wire d or d iε εet low it iε meant that the control εignal V4 or V5 iε not controlling the tranεiεtor T6 or T8 to be in a εtate coupling through the voltage Vcc, being higher than the voltage Vr, to the wire d or d* during the execution period. However, when the wire d or d* iε εet high then the tranεiεtor T6 or T8 will be controlled to connect through the voltage Vcc to the wire. The εtorage cell area could be rather extenεive, for inεtance including 256 εtorage cellε, which meanε that each pair of transistors T5, T6 and T7, T8, respectively, is connected to a wire εerving one bit cell in all the εtorage cellε, εuch aε 256 bit cellε. Therefore, the tranεiεtor εizeε muεt be adjusted to the total bus capacitances and the deεired εpeed. The voltage Vr could be created from a shorted inverter in order to keep a known relation between Vr and the sense amplifier inverter. The accesε circuitε in the head εhall control the bit cellε and alεo capture the information from the bit cellε. The following functional εtates are settable by the control states: reεt the cell εtores the value vstore, read false the value vstore = false can be read, read true the value vstore = true can be read, don't read the cell εtoreε the value vεtore, write false the εtored value vεtore iε εet to 'falεe', write true : the εtored value vεtore iε set to 'true', don't write : the cell storeε the value vεtore, comp. falεe : the εtored value vεtore iε compared to a value 'falεe' . comp. true the stored value vstore is compared to a value 'true', don't comp. the cell is just storing the value vstore. The following is an operation table for different operation modes of a bit cell: For comp. falεe and comp. true the wire ace should have the state current out if a comparison reεult is DIFFERENT. For the comp. false or comp. true operations the wire ace (access wire) gives the result of the comparison. The wire ace is precharged to Vr and the input data is supplied on the wire d, and its inverse value on the wire d . If the value stored in the bit cell is different than the input data, the wire ace will be charged through one of the diodes Dl or D2, and through the corresponding n-type transistor, Tl or T2. This is detected by the amplifier AMP in the head 16. When a compared FIT is detected the wire ace will be kept on the potential Vr. The expressionε current in and current out expresses that a charge is moved into and out of, respectively, the wire in question during a time sequence. This is uεually made by initiating the wire to HIGH or LOW, reεpectively, in the operation mode REST and then change into the actual mode. A current will then diεcharge or charge, reεpectively, the wire in queεtion. When there is no current no appreciable charge will be transported. Therefore, no voltage change will be provided during the time sequence. THE OBJECT STORAGE CONTROL CIRCUITS The priority decoder (FIG 21A and B) The embodiment of the priority decoder 11 shown in FIGs 21A and 21B is divided into 4-blocks. Aε εhown in FIG 21A, each 4-block haε one pair of left hand side wires granta and reqa and four pair of right hand side wiresε reqO, grantO,... to ... req3, grant3. As shown in FIG 2IB, a first 4-block 520 haε itε four pairε of right hand side wires connected to each of the pair of left hand side wires of four 4-blocks, of which the outer ones 521 and 522 are εhown. The blockε 520, 521, and the blockε 520, 522 are interconnected with inverting amplifierε 523 and 524, the amplifier 523 giving information to a block lower in the block chain that a priority require iε needed for a block higher in the chain, and the amplifier 524 giving information to a block higher in the block chain that a grant is given. The number of blocks 521,..522 in the εecond 4-block column are thuε four. Each block in the εecond column iε then connected to four 4-blockε in the third column of blockε in the same way as the blocks in the second column are connected to the 4-block 520. The number of 4-blockε in the third column will then be εixteen. Only the outermoεt 4-blockε 525 and 526 are εhown. Each block in the third column iε then connected to four 4-blocks in the fourth column of blocks in the same way. The number of 4-blocks in the third column will then be sixtyfour. Only the outermoεt 4-blocks 527 and 528 are shown. The right hand side wires of the 4-blocks in the fourth column are connected to the object storage. Each pair being adapted to serve aε the buses 18 and 19 for a storage cell 10, as apparent from FIG. 2IB. Eightyfive blocks are provided to serve 256 closures. The lowest block 528 is serving the lowest storage cells, down to the storage cell number 0, and the highest block 527 is serving the highest, i.e. up to the εtorage cell number 255. The configuration εhown in FIGs 2LA and 2IB uses a domino precharged logic, where the full priority decoder includes cascaded domino stages, corresponding to a transfer of a request signal from for instance reqO in the lowest block 528, through all priority decoder blocks and back to give a false grant signal to all storage cells, except the storage cell number 0. As shown in FIG 21A, each block includes 5 rows of MOS FET transiεtors, each row including one MOS FET more than the row below, except for the fifth row which has the same number of MOS FET as the fourth row. Each of the MOS FETs Trg 0 to Tr Q most to the right in the four lowest rows is shown to be of p-type having itε gate connected to a clock signal source, its drain connected to a positive supply voltage and itε εource connected to the grant wire grantO, grant1, grant2 or grant3, respectively. The MOS FET Tr 4 Q in the highest row has itε source, instead of being connected to a wire granti, i being a number between 0 and 3, connected to a wire reqa connected to the next lower block in the block cascade through an inverter 523. The rest of the MOS FETs, shown to be of n-type, Trg in the firεt row, Tr-^ ^ and Tr^ 2 i he εecond row, Tr -, , Tr 2 2 and Tr 2 3 in the third row, T^ 1# . Tr 3 2 , Tr 3 3 a nd Tr 3 4 in the fourth row, Tr 4 2 - Tr 4 3' Tr 4 4 and Tr 4 5 in the fif h row, have their sources connected to earth and their drains connected to a grant wire grantO, granti, grant2, or grant3, respectively, for the four lowest rows and to the wire reqa for the fifth row. The wire granta is connected to the gate of each of the MOS FETs Tr Q _ ■ , T^ _ ■ , Tr 2 i r Tr3 ^ - τhe wire reqO is connected to the gate of each of the MOS FETs Tr 1 2 Tr 2 2/ Tr 3 2 and Tr 4 2* The wire reql is connected to the gate of each of the MOS FETε Tr 2 3' Tr 3 3 and Tr 4 3* τ ~-~ wire re< ϊ2 iε connected to the gate of each of the MOS FETε Tr 3 4 and Tr 4 4 . The wire req3 iε connected to the gate of the MOS FET Tr 4 5 . The priority decoder operateε in two phases. In the first phase, when the clock signal is low, all granti are precharged to be high (true) . Then all the signalε reqi will be low (no need). In the εecond phaεe the precharge iε closed, i.e. the clock εignal will be high. Then any or εome of the outputε reqi will go high, which εetε all the granti above to low (not choεen) and εetε reqa to low. If a reqa goes low, then a reqi in a neighbouring 4-block to the left in FIG 21 iε set to high. The signalε reqa and granta in the 4-block 520 are of no importance. However, grant a in the 4-block 520 is connected to earth. The signal reqa in the 4-block 520 provides the result "ANY" on the wire 14 in FIGs 2 and 3, εince it haε to go low when any reqi connected to any of the cell closures goes high. The element head (FIG 22 A detailed embodiment of the element head 16 iε εhown in FIG 22. The element head 16 controlε the acceεε wire ace to the εtorage cellε 10, it εenses the acceεε wire ace and wire ANY 14, here called any_type, it performε the operationε wired_and and wired_nor on the buses a and b, and it also reads the buses a and b. Furthermore, it includes an internal dynamic memory bit. A n-channel MOS FET nO has its source/drain path connected between a voltage Vr, being the same as the voltage Vr in FIG 20, and the access wire ace. A clock pulse cpb is fed to the gate of the MOS FET nO. A n-channel MOS FET nl has its source/drain path connected between earth and the access wire ace. A series connection of the parallel coupled source/drain paths of two p-channel MOS FETs p2 and p3, the source/drain path of a p-channel MOS FET p4, and the drain/source path of a n-channel MOS FET n5 is connected between a voltage source Vcc and earth. A wire any_type directly connected to the nearest bit cell is connected to the gate of the MOS FET p2. A wire match from the central control unit is connected to the gate of the MOS FET p3. The access wire ace is via an inverter INV 1 including the series connected source/drain paths of a p-channel MOS FET pi and a n-channel n6 having their gates connected to the access wire ace. connected to the gate of the MOS FET p4. A n-channel MOS FET n7 has its source/drain path connected between the inverter INVl and earth. A wire eval.s, i.e. evaluate select, from the central control unit is connected to the gate of the MOS FET n7. A wire set.s, i.e. set select, from the central control unit is connected to the gate of the MOS FET n5. The interconnection point il, also called the select node, between the drains of the MOS FETs p4 and n5 is connected to the drain of a p-channel MOS FET p6, having its source connected via the drain/source path of a p-channel MOS FET p7 to the voltage source +Vcc. A wire reset.b from the central control unit iε connected to the gate of the MOS FET p6. A wire b, which is the same as the wire b shown in FIG 3, is connected to the gate of the MOS FET p7. A p-channel MOS FET p8 has its drain connected to a wire a, which iε the same aε the wire a εhown in FIG 3, and itε εource to an interconnection point i2. A wire Wand.a, i.e. wired and a, from the central control unit iε connected to itε inverted gate. A p-channel MOS FET p9 haε itε drain connected to the wire b, and itε εource to the interconnection point i2. A wire Wand.b, i.e. wired and b, from the central control unit iε connected to itε inverted gate. A p-channel MOS FET plO haε itε drain connected to the interconnection point 12 and itε εource connected to the source voltage +Vcc. The interconnection point il iε via an inverter INV2 connected to the inverted gate of the MOS FET plO. The inverter INV2 includeε the εerieε connected εource/drain pathε of a p-channel MOS FET pl4 and a n-channel MOS FET n8 connected between the voltage εource +Vcc and earth and having their gates connected to the interconnection point il. A series connection of the drain/source pathε of two p-channel MOS FETs pll and pl2 is connected between the wire a and the voltage εource +Vcc. A wire Wor, i.e. wired or, from the central control unit iε connected to the gate of the MOS FET pl2. The interconnection point il iε connected to the gate of the MOS FET pll. A p-channel MOS FET pl3 haε itε source/drain path connected between the wire a and the interconnection point il. A wire s.a, i.e. select a, from the central control unit is connected to the gate of the MOS FET pl3. A series connection of the drain/source pathε of a n-channel MOS FET n2, a p-channel MOS FET pl5, a p-channel MOS FET pl6 is connected between earth and the voltage εource +Vcc. An interconnection point i3 between the εourceε of the MOS FETs n2 and pl5 is connected to the gate of the MOS FET nl. A series connection of two p-channel MOS FETε pl7 and pl8 iε connected between the interconnection point i3 and the voltage source +Vcc. The interconnection point il is connected to the gate of the MOS FET 18. A wire r/w.b, i.e. read/write fe, from the central control unit is connected to the inverted gate of the MOS FET pl5. A wire r/w.s, i.e. read/write select, from the central control unit is connected to the gate of the MOS FET pl7. A wire r/w.r, i.e. read/write reset, which is used to reset the node i3 after a read or write operation, from the central control unit is connected to the gate of the MOS FET n2. The function of the logic in the embodiment of the element head shown in FIG 22 is the following. The MOS FET nO precharges the access wire ace at each negative clock pulse, and the MOS FET nl evaluates it low at read or write. The MOS FET n2 precharges i3 low to keep the MOS FET nl off, i.e. non-conducting, at stand-by. The MOS FETs pl7 and pl8 perform read/write controlled by the εelect node. This is used for instance in instructions of type instruction match, clearing the mark of a closure cell or reading the identity of the closure cell and if not setting a mark, where different actions shall take place depending on the information on the buses a and b. A match function compares a value, for instance a so called goal value, in the core cell and in a storage cell and consider these values defining two sets. The match result is false if the εetε do not intersect. This case is also assumed if parts of the closure are not fully evaluated. The MOS FET n5 precharges the select node il, and the MOS FETs p2 to p4 evaluate it at control from the control unit 6 on the gate of the MOS FET n7. The MOS FETs p8 to plO perform wired-and on the bus a and/or on the bus b in dependence of the control signalε from the central control unit. The MOS FETs pll and pl2 perform wired_or on the bus a at control from the central control unit. The inverter INV2 inverts the select bit on the select node. This iε necessary because both wired-or and wired-and are performed. The MOS FET pl3 tranεferε the value on the buε a to the εelect node. Only a high εtate need be transferred, since it has been precharged to a low state. Finally, the MOS FETs p6 and p7 are used to select high when controlled. Thiε is needed for an instruction for reading a marked storage cell and clearing the mark of that cell, because then the select node shall be reεet at the εame time aε a reading iε performed. Thiε feature could alεo be used for other types of instructionε in which a logical AND operation muεt be performed in the element head. The εignal any_type iε directly connected to the neareεt bit cell. It containε the type of the stored value. During a match the MOS FET p3 is controlled to be off, so a high value on the wire having the signal any_type will generate a true match. Similarly, for a teεt of whether the εtorage cell iε unused, a high εtate on the wire having the signal any_type while the MOS FET p3 is contolled to be off will cause the signal select on the select node to remain low. For a test regarding equality the MOS FET p3 iε controlled to be on, i.e. conducting. The closure head (FIG 23 The embodiment of a closure head 17 εhown in FIG 23 is able to perform the priority operation and the MODE operation on either the bus a or the bus b. Both operations can be performed simultaneouεly on different buεes. The MODE operation, i.e. the operation of the bus 12 (MODE) in the circuit εhown in FIGε 2 and 3, iε εenεitive to either high or low εtateε on the bus a, while it is εenεitive only to the low εtate on the bus b. The closure head can alεo reεet the global εignal MORE on the bus 13 (see FIG. 2), and read and write back old bus data to the buses a and b. Both the circuit to perform the MODE operation and the circuit to perform the priority operation are designed according to a two stage domino principle. The first stage determines which buε should be the input and correct the polarity, and the second stage performs the actual operation. Thus, the closure head operates in two phases, having a first precharge phase, and a second operation phase. Therefore, a number of precharge n-channel MOS FETs n20, n21, n22 and n23 are provided having their gate controlled by a clock signal prech from the central control unit. n20 precharges the bus a, n21 the bus b, n22 the bus reg to the priority decoder 11 and n23 a contact net FI to "low". A contact net FI includes two parallel coupled series coupled pairs of εource/drain pathε of p-channel MOS FETε p20, p21 and p22, p23, respectively. The net FI is on one hand connected to earth through the source/drain path of the MOS FET n23 and on the other hand to the voltage source +Vcc. The bus a is connected to the gate of the MOS FET p20 and through an inverter INV 20 to the gate of the MOS FET p23, which thus is fed with the signal a* being the inverted signal on the bus a. A signal mode.a from the central control unit is fed to the gate of the MOS FET p21 and its inverted signal mode.a* from the central control unit is fed to the gate of the MOS FET p22. The contact net FI realizes the function a*mode.a versus a**mode.a . A series connection of the source/drain paths of two p-channel MOS FETs p24 and p25 are connected between the voltage source +Vcc and the bus b. The bus a is connected to the gate of the MOS FET p24 and a signal ba from the central control unit is fed to the gate of the MOS FET p25. The node between the net FI and the drain of the MOS FET n23 is connected to the gate of a n-channel MOS FET n24 having its source connected to earth and its drain to the bus 12 (MODE) shown in FIGs 2 and 3 providing the mode-signal. A series connection of the source/drain paths of two p-channel MOS FETs p26 and p27 are connected between the voltage εource +Vcc and the buε b. The mode-εignal on the buε 12 iε alεo through two inverterε INV 21 and INV 22, amplifying the mode-εignal, connected to the gate of the MOS FET p27. A εignal mode.b iε fed from the central control unit to the gate of the MOS FET p26. The signal mode.a makes the mode operation on the bus a. The εignal mode.a makes also the mode operation on the buε a but form an inverted value a on the buε. The εignal ba εet the buε "high" if the buε a is set "low". The signal mode.b sets bus b to "high" if the bus mode iε "low". The εignal prech iε used to precharge the buses a and b to "low". Thus, the choice of if the MODE operation is to be made on the signal a or the εignal a iε made by aid of the contact net FI. The buε MODE 12 may then be εet to earth right through all the closure heads 17 in the object εtorage. A control εignal mode.b on the gate of the tranεiεtor p26 will then draw the buε b to a high level. In thiε way it iε poεεible to make two different teεtε, on the buε a as well as on the bus b. If the teεt on the buε a εhowε a reεult "high" conditioned in the actual operation, then the buε b may be εet "high". For inεtance, WIRED OR may be made on one of the buses a and b and WIRED AND on the other, and a logical operation may be made in which the condition could be that if the result on the bus a is for instance "false" the the bus b could show "falεe". Another condition iε to make another operation baεed on the result on the bus b. A εerieε connection of the source/drain paths of two p-channel MOS FETs p28 and p29 are connected between the voltage εource +Vcc and the bus b. The signal grant from the priority decoder 11 is through an inverter INV 23 connected to one input of a NAND gate NANDl and the εignal req to itε εecond input. The NAND gate includeε two n-channel MOS FETε n25 and n26 having their εource/drain pathε εerieε connected and two p-channel MOS FETs p32 and p34 having their source/drain paths parallel connected and connected between the drain of the MOS FET n26 and the source voltage Vcc. The source of the MOS FET n25 is connected to earth. The signal grant is fed to the gates of the MOS FETs n26 and p34 and the signal req is fed to the gates of the MOS FETs n25 and p32. The output of the NAND gate is connected to the gate of the MOS FET p28 and to the gate of a p-channel MOS FET p33 having its source/drain path connected between the source voltage Vcc and the wire MORE 13. A signal grant.b from the central control unit is fed to the gate of the MOS FET p29. A serieε connection of the source/drain paths of two p-channel MOS FETε p30 and p31 are connected between the voltage source +Vcc and the bus req to the priority decoder 11. A signal prio from the central control unit is fed to the gate of the MOS FET p30, and the buε b is connected to the gate of the MOS FET p31. The signal prio from the central control unit is used to εend a requeεt signal to the priority decoder 11, i.e. provide a high signal req, if the bus b is "low". The NAND-gate p32, p34, n25, n26 detects if the signal req is high and the signal grant is low, i.e. if a need for priority is demanded but not chosen. In such a case the NAND-gate goes low and sets the bus 13 (MORE) to "high", i.e. indicating that there is a need for priority. The signal grant.b is used in order to set the bus b "high" if the signal req is "high" and the εignal grant is "low". After that first a εignal prio haε been provided from the central control unit and then a signal grant.b at the most one storage cell in the object storage will have a bus b being "low". THE NUMERIC ALU AND THE VALUE REPRESENTATIONS It is within the scope of the invention to provide the first order procesεor with a conventional type numeric ALU, which would be controlled by the control unit 6 and which would be connectable to the core cell. Still, an embodiment of a numeric ALU 5, which is εpecially suited for the first order proceεεor according to the invention, will be deεcribed below. The numeric ALU deεcribed below : * iε able to reduce numerical expreεεionε, without uεing a temporary εtorage * iε able to handle floating-point valueε as operands, having a varying partition between mantisεa and exponent, which partition iε coded in a code field * uεes arithmetic instructionε given for itε operandε, on buεeε, in a code field of variable code length. * haε a co-variation between floating-point and integer repreεentationε * haε code dense value repreεentations The numeric ALU can perform arithmetical, logical and related operations on numerical value elementε, in the following way: a) an input liεt iε provided including the numerical value elementε to be proceεεed, and instruction information, b) an operation is performed on the numerical value elementε in the input list using the instruction information, c) the calculation is performed by rewriting the elements in the input list, d) the reεult is presented in an output list. The maximum number of elements in the input and output liεtε are preferably four, which correεpondε to the number of main regiεterε in the core cell, which provideε the input liεt and recieveε the output liεt. One list element could then be provided with an instruction word representation, two list elements could be provided with each one of two numerical value representationε and one could be uεed to be provided with an intermediate calculation result during a calculation made by recycling the rewriting of the input elements several times. The liεt preferably includes a function application in which one of its elements iε an instruction code and the rest are arguments to the inεtruction. An inεtruction is performed by rewriting and recycling the instruction code from the result output list to the input list until, eventually, a result is reached. At each rewriting, the list could be rewritten to include a revised instruction code word, if appropriate for the actual calculation, followed by value words if appropriate. It is appropriate to have the numerical value words provided in a coded form before actual processing. Preferably, the words representing numerical value words are provided with a coding providing the numerical values into a dense representation, i.e. every coded representation of a value corresponds to only one interpreted value. A first coding could be provided on a binary word representing an integer value. A second coding could be provided on a binary word representing a floating-point value. The codings are preferably such that after coding floating-point value representations are provided in the same order as integer value representations. In this way neither of the representations need be in binary digit form. A hardware could be provided to make computation on the transformed bit patterns just implicitely by following given rules, i.e. without knowing how the interpretation has been made. An easy way to accomplish a floating-point value representation having a variable exponent width is to let the binary coded floating-point value representation include a code field, an exponent field and a mantissa field, the code field having an indication on a division position between the exponent field and the mantissa field, such that the exponent and mantissa fields have variable lengths. The dense representation could be provided by including a virtual "1", i.e. a "1" not provided physically in the representation, in front of a field of the word for the mantisεa part of the floating-point value repreεentation. The numeric ALU hardware structure The numerical arithmetic logic unit ALU, schematically shown in FIG. 24A, includes a control drive unit la and an arithmetic unit array 2a performing the arithmetic on particular in/outputs NUQ, NUJ, NU2 and NU3, each being a bus having multiple (M) transmission lines, transmitting a M bit value, M being for instance 32. The numeric ALU is controlled by a control unit 6. The numeric ALU communicates with the control unit 6 with the following signals: a clock signal input C^ ^ j , a busy output A BUSγ , a control input -----ι-_ - a state output Ag TATE , and a decoded instruction output IN g. Interface numeric ALU <-> Core cell The bus in/outputs NUQ, NUJ, NU 2 and NU3 are connected to the main or goal registers in the core cell in the first order procesεor shown in FIG 1, in which instructions of reduction type are processed. The main register cellε in the core cell, i.e. SQ Q, SJ g, S 2 Q S3 Q in FIG 9, all have a NU terminal (see FIG 10), which iε connected to one of the in/output buses NU Q to NU3. Thus, the content in the main register S χ Q can be transferred to numeric ALU using the in/output bus NU χ , which is how the input list is provided to the numeric ALU, where x is a number between 0 and 3. Further, the numeric ALU can provide the result, as an output list, to the main registers using the same bus. The content of the part of the main register situated in the NUM planes, i.e. the num word, iε transferred to the numeric ALU. The in/output buses NU Q to NU3 transport a list of num wordε, which could be a numerical value or an inεtruction. All buses might not be in use everytime. The input list on the in/outputs NU Q to NU3 includes information about the kind of computation to be provided, and the control drive la derives this information from the liεt while controlling the different componentε in the array 2a. A computation iε provided by rewriting the content in an input liεt in a bit or bit group- wiεe way, i.e. for the bitε having the same position in a word εeparately or for groups of bits provided "εlice" wise in a word, and to provide the result as an output list. It is to be noted that it is possible to have a recycling of the values several times through the internal circuits before a final output list is presented on the output. During recycling a momentary output list is preεented at the output but only to be inεerted aε a momentary input liεt. The liεt may include a function application together with valueε to be proceεεed or other type of list, such as a list only including at least one integer value, or floating-point value. When it includes a function application the first list element provided on the in/output NU Q includes the instruction code, i.e. information of the kind of processing that should be made, and the rest of the list elementε are argumentε to the instruction. An instruction is performed by rewriting the instruction in one or several stepε in order to eventually obtain the reεult. Microinstructions and state εignalε are uεed inside the numeric ALU. These are used by the εeparate control drive la inside the numeric ALU to control the array 2a. When a rewriting directly to the result is made, the value is placed in the output list. When a εtepwiεe rewriting is made, the list is rewritten to keep the εame instruction code, or to have a new or slightly changed inεtruction code, and to have the inεtruction code in moεt caεeε followed by a value or values. It is to be noted that the best mode of making the rewriting operation in several cycleε iε to keep the inεtruction code intact during the whole operation, becauεe the control unit 6 will be leεs complicated in such a case. Interface numeric ALU <-> control unit Returning to FIG. 24A, the clock signal C j -^ is used to give clock pulses to the numeric ALU, and the numeric ALU specifies when it is ready to accept clock pulses with a signal ready on the OUtpUt Ag jj gy. The content of the parts of the main registers situated in the HEAD planes, i.e. the tag words, are fed to the control unit 6, which in turn controls the numeric ALU control drive unit la. However, it is within the scope of invention to have the tags included in the information provided on the in/output such that the tag information is fed directly to the control drive unit, below also called the numeric ALU control circuit. The control input ACNTL is used to control the numerical operation of the numeric ALU. The operation may take several clock cycles. An output g TATE is returned to the control unit 6 after each operation. The instruction code on the output A IN g is a compaction of the instruction code in the main register to which the bus NU Q is connected. Referring to FIG. 24B, the basic clock provided by the control unit 6 for the processor is C-_Q , for instance having a period of 10 ns. A numeric ALU operation is performed in one or several such clock cycles. The core proceεsor that is connected to the numeric ALU could be controlled with a period which is longer than, for instance twice, the period for the numeric ALU, i.e. with the clock signal C20 having a period 20 ns if C ] n has the period 10 ns. However, instead it is also possible to have it controlled with a period which is shorter. The basic control signal C^y for the device having the shorter period (i.e. the numeric ALU in the embodiment εhown, or otherwiεe the core proceεεor) iε therefore εtretched at the end of an inεtruction in order to synchronise with the clock signal C2 Q having the longer period. The numeric ALU returns a high εignal A BUSY as i° n 9 as --- needs more clock cycles of the type C^ Q to perform an instruction. The εtretching iε provided after that the εignal A BUSY haε become low, aε apparent from FIG. 24B. THE VALUE REPRESENTATIONS The numeric ALU haε a varying division between the exponent and the mantisεa in a floating-point representation. Then, on the first hand it is posεible to have many bitε in the mantissa for small numbers, which giveε the advantage of having a high preciεion. On the other hand extremely large numberε could be handled. Aε εhown εchematically in FIG. 25, each bit pattern on a buε having a numerical value iε therefore preferably provided with a εhort bitfield in the moεt εignificant bitε of the bit εtring having an information of partly the εign of the value, partly the εign of the exponent and partly a code regarding the dividing poεition (εee the right arrow in FIG. 25) between the exponent e and the mantissa m partε of the numerical value. It iε to be noted that the length of the code part of the bitfield alεo could vary, and that the place of the dividing poεition between the code field and the exponent field iε determined by the code field, aε illuεtrated by the left arrow in FIG. 25. The numeric ALU provideε the floating-point repreεentation of the number in the same order as the integer interpretation of the same number. Thuε the floating-point value and the integer value of the same bit pattern are totally different. However, this purpoεe could be fulfilled by having a firεt interpretation formula for the bitεtring if the repreεentation iε to be interpreted aε a floating-point value and a εecond interpretation formula for the bitstring if the representation is to be interpreted as an integer value. Thus neither of the representations need be in binary digit form, instead at least one of them, preferably both, is in a coded form. The bit pattern transformation is made automatically, and the hardware in the machine makes the computation on the transformed bit patterns juεt implicitely by following given rules, i.e. without knowing how the interpretation has been made. An effort is made to provide a close representation of the floating-point values, i. e. there shall not be two bit patterns which could be interpreted as the same number. The graphical integer representation FIG 26A showε a graphical representation of the code for integer values according to the invention, called integer H values. The binary representation is provided along the horizontal axis, and the H values along the vertical axis. The most significant bit represents the sign of the value, whether it iε negative or positive. As apparent from FIG 26A the H value has its largest negative value when the binary representation is all "0", has its zero at the middle of the binary representation, i.e. when the most significant bit changes from "0" to "1", and haε its largest positive value when the binary representation is all "1", i.e. has its maximum binary value max rep . The graphical floating-point representation FIG 26B shows a graphical representation of the code for floating-point values according to the invention, called floating-point H values. The binary representation is provided along the horizontal axis, and the H values along the vertical axis, which here iε drawn through the point in which the floating-point H values are changing their sign. Also in this representation the most significant bit represents the sign of the value. The floating-point value representationmust fulfill the requirement to be universal. For a certain precision the magnitude of the value must be arbitrary variable. Thus extremely small and large values should be represenatable. The floating-point H value εcale is logartihmic. The logarithmic H value could be simplified by uεing εtraight line approximations between each facor of 2. The result is a typical floating point code. As seen in FIG 26B the binary representation for repreεenting H values between -1 and +1 is provided in the middle of the binary representation field and includes half the field. The relative precision of a value iε conεtant over the entire range of values. The logarithmic values haε a certain precision and range. If the magnitude shoud be arbitrary large it must be possible to adjuεt the range of the logarithm. The logarithmic value could be applied to the logarithm function still one time or even further times. Thus, it is posεible to represent very large values. Hovever, the precision decreases at large magnitudes, but the precision at small levels could be kept or even εlightly increaεed. Since the two bit patterns of the two representations appear in the same manner, an integer size comparator could be uεed alεo for floating-point value repreεentationε. Thiε meanε that a particular floating-point value comparator could be avoided. Thiε in turn meanε that the integer εize comparator, which makeε the comparing operation in only one cycle, can be uεed for the floating-point valueε, which iε a great advantage. A floating-point value comparator of conventional type muεt uεe many cycleε for itε operation. In conventional arithmetical logic unitε εeveral bit patternε could be interpreted aε the εame number and a normalization is made such that one of these bit patternε iε choεen. According to the invention no normaliεation need be made, at least not at the actual calculation. Normalization could be made before and after a calculation operation. By having a close representation similarity between floating-point values, a floating-point value calculation, such as comparison, can be determined in one cycle only. An advantage of having a close representation is also that a maximum number of floating-point values are available, i.e. no rejected and unusable values are provided in a sequence of values. The reason why there are several bit patterns which could be interpreted aβ the same number in conventional applications is that the exponent part and the mantissa part of a value are multiplied with each other in order to create the value. For instance the value 1.0 could be 2 *1/2, i.e. having the exponent bit pattern 01 and the mantissa bit pattern 100, or 2 2 *l/4, i.e. having the exponent bit pattern 10 and the mantissa bit pattern 010, the exponent bit pattern and the mantissa bit pattern following after each other. The close representation is created by providing a "1" implicitly, i.e. without actually being there, before the mantissa bit pattern for possitive values and a "0" implicitly for negative values. Classically, the mantissa is specified as a value between -1 and +1. The binary coded mantissa is specified as a value in the range (1.0 to 2.0) or (-2.0 to -1) depending on the sign. The representation coding The integer patterns are exactly determined, and the floating-point representations shall have the same consecutive order as the integer interpretation, which is a very hard constraint. An advantageous solution to this problem is shown schematically in FIG. 26C FIGs 27A to 27D show a data list of words provided according to the principles shown in FIG. 26C FIG 26C SUBSTITUTE SHEET shows a schematical graphical exposition of the floating-point code, the binary representation is illustrated on the left side of a vertical dividing line LIN, and the floating-point H-values are illustrated on the right side of the line LIN. The line LIN is illustrated as an axis pointing toward higher values. This is due both for the binary representation and for the H value representation. The representations and,., the H-values are illustrated to propagate outwardly at the side from the line LIN on both sides of it. Nearest to the line LIN is an illustration of the axes in the diagram in FIG 26B. The H-value axis to the right and the binary representaion axis to the left. The first field outside the axis representation, sh to the right and s to the left, represents the most significant bit. It is "0" for negative values, "1" for positive. The second field, seh and se, respectively, represents the next most significant bit. It is the exponent sign bit. The third field includes at least one bit having lower significance than the next most significant bit, one bit if the binary field is low, as in the illustrated case having only seven bits, and more than one bit if the binary field is high, as will be explained below for a case having 32 bits. In the example shown in FIGs 26C, 27A to 27D the coding for seven bit words is shown instead of for the 32 bit words that probably will be more frequently used in practice. The binary representation immediately to the left of the center line will be interpreted to have the H-values -1024 to +768. It is to be noted that the H-values -1 and +1 are placed halfways between the value 0 and the extreme values -1024 and 768, respectively. The first binary bit s and sh, respectively, both for the representation and for the H-values is the sign of the value, whether it is a positive or a negative value. The second binary bit is the sign of the exponent, i.e. whether the absolute value is above or below the number 1. The H-bit exponent sign seh is thus positive between -1024 and -1, negative between -1 and +1, and then positive between +1 and SUBSTITUTE SHEET +768. As apparent from the left side of FIG. 26C the representation exponent ' sign se instead is negative in the first quarter of the binary sequence, positive in the second, negative in the third, and positive in the fourth. The bit seh could be described such as if s=l then seh=se otherwise seh=l-se. Thus, in the representation the most significant bit, representing the character sign, has the slowest variation, the next most significant bit, representing the exponent sign, has the next slowest variation, i.e. twice that of the character sign bit. The bit in the next place has twice the variation of the exponent bit and is the code bit c. The code includes only one bit in the example according to FIGs 26C and 27A to 27D. In other examples the code field may include more than one bit. The code controls the exponent length and is to be regarded in view of the preceding sign bits. The floating-point H-value, which is the goal to be provided, i.e. the floating-point notation, provides the code field ch in a more particular way. As apparent from the section eh, which gives the exponent H-values directly, the value eh goes from a large positive value down to a value 0, where the H-value is -1, from there to a large negative value, where the H-value is 0, from there to a value 0, where the H-value is +1, and from there to a large positive value, where the H-value is 768. The section βh abs shows the absolute exponent H-values and is represented by two curved lines, provided side by side each having both ends at a large positive value and its middle point placed at 0. The code field for the H-values is constructed to reflect the H-values and thus is shown to have the same form in dashed lines and the form it will have if the code field includes, only one bit in continuous lines. Thus the code ch=c if se=l, and otherwise ch= 1-c, when the code ch only includes 1 bit. It is easy to follow the disposition of the list provide d in SUBSTITUTE SHEET 102 FIGs 27A to 27D, because each one of the bit fields s, sh, se, seh, c and ch includes only one bit, and therefore the comparison between the representations in FIG. 26 and in FIGs. 27A to 27D is obvious. The first column in FIGs 27A to 27D is a sequential binary list from 0000000 to 1111111 and its straightforward counterpart in the decimal numeration system is provided in the second column. To the right of the grrow column the transformed numbers for the representation and the H-values are shown. The list is provided with continuous horizontal lines for each switch of the representation code field in order to make it easy to make the comparison to the illustration in FIG. 26C. The column to the right of ch includes a decimal representation of the exponent value e of the representation, and thereafter the decimal representation of the exponent value eh of the H-value. The next two columns show the binary representation of the values e and eh, respectively. The following next two columns show the decimal and the binary, respectively, representation of the mantissa value m for the representation. Thereafter the decimal representation of the mantissa value mh of the H-value is shown. It is to be noted that the mantissa varies between -1 and -2 in FIG.27A and 2TB, in which the value sh is "0", and between +1 and +2 in FIG. 27C and 27D, in which the value sh iβ "1". The column most to the right shows the decimal H-value provided by the binary combination in the column most to the left, when transformed. As apparent from the upper part of FIG. 27c the representation having a "1" as its most significant bit followed by H 0"ts represents the particular floating-point value "0". As apparent frpm the sequence of binary numbers in FIG. 26C, next to the left of the center line, the seven binary bits has its four least significant bits left to be shared by the exponent and the mantissa, since the three most significant bits are reserved to the βign bits and the code bit. From the SUBSTITUTE SHEET digital columns e and m it is apparent that in the uppermost section, where the exponent sign se is negative, i.e. "0", and the code value c is "1", the value e includes three bits, and thus the value m one bit (the first two "0"ιβ in the column may be omitted). This is illustrated in FIG. 26C by having an e-representation in many steps in this section. In the next section, in which the exponent sign se still is negative, but the code value c is "0", the value e does only include one bit (the first two "0":s in the column may be omitted), and the mantissa value may include three bits. This is illustrated in FIG. 26 by having an e-representation in few steps in this section. In the next section, the value e includes only one bit and the mantissa three bits, etc. As shown in the representation part, the exponent e has many steps in the sections having c=0 and se=0 and few steps in the sections having c=l and se-1. In the section e+bias to the left of the section e it is illustrated with continuous lines the values e provided in a line after each other within each quarter of a full section and with dashed lines how the values eh abs are constructed by inverting every second quarter of a section in e+bias. (eh represents the value of e with the exponent sign.) Thus the code bit or bits is dependent upon the preceding exponent sign bits, and therefore one could say that the code in fact is including the sign bits and therefore could have a very limited length, i.e. be shorter than if the length of the exponent should be dependent on what is provided only in the code field. The mantissa length is dependent upon the exponent value in such a way that when the exponent is long then the mantissa is short and vice versa. Therefore, the mantissa is not shown in FIG. 26 but is apparent from the column m,m of the list in FIGs 27A to 27D, where the first m illustrates the decimal numeration value and the second m illustrates its digital SUBSTITUTE SHEET counterpart. If s=l then mh=1.0+m otherwiεe mh=-2+m aε mentioned above. The example above was described for a seven bit word length for the purpose of readability. As mentioned, the word length could be chosen to be quite long, for instance 32 bits. Then, it is practical to have a varying code length. It is alεo practical, in order to make the circuitry leεs complicated, to change the division point between exponent and mantissa in stepε of several bits, e.g. four bits. An advantage with is that it is not necesεary to have as many codes as must be had when the division change is made bit wise. An example of such a precision decoder will be described further below. AN EMBODIMENT OF A NUMERIC ALU FIG 28 shows a detailed embodiment of the numeric ALU, which could be included in the first order proceεεor according to the invention. The in/output buεes NU Q to NU3 are connected to an input/output buffer 20, which transmits the information on the input to the internal wires for each inverted clocking interval of the external clock signal CLOCK provided on a clock control input of the buffer, and the output on the internal output wires V QOUt .to 0ut to the in/output buseε NU Q to NU3 for each clock interval. An embodiment of the circuit 20 and the clocking of it iε εhown in FIGε 29A, 29B and 29C. The input/output buffer 20 includes in turn input buffers, one for each input/output bus NU Q to ^3 / and the same number of output buffers. In order to avoid race problems the clock signals must not overlap. This is arranged by slightly cutting their leading edges. During the first phase of the clock signal CLOCK shown in FIG 29A, and being inversed aε marked at the left with a bracket, the input from the main regiεterε in the core cell, iε provided to the internal datapath in the numeric ALU through the input buffers being controlled to a tranεmitting state. The data is propagated through the internal datapath in the numeric ALU while being transitioned to next state provided on the output buses. The output buffers are controlled to a blocking state. As shown in FIG 29B, during the phase 1 of the clock period of the clock signal CLOCK, marked with a bracket to the left in the Figure the input buffers in the circuit 20 are controlled to a blocking state and the internal circuits in the numeric ALU function as a stable multiplexor to control the signals to be provided on the input/output buses NUQ to NU3. The output buffers in the circuit 20 are controlled to a transmitting state. The condition at a multiple cycle inεtruction at the phase 0 is shown in FIG 29C. The content at the input/output buses NU Q to NU3 fed to them from the numeric ALU during the preceding phase 1 iε kept on them during the phaεe 0 because of capacitance effects and is thus able to be transmitted through the input buffers, which are controlled to a transmitting state while the output buffers are controlled to a blocking εtate, to the input buses v Qi , ^, 2 ^, "v^, and from there propagated through the internal datapath in the numeric ALU while being transitioned to the next state. The input list is used to control and perform a computation, which is made by rewriting the content in the input list and to feed the result to the output. The first element in the list is an instruction code and the rest of the elements arguments to the instruction which requires that a functional hardware dependent upon the input data is provided. However, the information regarding the kind of information present on the buses v lif v 2j _, V2_ is preferably given on an input EXT from the control unit 6. The control unit 6 preferably has the information of whether the words on the input buεeε VQ , v- _ , repreεent inεtructions and/or numbers, and if the numbers are floating-point values or integers, and gives this information to the numeric ALU control ciruit 27 through the bus EXT. The following processing units are provided in the embodiment shown in FIG. 28 to perform the different instructions: The comparators A first comparator 21 iε connected to the wires VQ^ and v^ comparing the whole information of those wireε, i.e. v θi =v li' and P÷ccvid β s the comparing results, i.e. a two bit value, on its output cmpg^ connected to a numeric ALU control circuit 27. A εecond comparator 22 iε connected to the wires v- j ^ and v 2 i comparing the whole information of those wires, i.e. v ii >v 2i' v li =v 2i and P rov id es the comparing results on its output cmp 1 2 connected to the control circuit 27. A third comparator 221 is connected to the wires and comparing the whole information of those wires, i.e. and provides the comparing resultε on itε output cm 2 3 connected to the control circuit 27. A fourth exponent comparator 222 is connected to the wires each being a 32-bit bus, and compares the moεt εignificant parts of the word on those wires, i.e. the partε se, c, e, i.e. all the information except the mantissa and the sign, on these wires. The comparator takes notice of the coding of the parts εe, c, e, deεcribed above. Therefore, the εignal B lsbl , from a precision decoder PD, is fed to a εeparate input of the comparator 222. A fifth comparator 223 compareε the εignalε and Bι_ b 2 from the preuεion decoders. The resulting εignal cmp prec indicates if the signalε are identical. The control circuit 27 feedε the reεult of the comparationε from the comparatorε to its output A STATE connected to the control unit 6 (see FIG. 24A) . The result could alεo be uεed for control of εome of the units to be described below such that prechosen wordε are provided on the output buεeε v lout , v 2out and v 3out if appropriate. Insignificance decoderε An insignificance decoder 23 is connected to the wire v^ and is testing if the bitε on v-^ are all "0" or "1", if the word on the bus v-^ represents and integer, and, if the word on the bus v^£ represents a floating-point value, testing separately if the bitε in the exponent part and in the mantissa part are all "0" or "1". A signal B^ g ^ indicating the least significant bit group of the input v^ provides information whether the word on the input buε represents an integer or a floating-point value, and in the case of a floating-point value the division between the exponent and mantissa part. The result of these testε iε provided on the output inεig^ connected to an input of the control circuit 27. An insignificance decoder 24 is connected to the wire and is testing if the bits on V2J_ are all "0" or "1", if the word on the bus v 2 £ represents an integer, and, if the word on the bus v 2 ^ represents a floating-point value, testing separately if the bits in the exponent part and in the mantissa part air all "0" or "1". A signal indicates the least significant bit group of the input v 2 £ and provides the same type of information as the signal B lsbl . The result of these tests is provided on the output insig 2 connected to an input of the control circuit 27. An insignificance decoder 25 iε connected to the wire v 3i and is testing if the word on is all "0" or "1", represents an integer, and, if the word on the bus represents a floating-point value, testing separately if the bits in the exponent part and in the mantissa part are all "0" or "1". The information regarding this is derived from the signal B^ gjj ^. The result of these tests is provided on the output insig3 connected to an input of the control circuit 27. Each insignificant decoder is also controlled by a control signal C53 to be described further below from the control circuit 27. The purpose of having the insignificant decoders is to detect if the information on one of the inputs to take part in a calculation to be made should be insignificant. Thiε information is alεo provided on the bus A gTATE to the control unit 6. A final condition that at least one input from one of the inεignificant unitε for inεtance indicate all zeroε could be uεed by the control circuit 27 for εome typeε of operationε. Inεtruction decoder An inεtruction decoder 26 is connected to the wire v Qi . The bus V Q bears the inεtruction when the numeric ALU is to perform an arithmetic operation. The result of the decoding of v 0i is transmitted to the control circuit 27 through the output ins, if v Qi bearε the inεtruction or data value. The unitε 23 to 26 are alεo controlled by other εignals B s l , B ι s κ2 and c 5 generated in the circuits PD1, PD2 and 27, respectively, and further described below. Adders and subtracter A first adder 28 connected to the wires v^ and v 2:; makeε the addition v ϋ+ v 2i an£ * feeds the reεult to a separate output a-i. A posεible carry εignal of the reεult will be fed to an output g*~_1 connected to the control circuit 27. A εubtracter 29 connected to the wireε v^ and v 2 ^ makeε the εubtraction v li~ v 2i and ee< * s the result to a separate output a 2 . A poεsible carry signal of the result will be fed to an output gr a2 connected to the numeric ALU control circuit. A second adder 30 connected to the wires makes the addition v li +2 * v 2i and eeds the result to a separate output a 3 . A posεible carry εignal of the reεult will be fed to an output 9 r a3 connected to the control circuit 27. Each adder iε alεo controlled by a control εignal c5 from the control circuit 27 and by the signal B lsbl . This . signal provides information whether the words on the input buεeε repreεent integerε or floating-point values, and in the case of floating-point valueε and aligned valueε on the buεes v li and v 2i the division between the exponent and mantiεsa part. These informations are eεsential because discrete values, i.e. integers, are completely evaluated, but for continuouε values, i.e. floating-point values, the mantissa and the exponent parts are evaluated separately. Sign circuits A first sign and exponent sign circuit 35 is sorting out the sign, exponent sign, most significant mantissa bit and the two least significant mantissa bits of the word on the bus VIJ and feeds its output sig^ to an input of the control circuit 27. A second εign and exponent εign circuit 36 is sorting out the sign, exponent sign, most significant mantissa bit and the two least significant mantissa bitε part of the word on the bus v 2 _ * and feeds its output sign 2 to an input of the control circuit 27. Also, a third sign and exponent sign circuit 37 could be connected to the bus and feeds itε output sign3 to an input of the control circuit 27. It is to be noted that the circuits 35 and 36 are absolutely needed when the εign, the exponent εign and the mantissa bits are provided as a part of the word provided on the buses v- j ^ and v 2 ^. They are used by the numeric ALU control circuit in case of floating-point value words on the input buses. The circuit 37 may be omitted in some applications of the numeric ALU. A sign and exponent sign circuit (not shown) could also in some applications of the numeric ALU be provided for the bus VQ^. The numeric ALU control circuit The control circuit 27 provides digital output signals on output buseε cl, c2, c3, c4, c5 by processing its input signals. The control circuit 27 is preferably a boolean gate array. Examples of the control provided by the output signals will be described further below. The operand units Two operand units rl and r2, one for each of the operands on the wires v^ and ^2_. r contain all arithmetic unique to one element. Each operand unit haε εeveral information inputε. Three of them are connected to the εeparate outputs a.- ^ , a2, and a3 of the three units 28, 29 and 30, respectively, two of them to the input buses respectively, and three of them are connected to some outputs of an individual precision decoder PD1 or PD2, respectively, to be described further below. In principle each information input is a bus including the same number of wires as each input bus The output of the operand unit rl is the output buε lout and the output of the operand unit r2 iε the output buε v 2out « One of the outputε cl of the control circuit 27 is a composite control signal to control internal elements in the operand unit rl. Other control signals for the unit rl are provided by the precision decoder PDl. A second of the outputs c2 of the control circuit 27 iε a compoεite control εignal to control internal elements in the operand unit r2. Other control signals for the unit r2 are provided by the precision decoder PD2. A third output c3 is a composite signal provided to a third operand unit r3, a fourth output c4 is provided to control a polynome giving circuit 31 to be described further below, a fifth output c5 is provided to control the preciεion decoders PDl and PD2 and also the inεignificant circuitε 23 to 25, the adderε 28, 30 and the εubtractor 29, and the εign and exponent εign circuitε 35 to 37. Each operand unitε rl or r2 have eεεentially the εame configuration, and therefore only one of them r2 will be deεcribed in detail. Same elements in the units rl and r2 have been provided with the same references. The operand unit iε divided into two groupε, the exponent part 0P e and the mantissa part OP m . The mantisεa part OP m haε an output nl and the exponent part haε an output n2. The outputε nl and n2 are connected to inputε of an output buε εelector, also called bit group individual εelector Ml. A 0/1 generator 40 providing a precision group of four "0" or four "1" at choice, controlled by a control signal C2- to the generator, is also connected to an extra input of the selector Ml. The exponent part 0P e has as inputs four of the inputs of the operand unit, i.e. v 2i , and B bias2 , B co _ incr2 , B co _ decr2 from the precision decoder PD2, and has also an input n8 from the mantissa part OP m . The input v 2i is connected to the input of an incrementer INC, the input of a decrementer DEC and to one of five inputs of a word selector M2. The outputs n5 and n6 of the components INC and DEC, respectively, are connected to two inputs of the word selector M2. B co _ incr2 , B co _ decr2 are connected to the other two inputs of the word selector M2. The component INC in the operand unit r2 also has carry outputs gr^ 2 and C e i2 7 w ^ϋ e the component DEC has carry outputs gr d 2 and Ce d2 connected to the control circuit 27. Also, the operand unit rl has an increment component carry output signals gr A1 and as well as decrement component carry output signals 9 r dl and Ce dl connected to the control circuit 27. The carry outputs are provided early during the first half of the clock cycle. The selectors are controlled late during the first half of the clock cycle, and then this selector control is provided in taking care of the fact if there was a carry in some of the increment or decrement circuits or not. The normal maximum propagation delay to the first selector is more than a half cycle. Thus, there are no extra delays caused by this arrangement. However, the typical propagation delay is generally less than a half cycle. All signals are evaluated at the transition to the last half cycle. No unnecessary transitions occur in the selectors. The output n4 of the word selector M2 in the operand unit is connected directly to a first input of a word selector M3 having four inputs and to a second input of it through an inverter INV. The output n2 is the output of the exponent part OP e . The input B bias2 iε connected to a third input of the word εelector M3. The mantiεεa part OP m haε five inputε, i.e. a2 and a--. All the inputε are connected to an input each of a word εelector M4 having five inputε and an output n8. The output n8 iε connected to the fourth input of the word εelector M3 in the exponent part OP e . The output n8 iε also directly connected to one of three inputs of a word selector M5, to a εecond of the inputε of the word εelector M5 through a negative εhifter SHI, which iε εhifting the binary information on itε input four εtepε towardε the lower εignificant direction, i.e. dividing the binary information with 16, and to a third of the inputs through a positive εhifter SH2, which iε shifting the binary information on its input four stepε towardε the higher εignificant direction, i.e. multiplying the binary information on itε input with 16. The output n7 of the word selector M5 is directly connected to a first one of six inputs of a word εelector M6; through a negative shifter SH3, shifting the binary information on its input one εtep to the lower εignificant direction, to a second input; through a second negative shifter SH4, shifting the binary information on itε input one εtep to the lower εignificant direction, to a third input; through a poεitive εhifter SH5, εhifting the binary information on itε input one εtep to the higher εignificant direction, to a fourth input; and through a εecond poεitive εhifter SH6, εhifting the binary information on itε input one εtep to the higher εignificant direction, to a fifth input. An internal conεtant word generator 41 generateε a conεtant word c word 2 at control on its control input C2^ Q a nd has itε output connected to an individual input of the word εelector M6. The constant word generator 41 can provide a group of predetermined combinations of zeros or ones, for instance all "0" or all "1" or a word indicating some particular information, controlled by a control signal C2 1Q to the generator. The generator can store only a limited number of word combinations among which to chose with the control signal 02^. The output of the word selector M6 is the output nl of the mantissa part 0P m . The mantissa part 0P m implements the following function. The basic mantissa value on n8 is selected by the word selector M4 resulting in either V2, v^, a-^, B. * or a 3* -- - could be used as it is or be shifted 1, 2, 3, 4, 5, 6 bits to the left (positive shifts) or l, 2, 3, 4, 5, 6 bits to the right (negative shifts) or could be substitued by the word c word2 provided by the constant word generator 41. The exponent part 0P e implements the following function. Its output could be either the unshifted mantissa value on n8, v 2 +l, inverted v 2 +l, v 2 -l, inverted v 2 -l, B co _ incr2 , inverted B co-incr2' B co-decr2' inverted *- 0 - ^ _\ &CT 2 ' or B bias2 . In the operand unit r2, the word selectors M2 to M6 are controlled individually by the control word on the output c2 of the control circuit 27. Thus, the word selector M2 is controlled by the part control word C23, the word selector M3 by the part control word c22, the word selector M4 by the part control word c2g, the word selector M5 by the part control word c2g, and the word selector M6 by the part control word c2 4 . Also, the shifters SHI and SH2 connected to the output n8 of the selector M4 are controlled by a part signal c2g, the shifters SH3 to SH6 by a part signal c2 7 , the incrementer INC and the decrementor DEC by a part signal c2g, the constant word generator 41 providing the output c word2 by a part signal c2 10 , and the 0/1 generator 40 by a part signal ~~ ι\ * The bit group individual selector Ml is controlled by a combined multi bit signal including a part control word c2ι, an output code signal B cde2 from a precision decoder PD2, an output least significant bit signal Bι s a - j2 , and an output exponent signal B eχp a£ j j 2' -~~- two last-mentioned signals are derived in processing circuits 42A and 42B from outputs B lsb2 and B eχp2 / respectively, coming from the precision decoder PD2. The signalε will be described and illustrated further below. The processing circuits 42A and 42B are controlled by the signal c2 5 being a part of the output c2 from the control circuit 27. The preciεion decoder PD2 has the exp sign and code part of the information on the bus as an input together with a binary control signal C53 from the control circuit 27, indicating if the word on the bus representε an integer or a floating-point value. The control εignal C53 iε a part of the output c5 from the ALU control circuit 27. The same is valid for the precision decoder PDl for the operand unit rl. The signalε B sbl , B eχ _^ from the precision decoder PDl are processed in processing circuits 43A and 43B providing the outputs B lsb acj ji and B eχ _ ad - / reεpectively. The proceεεing circuitε 42A, 42B and 43A, 43B are moεtly providing the same outputs as its inputs from the decoder to which it belongs. However, in some occationε, when a carry haε been provided from the incrementer INC or the decrementer DEC the output εignalε will be εhifted, aε will be deεcribed further below. Thiε shift will be controlled by a part signal c2g or clc, respectively, of the output c2 or cl, respectively, from the numeric ALU control circuit 27. The preciεion decoder PD2 (or PDl) provideε outputs which are all insignificant which for example iε indicated by having the outputε to the processing circuits 42A, 42B (or 43A, 43B) provided with all zeroε, if the word - ~ 2_ represents an integer, and outputs of the kind described below as B e 2» B lsb2 and Bcde2 (or B eχpl , B lsbl and B cde2 , if the word v 2i (or v 1± ) represents a floating-point value. The precision decoder PDl provides the output signalε B co decrl' B co—incrl' B biasl' B expl' B lsbl' -.-.s\.l ' and B cdel to the operand unit rl and a signal B co maxl indicating if the code represents a maximum length of the exponent, and a signal B_ Q mini indicating if the code represents a minimum length of the exponent to the ALU control circuit 27. The precision decoder PD2 provides the output signals B co _ dβcr2 , B co _ incr2 , B bias2 , B exp2' B lsb2' B msb2' and B cde2 to the operand unit r2, and a signal B C( _ aιaχl indicating if the code represents a maximum length of the exponent, and a signal B co _ minl indicating if the code represents a minimum length of the exponent to the ALU control circuit 27. The outputs B-^ sb , B eχ _ from the precision decoder PDl or PD2, respectively, must be shifted in the same way as the mantiεsa is shifted in order to let the new precision be reflected on the outputs and during the normal shifts, which is made by the control of the circuits 42A and 42B or 43A and 43B under control of a part of the signal c2c or clt j , respectively, as described above. Each precision decoder is fed with a signal 053 on itε input indicating if the word on the input bus v^ or 2 ^, respectively, represents an integer or a floating-point value. The signal 053 is a part of the signal from the output c5 of the ALU control circuit 27 controlling the circuits 23 to 30. The output signals from the precision decoder will be described in further detail below. Multiplication and division, operand unit r3 The third operand unit r3, the multiplicand/quotient function unit, iε of another kind than the units rl and r2 and is provided mostly for multiplication and division operations. The unit r3 performs the shift and setting necessary during the multiply and divide functions. It iε controlled by a control word provided on the output c3 of the ALU control unit 27. The multiplicand/quotient unit r3 has several inputs, of which a first is provided with the information on the buε 2 ^, a second with the information on the bus - ^^ and a third with an output from a constant word generator 44, providing a chosed bit combination among εeveral εtored in the generator at control of a part signal c3 4 of the output c3 from the circuit 27. The unit r3 is uεed to evaluate one argument during complex numerical inεtructionε. Itε output iε connectedto the buε 3 out . The input v 2 ^ iε fed to a firεt input of a word εelector Mil. The input iε fed directly to a εecond input of the word εelector Mil, to a third input therof through a poεitive one bit εhifter SHll controlled by a εignal part c3g, to a fourth input thereof through a first negative one bit shifter SH12, and to a fifth input thereof through a second negative one bit shifter SH13 the two last mentioned bit εhifterε being controlled by the εignalε C33, B msbl , ^ gjj ^. The output of the generator 44 iε connected to a εixth input of the word εelector Mil. The output of the word εelector Mil, to be provided to an input of a εecond word selector M12, is choεen by a control word part c3 2 of the control word c3 from the ALU control unit 27. M12 iε a buε connection providing the output of the εelector Mil to the output bus V3 0ut but which is able to be controlled to a switched off condition by a control word part c3- j _. Regarding exampleε of the operation of the numeric ALU we refer to our copending application The preciεion decoder The principle structure of a precision decoder is shown in FIG. 30. It is to be noted that modifications could be made in the shown structure, for inεtance in order to εpeed up the calculation rate. Theεe are juεt conεtructural featureε and are apparent for a perεon skilled in the art and will therefore not be described here. This means that the actual circuit could have quite another configuration than that shown in FIG. 30, but that it will have the principle function aε apparent from FIG 30. The exponent sign and code part of the input signal v*_, where j is either 1 or 2, is fed to a recode circuit 50, which in this embodiment at its output provides one of the variants of the code including the leading exponent sign εhown in the table above, for instance the left one, whatever of the variants is provided on its input. Alternatively, both variants could be provided on the output of the recode circuit 50, but alwayε in the same order, for instance the left variant in the table above on lines alotted to it, and the right one on lines alotted to it. The output is fed to a bit sequence comparator circuit 51, which monitors the bit combination on its input and provides the digital signal B Sb indicating the bit length of the code. It also provides the signal B cde . Six bit sequence comparator circuits 52 to 57 are also connected to the output of the recode circuit 50 each adapted to react to its particular coding to provide a "1" in the output if the bit pattern on the output wires from the recode circuit 50 is the same what it is adapted to react upon to provide an output "1" instead of its normal output "0". Only one of the circuits 52 to 57 at the time is providing a "1", i.e. a true-signal, the others are providing the output "0", i.e. a false-εignal. The firεt and the last bit in the signal B^ gj -, are always a "0". Therefore, two wires 58 and 59 are connected directly to a wire having the bit "0". The wire 58, the outputs from the circuitε 52 to 57 and the wire 59 are providing the buε Bι sb , which haε one bit per preciεion group. The bus B bias has four bits per precision group. Each group includes three bitε "0" and the bit of the εignal B lsb for that particular group. Thus three of the wires of each group is connected to "0" and the fourth to the appropriate wire of the output B lsb . The output B co . iε connected to the output of the circuit 52, and the output B co max iε connected to the output of the circuit 57, The bit pattern of the output B eχp includeε "0":ε in the leaεt significant positionε up till the poεition where the output B lsb haε a "1", and thereafter all bitε are "1":ε. The leaεt εignificant bit on the wire 59 will alwayε be a "0", but from the next leaεt poεition there iε a possibility for a bit "1". Therefore, an OR-gate 60 has one input connected to the output of the circuit 57 and the other to the output of the circuit 56. The output of the circuit 57 iε connected to the next least position wire of the signal B eχp . The output of the OR-gate 60 is connected to the second next least position wire of the output B eχ _. Thus, if the output of the circuit 57 should happen to be a "1", then thiε will provide an output bit "1" from the OR-gate 60 aε well. The output from the OR-gate 60 will be "0" only if the outputε from both the circuitε 57 and 56 are "0". The output of the OR-gate 60 iε connected to a firεt input of another OR-gate 61 having itε other input connected to the output of the circuit 55. The output of the OR-gate 61 iε connected to the third leaεt poεition wire of the output B eχp and to a first input of an OR-gate 62 having its other input connected to the output of the circuit 54, etc. Thiε kind of caεcade coupling of OR-gateε provideε "l":ε in all poεitionε having the εame or higher εignificance than the poεition giving a "1" in the output B lsb . The εign, exp εign and code part of the word B co decr haε itε first wire connected to a unit providing a "1", its second to an inverter 161 connected to the sixth wire of B lsb , its third to an OR-gate 162 having itε inputε connected to the fifth and εixth wires of B^ sb , and its fourth and fith wires connected directly to the εecond and third, reεpectively, wires of Bι sb . These wires for the sign, exp sign and code part of the word B co decr are connected to the input of a bit completing circuit 66 adding "0":s to the incoming word in order to provide a 32-bits word on its output. The sign, exp sign and code part of the word B co _ ncτ has its first and second wires connected to a unit providing a "1", its third to an inverter 163 connected to the seventh wire of Bi sb , its fourth to an OR-gate 164 having itε inputε connected to the third and fourth wireε of B lsb , and itε fifth wire connected directly to an OR-gate 165 having its inputs connected to the third and fifth wires of B jgjj . These wires for the sign, exp sign and code part of the word B co i ncr are connected to the input of a bit completing circuit 67 adding H 0":s to the incoming word in order to provide a 32-bits word on its output. The adder An embodiment of an adder, such as one of the circuits 28 to 30 in FIG. 28 is shown in FIGε 31A to 31C. The adder has two arguments a and b. The argument a is provided on the bus and the argument b on the bus v 2 ^. These arguments are coded either as floating-point values or as integers. The signal cδ^, being "0" for integer and "1" for floating-point value, of the output c5 from the circuit 27 in FIG. 28 and the buses B^ sbl and B jsb2 , having all bits "0" for integer and having one of the bits "1" for floating-point value, indicate thiε fact. Aε shown in FIG. 31A the adder is a binary adder built in 8 cascade coupled sections GO, Gl, .., Gi, .., G7, i.e. one section for each precision group. As apparent from the description above of an addition operation it is essential to align the arguments a and b before they can be added in case of a and b being floating-point values. This means that B- Lgbl and B lgb2 must be equal. B^ g ^ is fed aε the εignal B lsb to control the adder. The signal B lsb is displaced one step in the direction toward the mantissa when it is connected to the adders, incrementers, decrementers etc, because then it could influence the carry propagation (block it) at the most εignificant mantissa group. Therefore, the least significant bit in the signal B^ gb is not used in these cases. The arguments a and b, each including 32 bits, are divided into eight groups each including 4 bits. Each group of four bits of a and b is provided as a separate input of an individual section Gi, i being an integer between 0 and 7. Each wire of the bus B j L sb iε connected to an individual of the εections Gi, except to GO. A wire c in to the section G7 indicates if the adder εhall make an addition or a εubtraction. c^ n is "0" for addition and "1" for subtraction. Each εection provideε a carry signal c out ^ to be fed to the next section and is fed with a carry signal c^ n ^ coming from the next preceding section, as will be deεcribed more in detail below. The addition of the argumentε a and b iε made individually in each εection GO to G7 providing carry signals to the next section in the order G7 to GO, if necessary. For a floating-point value a mantisεa carry out buε c m iε provided to which a mantiεεa carry out iε provided if necessary. This bus together with the wireε c s having the εign bit and c ge having the exponent εign bit form the input gr al (or gr a2 or 9 r a3 ) to the circuit 27 in FIG. 28. The circuit 27 provideε thiε information to the control unit 6 on the buε gTATE . The εignal c5! indicateε if the argumentε a and b are integerε or a floating-point valueε, the εignal c5 2 indicate if the code iε normal or altered for the argument a, and the εignal C53 indicate if the code iε normal or altered for the argument b. These signalε are fed to the εection GO, which corresponds to the moεt εignificant preciεion group including the moεt εignificant bit εlice (the εign εlice) . Thiε is in particular dependent upon the format of the operands a and b (whether they both are integerε or floating point valueε) . A triεtate gate 70 is provided to set the buε c m to a defined value, for instance all "0" when the operands are integers, since then no mantiεεa carry is activated on the bus. The tristate driver 70 is controlled by the signal c5 3 . An embodiment of a configuration of a section Gl is shown in FIG. 31B. It is "sliced" into four adder εlices AS1 to AS4. It also contains a carry generator for the εection which evaluates the carry c Qut ^ for the next section. Each bit group a^ and b_ for the section Gi in question, has an individual of the bits a^ and b - -., respectively connected to each individual adder slice ASk, k being an integer between 1 and 4. Each adder slice provides one bit sum^ k of the sum output. As will be described more in detail in describing FIG. 31C the carry generator is provided with a generate bit Gen indicating that the sum of the εection iε greater than or equal to 16, a propagate bit Pr indicating that the εum of the εection is greater than or equal to 15, the carry bit from the next preceding section c in if a carry in bit c in i4 from the adder slice AS4, and the bit B lsb i+1 . The bit B lsb i+1 is fed through an inverter 75 to an inverted input of a tristate gate, and directly to the control input of the tristate gate 76. The bit c^ n i4 is connected to a second inverted input of the tristate gate 76. Thus, when the bit B lsb i+1 is "0" then the tristate gate 76 is controlled to transmit the bit B^ gb i+1 . However, when the bit B sb _ + ± is "1" then the tristate gate 76 is controlled to transmit the bit c^ n ^ indicating that the mantisεa haε a carry out if it iε a "1". It iε only neceεεary to provide a mantiεsa carry out for the precision group next to the exponent part of the argument, and it is only this group having the bit B^ s ^ +1 "1". The carry propagation from section to section is blocked for the preciεion group next to the exponent part. Thuε the bit B lεb i+1 is connected to an inverted input of an AND gate 77 having the inverted signal Gen on its other inverted input and thus transmitting the signal Gen only when B lsb i+1 iε "0". The bit B lsb i+1 iε also connected to an inverted input of an AND gate 78 having the inverted εignal Pr on a εecond inverted input and the bit c^ n ^ on a third inverted input and thuε transmitting the signal Pr only when B^-.-^ j _ +1 iε "0" and c^ n ^ iε "0". An OR gate 79 has its inputs connected to the outputs of the AND gates 77 and 78 and is providing an output "1" when one of the AND gates has an output "1". An embodiment of each adder εlice ASk iε εhown in FIG. 31C. The inputε a ik and b ik are fed to an input each of an EXCLUSIVE OR gate 80 providing a "1" if the inputε are different from each other, otherwiεe a "0". The output of the EXCLUSIVE OR gate 80 iε fed to a firεt input of a εecond EXCLUSIVE OR gate 81 and the bit c in ik to it other input. The output of the EXCLUSIVE OR gate 81 iε a "1" only if itε inputε are different, and provideε the output εum^ k taking care of the carry bit from the next preceding adder εlice, or if the adder εlice iε firεt in the section, the carry bit from the next preceding section. The bits a^ k and b^ k are fed to the inputε of an OR gate 82 having an inverted output, which in turn iε connected to a firεt inverted input of each of three AND gateε 83, 84, 85. The inverted bit c in ik * is fed to a second inverted input of the AND gate 83 transmitting the bit c^ n ^ if any of the bits a^ k and b ik is a "1". The inverted bit P in ik * from the next preceding adder slice iε fed to a εecond inverted input of the AND gate 84 providing the bit P out ^ k being P^ n ^ k if any of the bits a ik and b ±k is a "1". The inverted bit G in i * is fed to a εecond inverted input of the AND gate 85 tranεmitting the bit G in ik if any of the bitε a ik and b ik iε a "1". The bit P in ik and the bit G in ik are "1" and "0", reεpectively for each firεt adder εlice AS1 in each precision section, aε apparent from FIG. 31B. The bitε Pr and Gen are needed in order to realize ripple carry, i.e. make the adder faεter. By the fact that there are discrete values on the inputs of the carry chainε all the preciεion groupε are computed in parallel, i.e. εimultaneouεly for all preciεion groupε. The last carry c s from the addition will have only 4+8 gate delays to be compared to 32 gate delays without ripple carry. The bits a ik and b ik are also fed to the inputs of an AND gate 88 having an inverted output, which in turn is connected to a first inverted input of each of thwo OR gates 86, 87. The output of the AND gate 83 is connected to a second input of the OR gate 86 providing the output c out ^ k . The output of the AND gate 85 is connected to a second input of the OR gate 87 providing the output G out ik . In order to provide very fast carry chains it is possible to have only one delay in them if a bit slice is inverting the polarity of the rippling generate and propagation bits are inverted. Thus, in such a case every second precision group section has inverted inputs (not shown) . As apparent from the left side in FIG. 31A the most significant precision section GO is slightly different from the other sections. It does not use an input argument Bι gb Q . It is assumed being "0" within the group. Instead it has the mantissa carry input c^ n m . It is used to generate the carry input to the sign bit. The output has one extra bit indicating the carry out from the exponent. The normal carry out is generated as in the normal groups except that B^ sb Q is assumed to be a "0", i.e. false. The one bit signals cδ^ c5 2 , C53 could have the following bit patterns: (c5 1 ,c5 2 ,c53) s =(false,false,false) means integer: (c5 1 ,c5 2 ,c53)=(false,false,true) means both a and b having normal code; (c5ι,c5 2 ,c53)=(true,false,false) means a having altered, be normal code; (c5 1 ,c5 2 ,c53)=(true,true,true) means a having normal, b altered code; The incrementer The configuration of the incrementer is very similar to the configuration of the adder. FIG 32 showε an embodiment of a precision section in an incrementer. The incrementer has only one input a' (not shown). The increment bit sliceε AS1' to AS4' differε from the adder bit εliceε in that they have no generator bit Gen tranεferred from one to the other. The inverted output Pr from the εlice AS4' and the inverted carry c^ n * from the next preceding εection are fed to each one of two inverted inputε of an AND gate 90 with two inverted inputε. The carry in c^ n to the firεt section G7 on the line being an "1" is indicating that an increment is to be made. The output of the AND gate 90 and the bit B^ sb ^ + _ are fed to an input each of an OR gate 92 providing the output carry c Qut to the next section. The carry output of the incrementer is provided in the εame way aε for the adder. The ripple carry chain c n /c Qut indicateε if the sum iε more than or equal to two. The ripple carry chain Pe' indicateε if the εum iε more than or equal to one. Aε the adder the incrementer haε a mantiεεa-carry-out bus c m controlled by the signal B^ sb - + _ . The control bit clg or c2g is indicating if the representation is an integer or a floating-point value. The control bits clg and c2g control a tristate gate which εetε the mantiεεa-carry-out buε to a defined value when not uεed (not εhown) . A decrementer haε the εame configuration as the incrementer, but the decrementer has an inverted input ' j * to itε decrementer εliceε, correεponding to the incrementer slices AS1' to AS4'. The selectorε The εelectorε in the operand unitε are generally built by a row of tranεmiεεion gateε. The εelector haε always a defined output. It has a liεt of control wordε and value inputs as arguments. All except one are off. The control of each input is a complementary signal. The entire selector is controlled by a list of εuch elementε. They are controlled in the different state to take the input from a prescribed port. An embodiment of a basic selector bit εlice is shown in FIG. 33. One of the bits of each input port to the selector Sι na , S j r^, S^ nc and S_ nc - is connected to the input of a controllable switch S a , S b , S c and S d , respectively. A pair of control wires S ca , S cb , S cc , and S cd , respectively, is provided for each switch. The control pair providing a transmit of the input to its belonging switch has the information "1,0", the others have the information "0,1". It is to be noted that the majority of the circuits in the numeric ALU are built in accordance with the principles described above in relation to the adder and that it therefore is believed that a person skilled in the art easily can construct the rest of the circuits using these principles. Therefore, it has not been deemed to be necessary to describe every single circuit in detail. DESCRIPTION OF THE NUMERIC ALU CONTROL CIRCUIT 27 The numeric ALU control circuit 27, εhown in FIG. 28, iε a boolean gate array of quite a complicated configuration. An embodiment of it can not be shown, because the configuration of it is calculated in a computer being provided with all the algorithmε regarding the configuration of the control signals in relation to the informative signals. The boolean gate array is provided directly as chip mask patterns from the computer adapted to the configuration of the chip mask patternε for the whole numeric ALU according to the invention. Thuε thiε circuit is impossible to show in detail. A list on the relation between inputs to and outputs from the control circuit 27 is given in the appendix 2 for the case integer multiplication. Appendix 2 shown the relation between inputs to and outputs from the ALU drive circuit 27 when multiplication of integers is being executed. The appendix is divided into different "control cases". Each control case correspondε to one output, i.e. one micro inεtruction. The outputs of the ALU drive circuit 27 which are liεted under the heading "micro inεtruction wireε" are the signal levels on the buseε C1-C5. The buses Cl, C2 and C3 are divided into smaller buseε Cl-^. Cl 2 , CI3 etc. Thus, the inputs listed under the heading "control case 1" aε "εtate, εenεe wires - condition 4" cause the outputε under the heading "micro inεtruction wires" below. The inputs listed above as condition 1, 2 and 3 cause the same outputs aε condition 4. Each condition is defined by a certain combination of signal levels (0/1) on some εtate wireε, while other εtate wireε may have undefined values (X = don't care). All the input signals listed in the appendix are also marked in FIG. 28, except for signalε co_limitl and co_limit2. In FIG. 28 the signal co limitl is divided into its two components B co _ maχl and B co _ minl . The signal co_limit2 is also divided into its two components B co_max2 and B co_min2 * The output Ag TATE is simply a copy of all the inputs to the circuit 27. The output Ag TATE is connected to the control unit 6. A value could be supplied by the main registers in the core cell in the first order procesεor or some of the numeric ALU internal units as inεtructions operand/mul quotient or polynome. The information regarding the kind of representation in the reεt of the bit εtring on the buε could be given by the information in the instruction bus or could be given in the code field. THE PORT A reduction processor could be provided with one or several ports for input/output of data to and from the processor. Each port is a unit providing the communication to the external environment of the processor. The port is preferably connected to the transforming interface 7 in the object storage 1 (See FIG. 1). However, if slightly modified it could instead be connected to the data transfer means 4. The port can be seen as an prolongation of the object storage since it contains preferably four storage cells similar in function and compatible with the object storage cells 10 (see FIG. 2). The port performs input/output-operations through unification. Internal behaviour The object storage provides an internal behaviour of the processor, one behaviour for each port provided. A behaviour is the semantic meaning of a time structure, which could be represented by a closure structure. The time structure may be considered aε the state of a process composed by an endless time sequence of values. External behaviour Input signalε to the port(s) could be provided by sensors or devices outεide the processor, i.e. in the real-world environment. The port transforms the incoming signalε into a digital form adapted to the object storage format, i.e. to a closure representation. This closure representation is a time structure, i.e. a behaviour, comparable to the internal behaviours in the proceεsor. Thus, from the viewpoint of the proceεεor thiε time εtructure can be εeen aε an external behaviour. The input and output through a port iε made by a unification of processeε provided on each εide of it, i.e. of internal behaviourε in the proceεεor and of external behaviourε in its surrounding. Both the internal behaviours and the external behaviours are modelled in the same way, which provideε a very elegant way of operation making the proceεsor quite suitable to perform real-time operationε. An example of an external behaviour, i.e. a time sequence, is shown in FIG 34. The sequence of εampled εignalε could be changing with time, i.e. the εampling periods can be different, as apparent from FIG. 34. The signal sequence is here provided as a list of pairs of elements. Each pair includes a duration time and a signal quantity during that time. The signal quantities are marked q^ and the time durations are marked t j , where i is a number between 1 and 6. The interface A preferable interface should have the following qualities: 1. A signal is measured at certain times. The measured signal iε regarded to be conεtant until the next measuring. 2. The time could be given either with a fixed cycle determined by the port, or a fixed cycle determined by the program in the machine, or at certain intervals determined by the program or by external clock signalε. 3. The meaεured εignal iε provided in digital form to the machine. 4. The digitized εignal iε either boolean or iε coded into a digital form which could indicate an integer or a floating-point value. The proceεεor according to the invention doeε not inεert or output valueε like conventional proceεεorε. In the inventive proceεsor the port is regarded as an interface between a program in the processor and a surrounding to the processor. The program is stored in the active object storage and creates the internal behaviours. The program execution is based upon that both the program in the processor and the surrounding sees the same real time course of events in the interface. The input and output to and from the processor is made by unification. Thiε meanε that the duration time and the value within each interval are made alike at both εideε of the port. The program could specify a specific duration time or it could leave the duration time unspecified by using a particular symbol, for instance $, denoting all possible values. The program could specify a specific signal quantity value or it could leave the signal quantity value unspecified by using a particular symbol, for instance $, denoting all possible values. A correct program should have only one of the alternative behaviours left after the unifying operation, and thiε behaviour muεt coincide with the behaviour at the port in question. If none of the alternative internal behaviours should correspond to the real-world environment at the port in question, the unifying operation will give nothing as its result, which is considered as a programming error since nothing represents contradiction. Having more than one alternative behaviour left after the unifying operation is also considered as a programming error. Input & output An interval is deεcribed in a program by the form during t v, where t is the duration time and v the signal quantity. When the internal behaviour εpecifieε a specific signal value, also called signal quantity, this εpecific signal value is output to the εurrounding. If the internal behaviour leaveε the signal value unspecified a εpecific εignal value is input from the surrounding. When the internal behaviour εpecifieε a εpecific duration time in an interval, then the surrounding admits an arbitrary duration time length. If the internal behaviour leaveε the duration time unεpecified the εurrounding determineε the duration time. An embodiment of a port An embodiment of a port for input and/or output iε εhown in FIG 35. The port iε connected to the tranεforming interface 7 with a buε arrangement DU. The port iε connected to the central unit 6 of the firεt order processor to which it is connected, and is controlled by it. The port includes an identifier register P ID' which denotes the port. The identifier stored in the register P ID can be used as an identifier in the object storage 1, i.e. it can be used to link the port to cell closureε in the object εtorage. Thiε identifier iε only uεed internally within the proceεεor. The port alεo includeε an identifier register CE ID' which can be used in a εimilar way as the register P ID « The port alεo includeε a number of εtorage cells CE DU , CE LA g T , CE NEχτ , each acting like the storage cells in the object εtorage. Each εtorage cell could store a closure having at least three storage fieldε for εtoring at least three closure elements, for inεtance during, duration time, and εignal quantity. At least the two last mentioned closure elements could be stored in εtorage fieldε of the value/deεignation kind. The expreεεion during may be provided in a TYPE field. Since the port is always providing a during operation thiε TYPE field could be omitted. However, in the embodiment shown in FIG 35 during is in form of a type 'apply ( '_) placed in a type field together with a predefined function name (during code). The function name is stored in the first value/designation field of the port storage cells, as for all function names (such as + - * /) belonging to the type 'apply. The during code could be an identifier denoting a function definition, which is stored in the object storage. An identifier id can also be stored in a value/designation field. This identifier links the port structure with a during structure in the object storage. If a field including an identifier is not needed, then only three value/designation fields are actually needed. However, a fourth value/designation field marked unused could be provided in order to make the port registers compatible with the other storage cells in the processor. It is, however, also possible to connect an extra device for VALUE IN/OUT to the fourth value/designation register. This will maked the port to a port for a group of values, i.e. for duration time and two kinds of signal quantitieε. Each storage cell in the port could thus also have the attribute fields. The storage cells CE DU , CE- -_ t *t-, CE NEχτ could be interconnected with buses Wg l7 I1# W τl , W vl , W E1 , W τ , W v2 , W 2 , each bus having for instance 38 wires and connected in a bit wise manner to the bitcells in each register. The index I denotes a bus connectable to the during code fields of the registerε, the index T denoteε a bus connectable to the duration time value/designation fieldε of the registerε, the index V denotes a bus connectable to the εignal quantity value/deεignation fieldε of the registers, the index E denotes a bus connectable to the extra value/designation fieldε of the regiεterε. The index 2 denotes a bus connected towards the surrounding, and the index 1 a bus connected to the transforming interface 7. The storage cells in the shown embodiment of the port storeε the next preceding cloεure, the actual cloεure, the next cloεure, and an identifier to future closures. The storage cells could have preεcribed placeε and then the whole content in them could be tranεferred between them. A suitable structure for each regiεter cell in the regiεterε can have the εame structure as the register cells in the core cell 2 (see FIG. 10) . However, it iε alεo poεεible to arrange the three firεt mentioned εtorage cellε εuch that they could change place with each other by changing their naming, which iε made by control from the central control unit 6. The exact wiring between the εtorage cells is not shown in detail becauεe it iε believed that a person εkilled in the art eaεily could provide the εame uεing the principleε deεcribed in relation to the deεcription of the core cell. The control from the control unit 6 iε εchematically εhown up to the right to a schematically illustrated connection between the storage cells, but is naturally drawn to each εwitch in the regiεter cellε aε in the core cell regiεterε. The port could be provided with a different number of εtorage cellε, e.g. one εtorage cell. The time counter and the time comparator The port includeε a time counter T C0UNT . It iε controlled by a clock signal CLOCKp from the central control unit 6 and measureε the time. It can be reεet by either an external reεet εignal or a reεet εignal from the control unit 6. The time counter C0UNT is connected to a first selector SEL 1 which is controlled from the central control unit 6 to either connect the output from the time counter T COϋNT directly to the bus W τ2 connectable to the time storage fieldε in the εtorage cells or to a first input of a time comparator TcOMP * τ ** e second input of the time comparator ^ QQ - * ~~ is connected to the bus W 2 « The output of the time comparator is an external time output. The output of the time comparator is also transferred to the control unit 6. The port also includes an external value input and output port pin VALUE IN/OUT. It is connected to a converter CONV OUT for the output signal, for instance a digital/analogue converter. It iε also connected to a converter C0NV IN for the input signal, for instance an analogue/digital converter handling the sampling of the input signal. The sampling times could be given by the output of the time comparator T QQ ---- or the reset signalε to the time counter T C0UNT . A εelector SEL 2 connected to the buε W V 2 controllably connectable to the signal quantity registers of the storage cells CE DU , CE j ^grp, CE^^ selects, at control from the central control unit 6, if a signal quantity shall be fed out from or in to the port. The control unit 6 first reads the content of the registers in the storage cell including the registers to be connected to the surrounding to see if it includes the particular εymbol $. If it does an input from the surrounding is to be performed. If, instead, a specific value is found an output to the surrounding is to be performed. Then, the control unit 6 controlε the port selector coupled to the register accordingly. It is also poεsible to make a more complicated port. For instance the signal quantities for VALUE IN/OUT can be converted by a formula stored in a signal converter SC connected between the selector SEL 2 and the bus W v2 . The converting function could for instance be a number of integralε, each for a different class of signal quantity signal values. Output of a signal quantity The information to be fed out iε provided in the εtorage cell CE DU . Thus the cell has the information during t v, where t iε the duration time and v the εignal quantity. The εignal quantity in this register is known and εhall be fed out. The εignal quantity iε fetched from the εignal quantity register in the storage cell and iε fed out through the εelector SEL2, acting as a driving stage, and the converter CONV OUT . Input of a signal guantity The information in the εtorage cell CE D τ j iε during t $, where t is the duration time and $ representε any of all possible signal quantitieε, i.e thiε expreεεion will unify with any provided εignal guantity. The εignal quantity in thiε regiεter iε thus unknown and the register iε prepared to receive a εignal guantity. The εignal quantity iε fetched from the port εignal guantity in/output, iε digitized in the A/D converter CONV IN , and iε fed into the εignal quantity regiεter of the εtorage cell CE DU . The duration time iε εet by the processor program The information in the storage cell CE DU iε during t v, where t iε the duration time and v the signal quantity. Thus, the duration time is known. The time counter T Q T jj m is reset by the central control unit 6 at the start of the duration time. The continually stepped up time in the counter Tp O ϋ N ^ s compared to the time in the time register in the εtorage cell CE DU by the time counter C0Mp . The duration time ends when theεe timeε are the εame. The εtorage cell CE LAST haε been emptied and the εtorage cell CE NEXT fi lled during this duration time. At the transition to the next period the content in the storage cell CE DU is moved into the storage cell CE j ^gr j ., and the signal guantity in the storage cell CE NEχτ is moved into the storage cell CE DU . The duration time is set by the surrounding The information in the storage cell CE DU is during $ v, where v is the signal quantity and $ represents any of all possible duration time, i.e this expression will unify with any provided duration time. Thus, the duration time is unknown and the surrounding will determine it. The time counter TgouN is reset by the external control at the start of the duration time. The continually stepped up time in the time counter T C0UNT s ^ ed to --- e -^ me register of the storage cell CE DU . When the surrounding gives the next external reset the duration time is over. Thus, the external reset signal is controlling the selector SEL^ to disconnect the connection to the time counter either directly or by a zero signal from the time counter. During this duration time the εtorage cell CE LAST haε been emptied and the εtorage cell CE NEχτ filled. At the tranεistion to the next period the content in the storage cell CE DU iε moved to the storage cell CE j ^grp, and the content in the storage cell CE NEχτ is moved into the storage cell CE DU . A simple example In order to illustrate the operation of the port a εmall example will be given below. Say that we want to detect one of two different sequences, the first sequence having every second signal quantity determined, e.g. with the value 17, and all the time durations determined, e.g. 1 second, and the second sequence having all signal quantities determined, e.g. 1, 2, 3, 4, etc, but no time durations determined. The port to use is called port^. The closure representation: unify(port^ "internal behaviour"), where "internal behaviour" iε an alt operation which denoteε all alternative εequenceε, i.e. a large data εtructure of the following kind: alt(seq(during(Is 17)during(Is $)during(lε 17)....) εeq(during($ 1)during(S 2)during(S 3)....)) Now, if the input signal sequence can be unified with the above εtructure the input iε accepted and the appropiate action can be taken. One example of an accepted sequence iε ((lε 17)(lε 0)(lε 17) (lε 99) (lε 17)), which iε a εequence that can be unified with the firεt εequence of the internal behaviour given above. Another εequence that will be accepted iε ((2ε l)(4ε 2) (Is 3) ) , which will unify with the second sequence of the internal behaviour. An example of an unaccepted sequence is ((Is 2)...), becauεe the εignal quantity, i.e. 2, can not be unified with the signal quantities given in the two sequences of the internal behaviour. Communication with the outside world The ingenuity in constructing the port εuch that the valueε can be tranεferred in to or out from the proceεεor dependent upon if the εignal iε defined or not or if the internal value is defined or not (having the value $) is that the processor is not limited to the simple input port and output port εyεtem deεcribed above. Thus, it is posεible to write a program in which a port iε alternately written into and read out from the proceεεor. An example iε the following program: unify(port "internal behaviour") having the internal behaviour: alt(seq(during Is 1) (during Is 1) (during Is 2) (during Is 4) ( seq (during lε 1) (during lε 1) (during lε 3) (during lε 9) (εeq(during lε 2) (during lε 4) fduring lε 1) (during lε 1) (seq(during Is 3) (during Is 9) (during Is 2) (during lε 4) etc i . e . (seg(during input) (during output) during input)(during output) In this internal behaviour the εurrounding provideε a value and the processor answers by feeding out the square of it during the next interval. This method gives full control over how the data shall flow in a simple way. As soon as an input value does not unify with, i.e. it cannot be made the same as the corresponding value in the procesεor, the reεult is nothing. This will propagate all the way up to the alt operation and the whole branch is deleted from the alt expression. The internal behaviour representation above is of the same length as the input sequence. A piece of a shorter, more expressive, way to represent the internal behaviour using the full power of a functional language is given here : seq(during(Is X) during(Is apply((lambda (arg) (* arg arg)) X))), where during(ls X) handles the input of a signal guantity X and where the other during-structure including the lambda expression handles the output of the squared input value. Thus, the above structure could be a part of a more general structure which is able to handle more than one input/output pair by uεe of recursion. The lambda expression is here used to define the square function. THE H PORT The description of the input/output port above could be generalized to be able to handle input and output of other data structureε than during-εtructureε. In thiε case, instead of unifying an internal behaviour with an external behaviour by unifying time durations and signal quantities, a unification of bit patterns could be performed. The incoming signal could be digital. Further, the incoming signal could repreεent data εtructureε or program εtructures, such aε H language programε. For instance, a storage cell field in a storage cell in a port could be unified with bitpatterns on the input of the port. An example : an internal structure apply(XI X2) could be unified with bitpatterns on the input εo that the final unified internal εtructure readε : apply(+ list(l 2)), which is the structure εhown in FIG. 8A and B. Here XI and X2 repreεentε "any bitpattern". XI iε unified with the bitpattern repreεenting the inεtruction code for "+" and X2 iε unified with the bitpattern repreεenting "liεt(1 2) ". Through the H port, which accept H language code, a program could be loaded into the object storage. The H port could also be used between procesεorε, which would allow them to tranεfer programs or data or both. Transfered program code could initially be marked aε data to prevent immediate execution of it. THE FIRST ORDER REDUCTION PROCESSOR fFOP^ Briefly recapitulated, the reduction proceεεor iε controlled by a program having a particular, not εequential structure and reduces said structure in a number of reduction stepε including different kinds of reductions of tree structureε. The object εtorage 1 in the firεt order proceεεor includeε a plurality of εtorage cellε 10, each able to εtore information, which could give riεe to a reduction. A communication net, the memory buε arrangement together with the cloεure head controlled by the central control unit 6, communicateε the reεult of each reduction to all εtorage cellε. The communication net iε a bus arrangement having control lines and data lines, all lines being connected to each of said storage cells. The central control unit 6 is common for all the storage cells. It is the information in the storage cells 10 that gives the information to the central control unit 6 of what reduction to perform and thereby also which control words it should issue. Since the central control unit 6 preferably is a boolean gate array the information in the storage cells is in form of high and low voltages provided to inputs of AND and OR gateε in a complex configuration providing a complex output composed of high and low voltages to be provided to a lot of control points in the control circuits in the storage cells. Thus, each storage cell in the object storage and the core cell is able to store all information necessary to perform a reduction operation. The reduction information could also include reference to some other storage cells. When the execution is finished, i.e. the structure is reduced as far as possible, the result is a canonic expression. If a canonic expression is larger then what can be stored in one storage cell, there are references to other storage cells where the rest of the expreεsion is stored. An example, for the embodiment described, is a list with five elements, which requires two storage cells in order to be stored in the object storage 1. The core cell is able to perform all kinds of reductionε. It iε to be noted that the number of core cells is not reεtricted to one, and thuε that several core cells could be provided, even if this is not shown in an embodiment. The εtorage cells in the object storage are able to perform only limited parts of some of all kinds of reductions. Several core cells could be provided to work in parallel with complete structureε, in the form of complete closure trees, or parts of structureε, in the form of partε of cloεure treeε. Since the result of a number of reductions is unrelated to the reduction order, different core cells are allowed to work within overlapping contexts. Generally, no extra provision haε to be made to ensure data integrity - it is ensured automatically by the way the inventive reduction procesεor(ε) operate. For example, when two core cellε reduceε two identical closure tree parts, the only consequence iε that one unneceεεary reduction has been made - the result iε the same. The communication net is adapted to also transmit information from the object εtorage cell chosen among the object storage cellε to one of the core cellε choεen by the communication net and from the choεen core cell to one or εeveral object storage cells choεen by the communication net. The communication net performε a tranεfer operation between the core cell and any of the εtorage cellε by replacing the content in the receiver with the content in the tranεmitter. A two way tranεfer iε performed by εwapping the content of the concerned cellε. Each cell cloεure εtored in a εtorage cell includeε a denotation of executability, of position in a tree structure, of an identifier, of an environment, and of a tree of values or designations to other storage cells. The tree of values included in a multi level closure includes leaf elementε, i.e. end elementε, and compoεed element, each compoεed element including a type and a liεt of values. The denotation of executability in the cloεure has at least two stateε, of which the firεt εtate iε idle εtate and the εecond εtate iε execute εtate. The denotation of poεition in the closure has at least two stateε, of which the firεt εtate iε node poεition and the εecond εtate iε root poεition. At leaεt some of the closure denotations are presented in different stateε, each εtate being compoεed of several bits representing a binary code. Each value/designation element in the cell closure is composed of a tag word and a num word, which is a bit pattern composed by a number of bits being either true or false. The tagε are divided into an indirect class and a direct clasε. The num word could for example be an integer or a floating-point value. An integer is stored in the element in a format, also called representation, binary coded such that all values are represented from the lowest to the highest representable value in a series of numbers, each number including several bit values, and in which zero is represented in the middle of the εerieε of numbers as a binary number having the binary value true in its most significant bit and having the binary value false in the rest of its bits. A floating-point number is stored in the element in a format, also called representation, binary coded such that it includes a sign, exponent sign and code field, an exponent field and a mantissa field, said sign, exponent sign and code field having an indication on a division position between said exponent field and said mantissa field, such that the exponent and mantisεa fieldε have variable lengths. Thus, the processor according to the invention useε codings arranging said numerical values into a dense representation, i.e. every coded representation of a value corresponds to only one interpreted value. A first kind of coding is uεed on a binary word representing an integer representation. A second kind of coding is used on a binary word representing a floating-point representation. The codings being such that after coding floating-point representations are provided in the same order as integer representations. The dense representation is provided by including a virtual "1", i.e. a "1" not provided physically in the repreεentation, in front of a field of the word for the mantiεsa part of the floating-point value. The representations of numerical values are divided into bit groups, called precision groups, each having a predetermined number of bits, a partition between an exponent part and a mantissa part of the representation, when the representation is representing a floating-point value, being made between two precision groups. THE SECOND ORDER REDUCTION PROCESSOR (SOPΪ As shown in FIG. 36, a number of first order procesεorε FOP1 to FOPN could be connected to each other by a network NET, the joined firεt order proceεεors represent a second order reduction procesεor. The connection to the network NET could be provided aε a data tranεfer meanε, aε the means 4 in FIG. 1, in each of the first order procesεorε FOPi, i being an integer between 1 and N. The data tranεfer meanε 4 in FIG. 1 includeε a row of regiεterε R id' R env ∑ O' ^1' *v2' ^3* Each network regiεter iε connected to the vertical buε line denoted with itε index. The network regiεters are used when there are εeveral object εtorageε including core cellε connected to execute in parallel. The communication to and from all theεe object εtorageε iε made through the network regiεterε. Theoretically, all the firεt order reduction processors are sharing the same information M being the entire domain of the εyεtem. It is necessary that the union of all the first order reduction procesεorε equals the syεtem domain M. However, every firεt order proceεsor is proceεεing the information εtored in itε own object εtorage. Thiε meanε that a εingle cloεure could be found in more than one proceεεor. Each proceεεor is able to keep track of in which first order proceεεor(ε) a cloεure is stored. A single cloεure found in εeveral object εtorageε iε identical - thiε is ensured by the reduction mechaniεm. A cloεure net includes a closure and its fatherε. It iε poεεible to move cloεure netε by moving cloεureε among the processors. Though, in order to minimize communication it is deεirable to keep εemantically related closures gathered in one or a few proceεεor(ε) . The communication protocol may be εuch aε to provide moveε of cloεures during times when no other communication between the procesεorε is demanded. Closure trees may be reduced in parallel in the different procesεors. No synchronization is necessary for these operations. Thus, the reduction of the closure tree parts may be performed at different times. No error will occur because the result of the reductions is the same regardless of when executed. Naturally, a reduction of a closure having identical copies in other processors could take place in only one FOP * (i being an integer between 1 and N) of the parallel processors F0P1 to FOPN, and with the result of the reduction distributed to all the other processors connected to the network NET as soon as possible in order not to waste processor resources. However, it will usually be more suitable and also more time economizing to perform parallel reductions in different firεt order proceεsors. For instance, the network NET could be temporarily occupied by serving some of the first order processors connected to it and meanwhile the parallel reductions could take place. The actual kind of network NET to be provided is not to be regarded as a part of the actual invention and will therefore not be described in detail. Though, some examples of different kinds of networks will be given below. There are many types of communication networks having different kinds of routing and connection strategies which could be used. The network NET could be in form of a ring network having single or double links, a star network, a fully connected network or the like. In order to avoid too bulky wiring between the firεt order proceεsors F0P1 to FOPN the data transfer between them could be done serially on a serial bus. The tranεfer of data is preferably done with distributed control. Thus, not by using a central control device controlling all the first order procesεorε, below called FOPε. One of the FOPε is demanding access to the network NET on a particular bus DEM and then the other FOPs are set in position to receive. However, the transfer of the εignal for demanding access may be provided in some other way than via a separate bus, for instance as an idling signal transferred on the bus arrangement deεcribed in our co-pending application No The data between the firεt order proceεεorε can be transferred and stored in the regiεterε in a data tranεfer meanε in a FOP while a reduction operation takeε place in the FOP. Becauεe of the εerial tranεfer of data the regiεter cells in the data transfer means are controlled εequentially by the central control unit of the FOP. Synchronization between the FOPε is made by synchronizing the clock signalε in every FOP i relation to each other. Such synchronization iε common in the art and will therefore not be further deεcribed. However, as an alternative a second order central control unit (not εhown) could be provided to control the communication among the FOPε. Thiε control unit could be a boolean gate array communicating with the central control unitε in all the firεt order proceεεorε. However, having such a second control unit is not to be preferred. FIG. 36 εhowε a very general εecond order reduction proceεεor according to the invention in which the data tranfer between the FOPε could be of any kind. A first embodiment of a second order reduction proceεεor (SOP) According to a particular embodiment of a εecond order proceεεor, εhown in FIG. 37A, particulary suited for distributed data transfer control among the FOPε, εeveral FOPε, FOP'-L ^ to FOP' M M , could be joined into a square field. Each FOP in said square field includes a data transfer channel CAN going to each neighbouring first order reduction procesεor in the square field. As shown in FIG. 37B a separate data transfer means DTFl to DTF4 could be provided for each transfer channel CAN, and also for each port connected to a FOP. This will make it posεible to transfer data from a FOP to several other FOPs εimultaneouεly. In the kind of εtructure εhown in FIG. 37A each FOP is only communicating with at most four neighbouring FOPs and preferably on a separate channel to each. Only a simple control path iε needed between each pair of data transfer means placed in communication with each other on which a flag iε set when communication is demanded setting the other FOP prepared to receive transferred data in itε data tranεfer means DTFn. Cloεure netε and FOP regionε Cloεures are allocated to different FOPs. Aε deεcribed above, a cell cloεure iε denoted by a machine identifier, for inεtance #5. A cell cloεure may contain indirect elementε, identifierε, linking it to other cell cloεure. All cell closures containing identifiers refering to a certain closure and this certain cloεure form a closure net, i.e. it contains a closure and its fatherε. The closure net is placed in a defined region of FOPs. A region iε typically a εquare of FOPs, such as the region REG εurrounded by a continuouε line in FIG. 37A. Thiε region thuε includes all closures having the identifier #5. However, the cell closure with identifier #5, to which the closures having the identifier elements #5 are linked, could in turn include identifier elements, such aε #2 and #9, provided in FOPε outside the region for the identifier #5. More about regions will be explained in relation to FIG. 37C below. One reaεon to have regionε iε that the aεεociative εearch and replace can be restricted, restricted in the sense that just a few of all object storages of the FOPs need to be εearched in order to perform the update of the fatherε of a reduced cloεure - only the object εtorageε belonging to the FOPε in the region need to be εearched. Communication with the outside world A number of ports PORT for input/output of data to and from the εecond order processor are provided preferably along at least one of the edges of the εquare field of FOPε. Each port iε a unit providing the communication to the external environment of the proceεsor. The port uεed could be of the kind deεcribed above, performing input/output-operationε through unification. Through another port, the H port, which accept H language code, a program could be loaded into the object εtorages in the FOPs. The H port could also be used between processors, which would allow them to transfer programs or data or both. Yet another kind of port could be provided for input of ASCII- text, which would allow the inventive reduction procesεor to communicate with deviceε capable of transmitting and/or recieving ASCII-text, e.g. conventional computers. This kind of port is not part of the actual invention and will therefore not be described in further detail. Soft and hard rings A hard ring is a "hardwired" communication path, i.e. a path established in hardware. A soft ring is a "softwired" communication path, i.e. a path established on an abstract level and which can change with time. Naturally, the soft ring uses the hardware for the actual communication. A path including every processor which contains a specific closure net, e.g. with identifier by #5, is called a soft ring. A region for a closure net is a subset of all the processors. The closure net, i.e. the closure and its fathers, is to be found in its region. A goal is to make the region for each closure net as small as posεible in order to limit the amount of communication between the processors. Exact soft ringε A region could be composed as shown in FIG 37D, by several FOPs in FIG. 37A having the closure identifier ID de f stored in different places in their object storage, marked with a small horizontal line in FIG. 37D. If this closure is to be replaced then all the FOPs having this closure identifier (the fathers) muεt be updated through a soft ring w w j containing the FOPs having the identifier ID def . The size of the soft ring www.^ dependε on the implementation. In the embodiment εhown in FIG. 37D the soft ring connecting the FOPs containing the actual cloεure net iε εerpentine formed. Exact εoft ringε are different for different cloεure netε. Region εoft ringε An alternative to the exact εoft ringε deεcribed above, where a cloεure net and itε εoft ring covers the same FOPs, is to have soft rings including FOPε which not neceεεarily have to correspond exactly to the closure nets they contain. Instead a εoft ring could include every FOP in the region. FIG. 37E shows a region and illustrates that the update message is sent to every FOP in the region of the cloεure net formed by the identifier ID de £, i.e. the εoft ring www 2 includeε every FOP in the region. Region εoft ringε ( WW2) are prefered since the amount of bookkeeping (overhead) is less than when using exact soft rings (www^) . The region εoft ring for a specific region is the same for every closure net within the region. The baεic form of region networkε are ringε an buεeε. A ring may tranεport a value one turn in the loop. During εuch an operation it performs the same semantics as a bus in one cycle. On a ring, several reductions of a cloεure may be εent at the εame time. When the message haε passed one round on the ring it may be dropped. A second embodiment of a εecond order reduction proceεsor According to a second embodiment, εhown in FIG. 38, εeveral FOPε are connected in a hierarchy of networkε, each network being a buε NE^ to NET N . The main difference to the embodiment εhown in FIG. 37A iε that in FIG. 37A a FOP iε connected to, through data tranεfer channelε, at the moεt four other FOPε aε oppoεed to in FIG. 38, where εeveral FOPε are connectable to each other through a buε communication arrangement. However, diεtributed control could be obtained by providing a εimple priority decoder (not εhown) to each bus in order to set the priority among the FOPs in case more than one have demanded data transfer to someone or some of the others. This priority decoder could have practically the same configuration as the one εhown in FIG. 21A and 2IB, which iε the priority decoder 11 in FIG. 2 and 3. When a reduction haε taken place in one of the FOPs, the fathers of the reduced closure need to be updated. The FOP that performed the reduction puts an update message on the buseε, i.e. a subset of the buses NE^ to NET A , belonging to the region of the closure net in question. All the FOPs connected to a bus with this update message checks if it contains a part of the closure net in which case the part is updated/rewritten. When a reduction is issued to the bus it is also noted in the local FOP as a unification. Since several FOPs perform reductionε simultaneously the update messages may be multiplexed according to a communication protocol. Since the result is unrelated to the reduction order a bus communication order is not needed. Buε communication protocols common in the art could be used in order to ensure that a bus only has one transmitting FOP at a time. Ports PORT 2 , PORT 31 , PORT32 could be connected to chosen NET 2 , and NET3, respectively, among the buses. As εhown It iε possible to connect several ports to the same bus P0RT3 lf A third embodiment of a second order reduction processor According to a third embodiment, shown in FIG. 39, several FOPs FOP" are connected in a hierarchy of networks, each network being a hard ring RINGl to RING4, i.e. a ring where the participating FOPs are fixedly connected to each other. A region could cover one or εeveral ringε. Preferably, the soft rings coincide with the hard rings. Combinations of different kindε of SOPε It is also poεεible, aε εhown in FIG. 40, to combine the embodimentε εhown in FIGε 37A, 38 and 39 to connect εeveral εecond order reduction proceεsors in a hierarchy of networks having at leaεt two kindε of network, a firεt kind being a buε network BUSNET ,a second kind being a ring network RINGNET and a third kind being a square network SQUARENET. Thus, a machine of the second order according to the invention could have networks provided as rings and/or buseε. In the machine, when a cloεure εubtree haε been reduced, the fatherε of the reduced son must be informed that the son has been reduced. If it happens to be so well-arranged that the son and its fathers are placed in a ring of FOPε or in FOPε connected to a buε, then the information regarding the reduction of the εon need only to be sent through that ring or that bus, respectively. The protocol of the machine is therefore preferably such that closures representing fathers are moved between the FOPs in such a way as to place them well accessible from their son or sons, i.e. all parts of a cloεure net εhould preferably be gathered in a εmall region. A machine protocol A preferable protocol haε a configure part which establiεhes a liεt of the portε and their allocated purposes. The ports to a procesεor according to the invention, whether it is a first order proceεsor, a second order proceεεor or some higher order processor, shall all be allocated to a certain part of the application for the procesεor. A protocol to be prefered includeε one part configuring the portε, one part allocating goalε to FOPε, one part implementing the reduction arithmetic, one part implementing arbitrary long liεts, and one part implementing arbitrary long bit field valueε. Partε of the protocol may be provided in hardware. It iε the protocol which initiates a synchronization of the clocks in the FOPs. This is preferably done at certain time intervals short enough to have the clocks synchronized. A behaviour is representad as a closure. The allocation procedure is controlled by a certain part of the protocol. The allocation or reallocation of a closure may take place frequently among other normal reduction sessionε. Any FOP may issue a directive to move a closure asking some other FOP to store the closure to be transferred. When a closure is to be moved, e.g. when the object storage in a FOP is full, the FOP containing the closure issues a message on the bus or to the ring requesting a reply from the other FOPs connected to the bus/ring concerning if the closure can be moved to any one of these other FOPs. If all these FOPs gives a negative reply, meaning that none of them can receive the closure, the closure is kept at the original FOP. If one of the replying FOPs gives a positive reply, the closure is transferred to this FOP. If several of the replying FOPs giveε a positive reply, a priority order selects one FOP as the receiver of the transferred closure. The priority order could for instance be a geometrical order, such as the-nearest- neighbour order. Regions FIG. 37C showε an embodiment of a an enlarged square field second order proceεεor including 256 FOPs. The channels between the FOPs and possible ports to the second order processor are not shown. Each FOP represents a region of the size zero. FIG. 37C illuεtrateε that the square field second order procesεor could be logically (not phyεically) divided into square regions of different sizeε placed at the εide of each other in a regular pattern. Thuε each region haε a size of 2 n *2 n FOPs. The regions are placed disjunctly, i.e. not overlapping. However, the protocol could be εuch that a region alεo could be defined to be diεplaced half a region in a row or in a column or both in a row and in a column. The protocol is such that it keeps track of the regions and uses the knowledge in which region or regions the father or fathers are positioned when performing a search and replace on a reduced closure. This is made by letting the bit pattern for the indirect elements, i.e. the identifiers, placed in value/designation fields include a bit pattern part indicating the size of the region it belongs to and having a bit pattern part indicating if the region should be displaced in some direction. The displacement direction bits could for instance be two, one, when being "1", indicating displacement to the right and the other, when being "1", indicating displacement upwards. When both are "1", then the displacement will be half a step to the right and half a step upwardε. When a reduction of a εon iε made the information is sent through its region(s), where the fathers are positioned, in a εoft ring including all the FOPε in the region(ε). Thiε meanε that if the region iε very large the εoft ring will be large and the diεtribution of the information of the reduced son will take time and machine resources. Therefore, the protocol is such as to shrink the closure net regions, such aε to make them aε small as possible. Therefore, if the distance between a son and a father is great the machine protocol iε εuch aε to εet a higher priority for moving εuch cloεureε rather then cloεureε where the the diεtance between a father and a εon iε εhort. It iε to be noted that a region εhrinking operation could not be made in an unlimited way. Some object εtorageε could for inεtance be totally filled up with data. Some of the fatherε could have other εons placed far away from the son to which a region εhrinking operation is to be made. The protocol of the square field second order processor will preferably be such as to concentrate semantically related data into a small region. It is also desirable to move data in order to allocate certain regions to particular kinds of processing activities and to move data having relation to these activities towards the regions allocated for them. An example of an activity could be a particular kind of calculation. Another example of an activity iε activitieε related to the input/output at a port, which could have its internal behaviours covered by a region. THE THIRD ORDER REDUCTION PROCESSOR (TORΪ The closures are thus moved around in a second order reduction processor according to the invention. However, a reduction processor does not have to be provided in only one geographical location. The same processor could for instance have one part in Sweden and another part in Australia. Therefore, a third order reduction processor shown in FIG. 41 could be provided, which includes several second order processors. Three SOPs S0P1, S0P2, S0P3 are shown in FIG. 41. SOP1 is illuεtrated to include a combination of a square field SOP and a bus oriented SOP. Associative adressing vs phyεical adreεsing It iε desirable to minimize the amount of communication between the different geographical locations since the cost and speed of data transmisεion will increase with the distance between locations. An asεociative search would require to much long distance communication, since every node in the system has to participate in the search. It is advantageous to adopt physical adressing in this case, in order to keep long distance communication to a minimum. Physical adresεing in thiε caεe meaning that we adreεε the phyεical location, i.e. the receiver iε known beforehand. In concluεion, it would be benefitial to adopt associative adressing within a SOP or a group of geographically gathered SOPs and to adopt physical adressing between such SOPε or groups of SOPs. Notice that the aεεociative adreεεing within a SOP could be reεtricted by the use of regions. We still have the εituation where the reduction of a εon εhall be reported to all itε fathers. In the second order proceεεor thiε iε done uεing regions, with each closure net being situated within the smalleεt region poεεible. In the third order proceεεor there iε one additional critical aεpect to conεider - the global adreεεing aεpect. Global adreεεing Object εtorage locationε are "adreεsed" through content rather than physical adress, i.e. asεociative adreεεing iε uεed. This approach is not to prefer on the global level because of the amount of long distance communication it would require. Thuε, global adreεεing iε handled in a more conventional manner. Inεtead of performing a global aεεociative εearch & replace when a εon haε been reduced, a local, i.e. within the εecond order proceεεor in which the son is situated, asεociative εearch & replace iε performed. Further, a global adreεεing iε performed when neceεεary, e.g. when the father of a reduced εon iε εituated in another SOP at another geographical location. The global adreεεing iε not aεεociative, inεtead a phyεical adreεε iε uεed. The phyεical adreεε identifieε a SOP, which could include a variety of different SOPε. The information tranεfered includeε the global adreεε to the εon-cloεure id_, i.e. the identifier id_ iε unique among all proceεεorε in the εyεtem. The information alεo includes the reduced son. In every geographically separated SOP there is a data εtructure including information about εonε having fatherε outεide the SOP, each εon haε a liεt of non-local fatherε. Thiε data εtructure will below be called the global closure C_. The global closure C Q could include additional information. There are several ways to perform the global update, global update meaning that at least one father is situated in another SOP than the son. Global update without adress tranεlation When a closure is reduced, a search for the identifier denoting the reduced closure is performed in the global closure C_. If the identifier is found there the reduced closure (the son) have at least one non-local father outside the SOP - a global update is needed. A global update is not needed if the identifier is not found. In both cases, an associative search & replace is performed within the SOP. If a global update is needed the list of non-local fathers in the global closure C„ is traversed. For every father in the list a message is sent out to the SOP containing the father. The message includes a global adress to the reduced closure and information about the reduction itself. The receiving SOP performs an associative search & replace, exchanging every occurence of the global identifier with the result of the reduction. This protocol requires that every identifier is unique, i.e. the bit pattern for a identifier is unique throughout the collection of processors in the system. In an embodiment of this protocol each SOP is assigned a unique number and every identifier has the SOP number coded into the bit pattern, which means that the physical adress identifying a SOP is implicit in the bit pattern of the identifier. Each SOP "owns" a range of identifiers and when a new SOP is to be incorporated into the syεtem it iε assigned a new range, within which there are no identifiers. An example : SOPl owns the identifier range 100-199, S0P2 owns the identifier range 200-299,..., SOP8 owns the identifier range 800-899. A new SOP is to be incorporated into the system - it is assigned the SOP number 9 and is given the identifier range 900-999. In FIG 42A parts of a example structure is shown. In FIG. 42B parts of a third order processor is shown, with SOPl, SOP6, and SOP9. In FIG 42C parts of a global closure C g iε shown. A son denoted by the identifier 623 iε to be reduced. A local aεεociative search & replace is to be performed exchanging the identifier 623 with the result it denotes. In the global closure C σ in S0P6 the son can be found with the non-local fathers denoted by 121 and 999 aε liεt elementε (εee FIG 42C) . A message iε εent to SOPl and S0P9 with information about the reduction, i.e. the reduced identifier, the reεult of the reduction etc. SOPl and SOP9 performε a εearch & replace exchanging the identifier 623 with the reεult it denotes. The data structure in the global cloεure C„ can now be modified by deleting the list of global fathers for the son in question. Inεtead of εtoring the non-local father liεt, a liεt of SOP numberε which contain a father could be uεed. Global update with adreεε tranεlation In thiε case we distinguish between global and local adreεεeε, a local adresε being unique within a SOP and a global adreεε being unique among all SOPε in the εyεtem. The main difference between thiε approach and the approach above iε that a tranεlation of adreεεeε iε needed in this approach. The adress translation could be handled by the global closure C σ . The closure C g could include information about the range of identifierε the SOP ownε. Further, it could use this information to translate global adresεeε into local adreεεeε. The actual data tranεfer and the communication protocol for the third order proceεεor could be deεigned uεing principleε already eεtabliεhed in the data communication field. Naturally, other higher level reduction proceεεorε could be formed by uεing conventional technology in addition to the deεcription above, uεing the firεt, εecond and/or the third order processor as building blocks. While the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the true spirit and scope of the invention. In addition, modifications may be made without departing from the esεential teachingε of the invention. APPENDIX I EXAMPLE OF AN OPERATION OF CENTRAL CONTROL UNIT 6 Operation: unify_structure_full, 2 used sons with 3 elements in each son H-expression, where "x" — anything except unused : (par (x x x) par (x x x) ) Contents of the core cell expressed in keywords Pos Attribute Head Num ID: clos exec node val unify indirect els x ENV: indirect x FO: simple unused unused FI: simple unused unused F2: simple unused unused F3: simple unused unused S0,< clos idle node val par X x SO, : X X SO, X X SO, unused SI, clos idle node val par x X SI, X X si, X X si, unused S2, simple unused unused S2, unused S2, unused S2, unused S3, simple unused unused S3, unused S3, unused S3, unused Contents of the core cell expressed in codes Pos Attribute Head Num ID: 1 11 0 0 0111 101010 ENV: lxxxxx FO: 0 00 0 0 0000 000000 00000000000000000000000000000000 FI: 0 00 0 0 0000 000000 00000000000000000000000000000000 F2: 0 00 0 0 0000 000000 00000000000000000000000000000000 F3: 0 00 0 0 0000 000000 00000000000000000000000000000000 S0,0: 1 00 0 0 0001 xxxxxx vir ■ ιrτ-rτrτrττr-ιr-r-rτrτ'ir'iryy-rτr-«"inrτrιr-ιnnr-«"ifτrif S0,1: xxxxxx SO,2: xxxxxx XXXXXXXXXXXXXTTTTTTXXXTTTXXXTXTX SO,3: 000000 00000000000000000000000000000000 S1,0: 1 00 0 0 0001 xxxxxx Sl,l: xxxxxx τyrrτ ττrττnrrτττττrτγ rιrτrιrιnnrrr SI,2: xxxxxx ^y^^^-»τr^τyy- τ τr' - -r- - ' - τ ' ιrτr'ir-ι ιf-ιrτr SI,3: 000000 00000000000000000000000000000000 S2,0: 0 00 0 0 0000 000000 00000000000000000000000000000000 S2,l: 000000 00000000000000000000000000000000 S2,3: 000000 00000000000000000000000000000000 S2,3: 000000 00000000000000000000000000000000 S3,0: 0 00 0 0 0000 000000 00000000000000000000000000000000 S3,l: 000000 00000000000000000000000000000000 S3, 3: 000000 00000000000000000000000000000000 S3. : 000000 00000000000000000000000000000000 Operation: unify_βtructure_full, 2 used aona with 3 elements in each son Phase: a Pos Plane swal swbl swQ swaO swbO swN awE βwVO swVI swC swHO swHI swD swCON off off off on off off off on off off off on off off off on off off off off off off off off off off off off off off off off off off off off off off off off off off 160 Pos Plane swal awbl awQ awaO awbO awN awE awVO awVI awC awHO swHI swD swCON 1 62 CJperation: unify_atructure_full, 2 uaed aona with 3 elementa in each son Phase: b Poa Plane awal awbl awQ awaO awbO awN awE awVO awVI swC awHO swHI swD awCON off on off on off off on on off off on on off on off on off on off off on off off off off off off off off off off off off off off off off off off off off off Poa Plane swal awbl awQ awaO awbO swN swE awVO awVI awC awHO awHI swD awCON S0,0 Tea on off off off on off off on SI,3 Eh off off off off on off off off off SI,3 En off off off off on off off off off S2,0 Tea on off off off on — off off on Operation: unify_structure_full, 2 used sons with 3 elements in each aon Phase: 0 Pos Plane swal swbl swQ swaO swbO swN swE swVO swVI swC swHO swHI swD swCON off off off on off off off on off off off on off off off on off off off off off off off off off off off off off off off off off off off off off off off off off off 166 Pos Plane swal swbl swQ swaO swbO swN swE swVO swVI swC swHO swHI swD swCOH S0,0 Tcs on on on on off off off 167 Plane abbreviations APPENDIX 2 Integer multiplication control case 1 state, sense wires - condition 1 cmp_prec X c pOl (X, X) cmρl2 (X, X) cmp23 (X, X) cmp_expl2 (X, X) insigl ((X, X), (1, X) , (x, x) ) insig2 (' ('X", X*") , ( 'X", X ") , ( "X~, X" ■ ) » )' insig3 ( (X, X), (X, X) , (X, X) ) signl (1, X, X, X) sign2 (X, x, x, χ> sign3 (X, x, x, x) gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, x, x) c_ed2 X co_limit2 (X, X) gr_al (X, X, X) gr_a2 (X, X, X) gr_a3 (X, X, X) ins [1; 0; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 cmp_prec X cmpOl (X, X) cmpl2 (X, X) cmp23 (X, X) cmp_expl2 (X, X) insigl ( (X, X) , (X, X) , (X, X) ) insig2 ((X, X), (1, X), (X, X)) insig3 ( (X, X) , (X, X) , (X, X) ) signl (X, X, X, X) sign2 (1, X, X, X) sign3 (X, X, X, X) gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limit2 (X, X) gr_al (X, X, X) gr_a2 (X, X, X) gr_a3 (X, X, X) ins [1; 0; 0; 0; 0; 0; 0; 0; 1] micro instruction wires (0, 0, 0, 0, 1, 0) (1, 0)] 0]) (0, 0, 0, 1, 0, 0) (0, 1)] (0, l); (i, 0)] (0, l); (0, l); (0, 1)] (0, 1); (0, 1)] (0, [(0, 1); (1, 0)], [0; 0]) (0, [(0, 1) ; (1, 0)], [0; 0; 0; 0]) [0; 0; 0; 0; 1] (1, 0) [(0, 1); (0, 1); (1, 0); (0, 1); (0, 1); (0, 1) ] (0, [(0, 1); (1, 0)], [0; 0]) [0; 0; 0; 0; 1] ([(1, 0) ; (0, 1)], 0) (0, 1) (0, 0, 0) 1 70 control case 2 state, sense wires - condition 1 ns [1; 0; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 cmp_prec X cm Ol ^ (X, X) cm l2 (x, X) cmp23 (X, X) cmρ_expl2 (X, X) insigl ({X, X), (X, X) (X, X)) insig2 ((X, X), (0, X) (X, X)) insig3 {(X, X), (X, X), (X, X)) signl (0, X, X, X) sign2 (X, X, X, X) sign3 (X, X, X, X) gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, x, X) c_ei2 X gr_d2 (X, x, X) c_ed2 X co_limit2 (x, x) gr_al (X, x, X) gr_a2 (X, X, X) gr_a3 (X, X, X) [1; 0; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 3 ins [1; 0; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 4 [1; 0; 0; 0; 0; 0; 0; 0; 1] micro instruction wires cl cl_l (0, 0, 0, 0, 1, 0) cl_2 cl_3 (1, 0)] cl_4 (0, 1); (1, 0)] cl_5 cl_6 (0, 1)] cl_7 cl_8 cl 10 [0; 0; 0; 0; 1] 172 (0, 0, 0, 0, 1, 0) [(0, 1); (0, 1); (1, 0) (0, 1)] [(0, 1); (0, 1); (0, 1) (0, 1); (1, 0)] [(0, 1); (0, 1); (1, 0) (0, 1); (0, 1); (0, 1)] [(0, 1); (1, 0); (0, 1)] [(0, 1); (1, 0); (0, 1) ; (0, 1); (0, 1)] (0, [(0, 1); (1, 0)], [0; 0]) (0, [(0, 1); (1, 0)], [0; 0; 0; 0]} [0; 0; 0; 0; 1] (1, 0) [(1, 0); (0, 1); (0, 1); (0, 1); (0, 1); (0, 1) ] (0, [(0, 1); (1, 0)], [0; 0]) [0; 0; 0; 0; 1] ([(I, 0); (0, 1)-], 0) (0, 1) (0, 0, 0) control case 3 state, sense wires - condition 1 ins [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 ins [1; 0; 1; 0; 0; 0; 0; 0; 1] micro instruction wires cl cl_l (0, 0, 0, 1, 0, 0) cl 2 [(0, 1); (0, 1); (1, 0); (0, 1)] (0, 1)] [0; 0; 0; 0; 1] (0, 0, 0, 1, 0, 0) (0, 1)] [0; 0; 0; 0; 1] (1, 0) [(0, 1); (0, 1); (1, 0); (0, 1) ; (0, 1); (0, 1)] (0, [(0, 1); (1, 0)], [0; 0]) [0; 0; 0; 0; 1] ([(1, 0); (0, 1)], 0) c4 (0, 1) c5 (0, 0, 0) control case 4 state, sense wires ins [1; 1; 0; 0; 0; 0; 0; 0; 1] micro instruction wires (0, 0, 0, 1, 0, 0) [{0, 1); (0, 1); (1, 0) (0, 1)] ; (1, 0)] ; (0, 1); (0, 1)] ; (0, 1)] 0]) [0; 0; 0; 0; 1] (0, 0, 0, 0, 1, 0) C(0, 1); {0, 1); (1, 0) (0, D] [(0, 1); (0, 1); (0, 1) (0, 1); (l, 0)] (0, 1) (0, 1); (0, 1); (0, 1)] (0, 1)] (0, 1); (0, 1); (0, 1)] (0, [(0, 1); (1, 0)], [0; 0]) (0, [(0, 1); (1, 0)], [0; 0; 0; 0]) [0; 0; 0; 0; 1] (1, 0) [(0, 1); (0, 1); (0, 1); (1, 0); (0, 1); (0, 1) ] (0, [(0, 1); (1, 0)], [0; 0]) [0; 0; 0; 0; 1] ([(1, 0); (0, 1)], 0) (0, 1) (0, 0, 0) control case 5 state, sense wires - condition 1 cmp_prec X cmpOl (X, X) X), (X, X)) X), (X, X)) X), (X, X)) ins [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 )),, ((XX,, X), (X, X)) ) , (X, X) , (X, X) ) ), (X, 1), (X, X)) XX,, XX)) X, X) sign3 (0, X, X, X) gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limit2 (X, χ> gr_al (X, X, X) gr_a2 (X, 1, X) gr_a3 (X, x, X) [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 3 ms [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 4 ins [1; 0; 1; 0; 0; 0; 0; 0; 1] state, sense wires - condition 5 178 gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limit2 (X, X) gr_al (X, X, X) gr_a2 (X, X, X) gr_a3 (X, X, X) ins [1; 0; 1; 0; 0; 0; 0; 0; 1] micro instruction wires (0, 0, 0, 0, 1, 0) (0, [(0, 1) (1, 0)], [0; 0]) (0, [(0, 1) (1, 0)], [0; 0; 0; 0]) [1; 1; 1; 1 1] (0, 0, 0, 1, 0, 0) (0, D] (0, 1) ; (1, 0)] (0, 1) ; (0, 1) ; (0, 1)] (0, 1); (0, 1)] (0, [(0, 1); (1, 0)], [0; 0]) (0, [(0, 1) ; (1, 0)], [0; 0; 0; 0]) [0; 0; 0; 0; 1] (1, 0) [(0, 1); (0, 1); (1, 0); (0, 1); {0, 1); (0, 1) ] (0, [(0, 1); (1, 0)], [0; 0]) [0; 0; 0; 0; 1] ([(1, 0); (0, 1)], 0) c4 (0, 1) c5 (0, 0, 0) control case 6 state, sense wires - condition 1 ins [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 ins [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 3 [1; 1; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 1] state, sense wires - condition 4 cmp_prec X cmpOl (X, X) cmpl2 (X, X) cmp23 (X, X) cιιιp_expl2 (X, X) insigl ((X, X), (X, X), (X, X)) insig2 ((X, X), (X, X), (X, X)) insig3 ((X, X), (0, X), (X, X)) signl (X, X, X, X) X) X) ins [1; 0; 1; 0; 0; 0; 0; 0; 1] state, sense wires condition 5 cmp_prec X cmpOl (X, X) cmpl2 (X, X) cmp23 (X, X) crop expl2 (X, X) insigl ({X, X), (X, X), (JC, X)) insig2 ((X, X), (X, X), (X, X)) insig3 ((X, X), (X, X), (X, X)) signl X, X, X, X) sign2 (1, X, X, X) sign3 (0, X, X, X) gr__il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limi 2 (X, X) gr_al (X, X, X) gr_a2 (X, X, X) gr_a3 (X, X, X) ins [1; 0; 1; 0; 0; 0; 0; 0; 1] micro instruction wires (0, 0, 0, 0, 1, 0) [(0, (0, 1) [(0, (0, 1) [(0, (0, 1) (1, 0)] [(0, (1, 0) Ed, (0, 1) (0, [(0, 1); (1 (0, [(0, 1); (1 [0; 0; 0; 0; 0] (0, 0, 0, 1, 0, 0) (0, 1)] [0; 0; 0; 0; 1] (1, 0) [(0, 1); (0, 1); (1, 0); (0, 1) ; (0, 1); (0, 1)] (0, [(0, 1); (1, 0)], [0; 0]) [0; 0; 0; 0; 1] ([(1, 0); (0, 1)], 0) (0, 1) (0, 0, 0) control case 7 state, sense wires - condition 1 ins [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 cmp_prec X cmpOl, (X, X) cmpl2 (X, X) cmp23 (X, X) cmp_expl2 (X, X) insigl ((X, X), (X, X), (X, X)) insig2 ( (X, X) , (X, X) , (x, X) ) insig3 ((X, X), (0, X), (X, X)) signl (X, x, x, x) 3ign2 (1, X, X, X) sign3 (1, X, X, 1) gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limit2 (X, X) gr_al (X, 0, X) gr_a2 (X, X, X) gr_a3 (X, X, X) ins [1; 1; 0; 0; 0; 0; 0; 0; 1] micro instruction wires cl cl_l (0, 0, 0, 0, 1, 0) cl 2 [(0, 1); {0, 1); (1, 0) (0, 1)] 183 [(0, 1); (0, 1); (0, 1); (0, 1); (1, 0) ] (0, 1); (0, 1)] (0, 1)] 0]) [0/ 0; 0; 0; 1] (0, 0, 0, 0, 1, 0) [(0, 1) (0, 1); (1, 0) (0, 1)] [(0, 1) (0, 1); (0, 1) (0, 1); (1, 0)] [(0, 1) (1, 0); (0, 1) (0, 1); (0, 1); (0, 1) ] [(0, 1) (1, 0); (0, 1)J Ed, 0) (0, 1); (0, 1); (0, 1); (0, 1) ] (0, [(0 1); (1, 0)], [0; 0]) (0, [(0 1); <1, " 0)], [0; 0; 0; 0]) [0; 0; 0; 0; 1] (1, 0) [(0, 1); (0, 1); (0, 1); (1, 0); (0, 1); (0, 1) ] (0, [(0, 1); (1, 0)], [0; 0]) [0; 0; 0; 0; 1] ([(1, 0); (0, 1)], 0) c4 (0, 1) c5 (0, 0, 0) control case 8 state, sense wires - condition 1 crπp_prec X cmpOl (X, X) cmpl2 (X, X) cmp23 (X, X) cmp_expl2 (X, X) insigl ( (X, X) , (X, X) , (X, X) ) insig2 ( (X, X) , (X, X) , (X, x) ) insig3 ( (X, X) , (X, 1) , (X, X) ) signl (X, X, X, X) sign2 (0, X, X, X) sign3 (0, X, X, X) gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limit2 (X, X) gr_al (X, X, X) gr_a2 (X, 0, X) gr_a3 (X, X, X) ins [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 cmp_prec X cmpOl, (X, X) cmpl2' (X, X) cmp23 (X, X) cmp_expl2 (X, X) insigl ( (X, X) , (X, X) , (X, X) ) insig2 ( (X, X) , (X, X) , (X, X) ) insig3 ((X, X), (X, 1), (X, X)) signl (X, X, X, X) sign2 (1, X, X, X) sign3 (0, X, X, X) gr_il (X, X, X) c_eil X gr_dl <X, X, X) c_edl X co_limitl (X, X) gr_i2 (X, X, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limit2 (X, X) gr_al (X, X, X) gr_a2 (X, 1, X) gr_a3 (X, X, X) ins [1; 1; 0; 0; 0; 0; 0; 0; 1] micro instruction wires cl cl_l (0, 0, 0, 0, 1, 0) cl 2 [(0, 1); (0, 1); (1, 0); (0, 1) ] cl_3 [(0, 1); (0, 1); (0, 1); (0, 1) cl_4 (I, 0)] [(0, 1); (0, 1); (1, 0); (0, 1 ) cl_5 [ ( 0, 1); (1, 0); (0, 1) J ( Of 1); (0, 1)] cl_6 [{0, 1); (0, 1); (0, 1); (1, 0) cl_7 (0, 1)] ( 0, [ ( 0, 1); (1, 0)], [0; 0]) cl_8 (0, HO, 1); (1, 0)], [0; 0; 0; 0]) cl_10 [0; 0; 0; 0; 1] c2 (0, 1)] c3 c3_l (1, 0) c3_2 c3_3 [(0, 1 ) ; ( 0, 1); ( 1, 0); (0, 1); (0, 1 ) ; ( 0, 1)] ( 0, [ ( 0, 1); (1, 0)], [0; 0] ) c3_4 [0; 0; 0; 0; 1] c3_5 ([(1, 0); (0, 1)], 0) c4 (0, 1) c5 (0, 0, 0) control case 9 state, sense wires cmp_prec X cmpOl (X, X) cmpl2 (X, X) cmp23 (X, X) cmp_expl2 (X, X) insigl ((X, X), (X, X), (X, X)) insig2 ((X, X), (X, X), (X, X)) insig3 ((X, X), (X, 0), (X, X)) signl (X, X, X, X) sign2 (X, X, X, X) sign3 (0, X, X, 1) gr_il (X, X, X) c_eil X gr_dl (X, X, X) c_edl X co_limitl (x, x) gr_i2 (x, x, X) c_ei2 X gr_d2 (X, X, X) c_ed2 X co_limit2 (X, X) gr_al (X, X, X) gr_a2 (X, X, X) gr_a3 (X, X, X) ins [1; 1; 0; 0; 0; 0; 0; 0; 1] micro instruction wires (0, 0, 0, 1, 0, )1 ); ( l, 0)3 ); (0, l); (0, l)] ); (0, 1)] 0]) (1, 0) [(0, 1); (0, 1); (0, 1); (1, 0); (0, 1); (0, 1)3 (0, [(0, 1); (1, 0)3, [1; 13) E0; 0; 0; 0; 1] ([(1, 0); (0, 1)], 0) c4 (0, 1) c5 (0, 0, 0) control case 10 state, sense wires - condition 1 ins [1; 1; 0; 0; 0; 0; 0; 0; 1] state, sense wires - condition 2 ins [1; 1; 0; 0; 0; 0; 0; 0; 1] micro instruction wires cl cl_l (0, 0, 0, 0, 1, 0) cl 2 [(0, 1); (0, 1); (1, 0); {0, D] 188 [(0, 1); (0, 1) (0, 1); (0, 1); (1, 0) ] (1, 0); (0, 1); (0, 1); (0, 1) ] (0, 1)] (0, 1); (1, 0); (0, 1)] (0, [(0, 1) (1, 0)], [0; 0]) (0, [(0, 1); (1, 0)], [0; 0; 0; 0] ) [0; 0; 0; 0; 1] (0, 0, 0, 0, 1, 0) [(0, 1) (0, 1) (1, 0); (0, 1)] (0, [(0, 1) ; (1, 0)], [0; 0]) (0, [(0, 1); (1/ 0)], [0; 0; 0; 0] ) [0; 0; 0; 0; 1] (1, 0) [(0, 1); (0, 1); (0, 1); (1, 0) (0, 1); (0, 1)] (0, [(0, 1); (1, 0)], [1; 1]) [0; 0; 0; 0; 1] ([(1, 0); (0, 1)], 0) c4 (0, 1) c5 (0, 0, 0)

Claims: AMENDED CLAIMS [received by the International Bureau on 23 December 1991 (23.12.91); original claim 1 amended; other claims unchanged (1 page)] 1. A reduction processor controlled by a program having a structure and adapted to reduce said structure in a number of reduction steps including different kinds of reductions, c h a r a c t e r i z e d in that a first order processor of this kind includes an associative active storage (1, 2) in turn including a. a plurality of active storage cells (10, 2), each being able to give rise to the execution of a reduction operation, and b. a communication net (t lf t 2 , id, env, v 0 , v lf v 2 , v 3 , 12, 13, 14, 6, 7, 11, 16, 17) communicating the result of each reduction associatively to all cells among the storage cells having connection to said result. 2. A reduction processor according to Claim 1, c h a r a c ¬ t e r i z e d in that said communication net includes a bus arrangement having control lines (lines to and from 6) and data lines (t lr t 2; id, env, v 0 , v w v 2 , v 3 ) , all lines being connected to each of said storage cells, and a control means (6) in common for all said storage cells. 3. A reduction processor according to Claim l or 2, c h a r a c t e r i z e d in that each storage cell (2; 10; FIG 4A, FIG 4E) is able to include all information necessary to perform a reduction operation. 4. A reduction processor according to Claim 3, c h a r a c t e r i z e d in that said reduction information also includes reference (VALUE/DES) to at least one of said other storage cells, the content of the storage cells being linked by said reference(s) in a tree structure (FIGs 6B, 6G, 7B, 8B; FIGS 5A to 5F) . 5. A reduction processor according to any of Claims 1 to 4, STATEMENTUNDERARTICLE19 Below, with reference to the letter of amendments, a brief explanation of each change in the amended claim 1 of the above application will be given. Support for change (1), i.e. that the active storage is associative, can be found in the description of the above application on page 6, row 23-26 ( "The object storage cells are included in an associative memory ..."), where its stated that the memory is associative. Support for the change can also be found on page 13, row 37 to page 14, row 2 (".., i.e. the memory is associative."). Support for change (2) , i.e. that the result of a reduction is communicated associatively, can be found in the description of the above application on page 62, row 15-19 and in Fig 16 (unify_id) , where an associativ search & replace is described. The change (3), i.e. replacing "having the opportunity" with "being able", and change (4), i.e. replacing "a performance" with "the execution" are only made in purpose of clarity.

Inventors: CARLSTEDT LARS GUNNAR, CARLSTEDT, LARS, GUNNAR
Applicants: CARLSTEDT ELEKTRONIK AB
Application year: 1991
Main classification: G06F9
IPC codes: G06F7, G06F9, G06F12, G11C11, G11C15