Changeset 52 for trunk/IPs/systemC/processor/Morpheo
- Timestamp:
- Aug 27, 2007, 7:01:11 PM (17 years ago)
- Location:
- trunk/IPs/systemC/processor/Morpheo/Documentation/Source
- Files:
-
- 14 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Documents/presentation-internal_seminary_overview/fr/root.tex
r23 r52 1 1 \section{Motivations} 2 2 3 \ContentsCurrent 4 5 \slidetitle{Motivations} 6 { 7 Sécurité du hardware : 8 \begin{description} 9 \item[Ancienne tendance :] IPs (Intellectual Propritie) fermées labelisés sécuritaires. 10 \item[Nouvelle tendance :] Ouverture des IPs, intégration de System On Chip (SOC) 11 \end{description} 12 } 13 { 14 3 %\ContentsCurrent 4 5 \slidetitle{Problématique} 6 { 7 On désire une plateforme de confiance totale : 8 \begin{itemize} 9 \item La plateforme-matérielle est composée de processeur(s) généraliste(s). 10 \item La plateforme-logicielle est composée de plusieurs applications qui peuvent être cryptographique. 11 \end{itemize} 12 13 Notre travail consiste à faire le processeur pour un tel système. 14 } 15 { 16 } 17 18 \slidetitle{Ancienne tendance} 19 { 20 \begin{itemize} 21 \item Composants fermés. 22 \item Label de sécurité. 23 \begin{itemize} 24 \item Trusted Computing Platform Alliance 25 \item Next-Generation Secure Computing Base 26 \end{itemize} 27 \item Plateforme multi-chip. 28 \end{itemize} 29 } 30 { 31 \begin{description} 32 \item[Trusted Computing Platform Alliance :] Le Trusted Computing Group (TCG, nommé jusqu'en 2003 TCPA pour Trusted Computing Platform Alliance) est une consortium d'entreprises d'informatique (Compaq, HP, IBM, Intel, Microsoft, AMD, etc.) visant à sécuriser les équipements et communications informatiques. 33 \item[Next-generation secure computing base :] Le Next-Generation Secure Computing Base (NGSCB, littéralement : Base d'information sécurisée de nouvelle génération) ou ordinateur sécurisé de la prochaine génération fait partie de la nouvelle architecture de Microsoft pour l'informatique de confiance. Ce projet était connu sous le nom de Palladium. 34 \end{description} 35 } 36 37 \slidetitle{Nouvelle tendance} 38 { 39 \begin{itemize} 40 \item Utilisation de composants ouvert. \\Evite les fonctionnalités cachés 41 \item Intégration de System On Chip (SOC).\\Réduit la vunérabilité des communications entre deux chips. 42 \end{itemize} 43 } 44 { 45 } 46 47 \section{Besoins} 48 \slidetitle{Besoins} 49 { 50 \begin{description} 51 \item [Open :] Absence de fonctionnalités cachées. (Cheval de troie) 52 \item [Configurable :] Adaptable aux besoins des applications. 53 \item [Performance :] Application cryptographique. 54 \end{description} 55 } 56 { 57 } 58 59 \slidetitle{Besoins : Open} 60 { 61 \begin{itemize} 62 \item Instruction Set Architecture libre. (Implémentation possible) 63 \item Tools Chains présente et libre. 64 \item Implémentation sur FPGA (Pérennité). 65 \item Présence d'une communauté autour de l'architecture logicielle. 66 \end{itemize} 67 } 68 { 69 } 70 71 \slidetitle{Besoins : Configurable} 72 { 73 \begin{itemize} 74 \item Pas de connaissance préalable du besoin des applications. 75 \item Toutes les applications non pas les mêmes besoins de Performance / Surface. 76 \end{itemize} 77 } 78 { 79 } 80 81 \slidetitle{Besoins : Performance} 82 { 83 Exploitation de toutes les formes de parrallélisme. 84 \begin{description} 85 \item [ILP :] Instruction Level Paralelism 86 \item [TLP :] Thread Level Paralelism 87 \item [DLP :] Data Level Paralelism 88 \end{description} 89 } 90 { 91 } 92 93 \slidetitle{ILP} 94 { 95 \begin{description} 96 \item[Avantages :]~ 97 \begin{itemize} 98 \item Exploitation implicite. 99 \end{itemize} 100 \item[Inconvénients :]~ 101 \begin{itemize} 102 \item Coût quadratique du contrôle. 103 \end{itemize} 104 \end{description} 105 } 106 { 107 } 108 109 \slidetitle{TLP - Chip Multi Processor (CMP)} 110 { 111 \begin{description} 112 \item[Avantages :]~ 113 \begin{itemize} 114 \item Implémentation très simple : duplication des cores 115 \item Ressources dédiés au thread executé sur le core 116 \end{itemize} 117 \item[Inconvénients :]~ 118 \begin{itemize} 119 \item Il doit avoir plus de thread que de core afin d'éviter l'oisiveté des cores. 120 \end{itemize} 121 \end{description} 122 } 123 { 124 } 125 126 \slidetitle{TLP - Simulatenous Multi Threading (SMT)} 127 { 128 \begin{description} 129 \item[Avantages :]~ 130 \begin{itemize} 131 \item Implémentation très simple et peu coûteuse en surface. 132 \item Meilleur exploitation des ressources 133 \end{itemize} 134 \item[Inconvénients :]~ 135 \begin{itemize} 136 \item Dimensionnement du nombre de thread proportionnel à l'ILP exploitable. 137 \end{itemize} 138 \end{description} 139 } 140 { 141 } 142 143 \slidetitle{DLP} 144 { 145 \begin{description} 146 \item[Avantages :]~ 147 \begin{itemize} 148 \item Une instruction SIMD est équivalente à beaucoup d'instructions SISD. 149 \end{itemize} 150 \item[Inconvénients :]~ 151 \begin{itemize} 152 \item Pas adapter pour les applications qui n'exploite pas le DLP. 153 \item Exploitation explicite par le programmeur. 154 \end{itemize} 155 \end{description} 156 } 157 { 158 } 159 160 161 \slidetitle{Etat de l'art} 162 { 163 \begin{description} 164 \item [sofcore :]~ 165 \begin{description} 166 \item [Commercial :] Nios, MicroBlaze, ... 167 \item [Libre :] OpenRISC 1200, Leon 2/3, OpenSPARC T1/S1 168 \end{description} 169 {\it Non : Peu configurable, faible exploitation du paralélisme d'instruction} 170 \item [Simulateur :] SimpleScalar, SMTSim, ...\\ 171 {\it Non : Simulateur non prévut pour avoir une synthèse} 172 \item [Hardcore :] POWER5, Intel Pentium 3/4, MIPS R10000, ...\\ 173 {\it Non : ISA non libre} 174 \end{description} 175 } 176 { 177 } 178 179 \slidetitle{Objectif} 180 { 181 } 182 { 183 } 184 185 \slidetitle{Service offert} 186 { 187 \printgraph{MORPHEO_service}{0.75} 188 } 189 { 190 } 191 192 \slidetitle{Fonction de coûts} 193 { 194 } 195 { 196 } 197 198 \section{Morpheo} 199 %\ContentsCurrent 200 201 \subsection{Micro Architecture} 202 \slidetitle{Micro Architecture : Overview} 203 { 204 \printgraph{MORPHEO_micro_architecture-overview}{0.48} 205 } 206 { 207 3 grandes parties : 208 \begin{description} 209 \item[Front end :] Amène des paquets d'instructions en séquence, et les décodes. Calcules les addresses suivantes (spéculation) et maintiens l'état des threads (idle, wait, run ...) 210 \item[Out Of Order Engine :] Renome les registres (annulations des dépendances RAW, WAW et WAR). Re Order Buffer : mettre à jour l'état du contexte dans l'ordre d'arrivé des threads. 211 \item[Execution Loop :] Boucle ``Read, execute, Write''. Ainsi que les bypass. Instructions peuvent ce lancer dans le désordres. 212 \end{description} 213 } 214 215 \slidetitle{Micro Architecture : Front end} 216 { 217 \printgraph{MORPHEO_micro_architecture-front_end}{0.7} 218 } 219 { 220 } 221 222 \slidetitle{Micro Architecture : Out Of Order Engine} 223 { 224 \printgraph{MORPHEO_micro_architecture-out_of_order_engine}{0.7} 225 } 226 { 227 } 228 229 \slidetitle{Micro Architecture : Execution Loop} 230 { 231 \printgraph{MORPHEO_micro_architecture-execute_loop}{0.7} 232 } 233 { 234 } 235 236 237 \slidetitle{Environnement de simulation} 238 { 239 } 240 { 241 } 242 243 \slidetitle{Résultats} 244 { 245 } 246 { 247 } 248 249 \slidetitle{Morpheo on FPGA} 250 { 251 } 252 { 15 253 } 16 254 -
trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Info/presentation-internal_seminary_overview.sty
r51 r52 1 \def\review{2007/0 6/01}1 \def\review{2007/09/21} 2 2 %\def\review{\number\day/\number\month/\number\year\xspace} 3 3 4 4 \title{Séminaire interne :\newline Processeur libre, haute performance et paramètrable} 5 5 6 \institute{Département SOC - Laboratoire d'informationde Paris VI - France}6 \institute{Département ALSOC - Laboratoire d'informatique de Paris VI - France} 7 7 8 \author{Mathieu Rosière} 8 \author{Mathieu Rosière\\ 9 encadrement :\\ 10 Nathalie Drach-Temam\\ 11 Jean-Lou Desbarbieux\\ 12 Franck Wajsbürt 13 } 9 14 10 15 \date{\review} -
trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Makefile
r51 r52 32 32 DIR_SCHEMA_PNG = Schema_png 33 33 DIR_TEX = Source 34 DIR_LINK = Link 34 35 35 36 #-------------------------------------------------------------------------------- … … 38 39 ENV_LATEX = $(EXPORT) TEXINPUTS=$(DIR_INCLUDE):$$TEXINPUTS 39 40 LATEX_WITH_ENV = $(ENV_LATEX); $(LATEX) 41 42 40 43 41 44 #-------------------------------------------------------------------------------- … … 100 103 $(DVIPS) -o $@ $<; 101 104 102 %.dvi : $(DIR_TEX)/%.tex 105 #$(DIR_DOCUMENTS)/*/*/* 106 %.dvi : $(DIR_TEX)/%.tex $(DIR_LINK)/%/* 103 107 @\ 104 108 $(ECHO) "Génération du fichier $*.dvi"; \ … … 163 167 $(MKDIR) $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG); \ 164 168 \ 169 $(ECHO) "Create link : $(DIR_LINK)/$$FILENAME-$(DEFAULT_LANG)"; \ 170 $(LINK_SYMBOLIC) $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG) $(DIR_LINK)/$$FILENAME-$(DEFAULT_LANG); \ 171 \ 165 172 $(ECHO) "Create file : $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG)/root.tex"; \ 166 173 $(TOUCH) $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG)/root.tex … … 214 221 \ 215 222 $(ECHO) "Delete directory : $(DIR_DOCUMENTS)/$$FILENAME"; \ 216 $(RM) $(DIR_DOCUMENTS)/$$FILENAME; 223 $(RM) $(DIR_DOCUMENTS)/$$FILENAME; \ 224 $(ECHO) "Delete link : $(DIR_DOCUMENTS)/$$FILENAME"; \ 225 $(RM) $(DIR_LINK)/$$FILENAME-*; 217 226 218 227 rename : … … 267 276 \ 268 277 $(ECHO) "Rename directory : $(DIR_DOCUMENTS)/$$FILENAME_SRC"; \ 269 $(MV) $(DIR_DOCUMENTS)/$$FILENAME_SRC $(DIR_DOCUMENTS)/$$FILENAME_DEST; 278 $(MV) $(DIR_DOCUMENTS)/$$FILENAME_SRC $(DIR_DOCUMENTS)/$$FILENAME_DEST; \ 279 $(ECHO) "Rename link : manually please"; 280 281 270 282 271 283 #-------------------------------------------------------------------------------- -
trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Schema/MORPHEO_micro_architecture-execute_loop.fig
r23 r52 1 #FIG 3.2 1 #FIG 3.2 Produced by xfig version 3.2.5-alpha5 2 2 Landscape 3 3 Center … … 8 8 -2 9 9 1200 2 10 6 7 560 5760 8280 621011 2 4 0 1 0 31 50 -1 20 4.000 0 0 7 0 0512 8280 6210 7560 6210 7560 5760 8280 5760 8280 6210 13 4 1 0 50 -1 -1 10 0.0000 4 105 510 7920 6030 memory\001 14 4 1 0 50 -1 -1 10 0.0000 4 105 255 7920 5895 read\00115 4 1 0 50 -1 -1 10 0.0000 4 1 05 345 7920 6165 queue\00110 6 7200 5895 10080 6705 11 6 7560 6075 8280 6525 12 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 5 13 8280 6525 7560 6525 7560 6075 8280 6075 8280 6525 14 4 1 0 50 -1 -1 10 0.0000 4 105 255 7920 6255 read\001 15 4 1 0 50 -1 -1 10 0.0000 4 120 345 7920 6435 queue\001 16 16 -6 17 6 10260 6390 10980 684017 6 8640 6075 9360 6525 18 18 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 5 19 10980 6840 10260 6840 10260 6390 10980 6390 10980 6840 20 4 1 0 50 -1 -1 10 0.0000 4 90 465 10620 6660 execute\001 19 9360 6525 8640 6525 8640 6075 9360 6075 9360 6525 20 4 1 0 50 -1 -1 10 0.0000 4 105 690 9000 6255 reservation\001 21 4 1 0 50 -1 -1 10 0.0000 4 105 435 9000 6435 station\001 22 -6 23 2 4 0 1 0 7 50 -1 20 3.000 0 0 7 0 0 5 24 10080 5895 10080 6705 9720 6705 9720 5895 10080 5895 25 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2 26 3 0 1.00 60.00 120.00 27 9360 6300 9720 6300 28 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2 29 3 0 1.00 60.00 120.00 30 8280 6300 8640 6300 31 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2 32 3 0 1.00 60.00 120.00 33 7200 6300 7560 6300 34 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 1 35 7200 6300 36 4 1 0 50 -1 -1 10 1.5708 4 105 360 9945 6300 select\001 37 4 0 0 50 -1 -1 10 0.0000 4 75 435 7245 6030 rename\001 21 38 -6 22 39 6 10260 5760 10980 6210 23 2 4 0 1 0 31 50 -1 20 4.000 0 0 7 0 0 540 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 5 24 41 10980 6210 10260 6210 10260 5760 10980 5760 10980 6210 25 42 4 1 0 50 -1 -1 10 0.0000 4 105 510 10620 6030 memory\001 26 43 -6 27 6 7560 6390 8280 684028 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 529 8280 6840 7560 6840 7560 6390 8280 6390 8280 684030 4 1 0 50 -1 -1 10 0.0000 4 105 255 7920 6570 read\00131 4 1 0 50 -1 -1 10 0.0000 4 105 345 7920 6750 queue\00132 -633 6 8640 6390 9360 684034 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 535 9360 6840 8640 6840 8640 6390 9360 6390 9360 684036 4 1 0 50 -1 -1 10 0.0000 4 105 690 9000 6570 reservation\00137 4 1 0 50 -1 -1 10 0.0000 4 105 435 9000 6750 station\00138 -639 2 2 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 540 9540 7020 7380 7020 7380 5580 9540 5580 9540 702041 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 242 3 0 1.00 60.00 120.0043 8280 5985 10260 598544 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 1 245 3 0 1.00 60.00 120.0046 3 0 1.00 60.00 120.0047 8415 7380 8415 661548 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 1 249 3 0 1.00 60.00 120.0050 3 0 1.00 60.00 120.0051 8505 5985 8505 738052 2 4 0 1 0 7 50 -1 20 3.000 0 0 7 0 0 553 10080 6210 10080 7020 9720 7020 9720 6210 10080 621054 44 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2 55 45 3 0 1.00 60.00 120.00 … … 86 76 3 0 1.00 60.00 120.00 87 77 12780 6300 12780 7380 88 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 289 3 0 1.00 60.00 120.0090 9360 6615 9720 661591 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 292 3 0 1.00 60.00 120.0093 8280 6615 8640 661594 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 295 3 0 1.00 60.00 120.0096 7200 6615 7560 661597 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 298 3 0 1.00 60.00 120.0099 7200 5985 7560 5985100 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2101 7200 5985 7200 6615102 78 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 3 103 79 3 0 1.00 60.00 120.00 104 12780 7110 9000 7110 9000 6 84080 12780 7110 9000 7110 9000 6525 105 81 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4 106 82 3 0 1.00 60.00 120.00 107 12240 6075 12240 5400 8820 5400 8820 6 39083 12240 6075 12240 5400 8820 5400 8820 6075 108 84 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2 109 85 3 0 1.00 60.00 120.00 … … 111 87 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4 112 88 3 0 1.00 60.00 120.00 113 10350 5760 10350 5490 9180 5490 9180 6 39089 10350 5760 10350 5490 9180 5490 9180 6075 114 90 2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4 115 91 3 0 1.00 60.00 120.00 … … 128 104 3 0 1.00 60.00 120.00 129 105 12780 7335 12780 7920 130 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2131 3 0 1.00 60.00 120.00132 8505 7380 8505 7920133 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2134 3 0 1.00 60.00 120.00135 8415 7380 8415 7920136 106 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2 137 107 3 0 1.00 60.00 120.00 138 108 3 0 1.00 60.00 120.00 139 109 7560 8100 7200 8100 140 4 1 0 50 -1 -1 10 1.5708 4 105 360 9945 6615 select\001 110 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 1 2 111 3 0 1.00 60.00 120.00 112 3 0 1.00 60.00 120.00 113 8460 7380 8460 6300 114 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 115 3 0 1.00 60.00 120.00 116 8460 7380 8460 7920 117 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2 118 3 0 1.00 60.00 120.00 119 10080 5985 10260 5985 120 2 2 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 5 121 9540 6705 7380 6705 7380 5895 9540 5895 9540 6705 122 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 5 123 10980 6840 10260 6840 10260 6390 10980 6390 10980 6840 141 124 4 1 0 50 -1 -1 10 1.5708 4 105 360 11385 6300 select\001 142 4 1 0 50 -1 -1 10 0.0000 4 1 05345 12240 6435 queue\001125 4 1 0 50 -1 -1 10 0.0000 4 120 345 12240 6435 queue\001 143 126 4 1 0 50 -1 -1 10 0.0000 4 105 345 12240 6255 write\001 144 127 4 1 0 50 -1 -1 10 0.0000 4 90 465 13320 6255 execute\001 145 4 1 0 50 -1 -1 10 0.0000 4 1 05345 13320 6435 queue\001146 4 0 0 50 -1 -1 10 0.0000 4 1 35405 8820 5355 bypass\001128 4 1 0 50 -1 -1 10 0.0000 4 120 345 13320 6435 queue\001 129 4 0 0 50 -1 -1 10 0.0000 4 150 405 8820 5355 bypass\001 147 130 4 1 0 50 -1 -1 10 0.0000 4 105 420 10620 5085 Dcache\001 148 131 4 2 0 50 -1 -1 10 0.0000 4 90 465 13995 6660 execute\001 149 4 0 0 50 -1 -1 10 0.0000 4 75 435 7245 6345 rename\001150 132 4 1 0 50 -1 -1 10 0.0000 4 135 480 10620 7605 register\001 151 133 4 1 0 50 -1 -1 10 0.0000 4 105 630 10620 8145 status list\001 152 134 4 0 0 50 -1 -1 10 0.0000 4 150 855 7290 8415 register_state\001 135 4 1 0 50 -1 -1 10 0.0000 4 90 465 10620 6660 execute\001
Note: See TracChangeset
for help on using the changeset viewer.