1 / 28

D iscover P yra t ec’s TombExplorer 2.0

D iscover P yra t ec’s TombExplorer 2.0. Présentation par: Burri Samuel, CEO Kader Abdoul-Keita, Chief Marketing Ferreira Olivier, Lead Software Designer Moumbe Arno-Patrice, Lead Hardware Designer. Contenu. Introduction Description générale du système

Télécharger la présentation

D iscover P yra t ec’s TombExplorer 2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Discover Pyratec’sTombExplorer 2.0 Présentation par: Burri Samuel, CEO Kader Abdoul-Keita, Chief Marketing Ferreira Olivier, Lead Software Designer Moumbe Arno-Patrice, Lead Hardware Designer

  2. Contenu • Introduction • Description générale du système • Tour des différente modules • CPU0 – Processeur principale • CPU1 – Processeur graphique • CPU2 – Processeur communication • Robustesse et vérification • Développements futurs (Version 3.0) • Conclusion/Questions Contenu

  3. Introduction • PyraTec • Fondé en 2008 • Basé à Montréal avec locaux en Egypte • 430 employés • Système le plus répandu pour l’exploration des pyramides • Présentation de la nouvelle version (2.0) du système TombExplorer Introduction

  4. Description générale du système • 3 CPUs – Nios II/f • 4kB cache d’instructions • 2kB cache de données • Hardware multiplier/divider • Instructions et données locales dans la SDRAM • Instruction de débogage décale des DELs • Compteur des milliseconds (ajustable) • Modules matériels pour accélérer l’affichage Description générale du système

  5. Schéma bloc du système Description générale du système

  6. Tour des différentes modules • CPU0 – Processeur principale • Interconnexions avec les autres processeurs • Modules logiciels (Représentation du labyrinthe, Algorithmes) • CPU1 – Processeur graphique • Contrôleur VGA optimisé • Instruction spécialisé pour le calcul d’intensité des ellipses et les transformations 3D-2D (divisions) • Modules matériels pour le traçage des lignes et des quadrilatères • CPU2 – Processeur communication • Communication avec les modules Ethernet et PS2 • Pile des protocoles réseaux • Assistance logiciel pour la navigation Tour des différentes modules

  7. CPU0 – Processeur principale • 4 Fifos pour la communication avec les autres processeurs (2 x In/Out) • Tâches logiciels • Interprétations (2D) des paquets du serveur et maintenance de l’état du labyrinthe • Passer les paquets au CPU1 pour l’affichage 3D • Passer des message de CPU2 au CPU1 • Génération et interprétation des paquets intra-équipe (état du labyrinthe) • Calcul du chemin vers le trésor Tour des différentes modules

  8. Maintenance de l’état du labyrinthe Tour des différentes modules

  9. Calcul du chemin vers le trésor • Algorithme itérative à 10 itérations par seconde 4 3 2 3 4 5 2 1 4 5 2 1 0 1 2 9 8 7 4 3 8 7 6 5 4 Tour des différentes modules

  10. CPU1 – Processeur graphique • Interprétation des paquets pour l’affichage 3D • Reçoit les commandes d’affichage (2D) du CPU0 • Accès directe au contrôleur VGA • Instruction spécialisée pour le calcul de l’intensité des ellipses et les transformations 2D-3D (divisions) • Module matériel pour le traçage des lignes • Module matériel pour le traçage des quadrilatères Tour des différentes modules

  11. CPU1 – Schéma local Tour des différentes modules

  12. Contrôleur VGA • Basé sur le contrôleur VGA du laboratoire #4 • Double buffering sur la partie gauche de l’écran (configurable) • Coordonnées X et Y en 12 bits • Clipping sur un rectangle spécifié • Palette des couleurs configurable en logiciel • Bande passante doublé pour les accès sequentiel (env. 1 pixel par coup d’horloge -> 132 écrans complets par seconde) • Writeonly (excepté un mot de status) Tour des différentes modules

  13. Schéma bloc du contrôleur VGA Tour des différentes modules

  14. Illustration du double buffering Tour des différentes modules

  15. Instruction spécialisée • Contient deux unité de division (lpm_divide) • Utilise une unité de carré (lpm_square) • Machine d’états pour calculer la racine carré • Calcul de l’intensité des ellipses • Intensité de 4 pixels en 18 cycles • Résultat entre 0 et 63 (6 bits) • Deux divisions en parallèle en 11 cycles (résultats sur 16 bits) Tour des différentes modules

  16. Schéma bloc de l’instruction spécialisée Tour des différentes modules

  17. Module de traçage des lignes • Interface master pour le contrôleur VGA • Unité de Bresenham pour le traçage des lignes • Fifo pour les commandes du processeur Tour des différentes modules

  18. Unité de Bresenham • Traçage des lignes à 1 pixel par coup d’horloge Tour des différentes modules

  19. Module de traçage des quadrilatères • Interface master pour le contrôleur VGA • 2 Unité de Bresenham pour tracer les extrémités gauches et droites • Machine à état pour remplir des quadrilatères spécifié par le processeur (sens de l’aguille du montre) • Vitesse: 20 coups d’horloge pour le setup + 1 coup par pixel • Fifo pour les commandes du processeur Tour des différentes modules

  20. Schéma bloc / Machine à états Tour des différentes modules

  21. CPU2 – Processeur communication • Interagit avec CPU0 • Accède au contrôleur réseau et PS2 • Vérifie les paquets entrant du réseau • Génère les paquets vers le serveur et les coéquipiers • Réagit sur les messages du clavier • Assiste l’utilisateur dans la navigation du labyrinth Tour des différentes modules

  22. Pile des protocoles Tour des différentes modules

  23. Modes de navigation Tour des différentes modules

  24. Robustesse et vérification • La base matériel est stable depuis plusieurs semaines (Version 1.0 sur un processeur) • Les modules logiciels ont été testés individuellement • Les modules matériels ont été testés par des programmes de test et de vérification Robustesse et vérification

  25. Points critiques • Cohérence des données entre plusieurs processeurs (caches) • Utilisation des pointeurs (aucune protection de mémoire) • Au cas des interruptions les structures partagé doivent supporter la concurrence ou désactiver les interruptions Robustesse et vérification

  26. Développements futurs (Version 3.0) • Ajout de son • Ajout de la vrai 3D (ev. avec textures) • Interfaçage avec un manette de jeu Développements futurs (Version 3.0)

  27. Conclusion • Points forts • Plusieurs modes de navigation • Intelligence artificiel • Module VGA efficace (double buffering, clipping, palette logiciel, double bande passante) • Modules matériels pour l’affichage des primitives • Pile des protocoles complet et efficace • Déploiement rapide (code exécutable dans la flash, script de programmation) • Faiblesses: • Qualité du code (Nombres magiques, commentaires) • Prix: 2230$, 1230$ pour les étudiants (support et code source compris) Conclusion

  28. Questions…? Pyratec’sTombExplorer 2.0 Questions

More Related