STRUCTURE DES ORDINATEURS - isig.ac.cd · PDF fileCaractéristiques du microprocesseur...

57
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

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…)