Skip to content

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

   ______           _____  _____ 
  |      \         |     \|     \
  | $$$$$$\ ______ | $$$$$| $$$$$\
  | $$ | $$|      \| $$  \| $$  \\
  | $$ | $$ \$$$$$$| $$$$$| $$$$$
  | $$ | $$      \ | $$ __| $$ __
  | $$__/ $$\$$$  \| $$|    $$|  
  | $$    $$\$$$$$$| $$$$$$| $$$$$
  \$$\$$$$  \______|\______|\______|