JPS61161548A - Data processor - Google Patents

Data processor

Info

Publication number
JPS61161548A
JPS61161548A JP60002392A JP239285A JPS61161548A JP S61161548 A JPS61161548 A JP S61161548A JP 60002392 A JP60002392 A JP 60002392A JP 239285 A JP239285 A JP 239285A JP S61161548 A JPS61161548 A JP S61161548A
Authority
JP
Japan
Prior art keywords
address
logical
instruction
register
main 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.)
Pending
Application number
JP60002392A
Other languages
Japanese (ja)
Inventor
Hideo Shimazu
秀雄 島津
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 JP60002392A priority Critical patent/JPS61161548A/en
Publication of JPS61161548A publication Critical patent/JPS61161548A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To facilitate supervision of a logical space by giving logical addresses of another process to read or write data from or in memory cells on a main memory corresponding to them since one process inputs the discrimination name of another process. CONSTITUTION:The logical address indicated by an address register 2 is converted to a storage position on a main memory 1 by an address converting unit 3. An another process address converting unit 6 reads out the value in a process control block indicated by a process name converting unit 5 and stores this value and converts a logical address of another process to a storage position on the main memory 1. The logical address on the logical space in another process is stored in an another process address register 7. The output of the address converting unit 3 and that of the another process address converting unit 6 are selected by a selector 8 and are inputted to the main memory 1.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、マルチプロセス計算機システムにおける自分
以外のプロセスの状態の監視及び変更手段を備えたデー
タ処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a data processing apparatus equipped with means for monitoring and changing the states of processes other than itself in a multi-process computer system.

(従来技術とその問題点) 計算機上で動作するプログラムは、注意深く設計・開発
してもしばしばエラーを引きおこす。プログラムの虫取
りの為にエラーをひきおこすプログラムを実際に走らせ
ながらエラーの追跡を行なうものとして、デバッガプロ
グラムやトレースプログラムがある。これらのプログラ
ムをを視サブシステムと呼ぶことにする。
(Prior art and its problems) Programs that run on computers often cause errors even if they are carefully designed and developed. There are debugger programs and trace programs that track errors while actually running programs that cause errors in order to eliminate program bugs. We will call these programs the visual subsystem.

マルチプロセス計算機システムにおける監視サブシステ
ムの一般的な作り方は、対象とするプログラムと監視す
るプログラムを別々のプロセスで実行させ、対象とする
プログラムを実行するプロセスの状態をを視するプロセ
スの側で制御するというものである。
The general way to create a monitoring subsystem in a multi-process computer system is to have the target program and the program to be monitored run in separate processes, and then control the status of the process that executes the target program on the side of the monitoring process. The idea is to do so.

マルチプロセス機構の実現を支援するメモリ管理部のア
ーキテクチャサポートとしてプロセスごとにセグメント
テーブルを別に持ち、かつ実行中のプロセスのセグメン
トテーブルをハードウェアで管理するセグメントメモリ
に格納する機構を持つマルチプロセス計算機システムが
従来からある。この計算機システムは、プログラム中に
出現する論理アドレスから主メモリの実アドレスへのア
ドレス計算が高速に行なえるので計算機の性能向上に有
効である(′よりM System/370 Pr1n
ciplesof 0peration” 8th E
dition (Mar、 1981))。
A multi-process computer system that has a separate segment table for each process as architectural support for a memory management unit that supports the realization of a multi-process mechanism, and has a mechanism that stores the segment table of the running process in a segment memory managed by hardware. has traditionally existed. This computer system is effective in improving computer performance because it can quickly calculate addresses from logical addresses that appear in a program to real addresses in main memory (from 'M System/370 Pr1n
ciplesof 0operation” 8th E
dition (Mar, 1981)).

このような計算機システムにおいては、他プロセスの論
理空間上の論理アドレスを入力として、対応する主メモ
リ上のメモリセルを読みだす手段がない。従っであるプ
ロセスから別のプロセスの論理空間を盗み見るという状
況が起こり得ないのでユーザのプライバシーの保護の点
では有効である。
In such a computer system, there is no means to input a logical address in the logical space of another process and read out a corresponding memory cell in the main memory. Therefore, a situation in which one process stealthly views the logical space of another process cannot occur, which is effective in protecting user privacy.

しかしながらこのような計算機システムの上にを視サブ
システムを構築しようとすると、他プロセスの論理空間
上の論理アドレスを入力として対応する主メモリ上のメ
モリセルを読み出す手段がないので、を視サブシステム
の設計においてマルチプロセス機構を用いて2プロセス
で構築するという方式が採用出来ないという欠点があっ
た。
However, if you try to build a visual subsystem on such a computer system, there is no way to read the corresponding memory cell in the main memory by inputting a logical address in the logical space of another process, so the visual subsystem In the design of the system, there was a drawback that it was not possible to use a two-process construction method using a multi-process mechanism.

またトレースプログラムでは読み出す手段が備わってい
れば上記マルチプロセス機構を用いた方式をとりえるが
、デバッガプログラムではせらに他プロセスの状態情報
を書きかえることが出来る機能があると非常に便利であ
る。故に、を視サブシステムを設計するには他プロセス
の論理空間止め□論理アドレスを入力として対応する主
メモリ上のメモリセルを読み書きする機能が必要となる
のである。
In addition, a method using the multi-process mechanism described above can be used in a trace program if a reading means is provided, but it would be very convenient for a debugger program to have a function that can also rewrite the state information of other processes. Therefore, in order to design a visual subsystem, it is necessary to have the ability to read and write memory cells in the corresponding main memory by inputting logical addresses of other processes.

そこで、本発明の目的は、あるプロセスのプログラム中
で別のプロセスの識別子を入力として特定のプロセスを
指定し、上記別プロセスの論理アドレスを渡すと、上記
論理アドレスを上記別プロセスの論理空間上のアドレス
としてアドレス変換を行ない、変換きれた実アドレスの
きす主メモリ上のメモリセルの値を読みだしたり、書き
込んだりすることが可能な他プロセス空間の読み書き操
作手段を備えたデータ処理装置の提供にある。
Therefore, an object of the present invention is to designate a specific process by inputting the identifier of another process in the program of a certain process, and pass the logical address of the other process. To provide a data processing device equipped with a read/write operation means for another process space, capable of performing address conversion as an address of a real address, and reading and writing the value of a converted real address in a memory cell on a main memory. It is in.

(問題点を解決するための手段) 前述の問題点を解決するために本発明が提供する手段は
、プロセスごとに論理空間の異なるマルチプロセス計算
機システムのデータ処理装置であって、第1のプロセス
が第2のプロセスの論理空間をアクセスすることを宣言
する第1の命令をデコードする手段と、前記第2のプロ
セスの論理アドレスをオペランドとして持ちその論理ア
ドレスの指すメモリセルの値を読み出すことを要求する
第2の命令をデコードする手段と、他プロセスデータレ
ジスタと、前記第2のプロセスの論理アドレスをオペラ
ンドとして持ちその論理アドレスの指すメモリセルに前
記他プロセスデータレジスタの値を書き込むことを要求
する第3の命令をデコードする手段と、主メモリと、前
記第1のプロセスの論理空間上の論理アドレスを示すア
ドレスレジスタと、このアドレスレジスタによって示さ
れる論理アドレスを前記主メモリ上の物理アドレスに変
換するアドレス変換ユニットと、プログラムの実行を指
示する命令レジスタと、前記第1の命令がデコードきれ
たときその命令とともに入力として渡される前記第2の
プロセスの識別名をうけとり前記第2のプロセスに関す
る情報を保持すルフロセスコントロールブロックの位置
を出力スルプロセス名変換ユニットと、このプロセス名
変換ユニットによって指示されたプロセスコントロール
ブロックの中の値を前記主メモリから読みだしてそれを
格納しておき前記第2又は第3の命令がデコードきれた
とき前記第2のプロセス中の論理空間上の論理アドレス
を前記主メモリの記憶位置に変換する他プロセスアドレ
ス変換ユニットと、前記第2又は第3の命令のオペラン
ドとして渡される論理アドレスを格納しておく他プロセ
スアドレスレジスタと、前記アドレス変換ユニットから
の出力と前記他プロセスアドレス変換ユニットからの出
力を命令によって選択するセレクタとからなる。
(Means for Solving the Problems) Means provided by the present invention for solving the above-mentioned problems is a data processing device for a multi-process computer system in which each process has a different logical space. means for decoding a first instruction declaring that the second process will access a logical space of a second process; and means for having a logical address of the second process as an operand and reading a value of a memory cell pointed to by the logical address. means for decoding a requested second instruction, an other process data register, and a logical address of the second process as an operand, and a request to write the value of the other process data register into a memory cell pointed to by the logical address. a main memory; an address register indicating a logical address in the logical space of the first process; and converting the logical address indicated by the address register into a physical address on the main memory. an address translation unit for translation, an instruction register for instructing execution of a program, and an address translation unit for receiving the identification name of the second process, which is passed as an input together with the instruction when the first instruction is completely decoded, and relating to the second process. A process name conversion unit outputs the location of the process control block that holds information, and the value in the process control block specified by this process name conversion unit is read from the main memory and stored. an other process address conversion unit that converts a logical address in the logical space in the second process to a storage location in the main memory when the second or third instruction is completely decoded; The other process address register stores a logical address passed as an operand of the other process address register, and the selector selects the output from the address translation unit and the output from the other process address translation unit according to an instruction.

