JPS61148535A - Function type/logical type language processor - Google Patents

Function type/logical type language processor

Info

Publication number
JPS61148535A
JPS61148535A JP27033184A JP27033184A JPS61148535A JP S61148535 A JPS61148535 A JP S61148535A JP 27033184 A JP27033184 A JP 27033184A JP 27033184 A JP27033184 A JP 27033184A JP S61148535 A JPS61148535 A JP S61148535A
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.)
Granted
Application number
JP27033184A
Other languages
Japanese (ja)
Other versions
JPH0421892B2 (en
Inventor
Yoshifusa Togawa
好房 外川
Shinichi Shimizu
慎一 清水
Akio Shinagawa
明雄 品川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP27033184A priority Critical patent/JPS61148535A/en
Publication of JPS61148535A publication Critical patent/JPS61148535A/en
Publication of JPH0421892B2 publication Critical patent/JPH0421892B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To execute easily development and debug, and also to cope flexibly with a function change and extension by placing an exclusive processor for scheduling an trap processing, and providing a hardware stack by which a register, etc. are saved automatically when a trap is generated, in a language processing processor. CONSTITUTION:A language processing processor 6 is constituted so that a micro-instruction prepared in advance in a control memory 17 is executed by an arithmetic unit 18 by utilizing a register 19, and an Lisp language is processed. A hardware stack 16 is used for transfer, etc. of information of an Lisp function. On the language processing processor 6, especially, a system use hardware stack 15 is provided. The system use hardware stack 15 is a memory circuit in which internal state information in the language processing processor 6 of the contents, etc. of various registers is stored automatically, in case a trap or an interruption request for discontinuing an execution of the language processing processor 6 is generated.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は関数型/論理型言語処理装置、特に。[Detailed description of the invention] [Industrial application field] The present invention relates to a functional/logical language processing device, and particularly to a functional/logical language processing device.

いわゆるL ispマシンやP rologマシン等の
専用処理装置であって、関数型言語や論理型言語の処理
については、言語処理用プロセッサが処理し。
A language processing processor is a dedicated processing device such as a so-called Lisp machine or a Prolog machine, and processes a functional language or a logical language.

言語処理単位として与えられたプロセスについてのスケ
ジューリングおよびトラップ処理、ガーベジ・コレクシ
ョン等を、汎用の逐次処理型プロセッサで処理する関数
型/論理型言語処理装置に関するものである。
The present invention relates to a functional/logical language processing device that uses a general-purpose sequential processor to process scheduling, trap processing, garbage collection, etc. for a process given as a language processing unit.

〔従来の技術と問題点〕[Conventional technology and problems]

最近1人工知能の研究が盛んになり、そのプログラミン
グ言語として、  Li5p等に代表される関数型言語
や、  P rolog等に代表される論理型言語が注
目されている。そして、それらの言語を効率的に処理す
る各種専用の処理装置が開発されている。
Research on artificial intelligence has recently become active, and functional languages such as Li5p and logical languages such as Prolog are attracting attention as programming languages. Various specialized processing devices have been developed to efficiently process these languages.

第6図は従来のバンクエンド型Li5pマシンのシステ
ム例を示している。
FIG. 6 shows a system example of a conventional bank-end type Li5p machine.

第6図において、1は汎用計算機によるホスト処理装置
、2はコンソール・ディスプレイ、3は磁気ディスク装
置等の外部記憶装置、4はチャネル結合装置等のチャネ
ル・インタフェース装置。
In FIG. 6, reference numeral 1 denotes a host processing unit made of a general-purpose computer, 2 a console display, 3 an external storage device such as a magnetic disk device, and 4 a channel interface device such as a channel coupling device.

5′は言語処理用の主記憶、6′は言語処理用プロセッ
サを表す。
5' represents a main memory for language processing, and 6' represents a processor for language processing.

オペレータとシステムとの交信は、ホスト処理装置1の
コンソール・ディスプレイ2を介して行われる。例えば
、予め外部記憶装置3に用意されたL ispにより記
述されたプログラムの実行が要求されると、ホスト処理
装置1は、チャネル・インタフェース装置4を介して、
そのプログラムを主記憶5′に転送し、言語処理用プロ
セッサ6′へその実行を依頼する。
Operator interaction with the system is via the console display 2 of the host processor 1. For example, when a request is made to execute a program written in Lisp prepared in advance in the external storage device 3, the host processing device 1, via the channel interface device 4,
The program is transferred to the main memory 5' and the language processing processor 6' is requested to execute it.

言語処理用プロセッサ6′は、  Li5p言語をマイ
クロプログラム制御により解釈・実行し、処理結果をチ
ャネル・インタフェース装置4を介して。
The language processing processor 6' interprets and executes the Li5p language under microprogram control, and sends the processing results through the channel interface device 4.

ホスト処理装置lへ通知する。Notify host processing device l.

言語処理用プロセッサ6′は、  Li5p関数やマイ
クロプログラムにより、その制御動作が規定されるが、
ホスト処理装置1からの処理要求を多重に処理しようと
する場合、その各処理要求をスケジューリングするオペ
レーティング・システムが必要となる。また、主記憶5
′に関連して各種トラップ処理や、主記憶5′上の不要
領域を回収するいわゆるガーベジ・コレクション等の処
理を実行する必要がある。
The control operations of the language processing processor 6' are defined by Li5p functions and microprograms.
When attempting to process multiple processing requests from the host processing device 1, an operating system is required to schedule each processing request. Also, main memory 5
In connection with ', it is necessary to perform various types of trap processing and processing such as so-called garbage collection to collect unnecessary areas on the main memory 5'.

゛  従来、言語処理用プロセッサ6′が、その命令体
系によって、処理要求のスケジューリングや各種トラッ
プ処理等を行うようにされているため、そのオペレーテ
ィング・システムをL isp関数やマイクロプログラ
ムにより記述しなければならず。
゛ Conventionally, the language processing processor 6' has been configured to perform processing request scheduling, various trap processing, etc. using its instruction system, so the operating system must be written using Lisp functions or microprograms. Not.

次のような問題があった。There were the following problems.

■ スケジューリングやトラップ処理中に、ガーベジ・
コレクションが起きると、制御用情報が失われることが
あるので、ガーベジ・コレクションの対象となるL i
sp関数を使用することができず。
■ During scheduling and trap processing, garbage
When collection occurs, control information may be lost, so Li
Unable to use sp function.

使用可能な関数が制限される。Available functions are limited.

■ マイクロプログラムにより記述した部分は。■ The part written by microprogram.

デバツグが困難であり、バグが発生した場合、そのエラ
ー個所の検出や修正が難しい。
Debugging is difficult, and when a bug occurs, it is difficult to detect and correct the error location.

■ 特にガーベジ・コレクションに対する対策が難しく
、またオペレーティング・システムの機能拡張等を行う
場合に、言語処理用プロセッサ6′が実行可能な命令体
系が、オペレーティング・システムの記述に通していな
いため、開発工数が多くかかる。
■ It is particularly difficult to take measures against garbage collection, and when extending the functionality of the operating system, the instruction system that can be executed by the language processing processor 6' is not included in the operating system description, which reduces development man-hours. It costs a lot.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は上記問題点の解決を図り、スケジューリングや
トラップ処理専用のプロセッサを置き。
The present invention aims to solve the above problems by providing a processor dedicated to scheduling and trap processing.

従来、言語処理用プロセッサが持っていたオペレーティ
ング・システムの機能に相当する処理を。
Processing that corresponds to the functions of an operating system, which was traditionally carried out by language processing processors.

その新たに設けたプロセッサで実行するようにして、言
語処理用プロセッサの処理負担を軽減すると共に、言語
処理用プロセッサ内に、レジスタ等がトラップ発生時に
自動的に退避されるハードウェアスタックを設けること
により、トラップ処理等を言語処理用プロセッサの外部
で処理することによる処理矛盾の発生を防止したもので
ある。即ち2本発明の関数型/論理型言語処理装置は、
リスト処理可能な関数型言語または論理型言語を処理す
る関数型/論理型言語処理装置において、言語処理単位
をプロセスとして管理し該プロセスに関する実行のスケ
ジュールを行うと共にガーベジ・コレクションを含むト
ラップ処理を実行するプロセス制御用プロセッサと、上
記各プロセスに関する関数型言語または論理型言語によ
る処理をマイクロプログラム制御により実行する言語処
理用プロセッサと、プロセス制御に関する上記プロセス
制御用プロセッサと上記言語処理用プロセッサとのイン
タフェース用メモリとを備えると共に。
In addition to reducing the processing load on the language processing processor by running it on the newly installed processor, the language processing processor also provides a hardware stack in which registers and the like are automatically saved when a trap occurs. This prevents processing conflicts from occurring due to trap processing and the like being processed outside the language processing processor. In other words, the functional/logical language processing device of the present invention has the following features:
In a functional/logical language processing device that processes a functional language or a logical language capable of list processing, the language processing unit is managed as a process, execution is scheduled for the process, and trap processing including garbage collection is executed. a language processing processor that executes processing using a functional language or a logical language regarding each of the above processes under microprogram control; and an interface between the process control processor and the language processing processor regarding process control. It also has a memory for use.

上記言語処理用プロセッサは、トラップ発生時に内部状
態情報が退避されるシステム用ハードウェアスタックを
備え、上記プロセス制御用プロセッサは、上記インタフ
ェース用メモリを介して上記言語処理用プロセッサに対
し処理すべきプロセス環境情報を通知するよう構成され
ていることを特徴としている。以下1図面を参照しつつ
、実施例に従って説明する。
The language processing processor includes a system hardware stack in which internal state information is saved when a trap occurs, and the process control processor transmits the process to be processed to the language processing processor via the interface memory. It is characterized by being configured to notify environmental information. An embodiment will be described below with reference to one drawing.

〔実施例〕〔Example〕

第1図は本発明の一実施例システム構成図、第2図は第
1図図示プロセス制御用プロセッサの内部処理構成図、
第3図はシステム用ハードウェアスタックの説明図、第
4図はトラップ発生時における制御を説明するための図
、第5図は割込み発生時における処理説明図を示す。
FIG. 1 is a system configuration diagram of an embodiment of the present invention, FIG. 2 is an internal processing configuration diagram of the process control processor shown in FIG. 1,
FIG. 3 is an explanatory diagram of the system hardware stack, FIG. 4 is an explanatory diagram of control when a trap occurs, and FIG. 5 is an explanatory diagram of processing when an interrupt occurs.

第1図中、符号1ないし4は第6図に対応し。In FIG. 1, numerals 1 to 4 correspond to FIG. 6.

5は主記憶、6は言語処理用プロセッサ、7はプロセス
のスケジューリングおよびトラップ処理等を実行するプ
ロセス制御用プロセッサ、8はローカルメモリ、9はキ
ューターミナル、10−1ないし10−2はプロセス管
理テーブル、13は高速メモリ、14は高速メモリ13
へのレジスタ退避状態を示す使用フラグ、15はシステ
ム用ハードウェアスタック、16は言語処理用プロセッ
サ6が言語処理に用いるハードウェアスタック、17は
マイクロプログラムが格納される制御用メモリ (C3
)、18は演算装置、19はレジスタ・ファイルをを含
む言語処理用プロセッサ内の各種レジスタを表す。
5 is a main memory, 6 is a language processing processor, 7 is a process control processor that executes process scheduling and trap processing, etc., 8 is a local memory, 9 is a queue terminal, and 10-1 and 10-2 are process management tables. , 13 is high-speed memory, 14 is high-speed memory 13
15 is a system hardware stack, 16 is a hardware stack used by the language processing processor 6 for language processing, and 17 is a control memory in which a microprogram is stored (C3
), 18 represents an arithmetic unit, and 19 represents various registers in the language processing processor including a register file.

ホスト処理装置1とのソフトウェア・インタフェースは
、第6図に示した従来の例と同様であると考えてよい。
The software interface with the host processing device 1 may be considered to be similar to the conventional example shown in FIG.

即ち、ホスト処理装置1におけるソフトウェアは、従来
のものをそのまま用いることが可能である。主記憶5は
、仮想記憶管理がなされており、ホスト処理装置1から
のLi5p言語の処理要求単位毎に、プロセスという資
源の割当て単位が対応づけられ、各プロセスに主記憶5
の領域が割当てられる。
That is, the conventional software in the host processing device 1 can be used as is. The main memory 5 is managed by virtual memory, and each Li5p language processing request unit from the host processing device 1 is associated with a resource allocation unit called a process.
area is allocated.

言語処理用プロセッサ6のハードウェアスタック16.
制−用メモリ17.演算装置18および各種レジスタ1
9については、従来のL ispマシンと同様であると
考えてよい。即ち、言語処理用プロセッサ6は、予め制
御用メモリ17に用意されたマイクロ命令を、レジスタ
19を利用して演算装置18により実行し、  Li5
p言語を処理するようになっている。ハードウェアスタ
ック16は。
Hardware stack 16 of language processing processor 6.
Control memory 17. Arithmetic unit 18 and various registers 1
9 can be considered to be similar to a conventional Lisp machine. That is, the language processing processor 6 executes microinstructions prepared in advance in the control memory 17 by the arithmetic unit 18 using the register 19, and
It is designed to process p language. The hardware stack 16 is.

L isp関数の情報引き継ぎ等に用いられる。L Used for information inheritance of the isp function.

本発明の場合、言語処理用プロセッサ6には。In the case of the present invention, the language processing processor 6 includes:

特にシステム用ハードウェアスタック15が設けられる
。システム用ハードウェアスタック15は。
In particular, a system hardware stack 15 is provided. The system hardware stack 15 is.

言語処理用プロセッサ6の実行を中断させるトラップや
割込み要求が発生した場合に、各種レジスタ19の内容
等の言語処理用プロセッサ6における内部状態情報が自
動的に格納されるメモリ回路である。システム用ハード
ウェアスタック15は。
This is a memory circuit in which internal state information in the language processing processor 6, such as the contents of various registers 19, is automatically stored when a trap or interrupt request that interrupts the execution of the language processing processor 6 occurs. The system hardware stack 15 is.

例えば第3図に示す如く、ポインタ部21とレジスタ格
納部22とからなり、レジスタ格納部22は、各プロセ
スに対応してブロック化されている。
For example, as shown in FIG. 3, it consists of a pointer section 21 and a register storage section 22, and the register storage section 22 is divided into blocks corresponding to each process.

ポインタ部21は、プロセスを一意に識別するプロセス
番号PNOによりアクセスされ、そのプロセスのレジス
タ情報等が格納されるレジスタ格納部22の領域を指示
する。
The pointer section 21 is accessed by a process number PNO that uniquely identifies a process, and points to an area of the register storage section 22 in which register information and the like of the process is stored.

プロセス制御用プロセッサ7は、ローカルメモリ8に予
め用意された命令をフェッチして実行する装置であって
1例えばミニ・コンピュータやマイクロ・コンピュータ
等によって実現される。プロセス制御用プロセッサ7は
、従来、言語処理用プロセッサ6が処理していたオペレ
ーティング・システムに相当する処理を専用に処理する
。即ち。
The process control processor 7 is a device that fetches and executes instructions prepared in advance in the local memory 8, and is realized by, for example, a minicomputer, a microcomputer, or the like. The process control processor 7 exclusively processes processing corresponding to an operating system, which has conventionally been processed by the language processing processor 6. That is.

ホスト処理装置1からの要求によるプロセスの制御や、
主記憶5の仮想記憶管理に伴って生じるトラップ処理等
を9機械語命令を逐次処理することにより実行する。各
プロセスに関する情報は、プロセス管理テーブル10−
1.・・・によ・す、管理され、プロセス管理テーブル
10−1.・・・は、処理要求順や待ち状態によって、
キューターミナル9からキューイングされて、管理され
る。
Process control based on requests from the host processing device 1,
Trap processing and the like that occur with virtual memory management of the main memory 5 are executed by sequentially processing nine machine language instructions. Information regarding each process is provided in the process management table 10-
1. . . . is managed, process management table 10-1. ...depends on the order of processing requests and waiting status.
It is queued from the queue terminal 9 and managed.

高速メモリ13は、プロセス制御用プロセッサ7と言語
処理用プロセッサ6とのインタフェース用のキャッシュ
・メモリである。例えば、言語処理用プロセッサ6が処
理するプロセスの切換え時に、システム用ハードウェア
スタック15に退避されたレジスタ情報等が、高速メモ
リ13にセーブされ、新たに実行すべきプロセスのレジ
スタ情報等が、高速メモリ13を介して、プロセス制御
用プロセッサ7から言語処理用プロセッサ6へ引き渡さ
れる。使用フラグ14は、システム用ハードウェアスタ
ック15の内容が、高速メモリ13に格納されたか否か
を、プロセス制御用プロセッサ7に通知するためのフラ
グである。
The high-speed memory 13 is a cache memory for an interface between the process control processor 7 and the language processing processor 6. For example, when switching the process processed by the language processing processor 6, the register information saved in the system hardware stack 15 is saved in the high-speed memory 13, and the register information etc. of the process to be newly executed is transferred to the high-speed memory 13. The data is transferred from the process control processor 7 to the language processing processor 6 via the memory 13. The usage flag 14 is a flag for notifying the process control processor 7 whether the contents of the system hardware stack 15 have been stored in the high-speed memory 13 or not.

プロセス制御用プロセッサ7の内部処理構成は。The internal processing configuration of the process control processor 7 is as follows.

例えば第2図図示のようになっている。割込み解析部3
0は、トラップや通常の割込みが発生した場合に制御が
移行され、その割込み原因を解析して2割込みに対応す
る各種処理部を起動するものである。
For example, it is as shown in FIG. Interrupt analysis section 3
0 transfers control when a trap or normal interrupt occurs, analyzes the cause of the interrupt, and activates various processing units corresponding to the 2 interrupt.

割込み解析部30の起動原因が2例えばメモリに関連す
るトラップである場合には、トラップ処理部31が呼び
出され、トラップ処理部31は。
If the cause of activation of the interrupt analysis unit 30 is 2, for example, a memory-related trap, the trap processing unit 31 is called;

そのトラップの要求する処理を実行する。また。Perform the processing requested by the trap. Also.

ガーベジ・コレクションの場合には、ガーベジ・コレク
タ32が起動され、ガーベジ・コレクタ32は、不要と
なった主記憶5上の領域を回収する処理を実行する。ト
ラップ処理部31およびガーベジ・コレクタ32の処理
は、マイクロ命令やLi5p関数等によって記述する必
要がなく1通常の汎用計算機等が用いる言語を使用する
ことができるので、比較的容易に作成することができる
In the case of garbage collection, the garbage collector 32 is activated, and the garbage collector 32 executes processing to collect an area on the main memory 5 that is no longer needed. The processing of the trap processing unit 31 and the garbage collector 32 does not need to be written using microinstructions or Li5p functions, and can be written using a language used by ordinary general-purpose computers, so it can be created relatively easily. can.

割込み解析部30の起動原因が、プロセス間通信や、ホ
スト処理装置1からの処理要求等である場合には、スケ
ジューラ33が起動される。スケジューラ33は、処理
要求の具体的な内容により。
When the cause of activation of the interrupt analysis unit 30 is inter-process communication, a processing request from the host processing device 1, etc., the scheduler 33 is activated. The scheduler 33 depends on the specific content of the processing request.

次のようにプロセス制御を行う。要求が、ホスト処理装
置1からのプロセス開設要求である場合。
Process control is performed as follows. When the request is a process establishment request from the host processing device 1.

LOGON処理部37を呼び出し、プロセス管理テーブ
ルを作成して、新たなプロセスを発生させる。また、プ
ロセス終了要求である場合には、TSSEND処理部3
4を呼び出して、そのプロセスを抹消する処理を実行す
る。
The LOGON processing unit 37 is called, a process management table is created, and a new process is generated. In addition, if it is a process termination request, the TSSEND processing unit 3
4 and executes the process to kill the process.

例えば入出力命令の完了環、プロセスへの通知事象が発
生した場合には、PO3T処理部36を呼び出し、その
プロセスの待ち状態を解除し、実行可能状態に再キュー
イングする処理を実行する。
For example, when an input/output command completion cycle or a notification event to a process occurs, the PO3T processing unit 36 is called, the process is released from the waiting state, and the process is requeued to the executable state.

一方、プロセスが事象発生待ち要求を発した場合には、
WAIT処理部35によって、そのプロセスを待ち状態
に設定する。
On the other hand, if a process issues a request to wait for an event to occur,
The WAIT processing unit 35 sets the process to a waiting state.

他のプロセスを実行させることができる状態になると、
スリーブ処理部38へ制御が移行される。
Once you are ready to run other processes,
Control is transferred to the sleeve processing section 38.

スリーブ処理部38は、プロセス管理テーブルを参照し
、実行可能なプロセスを選択し、主記憶環境設定部39
へ制御を渡す。主記憶環境設定部39は1選択されたプ
ロセスに関する主記憶5上の仮想記憶環境を整える処理
を実行する。次にタイマ関係制御部40により、そのプ
ロセスの処理時間等に関連する時間情報の切換えを行う
。そして。
The sleeve processing unit 38 refers to the process management table, selects an executable process, and sets the main memory environment setting unit 39.
Transfer control to The main memory environment setting unit 39 executes processing to prepare the virtual memory environment on the main memory 5 regarding one selected process. Next, the timer-related control unit 40 switches time information related to the processing time and the like of the process. and.

プロセス切換え部41を起動する。プロセス切換え部4
1は、新たに実行するプロセスのプロセス管理テーブル
から、レジスタ情報等を取り出し。
The process switching unit 41 is activated. Process switching section 4
1 extracts register information etc. from the process management table of the newly executed process.

高速メモリ13にその内容を格納して、プロセス環境を
設定する。そして、言語処理用プロセッサ6へ処理要求
を発する。これによって、新たなプロセスが、言語処理
用プロセッサ6によって処理されることになる。
The contents are stored in the high-speed memory 13 and the process environment is set. Then, a processing request is issued to the language processing processor 6. As a result, a new process will be processed by the language processing processor 6.

次にトラップ発生時における制御を、第4図に従って説
明する。
Next, control when a trap occurs will be explained with reference to FIG.

■ トラップが発生すると、言語処理用プロセッサ6に
おける処理が中断され、言語処理用プロセッサ6が現在
使用しているレジスタ情報等が。
(2) When a trap occurs, processing in the language processing processor 6 is interrupted, and register information, etc. currently being used by the language processing processor 6 is lost.

システム用ハードウェアスタック15ヘセーブされる。It is saved to the system hardware stack 15.

■ それと同時にプロセス制御用プロセッサ7へトラッ
プ要求が伝達され、プロセス制御用プロセッサ7は、そ
のトラップ要求に対応する処理を実行する。トラップ切
換えフラグ5oは、トラップが通常のトラップであるが
、ガーベジ・コレクションを要求するトラップであるが
を示すフラグであり、このフラグがONのとき、ガーベ
ジ・コレクタ32により、ガーベジ・コレクションが実
行される。なお、ガーベジ・コレクションは、そのガー
ベジ・コレクション要求が起きたユーザ・プロセスの領
域が対象とされ。
(2) At the same time, a trap request is transmitted to the process control processor 7, and the process control processor 7 executes processing corresponding to the trap request. The trap switching flag 5o is a flag indicating whether the trap is a normal trap or a trap that requests garbage collection. When this flag is ON, the garbage collector 32 executes garbage collection. Ru. Note that garbage collection is targeted at the area of the user process where the garbage collection request occurred.

その実行の間、言語処理用プロセッサ6は、プロセス切
換えにより、他のユーザ・プロセスを処理できる。
During its execution, the language processing processor 6 can process other user processes by process switching.

■ プロセス制御用プロセッサ7は、トラップ処理が終
了すると、その終了を言語処理用プロセッサ6へ通知す
る。
(2) When the trap processing is completed, the process control processor 7 notifies the language processing processor 6 of the completion.

■ 言語処理用プロセッサ6は、トラップ終了通知を受
けると、システム用ハードウェアスタックI5にセーブ
しておいたレジスタ情報等をロードする。
(2) When the language processing processor 6 receives the trap completion notification, it loads the register information etc. saved in the system hardware stack I5.

■ そして、トラップが起きたプロセスの実行を再開す
る。なお、プロセス制御用プロセッサ7におけるトラッ
プ処理において、主記憶5上のプログラム等のスワップ
イン/スワップアウトが発生した場合には、後述する割
込み処理の場合と同様にして、プロセス切換えを行い、
他の実行可能なプロセスの処理を実行する。
■ Then resume execution of the process in which the trap occurred. In addition, in the trap processing in the process control processor 7, if a swap-in/swap-out of a program, etc. on the main memory 5 occurs, the process is switched in the same way as in the case of interrupt processing, which will be described later.
Perform processing for other executable processes.

トラップ以外の割込みが発生した場合には、第5図に示
すように制御される。
When an interrupt other than a trap occurs, control is performed as shown in FIG.

■ 言語処理用プロ曳ツサ6は1割込み要求に対し、レ
ジスタ情報等を高速メモリ13にセーブする。なお、高
速メモリ13へのレジスタ情報等のセーブ中には、使用
フラグ14をONにセットし、セーブが終了したときに
、使用フラグ14をOFFにする。
(2) The language processing processor 6 saves register information and the like in the high-speed memory 13 in response to one interrupt request. Note that while register information and the like are being saved to the high-speed memory 13, the use flag 14 is set to ON, and when the saving is completed, the use flag 14 is turned OFF.

■ それと同時にプロセス制御用プロセッサ7は。■ At the same time, the process control processor 7.

割込み要求の解析を行い、スケジューラ33によるプロ
セスのスケジューリング、およびディスパッチ処理を行
う。
The interrupt request is analyzed, and the scheduler 33 performs process scheduling and dispatch processing.

■ ディスパッチ処理において、言語処理用プロセッサ
6のレジスタ情報等を使用するとき、使用フラグ14を
参照して、セーブが終了しているかどうかをチェックす
る。終了していれば。
(2) When using the register information of the language processing processor 6 in dispatch processing, refer to the use flag 14 to check whether the save has been completed. If only it had ended.

そのレジスタ情報等を当該割込みに関連するプロセス管
理テーブルに設定する。
The register information and the like are set in the process management table related to the interrupt.

■ 次に、新たに実行すべきプロセスのレジスタ情報等
をそのプロセス管理テーブルから得て。
■ Next, obtain register information, etc. of the process to be newly executed from the process management table.

高速メモリ13に設定する。Set in high-speed memory 13.

■ そして、言語処理用プロセッサ6へ割込みによるス
ケジューリングの終了を通知する。プロセス制御用プロ
セッサ7は、その後2次の割込み等によるスケジューリ
ング契機を待つ。
(2) Then, the language processing processor 6 is notified of the completion of scheduling by interrupt. The process control processor 7 then waits for a scheduling opportunity such as a secondary interrupt.

■ 言語処理用プロセッサ6は、プロセス制御用プロセ
ッサ7から、スケジューリング終了通知を受けると、高
速メモリ13から新たなプロセスに係るレジスタ情報等
をロードする。
(2) When the language processing processor 6 receives the notification of completion of scheduling from the process control processor 7, it loads register information and the like related to the new process from the high speed memory 13.

■ 言語処理用プロセッサ6へ、新たなプロセスのレジ
スタ情報零が設定されることにより、その後、言語処理
用プロセッサ6は、切換わったプロセスの処理を実行す
ることとなる。
(2) By setting the register information of the new process to zero in the language processing processor 6, the language processing processor 6 will thereafter execute the processing of the switched process.

上記実施例では、言語処理用プロセッサ6として、  
Li5p言語を扱うものについて説明したが。
In the above embodiment, as the language processing processor 6,
I explained what deals with the Li5p language.

いわゆる、  P rologマシン等、他の言語処理
専用の処理装置に対しても、同様にプロセス制御用プロ
セッサ7によって、各種トラップ処理およびプロセスの
スケジューリング処理を実行できることは言うまでもな
い。
It goes without saying that the process control processor 7 can similarly perform various trap processing and process scheduling processing for other processing devices dedicated to language processing, such as a so-called Prolog machine.

〔発明の効果〕〔Effect of the invention〕

以上説明した如く9本発明によれば、従来、言語処理用
プロセッサの命令処理体系では困難であったトラップ処
理やスケジューリング処理について9通常の計算機の命
令処理機能により実現することが可能になる。従って、
開発が容易になると共に、デバッグも容易になり2機能
変更や拡張に対しても柔軟に対処できるようになる。ま
た、言語処理用プロセッサの処理負担が軽くなることか
ら、処理性能が向上する。
As described above, according to the present invention, trap processing and scheduling processing, which have conventionally been difficult with the instruction processing system of a language processing processor, can be realized using the instruction processing function of a normal computer. Therefore,
Development becomes easier, debugging becomes easier, and changes and expansions of functions can be dealt with flexibly. Furthermore, since the processing load on the language processing processor is reduced, processing performance is improved.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例システム構成図、第2図は第
1図図示プロセス制御用プロセッサの内部処理構成図、
第3図はシステム用ハードウェアスタックの説明図、第
4図はトラ・ノブ発生時における制御を説明するための
図、第5図は割込み発生時における処理説明図、第6図
は従来のバックエンド型Li5pマシンのシステム例を
示す。 図中、1はホスト処理装置、2はコンソール・ディスプ
レイ、3は外部記憶装置、4はチャネル・インタフェー
ス装置、5は主記憶、6は言語処理用プロセッサ、7は
プロセス制御用プロセッサ。 8はローカルメモリ、9はキューターミナル、1O−1
ないし10−2はプロセス管理テーブル。 I3は高速メモリ、14は使用フラグ、15はシステム
用ハードウェアスタック、16はハードウェアスタック
、17は制御用メモリ、18は演算装置、19はレジス
タを表す。 特許出願人   富士通株式会社 代理人弁理士  森1)寛(外1名) 第2図
FIG. 1 is a system configuration diagram of an embodiment of the present invention, FIG. 2 is an internal processing configuration diagram of the process control processor shown in FIG. 1,
Figure 3 is an explanatory diagram of the system hardware stack, Figure 4 is a diagram to explain control when a tiger/knob occurs, Figure 5 is an explanatory diagram of processing when an interrupt occurs, and Figure 6 is a diagram of the conventional backup system. A system example of an end-type Li5p machine is shown. In the figure, 1 is a host processing unit, 2 is a console display, 3 is an external storage device, 4 is a channel interface device, 5 is a main memory, 6 is a language processing processor, and 7 is a process control processor. 8 is local memory, 9 is queue terminal, 1O-1
10-2 are process management tables. I3 represents a high speed memory, 14 represents a use flag, 15 represents a system hardware stack, 16 represents a hardware stack, 17 represents a control memory, 18 represents an arithmetic unit, and 19 represents a register. Patent applicant: Fujitsu Ltd. Representative Patent Attorney Hiroshi Mori (1 other person) Figure 2

Claims (1)

【特許請求の範囲】[Claims] リスト処理可能な関数型言語または論理型言語を処理す
る関数型/論理型言語処理装置において、言語処理単位
をプロセスとして管理し該プロセスに関する実行のスケ
ジュールを行うと共にガーベジ・コレクションを含むト
ラップ処理を実行するプロセス制御用プロセッサと、上
記各プロセスに関する関数型言語または論理型言語によ
る処理をマイクロプログラム制御により実行する言語処
理用プロセッサと、プロセス制御に関する上記プロセス
制御用プロセッサと上記言語処理用プロセッサとのイン
タフェース用メモリとを備えると共に、上記言語処理用
プロセッサは、トラップ発生時に内部状態情報が退避さ
れるシステム用ハードウェアスタックを備え、上記プロ
セス制御用プロセッサは、上記インタフェース用メモリ
を介して上記言語処理用プロセッサに対し処理すべきプ
ロセス環境情報を通知するよう構成されていることを特
徴とする関数型/論理型言語処理装置。
In a functional/logical language processing device that processes a functional language or a logical language capable of list processing, the language processing unit is managed as a process, execution is scheduled for the process, and trap processing including garbage collection is executed. a language processing processor that executes processing using a functional language or a logical language regarding each of the above processes under microprogram control; and an interface between the process control processor and the language processing processor regarding process control. The language processing processor also includes a system hardware stack in which internal state information is saved when a trap occurs, and the process control processor has a memory for language processing via the interface memory. A functional/logical language processing device, characterized in that it is configured to notify a processor of process environment information to be processed.
JP27033184A 1984-12-21 1984-12-21 Function type/logical type language processor Granted JPS61148535A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27033184A JPS61148535A (en) 1984-12-21 1984-12-21 Function type/logical type language processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27033184A JPS61148535A (en) 1984-12-21 1984-12-21 Function type/logical type language processor

