JP2012048352A - Data processing device, memory access control method, and memory access control program - Google Patents

Data processing device, memory access control method, and memory access control program Download PDF

Info

Publication number
JP2012048352A
JP2012048352A JP2010188038A JP2010188038A JP2012048352A JP 2012048352 A JP2012048352 A JP 2012048352A JP 2010188038 A JP2010188038 A JP 2010188038A JP 2010188038 A JP2010188038 A JP 2010188038A JP 2012048352 A JP2012048352 A JP 2012048352A
Authority
JP
Japan
Prior art keywords
instruction
overtaking
memory access
setting
unit
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
JP2010188038A
Other languages
Japanese (ja)
Other versions
JP5585304B2 (en
Inventor
Keiichi Suga
圭一 須賀
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 JP2010188038A priority Critical patent/JP5585304B2/en
Publication of JP2012048352A publication Critical patent/JP2012048352A/en
Application granted granted Critical
Publication of JP5585304B2 publication Critical patent/JP5585304B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To perform overtaking control between arbitrarily grouped instruction groups.SOLUTION: A data processing device comprises a memory access control unit 102 that controls a plurality of memory access instructions accessing a main storage memory which are grouped into a plurality of instruction groups. The memory access control unit 102 performs the overtaking control for the memory access instructions between the instruction groups based on setting information that shows whether the memory access instruction in a predetermined instruction group can overtake the memory access instruction in a precedent other instruction group or not.

Description

本発明は、データ処理装置で処理するメモリアクセス命令の追い越し制御に関し、特に、任意にグループ分けした命令グループ間での追い越し制御が可能なデータ処理装置、メモリアクセス制御方法及びメモリアクセス制御プログラムに関する。   The present invention relates to overtaking control of memory access instructions processed by a data processing device, and more particularly to a data processing device, a memory access control method, and a memory access control program capable of overtaking control between arbitrarily grouped instruction groups.

一般に、データ処理装置のメモリアクセス命令制御部では、命令処理の高速化を目的として命令間の追い越し制御が行われている。例えば、主記憶メモリにデータを書き込むストア命令の次にデータを読み込むロード命令を実行するとする。この2つの命令がアクセスする主記憶メモリ領域(主記憶メモリのアドレス領域)に重なりがない場合、ストア命令より先にロード命令を実行することが出来る。このように後続のロード命令を先に実行することにより、ロード命令のレイテンシを隠蔽し命令処理の高速化を図ることができる。   Generally, in a memory access instruction control unit of a data processing apparatus, overtaking control between instructions is performed for the purpose of speeding up instruction processing. For example, assume that a load instruction for reading data is executed after a store instruction for writing data to the main memory. If there is no overlap in the main memory area (address area of the main memory) accessed by these two instructions, the load instruction can be executed prior to the store instruction. Thus, by executing the subsequent load instruction first, it is possible to conceal the latency of the load instruction and speed up the instruction processing.

このような追い越し制御に関する技術が、例えば特許文献1〜3に記載されている。特許文献1〜3では、実行時にハードウエアによって命令ごとにアクセス領域計算をし、追い越し制御を行う制御回路が記載されている。該制御回路は、命令発行部からベクトルストア命令を受け付けて、アドレス領域計算を行いその結果をレジスタに保持する。次にベクトルロード命令を受け付けると同様にアドレス領域計算を行い、さらに、レジスタに保持していた値と比較をし、アクセス領域に重なりがあるかどうかを判定する。この判定結果により、重なりがなければ後続のベクトルロード命令を先にメモリリクエストとして送出できる。特許文献1〜3では、このような追い越し制御回路によってメモリアクセスの高速化を図っている。   Techniques relating to such overtaking control are described in Patent Documents 1 to 3, for example. Patent Documents 1 to 3 describe a control circuit that performs an overtaking control by calculating an access area for each instruction by hardware at the time of execution. The control circuit receives a vector store instruction from the instruction issuing unit, performs address area calculation, and holds the result in a register. Next, when a vector load instruction is received, address area calculation is performed in the same manner, and further, a comparison is made with the value held in the register to determine whether there is an overlap in the access area. As a result of this determination, if there is no overlap, the subsequent vector load instruction can be sent as a memory request first. In Patent Documents 1 to 3, such an overtaking control circuit speeds up memory access.

一方、特許文献4では、特許文献1に記載された方法に加えて、ソフトウエアによって実行前に追い越し可否を設定する方法を併用する装置、及び方法に関する技術が記載されている。特許文献4では、先行ストア命令と後続ロード命令のアクセスするアドレス領域がブログラム上重ならないことが分かっている場合を想定している。このとき、命令語中に追い越しを許可するフラグを設け、ソフトウエア(コンパイラ)が命令語を生成する際に、追い越しを許可するフラグの値を命令語中に設定する。そして、該設定したフラグを用いて追い越し制御を行う。さらに、メモリアクセスのアドレス領域のプログラム上での重なりを規定するフラグを設定することで、ベクトル収集・拡散命令(リストベクトルロード・ストア命令)の追い越しも可能としている。   On the other hand, in Patent Document 4, in addition to the method described in Patent Document 1, a technique related to an apparatus and a method that uses a method of setting whether or not to pass before execution by software is described. Patent Document 4 assumes a case where it is known that the address areas accessed by the preceding store instruction and the subsequent load instruction do not overlap on the program. At this time, a flag for allowing overtaking is provided in the instruction word, and when the software (compiler) generates an instruction word, the value of the flag for allowing overtaking is set in the instruction word. Then, overtaking control is performed using the set flag. Furthermore, by setting a flag that defines the overlap of the memory access address area on the program, it is possible to overtake vector collection / spread instructions (list vector load / store instructions).

さらに、特許文献7では、アドレス依存性の無いストア命令をロード命令が優先的に送出する方法が記載されている。特許文献7では、コンパイラによって主記憶アドレスのアドレス依存を判断し、アドレス依存性の無いロード命令/ストア命令を特定する。そして、アドレス依存性の無いストア命令をアドレス依存性が無いことを示すストア命令に差し替える。この付加した情報にもとづき、ストア命令に後続するするロード命令を優先的に送出させている。   Furthermore, Patent Document 7 describes a method in which a load instruction preferentially sends a store instruction having no address dependency. In Patent Document 7, the compiler determines the address dependency of the main memory address, and specifies a load instruction / store instruction having no address dependency. Then, the store instruction having no address dependency is replaced with a store instruction indicating no address dependency. Based on this added information, a load instruction following the store instruction is preferentially transmitted.

特開平9‐231203JP 9-231203 特開2005‐235135JP-A-2005-235135 特開平10‐269199JP-A-10-269199 特開2002‐366538JP 2002-366538 A 特開2002‐297566JP2002-297566 特開2002‐32361JP 2002-32361 A 特開2009‐026260JP2009-026260A

特許文献4に記載の技術は、「先行するストア系命令及び後続のロード系命令の命令語の中に、メモリアクセスのアドレス領域のプログラム上での重なりを規定する追い越しビットを設定する」というものである。また、特許文献7に記載の技術は、「追い越しビットを設定するのではなく、命令自体を追い越し可能な命令に差し替える」というものである。これらの関連技術には以下のような問題点がある。   The technique described in Patent Document 4 is that "the overtaking bit that defines the overlap of the address area of the memory access on the program is set in the instruction word of the preceding store instruction and the subsequent load instruction". It is. Further, the technique described in Patent Document 7 is that “the instruction itself is replaced with an instruction that can be overtaken instead of setting an overtaking bit”. These related technologies have the following problems.

第1の問題点は、先行する複数命令に対する追い越し可否を記述することが困難であるという点である。つまり、追い越しビット単独では追い越される対象として一つのストア系命令しか指定できない。そこで、先行する複数命令に対する追い越し可否を記述するためには先行命令数分のビット数が命令語中に必要となる。先行命令数を増やしていくと、それに伴い命令語中の追い越しビットが増えていくが、命令語中の使用できるビット幅には限界があり、追い越し可能な命令数も制限せざるを得ない。したがって、この方法を用いる場合は追い越し数に制限が出来てしまう(課題1)。   The first problem is that it is difficult to describe whether overtaking is possible for a plurality of preceding instructions. In other words, the overtaking bit alone can specify only one store-related instruction as a target to be overtaken. Therefore, in order to describe whether overtaking is possible for a plurality of preceding instructions, the number of bits corresponding to the number of preceding instructions is required in the instruction word. As the number of preceding instructions increases, the number of overtaking bits in the instruction word increases accordingly, but the bit width that can be used in the instruction word is limited, and the number of instructions that can be overtaken must be limited. Therefore, when this method is used, the number of overtaking can be limited (Problem 1).

第2の問題点は、命令語中の追い越しビットを用いない場合の判定方法が不明であるという点である。特許文献4では、命令語中の追い越しビットを用いないときは、「命令語毎に判定テーブルを用意し追い越し可否を判定する」とあるが、その判定テーブルの設定方法などの記載がなく方法が不明である(課題2)。   A second problem is that the determination method when the overtaking bit in the instruction word is not used is unknown. In Patent Document 4, when an overtaking bit in an instruction word is not used, “a determination table is prepared for each instruction word to determine whether overtaking is possible” is described, but there is no description of a setting method of the determination table and the like. Unknown (Problem 2).

第3の問題点は、命令語生成時のソフトウエアの負荷が大きいことが挙げられる。2命令間の依存関係(ある命令の直後に実行する命令との依存関係など)を解析するだけであれば、ソフトウエアの負荷も比較的少ない。しかし、命令単位で依存関係を解析するため、追い越し可能な命令数を増やした場合には解析する命令の組み合わせが膨大になる。このような依存を解析するにはソフトウエアの負荷が過大になり、命令語生成に時間がかかるなどの問題がある(課題3)。   The third problem is that the load of software at the time of command word generation is large. If only the dependency relationship between two instructions (dependency relationship with an instruction executed immediately after a certain instruction, etc.) is analyzed, the software load is relatively small. However, since the dependency relationship is analyzed in units of instructions, when the number of instructions that can be overtaken is increased, the combinations of instructions to be analyzed become enormous. Analyzing such dependence involves problems such as excessive software load and time-consuming instruction word generation (Problem 3).

(発明の目的)
本発明の目的は、上述した課題を解決し、任意にグループ分けした命令グループ間での追い越し制御が可能なデータ処理装置、メモリアクセス制御方法及びメモリアクセス制御プログラムを提供することである。
(Object of invention)
An object of the present invention is to provide a data processing device, a memory access control method, and a memory access control program that can solve the above-described problems and can perform overtaking control between arbitrarily grouped instruction groups.

本発明の第1のデータ処理装置は、複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備え、メモリアクセス制御部が、所定の命令グループのメモリアクセス命令が先行する他の命令グループのメモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、命令グループ間のメモリアクセス命令の追い越し制御を行う。   A first data processing apparatus of the present invention includes a memory access control unit that controls a plurality of memory access instructions that are grouped into a plurality of instruction groups and that accesses a main storage memory. Based on the setting information indicating whether or not the memory access instruction of the other instruction group preceding the memory access instruction of the instruction group can be executed, overtake control of the memory access instruction between the instruction groups is performed.

本発明の第1のメモリアクセス制御方法は、複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備えるデータ処理装置のメモリアクセス制御方法であって、メモリアクセス制御部が、所定の命令グループのメモリアクセス命令が先行する他の命令グループのメモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、命令グループ間のメモリアクセス命令の追い越し制御を行う   A first memory access control method according to the present invention is a memory access control method for a data processing apparatus including a memory access control unit that controls a plurality of memory access instructions for accessing a main memory, which are grouped into a plurality of instruction groups. And the memory access control unit determines whether the memory between the instruction groups is based on the setting information indicating whether the memory access instruction of the predetermined instruction group can be executed by overtaking the memory access instruction of the other instruction group. Control overtaking of access commands

本発明の第1のメモリアクセス制御プログラムは、複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備えるデータ処理装置上で動作し、メモリアクセス制御部に、所定の命令グループのメモリアクセス命令が先行する他の命令グループのメモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、命令グループ間のメモリアクセス命令の追い越し制御を実行させる。   The first memory access control program of the present invention operates on a data processing apparatus including a memory access control unit that controls a plurality of memory access instructions that access a main memory, grouped into a plurality of instruction groups, Override memory access instructions between instruction groups based on setting information indicating whether the memory access control unit can execute the memory access instructions of other instruction groups preceding the memory access instruction of a given instruction group. Make control run.

本発明によれば、任意にグループ分けした命令グループ間での追い越し制御ができる。   According to the present invention, overtaking control can be performed between arbitrarily grouped instruction groups.

本発明の第1の実施の形態によるデータ処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data processor by the 1st Embodiment of this invention. 第1の実施の形態によるメモリアクセス制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the memory access control part by 1st Embodiment. 第1の実施の形態による追い越し設定保持部の構成を示すブロック図である。It is a block diagram which shows the structure of the overtaking setting holding | maintenance part by 1st Embodiment. 第1の実施の形態による追い越し設定命令及び追い越し設定クリア命令の命令語のフォーマットの例を示す図である。It is a figure which shows the example of the format of the command word of the overtaking setting command and overtaking setting clear command by 1st Embodiment. 第1の実施の形態による命令グループ間追い越し設定レジスタの構成を示すブロック図である。It is a block diagram which shows the structure of the overtaking setting register between instruction groups by 1st Embodiment. 第1の実施の形態によるデータ処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data processor by 1st Embodiment. 第1の実施の形態による追い越し設定処理又は追い越し設定クリア処理の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the overtaking setting process or overtaking setting clear process by 1st Embodiment. 本発明の第1の実施例によるデータ処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data processor by 1st Example of this invention. 本発明の第2の実施例によるデータ処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data processor by 2nd Example of this invention. 本発明の第3の実施例によるデータ処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data processor by 3rd Example of this invention. 本発明の第4の実施例によるデータ処理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the data processor by the 4th Example of this invention. 本発明の第5の実施例による追い越し制御の例を示す図である。It is a figure which shows the example of the overtaking control by 5th Example of this invention. 第1の実施例による追い越し制御の動作例を示す図である。It is a figure which shows the operation example of the overtaking control by 1st Example. 第2の実施例による追い越し制御の動作例を示す図である。It is a figure which shows the operation example of the overtaking control by 2nd Example. 第3の実施例による追い越し制御の動作例を示す図である。It is a figure which shows the operation example of the overtaking control by 3rd Example. 第4及び第5の実施例による追い越し制御の動作例を示す図である。It is a figure which shows the operation example of the overtaking control by the 4th and 5th Example. 本発明のデータ処理装置のハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the data processor of this invention. 背景技術による追い越し制御の例を示す図である。It is a figure which shows the example of the overtaking control by background art.

本発明によるデータ処理装置は、データ処理装置が処理するメモリアクセス命令の追い越し実行可否をソフトウエアによって設定可能にし、設定したメモリアクセス命令間の追い越し可否情報をハードウエア内に保持し、メモリアクセス命令の追い越し制御を行うことを特徴とするものである。このとき、データ処理装置が処理するメモリアクセス命令を複数種類のグループに分類し、それぞれの命令グループ間での追い越し可否を設定する。さらには、追い越し可能な命令列の範囲を指定し、指定した範囲にある命令グループ間の追い越し実行可否を設定可能にすることを特徴とする。   The data processing device according to the present invention makes it possible to set whether or not the memory access instruction processed by the data processing device can be overtaken by software, and retains overtakeability information between the set memory access instructions in the hardware. This is characterized in that the overtaking control is performed. At this time, the memory access instructions processed by the data processing apparatus are classified into a plurality of types of groups, and whether or not to pass between the respective instruction groups is set. Furthermore, it is characterized in that a range of instruction sequences that can be overtaken is designated, and whether overtaking can be executed between instruction groups in the designated range can be set.

本発明はソフトウエアによる実行前の判定の課題を解決するものであり、特定の命令グループを対象とした追い越し用の命令を使用して追い越し制御を行う。   The present invention solves the problem of determination before execution by software, and performs overtaking control using an overtaking instruction for a specific instruction group.

まず、データ処理装置で実行可能な全命令を種類によって、命令グループA、命令グループB、命令グループC、命令グループD、・・・のように分類する。データ処理装置の利用者(ユーザ)は、プログラム中に命令グループ間の追い越しを表す指示を与える。   First, all instructions that can be executed by the data processing apparatus are classified into an instruction group A, an instruction group B, an instruction group C, an instruction group D,. A user (user) of the data processing apparatus gives an instruction indicating overtaking between instruction groups in the program.

例えば、命令グループAはベクトルストア命令、命令グループBはスカラストア命令、命令グループCはベクトルロード命令、命令グループDはスカラロード命令といったように分類し、プログラムの所定の範囲では「ベクトルストア命令とスカラロード命令間では追い越し可能」と指示する。該指示によりコンパイラは「追い越し設定命令」と「追い越し設定クリア命令」を命令列に挿入する。このように挿入した命令により追い越し制御を行う。   For example, the instruction group A is classified as a vector store instruction, the instruction group B as a scalar store instruction, the instruction group C as a vector load instruction, and the instruction group D as a scalar load instruction. It can be overtaken between scalar load instructions ”. In response to this instruction, the compiler inserts an “overtaking setting instruction” and an “overtaking setting clear instruction” into the instruction sequence. The overtaking control is performed by the instruction inserted in this way.

なお、上記各命令自体については、本発明の技術分野における当業者にとってよく知られており、方式そのものは本発明とは直接的には関係しないため、その詳細については省略する。   Note that each instruction itself is well known to those skilled in the art of the present invention, and since the method itself is not directly related to the present invention, the details thereof are omitted.

データ処理装置のメモリアクセス制御部には「命令グループ間の追い越し設定を示すレジスタ」があり、該レジスタの点灯/消灯により各命令グループ間の依存の有無を保持する。   The memory access control unit of the data processing apparatus has a “register indicating an overtaking setting between instruction groups”, and holds whether or not there is a dependency between instruction groups by turning on / off the register.

例えば、データ処理装置のメモリアクセス制御部が「追い越し設定命令」を検出し実行すると、メモリアクセス制御部中の指定した「命令グループ間の追い越し設定を示すレジスタ」が点灯する。このレジスタが点灯しているときは指定した命令グループ間の依存はすべて解消されているものとみなして追い越し制御が行われる。つまり、指定された命令グループ間の追い越しを、無条件に許可することになる。通常時はこの「追い越し設定を示すレジスタ」が消灯しているため、主記憶アドレス領域の重なりをハードウエア検出し追い越し制御を行っている。   For example, when the memory access control unit of the data processing apparatus detects and executes an “overtaking setting instruction”, the designated “register indicating overtaking setting between instruction groups” in the memory access control unit is turned on. When this register is lit, overtaking control is performed assuming that all dependencies between designated instruction groups have been eliminated. In other words, overtaking between designated instruction groups is allowed unconditionally. Normally, this “register indicating overtaking setting” is turned off, so that the overwriting of the main memory address area is detected by hardware and overtaking control is performed.

データ処理装置のメモリアクセス制御部が「追い越し設定命令」を検出し実行した場合において、その後、データ処理装置のメモリアクセス制御部が「追い越し設定クリア命令」を検出し実行すると、メモリアクセス制御部中の指定した「命令グループ間の追い越し設定を示すレジスタ」が消灯する。この動作により、指定された命令グループ間は無条件での追い越しではなくなり、通常の動作となる。つまり、主記憶アドレス領域の重なりをハードウエア検出し追い越し制御に戻る。   When the memory access control unit of the data processing device detects and executes the “overtake setting instruction”, when the memory access control unit of the data processing device subsequently detects and executes the “overtake setting clear command”, the memory access control unit The “register indicating the overtaking setting between instruction groups” designated by is turned off. With this operation, the designated instruction group is not unconditionally overtaken, and becomes a normal operation. That is, the hardware detection of the overlap of the main memory address area is performed, and the process returns to the overtaking control.

前述した課題1について、本発明では、「追い越し設定命令」と「追い越し設定クリア命令」の間にある命令は全て追い越し対象の命令になるため、指定できる追い越し数に制限はない。また、命令語中に追い越しビットを持たないため、命令語のビット幅を圧迫することもない。   Regarding the above-described problem 1, in the present invention, since all the instructions between the “overtaking setting instruction” and the “overtaking setting clear instruction” are instructions to be overtaken, the number of overtaking that can be specified is not limited. Further, since the instruction word does not have an overtaking bit, the bit width of the instruction word is not compressed.

また、前述した課題2について、本発明では、特許文献4に示されている「判定テーブル」の代わりに、「追い越し設定命令」と「追い越し設定クリア命令」によって制御可能な、「命令グループ間の追い越し設定を示すレジスタ」を用いる。   Further, regarding the above-described problem 2, in the present invention, in place of the “determination table” shown in Patent Document 4, “overtaking setting instruction” and “overtaking setting clear instruction” can be controlled by the “between instruction groups”. A register indicating an overtaking setting is used.

「命令グループ間の追い越し設定を示すレジスタ」は各命令グループ間の追い越し可否を保持するレジスタであり、通常は「追い越し設定を示すレジスタ」はすべて消灯している。   The “register indicating the overtaking setting between instruction groups” is a register that holds whether overtaking between the instruction groups is possible, and all the “registers indicating the overtaking setting” are normally turned off.

そして、「追い越し設定命令」を実行すると、指定した命令グループに対応した「追い越し設定を示すレジスタ」が点灯する。該点灯は、無条件での追い越し機能がONになったことを示す。このように追い越し設定を保持することにより、追い越し制御を行う。   When the “overtaking setting instruction” is executed, the “register indicating overtaking setting” corresponding to the designated instruction group is turned on. The lighting indicates that the unconditional overtaking function is turned on. By maintaining the overtaking setting in this way, overtaking control is performed.

さらに、前述した課題3について、本発明は、すべての命令間の依存を解析するのではなく、ユーザが指定した範囲の依存を解析する。ユーザ指定の範囲(ブロック)にある変数や配列を解析し、追い越し可能である場合はブロックの前後に「追い越し設定命令」と「追い越し設定クリア命令」を挿入する。したがって、追い越し可能な命令数を増やした場合でもソフトウエア(コンパイラ)の負荷は少ない。   Further, regarding the above-described problem 3, the present invention does not analyze the dependence between all instructions, but analyzes the dependence of the range specified by the user. A variable or array in a user-specified range (block) is analyzed, and if overtaking is possible, an “overtaking setting command” and an “overtaking setting clear command” are inserted before and after the block. Therefore, even when the number of instructions that can be overtaken is increased, the load on the software (compiler) is small.

なお、本発明に係るデータ処理装置は、その好ましい一実施の形態において、HPC(high performance computer:高性能計算機)向け中央演算処理装置などがある。   The data processing apparatus according to the present invention includes a central processing unit for HPC (high performance computer) in a preferred embodiment.

次いで、本発明の実施の形態について図面を参照して詳細に説明する。なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。   Next, embodiments of the present invention will be described in detail with reference to the drawings. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.

(第1の実施の形態)
まず、本発明の第1の実施の形態について、図面を参照して詳細に説明する。以下の図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
(First embodiment)
First, a first embodiment of the present invention will be described in detail with reference to the drawings. In the following drawings, the configuration of parts not related to the essence of the present invention is omitted and is not shown.

図1は、本実施の形態によるデータ処理装置100の構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of a data processing apparatus 100 according to the present embodiment.

図1を参照すると、データ処理装置100は、命令制御部101と、メモリアクセス制御部102と、主記憶メモリ103と、演算部104と、を備える。   Referring to FIG. 1, the data processing apparatus 100 includes an instruction control unit 101, a memory access control unit 102, a main storage memory 103, and a calculation unit 104.

命令制御部101は、ロード命令(メモリデータを取得する命令)、ストア命令、演算命令、追い越し設定命令、追い越し設定クリア命令等の各命令を発行する命令発行手段111を備える。追い越し設定命令、追い越し設定クリア命令の詳細については後述する。   The instruction control unit 101 includes an instruction issuing unit 111 that issues instructions such as a load instruction (an instruction for acquiring memory data), a store instruction, an operation instruction, an overtaking setting instruction, and an overtaking setting clear instruction. Details of the overtaking setting command and the overtaking setting clear command will be described later.

命令発行手段111は、メモリアクセス制御部102又は演算部104に、任意の命令を発行する機能を有する。   The instruction issuing unit 111 has a function of issuing an arbitrary instruction to the memory access control unit 102 or the arithmetic unit 104.

主記憶メモリ103は、所定のデータ(以下、メモリデータと称す)を格納する機能を有する。主記憶メモリ103のメモリデータは、命令発行手段111からのロード命令に基づいて読み出され演算部104に送られる。また、ストア命令により、所定のデータが主記憶メモリ103に格納される。   The main memory 103 has a function of storing predetermined data (hereinafter referred to as memory data). The memory data in the main memory 103 is read based on the load command from the command issuing unit 111 and sent to the arithmetic unit 104. Also, predetermined data is stored in the main memory 103 by a store instruction.

演算部104は、命令発行手段111からの演算命令に基づいて演算を実行する演算手段141を含む。演算手段141は、主記憶メモリ103から送られてきメモリデータを用いたりして所定の演算を行い、該演算結果を命令制御部101に返す等する。   The calculation unit 104 includes a calculation unit 141 that executes a calculation based on a calculation command from the command issuing unit 111. The calculation unit 141 performs a predetermined calculation using the memory data sent from the main memory 103 and returns the calculation result to the instruction control unit 101.

次いで、本実施の形態によるメモリアクセス制御部102の構成を示すブロック図を、図2に示す。   Next, a block diagram showing a configuration of the memory access control unit 102 according to the present embodiment is shown in FIG.

図2を参照すると、メモリアクセス制御部102は、命令受信手段121と、アクセス領域判定手段122と、追い越し設定保持部123と、先行命令状態保持テーブル124(124−a〜124−c)と、命令保持バッファ125(125−a〜125−c)と、依存関係チェック手段126と、メモリアクセス命令出力制御手段127と、を含む。   Referring to FIG. 2, the memory access control unit 102 includes an instruction receiving unit 121, an access area determination unit 122, an overtaking setting holding unit 123, a preceding instruction state holding table 124 (124-a to 124-c), Instruction holding buffer 125 (125-a to 125-c), dependency check means 126, and memory access instruction output control means 127 are included.

命令受信手段121は、命令制御部101からの入力命令を、アクセス領域判定手段122、追い越し設定保持部123へ発行、及び命令保持バッファ125へ格納する機能を有する。   The command receiving unit 121 has a function of issuing an input command from the command control unit 101 to the access area determining unit 122 and the overtaking setting holding unit 123 and storing it in the command holding buffer 125.

また、命令受信手段121は、命令制御部101からの入力命令がメモリアクセス命令である場合は、該命令を所定の命令保持バッファ125へ格納する。例えば、入力命令が命令グループAのメモリアクセス命令である場合は、命令受信手段121は、該命令を命令保持バッファ125−あに格納する。   In addition, when the input instruction from the instruction control unit 101 is a memory access instruction, the instruction receiving unit 121 stores the instruction in a predetermined instruction holding buffer 125. For example, when the input instruction is a memory access instruction of the instruction group A, the instruction receiving unit 121 stores the instruction in the instruction holding buffer 125-A.

ここで、本実施の形態では、メモリアクセス命令は任意に3つのグループ(命令グループA、B、C)に分類され、先行命令状態保持テーブル124、命令保持バッファ125は該命令グループ毎に複数備えている。ただし、命令グループの数は3つに限定されず任意に設定可能であり、先行命令状態保持テーブル124、命令保持バッファ125についてもその数に制限はない。   In this embodiment, memory access instructions are arbitrarily classified into three groups (instruction groups A, B, and C), and a plurality of preceding instruction state holding tables 124 and instruction holding buffers 125 are provided for each instruction group. ing. However, the number of instruction groups is not limited to three and can be arbitrarily set, and the numbers of the preceding instruction state holding table 124 and the instruction holding buffer 125 are not limited.

アクセス領域判定手段122は、命令受信手段121からの入力命令と、該入力命令の先行命令であってまだ主記憶メモリ103へ出力されていない先行命令(以下、単に先行命令と称す)との依存関係を判定する機能を有する。ここで、依存関係とは、命令で指定する主記憶メモリ103のアドレス領域が重なっていることを言う。   The access area determination unit 122 depends on the input command from the command receiving unit 121 and the preceding command (hereinafter simply referred to as the preceding command) which is the preceding command of the input command and has not been output to the main memory 103 yet. It has a function to determine the relationship. Here, the dependency relationship means that the address areas of the main memory 103 designated by the instruction overlap.

アクセス領域判定手段122は、入力命令と先行命令とが依存関係にある場合は”1”、依存関係がない場合は”0”で表現できるフラグを、それぞれ判定結果として所定の先行命令状態保持テーブルへ格納する。   The access area determination means 122 displays a flag that can be expressed as “1” when the input instruction and the preceding instruction are in a dependency relationship, and “0” when there is no dependency relationship, as a determination result. To store.

例えば、入力命令が命令グループAのメモリアクセス命令である場合、アクセス領域判定手段122は、入力命令と先行命令とに依存関係がある場合は、先行命令状態保持テーブル124−aの所定の場所に、フラグ”1”を格納する。   For example, when the input instruction is a memory access instruction of the instruction group A, the access area determination unit 122 places the input instruction and the preceding instruction in a predetermined location in the preceding instruction state holding table 124-a when there is a dependency relationship. , Flag “1” is stored.

また、アクセス領域判定手段122は、追い越し設定部123から後述する追い越し設定信号を入力している場合は、該追い越し設定信号に対応する命令グループ間の入力命令と先行命令の組に対しては、無条件に依存関係なしと判定する。   Further, when an overtaking setting signal (to be described later) is input from the overtaking setting unit 123, the access area determination unit 122, for a set of an input instruction and a preceding instruction between instruction groups corresponding to the overtaking setting signal, It is determined that there is no dependency unconditionally.

例えば、追い越し設定信号が、命令グループAの命令は先行する命令グループBの命令を追い越し可能である旨を示す信号である時は、アクセス領域判定手段122は、入力命令がグループAの命令で先行命令が命令グループBの命令である場合(又はその逆の場合も)、無条件に依存関係なしと判定する。   For example, when the overtaking setting signal is a signal indicating that the instruction in the instruction group A can overtake the instruction in the preceding instruction group B, the access area determination unit 122 determines that the input instruction is preceded by an instruction in the group A. If the instruction is an instruction of the instruction group B (or vice versa), it is determined that there is no dependency unconditionally.

先行命令状態保持テーブル124は、各命令グループの入力命令毎に、先行命令との依存関係を示すフラグを格納する機能を有する。先行命令状態保持テーブル124は、該依存関係を、フラグを複数ビット使用したビットマップによって表現される(以降の説明において依存のチェック結果と記した場合はこのビットマップを示すものとする)。   The preceding instruction state holding table 124 has a function of storing a flag indicating a dependency relationship with the preceding instruction for each input instruction of each instruction group. In the preceding instruction state holding table 124, the dependency is expressed by a bitmap using a plurality of bits of flags (in the following description, this bitmap is shown when it is described as a dependency check result).

先行命令状態保持テーブル124−aは、命令部グループAのメモリアクセス命令と先行命令との依存関係とを示すフラグを格納し、先行命令状態保持―テーブル124−Bは、命令部グループBのメモリアクセス命令と先行命令との依存関係とを示すフラグを格納し、先行命令状態保持―テーブル124−cは、命令部グループCのメモリアクセス命令と先行命令との依存関係とを示すフラグを格納する。   The preceding instruction state holding table 124-a stores a flag indicating the dependency between the memory access instruction of the instruction group A and the preceding instruction, and the preceding instruction state holding-table 124-B is the memory of the instruction section group B. A flag indicating the dependency between the access instruction and the preceding instruction is stored, and the preceding instruction state holding-table 124-c stores a flag indicating the dependency between the memory access instruction of the instruction group C and the preceding instruction. .

命令保持バッファ125−aは、命令グループaのメモリアクセス命令を格納し、命令保持バッファ125−bは、命令グループbのメモリアクセス命令を格納し、命令保持バッファ125−cは、命令グループcのメモリアクセス命令を格納する。   The instruction holding buffer 125-a stores the memory access instruction of the instruction group a, the instruction holding buffer 125-b stores the memory access instruction of the instruction group b, and the instruction holding buffer 125-c is the instruction holding buffer 125-c. Stores memory access instructions.

依存関係チェック手段126は、先行命令状態保持テーブル124を参照して各命令グループの依存関係をチェックし、依存関係が解消している(依存関係がない)命令を、メモリアクセス命令出力制御手段127へ通知する機能を有する。依存関係チェック手段126によるチェックは、定期的に行ってもよいし、任意のタイミングで行っても良い。   The dependency check unit 126 checks the dependency relationship of each instruction group with reference to the preceding instruction state holding table 124, and determines an instruction in which the dependency relationship has been canceled (no dependency relationship) as the memory access instruction output control unit 127. It has a function to notify. The check by the dependency relationship check means 126 may be performed periodically or at an arbitrary timing.

メモリアクセス命令出力制御手段127は、依存関係チェック手段126からの通知に基づいて、発行可能な命令を命令グループの命令保持バッファ125から取り出し、該命令を主記憶メモリ103へ出力する機能を有する。   The memory access instruction output control unit 127 has a function of taking out an issuable instruction from the instruction holding buffer 125 of the instruction group based on the notification from the dependency relation checking unit 126 and outputting the instruction to the main memory 103.

依存関係チェック手段126、メモリアクセス命令出力制御手段127により、アドレス依存性のない命令が、命令保持バッファ125から優先的に取得され、出力されることとなる。   The dependency check unit 126 and the memory access instruction output control unit 127 preferentially acquire and output an instruction having no address dependency from the instruction holding buffer 125.

追い越し設定保持部123は、各命令グループ間の追い越し設定を保持する機能を有する。ここで、本実施の形態による追い越し設定保持部123の構成を示すブロック図を、図3に示す。   The overtaking setting holding unit 123 has a function of holding overtaking settings between instruction groups. Here, a block diagram showing a configuration of the overtaking setting holding unit 123 according to the present embodiment is shown in FIG.

図3を参照すると、追い越し設定保持部123は、命令識別手段1231と、レジスタ設定変更手段1232と、命令グループ間追い越し設定レジスタ1233と、追い越し設定信号出力手段1234と、命令デコード手段1235と、を含む。   Referring to FIG. 3, the overtaking setting holding unit 123 includes an instruction identifying unit 1231, a register setting changing unit 1232, an inter-instruction group overtaking setting register 1233, an overtaking setting signal output unit 1234, and an instruction decoding unit 1235. Including.

命令グループ間追い越し設定レジスタ1233は、各命令グループの組毎に、追い越し設定を示すレジスタを備える。命令グループ間追い越し設定レジスタ1233の構成の詳細については、後述する。   The inter-instruction group overtaking setting register 1233 includes a register indicating overtaking setting for each instruction group set. Details of the configuration of the instruction group overtaking setting register 1233 will be described later.

命令識別手段1231は、命令受信手段121から入力した命令を識別する機能を有する。   The command identifying unit 1231 has a function of identifying a command input from the command receiving unit 121.

命令識別手段1231は、入力命令が追い越し設定命令又は追い越し設定クリア命令であると識別した場合は、該命令がどの命令グループ間に対する命令であるか識別し、命令種別と命令グループの指定を識別結果としてレジスタ設定変更手段1232へ通知する。   When the instruction identifying unit 1231 identifies that the input instruction is an overtaking setting instruction or an overtaking setting clear instruction, the instruction identifying unit 1231 identifies which instruction group the instruction is for, and specifies the instruction type and the instruction group identification result. Is notified to the register setting changing means 1232.

また、命令識別手段は、入力命令がメモリアクセス命令である場合、該命令を命令デコード手段1235へ送る。   Further, when the input instruction is a memory access instruction, the instruction identifying unit sends the instruction to the instruction decoding unit 1235.

レジスタ設定変更手段1232は、命令識別手段1231からの識別結果に基づき、命令グループ間追い越し設定レジスタ1233の設定を変更する機能を有する。   The register setting changing unit 1232 has a function of changing the setting of the instruction group overtaking setting register 1233 based on the identification result from the instruction identifying unit 1231.

命令デコード手段1235は、命令識別手段1231から受け取ったメモリアクセス命令をデコードし、該デコード結果に基づき、通知すべき追い越し設定を選択して該選択結果を追い越し設定信号出力手段1234へ通知する。   The instruction decoding unit 1235 decodes the memory access instruction received from the instruction identifying unit 1231, selects the overtaking setting to be notified based on the decoding result, and notifies the overtaking setting signal output unit 1234 of the selection result.

追い越し設定信号出力手段1234は、命令グループ間追い越し設定レジスタ1233を参照し、命令デコード手段1235からの選択結果に対応する追い越し設定レジスタ501を参照し、該追い越し設定レジスタ501が”追い越し可”の状態である場合、その旨を示す信号(以下、追い越し設定信号と称す)をアクセス領域判定手段122へ出力する。   The overtaking setting signal output unit 1234 refers to the inter-instruction group overtaking setting register 1233, refers to the overtaking setting register 501 corresponding to the selection result from the instruction decoding unit 1235, and the overtaking setting register 501 is in the “overtaking possible” state. If it is, a signal indicating this (hereinafter referred to as an overtaking setting signal) is output to the access area determination means 122.

ここで、追い越し設定命令及び追い越し設定クリア命令の命令語のフォーマットの例を、図4に示す。図4を参照すると、追い越し設定命令及び追い越し設定クリア命令は、オペコード部401又は403と、命令グループ指定部402又は404とから構成される。   Here, an example of the format of the instruction words of the overtaking setting instruction and the overtaking setting clear instruction is shown in FIG. Referring to FIG. 4, the overtaking setting instruction and the overtaking setting clear instruction include an operation code part 401 or 403 and an instruction group designation part 402 or 404.

オペコード部401、403は、命令の種別を示す。オペコード部401は、自身が追い越し設定命令である旨を示す識別子が、オペコード部403は、自身が追い越し設定クリア命令である旨を示す識別子がそれぞれ格納されていることを示している。   Opcode sections 401 and 403 indicate the type of instruction. The operation code unit 401 stores an identifier indicating that it is an overtaking setting command, and the operation code unit 403 indicates that an identifier indicating that it is an overtaking setting clear command is stored.

命令グループ指定部402、404は、追い越し設定又は追い越し設定のクリアを行う命令グループ間が指定される。例えば命令グループ指定402、404が「命令グループ(A−B)」であるときは、先行命令グループAと後続命令グループBの組に対して、追い越し設定又は追い越し設定のクリアを行う。   The instruction group designation units 402 and 404 designate between instruction groups for performing overtaking settings or clearing overtaking settings. For example, when the instruction group designations 402 and 404 are “instruction group (AB)”, the overtaking setting or the overtaking setting is cleared for the set of the preceding instruction group A and the subsequent instruction group B.

次に、追い越し設定又は追い越し設定のクリアについて、図5を参照して詳細に説明する。   Next, the overtaking setting or clearing the overtaking setting will be described in detail with reference to FIG.

図5は、本実施の形態による命令グループ間追い越し設定レジスタ1233の構成を示すブロック図である。   FIG. 5 is a block diagram showing a configuration of the instruction group overtaking setting register 1233 according to this embodiment.

命令グループ間追い越し設定レジスタ1233は、各命令グループの組ごとに、追い越し可否を設定する追い越し設定レジスタ501−1〜1234−9から構成される。   The inter-instruction group overtaking setting register 1233 includes overtaking setting registers 501-1 to 1234-9 for setting whether overtaking is permitted for each instruction group pair.

追い越し設定レジスタ501−1〜1234−9は、レジスタ設定変更手段1232により設定/設定クリアが行われる。レジスタ設定変更手段1232は、命令グループ指定部402、404により、追い越し設定又は設定のクリアをすべき命令グループを一意に指定する。   The overtaking setting registers 501-1 to 1234-9 are set / cleared by the register setting changing unit 1232. The register setting changing unit 1232 uniquely designates an instruction group for which the overtaking setting or the setting should be cleared by the instruction group designation units 402 and 404.

図5の例では、レジスタ変更手段1232は、追い越し設定命令に対しては、命令グループ指定部402が「命令グループ(A−B)」であるため、先行命令グループAと後続命令グループBの組に対応する追い越し設定レジスタ501−2に対し、追い越し設定を行う。同様に、追い越し設定クリア命令に対しては、命令グループ指定部404が「命令グループ(A−B)」であるため、先行命令グループAと後続命令グループBの組に対応する追い越し設定レジスタ501−2に対し、追い越し設定のクリアを行う。   In the example of FIG. 5, the register changing unit 1232 sets a combination of the preceding instruction group A and the succeeding instruction group B because the instruction group specifying unit 402 is “instruction group (AB)” for the overtaking setting instruction. Is set to the overtaking setting register 501-2 corresponding to. Similarly, for the overtaking setting clear instruction, since the instruction group specifying unit 404 is “instruction group (AB)”, the overtaking setting register 501- corresponding to the pair of the preceding instruction group A and the subsequent instruction group B is used. Clear the overtaking setting for 2.

なお、追い越し設定をするとは、追い越しが可能なことを示す状態(追い越し可能状態)にすることをいい、追い越し設定のクリアとは、追い越し可能状態をクリア(すなわち、追い越しが不可能なことを示す状態にする)ことをいう。   The overtaking setting means a state indicating that overtaking is possible (overtaking possible state), and clearing the overtaking setting means clearing the overtaking possible state (that is, overtaking is impossible). State).

