• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

嶋正利のプロセッサ温故知新

世界初のCPU「4004」開発回顧録(13) --- CPU「4004」を使ったプリンタ付き電卓の開発

嶋 正利=ITpro Watcher 2007/07/17 ITpro

 4004シリーズLSIの開発が終了し,1970年11月下旬に帰国した。私の本来の仕事,プリンタ付き電卓の開発が始まった。

 帰国後,プリンタ付き電卓の機能の仕様を決め,電卓用プログラムの作成に着手した。同時に,開発支援システムのような試作用エンジニアリング・システムを作った。試作用エンジニアリング・システムを,4004CPU,市販SRAMを使った4001ROMエミュレータ,4002RAM,4003SR,電卓用プログラムをROMエミュレータに読み込ませるために,科学技術計算用電卓に搭載していたIBM風カードリーダー,PDP-1風の表示付き操作盤などで構築した。4004CPUのシステムバスとROMエミュレータとのインタフェースをインテルから供給されたMOSトランジスタを使って作成した。

 操作盤には,ROMエミュレータへの12ビット分のアドレス入力スイッチ,8ビット分のデータ入力スイッチ,書き込みボタン,ROMエミュレータに格納したデータの出力表示,4004システムバス上のアドレス出力と命令入力とデータ出力などの表示,そしてリセット・ボタンを設けた。


図1 電卓の試作器に使用したカードリーダー

 ただ,プログラミング言語の開発までは手が回らず,プログラミングには機械語を使用した。インテルでは,電卓用プログラムの完成後にROMのマスク情報をインテルに渡す手段を用意できなかった。そこで,プログラムのマシンコード(命令)や定数に相当するROMのバイト情報をROM内のマスクに対応する位置にマークを付け,ROMのマスク情報をインテルに送ることを決めた。

 最終的な電卓用プログラムを作成し,1971年3月に完成した。プログラムの総容量は1Kバイト以内だった。電卓の応用プログラムは約250バイト,電卓向けマクロ命令用プログラムは約400バイト,電卓向け言語用インタプリタとキーボード制御とプリンタ制御は約350バイトとなった。平方根演算機能はオプション機能とした。

 試作用エンジニアリング・システムも完成し,一日千秋の思いで4004CPUの到着を待った。インテルから4004CPUが3月に完成したという情報が入った。1971年4月に入ると,待ちに待った4004CPUが羽田に到着した。


図2電卓の試作器に利用した科学計算用電卓のIBM風カード

 いよいよ待ち待った火入れ式である。4004CPUを試作用エンジニアリング・システムに組み込んだ。カードリーダーを使って,命令自体をテストする簡単なテストプログラムを読み込ませた。胸のドキドキする鼓動が自覚しないでもハッキリと聞けるほど緊張していた。

 表示されたプログラムの結果を見ると,4004CPUは確かに正常に動作しているようだった。さらに,いくつかの複雑なテストプログラムを使って4004CPUの動作確認を行った。それまでに現れたすべての現象は,4004CPUが正確に動作していることを示していた。集まって来た人たちの視線を背中に熱く感じた。

 もう待てなかった。カードリーダーを使って,25枚のプログラム用パンチカードに打ち込んだ1Kバイトのプリンタ付き電卓用プログラムを読み込ませた。ROMエミュレータに入力したプログラムを読み出して表示すると,すべてのプログラムは正常に格納されていた。

 あとは,試作用エンジニアリング・システムのリセット・ボタンを押して放すだけだった。周りには10人ほどの技術者が集まっていた。物凄いプレッシャーを背中に受けた。失敗への恐れはなかった。ただ,会社の経営へ与える影響を考えると,巨額の資金を使い2年間かけたプロジェクトの成否が強いプレッシャーとなっていた。

 一息ついてリセット・ボタンを押した。ところが,リセット・ボタンを放せない。放せば,結果が出る。結果を早く確かめたいが,ボタンを放すのが怖い。永遠に見なくて良いのであれば見たくなかった。電卓のLSI化を開始して以来の2年間の成果が目前にあった。成功すれば天国への切符が手に入り,失敗すれば地獄行き切符となる。

 思い切って,リセット・ボタンを放した。電卓が始動し,プログラムがスタートした。プログラム・カウンタのアドレスを表示しているモニターを見ると,キーボードをスキャンしているプログラムが実行されているようであった。

 もう待てなかった。数字キーを押し,次に加算キーを押した。プリントされるまでの時間が随分と長く感じた。プリンタがうなりを上げ動作を開始し何かを印字した。大学入試の結果を見に行って,自分の試験番号が載っているはずの紙が張り出されたとき以上の緊張感があった。目は引きつり,頭はボーとして,高血圧症になったみたいだ。自分の目をどこに置いていいのか,目の置き場所に困った。周りは良く見えたが,プリンタだけは無意識に見ていなかった。どのくらい経ったのかわからないが,プリンタに目をやると,幸運なことに,プリンタは入力した数字と加算記号を正確に打ち出していた。次に,数字と加算キーを押し,最後に合計キーを押した。

 「動いた!」。心臓がブルブルと動いて,体が急激に熱くなっていった。不思議と頭だけは醒めていた。思わず,ヤッター!と叫んだ。ヤッター!ヤッター!ヤッター!の連発だった。次々と,いろいろのキーを押し,電卓の機能の検証を始めた。何時間,何日経ったか覚えていないが,非常にスムースにプログラムのデバッグが終了した。

 終わってみれば,意外とあっけないマイクロプロセッサとマイクロプロセッサを使った電卓の誕生であった。私にとっては,4004CPUの開発は電卓開発に必要な部品作りであったので,4004CPUの誕生よりも,1971年4月にプリンタ付き電卓が完成したときのほうがはるかに喜びが大きく,感激し,自慢したくなった。電卓の試作機のリセット・ボタンに手を触れたときの感触と,リセット・ボタンを放す時の希望と不安が入り混じった胸の鼓動とを今でも覚えている(次回に続く)。

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る