Vous êtes sur la page 1sur 33

INTRODUCTION GENERALE

A MISE EN SITUATION

Un système numérique, intégrant de l’électronique, fait souvent apparaître des fonctions ayant
pour rôle le traitement d’informations : opérations arithmétiques (addition, multiplication...) ou
logiques (ET, OU...) entre plusieurs signaux d’entrée permettant de générer des signaux de
sortie. Ces fonctions peuvent être réalisées par des circuits intégrés analogiques ou logiques.

Mais, lorsque le système devient complexe, et qu’il est alors nécessaire de réaliser un ensemble
important de traitements d’informations, il devient plus simple de faire appel à une
structure à base de microcontrôleur ou microprocesseur. Le développement de ces composants
programmables a été rendu possible grâce l’essor considérable qu’a connu la
microélectronique et notamment les techniques d’intégration. Cette évolution a permis en
1971, la fabrication du premier microprocesseur par la société INTEL. Ce microprocesseur, le
« 4004 », comportait déjà 2300 transistors et fonctionnait avec un bus de données de 4 bits.

Depuis, l’intégration des transistors dans les microprocesseurs n’a cessé d’évoluer,
parallèlement à la puissance de calcul et la rapidité d’exécution. Aujourd’hui, un
microprocesseur Pentium IV comporte à peu près 24 millions de transistors et peut traiter des
données de 8, 16, 32, 64 bits en même temps. La puissance des microprocesseurs
de nos jours, a orienté leurs utilisations vers le traitement des informations de masse
(Gestion d’une base de données, Gestion des périphériques bloc, …), le calcul scientifique
ainsi que tout ce qui est interface homme machine réactif (clavier, souris, écran, …).

Comme nous pouvons le constater, le domaine d’application des microprocesseurs reste vaste.
C’est pourquoi ils sont classés dans la catégorie des composants programmables généralistes,
cela signifie qu'ils peuvent tout faire, mais ils ne sont optimisés pour rien. La majorité des
microprocesseurs ont une architecture CISC (Complex, Instruction, Set Computer ), ce qui
signifie "ordinateur avec jeu d'instructions complexes ". C’est le cas des processeurs de
type x86, c'est-à-dire les processeurs fabriqués par Intel, AMD, Cyrix.

Les processeurs basés sur l'architecture CISC peuvent traiter des instructions complexes, qui
sont directement câblées sur leurs circuits électroniques, c'est-à-dire que certaines instructions
difficiles à créer à partir des instructions de base sont directement imprimées sur le silicium de
la puce afin de gagner en rapidité d'exécution. L'inconvénient de ce type d'architecture provient
justement du fait que des fonctions supplémentaires sont imprimées sur le silicium, d'où un coût
élevé.

D'autre part, les instructions sont de longueurs variables et peuvent parfois prendre plus d'un
cycle d'horloge ce qui les rend lentes à l'exécution. Néanmoins, avec la considérable
augmentation de la taille des puces électroniques et la gigantesque accélération des fréquences
d'horloge, la puissance de calcul d’un microprocesseur CISC d’aujourd’hui est considérable. Son
caractère généraliste lui permet d’être par excellence le composant de base de l’informatique.

Mais en instrumentation et automatisme on lui préférera généralement des composants plus


spécialisés ne nécessitant pas, ni un calcul complexe ni un traitement d’informations de

1
masse. C’est pourquoi dans les applications industrielles, que ce soit d’automatisme ou
d’instrumentation, le microcontrôleur est le composant programmable le plus utilisé.

Il comporte sur sa puce un certain nombre d'interfaces qui n'existent pas sur un
microprocesseur, par contre il est généralement moins puissant en termes de rapidité ou de
taille de mémoire adressable et le plus souvent cantonné aux données de 8 ou 16 bits. Les
microcontrôleurs utilisent la technologie RISC (Reduced Instruction Set Computer), dont la
traduction est "ordinateur à jeu d'instructions réduit" et n'a pas de fonctions
supplémentaires câblées. Ce qui qui implique une programmation plus difficile et un compilateur
plus puissant.

Les instructions d’un microcontrôleur sont tellement peu nombreuses (en moyenne une
soixantaine) qu'il est possible de les graver directement sur le silicium sans alourdir de
manière dramatique leur fabrication. L'avantage d'une telle architecture est bien évidemment
le coût réduit au niveau de la fabrication des processeurs l'utilisant. De plus, les instructions,
étant simples, elles sont exécutées en un cycle d'horloge, ce qui rend l'exécution des
programmes plus rapides qu'avec des processeurs basés sur une architecture CISC.

En plus, de tels processeurs sont capables de traiter plusieurs instructions simultanément. Les
microcontrôleurs ont permis de faire évoluer les systèmes micro programmés vers encore plus
de simplicité et de rapidité. Ils sont aujourd’hui utilisés dans la plupart des réalisations
industrielles grand public ou professionnelles, ils gèrent au plus juste et au plus vite les
applications. Leur évolution a permis l'intégration de circuits complexes variés. Ces circuits ont
été intégrés sur une même puce, donnant ainsi beaucoup de flexibilité et de puissance de
commande au microcontrôleur.

Cette polyvalence lui permet d'occuper une place importante que ce soit en instrumentation, en
commande ou en automatisme industriel. Le meilleur exemple est bien évidemment les
automates programmables qui sont tous équipés de microcontrôleurs

B HISTORIQUE DES MICROPROCESSEURS

Le premier microprocesseur (Intel 4004) a été inventé en 1971. C’était un processeur ayant un
bus de données de 4 bits. Sa fréquence de travail était de 108 Khz et il comportait 2300
transistors. Avec l’évolution de la technologie et l’arrivée des circuits submicroniques (tracés
inférieurs au micron), les performances des circuits électroniques ont décuplé tant par leur
vitesse de traitement que par leur niveau d’intégration. Le tableau ci-dessous donne un aperçu
de cette évolution (source INTEL).

2
C ARCHITECTURE FONCTIONNELLE D’UN ORDINATEUR

La figure 1 illustre la structure générale d'un ordinateur. Tous les périphériques représentés ne
sont pas nécessaires au fonctionnement de l'ordinateur, et on peut, bien entendu, brancher
d'autres périphériques tels que modems, scanners, traceurs, lecteurs de bandes magnétiques
etc…Les logiciels (suite d'instructions exécutables par le processeur) ne sont pas représentés sur
le schéma, mais il faut bien se rendre compte qu'un ordinateur sans logiciels est complètement
inutile. Les notions de matériel ( Hardware) et de logiciel ( software) sont indissociables, l'un ne
peut fonctionner sans l'autre.
Figure 1 : structure générale d'un ordinateur

D ARCHITECTURE D’UN SYSTEME A µP

Figure 2 : configuration


minimale d’un système
à base de µP

3
L’architecture matérielle minimum d’un système à microprocesseur est représentée sur
la figure 2 précédente. Celle-ci comporte :

- le microprocesseur ;
- un circuit d’initialisation ;
- un générateur d’horloge ;
- une mémoire à lecture seule (ROM) ;
- une mémoire à lecture/écriture (RAM) ;
- un dispositif de décodage d’adresses ;
- des interfaces de périphériques ;
- des bus de communication.

CHAPITRE I : INTRODUCTION GENERALE A L’ARCHITECTURE DES ORDINATEURS

I CLASSIFICATION DES PROCESSEURS

1 Les types de processeurs

Il existe deux types de processeurs :

 Les processeurs de calcul général, structure CISC ;


 Les processeurs spécialisés, structure RISC.

Principales propriétés des machines CISC : Complex Instructions Set Computer

 L’accès mémoire est disponible pour la majorité des instructions ;


 Les formats des instructions sont différents en longueur ;
 Les instructions réalisent les opérations aussi bien élémentaires que complexes.

Principales propriétés des machines RISC : Reduced Instructions Set Computer

4
 Les adresses mémoire sont restreintes à LOAD/STORE et la manipulation des données
sont des instructions de registre à registre ;
 Les modes d’adressage sont limités en nombre ;
 Les instructions ont toutes la même longueur (même format) ;
 Les instructions réalisent des opérations élémentaires ;
 Un grand nombre de registres, tous équivalents

Figure 3 : classification


des processeurs

ASSP : Application Specific Standard Product


FPGA : Field Programmable Gate Array

ASIC : Application Specific Integrated Controller.

5
C’est un microcontrôleur embarqué, spécifique, et optimisé en puissance, en mémoire et en
nombre d’entrées/sorties pour une application donnée. Il est produit, comme tous les autres
microcontrôleurs en grande série de plus de 10000 exemplaires. Son coût est essentiellement dû
à la recherche et développement. Beaucoup de temps a été consacré à la recherche, à la
conception et à la réalisation. La production en grande série des ces processeurs permet
d’amortir le temps consacré. Leur architecture s’apparente à celle-ci.

Figure 4 : architecture


générale d’un
microcontrôleur

La partie principale d’un micro-ordinateur est la « carte mère » sur laquelle sont montés le
microprocesseur, les contrôleurs de périphériques et les lignes qui les connectent entre eux
sous forme de circuit imprimé.

Avec les progrès de la miniaturisation, et la généralisation de l’utilisation des ordinateurs, les


besoins les plus courants se sont standardisés et on a pu disposer toute une carte mère au sein
d’une seule et même puce, appelée microcontrôleur. L’usage de microcontrôleurs est
actuellement en plein développement dans toute l’informatique industrielle, et à tous les degrés
de complexité (de 8 pattes à près de 200 pattes).

Les microcontrôleurs intègrent des circuits tels que : les convertisseurs analogiques numériques
(CAN) et les convertisseurs numériques analogiques (CNA). Les microcontrôleurs sont
répandus dans l’électronique embarquée : l’automobile, l’avionique, la téléphonie mobile (DSP :
Digital, Signal Processor : processeur de traitement du signal). La structure de ce processeur
particulier est la suivante :

Figure 5 : architecture matérielle d’un processeur de traitement du signal

6
2 Définitions

L’informatique : est la science de traitement des informations par des moyens automatiques ;

L’information : elle apparaît comme le moyen de la communication, tout ce qui peut se


représenter, s’écrire et peut être communiqué entre les hommes, entre les machines constitue
de l’information.

Traitement : le traitement de l’information est le déroulement systématique d’une suite


d’opérations sur des informations élémentaires.

Système : c’est un ensemble d’éléments matériels ou immatériels liés par des interactions (en
état de marche, on a des changements d’état des éléments pour aboutir aux objectifs du
système : notion d’entrées et sorties) : système scolaire, système éducatif, système automatisé
de production etc…

Système informatique : c’est un ensemble de matériels et logiciels destinés à réaliser des


tâches qui mettent en jeu le traitement informatique de l’information.

Le matériel (hardware) : désigne tout ce qui a un caractère matériel dans une machine (non
modifiable) ;

Le logiciel (software) : désigne tout ce qui n’est pas matériel (immatériel). Il est assimilé à la
matière grise c’est-à-dire le savoir-faire humain. Le logiciel est formé de la représentation
informatique des algorithmes : les programmes. Un programme est une suite d’instructions
exécutables par la machine (modifiable).

Ordinateur : c’est une machine électronique de traitement de l’information, elle est capable
d’acquérir et de conserver des informations, d’effectuer des traitements et de restituer les
informations sous le contrôle du logiciel.

NB : un ordinateur sans logiciel est totalement inutile, les notions de matériel logiciel sont
indissociables.

Architecture des ordinateurs : l’architecture des ordinateurs est la discipline qui correspond
à la façon dont on conçoit les composants et l’agencement structurelle entre ces derniers dans
un système informatique. L’architecture concerne les caractéristiques fonctionnelles d’un
système informatique du point de vue du programmeur. L’architecture des ordinateurs est en
constante mutation vu les poussées technologiques : arithmétiques des ordinateurs, jeu
d’instructions, conception des composants et…

Architecture=jeu d’instructions + organisation.

Architecture matérielle : c’est la conception fonctionnelle des différents composants de la


machine (fonctionnement logique de chaque composant et le dialogue entre composants).

Architecture logicielle : elle correspond au codage de l’information et au jeu d’instructions de


la machine, c’est-à-dire l’ensemble des opérations que la machines peut exécuter.

La technologie : étude des composants (transistors, résistances…).

La logique : assemblage des composants pour en faire des circuits et des unités.
7
L’architecture est indépendante vis-à-vis de la réalisation et de la technologie.

Aujourd’hui, la conception de la machine suppose une collaboration très étroite entre les
concepteurs du matériel et les concepteurs du logiciel.

3 Modèles en couche

Approche hiérarchique : décomposition d’un système en plusieurs couches empilées où la


couche supérieure utilise/communique avec la couche inférieure via une interface bien définie
(QUOI ?). La couche inférieure dissimulant de nombreux détails de mise en œuvre
(COMMENT ?) à la couche supérieure.

Machine virtuelle : c’est une machine abstraite disposant d’un langage permettant aux
usagers de communiquer avec ladite machine. Une machine virtuelle définit un langage et un
langage est définit par une machine virtuelle.

Si le langage est difficilement manipulable par l’être humain, on définit des langages de plus
haut niveau facile à utiliser et ainsi de suite jusqu’à ce qu’on obtienne un jugé convenable. Le
langage du bas est le plus complexe et le langage de haut est le plus simple. Le passage d’une
machine à une autre, c’est-à-dire d’un langage à un autre langage se fait par interprétation ou
traduction.

Interprétation : chaque instruction d’un programme écrit en langage Ln est traduite en la


séquence d’instructions adéquates du langage L n-1 exécutables par la machine M n-1

Traduction : un programme de la machine Mn est traduit une fois pour toutes en un


programme en langage L n-1 exécutable directement par la machine virtuelle Mn-1.

Les systèmes informatiques sont conçus comme une suite de niveaux où chaque niveau est bâti
sur les fonctions de ces prédécesseurs.

Lorsqu’on conçoit un système informatique, il convient de choisir les instructions qui formeront
son langage. Afin de libérer l’utilisateur de la complexité du matériel et de tous les détails de
fonctionnement de l’ordinateur, il faut lui présenter une interface (ou machine virtuelle) plus
facile à comprendre et à programmer.

Système en couche actuel

COUCHE OBJETS ASSOCIES


Les objets considérés à ce niveau sont les portes
logiques, chacune construite à partir de quelques
transistors.
Chaque porte prend en entrée des signaux numériques
Couche logique numérique (0 ou 1) et calcule en sortie une fonction logique simple
(ET, OU, NON) ;
De petits assemblages de portes peuvent servir à réaliser
des fonctions logiques telles que mémoire, additionneur,
ainsi que la logique de contrôle de l'ordinateur
On dispose à ce niveau de plusieurs registres mémoire et
d'un circuit appelé UAL (Unité Arithmétique et Logique,

8
ALU) capable de réaliser des opérations arithmétiques
élémentaires ;
Couche microarchitecture Les registres sont reliés à l'UAL par un chemin de
données permettant d'effectuer des opérations
arithmétiques entre registres
Le contrôle du chemin de données est soit
Microprogrammé, soit matériel
La couche de l'architecture du jeu d'instructions («
Instruction Set Architecture », ou « ISA ») est définie par
Couche jeu d'instruction le jeu des instructions disponibles sur la machine ;
Ces instructions peuvent être exécutées par
Microprogramme ou bien directement ;
Cette couche permet de bénéficier des services offerts
par le système d'exploitation
Organisation mémoire, exécution concurrente, etc.
Couche système La plupart des instructions disponibles à ce niveau sont
d'exploitation directement traitées par les couches inférieures ;
Les instructions spécifiques au système font l'objet d'une
interprétation partielle (appels système)
Offre une forme symbolique aux langages des couches
Couche langage inférieures ;
d'assemblage Permet à des humains d'interagir avec les couches
inférieures ;
Met à la disposition des programmeurs d'applications un
Couche langages ensemble de langages adaptés à leurs besoins ;
d'application Langages dits « de haut niveau »