(作用) 本発明は、上述の手段により従来技術の問題点を解決し
た0次に本発明の詳細な説明する。
(Function) The present invention solves the problems of the prior art by the above-mentioned means.The present invention will now be described in detail.

2つのプロセスが存在し、他プロセスの論理空間を監視
する側のプロセスを監視プロセス(前述の第1のプロセ
ス)、を視される側のプロセスを対象プロセス(前述の
第2のプロセス)とよぶことにする。またを視プロセス
は、対象プロセスの識別子を持っていることとする。
There are two processes; the process that monitors the logical space of another process is called the monitoring process (the first process described above), and the process that is monitored is called the target process (the second process described above). I'll decide. It is also assumed that the viewing process has an identifier of the target process.

第3図は本発明の概念図である。FIG. 3 is a conceptual diagram of the present invention.

まず、監視プロセスはプロセス名変換ユニット101に
対して対象プロセスの識別子をその入力として渡す。プ
ロセスコントロールブロック102には、すべてのプロ
セスの識別子と各プロセス単位にその状態情報を格納し
ておく、プロセス名変換ユニット101は、このプロセ
スコントロールブロック102の論理空間上の位置と識
別子との対応関係を保持している。すべてのプロセスコ
ントロールブロックは、すべてのプロセスで共通の論理
空間上に存在する。プロセス名変換ユニット101は、
渡きれた識別子に対応するプロセスコントロールブロッ
ク102をみつけだし、そのプロセスコントロールブロ
ック102の中からプロセスの論理空間を構成する1つ
以上のセグメントのベースアドレスの情報を他プロセス
アドレス変換ユニット103に格納する。そして、を視
プロセスが対象プロセスの論理空間上のあるアドレスの
値を読み出したいときに、監視プロセスが他プロセスア
ドレス変換ユニット1034こ対して論理アドレスを入
力として渡す、すると、その論理アドレスは、他プロセ
スアドレス変換ユニット103によって監視プロセスの
ではなく対象プロセスの論理アドレスとして主メモリ1
04上の実アドレスに変換きれ、主メモリ104上の実
アドレスのメモリセルの値が読みだされ、そのメモリセ
ルの値が出力きれる。
First, the monitoring process passes the target process identifier to the process name conversion unit 101 as an input. The process control block 102 stores the identifiers of all processes and their status information for each process.The process name conversion unit 101 stores the correspondence between the position of the process control block 102 in the logical space and the identifier. is held. All process control blocks exist in a logical space common to all processes. The process name conversion unit 101 is
A process control block 102 corresponding to the passed identifier is found, and information on the base address of one or more segments constituting the logical space of the process is stored in the other process address conversion unit 103 from among the process control blocks 102. . Then, when the monitoring process wants to read the value of a certain address in the logical space of the target process, the monitoring process passes the logical address as an input to the other process address conversion unit 1034. The process address conversion unit 103 converts the main memory 1 into the logical address of the target process rather than that of the monitoring process.
The value of the memory cell at the real address on the main memory 104 is read out, and the value of that memory cell is output.

