2. Coprocessor
Introduction
A coprocessor is a special set of circuit s in a microprocessor chip that is
designed to manipulate numbers or perform some other specialized function
more quickly than the basic microprocessor circuits could perform the same
task. A coprocessor offloads specialized processing operations, thereby
reducing the burden on the basic microprocessor circuitry and allowing it to
work at optimum speed.
In the early years of personal computing, the coprocessor was physically
separate from the main microprocessor. Starting with the Intel Pentium and
Motorola 68000 series, the coprocessor, also known as a math coprocessor,
numeric coprocessor, or floating-point unit ( FPU ), became a physical part of
the microprocessor chip.
3. Coprocessor
Introduction
Some coprocessors are still available as separate chips or circuit cards.
These are designed for specific applications such as high-end graphics,
broadband signal processing , and encryption / decryption . Coprocessors of
this type make it possible to customize the various models in a line of personal
or business computers.
Currently CPUs have been designed to absorb functionalities of popular
coprocessors. But there are still coprocessors that are separately available,
allowing customization for personal or business use. The graphics processing unit
(GPU) is the most common example of this; it is designed solely for graphics
processing so that the CPU does not have to do any of it.
4. Coprocessor
A co-processor may be designed to work just with a particular type of
CPU, in which case its instructions can be included in the main program
and are passed on to the co-processor by the CPU as it encounters
them. In other cases, the co-processor may require its own separate
program and program memory, and communicates with the CPU by
interrupts or message passing via a shared memory region.
5. Coprocessor
Coprocessor and Multiprocessor configuration
Coprocessors and Closely coupled configurations are similar
in that both the 8086 and the external processor shares the:
- Memory
- I/O system
- Bus & bus control logic
- Clock generator
7. Coprocessor
TEST pin of 8086
Used in conjunction with the WAIT instruction in multiprocessing
environments.
This is input from the 8087 coprocessor.
During execution of a wait instruction, the CPU checks this signal.
If it is low, execution of the signal will continue; if not, it will stop
executing.
9. Coprocessor
Advantages of Multiprocessor Configuration
1. High system throughput can be achieved by having more than
one CPU.
2. The system can be expanded in modular form.
Each bus master module is an independent unit and normally
resides on a separate PC board. One can be added or
removed without affecting the others in the system.
3. A failure in one module normally does not affect the breakdown
of the entire system and the faulty module can be easily detected
and replaced
4. Each bus master has its own local bus to access dedicated
memory or IO devices. So a greater degree of parallel
processing can be achieved.
10. Coprocessor
Overview
Each processor in the 80x86 family has a
corresponding coprocessor with which it is compatible
Math Coprocessor is known as NPX,NDP,FUP.
Numeric processor extension (NPX),
Numeric data processor (NDP),
Floating point unit (FUP).
14. Coprocessor
Architecture of 8087
Control Unit
Execution Unit
Control unit: To synchronize the operation of the
coprocessor and the processor.
This unit has a Control word and Status word and Data Buffer
If instruction is an ESCape (coprocessor) instruction, the
coprocessor executes it, if not the microprocessor
Control Unit
15. Coprocessor
This performs all operations that access and manipulate the
numeric data in the coprocessor’s registers.
Numeric registers in NUE are 80 bits wide.
NUE is able to perform arithmetic, logical and transcendental
operations as well as supply a small number of mathematical
constants from its on-chip ROM.
Numeric data is routed into two parts ways
a 64 bit bus and
a 16 bit sign/exponent bus.
Numeric Execution Unit