4 Comparaison anthropomorphique 

Le cerveau s’apparente-t-il à un microprocesseur ?

Un microprocesseur muni de mémoire peut être, dans une première approche, considéré
comme un « cerveau » capable d’effectuer des opérations diverses (opérations arithmétiques,
logiques) et de les enchaîner dans un processus cohérent. Tel quel un microprocesseur (on
parle aussi du CPU : Central Processing Unit) n’a aucune utilité puisqu’il ne peut communiquer
avec le milieu extérieur.

Pour pouvoir être efficace, un microprocesseur doit disposer d’organes d’entrée-sortie (clavier,
souris, écran, haut-parleur), comme le cerveau qui dispose d’organes d’entrée (oreilles, yeux,
toucher) et de sortie (paroles, gestes). Nous appelons « micro » ordinateur cette structure «
micro » processeur + périphériques + liens.

9
Figure 6 : structure
anthropomorphique
d’un ordinateur

10
5 Structures des systèmes micro-programmés

Structure de Von Neumann Structure de Harvard

Figure 7 : les


structures de base

La différence entre les deux structures se situe au niveau de la séparation ou non des mémoires
programmes et données. La structure de Harvard permet de transférer données et instructions
simultanément, ce qui permet un gain de performances.

11
CHAPITRE 2 : INTRODUCTION SUR LES SYSTEMES A BASE DE MICROPROCESSEUR

I GENERALITES

Un système informatique complet regroupe autour d'un microprocesseur un ensemble de


composants qui lui permettent de fonctionner (essentiellement mémoires) et de communiquer
avec le milieu extérieur (contrôleurs de périphériques). Le fonctionnement du processeur
consiste à exécuter un programme, c'est à dire une suite d'instructions pointées par le
compteur ordinal (pointeur de programme).

