JPS5848147A - プログラム呼出し方式 - Google Patents
プログラム呼出し方式Info
- Publication number
- JPS5848147A JPS5848147A JP57123084A JP12308482A JPS5848147A JP S5848147 A JPS5848147 A JP S5848147A JP 57123084 A JP57123084 A JP 57123084A JP 12308482 A JP12308482 A JP 12308482A JP S5848147 A JPS5848147 A JP S5848147A
- Authority
- JP
- Japan
- Prior art keywords
- program
- instruction
- address
- segment
- stack
- 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
Links
- 238000000034 method Methods 0.000 claims description 7
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 208000031968 Cadaver Diseases 0.000 description 1
- 240000005109 Cryptomeria japonica Species 0.000 description 1
- 101150109497 D10R gene Proteins 0.000 description 1
- 102100033047 G-protein coupled receptor 3 Human genes 0.000 description 1
- 101000871088 Homo sapiens G-protein coupled receptor 3 Proteins 0.000 description 1
- 101000644251 Homo sapiens Urotensin-2 receptor Proteins 0.000 description 1
- 102220530042 N-chimaerin_D10R_mutation Human genes 0.000 description 1
- 102100020942 Urotensin-2 receptor Human genes 0.000 description 1
- 101100008576 Vaccinia virus (strain Western Reserve) VACWR115 gene Proteins 0.000 description 1
- 230000003385 bacteriostatic effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000006210 lotion Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の背景
アセンブリ・レベルの言語で1かれた70グラムのサイ
ズは、従来、命令のアドレス・フィールドによってもた
らされるアドレス範囲によって制限されていた。アドレ
ス範囲如よって、サブルーチンおよびデータ作業用記μ
s@購の全てを含む主プログラムが常駐する論理アドレ
ス空間が定義されていた。
ズは、従来、命令のアドレス・フィールドによってもた
らされるアドレス範囲によって制限されていた。アドレ
ス範囲如よって、サブルーチンおよびデータ作業用記μ
s@購の全てを含む主プログラムが常駐する論理アドレ
ス空間が定義されていた。
論理アドレス空間の制限を克服するため、適用業務プロ
グラマ−は、プログラムの諸部分に、入出力装置から読
み込まれたプログラムの他の部分1、t−バーレイして
いた。オーバーレイによシ、アドレス空間の諸部分をプ
ログラムの異なる部分のために時間系列的に再使用する
ことによって、プログラムのサイズが使用可能アドレス
空間を上回るようにすることができる。プログラムのオ
ーバーレイは、適用業務プログラマ−が論理アドレス空
間の使用を予め計画することを必要とする。
グラマ−は、プログラムの諸部分に、入出力装置から読
み込まれたプログラムの他の部分1、t−バーレイして
いた。オーバーレイによシ、アドレス空間の諸部分をプ
ログラムの異なる部分のために時間系列的に再使用する
ことによって、プログラムのサイズが使用可能アドレス
空間を上回るようにすることができる。プログラムのオ
ーバーレイは、適用業務プログラマ−が論理アドレス空
間の使用を予め計画することを必要とする。
大きな適用業務プログラムでは、プログラム・オーバー
レイは極めて複雑になる。
レイは極めて複雑になる。
タスクがより複雑になるにつれて、実行順序に関係なく
、よシ大きなアドレス空間をもたらす必要ができて@左
。
、よシ大きなアドレス空間をもたらす必要ができて@左
。
より大きな論理アドレス空間をアクセスするためのもう
1つの方法が、IBM3600金融機関通信システムで
実現された。これは1つの論理アドレス空間ないしセグ
メントから命令を@シ出して、別の論理アドレス空間な
いしセグメントに記1する回路を設けたものである。こ
の方法は、使用可能なアドレス空間を有効に倍増するが
、プログラムもデータも元のアドレス空間サイズを越え
ることはできない。
1つの方法が、IBM3600金融機関通信システムで
実現された。これは1つの論理アドレス空間ないしセグ
メントから命令を@シ出して、別の論理アドレス空間な
いしセグメントに記1する回路を設けたものである。こ
の方法は、使用可能なアドレス空間を有効に倍増するが
、プログラムもデータも元のアドレス空間サイズを越え
ることはできない。
上述の簡拳な方法の改良がIBM370アーキテクチャ
の仮想記は間@能を使用した方法によって実現される。
の仮想記は間@能を使用した方法によって実現される。
IBM370システムの仮想記i間!!!能は、汎用レ
ジスタ(GPR)3および14ならびに制菌レジスタ1
および7を画用してツーログラム実行を実アドレス空間
ないしセグメントの境界を越えてパスする、いくつかの
命令(たとえばプログラム呼出し、1次移動、プログラ
ム転送など)を追加したものである。GPR3は、戻り
アドレス空間を含み、GPR14は、戻シ命令カウンタ
を含んでいる。劃−レジスタ1は、新しいアドレス空間
に対す・るセグメント・テーブル・ポインタを含み、劃
−レジスタフは古いアドレス空間ないし呼出しアドレス
空間に対するセグメント・テーブル・ポインタを含んで
いる。この仮想記慮間e能によりアドレス空間の境界を
越えた呼出しおよびアドレス空間の境界を越えたデータ
移動がOT能となる。
ジスタ(GPR)3および14ならびに制菌レジスタ1
および7を画用してツーログラム実行を実アドレス空間
ないしセグメントの境界を越えてパスする、いくつかの
命令(たとえばプログラム呼出し、1次移動、プログラ
ム転送など)を追加したものである。GPR3は、戻り
アドレス空間を含み、GPR14は、戻シ命令カウンタ
を含んでいる。劃−レジスタ1は、新しいアドレス空間
に対す・るセグメント・テーブル・ポインタを含み、劃
−レジスタフは古いアドレス空間ないし呼出しアドレス
空間に対するセグメント・テーブル・ポインタを含んで
いる。この仮想記慮間e能によりアドレス空間の境界を
越えた呼出しおよびアドレス空間の境界を越えたデータ
移動がOT能となる。
さらに最近になって、インテル社は上述の各方法をスタ
ック本位に組合せたものを使用したマイクロプロセッサ
・システムを発表した。インテル社のマイクロプロセッ
サでは、コード・セグメントおよびデータ・セグメント
のアドレス空間は、特殊コード・セグメント・レジスタ
および特殊データ・セグメント・レジスタの内容によっ
て定義される。スタック・セグメント・レジスタおよび
予備データ・セグメント・レジスタも設けられている。
ック本位に組合せたものを使用したマイクロプロセッサ
・システムを発表した。インテル社のマイクロプロセッ
サでは、コード・セグメントおよびデータ・セグメント
のアドレス空間は、特殊コード・セグメント・レジスタ
および特殊データ・セグメント・レジスタの内容によっ
て定義される。スタック・セグメント・レジスタおよび
予備データ・セグメント・レジスタも設けられている。
セグメント・レジスタの内容は、命令のアドレス・フィ
ールドによって定義できるよりもはるかに大きなアドレ
ス空間中でアドレスを作成するため、シフトされプロセ
ッサ回路によってプログラム命令からの論理アドレスに
加えられる。アドレス空間ないしセグメントはセグメン
ト・レジスタ中のアドレスでスタートし、他のプログラ
ムによって付近のアドレスでスタートするように定義さ
れている他のアドレス空間と同じ広がりをもって、64
にバイトに対してランする。各プログラムは、移動命令
を実行して、セグメント・レジスタ中の基底アドレスを
変更するこ゛とができる。
ールドによって定義できるよりもはるかに大きなアドレ
ス空間中でアドレスを作成するため、シフトされプロセ
ッサ回路によってプログラム命令からの論理アドレスに
加えられる。アドレス空間ないしセグメントはセグメン
ト・レジスタ中のアドレスでスタートし、他のプログラ
ムによって付近のアドレスでスタートするように定義さ
れている他のアドレス空間と同じ広がりをもって、64
にバイトに対してランする。各プログラムは、移動命令
を実行して、セグメント・レジスタ中の基底アドレスを
変更するこ゛とができる。
コード・セグメント・レジスタを更新して、実行を他の
アドレス空間中のプログラムにパスするためのフィール
ドを含む、セグメント間呼出し命令も備えられている。
アドレス空間中のプログラムにパスするためのフィール
ドを含む、セグメント間呼出し命令も備えられている。
コード・セグメント・レジスタの更新に加えて、呼出し
プログラムのセグメント基底アドレスおよび呼出しプロ
グラムの命令カウントがスタックにブツシュされる。呼
出されたプログラムがセグメント間リターンを実行する
とき、実行継続のだめ、呼出しプログラムのだめのセグ
メント基底アドレスおよび命令カウントがスタックから
ポツプされる。
プログラムのセグメント基底アドレスおよび呼出しプロ
グラムの命令カウントがスタックにブツシュされる。呼
出されたプログラムがセグメント間リターンを実行する
とき、実行継続のだめ、呼出しプログラムのだめのセグ
メント基底アドレスおよび命令カウントがスタックから
ポツプされる。
上述の先行技術によるアーキテクチャは、プロダラム実
行側−を論理アドレス空間の外側のプログラム命令にパ
スすることをもたらすが、データアドレス空間の管理、
特に再入5T能なまたは再帰的プログラム実行全有効に
もたらすものではない。
行側−を論理アドレス空間の外側のプログラム命令にパ
スすることをもたらすが、データアドレス空間の管理、
特に再入5T能なまたは再帰的プログラム実行全有効に
もたらすものではない。
例えば、呼出し、プログラムは、呼出されたプログラム
が呼出しプログラムのアドレス空間または新しいデータ
・アドレス空間を利用するかどうかに対する側副手段を
もつ必要がある。−万、再入町q目なまたは反復して呼
出されるプログラムのデータ・アドレス空間に対する必
要性は、呼出されるプログラムとして定義するのが最も
よい。先行技術によるインテル社のシステムではデータ
・アドレス空間の基底アドレスが、セグメント・レジス
タへの移動指令を開用して、呼出しプログラムまたは呼
出されるプログラムのどちらかによって定義できる。ど
ちらのプログラムも、アドレス空間ないしセグメントの
長さを命令のアドレス・フィールドのアドレス範囲以下
に制限できるので、呼出されるプログラムが別のプログ
ラムによって記憶されたデータの上に誓き込″!ないこ
とを保証する@溝はない。
が呼出しプログラムのアドレス空間または新しいデータ
・アドレス空間を利用するかどうかに対する側副手段を
もつ必要がある。−万、再入町q目なまたは反復して呼
出されるプログラムのデータ・アドレス空間に対する必
要性は、呼出されるプログラムとして定義するのが最も
よい。先行技術によるインテル社のシステムではデータ
・アドレス空間の基底アドレスが、セグメント・レジス
タへの移動指令を開用して、呼出しプログラムまたは呼
出されるプログラムのどちらかによって定義できる。ど
ちらのプログラムも、アドレス空間ないしセグメントの
長さを命令のアドレス・フィールドのアドレス範囲以下
に制限できるので、呼出されるプログラムが別のプログ
ラムによって記憶されたデータの上に誓き込″!ないこ
とを保証する@溝はない。
発明の概要
本発明は、異なる論理アドレス空間ないしセグメント中
で作動するプログラム間で実行側−およびデータ・アク
セスをうまくパヌできる能力を与えることにより、所与
の適用業務を適当な数のプログラム又はプログラム・サ
ブルーチンに分割し、その各々をそれぞれ可変長の異な
る論理アドレス空間ないしセグメントに置くことに51
tiQにする。
で作動するプログラム間で実行側−およびデータ・アク
セスをうまくパヌできる能力を与えることにより、所与
の適用業務を適当な数のプログラム又はプログラム・サ
ブルーチンに分割し、その各々をそれぞれ可変長の異な
る論理アドレス空間ないしセグメントに置くことに51
tiQにする。
各プログラムは、それがその論理アドレス空間を占める
唯一のプログラムであるかのように1込むことができる
。これらのプログラムのあるものはプログラム・アドレ
ス空間が例えば16ピツト・アドレス母線によって制限
されている簡#−なマイクロコンピュータ用に、以前に
作成されたものであってもよい。
唯一のプログラムであるかのように1込むことができる
。これらのプログラムのあるものはプログラム・アドレ
ス空間が例えば16ピツト・アドレス母線によって制限
されている簡#−なマイクロコンピュータ用に、以前に
作成されたものであってもよい。
本発明の重要な側面として、記は域は呼出し実行の一部
として動的に割り振られ、かくて、データまたは制−〇
損失なしに、1つまたはそれ以上の呼出しプログラムに
よって古人可能プログラムの多重並行呼出しが可能であ
る。例えば、プログラムAがプログラムBを呼出し、プ
ログラムBがリターンする前にタスクの切換えが起った
場合には、プログラムBによるプログラムA呼出しの状
況または@能に干渉することナク、プログラムCもプロ
グラムBを呼出すことができる。再帰的な例テハ、プロ
グラムAがプログラムBを呼出し、そしてプログラムB
がプログラムCを呼出す場合、プログラムBによるプロ
グラムA呼出しの状況または@能に干渉することなく、
プログラムCがやはシブログラムBを呼出すことができ
る。
として動的に割り振られ、かくて、データまたは制−〇
損失なしに、1つまたはそれ以上の呼出しプログラムに
よって古人可能プログラムの多重並行呼出しが可能であ
る。例えば、プログラムAがプログラムBを呼出し、プ
ログラムBがリターンする前にタスクの切換えが起った
場合には、プログラムBによるプログラムA呼出しの状
況または@能に干渉することナク、プログラムCもプロ
グラムBを呼出すことができる。再帰的な例テハ、プロ
グラムAがプログラムBを呼出し、そしてプログラムB
がプログラムCを呼出す場合、プログラムBによるプロ
グラムA呼出しの状況または@能に干渉することなく、
プログラムCがやはシブログラムBを呼出すことができ
る。
本発明のさらに精巧な例では、記は域を先に呼出しプロ
グラムに割り振られた同じ記1’R’2間から、呼出さ
れ光プログラムに割り振ることができる。
グラムに割り振られた同じ記1’R’2間から、呼出さ
れ光プログラムに割り振ることができる。
このようにして l出されたプログラムはデータ移動を
伴うことなしに呼出しプログラムのデータ・アドレス空
間をアクセスすることができる。
伴うことなしに呼出しプログラムのデータ・アドレス空
間をアクセスすることができる。
本発明の実施例では、マイクロプログラムは、各適用業
務の名称およびそれに関連するプログラム・セグメント
基底アドレスおよびセグメント長さを記憶したネーム・
リストを維持している。マイクロプログラムはまた、呼
出される全てのプログラムの各セグメントの状況、基底
アドレスおよび長さを含む、1藺以上のブツシュダウン
・スタックを維持している。望ましくは、各タスクにつ
いて別個のスタックを維持して、タスクをそれらが独立
の出力操作の完了によって決定されるように開始される
のと異なる順序で完了できるようにするとよい。例えば
、タスクをキーボード表示端末ユーザにサービスする仮
想コンピュータトスることができる。
務の名称およびそれに関連するプログラム・セグメント
基底アドレスおよびセグメント長さを記憶したネーム・
リストを維持している。マイクロプログラムはまた、呼
出される全てのプログラムの各セグメントの状況、基底
アドレスおよび長さを含む、1藺以上のブツシュダウン
・スタックを維持している。望ましくは、各タスクにつ
いて別個のスタックを維持して、タスクをそれらが独立
の出力操作の完了によって決定されるように開始される
のと異なる順序で完了できるようにするとよい。例えば
、タスクをキーボード表示端末ユーザにサービスする仮
想コンピュータトスることができる。
プログラミング言語は、新しいプログラム・セグメント
をプログラム名によって参照し、データ・アドレス空間
を呼出しプログラムと共用にするかそれとも自由記憶域
から新たに割り振るべきかを指定する、呼出し命令を含
むように拡張される。
をプログラム名によって参照し、データ・アドレス空間
を呼出しプログラムと共用にするかそれとも自由記憶域
から新たに割り振るべきかを指定する、呼出し命令を含
むように拡張される。
割り振るべき新しい各記憶セグメントの長さを決定する
ため、プログラム・セグメント中のフィールドがアクセ
スされる。対応するリターン命令がそれ自身のアドレス
空間において呼出しプログラムへ制御を戻す。′ 実施例の説明 ここで第1図を参照すると、命令インタープリタ−11
、ネーム・リスト13、スタック15およびアドレス制
御装置17を含む16ビツト・コンピュータが例示され
ている。これらの要素は、命令インタープリタ−11に
よって実行されるプログラム言語の命令フィールドによ
ってアドレスできるよりも多くの記[2間をもつメモリ
19のアドレシングを制−するように相互作用する。ス
タック15は、望ましくは多重プログラム式環境中の各
タスクまたは主プログラムごとに別個のリストないしス
タックを含むようにするとよい。タスクは、例えば複数
のキーボード表示装置のうちの1つにサービスすること
ができる。記述を完全にするため通常の隊造め演算論狸
機隊(ALU)21が示しである。命令インタープリタ
−11は、命令実行の際に他のメモリrr装置にアドレ
スするためメモリ19から命令を受は暇って、演算論a
機購21およびアドレス制御l[11装置17を劃−す
る。
ため、プログラム・セグメント中のフィールドがアクセ
スされる。対応するリターン命令がそれ自身のアドレス
空間において呼出しプログラムへ制御を戻す。′ 実施例の説明 ここで第1図を参照すると、命令インタープリタ−11
、ネーム・リスト13、スタック15およびアドレス制
御装置17を含む16ビツト・コンピュータが例示され
ている。これらの要素は、命令インタープリタ−11に
よって実行されるプログラム言語の命令フィールドによ
ってアドレスできるよりも多くの記[2間をもつメモリ
19のアドレシングを制−するように相互作用する。ス
タック15は、望ましくは多重プログラム式環境中の各
タスクまたは主プログラムごとに別個のリストないしス
タックを含むようにするとよい。タスクは、例えば複数
のキーボード表示装置のうちの1つにサービスすること
ができる。記述を完全にするため通常の隊造め演算論狸
機隊(ALU)21が示しである。命令インタープリタ
−11は、命令実行の際に他のメモリrr装置にアドレ
スするためメモリ19から命令を受は暇って、演算論a
機購21およびアドレス制御l[11装置17を劃−す
る。
第2図は、この実施例のネーム・リストの書式を示した
ものである。この実施し1のネーム・リストは26ワー
ドのリストであ1す、各ワードは1つのネーム・フィー
ルド、1つの4バイト・アドレス空間フィールドおよび
1つの2バイト長フイールドを含む。この実施列では、
簡潔にするため、ネームは1バイト中に記はできる単一
の英字に限定しである。実際には、ずっと長いネームが
望まれるはずである。
ものである。この実施し1のネーム・リストは26ワー
ドのリストであ1す、各ワードは1つのネーム・フィー
ルド、1つの4バイト・アドレス空間フィールドおよび
1つの2バイト長フイールドを含む。この実施列では、
簡潔にするため、ネームは1バイト中に記はできる単一
の英字に限定しである。実際には、ずっと長いネームが
望まれるはずである。
第3図は第4C図に示すような記は載量命令、すなわち
1つの8ビツト命令コード、論理アドレス空間ないしセ
グメント識別用の2つの4ビツト・フィールドおよび2
つの16ビツト・アドレス・フィールドを含む6バイト
の命令を実行しながら、本発明を用いてアドレス位置を
アクセスするだめの簡vILな実施例を示したものであ
る。各セグメント識別フィールドは、インテル社のマイ
クロ・プロセッサのセグメント上乗り接頭部と類似のも
令レジスタ101に記lされている。第3図はまた、呼
出しプログラムMの最終データ・セグメントの基底アド
レスおよび長さ、呼出されるプログラム用の命令ポイン
タおよび状況バイト、それに呼出されるプログラムNの
各セグメントの基底アドレスおよび長さを含む、スタッ
ク15の一一分を示している。先行技術とは異なり、ス
タック15は、呼出しプログラムに関係する各セグメン
トの長さを含んでいることを指摘しておく。この簡単な
実施しlでは、呼出されるプログラム用のセグメントも
スタック15上に置かれ、各アドレスを計算するためス
タック15から直接使用される。
1つの8ビツト命令コード、論理アドレス空間ないしセ
グメント識別用の2つの4ビツト・フィールドおよび2
つの16ビツト・アドレス・フィールドを含む6バイト
の命令を実行しながら、本発明を用いてアドレス位置を
アクセスするだめの簡vILな実施例を示したものであ
る。各セグメント識別フィールドは、インテル社のマイ
クロ・プロセッサのセグメント上乗り接頭部と類似のも
令レジスタ101に記lされている。第3図はまた、呼
出しプログラムMの最終データ・セグメントの基底アド
レスおよび長さ、呼出されるプログラム用の命令ポイン
タおよび状況バイト、それに呼出されるプログラムNの
各セグメントの基底アドレスおよび長さを含む、スタッ
ク15の一一分を示している。先行技術とは異なり、ス
タック15は、呼出しプログラムに関係する各セグメン
トの長さを含んでいることを指摘しておく。この簡単な
実施しlでは、呼出されるプログラム用のセグメントも
スタック15上に置かれ、各アドレスを計算するためス
タック15から直接使用される。
スタック15の使用により、各セグメントの現基底アト
Vスを配慮するために別個のレジスタ・セットを設ける
必要性がなくなる。
Vスを配慮するために別個のレジスタ・セットを設ける
必要性がなくなる。
命令レジスタ101およびスタック15のfl!!棹、
第3図には命令解読!!1911の一部である解読・順
序実行装置211が示しである。
第3図には命令解読!!1911の一部である解読・順
序実行装置211が示しである。
第3図にはまた、アドレス側−装置17の一部が示しで
ある。スタック15中の旧しい項目にアクセスするため
、呼出しレベルがセグメント番号フィールドと組み合わ
されている。スタック15のゼロレベルは、所与のタス
クの主プログラムに対する基底セグメント・アドレスお
よび長さを記はしている。別のプログラムに対する呼出
しが行なわれる度に、レベル・レジスタ103中の番号
が増分される。リターン毎にレベル・レジスタ103は
減分される。タスクの切換えが起こると、レジスタ10
3中のレベル番号を保管し、次に新しいタスク中で活動
的な呼出しの数に一致するように切換えなければならな
い。
ある。スタック15中の旧しい項目にアクセスするため
、呼出しレベルがセグメント番号フィールドと組み合わ
されている。スタック15のゼロレベルは、所与のタス
クの主プログラムに対する基底セグメント・アドレスお
よび長さを記はしている。別のプログラムに対する呼出
しが行なわれる度に、レベル・レジスタ103中の番号
が増分される。リターン毎にレベル・レジスタ103は
減分される。タスクの切換えが起こると、レジスタ10
3中のレベル番号を保管し、次に新しいタスク中で活動
的な呼出しの数に一致するように切換えなければならな
い。
ANDゲート105は、解読e112211によっテ制
−サれて、レベル・レジスタ103の内容をORゲー)
107’ii経て掛算器109にノくスする。
−サれて、レベル・レジスタ103の内容をORゲー)
107’ii経て掛算器109にノくスする。
1)IN器109はこのレベルとスタック′15の各レ
ベル中のバイト数である96を掛ける。掛算器109の
出力が掛算器111の出力と加えられる。
ベル中のバイト数である96を掛ける。掛算器109の
出力が掛算器111の出力と加えられる。
掛1[l5111は、スタック15中の各項目が6バイ
トを含むので、解読機1lf211の制−下でゲート1
13.115を介して受は叡る命令からのセグメント番
号に定数6を掛ける。従って、加算器117の入力は掛
算器109および111に接続され、望みのスタック項
目の最初のバイトを識別する和を生成するよ、うになっ
ている。第3図の例では、望みのスタック項目はデータ
・アドレス空間ないしセグメント2である。スタック1
5がメモリ中に配慮されている場合には、加算器117
の出力が次に基底スタック・アドレスと加算され、第3
図に示すようにデータ項目にアクセスするための実際の
アドレスが得られる。正しいスタック項目にアクセスす
ると、このスタック項目中に配慮されている4バイトの
基底アドレスが加1iii19によって命令の16ビツ
ト・アドレス・フィールドに加えられ、アドレスが得ら
れる。このアドレスがANDゲート121 f介してゲ
ートアウトされ、直接または限られた量の実記憶がより
大きな仮想記はとして働けるようにする配慮管理論理回
路を介して、記μs域にアクセスする。
トを含むので、解読機1lf211の制−下でゲート1
13.115を介して受は叡る命令からのセグメント番
号に定数6を掛ける。従って、加算器117の入力は掛
算器109および111に接続され、望みのスタック項
目の最初のバイトを識別する和を生成するよ、うになっ
ている。第3図の例では、望みのスタック項目はデータ
・アドレス空間ないしセグメント2である。スタック1
5がメモリ中に配慮されている場合には、加算器117
の出力が次に基底スタック・アドレスと加算され、第3
図に示すようにデータ項目にアクセスするための実際の
アドレスが得られる。正しいスタック項目にアクセスす
ると、このスタック項目中に配慮されている4バイトの
基底アドレスが加1iii19によって命令の16ビツ
ト・アドレス・フィールドに加えられ、アドレスが得ら
れる。このアドレスがANDゲート121 f介してゲ
ートアウトされ、直接または限られた量の実記憶がより
大きな仮想記はとして働けるようにする配慮管理論理回
路を介して、記μs域にアクセスする。
第2のオペランドは、ゲート114.115、126.
127を用いて同様にして得られ、かくて第2のセグメ
ント・フィールドおよび第2のアドレス・フィールドを
用いて第2のアドレスが生成される。
127を用いて同様にして得られ、かくて第2のセグメ
ント・フィールドおよび第2のアドレス・フィールドを
用いて第2のアドレスが生成される。
スタック15を用いたアドレス制御装置17の操作につ
いて説明してきたが、ネーム・リス)Bを用いて項目を
スタック15に入れるために、第4A図の呼出しくCA
LL)命令を実行する命令インタープリタ−11の操作
について次に説明する。第5図を参照すると、命令レジ
スタ101中に本発明の4バイトの呼出し命令が示しで
ある。
いて説明してきたが、ネーム・リス)Bを用いて項目を
スタック15に入れるために、第4A図の呼出しくCA
LL)命令を実行する命令インタープリタ−11の操作
について次に説明する。第5図を参照すると、命令レジ
スタ101中に本発明の4バイトの呼出し命令が示しで
ある。
この場合も、この命令の第1バイトは命令コードであシ
、これはこの例ではデータ配慮セグメントを新しいプロ
グラム・セグメント中の新しい適用業務プログラムに割
り振り、実行側WUを新しいプログラムに渡すように働
く。各呼出し命令と呼出されてbる新しいプログラムの
名前が関連づけられている。この列では、学−の英字か
ら成るネームを仮定したので、ネーム・フィールドは1
バイトの長さしか必要としない。呼出し命令の第2バあ
る。呼出し命令の第3および第4バイトは、空間割り振
りバイトである。空間割り振りバイトの内容は、ビット
有意である。すなわち、2進数1が所与のピット位置に
存在すると、対応する番号のセグメントが自由記は域か
ら新たに割り振られることを示す。一方、所与のビット
装置に2進数ゼロがあると、呼出されるプログラムに対
する、対応する番号のアドレス空間が呼出しプログラム
の対応する番号のセグメントと同゛じであることを示す
。
、これはこの例ではデータ配慮セグメントを新しいプロ
グラム・セグメント中の新しい適用業務プログラムに割
り振り、実行側WUを新しいプログラムに渡すように働
く。各呼出し命令と呼出されてbる新しいプログラムの
名前が関連づけられている。この列では、学−の英字か
ら成るネームを仮定したので、ネーム・フィールドは1
バイトの長さしか必要としない。呼出し命令の第2バあ
る。呼出し命令の第3および第4バイトは、空間割り振
りバイトである。空間割り振りバイトの内容は、ビット
有意である。すなわち、2進数1が所与のピット位置に
存在すると、対応する番号のセグメントが自由記は域か
ら新たに割り振られることを示す。一方、所与のビット
装置に2進数ゼロがあると、呼出されるプログラムに対
する、対応する番号のアドレス空間が呼出しプログラム
の対応する番号のセグメントと同゛じであることを示す
。
再び第5図を参照すると、命令レジスタ101中の呼出
し命令の命令コード1分が解読されて、解読@WII2
11によって劃−される実行の順序を活動〔ヒする。呼
出し命令の実行順序の第1ステツプは、命令カウントを
4バイトだけ増分することである。こうすると、呼出さ
れたプログラムからリターンするとき、呼出しプログラ
ムの次の命令が開用0T能となる。次に、解読!!I購
211からの出力が、レベル・レジスタ103中の値を
増分する。掛算器109は、この場合も解読@1112
11によって劃−され、増分されたレベル・レジスタ1
03によって指定される新たに割り振られたスタック・
レベルの第1項目を立置づける0命令カウンタは、各レ
ベルの第1項目であるから、加算器151ti、この新
しいレベルに対する次の項目にアクセスするため、スタ
ック・ポインタに数6をv口える。正しいスタック項目
にアドレスすると、命令のネーム・フィールドを用いて
、ネーム・リスト13中の基底アドレスおよび長さデー
タを位置づけ、このアドレスされた項目でスタック15
中に1き込めるようにする。この簡略fヒした例では、
インデックス・カウンタ213がネーム・リスト中の各
エントリを順序づけて、命令のネーム・フィールドをネ
ーム・リスト中の各ネームと比較できるようにする。比
較論理回路215によって一致が検出されると、プログ
ラム・セグメントの基底アドレスと長さを含むアドレス
空間情報がaNDゲ−)217を経て、この新しいレベ
ルでのスタック15中の第2項目であるプログラム項目
にゲートされる。
し命令の命令コード1分が解読されて、解読@WII2
11によって劃−される実行の順序を活動〔ヒする。呼
出し命令の実行順序の第1ステツプは、命令カウントを
4バイトだけ増分することである。こうすると、呼出さ
れたプログラムからリターンするとき、呼出しプログラ
ムの次の命令が開用0T能となる。次に、解読!!I購
211からの出力が、レベル・レジスタ103中の値を
増分する。掛算器109は、この場合も解読@1112
11によって劃−され、増分されたレベル・レジスタ1
03によって指定される新たに割り振られたスタック・
レベルの第1項目を立置づける0命令カウンタは、各レ
ベルの第1項目であるから、加算器151ti、この新
しいレベルに対する次の項目にアクセスするため、スタ
ック・ポインタに数6をv口える。正しいスタック項目
にアドレスすると、命令のネーム・フィールドを用いて
、ネーム・リスト13中の基底アドレスおよび長さデー
タを位置づけ、このアドレスされた項目でスタック15
中に1き込めるようにする。この簡略fヒした例では、
インデックス・カウンタ213がネーム・リスト中の各
エントリを順序づけて、命令のネーム・フィールドをネ
ーム・リスト中の各ネームと比較できるようにする。比
較論理回路215によって一致が検出されると、プログ
ラム・セグメントの基底アドレスと長さを含むアドレス
空間情報がaNDゲ−)217を経て、この新しいレベ
ルでのスタック15中の第2項目であるプログラム項目
にゲートされる。
プログラムの基底アドレスおよび長さをスタック中の適
iEな項目に瞥き込むと、この基底アドレスを用いて、
新しいプログラムの第1の複数起重位置をアクセスし、
このプログラムが必要とする実行人口命令アドレスおよ
び各データ・アドレス空間の長さなどの項目を検索でき
るようにする。
iEな項目に瞥き込むと、この基底アドレスを用いて、
新しいプログラムの第1の複数起重位置をアクセスし、
このプログラムが必要とする実行人口命令アドレスおよ
び各データ・アドレス空間の長さなどの項目を検索でき
るようにする。
次に第6図を参照しながら、簡単な杉のデータ・アドレ
ス空間の割り振りについて説明する。前述のように呼出
し命令の第3および第4バイトは、ビット有意な空間割
り振りバイトである。データ配慮アドレス空間は、イン
デックス・カウンタ223および自由配慮開始レジスタ
225の制−下で、自由アドレス空間から割り振られる
。自由記憶開始レジスタ225の内容は、プログラム・
アドレス空間またはセグメントの全てが割り振られたと
きに記lされたアドレスである。このレジスタは単に最
初の自由記I装置のアドレスを含むだけである。インデ
ックス・カウンタ2゛23は、この例では各スタック・
レベルに16の項目があるので、ゼロから15までカウ
ントする。簡単にいうと、インデックス・カウンタ22
3は、命令レジスタ101中の空間割り振りバイトのピ
ットへのアクセスを制御し、ヌタツ久項目に対するアク
セスの増分を制御し、プログラム中の第1の複数記1装
置へのアクセスを制御して、スタック中に。
ス空間の割り振りについて説明する。前述のように呼出
し命令の第3および第4バイトは、ビット有意な空間割
り振りバイトである。データ配慮アドレス空間は、イン
デックス・カウンタ223および自由配慮開始レジスタ
225の制−下で、自由アドレス空間から割り振られる
。自由記憶開始レジスタ225の内容は、プログラム・
アドレス空間またはセグメントの全てが割り振られたと
きに記lされたアドレスである。このレジスタは単に最
初の自由記I装置のアドレスを含むだけである。インデ
ックス・カウンタ2゛23は、この例では各スタック・
レベルに16の項目があるので、ゼロから15までカウ
ントする。簡単にいうと、インデックス・カウンタ22
3は、命令レジスタ101中の空間割り振りバイトのピ
ットへのアクセスを制御し、ヌタツ久項目に対するアク
セスの増分を制御し、プログラム中の第1の複数記1装
置へのアクセスを制御して、スタック中に。
誓き込むべき長さの@を検索できるようにする。
第3図および第5図のものと類似の論理回路を用いて、
レベル・レジスタ103中の1直に96を掛けることに
より、現レベルの第1のスタック項目を位置づける。そ
の積から96を引くと、以前のレベルの対応する項目が
アクセスされる。第6図の簡略「ヒした記障割り振り方
法は、次のように行なわれる。インデックス・カウンタ
223のカウントがゼロの場合、入カポインドの命令カ
ウントがANDゲート239を介して新しいレベルに対
する第1のスタック項目にゲートされる。インデックス
・カウンタ223のカウントが2の場合、命令レジスタ
101中の第3バイトの第3ビツトがANDゲート22
7ならびにインバータ2311データ・セグメントの基
底アドレスをセットアツプされているスタック・レベル
の第3項目中に記はできるようにする。第3ビツトが2
進数1の場合、ANDゲート227は、自由記は開始レ
ジスタ225の内容を基底アドレスとしてスタック15
中にゲートする。同時に、プログラム・セグメントから
の長さがANDゲート237によってスタック15中に
記lされる。自由記l開始レジスタ225の内容がスタ
ック15にコピーされると、加算器235はこの新しい
データ・セグメントの長さを、自由記は開始レジスタ2
25(DIJ、前の内容に加え、かくて新しい自由記憶
開始アドレスが得られる。第3ビツトがこの場合のよう
に2進数ゼロであると、ANDゲート229に接続され
たインバータ231は、プログラムMによって使用され
る対すするデータ・セグメントの基底アドレスおよび長
さを、プログラムNのための第3項目に移動し、それに
よって以前にプログラムMが使用したのと同じデータ・
セグメントをプログラムNが使用できるようになる。こ
うしてプログラムMとNは実際にデータを移動せずに同
じデータを共用することができるので、他のデータを損
傷することが防止される。
レベル・レジスタ103中の1直に96を掛けることに
より、現レベルの第1のスタック項目を位置づける。そ
の積から96を引くと、以前のレベルの対応する項目が
アクセスされる。第6図の簡略「ヒした記障割り振り方
法は、次のように行なわれる。インデックス・カウンタ
223のカウントがゼロの場合、入カポインドの命令カ
ウントがANDゲート239を介して新しいレベルに対
する第1のスタック項目にゲートされる。インデックス
・カウンタ223のカウントが2の場合、命令レジスタ
101中の第3バイトの第3ビツトがANDゲート22
7ならびにインバータ2311データ・セグメントの基
底アドレスをセットアツプされているスタック・レベル
の第3項目中に記はできるようにする。第3ビツトが2
進数1の場合、ANDゲート227は、自由記は開始レ
ジスタ225の内容を基底アドレスとしてスタック15
中にゲートする。同時に、プログラム・セグメントから
の長さがANDゲート237によってスタック15中に
記lされる。自由記l開始レジスタ225の内容がスタ
ック15にコピーされると、加算器235はこの新しい
データ・セグメントの長さを、自由記は開始レジスタ2
25(DIJ、前の内容に加え、かくて新しい自由記憶
開始アドレスが得られる。第3ビツトがこの場合のよう
に2進数ゼロであると、ANDゲート229に接続され
たインバータ231は、プログラムMによって使用され
る対すするデータ・セグメントの基底アドレスおよび長
さを、プログラムNのための第3項目に移動し、それに
よって以前にプログラムMが使用したのと同じデータ・
セグメントをプログラムNが使用できるようになる。こ
うしてプログラムMとNは実際にデータを移動せずに同
じデータを共用することができるので、他のデータを損
傷することが防止される。
第3図に戻ると、呼出し命令を実行する最終ステップと
して、この新しい適用業務プログラムに対する実行アド
レスの開始が新しいレベルにあるスタックの第1項目か
ら検索され、次の命令を吹出すべきアドレスとしてAN
D10Rゲート122.123を経てパスされる。こう
して実行側−が呼出しプログラムから呼出されるプログ
ラムに有効にパスさ才1.る。
して、この新しい適用業務プログラムに対する実行アド
レスの開始が新しいレベルにあるスタックの第1項目か
ら検索され、次の命令を吹出すべきアドレスとしてAN
D10Rゲート122.123を経てパスされる。こう
して実行側−が呼出しプログラムから呼出されるプログ
ラムに有効にパスさ才1.る。
ここで第7図の論理図を参照しながら、その論理回路の
例を用いて本発明のリターン命令(RETURN)vi
−説明する。リターン命令は、命令コードだけを含む拳
−バイト命令である。命令コードが解読され、実行順序
が解読機構211によって劃−されると、呼出されるプ
ログラムによって使用された記憶域の割り振りを解除し
、そして制御全呼出しプログラムに戻す。記は域の割り
振シ解除は、インデックス・カウンタ241によって実
施されるが、これはこの場合第6図について上記で説明
したプロセスとは逆に15からゼロへとカウントする。
例を用いて本発明のリターン命令(RETURN)vi
−説明する。リターン命令は、命令コードだけを含む拳
−バイト命令である。命令コードが解読され、実行順序
が解読機構211によって劃−されると、呼出されるプ
ログラムによって使用された記憶域の割り振りを解除し
、そして制御全呼出しプログラムに戻す。記は域の割り
振シ解除は、インデックス・カウンタ241によって実
施されるが、これはこの場合第6図について上記で説明
したプロセスとは逆に15からゼロへとカウントする。
インデックス・カウンタ241はやはり第6図について
説明したのと同様に呼出されるプログラムおよび呼出し
プログラムの対応する基底アドレスへのアドレスを制−
する。これらの対応する基底アドレスは、排他的ORゲ
ート243およびORゲート245によって比較され、
この2つのアドレスが等しくない場合にはANDゲート
247.249に信号をもたらす。2つのアドレスが等
しくない場合、これは呼出されるプログラム中の基底ア
ドレスが自由記l域から割り振られたことを意味する。
説明したのと同様に呼出されるプログラムおよび呼出し
プログラムの対応する基底アドレスへのアドレスを制−
する。これらの対応する基底アドレスは、排他的ORゲ
ート243およびORゲート245によって比較され、
この2つのアドレスが等しくない場合にはANDゲート
247.249に信号をもたらす。2つのアドレスが等
しくない場合、これは呼出されるプログラム中の基底ア
ドレスが自由記l域から割り振られたことを意味する。
呼出されたプログラムはリターンしているので、以前に
割り振られたデータ記憶域を自由記憶域に戻す1ことが
できる。このことは、この非常に簡畦な列では、割り振
シを解除されるデータ記はアドレス空間の長さを減算器
251中の自由記憶開始レジスタ2i5の内容から引く
ことによって実施される。呼出されるプログラムと呼出
しプログラムの対応するデータ空間の基底アドレスが同
じ場合、呼出されたプログラムは、以前に呼出しプログ
ラムに割シ振られたのと同じアドレスを使用しており、
従ってまだそれらを自由にしてはならない。記l域が割
り振り ・を解除された後、レベル・レジスタ103中
のカウントがリターン命令によって減分され、呼出しプ
ログラムに戻ってその実行を継続できるようになる。リ
ターン命令の最終ステップは、このとき減分すれたレベ
ル・レジスタによって第3図のAND10Rゲート12
2.123を升して指摘される命令カウンIfゲートシ
、呼出しプログラムMの次の順次命令を検索して、プロ
グラムMの実行を継続できるようにする。
割り振られたデータ記憶域を自由記憶域に戻す1ことが
できる。このことは、この非常に簡畦な列では、割り振
シを解除されるデータ記はアドレス空間の長さを減算器
251中の自由記憶開始レジスタ2i5の内容から引く
ことによって実施される。呼出されるプログラムと呼出
しプログラムの対応するデータ空間の基底アドレスが同
じ場合、呼出されたプログラムは、以前に呼出しプログ
ラムに割シ振られたのと同じアドレスを使用しており、
従ってまだそれらを自由にしてはならない。記l域が割
り振り ・を解除された後、レベル・レジスタ103中
のカウントがリターン命令によって減分され、呼出しプ
ログラムに戻ってその実行を継続できるようになる。リ
ターン命令の最終ステップは、このとき減分すれたレベ
ル・レジスタによって第3図のAND10Rゲート12
2.123を升して指摘される命令カウンIfゲートシ
、呼出しプログラムMの次の順次命令を検索して、プロ
グラムMの実行を継続できるようにする。
第4D図のレジスター記憶域間命令は、本発明を用いて
有利に実現できるさらに進んだ拡張である。この命令の
命令コードはやはり第1バイトである。第2バイトは、
2個のレジスタを指定する。
有利に実現できるさらに進んだ拡張である。この命令の
命令コードはやはり第1バイトである。第2バイトは、
2個のレジスタを指定する。
ただし、第2のレジスタは少くとも3バイトのアドレス
情報を含んでおり、スタック中の情報を使用して任意の
アドレスを位置づけるのに、それが使用できる。第2の
レジスタ中に記憶される情報の第1バイトは、2つの4
ビツト数を含んでいる。
情報を含んでおり、スタック中の情報を使用して任意の
アドレスを位置づけるのに、それが使用できる。第2の
レジスタ中に記憶される情報の第1バイトは、2つの4
ビツト数を含んでいる。
第1の数は第3図に示すレベル・レジスタ103中に記
憶されたレベル番号の代用となるレベル数である。第2
レジヌタの第1バイトの第2の4ピツト数もやはりセグ
メント番号である。第2および第3バイトはやはり16
ビツトの変位ヤある。
憶されたレベル番号の代用となるレベル数である。第2
レジヌタの第1バイトの第2の4ピツト数もやはりセグ
メント番号である。第2および第3バイトはやはり16
ビツトの変位ヤある。
第3図に戻ってレジスタR2の内容が命令レジスタ10
1の第2、第3および第4バイト中に記憶されている場
合、A、NDゲート106はレジスタR2からのレベル
・フィールドをレベル・レジスタ103の内容の代用と
することがわかる。第4図の命令は、先行技術の命令と
同じく他のプログラムやそのデータに影響が及ぶ恐れが
あるので無差別に使用してはならない。
1の第2、第3および第4バイト中に記憶されている場
合、A、NDゲート106はレジスタR2からのレベル
・フィールドをレベル・レジスタ103の内容の代用と
することがわかる。第4図の命令は、先行技術の命令と
同じく他のプログラムやそのデータに影響が及ぶ恐れが
あるので無差別に使用してはならない。
第1図は本発明に従ったネーム・リストおよびスタック
を含むコンピュータを示すブロック図、第2図はネーム
・リストの詳細な実施料を示す図、第3図は第1図のア
トシス制御[l装置17の一部を示すブロック図、第4
A図は呼出し命令の様式を示す図、第4B図はリターン
命令の様式を示す図、第4C図Ifi記慮穢間命令の様
式を示す図、第4D図はレジスター記憶載量命令の様式
を示す図、第5図は呼出し命令インタープリタ−の第1
の部分全示すブロック図、第6図は呼出し命令インター
プリタ−のメモリ割り振り部分を示すブロック図、第7
図はリターン命令インタープリタ−のブロック図である
。 出[[人 インタブナシMyし・ビジネス・マシiノ
ズ1ニアーローション代狸人 弁理士 頓 宮
孝 −(外1名)
を含むコンピュータを示すブロック図、第2図はネーム
・リストの詳細な実施料を示す図、第3図は第1図のア
トシス制御[l装置17の一部を示すブロック図、第4
A図は呼出し命令の様式を示す図、第4B図はリターン
命令の様式を示す図、第4C図Ifi記慮穢間命令の様
式を示す図、第4D図はレジスター記憶載量命令の様式
を示す図、第5図は呼出し命令インタープリタ−の第1
の部分全示すブロック図、第6図は呼出し命令インター
プリタ−のメモリ割り振り部分を示すブロック図、第7
図はリターン命令インタープリタ−のブロック図である
。 出[[人 インタブナシMyし・ビジネス・マシiノ
ズ1ニアーローション代狸人 弁理士 頓 宮
孝 −(外1名)
Claims (1)
- セグメント間の呼出し命令を実行するためのディジタル
計算機において、前記呼出し命令の命令コード部分を解
読し且つ該命令の実行を制菌するだめの命令コード解読
論理と、前記解読論理によってP8Ufaされ且つ前記
呼出し命令中の配慮被割振シンイールドの内容にら答し
て新しいデータ・セグメントを被呼出しツーログラムへ
割振るとともに、呼出しフ゛ログラムへ割振られたデー
タ・セグメントをも前記被呼出しプログラムへ割振るた
めの記ハ蛾割振シ論理とを備えたことを特徴とする、プ
ログラム呼出し方式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/302,932 US4454580A (en) | 1981-09-16 | 1981-09-16 | Program call method and call instruction execution apparatus |
US302932 | 1981-09-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5848147A true JPS5848147A (ja) | 1983-03-22 |
JPS6259812B2 JPS6259812B2 (ja) | 1987-12-12 |
Family
ID=23169858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57123084A Granted JPS5848147A (ja) | 1981-09-16 | 1982-07-16 | プログラム呼出し方式 |
Country Status (7)
Country | Link |
---|---|
US (1) | US4454580A (ja) |
EP (1) | EP0074479B1 (ja) |
JP (1) | JPS5848147A (ja) |
CA (1) | CA1172375A (ja) |
DE (1) | DE3275668D1 (ja) |
ES (1) | ES515726A0 (ja) |
MX (1) | MX158846A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61212248A (ja) * | 1985-03-18 | 1986-09-20 | Ajinomoto Co Inc | 動物栄養組成物 |
JPS61212249A (ja) * | 1985-03-15 | 1986-09-20 | Ajinomoto Co Inc | 飼料用組成物 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3420316C2 (de) * | 1983-05-31 | 1997-01-09 | Canon Kk | Verfahren zur Steuerung eines Kopiergeräts |
US4862351A (en) * | 1983-09-01 | 1989-08-29 | Unisys Corporation | Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same |
US4766537A (en) * | 1986-01-02 | 1988-08-23 | Motorola, Inc. | Paged memory management unit having stack change control register |
US5220669A (en) * | 1988-02-10 | 1993-06-15 | International Business Machines Corporation | Linkage mechanism for program isolation |
US5023773A (en) * | 1988-02-10 | 1991-06-11 | International Business Machines Corporation | Authorization for selective program access to data in multiple address spaces |
US4945480A (en) * | 1988-02-10 | 1990-07-31 | International Business Machines Corporation | Data domain switching on program address space switching and return |
US4979098A (en) * | 1988-02-10 | 1990-12-18 | International Business Machines Corporation | Multiple address space token designation, protection controls, designation translation and lookaside |
US5136696A (en) * | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
US5189733A (en) * | 1989-08-22 | 1993-02-23 | Borland International, Inc. | Application program memory management system |
AU7305491A (en) * | 1990-01-29 | 1991-08-21 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
WO1992015947A1 (en) * | 1991-03-07 | 1992-09-17 | Digital Equipment Corporation | Improved software debugging system and method especially adapted for code debugging within a multi-architecture environment |
US5652869A (en) * | 1991-03-07 | 1997-07-29 | Digital Equipment Corporation | System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls |
US5339422A (en) * | 1991-03-07 | 1994-08-16 | Digital Equipment Corporation | System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment |
US5568642A (en) * | 1991-12-26 | 1996-10-22 | Institute Of Software Scientifical Constructions | Computer system with easy programming architecture and programming method therefor |
US5611043A (en) * | 1994-03-18 | 1997-03-11 | Borland International, Inc. | Debugger system and method for controlling child processes |
JPH085357A (ja) * | 1994-06-16 | 1996-01-12 | Kodo Eizo Gijutsu Kenkyusho:Kk | 曲面形状入出力装置およびシステム |
US5835958A (en) * | 1996-10-29 | 1998-11-10 | Sun Microsystems, Inc. | Method and apparatus for dynamically sizing non-contiguous runtime stacks |
US10120688B2 (en) * | 2016-11-15 | 2018-11-06 | Andes Technology Corporation | Data processing system and method for executing block call and block return instructions |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2258113A5 (ja) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
AU506710B2 (en) * | 1974-10-21 | 1980-01-24 | Honeywell Information Systems Incorp. | Method of accessing priviledged memory in a multiprogrammed data processing system |
US4041462A (en) * | 1976-04-30 | 1977-08-09 | International Business Machines Corporation | Data processing system featuring subroutine linkage operations using hardware controlled stacks |
JPS5311547A (en) * | 1976-07-20 | 1978-02-02 | Oki Electric Ind Co Ltd | Program call order system |
US4338663A (en) * | 1978-10-25 | 1982-07-06 | Digital Equipment Corporation | Calling instructions for a data processing system |
-
1981
- 1981-09-16 US US06/302,932 patent/US4454580A/en not_active Expired - Lifetime
-
1982
- 1982-07-16 JP JP57123084A patent/JPS5848147A/ja active Granted
- 1982-07-23 EP EP82106643A patent/EP0074479B1/en not_active Expired
- 1982-07-23 DE DE8282106643T patent/DE3275668D1/de not_active Expired
- 1982-08-13 CA CA000409384A patent/CA1172375A/en not_active Expired
- 1982-08-30 MX MX194201A patent/MX158846A/es unknown
- 1982-09-15 ES ES515726A patent/ES515726A0/es active Granted
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61212249A (ja) * | 1985-03-15 | 1986-09-20 | Ajinomoto Co Inc | 飼料用組成物 |
JPH0441982B2 (ja) * | 1985-03-15 | 1992-07-10 | Ajinomoto Kk | |
JPS61212248A (ja) * | 1985-03-18 | 1986-09-20 | Ajinomoto Co Inc | 動物栄養組成物 |
Also Published As
Publication number | Publication date |
---|---|
JPS6259812B2 (ja) | 1987-12-12 |
ES8306894A1 (es) | 1983-06-01 |
MX158846A (es) | 1989-03-17 |
EP0074479B1 (en) | 1987-03-11 |
ES515726A0 (es) | 1983-06-01 |
US4454580A (en) | 1984-06-12 |
CA1172375A (en) | 1984-08-07 |
EP0074479A2 (en) | 1983-03-23 |
DE3275668D1 (en) | 1987-04-16 |
EP0074479A3 (en) | 1984-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5848147A (ja) | プログラム呼出し方式 | |
US3412382A (en) | Shared-access data processing system | |
US3725868A (en) | Small reconfigurable processor for a variety of data processing applications | |
JP3649470B2 (ja) | データ処理装置 | |
US5210874A (en) | Cross-domain call system in a capability based digital data processing system | |
EP0011442B1 (en) | Data processing system having an integrated stack and register machine architecture | |
US4777588A (en) | General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance | |
Gill | Parallel programming | |
US4109311A (en) | Instruction execution modification mechanism for time slice controlled data processors | |
US5038281A (en) | Acceleration of system interrupts between operating systems in guest-host relationship | |
US4031517A (en) | Emulation of target system interrupts through the use of counters | |
US4466056A (en) | Address translation and generation system for an information processing system | |
GB1353925A (en) | Data processing system | |
US3778776A (en) | Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability | |
US3987420A (en) | Electronic computer with equipment for debugging operative programs | |
JPH0664533B2 (ja) | キー入力処理装置 | |
KR100385495B1 (ko) | 워드정렬브랜치타겟을가지는처리시스템 | |
Lavington | The Manchester Mark I and Atlas: a historical perspective | |
Mayer | The architecture of the Burroughs B5000: 20 years later and still ahead of the times? | |
US3623158A (en) | Data processing system including nonassociative data store and associative working and address stores | |
GB1003924A (en) | Indirect addressing system | |
JPH034936B2 (ja) | ||
EP0101718B1 (en) | Computer with automatic mapping of memory contents into machine registers | |
JPS6032220B2 (ja) | 情報処理装置 | |
US5093784A (en) | Data processor with efficient transfer between subroutines and main program |