Chip select
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

On nomme chip select une entrée de contrôle de nombreux circuits intégrés, tels que les puces mémoires, permettant d'activer ou désactiver le circuit. Quand elle est active, le composant peut être adressé ; quand elle ne l'est pas, le composant est dans un mode dit standby (au repos). L'économie d'énergie (Dans le sens commun l'énergie désigne tout ce qui permet d'effectuer un travail, fabriquer de la chaleur, de la lumière, de produire un mouvement.) qui en découle est appréciable, surtout quand le nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de circuits désactivés est important (ce qui est le cas pour les puces formant (Dans l'intonation, les changements de fréquence fondamentale sont perçus comme des variations de hauteur : plus la fréquence est élevée, plus la hauteur perçue est haute et inversement. Chaque...) la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) centrale d'un ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits électroniques permettant de...) par exemple).

Exemple pratique immédiat

Lorsque vous assemblez un système à microprocesseur et que vous devez monter une ROM ou une RAM (puces) à l'adresse hexadécimale 4000, vous êtes typiquement confronté à un problème de chip select (On nomme chip select une entrée de contrôle de nombreux circuits intégrés, tels que les puces mémoires, permettant d'activer ou désactiver le circuit. Quand elle est active, le composant peut être adressé ; quand...).

Autre exemple

Voici le brochage de l'EPROM Intel C1702A. La patte numéro 14 est le Chip Select, noté CS. La consommation est de 35 mA versus 5 mA quand la puce est inactivée par la biais du Chip Select.

La puce Intel C1702A.
La puce Intel C1702A.
Le brochage de la puce Intel C1702A. La patte 14 est le Chip Select, actif quand il est à 0 V.
Le brochage de la puce Intel C1702A. La patte 14 est le Chip Select, actif quand il est à 0 V.

Mise en application

C'est une extraction des fils d'adresses, dirigées vers une unité de décodage qui contrôle les pinoches Chip Select des  unités raccordées sur les bus d'adresses et données. Le CPU est le processeur, le PIO le contrôleur d'entrées/sorties parallèle et SIO le contrôleur d'entrées/sorties série. Sur un ordinateur plus
C'est une extraction des fils d'adresses, dirigées vers une unité de décodage qui contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) les pinoches Chip Select des unités raccordées sur les bus d'adresses et données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.). Le CPU est le processeur (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de l'ordinateur qui exécute les programmes informatiques. Avec la mémoire...), le PIO le contrôleur d'entrées/sorties parallèle et SIO le contrôleur d'entrées/sorties série. Sur un ordinateur plus "étoffé" on trouvera plutôt des contrôleurs de bus (PCI etc.).

Suivant le nombre de fils que possède le bus d'adresse d'un microprocesseur, on peut déterminer la taille mémoire maximum qu'il peut adresser. Par exemple s'il possède 16 fils d'adresse, il pourra accéder à 64 Kmots (216mots) de mémoire.

Le bus d'adresse est donc décodé pour contrôler la ligne chip select des puces qui y sont relié. Il y a plusieurs façon de décoder les adresses :

Décodage direct

Il suffit de prendre directement les fils d'adresses pour activer les composants. Cela n'est possible que dans les cas ou l'adressage est très simple comme par exemple un microprocesseur qui adresse 4 Ko de ROM et 1 Ko de RAM, sans aucune autre contrainte.

Si l'on raccorde directement le fil A14 du bus d'adresse à la broche Chip Select de la ROM et le fil A12 du bus d'adresse à la broche chip select de la RAM, ces deux espaces mémoire seront accessibles comme suit :

Mémoire Fil d'adresse Plage (La géomorphologie définit une plage comme une « accumulation sur le bord de mer de matériaux d'une taille allant des sables fins aux blocs ». La plage ne se limite donc pas aux étendues de sable fin ; on trouve...) d'adresses
ROM A14 16 K - 20 K
RAM A12 4 K (Le 4K est un format de définition d’image, principalement utilisé pour le cinéma.) - 5 K

Un autre argument en la faveur de cette technique est l'économie réalisée, le nombre de circuits extérieurs étant nul.

Décodage par logique (La logique (du grec logikê, dérivé de logos (λόγος), terme inventé par Xénocrate signifiant à la fois raison, langage, et raisonnement) est dans une première approche l'étude...) combinatoire (En mathématiques, la combinatoire, appelée aussi analyse combinatoire, étudie les configurations de collections finies d'objets ou les combinaisons d'ensembles finis, et les dénombrements.)

Reprenons le cas où le montage précédent, mais on à maintenant la contrainte que les 4 Ko de ROM doivent être accessible à partir de l'adresse 0, et les 1 K de RAM contigüe, toute la mémoire étant ainsi accessible entre 0 et 5 Ko.

Découpons la mémoire en tranches de 1 K, et assignons les 4 premières à la ROM et la dernière à la RAM. Les adresses sont alors :

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Plage Adresses Assignation
0 0 0 0 0 0 x x x x x x x x x x  0 K - 1 K  0 - 0x3FF ROM
0 0 0 0 0 1 x x x x x x x x x x  1 K - 2 K  0x400 - 0x7FF ROM
0 0 0 0 1 0 x x x x x x x x x x  2 K - 3 K  0x800 - 0xCFF ROM
0 0 0 0 1 1 x x x x x x x x x x  3 K - 4 K  0xD00 - 0xFFF ROM
0 0 0 1 0 0 x x x x x x x x x x  4 K - 5 K  0x1000 - 0x13FF RAM
x x x 1 x x x x x x x x x x x x  5 K - 64 K  0x1400 - 0xFFFF \x{2014}

Il faut donc construire un circuit à 6 entrées (de A10 à A15) et 2 sorties CSROM et CSRAM qui contrôleront chacune la broche Chip Select de la ROM et de la RAM.

Décodage complet des adresses. La circuiterie est complexe et relativement lente et coûteuse. Ce schéma montre l'état du circuit pour l'adresse 0.
Décodage complet des adresses. La circuiterie est complexe et relativement lente (La Lente est une rivière de la Toscane.) et coûteuse. Ce schéma montre l'état du circuit pour l'adresse 0.

On constate qu'il faut une dizaine de circuits intégrés pour décoder l'adresse.

Cette technique revient à décomposer l'adresse en deux parties : les N bits de poids (Le poids est la force de pesanteur, d'origine gravitationnelle et inertielle, exercée par la Terre sur un corps massique en raison uniquement du voisinage de la Terre. Elle est égale à...) fort permettront la sélection du circuit via son Chip Select, et les bits de poids faible à adresser les données à l'intérieur du circuit sélectionné. Cette méthode est à rapprocher de la technique de la pagination (D'une manière générale, le mot pagination désigne l'action de paginer son résultat. En particulier il est employé dans deux domaines :) de la mémoire virtuelle (Le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il est basé sur l'utilisation d'une mémoire de masse (type disque...).

Bits de Sélection Adressage à l'intérieur de l'objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par...) sélectionné
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 x x x x x x x x x x
0 0 0 0 0 1 x x x x x x x x x x
0 0 0 0 1 0 x x x x x x x x x x
0 0 0 0 1 1 x x x x x x x x x x
0 0 0 1 0 0 x x x x x x x x x x
0 0 0 1 0 1 x x x x x x x x x x
0 0 0 1 1 0 x x x x x x x x x x
\x{2014} \x{2014} \x{2014} \x{2014} \x{2014} \x{2014} x x x x x x x x x x
1 1 1 1 1 1 x x x x x x x x x x

Décodage partiel (Le mot partiel peut être employé comme :)

Il est possible de partiellement décoder l'adresse, dans cet exemple seul un inverseur est utilisé
Il est possible de partiellement décoder l'adresse, dans cet exemple seul un inverseur est utilisé

.

Dans l'exemple précédent, on remarque que le bit A12 est discrimant. On peut donc tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) simplement l'utiliser pour partiellement décoder l'adresse : on économisera des circuits. On notera que l'adresse 0xFxxx sélectionnera la RAM, alors que ce n'est pas son adresse. On a donc créé des zones images de la RAM et de la ROM.

Utilisation d'un décodeur

Des circuits intégrés spéciaux ont été conçu pour prendre en charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un paiement ou un bénéfice non pécuniaire pour être transporté.) le décodage d'adresse, on les appelle donc simplement décodeurs ou bien parfois démultiplexeurs. Ils possèdent N entrées et 2N sorties.

Voici la table de vérité pour un décodeur "3 vers 8" :

A B C   S0 S1 S2 S3 S4 S5 S6 S7
0 0 0   1 0 0 0 0 0 0 0
0 0 1   0 1 0 0 0 0 0 0
0 1 0   0 0 1 0 0 0 0 0
0 1 1   0 0 0 1 0 0 0 0
1 0 0   0 0 0 0 1 0 0 0
1 0 1   0 0 0 0 0 1 0 0
1 1 0   0 0 0 0 0 0 1 0
1 1 1   0 0 0 0 0 0 0 1

Celui-ci vient donc tout naturellement s'interfacer sur le bus d'adresse, d'où les N fils de poids fort iront vers l'entrée du décodeur, tandis que les 2N fils de sorties contrôleront les broches Chip Select des circuits.

L'usage (L’usage est l'action de se servir de quelque chose.) d'un décodeur implique que les blocs mémoires accédés soient de même taille.

Autres méthodes

  • On peut utiliser une mémoire morte pour faire la sélection. Dans notre exemple ci-dessus, pour complètement (Le complètement ou complètement automatique, ou encore par anglicisme complétion ou autocomplétion, est une fonctionnalité informatique permettant à l'utilisateur de limiter la quantité...) décoder l'adresse, il suffit d'une mémoire de 64 x 2 bits dont le premier fil de sortie sera relié sur le Chip Select de la ROM et le second sur celui de la RAM. La mémoire contiendra la valeur 10 pour les adresses entre 0 et 4 K et 01 aux adresses entre 4 et 5 K et 00 au delà. L'inconvénient de l'utilisation de table de translation implanté sous forme de mémoire morte est qu'elle peut être d'assez grande capacité si beaucoup de bits sont utilisés pour décoder.
  • Une PAL plus ou moins complexe est aussi parfois utilisée.
Page générée en 0.121 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique