JP2012150589A - Arithmetic unit - Google Patents

Arithmetic unit Download PDF

Info

Publication number
JP2012150589A
JP2012150589A JP2011007719A JP2011007719A JP2012150589A JP 2012150589 A JP2012150589 A JP 2012150589A JP 2011007719 A JP2011007719 A JP 2011007719A JP 2011007719 A JP2011007719 A JP 2011007719A JP 2012150589 A JP2012150589 A JP 2012150589A
Authority
JP
Japan
Prior art keywords
instruction
unit
address information
data
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011007719A
Other languages
Japanese (ja)
Inventor
Masayuki Tokunaga
将之 徳永
Yoshifumi Yoshikawa
宜史 吉川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011007719A priority Critical patent/JP2012150589A/en
Publication of JP2012150589A publication Critical patent/JP2012150589A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a processing unit improving use efficiency of computing resources and being able to prevent an increase in time required for processing of orders.SOLUTION: An arithmetic unit 100 of this embodiment comprises a program memory 21, an instruction fetch part 22 and a decode part 24. The program memory 21 memorizes an instruction A and an instruction B performing memory access processing to retrieve appointed data from a data memory 40 in stages mutually different of pipe line treatment. The instruction fetch part 22 fetches the instruction A and the instruction B at one time. The decode part 24 decodes the fetched instruction A and instruction B at one time.

Description

本発明の実施形態は、演算装置に関する。   Embodiments described herein relate generally to an arithmetic device.

従来、1つの命令の処理を複数の処理単位に分割し、各処理を別々のハードウェア回路で実行するパイプライン方式を採用した演算装置(例えばマイクロプロセッサ)が知られている。   2. Description of the Related Art Conventionally, there has been known an arithmetic device (for example, a microprocessor) adopting a pipeline system in which processing of one instruction is divided into a plurality of processing units and each processing is executed by a separate hardware circuit.

特開2003−99248号公報JP 2003-99248 A

パイプライン方式を採用した演算装置においては、例えばメモリなどの演算資源を効率的に利用することが求められている。本発明が解決しようとする課題は、演算資源の利用効率を向上させることが可能な演算装置を提供することである。   In an arithmetic device adopting a pipeline system, for example, it is required to efficiently use arithmetic resources such as a memory. The problem to be solved by the present invention is to provide a computing device capable of improving the utilization efficiency of computing resources.

実施形態の演算装置は、命令記憶部と、フェッチ部と、デコード部とを備える。命令記憶部は、演算資源を用いた演算処理を、パイプライン処理の相互に異なるステージで実行する第1命令および第2命令を記憶する。フェッチ部は、第1命令および第2命令を同時にフェッチする。デコード部は、フェッチされた第1命令および第2命令を同時にデコードする。   The arithmetic device according to the embodiment includes an instruction storage unit, a fetch unit, and a decoding unit. The instruction storage unit stores a first instruction and a second instruction that execute arithmetic processing using arithmetic resources at different stages of pipeline processing. The fetch unit fetches the first instruction and the second instruction at the same time. The decoding unit simultaneously decodes the fetched first instruction and second instruction.

本実施形態に係る演算装置のブロック図。The block diagram of the arithmetic unit which concerns on this embodiment. 実施形態に係るロードストアユニットのブロック図。The block diagram of the load store unit which concerns on embodiment. 命令Aおよび命令Bのそれぞれの処理を説明するための図。The figure for demonstrating each process of the command A and the command B. FIG. 実施形態の演算装置の動作を示すタイミングチャート。The timing chart which shows operation | movement of the arithmetic unit of embodiment. 対比例の演算装置の動作を示すタイミングチャート。The timing chart which shows operation | movement of the arithmetic unit of a comparison. 対比例の演算装置の動作を示すタイミングチャート。The timing chart which shows operation | movement of the arithmetic unit of a comparison. 変形例の演算装置のブロック図。The block diagram of the arithmetic unit of a modification. 命令Cの処理を説明するための図。The figure for demonstrating the process of the command C. FIG. 変形例の演算装置の動作を示すタイミングチャート。The timing chart which shows operation | movement of the arithmetic unit of a modification.

図1は、本実施形態の演算装置100の概略構成の一例を示すブロック図である。図1に示すように、演算装置100は、制御ユニット10と、ロードストアユニット20と、データレジスタ30と、データメモリ40とを備える。演算資源の一例であるデータメモリ40には各種のデータが格納される。   FIG. 1 is a block diagram illustrating an example of a schematic configuration of the arithmetic device 100 according to the present embodiment. As shown in FIG. 1, the arithmetic device 100 includes a control unit 10, a load / store unit 20, a data register 30, and a data memory 40. Various data are stored in the data memory 40, which is an example of a computing resource.

制御ユニット10は、演算装置100全体を制御する。ロードストアユニット20は、制御ユニット10からの指示を受けて、命令のフェッチと、フェッチした命令のデコードとを実行する。そして、ロードストアユニット20は、デコードした命令に従って、データメモリ40からのデータを読み出す処理(「メモリアクセス処理」と呼ぶ)を実行する。メモリアクセス処理の詳細な内容は後述する。また、データレジスタ30は、メモリアクセス処理により読み出されたデータや後述のアドレス情報の算出に用いられる補正値(オフセット)を記憶する。   The control unit 10 controls the arithmetic device 100 as a whole. In response to an instruction from the control unit 10, the load / store unit 20 executes fetching of an instruction and decoding of the fetched instruction. Then, the load store unit 20 executes a process of reading data from the data memory 40 (referred to as “memory access process”) in accordance with the decoded instruction. Details of the memory access process will be described later. The data register 30 stores data read by the memory access process and a correction value (offset) used for calculating address information described later.

図2は、ロードストアユニット20の詳細な構成の一例を示すブロック図である。図2に示すように、ロードストアユニット20は、プログラムメモリ21と、命令フェッチ部22と、レジスタ23a〜23fと、デコード部24と、アドレス情報算出部25と、選択部26と、読み出し部27と、書き込み部28とを備える。   FIG. 2 is a block diagram illustrating an example of a detailed configuration of the load store unit 20. As shown in FIG. 2, the load / store unit 20 includes a program memory 21, an instruction fetch unit 22, registers 23 a to 23 f, a decode unit 24, an address information calculation unit 25, a selection unit 26, and a reading unit 27. And a writing unit 28.

プログラムメモリ21は、所定のプログラムコードで記述された2種類の命令(命令A、命令B)を記憶する。本実施形態では、命令Aおよび命令Bのそれぞれは、データメモリ40からのデータの読み出しをロードストアユニット20に行わせるための命令である。そして、命令Aおよび命令Bのそれぞれの処理は、複数のステージ(工程)に分割され、相互に異なるステージで上述のメモリアクセス処理が行われる。さらに詳述すれば、図3に示すように、命令Aの処理は、ステージT1とステージT2とステージT3とステージT4とに分割される。そして、ステージT1でフェッチ処理IFが行われ、ステージT1の直後のステージT2でデコード処理IDが行われ、ステージT2の直後のステージT3でメモリアクセス処理MEMが行われ、ステージT3の直後のステージT4でライトバック処理WBが行われる。つまり、命令Aの処理においては、第3段目のステージでメモリアクセス処理MEMが行われる。   The program memory 21 stores two types of instructions (instruction A and instruction B) described in a predetermined program code. In the present embodiment, each of the instruction A and the instruction B is an instruction for causing the load / store unit 20 to read data from the data memory 40. Each process of the instruction A and the instruction B is divided into a plurality of stages (processes), and the above-described memory access process is performed at different stages. More specifically, as shown in FIG. 3, the processing of the instruction A is divided into a stage T1, a stage T2, a stage T3, and a stage T4. Then, the fetch process IF is performed at stage T1, the decode process ID is performed at stage T2 immediately after stage T1, the memory access process MEM is performed at stage T3 immediately after stage T2, and stage T4 immediately after stage T3. Then, the write back processing WB is performed. That is, in the process of the instruction A, the memory access process MEM is performed in the third stage.

また、図3に示すように、命令Bの処理は、ステージT1とステージT2とステージT3とステージT4とステージT5とに分割される。そして、ステージT1でフェッチ処理IFが行われ、ステージT2でデコード処理IDが行われ、ステージT3でアドレス算出処理EXが行われ、ステージT4でメモリアクセス処理MEMが行われ、ステージT5でライトバック処理WBが行われる。つまり、命令Bの処理においては、第4段目のステージでメモリアクセス処理MEMが行われるので、命令Aの処理に比べて、メモリアクセス処理MEMが行われるまでのステージ数が1だけ多い。各処理の詳細な内容については後述する。なお、本実施形態では、各ステージ(T1〜T5)の時間長は同じである。つまり、各ステージの処理に必要なクロックサイクル数は同じである。   Further, as shown in FIG. 3, the processing of instruction B is divided into stage T1, stage T2, stage T3, stage T4, and stage T5. Then, a fetch process IF is performed at stage T1, a decode process ID is performed at stage T2, an address calculation process EX is performed at stage T3, a memory access process MEM is performed at stage T4, and a write back process is performed at stage T5. WB is performed. That is, in the process of the instruction B, the memory access process MEM is performed in the fourth stage, so that the number of stages until the memory access process MEM is performed is one more than the process of the instruction A. Detailed contents of each process will be described later. In the present embodiment, the time length of each stage (T1 to T5) is the same. That is, the number of clock cycles required for the processing of each stage is the same.

再び図2に戻って説明を続ける。命令フェッチ部22は、プログラムメモリ21から、2つの命令を同時にフェッチできるように構成される。例えば命令フェッチ部22は、2つのフェッチ回路から構成されてもよいし、VLIW(Very Long Instruction Word)方式が採用された構成であってもよい。命令フェッチ部22は、制御ユニット10からの指示に従って、プログラムメモリ21に格納された命令Aと命令Bを同時にフェッチする。より具体的には以下のとおりである。制御ユニット10は、命令フェッチ部22に対して、プログラムメモリ21のうち、読み出すべき命令Aおよび命令Bのそれぞれが格納された領域を示す命令アドレス情報を供給する。そして、命令フェッチ部22は、制御ユニット10からの命令アドレス情報を参照して、命令Aおよび命令Bのそれぞれをプログラムメモリ21から読み出し、読み出した命令Aをレジスタ23aに書き込み、読み出した命令Bをレジスタ23bに書き込む。   Returning to FIG. 2 again, the description will be continued. The instruction fetch unit 22 is configured to be able to fetch two instructions simultaneously from the program memory 21. For example, the instruction fetch unit 22 may be configured by two fetch circuits, or may be configured by employing a VLIW (Very Long Instruction Word) method. The instruction fetch unit 22 fetches the instruction A and the instruction B stored in the program memory 21 at the same time in accordance with an instruction from the control unit 10. More specifically, it is as follows. The control unit 10 supplies the instruction fetch unit 22 with instruction address information indicating areas in the program memory 21 in which the instruction A and the instruction B to be read are stored. Then, the instruction fetch unit 22 refers to the instruction address information from the control unit 10, reads each of the instruction A and the instruction B from the program memory 21, writes the read instruction A into the register 23a, and reads the read instruction B. Write to register 23b.

デコード部24は、2つの命令を同時にデコードできるように構成されている。例えばデコード部24は、2つのデコード回路から構成されてもよいし、VLIW方式が採用された構成であってもよい。デコード部24は、レジスタ23aに書き込まれた命令Aおよびレジスタ23bに書き込まれた命令Bのそれぞれを同時にデコードする。本実施形態では、命令Aを構成するプログラムコード内には、データメモリ40のうち、読み出すべきデータが格納された領域を示すアドレス情報が記述されているので、デコード部24は、デコードした命令Aから、直ちにアドレス情報を特定することができる。そして、デコード部24は、デコードした命令Aから特定したアドレス情報をレジスタ23cに書き込み、レジスタ23cに書き込まれたアドレス情報は、後段の選択部26へ供給される。   The decoding unit 24 is configured to be able to decode two instructions simultaneously. For example, the decoding unit 24 may be configured by two decoding circuits, or may be configured by adopting the VLIW method. The decode unit 24 simultaneously decodes the instruction A written in the register 23a and the instruction B written in the register 23b. In the present embodiment, address information indicating an area where data to be read out is stored in the data memory 40 is described in the program code constituting the instruction A. Therefore, the decoding unit 24 decodes the decoded instruction A. From this, address information can be identified immediately. Then, the decoding unit 24 writes the address information specified from the decoded instruction A to the register 23c, and the address information written to the register 23c is supplied to the selection unit 26 at the subsequent stage.

一方、命令Bを構成するプログラムコード内には、上述のアドレス情報は記述されておらず、アドレス情報を算出するための算出情報が記述されている。本実施形態では、算出情報は、アドレス情報の算出の際の基準値Iを示す基準情報と、データレジスタ30のうち、基準値Iに加算すべき補正値Rが格納された領域を示すレジスタ情報とからなる。デコード部24は、デコードした命令Bから特定した基準値Iをレジスタ23dへ書き込み、レジスタ23dに書き込まれた基準値Iは後段のアドレス情報算出部25へ供給される。また、デコード部24は、デコードした命令Bから特定したレジスタ情報をデータレジスタ30へ供給する。データレジスタ30は、デコード部24からのレジスタ情報を受け付け、その受け付けたレジスタ情報が示す領域に格納された補正値Rを読み出す。そして、データレジスタ30は、その読み出した補正値Rをレジスタ23fへ供給する。   On the other hand, in the program code constituting the instruction B, the above address information is not described, but calculation information for calculating the address information is described. In the present embodiment, the calculation information includes reference information indicating the reference value I at the time of calculating the address information, and register information indicating a region in the data register 30 in which the correction value R to be added to the reference value I is stored. It consists of. The decoding unit 24 writes the reference value I specified from the decoded instruction B to the register 23d, and the reference value I written to the register 23d is supplied to the subsequent address information calculation unit 25. In addition, the decoding unit 24 supplies the register information specified from the decoded instruction B to the data register 30. The data register 30 receives the register information from the decoding unit 24 and reads the correction value R stored in the area indicated by the received register information. Then, the data register 30 supplies the read correction value R to the register 23f.

アドレス情報算出部25は、レジスタ23dから供給される基準値Iと、レジスタ23fから供給される補正値Rとからアドレス情報を算出する。アドレス情報算出部25は例えば加算器で構成され、レジスタ23dから供給される基準値Iと、レジスタ23fから供給される補正値Rとの加算結果を示す値がアドレス情報となる。アドレス情報算出部25で算出されたアドレス情報はレジスタ23eに書き込まれる。レジスタ23eに書き込まれたアドレス情報は後段の選択部26へ供給される。   The address information calculation unit 25 calculates address information from the reference value I supplied from the register 23d and the correction value R supplied from the register 23f. The address information calculation unit 25 is configured by an adder, for example, and a value indicating the addition result of the reference value I supplied from the register 23d and the correction value R supplied from the register 23f is address information. The address information calculated by the address information calculation unit 25 is written in the register 23e. The address information written in the register 23e is supplied to the selection unit 26 at the subsequent stage.

選択部26は、レジスタ23cに書き込まれたアドレス情報(つまりは、命令Aによって指定されたアドレス情報)、および、レジスタ23eに書き込まれたアドレス情報(つまりは、命令Bによって指定されたアドレス情報)のうちの何れか一方を選択して後段の読み出し部27へ供給する。選択部26は、例えばマルチプレクサなどの選択回路で構成され、一方の入力端には、レジスタ23cに書き込まれたアドレス情報(命令Aによって指定されたアドレス情報)が供給され、他方の入力端には、レジスタ23eに書き込まれたアドレス情報(命令Bによって指定されたアドレス情報)が供給される。また、選択部26には、デコード部24からの選択制御信号(不図示)が供給される。選択部26は、デコード部24からの選択制御信号に応じて、一方の入力端および他方の入力端のうちの何れかに供給されるデータ(アドレス情報)を、後段の読み出し部27へ供給する。   The selection unit 26 has address information written in the register 23c (that is, address information specified by the instruction A) and address information written in the register 23e (that is, address information specified by the instruction B). Any one of them is selected and supplied to the subsequent reading unit 27. The selection unit 26 includes a selection circuit such as a multiplexer, for example. Address information (address information specified by the instruction A) written in the register 23c is supplied to one input end, and the other input end receives The address information (address information specified by the instruction B) written in the register 23e is supplied. The selection unit 26 is supplied with a selection control signal (not shown) from the decoding unit 24. The selection unit 26 supplies data (address information) supplied to one of the one input terminal and the other input terminal to the subsequent reading unit 27 in accordance with the selection control signal from the decoding unit 24. .

読み出し部27は、データメモリ40のうち、選択部26から供給されたアドレス情報が示す領域に格納されたデータを読み出す。読み出し部27は、読み出したデータを書き込み部28へ供給する。書き込み部28は、読み出し部27から供給されたデータをデータレジスタ30の所定の領域に書き込む。   The reading unit 27 reads data stored in the area indicated by the address information supplied from the selection unit 26 in the data memory 40. The reading unit 27 supplies the read data to the writing unit 28. The writing unit 28 writes the data supplied from the reading unit 27 in a predetermined area of the data register 30.

図4は、演算装置100の動作を説明するためのタイミングチャートである。以下、図4を参照しながら、演算装置100の具体的な動作を説明する。本実施形態では、演算装置100は、命令Aと命令Bとをパイプライン方式で同時に実行する。以下、詳細な内容について説明する。ここでは、図4の各期間(T11〜T55)の時間長は、上述の各ステージ(T1〜T5)の時間長と同じである。   FIG. 4 is a timing chart for explaining the operation of the arithmetic device 100. Hereinafter, a specific operation of the arithmetic device 100 will be described with reference to FIG. In the present embodiment, the arithmetic unit 100 executes the instruction A and the instruction B simultaneously in a pipeline manner. Details will be described below. Here, the time length of each period (T11 to T55) in FIG. 4 is the same as the time length of each stage (T1 to T5) described above.

図4に示すように、最初の期間T11は、命令Aおよび命令Bのそれぞれの処理におけるステージT1(図3参照)となり、命令Aのフェッチ処理IFと命令Bのフェッチ処理IFとが実行される。より具体的には、命令フェッチ部22は、プログラムメモリ21のうち、制御ユニット10から供給された命令アドレス情報が示すそれぞれの領域から、命令Aと命令Bを同時に読み出し、読み出した命令Aをレジスタ23aに書き込み、読み出した命令Bをレジスタ23bに書き込む。   As shown in FIG. 4, the first period T11 is stage T1 (see FIG. 3) in the processing of instruction A and instruction B, and the fetch processing IF of instruction A and the fetch processing IF of instruction B are executed. . More specifically, the instruction fetch unit 22 simultaneously reads the instruction A and the instruction B from the respective areas indicated by the instruction address information supplied from the control unit 10 in the program memory 21 and registers the read instruction A in the register. Write to the register 23b and write the read instruction B to the register 23b.

図4に示すように、期間T11の直後の期間T22は、命令Aおよび命令Bのそれぞれの処理におけるステージT2(図3参照)となり、命令Aのデコード処理IDと命令Bのデコード処理IDとが実行される。より具体的には、デコード部24は、レジスタ23aに書き込まれた命令Aとレジスタ23bに書き込まれた命令Bとを同時にデコードする。そして、デコード部24は、デコードした命令Aから特定したアドレス情報をレジスタ23cに書き込む。また、デコード部24は、デコードした命令Bから特定した基準値Iをレジスタ23dへ書き込むとともに、デコードした命令Bの内容から特定したレジスタ情報をデータレジスタ30へ供給する。   As shown in FIG. 4, a period T22 immediately after the period T11 is a stage T2 (see FIG. 3) in each process of the instruction A and the instruction B, and the decoding process ID of the instruction A and the decoding process ID of the instruction B are Executed. More specifically, the decoding unit 24 simultaneously decodes the instruction A written in the register 23a and the instruction B written in the register 23b. Then, the decoding unit 24 writes the address information specified from the decoded instruction A to the register 23c. The decoding unit 24 writes the reference value I specified from the decoded instruction B to the register 23 d and supplies the register information specified from the content of the decoded instruction B to the data register 30.

図4に示すように、期間T22の直後の期間T33は、命令Aおよび命令Bのそれぞれの処理におけるステージT3(図3参照)となり、命令Aのメモリアクセス処理MEMが実行される一方、命令Bのアドレス算出処理EXが実行される。より具体的には以下のとおりである。期間T33では、図2の選択部26には、一方の入力端に供給されるデータ(つまり、レジスタ23cに書き込まれた、命令Aによって指定されたアドレス情報)の選択を指示する選択制御信号がデコード部24から供給される。これにより、読み出し部27には、命令Aによって指定されたアドレス情報が供給される。そして、読み出し部27は、データメモリ40のうち、選択部26から供給されたアドレス情報が示す領域に格納されたデータを読み出す。以上が命令Aのメモリアクセス処理MEMの内容である。   As shown in FIG. 4, a period T33 immediately after the period T22 is a stage T3 (see FIG. 3) in each processing of the instruction A and the instruction B, and the memory access process MEM of the instruction A is executed while the instruction B The address calculation process EX is executed. More specifically, it is as follows. In the period T33, the selection unit 26 in FIG. 2 receives a selection control signal for instructing selection of data supplied to one input terminal (that is, address information specified by the instruction A written in the register 23c). Supplied from the decoding unit 24. As a result, the address information specified by the instruction A is supplied to the reading unit 27. Then, the reading unit 27 reads the data stored in the area indicated by the address information supplied from the selection unit 26 in the data memory 40. The above is the contents of the memory access processing MEM of the instruction A.

また、期間T33では、データレジスタ30は、デコード部24からのレジスタ情報が示す領域に格納された補正値Rを読み出し、その読み出した補正値Rをレジスタ23fへ供給する。そして、アドレス情報算出部25は、レジスタ23dに書き込まれた基準値Iと、レジスタ23fから供給された補正値Rとを加算して、命令Bによって指定されたアドレス情報を算出し、その算出したアドレス情報をレジスタ23eに書き込む。以上が命令Bのアドレス算出処理EXの内容である。   In the period T33, the data register 30 reads the correction value R stored in the area indicated by the register information from the decoding unit 24, and supplies the read correction value R to the register 23f. Then, the address information calculation unit 25 calculates the address information specified by the instruction B by adding the reference value I written in the register 23d and the correction value R supplied from the register 23f. Address information is written to the register 23e. The above is the content of the instruction B address calculation processing EX.

図4に示すように、期間T33の直後の期間T44は、命令Aおよび命令Bのそれぞれの処理におけるステージT4(図3参照)となり、命令Aのライトバック処理WBが実行される一方、命令Bのメモリアクセス処理MEMが実行される。より具体的には以下のとおりである。期間T44では、書き込み部28は、ステージT3で読み出し部27によって読み出されたデータ(命令Aによって読み出しが指示されたデータ)を読み出し部27から受け取り、その受け取ったデータをデータレジスタ30の所定の領域に書き込む。以上が命令Aのライトバック処理WBの内容であり、期間T44の終了とともに、命令Aの処理は終了する。   As shown in FIG. 4, a period T44 immediately after the period T33 is a stage T4 (see FIG. 3) in each process of the instruction A and the instruction B, and the write-back process WB of the instruction A is executed, while the instruction B The memory access process MEM is executed. More specifically, it is as follows. In the period T44, the writing unit 28 receives the data read by the reading unit 27 in step T3 (data instructed to be read by the instruction A) from the reading unit 27, and receives the received data in a predetermined register of the data register 30. Write to the area. The above is the content of the write-back process WB of the instruction A, and the process of the instruction A ends with the end of the period T44.

また、期間T44では、図2の選択部26には、他方の入力端子に供給されるデータ(つまり、レジスタ23eに書き込まれた、命令Bによって指定されたアドレス情報)の選択を指示する選択制御信号がデコード部24から供給される。これにより、読み出し部27には、命令Bによって指定されたアドレス情報が供給される。そして、読み出し部27は、データメモリ40のうち、選択部26から供給されたアドレス情報が示す領域に格納されたデータを読み出す。以上が命令Bのメモリアクセス処理MEMの内容である。   Further, in the period T44, the selection control instructing the selection unit 26 in FIG. 2 to select the data supplied to the other input terminal (that is, the address information specified by the instruction B written in the register 23e). A signal is supplied from the decoding unit 24. As a result, the address information specified by the instruction B is supplied to the reading unit 27. Then, the reading unit 27 reads the data stored in the area indicated by the address information supplied from the selection unit 26 in the data memory 40. The above is the contents of the memory access processing MEM of the instruction B.

図4に示すように、期間T44の直後の期間T55は、命令Bの処理におけるステージT5(図3参照)となり、命令Bのライトバック処理WBのみが実行される。より具体的には、期間T55では、書き込み部28は、期間T44で読み出し部27によって読み出されたデータ(命令Bによって読み出しが指示されたデータ)を読み出し部27から受け取り、その受け取ったデータをデータレジスタ30の所定の領域に書き込む。以上が命令Bのライトバック処理WBの内容であり、期間T55の終了とともに、命令Bの処理は終了する。   As shown in FIG. 4, a period T55 immediately after the period T44 is a stage T5 (see FIG. 3) in the process of the instruction B, and only the write back process WB of the instruction B is executed. More specifically, in the period T55, the writing unit 28 receives the data read by the reading unit 27 in the period T44 (data instructed to be read by the instruction B) from the reading unit 27, and receives the received data. Write to a predetermined area of the data register 30. The above is the content of the write-back process WB of the instruction B, and the process of the instruction B ends with the end of the period T55.

以上に説明したように、本実施形態によれば、メモリアクセス処理MEMが行われるステージが相互に異なる命令Aおよび命令Bが同時に実行されるので、データメモリ40の利用効率を向上させることができる。より具体的には、図4に示すように、本実施形態では、メモリアクセス処理MEMが行われるステージが「1」だけ相互に異なる命令Aおよび命令Bが同時に実行されるので、データメモリ40を、期間T33および期間T44にわたって連続して動作させることができる。これにより、データメモリ40の利用効率を向上させることができる。また、本実施形態によれば、命令Aのメモリアクセス処理MEMと命令Bのメモリアクセス処理MEMとが同じタイミングで行われることを防止できるので、命令の処理に要する時間が増大することを防止することもできる。   As described above, according to the present embodiment, since the instruction A and the instruction B that are different from each other in the stage in which the memory access process MEM is performed are executed at the same time, the utilization efficiency of the data memory 40 can be improved. . More specifically, as shown in FIG. 4, in the present embodiment, since the instruction A and the instruction B that are different from each other by “1” are executed simultaneously, the data memory 40 is stored in the memory access process MEM. The operation can be continued over the period T33 and the period T44. Thereby, the utilization efficiency of the data memory 40 can be improved. In addition, according to the present embodiment, it is possible to prevent the memory access process MEM of the instruction A and the memory access process MEM of the instruction B from being performed at the same timing, and thus it is possible to prevent an increase in time required for the instruction process. You can also.

