GE-645

GE-645

En 1964, les chercheurs du MIT savent déjà faire travailler plusieurs utilisateurs sur un même ordinateur grâce à CTSS. Mais leur nouveau projet, Multics, est beaucoup plus ambitieux : il doit fournir un service informatique disponible en permanence, accessible à distance et capable de protéger simultanément les programmes et les données de nombreux utilisateurs.

Aucun ordinateur disponible ne répond exactement à ces besoins. Le MIT et General Electric vont donc modifier profondément un grand ordinateur existant, le GE-635. Le résultat est le GE-645, un mainframe 36 bits dont l’architecture est pensée avec le système d’exploitation qu’il doit accueillir. Segmentation, pagination, mémoire virtuelle, protection matérielle et accès depuis des terminaux distants font du GE-645 une machine importante dans l’histoire des systèmes informatiques.

Le GE-645 en quelques caractéristiques

Constructeur General Electric
Type Mainframe / ordinateur central
Architecture 36 bits
Origine Évolution du GE-635
Début de conception 1964
Présentation publique 30 novembre 1965
Premières livraisons 1967
Système principalement associé Multics
Mémoire Mémoire à tores magnétiques
Technologie du processeur Transistors discrets
Particularités Multiprocesseur, segmentation, pagination, mémoire associative, protection matérielle

1964 : Multics a besoin d’une nouvelle machine

Le GE-645 naît directement des expériences de temps partagé menées au MIT. Avec CTSS, plusieurs utilisateurs peuvent déjà travailler depuis des terminaux sur un même ordinateur. Multics doit cependant aller beaucoup plus loin : accueillir davantage d’utilisateurs, fonctionner presque continuellement et donner à chacun l’impression de disposer d’un environnement informatique personnel.

Au printemps 1964, les chercheurs étudient les ordinateurs existants. Le GE-635 de General Electric paraît être la meilleure base. C’est déjà une machine 36 bits pouvant fonctionner avec plusieurs processeurs, plusieurs modules mémoire et plusieurs contrôleurs d’entrées-sorties. Cette organisation modulaire permet d’augmenter la puissance du système mais aussi de continuer à fonctionner lorsqu’un élément doit être isolé.

Les modifications commencent en mai 1964. Elles deviennent suffisamment importantes pour donner naissance à une nouvelle machine : le GE-645.

Un mainframe conçu avec son système d’exploitation

Le GE-645 appartient bien à la catégorie des mainframes. Comme l’IBM System/360, il s’agit d’un grand système destiné à être installé dans un centre informatique et à servir de nombreux utilisateurs et périphériques. Mais leurs objectifs diffèrent. Le System/360 constitue une vaste famille commerciale généraliste, tandis que le GE-645 est étroitement lié aux besoins de Multics.

Cette relation entre matériel et logiciel est essentielle. Les concepteurs ne cherchent pas seulement à rendre le processeur plus rapide. Ils ajoutent directement au matériel des fonctions permettant au système d’exploitation de gérer efficacement plusieurs utilisateurs, de traduire leurs adresses mémoire et de limiter leurs droits d’accès.

36 bits et plusieurs processeurs

Comme le GE-635 dont il dérive, le GE-645 manipule des mots de 36 bits. Ce format est alors courant sur les grands ordinateurs scientifiques, notamment chez IBM et General Electric.

La machine est organisée en modules. Des processeurs, des contrôleurs d’entrées-sorties et plusieurs blocs de mémoire peuvent être reliés au même système. La configuration installée initialement au MIT possède notamment deux processeurs, chacun exécutant environ 435 000 instructions par seconde, ainsi que plusieurs blocs de mémoire à tores magnétiques.

Cette organisation permet à plusieurs processeurs de travailler sur une mémoire partagée. Elle répond à deux objectifs : augmenter progressivement la capacité de la machine et améliorer sa disponibilité. Un élément défaillant peut dans certains cas être isolé sans remettre en cause toute l’installation.

Segmentation et pagination : deux problèmes différents

L’innovation la plus intéressante du GE-645 concerne probablement sa gestion de la mémoire. Elle combine segmentation et pagination, deux mécanismes qu’il ne faut pas confondre.

Un segment représente un objet logique : par exemple un programme, une procédure ou une zone de données. Au lieu de considérer la mémoire comme une seule suite d’adresses, le programme travaille donc avec plusieurs espaces ayant chacun une fonction.

La pagination répond à un autre problème. Un segment est découpé en blocs plus petits, les pages. Seules les pages réellement nécessaires doivent être présentes dans la mémoire centrale à un instant donné.

Programme
   │
   ├── segment de code
   │      ├── page
   │      └── page
   │
   └── segment de données
          ├── page
          └── page

              ↓

      mémoire physique

Le programme manipule ainsi un espace logique qui ne correspond plus directement à la disposition réelle des informations dans la mémoire physique. Le système peut placer les pages disponibles là où il trouve de la place et charger celles qui manquent lorsque le programme en a besoin.

Le GE-645 n’invente pas la pagination : l’ordinateur britannique Atlas l’utilisait déjà. Son importance tient surtout à l’intégration poussée de la segmentation, de la pagination et de la protection dans une architecture conçue pour un grand système multi-utilisateur.

Une mémoire associative, ancêtre du TLB moderne

Cette traduction des adresses pose toutefois un problème. Si le processeur devait consulter plusieurs tables en mémoire à chaque instruction, le coût serait considérable.

Le GE-645 possède donc une petite mémoire associative dans laquelle il conserve les informations de traduction récemment utilisées. Lorsqu’un programme accède de nouveau à la même zone, le processeur peut retrouver directement la correspondance sans parcourir à nouveau toutes les tables.

Le principe est très proche de ce que les processeurs modernes appellent un TLB, ou Translation Lookaside Buffer. Le nom est différent, mais l’objectif reste le même : accélérer la traduction entre les adresses utilisées par un programme et la mémoire physique.

Le matériel participe aussi à la protection

Le temps partagé crée un problème absent d’une machine utilisée par un seul programme : il faut empêcher un utilisateur de modifier la mémoire d’un autre ou d’accéder directement aux fonctions critiques de l’ordinateur.

Les descripteurs de segments et de pages du GE-645 contiennent donc des informations de contrôle. Une zone peut par exemple être accessible en lecture mais protégée contre l’écriture. Le processeur vérifie ces droits lors des accès.

Il possède également trois modes d’exécution : slave, master et absolute. Les programmes ordinaires fonctionnent normalement en mode slave et ne peuvent pas utiliser les instructions les plus dangereuses. Les modes plus privilégiés sont réservés au système.

Il ne faut cependant pas attribuer au GE-645 original les célèbres anneaux de protection complets souvent associés à Multics. Leur réalisation matérielle plus élaborée arrivera avec son successeur, le Honeywell 6180.

Le GIOC relie l’ordinateur au monde extérieur

Un système de temps partagé ne se limite pas au processeur. Des dizaines de personnes doivent pouvoir communiquer avec l’ordinateur depuis des terminaux locaux ou distants.

General Electric développe donc pour le GE-645 un contrôleur appelé GIOC, pour Generalized Input/Output Controller. Il prend en charge à la fois des périphériques classiques — disques, bandes magnétiques, imprimantes — et les lignes de communication utilisées par les terminaux.

Cette architecture montre un changement de perspective important : l’ordinateur n’est plus seulement une machine de calcul enfermée dans une salle. Il devient le centre d’un réseau d’utilisateurs qui travaillent à distance.

Multics est d’abord testé sur un ordinateur qui n’existe pas encore

Le logiciel Multics commence à être développé alors que le GE-645 n’est pas encore disponible. Le MIT possède cependant un GE-635. Les programmeurs créent donc un simulateur du GE-645 fonctionnant sur cette machine.

Cette configuration est surnommée « 6.36 ». Le simulateur est extrêmement lent — environ cent fois plus lent que la machine attendue — mais il permet d’écrire et de tester une partie du système avant l’arrivée du matériel définitif.

Les premiers prototypes GE-645 sont finalement livrés au MIT et aux Bell Labs en janvier 1967. Le développement peut alors quitter progressivement le simulateur et fonctionner directement sur la nouvelle machine.

1969 : Multics devient réellement utilisable

La présence du GE-645 ne signifie pas que Multics fonctionne immédiatement. Le système est extrêmement complexe et sa mise au point prend plusieurs années. Des problèmes matériels et logiciels provoquent encore de nombreux arrêts.

En juillet 1969, des utilisateurs extérieurs aux équipes de développement commencent néanmoins à accéder au système du MIT. En octobre, un service régulier est proposé aux utilisateurs universitaires. Au printemps 1970, le GE-645 du MIT peut fournir un temps de réponse satisfaisant à environ 35 utilisateurs simultanés.

Le GE-645 devient ainsi la machine sur laquelle les idées présentées quelques années auparavant avec Multics peuvent enfin être expérimentées à grande échelle.