(第1の実施の形態の動作の説明)
次に、本実施の形態によるデータ処理装置100の動作について、図面を参照して詳細に説明する。
(Description of the operation of the first embodiment)
Next, the operation of the data processing apparatus 100 according to the present embodiment will be described in detail with reference to the drawings.

本実施の形態によるデータ処理装置100の動作について、図6のフローチャートを参照して説明する。   The operation of the data processing apparatus 100 according to this embodiment will be described with reference to the flowchart of FIG.

まず、命令制御部101から任意の命令が発行されメモリアクセス制御部102に入力されると(ステップS601)、命令受信手段121は、入力命令が追い越し設定命令又は追い越し設定クリア命令の場合は(ステップS602”YES”)、該入力命令を追い越し設定保持部123に発行し、追い越し設定処理又は追い越し設定クリア処理が行われる(ステップS603)。該処理の詳細については後述するため、ここでは説明を省略する。   First, when an arbitrary command is issued from the command control unit 101 and input to the memory access control unit 102 (step S601), the command receiving unit 121 determines that the input command is an overtaking setting command or an overtaking setting clear command (step S601). S602 “YES”), the input command is issued to the overtaking setting holding unit 123, and overtaking setting processing or overtaking setting clear processing is performed (step S603). The details of this process will be described later, so the description is omitted here.

