All Topics  
Coprocessor

 

   Email Print
   Bookmark   Link






 

Coprocessor



 
 
A coprocessor is a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
 processor used to supplement the functions of the primary processor (the CPU). Operations performed by the coprocessor may be floating point
Floating point

In computing, floating point describes a system for numerical representation in which a String of digits represents a rational number.The term floating point refers to the fact that the radix point can "float": that is, it can be placed anywhere relative to the Significant figures of the number....
 arithmetic, graphics
Graphics

Graphics are visual presentations on some surface, such as a wall, canvas, computer screen, paper, or stone to brand, inform, illustrate, or entertain....
, signal processing
Signal processing

Signal processing is the analysis, interpretation, and manipulation of signal . Signals of interest include: audio signal processing, , time-varying measurement values and sensor data, for example biological data such as electrocardiograms, control system signals, telecommunication transmission signals such as radio signals, and many others....
, string processing, Savitsky-Golay derivation, or encryption
Encryption

In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key ....
. By offloading processor-intensive tasks from the main processor, coprocessors can accelerate system performance. Coprocessors allow a line of computers to be customized, so that customers who do not need the extra performance need not pay for it.

Coprocessors were first seen on mainframe
Mainframe computer

Mainframes are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, Enterprise Resource Planning, and financial transaction processing....
 computers, where they added additional "optional" functionality such as floating point math support.






Discussion
Ask a question about 'Coprocessor'
Start a new discussion about 'Coprocessor'
Answer questions from other users
Full Discussion Forum



Encyclopedia


A coprocessor is a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
 processor used to supplement the functions of the primary processor (the CPU). Operations performed by the coprocessor may be floating point
Floating point

In computing, floating point describes a system for numerical representation in which a String of digits represents a rational number.The term floating point refers to the fact that the radix point can "float": that is, it can be placed anywhere relative to the Significant figures of the number....
 arithmetic, graphics
Graphics

Graphics are visual presentations on some surface, such as a wall, canvas, computer screen, paper, or stone to brand, inform, illustrate, or entertain....
, signal processing
Signal processing

Signal processing is the analysis, interpretation, and manipulation of signal . Signals of interest include: audio signal processing, , time-varying measurement values and sensor data, for example biological data such as electrocardiograms, control system signals, telecommunication transmission signals such as radio signals, and many others....
, string processing, Savitsky-Golay derivation, or encryption
Encryption

In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key ....
. By offloading processor-intensive tasks from the main processor, coprocessors can accelerate system performance. Coprocessors allow a line of computers to be customized, so that customers who do not need the extra performance need not pay for it.

Coprocessors were first seen on mainframe
Mainframe computer

Mainframes are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, Enterprise Resource Planning, and financial transaction processing....
 computers, where they added additional "optional" functionality such as floating point math support. A more common use was to control input/output
Input/output

In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
 channels, although in this role they were more often referred to as channel controllers.

Overview

A coprocessor may not be a general-purpose processor in its own right. Some coprocessors cannot fetch instructions from memory, execute program flow control instructions, do input/output operations, manage memory, and so on. These processors require the host main processor to fetch the coprocessor instructions and handle all other operations aside from the coprocessor functions. In some architectures the coprocessor is a more general-purpose computer, but carries out only a limited range of functions under the close control of a supervisory processor. Note the difference to the term multiprocessor, which refers to a computer with more than one general-purpose CPU.

History

Coprocessors for floating-point arithmetic became common in desktop computers throughout the 1980s and into the early 1990s. Early 8-bit and 16-bit processors used software to carry out floating-point arithmetic operations (though some modern processors on unusual architectures still employ this technique). Where a hardware math co-processor was supported by the computer hardware and software, floating-point calculations could be carried out many times faster. Math co-processors were popular purchases for users of computer-aided design
Computer-aided design

Computer-Aided Design is the use of computer technology to aid in the design and particularly the drafting of a part or product, including entire buildings....
 (CAD) software and scientific and engineering calculations.

Another form of co-processor that became common during this era were the simple Video Display coprocessors, as used in the Atari 8-bit family
Atari 8-bit family

The Atari 8-bit family is a series of 8-bit home computers manufactured from 1979 to 1992. All are based on the MOS Technology MOS Technology 6502 central processing unit and were the first home computers designed with custom coprocessor chips, giving them the most powerful graphic, sound and I/O subsystems of any 8 bit machine of their time...
, the Texas Instruments TI-99/4A
Texas Instruments TI-99/4A

The Texas Instruments TI-99/4A was an early home computer, released in June 1981, originally at a price of United States dollar $525. It was an enhanced version of the less-successful—and quite rare—TI-99/4 model, which was released in late 1979 at a price of $1,150....
 and MSX
MSX

MSX was the name of a standardized home computer architecture in the 1980s. It was a Microsoft-led attempt to create unified standards among hardware makers, conceived by one-time Microsoft Japan executive Kazuhiko Nishi....
 home-computers, which were called "Video Display Controller
Video Display Controller

A Video Display Controller or VDC is an integrated circuit which is the main component in a video signal generator, a device responsible for the production of a Television Composite video in a computing or game system....
s". The graphics processor chip in the Commodore Amiga series was known as the "Copper".

As microprocessors developed, the cost of integrating the floating point arithmetic functions into the processor declined. High processor speeds also made a closely-integrated coprocessor difficult to implement. Mathematics co-processors are now uncommon in desktop computers. The demand for a dedicated graphics co-processor has grown, however, particularly due to an increasing demand for realistic 3D graphics in computer games.

Intel coprocessors


The original IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
 included a socket for the Intel 8087
Intel 8087

The 8087 was the first math coprocessor for 16 bit processors designed by Intel ; it was built to be paired with the Intel Intel 8088 and Intel 8086 microprocessors....
 floating point coprocessor (aka FPU
Floating point unit

A floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division , and square root....
) which was a popular option for people using the PC for CAD or mathematics-intensive calculations. In that architecture, the coprocessor sped up floating-point arithmetic on the order of fiftyfold. Users that only used the PC for word processing, for example, saved the high cost of the coprocessor, which would not have accelerated performance of text manipulation operations.

The 8087 was tightly integrated with the 8088 and responded to floating-point machine code
Machine code

Machine code or machine language is a system of instructions and data executed directly by a computer's central processing unit. Machine code may be regarded as a primitive programming language or as the lowest-level representation of a compiled and/or assembly language computer program....
 operation codes inserted in the 8088 instruction stream. An 8088 processor without an 8087 would interpret these instructions as an internal interrupt, which could be directed to trap an error or to trigger emulation of the 8087 instructions in software. Another coprocessor for the 8086/8088 central processor was the 8089 input/output coprocessor. It used the same programming technique as 8087 for input/output operations, such as transfer of data from memory to a peripheral device, and so reducing the load on the CPU. But IBM didn't use it in IBM PC design and Intel stopped development of this type of coprocessor.

During the era of 8- and 16-bit desktop computers another common source of floating-point coprocessors was Weitek
Weitek

Weitek Corporation was a former chip-design company that originally concentrated on floating point units for a number of commercial Central processing unit designs....
. The Intel 80386
Intel 80386

The Intel 80386, otherwise known as the i386 or just 386, is a microprocessor which has been used as the central processing unit of many personal computers and workstations since 1986....
 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 used an optional "math" coprocessor (the 80387) to perform floating point operations directly in hardware
Computer hardware

A personal computer is made up of computer hardware, multiple physical components onto which can be loaded into a multitude of software that perform the functions of the computer....
.

The Intel 80486DX processor included floating-point hardware on the chip. Intel released a cost-reduced processor, the 80486SX, that had no FP hardware, and also sold an 80487SX co-processor that essentially disabled the main processor when installed, since the 80487SX was a complete 80486DX with a different set of pin connections. While consumers may have resented paying for a processor that was essentially wasted when the upgrade was installed, this marketing strategy did allow increased volume of sales of 80486 family processors, thereby accelerating the eventual price reductions.

Intel processors later than the 80486 integrated floating-point hardware on the main processor chip; the advances in integration eliminated the cost advantage of selling the floating point processor as an optional element. It would be very difficult to adapt circuit-board techniques adequate at 75 MHz processor speed to meet the time-delay, power consumption, and radio-frequency interference standards required at gigahertz-range clock speeds. These on-chip floating point processors are still referred to as coprocessors because they operate in parallel with the main CPU.

Motorola coprocessors

The Motorola 68000
Motorola 68000

The Motorola 68000 is a 16/32-bit Complex instruction set computer microprocessor core designed and marketed by Freescale Semiconductor ....
 family had the 68881/68882
Motorola 68881