したがって、あるプロセスのプログラム中から他のプロ
セスの論理アドレスのさすメモリセルの値を読み出すこ
とができ、これを使うこと番こよっであるプロセスが別
のプロセスに対する監視・測定プロセスとなるサブシス
テムをつくりうる。
Therefore, it is possible to read the value of a memory cell pointed to by a logical address of another process from within the program of one process, and this can be used to create a subsystem in which one process acts as a monitoring/measuring process for another process. It can be made.

また、監視プロセスが対象プロセスの論理空間上のある
アドレスに値を書き込みたいときには、監視プロセスが
他プロセスアドレス変換ユニット103に対して論理ア
ドレスを入力として渡し、他プロセスデータレジスタ1
05に書き込みたいデータを格納すると、読み出しのと
きと同じアドレス変換処理が行なわれ、対応する主メモ
リ104上のメモリセルに他プロセスデータレジスタ1
05の値が書き込まれる。
Further, when the monitoring process wants to write a value to a certain address in the logical space of the target process, the monitoring process passes the logical address as an input to the other process address conversion unit 103, and the other process data register 1
When data to be written is stored in 05, the same address conversion process as when reading is performed, and other process data register 1 is stored in the corresponding memory cell on main memory 104.
A value of 05 is written.

したがっであるプロセスのプログラムの中から他プロセ
スの論理空間上の状態情報の監視・操作の必要なデバッ
ガプログラムなどはこの機能を使うことによって構築が
可能となる。
Therefore, by using this function, it is possible to construct a debugger program that requires monitoring and manipulating state information in the logical space of other processes from within the program of a process.

(実施例) 以下本発明の実施例について図面を参照して説明する。(Example) Embodiments of the present invention will be described below with reference to the drawings.

第1図は本発明の一実施例を示すブロック図である0本
図に示すデータ処理装置は、命令およびデータ等を保存
する主メモリ1と、あるプロセスの論理空間上の論理ア
ドレスを示すアドレスレジスタ2と、アドレスレジスタ
2によって示きれる論理アドレスを主メモリ1上の記憶
位置に変換するアドレス変換ユニット3と、プログラム
の実行を指示する命令レジスタ4と、別のプロセスの論
理空間上のある論理アドレスの指すメモリセルに対して
読み出したいという命令(前述の第2の命令)又は書き
込みたいという命令(前述の第3の命令)がデコードさ
れたときその入力として渡きれる上記別プロセスの識別
名を受けとり、上記別プロセスのプロセスコントロール
ブロックの位置を出力するプロセス名変換ユニット5と
、プロセス名変換ユニット5によって指示きれたプロセ
スコントロールブロックの中の値を主メモリ1から読み
出してそれを格納しておき、きらに別の命令で上記別プ
ロセスの特定の論理アドレスを読みだしたいあるいは書
き込みたいという要求があると(即ち、読み出したいと
いう命令又は書き込みたいという命令がデコードきれる
と)、上記別プロセス中の論理空間上の論理アドレスを
入力とじて上記別プロセスの論理アドレスを主メモリ1
上の記憶位置に変換する他プロセスアドレス変換ユニッ
ト6と上記別プロセス中の論理空間上の論理アドレスを
格納する他プロセスアドレスレジスタ7と、アドレス変
換ユニット3からの出力と他プロセスアドレス変換ユニ
ット6からの出力を命令によって選択するセレクタ8と
、きらに上記要求が′ 書き込み要求のときには書き込
むべき値を格納しておく他プロセスデータレジスタ10
と、命令取り出し、命令コードの判定および上記命令で
規定される処理を制御する制御回路9から構成されてい
る。
FIG. 1 is a block diagram showing one embodiment of the present invention. The data processing device shown in this figure has a main memory 1 for storing instructions, data, etc., and an address indicating a logical address in a logical space of a certain process. a register 2, an address conversion unit 3 that converts the logical address indicated by the address register 2 to a storage location on the main memory 1, an instruction register 4 that instructs program execution, and a certain logic in the logical space of another process. When the instruction to read (the above-mentioned second instruction) or write to the memory cell pointed to by the address (the above-mentioned third instruction) is decoded, the identification name of the above-mentioned other process can be passed as an input. A process name conversion unit 5 receives and outputs the location of the process control block of the above-mentioned different process, and reads out the value in the process control block specified by the process name conversion unit 5 from the main memory 1 and stores it. , when there is a request to read or write a specific logical address in the other process using another instruction (that is, when the instruction to read or write can be decoded), By inputting the logical address on the logical space, the logical address of the above-mentioned separate process is stored in the main memory 1.
The other process address conversion unit 6 converts to the above storage location, the other process address register 7 stores the logical address on the logical space in the above separate process, and the output from the address conversion unit 3 and the other process address conversion unit 6. a selector 8 that selects the output of the output according to a command; and a process data register 10 that stores the value to be written when the above request is a write request.
and a control circuit 9 for controlling instruction retrieval, instruction code determination, and processing specified by the above instructions.

