JP3014701B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP3014701B2
JP3014701B2 JP1183799A JP18379989A JP3014701B2 JP 3014701 B2 JP3014701 B2 JP 3014701B2 JP 1183799 A JP1183799 A JP 1183799A JP 18379989 A JP18379989 A JP 18379989A JP 3014701 B2 JP3014701 B2 JP 3014701B2
Authority
JP
Japan
Prior art keywords
operand
address
data
register
access
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 - Fee Related
Application number
JP1183799A
Other languages
Japanese (ja)
Other versions
JPH0348931A (en
Inventor
岳夫 浅川
愛一郎 井上
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 JP1183799A priority Critical patent/JP3014701B2/en
Publication of JPH0348931A publication Critical patent/JPH0348931A/en
Application granted granted Critical
Publication of JP3014701B2 publication Critical patent/JP3014701B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 [概 要] アクセスレジスタモードで動作し得る仮想記憶方式の
情報処理装置に関し、 MVCL命令の動作速度の高速化を目的とし、 MVCL命令語の第1オペランドおよび第2オペランドに
ついて、それぞれオペランドアドレスを指定するための
レジスタ番号が0番でないときには、当該するレジスタ
番号に対応するアクセスレジスタの内容を選択し、一
方、オペランドアドレスを指定するためのレジスタ番号
が0番であるときには、データをオール“0"として設定
する手段と、該手段により選択あるいは設定された第1
オペランドに係るデータと、第2オペランドに係るデー
タとを比較する手段と、その比較結果を用いて第1オペ
ランドと第2オペランドとのアドレスの破壊的重なり合
いの検査を行なうか否かを制御する如く構成する。
DETAILED DESCRIPTION OF THE INVENTION [Summary] The present invention relates to an information processing apparatus of a virtual memory system operable in an access register mode, which aims at increasing the operation speed of an MVCL instruction, and is provided with a first operand and a second operand of an MVCL instruction. When the register number for specifying the operand address is not 0, the contents of the access register corresponding to the register number are selected. On the other hand, when the register number for specifying the operand address is 0, Means for setting the data as all "0", and the first means selected or set by the means.
Means for comparing the data relating to the operand and the data relating to the second operand, and controlling whether or not to check for a destructive overlap of the addresses of the first operand and the second operand using the result of the comparison. Constitute.

[産業上の利用分野] 本発明は、複数のアドレス空間からなる仮想記憶装置
を持った情報処理装置であって、実空間上のデータの移
動に際する破壊的重なり合いの検査に関し、特に、MVCL
命令の実行に際する第1オペランドと第2オペランドに
指定されたアドレスに関する重なり合いの検査を行なう
か否かの制御を高速に行なうことができる情報処理装置
に係る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus having a virtual storage device composed of a plurality of address spaces, and more particularly to an inspection of destructive overlap when data is moved in a real space, and in particular, to an MVCL.
The present invention relates to an information processing apparatus capable of controlling at a high speed whether or not to perform an overlap check on an address specified by a first operand and a second operand when executing an instruction.

[従来の技術] 近年の情報処理装置に対する要求として、処理するデ
ータ量の増大がある。特にデータベースシステムにおい
てこれが著しい。この要求に伴い、従来の仮想記憶装置
におけるアドレス空間の限界を越えて、複数のアドレス
空間のデータを直接ユーザープログラムからアクセスす
ることを可能にするアーキテクチャーの実現が要望さ
れ、このような製品が出現した。
[Related Art] A demand for an information processing apparatus in recent years is an increase in the amount of data to be processed. This is particularly significant in database systems. Along with this demand, there is a demand for an architecture capable of directly accessing data in a plurality of address spaces from a user program beyond the limit of the address space in the conventional virtual storage device. Appeared.

すなわち、従来の仮想記憶を有する情報処理装置にお
いては、コントロールレジスタによって指定される単一
のアドレス空間内のデータをアクセスする事のみが許さ
れていた。従って、複数のアドレス空間内のデータを参
照するためにはコントロールレジスタの内容を入れ替え
る必要があり、オペレーティングシステムの管理下にお
かれていた。このような制御の下では、ユーザープログ
ラムが直接、複数のアドレス空間にまたがってデータの
処理をすることは許されなかった。しかし、仮想記憶空
間の拡大の要求が大となり、ユーザープログラムが与え
られたアドレス空間の範囲を越えてベースレジスタ番号
の異なる複数のアドレス空間へのアクセスをすることを
許容するような制御の必要を生ずるに至った。
That is, in an information processing apparatus having a conventional virtual memory, only accessing data in a single address space specified by a control register is permitted. Therefore, in order to refer to data in a plurality of address spaces, it is necessary to replace the contents of the control register, which is under the control of the operating system. Under such control, a user program was not allowed to directly process data over a plurality of address spaces. However, the demand for the expansion of the virtual memory space has increased, and it is necessary to perform control to allow a user program to access a plurality of address spaces having different base register numbers beyond the range of a given address space. It happened.

このための機構としては、次のような方法が考えられ
る。すなわち、ユーザーの使う複数のアドレス空間に対
し、それぞれセグメントテーブルを用意し、そのテーブ
ルに対するポインタであるセグメントテーブルオリジン
(STO)を複数個持ち、そのいずれを使うかをそのアク
セスで使われるベースレジスタ番号によって索引される
アクセスレジスタの内容によって決定する。その決定の
方法としては、アクセスレジスタの内容により実記憶空
間内のアクセスリストが索引され、該ベースレジスタ番
号を使用した仮想記憶空間へのアクセスがどのSTOを利
用するかが指定される。上記、アクセスレジスタによる
アクセスは、日経コンピュータ1988年9月12日号の105
頁から109頁に詳しく述べられている。
As a mechanism for this, the following method can be considered. In other words, a segment table is prepared for each of a plurality of address spaces used by the user, and a plurality of segment table origins (STOs), which are pointers to the table, are provided. The base register number used in the access indicates which one to use. Determined by the contents of the access register indexed by As a method of the determination, an access list in the real storage space is indexed by the contents of the access register, and which STO is used to access the virtual storage space using the base register number is specified. The access by the access register is described in Nikkei Computer, September 12, 1988, 105
Details are provided on pages 109-109.

ベースレジスタ番号指定部分は命令語の限られたビッ
ト位置にあり、その内容により選択されたレジスタの内
容が有効アドレス生成のための加算回路の入力となる。
The base register number designation portion is located at a limited bit position of the instruction word, and the content of the register selected based on the content becomes the input of the addition circuit for generating the effective address.

このようなアクセスレジスタを用いてアドレス変換を
行なう情報処理装置の状態をアクセスレジスタモードと
呼び、該アクセスレジスタモードはプログラム状態語
(PSW)の中の特定のビットによって定義される。
The state of the information processing device that performs address conversion using such an access register is called an access register mode, and the access register mode is defined by a specific bit in a program status word (PSW).

情報処理装置で用いる命令の一つとしてMVCL(MOVE
CHARACTER LONG)命令がある。これは、RR形式の命令
であって、命令語の第2オペランドで与えられる情報に
対応する実空間上のアドレスのデータを、第1オペラン
ドで与えられる情報に対応する実空間上のアドレスへ移
動(MOVE)するとき用いられる命令であって、実空間上
で比較的大量のデータを移動する必要のあるとき用いら
れる。
MVCL (MOVE
CHARACTER LONG) instruction. This is an RR format instruction that moves data at an address in the real space corresponding to the information given by the second operand of the instruction word to an address in the real space corresponding to the information given by the first operand. (MOVE) This instruction is used when a relatively large amount of data needs to be moved in the real space.

MVCL命令のデータの移動の方法についてのプログラマ
に対する周知としては、通常1バイトずつリードして、
これを目的とするアドレスの箇所に1バイトずつライト
している如き仕様としているが、実際には、高速化のた
めとメモリからデータを一度に読み出すバス幅との関係
もあり、一度にリードライトするデータは必ずしも1バ
イトずつとは限らない。
As a well-known method for moving data of the MVCL instruction to the programmer, it is usual to read one byte at a time,
Although the specification is such that data is written one byte at a time at the target address, in practice, there is a relationship between the speed and the bus width for reading data from the memory at one time. The data to be written is not always one byte at a time.

そのため、第1オペランドアドレスと第2オペランド
アドレスが近接している場合には、データの破壊的重な
り合いを生ずることがある。
Therefore, when the first operand address and the second operand address are close to each other, destructive overlapping of data may occur.

通常は、1度のアクセスを第1オペランドデータと第
2オペランドデータの差分の長さに止めておけば、破壊
的重なり合いを生ずることを回避できる。
Normally, destructive overlapping can be avoided by limiting one access to the length of the difference between the first operand data and the second operand data.

一方、前述したアクセスレジスタモードにおいては、
複数のアドレス空間へのアクセスが許容されるが、この
ときはアクセスレジスタ変換が行なわれるため、命令語
のオペランドの有効アドレスの値が一致していても、異
なる実空間上のアドレスが与えられる。
On the other hand, in the access register mode described above,
Access to a plurality of address spaces is permitted, but at this time, since access register conversion is performed, different addresses in the real space are given even if the effective address values of the operands of the instruction word match.

従って、逆に有効アドレスが異なる場合であっても実
空間上での破壊的競合が発生する可能性もある。
Therefore, conversely, even when the effective addresses are different, destructive competition in the real space may occur.

そのため、命令の実行に際しては、破壊的重なり合い
が起きるか否かについて検査をする必要がある。
Therefore, when executing an instruction, it is necessary to check whether or not destructive overlap occurs.

[発明が解決しようとする課題] 前述したような、アクセスレジスタ変換が行なわれる
アクセスレジスタモードにおいて、MVCL命令の第1オペ
ランド、第2オペランドはそれぞれのオペランドアドレ
スを指定するレジスタ番号に対応するアクセスレジスタ
の内容が指し示すアドレス空間内に存在する筈であるか
ら、前記第1オペランド、第2オペランドに対応するア
クセスレジスタの内容が一致したときのみ破壊的重なり
合いの検査が行なわれる。また、オペランドアドレスを
指定するレジスタ番号がゼロの場合には、その指定され
たオペランドは一次仮想記憶空間に存在する筈であるか
ら、比較されるアクセスレジスタの内容はオールゼロと
して処理が行なわれる。
[Problems to be Solved by the Invention] In the access register mode in which access register conversion is performed as described above, the first operand and the second operand of the MVCL instruction are access registers corresponding to register numbers designating respective operand addresses. Should be present in the address space indicated by the contents of the access register, the destructive overlap check is performed only when the contents of the access registers corresponding to the first operand and the second operand match. If the register number specifying the operand address is zero, the specified operand must exist in the primary virtual storage space, and the processing is performed with the contents of the access registers compared being all zero.

従来の情報処理装置でこのような処理を実現しようと
すると、MVCL命令を実行するマイクロプログラムの中で
レジスタ番号の検査、その結果によるアクセスレジスタ
の選択、選択された内容の比較の検査、その結果による
破壊的重なり合いの検査を行なうかどうかの分岐の選択
などについての制御を行なわなければならない。
In order to realize such processing in a conventional information processing device, a register number is checked in a microprogram executing an MVCL instruction, an access register is selected based on the result, a comparison of selected contents is checked, and the result is checked. , It is necessary to control the selection of a branch to determine whether or not to perform a destructive overlap inspection by the control.

第5図はこのような従来のMVCL命令の処理のマイクロ
プログラムルーチンを示す流れ図である。
FIG. 5 is a flowchart showing a microprogram routine for processing such a conventional MVCL instruction.

第6図は上記流れ図によって示した制御を更にパイプ
ラインのタイムチャートとして示したものである。
FIG. 6 shows the control shown by the above flow chart as a pipeline time chart.

以下、第5図および第6図に基づいて動作を説明す
る。
Hereinafter, the operation will be described based on FIG. 5 and FIG.

(a) 第6図フロー(第5図ステップ16に相当す
る)MVCL命令の第1オペランドのレジスタ番号をチェッ
クする。前記チェックはパイプラインのBサイクルで行
なわれる。Wサイクルでオール0かどうかが判定される
(判定結果はSTATUSである)。
(A) Check the register number of the first operand of the MVCL instruction shown in FIG. 6 (corresponding to step 16 in FIG. 5). The check is performed in the B cycle of the pipeline. It is determined whether or not all are 0 in the W cycle (the determination result is STATUS).

オール0の場合は、その指定されたオペランドは1次
仮想記憶空間に存在するから、比較されるアクセスレジ
スタの内容はオールゼロとして処理が行なわれる(第5
図フローチャート、ステップ24)。
In the case of all 0s, since the designated operand exists in the primary virtual storage space, the processing is performed assuming that the contents of the access register to be compared are all zeros (fifth order).
Figure flowchart, step 24).

