Micro Systèmes n°99 jui/aoû 1989
Micro Systèmes n°99 jui/aoû 1989
  • Prix facial : 30 F

  • Parution : n°99 de jui/aoû 1989

  • Périodicité : mensuel

  • Editeur : Société Parisienne d'Edition

  • Format : (203 x 271) mm

  • Nombre de pages : 188

  • Taille du fichier PDF : 156 Mo

  • Dans ce numéro : grandes écoles... du clavier au charbon.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 162 - 163  |  Aller à la page   OK
Pages suivantes >
162 163
FENETRE SUR PAR 4 processus déclarés en parallèle + z a : =b + 2 c ! v + 4 Il est nécessaire de mettre ces deux processus en parallèle c ? w afin qu'il soient prêts simultanément. En les déclarant séquentiels, il y aurait eu blocage, le processus « c ? w » n'aurait jamais pu être atteint. Voir le paragraphe concernant les canaux. Ces quatre processus vont s'exécuter en parallèle sans que l'on puisse préciser lequel sera le premier. Les deux dernières lignes sont équivalentes à w : = v + 4. Ces deux derniers processus sont ici équivalents à deux processus en séquentiels. SEQ et PAR peuvent s'utiliser sur des processus plus importants que des instructions. Imaginons que l'on veuille construire une table en bois, et faisons tout d'abord une liste synthétique des actions à entreprendre pour atteindre ce but :... établir le plan de la table... abattre un arbre... couper des planches... découper le plateau de la table... fabriquer les pieds... ajuster les pieds sur le plateau.. polir et vernir Il y a en général plusieurs possibilités pour ordonner un ensemble de processus. Dans le cas de la table, nous proposons le schéma suivant : Fabrication d'une table SEQ PAR... établir le schéma de la table en parallèle avec SEQ le processus SEQ abattre un arbre... couper des planches PAR... découper le plateau de la table... fabriquer les pieds SEQ... ajuster les pieds sur le plateau... polir et vernir Nous avons défini une structure de fabrication de table. Les paragraphes commençant par... sont appelés folds (pliages). Cette structure en pliages ou folds est fournie par l'éditeur appelé TDS associé à OCCAM. Cette organisation en folds est d'une remarquable efficacité pour écrire des programmes en OCCAM. Ceci permet en particulier de créer des structures de calcul ou de communication qu'il suffit de copier d'un programme à l'autre. A l'intérieur des folds, on a tout un ensemble de processus séquentiels ou parallèles. Exemple, le fold suivant :... fabriquer les pieds est constitué de quatre autres folds en parallèle PAR... pied 1... pied 2... pied 3... pied 4 A l'inverse, si on fabrique N tables identiques, on re- 9roupe les processus de fabrication d'une table et l'on ecrit : 162 - MICRO-SYSTEMES PARi = 1 FOR N... Fabrication d'une table On remarquera les indentations qui définissent les processus et ce qu'on appelle le cadre ou scope en anglais, et dont on parlera plus loin. Ci-dessus, on a un PAR générique qui permet de lancer en parallèle N processus. La même chose existe pour SEQ et s'écrit SEQi = 1 FOR N. Exemple : SEQi = 0 FOR N on a N boucles : i va de 0 à N-1 c ! data[i] On dispose d'un opérateur conditionnel IF qui peut être générique : IF opérateur conditionnel simple IFi 1 FOR N opérateur conditionnel générique a[i] = b conditions génériques c ! d[i] action si condition a[i] = b vraie TRUE si les conditions a[i] = b sont fausses SEQ action a[i] : = a[i] + 1 b : = b + 5 Un autre opérateur important est la boucle « tant que » notée WHILE : WHILE a[i] <> d condition SEQ in ? c[i] PAR out ! c[i] a[i] : = a[i] + c[i] Voyons maintenant ce qu'on appelle l'ALTernative. C'est un opérateur qui intervient au niveau des communications entre processus : ALT c ? data SEQ d ! data x : = y + 1 in ? fin out ! fin La situation est la suivante : on est en attente de messages sur les canaux c et in, si le message arrive en premier sur con envoie data sur le canal d et on exécute x : = y x 1, si le message arrive en premier sur le canal in le message fin est renvoyé sur le canal out. Le ALT a aussi une version générique : ALT i=p FOR N. Les objets OCCAM : OCCAM offre les types de données habituels : entiers, booléens, réels en virgule flottante, caractères (octets), tableaux. On doit déclarer le type de toutes les variables et tableaux, les mots clés suivants sont utilisés : BOOL oui, ok, x,u : variable booléennes oui, ok, x,u. BYTE car, lettre : variable codées sur un octet (de 0 à 255). INT, INT16, INT32, INT64 pour les nombres entiers, exemple : Juillet/Août 1989
INT a,s,x : REAL32 et REAL64 pour les nombres réels. [10][1009][4][34]INT TABI,TABE : tableaux d'entiers à 4 dimensions [20][200]REAL64 TABR, NTAB : tableaux de réels 64 bits [50][2][1905]BOOL TABB : tableau de booléens En plus des types classiques de données que l'on vient d'énumérer, d'autres objets existent. Ainsi le type canal qui sert à désigner un canal logique entre deux processus : CHAN OF protocole canal : Exemples : CHAN OF BYTEc, screen, entrée : 3 canaux sur lesquels ne circuleront que des variables en octets (du type BYTE). CHAN OF REAL64 d, sortie : 2 canaux sur lesquels ne circuleront que des variables réelles 64 bits. CHAN OF ANY clavier, output : 2 canaux sur lesquels circuleront n'importe quel type de variables. Des protocoles plus sophistiqués peuvent être réalisés : CHAN OF [58]BYTE message : message est un canal de vecteurs de 58 octets. message ! "OCCAM est un outil de description de processus concurrents" CHAN OF INT: : []REAL64 résultats : canal permettant la transmission de vecteurs de réels 64 bits de taille quelconque. La taille est un nombre entier 32 bits. Exemple : [2000]REAL64 résultats, V : INT long, I : SEQ in 1 I:— 1342 PAR c ! Irésultats en émission c ? longV en réception, long vaudra 1342 CHAN OF INT ; INT16 ; BYTE ; BYTE[]REAL32 ; INT[][5]INT bizarre : ce canal bizarre communiquera des paquets contenant un entier 32 bits puis un entier 16 bits puis 1 octet puis un vecteur de réels 32 bits de longueur variable mais inférieure à 256... Dans un programme, plusieurs types de communications sont nécessaires. Dans ce cas, on crée un protocole variable : PROTOCOL monappli CASE a ; BYTE b ; REAL64 Lien physique Lien logique 0 TROIS PROCESSUS SUR UN TRANSPUTER LES MEMES PROCESSUS REPARTIS SUR TROIS TRANSPUTERS Juillet/Août 1989 MICRO-SYSTEMES - 163



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micro Systèmes numéro 99 jui/aoû 1989 Page 1Micro Systèmes numéro 99 jui/aoû 1989 Page 2-3Micro Systèmes numéro 99 jui/aoû 1989 Page 4-5Micro Systèmes numéro 99 jui/aoû 1989 Page 6-7Micro Systèmes numéro 99 jui/aoû 1989 Page 8-9Micro Systèmes numéro 99 jui/aoû 1989 Page 10-11Micro Systèmes numéro 99 jui/aoû 1989 Page 12-13Micro Systèmes numéro 99 jui/aoû 1989 Page 14-15Micro Systèmes numéro 99 jui/aoû 1989 Page 16-17Micro Systèmes numéro 99 jui/aoû 1989 Page 18-19Micro Systèmes numéro 99 jui/aoû 1989 Page 20-21Micro Systèmes numéro 99 jui/aoû 1989 Page 22-23Micro Systèmes numéro 99 jui/aoû 1989 Page 24-25Micro Systèmes numéro 99 jui/aoû 1989 Page 26-27Micro Systèmes numéro 99 jui/aoû 1989 Page 28-29Micro Systèmes numéro 99 jui/aoû 1989 Page 30-31Micro Systèmes numéro 99 jui/aoû 1989 Page 32-33Micro Systèmes numéro 99 jui/aoû 1989 Page 34-35Micro Systèmes numéro 99 jui/aoû 1989 Page 36-37Micro Systèmes numéro 99 jui/aoû 1989 Page 38-39Micro Systèmes numéro 99 jui/aoû 1989 Page 40-41Micro Systèmes numéro 99 jui/aoû 1989 Page 42-43Micro Systèmes numéro 99 jui/aoû 1989 Page 44-45Micro Systèmes numéro 99 jui/aoû 1989 Page 46-47Micro Systèmes numéro 99 jui/aoû 1989 Page 48-49Micro Systèmes numéro 99 jui/aoû 1989 Page 50-51Micro Systèmes numéro 99 jui/aoû 1989 Page 52-53Micro Systèmes numéro 99 jui/aoû 1989 Page 54-55Micro Systèmes numéro 99 jui/aoû 1989 Page 56-57Micro Systèmes numéro 99 jui/aoû 1989 Page 58-59Micro Systèmes numéro 99 jui/aoû 1989 Page 60-61Micro Systèmes numéro 99 jui/aoû 1989 Page 62-63Micro Systèmes numéro 99 jui/aoû 1989 Page 64-65Micro Systèmes numéro 99 jui/aoû 1989 Page 66-67Micro Systèmes numéro 99 jui/aoû 1989 Page 68-69Micro Systèmes numéro 99 jui/aoû 1989 Page 70-71Micro Systèmes numéro 99 jui/aoû 1989 Page 72-73Micro Systèmes numéro 99 jui/aoû 1989 Page 74-75Micro Systèmes numéro 99 jui/aoû 1989 Page 76-77Micro Systèmes numéro 99 jui/aoû 1989 Page 78-79Micro Systèmes numéro 99 jui/aoû 1989 Page 80-81Micro Systèmes numéro 99 jui/aoû 1989 Page 82-83Micro Systèmes numéro 99 jui/aoû 1989 Page 84-85Micro Systèmes numéro 99 jui/aoû 1989 Page 86-87Micro Systèmes numéro 99 jui/aoû 1989 Page 88-89Micro Systèmes numéro 99 jui/aoû 1989 Page 90-91Micro Systèmes numéro 99 jui/aoû 1989 Page 92-93Micro Systèmes numéro 99 jui/aoû 1989 Page 94-95Micro Systèmes numéro 99 jui/aoû 1989 Page 96-97Micro Systèmes numéro 99 jui/aoû 1989 Page 98-99Micro Systèmes numéro 99 jui/aoû 1989 Page 100-101Micro Systèmes numéro 99 jui/aoû 1989 Page 102-103Micro Systèmes numéro 99 jui/aoû 1989 Page 104-105Micro Systèmes numéro 99 jui/aoû 1989 Page 106-107Micro Systèmes numéro 99 jui/aoû 1989 Page 108-109Micro Systèmes numéro 99 jui/aoû 1989 Page 110-111Micro Systèmes numéro 99 jui/aoû 1989 Page 112-113Micro Systèmes numéro 99 jui/aoû 1989 Page 114-115Micro Systèmes numéro 99 jui/aoû 1989 Page 116-117Micro Systèmes numéro 99 jui/aoû 1989 Page 118-119Micro Systèmes numéro 99 jui/aoû 1989 Page 120-121Micro Systèmes numéro 99 jui/aoû 1989 Page 122-123Micro Systèmes numéro 99 jui/aoû 1989 Page 124-125Micro Systèmes numéro 99 jui/aoû 1989 Page 126-127Micro Systèmes numéro 99 jui/aoû 1989 Page 128-129Micro Systèmes numéro 99 jui/aoû 1989 Page 130-131Micro Systèmes numéro 99 jui/aoû 1989 Page 132-133Micro Systèmes numéro 99 jui/aoû 1989 Page 134-135Micro Systèmes numéro 99 jui/aoû 1989 Page 136-137Micro Systèmes numéro 99 jui/aoû 1989 Page 138-139Micro Systèmes numéro 99 jui/aoû 1989 Page 140-141Micro Systèmes numéro 99 jui/aoû 1989 Page 142-143Micro Systèmes numéro 99 jui/aoû 1989 Page 144-145Micro Systèmes numéro 99 jui/aoû 1989 Page 146-147Micro Systèmes numéro 99 jui/aoû 1989 Page 148-149Micro Systèmes numéro 99 jui/aoû 1989 Page 150-151Micro Systèmes numéro 99 jui/aoû 1989 Page 152-153Micro Systèmes numéro 99 jui/aoû 1989 Page 154-155Micro Systèmes numéro 99 jui/aoû 1989 Page 156-157Micro Systèmes numéro 99 jui/aoû 1989 Page 158-159Micro Systèmes numéro 99 jui/aoû 1989 Page 160-161Micro Systèmes numéro 99 jui/aoû 1989 Page 162-163Micro Systèmes numéro 99 jui/aoû 1989 Page 164-165Micro Systèmes numéro 99 jui/aoû 1989 Page 166-167Micro Systèmes numéro 99 jui/aoû 1989 Page 168-169Micro Systèmes numéro 99 jui/aoû 1989 Page 170-171Micro Systèmes numéro 99 jui/aoû 1989 Page 172-173Micro Systèmes numéro 99 jui/aoû 1989 Page 174-175Micro Systèmes numéro 99 jui/aoû 1989 Page 176-177Micro Systèmes numéro 99 jui/aoû 1989 Page 178-179Micro Systèmes numéro 99 jui/aoû 1989 Page 180-181Micro Systèmes numéro 99 jui/aoû 1989 Page 182-183Micro Systèmes numéro 99 jui/aoû 1989 Page 184-185Micro Systèmes numéro 99 jui/aoû 1989 Page 186-187Micro Systèmes numéro 99 jui/aoû 1989 Page 188