Publications (2)

Publication Number Publication Date
JPS61148535A true JPS61148535A (en) 1986-07-07
JPH0421892B2 JPH0421892B2 (en) 1992-04-14

Family

ID=17484767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27033184A Granted JPS61148535A (en) 1984-12-21 1984-12-21 Function type/logical type language processor

Country Status (1)

Country Link
JP (1) JPS61148535A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01180044A (en) * 1988-01-11 1989-07-18 Mitsubishi Electric Corp Data processor
JP2004526233A (en) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド A modular microcontroller that manages CPUs and devices without an operating system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01180044A (en) * 1988-01-11 1989-07-18 Mitsubishi Electric Corp Data processor
JP2004526233A (en) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド A modular microcontroller that manages CPUs and devices without an operating system

Also Published As

Publication number Publication date
JPH0421892B2 (en) 1992-04-14

Similar Documents

Publication Publication Date Title
US5511217A (en) Computer system of virtual machines sharing a vector processor
US6513057B1 (en) Heterogeneous symmetric multi-processing system
US6988264B2 (en) Debugging multiple threads or processes
US7225119B2 (en) System and method for the logical substitution of processor control in an emulated computing environment
US6944850B2 (en) Hop method for stepping parallel hardware threads
JPS6258341A (en) Input and output interruption processing system
JPH0895821A (en) Method and device for multitask program debugging
WO2018096313A1 (en) Data processing
US20240126593A1 (en) User-mode interrupt request processing method and apparatus
US20160371113A1 (en) Information processing device, information processing method, recording medium, calculation processing device, calculation processing method
JPH06243112A (en) Multiprocessor device
EP1410170B1 (en) Logical substitution of processor control in an emulated computing environment
JPH0193830A (en) System for controlling interruption in virtual computer system
JPS61148535A (en) Function type/logical type language processor
JP5678347B2 (en) IT system configuration method, computer program thereof, and IT system
JPH0192843A (en) Data processing apparatus and method
KR100506254B1 (en) Apparatus and method for handling interrupt in non-privileged of embedded system
JP2866588B2 (en) System and method for transferring control between processing processes
JPH0552535B2 (en)
WO2023169289A1 (en) Method and apparatus for switching execution status of process
JP2553526B2 (en) Multitasking processor
JPS6223895B2 (en)
JPS6346861B2 (en)
JP2022055002A (en) Information processing device, information processing method, and information processing program
Mejia-Alvarez et al. Interrupts Mechanism

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees