Structure des ordinateurs

 

I : Les générations d’ordinateurs *

I.1 : Le premier ordinateur *

I.2 : Machine de Babbage *

I.3 : Machine de Von Neumann *

I.4 : Grandes étapes des techniques électroniques *

I.5 : Les classes d’Ordinateurs *

II : Organisation générale des ordinateurs *

II.1 : Structure de base d’un ordinateur monoprocesseur *

II.2 : Ordinateurs multiprocesseurs *

III : Mémoire centrale *

III.1 : Mémoire RAM *

III.1.a : Mémoires RAM statiques (SRAM) *

III.1.b : Mémoires RAM dynamiques (DRAM) *

III.1.c : Autres RAM .... *

III.2 : Mémoire ROM *

III.3 : Mémoires FLASH *

III.5 : Unités de mémoire *

IV : Bus *

IV.1 : Notion de bus de communication *

IV.2 : Bus de données *

IV.3 : Bus d’adresses *

IV.4 : Bus d’E/S *

V : Unités d’E/S *

VI : Mémoires de masse *

VI-1 : Les ancètres *

VI-2 : Bandes magnétiques *

VI-3 : Disquettes *

VI-4 : Disque dur *

VI-5 : CD-ROMS *

VI-6 : autres dispositifs *

 

 

I : Les générations d’ordinateurs

 

I.1 : Le premier ordinateur

A la fin de la seconde guerre mondiale apparaissent les premiers ordinateurs. On considère comme premier véritable ordinateur l’ENIAC, machine construite à l’université de Pennsylvanie pendant la guerre. Commandée par l’armée pour le calcul des tables de tir d’artillerie, elle était la première machine programmable. Ses dimensions : 30m de long, 2.8 m de haut et plusieurs mètres de large. Elle possédait 20 registres de 10 chiffres. La programmation était manuelle, par positionnement d’interrupteurs et enfichage de câbles. Une addition sur 10 bits demandait 200 µs. (par comparaison, sur un 486/50 de 1992, une addition 32 bits demande 20 ns, 10000 fois moins) C’est Von Neumann qui formalisa en 1944 les concepts de l’ENIAC, connus maintenant sous le nom de " machine de Von Neumann ".

 

I.2 : Machine de Babbage

Babbage, Charles (1792-1871), mathématicien et théoricien de l'organisation industrielle britannique, dont les travaux sur la mécanisation du calcul sont à l'origine de l'ordinateur.

Dans les années 1820, Babbage conçut une machine à différences, un appareil mécanique pouvant effectuer des calculs mathématiques simples avec une précision pouvant atteindre 31 chiffres. Cependant, il dut abandonner sa construction pour des raisons financières. Dans les années 1830, il conçut une machine analytique à cartes perforées, afin d'effectuer des calculs plus compliqués, mais à nouveau cet instrument ne vit jamais le jour. Cette réflexion sur la mécanisation du calcul annonce l'informatique.

 

 

 

Machine de Babbage ou Automate

Charles BABBAGE avait défini les organes nécessaires au fonctionnement de toute machine universelle de traitement d'information.

1/ Une mémoire, dispositif inscriptible et lisible recevant les données de calcul, les résultats intermédiaires et définitifs. Dans le cas de l'ordinateur, on y trouve aussi la représentation de l'algorithme sous forme d'un programme.

2/ Un calculateur ou opérateur arithmétique et logique effectuant les opérations élémentaires nécessaires à l'exécution d'un algorithme.

3/ Des organes d'entrée/sortie destinés à recevoir du milieu extérieur les données (et programmes dans le cas d'un ordinateur) et à communiquer à l'extérieur les résultats du traitement.

4/ Un organe de commande venant chercher les instructions élémentaires, les décodant et en commandant l'exécution dans l'ordre prescrit assurant le déroulement séquentiel des opérations. Dans le cas d'une machine de Babbage, les instructions sont lues sur un dispositif externe.

Par ailleurs il est nécessaire, comme BABBAGE l'avait vu, de pouvoir commander le transfert de données d'un organe à l'autre (timonerie, engrenages, portes, bus, canaux...).

Enfin on définit aussi sous le nom de mémoires externes des supports d'information gérés comme des entrées/sorties et qui contiennent des informations que le programme peut avoir besoin d'aller chercher pour s'exécuter.

Dans une machine de Babbage, le programme est contenu dans un dispositif externe (ruban perforé, etc.) que l'unité de commande vient lire pas à pas pour exécuter les instructions successives qui y figurent. D'où le nom de " machine à programme externe " qu'on lui donne parfois. Dans une machine de Von Neumann, les instructions du programme sont contenues dans une zone de la mémoire où figurent données et résultats intermédiaires ou finaux. Et ces instructions peuvent elles-mêmes être l'objet de traitements comme de vulgaires données.
Dans l'unité de commande d'un ordinateur, on trouve toujours sous une forme ou une autre les organes suivants :

Le profil d'instruction définit les caractéristiques fondamentales de l'ordinateur considéré. Les codes-instruction peuvent aller d'une dizaine à plusieurs centaines. La longueur de la zone-adresse définit la taille de la mémoire qu'une seule instruction élémentaire peut aller directement adresser. C'est ce qu'on appelle mémoire interne.

 

I.3 : Machine de Von Neumann

Neumann, John von (1903-1957), mathématicien américain d'origine hongroise, qui, dès 1926, a posé les bases de la théorie des jeux, aboutissant en 1944 à la publication de son traité principal Théorie des jeux et du comportement économique. Son nom est également lié à la conception des premiers ordinateurs!; en 1952, il conçut le MANIAC I, le premier ordinateur utilisant un programme mémorisé. En 1956, la Commission de l'énergie atomique lui attribua la récompense Enrico Fermi pour ses contributions exceptionnelles à la théorie et à la conception d'ordinateurs.

 

 

Machine de Von Neumann ou ORDINATEUR

 

 

I.4 : Grandes étapes des techniques électroniques

La notion de " générations " d'ordinateurs n'est pas comme on l'a dit parfois un slogan publicitaire mais résulte de la fiabilité de l'élément logique élémentaire mis en oeuvre par une technologie donnée.

1ère génération

La première génération est celle de l'époque héroïque des machines à tubes électroniques et à relais électromécaniques (jusqu'à 1958).

2 approches parallèles :

- mécanographie

Marché très important dominé par les sociétés qui maîtrisaient la technique électromécanique des équipements à carte perforée. Mais, vu le coût élevé des matériels, l'informatique restait réservée aux gros organismes publics ou privés (administrations, banques, assurances, transports). En outre un équipement informatique nécessitait alimentation lourde, climatisation, etc. (IBM, Bull, SAMAS, Burroughs)

Machines uniques ou en très petites séries de coût très élevé.
Recherche de Puissance de calcul. (UNIVAC, IBM, SEA (François-Henri RAYMOND))
Technologie : Relais électromécaniques et tubes électroniques. Coût très élevé des circuits logiques. Volume important, grande consommation d'électricité, fragilité (climatisation, protection) Mémoires externes : tambour magnétique (IBM, Bull)
Invention de la mémoire à ferrites (John H. RAJCHMAN de RCA)
Traitements privilégiés : calculs importants. Programmation difficile faisant appel à des spécialistes de haut niveau. Deux machines très importantes de diffusion mondiale construites autour d'une mémoire à tambour sont à mentionner : Le 650 IBM et Le GAMMA AET BULL.

Un gros calculateur scientifique binaire à mot de 36 bits l'IBM 704 devient un quasi- standard dans les grands laboratoires et on y réalise le premier compilateur pour langage de haut niveau, le FORTRAN (FORmula TRANsposition) adapté ensuite à l'IBM 650.

2ème génération

L'emploi du transistor (inventé en 1949 par Bardeen, Brattain & Shockley) permet de réaliser des machines bien plus fiables, moins encombrantes, plus simples d'emploi, moins coûteuses à partir du début des années 60. C'est l'emploi de transistors discrets qui définit cette 2ème génération.

Deux catégories de machines d'architectures très différentes :

Par ailleurs, les machines étaient totalement différentes d'une taille à l'autre et il fallait réécrire tous les programmes (en assembleur) quand on devait changer de matériel pour accroître la puissance de traitement.

Le premier ordinateur à transistors fut le TRANSAC réalisé en 1954 chez PHILCO pour des applications militaires.. Aux USA, pour les usages scientifiques, l'IBM 7090 reprend avec des transistors l'architecture de l'IBM 704 et devient le gros ordinateur scientifique standard dans le monde, muni d'un bon compilateur FORTRAN. Chez UNIVAC (alors associé à Bull) sur une machine expérimentale construite pour le laboratoire de Livermore, le LARC, fut réalisé le premier essai de système d'exploitation.

Mais du côté de la gestion, grand succès mondial d'une machine destinée aux PME : l'IBM 1401 dont 35.000 exemplaires ont été fabriqués. Il s'agissait d'une machine de gestion spécialisée avec une unité centrale lente et conçue pour traiter des caractères et des nombres décimaux, une imprimante à chaîne, lecteur et perforateur de cartes. La bande magnétique n'y apparut que tardivement ainsi que les premiers essais de mémoire à disques (RAMAC IBM). C'est cette machine qui, malgré son architecture médiocre mais visant un bon créneau commercial, a servi de point de départ à une suprématie d'IBM qui a duré 25 ans.

En France, montée en puissance de Bull (alors 2ème constructeur mondial et associé à UNIVAC) et réalisation d'une machine prestigieuse d'architecture révolutionnaire en avance de 10 ans sur son temps : le GAMMA 60 destinée aux ministères et très grands organismes (SNCF, EDF).

3ème génération

L'apparition en 1964 de l'IBM 360 constitue un tournant décisif dans l'histoire technique de l'informatique. Il s'agissait d'un des plus gros paris de l'histoire mondiale de l'industrie (22 milliards de francs !). Tirant parti des progrès considérables dans la technologie des semi-conducteurs IBM étudia et mit sur le marché une gamme de machines comportant un grand nombre d'innovations souhaitées depuis longtemps.

Quelles étaient ces innovations ?

Le 360 assura une domination quasi-totale d'IBM sur le marché mondial de l'informatique. Les concurrents se réfugièrent dans des marchés protégés (souvent militaires) ou réalisèrent des machines spécialisées à très hautes performances pour des applications de pointe (UNIVAC, CDC avec Seymour CRAY, etc.) en général en calcul scientifique.

Le mini-ordinateur (3e génération)

Le premier mini-ordinateur fut le PDP 8 conçu en 1966 par Edouard de CASTRO, ingénieur chez DEC. Trois gammes de machines toutes binaires, de longueurs de mots différents et incompatibles entre elles : 18 bits pour le laboratoire, 36 bits pour le calcul scientifique et enfin le PDP 5, une machine à mot de 12 bits pour des applications médicales.
C'est cette réalisation qui fonda la puissance de DEC comme grand constructeur. Un mini de 3ème génération à bus (le PDP 11) à mot de 16 bits lui succéda en 1970 et devint le quasi-standard mondial du mini-ordinateur. Le PDP 11 est l'ancêtre des stations de travail d'aujourd'hui. C'est sur un PDP11 que fut réalisée la première version du système UNIX. Du PDP 11 naquit le VAX.

Le microprocesseur et le microordinateur (4e génération)

Le microprocesseur, ensemble de circuits fondamentaux d'un ordinateur regroupés sur un circuit intégré unique, fut imaginé en 1966 à l'Université John Hopkins par Gordon E. MOORE. Sous le nom de MCS4, il regroupait quelques centaines de transistors constituant organe de commande, opérateur arithmétique et logique, portes d'échange d'un ordinateur à mot de 4 bits. MOORE travailla ensuite au laboratoire de Livermore puis fonda en 1969 la société INTEL qui réalisait des circuits intégrés à la demande. Chez INTEL, en 1971, une équipe réalisa le premier micro- processeur commercial (encore à 4 bits) le 4004 rapidement étendu à 8 bits sous le nom d'Intel 8008.

En Avril 1972 chez R2E, petite société française de réalisation d'automates numériques, un jeune ingénieur très dynamique, François GERNELLE, imagina de construire autour du 8008 un petit ordinateur individuel de table qu'il appela le MICRAL. Il inventa ainsi le microordinateur.
Rapidement connue aux USA où elle fit sensation, cette réalisation fut à l'origine de la création d'une pléïade de petites entreprises. Le seul marché y était celui des bricoleurs (Hobbyists) et la diffusion se faisait dans les boutiques de composants électroniques. Parmi ces petites sociétés, une d'elle se distingua par le soin apporté à la réalisation de ses produits et finit par conquérir un marché significatif : Apple. Bien présenté, facile d'emploi, muni de jeux simples, d'un mini-système d'exploitation (le CP/M), l'APPLE 2 connut un grand succès. C'était une machine à bus très ouverte, extensible construite autour d'un 8080 Intel.
Au début des années 80, IBM (qui avait manqué le rendez-vous du mini-ordinateur) prit au sérieux le succès de l'APPLE 2 et lança sur le marché avec d'énormes moyens une machine qui en reprenait les principes architecturaux (structure ouverte à bus), qui était construite autour du microprocesseur Intel 8088 et fut appelée Personal Computer (PC).

La future étape de l'informatique (on parle de 5ème génération) sera celle de la maîtrise des processus intelligents de tous types.

 

Le tableau suivant donne les générations d’ordinateurs :

 

Génération

Dates

Technologie

Nouveauté

Machines

1

1950-59

Tubes à vide

Ordinateurs électroniques commercialisés

IBM 701, Univac 1

2

1960-68

Transistors

Ordinateurs bon marché

Séries

Honeywell, CDC 6600, IBM 1401

 

3

1969-77

Circuits intégrés

Mini-ordinateurs

 

DEC PDP-11

 

4

1978-

Microprocesseurs

Micro-ordinateurs

Grand public

 

IBM PC, Apple 2, Sun 2, Macintosh

 

5

? ? ?

Traitement parallèle

et/ou