プログラムの動作はデータバス21を介して主メモリ1
から命令レジスタ4に順に送られて実行されるという形
で進行する。
Program operations are carried out via the data bus 21 in the main memory 1.
The instructions are sequentially sent to the instruction register 4 and executed.

制御回路9によって命令レジスタ4に格納された命令フ
ードが他プロセスの状態を観測するための上記他プロセ
スを一意に指定する命令(前述の第1の命令)と判定き
れると、まず、I!22を介して入力される識別名をプ
ロセス名変換ユニット5で取り込む。プロセス名変換ユ
ニット5は、システム内に存在するプロセスの総数より
充分多い数のレジスタを含むレジスタファイルで構成さ
れ、1122を介して入力される識別名は、そのレジス
タファイルの中の1つを指定するセルアドレスとして扱
われ、線22で指定するレジスタの内容が線23に出力
きれる。
When the control circuit 9 determines that the instruction food stored in the instruction register 4 is an instruction (the above-mentioned first instruction) that uniquely specifies the other process for observing the state of the other process, first, I! The process name conversion unit 5 takes in the identification name input via 22. The process name conversion unit 5 is composed of a register file containing a number of registers sufficiently larger than the total number of processes existing in the system, and the identification name input via 1122 specifies one of the register files. The contents of the register designated by line 22 can be output to line 23.

腺23の出力は、上記他プロセスのプロセスコントロー
ルブロックの先頭番地を示すものであり、アドレスレジ
スタ2にとり込まれ、アドレス変換ユニット3によって
実アドレスに変換され、セレクタ8によって線24が選
択きれ主メモリ1の入力となり、そのアドレスから固定
長能れたところにある1つ以上のセグメントの情報がデ
ータバス21を介して他プロセスアドレス変換ユニット
6に取りこまれる。ここまでが上記他プロセスを一意に
指定する命令(前述の第1の命令)の処理である。
The output of the line 23 indicates the start address of the process control block of the other process, and is taken into the address register 2, converted to a real address by the address conversion unit 3, and the line 24 is selected by the selector 8 and stored in the main memory. 1, and information of one or more segments located a fixed length away from that address is taken into the other process address conversion unit 6 via the data bus 21. The steps up to this point are the processing of the command (the first command described above) that uniquely specifies the other process.

制御回路9によって命令レジスタ4で格納する命令フー
ドが上記他プロセスの論理空間上の論理アドレスの値を
読み出す命令(前述の第2の命令)と判定されると、ま
ず他プロセスアドレスレジスタ7はセットされていた他
プロセスの論理空間中のアドレスが、腺26を介して他
プロセスアドレス変換ユニット6に入力され、既に他プ
ロセスアドレス変換ユニット6にセットされていた上記
他プロセスの論理空間を構成するアドレス情報を足しあ
わせて他プロセスのアドレス変換がなきれる。そこから
得られた実アドレスは線25に出力され、セレクタ8は
線25の側を選択し主メモリ1への入力となる。主メモ
リ1は腺25の指示する実アドレスの値をデータバス2
1に出力する。
When the control circuit 9 determines that the instruction food stored in the instruction register 4 is an instruction (the above-mentioned second instruction) to read the value of the logical address in the logical space of the other process, the other process address register 7 is first set. The address in the logical space of the other process that has been set is input to the other process address conversion unit 6 via the gland 26, and the address constituting the logical space of the other process that has already been set in the other process address conversion unit 6 is input. Adding the information eliminates address translation for other processes. The real address obtained therefrom is output to the line 25, and the selector 8 selects the side of the line 25 to be input to the main memory 1. The main memory 1 stores the value of the real address indicated by the gland 25 on the data bus 2.
Output to 1.

