From 33887e97ec4d2e652668dd69b630d95c2033951f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A9ranger?= Date: Mon, 4 Oct 2021 14:03:57 +0200 Subject: [PATCH] =?UTF-8?q?fin=20de=20matin=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assembleur/Images/o_t_i_inpc.png | Bin 0 -> 56609 bytes .../Images/operation_to_instructions.png | Bin 0 -> 52229 bytes Assembleur/cours.md | 213 ++++++++++++++++++ Crypto/{intro.md => cours.md} | 0 Réseau/cours.pdf | Bin 75225 -> 0 bytes Safety/cours.md | 52 +++++ 6 files changed, 265 insertions(+) create mode 100644 Assembleur/Images/o_t_i_inpc.png create mode 100644 Assembleur/Images/operation_to_instructions.png create mode 100644 Assembleur/cours.md rename Crypto/{intro.md => cours.md} (100%) delete mode 100644 Réseau/cours.pdf create mode 100644 Safety/cours.md diff --git a/Assembleur/Images/o_t_i_inpc.png b/Assembleur/Images/o_t_i_inpc.png new file mode 100644 index 0000000000000000000000000000000000000000..9ac4fa20cb43139972e5b66dec04cc80627760da GIT binary patch literal 56609 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 literal 0 HcmV?d00001 diff --git a/Assembleur/cours.md b/Assembleur/cours.md new file mode 100644 index 0000000..38c43df --- /dev/null +++ b/Assembleur/cours.md @@ -0,0 +1,213 @@ +# Architecture des processeurs, Langages d'assemblage et assembleur en ligne + +Benoit Morgan - Intel corp + +# Introduction + +L'assembleur est le langage qui permet de générer un langage machine / programme correct. Le langage est très proche du jeu d'instruction et de l'achitecture du processeur, mais suffisamment abstrait pour être lu et écrit par un humain. On associe une famille de processeur à un langage assemblage donnée + +# Architecture matérielles des processeurs + +## Processeur + +Il s'agit du composant essentiel d'une machine, il est capable d'exécuter des instructions machine d'un programme, il a accès à la mémoire, et aux périphériques. On l'associe en général à l'intelligence de la machine + +microprocesseur = processeur + mémoire + entrées / sorties + etc + +# Micro Processeur + +## Mémoire + +Plusieurs types de mémoires + +### Mémoire court termes - Registres + +Utilisés directement par les unités arithmétiques et logiques comme paramètre et stockage des opérations arithmétiques + +### Mémoire long terme - la RAM + +Utilisée pour le stockage des instruction ou les données d'un programme (variables temporaires, locales, globales...) + +### Périphériques + +Permettent l'acheminement du flot de données + +# Instructions machines + +Il s'agit des opérations élémentaires exécutées par un processeur. On en distingue plusieurs types : + +- UAL +- Accès mémoire +- I/O en lecture ou écriture +- Gestion du flot d'exécution - Sauts, fonctions, interruptions +- Système : configuration, noyau, VM, énergie... + +# Opérateurs binaires + +## Logique + +- & ET +- | OU +- $\oplus$ XOR + +## Arithmétiques + +- Addition + +- Soustraction - +- Multiplication x + +## Binaires + +# Architecture générique typique et simplifiée + +- Périph entrée et sortie +- CPU +- Mémoire +- Jeu d'instructions + - Lire une entrée utilisateur + - Ecrire une entrée utilisateur + - Addition + - Soustraction + - Lecture mémoire + - Ecriture mémoire + +## Calcul arithmétique avec une UAL + +- Généralement deux entrées dans un CPU +- Généralement une sortie +- Processeur xbits <=> UAL x-bits + +Décomposition en suite d'instructions arithmétiques : + +sortie((entrée() +entrée()) * (entrée()+entrée())) + +

+ +

+ +

+ +

