JPS61208143A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS61208143A
JPS61208143A JP60048830A JP4883085A JPS61208143A JP S61208143 A JPS61208143 A JP S61208143A JP 60048830 A JP60048830 A JP 60048830A JP 4883085 A JP4883085 A JP 4883085A JP S61208143 A JPS61208143 A JP S61208143A
Authority
JP
Japan
Prior art keywords
trap
processing
trap processing
code
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60048830A
Other languages
English (en)
Inventor
Shinichi Habata
幅田 伸一
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP60048830A priority Critical patent/JPS61208143A/ja
Publication of JPS61208143A publication Critical patent/JPS61208143A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は情報処理装置に関し、特に高レベルプログラミ
ング言語PR,0LOG又はLISPの高速処理機能と
システム機能の一部変更又はプログラム開発を支援する
強力な機能を備えたマイクロプログラム制御方式の高級
言語マシンを実現する為の情報処理装置に関するもので
ある。
(従来技術とその問題点) 特定の高レベルプログラミング言語を処理する高級言語
マシンにおいて、処理の高速化を実現する為に出力する
オブジェクト・コードを最適化する高機能コンパイラを
使用する傾向がある。この様な高級言語マシンでは高レ
ベルプログラミング言語の命令と高級言語マシンの機械
語命令が一対一に対応しない。高レベルプログラミング
言語の命令は幾つかの高級言語マシンの機械語命令で実
現する。特に、知識工学の分野で使用する高レベルプロ
グラミング言語PROLOG又はLISPを処理対象と
した高級言語マシンでは高機能コンパイラによる最適化
に重点を置く傾向が著しく強い。
さらに、知識工学の分野で使用する高レベルプログラミ
ング言語PROLOG又はLIMPを高速処理する高級
言語マシンにおいて、システム機能の一部変更又はプロ
グラムの開発を支援する機能を強化することが切望され
ている。これは、知識工学の分野では知的システムとい
った高機能大規模プログラムの開発を目標とする為にプ
ログラムの機能仕様変更が頻繁に発生し、時にはPRO
LOG又はLISPの言語処理系とプログラムの開発に
使用しているシステムの機能変更が要求されるからであ
る。上記理由からシステム機能の一部変更又はプログラ
ムの開発を支援する機能はPROLOG又はLIMFを
処理対象とする高級言語マシンの機能評価で重要な要素
となっている。
通常の高級言語マシンでは機械語命令で記述したPRO
LOG+LISPの言語処理系の他に機械語命令で記述
したプロセス・ディスパッチ、メモリ管理等のシステム
機能を実現している。システム機能の一部変更、プログ
ラム開発を支援する機能を強化する為の手段の1つとし
て、修正したプログラム又は新しく開発したプログラム
のデバッグ手段を強化する方法がある。PROLOG又
はLISPで記述したプログラムに対するデバッグ手段
強化方式の一つとして特定のPROLOGの述語呼び出
し又はLIMPの関数呼び出し実行後にステップ動作又
はトレース処理を開始してプログラムの動きをプログラ
ム作成者が検査可能にする方法がある。
従来の情報処理装置はPROLOG又はLISPなどの
高級言語に対するステップ動作又はトレース処理を実現
する為に、トラップ処理を起動する機械語命令TRAP
を用意していた。このTR人人命命令デバッグでステッ
プ動作又はトレース処理を行う時にPROLOGの述語
と述語又はLIMPの関数と関数の間にTRAPR令を
挿入した。ステップ動作又はトレース処理を実現する為
に必要な実行環境のディスプレイへの表示又はファイル
への格納はトラップ処理が行う。
しかし、従来の機械語命令TRAPを使用した方式はデ
バッグの前処理の他にデバッグの後処理としてTRAP
R令を除去する必要があった。又、PROLOG又はL
ISP言語レベルと中間言語レベルのステップ動作又は
トレース処理を同時に行う為にはトラップ処理の方で切
り分ける処理が必要である欠点があった。
(発明の目的) 本発明の目的は従来の情報処理装置における欠点を除去
すると共に知識工学の分野で使用する高級プログラミン
グ言語PROLOG又はLIMFの高速処理機能とシス
テム機能の一部変更又はプログラム作成者−ドする機能
を備えた高級言語マシンを実現する為に、PROLOG
の述語又はLI SPの関数単位にステップ動作又はト
レース機能を提供するトラップ機能を備える情報処理装
置を提供することにある。
(問題点を解決するための手段) 本発明によれば複数の機械語命令に展開される高レベル
プログラミング言語の処理系の実行制御において、機械
語命令を保持する命令コード・レジスタと、任意のトラ
ップ処理に対するトラップ処理要因コードを保持するト
ラップ処理要因コード・レジスタと、機械語命令とトラ
ップ処理の実行をマイクロプログラムで制御する実行制
御部と、前記命令コード・レジスタが保持する命令コー
ドと前記トラップ処理要因コード・レジスタが保持する
トラップ処理要因コードから前記実行制御部が実行する
マイクロプログラム・ルーチンへの分岐アドレスを生成
する分岐アドレス生成メモリとを備え、前記トラップ処
理要因コード・レジスタが保持するトラップ処理要因コ
ードにより、前記分岐アドレス生成メモリのメモリ・バ
ンクを選択することと、前記命令コード・レジスタが保
持する命令コードにより、前記選択されたメモリ・バン
クから分岐アドレスを呼び出すことと、各トラップ処理
要因コード毎にメモリ・バンクが割り当てられることに
より、各トラップ処理要因コードに対するトラップ処理
の内容を命令コード毎に設定できることと、各トラップ
処理要因コードに対してトラップ処理を起動する命令コ
ードと通常の機械語命令の処理を実行する命令コードに
分類すルコトにより高レベルプログラミング言語に対し
てステップ動作又はトレース機能を提供することとを有
することを特徴とする情報処理装置が得られる。
(実施例) 以下、本発明の実施例について図面を参照して詳細に説
明する。
第1図は本発明の一実施例である情報処理装置を示す。
第1図において、本実施例は高級プログラミング言語P
ROLOG又はLISPで記述したプログラムの実行制
御を行うマイクロプログラムを有し、このマイクロプロ
グラムは実行制御部102によって実行される。マイク
ロプログラムの構造は1つの機械語命令又は1つのトラ
ップ処理毎に1つのマイクロプログラム・ルーチンを用
意する。各マイクロプログラム・ルーチンの最終ステッ
プでは分岐アドレス生成メモリ101が生成した分岐ア
ドレスへ分岐する。実行制御部102が生成する分岐ア
ドレスは必ずマイクロプログラム・ルーチンの第1ステ
ツプを格絡する制御記憶106上の記憶セルを指す。
コントロール・バス107から送られて来九トラップ処
理要因コードはトラップ処理要因コード・レジスタ10
3に保持され、機械語命令コードはインストラクション
・パス108を介して命令コード・レジスタ104に保
持される。トラップ処理要因コード・レジスタ103に
保持されるトラップ処理要因コードと命令コード・レジ
スタ104に保持される機械語命令コードから分岐アド
レス生成メそり101は分岐アドレスを生成して、実行
制御部102へ出力する。
第2図は分岐アドレス生成メモリ101が分岐アドレス
を決定する為に使用するメモリ・アドレスの構成を示す
、第2図において、分岐アドレス生成メモリ101は幾
つかのメモリ・ノくンクから構成され、メモリ・アドレ
スはメモリ・ノくンク番号111とバンク内アドレス1
12の2フイールドで構成されている。メモリ・バンク
番号フィールド111はトラップ処理要因コード・レジ
スタ103に保持されるトラップ処理要因コードを使用
し、命令コード・レジスタ104に保持される機械語命
令コードはバンク内アドレス112として使用される。
第3図は4個のメモリ・バンクで構成する分岐アドレス
生成メモリ101が格納する分岐アドレスの様子を示す
。第3図において、トラップ処理要因コードが選択する
分岐アドレス生成メモリ101のメモリ・バンクはその
トラップ処理要因コードが発生した時に各機械語命令コ
ードが起動するトラップ処理を制御するマイクロプログ
ラム・ルーチンへの分岐アドレスで構成するトラップ処
理決定テーブルを格納する。この中で特に、トラップ処
理要因コードの値がゝ0′で選択されるメモリ・バンク
が格納する分岐アドレスで構成するテーブル201を通
常処理決定テーブルと呼ぶ。
値がゝO′のトラップ処理要因コードはトラップ要因が
全く発生していない状態を示す。すなわち、通常処理決
定テーブル201は命令コード・レジスタ104が保持
する機械語命令コードが指定する機械語命令処理を実行
する。
第4図は本発明の他の実施例である情報処理装置を示す
。第4図において、本実施例は分岐アドレス生成メモリ
を4個のメモリ301,302,303゜304とデー
タ選択器305で構成し、トラップ処理要因コードを選
択信号としてデータ選択器305が4個のメモリ301
.302.303.304から任意の1個を選択する。
4個のメモ17301゜302.303,304は分岐
アドレス生成メモリの各メモリ・パンクに対応し、1つ
の通常処理決定テーブルと3個のトラップ処理決定テー
ブルを格納する。
本発明の特徴は実行制御部102が実行するマイクロプ
ログラム・ルーチンへの分岐アドレスを決定する為にト
ラップ処理要因コード毎に機械語命令コードから分岐ア
ドレスへの変換を行うトラップ処理決定テーブルを備え
ることである。トラップの要因毎に専用のトラップ処理
決定テーブルを備えることにより、同じトラップ要因が
発生してモ命令コード・レジスタ104が保持する機械
語命令コード毎にトラップ処理の内容を設定できる。
PROLOGプログラム P(X、Y)ニーQ(X、a)、R(X、b、Y)  
・・・(1)を機械語命令例 get   X、A。
get    Y、AI put    X、A。
put    a、AI call   Q put    X、に6 put    b、AI put    Y、A2 execnte    R に展開する高機能コンパイラを使用する高級言語マシン
では、PROLOGの述語呼び出しに対応する’cal
l Q’命令と’execnte R’ 命令を実行す
る前にステップ動作又はトレースを行うトラップ処理が
必要である。このトラック処理を実現する為に、生成メ
モリ上のトラップ’call  Q’命令と’exec
nte  R’命令でステップ動作又はトレースを行う
トラップ処理を起動する様に分岐アドレス生成メモリ上
のトラップ処理決定テーブルをセットする。例として、
値が11′のトラップ処理要因コードをPROLOGの
述語単位のステップ動作を要求するフラグでセットする
トラップ要因とする。分岐アドレス生成メモリ上の値が
′1′のトラップ処理要因コードで選択されるトラップ
処理決定テーブルは、’call  Q’又は’exe
cnte R’命令の機械語命令コードからステップ動
作に必要な実行環境の出力を行うトラップ処理を実行す
るマイクロプログラム・ルーチンへの分岐アドレスを出
力する。他の機械語命令コードでは各機械語命令処理を
実行するマイクロプログラム・ルーチンへの分岐アドレ
スを出力する。このトラップ処理決定テーブルを使用す
る本実施例の情報処理装置がトラップ処理要求コードの
値′IIの状態で前記(1)のPROLOGプログラム
を実行すると、%call  Q’と%execnte
  a’  命令を実行する前に実行環境の出力を行う