一方、入力命令が追い越し設定命令又は追い越し設定クリア命令以外(すなわち、メモリアクセス命令)の場合(ステップS602”NO”)、命令受信手段121は、入力命令を追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、該入力命令を所定の命令保持バッファ125に格納する(ステップS604)。   On the other hand, when the input command is other than an overtaking setting command or an overtaking setting clear command (ie, a memory access command) (step S602 “NO”), the command receiving unit 121 includes an overtaking setting holding unit 123, an access area determining unit, and the like. It is issued to 122, and the input instruction is stored in a predetermined instruction holding buffer 125 (step S604).

次いで、追い越し設定保持部123の命令識別手段1231が、入力命令をメモリアクセス命令と識別し、命令デコード手段1235に該入力命令を送り、命令デコード手段1235が、入力命令をデコードし、該デコード結果に基づき、通知すべき追い越し設定を選択して該選択結果を追い越し設定信号出力手段1234へ通知する(ステップS605)。   Next, the instruction identification unit 1231 of the overtaking setting holding unit 123 identifies the input instruction as a memory access instruction, sends the input instruction to the instruction decoding unit 1235, and the instruction decoding unit 1235 decodes the input instruction, and the decoding result Based on the above, the overtaking setting to be notified is selected and the selection result is notified to the overtaking setting signal output means 1234 (step S605).

次いで、追い越し設定信号出力手段1234が、該選択結果に対応する追い越し設定レジスタ501を参照し、該追い越し設定レジスタ501が”追い越し可”の状態である場合(ステップS606”YES”)、対応する追い越し設定信号をアクセス領域判定手段122へ出力する(ステップS607)。   Next, the overtaking setting signal output means 1234 refers to the overtaking setting register 501 corresponding to the selection result, and when the overtaking setting register 501 is in the “overtaking possible” state (step S606 “YES”), the corresponding overtaking is performed. A setting signal is output to the access area determination means 122 (step S607).

次いで、アクセス領域判定手段122が、入力命令と、該入力命令の先行命令との依存関係を判定し、該判定結果を所定の先行命令状態保持テーブル124に格納する(ステップS608)。アクセス領域判定手段122は、入力命令と先行命令とが依存関係にある場合は”1”、依存関係がない場合は”0”で表現できるフラグを、それぞれ判定結果として格納する。   Next, the access area determination unit 122 determines the dependency between the input instruction and the preceding instruction of the input instruction, and stores the determination result in the predetermined preceding instruction state holding table 124 (step S608). The access area determination unit 122 stores, as determination results, flags that can be expressed as “1” when the input instruction and the preceding instruction are in a dependency relationship and “0” when there is no dependency relationship.

この時、アクセス領域判定手段122は、ステップS607によって追い越し設定信号を入力している場合は、無条件に、入力命令と先行命令との間に依存関係なしと判定する。追い越し設定信号を入力していないときは、主記憶メモリ103のアドレス領域の重なりをハードウエア検出することで依存関係を判定する。   At this time, if the overtaking setting signal is input in step S607, the access area determination unit 122 unconditionally determines that there is no dependency between the input instruction and the preceding instruction. When the overtaking setting signal is not input, the dependency is determined by detecting the overlap of the address areas of the main memory 103 by hardware.

次いで、依存関係チェック手段126が、先行命令状態保持テーブル124を参照して依存結果をチェックし、発行可能な命令(依存関係がない命令)がある場合(ステップS609”YES”)、該発行可能な命令についての情報を、メモリアクセス命令出力制御手段127へ通知し、次いで、メモリアクセス命令出力制御手段127が、該通知に基づき発行可能な命令を所定の命令保持バッファ125から優先的に取り出し、該選択した命令を主記憶メモリ103へ出力する(ステップS610)。   Next, the dependency checking unit 126 checks the dependency result with reference to the preceding instruction state holding table 124, and if there is an instruction that can be issued (an instruction having no dependency) (YES in step S609), the issuance is possible. The memory access instruction output control means 127 is notified of information on a correct instruction, and then the memory access instruction output control means 127 preferentially takes out instructions that can be issued based on the notification from the predetermined instruction holding buffer 125, The selected instruction is output to the main memory 103 (step S610).

次に、図7のフローチャートを参照して、上記ステップS603の追い越し設定処理又は追い越し設定クリア処理の動作について説明する。   Next, the operation of the overtaking setting process or the overtaking setting clear process in step S603 will be described with reference to the flowchart of FIG.

まず、命令受信手段121からの命令が入力されると(ステップS701)、命令識別手段1231が、該入力命令のオペコード部401又は402をチェックし、追い越し設定命令又は追い越し設定クリア命令であると識別する(ステップS702)。   First, when a command from the command receiving unit 121 is input (step S701), the command identifying unit 1231 checks the operation code part 401 or 402 of the input command and identifies it as an overtaking setting command or an overtaking setting clear command. (Step S702).

次いで、命令識別手段1231は、追い越し設定命令又は追い越し設定クリア命令の命令グループ指定部402又は404をチェックし、追い越し設定命令又は追い越し設定クリア命令がどの命令グループの組を指定しているかを識別する(ステップS703)。   Next, the instruction identifying unit 1231 checks the instruction group designation unit 402 or 404 of the overtaking setting instruction or the overtaking setting clear instruction, and identifies which instruction group set the overtaking setting instruction or the overtaking setting clear instruction designates. (Step S703).

次いで、命令識別手段1231は、識別した命令種別と命令グループの組の指定を識別結果としてレジスタ変更手段1232へ通知する(ステップS704)。   Next, the instruction identifying unit 1231 notifies the register changing unit 1232 of the designation of the identified instruction type and instruction group set as an identification result (step S704).

次いで、レジスタ変更手段1232が、該識別結果に基づき、命令グループ間追い越し設定レジスタ1233の所定の追い越し設定レジスタ501の設定を変更する(ステップS705)。   Next, the register changing unit 1232 changes the setting of the predetermined overtaking setting register 501 in the instruction group overtaking setting register 1233 based on the identification result (step S705).

次に、具体的な実施例を用いて、本実施の形態によるデータ処理装置の動作を説明する。なお、以下の説明において、命令A、B、Cはともにメモリアクセス命令であり、また、それぞれ命令グループA、B、Cに属する命令であるとする。   Next, the operation of the data processing apparatus according to this embodiment will be described using a specific example. In the following description, instructions A, B, and C are all memory access instructions, and are instructions belonging to instruction groups A, B, and C, respectively.

(構成の説明)
本実施例では、先行命令である命令Aと、後続命令である命令Bとの間に依存関係があり、追い越し制御ができない場合について説明する。なお、上述した以外の依存関係はない。
(Description of configuration)
In the present embodiment, a case will be described in which there is a dependency between an instruction A that is a preceding instruction and an instruction B that is a subsequent instruction, and overtaking control cannot be performed. There are no dependencies other than those described above.

(動作の説明)
本実施例の動作の説明について、図8のフローチャートを参照して詳細に説明する。
(Description of operation)
The operation of this embodiment will be described in detail with reference to the flowchart of FIG.

まず、命令Aが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS801)、命令受信手段121が、命令Aを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Aを命令保持バッファ125−aに格納する(ステップS802)。   First, when an instruction A is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S801), the instruction receiving unit 121 issues the instruction A to the overtaking setting holding unit 123 and the access area determination unit 122. Further, the instruction A is stored in the instruction holding buffer 125-a (step S802).

ここで、本実施例では、追い越し設定命令が発行されていないため、何れの追い越し設定レジスタ501も初期値(追い越し設定不可の状態)であり、追い越し設定保持部123から追い越し設定信号が出力されることはない。従って、追い越し設定保持部123の動作の説明については省略する。   In this embodiment, since no overtaking setting command is issued, any overtaking setting register 501 has an initial value (a state in which overtaking cannot be set), and an overtaking setting signal is output from the overtaking setting holding unit 123. There is nothing. Therefore, the description of the operation of the overtaking setting holding unit 123 is omitted.

次いで、アクセス領域判定手段122が、命令Aと、命令Aの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−aに格納する(ステップS803)。   Next, the access area determination unit 122 determines the dependency relationship between the instruction A and the preceding instruction of the instruction A, and stores the determination result in the preceding instruction state holding table 124-a (step S803).

アクセス領域判定手段122は、入力命令と先行命令とが依存関係にある場合は”1”、依存関係がない場合は”0”で表現できるフラグを、それぞれ判定結果として先行命令状態保持テーブル124の所定の場所に格納する。   The access area determination unit 122 displays a flag that can be expressed as “1” when the input instruction and the preceding instruction are in a dependency relationship and “0” when there is no dependency relationship, as a determination result in the preceding instruction state holding table 124. Store in place.

命令Aは、ステップS802で命令保持バッファ125−aに格納された後、命令Aの実行に必要なデータの待ち合わせのため命令グループAの命令保持バッファ125−aで待機する。   The instruction A is stored in the instruction holding buffer 125-a in step S802, and then waits in the instruction holding buffer 125-a of the instruction group A for waiting for data necessary for the execution of the instruction A.

命令Aが命令保持バッファ125−aで待機している間に、次いで、命令Bが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS804)、命令受信手段121が、命令Bを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Bを命令保持バッファ125−bに格納する(ステップS805)。   While the instruction A is waiting in the instruction holding buffer 125-a, when the instruction B is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S804), the instruction receiving unit 121 The instruction B is issued to the overtaking setting holding unit 123 and the access area determination unit 122, and the instruction B is stored in the instruction holding buffer 125-b (step S805).

次いで、アクセス領域判定手段122が、命令Bと、命令Bの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−bに格納する(ステップS806)。   Next, the access area determination unit 122 determines the dependency between the instruction B and the preceding instruction of the instruction B, and stores the determination result in the preceding instruction state holding table 124-b (step S806).

このとき、命令Bは先行する命令Aとの間で依存関係があるため、アクセス領域判定手段122は、先行命令状態保持テーブル124−bの所定の場所に、判定結果”1”を格納する。   At this time, since the instruction B has a dependency relationship with the preceding instruction A, the access area determination unit 122 stores the determination result “1” at a predetermined location in the preceding instruction state holding table 124-b.

次いで、依存関係チェック手段126が、先行命令状態保持テーブル124−bを参照して命令Bの依存結果をチェックする(ステップS807)。命令Bは先行する命令Aとの間で依存関係があるため、依存関係チェック手段126は、メモリアクセス命令出力制御手段127へ命令Bが発行可能な旨の通知は行わず、処理を終了する(ステップS808)。   Next, the dependency relationship checking means 126 checks the dependency result of the instruction B with reference to the preceding instruction state holding table 124-b (step S807). Since the instruction B has a dependency relationship with the preceding instruction A, the dependency check unit 126 does not notify the memory access instruction output control unit 127 that the instruction B can be issued, and ends the processing ( Step S808).

次いで、命令Aの実行に必要なデータがそろうと、依存関係チェック手段126が、命令Aの依存関係をチェックする(ステップS809)。本実施例では、命令Aは、先行命令との間で依存関係はないものとする。   Next, when the data necessary for the execution of the instruction A is available, the dependency relationship checking unit 126 checks the dependency relationship of the instruction A (step S809). In this embodiment, it is assumed that the instruction A has no dependency relationship with the preceding instruction.

従って、依存関係チェック手段126は、命令Aを発行可能と判断し、命令Aが発行可能な旨の情報を、メモリアクセス命令出力制御手段127へ通知し、メモリアクセス命令出力制御手段127が、命令Aを命令保持バッファ125−aから選択し、主記憶メモリ103へ出力する(ステップS810)。   Accordingly, the dependency checking unit 126 determines that the instruction A can be issued, notifies the memory access instruction output control unit 127 of information that the instruction A can be issued, and the memory access instruction output control unit 127 A is selected from the instruction holding buffer 125-a and output to the main memory 103 (step S810).

メモリアセス命令発行制御部209から命令Aが発行されると、命令グループBの先行命令状態保持テーブル204にあった、命令Aとの依存関係がクリアされる(フラグが”0”になる)(ステップS811)。該クリア処理は、アクセス領域判定手段122が行っても良いし、その他の任意の手段が行っても良い。   When the instruction A is issued from the memory access instruction issuance control unit 209, the dependency relation with the instruction A in the preceding instruction state holding table 204 of the instruction group B is cleared (the flag becomes “0”) ( Step S811). The clearing process may be performed by the access area determination unit 122 or any other unit.

次いで、依存関係チェック手段126が、命令Bの依存結果をチェックする(ステップS812)。   Next, the dependency relationship checking unit 126 checks the dependency result of the instruction B (step S812).

ステップS811で命令Bと命令Aの依存関係は解消されているため、依存関係チェック手段126は、命令Bを発行可能と判断し、命令Bが発行可能な旨の情報をメモリアクセス命令出力制御手段127へ通知し、メモリアクセス命令出力制御手段127が、命令Bを命令保持バッファ125−bから選択し、主記憶メモリ103へ出力する(ステップS813)。   Since the dependency relationship between the instruction B and the instruction A has been canceled in step S811, the dependency check unit 126 determines that the instruction B can be issued, and stores information indicating that the instruction B can be issued as a memory access instruction output control unit. 127, the memory access instruction output control means 127 selects the instruction B from the instruction holding buffer 125-b and outputs it to the main memory 103 (step S813).

(構成の説明)
本実施例では、先行命令である命令Aと、後続命令である命令Bとの間に依存関係がなく、追い越し制御ができる場合について説明する。その他の依存関係もない。
(Description of configuration)
In the present embodiment, a case will be described in which there is no dependency between the instruction A that is the preceding instruction and the instruction B that is the succeeding instruction, and overtaking control is possible. There are no other dependencies.

(動作の説明)
本実施例の動作の説明について、図9のフローチャートを参照して詳細に説明する。
(Description of operation)
The operation of this embodiment will be described in detail with reference to the flowchart of FIG.

まず、命令Aが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS901)、命令受信手段121が、命令Aを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Aを命令保持バッファ125−aに格納する(ステップS902)。   First, when an instruction A is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S901), the instruction receiving unit 121 issues the instruction A to the overtaking setting holding unit 123 and the access area determination unit 122. Further, the instruction A is stored in the instruction holding buffer 125-a (step S902).

ここで、本実施例では、追い越し設定命令が発行されていないため、何れの追い越し設定レジスタ501も初期値(追い越し設定不可の状態)であるため、追い越し設定保持部123から追い越し設定信号が出力されることはない。従って、追い越し設定保持部123の動作の説明については省略する。   Here, in this embodiment, since no overtaking setting command is issued, any overtaking setting register 501 has an initial value (a state in which overtaking setting is not possible), and thus an overtaking setting signal is output from the overtaking setting holding unit 123. Never happen. Therefore, the description of the operation of the overtaking setting holding unit 123 is omitted.

次いで、アクセス領域判定手段122が、命令Aと、命令Aの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−aに格納する(ステップS903)。   Next, the access area determination unit 122 determines the dependency relationship between the instruction A and the preceding instruction of the instruction A, and stores the determination result in the preceding instruction state holding table 124-a (step S903).

命令Aは、ステップS802で命令保持バッファ125−aに格納された後、命令Aの実行に必要なデータの待ち合わせのため命令グループAの命令保持バッファ125−aで待機する。   The instruction A is stored in the instruction holding buffer 125-a in step S802, and then waits in the instruction holding buffer 125-a of the instruction group A for waiting for data necessary for the execution of the instruction A.

命令Aが命令保持バッファ125−aで待機している間に、次いで、命令Bが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS904)、命令受信手段121が、命令Bを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Bを命令保持バッファ125−bに格納する(ステップS905)。   While the instruction A is waiting in the instruction holding buffer 125-a, when the instruction B is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S904), the instruction receiving unit 121 The instruction B is issued to the overtaking setting holding unit 123 and the access area determination unit 122, and the instruction B is stored in the instruction holding buffer 125-b (step S905).

次いで、アクセス領域判定手段122が、命令Bと、命令Bの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−bに格納する(ステップS906)。   Next, the access area determination unit 122 determines the dependency between the instruction B and the preceding instruction of the instruction B, and stores the determination result in the preceding instruction state holding table 124-b (step S906).

このとき、命令Bは先行する命令Aとの間で依存関係がないため、アクセス領域判定手段122は、先行命令状態保持テーブル124−bに、判定結果”0”を格納する。   At this time, since the instruction B has no dependency relationship with the preceding instruction A, the access area determination unit 122 stores the determination result “0” in the preceding instruction state holding table 124-b.

次いで、依存関係チェック手段126が、先行命令状態保持テーブル124−bを参照して命令Bの依存結果をチェックする(ステップS807)。命令Bは先行する命令Aとの間で依存関係がないため、依存関係チェック手段126は、命令Bを発行可能と判断し、命令Bが発行可能な旨の情報をメモリアクセス命令出力制御手段127へ通知し、メモリアクセス命令出力制御手段127が、命令Bを命令保持バッファ125−bから選択し、主記憶メモリ103へ出力する(ステップS908)。   Next, the dependency relationship checking means 126 checks the dependency result of the instruction B with reference to the preceding instruction state holding table 124-b (step S807). Since the instruction B has no dependency relationship with the preceding instruction A, the dependency relationship checking unit 126 determines that the instruction B can be issued, and sends information indicating that the instruction B can be issued to the memory access instruction output control unit 127. The memory access instruction output control means 127 selects the instruction B from the instruction holding buffer 125-b and outputs it to the main memory 103 (step S908).