ここで、パイプライン処理の相互に異なるステージでメモリアクセス処理MEMが行われる2つの命令を順番に実行する場合を想定する。2つの命令のうち、メモリアクセス処理MEMが行われるまでのステージ数が少ない方の命令を第1命令、メモリアクセス処理が行われるまでのステージ数が多い方の命令を第2命令として、第1命令→第2命令の順番でそれぞれの命令を実行する場合は、第1命令のメモリアクセス処理が行われてから、第2命令のメモリアクセス処理が行われるまでの期間が長くなるので、メモリが動作せずに待機状態となる期間も長くなる。これにより、メモリの利用効率が低くなるという問題が起こる。   Here, it is assumed that two instructions for performing the memory access process MEM are executed in order at different stages of the pipeline process. Of the two instructions, an instruction having a smaller number of stages until the memory access process MEM is performed is a first instruction, and an instruction having a larger number of stages until the memory access process is performed is a second instruction. When each instruction is executed in the order of the instruction → the second instruction, since the period from the memory access process of the first instruction until the memory access process of the second instruction is performed becomes longer, The period during which the apparatus is in a standby state without operating is also lengthened. This causes a problem that the use efficiency of the memory is lowered.

例えば図5−1に示すように、命令A→命令Bの順番で実行する場合は、期間T33において命令Aのメモリアクセス処理MEMが行われ、期間T55において命令Bのメモリアクセス処理MEMが行われる。すなわち、期間T44においてデータメモリ40は動作せずに待機状態となるので、データメモリ40の利用効率が低くなる。   For example, as shown in FIG. 5A, when the instructions A are executed in the order of the instruction B, the memory access process MEM of the instruction A is performed in the period T33, and the memory access process MEM of the instruction B is performed in the period T55. . That is, since the data memory 40 is not operated in the period T44 and is in a standby state, the utilization efficiency of the data memory 40 is lowered.

一方、第2命令→第1命令の順番でそれぞれの命令を実行する場合は、第1命令のメモリアクセス処理MEMと、第2命令のメモリアクセス処理MEMとが同じタイミングで行われるおそれがある。この場合、第2命令のメモリアクセス処理MEMが終了するまで、第1命令のメモリアクセス処理MEMを実行できないので、結果として、命令の処理に要する時間が増大するという問題が起こる。   On the other hand, when the respective instructions are executed in the order of the second instruction → the first instruction, the memory access process MEM for the first instruction and the memory access process MEM for the second instruction may be performed at the same timing. In this case, since the memory access process MEM for the first instruction cannot be executed until the memory access process MEM for the second instruction is completed, there arises a problem that the time required for the instruction process increases as a result.

例えば図5−2に示すように、命令B→命令Aの順番で実行する場合は、命令Bのメモリアクセス処理MEMが行われる期間と、命令Aのメモリアクセス処理MEMが行われる期間とが共に期間T44となってしまうので、命令Bのメモリアクセス処理MEMが終了するまで他の命令Aのメモリアクセス処理MEMを行うことができず、結果として、命令の処理に要する時間が増大してしまう。   For example, as shown in FIG. 5B, when the instruction B is executed in the order of the instruction A, both the period during which the memory access process MEM for the instruction B is performed and the period during which the memory access process MEM for the instruction A is performed Since the period T44 is reached, the memory access process MEM of the other instruction A cannot be performed until the memory access process MEM of the instruction B is completed, and as a result, the time required for the instruction process increases.

以上より、パイプライン処理の相互に異なるステージでメモリアクセス処理MEMが行われる2つの命令を順番に実行する場合は、データメモリ40の利用効率が低くなる、または、命令の処理に要する時間が増大するといった問題が起こる。   As described above, when two instructions for which the memory access process MEM is performed at different stages of the pipeline process are executed in order, the use efficiency of the data memory 40 is lowered or the time required for the instruction process is increased. Problem occurs.

これに対して、本実施形態によれば、データメモリ40を、期間T33および期間T44にわたって連続して動作させることができるので、図5−1の場合に比べて、データメモリの利用効率を向上させることが可能になる。また、本実施形態によれば、命令Aのメモリアクセス処理MEMが行われる期間と命令Bのメモリアクセス処理MEMが行われる期間とが同じ期間になることを防止できるので、図5−2の場合とは異なり、命令の処理に要する時間が増大することを防止できる。すなわち、本実施形態によれば、データメモリ40の利用効率を向上させるとともに命令の処理に要する時間が増大することを防止できる。   On the other hand, according to the present embodiment, the data memory 40 can be operated continuously over the period T33 and the period T44, so that the utilization efficiency of the data memory is improved as compared with the case of FIG. It becomes possible to make it. Further, according to the present embodiment, the period during which the memory access process MEM for the instruction A is performed and the period during which the memory access process MEM for the instruction B are performed can be prevented from being the same as in the case of FIG. Unlike this, it is possible to prevent an increase in the time required for processing an instruction. That is, according to the present embodiment, it is possible to improve the utilization efficiency of the data memory 40 and to prevent an increase in time required for instruction processing.

(変形例)
以上、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
(Modification)
As mentioned above, although embodiment of this invention was described, this embodiment is shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

例えば、上述の実施形態では、メモリアクセス処理が行われるステージが「1」だけ相互に異なる2つの命令(命令A、命令B)が同時に実行されているが、これに限らず、例えばメモリアクセス処理が行われるステージが「2」だけ相互に異なる2つの命令が同時に実行されてもよい。要するに、メモリアクセス処理が行われるステージが相互に異なる2つの命令が同時に実行されるものであればよい。   For example, in the above-described embodiment, two instructions (instruction A and instruction B) that are different from each other by “1” are executed at the same time. However, the present invention is not limited to this. Two instructions that are different from each other by “2” may be executed simultaneously. In short, it is only necessary that two instructions having different stages in which memory access processing is performed are executed simultaneously.

上述の実施形態では、データレジスタ30には、補正値Rと、メモリアクセス処理によって読み出されたデータとが格納されているが、例えば補正値Rが格納されるレジスタと、メモリアクセス処理によって読み出されたデータとが別々のレジスタに格納される構成であってもよい。   In the above embodiment, the data register 30 stores the correction value R and the data read by the memory access process. For example, the data register 30 stores the correction value R and the data read by the memory access process. The configuration may be such that the output data is stored in separate registers.

上述の実施形態では、多重化して設けることができない演算資源の一例としてデータメモリを挙げ、その演算資源を用いた演算処理の一例としてメモリアクセス処理を挙げて説明したが、これに限らず、上述の演算資源や演算資源を用いた演算処理の内容は任意である。   In the above-described embodiment, a data memory has been described as an example of an operation resource that cannot be multiplexed, and a memory access process has been described as an example of an operation process using the operation resource. The contents of the calculation processing using the calculation resources and the calculation resources are arbitrary.

上述の実施形態では、基準値Iと補正値Rとが加算されることでアドレス情報が算出されているが、これに限らず、アドレス情報の算出方法は任意である。例えばデータレジスタ30には、アドレス情報の算出に用いられる各種のパラメータ値が記憶され、命令Bによって指定された複数(例えば2つ)のパラメータ値に基づいてアドレス情報が算出される構成であってもよい。   In the above-described embodiment, the address information is calculated by adding the reference value I and the correction value R. However, the present invention is not limited to this, and the address information calculation method is arbitrary. For example, the data register 30 stores various parameter values used for calculating the address information, and the address information is calculated based on a plurality (for example, two) of parameter values specified by the instruction B. Also good.

上述の実施形態では、同時にフェッチ、デコードする命令は2つであるが、これに限らず、例えば、メモリアクセス処理MEMが行われるステージが相互に異なる3つ以上の命令を同時にフェッチ、デコードすることも可能である。以下、一例を挙げて説明する。図6は、メモリアクセス処理MEMが行われるステージが「1」だけ相互に異なる命令A、命令Bおよび命令Cを同時に実行する演算装置200の構成の一例を示すブロック図である。図6に示すように、ロードストアユニット20は、上述の実施形態で説明した内容に加えて、レジスタ23g、23h、23i、23jおよび23kと、アドレス情報算出部50と、アドレス情報算出部51とをさらに備える。また、命令フェッチ部22は、プログラムメモリ21から、3つの命令を同時にフェッチできるように構成される。さらに、デコード部24は、3つの命令を同時にデコードできるように構成されている。   In the above-described embodiment, two instructions are fetched and decoded at the same time. However, the present invention is not limited to this. For example, fetching and decoding three or more instructions at different stages in which the memory access processing MEM is performed is simultaneously performed. Is also possible. Hereinafter, an example will be described. FIG. 6 is a block diagram illustrating an example of the configuration of the arithmetic device 200 that simultaneously executes the instruction A, the instruction B, and the instruction C that are different from each other by “1” in the stage where the memory access process MEM is performed. As shown in FIG. 6, in addition to the contents described in the above-described embodiment, the load / store unit 20 includes registers 23g, 23h, 23i, 23j, and 23k, an address information calculation unit 50, an address information calculation unit 51, Is further provided. The instruction fetch unit 22 is configured to be able to fetch three instructions simultaneously from the program memory 21. Further, the decoding unit 24 is configured to be able to decode three instructions simultaneously.

図6の構成例では、プログラムメモリ21は、所定のプログラムコードで記述された3種類の命令(命令A、命令B、命令C)を記憶する。図7に示すように、命令Cの処理は、ステージT1とステージT2とステージT3とステージT4とステージT5とステージT6とに分割される。   In the configuration example of FIG. 6, the program memory 21 stores three types of instructions (instruction A, instruction B, and instruction C) described in a predetermined program code. As shown in FIG. 7, the processing of instruction C is divided into stage T1, stage T2, stage T3, stage T4, stage T5, and stage T6.

図7に示すように、ステージT1では、フェッチ処理IFが行われる。より具体的には、命令フェッチ部22は、プログラムメモリ21のうち、制御ユニット10から供給された命令アドレス情報を参照して命令Cを読み出す。命令フェッチ部22は、読み出した命令Cを図6に示すレジスタ23gに書き込む。   As shown in FIG. 7, a fetch process IF is performed at stage T1. More specifically, the instruction fetch unit 22 reads the instruction C with reference to the instruction address information supplied from the control unit 10 in the program memory 21. The instruction fetch unit 22 writes the read instruction C into the register 23g shown in FIG.

図7に示すように、ステージT2では、デコード処理IDが行われる。より具体的には以下のとおりである。デコード部24は、レジスタ23gに書き込まれた命令Cをデコードする。ここでは、命令Cを構成するプログラムコード内には、上述のアドレス情報は直接記述されておらず、アドレス情報を算出するための算出情報が記述されている。当該算出情報は、アドレス情報の算出の際の基準値Iを示す基準情報と、データレジスタ30のうち読み出すべき補正値R2が格納された領域を示すレジスタ情報とからなる。そして、デコード部24は、デコードした命令Cから特定した基準値Iを図6に示すレジスタ23hへ書き込むとともに、デコードした命令Cの内容から特定したレジスタ情報をデータレジスタ30へ供給する。   As shown in FIG. 7, a decoding process ID is performed at stage T2. More specifically, it is as follows. The decoding unit 24 decodes the instruction C written in the register 23g. Here, in the program code constituting the instruction C, the above address information is not described directly, but calculation information for calculating the address information is described. The calculation information includes reference information indicating the reference value I when calculating the address information, and register information indicating an area in the data register 30 in which the correction value R2 to be read is stored. Then, the decoding unit 24 writes the reference value I specified from the decoded instruction C to the register 23 h shown in FIG. 6 and supplies the register information specified from the content of the decoded instruction C to the data register 30.

図7に示すように、ステージT3では、アドレス算出処理EX1が行われる。より具体的には以下のとおりである。図6に示すデータレジスタ30は、デコード部24からのレジスタ情報が示す領域に格納された補正値R2を読み出し、その読み出した補正値R2を図6に示すレジスタ23iへ供給する。そして、図6に示すアドレス情報算出部50は、自身が有する固有値Mと、レジスタ23iに書き込まれた補正値R2とを乗算してオフセット値Xを算出する。アドレス情報算出部50は、算出したオフセット値Xと、レジスタ23hから供給された基準値Iとを図6に示すレジスタ23jに書き込む。以上が命令Cのアドレス算出処理EX1の内容である。   As shown in FIG. 7, in the stage T3, an address calculation process EX1 is performed. More specifically, it is as follows. The data register 30 shown in FIG. 6 reads the correction value R2 stored in the area indicated by the register information from the decoding unit 24, and supplies the read correction value R2 to the register 23i shown in FIG. Then, the address information calculation unit 50 shown in FIG. 6 calculates the offset value X by multiplying the eigenvalue M possessed by itself and the correction value R2 written in the register 23i. The address information calculation unit 50 writes the calculated offset value X and the reference value I supplied from the register 23h in the register 23j shown in FIG. The above is the content of the instruction C address calculation processing EX1.

