JPH02126340A - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPH02126340A
JPH02126340A JP63279960A JP27996088A JPH02126340A JP H02126340 A JPH02126340 A JP H02126340A JP 63279960 A JP63279960 A JP 63279960A JP 27996088 A JP27996088 A JP 27996088A JP H02126340 A JPH02126340 A JP H02126340A
Authority
JP
Japan
Prior art keywords
access
shared object
address
shared
holding means
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
JP63279960A
Other languages
English (en)
Inventor
Shigehisa Kawabe
川邉 恵久
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP63279960A priority Critical patent/JPH02126340A/ja
Publication of JPH02126340A publication Critical patent/JPH02126340A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、仮想記憶管理を行うメモリ管理ユニットを有
するデータ処理システムに関する。
[従来の技術] 近年、マイクロプロセッサを用いたパーソナルコンピュ
ータやワークステーションなどのコンピュータシステム
では、より高い性能を求めてマルチプロセス化・マルチ
プロセッサ化の傾向にある。このようなシステムでは、
ソフトウェアの開発効率向上が大きな問題となっており
、中でも、デバッグ作業の効率向上は、ソフトウェア開
発における重要なポイントの一つである。
マルチプロセス処理を行う処理装置、特にマルチプロセ
ッサシステムにおけるマルチプロセス処理を行う処理装
置では、各タスクが独立にメモリを並行に或いは並列に
操作するため、共有オブジェクトに対する誤った操作は
、発見が難しく、場合によっては、各プロセスのデッド
ロックを引き起こす可能性もある(例えば、エム・ペン
−アリ著「並行プログラミングの原理」1986年3月
15日、啓学出版株式会社発行、pp、23−29参照
)。
一方、従来の仮想記憶管理方式は、プロセッサからの論
理アドレスをもとにアドレス変換テーブルを参照してア
ドレスを変換する機構と、アドレス変換の高速化を目的
としたTLB(Translation Look−a
side Buffer)として良く知られている機構
を含むメモリ管理ユニットからなる機構を組み合せるこ
とで実現されている(例えば、r 68030の登場で
32ピツ)MPUの仮想記憶管理が普及へ」、「日経エ
レクトロニクスJ 、1987年9月21日号、 No
、430. pp、123−136参照)。
[発明が解決しようとする課題] しかし、これらの仮想記憶機構では、プロセス間で共有
されるオブジェクト(以下、共有オブジェクトと云う)
へのアクセスに対してなんらの識別情報も得られない。
このため、共有オブジェクトに対して誤った操作が行わ
れた場合でも、これを発見することはできなかった。
本発明は、前記従来の仮想記憶機構の持つ不具合に鑑み
、共有オブジェクトに対する誤った操作の発見に対して
有効なデータ処理システムを提供することを目的とする
[課題を解決するための手段] 本発明のデータ処理システムは、前記目的を達成するた
め、複数プロセス間で共有される共有オブジェクトを示
す属性コードを保持するためのメモリ属性保持手段と、
前記複数プロセスの中の前記共有オブジェクトに対して
アクセスシタフロセスを特定するためのプロセス識別子
を保持するためのプロセス識別子保持手段と、前記属性
コードを識別して前記共有オブジェクトに対するアクセ
スを検出するためのアクセス検出手段とを設け、更に、
前記アクセス検出手段の出力に基づいて前記共有オブジ
ェクトに対するアクセス履歴を保持するアクセス履歴保
持手段を設けたことを特徴とする。
前記アクセス履歴保持手段は、前記プロセス識別子、前
記アクセスのアクセスアドレス、前記アクセスのデータ
及び前記アクセスが読み出しか書き込みかを示す信号を
記録することが望ましい。
また、前記アクセス検出手段の出力を、前記複数プロセ
スを実行するプロセッサにトラップ入力として供給し、
該プロセッサにより、前記アクセス履歴保持手段に記録
されたアクセス履歴に基づいてアクセスの古い順に前記
複数プロセスのうちの一つのプロセスを順次実行するこ
とができる。
[作用] 本発明の作用を第1図を参照して具体的に例を挙げて説
明する。
第1図は、本発明のデータ処理システムの基本構成を示
す説明図である。
図において、5は仮想記憶機構の仮想アドレス10を実
際の記憶機構の物理アドレスに変換するアドレス変換機
構を示し、メモリ中に存在するプロセス間で共有される
共有オブジェクトを示す属性コードすなわち属性フラグ
1.共有オブジェクトに対してアクセスしたプロセスを
特定するためのプロセス識別子2.仮想アドレスタグ3
及び実アドレスベージ番号4を保持する複数のTLBレ
ジスタ51〜5nの集合と、仮想ベージアドレス中の仮
想アドレスベージ番号がら−っのTLBレジスタを選択
するためのハツシュ関数発生器7とから構成される装置 また、アドレス変換時にTLBレジスタ51〜5nの属
性フラグ1を調べて、アクセスするアドレスが共有オブ
ジェクトかどうかを検出する共有オブジェクトアクセス
検出器6、現在アクセス中のプロセス識別子を保持する
プロセス識別子レジスタ8、TLBレジスタ51〜5n
の属性フラグ1に適切な値を設定するため属性設定レジ
スタ9、共有オブジェクトに対するアクセスの履歴を保
持する共有メモリアクセス保持手段である共有オブジェ
クトアクセス履歴保持手段(以下、単に履歴保持手段と
呼ぶ)15が設けられている。
以下に、基本的な動作を説明する。
いま、仮想アドレス10が与えられると、仮想ページア
ドレスと仮想ページオフセットに基づいて、アドレス変
換機構5における周知の適切なアドレス変換により、物
理アドレス11が出力され、メモリ(図示せず)がアク
セスされる。
アドレス変換に際して、TLBレジスタ51〜5nの一
つが選択され、属性フラグ1の内容から、このアクセス
が共有メモリへのアクセスであることが、共有オブジェ
クトアクセス検出器6で検出され、共有オブジェクトア
クセス検出信号12がメモリ管理ユニットより出力され
る。なお、メモリ管理ユニットは、共有オブジェクトア
クセス検出器6及び履歴保持手段15以外を全て含んだ
ものである。また、プロセス識別子レジスタ8の内容が
、プロセス識別子13として出力される。
共有オブジェクトアクセス検出信号12は、履歴保持手
段15を起動し、共有オブジェクトに対するアクセスの
記録を残す。これにより、外部から共有オブジェクトに
対するアクセスを検出することができ、しかもそのとき
、どのプロセスが、どんな順で、共有オブジェクトに対
してどのようなアクセスをしたか知ることができる。
また、TLBレジスタ51〜5nの集合の中に、入力さ
れた仮想アドレスページに該当するTLBレジスタがな
いことが比較器17で検出された場合、ページフォール
ト信号14が出力され、例えば、CPU(図示せず)に
トラップ信号が送られるなどして、TLBレジスタの置
き換え手続きが起動される。その際、該当ページが共有
オブジェクトならば、属性設定レジスタ9によってTL
Bレジスタ内の属性フラグ1に、共有オブジェクトを示
す属性値が書き込まれる。
[実施例] 以下、図面を参照しながら、実施例により本発明の特徴
を具体的に説明する。
第2図は、本発明実施例のブロック図を示す。
なお、第1図と対応する構成要素等には同一符号を付し
、重複説明は省略する。
第2図に示す実施例では、属性フラグ1として単に1ビ
ツトのレジスタを用い、属性値が[l」ならば共有オブ
ジェクトを示し、値が[OJならば非共有オブジェクト
を示すものとする。この実施例では、アドレス変換には
32エントリのTLBレジスタ51〜532からなるア
ドレス変換機構5を用いる。プロセス識別子2としては
、−意に与えられた0から255までのプロセス番号を
用いる。オフセットとして8ビツトを割当てるものとす
ると、1ページのサイズは256ワードとなる。
また、仮想アドレスページ番号(仮想ページアドレスタ
グ)及び物理アドレスページ番号(実アドレスページ番
号)として10ビツトを割当てるものとすると、仮想ア
ドレス空間及び物理アドレス空間は、それぞれ、102
4ページとなる。また、ハツシュ関数発生器7の関数と
しては、仮想アドレスページ番号に対して32の剰余を
結果とする関数を選ぶ。
ページフォールトが起きた場合は、CPU16に対して
トラップ信号として、ページフォールト信号14が比較
器17から出力され、該当ページをTLBレジスタ51
〜532に登録する手続が起動されるものとする。
また、例えば、FIFO(先入れ先出し)方式のキュー
メモリを用いて、共有オブジェクトアクセス検出信号1
2により、プロセス識別子13の他に、アクセスしたア
ドレスと、アクセスデータ及びオブジェクトに対するア
クセスが読み出口か書き込みかを示すR/W(読み出し
l書き込み)信号を記録するための共有オブジェクトア
クセス履歴保持手段15を用意する。
ここで、共有オブジェクトとして特定の物理アドレスベ
ージPaを割当てる。この物理アドレスベージPaに対
するTLBレジスタ51〜532の属性フラグ1に、属
性設定レジスタ9を経由して、共有オブジェクトを表す
ために、値[11を書き込む。プロセス番号Nのプロセ
スが、物理アドレスベージPaのアドレスAの共有オブ
ジェクトに値りを書き込んだとする。TLBレジスタ5
1〜532によるアドレス変換の過程で、物理アドレス
ベージPaに対するTLBレジスタが選択される。ここ
では、属性フラグの内容が[1]であるため、共有オブ
ジェクトアクセス検出信号12が出力され、履歴保持手
段15に、プロセス識別子、tVW信号及びアクセスデ
ータとして、プロセス番号N、アドレスA、書き込み信
号及び書き込みデータDが記録される。その後、プロセ
ス番号Mのプロセスが、物理アドレスベージPaのアド
レスAの共有オブジェクトに値Eを書き込んだとする。
同様にして、履歴保持手段15に、プロセス番号M、ア
ドレスA、書き込み信号及び書き込みデータEが記録さ
れる。
その後、プロセス番号Nのプロセスが、物理アドレスベ
ージPaのアドレスAの共有オブジェクトから値を読み
込んだとする。同様にして、履歴保持手段15に、プロ
セス番号N、アドレスA、読み込み信号及び読み込みデ
ータEが記録される。
このようにして、マルチプロセッサシステムにおける共
有オブジェクトに対して、どのような値で、且つ、どん
な順序で、アクセスが行われたか、詳細な履歴を残すこ
とができ、この履歴を検討することにより、共有オブジ
ェクトに対する誤ったアクセスをたやすく発見できる。
第3図に本発明の他の実施例を示す。なお、第1図、第
2図と対応する構成要素等には同一符号を付し、重複説
明は省略する。
この例では、共有オブジェクトアクセス検出信号12に
より、CPU16に対してトラップ信号を与えて、プロ
セスを切り替える処理を起動するものとする。この際、
CPU16から第2図の実施例において得られた履歴保
持手段15の内容、すなわち、共有オブジェクトに対す
るアクセスの履歴をアクセスできるように構成する。
すなわち、アドレス変換機構5から得られた物理アドレ
ス11及びCPU16からの主記憶R/W(読み出しl
書き込み)信号をアドレスデコーダ18に供給し、この
アドレスデコーダ18により履歴保持手段15のアドレ
スを指定する。
そして、履歴保持手段15から読み出された履歴を用い
て、次のような手順でプロセスが同時にただ一つだけ実
行されているように制御する。
マルチプロセッサシステムにおいては、同時に二つ以上
のプロセスが実行されており、どのプロセスのどの部分
がどういう順序で実行されるのかを再現する方法がない
ので、デバッグやトレースが困難である。ここで、本発
明においては、成る条件のもとでは、共有変数に対する
アクセスの順序が同じであるならば結果も同じであると
いうことに着目し、デバッグの際には、実行されるプロ
セスを一つに制限することにより、実行の再現性を確保
する。
具体的には、 (1)履歴上の最も古いアクセス記録を取り出す。
(2)現在勤いているプロセスがあれば中断して、取り
出したアクセス記録にあるプロセスを起動する。
(3)共有オブジェクトアクセスによるトラップが検出
されれば、記録されていた履歴手段から次のアクセス記
録を取り出し、ステップ(2)から繰り返す。もしアク
セス記録がなくなれば、終了する。
共有オブジェクトアクセスが検出されなければ、同じプ
ロセスを働かせ続ける。以後、共有オブジェクトアクセ
スによるトラップが検出されるまでステップ(3)を繰
り返す。
以上のような処理を行うことにより、特定のオブジェク
トを共有し、並行に又は並列に処理されるマルチプロセ
スシステムについて、各プロセスがどのように共有オブ
ジェクトに対するアクセスを行ったかを、各プロセスの
動きをシーケンシャルにトレースすることにより把握す
ることが可能となる。これにより、共有オブジェクトに
対する誤ったアクセスをたやすく発見できるようになる
[発明の効果] 以上のように、本発明は、共有オブジェクトを示す属性
フラグと、属性設定レジスタと、プロセス識別レジスタ
と、共有オブジェクトアクセス検出手段を設けることに
より、外部からの共有オブジェクトに対するアクセスを
検出し、更に、このアクセスの結果を共有オブジェクト
アクセス履歴保持手段に記憶させる。これにより、外部
から共有オブジェクトに対するアクセスを検出すること
ができ、しかもそのとき、どのプロセスが、どんな順で
、共有オブジェクトに対してどのようなアクセスをした
か知ることが可能となり、ひいては、誤った共有オブジ
ェクトに対するアクセスを発見することが容易となる。
また、以上の効果に加えて、特定のオブジェクトを共有
し、並行に又は並列に処理されるプロセスについて、各
プロセスの動きをシーケンシャルにトレースすることに
より、各プロセスがどのように共有オブジェクトに対す
るアクセスを行ったかを、正確に把握することが可能と
なり、共有オブジェクトに対する誤ったアクセスをたや
すく発見でき効率的なデバッグが可能となる。
【図面の簡単な説明】
第1図は本発明の基本的構成を示す説明図、第2図は本
発明の一実施例のブロック図、第3図は本発明の他の実
施例のブロック図である。 1:属性フラグ    2:プロセス識別子3:仮想ア
ドレスタグ 4:実アドレスページ番号5ニアドレス変
換機構 6:共有オブジェクトアクセス検出器 7:ハツシュ関数発生器 8:プロセス識別子レジスタ 9:属性設定レジスタ 10:仮想アドレス11:物理
アドレス 12:共有オブジェクトアクセス検出信号13:プロセ
ス識別子 14:ベージフォールト信号15:共有オブ
ジェクトアクセス履歴保持手段16:CPU     
  17:比較器18:アドレスデコーダ

Claims (1)

  1. 【特許請求の範囲】 1、複数プロセス間で共有される共有オブジェクトを示
    す属性コードを保持するためのメモリ属性保持手段と、
    前記複数プロセスの中の前記共有オブジェクトに対して
    アクセスしたプロセスを特定するためのプロセス識別子
    を保持するためのプロセス識別子保持手段と、前記属性
    コードを識別して前記共有オブジェクトに対するアクセ
    スを検出するためのアクセス検出手段とを設け、更に、
    前記アクセス検出手段の出力に基づいて前記共有オブジ
    ェクトに対するアクセス履歴を保持するアクセス履歴保
    持手段を設けたことを特徴とする データ処理システム。 2、前記アクセス履歴保持手段は、前記プロセス識別子
    、前記アクセスのアクセスアドレ ス、前記アクセスのデータ及び前記アクセスが読み出し
    か書き込みかを示す信号を記録することを特徴とする請
    求項1記載のデータ処理システム。 3、前記アクセス検出手段の出力は、前記複数プロセス
    を実行するプロセッサにトラップ入力として供給され、
    該プロセッサにより、前記アクセス履歴保持手段に記録
    されたアクセス履歴に基づいてアクセスの古い順に前記
    複数プロセスのうちの一つのプロセスを順次実行するこ
    とを特徴とする請求項1記載のデータ処理システム。
JP63279960A 1988-11-05 1988-11-05 データ処理システム Pending JPH02126340A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63279960A JPH02126340A (ja) 1988-11-05 1988-11-05 データ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63279960A JPH02126340A (ja) 1988-11-05 1988-11-05 データ処理システム

Publications (1)

Publication Number Publication Date
JPH02126340A true JPH02126340A (ja) 1990-05-15

Family

ID=17618327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63279960A Pending JPH02126340A (ja) 1988-11-05 1988-11-05 データ処理システム

Country Status (1)

Country Link
JP (1) JPH02126340A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732271A (en) * 1995-01-23 1998-03-24 International Business Machines Corporation Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects
JP2008529114A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
JP2009205212A (ja) * 2008-02-26 2009-09-10 Nec Corp メモリ障害処理システム、メモリ障害処理方法、及びメモリ障害処理プログラム
JP2012203729A (ja) * 2011-03-25 2012-10-22 Fujitsu Ltd 演算処理装置および演算処理装置の制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732271A (en) * 1995-01-23 1998-03-24 International Business Machines Corporation Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects
JP2008529114A (ja) * 2005-01-24 2008-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
JP2013118005A (ja) * 2005-01-24 2013-06-13 Internatl Business Mach Corp <Ibm> 単一プロセッサまたはマルチプロセッサ・コンピュータ・システムにおけるマルチタスク・アプリケーションのロギングおよび再生を最適化する方法
JP2009205212A (ja) * 2008-02-26 2009-09-10 Nec Corp メモリ障害処理システム、メモリ障害処理方法、及びメモリ障害処理プログラム
JP2012203729A (ja) * 2011-03-25 2012-10-22 Fujitsu Ltd 演算処理装置および演算処理装置の制御方法

Similar Documents

Publication Publication Date Title
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
US7886198B2 (en) Method and system of identifying overlays used by a program
US8356210B2 (en) Programming in a simultaneous multi-threaded processor environment including permitting apparently exclusive access to multiple threads and disabling processor features during thread testing
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US20020147965A1 (en) Tracing out-of-order data
JP2008512786A (ja) データ構造の選択的複製方法および装置
KR970011207B1 (ko) 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치
JPH06290076A (ja) デバッグ装置
EP0431326A2 (en) Inter-processor interrupts in an n-element multi-processor
JPH0260012B2 (ja)
US20020093691A1 (en) Live memory snapshot
US8635603B2 (en) Handling debugger breakpoints in a shared instruction system
KR100605141B1 (ko) 디버깅을 위해 데이터 최적화와 동시에 객체 크기 정보의 유지
JPH02126340A (ja) データ処理システム
JPS5987566A (ja) メモリアクセス検出方式
JPH07120318B2 (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
JPS6237752A (ja) 別々の命令及びデ−タインタ−フエ−ス及びキヤツシユを持つたマイクロプロセサを有するマルチプルバスシステム
US6298355B1 (en) Computer system
CN115485668A (zh) 存储器页标记作为基于处理器的执行跟踪的日志记录线索
JPH0731619B2 (ja) 変数を含まない関数型言語コードを用いる2進有向グラフとしてストアされたプログラムを評価する縮小プロセッサのためのシステムアロケータ
JPH0552539B2 (ja)
GB2037466A (en) Computer with cache memory
CA1328026C (en) Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit
JP2002132743A (ja) メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体
JP3061818B2 (ja) マイクロ・プロセッサ用アクセス・モニタ装置