Logiciellement, les composants extérieurs au processeur sont vus comme des adresses avec
lesquelles il communique par des opérations d'écriture (processeur→ composant) ou de
lecture (composant→ processeur). L'exécution du programme comporte les phases suivantes :
- Lire en mémoire l'octet dont l'adresse est contenue dans le compteur ordinal ;
- Analyser l'octet pour trouver le nombre d'octets qui complètent l'instruction ;
- Incrémenter le compteur ordinal et lire ces octets ;
- Interpréter le code et exécuter l'instruction qui peut ou non comporter une lecture et
une écriture à une adresse.

Il y a donc sans cesse communication entre le processeur et les composants périphériques.


Physiquement, le processeur utilise pour cette communication :

- Le bus de données, qui véhicule l’information ;


- Le bus d'adresses, qui permet, après décodage, d'activer le chip select approprié ;
- Des lignes de contrôle qui permettent d'assurer les échanges d'information selon des
protocoles temporels précis (chronogrammes) spécifiques au microprocesseur.

Les lignes principales sont la ligne (R/ W) qui indique le sens de transfert des données, et la
ligne E, horloge interne du processeur, qui cadence toutes les opérations.

Figure 8 : architecture de


base d’un ordinateur

Les deux principaux constituants d’un ordinateur sont la mémoire principale et le


processeur. La mémoire principale (MP en abrégé) permet de stocker de l’information
(programmes et données), tandis que le processeur exécute pas à pas les instructions
composant les programmes.

12
13
Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans
l’ordre par le processeur. Ces instructions correspondent à des actions très simples, comme
additionner deux nombres, lire ou écrire dans une case mémoire, etc. Chaque instruction est
codifiée en mémoire sur quelques octets.

Le processeur est capable d’exécuter des programmes en langage machine, c’est à dire
composés d’instructions très élémentaires suivant un codage précis. Chaque type de
processeur est capable d’exécuter un certain ensemble d’instructions selon son jeu
d’instructions. Pour écrire un programme en langage machine, il faut donc connaître les détails
du fonctionnement du processeur qui va être utilisé.

II ARCHITECTURE D’UN SYSTEME A BASE DE MICROPROCESSEUR

1 Architecture externe

L’architecture d’un système à base de microprocesseur peut se présenter comme suit :

Figure 9 : architecture


externe d’un système
à microprocesseur

Un système à base de microprocesseur est formé de trois éléments :

- Une unité centrale CPU (central processing unit) ;

- Une mémoire (ROM et RAM) ;

- Des ports d'entrées/sorties.

Ces trois modules sont interconnectés comme le montre la figure précédente autour de trois bus
: bus de données, bus d'adresses et bus de contrôle et commande.

Bus : Il s'agit de plusieurs pistes électroniques qui sont reliées au microprocesseur. Ces bus
assurent la communication interne et externe du microprocesseur.

Le bus est une structure d'interconnexion qui permet de raccorder le processeur à la mémoire et
autres périphériques d'entrée sortie.

14
Le bus est constitué de trois ensembles de lignes :
♦ Les lignes d'adresse → Bus d'adresse ;

♦ Les lignes de données → Bus de données ;


♦ Les ligne de commande ou de contrôle → Bus de contrôle.

Figure 10 : lien entre un


bus et une mémoire

Le bus de données (D0 à Dn-1)

C'est un ensemble de fils bidirectionnels qui va permettre le transfert de données entre les
différents éléments du système. C'est par ce bus que sont transmises les données qui doivent
être traitées par le microprocesseur. A l'inverse, c'est également par ce bus que transitent les
résultats en sortie du micro-processeur. Autrement dit, toutes les données entrantes et
sortantes du micro-processeur sont véhiculées par le bus de données qui fixe la longueur du
mot échangé avec la mémoire ;

1.1 Le bus d’adresses (A0 à An-1)

Il permet d'adresser un élément par le microprocesseur, il est unidirectionnel, il détermine la


capacité maximale d'adressage du système, c'est à dire le nombre maximum de mots de la
mémoire associée (ex : 16 bits "adressent" 64 Kmots).

1.2 Le bus de commande et de contrôle :

C'est un bus qui permet de véhiculer les signaux de contrôle et de commande tels que
l'horloge les signaux (Rd/Wr) etc. Ce bus sert à coordonner tous les échanges d'informations
décrits précédemment. Il véhicule des données qui valident la mémoire et les ports d’entrées)
sorties. Il introduit des délais d'attente lorsque des informations sont envoyées à un
périphérique qui présente une vitesse de traitement réduite.

Le bus de commande évite les conflits de bus lorsque deux éléments cherchent à communiquer
en même temps avec le microprocesseur.

Remarque :

Dans certains cas, le bus de données et le bus d'adresses sont multiplexés sur un seul bus. Une
logique externe doit alors effectuer le démultiplexage, c’est le cas du microprocesseur 8086 di
INTEL. La mémoire sert au rangement de deux types d'informations :

15
-Des données : les informations traitées par le microprocesseur ;

-Des instructions : ensemble d'informations codées qui gère l'activité


du microprocesseur.

16
1.4 Les interfaces entrée-sorties

Les interfaces d'entrées sorties vont permettre au microprocesseur de communiquer avec le


monde extérieur. Nous trouvons des ports utilisés exclusivement pour l'entrée, et d'autres ports
exclusivement pour la sortie. Il existe aussi des ports bidirectionnels. Donc le micro-
processeur peut lire des données à partir d'une interface d'entrée (exemple souris, clavier
disque dur, Etc. ...) de même il peut restituer le résultat de son traitement au monde extérieur
en adressant des interfaces de sortie (l’imprimante, le clavier etc....). Donc les
interfaces d'entrées / sorties vont soulager le microprocesseur pour la communication avec le
monde extérieur.

Le microprocesseur doit donc contrôler les fonctions effectuées par les autres modules, il doit
chercher ainsi à décoder des instructions rangées en mémoire, et il doit adresser des interfaces
d'entrées/sorties pour lire des données du monde extérieur, et restituer le résultat de son
traitement

1.5 Le microprocesseur

Le processeur est parfois appelé CPU (de l’anglais Central Processing Unit) ou encore MPU
(Micro-Processing Unit) pour les microprocesseurs. Un microprocesseur n’est rien d’autre
qu’un processeur dont tous les constituants sont réunis sur la même puce électronique (pastille
de silicium), afin de réduire les coûts de fabrication et d’augmenter la vitesse de traitement. Les
microordinateurs sont tous équipés de microprocesseurs. L’architecture de base des processeurs
équipant les gros ordinateurs est la même que celle des microprocesseurs.

Le processeur est un circuit électronique complexe qui exécute chaque instruction très
rapidement, en quelques cycles d’horloges. Toute l’activité de l’ordinateur est cadencée par
une horloge unique, de façon à ce que tous les circuits électroniques travaillent ensembles. La
fréquence de cette horloge s’exprime en MHz (millions de battements par seconde). Par
exemple, un ordinateur “PC Pentium 133” possède un processeur de type Pentium et une
horloge à 133 MHz.

Pour chaque instruction, le processeur effectue schématiquement les opérations suivantes :

1. lire en mémoire (MP) l’instruction à exécuter ;

2. Effectuer le traitement correspondant ;

3. passer à l’instruction suivante.

Le processeur est divisé en deux parties, l’unité de commande et l’unité de traitement :


– l’unité de commande est responsable de la lecture en mémoire et du décodage des
instructions ;
– l’unité de traitement, aussi appelée Unité Arithmétique et Logique (U.A.L.), exé-
cute les instructions qui manipulent les données.

1.6 La mémoire centrale

17
La mémoire centrale dite aussi mémoire de travail ou mémoire vive ou mémoire principale ou
tout simplement mémoire RAM, est une mémoire volatile, c'est à dire que son contenu
disparaît à l'extinction de l'ordinateur.

Cette mémoire à lecture écriture contient la suite des instructions constituant le programme en
cours d'exécution, elle contient aussi éventuellement les données nécessaires à l'exécution du
programme. C'est aussi dans cette mémoire que seront stockés les résultats intermédiaires et
définitifs de l'exécution du programme en cours.

1.7 Le disque dur

Les interfaces de gestion de disques durs

L'interface de gestion du disque dur permet au processeur d'échanger des données avec le
disque sans se préoccuper de la façon dont les données sont enregistrées sur celui-ci.

 Interface IDE (et ses variantes)

L'interface IDE (Integrated Device Equipement ) est devenue le standard en vigueur (1997)
dans la gestion des disques durs sur les PCs. Cette interface utilise un câble de 40 fils pour gérer
deux disques, il faut toutefois veiller à configurer un disque en maître et le deuxième en esclave
pour ne pas avoir de conflit d'adresse. Les disques IDE sont munis de jumpers prévus à cet
effet.

Le contrôleur IDE utilise une technique astucieuse pour stocker plus d'information sur un
disque. En se basant sur la constatation que les secteurs des pistes situées sur le bord des
plateaux ont une surface plus grande que les secteurs des pistes intérieures, alors qu'ils servent
à stocker la même quantité d'information (512 octets), l'interface IDE découpe les pistes
extérieures en un nombre plus grand de secteurs afin d'avoir une surface de secteur
homogène sur tout le disque. Les paramètres (cylindre/secteur/têtes) déclarés lors de la
configuration du PC ne correspondent pas à la réalité au niveau du disque. C'est le contrôleur
IDE qui fait la conversion entre les deux formats.

Les cartes mère PC commercialisées de nos jours ont une interface IDE intégrée et offrent 4
connecteurs pouvant piloter deux disques chacun. On peut donc brancher jusqu'à 8 disques
durs.

 Interface SCSI

Le standard SCSI (Small Computer System Interface) est une interface intelligente qui n'est
pas destinée seulement à la gestion des disques. On peut y connecter des périphériques SCSI
de tout type comme des streamer, des scanners, des imprimantes...

Un contrôleur SCSI peut gérer 8 périphériques (lui-même inclus), ce qui fait qu'on peut
brancher 7 périphériques par contrôleur SCSI. Tous les périphériques sont branchés sur le
même câble de 50 fils. Des variantes de l'interface SCSI ont fait leur apparition sur le marché
comme le fast SCSI, le wide SCSI et l'ultra SCSI et des versions combinées comme le FW et UW
capables de gérer (15+1) périphériques par contrôleur. Ceci sachant qu'on peut installer autant

18
de contrôleurs SCSI qu'on a de slots disponibles. Le bus SCSI peut fonctionner en synchrone et
en asynchrone.

Avec les disques SCSI, on n'est pas obligé de déclarer les paramètres (cylindre/secteur/tête) lors
de la configuration de l'ordinateur, le contrôleur lui-même détecte et reconnaît le disque dur.

19
Un aspect intéressant est de pouvoir pour des raisons de sécurité utiliser deux disques pour
stocker la même information et pratiquer ce qu'on appelle du miroring entre les deux. Toute
écriture se fait simultanément sur les deux disques. Lors de la lecture, le contrôleur envoie une
requête, et lit sur le disque qui répond le premier. En cas de panne d'un disque, le deuxième
continue à fonctionner normalement.

Avec les nouvelles variantes du standard SCSI, on peut atteindre des taux de transfert de 80
Mb/s, à condition toutefois d'utiliser des disques capables de pratiquer ces débits (problème
mécanique de balayage des pistes). Il est difficile de mesurer les performances de ce standard,
on peut toutefois constater que sur les machines PC, on réalise un gain de performance de
l'ordre de 2.5 quand on passe du Standard IDE au standard SCSI.

Le disque dur est une mémoire magnétique à lecture écriture non volatile à très grande
capacité de stockage. C'est dans le disque dur que sont stockés tous les logiciels et les données
contenus dans l'ordinateur. Parmi ces programmes, on trouve le très important système
d'exploitation qui supervise tout ce qui se passe dans l'ordinateur.

1.8 Les disquettes et les cd-rom

Les disquettes et les CD-ROM sont des unités de stockage portables. Les disquettes sont des
disques magnétiques souples fonctionnant de la même façon que les disques durs sauf qu'ils ont
une capacité de stockage plus faible, 1,44 Mo pour le format 3 pouces ¼. Les CD-ROM
(compact disk) ou disque optique compact sont des disques à très grande capacité de stockage
(700 Mo) L'écriture et la lecture de ces disques se font par un rayon laser, d'où l'appellation
disques laser ou lecteur laser.

1.9 La mémoire morte ROM

Read Only Memory, range en général le programme d'initialisation du système (exemple dans le
PC elle range le BIOS : Basic Input Output system). Quand on allume un ordinateur, c’est le
BIOS qui s’exécute en premier, c’est ce dernier qui ouvre le système d’exploitation.

1.10 Le clavier la souris et l'écran

Le clavier, la souris et l'écran sont les périphériques qui permettent les échanges entre
l'homme et la machine. Sur beaucoup de systèmes, le clavier est considéré comme l'entrée
standard alors que l'écran constitue la sortie standard.

1.11 Les unités d'entrée sorties (e/s)

Les unités d'entrées/sorties réalisent l'interfaçage entre le processeur et les périphériques


extérieurs qui peuvent être très variés. Il est évident que la procédure pour écrire sur un disque
magnétique n'est pas la même que celle qui consiste à afficher les données sur un écran. C'est
le rôle de l'unité d'E/S de réaliser le " formatage" des données que lui communique le
processeur avant de les envoyer vers le périphérique spécifié.

1.12 BIOS et système d'exploitation

20
Pour l'instant, on peut se contenter de dire que le fonctionnement d'un ordinateur consiste en
un processeur qui exécute, instruction après instruction, un programme qui est stocké dans la
mémoire centrale.

Mais comme on l'a dit précédemment, tous les programmes contenus dans l'ordinateur sont
stockés dans le disque dur. Donc pour exécuter un programme, il faut le charger du disque dur
vers la mémoire. C’est le système d'exploitation qui s’occupe de cette tâche.

Or, le système d'exploitation lui-même est un programme particulier qui se trouve dans le
disque dur quand la machine est éteinte. Donc au démarrage de l'ordinateur, il faut un autre
programme qui sait accéder au disque, qui connaît la position où est stocké le système
d'exploitation, et qui le charge dans la mémoire centrale et demande au processeur de
l'exécuter. Ce programme est appelé BIOS, il est stocké dans une mémoire non volatile qu'on
appelle mémoire morte ou ROM qui est une mémoire électronique dont le fonctionnement est
similaire à celui de la mémoire centrale mais elle est accessible seulement en lecture. Au
démarrage, un mécanisme d'initialisation matériel aiguille le processeur vers cette mémoire
provoquant l'exécution du BIOS qui charge le système d'exploitation et lui passe la main.

1.13 Architecture matérielle

Les ordinateurs de bureau les plus répandus sont constitués d’une carte mère qui constitue
l’élément central sur lequel on vient brancher les éléments périphériques. La carte mère
comporte toujours les éléments suivants :

• Un support pour placer le processeur ;


• Un ou plusieurs circuits électroniques appelés Chipset ;
• Une mémoire non volatile contenant un programme important appelé BIOS ;
• Des supports pour placer la mémoire centrale (RAM) ;
• Des connecteurs pour placer les cartes d’extension (PCI) ;
• Un bus permettant d’interconnecter le processeur avec le reste des éléments ;
• Un (ou +) connecteur pour brancher les disques durs et les lecteurs de CD (IDE) ;
• Une horloge temps réel et sa pile ;
• Plusieurs connecteurs pour brancher les éléments externes comme l’écran, le clavier, la
souris, l’imprimante, les hauts parleurs . . .

21
Figure 11 : les constituants
d’une carte mère

Un des éléments importants que l’on trouve sur la carte mère est le chipset.

22
Le chipset

C'est L’ensemble de l’électronique qui est chargé de coordonner les échanges de données entre
les divers composants de l'ordinateur. Jadis répartis sur beaucoup de circuits, le chipset est de
plus en plus intégré de sorte que toutes les fonctions fondamentales de l’ordinateur (gestion du
bus, des interruptions, des périphériques d’E/S) ont été regroupées dans un ou deux circuits
intégrés appelés Chipset. Le but recherché est d'améliorer les débits de données entre le
processeur, la mémoire centrale, la mémoire vidéo le disque dur et autres périphériques. Le
chipset est généralement composé d'au moins deux puces distinctes :

 Le Northbridge (PONT NORD) ;

 Le Southbridge (PONT SUD).

Le Pont Nord est la partie la plus proche du processeur donc c’est elle qui fonctionne à la
fréquence la plus élevée et qui contrôlera les éléments les plus rapides du PC. Ainsi il gère les
échanges avec la mémoire, le bus AGP (pour les cartes graphiques). Le pont Sud est relié au
pont nord par le bus système, il gère les entrées/sorties :

Contrôleur IDE (pour les disques durs et CD-ROM), port USB, port Parallèle, ports Série,
port PS2 (pour souris et clavier) et Bus PCI pour les cartes d’extension additionnelles.

Figure 12 : nomenclature


du Chipset

III STRUCTURE DE LA MEMOIRE

La mémoire est divisée en emplacements de tailles fixes (par exemple 8 bits) utilisés pour
stocker instructions et données. En principe, la taille d’un emplacement mémoire pourrait être
quelconque ; en fait, la plupart des ordinateurs en service aujourd’hui utilisent des
emplacements mémoire d’un octet (byte en anglais, soit 8 bits, unité pratique pour coder un
caractère par exemple).

23
Dans une mémoire de taille N, on a N emplacements mémoires, numérotés de 0 à N - 1.
Chaque emplacement est repéré par son numéro, appelé adresse. L’adresse est le plus souvent
écrite en hexadécimal.

La capacité (taille) de la mémoire est le nombre d’emplacements, exprimé en général en kilo-


octets ou en méga-octets, voire davantage. Rappelons que le kilo informatique vaut 1024 et
non 1000, soit (210 = 1024). Voici les multiples les plus utilisés :

1 K (Kilo)=103= 210 = 1024 ;


1 M (Méga) =106 =220 = 1048 576 ;
1 G (Giga) =109= 230 = 1 073 741 824 ;
1 T (Téra)=1012= 240 = 1 099 511 627 776 ;

1 P (Péta)=1015=250=1.125*1015

2.1 Opérations sur la mémoire

Seul le processeur peut modifier l’état de la mémoire. Chaque emplacement mémoire conserve
les informations que le processeur y écrit jusqu’à coupure de l’alimentation électrique, où tout le
contenu est perdu (contrairement au contenu des mémoires externes comme les disquettes et
disques durs). Les seules opérations possibles sur la mémoire sont :

– écriture dans un emplacement mémoire : le processeur donne une valeur et une


adresse, et la mémoire range la valeur à l’emplacement indiqué par l’adresse ;

Quand le processeur veut écrire un octet, par exemple l’octet 28h à la position, ou à l’adresse
1368h de la mémoire, il place l'adresse 1368h sur le bus d'adresse, la donnée 28h sur le bus de
donnée puis active la ligne de contrôle WE (Write Enable).

– lecture dans un emplacement : le processeur demande à la mémoire la valeur contenue à


l’emplacement dont il indique l’adresse. Le contenu de l’emplacement lu reste inchangé.

Quand le processeur veut lire la donnée 56h à l’adresse 2359h, il place l’adresse 2359h sur le
bus d’adresses, la mémoire reconnaissant cette adresse, place la donnée 56h sur le bus des
données, le processeur active ensuite la ligne de contrôle RE ( Read Enable), il achemine la
donnée dans l’un de ses registres.

Notons que les opérations de lecture et d’écriture portent en général sur plusieurs octets
contigus en mémoire : un mot mémoire. La taille d’un mot mémoire dépend du type de
processeur ; elle est de :
– 1 octet (8 bits) dans les processeurs 8 bits (par exemple Motorola 6502) ;

24
– 2 octets dans les processeurs 16 bits (par exemple Intel 8086) ;
– 4 octets dans les processeurs 32 bits (par ex. Intel 80486 ou Motorola 68030).

2.2 Hiérarchie des mémoires par performance

Les mémoires d'un ordinateur se répartissent en plusieurs niveaux caractérisés par leur temps
d'accès et leur capacité. La figure 13 montre cette hiérarchie. Plus on s'éloigne du CPU, plus le
temps d'accès aux mémoires augmente ainsi que leur capacité alors que le coût par bit diminue.

• Les éléments situés dans l'unité centrale sont les registres, ils sont très rapides et
servent principalement au stockage des opérandes et des résultats intermédiaires ;

• La mémoire cache est une mémoire rapide de faible capacité. La mémoire cache est le plus
souvent intégrée au processeur pour qu'elle soit la plus rapide possible. On peut avoir une partie
sur le processeur (On chip cache) et une partie hors du processeur ;

• La mémoire centrale et l'organe principal de rangement des informations utilisées par le


CPU. C'est une mémoire à semiconducteurs, son temps d'accès est beaucoup plus grand que
celui des registres et de la mémoire cache ;

• Les mémoires de masse sont des mémoires périphériques de grande capacité et de coût
relativement faible. Elles servent d'éléments de stockage permanent et utilisent pour cela des
supports magnétiques (disques, bandes) et des support optiques (disques optiques).
Figure 13 : hiérarchie des mémoires

2.3 Caractéristiques d’une mémoire

Les éléments caractéristiques d’une mémoire sont :

 La capacité : c’est le nombre total de bits que contient la mémoire, elle s’exprime
souvent en octets ou plus ;

 Le format des données : c’est le nombre de bits que l’on peut mémoriser par case
mémoire. On dit que c’est la largeur du mot mémorisable ;

 Le temps d’accès : c’est le temps qui s’écoule entre l’instant où a été lancée une
opération de lecture ou écriture en mémoire et l’instant où la première information est
disponible sur le bus des données ;

25
 Le temps de cycle : il représente l’intervalle minimum qui doit séparer deux demandes
successives de lecture/écriture ;

 Le débit : c’est le nombre maximum d’informations lues ou écrites par seconde ;

 La volatilité : elle caractérise la permanence des informations dans la mémoire.


L’information stockée est volatile si elle risque d’être altérée par un défaut d’alimentation
électrique et non volatile dans le cas contraire.

 Des entrées/sorties : des entrées d’adresses et de données, des entrées de


commande, des sorties de données, des entrées de sélection de lecture/écriture (R/W),
une entrée de sélection du boîtier mémoire.

26
Adresses (n bits) Données (mbits)

R/W MEMOIRE

/CS

2.4 Cycle de lecture


Les cycles de lecture écriture ne sont pas les mêmes pour toutes les mémoires. Le cycle de
lecture représenté sur la figure est un cycle général qui représente les opérations à effectuer
pour réaliser une opération de lecture.

1) L'UC envoie l'adresse (de la case mémoire que l'on désire lire) sur le bus d’adresse ;
2) L'UC envoie le signal de sélection de boîtier /CS, (/CS=0) ;
3) L'UC envoie le signal RE (Read Enable) pour informer la mémoire qu'on désire réaliser
une lecture.
4) Au bout d'un certain temps que l'on définit comme le temps d'accès, les données se
présentent sur le bus de données qui était en mode haute impédance ;
5) Après lecture des données, L'UC ramène les signaux CS et RE à leur position de repos.

Un court instant après, les sorties repassent en haute impédance et le bus d'adresse est libéré
pour une éventuelle nouvelle utilisation.
Figure 14 : cycle de lecture Figure 15 : cycle d’écriture

27
28
2.5 Cycle d’écriture

Comme pour le cycle de lecture

1) L'UC envoie l'adresse (de la case mémoire dans laquelle l’on désire écrire) sur le bus
d’adresse ; 
2) L'UC envoie le signal de sélection de boîtier /CS, (/CS=0), avec /CS : CS barre.
3) Place la donnée sur le bus de données ;
4) L'UC envoie le signal WE (write Enable) pour informer la mémoire qu'on désire réaliser
une écriture ;
5) L'UC ramène WE à sa position de repos après une temporisation qui dépend du type
de mémoire.
6) Désélectionne le boîtier en ramenant /CS, (/CS=1) à sa position de repos.

2.6 Capacité d’une mémoire

Pour éviter toute confusion lors de la détermination de la taille d'une mémoire, se rappeler que :
• Le nombre de bits du bus de données détermine la taille des mots que l'on peut
mémoriser dans la mémoire (D, pour donnée) ;
• Le nombre de bits du bus d'adresse détermine la capacite, c'est à dire le nombre de
mots que la mémoire peut stocker (A, pour adresse) .

Figure 16 : Mémoire 256x8 :


28=256 adresses et 8 bits de
données

2.7 Entrée de sélection de boîtier


Beaucoup de circuits électroniques sont munis de cette entrée. Quand elle est validée, elle
permet au circuit de fonctionner correctement. Si elle n'est pas validée, le circuit est
complètement déconnecté. Ceci est très utile quand il s'agit de connecter plusieurs circuits en
parallèle sur un même bus. L'adressage doit être fait de telle sorte qu'il n'y ait jamais plus d'un
circuit sélectionné en même temps.

Cette broche de validation permet de sélectionner un boitier parmi plusieurs, d’où son
appellation : « Chip select » (/CS), elle est peut-être active au niveau bas ou CE (Chip
Enable), et évite des conflits sur le bus des données. Une logique de décodage permettra de
construire autant de /CS qu’il y a de boitiers mémoire.

29
30
28 Augmentation de la capacité mémoire par association de plusieurs boîtiers
Réalisons une mémoire de 4 Mo à l'aide de 4 boîtiers mémoires de 1 Mo chacun. Une
mémoire de 1 Mo possède 20 entrées adresse (voir tableau ci-dessous) : A0...A19. Or, pour
adresser 4 Mo il faut 22 entrées adresse : A0...A21. Les deux bits de plus fort poids permettent
de sélectionner un boîtier, les 20 autres permettent d’adresser un octet à l’intérieur du boîtier.

Figure 17 :
augmentation de
la capacité d’une
mémoire

Figure 18 : plage d’adresse par boîtier

Figure 19 : tableau de


correspondance : bit-capacité

TD1 : conflit de bus, voir figure 21

Description du processus de conflit de bus entre deux boîtiers

Le bus d’adresse est sur 16 bits, le bus de données est sur 8 bits. A l'adresse 1000H, le premier
boîtier mémoire contient A7H et le second contient A6H. Si le microprocesseur fait une lecture
à l'adresse 1000H (RD=1). Le premier boîtier mettra A7H : 1010 0111 sur le bus de données
et le deuxième A6H : 1010 0110 sur le même bus de données. Le bus de données D7- D0 a
donc sur son fil D0 un "0" et un "1" en même temps ; c'est à dire 5 volts et la masse. C'est
donc un court-circuit.

Les sélections de boîtiers "CS" (CS1 et CS2) sont des fonctions logiques. Elles proviennent de
circuits combinatoires appelés " logique de décodage ou encore décodage adresse". Les

31
variables logiques de ces fonctions logiques sont les variables du bus d’adresse (A0-An-1). Les
plages de validation des CSi doivent être exclusives les unes par rapport aux autres. C'est à dire
qu'elles ne se recouvrent pas.

Si CSi (A0-An-1) = 1 =>CSj(A0-An-1) = 0 quel que soit j ≠ i.

Figure 21 : conflit de bus entre deux boîtiers

Solution au problème :

Pour résoudre le problème, nous allons réaliser deux CS exclusives : CS1 et CS2. Si le bus
d’adresse est de 16 bits, soit 16 fils (A0-A15). Supposons que la taille mémoire d’un boîtier est
de 32 K, soit 32*1024 = 32 K = 215 adresses. Il y a donc 15 broches adresses sur chaque
boîtier. Nous pourrons mettre les fils A0-A14 du bus d’adresse sur ces broches. On peut prendre
le bit de poids fort pour créer les CSi : CS1 = /A15 (complément de A15) et CS2=A15.

Une lecture du microprocesseur à l'adresse 1000H donnera : A15=0, donc CS1 =1 et CS2=0.
Ce sera donc le premier boîtier qui sera validé et qui mettra le contenu de sa mémoire n° 0001
0000 0000 0000, c’est-à-dire A7H sur le bus de données. Par contre si A15=1, donc CS1=0
et CS2=1. Ce sera donc le second boîtier qui sera validé et qui mettra le contenu de sa
mémoire n° 0001 0000 0000 0000, c’est-à-dire A6H sur le bus de données.

La figure ci-dessous montre le schéma de câblage de la solution.

32
Figure 22 : solution du
conflit de bus entre
les deux boîtiers

TD 2 : réalisation d’un plan mémoire (conflit de bus)

On dispose d'un microprocesseur utilisant un bus de données de dimension 8 bits (D0-D7) , on


veut adresser 1 Mo (20 bits) cases de mémoire soit un bus d’adresse de 20 fils (A0-A19). On
veut réaliser un plan mémoire de quatre boitiers mémoire. On vous demande de calculer la
capacité adressable de chaque boitier mémoire, de réaliser le décodeur d’adresses et le schéma
de câblage.

Solution

Pour quatre boitiers mémoire, on aura besoin de quatre CS : CS0 ; CS1 ; CS2 ; CS3, soit 2n
CS, le n à la puissance représente le nombre de fils appartenant aux bits du bus d’adresse à
prendre de préférence sur les bits de poids fort, ici, n vaut 2. On prendra deux bits (en
commençant par le bit de poids fort) pour créer les quatre CS : A19 et A18, il restera donc :
A0-A17 soit 18 bits, on a une capacité adressable de 256 Ko, voir figure 19, (tableau de
capacité).

33

Vous aimerez peut-être aussi