A voir également:
- Architécture informatique
- Le code ascii en informatique - Guide
- Logiciel architecture gratuit - Télécharger - Architecture & Déco
- Jargon informatique - Télécharger - Bureautique
- Logiciel 3d architecture - Télécharger - Architecture & Déco
- Que veut dire url en informatique - Guide
2 réponses
Quelques généralités sur les architectures
Architecture de Von Neuman
Cette architecture est caractérisée par un processeur et une mémoire reliés par un bus :
Les instructions et les données sont stockées dans la mémoire. Pour accéder à une information contenue en mémoire le processeur affiche sur le bus l'adresse de celle-ci. Après un certain temps le contenu demandé est affiché par la mémoire sur le bus.
On constate immédiatement que la rapidité d'une machine sera limitée par l'élément le plus lent. Il ne sert à rien de fabriquer un processeur très rapide si la mémoire n'est pas capable de lui fournir à un rythme suffisant les instructions à exécuter, ni les données à traiter. De manière générale lorsqu'on améliore les performances d'un élément de la machine il faut s'assurer que les autres éléments qui lui sont connectés seront capables de supporter des débits plus élevés. Dans le cas contraire il peut être favorable de revoir l'architecture de la machine. L'efficacité d'un ordinateur est directement liée au débit des informations (instructions et données) qui circulent entre les différents éléments. La conception d'une architecture a pour but d'optimiser ce débit, en prenant en compte des contraintes financières, commerciales et techniques.
La machine de base, dite de Von Neumann, que nous venons de décrire ne présenterait aucun intérêt sans au moins un dispositif d'entrées/sorties pour permettre une communication avec l'extérieur. Pour une machine aussi simple il existe au moins trois méthodes pour installer un tel dispositif :
- Interface directement reliée au processeur :
La communication est réalisée à l'aide d'instructions spécialisées ou par l'intermédiaire de registres spécialisés.
- Interface connectée au bus commun :
Un fil spécialisé du bus indique si le processeur s'adresse à la mémoire ou à l'interface d'E/S.
- Interface vue par le processeur comme une partie de la mémoire :
mémoire ou à l'interface. Si sur le plan du matériel ces deux solutions peuvent être très différentes, sur le plan du concept elles sont comparables : un fils supplémentaire correspond de fait à un bit. Dans les deux cas la mémoire et le dispositif d’entrées/sorties sont identifiés par des espaces d’adressage différents.
Architecture de Harvard
Dans cette architecture on sépare physiquement la mémoire des instructions et la mémoire de données. Chacune de ces mémoires est accessible par un bus différent. Il est alors possible d'accéder simultanément aux instructions et aux données, ce qui permet d'augmenter le flux des informations. En première approximation il est donc possible de multiplier la vitesse de la machine par deux, en multipliant par deux la vitesse du processeur tout en conservant le même type de mémoire. En pratique il peut être moins onéreux de mettre deux bus dans une machine que de doubler la vitesse de la mémoire.
Cette architecture a été expérimentée très tôt, puis abandonnée pendant une vingtaine d'années. Elle est à nouveau employée dans certains micro-ordinateurs spécialisés pour le traitement numérique des signaux. Elle est également reprise par l'intermédiaire de deux caches mémoires, par exemple, dans le microprocesseur 68030.
Chercher à pouvoir effectuer plusieurs opérations (ici transferts des instructions et des données) en parallèle est un principe très souvent mis en œuvre en architecture des ordinateurs. Par exemple, pour permettre aux interfaces d'E/S de lire ou d'écrire des données en mémoire pendant que le processeur effectue des calculs sur les données précédentes, il est intéressant d'utiliser une mémoire de données accessible depuis deux ports différents. De cette façon le processeur et l'interface peuvent chacun accéder alternativement à une moitié différente de la mémoire.
Phase 1 : le processeur lit des données provenant de la première moitié de la mémoire pendant que l'interface d'Entrées/Sorties range de nouvelles données dans la seconde moitié.
Phase 2 : le processeur accède aux données transférées par l'interface lors de la phase 1 et l'interface écrit dans la première moitié de la mémoire.
Processeur
Sans développer ici les principes de fonctionnement d'un processeur, nous pouvons déjà dire que l'exécution des instructions peut se découper en grandes étapes :
- chargement de l'instruction à exécuter;
- décodage de l'instruction;
- localisation dans la mémoire des données utilisées par l'instruction;
- chargement des données si nécessaire;
- exécution de l'instruction;
- sauvegarde des résultats à leurs destinations respectives;
- passage à l'instruction suivante.
A chacune de ces étapes peut correspondre une unité fonctionnelle. Cette séquence simple peut se compliquer, en particulier si la machine possède des instructions de longueur variable : certaines instructions étant codées sur un mot de la mémoire et d'autres sur plusieurs. Dans ce cas l'unité chargée de la recherche et du chargement de l'instruction doit être capable de reconnaître (ou de pré-décoder) le type de l'instruction pour déterminer s'il lui faut aller chercher la suite. Dans la plupart des processeurs, l'unité centrale de traitement se décompose en :
• l'unité de commande qui contient un dispositif de décodage des instructions (décodeur) et un séquenceur qui contrôle les circuits nécessaires à l'exécution de l'instruction en cours;
• l'unité arithmétique et logique (UAL ou ALU : Arithmetic and Logical Unit) qui exécute des opérations arithmétiques comme l'addition, la soustraction, des décalages, des opérations booléennes (ET, OU, etc…), des comparaisons, etc…
• les registres : mémoire locale très rapide qui permet de stocker des résultats temporaires ou des informations de commande. Parmi ceux-ci on distingue les registres arithmétiques qui servent aux opérations arithmétiques. D'autres registres ont des fonctions particulières. On trouve par exemple :
- le compteur ordinal (CO) qui pointe sur la prochaine instruction à exécuter;
- le registre d'instruction (RI) qui contient l'instruction en cours d'exécution;
- le registre d'état (PSW : Processor Status Word) qui indique l'état du système : dépassement, retenue, etc…
- une pile et un pointeur de pile (SP : Stack Pointer);
• des chemins de données.
Toutes ces unités fonctionnent au même rythme, à une cadence imposée par une horloge, généralement externe à l'unité centrale. A chaque cycle d'horloge, chaque unité va ouvrir ou fermer certaines portes pour déplacer, lire, écrire, comparer, additionner des bits. Ceci se fait en fonction d'ordres donnés par l'unité de contrôle. Ces ordres dépendent évidemment de l'instruction à exécuter.
Le tableau suivant rappelle quelques unités utilisées pour exprimer la fréquence de fonctionnement d'un processeur et la durée correspondante des cycles. Ainsi un processeur fonctionnant à 250 MHz a un cycle de 4 ps.
Fréquence
Préfixe
Hz
Cycle
Préfixe
s
1 kHz
kilo
103
1 ms
mili
10-3
1 MHz
méga
106
micro
10-6
1 GHz
giga
109
1 ns
nano
10-9
Nous verrons qu'une manière d'améliorer les performances d'une unité centrale est de faire fonctionner ses diverses unités fonctionnelles en parallèle. Cela signifie aller chercher l'instruction suivante alors que le décodeur travaille sur l'instruction en cours. Il y a anticipation. Il faut pour pouvoir profiter de cette technique il faut que les instructions soient exécutées en séquence et donc éviter les ruptures. Il faut donc que la programmation soit adaptée à l'architecture des machines. Il peut également être possible d'exécuter la même instruction simultanément sur plusieurs données. Il suffit d'une seule unité de commandes associée à plusieurs unités de traitement.
Mémoires
Nous appelons mémoire tout dispositif capable de stocker des informations (instructions et données) de telle sorte que l'organe qui les utilise puisse à n'importe quel moment accéder à l'information qu'il demande.
Les informations peuvent être écrites ou lues. Il y a écriture lorsqu'on enregistre des données en mémoire, lecture lorsqu'on sort des informations précédemment enregistrées. La lecture peut être destructive (l'information lue n'est plus en mémoire) ou non. Le temps d'accès est le temps qui s'écoule entre l'instant où a été lancée une opération de lecture en mémoire et l'instant où la première information est disponible. Le temps de cycle représente l'intervalle minimum qui doit séparer deux demandes successives de lecture ou d'écriture. Le temps de cycle est égal ou supérieur au temps d'accès. On appelle cadence de transfert ou débit d'une mémoire, le nombre maximum d'informations lues ou écrites par unité de temps.
Une mémoire est formée d'un certain nombre de cellules, ou cases, contenant chacune une information. Chaque cellule a un numéro qui permet de la référencer et de la localiser. Ce numéro est son adresse. Avec une adresse de n bits il est possible de référencer directement au plus 2n cellules. La capacité d'une mémoire est le nombre total de cellules qu'elle contient. Elle s'exprime en nombre de bits, d'octets (bytes) ou de mots (words). Compte tenu de l'adressage binaire, les capacités des mémoires s'expriment en puissances de deux ou en multiples de 210 = 1024. La table 2 explicite les unités utilisées.
Symbole
Préfixe
Décimal
Binaire
1 k
(kilo)
103
210
=
1024
1 M
(méga)
106
220
=
1048576
1 G
(giga)
109
230
=
1073741824
1 T
(tera)
1012
240
=
1099511627776
Dans une mémoire à semi-conducteur, on accède directement à n'importe quelle information dont on connaît l'adresse, le temps pour obtenir l'information ne dépend pas de l'adresse. On dira que l'accès à une telle mémoire est aléatoire, direct ou encore sélectif. A l'inverse pour accéder à une information sur bande magnétique il faut dérouler la bande en repérant tous les enregistrements jusqu'à ce que l'on trouve celui que l'on adresse. On dit alors que l'accès à l'information est séquentiel. Le temps d'accès est variable selon la position de l'information recherchée. L'accès peut encore être semi-séquentiel : combinaison des accès direct et séquentiel. Pour un disque magnétique par exemple l'accès à la piste est direct, puis l'accès au secteur est séquentiel. Les mémoires associatives permettent l'accès par le contenu.
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.
En ce qui concerne les mémoires le problème essentiel du constructeur est celui du prix. En effet à un instant donné ce sont toujours les mémoires d'accès le plus rapide qui sont les plus onéreuses et en général le prix augmente plus vite que la vitesse. Or, comme nous l'avons vu, la vitesse d'accès à la mémoire conditionne, dans une large mesure les performances globales d'une machine. C'est pourquoi les ordinateurs actuels sont dotés de plusieurs types de mémoires de tailles et de vitesses différentes.
On trouve d'abord des mémoires très rapides (les plus chères), en petit nombre, accessibles immédiatement par le processeur. Ce sont les registres. On trouve ensuite le cache ou anté-mémoire. Accessible en quelques cycles d'horloge (1 ou 2 en général) il contient quelques dizaines de milliers de mots. On a ensuite la mémoire principale ou mémoire centrale. On dispose parfois d'une mémoire d'appui ou d'arrière-plan, intermédiaire entre la mémoire centrale et les mémoires auxiliaires. Elle est constituée de circuits semi-conducteurs de faible prix, dont la vitesse est faible pour des circuits de mémoire mais cent fois plus élevée que celle des disques magnétiques. Toutes ces mémoires sont volatiles.
Les disques magnétiques forment le niveau suivant (mémoires auxiliaires ou mémoires de masse) et constituent une mémoire permanente dont les données restent valides quand on coupe l'alimentation électrique. Le dernier niveau correspond à l'archivage des données. Jusqu'à présent ce domaine était l'exclusivité des bandes magnétiques. Ces dernières années ont vu apparaître un nouveau produit qui peut dans certains cas fournir une alternative pour l'archivage. Il s'agit du disque optique numérique. Celui-ci a des densités de stockage de 102 à 104 fois supérieures à celles des supports magnétiques, pour des temps d'accès cinq à dix fois plus grand.
La figure suivante schématise cette hiérarchie des mémoires :
Bus : le squelette des ordinateurs
Un bus est un moyen de communication entre les différents éléments constituant une machine. Il s'agit en général d'un ensemble de fils électriques. Les différents éléments sont reliés au bus par des connecteurs, dont l'ensemble constitue un fond de panier. Chaque emplacement (slot) du fond de panier (backplane) peut recevoir une carte électronique (board). Sur un bus circulent différents types de signaux : adresses, données, contrôle, alimentations, etc…
Entrées/Sorties
Pour pouvoir exécuter une tâche, l'ordinateur doit disposer du programme et des données (s'il y a lieu) qui s'y réfèrent. Dès que le travail est accompli, les résultats du traitement sont communiqués à l'utilisateur. Les techniques d'échange d'informations entre l'ordinateur et son environnement externe sont appelées techniques d'Entrées/Sorties (E/S ou I/O pour Input/Output). L'ordinateur échange des informations non seulement avec des opérateurs humains, par l'intermédiaire de terminaux de communication (consoles avec clavier, souris, imprimantes, lecteurs, etc…), mais également avec des dispositifs variés : appareils de mesures, capteurs, etc…
Architecture de Von Neuman
Cette architecture est caractérisée par un processeur et une mémoire reliés par un bus :
Les instructions et les données sont stockées dans la mémoire. Pour accéder à une information contenue en mémoire le processeur affiche sur le bus l'adresse de celle-ci. Après un certain temps le contenu demandé est affiché par la mémoire sur le bus.
On constate immédiatement que la rapidité d'une machine sera limitée par l'élément le plus lent. Il ne sert à rien de fabriquer un processeur très rapide si la mémoire n'est pas capable de lui fournir à un rythme suffisant les instructions à exécuter, ni les données à traiter. De manière générale lorsqu'on améliore les performances d'un élément de la machine il faut s'assurer que les autres éléments qui lui sont connectés seront capables de supporter des débits plus élevés. Dans le cas contraire il peut être favorable de revoir l'architecture de la machine. L'efficacité d'un ordinateur est directement liée au débit des informations (instructions et données) qui circulent entre les différents éléments. La conception d'une architecture a pour but d'optimiser ce débit, en prenant en compte des contraintes financières, commerciales et techniques.
La machine de base, dite de Von Neumann, que nous venons de décrire ne présenterait aucun intérêt sans au moins un dispositif d'entrées/sorties pour permettre une communication avec l'extérieur. Pour une machine aussi simple il existe au moins trois méthodes pour installer un tel dispositif :
- Interface directement reliée au processeur :
La communication est réalisée à l'aide d'instructions spécialisées ou par l'intermédiaire de registres spécialisés.
- Interface connectée au bus commun :
Un fil spécialisé du bus indique si le processeur s'adresse à la mémoire ou à l'interface d'E/S.
- Interface vue par le processeur comme une partie de la mémoire :
mémoire ou à l'interface. Si sur le plan du matériel ces deux solutions peuvent être très différentes, sur le plan du concept elles sont comparables : un fils supplémentaire correspond de fait à un bit. Dans les deux cas la mémoire et le dispositif d’entrées/sorties sont identifiés par des espaces d’adressage différents.
Architecture de Harvard
Dans cette architecture on sépare physiquement la mémoire des instructions et la mémoire de données. Chacune de ces mémoires est accessible par un bus différent. Il est alors possible d'accéder simultanément aux instructions et aux données, ce qui permet d'augmenter le flux des informations. En première approximation il est donc possible de multiplier la vitesse de la machine par deux, en multipliant par deux la vitesse du processeur tout en conservant le même type de mémoire. En pratique il peut être moins onéreux de mettre deux bus dans une machine que de doubler la vitesse de la mémoire.
Cette architecture a été expérimentée très tôt, puis abandonnée pendant une vingtaine d'années. Elle est à nouveau employée dans certains micro-ordinateurs spécialisés pour le traitement numérique des signaux. Elle est également reprise par l'intermédiaire de deux caches mémoires, par exemple, dans le microprocesseur 68030.
Chercher à pouvoir effectuer plusieurs opérations (ici transferts des instructions et des données) en parallèle est un principe très souvent mis en œuvre en architecture des ordinateurs. Par exemple, pour permettre aux interfaces d'E/S de lire ou d'écrire des données en mémoire pendant que le processeur effectue des calculs sur les données précédentes, il est intéressant d'utiliser une mémoire de données accessible depuis deux ports différents. De cette façon le processeur et l'interface peuvent chacun accéder alternativement à une moitié différente de la mémoire.
Phase 1 : le processeur lit des données provenant de la première moitié de la mémoire pendant que l'interface d'Entrées/Sorties range de nouvelles données dans la seconde moitié.
Phase 2 : le processeur accède aux données transférées par l'interface lors de la phase 1 et l'interface écrit dans la première moitié de la mémoire.
Processeur
Sans développer ici les principes de fonctionnement d'un processeur, nous pouvons déjà dire que l'exécution des instructions peut se découper en grandes étapes :
- chargement de l'instruction à exécuter;
- décodage de l'instruction;
- localisation dans la mémoire des données utilisées par l'instruction;
- chargement des données si nécessaire;
- exécution de l'instruction;
- sauvegarde des résultats à leurs destinations respectives;
- passage à l'instruction suivante.
A chacune de ces étapes peut correspondre une unité fonctionnelle. Cette séquence simple peut se compliquer, en particulier si la machine possède des instructions de longueur variable : certaines instructions étant codées sur un mot de la mémoire et d'autres sur plusieurs. Dans ce cas l'unité chargée de la recherche et du chargement de l'instruction doit être capable de reconnaître (ou de pré-décoder) le type de l'instruction pour déterminer s'il lui faut aller chercher la suite. Dans la plupart des processeurs, l'unité centrale de traitement se décompose en :
• l'unité de commande qui contient un dispositif de décodage des instructions (décodeur) et un séquenceur qui contrôle les circuits nécessaires à l'exécution de l'instruction en cours;
• l'unité arithmétique et logique (UAL ou ALU : Arithmetic and Logical Unit) qui exécute des opérations arithmétiques comme l'addition, la soustraction, des décalages, des opérations booléennes (ET, OU, etc…), des comparaisons, etc…
• les registres : mémoire locale très rapide qui permet de stocker des résultats temporaires ou des informations de commande. Parmi ceux-ci on distingue les registres arithmétiques qui servent aux opérations arithmétiques. D'autres registres ont des fonctions particulières. On trouve par exemple :
- le compteur ordinal (CO) qui pointe sur la prochaine instruction à exécuter;
- le registre d'instruction (RI) qui contient l'instruction en cours d'exécution;
- le registre d'état (PSW : Processor Status Word) qui indique l'état du système : dépassement, retenue, etc…
- une pile et un pointeur de pile (SP : Stack Pointer);
• des chemins de données.
Toutes ces unités fonctionnent au même rythme, à une cadence imposée par une horloge, généralement externe à l'unité centrale. A chaque cycle d'horloge, chaque unité va ouvrir ou fermer certaines portes pour déplacer, lire, écrire, comparer, additionner des bits. Ceci se fait en fonction d'ordres donnés par l'unité de contrôle. Ces ordres dépendent évidemment de l'instruction à exécuter.
Le tableau suivant rappelle quelques unités utilisées pour exprimer la fréquence de fonctionnement d'un processeur et la durée correspondante des cycles. Ainsi un processeur fonctionnant à 250 MHz a un cycle de 4 ps.
Fréquence
Préfixe
Hz
Cycle
Préfixe
s
1 kHz
kilo
103
1 ms
mili
10-3
1 MHz
méga
106
micro
10-6
1 GHz
giga
109
1 ns
nano
10-9
Nous verrons qu'une manière d'améliorer les performances d'une unité centrale est de faire fonctionner ses diverses unités fonctionnelles en parallèle. Cela signifie aller chercher l'instruction suivante alors que le décodeur travaille sur l'instruction en cours. Il y a anticipation. Il faut pour pouvoir profiter de cette technique il faut que les instructions soient exécutées en séquence et donc éviter les ruptures. Il faut donc que la programmation soit adaptée à l'architecture des machines. Il peut également être possible d'exécuter la même instruction simultanément sur plusieurs données. Il suffit d'une seule unité de commandes associée à plusieurs unités de traitement.
Mémoires
Nous appelons mémoire tout dispositif capable de stocker des informations (instructions et données) de telle sorte que l'organe qui les utilise puisse à n'importe quel moment accéder à l'information qu'il demande.
Les informations peuvent être écrites ou lues. Il y a écriture lorsqu'on enregistre des données en mémoire, lecture lorsqu'on sort des informations précédemment enregistrées. La lecture peut être destructive (l'information lue n'est plus en mémoire) ou non. Le temps d'accès est le temps qui s'écoule entre l'instant où a été lancée une opération de lecture en mémoire et l'instant où la première information est disponible. Le temps de cycle représente l'intervalle minimum qui doit séparer deux demandes successives de lecture ou d'écriture. Le temps de cycle est égal ou supérieur au temps d'accès. On appelle cadence de transfert ou débit d'une mémoire, le nombre maximum d'informations lues ou écrites par unité de temps.
Une mémoire est formée d'un certain nombre de cellules, ou cases, contenant chacune une information. Chaque cellule a un numéro qui permet de la référencer et de la localiser. Ce numéro est son adresse. Avec une adresse de n bits il est possible de référencer directement au plus 2n cellules. La capacité d'une mémoire est le nombre total de cellules qu'elle contient. Elle s'exprime en nombre de bits, d'octets (bytes) ou de mots (words). Compte tenu de l'adressage binaire, les capacités des mémoires s'expriment en puissances de deux ou en multiples de 210 = 1024. La table 2 explicite les unités utilisées.
Symbole
Préfixe
Décimal
Binaire
1 k
(kilo)
103
210
=
1024
1 M
(méga)
106
220
=
1048576
1 G
(giga)
109
230
=
1073741824
1 T
(tera)
1012
240
=
1099511627776
Dans une mémoire à semi-conducteur, on accède directement à n'importe quelle information dont on connaît l'adresse, le temps pour obtenir l'information ne dépend pas de l'adresse. On dira que l'accès à une telle mémoire est aléatoire, direct ou encore sélectif. A l'inverse pour accéder à une information sur bande magnétique il faut dérouler la bande en repérant tous les enregistrements jusqu'à ce que l'on trouve celui que l'on adresse. On dit alors que l'accès à l'information est séquentiel. Le temps d'accès est variable selon la position de l'information recherchée. L'accès peut encore être semi-séquentiel : combinaison des accès direct et séquentiel. Pour un disque magnétique par exemple l'accès à la piste est direct, puis l'accès au secteur est séquentiel. Les mémoires associatives permettent l'accès par le contenu.
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.
En ce qui concerne les mémoires le problème essentiel du constructeur est celui du prix. En effet à un instant donné ce sont toujours les mémoires d'accès le plus rapide qui sont les plus onéreuses et en général le prix augmente plus vite que la vitesse. Or, comme nous l'avons vu, la vitesse d'accès à la mémoire conditionne, dans une large mesure les performances globales d'une machine. C'est pourquoi les ordinateurs actuels sont dotés de plusieurs types de mémoires de tailles et de vitesses différentes.
On trouve d'abord des mémoires très rapides (les plus chères), en petit nombre, accessibles immédiatement par le processeur. Ce sont les registres. On trouve ensuite le cache ou anté-mémoire. Accessible en quelques cycles d'horloge (1 ou 2 en général) il contient quelques dizaines de milliers de mots. On a ensuite la mémoire principale ou mémoire centrale. On dispose parfois d'une mémoire d'appui ou d'arrière-plan, intermédiaire entre la mémoire centrale et les mémoires auxiliaires. Elle est constituée de circuits semi-conducteurs de faible prix, dont la vitesse est faible pour des circuits de mémoire mais cent fois plus élevée que celle des disques magnétiques. Toutes ces mémoires sont volatiles.
Les disques magnétiques forment le niveau suivant (mémoires auxiliaires ou mémoires de masse) et constituent une mémoire permanente dont les données restent valides quand on coupe l'alimentation électrique. Le dernier niveau correspond à l'archivage des données. Jusqu'à présent ce domaine était l'exclusivité des bandes magnétiques. Ces dernières années ont vu apparaître un nouveau produit qui peut dans certains cas fournir une alternative pour l'archivage. Il s'agit du disque optique numérique. Celui-ci a des densités de stockage de 102 à 104 fois supérieures à celles des supports magnétiques, pour des temps d'accès cinq à dix fois plus grand.
La figure suivante schématise cette hiérarchie des mémoires :
Bus : le squelette des ordinateurs
Un bus est un moyen de communication entre les différents éléments constituant une machine. Il s'agit en général d'un ensemble de fils électriques. Les différents éléments sont reliés au bus par des connecteurs, dont l'ensemble constitue un fond de panier. Chaque emplacement (slot) du fond de panier (backplane) peut recevoir une carte électronique (board). Sur un bus circulent différents types de signaux : adresses, données, contrôle, alimentations, etc…
Entrées/Sorties
Pour pouvoir exécuter une tâche, l'ordinateur doit disposer du programme et des données (s'il y a lieu) qui s'y réfèrent. Dès que le travail est accompli, les résultats du traitement sont communiqués à l'utilisateur. Les techniques d'échange d'informations entre l'ordinateur et son environnement externe sont appelées techniques d'Entrées/Sorties (E/S ou I/O pour Input/Output). L'ordinateur échange des informations non seulement avec des opérateurs humains, par l'intermédiaire de terminaux de communication (consoles avec clavier, souris, imprimantes, lecteurs, etc…), mais également avec des dispositifs variés : appareils de mesures, capteurs, etc…