Métaheuristiques pour la synthèse de haut niveau
Texte intégral
(2)
(3)
(4)
(5) .
(6) . .
(7).
(8). .
(9). . .
(10) . .
(11).
(12)
(13). . .
(14) . . . . . . . .
(15). .
(16). .
(17). . ! . .
(18). " # . . $# . %.
(19) . & & . %.
(20)
(21). ' $# . .
(22) . # ! . (.
(23) . $# .
(24) .
(25)
(26).
(27) . .
(28). ) ! $# .
(29) .
(30)
(31) . *+ .
(32).
(33)
(34)
(35). *+ .
(36). , . .
(37)
(38) . . .
(39). - & . . .
(40) . . ! & . /.
(41)
(42). 0 & . 1. ) . /. . " . /.
(43). 2 3 *+ . //. - . %. . 2 . %.
(44). - . %. . . %. . . .
(45). . . .
(46) . 4 . .
(47)
(48). . .
(49) . - . . . 3 . . . . /.
(50) . . 4 . .
(51). . /. . - . 1. 5-2+". . 1
(52). . 4 . 1
(53).
(54). . 1
(55). . - . . 1. 6 . 1%. . ! . ".
(56)
(57) ! . . .
(58). 4 7 . . + & $# 8 . %. . "! . . . /. $ & . . %. " . 1. . ' . 9 . & . . . . . .
(59) . : & 7 & . .
(60)
(61). 9 $# . 1.
(62) . 5 9 4 .
(63) .
(64) . :. .
(65) .
(66) /. 4 & ; # .
(67)
(68).
(69) %. <= 495 <= : .
(70) .
(71) . 2 .
(72) (.
(73) 1. 4 & 3 & . %.
(74) (. 2 :2 . %.
(75) 2 ):2 . %.
(76) . 2 & & . .
(77)
(78) > " 8 . : & . /.
(79). : & . %. . 9"52 . . . . 6 . (. /. & . /. %. & 3 . /. . 0 # & . /. ? . . .
(80)
(81) 0 # & ? 3 0 # & ? 3 : 6 # 495 > 5 & > 2 & > + 2 # e R2 2 # A1 A2 ( 2 # &@ & &8 +4 . %
(82). : &
(83) : & 0A+ . /. 1 (
(84) / % 1.
(85). . / / / // /% /1 /1 /( % % %.
(86) . . (.
(87)
(88)
(89). A & B ).C .
(90) %
(91).
(92) . & % < ? & = / - & & %/ 5 ! & & %%.
(93) / % 1 (. 2
(94) 3 $# 5
(95) 3 4 7 & & ' & & ! 2 0A+ 3 $# 3 8 - 5-2+" - 5-2+" 7 *+ . . ( 1 1 1 1/ 1.
(96) . .
(97)
(98)
(99). . . .
(100)
(101). .
(102)
(103) . . . . . . .
(104)
(105)
(106) . . .
(107) . .
(108) . . . .
(109). .
(110)
(111)
(112) . . .
(113) . . 4 B 3 . # 4& B & B & . 4 & & & 7 # . :>B # B #.
(114) . . . # 3 B & 3 4 B . # & B & . . # & & 3 B ! &7 & 3 # & :>B # > &@ ! .
(115). .
(116) 5D 3 & B B @ & ; @ 8 B ! ; E ! B > & 3 . & B . 3 "42 " ! #8 # # 8 : 7B B & & B & 3 ; " B B ; <F >B :B F 4)2B 5=B & ? <)":5B *
(117) % B G":5
(118) B H55B )" B 22 B =. =
(119) = = = /=
(120). 2 I &. B & B & B B &. # .
(121)
(122)
(123) 4 ! B 8 3 . .
(124) "# 3 . B B 8 # 8 & 3 & I &7 & & & 8 complexité Complexité Algorithmique (~Loi de Shannon) Performance des processeurs (~Loi de Moore). 3G. 2G Capacité des batteries. 1G 1984. . 1988. 1992. 1996. 2000. 2004. 2008. J . 2012. 2016. 2020. ! . # # # $ % & & B > 8 mm2 B K # < (%= 3 K # : 7B 8 # 8 B & . ) <9 =B # 8 : )K (%/ L) ((1MB & @ & & . # # # &
(125). " & & 8 <9
(126) =B ; I & .
(127) 3 & & &@ ! # 7 @ 3. Algorithme. Implémentation logiciel. GPP. ASIP. . Implémentation matérielle. ASIC. Implémentation mixte. SoC.
(128) J 4 7 . $ <5""= 7 ! . & & 8 I J 8. % J & I N & $ J @ & & I B B B 8. > & ! ) + L-$
(129) M # 3 ! 2 B & @ . $ . 2+ : B 8 ! ? & ; 2+ O & > B .
(130)
(131)
(132) @ O # B O O ! 4 B O O 3 & ! . : B 8 P D 3 2 O > B &# &; 8 $ ! # B & 4 ! B &2+ <Q # =B ! 8 4 B ! O & @ O # 2+ 2 . $ . 2+" L*R
(133) B +@
(134) /B G
(135) M 8. E & # 2 &2+" &2+ : 7B ; @ & ; & > 3 & B B < - B -
(136) B -= . <- ST -
(137) U-= 4 ! B 2+" 8 > & & ! B O . $
(138) " & & # ;. $& & $# L4&
(139) /M $# 8 + <9 = : 7B & & 8 $# . + $# B #B B <? =B B . 8 B & ! B 3 ! . + 8. > & -+ B & . & )"+ . /.
(140) μP #1. Mémoire partagée. ASIC #1. Interconnexion. ASIC #2. . μP #2. Bloc ReConfigurable. E/S. J + & $# 8 . &2++" ! 8 ! I &2++" 5+) <H)2" 2-) ! V =B & ! 8. B 7 ! 2 B 2++" + . $ ' ! B . ! & B 8 ! & 3 ! L6W ((%M <V4+= . ; @ 9"52 O : 7B 9"52 ! . > O 9"52B 8 & & & 7 B B B 9"52 2 B & & ! B 9"52 & 8 ! $ O . > . L-$
(141) M ! ?' > > ! & ! ! ' . %.
(142)
(143)
(144) Performance (MOPS/mW or MIPS/mW) 1000. ASICs ASSPs. 100. FPGAs 10. ASIPs. 1. Microprocesseurs Flexibilité. 0.1. 1. J "! . Conception. 9 Test. 3 Modélisation. idée. tester. Description RTL. 10000. Synthèse logique. 01001 11100. Description en portes logiques Synthèse physique Dessin du masque du circuit. 2. Fabrication. Fabrication de masque. Fabrication de wafer. . 4. Emballage. Couper. Emboîter. / J $ & .
(145) 2 0+ B & 3 & $ <9 /= L) (( M > . : 7B . /(X B &, &
(146) /X <9 %= L
(147) M B L.
(148) M B
(149) .
(150)
(151) B ! *2 % O 3 & 4 ! B & > & & 10.000M. 100.000K. 1.000M. 10.000K. 10M. 1M. 0.1M. 0.01M. C. a ap. é cit. d’i. Pro. gra nté. n tio. nd tio u l o év. e. % 58. n ra pa. 1000K 100K. 10K. de 2 tion u l o : év tivité duc. pa 1%. r an 1K. Productivité 103 Transistors / Homme-Mois. Intégration 106 Transistors / puce. 100M. 0.1K 0.01K. 1980. . 1985. 1990. 1995. % J " . 2000. 2005. 2010. & . # D 3 # ># & ! 3 & & 8. *4 B !
(152) !"# & & ! -V -V > < B = 8 H B B & $# 3 , # -V K B ! :>B $# $ 3 # # , 3 > & & 3 $ & B 3 B & 2 . B B $# < = >B 3 & B $# ! 1.
(153)
(154)
(155) . J . 1992. 1994. 1996. 0,6. 0,5. 0,35. 1k. 5k. 15k. 50k. 250k. 750k. 4k. 6k. 9k. ~10. ~40. ~80. 1998. 2000. 2002. 2004. Finesse de gravure (nm) 0,18 0,13 90 # de portes / mm2 30k 45k 80k 150k # de portes / die(50mm2) 1,5M 2,25M 4M 7,5M # de portes / concepteur / an 40k 56k 91k 125k Homme.Année / die(50mm2) ~40 ~40 ~43 ~60 0,25. 2006. 2008. 2010. 65. 45. 32. 300k. 600k. 1,2M. 15M. 30M. 60M. 200k. 200k. 200k. ~75. ~150. ~300. # ## $ $# ! & B -V L5@R ((
(156) M G 3B ! 3 B 3 ! > $# $ B & & > " $# . # ## $ ( @ *W?+W 8 4 @ & L)
(157) B : ((1B F!
(158) M > ' @ > B 84 ! . & <9"52B 2+ B 2++"B = : 7B & > & ! B & $B &. # 3 B B ! & " > B 84 $ ! . # ## $ " 8 E B & (.
(159) Caractériser les solutions: • Coût HW (mm2) • Taille Mémoire (Kb, code source) • HW : Chemin critique (ns), • SW : # cycles, ex. profiling. Spécification. Estimations/Mesures. Partitionnement Logiciel/Matériel. Synthèse Sw. Synthèse interfaces. Exploration et Fonction de coût: • Sélection composants • Allocation • Ordonnancement. Synthèse Hw. soc. . J ' . 3 & # &; &" ! I L $
(160) M B B > LAR
(161) M ! 7 : 7B &" ' &" ! $# . B B ! B 3 ,8 ; & &" ; 3 & & B & B ; 3 $# O ! 3 8 . . . <-H=B 3 B #. $ ! , ; ! # & 8 . # & > .
(162) $
(163) %
(164) %
(165) & 2 # 8. 8 < = ! . O 3 B ! - # 3 ! O . & " # & 7 & I & B & B & & & L* (((M J & 3 3 " & B 3 3 & J & &7 8 # J & B ! I & = > B
(166) = O ! 3 > > @ &3 & 3 O ! 3 J & & & 3 & & # . ! $ I = # P
(167) = & & 3 & P = & . & & 3 & & ! 7 I . # & I # ; : B & 7 # ! 3 , # & & ! > # B > .
(168) & ! " B 7 . & N 3 2 B # # B : ; B # A"8 , . @ 3 7 . . & & & > > 8. & > & $ @3 > & & : . B < > = ! < & > =. . . & & & &. & & & : ; B 8 & # 2 B ! #. ' # & A 3 & & 9"52 . ! & < =B ! . ! & 9"52
(169).
(170) &
(171) . ! . @ @ ! " ! . & < B B B = L5@R ((
(172) M ! . & 8 9"52 . I J & > . & & J R > & # & & & B ' $# & 9"52. $# & ! & 7 # " ! , . # # ! $# 0 ! :>B . .
(173) .
(174)
(175)
(176)
(177) .
(178)
(179).
(180) . . . . !
(181)
(182) ! . ". . #
(183) $ . . .
(184) . %. . &
(185) $
(186) . ! . .
(187) . .
(188) '( . . .
(189) '( . . " . . # ' $# # B & & # $# # , > @ ! . /.
(190)
(191) .
(192) . . !
(193)
(194) ! $# ! & 0+ B $# B @3 K &B 8 0+ > ! B 3 & $# @ & & 8. & < = < B -2)B = & > $ . 3 B > -V D : 8 O 4 ! B 3 & # & > $# & & > > & D 8 3 3 & < >
(195) = 2 &# $# *+ B $# $# & . $# 3 $# $# $ & !8 > & $# (1 *+ # # 7 & L)
(196) (M V ! @ & B $# 3 O $# & ; %.
(197) % % Analyse au niveau fonctionnel Exploration au niveau système Espace de solution. Rapidité. Exploration au niveau RTL. Précision. Exploration au niveau algorithmique. Prototypage.
(198) . J : & 7 & . " # $# ; 3 4 B & & # 3 & 3 # # & !B B & & $# B < B B =B @ ! < ! B 8 B = # -V $# <9
(199)
(200) = B B & B & B & -V & 8 & & > & 3 @ ! *+ N 2 I. $ > $ . 3 & $8 # & B B ! L6 (( MB B ! 4 # I ' 495 L5@R ((
(201) M ' N 495 LH (1%M # .
(202)
(203) Contraintes. Algorithme. Synthèse de haut niveau. Compilation. Bibliothèque Sélection Architecture (registres, opérateurs, interconnections). Allocation Ordonnancement. Synthèse logique & synthèse physique. Assignation. Circuit (transistors).
(204)
(205) J 9 $#
(206) . $ 3 & $ & . # 8 & # ! B . # L6R ((%M. $ > $ & & 3 . & > L5 ((
(207) M 8 ! B B 8 < & = & & . $ . 7 & &8 & @ ! . & LFR ((/B ) (( B - (( M H . & I & &8 4 # B . 1.
(208) % % < ? = 3 > 3 & B &@ ! 3 & 4 #. B & >B &@ ! . $
(209) . & 3 4 B & ; ; $ & & & B ; & ! # & . $ !
(210) 3 . 8. <= ; R & 8. & & > # @ ; & # & D L" (1(M L
(211) 1M. " , & B $# # # ! # ! ! & 3 & 2 # $# 3 > 8 <9
(212) 8= B 495 <9
(213) 8= # ! B & &8 > & 495 B $ B ; #. ) * + . 2 495B G(V1 , V2 , E) $ V1 & B V2 & E & 5B <9
(214) = (.
(215)
(216) a. a. b +. b +. 1. e. e +. 1. +. 2. 2. y. y. (a) DFG de base. (b) DFG simplifié.
(217) J 5 9 4 . ! ! B & & > & 495. a Void example (int a, int b, int y){. b. a. s1. 1. +. int e;. b +. 1. s2. e = a+b;. e. y = a+e;. +. }. e 2. s3. +. y (a) Description algorithmique. y. y. (b) DFG. a. variables. 2. (c) DFG ordonnancé. b. e b. +. a. 1 s1. s2. s3. s4. 2. temps. e (d) Durées de vie des variables. +. y. (e) Graphe de compatibilité des variables.
(218) . (f) Graphe de compatibilité des opérations. J :. 4 & >
(219) & & ! & & & B B $ S2 & &
(220) $ S3
(221) .
(222) % % . & , I & ! & &
(223) Y & & & B > [dc , du ]B dc du # ! # & & ; ! . ) ! ! I Gdc. > Gdc = (Vdc , Adc )B Vdc & . ; adc = (vdi , vdj ) ∈ Adc 4 B vdi vdj & . & ; 7 ; >
(224) 8 8 # & >
(225) 8 Y B & ! B $ <+
(226) = : 7B ; 2 B a y I . # R b e . 7 . 3 B . ) ! I . Goc > Goc = (Voc , Aoc )B Voc & . ; aoc = (voi , voj ) ; ; $ & B & voi & # voj 4 B voi voj ; 7 3 ; >
(227) 8
(228) I , . $ #
(229) >
(230) / . 3 . & B 7 8 & 4 # >
(231) /8B 3 Z B
(232).
(233)
(234) & & 8. E ! b ! eB R 7 4 # >
(235) /8 I a y e b # O 3 O & >
(236) /8 O ! 3 >
(237) /8 8 >
(238) /8. {a}. {b}. R1. {e}. R2. {a,y}. {y}. R4. R3. {b,e}. R1. A1. R2. A1.
(239) / J 4 & ; # & @ ! $# O V & B & B & # $ 3 . O O 3 & . # " $#B & & L $
(240) 1M 4 B & > 3 > & & & 4 B & > ! ; & & ! < = . # ' ; & 3 4 & ! # & ; 2 B & & ' > . ! & & # A"8 L5$ ((B " (( M : B 8 8# # ! 3
(241)
(242).
(243)
(244) '
(245)
(246) % % # L
(247) 1M 2 B & & $#B > & " B & # & & B & 4 B & > > # 4 B # > & ! B B 3 # 2 # ' *+ # 3 ! # > .
(248)
(249). . 4 &B 8 $# ! V# # $# 3 ! 4 B ! & ! L5@R ((
(250) B " (1(B - (( B
(251) %M L* ( M 8 ;B ! & ! . ! & & # & > 3 4 > I J & ! & H # &8 L5@R ((
(252) M J : & ! ; # &8 # ! L" (1(M B 3 B ! & L* ( M.
(253) .
(254)
(255) 4 # B L
(256) B
(257) 1M O ; : 7B ! & 8 & < = & & ". B & 8. 4 B $# < 8 3 *+=B ; ! # &8 & B 3 B & # & B & & 3 ' $#. % 4 # ! 4 # 3 # & & B !E & ! ; # & . # # # $ , ! ! " # # $# ! # & & # <"A:= : B 8 # <"= L5
(258) M # & [ ! @ ! I A m × n , aij B c n cj b m bi . ⎧ ) z = c.x ⎪ ⎪ ⎪ ⎨ + I PL = ⎪ 2T ⎪ ⎪ ⎩ ≥
(259).
(260)
(261) '
(262)
(263) % % + & " B 3. # ) B & 3 # # 2 & H " A : I. ⎧ ) z = c.x ⎪ ⎪ ⎪ ⎨ + I P LNE = ⎪ 2T ⎪ ⎪ ⎩ x ≥ 0 xj (j = 1..n) A # A"8 ; "A:B # A"8 . & "A: < & "A: & = " ; , ! ! " "A:B I J & & <6 6 = J & " B # &@ ! ; # < & & = &; # " ; #. # # # * ! -$. $/ 8 I J 28 ! # & "A:B J 68 ! # & 8 ; & B J 8 "A: & . 0 $/ "A: # & $# # 3 & ! "A: # ! 3 & & B 88 +
(264)
(265)
(266) ! @ !
(267) O
(268)
(269) 3 oi sj 3 !; [Ei, Li] Ei & &8
(270) /.
(271)
(272) oi N Li & 2+2" & 22"
(273) & $ k B 3 ; & 7 j . OP = {oi/i = 1..n} I T = {tk /k = 1..m} I OPtk INDEXtk = {i/oi ∈ OPtk } Ntk Ctk S = {sj /j = 1..r}. I I I I I. & n & & 7 $ & m . & $ tk & $ tk & $ tk O & $ tk B S & r &.
(274) . minimiser. J A . m . Ctk × Ntk. <
(275) =. k=1. ∀i, 1 i n, (. . xi,j = 1). <
(276)
(277) =. Ei jLi. . ∀j, 1 j r, ∀k, 1 k m, (. xi,j Ntk ). <
(278) =. i∈IN DEXtk. ∀i, j, oi ∈ predoj (. Ei kLi. (k × xi,k ) −. . (l × xj,l ) −1). <
(279) =. Ei lLi. xij ∈ {0, 1}∀i, ∀j.. <
(280) /=.
(281) oj B < predoj = # N : & xi,k = xj,l = 1 k < lB k l
(282) %.
(283)
(284) '
(285)
(286) % % i j :>B
Documents relatifs
Lorsqu'une opération se termine (les opérations sont défilées des ensembles EnsC pour les opérations réalisées sur un opérateur non-pipeline et de EnsCC pour les
Pour rendre compte dans nos textes de la situation des clubs de LF2 ayant toujours leur centre de formation agréé, nous proposons une modification de nos textes pour la saison
Keywords: Modeling, parallelism, System-on-a-Chip, embedded systems, formal verification, model-checking, abstract interpretation, SMT-solving, compilation, SystemC, TLM,
Ensuite, dans le chapitre 4, nous proposons une mod´ elisation par splines de l’enveloppe spectrale ainsi qu’une m´ ethode permettant d’obtenir une nouvelle enveloppe ` a partir de
La Française vient de plus en plus souvent conclure ses points au filet... Avoir un grand service est devenu incontournable pour ceux et celles qui veulent atteindre le très haut
๏ La gestion de la dynamique des calculs peut être gérer de.
Le chan- gement de contexte consiste donc `a enregistrer dans la m´emoire de l’ordinateur tous les ´el´ements n´ecessaires au red´emarrage de la tˆache dans l’´etat dans
Les methodes de test en-ligne non-concurrent et semi-concurrent combinees avec la nou- velle methode de synthese de haut niveau pour la testabilite representent une solution