Zero Instruction Set Computer | ZISC ProcessorIn computer science, Zero Instruction Set Computer (ZISC) indicates to a computer architecture based on pure pattern matching and absence of (micro-) instructions in the classical sense. The ZISC acronym alludes to the previously developed RISC (Reduced Instruction Set Computer) technology. ZISC is a technology based on ideas from artificial neural networks and massively hardwired parallel processing. This concept was invented by Guy Paillet.
The ZISC architecture alleviates the memory bottleneck by blending the pattern memory with the pattern learning and recognition logic. The main innovation was finding a way to solve the “winner takes all problem” and allows a constant learning/recognition time, regardless of the number of processing elements (e.g. neurons) connected in parallel.
The first ZISC35 with 36 neurons was released in 1993 and the ZISC78 in 2000 both by IBM which discontinued the manufacturing in 2001.
In August 2007, the CM1K (CogniMem 1,024 neurons) was introduced by CogniMem Ltd. CM1K was designed by Anne Menendez and Guy Paillet.
Practical uses of ZISC / CogniMem technology focus on pattern recognition, information retrieval (data mining), security and similar tasks.
Implementation of the new IBM Zero Instruction Set Computer (ZISC036) on a PC/ISA-bus card as well as on a VME-card is reported. The ZISC circuit has 36 processing elements of a type similar to that of Radial Basis Function (RBF) neurons. It is a highly parallel and cascadable building block with on-chip learning capability, and is well suited for pattern recognition, signal processing, etc.
|Figure 1. ZiSC036 block diagram The top part shows the address (6-bit), control (9-bit) and l/O data (16-bit) buses; the lower part includes the decision output (16-bit) bus. AD buses are directly connected when chlps are cascaded. The 4-bit decision bus (far right) allows the use of the ZISC036 in stand alone mode.|
Last summer, IBM presented the first Zero Instruction Set Computer or ZISC036 and recently we presented the first implementation of this building block on a PC-486 ISA-bus card.The RCE  learning algorithm embedded on-chip. Although this learning concept involves simple commitment of prototype vectors to memory and adjustment of scalar weighting factors, such networks have been shown to define classification boundaries of complicated clustering in multidimensional space. The ZISC036 has a built-in-self-learning mechanism and can handle up to 16382 output categories. These are features that make it well suited for several types of applications.
The ZISC036 (figs 1 and 2) is conveniently regarded as a coprocessor device. As such a device, it must be controlled by a micro-controller or a state machine (accessing its registers). In many RBF applications a large number (>100) of neurons is required, which is easily arranged due to the cascadable structure of the ZISC. Indeed, most of its 144 pins can be directly interconnected which simplify the design and allow for “ZISC-towers”. Multi-layer configurations can be accomplished by either connecting several chips or sub setting the network and time-multiplexing the inputs.
|Figure 2. Schematic drawing of a single ZISC036 processing element or neuron|
The ZISC036 chip supports asynchronous as well as synchronous protocols, the latter when a common clock can be shared with the controller. Examples, of these modes are given in the user’s manual and includes the use of separate address and data buses as well as PCI-like multiplexing, single, multiple and burst transfer.
The calculation of distances between input vectors and prototype uses 14bit precision. The components of the vectors are fed in sequence and processed in parallel by each neuron. This means that for a 20MHz ZISC036, 64 8-bit components can be fed and processed in 3.211µs. The evaluation is obtained in one clock cycle (i.e. 0.511µs) after the feeding of the last component. This corresponds to 250,000 evaluations per second on a 2000 MIPS von Neuman processor. The ZISC036 is fabricated using IBM standard cell CMOS technology and has about 400000 transistors.
|Figure 3. Schematic layout of the VME/ZISC036 board. The lower part shows the piggy-oack area which can hold 4 – 40 ZISC chips.|
Although the number of cascaded chips may be application or bus dependent, there should be no problem using up to ten chips. Building larger networks is a matter of grouping small networks together by placing re-powering devices where needed. Bus and CPU interface examples are found in the ZISC036 Data Book.
The present VMEbus card (the reader is referred to ref  for details on a IBM/ISA implementation) holds 4 piggy-back PCBs with one chip each. The PCBs are made to carry another card on top and hence up to 40 ZlSCs could in principle be mounted in four “ZISC-towers” on the VME-card.
For the PC/ISA-board, computer codes were written in Borland C++ under DOS and Windows using the ZINC GUI library.
The VME-implementation relies on a VME to SBus hardware interface and pertinent software. This software is written using the GNU C++ and the VMIC SBus interface library.
Results and Summary |
A neural network of the RBF-type [5- 7] is in somewhat different from more conventional architectures. In very general terms the approach is to map an N-dimensional space by prototypes. Each of these prototypes is associated with a category and an influence field representing a part of the N-dimensional space around the prototype. Input vectors within that field are assigned the category of that prototype. (In the ZISC implementation the influence fields are represented by hyper-polygons rather than hyper-spheres as in a more theoretical model. Two user selectable distance norms are supported by the chip. Several prototypes can be associated with one category and influence fields may overlap.
|Flgure 4. Examples of inputs. The input neurons 1 and 2 get their values from either of the two histograms shown here (there are three additional histograms for inputs 3 – 8).|
There are several learning algorithms associated with the RBF-architecture, but the most common one are the RCE  and RCE-like ones. The one used by the ZISC chip is “RCE-Iike”. A nearest neighbour evaluation is also available.
We have added the Intel ETANN and the Bellcore CLNN32/64 neural nets to the ZISC036 with a LHC physics “benchmark test”. The inputs in this test are the moments and transverse moments of the four leading particles, obtained in a simulation of a LHC search for a heavy Higgs. Two-dimensional plots of these moments (p versus pt), for the leading particle, are shown in fig. 4.
Although only some preliminary results have been obtained, it is fair to say that a system with eight inputs and just 72 RBF-neurons could recognise the Higgs to a level of just above 70% and the background to about 85%. This is almost as good as the CLNN32/64 chips. Further details and results will be presented at the AIHENP-95 conference in Pisa, Italy.
It is mentioned that ZISC036 is the first is a series, which possibly implies more, faster and ~knowledgeable” neurons in subsequent chips.
Acknowledgements |The present work is carried out under contract with the Swedish Engineering Research Council, which is gratefully acknowledged. Special thanks are due to M. Jean-Pierre LeBouquin and his co-workers at IBM, Essonnes. The article collect from internet and Zero Instruction Set Computer Research Centre; IBM Essonnes Components Development Laboratory, IBM Microelectronics, ZISC036 Data Book. Rezwan Ahmed | Software Engineer
B.Sc.(Hon's) of Computer Science and Software Engineering| Stamford University, Bangladesh. Masters of International Business and Information System Management | Swinburne University of Technology.