図7に示すように、ステージT4では、アドレス算出処理EX2が行われる。より具体的には、図6に示すアドレス情報算出部51は、レジスタ23jから供給されたオフセット値Xと基準値Iとを加算して、命令Cによって指定されたアドレス情報を算出する。アドレス情報算出部51は、その算出したアドレス情報をレジスタ23kに書き込む。以上が命令Cのアドレス算出処理EX2の内容である。   As shown in FIG. 7, in the stage T4, an address calculation process EX2 is performed. More specifically, the address information calculation unit 51 shown in FIG. 6 adds the offset value X supplied from the register 23j and the reference value I to calculate the address information specified by the instruction C. The address information calculation unit 51 writes the calculated address information in the register 23k. The above is the content of the instruction C address calculation processing EX2.

図7に示すように、ステージT5では、メモリアクセス処理MEMが行われる。より具体的には以下のとおりである。ここで、図6に示す選択部26は、レジスタ23cに書き込まれたアドレス情報(命令Aによって指定されたアドレス情報)が供給される第1入力端子と、レジスタ23eに書き込まれたアドレス情報(命令Bによって指定されたアドレス情報)が供給される第2入力端子と、レジスタ23kに書き込まれたアドレス情報(命令Cによって指定されたアドレス情報)が供給される第3入力端子とを有する。選択部26は、デコード部24から供給される選択制御信号(不図示)に応じて、何れかの入力端子に供給されるアドレス情報を後段の読み出し部27へ供給する。上記ステージT5では、選択部26には、命令Cによって指定されたアドレス情報の選択を指示する選択制御信号がデコード部24から供給される。これにより、読み出し部27には、命令Cによって指定されたアドレス情報が供給される。そして、読み出し部27は、データメモリ40のうち、選択部26から供給されたアドレス情報が示す領域に格納されたデータを読み出す。以上が命令Cのメモリアクセス処理MEMの内容である。   As shown in FIG. 7, at stage T5, a memory access process MEM is performed. More specifically, it is as follows. Here, the selection unit 26 shown in FIG. 6 has a first input terminal to which the address information (address information specified by the instruction A) written in the register 23c is supplied, and the address information (command) written in the register 23e. The second input terminal to which the address information specified by B) is supplied, and the third input terminal to which the address information (address information specified by the instruction C) written in the register 23k is supplied. In response to a selection control signal (not shown) supplied from the decoding unit 24, the selection unit 26 supplies address information supplied to one of the input terminals to the subsequent reading unit 27. In stage T5, the selection unit 26 is supplied with a selection control signal for instructing selection of the address information designated by the instruction C from the decoding unit 24. As a result, the address information specified by the instruction C is supplied to the reading unit 27. Then, the reading unit 27 reads the data stored in the area indicated by the address information supplied from the selection unit 26 in the data memory 40. The above is the contents of the memory access processing MEM of the instruction C.

図7に示すように、ステージT6では、ライトバック処理WBが行われる。より具体的には、書き込み部28は、読み出し部27によって読み出されたデータ(命令Cによって読み出しが指示されたデータ)を読み出し部27から受け取り、その受け取ったデータをデータレジスタ30の所定の領域に書き込む。以上が命令Cのライトバック処理WBの内容である。   As shown in FIG. 7, at the stage T6, the write-back process WB is performed. More specifically, the writing unit 28 receives data read by the reading unit 27 (data instructed to be read by the instruction C) from the reading unit 27, and receives the received data in a predetermined area of the data register 30. Write to. The above is the content of the write-back process WB of the instruction C.

以上に説明したように、命令Cの処理においては、第5段目のステージT5でメモリアクセス処理MEMが行われるので、命令Aの処理に比べて、メモリアクセス処理MEMが行われるまでのステージ数が2だけ多く、命令Bの処理に比べて、メモリアクセス処理MEMが行われるまでのステージ数が1だけ多い。そして、命令Aと命令Bと命令Cとが同時に実行されることにより、データメモリ40を連続して動作させることができるとともに、命令A、命令Bおよび命令Cのそれぞれのメモリアクセス処理MEMが同じタイミングで行われることを防止できる。要するに、第N段目のステージでメモリアクセス処理MEMが行われる命令と、第N+1段目のステージでメモリアクセス処理MEMが行われる命令と、第N+2段目のステージでメモリアクセス処理MEMが行われる命令とが同時に実行されることにより、データメモリ40を連続して動作させることができるとともに、各命令のメモリアクセス処理MEMが同じタイミングで行われることを防止できる。   As described above, in the processing of the instruction C, the memory access processing MEM is performed in the fifth stage T5. Therefore, the number of stages until the memory access processing MEM is performed as compared with the processing of the instruction A. And the number of stages until the memory access process MEM is performed is one more than the process of the instruction B. The instruction A, the instruction B, and the instruction C are simultaneously executed, so that the data memory 40 can be operated continuously, and the memory access processes MEM of the instruction A, the instruction B, and the instruction C are the same. This can be done at the timing. In short, an instruction for performing the memory access process MEM in the Nth stage, an instruction for performing the memory access process MEM in the (N + 1) th stage, and a memory access process MEM in the (N + 2) th stage. By executing the instructions at the same time, the data memory 40 can be operated continuously, and the memory access processing MEM of each instruction can be prevented from being performed at the same timing.

また、上述の実施形態の変形例として、演算装置100は、メモリアクセス処理によって読み出されたデータを用いて所定の演算を実行する実行ユニットをさらに備えることもできる。また、図8に示すように、演算装置100は、命令Aおよび命令Bの処理を同時に開始してから、2ステージ分だけ待機した後に、別の命令Aおよび命令Bの処理を同時に開始することもできる。さらに、各ステージ(T1〜T5)の時間長は任意である。例えばアドレス算出処理が行われるステージの時間長が、フェッチ処理やデコード処理が行われるステージの時間長より長くなり、より多くのクロックサイクル数が必要となってもよい。   As a modification of the above-described embodiment, the arithmetic device 100 may further include an execution unit that executes a predetermined operation using data read by the memory access process. Further, as shown in FIG. 8, the arithmetic unit 100 starts processing of the instruction A and the instruction B simultaneously, waits for two stages, and then starts processing of another instruction A and the instruction B simultaneously. You can also. Furthermore, the time length of each stage (T1-T5) is arbitrary. For example, the time length of the stage where the address calculation processing is performed may be longer than the time length of the stage where the fetch processing or decoding processing is performed, and a larger number of clock cycles may be required.

10 制御ユニット
20 ロードストアユニット
21 プログラムメモリ
22 命令フェッチ部
24 デコード部
27 読み出し部
40 データメモリ
100 演算装置
























DESCRIPTION OF SYMBOLS 10 Control unit 20 Load store unit 21 Program memory 22 Instruction fetch part 24 Decoding part 27 Reading part 40 Data memory 100 Arithmetic unit
























Claims (5)

演算資源を用いた演算処理を、パイプライン処理の相互に異なるステージで実行する第1命令および第2命令を記憶する命令記憶部と、
前記第1命令および前記第2命令を同時にフェッチするフェッチ部と、
フェッチされた前記第1命令および前記第2命令を同時にデコードするデコード部と、
を備えることを特徴とする演算装置。
An instruction storage unit for storing a first instruction and a second instruction for executing arithmetic processing using arithmetic resources at mutually different stages of pipeline processing;
A fetch unit for simultaneously fetching the first instruction and the second instruction;
A decoding unit for simultaneously decoding the fetched first instruction and the second instruction;
An arithmetic device comprising:
デコードされた前記第1命令に従って前記演算処理を実行し、当該デコードされた前記第1命令に従った前記演算処理の後、デコードされた前記第2命令に従って前記演算処理を実行する演算処理部をさらに備える、
ことを特徴とする請求項1に記載の演算装置。
An arithmetic processing unit that executes the arithmetic processing according to the decoded first instruction, and executes the arithmetic processing according to the decoded second instruction after the arithmetic processing according to the decoded first instruction. In addition,
The arithmetic unit according to claim 1.
前記第1命令は、パイプライン処理の第N段目のステージで前記演算処理を実行する一方、前記第2命令は、パイプライン処理の第N+1段目のステージで前記演算処理を実行する、
ことを特徴とする請求項1または請求項2に記載の演算装置。
The first instruction executes the arithmetic processing at an Nth stage of pipeline processing, while the second instruction executes the arithmetic processing at an N + 1th stage of pipeline processing.
The arithmetic unit according to claim 1 or claim 2, wherein
前記演算資源は、データを格納するデータメモリである、
ことを特徴とする請求項1から請求項3の何れか1つに記載の演算装置。
The computing resource is a data memory for storing data.
The arithmetic unit according to any one of claims 1 to 3, characterized in that:
前記第1命令には、前記データメモリのうち、読み出すべき前記データが格納された領域を示すアドレス情報が記述される一方、前記第2命令には、前記アドレス情報を算出するための算出情報が記述され、
前記デコード部によって前記第1命令および前記第2命令がデコードされてから、前記第2命令に従った前記演算処理が開始されるまでの間に、前記算出情報を用いて前記アドレス情報を算出するアドレス情報算出部をさらに備え、
前記演算処理部が実行する演算処理は、前記データメモリのうち、前記アドレス情報が示す領域に格納された前記データを読み出す処理である、
ことを特徴とする請求項4に記載の演算装置。


















The first instruction describes address information indicating an area of the data memory in which the data to be read is stored, while the second instruction includes calculation information for calculating the address information. Described,
The address information is calculated using the calculation information between the time when the decoding unit decodes the first instruction and the second instruction and before the start of the arithmetic processing according to the second instruction. An address information calculation unit;
The arithmetic processing executed by the arithmetic processing unit is a process of reading the data stored in an area indicated by the address information in the data memory.
The arithmetic unit according to claim 4, wherein:


















JP2011007719A 2011-01-18 2011-01-18 Arithmetic unit Pending JP2012150589A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011007719A JP2012150589A (en) 2011-01-18 2011-01-18 Arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011007719A JP2012150589A (en) 2011-01-18 2011-01-18 Arithmetic unit

Publications (1)

Publication Number Publication Date
JP2012150589A true JP2012150589A (en) 2012-08-09

Family

ID=46792786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011007719A Pending JP2012150589A (en) 2011-01-18 2011-01-18 Arithmetic unit

Country Status (1)

Country Link
JP (1) JP2012150589A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5890247A (en) * 1981-11-25 1983-05-28 Nippon Telegr & Teleph Corp <Ntt> Pipeline controlling system of information processor
JPH0520065A (en) * 1991-07-11 1993-01-29 Mitsubishi Electric Corp Parallel arithmetic processor
JPH05197547A (en) * 1991-10-31 1993-08-06 Toshiba Corp Vliw type arithmetic processor
JPH10187444A (en) * 1997-12-22 1998-07-21 Hitachi Ltd Data processor and data processing method
JP2003029966A (en) * 2001-07-17 2003-01-31 Hitachi Ltd Data processor
JP2006302324A (en) * 2006-08-15 2006-11-02 Renesas Technology Corp Data processor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5890247A (en) * 1981-11-25 1983-05-28 Nippon Telegr & Teleph Corp <Ntt> Pipeline controlling system of information processor
JPH0520065A (en) * 1991-07-11 1993-01-29 Mitsubishi Electric Corp Parallel arithmetic processor
JPH05197547A (en) * 1991-10-31 1993-08-06 Toshiba Corp Vliw type arithmetic processor
JPH10187444A (en) * 1997-12-22 1998-07-21 Hitachi Ltd Data processor and data processing method
JP2003029966A (en) * 2001-07-17 2003-01-31 Hitachi Ltd Data processor
JP2006302324A (en) * 2006-08-15 2006-11-02 Renesas Technology Corp Data processor

Similar Documents

Publication Publication Date Title
US10664280B2 (en) Fetch ahead branch target buffer
JP2007094813A (en) Processor
JP5491071B2 (en) Instruction fusion arithmetic device and instruction fusion arithmetic method
JP2018005488A (en) Arithmetic processing unit and control method for arithmetic processing unit
KR100983135B1 (en) Processor and method of grouping and executing dependent instructions in a packet
JP2008204357A (en) Information processor
US8595473B2 (en) Method and apparatus for performing control of flow in a graphics processor architecture
JP5209390B2 (en) Information processing apparatus and instruction fetch control method
JP2008299729A (en) Processor
JP2007257349A (en) Processor and processing method thereof
JP4444305B2 (en) Semiconductor device
JP2012150589A (en) Arithmetic unit
JP2009069960A (en) Branch prediction device, branch prediction method and microprocessor
JP2010079841A (en) Microcomputer and instruction execution method thereof
JP5491113B2 (en) Vector processing apparatus, vector processing method, and program
JP2011209859A (en) Information processor
US8255672B2 (en) Single instruction decode circuit for decoding instruction from memory and instructions from an instruction generation circuit
JP5292831B2 (en) Programmable controller
US8909905B2 (en) Method for performing plurality of bit operations and a device having plurality of bit operations capabilities
US20100153688A1 (en) Apparatus and method for data process
JP4151497B2 (en) Pipeline processing equipment
JP5013966B2 (en) Arithmetic processing unit
JP5263497B2 (en) Signal processor and semiconductor device
JP5679263B2 (en) Information processing apparatus and microinstruction processing method
JP2010085177A (en) Semiconductor testing device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130827