JPS6113615B2 - - Google Patents

Info

Publication number
JPS6113615B2
JPS6113615B2 JP55065086A JP6508680A JPS6113615B2 JP S6113615 B2 JPS6113615 B2 JP S6113615B2 JP 55065086 A JP55065086 A JP 55065086A JP 6508680 A JP6508680 A JP 6508680A JP S6113615 B2 JPS6113615 B2 JP S6113615B2
Authority
JP
Japan
Prior art keywords
address
program
instruction
debugging
memory
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
Application number
JP55065086A
Other languages
English (en)
Other versions
JPS56162156A (en
Inventor
Masao Kato
Masanori Kataoka
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6508680A priority Critical patent/JPS56162156A/ja
Publication of JPS56162156A publication Critical patent/JPS56162156A/ja
Publication of JPS6113615B2 publication Critical patent/JPS6113615B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は、データ処理方式に関し、特にプログ
ラムのデバツクを仮想空間の拡張により実現する
データ処理方式に関するものである。
プログラムを実際に計算機にかけて誤りを発見
し訂正する、いわゆるデバツキングの方法として
は、コンソールを使つて1ステツプずつ追跡する
方法と、メモリ・ダンプやトレーサ・プログラム
で追跡して、その結果をプリント・アウトさせ、
机の上で検討するデスク・デバツキングの方法と
がある。
従来のデータ処理装置には、デバツク支援機能
が備えられており、例えば(1)命令ごとに割込みを
行う機能、(2)指定された命令アドレス実行時に割
込みを行う機能、(3)指定されたオペランド・アド
レス実行時に割込みを行う機能、(4)指定されたレ
ジスタの書換え時にに割込みを行う機能、あるい
は(5)分岐命令実行時に割込みを行う機能等があ
る。(1)命令ごとに割込みを行う場合には、第1図
に示すように、プログラムP1の走行する第1の
命令イが終ると、デバツグ用のプログラムD1に
割込み、デバツグ用プログラムD1では何の命令
を実行したか、レジスタは何を使用したか等のデ
ータをログ・アウトする。デバツグ用プログラム
D1の終了により第2の命令ロに戻り、第2の命
令ロを実行した後に再びデバツグ用プログラムD
1に割込む。このようにして、第3の命令ハ、第
4の命令ニ……が終るごとに割込みをかけてデバ
ツグを行う。このようにして、プログラムのトレ
ースをとる方法により一応はログ・アウトができ
るが、毎回割込みが発生し、そのためのソフトウ
エア・オーバヘツドが非常に大きくなり、実行速
度が1/100以下に低下して、デバツグ作業に多大
なコストがかかる。また、同じようにして、プロ
グラムがアクセスするデータに関する情報のログ
をとる場合にも、性能低下が著しい。
次に、(2)命令アドレス実行時割込みを行う方法
は、ある程度メモリ内の障害アドレスが明らかに
なつたときに行うもので、第2図に示すように、
メモリ9内の障害アドレスAをレジスタ92に保
持しておき、このアドレスAがアドレス・レジス
タ91にセツトされたとき比較器93でこれを検
出し、割込みINTをかける。この場合、プログラ
ムP1が分岐したとき等のアドレスAで障害が生
じ易い。この方法で、障害アドレスの命令が実行
されるときに、障害情報をログ・アウトできる
が、プログラムおよびプログラムがアクセスする
データに関する情報をとる場合、同時には1つの
アドレスしか対象にできない。
また、(3)オペランド・アドレス実行時の割込み
においては、上記(2)の場合と全く同じ方法と欠点
がある。
次に、(4)レジスタ書換え時の割込みの方法は、
第3図に示すように、演算処理回路14で演算す
るため、必要に応じてメモリ9からのデータを特
定レジスタ11にセツトしたり、これと逆にレジ
スタ11の内容をメモリ9に書込んだときに、レ
ジスタ11の内容の破壊を検出して、割込みをか
け、デバツグ用プログラムを実行するものであ
る。
また、(5)分岐命令実行時の割込み方法は、第4
図に示すように、プログラムP1が走行中、分岐
した命令ハ,ヘのみを何らかの方法で表示し、そ
の命令ハ,ヘの実行時の情報をログ・アウトする
ものである。
このように、デバツグ支援機能は計算機の技術
進歩に伴つて充実されてきているが、生産される
プログラムの量と複雑さが急増するにもかかわら
ず、これらの機能では不十分であるのが実状であ
る。
また、デバツグの1つの手段として、プログラ
ムのある箇所にデバツグ用の命令を故意に埋込む
方法が行われる。これは、コンパイラ等の高級言
語により行われるデバツグ手段であつて、その目
的は、(1)そこのデバツグに関する必要情報をダン
プしたい場合、および(2)そこで故意にプログラ
ム・ロジツクを操作し、異る動作をさせたい場合
である。すなわち、上記(1)の場合には、第5図に
示すように、プログラムP1の走行中、命令イ,
ロ,ハの次にC1の割込み命令を特別に埋込み、
プログラムP1がここまで到着したときに割込み
ダンプを行い。必要な情報をメモリに読込む。
また、上記(2)の場合には、プログラムP1の命
令ホと判断命令ヘの間に条件設定C2を埋込み、
めつたに向うことがない障害関係等の命令チの方
にプログラムP1を強制的に向わせ、デイレイル
(脱線)によりデバツグを行う。
いずれの方法でも、ソース・プログラムP1に
対して余分な命令C1,C2を挿入するため、全
体のアドレスが狂つてしまう。また、これらの方
法の実行が、プログラム生産段階では可能であつ
ても、ユーザに渡つて実用に供されてからでは、
このようなロジツク操作がきわめて困難である。
一方、上記の欠点を除く一手段として、従来、
第6図に示すように、メモリ9にタグTGを付加
する方法が提案されている。すなわち、メモリ9
のワード(例えば32ビツト)に対して、1〜数ビ
ツトのタグTGを付し、これらのタグTGをデバツ
グ情報として、“1”のとき割込み、“3”のとき
デイレイル、“5”のときマーク等として使用す
る。
しかし、この方法では、メモリ9が物理的に大
きくなつてしまい、ハードウエア・コストが上昇
すること、およびあまりにも物理的な手段である
ために柔軟性に乏しいこと等の欠点がある。
本発明の目的は、これらの欠点を除去するた
め、メモリ・タグ手段と同等以上のデバツグ機能
を有するが、ハードウエア・コストの増加がな
く、かつ柔軟性に富むデータ処理方式を提供する
ことにある。
本発明のデータ処理方式は、従来の仮想メモリ
方式における仮想空間を拡張して、プログラム実
行のための空間の他に、その空間と同時に処理さ
れるデバツグ用の空間を新しく設け、命令アドレ
スとオペランド・アドレスの他にデバツグ実行ア
ドレスをアドレス変換機構により実アドレスに変
換し、プログラム実行のためのメモリ・アクセ
ス、デバツグ等のためのメモリ・アクセスをそれ
ぞれ行うことを特徴としている。
以下、本発明の実施例を、図面により説明す
る。
第7図は、本発明が適用されるアドレス変換機
構のブロツク図である。
外部記憶装置を備える計算機システムでは、プ
ログラムの実行に先立ち、外部記憶装置から主記
憶装置に対して該当するプログラムやデータをロ
ードする必要があるが、プログラムの動的再配置
を容易に、かつ効率的に実現するため仮想記憶空
間を設け、仮想記憶上のアドレスを論理アドレス
として取扱い、仮想記憶をサポートするオペレー
テイング・システムと一体になつて論理アドレス
を実アドレスに変換する方法が用いられている。
仮想空間を用いる計算機では、仮想空間上の情
報がページ単位に分割されており、通常、仮想空
間の1ページが実空間の1ページと1対1に対応
している。
先ず、主記憶装置の特定エリアに格納されてい
るPSW(プログラム状態語)が読出されたと
き、そPSWの特定制御ビツト(アドレス変換モ
ード・ビツト)が“1”のときアドレス変換機構
が有効となり、“0”のときにはアドレス変換は
行われない。
多重仮想記憶計算機では、複数個の仮想空間が
それぞれセグメント・テーブルSTを持ち、複数
個の仮想空間の中の1つを指定するために、第7
図に示すセグメント・ベース・レジスタSBRがセ
グメント・テーブルSTの先頭アドレスSTOを指
示する。
1つの仮想空間に対応して論理アドレスから実
アドレスを求めるため、セグメント・ベース・レ
ジスタSBRの内容(セグメント・テーブルSTの
先頭アドレス)と論理アドレス・レジスタLAR
のS(セグメント)フイールドとを演算器ALUO
に入力し、セグメント・テーブルSTの該当番地
を得て、その番地をアクセスすることによりベー
ジ・テーブル先頭アドレスPTOを読出す。次
に、そのページ・テーブル先頭アドレスPTOと
論理アドレス・レジスタLARのP(ページ)フ
イールドとを演算器ALU1に入力し、ページ・
テーブルPTの該当番地を得て、その番地をアク
セスすることにより実ページ・アドレスRPAを
読出す。
なお、論理アドレス・レジスタLARのページ
内変位フイールドLは、そのまま実アドレス・レ
ジスタRARのバイト・アドレスBAとなる。
本発明においては、このようなアドレス変換機
構を用い、かつ仮想アドレス空間の拡張を行う。
すなわち、基本的なアドレス空間であるプログラ
ム実行アドレス空間(以下PEASと記す)の他
に、拡張された空間としてデバツグ情報アドレス
空間(以下DIASと記す)を設ける。
多重仮想記憶計算機のある論理アドレスが複数
個の仮想空間の中の1つだけに属しているのに対
して、DIASが新しく設けられた場合には、ある
論理アドレスは複数個の仮想空間の中の1つであ
るPEASに属していると同時にDIASにも属して
いる点で、単純な仮想メモリ方式とは異なる。
第8図は、本発明の実施例を示す拡張されたア
ドレス変換機構の模式図である。
前述のように、プログラムで示される論理アド
レスLAは、PEASと同時にDIASにも属し、この
DIASと実メモリ・アドレスPAとのマツピング
は、第8図に示す拡張されたアドレス変換機構に
よつて行われる。すなわち、第8図に示す論理ア
ドレス・レジスタLARの内容は、2つの意味を
有し、その1つはPEASに属してプログラム実行
のためのアドレスであり、他の1つはDIASに属
してデバツグ情報のためのアドレスである。
第8図に示す拡張されたアドレス変換機構は、
1つの論理アドレスLAから2つの実メモリ・ア
ドレスPAを発生させる機能を有する。発生され
る実メモリ・アドレスPAの1つは、従来より発
生されているプログラム実行アドレスPA0であ
り、他の1つはデバツグ情報の指示アドレスとし
ての実メモリ・アドレスPA1である。
論理アドレスLAからプログラム実行アドレス
PA0を求める処理は、第7図で説明したよう
に、セグメント・ベース・レジスタSBR0、セグ
メント・テーブルST0、ページ・テーブルPT0
を用いて、従来のアドレス変換動作により行われ
る。
本発明においては、新しくセグメント・ベー
ス・レジスタSBR1、セグメント・テーブルST
1、およびページ・テーブルPT1を設け、これ
らを用いて論理アドレスLAからデバツグ実行ア
ドレスPA1への変換を行う。
セグメント・ベース・レジスタSBR0は、通
常、処理装置内にレジスタとして設置され、一方
のセグメント・テーブルST0とページ・テーブ
ルPT0は主メモリMS上にテーブルとして定義さ
れる。第8図において新しく設けられたセグメン
ト・ベース・レジスタSBR1、セグメント・テー
ブルST1、およびページ・テーブルPT1も、同
じように、レジスタあるいは主メモリMS上に定
義されてよい。
第8図では、プログラム実行アドレスPA0へ
の変換と並行して、セグメント・ベース・レジス
タSBR1とセグメント・テーブルST1とペー
ジ・テーブルPT1とを用い、デバツグ実行アド
レスPA1に変換する。このアドレスPA1によ
り、主メモリMS上のアドレスPA0と異るエリア
をアクセスしてタグ情報を読出す。このタグ情報
を、デバツグ実行時に用いるのである。
主メモリMS上には、プログラム命令を格納す
る領域PGの他に、デバツク用のタグを格納する
領域TGが必要となるが、プログラム走行中の必
要な命令にだけタグを付加すればよいため、第6
図に示すような全領域にタグTGを設ける方法に
比べてメモリ容量の増加が少い。
なお、PEASとDIASとを1対1で対応させる
方法、つまりPEASの1バイトに対してDIASの
1バイトを対応させる方法を用いるのが最も簡単
である。また、他の方法の例として、PEASの1
バイトに対して、DIASの1ビツトを対応させる
方法もあるが、アドレス空間の拡張という考えで
は両者は全く同じである。
アドレス変換機構として、第8図では、セグメ
ント・ベース・レジスタSBRを2個設ける方法を
示しているが、他にも種々の方法がある。
第9図および第10図は、それぞれ本発明の他
の実施例を示すアドレス変換機構の説明図であ
る。
第9図は、1つの論理アドレスLAから従来の
アドレス変換機構を殆んど変更することなく、2
つの実メモリ・アドレスPA0,PA1を発生する
方法を示す。この方法では、PEASとDIASを2
つの空間として分離することなく、PEASの中に
DIASを含ませる。すなわち、PEASを2つの分
割し、片側をPEASとして使用し、他側をDIAS
として使用する。
この方法では、セグメント・ベース・レジスタ
SBR、セグメント・テーブルSTおよびページ・
テーブルPTは各々1個ずつ設けられるだけであ
るから、第9図aに示すように、1つの論理アド
レスLAから2つのものS1,S2を発生させな
ければならない。
そこで、第9図bに示すように、論理アドレス
LAの最上位ビツトを、PEASのとき“0”、
DIASのとき“1”として切分ける。
論理アドレスLAは、PEASが4096MB(=282
のときに全アドレスを指定できるための32ビツト
長を有しており、第9図dに示すように、論理ア
ドレス空間LDを2分割して、プログラム格納領
域PGとタグ格納領域TGに使用する。例えば、第
9図cに示すように、論理アドレスLAの“000…
…011”および“100……011”から、それぞれ第
9図dに示すプログラム領域PGの1つを指定す
る実メモリ・アドレスと、タグ領域TGの1つを
指定する実メモリ・アドレスとを発生させること
ができる。
次に、第10図は、3個以上のセグメント・ベ
ース・レジスタSBRを用いて、対応する複数のタ
グを取出せる実メモリ・アドレスPA1を発生さ
せる方法を示す。すなわち、3個以上のセグメン
ト・ベース・レジスタSBRを用いて、DIASを多
面作成する。第10図では、5個のセグメント・
ベース・レジスタSBR0〜4に対して、それぞれ
PEASの1バイトと、4個のDIASの各1バイト
を対応させている。このようにすれば、PEASの
1バイトに対して、DIASのビツト数を任意に選
択でき、柔軟性を持たせることができる。例え
ば、ページ単位に、DIASのサイズを可変にする
ことが可能である。
この場合、PEASの1バイトに対し、DIASを
複数個選択しても、最終的にデバツグ実行アドレ
スPA1はすべて1個のプログラム実行アドレス
PA0に対応するものとなる。
これらのアドレスPA1により読出されるタグ
TGは、例えば、この命令アドレスは誰が使つた
か、どのレジスタゆ使つたか等の各種デバツグ情
報となる。
デバツグ処理は、PEASでのプログラム実行と
同期して、DIASのPEASに対応したデータ(タ
グTG)を処理することにより実行される。DIAS
のアクセスは、PEASへのアクセスを契機にして
行われる。すなわち、PEASにおいて、命令フエ
ツチが行われると、それを契機としてその命令ア
ドレスに対応したDIASへのアクセスが行われ
る。オペランドも、全く同じようにして読出され
る。
DIASへの処理では、(1)DIASにマークを付す動
作と、(2)DIASの情報によりPEASでのプログラ
ム実行にトラツプ(わな)を発生する動作とが基
本となる。上記(1)では、プログラムの命令がフエ
ツチされたとき、その命令アドレスに対応するタ
グに対して“1”を書込むことにより、プログラ
ムの走行マツプを得る。走行マツプは、プログラ
ム実行後、他の解析プログラムによつて解析さ
れ、有効なデバツグ情報が得られることになる。
また、上記(2)では、デバツグ情報を調べたいプロ
グラム命令アドレスに対応したタグ情報に、例え
ば割込みマーク、割込み先のアドレス情報等を書
込んだり、ロジツク操作を行うことによつて、従
来実行されていた命令アドレス一致、オペラン
ド・アドレス一致、あるいは新しくデイレールを
実行することができる。
第11図は、本発明の実施例を示すデータ処理
装置のブロツク図である。
第11図に示すように、本発明のデータ処理装
置は、共通制御部1、命令ユニツト2、演算ユニ
ツト3、デバツク制御ユニツト4、アドレス変換
部6,7、メモリ制御部8および主メモリ9等か
ら構成され、これらのうちのデバツク用のアドレ
ス変換部7以外は従来より設けられているか、あ
るいは従来の回路から分離独立して設けられたも
のである。すなわち、共通制御部1は中央処理装
置における各部に共通な制御回路を抜出したもの
で、デバツグ・モードを設定するためのシステ
ム・レジスタもこの中に含まれる。命令ユニツト
2は、プログラムの命令を読出してきて実行に移
すまでの準備を行う回路であり、演算ユニツト3
は命令ユニツト2で用意された命令を実行し、論
理演算動作を行う回路である。デバツグ制御ユニ
ツト4は、デバツグ実行アドレスを実アドレスに
アドレス変換するための指令を出したり、実アド
レスでタグに書込みを行つてデバツグを実行する
回路である。
先ず、デバツグ・モードの設定が、プログラム
により行われる。すなわち、共通制御部1のシス
テム・レジスタの各モードに対応するビツトが、
プログラムにより“1”にセツトされ、保持され
ることによつてデバツグ・モードが設定される。
デバツグ・モードとしては、(1)実行した命令の
アドレスにマークを付すモード、(2)実行したオペ
ランドのアドレスにマークを付すモード、(3)フラ
グが付されたアドレスの命令を実行したときにト
ラツプを生じるモード、(4)フラグが付されたアド
レスをオペランドとして参照または変更したとき
に、トラツプを生じるモード、のいずれか1つ、
あるいはそれらの複数を指示できる。
第11図においては、主メモリ9上に、命令ま
たはオペランドのアドレスLAを実メモリ上のア
ドレスPA0,PA1に変換するためのアドレス変
換テーブルATTを備えている。オペレーテイン
グ・システムは、アドレス変換テーブルATTを
作成した後、PSWのアドレス変換モード・ビツ
トが“1”になると、命令またはオペランドのア
ドレスLAを従来の変換方法により実アドレスPA
0に変換する。
オペレーテイング・システムが、デバツグ実行
アドレスPA1に変換するためのアドレス変換テ
ーブルATTを作成する場合、PEASのプログラ
ムが実行され、必要に応じて主メモリ9上に割当
てられるとき、その割当てページに対応した
DIASのページも同じように主メモリ9上に割当
てられる。同じようにして、PEASのページが主
メモリ9上から消されたとき、DIASのページも
消されてもよい。
これらの動作は、すべてオペレーテイング・シ
ステムにより実行されるが、従来の仮想アドレス
空間方式のオペレーテイング・システムと基本的
には同一動作であるため、何ら問題は生じない。
特に、従来実用されている多重仮想アドレス空間
方式では、異る2つの空間がある一瞬でも同時に
存在しないのに対して、本発明ではPEASと
DIASが常に同時に存在し、同時に2つ以上の空
間で処理が並行して行われる点で差異があるが、
これは実際のハードウエア処理上の差異であつ
て、オペレーテイング・システムとしては従来の
機能をこの程度に拡張することはきわめて簡単で
ある。
デバツグ・モードが設定され、主メモリ9にア
ドレス変換テーブルATTが作成された後、プロ
グラムがデバツグ動作と並行に実行される。
プログラムの実行は、先ず命令アドレスの発生
で開始される。命令ユニツト2においては、読出
すべき命令のアドレスが発生されると、その命令
アドレスはアドレス・レジスタ5に送られる。
この命令アドレスは、論理アドレスLAのた
め、アドレス変換部6により実アドレスPA0に
変換されてメモリ制御部8に転送される。アドレ
ス変換部6は、主メモリ9上のアドレス変換テー
ブルATTを索引して、第7図で説明したような
処理により実アドレスPA0を得る。
メモリ制御部8は、命令アドレスにより主メモ
リ9からデータとして命令を読出し、データ・レ
ジスタ10にセツトした後、このデータを命令ユ
ニツト2に転送する。
共通制御部1は、この動作の完了によつてデバ
ツグ制御部4に点線のルートで指令を出す。
デバツグ制御部4は、先に共通制御部1から送
られているデバツグ・モードにより動作を行う。
デバツグ・モード(1)(実行した命令のアドレス
にマークを付すモード)の場合、アドレス・レジ
スタ5に先の命令アドレス(論理アドレス)が保
持されているので、そのアドレスを用いてアドレ
ス変換部7に変換指令を出し、実アドレスPA1
を求めると同時に、データ・レジスタ10にマー
ク・ビツトを立てる。そして、求められた実アド
レスPA1で主メモリ9をアクセスし、データ・
レジスタ10の内容、つまりマークをタグ領域に
書込む。
これにより、命令アドレスにマークが付された
ことになる。実行されるすべての命令アドレスに
対応するタグに対し、マークを付すことにより、
プログラムの走行マツプが得られる。
なお、アドレス変換部7は、主メモリ9上のア
ドレス変換テーブル(論理アドレスLAから実ア
ドレスPA1への変換用)を用いて変換するが、
その処理は第8図に示す方法で実行し、そのとき
アドレス変換部7内に存在するセグメント・ベー
ス・レジスタSER1を使用する。
次に、デバツグ・モード3(フラグの付された
アドレスの命令を実行したときにトラツプを生じ
るモード)の場合、前述のデバツグ・モード1と
同じようにして実メモリ・アドレスPA1を求
め、このアドレスで主メモリ9からデータをデー
タ・レジスタ10に読出す。
デバツグ制御部4は、主メモリ9から読出され
たデータをデータ・レジスタ10から取込み、デ
ータ中のフラグの有無を調べる。もし、フラグが
“0”のときには、何もすることなく、フラグが
“1”のときには、デバツグ制御部4内のトラツ
プ・フリツプ・フロツプをオンにし、この命令が
終了したときに共通制御部1によつて命令完了形
の割込みを発生させる。割込みが起ると、旧
PSWは主メモリ9の特定領域に格納され、他の
特定領域から新PSWが読出される。
デバツグ制御部4の動作と並行して、命令ユニ
ツト2では、命令の解読が行われ、続いてオペラ
ンド・アドレスが発生される。一般に、オペラン
ド・アドレスは、一般にベース修飾、インデツク
ス修飾がなされるが、これも従来と同じ方法で行
われる。
オペランド・アドレスが求められ、かつデバツ
グ制御部4の動作が終了すると、命令ユニツト2
はオペランド・アドレスをアドレス・レジスタ5
にセツトし、アドレス変換部6により実アドレス
を求める。
命令がメモリ読出し(あるいはメモリ書込み)
を指示している場合には、その実アドレスにより
主メモリ9をアクセスし、読出し(あるいは書込
み)を行う。読出しのときは、読出されたデータ
は、データ・レジスタ10にセツトされ、続いて
演算ユニツト3に送られて、そこで演算が行われ
る。
命令ユニツト2のメモリ・アクセス動作が終了
すると、共通制御部1を介してデバツグ制御部4
にデバツグ動作指示が送出される。
デバツグ・モード2(実行したオペランドのア
ドレスにマークするモード)の場合、デバツグ・
モード1と同じようにして、オペランド・アドレ
スに対してDIAS上にマークが付される。
次に、デバツグ・モード4(フラグの付された
アドレスをオペランドとして参照または変更した
とき、トラツプを生じるモード)の場合、参照の
ための読出しフラグが付されるときと、変更のた
めの書込みフラグが付されるときがある。デバツ
グ・モード3の場合と同じようにして実メモリ・
アドレスPA1を求め、このアドレスにより主メ
モリ9からデータを読出し、デバツグ制御部4に
送つてフラグの有無を調べる。もし、読出しフラ
グが“1”で、オペランド読出しのとき、割込み
が発生する。また、書込みフラグが“1”で、オ
ペランド書込みのときにも、割込みが発生する。
割込みは、命令終了時に完了形の割込みが発生
し、かつ他の割込みとの区別のために、デバツグ
割込みの種類と発生アドレスがプログラムに報告
される。すなわち、従来、割込みコードはデバツ
グ割込みとして1種類しかないが、本発明では、
種々のトラツプが存在するため、どこのトラツプ
であるかを報告するため、主メモリ9上の旧
PSWとは異る特定領域に種類ごとの割込みコー
ドを格納する。
また、デバツグ割込みの原因アドレス、つまり
フラグの付されたアドレスは、従来の処理方式で
は単一の原因しかないため、報告されることがな
いが、本発明では、原因アドレスとしてアドレ
ス・レジスタ5の内容をデバツグ制御部4が取込
み、内蔵メモリに記憶することにより報告が可能
となる。
以上説明したように、本発明によれば、ハード
ウエア・コストを増加することなく、メモリ・タ
グ手段と同等以上のデバツグ機能を持たせ、かつ
柔軟性を有するデバツグ情報の処理が可能とな
る。
【図面の簡単な説明】
第1図、第2図、第3図および第4図はそれぞ
れ従来のデータ処理装置におけるデバツク支援機
能の説明図、第5図、第6図はそれぞれ従来のデ
バツグ手段の一例を示す説明図、第7図は本発明
が適用されるアドレス変換機構のブロツク図、第
8図は本発明の実施例を示す拡張されたアドレス
変換機構の模式図、第9図、第10図はそれぞれ
本発明の他の実施例を示すアドレス変換機構の説
明図、第11図は本発明の実施例を示すデータ処
理装置のブロツク図である。 1…共通制御部、2…命令ユニツト、3…演算
ユニツト、4…デバツグ制御ユニツト、5…アド
レス・レジスタ、6,7…アドレス変換部、8…
メモリ制御部、9…主メモリ、10…データ・レ
ジスタ、LA…論理アドレス、PG…プログラム実
行アドレス領域、TG…タグ領域、PEAS…プロ
グラム実行アドレス空間、DIAS…デバツグ情報
アドレス空間、SBR…セグメント・ベース・レジ
スタ、LAR…論理アドレス・レジスタ、ST…セ
グメント・テーブル、PT…ページ・テーブル、
PA0,PA1…実メモリ・アドレス。

Claims (1)

    【特許請求の範囲】
  1. 1 プログラムにより仮想アドレス空間に属する
    命令アドレスおよびオペランド・アドレスを発生
    し、該アドレスをアドレス変換機構により実アド
    レスに変換するデータ処理装置において、プログ
    ラム実行アドレス空間の他に、1個以上のデバツ
    グ情報アドレス空間を設け、上記両空間のいずれ
    にも属する単一のアドレスを上記アドレス変換機
    構を用いて2個以上の実アドレスに変換し、プロ
    グラム実行のため、およびデバツク等のために、
    それぞれメモリをアクセスすることを特徴とする
    データ処理方式。
JP6508680A 1980-05-16 1980-05-16 Data processing system Granted JPS56162156A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6508680A JPS56162156A (en) 1980-05-16 1980-05-16 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6508680A JPS56162156A (en) 1980-05-16 1980-05-16 Data processing system

Publications (2)

Publication Number Publication Date
JPS56162156A JPS56162156A (en) 1981-12-12
JPS6113615B2 true JPS6113615B2 (ja) 1986-04-14

Family

ID=13276769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6508680A Granted JPS56162156A (en) 1980-05-16 1980-05-16 Data processing system

Country Status (1)

Country Link
JP (1) JPS56162156A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02116822U (ja) * 1989-03-03 1990-09-19
JPH046574Y2 (ja) * 1987-12-28 1992-02-24
JPH08280427A (ja) * 1995-04-12 1996-10-29 Sakuseshia:Kk ピアス用キャッチの製造方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH046574Y2 (ja) * 1987-12-28 1992-02-24
JPH02116822U (ja) * 1989-03-03 1990-09-19
JPH08280427A (ja) * 1995-04-12 1996-10-29 Sakuseshia:Kk ピアス用キャッチの製造方法

Also Published As

Publication number Publication date
JPS56162156A (en) 1981-12-12

Similar Documents

Publication Publication Date Title
US7533246B2 (en) Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation
US5668969A (en) Address selective emulation routine pointer address mapping system
US4951195A (en) Condition code graph analysis for simulating a CPU processor
US4794522A (en) Method for detecting modified object code in an emulator
US11768757B2 (en) Kernel debugging system and method
JP2001504957A (ja) 先進のプロセッサにおけるメモリ・データ・エリアシング方法および装置
KR950033859A (ko) 부동 소숫점 유니트에서의 다이나믹 레지스터 관리 장치 및 방법
US6529862B1 (en) Method and apparatus for dynamic management of translated code blocks in dynamic object code translation
US7240334B1 (en) Methods, systems, and computer program products for deferred computer program tracing
US6516295B1 (en) Method and apparatus for emulating self-modifying code
CN111433742A (zh) 多保护标签设置指令
JP5318197B2 (ja) ホストデータ処理装置内におけるデバイスエミュレーションのサポート
CN110431536B (zh) 实现整个数据结构上的断点
US7043717B2 (en) Debugging apparatus and method
US20070156386A1 (en) Linearization of page based memory for increased performance in a software emulated central processing unit
US6457171B1 (en) Storage structure for dynamic management of translated code blocks in dynamic object code translation
KR102658600B1 (ko) 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법
JP2001519955A (ja) 先進のプロセッサのための変換メモリ保護装置
JPS6113615B2 (ja)
JP2021512405A (ja) メモリ・アクセスにおける保護タグ・チェックの制御
JP2001519954A (ja) 一時的にターゲット・プロセッサの状態を保持する装置を備えたホスト・マイクロプロセッサ
CN112470134B (zh) 数据处理装置和数据处理方法
US20050289541A1 (en) Virtual machine control structure decoder
JPS6058487B2 (ja) デ−タ処理装置
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置