Conservatoire national des arts et métiers
Architectures des systèmes informatiques
ANNEXE 02
Note sur les enseignements d'architectures des systèmes informatiques
Année 2002-2003

Ces enseignements sont faits en deux cours accompagnés d'exercices dirigés :
 «Architectures des systèmes informatiques» fait partie de cycles dits probatoires d'informatique du Conservatoire National des Arts et Métiers. Il s'adresse à des auditeurs qui ont des connaissances du niveau d'un baccalauréat +2 d'informatique. Ses notes sont les chapitres 1 à 10 et 14 à 18 de ces documents.
 «Architectures parallèles et traitement du signal» fait partie de cycles dits d'approfondissement. Ilk s'adresse à des auditeurs qui ont acquis les connaissances du cours précédent. La première partie de ce cours traite des architectures parallèles, ses notes sont les chapitres 3 d'une part et 10 à 14 d'autre part de ces documents. La deuxième partie du même cours, relative au traitement du signal est enseignée par M. Roger Tauleigne qui a publié un document disponible à la librairie des arts et métiers. Si ce cours n'est pas ouvert, il sera utile de faire une place succincte aux chapitres 10 à 14 dans le premier.
 

Notation
Dans la suite :
§N X.Y est une référence aux Notes de cours, chapitre X, paragraphe Y,
§A Z.T est une référence à cette Annexe, paragraphe Z, sous paragraphe T.

1. SUR CETTE NOTE : destinataires, motifs, objectifs et contenus

Cette note a trois groupes de destinataires :

Cette note a été écrite pour trois motifs : Cette note a deux objectifs : Cette note a trois contenus :

§A 2 Des compléments au document d'accueil asi0000 sur les modes d'exposition, l'usage des notes et la situation des exercices dirigés à Paris.

§A 3 Les idées directrices en matière d'enseignement, celles d'une dizaine de collègues et celles de l'auteur : objectifs et prétentions.

§A 4 Une présentation raisonnée de la succession des thèmes du cours oral.

2. LES MOYENS D'EXPOSITION ET LEUR USAGE

Chacun de nos enseignements d'architectures des systèmes informatiques est constitué de trois parties distinctes :

L'usage des notes de cours est multiple, commençons par le plus banal : Plus fondamentalement, le support choisi a pour fin de mettre les auditeurs en situation de modifier par eux-mêmes et profondément, les documents fournis pour qu'ils deviennent ainsi leurs propres documents. Cette recommandation a déjà été faite dans l'avant propos asi0000. Pour cela, les documents sont fournis au moins une semaine avant le cours pour que l'auditeur puisse en faire un tirage, prendre des notes sur le document imprimé et les reporter ensuite sur le support magnétique.

Les notes contiennent des redites propres à les rendre lisibles sans avoir lu et retenu tous les contenus précédents car pédagogie est longue répétition.
Les annexes diffèrent des notes de cours. Certaines se suffisent à elles-mêmes comme l'annexe relative à la gestion de la couleur ou celle qui présente un rapport sénatorial. D'autres sont des compléments comme la comparaison de trois processeurs; un paragraphe du cours peut grandir au fur et à mesure des lectures et des faits nouveaux. Quand sa taille est suffisante et si son contenu n'est pas immédiatement indispensable dans le cours proprement dit, une annexe est rédigée.
Le cours oral a pour fin de faire comprendre le pourquoi et le comment. On y présente et développe les idées directrices que l'on trouvera dans le paragraphe suivant et non des techniques ou l'usage d'outils contingents.
Les exercices dirigés ont pour objet de faire agir l'auditeur sur des points de l'enseignement qui se prêtent à cela. Ils durent trente heures pour le cours d'architectures des systèmes. Leur contenu pour ce premier enseignement est :

3. LES IDÉES DIRECTRICES OU AXES DE PRÉSENTATION

D'abord, il n'existe pas une seule théorie de l'informatique, mais plusieurs théories imbriquées: logique et calculabilité, algorithmique et analyse d'algorithmes, conception et sémantique des langages de programmation, bases de données, principes des systèmes d'exploitation, architectures des ordinateurs et évaluation de leurs performances, réseaux et protocoles, langages formels et compilation, codes et cryptographie, apprentissage et zero-knowledge algorithms, calcul formel, démonstration automatique, conception et vérification de circuits, vérification et validation de programmes, temps réel et logiques temporelles, traitement d'images et vision, synthèse d'image, robotique, ...

                            Robert Cori et Jean-Jacques Lévy
                            Cours d'algorithmes et programmation, École polytechnique
3.1 Sur la nature de ce qui suit.

Les considérations suivantes sont toujours en construction. L'auteur continue à éclaircir et à ordonner ses idées.
Par ailleurs la façon d'aborder les sujets n'est pas celle à laquelle nous sommes habitués. Pour entrer dans la démarche, il faut de nombreuses redites et aussi un effort pour s'éloigner de considérants habituels.

3.2 Observations, objectifs et prétentions

 3.2.1 Les observations

Les cours d'architectures des systèmes informatiques sont nombreux, disponibles dans des ouvrages ou dans le web. Le site de la «National technological university" http://www.ntu.edu/ en contient une liste (31 enseignements en avril 2002).

Leurs objectifs sont peu souvent explicites, une exception est celle de Jean-Jacques Girardot de l'EMSE, http://kiwi.emse.fr/JJG/ASI/Fiche.html qui énonce les siens comme suit :

Une analyse de ces cours fait apparaître au moins un fil directeur principal dans chacun. Nous avons observé les fils  suivants : Cette tendance vers les considérations quantitatives a été observée par d'autres. Edward F. Gehringer, Ana E. Goulart, Xiaokang Sang et Chenhao Geng de l'université de Caroline du Nord ont construit une base de données des sujets d'examens et d'exercices relatifs aux enseignements d'architectures des ordinateurs (computer architecture). Elle est accessible à partir de http://www4.ncsu.edu:8030/~efg/ ou dans Edward F. Gehringer et al. Computer architecture course database: Implementation and status report, 1998. La base contient environ 240 problèmes issus de neuf cours. Ils ont trait :
  1. pour plus de 90 à l'arithmétique (formats de virgule flottante et autres), 38%;
  2. pour 30 aux performances en général, 12,5%;
  3. pour 22 aux jeux d'instructions, 9%;
  4. pour 19 aux caches, 8%, etc.
Remarque 1  Sur l'emploi des jeux d'instructions comme fil de présentation

Il est le plus fréquent mais est-il le plus pertinent pour nous ?
Nous lui trouvons trois inconvénients majeurs.

Nombre de composants importants sont inaccessibles au jeu d'instructions car ils ne sont ni nommables ni nommés, les caches p.e. Des composants nommés par le jeu d'instructions peuvent n'avoir aucune existence matérielle car des émulations plus ou moins complètes masquent l'architecture réelle. Exemples : on exécute le jeu x86 sur les PowerPC comme sur les processeurs Crusoe, par émulation ou traduction logicielle. Le même jeu x86 est exécuté très différemment sur un AMD K6, un Cyrix et un Pentium à noyau Risc. Les jeux d'instructions et les processeurs ont des vies très différentes. Certains jeux sont en évolution très lente, le jeu x86 date de 1978, le jeu IBM360 des années 1960. D'autres sont abandonnés brutalement comme l'a fait DEC à deux reprises passant des PDP aux VAX puis à l'Alpha. Intel l'avait fait en passant du 8085 au jeu x86.
Ces considérations ne sont pas originales mais nous les croyons pertinentes pour notre propos.

J.L. Hennessy et D.A. Patterson [HEN95] décomposent l'architecture d'un ordinateur suivant trois composantes ou niveaux :

L'architecture du jeu d'instructions est l'élément premier. Elle constitue la partie visible par le programmeur et plus précisémment par le spécialiste du langage d'assemblage. C'est la frontière entre le logiciel et le matériel. C'est le domaine des concepteurs de compilateurs ou de systèmes d'exploitation.
L'organisation de la machine décrit les aspects qu'ils qualifient de «haut niveau» (?) par rapport au simple matériel, c'est le système de mémorisation, la structure du bus, etc. Cette notion d'organisation nous paraît imprécise; elle peut couvrir la plupart des notions architecturales.
La réalisation matérielle concerne la logique détaillée de la machine ou encore la technique de conditionnement des puces. Elle est proprement électrique, électromagnétique et mécabique.
Pour illustrer à quoi mène cette vision, prenons un exemple emprunté à Michel Cubero-Castan, INSA de Toulouse. Considérons trois machines exécutant un même jeu d'instructions et supposons que : Ces trois machines ont la même architecture de jeu d'instructions. La première et la deuxième ont la même organisation mais différent par leur réalisation matérielle. La deuxième et la troisième ont deux organisations différentes.

Guy Chesnot dans son cours à l'université de Marne la Vallée déjà cité, propose la définition suivante en trois niveaux :

Néanmoins de nombreux auteurs tiennent au seul jeu d'instructions : Mark D. Hill à l'université du Wisconsin-Madison reprend la définition de Gene Amdahl déjà citée qui correspondait bien à l'esprit de la série IBM360, gamme rendue homogène par microprogrammation. Il ajoute la proposition faite par Myers, dans «Advances in computer architecture», Wiley, 1981
Level 1: system architecture : interface to outside world (e.g. languages);Levels 2, 3, 4: software architecture; 2,3: programming language and 3,4: operating system;
Level 5: computer architecture : interface between hardware and software;
Levels 6, 8, 9: Physical I/O;
Level 7: memory architecture

David M. Koppelman, de l'université de Louisiane va plus loin dans un certain sens en écrivant :
What is a computer? A machine that executes instructions which read and write memory.
What a computer engineer does ?

Definitions Instruction set architecture (ISA):
Precise definition of computer's instructions and their effects. Implementation [of an ISA] : hardware that executes instructions defined by ISA.

Nous considérons que depuis l'arrivée des circuits intégrés des années 1960, les processeurs ne sont plus la concrétisation directe de l'automate qui exécute le jeu d'instructions et qu'ainsi :

Remarque 2  Sur les empilements d'abstractions

Un autre moyen de présentation, souvent cité mais peu pratiqué concrètement, est d'empiler ce que les auteurs nomment des abstractions. Il semble être apparu avec la microprogrammation qui est implicite chez les auteurs qui présentent l'ordinateur sous la forme de couches, p.e. A. Tanenbaum. Il consiste à qualifier d'abstractions :

  1. les micro instructions;
  2. le langage machine binaire;
  3. le langage d'assemblage;
  4. un langage dit évolué.
Ces abstractions sont présentées comme le moyen d'éviter la description impossible de tous les composants. Remarque 3  Sur l'emploi des sciences de la connaissance

Jesse Prinz (université Washington à Saint Louis) reprend les définitions de John Haugeland, Artificial intelligence, the very idea, 1985, MIT Press, Cambridge, Massachussets. Un ordinateur est pour lui un système formel automatique interprétable :

Un ordinateur devient alors analysable en trois niveaux : Tout ce qui a trait aux architectures de machines est alors renvoyé à l'activité dite «réalisation» qui n'en est pas plus éclairée pour autant.

Remarque 4  Sur les références bibliographiques associées aux enseignements recensés

Les références les plus citées dans les enseignements nommés plus haut sont :

La référence aux ouvrages d'Andrew Tanenbaum, très fréquente en France et en Europe, est pratiquement inconnue aux États-Unis; nous ne l'y avons trouvée qu'une seule fois.

Conclusions
 

Il n'y a pas d'unité de présentation des architectures des systèmes informatiques
tout comme il n'y a pas d'unité manifeste dans les architectures elles-mêmes.
Peut-on imaginer des fils directeurs pertinents 
alors que le dernier en vogue est celui des aspects quantitatifs ?

3.2.2 Les objectifs de nos enseignements

Nous avons deux objectifs : l'un est classique, l'autre ne l'est pas.

Cet objectif diffère donc fortement du premier par ses prétentions , ses prémisses et ses éléments principaux . Son résultat est présenté dans le chapitre 18.

3.2.3 Les prétentions

Il y en a trois, une majeure et deux mineures.

La prétention majeure est que les architectures ne sont pas les produits arbitraires des imaginations et que les critères de coût et d'efficacité ne suffisent pas à les déterminer. Les architectures contiennent une organisation sous-jacente. Cette organisation si on la met en évidence, constitue une vision qualitative utilisable conjointement avec des visions quantitatives. Les prémisses de cette prétention tiennent à ce que les architectures ont la propriété d'être observables. En effet, la théorie fondatrice dit que les architectures sont toutes équivalentes, s'interdisant par là de les construire par déduction. La conséquence est qu'elles sont issues de l'imagination humaine. À ce titre, elles deviennent des objets observables ce qui nous autorise à mener une démarche inductive.

Des observations peuvent mener à une induction.

Nous avons établi deux inductions qui rendent compte du fonctionnement et des propriétés de nos observables. Elles ne sont pas contradictoires et se complètent. Chacune est dite prétention mineure.

La première prétention mineure. Nous prenons pour objets les sous ensembles de chaque machine : processeur, mémoire, cache, bus, etc. Nous observons que le plus grand nombre de ces objets relèvent de deux groupements : objets destinés au transport d'un point à un autre sur un support matériel ou non et objets destinés au transport d'un instant à un autre par mémorisation. Nous les regroupons sous l'étiquette d'objets logistiques. Le sens usuel actuel du mot logistique est : ensemble de techniques et de moyens qui concourent à régler le transport et le stockage de marchandises; nous remplaçons marchandises par données. On note de plus que la plupart de ces objets sont munis d'une même structure mathématique, la relation d'ordre total dans le temps ou dans l'espace. Le développement est fait dans le §N 18.3 .

La deuxième prétention mineure. Nous ne considérons pas un ordinateur comme constitué de sous ensembles coopérants ou emboités. Nous observons que les ordinateurs sont à la fois des machines physiques et des machines de manipulation de symboles. Nous faisons l'hypothèse que cet aspect double est interprêtable sous la forme de deux machines que nous nommons physique et symbolique. On constate que ces deux machines sont munies des structures de la théorie précédente :

Une machine informatique fonctionne par la mise en relation de ces deux espaces et de ces deux temps. Le développement est fait dans le §N 18.6.

Comme dit plus haut, le cours n'est pas l'exposition de ces théories; elles sont un fil conducteur qui sera l'objet d'une synthèse à la fin du cours. Les deux schémas de construction et d'organisation des idées sont pour la première théorie :

et pour la deuxième théorie :

Pour aboutir à ces conclusions, on propose trois idées directrices ou axes de présentation :

un constat, il n'y a pas de démarche déductive en matière d'architectures de systèmes informatiques. Ce constat est présenté explicitement, il est une conséquence des théories;
une proposition à établir, il y a une unité de principes et de techniques opératoires en matière de stockages et de transmissions, séparément et ensemble, ce sera fait oralement au fur et à mesure des exposés;
une tendance profonde à vérifier, les concepteurs de circuits et de machines introduisent la simultanéité par le parallélisme architectural à tous les niveaux que la technique autorise.

Note sur l'articulation de l'écrit et de l'oral

Les notes de cours ne sont pas l'exposé d'une thèse. Elles fournissent au lecteur des notions à apprendre et des éléments de réflexion. Afin de ne pas mêler nos propositions personnelles et les faits immédiatement observables, on présente la partie relative stricto sensu aux théories dans le chapitre 18. Toutefois des éléments sont épars :

Le chapitre 18 contient : Notre enseignement oral est évidemment guidé par les idées directrices des théories.

Une progression rationnelle correspond à l'ordre des chapitres. Nous l'avons expérimentée, elle n'est pas bien acceptée par les auditeurs. L'auditeur ressent le besoin d'apprendre le plus vite possible des techniques qu'il croit immédiatement utiles. C'est pourquoi il est suggéré de commencer par une très brève présentation des éléments du chapitre 18 et de passer immédiatement après aux techniques des chapitres 2 et suivants.

4 LES AXES OU IDÉES DIRECTRICES

Les paragraphes qui suivent ne sont pas le plan des notes de cours. Il s'agit d'éléments de présentation dont on peut s'inspirer dans le cours oral. Tous les contenus sont présents dans les notes.

4.0 En exergue

Les architectures de machines sont très diverses aujourd'hui comme dans le temps :

Il serait plus qu'utile de trouver un fil directeur pour débroussailler ce foisonnement et avoir l'esprit clair. Pour cela on peut chercher du côté d'une théorie fondatrice et si l'on échoue tenter une induction à partir de l'observable.

4.1 L'absence de démarche déductive à partir d'une théorie fondatrice

On l'énonce sous la forme de :

Il n'est pas possible de suivre une démarche déductive
en matière d'architectures de systèmes informatiques.

Cet axe est constitué de trois points qui éclairent sur la matière enseignée :

  1. il n'y a pas de théorie détaillée en matière d'architectures d'ordinateurs;

  2. au moins peut-on «mesurer» les ordinateurs ou leurs performances? Non, les moyens ordinaires tels la mesure de puissance sont inopérants;l'emploi des techniques est fonction de la technologie du moment et du besoin concret, mais non de la date de l'invention. Des inventions oubliées réapparaissent beaucoup plus tard.
Les arguments, accompagnés des numéros des §§ correspondants sont :
  1. Il n'y a pas de théorie détaillée en matière d'architectures d'ordinateurs .
L'enchaînement qui mène à l'absence de théorie détaillée est le suivant :
  1. Les techniques d'évaluation sont inopérantes.
Les tentatives faites pour mesurer la puissance d'un système informatique n'ont jamais abouti. Présentation et explications : du Mips aux SPEC. Les bancs d'essai ne sont pas des mesures. Le seul outil opérant est le décompte du temps, chapitre 8.
  1. L'emploi des techniques est fonction de la technologie du moment.
Les inventions en matière d'architectures informatiques apparaissent sans plan visible, §§N 1.5 et suivants. On montre que leur emploi est fonction des ressources techniques du moment. La microprogrammation en est un exemple, §N 1.5. On fait une présentation analogue pour l'architecture de Harvard à partir de la proposition d'Aïken §N 1.4, inemployée pendant des décennies et présente aujourd'hui sous la forme des caches spécialisés §N 3.5 .

4.2 L'unité des principes et des techniques en stockages et transmissions

On l'énonce comme suit :

Les considérations architecturales relèvent de la logistique
et sont tournées vers sa meilleure efficacité.
La logistique est présentée  en elle-même dans les §§N 18.2 et suivants. Notre argument  majeur, la mise en concordance de deux modèles d'interconnexion des systèmes ouverts constitue le  §N  17.3.On commence par faire trois constatations à détailler :
  1. les machines informatiques n'utilisent à un instant donné qu'une part infime de leurs ressources;
  2. les opérations de manutention sont prépondérantes dans un ordinateur;
  3. montrons que cette manutention a un caractère d'homogénéité.
On les détaille comme suit :

1. Les machines informatiques n'utilisent à un instant donné qu'une part infime de leurs ressources.

On présente des évaluations de la proportion de l'électronique concernée par les opérations à un moment donné et du temps passé à manipuler les données par rapport au temps consacré aux calculs proprement dits, §N 15.1.

  1. Les opérations de manutention consomment la plus grande partie des ressources.
Un ordinateur réalise le calcul, le transport et le stockage des données. On établit soigneusement la distinction entre la fonction essentielle de calcul et la fonction principale de logistique. La première a pour base la théorie des fonctions calculables. Elle est essentielle car elle fonde le domaine d'utilité de l'ordinateur. La seconde est principale car elle consomme la presque totalité des ressources matérielles et logicielles. Par ailleurs elle est indispensable à la mise en œuvre de la première. Les positions relatives du processeur dans sa fonction de calcul et du fonctionnement général de l'ordinateur sont, mutatis mutandis, celles d'un processus de production ou d'une usine entièrement automatisée d'une part et le reste de l'entreprise d'autre part qui déclenche les approvisionnements, règle la production, gère les stocks et les livraisons, §N 15.1.

La logistique est ici l'ensemble de méthodes et de moyens opérant sur les approvisionnements, les manutentions, l'entreposage, le conditionnement, le transport et les livraisons dans une entreprise. Il ne faut pas la confondre avec la logistique des années 1900 qui était notre logique mathématique.

Nous étendons l'application de la logistique à l'ordinateur en transposant les termes de définition relatifs à l'entreprise aux machines informatiques :

Pour ce qui est de l'efficacité de la logistique dans les ordinateurs, la littérature est ou bien enthousiaste dans les documents des fournisseurs, ou bien quasiment muette. Les seuls articles de quelque intérêt portent sur des considérations algorithmiques, sous la désignation américaine de "space-time tradeoff". Le lecteur s'en convaincra en consultant le web sur ce sujet. Et pourtant, comme l'écrit Daniel J. Barret de l'université du Massachusetts : " Space efficiency vs. time efficiency is perhaps the most fundamental tradeoff in all of computer science ".
  1. L'homogénéité des techniques de manutention
Son fil directeur consiste à établir la proposition suivante par des vérifications successives:
 
Les méthodes et les moyens architecturaux de la logistique
ne sont pas hétéroclites;
ils obéissent à des règles communes.

Il s'agit d'une tentative d'unification de présentation et de compréhension.
Le propos est d'établir expérimentalement que les techniques utilisées dans des parties éloignées les unes des autres relèvent de méthodes communes appliquées sous des formes techniques différentes. Il s'agit pour l'essentiel des communications et des stockages.

La progression peut être menée comme suit :

les mémoires associatives et les caches, §N 3.5 sont un exemple de présentation isolée sans fil directeur, on reprend les caches plus tard avec la pagination et la mémoire virtuelle et surtout pour les modèles à mémoire commune §N 11.5;la structuration en couches, §N 15.6, établit la notion de visibilité et le substrat de la normalisation en matière de communication, on définit :

le transport ou transport dans l'espace est pris dans son acception classique de transport d'une donnée d'un point à un autre,l'entreposage ou transport dans le temps est le stockage, de courte ou longue durée, quelque soit le support, électronique ou magnétique.
Les arguments en faveur de l'homogénéité de chacune sont présentés à partir de leur structure d'ordre total commune dans §N 18.3.

Ces deux dénominations ont été choisies pour faire mieux ressentir la thèse développée et aider sa mémorisation. L'unité en termes de méthodes est développée par la construction simultanée de deux modèles en sept couches homologues comme suit :

les codes physiques employés dans les deux cas, NRZ, Miller, modulation de fréquence, RLL, etc. sont quasiment identiques §N 15.3 ;un bus et la mémoire centrale sont des espaces adressables. Le bus porte la donnée et l'adresse sur des supports de même nature. Il en est de même dans la mémoire centrale, la zone de stockage est câblée tout comme son adresse permanente dans le circuit de décodage. La transmission série point à point, sans adresse, est homologue du transport vers une adresse fixe comme un registre spécialisé ou une pile câblée.

  1. pour la gestion des mémoires et la gestion des transmissions :
D'une part : les mécanismes de gestion des supports temporels seuls sont en correspondance étroite : La page et le secteur ont une taille fixe. L'enchaînement des pages d'un processus comme l'enchaînement des secteurs d'un fichier ne nécessite pas que pages ou secteurs soient contigus. Leurs contenus sont invariants par déplacement. Les tables de pages et le tables d'allocation de fichiers sont homologues. Le segment comme le fichier est un ensemble connexe de données. La localisation de leurs parties ne l'est pas par les effets de la pagination et de la sectorisation. Leur contenu a toujours zéro pour adresse de début. Leur création ou leur ouverture se fait par référence à deux outils quasiment identiques : le registre de segment et l'entrée de répertoire : Nom, adresse de début, taille, protections, etc. Les algorithmes de gestion se correspondent étroitement, même si les meilleurs ne sont pas les mêmes selon l'usage que l'on en fait.

D'autre part : Il y a correspondance systématique entre la gestion des transmissions et la gestion des mémoires. On construit pour cela en sept couches un modèle de référence pour l'interconnexion temporelle des systèmes ouverts parallèle au modèle ISO, §N 17.3. On illustre l'utilité de cette démarche par une proposition de transfert de technique en §N 17.5.

