Saturday, September 19, 2009

Vector (array) computing

There are operations like addition, masking that take place on corresponding components of a vector. In many vector operations, all the n vector components can be processed in parallel. This enables parallel machines like SIMD or Parallel processor to speed the computations up.

As shown by Cantor, a single (real) number can be put into correspondence to a vector of (real) numbers. Practically, the numbers are finite, which allows to store a number in a computer word in positional notation. The same principle of positional representation is exploited to hold multiple (short) numbers in the same (long) word, e.g. two bytes in a 16-bit word. A range of adjucent bit positions is assigned to a ''digit'' aka ''vector component''. Addition of two words sums the digits at their corresponding positions and saved in result word. Every particular digit sum affects no other parts of machine word (a carry on overflow is prevented by reserving enaugh bits for a component). This way, a machine with a long word may process vectors or series of small numbers in one step.

No comments: