Page 1¶
ND 10338 ND-500 Microcode for Array Processing Functions¶
INTRODUCTION¶
Within many areas of applied science and engineering there is the need for the processing of heavy compute bound iterative arithmetic.
For real-time data reduction, evaluation of data on site and many other time-critical tasks it becomes a necessity to increase the throughput to save time and money.
ND-10338 Microcode for array processing functions may be installed in any of the computers in the ND-500 series: ND-520, ND-540 and ND-560. Floating point arithmetic may be processed up to an order of magnitude faster with the array processing functions implemented in one of these CPUs. Cost effective solutions can be obtained for tasks as simple as basic signal processing up to the most complex scientific calculations.
Some of the applications that were in mind for the design of ND-10338 were: Image processing, seismic modelling and analysis, simulation programs, quantum mechanical and high energy physics calculations.
HARDWARE¶
The ND-10338 Microcode is a microprogram which contains both the standard instruction set for the ND-500 series of computers and the ND-500 array processing functions. Together with the microcode the library for ND-500 array processing functions is installed.
The array processing functions for floating point operations are performed in 32 bits floating point format by the ND-500 floating point arithmetic.
The ND-500 gives possibilities of parallel processing. This means that indexing, memory access, floating point arithmetic, integer arithmetic and loop control may be run in parallel to obtain high speed operations. Temporary results to be used in later calculations, are kept in registers in the ND-500 CPU, accessed directly by both the floating point arithmetic and the integer arithmetic.
Arrays involved in an operation are accessed through the ND-500 memory management system. It then allocates memory automatically. Reservation of continuous memory space is not required for ND-500 array processing. The result of an array processing function is presented in an output array. The ND-500 array processing functions are fully interruptable to maintain the ND-500 CPU resources shared between the different processes running concurrently.
USING THE ARRAY PROCESSING FUNCTIONS¶
The array processing functions may be called from FORTRAN. The array processing library is used to transfer the parameters from the call to the array processing instructions. Thus the array processing functions are connected to the main program at load time as part of the program.
Writing a FORTRAN program for array processing with ND-500 array processing functions is much the same as using the FORTRAN equivalent in the array processing function. Before starting an array processing function, input and output arrays for the operations must be defined. Initialization of the input arrays are required, that is, data for processing must be placed in the input arrays for the relevant array processing function. Then the desired function may be called. The result of the operation appears in the output array, which is returned by the function.
Below, we give a few examples of execution times in micro seconds for some operations, as well as their improvements over the corresponding FORTRAN functions. The numbers in each cell are generally 1500.
| Operation | Execution time/loop µs | Improvement over FTN function |
|---|---|---|
| COMPLEX FAST FOURIER TRANSFORM (1024 nos. in call) | 62.25 | 4.04 |
| CONVOLUTION (CORRELATION) | 1.29 | 8.84 |
| DOT PRODUCT | 2.57 | 3.73 |
| MAX ELEMENT IN VECTOR | 1.34 | 6.30 |
| SUM OF VECTOR ELEMENTS | 1.24 | 5.40 |
| VECTOR ADD | 1.93 | 6.00 |
| VECTOR MOVE | 1.16 | 6.39 |
| VECTOR SCALAR ADD | 1.64 | 5.67 |
| VECTOR SINE | 15.09 | 1.70 |
| VECTOR SWAP | 2.00 | 5.20 |
DOCUMENTATION¶
ND-500 Array Processing Functions ............. ND-05.013
_____ _____
| __|| |
|__ || | |
|_____||_____|
Norsk Data
10338-A1-6000-1082
Page 2¶
Contact Information¶
Norsk Data¶
| Location | Telephone | Telex |
|---|---|---|
| Oslo | 02-309030 | 18661 nd n |
| Bergen | 05-212290 | |
| Sandnes | tel. 04:665960 | |
| Tromsø | tel. 083-77166 | |
| Stockholm | tel. 0760-92020 | ttx. 15255 nordata s |
| Gothenburg | tel. 031-496600 | |
| Malmø | tel. 040-37050 | |
| Copenhagen | tel. 02-425055 | ttx. 37725 nd dk |
| Århus | tel. 06:120155 | |
| Wiesbaden | tel. 061-26041 | ttx. 4186370 noda n |
| Fernsey-Voltaire | tel. 50-48/076 | ttx. 385853 nordata fernv |
| Paris | tel. 1-602.2336 | ttx. 201186 nd pariss |
| Lausanne | tel. 021-320022 | ttx. 26218 nd ch |
| Lyon | tel. 787-47177 | 5387 3591 |
| Newbury | tel. 0635-316745 | ttx. 848919 norskd g |
| Utrecht | tel. 0306-26374 | |
| Boston | tel. (617) 237-7945 | ttx. 921740 norsk well |
Ole Deviks vei 5
Boks 5 Bogerud
Oslo 6
Tel.: 02-259400
Telex: 18864 nd n
Telefax: 02-295617
Norsk Data Comtec¶
| Location | Telephone | Telex |
|---|---|---|
| Trondheim | tel. 075-16520 | ttx. 555580 comtc n |
| Stockholm | tel. 0760-84100 | ttx. 15255 nordata s |
| Odense | tel. 09-1571440 | ttx. 55960 comtec dk |
| Düsseldorf | tel. 0211-666386 | ttx. 8587277 comct d |
Jerikoveien 20
Boks 4 Lindeberg gård
Oslo 10
Tel.: 02-309030
Telex: 18661 nd n
Telefax: 02-309247
NOTE: NORSK DATA reserves the right to change specifications without notice
______ _____ _____
| \ | \| \
| $$$$$$\ ______ | $$$$$| $$$$$\
| $$ | $$| \| $$ \| $$ \\
| $$ | $$ \$$$$$$| $$$$$| $$$$$
| $$ | $$ \ | $$ __| $$ __
| $$__/ $$\$$$ \| $$| $$|
| $$ $$\$$$$$$| $$$$$$| $$$$$
\$$\$$$$ \______|\______|\______|