presentation cour microproc2.pptx

Embed Size (px)

Citation preview

  • 7/26/2019 presentation cour microproc2.pptx

    1/33

    1

    Base surla structure VLIW (Very Long Instruction Word)

    Instruction : 4 octets = 32 bits

    PE :Paquet Excutable: groupe dinstructions excutables en//

    pendant un seul cycle.PF : Paquet etc!"or# de $ instructions.

    1P peut contenir 1 PE %si toutes les $ instructions en &&'ou $ PE %pas dinstructions en && '.

    (e ()B dune instruction %p-bit' indique si la proc!aine

    instruction appartient au #*#e PE %si 1' ou non %si +'.

    Paquet de Fetch et dExcution

  • 7/26/2019 presentation cour microproc2.pptx

    2/33

    2

    Exemple 1 : ,nstruction -

    ,nstruction B

    ,nstruction

    ,nstruction /

    ,nstruction E

    ,nstruction

    ,nstruction 0

    ,nstruction

    31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0

    A B C D E F G H

    n P aec 3 PEs le ()B %p-bit' de c!aque inst :

    1 0 1 1 0 1 1 0

    Paquet de Fetch et dExcution

  • 7/26/2019 presentation cour microproc2.pptx

    3/33

    3

    Paquet de Fetch et dExcution

    Exemple 2 :

  • 7/26/2019 presentation cour microproc2.pptx

    4/33

    4

    Paquet de Fetch et dExcution

    Exemple3 :

    Exemple 4 :

  • 7/26/2019 presentation cour microproc2.pptx

    5/33

    Pipeline

    tapes dextraction du Programme(etc!" PF#

    P$0nration

    dadresse

    /ans le P

    P%rans#ission de

    ladresse

    %5 la ##oire'

    PW-ttente acc6s

    ##oire

    P&7ception et lecture

    du P

    %au P'

    P$ P% PW P& 'P ' E1 E) E* E+ E, E-

    etc! /ecode Execute

    5

  • 7/26/2019 presentation cour microproc2.pptx

    6/33

    Pipeline

    Jusqu 6 cycles et toutdpend delinstruction !!

    tape du d.codage

    dinstruction ('#

    'P7partition des

    instructions dun P sous

    "or#e de PE

    '/codage des PEs

    tape dex.cution(E#

    E1courtes inst %-//8

    )B8 -9/8 78

    ;78 etc

  • 7/26/2019 presentation cour microproc2.pptx

    7/33

    7

    Considrons les 3 exemples suivants :

    Pipeline

    MVK "

    MVK "

    #$$ %"

    #$$ %"

    M&'

    M"M&'

    M"

    %$(

    $"

    %$)

    MVK "

    ** MVK 2

    #$$ %"

    ** #$$ %2

    ** M&' M"

    M&'M"

    ** %$(

    $"

    ** %$)

    $2

    Srie Parallle partielle

    MVK"

    ** MVK

    2

    **

    #$$ %"

    **

    #$$ %2

    **

    M&' M"

    **

    Parallle totale

    1 cycle1 cycle1 cycle

    2 cycles

    ? cycles? cycles

  • 7/26/2019 presentation cour microproc2.pptx

    8/33

    8

    erexemple : Excution en srie

    Pipeline

    &+ & &( &, $& $- E" E2 E3 E4 E. E6

    &ro/r0m 1etc $ecode Execute $one

    -ycle "

    MVK

    MVK#$$#$$M&'

    M&'%$(%$)

    MVK "

    MVK "#$$ %"

    #$$ %"

    M&'

    M"

    M&'M"

    %$(

    $"

    %$)

    $"

  • 7/26/2019 presentation cour microproc2.pptx

    9/33

    !

    Pipeline

    &ro/r0m 1etc $ecode Execute $one

    -ycle 2

    MVK

    MVK#$$#$$M&'

    M&'%$(%$)

    1&2

    &+ & &( &, $& $- E" E2 E3 E4 E. E6

    MVK "

    MVK "

    #$$ %"#$$ %"

    M&'

    M"

    M&'

    M"%$(

    $"

    %$)

    $"

  • 7/26/2019 presentation cour microproc2.pptx

    10/33

    "

    &ro/r0m 1etc $ecode Execute $one

    -ycle 3

    MVK

    MVK#$$#$$M&'

    M&'%$(%$)

    1&21&3

    &+ & &( &, $& $- E" E2 E3 E4 E. E6

    Pipeline

    MVK "

    MVK "

    #$$ %"

    #$$ %"

    M&'

    M"

    M&'

    M"

    %$($"

    %$)

    $"

  • 7/26/2019 presentation cour microproc2.pptx

    11/33

    Pipeline

    &+ & &( &, $& $- E" E2 E3 E4 E. E6

    &ro/r0m 1etc $ecode Execute $one

    -ycle 4

    MVK

    MVK#$$#$$M&'

    M&'%$(%$)

    MVK "

    MVK "#$$ %"

    #$$ %"

    M&'

    M"

    M&'M"

    %$(

    $"

    %$)

    $"

  • 7/26/2019 presentation cour microproc2.pptx

    12/33

    #

    $n seul PE par c%cle entre dans le pipeline en arrivant & ltape'C (Decode) :

    Pipeline

    -ycle .

    PF 'P ' E1 E) E* E+ E, E-

    &1 $ecode Execute $one

    MVKMVK

    #$$

    #$$M&'

    M&'%$(%$)

    &12

    MVK "

    MVK "#$$ %"

    #$$ %"

    M&'

    M"

    M&'M"

    %$(

    $"

    %$)

    $"

  • 7/26/2019 presentation cour microproc2.pptx

    13/33

    3

    -ycle 6 &1 $ecode Execute $one

    MVKMVK

    +

    #$$#$$M&'

    M&'%$(%$)

    &12

    Pipeline

    PF DP DC E1 E2 E3 E4 E5 E6

  • 7/26/2019 presentation cour microproc2.pptx

    14/33

    *

    -ycle &1 $ecode Execute $one

    MVK MVK#$$#$$M&'

    M&'%$(%$)

    &12

    Pipeline

    PF DP DC E1 E2 E3 E4 E5 E6

  • 7/26/2019 presentation cour microproc2.pptx

    15/33

    5

    -ycle 5 &1 $ecode Execute $one

    Pipeline

    MVK

    #$$M&'

    M&'%$(%$)

    &12#$$

    PF DP DC E1 E2 E3 E4 E5 E6

    MVK

  • 7/26/2019 presentation cour microproc2.pptx

    16/33

    6

    -ycle &1 $ecode Execute $one

    #$$M&'

    M&'%$(%$)

    &12#$$

    MVK

    MVK

    PF DP DC E1 E2 E3 E4 E5 E6

    Pipeline

  • 7/26/2019 presentation cour microproc2.pptx

    17/33

    Mmoire interne

    7

    7ntern0l

    ,#M or-0ce8%29

    -ore

    &ro/r0m-0ce8%"&9

    $0t0-0ce

    8%"$9

    EM71

    %"%eel 2

    %eel 3

  • 7/26/2019 presentation cour microproc2.pptx

    18/33

    Mmoire interne

    8

    CP$ chercheune donne

    +a donnedans + ,

    +a donnedans +# ,

    Copier la donnede la mmoireexterne vers +#

    Copier la donnede +# vers +

    Envo%er ladonne vers

    Core

    -on

    .ui.ui

    -on

  • 7/26/2019 presentation cour microproc2.pptx

    19/33

    Mmoire cache L1

    L1P :(e @x contient une ##oire cac!e progra##e de *) itsde busdadresses et de ),- its%bus de donnes'.

    2ot. 3ue :1 P = $ instructions = $ A 32 bits = 2?@ bits

    L1' :(e @4x contient une ##oire cac!e de donnes de -+ its%busde donnes' et de *) its%bus dadresses'.&emar3ue :(e @2x et le @x contiennent 32 bits de bus de donnes.

    !

    (1P

    %1@Co'

    (1/

    %1@Co'

    /)P

    @4

  • 7/26/2019 presentation cour microproc2.pptx

    20/33

    #"

    1

    4rit!m.ti3ue

    4''(5#4'')4''+%56(5#%56)%56+

    4ddition enti7re *)/+0 its sign.e (non sign.e#) additions enti7res 1- its+ additions enti7res 8 its%oustraction enti7re *)/+0 its sign.e (non sign.e#) soustractions enti7res 1- its+ soustractions enti7res 8 its

    /eu dinstructions

    ;< decyclesdexcutio

    n

  • 7/26/2019 presentation cour microproc2.pptx

    21/33

    #

    1

    4rit!m.ti3ue

    4''(5#4'')4''+%56(5#%56)%56+

    4ddition enti7re *)/+0 its sign.e (non sign.e#) additions enti7res 1- its+ additions enti7res 8 its%oustraction enti7re *)/+0 its sign.e (non sign.e#) soustractions enti7res 1- its+ soustractions enti7res 8 its

    /eu dinstructions

    ;< decyclesdexcutio

    n

  • 7/26/2019 presentation cour microproc2.pptx

    22/33

    ##

    /eu dinstructions

    )

    +

    9ultiplication enti7res

    9P9P;9PL;9P;L9P5+9P%5+

    9P5%+

    1- L%6 sign.s x 1- L%6 sign.s

  • 7/26/2019 presentation cour microproc2.pptx

    23/33

    #3

    /eu dinstructions

    )

    +

    9ultiplication enti7res

    9P9P;9PL;9P;L9P5+9P%5+

    9P5%+

    1- L%6 sign.s x 1- L%6 sign.s

  • 7/26/2019 presentation cour microproc2.pptx

    24/33

    #*

    /eu dinstructions

    111

    4ectation9V9V>9V>;

    ?rans7re dun registre ers un autre registre?rans7re une constante 1- its L%6 sign.e ers un registre?rans7re une constante 1- its 9%6 sign.e ers le 9%6

    dun registre

    1'.calage%;L%;&)%%;L%;L96%;&96

    '.calage gauc!e *)/+0 its'.calage droit 1- its sign.'.calage gauc!e *)/+0 its aec saturation'.calage gauc!e et arrangement en octet'.calage droit et arrangement en octet

    -6ranc!ement6 6ranc!ement conditionnel

    ,1

    4cc7s m.moireL'(6/;/W/'W#(5#%?(6/;/W/'W#(5#

    !argement (octet" demi mot" mot") mots# sign. (non sign.#%toc@age (octet" demi mot" mot" ) mots# sign. (non sign.#

    ;< decycles

    dexcution

  • 7/26/2019 presentation cour microproc2.pptx

    25/33

    #5

    AL A9 A% A'-B)

    -B)2

    -//%'

    -//2

    -//4

    -9/D

    7

    )(B

    )7B

    )B%'

    )B2)B4

    ;7

  • 7/26/2019 presentation cour microproc2.pptx

    26/33

    #6

    Modes dadressages

    +adressa0e le plus utilis est le mode linaireindirect1

    2upposant que est un re0istre dadresse :

    =, :+e re0istre pointe sur une adresse mmoire1 =,>>8d9 : +e re0istre contient une adresse mmoire en

    plus il % aura une post4incrmentation c1&1d aprs une lecture

    va sauto incrmenter par une valeur (d) qui est par

    daut1

    =>>,8d9 : me chose que le cas prcdent mais

    maintenant une pr4incrmentation1

    =>,8d9 : +adresse est pr4incrmente de tel sorte que

  • 7/26/2019 presentation cour microproc2.pptx

    27/33

    #7

    Syntaxe des instructions

  • 7/26/2019 presentation cour microproc2.pptx

    28/33

    #8

    Syntaxe des instructions

    +oad = 2tore :+'B 1'# ?#99 ?7 +'B 1'

  • 7/26/2019 presentation cour microproc2.pptx

    29/33

    #!

    Syntaxe des instructions?ranchement = ove :

    NO 12 "x#"

  • 7/26/2019 presentation cour microproc2.pptx

    30/33

    3"

    Contraintes

    Contrainte chemin crois :+e code suivant est valide:

  • 7/26/2019 presentation cour microproc2.pptx

    31/33

    3

    Contraintes

    Contrainte stoc>a0e=char0ement :+es re0istres adresses utiliss doivent tre du mme chemin quelunit 1' :

    +e code suivant est valide : +'H 1'

  • 7/26/2019 presentation cour microproc2.pptx

    32/33

    3#

    Contraintes

    +e code suivant est valide: +'H 1'

  • 7/26/2019 presentation cour microproc2.pptx

    33/33

    FL- Chapitre

    33