コンテンツにスキップ

このWebサイトは、管理人が個人的に書き留めている備忘録です。それ以上でもそれ以下でもありません。
誤記・誤解・誤謬を含め、記述内容の確度を一切保証しません。責任を負いません。問い合わせ等を受け付けません。
This Mediawiki is a personal memorandum written by Administrator, nothing more, nothing less.
Administrator do NOT guarantee accuracy of content, including any errors, misunderstandings, fallacies, take NO responsibility, do NOT accept inquiries anything of the sort.

HP-35

提供: Memorandum
2024年12月26日 (木) 12:14時点におけるWebmaster (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

1972年2月1日〜1975年11月30日に発売された世界初の可搬型ポケット関数電卓にして、HP初のポケットRPN電卓。当時のポケット電卓は四則演算しか行えず[1]、関数電卓は机上設置型デスクトップ[2]しか無かったところに、ポケット関数電卓が登場したことは驚きと賞賛を以て迎えられ、395ドル(121,660円)と高価格[3]ながらも、初年度だけで事前に予測した販売台数の10倍である100,000台、販売終了となった1975年11月末までの約3年半で総計300,000台以上と爆発的に売れ、エンジニアや科学者の机上と胸ポケットから計算尺を駆逐した。まさに現在のパーソナルコンピュータの礎の1つである本機は、2009年にIEEEマイルストーン認定されている。

目指すは“計算尺からの置き換え”

非常に有名な本機は、電卓マニアによってアーキテクチャがハックされ続けているが、HPも自ら公開している。ハードウェアは5個のMOS LSI、3個のバイポーラIC、3個の5桁7セグメント赤色LEDモジュールで構成され、MOS LSIとバイポーラICの論理設計、および、バイポーラICと5桁7セグメント赤色LEDモジュールの製造は自社のカリフォルニア州サンタクララにあった事業部(HP Santa Clara Division)が、MOS LSIの製造はMostekAmerican Microsystems (AMI、現在のOnsemi)が、それぞれ担当した。MOS LSIは演算回路(Arithmetic and Register circuit: A&R)が1個、制御回路(Control and Timing circuit: C&T)が1個、演算アルゴリズムと演算ロジックを含むソフトウェアを格納したROMが3個(1個の記録容量は2,560ビット、1命令に10ビット割り当てられているため、1個で256命令。それを3個実装したため合計で最大768命令)、バイポーラICは二相クロックドライバ、LEDアノードドライバ兼クロックジェネレータ、LEDカソードドライバが、それぞれ1個ずつ実装されている。数値の表示は7セグメント赤色LED[4]を採用したが、演算回路や制御回路と較べてLEDは消費電力が大きいため、少しでもLEDによる消費電力を低減すべく、発光面積を減らすために各桁に拡大レンズを載せるという涙ぐましい奇策も繰り出しており、それを5桁で1モジュール化した本機専用の5桁7セグメント赤色LEDモジュールをわざわざ自社開発した。

各半導体間の配線を極限まで簡素化するため、A&Rは、その後のHP製RPN電卓で主流となる方式と異なり、14桁の56ビット長BCDを、1クロックで1ビットずつ処理する「1ビットシリアルプロセッサ」として設計された。14桁の割り当てはその後に主流となる方式と同じで「1桁が仮数部正負符号」「10桁が仮数部」「1桁が指数部正負符号」「2桁が指数部」である。スタックはその後に主流となる方式と同じ3+1段が用意されているものの、スタック用に割り当てられたRAMは揮発性なので、電源を切ると全てのスタックの内容は消失する。また、本機特有の仕様として、本機で三角関数を演算する際は最上位スタック(スタックT)を作業用レジスタとして使用するため、それまでスタックTに格納していた数値は強制的に上書きされ消失する。プログラミングもできない本機の附属操作マニュアルは至って簡素で、「(主な購買層である)エンジニアや科学者が一読して理解できれば良いだろ」と言わんばかりの、RPNの概念と操作方法と仕様を簡単明瞭に記述した中綴じ36ページの小振りなパンフレット[5]が1部だけである。

実装した関数は、四則演算 +  × ÷ の他に、度数法での三角関数 sin cos tan とその逆関数 arc 、常用対数 log 、自然対数 ln とその逆関数 ex 、逆数 1x 、開平 x 、冪乗 xy[6]、円周率 π だが、これらをたった767命令で実行・演算していることに驚く。先述した通り、本機のROMは最大で768命令しか実装できない。そのため開発陣は、この限られた命令数から逆算し、どのような命令を作成すれば、それらを最大限駆使することで、実装した関数の演算結果にどこまで精確さを持たせられるか、演算アルゴリズムと演算ロジックの精査を強いられた。最終的な販売価格と演算結果の精確さを見極めた結果、「冪乗の演算は対数で実行するため誤差が出る」ことをマニュアルで明記[7]し、現代の関数電卓では当たり前に実行できる「弧度法での三角関数/逆三角関数の演算」は諦めることにした[8]。こういった判断は、本機に実装した関数が、当時の科学者やエンジニアが無理数の概数を得るために個人が購入できる計算用具であった計算尺が対象としていた関数であることに由来し、計算尺を使い熟すには相当な訓練が必要[9]であることから、本機の開発を指示したHP創業者の1人であるBill Hewlettは明確に「計算尺からの置き換えを狙って本機を開発させた」と推定される[10]。尤も、Bill Hewlettは本機を「デスクトップRPN関数電卓のHP 9100A/Bがポケットに入れば、HP社内で需要はあるだろう」と読んで開発させたようで、当初は社内向けを含め50,000台程度の販売を見込んでいたのだが、当時は一部分野で競合関係にあったライバル企業のGeneral Electricから20,000台を受注する等、本機の生産台数は大幅に上積みされることになる。管理人が所有しているのは全てアメリカ製だが、想像以上に売れたためか、日本を含むアメリカ国外で販売する分はシンガポールで製造するようになった。

1972年の半導体製造技術ではMOS LSI[11]もLEDも消費電力が大きかったため、本機は基本的に純正ACアダプタ(HP 82002A/B/C)で給電しての使用を前提にしているが、電池ボックスに装着する形で内蔵する純正充電池(HP 82001A/B)を満充電することで最長3時間はコードレスで使用できる。HP 82001A/Bは遥か昔に販売を終了しているため、現代で本機を使用するにはHP 82002A/B/Cが必須だが、HP 82001A/Bの実態は「単3形Ni-Cd充電池を3本直列にして簡単なプラスティックの枠に納めたもの」なので、枠を慎重に殻割りして新品の単3形充電池[12]と入れ替えることで復旧できる他、その外形故、様々なベンダからHP 82001A/Bの代替となる充電池が販売されており、充電池の入手には困らない。

様々な逸話

世界初のモノを開発するときは、様々な逸話ができる。ご多分に漏れず、世界初のポケット関数電卓である本機の周辺も様々なネタが転がっている。

  • Bill Hewlettは開発陣に「私のシャツの胸ポケットに入る大きさにせよ」と条件を出した。本機の外形は最終的に幅82mm×奥行145mm×高さ25mmと大振りに仕上がってしまったが、彼が長身で大きなシャツを着ていたことに開発陣は救われた。これに肖ったのか、本機附属マニュアルの序文はSHIRT POCKET POWERというタイトルが付されている。
  • 実装した演算アルゴリズムの正確性を検証するため、当初は大型コンピュータであるバロース B5500の演算結果と比較していたが、精度が足りず続行不可。已むを得ずIBMのメインフレームに切り替えたものの、やはり精度が足りず中止された。これは、ポケット関数電卓である本機に実装した演算アルゴリズムが当時最新鋭のメインフレームと同等以上の精度がある[13]ことを意味していた。
  • 本機は1972年に世界で初めてNASAにより宇宙に出た関数電卓である。1973年5月〜1974年2月にはNASAの初代宇宙ステーションであるSkylabでも使用された。
  • 発売当初、本機には型番や名称を付与しておらず、単にThe Calculatorと呼んでおり、本体正面に貼付されたラベルもHEWLETT・PACKARDと社名だけ書かれたものだったが、本機の物理キーが35個あることから、Bill HewlettがHP-35と後付けで型番を付与した。これを受け、後述のバグ対策ROMを載せたVer.3から、本体正面のラベルも型番が追記されたHEWLETT・PACKARD 35に差し替えられた。
  • 本機が既に25,000台ほど売れた後、現在では夙に有名なバグが摘出された。Ver.1とVer.2のROMでは eln2.02=2.02 であるべきが2誤算してしまうのだ。この件にどう対応するか、HP社内では侃々諤々の議論が交わされたが、最も簡単であろう「バグの存在を握り潰す」のではなく「顧客へ正直に報告し、バグ対策したROMへの無償修理リコールを実施する」ことに決定、その旨がアナウンスされた。当時の本機ユーザはHPの実直かつ誠実な対応に感動し(またはこのバグを内在した機体のほうが後々価値が出ると考えて)、大半のユーザはバグを承知で未対策品を使い続けることを選択、無償修理を申し出たのは約⅕の5,000台程度に留まった。なお、本機は約3年半で4回改修されている。
  • このバグを教訓に、1974年、HPはカナダの数学者で計算機科学者のWilliam Kahanをコンサルタントとして招聘、共同で演算アルゴリズムを大幅に改良した。Kahanはその後、HP-12C/HP-10C/HP-11C/HP-15C/HP-16CなどHP-10Cシリーズの演算アルゴリズム設計とマニュアル執筆にも関わることになる。
  • 本機開発当時はこれ以外の選択肢が無かったとはいえ、表示部にLEDを採用したことは本機の消費電力を吊り上げる要因であり、充電池による稼動時間を短くしている。よって、充電池による稼働時間を少しでも延ばしたいなら、演算時のみ電源ONにする等、頻繁に電源スイッチをOFF/ONすることになるが、本機の電源スイッチは機械式スライドスイッチなので、OFF/ONを頻繁に繰り返すとスライドスイッチの摺動部が摩耗し、やがて電源スイッチだけが故障することが考えられる…このジレンマに対し、ユーザの間では、電源はONだが演算しない時は小数点  を1回以上押下して、表示部に点灯させるLEDを小数点.だけとするライフハック(というかバッドノウハウ)が流行した。これは、本機では電源ON直後やメモリクリア CLR もしくはスタックXクリア CLx 押下後に0.と表示させた後に小数点  を1回以上押下すると.のみが表示されるという動作仕様を利用して、0を表示させる分の消費電力を削減する、という意図に依る。特長でも記した通り、キーボードの元になる基板には金メッキが施されているため、機械式スライドスイッチより摩耗に強い造りであり、また、発光するLEDも大幅に減るため、この流行は理に適っている。
  • 本機の開発期間は2年、従事した開発陣は20名、開発費は約100万ドルだったが、本機は300,000台以上売れたため、単純計算でも投下した開発費の100倍以上の収入を得られたことになり、HPにとっても空前の大成功を収めた製品となった。これによりHPは(関数)電卓事業への本格参入を決断する。

本機を入手すること自体は比較的容易で、Ver.3とVer.4はeBayをはじめとする中古市場やオークションサイトに結構な頻度で出品されるものの、約50年前の製品なので、表面に印刷された文字が擦れて消えていたり、HP 82002A/B/Cが附属してなかったり、HP 82001A/Bが容量抜けしていたり(これは先述の手順で復旧可能)、7セグメント赤色LEDの輝度が落ちて数字が正常に表示できなかったりと、美品や完動品は希少になりつつある。Ver.2が出品されるのは非常に稀で、完動品であれば2020年現在で500ドル以上の売値が付けられる。Ver.1が出品されることは皆無に等しく、管理人は3度しか見たことが無いが、3,000〜4,000ドルの売値が付けられたにもかかわらず数日で売れている(勿論、管理人には手が出ない)。管理人が所有しているのは経年に比して美品かつ完動品のVer.2〜4だが、この希少性故、Ver.3とVer.4は複数台所有しているものの、Ver.2は1台しか所有していない[14]

tan355226 [rad]=tan(355226×180π) [deg]=7462686.567 (εR=4.61×103)

(ln884736744π)2=43.00000001

スタック 3+1段
プロセッサクロック周波数 200kHz (Classic)
使用電池 HP 82001A/B (3.6V 450mAh/900mAh 充電池:中身は単3形Ni-Cd充電池×3個直列)
製造期間 1972年〜1975年
製造国 アメリカ、シンガポール
1972年発売当時の定価 395ドル (約120,000円)

脚注

  1. 世界初の1チップポケット電卓(四則演算のみ)は1971年6月に定価89,800円で発売されたビシコンBusicom LE-120Aである。つまり、世界初の1チップポケット電卓が発売された8ヶ月後に世界初のポケット関数電卓である本機が発売されたことになるが、Busicom LE-120A1970年に開発を開始したので、ビシコンとHPはほぼ同時にポケット電卓の開発を開始したことになる。しかも核となるMOS LSIによるマイクロプロセッサの製造元は同じMostekである。当時Mostekがこの事実に何を思ったかは知る由もないが、技術的難易度からすれば関数電卓のほうが高度であるの言うまでもなく、1970年代初頭の日米間には技術力とマーケティング力に歴然とした差が有ったと断言して問題無かろう。
  2. 電卓の正式名称は電子式卓上計算機なので、ある意味では正しい。HP製RPN電卓でいえばHP 9100A/BHP 9810A等が該当する。
  3. 日本では横河・ヒューレット・パッカード株式会社(YHP)から99,500円で販売。1972年の大卒初任給が52,700円だったので相当高価である。ただ、1971年12月18日〜1973年4月18日はスミソニアン協定により1ドル=308円の固定相場制だったことを考慮すると、日本国内向けの価格は約2割引されてはいる。ちなみに、当時の日本がアメリカへ輸出していた四則演算のみの電卓が100ドル、計算尺が20ドルだったようだ。なお、本国では、発売から3年後の1975年2月に195ドルへ値下げされているが、これは同時期に本機の後継機種であるHP-21を125ドルで発売したからである。HP-21は本機よりROMが2,560ビット拡大されたことで、弧度法での三角関数および逆三角関数が直接演算できたり、10の冪乗 10x が内蔵関数として実装されたりと大幅に改善されているため、先発機種である本機より高価に設定するのが自然だと思うが、演算できる有効桁数が本機より2桁少ない10桁(指数表記では仮数部8桁、指数部2桁)であるため、無理数を扱うことが殆どの関数電卓では有効桁数が多ければ多いほど数学的な正解に近い演算結果が得られるという商品の性格から、後発のHP-21を安価に設定したようだ。
  4. 現代なら目に眩しい赤色が採用されることは無いだろうが、HPは1971年以降に開発・発売した第二世代のRPN電卓でも表示部に赤色LEDを採用している。本機が発売された1972年は緑色LEDが発明された年だが、緑色LEDを採用しようにも発明されたばかりで技術的にも価格的にも熟れてないうえ、一般にLEDは点灯させる光の波長が短いほど高電圧が必要であるにもかかわらず消費電流は同じなので、緑色(495〜570nm)は赤色(620〜750nm)より短波長=赤色より高電圧(実測で約1.5倍)が必要=赤色より消費電力が(約1.5倍)増えることになり、充電池で駆動する電卓の表示部に緑色LEDを採用する理由が無い。コストや自社が持つノウハウなどからも、1962年に発明された赤色LEDしか選択肢が無かったと思われる。なお、HPがRPN電卓に液晶ディスプレイを初めて採用したのは、1979年7月1日発売のHP-41Cである。
  5. 世界の書籍生産統計を作成するUNESCOによるパンフレットの定義A pamphlet is a non-periodical printed publication of at least 5 but not more than 48 pages, exclusive of the cover pages, published in a particular country and made available to the public である。本機のマニュアルは、表紙を除き序文を含めると46ページで、アメリカで発行され、本機を購入すれば誰でも入手可能な、非定期的な印刷出版物なので、UNESCOによるパンフレットの定義と合致する。
  6. 歴代のHP製RPN関数電卓で本機だけ、冪乗のスタック配置が逆である。例えば 23 を演算させる場合、他機種のように yx であれば 2 ENTER 3 yx とRPNらしく素直に入力できるが、本機では 3 ENTER 2 xy と羃指数を先に入力する必要がある。これは、本機の命令数の制約から常用対数 log の逆関数である10の冪乗 10x の実装が見送られたため、スタックXの真数を演算する際にキーイン数が最小となる 1 0 xy で済むよう、敢えて入れ替えたといわれている。
  7. マニュアル9ページ下部にThe HP-35 performs xy with an internal program using logarithms and the answers are not always exact to the last decimal place. For example, 82/3=4, but if you key 2 ENTER 3 ÷ 8 xy you get 3.999999999. Call it 4; the error is .000000001, or only one billionth! とある。いくら10億分の1の誤差とはいえ中学生以下の演算結果なのだが、勿論ここで引用されている例はHPが提示した最も誤差が小さい(都合が良い)もので、23 や 32 といった単純な演算でも、本機の内蔵関数である冪乗 xy ではそれぞれ8.0000000029.000000006と、誤差を含んだ結果を出力する。手入力であれば問題無く、2 ENTER ENTER × × は83 ENTER × は9と、それぞれ正解を出力するが、裏を返せば、羃指数が無理数であったり他の演算で得られたスタックの値であったり等、手入力できない値であるため已むを得ず内蔵関数の冪乗 xy で演算させた結果は、現代の関数電卓と較べるまでもなく、心許無いということになる。概数しか得られない計算尺よりは精確な結果が得られるため良しとしたのだろう。
  8. 計算尺では、弧度法で三角関数と逆三角関数を直接使用できず、別尺で度数法⇔弧度法を変換してから概数を得る。本機であれば、弧度法の定義に従って、弧度に180πを乗じて度数に、度数にπ180を乗じて弧度に、それぞれ変換して演算させれば良い。
  9. それまでの旧制学制では算盤の使用方法のみが教授されており、1947年(昭和22年)の学習指導要領では旧制中学3年で「そろばんを使って,加法や減法をすること。」、旧制中学5年で「乗法や除法をそろばんを使ってすること。」と定められていたが、1951年(昭和26年)に改訂・施行された学習指導要領では、学制改革による移行措置が完了したことも相俟って、中学校と高等学校の数学科で「計算尺の使用方法」が正規のカリキュラムとして採用された。新制中学校数学科では「乗・除の計算法としては中学二年になって,計算尺による方法が指導されることになっている。」、新制高等学校数学科では「計算尺の原理を明らかにし,その使い方に慣れること。」と明記され、計算尺の使用方法は必修となったが、裏を返せば、計算尺は使用方法を教授されなければ使えないことを示している。当然、教授されずとも誰でも使える(関数)電卓が一般家庭に普及すると計算尺は急速に廃れ、1970年(昭和45年)告示・1973年(昭和48年)施行の学習指導要領では早くも高等学校数学科から計算尺に関する記述が削除されて教授されなくなり、中学校数学科でも1977年(昭和52年)告示・1980年(昭和55年)施行の学習指導要領で「図形の計量,統計などにおいて数値計算を行う場面では,必要に応じて,そろばん,計算尺又は計算機を使用させて,学習の効果を高めるように配慮するものとする。」と記述されたのを最後に、計算尺に関して教授されなくなった。これらの変更が、1972年(昭和47年)に爆発的なヒット商品となったカシオミニの登場による電卓のパーソナル化と同時期であることを指摘するのは野暮というものだ。
    1975年生まれの管理人は、先述の1977年(昭和52年)告示・1980年(昭和55年)施行の学習指導要領で小学校・中学校と学んだが、中学の数学の授業では、計算尺はおろか、算盤やコンピュータについて一切触れられなかった。学習指導要領に“必要に応じて”と記述されていることから、当時通っていた公立中学校の数学科教師陣はこれらを“必要ではない”と判断したのだろう。今でも明確に覚えているのは、小学6年のときに「算数の授業で使うから」と父親の関数電卓と母親の算盤を持参したことだが、これは同時に改訂・施行された小学校算数の学習指導要領に「計算の技能の指導に関連して,そろばんや計算機を第5学年以降において適宜用いさせることは差し支えないが,この場合は,概算によって見通しを立てるなどの能力の育成を妨げないように配慮する必要がある。」と記述されていることを受け、当時の担任教師が持参させたからだ。この教師は専門が数学だったようで、この学習指導要領では中学3年で教授されることになっている「平方根の概念」と「記号xの存在」を小学6年の算数の授業で管理人を含む同級生の児童に教えており、かなりの数学好きだったことが窺える。なお、学習指導要領の記述で「計算機」が「電卓」に置き換わったのは、次回改訂にあたる1989年(平成元年)告示・1992〜1994年(平成4〜6年)施行の向けが初である。
    ちなみに、算盤の使用方法は、遅くとも1947年(昭和22年)から現在まで途切れることなく、小学校算数の学習指導要領に記述され続けている。計算尺同様、使用方法を教授されなければ使えない計算用具である算盤が学習指導要領に記述され続けている理由は、両者の製造精度と演算結果の差だろう。算盤は比較的簡単かつ安価に製造できるうえ演算結果に誤差が無く、暗算が速くなる副次的効果も得られるが、計算尺は目盛りを対数で刻むため製造精度の維持に一定水準以上の技術が必要なことから高価なうえ演算結果には必ず誤差が含まれる概数しか得られない。教授されなければ使用できない計算用具として両者を比較すれば算盤が勝るのは言うまでもない。
  10. 本機附属マニュアルの序文SHIRT POCKET POWEROur object in developing the HP-35 was to give you a high precision portable electronic slide rule. We thought you'd like to have something only functional heroes like James Bond, Walter Mitty or Dick Tracy are support to own. という一文で始まることからも判るとともに、1972年時点ではポケット関数電卓が、冗談半分で“架空の主人公が近未来を予感させる世界で使う夢のガジェット”に喩えるような扱いだったことが読み取れる。
  11. 本機発売後の1972年9月12〜14日にアメリカ・サンフランシスコで開催されたIEEE Computer Society Conference "COMPCOM72"で、HPとMostekが共同で"MOS CIRCUIT DEVELOPMENT FOR THE HP-35"と題した発表をしている。その中でMostekからHPへの報告としてTo achieve low power dissipation in these logic arrays we planned to use appropriate circuit design, and our ion-implanted depletion P-channel process.とあるため、これら3個のMOS LSIはイオン注入法によりpMOSで製造されたことが判る。この発表にはそれらMOS LSIの消費電力も書かれており、電源電圧5Vで、A&Rが20mW、C&Tが50mW、ROMが3mW(「1mW消費するROMが3個だから」と推定されるが明確な記述なし)とある。なお、本機底面に貼られた銘版には「3.75V, 500mW」とある。
  12. RPN電卓マニアによる充電回路の解析や実験で、交換する充電池がNi-CdではなくNi-MHでも問題無いことが確認されているため、同じ形でも充電容量が2倍以上多いNi-MHへの置換が急速に進んでいる。
  13. 翻って当時の日本では、本機の発売から遅れること2年、1974年5月にカシオ計算機株式会社が発売したfx-10(定価24,800円)が日本メーカによるポケット関数電卓の嚆矢だが、本機発売から2年経過しているにもかかわらず実装された関数が本機より少なく(逆三角関数が演算できない)、演算結果の精確さも本機と較べて大幅に劣っていた(有効桁数6桁を謳っているが、演算結果が正解と一致するのは4桁)。例えば sin30 の演算結果として0.5ではなく0.499999を出力した。これでは高校生以下である。事程左様に、当時の日米間の技術力には圧倒的な差があったのだ。このことから、「関数電卓=HP」「HPのRPN関数電卓を使い熟せてこそエンジニアは一人前」と言われていた。
  14. 所有するVer.4のうち、シリアル番号が1249で始まる1台だけ、Ver.1とVer.2だけが持つはずの eln2.02=2.02 を2と演算するバグを抱えている。ハードプラスティックケースに長年封入されていたらしく、本体が異常に綺麗な完動品だったので購入したのだが、シリアル番号が1249で始まるVer.4は、バグありのものと交換されている可能性があるという情報から、今回はそれを把んでしまったようだ。なぜそのような交換が行われたのかは不明だが…。