sommaire

CII-HONEYWELL-BULL-SEMS MITRA 15

Cette page permet le téléchargement d'une partie de la documentation du MITRA 15, mini-ordinateur des années 1970-1980 que j'ai pratiqué pendant quelques années. Cet ordinateur a été produit par la CII (Compagnie Internationale pour l'Informatique), devenue BULL (Honeywell-Bull) et SEMS (Société européenne de mini systèmes).

Il s'agissait d'une très bonne machine française même si les performances peuvent faire sourire en 2018. La photo ci-dessous provient du site hongrois A jövő múltja qui j'espère, me pardonnera de l'avoir reprise ici. Je l'ai un peu transformée en la combinant avec d'autres photos afin de donner une vision plus complète de la partie "unité centrale".

img

La photo suivante provient d'une revue de l'INRIA.

img

Description

Le pupitre (photo)

Le pupitre est la face avant du boitier qui contient le processeur et sa mémoire. En général, il était inséré dans une baie pour y loger les autres périphériques. Pour celui que j'ai utilisé, il y avait deux baies. Une contenait l'ordinateur, l'alimentation et le lecteur de rubans perforés. L'autre était quasiment vide et contenait le disque dur DRI (5Mo amovible, 5Mo fixe). La console opérateur était une Télétype ASR33.

Sur le pupitre, on peut voir deux rangées de 16 lampes (ampoules midgets). Celle du haut visualise les données à l'adresse indiquée par celle du bas.

Il est possible de programmer "aux clés" en entrant une valeur via des interrupteurs et de stocker la valeur, soit comme adresse à lire/écrire, soit comme valeur à écrire en mémoire. On peut aussi s'en servir pour faire un jeu de ping-pong (qui ne l'a pas fait...).

Les boutons situés sous les interrupteurs permettent de sélectionner sur quoi on veut agir avec les interrupteurs (registre, adresses, mémoire...).

L'interrupteur "arrêt sur adresse" permet d'arrêter un programme lorsqu'il atteint une adresse indiquée par les interrupteurs d'adresse.

Si je me souviens bien, le contacteur en haut à gauche permet d'agir sur l'horloge et en particulier, de faire du pas à pas grâce au bouton situé juste en dessous (un appui permet d'exécuter une instruction).

Une rangée de lampes permet de connaitre l'état des indicateurs.

Sur la version sur laquelle je travaillais, il me semble qu'il y avait également un interrupteur verrouillable via une clé de serrure qui désactivait les interrupteurs et boutons du pupitre.

Principales caractéristiques

Les informations qui suivent proviennent du document sur l'assembleur.

Le MITRA 15 est un mini-ordinateur temps réel pouvant disposer d'une à quatre unités de traitement microprogrammées en mémoire morte.

Sa mémoire centrale à tores de ferrites au lithium est organisée en mots de 16 bits plus un bit de parité et un bit de protection avec un cycle de base de 800ns. Elle est organisée en banc de 4096 mots de 16 bits (8192 octets) et peut atteindre la capacité de 32kmots (64ko).

Chaque unité de traitement comporte un bloc de registres rapides (60ns) de 16 bits réalisés en circuits intégrés en technologie bipolaire. Chaque bloc peut comporter 8 registres. Il peut y avoir 8 à 16 blocs (soit 64 à 128 registres). le bloc 0 (le premier) est affecté au programme. Les autres sont affectés aux périphériques. Les registres sont :

Les indicateurs sont :

Le MITRA 15 a été conçu pour gérer un grand nombre d'interruptions. Il dispose de 32 niveaux d'interruptions prioritaires et de 112 interruptions externes. Le changement de contexte se fait en 30µs. Un niveau spécial permet une commutation en 5µs.

Le MITRA 15 pouvait être émulé (à des fins de développement) sur les machines suivantes :

En 2017, ayant à expliquer le fonctionnement d'un processeur à quelqu'un, j'en suis arrivé à parler de ce que l'on appelle communément la pile qui permet le passage de paramètre et surtout, la sauvegarde des contextes et adresses de retour. J'ai alors eu un doute sur la généralité de cette architecture car dans mes souvenirs, le MITRA 15 ne possédait pas de registre de pile. Après vérification, effectivement, il n'en possède pas.

Chaque section locale possède une zone de donnée qui permet de sauvegarder son contexte en cas de besoin. Ces sections ne sont donc pas réentrante par nature (maisla bidouille est possible...).

Par contre, les programmes contenus en section commune (appelables par toute section locale) doivent proposer des services réentrants. C'est pourquoi chaque section locale doit fournir une zone de données aux programmes des sections communes afin qu'ils rangent les données de contexte. Si vous avez suivi juque là, vous devez vous dire que ce n'est pas suffisant pour que ça fonctionne. Pour aller plus loin, voir le document sur l'assembleur...

Documents

Assembleur MITRA 15. Fichier pdf. Taille 105Mo.

Moniteur de base MOB MITRA 15. Fichier pdf. Taille 34Mo.

Moniteur temps réel MTR MITRA 15. Fichier pdf. Taille 50Mo.

Moniteur multi-tâches MMT MITRA 15. Fichier pdf. Taille 19Mo.

Editeur chargeur ECH, éditeur de liens EDL, EDL-E, EDL-EX, EDL-D, EDL-DX MITRA 15. Fichier pdf. Taille 27Mo.

Bibliothéquaire BIB MITRA 15. Fichier pdf. Taille 13Mo.

Génération système MITRA 15. Fichier pdf. Taille 5Mo.

Lecture et écriture directe, SEMS-EFREI, MITRA 15. Fichier pdf. Taille 25Mo.

Désassemblage du MTRD MITRA 15, Pascal Chour. Fichier pdf. Taille 36Mo.

Bibliothèque mathématique MITRA 15. Fichier pdf. Taille 14Mo.

Bibliothèque mathématique FXSD MITRA 15. Fichier pdf. Taille 10Mo.

Bibliothèque mathématique BMFX, BMFXD, BMFL, BMCV MITRA 15. Fichier pdf. Taille 15Mo.

sommaire