|
Rubriques
connexes
|
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||
PAGE
EN
CONSTRUCTION
Registres
On appelle
registres les supports matériels dans lesquels on enregistre
plus ou moins provisoirement des données binaires.
Les "mémoires" sont des ensembles ordonnés
de registres.
La principale
caractéristique des registres est leur taille en bits.
Les unités centrales possèdent un nombre limité de registres
internes
de diverses tailles adaptées aux formats des données
qu'ils sont, chacun d'eux, appelés à traiter.
Généralement, des tailles multiples de 8 ou de 16 bits.
Dans la suite, pour des raisons de clarté des
desins et de l'exposé,
je donnerai des exemples pour des registres à 8 bits seulement.
Les explications sont aisément généralisables à
un nb. qqe de bits.
Langage machine & Assembleur
Le programme
dans lequel l'UC prend ses instructions
est consitué de codes binaires en mémoire. Ex 110001102
C'est le "langage machine" car il n'est facilement compréhensible
que par l'UC.
Il est clair qu'un programmeur aura du mal à écrire un programme
avec de tels codes.
Une expression hexadécimale serait plus claire.
Ex : 110001102 = A616
Mais c'est encore peu "parlant".
Pour rendre le code plus clair à écrire et à lire,
on substitue à ces codes numériques des codes mnémoniques
( ce qui signifie "symboles plus faciles à retenir" )
décrivant plus clairement leurs fonctions.
Par exemple : ADD pour "addition",
SUB (
substract ) pour "soustraction", MUL pour "multiplication",
etc.
Le langage utilisant ces
codes s'appelle "langage assembleur".
Un programme écrit en assembleur est ensuite traduit en codes machine
binaires
par un utilitaire de traduction également appelé "assembleur".
Ces codes sont ensuite chargés en mémoire-programme
par un utilitaire chargeur (
loader).
Des langages plus puissants ont été inventés pour
programmer les UC
tels que "Fortran", "Pascal", "C", "Java"
etc.
Mais l'assembleur reste incontournable pour des procédures
ou très spéciales ou exigeant une grande rapidité d'action.
Notamment en informatique embarquée.
LSB - MSB
LSB : Least Significant Byte (ou bit)
Octet (ou bit) de plus faible poids.MSB : Most Significant Byte (ou bit)
Octet (ou bit) de plus fort poids.
Dans l'héxadécimal 5AB2
5A est le MSB et B2 est le LSB
Dans 01112 MSB=0 et LSB=1
Incrémenter
Signifie
augmenter de "1"
Après la lecture d'un octet de code,
PC augmente de "1" pour pointer sur le code suivant.
On écrit symboliquement cette opération par :
PC
PC+1
(PC recevra l'ancien contenu + 1)
Le contraire est "décrémeter"
PC
PC-1
|
|
Unité Centrale |
|
Que
fait l'Unité Centrale ?
|
|
|
Abréviations
possibles pour désigner l'unité centrale : UC ou
CPU (
|
|
|
L'
Unité Centrale ou "Processeur" est la partie
d'un ordinateur permettant d'effectuer toutes les opérations Les opérations qu'une unité centrale peut exécuter dont de trois ordres (mais nous les verrons plus loin en détail) :
|
|
Schéma
de principe d'une UC
|
||||||||||||||||||||
|
Voici un schéma
de principe très simplifié d'une unité centrale
hypothétique.
|
||||||||||||||||||||
|
||||||||||||||||||||
|
Nous
allons maintenant examiner tout cela en détail...
|
|
Exécution
du programme
|
|
Bien
entendu, l'UC n'a pas l'initiative des opérations qu'elle doit
effectuer... Mémoire
Programme Généralement,
donc, le programme est contenu dans des mémoires externes |
|
Parvenus à ce point, deux questions se posent :
On
peut envisager d'ignorer totalement l'aspect matériel et ne parler
que de logiciel. |
|
Cycle
d'instruction
|
||||||||
|
Précisons d'abord la nature d'une instruction Nous avons déjà dit plus haut que l'unité centrale va "chercher" dans l'espace mémoire externe (ou interne pour certains processeurs) les instructions lui indiquant les opérations qu'elle doit effectuer. Nous
savons maintenant qu'une instruction se présente sous forme
d'un certain nombre de codes binaires en mémoire.
|
||||||||
|
Etapes
du cycle d'instruction |
||||||||
|
Compteur
de programme |
||||||||
|
Lecture
séquentielle des codes en mémoire ( 1
- Point de départ 2 -Phase d'acquisition du premier code L'UC va lire maintenant ce code C4, ce qui signifie qu'il va le copier dans un registre interne que l'on appelle le registre d'instruction IR. Pour ce faire (suivre sur le schéma ci-dessous) :
Fin
de cycle de recherche de code En
effet, l'UC n'a lu que le premier octet de l'instruction. Alors
commencera l'exécution de cette instruction.
|
||||||||
|
Chronogramme de lecture en mémoire
J'ai souvent comparé
sélection et échantillonnage à l'art du commandement
militaire ou sportif : |
||||||||
|
Schéma
type de connexion physique UC - Mémoire |
||||||||
|
On remarquera
que la mémoire est du type RAM, volatile. |
|
Décodage
sélectif d'adresses
|
|
Dans
le schéma ci-dessous, deux mémoires coexistent. Je
traite ce sujet sur une autre page de ce site : ![]() |
|
Multiplexage
Données - Adresses
|
|
Le nombre de broches
hadicape la fabrication des boîtiers et des cartes mères. Une broche nommée
ALE du processeur indique, un très court instant, Passé ce court instant, AD0...AD7 véhiculent les données D0...D7... Le terme "multiplexage"
signifie d'une manière générale |
|
Dans
le schéma ci-dessous vous trouverez une réalisation de
multiplexage adresses-données
grâce au circuit 373 que l'on appelle, fonctionnellement, un verrou ( ![]() J'étudie en détail ce montage autour du 373, sur une autre page de mon site, en : Je rappelle que le décodage sélectif d'adresses mettant en jeu le décodeur 138 est étudié en |
|
Rubriques
connexes
|
||||||||||||||||||||||||||
|
|
|
Titre
|
|
|
|
|
Titre
|
|
|
|
|
Titre
|
|
|
|