AP-113_Getting_Started_With_the_Numeric_Data_Processor_Feb81.pdf

(3881 KB) Pobierz
APPLICATION
NOTE
Ap·113
February 1981
Intel Corporation makes no warranty for the use of its products and assumes no responsibility for any errors which may
appear in this document nor does it make a commitment to update the information contained herein.
Intel software products are copyrighted by and shall remain the property of Intel Corporation. Use, duplication or
disclosure is subjectto restrictions stated in Intel's software license, or as defined in ASPR 7-104.9 (a) (9). Intel Corporation
a!=;sumes no resDonsibilitv for the use of anv circuitry other than circuitry embodied in an Intel product. No other circuit
patent licenses are implied.
No part of this document may be copied or reproduced in any form or by any means without the prior written consent of
Intel Corporation.
The following are trademarks of Intel Corporation and may only be used to identify Intel products:
BXP
CREDIT
i
ICE
ICS
im
Insite
Intel
Intelevision
Intellec
iSBC
iSBX
Library Manager
MCS
Megachassis
Micromap
MULTIBUS*
MULTIMODULE
Plug-A-Bubble
PROMPT
Promware
RMX
UPI
~Scope
System 2000
and the combinations of ICE, iCS, iSBC, MCS or RMX and a numerical suffix.
MDS is an ordering code only and is not used as a product name or trademark. MDS® is a registered trademark of Mohawk
Data Sciences Corporation.
*MULTIBUS is a patented Intel bus.
Additional copies of this manual or other Intel literature may be obtained from:
Intel Corporation
Literature Department SV3-3
3065 Bowers Avenue
Santa Clara, CA 95051
©
INTEL CORPORATION, 1981
AFN-013008-1
Ap·113
Getting Started With
the Numeric Data
Processor
Contents
INTRODUCTION
iAPX
86,88
Base ..............................
Nomenclature ...............................
N PX Overview ...............................
8087
Emulator Overview .......................
iSBC
337
Overview ............................
CONSTRUCTING AN iAPX 86
OR iAPX 88 NUMERICS SYSTEM
1
1
2
3
4
Wiring up the
8087 ............................ 5
What is the iAPX
86,88
Coprocessor interface? .....................
7
8087
Coprocessor Operation ..................
10
RQ/GT Connection ..........................
13
iAPX
86/20, 88/20
............................
13
iAPX
86/21, 88/21
............................
13
iAPX
86/22, 88/22
............................
15
8087
INT Connection .........................
15
GETTING STARTED IN SOFTWARE
How to Initialize the NPX .....................
20
Concurrency Overview ........................
20
Instruction Synchronization ................... 21
Data Synchronization ........................
22
Error Synchronization ........................
23
Deadlock ..................................
24
Synchronization and the Emulator ..............
25
Special Control Instructions of the NPX .........
25
PROGRAMMING TECHNIQUES
Using Numeric Registers and Instructions .......
26
NPX Register Usage .........................
26
Programming Conventions ....................
27
PROGRAMMING EXAMPLES
Appendix
Appendix
Appendix
Appendix
Appendix
A
B
C
D
E
Overview
Overview
Overview
Overview
Overview
........................
........................
........................
........................
........................
28
30
32
44
52
LITERATURE REFERENCE
Title
The
8086
Family User's Manual ...................................... .
The
8086
User's Manual Numerics Supplement ......................... .
Stock No.
205885
205993
Cost
7.50
2.00
3065
Bowers Avenue
SV 3-3
Santa Clara, CA
95051
(408) 734-8102,
Ext.
598
Intel Corporation Assumes no responsiblity for the use of any circuitry embodied in an Intel product. No other circuit patent licenses are implied.
iii
Ap·113
INTRODUCTION
This is an application note on using numerics in Intel's
iAPX 86 or iAPX 88 microprocessor family. The nu-
merics implemented in the family provide instruction
level support for high-precision integer and floating
point data types with arithmetic operations like add,
subtract, multiply, divide, square root, power, log and
trigonometrics. These features are provided by members
of the iAPX 86 or iAPX 88 family called numeric data
processors.
Rather than concentrate on a narrow, specific applica-
tion, the topics covered in this application note were
chosen for generality across many applications. The
goal is to provide sufficient background information so
that software and hardware engineers can quickly move
beyond needs specific to the numeric data processor and
concentrate on the special needs of their application.
The material is structured to allow quick identification
of relevant material without reading all the material
leading up to that point. Everyone should read the in-
troduction to establish terminology and a basic
background.
iAPX 86,88 BASE
One alternative uses a special hardware component, the
8087 numeric processor extension, while the other is
based on software, the 8087 emulator. Both component
and software emulator add the extra numerics data
types and operations to the 8086 or 8088.
The component and its software emulator are com-
pletely compatible.
Nomenclature
Table one shows several possible configurations
of the iAPX 86 and iAPX 88 microprocessor family.
The choice of configuration will be decided by the
needs of the application for cost and performance
in the areas of general data processing, numerics,
and
110
processing. The combination of an 8086 or
8088 with an 8087 is called an iAPX. 86/20 or 88/20
numeric data processor. For applications requir-
ing high I/O bandwidths and numeric perfor-
mance, a combination of 8086, 8087 and 8089 is an
iAPX 86/21 numerics and I/O data processor. The
same system with an 8088 CPU for smaller size
and lower cost, due to the smaller 8-bit wide
system data bus, is referred to as an iAPX 88/21.
Each 8089 in the system is designated in the units
digit of the system designation. The term 86/2X or
88/2X refers to a numeric data processor with any
number of 8089s.
Throughout this _application note, I will use the
terms NDP, numeric data processor, 86/2X, and
88/2X synonymously. Numeric processor exten-
sion and NPX are also synonymous for the func-
tions of either the 8087 component or 8087
emulator. The term numeric instruction or
numeric data type refers to an instruction or data
type made available by the NPX. The term host will
refer to either the 8086 or 8088 microprocessor.
The numeric data processor is based on an 8088 or 8086
microprocessor. The 8086 and 8088 are general purpose
microprocessors, designed for general data processing
applications. General applications need fast, efficient
data movement and program control instructions. Ac-
tual arithmetic on data values is simple in general appli-
cations. The 8086 and 8088 fulfill these needs in a low
cost, effective manner.
However, some applications need more powerful arith-
metic instructions and data types than a general purpose
data processor provides. The real world deals in frac-
tional values and requires arithmetic operations like
square root, sine, and logarithms. Integer data types
and their operations like add, subtract, multiply, and
divide may not meet the needs for accuracy, speed, and
ease of use.
Such functions are not simple or inexpensive. The
general data processor does not provide these features
due to their cost to other less-complex applications that
do not need such features. A special processor is re-
quired,
.....
one which is easy to use and has a high level of
_______
!_
L __ ...lI ________
..1
__
~
Table 1. Components Used in i/APX 86,88
Configurations
System Name
iAPX
iAPX
iAPX
iAPX
iAPX
iAPX
iAPX
iAPX
iAPX
iAPX
iAPX
iAPX
86/10
86/11
~6/12
8086
1
1
1
8087
8088
8089
1
2
... _____ _
~uppun
111 HClfUWCUC: ClHU
~UllWClfC:.
The numeric data processor provides these features.
It
supports the data types and operations needed and
allows use of all the current hardware and software sup-
port for the iAPX 86/10 and 88/10 microprocessors.
The iAPX 86 and iAPX 88 provide two imple-
mentations of a numeric data processor. Each offers
different tradeoffs in performance, memory size, and
cost.
1
86/20
86/21
86/22
88/10
88/11
88/12
88/20
88/21
88/22
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
2
1
2
1
1
1
Zgłoś jeśli naruszono regulamin