次いで、命令Aの実行に必要なデータがそろうと、依存関係チェック手段126が、命令Aの依存関係をチェックする(ステップS909)。本実施例では、命令Aは、先行命令との間で依存関係はないものとする。   Next, when the data necessary for the execution of the instruction A is obtained, the dependency relationship checking unit 126 checks the dependency relationship of the instruction A (step S909). In this embodiment, it is assumed that the instruction A has no dependency relationship with the preceding instruction.

従って、依存関係チェック手段126は、命令Aを発行可能と判断し、命令Aが発行可能な旨の情報を、メモリアクセス命令出力制御手段127へ通知し、メモリアクセス命令出力制御手段127が、命令Aを命令保持バッファ125−aから選択し、主記憶メモリ103へ出力する(ステップS910)。   Accordingly, the dependency checking unit 126 determines that the instruction A can be issued, notifies the memory access instruction output control unit 127 of information that the instruction A can be issued, and the memory access instruction output control unit 127 A is selected from the instruction holding buffer 125-a and output to the main memory 103 (step S910).

このように、追い越し設定がされていない場合は、通常の追い越し制御により、命令間の追い越しを制御する。   Thus, when overtaking is not set, overtaking between instructions is controlled by normal overtaking control.

(構成の説明)
本実施例では、命令A、命令B、命令Cの順に命令制御部101から命令が発行されるとき、先行命令Aと後続命令Bに依存関係があり、先行命令A、Bと後続命令Cとの依存関係は不明の場合について説明する。なお、上述した以外の依存関係はない。
(Description of configuration)
In this embodiment, when instructions are issued from the instruction control unit 101 in the order of instruction A, instruction B, and instruction C, there is a dependency relationship between the preceding instruction A and the succeeding instruction B, and the preceding instructions A and B and the succeeding instruction C The case where the dependency relationship is unknown will be described. There are no dependencies other than those described above.

本実施例は、先行命令A及びBと、後続命令Cとの依存関係が不明なため、命令Aと命令Bの依存関係に依拠して命令Cの主記憶部103への出力がブロックされる状態を示している。   In this embodiment, since the dependency relationship between the preceding instructions A and B and the subsequent instruction C is unknown, the output of the instruction C to the main storage unit 103 is blocked depending on the dependency relationship between the instruction A and the instruction B. Indicates the state.

(動作の説明)
本実施例の動作の説明について、図10のフローチャートを参照して詳細に説明する。
(Description of operation)
The operation of this embodiment will be described in detail with reference to the flowchart of FIG.

まず、命令Aが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS1001)、命令受信手段121が、命令Aを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Aを命令保持バッファ125−aに格納する(ステップS1002)。   First, when an instruction A is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S1001), the instruction receiving unit 121 issues the instruction A to the overtaking setting holding unit 123 and the access area determination unit 122. Further, the instruction A is stored in the instruction holding buffer 125-a (step S1002).

ここで、本実施例では、追い越し設定命令が発行されていないため、何れの追い越し設定レジスタ501も初期値(追い越し設定不可の状態)であるため、追い越し設定保持部123から追い越し設定信号が出力されることはない。従って、追い越し設定保持部123の動作の説明については省略する。   Here, in this embodiment, since no overtaking setting command is issued, any overtaking setting register 501 has an initial value (a state in which overtaking setting is not possible), and thus an overtaking setting signal is output from the overtaking setting holding unit 123. Never happen. Therefore, the description of the operation of the overtaking setting holding unit 123 is omitted.

次いで、アクセス領域判定手段122が、命令Aと、命令Aの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−aに格納する(ステップS1003)。   Next, the access area determination unit 122 determines the dependency relationship between the instruction A and the preceding instruction of the instruction A, and stores the determination result in the preceding instruction state holding table 124-a (step S1003).

命令Aは、ステップS802で命令保持バッファ125−aに格納された後、命令Aの実行に必要なデータの待ち合わせのため命令グループAの命令保持バッファ125−aで待機する。   The instruction A is stored in the instruction holding buffer 125-a in step S802, and then waits in the instruction holding buffer 125-a of the instruction group A for waiting for data necessary for the execution of the instruction A.

命令Aが命令保持バッファ125−aで待機している間に、次いで、命令Bが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS1004)、命令受信手段121が、命令Bを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Bを命令保持バッファ125−bに格納する(ステップS1005)。   While the instruction A is waiting in the instruction holding buffer 125-a, when the instruction B is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S1004), the instruction receiving unit 121 The instruction B is issued to the overtaking setting holding unit 123 and the access area determination unit 122, and the instruction B is stored in the instruction holding buffer 125-b (step S1005).

次いで、アクセス領域判定手段122が、命令Bと、命令Bの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−bに格納する(ステップS1006)。   Next, the access area determination unit 122 determines the dependency between the instruction B and the preceding instruction of the instruction B, and stores the determination result in the preceding instruction state holding table 124-b (step S1006).

このとき、命令Bは先行する命令Aとの間で依存関係があるため、アクセス領域判定手段122は、先行命令状態保持テーブル124−bの所定の場所に、判定結果”1”を格納する。   At this time, since the instruction B has a dependency relationship with the preceding instruction A, the access area determination unit 122 stores the determination result “1” at a predetermined location in the preceding instruction state holding table 124-b.

次いで、依存関係チェック手段126が、先行命令状態保持テーブル124−bを参照して命令Bの依存結果をチェックする(ステップS1007)。命令Bは先行する命令Aとの間で依存関係があるため、依存関係チェック手段126は、メモリアクセス命令出力制御手段127へ命令Bが発行可能な旨の通知は行わず、処理を終了する(ステップS1008)。   Next, the dependency relationship checking unit 126 checks the dependency result of the instruction B with reference to the preceding instruction state holding table 124-b (step S1007). Since the instruction B has a dependency relationship with the preceding instruction A, the dependency check unit 126 does not notify the memory access instruction output control unit 127 that the instruction B can be issued, and ends the processing ( Step S1008).

次いで、命令Cが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS1009)、命令受信手段121が、命令Cを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Cを命令保持バッファ125−cに格納する(ステップS1010)。   Next, when the instruction C is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S1009), the instruction receiving unit 121 issues the instruction C to the overtaking setting holding unit 123 and the access area determination unit 122. Further, the instruction C is stored in the instruction holding buffer 125-c (step S1010).

次いで、アクセス領域判定手段122が、命令Cと、命令Cの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−cに格納する(ステップS1011)。   Next, the access area determination unit 122 determines the dependency relationship between the instruction C and the preceding instruction of the instruction C, and stores the determination result in the preceding instruction state holding table 124-c (step S1011).

このとき、命令Cには先行命令Aと先行命令Bが存在し、該先行命令と命令Cとの依存関係は不明である。もし、先行命令A又は先行命令Bと命令Cとの間に依存関係があるにもかかわらず、命令Cを先に主記憶メモリ103へ出力してしまうと、主記憶メモリ103のデータを破壊してしまうことになる。このため、命令Cは、先行命令A、先行命令Bが主記憶メモリ103へ出力された後に、主記憶メモリ103へ出力される必要がある。   At this time, the instruction C includes the preceding instruction A and the preceding instruction B, and the dependency between the preceding instruction and the instruction C is unknown. Even if there is a dependency between the preceding instruction A or the preceding instruction B and the instruction C, if the instruction C is first output to the main memory 103, the data in the main memory 103 is destroyed. It will end up. Therefore, the instruction C needs to be output to the main memory 103 after the preceding instruction A and the preceding instruction B are output to the main memory 103.

従って、ステップS1011で、アクセス領域判定手段122は、先行命令状態保持テーブル124−cの所定の場所に判定結果”1”を格納する。該依存フラグは、前述の実施例1と同様の流れにより命令A、命令Bが出力されたあとに、アクセス領域判定手段122又は任意の手段によりクリアにされる(ステップS1012、S1013)。   Accordingly, in step S1011, the access area determination unit 122 stores the determination result “1” at a predetermined location in the preceding instruction state holding table 124-c. The dependency flag is cleared by the access area determination unit 122 or an arbitrary unit after the commands A and B are output in the same flow as in the first embodiment (steps S1012 and S1013).

次いで、依存関係チェック手段126が、命令Cの依存結果をチェックする(ステップS1014)。   Next, the dependency relationship checking unit 126 checks the dependency result of the instruction C (step S1014).

ステップS1013で命令Bと命令Aの依存関係は解消されているため、依存関係チェック手段126は、命令Cを発行可能と判断し、命令Cが発行可能な旨の情報をメモリアクセス命令出力制御手段127へ通知し、メモリアクセス命令出力制御手段127が、命令Cを命令保持バッファ125−cから選択し、主記憶メモリ103へ出力する(ステップS1015)。   Since the dependency relationship between the instruction B and the instruction A has been canceled in step S1013, the dependency check unit 126 determines that the instruction C can be issued, and provides information indicating that the instruction C can be issued as a memory access instruction output control unit. 127, the memory access instruction output control means 127 selects the instruction C from the instruction holding buffer 125-c and outputs it to the main memory 103 (step S1015).

(構成の説明)
本実施例では、追い越し設定命令による追い越し動作について説明する。具体的には、追い越し設定命令、命令A、命令B、命令Cの順に命令制御部101から命令が発行される場合において、先行命令Aと後続命令Bに依存関係がある場合について説明する。なお、上述した以外の依存関係はない。
(Description of configuration)
In this embodiment, an overtaking operation by an overtaking setting command will be described. Specifically, a case where there is a dependency relationship between the preceding instruction A and the succeeding instruction B when the instructions are issued from the instruction control unit 101 in the order of the overtaking setting instruction, the instruction A, the instruction B, and the instruction C will be described. There are no dependencies other than those described above.

(動作の説明)
本実施例の動作の説明について、図11のフローチャートを参照して詳細に説明する。
(Description of operation)
The operation of this embodiment will be described in detail with reference to the flowchart of FIG.

まず、追い越し設定命令が命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS1101)、命令受信手段121が、追い越し設定命令をを追い越し設定保持部123に発行する(ステップS1102)。   First, when an overtaking setting command is issued from the command control unit 101 and input to the memory access control unit 102 (step S1101), the command receiving unit 121 issues an overtaking setting command to the overtaking setting holding unit 123 (step S1102). ).

本実施例では、該追い越し設定命令は、命令グループCが命令グループA、Bに対して追い越し可能であるという状態を示しているものとする。   In this embodiment, it is assumed that the overtaking setting instruction indicates a state in which the instruction group C can overtake the instruction groups A and B.

次いで、追い越し設定保持部123は所定の処理を行い、命令グループCが命令グループA、Bに対して追い越しが可能である旨を示す”追い越し可”という設定を行い、該”追い越し可”状態を保持する(ステップS1103)。上記処理の詳細については、図7に示す追い越し設定保持部123の動作と同様であるため、詳細は省略する。   Next, the overtaking setting holding unit 123 performs a predetermined process, performs a setting of “overtaking possible” indicating that the instruction group C can overtake the instruction groups A and B, and sets the “overtaking possible” state. Hold (step S1103). The details of the above processing are the same as the operation of the overtaking setting holding unit 123 shown in FIG.

次いで、命令Aが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS1104)、命令受信手段121が、命令Aを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Aを命令保持バッファ125−aに格納する(ステップS1105)。   Next, when the instruction A is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S1104), the instruction receiving unit 121 issues the instruction A to the overtaking setting holding unit 123 and the access area determination unit 122. Further, the instruction A is stored in the instruction holding buffer 125-a (step S1105).

次いで、アクセス領域判定手段122が、命令Aと、命令Aの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−aに格納する(ステップS1106)。なお、本実施例では命令Cは命令Aの後続命令であるため、この時に追い越し設定信号は出力されていない。従って、アクセス領域判定制御手段122は、主記憶メモリ103のアドレス領域の重なりをハードウエア検出することで依存関係を判定する。   Next, the access area determination unit 122 determines the dependency relationship between the instruction A and the preceding instruction of the instruction A, and stores the determination result in the preceding instruction state holding table 124-a (step S1106). In this embodiment, since the instruction C is a succeeding instruction of the instruction A, no overtaking setting signal is output at this time. Therefore, the access area determination control means 122 determines the dependency by detecting the overlap of the address areas of the main memory 103 by hardware.

命令Aは、ステップS1105で命令グループAの命令保持バッファ125−aに格納された後、命令Aの実行に必要なデータの待ち合わせのため命令グループAの命令保持バッファ125−aで待機する。   The instruction A is stored in the instruction holding buffer 125-a of the instruction group A in step S1105, and then waits in the instruction holding buffer 125-a of the instruction group A for waiting for data necessary for the execution of the instruction A.

命令Aが命令保持バッファ125−aで待機している間に、次いで、命令Bが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS1107)、命令受信手段121が、命令Bを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Bを命令保持バッファ125−bに格納する(ステップS1108)。   While the instruction A is waiting in the instruction holding buffer 125-a, when the instruction B is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S1107), the instruction receiving unit 121 The instruction B is issued to the overtaking setting holding unit 123 and the access area determination unit 122, and the instruction B is stored in the instruction holding buffer 125-b (step S1108).

次いで、アクセス領域判定手段122が、命令Bと、命令Bの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−bに格納する(ステップS1109)。   Next, the access area determination unit 122 determines the dependency between the instruction B and the preceding instruction of the instruction B, and stores the determination result in the preceding instruction state holding table 124-b (step S1109).

命令Bは先行する命令Aとの間で依存関係があるため、アクセス領域判定手段122は、先行命令状態保持テーブル124−bに、判定結果”1”を格納する。なお、本実施例では命令Cは命令Bの後続命令であるため、この時に追い越し設定信号は出力されていない。従って、アクセス領域判定制御手段122は、主記憶メモリ103のアドレス領域の重なりをハードウエア検出することで依存関係を判定している。   Since the instruction B has a dependency relationship with the preceding instruction A, the access area determination unit 122 stores the determination result “1” in the preceding instruction state holding table 124-b. In this embodiment, since the instruction C is a succeeding instruction of the instruction B, no overtaking setting signal is output at this time. Therefore, the access area determination control means 122 determines the dependency by detecting the overlap of the address areas of the main memory 103 by hardware.

次いで、依存関係チェック手段126が、先行命令状態保持テーブル124−bを参照して命令Bの依存結果をチェックする(ステップS1110)。命令Bは先行する命令Aとの間で依存関係があるため、依存関係チェック手段126は、メモリアクセス命令出力制御手段127へ命令Bが発行可能な旨の通知は行わず、処理を終了する(ステップS1111)。   Next, the dependency relationship checking unit 126 checks the dependency result of the instruction B with reference to the preceding instruction state holding table 124-b (step S1110). Since the instruction B has a dependency relationship with the preceding instruction A, the dependency check unit 126 does not notify the memory access instruction output control unit 127 that the instruction B can be issued, and ends the processing ( Step S1111).

次いで、命令Cが命令制御部101から発行されメモリアクセス制御部102に入力されると(ステップS1112)、命令受信手段121が、命令Cを追い越し設定保持部123、アクセス領域判定手段122へ発行し、又、命令Cを命令保持バッファ125−cに格納する(ステップS1113)。   Next, when the instruction C is issued from the instruction control unit 101 and input to the memory access control unit 102 (step S1112), the instruction receiving unit 121 issues the instruction C to the overtaking setting holding unit 123 and the access area determination unit 122. Further, the instruction C is stored in the instruction holding buffer 125-c (step S1113).

次いで、アクセス領域判定手段122が、命令Cと、命令Cの先行命令との依存関係を判定し、該判定結果を先行命令状態保持テーブル124−cに格納する(ステップS1114)。   Next, the access area determination unit 122 determines the dependency relationship between the instruction C and the preceding instruction of the instruction C, and stores the determination result in the preceding instruction state holding table 124-c (step S1114).

この時、追い越し設定保持部123では、命令グループCと、命令グループA又は命令部ループBとの間で命令グループ間の追い越し設定が”追い越し可”に設定されているため、追い越し設定保持部123からアクセス領域判定手段123に対して追い越し設定信号が出力されている。該処理の詳細については、図6に示す動作と同様であるため詳細な説明は省略する。   At this time, in the overtaking setting holding unit 123, the overtaking setting between the instruction groups between the instruction group C and the instruction group A or the instruction loop B is set to “overtaking possible”. The overtaking setting signal is output to the access area determination unit 123. The details of this processing are the same as the operations shown in FIG.

従って、ステップS1114において、アクセス領域判定手段は、命令Cと、命令A又は命令Bとの依存関係はないと無条件に判定する。   Accordingly, in step S1114, the access area determination unit unconditionally determines that there is no dependency relationship between the instruction C and the instruction A or the instruction B.

次いで、依存関係チェック手段126が、命令Cの依存結果をチェックする(ステップS1115)。   Next, the dependency relationship checking means 126 checks the dependency result of the instruction C (step S1115).

命令Cは、ステップS1114において無条件に命令A又は命令Bとの間で依存関係なしと判定されているため、依存関係チェック手段126は、命令Cを発行可能と判断し、命令Cが発行可能な旨の情報をメモリアクセス命令出力制御手段127へ通知し、メモリアクセス命令出力制御手段127が、命令Cを命令保持バッファ125−cから選択し、主記憶メモリ103へ出力する(ステップS1116)。 Since the instruction C is unconditionally determined to have no dependency with the instruction A or the instruction B in step S1114, the dependency check unit 126 determines that the instruction C can be issued, and the instruction C can be issued. Is sent to the memory access instruction output control means 127, and the memory access instruction output control means 127 selects the instruction C from the instruction holding buffer 125-c and outputs it to the main memory 103 (step S1116).

ステップS1115の時点で、命令Aの実行に必要なデータがそろっていない場合、命令Aは実行できず、命令Aに依存している命令Bも同様に実行できないため、実施例3に示す場合は、命令Cも実行ができないが、本実施例では、追い越し設定命令により、該状態でも命令Cの実行を可能としている。その後、実施例1と同様に、命令A、命令Bの順に発行される(ステップS1117)。   If the data necessary for executing the instruction A is not available at the time of step S1115, the instruction A cannot be executed, and the instruction B depending on the instruction A cannot be executed in the same manner. In this embodiment, the instruction C can be executed even in this state by the overtaking setting instruction. Thereafter, as in the first embodiment, the instructions A and B are issued in this order (step S1117).

(構成の説明)
本実施例では、追い越し設定命令により追い越し設定がされている状態において、追い越し設定クリア命令による追い越し設定のクリアの動作について説明する。
(Description of configuration)
In this embodiment, an operation of clearing the overtaking setting by the overtaking setting clear command in a state where the overtaking setting is set by the overtaking setting command will be described.

具体的には、追い越し設定クリア命令、命令A、命令B、命令Cの順に命令制御部101から発行される場合において、先行命令Aと後続命令Bに依存関係があり、先行命令A、Bと後続命令Cには依存関係がない場合について説明する。なお、上述した以外の依存関係はない。   Specifically, when the overtaking setting clear instruction, the instruction A, the instruction B, and the instruction C are issued from the instruction control unit 101 in this order, the preceding instruction A and the succeeding instruction B have a dependency relationship, and the preceding instructions A and B A case where the subsequent instruction C has no dependency will be described. There are no dependencies other than those described above.

なお、追い越し設定クリア命令により追い越し設定がクリアされた後の動作は、実施例3と同様となり、実施例3における追い越し設定命令を追い越し設定命令として読み替えて実施例3の動作を類推適用できるため、実施例3に示すようなフローチャートを用いた動作についての説明は省略する。   The operation after the overtaking setting is cleared by the overtaking setting clear command is the same as that of the third embodiment, and the operation of the third embodiment can be applied by analogy by replacing the overtaking setting command in the third embodiment with the overtaking setting command. The description about the operation | movement using a flowchart as shown in Example 3 is abbreviate | omitted.

(動作の説明)
本実施例の動作の説明について、図12、図18を参照して詳細に説明する。図20は、背景技術による追い越し制御の例を示す図であり、図12は、本実施例における追い越し制御の例を示す図である。
(Description of operation)
The operation of this embodiment will be described in detail with reference to FIGS. FIG. 20 is a diagram illustrating an example of overtaking control according to the background art, and FIG. 12 is a diagram illustrating an example of overtaking control in the present embodiment.

図18を参照すると、背景技術による追い越し制御では、追い越し前命令列708と追い越し後命令列709は実行順730に従って命令を実行する。   Referring to FIG. 18, in the overtaking control according to the background art, the instruction sequence before passing 708 and the instruction sequence after passing 709 execute instructions according to the execution order 730.

背景技術による追い越し制御では、アドレス領域の重なりをチェックし、重なりがない場合は追い越すという制御を行うため、図18の例では、ベクトルロード命令703とベクトルロード命令705は他のベクトルストア命令と依存関係がないため、追い越し可能である。   In the overtaking control according to the background art, the address load overlap is checked, and when there is no overlap, overtaking is performed. In the example of FIG. 18, the vector load instruction 703 and the vector load instruction 705 depend on other vector store instructions. Since there is no relationship, overtaking is possible.

一方、ベクトルロード命令704とベクトルストア命令707は依存関係にあるため、ベクトルロード命令704は追い越し不可である。   On the other hand, since the vector load instruction 704 and the vector store instruction 707 are in a dependency relationship, the vector load instruction 704 cannot be overtaken.

また、ベクトルロード命令704とスカラストア命令701との間の依存関係は指定されていないので、追い越し可否は不明である。したがって、スカラストア命令701は追い越し不可である。   In addition, since the dependency relationship between the vector load instruction 704 and the scalar store instruction 701 is not specified, whether overtaking is possible is unknown. Therefore, the scalar store instruction 701 cannot be overtaken.

この結果、追い越し後命令列609では、ベクトルロード命令704、ベクトルストア命令706、ベクトルストア命令707は、スカラストア命令501、スカラロード命令502を追い越せない命令順となっている。   As a result, in the post-overtaking instruction string 609, the vector load instruction 704, the vector store instruction 706, and the vector store instruction 707 are in the order in which the scalar store instruction 501 and the scalar load instruction 502 cannot be overtaken.

次いで、図12を参照すると、本発明での追い越し制御では、追い越し設定命令610がベクトル命令(VST、VLD)とスカラ命令(SST、SLD)との間の追い越を無条件で許可するものであるとすると、追い越し設定命令610を実行後、追い越し設定クリア命令620を実行するまでの間は、ベクトル命令(VST、VLD)とスカラ命令(SST、SLD)との間の追い越しが無条件で許可される。   Next, referring to FIG. 12, in the overtaking control according to the present invention, the overtaking setting instruction 610 unconditionally permits overtaking between a vector instruction (VST, VLD) and a scalar instruction (SST, SLD). If there is, the overtaking between the vector instruction (VST, VLD) and the scalar instruction (SST, SLD) is unconditionally permitted until the overtaking setting clear instruction 620 is executed after the overtaking setting instruction 610 is executed. Is done.

従って、ベクトル命令604〜607はスカラストア命令501、スカラロード命令502を追い越すことが可能となる。この結果、追い越し後命令列609では、ベクトルロード命令604、ベクトルストア命令606、ベクトルストア命令607がスカラストア命令501、スカラロード命令502を追い越した命令順となっている。   Therefore, the vector instructions 604 to 607 can pass the scalar store instruction 501 and the scalar load instruction 502. As a result, in the post-overtaking instruction string 609, the vector load instruction 604, the vector store instruction 606, and the vector store instruction 607 are in the order of instructions overtaking the scalar store instruction 501 and the scalar load instruction 502.

なお、上記実施例1から実施例5の動作例を、図13〜図16に示す。   Examples of the operations of the first to fifth embodiments are shown in FIGS.

(第1の実施の形態による効果)
次に本実施の形態の効果について説明する。
(Effects of the first embodiment)
Next, the effect of this embodiment will be described.

本実施の形態よれば、プログラムの処理を高速化する効果がある。その理由は、背景技術の方法では追い越し不可としてしか扱えなかった先行命令を追い越し可能として設定することができ、これにより、背景技術では追い越して発行できなかった後続のメモリアクセス命令を発行することができるからである。   According to the present embodiment, there is an effect of speeding up the program processing. The reason is that it is possible to set a preceding instruction that can only be handled as being overtaken by the background technology method as being overtaken, thereby issuing a subsequent memory access instruction that could not be issued by overtaking in the background art. Because it can.

また、本実施の形態によれば、追い越し設定命令は使用者(ユーザ)の指定により追い越し可否を設定できるため、メモリアクセス命令の発行順を制御する用途に適用できる。   In addition, according to the present embodiment, the overtaking setting command can be set as to whether overtaking can be set by the designation of the user (user), and therefore can be applied to the purpose of controlling the order of issuing memory access commands.

次に、本発明のデータ処理装置100のハードウェア構成例について、図17を参照して説明する。図17はデータ処理装置100のハードウェア構成例を示すブロック図である。   Next, a hardware configuration example of the data processing apparatus 100 of the present invention will be described with reference to FIG. FIG. 17 is a block diagram illustrating a hardware configuration example of the data processing apparatus 100.

図17を参照すると、データ処理装置100は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPU(Central Processing Unit)801、RAM(Random Access Memory)等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部802、ネットワークを介してデータの送受信を行う通信部803、入力装置805や出力装置806及び記憶装置807と接続してデータの送受信を行う入出力インタフェース部804、上記各構成要素を相互に接続するシステムバス808を備えている。記憶装置807は、例えば、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。   Referring to FIG. 17, the data processing device 100 has a hardware configuration similar to that of a general computer device, and includes a data work area including a memory such as a CPU (Central Processing Unit) 801 and a RAM (Random Access Memory). And a main storage unit 802 used for a temporary data saving area, a communication unit 803 that transmits and receives data via a network, an input / output interface that transmits and receives data by connecting to the input device 805, the output device 806, and the storage device 807 A unit 804 and a system bus 808 for interconnecting the above components. The storage device 807 is realized by, for example, a hard disk device including a non-volatile memory such as a ROM (Read Only Memory), a magnetic disk, and a semiconductor memory.

本発明のデータ処理装置100の命令制御部101、メモリアクセう制御部102、演算部104は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置807に格納し、そのプログラムを主記憶部802にロードしてCPU801で実行することにより、ソフトウェア的に実現することも可能である。   The instruction control unit 101, the memory access control unit 102, and the calculation unit 104 of the data processing apparatus 100 of the present invention are implemented by mounting circuit components that are hardware components such as LSI (Large Scale Integration) incorporating a program. In addition to realizing the operation in hardware, a program that provides the function is stored in the storage device 807, and the program is loaded into the main storage unit 802 and executed by the CPU 801. It can also be realized.

以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。   Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea. .

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。   The various components of the present invention do not necessarily have to be independent of each other. A plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.

また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。   Moreover, although the several procedure is described in order in the method and computer program of this invention, the order of the description does not limit the order which performs a several procedure. For this reason, when implementing the method and computer program of this invention, the order of the several procedure can be changed in the range which does not interfere in content.

また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。   The plurality of procedures of the method and the computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.

さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。   Further, a part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備え、
前記メモリアクセス制御部が、
所定の前記命令グループの前記メモリアクセス命令が先行する他の前記命令グループの前記メモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、前記命令グループ間の前記メモリアクセス命令の追い越し制御を行うことを特徴とするデータ処理装置。
(Appendix 1)
A memory access control unit that controls a plurality of memory access instructions for accessing the main memory, divided into a plurality of instruction groups,
The memory access control unit is
Overtaking of the memory access instruction between the instruction groups based on setting information indicating whether the memory access instruction of the predetermined instruction group can be executed by overtaking the memory access instruction of the other instruction group preceding A data processing apparatus characterized by performing control.

(付記2)
前記メモリアクセス命令と、前記設定情報に追い越し可を設定する追い越し設定命令と、前記設定情報に追い越し不可を設定する追い越し設定クリア命令とを前記メモリアクセス制御部に発行する命令発行手段を備え、
前記メモリアクセス制御部が、
前記設定情報を保持する追い越し設定保持部を備え、
前記追い越し設定保持部が、
前記設定情報の内容を格納する命令グループ間追い越し設定レジスタと、
前記追い越し設定命令又は前記追い越し設定クリア命令に基づいて、前記命令グループ間追い越し設定レジスタの設定情報を変更するレジスタ変更手段とを含むことを特徴とする付記1に記載のデータ処理装置。
(Appendix 2)
Command issuing means for issuing to the memory access control unit, the memory access instruction, an overtaking setting instruction for setting overtaking in the setting information, and an overtaking setting clear instruction for setting overtaking impossible in the setting information;
The memory access control unit is
An overtaking setting holding unit for holding the setting information;
The overtaking setting holding unit
An instruction group passing setting register for storing the contents of the setting information;
The data processing apparatus according to claim 1, further comprising: a register changing unit that changes setting information of the overtaking setting register between the instruction groups based on the overtaking setting instruction or the overtaking setting clear instruction.

(付記3)
前記追い越し設定命令及び前記追い越し設定クリア命令が、追い越し可の設定又は追い越し不可の設定を行う命令グループ間を指定する情報を含むことを特徴とする付記2に記載のデータ処理装置。
(Appendix 3)
The data processing apparatus according to appendix 2, wherein the overtaking setting command and the overtaking setting clear command include information for specifying an instruction group for performing setting for overtaking or setting for non-overtaking.

