JPH1091598A - 航空電子工学コンピュータのためのソフトウェアインタプリタ - Google Patents

航空電子工学コンピュータのためのソフトウェアインタプリタ

Info

Publication number
JPH1091598A
JPH1091598A JP12440397A JP12440397A JPH1091598A JP H1091598 A JPH1091598 A JP H1091598A JP 12440397 A JP12440397 A JP 12440397A JP 12440397 A JP12440397 A JP 12440397A JP H1091598 A JPH1091598 A JP H1091598A
Authority
JP
Japan
Prior art keywords
processors
instructions
computer
additional
interpreter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP12440397A
Other languages
English (en)
Other versions
JP2872649B2 (ja
Inventor
Phillip I Rosengard
フィリップ・アイ・ローゼンガード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
HE Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hughes Aircraft Co, HE Holdings Inc filed Critical Hughes Aircraft Co
Publication of JPH1091598A publication Critical patent/JPH1091598A/ja
Application granted granted Critical
Publication of JP2872649B2 publication Critical patent/JP2872649B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】本発明は市販のハードウェアとソフトウェアの
技術を使用して航空機用コンピュータの命令を翻訳する
システムと方法を提供することを目的とする。 【解決手段】航空機用コンピュータの第1の複数のプロ
セッサのそれぞれと対応し複数のプログラム命令セット
102 の対応する1つと関連する第2の複数のプロセッサ
104 と、それらの各プロセッサ104 に関連し、複数のプ
ログラム命令セットの1つとおよび1組のインタプリタ
命令100 が記憶されている複数のキャッシュメモリと、
キャッシュメモリを有し、第2の各プロセッサと通信す
る付加的プロセッサ116 とを備え、第2の各プロセッサ
104 はそのキャッシュメモリに記憶されたプログラム命
令セット102 の関連した1つだけを翻訳し、付加的プロ
セッサ116 は入力/出力制御と第2の各プロセッサで行
われている各プログラム命令セットによって発生された
割込み要求とを制御することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、高レベルプログラ
ミング言語によって発生されたソフトウェアを使用して
航空電子工学コンピュータのプログラムを翻訳するため
のシステムおよび方法に関する。
【0002】
【従来の技術】現在の航空機は、パイロットが動作およ
びナビゲーション機能の制御を容易に行うことができる
ように専用の航空電子工学コンピュータに依存してい
る。軍事用において、兵器の制御もまた航空電子工学コ
ンピュータに組入れられている。各コンピュータは、実
際の飛行経験あるいは航空機または兵器に対する変更に
基づいて定期的に改正される運行飛行プログラム(OF
P)でプログラムされる。さらに、各航空機が種々のミ
ッションに対応する多数のOFPを有していることもあ
る。F/A−18航空機およびLAMPS Mk III
ヘリコプタを含む多数の軍事用航空機のプラットフォー
ムは、1以上のAN/AYK−14 16ビット汎用航
空電子工学ミニコンピュータを使用する。このコンピュ
ータは汎用の飛行用コンピュータとして特徴付けられて
いるが、一方で米国海軍によって特有に特徴付けられて
おり、標準化されていない特殊バックプレーン、特殊カ
ード、特殊マイクロプロセッサ、および支持チップを含
んでいる。数千ものこのようなコンピュータが世界中で
使用されている。
【0003】パイロット(乗組員を含む)の生命は、こ
れらの航空機の適切な性能に依存し、交換にかかるコス
トはそれぞれ3千万乃至5千万ドルに及ぶため、最初の
飛行の前にパイロットを訓練することが望ましい。トレ
ーニングの基本部分は、実際の航空機が飛行の際にする
応答と同じようにパイロットの動作に対して応答する洗
練された飛行シュミレータを含んでいる。シミュレータ
によって発生された不正確な応答によって、実際の飛行
のときにパイロットおよび航空機が損害を被ることがあ
る。従って、シミュレータは、それらが正確に実際の飛
行中の動作をシミュレートしていることを確実にするた
めに集中的に評価を受ける。OFPが変更された場合、
しばしばシミュレータを再評価する必要がある。
【0004】軍事目的で使用するために、2つのタイプ
のシミュレータが使用される。運行飛行トレーナ(OF
T)は航空機の基本的な運行技術を取得するために使用
され、兵器戦術トレーナ(WTT)は兵器および戦術の
技術を取得するために使用される。両方のタイプのシミ
ュレータは評価されなければならず、OFPの改正の度
にしばしば再評価されなければならない。不都合なこと
に、再評価にはかなりの時間が必要とされる。パイロッ
トが最もタイムリーにトレーニングを受けられるように
シミュレータにおいて迅速にOFPの更新を実行するこ
とが望ましいが、更新がシミュレータにおいて正確にシ
ミュレートされることも望まれる。
【0005】飛行シミュレータを設計し、組立てるため
の1つの試みとして、同じ航空電子工学コンピュータを
シミュレータに組込み、一方でセンサ、スイッチ、光源
等の種々の入力および出力ハードウェアの応答をエミュ
レートする方法がある。この試みの評価は、シミュレー
タにおいて使用される航空電子工学コンピュータが航空
機において使用されるものと同じであるという点で有効
である。それにおいて、評価は入力および出力装置のエ
ミュレーションに限定される。しかしながら、AN/A
YK−14において使用される標準化されていない特殊
な素子のために、インターフェイスハードウェアは注文
設計されて製造されなければならず、その関連したコス
トによって負担がかかる。さらに、航空電子工学コンピ
ュータは、ますます高価に、ますます複雑になり、そし
てシミュレータへの組込みがより困難になってきてい
る。それ故に、この試みはもはや好ましいものではな
い。
【0006】飛行シミュレータを設計し、組立てるため
の別の試みは、ハードウェア依存コードあるいは編集装
置依存コードの全てを再編集し、変更することによって
異なるコンピュータのプラットフォームにOFPソース
コードを移植することである。これは人員集約プロセス
であり、これには多大な経常的な運行間接費がかかる。
さらに、アセンブリ言語コード(すなわち、低レベルの
コード)を商業用の高レベル言語(“C”等)に移植す
るには時間がかかり、また、プログラマ集約プロセスは
翻訳エラーを招きやすく、それによってシミュレータの
評価の確実性が減少される。それ故に、この試みにはO
FPの改正の度にシミュレータにおけるOFPの再評価
が必要とされる。
【0007】飛行シミュレータを製造するためのさらに
別の試みは、航空電子工学コンピュータのハードウェア
の複製品を製造することである。AN/AYK−14に
とってこの試みは望ましくなく、それは、その命令セッ
トの構成が任意の市場で入手可能なマイクロプロセッサ
あるいはチップセットに基づいていないからである。そ
れ故に、高価で特注のハードウェアの開発が要求され
る。
【0008】その代りに、動作システムを有さない商業
用ハードウェアを使用する埋設された裸の機械のハード
ウェアのエミュレーションが構成されることもある。こ
の試みには、実際の航空電子工学コンピュータの命令実
行速度を達成するための広範囲で高価な低レベルのアセ
ンブリプログラミングが要求される。アセンブリすなわ
ち機械レベルのソフトウェアはマイクロプロセッサに特
有のものであり、それ故にその他のコンピュータに移植
することはできない。さらに、マイクロプロセッサのハ
ードウェア特徴は、メモリマップおよびリアルタイムク
ロックを含むターゲットの構成の機械特徴をエミュレー
トするために使用され、それによって、十分な動作速度
を達成することができる。結果的に、メモリのマッピン
グのハードウェア構成を有する別のマイクロプロセッサ
にエミュレーションを移動させるには、ボードが裸であ
るエミュレータのこれらの部分が置換される必要があ
り、また時間が必要であり、それ故にこれは望ましくな
い。
【0009】航空電子工学コンピュータのアセンブリ言
語を“C”等の高レベル言語にオフラインで翻訳するト
ランスレータは、典型的にOFPの入力アセンブリコー
ドの1/4乃至1/2しか処理することができない。残
りの命令は、手作業で翻訳されなければならない。これ
は、OFPの再評価を必要とする高価で時間のかかるプ
ロセスであり、同様に望ましくない。
【0010】機能シミュレータは、飛行ハードウェアお
よびソフトウェアを、シミュレートされるシステムのハ
ードウェアおよびソフトウェア開発者によって与えられ
た参考文書に基づいて手作業で符号化されたソフトウェ
アと置換する。この解決方法を価格競争において負けな
いものにするために、通常、様々な簡単な方法が行われ
るが、それによってモデルの忠実度が制限されてしま
う。忠実度が減少することによって、飛行ソフトウェア
の評価を維持しなければならない必要性と、それに関連
したコストおよびプログラミングに必要な努力とが直接
対立してしまう。
【0011】
【発明が解決しようとする課題】従って、本発明の目的
は、リアルタイムのOFP動作に要求される全般的な命
令スループットの処理を満足させ、またはそれを越える
航空電子工学コンピュータプログラムを翻訳するための
システムおよびその方法を提供することである。
【0012】本発明のさらに別の目的は、商業用のすぐ
に入手可能なハードウェアおよびソフトウェアの技術を
使用して航空電子工学飛行コンピュータの命令を翻訳す
るためのシステムおよび方法を提供することである。
【0013】本発明のさらに別の目的は、新しい航空機
のOFPの受渡しとそれを飛行用シミュレータあるいは
トレーナに設置する間のターンアラウンド時間を減少す
るソフトウェア変換手段をAN/AYK−14航空電子
工学コンピュータに提供することである。
【0014】本発明のさらに別の目的は、新しい航空機
のOFPを飛行用シミュレータあるいはトレーナに設置
するためのコストを減少させる、航空電子工学コンピュ
ータの命令を翻訳するためのシステムおよび方法を提供
することである。
【0015】本発明のさらに別の目的は、飛行用シミュ
レータにおけるOFPの変更の再評価を必要としないソ
フトウェアインタプリタを提供することである。
【0016】
【課題を解決するための手段】本発明の上述およびその
他の目的ならびに特徴を実行するにあたって、航空電子
工学飛行用コンピュータの複数のプログラム命令セット
を翻訳するためのシステムおよび方法が提供される。航
空電子工学コンピュータは、典型的にOFPを形成する
命令セットの対応する1つを実行する複数のプロセッサ
を有している。インタプリタは、航空電子工学コンピュ
ータよりも多数のプロセッサを有する多重処理能力も有
している汎用の市場で入手可能なコンピュータにおいて
構成されている。本発明のシステムおよび方法は、航空
電子工学コンピュータの各プロセロッサを商業用コンピ
ュータ上のプロセッサの対応する1つに割当て、プログ
ラム命令セットのそれぞれを商業用コンピュータのプロ
セッサの1つにそれぞれ関連した複数のキャッシュメモ
リの1つにロードすることを含んでいる。このシステム
および方法はさらに、インタプリタの命令を含んでいる
共用のプロセスを航空電子工学コンピュータのプロセッ
サの1つと関連した商業用コンピュータの各プロセッサ
において実行することを含んでいる。共用の各プロセス
は、その関連したプロセッサに向けられたプログラム命
令だけを翻訳する。このシステムおよび方法はまた、航
空電子工学コンピュータのプロセッサの1つにまだ割当
てられていない商業用コンピュータの付加的な1つのプ
ロセッサにおいて付加的な共用のプロセスを実行する。
付加的な共用のプロセスは、入力/出力と、別の商業用
コンピュータの各プロセッサによって発生された割込み
要求とを制御する。
【0017】本発明によって多くの利点が生じる。本発
明は高レベルのプログラミング言語を使用し、ソフトウ
ェアにおいて航空電子工学コンピュータメモリアドレッ
シングシステムを完全に構成するため、特定のハードウ
ェアから独立しており、それ故に種々の商業用コンピュ
ータプラットフォーム間で移植可能である。本発明のシ
ステムおよび方法は、飛行シミュレータに要求されるハ
ードウェアを減らすことによってかなりのコストを節約
し、また、種々のOFPに生じる可能性のある“ドロッ
プイン”を適切に処理する余裕を有しており、すなわ
ち、手動で付加的に符号化を行う必要がない。OFPお
よび関連したデータを記憶するためのキャッシュメモリ
と、航空電子工学コンピュータバーチャルメモリアドレ
ッシングシステムと、ソフトウェアインタプリタの命令
とを使用することによって、本発明は入手可能な最も速
度の速いAN/AYK−14に対してさえAN/AYK
−14のOFPをリアルタイムで実行することができ
る。
【0018】本発明の上述およびその他の目的、特徴、
および利点は、添付図面に関連して以下の本発明の実行
に最適なモードの詳細な説明から当業者によって容易に
理解されるであろう。
【0019】
【発明の実施の形態】図1を参照すると、F/A−18
XN−8ミッションコンピュータ(CP−2215)
のハードウェア構成を表すブロック図が示されている。
コンピュータの種々のボードは、共通のシャーシ10中に
収容され、通常のバックプレーン上で通信するが、それ
は特に図示されていない。ボードは、パワー変換モジュ
ール(PCM)12、2個の半導体メモリモジュール(S
MM)14、メモリサブシステムモジュール(MSSM)
16、スレーブVHSICプロセッサモジュール(VP
M)18、マスターVPM20、5個のディスクリート直列
モジュール(DSM)22、デジタルインターフェイスモ
ジュール(DIM)24を含んでいる。F/A−18E/
Fは、付加的なDSMボードを含んでいる類似した構成
の航空電子工学コンピュータを使用する。AN/AYK
航空電子工学ミニコンピュータのこの構成は、現在入手
可能な最も進んだ最も速度の速いCPU(VPM)プロ
セッサを使用する。VPMプロセッサは、拡張メモリリ
ーチ(EMR)として知られている非バックワードの、
互換性のあるバーチャルメモリアドレスモードを組込ん
でいる。それは、約5.45MIPS(100万命令/
秒)が可能である3世代のハードウェア開発のうちの最
高のものである。
【0020】本発明のシステムおよび方法によるソフト
ウェアインタプリタは、最新世代のVPMモジュールの
速度の要求を満足させるものであり、結果的には以前の
世代のもの全ての要求をも満足させる。全てのVPM
は、GPMおよびSCP命令セットのスーパーセット
と、バーチャルメモリアドレッシングとを実行するの
で、ソフトウェアインタプリタはAN/AYK−14航
空電子工学コンピュータの全てのハードウェア世代に適
用できる。本発明によるソフトウェアインタプリタは、
シリコン・グラフィック社(SGI)から販売されてい
るチャレンジ(CHALLENGE) 、パワーチャレンジ(POWER C
HALLENGE) あるいはONYXコンピュータシステム等の市場
で入手可能な多重処理コンピュータによって構成される
ことが好ましい。これらのコンピュータシステムは、M
IPS R4400と、MIPS R10000等の後
続マイクロプロセッサとを使用し、250MHzまでの
CPUクロック周波数を支持する。これによって、各航
空電子工学コンピュータ命令を行うためのソフトウェア
インタプリタの多数の命令を実行することができ、それ
によってホストシミュレータ機能、バーチャルメモリア
ドレッシング、バーチャル入力/出力機能等が実行され
る。
【0021】250MHzのクロック周波数で上述のS
GIのコンピュータの1つを使用する本発明の好ましい
実施形態において、インタプリタ命令対航空電子工学コ
ンピュータ命令の平均的な可能な比率は、50:1であ
る。本発明によるシステムあるいは方法において、10
個のMIP AYK−14を支持するためには25:1
の平均比が要求されるだけであり、これは、これらの航
空電子工学コンピュータにおけるプロセッサの現世代の
現在の5.45MIPのスループットを大きく上回る。
【0022】図2を参照すると、本発明によるソフトウ
ェアインタプリタシステムの素子およびその実行方法が
ブロック図で示されている。全体を参照番号30で示され
ているインタプリタシステムは、UNIXのPOSIX
バージョン等のリアルタイムの動作システム内で1以上
の通常のユーザレベルのタスクとして動作することが好
ましい。各ソフトウェアインタプリタ32は、シミュレー
トされている航空電子工学コンピュータの関連したOF
P36を有する単一のプロセッサモジュールを支持する多
数の命令を有する共用の別個のプロセス(あるいはスレ
ッド)として構成されることが好ましい。各ソフトウェ
アインタプリタ32は、商業用コンピュータの単一のプロ
セッサ(CPU)34にマップされ、他のプロセスあるい
は割込みハンドラーとプロセッサ34を共用することはな
い。例えば、スレーブVPM18およびマスターVPM20
(図1参照)はそれぞれ、対応するOFP361 および36
2と、市場で入手可能な多重処理コンピュータにおける
対応するプロセッサ341 および342 にマップされた対応
するソフトウェアインタプリタプロセス321 および322
とを有している。
【0023】ソフトウェアインタプリタは、“C”等の
高レベルのプログラミング言語で書込まれ、リアルタイ
ムのUNIXの下で動作するように設計されていること
が好ましい。これによって、インタプリタは記録の必要
なしにUNIXのプラットフォーム間に容易に移植され
ることができる。ソフトウェアインタプリタはまた、リ
アルタイムのUNIXではなく、等価のリアルタイムの
UNIX特徴を支持するリアルタイムUNIX以外の動
作システムにも首尾よく移植されることができる。
【0024】割込み制御および入力/出力(I/O)機
能を実行するための命令38は、付加的なプロセッサ40に
マップされる。プロセッサ34における全ての割込みは選
択的に禁止され、処理のために命令38に導かれる。命令
38は、各ソフトウェアインタプリタ32のプロセスと通信
するプロセッサ40によって実行された付加的な共用のプ
ロセスを処理するとき実行されることが好ましい。命令
38は、リアルタイムのクロックを実行し、ソフトウェア
インタプリタ32によって発生された全ての入力および出
力要求を処理する。また、I/Oおよびリアルタイムの
クロックの状態は、全体を参照番号42によって示されて
いるように、共用のプロセスのユーザアドレススペース
に直接マップされた共用のメモリ変数としてソフトウェ
アインタプリタ32に通信されることが好ましい。
【0025】図2に示されているように、本発明によっ
て、航空電子工学コンピュータの命令およびデータを含
んでいる変更されないOFP36がソフトウェアシミュレ
ータシステム30に直接ロードされることができる。OF
P36、ソフトウェアインタプリタ32、および制御ソフト
ウェア38は、図3乃至5に関して詳細に図示および説明
されているように全てキャッシュメモリにロードされる
ことが好ましい。各ソフトウェアインタプリタ32は、ソ
フトウェアとして航空電子工学(ターゲット)コンピュ
ータのメモリアドレッシングシステムを完全に構成する
ことが好ましい。これによって、ターゲットメモリシス
テムをエミュレートするために特定のマイクロプロセッ
サメモリ管理方式に依存するハードウェアのエミュレー
タ、あるいはエミュレータ/インタプリタのハイブリッ
ドにおいて達成不可能な移植性が与えられる。好ましい
実施形態において、バーチャルメモリは、ソフトウェア
インタプリタの変換索引緩衝機構(TLB)を使用して
物理的メモリ位置にマップされる。ビットのシフトが必
要とされないので、メモリアドレスは、アドレス分解能
の速度を改良するためにTLBによって正規化された右
側のビット、すなわち最小桁のビットである。
【0026】図3を参照すると、本発明のシステムおよ
び方法の特定の実施を表すシステムブロック図が示され
ている。この実施は、別個のシステム制御装置52と、V
ME装置62と通信するVME I/O制御装置58とを有
する対称的な多重処理コンピュータのプラットフォーム
50を使用する。そのようなシステムにおいて、メモリ54
は、共通のシステムバス60に接続されたプロセッサ561
乃至56n の全ての間で共用される別個のシステムであ
る。リアルタイムのUNIX動作システムによって支持
されたこの特徴によって、全てのソフトウェアプロセッ
サが互いに通信することが許容される。
【0027】高速プロセッサ561 乃至56n は、4MB以
上の大きい2次キャッシュを使用して最大命令実行速度
を維持する。実行プログラムがキャッシュ内に残ってい
る限り、CPUは、R4400の場合における例えば2
50MHz等のその最大の周波数で命令を実行すること
ができる。CPUのアクセスが行われたときにキャッシ
ュ内に命令あるいはデータのオペランドが存在しない場
合、大きさの順にCPUの動作周波数を減少するメモリ
要求が開始される。これは本発明によるソフトウェアイ
ンタプリタの動作にとっては許容不可能な損失であり、
それは、その要求された速度の1/10でしか実行せ
ず、もはや評価された航空電子工学コンピュータ命令速
度でOFPを実行することはできないからである。従っ
て、本発明はソフトウェアインタプリタおよびOFPを
キャッシュメモリにロードし、それによって必要な命令
速度を維持する。
【0028】図4を参照すると、SGIのチャレンジ/
ONYXコンピュータのためのメモリシステムに対するプロ
セッサの接続を表した機能ブロック図が示されている。
プロセッサボード561 ' は、R4400のCPU70と直
接通信している2次キャッシュ68を含んでいる。キャッ
シュコヒーレンス(CC)チップ72は、データチップ74
およびアドレスチップ76と通信し、メモリアクセスをシ
ステムバス60' 上で調整する。この実施形態において、
2次キャッシュ68はラインキャッシュである。従って、
R4400のCPU70によって要求されたデータあるい
は命令がキャッシュ68にない場合、キャッシュ内の等量
のデータおよび命令が除かれ、置換される。従って、ソ
フトウェアインタプリタおよび航空機のOFPは、不満
足なシステム動作の原因となるキャッシュのパージを阻
止あるいは減少するために常にキャッシュ68内に維持さ
れるべきである。別の実施形態において、R4400の
CPU70は、1MBのキャッシュを有するR10000
のCPUによって置換される。この実施形態において多
重インターリーブアドレッシング方式を使用すると、結
果的に4MBのキャッシュメモリで達成できる許容可能
な処理速度の約80%の速度になる。
【0029】図5を参照すると、本発明のシステムある
いは方法のためのキャッシュメモリ内のソフトウェア素
子の好ましい構成が示されている。この図面には代表的
な4MBのユニタリキャッシュメモリが示されている
が、その他のタイプあるいは寸法のキャッシュメモリが
本発明の意図あるいは技術的範囲から逸脱せずに使用さ
れることができる。例えば、図示された構成は、ライン
ユニタリメモリあるいはラインキャッシュメモリに等し
く適用される。図示されているように、航空機OFP80
と、ソフトウェアインタプリタ82と、ソフトウェアイン
タプリタ命令および制御データ84とがキャッシュメモリ
86内で隣接したメモリ位置に記憶されることが好まし
い。
【0030】高レベルの標準動作システムおよび言語が
使用されるので、ハードウェアマイクロプロセッサに依
存することはなく、結果的にソフトウェアインタプリタ
および航空機OFPの両方、あるいはメモリインターリ
ービングと等価なものを含むのに十分な大きさのキャッ
シュを有している任意の十分に高速度の対称的な多重プ
ロセッサシステムが完全に移植可能になる。
【0031】図6を参照すると、トレーニングとシミュ
レーションホストソフトウェアとの間の制御およびデー
タの相互作用と、本発明のソフトウェアインタプリタの
詳細図が示されている。ソフトウェアインタプリタ100
は、変更されていない航空機のOFPの対応する命令セ
ット102 を翻訳するために同時に動作する1以上のイン
タプリタを表している。前述のように、各ソフトウェア
インタプリタ100 は、1乃至Nと番号付けされ、全体を
参照番号104 によって示されている対応するプロセッサ
上のリアルタイムで動作しているシステムにおける共用
のプロセスとして動作する。各ソフトウェアインタプリ
タ100 は、割当てられたメモリアドレス、ROM、RA
M、状況レジスタ、汎用レジスタ、プログラムアドレス
レジスタ、リアルタイムクロック、モニタクロック、お
よびシミュレートされた航空電子工学コンピュータのメ
モリパリティを実施し、他方ではまた、特権を与えられ
た命令の例外を処理する。全てのソフトウェアインタプ
リタ100 は、全体を参照番号116 で示されている単一の
プロセッサ(N+1)において動作している共通の命令
/制御インターフェイス106 に命令およびデータを通信
する。さらに、各ソフトウェアインタプリタ100 は、I
/Oデータおよび割込み状態を共通のI/Oおよび割込
み制御装置108 に通信し、それはソフトウェアインタプ
リタ100 によって発生されたミッシング(missing )ハ
ードウェアの例外にアクセスする。
【0032】続けて図6を参照すると、I/Oおよび割
込み制御ソフトウェア108 は、実際のハードウェアI/
O駆動装置110 あるいはバーチャルI/O駆動装置112
と通信することができる。I/Oおよび割込み制御ソフ
トウェア108 は、実行している航空機OFP102 に対し
て透明である(シミュレータおよびトレーナに特有の制
御機能のための)ソフトウェアインタプリタ100 に“帯
域外”のアクセスを行う。別の専用プロセッサ120 で実
行しているシミュレーションホストソフトウェア118
は、I/O制御ソフトウェア108 によって供給されたデ
ィスクリートな(離散的)直列モジュール(DSM)デ
ータおよびデジタルインターフェイスモジュール(DI
M)データをバーチャルソフトウェアバッファを介して
送受することができる。さらに、I/O制御ソフトウェ
ア108 は、適切な商業用I/O制御装置が取付けられた
VMEバス114 等を介してバス(MIL−STD−15
53B等に従うもの等)およびディスクリートなI/O
に直接通信することができる。この特徴によって、AY
K−14等の航空電子工学コンピュータをSGIコンピ
ュータ等の商業用プラットフォームに直接置換すること
ができる。
【0033】図7は、本発明による航空電子工学コンピ
ュータプログラムを翻訳するためのシステムおよび方法
を表すフロー図である。図示された機能あるいはステッ
プに必ずしも連続した動作が要求される訳ではないが、
便宜上の理由のためだけに連続的に示されていることが
当業者によって理解される。また、幾つかの機能および
/またはステップは、同時に行われることが好ましいあ
るいは必要とされる場合があることが理解される。
【0034】図7のブロック130 は、各航空電子工学コ
ンピュータの命令セットを実行するための多重プロセッ
サコンピュータ中の単一のプロセッサの割当てあるいは
専用を表している。例えば、OFPを構成している対応
する命令セットをそれぞれが有している2つのプロセッ
サモジュールを使用するAYK−14において、多重処
理コンピュータのプロセッサの1つが2つのプロセッサ
モジュールのそれぞれに専用にされる。ブロック132
は、多重処理コンピュータのプロセッサと関連したキャ
ッシュメモリへの命令セットのロードまたは記憶を表し
ている。ブロック134 は、その関連したキャッシュメモ
リにロードされた対応するOFPの命令セットを翻訳す
る各プロセッサにおける共用のプロセスの実行を表して
いる。付加的な共用のプロセスは、ブロック136 によっ
て示されたように付加的なプロセッサにおいて実行され
る。上述の例において、これは、多重処理コンピュータ
の第3のプロセッサを必要とする。付加的な共用のプロ
セスは、入力/出力と、ステップ130 において割当てら
れたあるいはロックされた共用の各プロセスによって発
生された割込み要求とを制御する。
【0035】本明細書において図示および説明された本
発明の形態は、本発明を実行するように意図された最適
なモードを含んでいるが、それらがその全ての可能な形
態を示している訳ではないことは理解される。また、本
明細書における用語は説明のために使用されたものであ
り、その内容を限定するものでなく、特許請求の範囲に
記載された本発明の意図および技術的範囲から逸脱せず
に様々な変更が行われることが理解されるであろう。
【図面の簡単な説明】
【図1】F/A−18 XN−8ミッションコンピュー
タのためのAN/AYK−14航空電子工学ミニコンピ
ュータに対する典型的なハードウェア構成の概略図。
【図2】本発明による航空電子工学コンピュータのソフ
トウェアインタプリタの実施に使用するための市販のコ
ンピュータプラットフォームのブロック図。
【図3】別個のシステムおよび入力/出力を有している
対称的な多重処理コンピュータプラットフォームにおけ
る本発明のシステムあるいは方法の特定の実施を示すブ
ロック図。
【図4】図3に示されたCPUボードの付加的な詳細を
示す機能ブロック図。
【図5】本発明のシステムおよび方法のためのキャッシ
ュメモリにおけるソフトウェア素子の好ましい機構の概
略図。
【図6】トレーニングとシミュレーションホストソフト
ウェアとの間の制御およびデータの相関と、本発明によ
るソフトウェアインタプリタの詳細図。
【図7】航空電子工学コンピュータプログラムを翻訳す
るための本発明のシステムおよび方法を示すフロー図。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年5月15日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 それぞれがシミュレータ命令を含み、第
    1の複数のプロセッサより多数の第2の複数のプロセッ
    サを有するコンピュータにおいて対応する第1の複数の
    プロセッサを有する航空電子工学コンピュータの複数の
    プログラム命令セットを翻訳する方法において、 第1の複数のプロセッサのそれぞれを第2の複数のプロ
    セッサのそれぞれ対応する1つに割当て、 複数のプログラム命令セットのそれぞれを、第2の複数
    のプロセッサの1つとそれぞれ関連した複数のキャッシ
    ュメモリの1つにそれぞれロードし、 第1の複数のプロセッサの1つと関連した第2の複数の
    プロセッサのそれぞれにインタプリタ命令を含んでいる
    共用のプロセスを実行し、そこにおいて、共用の各プロ
    セスは第1の複数のプロセッサの関連した1つに向けら
    れたプログラム命令のみを翻訳し、 第1の複数のプロセッサの1つに割当てられていない第
    2の複数のプロセッサの付加的な1つにおいて付加的な
    共用のプロセスを実行し、そこにおいて、付加的な共用
    のプロセスは第1の複数のプロセッサの1つに割当てら
    れた第2の複数のプロセッサのそれぞれによって発生さ
    れた入力/出力および割込み要求を制御するステップを
    含んでいることを特徴とする方法。
  2. 【請求項2】 さらに、高レベルプログラミング言語を
    使用する各共用のプロセスをプログラミングすることを
    含んでいる請求項1記載の方法。
  3. 【請求項3】 前記共用のプロセスを実行するステップ
    において、第2の複数のプロセッサの関連したものにお
    ける全ての割込みを選択的に阻止する請求項1記載の方
    法。
  4. 【請求項4】 前記ロードするステップは、隣接したキ
    ャッシュメモリ位置におけるプログラム命令セット、イ
    ンタプリタの命令、および制御データのロードを含んで
    いる請求項3記載の方法。
  5. 【請求項5】 付加的な共用のプロセスを実行するステ
    ップにおいて、入力/出力要求を対応する物理的入力/
    出力装置にそれぞれ通信する請求項1記載の方法。
  6. 【請求項6】 付加的な共用のプロセスを実行するステ
    ップにおいて、物理的入力/出力装置をエミュレートす
    る請求項1記載の方法。
  7. 【請求項7】 複数のプログラム命令セットのそれぞれ
    は対応するメモリにアクセスするための命令を有し、そ
    こにおいて、共用のプロセスの実行はメモリアクセス命
    令のシミュレーションを含んでいる請求項1記載の方
    法。
  8. 【請求項8】 対応する第1の複数のプロセッサを有す
    る航空電子工学飛行コンピュータの複数のプログラム命
    令セットを翻訳するためのシステムにおいて、 それぞれが第1の複数のプロセッサの1つおよび複数の
    プログラム命令セットの対応する1つと関連している第
    2の複数のプロセッサと、 それぞれが第2の複数のプロセッサの関連した1つと通
    信し、複数のプログラム命令セットの1つおよび1組の
    インタプリタ命令が記憶されている複数のキャッシュメ
    モリと、 関連した付加的なキャッシュメモリを有し、第2の複数
    のプロセッサのそれぞれと通信している付加的なプロセ
    ッサとを具備し、 第2の複数のプロセッサは関連したキャッシュメモリ中
    に記憶された複数のプログラム命令セットの関連した1
    つだけを翻訳するために共用のプロセスを実行し、付加
    的なプロセッサは入力/出力と第2の複数のプロセッサ
    において実行されている各プログラム命令セットのそれ
    ぞれによって発生された割込み要求とを制御するために
    付加的な共用のプロセスを実行することを特徴とする翻
    訳システム。
  9. 【請求項9】 さらに、飛行シミュレータを構成するた
    めに第2の複数のプロセッサおよびプログラム命令を記
    憶するための付加的なプロセッサと通信する共用のメモ
    リを具備している請求項8記載の翻訳システム。
  10. 【請求項10】 複数のキャッシュメモリは、それぞれ
    複数のプログラム命令セットの1つと、隣接したメモリ
    位置に記憶されたインタプリタ命令とを含んでいる請求
    項9記載の翻訳システム。
JP12440397A 1996-05-14 1997-05-14 航空電子工学コンピュータのためのソフトウェアインタプリタ Expired - Lifetime JP2872649B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/645,988 US6564241B1 (en) 1996-05-14 1996-05-14 Avionic computer software interpreter
US645988 1996-05-14

Publications (2)

Publication Number Publication Date
JPH1091598A true JPH1091598A (ja) 1998-04-10
JP2872649B2 JP2872649B2 (ja) 1999-03-17

Family

ID=24591281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12440397A Expired - Lifetime JP2872649B2 (ja) 1996-05-14 1997-05-14 航空電子工学コンピュータのためのソフトウェアインタプリタ

Country Status (6)

Country Link
US (1) US6564241B1 (ja)
EP (1) EP0807882B1 (ja)
JP (1) JP2872649B2 (ja)
CA (1) CA2205247C (ja)
DE (1) DE69710942T2 (ja)
IL (1) IL120825A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6478581B1 (en) * 1999-06-07 2002-11-12 American Gnc Corporation External method for employing CNDU in trainer system
US6820158B1 (en) * 1999-08-30 2004-11-16 Intel Corporation Method and apparatus for a configuration ring
WO2001042932A2 (en) * 1999-12-10 2001-06-14 Honeywell International Inc. Two layer operating system and method for avionics software applications
GB2358261B (en) * 2000-01-17 2004-06-09 Advanced Risc Mach Ltd Data processing with native and interpreted program instruction words
FR2823896B1 (fr) * 2001-04-23 2003-10-24 E Bourgeois Ets Simulateur de vol adapte a une famille d'aeronefs
WO2005020184A2 (en) * 2003-08-01 2005-03-03 Honeywell International, Inc. Real-time software scheduler for personal computers
RU2006134919A (ru) * 2006-10-03 2008-04-10 Спарсикс Корпорейшн (Us) Контроллер памяти для системы расчета разреженных данных и способ для него
US20090319238A1 (en) * 2007-05-21 2009-12-24 Raynald Bedard Simulation scoring systems
US7684904B2 (en) 2007-06-27 2010-03-23 Arinc Incorporated Systems and methods for communication, navigation, surveillance and sensor system integration in a vehicle
FR2950449A1 (fr) 2009-09-23 2011-03-25 Eurocopter France Simulation en temps reel hautement representative d'un systeme avionique
US8453160B2 (en) * 2010-03-11 2013-05-28 Honeywell International Inc. Methods and systems for authorizing an effector command in an integrated modular environment
US11127309B2 (en) 2011-08-09 2021-09-21 The Mitre Corporation Flight management system operator
US10088843B1 (en) * 2016-06-30 2018-10-02 Rockwell Collins, Inc. Systems and methods for configurable avionics start sequencing
FR3072475B1 (fr) * 2017-10-17 2019-11-01 Thales Procede de traitement d'une erreur lors de l'execution d'une procedure avionique predeterminee, programme d'ordinateur et systeme de detection et d'alerte associe

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727480A (en) 1984-07-09 1988-02-23 Wang Laboratories, Inc. Emulation of a data processing system
US4658359A (en) * 1984-12-31 1987-04-14 The United States Of America As Represented By The Secretary Of The Navy Method for managing redundant resources in a complex avionics communication system
JPH0677236B2 (ja) 1988-02-01 1994-09-28 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン I/o割込みをシミュレートする装置及び方法
GB9405729D0 (en) 1994-03-23 1994-05-11 Vantage Analysis Systems Europ Software execution systems
US5541863A (en) * 1994-09-30 1996-07-30 Rockwell International Virtual integrated software testbed for avionics
US5579512A (en) 1994-12-30 1996-11-26 Compaq Computer Corporation Systempro emulation in a symmetric multiprocessing computer system
US5546562A (en) * 1995-02-28 1996-08-13 Patel; Chandresh Method and apparatus to emulate VLSI circuits within a logic simulator
US5807109A (en) * 1995-03-16 1998-09-15 B.V.R. Technologies Ltd. Airborne avionics simulator system

Also Published As

Publication number Publication date
IL120825A (en) 2000-06-01
EP0807882B1 (en) 2002-03-13
DE69710942D1 (de) 2002-04-18
EP0807882A3 (en) 1998-04-15
JP2872649B2 (ja) 1999-03-17
EP0807882A2 (en) 1997-11-19
IL120825A0 (en) 1997-09-30
US6564241B1 (en) 2003-05-13
CA2205247C (en) 2000-04-25
CA2205247A1 (en) 1997-11-14
DE69710942T2 (de) 2002-09-19

Similar Documents

Publication Publication Date Title
JP2872649B2 (ja) 航空電子工学コンピュータのためのソフトウェアインタプリタ
US7483974B2 (en) Virtual management controller to coordinate processing blade management in a blade server environment
ES2708985T3 (es) Simulación y ensayo de aviónica
EP0794492B1 (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
US6319008B1 (en) Avionics simulator
US20220164216A1 (en) VIRTUALIZING HARDWARE COMPONENTS THAT IMPLEMENT Al APPLICATIONS
JP2019185749A (ja) 運用環境用の仮想化されたアビオニクスシステム
Bodenstab et al. The UNIX system: UNIX operating system porting experiences
US20030093258A1 (en) Method and apparatus for efficient simulation of memory mapped device access
US20050091022A1 (en) Ultra fast multi-processor system simulation using dedicated virtual machines
Fuchsen Preparing the next generation of IMA: A new technology for the scarlett program
EP0107263A2 (en) Man-machine interface
Blech et al. Hardware for a real-time multiprocessor simulator
Civera et al. The μ Project: An Experience with a Multimicroprocessor System.
Clark et al. The System Architecture Evaluation Facility-An emulation facility at Rome Air Development Center
Theodoropoulos et al. FPGA-based evaluation platform for disaggregated computing
Matters et al. Certification of avionics applications on multi-core processors: Opportunities and challenges
Majumder et al. Ærø: A platform architecture for mixed-criticality airborne systems
Zipse et al. A multicomputer simulation of the Galileo spacecraft command and data subsystem
Creeger Lisp machines come out of the lab
Taylor IBM’s S/390 parallel line
Lin et al. Designing multimedia applications on real-time systems with smp architecture
Cross et al. Microlithics' massively parallel supercomputer
Southworth Impacs: Integrated Multi-Processor Aircraft Simulation System
de la Puente et al. Session summary: safety improvements for consideration