Single Cycle and Pipeline Processors

Embed Size (px)

Citation preview

  • 7/31/2019 Single Cycle and Pipeline Processors

    1/46

    !

    !

    !

    !

    !

    !"#$%&'()*%&'+#,'-".&%"#&'-/0*&110/!

    !"#$%&'()%*+%,%-./01234%546789:729.8%

    %

    %

    %

    %

    !

    !

    %

    %

    %

    "#$%!&$'()$'*!+$,)-!.$%-$-*!/012130!451-1-61!

    78$(3')(18!7-9)-$$')-9!:$;1'32$-3!

    -),$'?)3%!

    @;')8!AB*!CDAC!

  • 7/31/2019 Single Cycle and Pipeline Processors

    2/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!C!

    "#$%&!'(!)'*+&*+,!

    "#$%&!'(!-./01&,!22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222!3!

    4*+1'506+.'*!222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222!7!

    8&,./*!222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222!9!

    !"#$%&"'()%$*+*$,-*#.&'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'01!

    23#$4'2#5.-%"',.6'7,*.'!"#$%&"'/////////////////////////////////////////////////////////////////////////////////////////////////////////'01!

    753-*)3%8%"'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'00 !

    (9*+-':*;9-'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'00!

    !"#;",

  • 7/31/2019 Single Cycle and Pipeline Processors

    3/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!I!

    ">.,'!///////// ////////// ///////// ////////// ////////// ///////// ////////// ////////// ///////// ////////// ///////// ////////// ///////// ////////// ////////// ///////// //!0A!

    @.6:!BCC':#6>'!////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////!0D !

    )'*+1'%!>6;&?&!2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222!(*.;3%'2?$3%'/////////////////////////////////// /////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////'@@!

    E3>#C#F':!G.H'[email protected]:!BCC':#6>'IB$!2.,>!26>7-!//////////////////////////////////////////////////////////////////!11 !

    (.$>,.&&',!////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////!11!

    J,6:#*6>#$%!>7'!(.C=#$6>.,#6&[email protected]!/////////////////////////////////////////////////////////////////////////////////////////!11 !

    !*)%3*.%'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'@@ !

    ?'C':#6>'[email protected]:I"6H'!K6>6!L6F6,:!//////////////////////////////////////////////////////////////////////////////////////////!11 !

    ?'C.H#$%!>7'!">6&&!M.,!5,6$*7N!5,6$*7!"

  • 7/31/2019 Single Cycle and Pipeline Processors

    4/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!P!

    V8%$5-%UF,-,'7%

  • 7/31/2019 Single Cycle and Pipeline Processors

    5/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!H!

    "#$%&!'(!-./01&,!

    !

    "#$%&'!()!*+,-./+0!+1!2#0$3'!*453'!67+-8!.09!:#-'3#0'!6;+

    !

    "#$%&'!D)!EA"+&,.)!:&+5'//+&!;+I!J#.$&.,!=========================================================================!(K!

    !

    "#$%&'!L)!2#0$3'!*453'!J.

  • 7/31/2019 Single Cycle and Pipeline Processors

    6/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!Q!

    4*+1'506+.'*!

    @!2)('#;'#($??#'!)?!1-!)-3$9'13$6!()'(5)3!R0)(0!$S$(53$?!(#221-6?!5?$6!)-!(#2;53$'?!1-6!

    #30$'!(#2;5313)#-18!6$,)($?T!U0)?!'$;#'3!(#,$'?!30$!6$?)9-!1-6!)2;8$2$-313)#-!#V!1!?)-98$!

    (%(8$!1-6!;);$8)-$!;'#($??#'T!U0$!;'#($??#'!R1?!6$?)9-$6!5?)-9!W$')8#9!(#6$!30'#590!X)8)-S!

    AITP!?#V3R1'$!1?!R$88!1?!M81-!@0$16!?#V3R1'$!V#'!V8##'!;81-!6$?)9-T!U0$!;'#($??#'!01?!Y$$-!

    )2;8$2$-3$6!#-!1!L;1'31-I7GX/ILHDD7GZ4ICD!Y#1'6!3#!$-?5'$!;'#;$'!V5-(3)#-18)3%T!

    U0$!;'#($??#'!R1?!6$?)9-$6!R)30!5?)-9! 1! .FL/! 1'(0)3$(35'$*!2)2)(=)-9! 1!&FML! ;'#($??#'!

    [Y53!$S3'$2$8%!?)2;8)V)$6*!65$!3#!30$!$S3$-?),$8%!'$65($6!)-?3'5(3)#-!?$3\T!J0$-!?;$1=)-9!

    #V!?)-98$!(%(8$! )3! )?!)2;8)$6!3013! #-$! (8#(=!(%(8$! )?!5?$6! 3#!$S$(53$! $1(0! )-?3'5(3)#-T! U0$!

    ;'#($??#'! )-(856$6! )-! 30)?! '$;#'3! (#-?)?3?! #V! V),$! 21)-! ?319$?]! F-?3'5(3)#-! Z$3(0! [FZ\*!

    F-?3'5(3)#-!:$(#6$![F:\*!7S$(53)#-![7X7\*!:131!&$2#'%![:&\!1-6!J')3$!K1(=![JK\!N!188!#V!

    R0)(0!1'$!53)8)^$6!)-!#-$!(%(8$!V#'!#-$!)-?3'5(3)#-T!!

    U0$!;'#($??#'!6$?)9-!5?$?!1!AQGY)3! )-?3'5(3)#-!2$2#'%!1?!R$88!1?! H!)-3$'-18!'$9)?3$'?T!U0$!

    :131!&$2#'%!0#86?!_GY)3!6131!1-6!30$!;'#($??#'!5?$?!1-!_GY)3!)-;53`#53;53T!U0$!6$?)9-!#V!

    30$!;'#($??#'!R1?!6#-$!R)30!AH!)-?3'5(3)#-?!)-!2)-6T!!

    @8?#!)-(856$6! )-! 30)?! '$;#'3! )?! 30$!6$?)9-!#V!1! ;);$8)-$! ;'#($??#'T! U0$!;);$8)-$! ;'#($??#'!

    5?$?!30$!?12$!V),$!?319$?*!0#R$,$'*!)3!01?!)-3$'2$6)13$!'$9)?3$'?!)-!Y$3R$$-!30$!?319$?T!!

    !

    "#$%&'!()!*+,-./+0!+1!2#0$3'!*453'!67+-8!.09!:#-'3#0'!6;+

  • 7/31/2019 Single Cycle and Pipeline Processors

    7/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!a!

    U0$!Y1?)?!#V! 30$!;);$8)-$!;'#($??#'! )?! 3013! 30$!)-?3'5(3)#-?!R)88!Y$! $S$(53$6! )-!1! 31-6$2!

    V1?0)#-!R)30!;'#;$'!?3188?!1-6!V#'R1'6)-9T!J$!(1-!?$$!)-!Z)95'$!A!3013!30$!3#;!)219$![?)-98$!

    (%(8$\!31=$?!8#-9$'!30$-!30$!Y#33#2!)219$![;);$8)-$\!3#!'5-!30$!?12$!)-?3'5(3)#-!?$3T!J0)8$!

    Y#30!?)-98$!(%(8$!1-6!;);$8)-$!;'#($??#'?!(1-!$S$(53$!30$!?12$!)-?3'5(3)#-?*!)3!)?!(8$1'!3013!

    30$!;);$8)-$!;'#($??#'!(1-!6#!?#!R)30!1!0)90$'!6$9'$$!#V!;$'V#'21-($!)V!;'#;$'8%!6$?)9-$6T!!

    U0)?!'$;#'3!R)88!)-(856$!)-V#'213)#-!#-!30$!6$?)9-!#V!30$!;'#($??#'*!30$!6131!;130?!31=$-!Y%!

    30$!6)VV$'$-3!)-?3'5(3)#-?*!30$!(#-3'#8!?(0$2$*!30$!Y59?!$-(#5-3$'$6!R0)8$!6$?)9-)-9*!1-6!

    V)-188%*!1!Y')$V!6)?(5??)#-!#-!30$!;#??)Y8$!)2;'#,$2$-3?!3013!(#586!;#3$-3)188%!Y$!216$!3#!

    #;3)2)^$!Y#30!30$!?)-98$!(%(8$!1-6!;);$8)-$!,$'?)#-?T!

    !

    !

    !

    !

  • 7/31/2019 Single Cycle and Pipeline Processors

    8/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!_!

    8&,./*!

    U0$! ;'#($??#'?! 6$?)9-$6! V#'! 30)?! ;'#b$(3! 1'$! 1Y8$! 3#! $S$(53$! AH! )-?3'5(3)#-?*! 1-6! 30$!

    ;'#($??#'?!30$2?$8,$?!1'$!2#6$8$6!?)2)81'8%!3#!30$!&FML!1'(0)3$(35'$![.FL/!1'(0)3$(35'$\T!!

    U0$!;'#($??#'?!1'$!6$?)9-$6!#-!W$')8#9!c:

    U0$!KGV#'213! )-?3'5(3)#-!?$3!01?! 30$!0)90G#'6$'!-)YY8$!#V! 30$!V)'?3!Y%3$! 6$6)(13$6! 3#!30$!

    #;$'13)#-!(#6$*!30$!3R#!0)90$?3!Y)3?!#V!30$!8#RG#'6$'!-)YY8$!1??)9-$6!3#!30$!?;$()18!Y'1-(0!

    [Y'S\!V)$86*!1-6!30$!'$21)-)-9!Y)3?!#V!30$!V)'?3!Y%3$!1'$!)9-#'$6T!!U0$!?$(#-6!Y%3$!)?!5?$6!V#'!

    30$!$VV$(3),$!166'$??T!!U0$!KGV#'213!(1-!01-68$!30'$$!6)VV$'$-3!3%;$?!#V!Y'1-(0$?d!-#'218!

  • 7/31/2019 Single Cycle and Pipeline Processors

    9/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!B!

    Y'1-(0*!Y'1-(0G)VGE!#'!eGV819*!1-6!Y'1-(0!?5Y'#53)-$![R)30!'$35'-\T!!Z#'!30$!(#2;8$3$!8)?3!#V!

    )-?3'5(3)#-?*!18#-9!R)30!30$)'!9$-$'18!2#6$?!#V!#;$'13)#-*!(#-?583!Z)95'$!HT!

    U0$!30)'6!1-6!V)-18!V#'213!)?!5?$6!V#'!2$2#'%`)22$6)13$!#;$'13)#-?*!1-6!)?!(188$6!30$!

  • 7/31/2019 Single Cycle and Pipeline Processors

    10/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AD!

    :1'6&,,'1!>C&6.(.6#+.'*,!

    @?! (1-! Y$! ?$$-! )-! 30$! V)'?3! 6$?)9-! ?$(3)#-*! 30$! ;'#($??#'! '$16?! 1-6! $S$(53$?! AQGY)3!

    )-?3'5(3)#-?T! F-! 166)3)#-*! )3! 01?! ?$;1'13$! )-?3'5(3)#-! 1-6! 6131! 2$2#')$?*! V#5'! AGY%3$!

    166'$??1Y8$! '$9)?3$'?*! 1! ?;$()18! 8)-=! '$9)?3$'! [5?$6! V#'! 30$!Y'1-(0! ?5Y'#53)-$! 1-6! '$35'-!

    V5-(3)#-?!N!?$$!Z)95'$!H\*!1-6!1-!_GY)3![AGY%3$\!)-;53!1-6!#53;53!;#'3T!U0$!;'#($??#'!W$')8#9!

    2#658$![18#-9!R)30!$,$'%!#30$'!2#658$\!(1-!Y$!V#5-6!)-!@;;$-6)S!/T!

    U0$! ;'#($??#'! )?! (#2;')?$6! #V! ,1')#5?! 6)VV$'$-3! 2#658$?*! 188! #V! R0)(0! ?$',$! 30$)'! #R-!

    5-)h5$! 31?=T! ! ?3! #V! 30$! 2#658$?! 1'$! 1?%-(0'#-#5?*! )-!#'6$'! 3#! 188#R! V#'! ?)-98$! (%(8$!

    #;$'13)#-! [1-6! ;'#;$'!;);$8)-$! #;$'13)#-\T!! U0$!#-8%! ?%-(0'#-#5?!2#658$?!1'$!30$!#-$?!

    R0)(0! 1'$! 1Y8$! 3#! R')3$`'$16! 6131! )-3#`V'#2! 2$2#'%! [Y$! )3! 6131! 2$2#'%! #'! )-3$'-18!

    '$9)?3$'!2$2#'%\*!#'!30$!#-$!R0)(0!?%-(0'#-)^$?!30$!#;$'13)#-!#V! 30$!;'#($??#'!R)30!30$!

    (8#(=![;'#9'12!(#5-3$'\!

    !

    )%'6L!)'0*+&1!#*5!M#.*!:1'6&,,'1!

    F-!#'6$'! 3#!(#''$(38%! 3$?3! 30$! )2;8$2$-313)#-*! 30$!(8#(=! '13$!25?3! Y$! ?8#R$6!6#R-]! 30$!

    (8#(=! '13$! #-! 30$! ZM4@! )?!25(0! 3##! 0)90! 3#! 1??5'$! (#''$(3! #;$'13)#-! #V! 30$! ;'#($??#'*!

    30$'$V#'$*!3R#!?$;1'13$!2#658$?!R$'$!('$13$6!3#!1((#22#613$!30)?!2)-#'!)-(#-,$-)$-($d!

    1!(8#(=!(#5-3$'!1-6!1!21)-!;'#($??#'!5-)3![?$$!Z)95'$!Q\T!

    !"#$%&'!>)!:&+5'//+&!;+I!J#.$&.,!

    U0$!(8#(=!)-;53!V'#2!30$!ZM4@!)?!'#53$6!3#!1!CDGY)3!(8#(=!(#5-3$'*!R0$'$!30$!&LK![#'!CD30!

    Y)3\! )?! '#53$6! 3#! 30$! ;'#($??#'! 1?! )3?! (8#(=! )-;53T! ! U0)?! $VV$(3),$8%! ?8#R?!6#R-! 30$! (8#(=!

    (#-?)6$'1Y8%*!R)30#53!183$')-9!1-%!01'6R1'$T!! U0$!#30$'!)-;53?![30$! )-;53!;#'3!1-6!'$?$3\!

  • 7/31/2019 Single Cycle and Pipeline Processors

    11/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AA!

    1'$!153#213)(188%!'#53$6!3#!30$!;'#($??#'*!1-6!30$!#53;53!;#'3!(#2$?!6)'$(38%!#53!#V!30$!

    ;'#($??#'T!!7'9#*!V#'!1(3518!)2;8$2$-313)#-*!#-8%!30$!CDGY)3!(#5-3$'!-$$6!Y$!'$2#,$6!1-6!

    30$!;'#($??#'!R#586!V5-(3)#-!1?!)-3$-6$6T!

    !

    M0%+.C%&A&1!

    U0$!2583);8$S$'!2#658$?! 1'$! ?3'1)903V#'R1'6! )-! 30$)'! #;$'13)#-d! 30$%! 1'$! 1?%-(0'#-#5?!

    2#658$?!3013!(0##?$!1-!)-;53!V'#2!1!?$8$(3)#-!#V!)-;53?!1-6!;1??!)3!30'#590!3#!30$!#53;53T!

    !

    >;.(+!N./;+!

    U0$!?0)V3!')903!2#658$!R1?!('$13$6!3#!#,$'(#2$!1-!166'$??)-9!)??5$!3013!?3$22$6!V'#2!

    (01-9)-9!30$!;'#($??#'!V'#2!_GY)3!3#!AQGY)3T!!U0)?!)??5$!R)88!Y$!6)?(5??$6!)-!9'$13$'!6$31)8!)-!

    30$!K59?!1-6!Z)S$?!?$(3)#-!#V!30)?!'$;#'3![3#!?5221')^$*!30$!?0)V3!')903!)?!5?$6!3#!6),)6$!30$!

    166'$??$?!Y%!3R#*!305?!;'#1(3),$8%!V)S)-9!30$!166'$??)-9!)??5$\T!

    !

    :1'/1#?!)'0*+&1!

    U0$!;'#9'12!(#5-3$'!)?!5?$6!3#!3$88!30$!;'#($??#'!R0)(0!166'$??!3#!'$16!)-!30$!)-?3'5(3)#-!2$2#'%![.i&\T!!F3!)?!1!?)2;8$!?%-(0'#-#5?!2#658$!3013!#;$'13$?!#-!30$!-$913),$!$69$!#V!

    30$!(8#(=T!

    !

    F55&1!

    U0$!166$'!?)2;8%!166?!#-$!3#!1-!_GY)3!)-;53*!1-6!V#'R1'6?!30$!'$?583!3#!)3?!#53;53T!!F3!)?!1-!

    1?%-(0'#-#5?!2#658$T!F3!)?!5?$6!3#!)-('$2$-3!30$!;'#9'12!(#5-3$'T!

    !

  • 7/31/2019 Single Cycle and Pipeline Processors

    12/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AC!

    4*,+106+.'*!M&?'1O!

    U0$!)-?3'5(3)#-!2$2#'%! [.$16Gi-8%!&$2#'%\!)?! 1-!1?%-(0'#-#5?!2#658$! ['$1?#-!Y$0)-6!

    30)?!)?!6)?(5??$6!)-!K59?!1-6!Z)S$?!?$(3)#-!#V!30)?!'$;#'3\!3013!R1?!('$13$6!R)30!30$!X)8)-S!

  • 7/31/2019 Single Cycle and Pipeline Processors

    13/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AI!

    #53;53!,185$T!! >-V#'35-13$8%*!30$!@!01?!(#2Y)-13#')18! 8##;?!R)30! )3?!'$9)?3$'?![2#'$!#-!

    30)?! )-! 30$! M#??)Y8$! F2;'#,$2$-3?! ?$(3)#-! #V! 30$! '$;#'3\*! Y53! )3! 6#$?! -#3! )2;$6$! )3?!

    V5-(3)#-?T!!U0$!@!?$-?$?!30$!#;G(#6$!1-6!;$'V#'2?!1??#()13$6!30$!1')302$3)(!V5-(3)#-T!

    !

    8#+#!M&?'1O!

    U0$!6131!2$2#'%![.1-6#2G@(($??!&$2#'%\!)?!1!?%-(0'#-#5?!2#658$!3013!#;$'13$?!#-!30$!

    ;#?)3),$!$69$!#V!30$!(8#(=T!!F3!R1?!9$-$'13$6!R)30!30$!X)8)-S!K8#(=!&$2#'%!4$-$'13#'*!1-6!)?!

    _GY)3?!R)6$*!CHQGY)3?!6$$;T!!F3!01?!1!R')3$G$-1Y8$!)-;53!V#'!R')3$!#;$'13)#-?T!

    !

    )'*+1'%%&1!

    U0$! (#-3'#88$'k?! V5-(3)#-! )?!30$!;'#($??#'! )?!3#! (#-3'#8!2#?3!#V!30$!2583);8$S$'?T! F3!)?! 1-!

    1?%-(0'#-#5?!2#658$T!

    >.*/%&!)O6%&!K&1,.'*!

    F-!30$!?)-98$!(%(8$!,$'?)#-*!30$!(#-3'#88$'!?$-?$?!30$!(5''$-3!#;G(#6$*!18#-9!R)30!30$!Y'S!

    ,185$!1-6!9$-$'13$?!1-!#53;53!3013!(#-3'#8?!30$!2583);8$S$'?T!!F3!18?#!;'#,)6$?!30$!R')3$G

    $-1Y8$!V#'!30$!6131!2$2#'%![2#'$!6$31)8?!#-!30$!(#-3'#88$'!R)88!Y$!;'#,)6$6!)-!30$!:131!

    M130?!1-6!/#-3'#8!L(0$2$!?$(3)#-?!#V!30)?!'$;#'3\T!

    :.C&%.*&!K&1,.'*!

    U0$!;);$8)-$!,$'?)#-!#V!30$!(#-3'#88$'!)?!,$'%!?)2)81'!3#!3013!#V!30$!?)-98$!(%(8$*!$S($;3!3013!)3!

    25?3!18?#!6$3$(3!30$!#;G(#6$!#V!30$!$S$(53$!?319$*!)-!#'6$'!3#!(#''$(38%!)2;8$2$-3!Y'1-(0!

    e!#'!Y'1-(0!E!)-?3'5(3)#-?!['$1?#-!Y$0)-6!30)?!R)88!18?#!Y$!$S;81)-$6!)-!30$!:131!M130?!1-6!

    /#-3'#8!L(0$2$!?$(3)#-?!#V!30)?!'$;#'3\T!

    !

    T#U#15!8&+&6+'1!R:.C&%.*&!V*%OS!

    U0$!01^1'6!6$3$(3#'!2#658$!)?!1-!1?%-(0'#-#5?!2#658$!3013!)?!)-!(01'9$!#V!6$3$(3)-9!6131!

    01^1'6?!3013! (1--#3!Y$!$8)2)-13$6!R)30! 6131!V#'R1'6)-9*! 1-6!)2;8$2$-3)-9! 30$!'$h5)'$6!

    12#5-3?!#V!;);$8)-$!?3188?!)-!#'6$'!3#!;'$,$-3!30$?$!01^1'6?T!!F3!6$3$(3?!30$!#;G(#6$?!#V!30$!

  • 7/31/2019 Single Cycle and Pipeline Processors

    14/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AP!

    30'$$!V)'?3!?319$?!#V!30$!;);$8)-$*!1?!R$88!1?!30$!;#??)Y8$! '$9)?3$'!6$;$-6$-()$?*!1-6!?3188?!

    30$!;);$8)-$!1((#'6)-98%![2#'$!#-!?3188?!)-!30$!:131!M130?!?$(3)#-!#V!30)?!'$;#'3\T!

    !

    -'1W#15.*/!Q*.+!R:.C&%.*&!V*%OS!

    &5(0!8)=$!30$!01^1'6!6$3$(3#'!2#658$*!30$!V#'R1'6)-9!5-)3!)?!1-!1?%-(0'#-#5?!2#658$!3013!

    )?!)-!(01'9$!#V!$8)2)-13)-9!6131!01^1'6?!)-!30$!;);$8)-$!Y%!2$1-?!#V!V#'R1'6)-9!6131!3#!30$!

    )-;53?! #V! 30$! @! 1?! '$h5)'$6T! ! F3! 6$3$(3?! 30$! #;G(#6$?! #V! 30$! 30'$$! 81?3! ?319$?! #V! 30$!

    ;);$8)-$*! 18#-9! R)30! '$9)?3$'! 6$;$-6$-()$?*! 1-6! 1(3),13$?! V#'R1'6)-9! 2583);8$S$'?!

    1((#'6)-98%T!

    !

    4*+&1?&5.#+&!N&/.,+&1,!R:.C&%.*&!V*%OS!

    U0$!)-3$'2$6)13$!'$9)?3$'?*!8)=$! 30$!'$9)?3$'!V)8$*!1'$!Y#30!?%-(0'#-#5?!1-6!1?%-(0'#-#5?!

    2#658$?]!30$%!1'$!?%-(0'#-#5?!#-!30$!-$913),$!$69$!#V!30$!(8#(=!3#!R')3$!30$!6131!3#!30$)'!

    )-3$'-18! '$9)?3$'?*! 1-6! 1'$! 1?%-(0'#-#5?! )-! (#-3)-5#5?8%! 1??)9-)-9! 30$! ,185$?! #V! 30$)'!

    '$9)?3$'?!3#!30$)'!#53;53?T!!

    U0$!V)'?3!)-3$'2$6)13$!'$9)?3$'![FZl:7l'$9!N!(1-!Y$!'$V$'$-($6!)-!@;;$-6)S!/\!18?#!01?!30$!

    b#Y!#V! )2;8$2$-3)-9!1!?3188!(#221-6T!! F3!6$3$(3?!1!?3188!(#221-6!V'#2!30$!01^1'6!6$3$(3#'!

    1-6!?$3?!30$!#;G(#6$!3#!^$'#![-#G#;\!V#'!30$!(5''$-3!)-?3'5(3)#-!)V!?3188!)?!0)90T!

    !

    8#+#!:#+;!

    U0$!6131!;130?!6)?(5??$6!1'$!1((#'6)-9!3#!30$!;130!31=$-!Y%!30$!6131!30'#590!30$!;'#($??#'T!!

    U0$!;130?!(1-!Y$!)-35)3),$8%!V#88#R$6!Y%!(#-?583)-9!@;;$-6)S!@!13!30$!$-6!#V!30$!'$;#'3T!

    !

  • 7/31/2019 Single Cycle and Pipeline Processors

    15/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AH!

    FX-'1?#+!

    F-! 30$! ;'#($??#'! 30$! @GZ#'213! )-?3'5(3)#-?! 1'$! 5?$6! 3#! (#2;8$3$! ?$,$'18! #;$'13)#-?*! )-!

    ;1'3)(581'!1')302$3)(!#-$?T!U0$!V#'213!(#-?)?3?!#V!3R#!Y%3$?!Y53!#-8%!53)8)^$?!#-$!#V!30$2T!

    U0$!Y%3$!)?!?;8)3!)-3#!30$!#;$'1-6?!1?!?0#R-!)-!Z)95'$!CT!

    F3!(1-!Y$!?$$-!3013!30$!#;G(#6$!5?$?!30$!V#5'!0)90!Y)3?!#V!30$!Y%3$!1-6!30$!'1!1-6!'Y!V)$86?!

    $1(0!5?$!3R#!#V!30$!V#5'!'$21)-)-9!Y)3?T!U0$!6131!;130!V#88#R$6!Y%!30$!@GZ#'213!)-?3'5(3)#-!

    30'#590!30$!;'#($??#'!(1-!Y$!?$$-!#-!Z)95'$!Q!)-!@;;$-6)S!@T!!

    U0$!M'#9'12!/#5-3$'!?$8$(3?!30$!)-?3'5(3)#-!,185$!)-!30$!)-?3'5(3)#-!2$2#'%!R0$'$!30$!@G

    Z#'213! )-?3'5(3)#-! )?! #Y31)-$6T! U0$! )-?3'5(3)#-! R)88! ?$8$(3! 30$! (#''$?;#-6)-9! '1! 1-6! 'Y!

    '$9)?3$'?!V'#2!30$!.$9)?3$'!Z)8$T!Z'#2!0$'$!30$!,185$!3013!)?!0$86!)-!30$!'$9)?3$'!'1!;'#($$6?!

    6)'$(38%! 3#! 30$!@')302$3)(! -)3! R0$'$! 30$!'Y! '$9)?3$'! ,185$! )?! V#'R1'6$6! 30'#590!1!

    2583);8$S#'!V)'?3!30$-!3#!30$!@T!F-!30$!@!1-%!1')302$3)(!#;$'13)#-!)?!;$'V#'2$6!1-6!e`E!

    V819?!1'$!;'#65($6T!Z'#2!0$'$!30$!;130!(#-3)-5$?!30'#590!30$!J')3$!K1(=!2583);8$S#'!1-6!

    30$!/C!2583);8$S#'!1-6!V)-188%!R')3$?!)-3#!30$!J')3$!:131!#V!30$!.$9)?3$'!Z)8$T!!

    U#!$81Y#'13$!2#'$!#-!30$!;'#65(3)#-!#V!30$!E!1-6!e!V819?!30$)'!V5-(3)#-?!R)88!Y$!#Y?$',$6T!

    U0$?$! V819?! 3$88! 30$! (#-3'#88$'! ?;$()V)(! )-V#'213)#-! 1Y#53! 30$! #53(#2$! #V! 1-! #;$'13)#-T!!

    K!1-6!E@E:!)-?3'5(3)#-?T!Z#'!30$!LcU*!FE*!1-6!&iW!)-?3'5(3)#-?!-#!E!1-6!e!V819?!1'$!;'#65($6T!!

    F-!30$!;);$8)-$*!30$!;130! )?!30$!?12$![1;1'3!V'#2!30$!)-3$'2$6)13$!'$9)?3$'?\*!1-6!188!6131!

    01^1'6?!1'$!'$2#,$6!Y%!2$1-?!#V!6131GV#'R1'6)-9T!

    !

  • 7/31/2019 Single Cycle and Pipeline Processors

    16/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AQ!

    @X-'1?#+!

    U0$!KGZ#'213!)-?3'5(3)#-?!1'$!)-)3)18)^$6!)-!30$!?12$!21--$'!1?!30$!;'$,)#5?8%!6)?(5??$6!@G

    Z#'213d! 30$! M'#9'12! /#5-3$'! ;#)-3?! 3#! 1-! 166'$??! )-! 30$! F-?3'5(3)#-! &$2#'%! 1-6! 30$!

    (#''$?;#-6)-9! AQGY)3!)-?3'5(3)#-! )?! ?$-3! #-3#! 30$!'$21)-)-9!;'#($??#'! 6131G;130T! ! U0$!KG

    Z#'213!['$V$'!3#!Z)95'$!H*!#;G(#6$?!B!30'5!AC\!01?!6)VV$'$-3!)-?3'5(3)#-?!R)30!?)2)81'!;130?*!

    1?!6)?(5??$6!Y$8#RT!

    @1#*6;!

    U0$! Y'1-(0! 01?! 1! ?3'1)903V#'R1'6! ;130d! #-($! 30$! Y'1-(0! #;G(#6$! )?! 6$3$(3$6! Y%! 30$!

    (#-3'#88$'*! )3! ?$8$(3?! 30$! (#''$(3! )-;53! V'#2! 30$! ;'#9'12! (#5-3$'!2583);8$S#'! [/A! 25S\*!

    R0)(0!30$-!'#53?!30$!$VV$(3),$!166'$??!3#!30$!M'#9'12!/#5-3$'T!

    U0)?!)-?3'5(3)#-!)?!$S$(53$6!$S1(38%!30$!?12$!R1%!)-!30$!;);$8)-$*!$S($;3!3013!)3!25?3!9#!

    30'#590! 30$! V)'?3! )-3$'2$6)13$! '$9)?3$'*! 1-6! 30$'$V#'$! 25?3! ?3188! 30$! ;);$8)-$! #-$! (%(8$!

    [?)-($!)3!)?!'$?#8,$6!)-!30$!?$(#-6!?319$!#V!30$!;);$8)-$!Y%!30$!/#-3'#88$'\T!

    @1#*6;!Y!#*5!@1#*6;!Z!

    U0$!Y'1-(0!E!1-6!e!1'$!1!8)338$!2#'$!(#2;8$S!301-!30$)'!KGZ#'213!(#5-3$';1'3?T!!i-($!30$!

    (#-3'#88$'!6$3$(3?!30$!#;G(#6$!V#'!3013!)-?3'5(3)#-*!)3!25?3!30$-!6$3$'2)-$!R0$30$'!)3!)?!1!

    Y'1-(0!E!#'!e!)-?3'5(3)#-T!!i-($!3013!)?!6$3$'2)-$6*!30$!/#-3'#88$'!25?3!(0$(=!R0$30$'!30$!

    (#''$?;#-6)-9!V819!)?!0)90*!1-6!?$3!30$!/A!25S!1((#'6)-98%![)V!30$!V819!)?!0)90*!30$!Y'1-(0!)?!

    31=$-]!)V!-#3*!30$!M/!j!A!166'$??!)?!'#53$6!3#!30$!M'#9'12!/#5-3$'\T!

    Z#'!30$!;);$8)-$*!30$?$!Y'1-(0!)-?3'5(3)#-?!1'$!'$?#8,$6!)-!30$!@!?319$![30)'6!?319$!#V!30$!

    ;);$8)-$\*!R0)(0!'$h5)'$?!3R#!?3188!(%(8$?!3#!1,#)6!(#-3'#8 6131!01^1'6?T!

    @1#*6;!>0$1'0+.*&!

    U0$!Y'1-(0!?5Y'#53)-$!;130!)?!182#?3!30$!?12$!1?!30$!Y'1-(0!V#'!Y#30!30$!?)-98$!(%(8$!1-6!

    ;);$8)-$!,$'?)#-T!!F3!6)VV$'?!#-8%!)-!3013!30$!166'$??!#V!M/!j!A!25?3!Y$!R')33$-!)-3#!30$!

  • 7/31/2019 Single Cycle and Pipeline Processors

    17/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!Aa!

    PX-'1?#+!

  • 7/31/2019 Single Cycle and Pipeline Processors

    18/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!A_!

    P'#5!4??&5.#+&!

    U0$!8#16!)22$6)13$!V5-(3)#-!)?!30$!#-8%!.*/%&!)O6%&!

    F-!30$!?)-98$!(%(8$!)2;8$2$-313)#-*!30$!/#-3'#88$'k?!21)-!V5-(3)#-!)?!3#!?$8$(3!30$!;'#;$'!

    2583);8$S#'?T!!@?!2$-3)#-$6!)-!30$!6$?)9-!?$(3)#-*!)3!)?!1-!1?%-(0'#-#5?!2#658$!3013!5?$?!

    (#2Y)-13#')18!8#9)(![1??)9-!?313$2$-3\!)-!#'6$'!3#!21=$!)3!2#'$!$VV$(3),$!1-6!'$65($!30$!

    8)=$8)0##6!#V!813(0$?T!!U0$!/#-3'#88$'!6$3$(3?!30$!#;G(#6$*!30$!Y'S!;#'3)#-!#V!30$!Y)3G?3'$12!

    [#-8%!5?$6! V#'! Y'1-(0! E! 1-6! e! )-?3'5(3)#-?\*! 1-6! 30$! E! 1-6! e! V819?T! ! :$;$-6)-9! #-! 30$!

    (#2Y)-13)#-!#V!30$?$!)-;53?*!)3!1??)9-?!30$!(#''$(3!)-;53?!3#!30$!2583);8$S#'?![V#'!30$!$S1(3!

    #;$'13)#-*!;8$1?$!(#-?583!30$!/#-3'#88$'!2#658$!W$')8#9!(#6$!)-!@;;$-6)S!/\T!@66)3)#-188%*!)3!

    3$88?!30$!:131!&$2#'%!R0$30$'!)3!?0#586!$-1Y8$!R')3)-9![Y%!6$3$(3)-9!1!?3#'$!)-?3'5(3)#-!

    #;G(#6$\T!

    L)-($!30$!/#-3'#88$'!R1?!6$?)9-$6!)-!1!2)-)218)?3!R1%*!$1(0!)-6),)6518!2#658$!01?!3#!;)(=!

    5;!30$!Y5'6$-!#V!(#-3'#8!)3?$8VT!! !F-! 30)?!6$?)9-*!30$!2#658$?!1'$!'$?;#-?)Y8$!V#'!30$)'!#R-!

    (#-3'#8![30$!#-8%!$S($;3)#-!)?!30$!:131!&$2#'%k?!R')3$G$-1Y8$*!R0)(0!)?!(#-3'#88$6!Y%!30$!

    /#-3'#88$'\T!!U0$!3%;$!#V!(#-3'#8!)2;8$2$-3$6!)-!30)?!6$?)9-!188#R?!V#'!$1?%!#;$'13)#-!1-6!

    3'#5Y8$?0##3)-9*!?)-($!$,$'%!2#658$!)?!)-!(01'9$!#V!)3?!#R-!V13$*!1!;'#Y8$2!(1-!Y$!$1?)8%!

    6$3$(3$6! 1-6! V)S$6T! ! @! 6)VV$'$-3! (#-3'#8! ?(0$2$! )?! 6)?(5??$6! 813$! )-! 30$! M#??)Y8$!

    F2;'#,$2$-3?!?$(3)#-!#V!30)?!'$;#'3T!

  • 7/31/2019 Single Cycle and Pipeline Processors

    19/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!AB!

    :.C&%.*&!

    @?!2$-3)#-$6!$1'8)$'*!30$!#-8%!6)VV$'$-($!Y$3R$$-!30$!;);$8)-$!1-6!?)-98$!(%(8$!(#-3'#88$'!)?!

    3013!)3!25?3!6$3$(3!30$!#;G(#6$!#V!30$!$S$(53$!?319$!18?#T!!U0)?!)?!65$!3#!30$!Y'1-(0!e!1-6!E!

    )-?3'5(3)#-?T! ! L)-($! 30$! e! 1-6! E! V819?!25?3! 9#! 30'#590! 30$! )-3$'2$6)13$! '$9)?3$'!Y$V#'$!

    9#)-9!)-3#!30$!(#-3'#88$'*!30$!Y'1-(0!E!1-6!e!)-?3'5(3)#-?!1'$!#-8%!'$?#8,$6!)-!30$!$S$(53$!

    ?319$!#V!30$!;);$8)-$T!!U0$'$V#'$*!)V!30$!(#-3'#88$'!6$3$(3?!1!Y'1-(0!E!#'!e!13!30$!$S$(53$!

    ?319$!)3!25?3!6$()6$!R0$30$'!#'!-#3!3#!Y'1-(0!6$;$-6)-9!#-!30$!V819?T!

    U0$! '$21)-6$'! #V! 30$! (#-3'#8! ?(0$2$! )?!30$! ?12$! 1?! 30$! ?)-98$! (%(8$!,$'?)#-T! ! U0$! #-8%!

    166)3)#-?!1'$!30$!Z#'R1'6)-9!>-)3! 3#!$8)2)-13$!6131!01^1'6?*!1-6!30$!c1^1'6!:$3$(3#'*!3#!

    ?3188!30$!;);$8)-$!R0$-!-$($??1'%T!

    Z#'! 1-! )885?3'13$6! $S12;8$! #V! 30$! ;);$8)-$! [30$! #;G(#6$! 13! 30$! 6)VV$'$-3! ?319$?*! ?3188?*!

    $3($3$'1\*! 1! ?('$$-! (1;35'$! #V! 1! ?)25813)#-! (#-65(3$6! Y%! X)8)-S! FL)2! R1?! )-(856$6! )-!

    @;;$-6)S!KT!!

    !

    @0/,!#*5!-.A&,!

    >.*/%&!)O6%&!

    J0)8$!6$?)9-)-9!30$!;'#($??#'!?$,$'18!?$3Y1(=?!R$'$!V#5-6!)-!30$!;'#($??T!F-!;1'3)(581'!30$!

    )??5$?!R)30!30$!:131!&$2#'%!-#3!R#'=)-9*! 30$!3)2)-9!)??5$?!R)30!30$!;'#($??#'!2$2#'%*!

    30$!Y'1-(0!)??5$?!R)30!30$!F-?3'5(3)#-!&$2#'%!1-6!30$!M81-!@0$16!;)-!1??)9-2$-3T!!

    Z)'?3! #VV*! 30$! :131! &$2#'%! R1?! -#3! Y$)-9! V#5-6! Y%! $8L)2! R0$-! '5--)-9! 30$!

    Y$01,)#5'18!3$?3?]!1-!$''#'!#((5''$6!R0$'$!30$!2$2#'%!V)8$!?$$2$6!3#!Y$!2)??)-9*!$,$-!

    30#590!)3!R1?!('$13$6!;'#;$'8%T!F-!#'6$'!3#!V)S!30)?!;'#Y8$2!R$!V)'?3!133$2;3$6!3#!V#88#R!

    ?#2$!#-8)-$!16,)($!1-6!f(#2;)8$!30$!R'1;;$'!V)8$gT!J$!R$'$!-#3!1Y8$!3#!1(35188%!6#!30)?!?#!

    R$!6$()6$6! 3#!9#! 1-#30$'! '#53$! 1-6! 3'%! 3#!5?$! X)8)-S! AITP!R0)(0!)-! 30$! $-6! ?#8,$6! 30$!

    ;'#Y8$2! [Y%! 5?)-9! FL)2\T! U0$! #86$'! ,$'?)#-! #V!X)8)-S! ?)2;8%! 6)6! -#3! '$(#9-)?$! 30$! FM(#'$!

    9$-$'13$6!2$2#'%T!!

  • 7/31/2019 Single Cycle and Pipeline Processors

    20/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!CD!

    U0$! )??5$!R)30! 30$!;'#($??#'!2$2#'%! 3)2)-9!R1?! 3013! 30$!6131!2$2#'%!1-6! )-?3'5(3)#-!

    2$2#'%! R$'$! #;$'13)-9! #-! 30$! ?12$! (8#(=! (%(8$T! U0)?! (15?$6! 1! 6131! 01^1'6! ?)3513)#-*!

    R0$'$!30$!6131!Y$)-9!1(($??$6!R1?!-#3!30$!(5''$-3!6131T!F3!R1?!1(35188%!30$!6131!V'#2!30$!

    ;'$,)#5?! (8#(=! (%(8$T! F-!#'6$'! 3#! V)S!30)?! 30$!)-?3'5(3)#-!2$2#'%!R1?! 31=$-! #VV! 30$!(8#(=!

    (#2;8$3$8%!1-6!30$!;'#9'12!(#5-3$'!1-6!)-?3'5(3)#-!2$2#'%!R$'$!;53!#-!#;;#?)3$!$69$?!

    #V!30$!(8#(=![-$913),$!1-6!;#?)3),$!'$?;$(3),$8%\T!!

    i-$!#V!30$!81'9$'!;'#Y8$2?!3013!R$'$!V#5-6!R1?!3013!30$!)-?3'5(3)#-?!)-!#5'!3$?3!V)8$?!R$'$!

    9),$-!)-!_GY)3!R)6$!V#'2*!R)30!$1(0!)-?3'5(3)#-!31=)-9!CGY%3$?T!U0)?!(15?$6!?$')#5?!)??5$?!

    R)30! 30$!Y'1-(0! ?313$2$-3?*! )-! ;1'3)(581'!R)30! '$35'-)-9! V'#2!1! Y'1-(0! )-?3'5(3)#-T!U0$!

    )-?3'5(3)#-!2$2#'%!(#-V)95'13)#-!(15?$6!30$!R'#-9!)-?3'5(3)#-!3#!Y$!(1'')$6!#53!1V3$'!30$!

    Y'1-(0T! F-!#'6$'! 3#!#,$'(#2$! 30)?*! 30$!CGY%3$?! R$'$! (#2Y)-$6! 3#9$30$'! )-3#! #-$!AQGY)3!

    R#'6![30$!T(#$!V)8$?!R$'$!183$'$6\T!U#!1??5'$!;'#;$'!166'$??)-9!1V3$'!30$!2#6)V)(13)#-!#V!30$!

    3$?3!V)8$*!30$!$VV$(3),$!166'$??!R1?!?0)V3$6!')903!Y%!A![6),)?)#-!Y%!C\*!R0)(0!583)213$8%!V)S$6!

    30$!;'#Y8$2T!!

    J0$-!)2;8$2$-3)-9!30$!V)-18!6$?)9-!#-3#!30$!ZM4@!)3!25?3!V)'?3!Y$!'5-!30'#590!30$!M81-!

    @0$16!;'#9'12! ?#!3013! 30$! F`i! ;)-3?!(1-!Y$!1??)9-$6T! F3!R1?! )-!30)?!?319$! 3013! 30$! V)-18!

    ?$3Y1(=!R1?! V#5-6T!U0$!6$?)9-!(188$6!V#'! 1!;'#($??#'! (1;1Y8$!#V! 01-68)-9! 1-!_GY)3! )-;53T!

    L)-($!30$!;'#9'12!#-8%!?;$()V)$6!P!#V!30$!_GY)3?*!30$!#30$'!P!016!3#!Y$!?$3!3#!DT!F-!#'6$'!3#!

    6#!30)?!R$!V)'?3!3')$6!3#!1??)9-!f6522%g!;)-?!3#!30$!)-;53?!)-!M81-!@0$16T!c#R$,$'!30$!;)-?!

    R$!(0#?$!#-!30$!ZM4@!R$'$!)-!5-=-#R-!?313$?!1-6!Y$(15?$!#V!30)?!30$'$!R$'$!?#2$!)-;53?!

    ?$3!3#!A!1-6!#30$'?!3#!DT!U0)?!(15?$6!30$!;'#9'12!3#!-#3!#;$'13$!(#''$(38%T!@3!?$(#-6!981-($!

    R$!'$18)?$6!3013!30$!;)-!1??)9-2$-3!;'#Y8$2!(#586!Y$!V)S$6!Y%!21?=)-9!30$!P!5-5?$6!)-;53?!

    )-!30$!W$')8#9!(#6$T!U0)?!R1?!6#-$!Y%!(#-(13$-13)-9!30$!P!Y)3?!R)30!^$'#?!?#!3013!30$%!R$'$!

    ?$3!3#!DT!U0)?!V)S$6!30$!;'#Y8$2!#V!30$!_GY)3!)-;53T!!

    i-($!188!#V!30$!Y59?!R$'$!V)S$6!30$!;'#($??#'!'1-!?2##308%T!!

    :.C&%.*&!

    U0$'$!R$'$! 8$??! Y59?! )-! 30$! M);$8)-$! ,$'?)#-! #V! 30$! ;'#($??#'! Y$(15?$! 188! #V! 30$! 21b#'!

    ;'#Y8$2?!R$'$!01-68$6!R)30!30$!L)-98$!/%(8$!,$'?)#-T!! c#R$,$'*!30$!21)-!;'#Y8$2?!R$'$!

    (15?$6!R)30!3)2)-9!)??5$?!#V!30$!R')3$!Y1(=*!30$!R'#-9!166'$??!#V!R')3$!Y1(=*!1-6!?3188)-9!

    )??5$?!R)30!01^1'6?T!

  • 7/31/2019 Single Cycle and Pipeline Processors

    21/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!CA!

    U0$!3)2)-9!)??5$?!R$'$!?)2)81'!3#!3013!#V!30$!?)-98$!(%(8$!;'#($??#'!)-!3013!30$%!?3$22$6!

    V'#2!30$!'$9)?3$'!V)8$!1-6!)-3$'2$6)13$!'$9)?3$'?!V188)-9!#V!30$!?12$!$69$!#V!30$!(8#(=T!!U0)?!

    ?%-(0'#-#5?!01^1'6!(15?$6!1!6131!;'#Y8$2!N!30$!R')3$!Y1(=!,185$!#V!'1!R1?!R')33$-!#-!30$!

    -$S3!(8#(=!(%(8$T!!U#!'$2$6%!30)?!;'#Y8$2*!30$!'$9)?3$'!V)8$!)-!30$!;);$8)-$!,$'?)#-!R1?!?$3!3#!

    ;#?)3),$!$69$T!

    @-#30$'!)??5$!R)30!30$!R')3$!Y1(=!R1?!30$!'$9)?3$'!V)8$!-#3!9$33)-9!30$!(#''$(3!166'$??!V#'!

    30$!R')3$!Y1(=!'$9)?3$'T!!i-($!30$!-$R!,185$!#V!'1!216$!)3?!R1%!Y1(=!V'#2!30$!)-3$'2$6)13$!

    '$9)?3$'*!)3!R#586!9$3!R')33$-!)-3#!R013$,$'!'1!166'$??!R1?!9),$-!Y1(=!30$!(5''$-3!#;$'1-6!

    [R0)(0!R1?-k3! 18R1%?! 30$! ')903!#-$\T!! U0)?!R1?! V)S$6!Y%!21=)-9! 1!;130! V#'! 30$! (#''$(3!'1!

    166'$??! 3#! V#88#R! 30$! 6131! 188! 30$! R1%! 30'#590! 3#! 30$! R')3$! Y1(=! ?319$T! ! @66)3)#-188%*!

    1-#30$'!)-;53!016!3#!Y$!('$13$6!)-!30$!'$9)?3$'!V)8$!3#!'$(#9-)^$!30)?!(#''$(3!'1!166'$??T!!

    U0$!81?3*!1-6!;'#Y1Y8%!2#?3!;'#2)-$-3!Y59*!(12$!V'#2!;'#Y8$2?!R)30!?3188)-9T!!J0$-!1!

    ?3188!016!3#!Y$!)2;8$2$-3$6*!?#2$3)2$!30$!;'#($??#'!R#586!b5?3!=$$;!?3188)-9!V#'$,$'T!!U0)?!

    R1?! 65$! 3#! )2;'#;$'! 1??)9-)-9! #V! 30$! ?3188! N! R0)8$! ?3188)-9! #-$! (%(8$! 6)6! -#3! ;#?$! 1-%!

    ;'#Y8$2?*!30$!C!?3188!(%(8$?!V#'!K'1-(0!E!1-6!e!R0$'$!30$!(58;')3?T!!U#!V)S!30)?!)??5$*!30$!#;G

    (#6$!#V!I!?319$?!R$'$!)-(#';#'13$6!)-3#!30$!c1^1'6!:$3$(3#'!2#658$*!1-6!30)?!188#R$6!30$!

    2#658$!3#!(#''$(38%!6$3$(3!30#?$!?;$()V)(!3R#!(%(8$!?3188!01^1'6?T!

    !

    :',,.$%&!4?C1'D&?&*+,!

    @830#590! Y#30! ,$'?)#-?!#V! 30$!;'#($??#'!R#'=!V81R8$??8%*! 30$'$! 1'$!1! V$R! )2;'#,$2$-3?!

    3013! (#586! Y$! 216$! )-! #'6$'! 3#! 21=$! 30$2! Y#30! Y$33$'! 1-6! 2#'$! $VV)()$-3T! ! U#! 183$'!

    ?#2$30)-9! 3013! )?! 9##6! )-! #'6$'! 3#! 21=$! )3! Y$33$'! )?! R013! 21=$?! 1! ;'#65(3! ?31-6! #53!

    12#-9?3! 30$!'$?3T!! U0$'$V#'$*! 30$!V#88#R)-9! 3R#!?$(3)#-?! 1'$!6$6)(13$6!3#!6)?(5??)-9! 30$!

    ;#??)Y8$!)2;'#,$2$-3?!3013!(#586!Y$!216$!3#!Y#30!,$'?)#-?!#V!30$!;'#($??#'*!30$!'$1?#-?!

    Y$0)-6!30$?$!)2;'#,$2$-3?*!1-6!V)-188%*!0#R!30$%!(#586!;#??)Y8%!Y$!)2;8$2$-3$6T!

  • 7/31/2019 Single Cycle and Pipeline Processors

    22/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!CC!

    >.*/%&!)O6%&!

    VC+.?.U&5!M'D&[P'#5!4??&5.#+&[4*!:'1+!:#+;,!

    J0)8$!#,$'8##=)-9!30$!(5''$-3!6$?)9-!#V!30$!;'#($??#'*!)3!R1?!-#3)($6!3013!30$!&iW7*!#D&!8#+#!T#U#15!

    F-!30$!;);$8)-$*!R0$-$,$'!1!8#16!6$;$-6$-(%!)?!6$3$(3$6*!30$!;);$8)-$6!)?! ?3188$6T!!7,$-!)V!

    30)?!R#'=?!V81R8$??8%*!)3!(#586!Y$!;1'3)188%!#;3)2) $6!V#'!1!-)3T!

  • 7/31/2019 Single Cycle and Pipeline Processors

    23/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!CI!

    N&?'D.*/!+;&!>+#%%!('1!@1#*6;\!@1#*6;!>0$1'0+.*&\!#*5!N&+01*!

    U0$! '$35'-! 166'$??! #V! 1! Y'1-(0! ?5Y'#53)-$! )-?3'5(3)#-! )?! ?3#'$6! )-3#! 30$! )-3$'2$6)13$!

    '$9)?3$'! )-! 30$! -$S3! (%(8$T! ! U0)?! (#586!Y$!#;3)2) $6! Y%! '$2#,)-9! 30$! 8)-=! '$9)?3$'! )-! 30$!

    '$9)?3$'!V)8$*!1-6!)2;8$2$-3)-9!)3!)-!30$!V)'?3!)-3$'2$6)13$!'$9)?3$'T!!U0)?!R1%*!30$!166'$??!#V!

    30$!8)-=!'$9)?3$'!R#586!Y$!)22$6)13$8%!?3#'$6T!!U0)?!R#586!188#R!30$!;);$8)-$!3#!1,#)6!1!?3188!

    V#'!30$!'$35'-!N!?)-($!30$!166'$??!)?!(#-?31-38%!Y$)-9!V$6!Y1(=!)-!30$!)-?3'5(3)#-!2$2#'%!

    ?319$*!30$!?)2;8$!166)3)#-!#V!1!2583);8$S#'!)-!(1?(16$!R)30!30$!;'#9'12!(#5-3$'!2583);8$S#'!

    (#586!188#R!30$!;'#;$'!166'$??!Y$!?$8$(3$6!)-!8)$5!#V!M/!j!A![30)?!2583);8$S#'!R#586!01,$!3#!

    Y$!(#-3'#88$6!Y%!30$!c1^1'6!:$3$(3#'*!1,#)6)-9!30$!-$$6!3#!9#!)-3#!30$!?$(#-6!?319$!#V!30$!

    ;);$8)-$\T!!

    U0$! ?12$! )?! 3'5$! V#'! 30$! Y'1-(0! 1-6! Y'1-(0! ?5Y'#53)-$! )-?3'5(3)#-?d! )V! 30$%! (#586! Y$!

    01-68$6!Y%!30$!c1^1'6!:$3$(3#'!)-?3$16!#V!30$!/#-3'#88$'*!30$'$!R#586!Y$!-#!-$$6!V#'!1!

    ?3188!V#'!$)30$'!#V!30$2![?)-($!30$%!R#586!Y$!'$?#8,$6!)-!30$!V)'?3!?319$!#V!30$!;);$8)-$\*!305?!

    6'1213)(188%! )2;'#,)-9! ;$'V#'21-($T! ! FV! 30)?! R1?! )2;8$2$-3$6*! #-8%! 8#16! 01^1'6?! [-#3!

    )-(856)-9! R)30! ?1,$! 6$;$-6$-(%\*! 18#-9! R)30! Y'1-(0! E! 1-6! e*! R#586! -$$6! 3#! ?3188! 30$!

    ;);$8)-$T!

  • 7/31/2019 Single Cycle and Pipeline Processors

    24/46

    7E4FGDHIAGJK! 78$(3')(18!7-9)-$$')-9!:$;1'32$-3! -),$'?)3%!

    !L)-98$!/%(8$!1-6!M);$8)-$!M'#($??#'!N!&$'()$'*!.$%-$-*!451-1-61!O!M19$!!CP!

    )'*6%0,.'*!

    U0$! )2;8$2$-313)#-?!#V! 30$!?)-98$!(%(8$! 1-6!;);$8)-$!;'#($??#'?!R$'$! 1! ?5(($??T!!

    U0$!;'#($??#'?!'1-!V81R8$??8%!#-!30$!ZM4@!Y#1'6*!R)30!-#!'$;#'31Y8$!)??5$?T!!7,$-!)V!30$!

    ;);$8)-$!,$'?)#-!R1?!25(0!2#'$!(#2;8$S!301-!30$!?)-98$!(%(8$!,$'?)#-*!)3?!)2;8$2$-313)#-!

    R1?!V1)'8%!$1?%T!!U0)?!R1?!Y$(15?$!2#?3!#V!30$!21b#'!)??5$?!R$'$!'$(3)V)$6!R0)8$!30$!?)-98$!

    (%(8$!R1?!6$?)9-$6T!

    ! @?!2$-3)#-$6!30'#590#53!30)?!'$;#'3*!(#-3)-5#5?!1??)9-!?313$2$-3?![(#2Y)-13#')18!

    8#9)(\! R$'$! 5?$6! 3#! 6$?)9-! 30$! Y58=! #V! 30$! 2#658$?T! ! U0)?! R1?! 3#! ;'#2#3$! $VV)()$-3!

    ;'#9'122)-9!N!R0)8$!30$!18R1%?!Y8#(=!)?!1!9'$13!R1%!3#!;'#9'12*!)3!(1-!8$16!3#!813(0$?!1-6!

    #30$'!)??5$?!R0)(0!(#586!(15?$!;'#Y8$2?T!!@66)3)#-188%*!1??)9-!?313$2$-3?!1'$!188!$S$(53$6!

    13! 30$! ?12$! 3)2$*! R0)(0! V1,#'?! ;1'188$8)?2*! 1-#30$'! =$%! (#2;#-$-3! 3#! $VV)()$-(%! [30$!

    18R1%?!Y8#(=!$S$(53$?!)3?!?313$2$-3?!?$h5$-3)188%\T!

    ! U0$!;'#;#?$6! )2;'#,$2$-3?! 6)?(5??$6!)-! 30)?! '$;#'3! 1'$!#-8%! 30$#'$3)(18*! 1-6!3#!

    1(35188%!)2;8$2$-3!30$2!R#586!6$21-6!V#'!1-!#,$'0158!#V!30$!W$')8#9!(#6$T!!U0)?!)?!30$!

    21)-!'$1?#-!R0%!30$%!R$'$!-#3!)2;8$2$-3$6!)-!30$!V)'?3!;81($T!!i-($!30$!;'#($??#'!R#'=$6*!

    )3!R1?!6$()6$6!3013!)3!?0#586!-#3!Y$!$S($??),$8%!312;$'$6!R)30*!#-8%!)2;'#,)-9!)3!R)30!2)-#'!

    (01-9$?T!!U0$!21b#'!(01-9$?!R$'$!6#(52$-3$6!1-6!)-(856$6!)-!30$!)2;'#,$2$-3!?$(3)#-*!

    1-6!)3!25?3!Y$!-#3$6!3013!30$%!R#586!6'1213)(188%!)-('$1?$!813$-(%!V#'!30$!;);$8)-$T!

  • 7/31/2019 Single Cycle and Pipeline Processors

    25/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    26/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    27/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    28/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    29/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    30/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    31/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    32/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    33/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    34/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    35/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    36/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    37/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    38/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    39/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    40/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    41/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    42/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    43/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    44/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    45/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    A245-.,B@/-.,34

  • 7/31/2019 Single Cycle and Pipeline Processors

    46/46

    !"#$%&'()%*+, !-./012/3-,!4524..1245,6.73108.40, 93:.;.3.1?20@

    ,

    !"#$%&"'(%&)*%+$,'

    8D