Title: 8087-Math Coprocessor
Prepared By:
Tabeen Tasneem
Tazeen Tasneem
Department of Computer Science & Engineering
Rajshashi University of Engineering & Technology, Bangladesh
1
CONTENTS
8087 - Math Coprocessor
2
 Introduction
 Data Types
 Pin Diagram
 Architecture
 Control Unit(CU)
 Numerical Execution Unit(NEU)
 Interconnections of 8087 with 8086
INTRODUCTION
8087 - Math Coprocessor
3
 8087 was the first math coprocessor for 16-bit processors designed by
Intel.
 It was built to pair with 8086 and 8088.
 The purpose of 8087 was to speed up the computations involving
floating point calculations.
 Addition, subtraction, multiplication and division of simple numbers is
not the coprocessor’s job.
 It does all the calculations involving floating point numbers like scientific
calculations and algebraic functions.
INTRODUCTION(cont.)
8087 - Math Coprocessor
4
 By having a coprocessor, which performs all the calculations, it can free
up a lot of CPU’s time.
 This would allow the CPU to focus all of its resources on the other
functions it has to perform.
 This increases the overall speed and performance of the entire system.
 This coprocessor introduced about 60 new instructions available to the
programmer.
 All the mnemonics begin with “F” to differentiate them from the standard
8086 instructions.
WHY MATHCOPROCESSOR?
8087 - Math Coprocessor
5
 Floating point operations are complex math operations that require
large registers, complex circuits, and areas on the chip.
 A general data processor avoids this much burden and delegates such
operations to a coprocessor designed specifically for this purpose e.g.
8087 math co-processor for 8086 microprocessor.
8087 DATA TYPES
 Binary Integers
 Packed Decimal Numbers
 Real Numbers
 Temporary Real Format
8087 - Math Coprocessor
6
PIN DIAGRAMOF 8087
8087 - Math Coprocessor
7
ARCHITECTURE OF 8087
8087 - Math Coprocessor
8
 8087 coprocessor is designed to operate with 8086 microprocessor.
 The microprocessor and coprocessor can execute their respective
instructions simultaneously.
 Microprocessor interprets and executes the normal instruction set and
the coprocessor interprets and executes only the coprocessor
instructions.
 All the coprocessor instructions are ESC instructions, i.e. they start with
“F”.
ARCHITECTURE OF 8087(CONT.)
8087 - Math Coprocessor
9
ARCHITECTURE OF 8087(CONT.)
8087 - Math Coprocessor
10
 The internal structure of 8087 coprocessor is divided into two major
sections:
• Control Unit (CU)
• Numerical Execution Unit (NEU)
CONTROL UNIT(CU)
8087 - Math Coprocessor
11
 It interfaces coprocessor to the microprocessor system bus.
 It also synchronize the operation of the coprocessor and the
microprocessor.
 This unit has a Control Word, Status Word and Data Buffer.
 If an instruction is ESC instruction, then coprocessor executes it.
 If not, then microprocessor executes.
NUMERICAL EXECUTION UNIT(NEU)
8087 - Math Coprocessor
12
 This unit is responsible for executing all coprocessor instructions.
 It has an 8 register stack that holds the operands for instructions and
result of instructions.
 The stack contains 8 registers that are 80-bits wide.
Numeric data is transferred inside the coprocessor in two parts:
• 64-bit mantissa bus
• 16-bit exponent bus
INTERCONNECTIONS OF 8087 WITH8086
8087 - Math Coprocessor
13
INTERCONNECTIONS OF 8087 WITH8086(CONT.)
8087 - Math Coprocessor
14
 Multiplexed address-data bus lines are connected directly from 8086 to
8087.
 The status lines and the queue status lines are connected directly from
8086 to 8087.
 The Request/Grant (RQ/GT0 and RQ/GT1) signals of 8087 are
connected to RQ/GT0 and RQ/GT1 of 8086.
 BUSY signal of 8087 is connected to TEST pin of 8086.
INTERCONNECTIONS OF 8087 WITH8086(CONT.)
8087 - Math Coprocessor
15
 Interrupt output INT of the 8087 to NMI input of 8086. This intimates an
error conditions.
 A WAIT instruction is passed to keep looking at its TEST pin, until it
finds pin LOW to indicates that the 8087 has completed the
computation.
That’s all FOR TODAY!!
8087 - Math Coprocessor
16
THANK YOU ALL…
8087 - Math Coprocessor
17
ANY QUERIES?

Math Co-processor 8087

  • 1.
    Title: 8087-Math Coprocessor PreparedBy: Tabeen Tasneem Tazeen Tasneem Department of Computer Science & Engineering Rajshashi University of Engineering & Technology, Bangladesh 1
  • 2.
    CONTENTS 8087 - MathCoprocessor 2  Introduction  Data Types  Pin Diagram  Architecture  Control Unit(CU)  Numerical Execution Unit(NEU)  Interconnections of 8087 with 8086
  • 3.
    INTRODUCTION 8087 - MathCoprocessor 3  8087 was the first math coprocessor for 16-bit processors designed by Intel.  It was built to pair with 8086 and 8088.  The purpose of 8087 was to speed up the computations involving floating point calculations.  Addition, subtraction, multiplication and division of simple numbers is not the coprocessor’s job.  It does all the calculations involving floating point numbers like scientific calculations and algebraic functions.
  • 4.
    INTRODUCTION(cont.) 8087 - MathCoprocessor 4  By having a coprocessor, which performs all the calculations, it can free up a lot of CPU’s time.  This would allow the CPU to focus all of its resources on the other functions it has to perform.  This increases the overall speed and performance of the entire system.  This coprocessor introduced about 60 new instructions available to the programmer.  All the mnemonics begin with “F” to differentiate them from the standard 8086 instructions.
  • 5.
    WHY MATHCOPROCESSOR? 8087 -Math Coprocessor 5  Floating point operations are complex math operations that require large registers, complex circuits, and areas on the chip.  A general data processor avoids this much burden and delegates such operations to a coprocessor designed specifically for this purpose e.g. 8087 math co-processor for 8086 microprocessor.
  • 6.
    8087 DATA TYPES Binary Integers  Packed Decimal Numbers  Real Numbers  Temporary Real Format 8087 - Math Coprocessor 6
  • 7.
    PIN DIAGRAMOF 8087 8087- Math Coprocessor 7
  • 8.
    ARCHITECTURE OF 8087 8087- Math Coprocessor 8  8087 coprocessor is designed to operate with 8086 microprocessor.  The microprocessor and coprocessor can execute their respective instructions simultaneously.  Microprocessor interprets and executes the normal instruction set and the coprocessor interprets and executes only the coprocessor instructions.  All the coprocessor instructions are ESC instructions, i.e. they start with “F”.
  • 9.
  • 10.
    ARCHITECTURE OF 8087(CONT.) 8087- Math Coprocessor 10  The internal structure of 8087 coprocessor is divided into two major sections: • Control Unit (CU) • Numerical Execution Unit (NEU)
  • 11.
    CONTROL UNIT(CU) 8087 -Math Coprocessor 11  It interfaces coprocessor to the microprocessor system bus.  It also synchronize the operation of the coprocessor and the microprocessor.  This unit has a Control Word, Status Word and Data Buffer.  If an instruction is ESC instruction, then coprocessor executes it.  If not, then microprocessor executes.
  • 12.
    NUMERICAL EXECUTION UNIT(NEU) 8087- Math Coprocessor 12  This unit is responsible for executing all coprocessor instructions.  It has an 8 register stack that holds the operands for instructions and result of instructions.  The stack contains 8 registers that are 80-bits wide. Numeric data is transferred inside the coprocessor in two parts: • 64-bit mantissa bus • 16-bit exponent bus
  • 13.
    INTERCONNECTIONS OF 8087WITH8086 8087 - Math Coprocessor 13
  • 14.
    INTERCONNECTIONS OF 8087WITH8086(CONT.) 8087 - Math Coprocessor 14  Multiplexed address-data bus lines are connected directly from 8086 to 8087.  The status lines and the queue status lines are connected directly from 8086 to 8087.  The Request/Grant (RQ/GT0 and RQ/GT1) signals of 8087 are connected to RQ/GT0 and RQ/GT1 of 8086.  BUSY signal of 8087 is connected to TEST pin of 8086.
  • 15.
    INTERCONNECTIONS OF 8087WITH8086(CONT.) 8087 - Math Coprocessor 15  Interrupt output INT of the 8087 to NMI input of 8086. This intimates an error conditions.  A WAIT instruction is passed to keep looking at its TEST pin, until it finds pin LOW to indicates that the 8087 has completed the computation.
  • 16.
    That’s all FORTODAY!! 8087 - Math Coprocessor 16 THANK YOU ALL…
  • 17.
    8087 - MathCoprocessor 17 ANY QUERIES?