Le HP-35 est un exemple de produit extrêmement attrayant, miniature et révolutionnaire. Des calculatrices de poche avec quatre fonctions étaient déjà en vente [anciennement «de poche» ou «portables» ou «portables», elles appelaient l'électronique suffisamment petite pour tenir dans la main et être portable - avant que tout l'équipement ne devienne tel / env. trad.]. Peu pouvaient imaginer une machine capable de faire des calculs scientifiques et de tenir dans une poche de chemise, mais beaucoup avaient déjà commencé à rêver d'une telle chose. Le HP-35 a été développé par Hewlett-Packard, basé à Palo Alto, Californie au 1501 Paige Mill Road, et a été lancé en 1972. C'était la première calculatrice scientifique complète de la taille d'une poche de chemise. Cette invention a révolutionné le métier d'ingénieur, lui permettant d'effectuer des calculs scientifiques presque instantanés et extrêmement précis à la maison, au bureau ou sur le terrain. Le HP-35 était l'aboutissement innovant de la conception mécanique, de la technologie de pointe, du développement d'algorithmes et d'applications - tout cela était unique à l'époque.
Beaucoup d'entre nous se considèrent comme des inventeurs, mais nous devons vraiment nous concentrer sur «l'innovation» - faire des choses dont les autres ont besoin, celles qu'ils veulent acheter. La recherche devrait soutenir le développement du produit final. Si quelque chose de nouveau apparaît à la suite, alors peut-être une invention digne de brevet apparaîtra. De nombreux ingénieurs commencent le développement de l'intérieur, avec du fer, avec le moteur, puis l'équipent d'un boîtier. Cependant, l'analyse des produits les plus performants au cours des dernières décennies montre qu'ils ont commencé à être développés de l'extérieur; L'apparence et l'expérience utilisateur sont une priorité sur les développements d'ingénierie détaillés.
Pendant le développement de la calculatrice de bureau HP-9100, le frère aîné du HP-35, j'ai été responsable du développement d'algorithmes qui pourraient s'intégrer dans l'architecture proposée par l'inventeur indépendant Tom Osborne. Tom a apporté à HP un circuit à virgule flottante à quatre fonctions qui est devenu la base de l'architecture 9100. La méthodologie d'algorithme proposée a été empruntée au calculateur Athena, développé par Malcolm Macmillan, également responsable du calculateur à virgule fixe et des
fonctions transcendantales . J'ai dû lire beaucoup de littérature pour comprendre la technique de différents types de calculs, dont beaucoup ont plus de 1000 ans. Bien que les laboratoires Wang aient utilisé des méthodes de comptage similaires, dans mes recherches, j'ai trouvé des exemples historiques, dont le plus ancien remonte à 1624 - ce qui annule les brevets des laboratoires Wang.

L'étude a permis de maîtriser les fonctions transcendantales (fonction exponentielle, logarithme et fonctions trigonométriques) en utilisant des algorithmes qui répondent aux besoins de l'utilisateur et s'inscrivent dans les limites du fer. Cette approche a été précieuse lors du développement du HP-35, jusqu'à l'utilisation de constantes à 12 chiffres pour générer des fonctions, afin de réduire les écarts à l'unité à la 11ème décimale.
Nous avons soigneusement réfléchi au choix des algorithmes pour le HP-35. Séries de puissance, décomposition de polynômes,
fractions continues ,
polynômes de Tchebychev - tout cela a été envisagé pour une utilisation dans le calcul des fonctions transcendantales. Et tout cela était trop lent en raison du nombre de multiplications et de divisions nécessaires pour maintenir la précision jusqu'au dixième rang à l'intervalle proposé de deux cent dix degrés. Un algorithme généralisé qui convient le mieux aux exigences de vitesse et d'efficacité de programmation pour HP-35 est la méthode itérative de pseudo-division et de pseudo-multiplication, décrite pour la première fois en 1624 par
Henry Briggs dans Arithmetica Logarithmica, puis par Volder et Meggit. Un algorithme du même type était précédemment utilisé dans les calculatrices de bureau HP.
En outre, à la suite de recherches pour le développement de la calculatrice de bureau HP-9100, il a été proposé d'utiliser la
notation polonaise inversée comme base pour le développement du HP-35. Cela a affecté tous les aspects du développement - du nombre de clés à l'architecture de la logique interne. La notation polonaise inverse nécessite que l'opérateur soit entré après les opérandes, à la suite de quoi les parenthèses deviennent inutiles. Cela vous a permis d'entrer des données avec moins de frappes et de simplifier le matériel.
Le projet de calculatrice a commencé littéralement comme une tentative de créer une calculatrice scientifique qui tiendrait dans la poche de
la chemise
«Bill» de
William Hewlett . Après avoir développé la calculatrice scientifique de bureau HP-9100 au milieu des années 1960, Bill est devenu obsédé par l'idée que HP devrait développer une calculatrice avec les mêmes capacités qui tient dans la poche de sa chemise. Une fois tous les quelques mois, il est apparu dans le laboratoire du bâtiment 1U et a demandé comment se déroulait son projet préféré. Il s'est souvent tourné vers moi personnellement, car j'étais engagé dans la recherche d'architectures adaptées aux algorithmes scientifiques que j'utilisais dans le HP-9100.
Bien que la densité des semi-conducteurs ait augmenté chaque année, les
transistors bipolaires ne pouvaient pas convenir à notre projet - ils étaient trop grands et trop consommés. Les structures MOS (métal-oxyde-semi-conducteur; anglais métal-oxyde-semi-conducteur, ou MOS) promettaient une densité élevée et une faible consommation, mais étaient encore au stade initial de développement. Mais cela n'a pas empêché Hewlett d'ordonner à l'équipe de développement industriel du laboratoire HP d'esquisser quelques idées, dispositions clés, etc. qui pourraient tenir dans une poche de chemise. Le laboratoire d'électronique à l'état solide a également travaillé sur des écrans LED basse consommation basés sur des circuits à transistors bipolaires. De divers fabricants aux États-Unis et au Japon, j'ai compilé une grande collection d'architectures semi-conductrices qui ont effectué des calculs simples avec quatre fonctions. La plupart d'entre eux étaient bipolaires, mais certains fabricants ont déjà essayé de développer des circuits MOS avec plusieurs centaines de transistors sur une puce. À la fin de 1970, tout a radicalement changé lorsque Fairchild Semiconductor nous a montré l'architecture de
pMOS , qui semblait très appropriée en tant que candidat pour travailler avec des algorithmes scientifiques, au directeur du département HP.
L' additionneur décimal codé binaire (BCD) et la prise en charge de plusieurs mots de 20 bits dans les registres à décalage avec circulation de l'information ont été très efficaces en termes de taille de puce et de consommation d'énergie. Fairchild n'avait pas de brevet pour cette architecture, car ils l'auraient emprunté à Sweda, un fabricant de caisses enregistreuses électroniques. Ils allaient proposer ce chipset comme plate-forme pour des calculatrices avec quatre fonctions et un point fixe.
Pendant environ deux semaines, j'ai étudié une architecture modifiée basée sur ce que j'ai vu avec Fairchild, et j'ai décidé que je n'aurais besoin que de registres 13 bits (56 bits) et de mots 11 bits; ils ont ensuite été réduits à 10 bits en utilisant une branche conditionnelle imaginaire. Une réduction de 10% du circuit était assez importante. Treize chiffres auraient dû suffire pour une précision de 10 chiffres, avec un bit pour débordement ou report et deux bits de protection. Le mot peut être affiché soit comme une mantisse avec deux chiffres de l'exposant, soit comme un résultat de longueur variable avec un point fixe. Le produit était censé avoir une puce arithmétique et une puce de registre, des circuits de commande et une minuterie, et plusieurs puces ROM. À quelle fréquence une personne a-t-elle la possibilité de développer un ensemble de micro-instructions?
Fairchild a décidé qu'ils ne feraient pas de programme de commande spécial pour HP, nous sommes donc allés voir Bill Hewlett avec le directeur général Tom Whitney et le directeur du laboratoire, en espérant qu'il serait heureux de notre combinaison de technologie et d'architecture qui pourrait tenir dans sa poche. Nous lui avons dit que nous devions commander le développement de plusieurs nouvelles puces pMOS. Et le coût final du produit sera certainement beaucoup plus de 100 $, pour lequel des calculatrices à quatre fonctions ont ensuite été vendues. Hewlett n'était pas sûr qu'il obtiendrait une bonne réponse du développement valant un million de dollars, nous avons donc utilisé le budget existant du département de recherche et développement, et Hewlett a contacté le centre de développement analytique ISR pour lui confier des études de marché indépendantes. SRI a travaillé pendant plusieurs mois, a étudié divers groupes de discussion, etc., et a donné la réponse: ce que HP avait en tête «n'est pas possible d'évaluer».
Les objectifs principaux lors de la création du HP-35 étaient:
- Calculatrice de la taille d'une poche de chemise.
- La capacité de compter les fonctions transcendantales (trigonométriques, logarithmiques, exponentielles) et même la racine carrée (simple).
- La performance de ces opérations dans la gamme de deux cents degrés dizaines, ce qui nous a permis de représenter des nombres de 10 -99 à 9.999999999 x 10 99 .
- L'affichage doit être composé de 15 indicateurs numériques LED à sept segments avec une position appropriée pour le point décimal, qui doit être visible en plein soleil.
- La calculatrice devrait avoir cinq registres pour stocker les constantes et les résultats, dont quatre constituaient la pile opérationnelle - tous les ordinateurs n'avaient pas une telle opportunité à l'époque.
- Quatre heures sur piles rechargeables.
- Prix abordable pour les ingénieurs et les scientifiques.
À quoi devrait ressembler le HP-35? Il devait être de la taille d'une poche - et donc léger et facile à transporter. De quels boutons avait-il besoin, comment s'adapteraient-ils tous à une telle limite de taille? Les utilisateurs accepteront-ils les boutons de préfixe et de suffixe? Comment placer les boutons pour qu'ils soient pratiques à utiliser? Est-il possible d'éviter d'appuyer accidentellement sur des boutons adjacents? La batterie était censée fonctionner pendant plusieurs heures sans recharge. L'affichage était censé être lisible à bout de bras et en plein soleil.
Le développement industriel du HP-35 était une nouveauté non seulement pour Hewlett Packard, mais pour l'ensemble de l'industrie électronique dans son ensemble. En règle générale, les composants mécaniques et électriques d'un produit ont été déterminés avant que son apparence ne soit développée; HP-35 a fait le chemin inverse.
Étant donné que la calculatrice était censée tenir dans une poche de chemise, la taille était la contrainte de conception dominante. Immédiatement, quelques paramètres supplémentaires ont été définis. Le calculateur aura besoin de trois batteries pour atteindre le temps d'exécution indiqué, avec un convertisseur DC / DC très efficace à la tension estimée des semi-conducteurs et avec les exigences de puissance correspondantes. Sur la base du développement des calculatrices de bureau précédentes, le HP-35 a décidé de créer 35 touches (évidemment, n'est-il pas venu avec le nom de la calculatrice après le développement?), Ainsi qu'un affichage à LED à quinze chiffres avec notation exponentielle, point décimal et signes pour mantisse et exposant .
Le design industriel a commencé par l'étude du clavier, du logement, du concept général de forme. À l'aide de croquis et de modèles tridimensionnels, plusieurs facteurs de forme de base ont été étudiés, ce qui a permis une bonne évaluation des formes et des tailles considérées. Du point de vue de la psychologie de l'ingénieur, le clavier a été le moment le plus critique. Le problème était de savoir comment placer 35 touches sur une zone de 6,5 cm x 11,5 cm, tout en conservant la possibilité de travailler avec les touches sans appuyer sur plus d'une à la fois. Il est devenu évident que la norme de l'industrie de 19 mm entre les centres des clés devrait être abandonnée.
Un compromis réussi a été l'utilisation d'une distance de 17 mm entre les centres des touches numériques et de 13 mm pour le reste. Cela est devenu possible après avoir réduit la taille des clés, ce qui a augmenté la distance entre elles. Les touches sont divisées en groupes selon les fonctions. Les groupes sont divisés par taille, contraste, couleur et emplacement. Les touches numériques, comme les plus couramment utilisées, sont agrandies et présentent le plus grand contraste. Leurs désignations s'appliquent directement à eux-mêmes. Le groupe de touches suivant par fréquence d'utilisation est surligné en bleu. La clé d'entrée et les clés arithmétiques sont mises en évidence dans ce groupe par le fait que leurs désignations sont appliquées aux clés elles-mêmes. Les touches les moins fréquemment utilisées ont le moins de contraste et leurs désignations sont imprimées sur le panneau au-dessus des touches.
Les exigences pour le clavier HP-35 étaient particulièrement complexes. Il devait être fiable, peu coûteux, avec des touches basses, agréable au toucher. La décision était basée sur le fait que les bandes métalliques incurvées fixées aux extrémités peuvent avoir deux états stables. Lorsqu'une touche a été enfoncée, ils ont donné un retour tactile, semblable à celui d'un jouet de cricket pour enfants [apparemment, un jouet parmi les enfants aux États-Unis à cette époque / env. trad.]. En HP, un contact à ressort spécial a été développé avec une hauteur de 3 mm. La sensation tactile des touches a permis de bien comprendre le moment où le contact s'est produit.
Le boîtier du HP-35 a été développé en tenant compte de la psychologie du génie et de l'importance de l'apparence. Les bords de la calculatrice d'une forme spéciale permettent de la tenir dans une main. Ils lui permettent également d'entrer facilement dans sa poche. Le clavier et l'écran sont inclinés vers le haut pour les rendre plus faciles à voir avec une utilisation de bureau. La partie supérieure du corps est plus légère que le bas - pour cette raison, le produit semble plus mince qu'il ne l'est réellement. Il semble flotter lorsque vous le regardez dans une utilisation de bureau normale. L'utilisation de textures complémentaires a grandement influencé son aspect élégant global. La texture du boîtier donne une surface antidérapante, ce qui est important lorsqu'il est tenu en main. L'équipe de design industriel, dirigée par Ed Lilienwal, a fait un travail remarquable, ne sachant rien du remplissage du produit.
À cette époque, il n'y avait que des informations générales sur le bourrage électronique de la calculatrice. Le développement et le conditionnement de tous les composants électriques et mécaniques nécessaires dans un petit produit est devenu une tâche titanesque pour les développeurs de composants électroniques et mécaniques et les concepteurs industriels. Le HP-35 n'aurait pas vu le jour sans une relation de travail incroyable entre le laboratoire de développement, les équipes de conception industrielle, de fabrication et d'outillage. Tous ceux qui ont travaillé sur le projet avaient un objectif commun de maintenir leur taille et leur forme d'origine, grâce à quoi de nombreuses innovations techniques ont été inventées. Bon nombre des problèmes rencontrés au cours du développement pourraient être facilement résolus de la manière habituelle, mais alors les principaux objectifs n'auraient pas été atteints et le produit aurait été moins attrayant.

Calendrier de développement -35
Au début de la planification du HP-35, il était évident qu'il nécessiterait de nouvelles technologies d'affichage. Les LED qui existaient alors consommaient trop d'énergie et coûtaient trop cher. HP a développé un écran à cinq chiffres qui économise de l'énergie et des coûts grâce aux lentilles sphériques en plastique intégrées en face de chaque chiffre. Les performances des LED sont améliorées en utilisant un petit
rapport cyclique au lieu du courant continu. Dans le HP-35, l'énergie est stockée dans des inductances et fournie aux LED. Cette technologie a permis d'utiliser activement le multiplexage; les numéros ont été scannés un à la fois, un segment après l'autre. Des tests de fiabilité approfondis ont montré un léger changement d'intensité après plusieurs années de courant d'ondulation avec un rapport cyclique de 0,1%. La lisibilité de l'affichage même en plein soleil était si importante que les segments individuels ont légèrement changé, ajoutant de petits empattements à partir du bord gauche des bandes supérieure et inférieure. Chaque segment a également été modifié afin que le périmètre soit comparable au rapport de surface afin d'obtenir une intensité visuelle uniforme.
L'écran HP-35 a été conçu de manière similaire aux écrans à dix chiffres des calculatrices de bureau HP. Il était composé de 15 chiffres à sept segments et de décimales. Les résultats dans la plage de 10
10 à 10
-2 étaient toujours affichés sous forme de nombres à virgule flottante, qui étaient correctement placés sur l'écran, et le champ de puissance restait vide. En dehors de cet écart, le HP-35 a montré le résultat dans une notation exponentielle avec un point décimal à droite du premier chiffre significatif et une puissance correspondante de 10, située sur le bord droit de l'écran. Pour augmenter la lisibilité du séparateur décimal, son propre segment a été mis en surbrillance.
Il y avait cinq circuits MOS / LSI (semi-conducteur à oxyde métallique / intégration à grande échelle) MOS / LSI dans le HP-35: ROM, circuit arithmétique, circuit de registre (A&R), circuit de commande et temporisateur (C&T). Le circuit logique a été développé par Franc Road et Chan Tang des laboratoires HP, et le circuit électronique a été développé et fabriqué par deux fabricants tiers. Trois circuits bipolaires sur mesure ont également été développés par HP Laboratories et fabriqués par la division Santa Clara de la société - un pilote d'horloge biphasée, un générateur de tension d'horloge et d'anode pour les LED et un pilote de cathode pour les LED. HP-35 a été assemblé sur deux cartes de circuits imprimés. Celui du haut contenait un écran, des shapers et un clavier. Le plus bas, le plus petit, contenait toute la logique du MOS, un shaper d'horloge et une source d'alimentation.

Architecture du système HP-35
Le choix d'une batterie et le développement d'une source d'alimentation n'étaient pas des tâches triviales; Pour augmenter l'efficacité du convertisseur DC / DC, une pile de trois batteries a été utilisée. L'efficacité du convertisseur à transistor unique était supérieure à 80%, ce qui a permis de travailler sur la batterie pendant quatre heures. Comme dans d'autres aspects de la conception, les meilleures personnes ont participé à ce développement; Chu Yen, Ph.D., qui travaillait chez HP Laboratories, a atteint une excellente efficacité, malgré la nécessité de fournir diverses tensions (+7,5 V, +6 V et -12 V, nécessaires au fonctionnement des circuits MOS et des calculateurs bipolaires). Des concepts similaires ont été utilisés pour l'adaptateur secteur / chargeur.
Les données de la calculatrice sont organisées selon une architecture cohérente. Une telle organisation minimise le nombre de contacts de chaque circuit et entre les circuits, ce qui économise de l'espace et des coûts, augmentant la fiabilité. Chaque mot se compose de 14 chiffres décimaux binaires, ou 56 bits. Dix des 14 chiffres sont attribués à la mantisse, un au signe de la mantisse ou pour le débordement lors des calculs, deux à l'exposant et un au signe de l'exposant. Les trois derniers remplissent également une fonction supplémentaire de la catégorie de protection.
Trois bus principaux connectent les circuits MOS. Un à un, il y a un signal de synchronisation mot à mot (SYNC) créé par un compteur ayant 56 états sur la puce de commande et le temporisateur. Sur l'autre bus, les instructions (Is) sont transférées séquentiellement de la ROM aux puces de contrôle et de temporisation ou aux puces arithmétiques et de registre. Le troisième signal de bus, la sélection de mot (WS), sert de signal de sélection généré par une puce C&T ou une ROM. Il donne au module arithmétique une partie du mot, grâce à laquelle il est possible d'effectuer des opérations sur une seule partie du nombre, par exemple, sur la mantisse ou l'exposant. Le diagramme C&T exécute des fonctions de base non arithmétiques ou auxiliaires dans une calculatrice. Parmi eux, l'interrogation du clavier, le suivi de l'état du système, la synchronisation, la modification des adresses des instructions.
Les clés sont organisées en cinq colonnes et huit lignes. La puce C&T l'interroge constamment. Lorsqu'un contact apparaît entre une ligne et une colonne, le code correspondant est transféré vers la ROM. Ce code est l'adresse de départ du programme situé dans la ROM desservant cette clé. Les fausses frappes et les raccourcis clavier sont mis en œuvre par le biais de retards programmables.
Tous les systèmes numériques utilisent des bits d'état ou des indicateurs pour suivre les événements qui se sont produits. Le HP-35 possède 12 bits d'état situés sur une puce C&T. Ils peuvent être installés, réinitialisés et interrogés à l'aide de micro-instructions. Les adresses ROM sont mises à jour sur la puce C&T et envoyées séquentiellement à la ROM. Pendant l'exécution de l'instruction de branchement, le signal correspondant est vérifié - transfert arithmétique ou bit d'état - pour déterminer si l'étape suivante consiste à sélectionner une adresse croissante ou une adresse de branchement.
L'une des principales caractéristiques du travail séquentiel était la possibilité de travailler sur un seul chiffre ou sur plusieurs chiffres d'un nombre pendant qu'ils passaient petit à petit à travers un module arithmétique. Cette conception unique a minimisé l'architecture, ce qui a permis la création du HP-35 à l'époque. Dans le même temps, il s'est avéré combiner des procédures d'addition élémentaires et former des routines extrêmement puissantes qui peuvent être entièrement exécutées en moins d'une seconde.
Par analogie, on peut imaginer les courses de chevaux. Supposons qu'un seul «cheval», c'est-à-dire un peu, passe devant les tribunes en une unité de temps. Ensuite, après avoir passé tous les quatre chevaux, ou bits, il y a des calculs associés à ce chiffre. Le signal de sélection de mot correspond au nombre de chiffres, ou groupes de chevaux, dans la séquence, ou à la période de temps pendant laquelle le cycle complet de travail sur le mot passe.
Les fonctions mathématiques préprogrammées sont stockées dans trois puces ROM, chacune contenant 256 instructions de 10 bits chacune. À tout moment, une seule de ces puces est utilisée et les puces restantes sont désactivées.
Les circuits pour l'arithmétique et les registres exécutent les instructions séquentiellement en bits. La plupart des instructions arithmétiques sont déclenchées par un signal de sélection de mot. Les données à émettre sont envoyées aux conditionneurs de signaux LED et la ligne porteuse retransmet les informations à la puce C&T. La sortie décimale binaire est bidirectionnelle et est capable de transmettre des nombres vers et depuis la puce A&R. Le circuit A&R est divisé en cinq zones: les schémas de stockage et de décryptage d'instructions, un temporisateur, sept registres 56 bits, un additionneur / soustracteur et un décodeur d'affichage. Trois registres sont des travailleurs. L'un d'eux et trois des quatre registres restants forment une pile de quatre registres. Le septième registre est indépendant, utilisé pour stocker des constantes. Il existe de nombreuses relations entre les registres qui vous permettent d'exécuter des instructions telles que l'échange, le transfert, la rotation de la pile, etc.
L'avantage d'une structure à bits cohérents est qu'une seule passerelle par ligne est suffisante pour les communications internes. Le transfert de données vers / depuis la pile ou vers / depuis le registre constant est toujours effectué en mots entiers. Toutes les autres instructions arithmétiques sont contrôlées par un signal de sélection de mot. Par conséquent, il est possible, par exemple, d'échanger des champs de registres de degré deux ou d'ajouter deux chiffres correspondants de deux nombres décimaux. L'additionneur / soustracteur calcule la somme ou la différence entre deux nombres décimaux. Il dispose de deux entrées pour les données, un emplacement pour stocker les transferts positifs ou négatifs, et pour la somme et la sortie des transferts.
Dans les trois premières mesures, l'addition est purement binaire. Sur la quatrième mesure, le montant binaire est vérifié et si la réponse dépasse 1001 (neuf), le montant est corrigé en décimal en ajoutant 0110 (six). Le résultat est ensuite ajouté aux quatre derniers bits du registre de réception et le transfert est enregistré. Une correction similaire est effectuée pour la soustraction. Les informations sur le transfert sont toujours transmises, mais sont enregistrées par la puce de commande et le temporisateur uniquement lors de la transmission du dernier bit du signal de sélection de mot.
Lors du développement de circuits intégrés complexes tels que les puces C&T, A&R et ROM, il faut répondre dès le début à deux questions: comment vérifier la conception et comment vérifier le circuit intégré résultant. Il y a deux réponses à la première question. L'une consiste à réaliser une maquette et à comparer son fonctionnement avec l'opération souhaitée, la seconde consiste à effectuer une simulation informatique du circuit.
Lors du développement de schémas MOS pour le HP-35, une approche de simulation informatique a été choisie. Il a été décidé que la véritable planche à pain ne deviendrait pas un modèle précis des circuits finaux, et à l'aide de la simulation informatique, il serait possible d'économiser 2-3 mois de développement, car les gens pourraient travailler en parallèle et non en série, comme c'est le cas avec la disposition.
Le programme de simulations arbitraires a été développé par Jim Dewley de HP. Il a été utilisé pour tester chaque passerelle, chaque circuit, chaque puce et, enfin, toutes les puces ensemble. Pour sortir chaque passerelle, une équation algébrique a été écrite en fonction de son entrée. En conséquence, pour chaque étape, il a été nécessaire de calculer un grand ensemble d'équations algébriques. Les ingénieurs ont eu accès à une impression des résultats afin de pouvoir observer le fonctionnement de toute passerelle ou conclusions en attente, comme cela se fait avec un oscilloscope. En ce sens, la simulation informatique était bien meilleure qu'une mise en page réelle.
En raison du grand nombre d'équations que chaque étape devait être résolue, le programme de vérification à usage général était trop lent et ne pouvait pas faire face à la vérification des algorithmes développés pour le HP-35. Pour cela, une simulation de niveau supérieur a été utilisée, et il n'y avait qu'à définir les fonctions d'entrée / sortie de chaque sous-système. Il était assez rapide pour tester tous les algorithmes, même pour les fonctions transcendantales. En cas de problème, vous pouvez toujours arrêter le programme et suivre les étapes jusqu'à ce que le problème soit détecté. Le problème pourrait être résolu en changeant simplement quelques cartes perforées - un avantage qui était absent dans la planche à pain.
L'utilisation de la simulation a été très réussie. Cela a permis de gagner beaucoup de temps non seulement sur le développement de la logique, mais également sur la création de séquences de test utilisées pour tester les circuits intégrés résultants. Une fois la simulation sans échec, une séquence d'actions est définie pour chaque entrée, et de manière à impliquer la quasi-totalité des éléments du circuit. En exécutant le programme et en notant toutes les entrées et sorties, vous pouvez obtenir la séquence de test complète, prête pour le test final du circuit intégré.
À ce moment, des estimations du temps d'exécution des programmes ont été faites, et il est devenu clair qu'en utilisant une structure cohérente en bits, il est possible de créer un tel ensemble de circuits qui peut effectuer tous les calculs dans le temps requis, sans dépasser une seconde. De plus, l'adresse de commande et le mot de commande peuvent également être séquentiels en bits.
La complexité des algorithmes a conduit à la nécessité d'une programmation à plusieurs niveaux. Cela signifiait que la calculatrice aurait dû avoir la possibilité d'exécuter des sous-programmes, ainsi que des drapeaux spéciaux indiquant l'état et la séparation de divers programmes. Dans HP-35, l'interrogation et la ramification des bits de drapeau ou pendant le transfert arithmétique sont effectuées par une instruction distincte et ne sont pas incluses dans chaque instruction. Cela vous permet de réduire considérablement la longueur des mots de l'instruction, en perdant un peu en vitesse.
Pour générer une fonction transcendantale, par exemple, arctanh (x) - un arc hyperbolique - il a fallu écrire plusieurs niveaux de sous-programmes. Cependant, l'appel des sous-programmes a été effectué par l'installation de drapeaux, de sorte que les organigrammes et le système de contrôle étaient d'une importance capitale. Chris Claire a décrit plus tard ce système comme une machine à états algorithmiques (ASM). Même les fonctions sinus ou cosinus simples utilisent la routine de calcul de tangente, puis calculent le sinus à l'aide de procédures trigonométriques. De telles manipulations complexes étaient nécessaires pour minimiser le nombre de programmes uniques et leurs étapes, et pour rester dans les trois puces ROM de 750 mots.Un ensemble d'instructions arithmétiques a été développé spécifiquement pour la calculatrice décimale avec des fonctions transcendantales. Les principales opérations sont effectuées par un additionneur / soustracteur avec un code inverse , qui dispose de canaux de transmission de données vers trois registres utilisés pour le stockage.La détermination de la précision du HP-35 en complexité est comparable à ses algorithmes. La calculatrice a un arrondisseur interne pour le 11e rang. Lorsque l'on additionne, soustrait, multiplie, divise et prend la racine, la précision est égale à la moitié du total dans la 10e catégorie. Lors du calcul des fonctions transcendantales, nombre de ces calculs élémentaires sont effectués avec l'accumulation d'erreurs d'arrondi. Lors du calcul du sinus, la division, la multiplication et la soustraction sont effectuées en premier, puis deux divisions supplémentaires, la multiplication, l'addition et l'extraction de la racine carrée. Des erreurs d'arrondi sont accumulées dans ces calculs, ce qui ajoute une erreur générale à l'algorithme principal.La précision et la résolution entrent parfois en conflit. Par exemple, la soustraction de 0,9999999999 à 1,0 ne donne qu'un seul chiffre significatif. Cela devient très important, par exemple, lors du calcul des cosinus d'angles proches de 90 °. Le cosinus de 89,9 ° pourrait être calculé plus précisément en trouvant le sinus de 0,1 °. De même, le sinus de 10 10 dépense les dix chiffres significatifs pour décrire l'angle, car tous les cercles entiers sont supprimés.Le développement du HP-35 était un "rêve". Ce fut un moment de coïncidence idéal - dès que les technologies de fabrication de silicium haute densité sont apparues, j'avais tous les algorithmes pour le HP-9100, et les clients avaient une demande pour l'informatique portable. L'incarnation physique du projet est née sur une planche à dessin pendant plusieurs mois. Quand j'ai vu l'architecture des «courses hippiques» développée sur pMOS, j'ai tout de suite réalisé qu'elle nous conviendrait. Fairchild Semiconductor l'a activement annoncé pour les calculateurs à virgule fixe à quatre fonctions. Et même si ce n'était pas tout à fait idéal pour les algorithmes dont j'avais besoin, je pouvais le faire fonctionner. Lorsque Fairchild a décidé de ne pas corriger le schéma et de ne pas mettre en production HP, j'ai dit à Tom Whitney que nous pouvions tout faire nous-mêmes en repensant AMI et Mostek. Tom a convaincu Paul Stoft et a gardé une trace du projet jusqu'à la fin.J'étais très heureux de pouvoir développer mon propre jeu d'instructions, un véritable ordinateur avec un jeu d'instructions réduit (RISC), car en 1970, il était impossible de placer suffisamment de silicium sur la puce. Chaque instruction devait activer une sorte de logique combinatoire, uniquement ce qui était nécessaire pour le travail. Un mal nécessaire était les instructions exécutées en appuyant sur une touche, car elles n'étaient utilisées qu'une seule fois pour chaque fonction. Au début, il y avait deux instructions de branchement, l'une une branche conditionnelle qui a été exécutée après une opération qui pouvait émettre une césure ou conduire à un changement d'indicateur, et l'autre une branche inconditionnelle. Puisqu'ils ont augmenté la largeur des mots dans la ROM, j'ai décidé de n'utiliser que des branchements conditionnels, ce qui garantissaitque par défaut, je ne l'utiliserai jamais après l'opération d'affectation de condition. Cela a réduit la taille de la ROM de 10%.Il est connu que lorsque nous sommes venus chez Hewlett et lui avons dit que nous pouvions le faire, il a décidé de faire preuve de prudence et de commander une étude marketing auprès de SRI. Il a utilisé l'argent du laboratoire pour payer le développement d'un million de dollars.En cours de prototypage, nous avons organisé plusieurs concours pour «sélectionner le nom d'un enfant», mais Hewlett a appelé la calculatrice «HP-35» par le nombre de clés. Fin 1971, nous avons collecté plusieurs prototypes de calculatrices et les avons remis à des scientifiques célèbres. L'un des premiers était le doyen de la Stanford School of Engineering, Fred Terman, responsable de la collaboration entre Bill Hewlett et Dave Packard. Il était étonné et cherchait toujours le cordon ombilical, qui était censé connecter la calculatrice à un grand ordinateur qui effectuait tous ces calculs. Et que pensez-vous - c'est lui qui a trouvé le premier bug. Il est entré dans un angle de 90 degrés et a appuyé sur la touche TAN. Le module a commencé à clignoter alors que l'algorithme tentait de diviser par zéro. J'ai dû introduire une procédure spéciale qui affichait 10 99 à l'écrandénotant l'infini. Et le lauréat du prix Nobel Charles Townes a été tellement impressionné qu'il a qualifié la calculatrice de «huitième merveille du monde».Le HP-35 a été présenté sans trop de bruit et vendu à 395 $ via les canaux de vente réguliers. Mais ils ont commencé à parler de lui et les commandes ont rapidement dépassé l'offre. Ils ont dit que certains acheteurs étaient prêts à jeter 100 $, juste pour accélérer la mise en œuvre de leur commande. D'autres canaux de vente se sont ouverts - les produits HP, qui étaient généralement vendus par des représentants techniques, ont commencé à être distribués dans les grands magasins. C'était incroyablement étrange de voir le HP-35 aligné sur le comptoir chez Macy's. Le premier lot de 100 000 devait durer six mois; quelques mois plus tard, le plan a été doublé. Mais même après le début de la production, Bill Hewlett n'était pas sûr de la réussite du projet. Une fois au dîner, j'ai mentionné que nous avions reçu une demande de 100 000 dollars de General Electric. Il a dit: "C'est probablement une erreur, pourquoi ont-ils tant besoin?" J'ai répondu: "Peut-êtreils achètent une pièce pour chacun de leurs ingénieurs. » Bill a répondu: "Ils ont juste besoin d'acheter quelques pièces et de laisser leurs ingénieurs s'emprunter des calculateurs."Une attention particulière aux détails dans tous les aspects du HP-35, de la durée de vie de la batterie, de la forme de l'affichage à sept segments à l'emplacement des touches, a payé. Il était possible de prédire le succès du HP-35, car tous les ingénieurs le souhaitaient. Société Dietzgen, qui a produit des règles de diapositives, fermé environ un an après l'avènement d'une calculatrice scientifique de poche. Les écoles du monde entier ont commencé à se poser des questions sur la possibilité d'apporter le HP-35 à la leçon? Il a posé un dilemme à de nombreux enseignants - permettrait aux étudiants qui peuvent dépenser pour la calculatrice 395 $, l'apporter? Mais qu'en est-il des tests? Certaines écoles ont interdit l'utilisation de calculatrices pendant les tests, tandis que d'autres les ont données. Bientôt, dans de nombreux cours, les calculatrices sont devenues obligatoires, car l'enseignant pouvait désormais définir de «vraies tâches» - celles pour lesquelles la réponse n'était pas entière.Et le monde a changé pour toujours.