第2図は他プロセスアドレス変換ユニット6の一具体例
を示すブロック図であり、各プロセスの論理空間の中で
、ワークエリア用セグメントなどプロセスごとは異なる
セグメントの種類の数だけ存在するレジスタ33 、3
4 、35と、 2進の加算を行なう演算器32と、線
27を格納するレジスタ33゜34 、35を選択する
セレクタ36と、これらレジスタの出力を選択するセレ
クタ37と、線26の論理アドレスのセグメント指定部
を格納するセグメントレジスタ30とからなる。この具
体例ではプロセスごとに異なるセグメントの種類を3個
としており、レジスタ33 、34 、35が相当する
FIG. 2 is a block diagram showing a specific example of the other-process address conversion unit 6. In the logical space of each process, there are registers 33, which exist in the number of different segment types for each process, such as work area segments. 3
4, 35, an arithmetic unit 32 that performs binary addition, a register 33 that stores line 27, a selector 36 that selects 34, 35, a selector 37 that selects the output of these registers, and a logical address of line 26. and a segment register 30 that stores the segment designation section of the segment register 30. In this specific example, there are three different segment types for each process, which correspond to registers 33, 34, and 35.

他プロセスを一意に指定する命令の処理において、他プ
ロセスのプロセスコントロールブロックからプロセスご
とに異なるセグメントの各ベース値が順にレジスタ33
 、34 、35に格納される。
In processing an instruction that uniquely specifies another process, each base value of a different segment for each process is sequentially sent to the register 33 from the process control block of the other process.
, 34 and 35.

さらに、他プロセスの論理空間上の論理アドレスの値を
測定する命令(前述の第2の命令)の処理においては他
プロセスの論理空間上の論理アドレスが線26によって
入力されると、論理アドレス中のセグメント指定部がセ
グメントレジスタ30に格納きれ、セグメントレジスタ
30の値が制御回路9によってデコード啓れ、レジスタ
33 、34 、35の中から対応するセグメントの値
を保持しているレジスタがセレクタ37で選択され、選
択きれた値が出力される線31の値と入力26の論理ア
ドレス中のセグメント内アドレスが演算器32で加算き
れ、その結果が出力25となる。
Furthermore, in processing the instruction (the second instruction described above) that measures the value of the logical address on the logical space of another process, when the logical address on the logical space of the other process is input via line 26, the value of the logical address The segment specification part of is stored in the segment register 30, the value of the segment register 30 is decoded by the control circuit 9, and the register holding the value of the corresponding segment among the registers 33, 34, and 35 is selected by the selector 37. The value of the line 31, from which the selected value is output, and the address within the segment among the logical addresses of the input 26 are added together by the arithmetic unit 32, and the result becomes the output 25.

ここまでが他プロセスの論理空間上のある論理アドレス
の指すメモリセルを読み出せという命令に対する処理で
ある。
The steps up to this point are processing for an instruction to read a memory cell pointed to by a certain logical address in the logical space of another process.

制御回路9によって命令レジスタ4で格納する命令フー
ドが上記他プロセスの論理空間上の論理アドレスの指す
メモリセルに値を書き込むという命令(前述の第3の命
令)と判定笹れると、読み出しの命令に対する処理と同
様に、まず他プロセスアドレスレジスタ7にセットきれ
ていた他プロセスの論理空間中のアドレスがlI26を
介して他プロセスアドレス変換ユニット6に入力され、
既に他プロセスアドレス変換ユニット6にセットされて
いた上記他プロセスの論理空間を構成するアト−レス情
報を足しあわせて他プロセスのアドレス変換がなされる
。そこから得られた実アドレスは線25に出力され、セ
レクタ8は線25の側を選択し主メモリ1への入力とす
る。一方他プロセスデータレジスタ10には既に書き込
むべきデータが格納きれており、上記書き込み命令がデ
フードきれると他プロセスデータレジスタ10の内容が
データバス21に出力きれ、他プロセスアドレス変換ユ
ニット6によって決定した実アドレスに相当する主メモ
リ1上のメモリセルに取り込まれる。
When the control circuit 9 determines that the instruction food stored in the instruction register 4 is an instruction to write a value to the memory cell pointed to by the logical address in the logical space of the other process (the third instruction mentioned above), a read instruction is executed. Similarly to the processing for , first, the address in the logical space of the other process that has been set in the other process address register 7 is input to the other process address conversion unit 6 via the II 26,
The address information of the other process, which has already been set in the other process address translation unit 6, and which constitutes the logical space of the other process is added up to perform the address translation of the other process. The real address obtained therefrom is output to the line 25, and the selector 8 selects the side of the line 25 to be input to the main memory 1. On the other hand, the data to be written has already been stored in the other process data register 10, and when the write command is decoded, the contents of the other process data register 10 can be output to the data bus 21, and the data determined by the other process address conversion unit 6 can be stored. The data is taken into the memory cell in the main memory 1 corresponding to the address.

以上実施例を用いて本発明の詳細な説明した。The present invention has been described in detail using Examples above.

(発明の効果) 本発明のデータ処理装置は、プロセスごとに論理空間の
異なる計算機システムにおいて、1.つのプロセスが別
のプロセスの識別名を入力すると、以後別プロセスの論
理アドレスを与えればその論理アドレスに対応する主メ
モリ上のメモリセルに対して読み出しあるいは書き込み
が出来るから、他プロセスの論理空間の監視・操作手段
として極めて有効である。そこで、本発明を用いると、
マルチプロセス機構を有効に利用したトレーサプログラ
ムやデバッガプログラムのような監視サブシステムを効
率よく構築出来る。
(Effects of the Invention) The data processing device of the present invention can be used in a computer system in which each process has a different logical space. When one process inputs the identification name of another process, it can read from or write to the memory cell in the main memory corresponding to that logical address by giving the logical address of the other process. It is extremely effective as a means of monitoring and operating. Therefore, using the present invention,
Monitoring subsystems such as tracer programs and debugger programs that effectively utilize the multi-process mechanism can be efficiently constructed.

【図面の簡単な説明】 第1図は本発明の一実施例を示すブロック図、第2図は
第1図の他プロセスアドレス変換ユニット6の一具体例
を示すブロック図、第3図は本発明における他プロセス
論理アドレス読み出しの方式を説明するための概念図で
ある。 1・・・主メモリ、2・・・アドレスレジスタ、3・・
・アドレス変換ユニット、4・・・命令レジスタ、5・
・・プロセス名変換ユニット、6・・・他プロセスアド
レス変換ユニット、7・・・イ也プロセスアドレスレジ
スタ、8・・・セレクタ、9・・・制御回路、10・・
・他プロセスデータレジスタ、21・・・データバス、
22 、23 、24 、25 。 26 、27 、28 、31・・・データ線、30・
・・セグメントレジスタ、32・・・加算演算器、33
,34.35・・・レジスタ、36 、37・・・セレ
クタ。 第1図 第2図
[BRIEF DESCRIPTION OF THE DRAWINGS] FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a block diagram showing a specific example of the process address conversion unit 6 other than the one shown in FIG. FIG. 3 is a conceptual diagram for explaining a method of reading other process logical addresses in the invention. 1...Main memory, 2...Address register, 3...
・Address translation unit, 4...Instruction register, 5.
...Process name conversion unit, 6...Other process address conversion unit, 7...Also process address register, 8...Selector, 9...Control circuit, 10...
・Other process data registers, 21...data bus,
22 , 23 , 24 , 25 . 26, 27, 28, 31...data line, 30.
... Segment register, 32 ... Addition operator, 33
, 34.35...Register, 36, 37...Selector. Figure 1 Figure 2

Claims (1)

