Topic outline

  • COURS

    gpp-2017

    • Cours à distance (activer l'audio à la connexion) :

      Ressources Multimédia :

      http://www.canal-u.tv

      • Visionner la vidéo CARTE-MERE : en entière !

      • Visionner la vidéo CENTRAL-PROCESSING-UNIT (partie CPU Intel 8086) : début à 1h21 jusqu'à à la fin


    • Présentation :

    1. Une première conceptuelle dans laquelle nous nous intéresserons aux architectures génériques des ordinateurs, notamment aux grandes familles de processeurs numériques (GPP, AP, MCU, DSP, etc) et plus spécifiquement à celles s’articulant autour de CPU. Nous nous intéresserons également à certains services logiciels génériques proposés par une distribution logicielle et système d'exploitation. Mots clés : CPU, mémoire, bus, périphériques, cache, pipeline, registres, segmentation logique, pagination, allocations mémoire (automatique, statique et dynamique), pile, tas, etc

    2. Une seconde Applicative sur des technologies actuelles du marché. Pour les aspects matériels, notre choix s'est naturellement tourné vers les architectures Intel, leader des architectures compatibles x86/x64 (desktop, laptop, etc). Pour les aspects logiciels, nous développerons sur système GNU\Linux. Linux étant le système d'exploitation également majoritairement rencontré à notre époque en terme de volumes (systèmes embarqués, serveurs, stations de calcul, ordinateurs personnels, etc). Mots clés : 8086, 80x86, IA-32, Intel 64, x86, x64, extensions vectorielles MMX/SSE/AVX/AEX, exceptions matérielles, système de fichiers et arborescence distribution GNU\linux, gcc (as, ld et ar), signaux UNIX, etc


    • Séances de cours enregistrées


    • 21/09 - Chapitre "Mots clés" - Parties "Mémoire et CPU" , "Software, Firmware et Hardware" et "Périphérique et Processeur"

  • TRAVAUX PRATIQUES

    Ressources sous Cybele : /home/public/arch/disco.zip


    Cette trame d'enseignement ne cherche pas à vous réapprendre un langage de programmation. Il s'agit d'une trame d'analyse de programmes C élémentaires ayant pour objectif terminal d'aboutir à une meilleure représentation et compréhension du fonctionnement de la machine (ordinateur), de la compilation à l'exécution sur cible. L'objectif premier étant de mieux comprendre l'alchimie liant le système d'exploitation (operating system) au système d'exécution (hardware), mais également de maîtriser le processus de génération de micrologiciel (firmware) en partant d'un programme source (software).

    OUTILS DE DEVELOPPEMENT

    • Guide d'installation des outils - Ubuntu 20.04 LTS sur VirtualBox

    • Activation de la virtualisation sous Windows 10

    • Dépôt - groupe 1

      hugo descoubes - hugo.descoubes@ensicaen.fr - 02 31 45 27 61


      TRAVAIL A DISTANCE

      Espace d'échanges commun au groupe (bien valider l'audio à la connexion)

      Salon BigBlueButton - Commun : https://bbb.ensicaen.fr/b/des-kum-wwx

      Espaces d'échanges en équipes de 3 à 5 étudiants (échanges libres, audio coupée de mon côté)

      Salon BigBlueButton - Individuel (aide personnalisée) :  https://bbb.ensicaen.fr/b/des-eiq-9a0-sbu

      Salon BigBlueButton - équipe 1 : https://bbb.ensicaen.fr/b/des-f7n-pka

      Salon BigBlueButton - équipe 2 : https://bbb.ensicaen.fr/b/des-xmy-hwm

      Salon BigBlueButton - équipe 3 : https://bbb.ensicaen.fr/b/des-6tu-vuh

      Salon BigBlueButton - équipe 4 : https://bbb.ensicaen.fr/b/des-gff-xct



      • Dépôt - groupe 2

        André Lépine - Novembre 2021

        Créez et allez dans votre espace de travail, exemple: tp_arch

        Puis récupérez les fichiers sources après vous avoir assuré que Hugo y a bien mis la dernière version:

        cp /home/public/arch/disco.zip .

        unzip disco.zip

        • Dépôt - groupe 3

          • TP - groupe 4

            Patrick Lacharme

            Lien BBB : https://bbb.ensicaen.fr/b/lac-rvg-hvf

            • CHOISIR UN ORDINATEUR ?

              homer

              Cette section cherche à aiguiller les étudiants souhaitant investir dans un nouvel Ordinateur Personnel ou PC. Attention, toutes les recommandations proposées ci-dessous visent à présenter une configuration "minimale" permettant d'offrir à un ingénieur développeur logiciel ou système un "confort de travail suffisant" dans un cadre professionnel (bureautique, édition et compilation logicielle, développement croisé en embarqué, etc). Ces conseils et avis ne sont donc pas adaptés à des besoins spécifiques tels que les jeux vidéos, la MAO audio ou vidéo, etc (système nécessitant potentiellement un co-processeur graphique GPU, de plus larges ressources en RAM, etc).


              Pour information, les principaux goulots d'étranglement dans les performances des machines actuelles se trouvent dans les technologies de mémoires de stockage de l'information (SDRAM DDR4, SSD Flash NAND, HDD, etc) et les protocoles de communication associés (DDR4, DDR3, NVMe, SATA, etc).


              Vous ne pourrez probablement pas tout avoir (sauf si vous avez un budget supérieur à 1500€), du coup chaque point est classé par ordre d'importance. La configuration minimale proposée ci-dessous correspond à une machine d'environ 600-700€ (étude réalisée en octobre 2021) :


              • 16Go de mémoire vive RAM 
                • Pas moins de 8Go
                • Si possible en DDR4 (technologie plus performante) sinon en DDR3

              • 500Go de disque dur interne SSD
                • Pas moins de 256Go en SSD interne (pour single boot Ubuntu ou Windows seulement)
                • Attention, ne mettre sur le disque dur SSD que le(s) système(s) (Ubuntu, distributions GNU\Linux, Windows, etc), les applications et les données courantes (en cours de manipulation sur la semaine ou le mois par exemple). Toutes les autres données utilisateur (photos, vidéos, documents divers, etc) sur disque dur interne HDD ou média externe
                • Si possible 500Go SSD interne et 1To-2To HDD interne
                • Si possible privilégier le protocole NVMe (PCIe) plutôt que SATA pour le disque dur interne SSD
                • Sinon 500Go SSD interne et 1To-2To sur disque dur HDD USB 3.0 externe 

              • Processeur 2 coeurs (4 Threads) chez AMD ou Intel
                • Si possible 4 coeurs (8 Threads) ou plus

              • Interfaces extérieures 
                • Attention, privilégier une machine avec suffisamment de connecteurs d'interface plutôt qu'un modèle extra-plat nécessitant une solution d'extension de connectiques sur un port unique de communication (USB-C, solution propriétaire, etc). Ceci amène une forte dépendance, notamment en cas de panne, de support partiel par le système, de bande passante ainsi qu'un manque de praticité opérationnel à l'usage.
                • 3 ports USB minimun (dont 2 en USB 3.0) pour accessoires externes (Webcam, souris, HDD externe, clé USB, etc) et développement en systèmes embarqués (carte développement, outils de communication, etc)
                • 1 sortie vidéo HMDI (voire DisplayPort et/ou VGA) pour vidéo-projecteur en présentation et second écran potentiel
                • 1 lecteur de carte SD
                • 1 port RJ45 Ethernet
                • WIFI et Bluetooth intégré
                • Écran "suffisamment grand" pour le confort de travail

              • Où chercher et comment chercher ?

              • Recherche depuis internet par les sites Web puis par téléphone avec les revendeurs spécialisés avant de se déplacer

              • Il existe des périodes de rupture, des nouveaux marchés pour les revendeurs, des fins de stock chez les fournisseurs et fabricants, etc ... et donc de grands écarts de prix sur des machines équivalentes durant certaines périodes d'une même année. Prendre contact directement avec les rayons des magasins pour connaître l'état actuel du marché, demander leur conseil et les périodes propices pour acheter !

              • Les magasins autour de Caen (visiter les sites Web) : Darty à Mondeville et à Rots, Leclerc Espace Culturel à Ifs et à Bayeux, de façon générale les espaces numériques des centres commerciaux comme Carrefour/Cora/etc, Generation Net à Louvigny, Boulanger à Mondeville, FNAC à Caen, etc

              • Sur internet : sites fabricants DELL/HP/etc, fournisseurs et revendeurs divers, etc

              • Marché d'occasion sur internet : Leboncoin, Rakuten, Ebay, etc

              Bonne recherche à vous ...
              • INSTALLER UN SYSTEME D'EXPLOITATION


                • Installer une distribution GNU\Linux :

                • Activation de la virtualisation :