A vector is a set of scalar data items, all of the
same type, stored in memory.
A vector processor is an ensemble of hardware
resources, including vector registers, functional
pipelines, processing elements, and register
counters, for performing vector operations.
Vector processing occurs when arithmetic or logical
operations are applied to vectors.
Vector processing speedup 10..20 compared with
A process that allows the CPU to execute a single
instruction simultaneously on multiple pieces of
data, rather than by repetitive looping.
superscalar designs can take advantage of
parallelism in scalar operations, it is possible to
take advantage of similar parallelism in vector
codes , Thus, it makes sense to provide multiple
vector processors in a system.
Here the main issue is memory access.
Multiprocessing is the use of two or more central
processing units (CPUs) within a single computer
Ability of a system to support more than one
processor and/or the ability to allocate tasks
The terms multitasking or multiprogramming are
more appropriate to describe this concept.
A single CPU can only go so fast, use more
than one CPU to improve performance
Multi-tasking within an application
Responsiveness and/or throughput
◦ The ability to execute more than one task at the
same time, a task being a program.
◦ In multitasking, only one CPU is involved, but it
switches from one program to another so quickly
that it gives the appearance of executing all of
the programs at the same time.
◦ There are two basic types of multitasking:
the operating system parcels out CPU time slices to each
each program can control the CPU for as long as it needs
◦ A single program it self has more than one line of
executions (Thread). Every thread shares common
◦ Multiprogramming is a rudimentary form of
parallel processing in which several programs are
run at the same time on a uniprocessor.
Multiple Processor Systems
(a) A shared-memory multiprocessor.
(b) A message-passing multicomputer.
(c) A wide area distributed system.
Multiprocessors can be used in different ways:
Uniprossesors (single-instruction, single-data or
Within a single system to execute multiple,
independent sequences of instructions in multiple
contexts (multiple-instruction, multiple-data or
A single sequence of instructions in multiple
contexts (single-instruction, multiple-data or SIMD,
often used in vector processing);
Multiple sequences of instructions in a single
context (multiple-instruction, single-data or MISD,
used for redundancy in fail-safe systems and
sometimes applied to describe pipelined