4 points par GN⁺ 2023-12-28 | 1 commentaires | Partager sur WhatsApp
  • Le microcontrôleur intégré à un chargeur mural USB-C moderne a désormais une fréquence d’horloge, une mémoire et un espace de stockage suffisamment élevés pour être comparé à l’Apollo 11 Guidance Computer de 1969
  • Le CYPD4225 de l’Anker PowerPort Atom PD 2, avec son ARM Cortex-M0 à 48 MHz, ses 128 Ko de Flash et ses 8 Ko de RAM, serait, selon les calculs, environ 563 fois plus rapide que l’AGC pour l’exécution de la plupart des instructions
  • L’espace de stockage varie selon les hypothèses d’encodage des instructions ; le CYPD4225 peut contenir environ 1,19 à 1,78 fois plus d’instructions que l’AGC
  • Apollo 11 embarquait 4 ordinateurs, dont 2 AGC, 1 LVDC et 1 AGS ; sans modifier fortement la conception d’origine, il serait difficile de tous les remplacer par une seule puce de chargeur
  • En seule puissance de calcul, 4 chargeurs Anker semblent pouvoir atteindre un niveau informatique comparable à celui d’Apollo 11, mais la qualification pour l’environnement spatial, les périphériques, les niveaux de tension et la logique à triple redondance du LVDC restent des contraintes distinctes

Objets comparés et caractéristiques de base

  • La comparaison porte sur l’Apollo 11 Guidance Computer et trois chargeurs USB-C récents
    • Google Pixel 18W Charger : Weltrend WT6630P, 10 MHz, 512 octets de RAM, 8 Ko de stockage
    • Huawei 40W SuperCharge : Richtek RT7205, 22,7 MHz, « 0,75 Ko » de RAM, 24 Ko de stockage
    • Anker PowerPort Atom PD 2 : Cypress CYPD4225, 48 MHz, 8 Ko de RAM, 128 Ko de Flash
    • Apollo 11 Guidance Computer : basé sur des composants discrets, 1,024 MHz, 2 048 mots de RAM de 15 bits, 36 864 mots de stockage programme de 15 bits
  • L’AGC a pris en charge la majeure partie du vol lunaire du CSM, l’alunissage et le décollage du LEM, ainsi que le retour du CSM vers la Terre
  • Le CPU le plus puissant du tableau est le CYPD4225 de l’Anker PowerPort Atom PD 2
    • Environ 48 fois la fréquence d’horloge de l’AGC
    • Environ 1,8 fois l’espace de stockage programme

Comparaison de la vitesse d’exécution des instructions

  • L’AGC utilise une horloge maître de 1,024 MHz, et une instruction nécessite au minimum 12 cycles d’horloge
  • Le CYPD4225 contient un CPU ARM Cortex-M0
    • L’AGC et le Cortex-M0 n’ont tous deux pas de cache, ont un temps d’accès mémoire constant et exécutent les instructions dans l’ordre
    • Aucun des deux ne dispose de virgule flottante matérielle ni de matériel vectoriel/matriciel comme AVX, SSE ou NEON
  • En comparant le nombre de cycles pour des instructions similaires, le Cortex-M0 est très avantagé
    • Addition/soustraction sur 15 bits : AGC 24 cycles, Cortex-M0 1 cycle
    • Addition/soustraction sur 31 bits : AGC 36 cycles, Cortex-M0 1 cycle
    • Multiplication : AGC 36 cycles, Cortex-M0 1 cycle
    • Branchement sur zéro : AGC 24 cycles, Cortex-M0 1 à 4 cycles sans CMP, 2 à 5 cycles avec CMP
    • Stockage/chargement mémoire : AGC 24 cycles, Cortex-M0 2 cycles
  • La plupart des instructions de l’AGC utilisent environ 12 fois plus de cycles d’horloge que celles du Cortex-M0, et le Cortex-M0 fonctionne à 48 MHz
    • La formule est 12 * 48MHz / 1.024MHz
    • Sur cette base, le CPU du chargeur USB-C Anker PowerPort Atom PD 2 est 563 fois plus rapide que l’AGC dans la plupart des applications
  • L’instruction qui manque le plus nettement au Cortex-M0 par rapport à l’AGC est la division
    • La division de l’AGC prend 72 cycles, soit environ 70,3 µs
    • Pendant ce même laps de temps, le CYPD4225 peut exécuter environ 3 374 instructions arithmétiques
    • Le coût d’un branchement étant d’environ 3 cycles, il reste de la marge pour implémenter la division en logiciel

Stockage programme et encodage des instructions

  • Les programmeurs d’Apollo ont écrit une machine virtuelle/un interpréteur à cause du manque d’espace de stockage du Guidance Computer
    • La contrainte d’espace était suffisamment forte pour sacrifier de la vitesse afin d’économiser du stockage
  • L’AGC stocke 36 864 mots de 15 bits, tandis que le CYPD4225 dispose de 128 Ko de Flash comme espace de stockage
    • En simple quantité d’information, le CYPD4225 peut stocker 1,90 fois plus d’informations que l’AGC
  • Les instructions de l’AGC sont des instructions de largeur fixe de 15 bits
    • Le Cortex-M0 implémente le jeu d’instructions THUMB2, avec des instructions 16 bits et 32 bits
    • Les instructions 16 bits couvrent la plupart des opérations courantes comme l’arithmétique, les branchements et les chargements/stockages
  • En supposant simplement que toutes les instructions font 16 bits, le CYPD4225 peut stocker 65 536 instructions
    • Soit au maximum 1,78 fois les 36 864 instructions de l’AGC
  • Avec l’hypothèse plus extrême d’une moitié d’instructions 16 bits et d’une moitié d’instructions 32 bits, il peut stocker au total 43 690 instructions
    • Soit 1,19 fois l’AGC
  • Comparer la densité des instructions n’est pas simple
    • Le Cortex-M0 dispose de 12 registres généraux pouvant contenir des résultats arithmétiques
    • L’AGC utilise un seul accumulateur, mais peut stocker directement des résultats arithmétiques à des emplacements mémoire
    • Le Cortex-M0 a besoin d’une instruction store séparée
    • Le bank switching de l’AGC permet d’encoder directement davantage d’adresses mémoire dans les instructions arithmétiques
    • La mémoire du Cortex-M0 est plus simple et ne nécessite pas de bank switching
  • Le CYPD4225 peut contenir 1,19 à 1,78 fois plus d’instructions, ce qui laisse penser qu’il pourrait aussi accueillir un programme équivalent à celui de l’AGC
  • Les autres chargeurs USB-C ont une capacité programme inférieure à celle de l’AGC
    • Aller sur la Lune avec 8 Ko semble difficile
    • L’AGC aussi avait été conçu à l’origine avec un espace de stockage programme plus petit, mais il a fallu l’augmenter
    • Les CPU des autres chargeurs sont donc exclus des candidats pour aller jusqu’à la Lune

Comparaison de la RAM

  • L’AGC peut stocker 2 048 mots de 15 bits
  • Le CYPD4225 dispose de 8 Ko de RAM
    • En octets, il possède un peu plus de 2 fois la RAM de l’AGC
    • L’AGC calcule principalement par mots de 15 bits
    • Les calculs équivalents du Cortex-M0 s’effectuent par mots de 16 bits
    • En unités de calcul, le CYPD4225 dispose de 4 096 mots de 16 bits contre 2 048 mots de 15 bits pour l’AGC, soit exactement 2 fois plus

