Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • DSA
  • Practice Problems
  • C
  • C++
  • Java
  • Python
  • JavaScript
  • Data Science
  • Machine Learning
  • Courses
  • Linux
  • DevOps
  • SQL
  • Web Development
  • System Design
  • Aptitude
  • GfG Premium
Open In App
Next Article:
Data Formats of 8087
Next article icon

Data Formats of 8087

Last Updated : 14 May, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

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.

Next Article
Data Formats of 8087

S

sourabhsahu33
Improve
Article Tags :
  • Technical Scripter
  • Computer Organization & Architecture
  • microprocessor

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
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences