JPH0348931A - Mvcl instruction control system - Google Patents

Mvcl instruction control system

Info

Publication number
JPH0348931A
JPH0348931A JP1183799A JP18379989A JPH0348931A JP H0348931 A JPH0348931 A JP H0348931A JP 1183799 A JP1183799 A JP 1183799A JP 18379989 A JP18379989 A JP 18379989A JP H0348931 A JPH0348931 A JP H0348931A
Authority
JP
Japan
Prior art keywords
register
operand
access
data
address
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.)
Granted
Application number
JP1183799A
Other languages
Japanese (ja)
Other versions
JP3014701B2 (en
Inventor
Gakuo Asakawa
浅川 岳夫
Aiichiro Inoue
愛一郎 井上
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

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

Abstract

PURPOSE:To execute an MVCL instruction at a high speed by converting dynamically the operand address of an instruction in an access register mode with use of an access register of a CPU and an access list stored in a main storage. CONSTITUTION:The base register number is set to a latch 1 in a cycle B, and the corresponding access register is selected under the AND conditions secured between the decoding result of the base register number and a B-mu-TAG signal, i.e., the access register read signal obtained in the cycle B. The contents of the access register are once held by a latch 5 and then sent to an arithmetic unit 6. This operation is applied to the 1st and 2nd operands of the corresponding MVCL instruction, and the data on both operands are compared with each other by the unit 6. The result of this comparison is converged by the OR circuits 8-1 - 8-n and 9 and held by a latch 11 in response to the signal received from an AND gate 10. Meanwhile the data are shifted despite the detection 12 of an INH-DISABLE-OVERLAP-CHK signal.

Description

【発明の詳細な説明】 [概  要コ アクセスレジスタモードで動作し得る仮想記憶方式の情
報処理装置に間し、 MVCL命令の動作速度の高速化を目的とし、MVCL
命令語の第1オペランドおよび第2オペランドについて
、それぞれオペランドアドレスを指定するためのレジス
タ番号がoltsないときには、該当するレジスタ番号
に対応するアクセスレジスタの内容を選択し、一方、オ
ペランドアドレスを指定するためのレジスタ番号が0番
であるときには、データをオール“0”として設定する
手段と、該手段により選択あるいは設定された第1オペ
ランドに係るデータと、第2オペランドに係るデータと
を比較する手段と、その比較結果を用いて第1オペラン
ドと第2オペランドとのアドレスの破壊的重なり合いの
検査を行なうか否かを制御する如く構成する。
[Detailed Description of the Invention] [Summary] The MVCL is a virtual memory type information processing device that can operate in co-access register mode, and is designed to speed up the operation speed of MVCL instructions.
For the first and second operands of the instruction word, if there is no register number for specifying the operand address, select the contents of the access register corresponding to the corresponding register number, while specifying the operand address. means for setting the data as all "0" when the register number is 0; and means for comparing the data related to the first operand selected or set by the means with the data related to the second operand. , the comparison result is used to control whether or not to check for destructive overlap between the addresses of the first and second operands.

[産業上の利用分野] 本発明は、複数のアドレス空間からなる仮想記憶装置を
持った情報処理装置における実空間上のデータの移動に
際する破壊的重なり合いの検査に関し、特に、MVCL
命令の実行に際する第1オペランドと第2オペランドに
指定されたアドレスに関する破壊的重なり合いの検査を
行なうか否かの制御を高速に行なうだめの手段に係る。
[Field of Industrial Application] The present invention relates to checking for destructive overlap when moving data in real space in an information processing device having a virtual storage device consisting of a plurality of address spaces, and in particular
The present invention relates to a means for quickly controlling whether or not to check for destructive overlap regarding addresses designated as a first operand and a second operand when an instruction is executed.

[従来の技術] 近年の情報処理装置に対する要求として、処理するデー
タ量の増大がある。特にデータベースシステムにおいて
これが著しい。この要求に伴い、従来の仮想記憶装置に
おけるアドレス空間の限界を越えて、複数のアドレス空
間のデータを直接ユーザープログラムからアクセスする
ことを可能にするアーキテクチャ−の実現が要望され、
このような製品が出現した。
[Background Art] Recent demands on information processing devices include an increase in the amount of data to be processed. This is particularly noticeable in database systems. In line with this demand, there is a need to realize an architecture that allows a user program to directly access data in multiple address spaces, exceeding the address space limitations of conventional virtual storage devices.
A product like this has appeared.

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

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

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

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

情報処理装置で用いる命令の一つとしてMVCL (M
OVE  CHARACTERLONG)命令がある。
MVCL (M
OVE CHARACTERLONG) command.

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

MVCL命令のデータの移動の方法についてのプログラ
マに対する周知としては、通常1バイトずつリードして
、これを、目的きするアドレスの箇所に1バイトずつラ
イトしている如き仕様としているが、実際には、高速化
のためとメモリからデータを一度に読み出すバス幅との
関係もあり、−度にリードライトするデータは必ずしも
1バイトずつとは限らない。
Programmers are generally familiar with the data movement method of MVCL instructions, which reads one byte at a time and writes each byte at the desired address, but in reality, Due to the speed-up and the bus width for reading data from the memory at once, the data read/written at each time is not necessarily one byte at a time.

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

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

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

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

そのため、命令の実行に際しては、破壊的型なり合いが
起きるか否かについて検査をする必要がある。
Therefore, when executing an instruction, it is necessary to check whether a destructive type mismatch 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 and second operands of the MVCL instruction are access registers corresponding to register numbers specifying respective operand addresses. Since the contents of the access register should exist within the address space pointed to, destructive type matching is performed only when the contents of the access registers corresponding to the first and second operands match.

また、オペランドアドレスを指定するレジスタ番号がゼ
ロの場合には、その指定されたオペランドは一次仮想記
憶空間に存在する筈であるから、比較されるアクセスレ
ジスタの内容はオールゼロとして処理が行なわれる。
Furthermore, if the register number specifying the operand address is zero, the specified operand must exist in the primary virtual storage space, so processing is performed with the contents of the access register being compared as being all zeros.

従来の処理方式でこのような処理を実現しようとすると
、MVCL命令を実行するマイクロプログラムの中でレ
ジスタ番号の検査、その結果によるアクセスレジスタの
選択、選択された内容の比較の検査、その結果による破
壊的型なり合いの検査を行なうかどうかの分岐の選択な
どjこついての制御を行なわなければならない。
If you try to implement this kind of processing using the conventional processing method, you will need to check the register number in the microprogram that executes the MVCL instruction, select the access register based on the result, compare the selected contents, and perform a check based on the result. Strict control must be performed, such as branch selection, such as whether or not to perform destructive pattern checking.

第5図はこのようプ;従来のM V CL命令の処理の
マイクロプログラムルーチンを示す流れ図である。
FIG. 5 is a flow diagram illustrating a microprogram routine for processing a conventional M V CL instruction.

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

以下、第5図および第67に基づいて動作を説明するっ (a)  第6vgJフロー〇(第5図ステップ16に
相当する) MVCL命令の第1オペランドのレジスタ
番号をチエツクする。前記チエツクはバイブラインのB
サイクルで行なわれる。Wサイクルでオール0かどかが
が判定される(判定結果は5TATUSである)。
The operation will be explained below based on FIG. 5 and FIG. 67. (a) 6th vgJ flow (corresponding to step 16 in FIG. 5) Check the register number of the first operand of the MVCL instruction. The above check is the vibration line B
It is done in cycles. In the W cycle, it is determined whether all 0s are present (the determination result is 5TATUS).

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

(b)  第6図フロー〇はダミーのステージである。(b) Flow ○ in Figure 6 is a dummy stage.

(C)  第6図フロー■(第5図ステップ16jこ、
相当する) 前記ステージ■のチエツクの結果、レジス
タ番号が0でなかった場合は、番号に相当するアクセス
レジスタの内容を、演算ユニット (Eユニット)に送
る。
(C) Figure 6 flow■ (Figure 5 step 16j,
As a result of the check in stage (2) above, if the register number is not 0, the contents of the access register corresponding to the number are sent to the arithmetic unit (E unit).

(d)  第6図フロー■〜■は、第2オペランドに関
して、上記第6図フロー〇〜■と同様の処理を行なう。
(d) Flows (1) to (2) in FIG. 6 perform the same processing as flows (2) to (2) in FIG. 6 described above regarding the second operand.

(e)  第6図70−〇に於いて、前記二つのアクセ
スレジスタの内容がEユニットで比較される。前記比較
は第5図フローチャートのステップ19に相当する。
(e) In FIG. 6 70-0, the contents of the two access registers are compared in 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 destructive overlap check is performed (steps 21 to 23 of the flowchart of FIG. 5).

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

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

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

すなわち、本発明は、アクセスレジスタモードのとき、
CPUに設けたアクセスレジスタと主記憶上のアクセス
リストを用いて命令のオペランドアドレスを動的に変換
することにより、複数のアドレス空間のデータを参照す
ることが可能な如く構成された仮想記憶方式の情報処理
装置におけるMVCL命令の制御方式であって、MVC
L命令語の第1オペランドおよび第2オペランドについ
、て、それぞれオペランドアドレスを指定するだめのレ
ジスタ番号が0番でないときには、該当するレジスタ番
号に対応するアクセスレジスタの内容を選択し、一方、
オペランドアドレスを指定するためのレジスタ番号が0
番であるときには、データをオール“0”として設定す
る回路と、該回路により選択あるいは設定された第1オ
ペランドに係るデータと、第2オペランドに係るデータ
とを比較する回路と、上記回路により両データが一致し
ているとの結果が得られたとき、これを保持し、該結果
を用いて第1オペランドアドレスと第2オペランドアド
レスとの破壊的重なり合いの検査を行なうか否かを制御
する回路とを設けたM V CL命令制御方式である。
That is, in the present invention, when in access register mode,
A virtual memory system configured so that data in multiple address spaces can be referenced by dynamically converting the operand address of an instruction using an access register provided in the CPU and an access list in main memory. A control method for MVCL instructions in an information processing device, the MVC
For the first and second operands of the L instruction word, if the register number for specifying the operand address is not 0, select the contents of the access register corresponding to the corresponding register number, and,
The register number for specifying the operand address is 0
When the number is 0, a circuit sets the data as all "0", a circuit compares the data related to the first operand selected or set by the circuit, and the data related to the second operand, and the circuit compares the data related to the second operand. When a result that the data match is obtained, a circuit that holds this result and controls whether or not to use the result to check for destructive overlap between the first operand address and the second operand address. This is an M V CL command control system with

[作 用] 本発明においては、アクセスレジスタ変換が行なわれる
アクセスレジスタモードにおいて、MVCL命令の第1
オペランド、第2オペランドはそれぞれのオペランドア
ドレスを指定するレジスタ番号に対応するアクセスレジ
スタの内容が指し示すアドレス空間内に存在する筈であ
るから、前記第1オペランド、第2オペランドに対応す
るアクセスレジスタの内容が一致したときのみ破壊的重
なり合いの検査が行なわれる。
[Function] In the present invention, in the access register mode in which access register conversion is performed, the first MVCL instruction
Since the operand and the second operand should exist in the address space pointed to by the contents of the access register corresponding to the register number specifying the respective operand address, the contents of the access register corresponding to the first operand and the second operand are Destructive overlap checking is performed only when the values match.

また、オペランドアドレスを指定するレジスタ番号がゼ
ロの場合には、その指定されたオペランドは一次仮想記
憶空間に存在する筈であるから、比較されるアクセスレ
ジスタの内容はオールゼロとして処理が行なわれる。
Furthermore, if the register number specifying the operand address is zero, the specified operand must exist in the primary virtual storage space, so processing is performed with the contents of the access register being compared as being all zeros.

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

[実施例] 第1図は本発明の一実施例を示すブロック図であって、
1はBサイクルのペースレジスタ番号を保持するラッチ
、2はデコーダ、3−1〜3−nはそれぞれアンドゲー
ト、4はアクセスレジスタ、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,
1 is a latch that holds the pace register number of the B cycle, 2 is a decoder, 3-1 to 3-n are AND gates, 4 is an access register, 5 is a latch, 6 is an arithmetic unit, and 7 is an address address by the arithmetic unit. A latch that holds the comparison result (exclusive OR (EOR) result), 8-
1 to 8-n and 9 each represent an OR gate, 10 an AND gate, 11 a latch, and 12 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 Figure 1, the base register number is set in γchi1 in the B cycle, and the decoding result and B-μ-TA, which is the access register read signal in the B cycle, are
The corresponding access register is selected by the AND condition with the G signal, and after its contents are temporarily held in the latch 5, they are sent to the arithmetic unit 6 (E unit of the CPU).

上記動作は第2図のタイムチャートに示すように当該M
VCL命令の第1オペランドと、第2オペランドについ
て行なわれ、それら両データが演算ユニット6によって
比較される(この比較は実際には両データの排他的論理
和として求められ、その結果が比較結果きなる)。そし
て、この比較結果はオア回路8−1〜8−nおよび9に
よって集束されてラッチ11に保持される。アンドゲー
トlOからなる回路は、ラッチ11へのデータのセット
のタイミングを作成する回路である。
The above operation is performed as shown in the time chart of Fig. 2.
This is performed on the first and second operands of the VCL 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 used as the comparison result). Become). The comparison results are collected by OR circuits 8-1 to 8-n and 9 and held in latch 11. The circuit consisting of the AND gate IO is a circuit that creates timing for setting data to the latch 11.

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

第3図は、破壊的オーバラップ条件検出回路12の構成
の例を示すブロック図であって、13はB−ラッチ (
B−LATCH) 、14はC−ラッチ(C−LATC
H) 、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, in which 13 is a B-latch (
B-LATCH), 14 is C-Latch (C-LATC
H), 15 is CO-Latch (CO-LATCH),
16-1 to 16-3 represent AND gates.

同図において、B−LATCHは、(OPlのアドレス
)≧(O20のアドレス) の条件を検出したとき、そ
の結果を保持するラッチである(上記OPIはオペラン
ドlを、また、O20はオペランド2を表わしている。
In the same figure, B-LATCH is a latch that holds the result when the condition (OPl address) ≧ (O20 address) is detected (the above OPI holds operand l, and O20 holds operand 2). It represents.

以降においても同様に表現する)。The same expression will be used hereafter).

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