(付記4)
前記メモリアクセス制御部が、
前記メモリアクセス命令と、先行する他の前記メモリアクセス命令とのアドレス依存性を判定するアクセス領域判定手段と、
前記追い越し設定保持部が、
前記命令グループ間追い越し設定レジスタの前記設定情報に基づいて、追い越し可能状態である命令グループ間を特定する追い越し設定信号を前記アクセス領域判定手段に出力する追い越し設定信号出力手段とを備え、
前記アクセス領域判定手段は、
前記追い越し設定信号で特定される命令グループ間の前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性を無条件に依存なしと判定することを特徴とする付記2又は付記3に記載のデータ処理装置。
(Appendix 4)
The memory access control unit is
Access area determination means for determining address dependency between the memory access instruction and the other preceding memory access instruction;
The overtaking setting holding unit
An overtaking setting signal output means for outputting an overtaking setting signal for specifying between instruction groups in an overtaking enabled state to the access area determining means based on the setting information of the overtaking setting register between the instruction groups;
The access area determination means includes:
Supplementary note 2 or Supplementary note 3, wherein address dependency between the memory access instruction between the instruction groups specified by the overtaking setting signal and the preceding other memory access instruction is determined unconditionally as being independent. The data processing apparatus described in 1.

(付記5)
前記追い越し設定保持部が、
前記メモリアクセス命令を入力した場合に、当該メモリアクセス命令をデコードし、当該デコード結果に基づき、前記追い越し設定信号を出力すべき命令グループの組を選択するデコード手段を含み、
前記追い越し設定信号出力手段は、
前記デコード手段によって選択された命令グループに対応する命令グループ間追い越し設定レジスタを参照し、前記設定情報が追い越し可の状態である場合、その旨を示す前記追い越し設定出力信号を出力することを特徴とする付記4に記載のデータ処理装置
(Appendix 5)
The overtaking setting holding unit
Decoding means for decoding the memory access instruction when the memory access instruction is input, and selecting a set of instruction groups to output the overtaking setting signal based on the decoding result;
The overtaking setting signal output means includes
The inter-instruction group overtaking setting register corresponding to the instruction group selected by the decoding means is referred to, and when the setting information is in an overtaking possible state, the overtaking setting output signal indicating that is output. The data processing device according to appendix 4

(付記6)
前記メモリアクセス制御部が、
前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性の有無の情報を保持する先行命令状態保持テーブルを備え、
前記アクセス領域判定手段は、
前記判定の結果を前記先行命令状態保持テーブルに格納することを特徴とする付記2から付記5の何れか1項に記載のデータ処理装置。
(Appendix 6)
The memory access control unit is
A preceding instruction state holding table that holds information on presence / absence of address dependency between the memory access instruction and the preceding other memory access instruction;
The access area determination means includes:
6. The data processing device according to any one of appendix 2 to appendix 5, wherein the determination result is stored in the preceding instruction state holding table.

(付記7)
前記先行命令状態保持テーブルが、
各命令グループ毎に、前記メモリアクセス命令について、すべての前記先行する他の前記メモリアクセス命令との依存結果をフラグで表現したビットマップで表されることを特徴とする付記6に記載のデータ処理装置。
(Appendix 7)
The preceding instruction state holding table is
The data processing according to appendix 6, wherein for each instruction group, the memory access instruction is represented by a bit map that represents a dependency result of all the preceding other memory access instructions with a flag. apparatus.

(付記8)
前記メモリアクセス制御部が、
前記主記憶メモリへ出力されるまでの間、前記メモリアクセス命令を保持する命令保持バッファと、
前記先行命令状態保持テーブルを参照して、前記依存関係の有無をチェックする依存関係チェック手段と、
前記依存関係チェック手段のチェック結果に基づき、前記命令保持バッファからアドレス依存性がない前記メモリアクセス命令を優先的に取得して前記主記憶メモリへ出力するメモリアクセス命令出力制御手段とを備えることを特徴とする付記6又は付記7に記載のデータ処理装置。
(Appendix 8)
The memory access control unit is
An instruction holding buffer for holding the memory access instruction until it is output to the main memory;
Dependency check means for checking the presence or absence of the dependency with reference to the preceding instruction state holding table;
Memory access instruction output control means for preferentially acquiring the memory access instruction having no address dependency from the instruction holding buffer based on a check result of the dependency check means and outputting the memory access instruction to the main memory. 8. The data processing device according to appendix 6 or appendix 7, which is a feature.

(付記9)
複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備えるデータ処理装置のメモリアクセス制御方法であって、
前記メモリアクセス制御部が、
所定の前記命令グループの前記メモリアクセス命令が先行する他の前記命令グループの前記メモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、前記命令グループ間の前記メモリアクセス命令の追い越し制御を行うことを特徴とするメモリアクセス制御方法。
(Appendix 9)
A memory access control method for a data processing apparatus including a memory access control unit that controls a plurality of memory access instructions that are grouped into a plurality of instruction groups and accesses a main memory.
The memory access control unit is
Overtaking of the memory access instruction between the instruction groups based on setting information indicating whether the memory access instruction of the predetermined instruction group can be executed by overtaking the memory access instruction of the other instruction group preceding A memory access control method characterized by performing control.

(付記10)
前記メモリアクセス制御部の追い越し設定保持部が、
命令グループ間追い越し設定レジスタに前記設定情報の内容を格納し、
前記設定情報に追い越し可を設定する追い越し設定命令と、前記設定情報に追い越し不可を設定する追い越し設定クリア命令に基づいて、前記命令グループ間追い越し設定レジスタの設定情報を変更することを特徴とする付記9に記載のメモリアクセス制御方法。
(Appendix 10)
The overtaking setting holding unit of the memory access control unit,
Store the contents of the setting information in the overtaking setting register between instruction groups,
The setting information of the overtaking setting register between the instruction groups is changed based on an overtaking setting instruction that sets overtaking permission in the setting information and an overtaking setting clear instruction that sets overtaking impossible in the setting information. 10. The memory access control method according to 9.

(付記11)
前記追い越し設定命令及び前記追い越し設定クリア命令が、追い越し可の設定又は追い越し不可の設定を行う命令グループ間を指定する情報を含むことを特徴とする付記10に記載のメモリアクセス制御方法。
(Appendix 11)
11. The memory access control method according to appendix 10, wherein the overtaking setting command and the overtaking setting clear command include information for specifying an instruction group for performing setting for overtaking or setting for non-overtaking.

(付記12)
前記メモリアクセス制御部のアクセス領域判定手段で、
前記メモリアクセス命令と、先行する他の前記メモリアクセス命令とのアドレス依存性を判定し、
前記メモリアクセス制御部の追い越し設定信号出力手段で、
前記命令グループ間追い越し設定レジスタの前記設定情報に基づいて、追い越し可能状態である命令グループ間を特定する追い越し設定信号を前記アクセス領域判定手段に出力し、
前記アクセス領域判定手段は、
前記追い越し設定信号で特定される命令グループ間の前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性を無条件に依存なしと判定することを特徴とする付記10又は付記11に記載のメモリアクセス制御方法。
(Appendix 12)
In the access area determination means of the memory access control unit,
Determining an address dependency between the memory access instruction and another preceding memory access instruction;
In the overtaking setting signal output means of the memory access control unit,
Based on the setting information in the inter-instruction group overtaking setting register, an overtaking setting signal for specifying an instruction group in an overtaking enabled state is output to the access area determination unit,
The access area determination means includes:
Supplementary note 10 or Supplementary note 11, wherein address dependency between the memory access instruction between instruction groups specified by the overtaking setting signal and the preceding other memory access instruction is unconditionally determined to be independent. The memory access control method described in 1.

(付記13)
前記メモリアクセス制御部の追い越し設定保持部が、
入力したメモリアクセス命令をデコードし、当該デコード結果に基づき、前記追い越し設定信号を出力すべき命令グループの組を選択し、
前記追い越し設定信号出力手段が、
選択した命令グループに対応する命令グループ間追い越し設定レジスタを参照し、前記設定情報が追い越し可の状態である場合、その旨を示す前記追い越し設定出力信号を出力することを特徴とする付記12に記載のメモリアクセス制御方法。
(Appendix 13)
The overtaking setting holding unit of the memory access control unit,
Decode the input memory access instruction, select a set of instruction groups to output the overtaking setting signal based on the decoding result,
The overtaking setting signal output means is
Item 13. The additional setting output signal indicating that when the setting information is in an overtaking enabled state with reference to an instruction group overtaking setting register corresponding to the selected instruction group, the overtaking setting output signal is output. Memory access control method.

(付記14)
前記アクセス領域判定手段は、
前記判定の結果を、前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性の有無の情報を保持する先行命令状態保持テーブルに格納することを特徴とする付記10から付記13の何れか1項に記載のメモリアクセス制御方法。
(Appendix 14)
The access area determination means includes:
The determination result is stored in a preceding instruction state holding table that holds information on presence / absence of address dependency between the memory access instruction and the other preceding memory access instruction. The memory access control method according to any one of the above.

(付記15)
前記先行命令状態保持テーブルが、
各命令グループ毎に、前記メモリアクセス命令について、すべての前記先行する他の前記メモリアクセス命令との依存結果をフラグで表現したビットマップで表されることを特徴とする付記14に記載のメモリアクセス制御方法。
(Appendix 15)
The preceding instruction state holding table is
15. The memory access according to appendix 14, wherein for each instruction group, the memory access instruction is represented by a bit map representing a dependency result of all the preceding other memory access instructions with a flag. Control method.

(付記16)
前記メモリアクセス制御部が、
前記主記憶メモリへ出力されるまでの間、命令保持バッファに前記メモリアクセス命令を保持し、
前記先行命令状態保持テーブルを参照して、前記依存関係の有無をチェックし、
前記依存関係のチェック結果に基づき、前記命令保持バッファからアドレス依存性がない前記メモリアクセス命令を優先的に取得して前記主記憶メモリへ出力することを特徴とする付記14又は付記15に記載のメモリアクセス制御方法。
(Appendix 16)
The memory access control unit is
Until it is output to the main memory, the memory access instruction is held in the instruction holding buffer,
Referring to the preceding instruction state holding table, the presence or absence of the dependency is checked,
The supplementary note 14 or the supplementary note 15, wherein the memory access instruction having no address dependency is preferentially acquired from the instruction holding buffer based on the check result of the dependency relation and output to the main memory. Memory access control method.

(付記17)
複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備えるデータ処理装置上で動作し、
前記メモリアクセス制御部に、
所定の前記命令グループの前記メモリアクセス命令が先行する他の前記命令グループの前記メモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、前記命令グループ間の前記メモリアクセス命令の追い越し制御を実行させる、ことを特徴とするメモリアクセス制御プログラム。
(Appendix 17)
Operated on a data processing device having a memory access control unit that controls a plurality of memory access instructions that are grouped into a plurality of instruction groups and that accesses a main memory,
In the memory access control unit,
Overtaking of the memory access instruction between the instruction groups based on setting information indicating whether the memory access instruction of the predetermined instruction group can be executed by overtaking the memory access instruction of the other instruction group preceding A memory access control program for executing control.

(付記18)
命令グループ間追い越し設定レジスタに前記設定情報の内容を格納し、
前記設定情報に追い越し可を設定する追い越し設定命令と、前記設定情報に追い越し不可を設定する追い越し設定クリア命令に基づいて、前記命令グループ間追い越し設定レジスタの設定情報を変更する処理を実行させることを特徴とする付記17に記載のメモリアクセス制御プログラム。
(Appendix 18)
Store the contents of the setting information in the overtaking setting register between instruction groups,
Based on an overtaking setting instruction that sets overtaking allowed in the setting information and an overtaking setting clear instruction that sets overtaking impossible in the setting information, a process of changing setting information in the overtaking setting register between the instruction groups is executed. 18. The memory access control program according to appendix 17, which is characterized by

(付記19)
前記追い越し設定命令及び前記追い越し設定クリア命令が、追い越し可の設定又は追い越し不可の設定を行う命令グループ間を指定する情報を含むことを特徴とする付記18に記載のメモリアクセス制御プログラム。
(Appendix 19)
19. The memory access control program according to appendix 18, wherein the overtaking setting instruction and the overtaking setting clear instruction include information for specifying an instruction group that performs setting for overtaking or setting for non-overtaking.

(付記20)
前記メモリアクセス命令と、先行する他の前記メモリアクセス命令とのアドレス依存性を判定する処理と、
前記命令グループ間追い越し設定レジスタの前記設定情報に基づいて、追い越し可能状態である命令グループ間を特定する追い越し設定信号を出力する処理を有し、
前記判定処理で、
前記追い越し設定信号で特定される命令グループ間の前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性を無条件に依存なしと判定することを特徴とする付記10又は付記11に記載のメモリアクセス制御プログラム。
(Appendix 20)
A process for determining an address dependency between the memory access instruction and the other preceding memory access instruction;
Based on the setting information in the instruction group overtaking setting register, and a process of outputting an overtaking setting signal that identifies between instruction groups in an overtaking possible state,
In the determination process,
Supplementary note 10 or Supplementary note 11, wherein address dependency between the memory access instruction between instruction groups specified by the overtaking setting signal and the preceding other memory access instruction is unconditionally determined to be independent. Memory access control program described in 1.

(付記21)
入力したメモリアクセス命令をデコードし、当該デコード結果に基づき、前記追い越し設定信号を出力すべき命令グループの組を選択し、
選択した命令グループに対応する命令グループ間追い越し設定レジスタを参照し、前記設定情報が追い越し可の状態である場合、その旨を示す前記追い越し設定出力信号を出力することを特徴とする付記12に記載のメモリアクセス制御プログラム。
(Appendix 21)
Decode the input memory access instruction, select a set of instruction groups to output the overtaking setting signal based on the decoding result,
Item 13. The additional setting output signal indicating that when the setting information is in an overtaking enabled state with reference to an instruction group overtaking setting register corresponding to the selected instruction group, the overtaking setting output signal is output. Memory access control program.

(付記22)
前記判定の結果を、前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性の有無の情報を保持する先行命令状態保持テーブルに格納することを特徴とする付記10から付記13の何れか1項に記載のメモリアクセス制御プログラム。
(Appendix 22)
The determination result is stored in a preceding instruction state holding table that holds information on presence / absence of address dependency between the memory access instruction and the other preceding memory access instruction. The memory access control program according to any one of the above.

(付記23)
前記先行命令状態保持テーブルが、
各命令グループ毎に、前記メモリアクセス命令について、すべての前記先行する他の前記メモリアクセス命令との依存結果をフラグで表現したビットマップで表されることを特徴とする付記14に記載のメモリアクセス制御プログラム。
(Appendix 23)
The preceding instruction state holding table is
15. The memory access according to appendix 14, wherein for each instruction group, the memory access instruction is represented by a bit map representing a dependency result of all the preceding other memory access instructions with a flag. Control program.

(付記24)
前記主記憶メモリへ出力されるまでの間、命令保持バッファに前記メモリアクセス命令を保持し、
前記先行命令状態保持テーブルを参照して、前記依存関係の有無をチェックし、
前記依存関係のチェック結果に基づき、前記命令保持バッファからアドレス依存性がない前記メモリアクセス命令を優先的に取得して前記主記憶メモリへ出力することを特徴とする付記14又は付記15に記載のメモリアクセス制御プログラム。
(Appendix 24)
Until it is output to the main memory, the memory access instruction is held in the instruction holding buffer,
Referring to the preceding instruction state holding table, the presence or absence of the dependency is checked,
The supplementary note 14 or the supplementary note 15, wherein the memory access instruction having no address dependency is preferentially acquired from the instruction holding buffer based on the check result of the dependency relation and output to the main memory. Memory access control program.

