JP4747028B2 - Microprocessor, information processing method and program using the same - Google Patents
Microprocessor, information processing method and program using the same Download PDFInfo
- Publication number
- JP4747028B2 JP4747028B2 JP2006132305A JP2006132305A JP4747028B2 JP 4747028 B2 JP4747028 B2 JP 4747028B2 JP 2006132305 A JP2006132305 A JP 2006132305A JP 2006132305 A JP2006132305 A JP 2006132305A JP 4747028 B2 JP4747028 B2 JP 4747028B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- branch
- branch processing
- test
- executed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Advance Control (AREA)
- Hardware Redundancy (AREA)
Description
本発明は、マイクロプロセッサにかかり、特に、分岐処理を実行するマイクロプロセッサに関する。 The present invention relates to a microprocessor, and more particularly to a microprocessor that executes branch processing.
近年、処理の高速化のために、VLIW方式の計算機システムが開発されている。ここで、VLIW方式とは、並列動作可能な複数の演算器を独立した複数の命令の集まりであるVLIW(Very Long Instruction Word)と称さされる1個の長い命令語により制御する方式である。つまり、かかる方式の計算機システムは、並列動作可能な複数の演算器を備えており、VLIW上の独立した各命令により、当該各演算器を同期をとって個々にかつ並列に制御して作動する。 In recent years, VLIW computer systems have been developed to speed up processing. Here, the VLIW method is a method in which a plurality of arithmetic units capable of operating in parallel are controlled by one long instruction word called VLIW (Very Long Instruction Word) which is a collection of a plurality of independent instructions. That is, this type of computer system includes a plurality of arithmetic units capable of operating in parallel, and operates by controlling each arithmetic unit individually and in parallel in synchronization with each independent command on the VLIW. .
そして、上述したようなVLIW型プロセッサは、命令間に依存関係のない命令を同時に実行できる利点があるが、逆に処理によっては依存関係のために未使用(nop)となる演算器が生じる。この未使用の演算器を生かして、演算を二重化し、データインティグリティ(信頼性)を向上させる方法がある。例えば、先行する処理の出力をテストする処理を二重化し、両者のテスト結果を比較することによって不正を検出することにより、ハードウェア障害をプログラムにより検出する方法がある(下記、特許文献1参照)。
The VLIW processor as described above has an advantage that instructions having no dependency relationship between instructions can be simultaneously executed. On the contrary, depending on the processing, an arithmetic unit that is not used due to the dependency relationship is generated. There is a method of improving data integrity (reliability) by making use of this unused computing unit to duplicate the computation. For example, there is a method for detecting a hardware failure by a program by duplicating a process for testing the output of the preceding process and comparing the test results of the two (see
ここで、上述したようなVLIW型プロセッサを用いてプログラミングする場合には、コンパイラを使用して並列処理を最も効率的に行なえるコードを生成するのが一般的である。このとき、プログラムの中でプログラムによってハードウェアの信頼性を確保することが必要な場合には、アセンブリ言語により意識的に信頼性を向上させるコーディングを行なう場合がある。かかる場合には、プログラムの本来性能を低下させずにプロセッサの故障検出率を高めることを行なうことが必要であるが、総じて性能向上と相反する傾向にある。 Here, when programming using the VLIW type processor as described above, it is common to use a compiler to generate code that can perform parallel processing most efficiently. At this time, when it is necessary to ensure the reliability of the hardware in the program, there is a case where coding is performed to improve the reliability consciously by the assembly language. In such a case, it is necessary to increase the failure detection rate of the processor without degrading the original performance of the program, but generally there is a tendency to conflict with the performance improvement.
例えば、上述した特許文献1の従来例では、テスト結果が一致していたと判明した後に実際の分岐処理が実行されるため、かかる分岐処理を実行するまでに余計な処理時間が必要であった。また、ハードウェアの障害が発生することによってテスト結果が不一致であった場合には、障害に対するリカバリ機能が装備されておらず、障害の発生したプロセッサをシステムから切り離したり、システムを停止するなどの処理が行われていたため、処理を続行することができない、という問題があった。
For example, in the conventional example of
このため、本発明では、上記従来例の有する不都合を改善し、特に、分岐処理を行うハードウェアに障害が生じた場合にリカバリ処理を実行して信頼性の向上を図ると共に、処理性能の低下を抑制することができるマイクロプロセッサを提供することをその目的とする。 For this reason, the present invention improves the inconveniences of the above-described conventional example, and in particular, improves recovery by executing recovery processing when a failure occurs in the hardware that performs branch processing, and decreases processing performance. It is an object of the present invention to provide a microprocessor capable of suppressing the problem.
そこで、本発明の一形態であるマイクロプロセッサは、
同一の所定の処理結果をそれぞれテストする複数のテスト処理手段と、
各テスト処理手段によるテスト結果に応じてそれぞれ分岐処理を行う複数の分岐処理手段と、
他の分岐処理手段に優先して実行される所定の分岐処理手段にて分岐できなった場合に障害対応処理を実行するトラップ手段と、
を備えたことを特徴としている。
Therefore, a microprocessor according to an embodiment of the present invention is
A plurality of test processing means for respectively testing the same predetermined processing result;
A plurality of branch processing means for performing branch processing according to the test results of each test processing means,
Trap means for executing failure handling processing when a predetermined branch processing means executed in preference to other branch processing means cannot be branched;
It is characterized by having.
具体的に、トラップ手段は、所定の分岐処理手段に対応するテスト処理手段によるテスト結果が正しいにも関わらず当該正しい方向に分岐できなかった場合に実行される。そして、トラップ手段は、所定の分岐処理手段の障害に関する情報を取得する処理を行う。また、トラップ手段は、障害対応処理の実行後に他の分岐処理手段の実行に復帰する。 Specifically, the trap means is executed when the test result by the test processing means corresponding to the predetermined branch processing means is correct, but the branch cannot be made in the correct direction. Then, the trap means performs processing for acquiring information related to the failure of the predetermined branch processing means. Further, the trap means returns to the execution of the other branch processing means after the execution of the failure handling process.
さらに、上記所定の分岐処理手段と上記他の分岐処理手段とは、ほぼ並列に実行される、ことを特徴としており、例えば、マイクロプロセッサは、所定の分岐処理手段と他の分岐処理手段とをそれぞれ異なる演算器にて実行するVLIW型プロセッサである。 Further, the predetermined branch processing means and the other branch processing means are executed substantially in parallel. For example, the microprocessor includes a predetermined branch processing means and another branch processing means. It is a VLIW processor that is executed by different computing units.
上記発明によると、まず、同一の所定の処理結果のテストが複数のテスト処理手段にて実行され、これに対する同一の分岐処理が複数の分岐処理手段にて多重化されていることにより、信頼性の向上を図ることができる。これに加え、所定の分岐処理手段にて正常に分岐されないなどハードウェア障害が発生した場合であっても、かかる障害情報の取得などリカバリ処理がトラップ手段にて実行されるため、さらなる信頼性の向上を図ることができると共に、後続する他の分岐処理手段による処理が実行されることで、処理性能の低下を抑制することができる。特に、VLIW型プロセッサを用いて、同一の分岐処理を異なる演算器にてほぼ並列に実行することで、より有効に処理性能の低下を抑制することができる。 According to the above invention, first, a test of the same predetermined processing result is executed by a plurality of test processing means, and the same branch processing for the test is multiplexed by a plurality of branch processing means. Can be improved. In addition to this, even if a hardware failure occurs, such as when the predetermined branch processing means does not branch normally, recovery processing such as acquisition of such fault information is executed by the trap means, so that further reliability can be achieved. The improvement can be achieved, and the processing by the other branch processing means that follows can be executed, so that a decrease in processing performance can be suppressed. In particular, by using the VLIW processor to execute the same branch processing almost in parallel with different computing units, it is possible to more effectively suppress a decrease in processing performance.
また、本発明の他の形態であるプログラムは、
マイクロプロセッサに、
同一の所定の処理結果をそれぞれテストする複数のテスト処理手段と、
各テスト処理手段によるテスト結果に応じてそれぞれ分岐処理を行う複数の分岐処理手段と、
他の分岐処理手段に優先して実行される所定の分岐処理手段にて分岐できなかった場合に障害対応処理を実行するトラップ手段と、
を実現させる、ことを特徴としている。
Moreover, the program which is the other form of this invention is:
To the microprocessor
A plurality of test processing means for respectively testing the same predetermined processing result;
A plurality of branch processing means for performing branch processing according to the test results of each test processing means,
Trap means for executing failure handling processing when a predetermined branch processing means that is executed in preference to other branch processing means cannot branch.
It is characterized by realizing.
さらに、本発明の他の形態であるマイクロプロセッサによる情報処理方法は、
マイクロプロセッサが、
同一の所定の処理結果をそれぞれテストする複数の分岐条件テスト工程と、各テスト処理によるテスト結果に応じてそれぞれ実行される複数の分岐処理工程と、を有すると共に、
複数の分岐処理工程のうち、他の分岐処理工程に優先して実行される所定の分岐処理工程に続いて、当該所定の分岐処理工程にて分岐できなかった場合に障害対応処理を実行するトラップ工程を有する、
ことを特徴としている。
Furthermore, an information processing method by a microprocessor according to another aspect of the present invention is as follows.
The microprocessor
A plurality of branch condition test steps for respectively testing the same predetermined processing result, and a plurality of branch processing steps respectively executed according to the test result by each test processing,
Trap that executes failure handling processing when a predetermined branch processing step cannot be branched following a predetermined branch processing step that is executed in preference to other branch processing steps among a plurality of branch processing steps Having steps,
It is characterized by that.
上述した構成のプログラムや情報処理方法であっても、上記マイクロプロセッサと同様に作用するため、上述した本発明の目的を達成することができる。 Even the program and the information processing method having the above-described configuration operate in the same manner as the above-described microprocessor, so that the above-described object of the present invention can be achieved.
本発明は、以上のように構成され機能するので、これによると、同一の所定の処理結果のテスト及びこれに応じた分岐処理が多重化されており、かつ、他の分岐処理手段と比べて先に実行される所定の分岐処理手段にて正常に分岐されないなどハードウェア障害が発生した場合に、かかる障害情報の取得などリカバリ処理がトラップ手段にて実行されるため、信頼性の向上を図ることができると共に、後続する他の分岐処理手段による処理が実行されることでシステムが停止することなく、処理性能の低下を抑制することができる、という従来にない優れた効果を有する。 Since the present invention is configured and functions as described above, according to this, the test of the same predetermined processing result and the branch processing according to this are multiplexed, and compared with other branch processing means. In the event of a hardware failure, such as when a predetermined branch processing unit that is executed first does not branch normally, recovery processing such as acquisition of such failure information is performed by the trap unit, thereby improving reliability. In addition, the present invention has an unprecedented excellent effect that a decrease in processing performance can be suppressed without stopping the system by executing processing by another branch processing means that follows.
本発明におけるマイクロプロセッサは、多重化した分岐処理の間にリカバリ処理を行うことを特徴としている。以下、実施例では、VLIW型プロセッサにて実現する場合を一例に挙げて説明する。 The microprocessor according to the present invention is characterized in that recovery processing is performed during multiplexed branch processing. Hereinafter, in the embodiment, a case where it is realized by a VLIW processor will be described as an example.
本発明の第1の実施例を、図1乃至4を参照して説明する。図1乃至図2は、本実施例におけるマイクロプロセッサの構成及び動作を示す説明である。図3は、プログラム例を示す図である。 A first embodiment of the present invention will be described with reference to FIGS. FIGS. 1 and 2 are diagrams illustrating the configuration and operation of the microprocessor according to the present embodiment. FIG. 3 is a diagram illustrating a program example.
[構成]
本実施例におけるマイクロプロセッサは、上述したように、並列動作可能な複数の演算器を装備し、独立した複数の命令の集まりであるVLIW(Very Long Instruction Word)と称さされる1個の長い命令語により制御する方式のVLIW型プロセッサである。図1は、このVLIW型プロセッサを搭載した情報処理装置70を示している。
[Constitution]
As described above, the microprocessor according to this embodiment includes a plurality of arithmetic units capable of operating in parallel, and one long instruction called a VLIW (Very Long Instruction Word) which is a collection of a plurality of independent instructions. This is a VLIW processor controlled by words. FIG. 1 shows an information processing apparatus 70 equipped with this VLIW processor.
そして、情報処理装置70のプロセッサには、本発明であるプログラムが組み込まれることにより、図1に示すような構成及び動作を実現可能となる。具体的には、情報処理装置70つまりVLIW型プロセッサには、プログラムが組み込まれることにより、処理W(10)を実行する機能と、処理X(201)を実行する機能と、処理W(10)の結果をテストするテストA(202)を実行する機能(テスト処理手段)と、当該テストA(202)と同じテストを行なうテストB(203)を実行する機能(テスト処理手段)と、テストA(202)の結果に応じて分岐する分岐処理a(301)を実行する機能(分岐処理手段)と、分岐処理a(301)に後続しテストA(202)の結果に応じてリカバリ処理(60)へ割り込むトラップ(302)を実行する機能(トラップ手段)と、トラップ(302)に後続しテストB(203)の結果に応じて分岐する分岐処理b(303)を実行する機能(分岐処理手段)と、が構築されている。また、分岐処理a(301)、分岐処理b(303)の結果に応じて実行される処理Y(40)と処理Z(50)とを実行する機能も構築されている。 Then, the configuration and operation as shown in FIG. 1 can be realized by incorporating the program according to the present invention in the processor of the information processing apparatus 70. Specifically, the information processing apparatus 70, that is, the VLIW processor, incorporates a program, thereby executing a function of executing the process W (10), a function of executing the process X (201), and a process W (10). A function (test processing means) for executing the test A (202) for testing the result of the test, a function (test processing means) for executing the test B (203) for performing the same test as the test A (202), and a test A A function (branch processing means) that executes a branch process a (301) that branches according to the result of (202), and a recovery process (60 that follows the branch process a (301) according to the result of test A (202) ) (Trap means) for executing a trap (302) that interrupts, and branch processing b (303) that branches after the trap (302) according to the result of the test B (203) Ability to run the (branch processing unit), are constructed. In addition, a function for executing a process Y (40) and a process Z (50) executed according to the results of the branch process a (301) and the branch process b (303) is also constructed.
そして、上述したように、VLIW型プロセッサは、複数の演算器を装備して並列処理が可能であるため、上述した各機能は、それぞれ図2に示すように並列に作動する。ここでは、演算器が3つ装備されており、サイクル1では、演算器1は処理W(10)を実行し、演算器2及び演算器3は未使用(nop)となる。そして、後続するサイクル2(図1の符号20)では、演算器1は処理X(202)を、演算器2はテストA(202)を、演算器3ではテストB(203)を、それぞれ並列に実行する。さらに後続するサイクル3(図1の符号30)では、演算器1は分岐処理a(301)を、演算器2はトラップ(302)を、演算器3は分岐処理b(303)を、それぞれ並列に実行する。
As described above, since the VLIW processor is equipped with a plurality of arithmetic units and can perform parallel processing, the functions described above operate in parallel as shown in FIG. Here, three arithmetic units are provided, and in
ここで、トラップ(302)は、特に、二重化された分岐処理a(301)と分岐処理b(303)との間で、分岐処理a(301)にて正常に分岐できなかった場合、つまり、分岐回路のハードウェア障害が生じた場合に、実行される。その具体的な動作については、動作説明時に詳述する。 Here, the trap (302) is, in particular, when the branch process a (301) cannot branch normally between the duplex branch process a (301) and the branch process b (303), that is, It is executed when a hardware failure of the branch circuit occurs. The specific operation will be described in detail when the operation is described.
そして、トラップ(302)によるリカバリ処理(60)を実行する機能は、分岐処理a(301)で発生したハードウェア障害の状況を残すために必要なデータ採取や、再度分岐処理を実行するために割り込み元のプログラム格納アドレスを算出し、データ採取が完了した後に割り込みが発生したプログラム格納アドレスの次のアドレス、つまり分岐処理b(303)へ復帰する処理を行なう(図1の符号601,602,603参照)。
The function of executing the recovery process (60) by the trap (302) is for collecting data necessary for leaving the status of the hardware failure that has occurred in the branch process a (301) and executing the branch process again. The program storage address of the interrupt source is calculated, and after data collection is completed, the process returns to the address next to the program storage address where the interrupt occurred, that is, the branch process b (303) (
ここで、図3に、図2に示す命令列を、Intel R IA64アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアルにおけるアセンブリ言語のニーモニックでコーディングした例を示す。図中において「cmp」は比較命令を表す。「br」は分岐命令を表す。「(p) br」は条件付きの分岐命令であることを表す。「break」は割り込みを表す。また、「p」、「r」はそれぞれテストA(202)とテストB(203)の結果が格納されるレジスタを表す。また、図4には、トラップ(302)の動作をコーディングした例を示す。 Here, FIG. 3 shows an example in which the instruction sequence shown in FIG. 2 is coded by an assembly language mnemonic in the Intel RIA64 architecture software developer's manual. In the figure, “cmp” represents a comparison instruction. “Br” represents a branch instruction. “(P) br” represents a conditional branch instruction. “Break” represents an interrupt. “P” and “r” represent registers in which the results of test A (202) and test B (203) are stored, respectively. FIG. 4 shows an example in which the operation of the trap (302) is coded.
[動作]
次に、本発明の動作について、図1乃至図2を参照して説明する。まず、図2に示すように、サイクル1にて処理W(10)が実行される。そして、次のサイクル2にて、先行する処理W(10)のテストが行われる。つまり、図1のサイクル20及び図2に示すように、演算器2でテストA(202)が実行され、演算器3でテストB(203)が実行される(テスト処理工程)。なお、テストB(203)は、テストA(202)を二重化した処理であり、テストA(202)と同じく、処理W(10)の結果をテストしている。
[Operation]
Next, the operation of the present invention will be described with reference to FIGS. First, as shown in FIG. 2, process W (10) is executed in
そして、図1に示すさらに次のサイクル30つまり図2に示すサイクル3では、各演算器で、分岐処理a(301)(所定の分岐処理工程)、トラップ(302)(トラップ工程)、分岐処理b(303)(他の分岐処理工程)がそれぞれ実行される。このとき、各分岐先アドレスの計算は、ほぼ同時に(並列に)実行されるが、実際に分岐先にジャンプする動作は、図3のコーディング例の「#サイクル2」と「#サイクル3」の間に示されるように、分岐処理a(301)、トラップ(302)、分岐処理b(303)の優先順位で処理が実行される。つまり、図1のサイクル30に示す順に処理が実行される。
In the
具体的には、まず、分岐処理a(301)では、テストA(202)の結果が「真」の場合に処理Y(40)に分岐する。つまり、テストAの結果、分岐GO(p=1)の場合には、処理Y(40)に進み、先読みしたトラップ(302)つまり図3に示す「(p) break 10」、及び、分岐処理b(303)つまり「(r)br.cond.spnt Y」の分岐先へはジャンプしない。 Specifically, in branch process a (301), if the result of test A (202) is “true”, the process branches to process Y (40). That is, if the result of test A is branch GO (p = 1), the process proceeds to process Y (40), the prefetched trap (302), that is, “(p) break 10” shown in FIG. It does not jump to the branch destination of b (303), that is, “(r) br.cond.spnt Y”.
ここで、分岐処理a(301)を実行している演算器1の分岐回路が故障などにより、テスト結果が正しく「真」である(p=1)にも関わらず、実際に処理Y(40)にジャンプできなかった場合には、トラップ(302)に進む。つまり、図3に示す「(p) break 10 」に優先権が移り、かかる場合には「p=1」であるので「break 10」が実行される。すると、図4に示すコーディングのトラップ先となるリカバリ処理(60)が実行され、トラップ元のアドレスを取得して格納し(601)、障害情報などを採取する障害処理を実行して(602)、障害処理が完了した時点でトラップ元のアドレスの次のアドレスへ復帰する(603)、という障害対応処理を行なう。そして、その後、分岐処理b(303)に復帰し、当該分岐処理bが実行され、ここで正常に分岐が実行される。
Here, although the test result is correctly “true” (p = 1) due to a failure or the like of the branch circuit of the
一方、分岐処理a(301)にて、テストA(202)の結果が「偽」の場合や、分岐処理a(301)において「p」というレジスタが壊れたハードウェア障害によりテストA(202)の結果が不正(プレディケーションレジスタ故障)である場合には、処理Y(40)へ分岐は実行されずに、サイクル30内のトラップ(302)へ進む。但し、このとき、「p=0」であるため、トラップ(302)では何もせず、サイクル30における後続の分岐処理b(303)へ進む。そして、分岐処理b(303)は、テストB(203)の結果に応じて処理Y(40)へ分岐するか、もしくは処理Z(50)へ進むが、単に上述した「p」というレジスタが壊れた場合には(サイクル2における演算器2の故障)、テストB(203)の結果は「真」となり、「r=1」となるので、分岐処理b(303)で正常に処理Y(40)に分岐される。
On the other hand, in the branch process a (301), when the result of the test A (202) is “false”, or because of a hardware failure in which the register “p” is broken in the branch process a (301), the test A (202) If the result of (2) is illegal (predication register failure), the process proceeds to the trap (302) in the
なお、演算器1及び演算器2の双方が壊れ、「(p) br.cond.spnt Y」及び「(p) break 10」にジャンプできない場合であっても、演算器3による「(r) br.cond.spnt」で正しく分岐することができる。また、「p=r=0」のケースでは、分岐条件が成り立たないので、サイクル3の「(p) br.cond.spnt」、「(p) break 10」「(r)br.cond.spnt Y」は、分岐先アドレスの生成のみで、実際にはジャンプせずにNOP動作となる。
Even if both the
以上のように、本発明によると、分岐条件となるテスト処理を多重化しているため、信頼性の向上を図ることができると共に、分岐処理aにて正常に分岐されないなどハードウェア障害が発生した場合であっても、かかる障害情報の取得などリカバリ処理がトラップにて実行されるため、さらなる信頼性の向上を図ることができると共に、後続する他の分岐処理bによる処理が実行されることで、処理性能の低下を抑制することができる。特に、VLIW型プロセッサを用いて、同一の分岐処理a,bを異なる演算器にてほぼ並列に実行することで、より有効に処理性能の低下を抑制することができる。 As described above, according to the present invention, since the test processing as a branch condition is multiplexed, the reliability can be improved, and a hardware failure has occurred such that the branch processing a does not branch normally. Even in such a case, since the recovery process such as acquisition of the failure information is executed by the trap, the reliability can be further improved, and the process by the subsequent other branch process b is executed. Therefore, it is possible to suppress a decrease in processing performance. In particular, by using the VLIW processor to execute the same branch processes a and b almost in parallel with different arithmetic units, it is possible to more effectively suppress a decrease in processing performance.
ここで、上述した二重化されたテストAとテストBとの処理は、同一の命令を使ってテスト処理する必要はない。論理的に同一のテスト結果が得られる別のテスト命令を各テスト処理にて用いてもよい。 Here, it is not necessary to perform the test process using the same instruction for the processes of the duplicated test A and test B described above. Another test instruction that provides the logically same test result may be used in each test process.
また、上記では、図2のサイクル2においてテストAとテストBを実施しているが、テストAとテストBは、処理Wの次サイクルで実施する必要はなく、少なくとも1サイクル以上後に実行されればよい。さらには、テストAとテストBは、必ずしも同じサイクルで実行される必要はない。そして、テストAとテストBの実行順序は、テストBが先に実行されても同じである。但し、テストAは分岐処理aよりも前のサイクルで実行される必要があり、テストBは分岐処理bより前のサイクルで実行することが保障できればよい。
Further, in the above, test A and test B are performed in
さらに、上記では、テスト処理を二重化する場合について記載しているが、かかるテスト処理を三重化以上にして構成してもよい。これにより、さらなる信頼性の向上を図ることができる。そして、かかる場合には、各テスト処理ごとに対応する分岐処理が実行されるよう構成するが、いかなる分岐処理の間に上述したリカバリ処理つまりトラップを配置してもよく、全ての分岐処理の間に配置すると望ましい。 Furthermore, although the case where the test process is duplicated is described above, the test process may be configured to be triple or more. Thereby, the further improvement of reliability can be aimed at. In such a case, the corresponding branch process is executed for each test process. However, the recovery process, that is, the trap described above may be arranged between any branch processes. It is desirable to arrange in.
本発明は、高性能を要求されるプログラムにおいて、データインティグリティを高めることも必要なミッションクリティカルなプログラムの開発といった用途に適用することができ、産業上の利用可能性を有する。 INDUSTRIAL APPLICABILITY The present invention can be applied to uses such as development of a mission critical program that also needs to increase data integrity in a program that requires high performance, and has industrial applicability.
70 情報処理装置
202 テストA
203 テストB
301 分岐処理a
302 トラップ
303 分岐処理b
70
203 Test B
301 Branch processing a
302
Claims (8)
前記各テスト処理手段によるテスト結果に応じてそれぞれ分岐処理を行う複数の分岐処理手段と、
他の前記分岐処理手段に優先して実行される所定の前記分岐処理手段にて分岐できなった場合に障害対応処理を実行するトラップ手段と、
を備え、
前記所定の分岐処理手段による分岐処理、前記トラップ手段による障害対応処理、前記他の分岐処理手段による分岐処理、の優先順位で処理を実行する、
ことを特徴とするマイクロプロセッサ。 A plurality of test processing means for respectively testing the same predetermined processing result;
A plurality of branch processing means for performing branch processing according to the test results by the respective test processing means;
Trap means for executing failure handling processing when the predetermined branch processing means that is executed in preference to the other branch processing means fails to branch;
With
The processing is executed in the priority order of branch processing by the predetermined branch processing means, failure handling processing by the trap means, branch processing by the other branch processing means,
A microprocessor characterized by that.
1つのサイクルにおける前記所定の分岐処理手段による分岐処理と前記他の分岐処理手段による分岐処理とは、それぞれ異なる前記演算器にて、前記所定の分岐処理手段による分岐処理、前記他の分岐処理手段による分岐処理、の優先順位で並列に実行される、ことを特徴とする請求項1,2,3又は4記載のマイクロプロセッサ。 Equipped with multiple computing units that can operate in parallel,
The branch processing by the predetermined branch processing means and the branch processing by the other branch processing means in one cycle are different from each other in the computing unit, the branch processing by the predetermined branch processing means, and the other branch processing means. 5. The microprocessor according to claim 1, wherein the microprocessor is executed in parallel with a priority order of branch processing according to claim 1.
同一の所定の処理結果をそれぞれテストする複数のテスト処理手段と、
前記各テスト処理手段によるテスト結果に応じてそれぞれ分岐処理を行う複数の分岐処理手段と、
他の前記分岐処理手段に優先して実行される所定の前記分岐処理手段にて分岐できなかった場合に障害対応処理を実行するトラップ手段と、
を実現させると共に、
前記マイクロプロセッサに、前記所定の分岐処理手段による分岐処理、前記トラップ手段による障害対応処理、前記他の分岐処理手段による分岐処理、の優先順位で処理を実行させるためのプログラム。 To the microprocessor
A plurality of test processing means for respectively testing the same predetermined processing result;
A plurality of branch processing means for performing branch processing according to the test results by the respective test processing means;
Trap means for executing failure handling processing when the predetermined branch processing means that is executed in preference to the other branch processing means cannot branch.
And realize
A program for causing the microprocessor to execute processing in a priority order of branch processing by the predetermined branch processing unit, failure handling processing by the trap unit, and branch processing by the other branch processing unit.
同一の所定の処理結果をそれぞれテストする複数のテスト処理工程と、各テスト処理によるテスト結果に応じてそれぞれ実行される複数の分岐処理工程と、を有すると共に、
前記複数の分岐処理工程のうち、他の前記分岐処理工程に優先して実行される所定の前記分岐処理工程に続いて、当該所定の分岐処理工程にて分岐できなかった場合に障害対応処理を実行するトラップ工程を有し、
前記所定の分岐処理工程による分岐処理、前記トラップ工程による障害対応処理、前記他の分岐処理工程による分岐処理、の優先順位で処理を実行する、
ことを特徴とするマイクロプロセッサによる情報処理方法。 The microprocessor
A plurality of test processing steps for respectively testing the same predetermined processing results, and a plurality of branch processing steps executed in accordance with the test results of each test processing,
Of the plurality of branch processing steps, following the predetermined branch processing step executed in preference to the other branch processing steps, the failure handling processing is performed when the predetermined branch processing step cannot branch. Having a trapping process to perform,
The processing is executed in the priority order of the branch processing by the predetermined branch processing step, the failure handling processing by the trap step, and the branch processing by the other branch processing step.
An information processing method using a microprocessor.
8. The information processing method by a microprocessor according to claim 7 , wherein branch processing by the other branch processing step is executed after execution of the failure handling processing by the trap step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006132305A JP4747028B2 (en) | 2006-05-11 | 2006-05-11 | Microprocessor, information processing method and program using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006132305A JP4747028B2 (en) | 2006-05-11 | 2006-05-11 | Microprocessor, information processing method and program using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007304838A JP2007304838A (en) | 2007-11-22 |
JP4747028B2 true JP4747028B2 (en) | 2011-08-10 |
Family
ID=38838715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006132305A Expired - Fee Related JP4747028B2 (en) | 2006-05-11 | 2006-05-11 | Microprocessor, information processing method and program using the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4747028B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002334317A (en) * | 2001-05-09 | 2002-11-22 | Hitachi Ltd | Information processor |
JP2003316598A (en) * | 2002-04-22 | 2003-11-07 | Mitsubishi Electric Corp | Long instruction execution processor combined with high reliable mode operation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02110742A (en) * | 1988-10-20 | 1990-04-23 | Pfu Ltd | Error detecting and synchronizing system for multi-processor |
JPH04247531A (en) * | 1991-02-04 | 1992-09-03 | Fujitsu Ltd | Fault detecting system |
JP3080769B2 (en) * | 1992-05-14 | 2000-08-28 | 株式会社東芝 | VLIW type computer abnormality detection method |
-
2006
- 2006-05-11 JP JP2006132305A patent/JP4747028B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002334317A (en) * | 2001-05-09 | 2002-11-22 | Hitachi Ltd | Information processor |
JP2003316598A (en) * | 2002-04-22 | 2003-11-07 | Mitsubishi Electric Corp | Long instruction execution processor combined with high reliable mode operation |
Also Published As
Publication number | Publication date |
---|---|
JP2007304838A (en) | 2007-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI738744B (en) | Apparatus, method, and computer program product for program loop control | |
KR102629722B1 (en) | Move prefix command | |
EP2673703B1 (en) | Controlling the execution of adjacent instructions that are dependent upon a same data condition | |
KR102484125B1 (en) | Error detection using vector processing circuit | |
CN108780397B (en) | Program loop control | |
JP7011595B2 (en) | Branch instruction | |
JPH06214799A (en) | Method and apparatus for improvement of performance of random-sequence loading operation in computer system | |
JP2005166057A (en) | Fault detecting computer system | |
US20070016760A1 (en) | Central processing unit architecture with enhanced branch prediction | |
CN117193861B (en) | Instruction processing method, apparatus, computer device and storage medium | |
KR20060098372A (en) | Method and device for operand processing in a processor unit | |
JP4747028B2 (en) | Microprocessor, information processing method and program using the same | |
Li et al. | Tolerating radiation-induced transient faults in modern processors | |
CN107423029B (en) | Calculation unit | |
US20080133838A1 (en) | Data processing device | |
JP4357429B2 (en) | Semiconductor integrated circuit device and compiler | |
JP2009129133A (en) | Software partial test system, software partial test method, and program for software partial test | |
Ziener et al. | Concepts for autonomous control flow checking for embedded cpus | |
KR101846498B1 (en) | Recoverable and fault tolerant cpu core and control method thereof | |
EP4339782A1 (en) | Processor and method of detecting soft error using the same | |
KR101923778B1 (en) | Method thereof and apparatus for high performance computing using dual modular redundancy and error prediction | |
JPH11149390A (en) | Data processor and fault diagnostic method in the same | |
JPH1124931A (en) | Vliw type computer | |
CN117667508A (en) | Processor and method for detecting soft error using the same | |
US20170212763A1 (en) | Exception handling predicate register |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080512 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110404 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110426 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110516 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |