The 8086/8088 is the general purpose processor. The 8087 is the math co-processor for the 8086/8088.
The co-processor on an 8086/8088 is the 8087 math co-processor. The motherboard will be designed with an extra socket for the 8087, which then integrates with the 8086/8088 to make a single unified processor.
The 8086 is not a co-processor. The 8087 is. The 8087 is intended to be coupled to an 8086/8088 to do math co-processing.
Co processor(8087 for 8086,80287 for 80286 etc) is also known as Math processor.It is a dedicated processor for performing arithmetic operations.It has very strong instruction set for numerical operations,faster than 8086 by 4 times.Normally 8086 and other microprocessors will take a lot of time to perform numerical operations and so in multiprocessor mode 8087 will work together with 8086 to solve numerical pronblems. The programmer can write a program with 8086 instructions and 8087 instructions together and so the speed will be improved.
The 8087 Numeric Data Processor is an adjunct to the 8086/8088 microprocessor, that gives the 8086/8088 floating point capability and 8 more registers. The 8087 integrates itself with the 8086/8088 in such a way that the pair actually becomes one processor, appearing to have the extra instructions and registers to start with.Since it was an optional add-on to the system, many run-time libraries would detect whether or not the 8087 was present, and either use it or emulate it.This separation of functionality into two chips was maintained in the product line up until the 80386DX and 80486, although the NDP was called something else (such as the 80287, and 80387) at which point the NDP became a permanent part of the instruction set.
The 8086 was a 16-bit microprocessor chip. It gave its name to the x86 architecture. It was the main CPU of the computer. The 8087 was the first math coprocessor for 16 bit processors. It was the first of the x87 architecture chips. it couldn't act as the main CPU in a computer, it was dedicated to doing floating point mathematical computations.
it primarily running as a 16 bit processor..so it is so called as 8086
8086 means its a 8 bit processor and 86 is its model number
TEST This input is examined by a 'WAIT' instruction. If the TEST input goes low, execution will continue, else, the processor remains in an idle state. The input is synchronized internally during each clock cycle on leading edge of clock.
No remotely modern motherboard is compatible with an 8086 processor. The old IBM PC clones from the early to mid 1980s would have been the only motherboards to support the 8086.
the 8087 is a numeric data processor(NDP) it is basically made to work with 8086/8088 processors.it cannot fetch its instruction by own so its buses(address and data buses)are simply connected to the respective buses of the processor.its instruction are recognized by the word F because each and every instruction of this coprocessor starts with the word F.this is how the min processor distinguishes between its own and the coprocessor instructions.(eg):-FADD,FSUB,etc.this coprocessor has 8-registers eacch capable of storing 80-bit temporary real numbers. the BUSY pin of the coprocessor is connected to the main processor's TEST pin.this TEST pin is active low in nature.this is because the speed of operation of the coprocessor and the main processor is different. the need of this coprocessor is because the calculation speed of maths operations containing floating real numbers is very fast than the processors like 8086/8088.during the execution of the program if the processor encounters the instruction starting with F word(11011)then it simply gives control to the 8087.initially the coprocessor is initialized by loading it with the control word which gives the idea to the 8087 that which exceptions are to be ignored.usually after the calculations the status word of the coprocessor is loaded to see which errors hve occurred.
hhh
The 8086/8088 processor is a 16 bit processor. In a 16 bit two's complement notation, the maximum number is 0x7FFF, or 32767, while the minimum number is 0x8000, or -32768.