JPH07239783A - 並列処理を実行する方法およびシステム - Google Patents

並列処理を実行する方法およびシステム

Info

Publication number
JPH07239783A
JPH07239783A JP6313714A JP31371494A JPH07239783A JP H07239783 A JPH07239783 A JP H07239783A JP 6313714 A JP6313714 A JP 6313714A JP 31371494 A JP31371494 A JP 31371494A JP H07239783 A JPH07239783 A JP H07239783A
Authority
JP
Japan
Prior art keywords
coexecutor
storage
request
coex
executor
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
JP6313714A
Other languages
English (en)
Other versions
JP2633488B2 (ja
Inventor
Richard I Baum
リチャード・アーウィン・バウム
Glen A Brent
グレン・アラン・ブレント
Hatem M Ghafir
ハテム・モハメッド・ガーフィル
Balakrishna R Iyer
バラクリシュナ・ラガヴェンドラ・イエル
Inderpal S Narang
インデルパル・シング・ナラン
Gururaj S Rao
グルラージ・セシャギリ・ラーオ
Casper A Scalzi
キャスパー・アンソニー・スカルジ
Satya P Sharma
サティヤ・プラカーシュ・シャルマ
Bhaskar Sinha
バスカル・シンハ
Lee H Wilson
リー・ハーディー・ウィルソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07239783A publication Critical patent/JPH07239783A/ja
Application granted granted Critical
Publication of JP2633488B2 publication Critical patent/JP2633488B2/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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 hardware capabilities
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Abstract

(57)【要約】 【目的】 1以上の実行中の制御プログラムによる要求
に従って、データ処理システム内で中央プロセッサ(C
P)からオフロードされた機能を実行するコエクセキュ
ータを提供する。 【構成】 コエクセキュータへのCP要求によって、制
御プログラムと同一の制約およびアクセス制限の下でホ
スト共用記憶域からコエクセキュータによってアクセス
されるコード・モジュールを指定する。コエクセキュー
タは、ホストの動的アドレス変換をエミュレートでき、
ホスト記憶域をアクセスする際に、提供されたホスト記
憶キーを使用することができる。コエクセキュータに関
する制限付きのアクセス動作状態によって、データ保全
性が維持される。オフロードされたモジュールは、コエ
クセキュータによって受け入れられた後には、将来の要
求による使用のためにコエクセキュータ局所記憶域内で
キャッシュ記憶して、同一のモジュールをもう一度ロー
ドするのを待たずに後続呼出しを進行させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的な補助プロセッ
サを使用して、それ以外の点では通常の計算システムで
並列処理拡張を実行するための手段および方法の提供に
関する。並列処理決定は、プログラミング・アプリケー
ションまたはプログラミング・サブシステムによるか、
ホスト・システムによって行われ、これによって、中央
電子複合体(CEC)内の主プロセッサまたは中央プロ
セッサ(CP)から補助プロセッサに作業をオフロード
する。これらの補助プロセッサを、本明細書ではコエク
セキュータ(共用実行装置/COEX)と称する。CO
EXは、CEC内の任意の中央プロセッサ上で実行中の
プログラミング・アプリケーションまたはプログラミン
グ・サブシステムによって動的に共用される。動作環境
ソフトウェア・インターフェースおよび動作環境ハード
ウェア・インターフェースを設け、この中で、中央プロ
セッサ上で走行中のプログラムが、コエクセキュータ内
で実行されるコード・モジュールを提供し、呼び出すこ
とができる。これらのコード・モジュールは、アプリケ
ーション・プログラムおよびサブシステム・プログラム
に固有の、これらによって要求される機能を提供する
が、このコード・モジュールは、CECのオペレーティ
ング・システムによって保証されるのと同一のアクセス
・セキュリティを有するCEC記憶域とコエクセキュー
タ記憶域の両方へのアクセスを提供するCOEX環境で
実行される。コエクセキュータは、中央プロセッサと非
同期に動作する。
【0002】コエクセキュータは、後続呼出しのために
その局所記憶域にプログラムと制御テーブルとを含むコ
ード・モジュールをキャッシュ記憶することができ、こ
れによって、COEX局所記憶域にコード・モジュール
とデータを再ロードするという無駄が省かれる。
【0003】
【従来の技術】コエクセキュータは、電子記憶域内での
データ移動、データ・ソート、データベース探索、ベク
トル処理、圧縮データの圧縮解除など、計算集中型機能
のオフロードされた非同期処理を提供する、汎用計算シ
ステム内の独立した処理実体である。この手法の利点
は、コエクセキュータのアーキテクチャをCEC汎用プ
ロセッサと異なるアーキテクチャにできることである。
コエクセキュータのアーキテクチャと機能コマンドセッ
トは、実行すべき特定の機能に関してよりよい性能か、
CECプロセッサより良い価格性能比のいずれかをもた
らすように選択される。
【0004】電子記憶階層内の記憶レベル間でデータの
ページをコピーするという単一の機能を実行できるコエ
クセキュータは、非同期データ移動機構(ADM)コプ
ロセッサによって、実アドレスまたは仮想アドレスを使
用して、データを非同期に移動するためにアプリケーシ
ョン・プログラムによって呼び出され、仮想アドレスを
使用して、主記憶(MS)と拡張記憶(ES)の両方を
アドレッシングできる。
【0005】単一のエンジン設計を改良して、同明細書
ではコプロセッサと称する複数のコエクセキュータ・エ
ンジンを共同して動作させ、ADM作業を効率的に実行
するためにコプロセッサ・エンジン間で作業負荷を自動
的に再分配する高い信頼性を有するコエクセキュート・
サブシステムをもたらす方法と、そのコプロセッサのう
ちの1つまたは複数に障害が発生した場合であってもA
DMの動作を継続させる方法がある。
【0006】また、ソフトウェアからソフトウェアへの
インターフェース(以下、ソフトウェア−ソフトウェア
・インターフェースと称す)とソフトウェアからハード
ウェアへのインターフェース(以下、ソフトウェア−ハ
ードウェア・インターフェースと称す)を提供するオペ
レーティング・システム・サービスを介して、同明細書
でコプロセッサと称するADMコエクセキュータを呼び
出す方法がある。ソフトウェア−ソフトウェア・インタ
ーフェースは、拡張記憶の使用を必要とするユーザ・プ
ログラムに、ADM機能の使用を得るための方法を提供
する。ソフトウェア−ハードウェア・インターフェース
は、オペレーティング・システム・サービスが機能の存
在を発見し、初期設定と呼出しを制御し、機能の完了と
終了情報を処理するための手段を提供する。
【0007】このインターフェースの一部として、ES
を同時にアクセスする可能性のある複数のプロセスの間
でのデータ保全性を維持するために、ハードウェアによ
って、ES仮想アドレスへのアクセスの同期化が実施さ
れる。
【0008】
【発明が解決しようとする課題】本発明の目的は、コエ
クセキュータ内で、呼出し側プロセッサ内に存在するの
と同一の動作の保全性とデータ・セキュリティを実施す
る環境で、コード・モジュールをコエクセキュータ・エ
ンジンにロードでき、実行できるようにするコエクセキ
ュータを提供する一般的なコエクセキュータ機能を教示
することである。
【0009】
【課題を解決するための手段】本発明は、一般的な補助
プロセッサを使用して、通常のS/390メインフレー
ムに類似のものとすることのできる計算システムで並列
処理拡張を実行するための手段および方法を提供する。
並列処理決定は、プログラミング・アプリケーション、
プログラミング・サブシステムまたはホスト・システム
によって行われ、これらは、中央電子複合体(CEC)
内の主プロセッサである中央プロセッサ・エンジン(C
P)から補助プロセッサに作業をオフロードすることの
決定を通信する。これらの補助プロセッサを、本明細書
ではコエクセキュータ(共用実行装置/COEX)と称
する。COEXハードウェアは、CEC内の任意の中央
プロセッサ上で実行中のプログラミング・アプリケーシ
ョン、プログラミング・サブシステムおよびホスト・オ
ペレーティング・システム(ホストOS)によって動的
に共用される。本発明は、1つまたは複数のCP、入出
力サブシステムおよび共用電子記憶域からなるCEC内
の独立した計算実体としてのCOEXを提供する。共用
電子記憶域は、主記憶(MS)と称する中央電子記憶域
を有し、拡張記憶(ES)と称する第2レベルの電子記
憶域を有することができる。
【0010】COEXは、単一または複数の命令ストリ
ームをサポートでき、各COEX命令ストリームは、C
Pのコンピュータ・アーキテクチャと異なってもよいC
OEXコンピュータ・アーキテクチャで記述されたプロ
グラムを実行する。これらのCOEX複数命令ストリー
ムは、複数のCOEXプロセッサによってサポートさ
れ、この複数のCOEXプロセッサのコンピュータ・ア
ーキテクチャは、お互いに同一でも異なってもよく、C
Pと同一でも異なってもよい。選択されるCOEXアー
キテクチャは、CP上での機能の実行の価格性能比と比
較して、CP機能をCOEXにオフロードした時に優秀
な価格性能比をもたらすように選択される。したがっ
て、COEXアーキテクチャは、CP命令、CP記憶域
アドレッシングおよびCEC内のCP入出力によって使
用されるCPアーキテクチャと完全に異なってもよい。
【0011】COEXの目的は、頻繁に要求される計算
集中型機能のCP処理をオフロードすることと、コンピ
ュータ・システムの全体性能を高めるために、オフロー
ドされた作業をCEC内のCP処理と並行して処理する
ことと、その処理コストを下げることである。
【0012】ソフトウェア・ユーザがデータ処理システ
ム内のハードウェア・コエクセキュータ(COEX)を
使用するために、ソフトウェア−ソフトウェア・インタ
ーフェースとソフトウェア−ハードウェア・インターフ
ェースを設ける。CECのソフトウェア・ユーザは、ア
プリケーション・プログラムを動作させ、このアプリケ
ーション・プログラムは、ホストOSの下または、ホス
トOSの下で動作するプログラミング・サブシステムの
下のいずれかで動作する。オペレーティング・システム
の最低レベル(すなわち、アプリケーション・プログラ
ムの真上のOS)は、ソフトウェア−ソフトウェア・イ
ンターフェースを使用して、COEXコード・モジュー
ルによってサポートされるアプリケーション内の機能
の、ホストOSへのパラメータ・リストを提供する。そ
の後、ホストOSは、サブシステムから受け取ったリス
ト内の、既存のコード・モジュールによって実行できる
機能の一部またはすべてのためのコード・モジュールの
リストを含む形式CP要求オペランド指定を用意する。
次に、ホストOSは、あるCPを選択し、情報を与え
て、CP要求をCOEXに通信する命令を実行させる。
これが、CP要求をCOEXに発行するソフトウェア−
ハードウェア・インターフェースである。COEXプロ
セッサは、リストされたコード・モジュールを、中央プ
ロセッサの動作と非同期に、これと並行して実行する。
【0013】ホストOSは、あるアプリケーション・プ
ログラムに関して受け取った単一の機能リストのため
に、1つまたは複数のCP要求を用意するというオプシ
ョンを有する。ホストOSは、そのリスト上の異なる機
能のために複数のCP要求を用意でき、COEXは、そ
のCOEX内の異なる命令ストリーム上で並列に異なる
CP要求をディスパッチでき、その後、このCOEX
は、受け取ったリスト内の機能間に示される依存性に応
じて、異なるコード・モジュールを並列に実行するか、
オーバーラップした形で実行することができる。
【0014】また、ホストOSは、受け取ったリストに
含まれる機能のなかにCOEXによって実行できないも
のがあるかどうかを判定する。COEXによって実行で
きない機能が存在する場合、ホストOSは、どのCP要
求にもコード・モジュールを一切含めず、たとえば元々
の要求元のアプリケーション・プログラムのCP実行の
一部として、CPにその機能を実行させる。
【0015】各COEXプロセッサは、MSとESの両
方を含む、CECの共用中央電子記憶域への直接ハード
ウェア・アクセスを有する。COEX自体は、1つまた
は複数のプロセッサ内の1つまたは複数の命令ストリー
ムから構成できる。COEX局所記憶域は、コード・モ
ジュール(プログラム命令)とそれに必要なデータを受
け取り、その全体をそのCOEX内で実行することがで
きる。COEX局所記憶域は、COEX命令ストリーム
によって共用でき、もしくは、COEX記憶域を、単一
のCOEX命令ストリーム専用とすることができる。ま
た、COEXには、オフロードされる機能の実行に含ま
れる特定のCOEX動作を加速するため専用のハードウ
ェアを含めることができる。COEX記憶域は、CPハ
ードウェアからはアクセスできない。
【0016】コード・モジュールは、成功裡に実行され
るために、そのコード・モジュールを実行する特定のC
OEX命令ストリームに関するCOEXアーキテクチャ
仕様に合わせてコード化またはコンパイルされなければ
ならない。特定のコード・モジュールに関する特定のC
OEX命令ストリームの選択は、その時点でどのCOE
X命令ストリームが使用可能であるかに応じて、COE
X内で自動的に行うことができる。その代わりに、CO
EX命令ストリームを、COEXへのCP要求内で指定
することができる。このどちらの場合でも、CP要求
で、要求されたオフロードされた作業を実行するためC
OEXによって実行されるコード・モジュールを指定し
なければならない。
【0017】COEX制御プログラムは、COEXのハ
ードウェア要素の動作を制御し、COEXとホストOS
の間の相互作用を管理し、COEX環境内で実行中のコ
ード・モジュールが必要とするサービスを提供する。C
OEX制御プログラムは、COEX動作をCECのCP
内で実行中のCECホストOSと調整するために、CO
EX内で実行される。
【0018】各コード・モジュールは、CP要求内で指
定されたアドレスとしてCOEXに供給されて、COE
XがCEC中央電子記憶域(すなわちCEC共用記憶
域)内でそのコード・モジュールを突き止められるよう
にする。
【0019】CECホスト・オペレーティング・システ
ムは、CEC内での複数の独立なプログラミング・サブ
システムとアプリケーションの動作をサポートすること
ができる。このホストOSは、COEX動作に関するC
P要求のCOEXへの実際の信号発生も制御する。プロ
グラミング・サブシステム(ホストOSの下で動作す
る)は、ホストOSに対してCOEX呼出しの要求を行
い、このホストOSは、CPを介して動作して、そのC
P要求をサブシステム・プログラムからCOEXハード
ウェアに電子的に中継する。
【0020】ホストOSは、CEC全体のデータ・アク
セス制御の維持に関して、主な責任を負う。すなわち、
ホストOSは、アプリケーション・プログラム、そのサ
ブシステム・プログラムおよびCOEXの間の媒介物で
ある。
【0021】より単純なCECには、システム全体を制
御するOSが1つだけ存在する場合がある。この場合、
その単一のOSが、ホストOSとサブシステムOSの両
方として働いて、COEXに対するソフトウェア−ソフ
トウェア・インターフェースとソフトウェア−ハードウ
ェア・インターフェースを提供する。
【0022】ホストOSは、COEXに各CP要求に関
する制約情報を供給して、実記憶域のうちでそのCOE
Xがアクセスしてはならない部分をCOEXがアクセス
しないようにする。これによって、コード・モジュール
を実行する時のCOEXアクセスが、そのコード・モジ
ュールの呼出しを引き起こしたアプリケーションとその
サブシステムから使用可能なデータだけに制限され、こ
れらの制約は、COEX処理と、指定されたコード・モ
ジュールに関するCP内の処理の両方に適用される。
【0023】したがって、本発明は、ホストOS、サブ
システムOS、CEC内のCPおよびCOEXのすべて
に、システム内の正しい動作を維持し、データ保全性を
維持するように共同して作業させる。したがって、保護
されないアプリケーションまたは保護されないサブシス
テムによってコード・モジュールが指定される場合であ
っても、すべてのサブシステム要求が、ホストOSを介
してフィルタリングされ、制約を追加され、これによっ
て、そのモジュールのCOEX実行が記憶域内のデータ
に損傷を与えたり、CECシステム全体の保全性を侵害
することがなくなる。
【0024】さらに、ホストOSは、ソフトウェア−ハ
ードウェア・インターフェースの一部として、CP要求
を受け取るためのCOEX待ち行列を設け、維持するこ
とができる。これらの待ち行列は、COEX命令ストリ
ームに作業を割り当てるために、COEX OSによっ
てアクセスできる。これらの待ち行列は、単一のCOE
Xによって、または、1CEC内のCOEXの組によっ
て共用できる。
【0025】COEXの呼出しの各インスタンスは、互
いに独立であり、特定のサブシステムに特別にCOEX
を割り振らずに、複数の独立なプログラミング・サブシ
ステムが1つまたは複数のCOEXの要求を行えるよう
になっている。ホストOSは、COEXに対して動作を
動的にスケジューリングする責任を負う。COEX動作
に関する要求を受け取り、COEXが使用中またはCO
EXへのハードウェア経路が使用中であるために必要に
なるCOEX動作に関する要求の待ち行列化をもたら
し、特定の要求に関するCOEXのCEC記憶域アクセ
スを制限するためにCOEXによって使用される情報を
提供し、次に実行すべき動作についてCOEXに信号を
送り、COEXから完了信号を受け取り、ハードウェア
・エラー報告を処理し、要求元のサブシステムに要求さ
れた動作の完了と終了状況を通知する目的の、ホストO
Sサービスを設ける。
【0026】1つのCOEXが、複数のプログラミング
・サブシステムを交互にサービスすることができる。あ
るCOEX動作の完了後にCOEX内でキャッシュ記憶
されたままにしておける情報は、コード・モジュールと
制御データ・テーブルの組であり、この組は、COEX
局所記憶域にキャッシュ記憶されたままになることがで
き、この記憶域では、これらの組が、COEX局所記憶
域内の動作区画によってサポートされるCOEX論理デ
ィレクトリによって区別される。
【0027】ホストOSの下の1CEC内で複数のOS
を動作させて、たとえばIBM社のPR/SMシステム
などのハードウェア区分ハードウェア/ソフトウェアを
使用することによって、CECのハードウェア構成を共
用することができる。
【0028】複数のCOEXプロセッサを1つのCOE
X内に設けることができ、これらのCOEXプロセッサ
は、汎用プロセッサとすることができる(それぞれが異
なるアーキテクチャを有してもよい)。COEXプロセ
ッサは、異なるコーディングを行われたプログラムを実
行させることによって、指定された機能に合わせて仕立
てられる。これらのコード・モジュールは、それぞれの
COEXアーキテクチャ環境で実行される。割り当てら
れたCOEXプロセッサのそれぞれのアーキテクチャで
コード化された、異なるコード・モジュールのいずれも
が、同一の機能を実行することができる。必要なコード
・モジュールは、ホスト・プログラムによってCOEX
に対するCP要求内で指定することができる。すべての
COEXプロセッサに関して同一のアーキテクチャを有
する(このCOEXプロセッサのアーキテクチャはCP
のアーキテクチャと異なってもよい)ことの利点が、オ
フロード可能な機能のそれぞれについて1つのコード・
モジュールだけを提供すればよいということである。も
ちろん、COEXプロセッサは、CPと同一のアーキテ
クチャを使用してよいが、異なるアーキテクチャを有す
るCOEXを有すると、(CPと比較して)COEXプ
ロセッサのサイズがより小さいので、より低コストの小
型市販プロセッサをCOEXプロセッサとして使用で
き、最も経済的になるという長所がある。
【0029】したがって、本発明の主目的は、プログラ
ミング・サブシステムによって要求された際にCPの機
能をCOEXプロセッサにオフロードすることである。
このようなサブシステムは、所望の機能を実行するため
COEX内での実行に関してそれぞれのコード・モジュ
ールによって指定された1つまたは複数の機能をオフロ
ードするためにCOEXを使用する許可を得ることがで
きる。異なるプログラミング・サブシステムが、異なる
機能をオフロードでき、同一のサブシステムの異なる版
が、同一のコード・モジュールの異なる版を要求するこ
とができる。この種の可変性を許容することによって、
たとえば、プログラミング・サブシステムがデータ・フ
ォーマットをサブシステムのある版またはリリースから
次の版またはリリースに変更でき、なおかつ作業をCP
からCOEXにオフロードできるようになる。
【0030】また、異なる制御データ・テーブルのアク
セスを必要とするCP機能が存在するが、このような機
能の実行も、異なるCOEX呼出しのためにコード・モ
ジュール内に必要な制御データ・テーブルを置くことに
よって、CPからCOEXにオフロードすることができ
る。したがって、コード・モジュールには、制御データ
または実行可能プログラム・コードもしくはその両方が
含まれる可能性がある。たとえば、一部のデータ圧縮展
開アルゴリズムでは、処理されるデータに応じて、圧縮
展開に異なるデータ辞書を使用する必要がある。特定の
呼出し中にこのような制御データを使用するCOEXに
よって実行される機能に関して広範囲の柔軟性を提供す
るために、制御データ・テーブルを含むコード・モジュ
ールを、ホスト制御プログラムによる要求に応じてCE
Cの主記憶または拡張記憶から取得する。このような場
合、オフロードされたCP作業の1単位を実行するため
のCOEX実行に、要求された機能のためのコードを含
むモジュールと要求された機能のための制御データを含
むもう1つのモジュールなど、複数のコード・モジュー
ルを含むCOEXの初期設定が必要になる可能性があ
る。
【0031】したがって、COEX呼出しの要求のそれ
ぞれで、プログラム・コードを含む1つのコード・モジ
ュール名、その機能レベルまたは版を指定することがで
きる。また、同一の要求で、制御データ・テーブルの名
前と版を含む別のコード・モジュールを指定することが
できる。さらに、COEX呼出しの要求(CP要求)で
は、COEXがCP共用記憶域内のこれらのコード・モ
ジュールのアクセスを必要とする場合に、それを可能に
するためにCP仮想アドレスを使用することができる。
プログラミング・サブシステムは、その呼出し要求でO
Sにこの情報を提供することができ、この情報は、ホス
トOSによるCOEXへのCP要求の一部とすることが
できる。
【0032】COEXに対するCP要求のそれぞれの書
式には、たとえば要求された実行可能コードまたは制御
データ・テーブルに関する、モジュール内容の機能と版
の両方を表すモジュール・トークンを有するCOEX動
作ブロック(COB)を含めることができる。この構造
的書式を用いると、ホストOSが、オフロードされる機
能用のCOEXコード・モジュール内の機能に使用され
るアルゴリズムを変更でき、データ・フォーマットを変
更でき、COEXハードウェア設計に影響を与えずに時
間の上で制御データ・テーブルの組を変更できるように
なる。COEXコード・モジュールには、機能を実行す
る際にCOEXによって処理されるデータのCEC記憶
域での仮想アドレスを指定するパラメータ・リスト(P
ARMLIST)のアドレスと動作制御ブロックを含め
ることができ、さらに、COEX処理結果を記憶すべき
CEC仮想アドレスを含めることができる。
【0033】COEX呼出し処理の性能を高めるため
に、COEX記憶域で、最も最近に実行されたコード・
モジュール(コード、制御データ・テーブルおよび他の
制御データ)の論理キャッシュ(COEX局所記憶域
内)を維持することができる。呼出しのそれぞれの際
に、COEXは、そのキャッシュ内で指定されたモジュ
ールを探索し、要求されたコード・モジュールがまだC
OEXキャッシュ内にない場合に限ってCEC共用記憶
域からモジュールをアクセスする。このキャッシュ記憶
と、CEC共用記憶域からの未発見項目の検索は、ホス
トOSまたは他のプログラミング・サブシステムとの相
互作用なしに、COEXによって自動的に行うことがで
きる。COEXは、キャッシュ記憶されたコード・モジ
ュール(および、コード・モジュールの名前と版によっ
てそのプログラムと制御データ・テーブル)を含むキャ
ッシュ・ディレクトリを維持できる。
【0034】好ましい実施例では、元々の要求元のプロ
グラミング・サブシステム(またはホストOS)だけ
が、キャッシュ記憶されたコード・モジュールのプログ
ラムまたは制御テーブルの使用を許可される。これは、
COEXがそのキャッシュ・ディレクトリを使用するこ
とによって実施される。そのような動作のために、ディ
レクトリ項目には、要求元とキャッシュ記憶されたモジ
ュールのそれぞれがどのように使用されたかの表示も含
まれる。ディレクトリ情報を用いると、COEX記憶域
管理機能によって、キャッシュが満杯であり、キャッシ
ュに含まれないコード・モジュールに関する新しい要求
を受け取った時に、COEXキャッシュ記憶域内のどの
項目を上書きすべきかを決定できるようになる。この新
しいコード・モジュールを、COEX内の記憶域に割り
当て、実行のためCEC共用記憶域からそこにコピーし
なければならない。その後、COEX記憶域管理機能
は、新モジュールがCOEX局所記憶域内のどこに常駐
し、必要な時にはそれが何を上書きするかを決定する。
【0035】したがって、COEXキャッシュ(COE
X局所記憶域内)には、最近COEX動作によって要求
され、将来の動作でもう一度使用されるという予想に基
づいてセーブされたコード・モジュールのコピーが含ま
れる。
【0036】したがって、異なる呼出し側プログラミン
グ・サブシステムまたはホストOSが、各呼出し用の同
一のまたは異なる制御データ・テーブルを含む、同一の
または異なるコード・モジュールもしくは同一のコード
・モジュールの異なる版を使用して同一のハードウェア
COEXを共用することができる。COEXは、必ずし
もCEC共用記憶域から必要なコード・モジュールをロ
ードすることなく、ある実行のための正しいモジュール
と制御テーブルを提供できる。
【0037】COEXハードウェアは、複数の「論理コ
エクセキュータ」(論理COEX)を用いて動作するこ
とが好ましい。論理コエクセキュータの動作をコンピュ
ータ・システム内で開始できるようになる前に、これら
の論理コエクセキュータが、そのコンピュータ・システ
ム内のソフトウェア−ソフトウェア・インターフェース
とソフトウェア−ハードウェア・インターフェースによ
って認識されなければならない。論理COEXは、セッ
トアップされ、初期設定されなければならない。本発明
の論理COEXは、ソフトウェア−ソフトウェア・イン
ターフェースおよびソフトウェア−ハードウェア・イン
ターフェースを使用して、CECホストOSと論理コエ
クセキュータの間で通信することができる。
【0038】これらADMタイプのインターフェースを
使用するには、初期設定手順を使用して、論理コエクセ
キュータを初期設定することができる。本発明の好まし
い実施例では、この初期設定手順が使用される。
【0039】従来のADMは、コプロセッサへのコード
・モジュールの動的転送を全く使用せずに、所定の機能
だけ(すなわちADMと入出力機能)を実行する。その
一方で、本発明のCOEXは、所定の機能を使用しな
い。というのは、そのCP要求が、任意のCOEX動作
に関して各機能(後に記述するか以前に記述されたプロ
グラムとすることができる)を定義するため動的に提供
されるコード・モジュールによって動的に決定されるか
らである。
【0040】論理COEXは、各論理コエクセキュータ
を表すようにユニット制御ブロック(UCB)をホスト
OSが初期設定することによってセットアップされる。
各論理COEXには、ホストOSと論理COEXの間の
相互通信に使用されるサブチャネル(SCH)が関連す
る。UCBの連鎖と要求の待ち行列が、論理COEXの
すべてに関して確立される。というのは、論理COEX
のいずれもが、すべての要求をサービスできるからであ
る。しかし、これらのCOEX用のUCB連鎖と要求待
ち行列は、ADMコプロセッサ(COP)用のUCB連
鎖および要求待ち行列とは別である。というのは、論理
COEXがADM要求を実行せず、ADM COPがC
EC記憶域から指定されたプログラムを実行できないか
らである。これらのCOEXのためのOSの構造と処理
は、論理COEX用とADM COP用に使用されるU
CB待ち行列および要求待ち行列が従来と異なる機能C
OEX SCHのために新しいSCHタイプを定義し、
これによって、入出力SCH、ADM SCHおよび他
のタイプから機能COEX SCHを区別する。OS
は、S/390のストア・サブチャネル(SSCH)命
令の使用を介してシステム初期設定時に発見された動作
するSCHに基づいて、UCBを生成する。その命令が
返すサブチャネル情報ブロック(SCHIB)が、SC
Hタイプを表す。論理COEXは、独自のタイプ、たと
えば4を有する。論理COEXは、前の動作の実行に既
に使用中ではない、そのタイプのSCHのいずれかを介
して呼び出される。
【0041】論理COEXのUCB待ち行列が作成され
た後に、プログラミング・サブシステムからのパラメー
タ・リストを使用し、ソフトウェア−ソフトウェア・イ
ンターフェースを介してCECのOSによってCOEX
動作に関する要求を受け取ることができる。ホストOS
は、COEXの要求するインターフェース書式へパラメ
ータリストを変換し、必要なシステム情報を追加し、こ
の要求を要求待ち行列に置く。このホスト処理には、ア
ドレス空間またはハイパー空間識別のS/390実施例
でのセグメント・テーブル指定(STD)への変換を含
めることができ、COEXによるCEC記憶域へのアク
セスに使用されるCEC記憶キーなど、他のアクセス許
可情報の提供を含めることができる。各STDによっ
て、単一アドレス空間内の仮想アドレスを実アドレスに
変換する方法に関連するシステム・テーブルが定義され
る。
【0042】論理COEXのUCBが使用中でない場
合、そのCOEXに対して発行される要求のCOEX動
作ブロックを指す動作要求ブロック(ORB)が作成さ
れ、このORBが、サブチャネル開始(SSCH)命令
のオペランドとしてアドレッシングされる。その後、入
出力サブシステムを介する間接指定を使用できる。SS
CH命令の実行によって、ハードウェア要求待ち行列内
で入出力サブシステムに関してその動作を待ち行列化す
ることができ、入出力サブシステムが信号を受ける。そ
の後、入出力サブシステムは、それに関する要求が待ち
行列で保留中になっていることをCOEXに通知する。
この場合、使用される待ち行列は、すべての入出力要求
とADM COEX要求をアドレッシングされたSCH
に通信するのに使用されるのと同一の待ち行列である。
ある動作の完了または打切りが、ホストOSに通信され
る。終了した動作は、元々のCOEX動作が呼び出され
た時にアドレッシングされていたSCH番号によって識
別される。
【0043】その後、好ましい実施例では、COEX動
作が完了するか打ち切られた時に、これが、S/390
入出力アーキテクチャに従い、CECの中央プロセッサ
へのCOEXハードウェアによる入出力割込みによって
報告される。中央プロセッサのうちの1つが、割込み信
号のそれぞれを受け入れ、これをS/390入出力プロ
グラム割込みによってホストOSに供給する。論理CO
EX動作では、S/390のサブチャネル・テスト命
令、割込み要求ブロックおよびサブチャネル状況ワード
のすべてが、従来のADM COP動作の場合と同一の
フォーマットを有し、動作完了割込み処理で同一の役割
を演じる。
【0044】割込み処理OSソフトウェアは、完了した
要求を生成した作業ユニットを、CECの中央プロセッ
サ上での実行に関するディスパッチのために作動可能に
する。論理COEX要求待ち行列を、空きUCBとそれ
に対応するSCHが保留中の作業に関して検査し、保留
中の作業要求がある場合、これを新たに解放されたUC
Bに割り当てて、COEXを呼び出す。
【0045】COEXハードウェアと制御プログラムが
一緒になって、データ・アクセスや信号発生を含むCE
Cプロセッサおよび記憶域との相互作用のすべてを処理
する。COEX制御プログラムは、そこで実行中のコー
ド・モジュールによって使用されるサービスの組を提供
する。これには、共用CEC中央電子記憶域、MSまた
はESからデータを取得したり、そこに結果を返すCE
Cデータ・アクセス・サービスが含まれる。実行の呼出
しの際に、COEXは、要求を実行するために指定され
たコード・モジュールを確立し、指定された制御データ
・テーブルのすべてをCOEX局所記憶内のモジュール
からアドレス可能にし、また、そのコード・モジュール
にとって重要な動作制御ブロック情報をCOEX局所記
憶域内でアドレス可能にする。たとえば、これには、指
定されたモジュールによってCOEX内で処理されるデ
ータを含むすべてのCEC記憶区域の仮想アドレスと範
囲が含まれるはずである。しかし、このデータは、その
機能がCEC中央プロセッサ内で実行された場合に有効
になるのと同一のレベルのシステム・データ保全性を維
持するために、使用可能なCOEX CEC記憶域デー
タ・アクセス・サービスを介してアクセスしなければな
らない。コード・モジュールは、COEX局所記憶域内
でキャッシュ記憶される可能性があり、これらは、無変
更の状態でそこに保存されなければならないので、すべ
ての制御データ・テーブルを含むコード・モジュール
は、モジュール実行中に読取り専用として保護される
か、COEXハードウェアが読取り専用記憶域アクセス
動作を提供しない場合には、モジュール実行のインスタ
ンスごとに1つのコピーを作成してこれを使用する。そ
の後、コード・モジュールは、その作業記憶域として局
所COEX記憶域内で実行される。また、モジュール実
行要求に応答して、データをCEC共用記憶域から取り
出し、モジュールによる使用のためにCOEX局所記憶
域内で使用可能にすることができる。実行結果は、CO
EX局所記憶域内で作成され、論理モジュールの要求に
よって、COEX CEC記憶域アクセス・サービスの
使用を介してCEC共用記憶域に返される。
【0046】COEXハードウェアは、局所記憶域アク
セス制御を提供し、各コード・モジュールへのアクセス
をそのモジュールが占める記憶区域に制限し、その結
果、1モジュール内の誤った実行が、COEX制御プロ
グラムを上書きしたり、実行中のモジュールの区域の外
部にある特権動作の不正使用によって、システム全体の
データ保全性やシステム使用可能性を損なう可能性をな
くす。あるモジュールの特権動作は、コード・モジュー
ル用のサービスを実行する際にCOEX制御プログラム
によって実行され、その結果、システム保全性は損なわ
れない。好ましい実施例では、COEXが、COEX記
憶域アクセスを制限するために、それ自体の記憶域の一
部を読取り専用として保護し、コード・モジュールにC
OEX仮想アドレッシングを用いて実行させる能力を有
する。しかし、モジュールの仮想アドレッシング領域内
でCOEX制御プログラム要素を定義しないことによっ
て、COEX制御プログラム要素が、不正アクセスから
保護される。
【0047】コード・モジュール実行には、COEX局
所記憶域アクセスとCEC共用記憶域アクセスの2種類
の仮想アドレッシングが使用される。COEX局所仮想
アドレッシングは、モジュールがその計算を実行する際
にモジュールの計算命令内で使用され、COEX局所記
憶域内のオペランドのアクセスと、そのモジュール自体
の命令、たとえば分岐位置やプログラム定数などの参照
に使用される。これらの仮想アドレスは、COEX実記
憶域内の位置に変換される。COEX制御プログラムに
よるCEC記憶域要求では、COEXがデータを取得し
たり、COEX結果をCEC共用記憶に返すためにアク
セスしたいCEC共用記憶位置のCEC仮想アドレス
を、コード・モジュールが指定する。
【0048】CEC共用記憶域をアクセスするために、
COEX制御プログラムは、CECアドレス変換を使用
する。これは、CECホストOSによってCOEXが呼
び出される時にCOEXに指定されたCEC変換テーブ
ルを使用して実行される。たとえば、S/390アーキ
テクチャのシステムでは、セグメント・テーブル指定
(STD)をCOEXに供給して、COEXに対するC
P要求に関連する動作制御ブロックの一部としてCEC
ホストOSによって供給されるCOEX要求に含まれる
仮想アドレス空間を識別する。STDは、CEC共用記
憶域内で変換テーブルを突き止め、これをCOEX制御
プログラムが使用して、コード・モジュール内で供給さ
れたCEC仮想アドレスを変換して、COEXがCEC
共用記憶域をアクセスできるようにする。その後、仮想
アドレスを変換する必要が生じた際に、CECのセグメ
ントとページ・テーブルが、CEC記憶域内でアクセス
される。この動的アドレス変換(DAT)処理は、参照
によって本明細書に組み込まれる米国特許第52376
68号明細書で解説されている。COEXハードウェア
は、COEX制御プログラムの制御の下で、このような
CECアドレス変換を実行して、データの取出しと記憶
のためにこのアドレス変換から得られた絶対アドレスを
使用してCEC共用記憶域をアクセスする。これらのア
クセスでは、システム・データ保全性を維持するため
に、COEX呼出し時にCECホストOSによって供給
されるCEC記憶キーを使用することができる。
【0049】好ましい実施例では、S/390のサブチ
ャネル開始(SSCH)命令を使用して、実行すべき作
業要求が存在することの信号をCOEXに送る。SSC
H命令のパラメータの1つが、動作要求ブロック(OR
B)であり、これには、COEX動作ブロックのCEC
記憶域でのアドレスが含まれる。このブロックには、要
求された動作でアクセスされるCECアドレス空間のそ
れぞれについて1つのSTDを含む、STDのリストが
含まれる。実行すべきコード・モジュールは、トークン
によって指定される。トークンは、モジュールの機能
と、コード・モジュールの版を表す。COEXがCOE
X局所記憶域でコード・モジュールをキャッシュ記憶せ
ず、CEC記憶域からもう一度コード・モジュールを検
索しなければならない場合には、モジュール・アドレス
(アドレス空間STDと空間内の仮想位置)とモジュー
ル長が指定される(要求元サブシステムは、指定された
モジュールがCOEX記憶域でキャッシュ記憶されない
と仮定する)。COEX動作ブロックには、入力の取出
しと結果の記憶のためにコード・モジュールのCOEX
によってアクセスされる可能性のあるCECデータ区域
のすべての長さとCEC仮想アドレスとを含むパラメー
タ・リスト(PARMLIST)のアドレスが含まれ
る。
【0050】したがって、PARMLISTは、COE
X実行中に使用されるコード・モジュール内のプログラ
ムと制御データ・テーブルのトークンを指定する。トー
クンは、プログラムと制御データ・テーブルの機能と版
を表す。トークンが使用されるのは、COEX制御プロ
グラム・サービスが、CEC共用記憶区域のアクセスを
要求する時である。CEC記憶域内の制御ブロック・フ
ィードバック・テーブルのアドレスを指定でき、その結
果、コード・モジュールが、COEXサービスを使用し
てCEC内の要求元プログラミング・サブシステムに結
果や統計などを報告できるようにすることができる。C
OEX制御ブロックには、COEXハードウェア状態に
よって呼び出すことのできるCECホストOSまたはC
OEXOS呼出しサービスにとって重要な情報や、呼出
し側インターフェース内のホストOSが供給する情報内
のエラーのための応答区域を含めることができる。CO
EX動作ブロックは、CECホストOS記憶域内にあ
り、呼出しの一部としてCOEX OSによってアクセ
スされる。PARMLISTによって指定されるCEC
共用記憶域は、プログラミング・サブシステムによっ
て、それに割り当てられた記憶区域内に保たれることが
好ましい。この場合、COEXは、コード・モジュール
を実行する時にCOEXデータ・アクセス・サービスを
介してCEC記憶域内でこれらをアクセスできる。
【0051】
【実施例】好ましい実施例の主な要素を図1に示す。箱
100には、CECの中央プロセッサに関連する要素が
含まれる。1例として、3つのプログラミング・サブシ
ステム、サブシステム1、サブシステム2およびサブシ
ステムNが図示されている。
【0052】これらは、CEC記憶域内にあり、CEC
中央プロセッサ上で実行されている。機能コエクセキュ
ータ(COEX)内で実行するためのモジュールは、M
od1、Mod2およびModNによって示されてい
る。COEX動作中に使用する制御データ・テーブル
は、CT1A、CT1B、CT2A、CT2B、CTN
AおよびCTNBによって示されている。したがって、
たとえば、サブシステムNは、機能COEXを呼び出す
時に、MODNと、CTNAまたはCTNBのいずれか
(MODNの機能によってはその両方)を、COEXの
その呼出し実行に使用するコードおよび制御データとし
て指定することができる。MODN、CTNAおよびC
TNBは、CECの電子記憶域内で、主記憶(MS)ま
たは拡張記憶(ES)のいずれかに存在する。COEX
内での実行のために、これらがまだCOEXの局所記憶
域にない場合には、これらをCOEXの局所記憶域にコ
ピーしなければならない。COEXは、線101によっ
て示されるように、CEC記憶域に対する直接ハードウ
ェア・アクセスを有し、コエクセキュータ局所記憶域内
でのこれらの実体のキャッシュ記憶を自動的に提供す
る。箱102は、各サブシステムをそれ自体のデータと
動作の領域に分離することによって、CEC全体の動作
の完全性とデータ・セキュリティを維持する、信頼のお
ける特権要素を示す。オペレーティング・システム(O
S)とそのCOEX呼出しサービスおよびデータ・アク
セス制御要素は、ここに置かれる。COEXモジュール
および制御データ・テーブルの独自のシステム全域トー
クンは、サブシステムによってOSに供給されるトーク
ンを、サブシステムのその動作コピーに独自になるよう
に修飾することによって、ここで提供される。たとえ
ば、サブシステムが実行中のオペレーティング・システ
ム・アドレス空間の独自の標識を、サブシステムが供給
するトークンに付加して、これをシステム全域で独自に
することができる。
【0053】COEXは、線103を介する信号によっ
て実行のために呼び出される。この信号は、COEX
に、現要求の詳細を得るために、あらかじめ定義された
標準的な方法で、標準S/390入出力動作待ち行列を
検査するよう通知する。COEXは、2つの動作エンジ
ンとして、箱104および105に示されている。コエ
クセキュータ制御プロセッサ(CCP)は、信号発生と
電子記憶域MSまたはESへのアクセスを含む、CEC
との直接通信のすべてを処理する。コエクセキュータ機
能プロセッサ(CFP)は、CEC記憶域からコピーさ
れたモジュールを実行する。これらのエンジンは、互い
に非同期に動作する。CEC記憶域は、中央プロセッサ
動作環境とCOEX動作環境の間での情報の相互通信に
使用される。図1の線103および106を介する信号
によって、環境の一方または他方に、新情報を検査しな
ければならないことを通知する。線103は、COEX
への呼出し信号のために使用され、線106は、CEC
への完了信号のために使用される。線101は、初期設
定処理または打切り処理の一部として、または、オペラ
ンド・データの取出しもしくは記憶に関するコード・モ
ジュール要求を満たす際のいずれかの、COEXからC
EC電子記憶域へのアクセスに使用される。箱104お
よび105によって示されるCOEXの2つの動作エン
ジンは、この両方によって共用され、両方から直接アク
セス可能であるCOEX記憶域を介して相互通信する。
しかし、COEX局所記憶域は、CECの中央プロセッ
サによって直接アクセス可能ではない。エンジンの間の
信号発生は、図で「コマンド・アクセス」と記された線
を介して実行される。
【0054】2つのCOEXエンジンは、互いに非同期
に動作し、その一方のCCPで、他方が機能モジュール
を実行している間にCEC記憶域と相互作用することが
できる。これによって、CCPによるCECデータ・ア
クセスを、CFPによる機能モジュールの実行と並行に
することができる。CCPは、CEC呼出し信号のすべ
てを受け取り、その呼出しで供給されたトークンを変換
し、主な要素を箱105に示されたCOEX機能プロセ
ッサ(CFP)上で実行される制御プログラムに、指定
されたモジュールと制御データ・テーブルへのCOEX
局所記憶域でのアドレス能力を提供する。これらの実体
が存在しない場合、CCPは、これらをCEC記憶域か
ら得る。COEX記憶域は、CCPとCFPによって共
用される。CCPとCFPは、COEX記憶域を直接ア
クセスできる。必要なモジュールまたは制御データ・テ
ーブルのいずれかがCOEX内に存在しない場合、それ
をCEC記憶域から検索しなければならない。モジュー
ルとテーブルのCEC仮想アドレスは、呼出しパラメー
タの一部である。CEC DATをCCP内で実行し
て、存在しない実体のMSまたはESでの実アドレスを
見つけ、そこでこれをアクセスし、COEX記憶域にコ
ピーし、COEXディレクトリに追加する。モジュール
と制御データ・テーブルのキャッシュ記憶のために予約
された読取り専用記憶域が既に満杯である場合、最近最
も使用されていない実体が、上書きされ、ディレクトリ
から削除される。これによって十分な空間がもたらされ
ない場合、新しい実体を保持するのに十分な空間が見つ
かるまで、第2、第3の実体を上書きする。CEC記憶
域から供給されるCOEXモジュールとテーブルのキャ
ッシュ記憶用の記憶域は、図1では箱107として示さ
れている。必要な要素を得るための、CEC仮想アドレ
スの変換とCEC電子記憶域への関連アクセスは、図1
の箱104内のCEC記憶域アクセス制御によって実行
される。
【0055】箱104は、CECの中央プロセッサ上で
走行しているOSによって要求されたCOEX動作の呼
出しと打切りの制御も提供する。これは、新しい動作が
要求されたことを示す信号を受け取り、CEC主記憶内
の動作要求ブロック(ORB)をアクセスし、そのOR
BからCOEX動作ブロック(COB)のアドレスを取
得し、これを使用してCOBをアクセスする。このCO
Bは、CEC記憶域から取り出され、COEX記憶域に
置かれる。COBからPARMLISTのアドレス指定
を取得し、CCPのCEC記憶域アクセス制御で提供さ
れるCEC DAT処理を使用して、CEC絶対アドレ
スに変換する。次に、結果の絶対アドレスを使用し、C
OBヘッダ内で指定された、指定されたアプリケーショ
ンまたはサブシステムのCEC記憶キーを使用して、C
EC記憶域(MSまたはES)のPARMLISTをア
クセスし、これをCOEX記憶域に置く。PARMLI
STは、アプリケーションまたはサブシステムのCEC
記憶域にあり、COEX内での実行のためにコード・モ
ジュールからアドレス可能にされる。これには、入力デ
ータを求めるCOEX制御プログラムに対する要求で使
用されるか、CEC記憶域に結果とフィードバックを返
すために、呼出し側プログラミング・アプリケーション
またはサブシステムによって使用するためのCEC仮想
アドレスの指定が含まれる。
【0056】箱108Aは、現在の実行の後の将来の実
行のためにセーブされる、前の動作中の実行の結果とし
てCOEX記憶域にキャッシュ記憶された、指定された
モジュールのコピーを表す。箱108Bは、箱108A
のモジュールの実行の特定のインスタンスを表す。これ
には、モジュールの実行の現在の状態に関する具体的な
情報、たとえば命令カウンタ、レジスタ内容、動作モー
ドなどが含まれる。実行される物理的なコードは、この
実施例では読取り専用であるが、COEXハードウェア
内で読取り専用ハードウェア制御が使用不能な場合の代
替実施例では、コピーを使用することができる。この場
合、箱108Bのモジュールは、箱108Aのモジュー
ルのCOEX記憶域コピーと、実行の特定のインスタン
スの状態情報の実行環境になるはずである。箱109
は、実行中の作業記憶域としてCOEXモジュールから
使用可能にされるCOEX記憶域の読書両用部分を示
す。箱110は、記憶キーや境界制限付きアドレッシン
グなど、COEX制御プログラム、その作業データおよ
びキャッシュ記憶されたモジュールならびに制御データ
・テーブルの保全性を維持するのに使用される、COE
X仮想アドレッシングと他のCOEX記憶域アクセス制
御の使用を示す。この制約は、COEX動作環境の保全
性を保護することによって、システム全体の動作とデー
タの保全性を守る上でCOEXがその役割を正しく実行
するために必要である。そうでない場合には、COEX
を使用して、CEC中央プロセッサまたは記憶域の保全
性を危険にさらすことが可能になってしまう。
【0057】箱111は、COEX制御プログラムと、
動作中の機能モジュールのためにそれが提供するサービ
スを表す。モジュール実行のために必要なCEC記憶域
アクセスのすべてが、モジュールから制御プログラムの
特権記憶域アクセス機能へのプログラミング呼出しによ
って要求され、この特権記憶域アクセス機能は、これら
の要求を、CEC DATおよび記憶域アクセスのため
のCCP内のCEC記憶域アクセス制御に正しく関連付
ける。この呼出しは、従来技術に既に多くのタイプが存
在するCFPエンジン内の安全な、権限変更ハードウェ
ア・プログラム転送機構を使用することによって実行さ
れて、機能モジュールの非特権状態からCOEX制御プ
ログラムの特権状態へ制御が切り替えられる。また、P
ARMLISTのフィードバック・ブロックのCEC記
憶域コピーの内容を介して動作完了に関する情報をCE
C記憶域に送り返すサービス、モジュール動作の完了ま
たは打切りの信号を送るサービス、モジュールとCEC
記憶域内の呼出し側プログラムの間でメッセージを中継
するサービスも提供される。
【0058】図2、図3および図4は、動作を実行する
ために機能COEXを呼び出すOSサービス・ルーチン
への要求で、アプリケーションまたはサブシステムが供
給するパラメータを示す図である。図2は、ユーザ要求
制御ブロックを示す図である。アプリケーションまたは
プログラミング・サブシステムは、このブロックを作成
し、OSのCOEXサービス・ルーチンに渡して、CO
EXサービス・ルーチンは、これを使用して、アプリケ
ーションまたはプログラミング・サブシステムの代わり
にCOEXの動作を求めるサービス・ルーチン要求を作
成する。この制御ブロックには、COEX動作中にアク
セスされるPARMLISTの完全な仮想システム・ア
ドレスが示されている。アドレスは、PARMLIST
を含むアドレス空間のアクセス・リスト項目トークン
(ALET)、そのアドレス空間内でのPARMLIS
Tの仮想アドレス、およびそのバイト単位の長さからな
る。制御ブロックには、COEXで実行される機能モジ
ュールのトークンと、CEC記憶域でのそのモジュール
の完全な仮想アドレスも含まれる。やはり、この仮想ア
ドレスも、アドレス空間ALET、空間内の仮想アドレ
スおよびバイト単位のモジュールの長さが含まれる。C
OEX動作中にCOEX記憶域にロードする必要がある
テーブルを指定する、制御データ・テーブル・リストの
ALET、仮想アドレスおよび項目数単位での長さも、
この要求制御ブロックの一部である。この制御ブロック
には、図3および図4の制御ブロックで指定されるコー
ド・モジュールによってアクセスされるCEC記憶域内
の仮想アドレス空間を識別するALETのリストも含ま
れる。これらのALETは、要求パラメータ制御ブロッ
ク内の位置に対する相対的なアドレス空間番号によっ
て、これらの制御ブロックから参照される。すなわち、
アドレス空間番号1は、リスト内の最初のALETを指
し、アドレス空間番号2は、リスト内の2番目のALE
Tを指す。どの場合でも、ALETによって、アドレス
空間、データ空間またはハイパー空間を定義することが
できる。
【0059】図3は、COEXサービス・ルーチンがC
OEX動作呼出しのために呼び出された時に、COEX
サービス・ルーチンに供給されるPARMLISTを示
す図である。CEC記憶域内の記憶区域を含む空間のA
LETの仮想アドレス空間番号(要求制御ブロック内で
の)、その空間内での仮想アドレス、およびCEC記憶
域内でのバイト単位の長さによって、COEXによって
アクセスされる入力データ区域および出力データ区域、
ならびにフィードバック区域のそれぞれが定義される。
フィードバック区域は、コード・モジュールが呼出し側
のアプリケーションまたはサブシステム・プログラムに
モジュール実行に関する情報、たとえば処理されたデー
タに関する統計やCEC記憶域に返された量を報告する
のに使用できる。
【0060】図4は、指定されたモジュールによってそ
の処理に使用される制御テーブルを定義する、制御テー
ブル・リストを示す図である。各項目には、アプリケー
ションまたはサブシステムでユニークな識別用のトーク
ン、テーブルを含む空間の仮想アドレス番号、および、
その空間内のテーブルの仮想アドレスと長さが含まれ
る。
【0061】図5は、SSCH命令によって実際にCO
EXが呼び出される時点での制御ブロック構造を示す図
である。図示の書式は、COEXサービス・ルーチンに
よって作成される。この図には、SSCH命令におい
て、汎用レジスタ1(GR1)によって、アドレッシン
グされるSCHを指定し、第2オペランドの実効アドレ
スによって、ORBアドレスを指定することが示されて
いる。これは、この実施例に使用されるS/390アー
キテクチャの標準である。しかし、COEX動作の場合
には、ORBにCOEX動作ブロック(COB)のアド
レスが含まれ、入出力動作の場合には、ORBがチャネ
ル・プログラムをアドレッシングする。SCHタイプに
よって、アーキテクチャ・フォーマットの相違が示され
る。SCHタイプによって機能COEXが示される場
合、ORBはCOBをアドレッシングする。CEC O
S内のCOEXサービス・ルーチンは、ユーザ要求制御
ブロックに含まれる情報から、保護されたシステム記憶
域にCOBを作成する。このCOBは、ヘッダ部分、コ
マンド指定ブロック(CSB)および応答ブロックから
なる。
【0062】図6にヘッダを示す。これには、ユーザ・
プログラムからCOEXモジュールへのプログラミング
・パラメータ用の予約空間、COB全体の長さ、非同期
データ移動機構動作ブロック(AOB)から区別するな
ど、このCOBを機能COEXのCOBとして識別する
コマンド・フィールド、COBの先頭からCSBまでの
相対オフセット、および、機能モジュールの代わりにC
EC記憶域をアクセスする際にCOEXが使用しなけれ
ばならないCEC記憶キーが含まれる。
【0063】CSBを図7に示す。COEXサービス・
ルーチンは、要求制御ブロック内のすべてのALETを
セグメント・テーブル指定(STD)に変換し、これら
を要求制御ブロック内と同一の順序でCSB内のリスト
に置く。このようなSTDの個数を、CSBに置く。P
ARMLIST内のアドレス空間番号と制御テーブル・
リストによって、これらの空間が、その相対順序でアド
レッシングされる。この構造を使用するのは、PARM
LISTと制御テーブル・リストがユーザ記憶域にある
が、COBがOSシステム記憶域にあり、実際のSTD
が常駐できるのもOSシステム記憶域になるからであ
る。STDは、CEC記憶域でのアクセスのために、C
EC仮想アドレスをCEC絶対アドレスに変換する際
に、COEXCCPのCEC記憶域アクセス制御要素に
よって使用される。アプリケーションまたはプログラミ
ング・サブシステムの要求で指定されたモジュールのA
LET、PARMLISTおよび制御テーブル・リスト
は、STDに変換され、指定された仮想アドレスおよび
長さと共にCSBに置かれ、その結果、呼出し処理中に
CCPがこれらをCEC記憶域からアクセスできるよう
になる。制御テーブル・リストの項目数が、CSBに置
かれ、また、COEXサービスは、たとえばMVSでは
プログラムのアドレス空間制御ブロック(ASCB)の
アドレスなど、アプリケーションまたはサブシステム・
プログラムの独自の識別子を追加する。これは、COE
Xディレクトリ内で、このプログラムのモジュールと制
御テーブルを、同一OSイメージ内の他の呼出し側プロ
グラムのモジュールや制御テーブルから区別するのに使
用される。図からわかるように、モジュール、PARM
LIST、制御テーブル・リスト、アプリケーション・
フィードバック・テーブル、入力データ区域および出力
データ区域は、アプリケーション記憶域内に残り、動作
中に必要に応じてCOEXからそこでアクセスされる。
【0064】図8に、COBのCOEX応答ブロック部
分を示す。これには、エラー・コードのための定義済み
空間と、報告されるエラー・コードに関連する、エラー
を発生した空間の番号および仮想アドレスが含まれる。
このブロックは、たとえば指定されたモジュールまたは
制御テーブルの検索や、データ・アドレスの変換など、
COEX特権要素によって、機能の実行中またはコード
・モジュールの実行の際に検出されたエラーを通信する
のに使用される。エラーの例は、無効なアドレス変換、
CEC記憶キー違反、およびコード・モジュール実行エ
ラーである。
【0065】図9に、システム記憶域にキャッシュ記憶
された実体のためのコエクセキュータ・モジュール/制
御テーブル・ディレクトリを示す。COEX呼出しで指
定されたモジュールまたは制御テーブルがこのディレク
トリで見つかる場合、CEC記憶域からそれらを再アク
セスする代わりに、COEX記憶域コピーを使用するこ
とができる。ディレクトリは、実体をCEC記憶域から
アクセスさせたSSCH命令を発行した、OSが実行さ
れているシステム区画の論理区画(LPAR#)によっ
て、プログラムされたキャッシュ内で実体を区別する。
各項目は、特定のLPAR区画内で、その実体をCEC
記憶域からアクセスさせた呼出しのCSBから得られる
呼出し側プログラムID(PROGRAM ID)によ
っても区別される。LRUフィールドは、ある呼出しに
よってその実体がどれほど最近に使用されたかを示す。
これは、記憶域管理機能で、キャッシュ内に存在しない
実体がCOEX動作のために必要な時にどの実体を上書
きするかを決定するのに使用される。FREE(空き)
フィールドは、使用中でなく、したがって、新たにキャ
ッシュ記憶される実体のために使用可能であるディレク
トリ項目を識別する。COEX局所システム読取り専用
記憶域での実体の位置は、COEX記憶域アドレス(C
OEX ADDR)フィールドと実体長(LENGT
H)フィールドにある。
【0066】図10は、CCPの動作に関する新しい作
業要求が行われたことの信号を受け取った時に、CCP
によって実行される処理を示す図である。この信号は、
ステップ1000で受け取られる。ステップ1001
で、作業信号によって示されたORB内のアドレスを使
用して、CCPがCOEX局所記憶域にCOBを取り出
す。ステップ1002で、COBをテストして、これに
機能COEX動作用の動作コードが含まれるかどうかを
調べる。そうでない場合、ステップ1003で、無効コ
マンド表示をチャネル状況ワードに記憶し、ステップ1
009で、CECにコマンド完了の信号を送る。このS
/390実施例では、OSが、通常のS/390アーキ
テクチャ式の手段を介して完了の通知を受ける。コマン
ド・コードによって機能COEX要求が示される場合、
ステップ1004で、CEC記憶域からPARMLIS
Tと制御テーブル・リストを取り出す。これを行うため
に、CCPは、COBからの、それぞれのSTD、仮想
アドレスおよび長さを使用する。CEC実記憶域内の実
体のそれぞれの絶対アドレスを見つけるために、STD
と仮想アドレスを使用してCEC DATを実行する。
ステップ1005で、COBで指定されたモジュール
を、COEXディレクトリ内で探索し、CFP内での実
行のために確立する。これは、図11および図12によ
り詳細に示されている。ステップ1006で、PARM
LISTと制御テーブル・リストを、COEX局所記憶
域に記憶する。これらは、モジュールの実行中にそのモ
ジュールから使用可能にされる。ステップ1007で、
制御プログラムが、モジュールを開始できることを知ら
せる信号を受け取る。この信号には、そのモジュール、
PARMLISTおよび制御テーブル・リストのCOE
X記憶域での位置が関連する。この時点で、制御テーブ
ル・リストには、指定された制御テーブルのCOEX局
所記憶域アドレスが含まれ、その結果、このモジュール
は、実行中にCOEX記憶域でこれらを直接アドレッシ
ングできる。CFPに信号を送った後に、CCPは、ス
テップ1012で、たとえば動作の取消しなど、CEC
からの次の信号か、CEC記憶域アクセス要求に関する
制御プログラムからの信号か、完了信号を待つ。
【0067】図11および図12は、元々はCEC記憶
域からCOEX局所記憶域に取り出されたコード・モジ
ュールおよび制御テーブルのためのキャッシュ記憶処理
の論理を示す図である。指定されたモジュールまたは制
御テーブルがまだキャッシュ・セット内で使用可能であ
る場合、それを使用し、CEC記憶域からもう一度取り
出すことはしない。そうでない場合、それを取り出し、
その識別を、モジュールおよび制御テーブル・キャッシ
ュ・ディレクトリに置く。取り出された場合、それが、
COEX記憶域内にそれ用の空間を設けるために、既に
キャッシュ内にある他の実体と置換される場合がある。
その場合、置換される実体は、キャッシュ・ディレクト
リから削除される。
【0068】このキャッシュ処理は、図11のステップ
1100から開始される。ステップ1101で、ディレ
クトリ内で次に探索する項目を選択する。ステップ11
02で、LPAR#、プログラムIDおよびアプリケー
ションによって供給されたトークンからなるその実体の
トークン探索キーを形成する。ステップ1103で、ル
ープ指標カウンタIを1にセットして、必要な場合には
ディレクトリ内の既存項目のすべてをステップする。ス
テップ1104で、ディレクトリからI番目の項目を取
得する。ステップ1105で、この項目を探索キーと比
較する。これが等しくない場合、ステップ1106でテ
ストを行って、最後のディレクトリ項目を探索キーとの
一致に関してテストしたかどうかを確認する。そうでな
い場合、ステップ1107で次の繰返しのために指標I
を1つ増分し、ステップ1104に制御を戻して、次の
ディレクトリ項目に関する比較検査を行う。ステップ1
105で、その実体が既にキャッシュ内に存在すること
がわかった場合、制御をステップ1108に渡し、そこ
で、この新しい使用を反映するようにLRU表示を更新
し、ディレクトリに置く。ステップ1110で、現動作
に必要なすべての実体がキャッシュ内で見つかるか、C
EC記憶域から取り出されたかどうかに関する検査を行
う。そうでない場合、ステップ1111に制御を渡し
て、探索する次の実体を選択する。ステップ1111か
らステップ1102に制御を移して、ディレクトリ探索
の次の繰返しを行う。ステップ1110で、必要な実体
のすべてがCOEX記憶域で使用可能であることがわか
った場合、呼出し元のCCP初期設定処理(図10のス
テップ1006)に戻る。ステップ1106で、最後の
ディレクトリ項目を検査し、探索した項目が見つからな
い場合、制御を図12の入口点AAに移す。
【0069】図11のステップ1106からの接続子A
Aから、図12のステップ1113に進入する。ステッ
プ1113では、満杯ディレクトリに関する検査を行
う。ディレクトリが満杯でない場合、ステップ1114
で、ディレクトリ内の最初の空きスロットを新実体のた
めに予約する。ステップ1116で、使用可能な空きC
OEX記憶域を検査して、実体がその使用可能な空き記
憶域に収まるかどうかを調べる。収まる場合、ステップ
1120に進み、そこで記憶域を割り振り、ステップ1
121に進んで、CEC記憶域からCOEX記憶域で割
り振られた空間へ実体を取り出す。ステップ1122
で、ステップ1114で予約された予約済みディレクト
リ項目を、LPAR#、プログラムID、トークン、L
RU表示、COEXアドレスおよび長さを用いて更新
し、空きでないとしてマークする。その後、ステップ1
123で、CCP初期設定処理(図10のステップ10
06)に戻る。ステップ1113でディレクトリが満杯
であるとわかった場合、または、ステップ1116で実
体をキャッシュ記憶するのに十分な空き空間がCOEX
記憶域で見つからない場合、ステップ1117で、ディ
レクトリを探索して、その空間を奪い、新たに要求され
た実体のために使用することのできる、最近最も使用さ
れていない項目を探す(図12では、ステップ1116
からステップ1117へは、接続子CCを介して到達す
る)。あるディレクトリ項目がまだ新実体のために割り
当てられていない場合、この項目が、その実体のために
予約される。ステップ1118で、キャッシュから追い
出すために選択された実体が占めていた空間を、既に使
用可能な空き空間に追加し、そのディレクトリ項目を、
「空き」としてマークする。ステップ1119で検査を
行って、実体を保持するのに十分な空き空間があるかど
うかを調べる。そうでない場合、ステップ117へ進ん
で、キャッシュから追い出すことによって空間を提供す
るためにもう1つの項目を選択する。その実体を保持す
るのに十分な空間が使用可能になった時、ステップ11
20に進んで、空間の割振りを行い、その後、ステップ
1121とステップ1122で、実体を取り出して割り
振られた空間に置き、それ用のディレクトリ項目を作成
する。
【0070】図13は、CCPがCFP上で実行中の制
御プログラムから要求信号を受け取った時のCCP処理
を示す図である。この信号は、CEC記憶域からのGE
T要求、CEC記憶域へのPUT要求、または動作完了
信号である可能性がある。この処理は、ステップ120
0で、CFPからの信号を受け取ることから始まる。ス
テップ1201で、GET要求に関する検査を行う。そ
の信号がGETである場合、ステップ1202でこれを
実行する(図17でその詳細を説明する)。その信号が
PUTである場合、ステップ1204で記憶処理を実行
する(図18でその詳細を説明する)。ステップ120
2またはステップ1204の後には、ステップ1208
に進んで、CCPが次のサービス要求を待つ。コマンド
完了信号を受け取った場合、ステップ1206で、正常
終了ハードウェア状況をチャネル状況ワードに記憶し、
ステップ1207で、CECに信号を送る。制御プログ
ラムの要求が、定義済みの正当な動作のどれでもない場
合、ステップ1205からステップ1209に進んで、
制御プログラム・エラー状況をチャネル状況ワードに記
録する。ステップ1210で、制御プログラムに、不成
功完了の実行を知らせる信号を送る(これは、図19の
ステップ1800でモジュールによって受け取られ
る)。CCPは、ステップ1208で、CFP上の制御
プログラムからまたはCECからの次の信号を待つ。
【0071】図14は、CCPから開始信号を受け取っ
た時の、CFP上で実行される制御プログラムの処理を
示す図である。信号データで供給されたパラメータを、
コード・モジュールを呼び出す時にそのコード・モジュ
ールに通信するためにパラメータ・リストに用意する。
これらは、規定によって、COEX記憶域内のモジュー
ルの最初に実行される命令を示す位置、モジュールの実
行中に入力、出力およびフィードバック区域への制御プ
ログラムのCEC記憶域アクセスをモジュールが要求で
きるようにするために必要な入力区域、出力区域および
フィードバック区域の指定を含むPARMLISTのC
OEX記憶域内の位置、および、COEX記憶域内での
指定された制御テーブル・リストのアドレスである。こ
のリストには、その動作に関して指定されたテーブルの
COEX記憶域内のアドレスが含まれ、その結果、これ
らのテーブルをCOEX記憶域内で直接アクセスできる
ようになる。この情報は、ステップ1302でモジュー
ルから使用可能にされ、ステップ1303でモジュール
に制御を移す。モジュールは、CFP非特権状態で実行
される。ステップ1304で、モジュールがCFP上で
実行されている間、制御プログラムは休止状態になる。
制御プログラムに再入するのは、モジュールがサービス
要求を行う時か、CCPから信号を受け取る時である。
【0072】コード・モジュールによる制御プログラム
に対するCECデータのGET要求またはPUT要求の
指定フォーマットを、図15に示す。動作GETまたは
PUTは、サービス呼出しのパラメータ内で示され、仮
想空間番号も同様である。この仮想空間番号は、COB
内のリストに対する相対的な番号であり、このリスト
は、元々はOSのCOEXサービス・ルーチンに対する
CEC中央プロセッサ上で実行中のアプリケーションか
らの呼出しで指定されたALETのリストからもたらさ
れる。この仮想空間番号によって、データ・アクセスの
対象となるCEC仮想空間が識別される。その空間から
取り出されるかそこに記憶されるデータの仮想アドレス
と、そのデータの長さは、パラメータで指定される。取
り出されたデータを置くか、記憶するデータが取得され
る、COEX記憶域内のアドレスが、このサービス呼出
しのもう1つのパラメータである。
【0073】図16は、機能モジュールからサービスを
求める要求を受け取った時の、CFP内で実行中のCO
EX制御プログラム(CP)の処理を示す図である。図
16では、ステップ1500が、CEC記憶域からデー
タを取り出すか、そこにデータを記憶することをモジュ
ールが要求した時の、制御プログラム処理の入口点であ
る。ステップ1501で、パラメータの有効性検査を実
行する。この検査の結果、モジュールにプログラミング
・エラーがあるとわかった場合、ステップ1502から
ステップ1507に進んで、その実行を打ち切る。この
場合、ステップ1508で、CECの中央プロセッサ上
で実行中のOSのCOEXサービスへの動作完了の通信
の一部としてCEC記憶域に送り返される応答ブロック
に、エラー状況を記憶する。CFPでは、ステップ15
09で、次の要求の実行に備えて、モジュール環境をク
リアする。機能COEXの連続した呼出しが、独立であ
り、COEXの1ユーザに属する情報を別のユーザに明
かさないことが、必要条件である。その後、ステップ1
510で、制御プログラムが、動作を打ち切ったことを
知らせる信号をCCPに送る。その後、CFPは、ステ
ップ1511で、CCPからの次の動作信号を待つ。ス
テップ1501でエラーが見つからない場合、ステップ
1502からステップ1503に進んで、CCPに要求
を送り、CCPは、その要求を満足するためにCEC
DATを実行し、CEC記憶域をアクセスする(図17
および図18を参照されたい)。CCPにCEC記憶域
アクセスを行うように要求した後に、制御プログラム
は、ステップ1504で、次の処理のためにコード・モ
ジュールに戻る。ステップ1505は、モジュールが要
求された動作を完了したか打ち切り、CECの中央プロ
セッサ上で走行中の呼出し側プログラムに完了を通知で
きることを伝える信号をCFP上の制御プログラムに送
る時の入口点である。正常完了状況表示が、応答ブロッ
クに記憶され、ステップ1509に移って、モジュール
環境をクリアし、その後、ステップ1510に進んで、
モジュール実行が完了したことを知らせる信号をCCP
に送る。ステップ1511で、制御プログラムが次の信
号を待つ。
【0074】図17は、CFP上で実行中の制御プログ
ラムからGET要求を受け取った時のCCP内の処理を
示す図である。ステップ1601で、仮想空間番号を使
用してCOB内のSTDのテーブル内でインデクシング
して、空間のSTDを見つけ、ステップ1602で、こ
のS/390実施例ではこのSTDを使用して、仮想C
ECアドレスを絶対CEC記憶域アドレスに変換するの
に必要なセグメントとページ・テーブルをCEC記憶域
から取り出す。COEXでのCEC DATの性能を高
めるためにCCPが頻繁にアクセスされるセグメントと
ページ・テーブルのキャッシュを維持するための方法
が、従来技術に多数存在することは当業者に明白であ
り、したがって、そのようなキャッシュ処理はここでは
説明しない。ステップ1603で、有効性に関してペー
ジ・テーブル項目(PTE)を検査する。仮想アドレス
がPTE内で無効として示される場合、変換例外の表示
と共に要求完了の信号を、CFP上の制御プログラムに
送り返す。DATに必要なセグメントまたはページ・テ
ーブルの検索でエラーがあった場合にも、同一の表示が
もたらされるはずである。これはステップ1609で行
われ、その後、ステップ1611で、サービス要求信号
によって割り込まれたCCP処理に戻る。DATの結果
が有効である場合、ステップ1604で、変換されたC
EC絶対アドレスと供給された長さを使用してCEC記
憶域からオペランドを取り出し、モジュールに代わって
CEC記憶域をアクセスするためにCOBヘッダからC
EC記憶キーを取り出す。ステップ1605のテスト
で、ハードウェア・エラー信号なしでデータを受け取っ
た場合、ステップ1606で、そのデータを、この取出
しをもたらした制御プログラムに対する要求でモジュー
ルによって要求されたCOEX記憶域内の位置に記憶す
る。ステップ1608で、CFP内の制御プログラム
が、GET要求の成功裡の完了について通知を受け、ス
テップ1611に進んで、呼出し側ルーチン(図13の
ステップ1208)に戻る。CEC記憶域アクセスの際
にハードウェアが何らかのエラーの信号を送る場合、こ
れがステップ1607で検出され、ステップ1610
で、ハードウェア・エラー報告と共に要求が打ち切られ
たことを知らせる信号を制御プログラムに送り、その
後、ステップ1611に進んで、呼出し側ルーチン(図
13のステップ1208)に戻る。
【0075】図18は、CFP上の制御プログラムから
の、CEC記憶域に対するデータのPUTを求める要求
の際の、CCP処理を示す図である。この処理は、図1
7と類似している。ステップ1701でCOBからST
D番号を取得し、ステップ1702でアドレス変換を行
い、ステップ1703で要求されたページのPTEをテ
ストする。無効な場合、ステップ1709で、CFP上
の制御プログラムに例外報告を送り返し、ステップ17
11で他のCCP処理に戻る。有効な場合、ステップ1
704で、データをデータ転送バッファに転送し、アド
レス変換の結果の絶対CECアドレスへの転送を開始す
る。これは、COBヘッダから得られる、指定されたデ
ータ長と、そのアクセスのためのCEC記憶キーを使用
して行われる。ステップ1707の検査で、CEC記憶
域へデータを記憶する試みからハードウェア・エラーが
生じた場合、ステップ1710で制御プログラムに通知
し、ステップ1711に進んで、呼出し側ルーチン(図
13のステップ1208)に戻る。そうでない場合、ス
テップ1709で、要求されたPUT要求が成功裡に完
了したことを制御プログラムに通知し、ステップ171
1に進んで、呼出し側ルーチン(図13のステップ12
08)に戻る。
【0076】図19は、ステップ1800での進入から
始まる、機能要求が完了したか、CCPによって打ち切
られたことを知らせる信号を受け取った際のCFP内の
制御プログラムの処理を示す図である。ステップ180
1のテストで、要求が成功裡に実行された場合、それは
GET要求またはPUT要求であり、ステップ1809
で、成功の表示をCOEX局所記憶内で作って、これを
コード・モジュールに通信する。ステップ1810で、
制御をそのモジュールの、制御プログラムによる完了信
号の受取りによって割り込まれた位置に戻す。ステップ
1801で、CCPからのエラー・リターンが検出され
る場合、ステップ1804で、モジュール実行を打ち切
り、ステップ1805で、COB応答ブロック内でエラ
ー表示を作り、ステップ1806で、次の動作要求に備
えて実行コード・モジュール環境をクリアし、ステップ
1807で、CCPにコマンド完了信号を送り、その結
果、CCPが、CEC OSに完了について通知できる
ようにする。ステップ1808で、制御プログラムがC
CPからの次の動作要求信号を待つ。ステップ1803
は、COEX局所アドレッシング・エラーや記憶域エラ
ーなど、コード・モジュールの処理中に何らかのコード
・モジュール・エラーが検出された場合か、現在の実行
が即座に打ち切られることを制御プログラムがCANC
EL(取消し)信号を用いて伝えた時の、制御プログラ
ムの機能モジュール打切り処理の入口点である。この場
合、制御がステップ1804に移って、動作の打切り
と、次の動作に備えたCFPリセットを開始する。
【0077】図20は、CECからのCANCEL信号
の処理を示す図である。この信号は、既に進行中のCO
EX実行を即座に打ち切り、将来の作業に備えてCOE
Xを遊休状態に戻すのに使用される。ステップ1900
で、CCPがCANCEL信号を受け取り、CCPはこ
れを信号を介して制御プログラムに渡し、その結果、制
御プログラムが機能モジュールを打ち切れるようにする
(図19のステップ1803)。その後、CCPは、ス
テップ1903で、CECまたは制御プログラムからの
次の信号を待つ。制御プログラムは、コード・モジュー
ル処理を打ち切り、COEX環境をクリアした後に、コ
マンド完了信号をCCPに送る。
【0078】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0079】(1)中央電子複合体(CEC)内にあっ
て中央電子記憶域(CES)を共用し、中央プロセッサ
(CP)のコンピュータ・アーキテクチャで構成された
ホスト制御プログラムを実行する複数のCPと、CP上
で実行されるホスト制御プログラムによって要求され
た、オフロードされたプログラムを実行し、それぞれが
それ自体の内部記憶域を有し、それぞれが中央電子記憶
域をアクセスするためのエミュレーション手段を有す
る、CPとは異なるコンピュータ・アーキテクチャで構
成された1つまたは複数のコエクセキュータと、CPの
動作と非同期にオフロードされた作業を実行するため、
コエクセキュータによる実行のために中央電子記憶域に
記憶された、コエクセキュータのアーキテクチャで構成
されたコード・モジュールのアドレスをコエクセキュー
タに提供することによって、コエクセキュータがオフロ
ードされた作業を実行するように要求するための、各C
P内のコマンド手段と、コエクセキュータの内部記憶域
と中央電子記憶域の両方での現在の呼出しによって要求
されるコエクセキュータ記憶域アクセスを制限するため
の手段と、コエクセキュータが要求に関する処理の完了
の信号をCPに送る手段と、CPのいずれかが新オフロ
ード作業要求の信号をコエクセキュータに送る手段とを
含む、システム。 (2)別のコエクセキュータと異なるアーキテクチャを
有するコエクセキュータと、オフロードされた作業に関
するCP要求を実行するために必要な要求されたコード
・モジュールのコンピュータ・アーキテクチャを少なく
とも暗示的に示すコマンド手段とをさらに含む、上記
(1)に記載のシステム。 (3)CP要求実行中に中央電子記憶域をアクセスする
際にコエクセキュータがCP制約を使用できるようにす
るためにCPによって使用される記憶域アーキテクチャ
をエミュレートするための、各コエクセキュータ内のエ
ミュレーション手段をさらに含む、上記(1)に記載の
システム。 (4)別のCP要求によってもう一度実行を要求された
時に、コエクセキュータによる中央電子記憶域からのコ
ード・モジュールの再取出しを防ぐため、あるCP要求
のためにアクセスされたコード・モジュールを記憶する
ための、コエクセキュータ内部記憶域によって提供され
るキャッシュ手段をさらに含む、上記(1)に記載のシ
ステム。 (5)別のCP要求のためのコエクセキュータ実行中に
コード・モジュールが同じデータをもう一度要求した時
に、中央電子記憶域からのデータの再取出しを防ぐた
め、あるCP要求のために要求されたコード・モジュー
ルによってアクセスされたデータを記憶するための、コ
エクセキュータ内部記憶域によって提供されるキャッシ
ュ手段をさらに含む、上記(1)に記載のシステム。 (6)それぞれのコード・モジュールを指定するCPか
らの新作業要求を受け取ることによって、複数のコエク
セキュータをサービスするための単一の作業要求待ち行
列と、コエクセキュータが、使用中でない時に待ち行列
上の要求を取り、コエクセキュータが、CPによる動作
と非同期に、取り出されたコード・モジュールをアクセ
スし、実行することを特徴とする、上記(1)に記載の
システム。 (7)中央電子記憶域でコード・モジュールを突き止め
るために各CP要求に含まれ、コエクセキュータが中央
電子記憶域の特定の区域だけをアクセスするように制限
するための制約情報をも含む、CP要求指定と、コエク
セキュータが仮想アドレス指定を中央電子記憶域内の実
アドレスに変換できるようにするための、各コエクセキ
ュータ内の記憶域エミュレーション手段とをさらに含
む、上記(1)に記載のシステム。 (8)前記記憶域エミュレーション手段が、さらに、C
P要求で指定されたデータ要素およびプログラム要素を
突き止めるために、CP要求指定で受け取ったホスト仮
想アドレスを中央電子記憶域内の絶対アドレスに変換す
るためのコエクセキュータ手段を含むことを特徴とす
る、上記(7)に記載のシステム。 (9)前記記憶域エミュレーション手段が、さらに、コ
エクセキュータによる中央電子記憶域へのアクセスを、
CP要求内および指定されたコード・モジュール内で指
定されたホスト仮想アドレスによってアドレッシングさ
れる位置に制限するための手段を含むことを特徴とす
る、上記(8)に記載のシステム。 (10)さらに、それぞれが別々にアドレス可能な領域
である、中央電子記憶域として構成された複数の電子記
憶媒体と、異なる媒体の間でデータおよびモジュールを
転送するための手段とを含み、前記媒体が、コード・モ
ジュールによって指定される必要なコード・モジュール
およびデータのアクセスを求めるCP要求に関する現在
の呼出しによって提供される制約の範囲内でコエクセキ
ュータによってアクセス可能であることを特徴とする、
上記(1)に記載のシステム。 (11)前記記憶域エミュレーション手段が、さらに、
コエクセキュータによるアクセスを、ホスト制御プログ
ラムによって供給されるオフロードされた作業に関する
受け入れられたCP要求内の記憶キー値によって定義さ
れる中央電子記憶域内の区域に制限するための手段を含
むことを特徴とする、上記(10)に記載のシステム。 (12)前記記憶域エミュレーション手段が、さらに、
ホスト仮想アドレスを、複数の中央電子記憶媒体のうち
の指定された1つの絶対アドレスに変換する手段を含む
ことを特徴とする、上記(11)に記載のシステム。 (13)使用可能なコエクセキュータの選択とコード・
モジュールに対するコエクセキュータによる実行とを呼
び出すため、CPが中央電子記憶域内の動作要求ブロッ
クをアクセスするコエクセキュータ動作を示す入出力開
始サブチャネル命令を実行するCPによって、CPから
コエクセキュータにCP要求を通信するための信号発生
手段をさらに含む、上記(8)に記載のシステム。 (14)ホスト制御プログラムに対するオフロード要求
を開始するため、CP上で実行されるアプリケーション
・プログラミング・サブシステムと、コエクセキュータ
に関する新しいCPオフロード作業要求を生成するため
アプリケーション・プログラミング・サブシステムから
オフロード要求を受け取り、受け入れるための、ホスト
制御プログラム内のコエクセキュータ要求手段とをさら
に含み、前記コエクセキュータ要求手段が、CPオフロ
ード作業要求のそれぞれに関して制約情報を生成し、前
記制約情報に、ホスト・アドレス変換情報と、要求され
たコエクセキュータがモジュール実行のために必要な指
定されたコード・モジュールおよびデータを実行するた
めにのみ中央電子記憶域をアクセスするように制限する
ための許容可能ホスト記憶域アクセス・キーとが含まれ
ることを特徴とする、上記(1)に記載のシステム。 (15)CPからのオフロード作業要求の処理を完了し
た際に完了信号を生成するための、各コエクセキュータ
内の手段と、オフロード作業要求に関する終了状況に関
連する情報の中央記憶域でのアドレスを提供することを
さらに含む、上記(1)に記載のシステム。 (16)さらに、コエクセキュータによるCP要求に関
するオフロードされた作業の完了についてホスト制御プ
ログラムに通知するために、CPに対する入出力割込み
の信号を発生することを含む、上記(15)に記載のシ
ステム。 (17)各コエクセキュータが、CPに関する直接信号
発生のすべてと、中央電子記憶域に対するアクセスのす
べてとを制御するための、制御プロセッサ手段と、コー
ド・モジュールの実行を制御するための機能プロセッサ
手段と、制御プロセッサ手段と機能プロセッサ手段との
両方によって共用され、アクセス可能である、コエクセ
キュータ内部電子記憶域とを含むことを特徴とする、上
記(1)に記載のシステム。 (18)各コエクセキュータが、さらに、制御プロセッ
サ手段と機能プロセッサ手段とが、互いに非同期に、ま
た、CPと非同期に動作できるようにするための非同期
制御機構と、制御プロセッサ手段と機能プロセッサ手段
との間での相互通信を調整するための、制御プロセッサ
手段と機能プロセッサ手段との間の信号発生手段とを含
むことを特徴とする、上記(17)に記載のシステム。 (19)中央電子記憶域からコード・モジュールをアク
セスし、コエクセキュータ内部電子記憶域内のキャッシ
ュ区域にコード・モジュールを書き込み、機能プロセッ
サ手段の制御の下でキャッシュ区域内のコード・モジュ
ールを実行するための、コエクセキュータ内のキャッシ
ュ制御手段をさらに含む、上記(17)に記載のシステ
ム。 (20)前記キャッシュ制御手段がさらに、キャッシュ
区域内でコード・モジュールをアクセスしている間にコ
エクセキュータのハードウェア記憶制御機構を介してコ
エクセキュータ内の読取り専用モードを制御するための
手段を含むことを特徴とする、上記(19)に記載のシ
ステム。 (21)制限手段がさらに、コード・モジュールの実行
に関連するホスト・データのコエクセキュータ使用を制
限するため、コエクセキュータに対するCP要求で指定
されたシステム独自のトークンを変換して、コエクセキ
ュータに、指定されたホスト・データをコエクセキュー
タ内部電子記憶域内の制限されたキャッシュ区域内で独
自に突き止めることを強制する手段を含む事を特徴とす
る、上記(1)に記載のシステム。 (22)中央電子複合体(CEC)内の複数の中央プロ
セッサ(CP)によって中央電子記憶域(CES)を共
用するステップと、CPのコンピュータ・アーキテクチ
ャで構成されたホスト制御プログラムをCPによって実
行するステップと、1つ以上のコエクセキュータがCP
のコンピュータ・アーキテクチャと異なるコンピュータ
・アーキテクチャを用いて構成され、各コエクセキュー
タが、それ自体の内部記憶域を有し、中央電子記憶域を
直接アクセスできるようにするためCPの記憶域アーキ
テクチャで動作する記憶域エミュレーション手段を有す
る、複数の前記コエクセキュータを用いて、使用可能な
コエクセキュータにCPによってオフロードされたCP
作業を実行するために、コンピュータ・システムを構成
するステップと、CPのいずれかによって、CPによっ
て指定されたオフロードされた作業を実行するようにコ
エクセキュータに要求するステップと、要求されたオフ
ロードされた作業を要求側のCPの動作と非同期に実行
するため、コエクセキュータによる実行のために中央電
子記憶域に記憶された、コエクセキュータのアーキテク
チャで構成されたコード・モジュールの位置の指定と、
コエクセキュータに対する制約の指定とを含む、CP要
求の信号をコエクセキュータに送るためにホスト制御プ
ログラム内の制御を介してコエクセキュータにCP要求
をインターフェースするステップと、CP要求で指定さ
れた制約の下で、コエクセキュータの記憶域エミュレー
ション手段によって制御されて、中央電子記憶域内をコ
エクセキュータによってアクセスするステップと、いず
れかのCP上で動作中のホスト制御プログラムに対し
て、コエクセキュータによるCP要求の処理の完了のそ
れぞれの信号を送るステップとを含む、並列処理実行方
法。 (23)インターフェースのステップが、さらに、コエ
クセキュータ局所実行サービス、ホスト中央電子記憶域
アクセス・サービス、ユーザ権限検査、エラー検出、エ
ラー回復およびCPへの例外報告を含む、コード・モジ
ュールを実行するためのインターフェースを制御する内
部的にコード化された制御プログラムを、各コエクセキ
ュータによって実行するステップを含むことを特徴とす
る、上記(22)に記載の方法。 (24)内部的にコード化された制御プログラムが、さ
らに、受け入れられたCP要求に関する、コエクセキュ
ータによる実行と、中央電子記憶域内でのコエクセキュ
ータのアクセスとを制御するために、受け入れられたC
P要求に関する権限表示をコエクセキュータによって検
出するステップと、中央電子記憶域内でのアクセス権を
得るために、ホスト制御プログラムに関連する最高のア
クセス権限レベルを用いてコエクセキュータを動作さ
せ、コエクセキュータによるオフロード作業の実行を要
求したアプリケーション・サブシステム・プログラムに
与えられた権限レベルの下でのコエクセキュータ動作を
得るために、検出ステップで得られた権限表示の下でコ
エクセキュータによってCP要求を実行するステップと
を含むことを特徴とする、上記(23)に記載の方法。 (25)内部的にコード化された制御プログラムが、さ
らに、コンピュータ・システム内のデータ保全性を維持
するために、コエクセキュータ局所記憶域および中央電
子記憶域に記憶された結果データの保護を含めて、コエ
クセキュータによるアクセスをCP要求の実行に必要な
アクセスに制限することによって、クリティカルなデー
タおよびプログラムを保護するためにコエクセキュータ
局所記憶域と中央電子記憶域との両方での読み書き制約
を用いてコエクセキュータ・アクセスを制限するステッ
プを含むことを特徴とする、上記(24)に記載の方
法。 (26)ホスト制御プログラムが、さらに、複数のCP
要求の並列実行の効率を高めるために、ホスト制御プロ
グラムが1つまたは複数のアプリケーション・プログラ
ミング・サブシステムからの複数のCP要求を処理する
ことによって、複数のCP要求によって同時に呼び出さ
れる1つまたは複数のコエクセキュータによって1つま
たは複数のコード・モジュールを共用するステップを含
むことを特徴とする、上記(24)に記載の方法。 (27)ホスト制御プログラムが、さらに、ホスト制御
プログラムの下で実行されるすべてのアプリケーション
・サブシステムから受け取るすべてのオフロードされた
作業に関するCP要求の共通待ち行列を維持するステッ
プと、コエクセキュータのいずれかがCP要求の実行に
使用可能な時に、そのコエクセキュータによって共通待
ち行列からCP要求を取得するステップとを含むことを
特徴とする、上記(22)に記載の方法。
【0080】
【発明の効果】本発明により、コエクセキュータ内で、
呼出し側プロセッサ内に存在するのと同一の動作の保全
性とデータ・セキュリティを実施する環境で、コード・
モジュールをコエクセキュータ・エンジンにロードで
き、実行できるようにするコエクセキュータを提供する
一般的なコエクセキュータ機能が提供される。
【図面の簡単な説明】
【図1】中央電子複合体(CEC)内の非同期コエクセ
キュータ上で実行されるコード・モジュールを提供し、
呼び出すプログラミング・サブシステムをオペレーティ
ング・システムの制御下で実行する中央プロセッサを含
む、汎用計算システムのCECの構造を示す図である。
【図2】オペレーティング・システムに対するアプリケ
ーションまたはサブシステムの要求を示す図である。こ
の要求によって、アプリケーションまたはサブシステム
が生成したモジュールをコエクセキュータにロードし、
呼び出すことが指定され、実行すべき非同期コエクセキ
ュータ動作の入力と出力を指定するパラメータ・リスト
が指定され、その動作中に使用すべき制御データ・テー
ブルの組が指定される。
【図3】コエクセキュータでのコード・モジュールの実
行中に使用される入力および出力のパラメータ指定を含
むパラメータ・リスト(PARMLIST)を示す図で
ある。
【図4】コエクセキュータでのモジュールの実行中に使
用される制御データ・テーブル指定のリストを示す図で
ある。
【図5】コエクセキュータ上で実行されるコード・モジ
ュール、仮想アドレッシング制御、入出力パラメータお
よび使用すべき制御データ・テーブルを識別するコエク
セキュータ・コマンド指定を含む、非同期コエクセキュ
ータを呼び出すコエクセキュータ動作ブロック(CO
B)と動作要求ブロック(ORB)を含む命令(SSC
H)を示す図である。
【図6】図5のCOBの一部であるコエクセキュータ動
作ブロックのヘッダを示す図である。このヘッダによっ
て、使用されるコマンドと記憶キーが指定される。
【図7】仮想アドレス空間セグメント・テーブル指定
(STD)、入出力データ・パラメータ・リストの仮想
アドレス、コエクセキュータにロードし、実行するモジ
ュールの仮想アドレスと長さ、制御データ・テーブルの
リストの仮想アドレス、および、コエクセキュータの現
呼出しに使用される呼出し側プログラム識別子(ID)
を指定する、コマンド指定ブロック(CSB)の構造を
示す図である。
【図8】解決のためオペレーティング・システムにコー
ド・モジュール実行例外と記憶域アクセス例外を返すの
に使用されるCOB内のコエクセキュータ応答ブロック
の構造を示す図である。
【図9】動作中にコエクセキュータ記憶域にロードされ
たモジュールと制御テーブルのキャッシュ・ディレクト
リの構造を示す図である。
【図10】所与のコマンドを開始するための信号をCE
Cから受け取った後のコエクセキュータ制御プロセッサ
(CCP)呼出し処理の流れ図である。この処理は、コ
エクセキュータ・サブチャネルを指定するSSCH命令
の中央プロセッサ実行の一部としてCECからの信号に
よって開始される。
【図11】好ましい実施例のCOEX機能プロセッサ
(CFP)によって実行される実行モジュールおよび制
御テーブルのキャッシュ記憶処理の流れ図である。
【図12】好ましい実施例のCOEX機能プロセッサ
(CFP)によって実行される実行モジュールおよび制
御テーブルのキャッシュ記憶処理の流れ図である。
【図13】好ましい実施例の、CEC仮想記憶アクセス
と、COEX制御プログラム(CP)からCCPへのコ
マンド完了要求を実行するCCP処理を示す図である。
【図14】好ましい実施例の、CCPから開始要求を受
け取った時にCFP内で実行モジュールを初期設定し、
呼び出す制御プログラム処理を示す図である。
【図15】CECの主記憶または拡張記憶に対するGE
TアクセスまたはPUTアクセスのために実行モジュー
ルによって作られる、CFP内の制御プログラムに対す
るCEC記憶要求の構造を示す図である。
【図16】好ましい実施例の、機能モジュールからGE
T/PUT要求またはコマンド完了要求を受け取った際
に制御プログラム内で実行されるGET/PUT処理ま
たはコマンド完了処理の流れ図である。
【図17】好ましい実施例の、動的アドレス変換とCE
C記憶域およびCOEX記憶域への記憶アクセスを実行
し、実行モジュールによって要求されたデータをCEC
から取り出し、COEX記憶域内の要求された位置に置
き、すべてのエラーを制御プログラムに返す、CCP内
でのGET要求処理の流れ図である。
【図18】好ましい実施例の、動的アドレス変換とCE
C記憶域およびCOEX記憶域への記憶アクセスを実行
し、要求に従ってCOEX記憶域からデータを取り出
し、そのデータをCEC記憶域に記憶し、すべてのエラ
ーを制御プログラムに返す、CCP内でのPUT要求処
理の流れ図である。
【図19】好ましい実施例の、CCPから要求完了信号
を受け取った時にCFP上で発生する制御プログラム処
理と、実行モジュールがCFP内で活動状態の間に障害
を発生した時に発生するモジュール打切り処理の流れ図
である。
【図20】既に進行中のCOEX機能モジュール実行の
実行を打ち切るためにCECからCANCEL信号を受
け取った際に発生するCCP処理の流れ図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 グレン・アラン・ブレント アメリカ合衆国12571 ニューヨーク州レ ッド・フック アール・ディー3 ボック ス162エイ (72)発明者 ハテム・モハメッド・ガーフィル アメリカ合衆国20832 メリーランド州オ ルニー メドウランド・テラス 18504 (72)発明者 バラクリシュナ・ラガヴェンドラ・イエル アメリカ合衆国95133 カリフォルニア州 サンノゼ ナッシュビル・ドライブ 3049 (72)発明者 インデルパル・シング・ナラン アメリカ合衆国95070 カリフォルニア州 サラトガ セラ・オーク・コート 13778 (72)発明者 グルラージ・セシャギリ・ラーオ アメリカ合衆国10566 ニューヨーク州コ ートランド・マナー メープル・モア・レ ーン 33 (72)発明者 キャスパー・アンソニー・スカルジ アメリカ合衆国12061 ニューヨーク州ポ ーキープシー アカデミー・ストリート 160 ナンバー7イー (72)発明者 サティヤ・プラカーシュ・シャルマ アメリカ合衆国78681 テキサス州ラウン ド・ロック ロビン・トレール 1210 (72)発明者 バスカル・シンハ アメリカ合衆国12603 ニューヨーク州ポ ーキープシー コリッジビュー・アベニュ ー 7 (72)発明者 リー・ハーディー・ウィルソン アメリカ合衆国12571 ニューヨーク州レ ッド・フック リッジ・ロード 4

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】中央電子複合体(CEC)内にあって中央
    電子記憶域(CES)を共用し、中央プロセッサ(C
    P)のコンピュータ・アーキテクチャで構成されたホス
    ト制御プログラムを実行する複数のCPと、 CP上で実行されるホスト制御プログラムによって要求
    された、オフロードされたプログラムを実行し、それぞ
    れがそれ自体の内部記憶域を有し、それぞれが中央電子
    記憶域をアクセスするためのエミュレーション手段を有
    する、CPとは異なるコンピュータ・アーキテクチャで
    構成された1つまたは複数のコエクセキュータと、 CPの動作と非同期にオフロードされた作業を実行する
    ため、コエクセキュータによる実行のために中央電子記
    憶域に記憶された、コエクセキュータのアーキテクチャ
    で構成されたコード・モジュールのアドレスをコエクセ
    キュータに提供することによって、コエクセキュータが
    オフロードされた作業を実行するように要求するため
    の、各CP内のコマンド手段と、 コエクセキュータの内部記憶域と中央電子記憶域の両方
    での現在の呼出しによって要求されるコエクセキュータ
    記憶域アクセスを制限するための手段と、 コエクセキュータが要求に関する処理の完了の信号をC
    Pに送る手段と、CPのいずれかが新オフロード作業要
    求の信号をコエクセキュータに送る手段とを含む、シス
    テム。
  2. 【請求項2】別のコエクセキュータと異なるアーキテク
    チャを有するコエクセキュータと、 オフロードされた作業に関するCP要求を実行するため
    に必要な要求されたコード・モジュールのコンピュータ
    ・アーキテクチャを少なくとも暗示的に示すコマンド手
    段とをさらに含む、請求項1に記載のシステム。
  3. 【請求項3】CP要求実行中に中央電子記憶域をアクセ
    スする際にコエクセキュータがCP制約を使用できるよ
    うにするためにCPによって使用される記憶域アーキテ
    クチャをエミュレートするための、各コエクセキュータ
    内のエミュレーション手段をさらに含む、請求項1に記
    載のシステム。
  4. 【請求項4】別のCP要求によってもう一度実行を要求
    された時に、コエクセキュータによる中央電子記憶域か
    らのコード・モジュールの再取出しを防ぐため、あるC
    P要求のためにアクセスされたコード・モジュールを記
    憶するための、コエクセキュータ内部記憶域によって提
    供されるキャッシュ手段をさらに含む、請求項1に記載
    のシステム。
  5. 【請求項5】別のCP要求のためのコエクセキュータ実
    行中にコード・モジュールが同じデータをもう一度要求
    した時に、中央電子記憶域からのデータの再取出しを防
    ぐため、あるCP要求のために要求されたコード・モジ
    ュールによってアクセスされたデータを記憶するため
    の、コエクセキュータ内部記憶域によって提供されるキ
    ャッシュ手段をさらに含む、請求項1に記載のシステ
    ム。
  6. 【請求項6】それぞれのコード・モジュールを指定する
    CPからの新作業要求を受け取ることによって、複数の
    コエクセキュータをサービスするための単一の作業要求
    待ち行列と、 コエクセキュータが、使用中でない時に待ち行列上の要
    求を取り、コエクセキュータが、CPによる動作と非同
    期に、取り出されたコード・モジュールをアクセスし、
    実行することを特徴とする、請求項1に記載のシステ
    ム。
  7. 【請求項7】中央電子記憶域でコード・モジュールを突
    き止めるために各CP要求に含まれ、コエクセキュータ
    が中央電子記憶域の特定の区域だけをアクセスするよう
    に制限するための制約情報をも含む、CP要求指定と、 コエクセキュータが仮想アドレス指定を中央電子記憶域
    内の実アドレスに変換できるようにするための、各コエ
    クセキュータ内の記憶域エミュレーション手段とをさら
    に含む、請求項1に記載のシステム。
  8. 【請求項8】前記記憶域エミュレーション手段が、さら
    に、CP要求で指定されたデータ要素およびプログラム
    要素を突き止めるために、CP要求指定で受け取ったホ
    スト仮想アドレスを中央電子記憶域内の絶対アドレスに
    変換するためのコエクセキュータ手段を含むことを特徴
    とする、請求項7に記載のシステム。
  9. 【請求項9】前記記憶域エミュレーション手段が、さら
    に、コエクセキュータによる中央電子記憶域へのアクセ
    スを、CP要求内および指定されたコード・モジュール
    内で指定されたホスト仮想アドレスによってアドレッシ
    ングされる位置に制限するための手段を含むことを特徴
    とする、請求項8に記載のシステム。
  10. 【請求項10】さらに、それぞれが別々にアドレス可能
    な領域である、中央電子記憶域として構成された複数の
    電子記憶媒体と、異なる媒体の間でデータおよびモジュ
    ールを転送するための手段とを含み、 前記媒体が、コード・モジュールによって指定される必
    要なコード・モジュールおよびデータのアクセスを求め
    るCP要求に関する現在の呼出しによって提供される制
    約の範囲内でコエクセキュータによってアクセス可能で
    あることを特徴とする、請求項1に記載のシステム。
  11. 【請求項11】前記記憶域エミュレーション手段が、さ
    らに、コエクセキュータによるアクセスを、ホスト制御
    プログラムによって供給されるオフロードされた作業に
    関する受け入れられたCP要求内の記憶キー値によって
    定義される中央電子記憶域内の区域に制限するための手
    段を含むことを特徴とする、請求項10に記載のシステ
    ム。
  12. 【請求項12】前記記憶域エミュレーション手段が、さ
    らに、ホスト仮想アドレスを、複数の中央電子記憶媒体
    のうちの指定された1つの絶対アドレスに変換する手段
    を含むことを特徴とする、請求項11に記載のシステ
    ム。
  13. 【請求項13】使用可能なコエクセキュータの選択とコ
    ード・モジュールに対するコエクセキュータによる実行
    とを呼び出すため、CPが中央電子記憶域内の動作要求
    ブロックをアクセスするコエクセキュータ動作を示す入
    出力開始サブチャネル命令を実行するCPによって、C
    PからコエクセキュータにCP要求を通信するための信
    号発生手段をさらに含む、請求項8に記載のシステム。
  14. 【請求項14】ホスト制御プログラムに対するオフロー
    ド要求を開始するため、CP上で実行されるアプリケー
    ション・プログラミング・サブシステムと、 コエクセキュータに関する新しいCPオフロード作業要
    求を生成するためアプリケーション・プログラミング・
    サブシステムからオフロード要求を受け取り、受け入れ
    るための、ホスト制御プログラム内のコエクセキュータ
    要求手段とをさらに含み、 前記コエクセキュータ要求手段が、CPオフロード作業
    要求のそれぞれに関して制約情報を生成し、前記制約情
    報に、ホスト・アドレス変換情報と、要求されたコエク
    セキュータがモジュール実行のために必要な指定された
    コード・モジュールおよびデータを実行するためにのみ
    中央電子記憶域をアクセスするように制限するための許
    容可能ホスト記憶域アクセス・キーとが含まれることを
    特徴とする、請求項1に記載のシステム。
  15. 【請求項15】CPからのオフロード作業要求の処理を
    完了した際に完了信号を生成するための、各コエクセキ
    ュータ内の手段と、 オフロード作業要求に関する終了状況に関連する情報の
    中央記憶域でのアドレスを提供することをさらに含む、
    請求項1に記載のシステム。
  16. 【請求項16】さらに、コエクセキュータによるCP要
    求に関するオフロードされた作業の完了についてホスト
    制御プログラムに通知するために、CPに対する入出力
    割込みの信号を発生することを含む、請求項15に記載
    のシステム。
  17. 【請求項17】各コエクセキュータが、 CPに関する直接信号発生のすべてと、中央電子記憶域
    に対するアクセスのすべてとを制御するための、制御プ
    ロセッサ手段と、 コード・モジュールの実行を制御するための機能プロセ
    ッサ手段と、 制御プロセッサ手段と機能プロセッサ手段との両方によ
    って共用され、アクセス可能である、コエクセキュータ
    内部電子記憶域とを含むことを特徴とする、請求項1に
    記載のシステム。
  18. 【請求項18】各コエクセキュータが、さらに、 制御プロセッサ手段と機能プロセッサ手段とが、互いに
    非同期に、また、CPと非同期に動作できるようにする
    ための非同期制御機構と、 制御プロセッサ手段と機能プロセッサ手段との間での相
    互通信を調整するための、制御プロセッサ手段と機能プ
    ロセッサ手段との間の信号発生手段とを含むことを特徴
    とする、請求項17に記載のシステム。
  19. 【請求項19】中央電子記憶域からコード・モジュール
    をアクセスし、コエクセキュータ内部電子記憶域内のキ
    ャッシュ区域にコード・モジュールを書き込み、機能プ
    ロセッサ手段の制御の下でキャッシュ区域内のコード・
    モジュールを実行するための、コエクセキュータ内のキ
    ャッシュ制御手段をさらに含む、請求項17に記載のシ
    ステム。
  20. 【請求項20】前記キャッシュ制御手段がさらに、キャ
    ッシュ区域内でコード・モジュールをアクセスしている
    間にコエクセキュータのハードウェア記憶制御機構を介
    してコエクセキュータ内の読取り専用モードを制御する
    ための手段を含むことを特徴とする、請求項19に記載
    のシステム。
  21. 【請求項21】制限手段がさらに、コード・モジュール
    の実行に関連するホスト・データのコエクセキュータ使
    用を制限するため、コエクセキュータに対するCP要求
    で指定されたシステム独自のトークンを変換して、コエ
    クセキュータに、指定されたホスト・データをコエクセ
    キュータ内部電子記憶域内の制限されたキャッシュ区域
    内で独自に突き止めることを強制する手段を含む事を特
    徴とする、請求項1に記載のシステム。
  22. 【請求項22】中央電子複合体(CEC)内の複数の中
    央プロセッサ(CP)によって中央電子記憶域(CE
    S)を共用するステップと、 CPのコンピュータ・アーキテクチャで構成されたホス
    ト制御プログラムをCPによって実行するステップと、 1つ以上のコエクセキュータがCPのコンピュータ・ア
    ーキテクチャと異なるコンピュータ・アーキテクチャを
    用いて構成され、各コエクセキュータが、それ自体の内
    部記憶域を有し、中央電子記憶域を直接アクセスできる
    ようにするためCPの記憶域アーキテクチャで動作する
    記憶域エミュレーション手段を有する、複数の前記コエ
    クセキュータを用いて、使用可能なコエクセキュータに
    CPによってオフロードされたCP作業を実行するため
    に、コンピュータ・システムを構成するステップと、 CPのいずれかによって、CPによって指定されたオフ
    ロードされた作業を実行するようにコエクセキュータに
    要求するステップと、 要求されたオフロードされた作業を要求側のCPの動作
    と非同期に実行するため、コエクセキュータによる実行
    のために中央電子記憶域に記憶された、コエクセキュー
    タのアーキテクチャで構成されたコード・モジュールの
    位置の指定と、コエクセキュータに対する制約の指定と
    を含む、CP要求の信号をコエクセキュータに送るため
    にホスト制御プログラム内の制御を介してコエクセキュ
    ータにCP要求をインターフェースするステップと、 CP要求で指定された制約の下で、コエクセキュータの
    記憶域エミュレーション手段によって制御されて、中央
    電子記憶域内をコエクセキュータによってアクセスする
    ステップと、 いずれかのCP上で動作中のホスト制御プログラムに対
    して、コエクセキュータによるCP要求の処理の完了の
    それぞれの信号を送るステップとを含む、並列処理実行
    方法。
  23. 【請求項23】インターフェースのステップが、さら
    に、コエクセキュータ局所実行サービス、ホスト中央電
    子記憶域アクセス・サービス、ユーザ権限検査、エラー
    検出、エラー回復およびCPへの例外報告を含む、コー
    ド・モジュールを実行するためのインターフェースを制
    御する内部的にコード化された制御プログラムを、各コ
    エクセキュータによって実行するステップを含むことを
    特徴とする、請求項22に記載の方法。
  24. 【請求項24】内部的にコード化された制御プログラム
    が、さらに、 受け入れられたCP要求に関する、コエクセキュータに
    よる実行と、中央電子記憶域内でのコエクセキュータの
    アクセスとを制御するために、受け入れられたCP要求
    に関する権限表示をコエクセキュータによって検出する
    ステップと、 中央電子記憶域内でのアクセス権を得るために、ホスト
    制御プログラムに関連する最高のアクセス権限レベルを
    用いてコエクセキュータを動作させ、コエクセキュータ
    によるオフロード作業の実行を要求したアプリケーショ
    ン・サブシステム・プログラムに与えられた権限レベル
    の下でのコエクセキュータ動作を得るために、検出ステ
    ップで得られた権限表示の下でコエクセキュータによっ
    てCP要求を実行するステップとを含むことを特徴とす
    る、請求項23に記載の方法。
  25. 【請求項25】内部的にコード化された制御プログラム
    が、さらに、コンピュータ・システム内のデータ保全性
    を維持するために、コエクセキュータ局所記憶域および
    中央電子記憶域に記憶された結果データの保護を含め
    て、コエクセキュータによるアクセスをCP要求の実行
    に必要なアクセスに制限することによって、クリティカ
    ルなデータおよびプログラムを保護するためにコエクセ
    キュータ局所記憶域と中央電子記憶域との両方での読み
    書き制約を用いてコエクセキュータ・アクセスを制限す
    るステップを含むことを特徴とする、請求項24に記載
    の方法。
  26. 【請求項26】ホスト制御プログラムが、さらに、複数
    のCP要求の並列実行の効率を高めるために、ホスト制
    御プログラムが1つまたは複数のアプリケーション・プ
    ログラミング・サブシステムからの複数のCP要求を処
    理することによって、複数のCP要求によって同時に呼
    び出される1つまたは複数のコエクセキュータによって
    1つまたは複数のコード・モジュールを共用するステッ
    プを含むことを特徴とする、請求項24に記載の方法。
  27. 【請求項27】ホスト制御プログラムが、さらに、 ホスト制御プログラムの下で実行されるすべてのアプリ
    ケーション・サブシステムから受け取るすべてのオフロ
    ードされた作業に関するCP要求の共通待ち行列を維持
    するステップと、 コエクセキュータのいずれかがCP要求の実行に使用可
    能な時に、そのコエクセキュータによって共通待ち行列
    からCP要求を取得するステップとを含むことを特徴と
    する、請求項22に記載の方法。
JP6313714A 1994-02-18 1994-12-16 並列処理を実行する方法およびシステム Expired - Lifetime JP2633488B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19904194A 1994-02-18 1994-02-18
US08/199041 1994-02-18

Publications (2)

Publication Number Publication Date
JPH07239783A true JPH07239783A (ja) 1995-09-12
JP2633488B2 JP2633488B2 (ja) 1997-07-23

Family

ID=22735958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6313714A Expired - Lifetime JP2633488B2 (ja) 1994-02-18 1994-12-16 並列処理を実行する方法およびシステム

Country Status (4)

Country Link
US (1) US5655146A (ja)
EP (1) EP0668560A3 (ja)
JP (1) JP2633488B2 (ja)
CA (1) CA2137488C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101410596B1 (ko) * 2012-08-30 2014-06-20 후지쯔 가부시끼가이샤 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법
JP2014523562A (ja) * 2011-06-10 2014-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション サブチャネル開始命令の実行に応答して返されるデータ
US9372640B2 (en) 2011-06-10 2016-06-21 International Business Machines Corporation Configure storage class memory command
US9411737B2 (en) 2011-06-10 2016-08-09 International Business Machines Corporation Clearing blocks of storage class memory
US9418006B2 (en) 2011-06-10 2016-08-16 International Business Machines Corporation Moving blocks of data between main memory and storage class memory

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745781A (en) * 1995-12-26 1998-04-28 International Business Machines Corporation Memoryless communications adapter including queueing and matching primitives for scalable distributed parallel computer systems
US5706514A (en) * 1996-03-04 1998-01-06 Compaq Computer Corporation Distributed execution of mode mismatched commands in multiprocessor computer systems
US5987590A (en) * 1996-04-02 1999-11-16 Texas Instruments Incorporated PC circuits, systems and methods
US6065046A (en) * 1997-07-29 2000-05-16 Catharon Productions, Inc. Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network
US6243735B1 (en) * 1997-09-01 2001-06-05 Matsushita Electric Industrial Co., Ltd. Microcontroller, data processing system and task switching control method
US5991797A (en) * 1997-12-23 1999-11-23 Intel Corporation Method for directing I/O transactions between an I/O device and a memory
US6289432B1 (en) 1998-03-25 2001-09-11 International Business Machines Corporation Sharing segments of storage by enabling the sharing of page tables
US6360282B1 (en) 1998-03-25 2002-03-19 Network Appliance, Inc. Protected control of devices by user applications in multiprogramming environments
US6401133B1 (en) * 1998-06-24 2002-06-04 Unisys Corporation System for high speed continuous file transfer processing of data files
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
WO2001086432A2 (en) * 2000-05-11 2001-11-15 Netoctave, Inc. Cryptographic data processing systems, computer program products, and methods of operating same, using parallel execution units
US6941351B2 (en) * 2000-07-11 2005-09-06 Microsoft Corporation Application program caching
US6591358B2 (en) * 2001-01-26 2003-07-08 Syed Kamal H. Jaffrey Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU
US7251752B2 (en) 2001-10-01 2007-07-31 Adams Phillip M Computerized product improvement apparatus and method
US8189591B2 (en) 2001-10-30 2012-05-29 Exar Corporation Methods, systems and computer program products for packet ordering for parallel packet transform processing
US6990662B2 (en) 2001-10-31 2006-01-24 Hewlett-Packard Development Company, L.P. Method and system for offloading execution and resources for resource-constrained networked devices
US7133894B2 (en) * 2002-03-12 2006-11-07 International Business Machines Corporation Method, apparatus, and program for synchronous remote builds
EP1376367A2 (fr) * 2002-06-26 2004-01-02 STMicroelectronics S.A. Vérification d'intégrité d'un code logiciel exécuté par un processeur intégré
US7299266B2 (en) * 2002-09-05 2007-11-20 International Business Machines Corporation Memory management offload for RDMA enabled network adapters
JP4542308B2 (ja) * 2002-12-16 2010-09-15 株式会社ソニー・コンピュータエンタテインメント 信号処理用デバイス及び情報処理機器
US7073002B2 (en) * 2003-03-13 2006-07-04 International Business Machines Corporation Apparatus and method for controlling resource transfers using locks in a logically partitioned computer system
US7085862B2 (en) * 2003-03-13 2006-08-01 International Business Machines Corporation Apparatus and method for controlling resource transfers in a logically partitioned computer system by placing a resource in a power on reset state when transferring the resource to a logical partition
US7039820B2 (en) 2003-04-24 2006-05-02 International Business Machines Corporation Method for detecting and powering off unused I/O slots in a computer system
US7647358B2 (en) * 2004-03-22 2010-01-12 Microsoft Corporation Computing device with relatively limited storage space and operating/file system thereof
US8069192B2 (en) * 2004-03-22 2011-11-29 Microsoft Corporation Computing device with relatively limited storage space and operating / file system thereof
WO2006024957A2 (en) * 2004-07-01 2006-03-09 Harman Becker Automotive Systems Gmbh Computer architecture for a multimedia system used in a vehicle
EP1615141B1 (en) 2004-07-01 2018-03-07 Harman Becker Automotive Systems GmbH A computing architecture for a mobile multimedia system used in a vehicle
GB0516454D0 (en) * 2005-08-10 2005-09-14 Symbian Software Ltd Coprocessor support in a computing device
US20070185912A1 (en) * 2006-02-08 2007-08-09 International Business Machines Corporation Off-loading I/O and computationally intensive operations to secondary systems
US20080189715A1 (en) * 2006-03-14 2008-08-07 International Business Machines Corporation Controlling resource transfers in a logically partitioned computer system
US8276164B2 (en) 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
US11836506B2 (en) 2007-04-11 2023-12-05 Apple Inc. Parallel runtime execution on multiple processors
US8341611B2 (en) 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
US8286196B2 (en) 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
EP3413198A1 (en) 2007-04-11 2018-12-12 Apple Inc. Data parallel computing on multiple processors
JP2008299648A (ja) 2007-05-31 2008-12-11 Toshiba Corp プログラムおよび情報処理装置
EP2316072A1 (en) * 2008-08-18 2011-05-04 Telefonaktiebolaget L M Ericsson (publ) Data sharing in chip multi-processor systems
US8359453B2 (en) 2010-09-13 2013-01-22 International Business Machines Corporation Real address accessing in a coprocessor executing on behalf of an unprivileged process
US20120096292A1 (en) * 2010-10-15 2012-04-19 Mosaid Technologies Incorporated Method, system and apparatus for multi-level processing
US9423983B2 (en) 2012-01-19 2016-08-23 Syncsort Incorporated Intelligent storage controller

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573741A (en) * 1968-07-11 1971-04-06 Ibm Control unit for input/output devices
US3576544A (en) * 1968-10-18 1971-04-27 Ibm Storage protection system
US3725864A (en) * 1971-03-03 1973-04-03 Ibm Input/output control
US3713107A (en) * 1972-04-03 1973-01-23 Ncr Firmware sort processor system
US3839706A (en) * 1973-07-02 1974-10-01 Ibm Input/output channel relocation storage protect mechanism
US4042914A (en) * 1976-05-17 1977-08-16 Honeywell Information Systems Inc. Microprogrammed control of foreign processor control functions
US4071890A (en) * 1976-11-29 1978-01-31 Data General Corporation CPU-Synchronous parallel data processor apparatus
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4547849A (en) * 1981-12-09 1985-10-15 Glenn Louie Interface between a microprocessor and a coprocessor
US4914578A (en) * 1983-04-18 1990-04-03 Motorola, Inc. Method and apparatus for interrupting a coprocessor
JPS62151971A (ja) * 1985-12-25 1987-07-06 Nec Corp マイクロ・プロセツサ装置
US4787026A (en) * 1986-01-17 1988-11-22 International Business Machines Corporation Method to manage coprocessor in a virtual memory virtual machine data processing system
JPS62214464A (ja) * 1986-03-17 1987-09-21 Hitachi Ltd データ処理システム
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4926318A (en) * 1986-11-12 1990-05-15 Nec Corporation Micro processor capable of being connected with a coprocessor
US4943915A (en) * 1987-09-29 1990-07-24 Digital Equipment Corporation Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit
US5237668A (en) * 1989-10-20 1993-08-17 International Business Machines Corporation Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
JP2884831B2 (ja) * 1991-07-03 1999-04-19 株式会社日立製作所 処理装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014523562A (ja) * 2011-06-10 2014-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション サブチャネル開始命令の実行に応答して返されるデータ
US9372640B2 (en) 2011-06-10 2016-06-21 International Business Machines Corporation Configure storage class memory command
US9411737B2 (en) 2011-06-10 2016-08-09 International Business Machines Corporation Clearing blocks of storage class memory
US9418006B2 (en) 2011-06-10 2016-08-16 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9477417B2 (en) 2011-06-10 2016-10-25 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9747033B2 (en) 2011-06-10 2017-08-29 International Business Machines Corporation Configure storage class memory command
US10013256B2 (en) 2011-06-10 2018-07-03 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US10387040B2 (en) 2011-06-10 2019-08-20 International Business Machines Corporation Configure storage class memory command
US11163444B2 (en) 2011-06-10 2021-11-02 International Business Machines Corporation Configure storage class memory command
KR101410596B1 (ko) * 2012-08-30 2014-06-20 후지쯔 가부시끼가이샤 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법

Also Published As

Publication number Publication date
JP2633488B2 (ja) 1997-07-23
CA2137488C (en) 1998-09-29
EP0668560A2 (en) 1995-08-23
CA2137488A1 (en) 1995-08-19
US5655146A (en) 1997-08-05
EP0668560A3 (en) 1996-11-06

Similar Documents

Publication Publication Date Title
JP2633488B2 (ja) 並列処理を実行する方法およびシステム
US5377337A (en) Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US6681238B1 (en) Method and system for providing a hardware machine function in a protected virtual machine
US6253224B1 (en) Method and system for providing a hardware machine function in a protected virtual machine
KR100242484B1 (ko) 캐쉬 메모리 시스템의 성능 최적화 방법 및 장치
US5574936A (en) Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US6772419B1 (en) Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
US6081890A (en) Method of communication between firmware written for different instruction set architectures
US4742450A (en) Method to share copy on write segment for mapped files
US5305455A (en) Per thread exception management for multitasking multithreaded operating system
US4084228A (en) Process management structures and hardware/firmware control
US5339417A (en) Computer system with two levels of guests
JPH0784883A (ja) 仮想計算機システムのアドレス変換バッファパージ方法
JPH11505653A (ja) 単一アドレス空間で保護ドメインと共に用いるためのオペレーティングシステム
JPH0571975B2 (ja)
JPH04247528A (ja) データ空間への共通アクセス装置及び方法
US4773041A (en) System for executing a sequence of operation codes with some codes being executed out of order in a pipeline parallel processor
US5615327A (en) Apparatus and method for controlling the initiating of a synchronization protocol for synchronizing a plurality of processors in a multi-processor system
EP0348053B1 (en) Controlling the initiation of logical systems in a data processing system with logical processor facility
US5325520A (en) Invoking hardware recovery actions via action latches
EP0619899B1 (en) Software control of hardware interruptions
US5280592A (en) Domain interlock
US4991083A (en) Method and system for extending address space for vector processing
JP3169624B2 (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JP2535086B2 (ja) リング削減ロジック装置