+ +# Drapeaux et comparaisons + +## Drapeaux arithmétiques +- Z : résultat nul +- C (carry) - retenue +- O (Overflow) l'espace des nombres signés a été dépassé +- P : parité +- S : Signé + +Encodage des nombres signés en mémoire + +$n = -b_{n-1} \times 2^{n-1} + \sum_{i=0}^{n-2}{b_i\times2^i}$ + +# Instructions de contrôle du flot d'exécution + +Permet la mise en oeuvre de tests et de bouvles quand utilisées en complément avec l'UAL. + +```C +if (expr.){statement} else {statement} +while (expr.) {statements} +for (statements;expr;statements){statements} +``` +# Exemple de tests - if et boucles - for + +```C +if (6==entrée()){ + sortie(0); +} +else{ + sortie(1); +} +``` +```x86asm +Programme Commentaires +A = 6 if (6 - entrée() == 0) +B = entrée +A = A - B ou A CMP B +cpt. ordinal = 6 ssi Z = 0 +sortie = 0 sortie(0) +cpt. ordinal = 7 else +sortie = 1 sortie(1) +[..] +``` + +```C +for (int i = 0; i < 10; i++) { +sortie(i); +} +``` + +Peut être traduit en suite d’instructions génériques suivantes : +```x86asm +Programme Commentaires +A = 0 int i = 0 +B = 10 +A CMP B i < 10 ? +cpt. ordinal = 7 ssi Z = 1 { +sortie = A sortie(i) +A = A + 1 i++ +cpt. ordinal = 2 } +[..] +``` + +# Support des procédures + +Une bonne façon de faire des appels de fonction supportant les appels de fonctions consécutifs et les appels imbriqués de fonction et de procéder de la façon suivante : + +Un appel récursif avec pile et accès mémoire indirect : + +```x86asm +Programme Commentaires +P = 41 Initialisation pile +A = 0 main() {} +appel 10 f() et C = 2 +appel 10 f() et C = 3 +[..] +P = P - 1 f() {} sauvegarde du contexte +MEM[P] = C +A = A + 1 +appel 20 f2() et C = 14 +C = MEM[P] restauration du contexte +P = P + 1 +cpt. ordinal = C cpt. ordinal = @retour +[..] +A = A + 2 f2() {} +cpt. ordinal = C cpt. ordinal = @retour +``` + +**Attention, il n'est pas toujours nécessaire de passer par la pile**. Par défaut ce sera cette structure qui sera utilisée dans une architecture x86, mais en soi, pour un simple appel de fonction non récursive, il suffirait de garder uniquement le registre C qui contient l'adresse de la ligne suivante de code à éxecuter. + +# Structure des instructions +## Champ usuels + +| Code opération | Opérandes | +- Code d'opération $\simeq$ Opération à exécuter, peut donc spécifier la taille des opérandes : + - addition, appel, cpt.ord = etc... + +- Opérandes $\simeq$ les paramètres de l'instruction : + - adresse absolue, registre, etc... + +## Taille d’une instruction +- Jeu d’instruction à taille fixe + - Exemple : ARM, MIPS +- Jeu d’instruction à taille variable + - Exemple : Intel x86 + +## Sémantique et structure d'une opérande + +- Généralement interprétés en fonction du code opération +- Id du registre + - Ex : 0 = A, 1=B +- Valeur imméditate + - Ex : A=4 +- Adresse + -Ex : appel 20 + +Classification des processeurs +- _Reduced Instruction Set Computer_ (RISC) : ARM Thumb, MIPS +Peu d’instructions, faible emprunte silicium. +- _Complex Instruction Set Computer_ (CISC) : Intel X86, ARMv8 +Instructions complexes simplifiantes. Énorme emprunte silicium. + diff --git a/Crypto/intro.md b/Crypto/cours.md similarity index 100% rename from Crypto/intro.md rename to Crypto/cours.md diff --git a/Réseau/cours.pdf b/Réseau/cours.pdf deleted file mode 100644 index 2837cc53ed300ee97287e4b36faad99564b65fa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75225 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

=l*_M&F3bkO{O|j_ivxQH85wv&{dCcC{ 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 AC;$Ke diff --git a/Safety/cours.md b/Safety/cours.md new file mode 100644 index 0000000..bc1aa6a --- /dev/null +++ b/Safety/cours.md @@ -0,0 +1,52 @@ +# Dependable Computing, From basic concepts to critical applications | Sureté de fonctionnement + +contact : Jean-Charles Fabre | INP + +Tout système est sujet à ses défaillances internes, matérielle ou logicielles. Aucun système complexe est totalement sans failles. + +La sureté de fonctionnement correspond à l'ensemble des méthodes et techniques concernant les fautes accidentelles et intentionnelles d'un système. + +Comment procéder ? + +- Prévenir +- Tolérer +- Eliminer +- Mesurer + +Souvent cela se matérialise par l'ajout de mécanisme d'auto défense dans un système sujet aux failles. + +Safety : Défense contre les défaillaces +Sécurité : Défense contre les attaques + +# Basic concepts of dependable computing + +Les systèmes industriels complexe sont obligatoirement sujets aux erreurs/failures, qu'elles soient hardware ou software. + +Pour y pallier, il existe deux approches : + +- Le développement zéro failure, vaste utopie rarement atteinte +- Le développement orienté safety qui vise à intégrer des mécanismes de défense + +Une façon de mettre en place des mécanisme de safety, est d'intégrer une analyse des signaux pour détecter soit une réponse qui laisse entendre une failure, soit une absence de réponse. Ces signaux d'erreurs, sont finalement symptomatiques des fautes qui sont l'origine du problème. L'idéal est de pouvoir remonter à partir d'un signal d'erreur, directement à l'origine de la faute. + +On distingue plusieurs propriétés qui permettent d'assurer la sécurité et la sureté de fonctionnement d'un système : + +- Disponibilité +- Fiabilité +- Safety +- Confidentialité +- Intégrité +- Réparabilité + +# Méthodes de tests + +A partir de l'identification des fautes hard et soft on peut avoir deux approches : + +- Déterministe, ou l'on sélectionne les entreées +- Probabliste + +# Représentation Markovienne + +On peut représenter l'état d'un système via une chaine de markov qui repose sur la probabilité de tel ou tel composant de lacher. + +Certains systèmes n'ont en effet pas besoin d'être 100% fonctionnels pour fournir la QoS attendue. \ No newline at end of file