coprocessor altered

Upload: chandanayadav8490

Post on 25-Feb-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Coprocessor Altered

    1/42

    1

    Multimicroprocessor systems

    As we all know a single processor system has an upper limit of its

    processing capability.

    A system having two microprocessor will require only lesser time to

    complete the task.

    The study of a system, involving several connected microprocessors, usinga certain topology to further enhance the speed of operation is called

    Multimicroprocessor Architecture.

    Multimicroprocessor system consist of

    CPU umeric !ata Processor " !P # Or / And

    $nput % &utput processor " $&P #

  • 7/25/2019 Coprocessor Altered

    2/42

    '

    Numeric Data Processor :

    $n(epen(ent Processing Unit.

    Perform complicate( numeric calculation in comparatively less time.

    )orks in coherence with the main processor.

    Input / Output Processor :

    *ake care of $%& activities of the system.

  • 7/25/2019 Coprocessor Altered

    3/42

    +

    Coprocessor

    A computer processor use( to supplement the function of primary processor.

    ,irst seen on mainframe computers.

    Accelerate the system performance.

    &peration performe( -

    ,loating point arithmetic raphic / 0ignal processing. 0tring processing. ncryption

    *hey are Unable to fetch the co(e from the memory so they work un(er thecontrol of main processor .

    2oth microprocessor an( coprocessor can e3ecute their respectiveinstructions simultaneously an( concurrently.

  • 7/25/2019 Coprocessor Altered

    4/42

    4

    $ntel 56+57 CPU w % 56+58 Math Coprocessor

  • 7/25/2019 Coprocessor Altered

    5/42

    9

    Architecture of 8087

  • 7/25/2019 Coprocessor Altered

    6/42

    7

    Intel 8087

    NumericProcessor.

    Packe( in 0 pin ceramic DIP pac!a"e.

    Available in # M$%: 5M;

  • 7/25/2019 Coprocessor Altered

    7/42

    8

    Architecture of 8087

  • 7/25/2019 Coprocessor Altered

    8/42

    5

    *wo ma=or sections-1# Control unit

    '# umeric 3ecution unit

    Control Unit -

    Function :

    It interface the coprocessor to the microprocessor

    system data bus.

    Monitors the instruction stream.

    If the instruction is an ESape !coprocessor"

    instruction, the coprocessor e#ecutes it$ if not the

    microprocessor e#ecutes it.

    It receives , decodes instructions, read and %rite

    memory operands and e#ecutes the &'&( instruction.

  • 7/25/2019 Coprocessor Altered

    9/42

    >

    umeric 3ecution Unit"U#

    Functions :

    E#ecute all the numeric processor instructions.

    It has & register !&' bit"stac) that holds the operands for arithmetic

    instructions * the result.

    Instruction either address data in specific stac) data register oruses push and pop mechanism to store and retrieve data.

    +rogrammable shifter :

    esponsible for shifting the operands during the e#ecution of

    instruction li)e FM- and F/I0.

  • 7/25/2019 Coprocessor Altered

    10/42

    16

    Microco(e control unit -

    It generates the control signals re1uired for the e#ecution ofinstruction.

    The internal data bus is &2 bits %ide including 3& bit

    fraction, 45 bit e#ponent and a sign bit.

  • 7/25/2019 Coprocessor Altered

    11/42

    11

    (tatus 'ord of 8087

  • 7/25/2019 Coprocessor Altered

    12/42

    1'

    1# 2 ? busy bit Indicates the coprocessor is busy in e#ecuting a tas).

    6" 78 ' !ondition code bits" Indicates the condition of the coprocessor.

    7" T9+ ! Top8of8stac) !ST"" Indicates the current register addressed as the top8of8thestac) !ST". ormally register '.

    2" ES error summary ;it is set if any unmas)ed error bit !+E,-E,9E,

  • 7/25/2019 Coprocessor Altered

    13/42

    1+

    7# U ? Un(erflow rror Indicates a non =ero result that is too small to represent

    %ith the current precision selected.

    8# & ? &verflow rror Indicates a result is too large to be represented.

    5#@ ? @ero rror

    Indicates the divisor %as =ero %hile the dividend is a non8infinity or non =ero number.

    ># ! ? !enormali

  • 7/25/2019 Coprocessor Altered

    14/42

    14

    )ontrol *ord +e"ister of 8087

  • 7/25/2019 Coprocessor Altered

    15/42

    19

    Control register

    ,!C)? instruction which is use( to loa( a value into the

    control register.

    1# $C ? $nfinity Control

    0elects either affine " allows positive an( negative infinity#or pro=ective "assumes infinity is unsigne(#

    '# BC ? Boun(ing Control

    !etermines the type of roun(ing.

    6 6 roun( to nearest even.

    61 roun( (own towar(s minus infinity.

    16 roun( up towar(s plus infinity.

    11 chop or truncate towar( @ero.

  • 7/25/2019 Coprocessor Altered

    16/42

    17

    +# PC ? Precision Control 0ets the precision of the result.

    66 D 0ingle precision "short#

    61 D Beserve(

    16 D !ouble ? precision "long#

    11 D 3ten(e( precision "temporary#

    4# 3ception Masks !etermine whether the error in(icate( by the e3ception

    affects the error bit in the status flag.

    9# @ero !ivi(e

    $f any non

  • 7/25/2019 Coprocessor Altered

    17/42

    18

    0ignal !escription of 5658

  • 7/25/2019 Coprocessor Altered

    18/42

    15

    Pin Dia"ram of 8087

  • 7/25/2019 Coprocessor Altered

    19/42

    1>

    1# A!6 A!19 -

    *hese are time multiple3e( a((ress % (ata lines.

    ines carry a((ress (uring *1an( (ata (uring *'*+*w/*4

    states.

    '# A1>%07? A17%0+ -

    *hese are time multiple3e( a((ress% status lines.

    *hese function in a similar way to the correspon(ing pinsof 5657.

    07:04 / 0+ are permanently high: while the 09 is

    permanently low.

    +# 2; % 08 -

    !uring t1 the 2; % 08 pin is use( to enable (ata on to the

    higher byte of the 5657 (ata bus.

    !uring *' :*+: *w an( *4 this is a status line 08.

  • 7/25/2019 Coprocessor Altered

    20/42

    '6

    4# Es1 : Es6 -

    Es1 : Es6 are queue status input signals.

    *hese enable 5658 to keep track of the instruction prefetch

    queue status of the CPU: to maintain synchronism with it.

    Es1 Es6 Eueue 0tatus

    6 6 o operation.

    6 1 ,irst byte of opco(e from queue

    1 6 mpty Eueue

    1 1 0ubsequent byte from queue.

  • 7/25/2019 Coprocessor Altered

    21/42

    '1

    9# $*

    Use( to in(icate that an unmaske( e3ception has been

    receive( (uring e3ecution. *his is usually han(le( by 5'9>A.

    7# 2U0F

    $t will be set when 5658 is busy with the e3ecution of anallotte( instruction.

    8# BA!F

    Use( to inform the coprocessor that the a((ress (evice willcomplete the (ata transfer from its si(e an( the bus is likely to befree for the ne3t bus cycle.

    Usually this is synchroni

  • 7/25/2019 Coprocessor Altered

    22/42

    ''

    5# B0* Use( to aban(on the internal activities of the coprocessor

    an( prepare it for further e3ecution.

    ># CG

    $t provi(e the basic timing for the processor operation.

    16# HCC

    A I9H supply

    11# ! A return line for the power supply.

  • 7/25/2019 Coprocessor Altered

    23/42

    '+

    s' 01 06 Eueue status

    6 J J unuse(

    1 6 6 Unuse(

    1 6 1 Memory rea(

    1 1 6 Memory write

    1 1 1 passive

    ,- (-(,and (0*hese can be either be 5658 (riven "output# or

    e3ternally (riven "input# by the CPU

  • 7/25/2019 Coprocessor Altered

    24/42

    '4

    1+# BE % *6*he request % grant pin is use( to gain control of the bus from

    the host "5657% 5655# for operan( transfer.

    An active low pulse of one clock (uration is generate( by

    5658 for the host to inform it that it wants to gain control of

    the local bus either for itself or for other coprocessor

    connecte( to BE% *1 pin of 5658.

    *he 5658 waits for the grant pulse from the host.

    )hen it is receive(: it either initiates a bus cycle if the

    request is for itself or else: it passes the grant pulse toB%*1: if the request is for the other coprocessor.

  • 7/25/2019 Coprocessor Altered

    25/42

    '9

    14# BE % *12i(irectionalpin

    Use( by other bus masters to convey their nee( of the local

    bus access to 5658.

  • 7/25/2019 Coprocessor Altered

    26/42

    '7

    $nterconnections of 5658 with 5657% 5655

  • 7/25/2019 Coprocessor Altered

    27/42

    '8

    $nterface of 5658 with 56157 % 56155

  • 7/25/2019 Coprocessor Altered

    28/42

    '5

    $nterconnection of 5658 with CPU -

    &'&( can be connected %ith &'&3 ?&'4&& only in their ma#imum

    mode of operation, ie only %hen the M? M# pin of +- isgrounded.

    In ma#imum mode all the control signals are derived using aseparate chip )no%n as a bus controller.

    For &'&3 and &'4&&? &'4&3 the compactable bus controller are&6&&and &64&& respectively.

    The busy pinof &'&( is connected %ith the TEST pin of the +-.

    In &'&3?&'&& the @S' *@S4 lines may be directly connected tothe corresponding pins.

    &65> 8 +rogrammable interrupt controller

  • 7/25/2019 Coprocessor Altered

    29/42

    '>

    In &'4&3 ? &'4&& systems these @S'and @S4lines are passed to

    the +- through the bus controller.

    In case of &'&3 ? &'&& based system the BE% *6 of &'&( may beconnected to BE % *1 of &'&3? &'&&.

    The cloc) pinof &'&( may be connected %ith the +- &'&3? &'&&

    cloc) input.

    The interrupt outputof &'&( is routed to &'&3?&'&& via a

    programmable interrupt controller.

    The pinsA/' A/45 ,ESET , A4>?S3 8 A43?S7, ;BE ? S( areconnected to the corresponding pin of &'&3?&'&&.

    In case of &'4&3? &'4&& system the @? CT lines of &'&( are

    connected %ith the corresponding @ ? CT lines of &64&&.

  • 7/25/2019 Coprocessor Altered

    30/42

    +6

    $nstruction set of 5658

    *he e3ecution of 5658 instruction is transparent to the

    programmer.

    *he instructions are fetche( by 5657 but are e3ecute( by

    5658.

    )henever the 5657 comes across 5658 instruction: it

    e3ecutes the 0CAP instruction co(e to pass over the

    instruction opco(e an( control of the local bus to 5658.

    After e3ecution the result is referre( back.

  • 7/25/2019 Coprocessor Altered

    31/42

    +1

    )ate"ori%ation of Instruction set

    1. !ata transfer $nstructions.

    '. Arithmetic $nstructions

    +. Comparison $nstructions4. *ranscen(ental &perations

    9. Constant &perations.

    7. Coprocessor Control &perations

  • 7/25/2019 Coprocessor Altered

    32/42

    +'

    1# !ata *ransfer $nstruction

    !epen(ing on the (ata type han(le( these are further

    groupe( intoThree - ,loating point !ata *ransfer

    $nteger !ata *ransfer

    2C! !ata *ransfer

    ,loating Point !ata *ransfer

    1. ,! "oa( real to top of 0tack#

    *his instruction loa(s a real operan( to the top of stack of

    the 56 bit register.

    ,! 0* "8# K 0tack top LBeg 8

    ,! MM K 0tack *opLMM

  • 7/25/2019 Coprocessor Altered

    33/42

    ++

    '# ,0* "0tore *op of the &peran( # *his instruction stores current content of the top of

    stack register to the specifie( operan(.

    ,0* 0*"8# K 0tack topL 0* "8#

    ,0* MM K stack *opLMM

    +# ,JC; "e3change with *op of 0tack# *his instruction e3changes the content of the top of

    stack with the specifie( operan( register.

    ,JC; 0* "7# K stack top0* "7#

    $nteger (ata transfer $nstruction -

    1# ,$! "oa( integer to stack top# *his instruction loa(s the specifie( integer (ata

    operan( to the top of stack.

    ,$! 0*"9# K stack *op0* "9#

  • 7/25/2019 Coprocessor Altered

    34/42

    +4

    '# ,$0*%,$0*P

    *he instruction work in e3act similar manner as ,0*%

    ,0*P e3cept the fact that the operan( are integer

    operan(.

    2C! !ata *ransfer $nstructions - ,2! / ,20*P

    2oth work in an e3actly similar manner as ,! an( ,0*P e3ceptfor the operan( type 2C!

  • 7/25/2019 Coprocessor Altered

    35/42

    +9

    Arithmetic $nstructions

    1. ,A!!

    '. ,0U2

    +. MU4. ,!$H

    9. ,0EB*

    7. ,A20

  • 7/25/2019 Coprocessor Altered

    36/42

    +7

    *ranscen(ental $nstructions

    *he operan( usually are 0*"6# an( 0*"1# or only 0*"6#

    ,P*A -

    $nstruction calculates the tangent of an angle N&O: where N&O: mustbe in range from 6Q N&O >66 R 0*%0*"1# S

    *he value of N&O must be store( at the stack top.

    ,PA*A -

    $nstruction calculates the inverse tangent

    *he result is store( on the top of the stack.

    *he content of 0* an( 0*"1# shoul( follow the inequality.

    6Q0*"1# 0* infinity

    ,'JM$ - $nstruction calculates the e3pression "'3 1#

    Halue of 3 is store( at the top of the stack.

    Besult is store( back at the top of the stack.

  • 7/25/2019 Coprocessor Altered

    37/42

    +8

    ,F'J

    $t calculate 0*"1# T og' " 0*#

    Besult is store( back at the top of stack.

    0* must be in the range of 6 to Iinfinity.

    0*"1# must be in the range of infinity toIinfinity.

    ,F'JP1

    $t calculate 0*"1# T log'L "0*#I1

    Besult is store( back on the stack top.

    0* must lie between 6 an( "1 '1%' %'#.

    Halue of 0*"1# must lie between?infinity an( I infinity

  • 7/25/2019 Coprocessor Altered

    38/42

    +5

    Comparison $nstruction

    All the comparison instructions compare the operan(s an( mo(ify the

    con(ition co(e flags

    Comparison C+ C6

    0tack *op D 0ource

    6 6

    0tack *op 0ource 6 1

    0tack *op Q 0ource 1 6

    ot Comparable 1 1

  • 7/25/2019 Coprocessor Altered

    39/42

    +>

    1. ,C&M *he content of the top of stack is compare( either with the

    content of a memory location or with the content of another

    stack register.

    '. ,$0* $nstruction test if the content of the stack top is @ero.

  • 7/25/2019 Coprocessor Altered

    40/42

    46

    Constant Beturning $nstruction

    1. ,!@ oa( I6.6 to stack top

    '. ,!P$ oa( pi"+.14# o stack top

    +. ,!' oa( the constant og16 ' to the stack pointer.

  • 7/25/2019 Coprocessor Altered

    41/42

    41

    Coprocessor Control $nstruction

    $. ,$$*$$. ,$

    $$$. ,!$0$

    $H. ,!C)H. ,0*0)

    H$. ,CJ

    H$$. ,,BH$$$. ,&P

    $J. ,)A$*

  • 7/25/2019 Coprocessor Altered

    42/42