| 1.
Le
cours Hardware 1 |
| 2. Base
d'électronique et électricité: portes logiques, composants. |
| 3. Montage
à microprocesseur, fonctionnement de base. |
| 4. Amélioration
des systèmes à microprocesseurs, FSB, structure interne, bus,
... |
5. Les
processeurs utilisés dans PC (bureautique)
5.a. Processeurs
dédiés serveurs
5.b. Dual
et quadri coeur
5.c. Processeurs
pour PC portables |
| 6. Connections
internes: bus ISA, PCI, AGP, PCI-Express, ... |
7. Fonctionnement
interne d'un processeur, son architecture
7.a Structure des
Athlon 64 et XP
7.b. Architecture Netburst -
Intel Core |
| 8. Les Chipset,
composant principal de la carte mère |
| 9. La mémoire Ram:
Simm, Dimm, DDR, RamBus, ... |
| 10. Disque dur
IDE et SATA |
| 11. Lecteur
de disquette |
| 12. Interruptions,
adresses, ports parallèles, série, USB.
12.A Modem
|
| 13. Explications
sur les couleurs en informatique |
| 14. La carte graphique |
| 15. Résumé
de l'évolution des PC |
| 16. Ecran
cathodique, TFT, ..., technologies et fonctionnement |
| 17. Imprimante,
types, fonctionnement, entretien |
| 18. Scanner et
appareil photo digital |
19. Carte son,
normes audio
19.a Connecteurs
audio |
| 20. CD, DVD,
disques durs externes, sauvegardes standards |
| 21. Boîtier et
alimentation, format des cartes mères |
| 22. Installation
d'une carte mère: connexion, installation du processeur, ventilateur,
mémoire Ram,
... |
| 23. Le Bios -
setup, explication des commandes |
| 24. Upgrade
et réparation, quelles possibilités de remplacement en cas de panne d'un
composant. |
| 25. PC et
ordinateurs portables, composants spécifiques, réparation, ... |
| Autres
formations sur le sujet. |
| L'hardware des équipements réseaux
et autres technologies spécifiques |
| Systèmes
d'exploitations, Dos et Windows: Formation technicien PC/réseaux:
installation, dépannage, administration
|
| Dépannage
informatique, procédures en lignes |
| Divers |
| Dictionnaire
informatique:
définitions de cours hardware 1 |
| Mon
PC ne démarre pas
Quel composant en panne?
|
|

Version anglaise.
|
|
Annexes
|
|
Liste et caractéristiques
des Chipset
|
|
Comparaison
Chipsets fin 2001
|
|
Fréquences
et multiplicateurs Pentium, K5 et K6
|
|
FSB et vitesse
Athlon XP
|
|
FSB, socket et vitesse
SEMPRON
|
|
FSB, socket et
vitesse Atlon 64, FX et opteron
|
|
3. Fonctionnement d'un système à 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 examiner un petit montage électronique à
base de
microprocesseur. Ce schémas représente un processeur interfacé à une
mémoire (une ROM minimum est obligatoire) et un circuit d'entrée / sortie (un clavier,
un modem, contrôleur de disque dur, ...).

Le microprocesseur (aussi appelé
CPU pour Central Processeur UNIT) est l'élément principal d'un ordinateur, il traite
des instructions à la suite les unes des autres. Il ne prend 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,
du moins en 32 bits, (Intel Core, Athlon, ...) comprennent le
même langage assembleur. Les circuits interfacés ci-dessus
sont divers: mémoire, port de sortie,
... Néanmoins, tous les montages électroniques à base de microprocesseurs incluent
un programme de départ dans une mémoire ROM (le contenu n'est pas effacé en
l'absence de tension d'alimentation du circuit). Ce programme permet au microprocesseur
d'exécuter son 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.
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.
- A0-A15 est le bus d'adresse. Il est actif haut et permet de prendre 3
états. Ce modèle permet donc 65536 adresses différentes
(216).
- D0-D7: bus de données sur 8 bits actif haut,
entrée / sortie 3 états.
- MREQ: Memory Request,
sortie 3 états active bas, signale une adresse mémoire valide sur le bus d'adresse,
en lecture comme en écriture.
- IORQ: Input/ output
request, sortie 3 état, actif bas, indique que les 8 premiers bits du bus
d'adresse contiennent une adresse valide pour une opération d'entrée / sortie (lecture ou
écriture).
- RD: Memory
Read, sortie 3 état actif bas, indique une opération de lecture à
l'emplacement de l'adresse signalée sur le bus, en mémoire ou en Entrée /
sortie.
- WR: Memory Write, Sortie 3 états, actif
bas, une demande d'écriture en mémoire
ou en entrée / sortie.
-
RFSH: refresh, sortie,
actif bas, indique une adresse de rafraîchissement sur les 7 bits inférieurs
du buis d'adresse.
- HALT: Etat d'arrêts,
sortie, actif bas, indique que le CPU vient d'effectuer une instruction software
HALT et attend une interruption masquable ou non masquable. Le microprocesseur
continue à rafraîchir la mémoire pendant ce temps.
- WAIT: attente, entrée,
actif bas, utilisé par les périphériques I/O pour faire attendre le CPU, permet
une synchronisation avec les périphériques plus lent.
- INT: interrupt request,
entrée, signal actif bas, demande d'interruption mascable (par un instruction
logicielle) signale qu'un périphérique demande une
interruption. Quand le microprocesseur accepte l'interruption, un signal accusé de réception
IORQ est envoyé au début du cycle
d'instruction qui suit.
- NMI: Non-maskable
interrupt, entrée, déclenchée par flanc descendant. Cette demande
d'interruption est toujours prise en charge à la fin
de l'instruction en cours. Elle est prioritaire sur les INT. Pour le Z80, le CPU redémarre
automatiquement à l'adresse $ 00 66. Le contenu du compteur adresse courant est
automatiquement sauvegardé pour reprendre le programme après la fin de
traitement de l'interruption.
- Reset: réinitialisation,
entrée, active bas, réinitialise le processeur; tous les compteurs et adresses
internes, ... Le processeur redémarre au début de
son programme d'initiation.
- BUSRQ: Bus request,
demande de DMA (direct memory access). Le CPU fait passer toutes ses
entrées sortie trois états dans ce mode dès la fin de l'instruction en cours.
Les périphériques prennent le contrôle total des 3 bus et transfèrent des données vers la mémoire sans passer par le processeur.
Cette fonction est souvent utilisée dans les ordinateurs actuels (disques durs
E-IDE et SCSI, bus AGP, PCI et PCI-express, ...)
- BUSAK: Bus acknoledge,
sortie, actif bas, indique que le CPU accepte le BUSRQ
et que les trois bus son bien en tri-state (déconnectés).
- M1: cycle machine M1
(spécifique au Z80), cycle
machine en cours est le cycle de recherche d'un code opératoire.
- Horloge: ce signal
provenant de l'extérieur va cadencer l'ensemble des signaux du montage. C'est
la fréquence de travail du processeur.
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 PC.
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ête 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.

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 chacunes 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
(chp enable).


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.
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.
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.
Une mémoire ROM est
utilisable 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
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.
|