トラップ処理を実行する。
このトラップ処理によj5PROLOGの述語呼び出し
毎に実行環境を表示するPROLOGのステップ動作が
実現できる。
上記ステップ動作はPROLOGだけでな(LISPな
ど他の高レベルプログラミング言語に対しても適用可能
である。
(発明の効果) 本発明の情報処理装置は以上説明したように実行制御部
が実行するマイクロプログラム・ルーチンを決定する時
にトラップ処理の実行要求を検出してトラップ処理を起
動する機能を備える。さらに、)ラップ処理要因コード
毎にトラップ処理決定テーブルを備えることで、同じト
ラップ処理要因コードでも機械語命令コード毎に起動す
るトラップ処理を設定可能にしている。
この結果、PROLOGの述語単位又はLISFの関数
単位でステップ動作及びトレースする機能を提供する為
に、特定のトラップ処理要因コードを割り当て、そのト
ラップ処理要因コードが選択するトラップ処理決定テー
ブルの要素でPROLOGの述語呼び出し又はLISP
の関数呼び出しに対応する機械語命令コードの要素にス
テップ動作又はトレース機能を行うトラップ処理を制御
するマイクロプログラム・ルーチンへの分岐アドレスを
格納し、他の機械語命令コードの要素には個々の機械語
命令を実行するマイクロプログラム・ルーチンへの分岐
アドレスを格納することができる。
さらに本発明はステップ動作及びトレース機能を実現す
る為に使用しているトラップ処理の起動機構が機械語命
令の起動機構と同じ為に、ステップ動作及びトレース機
能を使用した時のトラップ処理起動による処理負荷の増
加がなく、ステップ動作及び、トレースに必要な処理時
間を短縮する効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例である情報処理装置を示す概
念図、第2図は一実施例における分岐アドレス決定メモ
リをアクセスする為に使用するアドレスを示す構成図、
第3図は一実施例における分岐アドレス決定メモリ上の
トラップ処理決定テーブルの格納状態を示した図、vK
4図は本発明の他の実施例である情報処理装置の実施例
を示す図である。 101・・・・・・分岐アドレス生成メモリ、102・
・・・・・実行制御部、103・・・・・・トラップ処
理要因コード・レジスタ、104・・・・・・命令コー
ド・レジスタ、105・・・・・・シーケンサ、106
・・・・・・制御記憶、107・・・・・・コントロー
ル・パス、108・・・・・・インストラクション・バ
ス、110・・・・・・分岐アドレス生成メモリをアク
セスする為に使用するアドレス、111・・・・・・メ
モリ・パンク番号フィールド、112・・・・・・バン
ク内アドレス・フィール)’、201・・・・・・通常
処理決定テーブル、202,203,204・・・・・
・トラップ処理要因コード発生時の分岐アドレスを決定
するトラップ処理決定テーブル、301.302゜30
3、304・・・・・・分岐アドレス生成メモリのメモ
リ・パンクを構成するメモリ、305・・・・・・デー
タ選択器。 代理人 升埋士  P3  原   雷、・ザ′$ 久
 図 茅 3 図