Un GE-645 fonctionne aussi à Paris

L’histoire du GE-645 possède également un épisode français. Après le rapprochement des activités informatiques de General Electric et de Honeywell, la Compagnie Honeywell-Bull utilise Multics pour certains de ses développements.

En mars 1972, un GE-645 est installé à Paris. Il sert notamment au développement logiciel et peut faire travailler simultanément une vingtaine de terminaux tout en exécutant des traitements plus lourds. Les équipes parisiennes et américaines échangent alors leurs logiciels sur bandes magnétiques transportées par avion.

Cette machine reste utilisée jusqu’au milieu des années 1970 et constitue un premier chapitre de la longue histoire de Multics en France.

Du GE-645 au Honeywell 6180

Le GE-645 reste une machine relativement rare. Il n’a jamais vocation à concurrencer en volume la famille IBM System/360. Son importance est surtout technologique.

En 1970, General Electric cède son activité informatique à Honeywell. Les travaux réalisés autour du GE-645 conduisent ensuite au Honeywell 6180, mieux adapté à Multics et doté d’une architecture de protection plus avancée.

Le GE-645 du MIT est remplacé au début des années 1970, mais les concepts développés pour lui poursuivent leur carrière. Multics influencera notamment les réflexions autour d’Unix aux Bell Labs, puis toute une génération de systèmes d’exploitation.

Pourquoi le GE-645 est important

Le GE-645 n’est pas célèbre pour ses performances brutes ni pour son succès commercial. Son intérêt historique est ailleurs : il montre une époque où la conception d’un système d’exploitation impose de repenser directement l’architecture de l’ordinateur.

La mémoire virtuelle, la séparation entre espace logique et mémoire physique, la protection matérielle, les modes privilégiés, les systèmes multiprocesseurs et l’accélération de la traduction d’adresses sont aujourd’hui des mécanismes ordinaires. Sur le GE-645, ils participent encore à une expérimentation ambitieuse : faire d’un grand ordinateur une ressource partagée par de nombreux utilisateurs distants.

À ce titre, le GE-645 forme un lien essentiel entre les premiers systèmes de temps partagé, Multics et l’architecture des ordinateurs modernes.

Publications similaires

  • IBM 709

    À la fin des années 1950, les grands ordinateurs scientifiques sont devenus indispensables à la recherche, à l’aéronautique et aux programmes militaires. Mais leur puissance ne suffit plus. À mesure que les calculs s’accélèrent, un nouveau problème apparaît : le processeur passe encore trop de temps à attendre les cartes perforées, les bandes magnétiques et…

  • GE-225

    Le General Electric GE-225 est un ordinateur central du début des années 1960. Il est surtout resté dans l’histoire parce qu’il a servi à Dartmouth pour le développement du temps partagé et du langage BASIC. Les débuts du BASIC et du temps partagé Au début des années 1960, l’informatique reste dominée par de grandes machines…

  • |

    IBM System/360

    L’IBM System/360, souvent abrégé S/360 ou IBM 360, est une famille d’ordinateurs centraux annoncée par IBM le 7 avril 1964. Son importance ne tient pas à une seule machine particulièrement rapide, mais à une idée qui transforme profondément l’industrie informatique : proposer plusieurs ordinateurs de puissances différentes autour d’une même architecture. Pour une entreprise, cela…

  • Honeywell 800

    Le Honeywell 800, ou H-800, est un mainframe transistorisé 48 bits annoncé par Honeywell en 1958 et dont les premières livraisons commencent à la fin de 1960. Derrière ses quelque 7 tonnes, ses milliers de transistors et son prix proche du million de dollars se cache surtout une architecture étonnamment moderne : un seul processeur…

  • PDP-10

    Le PDP-10 est un grand ordinateur 36 bits commercialisé par Digital Equipment Corporation (DEC) à partir de 1967. Successeur du PDP-6, il devient l’une des machines emblématiques de l’informatique universitaire et scientifique des années 1960 et 1970.Contrairement aux mini-ordinateurs comme le PDP-8 ou le PDP-11, le PDP-10 appartient à la catégorie des grands systèmes, ou…

  • ENIAC

    L’ENIAC (Electronic Numerical Integrator and Computer) est l’un des premiers grands ordinateurs électroniques numériques programmables et généralistes de l’histoire. Il constitue une étape majeure dans le passage des calculateurs spécialisés aux ordinateurs capables de traiter des problèmes très différents.Conçu à la Moore School of Electrical Engineering de l’université de Pennsylvanie pour l’armée américaine, il doit…