Université Côte d'azur

UE Architecture machine

Code de l'ECUE : SLUIN504

Ce cours donne droit à 6.0 ECTS.
PORTAIL SCIENCES ET TECHNOLOGIES
Informatique
Campus Valrose
Licence 3
Semestre impair
Français

PRESENTATION

Cette UE fondamentale en informatique aborde le côté matériel. Elle s'adresse aux étudiants de licence souhaitant comprendre le fonctionnement interne et logique d'un processeur. Nous aborderons le codage de l'information, les circuits combinatoires, les circuits séquentiels, les machines à états, le code assembleur et sa traduction vers le binaire, la conception de l'architecture d'un processeur simple.

Le public visé est l'ensemble des étudiants de la licence informatique, de la double licence mathématiques-informatique, et de la licence sciences et technologies.

Responsable(s) du cours

, Sid Touati

Présentiel

  • 20h de cours magistral
  • 20h de travaux dirigés
  • 20h de travaux pratiques

PREREQUIS

Avant le début du cours, je dois ...
  • Avoir suivi des cours d'informatique en L1 et L2
  • Connaitre les rudiments de l'algèbre de Boole, de la logique, ou au moins l'algèbre linéaire

OBJECTIFS

A la fin de ce cours, je devrais être capable de...
  • Concevoir un circuit logique
  • Programmer en assembleur
  • Décrire une machine à états
  • Concevoir un processeur simple
  • Comprendre l'interraction entre le logiciel et le matériel

CONTENU

  • Les informations bas niveau traités par les ordinateurs peuvent être de différente nature: caractères de texte, nombres entiers, nombres flottants. Nous étudierons comment ces informations sont codés en binaire. Le codage de l'information a un impact direct sur la conception des circuits logiques qui vont par la suite traiter ces informations au niveau matériel.

  • Les circuits combinatoires implémentent des fonctions booléennes au niveau matériel. Ces circuits ont des entrées et des sorties, et doivent calculer une fonction définie par le concepteur. Les circuits combinatoires n'ont ni mémoire ni horloge, ils son décrits selon plusieurs méthodes: soit par formule booléenne (algèbre de Boole), soit par schéma logique, soit par table de vérité, soit par programmation.

  • Les circuits séquentiels ont des entrées et des sorties, et calculent des fonctions. Par contre, contrairement aux circuits combinatoires, les circuits séquentiels ont une mémoire: cela veut dire que les sorties de ces circuits dépendent aussi des résultats précédents. Les circutis séquentiels peuvent être synchrones (avec horloge) ou asynchrones (sans horloge).

  • Les machines à états sont décrites avec les automates finis. Ces automates décrivent comment la machine change d'état selon les données en entrée, et quelles sont les sorties produites. Les machines à états peuvent être sous deux formes: machines de Mealy et machines de Moore. Ces deux types de machines sont équivalentes, mais ne sont pas décrites de la même façon. Nous étudierons plus en détails ces machines à états, qui sont utilisées pour décrire la logique de contrôle d'un processeur.

  • Le langage assembleur est un langage de programmation très proche des caractéristiques du processeur cible. Chaque architecture de processeur a son propre langage assembleur. C'est la couche la plus basse de programmation textuelle, un tel code est traduit directement en binaire par la suite. Nous étudierons la programmation assembleur sous sa forme général, le but est de donner un aperçu de tous les langages assembleur existant, et ne pas se focaliser sur un en particulier. Nous donnerons quelques exemples de langages afin de comprendre les différences.

  • Nous étudierons comment concevoir l'architecture interne un processeur simple, et nous comprendrons comment une telle conception influence directement le langage assembleur qui lui est associé. Nous étudierons par la suite comment une machine à états peut décrire les différentes étapes pour exécuter une instruction assembleur à l'intérieur du processeur.

Accéder au Syllabus complet (Authentification requise)
Important
Ce syllabus n’a aucune valeur contractuelle. Son contenu est susceptible d’évoluer en cours d’année : soyez attentifs aux dernières modifications.