(b) 第6図フローはダミーのステージである。(B) FIG. 6 shows a dummy stage.

(c) 第6図フロー(第5図ステップ16に相当す
る)前記ステージのチェックの結果、レジスタ番号が
0でなかった場合は、番号に相当するアクセスレジスタ
の内容を、演算ユニット(Eユニット)に送る。
(C) Flow of FIG. 6 (corresponding to step 16 in FIG. 5) If the register number is not 0 as a result of the stage check, the contents of the access register corresponding to the number are stored in the arithmetic unit (E unit). Send to

(d) 第6図フロー〜は、第2オペランドに関し
て、上記第6図フロー〜と同様の処理を行なう。
(D) In FIG. 6, the same processing as in FIG. 6 is performed for the second operand.

(e) 第6図フローに於いて、前記二つのアクセス
レジスタの内容がEユニットで比較される。前記比較は
第5図フローチャートのステップ19に相当する。
(E) In the flow of FIG. 6, the contents of the two access registers are compared by the E unit. The comparison corresponds to step 19 in the flowchart of FIG.

その後、データ転送が開始される(第5図フローチャ
ート、ステップ20)。
Thereafter, data transfer is started (step 20 in the flowchart of FIG. 5).

第5図フローチャートのステップ19に於いて、アクセ
スレジスタ番号が一致した場合は、破壊的重なり合いの
チェックが行なわれる(第5図フローチャート、ステッ
プ21〜23)。
If the access register numbers match in step 19 of the flowchart of FIG. 5, a check is made for a destructive overlap (steps 21 to 23 in the flowchart of FIG. 5).

