Pré-requis Avant le début du cours, les étudiants sont capables de : Lister les composants principaux d’un ordinateur personnel. Convertir des valeurs numériques en utilisant des puissances. Expérimenter avec un langage de script comme Python dans un IDE simple à visée scientifico-mathématique. Résumé et contexte Enseignement des rudiments nécessaires à la compréhension de l’architecture matérielle d’un ordinateur personnel dans le but de comprendre l’articulation entre le matériel et le logiciel. Le cours part de quelques fondamentaux d’électronique et de physique jusqu’au fonctionnement simplifié d’un microprocesseur et le matériel avec lequel il interagit. Plan de cours Rappels : calcul binaire & hexadécimal Nombres flottants Logique booléenne Arithmétique booléenne Bascules & Mémoire Processeur, registres et autres composants Assembleur: Bases syntaxiques Assembleur: Branchements et boucles Assembleur: Stack et Routines Format des activités Cours magistraux Travaux dirigés Travaux pratique (assembleur) Acquis d’apprentissages visés (AAV) Décrire les composants d’un CPU et leurs interactions à l’aide d’un schéma fourni. Convertir une suite de bits en différentes valeurs selon le type cible. Modéliser à l’aide d’expressions booléennes un problème arithmétique simple. Cartographier les concepts de circuits booléens, de temps et de mémoire dans un cpu en explicitant les liens entre eux. Expliciter les spécificités et contraintes d’une architecture donnée en les reliant à la syntaxe et la sémantique d’un langage assembleur. Produire un programme assembleur impliquant la manipulation d’une pile pour l’appel de routine et la sauvegarde d’un contexte. Évaluation des AAV QCM et exercices Moodle Exam sur les notions vues en TD. Exercices d’assembleur à faire valider en TP par groupe de 2. Calcul de note finale 75% examens Moodle (3) 25% exercices de TP Références et bibliographie The Elements of Computing Systems - Noam Nisan, Shimon Schocken, ISBN 10 : 0262640686 Documentation M68000: https://mrjester.hapisan.com/04_MC68/ Chaîne Youtube Ben Eater (à consulter sur le temps personnel)