Skip to main content

Architecture of 8087 Math co-processor

 

Introduction 

  • 8087 coprocessor is designed to operate with an 8086 microprocessor.
  • The microprocessor and coprocessor can execute their respective instructions simultaneously.
  • The 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

The  internal structure of the 8087 coprocessor is divided into two major sections :
  • the control unit ( CU )
  • Numeric Execution Unit ( NEU )

Control Unit ( CU )

  • It interfaces the coprocessor to the microprocessor system bus.
  • It also synchronized 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 the coprocessor executes it.
  • If not, then the microprocessor executes.

Numeric Execution Unit ( NEU )

  • This unit is responsible for executing all coprocessor instructions.
  • It has an 8-register stack that holds the operands for instruction and the 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.


Comments

Popular posts from this blog

8087 Math Co-Processor

   What is a co-processor? A co-processor is a specially designed circuit on a microprocessor chip that can perform the same task very quickly that the microprocessor performs. The main advantage of a co-processor is it reduces the workload of the main processor. Co-processors share the same memory, I/O system, bus control, and clock generator. The co-processor handles specialized tasks like mathematical calculation, graphical display on the screen, etc. 8087 co-processor It was the first math co-processor designed by Intel to pair with 8086/8088 resulting in the easier and faster calculation. The purpose of 8087 was to speed up the computation involving floating point calculation. 8087 math co-processor is also known as Numeric Data Processor (NDP), Numeric Processor Extension (NPX), Floating Point Unit (FPU) Features of 8087 This increase the overall speed and system performance of the entire system. Addition, subtraction, multiplication, and division of simple numbers are n...

Status, Control and Tag register in 8087 math co-processer

   Status Register The status register tells the overflow status of the 8087 coprocessor. It is a 16-bit register. It is accessed by executing the FSTSW instruction. This instruction stores the content of the status register in memory. Once the status is stored in memory the bit positions of the status register can be examined. Busy:  It indicates that the coprocessor is busy executing the task. Condition codes ( C0-C3 ):  They indicate various conditions about the coprocessor. Top of Stack : It indicates a register as the top of the stack out of the eight stack registers. Exception Flat:  It is set if any of the exception flag bits ( SF, PR, UF, OF, ZD, ZD, IO) are set. Stack Faul t : It is not available in 8087. It is active only in 80387 and above. Precision : It indicates that the result has exceeded the selected precision. Underflow : It tells if the result is too small to fit in a register. Overflow:  It tells if the result is too large to fit in a re...