ホフの提案を受け,この頃から,ソフトウエアとハードウエアの両方を理解できる私がインテルとの交渉の前面に出るようになった。インテル側でもソフトウエア技術者であるスタン・メイザー(S.Mazor)を雇い担当者に加えた。

 ソフトウエア技術者の加入によりコミュニケーションは良くなったが,ビジコン側からの提案や改善策を横取りする傾向が見られた。したがって,4ビットの2進コンピュータの仕様を決めるために必要な最低限の情報とプログラム例のみを開示することにした。問題点を解決するために改善策は,2度にわたって提案され議論された。

 第一次改善策として,1番目の問題(前回の記事を参照)を解決すべく,システムをLSI部品のみで構築するための交渉を始めた。プロセッサばかりでなく,プログラムを格納するROMとデータを格納するRAMなどをファミリーLSIとして開発することが合意された。LSIのみでシステムを構築することをインテルに合意させることは,譲ることのできない最も高い優先順位であった。

 しかし,LSIのみでシステムを構築するビジコン案をインテルに納得させるのは易しい仕事ではなかった。というのは,インテルはメモリー専業の半導体会社であり,さらに,コンピュータ界出身のホフにとっては256バイトのメモリーはほんの僅かな容量であった。ところが,当時のメモリーはコンピュータ会社に販売していたため,電卓メーカーが大量に使える価格帯の製品ではなかった。ROMとRAMをファミリーLSI製品にすることにより,価格を電卓向けにすることに成功した。

 次に,メモリー用16ピン・パッケージを使うために,プロセッサとROMとRAMを双方向性システムバスで直結させる方式を共同で考案した。4ビットのシステムバスを時間分割して使い,最初の3クロックでアドレスを送出し,次の2クロックで命令を読み込み,最後の2クロックで命令を実行する方式であった。さらに,究極のRISCプロセッサともいえる,メモリーへのアクセス命令をアドレス送出命令とデータ転送命令の2つの命令に分割することをホフが考案した(IBM 1400シリーズに似ている)。

 最後に,使用トランジスタ数の削減のために,メモリーへのアクセス命令では,プロセッサとRAMとROMの全てに命令解読機能(図1のROMとRAMに設けたコマンドレジスタ)と命令実行機能を分散配置させる基本方式をホフが考案し,私が詳細な仕様を決めた。命令の実行には固定したクロック数を使用することが合意された。共同で考案したシステムバスは,1972年にIEEEの学会で," The MCS-4 An LSI Microcomputer System "という題名で共同名を使って発表された。

 9月の下旬頃にホフの描いた図(図1は議論をしていた9月初旬には図面化はされていなかった)は,ホフの提案とビジコンからの要求との折衷案であった。その折衷案のシステムは,タイミングLSI,キーボード入力端子付きのプロセッサ,表示出力端子を持つRAM,出力端子を持つROMで構成されていた。

図1●ホフの提案とビジコンの要求との折衷案
図1●ホフの提案とビジコンの要求との折衷案
[画像のクリックで拡大表示]

 キーボード入力端子と表示出力端子とROM出力端子と同期用タイミング信号(CSやTS)などのハードウエアやビジコンが提案したHALT命令も用意されていた。しかし,ソフトウエアでどのように入出力機器を制御するかは誰も想像できなかった。図面にはないが,プリンタ制御用LSIはそのままだった。プリンタの制御方法に関しては全く考えるような余裕はなかった。

 この頃から,ホフはコンサルタント的仕事しかしないのではないかといった感じを受けることが多くなってきた。インテルには,ホフのアイデア以外,何の持ち駒がないことがわかった。

 インテルとの交渉は楽になった。ビジコンには電卓や低速オフィス機器などの応用技術という持ち駒があり,ビジコンが守勢から攻勢にまわる機会が出てきた。低速オフィス機器への応用に関しては1997年の京都賞の受賞まで黙っていた。

 ROMではメタル層のマスクを使って顧客のプログラム・コードを埋め込む。ビジコン側からの提案で,そのメタル層を使ってROMにビット単位で入力または出力が可能な4ビットの入出力ポートを設置し,RAMには汎用の4ビットの出力ポートを設置した。

 9月初旬頃,ホフから4004の基本命令が提出された(詳細は次節で説明する)。

 提出された基本命令は,コンピュータの基本命令に,電卓向け命令をほんの少し追加した命令セットだった。電卓向け命令で採用した命令はビジコンが強く主張した加算後に使う10進補正命令DAA(Decimal Adjust Accumulator)だった。

 2進化10進データの演算結果である16進データを2進化10進データに変換するためには,ROMに格納した変換テーブルを使う方法と10進補正用命令を使って変換する方法がある。変換テーブルを使う方法では,ROM容量が増大するばかりでなく,電卓機能の性能低下が予想されたので,10進補正命令の追加は2番目の問題を半分ほど解決した。

 電卓の機能の内で重要と思われる多くの機能について,実際にプログラムを組み,命令そのものや性能やプログラム・ステップ数(ROMのバイト数)を集計し,命令の静的な評価と動的な評価を行った。また,入力機器制御をプログラムで行うためには,キーボードのキーを押したときの接触時間の計測などを日本に依頼し検討することなどが山積みとなった。

 第一次検討結果として,いくつかの残された問題はあったが,LSIのみによるシステム構築が可能であり,電卓の計算機能は実現可能と判断した。ただし,入出力機器制御のプログラム化に関しては未解決であった。同時に,制御部を除いて,汎用レジスタ,アドレススタック,一部の主演算回路,命令レジスタ,タイミング回路などに関する使用トランジスタ数は,共同で見積った結果,1,800個となった。2,000個というゴールは難しいと判断された。ホフは何のコメントも出さなかった。

 9月13日に,プロジェクトマネジャーの増田氏が,インテルへの質問状を渡し,経過報告を兼ねて帰国した。

 電卓への応用に関するビジコン側の第一次検討結果を受けて,1969年9月16日にインテルのマーケティング・マネジャーであったグラハム氏からビジコンに手紙が送られた。その手紙には,行き詰った交渉を何とかまとめたい意向が非常に強く出ていた。しかし,背景を知らない人が読むとインテル案の採用が最善であると思える内容であった。手紙には4004システムのブロック図や命令表は添付されていなかった。

 手紙全体ではかなりビジコンに好意的であったものの,インテル案ベースのシナリオ臭さが濃厚だった。この時点では,プロセッサはArithmetic Unit(ARU)と呼ばれており,ビジコン提案のタイミング用LSIとプリンタ制御用LSIはそのまま残されていた。インテルは手紙で,キーボード制御,表示制御,プリンタ制御などのプログラム化を非常に強く希望した。ビジコンからの情報により,電卓用応用プログラムに256ステップ,マクロ命令に512バイト,キーボード制御,表示制御,プリンタ制御などに512バイト,合計,プログラム用に5つのROMを想定しているとだけ述べていた。

 しかし,たとえ入出力機器制御をプログラムで行うことができたとしても,命令セットや機能の改善を行わずに,さらにインタープリタ機能の実現方法が見つからなければ,最低6つのROMが必要だと渡米チームは予想した。

 プリンタ付き電卓を構築するために,インテル案では,ビジコン案の合計個数に合わせるように,CPUが1個,RAMが1個,ROM(256バイト)が5個,タイミングLSIが1個,プリンタ用出力ポートが2個となり,LSIの合計が10個となっていた。使用するトランジスタ数も,同じ容量のROMであってもインテル案では2,600個でビジコン案では3,400個とした。共同で見積りをしたのにARU(4004)のトランジスタ数を実現不可能な1,800個と記していた。さらに,ビジコン案で使用するROMの個数を1個ではなく2個として比較した。

 スケジュールに関して,ビジコン案では1年,インテル案では約6カ月と見積もっていた。全LSIの論理と回路設計に2~3カ月,メモリーやタイミングLSIのレイアウトに3~4週間,プロセッサLSIのレイアウトに6週間,レイアウト後のマスク原図カットに2~3週間,マスク原図チェックに1週間,マスク作成に2~3週間,LSI製作に2週間と予想した。ビジコンの渡米チームにはLSIの開発の経験がなかったため,経験があれば空想としか言えないようなインテルの提案を鵜呑みにしてしまった。

 手紙では,渡米チームが作成した質問に答えて,ウェーハやパッケージでのテスト,信頼性試験,LSI製造時の各ステップにおける収率,生産能力,新設予定のサンタクララ工場などが記されていた。

 技術部長の丹波氏は,ホフの提案を高く評価し,未だ海のものとも山のものともわからない提案を採用する決断をした。残留した私は,ビジコン案である自分の提案を捨て,自分自身を納得させ得る次世代プログラム論理方式へのストーリーをもう一度改めて自分自身で組み立てる必要に迫られた。この作業は,肉体的よりも,精神的に非常にきつかった。ただし,この作業が,最終的には自分自身に強固で明確な動機をあたえることになり,期待されたゴールへの近道を歩ませた。

 プログラム制御用LSIと中央演算ユニットLSIの2つのLSIを1つのプロセッサ(ARU)に置き換えるために,ホフの提案した命令セットでは2つのROMが追加となる。ROMの個数を減らすためには,プログラム・ステップ数を減少させる新命令セットと命令の再定義,インタープリタ機能の実現方法,プログラムを使った入出力機器のリアルタイム制御方法などを考案しなければ,プロジェクトの成功はあり得ないと判断した。いよいよ攻勢へ打って出る時期となった(次回につづく)。