Powerful Poketful

juin 1972

 

 

La "puissance à pleine poche": un calculateur électronique face à la règle à calcul

 

La sortie officielle grand public du HP 35, premier calculateur de poche à effectuer, entre autres, les fonctions trigonométriques et exponentielles, a lieu le 1er février 1972. C'est un événement majeur tant du point de vue de l'histoire des techniques que du point de vue des calculs et de l'utilisateur. En juin de la même année, l'équipe de Hewlett-Packard qui a travaillé sur ce projet communique par l'intermédiaire de son journal un ensemble d'articles très développés qui vont des principes de fonctionnement au design industriel mis en oeuvre. Nous tenterons ici une traduction libre de cet ensemble en commençant par le plus célèbre : The " Powerful Pocketful ".

 

 

Ce calculateur scientifique de 255 grammes est si petit qu'il tient dans une poche de chemise. Il possède les fonctions logarithmiques, trigonométriques et exponentielles, et travaille sur dix chiffres.

Par Thomas M. Whitney, France Rodé, et Chung C. Tung

Quand un ingénieur ou un scientifique a besoin d'une réponse rapide à un problème qui nécessite multiplications, divisions, ou fonctions transcendantes, il se saisit de sa règle à calcul. Avant longtemps, cependant, ce "bâton glissant" pourra trouver une retraite méritée. Il y a maintenant un calculateur électronique de poche qui produit ces réponses plus facilement, plus vite et avec une plus grande précision.
En dépit de sa petite taille, le nouvel HP-35 est un calculateur scientifique puissant. Les buts initiaux étaient de faire un instrument capable d'être construit au format d'une poche de chemise avec quatre heures d'autonomie à partir de batteries rechargeables, à un coût facilement justifiable par les laboratoires et la plupart des gens. Le résultat fut cet objet de 255 grammes qui a même surpris le public le plus avisé au sujet de ce que les circuits intégrés pouvaient réaliser.
Le HP-35 possède à la base les mêmes fonctions et précisions que les autres calculateurs HP, mais en version portable. C'est un cousin proche des calculateurs électroniques à quatre fonctions apparus ces dernières années, initialement au Japon et maintenant aux Etats-Unis. Cependant, trois particularités du HP-35 en font un calculateur à part. Primo, aucun calculateur à quatre fonctions ne possède les fonctions transcendantes (telles trigonométriques, logarithmiques, exponentielles), ou même la racine carrée. Secundo, le HP 35 travaille avec deux pleines rangées de chiffres allant de 10-99 à 9.999999999x10+99 représentant la notation scientifique. Tercio, le HP-35 possède cinq registres pour stocker ou restituer des valeurs constantes et des résultats. Plutôt qu'un ou deux, quatre de ces registres sont combinés pour constituer une pile opérationnelle, une fonction que l'on trouve dans certains ordinateurs. À la page (7) il y a quelques exemples de problèmes complexes résolus avec le HP-35.


Entrée des données


La photographie du calculateur sur cette page montre comment les touches sont distribuées. Les nombres sont affichés, dans ce qui est aussi appelé le registre X, de gauche à droite, exactement comme sont pressées les touches. Le mode d'entrée est entièrement libre. Les chiffres s'organisent exactement tels qu'ils sont introduits, tenant compte automatiquement de l'intérêt des zéros.
La touche des exposants, EEX, est utilisée pour entrer un nombre en notation scientifique. Par exemple, le nombre 612.000 peut être introduit comme 6,12 EEX 5 ou 612 EEX 3 ou ,0612 EEX 7 aussi bien que 612000. La touche d'inversion de signe, CHS, change le signe de la mantisse ou, si elle est pressée immédiatement après la touche EEX, le signe de l'exposant. Les erreurs durant l'introduction des données peuvent être corrigées en utilisant la touche d'effacement, CLx. Une touche spéciale permet d'entrer pi.


L'afficheur


L'afficheur consiste en une série de 15 ensembles (3 x 5) de sept segments LED plus le point décimal. Une réponse comprise entre 1010 et 10-2 sera toujours affichée avec un point décimal flottant correctement placé avec le champ réservé à l'affichage exponentiel éteint. En dehors de ces valeurs, le HP-35 affiche les réponses en notation scientifique avec le point décimal à droite du premier chiffre, et les puissances de dix affichées à l'extrême droite de l'afficheur. Afin de rendre l'affichage plus lisible, le point décimal utilise la valeur d'un chiffre.
L'afficheur est toujours justifié à gauche, sans zéro superflu. Par exemple, la réponse à 3/4 donne ,75 plutôt que 0,750000000.
Les réponses supérieures à 10100 (débordement) sont affichées par 9,999999999 X 1099, et les réponses inférieures à 10-99 sont remplacées par zéro. Ce sont les limites du HP-35. Les opérations incorrectes, telle la division par zéro ou la racine carrée d'un nombre négatif, donnent l'apparition d'un zéro clignotant.


Les touches de fonction à simple opérande


Les touches de fonction opèrent sur le nombre affiché dans le registre X. Les fonctions trigonométriques, sin, cos, tan, arc sin, arc cos, et arc tan travaillent en degré seulement. Pour inverser une fonction trigonométrique la touche doit être précédée par la touche "arc". L'angle obtenu sera la valeur principale.
Les fonctions log x et ln x calculent le logarithme de x respectivement en base 10 et base e. Il en est de même pour la fonction exponentielle ex. Les autres fonctions à opérande simple sont la racine carrée de x, x, et l'inverse de x, 1/x.


Les touches arithmétiques : fonctions à deux opérandes


Les fonctions arithmétiques, +, -, x, et / et la fonction d'élévation d'une puissance xy, opèrent sur les registres X et Y, avec la réponse s'affichant dans le registre X. Les nombres sont copiés de X vers Y par l'utilisation de la touche ENTER. Ainsi, pour élever 2 à la puissance 7, la séquence de touches est 7 ENTER, 2, xy, et la réponse 128 s'affiche immédiatement après la pression sur la touche xy. C'est un principe général : quand une touche est pressée, l'opération correspondante est immédiatement réalisée.
Quoique élever x à une puissance quelconque peut être accomplit par la formule xy = ey ln x ( en fait, le calculateur suit ce chemin interne), les combinaisons de touches représentent un inconvénient plus grand. La valeur y peut être positive, un entier négatif ou une fraction alors que x doit être positif.


Les touches de registre et de contrôle


Cinq registres sont disponibles pour l'utilisateur. Quatre sont appelés X, Y, Z et T, et forment la pile opérationnelle. Le cinquième, S, est utilisé pour le stockage d'une constante. (Pour plus de clarté, les lettres capitales renvoient au contenu des registres.)
Cinq touches sont utilisées pour transférer des données entre ces registres. La touche ENTER fait monter la pile : en fait, x est copié dans Y, y dans Z, et z dans T, t étant perdu. Cette touche est utilisée comme séparateur entre deux entrées consécutives, telle que l'a montré le précédant exemple. Renvoi, RÍ, est utilisé pour voir le contenu de X, Y, Z et T. Quatre pressions consécutives de cette touche redonne la position initiale de chaque registre sans perte de valeur.
Le contenu de X et de Y peut être échangé en utilisant la touche x<>y ; cela est pratique lorsque l'opérande a été introduite dans un mauvais ordre pour xy, - ou /. Le registre de la constante, S, est accessible via les deux touches de mise en mémoire, STO, et de rappel mémoire RCL.
La pile opérationnelle est automatiquement déplacée vers le haut suivant chaque opération autre que ENTER, STO, Clx. Cette dernière sauvegarde l'utilisation de la touche ENTER. La pile remonte automatiquement à chaque opération faisant appel aux touches à double opérande (+, -, X, /, xy). Par exemple, pour résoudre le problème (3X4) + (5X6) la séquence de touches est : 3, ENTER, 4, X, 5, ENTER, 6, X, +. ENTER n'est pas nécessaire entre X et 5 car la réponse au premier terme, 12, est automatiquement transférée de Y lorsque le 5 est entré. Aussi, il n'est pas nécessaire d'utiliser la touche RÍ après le deuxième X puisque le premier terme, 12, est automatiquement transféré de Z à Y après la multiplication.
La touche d'effacement total, CLR, efface tous les registres mémoires. L'initialisation par la mise en marche du calculateur a le même effet.
Sur l'arrière du calculateur se trouve le tableau d'instructions qui fournit à l'utilisateur des réponses rapides aux questions les plus couramment posées. Ce tableau montre un exemple et sa solution.


L'organisation du système


Maintenant, allons à l'intérieur pour voir comment cela marche. Le HP-35 contient cinq circuits MOS/LSI : trois ROM, un circuit pour l'arithmétique et pour les registres (A&R), et un circuit pour le contrôle et le compteur (C&T). Leur conception fut donnée par HP et les circuits furent développés et manufacturés par deux fabricants extérieurs. Trois circuits bipolaires sont manufacturés par la division HP de Santa Clara : une horloge à deux phases, un driver LED à anode avec générateur d'impulsion, et un driver LED à cathode.
Le HP-35 est assemblé à partir de deux circuits imprimés. Le circuit supérieur contient l'afficheur, les drivers et le clavier. Le circuit inférieur contient toutes la logique MOS, l'horloge, et l'alimentation.
Le calculateur est organisé à partir d'une série de chiffres basés sur l'unité de base codée en bit. Cette organisation minimise le nombre de connections sur chaque puce et entre chaque puce, de cette façon cela permet de gagner de la place et de l'argent tout en renforçant la qualité. Chaque mot comprend un ensemble de 14 chiffres codés en binaire, lesquels font 56 bits de longueur chacun. Dix des 14 chiffres sont alloués à la mantisse, un à son signe, deux à l'exposant, et le dernier au signe de l'exposant.
Trois bus sont connectés aux circuits MOS. Le transport des mots se fait grâce à un signal de synchronisation (SYNC) qui est généré par un conteur à 56 états placé sur la puce de contrôle et de base-temps. Un autre bus servant aux instructions (Is) transmet en série de la mémoire ROM à la puce de contrôle et de base-temps ou à la puce arithmétique et registres (A&R). Le troisième bus, appelé sélecteur de mots (WS) joue le rôle de porte auprès de la puce C&T ou des mémoires ROM. Il permet de faire travailler l'unité arithmétique durant une séquence de mot, toutefois l'opération ne se fait que sur une partie du mot seulement comme la mantisse ou l'exposant.


Circuit de contrôle et de base-temps


Le circuit de contrôle et de base-temps (C&T) exécute les fonctions non arithmétiques, ou les fonctions domestiques du calculateur. Celles-ci comptent l'interrogation du clavier, le cheminement ou le statut du système, ça synchronisation, et les modifications d'adressages.
Le clavier est organisé dans une matrice comptant cinq colonnes et huit rangées. La matrice est continuellement surveillée par la puce C&T. Lorsqu'un contact est fait entre une rangée et une colonne, un code correspondant est transmis par la ligne Ia à la mémoire ROM. Ce code correspond à l'adresse de départ du programme en mémoire ROM. Les rebonds et pressions trop longues sont supprimés par un programme de délais.
Dans tous les systèmes digitaux, les statuts des bits ou des drapeaux sont utilisés pour conserver la trace des évènements passés. Dans le HP-35 se trouvent douze bits de statuts, tous alloués sur la puce C&T. Ils peuvent être ouverts, fermés ou interrogés par les micro-instructions.
L'adressage des ROM est mis à jour sur la puce C&T et envoyé en série aux ROM par le bus Ia. Pendant l'exécution d'une suite d'instructions, le signal approprié ­ arithmétique ou statut ­ est testé afin de déterminer laquelle, entre l'adresse d'incrémentation ou d'embranchement, doit être sélectionnée ensuite.
Une caractéristique puissante de l'organisation en série est l'habileté à opérer sur un seul chiffre ou un nombre alors qu'il coule à travers l'unité arithmétique. Sur la puce C&T se trouve un registre de pointage et un sélecteur de mots qui déterminent un signal de sélection de mots (WS) qui correspond au temps d'opération. La valeur du registre de pointage peut être placée, incrémentée, et décrémentée par des micro-instructions.


Mémoire ROM (read-only memory)


Des routines mathématiques préprogrammées sont enregistrées sur trois puces ROM, chacune d'elles contenant 256 instructions de 10 bits. Un code spécifique est assigné à chaque ROM. Seulement une ROM est utilisée à la fois. Lorsqu'une instruction arrive, un décodeur interne à chaque puce vérifie le code correspondant à l'instruction. Si elles sont appelées, seules les mémoires ROM sélectionnées sont activées.
Un circuit de base-temps sur chaque puce ROM est synchronisé avec le signal SYNC produit par la puce C&T dès que le calculateur est activé. Ce circuit permet de synchronisé la puce avec le reste du système.
Un registre d'adressage de la ROM sur chacune d'elles reçoit l'adresse envoyée par la puce C&T. L'instruction correspondante est placée sur la ligne d'instruction Is, lorsque la puce ROM est activée.
La puce ROM distribue également le signal de sélection de mots pour certains types d'instructions.


Le circuit arithmétique et de registres


Le circuit arithmétique et de registres exécute les instructions arrivant sous forme de séries de bits par la ligne Is. La plupart des instructions arithmétiques peuvent être produites par WS, le signal de sélecteur de mots. Les données devant être affichées sont envoyées aux drivers LED sur cinq lignes, et une ligne porteuse transfère le retour d'information à la puce C&T. La sortie BCD est bidirectionnelle et peut transporter des chiffres dans un sens ou dans l'autre à la puce A&R.
Le circuit A&R est divisé en cinq airs : stockage des instructions et circuit de décodage, un circuit de base-temps, sept registres de 56 bits, et un décodeur d'additions et de soustractions ainsi qu'un décodeur d'affichage.
Trois de ces registres sont des registres de travail. L'un d'eux et trois des quatre autres registres forment la pile opérationnelle. Le septième registre est un registre indépendant qui stocke la constante. Il y a de nombreuses interconnections entre les registres pour permettre des instructions comme l'échange, le transfert, la rotation de la pile, et bien d'autres choses encore. Un avantage de la structure en série de bits est que ces interconnections ne requièrent seulement qu'une porte par ligne de programme.
Les transferts entre et hors de la pile ou du registre de la constante sont toujours transférés en entier. Les autres instructions arithmétiques sont contrôlées par le signal de sélection de mots, WS. Cela dit, il est possible d'interchanger seulement le champ des exposants de deux registres, ou d'additionner les deux chiffres correspondants de deux registres.
Le programme d'addition-soustraction effectue la somme ou la différence de deux nombres décimaux. Il y a deux entrées de données, stockage pour la retenue, et addition et sortie pour la retenue. Dans les trois premiers temps, l'addition est strictement binaire. Au quatrième temps, la somme binaire est vérifiée, et si la réponse est supérieure à 1001 (neuf), alors la somme est corrigée en décimal par l'addition de 0110 (six). Le résultat est entré dans les derniers quatre bits du registre de réception et la retenue est enregistrée. Une correction similaire est effectuée pour la soustraction. L'information concernant la retenue est toujours transmise, mais elle est enregistrée par la puce de Contrôle et de Temps seulement au dernier moment du signal du sélecteur de mots.


Le circuit MOS de simulation et de test


Dès l'élaboration des circuits intégrés comme C&T, A&R et les puces ROM, deux questions se sont posées : comment le design peut être contrôlé ? Et comment le circuit intégré peut être testé ?
La première question a deux réponses. L'une d'elles est de construire un banc d'essais et de comparer chaque résultat avec les réponses attendues. Une autre solution est de construire une simulation informatisée des circuits. Quant les circuits MOS du HP-35 furent dessinés, l'approche par simulation informatique fut choisie entre une planche TTL et une planche MOS. Il était convenu que la simulation ne correspondait pas à un modèle exacte des circuits finaux, pourtant deux à trois mois furent épargnés grâce à la simulation, parce que les gens ne peuvent pas travailler en parallèle mais plutôt en série sur la planche d'essais.
Un programme de simulation universelle, HP-DABEL, vient juste d'être développé par Jim Duley des laboratoires HP. Il est utilisé pour vérifier chaque porte de chaque circuit de chaque puce et finalement de toutes les puces ensemble. Chaque circuit MOS est conçu comme un réseau de portes et d'éléments de retard. Pour chaque porte de sortie une équation algébrique fut écrite en fonction des entrées. Cela a produit un large éventail d'équations qui devait être évalué à chaque cycle de l'horloge. Grâce à une sortie imprimée, les opérations des portes et des retards furent observables, comme si cela avait été mesuré sur un oscilloscope. Avec cette précision, la simulation fut meilleure qu'un tableau d'essais.
À cause du grand nombre d'équations devant être évaluées à chaque cycle d'horloge le programme général de simulation était trop lent pour évaluer les algorithmes emmagasinés dans les mémoires mortes. Pour cela, un haut niveau de simulation fut utilisé, aussi seules les fonctions d'entrée et de sortie de chaque sous-système ont pu être précisées. Ceci fut assez rapide pour que tous les algorithmes puissent être vérifiés, y compris les fonctions transcendantales. Si tout allait bien il était toujours possible d'arrêter le programme et de remonter pas à pas pour trouver la faille. Corriger un problème revenait simplement à trouver une carte ou deux. C'est un avantage que ne connaît pas le banc-test figé.
L'approche en simulation a prouvé le succès de l'entreprise. Cela a fait gagner beaucoup de temps, pas seulement sur la conception des circuits logiques, mais aussi sur la réalisation des modèles utilisés pour tester les circuits intégrés. Après le succès de la simulation, un modèle de chaque entrée fut rédigé ce qui permit de construire un circuit d'ensemble virtuel. La mise en route du programme et d'introduction des données d'entrée et de sortie permis de construire un modèle de test complet. Il fut enregistré sur bande magnétique, prêt pour le dernier test des circuits intégrés.


Affichage et contrôleurs (driver)


Rapidement, il fut acquis qu'il faudrait inventer une nouvelle technique d'affichage. Les diodes LED produites alors utilisaient trop de puissance et coûtaient trop cher. HP Associated développa un magnifique boîtier à quatorze broches, comprenant cinq chiffres consommant peu et peu coûteux. Chaque chiffre est surmonté d'une lentille sphérique en plastique moulé. Selon l'angle de vue, il résulte une légère déformation des chiffres, mais pour un calculateur de poche cela n'est pas un problème.
Les LED sont plus efficaces si elles sont intermittentes, produites par un cycle lent constant, que si elle sont contrôlées par une source de courant continu. Dans le HP 35, l'énergie est accumulée dans un condensateur puis lancé à travers les diodes. Cette technique de contrôle permet une grande capacité de multiplexage ; les chiffres sont produits un à un, un segments à la fois.
Les circuits de contrôle bipolaire anode et cathode conçus ici furent développés et fabriqués par HP. Le circuit contrôleur à anode génère un système d'horloge à deux phases et le signal du segment (anode), décode les données du registre A&R et insère le point décimal, envoie un signal de balayage du circuit de multiplexage (cathode driver), et vérifie la charge de la batterie pour allume tous les points décimaux de manière à indiquer qu'il ne reste que 15 minutes d'utilisation. Le contrôleur à cathode contient un registre à 15 positions qui est incrémenté à chaque déplacement de chiffre.

Le Calvier

L'exigence en matière de clavier fut particulièrement difficile. Le clavier dvait être sérieux, pas cher, d'une hauteur limité, et avoir un bon touché. La solution est basée sur un principe dit "bidon d'huile" ou du "criquet", et conciste en un morceau de métal incurvé de telle sorte qu'il possède deux états stables. Le tableau fig.4 montre le circuit métallique gravé de plaques horizontales. A chaque bouton correspond une empreinte au-dessus des contacts du circuit imprimé. En pressant un bouton on fait fléchir le métal qui entre en contact avec le circuit. Les boutons du clavier ont une place définie rendant la question des défectuosités électriques sans intérêt.

Remerciements

La plupart des gens qui ont contribué à la conception du HP-35 l'ont fait avec une grande énergie et un grand enthousiasme. Il y a eu un courant particulier à travers le projet qui devait être pour nous un sensationnel chalenge. Une appréciation particulière doit être portée aux importants contributeurs suivants : Tom Osborne, Paul Stoft, Dave Cochran, Chu Yen, Glenn McGhee, Ken Peterson, Rich Marconi, Charlie Hill, Bill Misson, Dick Osgood, Clarence Studley, Bernie Musch, Jim Duley, Margaret Marsden, John Welsch, Ed Liljenwall, Tom Holden, Neil Honeychurch, et Bill Hewlett.

Vos remarques, vos commentaires...@


à suivre pour...

Algorithmes et précision sur le HP-35

et

L'emballage du calculateur de poche

Le design industriel du HP-35 était de première importance, prenant souvent place devant les considérations électriques.

Par Edward T. Lijenwall

 

Retour à la page d'accueil