4.3 La tendance profonde

On l'énonce comme suit :
 

La tendance profonde en matière architecturale
est de réaliser la plus grande simultanéité
des traitements par un parallélisme à tous les niveaux possibles.
Cet axe est le plus technique. Il est le fil directeur explicite ou implicite de nombreux articles. Il consiste à observer et décrire les idées nouvelles, les innovations, les tendances observées. Cette tendance est visible dans les notes de cours.Les différents niveaux de simultanéité correspondent à des techniques de parallélisme architectural.

entre bits, années 50 à 80, par la longueur du mot en termes de registres, de bus et d'organisation des mémoires est passé de 8 ou 12 bits à 16, 32 et 64 bits;entre mots de données par la technique MMX qui traite simultanément plusieurs mots. Elle est une évolution récente par rapport à l'alinéa précédent, §N 2.2 et §N 11.3;

entre instructions , années 70 à 90, par le pipeline §N 3.1 simple puis les superpipeline et machines superscalaires;

entre groupes d'instructions ou miniprocessus (threads) §N 11.5 sans correspondant architectural pour l'instant puisque les multiprocesseurs à mémoire commune leurs sont particulièrement bien adaptés; entre processus par les architectures parallèles (chapitres 10 à 13). Les taxinomies détaillées par écrit §N 10.2 sont simplement mentionnées car leur pertinence diminue. On présente plus longuement les deux modes de communication par mémoire commune §N 11.5 et par messages §N 11.4 qui viennent à l'appui de l'axe précédent. On présente la simulation de la communication par messages au moyen de boites à lettres en mémoire commune. On fournit des exemples de synchronisation dans les deux modes. Processeurs de traitement du signal. On traite les questions de cohérence des caches;


5. RETOUR AUX ENSEIGNEMENTS

Il convient de traiter en sus des matières précédentes :

à cette occasion on montre que la première partie des systèmes d'interruptions : recueil des demandes, choix de prise en compte est analogue aux mécanismes d'arbitrage des bus. On peut aborder des points qui ont une incidence architecturale La conclusion (annexes asi9994 à asi9999) des notes de cours est organisée en trois parties.

La première est la conclusion relative aux idées directrices développées ci-dessus, asi9994.

La seconde est une réflexion sur les machines en général asi9995 et les machines informatiques en particulier asi9996. En particulier on reprend, à propos de la machine informatique, la distinction habituelle entre les observables physiques susceptibles de théorie physique et les mathématiques de nature axiomatique. Les faits, les idées, les réalisations en matière architecturale ne sont pas des observables de la nature, ils ne sont pas des êtres mathématiques. Nous proposons de les approcher comme des observables produits par l'intelligence, comme un linguiste étudie des langues ou des œuvres littéraires. Ce statut relativement particulier les rend susceptibles de systématisation. On propose la logistique dans le couple machine physique - machine symbolique comme moyen de systématisation.

La troisième contient des essais de prévision en trois parties :
court terme asi9997,
moyen terme asi9998,
long terme asi9999.
La technique asynchrone est plus particulièrement développée comme un des faits attendus.

On présente oralement :

D'une part, les idées actuelles sur les circuits asynchrones tels que présentés dans la conclusion.D'autre part, une réalisation formant une ferme de calcul, dont l'origine est le mémoire d'ingénieur de M.C. Meessen (1998). L'objectif est de traiter les données obtenues  en sortie des détecteurs du futur grand collisionneur de hadrons qui entrera en fonction en 2005 au CERN. Le débit de données des détecteurs sera de 130Go/s. Un jeu de deux filtres successifs réduira le débit des données utiles à 1 Go/s. Là interviendra un système informatique qui exécutera des programmes variés et complexes sur des paquets de données de 1Mo chacun. L'auteur a défini un système totalement asynchrone constitué d'éléments de base assemblés selon le besoin. Cette réalisation encore partielle, un modèle probatoire de quelques éléments fonctionne, est proche des circuits asynchrones évoqués plus haut.

Conservatoire national des arts et métiers
Architectures des systèmes informatiques
ANNEXE 02
Note sur les enseignements d'architectures des systèmes informatiques
Année 2002-2003