Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Introduction Objectifs du cours Évaluation Références Matière du cours: - Techniques modernes d’architecture - Les systèmes parallèles - La synthèse automatisée de circuit
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Matière couverte Amélioration des derniers 10 ans Comprendre ce qui s’en vient d’ici 10 ans
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Pourquoi l’évolution de l’architecture? Loi de Moore: 2X plus de transistors / 18 mois Depuis 15 ans: environ 1000X (de 4 à 0.13 microns) En 2008: 0.05 micron, 100M transistors, plusieurs GHz Différence croissante entre le délai intra-chip et le délai extra-chip Importance croissante des interconnections entre les transistors Corrolaire de la loi de Moore: augmentation exponentielle de la puissance dissipée (à voltage constant)
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Défis Taille et puissance Comment gérer l’augmentation de puissance consommée? (prédite par Dennart en ’70) Performance du système Qu’est-ce qui définit la performance? Où doit-on miser pour augmenter la performance? Complexité Comment gérer le design de systèmes de plus en plus gros?
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Force motrice derrière l’architecture des ordinateurs Fin des années ’80, début ’90: Performance des processeurs Fin des années ’90, début 2000: Puissance Accès à la mémoire lent Fiabilité Coût de développement, maintenance de logiciel Désuétude rapide Performance des processeurs
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Qu’allons-nous étudier ici? Techniques d’amélioration de la performance des processeurs utilisées depuis 10 ans: Parallélisme (MLP, ILP) Pipelines / superscalaires / VLIW Multiprocesseurs Synchronisation Techniques modernes de conception de circuits Synthèse de haut niveau, logique HDLs (Hardware Description Languages) Technologies-cibles: ASIC, FPGA
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Comment améliorer la performance? Matériel Dispositifs Ensemble d’instructions (RISC vs CISC) Conception Techniques de synthèse Techniques de test Parallélisme MLP (Machine Level Parallelism) ILP (Instruction Level Parallelism)
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Matériel: Amélioration des dispositifs Plus grande intégration (Moore / Dennart) Utilisation nouvelle des composants FPGA: utilisation d’éléments reconfigurables Protocoles d’entrées/sorties différents E.g. Rambus
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Matériel: Amélioration des dispositifs Silicium Sous 0.1 um (IBM prévoit 0.05 um en 2008) Oxyde trop mince -> effet tunnel Variations locales du dopage Transport ballistique DIBL (Drain-Induced Barrier Lowering) Arseniure de Gallium (AsGa), Germanium- Silicium (siGe) ? Communications optiques?
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Matériel: Amélioration des dispositifs (2) Superconducteurs à haute température? Systèmes quantiques? Nanotechnologie?
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Matériel: ensemble d’instructions RISC: instructions plus simples à décoder Plus d’instructions pour la même tâche Chaque instruction s’exécute plus rapidement CISC: instructions complexes VLIW (Very Large Instruction Word)
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Conception: techniques de synthèse Langages de haut niveau (VHDL, Verilog) Synthèse de haut niveau Synthèse logique Placement / Routage
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Conception: techniques de test Vecteurs de test Modèle stuck-at JTAG et Full / Partial Scan BIST (Built-In Self-Test)
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Parallélisme: MLP Machines massivement parallèles Thinking machines Masspar NOW (Network of Workstations) Multiprocesseurs ASCI White Beowulf
© 2001 Frédéric MailhotUniversité de Sherbrooke Introduction Parallélisme: ILP Pipelines Méthodes superscalaires Scoreboard, Tomasulo Prédiction des branches Méthodes statiques / dynamiques Spéculation (EPIC – Explicitely Parallel Instructions Computer) Machines « multithreaded »