JPH0421892B2 - - Google Patents
Info
- Publication number
- JPH0421892B2 JPH0421892B2 JP59270331A JP27033184A JPH0421892B2 JP H0421892 B2 JPH0421892 B2 JP H0421892B2 JP 59270331 A JP59270331 A JP 59270331A JP 27033184 A JP27033184 A JP 27033184A JP H0421892 B2 JPH0421892 B2 JP H0421892B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processor
- language
- language processing
- trap
- 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.)
- Expired
Links
Landscapes
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は関数型/論理型言語処理装置、特に、
いわゆるLispマシンやTrologマシン等の専用処
理装置であつて、関数型言語や論理型言語の処理
については、言語処理用プロセツサが処理し、言
語処理単位として与えられたプロセスについての
スケジユーリングおよびトラツプ処理、ガーベ
ジ・コレクシヨン等を、汎用の逐次処理型プロセ
ツサで処理する関数型/論理型言語処理装置に関
するものである。
いわゆるLispマシンやTrologマシン等の専用処
理装置であつて、関数型言語や論理型言語の処理
については、言語処理用プロセツサが処理し、言
語処理単位として与えられたプロセスについての
スケジユーリングおよびトラツプ処理、ガーベ
ジ・コレクシヨン等を、汎用の逐次処理型プロセ
ツサで処理する関数型/論理型言語処理装置に関
するものである。
最近、人工知能の研究が盛んになり、そのプロ
グラミング言語として、Lisp等に代表される関数
型言語や、Prolog等に代表される論理型言語が
注目されている。そして、それらの言語を効率的
に処理する各種専用の処理装置が開発されてい
る。
グラミング言語として、Lisp等に代表される関数
型言語や、Prolog等に代表される論理型言語が
注目されている。そして、それらの言語を効率的
に処理する各種専用の処理装置が開発されてい
る。
第6図は従来のバツクエンド型Lispマシンのシ
ステム例を示している。
ステム例を示している。
第6図において、1は汎用計算機によるホスト
処理装置、2はコンソール・デイスプレイ、3は
磁気デイスク装置等の外部記憶装置、4はチヤネ
ル結合装置等のチヤネル・インタフエース装置、
5′は言語処理用の主記憶、6′は言語処理用プロ
セツサを表す。
処理装置、2はコンソール・デイスプレイ、3は
磁気デイスク装置等の外部記憶装置、4はチヤネ
ル結合装置等のチヤネル・インタフエース装置、
5′は言語処理用の主記憶、6′は言語処理用プロ
セツサを表す。
オペレータとシステムとの交信は、ホスト処理
装置1のコンソール・デイスプレイ2を介して行
われる。例えば、予め外部記憶装置3に用意され
たLispにより記述されたプログラムの実行が要求
されると、ホスト処理装置1は、チヤネル・イン
タフエース装置4を介して、そのプログラムを主
記憶5′に転送し、言語処理用プロセツサ6′へそ
の実行を依頼する。
装置1のコンソール・デイスプレイ2を介して行
われる。例えば、予め外部記憶装置3に用意され
たLispにより記述されたプログラムの実行が要求
されると、ホスト処理装置1は、チヤネル・イン
タフエース装置4を介して、そのプログラムを主
記憶5′に転送し、言語処理用プロセツサ6′へそ
の実行を依頼する。
言語処理用プロセツサ6′は、Lsip言語をマイ
クロプログラム制御により解釈・実行し、処理結
果をチヤネル・インタフエース装置4を介して、
ホスト処理装置1へ通知する。
クロプログラム制御により解釈・実行し、処理結
果をチヤネル・インタフエース装置4を介して、
ホスト処理装置1へ通知する。
言語処理用プロセツサ6′は、Lisp関数やマイ
クロプログラムにより、その制御動作が規定され
るが、ホスト処理装置1からの処理要求を多重に
処理しようとする場合、その各処理要求をスケジ
ユーリングするオペレーテイング・システムが必
要となる。また、主記憶5′に関連して各種トラ
ツプ処理や、主記憶5′上の不要領域を回収する
いわゆるガーベジ・コレクシヨン等の処理を実行
する必要がある。
クロプログラムにより、その制御動作が規定され
るが、ホスト処理装置1からの処理要求を多重に
処理しようとする場合、その各処理要求をスケジ
ユーリングするオペレーテイング・システムが必
要となる。また、主記憶5′に関連して各種トラ
ツプ処理や、主記憶5′上の不要領域を回収する
いわゆるガーベジ・コレクシヨン等の処理を実行
する必要がある。
従来、言語処理用プロセツサ6′が、その命令
体系によつて、処理要求のスケジユーリングや各
種トラツプ処理等を行うようにされているため、
そのオペレーテイング・システムをLisp関数やマ
イクロプログラムにより記述しなければならず、
次のような問題があつた。
体系によつて、処理要求のスケジユーリングや各
種トラツプ処理等を行うようにされているため、
そのオペレーテイング・システムをLisp関数やマ
イクロプログラムにより記述しなければならず、
次のような問題があつた。
スケジユーリングやトラツプ処理中に、ガー
ベジ・コレクシヨンが起きると、制御用情報が
失われることがあるので、ガーベジ・コレクシ
ヨンの対象となるLisp関数を使用することがで
きず、使用可能な関数が制限される。
ベジ・コレクシヨンが起きると、制御用情報が
失われることがあるので、ガーベジ・コレクシ
ヨンの対象となるLisp関数を使用することがで
きず、使用可能な関数が制限される。
マイクロプログラムにより記述した部分は、
デバツグが困難であり、バグが発生した場合、
そのエラー個所の検出や修正が難しい。
デバツグが困難であり、バグが発生した場合、
そのエラー個所の検出や修正が難しい。
特にガーベジ・コレクシヨンに対する対策が
難しく、またオペレーテイング・システムの機
能拡張等を行う場合に、言語処理用プロセツサ
6′が実行可能な命令体系が、オペレーテイン
グ・システムの記述に適していないため、開発
工数が多くかかる。
難しく、またオペレーテイング・システムの機
能拡張等を行う場合に、言語処理用プロセツサ
6′が実行可能な命令体系が、オペレーテイン
グ・システムの記述に適していないため、開発
工数が多くかかる。
本発明は上記問題点の解決を図り、スケジユー
リングやトラツプ処理専用のプロセツサを置き、
従来、言語処理用プロセツサが持つていたオペレ
ーテイング・システムの機能に相当する処理を、
その新たに設けたプロセツサで実行するようにし
て、言語処理用プロセツサの処理負担を軽減する
と共に、言語処理用プロセツサ内に、レジスタ等
がトラツプ発生時に自動的に退避されるハードウ
エアスタツクを設けることにより、トラツプ処理
等を言語処理用プロセツサの外部で処理すること
による処理矛盾の発生を防止したものである。即
ち、本発明の関数型/論理型言語処理装置は、リ
スト処理可能な関数型言語または論理型言語を処
理する関数型/論理型言語処理装置において、言
語処理単位をプロセスとして管理し、該プロセス
に関する実行のスケジユールを行うと共に、ガー
ベジ・コレクシヨンを含むトラツプ処理を実行す
るプロセス制御用プロセツサと、上記各プロセス
に関する関数型言語または論理型言語による処理
をマイクロプログラム制御により実行する言語処
理用プロセツサと、仮想記憶管理がなされ、各プ
ロセスに領域が割り当てられる主記憶と、プロセ
ス制御に関する上記プロセス制御用プロセツサと
上記言語処理用プロセツサとのインタフエース用
メモリとを備えると共に、上記言語処理用プロセ
ツサは、トラツプ発生時に内部状態情報が退避さ
れるシステム用ハードウエアスタツクを備え、上
記プロセス制御用プロセツサは、上記インタフェ
ース用メモリを介して上記言語処理用プロセツサ
に対し処理すべきプロセス環境情報を通知するよ
う構成されていることを特徴としている。以下、
図面を参照しつつ、実施例に従つて説明する。
リングやトラツプ処理専用のプロセツサを置き、
従来、言語処理用プロセツサが持つていたオペレ
ーテイング・システムの機能に相当する処理を、
その新たに設けたプロセツサで実行するようにし
て、言語処理用プロセツサの処理負担を軽減する
と共に、言語処理用プロセツサ内に、レジスタ等
がトラツプ発生時に自動的に退避されるハードウ
エアスタツクを設けることにより、トラツプ処理
等を言語処理用プロセツサの外部で処理すること
による処理矛盾の発生を防止したものである。即
ち、本発明の関数型/論理型言語処理装置は、リ
スト処理可能な関数型言語または論理型言語を処
理する関数型/論理型言語処理装置において、言
語処理単位をプロセスとして管理し、該プロセス
に関する実行のスケジユールを行うと共に、ガー
ベジ・コレクシヨンを含むトラツプ処理を実行す
るプロセス制御用プロセツサと、上記各プロセス
に関する関数型言語または論理型言語による処理
をマイクロプログラム制御により実行する言語処
理用プロセツサと、仮想記憶管理がなされ、各プ
ロセスに領域が割り当てられる主記憶と、プロセ
ス制御に関する上記プロセス制御用プロセツサと
上記言語処理用プロセツサとのインタフエース用
メモリとを備えると共に、上記言語処理用プロセ
ツサは、トラツプ発生時に内部状態情報が退避さ
れるシステム用ハードウエアスタツクを備え、上
記プロセス制御用プロセツサは、上記インタフェ
ース用メモリを介して上記言語処理用プロセツサ
に対し処理すべきプロセス環境情報を通知するよ
う構成されていることを特徴としている。以下、
図面を参照しつつ、実施例に従つて説明する。
第1図は本発明の一実施例システム構成図、第
2図は第1図図示プロセス制御用プロセツサの内
部処理構成図、第3図はシステム用ハードウエア
スタツクの説明図、第4図はトラツプ発生時にお
ける制御を説明するための図、第5図は割込み発
生時における処理説明図を示す。
2図は第1図図示プロセス制御用プロセツサの内
部処理構成図、第3図はシステム用ハードウエア
スタツクの説明図、第4図はトラツプ発生時にお
ける制御を説明するための図、第5図は割込み発
生時における処理説明図を示す。
第1図中、符号1ないし4は第6図に対応し、
5は主記憶、6は言語処理用プロセツサ、7はプ
ロセスのスケジユーリングおよびトラツプ処理等
を実行するプロセス制御用プロセツサ、8はロー
カルメモリ、9はキユーターミナル、10−1な
いし10−2はプロセス管理テーブル、13は高
速メモリ、14は高速メモリ13へのレジスタ退
避状態を示す使用フラグ、15はシステム用ハー
ドウエアスタツク、16は言語処理用プロセツサ
6が言語処理に用いるハードウエアスタツク、1
7はマイクロプログラムが格納される制御メモリ
(CS)、18は演算装置、19はレジスタ・フア
イルをを含む言語処理用プロセツサ内の各種レジ
スタを表す。
5は主記憶、6は言語処理用プロセツサ、7はプ
ロセスのスケジユーリングおよびトラツプ処理等
を実行するプロセス制御用プロセツサ、8はロー
カルメモリ、9はキユーターミナル、10−1な
いし10−2はプロセス管理テーブル、13は高
速メモリ、14は高速メモリ13へのレジスタ退
避状態を示す使用フラグ、15はシステム用ハー
ドウエアスタツク、16は言語処理用プロセツサ
6が言語処理に用いるハードウエアスタツク、1
7はマイクロプログラムが格納される制御メモリ
(CS)、18は演算装置、19はレジスタ・フア
イルをを含む言語処理用プロセツサ内の各種レジ
スタを表す。
ホスト処理装置1とのソフトウエア・インタフ
エースは、第6図に示した従来の例と同様である
と考えてよい。即ち、ホスト処理装置1における
ソフトウエアは、従来のものをそのまま用いるこ
とが可能である。主記憶5は、仮想記憶管理がな
されており、ホスト処理装置1からのLisp言語の
処理要求単位毎に、プロセスという資源の割当て
単位が対応づけられ、各プロセスに主記憶5の領
域が割当てられる。
エースは、第6図に示した従来の例と同様である
と考えてよい。即ち、ホスト処理装置1における
ソフトウエアは、従来のものをそのまま用いるこ
とが可能である。主記憶5は、仮想記憶管理がな
されており、ホスト処理装置1からのLisp言語の
処理要求単位毎に、プロセスという資源の割当て
単位が対応づけられ、各プロセスに主記憶5の領
域が割当てられる。
言語処理用プロセツサ6のハードウエアスタツ
ク16、制御用メモリ17、演算装置18および
各種レジスタ19については、従来のLispマシン
と同様であると考えてよい。即ち、言語処理用プ
ロセツサ6は、予め制御用メモリ17に用意され
たマイクロ命令を、レジスタ19を利用して演算
装置18により実行し、Lisp言語を処理するよう
になつている。ハードウエアスタツク16は、
Lisp関数の情報引き継ぎ等に用いられる。
ク16、制御用メモリ17、演算装置18および
各種レジスタ19については、従来のLispマシン
と同様であると考えてよい。即ち、言語処理用プ
ロセツサ6は、予め制御用メモリ17に用意され
たマイクロ命令を、レジスタ19を利用して演算
装置18により実行し、Lisp言語を処理するよう
になつている。ハードウエアスタツク16は、
Lisp関数の情報引き継ぎ等に用いられる。
本発明の場合、言語処理用プロセツサ6には、
特にシステム用ハードウエアスタツク15が設け
られる。システム用ハードウエアスタツク15
は、言語処理用プロセツサ6の実行を中断させる
トラツプや割込み要求ガ発生した場合に、各種レ
ジスタ19の内容等の言語処理用プロセツサ6に
おける内部状態情報が自動的に格納されるメモリ
回路である。シシテム用ハードウエアスタツク1
5は、例えば第3図に示す如く、ポインタ部21
とレジスタ格納部22とからなり、レジスタ格納
部22は、各プロセスに対応してブロツク化され
ている。ポインタ部21は、プロセスを一意に識
別するプロセス番号PNOによりアクセスされ、
そのプロセスのレジスタ情報等が格納されるレジ
スタ格納部22の領域を指示する。
特にシステム用ハードウエアスタツク15が設け
られる。システム用ハードウエアスタツク15
は、言語処理用プロセツサ6の実行を中断させる
トラツプや割込み要求ガ発生した場合に、各種レ
ジスタ19の内容等の言語処理用プロセツサ6に
おける内部状態情報が自動的に格納されるメモリ
回路である。シシテム用ハードウエアスタツク1
5は、例えば第3図に示す如く、ポインタ部21
とレジスタ格納部22とからなり、レジスタ格納
部22は、各プロセスに対応してブロツク化され
ている。ポインタ部21は、プロセスを一意に識
別するプロセス番号PNOによりアクセスされ、
そのプロセスのレジスタ情報等が格納されるレジ
スタ格納部22の領域を指示する。
プロセス制御用プロセツサ7は、ローカルメモ
リ8に予め用意された命令をフエツチして実行す
る装置であつて、例えばミニ・コンピユータやマ
イクロ・コンピユータ等によつて実現される。プ
ロセス制御用プロセツサ7は、従来、言語処理用
プロセツサ6が処理していたオペレーテイング・
システムに相当する処理を専用に処理する。即
ち、ホスト処理装置1からの要求によるプロセス
の制御や、主記憶5の仮想記憶管理に伴つて生じ
るトラツプ処理等を、機械語命令を逐次処理する
ことにより実行する。各プロセスに関する情報
は、プロセス管理テーブル10−1,…により、
管理され、プロセス管理テーブル10−1,…
は、処理要求順や待ち状態によつて、キユーター
ミナル9からキユーイングされて、管理される。
リ8に予め用意された命令をフエツチして実行す
る装置であつて、例えばミニ・コンピユータやマ
イクロ・コンピユータ等によつて実現される。プ
ロセス制御用プロセツサ7は、従来、言語処理用
プロセツサ6が処理していたオペレーテイング・
システムに相当する処理を専用に処理する。即
ち、ホスト処理装置1からの要求によるプロセス
の制御や、主記憶5の仮想記憶管理に伴つて生じ
るトラツプ処理等を、機械語命令を逐次処理する
ことにより実行する。各プロセスに関する情報
は、プロセス管理テーブル10−1,…により、
管理され、プロセス管理テーブル10−1,…
は、処理要求順や待ち状態によつて、キユーター
ミナル9からキユーイングされて、管理される。
高速メモリ13は、プロセス制御用プロセツサ
7と言語処理用プロセツサ6とのインタフエース
用のキヤツシユ・メモリである。例えば、言語処
理用プロセツサ6が処理するプロセスの切換え時
に、システム用ハードウエアスタツク15に退避
されたレジスタ情報等が、高速メモリ13にセー
ブされ、新たに実行すべきプロセスのレジスタ情
報等が、高速メモリ13を介して、プロセス制御
用プロセツサ7から言語処理用プロセツサ6へ引
き渡される。使用フラグ14は、システム用ハー
ドウエアスタツク15の内容が、高速メモリ13
に格納されたか否かを、プロセス制御用プロセツ
サ7に通知するためのフラグである。
7と言語処理用プロセツサ6とのインタフエース
用のキヤツシユ・メモリである。例えば、言語処
理用プロセツサ6が処理するプロセスの切換え時
に、システム用ハードウエアスタツク15に退避
されたレジスタ情報等が、高速メモリ13にセー
ブされ、新たに実行すべきプロセスのレジスタ情
報等が、高速メモリ13を介して、プロセス制御
用プロセツサ7から言語処理用プロセツサ6へ引
き渡される。使用フラグ14は、システム用ハー
ドウエアスタツク15の内容が、高速メモリ13
に格納されたか否かを、プロセス制御用プロセツ
サ7に通知するためのフラグである。
プロセス制御用プロセツサ7の内部処理構成
は、例えば第2図図示のようになつている。割込
み解析部30は、トラツプや通常の割込みが発生
した場合に制御が移行され、その割込み原因を解
析して、割込みに対応する各種処理部を起動する
ものである。
は、例えば第2図図示のようになつている。割込
み解析部30は、トラツプや通常の割込みが発生
した場合に制御が移行され、その割込み原因を解
析して、割込みに対応する各種処理部を起動する
ものである。
割込み解析部30の起動原因が、例えばメモリ
に関連するトラツプである場合には、トラツプ処
理部31が呼び出され、トラツプ処理部31は、
そのトラツプの要求する処理を実行する。また、
ガーベジ・コレクシヨンの場合には、ガーベジ・
コレクタ32が起動され、ガーベジ・コレクタ3
2は、不要となつた主記憶5上の領域を回収する
処理を実行する。トラツプ処理部31およびガー
ベジ・コレクタ32の処理は、マイクロ命令や
Lisp関数等によつて記述する必要がなく、通常の
汎用計算機等が用いる言語を使用することができ
るので、比較的容易に作成することができる。
に関連するトラツプである場合には、トラツプ処
理部31が呼び出され、トラツプ処理部31は、
そのトラツプの要求する処理を実行する。また、
ガーベジ・コレクシヨンの場合には、ガーベジ・
コレクタ32が起動され、ガーベジ・コレクタ3
2は、不要となつた主記憶5上の領域を回収する
処理を実行する。トラツプ処理部31およびガー
ベジ・コレクタ32の処理は、マイクロ命令や
Lisp関数等によつて記述する必要がなく、通常の
汎用計算機等が用いる言語を使用することができ
るので、比較的容易に作成することができる。
割込み解析部30の起動原因が、プロセス間通
信や、ホスト処理装置1からの処理要求等である
場合には、スケジユーラ33が起動される。スケ
ジユーラ33は、処理要求の具体的な内容によ
り、次のようにプロセス制御を行う。要求が、ホ
スト処理装置1からのプロセス開設要求である場
合、LOGON処理部37を呼び出し、プロセス管
理テーブルを作成して、新たなプロセスを発生さ
せる。また、プロセス終了要求である場合には、
TSSEND処理部34を呼び出して、そのプロセ
スを抹消する処理を実行する。
信や、ホスト処理装置1からの処理要求等である
場合には、スケジユーラ33が起動される。スケ
ジユーラ33は、処理要求の具体的な内容によ
り、次のようにプロセス制御を行う。要求が、ホ
スト処理装置1からのプロセス開設要求である場
合、LOGON処理部37を呼び出し、プロセス管
理テーブルを作成して、新たなプロセスを発生さ
せる。また、プロセス終了要求である場合には、
TSSEND処理部34を呼び出して、そのプロセ
スを抹消する処理を実行する。
例えば入出力命令の完了等、プロセスへの通知
事象が発生した場合には、POST処理部36を呼
び出し、そのプロセスの待ち状態を解除し、実行
可能状態に再キユーイングする処理を実行する。
一方、プロセスが事象発生待ち要求を発した場合
には、WAIT処理部35によつて、そのプロセ
スを待ち状態に設定する。
事象が発生した場合には、POST処理部36を呼
び出し、そのプロセスの待ち状態を解除し、実行
可能状態に再キユーイングする処理を実行する。
一方、プロセスが事象発生待ち要求を発した場合
には、WAIT処理部35によつて、そのプロセ
スを待ち状態に設定する。
他のプロセスを実行させることができる状態に
なると、スリープ処理部38へ制御が移行され
る。スリープ処理部38は、プロセス管理テーブ
ルを参照し、実行可能なプロセスを選択し、主記
憶環境設定部39へ制御を渡す。主記憶環境設定
部39は、選択されたプロセスに関する主記憶5
上の仮想記憶環境を整える処理を実行する。次に
タイマ関係制御部40により、そのプロセスの処
理時間等に関連する時間情報の切換えを行う。そ
して、プロセス切換え部41を起動する。プロセ
ス切換え部41は、新たに実行するプロセスのプ
ロセス管理テーブルから、レジスタ情報等を取り
出し、高速メモリ13にその内容を格納して、プ
ロセス環境を設定する。そして、言語処理用プロ
セツサ6へ処理要求を発する。これによつて、新
たなプロセスが、言語処理用プロセツサ6によつ
て処理されることになる。
なると、スリープ処理部38へ制御が移行され
る。スリープ処理部38は、プロセス管理テーブ
ルを参照し、実行可能なプロセスを選択し、主記
憶環境設定部39へ制御を渡す。主記憶環境設定
部39は、選択されたプロセスに関する主記憶5
上の仮想記憶環境を整える処理を実行する。次に
タイマ関係制御部40により、そのプロセスの処
理時間等に関連する時間情報の切換えを行う。そ
して、プロセス切換え部41を起動する。プロセ
ス切換え部41は、新たに実行するプロセスのプ
ロセス管理テーブルから、レジスタ情報等を取り
出し、高速メモリ13にその内容を格納して、プ
ロセス環境を設定する。そして、言語処理用プロ
セツサ6へ処理要求を発する。これによつて、新
たなプロセスが、言語処理用プロセツサ6によつ
て処理されることになる。
次にトラツプ発生時における制御を、第4図に
従つて説明する。
従つて説明する。
トラツプが発生すると、言語処理用プロセツ
サ6における処理が中断され、言語処理用プロ
セツサ6が現在使用しているレジスタ情報等
が、システム用ハードウエアスタツク15へセ
ーブされる。
サ6における処理が中断され、言語処理用プロ
セツサ6が現在使用しているレジスタ情報等
が、システム用ハードウエアスタツク15へセ
ーブされる。
それと同時にプロセス制御用プロセツサ7へ
トラツプ要求が伝達され、プロセス制御用プロ
セツサ7は、そのトラツプ要求に対応する処理
を実行する。トラツプ切換えフラグ50は、ト
ラツプが通常のトラツプであるか、ガーベジ・
コレクシヨンを要求するトラツプであるかを示
すフラグであり、このフラグがONのとき、ガ
ーベジ・コレクタ32により、ガーベジ・コレ
クシヨンが実行される。なお、ガーベジ・コレ
クシヨンは、そのガーベジ・コレクシヨン要求
が起きたユーザ・プロセスの領域が対象とさ
れ、その実行の間、言語処理用プロセツサ6
は、プロセス切換えにより、他のユーザ・プロ
セスを処理できる。
トラツプ要求が伝達され、プロセス制御用プロ
セツサ7は、そのトラツプ要求に対応する処理
を実行する。トラツプ切換えフラグ50は、ト
ラツプが通常のトラツプであるか、ガーベジ・
コレクシヨンを要求するトラツプであるかを示
すフラグであり、このフラグがONのとき、ガ
ーベジ・コレクタ32により、ガーベジ・コレ
クシヨンが実行される。なお、ガーベジ・コレ
クシヨンは、そのガーベジ・コレクシヨン要求
が起きたユーザ・プロセスの領域が対象とさ
れ、その実行の間、言語処理用プロセツサ6
は、プロセス切換えにより、他のユーザ・プロ
セスを処理できる。
プロセス制御用プロセツサ7は、トラツプ処
理が終了すると、その終了を言語処理用プロセ
ツサ6へ通知する。
理が終了すると、その終了を言語処理用プロセ
ツサ6へ通知する。
言語処理用プロセツサ6は、トラツプ終了通
知を受けると、システム用ハードウエアスタツ
ク15にセーブしておいたレジスタ情報等をロ
ードする。
知を受けると、システム用ハードウエアスタツ
ク15にセーブしておいたレジスタ情報等をロ
ードする。
そして、トラツプが起きたプロセスの実行を
再開する。なお、プロセス制御用プロセツサ7
におけるトラツプ処理において、主記憶5上の
プログラム等のスワツプイン/スワツプアウト
が発生した場合には、後述する割込み処理の場
合と同様にして、プロセス切換えを行い、他の
実行可能なプロセスの処理を実行する。
再開する。なお、プロセス制御用プロセツサ7
におけるトラツプ処理において、主記憶5上の
プログラム等のスワツプイン/スワツプアウト
が発生した場合には、後述する割込み処理の場
合と同様にして、プロセス切換えを行い、他の
実行可能なプロセスの処理を実行する。
トラツプ以外の割込みが発生した場合には、
第5図に示すように制御される。
第5図に示すように制御される。
言語処理用プロセツサ6は、割込み要求に
対し、レジスタ情報等を高速メモリ13にセー
ブする。なお、高速メモリ13へのレジスタ情
報等のセーブ中には、使用フラグ14をONに
セツトし、セーブが終了したときに、使用フラ
グ14をOFFにする。
対し、レジスタ情報等を高速メモリ13にセー
ブする。なお、高速メモリ13へのレジスタ情
報等のセーブ中には、使用フラグ14をONに
セツトし、セーブが終了したときに、使用フラ
グ14をOFFにする。
それと同時にプロセス制御用プロセツサ7
は、割込み要求の解析を行い、スケジユーラ3
3によるプロセスのスケジユーリング、および
デイスパツチ処理を行う。
は、割込み要求の解析を行い、スケジユーラ3
3によるプロセスのスケジユーリング、および
デイスパツチ処理を行う。
デイスパツチ処理において、言語処理用プロ
セツサ6のレジスタ情報等を使用するとき、使
用フラグ14を参照して、セーブが終了してい
るかどうかをチエツクする。終了していれば、
そのレジスタ情報等を当該割込みに関連するプ
ロセス管理テーブルに設定する。
セツサ6のレジスタ情報等を使用するとき、使
用フラグ14を参照して、セーブが終了してい
るかどうかをチエツクする。終了していれば、
そのレジスタ情報等を当該割込みに関連するプ
ロセス管理テーブルに設定する。
次に、新たに実行すべきプロセスのレジスタ
情報等をそのプロセス管理テーブルから得て、
高速メモリ13に設定する。
情報等をそのプロセス管理テーブルから得て、
高速メモリ13に設定する。
そして、言語処理用プロセツサ6へ割込みに
よるスケジユーリングの終了を通知する。プロ
セス制御用プロセツサ7は、その後、次の割込
み等によるスケジユーリング契機を待つ。
よるスケジユーリングの終了を通知する。プロ
セス制御用プロセツサ7は、その後、次の割込
み等によるスケジユーリング契機を待つ。
言語処理用プロセツサ6は、プロセス制御用
プロセツサ7から、スケジユーリング終了通知
を受けると、高速メモリ13から新たなプロセ
スに係るレジスタ情報等をロードする。
プロセツサ7から、スケジユーリング終了通知
を受けると、高速メモリ13から新たなプロセ
スに係るレジスタ情報等をロードする。
言語処理用プロセツサ6へ、新たなプロセス
のレジスタ情報等が設定されることにより、そ
の後、言語処理用プロセツサ6は、切換わつた
プロセスの処理を実行することとなる。
のレジスタ情報等が設定されることにより、そ
の後、言語処理用プロセツサ6は、切換わつた
プロセスの処理を実行することとなる。
上記実施例では、言語処理用プロセツサ6とし
て、Lisp言語を扱うものについて説明したが、い
わゆる、Prologマシン等、他の言語処理専用の
処理装置に対しても、同様にプロセス制御用プロ
セツサ7によつて、各種トラツプ処理およびプロ
セスのスケジユーリング処理を実行できることは
言うまでもない。
て、Lisp言語を扱うものについて説明したが、い
わゆる、Prologマシン等、他の言語処理専用の
処理装置に対しても、同様にプロセス制御用プロ
セツサ7によつて、各種トラツプ処理およびプロ
セスのスケジユーリング処理を実行できることは
言うまでもない。
以上説明した如く、本発明によれば、従来、言
語処理用プロセツサの命令処理体系では困難であ
つたトラツプ処理やスケジユーリング処理につい
て、通常の計算機の命令処理機能により実行する
ことが可能になる。従つて、開発が容易になると
共に、デバツタも容易になり、機能変更や拡張に
対しても柔軟に対処できるようになる。また、言
語処理用プロセツサの処理負担が軽くなることか
ら、処理性能が向上する。
語処理用プロセツサの命令処理体系では困難であ
つたトラツプ処理やスケジユーリング処理につい
て、通常の計算機の命令処理機能により実行する
ことが可能になる。従つて、開発が容易になると
共に、デバツタも容易になり、機能変更や拡張に
対しても柔軟に対処できるようになる。また、言
語処理用プロセツサの処理負担が軽くなることか
ら、処理性能が向上する。
第1図は本発明の一実施例システム構成図、第
2図は第1図図示プロセス制御用プロセツサの内
部処理構成図、第3図はシステム用ハードウエア
スタツクの説明図、第4図はトラツプ発生時にお
ける制御を説明するための図、第5図は割込み発
生時における処理説明図、第6図は従来のバツク
エンド型Lispマシンのシステム例を示す。 図中、1はホスト処理装置、2はコンソール・
デイスプレイ、3は外部記憶装置、4はチヤネ
ル・インタフエース装置、5は主記憶、6は言語
処理用プロセツサ、7はプロセス制御用プロセツ
サ、8はローカルメモリ、9はキユーターミナ
ル、10−1ないし10−2はプロセス管理テー
ブル、13は高速メモリ、14は使用フラグ、1
5はシステム用ハードウエアスタツク、16はハ
ードウエアスタツク、17は制御用メモリ、18
は演算装置、19はレジスタを表す。
2図は第1図図示プロセス制御用プロセツサの内
部処理構成図、第3図はシステム用ハードウエア
スタツクの説明図、第4図はトラツプ発生時にお
ける制御を説明するための図、第5図は割込み発
生時における処理説明図、第6図は従来のバツク
エンド型Lispマシンのシステム例を示す。 図中、1はホスト処理装置、2はコンソール・
デイスプレイ、3は外部記憶装置、4はチヤネ
ル・インタフエース装置、5は主記憶、6は言語
処理用プロセツサ、7はプロセス制御用プロセツ
サ、8はローカルメモリ、9はキユーターミナ
ル、10−1ないし10−2はプロセス管理テー
ブル、13は高速メモリ、14は使用フラグ、1
5はシステム用ハードウエアスタツク、16はハ
ードウエアスタツク、17は制御用メモリ、18
は演算装置、19はレジスタを表す。
Claims (1)
- 【特許請求の範囲】 1 リスト処理可能な関数型言語または論理型言
語を処理する関数型/論理型言語処理装置におい
て、 言語処理単位をプロセスとして管理し、該プロ
セスに関する実行のスケジユールを行うと共に、
ガーベジ・コレクシヨンを含むトラツプ処理を実
行するプロセス制御用プロセツサと、 上記各プロセスに関する関数型言語または論理
型言語による処理をマイクロプログラム制御によ
り実行する言語処理用プロセツサと、 仮想記憶管理がなされ、各プロセスに領域が割
り当てられる主記憶と、 プロセス制御に関する上記プロセス制御用プロ
セツサと上記言語処理用プロセツサとのインタフ
エース用メモリとを備えると共に、 上記言語処理用プロセツサは、トラツプ発生時
に内部状態情報が退避されるシステム用ハードウ
エアスタツクを備え、 上記プロセス制御用プロセツサは、上記インタ
フエース用メモリを介して上記言語処理用プロセ
ツサに対し処理すべきプロセス環境情報を通知す
るよう構成されていることを特徴とする関数型/
論理型言語処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59270331A JPS61148535A (ja) | 1984-12-21 | 1984-12-21 | 関数型/論理型言語処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59270331A JPS61148535A (ja) | 1984-12-21 | 1984-12-21 | 関数型/論理型言語処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61148535A JPS61148535A (ja) | 1986-07-07 |
| JPH0421892B2 true JPH0421892B2 (ja) | 1992-04-14 |
Family
ID=17484767
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59270331A Granted JPS61148535A (ja) | 1984-12-21 | 1984-12-21 | 関数型/論理型言語処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61148535A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01180044A (ja) * | 1988-01-11 | 1989-07-18 | Mitsubishi Electric Corp | データ処理装置 |
| 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 |
-
1984
- 1984-12-21 JP JP59270331A patent/JPS61148535A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61148535A (ja) | 1986-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6513057B1 (en) | Heterogeneous symmetric multi-processing system | |
| EP2316069B1 (en) | Lazy handling of end of interrupt messages in a virtualized environment | |
| US8607009B2 (en) | Concurrent virtual machine snapshots and restore | |
| JP3659062B2 (ja) | 計算機システム | |
| US5799188A (en) | System and method for managing variable weight thread contexts in a multithreaded computer system | |
| KR930000592B1 (ko) | 타스크 추적장치 | |
| CN111459623B (zh) | 应用程序恢复运行的方法、装置及计算机 | |
| EP0491342A2 (en) | Method for fast communication between user program and operating system | |
| JPH0895821A (ja) | マルチタスクのプログラムデバッグ方法とその装置 | |
| JPH05197568A (ja) | コンピュータ・システムおよびイベント管理方法 | |
| US20240126593A1 (en) | User-mode interrupt request processing method and apparatus | |
| JPH04137046A (ja) | 電子計算機のオペレーティングシステム | |
| US10241829B2 (en) | Information processing device, information processing method, recording medium, calculation processing device, calculation processing method | |
| CN105893320A (zh) | 一种面向多核处理器的远程任务函数调用方法 | |
| JPH05216689A (ja) | コンピュータ装置およびコンピュータ装置を動作させる方法 | |
| WO2023169289A1 (zh) | 一种进程的执行状态切换方法及装置 | |
| JPH0421892B2 (ja) | ||
| US20210208928A1 (en) | Interrupt servicing in userspace | |
| JPS603229B2 (ja) | 情報処理方式 | |
| JPH0192843A (ja) | データ処理装置 | |
| JP2866588B2 (ja) | 処理プロセス間で制御の移転を行うシステムおよび方法 | |
| JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
| JP2003005987A (ja) | エミュレーション装置 | |
| JP2542573B2 (ja) | システムフリ−ズリスタ−ト方式 | |
| JPS6346861B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |