Memory Management for Synthesis of DSP Software
Memory Management for Synthesis of DSP Software Praveen K. Murthy Shuvra S. Bhattacharyya
Boca Raton London New York
A CRC title, part of the Taylor & Francis imprint, a member of the Taylor & Francis Group, the academic division of T&F Informa plc.
DK6037_Discl.fm Page 1 Wednesday, December 28, 2005 3:09 PM
Published in 2006 by CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2006 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number-10: 0-8493-3752-6 (Hardcover) International Standard Book Number-13: 978-0-8493-3752-9 (Hardcover) Library of Congress Card Number 2005046691 This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the consequences of their use. No part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC) 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe.
Library of Congress Cataloging-in-Publication Data Murthy, Praveen K., 1969Memory management for synthesis of DSP software / Praveen K. Murthy and Shuvra Bhattacharyya. p. cm. Includes bibliographical references and index. ISBN 0-8493-3752-6 (alk. paper) 1. Signal processing--Digital techniques. 2. Integrated circuits--Very large scale integration. 3. Computer software--Development. I. Bhattacharyya, Shuvra S., 1968- II. Title. TK5102.9.M87 2006 2005046691
Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com Taylor & Francis Group is the Academic Division of Informa plc.
and the CRC Press Web site at http://www.crcpress.com
book.book Page v Monday, February 13, 2006 5:04 PM
Praveen Murthy
Shuvra Bhattacharyya
book.book Page vi Monday, February 13, 2006 5:04 PM
book.book Page vii Monday, February 13, 2006 5:04 PM
! #
" "
"
"
" #
$ #
"
" %
"
" "
! "
(
&
'
# "
%
&
#
(
" # "
$
" "
"
"
)& "
+ ! -3..0 5 -:;0 + 2 ! -3<30
2 +
* + * $ , " # -./01) $) # + $ 6 + 7 # 6
+ $ +
" -8.015$ ) -3.;0
-3440 9 6
book.book Page viii Monday, February 13, 2006 5:04 PM
!
" =
" ' #
>
"
" > " > & 2
'
(
(
"
" ( (
!
"
"
, " # !
#
(
' "
2 '
( "
#"
"
( % -:?0
"
%
" " ! "
# " "
-3@0 (
" !
' " (
"
# %
-3@0 !
# " " # * # -3@0
#
book.book Page ix Monday, February 13, 2006 5:04 PM
+ "
" "
3 " "
" *
"
# ! > " "
"
" ( A "
( +
& ( > " %
+
" "
. " "
" . *
"
" #
'
" "
# * "
"
% '
% "
(
A " #
& + A
."
# %
( $ " "
3
'
"
(
'
" "
* (
" "
"
#
(
(
"
'
#
'
!
(
+
( A C
"
<
" B
C7
"
( B
" '
#
( #
( $
book.book Page x Monday, February 13, 2006 5:04 PM
+
<
( +
8
$
! "
(
( B #
+ :
+
+7 + ;
C
$
@
+7 " #
"
"
( +
?
( (
"
"
"
'
'
" ' *
*
# 2
2 " ) % E !
7 D + # E * "
"
2 #
#
/
## %
+5+
# 5 E
D
$
$ $
"
+
$ $ 9
! #
5 E
# 2
9
9 5
E D
2
, 2
E
& "
+
"
" 2 *
+
#
2 $ F & " !
E
book.book Page vi Monday, February 13, 2006 5:04 PM
book.book Page xii Monday, February 13, 2006 5:04 PM
MAYI SARVANI KARMANI SANNYASYADHYATMA-CETASA NIRASIR NIRMAMO BHUTVA YUDHYASVA VIGATA-JVARAH
!
"#
book.book Page xiii Monday, February 13, 2006 5:04 PM
!
#
$ %
$ %
# ##
%
*% & %
$ '
$ %
%-
. '
(
"
* & 1 #2 ## #, #4 *# *# ** *& *1
$
'
(
% %-
%
'
. (
/ -0 $
.
/
-0
%
*, &
8(
$
% "
&) &4 1
%
%
7% %
$
% '
"
'
%
.
39
(
% %-
'
(
1#
$
15 )# )* )& )1
$"
' '
"
' 8(
'
"
, #
-$ %' & " + % % %- . / -0 1 % %! " ' ( % %- . / -0 ) 3%' . 3 /3 0 5 ' % %- . &5 ( % " ' ( % %& 5 # . +! '%6 % %- . /.! -0 &5*! % % %- . /! -0 &5& % % 7 % %- . / -0
) )# )*
# * & 1
$ -
1 " ' ) % 6%
# # # # #
& )
"
&*
& & & &
&
"
( $
+
& &*
5
"
-$
-
(
$ (
#1 + #1#
.
!
% 6
-$
% '
"+ --
$ '
% '
-
(
%
' 7%
( ' -
(
( %
% %
7%
!:
6
), )4
book.book Page xiv Monday, February 13, 2006 5:04 PM
#1*$ #1* #1* #1* #1* #1& #1& #1& #1&
#)
'
(
%
# * &
% %
# # # # * & # 1
#)
5# 5# 5* 5) 5, ,# ,# ,& ,5
(
!(--
(
) ) )
%
--
%
"
$
$
%
$ -
'
-
$
#$ *$
$
-
$
$ %
$
'
,5
'
6% # 6% * 6%
"
" %
' '
'%
(
(
7
% ;
7 $
$
!(--
(
(!
% ";
% ";
% "; !(-% ";
'
7
;=
< %
.
'
$>
(
7
)&
$
3 $ '
%< $
<
+
6
" % "; !(--
($' (
"
;'
' (
'
% -% -%
% "; !(--
#) #) #)
* *#
%
$
(
#)
#5 #,
$ (!
45 44
% "
2 21
( '
!(--
'%
*# *##
**
-( -(
%
* * * *
$
*&
( '
'%
6%
%
(
$
'
( %
(
$
'
%
(
$
(
$
!(--
!(--
-
%
%
"
!(--
$
6
%
&1%
%
( %
, 4 #2 ## #,
*1
%
$
'
%< (
%
&& &'
%
24 *
,
-
% (
% -
(
& '( &* && <
9 9
-
' (
+ '% !(--
'
-
'
* *# ** *& **&
' %
%
,5 ,, ,, ,4 42 42 4# 4) 4)
%
< %
( %
$
8(
( (
%
$ $
.
$'
*4 &2 && &5
% '
&, 1&
'
11
%
"
book.book Page xv Monday, February 13, 2006 5:04 PM
?@ & & & & & &
1 1 1 1 1 1 1
1 1 1 1 1 1
. '
. %
'
.
.' %
!
.
3
/ + 0 $ / . 0 ' % % < (
$
'%6
!(--
!
$ $
% %
-
%
-
% %! 3
,* ,& ,1
%
( % !(
% "
11 1) ) )* )& )1
)5 52 5 5) , ,# ,*
3
(
15 ! 15# 15* (
%
.
%
# * ' & ( 1 ' ) %( 5 !
1, 14
/ 0
% %
# % * & ' 1. ) %
-
,1 ,,
6%
(
!" )
$ $ %
) )
# !(--
) ) ) )
(
$ $
%
'%
-
-
* *# * * -% * & (!
)&
(
!(--
42
%
4 4*
( %
!(-+
$
(
-
%
"
%
"
2
-
--
"
-
'
( %
%
#21 # 2 # # # # ) # ,
# 4
$
##
% '
% '
6
5 5 # #%! 5 #
5
%
( % $ 1 % $
(
5
5#
A
%
)# $ $ )*%'(
5
(
<
%
5#
+ %
$
(
$
(
$
+( % (
$
(
% '
### #* #*# #** #*&
#*) #*)
book.book Page xvi Monday, February 13, 2006 5:04 PM
5##' 5#* % 5#*
5*
$
-$
( %
#*5 #*5 #*4
% '
" %
" %
'
(
$
#
(
! , ,#
(
6
,# ,##
,* ,& ,1
- %
%
< 6
%
!
.
+%
-$
%
% '
#&) #1#
$
#11 #1)
#14 #)#
(
(
+ %
% " $
<%
<
%
(
,&
%
. '
(
!(--
'
(
#)5
#5
(
" 4 $( % " 4 # -< + 4* - $( %! 4&$ % '%
7% " $
#5* #5) #55 #55
" #
"
book.book Page 1 Monday, February 13, 2006 5:04 PM
1
$
))
"
& *
"
" '
(
" E #
))
(
#
!
' "
+ ! " G
+
&
&
book.book Page 2 Monday, February 13, 2006 5:04 PM
# " #
2 )1 8 $ +2 2
)
)) "
E
2 E
#
"
(
"
"
( "
#
!
(
1 H%
(
&
"
&
H
# &
$ + % 1$ 5 +
1 # A "
& $ + " #
1 :.;
" "
"
7
I "
, +
$ !
+ &
(
&
"
, "
"
(
"
& $ !
&
& % $ + , "
" #
book.book Page 3 Monday, February 13, 2006 5:04 PM
BC
*
, %
' " 5
5
2 + "
2 + G
"
-?80 )&
" 1 2 +
"
2 + "
"
" 6
+ E
!" 7 # -?@0
2 +
E
2
" -:0
E
" A J -.80 -@@0
-;/0
G62
$ *
B
C
!
"
"
#
& =
! & !
" "
" & % $
& (
book.book Page 4 Monday, February 13, 2006 5:04 PM
& # >
#
! A
& !
" :4
::.4
./.4 !2 <.4+34>
7
F)+
3
!&
" !
* !
#
!
"
(
' & !
(
=
(
+
88 344 @. 2
4: 2 A (
!
&
"
(
* (
' "
(
& & " &
2 )1 D )1 , .;8 ?4. 3
1 :.&
book.book Page 5 Monday, February 13, 2006 5:04 PM
BC
"
1 # 2 ( # *
" "
"
"
$ " &
! +;:& & &
" >
! &
( " ! !
( " (
"
,
"
&
' %%!
I
I
%
)& &
!
&
" 5 ! 5$2
' &
#
' ( " *
*
*
'
&
& " &
"
*
!
"
& !
(
*
" "
=
* "
&
book.book Page 6 Monday, February 13, 2006 5:04 PM
) )& $ * ! $ 3;
$
& +3844
# G%
G
# !2 <.4+;:& 5 + # > 7 ! "
!2 <.4+;.& & ! 7 #
*
! .4&
& !
*
<. +3.44 & & !& # -330
*
$ -/;0
&
"
" !
"
&
&
8 $
+
&
"
& " B(
"
! "
3/.
C
+ #
B(
C
#
3.@#7 33
%
!
!
!
( # )
* "
2
#
2
"
( (
B "
C
book.book Page 7 Monday, February 13, 2006 5:04 PM
BC
#$%&'
5
!
+
2
+!<;3;
book.book Page 8 Monday, February 13, 2006 5:04 PM
, + "
" "
" ' "
"
"
" #> , "
= & " #K 2
"
& ,
"
(
-30 -34;0!
! !
"
"
"
* "
) &
(
"
"
"
7 & # -?;0 -?:0 -?/0 -/80 -3.:0 $ "
& -3:0 * "
"
3; 7
# , " # ( !
>
( "
* "
& #
!
(
(
) A
" $A ) +
!
" -?@0 =
book.book Page 9 Monday, February 13, 2006 5:04 PM
BC
4
“Actor-oriented design
"
E
' "
+
&
"
"
E
%
"
"
3.
#
! "
!
" + *
"
E
! " " #
&
>
! &
&
" !
#$%&' %
$ .
;
-?@0
&
book.book Page 10 Monday, February 13, 2006 5:04 PM
2 & )& ! # !
&
" %
3. L2 + C
$ !
$A )
(
=
& ' " $
!
#
2 + $ >
& %
&
& +
"
" &
$A )
" -./0
+ + *" 2 " # M$ + -;80 +
" 9 6 !
+ 1) $) +
* + " # # -8/0 $ -3440
$ -?@0 A -;0 " " + ++ 2 -:0 6+ 7 # -:<0 6 9 5 -:;0 B
C 1
"
E 3//4 -?40 3/?; 3//4 "
' + 9 F "2 & 15$ ) 3//; -3330 -.?0 !
E
book.book Page 11 Monday, February 13, 2006 5:04 PM
BC -8.0 -?@0 )) "
2 + (
"
2)2
#
A #
))
"
" +
" "
"
)) A
-;0
2
-:0
"
" A
2 "
" "
"
" "
A
& 2
"
2 + "
-:0 !
&
"
2 + "
%
" # & $A )
" %
"
, ! B
C
+$ "
&
2 + -3330 $ -;@0
# +NN 2 + " B C " # "
2 + + + D)! -3440D)! F 6! A6! 6! " $5$2)!)5 !$!)
> " $5$2)!)5
book.book Page 12 Monday, February 13, 2006 5:04 PM
# !$!) )!6 O+A ) 7)1 FO+A ) *5$ 6 O+A ) "
2$ FO+A ) &
&
*
! %
" " "
%1 " "
$
B C
&
B
C
# #
B
B C -?<0!
C
& & %%!
! % %A
(
# )
"
%
P1
3<
) =
( Q
(
( ( (
"
P
A
3D
C
#$%&'
( $
"
B
book.book Page 13 Monday, February 13, 2006 5:04 PM
BC
*
!
" #
% %A
!
#
" # " # " -@@0 -8.0
(
" 2 + " 2 + -<0 %
&
* 6
"
&
"
$
&
" % "
& (
! % &
" # % %A
(
"
&
%1
" %1
&
"
"
(
=
" ! "
(
" + " (
" 7
& D
A (
+
&
"
"
&
& '
E
!
"
book.book Page 14 Monday, February 13, 2006 5:04 PM
& "
"
& ( !
" B "
C
"
(
I
" *
" "
" & (
"
"
&
"
"
" $
" )
2 #
"
&
-?30
+ "
%
%1 &
% !
" "
*
"
$
# " "
'
"
"
" " "
& & &
>
! (
$
"
" " &
(
book.book Page 15 Monday, February 13, 2006 5:04 PM
BC
1 #
(
&
" & " " , "
" G
&
(
"
%
% %
" !
B &
C #
& , +
)
"
%
-3440
"
&
2 + "
2 +
& "
# -@80 -.:0
!
+A5)
( -/30
*(
"
!
#
" " " "
&
B C
$ "
book.book Page 16 Monday, February 13, 2006 5:04 PM
)
%
" "
&
# I" "
"
#I
! "
%
=
# %
9
2
-;?0
3/;; !
(
%
&
"
!
"
( # # " (
( !
%
# 9
#
2 "
( (
> I
( "
"
# + % %
38
,
%" I"
( " "
& $
#
+ -34?0"
-<.0
% &
% 38 ,
%
!
$
%
" " #
%
& !
Q 1
book.book Page 17 Monday, February 13, 2006 5:04 PM
BC
5
Q 256
!
%
3
" " ' (
>
# ! &
"
%
#
.
%
"
%
(
%
%
%
"
"
"
(a) 1
1
A
1
256
B
256 1 C
D
(b)
#$%&'
*
$
"
!
%
book.book Page 18 Monday, February 13, 2006 5:04 PM
, 2 7 " % "
<
+
$
"
"
" " *
"
)
)
" $
"
7
" =
"
" ( &
A
$ !
% ( $
&
" %
&
% &
"
% # -3<.0 -:?0 -3@0 -3.30%
3@ +
" -3440 $
% $ +2 1 :.; <. #
> !2% <@4
" " %
+384
% !
"
book.book Page 19 Monday, February 13, 2006 5:04 PM
BC
#$%&'
4
- $
%
+
book.book Page 20 Monday, February 13, 2006 5:04 PM
#2 % " *(
"
#%
"
!
%
" Q # $ #
#
! "
Q
"
Q
! , *
33
$
(
33
)
" +
(
*
0
% 3
!
.
!
2
#
"
&
"
-:?0
'
( & '
( '
! +
"
A
"
(
&
" 1
& %
( "
&
"
" +
"
& +
"
+ " "
$
"
% # N $
& "
& %
-3@0
&
% Q
& Q
' Q 256
"
% Q 1
38 !
book.book Page 21 Monday, February 13, 2006 5:04 PM
BC
# &
%
&
! &
% #
" |
#
"
$
$ &
#
%
%
Q 3
! "
& Q 2
# #
"
3; "
Q 1 &
#
&
#
&
F ( (
#
A
# I " 0 I
# A
%1
! " 2
$ -3@0
" # " "
-:?0
2
3
A
1D 3
.$
B
3D
1
#$%&'
-
#
1 2
C %
"
book.book Page 22 Monday, February 13, 2006 5:04 PM
## %
"
" + % # ! 2 * # * + * 1) $) # -8/0 $ $ % 1 -?40 # -?@0 6+ 7 # 5 -.<0 !6+ % 2 ! -3<30 % 6 2 -;<0 +) F 6 9 ! +A5) -<40 6+ 7 # " % 1$ " % ! % A ( "
&
" #
$ # " "
' "
'
&
" &
%
** +
)
#
% 38@ %
+
" "
% &
%
#
"
#
&
-..02
+
% "
1 2
" " G
% %
1
"
2
1
$ !
&
+
% "
"
2
% "
3: "
book.book Page 23 Monday, February 13, 2006 5:04 PM
BC
#*
<
% Q
"
( N
Q 0 1 2
"
0
" " "
$
(
% %
+
(
( Q 3 (
3:
$
(
(
3 3 3 >
"
434 #
% +
% (
" " $ +
+
%
-..0% +
%
% '
% (
'
(
,+
)
'
%
'
+
% '
! '
% 3
' Q
.
' Q Q1
{1,1,1}
{0,1,0}
3
1
3
3
(a)
#$%&'
/
(b) +
%
%
"
'
book.book Page 24 Monday, February 13, 2006 5:04 PM
#& 3
"
' Q
<
Q1
"
+ $
" B % (
C
%
&
"
#
(
"
# !
(
% +
3:
%
%
% "
" , "
+ +
%
3: ( &
%
P &
% "
$
&
& +
Q
%
3?
&
%
%
2
P1
N
"
N
+
3? !
3.
P1
% "
! & Q
"
+
% 3.
P1
(
%
3?
(
N
N
3<
P1
#
#
"
%
3< +
% "
% "
&
(
+
%
%
book.book Page 25 Monday, February 13, 2006 5:04 PM
BC
#1 ( #
" I " "
I"
" #
"
#
&
! + %
B %
C
( # #
( % (
+
% +
! %
% 3?
%
D
F
3/ " B
B
{0,1}
IN
A
C+
{1,0}
K {0,1}
{1,0} 1D
1D E
C
OUT G
#$%&'
0 $
& +
"
% !
" "
# $ "
G
(
3
%
book.book Page 26 Monday, February 13, 2006 5:04 PM
#) "
( %
%
3/
" #
&
"
" 1 )'&
+
2
$"
%
% +
2
3? " %
1
% #
# %
( "
+
%
"
,
%
" ! % +
% %
% + % 3 34 ( "
3 33
#
(
" *1
*2 !
"
+
%
(
#
#
*1
*2 delay-free SDF cycle ==> deadlock
D
F
B
A
1
IN
1
K
1
1 1D
1D C
E OUT G
#$%&'
1
%
%
3?
book.book Page 27 Monday, February 13, 2006 5:04 PM
BC
#5
1D A
B
D
C
W
(b)
(a)
(c)
W’
(0,1)
C
2$
"
&
$
1 7
#
%
% +
%
*M + %
B
A Source 1 {N,N}
{N,0} 1
Distribute
B
A Source
#$%&' (
$
1
2N
&
"
+
%
*3 M =7 *3 M + * .M
{0,N} 1
b)
* #>
* .M =$ $
a)
C
(1,0)
D
#$%&'
D
N
1
N
1
Distribute
+
%
C M1 M2 D C M1 M2 D
book.book Page 28 Monday, February 13, 2006 5:04 PM
#, +
%
%
"
3 33
'(
!
3(
( "
+ %
(
% B
#
C
"
" %
3 33
"
!
% %
#
%
$ ' 2( ! % 3 33 % 3 33
4( "
+
% %
+
%
'
%
( (
<
"
'
+
% +
+
$
)
*-
"
!
#
%
&
%
'
"
" &
#
-3.40! %
"
&
"
(
#
(
# &
" "
&
"
"
&
& !
'
%
(
! % ( % (
'
"
% '
E
+
. "
book.book Page 29 Monday, February 13, 2006 5:04 PM
BC
#4 %
# "
!
$ 6
-33/0
*. !
+A $
+
3" !
4
3!4
3"
3!4 1
"
9
3/:8
-;;0 " (
! "
"
&
>
"
" #
" $ M "
" (
& B
!
C
9 " # , & (
$
# M (
& &
&
&
&
#
&
&
&
"
>
& &
&
9
&
#
#
"
&
>
" 9 &
" # & &
9
!
#
-3<40
& " &
(
"
9
" #
book.book Page 30 Monday, February 13, 2006 5:04 PM
*2 !
&
" # ! #M
"
&
& I "
" # $
( 9 & &
&
" # " #
( "
>
"
" # " , " H 9
" #
"
& F
=
" #
"
&
#
"
5
" &
"
" #
"
"
$
"
&
"
&
" & #
"
& &
I &
&
"
" "
" &
& 9
M
'
" "
9
>
2 M " 7 % 9
" # #
-;?0 "
, "
9 F
% "
7
! ' '
%
7 '
book.book Page 31 Monday, February 13, 2006 5:04 PM
BC
* >
" " D )1
&
% 2 )1 ' & %
, " % 9 F
%
9 F
2 +
&
&
" $
#
"
"
"
"
" # !
9 " "
M C
B
# -?<0 9 F +A2 $$F
>
& -3.;0 & 2$! $7
E
" 9 F
9 F
&
&
"
"
% 1$ 2$! $7 &
+ 6 ! !
2 )1
D )1
"
>
&
9 F
+ "
" 9 F 9 F 9 F E
-34/0!
' ' 75$
9 F
,
! % 1$ $
E 9 F +A5) -<40
"
9 F
book.book Page 32 Monday, February 13, 2006 5:04 PM
*#
*/
5"
! "
% +
%
% $
&
" $
" ( "
"
*/
& "
#
! -?.0
" 2
&
2 -3430 &
%
% 2
%
" !
B
C
(
2
% &
%
3 3.
!
'
"
1
"
2
"
%
#
"
*
(
*
" * ! 1%
!
1
Q
( 2%
& 1 & 1
2
Q
% & 2 & 2
(
+
+
$
2 #
?&?
#
% 84&8?
"
%
1
%
2
& +! $
& 1
& 2
A
#$%&'
B
$
2
%
3 3.
"
book.book Page 33 Monday, February 13, 2006 5:04 PM
BC
** "
"
%
3 3<
!
( 1
Q
2
$
Q 1
Q 5
1
'
2
'
Q 6
& "
'
% !
3 3<
!
# ;
'
! "
"
!
&
" >2
<4
% %
+!
3 3< ' "
"
& %
3 38
-3430 *
"
"
)
" % */ !
6 ) 7 "+
"
1
% +
%
" *7 %
-8:0
1
& ! 40 48
(a)
(
$ &
8 8
*7 % 8 8
DCT
dimension 1
A
(b)
#$%&'
%
67 #
E
!
2
dimension 2
2
%
book.book Page 34 Monday, February 13, 2006 5:04 PM
*& " , "
( "
( */( !
7
7 #
7
" 7 %
"
-.:0
&
"
7 % " #
G
7 % !
)
# % 7 %
"
&
" &
% " # -.:0" , " ( (
-.:0
A
(2,2) (1,2)
(1,2)
.....
#$%&'
* 2
(1,3)
% &
B
book.book Page 35 Monday, February 13, 2006 5:04 PM
BC
*1
*/*
!
8
'
! # " -3?0
" #
" " ' E
"
" "
! %
3 3@ "
'
" "
,
!
! " ( ) " # $ " B " !
C
" ! !" ( ' "
" "
="
'
" "
H! " "
!
# " ! (
(
! ! " "
book.book Page 36 Monday, February 13, 2006 5:04 PM
*)
in
out
H
(a)
Q
,
out
in
"
(b)
#$%&'
- !
& "
" #
B
'
$
' # &
"C
"
" & $
" ,
, $ "
book.book Page 37 Monday, February 13, 2006 5:04 PM
BC
*5 (
I !
"
M
! '
" "
"
( 6
#
" '
"
( "
'
2
" "
"
%
&
( % ! &
'
2 "
%
"
"
"
' & !
"
' "
""
+
"
"
"
+
'
+ !
" B
&
'
+ -C %
"
" " +
%
$ & -3?0
+
' " # "
!
"
%
% E
! !
(
%
( % "
#
& &
+ %
.
%
&
" '
" #
%
book.book Page 38 Monday, February 13, 2006 5:04 PM
*, ' "
& %
"
&
$
% ( -3?0 -3/0 7
F ' " '
" -34<0
!
2 + !
1.1
'
-
2 +
"
#
9 ", "
5!
"
$A )
( $A ) 5 C
"
" " " +
'
#
"
> %
#
B ) $A $A '
(
"
( +
(
= ! "
,
! A
" ' % ' ! !
( # "
, "
book.book Page 39 Monday, February 13, 2006 5:04 PM
BC
*4 , "
% #
"
#
"
" ,
-;.0 -3<@0 !
,
5! " A
-;0 $
& "
A !
2 + " #
9 7:
5!
7
) "
J)
J)
J)
J)
J)
J)
J)
J)
J)
J)
J)
J)
J)
J)
FA
FA
FA
FA
FA
FA
FA
FA
FA
FA
" " % % " " " '
%
9 " #
book.book Page 40 Monday, February 13, 2006 5:04 PM
&2 +% 2 > +% 2 &
# % 2
"
&
" # )
+% 2
+% 2 !
A " #
" +% 2
$ "
G
" =
" !) !
$
1F "
$ !) !
1F 7
-.@0
+% 2 7 " ' ' !) !
7
'
-3.<0 -:0 A
' "
&
B
! # S +M " #
2
+% 2 5!A " #
C
' 2 + '
"
-:0
2 + 2 + (
" 2 T -<80!
(
' % %A
( &
T
#
>
( "
A
"
# ! "
(
-:/0 -@80 $A ) 62
book.book Page 41 Monday, February 13, 2006 5:04 PM
BC
&
2 ! ( +
" " $A
(
"
$A
"
#
'
* "
"
& (
" (
"
' " %
"
&
" # "
'
#
#
"
2 + , 2 +
& +
!
(
"
#
" #
, "
(
3;
" * ' # +
" "
#
+
"
' "
) + "
+
" -:80 *
.
" +
+
$ " (
! 3.. !
" #
+
book.book Page 42 Monday, February 13, 2006 5:04 PM
(
# " ( -880
"
"
( $ ,
6+ 7 #
-@:0 -@?0 "
"
# &
"
&
$ "
" -33?0
# "
-33.0 >
"
$1)5 -/<05
# " 7 " ' 2
1
"
-33.0+
-33<0$!A2 62 -?0 B
, -<30 -/407 C
" !
" $F
" # " !2 <.4&&& A " " "
#
#
2 "
+ +
@;&&&
& !& /;&&& B
" #
"
(
+&&&
%
C & % 3 3; +384> L_mac()
book.book Page 43 Monday, February 13, 2006 5:04 PM
BC
&*
! $F
+
L_mac()
& ! "
( -<@0 -8<0
#
"
(
" "
6 +
>
-??0 )
int main() { Word16 TNM1=0, TNM2=0; Word32 TN,TNP1,T1,T2; int i; for (i = 0; i < DataBlockSize; i += 2) { TN = L_deposit_h(DataIn[i]); TN = L_mac( TN, TNM2 , a2); T1 = L_mac( TN, TNM1 , a1); TN = L_mac( T1, TNM2 , b2); TNM2 = round(T1); TN = L_mac( TN, TNM1 , b1); DataOut[i] = round(TN); TNP1 = L_deposit_h(DataIn[i+1]); TNP1 = L_mac( TNP1, TNM1 , a2); T2 = L_mac( TNP1, TNM2 , a1); TNP1 = L_mac( T2, TNM1 , b2); TNM1 = round(T2); TNP1 = L_mac( TNP1, TNM2 , b1); DataOut[i+1] = round(TNP1); }
#$%&'
.6 +384
" '
book.book Page 44 Monday, February 13, 2006 5:04 PM
&& /4R + -34;0
"
"
34R
$ "
" # " $ 7
'
-.30 7
" "
# +
# " "
%5
*
5
" #
# + ,
%5
+" "
2
"
#
"
-3:0
' $ = 3
= " ! 5
.
2
'
=!
(
& 5 <
+
=
'
5 !
= U
U
+
5
=$ 5
E ' =!
&
book.book Page 45 Monday, February 13, 2006 5:04 PM
BC
&1 U
=A " ' &
' '
!
" *
#
" 5 +G
+ + # " '
# (
! "
"
"
& $ 6
#
' ;
E
"
$
"
" =
&
# #
#
# "
U
,
= (
= ( &
!
&
E
'
" # &
"
!
(
& " "
U
2
'
"
(
=A
(
5 #
"
,
" " #
'
'
book.book Page 46 Monday, February 13, 2006 5:04 PM
&)
U
+
=
"
'
&
.
,
% (
5
(
! #
"
#
"
# "
"
"
# " #
# 7
5 $1
$1 " Q # $ 7 ! $
#
"
!
( !
$1 &
$
" #
1
$1
+ ) "
% %
3 3: 3 3:
$1
# "
$1 " $
67 26
& 26
"
( !
! % 3 3: " A$ !A5) # $ 67 " Q N "
A$ $
!A5) !
" ' $
$ &
% #
"
A$
26
#
"
A > $
&
26 2$+ "
book.book Page 47 Monday, February 13, 2006 5:04 PM
BC
&5
int a,b,c,d,x,y,z; void x y z }
f() = a = a = c
ld a
(a)
st x SUB
LOAD ld a
ld b
ld c
LOAD
ld b
MUL
ld c
st y
st z
(b)
ld d
ADD
st x STORE
st y STORE
st z STORE
(c)
SUB
LOAD ld a
LOAD
ld b
st x STORE
ld c
st y STORE
MAC ld d
st z STORE
(d)
#$%&'
/
ld d
{ - b; - b + c * d; * d;
$
# 2$+
$1
+
book.book Page 48 Monday, February 13, 2006 5:04 PM
&, %
3 3:
, " 2$+ (
A
$1
F
-.0
, $1 $1
A #
+ ) + ) "
, "
F " # (
+ )
$ ( -80"
" " * # " & '
-80
#
" %
" reg: PLUS (reg, mem) reg: PLUS (reg, reg)
# # 7
" #
"
accu: PLUS(accu, mem) accu: PLUS(accu, pr)
"
$++6 &
! !2 <.4+.@
5 ! #
2$+ "
book.book Page 49 Monday, February 13, 2006 5:04 PM
BC
&4
%
'
" "
"
-?/0
-3:0
.
5
!
8
' "
# # !
'
"
= #
> # & .3&&
$ #
#
2
" /;444 # !
@;444 "
"
! '
"
# "
#
"
#
>
" #
-3.:0 # , A
(
'
"
& '
( '
" #
" >
$ &
" &
> "
, *
"
& " E
& A
& E "
"
&
book.book Page 50 Monday, February 13, 2006 5:04 PM
12 (
#
" &
" '
'
' %
"
# #
-3:0=
# Q
" Q
$
0 1 2 3
Q
# .
( ' 3 3?
* " "
.
3 % " (
! "
&
#
" =
. . !
1 3 "
" .
2 $
/
"
" ' %
"
A 3 3?
@ % *.
.
!
' &
-/0 -?/0! (
" "
"
"
!
! $
3 3? #
" = "
!
( %
"
&
& " "
"
,
">
& "
'
*.
,
+
" "
& 6 '
F -?/0 $5
book.book Page 51 Monday, February 13, 2006 5:04 PM
BC
1
!
"
-3:0 (
&
.( (
! " *
* -0 #
& (
!
LD AR,1 AR += 2 AR -= 3 AR += 2 AR ++ AR -= 3 AR += 2 AR -AR -AR += 3 AR -= 3 AR += 2 AR++
0 a 1 b 2 c 3 d
cost = 9
LD AR,3 0 c AR -AR -1 a AR -AR += 2 2 d AR -3 b AR -AR += 3 AR -= 2 AR ++ AR -AR -AR += 2 cost = 5
b d a c d a c b a d a c d
a 3 c
#$%&'
1 4 1 2
0 ! $
"
b 1 d
& !
b d a c d a c b a d a c d
$
book.book Page 52 Monday, February 13, 2006 5:04 PM
1#
" #
2$+ 2 J $ -?:0"
(
(
#
& *
& ( "
(
( ! (
" *
-3:0 $ '
(
,
-3480
(
7
" # -?;0 "
& "
$
& '
" 5 E ) & & " ' % E
" -3380 ,
&
-33@0 % E ! # .@P/4 + 3 3? ' * " # &
! (
/
5" ' !
6
<4
:
"
" #
# * "
"
' " # " #
" #
book.book Page 53 Monday, February 13, 2006 5:04 PM
BC
1*
$
& "
!
E
$!A2 62 , "
" ' " #
E
#
!
$!A2 62 "
E
-0 -840
& ! 6 '
'
( "
-0 " -840! '
"
"
"
" " "
E
E ( %
"
#
=
'
%
$!A2 62
(
#
E
%
( " &
' !
% (
" "
"
"
( $
&
-3<<0! #
#
-3@0 !
V "
"
"V
&
" " %
" &
"
(
=
book.book Page 54 Monday, February 13, 2006 5:04 PM
1& for (i=0; i < N; i++) { for (j=0; j < N; j++) { (S): A(i,j) = ... } } for (i=0; i < N; i++) { for (j=0; j < N; j++) { (T): B(i,j) = A(i,j) + ... } }
F " " &
! &
/
!
B
/
= , "
" (
!
C
"
"
(
"
(
-840
&
'
$
' 2
=K
'
K
" 2
"
"
#" %
%
"
&
#
!
& "
'
B
"
& #
B"
"C
#
' E C
%
" ( Q 3
3 3/
!
#
#
" #
# !
"
# #
# #
#
, "
" &
E "
" "
#
&>
book.book Page 55 Monday, February 13, 2006 5:04 PM
BC
11
" "
#
"
"
#
" "
' &" "
' (
'
" " $
" "
( (P1
"
A #
(
'"
E "
(
-<:0
&
" '
' "
!
" #
-<:0 " # , "
&
&
&
!
"
"
*
" * " "
" &
"
" #
"
"
"
(
$ 44 $ 34 $ .4 $ 43
E
$ 33 $ .3 $ 4. $ 3. $ ..
#$%&' "
1 $ E
' '
"
book.book Page 56 Monday, February 13, 2006 5:04 PM
1) %
% # %
"
" #
'
book.book Page 57 Monday, February 13, 2006 5:04 PM
2 (
%
&
"9
! "
# % -<<0 7
#
(#,$) "
"" "
$ src
snk src
)
"
$
snk
+
# $
#
= *
+
& src
" &
snk
src
& src
>
snk snk
>
> >
*
" &
" src
snk
15
%
book.book Page 58 Monday, February 13, 2006 5:04 PM
1, &
% 1
2
3
4
1
src
1
Q
1
2
snk
1
3 1
4
5
Q
2
"
1
(#,$) "
src
Q
1 1
2> !" 2
#2
2
#1 #2
snk
2
Q
2> 1>
2 1 1
E
# 1
>
2
& 7
E
2
$ src
snk
*
1
"
#
" &
"
$
(#,$)
" 1
snk
1
Q src
2
#
$
3
snk
2
& " (
2
Q src
3
e3 e5 v1
e1
"
" Q # $ " # "
#
subgraph # " > " subgraph #
&
2
1
>
2 1
2
1
$
"
.3 "
v2
e2
e4
#$%&'
$
v3
v4
#1
book.book Page 59 Monday, February 13, 2006 5:04 PM
B!
D
C B
14
*
Q
2
"
3
src
0 Q
"
1
snk
%
A
"
# Q
snk
-$
"
"
0
"
0 1 src 1
"
1
"
2
&
(
$ %
src snk
src
"
1
$
snk
> 3
#
1
E
N1
subgraph # / ! # "
1 4
Q 1 2
P1
E %
"
2
E
2
0
" Q # $
1
3
(
&
" .3
%
1
& !
.3 2
1
*
" 1
3
(
( #1 #2
>
src
$
"
#
1
# snk
&
#/ " %
#
&
% .3 1
2
3
4
(#,$)
$ 1
2
1
2
book.book Page 60 Monday, February 13, 2006 5:04 PM
)2 2
#
1
*
#
subgraph (# ,(#,$)) (#,$)
$ #
# # %
#
%
= 1
!
4
! E + $
2
3
4
5
6
5
!
-<<0
1 =
&
# $ # $
&
%
# and snk
.. 1
(#,$)
1
Q
#
I
$ I
2
%
#
v1
v3
v6
v2
v4
v5
2
Q
# $
$ src
#$%&'
# $ snk
# $ # $ #
%
&
..
3
4
5
6
book.book Page 61 Monday, February 13, 2006 5:04 PM
B!
D
C B
) subgraph # (#,$) >
"
#
(#,$) subgraph #
"
(#,$) (#,$)
$
1
2
#
#
$
src
and snk
Q
Q
/
/
>
& #
& !
%
..
subgraph
1
"
3
4
6
= 1
3
4
6
1
3
6
4
$
) "
& " P1
" )
1
N1
%
2
1
&
% subgraph
"
2
P1
.. 1
3
6
!
book.book Page 62 Monday, February 13, 2006 5:04 PM
)# subgraph
3
4
6
" subgraph
> 1
2
%
.3
3
" #
B
"
C
B
C
"
" " $A )
!
G
#
" "
!
% %A (
$ " #
# !
#
" # " % -:?0 #
" &
" % #
"
& # %
.<
" # % #
" 1
%
) #
" $ # Q
% %A " ! ' " !
Q 1
" #
> #
E
# "
" $
" "
" Q # $
%
book.book Page 63 Monday, February 13, 2006 5:04 PM
B! $
D
C B
"
)*
(
* + #
"
%
I #
( %
"
&
* "
"
"
&
"
! ,
"
" .3
Q "
1 "
% #
"
snk
( $
" >
snk
" Q
( $
"
.
# (
#
" src
" Q
( $
&
"
" !
"
( $
"
( $
"
&
+
"
-3@0) #
! $
1 1 Q 1 %
' -3@0
( $ " C
"
#%
" B
+
" , "
#
!
book.book Page 64 Monday, February 13, 2006 5:04 PM
)&
2
% 1
"
%
#
! " #
"
! & "
"
!
(
G
" "
*
" 1
!
#%
"
%
( E
' # ! ' " +
?
#
" ' *
'
"
' ' "
"
E
" "
& E
' "
* "
.@ "
' -<;0 -30 -380 -3@0* " '
' "
.;3 % ' #> " G
A '
-3.40 ' -@<0 ' -3.30* "
" &
"
&
"
( -@30 ( "
.;
book.book Page 65 Monday, February 13, 2006 5:04 PM
B!
D
C B
)1
-
)
:
!
" %
( " "
" "
. 8=
' '
" ( "
" '
'
!
% (
'
&
"
%
%
" % %
% 2
!
&
.<
"
&
"
1
#
&
" "
# %
"
&
.<
"
"
%
.<
" "
&
#
"
"
&
"
&
!
%
2
'
3
4
% 2& 2
4
"
( (
&
" 2& 2& 2
& >
& &
(
&
+
&
' " '
" 2
" 3
" %
4
& 4
"
" * #
%
.<
book.book Page 66 Monday, February 13, 2006 5:04 PM
)) "
" " ! 4
"
%
.<
"
#
"
#
1 4
"
" "
( ( 2
#
3
( * "
" '
"
"
'
% #
"
(a)
A
(b)
20
10
B
10
20
C
3 =$7+7+++
. =$ . 7 . +
< =$ . 7 8 +
8 =$ . 7+ . +
code block for A for (i=0; i<2; i++) { code block for B code block for C } for (i=0; i<2; i++) { code block for C }
(c)
#$%&'
( $ %
&
" (
book.book Page 67 Monday, February 13, 2006 5:04 PM
B!
D
C B
)5
! " " &
"
"
% &
'
% 1
% !
2
log
N
%
& '
% %
.8
2
" 2
Q * +
Q 2
) "
#
2
" $
%
"
%
"
1
1
=
1
( %
% &
%
.<
@4 84 ;4
(
@4
F
I "
% -3@0-;80-:;0-33/0$
I
&
E
-3330 " "
# " " , "
A1
#$%&'
m1
1
* $
A2
&
m2
A3
1
%
mn
"
&
1
An
book.book Page 68 Monday, February 13, 2006 5:04 PM
), " * "
-
') "
E
"
"
"
9
$
$
"
! " " $
"
"
-/?0
3 3
<
"
$
3 3
"
+
.
$
.
3
.
"
)(
..
. .
..
$
E
" 5 1 >"
5
" "
!
"
!
" " "
" % .@ " " F
" " % "
$
%
( 3 %
.@
$ &
&
, "
, "
"
3
6& 2
#
"
"
:#
!
0 "
#
0
3
book.book Page 69 Monday, February 13, 2006 5:04 PM
B!
D
C B
)4
$ $
Q !
"
Q
-
' 8
!
+! 5 > +
8
"
E
'
'
(
!
(
'
'
' ,
E ' '
' !
(
+ "
' A ( ' !
# I
'
'
'
(
" '
A
10D 20
10
1
3(A 2B) 2C A
#$%&'
-
10
30
C
1
3A 6B 2C 2C
3
B
'
3A
2B
1 6B
"
2C
book.book Page 70 Monday, February 13, 2006 5:04 PM
52 'G ' $
&
"
%
.; !
% # 8? #,' + $! ! =.= 3 8= < 8= :
88 3 #,' @= : )&
" %5
-@;0
!
%
.;
"
'
"
2
@;444
! ' !
!
! " ' -380 ! '
!
"
' % '
A
"
1
1
B
2
3
C
4
7
D
CD
4
7
E
5 1
F DAT
Minimum buffer schedule, no looping Minimum buffer schedule, with looping Worst minimum code size schedule Best minimum code size schedule #$%&'
$ '
.$
Code Data 13735 32 9400 32 170 1021 170 264 (
book.book Page 71 Monday, February 13, 2006 5:04 PM
B!
D
' %
C B
5 +
.; "
& "
'
"
' "
"
'
B
'
C
= @@
'
B
C" '
?
>
' " "
+
? " " ' " "
(
/844 "
'
" '" &
'>
'" "
' !
'
% ' " ' , "
" ' '
.;
" ' ( "
" "
' + ,
? "
E
'
HA ' #
6 '
&
%
?
" " " ' !
' +
' +
(
? "
" >
' " 7
( "
(
"
"
" " " '
book.book Page 72 Monday, February 13, 2006 5:04 PM
5# *
&
"
-3@0
(
'
-(
%
"
-( $ (
"
%
& &
( *
" $
! $
9?
% $
"
& % -3<0
@
5'
%
%
$ $
9?
@$
5'
% "
! 1
# #
#
$ 1
5'
subinde%
$
2
loosely interdependent " & $ -3<0 =
2
& "
(@$
1
tightly interdepen-
%
$
" "
%
$ "
1 2
1
9?
2
2
! pendence ! % dent !
"
% &
! -3<0
book.book Page 73 Monday, February 13, 2006 5:04 PM
B!
D
C B
5*
, "
"
& %
!
$
" # =
U!
B
C= 0 1
% " !
%
01
"
02
B & C tightly interdependent components
01 $ 02
01
02
(
"
"
02
" "
U
% " !
1
" "
2
1
"
2
1
!
2
% "
"
I -(
:
$
"
$
% :$ #
" "
!
" #
" "
@
#$4$9$54
"
%1
%2
! .: !
"
# #
%4
%
"
"
%3
% %
# %
3 % 1 %2 %3 % 4
# ' ( 3 • • • •
!
"
.3 * " %1
"
%2
%3
% %4
)
book.book Page 74 Monday, February 13, 2006 5:04 PM
5& procedure ScheduleLoops input: a connected, consistent SDF graph " . output: a valid unit blocking factor looped schedule
"
3
for
". step 1: Use % 2 to determine the nontrivial SCCs 0 1
0
step 2: Cluster 0 1 0 2
&
0
into the actors & 1 & 2
of " .
respectively; denote the resulting acyclic graph by " . step 3: Apply % 3 to " ; denote the resulting schedule by step 4:
.
Q 1 2
for
denote subgraph 0
Let "
.
Apply % 1 to " . if + 4
0 are found such that + is subindependent of
4 in " • Determine the connected components + 1 + 2
+
and 4 1 4 2 4 ! of subgraph + and subgraph 4 respectively. • Recursively apply ScheduleLoops to construct
Q ρ " + 1 SL subgraph + 1
ρ " + SL subgraph +
Q ρ " 4 1 SL subgraph 4 1
ρ " 4 ! SL subgraph 4 !
0
0
0
,
0
• Replace the single appearance of &
in
.
with
. else ( "
is tightly interdependent)
• Apply % 4 to obtain a valid schedule • Replace the single appearance of & in end if end for step 5: Output
#$%&'
as
/
3
" .
for " . with
.
book.book Page 75 Monday, February 13, 2006 5:04 PM
B! 9 7:
D
C B
51
:
"
Algorithm
Name
Input ++
%1 +
%2
Output
%
%
++
+ $
%3
%
$
!
%4
%
$
! %
"
& % "
' Q 3 % 1 % 2 %3 %4 %4
%3
"
"
1 " " "
'
" 8
'
"
"
3
"
"
-3@0
" -3@0
U$ "
&
U F
% 1
U F
F 1 "
F
" %
'
$ "
&
subgraph 0 "
!
%1 % 2 '
F
book.book Page 76 Monday, February 13, 2006 5:04 PM
5) ! $
%
&
"
" " "
& " "
"
&
" "
" # " " %
"
%
&
.:
%3
' >
%4
7
2 #
%1
, " "
A
%3
%
"
-(( %
:$ #
.? -:?0! &
"
%3
# "
%
#
Q 16 16 2 1 1 1 1 1 1 1 1 1 1 2 1 1
! ' % $ )
1 2 3 * (
.
.
book.book Page 77 Monday, February 13, 2006 5:04 PM
B!
1
D
1
I
1 Fork 1
1
C B
55
Biq 1 1 L 1 1 M 2 Add sc J Biq 1 1 K
N
1
1 2
Fork 1 2 O 2 Mul
P Conj 2
2
In
1 1
A
Filt
1
8
Hil
B
2
4
2 Eq D
C
2
2D 2
2
2
Mul E
2 2
Deci 1
2 2
G Deco 1 1 Out
F
D (a)
In
1 1
A
Filt
1
B
8
Hil
2
4
H
Ω1
2
2
Deco G
C
1 1
Out H
(b)
#$%&'
0
$
#
$
book.book Page 78 Monday, February 13, 2006 5:04 PM
5, ! %
.?
16
$
16& 2
.<
& 1 ",
F " '
% $ ) 1 2 3 * (
" ' 123* 2( % )$
! .< = 16
-(*
' 123* 2( % )$", .
16& 2
:$ #
#
% &
+ %
" + % + %"
%
" " %
+ "
"
"
"
&
%
./
&
&
!
& "
&
#
& "
+ #
3
A
{1,0,2,3}
A
#$%&'
{0,4,0,3,1,0}
6
1 !
.8
Q 3 *
3
40
$ % (
+
%
B
B
{1,0,1,0,1}
{2,3,2}
7
18
"
C
C
book.book Page 79 Monday, February 13, 2006 5:04 PM
B!
D
C B
54
" ! Q 4 3
3
%
& Q 30 3
./
Q 3
$
3
# 3 Q -----------------
.@
/ /
" #
3 Q -----------------
.;
/ /
%
./ 4(4 1N0N2N3 Q 6 &
30 ( 6 0 N 4 N 0 N 3 N 1 N 0 Q 40
""
"
"
(
# (
E
% "
"
Q 3
!
Q
& " & " Q
&
&
(
=
book.book Page 80 Monday, February 13, 2006 5:04 PM
,2 $
( + "
" % "
! %
. 34 (
% + .@ "
!
%
.; % (
#), + & + % #
3
( ./
"% ./
%
F " " % ! & " % " 52
#
% &
"
. 33 F
" 8 $
%
. 34
"
CSDF Repetitions Vector { // Step 1 compute 3 for all actors // Step 2 for all actors for each output port for each input port
of of
, compute , compute
// Step 3 apply algorithm for SDF balance equations on the SDF-equivalent graph. Let
be the solution for
actor A. // Step 4 for each
returned in step 3, compute the total
number of repetitions
Q
as
}
#$%&'
2$
"
+
%
3
=
book.book Page 81 Monday, February 13, 2006 5:04 PM
B!
D
C B
, Q 4
Q 51
Q 5
51
51
Q 20
Q ' 52
Q 4 Q 4
Q 4
'
'
52
52
!
.:
Q 5 Q 5
%
& B
+
' 52
" C
"
!
%"
++ ++ " E )(
Q
"
$
.: '
Q
52
Q 20
" .4 , " BC
BC @
" "
8
&
, ' 52
' <
"
A S
5
1 {1,0,0,0,0}
1
D
{1,0,0,0}
4
4 {1,0,0,0}
U1
1D
#$%&'
$+
%
%
U2
* <
book.book Page 82 Monday, February 13, 2006 5:04 PM
,# 5
'45 2 3 3'
" <
% %
4 205 1 5
.:
' 45 2 3
-*
"
3'
7 "
"
( >
*
"
"
-/?0
'
F
%
>
" $ "
" " '
#
%
%
%
$ % "
" #
' # "
(
$
%
" A
E
#
#
"
, " ( " -*
( 4
"
"
"
"
:
) " ! & K
$
2
>
&
' "
2
) "
!
book.book Page 83 Monday, February 13, 2006 5:04 PM
B!
"
% 8
D
C B
,*
&
%
. 3.
"
! ' Q 12 36 9 16
&
8
! & ' 12
36& 9
16'
3 4
3 4&
16'
!
( &'
4 3
"
9& 4'
(
.4? ! "
9
3.4
! -/?0 '
!!5
&
'
%
"
3
3
A
#$%&'
$ (
C
4
4
B
4 3
1 4 % "
9
D
A % !!5 % -3@01 " 1 '
$
A
book.book Page 84 Monday, February 13, 2006 5:04 PM
,& ( &
, "
&
"
I
!
& '
% #3
1 "
&
4 3
"
9& 4'
A
%
#
%
1 $
&
" 1
#
= " 1
-* %
%
%
A 9
"
#
@1
#$4$9$54
%
"
" max_tokens
&
#
(
& %
&
%
. 3<
A
10D 20
B
10
10
30
C
(a) Valid Schedules (1): BABBCABBABC
(2): 3(A 2B) 2C
(3): (3A) (6 B) (2 C)
(4): B A 2(A B) C 3B C (b)
#$%&'
(
9
$
&
%
A
book.book Page 85 Monday, February 13, 2006 5:04 PM
B!
D
C B
3
Q 3
max_tokens
&
-3@0
,1
6& 2
3
"
1
2
Q 70
Q 3
max_tokens
&
"
(@!
#$4$9$54
2
Q 30
max_tokens "
" %
2& 2
7 :7
%
BMLB
Q
&*3&
if
N
)
)
.?
else
" Q -------------------------------------------------------------
)
./
%
" Q # $
BMLB
. 34
$
72 7
$
" _
Q &*3&
7 :7
$
!
"
"
"
72 7
# #
72 7 "
!
"
F
%
&
%
72 7 %
. 38 %
% 2 & 3
(
3N3 Q 6
72 7
. 38 "
% 72 7
book.book Page 86 Monday, February 13, 2006 5:04 PM
,) $
72 7
&
% 72 7
-3@0 # -3@0"
" %
!
"
B$ B5
F C $ 1$F C 5 2+ > $ 1$F
+
"
1
$ E 2 E
# 1+
& >
" "
"
" " 1
5 2+
"
A
( "
# A
1
$
$ 1$F
9?
"
*@ " Q # $
5'
72 7 ./ 72 7
"
-3@0 = % $ "
)
)
$ 1$F "
" "
( " $ 1$F
$ 1$F " 72 7
72 7
" %
T2%
#
72 7
#$%&' !
(a)
A
(b)
A
* %
!
2
D
1
2
D
1
%
B B
1
3
3
1
C C 72 7
book.book Page 87 Monday, February 13, 2006 5:04 PM
B! *
"
D
C B
,5
-3@0
&
" "
$ 1$F
"
" 72 7
5 2+ &
-*(
%
"
"
# " (
"
' "
&
-/80 2 ' 1$ $
' -30! -@0
V V
" V"
V
V
V! "
" &
'
" #
) '
1
% V
A $ $
V "
.
&
"
5" "
!
.
!
" "
"
@7
$
"
'
( * "
F
"
F !
-<;0 !
-<;0 -30 -380 -3@0 -@40 -@30 -:.0 -3@0 >
book.book Page 88 Monday, February 13, 2006 5:04 PM
,, "
# &
#
" !
"
BE
" "
%
C "
-<;0"
" $ " %
.8 &
'
% "
$
$ -:.0 &
& & &
' -:.0 +
" #
-380" A
+
& &
" %
* "
? A
' "
,
( #
&
' ' .
A
1
"
D ( ) %
% -@30 )
)&
" "
"
-.?0 >
$
(
9 F :&
% # . :& " -/30 -/.0
. $
A
"
& #
( %
-@40!
#
% ! "
book.book Page 89 Monday, February 13, 2006 5:04 PM
B!
D
C B
,4
"
&
! %
&
" F -@/0 &
#
& F & F"
&
&
!
" "
"
# %
$
"
"
F
' &
" $
'
"
F
&
&
" . (
A
!"
"
+
' &
!
(
" #
V
-;:0
-3<30
% V
" ) , (
&
$
" ( " "
! E
" '
"
E
book.book Page 90 Monday, February 13, 2006 5:04 PM
42
. B=
' = C
8
'
7
&
$
-3.?0 ! "
" "
(
& " !
" "
8 @
( '
!
" # &
" , " '
%
!
& (
%
' "
+
? &
"
% (
& '
%
.( $
8
@
"
$ ' #
"
" "
%
&
%5
# ! $
' %5 ' , ! ,
" -3.?0
M
book.book Page 91 Monday, February 13, 2006 5:04 PM
B!
D
C B
4 " " "
! &
" +
& #
B
C
!
'
(
"
#
(
" #
'
+
-3440 #
' "
!
"
1$ $
" #
.@8<
& ' " -3<:0 " " E
"
&
(
"
! &
(
&
!
6 "
"
'
" " " , " ' & " "
&
book.book Page 92 Monday, February 13, 2006 5:04 PM
4#
.* 5+ "
!
$
$
@
8
6
@
! 5 '
E ' " 2 2& 5
"
+A # & " -3.40$ # % . 3@
" "
=)
5
$
2
>
&
$ &
# ! &
"
+ 38@
8
!
%
" &
&
& & "
"
' "
& %
" '
(
'
(
5 ' # %
(
W
&
%
2
A
5
Q 5
5
10D 2
(
3<
2 2& 5
(
1
!
5
B
2
C
#$%&' W%
- )&
"
(
' -3@0 , "
'(
" 1
1
book.book Page 93 Monday, February 13, 2006 5:04 PM
B!
D
C B
4*
4 2 2& 5
(
10
Q 9 ( 2 Q 4.5
# " "
&
(
%
%
(
#
>
" "
&
' %
!
(
-3.40 ' ( '
F '
$ %
%
"
&
. 3;
(
4 :@ 4& 4
4
, "
& 4& 4
( " 4 :@> " 3& 3 7 ( Q 5 ( 7 Q 0.71
!
5 ' M
& &
'
'
E !
'
(
'
!
E
-3.40 ' (
#
1
B
#$%&'
1
4D 1
1
A
. )&
1
7D 1 1
C
' '
-3.40
book.book Page 94 Monday, February 13, 2006 5:04 PM
4& ' #
* -3.40
"
" #
&
-3340, "
" (
"
(
#
5 '
' " % ' " * |*
Q
("
|#
#
" '" # Q
# -------------------------------------------------# #
'
#
&
#
# # Q
" " |
*
* Q
* Q
# +
"
# %
"
%
&
%
" " "
%
# # "
. 3@
& '" , Q
10 ( 20
%
"
Q 0>
. 3;
,
" '" , Q
7(1
Q 7
5 '
% ' ( '
"
, ,
book.book Page 95 Monday, February 13, 2006 5:04 PM
B!
D
C B
41
' '
" ' >
%
. 3:
. 3:
%
. 3:
"
' Q 1 2 4 8
&
%
%
%
" &1
! &
"
%
'
. 3: %
" %
'
& "
. 3:
&2
F "
'
% 16 ( 8 Q 2 " %
. 3:
"
% ' 12 ( 2
. 3:
Q 6>
'
%
12 ( 8
Q 1 *
. 3:
'
"
'
%
. 3: %
! %
' . 3:
P
' 5 ' M
-3.40
' '
&
' "
&
' 12D
1
2
a)
A 2 12D
1
2
1
A
&1
2
1
(b)
#$%&'
B
! 16D
2
12D 1
2
C
1
2
D
1
12D
16D 4
2
B
&2
2
1
2
1
C 2
(c)
/
1
2 1
(d)
'
D
book.book Page 96 Monday, February 13, 2006 5:04 PM
4) " &
, "
5 ' M
(
' -3.40$
'
%
' -3.40D
'
'
-3.30 ' .*
9
%
-3840
@7 &
5 ' &
-3.30 %
"
&
'
"
'
%
$ &
"
5 ' $
'
! & % + (
: "
"
&
& 5 ' M
3@4R ( (
#
# , " #
&
"
"
&
" $ (
$
$
#
.-
!
@9"
-@<0 "
"
@7 (
E
&
& '
% ' !
" " >
% !
book.book Page 97 Monday, February 13, 2006 5:04 PM
B!
D
C B
45
' ' '
%
/
5" 9 !
& $
B
"
&
@? C " *
+
-3440 > #
# " #
< ,
< "
"
" " " "
" "
"
" % <
"
# &
#
% "E &
%
( #
"
A "
% $ "
% C
B
" & = Q
-
"
% $ " Q # $ ' ' "
"
%
'
$
" !
"
>
'
" "
"
"
"
(
#
book.book Page 98 Monday, February 13, 2006 5:04 PM
4, !
"
& "
+
%
. 3? " 10
$ )
"
6
!
" A " & "
B "
C
(
! ' $ ) Q 9 6 4 9 3 3
&
$ 9
6& 4
9' 3$ 3)
F " " 3N6 3 -----------------------9 2
Q 2 9
& 6& 15 N 3 3 --------------------------9 1
Q 3 9'
& &
, 9
1 6& 4
9
3$
3$
9'
2
#$%&'
0 )&
1e6
E
3
3
3 2
1
3
B
2
9'
1 6 3) --------3
15
D
A
3$
"
3
C
1
1
F
2
book.book Page 99 Monday, February 13, 2006 5:04 PM
B! "
3
D
C B
#
44 # &
3
$ '
( & !
+ %
0 +
% 2
% *7 %
7 % %
(
&
%
&
%
% '
" %
!
( " +
" "
%
%
+
%
)
"
" % %
G + >
)
% %G +
% (
*
( 2 + -<80 -@80 -.:0 -/30 -/.0"
9 F
"
% #
7
%
"
&
( "
!
"
" (
# !
"
" (
&
" %
book.book Page 100 Monday, February 13, 2006 5:04 PM
22 &
+
@
;
" " % * " " * " " + :
' B
C
" +
? " "
( " "
"
book.book Page 101 Monday, February 13, 2006 5:04 PM
3 3
(
$ $ "
+
3
.
# (
'
$ "
(
"
' "
(
% .@8
"
" (
$ "
( &
"
!
> ( #
-//0
" "
, " 2
#
"
book.book Page 102 Monday, February 13, 2006 5:04 PM
2# (
'
F " ' !
-3.805 ( F '
&
%
'
-8@0 %
" ( " '
>
(
" ( "
( "
E " >
(
"
" >
( >
!
"
%
M" #
% *
(
" #
%
%
% " % "
&
" $
%
%
( > " # * ' ' (
%
( * " (
( " *
book.book Page 103 Monday, February 13, 2006 5:04 PM
%
@
2* %
%
>
(
& >" & ! " # &
% $
&
" #
" %
(
" $
"
( '
$A )
7
-3.0 $
$
%
& &
$
-3.0
"
"
#>
&
F "
# -3.0 '
F
#
"
-3.0 > $
" # "
$!A2 62
"
3: $ " ( $!A2 " ( !
62 -0 ( &
$!A2 62 -840 " + $!A2 62
@
; ! %
" , " "
$
%
! "
$
(
"
$!A2 62 $!A2 62 & %
$
$!A2 62 >
# &
book.book Page 104 Monday, February 13, 2006 5:04 PM
2& "
&
-0!
' "
-840 &
$ (
( "
"
"
+ # "
"
@
#
;>
(
E
"
& &
( *
" $!A2 62 ( "
!
"
#
( ' >
& #
" !
"
( &
'
&
=$
%
" "
% & "
" #
% " $
" #
#> "
$
% A 7 * ( " "
> " (
# '
" )"
" (
" & #
$
" >
% "
book.book Page 105 Monday, February 13, 2006 5:04 PM
% %
@
21
<3
'
" " " # !
% B5 2+ "
$ 1$FC "
%
<3 .@8. !
> <.. $
& "
B
AC
"
A
" " (
" "
(
&"
!
#
" "
&
# " " A
>
A
#
> +
8
" " &
"
" "
88 &
&
(
9" "
7
"
"
"
7 B
C $
"
"
&
# ! "
& "
# "
"
( "
" ..
" #
# #
"
max_tokens
'
"
" $
" #
' max_tokens #
%
<.
"
SDF Graph
#$%&' (
% "
Loop Fusion for memory reduction (SDPPO)
"
Code generation
Scheduling steps
Determine topological ordering (RPMC or APGAN)
Storage allocation (first fit)
Build intersection graph
Memory allocation steps
Build schedule tree
Compute buffer widths, durations, start, stop times, periods, and period bounds
book.book Page 106 Monday, February 13, 2006 5:04 PM
2)
(
"
book.book Page 107 Monday, February 13, 2006 5:04 PM
% "
@
25
&
& &
& .
&
@ &
<4
; #
&
3@
A "
&
"
> %
&
<.
" "
"
"
. &
! 3 5
5 Q 15 2 Q 10
&
#
& 5
" !
( ( &
!
& ( !
%
"
%
Q * +
Actor firing according to schedule
A
$
3
5
B
5
2
C
3
5
D
Schedule: 2(5A 3B) 3(5C 3D)
A A B B B A
Tokens in buffer 5 15
A B B B C C
20 30
5A 3B 5A 3B 5C 3D 5C 3D 5C 3D
15 30 20 10
5A 3B 5A 3B 5C 3D 5C 3D 5C 3D
30
28
Buffer BC Fine-grained model
#$%&' (
!
An in-between model
"
Buffer BC Coarse-grained model
4
book.book Page 108 Monday, February 13, 2006 5:04 PM
2, %
$
" # '% %
'
A
Q $
" " " +
#
( & "(
#
" "
" % A
" # "
&
& ! > " (
"
"
, * " +
;
'
(
" 7 ) @ * "
#
#
"
(
)
7!
"
" "
"
+ (
# " # G
" " #
"
# $
#
" '
#
'
#
"
" '
# B "
" 2
!
3&
" (
C
B
% & # 8 3&
3&
C =
book.book Page 109 Monday, February 13, 2006 5:04 PM
%
@
24
3&
# !
"
#
3&
4 F
<
8
E > %
<<
"
F ! >
&
34 ! >
3.
&
!
"
!
< <<8 7
" >
" (
%
"
max_tokens
(
: # < !!5
&
"4
)"
7
A
$ "
" "
.@83 $
.@83 "
( A $
! Memory
“Time”
10 12 13 15 Width 20 22 23 25
#$%&' ( ( $
Start time = 10 Duration = 2 Stop time = 12 Periodicity = [10, {3,10}, {2,2}] 0<x,y<2 10 + 3x + 10y =20 if x=0, y=1 =23 if x=1, y=1
book.book Page 110 Monday, February 13, 2006 5:04 PM
2 * (
(
%
"
"
"
)"
)
, max_tokens
"
<3
" ! Q 70 N 60 Q 130
3
Q 30 N 60 Q 90
2
%
. 3<
!
=
lexorder
$
( 1
2
& 1
2
P1
! lexorder
1
2 3& 5
%
7
Q &
)
"
$
( $
&
A
" ' "
E
#
" =
book.book Page 111 Monday, February 13, 2006 5:04 PM
%
@ (
(
"
( "
%
-/?0 =
#
9
( @
%
3 Q
1
1 1
"
2 2
/
$
/
Q
. 1
>
2
3 .
.
P1
1 1
.
P1
.
2 2
P1
> 3 "
3
! ">
" )(
<3 !
!
3
# .
"
" A
(
#
& # B C
7 C B
C
B
C
#
"
B B C "
A -/?0
book.book Page 112 Monday, February 13, 2006 5:04 PM
# %
%
"
$
" Q
1
2
"
"
"
" -/?0
& .
Q
3 &3
.
1 2
. &.
Q
P1 &3 Q
1
&. Q
N1
2
N2
% " (
. &. 3&3
. &.
%
"
" "
" "
"
( N1
3
P
.
Q 1
P2 Q
3 &3
"
book.book Page 113 Monday, February 13, 2006 5:04 PM
%
@
*
1
" 1
'
N
1
N
N1
( $ $
" 4 1 $ Q 2 1 /
1
5 1 3 1 0
2
(' N1
B
N2
C
"
N1
A & (
1
2
% 2
3
P1
(
(
" &
! ( (
(
N1
"
(
N2
> (
(
> (
"
$
-/?0
(
: F "
#
" "
7
<
"
!!5
" '
$ '
! +
A "
= 1
<.
Q * (1
4* + 1 2 1 /
1
N1
N
( $ $
5 1 3 1 0
book.book Page 114 Monday, February 13, 2006 5:04 PM
& "
!F ) ! (
)(
<.
A
Q 0
! "
1
%
& #
N1
<8
" &
"
"
" "
! !
" )(
<.
#
" " " &
%
<@ % '$ " 36 N
Buffers on left side of the cut: tokens cannot be live at the same time as buffers on the right side of the cut
% <; $ ..'
$..)
Memory
“Time”
Buffers with live tokens crossing the cut #$%&' ( * !
&
Buffers on right side of the cut: tokens cannot be live at the same time as buffers on the left side of the cut
book.book Page 115 Monday, February 13, 2006 5:04 PM
%
@
1
..' & '
"
..'
%
&
, 84 N
%
$) Q 8 ,
"
$..F
20 7 Q 104
36 N
104 8 Q 140
"
3.: %
"
%
<@
<3 > & " %
<; "
%
<; &
<;
% "
"
" "
&
E
" "
%
<; 2
E
A
4
5
B
3 2
C
1
Memory
7
D
6 4
5A 4B 7C D
8 4
F
SDPPO will say 140
20 84
127
7
7C D E 2F E 2F
#$%&' ( - $
E
Schedule: 7(5A 4B) 6(7C D) 9(E 2F)
5A
“Time” 4B
"
36 8 &
A
book.book Page 116 Monday, February 13, 2006 5:04 PM
) ' >
'
"
A "
"
&
%
<; (
'
&
A
" < .="
)(
" " *
' A
" "
&
* " " #
&
&
A )(
<. "
* " ) !!5
" !!5
F " %
<: %
"
5 2+ "
E
,
# '
"
6A 6B
6A 6B (a) #$%&' ( . $ (
'
5 2+
6 (A B) A B A B .. A B &
6A 6B
6A 6B (b)
(c)
6 (A B) A B A B .. A B
(d)
#$%&' ( / $
“Time”
&
15 30
BC
15
CD
"
Shared-buffer cost = 45 Non-shared cost = 60
5A 3B 5A 3B 5C 3D ... 5C 3D
AB
2(5A 3B) 3(5C 3D)
5 B
5
2 C
3
30
10
10
10
15
15
15
10A 3(2B 5C 3D) AB BC CD
3
Shared-buffer cost = 55 Non-shared cost = 55
10A 2B 5C 3D 2B 5C 3D 2B 5C 3D
A
D
30
30
45
10A 6B 15C 9D AB BC CD
Shared-buffer cost = 75 Non-shared cost = 105
10A 6B 15C 9D
5
%
Memory
book.book Page 117 Monday, February 13, 2006 5:04 PM
@ 5
book.book Page 118 Monday, February 13, 2006 5:04 PM
,
((
"$
+ $
A & )
A (
A "
! '
# F
>
(
#
# !
"
&
)&
( ! >
"
" ,
& 1
#
" "
" * , " !
,
" >
"
* ( * " &
& %
((
" %
"
>
9
!
"
:
$
4
.@3 = Q
N
<<
book.book Page 119 Monday, February 13, 2006 5:04 PM
%
@
4
"
% Q 1
!
%
" !
#
(( !
% #
" & !
9
:
4
# is a left child
4 Q 2 /
is a right child Q 0
Q
N
!
# "
% #
%
%
< 34 !
%
! &
%
&
$
" " &
&
!
%
&
! 17 !
& &
3
=
$ 2)
3@ B
C
<. 9 3
a
1
2
e
5 (3A E 2F) 2(3C 5(B 3D G H))
f
1
2 3
3 1
b 5
2 5
c
5
d
1 3
15
g
3
3
h
(a)
1
2 1 3A
1
5
$
$
2
1
%
! "
42
For a leaf node v, loop(v) = 1.
3C 5 1 20
E
(b) #$%&' ( 0
2
2F 1
For each node v, loop(v) = loop iterator value.
57
B
1
1 3D
2
1
1 G
1
H
book.book Page 120 Monday, February 13, 2006 5:04 PM
#2 #
B C
3
&
% 3: < 34
&
"
&
(((
%
7
< 34
3@
:
F "" "
*
Procedure computeStartStopTimes(scheduleTree) { doComp(root,0) } Procedure doComp( , start) {
6 N
6 if (
not leaf node)
doComp(
,
doComp(
); ,
)
fi }
#$%&' ( 1 5 (3A E 2F) 2(3C 5(B 3D G H)) 1 [0,57) v3
aef [0,15)
[0,2)
5
2
[15,57) v2
1
2F
5 [16,36)
3C
[2,3) [15,16) [0,1)
3A
E
v1
[16,18)
1
1
[18,20)
B
3D
G
H
[1,2)
[16,17) [17,18) [18,19) [19,20)
#$%&' ( 2
book.book Page 121 Monday, February 13, 2006 5:04 PM
%
@
#$4$9$54
#
( @$
1 1
#$4$9$54 1
2
2
( @!
1
2
2
#$4$9$54 1
( (@!
2
1
#$4$9$54
2
( *@!
1 1
2
2
! %
< 34
& 3'
1
2
3
!
# ! F * (
"
"
'
!
" #
#
&
#
, "
&
#
" %
&
%
! 17 , "
&
"
&
34 ,
&
"
" #
#
! # ( , "
>
&
book.book Page 122 Monday, February 13, 2006 5:04 PM
## &
"
* "
&
" #
& &
$
%
< 34 !
&
@:
3'
& &
"
* "
"
" %
3'
&
@: @:P. Q @@ < 33>
! #
"
&
&
' !
% # $
3
>
#
!
% #
!
" E
= &
"
>
E
!
"
((*
"!
1
% !
%
"
< 3. !
7
" 2
" #
#
" " & '
E %
< 3.
" ,
%
% "
5 # 2
& '
1
& %
%
< 34 #
1
3
1
&
book.book Page 123 Monday, February 13, 2006 5:04 PM
%
@
#*
Procedure computeIntervalStopTime foreach // find the least common ancestor of (u,v) in // scheduleTree
6
3
6 // vleaf = leaf node corresponding to actor v
6 "
while (
)
Q
if (
)
P
6 fi
6 end while // stop(buffer(u,v)) sets the stop time of // buffer(u,v)
6 end for
#$%&' (
book.book Page 124 Monday, February 13, 2006 5:04 PM
#& 2
!
& '
1
3 *
" 1
1
"
F
N
" "
&
"> '
"
! " = N
1 1
"
N
N
N 0
1 1
N
N
N
P1
4 % &'
& " &'
2
%
&' Q 16
&' 1
#
&'
3
< 3. " &'
Q 2 4 21
&'
1 2
&'
Q 4
3
"
Q 2
&'
2
3
Q 21
&' GH
GH BD
BD
B 3D G H B 3D G H
#$%&' ( %
< 34
!"
GH
GH BD B 3D G H Time
BD 3C B 3D G H
book.book Page 125 Monday, February 13, 2006 5:04 PM
%
@
#1 1
2
3
Q
1 5 2
*
, &' 16 N 4 N 21
16 N 4 N 21 N 2
0 1 2 3 4
0 1
16 18
20 22
37 39
" "
" "
"
( N
1 1
N
N
<8 N
1 1
N
N
N
" 0
P1
$
&
" !
"
=
/
:
P1
( @ Q1
N1
# !
/N1
/ Q 1
P1
book.book Page 126 Monday, February 13, 2006 5:04 PM
#)
!'55#@
/ Q
N
1
1
"
N1
Q
N1
"
N
N1
"
" F "
Q
N1
N1
Q
N
" Q
%
/ Q 1 "
" 1
1
1
1
Q
1
P1
2
P1 P 1
1
Q
F "
2.
N
1
2
/P1 !
/ "
/
P1 Q1 /P1
P1 N
Q
/
/
P1
Q1 /
Q
D
/
N
/
/ /
Q
P1 /
/
N
/N1
Q
/N1
book.book Page 127 Monday, February 13, 2006 5:04 PM
%
@
#5
+
"
Q
1
Q
1
F
"
0
"
"
& !
Q
"
:
!
( @
" "
7 0
!'55#@
"
=
book.book Page 128 Monday, February 13, 2006 5:04 PM
#, "
"
"
"
P P
Q
1
1
P
1
N
N
P1
P1
P
P1
N
P
P1
P1 N
P
0
P
Q1
0
P
<3
=$
8
& "
"
"
>
* 0
P Q
1
1
1 1
N
P
1
N
N
N P1
P1
P1
P
P1
P
P1
N
P
0
<3 D ((* 1 %
7 < 3 )(
< 3< !
:+ <8
!
9
book.book Page 129 Monday, February 13, 2006 5:04 PM
%
@
#4
& 0
@'
: $
P1
0
!'55#@F '(
, 'P
'P
'(
0
D
@!
: $
'
!'55#@
!
'
' '
" '
'/
!
'
& / "
/
"
!
'
/
" ' *
/
'(
Q
/
Q
/
/
'(
/
P1
Q /
book.book Page 130 Monday, February 13, 2006 5:04 PM
*2
Given: a time
.
Determine if a periodic buffer 1
is live at
parametrized by
1
.
Define '6 P . for i = n to 1 step -1
6
9-----'
P 1:
'6 'P end for if ( '
), then
is live (
are the solution)
else not live.
Buffer not live at T’
Buffer live at T’
'
N
#$%&' ( ( $ !
" "
"
" '
book.book Page 131 Monday, February 13, 2006 5:04 PM
%
@
*
+
"
/
'P
0
/ /
' /
Q
/
P1
" '/
/
/
P1
"
/
,
'/
" D
'
#
/
!
'
# " "
"
'
(
" " &
" "
" E I
!
" " !
& B
C 1
%
& 1
2 2 2
book.book Page 132 Monday, February 13, 2006 5:04 PM
*# 1
28 13 4
0 1 1
!
0 28 N 1 13 N 1 4 Q 17
!
&
" B
" 2 2 2 =
C 0 1 1 N1 Q 1 0 0
!
.?
&
!
'
"
%
!
Q
N
B
C
Q
N
/
/ Q 1
1
" (
!
"
&
%
:
( (@!"
< 38 1
2
"
2
1
book.book Page 133 Monday, February 13, 2006 5:04 PM
%
@
**
1
&
1
1
1
"
2
2
N
2
2
<@
2
" 1 2
< 38
2
$F
1
2
F
%
2
" 2
>
!'55#@! 1
"
! "
"
2 1
1
2
2
(a) & &
b1
(b)
#$%&' ( *
Closest b1 interval after b2 starts after that b2 interval finishes
Closest b1 interval before b2 stops before b2 starts
b2
! "
! <<
book.book Page 134 Monday, February 13, 2006 5:04 PM
*& 2
1
1
2
2
+
1
1
2
1
)(
2
1
%
2
"
"
"
%
" " =
! 1
2
1
1
F
2
<@
1
"
1
2
1
3
2
4
1
5
2
1 4
5
2 6
2
1
4
5
2 6
2
1 4
1
5
2
3
1
2
1 3
1
2
3
1
2
1 3
4
1 5
6
2
2
6
2
6
2
" " "
< 3@ )(
" <@
% $ *
D 1
" "
E
" !
" "
" $ # P1 "
#
" "
#
% #
% % #
!
book.book Page 135 Monday, February 13, 2006 5:04 PM
%
@
*1 "
%
, < 3<
#
Q % #
, "
% #
#
"
> % log #
"
!
&
(* ! " F "
" $
& "
& ! "
&
I4vb1 I5ub2 I6vb2
...
I4vb1 I5ub2
...
I4vb1 I5ub2 I6vb2
...
I1ub1 I4vb1 I5ub2
b1
b2
b2
b1
b2
<<
#$%&' ( - 7
I5ub2 I6vb2
...
I3vb1 I5ub2 I6vb2
...
I5ub2 I6vb2
...
I1ub1 I3vb1 I5ub2 I6vb2 ...
I5ub2 I6vb2
...
I2ub1 I3vb1 I5ub2 I6vb2
I2ub1 I3vb1 b1
b2
...
I3ub1 I4vb1 I5ub2 I6vb2
...
I3ub1 I4vb1
...
I3ub1 I4vb1 I5ub2
I3ub1 I4vb1 b1
b2
...
I4vb1 I5ub2 I6vb2
I2ub1 I4vb1 I5ub2
...
I4vb1 I5ub2
...
I2ub1 I4vb1 I5ub2 b1
b2
book.book Page 136 Monday, February 13, 2006 5:04 PM
*)
book.book Page 137 Monday, February 13, 2006 5:04 PM
4 '
A
"
" ! $ '
(
' "
! = #
" %
83
A
"
& (
& "
&
# " #
* %
=
*5
$
book.book Page 138 Monday, February 13, 2006 5:04 PM
*,
All occurrences of periodic buffer at same location
Memory
Contiguous assignment
b1 Time
b3
b2
Once assigned not moved
b5 b4
Instance
Enumerated instance
Chromatic number = min. total usage
5
11
14
5
9
11
2
14
9 5 14
11 2
CN=27
5
9
Weighted interval graph
9
2
14
11 2
MCW=27
#$%&' *
2
$
book.book Page 139 Monday, February 13, 2006 5:04 PM
%@@ #$4$9$54
* @
*4 ( Q &
&
& %
"
&
"
8
! P
F &
1
!
2 2
(
H7
" :& 0
0
2P1
2P!
"
&
1
2
1
!
N!
B
1
2
C
2
1
$ = %
B
N!
2
%
C
' #
"
> 7
" "
$
"
9?
5'
* @-8?0 $
F
'
3
.
*
4 $
$ "
% "
"& Q #& $&
!
!
"
" "
#&
" " 5 ! #& "
"
" ' " 5 $ ,
' !
% 5
" " 6
6 ;˜ " &
" *1 ! 2+*
(
6
%$$&
( "
!
! 5
! ,
= " &
, "
book.book Page 140 Monday, February 13, 2006 5:04 PM
&2 ! , "&
"&
"
4
2
83 %
83
"
&
9?
5'
* @-:405---
, "& ----------------;˜ " &
&
4
"
6
# *
& @G8
" 2+*
; !
9?
5'
$
&
2+* !
8.
* (@
" ;˜ " & Q , " &
*
? #
##
"
#
"
-:40 ! " !
%
8.
8<
#
* =
"
*1 buildIntersectionGraph ! ! =
*1
&
) &
*1 *1
E
E "
> "
$ " $
&
&
book.book Page 141 Monday, February 13, 2006 5:04 PM
%@@
&
Procedure FirstFit(enumerated instance I) G = buildIntersectionGraph(I) //allocate is an array to contain the allocations Array foreach buffer i in I do 6 0 //initial allocation at 0 6 foreach neighbor j of i from G if (j appears before i in I) 6 / fi end for // contains memory addresses // sort by increasing memory address sort ) foreach allocation if
conflicts with //w(a) = size of interval with allocation a 6 N!
fi end for end for
#$%&' *
%
%
book.book Page 142 Monday, February 13, 2006 5:04 PM
*
%% "
5
=
(
&
2 1 2 P1
1
" &
"
1 "
7
" "
! (
1 7
"
!
" %%
= " "
%%*
%%$ !
2+*
* ( 2 7
% "
&
! "
2+* $
"
" 83
@44 "
%% :4R "
"
"
Procedure buildIntersectionGraph(enumerated instance I) sort I by start times (or durations for ffdur) ( 6 number of buffer lifetimes in I // G is an adjacency list representation containing N rows // and list pointer at each G(i) Graph G foreach i in {1,...,N} /6 N1 while (start time of I(j) < stop time of I(i)) if (lifetime(I(j)) overlaps lifetime(I(i))) " 6" / " / 6" / fi /6/N1 end while end for
#$%&' * (
1 %
%
book.book Page 143 Monday, February 13, 2006 5:04 PM
%@@
&*
%
%% "
:R +F
2+*
#
9 7: *
#
#
2; 2;2
*2; *2; *2
"
+F
"+ .2; .2; .2
+ 2; *2; .2
*2; 02; 2
2;2 2; -22
02; -22; 222
-2;-; 22
%%$G 2+*= 2$L
3 8/
3 <:
3 <.
3 8<
3 <:
3 8/
3 <8
3 <8
%%$G 2+*= $ 1
3 34
3 33
3 3.
3 33
3 3.
3 3.
3 3.
3 33
%% G 2+*= 2$L
3 <3
3 <4
3 .3
3 <3
3 <:
3
3 ..
3 .@
%% G 2+*= $ 1
3 4@
3 4;
3 4:
3 4;
3 4:
3 4;
3 4:
3 4;
%%*G 2+*= 2$L
3 @4
3 8@
3 ;?
3 :/
%%*G 2+*= $ 1
3 3@
3 3?
3 3@
3 3@
%%$G %% = 2$L
3 <8
3 ./
3 .<
3 <.
3 <3
3 <8
3 3:
3 .<
%%$G %% = 2F
4 ?@
4 /4
4 /3
4 ?8
4 ?/
4 ?4
4 /3
4 /3
%%$G %% = $ 1
3 4@
3 4@
3 4@
3 4@
3 4@
3 4@
3 4@
3 4@
$ &
%% 88 " "
%%
book.book Page 144 Monday, February 13, 2006 5:04 PM
&&
# %% ! 83
( "
"
"
" '
" "
%
$ Q % #
%
#
( Q $ # $
,
% #3
" "
"
% # 2 log #
!
firstFit
% # 2 log #
# "
"
>
firstFit buildIntersectionGraph
9?
* *@%%
5'
!'55#@!
" 8< 88 %% "
0 *P1 *N!
"
[email protected]
" *
7
2+*
*
' %% % # log #
!
>"
% #
!
"
B
%
8 8>
" "
"
C
*(
"
=
& "
, 6 (
"
" #
3 .@ "
> !
" &
# (
" & " "
"
" 1 ! &
83 ( "
"
"
& "
:R
( 3 .@
book.book Page 145 Monday, February 13, 2006 5:04 PM
%@@
&1
Procedure FirstFitStart(instance I) 3 6 array of start and stop times from I in the // sorting below, if two elements of L have the // same value, and one is a stop time and one is a // start time, then the stop time comes first in // the sorted order 36 3 3 3
6
61
// for an element e of L, is the interval // in I with start time or stop time given by e foreach element e of L if (e is a start time) if ( 3 "
)
6 pop an element from
3
else 6 3
3 6
3
N1
fi assign
to interval(e) fi if (e is a stop time) add location assigned to
to
3 fi end for
#$%&' * * %
"
"
book.book Page 146 Monday, February 13, 2006 5:04 PM
&) & 3 .@
(
,
*
&
(
&
"
" &
&
(
"
& "
" " +
" *
"
& (
&
> "
(
" ,
*
&
(
"
F " *
"
>
% (
8@ , " "
"
"
& > #
,
&
"
"
! > " & CW = 2 CW = 8 CW = 13
1
1
(
" < 3< !
% "
1
1
CW = 16 MCW=CW = 18
#$%&' * - $
{1
1
&
1
" "
5
5
2+* !
1
5
book.book Page 147 Monday, February 13, 2006 5:04 PM
%@@
&5 ! >
"
**
=
'
* &
"
# &
$
&
( = . *
N
" (N
!
5 2+
$ 1$F
A ! *
(
"
( 5 2+
A
( $ 1$F
" #
8;
"
3;
% "
Percentage im provem ent of shared over non-shared im plem entation
100.0 80.0 60.0 40.0 20.0 0.0 1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16
Practical system s
#$%&' * . $
"
book.book Page 148 Monday, February 13, 2006 5:04 PM
&, $
@4R " # (
A
&
?
&
** ! # -3<.0 "
"
! -3<.0 % 8/ $
" % %
.G<
& "
%
8:
"
8?
&
%
8:
"
# "
> A
@
% & .G< 3G <
'
8?
"
# " $
.G@
3G . 3G. 3G . 3G.
3G< .G
)& "
!
# -3.30 (
&
#
8. 8< ! ! # B( .
B8 & C 8 $2 > B # &C ' " > B $ %%! C %%! " %%! # " > B $ C ! & # -3330 &
3 l 1 2 3 i k 1 2 1 1 1 3 f h m 3 1 21 1 1 3 c e 3 j 1 2 1 1 1 1 b 3 g 1 1 3 d 1 a
#$%&' * /
G
% r
q
p
o
n 1
2 t
s 3
3
1 1 v u 2 3 1 1 1 y x 2 3 1 1 1 3 1 A w 1 3 1 z
1
2
3 3 C
B
F
1 D 1 2 1 E
book.book Page 149 Monday, February 13, 2006 5:04 PM
%@@ &4
#
8 !
book.book Page 150 Monday, February 13, 2006 5:04 PM
12
2 c (a)
a
b
e
2 1 h
1 2 c a
b
2 q l
2 2 s
2 i f
m
1
2 1 j
(b)
n
g
1
1
1
1
1
1
E
1
z
2
4
A
1
J
M
2
1 O2
G
1
C 2
1 2 D
2 P 1
H 1
K 2 L
2
Q
R
N
#
3
G
11
B
F
I 2
A 2
" # !
<
1
y 2
1 2 B
1
h
w 2
1 2 x
2 1 v
%
#
1
1
2 1 t 2 u
e 2
1 2 f
2 1 p
r
2 d 1
#$%&' * 0
k
1
1
2 1 d
2 o 2 g
1
C 10
4
D
11
E
F
K
G
10 240 240
W
240 V
#$%&' * 1
%
L
Q 240 R
240
240
11
P
N
10
H 11
11
M 11
N S U
J
10
I
T -3.30
;4
8<8
3..
.
.
.
3.O
3.O
3.O
( .
( <
( @
( .
( <
( @
( .<@ O.
7
??
<;
3.:3
3:<
.4/
'
( .< O8
9 7: *
@@
:.
.3
3.
8/?
;<
.8
3<.
'
8
@4
@;
3;
/
8?/
@8
.3
3.4
'
;@
:.
3/
/
;8@
/4
<4
3
'
@@
@?
3;
/
8/.
;<
..
3<.
'
=
;;
;<
3:
/
@4.
;8
..
3<<
'
?.
<8.
:?
<8
@3.
33;
@4
:@
384
<8.
:?
<8
38:?
3??
;.
<38
?@
38.
<@
3;
?3.
348
<@
.8.
:3
34<
.@
33
:83
:8
.;
.<:
:@
3;@
<;
3.
/4.
/4
.?
.@?
:8
33<
.:
3.
:/.
:?
.:
.;8
:/
33<
.:
33
?48
:?
.:
.84
@8 /
?< 4
:/ @
:< @
;3 <
;< ;
;< <
<; ?
E
book.book Page 151 Monday, February 13, 2006 5:04 PM
%@@ 1
$
%%!
&
8
$
2
3;(
&
.<@O@
(
#
.<@O<
(
9 7: * ( 7
.8/;
38:;
8:.
:/
.4:@
?<.
3/8
8/
33
3/.4
.8?4 <@
@;/4
.84
'
?/;:
8/.
'
8
.4;8
:;?
3/<
8?
?
3;?4
@@;4
..4
'
.4;8
:;?
3/<
8?
?
3;?4
;4;@
.?@
'
=
.4:3
?<.
3/:
8/
34
3;/3
@;/4
.84
'
.4:.
?<<
3//
@3
/
3:3@
;..;
.8?
'
.8/;
3...
84/
8/
<@
3@8.
?@.
3/.
.8/;
3...
84/
8/
<@
3@8.
3<:3;
;;4
.4:;
:48
3
<;
33
3.44
/.8?
8<3
.4;8
@38
3<4
<<
?
/;4
:8::
4
.4;8
@38
38:
<@
/
/;4
:;<@
.4:3
@38
3<@
<@
33
//3
?3.@
.
.4:.
@::
3<@
<@
/
343@
?.@8
8
3: 4
@: /
;: 4
.? ;
:8 <
<@ :
<; @
@3 .
E
book.book Page 152 Monday, February 13, 2006 5:04 PM
1#
book.book Page 153 Monday, February 13, 2006 5:04 PM
%@@
1*
!
5 2+ '
"
A ! "
5 2+
B5 C
B$ C
$ 1$F ! "
' !
5 2+ & 5 2+
!
(
"
& ! 7
72 7 -3@0 72 7 " ( $ ! $ 1$F " " $ 1$F 5 5 $
"
A =
A $
" 5 2+ "
! >
* ( . P* ( . . ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 100 * ( .
$
@4R " #
?
@
3G. 3G.
#
5 '
B
C>
-3.30 .444 //3
@4R . *
N . *
" (N N
N
, " #>
(
" (N
$
N
&
"
"
book.book Page 154 Monday, February 13, 2006 5:04 PM
1&
"
! ?R ,
&
"
"
5 2+
&
A $ 1$F
" "
* (
B
C #
% .@
B # &C " @4 5 2+ $ 1$F
# " , "
3444 /?4 &
B & 3//
C &
3/<
!
# //3
5 2+G$ 1$F "
E
"
5 2+G$ 1$F
!
" &
B(
B (
.<@O@ C & 344 .<@O@
(
@?
.44 " :/ ( @;/4
" " " , " $ 1$F
**
5 2+G$ 1$F
5 2+
%
"
#
( ( %
( (
, 3.O@ ?433 5 2+G$ 1$F 344 + "
(
(
?
6
3.O@ C
!
>
8 34 !
$ '
& *
(
"
% (
book.book Page 155 Monday, February 13, 2006 5:04 PM
%@@
11 "
*N1
#
(
*
*N1 * ( P 1 N 2*
(
$
"
(
!
'
& #
*-
=
" F
"
"
" &
$
&
>
" !
!
" #
" " "
&
# $
; -3.@0 -:40 & ;
*! "
& *
*
"
"
*
%%
*
+
N nodes
M nodes
#$%&' * 2 $ (
"
book.book Page 156 Monday, February 13, 2006 5:04 PM
1)
9?
* -@ +
5'
!'55#@
*
*
&* +
&1 ;˜ " &
;˜ " &
!
+ ;˜ " &
,
1
"
N ;˜ " &
N
;
*-
"
"'
) '
+ " " " " 2+*
" 1
*
*
" K
"
"
. #" . " 2+*
.
" B
C
" "
+
*
.
2+* 2
"
2
2
*
1
" (
1
" +
Q 1
(P1
&
83
(
N1
2. 2
* .@ + 5
5'
!'55#@ (
1
( * + ------ ------------
.2 Q * (
9?
(P1
" 1
.2
= ' +5
!
(> 2+*
%
Q
Q
1 1
N
N
( (
&
book.book Page 157 Monday, February 13, 2006 5:04 PM
%@@ 0
15 "
"
$
" '
%
'
Q
1
!
N
N
& &
>
N
(
N1
N
N
" (
"
( (
9 Q1
F
(
: N9
:(
9
N1
Q
: N9
Q1
"
:(
Q
N1
"
(
(P
, " (
(
Q1
Q1
& (
(
"
"
F >
(
(
, "
#
(
( H
"
" " 4 : N9 29 / Q1 Q
( N1
5 :(3 0
E
%
"
: /'
>
8.
(
(
Q1
Q1
" '
* @! Q 0
/
1
N1
!'55#@ /"1 /"
N1
"
/
2
+
/
"
0
book.book Page 158 Monday, February 13, 2006 5:04 PM
1,
'1 Q
1
'/ Q 0 ' Q
/ / N -------1
"1
"/
(
'
Q
/ / N --------
1 1
1 1
1
1
Q1
N
/ /
N "1
"/
N "1 (
(
"/
Q Q1
' Q
1
Q1
/ / N N -------1
Q1
"1
"/
&
'
Q1 /
(
1
1
E
'
"
E
(
>
( ' Q Q1
, "
Q1
'/ Q 0
"
"
*
# '
" ! ' N2
/ '
N1
'/ Q 0
"
" "
( Q
N1
/ / N ------------N1
&
" '
'/ Q 0 ' Q
1
/
#
/
"
" E
'
D
N1 0
N1
"/
book.book Page 159 Monday, February 13, 2006 5:04 PM
%@@ ,
14
"
/"1 /"
& N 1 )(
/
8. N
1
Q 0
N1
E
8< (
1
1N
N1
N1 Q1
&
M
& (
"
"
E " (
2 Q Q1
!
& 1
!
)(
8<
2P 1 1 ---------------------N1
E 1
Q
1 P ------------- N 2 --------------
1
N1
N1
1 P -------------
Q
N1
0
" &
1
,
' &
1
&
1
'
N1
" Q 0
& #
1
1
2 -----1
Q 0
% 1
Q 0
Q 2 --------------
1
0
N1
& &
' "
1
Q 2(
1
book.book Page 160 Monday, February 13, 2006 5:04 PM
)2
Q 2 --------------
1
N1
" 4 5 2 ------ -------------- 3 / 1 N10
2
1
88 "
#
( 1
1 1
,
N
(
N1
&
N1
2P 1 1 ---------------------N1
& E
2
( "
<2
1
!
" N N1 % ' 1 -------------- Q ---------------------------------------2 %
4 5 2 ------ -------------- 3 / 1 N 10
1 -----------2
D "
"
(
( . 1 Q ------
8@
1
9?
5'
* /@5
" .1
!'55#@!
" (
4 5 :(3 29 / Q1 0
E
8;
(
(
Q1
Q1
book.book Page 161 Monday, February 13, 2006 5:04 PM
%@@ 7
83 " 8; "
)(
) & /
Q 0
1 ,
/
(
1
Q
Q1 -------------------1
/
Q 0 /
1
(
9 % ' Q1 -------------- Q 9 9--------------------% 1 9
: ( : (:( 9 : Q1
( : ------1
D "
+5 #
&
* ( * . 1 2. 2 F
!:
* @
.<;/ !
"
"
8
"
&
# % %
.2 Q 3 ( 2
& * ( 4 4.5 3 Q 3
F "
*-(
6
"
6
" "
-:40"
" "
" #
"
"
(
> "
" "
" '
" "
(
( F
2+* (P1
! "
" 1
=
book.book Page 162 Monday, February 13, 2006 5:04 PM
)# !
%%
!
"
57
* @
'A 9$54
" %%
0 ' 1
= "
3
3P1
'
"
$
' " ' ' "
0 3P1
2
!'55#@ # 1
% 0 3P1
2
*
" "
*
" "
/
7
|
/
"
/
" "
/
" %% 3 "
% $
"
" F "
(
" 1
"
9?
/
=
/
$1
$1
$ )
1
* 0@%
5'
8 . "
I
" (
!'55#@+ 7
" 83 " 0
P1 0
!
P1
"
"
" ,
%% " .
( "
2+*
" N!
2;˜ " &
book.book Page 163 Monday, February 13, 2006 5:04 PM
%@@
)* .
"
*-*
9"
%
"
." 8
#
"
6
" "
3
%%
* 1@%
5'
F
" %
9?
(
"
+
"
"
3
=
+
%% 1 2 P --+
!'55#@ #
+
"
%
8 33 $ "
%%
"
"
BA !C " "
!
3 >
>A ! &
( #
"
" "
#
"
"
" &
" # "
%% !
!
"
(
"
F " "
+
A !
" "
+P1
% +
#
" #
(+
%
"
3 %
OPT x x x 1
1
1
x
x
x
x
OPT/x #$%&' *
$"
%% "
"
' 3
L
book.book Page 164 Monday, February 13, 2006 5:04 PM
)& $ #
"
#
+
"
+
#"
!
" #
%
"
+
,
"
#
" "
" =
+
% ------------- N + +
&
%
(
(
%
"
(
" "
"
N +
%
%%
3
>
%
#
"
& 1 2 P --+
% N + ----------------------------%
D + Q 2
"
F
"
3
.
3@ "
'
( "
&
*--
6
7 "+
!
( # " . @>
&
"
%% *
" "
"
" &
%% &
<
" F
"
.@ 7 "
' .4
& (
2
N
"
! "
A ! Q
20
;4 N
" %
&
& (
"
book.book Page 165 Monday, February 13, 2006 5:04 PM
%@@
)1
N N 3-------------------------N
*-.
'
5--2
6
$ $
# " & ; -3.@0 -:40! $
" "
" "
! 83
, " # %%
"
(
"
&
" 9
"
&
# 4.45
. ))
32
"
OPT P 20
20
180+165 >2 165
20
20
20
s=
60
1
1
1
1
1
60
31
60 31
#$%&' *
)& "
%%
60
book.book Page 166 Monday, February 13, 2006 5:04 PM
)) . )) Q
&
)) & ( ; " &
-:409
A+ 3; " & P 2
++
#
-3.@0
3; " & P 2 $
"
" !
&
-:40
$ &
"
)
"
> "
A+
) !
!
"
1 9
&
)
; * 9
" # ++
!
(
"
%% "
# $
$ "
&
" "
# %% A + " %%
++ $ "
book.book Page 167 Wednesday, February 15, 2006 6:43 PM
5 &
"
'
"
#
"
#
%
# *
' "
+7
>
% %
2
"
" (
"
" > &
(
-;30
"
' !
" +7 ( + , "
(
& %
# ;> "
+7 ( (
" #
+7 -.40
)5
book.book Page 168 Monday, February 13, 2006 5:04 PM
),
-
'
6
!
(
'
"
#
" ,
+
-.0 -8@0
%
<
-830 -0
7 #
" $ ! "
5
&
+7 (
%
+
<
# #
#
" # '
!
"
#
# #
! +
<
# "
! " E
, " &
%
(
!
"
" #
# &
2
%
#
" +7
+
; "
+ !
"
:
+7 & !
( "
+ +7
-3<80" "
-3<80
book.book Page 169 Monday, February 13, 2006 5:04 PM
!
)4 %
& %
G
+7 "
"
"
(
-3<80A " ( 5 ' # '
'
G -.;0 -@;0
+
+7 " ' 2
&
"
-3.40 "
&
7 %
" -..0
% -8;0" !
9 F G )
"
"
A G '
" "
" #
& ' -<:0 &
mod
*
"
*
& " E " ! +7 "
" "
( " "
7 > "
'
%
#
'
G
+7
book.book Page 170 Monday, February 13, 2006 5:04 PM
52 !
(
& ' '
)
)
" !
7!
"
" " +7 #
' %
)
6
"
"
&
#
> , "
" #
"
"
+7 "
#
>
+7
% '
'
"
"
'
% +
; +7
( !
+7 :
>
'
"
'
"
@. "
( %
"
"
" #
"
+7 '
@< "
+7 "
@ 8P@ ;
+7 (
B @: "
& @?
"
-
=
%5
C
$
@/
7
*
+7 "
+7
" F
!:
(
- @+ &
( 34
84 #
% &
"
.< (
' .4 "
# "
.4 "
&
.4
#
book.book Page 171 Monday, February 13, 2006 5:04 PM
! !
5
"
7 34
&
" F & #
#
$
<4 # & " "
&
"
' <4 @3 " " $
%
& "
# L " 7+ <4 ,
' "
34 # " " .4 # " " <4 , "
"
&
" "
#
L $7
"
' .4 ' .4 #
* " 34
&
'
"
" "
.4
#
> =
"
#
-(
9"
7! ! +7 "
#
"
"
#
# %
"
#
"
% % # #
#
"
#
10 30
X(w,BC)
#$%&' %
0
#
! .<
20 0
X(r,AB) $7
7+
#
book.book Page 172 Monday, February 13, 2006 5:04 PM
5# 4 ( &
"
" %
#
!
#
7! CBP
# #
#
"
# #
"
P
!
+7 %
# # CBP # #
P
+7 CBP
" Q P
# #
+7
#
' CBP
"
Q P
# #
#
" "
" #
(
+7 B
$ # #
& C #
(
# %
+7 @.
% # '
*
#
89:::
@. #
" $
# &
# !
" !
0
P
#
" "
0
P
%
CBP
" "
&
%
# #
@. '
"
Q 0
"
" ;" " " @.
*
CBP
" ; G
B +
# #
Q 0
# C # " I
"
%
book.book Page 173 Monday, February 13, 2006 5:04 PM
!
5*
N +
N
N
(a)
move #inbuf1, r0 move #inbuf2, r5 move #outbuf, r4 move x:(r0)+, x0move y:(r5)+, a do #N, LOOPEND add x0, amove x:(r0)+, x0move y:(r5)+, a move a, y:(r4)+ LOOPEND:
(b)
move #inbuf1, r0 move #inbuf2, r5 move r5, r4 move x:(r0)+, x0move y:(r5)+, a do #N, LOOPEND add x0, amove x:(r0)+, x0move y:(r5)+, a move a, y:(r4)+ LOOPEND:
(c)
#$%&' &
$
# +7
book.book Page 174 Monday, February 13, 2006 5:04 PM
5&
I F
"
0 Q
#
9
CBP
" "
0 Q 0 !
- @
0
# #
"
"
#
#
0
@3
+7 P
,
CBP
#
# #
+7
&
"
" +7
" "
+7 @.
&
CBP &
& &
CBP &
& &
Q P 10 >
&
"
"
"
#$4$9$54
" "
Q P 20
- @ P
#
CBP
# #
P
#
"
N1 P
#
N2
0
+7
#
" G
!
7!
" # # CBP # # 1 N -----------------------------------#
"
"
( CBP # # 1 P --------------------------------------#
% !
@3
+7
+7
" 0 1
+7
"
% 344R
&
% CBP
# #
@. " Q 0
"
book.book Page 175 Monday, February 13, 2006 5:04 PM
!
51
@8 " "
& +7
+7 %5
& " $ "
# "
"
%5 (
" -.;0 -@;0
"
'
+7 0 if
4 Q 2 /
CBP # #
*
if
P
"
+7 +7
#
9
- @
#
"
# Q
$
@3 1
#
1 2
#
0
0
! 0 1 2
P
#
" 0
P
!
%
"
P
@. &
" "
#
& We "
"
&
@8
!'55#@6 )
8-<= =
"
" N1
P
P
0
#
@.
book.book Page 176 Monday, February 13, 2006 5:04 PM
5)
P
#
%
@. =
@< 0
@<
#
" 0 1 2
>= = P
=
!
"
-*
#$' # $
P
#
# P
=
@8
=
@8
%5
"
D
%
-
@< "
(
%5 B (
C "
%
% "
@<
" %5 %5 !
B
-@;0 C
%
@<
%5
"
E "
" %5 B
"
C
%5 %5
! " "
"
' "
%5
-@;0 -.;0 "
B
C
" "
%5 "
E
' ! & !
&
!
book.book Page 177 Monday, February 13, 2006 5:04 PM
!
55 %
" '
%
@< %5 3
#
2 %*
4 !
# E
%5
Q 3
#
%
@<
Q 2
% 2
%5
d
@< 3
#
u
MFIR
(a)
1
↑u
u
1
1
FIR
d
1
↓d
(b)
0
0
x2
0
0
x1
y2
0
x0
0
y1
0
0
x-1
0
0
x-2
y0
(c) #$%&' - ( $
&
%5 +7
"
#
book.book Page 178 Monday, February 13, 2006 5:04 PM
5, ! "
%
"
'
@< %5
*
* !
'
"
#
B↑ C P1 '
%
@<
!
"
#
)
# !
*
0
# *
N1
*
1
! " C
@< $
P1
# %
"
" "
E
" " 1
2
is produced before
/
% 1
1
1
&
I I
@<
=
2
2
"
2
% @. @<
" Q 3 P
!
0
" 0
%
Q 2
#
1
B"
#
"
"
% %
@<
#
"
"
0
* I *
P1
%* Q 4
#
P1
*
/
"
*>
2
*
" "
#
2
&
Q 1 I 0
1
* >
&
0
%5 Q 2 min
" 1P1
+7
1P2
2P3 P1
Q P1
1
2
book.book Page 179 Monday, February 13, 2006 5:04 PM
!
54
!
'
" "
%*
#
E
"
#
'
= & B"
N1
>
#
E
%*
P1
"C B"
>
"C "
#
%*
"
" "I
"
" !
"
"
"> I
0
0
A & +7
*
F "
# 0
&
%5 " "
%*
%
"
0
0
5
#
@<
3
"
B #
33 Q 2
C !
" 31 Q 0
" P1
3 Q
"
32 Q
Q 1 2
@@
1 "
% P1
3 N1
" 0
#
P1 >
N
@;
"
! P1
&
' "
B
C #
%5 # "
" & P1
#
' %
@@
@; P1
" P1
N
P1
@:
book.book Page 180 Monday, February 13, 2006 5:04 PM
,2 " (
1
@: Q 0
!
1
" P1
N
P1
P1 P1
Q
*
P1
N
Q0
" 0
Q P1
P
@?
Q0
@: *
@:
(
1 N --------------
F "
0
"
0
1
"
P1
N1
! @ 34
@/ N1
1 N ------------
@ 33
-----
@ 3.
(
!
%
1
P1
Q
"
@/
@ 3.
@ 34
"
P
----- P
N1
@ 3<
@ 3< 0 1
P1
#
0 P
0 "
@ 38 " @ 3@
book.book Page 181 Monday, February 13, 2006 5:04 PM
!
,
A
, @ 38 "
@ 3< P1
Q
!
" P1 --------------------- P
P
"
@ 3;
( P
P
P ---
@ 3: "
P
%
%
"
P
@. "
@ 3?
&
@ 3@
@ 3? 0 "
! 0
P
P
"
9?
"
- @
5'
@ 3/
P
#
%5 4 CBP Q 2 /
"
0 if
@ .4
if
P
---
% %5
!
@3 " 344R
>
+7 "
+7
P N P 1 N ----------- Q ----------------------- Q ---
!
"
%5 & "
+7
@ .3
book.book Page 182 Monday, February 13, 2006 5:04 PM
,#
--
" !
&
+7
"
'
" -.?0 A # B"
"C I
! ?
"
"
(! I
' ' ( -!
!
(! N ?
"
#
@ ..
(
" ?
0>
" "
false #
'
(! N ?
true P? # #
" "
P?
&
0
?
0
#
#
# % P?
# # $ (! N ?
#
(
@8 "
'
!
(! ?
#
# 6
?
"
+7
=
4 1 CBP Q 2 1 / min
0 if ? ? if
?
( P (! 0
0
0 and past-inputs Q false if
?
0 and past-inputs Q true
@ .<
book.book Page 183 Monday, February 13, 2006 5:04 PM
!
,*
-. !
%
-.?0B C
#
%5 !"
# ( avg
!
( lag
(
( avg
( lag !
Q 2( lag
Q ( avg
7
' +7
"
@ .8
=
!
CBP Q 1 P ( lag
@ .@
1 N ( lag --------------------2( lag
@ .;
+7
1
$ ( lag
+7
344R @4R
( lag
+7 ;8 % @4R
-/
#
#
+- !
B
@ .; ( lag X 1
C ( lag
+7
@4 ?R
+7
7! 9 % +7 &
)
# &
"
+7 "
book.book Page 184 Monday, February 13, 2006 5:04 PM
,&
-/
7
$ -.?0 " B
: & "
C
I I
#
# !
C
"
A
(
B
+7
(
"
#
(&
' (&
(&
" 9 7: -
9"
7!
"
$
7! 0 P1
!
+7 9 7:
-
9"
7!
"
$
7! 1.0 (& P 1 ( (&
-/ $
&
" "
# !
I 1
A
2
! #
# ' (& (& (&
(&
(& (&
2>
(&
1>
&
book.book Page 185 Monday, February 13, 2006 5:04 PM
!
,1 +7
"
" %
+7 CBP Q 1 P
"
(&
@ .:
1P ( 1 N ------------------------&- Q 1--(&
@ .?
+7
-/( !
# ! # 1
2>
A
2
(&
#
1>
1
& (&
1 2
' (&
1 2
/
(& /
E
/ / Q
P 1 (& N /
!
@ ./ # #
" P
%
+7
P 1 (&
@ <4
" CBP Q 0
+7
@ <3 "
book.book Page 186 Monday, February 13, 2006 5:04 PM
,)
-0
+ !
'
+7
" E &
& '
&
!
+7
@< %
"
!
@8
" +7
G
* !
& +7
344R " "
@<
+7
-1 !
+7 M# %5
"
" 7
"
( +7
* "
&
"
+7 #
' "
-.?06 +7
"
> "
+7 -3430
-..0" >
+7
& (
-80 >
+7
'
'
-;40 -3.30 -3840
! + &
;
+
+7 : " &
" " +7
G '
book.book Page 187 Monday, February 13, 2006 5:04 PM
!
,5
9 7: - (
" "
7! @
!
' 7
#
2
7 %5
#
8
+
+
'(
5
(
+
(! > +
( >
A
?> -
$
( avg > ( lag
7
#
7
#
' (& > (
+
F
> #
' (&
F
> #
' (&
"
book.book Page 188 Monday, February 13, 2006 5:04 PM
,,
9 7: - *
" !
"
7! @ 7! =
7
#
2
8
+
"
7!
3 344R %5
1
> (
+
1
?
0>
1 N ? ( (!
?
0 and past-inputs Q false
min ( P ( ! 0 1 N -----------------------------------------------(! ? $
7 +
1 N ( lag --------------------2( lag #
1 1--1
0 and past-inputs Q true
>
book.book Page 189 Monday, February 13, 2006 5:04 PM
6 &
*
$ "
(
+
< # , "
"
<. > ""
"
"
&
)&
% " @3 "
"
G "
"
"
#
'
"
#
+7 (
G " #"
-34.0 , " ( & & ,4
book.book Page 190 Monday, February 13, 2006 5:04 PM
42 G
# & +
!
"
:
" (
" ( <. " #
& "
A "
! " "
(
"
"
"
( &
.
#
$ )&
G5
@3
7
!
" "
"
# #
"
"
"
"
' *
" +7
'
# "
"
*
% # # ! " ( " # % *
( " 5
"
E %
" ' !
# "
& ' %
& % "
&
%
;3 #
=
-3840
&
"
book.book Page 191 Monday, February 13, 2006 5:04 PM
!C
EC
4 %
;3
% 2'
&
" (
*
.
#
4
$
.@3
5
"
! 3
"
.
%
"
;.
"
$
+
G
4
+ Q
0 Q
B
C
D
(a)
2 A
B
(b)
C
2
2
2
D
E
B
C
D
Retime
2 A
2
2
2
2
E
A
2
2
Preamble: B C 2D Main: A 2(B C D) E #$%&' .
$
% (
"
" 5
2 E
book.book Page 192 Monday, February 13, 2006 5:04 PM
4# Q 4 Q
+40
+ 4 0
+40'
+ 4
#$4$9$54
5
" 0
%
"
+40'
'
=
+40
@ '
$
"
. @!
"
" +40'
!
+40
+'40
!
+40
! #$4$9$54
$
. @!
"
"
!
"
& &
%
;.
A $
+ 4
A
20
10
B
$.7.+
20
10
#$%&' .
C
1 2 TBC
B
0
$.7 8+
1 A
+40
;. #
'&
+ 4
%
0
A
2C
1 2B
"
4C
& &
book.book Page 193 Monday, February 13, 2006 5:04 PM
!C
#
EC 9
4*
. @% A
#$4$9$54
.(@%
+ 4 0 "
" A
Q 4 Q
1
4
+40'
+'40
4
1
0
+
+'4
2
+40'
40'
+'4
40'
4
+'40
"
#
4
+
0
F 1
"
Q
1
Q 2
. 1 '
2
2
A
+40'
%
Q
Q
+'40
;. Q 1
7
" &
1
Q 2
2
Q 2
&
# "
"
book.book Page 194 Monday, February 13, 2006 5:04 PM
4&
9?
.@
5'
4
$
% '
!
Q
Q
"
( "
9 7:
.
8
" 5
$
P
0
1
N P
N
&
P
0
1
N
P
N
!'55#@
2
&
Q + 0 ;5
@ P
1
N
1
N
P
2
N P
&
@ "
"
%
F 1 A
&
Q 0
! 1
N
1
#
2
;< Q
&
#
1
+'4
&
1 2
! "
+40'
1
2
TXYZ’
"
l1
I1 l2
" "
(
Z
%
+!
I1 l1
X
TX’YZ
I2 l2
I2
X
Z Y
TX’Y #$%&' .(
;8 *
!
TYZ’ A
Y
book.book Page 195 Monday, February 13, 2006 5:04 PM
!C
EC
41
#
F "
+
+40'
& ,
2
&
1
;8
1P1
+'4
"
4
%
0
$ #
2
" & "
#
"
&
"
+'4
&
+'4
" & &
#
2 +'4
, N
2
# "
+
"
1
# "
2
P1
2
&
N
Q
2
N
1
0 F
P 1
2
F "
+ F "
+'4
"
+! Q ( P
2
2
Q
P
2
P1
Q
4 &
P1>
+'4
&
+'4
, " +
# #
#
( Q
1
+! Q
2
2
Q
+
"
" #
Q P
"
"
" "
4 +! Q
&
Q 1P1 " 4 $
+! Q
1
1
#
(
,
P
2
1
#
Q
N
= +
&
Q
4 0
=
#
book.book Page 196 Monday, February 13, 2006 5:04 PM
4) +! Q
N
P
Q
+
"
P
# * "
+
+!
P P
N
;3
P
)(
&
' "
P
P
Q
&
P
N
&
&
0 !
&
( P
( Q
1
N
&
N P
N
&
0 ;5
@P 6
3 " #
N
;3
Q P & P
2
>
+
"
& 1P1
Q
"
2
N
2
2
Q
F ""
1
"
P1
2
N +!
2
Q
1
N
2
"
P
# +
&
1
$
+'4
N
Xwp #$%&' .* $
I2c = bi
Xrp A
0
book.book Page 197 Monday, February 13, 2006 5:04 PM
!C
EC +! Q ( P
Q
2
+
(
" " $
+!
1
Q
P
2
P
2
2
P
1
P 1 +! Q +
+7 # #
N
1
"
+
Q
$ "
45
2
Q
"
2
1
P1
2
# 0
P
+
"
, "
0
&
"
" "
+!
# +
+! Q +!
N
2
1P1
+! 4
0
P
Q
+
2
=
P
"
+
P
P
,
P &
" P &
" 1
#
Q
&
Q
&
"
4
+'4
+! Q
&
N
2
P
"
4
$
+'4
" "
Q
+
1
+!
#
book.book Page 198 Monday, February 13, 2006 5:04 PM
4,
Q
+ P
&
P
2
0
P
' ( Q
N
1
P
2
N
&
0 ;$
(@ P !
"
A
"
#
1
%
;<
&
+'40
2
#
&
40'
+
" +
"
!
1
" 1
#
%
+!
" #
"
;@ ,
" #
( " (
' ( 0 "
4 + ( Q
2
N
1
N
I1c = bi
Xw p
Xr p
#$%&' .- $
1
0
book.book Page 199 Monday, February 13, 2006 5:04 PM
!C
EC
44
>
, "
"
( 1 40'
# #
"
1
"
1
#
2
&
&
# #
40'
# P
Q
2
#
N
1
2
P
& ( Q
!
"
+!
2
( "
+
& "
&
+!
P
2
1
40'
N
Q
P
2
1
P
P
$
+ 4 "
" 1
P
2
N
Q
1
P
2
N
#
Q P
40'
" "
+!
"
" Q
2 2
+! Q +
#
P1
" +!
4
Q
+!
, "
+! Q
+ &
N
"
+
"
#
1
+
+! Q
+7
1
"
40'
N
2
=
"
& 1
0
"
+
2
" #
+! +
6
book.book Page 200 Monday, February 13, 2006 5:04 PM
#22 +! Q
N
Q
+
1
1
0 40'
5 (
P
P
4
2
+!
+ N P
"
& P
P
N P
2
P P
N
2
N P
P
& N P
Q
( Q
1
N
P
N
P
2
Q
P
N
&
N
&
>
&
N P
<
*@ P
0 ;$
N
1
2
P
1
&
#
4
40'
"
+! Q +
# &
" (
( Q
"
( 6
" N
1
P
1
P
1
book.book Page 201 Monday, February 13, 2006 5:04 PM
!C
EC
#2
P
!
( Q
>
&
( Q
F "
N
1
&
" +!
4 D
"
+
( A
.
1
Q
&
2
<
( &
Q
"
"
&
<
" ! #
" F
" +7
:
#
. @!
$ " '
&
' '
!'55#@! % "
' " 1
N
2
1
3
N
P
2
P
A !
2
N
&
0 " P
&
, 0
2
%
+
P
N
&
. " 2
" 2
P
N
&
;3
"
book.book Page 202 Monday, February 13, 2006 5:04 PM
#2# "
&
2
"
)(
2
P
2
P
2
%
+
N P
8
N
N
@3 %
&
( "
"
"
&
"
%
%
Q
+7
( +7
+7
"
, "
&
2
F #
<
&
D "
+
( &
;;
" ( ' "
&
"
" +
E
"
<
8>
# 84 & "
"
"
<@ 34 *
"
= 5
!
3& 5
+7
&
# "
" P@
&
3'
4
" +7
#
"
" & "
"
"
@
&>
@
#
, " > "
+7
# #
7
+7
" , +7 #
" >
!
"
"
book.book Page 203 Monday, February 13, 2006 5:04 PM
!C
(a)
EC
A
3
5
B
5
2
C
3
#2*
5
D
Schedule: 2(5A 3B) 3(5C 3D)
Memory “Time” (b)
(c)
(d)
#$%&' .. 2
5A 3B 5A 3B 5C 3D ... 5C 3D A A A A A B B B C C C C C D D D
A A A A A B B B C C C C C D D D
AB 15
BC
Shared-buffer cost = 45 Non-shared cost = 60
30
CD 15
BC 15
AB
15
Merged buffer cost = 35 CBP(B) = 0
30
3 CD 15
20 5
BC 15
AB
15
30
3 CD 15
20 5
Merged buffer cost = 40 CBP(B) = -5
book.book Page 204 Monday, February 13, 2006 5:04 PM
#2& E
*
# -0 -8?0
( #
F
"
" E
& *
"
# "
$
%
&
> $
57
'A 9$54
. @%
2% 5 !
2% 5 9 7: .
% @< @3 ! ;3
8
#$'
5
57
'A 9$54
P
0
1
P
0
1
$ 1
N
+7
2
P
N
P
2
1
. @%
4 " Q Q 0 !
&
Q
Q
;3
1
Q
1
,
"
A
;.
" " &
&
@3
"
( >" +7
! # " )(
! 2% 5
)( & G
' ;.
" & (
&
@3
" >
&
"
F
book.book Page 205 Monday, February 13, 2006 5:04 PM
!C
EC
.
"
#21
7
A
' A
" A
! Q
A
% ,
A !
Q
;.
;.
P
A
Q
1
"
9 7: .(
#$' 5
:
P
0
P
0
$
0 P
2
1
P
2
1
P
2
. @!
> 1
2
Q
1
!'55#@
1
2
A
2
3
3
Q 1 2 3
N1
A
3
Q
4
1
A
3
Q 1 2 3
N1
! A
A
4
Q
1
2
2
A
3
Q
1
" A
2
" A
3
2
book.book Page 206 Monday, February 13, 2006 5:04 PM
#2) +
%
;:
;? " 1A
!
2
2
A
2
" =
3
1
2
A
2
3
1
2
A
2
3
7+4
A
2
+40
7'+
7+4'
+'4
+40'
2
! +
+!
4 +
"
+ 1
A
2
" !
4! 4
4
"
3
(
1 2
" "
3
2
=
!
" 1
"
A
A
2
A
3=
"
A
" " 4
A A 1
1
+40
3
2
+40
3
A
2
book.book Page 207 Monday, February 13, 2006 5:04 PM
!C
EC
b1
b2
W p c X 1 2
1
A
2
1
A
2
#25
A
b3 Y
p2 c3
3
1
2
A
2
3
A
I2(WXY)c2 = b1
N
Xwp
Xrp
I2(XYZ)c3 = b2
N
Ywp
Yrp
1
#$%&' ./ A 1A
Z
p3
2
A
2
3
3
A
2
A
3
1
A A
2
3
"
1
2
A
book.book Page 208 Monday, February 13, 2006 5:04 PM
#2,
b1
b2 p2 c3 Y
W p c X 1 2
1
A
2
1
A
2
A
b3
3
1
2
2
3
A
I2(WXY)c2 = b1
N
Xwp
N
Xrp
I1(XYZ)c3 = b2 0
Yrp
Ywp
1
#$%&' .0 A 1A
Z
p3
2 2
A 3
3
A
2
A
1
A
3
2
3
"
1
2
A
book.book Page 209 Monday, February 13, 2006 5:04 PM
!C
EC
!
4
1A
"
2
" (
(
" 1
A
"
+
%
2
#24
A
2
" "
3
"
3
2A
A 1A 1
,
3
,
"
2
4 "
2
"
"
1
"
' '
9?
"
.@
5'
1
2
2
% $
"
!
1
A
A
P1
P1
Q
P1
Q2
!'55#@! )(
Q
1
A
N
A
%
Q 3
%
;/
P1
;. F "
A
P2
P2
Q
;<
P1
P1
Q2
A
N
P2
Q
N
P2
" P2
Q
P1
Q2
A
F "" " ' Q
b1
A
b2
v1 p c v2 p c v3 1 2 2 3
P1
b3 p3
#$%&' .1 $
bk-1 pk-2 ck-1 vk-1 pk-1 %
ck vk
book.book Page 210 Monday, February 13, 2006 5:04 PM
# 2 *
" ' Q
P1
N
P1
A
%
P2
%
N
Q
;8 %
"
"
"
!
#
" #
.(
A
P2
!
P
P2
"
' "
P
P2
>
" ,
P2
D
? 6
N
"
"
P1A
P2
P1
P1
"
;@ ; 34
P2
%
P2
; 34
P1
A
P
A
F "
P1
) 5
" "
$ "
>" "
$ $
bi + bo
'
bi
0
a)
Xwp
b + b k -1 + bk-2 - b k - 2
Xrp
b
b)
Xwp(bk -1) #$%&' . 2 A '
Xrp(b k -2)
0
book.book Page 211 Monday, February 13, 2006 5:04 PM
!C
EC -/:0
#
A
%
'
$ "
"
A
" ' #
, " -/:0 " "
" "
">
"
(
.(
!!5 # N1
%
/
!
A
" $
/ /
N 1/
"
Q
3
#
"
"
N 1/
.
/
/
>
& /
N 1/
=
F " ' "
"
,
"
-/:0, " " A
"
;<8 & (
:.3 " % -/:0
N1
/P1
"
N 1/
book.book Page 212 Monday, February 13, 2006 5:04 PM
# # F " " #
! " cost
cost
N 1/
cost
N 1/
' "
! cost
;. Q
N
P1
"
Q
/P1
N
N 1/
, " P1
6
!
A
A
N1
;.
/
Q
cost
P
P1
N
A
N1
*
N
A
P1
N cost
' cost
.(
1
P1
"
A
!
/
A
A
P1 N1
/
"
1
1
N1
A
2
1
1
/
2
1
/
=
Q * (
/
;8
N 1/
N1
N 1/
/
"
P1
A
book.book Page 213 Monday, February 13, 2006 5:04 PM
!C
EC "
N1
"
A 2
# * N1 2
/
N1
/
2 /
Q " '
/
"
.
% 3 3
% $
* " 7
1
"
5
2
"
Q
= " '
* "
" $ 1
9?
" *
5 "
2
.(@
5'
1
1
N1
2
2
N1
/
/
Q
(
/
/
Q
N1
(
/
Q Q
;@ ;;
/
;:
2
2
N1
;?
N 1/
!'55#@+
% "
,
(
"
"
"
1
(
F
(
/
Q
"
(
/
; 33
book.book Page 214 Monday, February 13, 2006 5:04 PM
# & /
! ;:
)( ;?
Q " '
N 1/
; @ )(
;;
"
)(
" 2
/
# "
P1 N1
'
9?
/
D
.*@
5'
4 Q 2 /
2
2
N1
"
N 1/
4 Q 2 /
.
2
.
(
2
3
N1
(
N1
2
.
N 1/ N 1/
;/
Q 1 3 3
2
N 1/
; 34
Q 1
N 1/
$
!'55#@ " 2
P1
!
"
)(
;/
; 34
P1
, Q
2
)(
; 34
6
"
D
" &
!
(
"
"
M
' /
" /
book.book Page 215 Monday, February 13, 2006 5:04 PM
!C
EC
gik
# 1
gk+1 j
+
i
k
k+1
j
=
gij gik/ gij
i
#$%&' .
gk+1 j/ gij
k
!
k+1
j
1
book.book Page 216 Monday, February 13, 2006 5:04 PM
# )
.( (
! "
3
%
A
"
#
-/?0"
"
$
"
& ( ( (
A % <.. , "
9?
&
"
.-@
5'
Q
3
.
$ ' !
%
" .
4 ' Q . 2 ----3/ .
cost
N 1/
'
----..
N 1/
cost 3
.
5 3 0
cost
!'55#@% cost
Q cost /
/
> 3
" !
.
cost
' Q cost
----3.
----..
N 1/
book.book Page 217 Monday, February 13, 2006 5:04 PM
!C
EC Q ----3.
' cost
,
' Q cost cost
'
' Q
# 5
'
N 1/
7 )(
N 1/
cost
P
P1
N
A
N1
cost
Q ----..
N 1/
;8 "
N
P1
A
N cost
Q cost
N 1/
' '
P1
P1
!
4 Q 2 /
A
N1
'> P
N
N
P
2
1
Q
2
'
2
'
0
F *
( 4 Q 2 /
0
&
"
2
" P
&
P
2
'
"
A
A
P1 P1
A
Q
'
Q
2
' 2
! "
P1
A
'
%
A
4 1 1 1 N1 Q 2 1 1 / 1
N1
N 2
N1P
N1N
N1
N1N
N1P
N1 N1P
& &
N1 P
N1 N1
A
N1
N1 N N1P
N1
0
N1P
N1
0
book.book Page 218 Monday, February 13, 2006 5:04 PM
# ,
$
2
'
N1
!
G *
1
1
4 . 1 Q 2 1 ----./.
N1
G +7
1
N1
N 1/
Q
1
N1
N 1/
Q
'
" " "
" D
.( *
"
6
!!5 #
"
A
;<3 % ; 3. cost
'3
" cost
$
cost
3
" cost
optimal SL
optimal SR
#$%&' .
A
3
3
Q
'.
cost
"
.
P1
.
N
3
sub-optimal SL’
sub-optimal SR’
book.book Page 219 Monday, February 13, 2006 5:04 PM
!C
EC
"
3
# 4
"
3
cost
'3 Q '
N '3
P1
* P1
Q
2
0
P
P1
Q
'3
2
P1
N
!
'
3
3
N
P1
A
" N
'3 N
'3
2
'3 N
P
'3
2
N
P
N
3
3
N
2
3
3
P
2
P
" > '3 N
'3
2
3
N
2
3
.* * "
# #
# > (
"
#
"
#
& *
"
" *
"
book.book Page 220 Monday, February 13, 2006 5:04 PM
##2 &
" %
(
book.book Page 221 Monday, February 13, 2006 5:04 PM
7 &
*
/
% " % & ;3
$
" &
( !
(
"
% " #
"
%
"
.@< $
%
"
%
A % % " ! (
$ %
"
*
" ! > $
&
"
-3@0 ##
! "
.@8.
book.book Page 222 Monday, February 13, 2006 5:04 PM
### "
"
" *
"
'
'
" "
" " #
* !
"
( "
$ " % & " "
" !
" "
(
+
<
& F > "
(
!
" $
"
" "
! ( " , " &
"
#
" J >
"
/
"
! "
+ )
" " &
! F
!:
/ @+ "
"
%
:3 ! $
E
book.book Page 223 Monday, February 13, 2006 5:04 PM
!C
%@
##* 5
!
"
2 3 2& 3
2'
"
= 1
A
2
A
3
N
4
1
A
2
N
4
A
3
! & &
'
& &
'
! " 1
!
Q 60
2
Q 6
3
Q 36
4
" " 60 N 6 N 36 N 90 Q 192
1
A
2
A
3
N
4
Q 180
1
A
2
N
4
A
3
Q 168
,
& & &
'
Q 90
book.book Page 224 Monday, February 13, 2006 5:04 PM
##& 1
)
"
(
1
Q 2 3
$
Q
2
)
(
! E
)
)
$
N1
$
"
)
" + ,
" "
"
1
"
+
E "
&
"
!
)
)
% 1
P1
"
)
% "
1
Q 1
N1
P1
18
A
)
" 1A
2
e1 12
" +
"
A
)
e4 5
B
" + ,
5
e2 3
2
C
e3 4
18
D
1 5A
2 3
2B #$%&' /
$
&
2D 3C
"
"
book.book Page 225 Monday, February 13, 2006 5:04 PM
!C
%@
##1
/ @! ! 9? '%$4% ! !7
:
#$4$9$54
9$54 !'57: %
#5' 7# '
" "
2)51) 15$ , '% %' !? *"
!
" Q # $
%
*" Q # *" $ *" !
" |
# *" Q
$ *" Q
1
2
|
$
1
!
1
2
$
Q
2
:. !
#
9
/ @
|
2
A
$
2
Q
% 2)51) 15$ , )
"
$
Q
1
1
!
!
|
$
% :3
"
%
%
%
2)51)
15$ , 1
"
"
"
"
"
"
!
" +
se1
60 ve1
#$%&' /
! "
!
!
ve4
se2
54
6 ve2
2)51) 15$ ,
72 0
ve3
%
90 36
"
se4 se3
%
:3
book.book Page 226 Monday, February 13, 2006 5:04 PM
##) *
=
" +
$
"
= "
&
/ @! 2*2 +
" +
6 !
#$4$9$54
1
2)51) 15$ ,
2)51) 15$ ,
2*2 + 2*2 +
2)51) 15$ , *" %
"
*
6 !
"
F
,
" *" !
"
"
:
/ @!
,
72
>
,
%
!'55#@
"
2*2 + Q
1
! 1
Q
%
1
"=
2)51) 15$ , Q
"
/
, " ! ,=
"
,
!
P1
!
Q
!
N1
Q1 P1
Q
A Q1
Q
A
A
N!
N1
N
/
book.book Page 227 Monday, February 13, 2006 5:04 PM
!C
%@
##5
2*2 +
"
,
D %
&
% 1
:.
1
2*2 +
2
"
2
4
)&
3
3
4
:3
-/@02
(
&
*
"
( 2*2 +
2)51) 15$ , " Q # $ ! " "
1
"
# Q
"
1
"
"& Q + 4 $& !&
+ Q
|
#
4 Q
|
#
$& Q
!&
/
/
|
Q 7* P !
"
$
/
/
/
$
" 7* Q * +
%
:<
"
$
"
$
!
/
N1
" "
*
! &
/
*
" "
" $ 2 &
=
" "
"
book.book Page 228 Monday, February 13, 2006 5:04 PM
##,
&
B,
1
% # & 2 log # &
C
*
>
-34@0
"& Q
$
|
/
*
/
! $ 7
/
:
/ @! $
#
$
"/
!
$
/
" "
/
"
$
%
$
/
2)51) 15$ , ) $
" Q # $
&
"
"&
v1
5
y1
v2
7
v3
y2
10
x1
y4
5
9 x2
v5
y3
10 6
v4
6
1
2
#$%&' / ( !
$
# $
/ (@ *
"
"
# $
/
"
*
/
"
*
* !
/
"
:
"
$
!'55#@
# $
:3
*
# $ /
/
/
x3
1
y5
4 x4 "
x5
book.book Page 229 Monday, February 13, 2006 5:04 PM
!C
%@
##4
!'55#@
"
$
"
1
* Q 1
*
N1
F "
P1
" * "
"
"
*
F >
* /
"& $
/
"
:
/ *@)
&
2)51)
15$ ,
!'55#@!
"
( !
&
9?
/ @ **
5'
&
*
2)51) 15$ , " "
"
"&
$
2*2 +
Q # $ # $
# $
!'55#@
*
" )( !
'
+ :3 *
' Q
! /
'
/
Q
! /
! *' Q *' 7 * P *
/
*'
*
&
"
/
*'
! /
"
' *'
&
2*2 +
"
book.book Page 230 Monday, February 13, 2006 5:04 PM
#*2
!
*
Q
! /
Q
/
**
! /
! ** Q ** 7* P
!
'
*
" ! /
P
P
/
! /
*
**
:.
/
& :8
:.
"
/
**
/
!
'
!
/
*'
*'
/
"
* * Q *'
"
! **
! *'
&
/
**
/
/
*
!
D
!
" '
%
:8 A
" & "
Procedure determineMergePaths(SDF Graph G) " $ 6 MergeGraph(G) " & 6 BipartiteGraph( " $ ) * * 6 maxMatching( " & ) /
return
#$%&' / * "
)(
**
* *
7
/
**
book.book Page 231 Monday, February 13, 2006 5:04 PM
!C
%@ /
#*
'
9
$
# 2
% #
"
log #
# #
"
Q + N 4 Q 2
# *"
+ 4
# *"
2)51) 15$ , " # *" Q 2 $ " 2)51) 15$ ,
$
#
%
$ Q % $
!
# log # N $
% #
% !
Q 4
"
log #
" "
2)51) 15$ ,> (
$
log # % # % #2N $
2)51) 15$ , #
!
# # % $
, #
% $
2
log $
% # 2 log #
%
book.book Page 232 Monday, February 13, 2006 5:04 PM
#*# / *
( ( ' " "
6
! (
"
"
, "
, "
' !
"
"
% :@
" ' /4 , "
%
"
"
" 7 "
&
' ;; ! ( ; " :. ! '; "
, " "
%
"
%
:; !
"
&
"
! "
!
' 2)51) 15$ , 1
A
12
5
e1
B
3
b1=60
e2
2
C
4
b2=6
e3 18
D
5A
2 3
b3=36
2B
e1 A
12
e3 10
W
12
18
3C 1
D
5A
2 3W
#$%&' / - !
2D
2D
book.book Page 233 Monday, February 13, 2006 5:04 PM
!C
%@
#** E
"
G
% "
15$ ,
" % %
%
/
7
"
% :@
) &
::
"
2)51)
"
F " "
( (
"
+ +
( $
' E
&
< ! < !
"
%
% ! %
+
<
" G
!
# "
" (
!
G ! CD
( BC
90
60
AB 54
0
#$%&' / . %
se1
60 ve1
6
54 30
#$%&' / / $
se3
se2 ve2
0
36 ve3
2)51) 15$ ,
book.book Page 234 Monday, February 13, 2006 5:04 PM
#*& G &
"
&
, "
"
&
, (
"
" &
&
G !
%
:?
# G
% !
changeIntersectionGraph recordMerge $ "
&
G " mergeRe"
corded G
&
!
" /
'
9
!
3
.
<
#
#
:< Q1
" "
% #3
"
"
% )(
:< "
! &
% #
8 "
E ! "
$
$
&
"
#
book.book Page 235 Monday, February 13, 2006 5:04 PM
!C
%@
#*1
Procedure mergeBottomUp(SDF Graph " , SAS 6 computeIntersectionGraph( "
)
)
6 6 while (true) for each node
(1)
"
for each input edge
of
for each output edge 6
(2) of
(3)
(4)
A
6 changeIntersectionGraph(
)
6 if (
)
recordMerge(
)
6 fi restore( end for end for end for if (
)
)
6 mergeRecorded() else break fi end while
#$%&' / 0 $
"
book.book Page 236 Monday, February 13, 2006 5:04 PM
#*) % $ 2 log #
% $
"
2
#
8 "
# "
!
1
"
*
% $
2
# % $2 ' #
!
"
# % $ ,
% #
$
3
" % #4
& "
%
# % $2 "
/
= /
% >
" # #
"
'
' ) 9
+
% &
+ -/:0 " -/:0
CD
A
1 1
#$%&' / 1 !
B
2
+
3
C $!
% 2
7
D
8
$! :/ ! 7
E
5 1
F
DAT
book.book Page 237 Monday, February 13, 2006 5:04 PM
!C
%@ .;4 "
#*5 " # ..; $
$ "
A
;<3
$ .4@ ! (
/
.4R
? 6
#%
#
(
"
-/:0 -3@0
( %
%
"
%
: 34 !
&
! &
"
4
&
# >
"
#
2
(
#
*
+
"
(
?
#
>
" <
"
A
(
<
&
&
" "
'
$
"
.
"
M
&
/
(
! "
! :3 ( (
" % !
# -3.30%
W( W 8/ = 3; T$2 8
# 3;(
2
& x2
A B
#$%&' / 2 $
Disp
C
""
& "
book.book Page 238 Monday, February 13, 2006 5:04 PM
#*, $ # "
%%! & ! # & =B( .
$
%%!
<> !
B .
?
3G
> #
" B(
#
3G <
.G <
3.O& C B( .<@O& C % : 33
! # "
"
B( )( #
@4
% *
3G.P3G. # " .G @P
& '
+7 &
% "
%
( !
76 5
5 2+ ! $
76 $
$ 1$F ! 5
" 2 c
(a)
a
b
(b)
a
e
1
2 1 h
k
% .
1 2 f
1
2 1 p
1
2 r
#$%&' /
g
h
w 2
x
2
E
1
1
1 2 z
F
# G
1
y 2
1
" # !
e 2
1
2 q l
1
2 1 d
2 o 2 g
1
1
I 2 J
2
z
M
3
#
book.book Page 239 Monday, February 13, 2006 5:04 PM
!C
%@
#*4
!
B
C +
< !
B
F
C
-3@0! ! 76 $
5
!
$
76 5
# B
C
> $
(
3.R
&
8/R 5 '
-3.30 .444
B ::<
!
C
&
> ;4R
&
"
"
& "
"
" "
9 7: / "
7
8
3;( 8 ( ( ( ( ( (
2 & 3.O. 3.O< .<@O. .<@O< .
+
&
"
#
+
" 4 "
/
>
"
<@ 8/ <8 :? 3.. 8/. ;4 3:< 84/ .4/ 3... .8/; 3@8.
/ <@ / 3; @@ .84 .8 ;< 3<@ 3<. @38 .4:3 //3
(
9 ' 3@ <@ 3< ./ ;< .?/ .; :8 3/? 3@; @38 . / 3.<<
9 3@ .4 3; <; /3 @@< <@ 3.; 3// .@3 (0. . / //(
7& ' 0 8/ 1 . (/ . 3<. 1 @38 . / 3883
7& 0 0 3< .: ;@ <;: .; :? 1 .<4 @38 . / /:.
E ? 3? / 3; @. .<: .. ;3 3./ 3./ ; 3;:. ::<
33 3 8? ; 44 44 @@ 3< ?< <. 88 .< .8 / 3/ < .. 4
"
$ "
.;33 1 D ) % -@30! & -3.30 %
' " (
8/
book.book Page 240 Monday, February 13, 2006 5:04 PM
#&2
I
(
<
) % 3343
3@// # " "
"
) %
! (
F
G (
(
$ = -3@0
( ( (
::<
!
3@8.
//3 :3
, " G !
(
&
" ! 1 $ 1$F (
D .W34@; ! $
( !
#
$ "
[email protected]. Q <;@8
#
34@; 34@; 34@; $
'
,
$
& "
$
!
$ "
'
>
& &
"
& %
24 11 4
!
&
(
A "
$ $ 1$F ", 11 4' $ )23*10 ( 1 5
"
?.#2407
"
book.book Page 241 Monday, February 13, 2006 5:04 PM
!C
%@
#& &
&
& ", ''''$ ''''$)23*( 1 5 ( 1 5
7
88 33 88
"
& >
#
$ " 1056
,
(
264& 24
2407
"
"
" ! & 34@; "
& 34@;
>
" 34@;
>
(
" " "
" #
"
& #
"
* (
" -/?0
*
34@; $!
+
"
* &
$
' " (
#
"
$
(
33 ;@
#
& 3//8 ! &
$
38:
, 38:
+ 34R
"
+
$!
$! & (
" !
$
( +
" & &
Q
&
Q
-3@0
book.book Page 242 Monday, February 13, 2006 5:04 PM
# Q
&
!
Q
' mod
N P N
!
&
"
N P
'
(
:8
$
72 7= ( N
"
(
,
# " -3@0 %
"
%
" (
$
!
" , " .;33 * "
" &
!
( !
" "
& ' '
"
:8
'
"
%
'"
/( )
" #
%
'
!
+
< "
! " E $ G
# #
" "
book.book Page 243 Monday, February 13, 2006 5:04 PM
!C
%@
#&*
&
! # &
>
" " "
E #
( (
, "
#
&
" -0
(
&
"
# +7
,
(
# &
" #
&
% !
( # * ( G
%
"
*
" # '
%
"
" !
( "
( ( "
! A
( &
" (
3.R &
" 8/R
book.book Page 244 Monday, February 13, 2006 5:04 PM
#&& 7 % "
" ( "
-3@0 (
"
( "
"
:3.
book.book Page 245 Monday, February 13, 2006 5:04 PM
8 &
" ="
#
#
"
! "
" ( #
"
"
"
'
" , "
.;3 &
"
"
"
" "
"
! '
%
' & .;. 2
" " "
"
"
% ( #&1
&
book.book Page 246 Monday, February 13, 2006 5:04 PM
#&) " " & 7
'
' &
!
(
" #
-;:0
-3<30
% " % % % " " # *
" #
-3;02
J
9
&
( "
-:.0
"
?8
0
' % 1
+ "
9
"
%
"
)
# %
?3
" ( " #
! "
" = & Q
& Q
(1)
A
n
(
&
(2) m
B
A1
n>m #$%&' 0
$ "
%
n mod m
m
B1
book.book Page 247 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
"
BC@
"
"
?3"
&1
1
mod
Q
1 &1
!
#&5
1
( &1 E
+
&
""
&
"
1
(
Q 3
Q 2
& & %
&1
! "
&
3 mod 2 = 1
1
1 &1
" & &&
$ (
N
P1
&
-3@0 , " ? .=
% " &
"
(
!
& &&
@ ?.
" <
( $
!
book.book Page 248 Monday, February 13, 2006 5:04 PM
#&, 1
"
1 &1
Q 2
&1
>
1
$
1
& " &
& $
= A
"
&1 1
>
& &&
& "
2 & &>
" <
#
="
* "
&
" "
< <
' .
*
9?
-3@0 =
0 @%
5'
%
"
%
?3 N
(
P gcd
!'55#@
-3@0
3
A
2
B
A1
2A1B1
AB
A
#$%&'
0
$ %
B
1
2
B1
book.book Page 249 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
*
N
+ %
BC@ P gcd
?3 "
+
#&4 "
A7 :7 !
%
" 72 7 % 72 7
!
?.
72 7
" &
9?
0 @!
5'
% "
?3
gcd
!'55#@
!
Q gcd
( mod
gcd
Q
Q gcd
mod
( mod
!
?3 F " "
N
P (
1
"
&
&
#
&
#
&
#
1 &1
mod
N
& (
& " &
"
" mod
,
P
N
P N ----
D
Q
N
P
1
book.book Page 250 Monday, February 13, 2006 5:04 PM
#12
9?
0 (@
5'
$
"
72 7
|
|
!'55#@ % "
$
* A1
!
$ ( gcd
!
( gcd
& ( gcd
( 72 7 " -------------------------gcd
Q
"
P gcd
N
"
?3 |
?3
|
!
?3
|
gcd ( gcd
5,
?3
2
" P gcd 2
5, ! 5,
N
% "! %
"
P
!'55#@! |
?3 |
,
D
Q
|
|
0 *@$
5'
" |
"
?< !
) %
|
!
?.
?<
|
!
9?
"
"
$ . #
9?
!
$ 72 7
# ?.
0 -@!
5'
%
" 1 % log N log
'
%
book.book Page 251 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
!'55#@!
BC@
"
#1
Y M
" *
1+ > )
1 )
N2
) Q )
!
#
N1
"
P1
N)
"
0
-<<0 1 ! %
)
1
"
" =
1 )0 Q 0 )1 Q 1
P2
)
)
"
N1
1N 5 ) C B Q ---------------------2
,
% log
! " (
2 Q )3
F " )
" 1
' Q
N1
) 0
' Q
' mod ' N1
"
* " " !
&
*
"
" mod
'' Q )
! 3
P1
"
Q 1
%
1 Q )2
#
P1
"
'' Q
'
mod mod
( mod
N
Q
N
P
)
N1
)
F "
(
, mod
N
N) Q )
N2,
( * P1 Q 1
"
Q ) Q )4 Q 3 % 2 " )
!
N1
"
N1
mod ) Q )
& Q )3 Q 2
P1
N1 Q 3
P1
book.book Page 252 Monday, February 13, 2006 5:04 PM
#1# Q )
Q )
N1
" ' Q )
" D
" !
' Q )
P1
P1
"
&
" " '
"
') "
.@3
%
0
=
$
$ Q
"
3 3
B C B
3
3
.
. .
C
.
-3@0! "
" " "
" " "
" " "
?<
" %
)
"
%
$
! %
$ 1
?<
$ 27 2 7 3
* 1
72 $ 5'
73 %
73
book.book Page 253 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
#1*
1
A
A
2 3
3 C
1
5
C 1
D
2
2
B
W1 1 2
4
E
10
1
5
2
4
3
6
3
B
2
1
D
2
(a)
10
E
(b) 6
3 C
1
2
W2
W1
W2 10
1
10
1
20
2 W3
2
4 D
2
10
E
D
(c)
(d)
SAS: (2((3A B) 2C)) (E 5D) #$%&' 0 ( $ $ "
2
"
"
%
10
E
book.book Page 254 Monday, February 13, 2006 5:04 PM
#1& 1"
72 71 2
%
1
71 3
,
&
& (
20 N 2 Q 22
34 (
8< !
73 ?
<
72
72 7
71
./ !
72 7
G 72 7
!
&
%
"
72 7 5
! "
% 4 !
4
?8
%
!
?8 "
!
72 7 72 7 73
*
72
A7 :7
%1
$
#$%&' 0 * $
5
"
73
1
71 7 2
F)
5
"
% "
%
?<
"
book.book Page 255 Monday, February 13, 2006 5:04 PM
!
B
@ %FF &
%
! "
BC@
#11
?<
72 7
5
8<
A
$
.@8 $ " "
A
$
( F)
72 7 P gcd
N
! ' 5
0
A
5+ $
"
72 7
"
'
9
"
"
(
1
"
%
& % G
& > "
"
' "
%
Q %
$
" Q * +
$
%
$ /
7 7 -3@0
"
%
H
book.book Page 256 Monday, February 13, 2006 5:04 PM
#1)
-------------------------------------------------gcd / % log
"
"
Q log
Q log
N log
Q $ log
N log
%
0 F
"
"
"
&
" "
"
"
"
72 7
*
"
& 72 7
72 7
+
"
" "
71
Q
(
%
Q 1
72
?. ?.
'
0 @
1
!
p1
W2
pk
#$%&' 0 - $ "
1
c1
W1
ck %
?@ !
=
!
:
&
"
book.book Page 257 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
#15
!'55#@
/ "
)(
/
Q
(
7 D
/
/
(
/
" 1
Q
0 .@!
5'
(
/
/
F "
9?
/
?.
&
(
" ! 1
"
% "
Q
2
%
?.
/
&
?; ?<
2
?;
!'55#@ (
D +1 +2
" "
+
&
+
N
&
D
"
(
7
"
"
# #
!
&
"
&
2
P
& 2
0
1
P
& 1
0
"
A
p1
c1
B
A
(I) #$%&' 0 . !"
p2
c2
(II) "
"
B
book.book Page 258 Monday, February 13, 2006 5:04 PM
#1,
0
7
?<
"
1
P
1
(
Q
1
2 2
&
2 & ----- 1 2
& 1
(
& 1
!
2
(
P
2
1
P
Q 0
& 1
D
9?
0 /@!
5'
72 7
72 7
!'55#@
(
D
+1 +2
"
+
+
N
72 7 72 7
&
D
D * *
* & 1
7 !
* & 1
Q
N
1
P gcd
P
* & 1
1
1
D
&
P
1
*
& 1
1
* *
2
* & 2
P
=
=
29
*
?; "
&
P
1
&
2
Q
*
*
P ----1-
P
2
1
* 2 & ----- 1 1
* &
* 1 N 1 P gcd 1 1 P 1 N ------------------------------------------------------------------------: 1
?8
book.book Page 259 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
=
1N 29
=
=
2
=
7
?8
2
N
N
2
gcd 1 1 ----1- P ----------------------------: 1
2
2
N
#14
1
gcd 1 1 P ----------------------------
2
1 2 1 ----1
P gcd
2
P gcd
1 2 ---------1
2
2
" 1 & ----1
gcd 1 1 N 1 N ----1- P ---------------------------1
1
!
2
P
1 1 gcd 1 1 9 & ----- N 1 N ----- P -----------------------------: 2 P
& 2
1
Q
,
9?
"
2
1
N
2
P gcd
2
& 2
2
72 7
D
0 0@%
5'
1
%
D
?@
72 7
!'55#@%
"
0(
) 9 =
1
+ $
$!
CD A
&
1 1
#$%&' 0 / $ +
%
B
2
$!
3
C
?:
2
7
D
8
A
7
E
5 1
&
DAT F
book.book Page 260 Monday, February 13, 2006 5:04 PM
#)2 7 7 3 & 2
4'
32$ 5)
!
" " %
% ?? ! ?/ "
( & !
"
%
? 34 "
+
33
(
! "
F) F)
#$4$9$54
"
(
0 @!
(
%
F)
?/
!
(
+
$!
32 N 7 P 1 N 4 N 7 P 1 N 2 N 3 P 1 N 5 N 1 Q 58
!
:.R
( $ !
.4@ (
.4@
(
p1 p2
33W1 3W2
2W 2W 1 2 1W 1W 1 2
p4 p6 p7
W1 4W2 E 5F
32W’1 2W’2
1W’ 1W’ 1 2
p8 W’1 D
p9
1W” 21W” 1 2
p10 W”1 C
p11
#$%&' 0 1
AB
(
p3
+
$! &
p5
book.book Page 261 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
W1
W’1
W’’1
1
A
W1
32
1
7
2
3
4
7
#)
32
7
W2
W’2
W’’2
B
W2
4
W1
2
W1
1
4
7
W1 4W2 7
W’2
4
1W’
3
W1
3
W2
2
W11W2
1
W1
3
W2
1
1
W12W2
2
2W’
1
1
1W’
W’11W’2
1
2
3
2W’
2
W’2
1
W 1W 2
’
2
3
W2
1
W’’1
’
’
W’’2 1W’’
1
W’’1
#$%&' 0 0 !
F
C
W1
4
1
D
1
W’1
5
E
2
1
1W’’
2
W’’1W’’2 +
$!
3
W2
3
W2
2
book.book Page 262 Monday, February 13, 2006 5:04 PM
#)#
0*
=
A
'
' !
!
?<
" *
-:.0 A ) $
& *
(
" %
" Q # $ $ $ !
" "
5 Q $
% $
" " $ $
! " "
"
$
=
p1() { for (inti=0; i<3; i++) { p2(); } p3(); }
p5() { inline of actor E; for (int i=0; i<5; i++) { inline of actor F; } }
p9() { p11(); for (int i=0; i<2; i++) { p10(); } }
p2() { p4(); p3(); }
p6() { for (int i=0; i<3; i++) { p7(); } p8(); }
p10() { p11(); inline of actor C; }
p3() { p4(); p5(); } p4() { p6(); for (inti=0; i<4; i++) { p5(); } }
#$%&' 0 2 1
p7() { p9(); p8(); }
p11() { inline of actor A; inline of actor B; }
p8() { p9(); inline of actor D; }
+
+
$! &
book.book Page 263 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
#)*
Metric 1: 5
@
$ Q --------$
51 "
Metric 2: 5
@
$
Q -------------------------
52 "
$
" A
( 344R 344R 344R (
" 2
3
(
!
344R 2 . "
72 7 *
&
%
&
" 344R
!
?3 ! ' 6
# !
5 A -3@0!
$ 1$F
5 A $
$ 1$F 9 7: 0
= actor count
edge count
U1 (%)
U2 (%)
buffer cost ratio (%)
(
.<@O.
.4
..
/4
??
??
(
.<@O<
88
@4
:;
:4
:;
(
.
.4
..
/4
?;
/<
(
.
88
@4
?4
:4
?:
.<
<.
<@
?.
?8
?;
?
:
8.
8
/
.
;
@
84
34
.3
( . .
book.book Page 264 Monday, February 13, 2006 5:04 PM
#)& 9 7: 0
= actor count
edge count
U1 (%)
U2 (%)
buffer cost ratio (%)
@
8
@4
3:
38
.;
.?
?.
?<
/4
38<
3@:
/;
::
/4
. 7
#F .#O
" !
#
" % < < &
" <
!
!
= < < $ " & (
(
< < # #"
# ,
#
"
" " + 2$ &
#
9
5<
6 !
?3 !
& "
" &
"
%
%
? 33 7
&
&
" " ! ' < <
!
"
& " < "
& 4 :@R
& &
34 ?@R &
'
$ 1$F "
1 A & 3 .;R / 8@R " + + * B<: 9C
< &
!
!&
?3
, "
" #
>
&
book.book Page 265 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
#)1
100 90
uniformity metric 1 (%)
80 70 60 50 40 30 20 10 0 0
20
40
60
80
100
80
100
buffer cost ratio (%)
100 90
uniformity metric 2 (%)
80 70 60 50 40 30 20 10 0 0
20
40
60
buffer cost ratio (%)
#$%&' 0
5
"
book.book Page 266 Monday, February 13, 2006 5:04 PM
#)) )
72 7
1
A
72 7
"
7 :7 7 1 .@8. " 72 7 F) 1 A + 1 #
:
A
7
A
$ 1
?. 5
A 5
! $! & % A" 72 7 " % ? 3. "
%
>
1
?: ? 3. *
"
& !
72 7 !
72 7
M
&*3& P #&*3& ----------------------------------------------------------------------------------------------------------------------&*3&
"
F)
+
5 !
#
+
"
72 7 1
A
F)
7
72 7 72 7
nq m f2 3
cd 2d at 2
aq m f2 35 _2 d aq m f2 35 _3 d
aq m f2
aq m f2
#$%&' 0
3_ 3d
40% 35% 30% 25% 20% 15% 10% 5% 0%
3_ 2d
buffer cost reduction
A
"
1
A
book.book Page 267 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
0*
#)5
"
7
"
F) "
"
" $ $ F)
,
"
F)
"
$ =
$
% ( %
' " M '
% & & "
*
> +
$! )
" %
! % '
>
" % %
?:
&
;3.
" "
" ;3.
(
$ # " % !!5 -380
" 1
> A
(
& # 1
!
+
&
%
?<
&
+
A"
#
&$' ' ' ''
A
&
= 3
& $ 3'
2'
?@
( <@
$
A
!
' 3
+
-3@0 -<;0 ' ' A + A
F)
7 8<
book.book Page 268 Monday, February 13, 2006 5:04 PM
#), F "" "
" F)
"
+
A
( (
8
! "
"
! (
?@
"
%
? 3<
$ $
&
"
'
$
$
!
6
'
! ,
+ 3. "
P
1
3P
A
P
B
P
P
3
P
C
P
P
4
A
P
P1
3
P
5
P
B
P
P2
4
P
6
6
B
B
3P82P
D
P
P C
8
7
2P2 P3 E 5D P3
3A P4 B 2C
5
P
E P
A P
!
2
3P
A
?@
2
P
P
A F) ? 3<
" %
P
N E P S s c h e d u le : ( (2 ( 3 A ) ( B (2 C )) ) ( E ( 5 D )) ) T o t a l 4 p r o c e d u r e s r e q u ir e d . 7
(b ) P
C
D
P
C
D
P
D
C D P P O s c h e d u le : ( (3 A ) ( B ( C ( (3 A ) ( B ( E ( (3 D C ) (2 D )))))))) T o ta l 1 2 p ro c e d u re s re q u ir e d .
(a )
#$%&' 0 ( %
( ?<
+
P4
A
F)
book.book Page 269 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
F) ;:R
#)4
+ +
A F)
.
A
)&
"
F)
+ !
A '
' ? 38
%
($ P ' % --------------------------------------------------------------------------------------------------------------------' %
"
+
+
F)
+
+
A
' % P ($ ---------------------------------------------------------------------------------------------------------------------' %
" %
+
+
? 38 :4R
.4R ! "
/4R F)
" (
7 F
%
-3@0"
Procedure Count Reduction
NEPS vs . M inim um Buffe r CDPPO
Buffe r Cos t Overhe ad
#$%&' 0 * +
F)
"
+
A
book.book Page 270 Monday, February 13, 2006 5:04 PM
#52 " " -30 -3@0 -<;0 * # &
"
( &
"
"
F) *
-3@0
F) "
F) , F)
"
" "
# F)
" $
"
E ! -380 ! +
%
%
" # " " -30 -3@0 -<;0
F) F) +
&
"
"
A
%
4
"
&
'
A
F) &
$
+ A ? 3@
!
"
F) "
' $ 1$F
1
A
$ $
"
! + -----------------------------------------------
"
+
# ' +
" A
) + ----------------------------------------------------------* &
+
book.book Page 271 Monday, February 13, 2006 5:04 PM
!
B
@ %FF
BC@
"
+
#5
(
+
# ! F)
%
"
? 3@ " + A $ A $ ! " $ $ '
" + " +
! '
F)
A
F)
" " "
' '
" '
F)
0" " "
% "
'
! '
"
" ' "
! ( "
!
"
*
' %
"
(
" " # " %
&
(
&
% (
"
' (
-;:0
book.book Page 272 Monday, February 13, 2006 5:04 PM
#5#
Buffe r Cost Com pa rison f iltBankNu dat2cd cd2dat2 cd2dat
SA S
nqmf 23
NEPS MinBuf f
aqmf 12_3d aqmf 12_2d aqmf 235_3d aqmf 235_2d 0%
20%
40%
60%
80%
100%
Buffer Cost Ratio over SAS (APGAN+GDPPO)
Procedure Count Comparison filtBankNu dat2cd cd2dat2 cd2dat
SAS
nqmf23
NEPS MinBuff
aqmf12_3d aqmf12_2d aqmf235_3d aqmf235_2d 0%
20%
40%
60%
80%
100%
Procedure Count Ratio over Minim um Buffer Schedule
#$%&' 0 - + $ 1$FN1
F) A
$
book.book Page 273 Monday, February 13, 2006 5:04 PM
9
*
"
% -3@0
" # 7
( " # * #= # " ( G
"
E (
( & %
& *
"
" "
( ( " #
"
*
" &
'
!
" #> "
#5*
%
book.book Page 274 Monday, February 13, 2006 5:04 PM
#5&
1
' " A
"
' '
% %5
" " "
%
/3 ! " " "
$ " & * "
+
A
-380 "
in0 g0
in1 g1
in2
ai0
ai1
ai3
#$%&' 1
$
%
in4 g4
g3
g2
ai2
mpy mpy add mpy add mpy add ...
in3
ai5 ai4
ai7 ai6
ai0,in0,g0 ai1,in1,g1 ai2,ai0,ai1 ai3,in2,g2 ai4,ai2,ai3 ai5,in3,g3 ai6,ai4,ai3
%5 (
book.book Page 275 Monday, February 13, 2006 5:04 PM
@C
#51 + B
A " C %
" "0 "1
0 "2
1
"
P1
" "0
"
P1
+ " " # 5
& -33;0 -33:0
9
' -:30 >
(
&
%
" &
$ -?<0, #
#
# !
#
" #
& % M ! "
!
> #
" $ parameter_map %
/.
" "
%5 "
(
#
book.book Page 276 Monday, February 13, 2006 5:04 PM
#5) + %%!
%5 "
" %%!
%5 (
"
2
# "
1
#= A '
) !
5
8 '
'
&
" &
&
=
MAC
Chain actor
#$%&' 1
!
2$+ ! %5
+
"
#
%
2$+ /3
book.book Page 277 Monday, February 13, 2006 5:04 PM
@C
#55 !
& !
" "
( > ! $A )
#
+
-3440
& "
$
' ! -3./0 A
&
" %5
+C
1) '
"
&
1(
" " "
! > $6!A +$ )5 -:@0 -3<;0 $6!A +$ )5 B ( & > ( B C" " " " A ' " B #C " % & " " ? # 3; " #
' $ 2 +
' ' " #
(
" % + % 9 F % 1$ -30 -<40 -/30! # 5$2 " ( % # 2 +
book.book Page 278 Monday, February 13, 2006 5:04 PM
#5,
1*
%
"
1
(
'
'
% A
% # %
"
" ( "
"
# " (
" "
'
book.book Page 279 Monday, February 13, 2006 5:04 PM
References
-30 $
)
2
5
$6*)5) F
$F
D
) )5 !5$)!)
% "1 '
2
2 % 1$ ! ;8P;/
)
3//: -.0 $,A $
)!,
5
$F
$ -<0 $
65
5
6
!
D
2$F
*
@
>
$
$
, 3 F
,
2$ ' 3<;P3;3 $
$5 F
%
3
3//@ $F
,
+
9
1
%&
* < F
$ 3//?
-@0 7$+9 ! ,$22) 6 + , $ -;0 7$
>
3/??
$F
! 9 "
+,*)%)
+ 3 F ! $
#54
,
)
+ $$$
3 '
$ 3//:
=
3//: @
book.book Page 280 Monday, February 13, 2006 5:04 PM
#,2 -:0 7$
$5 F
% *$!$F$7) J , ), , F+)F!) $ 2 ) $$$
$ $1FA
-?0 7$ +
$ $
% +$!!,AA5 %
$F
$
=$
$F1 A $FF
)5AF)
) 8@P@. $
2$F , $!A2 62I$ 2
)
.
-/0 7$5! )J A 5 $ .. F .
2 $$$
' 3<
3//:
'
#% 2 343P334 3//.
$ !
" D
-3407)F
)F !) $ $F 7)55J 1 ! 5 ! 3.:4P3.?. 3//3
-3307)59)
)J
) 1F
!)+,FA
A1 )
$F
))
-3.07,$!!$+,$5JJ$ "
$F
.44<
2 3; F
+
$ $ $$$
7 !
:/ F
5 /
= G G"""
) $ 2
G
2
2
$ 8. F
$$$ 33/4P3.43 2
@
3//8 -3<07,$!!$+,$5JJ$ + + $ ) 2 3//@
,$
) $ 1
))
2 8. F
265!,J A
9
$F
))
7
D @ 3
<
) $ A
# A #
#3
D
3//@
-3@07,$!!$+,$5JJ$ ' !"
265!,J 9 "
-3;07,$!!$+,$5JJ$ $ 1 1
-3?07,$!!$+,$5J$ 7 2 8/ F 34
$F
$$$
-3807,$!!$+,$5JJ$ ' & $$$ 7 3::P3?; A
-3:07,$!!$+,$5JJ$ + 1 D @ ?8/P?:@
76+9 D "
$F
9 $
265!,J
$F
))
9
) $
! 3//;
)& +A ) " #
3/// )6 )5
5
$F
2$5*)
)
"
$$$ '
8: F
/
.444 7,$!!$+,$5JJ$ $$$ .84?P.8.3 A .443
$F
'
"
book.book Page 281 Monday, February 13, 2006 5:04 PM
#, -3/07,$!!$+,$5J$ 7 5
$F
)
7,$!!$+,$5JJ$ " $
-.407,$!!$+,$5JJ$ 2 + 2 ! 1 # -.307 )5 D A $ )F
.
$F
' #3
265!,J $ F
>3
E
6F
$F
.44.
9 !
+7 "
+ 5
'
$F
) )5 !5$)!)
D $
6
2
.@P<4 +
! $F
-.@075J$F! 5 1 $$$ 3/?;
7
D$+A7 5
AF
2
5 2$ 3//?
$
2) >
1
*
3 %
$F
+ ,
.44.
7
)5 +,2 !!
( !
D $ + 88 F
2
5
2 ;::P;/3 $
+ <@
-.;076+9 D ! ,$
I$ ' > > .448
A
3<3P38;
' = MF D 33 .448 = G G"""
-.807AA+, 5627$61, " $ *
$
D ! '
.
1 )F1) 2 $6*)5) F " $$$
-.<07DA59 !
$
3P3:
(
-..07
+ ) %
) $ 2
))
[email protected]?
>
3//3
-.:076+9 D ! 6 ! # ) ) 7 # 3//<
"1 % "2 +
" 6
2) )5 +,2 !! 1 $F -.?076+9 D ! ,$ % " # , International Journal of Computer Simulation D -./076+9 D $F ) 7 38.P38; 2
$
5 , ) 1 !
J$F$!,$F
, ! .444
7
2 +
))
) $ 3//@
2 +
=
book.book Page 282 Monday, February 13, 2006 5:04 PM
#,# -<40+$ ) ,6$F1 5 2$59A 9 J J J), D *$*5ZJF)9 D $F ),AF $ $ 2 ! 2 7 * E " BF * 2 +5A <8 $ !& .443 -<30+,6 +
A!9AFD$9
$ 8<.P8<@ 7
A
-<.0+A22AF)5 % -<<0+A52)F ! , -<80+A5!$ 5
)
2 !,$ )
$F
, $$$
5$7$)J D ,J )5 =$ 5 ! ' >
3/?/
,A
$F
2
)5
$ * 2 # 1 > @ @33P@.< 3/:3
!
+
) )5 AF
5
$F
) !
5
3//4
$
D
T
! #
( -<@0+
*$!= .44@
-<;0+675 + 2 " #
$F
+
"
!
$
$5!)
$
= GG
2
$F$F1$ )F
) 7
$
"
)
F <;?P< ,
+AF+65 1 -<:0
1
3//< +,5) 7)5
5
$F
1
$5
> > .448 .<
.44<>
$ M
(
)
F -0
$
AF
$F
2
9A
7
+,5
7
)5
+ <4 -0
)
15))% ) +$!!,AA5 % '5 )
$F
)
2$ )! , ' 2 8;4P8:: 3/?3
)& $$$
$F
+
2$F , $ 2 >
;;P:@ D
> -840
)
15))% ) +$!!,AA5 % A A
$F
'
$ -830 ) 2 +,) , 3//8
1
%
3//:
2$F , 2 '5 ) 2 F .< 3?33P3?<: 3//: )
'
2 1 "
book.book Page 283 Monday, February 13, 2006 5:04 PM
#,* -8.0)9)5 D D$FF)+9 D * A5%%)5
$+,
$ ' .44< -8<0)F1 )5 + #
$ 26 %
$F
7 > <::F
#*
)$ 6 D LAF1 J !
))
$F
! 2
6 $!,
L , $$$> /3 F . 6
-880)J5) D ! 2 # .44@ = GG """
'
9
-8:01$A 1 5 1A
$F
2 >* > >D
( !
3@
3/?.
F " # 5
F $5$D$F
"
62
%
-8;0%)$6!5 )5 )F .44.
1
$ >3 6 $ -= @# >8 D .448
3/3P.34
-8@0%$75 D
D F)6)F I * 3.:P388 D
6
! *
$F$F1$ )F
7
+ 2 -8?01$5)J 2 5 " -8/01) $) 7 """ -@401)
)F
DA,F
$F
D
AF
%
( ,
' G
2 7$
!)F
!
$F
!6 D9
"1
"
' -@301A
$5
$F
5 $$$ .
D)%%$J 9 2 !
+ [email protected]
@/P:4 D
627 +
-@<01A 5 (
3/:/
"
6 $
2 2 $
+
2
= GG
7 5 ( # +$ .44@ 5 ( 1
3//?-
2 + 3/?4
F $5$D$F
3//.
"
5 1$A 1 5 5 A
$
" $F
) $
2
'
2 $
3//8 -@80,$
$F
))
"
) $ + 1
$ " 84 33
-@@0,$5)
$F
$*
A
$
!
2 *
3..@P3. F
. 2 1 ",
! 3//?
$$$ 3//3 @
book.book Page 284 Monday, February 13, 2006 5:04 PM
#,& -@;0,$55 , -@:0,
% D 2 '
%5 $
3/?:
$, C ))) +
% F1)5
+ .3
$
+$ 3/?@ -@?0,
5 ))+ ? 3/?/
% F1)5
/8:.4 D -@/0,A $
1 *
-;30,A 3
+5A%!
-;.0,A5
.4 + 7 #
@
.
+$ *
.448 A!9AFD$9
D ) >
!2$FF ,A%%
"
5$%! 5 +
(*
Z2$FF
-;40,AF1 $F + & " 1 ' <33P<.? A
2 6
+
2 )
7
!
#
2
'
8 F
8
) $
3/// $F
6
D $
2$F
> *
D 15A!9)5 ! & 5! ,
$F
.?
3//:
"
3/:/
2)J5 , 2 2
2 >
-;<0,
6
+ 9A 2 " ! .44@
$F
7,$!!$+,$5JJ$ % $
-;80D$ F 5 +, )F + +A,)F ) + #3 ' + D 3//? $ -;@0D$FF)+9 D B F 6+7G )5 24.G<: ) + 7 # 3?
$F
>
" 7 !&
,A $ <<;
@#3 C! 5 .44.
2 6
-;;09$,F 1 ! )
CF
8:3P8:@ F
3/:8 -;:09$5+Z2$5)9 2 !, ) *
+!)
$ D
$F
.44<
$2$5$ F1,) 3 > 34
> +
,
book.book Page 285 Monday, February 13, 2006 5:04 PM
#,1 -;?09$5
5 2 = *
-;/09 )F,6 2 F+
2
$F
7
$F
)5
*A % ) ..;?
$F
! '
$
$
+
9 $
)5
*% @ .443
F
> , $
!)$
2 T *1 34P3833 F 3/;;
)
) 5)!!)5)
>* -:409 )5
5 ) ! 38
)5
&
>
$ ??
*
.<3P.<: 3//3 -:309)6!Z)5 9 $1 2 ;3:P;.< D
$1AF=!
7 '
9
7,$!!$+,$5JJ$ " G $ .448
$F
1 ! F !$F! F
9
)
5$
$F
65)
D5 !
) -:8096
$ 9
9$5F
'
3/?:
-:.09A 2 J 265!,J
-:<09AF
A
< F
<
$F
)
$
67)
$F
+ 5 7 6 % $ = >$
9
" $$$ .8
7
#
+
2 ! 6
5 !&
-:@0962 9 9$F1 D %
) 3//:
$ $F
6F1
+
+
)
* $6!A +$ )5 + %
+=$ A %&
$$$ 8: F
' .444 -:;0 $6*)5) F 5 )F1) $ * -::0
$6*)5) F
/4P34: D -:?0
))
) $ "
2 $ ) 2 ) .? F .
5 *$6!)5 + $$$ 7 3//8 $F
2)
$
)5 +,2 !!
+ <; F 3
)
2
$F
/
) )5 !5$)!)
$F
D$ 1
= $$$
3//@
) )5 !5$)!)
% "
'
D @ ?84P?8?
$ <@P8< %
1 -
D $ 1
15$ )
. 1 .8P<@ %
IEEE Transactions on 3/?:
book.book Page 286 Monday, February 13, 2006 5:04 PM
#,) -:/0
) $ 5 7 # 3/??
))
+ )))
#3
-?40 )) ) $ ,A * , 1A) ) 7 )5 D $F 7,$!!$+,$5JJ$ 1 =$ ) $$$ > > <: F 33 3:@3P3:;. F 3/?/ -?30
))
) $ + '
-?.0
))
) $ 5
"1 . $
$$$ 3//3
)&
6
2
" 8@
))
))
) $ $$$
$F
) $ 2
$F
$59
?< F
! 2 " @ ::
$F1 A $FF
+
3: F
5
$F
E +
2$5*)
5
)
1 < F
$ -?:0
5 $F 2$5*) [ $$$ 33.P3.. 2 3//: )6 )5
-??0 ) A
J
2 ++ 3. D
-?/0 $A A ' ' D 3//? -/40
" #
+
3.
3//?
-?@0 )) ) $ A " 5 &E$.3 *:BE<8 6 6 $ D .44< )6 )5
$
%$F+)F!)
$$$
' 3.3:P3../
-?;0
F " # 3//@
)F
8<;P883 %
! #3
3//:
) $ $
!
)
3
(
,
+ ' :@P34? D
1
+
+ + @ F 3
% & = G G"""
9)6!Z)5 9 !D $F1 ) $ )A=$ $ 3//3
* +$ /8:.4
7 #
+ '
3//?
2
) F$ $F
2
7
*$F1 $ + 1 < F 3 @/P:< ,
$
book.book Page 287 Monday, February 13, 2006 5:04 PM
#,5 -/302$59A $F
9J
),AF
J +$ $ $
) ,6$F1 5 J), D +,6 2 *$*5ZJF)9 D T ! ( 2 * ) " %
' 5 .44. -/.02$59A
-/<02$5*)
J T ))+ .448
+A5) * +
9J
+
6
$5
)
+ ;C
. 7 #
,
2
7
*
.;:P.:8 3/?8 -/802$5*)
)
$F
9 "
1AA $
-/@02A5$F F)*2$F + 1 * ( !
1 )
)F
$F
.4
*A % !$, J $ & E @@P;8 3//4
-/;0265!,J Report, D 3//<
9 2 ))+
-/:0265!,J 5 (
9 7,$!!$+,$5JJ$ +
$
$
$
" 3//@
6+ 7 #
+ !
$
9 !
$F
(
& 2 &
$ !
Masters 6+7G)5 2/
2
$F
) $ 2
))
'
2
%1
3//8
-/?0265!,J 9 7,$!!$+,$5JJ$ + ) * ' -//0265!,J
$
) $ D 2 " 1 33 F 3 83P:4 D
$F
'
))
7,$!!$+,$5JJ$ " $$$
7
3//:
2 6
.4 F
' 3::P3/? %
.
.443 -3440 265!,J ) !
E
9 +A,)F ) 1 ) ( ! +
-3430 265!,J 9 $$$ $ .44.
$F
))
$F
5A*
+
$F
=$ F "
! , # $
.443
) $ 2 @4 F
?
" .4;8P.4:/
book.book Page 288 Monday, February 13, 2006 5:04 PM
#,, -34.0 265!,J ! ( " -34<0 F)6)F 2
9
7,$!!$+,$5JJ$ 7 2 5 ( * ' / F . .3.P.<: $
$F
5
A5%%)5
$F
))
) ,
2
=$
" $
.448
5
" )
D
* -3480 $F $ ) 96 2
*
.448
5 +$!!,AA5 % 6!! F $F+9$)5! 9 75A+92)J)5 + $F )5+$ ) ) $ $F 9D) 7)51 1 A ' ! ( ) * ' $ ; F . 38/P.4; $ .443
-34@0 $
$
9$5F
2 !5 A6
+
$F
!) 1
9
!Z
%
3//? -34;0 $6 !
+A5F)5A 2 $F , ! E ! 9 " F " 2$ 3//; F
-34:0 +)
& # G
-34/0
-& ?@P34@ 2
) 2
)
!5$
= GG )
* , %
)
&
(
$ !)5 #
2)F!)
+ !
+ G
G
-34?0 )!)5 AF D " + FD=
)2
3/?3 A
>$- ' @ > ##
!5$
$
! # >
$F
+A%%
1>* .44<
F
D A
$F
) 6 $ >
2
= >' >
-3340 A*) 7 )) ) $ $F F )*2$F * + A ' $ + % "7 # Proceedings of the International Conference on Acoustics, Speech, and Signal Processing % 2 3//. -3330 G 4 : 3G -33.0 5$7$)J D 1
A )
$F
> = G G 3//: 75A
)5 )F
+
' .?@P./; D -33<0 5$7$)J D +
&
#
7 $ $$$ > +$
G
$ 8 F
<
3/?@
)2$F , =$
$F,AA%
1 E #
D 1AA 2
)F
$
1
$F
*
+$!,AA5 % 3/??
book.book Page 289 Monday, February 13, 2006 5:04 PM
#,4 -3380 5$D$1A $ $F 5$D$F !$9$J$2$ 9 $ 5 " ' .4 F -33@0 5$D$F A
%6D !$ 2 ' + 7 6 %'$ H II=5
-33;0 5$A
33
$ $F 2$ % E %& , ! E ! 2 3///
$
)&
$ @@:P@;3 3//<
965 $$$
$F
% D A +
$,
3. F -33?0 5 22)J 9
9
% D $ $
$,
5 '
-33:0 5$A )&
5 1A $5$6DA 1 $F *+ % " # $$$ 3<3/P3<.? F .443
9
6 $5 $F$2
965
$F
6
2$
$F
,
?
2 & ' 33/?P3.4? $
$+
% F1)5
5 3//<
$ <83P<@3 F
#3 3/?? -33/0 5 !Z
$F9)5!
2
$F
2)J5 , ,
" ;:/P;/< $
3//. -3.40 5 !Z
2
$F9)5!
$F
2)J5 , A
'
"1 .?@P./; A 3//< -3.30 5 !Z 2
* +
-3..0 5A77 F
2
)2
7
2)J5 , # 2
+ 7 $
!
-3.<0 56
5
)
+
' -3.80)!, 5 + 6 $5)9
5 8 F <
2 $ +
A " .;@3P.;@8 2
A
" " ! .44.
$ \+
+
-3.@0
$F
!
A
+$ F
3//<
$ ..;P.8? $
F+ <:/
1 2
A
;F
$
1 * 8:3P8?4 3/?/
7
*1 3/:@ )
3//@
book.book Page 290 Monday, February 13, 2006 5:04 PM
#42 -3.;0!)%$FA )
! Z
+ !65D$F $ 9 )F,6 7 $F 9 F " # = + ' > .448
6 ) +6
6 %
-3.:06 +
$5 $F$2
$
2$
$F
2 $
' .8.P.;8 $ -3.?06F1 * + A
$F
-3./06F1 * 2
$F
5 #$
9
1
7
) 5)!!)5)
G $
$ * @ F .
.444 ,$ ?
2
) "1 @..P@.; .444
"
2&
$$$
962 9 %&
7 >
#3
*
A
8<
' $$$
<4?:P<4/4
3//@ -3<40 !$5
$ $
9
! 1
-3<30 !, )
%&
! @
*
* 9$5+Z2$5)9 2 $
$2$5$
$F
$ .?@P<4/ 3/@@ =$
F1,)
1 -3<.0 $ J$F$!,$F 3//< -3<<0 $F,AA% D 7A
%
* )F
) $F
)
$
.44. ,
&
2$F , + $ +2
2 +
' +$
.:.P.:@ F
3//3
-3<80 )57$6*,) ) +$!!,AA5 % 2 2 $ + 1 #3 -3<@0 *
$2 AF
$F )*$
)2
2+
2 76)5 1)F &
,
+
$!
$F
D
$F
)
2$F ,
$ 3//3
"1 F 6+7G)5 2/?G8@ ) + 7 # D -3<;0 *
)
$ " ! 5
6
3//? 2)J5 , %5
3//:
2
1)=% C
book.book Page 291 Monday, February 13, 2006 5:04 PM
#4 -3<:0 Z !Z )5 ) !) +, D )& " #3 ?
$F
-30 Z !Z
$F
)5
) !) +, D
# 3 [email protected]@; $ -30 Z
AD FA
7,$!!$+,$5JJ$
$ >
+
#
.444 7,$!!$+,$5JJ$ ) " 6 #3 =
+
) $5 )
7 :3@P:.4 A
AD FA
1 >
) $$$ ? F
$ 8
.444
I$
-3840 Z A
2
5 !Z '
$F
D 2
+, $1)5
#
+
$F
2
3//8 2)J5 , 5 $
3//8
2)J5 ,
book.book Page 292 Monday, February 13, 2006 5:04 PM
book.book Page 293 Monday, February 13, 2006 5:04 PM
A
7 #
$
6
$A
E E $ $ $ $A )
? @/ :@ @? @? 34, .. 34, 3?, .? ? ?
? ? $ 1$F ?;, 34@, 38:, ., .84, .;<, .;8 34< & 3;? @/ $!A2 62 8., @<, 34<, .?4 .4@ 8/ 8/
B ( # 7 7 % 7 !
!
; 3?, .<, .?, <<, <8 84 # .? # ;<, /. # ./ 72 7 ?@, 3@3, 3@., 3@<, .8., .;; 7 " <4, <8 75$ E <3 ;. .;< 34?, 34/ " ?@ 34?, 3;?, 3/4 7 2 % 3/< ' ' ;8 3;? 3;? " 3<
./, /. @4 /.
C + + +$ + +7 +7 + $! + A +% 2
.4, <., ;< 8; 84 <8, // ; 83
(
#4*
"
8. 34 33 ' @8 8., 3;? 34?, .4. 3:8 :4, .<;, .83, .@/, .;4 ??, .;:, .:8 84 ;3, .33, .3;, ..., .8., .?: +F 34., 3, 388 +* 3, 388, 3@:
book.book Page 294 Monday, February 13, 2006 5:04 PM
#4&
B
+ +
& +A2 $$F
'
3@, ::, ?;, /@, //, ..., .<., .@8, .?/ 34: 34@ 34 @3 ( /3 3.3 3.3 8; /, 3. <3 8. 83 8@ 88, 8@ 88 8@ 88 8@ 88 8@ 88 / 3;, <4 <3 @/, ../ 38, .., <4, .?3, .?; 3?, 38, ;< 38 38 3; +7 34? .?, /., /;, .?8 ' ;8 /. # 3<: ./ ./, /. ..
+ + +
D " " % # #
'
(
& & &
+A $ + *
" " "
;, : .:, :?, //, 3;/ @/ " .. ( % .< .. ..
%
%1 %
A $ +
3. 3. // .3, .; <3 " 3? 3. # ;. .; ?? // @, 3;, ./, <4, .?@ 3., 38 .. . ( 34/ @/ 3. 3. @: // ?<, 34/, 33;, 38:, .33, .3?, .<:, .@@, .@/, .;< 3<: . 34, 33, .?, .<: 34/, 3<: " /:, // 34/ '
A ?< <@
book.book Page 295 Monday, February 13, 2006 5:04 PM
B
#41 38, 3@, ??, . $ 34@, 3<:, .?@
E ) %
) ) & & &
1+ $
) % ??, . ?? @: ..8 ..8 3;/ 3, 384 .@3 /4 # ?/ ??
F 333 333 # .@ 38<, 38: 38<, 38: % .@3 % %A 3., ;. .;8, .:8, .:@ ; 34:, 3?/, .4., ..., .8< 34@ 3. 3., /: % 384 @ & & ?, @. $ ;:, :., ?., /;, /?, .84, .83 @ % 1$ ., .. 34., 3.., .<. % E @. ./ @/ " # <., :;, 33;, 3<:, 3::, 3??, ..., .8;, .:4, .:3, .:<, .:@
G
34, .. ?:, /3 ?<, ?;, ?:, .;8, .;;, .;:, .:4, .:. 34, .. 34@ 34 3.3
1 1$ $ 1 A 1) $) 15$ )
H "
. . / .:@ ? 8. /: % 3;, ;., ?., 3@8, .48, .<:, .8<, .;/ ..? ;8, /4, /3
,
, ,
,
I #
G
.4, .; 3., ;., /:, 34?, 3/4 , ;@, /4, /;, .8?, .:8 ;8 3/. @: .84 8@ @. 34< @< / 343 34< @< ;@
K 9 ??,
" # 9 F
./, //, 3;/
book.book Page 296 Monday, February 13, 2006 5:04 PM
#4)
B
9
3;, <4
2
;< ?., ?8 :3, ?., ??, .8@, .8:, .8?, .8/, .@4, .@.,.;:, .:3, .:. ' ;8 ' ;8 ' :3 " & 2*2 + ..; .. <, 34, 33, 3., 3<, 3@, <3, , 84, // < 3;/ 8. @;444 8/, :4, 3:. $
L $1)5
8. 3.3 & ./ 2 .4 <, 88 & 334 344, 343, 34<, 348, 34@, 34?, 3;?, 3?/, .4., .4<, ..., .<4, .<<, .<@, .<:, ., .8<, .:3, .?: /: ' @8 % :<, :;, :?, ?4, ?3, ?., ..3 34. # .. 34., 34<, 34/, 333, 33@, 33;, 38: :< " #
M
2 2
" 2
% :<, ..3 :.
3;, .?. ..: 2$! $7 <3 &O # ?8, 34@, 34/ & ..; & ( " 2+* 3, 388, 3@<, 3@:, 3;< & " ..: 2 % <., // 2 $ A ' 8/ 2 1 8. ... 2)51) 15$ , ..@ 33, 88 <: 2 <, 33, 84 #
2! 2 +
%
%5
2*2 +
<. /3, .8., .8@ # 8/ 344 ; 3:4, 3:8, 3:;, 3::, 3:?, 3:/, 3?3, 3?., 3?;, 3?:, .?8 ..;
N F) F)
/: .;4, .;? F)
#
.@8 ..8 ..8 ./ /; <<
"
(
334 348 .;.
book.book Page 297 Monday, February 13, 2006 5:04 PM
B
#45 8?, @4, ?., ?:, ?/, 343, 34., 33?, 3, 3@@, 3;8, .48, .;/, .?<
F
O
?, / 38? 334 3/. @: 3<
E # A
34, 3;
Q T2% T ( <@,
#
?; 84 3@, 3:, <8, <:, , 84, ??, //, .?., .?:
R <3 ;8 .., <3, ??, .?: << .8: 343 .:<, .:8 .4, ;< < 8. @. /;, 3??, 3/4, 3/3, ./3 ..
P '
"
<@ :3, /3, .:3 3? @? ... $!, ) )+! AF 5A7 )2 %A5 76%%)5 2)51 F1 72 ..@ .:@ +) .. % 1 .@4 38, 3@ 38 34/, 3.. 3; @. ?/, .8;, .:3, .?8 8., @< J < @8 .? 8< A 34, 33, /: @? & ./ 3; ?/ 1 .@4, .@@ 72 ..@ <, 34, 3@, .., , ??, 38?, 3?., 3?<, .<:
5
& 5 2+ 5 5
;4 ;4 ?;, 34@, 33;, 38:, . ;?, 3/3, .3<, .@., .@8, .@@, .;., .;<, .;; ;?
S $
;; /;, 38?, 3@4, .<:, . " .? ;@ ;? ;? ;? ;? ;? ;? ;? 38
book.book Page 298 Monday, February 13, 2006 5:04 PM
#4, 3@, .., <3 3@ ?4 34@, 33<, 33;, 38: 6 .. + 1 8; <3 84 348 A 33; 8., @< 8. # 34, .. $ ;; @< # ;. # & @: SL :@ snk @: + 33 ;. & @: F ?/ ; * 34, .., .<: src @: % .?, /. ; @, 3?, 8. 34? /: ;. ;. 38, 3:, .4, .?, <8, //, .?@ << 34? .. , .., ?/, .8;, ./4 @/ ;4
B
+A5) % % ( A F (
;3 :@ ..@ @? @? :.
subgraph
:@ ;8 /4 @? @ " 3@, ;. 34 34, 33, 3@, 3?, 3/, , /3, /:, //, .:: 33
+ D)!
T ! & ! 2
* #
! !2 <.4+.@
# !F )
!6+ ! " "
% %
8, ;, 8., .;8 .. ;8 <3 /; 8? :@ :. :< ., ; ;<, 338 ;3, ?., /;, ... .<. @: .. <4 .@4 # 38?
book.book Page 299 Monday, February 13, 2006 5:04 PM
B
#44
U 6+ 7 # 62
6
V 72 7 '
& , + *
, <, 34, .., 8., .?3, .?8, .?;, .?:, ./4 <, 84 3< <4, <8, 3;: .;. 2 .. .4, ;< .8/, .@8 .?, /., 3;/, 3/4 < . @: + 34 8, @, ?, @3 3/
W *7 % " " " " "
"
<<, // ..@ 3 34. << ;3