Intelligence artificielle

Multiprocesseurs

Multiordinateurs

 

Thinking Machine

 

 

 

I.5 : Les classes d’Ordinateurs

Dans chaque génération, on divise les ordinateurs en classes, suivant leurs performances et leur coût.

Les superordinateurs sont les machines les plus chères (dizaines de millions de francs) et les plus performantes. Ce sont des machines à architecture vectorielle ou parallèle (grand nombre de processeurs). Elles sont destinées au calculs scientifiques lourds (météo, ballistique, etc...)

Les gros ordinateurs (mainframes) sont des machines à vocation universelle (calcul, gestion,...). Leur prix est de l’ordre du million de francs. Ils utilisent en général plusieurs processeurs et possèdent des systèmes d’entrées/sorties performants.

Les miniordinateurs sont des machines de taille moyenne, de prix avoisinant la centaine de milliers de francs. Ils contiennent souvent un seul processeur.

Les microordinateurs sont des machines personnelles, utilisent des microprocesseurs, et coûtent quelques dizaines de milliers de francs maximum. (ordinateur personnel, environ 10000, station de travail, environ 70000F).

L’évolution des performances de chaque classe évolue comme le montre le graphique suivant :

 

 

II : Organisation générale des ordinateurs

Quelle que soit sa génération et sa classe, un ordinateur possède trois éléments essentiels : le calcul, la mémorisation et la communication.

Le calcul est assurée par le (les) processeur(s).

La mémorisation (des programmes et des données) est confiée aux différents types de mémoires.

La communication est gérée par la (les) unité(s) d’entrées/sorties.

Tout les éléments sont synchronisés par une horloge.

 

II.1 : Structure de base d’un ordinateur monoprocesseur

 

UC : Unité centrale : calculs. (processeur(s))

E/S : Entrées/Sorties : communication

 

II.2 : Ordinateurs multiprocesseurs

Pour augmenter la puissance de calcul, on peut imaginer des structures à plusieurs processeurs. Ceux-ci peuvent être spécialisés (un processeur pour les calculs entiers, un pour les calculs flottants, etc...) ou tous semblables. Les calculs doivent pouvoir s’exécuter en parallèle. Par rapport à une structure monoprocesseur, il faut une unité spéciale qui s’occupe de répartir le travail sur les différents processeurs. Il est important de noter que la puissance de calcul de n processeurs est inférieure à n fois la puissance de calcul d’un seul processeur. Il faut évidemment tenir compte des temps de synchronisation des calculs et du fait que tous les types de calcul ne peuvent pas s’effectuer en parallèle.

Il y a plusieurs types d’architectures à multiples processeurs :

II.2.a : Architecture parallèle ou massivement parallèle

Dans cette architecture, chacun des processeurs possède sa propre mémoire et son propre bus système. Ils sont complètement indépendants les uns des autres. Cette architecture demande évidement une très bonne synchronisation si des données doivent passer d’un processeur à l’autre. Cette architecture est bien adaptée si les processeurs doivent fournir des tâches différentes ; mais s’ils doivent participer à un même calcul, c’est plus délicat, la mémoire n’étant pas commune.

II.2.b : Architecture partagée

Ici les processeurs se partagent la mémoire, le bus système et les entrées-sorties. Il faut bien entendu un traitement rigoureux des conflits pour éviter que deux processeurs écrivent au même endroit de la mémoire. Le traitement peut être symétrique (chaque processeur reçoit une tranche du travail de l’ensemble) ou asymétrique (chacun est spécialisé dans une tâche précise).

III : Mémoire centrale

La mémoire centrale d’un ordinateur sert à la fois à stocker le code (le programme en cours d’exécution) et les données (les variables dont le programme a besoin). Il en existe de plusieurs types, qui se distinguent par leur technologie, leur mode d’accès, leurs performances et leur prix.

La mémoire cache est une mémoire rapide permettant de stocker les données les plus lues fréquemment, pour éviter d’utiliser la mémoire classique ou une mémoire de masse, plus lentes.

 

 

III.1 : Mémoire RAM

RAM : Random Access Memory, Mémoire à accès aléatoire. Le terme aléatoire est un peu impropre. Il signifie en fait que l’on peut accéder à n’importe quel point de la mémoire à un temps donné. Le temps d’accès est constant quel que soit l’emplacement en mémoire (par opposition, une cassette magnétique est à accès séquentiel, l’accès au dernier morceau est plus long que l’accès au premier). Ce sont des mémoires électroniques, utilisant des semi-conducteurs (actuellement de type MOS). Elles sont accessibles en lecture comme en écriture. Leur contenu est volatile, c’est à dire qu’il disparaît lors d’une coupure de l’alimentation électrique.

III.1.a : Mémoires RAM statiques (SRAM)

La cellule mémoire de base est constituée d’une porte D. La mémorisation est permanente, la lecture non destructrice. Le temps d’accès est court (environ 10 ns). Elles comportent environ 6 transistors. Leur coût est assez élevé (actuellement, entre 100 et 500 F le MO). Elles sont utilisées dans les mémoires caches (interne et externe). On en trouve actuellement de 256 kO à 1MO sur les micro-ordinateurs.

 

III.1.b : Mémoires RAM dynamiques (DRAM)

La cellule mémoire de base est constituée d’un transistor et d’un condensateur (total équivalent à 1.5 transistor) . Le condensateur conserve la charge électrique écrite pendant un temps fixe. La mémorisation n’est donc pas permanente, il faut la rafraîchir périodiquement (environ toutes les µs). La lecture est destructrice (il faut donc ré-écrire ce que l’on lit). Le temps d’accès est assez long (il faut laisser le temps à la charge de s’établir dans le condensateur), actuellement 50 ns. Par contre, le coût est assez faible (environ 10-20 F le MO). Elles sont utilisées pour la mémoire vive (l’emplacement des programmes et des données) des ordinateurs. Un circuit spécial s’occupe du rafraîchissement des mémoires.

Leur taille varie de 1MO à 1GO.

III.1.c : Autres RAM ....

Il existe de nombreux autres types de RAM. Il existe de nombreuses solutions pour conjuguer le faible coût (et encombrement) des DRAM et la vitesse/fiabilité des SRAM. Il existe aussi de types de mémoires spécialisés, à accès lecture/écriture simultané, etc...

 

III.2 : Mémoire ROM

ROM : Read Only Memory, mémoire à lecture seulement.

L’accès est lui aussi aléatoire.

Mémoires électroniques permanentes, leur contenu n’est pas perdu lors de la coupure d’alimentation. On ne peut par contre plus modifier leur contenu. Il existe plusieurs types de ROM, qui se caractérisent par la technologie utilisée pour écrire les informations. (EPROM, EEPROM....). Leur temps d’accès est généralement assez long. Elles sont utilisées comme BIOS des ordinateurs et/ou des périphériques. Elles contiennent en général peu d’informations (de 1 kO à 512 kO environ).

 

III.3 : Mémoires FLASH

Ce composant est à mi-chemin entre une RAM et une ROM. Les informations écrites sont conservées lors d’une coupure d’alimentation. Par contre, si la lecture s’effectue à une vitesse correcte, l’écriture est très lente. Elles sont en général utilisées à la place des ROM, pour pouvoir faire évoluer les paramètres (BIOS, Microgiciels des modems, etc...).

Leur coût est assez élevé. Ceci plus la lenteur des cycles d’écritures empêche de les utiliser comme mémoires de masse. Elles sont de plus limitées en nombre de cycles d’écriture.

 

III.5 : Unités de mémoire

On utilise comme unité mémoire de base un mot de 8 bits : un octet.

Les multiples de cette unités sont :

Le kilo-octet (kO): 210 = 1024 octets

Le mega-octet (MO) : 220 = 1048576 octets

Le giga-octet (GO) : 230 = 1073741824 octets = 1024 MO

Le tera-octet (TO) : 240 = 1099511627776 octets = 1024 GO

 

Mémoire

Accès

Lecture

Ecriture

Utilisation

DRAM

 

 

50 ns

Aléatoire

Aléatoire

Mémoire vive :

Programmes

Données

SRAM

 

 

10 ns

Aléatoire

Aléatoire

Mémoire Cache :

Données fréquemment utilisées

ROM

 

 

>100 ns

Aléatoire

IMPOSSIBLE

Mémoire morte :

BIOS

Paramètres

FLASH

 

100 ns

Aléatoire

Séquentielle et lente.

BIOS avec MAJ

Microgiciels

 

IV : Bus

 

IV.1 : Notion de bus de communication

Tous les signaux et informations traités dans les ordinateurs sont de nature binaire ; pour traiter un entier compris entre –32768 et +32767, par exemple, il faut 16 bits. Les communications entre les différents éléments d’un ordinateur doivent donc comporter 16 voies (1 par bit) pour plus de vitesse.

Un bus est le regroupement de plusieurs lignes (bits) formant un mot binaire, plus quelques signaux de contrôle et de synchronisation.

 

IV.2 : Bus de données

Toutes les données circulent entre la mémoire centrale et le processeur, dans un sens comme dans l’autre. Le bus de données est donc bi-directionnel. Outre les n bits du mot binaire, il comporte des signaux comme Read, /Write, CLOCK et autres...

Le bus de données est synchrone.

Sa taille est actuellement de 32 bits, (plus les signaux de contrôle) pour une vitesse de 33 MHz.

Il peut y avoir plusieurs bus de données dans une machine, par exemple un bus rapide entre le processeur et la mémoire, et un bus plus lent entre le processeur et les périphériques.

 

Dans les PC, les différents bus de données utilisés sont les suivants :

 

Bus

Année

Taille

Vitesse

PC

 

1979

8 bits

4.77 MHz

AT-Bus (ISA)

 

1984

16 bits

8 MHz

MCA

 

1986

32 bits

10 MHz

VLB

 

1993

32 bits (VLB 1.0)

64 bits (VLB 2.0)

CPU (<40 MHz)

PCI

 

1993

32 bits (PCI 1.0)

64 bits (PCI 2.0)

33 MHz

AGP

 

1997

32 bits

33 MHz (AGP 1x)

66 MHz (AGP 2x)

133 MHz (AGP 4x)

SCSI

...

8 bits (SCSI-1)

16 bits (SCSI Wide)

5 MHz (SCSI-1)

10 MHz (SCSI-2)

20 MHz (Ultra SCSI)

40 MHz (Ultra 2 SCSI)

USB

 

1997

1 bit (bus série)

12 MHz

La taille et la vitesse du bus de données influent énormément sur les performances de la machine.

 

IV.3 : Bus d’adresses

Pour pouvoir lire ou écrire dans la mémoire centrale (à accès aléatoire) il faut connaître l’adresse de la cellule mémoire concernée. Cette adresse est un mot de n bits. La taille maximum de la mémoire centrale est donc de 2n cellules. En général, la cellule de base est l’octet (8 bits).

 

IV.4 : Bus d’E/S

Les périphériques, les mémoires de masse, en bref tout dispositif d’E/S doit pouvoir communiquer avec le processeur . Mais il peut être gênant d’utiliser le bus de données du système. Il existe parfois, en coexistence, un bus de données particulier pour les E/S.

 

V : Unités d’E/S

 

Pour communiquer avec l’extérieur, un ordinateur à besoin d’unités de contrôle des entrées et des sorties. Celles-ci sont des données. Elles peuvent comporter un programme, des actions, des ordres, ou des informations.

Les E/S sont de deux natures :

L’accès à la mémoire centrale se fait soit par l’intermédiaire du processeur, soit directement. Le bus employé peut être le bus de données du système ou un bus d’E/S.

Les E/S seront abordées plus en détail dans le cours sur les périphériques.

 

VI : Mémoires de masse

La mémoire centrale étant la plupart du temps de la RAM, on a besoin d’une mémoire secondaire, permanente, pour pouvoir archiver les informations et/ou les programmes.

Les mémoires de masse sont de technologies, de capacités et de performances très diverses. Toutes sont plus lentes que la mémoire centrale mais de capacité nettement supérieure.

La capacité d’une mémoire de masse s’exprime en octets (kO, MO, GO...).

Les performances s’expriment par :

 

VI-1 : Les ancêtres

Les premières mémoires de masse sont très anciennes : les cartes perforées des orgues de barbarie sont des mémoires de masse. Elles sont évidemment à accès séquentiel, et leurs performances ainsi que leur capacité sont médiocres. Des dispositifs semblables existent encore néanmoins car leur coût est extrêmement faible.

 

VI-2 : Bandes magnétiques

Il faut convertir les informations numériques de l’ordinateur en informations sonores pouvant être enregistrées sur la bande.

Pour cela on utilise un codage simple :

On associe une fréquence pure (un signal sinusoïdal) à un 0, par exemple f0=1 kHz et une autre fréquence pure, très différente (par ex, le double ou 10x plus) à 1 un : f1=10 kHz.

Il faut encore définir une durée T pour chaque bit (par exemple, T=2 ms) .

Il faut bien sûr respecter plusieurs critères :

Tout ceci impose le débit maximum d’une bande magnétique : il est difficile de faire plus de 10000 bits/s (soit 1 kO/s environ dans le meilleur des cas).

L’accès est bien évidemment séquentiel, ce qui veut dire que le temps d’accès moyen est environ la moitié de la durée de la bande.

La capacité totale de la bande dépend bien entendu de sa durée et de sa vitesse de défilement. En pratique, il est possible d’obtenir des capacités assez importantes sur bande magnétique. (GO)

Avec l’avènement des cassettes DAT (bandes magnétiques numériques) le codage n’est plus fréquentiel, et on peut obtenir des taux de transferts de l’ordre du MO/s. La capacité d’une cassette DAT est d’un GO par face.

 

VI-3 : Disquettes

Le support est toujours magnétique, mais les informations sont codés numériquement (suivant l’orientation du champ magnétique à la surface du disque).

Les disquettes sont aussi appelées disques souples.

Leur principe est très différent d’une bande magnétique.

Chaque face de la disquette est découpée en pistes concentriques, ainsi qu’en secteurs. Ce découpage permet de repérer par un système de coordonnées (face, piste, secteur) l’information à transférer. L’unité de base d’une disquette (un bloc, appelé en général secteur) contient généralement 512 octets (standard DOS). Il est impossible de lire ou d’écrire moins de 512 octets sur une disquette.

Un disquette est composé d’un disque magnétique souple, percé d’un trou en son centre pour permettre de le faire tourner. Ce disque est placé dans un étui de protection en plastique pour éviter les rayures.

Dans le lecteur de disquettes, celle-ci tourne en permanence, et une tête de lecture/écriture vient se positionner à l’emplacement voulu. Pour que ce positionnement soit le plus précis possible, on écrit sur la disquettes des " marques " permettant de repérer les pistes et secteurs. L’opération d’écriture de ces marques s’appelle le formatage.

La disquette a peu évolué depuis son apparition.

Actuellement, les disquettes ont un format de 3.5’’. Les deux faces sont utilisées. Elles comportent 80 pistes et 18 secteurs. Le bloc contient 512 octets, ce qui nous donne une capacité de 80x18x2x512 = 1474560 octets ( soit 1440 kO, donc 1,4 MO et non pas 1,44 MO).

Le temps d’accès moyen d’une disquette est de l’ordre de 250 ms et le taux de transfert de 50 kO/s.

L’accès se fait par le bus de données du système.

Depuis peu sont apparues des " super disquettes " dont le principe est entre une disquette et un disque dur. Aucune d’entre elles n’impose vraiment son standard en remplacement de la disquette 1.4 MO.

 

ZIP (Iomega)

LS-120 (Imation)

HiFD (Sony)

Capacité

100 MO

120 MO

200 MO

Interface

// - IDE – SCSI

// - IDE

IDE

Temps d’accès

29 ms

70 ms

20 ms

Taux de transfert

1.4 MO/s

0.5 MO/s

3.4 MO/s

Compatibilité disk.

Non

Oui

oui

 

VI-4 : Disque dur

Un disque dur est très semblable à une disquette. Au lieu d’un seul disque magnétique, il comporte une série de disques appelés plateaux, chacun d’entre eux étant divisé en pistes/secteurs et comportant deux faces. La tête de lecture est multiple (1 tête par plateau) ce qui permet de décupler la vitesse d’un disque dur. On peut en effet accéder à un secteur par plateau en même temps. On appelle ça un cylindre. De plus, la vitesse de rotation est bien plus grande (actuellement 7000 tours/min au lieu de 300 pour une disquette). Les disques durs récents présentent des temps d’accès de moins de 10 ms pour des taux de transferts de 10 MO/s. Un disque dur demande une construction très précise, car à une vitesse de rotation si importante, le moindre contact entre la tête de lecture et le disque entraînerait une destruction de celui-ci. Les têtes doivent donc être maintenus à une certaine distance, dite hauteur de vol. Celle-ci est de l’ordre de 0,2 à 1 µ. La surface du disque doit être absolument plane et propre sous peine de provoquer un atterrissage de la tête. (par ex : une poussière = 20 µ, un cheveu = 70µ) C’est pour cela que les disques sont montés en salle blanche dans un boîtier absolument étanche. Le " flottage " de la tête est assuré par un coussin d’air créé par la rotation du disque. Il faut donc s’assurer que lors de l’arrêt de celui-ci, la tête ne se trouve pas au-dessus d’une zone de données, mais au dessus d’une zone spéciale, dite zone d’atterrissage (landing zone).

Il existe un certains nombre de types de disques durs, qui se différencient principalement par leur interface de contrôle, id leur lien avec la mémoire centrale.

Disques IDE (Intelligent Drive Electronics)

Appelés aussi AT-Bus, car apparus sur les PC-AT (286) ; il n’y a pas de bus IDE à proprement parler ; un disque IDE est relié directement au bus de données système par un port d’E/S. La vitesse de transfert est donc limitée par ce bus. Surtout, pendant le transfert, le CPU est pratiquement monopolisé puisque les ports d’E/S sont contrôlés par lui.

Disques E-IDE ou Fast-IDE

Ce format est une variante du précédent, légèrement plus rapide est permettant de connecter quatre unités.

Disques SCSI, SCSI-II, UltraWide SCSI

SCSI (Small Computer System Interface) est en fait un bus d’E/S qui n’est pas réservé aux seuls disques durs. La version de base (SCSI) comporte un bus de 8 bits cadencé à 8 MHz (env 5MO/s pour un disque dur). Les versions II, III & Ultra Wide changent juste la vitesse du bus et sa largeur (16 ou 32 bits). Les versions les plus récentes permettent des débits jusqu’à 80 MO/s. Le bus utilisé étant distinct de celui du système, le CPU est beaucoup moins utilisé pour un transfert qu’en IDE. De plus, un contrôleur SCSI est " intelligent " est peu dans la plupart des cas se passer des services du CPU pour fonctionner. Ces systèmes sont donc plus rapides, surtout sur un système multi-tâches.

Il existe d’autres systèmes, moins utilisés ; on peut signaler également Ultra-DMA qui est une variante de l’EIDE avec une meilleure gestion du transfert, qui rapproche ses performances des systèmes SCSI.

 

VI-5 : CD-ROMS

Apparu au début des années 80, le disque compact audio utilisait une lecture fine et précise par un rayon laser, et un codage numérique d’informations audio. C’est donc tout naturellement qu’on a tenté d’utiliser ce format en informatique pour stocker des données numériques.

Le premier format apparu est le CD-ROM. On ne peut que lire (d’où l’appellation ROM) les informations qui sont préssés sur le CD en usine, comme pour un CD-audio. Les formats sont si proches qu’il est possible de lire un CD audio avec un lecteur de CD-ROM.

La lecture sur un CD est très différente de celle sur un disque. Elle est séquentielle. Les informations ne sont pas en effet rangés en pistes et secteurs, mais (pour préserver la compatibilité avec le CD-audio) sur une seule piste, disposée en spirale. Il n’a aucun formatage, ce qui fait qu’on ne peut accéder directement à n’importe quel endroit de la piste, il faut parcourir celle-ci. Le temps d’accès est donc beaucoup plus important que dans un disque dur. (plus de 200 ms)

Pour améliorer les performances du CD-ROM par rapport au CD-Audio, on a juste augmenté la vitesse de rotation. La vitesse de rotation d’un CD audio amène un débit de données de 150 kO/s (ce qui est faible par rapport à un disque dur) Si on a un lecteur 12x , le débit (théorique) maximum est de 12x150 = 1800 kO/s , ce qui est proche de celui d’un disque dur.

La capacité d’un CD-ROM est de 650 MO. Une seule face est utilisée.

 

VI-6 : autres dispositifs

Il serait difficile de recenser tous les dispositifs de mémoire de masse. La plupart d’entre eux se rapprochent soit d’une bande magnétique, soit d’un disque dur, soit d’un CD-ROM.

 

 

 

Mémoire de masse

Accès

Capacité

Débit

Disquette

Aléatoire

250 ms

1,4 MO

50 kO/s

Disque Dur :

  • IDE
  • SCSI
  • SCSI-2
  • EIDE
  • Ultra DMA 33
  • Ultra DMA 66
  • Ultra Wide SCSI

Aléatoire

  • 12 ms
  • 10 ms
  • 4 ms
  • 4 ms

  • 500 MO
  • >10 GO

  • 1 MO/s
  • 4 MO/s
  • 10 à 20 MO/s
  • 16 MO/s
  • 33 MO/s
  • 66 MO/s
  • 80 MO/s

Bande magnétique

Séquentiel

   

1 kO/s à 1 MO/s

CD-ROM

Séquentiel

250 ms

 

150 kO/s (1X) à 4,5 MO/s (32x)

 

 

VI-7 : Système de fichiers

Les données devant être enregistrées sur une mémoire de masse sont de natures diverses. Elles se présentent pourtant toutes sous la même forme : une suite de 0 et de 1. Si un programme devait accéder à la mémoire de masse bit à bit (ou même octet par octet) ce serait pratiquement impossible de retrouver l’information désirée. Pour cela, le système d’exploitation de l’ordinateur organise la mémoire de masse suivant un système de fichiers.

Un fichier est un ensemble organisé d’informations numériques, portant un nom unique le représentant. S’il s’agit, par exemple, d’une lettre tapée avec un traitement de texte, le fichier contient des codes ASCII (les lettres) plus quelques informations propres au programme (polices utilisées, etc...). Il peut s’appeler, par exemple, LETTRE1.DOC . Les caractères autorisés dépendent du système d’exploitation.

Mais sur une mémoire de masse importante, le simple fait de nommer les fichiers ne suffit pas. Sur les disques durs modernes, on peut stocker plus de 100 000 simples lettres ! Impossible de s’y retrouver uniquement avec le nom du fichier. Pour cela, la plupart des systèmes d’exploitation organisent la mémoire de masse en Répertoires (Dossiers) et Sous-Répertoires (Sous-Dossiers). On peut comparer cette organisation avec l’organisation d’un bureau en armoires, tiroirs, dossiers, fiches... Celle-ci permet de ranger ses fichiers de façon rationnelle et pratique. Bien sûr, d’un système à l’autre, la façon d’organiser les fichiers change mais les principes sont les mêmes.

Exemple : L’exploration d’un disque dur avec Windows 98.