0% found this document useful (0 votes)
12 views29 pages

Understanding Vector Processing Techniques

Vector processing refers to CPU designs that perform operations on multiple data elements in parallel, offering significant performance advantages for workloads involving large vectors and matrices. It is essential in various scientific and engineering applications such as weather forecasting, medical diagnosis, and artificial intelligence. Key features include parallel processing, chaining of instructions, and efficient handling of data, with classifications based on memory access methods.

Uploaded by

adminhubs
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views29 pages

Understanding Vector Processing Techniques

Vector processing refers to CPU designs that perform operations on multiple data elements in parallel, offering significant performance advantages for workloads involving large vectors and matrices. It is essential in various scientific and engineering applications such as weather forecasting, medical diagnosis, and artificial intelligence. Key features include parallel processing, chaining of instructions, and efficient handling of data, with classifications based on memory access methods.

Uploaded by

adminhubs
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Vector processing

Deals with computations involving large vectors and matrices.


Vector processing is a term used in computer architecture to describe
a type of CPU design where instructions operate on multiple data
elements in parallel. This is in contrast to traditional, scalar processors
which can only process one data element at a time. Vector processing
can offer significant performance advantages over scalar processing,
especially for certain types of workloads.
Vector processing

 Deals with computations involving large vectors and matrices..


Vector Processing


In many science and engineering applications, the problems can be formulated
in terms of vectors and matrices that lend themselves to vector processing.

Computers with vector processing capabilities are in demand in specialized
applications. e.g

o Long-range weather forecasting

o Petroleum explorations

o Seismic data analysis

o Medical diagnosis

o Artificial intelligence and expert systems

o Image processing

o Mapping the human genome
.


To achieve the required level of high performance it is necessary to
utilize the fastest and most reliable hardware and apply innovative
procedures from vector and parallel processing techniques.
Vector Operations


Many scientific problems require arithmetic operations on large
arrays of numbers.

A vector is an ordered set of a one-dimensional array of data
items.

A vector V of length n is represented as a row vector by
V=[v1,v2,…,Vn].
Key Features of Vector Processing


Vector Structure: A vector is a structured set of elements, where each
element is a scalar quantity. A vector operand includes an ordered set of
n elements, where n is the length of the vector

Parallel Processing: Vector processors can process multiple pairs of
elements simultaneously. For example, during one clock period, dual
vector pipes and dual sets of vector functional units allow the processing
of two pairs of elements

Chaining: This is a phase where successive vector instructions use the
result from one vector register as the operand for another operation using
a different functional unit

Efficiency: Vector processing reduces the overhead associated with
maintaining loop-control variables, making it more efficient than scalar
processing
Key Features of Vector Processing


Vector Structure: A vector is a structured set of elements, where each
element is a scalar quantity. A vector operand includes an ordered set of
n elements, where n is the length of the vector

Parallel Processing: Vector processors can process multiple pairs of
elements simultaneously. For example, during one clock period, dual
vector pipes and dual sets of vector functional units allow the processing
of two pairs of elements

Chaining: This is a phase where successive vector instructions use the
result from one vector register as the operand for another operation using
a different functional unit

Efficiency: Vector processing reduces the overhead associated with
maintaining loop-control variables, making it more efficient than scalar
processing
Vector Operations


Many scientific problems require arithmetic operations on large
arrays of numbers.

A vector is an ordered set of a one-dimensional array of data items.

A vector V of length n is represented as a row vector by V=[v1,v2,
…,Vn].

What are the types of vector processing?


Pipelined vector processors can be classified as Memory-to-Memory or
Register-to-Register based on where the operand is fetched for vector
processing.

Memory-to-Memory vector processors fetch operands from memory,
while Register-to-Register vector processors fetch operands from
registers.

What are the characteristics of vector processing?


A vector is a sequential data structure consisting of a sequence of n
components, where n is called the length of the vector. Components are
stored contiguously in memory.

The main advantage of vectors is that they can be processed very
efficiently by the CPU. This is because the CPU can fetch and process
multiple vector elements in a single operation. This is called Single
Instruction Multiple Data (SIMD) processing.

SIMD instructions are available on most modern CPUs. For example, the
SSE (Streaming SIMD Extensions) instruction set is available on Intel
and AMD CPUs.
Scalar,vector and superscalar

A scalar processor is a processor that acts on one piece of data at a
time.

A vector processor is a processor that acts on several pieces of data
with a single instruction.

A superscalar processor is a processor that issues several instructions
at a time, each of which operates on one piece of data. Our MIPS
pipelined processor is a scalar processor.
.

A vector, in programming, is a type of array that is one dimensional.
Vectors are a logical element in programming languages that are used
for storing a sequence of data elements of the same basic type.
Members of a vector are called components.

A vector is a one-dimensional list, while an array is a multi-dimensional
list. A two-dimensional array is a vector of vectors that are all the same
length.
.

A vector is a one-dimensional list, while an array is a multi-dimensional
list. A two-dimensional array is a vector of vectors that are all the same
length.
How are vectors vs arrays?


A vector is a sequential container to store elements. It is dynamic in nature so,
size increases with insertion of elements. As array is fixed size, once initialized
can’t be resized.

There are 10 types of vectors which are:

Zero Vector: A vector which has zero magnitude and direction is known as a zero
vector. It is represented by ‘0’.

Unit Vector: A vector which has a magnitude of 1 and a direction is known as a
unit vector. It is represented by ‘i’, ‘j’ or ‘k’.

Position Vector: A vector which is used to represent the position of a point is
known as a position vector. It is represented by ‘r’.
.

Co-initial Vector: Two vectors are known as co-initial vectors if they have the same
initial point.

Like and Unlike Vectors: Vectors which have the same magnitude and direction are
known as like vectors. Vectors which have the same magnitude but different
directions are known as unlike vectors.

Co-planar Vector: Vectors which lie on the same plane are known as co-planar
vectors.

Collinear Vector: Vectors which lie on the same line are known as collinear vectors.

Equal Vector: Vectors which have the same magnitude and direction are known as
equal vectors.

vectorization

Unlike scalar processors that operate on only a single pair of data, a
vector processor operates on multiple pair of data. However, one can
convert a scalar code into vector code. This conversion process is known
as vectorization.

So, we can say vector processing allows operation on multiple data
elements by the help of single instruction.
.

These instructions are said to be single instruction multiple data or vector
instructions. The CPU used in recent time makes use of vector
processing as it is advantageous than scalar processing.
Architecture
The functional units of a vector computer are as follows


The functional units of a vector computer are as follows:

IPU or instruction processing unit

Vector register

Scalar register

Scalar processor

Vector instruction controller

Vector access controller

Vector processor

IPU

We know that both data and instructions are present in the memory at
the desired memory location.

So, the instruction processing unit i.e., IPU fetches the instruction from
the memory.
.

Once the instruction is fetched then IPU determines either the fetched
instruction is scalar or vector in nature.

If it is scalar in nature, then the instruction is transferred to the scalar
register and then further scalar processing is performed.
.

While, when the instruction is a vector in nature then it is fed to the
vector instruction controller. This vector instruction controller first
decodes the vector instruction then accordingly determines the address
of the vector operand present in the memory
.

Then it gives a signal to the vector access controller about the demand
of the respective operand.

This vector access controller then fetches the desired operand from the
memory.

Once the operand is fetched then it is provided to the instruction register
so that it can be processed at the vector processor.
.

At times when multiple vector instructions are present, then the vector
instruction controller provides the multiple vector instructions to the task
system.

And in case the task system shows that the vector task is very long then
the processor divides the task into subvectors.
Classification of Vector Processor


The classification of vector processor relies on the ability of vector
formation as well as the presence of vector instruction for processing.
So, depending on these criteria, vector processing is classified as
follows:
.

.
Register to register

The several vector pipelines present in the vector computer help in
retrieving the data from the registers and also storing the results in the
desired register. These vector registers are user instruction
programmable.

This means that according to the register address present in the
instruction, the data is fetched and stored in the desired register. These
vector registers hold fixed length like the register length in a normal
processing unit.

Some examples of a supercomputer using the register to register
architecture are Cray – 1, Fujitsu etc.

Memory to Memory Architecture


Here in memory to memory architecture, the operands or the results are
directly fetched from the memory despite using registers. However, it is
to be noted here that the address of the desired data to be accessed
must be present in the vector instruction.

This architecture enables the fetching of data of size 512 bits from
memory to pipeline. However, due to high memory access time, the
pipelines of the vector computer requires higher startup time, as higher
time is required to initiate the vector instruction.

Some examples of supercomputers that possess memory to memory
architecture are Cyber 205, CDC etc.

Advantages of Vector Processor


Vector processor uses vector instructions by which code density of the
instructions can be improved.

The sequential arrangement of data helps to handle the data by the
hardware in a better way.

It offers a reduction in instruction bandwidth.

You might also like