以上の説明からも分るように、従来のようなマイクロ
プログラム制御による方法では処理ステップが多くなる
ので、処理のサイクル数が多大になり、高速な処理が期
待できないと言う問題点があった。
As can be seen from the above description, the conventional method based on microprogram control involves a large number of processing steps, so that the number of processing cycles is large and high-speed processing cannot be expected.

本発明は、このような従来の問題点に鑑み、アクセス
レジスタモードのとき、CPUに設けたアクセスレジスタ
と主記憶上のアクセスリストを用いて命令のオペランド
アドレスを動的に変換することにより、複数のアドレス
空間のデータを参照することが可能な如く構成された仮
想記憶方式の情報処理装置において、MVCL命令を高速で
実行することの可能な手段を提供することを目的として
いる。
In view of such a conventional problem, the present invention dynamically converts an operand address of an instruction using an access register provided in a CPU and an access list on a main memory in an access register mode, thereby achieving a plurality of operations. It is an object of the present invention to provide means capable of executing an MVCL instruction at a high speed in an information processing apparatus of a virtual memory system configured so as to be able to refer to data in the address space.

[課題を解決するための手段] 本発明によれば、上述の目的は、前記特許請求の範囲
に記載した手段により達成される。
[Means for Solving the Problems] According to the present invention, the above-mentioned object is achieved by the means described in the claims.

すなわち、CPUに設けたアクセスレジスタと主記憶上
のアクセスリストを用いて命令のオペランドアドレスを
動的に変換することにより、複数のアドレス空間のデー
タを参照することが可能な如く構成された仮想記憶方式
の情報処理装置であって、第2オペランドで与えられる
情報に対応する実空間上のアドレスのデータを第オペラ
ンドで与えられる情報に対応する実空間上のアドレスへ
移動する命令語の第1オペランドおよび第2オペランド
について、それぞれオペランドアドレスを指定するため
のレジスタ番号が0でないときには、該当するレジスタ
番号に対応するアクセスレジスタの内容を選択し、一
方、オペランドアドレスを指定するためのレジスタ番号
が0番であるときには、データをオール“0"として設定
する第1の回路と、前記第1の回路により選択あるいは
設定された第1オペランドに係るデータと、第2オペラ
ンドに係るデータとを比較する第2の回路と、前記第2
の回路により両データが一致しているとの結果が得られ
たとき、該結果を用いて第1オペランドアドレスと第2
オペランドアドレスとの重なり合いの検査を行なうか否
かを制御する第3の回路とを設けたことを特徴とする情
報処理装置である。
That is, a virtual memory configured to be able to refer to data in a plurality of address spaces by dynamically converting an operand address of an instruction using an access list provided in a CPU and an access list on a main memory. Operand of an instruction for moving data at an address in a real space corresponding to information given by a second operand to an address in a real space corresponding to information given by a second operand When the register number for designating the operand address is not 0 for each of the second operand and the second operand, the contents of the access register corresponding to the corresponding register number are selected, while the register number for designating the operand address is 0. , A first circuit for setting data as all “0”; And data of the first operand is selected or set by the first circuit, a second circuit for comparing the data of the second operand, the second
When a result indicating that both data match is obtained by the circuit of (1), the first operand address and the second operand
A third circuit for controlling whether or not to check for overlap with an operand address.

[作 用] 本発明においては、アクセスレジスタ変換が行なわれ
るアクセスレジスタモードにおいて、MVCL命令の第1オ
ペランド、第2オペランドはそれぞれのオペランドアド
レスを指定するレジスタ番号に対応するアクセスレジス
タの内容が指し示すアドレス空間内に存在する筈である
から、前記第1オペランド、第2オペランドに対応する
アクセスレジスタの内容が一致したときのみ破壊的重な
り合いの検査が行なわれる。また、オペランドアドレス
を指定するレジスタ番号がゼロの場合には、その指定さ
れたオペランドは一次仮想記憶空間に存在する筈である
から、比較されるアクセスレジスタの内容はオールゼロ
として処理が行なわれる。
[Operation] In the present invention, in the access register mode in which the access register conversion is performed, the first operand and the second operand of the MVCL instruction are the addresses indicated by the contents of the access register corresponding to the register numbers specifying the respective operand addresses. Since it should exist in the space, the destructive overlap check is performed only when the contents of the access registers corresponding to the first operand and the second operand match. If the register number specifying the operand address is zero, the specified operand must exist in the primary virtual storage space, and the processing is performed with the contents of the access registers compared being all zero.

従来の処理方式では、MVCL命令を実行するマイクロプ
ログラムの中でレジスタ番号の検査、その結果によるア
クセスレジスタの選択、選択された内容の比較の検査、
その結果による破壊的重なり合いの検査を行なうかどう
かの分岐の選択などを行なっていたが、本発明において
は、これらをハードウェアによって行なう如く構成して
いるので高速な処理が期待できる。
In the conventional processing method, a register number is checked in a microprogram that executes an MVCL instruction, an access register is selected based on the result, a comparison of selected contents is checked,
Although the branch selection as to whether or not to perform the destructive overlap inspection based on the results is performed, in the present invention, since these are configured to be performed by hardware, high-speed processing can be expected.

[実施例] 第1図は本発明の一実施例を示すブロック図であっ
て、1はBサイクルのベースレジスタ番号を保持するラ
ッチ、2はデコーダ、3−1〜3−nはそれぞれアンド
ゲート、はアクセスレジスタ、5はラッチ、6は演算ユ
ニット、7は演算ユニットによるアドレスの比較結果
(排他的論理和(EOR)の結果)を保持するラッチ、8
−1〜8−nおよび9はそれぞれオアゲート、10はアン
ドゲート、11はラッチ、12は破壊的オーバラップ条件検
出回路を表わしている。
Embodiment FIG. 1 is a block diagram showing an embodiment of the present invention, wherein 1 is a latch for holding a base register number of B cycle, 2 is a decoder, and 3-1 to 3-n are AND gates, respectively. , Is an access register, 5 is a latch, 6 is an arithmetic unit, 7 is a latch for holding an address comparison result (exclusive OR (EOR) result) by the arithmetic unit, 8
Reference numerals -1 to 8-n and 9 denote OR gates, 10 denotes an AND gate, 11 denotes a latch, and 12 denotes a destructive overlap condition detection circuit.

第2図は上記実施例の動作の例を示すタイムチャート
である。
FIG. 2 is a time chart showing an example of the operation of the above embodiment.

第1図において、Bサイクルでラッチ1にベースレジ
スタ番号がセットされ、そのデコード結果とBサイクル
でのアクセス・レジスタ・リード信号てあるB−μ−TA
G信号とのアンド条件で該当するアクセスレジスタが選
択され、その内容が一旦ラッチ5に保持された後、演算
ユニット6(CPUのEユニット)に送られる。
In FIG. 1, the base register number is set in the latch 1 in the B cycle, the decoding result and the B-μ-TA which is the access register read signal in the B cycle are set.
The corresponding access register is selected by an AND condition with the G signal, and its contents are temporarily held in the latch 5 and then sent to the arithmetic unit 6 (E unit of the CPU).

上記動作は第2図のタイムチャートに示すように当該
MVCL命令の第1オペランドと、第2オペランドについて
行なわれ、それら両データが演算ユニット6によって比
較される(この比較は実際には両データの排他的論理和
として求められ、その結果が比較結果となる)。そし
て、この比較結果はオア回路8−1〜8−nおよび9に
よって集束されてラッチ11に保持される。アンドゲート
10からなる回路は、ラッチ11へのデータのセットのタイ
ミングを作成する回路である。
The above operation is performed as shown in the time chart of FIG.
This is performed on the first operand and the second operand of the MVCL instruction, and both data are compared by the arithmetic unit 6 (this comparison is actually obtained as an exclusive OR of both data, and the result is compared with the comparison result. Become). Then, the comparison result is converged by the OR circuits 8-1 to 8-n and 9 and held in the latch 11. And gate
The circuit consisting of 10 is a circuit that creates the timing for setting data in the latch 11.

オアゲート9の出力が“0"であり(これが“0"である
ことはオペランド1とオペランド2に対応するアクセス
レジスタの内容同志の排他的論理和がオール“0"であっ
たことを意味する)。これがラッチ11に保持されている
間は、第2図に示すようにINH−DISABLE−OVERLAP−CHK
信号が上っており、この状態ではDISABLE−OVERLAP−CH
K信号が検出されても、通常通りにデータの移動が行な
われる。
The output of the OR gate 9 is "0" (this means that the exclusive OR of the contents of the access registers corresponding to the operands 1 and 2 is all "0"). . While this is held in the latch 11, the INH-DISABLE-OVERLAP-CHK as shown in FIG.
The signal is up, and in this state DISABLE-OVERLAP-CH
Even if the K signal is detected, the data is moved as usual.

第3図は、破壊的オーバラップ条件検出回路12の構成
の例を示すブロック図であって、13はB−ラッチ(B−
LATCH)、14はC−ラッチ(C−LATCH)、15はCO−ラッ
チ(CO−LATCH)、16−1〜16−3はアンドゲートを表
わしている。
FIG. 3 is a block diagram showing an example of the configuration of the destructive overlap condition detection circuit 12, and 13 is a B-latch (B-latch).
LATCH), 14 is a C-latch, 15 is a CO-latch, and 16-1 to 16-3 are AND gates.

同図において、B−LATCHは、(OP1のアドレス)≧
(OP2のアドレス)の条件を検出したとき、その結果を
保持するラッチである(上記OP1はオペランド1を、ま
た、OP2はオペランド2を表わしている。以降において
も同様に表現する)。
In the figure, B-LATCH is (OP1 address) ≧
When the condition of (OP2 address) is detected, the latch holds the result (OP1 represents operand 1 and OP2 represents operand 2. The same applies hereinafter).

また、C−LATCHは、[MIN(OP1レングス,OP2レング
ス)+OP2アドレス]>OP1アドレスの条件を検出したと
きその結果を保持するラッチである。
The C-LATCH is a latch that holds the result when a condition of [MIN (OP1 length, OP2 length) + OP2 address]> OP1 address is detected.

更に、CO−LATCHは、[MIN(OP1レングス,OP2レング
ス)+OP2アドレス]>OP2アドレスの条件を検出したと
きその結果を保持するラッチであって、このラッチがセ
ットされたときは、オペランド2がラップアラウンドし
ないことを示すものである。
Further, CO-LATCH is a latch that holds the result when a condition of [MIN (OP1 length, OP2 length) + OP2 address]> OP2 address is detected. When this latch is set, operand 2 is This indicates that wraparound is not performed.

上記各条件の検出は特殊なアダーのキャリーを見るこ
とにより検出される。
Each of the above conditions is detected by looking at the carry of a special adder.

第3図におけるアンドゲート16−1のアンド条件は、
B−LATCH*C−LATCHであり、アンドゲート16−2のア
ンド条件は、B−LATCH*▲▼であ
り、またアンドゲート16−3のアンド条件は、C−LATC
H であって、これらの内の一つでも成立するときは破壊的
オーバーラップ条件となる。
The AND condition of the AND gate 16-1 in FIG.
B-LATCH * C-LATCH, the AND condition of the AND gate 16-2 is B-LATCH * ▲ ▼, and the AND condition of the AND gate 16-3 is C-LATC
H If one of these conditions is satisfied, a destructive overlap condition is established.

第4図は、このような破壊的重なり合い(オーバーラ
ップ)を生ずる条件について説明する図であって、
(a)はB−LATCH*C−LATCHの条件が成立する場合の
データの重なりの状態、(b)はB−LATCH*▲
▼の条件が成立する場合のデータの重なりの
状態、(c)はC−LATCH*▲▼の条
件が成立する場合のデータの重なりの状態を示してい
る。
FIG. 4 is a diagram for explaining conditions under which such destructive overlap (overlap) occurs.
(A) is the state of data overlap when the condition of B-LATCH * C-LATCH is satisfied, (b) is B-LATCH * ▲
The state of data overlap when the condition of ▼ is satisfied, and the state of data overlap when the condition of C-LATCH * ▲ is satisfied.

同図において、OP1Aはオペランド1の先頭アドレス
を、OP2Aはオペランド2の先頭アドレスを示している。
In the figure, OP1A indicates the start address of operand 1 and OP2A indicates the start address of operand 2.

[発明の効果] 以上説明したように本発明によれば、アクセスレジス
タモードのとき、CPUに設けたアクセスレジスタと主記
憶上のアクセスリストを用いて命令のオペランドアドレ
スを動的に変換することにより、複数のアドレス空間の
データを参照することが可能な如く構成された仮想記憶
方式の情報処理装置であって、MVCL命令の実行に際する
データの破壊的重なり合いの検査を行なうか否かの判断
結果を迅速に得ることが可能である情報処理装置を実現
でき、延いてはMVCL命令の処理の高速化を図ることがで
きる利点がある。
[Effects of the Invention] As described above, according to the present invention, in the access register mode, the operand address of an instruction is dynamically converted using an access register provided in the CPU and an access list on main memory. , An information processing apparatus of a virtual memory system configured to be able to refer to data in a plurality of address spaces, and determining whether to perform a check for destructive overlap of data when executing an MVCL instruction. There is an advantage that it is possible to realize an information processing apparatus capable of quickly obtaining a result, and to thereby speed up processing of an MVCL instruction.

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

第1図は本発明の一実施例を示すブロック図、第2図は
実施例の動作を示すタイムチャート、第3図は破壊的オ
ーバラップ条件検出回路の構成の例を示すブロック図、
第4図は破壊的重なり合いを生ずる条件について説明す
る図、第5図は従来のMVCL命令の処理のマイクロプログ
ラムルーチンを示す流れ図、第6図は従来のMVCL命令の
処理の制御を示すパイプラインのタイムチャートであ
る。 1,5,7,11……ラッチ、2……デコーダ、3−1〜3−n,
16−1〜16−3,10……アンドゲート、4……アクセスレ
ジスタ、6……演算ユニット、8−1〜8−n,9……オ
アゲート、12……破壊的オーバラップ条件検出回路、13
……B−ラッチ、14……C−ラッチ、15……CO−ラッ
チ、16〜24……流れ図上の動作
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a time chart showing the operation of the embodiment, FIG. 3 is a block diagram showing an example of the configuration of a destructive overlap condition detection circuit,
FIG. 4 is a diagram for explaining conditions that cause destructive overlap, FIG. 5 is a flowchart showing a microprogram routine for processing a conventional MVCL instruction, and FIG. 6 is a pipeline diagram showing control of processing of a conventional MVCL instruction. It is a time chart. 1, 5, 7, 11 ... latch, 2 ... decoder, 3-1 to 3-n,
16-1 to 16-3,10 ... AND gate, 4 ... access register, 6 ... arithmetic unit, 8-1 to 8-n, 9 ... OR gate, 12 ... destructive overlap condition detection circuit, 13
…… B-latch, 14 …… C-latch, 15 …… CO-latch, 16 to 24 …… Operation on the flowchart

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭59−42684(JP,A) 特開 平1−305429(JP,A) 特開 昭59−33551(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/355 G06F 12/08 - 12/12 ──────────────────────────────────────────────────続 き Continuation of front page (56) References JP-A-59-42684 (JP, A) JP-A-1-305429 (JP, A) JP-A-59-33551 (JP, A) (58) Field (Int.Cl. 7 , DB name) G06F 9/30-9/355 G06F 12/08-12/12

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】CPUに設けたアクセスレジスタと主記憶上
のアクセスリストを用いて命令のオペランドアドレスを
動的に変換することにより、複数のアドレス空間のデー
タを参照することが可能な如く構成された仮想記憶方式
の情報処理装置であって、 第2オペランドで与えられる情報に対応する実空間上の
アドレスのデータを第1オペランドで与えられる情報に
対応する実空間上のアドレスへ移動する命令語の第1オ
ペランドおよび第2オペランドについて、それぞれオペ
ランドアドレスを指定するためのレジスタ番号が0でな
いときには、該当するレジスタ番号に対応するアクセス
レジスタの内容を選択し、一方、オペランドアドレスを
指定するためのレジスタ番号が0番であるときには、デ
ータをオール“0"として設定する第1の回路と、 前記第1の回路により選択あるいは設定された第1オペ
ランドに係るデータと、第2オペランドに係るデータと
を比較する第2の回路と、 前記第2の回路により両データが一致しているとの結果
が得られたとき、該結果を用いて第1オペランドアドレ
スと第2オペランドアドレスとの重なり合いの検査を行
なうか否かを制御する第3の回路と を設けたことを特徴とする情報処理装置。
The present invention is configured such that data in a plurality of address spaces can be referred to by dynamically converting an operand address of an instruction using an access register provided in a CPU and an access list on a main memory. A virtual memory type information processing device, comprising: an instruction word for moving data at an address in a real space corresponding to information given by a second operand to an address in a real space corresponding to information given by a first operand; When the register number for designating the operand address is not 0 for each of the first and second operands, the contents of the access register corresponding to the corresponding register number are selected, while the register for designating the operand address is selected. A first circuit for setting data as all "0" when the number is 0; A second circuit for comparing the data relating to the first operand selected or set by the first circuit with the data relating to the second operand; and determining that the two data are identical by the second circuit. And a third circuit for controlling whether or not to check whether the first operand address overlaps the second operand address using the result when the result is obtained. .
JP1183799A 1989-07-18 1989-07-18 Information processing device Expired - Fee Related JP3014701B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1183799A JP3014701B2 (en) 1989-07-18 1989-07-18 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1183799A JP3014701B2 (en) 1989-07-18 1989-07-18 Information processing device

Publications (2)

Publication Number Publication Date
JPH0348931A JPH0348931A (en) 1991-03-01
JP3014701B2 true JP3014701B2 (en) 2000-02-28

Family

ID=16142113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1183799A Expired - Fee Related JP3014701B2 (en) 1989-07-18 1989-07-18 Information processing device

Country Status (1)

Country Link
JP (1) JP3014701B2 (en)

Also Published As

Publication number Publication date
JPH0348931A (en) 1991-03-01

Similar Documents

Publication Publication Date Title
US5408626A (en) One clock address pipelining in segmentation unit
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
US6061783A (en) Method and apparatus for manipulation of bit fields directly in a memory source
JPH0429093B2 (en)
JPH06236268A (en) Apparatus and method for judgment of length of instruction
JPS60179851A (en) Data processor
JPH07210381A (en) Processor and computer system
JP3707581B2 (en) Data processing system having self-aligned stack pointer and method thereof
KR100303712B1 (en) Method and apparatus for an address pipeline in a pipelined machine
JPH0683582A (en) Data arithmetic operation unit
JP3014701B2 (en) Information processing device
JPS5938677B2 (en) Control word transfer control device
JPH02123442A (en) Accelerated memory
JPS60129839A (en) Information processor
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP2915680B2 (en) RISC processor
JP2812610B2 (en) Pipeline control method
JPH04160655A (en) Execution detecting system
JPS5955546A (en) Firmware processor
JPH06162067A (en) Device and method for controlling vector instruction
JP2504570B2 (en) Storage area write inspection processing method
JP3523407B2 (en) Information processing equipment
JPH0471219B2 (en)
JPS61296448A (en) Data writing control system for electronic computer
JPH0235330B2 (en)

Legal Events

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