更に、C0−LATCHは、CMIN(OFルングス、
OP2レングス>4−OF2アドレス]〉○P2アドレ
ス の条件を検出したときその結果を保持するラッチで
あって、このラッチがセットされたときは、オペランド
2がラップアラウンドしないことを示すものである。
Furthermore, C0-LATCH is CMIN (OF rungs,
OP2 length>4-OF2 address]>○P2 address This is a latch that holds the result when the condition is detected, and when this latch is set, it indicates that operand 2 will not wrap around.

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

第3図におけるアンドゲート16−1のアンド条件は 
B−LATCHHC−LATCHであり、アンドゲート
16−2のアンド条件は B−LATCHHCO−LA
TCHであり、またアンドゲート16−3のアンド条件
は C−LATCHHCO−LATCHであッテ、これ
らの内の一つでも成立するときは破壊的オーバーラツプ
条件となる。
The AND condition of AND gate 16-1 in Figure 3 is
B-LATCHHC-LATCH, and the AND condition of AND gate 16-2 is B-LATCHHCO-LA
TCH, and the AND condition of the AND gate 16-3 is C-LATCHHCO-LATCH, and if any one of these is satisfied, it becomes a destructive overlap condition.

第4図は、このような破壊的重なり合い(オーバーラツ
プ)を生ずる条件について説明する図であって、(a)
はB−LATCI(HC−LATCHの条件が成立する
場合のデータの重なりの状褒、(b)はB−LATC)
(HCO−LATCHの条件が成立する場合のデータの
重なりの状態、(C)はC−LATCHMCO−LAT
CHの条件が成立する場合のデータの重なりの状態を示
している。
FIG. 4 is a diagram illustrating the conditions that cause such destructive overlap (overlap), and (a)
is B-LATCI (reward of data overlap when the HC-LATCH condition is satisfied, (b) is B-LATC)
(The state of data overlap when the HCO-LATCH condition is satisfied, (C) is C-LATCHMCO-LAT
It shows the state of data overlap when the CH condition is satisfied.

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

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

り合いを生ずる条件について説明する図、第5図は従来
のMVCL命令の処理のマイクロプログラムルーチンを
示す流れ図、第6図は従来のMVCL命令の処理の制御
を示すパイプラインのタイムチャートである。
FIG. 5 is a flow chart showing a microprogram routine for conventional MVCL instruction processing, and FIG. 6 is a pipeline time chart showing conventional MVCL instruction processing control.

1.5,7.11・・・・・・ラッチ、2・・・・・・
デコーダ、3−1〜3−n、 16−1〜16−3. 
10−アンドゲート、4・・・・・・アクセスレジスタ
、6・・・・・・演算ユニット、8−1〜8−n、9・
・・・・・オアゲート、12・・・・・・破壊的オーバ
ラップ条件検出回路、13・・・・・・B−ラッチ、1
4・・・・・・C−ラッチ、15・・・・・・CO−ラ
ッチ、16〜24・・・・・・流れ図上の動作
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, 1
4...C-Latch, 15...CO-Latch, 16-24...Operations on the flowchart

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

Claims (1)

【特許請求の範囲】 アクセスレジスタモードのとき、CPUに設けたアクセ
スレジスタと主記憶上のアクセスリストを用いて命令の
オペランドアドレスを動的に変換することにより、複数
のアドレス空間のデータを参照することが可能な如く構
成された仮想記憶方式の情報処理装置におけるMVCL
命令の制御方式であって、 MVCL命令語の第1オペランドおよび第2オペランド
について、それぞれオペランドアドレスを指定するため
のレジスタ番号が0でないときには、該当するレジスタ
番号に対応するアクセスレジスタの内容を選択し、一方
、オペランドアドレスを指定するためのレジスタ番号が
0番であるときには、データをオール“0”として設定
する回路と、 該回路により選択あるいは設定された第1オペランドに
係るデータと、第2オペランドに係るデータとを比較す
る回路と、 上記回路により両データが一致しているとの結果が得ら
れたとき、これを保持し、該結果を用いて第1オペラン
ドアドレスと第2オペランドアドレスとの破壊的重なり
合いの検査を行なうか否かを制御する回路とを設けたこ
とを特徴とするMVCL命令制御方式。
[Claims] When in access register mode, data in multiple address spaces is referenced by dynamically converting the operand address of an instruction using an access register provided in the CPU and an access list in main memory. MVCL in a virtual memory type information processing device configured to enable
In the instruction control method, when the register number for specifying the operand address for the first and second operands of the MVCL instruction word is not 0, the contents of the access register corresponding to the corresponding register number are selected. , on the other hand, when the register number for specifying the operand address is 0, there is a circuit that sets the data as all "0", data related to the first operand selected or set by the circuit, and data related to the second operand. When the above circuit obtains a result that both data match, it holds this and uses the result to compare the first operand address and the second operand address. 1. An MVCL command control system characterized by comprising a circuit for controlling whether or not to perform a destructive overlap test.
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 true JPH0348931A (en) 1991-03-01
JP3014701B2 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
JP3014701B2 (en) 2000-02-28

Similar Documents

Publication Publication Date Title
US4562538A (en) Microprocessor having decision pointer to process restore position
JPS62197830A (en) Data processing system
JP3237858B2 (en) Arithmetic unit
JPH0348536B2 (en)
JPH0348537B2 (en)
JP3822568B2 (en) Event processing
JPH0363092B2 (en)
JP2000284964A (en) Efficient sub-instruction emulation in vliw processor
JPH0348931A (en) Mvcl instruction control system
JP3055999B2 (en) Microprogram control device group
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
JPS6055864B2 (en) vector processor
JPH03271829A (en) Information processor
JP2812610B2 (en) Pipeline control method
JPH0377137A (en) Information processor
JPS60108973A (en) Method for finding the minimum value of array elements and element number of the minimum element
JPH0214730B2 (en)
JPH05250156A (en) Risc processor
JPH01306932A (en) Method for testing data processor
JPH02110636A (en) Debugging device for tag architecture machine and its compiler
JPH07191845A (en) Immediate data transfer device
JPH05127894A (en) Instruction executing system
JPH0320830A (en) System for evading fault of microprocessor
JPS6028014B2 (en) microprocessor
JPS60146328A (en) Microprogram control computer

Legal Events

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