【特許請求の範囲】[Claims] プロセスごとに論理空間の異なるマルチプロセス計算機
システムのデータ処理装置において、第1のプロセスが
第2のプロセスの論理空間をアクセスすることを宣言す
る第1の命令をデコーダする手段と、前記第2のプロセ
スの論理アドレスをオペランドとして持ちその論理アド
レスの指すメモリセルの値を読み出すことを要求する第
2の命令をデコードする手段と、他プロセスデータレジ
スタと、前記第2のプロセスの論理アドレスをオペラン
ドとして持ちその論理アドレスの指すメモリセルに前記
他プロセスデータレジスタの値を書き込むことを要求す
る第3の命令をデコードする手段と、主メモリと、前記
第1のプロセスの論理空間上の論理アドレスを示すアド
レスレジスタと、このアドレスレジスタによって示され
る論理アドレスを前記主メモリ上の物理アドレスに変換
するアドレス変換ユニットと、プログラムの実行を指示
する命令レジスタと、前記第1の命令がデコードされた
ときその命令とともに入力として渡される前記第2のプ
ロセスの識別名をうけとり前記第2のプロセスに関する
情報を保持するプロセスコントロールブロックの位置を
出力するプロセス名変換ユニットと、このプロセス名変
換ユニットによって指示されたプロセスコントロールブ
ロックの中の値を前記主メモリから読みだしてそれを格
納しておき前記第2又は第3の命令がデコードされたと
き前記第2のプロセス中の論理空間上の論理アドレスを
前記主メモリの記憶位置に変換する他プロセスアドレス
変換ユニットと、前記第2又は第3の命令のオペランド
として渡される論理アドレスを格納しておく他プロセス
アドレスレジスタと、前記アドレス変換ユニットからの
出力と前記他プロセスアドレス変換ユニットからの出力
を命令によって選択するセレクタとからなるデータ処理
装置。
In a data processing device for a multi-process computer system in which each process has a different logical space, means for decoding a first instruction that declares that a first process accesses a logical space of a second process; means for decoding a second instruction that has a logical address of a process as an operand and requests to read a value of a memory cell pointed to by the logical address, another process data register, and a logical address of the second process as an operand; means for decoding a third instruction requesting to write a value of the other process data register into a memory cell pointed to by the logical address, a main memory, and a logical address in the logical space of the first process; an address register, an address translation unit that converts a logical address indicated by the address register into a physical address on the main memory, an instruction register that instructs execution of a program, and an instruction that is used when the first instruction is decoded. a process name conversion unit that receives an identification name of the second process passed as an input and outputs the location of a process control block that holds information regarding the second process; and a process control instructed by the process name conversion unit. The value in the block is read from the main memory and stored, and when the second or third instruction is decoded, the logical address in the logical space during the second process is read out from the main memory. an other process address translation unit that converts into a storage location, another process address register that stores a logical address passed as an operand of the second or third instruction, and an output from the address translation unit and the other process address. A data processing device comprising a selector that selects an output from a conversion unit according to a command.
JP60002392A 1985-01-10 1985-01-10 Data processor Pending JPS61161548A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60002392A JPS61161548A (en) 1985-01-10 1985-01-10 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60002392A JPS61161548A (en) 1985-01-10 1985-01-10 Data processor

Publications (1)

Publication Number Publication Date
JPS61161548A true JPS61161548A (en) 1986-07-22

Family

ID=11527961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60002392A Pending JPS61161548A (en) 1985-01-10 1985-01-10 Data processor

Country Status (1)

Country Link
JP (1) JPS61161548A (en)

Similar Documents

Publication Publication Date Title
KR101770665B1 (en) Debugging of a data processing apparatus
US4812981A (en) Memory management system improving the efficiency of fork operations
JPH0532772B2 (en)
US4991083A (en) Method and system for extending address space for vector processing
JPH0192856A (en) Apparatus and method for protecting main memory unit using access and defect logic signal
JP2002073358A (en) Method for access and control of logical partitioning memory
EP0442297B1 (en) Processor with an overwriteable microcode memory
JPS61161548A (en) Data processor
JPS60159951A (en) Tracing system in information processing device
JP2535086B2 (en) Ring reduction logic device
JPS61103259A (en) Data processing device
JP2798275B2 (en) Virtual memory address space access control method
JPS59112350A (en) Supervising and controlling system of program
JPH0412861B2 (en)
JPH0219937A (en) Electronic computer system
JP3149575B2 (en) In-circuit emulator
JPH01305446A (en) Program debug support processing system
Neumann Disk-based program swapping in 8080-based microcomputers
JPS62114045A (en) Address mode control system
JPH0450620B2 (en)
JPS61267149A (en) Data processor
JPH04143845A (en) Page fault test system for computer
JPH03168845A (en) Instruction execution control system
JPH01233526A (en) Data access and program calling system
JPH0363853A (en) Sac instruction control system