メディア

表舞台に上らなかった「世界初」のプロセッサ、MP944マイクロプロセッサ懐古録(11)(2/2 ページ)

» 2025年12月19日 10時00分 公開
[大原雄介EDN Japan]
前のページへ 1|2       

Garrett AiResearchやMP944のその後

 残念ながらHolt氏に情報公開の承認を出した後も、米海軍あるいはGrumman(現Northrop Grumman)はCADCの詳細やMP944に関する情報を一切公開していない。Garrett AiResearchはその後AlliedSignalのエンジン部門になり、その後TextronのLycoming Turbine Engine Divisionと合併してAlliedSignal Aerospace Companyの一部となっており、こちらから情報が出てくる可能性もほぼ無い。そんな訳でHolt氏の信ぴょう性はともかくとして、複数ソースあるいは公式ソースが無いという事もあって、現時点でもIntel 4004が世界最初のマイクロプロセッサという評価になっているのはやむを得ないことかもしれない。ちなみにHolt氏によればMP944およびCADCは

  • 世界初のマイクロプロセッサチップセット
  • 世界初の航空宇宙用マイクロプロセッサ
  • 世界初のFly by Wire飛行コンピュータ
  • 世界初の軍事用マイクロプロセッサ
  • 世界初の量産型マイクロプロセッサ
  • 世界初の完全統合型チップセットマイクロプロセッサ
  • 世界初の20bitマイクロプロセッサ

であることは間違いないと主張し、さらにHolt氏の主観では

  • 世界初のBIST(Build-In Self Test)機能付きマイクロプロセッサ
  • 世界初のDSPアプリケーションを実行できるマイクロプロセッサ
  • 世界初のパイプライン動作をするマイクロプロセッサ
  • 世界初の並列処理(コプロセッサを同時に利用できる)をサポートするマイクロプロセッサ
  • 世界初のカウンタ内蔵ROM

であるとしている。この最後の項目だけはちょっと説明が必要だろう。ROMにはプログラムコードだけでなく、固定値のデータを含む場合があるが、そのデータアクセスのためにはアドレス指定が必要である。通常はCPU側でアドレス指定をして、そのデータにアクセスする訳だが、MP944のROMには内部にプログラムカウンタが設けられ、このプログラムカウンタの値を使ってROMへのアクセスが可能となっていた。カウンタにはインクリメントおよびプリセットの機能があり、これを使う事で回路の小型化に貢献したとしている。要するにROMにSRAMを組み合わせたハイブリッド型のROMだった訳だ。これは確かにちょっと珍しい。

 CADCの内部構造はこんな具合(図3)だ。

図3:出典は図1と同じ。このCADCは2組が搭載され、片方が故障しても、もう片方で処理を継続できる様に工夫されていた

 基本的な機能は高度・対気速度・昇降率・マッハ数・温度を計算して計器に表示するとともに、主翼(F-14は可変後退翼だった)のスイープ角と変形速度の計算と制御、主翼前縁スラットと後縁の機動フラップ、さらに初期型の機体で利用されていたグローブベーンの制御などを行った。また着陸あるいは攻撃時の迎え角の計算も担当している。こうして並べると簡単に見えるかもしれないが、例えば静圧測定では高度8万フィートにおいて1フィートの分解能が要求されており、これを実現するためには12bitの解像度を持つADCが必要だった。またセンサーの測定値は非線形(例えば圧力対高度特性とか圧力対周波数特性とか)だったので、センサーの測定値から望む数値を計算するためには6次の多項式を計算する必要があったとする。先に世界初のDSPアプリケーションとあったが、CADCはこの多項式を常に計算しながら結果を表示するとともに、その結果に応じて機体の制御を行う訳で、確かに現在ならばDSPアプリケーションと分類される処理である。ちなみに毎秒18.3cycleで処理できたというので、1回の処理はおおよそ54.6ミリ秒で済んだ計算になる(要求は毎秒16cycleだったらしいから、要求を上回る性能だった訳だ)

 その図3で"CPU AND MEMORY"とある中身が図4だ。強いて言えばVLIW的な構造とでもいうべきだろうか? System Executive Controlは全体のタイミング制御を行うユニットで、ここからの信号を受けて3つのROMから命令およびデータをSLが読み込んで、それぞれPMU/PDU/SLFという実行ユニットに送り込み、その結果がRASに格納され、必要に応じて外部に出力が行われるという構造である。つまりこの6種類(ROMとRAMを除くと4種類)で、MP944というプロセッサが構成されたことになる。動作周波数は375KHz、つまり毎秒9370命令を処理可能になっている。データ幅は20bitの固定小数点で、パイプライン化したことで加減乗除はいずれも1cycleで実施できた。また平方根は毎秒73回、論理和/論理積も26回処理できたらしい。分岐も1cycleで処理可能だった。Pipelineといっても、データの依存関係は考慮する必要が無い仕組みだったから、ほぼDSP同様にZero overhead loopが実質的に可能だったようだ。

RASはRandom Access StorageでRAMの事。SLはSLU(Steering Logic Unit)の略で、これがCPUというかDecoder部的な処理で、その後にPMU(Parallel Multiplier Unit)/PDU(Parallel divider unit)/SLF(Special Logic Function)の各ユニットが並ぶ

 MP944の設計はそんな訳でGarrett AiResearchが担当したが、製造はAMI(American Microsystems Inc.)が担当。PMOSベースでの製造だったそうだが、プロセスなどはもはや不明だ(恐らくIntel 4004同様に10μmとかそのくらいの、かなり大きなものだったと想像される)。MP944は最終的に

  • SLU(2313Tr):3個
  • PMU(1063Tr):1個
  • PDU(1241Tr):1個
  • SLF(743Tr):1個
  • ROM(3268Tr):19個
  • RAS(2330Tr):3個

の合計28個、総トランジスタ数74442個だったとされる。ROMとRAMを抜いてもトランジスタ数は9986個になり、4004の2300個に比べるとはるかに巨大である。確かに当時の技術ではこれをワンチップ化することは不可能だっただろう。ただその分、性能も圧倒的である。3つの実行ユニットを同時に動かせたから、演算性能は28.1KFlopsに達している。この辺は4bitのIntel 4004とは比較にならない(4004はPipeline化されておらず、750KHz動作といっても実際には1命令の処理に8cycle掛かったから、もしMP944と同じ処理を行わせた場合の性能は多分2桁以上違っていただろう)

 もっとも、MP944は本当に固定小数点演算と、簡単な出力制御しかできない(図3で分かるように、結果をデジタルないしDAC経由でアナログ信号で継続的に出力するだけで、その先はCADCにつながる別の機器が面倒を見た)し、プログラミング言語もデバッガも何もない(Holt氏はバイナリプログラミングを行った)。Microprocessorではあるが、汎用性にはかなり欠けるものではあった。軍用品ということもあり、動作温度範囲として−55℃〜+125℃が要求されたとか、CADC全体のコストを3000〜5000米ドル(1968年当時の価格:現在だと2万5000〜4万2000米ドルに相当)に抑えないといけなかったとか、消費電力はCADC全体で10W以下に抑える必要があったなど、かなりとがった特徴を持つCADCを構築するために、Holt氏が言うところの“世界最初のMicroprocessor”が使われた、という事実は記憶に留めておいても良いかもしれない。

⇒「マイクロプロセッサ懐古録」連載バックナンバー一覧

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.