100:データ処理装置
101:命令制御部
102:メモリアクセス制御部
103:主記憶メモリ
104:演算部
111:命令発行手段
121:命令受信手段
122:アクセス領域判定手段
123:追い越し設定保持部
1231:命令識別手段
1232:レジスタ設定変更手段
1233:命令グループ間追い越し設定レジスタ
1234:追い越し設定信号出力手段
1235:命令デコード手段
124:先行命令状態保持テーブル
124−a:命令グループAの先行命令状態保持テーブル
124−b:命令グループBの先行命令状態保持テーブル
124−c:命令グループCの先行命令状態保持テーブル
125:命令保持バッファ
125−a:命令グループAの命令保持バッファ
125−b:命令グループAの命令保持バッファ
125−c:命令グループAの命令保持バッファ
126:依存関係チェック手段
127:メモリアクセス命令出力制御手段
141:演算手段
401:オペコード部
402:命令グループ指定部
403:オペコード部
404:命令グループ指定部
501(501−1〜501−6):追い越し設定レジスタ
601:SST
602:SLD
603:VLD
604:VLD
605:VLD
606:VST
607:VST
608:追い越し前命令列
609:追い越しご命令列
610:追い越し設定命令
620:追い越し設定クリア命令
630:実行順
701:SST
702:SLD
703:VLD
704:VLD
705:VLD
706:VST
707:VST
708:追い越し前命令列
709:追い越しご命令列
730:実行順
801:CPU
802:主記憶部
803:通信部
804:入出力インタフェース部
805:入力装置
806:出力装置
807:記憶装置
808:システムバス
DESCRIPTION OF SYMBOLS 100: Data processing apparatus 101: Instruction control part 102: Memory access control part 103: Main memory 104: Arithmetic part 111: Instruction issuing means 121: Instruction receiving means 122: Access area determination means 123: Overtaking setting holding part 1231: Instruction Identification means 1232: Register setting changing means 1233: Overtaking setting register between instruction groups 1234: Overtaking setting signal output means 1235: Instruction decoding means 124: Preceding instruction state holding table 124-a: Preceding instruction state holding table of instruction group A 124- b: Preceeding instruction state holding table of instruction group B 124-c: Preceding instruction state holding table of instruction group C 125: Instruction holding buffer 125-a: Instruction holding buffer of instruction group A 125-b: Instruction holding of instruction group A Buffer 25-c: Instruction holding buffer for instruction group A 126: Dependency check means 127: Memory access instruction output control means 141: Operation means 401: Operation code part 402: Instruction group specification part 403: Operation code part 404: Instruction group specification part 501 (501-1 to 501-6): Overtaking setting register 601: SST
602: SLD
603: VLD
604: VLD
605: VLD
606: VST
607: VST
608: Instruction sequence before overtaking 609: Overtaking instruction sequence 610: Overtaking setting instruction 620: Overtaking setting clear instruction 630: Execution order 701: SST
702: SLD
703: VLD
704: VLD
705: VLD
706: VST
707: VST
708: Instruction sequence before passing 709: Passing instruction sequence 730: Execution order 801: CPU
802: Main storage unit 803: Communication unit 804: Input / output interface unit 805: Input device 806: Output device 807: Storage device 808: System bus

Claims (10)

複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備え、
前記メモリアクセス制御部が、
所定の前記命令グループの前記メモリアクセス命令が先行する他の前記命令グループの前記メモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、前記命令グループ間の前記メモリアクセス命令の追い越し制御を行うことを特徴とするデータ処理装置。
A memory access control unit that controls a plurality of memory access instructions for accessing the main memory, divided into a plurality of instruction groups,
The memory access control unit is
Overtaking of the memory access instruction between the instruction groups based on setting information indicating whether the memory access instruction of the predetermined instruction group can be executed by overtaking the memory access instruction of the other instruction group preceding A data processing apparatus characterized by performing control.
前記メモリアクセス命令と、前記設定情報に追い越し可を設定する追い越し設定命令と、前記設定情報に追い越し不可を設定する追い越し設定クリア命令とを前記メモリアクセス制御部に発行する命令発行手段を備え、
前記メモリアクセス制御部が、
前記設定情報を保持する追い越し設定保持部を備え、
前記追い越し設定保持部が、
前記設定情報の内容を格納する命令グループ間追い越し設定レジスタと、
前記追い越し設定命令又は前記追い越し設定クリア命令に基づいて、前記命令グループ間追い越し設定レジスタの設定情報を変更するレジスタ変更手段とを含むことを特徴とする請求項1に記載のデータ処理装置。
Command issuing means for issuing to the memory access control unit, the memory access instruction, an overtaking setting instruction for setting overtaking in the setting information, and an overtaking setting clear instruction for setting overtaking impossible in the setting information;
The memory access control unit is
An overtaking setting holding unit for holding the setting information;
The overtaking setting holding unit
An instruction group passing setting register for storing the contents of the setting information;
The data processing apparatus according to claim 1, further comprising: a register changing unit that changes setting information of the overtaking setting register between the instruction groups based on the overtaking setting instruction or the overtaking setting clear instruction.
前記追い越し設定命令及び前記追い越し設定クリア命令が、追い越し可の設定又は追い越し不可の設定を行う命令グループ間を指定する情報を含むことを特徴とする請求項2に記載のデータ処理装置。   The data processing apparatus according to claim 2, wherein the overtaking setting command and the overtaking setting clear command include information for specifying an instruction group that performs setting for overtaking or setting for non-overtaking. 前記メモリアクセス制御部が、
前記メモリアクセス命令と、先行する他の前記メモリアクセス命令とのアドレス依存性を判定するアクセス領域判定手段と、
前記追い越し設定保持部が、
前記命令グループ間追い越し設定レジスタの前記設定情報に基づいて、追い越し可能状態である命令グループ間を特定する追い越し設定信号を前記アクセス領域判定手段に出力する追い越し設定信号出力手段とを備え、
前記アクセス領域判定手段は、
前記追い越し設定信号で特定される命令グループ間の前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性を無条件に依存なしと判定することを特徴とする請求項2又は請求項3に記載のデータ処理装置。
The memory access control unit is
Access area determination means for determining address dependency between the memory access instruction and the other preceding memory access instruction;
The overtaking setting holding unit
An overtaking setting signal output means for outputting an overtaking setting signal for specifying between instruction groups in an overtaking enabled state to the access area determining means based on the setting information of the overtaking setting register between the instruction groups;
The access area determination means includes:
3. The address dependency between the memory access instruction between instruction groups specified by the overtaking setting signal and the preceding other memory access instruction is determined unconditionally as being independent. Item 4. The data processing device according to item 3.
前記追い越し設定保持部が、
前記メモリアクセス命令を入力した場合に、当該メモリアクセス命令をデコードし、当該デコード結果に基づき、前記追い越し設定信号を出力すべき命令グループの組を選択するデコード手段を含み、
前記追い越し設定信号出力手段は、
前記デコード手段によって選択された命令グループに対応する命令グループ間追い越し設定レジスタを参照し、前記設定情報が追い越し可の状態である場合、その旨を示す前記追い越し設定出力信号を出力することを特徴とする請求項4に記載のデータ処理装置
The overtaking setting holding unit
Decoding means for decoding the memory access instruction when the memory access instruction is input, and selecting a set of instruction groups to output the overtaking setting signal based on the decoding result;
The overtaking setting signal output means includes
The inter-instruction group overtaking setting register corresponding to the instruction group selected by the decoding means is referred to, and when the setting information is in an overtaking possible state, the overtaking setting output signal indicating that is output. The data processing apparatus according to claim 4
前記メモリアクセス制御部が、
前記メモリアクセス命令と前記先行する他の前記メモリアクセス命令とのアドレス依存性の有無の情報を保持する先行命令状態保持テーブルを備え、
前記アクセス領域判定手段は、
前記判定の結果を前記先行命令状態保持テーブルに格納することを特徴とする請求項2から請求項5の何れか1項に記載のデータ処理装置。
The memory access control unit is
A preceding instruction state holding table that holds information on presence / absence of address dependency between the memory access instruction and the preceding other memory access instruction;
The access area determination means includes:
6. The data processing apparatus according to claim 2, wherein the result of the determination is stored in the preceding instruction state holding table.
前記先行命令状態保持テーブルが、
各命令グループ毎に、前記メモリアクセス命令について、すべての前記先行する他の前記メモリアクセス命令との依存結果をフラグで表現したビットマップで表されることを特徴とする請求項6に記載のデータ処理装置。
The preceding instruction state holding table is
7. The data according to claim 6, wherein, for each instruction group, the memory access instruction is represented by a bit map that represents a dependency result of all the preceding other memory access instructions with a flag. Processing equipment.
前記メモリアクセス制御部が、
前記主記憶メモリへ出力されるまでの間、前記メモリアクセス命令を保持する命令保持バッファと、
前記先行命令状態保持テーブルを参照して、前記依存関係の有無をチェックする依存関係チェック手段と、
前記依存関係チェック手段のチェック結果に基づき、前記命令保持バッファからアドレス依存性がない前記メモリアクセス命令を優先的に取得して前記主記憶メモリへ出力するメモリアクセス命令出力制御手段とを備えることを特徴とする請求項6又は請求項7に記載のデータ処理装置。
The memory access control unit is
An instruction holding buffer for holding the memory access instruction until it is output to the main memory;
Dependency check means for checking the presence or absence of the dependency with reference to the preceding instruction state holding table;
Memory access instruction output control means for preferentially acquiring the memory access instruction having no address dependency from the instruction holding buffer based on a check result of the dependency check means and outputting the memory access instruction to the main memory. 8. The data processing apparatus according to claim 6, wherein the data processing apparatus is characterized in that:
複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備えるデータ処理装置のメモリアクセス制御方法であって、
前記メモリアクセス制御部が、
所定の前記命令グループの前記メモリアクセス命令が先行する他の前記命令グループの前記メモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、前記命令グループ間の前記メモリアクセス命令の追い越し制御を行うことを特徴とするメモリアクセス制御方法。
A memory access control method for a data processing apparatus including a memory access control unit that controls a plurality of memory access instructions that are grouped into a plurality of instruction groups and accesses a main memory.
The memory access control unit is
Overtaking of the memory access instruction between the instruction groups based on setting information indicating whether the memory access instruction of the predetermined instruction group can be executed by overtaking the memory access instruction of the other instruction group preceding A memory access control method characterized by performing control.
複数の命令グループにグループ分けした、主記憶メモリにアクセスする複数のメモリアクセス命令の制御を行うメモリアクセス制御部を備えるデータ処理装置上で動作し、
前記メモリアクセス制御部に、
所定の前記命令グループの前記メモリアクセス命令が先行する他の前記命令グループの前記メモリアクセス命令を追い越して実行可能か否かを示す設定情報に基づいて、前記命令グループ間の前記メモリアクセス命令の追い越し制御を実行させる、ことを特徴とするメモリアクセス制御プログラム。
Operated on a data processing device having a memory access control unit that controls a plurality of memory access instructions that are grouped into a plurality of instruction groups and that accesses a main memory,
In the memory access control unit,
Overtaking of the memory access instruction between the instruction groups based on setting information indicating whether the memory access instruction of the predetermined instruction group can be executed by overtaking the memory access instruction of the other instruction group preceding A memory access control program for executing control.
JP2010188038A 2010-08-25 2010-08-25 Data processing apparatus, memory access control method, and memory access control program Expired - Fee Related JP5585304B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010188038A JP5585304B2 (en) 2010-08-25 2010-08-25 Data processing apparatus, memory access control method, and memory access control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010188038A JP5585304B2 (en) 2010-08-25 2010-08-25 Data processing apparatus, memory access control method, and memory access control program

Publications (2)

Publication Number Publication Date
JP2012048352A true JP2012048352A (en) 2012-03-08
JP5585304B2 JP5585304B2 (en) 2014-09-10

Family

ID=45903180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010188038A Expired - Fee Related JP5585304B2 (en) 2010-08-25 2010-08-25 Data processing apparatus, memory access control method, and memory access control program

Country Status (1)

Country Link
JP (1) JP5585304B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366538A (en) * 2001-06-12 2002-12-20 Nec Computertechno Ltd Vector processor and passing control method using the same
JP2005235135A (en) * 2004-02-23 2005-09-02 Nec Corp Vector processor and passing control circuit
JP2009026260A (en) * 2007-07-24 2009-02-05 Nec Corp Arithmetic processor, arithmetic processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366538A (en) * 2001-06-12 2002-12-20 Nec Computertechno Ltd Vector processor and passing control method using the same
JP2005235135A (en) * 2004-02-23 2005-09-02 Nec Corp Vector processor and passing control circuit
JP2009026260A (en) * 2007-07-24 2009-02-05 Nec Corp Arithmetic processor, arithmetic processing method

Also Published As

Publication number Publication date
JP5585304B2 (en) 2014-09-10

Similar Documents

Publication Publication Date Title
US9710276B2 (en) Execution of instruction loops using an instruction buffer
CN103098020B (en) Map between the register used by multiple instruction set
US8849753B2 (en) Automating asynchronous programming in single threaded systems
JP6317065B2 (en) Reconfigurable processor and code conversion apparatus and method thereof
JP5209933B2 (en) Data processing device
KR20110055629A (en) Provision of extended addressing modes in a single instruction multiple data (simd) data processor
WO2002031664A2 (en) System, method and article of manufacture for data transfer across clock domains
US20060259747A1 (en) Long instruction word processing with instruction extensions
JP3954171B2 (en) How to fill a vector with scalar values on a computer
KR100983135B1 (en) Processor and method of grouping and executing dependent instructions in a packet
JP6005392B2 (en) Method and apparatus for routing
KR20090101061A (en) Processor and information processing apparatus
JP2007532990A (en) Method and structure for explicit software control of thread execution including helper subthreads
JP2016512366A (en) Method and apparatus for transferring literally generated data to dependent instructions more efficiently using a constant cache
JP5585304B2 (en) Data processing apparatus, memory access control method, and memory access control program
KR20080008683A (en) Method and apparatus for processing according to multi-threading/out-of-order merged scheme
US20160170628A1 (en) Visual effects for scientific workflow editors
JP3915019B2 (en) VLIW processor, program generation device, and recording medium
CN104239001A (en) Operand generation in at least one processing pipeline
US20110010529A1 (en) Instruction execution control method, instruction format, and processor
JP6254352B2 (en) Apparatus and method for processing invalid operation of loop prologue or epilogue
US8677099B2 (en) Reconfigurable processor with predicate signal activated operation configuration memory and separate routing configuration memory
JP2011044163A (en) Expanded functionality of processor operation within fixed width instruction encoding
JP5045934B2 (en) Information processing apparatus, emulation method and emulation program in information processing apparatus
JP2005149297A (en) Processor and assembler thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130703

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20131010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140707

R150 Certificate of patent or registration of utility model

Ref document number: 5585304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees