STRUCTURE DES ORDINATEURS - isig.ac.cd · PDF fileCaractéristiques du microprocesseur...
Transcript of STRUCTURE DES ORDINATEURS - isig.ac.cd · PDF fileCaractéristiques du microprocesseur...
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
1
INSTITUT SUPERIEUR D’INFORMATIQUE ET DE
GESTION (ISIG/GOMA) RDC
STRUCTURE DES ORDINATEURS 60H (G2 IG) 2009-2010
45H/ THEORIQUES +15H/ PRATIQUES
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
2
PLAN 1. STRUCTURE DE BASE DES ORDINATEURS
1.1. Concept à programmes enregistrés
1.2. Concept opérationnel de base
1.3. Unité fonctionnelle
1.4. De langage machine
1.5. Concept de localisation et adresses dans la mémoire
1.6. Modes d'adressage
1.7. Formats d'instruction
1.8. Exécution d'instruction
2. ETUDE DE CAS
2.1. Caractéristiques du microprocesseur 8085
2.2. Modes d'adressage
2.3. Langage d'assemblage
2.4. Programmation d'entrée-sortie
2.5. Piles
2.6. soubroutines
2.7. Unité de traitement:
2.7.1. Strusture de Bus Internes (Bus simples, Deux bus et Trois Bus)
2.7.2. Exécution des instructions
2.7.3. Commandes de séquençassage d’étapes
3. ARCHITECTURE DE CONTROLE
3.1. Commande câblée
3.2. Méthodes de conception
3.3. Boîtier de commande de multiplicateur
3.4. Commande micro-programmée
3.4.1 Microinstructions
3.4.2 Ordonnancement
3.4.3 Pré-recherche
3.5 Architectures de localisation (pipeline Architectures)
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
3
4. OPERATIONS ARITHMETIQUES DANS L’ORDINATEUR
4.1 Addition et soustraction des nombres binaires positifs et négatifs
4.2 Multiplication des nombres positifs
4.3 Multiplication d'opérandes porteurs de Signe
4.4 Division des nombres entiers (integers)
4.5 Nombres à virgule flottante (floating) et opérations
5. ORGANISATION DE LA MEMOIRE
5.1 Concepts de base
5.2 Les mémoires semi-conducteur; RAM et ROM
5.3 Embrication de mémoire
5.4 Mémoires cache
5.5 Mémoires virtuelles
6. ORGANSATION DE L’ENTRÉE/SORTIE
6.1 Adressage d'entrée-sortie
6.2 Transfert des données
6.3 Synchronisation
6.4 Manipulation d'interruption
6.5 Interfaces d'entrée-sortie
OBJECTIFS
o L’étudiant devra être capable de comprendre le fonctionnement de l’ordinateur tant au
niveau materiel que logiciel;
o Il devra aussi être capable d’apprécier pleinement l’évolution spectaculaire du monde
informatique en l’occurrence l’ordinateur son outil, et ses différents périphériques;
o Donner du goũt au parcours informatique à l’étudiant débutant, l’incitant à se familiariser à
son langage;
o Permettre au bénéficiaire du cours à pouvoir comprendre plus tard les condensés de
certains autres cours qui se rapportent à la technologie de l’ordinateur notamment celui
de Systeme d’Exploitation comparé, Langages de programmation, Réseaux informatiques,
Multimedia etc…
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
4
CHAP 1. STRUCTURE DE BASE DES ORDINATEURS
1.1. Concept à programmes enregistrés (programmes stockés)
La plupart des ordinateurs emploient le concept de stockage de programmes conçu par John Von
Neumann. Dans celui-ci, on stocke des programmes et des données dans un support de stockage
à acces lent (tel qu'un disque dur) et on travaille dessus à partir du support de stockage à accès
rapide et volatile, la mémoire RAM.
Un ordinateur d'architecture de Von Neumann a cinq parts: une unité d'arithmétique-logique, un
boîtier de commande, une mémoire, les dispositifs d'entrée-sortie et un ensemble de bus qui
fournit une circulation de données entre ces pièces.
Un ordinateur d'architecture de von Neumann exécute ou émule l'ordre suivant d’étapes:
1. Chercher la prochaine instruction de la mémoire à l'adresse dans le compteur de programme.
2. Additionnez 1 au compteur de programme.
3. Décoder l'instruction utilisant l’unité de commande.
4. Revenir à l'étape 1.
Très peu d'ordinateurs ont une architecture pure de Von Neumann. La plupart d’ordinateurs
ajoutent une autre étape pour vérifier les interruptions, les événements électroniques qui
pourraient se produire à tout moment.
1.2. Concept opérationnel de base
Historique des ordinateurs
La première machine à calculer mécanique (calculatrice) a été inventée par Pascal en 1642. Vingt
ans après, Monsieur Samuel Morland, développé un dispositif plus compact qui pourrait
multiplier, ajouter, et soustraire. En 1682, Wilhelm Liebnitz a perfectionné une machine qui
pouvait effectuer toutes les opérations de base (addition, soustraction, division, et multiplication),
aussi bien qu'extraire la racine carrée.
Dès 1919, l'électronique arrivait sur scène. Un article par W.H. Eccles et F.W. Jordanie a décrit
un « dispositif à déclenchement » électronique qui pouvait être utilisé pour le compte
automatique. Les ordinateurs numériques modernes utilisent ces circuits, connus sous le nom de
les bascules, pour stocker l'information, effectuent des opérations arithmétiques, et commandent
les ordres de synchronisation dans l'ordinateur.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
5
Sous la pression des besoins militaires dans la deuxième guerre mondiale, en 1944, la Harvard
University a développé un système de calcul connu sous le nom de calculatrice commandée
d'ordre automatique
En attendant, à l'Université de Pennsylvanie, un deuxième système se développait. Ce système,
accomplit en 1946, a été appelé ENIAC (Electronic Numerical Integrator and Computer ou
ordinateur numérique et intégrateur électroniques (en francais)). ENIAC a utilisé 18.000 tubes à
vide dans ses circuits;
En 1950, UNIVAC a été développé. Un dispositif marquant d'UNIVAC vérifiait ses propres résultats
dans chaque étape d'un problème; de ce fait éliminant la nécessité de courir les problèmes plus
d'une fois pour assurer l'exactitude. De nouveaux types de circuits et nouvelles manières
d'accomplir des choses continuent à être développés à une vitesse rapide.
Classifications des ordinateurs Des ordinateurs peuvent être classifiés de beaucoup de différentes manières. Ils peuvent être
classifiés par:
- Le type de technologie qu'ils emploient (mécanique, électromécanique, ou électronique),
- Le but pour lequel ils ont été conçus (but d'usage universel ou spécial),
- Par le type de données qu’ils peuvent manipuler (numérique ou analogique),
- Par le coũt d’achat (de $50 à $10 millions et plus),
- Et même par leur taille physique (des tous petits à ceux de la taille de pièce).
a. Ordinateurs mécaniques
Les ordinateurs mécaniques ou analogiques sont des dispositifs utilisés pour le calcul des
problèmes mathématiques. Ils se forment des composants tels que des intégrateurs, des attirails,
des ressorts, etc. Ces ordinateurs sont analogiques de par leur nature càd utilisent un mode de
représentation de l’information par une valeur physique variante de façon continue.
b. Ordinateurs électromécaniques
Les ordinateurs électromécaniques emploient les composants électriques pour exécuter certains
des calculs et pour augmenter l'exactitude. Puisque les composants électriques sont plus petits
que leurs contre-parties mécaniques, la taille de l'ordinateur est réduite. Les composants
employés pour exécuter les calculs sont des dispositifs tels que les amplificateurs, les
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
6
potentiomètres, etc. Ils sont tous des ordinateurs à but particulier. Ceci signifie qu'ils peuvent
seulement être employés pour un type de travail spécifique.
c. Ordinateurs électroniques
Les premiers traitements mathématiques chez les ordinateurs électroniques ont été résolus en
employant des tensions électriques seulement, par exemple des amplificateurs, addition des
réseaux et intégration des circuits. Ils ont utilisé les transistors qui consomment moins d’énergie.
Ces avancés ont permis de réduire sur la taille et le poids des ordinateurs.
d. Ordinateurs à but particulier (précis)
Un ordinateur à but particulier, comme son nom implique, est conçu pour effectuer une opération
spécifique et satisfait habituellement aux besoins d'un type de problème particulier. Un système si
informatique serait utile dans des prévisions de temps, le cheminement satellite, etc.
e. Ordinateurs polyvalents
Des ordinateurs polyvalents sont conçus pour exécuter une large variété de fonctions et
d'opérations.
f. Ordinateurs analogiques
Tous les ordinateurs analogiques sont les ordinateurs à but particulier. Ils sont conçus pour
mesurer la continuité des conditions électrique et physique, telles que le courant, la tension, la
température, la pression, etc. Notre montre-bracelet (si nondigital); le tachymètre de la voiture;
sont également considérés les ordinateurs analogiques. Le rendement d'un ordinateur analogique
est souvent un ajustement à la commande d'une machine.
Un ordinateur numérique peut traiter des données avec une plus grande exactitude qu'un
ordinateur analogique, mais un ordinateur analogique peut traiter des données plus rapidement
qu'une machine numérique, chez quelques systèmes. Néamoins il existe des ordinateurs qui
combinent les fonctions à la fois, des ordinateurs numériques et analogiques et sont appelés les
calculateurs hybrides.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
7
g. Ordinateurs numériques (digitaux)
Les ordinateurs numériques remplissent des fonctions arithmétique et logique. Nous utilisons
généralement les ordinateurs numériques pour des affaires (business) et le traitement de
données. Exemples:
1. Comptabilité - les ordinateurs sont idéaux pour garder des disques de livre de paie, imprimer
des chèques de règlement, la facturation, et prendre soin de plusieurs autres tâches de
comptabilité dans une organisation.
2. Tenue d'archives - les ordinateurs peuvent enregistrer des informations, l’inventaire du
mobilier et les dossiers du personnel etc…
3. La Science - les applications de recherche et développement sont pour la plus part
numériques.
4. Le traitement de texte - l'application de traitement de texte des ordinateurs est plus
facilitatrice que dactylographier du texte utilisant une machine à écrire.
g.1 Générations des ordinateurs numériques
L'histoire du développement d'ordinateur est souvent mentionnée à la référence aux différentes
générations des dispositifs de calcul ou équipements constitutifs. Chaque génération d'ordinateur
est caractérisée par un développement technologique important qui a fondamentalement changé
la manière dont les ordinateurs fonctionnent, l’idée de toujours penser à la miniaturisation, un
bon prix, un outil plus puissant et des dispositifs plus efficaces et plus fiables.
Première génération - 1940-1956 : TUBES A VIDE
Les premiers ordinateurs ont utilisé des tubes à vide pour des circuits et des tambours
magnétiques pour la mémoire, et étaient souvent énormes, occupant des salles entières. Elles
coutaient cher pour leur utilisation, utilisaient beaucoup d'électricité, produisaient beaucoup de
chaleur ; qui était souvent la cause des défauts de fonctionnement. L'entrée était basée sur les
cartes et la bande perforée et la sortie paraissait sur les listes imprimées.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
8
Deuxième génération - 1956-1963 : TRANSISTORS Les transistors ont remplacé des tubes à vide et déclenchent la deuxième génération des
ordinateurs. Le transistor était de loin supérieur au de tube à vide, permettant aux ordinateurs à
devenir plus petits, plus rapides, attrapables à un bon prix, avec plus de rendement optimum et
plus fiables que leurs prédécesseurs de première génération. Les ordinateurs de seconde
génération se fondaient toujours sur les cartes perforées pour entrer les données (input) et les
listes imprimées pour le rendement (output).
Troisième génération - 1964-1971 : CIRCUITS INTEGRES
Le développement du circuit intégré était le cachet de la troisième génération des ordinateurs.
Des transistors ont été miniaturisés et placés sur des puces de silicone, appelées les semi-
conducteurs, qui ont rigoureusement augmenté la vitesse et l'efficacité des ordinateurs. Au lieu
des cartes perforées et de la liste imprimée, les utilisateurs ont agi l'un sur l'autre avec des
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
9
ordinateurs de troisième génération par des claviers et des moniteurs et se sont connectés par
interface sous un système d'exploitation.
Quatrième génération - 1971-Présent : MICROPROCESSEURS
Le microprocesseur a apporté la quatrième génération d'ordinateurs, comme des milliers de des
circuits intégrés ont été construits sur une puce de silicone simple. La puce Intel 4004, développé
en 1971, a placé tous les composants de l'ordinateur - du processeur central et de la mémoire de
traitement, aux commandes d'entrée-sortie; sur un morceau simple.
Cinquième génération - présent et au-delà : INTELLIGENCE ARTIFFICELLE
Les dispositifs de calcul de la cinquième génération, basés sur l'intelligence artificielle, sont
toujours à l'étude, bien qu'ils y aient quelques applications, telles que la reconnaissance vocale,
qui est employée aujourd'hui. Le but de la cinquième-génération est de développer les dispositifs
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
10
qui répondent à l'entrée de langage naturel, capable de performer une étude et du self-
organization ou organisation personnelle.
g.2 Classification des ordinateurs Ordinateurs géants • Les ordinateurs géants sont les ordinateurs les plus puissants. Ils sont employés pour des
problèmes exigeant des calculs complexes.
• En raison de leur taille et dépenses, les ordinateurs géants sont relativement rares.
• Des ordinateurs géants sont employés par des universités, des organismes gouvernementaux,
et de grandes entreprises.
Ordinateurs centraux • Les ordinateurs centraux peuvent soutenir des centaines ou des milliers d'utilisateurs,
manipulant les quantités massives d'entrée, le rendement, et le stockage.
• Des ordinateurs centraux sont utilisés dans de grands organismes où beaucoup d’utilisateurs
ont besoin de l'accès aux données partagées et aux programmes.
• Des unités centrales sont également utilisées comme serveurs de commerce électronique,
manipulant des transactions au-dessus de l'Internet.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
11
Mini-ordinateurs • Les mini-ordinateurs sont plus petits que les ordinateurs centraux, mais plus grands que des
micro-ordinateurs.
• Les mini-ordinateurs ont habituellement les bornes multiples.
• Des mini-ordinateurs peuvent être utilisés comme serveurs de réseau et serveurs d'Internet.
Micro-ordinateurs, ou PCs (Personal Computers) • Des micro-ordinateurs sont généralement connus comme PCs. Le terme « PC » est appliqué aux
IBM-PCs ou aux ordinateurs compatibles.
• Les ordinateurs de bureau normaux sont le type le plus commun de PC.
• Des ordinateurs de cahier (ordinateur portable) sont employés par les personnes qui ont besoin
de la puissance d'un système de bureau, mais par également la portabilité.
• Les PCs tenus dans la main, manquent de la puissance d'un PC d'ordinateur de bureau ou de
cahier, mais offrent des dispositifs pour les utilisateurs qui ont besoin de fonctions limitées et de
petite taille.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
12
1.3. Unité fonctionnelle
Les systèmes de calculateur numérique se composent de trois unités fonctionnelles distinctes. Ces
unités sont:
o Unité d'entrée
o Unité centrale (Micoprocesseur + mémoire centrale)
o Unité de sortie (rendement)
Ces unités sont reliées les unes aux autres par les câbles électriques pour permettre la
communication entre elles. Ceci est ce qui permet à l'ordinateur de fonctionner comme un
système.
A. Unité d'entrée
Un ordinateur doit recevoir des données et des rapports de programmes pour fonctionner
correctement et pouvoir résoudre des problèmes. La méthode d'alimenter des données et des
programmes à un ordinateur est accomplie par périphérique d'entrée. Les périphériques d'entrée
d'ordinateur indiquent des données depuis source, telle que le clavier, et traduisent ces données
en impulsions électroniques pour le transfert en unité centrale de traitement. Quelques
périphériques d'entrée typiques sont un clavier, une souris, ou un scanneur.
B. Unité Centrale
Le cerveau d'un système informatique est l'unité centrale. L'unité centrale traite des données.
Elle transfère alors un intermédiaire ou un résultat final de l'unité centrale de traitement à un ou
plusieurs appareils de sortie. L'unité centrale se compose d'une unité de commande, d'une
section arithmétique et logique, et d'une section interne de stockage (mémoire
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
13
centrale). Chaque section dans l'unité centrale remplit une fonction spécifique et a un rapport
particulier avec les autres sections.
B.1 Unité de commande ou boîtier de commande
L'unité de commande s’occupe de gérer l’écoulement de données et l’exécution des instructions
d’un programme. Elle maintient également l'ordre dans l'ordinateur. L’unité de commande
contient deux registres importants:
o Le registre d’instruction (RI) qui contient l’instructuction en cours d’exécution (une
instruction comporte plusieurs champs: un champ code-operation et entre 0 et 3 champs-
opérande );
o Le compteur Ordinal (CO) qui contient l’adresse de la prochaine instruction à exécuter
(qu’il faut aller chercher en mémoire). Généralement, les instructions se suivent de
manière sequentielle, il suffit alors d’incrémenter le CO de 1 à chaque cycle du CPU pour
obtenir l’adresse de l’instruction suivante.
L’unité de commande contient aussi un dispositif de décodage des instructions (décodeur) et un
séquenceur de commandes qui active les circuits nécessaires à l’exécution de l’instruction en
cours. Cette unité a besoin des signaux d’une horloge pour enchainer les commandes. Cette
horloge est généralement externe à l’unité. les registres de cette unité ne sont pas accessibles
aux programmeurs.
B.2 Section arithmétique et logique:
La section de calcul ou arithmétique et logique (UAL) contient tous les circuits électroniques qui
realisent effectivement les opérations désirées. Ces opérations sont principalement l’addition, la
soustraction, la multiplication, la division, la négation (inversion des bits), les opérations logiques
(ET, OU, OU exclusif). Les opérandes nécessaires pour ces opérations se trouvent dans des
registres contenus dans cette unité. Ces registres sont accessibles aux programmeurs.
B.3 Section interne de stockage
La section interne de stockage s'appelle parfois stockage primaire, mémoire, mémoire centrale.
La section de stockage atteint quatre objectifs;
- D'abord, des données sont transférées à partir d'un périphérique d'entrée à la zone de
stockage d'entrée où elles demeurent jusqu'à ce que l'ordinateur soit prêt à les traiter.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
14
- En second lieu, une zone de stockage de fonctionnement (mémoire « de zone de travail »)
dans cette section de stockage tient les données étant traitées et les résultats intermédiaires des
opérations d'arithmétique et logique.
- Troisièmement, la section de stockage maintient les résultats de traitement dans la zone de
stockage de sortie. Là, les résultats de traitement peuvent être transférés à un appareil de sortie.
- La quatrième section de stockage, la zone de stockage de programme, contient les rapports
de programme transférés à partir d'un périphérique d'entrée pour traiter les données.
Dans la mémoire, les instructions sont stockées sous forme de code machine. Par exemple, une
instruction d’addition, dans un microprocesseur Intel 8086, est codée: 10000001. Les données
sont stockées selon d’autres codes. Dans le code ASCII (American Sandard Code for Information
Interchange) le caractère y est codé ainsi: 01011001. Chaque caractère du clavier est donc porté
par un ensemble de 8 bits (contitués des 0 et 1).
Parallèlement aux caractères, qui constituent une unité logique d’information, la mémoire centrale
est divisée physiquement en cellules. Chaque cellule correspond à un mot mémoire et possède
une adresse qui lui est propre. Ainsi les cellules peuvent être adressées séparement pour une
opération de lecture ou d’écriture. La longueur d’une mémoire a beaucoup varié d’une machine à
une autre, par exemple 1, 4, 8, 12, 16, 24, 32, 48, 60, 64 bits. A présent les valeurs 32 et 64 se
sont généralisées dans la plupart des ordinateurs. La longueur du mot mémoire est une
caractéristique importante de l’architecture d’un ordinateur et reflète la structure des différents
composants fonctionnels (principalement de l’unité centrale).
Le mot mémoire [word] est l’unité d’information adressable, c’est-à-dire que toute opération de
lecture ou d’écriture porte sur un mot mémoire. A chaque mot mémoire est associé:
o Une adresse (unique) indiquant la position en mémoire;
o Un contenu (instruction ou donnée).
La capacité d’une mémoire s’exprime donc en function du nombre de mots mémoires ainsi que
du nombre de bits par mot.
Un registre est une cellule mémoire ayant une fonction particulière. Dans la mémoire centrale on
trouve deux types de registres, le registre d’adresses qui contient l’adresse d’un mot mémoire et
le registre mot qui contient le contenu d’un mot mémoire. Un registre mot a la même taille qu’un
mot mémoire, alors qu’un registre d’adresse doit permettre d’adresser tous les mots de la
mémoire.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
15
B.4 Fonctionnement de l’ordinateur
L’exécution d’un programme se déroule selon le modèle suivant:
o Le programme et les données sont chargés en mémoire centrale (d’ou le nom de machine
à programme enregistré);
o Les instructuctions du programme sont amenées séquentiellement (une par une) à l’unité
de contrôle qui les analyse et déclenche le traitement approprié en envoyant des signaux à
l’unité arithmetique et logique. Le passage à l’instruction suivante est automatique;
o Le traitement peut nécessiter de faire appel aux unités d’entrées/sorties ou à la mémoire
centrale. Une antemémoire rapide, appelée cache est normalement placée entre le CPU et
la mémoire centrale faisant cette dernière plus rapide que normalement.
. B.5 Unité de sortie
Pendant que des rapports et les données de programme sont reçus dans l'unité centrale d'un
périphérique d'entrée, les résultats des données traitées sont envoyés de cette même unité
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
16
centrale de traitement vers un APPAREIL de SORTIE. Ces résultats sont transférés de la zône de
stockage de sortie vers un dispositif de stockage de masse, telle qu'une unité de disque dur,
disquette, etc…
1.4. Langage Machine Il est le langage de plus bas niveau que l'ordinateur comprend. L'ordinateur convertit tous les
langages de haut niveau, en langage machine avant d'exécuter tous les rapports. Le langage
machine est écrit sous forme binaire qu'un ordinateur peut exécuter directement. Ce langage est
également appelé code machine ou code objet. (par exemple 0010 dans de langage machine est
équivalent à 2 dans la langue humaine)
1.5. Concept d’emplacement dans la mémoire et Adressage Emplacement dans la mémoire La mémoire centrale supporte les données et les programmes qui sont immédiatement accessibles par le microprocesseur. La mémoire est constituée d’une séquence chiffrée des cellules. Chaque cellule supporte un
nombre binaire. La mémoire centrale d’un ordinateur X a 1024 cellules numerotées de 0 a 1023,
un numéro stocké dans une cellule de la mémoire peut soit être une instruction en langage
machine qui est une partie de quelques programmes ou alors des données à être manipulées par
ces programmes là. Les ordinateurs modernes ont des millions cellules dans la mémoire.
Généralement, chaque cellule supporte un nombre binaire de 8 bits.
La mémoire centrale est souvent appellée RAM. Le terme RAM représente « la mémoire à accès
aléatoire » ce concept est souvent utilisé pour désigner la mémoire centrale de l’ordinateur, bien
que la mémoire à accès sélectif ayant un sens plus large. « RAM » se rapporte correctement à
n'importe quel bloc de mémoires qui se compose d'une série de cellules qui peuvent être accédés
« au hasard » -- c'est-à-dire, n'importe quelle cellule peut être accédé à tout moment.
L'unité centrale de traitement est le composant actif d'un ordinateur. Elle exécute des
programmes en répétant “recherche et exécution” en cycle et à plusieurs reprises. Pendant le
cycle “recherche et exécution”, le microprocesseur lit une instruction en langage machine dans
mémoire centrale et exécute la tâche portée par cette instruction.
L'unité centrale de traitement contient plusieurs registres. Chaque registre est une unité de
mémoire qui tient un nombre binaire simple. Un cycle “recherche et exécution” se compose
réellement de plusieurs étapes très simples. Chacune de ces petites étapes se compose d'une
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
17
certaine opération simple, telle que des données mobiles à partir d'un registre à l'autre, stockant
le output de l'UAL dans un registre, ou additionnant 1 à la valeur stockée dans un registre.
L'unité centrale de traitement contient un circuit qui « décide » quoi faire à chaque étape. Ce
circuit principal s'appelle le circuit de commande. Le circuit de commande effectue son travail en
allumant les fils de commande qui sont reliés aux registres et à d'autres composants de
l'ordinateur. Le circuit de commande est simplement un circuit logique. Les fils de commande
sont ses outputs. Ses inputs sont des fils qui diffusent toute l'information nécessaire pour
déterminer quelle action l'unité centrale de traitement devrait prendre.
Adresses mémoire
Un circuit électronique qui peut prendre des valeurs "ON/OFF" commutées, peut représenter un
élément binaire ou un bit d'information. Une classe de tels dispositifs appelés “bascules” peut être
employée pour stocker un bit. Dans la mémoire des ordinateurs de nos jours est habituellement
organisée une séquence des bytes (ou octes [un octet est un groupement de 8 bits]). Chaque
octet dans la mémoire est indiqué par une adresse unique d'entier sans signe (integer), qui peut
être considérée son « nom ». Par exemple: Une rangée des maisons sur une rue avec des
numéros de maisons.
L'unité centrale de traitement (ou tout autre dispositif souhaitant accéder la mémoire ) peut
placer une adresse sur un ensemble de fils reliés à la mémoire (appelé bus d'adresses) dans le
but de soit lire (charger) ou alors écrire (stocker) une information dans la mémoire. Une fois que
l'information a été écrite à un emplacement particulier (adresse) dans la mémoire, elle demeurera
inchangée à moins qu'une suivante écriture ne soit destinée à la même adresse. Sur la figure, les
adresses en binaire et en hexadécimal pour mémoire sont montrées.
Des ordinateurs sont souvent classifiés par combien de bits peuvent être accédés simultanément,
par exemple 16 bits ou 32 bits. Une machine à 16 bits permet habituellement 16 bits pour
l'adresse et une machine à 32 bits permet habituellement des bits à partir de 17 jusqu’à 32 pour
l'adresse.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
18
1.6. Modes d'adressage
Chaque ordinateur a une variété de manières pour que ses instructions fournissent des adresses à
la mémoire d'ordinateur. Les adresses sont nécessaires pour les charges c à d introduisent des
données de la mémoire dans des registres, et pour les stocks c à d sont transférés des données à
partir des registres pour la mémoire. Chacune des manières de calculer une adresse est régi par
le mode d'adressage.
1.7 Formats d’instructions
Il y a quatre types de formats d'instruction qui sont:
- Format d'une adresse:
Ces typse d'instructions fonctionnent dans des machines à une adresse.
Par ex. le microprocesseur 8085.
Exemple : ADD B (B+A - > A)
Pou cet exemple on a un instruction ou opcode (ADD) et un operande (B). B s’ajoute donc au
Registre Accumulateur (A) et retrouvons le resultat de l’adition dans A toujours.
- Format de deux adresses:
Ces types d'instructions fonctionnent dans des machines à deux adresses.
Exemple: ADD X, Y (X + Y - > A)
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
19
- Format de Trois-adresses:
Ces types d'instructions fonctionnent dans des machines à trois adresses.
Exemple: ADD Z, X, Y (X + Y - > Z)
Pour ce cas précis d’espèce, Z est considéré registre accumulateur, X et Y deux opérandes qui
s’additionnent et déversent le résultat dans Z.
- Format de Zéro-adresse: par exemple, instructions de pile (stack en anglais)
Exemple: ADD - > elle prend les deux premiers éléments de la pile (stack), les additionne et
Retourne le résultat toujours dans la mémoire
1.8 Exécution d'instruction
- Toutes les instructions (étapes de programme) sont stockées dans la mémoire.
- Pour lancer un programme; les différentes instructions doivent être lues de la mémoire dans
l'ordre, et être exécutées.
- Le compteur de programme met l'adresse mémoire de 16 bits de l'instruction dans le bus
d'adresses.
- L’unité de commande envoie un signal d’activation de lecture à la mémoire pour atteindre le
contenu de cette dernière.
- L'instruction à 8 bits stockée dans la mémoire est placée dans le bus de données et transférée
au décodeur d'instruction (registre d'instruction).
- L'instruction est décodée et exécutée.
Fig: Fonctionnement général de l’ordinateur
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
20
CHAP 2: ETUDE DE CAS 2.1. Caractéristiques du model Intel 8085. Les 8085: Registres
1) Accumulateur: (A)
2) Registre drapeau (F): comporte 5 drapeaux (sollicite seulement pour les opérations
mathematiques) qui sont:
S- Sign bit ou signe bit (le tout premier bit): il est soit 0 ou 1
Z- zero bit (prend la valeur 1 quand des 8 bits, aucun n’est 0)
AC- Auxillary Carry bit (prend la valeur 1 si s’ajoute 1 au 5e bit du milieu allant de la droite
vers la gauche dans une addition mathématique).
P- parity bit ou bit de parité (prend la valeur 1 le nombre total des bits en 1 est paire)
C- carry bit (prend la valeur 1 si l’addition ne nous amène pas à 9 bits au lieu de 8)
3) 3 paires de registres (B/C, D/E, H/L) avec capacité de 8 bits chacun.
4) Indicateur de pile ou stack pointer (dispatche les l’information dans les registres)
5) Compteur de programme ou Program counter (envoie les adresses pour lecture de
l’information dans la mémoire)
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
21
2.2. Modes d'adressage Les modes d'adressage suivants sont disponibles dans la pratique,
a. Adressage implicite
Dans ce type de mode d'adressage, aucun opérande (registre ou données) n'est spécifié dans
l'instruction. L'opérande est inhérent (joint inséparablement) à l'instruction.
Exemple: CMA (Complement Accumulator ou accumulateur de complément),
b. Adressage immédiat
Dans ce type d'adressage les 8 bits de données sont directement passées comme opérande. La
donnée est immédiatement déplacée vers le registre. Exemple: MVI R1 4
c. Adressage Direct
Dans ce type d'adressage, l'adresse mémoire directe est donnée comme opérande.
Exemple: LDA C500
d. Adressage de registre
Dans ce type d'adressage, les données d'un registre sont passées à un autre registre.
Exemple: MOV B A
Pour ce cas, la donnée de A est passée dans B (B A)
e. Adressage indirect de registre
Dans ce type d'adressage, les données dans la mémoire, dont l'adresse est stockée dans un
registre sont passées à un autre registre.
Exemple: MOV R1 (R2) où R2 contient une adresse et pas la valeur.
f. Adressage Indexé ou répertorié
Dans ce type d'adressage, la constante ou la donnée stockée dans un registre sera
donnée comme un tableau indexé d'un autre registre.
Exemple: MOV R4, A(R3) où A est un tableau et un R3 est une donnée constante.
g. Adressage Basé-index
Quelques machines ont un mode d'adressage en lequel l'adresse mémoire est
calculé en additionnant deux registres. Ce type d'adressage s'appelle
adressage basé-index. Exemple: MOV R1, (R2 + R3), LDA (R1 + R2), etc…
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
22
2.3. Langage d'assemblage
Il est un langage symbolique qui est convertie par un ordinateur en programmes de langage
machine exécutables. Il est connu autrement comme un ensemble d'instructions qu'un
programmeur peut employer pour créer un programme a usage sur un processeur spécifique. Le
langage d'assemblage est traduit en langage machine par un logiciel appelé assembleur.
2.4. Programmation Inpout/Output
Jeu d'instructions 8085
1) Instructions de transfert des données
MOV reg, reg ex. MOV B A
MVI reg 8bits de données (donnée immédiate)
ex. MVI A 32H
LDA 16bits d’adresse
ex. LDA C0 05
Charger l'accumulateur avec le contenu de la cellule spécifique de mémoire portée par l'adresse
16bits
STA 16bits d’adresse
ex. STA C0 05
Stockez le contenu de l'accumulateur dans la cellule spécifique portée par l'adresse 16bits dans la
mémoire
LDAX Rp (Rp= paire de registres)
ex. LDAX B
(Charge l'accumulateur des données contenues dans la cellule de mémoire où
l’adresse de mémoire 16bits est stockée dans BC, la paire de registres)
STAX Rp (Rp = paire de registres)
ex. STAX B
(Stocke le contenu de l'accumulateur dans la cellule de mémoire où l'adresse mémoire 16bits est
stocké dans BC, paire de registres)
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
23
IN portaddr
ex. IN 00
(Lit les données du dispositif d'entrée, 00 représente l'adresse du port d’entrée de données dans
le processeur quand le dispositif est utilisé)
OUT portaddr
ex. OUT 00
(Écrit des données au dispositif d'affichage où 00 représente l'adresse de port de l'affichage)
2) Instructions arithmétiques
- Addition
ADD reg ex. ADD B
[A] <- [A]+[B]
ADI 8bits data (Add Immediate)
ex. ADI 47H
[A] <- [A] + 47H
- Soustraction
SUB reg
ex. SUB
[A] <- [A]-[C]
SUI reg
ex. SUI 5F H
[A] <- [A] - 5F
- Incrément/décroissance
INR reg Incrémente le contenu d'un registre spécifique par reg
ex: INR B
Incrémente le contenu du registre B par 1(AE+1= AF)
DCR reg Décrémente le contenu d'un registre spécifique par reg
ex: DCR D
Décrémente le contenu du registre D par 1 (AF-1= AE)
INX Rp
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
24
Incrémente le contenu d'une paire de registres spécifique par Rp
ex: INX B
Incrémente le contenu de la paire de registres BC par 1
DCX Rp
Décrémente le contenu d'une paire de registres spécifique par Rp
ex: DCX B
Décrémente le contenu de la paire de registres BC par 1
3) Instructions logiques
ORA reg ORI 8bits de donnees ANA reg ANI 8bits de donnees XRA reg XRI 8bits de donnees CMA - Complémente le contenu de l'accumulateur (effectue l’opération NOT)
CMP reg
- Compare le contenu de l'accumulateur à celui du registre spécifié par reg
CPI 8bits de données
- Compare le contenu de l'accumulateur aux données immédiates spécifiquées par les
données 8bit.
4) Instructions de branchement
JMP 16 bits d’adresse [saut sans condition]
L'ordre de programme saute sans condition aucune à une cellule de mémoire défini
par l'adresse memoire de 16bits.
JC 16 bits d’adresses [saut conditionné]
La séquence de programmes saute à une cellule de mémoire définie par les 16bits
d'adresse si la case drapeau “Carry” du registre drapeau porte le bit 1.
JNC 16bits d’adresse [saut conditionné]
La séquence de programmes saute à une cellule de mémoire définie par les 16bits
d'adresse si la case drapeau “carry” du registre drapeau porte le bit 0.
JZ 16bits d’adresses [saut conditionné]
La séquence de programmes saute à une cellule de mémoire définie par les 16bits
d'adresse si la case drapeau “Zéro” du registre drapeau porte le bit 1.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
25
JNZ 16bits d’adresses [saut conditionné]
La séquence de programmes saute à une cellule de mémoire définie par les 16bits
d'adresse si la case drapeau “Zéro” du registre drapeau porte le bit 0.
5) Instructions du système ou de commande numérique
HLT (Halt) ---------------- signifie “Fermer complétement”
NOP (No OPeration) ------- signifie “Attendre”
CF (Close Function) ------- signifie “Fin du Programme”
2.5. Piles (Stacks)
La pile est un secteur de mémoire identifié par le programmeur pour la mémoire temporaire
d'information. La pile est une structure de LIFO. (De type "dernier entré-premier sorti".) La pile
se développe normalement dans l'arrière-plan de la mémoire. En d'autres termes, le
programmeur définit le fond de la pile dans l’idée de réduire la plage d'adresses.
Dans le modèle 8085, la pile est définie en plaçant le registre de SP (Stack Pointer ou Indicateur
de Pile). LXI SP, FFFFH
Ceci place l'indicateur de pile à la cellule FFFFH (fonds de mémoire pour les 8085).
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
26
Sauvegarde de l’information dans la pile
- L'information est sauvée dans la pile par sa POUSSÉE (PUSHing) et est retirée pour de cette pile
par le “POPing it off”.
- Le modèle 8085 fournit deux instructions: POUSH et POP pour stocker l'information dans la pile
et la retirer de là. Ensemble le POUSH et le POP fonctionnent avec des paires de registres
seulement.
L'instruction POUSH
POUSH B (1 Byte d’instruction). Elle inclut les étapes suivantes.
Décrémente SP
Copie le contenu du registre B dans la cellule de mémoire indiqué par le SP
Décrémente SP
Copie le contenu du registre C dans la cellule de mémoire indiqué par le SP
L'instruction POP POP D (1 Byte d’instruction). Elle inclut les étapes suivantes
Copie le contenu de la cellule de mémoire indiqué par le SP pour l’enregistrer dans E
Incrément SP
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
27
Copie le contenu de la cellule de mémoire indiqué par le SP pour l’enregistrer dans D
Incrément SP
Opération de la pile
Pendant le pushing, la pile fonctionne dans un décrement puis s’en suit un modèle de stockage.
L'indicateur de pile est décrémenté d'abord, puis l'information est placée dans la pile.
Pendant le poping, la pile fonctionne dans un usage, apres incrémente alors le modèle.
L'information est retirée du dessus de la pile et puis l'indicateur est incrémenté.
L'indicateur SP pointe toujours le dessus de la pile.
2.6 Soubroutines
Une soubroutine est un groupe d'instructions qui seront employées à plusieurs reprises dans
différents emplacements du programme. Plutôt que répèter les mêmes instructions plusieurs fois,
elles peuvent être groupés dans une soubroutine qu’on appelerait a partir de differents
emplacements.
Dans le langage d'assemblage, une soubroutine peut exister n'importe où dans le code.
Cependant, il est usuel de placer des soubroutines séparément du programme principal.
Le modèle 8085 a deux instructions pour traiter avec les soubroutines.
L'instruction CALL est utilisée comme moyen de réorienter l'exécution du programme
à la soubroutine.
L'insutruction RET est employé pour renvoyer l'exécution au programme d'appel.
L'instruction CALL
CALL 4000H (instruction de 3 octets)
Quand l'instruction CALL est recherchée, le programme principal sait que les
deux emplacements suivants de la mémoire contiennent 16bits d’adresse de la
soubroutine dans la mémoire
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
28
Le programme principale lit l'adresse de la soubroutine dans les deux cellules
suivantes suivant celle portant l’opcode et stocke les 8 premiers bits d’adresse
dans le registre W et les 8 derniers dans le registre Z.
Pousser (push) l'adresse de l'instruction juste après le CALL dans la pile [ça retourne l'adresse]
Charge le compteur de programme avec les 16 bits d’adresse à partir de la paire de registre WZ
L'instruction RET
RET (1 Byte d’instruction)
Récupère l'adresse de retour du dessus de la charge de pile
Charge le compteur de programme de l'adresse de retour,
2.7. Unité de traitement. 2.7.1. Structure interne des BUS Bus: Un groupe partagé de fils utilisés pour communiquer des signaux parmi des dispositifs.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
29
La structure de Bus du modèle 8085 Les 8 bits du microprocesseur modèle 8085 (ou du MPU Micro Processing Unit) communique avec
les autres unités utilisant un bus d'adresse de 16 bits, un bus de données à 8 bits et un bus de
commande.
Bus d'adresses - Se compose de 16 lignes d'adresse: A0 A15
- Fonctionne en mode continu (unidirectionnel): Les bits d'adresse sont toujours envoyés du
MPU aux périphériques, et pas l’inverse.
- 16 lignes d'adresse sont capables d'adresser un total de 216 = 65.536 (64k) emplacements
dans la mémoire
- Adresses mémoire: De 0000 (Hex) à FFFF (Hex)
Bus de données
- Se compose de 8 lignes de données: D0 D7
- Fonctionne en mode bi-directionnel: Les bits d'informations sont envoyés du MPU
(MicroProcessing Unit) aux périphériques, aussi bien que des périphériques au MPU.
- Plage des données: 00 (Hex) FF (Hex)
Bus de commande
Le bus de commande est utilisé aux transferts de signaux de commande. Il se compose de
diverses lignes portant les signaux de commande tels que l’activation de droit de lecture/écriture,
les bits de drapeau. Les signaux de commande typiques sont:
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
30
- Lecture de la mémoire
- L’écriture en mémoire
- La lecture I/O
- L’ecriture I/O
2.7.2. Exécution des instructions
La période de temps pendant laquelle l'instruction est recherchée de la mémoire et exécutée est
appelée exécution de l'instruction. Ce procédé est accompli par l'unité centrale de traitement
recherchant une instruction stockée dans la mémoire, exécutant alors l'instruction recherchée
dans l'unité centrale de traitement avant la marche à suivre pour rechercher la prochaine
instruction dans mémoire. Ce processus continue jusqu'à ce qu'on lui demander de s'arrêter.
Un cycle de base d'exécution d'instruction peut être décomposé en étapes suivantes:
1. Cycle de recherche
2. Cycle d’exécution
Cycle de recherche
Pour commencer le cycle de recherche, l'adresse qui est stockée dans le compteur de programme
(PC) est transférée au registre d'adresse mémoire (MAR= Memory Address Register). L'unité
centrale de traitement transfère alors l'instruction située à l'adresse stockée en MAR au registre
d'amortisseur de mémoire (MBR=Memory Buffer Register) par l'intermédiaire des lignes de
données reliant l'unité centrale de traitement à la mémoire. Ce transfert à partir de la mémoire à
l'unité centrale de traitement est coordonné par l'unité de commande (CU= Control Unit). Pour
finir le cycle, l'instruction nouvellement recherchée est transférée au registre d'instruction (IR) et,
l’Unite de Commande (CU) incrémente le PC (Programme Counter) d'indiquant le prochain
emplacement d'adresse dans la mémoire.
Le cycle recherche illustré ci-dessus peut être récapitulé par les points suivants:
1. PC=>MAR
2. MAR=>mémoire=>MBR
3. MBR=>IR
4. PC incrémenté
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
31
Après que l'unité centrale de traitement ait fini de rechercher une instruction, le CU vérifie le
contenu de l'IR et détermine quel type d'exécution doit être effectué après. Ce processus est
connu comme la phase de décodage. L'instruction est maintenant prête pour le cycle d'exécution.
Cycle d’exécution
Une fois qu'une instruction a été chargée dans le registre d'instruction (IR), et le boîtier de
commande (CU) a examiné, décodé l'instruction recherchée et a déterminé la ligne de conduite
exigée à prendre, le cycle d'exécution peut comporter quelques opérations complexes
(généralement appelées les opcodes).
Les actions dans le cycle d'exécution peuvent être classées par catégorie dans les quatre groupes
suivants:
1. Unité centrale de traitement (CPU) - Mémoire: Des données peuvent être transférées à
partir de la mémoire à l'unité centrale de traitement ou à partir de l'unité centrale de traitement à
la mémoire.
2. UNITÉ CENTRALE DE TRAITEMENT - ENTRÉE-SORTIE: Des données peuvent être
transférées à partir d'un module d'entrée-sortie à l'unité centrale de traitement ou à partir de
l'unité centrale de traitement à un module d'entrée-sortie.
3. Traitement de données: L'unité centrale de traitement peut performer une certaine
opération d'arithmétique ou de logique sur des données par l'intermédiaire de l'unité
arithmétique-logique (ALU).
4. Commande: Une instruction peut spécifier que l'ordre de l'opération peut être changé. Par
exemple, le compteur de programme (PC) peut être mis à jour avec une nouvelle adresse
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
32
mémoire pour refléter que la prochaine instruction recherchée, devrait être lue de ce nouvel
emplacement.
Ceci peut être expliqué par un exemple,
ADD ACC, memory
Cette opération ajoute les données stockées dans ACC avec les données qui sont stockées dans
l'emplacement de mémoire spécifique dans l'instruction utilisant l'UAL. L'opération commence en
transférant la plage d'adresses de l'instruction à partir de l'IR à MAR. L'unité centrale de
traitement transfère alors l'instruction située à l'adresse stockée en MAR au MBR par
l'intermédiaire des lignes de données reliant l'unité centrale de traitement à la mémoire. Ce
transfert à partir de mémoire à l'unité centrale de traitement est coordonné par le CU. Après,
l'UAL ajoute les données stockées dans le ACC et le MBR. Pour finir le cycle, le résultat de
l'opération d'addition est stockée dans l’ACC pour un futur usage.
L'opération illustrée ADD peut être récapitulée en des points suivants:
1. IR[partie d’adresse] =>MAR
2. MAR=>memoire=>MBR
3. MBR+ACC=>ALU
4. ALU=>ACC
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
33
CHAP 3: ARCHITECTURE DE CONTROLE En général l’unité de commande reçoit les entrées à partir de diverses unités et envoie les sorties
en dépendant.
Les entrées que l’unité de commande reçoit sont:
* Horloge: la façon dont le CU gère le temps. L’unité de commande cause une micro-
opération (ou un ensemble de micro-opérations simultanées) à être exécuté pour
chaque impulsion d'horloge. Ceci est désigné parfois sous le nom de la durée de cycle du
processeur, ou du temps de rhythme.
* Registre d'Instruction: L'opcode de l'instruction courante est employé pour déterminer
quelle micro-opération à exécuter pendant le cycle d'exécution.
* Drapeaux: Ceux-ci sont nécessaires par l’unité de commande pour déterminer le statut
de l'unité centrale de traitement et des résultats des opérations précédentes d'ALU.
* Signaux de commande de bus de contrôle: La partie de bus de commande du bus
Système, fournit des signaux à l’unité de commande, tels que des interruptions et des
accusés de réception
Les sorties fournies par l’unité de commande sont:
Signaux de contrôle dans l'unité centrale de traitement: il en existe de deux types: ceux qui
causent des données à être déplacées à partir d'un registre à l'autre, et ceux qui activent les
fonctions spécifiques de l’UAL.
Signaux de contrôle au bus de contrôle: Ceux-ci sont également de deux types: signaux de
commande à la mémoire, et signaux de commande aux modules d'entrée-sortie.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
34
La conception de l'unité de commande décrit comment des boîtiers de commande sont établis
pour produire et exécuter des signaux de commande. Il y a deux méthodes disponibles pour la
conception de l’unité de commande. Elles sont:
Commande câblée
Commande micro-programmée
3.1. Commande câblée
Dans cette méthode, la conception du boîtier de commande se compose des circuits fixes et
logique (logique combinatoire) qui sont utilisés pour interrompre des instructions et pour produire
des signaux de commande.
3.2. Méthodes de conception
Il y a trois méthodes à établir une unité de commande sous la commande câblée. Elles sont:
Méthode de table d'état
Dans cette méthode les fabricants étaient habitués à dessiner une table d’état qui produisait de
diverses combinaisons de sortie dépendant de différentes combinaisons d'entrée et de différents
états de processus.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
35
Méthode d'élément à retardement
Ici la conception de l'unité centrale de traitement est basée sur les éléments à retardement
synchronisés pour la synchronisation de signal de commande.
Méthode de compteur d'ordre
Cette méthode emploie les compteurs que nous appelons des compteurs d'ordre pour le but de
synchronisation.
3.3. Boîtier de commande de multiplicateur
Le multiplicateur est une unité à l'intérieur de l'unité centrale de traitement qui est utilisée pour
exécuter la multiplication avec les nombres binaire.
Exemple de multiplicateur
Exemple: (101 x 011) base 2
Noter que l'addition de produits partiels pour n bits, des nombres en base 2 necessitent
s'ajouter jusqu'a n chiffres (avec carries) dans une colonne. Noter également que
de n x m bits se multipliés ouvrent a une addition de m+n bites de résultats (meme
chose que pour les decimaux)
3.4. Commande micro-programmée La commande micro-programmée est une unité de commande avec des stocks de valeurs binaires
de commande comme mots dans la mémoire. Cette méthode de conception de commande utilise
la ROM pour stocker l'information des signaux de commande. Le principe de la
microprogrammation est une méthode élégante et systématique pour produire des ordres de
micro-opération dans un système numérique.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
36
Microinstructions Le préfixe micro de se rapporte au fait que chaque étape est très simple et accomplissant très
peu de résultat. Les microinstructions sont des mots dans la mémoire de contrôle. Chaque mot
de contole de mémoire s'appelle une microinstruction et une séquence des mots s'appelle un
micro-programme. En d'autres termes, chaque instruction est divisée en plusieurs petites étapes
pendant son exécution. Chaque étape est appelée une microinstruction et par conséquent le
programme entier s'appelle un micro-programme. cependant, une unité de contrôle dont les
étapes de micro-opérations sont stockées dans une mémoire s'appelle unité de commande micro-
programmée.
Ordonnancement de micro-d'instructions La responsabilité première de l’unité de commande est de causer une sequénce de micro
opérations. L'exécution d'un programme comprend l'exécution séquentielle d’instructions.
L'ordonnancement de micro-d'instructions sert de référence comme par exemple prendre la
prochaine instruction de la mémoire de controle pour l'exécution de la micro-instruction.
L’unité de commande permet à l'unité centrale de traitement de passer autravers les micro-
opérations dans un ordre approprié, basée sur comment le programme devrait être exécuté.
Cette procédure s'appelle ordonnancement ou séquençage.
Exécution de micro instructions
Ceci signifie: produire des signaux de contrôle requis pour exécuter les micro-instructions.
Chaque instruction est exécutée pendant un cycle d'instruction composé des sous-cycles plus
courts (par exemple: recherche, indirect, exécution, interruption). L'exécution de chaque sous-
cycle comporte une ou plusieurs opérations plus courtes, c-à-d micro-opérations.
En d'autres termes, l’unité de commande permet chaque micro-opération à être effectuée. Ceci
s'appelle exécution.
Le cycle de recherche: Il apparait au début de chaque cycle d'instruction et facilite l’instruction
être recherchée dans la mémoire.
Le cycle indirect: Si l'instruction spécifie une adresse indirecte, alors un cycle indirect doit
précéder le cycle d'exécution.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
37
Le cycle d'interruption: À l'accomplissement du cycle d’exécution, un essai est fait pour
déterminer si des interruptions permises se sont produites. Si oui, le cycle d'interruption se
produit. Le cycle d’interruption se produit principalement quand les soubroutines sont impliquées.
Le cycle d'exécution: Elle est la partie importante de chaque cycle d'instruction où l'exécution de
chaque instruction se produit et l'objectif du programme est atteint.
Pré-recherche La pré-recherche est définie comme un déplacement des données de la mémoire à la cache pour
de futurs accès. La pré-recherche est la meilleure manière d'améliorer le temps de récupération.
Le but de la technique d'insértion la pré-recherche est de réduire des frequencies d’absences dans
l'antémémoire cache en fournissant des coups au processeur.
3.5. Architectures de canalisation (pipeline architectures)
La canalisation est une technique d'exécution où multiples instructions sont recouvertes dans
l'exécution. La canalisation dans l’ordinateur est divisée en étapes. Chaque phase accomplit une
partie d'une instruction en parallèle. Les étapes sont reliées une à la suivante pour former une
“pipe – instructions”, ces pipes entrent à une extrémité, progressent par les phases, et sortent à
l'autre extrémité.
La canalisation ne diminue pas le moment pour l'exécution individuelle d'instruction. Bien au
contraire, elle augmente l’évolution d'instruction. Le temps requis pour déplacer une instruction
d’une phase loin dans le pile-line, est appelé cycle de machine.
Etape 1:
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
38
Eatpe 2:
Etape: 3
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
39
Exercices
1. a. Executér le progragramme suivant sachant que le contenu de la plage d’adresse (3000)= INRA. Sont requis pour la résolution de cet exercice, la mémoire centrale et le Microprocesseur, modèle 8085. Les instructions du programme sont données dans l’ordre suivant:
MVI B, 64H MOV A, B ADD B JNC 3000H CF b. Représenter les instructions du programme ci-dessus dans la mémoire
2. soit une machine dotée d’une mémoire centrale de 512 Kmots de 32 bits chacun. Sachant que l’instruction type occupe 1 mot mémoire, quelle taille proposeriez-vous pour le registre RI?
3. a. Executér le progragramme suivant sachant que le contenu de la plage d’adresse (2000)= B2H, (3001)= STA 2000H [note: 8 bits par mot]. Sont requis pour la résolution de cet exercice, la mémoire centrale et le Microprocesseur, modèle 8085. Les instructions du programme sont données dans l’ordre suivant:
LDA 2000H MVI D 72H SUB D JNC 3001H DCR A STA 2000H CF b. Représenter les instructions du programme ci-dessus dans la mémoire
4. Réaliser un programme qui calcule les expressions suivantes dans une machine à une à zéro adresse et à une adresse:
a. A= B X ( C + D X E – F ) G b. R= A – { [ B + (E X F) – G ] } (C+D) 5. Etant donné les contenus des registres et des mémoires suivants:
(8002)= FF (B)= 80 (8003)= CMA (C)= 02 (8004)= DCRA
a. Exécuter l’instruction suivante sachant que sont requis pour cette exécution la mémoire centrale et le microprocesseur, modèle 8085. Programme:
LDAX B INX B ADD C JC 8003 DCRA CF
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
40
b. Représenter les instructions du programme ci-dessus dans la mémoire. 6. Etant donné les contenus des registres et des mémoires suivants: (XR1)= 1 (2000)= 2 I (Inderect) (XR2)= 2 (2001)= 3 XR1 (Registre d’Instruction no 1) (B1)= 1000 (3000)= 4 B1 (Registre de Base no 1) (B2)= 2000 (3001)= 5 (1000)= 0 (0)= 1000 (1001)= 1 a. Quelle est la valeur de F après exécution du programme suivant:
LDA 3000H ADD 2000H, XR1 SUB 2001H, B1 MPY 1001H, B2 DIV 2000H ADI 1000H STA F
b. Trouver le résultat à la fin des opérations suivantes:
LD 3000H, XR1 LD 999, XR2 LD 1000, I
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
41
CHAP 4. OPERATIONS ARITHMETIQUES DANS L’ORDINATEUR
4.1 Addition et soustraction des nombres binaires positifs et négatifs
Règles d'addition binaire
0+0=0
0+1=1
1+0=1
1+1=0, et on retient 1 pour les éventuels bits potentiels
(il est placé au dessus du bit le plus à gauche du concerné )
Ex: 00011010 + 00001100 = 00100110
(opération d’addition)
Règles de soustraction binaire
0-0=0
0-1=1, et on emprunte 1 à soustraire des bits suivants
1-0=1
1-1=0
Ex1: 00010101 - 00010001= 00010100
(opération de soustraction)
Ex2: 00110011-00010110=00011101
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
42
La soustraction binaire peut être faite d'une autre manière. Cela trouve le complément du
deuxième nombre qui s'ajout au premier nombre
- Etape 1o. Ce complément est la conversion de chacun des 1 en 0 et des 0 en 1 pour les
nombres binaires.
- Etape 2e. Au complément de deux (2e membre) on ajoute 1 pour former le 2e membre a jour
pouvant intervener dans la soustraction. Par exemple, considérer le deuxième exercice de la
soustraction ci-dessus. Le complément de l’ercice No2, 22 devient 11101010. Par conséquent le
résultat sera:
00110011-00010110=00011101
(il nous est demandé d’ignorer le bit 1 en carry et ne considérer que les 8 du résultat)
Addition des nombres précédés des signes
Additionner des nombres precedes par signes n'est pas sensiblement différent de l’addition des
nombres qui ne sont pas precedes par signes.
considérer trois exemples. “Ici le complément ajouté de 1 du nombre négatif, est ajouté au
nombre positif”.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
43
la simple table qui représente l'addition et la soustraction des nombres précédés des signes se
presénte comme suit:
4.2 Multiplication de nombres positifs
Règles de multiplication binaire
0x0=0
0x1=0
1x0=0
1x1=1 pas d’emprunt non plus de retenu
Exemples.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
44
4.3 Multiplication d'opérandes précédés des signes
Le plus facile est de trouver simplement l'importance des deux multiplicandes, multiplier ces
derniers, et employer les signes originaux pour déterminer le signe du résultat. Si les
multiplicandes avaient les mêmes signes, le résultat doit être positif, s'ils avaient différents
signes, le résultat est négatif. La multiplication par zéro est un cas particulier (le résultat est
toujours zéro, sans signe de bit).
4.4 Division de nombres entiers
Division binaire
La division binaire est un processus répété de la soustraction, exactement comme dans la division
décimale. Par exemple,
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
45
4.5 Nombres à virgule flottante et opérations
Un nombre à virgule flottante peut être représenté par deux nombres. Ils sont,
m - Mantisse
e - Exposant
par exemple, le nombre 1234,56 peut être écrit comme 123456 * ou 1,23456 * .
Considérer l'addition des nombres suivants avec virgule flottante.
.5372400 * + .1580000 *
Ici les exposants doivent être égaux avant de procéder à l’addition des nombres. Il existe deux
manières de rendre les exposants égaux.
* Décaler le point de 3 chiffres à droite du premier nombre ou bien,
* Décaler le point de 2 chiffre à gauche du deuxième nombre.
Généralement la première méthode cause une erreur quand on addition. Par conséquent la
deuxième méthode est préférable puisqu'elle réduit seulement l'exactitude. On exécute les
opérations avec la deuxième méthode,
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
46
CHAP 5. ORGANISATION DE LA MEMOIRE
5.1. Concepts de Base
Une unité de mémoire est un composant essentiel dans n'importe quel calculateur (computer)
numérique puisqu'elle est nécessaire au stockage des programmes et des données. L'unité de
mémoire qui communique directement avec l'unité centrale de traitement s'appelle mémoire
centrale. Des dispositifs qui fournissent le stockage de secours s'appellent mémoires auxiliaires.
5.2. Mémoires RAM et ROM
La RAM est une mémoire volatile tandis que la ROM est non volatile. La mémoire volatile perd son
contenu quand l’ordinateur n’est plus connecté à l’électricite. La mémoire non volatile ne perd pas
son contenu même lorsque l’ordinateur n’est plus alimenté en énergie. Des données, instructions,
et informations peuvent être lues et écrites sur la RAM mais la ROM n’offre que seule la lecture.
La RAM est employée pour stocker le volume des programmes et des données qui sont soumis au
changement, pendant que la ROM est utilisée pour stocker les programmes de manière
permanente tels que les informations de prise au démarrage de l’ordinateur.
Les mémoires RAM et ROM sont disponibles en des variétés de taille. Si la mémoire requise pour
l'ordinateur est plus grande que la capacité d'une puce, il est nécessaire de combiner un certain
nombre de puces pour former la capacité de la mémoire exigée.
Morceaux de RAM et ROM
Une puce de RAM est mieux appropriée à la communication avec l'unité centrale de traitement si
elle a une ou plusieurs entrées de commande qui choisissent le morceau seulement une fois
nécessaire. Un autre trait commun est le bus de données bi-directionnel qui permet le transfert
des données à partir de la mémoire à l'unité centrale de traitement pendant une opération "de
lecture", ou à partir de l'unité centrale de traitement à la mémoire pendant une opération
“d’écriture”. Le schéma fonctionnel de RAM est montré comme suit:
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
47
La capacité de la mémoire est 128 mots de huit bits par mot. Ceci exige une adresse de 7 bits et
un bus de données bi-directionnel à 8 bits. Les entrées “lire”et “écrire” spécifient l'opération de
mémoire et les deux entrées de commande (CS= Chip Select) controlent les inputs
dépendamment de la puce selectionnée par le microprocesseur.
La table de fonction spécifie l'opération de la puce de RAM. L'unité est en fonction seulement
quand CS1 = 1 et CS2 = 0. La barre sur la deuxième variable choisie indique que cette entrée est
permise quand elle est égale à 0. si les entrées de la puce selectionnee ne sont pas permises, ou
si elles sont permises mais “lire” ou “écrire” des entrées ne sont pas permises, la mémoire est
empêchée et son bus de données est dans un état à grande impédance. Quand CS1 = 1 et CS2 =
0, la mémoire peut être placée dans de “lecture”ou”ecriture”. Quand l'entrée de WR (Write) est
permise, la mémoire stocke un octet du bus de données dans un endroit spécifique par les lignes
d'entrée d'adresse. Quand l'entrée de RD (Read) est permise, le contenu de l'octet choisi est
placé dans le bus de données.
Table de fonction.
Légende: Inhibit=empêchée
Impédance= Quantite qui détermine l’amplitude du courant pour un voltage donné dans
un circuit à courant alternatif.
La puce de ROM est organisée de la même façon. Cependant, puisqu'une ROM donne seulement
accès à la lecture, le bus de données devra seulement se trouver en mode de sortie. Pour la puce
de même taille, il est possible d'avoir plus de bits de ROM que de RAM, parce que les positions
binaires internes dans la ROM occupent moins d'espace que dans RAM.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
48
5.3 Imbrication de mémoire
Dans un système imbriqué (imbriquer=lier étroitement), la mémoire peut être divisée en un
certain nombre de modules reliés aux bus d'une adresse mémoire commune et de données. Un
module de mémoire est une table de mémoire ainsi que ses propres registres d'adresse et de
données. La figure suivante montre une unité de mémoire avec quatre modules. Chaque table de
mémoire a son propre registre d'adresse AR et de données Dr. Le registre d'adresse reçoit
l'information d'un bus d'adresses commun et les registres de données communiquent avec le bus
de données bi-directionnel. Les deux bits moins significatifs de l'adresse peuvent être employés
pour différencier les quatre modules.
Le système modulaire permet à un module de lancer un accès mémoire au moment ou d'autres
modules sont en cours de lecture ou écrire. L'avantage d'une mémoire modulaire est qu'elle
permet l'utilisation d'une technique appelée imbrication. Dans une mémoire imbriquee, différents
ensembles d'adresses sont assignés à différents modules. Par exemple, dans un système
mémoire de deux modules, les adresses paires peuvent être dans un module et les adresses
impaires dans l'autre.
5.4. Mémoire Cache
Une mémoire spéciale à très grande vitesse appelée cache est parfois employée pour augmenter
la vitesse de traitement en rendant des programmes en cours et des données disponibles à l'unité
centrale de traitement à une vitesse rapide. Logiquement l'unité centrale de traitement est
habituellement plus rapide que la mémoire centrale. Par conséquent une technique employée
pour agir en tant que médiateur entre la mémoire centrale et l'unité centrale de traitement est
une antémémoire extrêmement rapide et petite. La cache est employée pour stocker des
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
49
segments de programme actuellement traité par l'unité centrale de traitement et les données
fréquemment requises dans les calculs actuels.
L'opération de base de la cache se passe comme suit: Quand l'unité centrale de traitement a
besoin d'accéder la mémoire, la cache est examinée. Si le mot est trouvé dans la cache, on le lit
dans cette mémoire rapide. Si le mot n'est pas trouvé dans la cache, la mémoire centrale est
accédée pour la lecture du mot. L'exécution de la cache est fréquemment mesurée en termes de
quantité appelée le rapport de coup ou le hit ratio. Quand l'unité centrale de traitement se
rapporte à la mémoire et trouve le mot dans la cache, ca s’appelle le hit. Si le mot n'est pas
trouvé dans la cache, ce s'appelle un miss. Le ratio du nombre de hits s’obtient en divisant le
nombre total de hits par la somme du nombre total de hits et des missles coups plus des coups
manqués s'appelle le rapport de coup. Hits ratio=Hits/Hits+misses.
5.5 Mémoire virtuelle
La mémoire virtuelle est un concept utilisé dans quelques grands systèmes informatiques qui
permet à l'utilisateur de construire des programmes comme si grand espace mémoire était
disponible. La mémoire virtuelle fournit un mécanisme pour traduire des programmes d’adresses
-produites dans des emplacements corrects de la mémoire centrale. Cette traduction est faite
automatiquement par le matériel appelé table de cartographie ou mapping table.
Espace d'adressage et espace mémoire
Une adresse employée par un programmeur s'appellera adresse virtuelle, et l'ensemble de telles
adresses appelé, espace d'adressage. Une adresse dans de mémoire centrale s'appelle un
emplacement ou une adresse physique. L'ensemble de tels emplacements s'appelle espace
mémoire.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
50
Relation entre l'adresse et l'espace mémoire dans un système mémoire virtuelle
Table de mémoire traçant une adresse virtuelle
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
51
CHAP 6. ORGANISATION D’ENTRÉE-SORTIE 6.1. Adressage d'entrée-sortie Dans les systèmes, les dispositifs d'E/S, la mémoire centrale, et l'unité centrale de traitement
communiquent normalement par l'intermédiaire d'un bus partagé. La jonction entre le bus
système et les dispositifs d'E/S s'appelle port d'E/S et y est assigné une adresse unique. Elle
inclut un registre temporaire de données. La stratégie utilisée dans quelques machines, telles que
le microprocesseur de Motorola 68000 est d'assigner une partie de l'espace d'adressage de
mémoire centrale aux ports d'E/S.Ceci s'appelle mémoire-tracé E/S ou Memory-mapped IO.
L'adressage d'entrée-sortie est généralement categorisé en deux types. Ils sont
· Memory-mapped I/O
· Isoleted/ I/O mapped I/O ou Entrée-sortie d'isolement- tracée entrée-sortie
Memory mapped I/O
Dans la Memory mapped I/O les instructions habituelles de charge et de stockage de mémoire
sont employés pour transférer un mot des données à ou d'un port d'E/S; aucune instruction
spéciale d'E/S n'est nécessaire.
Isoleted/ I/O mapped I/O
Dans cette organisation I/O mapped I/O, la mémoire et les espaces d'adressage d'E/S sont
maintenus séparés. Une instruction de référence de mémoire, active la ligne de contrôle du READ
M ou WRITE M et n'affecte pas les dispositifs d'E/S. Les instructions séparées d'E/S sont exigées
pour activer les lignes l'E/S READ et WRITE d'E/S, qui causent un mot à être transféré entre le
port adressé d'E/S et l'unité centrale de traitement. Par exemple: Intel 8085 et 8086.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
52
6.2. Transfert de données Le transfert des données est défini comme transfert des données à partir d'un dispositif à l'autre à
l'intérieur de l'ordinateur.
Un exemple du transfert des données des dispositifs d'E/S à l'unité centrale de traitement est
expliqué ci-dessous avec une figure. En cette dernière le dispositif transfère des octets de
données un seul à la fois. Quand un octet de données est disponible, le dispositif le place dans le
bus d'entrée-sortie et active son signal valide de données. L'interface accepte l'octet dans son
registre de données et active la ligne admise par données. L'interface place un bit dans le registre
de statut qui a partir duquel est référencé le bit « F » ou le bit drapeau. Le dispositif peut
maintenant désactiver la ligne valide de données, mais ne transférera pas un autre octet a partir
du moment ou la ligne admise de donnees est desactivee par l’interface. Ceci est appele
proceduee de hand shaking ou de secousse de main.
Un programme est écrit pour que l'ordinateur vérifie le drapeau dans le registre de statut pour
déterminer si un octet a été placé dans le registre de données par le dispositif d'E/S. Ceci est fait
en lisant le bit de drapeau du registre de statut par l'unité centrale de traitement. Si le drapeau
est égal à 1, l'unité centrale de traitement lit les données à partir du registre de données. Le bit
de drapeau est alors dégagé à 0 par l'unité centrale de traitement ou l'interface. Une fois que le
drapeau est dégagé, l'interface désactive la ligne admise de données et peut alors transférer le
prochain octet de données.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
53
Transfert des données d'unité d'E/S à l'unité centrale de traitement
De maniere générale il existe deux manières de transmission de données. Elles sont,
· Transmission parallèle de données
Dans la transmission en parallèle chaque bit de données a son propre chemin. Par conséquent,
quand la donnée a été transférée, tous les bits sont transférés au meme moment. Mais
l'inconvénient de ce type de transmission est qu'il a besoin de plus de câble pour le transfert.
· Transmission de données périodiques ou en série.
Dans ce type de transmission de données, seulement un conducteur est disponible pour le
déplacement de bits, un à un. Ceci prend plus de temps mais moins de câbles sont assez pour ce
transfert. Un transfert des données périodique peut être asynchrone ou synchrone.
6.3. Synchronisation Par transmission synchrone, les deux unités partagent la même fréquence du signal d'horloge et
les bits sont transmis continuellement ou alors sans interruption. Des signaux de synchronisation
sont transmis périodiquement entre deux unités.
Dans la transmission asynchrone, l'information binaire est envoyée seulement quand la ligne est
disponible et demeure libre quand il n'y a aucune information. En cela, le master ou émetteur
entamera la communication par envoyer une ligne de contrôle. La destination réagira a son tour
en renvoyant un signal récépissé ou réception. Ce contraste avec la transmission synchrone, où
les doivent être transmis sans interruption pour maintenir la fréquence du signal d'horloge dans
les deux unités synchronisées entre elles.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
54
6.4. Manipulation d'interruption Comme expliqué dans le transfert des données, quand les données sont stockées dans le registre
de données d'une interface, c'est à l'unité centrale de traitement d’examiner souvent le bit de
drapeau, pour lire les données de l'interface. L'ordinateur perd le temps en vérifiant le drapeau au
lieu de passer à un autre processus utile.
Une alternative à ce procédé est de laisser le périphérique externe informer l'unité centrale de
traitement quand il est prêt pour le transfert. En attendant l'ordinateur peut être occupé à
exécuter d'autres tâches. Ce type de transfert emploie un service appelé interruptions.
Du moment que l'ordinateur exécute un programme, il ne vérifie pas les drapeaux. Cependant,
quand un drapeau est placé, l'ordinateur est interrompu dans l’exécution du programme en cours
et se laisse informé du fait qu'un drapeau a été placé. L'unité centrale de traitement manipule
l'interruption en arrêtant le programme pour un instant et va gérer le transfert d'entrée-sortie,
aussitôt fini, il retourne de nouveau au programme précédent pour le parachevement de son
exécution.
Si un ou plusieurs dispositifs placent les données dans leur registre de données et donne des
interruptions à l'unité centrale de traitement, la priorité au dispositif choisi dépend de la vitesse
de transfert des données de chacun de ces dispositifs. Les dispositifs à grande vitesse tels que les
disques magnétiques leur seront accordés plus priorité que les dispositifs à faible vitesse de
transfert comme le clavier.
6.5. Interfaces d'entrée-sortie L'interface d'entrée-sortie fournit une méthode de transférer l'information entre les unités
internes de stockage et les dipositifs externes d’entrée-sortie. Les périphériques connectés à un
ordinateur ont besoin des liaisons spéciales pour se connecter à l'unité centrale de traitement. Le
but des liaisons de communication est de résoudre les différences qui existent entre l'ordinateur
central et chacun des périphériques.
Les différences majeures sont:
· Les périphériques sont les dispositifs électromagnétiques mais l'unité centrale de traitement
et la mémoire sont des composants électroniques. Par conséquent, une conversion des
valeurs du signal pourrait être exigée.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
55
· La vitesse de transfert des données des périphériques est habituellement plus lente que
celle de l'unité centrale de traitement.
· Les codes et format de données dans des périphériques diffèrent du format de mot dans
l'unité centrale de traitement et la mémoire.
· Les modes opérationnels de périphériques sont différents entre eux et chacun doit être
contrôlé pour ne pas toucher au fonctionnement d'autres périphériques connectés à l'unité
centrale de traitement.
Pour résoudre les différences, les systèmes informatiques incluent les composants matériels
spéciaux entre l'unité centrale de traitement et les périphériques pour superviser et synchroniser
tous les transferts d'entrée et de sortie. Ces composants s'appellent les unités d'interface parce
qu'ils interfacent entre les bus du processeur et les composants périphériques.
L'exemple suivant explique le mécanisme des interfaces. Chaque composant périphérique a
associé à lui une unité d'interface. Chaque interface décode l'adresse et contrôle les réceptions du
bus d'entrée-sortie, les interprète pour le périphérique, et fournit des signaux pour le contrôleur
de périphériques. Chaque périphérique a son propre contrôleur qui opera avec un dispositif
particulier. Par exemple, le contrôleur d'imprimante commande le mouvement de papier, le temps
d’impression, etc.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
56
Pour communiquer avec un dispositif particulier, le processeur place une adresse de dispositif sur
les lignes d'adresse. Chaque interface fixée sur le bus d'entrée-sortie contient un décodeur
d'adresse ; elle active le chemin entre les lignes de bus et le dispositif. Tous les périphériques
dont l'adresse ne correspond pas à l'adresse dans le bus sont désactivés par leur interface.
Il y a quatre types de commandes qu'une interface peut recevoir. Elles sont:
· Une commande de contrôle - elle est publiée pour activer le périphérique et pour l'informer
de quoi faire.
· Une commande de statut - elle est employée pour examiner de diverses conditions de statut
dans l'interface et les périphériques.
· Une commande de sortie de données - elle permet à l'interface de repondre transférant des
données à partir du bus de données dans un de ses
registres.
· Une commande d'entrée de données - c'est l'opposé de la sortie de données. Dans ce cas-ci
l'interface reçoit un article des données du
périphérique et des emplacements dans du registre
tempo. L'interface place alors le données sur
les lignes de données, par où elles sont acceptées
par le processeur.
Structure des Ordinateurs
Armel KANEGE, Ass Bachelor’s Degree in Computer Science CCNA certified
57
BIBLIOGRAPHIE
- ARCHITECTURE ET TECHNOLOGIE DES ORDINATEURS, 4e Edition juin 2005, cours et exercices corriges pour. Auteurs: Paolo Zanella et Yves Ligier
- ARCHITECTURE DE L’ORDINATEUR, Edition janvier 1987, du circuit logique au logiciel de base. Auteur: Andrew Tanenbaum.
- COMPUTER SYSTEM ARCHITECTURE, notes de cours, Computer Science department, Universite Nationale du Rwanda par Auxeeliya Ashraph, Master’s Degree
- (Sites électroniques…)