IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Kathleen Booth, pionnière de l'informatique britannique inventrice du langage assembleur, nous a quittés


Sujet :

Assembleur

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 448
    Points : 197 678
    Points
    197 678
    Par défaut Kathleen Booth, pionnière de l'informatique britannique inventrice du langage assembleur, nous a quittés
    Kathleen Booth, pionnière de l'informatique britannique inventrice du langage assembleur, nous a quitté à l'âge de 100 ans.
    Elle a contribué au développement de trois ordinateurs (ARC, SEC et APEXC)

    Le professeur Kathleen Booth, l'une des dernières pionnières de l'informatique britannique, est décédée. Elle avait 100 ans. Elle a conçu le premier langage assembleur et le programme assembleur et l’autocode des premiers ordinateurs à Birkbeck College. Elle a contribué au développement de trois ordinateurs, à savoir ARC (Automatic Relay Calculator), SEC (Simple Electronic Computer) et APEXC (All Purpose Electronic X-Ray Computer).

    Kathleen Hylda Valerie Britten est née dans le Worcestershire, en Angleterre, le 9 juillet 1922. Pendant la Seconde Guerre mondiale, elle a étudié à Royal Holloway, Université de Londres, où elle a obtenu un BSc (Bachelor of Science) en mathématiques en 1944. Après avoir obtenu son diplôme, elle est devenue une junior responsable scientifique au Royal Aircraft Establishment, un organisme de recherche à Farnborough. Deux ans plus tard, elle a déménagé au Birkbeck College, d'abord comme assistante de recherche, puis comme chargée de cours puis comme chercheuse.

    Elle a également travaillé à la British Rubber Producers' Research Association (BRPRA), où elle a rencontré et travaillé avec le mathématicien et physicien Andrew Donald Booth, qui est devenu plus tard son mari. Après avoir étudié avec le cristallographe aux rayons X, le professeur JD Bernal - inventeur de la sphère de Bernal - A D Booth travaillait sur des structures cristallines à l'aide de données de diffraction des rayons X et trouvait les calculs manuels très fastidieux*; il a construit un ordinateur analogique pour automatiser une partie de cela.

    En 1946, Britten et Booth ont collaboré à Birkbeck sur un tout premier ordinateur numérique, le calculateur de relais automatique (ARC), et ont ainsi fondé ce qui est aujourd'hui le département d'informatique et de systèmes d'information de Birkbeck.

    L'ARC a été construit à Welwyn Garden City, à proximité du siège de la BRPRA. A D Booth l'a conçu, mais Kathleen Britten et sa collègue assistante de recherche Xenia Sweeting ont construit le matériel. Bernal a obtenu un financement de la Fondation Rockefeller pour que Booth et Britten visitent l'Institute of Advanced Study de Princeton, où Booth a rapporté que seul l'ami de Bernal, John von Neumann, leur avait donné du temps. Von Neumann a expliqué son concept de ce qu'on appelle maintenant l'architecture informatique de von Neumann.

    Booth et Britten sont retournés au Royaume-Uni et ont repensé leur calculatrice en fonction de ces idées, ce qui a conduit à l'ARC2 et, ce faisant, à inventer la première mémoire de batterie pour fournir suffisamment de stockage pour contenir à la fois les informations et les données du programme. Construire l'ARC2 à partir de relais s'est avéré trop compliqué, c'est pourquoi en 1948, Booth et Britten sont passés à l'ordinateur électronique simple (SEC), puis à l'ordinateur à rayons X électronique polyvalent ou APE (X) C. Vous pouvez essayer l'APE(X)C dans l'émulateur MESS.

    La conception APE (X) C a été commercialisée et vendue sous le nom de HEC par la British Tabulating Machine Co Ltd, qui est finalement devenue ICL. Ci-dessous, une vidéo sur le HEC1.


    En 1950, Kathleen et Andrew se sont mariés, la même année où elle a obtenu un doctorat en mathématiques appliquées, toujours à l'Université de Londres. Pour obtenir un financement supplémentaire pour leur travail, les Booth se sont à nouveau adressés à la Fondation Rockefeller, qui l'a fourni à condition que l'APE (C) X travaille avec les langages humains ainsi que les mathématiques uniquement. Le résultat fut une démonstration de traduction automatique en novembre 1955.

    Nom : traduction.png
