Changeset 52 for trunk/IPs/systemC


Ignore:
Timestamp:
Aug 27, 2007, 7:01:11 PM (17 years ago)
Author:
rosiere
Message:

Modif du seminaire interne

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  
    11\section{Motivations}
    22
    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           {
    15253           }
    16254
  • trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Info/presentation-internal_seminary_overview.sty

    r51 r52  
    1 \def\review{2007/06/01}
     1\def\review{2007/09/21}
    22%\def\review{\number\day/\number\month/\number\year\xspace}
    33
    44\title{Séminaire interne :\newline Processeur libre, haute performance et paramètrable}
    55
    6 \institute{Département SOC - Laboratoire d'information de Paris VI - France}
     6\institute{Département ALSOC - Laboratoire d'informatique de Paris VI - France}
    77 
    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}
    914
    1015\date{\review}
  • trunk/IPs/systemC/processor/Morpheo/Documentation/Source/Makefile

    r51 r52  
    3232DIR_SCHEMA_PNG          = Schema_png
    3333DIR_TEX                 = Source
     34DIR_LINK                = Link
    3435
    3536#--------------------------------------------------------------------------------
     
    3839ENV_LATEX               = $(EXPORT) TEXINPUTS=$(DIR_INCLUDE):$$TEXINPUTS
    3940LATEX_WITH_ENV          = $(ENV_LATEX); $(LATEX)
     41
     42
    4043
    4144#--------------------------------------------------------------------------------
     
    100103                        $(DVIPS) -o $@ $<;
    101104
    102 %.dvi                   : $(DIR_TEX)/%.tex
     105#$(DIR_DOCUMENTS)/*/*/*
     106%.dvi                   : $(DIR_TEX)/%.tex $(DIR_LINK)/%/*
    103107                        @\
    104108                        $(ECHO) "Génération du fichier $*.dvi";                                                 \
     
    163167                        $(MKDIR) $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG);                                   \
    164168                                                                                                                \
     169                        $(ECHO) "Create link      : $(DIR_LINK)/$$FILENAME-$(DEFAULT_LANG)";                    \
     170                        $(LINK_SYMBOLIC) $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG) $(DIR_LINK)/$$FILENAME-$(DEFAULT_LANG); \
     171                                                                                                                \
    165172                        $(ECHO) "Create file      : $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG)/root.tex";      \
    166173                        $(TOUCH) $(DIR_DOCUMENTS)/$$FILENAME/$(DEFAULT_LANG)/root.tex
     
    214221                                                                                                                \
    215222                        $(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-*;
    217226
    218227rename                  :
     
    267276                                                                                                                \
    268277                        $(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
    270282
    271283#--------------------------------------------------------------------------------
  • 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
    22Landscape
    33Center
     
    88-2
    991200 2
    10 6 7560 5760 8280 6210
    11 2 4 0 1 0 31 50 -1 20 4.000 0 0 7 0 0 5
    12          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\001
    15 4 1 0 50 -1 -1 10 0.0000 4 105 345 7920 6165 queue\001
     106 7200 5895 10080 6705
     116 7560 6075 8280 6525
     122 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
     144 1 0 50 -1 -1 10 0.0000 4 105 255 7920 6255 read\001
     154 1 0 50 -1 -1 10 0.0000 4 120 345 7920 6435 queue\001
    1616-6
    17 6 10260 6390 10980 6840
     176 8640 6075 9360 6525
    18182 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
     204 1 0 50 -1 -1 10 0.0000 4 105 690 9000 6255 reservation\001
     214 1 0 50 -1 -1 10 0.0000 4 105 435 9000 6435 station\001
     22-6
     232 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
     252 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
     282 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
     312 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
     342 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 1
     35         7200 6300
     364 1 0 50 -1 -1 10 1.5708 4 105 360 9945 6300 select\001
     374 0 0 50 -1 -1 10 0.0000 4 75 435 7245 6030 rename\001
    2138-6
    22396 10260 5760 10980 6210
    23 2 4 0 1 0 31 50 -1 20 4.000 0 0 7 0 0 5
     402 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 5
    2441         10980 6210 10260 6210 10260 5760 10980 5760 10980 6210
    25424 1 0 50 -1 -1 10 0.0000 4 105 510 10620 6030 memory\001
    2643-6
    27 6 7560 6390 8280 6840
    28 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 5
    29          8280 6840 7560 6840 7560 6390 8280 6390 8280 6840
    30 4 1 0 50 -1 -1 10 0.0000 4 105 255 7920 6570 read\001
    31 4 1 0 50 -1 -1 10 0.0000 4 105 345 7920 6750 queue\001
    32 -6
    33 6 8640 6390 9360 6840
    34 2 4 0 1 0 11 50 -1 20 4.000 0 0 7 0 0 5
    35          9360 6840 8640 6840 8640 6390 9360 6390 9360 6840
    36 4 1 0 50 -1 -1 10 0.0000 4 105 690 9000 6570 reservation\001
    37 4 1 0 50 -1 -1 10 0.0000 4 105 435 9000 6750 station\001
    38 -6
    39 2 2 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 5
    40          9540 7020 7380 7020 7380 5580 9540 5580 9540 7020
    41 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2
    42         3 0 1.00 60.00 120.00
    43          8280 5985 10260 5985
    44 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 1 2
    45         3 0 1.00 60.00 120.00
    46         3 0 1.00 60.00 120.00
    47          8415 7380 8415 6615
    48 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 1 2
    49         3 0 1.00 60.00 120.00
    50         3 0 1.00 60.00 120.00
    51          8505 5985 8505 7380
    52 2 4 0 1 0 7 50 -1 20 3.000 0 0 7 0 0 5
    53          10080 6210 10080 7020 9720 7020 9720 6210 10080 6210
    54442 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2
    5545        3 0 1.00 60.00 120.00
     
    8676        3 0 1.00 60.00 120.00
    8777         12780 6300 12780 7380
    88 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2
    89         3 0 1.00 60.00 120.00
    90          9360 6615 9720 6615
    91 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2
    92         3 0 1.00 60.00 120.00
    93          8280 6615 8640 6615
    94 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2
    95         3 0 1.00 60.00 120.00
    96          7200 6615 7560 6615
    97 2 1 0 1 0 7 50 -1 -1 3.000 0 0 -1 1 0 2
    98         3 0 1.00 60.00 120.00
    99          7200 5985 7560 5985
    100 2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2
    101          7200 5985 7200 6615
    102782 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 3
    10379        3 0 1.00 60.00 120.00
    104          12780 7110 9000 7110 9000 6840
     80         12780 7110 9000 7110 9000 6525
    105812 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4
    10682        3 0 1.00 60.00 120.00
    107          12240 6075 12240 5400 8820 5400 8820 6390
     83         12240 6075 12240 5400 8820 5400 8820 6075
    108842 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
    10985        3 0 1.00 60.00 120.00
     
    111872 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4
    11288        3 0 1.00 60.00 120.00
    113          10350 5760 10350 5490 9180 5490 9180 6390
     89         10350 5760 10350 5490 9180 5490 9180 6075
    114902 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4
    11591        3 0 1.00 60.00 120.00
     
    128104        3 0 1.00 60.00 120.00
    129105         12780 7335 12780 7920
    130 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
    131         3 0 1.00 60.00 120.00
    132          8505 7380 8505 7920
    133 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
    134         3 0 1.00 60.00 120.00
    135          8415 7380 8415 7920
    1361062 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
    137107        3 0 1.00 60.00 120.00
    138108        3 0 1.00 60.00 120.00
    139109         7560 8100 7200 8100
    140 4 1 0 50 -1 -1 10 1.5708 4 105 360 9945 6615 select\001
     1102 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
     1142 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
     1172 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
     1202 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
     1222 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
    1411244 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 105 345 12240 6435 queue\001
     1254 1 0 50 -1 -1 10 0.0000 4 120 345 12240 6435 queue\001
    1431264 1 0 50 -1 -1 10 0.0000 4 105 345 12240 6255 write\001
    1441274 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 105 345 13320 6435 queue\001
    146 4 0 0 50 -1 -1 10 0.0000 4 135 405 8820 5355 bypass\001
     1284 1 0 50 -1 -1 10 0.0000 4 120 345 13320 6435 queue\001
     1294 0 0 50 -1 -1 10 0.0000 4 150 405 8820 5355 bypass\001
    1471304 1 0 50 -1 -1 10 0.0000 4 105 420 10620 5085 Dcache\001
    1481314 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\001
    1501324 1 0 50 -1 -1 10 0.0000 4 135 480 10620 7605 register\001
    1511334 1 0 50 -1 -1 10 0.0000 4 105 630 10620 8145 status list\001
    1521344 0 0 50 -1 -1 10 0.0000 4 150 855 7290 8415 register_state\001
     1354 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.