Un système est une collection organisée d’objets qui interagissent pour former un tout.
Terminologie :
Objets : Composant du système
Structure : Composants, interconnexions
Comportement : (entrées, sorties)
Un système informatique est un ensemble de composants de type logiciel (software) et matériel (hardware), mis ensemble pour collaborer dans l’exécution d’une application.
Schéma d’une carte mère d’ordinateur
Schéma d’une carte mère de téléphone
Le bus : est un ensemble de fils électriques interconnectant les différents composants.
1 byte équivaut à 8 bits.
On appelle généralement « taille d’un mot » le nombre de bits utilisés par un ordinateur pour stocker un entier.
Représentation de l’information
Analogique
Les valeurs ne sont pas séparées par des sauts : entre deux valeurs A et B il existe un nombre infini d’autres valeurs.
Digitale (numérique)
Une valeur est représentée par une chaîne finie de symboles appelés digits.
Il est impossible de représenter digitalement tous les nombres existants entre deux points d’une échelle analogique.
La base 2 est facile à stocker, à l’aide d’éléments électroniques bistables, et sa transmission est fiable, même sur des environnements bruyants et imprécis.
Pour minimiser l’erreur on peut incrémenter le nombre de bits utilisé pour représenter l’information
Exemple
Overflow
Chaque symbole de texte est représenté par une certaine chaîne de bits, un code ASCII. Ce code utilise 7 bits pour représenter tous les caractères de l’anglais.
Représentation des nombres entiers et réels
Les nombres signées utilisent une notation sur des écritures de nombres de longueur donnée (nombres écrits couramment sur 8,16, 32 ou 64 bits).
On utilise le bit de poids fort (bit le plus à gauche) du nombre pour représenter son signe (positif ou négatif, le zéro étant considéré comme positif)
Plusieurs représentations sont possibles :
Le complément à deux d’un nombre est égal à l’inverse du nombre plus
Par exemple : le complément à deux de 0101 est (1010 +1) = 1011.
Un nombre négatif est le complément à deux du même nombre positif. Le bit de poids fort d’un nombre négatif est égal à 1.
Exemple avec n=4 :
3= 0011 et -3=1101
Attention à l’overflow
8 = impossible car dépassement de capacité
Les opérations d’addition et de soustraction sont simplifiés en complément à deux :
Détection de dépassements : fanions
C-Carry
Indique la présence d’une retenue en sortie. Utile dans la détection des opérations non-signés.
V-Overflow
Indique une incohérence dans le résultat d’une addition avec des valeurs signées.
Si nous avons deux entiers signés, x et y, en format complément à 2 sur n bits, leur addition présente 3 cas :
Les entiers sur ordinateurs : Short : minimum 16 bits
Int : dépend du compilateur et de l’architecture, souvent 32 bits.
Long : dépend du compilateur et de l’architecture parfois 32 ou 64 bits.
Long long : minimum 64 bits
Parfois il faut adapter le cast :
Long long a;
Int b;
a = (long long) b ; //changement du type int vers long long.
Extension de signe :
Si l’on veut passer un entier signé x d’un format n bits vers un format n+k bits, en gardant la même valeur, il suffit de faire une extension de signe : le bit de signe est répété sur les nouveaux k bits de poids fort.
Le codage sur un nombre n de bits, fixe, implique un nombre fini de valeurs :
Les calculs sont nécessairement arrondis.
Il y a des erreurs d’arrondi et de précision.
Algèbre Booléenne et Systèmes Combinatoires
Système logique : C’est un système qui traite l’information de façon digitale. On utilise la table de vérité pour formaliser le comportement d’un système combinatoire :
Les expressions formelles utilisés pour décrire les circuits binaires sont des équations booléennes.
Les opérateurs booléens représentent des portes logiques.
Système combinatoire :
La valeur des sorties à un moment donné dépend uniquement des valeurs des entrées à cet instant.
Le comportement est entièrement décrit par une table, la table de vérité, où pour chaque combinaison des entrées on donne la valeur des sorties.
Pour n entrées, la table de vérité comporte
La sortie est immédiate.
Système séquentiel
La valeur des sorties dépend de l’histoire des entrées, de leur séquence dans le temps.
L’obtention d’un résultat peut demander plusieurs étapes.
Le système doit se rappeler des résultats intermédiaires : il faut une mémoire.
Additionneur combinatoire
Additionneur séquentiel
Fonctions logiques de base
Les fonctions ET, OU et OU-EXCLUSIF à plus de 2 entrées peuvent être réalisées à l’aide des fonctions correspondantes à 2 entrées seulement.
3 formes :
–Parallèle (non décomposée)
–Décomposition pyramidale
–Décomposition en cascade.
Nous pouvons décrire tout système combinatoire, quel que soit son nombre d’entrées, avec seulement les 3 fonctions de base :
Inversion
ET à 2 entrées
OU à 2 entrées
Un opérateur est complet lorsqu’il permet la réalisation des trois fonctions logiques de base (NON, ET, OU)
Logique inversée :
La technologie CMOS se base sur une logique inverse
Les propriétés de l’algèbre de Boole
Expression algébrique
–Monôme : est un produit logique de n variables, vraies ou inversées
–Polynôme : est une somme logique de plusieurs monômes
–Minterme : de n variables est un monôme possédant les n variables, sous forme vraie ou inversée. Il existe un minterme par état d’entrée d’une fonction combinatoire (ou ligne de la table de vérité)
Forme canonique algébrique
Toute fonction logique combinatoire peut-être exprimée comme une somme de mintermes, ceux où la fonction est égale à 1 : c’est la forme canonique algébrique, unique pour une fonction donnée.
Toute fonction logique peut être exprimée sous la forme d’un polynôme et réalisée à l’aide des portes NON, ET et OU.
La représentation graphique d’une telle réalisation est un logigramme.
Si chaque minteme est remplacé par la valeur décimale correspondante à la combinaison binaire de ses variables (1 si la variable est vraie et 0 si elle est inversée), on obtient la forme canonique décimale d’une fonction logique combinatoire. Dans ce cas, il est impératif de préciser l’ordre et le nombre de variables.
Exemple de synthèse
–Fonction majorité :
La sortie vaut 1 si une majorité des entrées possède la valeur 1
–Table de vérité pour la majorité de 3 variables :