Ensemble des ordinateurs d’Apollo 11 et nombre de chargeurs nécessaires

  • D’après Wikipedia, le vaisseau Apollo 11 embarquait 4 ordinateurs
  • Les 4 ordinateurs se trouvaient dans des parties différentes du vaisseau, ce qui rend difficile leur remplacement par un seul CYPD4225
    • En supposant de ne pas modifier fortement la conception d’Apollo 11, on considère que 4 ordinateurs sont nécessaires
  • Chacun des ordinateurs d’Apollo 11 indiqués dans le tableau est inférieur à l’Anker PowerPort Atom PD 2 en performances et en mémoire
    • AGC : 1,024 MHz, 2 048 mots de RAM de 15 bits, 36 864 mots de stockage programme de 15 bits
    • LVDC : 2,048 MHz, 4 096 mots de RAM de 13 bits, 32 768 mots de stockage programme de 13 bits
    • AGS : 1,024 MHz, 2 048 mots de RAM de 18 bits, 2 048 mots de stockage programme de 18 bits
  • On suppose que le LVDC et l’AGS n’utilisent pas d’instructions particulières difficiles à exécuter sur Cortex-M0
    • La division pourrait prendre plus de temps que la multiplication
    • Le CYPD4225 peut exécuter des milliers d’instructions arithmétiques pendant le temps nécessaire à n’importe lequel des ordinateurs d’Apollo 11 pour effectuer une seule multiplication
  • En ne considérant que la puissance de calcul, la capacité de traitement de 4 chargeurs USB-C Anker PowerPort Atom PD 2 suffirait pour aller sur la Lune

Contraintes restantes et points de débat

  • Le CYPD4225 n’est pas un composant qualifié pour l’espace
    • On ne sait pas s’il fonctionnerait dans l’espace
  • Les périphériques utilisés par les ordinateurs d’Apollo 11 n’ont pas été examinés séparément
    • Le CYPD4225 dispose de 30 signaux GPIO et prend en charge UART, I2C et SPI
    • Il faudrait vérifier si l’AGC prenait en charge 100 périphériques, 10, ou davantage
    • Les niveaux de tension des années 1960 sont probablement trop élevés pour être connectés directement au CYPD4225
  • Le LVDC intègre en réalité une logique à triple redondance
    • La logique produit trois réponses, et un mécanisme de vote choisit la gagnante
    • On pourrait considérer qu’il faut 3 chargeurs USB-C pour le comparer au LVDC
    • Cette redondance vise la fiabilité, et la fiabilité est ignorée dans le calcul global
    • Même en imitant cette approche avec 3 microcontrôleurs et un 4e microcontrôleur pour le vote, on estime que la fiabilité du système n’en serait pas accrue
    • Ce point peut prêter à débat

La complexité créée par l’alimentation USB-C

  • Vers 2012-2013, le firmware du Structure Sensor utilisait la détection de chargeur USB présente dans la plupart des chargeurs USB de l’époque
    • Il s’agissait d’un réseau de résistances entre les signaux USB D+ / D-, sans communication numérique
    • D’après le souvenir de l’auteur, l’implémentation du firmware était simple
  • En 2020, avec la généralisation de l’USB-C, beaucoup de chargeurs USB intègrent un microcontrôleur avec CPU
    • Certains sont moins puissants que l’AGC
    • Certains sont plus puissants que l’AGC
    • La plupart ont une fréquence d’horloge au moins environ 10 fois supérieure
  • L’USB-C Power Delivery résout des problèmes et apporte de nouvelles fonctionnalités, mais augmente aussi la complexité
    • Il ajoute un firmware et une puce supplémentaires à gérer lors de la fabrication
    • Il ne propose pas d’alternative utilisant un seul fil du câble et permettant à un chargeur USB-C d’annoncer des courants et tensions de charge arbitraires

1 commentaires

 
GN⁺ 2023-12-28
Avis de Hacker News
  • Les calculateurs analogiques méritent eux aussi d’être reconnus à leur juste valeur. Le vaisseau Apollo 11 avait un ordinateur de plus : le FCC (Flight Control Computer), un calculateur analogique qui contrôlait le cardan de la fusée sur la Saturn V.
    C’était un dispositif cylindrique de 2 pieds, pesant près de 100 livres.

    • Je pense qu’appeler un “calculateur” analogique un “ordinateur” prête involontairement à confusion. Ce qui distingue un ordinateur numérique des autres matériels numériques, c’est qu’avec assez de mémoire il est Turing-complet ; dans le domaine analogique, il n’existe pas de concept équivalent.
      S’ils ont fini par porter le même nom, c’est parce qu’à l’origine tous deux ont été conçus pour remplacer les personnes qui effectuaient des calculs sur des calculatrices mécaniques de bureau, et qu’on appelait des “computers”.
      Le “calculateur” de contrôle de vol ressemble davantage à un module de synthétiseur analogique qu’à un Cray-1, un AGC, un Arduino, un ordinateur portable ou un chargeur. Les appareils numériques comparés ici, eux, sont presque indiscernables les uns des autres tant ils se ressemblent.
    • Il existe des informations sur le Flight Control Computer.
      “Le Flight Control Computer (FCC) était un dispositif de traitement du signal entièrement analogique ; il gérait la redondance interne et la sélection des banques de filtres au moyen de relais commandés par le Saturn V Switch Selector Unit. Le FCC comportait plusieurs chemins redondants de traitement du signal en configuration triple, et pouvait basculer vers un canal de secours en cas d’échec de la comparaison du canal principal. L’ordinateur de contrôle de vol implémentait une rétroaction proportionnelle-dérivée de base pour le contrôle vectoriel de poussée pendant le vol propulsé, et incluait aussi une logique en plan de phase pour le contrôle du système de propulsion auxiliaire (APS) du S-IVB.”
      “En vol propulsé, le FCC implémentait la loi de commande $ \beta_c = a_0 H_0(s) \theta_e + a_1 H_1(s) \dot{\theta} $. Ici, $ a_0 $ et $ a_1 $ sont les gains proportionnel et dérivé, et $ H_0(s) $ est la fonction de transfert en temps continu du filtre de flexion structurelle du canal d’attitude et de vitesse d’attitude. Dans la configuration Saturn V, les gains $ a_0 $ et $ a_1 $ ne variaient pas selon un calendrier, et il existait des commutations de gain discrètes. Le FCC de la Saturn V implémentait aussi une fonction électronique d’inclinaison du vecteur de poussée à l’aide d’un générateur de rampe ; à partir de 20 secondes après le décollage, il vectorisait les moteurs S-IC d’environ 2 degrés vers l’extérieur afin d’atténuer la sensibilité aux désalignements du vecteur de poussée.”
      https://ntrs.nasa.gov/api/citations/20200002830/downloads/20...
    • C’est exact. Beaucoup de systèmes embarquaient des calculateurs analogiques intégrés. Aujourd’hui, les fabriquer avec des composants électroniques revient bien moins cher, mais autrefois, remplacer ce qui était fait mécaniquement demandait davantage de capacité de calcul.
    • Il y a aussi quelques photos de la Saturn V dans le Saturn V Hall du U.S. Space and Rocket Center à Huntsville, Alabama.
      [1] https://imgur.com/qscoWrR
      [2] https://imgur.com/HHg5ohS
    • Vous avez oublié le plus important : les ordinateurs humains du centre de contrôle au sol.
      Qui a dit que les femmes ne savaient pas faire de maths ?
      https://www.smithsonianmag.com/science-nature/history-human-...
  • J’en ai un peu assez des articles sensationnalistes du genre “comparons le matériel qui a atterri sur la Lune au hardware d’aujourd’hui”. Les premiers avions n’avaient aucun type d’ordinateur, donc la puissance de calcul n’est pas le seul facteur qui détermine les performances et la réussite de ce genre d’entreprise.
    Le logiciel et le matériel des missions Apollo étaient extrêmement bien conçus. Tout le monde sait qu’entre-temps la puissance de calcul est devenue absurdement plus élevée, mais cela ne veut pas dire qu’on pourrait faire la même chose facilement aujourd’hui. De meilleures performances ne suppriment pas le besoin de bonne ingénierie. Pourtant, certains semblent s’appuyer fortement sur ce présupposé.

    • Lire ce genre d’article de cette manière me semble aller à l’encontre de son intention.
      Ce qui est plus intéressant, c’est la comparaison qui montre à quel point des technologies auxquelles nous ne prêtons pas attention sont devenues complexes. Ce n’est même pas un appareil connecté, ni une montre numérique des années 80 : c’est littéralement un câble qui contient autant de technologie qu’Apollo 11, et nous ne nous en rendons même pas compte.
      Pour formuler l’objection autrement : l’une des raisons pour lesquelles aller sur la Lune est plus difficile que charger un appareil USB, c’est qu’en vol spatial il n’existe pas de composants sur étagère. Si, à chaque fois que vous chargiez votre téléphone, vous deviez fabriquer un chargeur USB à partir de zéro et même définir la spécification USB pour la première fois, les câbles USB seraient vite considérés comme un problème difficile eux aussi.
      Le grand message à retenir de ce genre d’article n’est pas qu’Apollo 11 n’était pas une prouesse d’ingénierie extraordinaire. C’est qu’il existe dans notre quotidien une énorme quantité d’ingénierie, produite en masse, qui passe inaperçue.
    • Je pense que le fait que le logiciel et le matériel des missions Apollo aient été bien conçus est justement le point central de ce type d’article. Comparer l’ancienne et la nouvelle technologie, et raconter comment les ingénieurs ont fait plus avec moins de ressources, n’a rien de sensationnaliste.
    • Je ne pense pas que ce genre d’article cherche à rabaisser qui que ce soit ; il vise plutôt à montrer à quel point la miniaturisation et les outils logiciels qui soutiennent le silicium ont progressé. Il ne s’agit pas d’insulter les ingénieurs et scientifiques d’origine qui ont réellement envoyé des humains sur la Lune.
      Si ces ingénieurs étaient transportés à notre époque, ils apprendraient sans problème le nouveau matériel. Nous restons les mêmes humains, avec les mêmes cerveaux humains.
    • Les premiers avions avaient eux aussi des ordinateurs, et en ont encore souvent : du wetware, autrement dit ce qu’on appelle des pilotes.
      “La puissance de calcul n’est pas le seul facteur déterminant” s’applique-t-il aussi à la tâche consistant à charger un téléphone ?
  • Je me demande si les calculs de poids et de coût se sont désormais suffisamment améliorés pour qu’il soit moins cher de blinder l’ensemble du processeur que de rendre le circuit lui-même tolérant aux radiations. Les circuits tolérants aux radiations rendent difficile l’usage de composants du commerce et limitent aussi l’emploi des technologies les plus récentes, ce qui les rend beaucoup plus coûteux
    Si ma mémoire est bonne, c’était l’un des axes explorés pour le drone martien, mais je ne sais pas vraiment si les inquiétudes liées aux radiations à la surface de Mars sont différentes de celles des usages dans l’espace

    • N’est-ce pas grosso modo l’approche qu’utilise SpaceX ?
      « Le logiciel de vol est écrit en C/C++ et s’exécute dans un environnement x86. Pour chaque calcul/décision, la “flight string” compare les résultats de deux cœurs. En cas de divergence, cette string est considérée comme défectueuse et n’envoie pas de commande. Si les deux cœurs renvoient la même réponse, la string envoie des commandes aux différents microcontrôleurs de la fusée qui contrôlent des éléments comme les moteurs et les grid fins. »
      https://space.stackexchange.com/a/9446/53026
    • Utiliser un blindage au lieu de puces tolérantes aux radiations, ou combiner les deux, a toujours été une option. L’ordinateur aérospatial SCP-234 de RCA pesait 7,9 livres, auxquelles s’ajoutaient 3 livres de plaques de plomb pour protéger la RAM et la ROM
      La sonde Galileo utilisait une plaque de tungstène pour protéger le processeur du récepteur de relais de la sonde, et l’instrument plasma de Galileo utilisait un blindage au tantale. Justement, j’étais en train d’étudier le blindage contre les radiations
    • Il faut se rappeler qu’un ordinateur plus grand est exposé à bien plus de radiations. Un Cortex M0 fait environ 0,03 mm², tandis que l’Apollo Guidance Computer faisait environ 0,2 m² ; le M0 reçoit donc environ 6 millions de fois moins de radiations
    • Les particules cosmiques à haute énergie ne posent-elles pas un problème du genre : plus on ajoute de blindage, plus on crée de radiations secondaires ?
  • Presque toutes les puces USB, si l’on regarde leur datasheet, disposent d’un CPU entièrement programmable. Pour un simple périphérique HID ou un chargeur, cela peut sembler un peu ridicule, mais les microcontrôleurs de base sont bon marché et réduisent en pratique les coûts par rapport à un ASIC

    • J’aimerais bien voir un jour PostgreSQL ou SQLite tourner directement dans un contrôleur de stockage. Cela dit, il est probable qu’il n’y ait pas assez de mémoire pour le faire correctement
    • J’y vois un autre exemple du fait que le logiciel dévore le monde. Le rôle des ingénieurs électriciens diminue de jour en jour
    • Au travail, nous avons étudié l’idée d’utiliser un FPGA au lieu d’un MCU pour une tâche donnée, mais nous avons abandonné parce que le FPGA ne pouvait pas atteindre un niveau de consommation aussi bas que le MCU
    • Il va falloir se méfier de n’importe quel adaptateur secteur
  • L’affirmation selon laquelle « le LVDC contient en réalité une logique à triple redondance » est un détail très mineur, mais ce n’est pas parce qu’il y a trois exemplaires de quelque chose qu’il s’agit d’une triple redondance. Selon les critères de redondance, trois exemplaires correspondent à une double redondance, deux à une redondance simple, et un seul à aucune redondance
    À moins que le mécanisme de vote puisse, somehow, produire la bonne réponse même lorsque les trois implémentations donnent toutes des réponses différentes, je ne vois pas comment on peut parler de triple redondance. Le mécanisme de vote lui-même constitue-t-il fonctionnellement une quatrième implémentation ?

    • Le nom officiel de la logique du LVDC est redondance modulaire triple (TMR). Le mécanisme de vote choisit simplement la majorité, ce qui permet de tolérer une panne
      Comme le LVDC est un ordinateur série, il suffit de traiter un seul bit à la fois, ce qui simplifie l’implémentation du vote
    • Les deux philosophies de conception différentes qui apparaissent dans le LVDC et l’AGC sont intéressantes
      Le LVDC était une conception fortement redondante qui ne devait pas tomber en panne, tandis que l’AGC n’avait pas de redondance, mais était conçu pour récupérer rapidement en cas de panne
  • Je me demande s’il existe un moyen de savoir, sans les démonter, quel matériel exact est utilisé dans les petits appareils que l’on ne considère généralement pas comme des ordinateurs, par exemple les chargeurs de smartphone
    Existe-t-il des datasheets particulières ou des documents de certification gouvernementaux ? J’ai toujours été fasciné par le matériel aux spécifications minimales qui fait fonctionner l’électronique du quotidien, et j’aimerais savoir où l’auteur a obtenu ces informations

    • En général non, mais il est facile de démonter l’appareil et de regarder les puces à l’intérieur. À noter qu’aujourd’hui, il y a un CPU dans tout. En fait, c’était déjà le cas depuis les années 70
      Même les vieux claviers des années 1970 contenaient un CPU entièrement programmable, généralement une variante de l’Intel MCS-48 https://en.wikipedia.org/wiki/Intel_MCS-48#Uses
      Aujourd’hui, c’est encore plus vrai. Les claviers, trackpads, souris, tous les périphériques USB, etc. contiennent un CPU entièrement programmable
    • Les appareils sans fil passent par une procédure de certification FCC, et des photos de démontage sont publiées. Il y a aussi les articles d’iFixit
  • Que le CPU de l’Anker PowerPort Atom PD 2 USB-C Wall Charger soit 563 fois plus rapide que l’Apollo 11 Guidance Computer, c’est stupéfiant : l’objet qui recharge mes appareils aurait pu envoyer des humains sur la Lune si on l’avait programmé pour ça.

    • La méthode éprouvée pour envoyer des gens sur la Lune et les faire revenir avec un ordinateur aussi peu performant consistait à s’appuyer sur des milliers de personnes en support, expertes de la règle à calcul, capables de faire sans accroc des choses qui feraient aujourd’hui ramer bien des ingénieurs même avec un ordinateur personnel.
      Beaucoup d’ingénieurs au sol n’avaient pas d’ordinateur, et les plus chanceux utilisaient non pas une machine personnelle, mais un mainframe.
      Les ordinateurs étaient si précieux qu’on ne les utilisait que pour les tâches qui en avaient absolument besoin, en particulier quand la précision ou la vitesse de calcul était critique.
      Cela montre ce qui se passe quand on donne des ressources de niveau mainframe à des gens qui savaient déjà très bien faire de l’aérospatial à la règle à calcul.
    • Avec une batterie au lithium suffisamment grosse, le chargeur pourrait lui aussi vous emmener facilement sur une partie du trajet vers la Lune.
    • Ces seules données ne permettent pas de l’affirmer avec certitude. L’Apollo Guidance Computer était programmé pour envoyer des humains sur la Lune, mais il n’a jamais réellement accompli cette tâche seul ; il est donc difficile de dire qu’un ordinateur, quel qu’il soit, a « envoyé des humains sur la Lune ».
      Tous les atterrissages se faisaient en fly-by-wire : le pilote tenait les commandes, tandis que les propulseurs étaient contrôlés par le logiciel.
      https://www.quora.com/Could-the-Apollo-Guidance-Computer-hav... :
      « P64. À environ 7 000 pieds d’altitude, au point appelé “high gate”, l’ordinateur passait automatiquement en P64. Il assurait encore tout le vol et guidait le LM vers la cible d’atterrissage. Le Commander pouvait toutefois regarder le site d’atterrissage et, s’il ne lui convenait pas, choisir une autre cible ; l’ordinateur modifiait alors la trajectoire pour l’y conduire.
      À ce stade, l’un des trois programmes suivants était utilisé pour terminer l’atterrissage.
      P66. C’est le programme qui a effectivement été utilisé lors des six alunissages. À quelques centaines de pieds au-dessus de la surface, le Commander demandait à l’ordinateur de passer en P66. On l’appelle souvent “mode manuel”, mais il n’était pas vraiment entièrement manuel. Dans ce mode, le Commander pilotait le LM en indiquant à l’ordinateur les mouvements qu’il voulait effectuer, et l’ordinateur les exécutait. Cela continuait jusqu’à l’atterrissage.
      P65. C’est le mode automatique évoqué dans la question. Si l’ordinateur restait en P64 jusqu’à environ 150 pieds d’altitude, il passait automatiquement en P65, et P65 amenait le LM jusqu’à la surface sous contrôle de l’ordinateur. Le problème était que l’ordinateur n’avait aucun moyen de repérer les obstacles ni de déterminer si la zone d’atterrissage visée était suffisamment plane. Sur tous les vols, le Commander voulait choisir un autre point que celui vers lequel l’ordinateur l’emmenait ; il passait donc en P66 avant que l’ordinateur ne bascule automatiquement en P65. [Mise à jour : sur les vols ultérieurs, le code P65 a été retiré de l’AGC. Les programmeurs avaient besoin de mémoire pour d’autres morceaux de code, et la mémoire de l’AGC était si limitée que pour ajouter du code quelque part, il fallait enlever quelque chose ailleurs. À ce stade, il était clair qu’aucun équipage n’utiliserait le mode d’atterrissage automatique, donc P65 a été supprimé.]
      P67. C’est le véritable mode entièrement manuel. En P66, même si le pilote contrôle l’appareil, l’ordinateur reste dans la boucle. En P67, l’ordinateur est complètement déconnecté. Il continue de fournir des données comme l’altitude et la vitesse de descente, mais il ne contrôle plus le véhicule. »
  • Dans 50 ans, l’équivalent actuel d’un cluster d’entraînement GPT-4 de datacenter tiendra dans un câble bas de gamme et tournera plus de 100 fois plus vite que tout le cluster d’aujourd’hui.

    • Ce qui est encore plus impressionnant, c’est que l’ARM Cortex X4 dispose d’une fréquence d’horloge presque 100 fois supérieure, jusqu’à 14 cœurs, de cache, de prédiction de branchement, de virgule flottante, d’instructions spécialisées, d’un GPU, etc. Il est probablement au moins 100 000 fois plus rapide que le CYPD4225.
      Si l’on suppose que l’entraînement de GPT-4 a pris environ 100 jours, cela veut dire que dans 50 ans, un appareil de type smartphone ordinaire pourra entraîner de zéro un modèle de niveau GPT-4 en moins d’une seconde.
    • C’est ça, la croissance exponentielle. Ça ne s’arrête jamais.
    • Computronium.
  • Je ne savais pas que seul le LVDC intégrait une logique à triple redondance.
    La phrase « imiter ce mode de vote avec trois microcontrôleurs et un quatrième contrôleur chargé de comptabiliser les votes n’améliore pas la fiabilité du système » est assez claire : le compteur de votes devient un point de défaillance unique.
    Je ne sais pas très bien comment Tandem et Stratus géraient les désaccords entre deux processeurs. Stratus utilisait une paire de processeurs OTC 68K, ce qui ne ressemble pas vraiment à un vote. Avec seulement deux votants, je ne vois pas comment résoudre un désaccord.
    Je ne vois pas bien comment fabriquer, avec des puces CPU standard, un processeur « fiable » fondé sur le vote. Il faudrait sans doute que chaque CPU observe la sortie des deux autres et, s’il perd le vote, cesse lui-même de voter, mais cela ressemble à du matériel CPU sur mesure.
    Le matériel externe qui compare les votes, indique au CPU d’arrêter de voter et route vers la sortie gagnante est, au final, un compteur de votes, donc un point de défaillance unique. On pourrait avoir trois compteurs de votes qui se surveillent mutuellement, mais il faudrait alors un compteur de compteurs de votes. Ensuite, ce sont des tortues jusqu’en bas.
    En général, faire voter plusieurs CPU pour augmenter la fiabilité me paraît risqué, car la complexité supplémentaire peut au contraire réduire la fiabilité.
    Fabriquer un processeur fiable revient peut-être, en fin de compte, à fabriquer un processeur auquel on peut faire confiance.

    • Pour résoudre un désaccord quand il n’y a que deux votants, il suffirait peut-être de leur faire refaire le calcul à tous les deux ?
  • Dommage que le lien vers la biographie de Jonny Kim soit cassé. Le lien qui fonctionne est https://www.nasa.gov/people/jonny-kim/.
    C’est probablement l’un des humains les plus impressionnants de l’histoire. Navy SEAL décoré, médecin à Harvard, astronaute, entre autres parcours. On dirait qu’un enfant a assemblé le G.I. Joe ultime.