Presentation is loading. Please wait.

Presentation is loading. Please wait.

Subject Name: Microprocessors Subject Code:10EC46 Department: Electronics and Communication Date:30-3-2015 11/21/2018.

Similar presentations


Presentation on theme: "Subject Name: Microprocessors Subject Code:10EC46 Department: Electronics and Communication Date:30-3-2015 11/21/2018."— Presentation transcript:

1 Subject Name: Microprocessors Subject Code:10EC46 Department: Electronics and Communication Date: 11/21/2018

2 UNIT: 6 8086 BASED MULTIPROCESSSING SYSTEMS

3 Contents Coprocessor configurations. The 8087 numeric data processor
Data types Processor architecture Instruction set

4 8087 Numeric Co-processor Need for a numeric co-processor
It is possible to perform any calculations using only 8086. But if speed becomes important, it is necessary to use the dedicated Numeric co-processor Intel 8087, to speed up the matters. It typically provides a 100 fold speed increase for floating point operations. A numeric co-processor is also variously termed as arithmetic co-processor, math co-processor, numeric processor extension, numeric data processor, floating point processor etc.

5 8087 Pin diagram

6 Description of 8087 pins INT
This is an active high output pin. The 8087 activates this pin whenever an exception occurs during 8087 instruction execution, provided the 8087 interrupt system is enabled and the relevant exceptions is not masked using the 8087 control register. The INT output of 8087 is connected directly to NMI or INTR input of 8086. Alternatively, INT output of 8087 is connected to an interrupt request input of 8259 Interrupt controller, which in turn interrupts the 8086 on its INTR input.

7 BUSY Suppose the 8086 is used in maximum mode and is required to wait for some result from the coprocessor 087 before proceeding with the next instruction. Then we can make the 8086 execute the WAIT hen the 8086 enters an idle state, where it is not performing any processing. The 8086 will stay in this idle state till TEST* input of 8086 is made 0 by the co-processor, indicating that the co-processor has finished its computation. When the 8087 is busy executing an arithmetic instruction, its BUSY output line will be in the 1 state. This pin is connected to TEST*pin of 8086. Thus when the BUSY pin is made 0 by the 8087 after the completion of execution of an arithmetic instruction, the 8086 will carry on with the next instruction after the WAIT instruction.

8 Internal Structure of the 80X87

9 8087 Data Types The 8087 always works on 80 bit data internally. This 80 bit floating point format is termed as Temporary Real format. However, it can read from memory a number, which is represented using any of the following data types. Signed integers of size 16, 32 or 64 bits b. 18 digit signed integer packed BCD number using 80 bits c. Floating point numbers using 32, 64, or 80 bits

10 1. Integer Data Types

11 2. Packed BCD type 3. 32 Bit Short real Short real (Single precision)

12 Example

13 bit Long Real

14 Example bit Long Real

15 Temporary real

16 8087 Data types in a nut shell

17 Architecture-Interconnection of 8087 with 8086/88

18 Control Register of 8087 The contents of the control register, generally referred to as the Control word, direct the working of the 8087. A common way of loading the control register from a memory location is by executing the instruction ‘FLDCW src’, where ‘src’ is the address of a memory location. FLDCW stands for ‘Load Control Word’. For example, FLDCW [BX] instruction loads the control register of 8087 with the contents of the memory location whose 16 bit effective address is provided in BX register.

19 Cont… Precision control bits

20 Status register of 8087 The status register is 16 bits wide. The contents of the status register, generally referred to as the Status word, indicates the status of the 8087. The bit description of the status register is shown below.

21

22 Exception Pointer of 8087

23 Tag register of 8087 The Tag register is 16 bits wide. The contents of the Tag register indicates the status of each of the 80 bit registers of the 8087 The Tag register is loaded with a new value, when one of FINIT, FLDENV, or FRSTOR instructions are executed

24 Cont… Tag bits indicate the status of a stack register as shown below
The Tag word is not normally used in programs. However it can be used to quickly interpret the contents of a floating point register, without the need for extensive decoding.

25 1. Data transfer instructions 2. Arithmetic instructions
8087 Instruction Set The instruction set of 8087 starts with F, stands for floating point. The instruction of 8087 numeric data processor can be classified into following six groups: 1. Data transfer instructions 2. Arithmetic instructions 3. Compare Instructions 4. Transcendental instructions 5. Load constant instructions 6. Processor control instructions

26 1. Data Transfer Instructions

27 Integer transfers

28 Packed Decimal Transfer

29 Arithmetic Instructions

30 Cont..

31 Cont…

32 Cont…

33 Cont…

34 Cont…

35 Compare Instructions These instructions compare the contents of ST with contents of specified or default source. The source may be another stack element or real number in memory. Such compare instructions set the condition code bits C3, C2 and C0 of the status words use as shown in the table below.

36 Cont…

37 4. Transcendental Instructions (Trigonometric and Exponential Instructions )

38 5. Load constant Instructions

39 6. Processor Control Instructions

40 Cont….

41 Thank you


Download ppt "Subject Name: Microprocessors Subject Code:10EC46 Department: Electronics and Communication Date:30-3-2015 11/21/2018."

Similar presentations


Ads by Google