Affichages : 78967
Taille : 300,4 Ko

    En plus de construire le matériel des premières machines, elle a écrit tous les logiciels des machines ARC2 et SEC, inventant ainsi ce qu'elle a appelé la Notation Contractuelle. Ce langage, à travers l'évolution et les contributions d'autres, est aujourd'hui connu sous le nom de langage d'assemblage (ou langage assembleur). Elle discute également du fonctionnement synchrone par rapport au fonctionnement asynchrone. Son livre de 1958, Programming for an Automatic Digital Calculator, a été l'un des premiers sur la programmation écrit par une femme. La même année, elle a commencé à travailler avec les réseaux de neurones, également le sujet de son dernier article, Utiliser des réseaux de neurones pour identifier les mammifères marins, co-écrit avec son fils le Dr Ian JM Booth et publié en 1993.

    La famille Booth a déménagé au Canada au début des années 1960, où Kathleen et Andrew ont continué à travailler dans le milieu universitaire; elle a pris sa retraite à la fin des années 1970.

    Kathleen Booth est décédée le 29 septembre 2022 et laisse dans le deuil une fille ainsi que son fils.

    Assembleur

    Un langage d'assemblage ou langage assembleur est un langage bas niveau qui représente le langage machine sous une forme lisible par un humain. Les combinaisons de bits du langage machine sont représentées par des symboles dits « mnémoniques », c'est-à-dire faciles à retenir. Le programme assembleur convertit ces mnémoniques en langage machine, ainsi que les valeurs (écrites en décimal) en binaire et les libellés d'emplacements en adresses, en vue de créer par exemple un fichier objet ou un fichier exécutable.

    Dans la pratique courante, le même terme assembleur est utilisé à la fois pour désigner le langage d'assemblage et le programme assembleur qui le traduit. On parle ainsi de « programmation en assembleur ».

    Les langages d'assemblages ont éliminé une grande partie des erreurs commises par les programmeurs de la première génération d'ordinateurs, en les dispensant de mémoriser les codes numériques des instructions et de faire des calculs d'adresses. La programmation en assembleur était alors utilisée pour écrire toutes sortes de programmes.

    Au sujet de ce langage, Chrtophe notait par exemple que :

    Citation Envoyé par Chrtophe
    L'assembleur n'est presque plus utilisé sauf pour des choses bien précises notamment la programmation de micro contrôleurs, le déboguage, ou la création de compilateurs.

    Il est à noter que quand on compile un programme, celui-ci est transformé en code assembleur, puis enfin en code machine.

    En mode graphique par exemple, pour afficher une lettre, tu dois littéralement la dessiner (sauf si tu appelles une fonction système, mais là autant utiliser le C, c'est plus facile à écrire). Des compétences en électronique sont un plus, et au moins une bonne connaissance de l'architecture de l'ordinateur, l'assembleur est très proche de l’électronique de la machine.
    Quelques instructions de base

    Chaque instruction assembleur a une équivalence binaire direct. Le processeur peut ainsi comprendre ces instructions.

    Voici quelques exemples d'instructions de base pour le processeur Intel 8086 :
    • MOV destination source : déplace une valeur fixe ou celle d'un registre dans un autre,
    • INC registre : additionne 1 à la valeur d'un registre,
    • NEG registre : change le signe de la valeur stockée dans un registre,
    • IMUL destination source : multiplie les valeurs et stocke le résultat dans le premier registre.

    Démonstration de traduction automatique (novembre 1955)
    émulateur MESS

    Et vous ?

    Aviez-vous déjà entendu parler du professeur Kathleen Booth ?
    Connaissez-vous le langage assembleur ? L'avez-vous déjà utilisé à des fins d'études, de projets personnels ou professionnels ? Qu'en pensez-vous ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    1 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1 500
    Points : 5 692
    Points
    5 692
    Par défaut
    100 ans c'est énorme ! Ca fait rêver
    « L’humour est une forme d'esprit railleuse qui s'attache à souligner le caractère comique, ridicule, absurde ou insolite de certains aspects de la réalité »

  3. #3
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 564
    Points : 7 286
    Points
    7 286
    Par défaut
    Une grande Dame de l'informatique qui est partie.

    RIP, Kathleen.
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  4. #4
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Points : 74
    Points
    74
    Par défaut
    Morte à...100 ans. C'est du binaire.
    Merci Madame.

  5. #5
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par Stéphane le calme Voir le message
    Voici quelques exemples d'instructions de base pour le processeur Intel 8086
    Je pense que le x86 est un mauvais exemple pour donner des exemples en assembleur.
    RISC-V, MIPS ou ARM me semble plus pertinent.

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 437
    Points : 43 078
    Points
    43 078
    Par défaut
    Aviez-vous déjà entendu parler du professeur Kathleen Booth ?
    Je ne la connaissais pas.

    Il y a tellement peu de femmes dans l'informatique que c'est bien d'en parler, surtout qu'il s'agit pas moins que de l'inventrice de l'assembleur.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre actif
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2015
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2015
    Messages : 146
    Points : 274
    Points
    274
    Par défaut Assembleur, que de souvenirs
    Bonjour,
    Au millieu des années 1980 (voila donc plus de 35 ans !) j'ai travaillé sur des programes applicatifs écrits soit en assembleur, soit en cobol, soit en Pl1 ou encore en fortran. Il s'agissait des résoudre les incompatibilités (temporaires) au moment d'un changement total de système (passage du DOS à MVS, sur les calculateurs IBM). Je me rapproche de plus en plus des 100 ans !

  8. #8
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 25
    Points : 113
    Points
    113
    Par défaut L'assembleur mon 1er langage
    Connaissez-vous le langage assembleur ? L'avez-vous déjà utilisé à des fins d'études, de projets personnels ou professionnels ? Qu'en pensez-vous ?
    Ce fut mon premier langage informatique. Et si tous les assembleurs se ressemblaient chacun portait et porte toujours les spécificités du micro-Processeur ou microcontrôleur.
    À cette époque reculée il était de bon ton de maitriser le z80 le 8086, le 6502 et autres 8 bits puis 16bits.
    Jusque dans les années 2005 je l'utilisais encore couramment sur des microcontrôleurs embarqués, même si le C et le C++ ont, peu à peu, remplacé l'Assembleur dans ces projets embarqués, il était courant de venir "optimiser" une routine pour des raisons de vitesse ou de synchro sur des interruptions machine.

    C'était le temps où l'on savait ce que chaque ligne de code, chaque instruction faisait.

    Aujourd'hui on pythonise à tour de bras et la machine fais ce qu'elle peut.
    Bon là c'est le vieil antédiluvien qui parle.

    Merci à Kathleen Booth pour tous les moments de plaisir (mais aussi de nuits de galère ), qui du fait de son travail, m'ont été offerts.

  9. #9
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par LeBreton56 Voir le message
    C'était le temps où l'on savait ce que chaque ligne de code, chaque instruction faisait.

    Aujourd'hui on pythonise à tour de bras et la machine fais ce qu'elle peut.
    Bon là c'est le vieil antédiluvien qui parle.
    J'ai pas mal programmer sur le 6502 , z80 , M68000 en assembleur.

    Mais je ne pense pas que ça soit un mal que les compilateurs reprenne le relais , non seulement ils sont bien meilleurs que nous (et j'insiste là dessus du GCC sur du x86 avec du les bonnes option de compilation) , il est quasi imbattable.
    Mais aussi que les processeurs sont devenu bien trop complexe pour s'amuser à jouer en asm dessus.

    Après c'est à double tranchant ,c'est bien plus compliqué d'apprendre le hardware maintenant que à l'époque.
    De nos jours, ça prend littéralement 1 journée pour comprendre comment fonctionne une vielle machine et ces I/O , c'est vraiment pas le cas sur un SoC moderne...

  10. #10
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 065
    Points : 2 567
    Points
    2 567
    Par défaut
    Je ne la connaissais pas.
    Il y a beaucoup de grande dame dans l'informatique Lovelace, ...

    J'ai fait de l'assembleur 68000 sur Amiga 500, après le basic locomotive sur CPC.
    Car je voulais programmer des petits jeux vidéos, et être demomaker mais j'étais un gros lamer
    J'ai quand même fait une intro potable.

    J'ai jeté l'éponge avec l'amiga 1200, et son 68020, trop l'arnaque le 1200, ils auraient pu en mettre un peu plus sous le capot
    Je regrette de ne pas avoir pris un disque dur avec, et d'avoir été sur le net avec, ça devait être épique.

    On nous disait à l'époque que les ordinateurs était poussif et qu'il fallait économiser les cycles machine, pour avoir des animations fluides en autre.
    Par exemple additionner un nombre à lui-même plutôt que le multiplier par 2, ou utiliser le décalage de bit...
    J'avais la bible de l'Amiga à côté de moi avec un marque page à la page du tableau des registres, $dff180 pour la couleur de fond je crois

    Mais je ne suis pas maso, ça a été une bonne école, mais qu'est ce que c'était lourd à lire et surtout à relire.

    start:

    move #0,d0;
    move #10, d1;

    loop:

    add 1, d0;

    cmp d0, d1;
    bne loop;

    rts;

    tout ça pour faire une boucle arfff
    Consultez mes articles sur l'accessibilité numérique :

    Comment rendre son application SWING accessible aux non voyants
    Créer des applications web accessibles à tous

    YES WE CAN BLANCHE !!!

    Rappelez-vous que Google est le plus grand aveugle d'Internet...
    Plus c'est accessible pour nous, plus c'est accessible pour lui,
    et meilleur sera votre score de référencement !

  11. #11
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par CoderInTheDark Voir le message
    start:

    move #0,d0;
    move #10, d1;

    loop:

    add 1, d0;

    cmp d0, d1;
    bne loop;

    rts;
    J’espère que tu ne faisais pas des boucles comme ça
    Sur M68000 tu avais l'instruction dbne qui permettait de faire des boucle for
    (qui est bien plus rapide que CMP+BNE+ADD)

    Donc cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    start:
    move #10, d0;
     
    loop:
     
    dbne d0,loop;
     
    rts;
    Sinon ,même si l'assembleur est lourd à écrire , ce n'est pas ce qui me dérange, je trouve encore les processeur 8 ou 16 bits assez accessible et agréable à programmer en assembleur.
    Plus les processeurs sont devenu bien trop complexe à programmer , et les compilateurs ont commencé à être bien plus performant (de nos jour battre GCC sur du x86 , c'est très très compliqué ).

  12. #12
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 065
    Points : 2 567
    Points
    2 567
    Par défaut
    T'es matinal, mon code t'empeche de dormir :;D

    Bah si j'ai fait des horreurs pareilles , pardon aux familles tout ça beuahhh.
    De toute façon il n'y a plus de preuves

    Mais j'étais jeune j'avais 13 ans quand j'ai commencé l'assembleur avec k-seka, juste après le basic.
    Et j'ai pas été aidé par la documentation.
    J'ai utilisé les bouquins Micr* Appli** traduit des livres du databecker pas toujours bientraduits

    Et il n'y avais pas d'internet pour se confronter.



    [QUOTE=Kannagi;11894397]J’espère que tu ne faisais pas des boucles comme ça
    Consultez mes articles sur l'accessibilité numérique :

    Comment rendre son application SWING accessible aux non voyants
    Créer des applications web accessibles à tous

    YES WE CAN BLANCHE !!!

    Rappelez-vous que Google est le plus grand aveugle d'Internet...
    Plus c'est accessible pour nous, plus c'est accessible pour lui,
    et meilleur sera votre score de référencement !

  13. #13
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par CoderInTheDark Voir le message
    T'es matinal, mon code t’empêche de dormir :;D
    Non juste insomniaque


    Et il n'y avais pas d'internet pour se confronter.
    Et tu n'as pas continuer donc ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/04/2019, 09h00
  2. Vos critiques de livres informatique
    Par Community Management dans le forum Evolutions du club
    Réponses: 117
    Dernier message: 22/04/2014, 12h16
  3. Recherche définition de termes informatiques
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 06/05/2005, 17h03
  4. Physiques et informatique
    Par Hyoga kun dans le forum Etudes
    Réponses: 15
    Dernier message: 06/02/2004, 20h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo