JP4090669B2 - 演算処理装置、情報処理装置及びそれらの制御方法 - Google Patents

演算処理装置、情報処理装置及びそれらの制御方法 Download PDF

Info

Publication number
JP4090669B2
JP4090669B2 JP2000165096A JP2000165096A JP4090669B2 JP 4090669 B2 JP4090669 B2 JP 4090669B2 JP 2000165096 A JP2000165096 A JP 2000165096A JP 2000165096 A JP2000165096 A JP 2000165096A JP 4090669 B2 JP4090669 B2 JP 4090669B2
Authority
JP
Japan
Prior art keywords
trap
unit
request
map
arithmetic processing
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 - Lifetime
Application number
JP2000165096A
Other languages
English (en)
Other versions
JP2001344116A (ja
Inventor
昭彦 大和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000165096A priority Critical patent/JP4090669B2/ja
Priority to US09/729,824 priority patent/US6711641B2/en
Publication of JP2001344116A publication Critical patent/JP2001344116A/ja
Application granted granted Critical
Publication of JP4090669B2 publication Critical patent/JP4090669B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、トラップ(割り込み)要求とトラップタイプデータとの対応関係を定義するトラップマップを備える演算処理装置、情報処理装置およびそれらの制御方法に関するものであり、特に、複数のトラップマップの中から、使用するオペレーティングシステムに適合するものを選択可能な演算処理装置、情報処理装置およびそれらの制御方法に関するものである。
【0002】
従来より、コンピュータシステムでは、使用するオペレーティングシステムに対応させて設計された演算処理装置が用いられている。この演算処理装置には、処理中に発生する様々なトラップ要求をトラップタイプデータと呼ばれるコードに変換するためのトラップマップが備えられている。従って、演算処理装置を設計する際には、使用するオペレーティングシステムに適合するようにこのトラップマップが設計される。
【0003】
しかしながら、従来の演算処理装置では、オペレーティングシステムを別の種類のオペレーティングシステムに変更する場合、トラップマップを設計し直さなければならず、設計時間、コスト面からみて、デメリットが多い。このことから、従来より、かかる問題を効果的に解決するための手段、方法が切望されている。
【0004】
【従来の技術】
図19は、従来の演算処理装置の構成を示すブロック図である。ここで、本明細書では、「トラップ」という用語は、広義に解釈するものとし、命令発行時に検出されるI-Trap(Instruction Trap)、命令実行時に検出されるE-Trap(Execution Trap)、非同期エラーやウォッチドックタイムアウト時に検出されるトラップ、算術オーバフロー等のプログラム内部で生じる例外的な割り込み(Exception)、I/O(Input/Output)等の外部要因による外部割り込み(interrupt)を意味するものとする。また、「トラップ要求」という用語は、上述した「トラップ」に対応する処理(割り込み処理等)を要求することを意味する。
【0005】
同図において、整数演算器10は、整数演算コマンドに従って、整数演算を実行する演算器であり、必要に応じてトラップ要求11を出す。浮動小数点演算器20は、浮動小数点演算コマンドに従って、浮動小数点演算を実行する演算器であり、必要に応じてトラップ要求21を出す。メモリ管理部30は、仮想アドレス、物理アドレス相互間の変換を行うとともにキャッシュメモリ(図示略)へのアクセス制御を行い、必要に応じてトラップ要求31を出す。プログラムカウンタ/ブランチユニット40は、実行プログラムをカウントするとともに、プログラムの分岐命令の分岐アドレスの予測を行うものであり、必要に応じてトラップ要求41を出す。
【0006】
CPUローカルバスI/F制御部50は、ローカルバス(図示略)上のデータの流れを制御するものであり、必要に応じてトラップ要求51を出力する。トラップ制御部60は、上述したトラップ要求11、21、31、41および51をプライオリティ(優先)順位付けする機能と、トラップ要求71をトラップタイプデータ91に変換する機能と、トラップタイプデータ91をリード/ライトする機能とを備えている。トラップタイプデータ91は、トラップの発生要因を一意に特定するためのデータである。トラップ制御部60は、プライオリティ制御部70、トラップタイプエンコーダ80、リード/ライト制御部100およびトラップタイプレジスタ110から構成されている。
【0007】
プライオリティ制御部70は、トラップ要求11、21、31、41および51のうち、同時刻に複数のものが入力された場合に、予め設定されたプライオリティに従って、プライオリティが高いものをトラップ要求71として出力する。プライオリティとしては、トラップ要求11>トラップ要求21>トラップ要求31>トラップ要求41>トラップ要求51とされている。この場合、同時刻にトラップ要求11およびトラップ要求21の双方が入力されると、プライオリティ制御部70は、プライオリティが高いトラップ要求11をトラップ要求71として出力する。
【0008】
トラップタイプエンコーダ80は、トラップマップ90に従って、プライオリティ制御部70からのトラップ要求71を、演算処理装置で処理可能なトラップタイプデータ91にエンコードする。このトラップマップ90は、ある一種類のオペレーティングシステムに適合するものである。従って、他の種類のオペレーティングシステムでトラップマップ90を用いた場合には、誤作動する可能性がある。
【0009】
図20に示したトラップマップ90は、複数のトラップ要求と、これらに一対一で対応するトラップタイプデータとの対応関係を定義するものである。同図には、トラップ要求71(図19参照)として、トラップ要求710(power#on#reset:図面ではアンダーバーが図示されているが、本明細書ではアンダーバーに代えて「#」を用いる)〜トラップ要求715(data#access#MMU#error)が図示されており、トラップタイプデータ91(図19参照)として、トラップタイプデータ910(0x001)〜トラップタイプデータ915(0x031)が図示されている。例えば、トラップ要求71(図19参照)としてトラップ要求710 が入力された場合、トラップタイプエンコーダ80は、トラップマップ90に従って、トラップタイプデータ91(図19参照)として、トラップ要求710 に対応するトラップタイプデータ910 (0x001)を出力する。
【0010】
図19に戻り、リード/ライト制御部100は、トラップタイプエンコーダ80からのトラップタイプデータ91をトラップタイプレジスタ110にライトした後、トラップタイプレジスタ110からトラップタイプデータ91をリードし、これをメモリ(図示略)へ転送する。
【0011】
上記構成において、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ80へ出力する。この場合、トラップ要求71は、図20に示したトラップ要求710 であるものとする。これにより、トラップタイプエンコーダ80は、トラップマップ90を参照して、トラップ要求710 をトラップタイプデータ910(0x001)にエンコードする。このトラップタイプデータ910 は、図19に示したリード/ライト制御部100の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0012】
【発明が解決しようとする課題】
ところで、前述したように、従来の演算処理装置において、図20に示したトラップマップ90は、一種類のオペレーティングシステム(単にシステムともいう)に対応するものであり、設計段階で当該オペレーティングシステム専用のものとして固定的に設計される。従って、他の種類のオペレーティングシステムを当該演算処理装置で用いた場合には、トラップ要求とトラップタイプデータとの対応関係が異なることにより、誤作動が生じることがある。
【0013】
このような問題を回避するために、従来では、他の種類のオペレーティングシステムに適合するように、トラップマップをリメイクしたり、オペレーティングシステム側でトラップタイプデータをすり替えしたりする等の対策を採らなければならなかった。
【0014】
しかしながら、かかる対応では、トラップマップのリメイクに膨大な時間、コストがかかるとともに、トラップタイプデータのすり替えに伴う別の弊害(性能の低下)が発生するという問題があり、オペレーティングシステムの相違に伴う問題を根本的に解決するものではない。
【0015】
また、従来の演算処理装置においては、図19に示したプライオリティ制御部70により、整数演算器10、浮動小数点演算器20、・・・、CPUローカルバスI/F制御部50という実行ユニット毎に出される複数のトラップ要求に対してプライオリティ制御を行う旨について説明した。
【0016】
しかしながら、従来の演算処理装置においては、実行ユニット内でプライオリティ制御を行うことができず、きめ細かな制御を行うことができないという問題があった。すなわち、従来の演算処理装置では、実行ユニット内で同一時刻で出された複数のトラップ要求に対するプライオリティ制御を行うことができず、しかも、実行ユニットの状態に応じたプライオリティ制御を行うことができないのである。
【0017】
本発明は、上記に鑑みてなされたもので、複数のシステムに安価かつ容易に適用することができ(第1の目的)、また実行ユニット側でトラップ要求に対するプライオリティ制御をきめ細かく実行することができる(第2の目的)演算処理装置を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明は、第1及び第2のオペレーティングシステムのいずれか適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置において、処理を実行し、前記処理の結果に基づいてトラップ要求を発行する実行ユニットと、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップと、前記演算処理装置に適用されたオペレーティングシステムに基づき、前記第1及び第2のトラップマップのいずれかを選択するトラップマップ選択部と、前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するトラップ情報変換部を有することを特徴とする。また、本発明は、前記トラップマップ選択部は、前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するトラップマップ選択レジスタと、前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するトラップマップセレクタを有することを特徴とする。
【0019】
また、本発明は、前記演算処理装置はさらに、第1の処理を実行し、前記第1の処理結果に基づいて第1のトラップ要求を発行する第1の実行ユニットと、第2の処理を実行し、前記第2の処理結果に基づいて第2のトラップ要求を発行する第2の実行ユニットと、 前記第1及び第2のトラップ要求を受信し、前記第1及び第2のトラップ要求のいずれかを、所定の優先順位に基づいて選択する優先順位制御部を有し、前記トラップ情報変換部は、前記優先順位制御部が選択したトラップ要求をトラップ情報に変換することを特徴とする。また、本発明は、前記トラップマップ選択レジスタは、前記第1又は第2の実行ユニットが内部に有することを特徴とする。
【0020】
また、本発明は、前記トラップマップ選択部は、前記演算処理装置の外部信号線が給電されるか又は接地されるかにより、前記外部信号線に生ずる電位に基づいて、前記第1又は第2のトラップマップのいずれかを選択するトラップマップセレクタを有することを特徴とする。また、本発明は、第1及び第2のオペレーティングシステム適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置において、第1及び第2の処理を実行し、前記第1及び第2の処理の結果に基づいて第1及び第2のトラップ要求をそれぞれ発行する第1の実行ユニットと、第3の処理を実行し、前記第3の処理の結果に基づいて第3のトラップ要求を発行する第2の実行ユニットと、前記第1及び第2のトラップ要求を受信し、前記第1又は第2のトラップ要求のいずれかを、所定の第1の優先順位に基づいて予め選択する第1の優先順位制御部と、前記第1の優先順位制御部が選択したトラップ要求と前記第3のトラップ要求を受信し、前記第1の優先順位制御部が選択したトラップ要求又は第3のトラップ要求のいずれかを、所定の第2の優先順位に基づいて選択する第2の優先順位制御部と、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップと、前記演算処理装置に適用されたオペレーティングシステムに基づき、前記第1及び第2のトラップマップのいずれかを選択するトラップマップ選択部と、前記選択されたトラップマップに基づいて、前記第2の優先順位制御部が選択したトラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するトラップ情報変換部を有することを特徴とする。
【0021】
また、本発明は、前記演算処理装置はさらに、前記第1の実行ユニットの状態を表す第1の実行ユニット状態データを格納する実行ユニット状態データレジスタと、前記実行ユニット状態データに基づいて、前記第1又は第2のトラップ要求のいずれかを選択するトラップ要求セレクタを有することを特徴とする。また、本発明は、前記演算処理装置はさらに、前記第1の実行ユニットの状態を表す第1の実行ユニット状態データを格納する第1の実行ユニット状態データレジスタと、前記第2の実行ユニットの状態を表す第2の実行ユニット状態データを格納する第2の実行ユニット状態データレジスタと、前記第1及び第2の実行ユニット状態データに基づいて、前記第1又は第2のトラップ要求のいずれかを選択するトラップ要求セレクタを有することを特徴とする。
【0022】
また、本発明は、第1及び第2のオペレーティングシステムのいずれか適用される演算処理装置と、前記演算処理装置に接続されるとともに適用されたオペレーティングシステムを格納する記憶装置とを有する情報処理装置において、前記演算処理装置は、処理を実行し、前記第処理の結果に基づいてトラップ要求を発行する実行ユニットと、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップと、前記演算処理装置に適用されたオペレーティングシステムに基づき、前記第1及び第2のトラップ情報変換部のいずれかを選択するトラップマップ選択部と、前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するトラップ情報変換部と、前記トラップ情報を前記記憶装置に転送するインタフェース制御部を有することを特徴とする。また、本発明は、前記トラップマップ選択部は、前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するトラップマップ選択レジスタと、前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するトラップマップセレクタを有することを特徴とする。
【0023】
また、本発明は、第1及び第2のオペレーティングシステムのいずれか適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置の制御方法において、前記演算処理装置が有する実行ユニットが、処理を実行し、前記処理の結果に基づいてトラップ要求を発行するステップと、前記演算処理装置が有するトラップマップ選択部が、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップのいずれかを、前記演算処理装置に適用されたオペレーティングシステムに基いて選択するステップと、前記演算処理装置が有するトラップ情報変換部が、前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するステップを有することを特徴とする。また、本発明は、前記トラップマップ選択部が前記第1及び第2のトラップマップのいずれかを選択するステップは、トラップマップ選択レジスタに、前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するステップと、前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するステップであることを特徴とする。
【0024】
また、本発明は、前記演算処理装置はさらに、第1及び第2の実行ユニットを有し、
前記制御方法はさらに、前記第1の実行ユニットが、第1の処理を実行し、前記第1の処理結果に基づいて第1のトラップ要求を発行するステップと、前記第2の実行ユニットが、第2の処理を実行し、前記第2の処理結果に基づいて第2のトラップ要求を発行するステップと、前記演算処理装置が有する優先順位制御部が、前記第1及び第2のトラップ要求を受信し、前記第1及び第2のトラップ要求のいずれかを、所定の優先順位に基づいて選択するステップを有し、前記トラップ情報変換部は、前記優先順位制御部が選択したトラップ要求をトラップ情報に変換することを特徴とする。また、本発明は、前記トラップマップ選択レジスタは、前記第1又は第2の実行ユニットが内部に有することを特徴とする。
【0025】
また、本発明は、前記トラップマップ選択部が前記第1又は第2のトラップマップのいずれかを選択するステップは、前記演算処理装置の外部信号線が給電されるか又は接地されるかにより、前記外部信号線に生ずる電位に基づいて、前記第1又は第2のトラップマップのいずれかを選択することを特徴とする。また、本発明は、第1及び第2のオペレーティングシステム適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置の制御方法において、前記演算処理装置が有する第1の実行ユニットが、第1及び第2の処理を実行し、前記第1及び第2の処理の結果に基づいて第1及び第2のトラップ要求をそれぞれ発行するステップと、前記演算処理装置が有する第2の実行ユニットが、第3の処理を実行し、前記第3の処理の結果に基づいて第3のトラップ要求を発行するステップと、前記演算処理装置が有する第1の優先順位制御部が、前記第1及び第2のトラップ要求を受信し、前記第1又は第2のトラップ要求のいずれかを、所定の第1の優先順位に基づいて予め選択するステップと、前記演算処理装置が有する第2の優先順位制御部が、前記第1の優先順位制御部が選択したトラップ要求と前記第3のトラップ要求を受信し、前記第1の優先順位制御部が選択したトラップ要求又は第3のトラップ要求のいずれかを、所定の第2の優先順位に基づいて選択するステップと、前記演算処理装置が有するトラップマップ選択部が、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップのいずれかを、前記演算処理装置に適用されたオペレーティングシステムに基いて選択するステップと、前記演算処理装置が有するトラップ情報変換部が、前記選択されたトラップマップに基づいて、前記第2の優先順位制御部が選択したトラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するステップを有することを特徴とする。
【0026】
また、本発明は、前記制御方法はさらに、実行ユニット状態データレジスタに、前記第1の実行ユニットの状態を表す実行ユニット状態データを格納するステップと、前記実行ユニット状態データに基づいて、前記第1及び第2のトラップ要求のいずれかを選択するステップを有することを特徴とする。また、本発明は、前記制御方法はさらに、第1の実行ユニット状態データレジスタに、前記第1の実行ユニットの状態を表す第1の実行ユニット状態データを格納するステップと、第2の実行ユニット状態データレジスタに、前記第2の実行ユニットの状態を表す第2の実行ユニット状態データを格納するステップと、前記第1及び第2の実行ユニット状態データに基づいて、前記第1又は第2のトラップ要求のいずれかを選択するステップを有することを特徴とする。
【0027】
また、本発明は、第1及び第2のオペレーティングシステムのいずれか適用される演算処理装置と、前記演算処理装置に接続されるとともに適用されたオペレーティングシステムを格納する記憶装置とを有する情報処理装置の制御方法において、前記演算処理装置が有する実行ユニットが、処理を実行し、前記処理の結果に基づいてトラップ要求を発行するステップと、前記演算処理装置が有するトラップマップ選択部が、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップのいずれかを、前記演算処理装置に適用されたオペレーティングシステムに基いて選択するステップと、前記演算処理装置が有するトラップ情報変換部が、前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するステップと、前記演算処理装置が有するインタフェース制御部が、前記トラップ情報を前記記憶装置に転送するステップを有することを特徴とする。また、本発明は、前記トラップマップ選択部が前記第1又は第2のトラップマップのいずれかを選択するステップは、トラップマップレジスタに、前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するステップと、前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するステップであることを特徴とする。
【0028】
【発明の実施の形態】
以下、図面を参照して本発明にかかる演算処理装置の実施の形態1〜14について詳細に説明する。
【0029】
(実施の形態1)
図1は、本発明にかかる実施の形態1の構成を示すブロック図である。この図において、図19の各部に対応する部分には同一の符号を付ける。この図においては、図19に示したトラップ制御部60に代えて、トラップ制御部200が設けられている。このトラップ制御部200においては、図19に示したトラップタイプエンコーダ80およびリード/ライト制御部100に代えて、トラップタイプエンコーダ210およびリード/ライト制御部260が設けられているとともに、トラップマップ選択レジスタ240およびデコーダ250が新たに設けられている。
【0030】
トラップタイプエンコーダ210は、二種類のトラップマップ2200 、トラップマップ2201 のうち予め選択された一方のトラップマップに従って、プライオリティ制御部70からのトラップ要求71を、演算処理装置で処理可能なトラップタイプデータ231にエンコードする。ここで、トラップマップ2200 および2201 は、二種類のオペレーティングシステム(以下、第1のオペレーティングシステムおよび第2のオペレーティングシステムと称する)にそれぞれ適合するものである。
【0031】
すなわち、図2に示したトラップマップ2200 は、トラップ要求71(図1参照)としてのトラップ要求710(power#on#reset)〜トラップ要求715(data#access#MMU#error)にそれぞれ一対一で対応するトラップタイプデータ(0x001)〜(0x031)との対応関係を定義するものであり、第1のオペレーティングシステムに適合するものである。
【0032】
一方、トラップマップ2201 は、トラップ要求71(図1参照)としてのトラップ要求710(power#on#reset)〜トラップ要求715(data#access#MMU#error)にそれぞれ一対一で対応し、かつトラップマップ2200 とは異なるトラップタイプデータ(0x021)〜(0x051)との対応関係を定義するものであり、第2のオペレーティングシステムに適合するものである。つまり、実施の形態1では、オペレーティングシステムの種類に応じて、適合するトラップマップを選択可能に構成されている。
【0033】
図1に戻り、マルチプレクサ230は、選択データSELA2 により、トラップマップ2200 、トラップマップ2201 のうちいずれか一方を選択する。例えば、図2に示したトラップマップ2200 が選択され、かつトラップ要求710 が入力された場合、マルチプレクサ230からは、トラップマップ2200 側のトラップタイプデータ2310 (0x001)が出力される。
【0034】
一方、トラップマップ2201 が選択され、かつトラップ要求710 が入力された場合、マルチプレクサ230からは、トラップマップ2201 側のトラップタイプデータ2310(0x021)が出力される。ここで、トラップタイプデータ2310 〜2315 のそれぞれは、図1に示したトラップタイプデータ231として、リード/ライト制御部260へ出力される。
【0035】
トラップマップ選択レジスタ240は、リード/ライト制御部260により、選択データSELA1 がライト(またはリード)される。この選択データSELA1 は、トラップマップ2200、トラップマップ2201 のうち、使用するオペレーティングシステムに適合する一方のものを選択するためのデータである。デコーダ250は、トラップマップ選択レジスタ240にライトされた選択データSELA1 をデコードし、これを選択データSELA2 としてマルチプレクサ230へ出力する。
【0036】
リード/ライト制御部260は、トラップタイプエンコーダ210からのトラップタイプデータ231をトラップタイプレジスタ110にライトした後、トラップタイプレジスタ110からトラップタイプデータ231をリードし、これをメモリ(図示略)へ転送する。また、リード/ライト制御部260は、予め設定される選択データSELA1 をトラップマップ選択レジスタ240にライトするとともに、必要に応じて、選択データSELA1 をトラップマップ選択レジスタ240からリードする。
【0037】
つぎに、上述した実施の形態1の動作について説明する。図1に示した演算処理装置が第1のオペレーティングシステムに適用される場合、リード/ライト制御部260は、上記第1のオペレーティングシステムに対応するトラップマップ2200 の選択用の選択データSELA1 をトラップマップ選択レジスタ240にライトする。この選択データSELA1 は、デコーダ250によりデコードされ、選択データSELA2 としてマルチプレクサ230へ出力される。これにより、マルチプレクサ230では、トラップマップ2200 が選択される。
【0038】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ210へ出力する。この場合、トラップ要求71は、図2に示したトラップ要求710 であるものとする。これにより、トラップタイプエンコーダ210は、トラップマップ2200 を参照して、トラップ要求710 をトラップタイプデータ2310(0x001)にエンコードした後、これをリード/ライト制御部260へ出力する。
【0039】
このトラップタイプデータ2310(0x001)は、図1に示したリード/ライト制御部260の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。なお、図2では、トラップ要求710 は、他方のトラップマップ2201 に従って、トラップタイプデータ(0x021)にエンコードされる。しかしながら、この場合、マルチプレクサ230によりトラップマップ2200 側が選択されているため、上記トラップタイプデータ(0x021)は、出力されない。
【0040】
一方、演算処理装置が第2のオペレーティングシステムに適用される場合、リード/ライト制御部260は、上記第2のオペレーティングシステムに対応するトラップマップ2201 の選択用の選択データSELA1 をトラップマップ選択レジスタ240にライトする。この選択データSELA1 は、デコーダ250によりデコードされ、選択データSELA2 としてマルチプレクサ230へ出力される。これにより、マルチプレクサ230では、トラップマップ2201 が選択される。
【0041】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71(例えば、トラップ要求710(図2参照))としてトラップタイプエンコーダ210へ出力する。これにより、トラップタイプエンコーダ210は、他方のトラップマップ2201 を参照して、トラップ要求710 をトラップタイプデータ2310(0x021)にエンコードし、これをリード/ライト制御部260へ出力する。
【0042】
このトラップタイプデータ2310(0x021)は、図1に示したリード/ライト制御部260の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。なお、図2では、トラップ要求710 は、一方のトラップマップ2200 に従って、トラップタイプデータ(0x001)にエンコードされる。しかしながら、この場合、前述とは逆に、マルチプレクサ230によりトラップマップ2201 側が選択されているため、上記トラップタイプデータ(0x001)は、出力されない。
【0043】
以上説明したように、実施の形態1によれば、複数のオペレーティングシステムにそれぞれ対応するトラップマップ2200、2201 をトラップタイプエンコーダ210に備えて、オペレーティングシステムに応じてトラップマップを可変可能な構成としたので、複数のオペレーティングシステムに安価かつ容易に演算処理装置を適用することができる。
【0044】
(実施の形態2)
さて、前述した実施の形態1では、図1に示したトラップマップ選択レジスタ240に選択データSELA1 をライトするという内部的動作に基づいて、トラップマップを選択するように構成した例について説明したが、図3に示した選択部320を設けて外部的動作に基づいてトラップマップを選択するように構成してもよい。以下では、この構成例を実施の形態2として説明する。
【0045】
図3は、本発明にかかる実施の形態2の構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付ける。この図においては、図1に示したトラップ制御部200に代えて、トラップ制御部300が設けられているとともに、選択部320が新たに設けられている。また、トラップ制御部300には、図1に示したトラップマップ選択レジスタ240およびデコーダ250に代えて、デコーダ310が設けられている。
【0046】
選択部320は、トラップ制御部300の外部機構として設けられており、選択データSELB1 を設定するためのものである。この選択データSELB1 は、トラップマップ2200、トラップマップ2201 のうち、使用するオペレーティングシステムに適合する一方のものを選択するためのデータである。
【0047】
この選択部320は、ターミナル端子321と、プルダウン抵抗323を介して接地されたターミナル端子322と、プルアップ抵抗325を介して電源に接続されたターミナル端子324と、ターミナル端子321−ターミナル端子322間またはターミナル端子321−ターミナル端子324間を接続するジャンパー線326とから構成されている。
【0048】
このジャンパー線326は、第1のオペレーティングシステムに適合するトラップマップ2200 を選択するための選択データSELB1 を設定する場合、ターミナル端子321とターミナル端子322との間に接続され、一方、第2のオペレーティングシステムに適合するトラップマップ2201 を選択するための選択データSELB1 を設定する場合、ターミナル端子321とターミナル端子324との間に接続される。トラップ制御部300において、デコーダ310は、選択データSELB1 を選択データSELB2 にデコードする。実施の形態2では、マルチプレクサ230は、選択データSELB2 により、トラップマップ2200 、トラップマップ2201 のうちいずれか一方を選択する。
【0049】
つぎに、上述した実施の形態2の動作について説明する。図3に示した演算処理装置が第1のオペレーティングシステムに適用される場合、ジャンパー線326は、ターミナル端子321−ターミナル端子322間に接続される。これにより、選択部320からは、トラップマップ2200 の選択用の選択データSELB1 がデコーダ310へ出力される。この選択データSELB1 は、デコーダ310によりデコードされ、選択データSELB2 としてマルチプレクサ230へ出力される。これにより、マルチプレクサ230では、トラップマップ2200 が選択される。
【0050】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ210へ出力する。この場合、トラップ要求71は、図2に示したトラップ要求710 であるものとする。
【0051】
以後、実施の形態1の場合と同様にして、トラップタイプエンコーダ210は、トラップマップ2200 を参照して、トラップ要求710 をトラップタイプデータ2310(0x001)にエンコードした後、これをリード/ライト制御部260へ出力する。このトラップタイプデータ2310(0x001)は、図3に示したリード/ライト制御部260の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0052】
一方、演算処理装置が第2のオペレーティングシステムに適用される場合、ジャンパー線326は、ターミナル端子321−ターミナル端子324間に接続される。これにより、選択部320からは、トラップマップ2201 の選択用の選択データSELB1 がデコーダ310へ出力される。この選択データSELB1 は、デコーダ310によりデコードされ、選択データSELB2 としてマルチプレクサ230へ出力される。これにより、マルチプレクサ230では、トラップマップ2201 が選択される。
【0053】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71(例えば、トラップ要求710(図2参照))としてトラップタイプエンコーダ210へ出力する。以後、実施の形態1の場合と同様にして、トラップタイプエンコーダ210は、他方のトラップマップ2201 を参照して、トラップ要求710 をトラップタイプデータ2310(0x021)にエンコードし、これをリード/ライト制御部260へ出力する。このトラップタイプデータ2310(0x021)は、図3に示したリード/ライト制御部260の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0054】
(実施の形態3)
さて、前述した実施の形態1では、図1に示した選択データSELA1 により、トラップマップ2200 、トラップマップ2201 のうちいずれか一方を選択する構成について説明したが、実行ユニットの2つのステータス(状態)に応じてトラップマップ2200 、トラップマップ2201 のうちいずれか一方を選択する構成としてもよい。以下では、この構成例を実施の形態3として説明する。ここでいう実行ユニットとは、図1に示した整数演算器10、浮動小数点演算器20、メモリ管理部30、プログラムカウンタ/ブランチユニット40およびCPUローカルバスI/F制御部50のそれぞれをいう。
【0055】
図4は、本発明にかかる実施の形態3の構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付ける。図4では、図1に示したメモリ管理部30に代えて、メモリ管理部400(実行ユニット)が設けられている。また、図4に示したトラップ制御部200には、図1に示したトラップマップ選択レジスタ240が設けられていない。
【0056】
メモリ管理部400は、メモリ管理部30(図1参照)と同様にして、仮想アドレス、物理アドレス相互間の変換を行うとともにキャッシュメモリ(図示略)へのアクセス制御を行い、必要に応じてトラップ要求31を出す。また、メモリ管理部400には、レジスタ410が設けられている。このレジスタ410には、メモリ管理部400のステータス(状態)を表すステータスデータSTM1 が格納される。上記ステータスとしては、メモリ管理部30の通常時に対応するステータス(以下、第1のステータスという)と、通常時以外に対応するステータス(以下、第2のステータスという)とがある。
【0057】
上記ステータスデータSTM1 は、トラップマップ2200、トラップマップ2201 のうち、メモリ管理部400のステータスに対応する一方のものを選択するためのデータである。例えば、ステータスデータSTM1 が第1のステータス(通常時)を表す場合、このステータスデータSTM1 は、トラップマップ2200 を選択するためのデータである。一方、ステータスデータSTM1 が第2のステータス(通常時以外)を表す場合、このステータスデータSTM1 は、トラップマップ2201 を選択するためのデータである。また、実施の形態3では、デコーダ250は、ステータスデータSTM1 を選択データSELA2 にデコードする。
【0058】
つぎに、上述した実施の形態3の動作について説明する。図4に示したメモリ管理部400のステータスが第1のステータス(通常時)である場合、メモリ管理部400は、レジスタ410に第1のステータスを表すステータスデータSTM1 を格納する。このステータスデータSTM1 は、デコーダ250によりデコードされ、選択データSELA2 としてマルチプレクサ230へ出力される。これにより、マルチプレクサ230では、トラップマップ2200 が選択される。
【0059】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ210へ出力する。この場合、トラップ要求71は、図2に示したトラップ要求710 であるものとする。
【0060】
以後、実施の形態1の場合と同様にして、トラップタイプエンコーダ210は、トラップマップ2200 を参照して、トラップ要求710 をトラップタイプデータ2310(0x001)にエンコードした後、これをリード/ライト制御部260へ出力する。このトラップタイプデータ2310(0x001)は、図4に示したリード/ライト制御部260の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0061】
一方、メモリ管理部400のステータスが第1のステータス(通常時)から第2のステータス(通常時以外)に変化した場合、メモリ管理部400は、レジスタ410に第2のステータスを表すステータスデータSTM1 を格納する。このステータスデータSTM1 は、デコーダ250によりデコードされ、選択データSELA2 としてマルチプレクサ230へ出力される。これにより、マルチプレクサ230では、トラップマップ2201 が選択される。
【0062】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71(例えば、トラップ要求710(図2参照))としてトラップタイプエンコーダ210へ出力する。
【0063】
以後、実施の形態1の場合と同様にして、トラップタイプエンコーダ210は、他方のトラップマップ2201 を参照して、トラップ要求710 をトラップタイプデータ2310(0x021)にエンコードし、これをリード/ライト制御部260へ出力する。このトラップタイプデータ2310(0x021)は、図4に示したリード/ライト制御部260の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0064】
なお、実施の形態3では、実行ユニットをメモリ管理部400とした例について説明したが、このメモリ管理部400以外の実行ユニット(整数演算器10、浮動小数点演算器20、プログラムカウンタ/ブランチユニット40またはCPUローカルバスI/F制御部50)にレジスタ410と同様のレジスタを設け、実行ユニットのステータスに応じてトラップマップを選択するようにしてもよい。
【0065】
以上説明したように、実施の形態3によれば、メモリ管理部400(実行ユニット)の状態に適合するトラップマップ2200、2201 をトラップタイプエンコーダ210に備えて、メモリ管理部400(実行ユニット)の状態に応じてトラップマップを可変可能な構成としたので、実行ユニットの状態に応じてきめ細かいトラップ要求の制御を行うことができる。
【0066】
(実施の形態4)
さて、前述した実施の形態1では、二種類のオペレーティングシステムに適合する図1に示した二種類のトラップマップ2200 、2201 の中から一つを選択するように構成した例について説明したが、n種類(三種類以上)のオペレーティングシステムに適合するn種類のトラップマップの中からいずれか一つを選択するように構成してもよい。以下では、この構成例を実施の形態4として説明する。
【0067】
図5は、本発明にかかる実施の形態4の構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付ける。同図においては、図1に示したトラップ制御部200に代えて、トラップ制御部500が設けられている。このトラップ制御部500においては、図1に示したトラップタイプエンコーダ210、トラップマップ選択レジスタ240、デコーダ250およびリード/ライト制御部260に代えて、トラップタイプエンコーダ510、リード/ライト制御部530、トラップマップ選択レジスタ540およびデコーダ550が設けられている。
【0068】
トラップタイプエンコーダ510は、n種類のトラップマップ2200 、2201 、・・・、220n のうちいずれか一つのトラップマップに従って、プライオリティ制御部70からのトラップ要求71を、演算処理装置で処理可能なトラップタイプデータ521にエンコードする。これらのトラップマップ2200 、2201 、・・・、220n は、n種類のオペレーティングシステム(以下、第1のオペレーティングシステム、第2のオペレーティングシステム、・・・、第nのオペレーティングシステムと称する)にそれぞれ適合するものである。
【0069】
マルチプレクサ520は、選択データSELC2 により、トラップマップ2200 、2201 、・・・、220n のうちいずれか一方を選択する。例えば、トラップマップ2201 が選択され、かつトラップ要求71が入力された場合、マルチプレクサ520からは、トラップマップ2201 に従ってエンコードされたトラップタイプデータ521が出力される。同様にして、トラップマップ220n が選択され、かつトラップ要求71が入力された場合、マルチプレクサ520からは、トラップマップ220n に従ってエンコードされたトラップタイプデータ521が出力される。
【0070】
トラップマップ選択レジスタ540は、リード/ライト制御部530により、選択データSELC1 がライト(またはリード)される。この選択データSELC1 は、トラップマップ2200、2201 、・・・、220n のうち、使用するオペレーティングシステムに適合する一つのものを選択するためのデータである。デコーダ550は、トラップマップ選択レジスタ540にライトされた選択データSELC1 をデコードし、これを選択データSELC2 としてマルチプレクサ520へ出力する。
【0071】
リード/ライト制御部530は、トラップタイプエンコーダ510からのトラップタイプデータ521をトラップタイプレジスタ110にライトした後、トラップタイプレジスタ110からトラップタイプデータ521をリードし、これをメモリ(図示略)へ転送する。また、リード/ライト制御部530は、予め設定される選択データSELC1 をトラップマップ選択レジスタ540にライトするとともに、必要に応じて、選択データSELC1 をトラップマップ選択レジスタ540からリードする。
【0072】
つぎに、上述した実施の形態4の動作について説明する。図5に示した演算処理装置が第1のオペレーティングシステムに適用される場合、リード/ライト制御部530は、上記第1のオペレーティングシステムに対応するトラップマップ2200 の選択用の選択データSELC1 をトラップマップ選択レジスタ540にライトする。この選択データSELC1 は、デコーダ550によりデコードされ、選択データSELC2 としてマルチプレクサ520へ出力される。これにより、マルチプレクサ520では、トラップマップ2200 が選択される。
【0073】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ510へ出力する。これにより、実施の形態1の場合と同様にして、トラップタイプエンコーダ510は、トラップマップ2200 を参照して、トラップ要求71をトラップタイプデータ521にエンコードした後、これをリード/ライト制御部530へ出力する。このトラップタイプデータ521は、リード/ライト制御部530の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0074】
また、演算処理装置が第nのオペレーティングシステムに適用される場合、リード/ライト制御部530は、上記第nのオペレーティングシステムに対応するトラップマップ220n の選択用の選択データSELC1 をトラップマップ選択レジスタ540にライトする。この選択データSELC1 は、デコーダ550によりデコードされ、選択データSELC2 としてマルチプレクサ520へ出力される。これにより、マルチプレクサ520では、トラップマップ220n が選択される。
【0075】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ510へ出力する。これにより、トラップタイプエンコーダ510は、トラップマップ220n を参照して、トラップ要求71をトラップタイプデータ521にエンコードし、これをリード/ライト制御部530へ出力する。このトラップタイプデータ521は、リード/ライト制御部530の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0076】
(実施の形態5)
さて、前述した実施の形態4では、図5に示したトラップマップ選択レジスタ540に選択データSELC1 をライトするという内部的動作に基づいて、トラップマップを選択するように構成した例について説明したが、前述した実施の形態2の構成例と同様にして、図6に示した選択部620を設けて外部的動作に基づいてトラップマップを選択するように構成してもよい。以下では、この構成例を実施の形態5として説明する。
【0077】
図6は、本発明にかかる実施の形態5の構成を示すブロック図である。この図において、図5の各部に対応する部分には同一の符号を付ける。この図においては、図5に示したトラップ制御部500に代えてトラップ制御部600が設けられているとともに、選択部620が新たに設けられている。また、トラップ制御部600には、図5に示したトラップマップ選択レジスタ540およびデコーダ550に代えて、デコーダ610が設けられている。
【0078】
選択部620は、トラップ制御部600の外部機構として設けられており、選択データSELD1 を設定するためのものである。この選択データSELD1 は、mビットのデータからなり、トラップマップ2200、2201 、・・・、220n のうち、使用するオペレーティングシステムに適合する一つのものを選択するためのデータである。
【0079】
この選択部620は、m個のターミナル端子6211 〜621m と、プルダウン抵抗623を介して接地されたターミナル端子622と、プルアップ抵抗625を介して電源に接続されたターミナル端子624と、ターミナル端子6211−ターミナル端子622(またはターミナル端子624)間、・・・、ターミナル端子621m−ターミナル端子622(またはターミナル端子624)間をそれぞれ接続するm本のジャンパー線3261 〜326m とから構成されている。
【0080】
実施の形態5では、これらのジャンパー線3261 〜326m の接続の組み合わせ(プルダウン抵抗623側に接続またはプルアップ抵抗625側に接続)により、mビットの選択データSELD1 を「0」、「1」表現している。たとえば、ジャンパー線6261 〜626m の全てがターミナル端子622(接地側)に接続されている場合、選択データSELD1 は、「0000・・・000」(オール0)となり、トラップマップ2200 を選択するためのデータとされる。
【0081】
つぎに、上述した実施の形態5の動作について説明する。図6に示した演算処理装置が第1のオペレーティングシステムに適用される場合、ジャンパー線6261 〜626m の全ては、ターミナル端子6211 〜621m −ターミナル端子622間に接続される。これにより、選択部620からは、トラップマップ2200 の選択用の選択データSELD1 がデコーダ610へ出力される。この選択データSELD1 は、デコーダ610によりデコードされ、選択データSELD2 としてマルチプレクサ520へ出力される。これにより、マルチプレクサ520では、トラップマップ2200 が選択される。
【0082】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ510へ出力する。これにより、トラップタイプエンコーダ510は、トラップマップ2200 を参照して、トラップ要求71をトラップタイプデータ521にエンコードした後、これをリード/ライト制御部530へ出力する。このトラップタイプデータ521は、リード/ライト制御部530の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0083】
一方、演算処理装置が第nのオペレーティングシステムに適用される場合、ジャンパー線6261 〜626m のそれぞれは、トラップマップ220n に対応する組み合わせでターミナル端子6211 〜621m −ターミナル端子622(ターミナル端子624)間に接続される。これにより、選択部620からは、トラップマップ220n の選択用の選択データSELD1 がデコーダ610へ出力される。この選択データSELD1 は、デコーダ610によりデコードされ、選択データSELD2 としてマルチプレクサ520へ出力される。これにより、マルチプレクサ520では、トラップマップ220n が選択される。
【0084】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ510へ出力する。これにより、トラップタイプエンコーダ510は、トラップマップ220n を参照して、トラップ要求71をトラップタイプデータ521にエンコードし、これをリード/ライト制御部530へ出力する。このトラップタイプデータ521は、図6に示したリード/ライト制御部530の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0085】
(実施の形態6)
さて、前述した実施の形態4では、図5に示した選択データSELC1 により、トラップマップ2200 、2201 、・・・、220n のうちいずれか一つを選択する構成について説明したが、実行ユニットのn種類のステータス(状態)に応じてトラップマップ2200 、2201 、・・・、220n のうちいずれか一つを選択する構成としてもよい。以下では、この構成例を実施の形態6として説明する。
【0086】
図7は、本発明にかかる実施の形態6の構成を示すブロック図である。この図において、図5および図4の各部に対応する部分には同一の符号を付ける。図7では、図5に示したメモリ管理部30に代えて、メモリ管理部400(実行ユニット:図4参照)が設けられている。また、図7に示したトラップ制御部700には、図5に示したトラップマップ選択レジスタ540およびデコーダ550に代えて、デコーダ710が設けられている。
【0087】
メモリ管理部400は、メモリ管理部30(図5参照)と同様にして、仮想アドレス、物理アドレス相互間の変換を行うとともにキャッシュメモリ(図示略)へのアクセス制御を行い、必要に応じてトラップ要求31を出す。また、メモリ管理部400には、レジスタ410が設けられている。このレジスタ410には、メモリ管理部400のn種類のステータス(状態)を表すステータスデータSTM1 が格納される。上記ステータスとしては、n種類の第1のステータス、第2のステータス、・・・、第nのステータスがある。
【0088】
上記ステータスデータSTM1 は、トラップマップ2200、2201 、・・・、220n のうち、メモリ管理部400のステータスに対応する一つのものを選択するためのデータである。例えば、ステータスデータSTM1 が第1のステータスを表す場合、このステータスデータSTM1 は、トラップマップ2200 を選択するためのデータである。以下、同様にして、ステータスデータSTM1 が第nのステータスを表す場合、このステータスデータSTM1 は、トラップマップ220n を選択するためのデータである。デコーダ710は、ステータスデータSTM1 を選択データSELC2 にデコードする。
【0089】
つぎに、上述した実施の形態6の動作について説明する。図7に示したメモリ管理部400のステータスが第1のステータスである場合、メモリ管理部400は、レジスタ410に第1のステータスを表すステータスデータSTM1 を格納する。このステータスデータSTM1 は、デコーダ710によりデコードされ、選択データSELC2 としてマルチプレクサ520へ出力される。これにより、マルチプレクサ520では、トラップマップ2200 が選択される。
【0090】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ510へ出力する。これにより、トラップタイプエンコーダ510は、トラップマップ2200 を参照して、トラップ要求71をトラップタイプデータ521にエンコードした後、これをリード/ライト制御部530へ出力する。このトラップタイプデータ521は、リード/ライト制御部530の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0091】
また、メモリ管理部400のステータスが第1のステータスから第nのステータスに変化した場合、メモリ管理部400は、レジスタ410に第nのステータスを表すステータスデータSTM1 を格納する。このステータスデータSTM1 は、デコーダ710によりデコードされ、選択データSELC2 としてマルチプレクサ520へ出力される。これにより、マルチプレクサ520では、トラップマップ220n が選択される。
【0092】
この状態で、整数演算器10のみからトラップ要求11が出されると、プライオリティ制御部70は、トラップ要求11をトラップ要求71としてトラップタイプエンコーダ510へ出力する。これにより、トラップタイプエンコーダ510は、トラップマップ220n を参照して、トラップ要求71をトラップタイプデータ521にエンコードし、これをリード/ライト制御部530へ出力する。このトラップタイプデータ521は、リード/ライト制御部530の制御により、トラップタイプレジスタ110にライトされた後、リードされ、メモリ(図示略)に転送される。
【0093】
なお、実施の形態6では、実行ユニットをメモリ管理部400とした例について説明したが、このメモリ管理部400以外の実行ユニット(整数演算器10、浮動小数点演算器20、プログラムカウンタ/ブランチユニット40またはCPUローカルバスI/F制御部50)にレジスタ410と同様のレジスタを設け、実行ユニットのステータスに応じてトラップマップを選択するようにしてもよい。
【0094】
(実施の形態7)
さて、前述した実施の形態1〜6では、プライオリティ制御部70(図1参照)により、整数演算器10、浮動小数点演算器20、・・・、CPUローカルバスI/F制御部50という実行ユニット毎に出される複数のトラップ要求に対してプライオリティ制御を行う構成について説明したが、実行ユニット内でもプライオリティ制御を行う構成としてもよい。以下では、この構成例を実施の形態7として説明する。
【0095】
図8は、本発明にかかる実施の形態7の構成を示すブロック図である。この図において、図19の各部に対応する部分には同一の符号を付ける。同図では、図19に示した浮動小数点演算器20に代えて、実行ユニットとしての浮動小数点演算器800が設けられている。この浮動小数点演算器800は、浮動小数点演算器20(図19参照)と同様にして、浮動小数点演算コマンドに従って、浮動小数点演算を実行する演算器であり、必要に応じてトラップ要求21を出す。
【0096】
また、浮動小数点演算器800は、レジスタ810、デコーダ820およびサブプライオリティ制御部830を備えている。図9に示したレジスタ810には、浮動小数点演算器800のステータス(状態)を表すステータスデータSTF1 が格納される。このステータスの例としては、浮動小数点演算器800が、IEEE(Institute of Electrical and Electronics Engineers)754準拠の演算を行う状態にあるか否かがある。
【0097】
浮動小数点演算器800がIEEE754準拠の演算を行う状態にある場合、レジスタ810には、ステータスデータSTF1 としてieee#mode=1が格納される。一方、浮動小数点演算器800がIEEE754準拠以外の演算を行う状態にある場合、レジスタ810には、ステータスデータSTF1 としてieee#mode=0が格納される。デコーダ820は、ステータスデータSTF1 をデコードし、これを選択データSP1 として出力する。
【0098】
この選択データSP1 は、トラップ要求8400(fp#exception#ieee#754)、トラップ要求8401(fp#exception#other)のうちいずれか一方をマルチプレクサ832で選択するためのデータである。具体的には、ステータスデータSTF1 がieee#mode=1である場合、マルチプレクサ832は、プライオリティエンコーダ8310 の出力であるトラップ要求8400 を選択し、これをトラップ要求21(図8参照)としてプライオリティ制御部70へ出力する。
【0099】
一方、ステータスデータSTF1 がieee#mode=0である場合、マルチプレクサ832は、プライオリティエンコーダ8311 の出力であるトラップ要求8401 を選択し、これをトラップ要求21(図8参照)としてプライオリティ制御部70へ出力する。ここで、トラップ要求8400 は、IEEE754準拠のものであり、トラップ要求8401 は、IEEE754準拠以外のものである。
【0100】
プライオリティエンコーダ8310 は、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が入力された場合、トラップ要求8400 を優先的にエンコードする。一方、プライオリティエンコーダ8311 は、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が入力された場合、トラップ要求8401 を優先的にエンコードする。
【0101】
つぎに、上述した実施の形態7の動作について説明する。図9において、IEEE754準拠の演算を行う場合には、浮動小数点演算器800は、レジスタ810にステータスデータSTF1 としてieee#mode=1を格納する。このステータスデータSTF1 は、デコーダ820によりデコードされ、選択データSP1 としてマルチプレクサ832へ出力される。これにより、マルチプレクサ832では、プライオリティエンコーダ8310 側が選択される。
【0102】
この状態で、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が出されると、プライオリティエンコーダ8310 は、トラップ要求8400 を優先的にエンコードする。一方、プライオリティエンコーダ8311 は、トラップ要求8401 を優先的にエンコードする。
【0103】
この場合、マルチプレクサ832によりプライオリティエンコーダ8310 側が選択されているため、マルチプレクサ832からは、トラップ要求8400 がトラップ要求21として図8に示したプライオリティ制御部70へ出力される。以後、前述した動作を経て、トラップ要求21は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0104】
また、図9において、IEEE754準拠以外の演算を行う場合には、浮動小数点演算器800は、レジスタ810にステータスデータSTF1 としてieee#mode=0を格納する。このステータスデータSTF1 は、デコーダ820によりデコードされ、選択データSP1 としてマルチプレクサ832へ出力される。これにより、マルチプレクサ832では、プライオリティエンコーダ8311 側が選択される。
【0105】
この状態で、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が出されると、プライオリティエンコーダ8310 により、トラップ要求8400 が優先的にエンコードされる一方、プライオリティエンコーダ8311 によりトラップ要求8401 が優先的にエンコードされる。
【0106】
この場合、マルチプレクサ832によりプライオリティエンコーダ8311 側が選択されているため、マルチプレクサ832からは、トラップ要求8401 がトラップ要求21として図8に示したプライオリティ制御部70へ出力される。以後、前述した動作を経て、トラップ要求21は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0107】
なお、実施の形態7では、実行ユニットを浮動小数点演算器800とした例について説明したが、この浮動小数点演算器800以外の実行ユニット(整数演算器10、メモリ管理部30、プログラムカウンタ/ブランチユニット40またはCPUローカルバスI/F制御部50)に浮動小数点演算器800と同様の機能を持たせ、実行ユニットのステータスに応じてトラップ要求をプライオリティ制御するようにしてもよい。
【0108】
以上説明したように、実施の形態7によれば、サブプライオリティ制御部830により、浮動小数点演算器800(実行ユニット)内における複数のトラップ要求8400 、8401 の中から、サブプライオリティ制御部830(実行ユニット)の状態に対応するプライオリティに基づいて選択を行うようにしたので、実行ユニット側でトラップ要求に対するプライオリティ制御をきめ細かく実行することができる。
【0109】
(実施の形態8)
さて、前述した実施の形態7では、図8に示した浮動小数点演算器800(実行ユニット)内で、二つのトラップ要求8400 、8401 に対してプライオリティ制御を実行する構成例について説明したが、n種類(三種類以上)のトラップ要求に対してプライオリティ制御を実行する構成としてもよい。以下では、この構成例を実施の形態8として説明する。
【0110】
図10は、本発明にかかる実施の形態8の構成を示すブロック図である。この図において、図19の各部に対応する部分には同一の符号を付ける。同図では、図19に示したメモリ管理部30に代えて、実行ユニットとしてのメモリ管理部900が設けられている。このメモリ管理部900は、メモリ管理部30(図19参照)と同様にして、仮想アドレス、物理アドレス相互間の変換を行うとともにキャッシュメモリ(図示略)へのアクセス制御を行い、必要に応じてトラップ要求31を出す。
【0111】
また、メモリ管理部900は、レジスタ910、デコーダ920およびサブプライオリティ制御部930を備えている。このレジスタ910には、メモリ管理部900のn!(nの階乗)のステータス(状態)を表すステータスデータSTM1 が格納される。デコーダ920は、ステータスデータSTM1 をデコードし、これを選択データSP2 として出力する。
【0112】
図11に示した選択データSP2 は、レジスタ910(図10参照)のステータス(状態)に対応させて、n!(nの階乗)個のプライオリティエンコーダ9310 〜931n! のそれぞれの出力のうち、言い換えれば、n種類のトラップ要求9400 〜940n のうちいずれか一つをマルチプレクサ932で選択するためのデータである。プライオリティエンコーダ9310 〜931n! のそれぞれは、トラップ要求9400 〜940n におけるn!種類のプライオリティ順位に従って、同一時刻に複数のトラップ要求があった場合にプライオリティが高いトラップ要求をエンコードする。
【0113】
つぎに、上述した実施の形態8の動作について説明する。図10において、メモリ管理部900は、あるステータス(第1のステータスと称する)の場合、この第1のステータスに対応するステータスデータSTM1 をレジスタ910に格納する。このステータスデータSTM1 は、デコーダ920によりデコードされ、選択データSP2 としてマルチプレクサ932へ出力される。これにより、マルチプレクサ932では、図11に示したプライオリティエンコーダ9310 側が選択される。
【0114】
この状態で、同一時刻に、例えば、トラップ要求9400 およびトラップ要求9401 の双方が出されると、プライオリティエンコーダ9310 は、トラップ要求9400 を優先的にエンコードする。この場合、マルチプレクサ932によりプライオリティエンコーダ9310 側が選択されているため、マルチプレクサ932からは、トラップ要求9400 がトラップ要求31として図10に示したプライオリティ制御部70へ出力される。以後、前述した動作を経て、トラップ要求31は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0115】
また、図10において、メモリ管理部900のステータスが上述した第1のステータスから第2のステータスに変更されると、メモリ管理部900は、第2のステータスに対応するステータスデータSTM1 をレジスタ910に格納する。このステータスデータSTM1 は、デコーダ920によりデコードされ、選択データSP2 としてマルチプレクサ932へ出力される。これにより、マルチプレクサ932では、プライオリティエンコーダ9311 側が選択される。
【0116】
この状態で、同一時刻に、例えば、トラップ要求9400 およびトラップ要求9401 の双方が出されると、プライオリティエンコーダ9311 は、トラップ要求9401 を優先的にエンコードする。この場合、マルチプレクサ932によりプライオリティエンコーダ9311 側が選択されているため、マルチプレクサ932からは、トラップ要求9401 がトラップ要求31として図10に示したプライオリティ制御部70へ出力される。以後、前述した動作を経て、トラップ要求31は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0117】
なお、実施の形態8では、実行ユニットをメモリ管理部900とした例について説明したが、このメモリ管理部900以外の実行ユニット(整数演算器10、浮動小数点演算器20、プログラムカウンタ/ブランチユニット40またはCPUローカルバスI/F制御部50)にメモリ管理部900と同様の機能を持たせ、実行ユニットのステータスに応じてトラップ要求をプライオリティ制御するようにしてもよい。
【0118】
(実施の形態9)
さて、前述した実施の形態7では、図8に示したように、自実行ユニット(この場合、浮動小数点演算器800)のステータスに基づいてトラップ要求のプライオリティ制御を行う構成例について説明したが、自実行ユニット以外の他実行ユニットのステータスに基づいて自実行ユニット内でプライオリティ制御を行うように構成してもよい。以下では、この構成例を実施の形態9として説明する。
【0119】
図12は、本発明にかかる実施の形態9の構成を示すブロック図である。この図において、図19の各部に対応する部分には同一の符号を付ける。同図では、図19に示したプログラムカウンタ/ブランチユニット40およびメモリ管理部30に代えて、自実行ユニットとしてのプログラムカウンタ/ブランチユニット1000、および他実行ユニットとしてのメモリ管理部900が設けられている。
【0120】
メモリ管理部900は、仮想アドレス、物理アドレス相互間の変換を行うとともにキャッシュメモリ(図示略)へのアクセス制御を行い、必要に応じてトラップ要求31を出す。また、メモリ管理部900には、レジスタ910が設けられている。このレジスタ910には、メモリ管理部900のステータス(状態)を表すステータスデータSTM1 が格納される。上記ステータスとしては、メモリ管理部900の通常時に対応するステータス(以下、第1のステータスという)と、通常時以外に対応するステータス(以下、第2のステータスという)とがある。
【0121】
プログラムカウンタ/ブランチユニット1000は、実行プログラムをカウントするとともに、プログラムの分岐命令の分岐アドレスの予測を行うものであり、必要に応じてトラップ要求41を出す。また、プログラムカウンタ/ブランチユニット1000は、デコーダ1010およびサブプライオリティ制御部1020を備えている。デコーダ1010は、ステータスデータSTM1 をデコードし、これを選択データSP3 として出力する。
【0122】
この選択データSP3 は、メモリ管理部900のステータスに応じて、トラップ要求10300、トラップ要求10301 のうちいずれか一方をサブプライオリティ制御部1020で選択するためのデータである。このサブプライオリティ制御部1020は、前述したサブプライオリティ制御部830(図9参照)と同様の構成とされている。
【0123】
具体的には、選択データSP3 (ステータスデータSTM1 )が第1のステータスに対応する場合、サブプライオリティ制御部1020は、トラップ要求10300 を選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。一方、選択データSP3(ステータスデータSTM1 )が第2のステータスに対応する場合、サブプライオリティ制御部1020は、トラップ要求10301 を選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。
【0124】
つぎに、上述した実施の形態9の動作について説明する。図12において、メモリ管理部900(他実行ユニット)のステータスが第1のステータスである場合、メモリ管理部900は、上記第1のステータスに対応するステータスデータSTM1 をレジスタ910に格納する。ステータスデータSTM1 は、プログラムカウンタ/ブランチユニット1000(自実行ユニット)のデコーダ1010によりデコードされ、選択データSP3 としてサブプライオリティ制御部1020に入力される。
【0125】
この状態で、同一時刻にトラップ要求10300 およびトラップ要求10301 の双方が出されると、サブプライオリティ制御部1020は、選択データSP3 に従って、トラップ要求10300 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0126】
また、メモリ管理部900(他実行ユニット)のステータスが第1のステータスから第2のステータスに変化した場合、メモリ管理部900は、上記第2のステータスに対応するステータスデータSTM1 をレジスタ910に格納する。ステータスデータSTM1 は、プログラムカウンタ/ブランチユニット1000(自実行ユニット)のデコーダ1010によりデコードされ、選択データSP3 としてサブプライオリティ制御部1020に入力される。
【0127】
この状態で、同一時刻にトラップ要求10300 およびトラップ要求10301 の双方が出されると、サブプライオリティ制御部1020は、選択データSP3 に従って、トラップ要求10301 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0128】
なお、実施の形態9では、自実行ユニットをプログラムカウンタ/ブランチユニット1000とし、他実行ユニットをメモリ管理部900とした例について説明したが、これらの自実行ユニットおよび他実行ユニットの機能を整数演算器10、浮動小数点演算器20、CPUローカルバスI/F制御部50等に持たせ、他実行ユニットのステータスに応じて自実行ユニット内でトラップ要求をプライオリティ制御するようにしてもよい。
【0129】
以上説明したように、実施の形態9によれば、サブプライオリティ制御部1020により、プログラムカウンタ/ブランチユニット1000(自実行ユニット)内における複数のトラップ要求10300 、10301 の中から、メモリ管理部900(他実行ユニット)の状態に対応するプライオリティに基づいて選択を行うようにしたので、プログラムカウンタ/ブランチユニット1000(自実行ユニット)側でトラップ要求に対するプライオリティ制御をきめ細かく実行することができる。
【0130】
(実施の形態10)
さて、前述した実施の形態9では、図12に示したように、他実行ユニット(この場合、メモリ管理部900)のステータスに基づいて、自実行ユニット(この場合、プログラムカウンタ/ブランチユニット1000)内で二種類のトラップ要求8400 および8401 のプライオリティ制御を行う構成例について説明したが、他実行ユニットのステータスに基づいて、自実行ユニット内でn種類(三種類以上)のトラップ要求のプライオリティ制御を行うように構成してもよい。以下では、この構成例を実施の形態10として説明する。
【0131】
図13は、本発明にかかる実施の形態10の構成を示すブロック図である。この図において、図12の各部に対応する部分には同一の符号を付ける。同図では、図12に示したプログラムカウンタ/ブランチユニット1000に代えて、自実行ユニットとしてのプログラムカウンタ/ブランチユニット1100が設けられている。
【0132】
実施の形態10では、メモリ管理部900のレジスタ910には、メモリ管理部900の複数(少なくとも3以上)のステータス(状態)を表すステータスデータSTM1 が格納される。上記ステータスとしては、第1のステータス、第2のステータス、・・・がある。プログラムカウンタ/ブランチユニット1100は、実行プログラムをカウントするとともに、プログラムの分岐命令の分岐アドレスの予測を行うものであり、必要に応じてトラップ要求41を出す。また、プログラムカウンタ/ブランチユニット1100は、デコーダ1110およびサブプライオリティ制御部1120を備えている。デコーダ1110は、ステータスデータSTM1 をデコードし、これを選択データSP4 として出力する。
【0133】
この選択データSP4 は、メモリ管理部900のステータスに応じて、n種類のトラップ要求11300、11301 、・・・、1130n のうちいずれか一つをサブプライオリティ制御部1120で選択するためのデータである。このサブプライオリティ制御部1120は、前述したサブプライオリティ制御部930(図10参照)と同様の構成とされている。例えば、選択データSP4 (ステータスデータSTM1 )が第1のステータスに対応する場合、サブプライオリティ制御部1120は、トラップ要求11300 を選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。
【0134】
つぎに、上述した実施の形態10の動作について説明する。図13において、メモリ管理部900(他実行ユニット)のステータスが第1のステータスである場合、メモリ管理部900は、上記第1のステータスに対応するステータスデータSTM1 をレジスタ910に格納する。ステータスデータSTM1 は、プログラムカウンタ/ブランチユニット1100(自実行ユニット)のデコーダ1110によりデコードされ、選択データSP4 としてサブプライオリティ制御部1120に入力される。
【0135】
この状態で、同一時刻にトラップ要求11300 およびトラップ要求11301 の双方が出されると、サブプライオリティ制御部1120は、選択データSP4 に従って、トラップ要求11300 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0136】
また、メモリ管理部900(他実行ユニット)のステータスが第1のステータスから第2のステータスに変化した場合、メモリ管理部900は、上記第2のステータスに対応するステータスデータSTM1 をレジスタ910に格納する。ステータスデータSTM1 は、プログラムカウンタ/ブランチユニット1100(自実行ユニット)のデコーダ1110によりデコードされ、選択データSP4 としてサブプライオリティ制御部1120に入力される。
【0137】
この状態で、同一時刻にトラップ要求11300 およびトラップ要求11301 の双方が出されると、サブプライオリティ制御部1120は、選択データSP4 に従って、トラップ要求11301 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0138】
なお、実施の形態10では、自実行ユニットをプログラムカウンタ/ブランチユニット1100とし、他実行ユニットをメモリ管理部900とした例について説明したが、これらの自実行ユニットおよび他実行ユニットの機能を整数演算器10、浮動小数点演算器20、CPUローカルバスI/F制御部50等に持たせ、他実行ユニットのステータスに応じて自実行ユニット内でトラップ要求をプライオリティ制御するようにしてもよい。
【0139】
(実施の形態11)
さて、前述した実施の形態7では、図8に示したように、自実行ユニット(この場合、浮動小数点演算器800)のステータスに基づいてトラップ要求のプライオリティ制御を行う構成例について説明したが、自実行ユニットのステータスに加えて、他実行ユニットのステータスに基づいて自実行ユニット内でプライオリティ制御を行うように構成してもよい。以下では、この構成例を実施の形態11として説明する。
【0140】
図14は、本発明にかかる実施の形態11の構成を示すブロック図である。この図において、図8の各部に対応する部分には同一の符号を付ける。同図では、図8に示した浮動小数点演算器800およびプログラムカウンタ/ブランチユニット40に代えて、自実行ユニットとしての浮動小数点演算器1300、および他実行ユニットとしてのプログラムカウンタ/ブランチユニット1200が設けられている。
【0141】
プログラムカウンタ/ブランチユニット1200は、実行プログラムをカウントするとともに、プログラムの分岐命令の分岐アドレスの予測を行うものであり、必要に応じてトラップ要求41を出す。また、プログラムカウンタ/ブランチユニット1200には、図15に示したレジスタ1210が設けられている。このレジスタ1210には、プログラムカウンタ/ブランチユニット1200のステータス(状態)を表すステータスデータSTP1 が格納される。
【0142】
例えば、プログラムカウンタ/ブランチユニット1200がIEEE754準拠の処理を行う状態にある場合、レジスタ1210には、ステータスデータSTP1 としてieee#mode1=1が格納される。一方、プログラムカウンタ/ブランチユニット1200がIEEE754準拠以外の処理を行う状態にある場合、レジスタ1210には、ステータスデータSTP1 としてieee#mode1=0が格納される。
【0143】
浮動小数点演算器1300は、浮動小数点演算コマンドに従って、浮動小数点演算を実行する演算器であり、必要に応じてトラップ要求21を出す。この浮動小数点演算器1300は、レジスタ810、デコーダ1310およびサブプライオリティ制御部1320を備えている。レジスタ810には、浮動小数点演算器1300のステータス(状態)を表すステータスデータSTF1 が格納される。このステータスの例としては、浮動小数点演算器1300が、IEEE754準拠の演算を行う状態にあるか否かがある。
【0144】
浮動小数点演算器1300がIEEE754準拠の演算を行う状態にある場合、レジスタ810には、ステータスデータSTF1 としてieee#mode2=1が格納される。一方、浮動小数点演算器1300がIEEE754準拠以外の演算を行う状態にある場合、レジスタ810には、ステータスデータSTF1 としてieee#mode2=0が格納される。
【0145】
デコーダ1310は、自実行ユニットとしての浮動小数点演算器1300のレジスタ810からのステータスデータSTF1 または他実行ユニットとしてのプログラムカウンタ/ブランチユニット1200のレジスタ1210からのステータスデータSTP1 をデコードし、これを選択データSP5 として出力する。
【0146】
この選択データSP5 は、トラップ要求8400(fp#exception#ieee#754)、トラップ要求8401(fp#exception#other)のうちいずれか一方をマルチプレクサ1322で選択するためのデータである。具体的には、ステータスデータSTP1 がieee#mode1=1、およびステータスデータSTF1 がieee#mode2=1である場合、マルチプレクサ1322は、プライオリティエンコーダ13210 の出力であるトラップ要求8400 を選択し、これをトラップ要求21(図14参照)としてプライオリティ制御部70へ出力する。
【0147】
一方、ステータスデータSTP1 がieee#mode1=0、およびステータスデータSTF1 がieee#mode2=0である場合、マルチプレクサ1322は、プライオリティエンコーダ13211 の出力であるトラップ要求8401 を選択し、これをトラップ要求21(図14参照)としてプライオリティ制御部70へ出力する。ここで、トラップ要求8400 は、IEEE754準拠のものであり、トラップ要求8401 は、IEEE754準拠以外のものである。
【0148】
プライオリティエンコーダ13210 は、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が入力された場合、トラップ要求8400 を優先的にエンコードする。一方、プライオリティエンコーダ13211 は、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が入力された場合、トラップ要求8401 を優先的にエンコードする。
【0149】
つぎに、上述した実施の形態11の動作について説明する。図15において、IEEE754準拠の処理を行う場合には、プログラムカウンタ/ブランチユニット1200は、レジスタ1210にステータスデータSTP1 としてieee#mode1=1を格納する。同様にして、IEEE754準拠の演算を行う場合には、浮動小数点演算器1300は、レジスタ810にステータスデータSTF1 としてieee#mode2=1を格納する。
【0150】
これらのステータスデータSTP1 およびステータスデータSTF1 は、デコーダ1310によりデコードされ、選択データSP5 としてマルチプレクサ1322へ出力される。これにより、マルチプレクサ1322では、プライオリティエンコーダ13210 側が選択される。
【0151】
この状態で、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が出されると、プライオリティエンコーダ13210 は、トラップ要求8400 を優先的にエンコードする。一方、プライオリティエンコーダ13211 は、トラップ要求8401 を優先的にエンコードする。
【0152】
この場合、マルチプレクサ1322によりプライオリティエンコーダ13210 側が選択されているため、マルチプレクサ1322からは、トラップ要求8400 がトラップ要求21として図14に示したプライオリティ制御部70へ出力される。以後、前述した動作を経て、トラップ要求21は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0153】
また、図15において、IEEE準拠以外の処理を行う場合には、プログラムカウンタ/ブランチユニット1200は、レジスタ1210にステータスデータSTP1 としてieee#mode1=0を格納する。同様にして、IEEE754準拠以外の演算を行う場合には、浮動小数点演算器1300は、レジスタ810にステータスデータSTF1 としてieee#mode2=0を格納する。
【0154】
これらのステータスデータSTP1 およびステータスデータSTF1 は、デコーダ1310によりデコードされ、選択データSP5 としてマルチプレクサ1322へ出力される。これにより、マルチプレクサ1322では、プライオリティエンコーダ13211 側が選択される。
【0155】
この状態で、同一時刻にトラップ要求8400 およびトラップ要求8401 の双方が出されると、プライオリティエンコーダ13210 は、トラップ要求8400 を優先的にエンコードする。一方、プライオリティエンコーダ13211 は、トラップ要求8401 を優先的にエンコードする。
【0156】
この場合、マルチプレクサ1322によりプライオリティエンコーダ13211 側が選択されているため、マルチプレクサ1322からは、トラップ要求8401 がトラップ要求21として図14に示したプライオリティ制御部70へ出力される。以後、前述した動作を経て、トラップ要求21は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0157】
なお、実施の形態11では、図14に示したように、自実行ユニットを浮動小数点演算器1300とし、他実行ユニットをプログラムカウンタ/ブランチユニット1200とした例について説明したが、これらの自実行ユニットおよび他実行ユニットの機能を整数演算器10、メモリ管理部30、CPUローカルバスI/F制御部50等に持たせ、自実行ユニットのステータスおよび他実行ユニットのステータスに応じて自実行ユニット内でトラップ要求をプライオリティ制御するようにしてもよい。
【0158】
以上説明したように、実施の形態11によれば、サブプライオリティ制御部1320により、浮動小数点演算器1300(自実行ユニット)内における複数のトラップ要求8400 、8401 の中から、プログラムカウンタ/ブランチユニット1200(他実行ユニット)の状態および浮動小数点演算器1300(自実行ユニット)の状態に対応するプライオリティに基づいて選択を行うようにしたので、浮動小数点演算器1300(自実行ユニット)側でトラップ要求に対するプライオリティ制御をきめ細かく実行することができる。
【0159】
(実施の形態12)
さて、前述した実施の形態11では、図14に示した浮動小数点演算器1300(自実行ユニット)内で、二つのトラップ要求8400 、8401 に対してプライオリティ制御を実行する構成例について説明したが、n種類(三種類以上)のトラップ要求に対してプライオリティ制御を実行する構成としてもよい。以下では、この構成例を実施の形態12として説明する。
【0160】
図16は、本発明にかかる実施の形態12の構成を示すブロック図である。この図において、図19の各部に対応する部分には同一の符号を付ける。同図では、図19に示したプログラムカウンタ/ブランチユニット40に代えて、自実行ユニットとしてのプログラムカウンタ/ブランチユニット1400が設けられている。さらに、同図では、図19に示したメモリ管理部30に代えて、他実行ユニットとしてのメモリ管理部400が設けられている。
【0161】
このメモリ管理部400は、メモリ管理部30(図19参照)と同様にして、仮想アドレス、物理アドレス相互間の変換を行うとともにキャッシュメモリ(図示略)へのアクセス制御を行い、必要に応じてトラップ要求31を出す。このメモリ管理部400のレジスタ410には、メモリ管理部400の複数(少なくとも3以上)のステータス(状態)を表すステータスデータSTM1 が格納される。上記ステータスとしては、複数種類ある。
【0162】
プログラムカウンタ/ブランチユニット1400は、実行プログラムをカウントするとともに、プログラムの分岐命令の分岐アドレスの予測を行うものであり、必要に応じてトラップ要求41を出す。また、プログラムカウンタ/ブランチユニット1400は、レジスタ1410、デコーダ1420およびサブプライオリティ制御部1430を備えている。レジスタ1410には、プログラムカウンタ/ブランチユニット1400の複数(少なくとも3以上)のステータス(状態)を表すステータスデータSTP2 が格納される。上記ステータスとしては、複数種類ある。
【0163】
デコーダ1420は、ステータスデータSTM1 およびステータスデータSTP2 をデコードし、これを選択データSP6 として出力する。この選択データSP6 は、メモリ管理部400のステータスとプログラムカウンタ/ブランチユニット1400のステータスとの組み合わせ(例えば、第1の組み合わせ、第2の組み合わせ、・・・)に応じて、n種類のトラップ要求14400、14401 、・・・、1440n のうちいずれか一つをサブプライオリティ制御部1430で選択するためのデータである。
【0164】
このサブプライオリティ制御部1430は、前述したサブプライオリティ制御部930(図10参照)と同様の構成とされている。例えば、選択データSP6 (ステータスデータSTM1 )が第1の組み合わせに対応する場合、サブプライオリティ制御部1430は、トラップ要求14400 を選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。
【0165】
つぎに、上述した実施の形態12の動作について説明する。図16において、メモリ管理部400(他実行ユニット)は、現在のステータスに対応するステータスデータSTM1 をレジスタ410に格納する。同様にして、プログラムカウンタ/ブランチユニット1400(自実行ユニット)は、現在のステータスに対応するステータスデータSTP2 をレジスタ1410に格納する。これらのステータスデータSTM1 およびステータスデータSTP2 は、プログラムカウンタ/ブランチユニット1400(自実行ユニット)のデコーダ1420によりデコードされ、選択データSP6 としてサブプライオリティ制御部1430に入力される。
【0166】
この状態で、同一時刻にトラップ要求14400 およびトラップ要求14401 の双方が出されると、サブプライオリティ制御部1430は、選択データSP6 に従って、トラップ要求14400 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0167】
また、メモリ管理部400(他実行ユニット)のステータスが別のステータスに変化した場合、メモリ管理部400は、上記別のステータスに対応するステータスデータSTM1 をレジスタ410に格納する。同様にして、プログラムカウンタ/ブランチユニット1400(自実行ユニット)のステータスが別のステータスに変化した場合、プログラムカウンタ/ブランチユニット1400は、上記別のステータスに対応するステータスデータSTP2 をレジスタ1410に格納する。
【0168】
これらのステータスデータSTM1 およびステータスデータSTP2 は、プログラムカウンタ/ブランチユニット1400(自実行ユニット)のデコーダ1420によりデコードされ、選択データSP6 としてサブプライオリティ制御部1430に入力される。
【0169】
この状態で、同一時刻にトラップ要求14400 およびトラップ要求14401 の双方が出されると、サブプライオリティ制御部1430は、選択データSP6 に従って、トラップ要求14401 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0170】
なお、実施の形態12では、自実行ユニットをプログラムカウンタ/ブランチユニット1400とし、他実行ユニットをメモリ管理部400とした例について説明したが、これらの自実行ユニットおよび他実行ユニットの機能を整数演算器10、浮動小数点演算器20、CPUローカルバスI/F制御部50等に持たせ、他実行ユニットのステータスおよび自実行ユニットのステータスに応じて自実行ユニット内でトラップ要求をプライオリティ制御するようにしてもよい。
【0171】
(実施の形態13)
さて、前述した実施の形態11では、図14に示した他実行ユニットのステータスとして、一つのプログラムカウンタ/ブランチユニット1200のステータスを利用した構成例について説明したが、複数の他実行ユニットのそれぞれのステータスを利用する構成としてもよい。以下では、この構成例を実施の形態13として説明する。
【0172】
図17は、本発明にかかる実施の形態13の構成を示すブロック図である。この図において、図19の各部に対応する部分には同一の符号を付ける。同図では、図19に示した整数演算器10、浮動小数点演算器20、メモリ管理部30、プログラムカウンタ/ブランチユニット40、CPUローカルバスI/F制御部50に代えて、整数演算器1500、浮動小数点演算器1600、メモリ管理部1700、プログラムカウンタ/ブランチユニット1800、CPUローカルバスI/F制御部1900が設けられている。
【0173】
実施の形態13では、プログラムカウンタ/ブランチユニット1800は、自実行ユニットとして機能し、その他の整数演算器1500、浮動小数点演算器1600、メモリ管理部1700およびCPUローカルバスI/F制御部1900は、他実行ユニットとして機能する。
【0174】
これらの整数演算器1500、浮動小数点演算器1600、メモリ管理部1700、プログラムカウンタ/ブランチユニット1800およびCPUローカルバスI/F制御部1900の基本的な機能は、整数演算器10、浮動小数点演算器20、メモリ管理部30、プログラムカウンタ/ブランチユニット40およびCPUローカルバスI/F制御部50の機能と同様である。
【0175】
従って、整数演算器1500、浮動小数点演算器1600、メモリ管理部1700、プログラムカウンタ/ブランチユニット1800およびCPUローカルバスI/F制御部1900からは、必要に応じてトラップ要求11、トラップ要求21、トラップ要求31、トラップ要求41およびトラップ要求51が出される。
【0176】
ただし、整数演算器1500は、レジスタ1510を備えている。このレジスタ1510には、整数演算器1500のステータス(状態)を表すステータスデータSTIが格納される。浮動小数点演算器1600は、レジスタ1610を備えている。このレジスタ1610には、浮動小数点演算器1600のステータス(状態)を表すステータスデータSTFが格納される。メモリ管理部1700は、レジスタ1710を備えている。このレジスタ1710には、メモリ管理部1700のステータス(状態)を表すステータスデータSTMが格納される。
【0177】
CPUローカルバスI/F制御部1900は、レジスタ1910を備えている。このレジスタ1910には、CPUローカルバスI/F制御部1900のステータス(状態)を表すステータスデータSTC が格納される。プログラムカウンタ/ブランチユニット1800は、レジスタ1810、デコーダ1820およびサブプライオリティ制御部1830を備えている。レジスタ1810には、プログラムカウンタ/ブランチユニット1800のステータス(状態)を表すステータスデータSTPが格納される。
【0178】
デコーダ1820は、ステータスデータSTI、ステータスデータSTF、ステータスデータSTM、ステータスデータSTCおよびステータスデータSTPをデコードし、これを選択データSP7 として出力する。この選択データSP7 は、上述したステータスデータSTI、・・、およびステータスデータSTPの組み合わせ(例えば、第1の組み合わせ、第2の組み合わせ)に応じて、トラップ要求18400、18401 のうちいずれか一方をサブプライオリティ制御部1830で選択するためのデータである。
【0179】
このサブプライオリティ制御部1830は、前述したサブプライオリティ制御部830(図9参照)と同様の構成とされている。例えば、選択データSP7 が第1の組み合わせに対応する場合、サブプライオリティ制御部1830は、トラップ要求18400 を選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。一方、選択データSP7 が第2の組み合わせに対応する場合、サブプライオリティ制御部1830は、トラップ要求18401 を選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。
【0180】
つぎに、上述した実施の形態13の動作について説明する。図17において、他実行ユニットである整数演算器1500、浮動小数点演算器1600、メモリ管理部1700およびCPUローカルバスI/F制御部1900は、それぞれの現在のステータスに対応するステータスデータSTI、ステータスデータSTF、ステータスデータSTM、ステータスデータSTCをレジスタ1510、レジスタ1610、レジスタ1710およびレジスタ1910に格納する。同様にして、プログラムカウンタ/ブランチユニット1800(自実行ユニット)は、現在のステータスに対応するステータスデータSTPをレジスタ1810に格納する。
【0181】
これらのステータスデータSTI、ステータスデータSTF、ステータスデータSTM、ステータスデータSTCおよびステータスデータSTPは、プログラムカウンタ/ブランチユニット1800(自実行ユニット)のデコーダ1820によりデコードされ、選択データSP7 としてサブプライオリティ制御部1830に入力される。この場合、ステータスデータの組み合わせは、第1の組み合わせであるものとする。
【0182】
この状態で、同一時刻にトラップ要求18400 およびトラップ要求18401 の双方が出されると、サブプライオリティ制御部1830は、選択データSP7 に従って、トラップ要求18400 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0183】
また、整数演算器1500、浮動小数点演算器1600、メモリ管理部1700、プログラムカウンタ/ブランチユニット1800およびCPUローカルバスI/F制御部1900のそれぞれのステータスが別のステータスに変化した場合、それぞれは、別のステータスを各レジスタに格納する。
【0184】
これらの別のステータスデータSTI、・・・、STC、STPは、プログラムカウンタ/ブランチユニット1800(自実行ユニット)のデコーダ1820によりデコードされ、選択データSP7 としてサブプライオリティ制御部1830に入力される。この場合、ステータスデータの組み合わせは、第2の組み合わせであるものとする。
【0185】
この状態で、同一時刻にトラップ要求18400 およびトラップ要求18401 の双方が出されると、サブプライオリティ制御部1830は、選択データSP7 に従って、トラップ要求18401 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0186】
なお、実施の形態13では、自実行ユニットをプログラムカウンタ/ブランチユニット1800とした例について説明したが、プログラムカウンタ/ブランチユニット1800の機能を整数演算器1500、浮動小数点演算器1600、メモリ管理部1700またはCPUローカルバスI/F制御部1900等に持たせるようにしてもよい。
【0187】
(実施の形態14)
さて、前述した実施の形態13では、図17に示したプログラムカウンタ/ブランチユニット1800(自実行ユニット)内で、二つのトラップ要求18400 、18401 に対してプライオリティ制御を実行する構成例について説明したが、n種類(三種類以上)のトラップ要求に対してプライオリティ制御を実行する構成としてもよい。以下では、この構成例を実施の形態14として説明する。
【0188】
図18は、本発明にかかる実施の形態14の構成を示すブロック図である。この図において、図17の各部に対応する部分には同一の符号を付ける。同図では、図17に示したプログラムカウンタ/ブランチユニット1800に代えて、自実行ユニットとしてのプログラムカウンタ/ブランチユニット2000が設けられている。
【0189】
プログラムカウンタ/ブランチユニット2000は、実行プログラムをカウントするとともに、プログラムの分岐命令の分岐アドレスの予測を行うものであり、必要に応じてトラップ要求41を出す。また、プログラムカウンタ/ブランチユニット2000は、レジスタ1810(図17参照)、デコーダ2010、サブプライオリティ制御部2020を備えている。
【0190】
デコーダ2010は、ステータスデータSTI、ステータスデータSTF、ステータスデータSTM、ステータスデータSTCおよびステータスデータSTPをデコードし、これを選択データSP8 として出力する。この選択データSP8 は、上述したステータスデータSTI、・・・、およびステータスデータSTPの組み合わせ(例えば、第1の組み合わせ、第2の組み合わせ、・・・)に応じて、n種類のトラップ要求18400、18401 、・・・・、1840n のうちいずれか一つをサブプライオリティ制御部2020で選択するためのデータである。
【0191】
このサブプライオリティ制御部2020は、前述したサブプライオリティ制御部930(図10参照)と同様の構成とされている。例えば、選択データSP8 が第1の組み合わせに対応する場合、サブプライオリティ制御部2020は、トラップ要求18400 を選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。
【0192】
つぎに、上述した実施の形態14の動作について説明する。図18において、他実行ユニットである整数演算器1500、浮動小数点演算器1600、メモリ管理部1700およびCPUローカルバスI/F制御部1900は、実施の形態13の場合と同様にして、それぞれの現在のステータスに対応するステータスデータSTI、ステータスデータSTF、ステータスデータSTM、ステータスデータSTCをレジスタ1510、レジスタ1610、レジスタ1710およびレジスタ1910に格納する。同様にして、プログラムカウンタ/ブランチユニット2000(自実行ユニット)は、現在のステータスに対応するステータスデータSTPをレジスタ1810に格納する。
【0193】
これらのステータスデータSTI、ステータスデータSTF、ステータスデータSTM、ステータスデータSTCおよびステータスデータSTPは、プログラムカウンタ/ブランチユニット2000(自実行ユニット)のデコーダ2010によりデコードされ、選択データSP8 としてサブプライオリティ制御部2020に入力される。この場合、ステータスデータの組み合わせは、第1の組み合わせであるものとする。
【0194】
この状態で、同一時刻にトラップ要求18400 およびトラップ要求18401 の双方が出されると、サブプライオリティ制御部2020は、選択データSP8 に従って、トラップ要求18400 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0195】
また、整数演算器1500、浮動小数点演算器1600、メモリ管理部1700、プログラムカウンタ/ブランチユニット2000およびCPUローカルバスI/F制御部1900のそれぞれのステータスが別のステータスに変化した場合、それぞれは、実施の形態13の場合と同様にして、別のステータスを各レジスタに格納する。
【0196】
これらの別のステータスデータSTI、・・・、STCおよびSTPは、プログラムカウンタ/ブランチユニット2000(自実行ユニット)のデコーダ2010によりデコードされ、選択データSP8 としてサブプライオリティ制御部2020に入力される。この場合、ステータスデータの組み合わせは、第2の組み合わせであるものとする。
【0197】
この状態で、同一時刻にトラップ要求18400 およびトラップ要求18401 の双方が出されると、サブプライオリティ制御部2020は、選択データSP8 に従って、トラップ要求18401 を優先的に選択し、これをトラップ要求41としてプライオリティ制御部70へ出力する。以後、前述した動作を経て、トラップ要求41は、トラップ要求71としてトラップタイプエンコーダ80に入力された後、トラップタイプエンコーダ80からは、トラップマップ90に基づくトラップタイプデータ91がリード/ライト制御部100へ出力される。
【0198】
なお、実施の形態14では、自実行ユニットをプログラムカウンタ/ブランチユニット2000とした例について説明したが、プログラムカウンタ/ブランチユニット2000の機能を整数演算器1500、浮動小数点演算器1600、メモリ管理部1700またはCPUローカルバスI/F制御部1900等に持たせるようにしてもよい。
【0199】
以上本発明にかかる実施の形態1〜14について図面を参照して詳述してきたが、具体的な構成例はこれら実施の形態1〜14に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0200】
(付記1) 実行ユニットからのトラップ要求に対応するトラップタイプデータに基づいて、トラップ処理を実行する演算処理装置において、
少なくとも第1のシステム、第2のシステムから、演算処理装置を適用すべきものを一つ選択する選択手段と、
前記トラップ要求と第1のシステムに適合する第1のトラップタイプデータとの対応関係を定義する第1のトラップマップ、または前記トラップ要求と第2のシステムに適合する第2のトラップタイプデータとの対応関係を定義する第2のトラップマップのうち、前記選択手段により選択されたものに対応するいずれか一つに従って、実行ユニットからのトラップ要求を第1のトラップデータまたは第2のトラップデータにエンコードするエンコード手段と、
を備えたことを特徴とする演算処理装置。
(付記2) 前記選択手段は、3種類以上のシステムから、演算処理装置を適用すべきものを一つ選択し、前記エンコード手段は、前記3種類以上のシステムに対応する3種類以上のトラップデータから、前記選択手段により選択されたものに対応するいずれか一つに従って、前記実行ユニットからのトラップ要求をエンコードすることを特徴とする付記1に記載の演算処理装置。
(付記3) 前記選択手段は、選択データを格納する格納手段と、前記格納手段に格納された前記選択データをデコードするデコード手段とを備えたことを特徴とする付記1または2に記載の演算処理装置。
(付記4) 前記選択手段は、外部機構により設定される選択データを格納する格納手段と、前記格納手段に格納された前記選択データをデコードするデコード手段とを備えたことを特徴とする付記1または2に記載の演算処理装置。
(付記5) 実行ユニットからのトラップ要求に対応するトラップタイプデータに基づいて、トラップ処理を実行する演算処理装置において、
前記トラップ要求と前記実行ユニットの第1の状態に適合する第1のトラップタイプデータとの対応関係を定義する第1のトラップマップ、または前記トラップ要求と前記実行ユニットの第2の状態に適合する第2のトラップタイプデータとの対応関係を定義する第2のトラップマップのうち、前記実行ユニットの状態に対応するいずれか一つに従って、実行ユニットからのトラップ要求を第1のトラップデータまたは第2のトラップデータにエンコードするエンコード手段、
を備えたことを特徴とする演算処理装置。
(付記6) 実行ユニットからのトラップ要求に対応するトラップタイプデータに基づいて、トラップ処理を実行する演算処理装置において、前記トラップ要求とトラップタイプデータとの対応関係を定義するトラップマップを前記実行ユニットの状態に対応させて複数備え、複数のトラップマップのうち、前記実行ユニットの状態に対応するいずれか一つに従って、実行ユニットからのトラップ要求をトラップデータにエンコードするエンコード手段を備えたことを特徴とする演算処理装置。
(付記7) 実行ユニットの状態を表すステータスデータを格納するステータスデータ格納手段と、
前記実行ユニット内で複数のトラップ要求が同時に出された場合、前記ステータスデータにより決定されるプライオリティに基づいて、トラップ要求を選択するプライオリティ制御手段と、
を備えたことを特徴とする演算処理装置。
(付記8)前記プライオリティ制御手段は、3つ以上のトラップ要求が同時に出された場合、前記ステータスデータにより決定されるプライオリティに基づいて、前記3つ以上のトラップ要求の中から、プライオリティが高いトラップ要求を選択することを特徴とする付記7に記載の演算処理装置。
(付記9) 第1の実行ユニットの状態を表すステータスデータを格納するステータスデータ格納手段と、
第2の実行ユニット内で複数のトラップ要求が同時に出された場合、前記ステータスデータにより決定されるプライオリティに基づいて、トラップ要求を選択するプライオリティ制御手段と、
を備えたことを特徴とする演算処理装置。
(付記10) 前記プライオリティ制御手段は、第2の実行ユニット内で3つ以上のトラップ要求が同時に出された場合、前記ステータスデータにより決定されるプライオリティに基づいて、前記3つ以上のトラップ要求の中から、プライオリティが高いトラップ要求を選択することを特徴とする付記9に記載の演算処理装置。
(付記11) 第1の実行ユニットの状態を表す第1のステータスデータを格納する第1のステータスデータ格納手段と、
第2の実行ユニットの状態に関する第2のステータスデータを格納する第2のステータスデータ格納手段と、
前記第2の実行ユニット内で複数のトラップ要求が同時に出された場合、前記第1のステータスデータ、第2のステータスデータにより決定されるプライオリティに基づいて、トラップ要求を選択するプライオリティ制御手段と、
を備えたことを特徴とする演算処理装置。
(付記12) 前記プライオリティ制御手段は、前記第2の実行ユニット内で3つ以上のトラップ要求が同時に出された場合、前記第1のステータスデータ、第2のステータスデータにより決定されるプライオリティに基づいて、前記3つ以上のトラップ要求の中から、プライオリティが高いトラップ要求を選択することを特徴とする付記11に記載の演算処理装置。
(付記13) 第1の実行ユニットの状態を表す第1のステータスデータを格納する第1のステータスデータ格納手段と、
前記第1の実行ユニット以外の複数の第2の実行ユニットのそれぞれの状態に関する第2のステータスデータをそれぞれ格納する複数の第2のステータスデータ格納手段と、
前記第2の実行ユニット内で複数のトラップ要求が同時に出された場合、前記第1のステータスデータ、複数の第2のステータスデータにより決定されるプライオリティに基づいて、トラップ要求を選択するプライオリティ制御手段と、
を備えたことを特徴とする演算処理装置。
(付記14) 前記プライオリティ制御手段は、前記第2の実行ユニット内で3つ以上のトラップ要求が同時に出された場合、前記第1のステータスデータ、複数の第2のステータスデータにより決定されるプライオリティに基づいて、前記3つ以上のトラップ要求の中から、プライオリティが高いトラップ要求を選択することを特徴とする付記13に記載の演算処理装置。
【0201】
【発明の効果】
以上説明したように、本発明によれば、第1のシステム、第2のシステムにそれぞれ対応する第1のトラップマップ、第2のトラップマップをエンコード手段に備えて、システムに応じてトラップマップを可変可能な構成としたので、複数のシステムに安価かつ容易に演算処理装置を適用することができるという効果を奏する。
【0202】
また、本発明によれば、実行ユニットの第1の状態、第2の状態にそれぞれ適合する第1のトラップマップ、第2のトラップマップをエンコード手段に備えて、実行ユニットの状態に応じてトラップマップを可変可能な構成としたので、実行ユニットの状態に応じてきめ細かいトラップ要求の制御を行うことができるという効果を奏する。
【0203】
また、本発明によれば、プライオリティ制御手段により、実行ユニット内における複数のトラップ要求の中から、実行ユニットの状態に対応するプライオリティに基づいて選択を行うようにしたので、実行ユニット側でトラップ要求に対するプライオリティ制御をきめ細かく実行することができるという効果を奏する。
【0204】
また、本発明によれば、プライオリティ制御手段により、第2の実行ユニット内における複数のトラップ要求の中から、第1の実行ユニットの状態に対応するプライオリティに基づいて選択を行うようにしたので、第2の実行ユニット側でトラップ要求に対するプライオリティ制御をきめ細かく実行することができるという効果を奏する。
【0205】
また、本発明によれば、プライオリティ制御手段により、第2の実行ユニット内における複数のトラップ要求の中から、第1の実行ユニットの状態および第2の実行ユニットの状態に対応するプライオリティに基づいて選択を行うようにしたので、第2の実行ユニット側でトラップ要求に対するプライオリティ制御をきめ細かく実行することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる実施の形態1の構成を示すブロック図である。
【図2】図1に示したトラップタイプエンコーダ210の構成を示す図である。
【図3】本発明にかかる実施の形態2の構成を示すブロック図である。
【図4】本発明にかかる実施の形態3の構成を示すブロック図である。
【図5】本発明にかかる実施の形態4の構成を示すブロック図である。
【図6】本発明にかかる実施の形態5の構成を示すブロック図である。
【図7】本発明にかかる実施の形態6の構成を示すブロック図である。
【図8】本発明にかかる実施の形態7の構成を示すブロック図である。
【図9】図8に示した浮動小数点演算器800の構成を示す図である。
【図10】本発明にかかる実施の形態8の構成を示すブロック図である。
【図11】図10に示したサブプライオリティ制御部930の構成を示す図である。
【図12】本発明にかかる実施の形態9の構成を示すブロック図である。
【図13】本発明にかかる実施の形態10の構成を示すブロック図である。
【図14】本発明にかかる実施の形態11の構成を示すブロック図である。
【図15】図14に示したレジスタ1210およびサブプライオリティ制御部1320の構成を示す図である。
【図16】本発明にかかる実施の形態12の構成を示すブロック図である。
【図17】本発明にかかる実施の形態13の構成を示すブロック図である。
【図18】本発明にかかる実施の形態14の構成を示すブロック図である。
【図19】従来の演算処理装置の構成を示すブロック図である。
【図20】図19に示したトラップタイプエンコーダ80の構成を示す図である。
【符号の説明】
200、300、500、600、700 トラップ制御部
210、510 トラップタイプエンコーダ
2200 〜220n トラップマップ
240、540 トラップマップ選択レジスタ
300 トラップ制御部
320、620 選択部
410 レジスタ
510 トラップタイプエンコーダ
830、930、1020、1120 サブプライオリティ制御部
1320、1430、1830、2020 サブプライオリティ制御部

Claims (20)

  1. 第1及び第2のオペレーティングシステムのいずれか適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置において、
    処理を実行し、前記処理の結果に基づいてトラップ要求を発行する実行ユニットと、
    前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、
    前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップと、
    前記演算処理装置に適用されたオペレーティングシステムに基づき、前記第1及び第2のトラップマップのいずれかを選択するトラップマップ選択部と、
    前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するトラップ情報変換部を有することを特徴とする演算処理装置。
  2. 前記トラップマップ選択部は、
    前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するトラップマップ選択レジスタと、
    前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するトラップマップセレクタを有することを特徴とする請求項1記載の演算処理装置。
  3. 前記演算処理装置はさらに、
    第1の処理を実行し、前記第1の処理の結果に基づいて第1のトラップ要求を発行する第1の実行ユニットと、
    第2の処理を実行し、前記第2の処理の結果に基づいて第2のトラップ要求を発行する第2の実行ユニットと、
    前記第1及び第2のトラップ要求を受信し、前記第1又は第2のトラップ要求のいずれかを、所定の優先順位に基づいて選択する優先順位制御部を有し、
    前記トラップ情報変換部は、前記優先順位制御部が選択したトラップ要求をトラップ情報に変換することを特徴とする請求項2記載の演算処理装置。
  4. 前記トラップマップ選択レジスタは、前記第1又は第2の実行ユニットが内部に有することを特徴とする請求項3記載の演算処理装置。
  5. 前記トラップマップ選択部は、
    前記演算処理装置の外部信号線が給電されるか又は接地されるかにより、前記外部信号線に生ずる電位に基づいて、前記第1又は第2のトラップマップのいずれかを選択するトラップマップセレクタを有することを特徴とする請求項1記載の演算処理装置。
  6. 第1及び第2のオペレーティングシステム適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置において、
    第1及び第2の処理を実行し、前記第1及び第2の処理の結果に基づいて第1及び第2のトラップ要求をそれぞれ発行する第1の実行ユニットと、
    第3の処理を実行し、前記第3の処理の結果に基づいて第3のトラップ要求を発行する第2の実行ユニットと、
    前記第1及び第2のトラップ要求を受信し、前記第1又は第2のトラップ要求のいずれかを、所定の第1の優先順位に基づいて予め選択する第1の優先順位制御部と、
    前記第1の優先順位制御部が選択したトラップ要求と前記第3のトラップ要求を受信し、前記第1の優先順位制御部が選択したトラップ要求又は第3のトラップ要求のいずれかを、所定の第2の優先順位に基づいて選択する第2の優先順位制御部と、
    前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、
    前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップと、
    前記演算処理装置に適用されたオペレーティングシステムに基づき、前記第1及び第2のトラップマップのいずれかを選択するトラップマップ選択部と、
    前記選択されたトラップマップに基づいて、前記第2の優先順位制御部が選択したトラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するトラップ情報変換部を有することを特徴とする演算処理装置。
  7. 前記演算処理装置はさらに、
    前記第1の実行ユニットの状態を表す実行ユニット状態データを格納する実行ユニット状態データレジスタと、
    前記実行ユニット状態データに基づいて、前記第1又は第2のトラップ要求のいずれかを選択するトラップ要求セレクタを有することを特徴とする請求項6記載の演算処理装置。
  8. 前記演算処理装置はさらに、
    前記第1の実行ユニットの状態を表す第1の実行ユニット状態データを格納する第1の実行ユニット状態データレジスタと、
    前記第2の実行ユニットの状態を表す第2の実行ユニット状態データを格納する第2の実行ユニット状態データレジスタと、
    前記第1及び第2の実行ユニット状態データに基づいて、前記第1又は第2のトラップ要求のいずれかを選択するトラップ要求セレクタを有することを特徴とする請求項6記載の演算処理装置。
  9. 第1及び第2のオペレーティングシステムのいずれか適用される演算処理装置と、前記演算処理装置に接続されるとともに適用されたオペレーティングシステムを格納する記憶装置とを有する情報処理装置において、
    前記演算処理装置は、
    処理を実行し、前記第処理の結果に基づいてトラップ要求を発行する実行ユニットと、
    前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、
    前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおける、トラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップと、
    前記演算処理装置に適用されたオペレーティングシステムに基づき、前記第1及び第2のトラップ情報変換部のいずれかを選択するトラップマップ選択部と、
    前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するトラップ情報変換部と、
    前記トラップ情報を前記記憶装置に転送するインタフェース制御部を有することを特徴とする情報処理装置。
  10. 前記トラップマップ選択部は、
    前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するトラップマップ選択レジスタと、
    前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するトラップマップセレクタを有することを特徴とする請求項9記載の情報処理装置。
  11. 第1及び第2のオペレーティングシステムのいずれか適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置の制御方法において、
    前記演算処理装置が有する実行ユニットが、処理を実行し、前記処理の結果に基づいてトラップ要求を発行するステップと、
    前記演算処理装置が有するトラップマップ選択部が、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップのいずれかを、前記演算処理装置に適用されたオペレーティングシステムに基いて選択するステップと、
    前記演算処理装置が有するトラップ情報変換部が、前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するステップを有することを特徴とする制御方法。
  12. 前記トラップマップ選択部が前記第1及び第2のトラップマップのいずれかを選択するステップは、
    トラップマップ選択レジスタに、前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するステップと、
    前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するステップであることを特徴とする請求項11記載の制御方法。
  13. 前記演算処理装置はさらに、第1及び第2の実行ユニットを有し、
    前記制御方法はさらに、
    前記第1の実行ユニットが、第1の処理を実行し、前記第1の処理の結果に基づいて第1のトラップ要求を発行するステップと、
    前記第2の実行ユニットが、第2の処理を実行し、前記第2の処理の結果に基づいて第2のトラップ要求を発行するステップと、
    前記演算処理装置が有する優先順位制御部が、前記前記第1及び第2のトラップ要求を受信し、前記第1又は第2のトラップ要求のいずれかを、所定の優先順位に基づいて選択するステップを有し、
    前記トラップ情報変換部は、前記優先順位制御部が選択したトラップ要求をトラップ情報に変換することを特徴とする請求項12記載の制御方法。
  14. 前記トラップマップ選択レジスタは、前記第1又は第2の実行ユニットが内部に有することを特徴とする請求項13記載の制御方法。
  15. 前記トラップマップ選択部が前記第1及び第2のトラップマップのいずれかを選択するステップは、
    前記演算処理装置の外部信号線が給電されるか又は接地されるかにより、前記外部信号線に生ずる電位に基づいて、前記第1又は第2のトラップマップのいずれかを選択することを特徴とする請求項11記載の制御方法。
  16. 第1及び第2のオペレーティングシステム適用されとともに、適用されたオペレーティングシステムを格納する記憶装置に接続される演算処理装置の制御方法において、
    前記演算処理装置が有する第1の実行ユニットが、第1及び第2の処理を実行し、前記第1及び第2の処理の結果に基づいて第1及び第2のトラップ要求をそれぞれ発行するステップと、
    前記演算処理装置が有する第2の実行ユニットが、第3の処理を実行し、前記第3の処理の結果に基づいて第3のトラップ要求を発行するステップと、
    前記演算処理装置が有する第1の優先順位制御部が、前記第1及び第2のトラップ要求を受信し、前記第1又は第2のトラップ要求のいずれかを、所定の第1の優先順位に基づいて予め選択するステップと、
    前記演算処理装置が有する第2の優先順位制御部が、前記第1の優先順位制御部が選択したトラップ要求と前記第3のトラップ要求を受信し、前記第1の優先順位制御部が選択したトラップ要求又は第3のトラップ要求のいずれかを、所定の第2の優先順位に基づいて選択するステップと、
    前記演算処理装置が有するトラップマップ選択部が、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップのいずれかを、前記演算処理装置に適用されたオペレーティングシステムに基いて選択するステップと、
    前記演算処理装置が有するトラップ情報変換部が、前記選択されたトラップマップに基づいて、前記第2の優先順位制御部が選択したトラップ要求をトラップ情報に変換するとともに、前記演算処理装置に適用されたオペレーティングシステムを格納する前記記憶装置に出力するステップを有することを特徴とする制御方法。
  17. 前記制御方法はさらに、
    実行ユニット状態データレジスタに、前記第1の実行ユニットの状態を表す実行ユニット状態データを格納するステップと、
    前記実行ユニット状態データに基づいて、前記第1又は第2のトラップ要求のいずれかを選択するステップを有することを特徴とする請求項16記載の制御方法。
  18. 前記制御方法はさらに、
    第1の実行ユニット状態データレジスタに、前記第1の実行ユニットの状態を表す第1の実行ユニット状態データを格納するステップと、
    第2の実行ユニット状態データレジスタに、前記第2の実行ユニットの状態を表す第2の実行ユニット状態データを格納するステップと、
    前記第1及び第2の実行ユニット状態データに基づいて、前記第1又は第2のトラップ要求のいずれかを選択するステップを有することを特徴とする請求項16記載の制御方法。
  19. 第1及び第2のオペレーティングシステムのいずれか適用される演算処理装置と、前記演算処理装置に接続されるとともに適用されたオペレーティングシステムを格納する記憶装置とを有する情報処理装置の制御方法において、
    前記演算処理装置が有する実行ユニットが、処理を実行し、前記処理の結果に基づいてトラップ要求を発行するステップと、
    前記演算処理装置が有するトラップマップ選択部が、前記演算処理装置に適用されうる前記第1のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第1のトラップマップと、前記演算処理装置に適用されうる前記第2のオペレーティングシステムにおけるトラップ要求とトラップ要求に対するトラップ発生要因を特定するトラップ情報との対応を表す第2のトラップマップのいずれかを、前記演算処理装置に適用されたオペレーティングシステムに基いて選択するステップと、
    前記演算処理装置が有するトラップ情報変換部が、前記選択されたトラップマップに基づいて、トラップ要求をトラップ情報に変換するステップと、
    前記演算処理装置が有するインタフェース制御部が、前記トラップ情報を前記記憶装置に転送するステップを有することを特徴とする制御方法。
  20. 前記トラップマップ選択部が前記第1及び第2のトラップマップのいずれかを選択するステップは、
    トラップマップ選択レジスタに、前記第1又は第2のオペレーティングシステムに適合するトラップマップを選択するためのトラップマップ選択データを格納するステップと、
    前記トラップマップ選択データに基づいて、前記第1又は第2のトラップマップのいずれかを選択するステップであることを特徴とする請求項19記載の制御方法。
JP2000165096A 2000-06-01 2000-06-01 演算処理装置、情報処理装置及びそれらの制御方法 Expired - Lifetime JP4090669B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000165096A JP4090669B2 (ja) 2000-06-01 2000-06-01 演算処理装置、情報処理装置及びそれらの制御方法
US09/729,824 US6711641B2 (en) 2000-06-01 2000-12-06 Operation processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000165096A JP4090669B2 (ja) 2000-06-01 2000-06-01 演算処理装置、情報処理装置及びそれらの制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007234792A Division JP4185550B2 (ja) 2007-09-10 2007-09-10 演算処理装置およびその制御方法

Publications (2)

Publication Number Publication Date
JP2001344116A JP2001344116A (ja) 2001-12-14
JP4090669B2 true JP4090669B2 (ja) 2008-05-28

Family

ID=18668623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000165096A Expired - Lifetime JP4090669B2 (ja) 2000-06-01 2000-06-01 演算処理装置、情報処理装置及びそれらの制御方法

Country Status (2)

Country Link
US (1) US6711641B2 (ja)
JP (1) JP4090669B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1383047A1 (fr) * 2002-07-18 2004-01-21 Cp8 Procédé de sécurisation de l'exécution d'un programme contre des attaques par rayonnement ou autres
US20090183035A1 (en) * 2008-01-10 2009-07-16 Butler Michael G Processor including hybrid redundancy for logic error protection
US7865770B2 (en) * 2008-01-10 2011-01-04 Advanced Micro Devices, Inc. Processor including efficient signature generation for logic error protection
CN104423982B (zh) * 2013-08-27 2018-03-06 阿里巴巴集团控股有限公司 请求的处理方法和处理设备
US11106466B2 (en) 2018-06-18 2021-08-31 International Business Machines Corporation Decoupling of conditional branches

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736291A (en) * 1985-11-22 1988-04-05 Texas Instruments Incorporated General-purpose array processor
JPS63142434A (ja) 1986-12-04 1988-06-14 Fujitsu Ltd 割込み制御方式
JPS6423343A (en) 1987-07-20 1989-01-26 Fujitsu Ltd Programmable interruption signal generator
JPH02110650A (ja) 1988-10-20 1990-04-23 Oki Electric Ind Co Ltd 割込制御方式
US6369855B1 (en) * 1996-11-01 2002-04-09 Texas Instruments Incorporated Audio and video decoder circuit and system

Also Published As

Publication number Publication date
US20010049762A1 (en) 2001-12-06
US6711641B2 (en) 2004-03-23
JP2001344116A (ja) 2001-12-14

Similar Documents

Publication Publication Date Title
US3886523A (en) Micro program data processor having parallel instruction flow streams for plural levels of sub instruction sets
US3930236A (en) Small micro program data processing system employing multi-syllable micro instructions
JPH08505965A (ja) コンテキスト切り換え装置及び方法
US4005391A (en) Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets
CN105190539A (zh) 使用动态端口重映射避免指令调度期间死锁的方法和装置
JP2001216194A (ja) 演算処理装置
JP4090669B2 (ja) 演算処理装置、情報処理装置及びそれらの制御方法
JP4801605B2 (ja) Simd型マイクロプロセッサ
JP2013092852A (ja) バス接続回路、半導体装置及びバス接続回路の動作方法
JP4665760B2 (ja) 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム
CN1860438A (zh) 多端口装置配置
JPH09231071A (ja) コンピュータ装置
US6914605B2 (en) Graphic processor and graphic processing system
JP2008263678A (ja) サーボモータ制御装置
JP4185550B2 (ja) 演算処理装置およびその制御方法
JP5157129B2 (ja) 情報処理装置およびその回路設計方法
JPH03204718A (ja) 情報処理装置
CN1135800A (zh) 带有可重新组合的程序状态字的微控制器
US6931473B2 (en) Data transfer via Host/PCI-X bridges
JPH11102261A (ja) 記憶制御システム
JPH10326224A (ja) ディジタル・シグナル・プロセッサ
US6922773B2 (en) System and method for encoding constant operands in a wide issue processor
JP2826309B2 (ja) 情報処理装置
US5734900A (en) Information handling system including efficient power on initialization
JPH07109589B2 (ja) 命令処理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080115

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080118

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: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4090669

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

EXPY Cancellation because of completion of term