Comprendre les bases du numérique
Page 1. Comprendre les fondamentaux du numériquePage 2. Calcul, comparaison, décisionPage 3. Système de numérotation décimalePage 4. Système de numérotation binairePage 5. Analogique. Numérique. MémorisationsPage 6. Système numérotation HexadécimalePage 7. Bus de données, d'adresses, de contrôlePage 8. Types de mémoires numériquesPage 9. Mémoires ordinateurs. RAM.ROM.PROM. EPROMPage 10. UAL. Unité Arithmétique et LogiquePage 11. Circuits logiques combinatoirePage 12. Logiques combinatoire et séquentiellePage 13. Asynchrone et Synchrone. Caractère et tramePage 14. Calculateur pédagogique cartes électroniques.Page 15. Carte d'entrées et de sortiesPage 16. Carte horloge. Registre à décalage. Bascules D Page 17. Langage machine du calculateur. Instructions Page 18. Déroulement d'une instruction. Micro-séquencePage 19. Fonctionnalités des 8 micro-séquencesPage 20. Programme assembleurPage 21. Programme en langage évolué
Page 1
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
L'informatique est partout.
Quelques exemples suffisent à montrer la généralisation de l'informatique dans nos activités : Bureautique et Internet, vidéosurveillance, banque en ligne, etc.
Un système informatisé est constitué de :
- un (ou des) ordinateur(s),
- des logiciels de fonctionnalités différentes,
- un réseau informatique pour relier les éléments du système,
Le réseau informatique peut être public ou privé, limité à l'espace d'habitation, mondial, communal, etc.
- des espaces de stockage temporaires ou permanents de l'information,
- des interfaces de capture, de lecture de l'information,
- des interfaces d'affichage (écrans),
- des interfaces d'action (Clavier, souris),
1- L'intelligence artificielle (IA) n'est pas une spécialité de l'informatique
2- Bureautique : l'informatique limitée au bureau, en milieu professionnel
3- Informatique : Traitement de l'information par des programmes exécutés sur des ordinateurs, des robots, etc.
4- Un téléphone portable n'est pas de l'informatique
Définition académique
L'informatique est le traitement de l'information par des programmes exécutés sur des ordinateurs, des robots, etc.
L'information est analysée, traitée, mémorisée, synthétisée, pour être affichée et mise à disposition des utilisateurs pour consultation ou modification.
Au sens commun
L' informatique est tout ce qui touche de près ou de loin aux :
- ordinateurs et autres matériels fonctionnant avec des programmes,
- matériels et logiciels de connexion,
- écritures de logiciels,
- aux configurations et utilisations des logiciels et de leurs applications,
- etc.
La phrase Elle travaille dans l'informatique ne veut rien dire.
Question : Elle fait quoi ?
Elle peut aussi bien être ingénieure de maintenance de robots, commerciale dans un magasin d'informatique, qu'analyse de données internet, et être classée informaticienne.
Bureautique
Initialement la bureautique définissait les activités de bureau principalement liées au traitement de texte, à la comptabilité (tableurs), à la messagerie.
La bureautique, toujours au centre des activités au bureau, a migré vers l'espace privé (nos ordinateurs et smartphones personnels), et a inclus la navigation sur Internet et les réseaux sociaux.
Intelligence Artificielle (IA)
L'intelligence artificielle est le traitement informatisé de masses importantes d'informations pour en déduire les informations pertinentes.
Ces informations accroissent automatiquement la base informatisée de connaissances.
Elles sont aussi utilisées pour améliorer le logiciel moteur de recherche en terme de règles fonctionnelles de recherche et de déductions.
En ce sens la finalité de l'IA est de faire simuler l'intelligence humaine par des ordinateurs.
Téléphone portable Smartphone
Un téléphone portable est un petit ordinateur bourré d'informatique.
Il peut s'utiliser en tant que tel, ou en interface connecté à des réseaux externes, le réseau téléphonique, le réseau internet, etc.
De par ses utilisations et ses éléments fonctionnels, un Smartphone présente toutes les caractéristiques de l'informatique.
Éléments matériels :
- Un microprocesseur central, des mémoires, etc,
- Des interfaces d'entrée et de sortie de l'information,
(Écran, clavier, capteurs divers, etc.)
- Des interfaces de connexion.
Éléments logiciels :
Un logiciel système d'exploitation.
Logiciel de base exploité par le microprocesseur central.
- Android : Système d'exploitation Google. Majorité des smartphones et tablettes.
- IOS : Système d'exploitation d'Apple. Iphone et iPad.
- Autres : BlackBerry OS, Symbian OS (Nokia), etc.
Des logiciels applicatifs
Ces logiciels sont natifs, livrés avec le smartphone, ou à installer à partir d'un magasin, un Store, virtuel.
Page 2
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Calculs
Au sens des calculs effectués par une calculette, ou par un logiciel de comptabilité pour établir une feuille de paye, ou par un supercalculateur météorologique pour définir et paramétrer les éléments utilisés par ses logiciels de prévision.
Comparaison
Les programmes informatiques passent leurs vies à faire des comparaisons.
Les personnes de plus de 60 ans et moins de 70, de sexe féminin, avec des cheveux verts, etc, sont à prospecter ...
Décision
Les instructions de décision de types Si xxx = yyy alors faire zzz , Si xxx > yyy alors faire zzz , sont monnaies courantes dans les programmes d'ordinateurs.
1- Seuls les programmes d'ordinateurs qui réalisent les fonctions calculettes calculent
2- Dans les programmes d'ordinateurs, les instructions de calcul sont souvent suivies par des instructions de décision
3- Les instructions des programmes d'ordinateurs, comme les programmes, sont généralement en français
Sauf machines spécialisées, calculettes ou gros ordinateurs scientifiques, le gros du travail des ordinateurs n'est pas de résoudre des équations mathématiques complexes.
Le travail habituel d'un ordinateur est effectuer des calculs de base et de réaliser des opérations logiques simples : >, >, =, ...
Exemple : Jusqu'à quand incrémenter une valeur (A=A+1) avant de sortir d'une boucle programme.
Page 3
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Système de numérotation décimale
Seules les boules placées proches de la ligne de référence du boulier sont à considérer.
Le nombre représenté est 37 925.
1- Tous les chiffres du nombre 37925 sont des unités
2- Dans 37925 la colonne de plus grande valeur, de plus grand poids a le chiffre 3
3- Le nombre du boulier a zéro dizaine et sept unités
4- Un boulier est un instrument de calcul périmé qui ne s'utilise plus
37925
Dans ce nombre, les chiffres ont des valeurs différentes suivant leurs colonnes : 5 unités, 2 dizaines, 9 centaines, 7 milliers, 3 dizaines de milliers.
Dans le système décimal les colonnes, de droite à gauche, sont celles :
- des Unités
- des Dizaines,
- des Centaines,
- etc.
La Valeur de la colonne est multipliée par 10 de droite à gauche.
Le chiffre situé dans la colonne la plus à gauche a le plus fort poids (plus grande valeur).
Dans 37925 :
- 3 le chiffre situé à gauche, a le plus grand poids.
- 5, chiffre de la colonne des unités, a le poids le plus faible.
Boulier
Le boulier chinois est un instrument de calcul basé sur le système de numérotation décimale.
La valeur des colonnes est multipliée par dix de droite à gauche.
Le boulier, instrument de calcul périmé ? Pas du tout !
Pour un utilisateur entraîné les calculs au boulier sont plus rapides que les calculs à la calculette électronique.
Beaucoup de commerçants d'Asie n'utilisent que le boulier pour leurs calculs (Ou utilisent une calculatrice, puis vérifient le résultat avec leur boulier).
Effectuer une recherche « Boulier » pour trouver des vidéos sur Internet.
(Cela donne envie d'acheter un boulier ... pour se décontracter !)
Le nombre représenté sur le boulier est 6 302 715 408.
Système décimal
- Comme son nom l'indique, système de numérotation de base 10.
- La valeur du chiffre de chaque colonne est multipliée par 10 de droite à gauche.
- Le nombre se lit de gauche à droite et le chiffre situé à gauche à la plus grande valeur.
- Chaque colonne a un nom.
De droite à gauche :
Unité,
Dizaine (= chiffre x 10 unités)
Centaine (= chiffre x 100 unités)
Millier (= chiffre x 1000 unités)
Dizaine de milliers (= chiffre x 10 000 unités)
etc.
Page 4
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Système de numérotation binaire
Dans le système binaire :
- Chaque chiffre d'un nombre ne peut prendre que deux valeurs, 0 ou 1, d'où le nom binaire.
- Chaque chiffre s'appelle un bit (De l'anglais Binary digit).
- Les composants électroniques des machines informatiques
(ordinateurs, robots, smartphones, etc.), utilisent le système binaire.
Les calculs, les micro-instructions et instructions, la mémorisation, les transferts entre composants, se font en binaire.
Pas de panique, l'ordinateur formate le binaire pour le rendre accessible aux humains.
1- Dans un ordinateur 64 bits chaque bit peut prendre 64 valeurs
2- Dans le nombre binaire 0110 1111 0101 0000 il y a 16 bits
3- Pas de numérique dans le message du testeur de cartes électroniques : Erreur. Sortie du composant à 1
4- De nos jours les bugs en informatique sont surtout dus à des erreurs matérielles
Binaire
Un bit, un élément binaire, ne peut prendre que 2 valeurs, 0 ou 1.
1 bit = valeur 0 ou 1
Dans le nombre binaire 0110 1111 0101 0000 il y a 16 bits
(4 groupes de 4 bits)
Valeur logique et voltage
Comme nous le verrons dans les pages suivantes, les valeurs logiques 0 et 1 correspondent à des tensions.
0v ou 5v par exemple.
Bug
Bogue en français.
Les insectes (les bugs anglais) étaient la cause de dysfonctionnements lorsqu'ils s'aventuraient dans les premiers ordinateurs.
De nos jours, les bugs sont le plus souvent des dysfonctionnements dus à des erreurs dans les programmes informatiques.
Page 5
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Analogique. Numérique. Mémorisations
L'analogique correspond à des variations de valeurs, le numérique à des séries de bits 0 ou 1.
1- Tête de linotte et Mémoire d'éléphant font référence à la taille mémoire
2- Seul le numérique peut être mémorisé. L'analogique doit être transformé en bits pour pouvoir être mémorisé
3- L'analogique peut être numérisé et le numérique peut être transformé en analogique
4- La mémoire d'un cerveau humaine n'est qu'une mémoire numérique de très grande capacité
Expressions
Tête de linotte fait référence à l'insouciance, l'inattention et l'imprudence de l'oiseau qui construit son nid n'importe où, et non pas à sa mémoire.
Une Mémoire d'éléphant, pour une personne qui a une bonne mémoire. Mais pas forcément une grande capacité de mémorisation.
Mémoires numériques
Le point mémoire, l'élément binaire, des mémoires numériques classiques ne peut prendre que les valeurs 0 ou 1.
Une carte perforée (où chaque bit est troué ou non suivant sa valeur), est un exemple ancien de mémorisation binaire.
Mémorisations
L'analogique comme le numérique peuvent être mémorisés.
La mémorisation se fera :
- en digital, si le média de stockage accepte les séries de bits à mémoriser,
- en analogique, si le média de stockage accepte le signal analogique à mémoriser.
Note :
Les bandes magnétiques peuvent aussi bien enregistrer de l'analogique que du numérique.
CODEC
Un codeur/décodeur est un composant électronique qui :
- échantillonne et code un signal analogique pour le transformer en numérique.
Le signal numérisé peut être ensuite traité et stocké dans une mémoire digitale.
- restitue en analogique le signal numérisé.
Le signal analogique peut être transformé en élément physique, vibration de l'air pour être perçue par l'oreille, par exemple.
Mémoire humaine
Toute analogie globale entre la mémoire du cerveau et la mémoire, numérique ou digitale d'un ordinateur est simpliste et, au minimum, trompeuse.
Il ne s'agit pas tant de capacité de stockage que de différences fonctionnelles de systèmes de mémorisation.
Peut-on dire que le mode de mémorisation du cerveau est plutôt digital ? analogique ?, les deux ? ou autres ?
La mémoire humaine :
- est stockée dans les lobes du cerveau suivant les types de mémoires,
- dans la couche externe du cerveau ; le cortex,
- nombre de neurones dans le cerveau : 100 000 milliards, selon l'age et les individus.
- les synapses sont les zones de contact entre neurones.
- communication entre neurones : un potentiel d'action de très faible tension arrive de l'axone du neurone source, charge la synapse, et déclenche l'émission de neurotransmetteurs vers le neurone destination,
- analogie entre une synapse et un point mémoire SRAM ou SDRAM ...
SRAM, SDRAM : page 9 explication.
- agir sur la mémoire (apprendre/oublier), revient à modifier et entretenir les interconnexions entre neurones, ajouter ou supprimer des synapses, etc.
Mémoire quantique
Le sujet dépasse l'objet de « Comprendre le numérique ».
Page 6
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Système de numérotation Hexadécimale
Le système de numérotation hexadécimale transcrit en symboles des groupes de 4 bits.
4 bits = 16 symboles hexadécimaux :
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
L'hexadécimal est un système de numérotation en base 16.
La transcription du binaire en hexadécimal rend la lecture du numérique plus accessible aux humains.
1- Figure : L'instruction bgcolor=#F6241A affiche un fond d'écran vert
2- Le nombre binaire 0000 0111 1100 1110 donne 08CF en hexadécimal
3- 8 hexadécimal = 8 décimal = 1000 en binaire. F en hexadécimal vaut 1111 en binaire et 15 en décimal
4- Pour trouver la valeur hexadécimale d'un nombre décimal il faut le diviser successivement par 4
Couleurs
Les instructions de couleurs peuvent être spécifiées avec des mots :
background-color:white; background-color:yellow; etc.
Pour une teinte spécifique on est obligé d'utiliser l'hexadécimal.
Exemple : color: #555;
Les nuanciers en ligne permettent de trouver la valeur hexadécimale d'une couleur spécifique.
Hexadécimal
Se rappeler :
- Le codage hexadécimal se fait par groupes de 4 bits.
Poids binaire de chaque colonne :
- - - X = 1
- - X - = 2
- X - - = 4
X - - - = 8
Ainsi 1000 vaut 8 en hexadécimal.
- de 10 à 15, les symboles hexadécimaux sont A, B, C, D, E, F
En binaire 1 0 1 0 = 10 en décimal, A en hexadécimal.
Décimal à Hexadécimal
Diviser successivement le nombre décimal par 16.
Couleurs
- Faire une recherche Internet palette de couleurs et sélectionner un des nuanciers gratuits.
- Le déplacement de la souris dans le sélecteur affiche la valeur hexadécimale des couleurs.
Exercice :
Trouver la couleur relative à #555, à #E6E6FA
Valeur hexadécimale d'un nombre binaire
Exercices :
- Transcrire 0000 0111 1100 1110 en hexadécimal.
Vous ne trouverez pas la valeur en hexadécimal 08CF proposée dans la page question.
- Quelle est la valeur décimale de C hexadécimal ?
Valeur hexadécimale d'un nombre décimal
Exercice :
En complément aux exemples de la figure, transformer le nombre décimal 2541 en hexadécimal.
Note : (Voir figure)
- En hexadécimal le poids de chaque colonne est multiplié par 16 de droite à gauche :
... , 4096, 256, 16, 1
- Par 10 en décimal :
... , 1000, 100, 10, 1
- Par 2 en binaire :
... , 128, 64, 32, 16, 8, 4, 2, 1
Page 7
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Bus informatique
En informatique, un bus :
- est une voie de communication entre appareils et composants numériques,
- une voie plus ou moins large selon les cas (... , 32bits, 64bits, 128bits, ...)
Sur un bus dit parallèle, chaque bit du nombre est transmis sur un fil.
- des portes logiques d'entrée et de sortie relient les zones fonctionnelles au bus,
- les ouvertures des portes sont synchronisées par des signaux de micro-commandes et des signaux d'horloge.
Signaux d'horloge pour la synchronisation correcte du transfert :
L'ouverture de la porte destination doit se faire après l'ouverture de la porte source et avant la fermeture de la porte source.
Dans la figure ci-dessous :
- H, impulsion de synchronisation provient de l'horloge.
- C, commande d'ouverture provient de la mémoire de micro-séquences,
organe coordinateur central de l'ordinateur.
- Reg, Registres,
- P3e, Portes 3 états.
Note :
Pour qu'une porte s'ouvre au bus, il faut à la fois un ordre d'ouverture C et une impulsion de synchronisation H.
1- Il est possible d'avoir 2 composants E/S, portes de sortie ouvertes en même temps sur le bus
2- Les impulsions d'horloge proviennent d'horloges différentes (Une par grande fonction)
3- Une porte E/S s'ouvre si elle a reçu une commande d'ouverture et une impulsion d'horloge dans les temps impartis
4- Les bus sont limités aux cartes électroniques (pas de bus à l'intérieur des circuits intégrés)
Bus informatique
Dans l'environnement informatique un bus est une liaison.
Les éléments reliés peuvent être :
- des fonctions à l'intérieur d'un circuits intégré,
- des composants sur une carte électronique,
- des matériels reliés à la carte mère de l'ordinateur,
- des matériels externes à l'ordinateur (Imprimantes, ... ).
Ouverture des portes E/S
Pour une transmission correcte, il faut que l'information mise sur le bus par la source soit lue au bon moment par la destination.
Tous les composants reliés au bus doivent être synchronisés par une même horloge centrale.
2 composants E/S sources ouverts
Conflit entre les portes de sortie de ces deux composants ouverts en même temps sur le bus
(Aucun des deux ne peut imposer ses bits)
= dysfonctionnement du bus
Note :
Les 0 et 1 correspondent dans le matériel à des tensions différentes.
Portes Entrée/Sortie
Ces portes logiques peuvent être :
- dans des composants dédiés,
- la fonction d'E/S d'un composant intégré plus global : mémoire, circuit intégré d'unité centrale (microprocesseur), etc.
Le nombre de portes d'entrée, et le nombre de portes de sortie, sont identiques au nombre de fils du bus.
Portes 3 états
Les portes logiques E/S sont dites Trois états.
Chaque fil de connexion/bit peut prendre la valeur :
- 0 ou 1 (comme pour tous les types de portes logiques),
- un état « Forte impédance » lorsque la porte est fermée.
La forte impédance isole les ports du composant de ce qui se passe sur le bus.
Le composant ne charge pas le bus, il n'a pas d'effet sur les bits qui y circulent.
Ouverture des portes E/S
Pour une transmission correcte source - destination :
- les informations sont brièvement mises sur le bus par le composant source,
- le composant destination doit avoir lu l'information avant qu'il ne soit trop tard,
Il faut :
- que les bons composants soient ouverts,
- qu'il y ait une synchronisation d'ouvertures du composant source et du composant destination par des signaux d'horloge arrivant aux moments opportuns.
Les impulsions de synchronisation doivent être les mêmes sur tous les composants reliés à un même bus : une seule horloge centrale.
Note :
Le cadencement des signaux est vu dans les pages suivantes :
- Carte Horloge,
- Carte micro-code.
Page 8
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Types de mémoires numériques
Deux grandes familles de mémoires :
ROM : Read Only Memory
Les mémoires à lecture seule qui ne s'effacent pas lorsque l'alimentation est coupée
ROM, PROM, EEPROM, Flash, ...
RAM : Random Access Memory
Les mémoires vives RAM
SRAM (Statique RAM) et SDRAM (Synchronous Dynamique RAM), ...
Random :
Accès aléatoire, direct, sur n'importe quelles adresses, même non consécutives.
1- Une mémoire morte est bonne pour la poubelle (on ne peut plus la lire)
2- Les mémoires vives conservent l'information même non alimentées
3- Une SRAM, RAM statique, ne peut pas être écrite. Une mémoire flash ne peut être flashée qu'une fois
4- Le type de mémoire, sa capacité, le délais de transfert de l'information, le prix, caractérisent un composant mémoire
Mémoire morte
C'est le nom souvent donné aux mémoires à lecture uniquement ROM, Read Only Memory.
Mémoire vive
Une mémoire vive, à lecture/écriture, est une RAM. Random Access Memory.
Une mémoire vive doit rester alimentée pour conserver l'information.
SRAM statique
Dans les SRAM, RAM statiques, le « statique » est lié au fait qu'il n'y a pas besoin de rafraîchir les bascules électroniques entre les cycles de lecture/écriture.
Les RAM statiques sont bien des RAM accessibles en lecture écriture.
SDRAM
Synchronous Dynamic RAM
Synchronisation avec l'horloge bus.
Dynamic : les condensateurs qui forment les bits ont besoin d'un rafraîchissement cyclique en temps masqués.
Mémoire Flash
Les mémoires flash sont des mémoires ROM effaçables électriquement, très rapidement, et de multiples fois.
Mémoires à lecture uniquement
PROM :
Programmable ROM avec un appareil graveur de PROM qui brûle les diodes désirées.
Figure :
Diode détruite : 5v en sortie si la ligne est sélectionnée.
Diode présente : 0V. La résistance évite un court-circuit.
Diodes : pour éviter les retours venant des autres colonnes
(Remplacer les diodes par des fils pour comprendre)
Valeur du nombre d'adresse 11 :
0 1 0 1 0 1 1 0 soit 56 en hexadécimal.
EPROM
Erasable PROM.
Effaçable par Ultraviolets.
Une fois effacée, une EPROM peut être reprogrammée.
EEPROM
Reprogrammable électriquement.
Mémoire Flash
Les mémoires flash sont des mémoires ROM effaçables électriquement très rapidement.
Les mémoires flash conservent leurs informations :
- même non alimentées (comme les autres ROM),
- tant qu'elles ne sont pas flashées à nouveau.
Les mémoire flash sont idéales pour les appareils photos numériques et autres smartphones.
Mémoire à lecture/écriture
L'élément de base de l'architecture RAM est :
- la bascule électronique à transistors
- le micro-condensateur
SRAM. RAM Statique.
Bit à bascule électronique constituée de 6 transistors.
Les mémoires SRAM sont très rapides.
Utilisées en mémoires cache
DRAM. RAM Dynamique.
Plus simple d'une SRAM = plus grande densité et capacité mémoire.
Le bit est formé d'un micro condensateur, peu encombrant, chargé ou non.
Inconvénient : nécessite un circuit de rafraîchissement.
Les condensateurs se déchargent rapidement et perdent leurs valeurs.
Ils doivent être rafraîchis par de perpétuelles lectures/écritures en temps masqués.
RAM : Random (dans le sens d'accès aléatoire, direct), à n'importe quelle adresse de la mémoire.
Random par opposition aux accès séquentiels à l'information d'une bande magnétique par exemple.
(Il fallait dérouler la bande dans un sens ou l'autre pour lire les informations).
Page 9
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Mémoires d'ordinateurs
Les divers types de mémoires sont utilisés dans un ordinateur en fonctions de leurs caractéristiques techniques et de leurs prix.
Caractéristiques techniques :
- lecture uniquement, lecture-écriture,
- temps d'accès à l'information,
- capacité mémoire.
1- Les registres du processeur sont très rapides mais sont chers et limités en taille mémoire
2- Les mémoires caches sont des SDRAM plus rapides que les SRAM des registres
3- La mémoire centrale est constituée de mémoires ROM pour les programmes et de mémoires Flash pour les données
4- L'extension mémoire virtuelle disque est d'accès plus rapide que le restant de la mémoire disque
Hiérarchie des mémoires
- Registres.
Ils font partie du microprocesseur. Sont très rapides (fonctionnent à la vitesse du processeur).
Mais ils sont chers et en capacité limitée à quelques mots.
- Caches. (Niveau 1 et 2)
Mémoires SRAM (à bascules électroniques).
Mémoires rapides mais chères.
Interfaces entre les registres rapides et la SDRAM beaucoup plus lente de la mémoire centrale.
- Mémoire centrale.
Mémoire vive SDRAM (Un élément binaire =1 mini condensateur).
Moins rapide que les SRAM.
Mais plus de capacité mémoire et beaucoup moins chère.
Mémoire de masse.
- Mémoire d'archivages, de sauvegardes.
(Disques grandes capacités/sécurisés, DVD, bande magnétique, etc.)
SRAM et SDRAM
Ne pas confondre :
- S de SRAM (Statique : les bascules électroniques n'ont pas besoins d'être rafraîchies, elles conservent statiquement leurs valeurs 0 ou 1).
- S de SDRAM. S : Synchronous Dynamic RAM.
Rafraîchissement obligatoire, en temps caché, des mini condensateurs qui forment chaque élément binaire.
SDRAM : Plus dense, plus de capacité, moins rapide et moins chère que la SRAM.
Mémoire virtuelle sur disque
Quand la mémoire dynamique en mémoire centrale n'est plus suffisante, le système d'exploitation réquisitionne une partie de la mémoire disque pour y mettre les données les moins souvent utilisées.
Page 10
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
UAL. Unité Arithmétique et Logique
Une UAL est une des parties fonctionnelles d'une unité centrale d'ordinateurs.
Le mode et l'opération à réaliser conduisent l'UAL à :
- des opérations arithmétiques. Additions, soustractions, etc.
- des opérations logiques. ET, OU, NON, etc ;
- des opérations de comparaison : égal, supérieur, inférieur, etc.
1- L'UAL doit convertir les nombres binaires en décimal pour pouvoir les additionner
2- Figure ci-dessus : L'UAL 8 bits a effectué une opération de comparaison sur les deux opérandes
3- Les UAL sont des interconnexions de portes logiques architecturées pour réaliser diverses opérations
4- Pas d'UAL travaillant sur des mots de 64 bits
D'après les opérandes A et B, et le résultat en sortie, l'UAL 8 bits de la figure question a effectué une addition binaire des 2 opérandes.
Composants UAL
Dans les années 1970, les circuits UAL étaient réalisés en composants discrets.
Exemples : Circuits 74181, UAL 4 bits.
Suivant la largeur de bus, plusieurs circuits UAL étaient combinés.
Les circuits 74181 ne sont plus utilisés, sauf à buts pédagogiques.
De nos jours les UAL sont incorporées dans les microprocesseurs.
Les nombreux avantages de cette incorporation ont signé la fin des UAL en composants spécifiques.
Peu d'entre nous sommes concernés par la conception d'un circuit-intégrés, mais tous les informaticiens doivent comprendre la philosophie globale d'une UAL.
Calculs binaires
L'UAL 8 bits de la figure question a effectué une opération binaire des deux opérandes :
A = 0101 0001
B = 0001 0001
Résultat de l'addition binaire :
0110 0010
Dans une addition binaire :
1 + 1 donne 0, et une retenue est glissée sur le bit de gauche.
Dans l'exemple, il n'y a pas de retenue (Cn+8) à reporter.
A titre de vérifications :
0101 0001 = 81
(Rappel des poids des colonnes binaires : 64, 32, 16, 8, 4,2, 1)
0001 0001 = 17
Résultat :
0110 0010 = 98
(81 + 17 = 98)
Page 11
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Circuits logiques
Les trois opérations logiques de base OU, ET, NON, sont réalisées par des composants appelés portes logiques OU, ET, NON.
Ou :
OU une entrée, OU une autre, OU toutes les entrées vraies, alors la sortie est vraie (égale à 1).
1 sur une des entrées suffit pour avoir la sortie vraie.
ET :
ET toutes les entrées sont vraies alors la sortie est vraie.
Une des entrées à 0 alors la sortie est à 0.
A partir de ces portes logiques de base, découlent des portes logiques à connaître :
- NON-OU (NOR), NON-ET (NAND).
Inversions des valeurs en sortie des portes OU et ET.
(avec une seule entrée, ces portes sont de simples inverseurs)
- XOR. OU-exclusif.
La sortie est vraie (égale à 1), si et seulement si les 2 entrées sont différentes.
- XNOR. NON-OU exclusif
La sortie est vraie si et seulement si les 2 entrées sont identiques.
Aide pour répondre aux questions :
Avant de répondre aux questions, compléter sur une feuille de papier, avec l'aide des définitions ci-dessus, les sorties cachées des portes NAND, NOR, XOR, de la figure ci-dessous.
Questions:
1- Porte ET : si une des entrées = 1, la sortie est vraie
2- Porte NAND : une des entrées = 1, la sortie est vraie
3- Une porte XNOR est l'inverse d'un XOR. XOR : sortie=1 si une des entrées =1 et l'autre différente
4- Porte NOR : Les deux entrées vraies, la sortie est vraie
Porte ET
Il faut les 2 entrées vraies, ( et ), pour avoir la sortie vraie.
Porte OU
Une des entrées vraie suffit, ( ou ), pour avoir la sortie vraie.
Porte Non ET
Il faut les 2 entrées vraies pour avoir la sortie non vraie, égale à 0.
(inverse d'un ET)
Porte Non OU
Une des entrées = 1 --> sortie = 0 (C'est l'inverse d'un OU)
Porte XOR (exclusif Ou)
Entées différentes = sortie vraie.
Porte XNOR (exclusif non ou)
Entrées différentes = sortie non vraie.
(Valeur = 0)
Page 12
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Logiques combinatoire et séquentielle
Les circuits logiques d'un ordinateur sont de deux types.
Circuits combinatoires.
Les sorties des circuits combinatoires ne dépendent que des valeurs d'entrées.
Circuits séquentiels.
Les valeurs logiques des sorties des circuits séquentiels dépendent :
- des valeurs d'entrées,
- des états précédents,
- des impulsions de l'horloge.
Les bascules électroniques sont au coeur des circuits séquentiels.
1- L'algèbre de Boole est liée aux bouliers chinois. Karnaugh est un dolmen de Carnac représenté à Karnak
2- Dans l'exemple 2, la simplification optimale obtenue en regroupant les 1 est : S= (a.c) OU (a.d) OU (a.b.c)
3- Un registre à décalage permet de décaler, de positionner au mieux les circuits logiques
4- Une bascule électronique mémorise la valeur à son entrée en fonction de l'horloge et de son type de fonctionnement
Algèbre de Boole
George Boole a représenté par des formules « booléennes » les éléments de la logique combinatoire.
Exemple:
s = a.b. (c + d)
Sortie s = entrée a ET entrée b ET résultat de (entrée c OU d)
Des règles permettent de simplifier les fonctions booléennes et d'économiser des circuits logiques dans la réalisation physique de ces fonctions.
Table de Karnaugh
Une table de Karnaugh est une méthode graphique de simplification des fonctions de la logique combinatoire.
Le but est d'économiser les portes logiques et d'optimiser le circuit obtenu.
Bascules logiques
La valeur logique mémorisée dans une bascule dépend de la valeur d'entrée, d'une impulsion d'horloge, du type de bascule.
Les bascules utilisées dans ce jeu sont des bascules D qui recopient l'entrée D sur les fronts montants de H, impulsion d'horloge.
Simplification par table de Karnaugh
Méthode et règles :
- développer les équations booléennes de manière à faire disparaître les parenthèses,
- si une barre est sur plusieurs éléments, utiliser le théorème de Morgan.
- mettre des 1 dans les cases correspondantes aux éléments de l'équation,
- regrouper les 1 par puissances de 2 (2, 4, 8), pour obtenir des carrés et des rectangles les plus grands possibles,
- un 1 peut être inclus dans plusieurs regroupements,
- les regroupements en diagonale sont interdits,
- dans l'équation finale, séparer les groupements par des OU (des +).
Théorème de Morgan
Le complément d'un produit est égal à la somme des compléments.
a . b = a + b
Le complément d'une somme est égal au produit des compléments.
a + b = a . b
Registre à décalage
Les bascules sont incorporées dans des registres à décalage pour obtenir des retards, une périodicité plus longue, des décalages d'impulsions, etc.
Note :
La page Horloge du calculateur pédagogique présentée dans les pages suivantes est un exemple d'utilisation d'un registre à décalage.
Karnak
Karnak, situé dans la ville actuelle de Louxor en Égypte, est le plus grand ensemble religieux de l'antiquité.
Ses statues, colonnes, chapelles et temples ont été construits, sur plus de 2000 ans, par les pharaons successifs.
Carnac
Les alignements de plus de 4000 menhirs et de dolmens de Carnac en Bretagne sont répartis sur plus de 4 km2.
Ils ont été élevés vers 4500 ans avant notre ère.
Les explications de ces alignements sont nombreuses : temples et lieux de rassemblements des druides, cultes du zodiac, calendrier agricoles, frontières de passage vers l'au-delà, etc.
Page 13
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Asynchrone/Synchrone. Caractère/Trame
Transmission série
Comparé à un bus parallèle, une transmission série permet de réduire à deux (Transmission et Réception), le nombre de signaux de données à transmettre entre les appareils numériques.
Horloge
Le transmetteur et le receveur doivent échantillonner les bits envoyés et reçus de la même manière.
Leurs horloges doivent être identiques, en périodes et en phases.
Asynchrone
Asynchrone fait référence à l'émission irrégulière sur la ligne série des caractères frappés au clavier.
Pas de signal d'horloges sur une liaison asynchrone.
L'horloge réception est démarrée par un bit de démarrage placé en début de caractère.
Liaison série synchrone
- Les signaux d'horloges sont transmis.
- Les échanges sont structurés en trames.
Synchrone = signaux d'horloge sur la liaison.
Caractères numériques
Les caractères numériques :
- lettres majuscules et minuscules avec ou sans accents,
- chiffres,
- des symboles mathématiques,
- caractères spéciaux de gestion de texte (retour à la ligne, etc.)
Les codes des caractères doivent être identiques (ASCII, ISO,...) dans les logiciels de traitement concernés.
Trames
Les trames sont de longues structures de bits pour la transmission de données nombreuses
Les trames sont échangées sur des liaisons synchrones.
Structure d'une trame :
- longue série de bits délimitée par un drapeau de début et de fin,
- les diverses zones contiennent les paramètres à passer entre les logiciels source et destination concernés,
- une partie de la trame contient les données applicatives.
1- Le codage des caractères numériques n'est plus utilisé et tous les codes se valaient
2- Liaison asynchrone : les échantillonnages source et destination du caractère ne sont pas identiques
3- Les 2 signaux de données et les 2 signaux d'horloges sont transmis sur une liaison synchrone
4- Une liaison série ne se conçoit que sur un câble physique
Codages des caractères numériques
Le codage permet la compréhension des caractères échangés.
Les codes ne sont pas identiques, en nombre de bits de codage et en possibilités de caractères codables.
Pour une compréhension des fichiers échangés contenant des caractères numériques, les logiciels doivent utiliser le même code.
ASCII :
- codage sur 7 bits,
- permet de définir 128 caractères,
- ne permet pas les caractères avec accents.
ISO 8859 :
- codage sur 8 bits,
- permet de définir 256 caractères,
- codage des caractères avec accents et spécificités nationales.
Exemple HTML de définition du code à utiliser :
charset=\ISO-8859-1\
Voir table ISO 8859 sur Internet.
Liaison série
Le support d'une liaison série n'est pas forcément un câble.
Exemple : liaison WIFI.
Horloges. Transmission asynchrone
Même si les signaux d'horloge ne sont pas transmis sur une liaison asynchrone, l'appareil récepteur doit échantillonner le caractère reçu avec une horloge identique à celle d'émission.
L'horloge réception :
- doit être configurée avec la même vitesse que l'horloge émission,
- est démarrée lorsque une transition suffisante, un bit de démarrage est détecté.
- elle est arrêtée lorsque le bit de fin, un retour à l'état repos, est détecté.
Les bits de démarrage et de fin encadrent le caractère numérique.
Note :
Les bits de démarrage et de fin, indispensables dans les transmissions asynchrones, sont des pertes de temps.
Transmission synchrone
- Les horloges sont transmises sur la liaison.
- Pas de perte de synchronisation même si les trames sont longues.
Notes :
Les drapeaux de débuts et de fin de trame représentent une quantité négligeable du total des bits de la trame.
Les drapeaux sont des séries spécifiques de bits
.
Page 14
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Calculateur pédagogique
Matériel
Le calculateur pédagogique est constitué de 6 cartes électroniques.
Les cartes sont interconnectées par un bus.
La carte bus est un socle de 6 connecteurs reliés entre eux par des fils parallèles :
- 8 fils d'adresses,
- 8 fils de données,
- signaux divers (commandes, horloges, etc.), et alimentation.
Logiciel
Le programme du calculateur pédagogique est :
- de faire clignoter des lampes.
- un certain nombre de fois, en fonction du chiffre entré par l'utilisateur sur les boutons de la carte E/S,
- suivant une séquence prédéfinie par l'ingénieur chef de projet.
1- Le micro-code, le programme, et les données, sont en mémoires vives
2- La carte non précisée de l'unité centrale est la carte UAL, Unité Arithmétique et Logique
3- Les signaux d'horloge n'arrivent qu'aux cartes de l'unité centrale
Dans un ordinateur :
- le micro-code est en mémoire morte ou en mémoire morte flash réinscriptible,
- les programmes qui résident en disque sont chargés en mémoire centrale vive pour être exécutés,
- lors des traitements, les variables et les données sont placées en mémoire vive centrale.
Calculateur pédagogique
Le calculateur n'a pas de mémoire de masse.
Son programme est mis en mémoire centrale, et en mémoire morte, pour qu'il ne disparaisse pas à chaque mise hors tension du calculateur.
Les données, que va manipuler le programme lors de son exécution, sont nécessairement en mémoire vive.
Les signaux d'horloge synchronisent les échanges entre toutes les cartes connectées au bus.
Page 15
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Carte d'Entrées/Sorties
Les 8 boutons servent à entrer des octets dans le calculateur.
Chaque bouton peut prendre 2 états :
- ouvert 0,
- fermé 1.
Les 8 LEDs affichent l'octet correspondant à l'état programme en cours.
Le transfert d'un octet de la carte E/S à une autre carte se fait sous conditions :
- des commandes d'ouvertures,
Cs commande source, et Cd commande destination,
(Voir carte microcode)
et
- des impulsions appropriées de l'horloge
L'impulsion d'horloge destination Hd doit arriver dans le temps où l'impulsion d'horloge source Hs est encore active.
(Voir carte Horloge)
1- Plusieurs portes 3 états peuvent être ouvertes simultanément sur le bus
2- Les impulsions d'horloge proviennent d'horloges différentes (Une par grande fonction)
3- Une porte E/S s'ouvre sur le bus si elle a reçu une commande d'ouverture et une impulsion d'horloge
4- Les portes NAND de validation pourraient être remplacées par des portes ET (Commande ET Horloge)
Portes 3 états
Les portes logiques E/S sont dites Trois états.
Chaque fil de connexion/bit peut prendre la valeur :
- 0 ou 1 (comme pour toutes les types de portes logiques),
- un état Forte impédance lorsque la porte est fermée.
Un composant fermé ne charge pas le bus.
Il n'a pas d'effet sur les bits qui y circulent.
Une porte 3 états seulement peut être ouverte par bus :
quelle porte imposerait son potentiel dans le cas contraire ?!.
Ouverture des portes E/S
L'ouverture des portes connectées au bus se fait sur réception :
- d'une commande d'ouverture provenant de la carte microcode,
- de signaux provenant de l'horloge centrale synchronisant les échanges entre les cartes source et destination.
Ces signaux d'horloge sont à destination de toutes les cartes connectées au bus.
Porte NAND (NON ET)
Les validations inversées des portes 3 états conduisent à utiliser une porte NON ET plutôt qu'une porte ET (Commande ET Horloge).
La double inversion résulte en un ET
Voir P11. Circuits logiques, Théorème de Morgan.
Page 16
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Carte horloge
Le registre à décalage de la carte horloge est formé de 3 bascules D.
Les bascules D recopient les valeurs de leurs entrées au front montant de l'horloge.
Un commutateur permet de faire fonctionner la carte horloge, et l'ensemble du calculateur, en modes Automatique, le programme se déroule à son rythme, ou en pas à pas, micro-instruction par micro-instruction.
1- Figure, sortie [1] = Qa ET Qb
2- En mode Pas à Pas, la sortie Qa en [3] repasse à 1 sur le front montant de l'horloge
3- La fréquence des impulsions en sorties de bascules est le tiers de celle de l'horloge
4- Le montage ne permet pas d'obtenir des impulsions [1] et [2] décalées
Sortie [1]
S = Qa ET Qc, (et non S= Qa ET Qb)
Mode Pas à Pas
Le commutateur tourné sur sa position Pas à Pas coupe le lien entre les bascules C et A.
Il faut utiliser le bouton poussoir pour envoyer un 1 sur l'entrée de la bascule A, et initier un nouveau cycle de décalage.
Mode Auto
La sortie inversée de la bascule C passe à 1, arrive sur l'entrée de la bascule A, et initie un nouveau cycle de décalage.
Page 17
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Langage machine du calculateur
Les 8 instructions du calculateur sont :
(En début le code de l'instruction, xx = adresse)
00xx- EMD, adresse
Écrire en mémoire de données à l'adresse indiquée.
01xx- LMD, adresse
Lire la mémoire de données à l'adresse indiquée.
02xx- OAL, X
Réaliser l'Opération Arithmétique et Logique de fonction X
03xx- CST, X
Écrire une constante X dans le registre A de l'UAL
04xx- Saut, X
Saut à l'adresse programme X
05xx- SC,X
Saut conditionnel à l'adresse programme X
06xx- LEX
Lecture Externe (Du mot entré sur les boutons de la carte E/S)
07xx- AFF
Affichage sur les LEDs de la carte E/S
1- Le programme Clignotement des lampes ne peut pas contenir des dizaines d'instructions
2- Le calculateur travaille directement en langage assembleur
3- Les micro-séquences des 8 instructions et le programme sont dans des cartes différentes
4- L'instruction non précisée en [1] de la figure (code 6 ), est un &Saut conditionnel
Langage machine
Un ordinateur :
- fonctionne en système binaire,
- exécute des programmes en langage machine.
Le langage machine (que de 0 et des 1), est spécifique à chaque famille de processeurs.
Le langage machine du calculateur est lui aussi spécifique.
Il a été créé pour une architecture de calculateur et des fonctions simplifiées.
Langage assembleur
Les instructions digitales sont remplacées par des mnémoniques pour être lisibles par les humains.
Transcription du langage machine, plus bas niveau des langages de l'informatique, le langage assembleur nécessite la connaissance des instructions et du matériel.
Micro-séquences
Les micro-séquences des 8 instructions sont mémorisées dans la mémoire de micro-code.
Chaque micro-séquence est une liste de micro-instructions que le calculateur déroule pas à pas pour réaliser l'instruction demandée.
Instructions programme
Le programme, même basé sur un jeu limité de 8 instructions assembleur, peut être long de plusieurs centaines d'instructions.
Le programme du calculateur est mémorisé dans la carte programme.
Carte micro-code
Pour réaliser l'instruction qui lui est demandée :
- la carte pointe la micro-séquence correspondante,
- déroule pas à pas les micro-instructions de la séquence.
A chacune des micro-instructions, des signaux sont générés.
Ces signaux valident les portes concernées par les transferts d'octets et par diverses opérations.
Les signaux :
- Validation source d'octets.
Exemple : Sortie de l'UAL,
- Validation destination d'octets.
Exemple : registre d'entrée de la mémoire de données.
- Saut et Saut conditionnel.
Signaux à destination de la mémoire programme pour l'ouvrir à l'adresse précisée dans l'instruction programme.
- Em. Écriture mémoire.
Valider l'ouverture de la RAM à l'écriture de l'octet présente dans son registre d'entrée.
- +1 programme.
Mémoire programme, passe à l'instruction suivante de ton programme.
- Fin de micro-séquence.
Valider la micro-séquence suivante, le code vient de l'instruction de la carte programme.
Note :
Les signaux source et destination sont codés sur 3 bits dans la mémoire micro-code.
Un décodeur les décode et génère le signal correspondant.
Page 18
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Déroulement d'une instruction
8 instructions = 8 micro-séquences.
Chaque micro-séquence est divisée en micro-instructions qui sont exécutées pas à pas sur réception d'un signal « +1 micro » venant de la carte horloge.
Les signaux émis par une micro-séquence correspondent à la tâche à réaliser par la micro-séquence.
Le passage d'une instruction programme à une autre peut être :
- instruction suivante (sur ordre +1 programme venant du micro-code),
- saut à l'instruction d'adresse précisée (Signal S de l'instruction de Saut),
- aller à l'instruction suivante ou à l'adresse précisée, pour une instruction de saut conditionnel.
Le signal Fin de micro-séquence placé dans la dernière micro-instruction de chaque micro-séquence ouvre le pointeur d'adresse au code opération provenant de la carte programme.
1- Toutes les micro-instructions génèrent des signaux Validation Source et Validation Destination
2- L'écriture en mémoire RAM se fait dès que les signaux S1 et D1 sont émis par la première micro-instruction
3- Une impulsion d'horloge, en plus des signaux S et D, est nécessaire pour effectuer un transfert d'octet
4- S1, D1, H (transfert de l'adresse) puis S2, D2, H (écriture dans le registre d'entrée), suffisent pour écrire en RAM
Source, destination + horloge
Les signaux Source et Destination :
- ne sont émis que par les micro-instructions concernées par un transfert d'octet.
L'octet peut être une donnée ou une adresse.
- ne sont pas suffisants pour valider un transfert.
Une impulsion d'horloge, retardée dans le temps par rapport à S et D, évite les problèmes liés aux variations de temps de transmission des composants électroniques.
L'impulsion permet d'être sûr que les bits de l'octet source sont bien tous présents lors de leurs validations dans le registre destination.
Écriture en Mémoire
Trois étapes :
- écrire l'adresse dans le registre d'adresse,
- écrire l'octet dans le registre d'entrée,
- valider l'écriture en RAM.
Signal Em, écriture mémoire, ouvre le composant RAM.
Page 19
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Fonctionnalités des 8 micro-séquences
Le compteur d'adresse de la carte micro-code déroule une à une les micro-instructions de la séquence.
Le signal Fin stoppe le déroulement chronologique et valide l'adresse de la séquence suivante.
Les figures résument les signaux générés par chaque micro-instruction et leurs actions sur les éléments du calculateur.
1- Toutes les micro-séquences du calculateur ont 4 micro-instructions
2- A un signal de Destination d'une micro-instruction correspond toujours un signal Source
3- Le signal instruction programme suivante; peut être envoyé avant la fin de l'instruction en cours
4- Le registre B peut être chargé à partir d'un composant source externe à l'UAL
Déroulement d'une micro-séquence
Les micro-instructions d'une micro-séquence :
- Commencent par la micro-instruction 0.
- Se terminent par la micro-instruction contenant Fin d'instruction,
Selon les fonctions des actions à réaliser, une micro-séquence est composée de 2 à 4 micro-instructions.
Les micro-instructions sont déroulées une après l'autre sur réception de l'impulsion +1 micro venant de la carte horloge.
Adressage des micro-instructions
L'adresse de début est chargée dans le registre d'adresse par le signal Fin de chaque micro-séquence.
L'adresse chargée :
- est composée du code de l'instruction, venant de la mémoire programme,
- auquel s'ajoutent deux bits externes câblés à 00.
L'adresse de départ d'une LMD, code instruction 0001, est donc :
000100.
Les adresses suvantes, incrémentées par l'impulsion +1 micro de la carte horloge, sont :
000101
000110
000111
Signaux émis par les micro-instructions
Suivant la fonction à réaliser, le codage interne des micro-instructions génère :
- 1 signal Source
(Codage en mémoire sur 3 bits)
- 1 signal Destination
(Codage en mémoire sur 3 bits)
- Divers signaux :
Saut,
Saut Conditionnel,
Em écriture mémoire,
+1 programme (instruction suivante),
Pour gagner du temps, ce signal est envoyé avec la dernière micro-instruction fonctionnelle.
+1P est validée en mémoire programme sur réception de l'impulsion d'horloge suivante.
Fin de micro-séquence .
Ouverture du registre d'adresse micro-code au code opération venant de la carte programme.
Note :
Signal D6. La validation de la sortie de l'UAL dans B se fait sans signal Source : Le résultat de l'UAL (circuits en logique combinatoire), étant toujours présent en sortie de l'UAL.
Exercice LMD
(Lecture en mémoire de données)
Sans se servir de la page question, pour chaque micro-instruction, compléter les signaux masqués.
Carte UAL et instruction OAL,X
OAL : Opérations Arithmétiques et Logiques.
La carte UAL du calculateur utilise 2 composants 74181 UAL 4 bits.
Voir page 10 précédente UAL/Réponse.
Faire une recherche Internet pour la liste détaillée des fonctions.
Les fonctions arithmétiques et logiques peuvent être réalisées :
- sur contenu des registres A et B
- sur un seul des registres.
Exemple : sortie = contenu du registre A
Le registre B de la carte UAL du calculateur ne peut pas être directement chargé à partir d'une autre carte.
Pour le charger, il faut utiliser les instructions programme et procéder en 2 étapes :
1- Charger le registre A,
2- Transférer A dans B,
(Fonction S0,1,2,3 = 0 du 74181. Instruction UAL,0 du calculateur).
Note :
Signal D6, Validation de la sortie de l'UAL dans le registre B se fait sans signal Source : Le résultat de l'UAL (circuits en logique combinatoire), étant toujours présent en sortie de l'UAL.
Le signal D6 valide aussi la bascule COND (Condition vraie)
Exemple : A et B sont identiques --> COND=1.
Page 20
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Programme assembleur
Le programme en langage d'assemblage chargé dans la carte mémoire programme du calculateur est le suivant :
1- Mettre toutes les LEDs de la carte E/S à 1.
2- Mettre toutes les LEDs de la carte E/S à 0.
3- Lire l'octet entré sur les boutons de la carte E/S.
4- Incrémenter l'affichage des LEDs jusqu'au chiffre entré.
5- Éteindre toutes les LEDs de la carte E/S.
Le programme est écrit avec le langage assembleur de la machine.
Chaque instruction est représentée par les noms définis pages précédentes (EMD, LMD, AFF, ...).
1- Les opérations et l'architecture UAL, les instructions Saut et Saut conditionnel, ne sont pas à connaître
2- L'incrémentation d'affichage nécessite des opérations de comparaison
3- Les instructions à utiliser ne sont pas limitées à celles définies pour le calculateur
Le programme à réaliser est court, implique les divers composants du calculateur, et doit utiliser les instructions définies par son langage assembleur.
Comme le montre la petite figure ci-dessous, il est impératif de connaître ce que font les instructions et leurs actions sur les composantes du calculateur pour les utiliser à bon escient.
Incrémentation de l'affichage sur les LEDs de la carte E/S
1- Initialiser la variable Affichage
Adresse en RAM choisie de la variable Affichage : 0
- CST,0 Mettre 0 dans le registre A
- OAL,0 Transfert de A dans B (Mode = 0 = Arithmétique)
- EMD,0 Passer B dans la RAM (Variable Affichage = 0)
2- Boucle de clignotement des LEDs
Adresse programme de départ : 10
(10, tenant compte des instructions précédentes)
Incrémenter la variable Affichage :
- CST,1
- OAL,0 B=1
- LMD,0 lecture de la variable et mise dans le registre A
- OAL,1001 Résultat A+1 mis dans B (Mode = 0 = Arithmétique)
- EMD,0 Transfert de B (Affichage+1), dans la RAM
Comparaison variable Affichage / Valeur des boutons :
- LEX Lecture boutons. Valeurs en A.
- OAL,0001 (Non A ou B). (Mode = 1 = Logique)
Fin de boucle ?:
- SC, 10
Si A et B sont différents, la bascule COND est mise à 1
Faire un autre tour de boucle.
Si A et B sont identiques, COND=0 :
Instruction suivante (+1 programme)
Voir figures résumées, Saut et Saut Conditionnel, page précédente.
Instruction suivante. Sortie de boucle.
- CST,0 Registre A=0
- OAL,0 Transfert A dans B
- AFF Extinction des LEDs
Note :
Le programme ne doit pas être pris au pied de la lettre.
Il est simplifié et donné à titre indicatif.
Page 21
Les modules de formations interactives à accès gratuits « Les bases technologiques du numérique » et le « Calculateur pédagogique virtuel » sont accessibles à partir de la page d'accueil d'Avansteduc.com.
Programme en langage évolué
1- La syntaxe d'écriture et les instructions ne sont pas propres à chaque langage de programmation
2- Le programme présenté est directement exécutable par le calculateur
3- Un langage haut niveau ne nécessite pas la connaissance de l'assembleur, du micro-code, du matériel
Programme en langage évolué
Un langage évolué :
- déconnecte l'écriture du programme de la connaissance des instructions en assembleur, du matériel, de la structure de la mémoire.
- nécessite la connaissance de sa syntaxe et de ses instructions.
- doit être interprété en ligne (automatiquement transformé en langage machine), ou compilé, pour être exécutables.
Un compilateur est un logiciel qui transforme le langage de haut niveau en langage machine.
Note :
De nombreux articles Internet présentent les divers langages disponibles et leurs popularités, leurs avantages et inconvénients, leurs difficultés d'apprentissage et leurs utilisations types.
Ouf !
L'utilisation du calculateur simplifié et l'écriture d'un simple petit programme de clignotement en assembleur montrent la complexité de l'écriture au niveau de l'instruction machine.
L'objectif était : comprendre pour mieux situer le numérique dans son ensemble, les interactions logiciel / matériel, en un mot (mot : système alphabet latin) pour « saisir globalement » les choses.
Programme présenté
Pour que le programme présenté soit exécutable sur le calculateur, il faudrait générer un code machine correspondant au calculateur.
.
Si vous trouvez que la création du logiciel de transformation (du compilateur), demanderait un travail considérable et serait absurde au regard des utilisations pédagogiques de ce calculateur, vous avez globalement compris le digital !
© 2009 Dilingco.com. Version 2019.