Vous êtes sur la page 1sur 12

Centre national de qualification professionnelle

INFORMATIQUE INDUSTRIELLE

Objectifs :

- Analyse fonctionnelle et la compréhension des structures relatives aux systèmes


microprogrammes
- Détermination de la configuration matérielle minimale
- L’analyse et la compréhension d’un algorithme
- La représentation de l’algorithme sous forme d’un organigramme
- La traduction de l’algorithme dans un langage adapté à l’unité de traitement
- La détermination des méthodes de tests et de mise au point tant sur le plan matériel
que logiciel.

SYSTEMES MICROPROGRAMMES

1. Introduction
L’automatisme des processus industriels met en œuvre des systèmes de détection
d’événements et de mesures de grandeurs physiques, des unités de calcul permettant de gérer
ces données pour déterminer les commandes a appliquer au processus et en assurer le bon
fonctionnement.
On peut résumer les taches dévolues aux systèmes de contrôle sous les rubriques :
 Acquisition de données
 Traitement des informations (Calculs logiques & arithmétiques)
 Gestion des sorties (commande numérique & automates)
 Mise en forme des données pour archivage et édité de supports
La multiplicité des actions conduit à utiliser des systèmes modulaires programmables
utilisant des microprocesseurs et leurs organes périphériques dans des configurations adaptées
à chaque situation.
2. Organisation fonctionnelle minimal d’un ordinateur
Apres description exacte du problème d’automatisme, en élaborant un cahier des
charges, il est possible de déterminer les besoins tant au niveau des entrées (capteurs,
interfaces spécifiques), que des sorties (actionneurs, cartes de commande, dispositifs de
visualisations et /ou d’impression, dispositifs de communication.
Un ordinateur est composé de :
– mémoire (RAM/ROM) ;
– un CPU ;
– quelques circuits d’entrée/sortie.
Les trois parties sont connectées par les trois bus (ensemble de fils) : adresse, données, et
contrôle. Le CPU est le maître unique dans les ordinateurs simples, et c’est lui qui contrôle
tout le système.

1 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle
La séquence des instructions (ou programme) est stockée en mémoire à des emplacements
successifs et en code binaire. Le rôle du CPU se décompose en quatre étapes :
1. aller chercher l’instruction suivante en mémoire →cycle de chargement ;
2. la décoder pour déterminer l’action qu’il doit effectuer ;
3. l’exécuter → cycle d’exécution ;
4. revenir à l’étape 1.

Figure 1 structure d’un ordinateur

On distingue 2 architectures différentes :


La première dite « de Von Neumann » à un seul espace adressable. Le programme et les
données sont simplement rangés à des adresses différentes.

Figure 2 Architecture de «Von Neumann » d’un système informatique

La deuxième dite « de Harvard » offre deux espaces physiquement séparés pour le


programme et les données. Il est donc impossible d’écrire dans l’espace de programme, ce qui
le protège contre les destructions accidentelles et augmente l’espace adressable.

2 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

Figure 3 Architecture de «Harvard» d’un système informatique

3. Organisation structurelle d’un système a microprocesseur


Les structures matérielles des systèmes microprogramme(ou système à microprocesseur) sont
essentiellement organisées autour des microprocesseurs.
Il existe actuellement 2 grandes familles d’architecture des microprocesseurs :
 Architecture CISC (Complex Instruction Set Computer) : elle privilège les
instructions plus complexes (nécessite un décodeur complexe). Pour une tache donnée, on
exécute un petit nombre d’instruction qui nécessite chacune un grand nombre de cycles
 Architecture RISC (Reduced Instruction Set Computer) : Une étude a prouvé que 80
% des traitements des langages de haut niveau faisaient appel à seulement 20% des
instructions microprocesseur, d’où l’idée de réduire ce jeux d’instruction. Chaque instruction
s’exécute en un cycle d’horloge.
3.1. Microcontrôleur
Le microcontrôleur est un système à microprocesseur associé à des mémoires et des interfaces
d’entrée et sortie dans un seul circuit intégré. Il est utilisé pour contrôler des machines tels que
les appareils électroménagers, voitures, dispositifs industriels, lecteurs de carte à puce...)

Fig. Schéma bloc d’un microcontrôleur


3 diaomar35@gmail.com Les systèmes à microprocesseur
Centre national de qualification professionnelle

Le microcontrôleur est constitué au minimum :


 d'un microprocesseur
 de mémoires (mémoire morte : ROM) et mémoire vive : RAM)
 d’interfaces pour les périphériques
Des fils de liaison appelés bus sont nécessaires pour la connexion entre les différentes
parties.
Une horloge (un circuit oscillateur délivrant des impulsions à une certaine fréquence)
sera nécessaire pour exécuter les opérations séquentiellement). Plus la fréquence sera grande,
plus l’unité centrale travaillera vite. (8MHZ veut dire 8 millions d’impulsions par secondes).
3.1.1. Le microprocesseur
Un microprocesseur (abrégé par μP) est un circuit intègre complexe caractérise par une très
grande intégration et dote des facultés d’interprétation et d’exécution des instructions d’un
programme. Il est chargé d’organiser les tâches précisées dans la mémoire programmable et
d’assurer leur traitement. C’est le ‘cerveau’ du système. Il représente le CPU (Central Process
Unit, ou le MPU (MicroProcessing Unit) ou encore UC (l’unité centrale). Il est caractérisé par
sa fréquence d’horloge, sa largeur des bus de données et d’adresse, sa mémoire adressable le
nombre de transistors et la taille de la gravure en microns. Ses performances sont caractérisées
par le CPI (Cycle Par Instruction) et le MIPS (Millions d’Instructions Par Seconde) qui
dépend directement de la fréquence d’horloge et de son jeu d’instruction.
Le microprocesseur est construit essentiellement autour de deux éléments :
 une unité de traitement
 une unité de commande
Ces deux éléments sont associés à des registres chargés de stocker les différentes
informations à traiter. L’ensemble sont relis entre eux par des bus internes (de données et
d’adresses) permettant l’échange d’informations.
Il existe deus types de registres : registre d’usage général connecté au bus de données
et les registres d’adresse (PP : registre pointeur et SP : pointeur de pile LIFO) connectés au
bus d’adresses.

4 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle
Remarque :
La première étape de conception d’un μP consiste à définir son jeu d’instructions
élémentaires, notamment le type, le codage, le mode d’adressage et le temps d’exécution
relatif aux diverses instructions. Le seul langage compris par le μP est le langage machine
(binaire). Pour faciliter la tâche du programmeur, on utilise le langage assembleur (propre à
chaque μP) composé de mnémoniques (opérations de transfert, arithmétiques et logiques).
Pour éviter la difficulté de la mise en œuvre de l’assembleur, on utilise un langage de haut
niveau(C, Pascal, java, etc.…) plus adapté aux applications. Pour que le langage programmeur
soit compris par μP il faut compiler (compilateur : traduction en assembleur) puis l’assembler
(assembleur : conversion en code ou langage machine).
3.1.1.1.Unité de traitement
C’est la partie opérative du microprocesseur. Il s’agit du cœur du microprocesseur.
Cette unité regroupe les circuits qui assurent les traitements nécessaires à l’exécution des
instructions. Elle est composée de :
 une Unité Arithmétique et Logique UAL ou ALU (Arithmetic and Logique Unit) :
ce circuit assure les fonctions logiques (comparaison, décalage, fonctions booléennes etc.…)
et arithmétiques (addition, soustraction, etc.…)
 Un registre d’état constitué d’un nombre de bits (généralement 8 bits) dont chacun
représente l’état de la dernière opération effectuée par l’ALU : les principaux indicateurs
d’état (ou drapeaux : flag) sont la retenue (Carry), la retenue auxiliaire (AC, le signe (S), le
débordement (over flow), le zéro (Z) et la parité (P) ;
 des accumulateurs qui sont des registres servant à stocker un opérande au résultat a
la fin d’une opération.

Fig. Unité de traitement

3.1.1.2.L’unité de commande
C’est la partie commande du microprocesseur. Elle permet de séquencer le déroulement
des instructions. Elle effectue la recherche dans la mémoire une instruction, assure le
décodage, pour réaliser l’exécution puis préparer l’instruction suivante. L’unité de
commande assure le cycle de chargement et d’exécution des instructions organisées selon un
ensemble appelé programme.

5 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

Fig. Unité de commande


Elle est compose par :
 Le compteur de programme (PC, Program Counter) : registre qui contient l’adresse de
l’instruction à exécuter. Il est appelé « compteur ordinal », « Pointeur de programme » etc.
Dans le cas des PIC, il s’appelle PC, pour Program Counter.
 le registre et le décodeur d’instruction (IR, Instruction Register) : Stockage et
décodage instruction à exécuter
 le séquenceur : bloc logique de commande qui organise l’exécution des instructions au
rythme d’une horloge. Il élabore tous les signaux de synchronisation internes ou externes (bus
de commande).
Les principaux registres à l’intérieur du μP :
Le compteur ordinal ou en anglais le PC (Programme Counter). Il a la taille de l’adresse
bus et pointe à la prochaine instruction à exécuter il contient l’adresse de la prochaine
instruction à exécuter. PC s’incrémente automatiquement avec une constante (x octets = code
instruction + code opérande) sauf en cas de saut ou branchement (PC se charge alors avec
l’adresse de début de la routine appelée suite à un CALL par exemple).
Le registre d’instruction. C’est là que le code de l’instruction est déposé pour être
décodé. Son utilisation est automatique sans que l’utilisateur le manipule.
L’accumulateur A C’est le registre qui contient au début de l’instruction l’opérande de
l’opération. Une fois que l’instruction est t exécutée il contient en général le résultat de cette
opération.
Le pointeur de pile ou en anglais SP (stack pointer). C’est une zone mémoire vive
réservée au stockage temporaire de données utiles au déroulement du programme. Le pointeur
contient l’adresse de la dernière case utilisée ou de la prochaine case libre.
Pour permettre l’exécution du programme, il faut que la suite d’instructions(en langage
machine) soit conservée dans une mémoire.

6 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

3.1.1.3.Cycle d'exécution d'une instruction


Un microprocesseur ne comprend qu'un nombre limité d'instructions (codées en
binaire). Le traitement d'une instruction peut alors être décomposé en 3 phases
principales :
Phase 1 : recherche de l'instruction à traiter
- L’unité de commande émet un ordre de lecture et place la valeur contenue dans le
compteur de programme (PC) (adresse de l'instruction) sur le bus d'adresses.
- Après un certain temps (d'accès à la mémoire), le contenu de la case mémoire
sélectionnée est disponible sur le bus de données.
- L’instruction est stockée dans le registre IR.
Phase 2 : décodage de l'instruction
- l'unité de commande transforme l'instruction (codée sous forme de mots binaires) en
une suite de commandes élémentaires.
- l'unité de commande récupère (si besoin) sur le bus de données la valeur d'une
donnée en provenance de la mémoire.
- l'opérande est stocké dans un registre de base.
Phase 3: exécution de l'instruction
- le microprogramme réalisant l'instruction est exécuté.
- les drapeaux sont positionnés.
- l'unité de commande positionne le compteur de programme (PC) pour l'instruction
suivante.
4. Les Mémoires
C’est un circuit intégré permettant de stocker et de restituer des informations (données)
correspondant à N mots de n bits. Les données sont groupées par 4 bits, 8 bits (plus usuel), 16
bits ou 32 bits ...définit par la largeur du bus de données.
Il faut voir la mémoire comme un tableau, où les lignes contiennent les données, et le numéro
de la ligne du tableau est l’adresse définit par la largeur du bus d’adresse.
En plus de ces deux bus, un boitier mémoire comporte une commande pour sélectionner
lecture ou l’écriture et une entrée de sélection.
À l’intérieur de chaque circuit mémoire un décodeur active le mot sélectionné, une logique de
contrôle définit le sens des échanges.

Une opération de lecture suit le cycle d’instructions suivant :


 Sélection de l’adresse,
 Choix de l’opération à effectuer (R ou RD ou W ou WR)
 Sélection de la mémoire ( 㨔㨤 = 0 )
 Lecture de la donnée.

7 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

8 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

 Bit=cellule mémoire, circuit electrique qui stocke un 0 ou 1

 Octet : expression specifique a un mot de 8 bits


 Mot mémoire : groupe de bits dans la mémoire. On a habituellement de mots de 8 à 256
bits.

 Capacité : le nombre total de bits mémorisable et le format correspond à la longueur des


mots. Le nombre k de bits du bus d'adresse définit le nombre total de mots de la mémoire, si
n est le nombre de bits par mot (le bus de données), la capacité de la mémoire est de 2k mots
= 2k × n bits.
Par exemple :
Un circuit mémoire de 20 lignes d’adresses est égal à 220mots =1048576 mots. S’il
possède un bus de 8 bits de données. Ce circuit est de 1 Ki mots binaires de 8 bits, il a donc
une capacité de 1048576*8=8388608 bits ou 8192 Ki bits ou 8 Mi bits ou 1 Mi octets.
 Adresse : nombre qui permet la localisation physique d’un mot en mémoire. Par exemple
pour une mémoire de 1 Ki mots, si le premier est a l’adresse 000 H, le dernier mot sera a
l’adresse 3FF H.
 Lecture : opération pendant laquelle un mot binaire stocké dans un emplacement mémoire
est retrouvé puis transféré vers la sortie de la mémoire.
 Ecriture : opération au cours de laquelle un nouveau mot binaire est installé dans un
emplacement mémoire. Chaque fois qu’un nouveau mot est installé dans un emplacement
mémoire, il remplace le mot s’y trouvant.

9 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

Il existe deux familles de mémoires :


 une mémoire qui sera seulement lue : On l’appelle mémoire morte ou mémoire
passive ou ROM (Read Only Memory). Elle stocke le programme ou le système
d’exploitation, on l’appelle parfois mémoire programme. Les infos y sont conservées de façon
permanente même lorsque l’alimentation est interrompue : C’est une mémoire non volatile.
La seule opération possible est la lecture, l’opération d’écriture qui est possible est
appelée programmation qui peut varier selon le type ROM. On distingue :
-la ROM ; mémoire programmée en usine par le constructeur, son contenu est non modifiable,
-la PROM (Programmable ROM) ou OTPROM (One Time programming ROM); mémoire
programmée une seule fois par l’utilisateur.
- la EPROM (Erasable Programmable ROM) ; mémoire effaçable puis reprogrammable soit :
* la EPROM ou UV-EPROM; mémoire effaçable par UV et programmable par électricité.
On les reconnait par leur petite fenêtre de quartz qui permet aux UV d’atteindre le silicium.
* la EEPROM (Electrically EPROM) ; mémoire effaçables électriquement programmables
électriquement et effaçables électriquement.
* Flash EPROM : Communément appelée mémoire flash (Clé USB, lecteur MP3, appareil
photo numérique, les téléphones cellulaires, les imprimantes, les ordinateurs portables,…),
c’est une EEPROM particulièrement basée sur deux technologies (NOR : cellules en
parallèles, bus d’adresse et de données dédiés ou NAND : cellules en série, interface d’E/S
indirecte). La seule différence provient de la structure interne et de la technologie utilisée qui
permet un meilleur compromis vitesse/capacité.
La mémoire flash stocke les bits de données dans des cellules de mémoire, comme une
DRAM, mais elle fonctionne comme un disque dur.

10 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

 une mémoire qui pourra être lue et à écrite : on l’appelle mémoire vive, volatile ou
active ou RAM (Random Access Memory). Elle sert au stockage temporaire des données.
Elle contient toutes les variables (variable d’entrée et variables générées lors de l’exécution du
programme : résultats) et les donnes nécessaires au programme pour son bon fonctionnement
(mémoire de données). mais elles sont volatiles (toutes les infos sont perdues en cas de
coupure d’alimentation) Les deux principales catégories sont les :
- SRAM : RAM Statique à accès rapide mais de faible capacités et couteux donc peu
adaptées à des mémoires massives (type ordinateur PC),
-DRAM : RAM dynamique bon rapport capacité/prix et de grandes capacité, mais il est
nécessaire de rafraichir régulièrement les données mémorisées.
Pour une mémoire vive le signal Read/Write (R/W) provenant du microprocesseur est
nécessaire.

L’avantage de DRAM par rapport aux SRAM est que leur surface est environ quatre fois plus
faible à capacité identique. Les DRAM sont utilisés pour la mémoire principale. Il existe :
– DRAM FPM (fast page mode asynchrone jusqu’à 25 ou 33 MHz;
À une certaine période, la mémoire FPM était la forme la plus courante de DRAM dans les
ordinateurs. Elle était si fréquente que l’on parlait simplement de « DRAM », en oubliant «
FPM ». La technologie de mémoire FPM offrait un avantage sur les précédentes car elle
permettait un accès plus rapide aux données situées sur une même rangée.
– EDO DRAM (extended data out) jusqu’à 66 MHz;
Apparue en 1995, la mémoire EDO représentait une nouvelle innovation dans ce domaine.
Similaire à la FPM, elle comportait pourtant une légère médication, autorisant des accès
mémoire consécutifs bien plus rapides. Le contrôleur de mémoire gagnait du temps en
supprimant quelques étapes dans le processus d’adressage. Avec une EDO, l’adressage de la
mémoire par la CPU s’effectue à une vitesse supérieure de 10 à 15 % par rapport à une FPM.

11 diaomar35@gmail.com Les systèmes à microprocesseur


Centre national de qualification professionnelle

– SDRAM: DRAM synchrone jusqu’à 200 MO/s


Fin 1996, les SDRAM ont commencé à équiper les systèmes. À la différence des technologies
antérieures, la SDRAM se synchronise elle-même avec la CPU. Ainsi, le contrôleur de
mémoire connaît le cycle d’horloge exact où les données seront disponibles. Donc, la CPU
n’attend plus entre les accès mémoire. Les puces SDRAM bénéficient des modes «
entrelacement » et « rafale », qui accélèrent également la recherche en mémoire. Les modules
SDRAM sont disponibles en différentes fréquences, assurant ainsi la synchronisation avec la
vitesse d’horloge du système où elles sont implantées [RAM].
– DDR SDRAM : fonctionne sur les deux fronts de l’horloge
La DDR SDRAM représente la génération suivante de la technologie SDRAM. Elle permet à
la puce mémoire d’effectuer des transactions à la fois durant la phase montante et durant la
phase descendante du cycle d’horloge. Par exemple, avec une DDR SDRAM, un bus mémoire
à 100 ou 133 MHz gère un débit de données réel de 200 MHz ou 266 MHz. Des systèmes
dotés de DDR SDRAM sont apparus fin de l’an 2000.
– RAMBUS
Direct Rambus est une nouvelle norme d’architecture et d’interface de DRAM qui représente
un défi par rapport à la configuration classique de la mémoire principale. Comparée aux
anciennes technologies, Direct Rambus est extraordinairement plus rapide. Elle est capable de
transférer les données à une vitesse atteignant 800 MHz via un bus étroit (16 bits), appelé
Direct Rambus Channel. Cette vitesse d’horloge élevée est rendue possible grâce à un
dispositif "double horloge," qui autorise les transactions à la fois durant la phase montante et
durant la phase descendante du cycle d’horloge. Donc chaque dispositif de mémoire d’un
module RDRAM génère une bande passante atteignant 1,6 giga-octet par seconde - le double
de celle disponible sur les SDRAM 100 MHz courantes [RAM].
Autres technologies de mémoires [RAM]
– ESDRAM : Enhanced SDRAM
Afin d’augmenter la vitesse et l’efficacité des modules mémoire standard, certains fabricants
ont incorporé une petite quantité de SRAM directement sur la puce, créant ainsi un cache
intégré. Une ESDRAM est donc essentiellement une SDRAM plus une petite quantité de
cache SRAM qui autorise un fonctionnement en rafale jusqu’à 200 MHz. Comme avec un
cache externe, la DRAM place les données le plus fréquemment utilisées dans le cache
SRAM afin de réduire les accès à la DRAM, moins rapide. L’un des avantages de la SRAM
sur puce est qu’elle permet la mise en place d’un bus plus large entre la SRAM et la DRAM,
augmentant ainsi la bande passante et la vitesse de la DRAM.
– FCRAM : Fast Cycle RAM
La FCRAM, développée conjointement par Toshiba et Fujitsu est destinée à des applications
spécifiques comme les serveurs évolués, les imprimantes ou les systèmes de commutation
dans les télécommunications. Elle inclut une segmentation et un pipelinage interne, qui
accélèrent les accès aléatoires et réduisent la consommation électrique.
– SLDRAM : Synclink DRAM
Bien qu’elle soit considérée comme obsolète aujourd’hui, la SLDRAM a été développée par
un groupe de fabricants de DRAM comme variante de la technologie Rambus, en fin d’années
1990.
– VCM : Virtual Channel Memory
Développée par NEC, la VCM permet à différents « bancs de mémoire d’établir de manière
autonome une interface avec le contrôleur de mémoire, grâce à un tampon. Il est ainsi possible
d’attribuer à différentes tâches système leurs propres « canaux virtuels » ; de plus, les
informations concernant une fonction ne partagent pas l’espace tampon avec d’autres tâches
simultanées, ce qui rend le fonctionnement plus efficace.

12 diaomar35@gmail.com Les systèmes à microprocesseur

Vous aimerez peut-être aussi