The 8087 is basically known as the Numeric Data Processor, but it's also called a Math Co-processor. 8087 numeric data processor is also known as the Floating point unit. The 8087 is a co-processor that was designed to work with the Intel 8086/8088 microprocessors. It was used to enhance the performance of floating-point operations on these processors.
The 8087 consists of two major parts:
- Control Unit: This block is used to synchronize tasks between the main and coprocessors. The control unit receives the instruction's opcode, then decodes the instruction's opcode, and reads or writes the operands from memory. The control unit provides communication between the processor and memory.
- Numeric Execution Unit (NEU): The Control Unit (CU) consists of a data bus buffer, status, and control registers, and the Numeric Processing Unit (EU) consists of a stack of eight data registers, a microcode control unit, and programmable shifters. This block duplicates the functions performed by the microprocessor control unit and ALU.
8087 Data Formats
The 8087 mainly support these kinds of data format as listed -
- 1. Packed decimal numbers - The 8087 co-processor supports the decimal numbers which are applied to solve applied numerical methods and operation research maths. it's used in many calculation-based applications where decimal precise decimal arithmetic is required.
- 2. Binary Integers - The data numeric coprocessor is always relevant to the binary integer. it specifies the fixed number in bits form like integer 8 to 64 bits depending on the specific applications. in terms of the math process, it supports the signed bit and the unsigned binary integer.
- 3. Temporary real format - 8087 is capable to store the values of the results during the floating point arithmetic operation. the temporary real format is a kind of data format of the coprocessor. the floating point numbers in memory represent the 80 bits of memory that consisting a sign bit.
- 4. Real numbers - The 8087 co-processor has some basic functionality to perform the arithmetic operation on the double points and floating points which represent the operations on floating point numbers. the 8087 processor supports the three main floating numbers such as single, double, and extended precision.
Instruction Set of 8087
So the 8087 introduces some instruction set to operate some arithmetic logical operations. These instructions are fetched by the 8086 and executed by the 8087. Execution of the 8087 instruction set is transparent to the programmer. When the 8086 encounters an 8087 instruction, it executes the ESCAPE instruction code to bypass the instruction opcode and transfer control of the local bus to the 8087 coprocessor. The 8087 instruction set is listed below.
- Data Transfer Instructions
- Arithmetic Instructions
- Floating-Point Data Transfer Instructions
- Processor Control Instructions
- Arithmetic Instructions etc.
Applications of 8087
The 8087 provides functions designed specifically to meet high-performance digital processing requirements. The trigonometric, logarithmic, and exponential functions of them are built into the coprocessor hardware. These functions are essential in scientific, engineering, navigational, or military applications. The 8087 also has features for business computing or business. The 8087 can handle binary coded decimal (BCD) numbers up to 18 bits, with rounding errors.
- 8087 is supporting the programming language, it can write the high-level language for 8086/8088 systems.
- The 8087 math coprocessor architecture is designed for high-performance numeric computing with general-purpose processing.
Usage in real-world applications
Some specific examples of applications that use the 8087 include:
- CAD/CAM software: Many computer-aided design and computer-aided manufacturing software packages rely on the 8087 to perform complex geometric calculations.
- Physics simulations: The 8087 is used in simulations of physical systems, such as simulations of fluid dynamics, electromagnetism, and quantum mechanics.
- Financial calculations: The 8087 is used in financial applications, such as accounting software and stock market analysis tools, to perform complex calculations involving interest rates, exchange rates, and other financial metrics.
- Medical imaging: The 8087 is used in medical imaging applications, such as MRI and CT scans, to perform calculations on the data generated by these imaging systems.
Limitations and drawbacks
Although the 8087 co-processor is a powerful tool for performing high-precision numerical calculations, it does have some limitations and drawbacks. Some of these include:
- Cost: The 8087 co-processor was an expensive add-on to the Intel 8086/8088 microprocessors, which limited its adoption in many applications.
- Compatibility: The 8087 was only compatible with certain microprocessors, which limited its use to systems that were specifically designed to work with it.
- Power consumption: The 8087 co-processor required a significant amount of power to operate, which could limit its use in systems that had limited power supplies.
- Programming complexity: The 8087 co-processor required specialized programming techniques to fully utilize its capabilities, which could make it difficult for some developers to use effectively.
Similar Reads
Factors of 80 Factors of 80 include 1, 2, 4, 5, 8, 10, 16, 20, 40 and 80. The factors of 80 are the numbers that can divide 80 without leaving any remainder. These factors include both positive and negative integers. In this article, we will discuss all the topics related to the factors of 80, including all the f
6 min read
Pin diagram of 8086 microprocessor The 8086 chip, presented by Intel in 1978, is a critical part in the development of processing innovation. Its pin outline is a basic part of figuring out its design and usefulness. The pin chart gives a visual portrayal of the chip's outer associations and their individual capabilities, including p
8 min read
Pin diagram of 8085 microprocessor The 8085 microprocessor is a popular 8-bit microprocessor developed by Intel. It has 40 pins, each with a specific function for interfacing with memory, input/output devices, and other components.Pin diagram of 8085 microprocessor is shown below: Key Pin Descriptions1. Address Bus and Data BusAddres
5 min read
8086 program to print a String Problem: Write an assembly level program to print a given string . Examples: Input String: "This is a sample string" Output: This is a sample string Input String: "Geeks for Geeks" Output: Geeks for Geeks Explanation: Create a string Load the effective address of the string in dx using LEA command P
1 min read
Types of Flags in 8086 In this article, we will be going through the definition of different flags in 8086. We will talk about the topicâs flag register, types of flags, working principles, construction, and applications of flags in 8086 after looking at their various types. We will also discuss its advantages and disadva
7 min read