The Motorola 68881 was a floating-point coprocessor computer chip that was utilized in some computer systems that used the Motorola 68020 or Motorola 68030 central processing unit....
 coprocessors which provided similar floating-point speed acceleration as for the Intel processors. Computers using the 68000 family but not equipped with the hardware floating point processor could trap and emulate the floating-point instructions in software, which, although slower, allowed one binary version of the program to be distributed for both cases.

Modern PC coprocessors

, dedicated Graphics Processing Units (GPUs) in the form of graphics cards are commonplace. Certain models of sound cards
Sound card

A sound card is a computer expansion card that facilitates the input and output of sound to/from a computer under control of computer programs....
 have been fitted with dedicated processors providing digital multichannel mixing and real-time DSP effects as early as 1990 to 1994 (the Gravis Ultrasound
Gravis Ultrasound

Gravis Ultrasound or GUS is a sound card for the IBM PC compatible system platform, made by Canada-based Advanced Gravis Computer Technology Ltd....
 and Sound Blaster AWE32
Sound Blaster AWE32

Sound Blaster AWE32 is an industry standard architecture sound card from Creative Technology. It is an add-on board for IBM PC compatible. The AWE32, introduced in 1994#March, was a nearly full-length Industry standard architecture card, measuring 14 inches in length....
 being typical examples), while the Sound Blaster Audigy
Sound Blaster Audigy

Sound Blaster Audigy is a sound card series from Creative Technology. It is a Peripheral Component Interconnect add-on board for IBM PC compatible....
 and the Sound Blaster X-Fi
Sound Blaster X-Fi

Sound Blaster X-Fi is a Peripheral Component Interconnect or PCI Express sound card series from Creative Technology. It is an add-on board for IBM PC compatible....
 are more recent examples.

In 2006, AGEIA
AGEIA

Ageia, founded in 2002, was a fabless semiconductor company. Ageia invented PhysX ? a Physics Processing Unit chip capable of performing physics calculations much faster than general purpose Central processing unit; they also licensed out the PhysX Software development kit , a large physics middleware library for Computer game production....
 announced an add-in card for computers that it calls PhysX
PhysX

PhysX is a proprietary software realtime physics engine middleware Software development kit originally developed by Ageia as the NovodeX SDK. The software was PhysX can also refer to a Physics processing unit add-in card designed by Ageia to accelerate PhysX-enabled video games....
. PhysX is designed to perform complex physics computations so that the CPU and GPU do not have to perform these time consuming calculations. It is designed to work with video games, although other mathematical uses could theoretically be developed for it. In 2008 nvidia purchased the PhysX card and began to phase out the card line; the functionality was added through software. Consequently, it can be said that in the future role of math or physics add-in cards will remain a niche.

In 2006, BigFoot Systems unveiled a PCI add-in card they christened the KillerNIC which ran its own special Linux kernel on a FreeScale PowerQUICC running at 400 MHz, calling the FreeScale chip a Network Processing Unit or NPU. Tests have shown it indeed does take an appreciable load off the processor which would otherwise have to run the XP or Vista Network Stack. However its high price tag has kept it out of reach for all but the most performance-minded users.

The SpursEngine
SpursEngine

SpursEngine is a microprocessor from Toshiba built as a media oriented coprocessor, designed for 3D computer graphics and video processing in consumer electronics such as set-top boxes and computers....
 is a media-oriented add-in card with a coprocessor based on the Cell microarchitecture.

Other coprocessors

  • Using FPGA (field-programmable gate arrays), custom coprocessors can be created for acceleration of particular processing tasks such as digital signal processing.
  • TLS/SSL accelerators, used on server
    Server

    Server may refer to:In computing:*Server , a server application, operating system, computer, or appliance**Application server, a server dedicated to running certain software applications...
    s.
  • Some multi-core
    Multi-core (computing)

    A multi-core processor combines two or more independent cores into a single package composed of a single integrated circuit , called a Die , or more dies packaged together....
     chips can be programmed so that one of their processors is the primary processor, and the other processors are supporting coprocessors.


See also

  • Torrenza
    Torrenza

    Torrenza is an initiative announced by Advanced Micro Devices to improve support for the integration of specialized coprocessors in systems based on AMD Opteron microprocessors....
    , an initiative to implement coprocessor support for AMD processors
  • Coprocessor tuning, the process of tuning or calibrating a math coprocessor