YBET Informatique
Rue Albert 1er, 7
B-6810 Pin - Chiny
Route Arlon - Florenville

(
/fax: 061/32.00.15

Magasin YBET informatique

Cours HARDWARE PC d'YBET Informatique

FORMATIONS

Le MAGASIN YBET

PRODUITS et SERVICES

Définitions des termes techniques

Activités et présentation

Support technique

COURS HARDWARE

Plan d'accès à Chiny

 
YBET   Procédures techniques

3. Fonctionnement d'un système utilisant un microprocesseur, le Z80

3.1. Brochage d'une processeur 3.2. Exemples de timing du Z80 3.3. Décodage d'adresses 3.4. Schémas d'une carte à base de microprocesseur Z80 3.5. Systèmes Informatiques 3.6. Types de mémoires

Commençons par un petit montage électronique à base de microprocesseur: le schéma suivant représente un processeur interfacé à une mémoire (une ROM minimum est obligatoire) et un circuit d'entrée / sortie (par exemple un clavier, un modem, contrôleur de disque dur, ...).

Le microprocesseur (aussi appelé CPU pour Central Processeur UNIT ou processeur en abrégé) est l'élément principal d'un ordinateur, il traite des instructions à la suite les unes des autres, sans aucune décision: seules des instructions conditionnelles sont influencées par des commandes extérieures: clavier, souris et autres demandes de périphériques, ... Ces suites d'instructions sont communément appelées un programme. Chaque modèle de microprocesseur lit des instructions spécifiques à sa conception sous forme d'un langage de base que l'on appelle assembleur. Ce langage de programmation est complexe à utiliser puisqu'il est spécifique "machine" et codé en hexadécimal (au même titre que les données ce qui complique encore la programmation). Les logiciels que nous utilisons sont écrit dans des langages évolués (C, Visual Basic, ...) qui transposent les programmes en assembleur compréhensible par le processeur. Sauf quelques petites améliorations, tous les microprocesseurs des ordinateurs de la famille X86 en version 32 bits, (Intel Core, Athlon, ...) utilisent le même langage assembleur que les premiers 8088 (premiers PC XT).

Les circuits interfacés sont divers: mémoire, port de sortie, ... Néanmoins, tous ces montages électroniques incluent un programme de départ dans une mémoire ROM (contenu n'est pas effacé en l'absence de tension d'alimentation du circuit). Ce programme permet au microprocesseur d'exécuter le programme d'initiation au démarrage (ce qu'il doit faire comme détecter le disque dur, tester la mémoire, ...). Un système à microprocesseur est donc constitué de plusieurs circuits interfacés comme la mémoire ROM (obligatoire), la mémoire RAM (mémoire de travail pour les résultats), port d'entrée (clavier), port de sortie (afficheur, écran), ... mis en parallèle.

Deux types de processeurs sont fabriqués, le microprocesseur et le microcontrôleur. Au niveau traitement des informations, les 2 sont pratiquement équivalents. La distinction vient des fonctionnalités internes. Un microcontrôleur est dédié aux traitements des entrées / sorties (périphériques). De ce fait, des ports sont rajoutés (parallèle et / ou série suivant les modèles) qui vont permettre de recevoir ou d'envoyer des informations de périphériques lents. On pourrait utiliser un microprocesseur pour les mêmes fonctions mais ceci nécessiterais de rajouter des composants électroniques externes pour chaque port externe. Un microcontrôleur inclut souvent la programmation dans une mémoire ROM interne et même de la mémoire de travail de type RAM. Comme un microcontrôleur gère des périphériques lents, il n'est pas optimalisé pour la vitesse de traitement d'informations, ni même pour gérer des quantités de mémoire importantes: tâche réservée aux processeurs.

3.1. Brochage et signaux d'un processeur de base, le Z80

L'interfaçage du processeur nécessite 3 bus: un bus de donnée, un bus d'adresse et un bus de commande. Un bus est un ensemble de lignes de communication (matérialisé par des fils) qui relie 2 (ou plus) circuits digitaux entre-eux. Sur chaque fil, la tension électrique peut prendre 2 valeurs distinctes que nous désignerons généralement par 1 et 0 (tension présente ou absente).

Chaque emplacement mémoire ou périphérique interne est désigné par une adresse spécifique (parfois plusieurs à la suite de l'autre, ce que l'on appelle une plage d'adresse), similaire à une adresse postale. Une adresse spécifique ne peut pas être partagée entre plusieurs circuits. Le bus d'adresse permet au processeur de communiquer avec le périphérique via son adresse (ou sa plage). Un bus d'adresse est constitué de plusieurs lignes. Par exemple, 8 bits correspond à 8 lignes d'adresses et peut donc adresser 2 8 (soit 256) adresses différentes, 210 donne 1024, soit 1 Kilo. Plus le nombre de lignes d'adresse est élevé, plus le processeur est capable de gérer de périphériques ou de capacité mémoire Ram.

Une fois le périphérique contacté via le bus d'adresse, le bus de donnée permet de transférer des données binaires (y compris les lignes d'instruction en assembleur): en lecture (données transférées au processeurs) ou en écriture (envoi de données vers le périphérique). Le bus de donnée est constitué d'un certain nombre de lignes. Toutes les capacités des bus de donnée sont désignées sous 8 lignes de données (en Byte - octet), ou en multiple de 8 bits, les processeurs actuels utilisent 64 lignes de données. Donc 1 MB de mémoire signifie 1 Mb sous 8 lignes, soit 8 Mb (Méga bits).

Brochage du microprocesseur Z80

Un bus de commande synchronise les transferts de données entre le processeur et les périphériques (mémoire, entrées / sorties). Il assure le dialogue nécessaire pour le transfert à (opération d'écriture) ou de (opération de lecture) l'adresse indiquée. Les signaux du bus de commande permettent également de gérer les interruptions, commandes spécifiques qui permettent à un circuit externe de signaler au processeur qu'il est prêt à recevoir des données de l'extérieur par exemple. Signal bas signifie qu'il est actif lorsque le signal est à 0 V (on le désigne par signal), non actif lorsque le signal est à l'état haut (typiquement 5V). Les séquences présentes sur le bus de commande sont également spécifiques au processeurs. C'est ce que l'on appelle le TIMING. Voici par exemple le brochage d'un processeur Z80 des années 80.

Peu de ces signaux n'interviennent réellement dans les notions courantes sur les systèmes PC (et autres). Cinq signaux sont cependant primordiaux pour une système informatique: RESET, INT, NMI, BUSREQ et BUSAK. Ils seront utilisés dans la suite du cours au niveau des ordinateurs actuels.

3.2. Exemples de timing microprocesseur du Z80

Le but n'est pas de rentrer dans les détails des TIMING d'un Z80 (ni d'un autre d'ailleurs) mais d'expliquer ce qui se passe au coeur du montage informatique.

Lecture / écriture mémoire

Ceci représente le chargement d'une instruction ou d'une donnée par le processeur suivi d'une écriture. L'ensemble des signaux est cadencé par l'horloge. Le microprocesseur commence par mettre une adresse valide sur le bus d'adresse (celle où se trouve l'instruction). Une fois le signal stable, il émet un signal MREQ et un READ pour signaler à la mémoire qu'une adresse valide est présente sur le bus et qu'il va demander un accès mémoire en lecture. A la fin du cycle, la mémoire transfert sur le bus de données les informations (IN). Dans la cas d'une écriture vers la mémoire, le signal READ est remplacé par un signal WRITE. Un signal WAIT est renvoyé par la mémoire (ou plus généralement par un petit montage inséré dans les bus de commande) pour ralentir le montage.

Instruction de code Fetch avec Wait States (instruction de chargement de donnée avec 1 temps d'attente).

Ce timing est identique à celui ci-dessus sauf que 2 temps d'attente (WAIT) sont insérés pour ralentir le montage (cas où la mémoire n'est pas assez rapide pour le processeur) et qu'un signal de rafraîchissement mémoire (REFRESH) est envoyé à la fin du chargement d'instruction.

Requêtes d'interruption.

Une interruption permet à un périphérique de signaler au processeur qu'il doit s'occuper de lui (arrivée d'une donnée, ...). Le signal INT est échantillonné par le processeur sur le flanc montant du dernier cycle d'horloge de chaque instruction. Ce signal d'interruption n'est accepté que si le masque software d'interruption (une commande assembleur spécifique qui demande au processeur de ne pas tenir compte des interruptions mascables) n'est pas accepté ou si le signal BUSRQ n'est pas actif (demande de DMA).

Quand le signal est accepté, un signal M1 est généré. Durant ce cycle spécial M1, le signal IORQ devient actif (à la place du signal mémoire MREQ), indiquant que le périphérique demandant une interruption peut placer une donnée sur 8 bit sur le bus de donnée. Dans le cas du Z80, 2 instructions d'attente sont d'office générée, ce qui évite un montage électronique pour ralentir la lecture des données sur des périphériques plus lents que la mémoire. Ceci permet au signal de se stabiliser.

3.3. Décodage d'adresses.

Décodage d'adresse Z80

Décodage d'adresse d'un microprocesseur Z80

Décodage d'adresse d'un microprocesseur 6502

Représentés ci-dessus le décodage d'adresse pour deux processeurs différents de la même génération: un Z80 et un 6502. La différence vient du décodage des adresses liée aux signaux de lecture et d'écriture. Le Z80 utilise deux broches distinctes (RD et WR) qui sont chacune reliées à la broche correspondante de la mémoire ROM (sauf écriture), Ram et d'un périphérique IO. En 6502, une seule broche est utilisée.

Exercice: Raccorder le microprocesseur (bus de données sur 8 bits et bus d'adresse sur 16) aux 4 mémoires sur 4 bits (données) ci-dessous. Le circuit utilise 214 adresses valides. Dessinez les bus d'adresses et de données, les signaux d'écritures et lecture mémoire, ensuite le décodage d'adresse en utilisant des portes NO, NAND et NOR pour connecter chaque CE (chip enable).

3.4. Schémas d'une carte à base de Microprocesseur Z80

En schématisant, ça donne (hors alimentation):

Le microprocesseur z80 est connecté au bus d'adresse et au bus de donnée par des buffers tri-state (trois états). Ils ne sont pas obligatoires (inclus dans le processeur) mais sont souvent rajoutés par précaution. Ces buffers "trois états" permettent les fonctions de DMA (Direct Memory Access) du montage électronique: transferts directs des données de (ou vers) la mémoire à partir d'un circuit périphérique sans transit des données par le processeurs. Le circuit périphérique doit pour ce faire contrôler les trois bus.

Le bus d'adresse est relié en partie basse sur les mémoires et périphériques. La partie haute est utilisée pour le décodage d'adresse.

Le bus de donnée est directement raccordé sur tous les périphériques. Chaque périphérique est relié au bus de commande par les signaux lecture (READ) et écriture (WRITE), actifs bas. 

Le signal RESET (le bouton sur la face avant du PC) réinitialise le montage en hardware. Le RESET software (<ALT> + <CTRL> + <Suppr>) est programmé dans le système d'exploitation. Un reset fonctionne dans tous les cas de plantage et redémarre l'ordinateur, sauf en cas de panne du montage électronique.

L'horloge synchronise les transferts entre tous les circuits.

3.5. Montages informatiques

Le schéma électronique ci-dessus représente un système à microprocesseur de type industriel. Très efficace dans un processus "fermé", il est difficilement utilisable tel quel dans un ordinateur. Une bonne part des fonctions sont remplacées par des circuits plus ou moins spécialisés.

Un ordinateur va par exemple afficher le résultat sur un écran ou un LCD. Pour les PC, on utilise un circuit dédié inséré sur une carte électronique appelée "Carte graphique". Pour que nous, utilisateurs, puissions commander l'ordinateur, nous allons insérer un clavier et une souris. Ils sont également raccordé via un circuit spécialisé.

En dernier, pour pouvoir communiquer avec des appareils externes divers, nous utilisons des "ports de communication" de type parallèle ou série. Pour un port parallèle, le nombre de lignes de données sont des multiples de 8. C'est une continuation (mais plus lente) d'un bus de donnée interne via une interface dédiée qui utilise des signaux de contrôle plus spécifiques aux appareils externes, par exemple un port Centronix pour imprimante. Pour un port série, la transmission des données utilise un fil (en pratique 3 minimum: envoi, réception et masse). L'information sur 8 bit (un Byte) est découpée pour envoyer chaque bit un à la suite de l'autre. C'est par exemple le cas d'un modem série, d'un périphérique USB ou même d'un disque dur S-ATA. Le fil de communication transmet non seulement les données, mais également des signaux de contrôle.

En dernier, le schéma ci-dessus est appelé système fermé. Le raccordement de cartes supplémentaires est impossible. Dans le cas de systèmes ouverts, comme les PC, les cartes additionnelles utilisent des connecteurs internes spécifiques, aussi appelés bus (PCI, AGP, AMR, ...). Ils sont normalisés (dimension, brochage, timing des signaux, ...). Nous les verrons au chapitre 6.

3.6. Types de Mémoires utilisées dans les ordinateurs.

Deux types de mémoires distinctes sont utilisées dans les ordinateurs: les ROM et les Ram.

Une mémoire RAM autorise l'écriture et la lecture mais nécessite d'être rafraîchies (rechargée) régulièrement. En effet, le contenu (1 ou 0) est sauvegardée par effet capacitif dans un transistor. Les Ram sont raccordées par l'extérieur par le bus d'adresse et le bus de données. Les signaux de contrôle sont CE, WR et RD (oe). En plus, et c'est là leur principal problème, les données disparaissent si elles ne sont plus alimentées.

Schéma de base de l'informatiqueUne mémoire ROM fonctionne uniquement en lecture et programmée directement à la fabrication. Le contenu (programme et données) n'est donc pas modifiable. Quelques circuits de type ROM modifiables sont également utilisés: Eprom (Electric Prom) programmables en 1 fois (mais peuvent êtres dans certaines versions effacées à la lumière UV), EEprom (Electric Erasable Prom), effaçable complètement plusieurs fois et Rom Flash que l'on peut écrire directement par un signal électrique. Tous ces circuits gardent les informations si l'on coupe la tension d'alimentation.

Le BIOS (actuellement UEFI) en mémoire ROM, contient le programme de démarrage d'un PC. Actuellement, il est conservé dans une mémoire de type Eprom ou Flash Rom. Ce BIOS est apparu avec l'ordinateur à base de microprocesseur 286 d'IBM, c'est une programmation spécifique au PC et permet certains paramétrages de l'utilisateur. Les paramétrages utilisateurs sont sauvegardés dans une mémoire. Cette mémoire de type RAM (le contenu est effacé si le circuit n'est pas alimenté) est alimentée en permanence par un pile.

On désigne les programmations spécifiques à l’électronique numérique sous le nom de firmware. Cette notion modifie notre schémas de base de l'informatique. Le flashage du BIOS permet donc de mettre dans la partie "flash Rom" une nouvelle version du firmware de votre ordinateur. Durant l'opération, la partie firmware est chargée en mémoire Ram, le temps de transférer la nouvelle version en mémoire ROM: en cas de coupure de courant durant le flashage, il est impossible de redémarrer l'ordinateur, le BIOS permettant de démarrer le PC étant absent ou incomplet.

fonctionnement interne des microprocesseurs actuels: comment les fabricants ont modifié le fonctionnement et ... les performances Hardware: les processeurs PC:
Liste et caractéristiques des processeurs utilisés dans les ordinateurs.
Définitions techniques hardware1: définitions du cours technique sur les PC et ordinateurs Le matériel réseau: cours hardware:
le fonctionnement des réseaux, les périphériques spécifiques, ... la suite du cours PC et périphériques

La suite du cours hardware 1 > 4. Augmenter les performances d'un système à Microprocesseur

< 2. Bases en électronique et électricité

Mise à jour 09/10/2008

La Formation hardware 1: PC et périphériques. La Formation Hardware 2: réseaux, communications et serveurs - DOS et Windows

Retrouver l'ensemble d'YBET informatique à Pin - Chiny