Claims (1)

    【特許請求の範囲】
  1. 複数の機械語命令に展開される高レベルプログラミング
    言語の処理系の実行制御において、機械語命令を保持す
    る命令コード・レジスタと、任意のトラップ処理に対す
    るトラップ処理要因コードを保持するトラップ処理要因
    コード・レジスタと、機械語命令とトラップ処理の実行
    をマイクロプログラムで制御する実行制御部と、前記命
    令コード・レジスタが保持する命令コードと前記トラッ
    プ処理要因コード・レジスタが保持するトラップ処理要
    因コードから前記実行制御部が実行するマイクロプログ
    ラム・ルーチンへの分岐アドレスを生成する分岐アドレ
    ス生成メモリとを備え、前記トラップ処理要因コード・
    レジスタが保持するトラップ処理要因コードにより、前
    記分岐アドレス生成メモリのメモリ・バンクを選択する
    ことと、前記命令コード・レジスタが保持する命令コー
    ドにより、前記選択されたメモリ・バンクから分岐アド
    レスを呼び出すことと、各トラップ処理要因コード毎に
    メモリ・バンクが割り当てられることにより、各トラッ
    プ処理要因コードに対するトラップ処理の内容を命令コ
    ード毎に設定できることと、各トラップ処理要因コード
    に対してトラップ処理を起動する命令コードと通常の機
    械語命令の処理を実行する命令コードに分類することに
    より高レベルプログラミング言語に対してステップ動作
    又はトレース機能を提供することとを有することを特徴
    とする情報処理装置。
JP60048830A 1985-03-12 1985-03-12 情報処理装置 Pending JPS61208143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60048830A JPS61208143A (ja) 1985-03-12 1985-03-12 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60048830A JPS61208143A (ja) 1985-03-12 1985-03-12 情報処理装置

Publications (1)

Publication Number Publication Date
JPS61208143A true JPS61208143A (ja) 1986-09-16

Family

ID=12814149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60048830A Pending JPS61208143A (ja) 1985-03-12 1985-03-12 情報処理装置

Country Status (1)

Country Link
JP (1) JPS61208143A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02291027A (ja) * 1989-05-01 1990-11-30 Fujitsu Ltd 情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02291027A (ja) * 1989-05-01 1990-11-30 Fujitsu Ltd 情報処理装置

Similar Documents

Publication Publication Date Title
KR950006616B1 (ko) 변환된 프로그램 코드에서 소스 명령 분자를 보전하기 위한 시스템 및 방법
US4951195A (en) Condition code graph analysis for simulating a CPU processor
CN101446918B (zh) 一种实现用户态调试器调试单个函数的方法及系统
US20120198428A1 (en) Using Aliasing Information for Dynamic Binary Optimization
US20040073780A1 (en) Single-step processing and selecting debugging modes
US5062039A (en) Sharing of workspaces in interactive processing using workspace name tables for linking of workspaces
KR20200124251A (ko) 데이터 처리
JPS61208143A (ja) 情報処理装置
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
JPH03135630A (ja) 命令スケジューリング方式
Civera et al. Implementation studies for a VLSI Prolog coprocessor
US20190102153A1 (en) Information processing apparatus, information processing method, and recording medium recording program
JPH0659908A (ja) プログラム実行装置
JPH04287121A (ja) タプルスペース方式
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP2502128B2 (ja) コンパイラ装置
Maurer Mapping the Data Flow Model of Computation into an Enhanced Von Neumann Processor.
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
Zelkowitz PIT: A macro‐implemented implementation language
Van Sciver Safeguard Data‐Processing System: Systems Programming in PL/1
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
Brown SUPERMAC—A macro facility that can be added to existing compilers
McMahan et al. Implementation of a tagged architecture for block structured languages
Smoot A User's Guide to JUNE-BUG
JPS6113615B2 (ja)