JPH0273121A - 実時間フーリエ変換分光測定法 - Google Patents
実時間フーリエ変換分光測定法Info
- Publication number
- JPH0273121A JPH0273121A JP17539989A JP17539989A JPH0273121A JP H0273121 A JPH0273121 A JP H0273121A JP 17539989 A JP17539989 A JP 17539989A JP 17539989 A JP17539989 A JP 17539989A JP H0273121 A JPH0273121 A JP H0273121A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- task
- memory
- microcode
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Spectrometry And Color Measurement (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は一般に高速度のデータ収集、処理及び分析用の
電子装置に関し、特に時間変化する性質の化学的混合物
を分析する分光装置で、現時データを常時人手しながら
、化学的発射源を連続的にモニター可能なように実質上
実時間ベースで動作する装置に関する。
電子装置に関し、特に時間変化する性質の化学的混合物
を分析する分光装置で、現時データを常時人手しながら
、化学的発射源を連続的にモニター可能なように実質上
実時間ベースで動作する装置に関する。
(従来の技術)
数社が、フーリエ変換分光計として知られる、サンプル
の化学的分析用装置を製造している。このような分光計
は一般に、赤外線、マイクロ波またはその他の放射源と
し得る時間変化する放射源と、内部で既知または未知の
組成で、固体、液体、気体あるいはプラズマのサンプル
と放射が相互作用するチャンバまたはその他の装置と、
チャンバを通過した放射に応答し、相互作用によって発
せられる放射を検出する検出器とを含む。検出された信
号は通常、コンピュータによるその後の処理のためデジ
タル化される。このような処理の目的は、サンプル中の
幾つかの化学装置1[に関連するものとしてオペレータ
が認識可能なスペクトル分析を発展させることにある。
の化学的分析用装置を製造している。このような分光計
は一般に、赤外線、マイクロ波またはその他の放射源と
し得る時間変化する放射源と、内部で既知または未知の
組成で、固体、液体、気体あるいはプラズマのサンプル
と放射が相互作用するチャンバまたはその他の装置と、
チャンバを通過した放射に応答し、相互作用によって発
せられる放射を検出する検出器とを含む。検出された信
号は通常、コンピュータによるその後の処理のためデジ
タル化される。このような処理の目的は、サンプル中の
幾つかの化学装置1[に関連するものとしてオペレータ
が認識可能なスペクトル分析を発展させることにある。
光学的生データからスペクトル分析への処理は従来、フ
ーリエ変換アルゴリズムを用いて行われている。フーリ
エ変換が、インタフェログラムなどの時間領域(ドメイ
ン)関数を、スペクトルとして表せ、認識可能な周波数
領域の関数に変換する。この周波数領域の関数が、サン
プル中に存在する化学的成分に関連した定性的及び定量
的両方の情報を発生するのに使われる。
ーリエ変換アルゴリズムを用いて行われている。フーリ
エ変換が、インタフェログラムなどの時間領域(ドメイ
ン)関数を、スペクトルとして表せ、認識可能な周波数
領域の関数に変換する。この周波数領域の関数が、サン
プル中に存在する化学的成分に関連した定性的及び定量
的両方の情報を発生するのに使われる。
時間領域の放射源信号を用い、これをフーリエ変換分析
を用いて周波数領域の信号へ変換するには、多大の計算
を必要とする。正確を期すためには、数千の干渉計、つ
まり放射応答によるデータ点を収集しデジタル化して、
時間領域の信号を生成しなければならない。そしてフー
リエ変換の実施前に、インタフェログラムの質を高める
ため、“アポダイゼーション”として知られる処理が一
般的に必要である。フーリエ変換は通例、高速フーリエ
変換(FFT)アルゴリズムとして知られるアルゴリズ
ムを用いて行われる。かかる変換後、既知の要素の一定
のバックグランドを有する特定源について有用な情報を
得るため、バックグランドスペクトルを差し引いたり、
あるいは計算後のスペクトルを標準つまり既知のスペク
トルと比較することもしばしば必要である。また、装置
もしくは環境条件によって持ち込まれた不規則性やずれ
を取り除くために、減算が必要なこともある。
を用いて周波数領域の信号へ変換するには、多大の計算
を必要とする。正確を期すためには、数千の干渉計、つ
まり放射応答によるデータ点を収集しデジタル化して、
時間領域の信号を生成しなければならない。そしてフー
リエ変換の実施前に、インタフェログラムの質を高める
ため、“アポダイゼーション”として知られる処理が一
般的に必要である。フーリエ変換は通例、高速フーリエ
変換(FFT)アルゴリズムとして知られるアルゴリズ
ムを用いて行われる。かかる変換後、既知の要素の一定
のバックグランドを有する特定源について有用な情報を
得るため、バックグランドスペクトルを差し引いたり、
あるいは計算後のスペクトルを標準つまり既知のスペク
トルと比較することもしばしば必要である。また、装置
もしくは環境条件によって持ち込まれた不規則性やずれ
を取り除くために、減算が必要なこともある。
もちろん実用では、得られたデータが分析され、何等か
の有用な方法で表示されねばならない。
の有用な方法で表示されねばならない。
他の多くの装置と同様、フーリエ変換式干渉計分光測定
装置を作製する際には、妥協されなければならない設計
上の幾つかの折衷点が存在する。
装置を作製する際には、妥協されなければならない設計
上の幾つかの折衷点が存在する。
高い分解能と広いバンド幅両方の組合せが望ましいと通
常見なされるが、これら両方の目的を達成するには、収
集し変換しなければならないデータ点の数を増す必要が
ある。このような多数のデータ点を得るためには、サン
プリングを包括的にせねばならず、従ってその後得られ
たデータ点に対して行わねばならない多大な計算分析に
よって、装置の全体速度が制限される。一般に、従来の
多くの干渉計は、1つの高分解能インタフェログラムを
処理して変換するのに5〜10分間程度を必要とした。
常見なされるが、これら両方の目的を達成するには、収
集し変換しなければならないデータ点の数を増す必要が
ある。このような多数のデータ点を得るためには、サン
プリングを包括的にせねばならず、従ってその後得られ
たデータ点に対して行わねばならない多大な計算分析に
よって、装置の全体速度が制限される。一般に、従来の
多くの干渉計は、1つの高分解能インタフェログラムを
処理して変換するのに5〜10分間程度を必要とした。
もっと速い装置を作製するのは可能だが、そのためには
分解能またはバンド幅を犠牲にせざるを得す、これは装
置の実用性をひどく制限する。その結果、これまでは実
用上実時間の出力を発生可能で、大きなバンド幅を持つ
正確な装置を作ることは不可能であった。このような装
置に対する最も厳しい制約は、高分解能のインタフェロ
グラムを生成するのに必要なデータの収集と多量のコン
ピュータ処理における時間の遅れに主に原因していた。
分解能またはバンド幅を犠牲にせざるを得す、これは装
置の実用性をひどく制限する。その結果、これまでは実
用上実時間の出力を発生可能で、大きなバンド幅を持つ
正確な装置を作ることは不可能であった。このような装
置に対する最も厳しい制約は、高分解能のインタフェロ
グラムを生成するのに必要なデータの収集と多量のコン
ピュータ処理における時間の遅れに主に原因していた。
(発明が解決しようとする課題)
バンド幅と分解能を維持しながら計算時間を減らそうと
する従来の尽力は、満足できるものでなかった。より高
速のコンピュータ演算及びより効率的な手法を達成する
点で進展がみられるが、これまでのところこれら両要素
あるいはそれらの組合せのいずれも、顕著な分解能と、
例えば約1秒のサンプリング及び計算時間とが可能な高
精度で、広いバンドの干渉計の実現に至っていない。か
かる装置は、動的に変化するサンプルの研究で強く望ま
れている。このような装置の有用な用途は例えば、自動
車からの排気ガスの分析である。こうした排気ガスは、
自動車のエンジンが各種の動作段階を経過するにつれ、
含有量が急速に変化する。
する従来の尽力は、満足できるものでなかった。より高
速のコンピュータ演算及びより効率的な手法を達成する
点で進展がみられるが、これまでのところこれら両要素
あるいはそれらの組合せのいずれも、顕著な分解能と、
例えば約1秒のサンプリング及び計算時間とが可能な高
精度で、広いバンドの干渉計の実現に至っていない。か
かる装置は、動的に変化するサンプルの研究で強く望ま
れている。このような装置の有用な用途は例えば、自動
車からの排気ガスの分析である。こうした排気ガスは、
自動車のエンジンが各種の動作段階を経過するにつれ、
含有量が急速に変化する。
実時間に近いベースで正確なスペクトルを与えられない
装置では、自動車の排気ガスの時間変化する含有量を正
確に測定できない。
装置では、自動車の排気ガスの時間変化する含有量を正
確に測定できない。
この問題を解決するための一つの方法は、同時ニ動作す
る複数のコ・プロセッサユニットを用いることである。
る複数のコ・プロセッサユニットを用いることである。
しかしこのような方法は、各コ・プロセッサが適切な情
報を共有できようにするのに、コ・プロセッサ間で高度
な制御を必要とする。
報を共有できようにするのに、コ・プロセッサ間で高度
な制御を必要とする。
かかるシステムは、計算の進行につれ多量のデータをシ
ステムを通じて転送する必要があり、また異なるプロセ
ッサは計算分析のうち異なる部分をそれぞれ処理するた
め、必然的に複雑である。
ステムを通じて転送する必要があり、また異なるプロセ
ッサは計算分析のうち異なる部分をそれぞれ処理するた
め、必然的に複雑である。
(課題を解決するための手段)
本発明を要約すれば、干渉計の出力を処理及び分析する
装置が、干渉計を制御して検出器からデータを受け取る
少なくとも1つの制御多重タスクプロセッサ、及び各々
が制御プロセッサの制御下で動作し、且つコ・プロセッ
サメモリを具備した複数のコ・プロセッサを含み、制御
プロセッサがアドレス発生器を介して各コ・プロセッサ
のメモリに接続され、コ・プロセッサメモリ内のデータ
がタスク間で逐次切り換えられるように、制御プロセッ
サが各コ・プロセッサのアドレス発生器を周jlli的
に変更せしめる。
装置が、干渉計を制御して検出器からデータを受け取る
少なくとも1つの制御多重タスクプロセッサ、及び各々
が制御プロセッサの制御下で動作し、且つコ・プロセッ
サメモリを具備した複数のコ・プロセッサを含み、制御
プロセッサがアドレス発生器を介して各コ・プロセッサ
のメモリに接続され、コ・プロセッサメモリ内のデータ
がタスク間で逐次切り換えられるように、制御プロセッ
サが各コ・プロセッサのアドレス発生器を周jlli的
に変更せしめる。
また本発明を要約すれば、多重プロセッサ処理装置を作
動する方法が、逐次分析の一連のステップのための一組
(セット)のデータが各々ロードされる複数のコ・プロ
セッサと、最後の結果が達成されるまで各コ・プロセッ
サに一連のタスクが逐次割り当てられるように、各コ・
プロセッサメモリのアドレス割当を制御する中央プロセ
ッサとを含む。
動する方法が、逐次分析の一連のステップのための一組
(セット)のデータが各々ロードされる複数のコ・プロ
セッサと、最後の結果が達成されるまで各コ・プロセッ
サに一連のタスクが逐次割り当てられるように、各コ・
プロセッサメモリのアドレス割当を制御する中央プロセ
ッサとを含む。
本発明の利点は、時間変化する化学的混合物の動きの実
質上実時間による分析を実施可能な分光計が得られる点
にある。
質上実時間による分析を実施可能な分光計が得られる点
にある。
本発明の別の目的は、共通のタスクに関して動作する複
数のプロセッサの効率的な利用を可能とする一般的な処
理操作のための手法を提供することにある。
数のプロセッサの効率的な利用を可能とする一般的な処
理操作のための手法を提供することにある。
本発明の上記以外の目的、利点及び特徴は、添付の図面
を参照した以下の詳細な説明から明らかとなろう。
を参照した以下の詳細な説明から明らかとなろう。
(実施例)
第1図に全体として、はぼ実時間の干渉計装置のための
データの流れと制御の概略が示しである。
データの流れと制御の概略が示しである。
装置の光路は概略的にだけ示してあり、従来の通りであ
る。干渉計12を用いて、光路によってサンプルセル1
4に導かれる赤外線の時間変化する干渉パターンを発生
する。連続的に変化するサンプル物質源を用いる場合、
サンプルセル14はサンプリングすべき物質用の適切な
入口と出口(図示せず)を有し、サンプルセル内の物質
がそこを通じて絶えず流れるようにする。干渉計の光パ
ターンとサンプルセル内の物質量での相互作用に基づく
光学的出力が、干渉計12からの光源のスペクトルに適
合した検出器16に差し向けられる。
る。干渉計12を用いて、光路によってサンプルセル1
4に導かれる赤外線の時間変化する干渉パターンを発生
する。連続的に変化するサンプル物質源を用いる場合、
サンプルセル14はサンプリングすべき物質用の適切な
入口と出口(図示せず)を有し、サンプルセル内の物質
がそこを通じて絶えず流れるようにする。干渉計の光パ
ターンとサンプルセル内の物質量での相互作用に基づく
光学的出力が、干渉計12からの光源のスペクトルに適
合した検出器16に差し向けられる。
干渉計12はデジタル式の干渉計制御装置18の制御下
で動作し、干渉計制御装置18はマスタープロセッサ2
0によって制御される。マスタープロセッサ20はN1
colet Instrument社製の1280型、
20ビット多重タスクプロセッサなどの制御デジタル式
中央処理装置で、アドレス可能メモリの列群も具備して
いる。マスタープロセッサ20には3つのコ・プロセッ
サ22.24及び26が付設され、各々マスタープロセ
ッサ20のデータ及びアドレスバス両方に接続されてい
る。マスタープロセッサ20は3つのコ・プロセッサ2
2.24及び26の動作を制御する制御プロセッサとし
て接続されている。
で動作し、干渉計制御装置18はマスタープロセッサ2
0によって制御される。マスタープロセッサ20はN1
colet Instrument社製の1280型、
20ビット多重タスクプロセッサなどの制御デジタル式
中央処理装置で、アドレス可能メモリの列群も具備して
いる。マスタープロセッサ20には3つのコ・プロセッ
サ22.24及び26が付設され、各々マスタープロセ
ッサ20のデータ及びアドレスバス両方に接続されてい
る。マスタープロセッサ20は3つのコ・プロセッサ2
2.24及び26の動作を制御する制御プロセッサとし
て接続されている。
検出器16の出力は、スレーブプロセッサ28に接続さ
れている。スレーブプロセッサ28も、別のN1col
et 1280型プロセツサなど、付設のアドレス可能
メモリを含む完備した中央処理装置である。スレーブプ
ロセッサ28は、そのソフトウェアがマスタープロセッ
サ20から与えられる一般的なオペレーティング命令下
でスレーブプロセッサが動作するように指令し、一つの
プロセッサが全体のシステムタイミングに対する制御権
を持つようにしているという意味で、“スレーブと称さ
れる。スレーブプロセッサ28に3つのコ・プロセッサ
30.32及び34が付設され、これらも各々スレーブ
プロセッサ28のデータ及びアドレスバス両方に接続さ
れている。スレーブプロセッサ28は3つのコ・プロセ
ッサ30.32及び34の動作を制御する制御プロセッ
サとして接続されている。ディスク記憶媒体36が、ス
レーブプロセッサ28によって書き込まれ、マスタープ
ロセッサ20によって読み取られるように接続されてい
る。マスタープロセッサ20には、ディスク記憶装置3
8、プリンタ40、及びブロック42など適切なデータ
出力及び表示装置も付設されている。
れている。スレーブプロセッサ28も、別のN1col
et 1280型プロセツサなど、付設のアドレス可能
メモリを含む完備した中央処理装置である。スレーブプ
ロセッサ28は、そのソフトウェアがマスタープロセッ
サ20から与えられる一般的なオペレーティング命令下
でスレーブプロセッサが動作するように指令し、一つの
プロセッサが全体のシステムタイミングに対する制御権
を持つようにしているという意味で、“スレーブと称さ
れる。スレーブプロセッサ28に3つのコ・プロセッサ
30.32及び34が付設され、これらも各々スレーブ
プロセッサ28のデータ及びアドレスバス両方に接続さ
れている。スレーブプロセッサ28は3つのコ・プロセ
ッサ30.32及び34の動作を制御する制御プロセッ
サとして接続されている。ディスク記憶媒体36が、ス
レーブプロセッサ28によって書き込まれ、マスタープ
ロセッサ20によって読み取られるように接続されてい
る。マスタープロセッサ20には、ディスク記憶装置3
8、プリンタ40、及びブロック42など適切なデータ
出力及び表示装置も付設されている。
第2図には、第1図に示したコ・プロセッサ22.24
.26.30.32または34の1つの内部回路の概略
ブロック図が示しである。これら6つのコ・プロセッサ
は、内部的に実質上間等である。各コ・プロセッサは、
コ・プロセッサ制御及び入/出力処理装置50を含む。
.26.30.32または34の1つの内部回路の概略
ブロック図が示しである。これら6つのコ・プロセッサ
は、内部的に実質上間等である。各コ・プロセッサは、
コ・プロセッサ制御及び入/出力処理装置50を含む。
コ・プロセッサ制御装置50は、コ・プロセッサの動作
を制御する制御プロセッサ、すなわちマスタープロセッ
サ20またはスレーブプロセッサ28からの入力を受け
取る。コ・プロセッサ制御装置50は、内部にマイクロ
コードプログラムを有するコ・プロセッサの構成部品の
作動を制御するように動作する。これらの構成部品には
、−組のローカル処理命令つまりマイクロコートが内部
にロードされるマイクロコードメモリ52と、マイクロ
コード命令を実行可能なマイクロコードプロセッサ54
が含まれる。マイクロコードプログラム54はマイクロ
コードメモリ52ヘアクセスするように接続すれると共
に、コ・プロセッサ制御装置50の制御下で動作する適
切なゲート56を介してコ・プロセッサメモリにも接続
されている。コ・ブロモ・7す主メモリは、“アップ”
メモリセグメントと“ダウン”メモリセグメントと称さ
れる2つのセグメントに分かれている。第2図中、アン
プメモリセグメントは58、ダウンメモリセグメン1へ
は60でそれぞれ示しである。この実施例において、両
メモリセグメント58と60は各々64にメモリのブロ
ックである。アップ及びダウンメモリセグメント58.
60へ及びそこからのデータの流れは、アンプ及びダウ
ンメモリセグメント58.60からのデータバスを制御
プロセッサのデータバスに接続するデータゲート62を
介して行われる。同じく、制御プロセッサからのアドレ
スバスは、アドレス発生器64を介してアップ及びダウ
ンメモリセグメント58.60に接続されている。アド
レス発生器64は、コ・プロセッサ制御装置50から、
及び制御プロセッサ自体からも直接入力を受け取る。ア
ドレス発生器64は、制御プロセッサから両メモリセグ
メント58.60へのアクセスを制御する。20ビツト
のアドレスバスに基づいた第1及び2図の実施例では、
プロセッサメモリは64にの複数ブロックに編成されて
いるので、任意の1ブロツク内のアドレスはアドレスバ
スの下位16ビツトによってアドレスされる。続く3つ
のアドレスビットが、64にの8ブロツクのうちどれが
アドレスされているかを指定する(最高位ビットは使わ
れない)。つまり、アドレス発生器は3ビツトのアドレ
スを受け取って、メモリセグメント58または60のど
ちらかがプロセッサによってアドレスされているのかを
判定する。従って、メモリスペース内におけるコ・プロ
セッサの割当は、アドレス発生器64によって認識され
る3ビツトを変更することによって変えられる。また第
2図のコ・プロセッサは、数学的な集中計算に対して特
に効率的なマルチチップ回路である乗算/累算器66を
具備する。乗算/累算器66は、その制御入力をマイク
ロコードメモリ52に受け取り、またアップ及びダウン
メモリセグメント58.60に対してデータを送受する
ように接続されている。マイクロコードメモリ52から
の出力はアドレス発生器64にも接続され、それに入力
を与える。
を制御する制御プロセッサ、すなわちマスタープロセッ
サ20またはスレーブプロセッサ28からの入力を受け
取る。コ・プロセッサ制御装置50は、内部にマイクロ
コードプログラムを有するコ・プロセッサの構成部品の
作動を制御するように動作する。これらの構成部品には
、−組のローカル処理命令つまりマイクロコートが内部
にロードされるマイクロコードメモリ52と、マイクロ
コード命令を実行可能なマイクロコードプロセッサ54
が含まれる。マイクロコードプログラム54はマイクロ
コードメモリ52ヘアクセスするように接続すれると共
に、コ・プロセッサ制御装置50の制御下で動作する適
切なゲート56を介してコ・プロセッサメモリにも接続
されている。コ・ブロモ・7す主メモリは、“アップ”
メモリセグメントと“ダウン”メモリセグメントと称さ
れる2つのセグメントに分かれている。第2図中、アン
プメモリセグメントは58、ダウンメモリセグメン1へ
は60でそれぞれ示しである。この実施例において、両
メモリセグメント58と60は各々64にメモリのブロ
ックである。アップ及びダウンメモリセグメント58.
60へ及びそこからのデータの流れは、アンプ及びダウ
ンメモリセグメント58.60からのデータバスを制御
プロセッサのデータバスに接続するデータゲート62を
介して行われる。同じく、制御プロセッサからのアドレ
スバスは、アドレス発生器64を介してアップ及びダウ
ンメモリセグメント58.60に接続されている。アド
レス発生器64は、コ・プロセッサ制御装置50から、
及び制御プロセッサ自体からも直接入力を受け取る。ア
ドレス発生器64は、制御プロセッサから両メモリセグ
メント58.60へのアクセスを制御する。20ビツト
のアドレスバスに基づいた第1及び2図の実施例では、
プロセッサメモリは64にの複数ブロックに編成されて
いるので、任意の1ブロツク内のアドレスはアドレスバ
スの下位16ビツトによってアドレスされる。続く3つ
のアドレスビットが、64にの8ブロツクのうちどれが
アドレスされているかを指定する(最高位ビットは使わ
れない)。つまり、アドレス発生器は3ビツトのアドレ
スを受け取って、メモリセグメント58または60のど
ちらかがプロセッサによってアドレスされているのかを
判定する。従って、メモリスペース内におけるコ・プロ
セッサの割当は、アドレス発生器64によって認識され
る3ビツトを変更することによって変えられる。また第
2図のコ・プロセッサは、数学的な集中計算に対して特
に効率的なマルチチップ回路である乗算/累算器66を
具備する。乗算/累算器66は、その制御入力をマイク
ロコードメモリ52に受け取り、またアップ及びダウン
メモリセグメント58.60に対してデータを送受する
ように接続されている。マイクロコードメモリ52から
の出力はアドレス発生器64にも接続され、それに入力
を与える。
最も一般的な動作において、第1図に示した実時間測定
用の装置は、サンプルセル14内のガスの化学成分のほ
ぼ実時間での分析を与えるように動作する。ここで、“
はぼ実時間”とは、測定すべき物質がサンプルセル14
を通過している間に、サンプリングと分析が連続的に同
時進行する形で行われることを意味する。このようなほ
ぼ実時間の同時進行分析は、自動車からの排気ガスのモ
ニターなど、連続的なプロセスの分析で特に有用である
。但し、“はぼ実時間”という用語をこの意味で使う場
合、分析結果が瞬間的に得られることは意味していない
。第1及び2図の装置の動作の機構を詳しく検討すれば
明らかなように、干渉計の生データに対して施さねばな
らない分析動作によって、結果はある程度時間遅延され
る。それにも拘らず、結果は連続的に得られ、サンプル
セル内の混合物の化学成分の時間変化を求めるようにモ
ニターできる。
用の装置は、サンプルセル14内のガスの化学成分のほ
ぼ実時間での分析を与えるように動作する。ここで、“
はぼ実時間”とは、測定すべき物質がサンプルセル14
を通過している間に、サンプリングと分析が連続的に同
時進行する形で行われることを意味する。このようなほ
ぼ実時間の同時進行分析は、自動車からの排気ガスのモ
ニターなど、連続的なプロセスの分析で特に有用である
。但し、“はぼ実時間”という用語をこの意味で使う場
合、分析結果が瞬間的に得られることは意味していない
。第1及び2図の装置の動作の機構を詳しく検討すれば
明らかなように、干渉計の生データに対して施さねばな
らない分析動作によって、結果はある程度時間遅延され
る。それにも拘らず、結果は連続的に得られ、サンプル
セル内の混合物の化学成分の時間変化を求めるようにモ
ニターできる。
第1図の装置の設計が意図しているのは、行われねばな
らない処理全体を一連の個別動作つまりタスクに分ける
ことである。これらのタスクは逐次行われ、データの収
集から始まって、ユーザにとって所望なフォーマットで
のデータの出力または表示に終る。これらタスクはそれ
ぞれ異なる処理時間を含む。装置がほぼ実時間で動作可
能となるため、装置の設計は、各種のタスクが与えられ
た一組のデータ測定値を各々有するコ・プロセッサへ順
次割り当てられるようになされる。与えられたタスクが
終了すると、各コ・プロセッサとその付属データには、
同じ一組のデータに対して施されるべき異なるタスクが
割り当てられる。つまり、第1図の装置における6つの
コ・プロセッサ(22,24,26,30,32及び3
4)の場合、装置が連続的に使われている間のある任意
の時点において各々のプロセッサは、検出器16からの
データの6つの連続したサンプリングのうちそれぞれ異
なる一つに基づく一組のデータに対して動作している。
らない処理全体を一連の個別動作つまりタスクに分ける
ことである。これらのタスクは逐次行われ、データの収
集から始まって、ユーザにとって所望なフォーマットで
のデータの出力または表示に終る。これらタスクはそれ
ぞれ異なる処理時間を含む。装置がほぼ実時間で動作可
能となるため、装置の設計は、各種のタスクが与えられ
た一組のデータ測定値を各々有するコ・プロセッサへ順
次割り当てられるようになされる。与えられたタスクが
終了すると、各コ・プロセッサとその付属データには、
同じ一組のデータに対して施されるべき異なるタスクが
割り当てられる。つまり、第1図の装置における6つの
コ・プロセッサ(22,24,26,30,32及び3
4)の場合、装置が連続的に使われている間のある任意
の時点において各々のプロセッサは、検出器16からの
データの6つの連続したサンプリングのうちそれぞれ異
なる一つに基づく一組のデータに対して動作している。
与えられた任意の一組のデータの出力が完了すると、コ
・プロセッサは自由になり、新たな一組のデータサンプ
ルが取り込まれる。
・プロセッサは自由になり、新たな一組のデータサンプ
ルが取り込まれる。
こうして、連続的な処理の流れが常時維持され、装置を
通じて進行するデータサンプルの列(キュー)に対する
必要な全てのタスクを行う。
通じて進行するデータサンプルの列(キュー)に対する
必要な全てのタスクを行う。
従って、例えば第1図の装置においては、検出器16に
よって検知された時間変化する検出光のサンプルを取り
、サンプルセル14内におけるガスの透過パターンの高
分解能フーリエ変換分析に充分なデータを得るのにある
有限の時間を要する。
よって検知された時間変化する検出光のサンプルを取り
、サンプルセル14内におけるガスの透過パターンの高
分解能フーリエ変換分析に充分なデータを得るのにある
有限の時間を要する。
また例えば、所望の分解能を得るためには、1秒程度の
サンプリング時間が必要になる。最初の1秒の時間間隔
中、検出器16の出力すなわち一組のデータセットが、
指定された第1コ・プロセッサ内の8亥当するアップま
たはダウンメモリセグメント58.60に入力してロー
ドされる。本例示の目的上、第1の入力データセットが
コ・プロセッサ30にロードされるものとする。このロ
ードを容易にするため、スレーブプロセッサ28によっ
て行われるロードデータのタスクが入力データを、第1
コ・プロセッサのメモリセグメント58と60によって
現在占められているアドレススペース内のエリアヘロー
ドするように、コ・プロセッサ30はスレーブプロセッ
サ28からのアドレス値がロードされるアドレス発生器
64を有する。
サンプリング時間が必要になる。最初の1秒の時間間隔
中、検出器16の出力すなわち一組のデータセットが、
指定された第1コ・プロセッサ内の8亥当するアップま
たはダウンメモリセグメント58.60に入力してロー
ドされる。本例示の目的上、第1の入力データセットが
コ・プロセッサ30にロードされるものとする。このロ
ードを容易にするため、スレーブプロセッサ28によっ
て行われるロードデータのタスクが入力データを、第1
コ・プロセッサのメモリセグメント58と60によって
現在占められているアドレススペース内のエリアヘロー
ドするように、コ・プロセッサ30はスレーブプロセッ
サ28からのアドレス値がロードされるアドレス発生器
64を有する。
そして、1秒の入力サイクル中、スレーブプロセッサ2
8は検出器16の出力からのデータセットを、第1のコ
・プロセッサ30によって現在占められている入力アド
レスのメモリセグメント内にロードする。その後、次の
1秒のサンプリング間隔中、次のプロセッサ、例えばコ
・プロセッサ32にデータ入力のタスクが割り当てられ
る。この第2の間隔中、今度はコ・プロセッサ32内の
メモリに、ロードデータのタスクがデータを入れるよう
に指示されるアドレススペース内のエリアカ(割り当て
られるように、コ・プロセッサ32はスレーブII <
Hプロセッサ28からの1亥当アドレス値がロードされ
るアドレス発生器64を有する。
8は検出器16の出力からのデータセットを、第1のコ
・プロセッサ30によって現在占められている入力アド
レスのメモリセグメント内にロードする。その後、次の
1秒のサンプリング間隔中、次のプロセッサ、例えばコ
・プロセッサ32にデータ入力のタスクが割り当てられ
る。この第2の間隔中、今度はコ・プロセッサ32内の
メモリに、ロードデータのタスクがデータを入れるよう
に指示されるアドレススペース内のエリアカ(割り当て
られるように、コ・プロセッサ32はスレーブII <
Hプロセッサ28からの1亥当アドレス値がロードされ
るアドレス発生器64を有する。
割り当てられるアドレス値は、コ・プロセッサ30のメ
モリに前に割り当てられたものと同一である。コ・プロ
セッサ32に“入力”タスクが割り当てられる同じ時間
間隔中、メモリ内に全−組のデータが記憶されたコ・プ
ロセッサ30には、干渉計データセットの高速フーリエ
変換を行って、信号を時間領域信号から周波数領域信号
へと変換する次のタスクを割り当てることができる。こ
のタスクは実施は、スレーブ制御プロセッサ28がコ・
プロセッサ30のアドレス発生器64にベースアドレス
ロケーションをロードし、コ・プロセッサ30内のデー
タを高速フーリエ変換分析のタスクへ割り当てることに
よって開始される。このタスクが行われている期間中は
、多重タスクプロセッサ28の通常の処理用時間スライ
スが、マイクロコードメモリ52内に記憶された高速フ
ーリエ変換マイクロコード、及びコ・プロセッサ30に
組み入れられた乗算/累算器66の数値計算能力と共に
使われる。第2のデータ収集期間が終ると、第3の時間
間隔が始まり、今度は、コ・プロセッサ34にデータ入
力収集のタスクが割り当てられ、またそのアドレス発生
器にはベースアドレスロケーションとして、データ人力
のタスク用であるメモリ内アドレスのロケーションが割
り当てられる。この第3の時間間隔中、コ・プロセッサ
32には、そのデータ入力段階中に収集したデータの高
速フーリエ変換分析のタスクが割り当てられる。また、
この第3の時間間隔中コ・プロセッサ30には、吸収度
を計算するタスクとその結果得られた出力計算をディス
ク36に書き込んで記憶するタスクとが割り当てられる
。この目的を達成するため、スレーブプロセッサ28は
コ・プロセッサ30のアドレス発生器64に、この時点
でコ・プロセッサ30に割り当てられたアドレススペー
スに対し演算して、シングルビームスベクトルからバン
クグランドを差し引いて吸収度を記憶し、その8亥当す
るアソフ゛またはダウンメモリセグメント58.60の
内容をディスク36に記憶するタスクのベースアドレス
ロケーション力(割り当てられる。コ・プロセッサ34
のデータ収集サイクルカl冬了すると、すなわち第3の
時間間隔が終ると、上記のサイクルが繰り返され、コ・
プロセッサ32にはデータ入力のタスクが割り当てられ
、コ・プロセッサ32はデータ出力のタスクに向かい、
コ・プロセッサ34はデータの高速フーリエ変換分析の
タスクへと進む。
モリに前に割り当てられたものと同一である。コ・プロ
セッサ32に“入力”タスクが割り当てられる同じ時間
間隔中、メモリ内に全−組のデータが記憶されたコ・プ
ロセッサ30には、干渉計データセットの高速フーリエ
変換を行って、信号を時間領域信号から周波数領域信号
へと変換する次のタスクを割り当てることができる。こ
のタスクは実施は、スレーブ制御プロセッサ28がコ・
プロセッサ30のアドレス発生器64にベースアドレス
ロケーションをロードし、コ・プロセッサ30内のデー
タを高速フーリエ変換分析のタスクへ割り当てることに
よって開始される。このタスクが行われている期間中は
、多重タスクプロセッサ28の通常の処理用時間スライ
スが、マイクロコードメモリ52内に記憶された高速フ
ーリエ変換マイクロコード、及びコ・プロセッサ30に
組み入れられた乗算/累算器66の数値計算能力と共に
使われる。第2のデータ収集期間が終ると、第3の時間
間隔が始まり、今度は、コ・プロセッサ34にデータ入
力収集のタスクが割り当てられ、またそのアドレス発生
器にはベースアドレスロケーションとして、データ人力
のタスク用であるメモリ内アドレスのロケーションが割
り当てられる。この第3の時間間隔中、コ・プロセッサ
32には、そのデータ入力段階中に収集したデータの高
速フーリエ変換分析のタスクが割り当てられる。また、
この第3の時間間隔中コ・プロセッサ30には、吸収度
を計算するタスクとその結果得られた出力計算をディス
ク36に書き込んで記憶するタスクとが割り当てられる
。この目的を達成するため、スレーブプロセッサ28は
コ・プロセッサ30のアドレス発生器64に、この時点
でコ・プロセッサ30に割り当てられたアドレススペー
スに対し演算して、シングルビームスベクトルからバン
クグランドを差し引いて吸収度を記憶し、その8亥当す
るアソフ゛またはダウンメモリセグメント58.60の
内容をディスク36に記憶するタスクのベースアドレス
ロケーション力(割り当てられる。コ・プロセッサ34
のデータ収集サイクルカl冬了すると、すなわち第3の
時間間隔が終ると、上記のサイクルが繰り返され、コ・
プロセッサ32にはデータ入力のタスクが割り当てられ
、コ・プロセッサ32はデータ出力のタスクに向かい、
コ・プロセッサ34はデータの高速フーリエ変換分析の
タスクへと進む。
コ・プロセッサ22.24及び26の対応した3つのタ
スクのうち、第1のタスクは、入力プロセスと同等のデ
ィスク36からデータを読み取るタスクである。第2の
タスクは、ディスク38に書き込まれた記憶されている
吸収度スペクトルに関して統計分析を行うタスクで、こ
の分析はサンプルセル14内に含まれた成分ガスの定量
分析を含み、また吸収度スペクトルの一定標準との比較
を含むこともある。上記のコ・プロセッサに係わる第3
のタスクは、ディスク38、プリンタ40またはプロッ
タ42など適切な出力装置へデータを出力及び記録する
タスクである。
スクのうち、第1のタスクは、入力プロセスと同等のデ
ィスク36からデータを読み取るタスクである。第2の
タスクは、ディスク38に書き込まれた記憶されている
吸収度スペクトルに関して統計分析を行うタスクで、こ
の分析はサンプルセル14内に含まれた成分ガスの定量
分析を含み、また吸収度スペクトルの一定標準との比較
を含むこともある。上記のコ・プロセッサに係わる第3
のタスクは、ディスク38、プリンタ40またはプロッ
タ42など適切な出力装置へデータを出力及び記録する
タスクである。
第1図の装置内のコ・プロセッサ22.24.26.3
0.32及び34の構造と使用方法は、第1図の装置を
通じた実データの分析及び流れの速度を最適化する点で
、顕著な利点をもたらす。
0.32及び34の構造と使用方法は、第1図の装置を
通じた実データの分析及び流れの速度を最適化する点で
、顕著な利点をもたらす。
尚、各々のコ・プロセッサにおいて、異なるタスクが行
われるとき、データは1つのコ・プロセッサから別のコ
・プロセッサへ転送されない。その代わりに、データは
同じコ・プロセッサに存在し続け、コ・プロセッサ自体
に異なるタスクが割り当てられる。制御プロセッサ20
または28が、アドレス発生器64内の相対アドレスを
変更するだけで、各コ・プロセッサにタスクを割り当て
る。
われるとき、データは1つのコ・プロセッサから別のコ
・プロセッサへ転送されない。その代わりに、データは
同じコ・プロセッサに存在し続け、コ・プロセッサ自体
に異なるタスクが割り当てられる。制御プロセッサ20
または28が、アドレス発生器64内の相対アドレスを
変更するだけで、各コ・プロセッサにタスクを割り当て
る。
言い換えれば、制御プロセッサ20及び28の各々のア
ドレス可能メモリの数ブロックに、それぞれのコ・プロ
セッサに割り当てられるべき各タスク用のプログラム命
令がロードされる。制御プロセッサ20または28が該
当のコ・プロセッサにタスクを割り当てようとする場合
、制御プロセッサはそのコ・プロセッサに含まれたアド
レス発生器64内に、該当タスクのプログラムによって
認識且つアドレスされる特定の64にブロックのアドレ
ス値をロードする。次いでプロセッサは、プログラムタ
スクを時分割法で実行する。各タスクつまりプログラム
は、アドレス可能なメモリ内の同じロケーションにある
データに対して常に演算する。但し、タスクが実行され
る都度、タスクは異なるセットのデータに対して演算す
る。これは、データがロードインまたはロードアウトさ
れるためでなく、アドレス発生器64内の割当を単に変
えることによって、データがアドレススペース内で“移
動”されるからである。すなわち、本装置はデータに対
する一連のタスクを、データをタスク毎に順次移動する
のでなく、データをある一定のコ・プロセッサ内に残し
たまま、タスク毎に論理的なアドレススペース内で移動
することによって逐次行う。第1図の装置で実施される
ような分析で必要なデータは多量なので、データの処理
全体はデータが静止したままである場合、各コ・プロセ
ッサにある一定のタスクが一意的に割り当てられ、タス
ク毎に転送されるようにデータがコ・プロセッサからコ
・プロセッサへ転送されねばならなかった場合よりも速
く進行する。
ドレス可能メモリの数ブロックに、それぞれのコ・プロ
セッサに割り当てられるべき各タスク用のプログラム命
令がロードされる。制御プロセッサ20または28が該
当のコ・プロセッサにタスクを割り当てようとする場合
、制御プロセッサはそのコ・プロセッサに含まれたアド
レス発生器64内に、該当タスクのプログラムによって
認識且つアドレスされる特定の64にブロックのアドレ
ス値をロードする。次いでプロセッサは、プログラムタ
スクを時分割法で実行する。各タスクつまりプログラム
は、アドレス可能なメモリ内の同じロケーションにある
データに対して常に演算する。但し、タスクが実行され
る都度、タスクは異なるセットのデータに対して演算す
る。これは、データがロードインまたはロードアウトさ
れるためでなく、アドレス発生器64内の割当を単に変
えることによって、データがアドレススペース内で“移
動”されるからである。すなわち、本装置はデータに対
する一連のタスクを、データをタスク毎に順次移動する
のでなく、データをある一定のコ・プロセッサ内に残し
たまま、タスク毎に論理的なアドレススペース内で移動
することによって逐次行う。第1図の装置で実施される
ような分析で必要なデータは多量なので、データの処理
全体はデータが静止したままである場合、各コ・プロセ
ッサにある一定のタスクが一意的に割り当てられ、タス
ク毎に転送されるようにデータがコ・プロセッサからコ
・プロセッサへ転送されねばならなかった場合よりも速
く進行する。
本装置のコ・プロセッサの設計及び実施による利点は、
任意の与えられたタスク中、コ・プロセッサが制御プロ
セッサのメモリ内に位置されたタスクプログラミングへ
アクセスすると共に、コ・プロセッサのマイクロコード
メモリ52内に位置されたマイクロコードを実行する点
にある。つまり、実際のプログラミングの実行では、特
に数値集中的な処理を行う際、制御プロセッサと独立に
ローカルのマイクロコード処理を適宜利用可能である。
任意の与えられたタスク中、コ・プロセッサが制御プロ
セッサのメモリ内に位置されたタスクプログラミングへ
アクセスすると共に、コ・プロセッサのマイクロコード
メモリ52内に位置されたマイクロコードを実行する点
にある。つまり、実際のプログラミングの実行では、特
に数値集中的な処理を行う際、制御プロセッサと独立に
ローカルのマイクロコード処理を適宜利用可能である。
従ってコ・プロセッサは、ローカルのマイクロコード処
理命令を完了まで独立に実行した後、適切なフラグをセ
ットするかあるいは適切な信号を発生することによって
、制御プロセッサにその旨を報知し、完了及び次タスク
の準備が整ったことを指示するように指令可能である。
理命令を完了まで独立に実行した後、適切なフラグをセ
ットするかあるいは適切な信号を発生することによって
、制御プロセッサにその旨を報知し、完了及び次タスク
の準備が整ったことを指示するように指令可能である。
このようにコ・プロセッサを用いる際の重要な構成要素
は、制御プロセッサ20と28の各々に関連したプログ
ラムである。このプログラムは、各コ・プロセッサにタ
スクを適宜割り当てることによって、コ・プロセッサを
処理しようとするものである。そこで論理的な理由から
、このプログラムはコ・プロセッサハンドラ(copr
ocessorhandler)、略してCPIIND
LRと称される。次に、動作と使用の全体的概念がより
充分に理解されるように、プログラムCPIINDLR
の疑似コードを列挙する。
は、制御プロセッサ20と28の各々に関連したプログ
ラムである。このプログラムは、各コ・プロセッサにタ
スクを適宜割り当てることによって、コ・プロセッサを
処理しようとするものである。そこで論理的な理由から
、このプログラムはコ・プロセッサハンドラ(copr
ocessorhandler)、略してCPIIND
LRと称される。次に、動作と使用の全体的概念がより
充分に理解されるように、プログラムCPIINDLR
の疑似コードを列挙する。
CPIINDLRの疑似コード
コ・プロセッサのテーブル定義
コ・プロセッサ(cp)毎の一テーブル[CP bus
y ] CPが使用中なら真、フリーなら偽 [CP go ] マイクロコードが実行中なら真、
そうでないなら偽 [Ta5k rD ] CPを使用しているタスクのI
D。
y ] CPが使用中なら真、フリーなら偽 [CP go ] マイクロコードが実行中なら真、
そうでないなら偽 [Ta5k rD ] CPを使用しているタスクのI
D。
またはCDがフリーなら前タスク
の10.全く使われないときは
1に設定。
[CP Device Codel命令をCPへ送るの
に必要な装置コード [upl [base address codeコ
upメモリがアクティブならビット4設定。
に必要な装置コード [upl [base address codeコ
upメモリがアクティブならビット4設定。
ベースアドレスコードは、どのメ
モリブロックをCPが占めている
かを指示。A−1はcpがメモリ
スペース内にないことを示す。
[IasL CMD]最後に実行または試みられたコマ
ンド [MCID address] CPに関するマイクロ
コードIDブロックのアドレス [Copies of the CP registe
r set ] (CPレジスタセットのコピー) マイクロコードテーブルの定義 [m1crocode 1oaded] コードがロー
ドされていないと−1゜他の場合はマイクロ コードを含んでいるファイルのコ ードを含む。
ンド [MCID address] CPに関するマイクロ
コードIDブロックのアドレス [Copies of the CP registe
r set ] (CPレジスタセットのコピー) マイクロコードテーブルの定義 [m1crocode 1oaded] コードがロー
ドされていないと−1゜他の場合はマイクロ コードを含んでいるファイルのコ ードを含む。
[In1tiai CP register set
] CPレジスタの初期値、マイクロコードの実行前 にその都度ロード。
] CPレジスタの初期値、マイクロコードの実行前 にその都度ロード。
マイクロコードに関するサイズコ
ード。(サイズは例えば、FFT
が実施されるデータ点の数を示す)
[Pa5s] マイクロコードに関するバスコード
。(それまでに書き込まれたマ イクロコードは全てpass・0のみ 使用) CP II N D L R = False [5ize] プログラム In1tDone error=Q 11ofTasks=0 ttof CP5=O While (、not、In1tDone) d
。
。(それまでに書き込まれたマ イクロコードは全てpass・0のみ 使用) CP II N D L R = False [5ize] プログラム In1tDone error=Q 11ofTasks=0 ttof CP5=O While (、not、In1tDone) d
。
read strings from 5tandar
d 10if (option、eqど■”) the
nverify that we can find
the CPverify that it acts
1ike a CPif (it is a CP
) then#ofCPs=llofCPs+1 In1tialize Coprocessor Ta
ble for this CPe1se error= not a CP”end i
f elseif (opLion、eq、”M’ )
thenif (tlofcPs 、gt、
O) thenopen m1crocode
fileif (microcode exists
)thenload m1crocode inf
ormation 1nto allactive
CP’5 set up m1crocode table
set m1crocode table ad
dress in theCoprocessor
Tables for each ac口ve CP
e1se error=” file not found
”end i f 1se error= no CPs 1niLiali
zed ”end i f elseif (option 、eq、 ”S″
) thenopen executable pr
ogram fileif (file exis
ts) thenstart file execu
tion as a child taskset
La5k as the next 5equent
ial task forreceiving a
CP taskll=ttofTasks #ofTasks=#ofTasks+1task r
eady(taskl)=、false。
d 10if (option、eqど■”) the
nverify that we can find
the CPverify that it acts
1ike a CPif (it is a CP
) then#ofCPs=llofCPs+1 In1tialize Coprocessor Ta
ble for this CPe1se error= not a CP”end i
f elseif (opLion、eq、”M’ )
thenif (tlofcPs 、gt、
O) thenopen m1crocode
fileif (microcode exists
)thenload m1crocode inf
ormation 1nto allactive
CP’5 set up m1crocode table
set m1crocode table ad
dress in theCoprocessor
Tables for each ac口ve CP
e1se error=” file not found
”end i f 1se error= no CPs 1niLiali
zed ”end i f elseif (option 、eq、 ”S″
) thenopen executable pr
ogram fileif (file exis
ts) thenstart file execu
tion as a child taskset
La5k as the next 5equent
ial task forreceiving a
CP taskll=ttofTasks #ofTasks=#ofTasks+1task r
eady(taskl)=、false。
task done(taskl)=、false。
set up a queued read
from the child tasks1se error=”file not found ”
ndif elseif (option 、eq、 @Q
” ) thenrnitDont=、true。
from the child tasks1se error=”file not found ”
ndif elseif (option 、eq、 @Q
” ) thenrnitDont=、true。
ndif
if (error 、ne、 none ”)
thentransfer error to 5
tandard l0end i f endwhile tasktt=0 while(#ofTasks 、gt、 O)
d。
thentransfer error to 5
tandard l0end i f endwhile tasktt=0 while(#ofTasks 、gt、 O)
d。
if (CP 1nterrupted) the
nFind interrupting CPttU
pdate tables for the C
Pllandle pending requests
for that CPe1se if (口ueuedRead(tasklt)
、eq、 done) thenget para
meters for task request
if (command 、eq、Ready”)
thantask ready(tasktt)=、
true。
nFind interrupting CPttU
pdate tables for the C
Pllandle pending requests
for that CPe1se if (口ueuedRead(tasklt)
、eq、 done) thenget para
meters for task request
if (command 、eq、Ready”)
thantask ready(tasktt)=、
true。
tf (all tasks are ready)
thenAIIReady=、 true。
thenAIIReady=、 true。
end i f
respond to task
requeue read from task
elseif (command 、eq、 ”D
one”) theneliminate the
task#ofTasks=tlofTasks−
1elseif (coIIlmand 、eq、
”GoWait″) thenexecute
a GOCP commandif (error
、eq、O) thenstack taskl
for when we get an 1nterr
uptend i f elseif (command 、eq、 ”t
!rror”) thentransfer err
or message to 5tandard 1
0respond to task requeue read from task
s1se execute the 5tandard CP
commandif (error 、eq、 ’N
o free CPs″、and、con+mad、e
q。
elseif (command 、eq、 ”D
one”) theneliminate the
task#ofTasks=tlofTasks−
1elseif (coIIlmand 、eq、
”GoWait″) thenexecute
a GOCP commandif (error
、eq、O) thenstack taskl
for when we get an 1nterr
uptend i f elseif (command 、eq、 ”t
!rror”) thentransfer err
or message to 5tandard 1
0respond to task requeue read from task
s1se execute the 5tandard CP
commandif (error 、eq、 ’N
o free CPs″、and、con+mad、e
q。
“八ttacb”) then
stack the requestelseif
(error 、eq、 ”Never wi
ll get a CP”、and。
(error 、eq、 ”Never wi
ll get a CP”、and。
command 、eq、 ”八ttach” )
thenreturn ”Never will
get a CP”to requesting
taskttrequeue task rea
delseif (error 、eq、”CP
busy 、and、command、eq。
thenreturn ”Never will
get a CP”to requesting
taskttrequeue task rea
delseif (error 、eq、”CP
busy 、and、command、eq。
”Deattach″) then
stack the requestelSeif
(error 、ne、none’) the
nabort 、true。
(error 、ne、none’) the
nabort 、true。
5end message to 5tanda
rd 10disable all Cl’s 1se respond to task requeue task readndif ndif check attach queuecheck
deaLtach queueend i f end i f endwhile コ・プロセッサハンドラのコマンド ATTACII(base address、 upm
em、CPII、DevCod) :適切なコ・プロセ
ッサを要求タスクに配分する。
rd 10disable all Cl’s 1se respond to task requeue task readndif ndif check attach queuecheck
deaLtach queueend i f end i f endwhile コ・プロセッサハンドラのコマンド ATTACII(base address、 upm
em、CPII、DevCod) :適切なコ・プロセ
ッサを要求タスクに配分する。
指定されたベースアドレスにコ・プロセッサを置き、u
pmem (アップメモリセグメント)によって指示
された64にのメモリブロックを起動する。lJ’1l
NDLRがCPlとデパ゛イスコードを呼び出している
ルーチンに戻す。要求タスクのtask#より1少ない
taskttを持つ空きコ・プロセッサを見つけること
によって、どのコ・プロセッサに配分するのかをCPI
INDLRが判定する。
pmem (アップメモリセグメント)によって指示
された64にのメモリブロックを起動する。lJ’1l
NDLRがCPlとデパ゛イスコードを呼び出している
ルーチンに戻す。要求タスクのtask#より1少ない
taskttを持つ空きコ・プロセッサを見つけること
によって、どのコ・プロセッサに配分するのかをCPI
INDLRが判定する。
要求タスクがLa5ktl Oなら、−1の前のタスク
番号つまりIofTsks−1が有効と見なされる。
番号つまりIofTsks−1が有効と見なされる。
CI’1lNDLRは有効なCPを見つけられないと、
今後利用可能になるかどうかをチエツクする。先行タス
クが依然アクティブであれば(すなわちタスクがなされ
フラグがまだセットされてないなら)、今後CPが利用
可能である。
今後利用可能になるかどうかをチエツクする。先行タス
クが依然アクティブであれば(すなわちタスクがなされ
フラグがまだセットされてないなら)、今後CPが利用
可能である。
CIIANCE(CPl、upmem) :指定された
CPのアクティブメモリブロックを、upmemで指示
されたアップまたはダウンブロックに変更する。
CPのアクティブメモリブロックを、upmemで指示
されたアップまたはダウンブロックに変更する。
DEATTMCII (CPII) :指定されたCP
を、要求を行っているタスクから解除する。これはCP
を、シーケンス中の次タスクによる配分要求に対してフ
リーにする。
を、要求を行っているタスクから解除する。これはCP
を、シーケンス中の次タスクによる配分要求に対してフ
リーにする。
DIS/’、BLE(CPl) :指定されたコ・プロ
セッサをディセーブルする。これは、利用可能なコ・プ
ロセッサのリストからそのコ・プロセッサを除外する初
期設定と反対である。
セッサをディセーブルする。これは、利用可能なコ・プ
ロセッサのリストからそのコ・プロセッサを除外する初
期設定と反対である。
DUMP (CPII 、 f i Iename、
s tar tAddress 、 1tofWord
s 、 type。
s tar tAddress 、 1tofWord
s 、 type。
tagsize) :指定されたCP内のデータを、指
定されたファイルをダンプする。データのダンプをスタ
ートアドレスから開始させる。タイプ(種別)は、デー
タが24ビツトまたは20ビツトどちらのフォーマット
かを指示する。タグサイズは、データの他にタンプする
必要のある情報のフード数(ltofwords)を指
示する。
定されたファイルをダンプする。データのダンプをスタ
ートアドレスから開始させる。タイプ(種別)は、デー
タが24ビツトまたは20ビツトどちらのフォーマット
かを指示する。タグサイズは、データの他にタンプする
必要のある情報のフード数(ltofwords)を指
示する。
GETMJCROCODE (CI”II、filen
ame、5ize、pass):filenameの名
前を持つファイルで見つかったマイクロコードを、指定
されたCPlにロードする。ロードの前に、サイズ(s
ize)とパス(pass)を使って、これらのパラメ
ータをマイクロコード内にセットする。初期設定中に行
われると、アクティブな全CPにマイクロコードがロー
ドされ、CPlを指定する必要はない。但し、タスクに
よって要求されたときは、まずタスクがCPに配分され
ねばならない。
ame、5ize、pass):filenameの名
前を持つファイルで見つかったマイクロコードを、指定
されたCPlにロードする。ロードの前に、サイズ(s
ize)とパス(pass)を使って、これらのパラメ
ータをマイクロコード内にセットする。初期設定中に行
われると、アクティブな全CPにマイクロコードがロー
ドされ、CPlを指定する必要はない。但し、タスクに
よって要求されたときは、まずタスクがCPに配分され
ねばならない。
GO(CPl、flags): コ・プロセッサフラグ
を指定されたコードに設定した後、コ・プロセッサ内で
マイクロコードの実行を開始する。フラグはマイクロコ
ードによってテストされ、異なるマイクロコードルーチ
ンへの分岐を可能とする。
を指定されたコードに設定した後、コ・プロセッサ内で
マイクロコードの実行を開始する。フラグはマイクロコ
ードによってテストされ、異なるマイクロコードルーチ
ンへの分岐を可能とする。
G(WA IT (CPl 、 f lags) :コ
・プロセッサフラグを指定されたコードに設定した後、
コ・プロセッサ内でマイクロコードの実行を開始する。
・プロセッサフラグを指定されたコードに設定した後、
コ・プロセッサ内でマイクロコードの実行を開始する。
フラグはマイクロコードによってテストされ、異なるマ
イクロコードルーチンへの分岐をさらに有する請求タス
クに応答する前に、マイクロコードの実行が終るまで待
つ。
イクロコードルーチンへの分岐をさらに有する請求タス
クに応答する前に、マイクロコードの実行が終るまで待
つ。
1N[TIALIZ[1(CP device#):バ
スしたデバイスコードが、それがコ・プロセッサである
かのように応答するかを判定する。そうであれば、その
コプロセッサ用の該当テーブルを初期設定する。
スしたデバイスコードが、それがコ・プロセッサである
かのように応答するかを判定する。そうであれば、その
コプロセッサ用の該当テーブルを初期設定する。
し0AD(CPII 、f i lename、s t
ar tAddress、tlofWords + t
ype。
ar tAddress、tlofWords + t
ype。
tagsize) :指定されたCPに、指定されたフ
ァイルからのデータをロードする。開始データをスター
トアドレスに置く。タイプ(種別)は、データが24ビ
ツトまたは20ビツトどららのフォーマントかを指示す
る。タグサイズは、データの他にロードする必要のある
情轢のワード数(#ofwords)を指示する。
ァイルからのデータをロードする。開始データをスター
トアドレスに置く。タイプ(種別)は、データが24ビ
ツトまたは20ビツトどららのフォーマントかを指示す
る。タグサイズは、データの他にロードする必要のある
情轢のワード数(#ofwords)を指示する。
MOVE (fromcP#、tocf’l、from
Address 、toAddress 。
Address 、toAddress 。
ttofWords) ニー−つのコ・プロセッサから
別のコ・プロセッサヘデータを移動する。
別のコ・プロセッサヘデータを移動する。
REG[5TER5(CPtt、Registers)
:指定されたCPから指示されたレジスフロケーショ
ン内へ、5つのCPレジスタをアンロードする。これら
のCPレジスタは、マイクロコードが実行されたデータ
に関する情報を与える。
:指定されたCPから指示されたレジスフロケーショ
ン内へ、5つのCPレジスタをアンロードする。これら
のCPレジスタは、マイクロコードが実行されたデータ
に関する情報を与える。
5TOPCP (CPII):指定されたcp内でのマ
イクロコードの実行を停止する。
イクロコードの実行を停止する。
動作時には、上記列挙したコ・プロセッサの疑似コード
に従って構成された実行可能な命令セットが、制御プロ
セッサ20と28の各々毎にそのコ・プロセッサを制御
する効率的な管理方法を与える。この方法の動作の理解
を容易とするために、上記疑似コードに従って作動する
プログラムの機能的動作を而単に見てお(必要があろう
。
に従って構成された実行可能な命令セットが、制御プロ
セッサ20と28の各々毎にそのコ・プロセッサを制御
する効率的な管理方法を与える。この方法の動作の理解
を容易とするために、上記疑似コードに従って作動する
プログラムの機能的動作を而単に見てお(必要があろう
。
疑似コードの始めに、プロセッサのメモリを制御する際
に維持されるべき2つのテーブルが定義される。各コ・
プロセッサ毎のテーブルと、各組みのマイクロコード毎
のテーブルが存在する。コ・プロセッサテーブルは、コ
・プロセッサの状態に関する各フラグ、すなわちコ・プ
ロセッサが使用中かどうか、マイクロコードを実行して
いるかどうか、及び実行中かどうかに関するフラグと、
コ・プロセッサがそのとき実行しているタスクのID番
号とを含む。タスクの適切な逐次実行を容易とするため
、シーケンス内の各タスクにタスク番号が割り当てられ
、現在実行されているタスクの次の番号のタスクにコ・
プロセッサを単に割り当てることによって、制御プロセ
ッサが正しいシーケンスを辿れるようになされる。また
コ・プロセッサテーブルは、コ・プロセッサが現在割り
当てられているメモリのブロックも指示する。コ・プロ
セッサが実行中だと、そのコ・プロセッサによって実行
された最後のコマンドと、そのコ・プロセッサに関する
最後のマイクロコードブロックのアドレスとの指示がな
される。指令プロセッサが任意の時点でコ・プロセッサ
の動作状態を評価可能なように、コ・プロセッサレジス
タの複製コピーをコ・プロセッサテーブルに含めること
もできる。
に維持されるべき2つのテーブルが定義される。各コ・
プロセッサ毎のテーブルと、各組みのマイクロコード毎
のテーブルが存在する。コ・プロセッサテーブルは、コ
・プロセッサの状態に関する各フラグ、すなわちコ・プ
ロセッサが使用中かどうか、マイクロコードを実行して
いるかどうか、及び実行中かどうかに関するフラグと、
コ・プロセッサがそのとき実行しているタスクのID番
号とを含む。タスクの適切な逐次実行を容易とするため
、シーケンス内の各タスクにタスク番号が割り当てられ
、現在実行されているタスクの次の番号のタスクにコ・
プロセッサを単に割り当てることによって、制御プロセ
ッサが正しいシーケンスを辿れるようになされる。また
コ・プロセッサテーブルは、コ・プロセッサが現在割り
当てられているメモリのブロックも指示する。コ・プロ
セッサが実行中だと、そのコ・プロセッサによって実行
された最後のコマンドと、そのコ・プロセッサに関する
最後のマイクロコードブロックのアドレスとの指示がな
される。指令プロセッサが任意の時点でコ・プロセッサ
の動作状態を評価可能なように、コ・プロセッサレジス
タの複製コピーをコ・プロセッサテーブルに含めること
もできる。
マイクロコードテーブルは、システム内のコ・プロセッ
サにロードされるべき各組のマイクロコードに付属され
るものである。これは、マイクロコードがロードされた
かどうか、及びマイクロコードの実行前にコ・プロセッ
サにロードされるべき一組のコ・プロセッサレジスタの
ための初期値を含んでいるかどうかを示すフラグを含む
。マイクロコードのサイズコードも、それに関連したバ
スコードと共に指示される。
サにロードされるべき各組のマイクロコードに付属され
るものである。これは、マイクロコードがロードされた
かどうか、及びマイクロコードの実行前にコ・プロセッ
サにロードされるべき一組のコ・プロセッサレジスタの
ための初期値を含んでいるかどうかを示すフラグを含む
。マイクロコードのサイズコードも、それに関連したバ
スコードと共に指示される。
CI”IINDLI?と題した実際の実行可能プログラ
ム用の疑似コードも、前掲しである。プログラムはまず
、タスクの数やコ・プロセッサの数など幾つかのフラグ
をゼロにセットした後、初期設定ルーチンを開始する。
ム用の疑似コードも、前掲しである。プログラムはまず
、タスクの数やコ・プロセッサの数など幾つかのフラグ
をゼロにセットした後、初期設定ルーチンを開始する。
初期設定ルーチンは、コマンドENDWIIILEで終
るWIIILE、、、DOステートメント内に完全に含
まれている。WIIILEルーチン中に、プログラムは
初期設定に関連して発生するオプションを評価する。ま
ずこのルーチンは、コ・プロセッサが作動可能で、問い
合わせに応答することを検証し、次いで各コ・プロセッ
サ毎のコ・プロセッサテーブルを初期設定する。その後
、マイクロコードファイルをオーブンし、−mのマイク
ロコードをアクティブなコ・プロセッサにロードし、各
組のマイクロコード毎のマイクロコードテーブルを設定
及び初期化する。次いで初期設定ルーチンは、ファイル
プログラムをオープンし、コ・プロセッサが受け入れる
逐次タスクとなるように各タスクを設定する。gt 1
&に、初期設定ルーチンはエラーフラグをチエツクする
。適切な条件がシステム内で見つからないときは、各種
のエラーメソセージが初回設定ルーチンの全体を通じて
設定される。初回設定ルーチンが終った時点で、コ・プ
ロセッサは全て作動可能となり、各自の該当するコ・プ
ロセッサテーブルが設定され、マイクロコードが正しく
ロードされている。ざらに、タスクの動作バζ備も整え
られている。
るWIIILE、、、DOステートメント内に完全に含
まれている。WIIILEルーチン中に、プログラムは
初期設定に関連して発生するオプションを評価する。ま
ずこのルーチンは、コ・プロセッサが作動可能で、問い
合わせに応答することを検証し、次いで各コ・プロセッ
サ毎のコ・プロセッサテーブルを初期設定する。その後
、マイクロコードファイルをオーブンし、−mのマイク
ロコードをアクティブなコ・プロセッサにロードし、各
組のマイクロコード毎のマイクロコードテーブルを設定
及び初期化する。次いで初期設定ルーチンは、ファイル
プログラムをオープンし、コ・プロセッサが受け入れる
逐次タスクとなるように各タスクを設定する。gt 1
&に、初期設定ルーチンはエラーフラグをチエツクする
。適切な条件がシステム内で見つからないときは、各種
のエラーメソセージが初回設定ルーチンの全体を通じて
設定される。初回設定ルーチンが終った時点で、コ・プ
ロセッサは全て作動可能となり、各自の該当するコ・プ
ロセッサテーブルが設定され、マイクロコードが正しく
ロードされている。ざらに、タスクの動作バζ備も整え
られている。
プログラム内の次の主ルーチンは、コ・プロセッサの動
作のためのコマンド呼び出しである。このルーチンも同
じく、コマンドENDWIIILEで終るWIIILE
、、、Doステートメントである。このタスク割当ルー
チン中、行われる第1の処理は割込のモニターである。
作のためのコマンド呼び出しである。このルーチンも同
じく、コマンドENDWIIILEで終るWIIILE
、、、Doステートメントである。このタスク割当ルー
チン中、行われる第1の処理は割込のモニターである。
割込の取扱と処理後、プログラムはそのタスク割当ルー
チンを開始し、実際のタスク割当が行われる。タスクの
実際の割当は、呼び出しているタスクによってプログラ
ムCPIINDLRに与えられるコマンドに依存する。
チンを開始し、実際のタスク割当が行われる。タスクの
実際の割当は、呼び出しているタスクによってプログラ
ムCPIINDLRに与えられるコマンドに依存する。
コマンドがREADVであれば、ルーチンは全てのタス
クをモニターし、それらの動作準備が整っており、タス
クに応答することを確かめる。コマンドがDONEで、
あるタスクの割り当てられたコ・プロセッサがそれを終
了していることを指示していれば、タスクはそのキュー
から取り出され、タスク番号が1だけデクレメントされ
る。コマンドが匈へITであれば、プログラムは待つ。
クをモニターし、それらの動作準備が整っており、タス
クに応答することを確かめる。コマンドがDONEで、
あるタスクの割り当てられたコ・プロセッサがそれを終
了していることを指示していれば、タスクはそのキュー
から取り出され、タスク番号が1だけデクレメントされ
る。コマンドが匈へITであれば、プログラムは待つ。
プログラムがERRORメソセージであれば、エラーメ
ソセージがシステムの入/出力に転送され、タスクは応
答されて再キューされる。
ソセージがシステムの入/出力に転送され、タスクは応
答されて再キューされる。
エラーメツセージが空きコ・プロセッサのないことを指
示し、且つコマンドがコ・プロセッサをタスクに割り当
てたいことを指示している場合、その要求はコ・プロセ
ッサが利用可能になるまで、未決としてスタックされね
ばならない。また、コ・プロセッサが全く使えるように
ならないことをエラーメソセージが1旨示した場合、そ
のメソセージはタスクに転送される必要があり、タスク
は’iaaされない。コ・プロセッサが占有中で、コマ
ンドがDETACI+を要求していれば、その要求はコ
・プロセッサが利用可能になるまでスタックされるよう
に送られねばならない。またシステムは、禁止命令につ
いてもチエツクする。システムの実行が全てのエラーチ
エツクと状態コマンドをパスすれば、システムはコ・プ
ロセ、すを割り当て、それを動作可能とすることによっ
てタスクに応答する。
示し、且つコマンドがコ・プロセッサをタスクに割り当
てたいことを指示している場合、その要求はコ・プロセ
ッサが利用可能になるまで、未決としてスタックされね
ばならない。また、コ・プロセッサが全く使えるように
ならないことをエラーメソセージが1旨示した場合、そ
のメソセージはタスクに転送される必要があり、タスク
は’iaaされない。コ・プロセッサが占有中で、コマ
ンドがDETACI+を要求していれば、その要求はコ
・プロセッサが利用可能になるまでスタックされるよう
に送られねばならない。またシステムは、禁止命令につ
いてもチエツクする。システムの実行が全てのエラーチ
エツクと状態コマンドをパスすれば、システムはコ・プ
ロセ、すを割り当て、それを動作可能とすることによっ
てタスクに応答する。
コ・プロセッサ疑似コードの次の部分は、利用可能なコ
・プロセッサハンドラコマンドの記述である。第1のコ
マンドはATTMCIIコマンドである。
・プロセッサハンドラコマンドの記述である。第1のコ
マンドはATTMCIIコマンドである。
これは、コ・プロセッサを逐次タスクの適切な1つに配
分するコマンドである。尚、ATTACI+コマンドは
その最初のパラメータとしてベースアドレスを含んでい
る。このベースアドレスは、コ・プロセッサに含まれた
アドレスレジスタ内にロードされるアドレスで、動作を
開始するため、コ・プロセッサが制御プロセッサのメモ
リ内で最初に置かれるメモリブロックを指定する。プロ
グラムCPIINDLRは呼び出しているルーチンつま
りタスクに、割り当てられたコ・フ゛ロセッサのデバイ
スコードとコ・プロセッサ番号を知らせる。コ・プロセ
ッサハンドラは、タスクを呼び出しているタスク番号よ
り1少ないタスク番号を持つ利用可能なコ・プロセッサ
を見つけることによって、どのコ・プロセッサに配分す
るのかを判定する。コ・プロセッサが利用可能でないと
、次のそのタスクに割り当てられるべきコ・プロセッサ
が動作上利用可能となるまで、コ・プロセッサハンドラ
は待つ。
分するコマンドである。尚、ATTACI+コマンドは
その最初のパラメータとしてベースアドレスを含んでい
る。このベースアドレスは、コ・プロセッサに含まれた
アドレスレジスタ内にロードされるアドレスで、動作を
開始するため、コ・プロセッサが制御プロセッサのメモ
リ内で最初に置かれるメモリブロックを指定する。プロ
グラムCPIINDLRは呼び出しているルーチンつま
りタスクに、割り当てられたコ・フ゛ロセッサのデバイ
スコードとコ・プロセッサ番号を知らせる。コ・プロセ
ッサハンドラは、タスクを呼び出しているタスク番号よ
り1少ないタスク番号を持つ利用可能なコ・プロセッサ
を見つけることによって、どのコ・プロセッサに配分す
るのかを判定する。コ・プロセッサが利用可能でないと
、次のそのタスクに割り当てられるべきコ・プロセッサ
が動作上利用可能となるまで、コ・プロセッサハンドラ
は待つ。
CIIAGEコマンドは単に、アクティフ゛なメモリブ
ロックが指示通り、アップからダウンブロックへ、ある
いは逆に変更されるのを可能とする。
ロックが指示通り、アップからダウンブロックへ、ある
いは逆に変更されるのを可能とする。
DEATTACHコマンドは、要求を行っているタスク
からコ・プロセッサを解除するものである。これはタス
クの完了時に実行され、次タスクのためにコ・プロセッ
サをフリーにする。
からコ・プロセッサを解除するものである。これはタス
クの完了時に実行され、次タスクのためにコ・プロセッ
サをフリーにする。
DISABLEコマンドは、単純にINITIALIZ
E (初期設定)と反対で、利用可能なコ・プロセッサ
のリストからそのコ・プロセッサを除外する。
E (初期設定)と反対で、利用可能なコ・プロセッサ
のリストからそのコ・プロセッサを除外する。
DUMPコマンドはコ・プロセッサメモリ内の指定ロケ
ーションから、指定されたディスクファイル内ヘダンプ
するのに使われる。
ーションから、指定されたディスクファイル内ヘダンプ
するのに使われる。
コマンドGIET MICROCO叶は、所定のファイ
ルロケーションで見つかったマイクロコードを、指定さ
れたコ・プロセッサ内にロードする。ナイズとパスは、
マイクロコードテーブルから求められる。
ルロケーションで見つかったマイクロコードを、指定さ
れたコ・プロセッサ内にロードする。ナイズとパスは、
マイクロコードテーブルから求められる。
これが初期設定中に行われると、全てのアクティブなコ
・プロセッサがロードされ、コ・プロセッサを指定する
必要はない。所定のマ・イクロコードがタスクによって
要求された場合、タスクはまずコ・プロセッサに配分さ
れねばならない。呼び出しているタスクはこのコマンド
を用い、特定のアプリケーションのため、特定のマイク
ロコードをコ・プロセッサ内にロードできる。
・プロセッサがロードされ、コ・プロセッサを指定する
必要はない。所定のマ・イクロコードがタスクによって
要求された場合、タスクはまずコ・プロセッサに配分さ
れねばならない。呼び出しているタスクはこのコマンド
を用い、特定のアプリケーションのため、特定のマイク
ロコードをコ・プロセッサ内にロードできる。
コマンドGOは、コ・プロセッサ内でマイクロコートの
実行を開始する。
実行を開始する。
コマンドGOWAITは、幾つかのコ・プロセッサフラ
グを設定した後、コ・プロセッサ内でマイクロコードの
実行を開始する。その後フラグは、マ・イクロコードに
よってテストされる。コ・プロセッサハンドラは、要求
タスクに応答する前に、マイクロコードの実行が終るま
で待つ。
グを設定した後、コ・プロセッサ内でマイクロコードの
実行を開始する。その後フラグは、マ・イクロコードに
よってテストされる。コ・プロセッサハンドラは、要求
タスクに応答する前に、マイクロコードの実行が終るま
で待つ。
コマンドIN IT IAL IZ[Eは、コ・プロセ
ッサがそれがコ・プロセッサであるかのように応答する
かを判定する。すなわちごれは、初期設定チエツクであ
る。
ッサがそれがコ・プロセッサであるかのように応答する
かを判定する。すなわちごれは、初期設定チエツクであ
る。
コマンドLOADは、指定されたコ・プロセッサに、指
定されたファイルからのデータをロードする。これは、
月間設定データまたは動作からの読取データを指定され
たコ・プロセッサのメモリロケーション内へとロード可
能とする方法である。
定されたファイルからのデータをロードする。これは、
月間設定データまたは動作からの読取データを指定され
たコ・プロセッサのメモリロケーション内へとロード可
能とする方法である。
コマンドMOVIEは、一つのコ・プロセッサから別の
コ・プロセッサへデータを移動する。これは通常の動作
では使われないが、利用可能である。
コ・プロセッサへデータを移動する。これは通常の動作
では使われないが、利用可能である。
コマンドRIEG l5TER3は、指定されたコ・プ
ロセッサから所定のレジスタロケーション内へ、コ・プ
ロセッサレジスタをアンロードする。これは、あるコ・
プロセッサにおけるマイクロコードの実行状態に関する
情報をタスクが得るのを可能とする。
ロセッサから所定のレジスタロケーション内へ、コ・プ
ロセッサレジスタをアンロードする。これは、あるコ・
プロセッサにおけるマイクロコードの実行状態に関する
情報をタスクが得るのを可能とする。
コマンド5TOPCPは、指定されたコ・プロセッサ内
でのマイクロコードの実行を停止する。
でのマイクロコードの実行を停止する。
上記から、コ・プロセッサハンドラはコ・プロセッサの
状態をモニターし、ある一定の時点でコ・プロセッサを
特定のタスクに割当つまり配分しようとするものである
ことが理解できよう。コ・プロセッサは、装置によって
達成されるべき一連の処理動作を通って進行するように
、逐次タスクへ割り当てられる。任意のあるコ・プロセ
ッサのタスクへの配分つまり割当は、タスク番号のデー
タヘースに対応したメモリスペース内のアドレスブロッ
クにそのコ・プロセッサを割り当てることによってなさ
れる。言い換えれば、各コ・プロセッサは続く各タスク
毎に、メモリの異なる部分に割り当てられ、この割当は
アドレスロケーションをある与えられたコ・プロセッサ
のアドレスレジスタ内にロードすることによって行われ
る。このようにして、コ・プロセッサのタスクからタス
クへの効率的な移行は、コ・プロセッサからコ・プロセ
ッサへデータを転送する必要なく、最も効率的に達成さ
れる。
状態をモニターし、ある一定の時点でコ・プロセッサを
特定のタスクに割当つまり配分しようとするものである
ことが理解できよう。コ・プロセッサは、装置によって
達成されるべき一連の処理動作を通って進行するように
、逐次タスクへ割り当てられる。任意のあるコ・プロセ
ッサのタスクへの配分つまり割当は、タスク番号のデー
タヘースに対応したメモリスペース内のアドレスブロッ
クにそのコ・プロセッサを割り当てることによってなさ
れる。言い換えれば、各コ・プロセッサは続く各タスク
毎に、メモリの異なる部分に割り当てられ、この割当は
アドレスロケーションをある与えられたコ・プロセッサ
のアドレスレジスタ内にロードすることによって行われ
る。このようにして、コ・プロセッサのタスクからタス
クへの効率的な移行は、コ・プロセッサからコ・プロセ
ッサへデータを転送する必要なく、最も効率的に達成さ
れる。
本発明は前記した特定の実施例に制限されず、特許請求
の範囲に入るような全ての変更態様を全て包含するもの
であることが理解されるべきである。
の範囲に入るような全ての変更態様を全て包含するもの
であることが理解されるべきである。
第1図は本発明に従って構成された排気ガスアナライザ
の概略ブロック図、第2図は第1図の装置におけるコ・
プロセッサの概略ブロック図である。 12・・・・・・干渉計 14・・・・・・サンプル
セル16・・・・・・検出器 22.24.26 ; 30.32.34・・・・・・
コ・)゛ロセンサ28;30・・・・・・制御プロセッ
サ52・・・・・・マイクロコードメモリ54・・・・
・・マイクロコードプロセッサ58.60・・・・・・
コ・プロセッサメモリ64・・・・・・アドレス発生器 66・・・・・・乗算/累算器
の概略ブロック図、第2図は第1図の装置におけるコ・
プロセッサの概略ブロック図である。 12・・・・・・干渉計 14・・・・・・サンプル
セル16・・・・・・検出器 22.24.26 ; 30.32.34・・・・・・
コ・)゛ロセンサ28;30・・・・・・制御プロセッ
サ52・・・・・・マイクロコードメモリ54・・・・
・・マイクロコードプロセッサ58.60・・・・・・
コ・プロセッサメモリ64・・・・・・アドレス発生器 66・・・・・・乗算/累算器
Claims (1)
- 【特許請求の範囲】 1、複数セットの分析データを受け取って処理する分析
装置をほぼ実時間で作動する方法で、該装置がアドレス
可能なメモリと複数のコ・プロセッサを備えた少なくと
も1つの制御プロセッサを含み、各コ・プロセッサがマ
イクロコードプロセッサ、コ・プロセッサメモリ、及び
制御プロセッサがそれを介してコ・プロセッサメモリに
アドレス可能なアドレス発生器を含むものにおいて、 あるコ・プロセッサをデータのロードを含む逐次一連の
タスクに割り当て、データを処理且つ分析し、データを
出力するステップで、前記制御プロセッサが実行される
べきタスク用データエリアの制御プロセッサメモリ内に
おけるロケーションを指示するアドレス値を前記アドレ
ス発生器にロードすることによって、前記割当が行われ
るステップ、及び 前記ステップと同期して、その他のコ・プロセッサを同
じ逐次一連のタスクに同じ方法で割り当て、逐次セット
のデータに対する逐次タスクが異なるコ・プロセッサへ
同時に割り当てられるようになすステップ、 を有する方法。 2、前記割当ステップの前に、各コ・プロセッサを初期
設定し、且つ各コ・プロセッサにマイクロコードをロー
ドして、各コ・プロセッサが制御プロセッサと独立に、
タスクによって要求された分析及びマイクロコードルー
チンを実施可能となすステップをさらに有する請求項1
記載の方法。 3、前記割当ステップにおいて、各逐次タスクにタスク
番号が割り当てられ、コ・プロセッサをタスクに割り当
てる際、制御プロセッサがコ・プロセッサを、次の逐次
タスク番号を持つタスクに割り当てる請求項1記載の方
法。 4、ロードタスクが、分析データをコ・プロセッサメモ
リ内にロードすることを含む請求項1記載の方法。 5、データを処理及び分析するタスクが、コ・プロセッ
サメモリ内のデータに対して行われる請求項4記載の方
法。 6、データを出力するタスクが、コ・プロセッサメモリ
からデータを読み出すことを含む請求項5記載の方法。 7、データをロードするタスク時、データがタスクによ
って容易にアドレス可能となるように、データがメモリ
内の予め選定された基準のロケーションにロードされる
請求項4記載の方法。 8、データをロードするタスクが各コ・プロセッサに順
次割り当てられるように充分な数のコ・プロセッサが存
在し、タスクの残りのシーケンスが該コ・プロセッサに
よって、該コ・プロセッサがデータロードタスクに戻る
順番となる前にデータに対して実施される請求項1記載
の方法。 9、前記制御プロセッサのアドレス可能メモリが標準サ
イズの別個なブロックとして配置され、各タスクがコ・
プロセッサメモリと独立に生成可能である請求項1記載
の方法。 10、前記データが干渉計から得たインタフェログラム
で、前記処理及び分析タスクが高速フーリエ変換と統計
分析を含む請求項1記載の方法。 11、干渉計の出力を処理及び分析する装置において、 付設のアドレス可能メモリを含む少なくとも1つの制御
プロセッサ;及び 前記制御プロセッサの制御下で動作するように接続され
た複数のコ・プロセッサで、各コ・プロセッサが該コ・
プロセッサのメモリを制御プロセッサのアドレスバスに
接続するアドレス発生器を含み、制御プロセッサがアド
レスロケーション値をアドレス発生器にロードすること
によってコ・プロセッサメモリを処理タスクへ割り当て
られるように、アドレス発生器が制御プロセッサからの
アドレス情報を受け取るべく接続されている; を備えた装置。 12、各コ・プロセッサがマイクロコードメモリとマイ
クロコードプロセッサを含み、制御プロセッサと独立に
マイクロコード命令を実行可能である請求項11記載の
装置。 13、各コ・プロセッサが、数値計算を実施可能なよう
にマイクロコードメモリに接続された乗算/累算器も含
む請求項12記載の装置。 14、各コ・プロセッサが、処理のためのデータをロー
ドし得るコ・プロセッサメモリを含む請求項11記載の
装置。 15、各コ・プロセッサが2つのセグメントのコ・プロ
セッサメモリを含み、該セグメントのいずれか一方が他
方のセグメントと独立にデータをロードまたは処理する
のに使える請求項11記載の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US21558588A | 1988-07-06 | 1988-07-06 | |
| US215585 | 1998-12-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0273121A true JPH0273121A (ja) | 1990-03-13 |
Family
ID=22803558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17539989A Pending JPH0273121A (ja) | 1988-07-06 | 1989-07-06 | 実時間フーリエ変換分光測定法 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0350209A2 (ja) |
| JP (1) | JPH0273121A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002039862A (ja) * | 2000-07-26 | 2002-02-06 | Yokogawa Electric Corp | 分光分析システム |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0843254A3 (en) * | 1990-01-18 | 1999-08-18 | National Semiconductor Corporation | Integrated digital signal processor/general purpose CPU with shared internal memory |
-
1989
- 1989-06-29 EP EP19890306623 patent/EP0350209A2/en not_active Withdrawn
- 1989-07-06 JP JP17539989A patent/JPH0273121A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002039862A (ja) * | 2000-07-26 | 2002-02-06 | Yokogawa Electric Corp | 分光分析システム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0350209A2 (en) | 1990-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6067412A (en) | Automatic bottleneck detection by means of workload reconstruction from performance measurements | |
| Behzad et al. | Dynamic model-driven parallel i/o performance tuning | |
| JP4881542B2 (ja) | 非コヒーレント・サンプリング・データの小さな漏れのパワースペクトル決定技法 | |
| US7240258B1 (en) | Parallel test system and method | |
| Sherman et al. | Trace driven modeling: Review and overview | |
| JPH0273121A (ja) | 実時間フーリエ変換分光測定法 | |
| Wolf et al. | An analysis of fault partitioned parallel test generation | |
| US20070234126A1 (en) | Accelerating the testing and validation of new firmware components | |
| Lyon et al. | Synthetic-perturbation tuning of MIMD programs | |
| Gharaibeh et al. | On enhancing memory forensics with FAME: Framework for advanced monitoring and execution | |
| JP7259997B2 (ja) | サンプリングデバイス | |
| Covington et al. | Graphic oriented signal processing language-gospl | |
| US5848411A (en) | Method for distributedly processing a plurality of jobs in a data processing system | |
| Mohammed et al. | Performance reproduction and prediction of selected dynamic loop scheduling experiments | |
| Dai et al. | Accelerating a ray launching model using GPU with CUDA | |
| CN121050775B (zh) | 算子的最高利用率的获取方法、电子设备及存储介质 | |
| Anderson et al. | Graph models of computer systems: Application to performance evaluation of an operating system | |
| Frazer | Computer automation in chemistry | |
| Klopfenstein | Laboratory automation via hierarchical computers | |
| US11907755B2 (en) | System and method for distributed execution of a sequence processing chain | |
| Krivov et al. | Measurement in information-operation systems for investigation of properties of objects | |
| Lai et al. | High performance Stingray | |
| Lambert et al. | Program debugging and performance evaluation aids for a multi-microprocessor development system | |
| Lusebrink et al. | Computer facilities for the laboratory | |
| Brocka et al. | Parallel Polynomial-Time Approximation Scheme (PTAS) for Finding Compact Structural Motifs |