JP4160705B2 - プロセッサ及びプロセッサシステム - Google Patents

プロセッサ及びプロセッサシステム Download PDF

Info

Publication number
JP4160705B2
JP4160705B2 JP29458099A JP29458099A JP4160705B2 JP 4160705 B2 JP4160705 B2 JP 4160705B2 JP 29458099 A JP29458099 A JP 29458099A JP 29458099 A JP29458099 A JP 29458099A JP 4160705 B2 JP4160705 B2 JP 4160705B2
Authority
JP
Japan
Prior art keywords
coprocessor
instruction
execution
processor
supplied
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
Application number
JP29458099A
Other languages
English (en)
Other versions
JP2001117886A (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 JP29458099A priority Critical patent/JP4160705B2/ja
Priority to EP10181089.3A priority patent/EP2278453B1/en
Priority to US09/657,349 priority patent/US6775762B1/en
Priority to EP00307746A priority patent/EP1093053A3/en
Priority to KR1020000056669A priority patent/KR20010050661A/ko
Publication of JP2001117886A publication Critical patent/JP2001117886A/ja
Application granted granted Critical
Publication of JP4160705B2 publication Critical patent/JP4160705B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/22Microcontrol or microprogram arrangements
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Description

【0001】
【発明の属する技術分野】
本発明は、プロセッサとプロセッサシステムに関し、さらに詳しくは所定の制御方法によりコプロセッサに命令を発行するプロセッサと、該プロセッサ及びコプロセッサからなるプロセッサシステムに関するものである。
【0002】
【従来の技術】
図1は、従来のプロセッサシステムの構成を示す図である。図1に示されるように、従来のプロセッサシステムは主プロセッサ1と、主プロセッサ1に接続されたメモリ3と、主プロセッサ1に接続されたコプロセッサCPR0〜CPRnとを備える。ここで、主プロセッサ1はメモリ3に接続された命令フェッチ部5と、命令フェッチ部5に接続された命令実行部7と、命令実行部7に接続されたコプロセッサ指定レジスタ(CR)11と、命令フェッチ部5及びCR11に接続されたコプロセッサ命令制御部13と、コプロセッサ命令制御部13及び命令実行部7に接続されたレジスタ9とを含む。
【0003】
また図2は、図1に示されたコプロセッサ命令制御部13と命令実行部7の構成を示す図である。図2に示されるように、コプロセッサ命令制御部13は、命令レジスタ100と、リソース判断部102と、リソースデコード部103と、例外デコード部104と、例外判断部106と、発行制御部109と、完了制御部110と、スコアボード111とを備える。ここで、命令レジスタ100は命令フェッチ部5に接続され、リソースデコード部103は命令レジスタ100に接続される。また、リソース判断部102はリソースデコード部103に接続され、例外デコード部104は命令レジスタ100に接続される。そして、例外判断部106は例外デコード部104に接続され、発行制御部109は命令レジスタ100とリソース判断部102及び例外判断部106に接続される。さらに、発行制御部109と完了制御部110は共に、コプロセッサCPR0〜CPRnとレジスタ9に接続される。また、スコアボード111は発行制御部109及び完了制御部110とリソース判断部102及び例外判断部106に接続される。なお、例外判断部106と発行制御部109はCR11に接続される。
【0004】
一方、命令実行部7はデコード部115と、書込制御部129と、実行制御部131とを備える。ここで、デコード部115は命令フェッチ部5に接続され、書込制御部129及び実行制御部131はレジスタ9とデコード部115に接続される。なお、書込制御部129はCR11に接続される。
上記のような構成を有するプロセッサシステムにおいては、命令フェッチ部5はメモリ3から命令を読み出すが、コプロセッサ指定レジスタ11を書き換える命令を読み出した場合は、その命令を命令実行部7へ供給する。また、コプロセッサ命令を読み出した場合は、その命令をコプロセッサ命令制御部13へ供給する。なお、上記以外の命令を読み出した場合には、その命令を命令実行部7へ供給する。
【0005】
また、命令実行部7は供給された命令を実行し、例えばコプロセッサ指定レジスタ11を書き換える命令が供給された場合には、書込制御部129によりCR11を書き換える。
一方、コプロセッサ命令制御部13は、発行制御部109及び完了制御部110やスコアボード111等によってコプロセッサCPR1〜CPRnにおけるコプロセッサ命令の実行を制御し、そのうち発行制御部109は主プロセッサ1からコプロセッサCPR1〜CPRnへの命令発行動作を制御する。また、命令フェッチ部5より供給されたコプロセッサ命令が先行コプロセッサ命令に対してデータ依存が無いとリソース判断部102で判断され、処理の例外による制御依存が無いと例外判断部106で判断される場合には、発行制御部109はコプロセッサ命令をCR11により指定されたコプロセッサへ信号In(nは0以上の整数)として発行すると共に、信号Inを発行した旨の情報(発行情報)をスコアボード111に書き込む。ここで、「データ依存」とは、先行するコプロセッサ命令の実行結果に基づいて、初めて後のコプロセッサ命令の実行が可能となることをいう。
【0006】
ここで、「処理の例外による制御依存」とは、例えば0の値で除算することや浮動小数点を用いた演算においてオーバーフローを生じるなどという処理の例外を招き演算を継続できない状況となりうることをいう。
一方、リソース判断部102においてデータ依存があると判断される場合には、発行制御部109は該コプロセッサ命令が依存する先行コプロセッサ命令の完了を待った後に該コプロセッサ命令をCR11に指定されたコプロセッサへ信号Inとして発行し、信号Inを発行した旨の情報(発行情報)をスコアボード111に書き込む。なお、コプロセッサ命令制御部13は、完了制御部110においてコプロセッサ命令の発行先であるコプロセッサから完了信号Cn(nは0以上の整数)を受領することによりコプロセッサ命令の実行完了が通知される。このとき、完了制御部110は完了信号Cnに応じてスコアボード111に書き込まれている信号Inを発行した旨の発行情報を削除する。
【0007】
また、コプロセッサ指定レジスタ(CR)11は、操作対象のコプロセッサCPRn(nは0以上の整数)の番号を指定する。また、メモリ3はコプロセッサ命令を含む主プロセッサ1への命令を記憶し、レジスタ9はコプロセッサに与えるデータ及びコプロセッサにおける実行結果を格納する。なお、レジスタ9は複数の記憶部からなる。
【0008】
図3は、コプロセッサ命令の命令形式の一例を示す図である。ここで、命令コードOP-CODE はコプロセッサCPR0〜CPRnで実行すべき処理を示し、オペランド1〜nはコプロセッサに与えるデータを保持しているレジスタ内の記憶部の番号、あるいはコプロセッサによる実行結果を格納するレジスタ内の記憶部の番号を意味する。
【0009】
図4は、CR11を書き換える命令の命令形式を示す図である。図4に示されるオペランド1は、CR11へ書込まれた値を保持するレジスタ9内のいずれかの記憶部を指定する。なお、図4の命令コードOP-CODE とオペランド1との間には、任意の情報が記録される。
次に、上記のプロセッサシステムにおけるコプロセッサ命令の発行動作を説明する。コプロセッサ命令制御部13の発行制御部109は、供給されたコプロセッサ命令が処理の例外を発生する可能性がなく先行するコプロセッサ命令とのデータ依存がない場合には該コプロセッサ命令を発行すると共に発行情報をスコアボード111へ書き込み、処理の例外を発生する可能性がないが先行するコプロセッサ命令とのデータ依存がある場合には、該先行するコプロセッサ命令の実行完了を待った後に次のコプロセッサ命令を発行し発行情報をスコアボード111へ書き込む。
【0010】
一方、コプロセッサ命令制御部13の発行制御部109は、供給されたコプロセッサ命令が処理の例外を発生する可能性があり先行するコプロセッサ命令とのデータ依存がない場合には該コプロセッサ命令を発行すると共に発行情報をスコアボード111へ書き込み、処理の例外を発生する可能性があり先行するコプロセッサ命令とのデータ依存もある場合には、該先行するコプロセッサ命令の実行完了を待った後に次のコプロセッサ命令を発行し発行情報をスコアボード111へ書き込む。
【0011】
上記のようなプロセッサシステムにおいては一般的に、命令発行能力を向上させる手法として、投機的命令実行(speculative execution )が知られている。そして、この投機的命令実行をコプロセッサに対する命令発行制御方式として用いる場合には、データ依存や処理の例外による制御依存を保証する必要がある。しかしながら、コプロセッサを有する従来のプロセッサシステムにおいては、上記のようにコプロセッサ命令制御部13が、命令フェッチ部5から供給されたコプロセッサ命令に含まれた命令コードによって該コプロセッサ命令が処理の例外による制御依存を発生させるものか否かを判定し、その判定結果に基づいて上記のように該コプロセッサ命令の発行を行っていた。ここで、コプロセッサ命令は各コプロセッサCPR0〜CPRnに対応するものであるため、主プロセッサ1、特にそのうちコプロセッサ命令制御部13の構造は、主プロセッサ1に接続されるコプロセッサCPR0〜CPRnの種類により異なるものとせざるを得ないという問題があった。
【0012】
【発明が解決しようとする課題】
本発明は、上述の問題点を解消するためになされたものであり、接続されるコプロセッサの種類もしくは供給されるコプロセッサ命令の種類によらず、処理の例外による制御依存の発生する可能性を踏まえた効率的なコプロセッサ命令の処理を実現するプロセッサと、該プロセッサを備えたプロセッサシステムを提供することを目的とする。
【0013】
【課題を解決するための手段】
上記の目的は、コプロセッサに接続されるプロセッサであって、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令がコプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令をコプロセッサへ発行し、依存可能性表示データは、第二のコプロセッサ命令に結合されると共に、第二のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサを提供することにより達成される。このような手段によれば、プロセッサは第二のコプロセッサ命令ではなく依存可能性表示データに基づいて第二のコプロセッサ命令の制御依存性を判断するため、プロセッサの構成をコプロセッサの種類に依らず決定することができる。
【0014】
また、本発明の目的は、コプロセッサに接続されたプロセッサであって、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令がコプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令をコプロセッサへ発行し、依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサを提供することにより達成される。
【0015】
また、本発明の目的は、コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、主プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令を前記コプロセッサへ発行し、依存可能性表示データは、第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサシステムを提供することにより達成される。このような手段によれば、主プロセッサは第二のコプロセッサ命令ではなく依存可能性表示データに基づいて第二のコプロセッサ命令の制御依存性を判断するため、主プロセッサの構成をコプロセッサの種類に依らず決定することができる。
【0016】
さらに本発明の目的は、コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、主プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令がコプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令をコプロセッサへ発行し、依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサシステムを提供することによっても達成される。
【0017】
【発明の実施の形態】
以下において、本発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
[実施の形態1]
図5は、本発明の実施の形態1に係るプロセッサシステムの構成を示す図である。図5に示されるように、このプロセッサシステムは図1に示された従来のプロセッサシステムに対し、主プロセッサ15に含まれたコプロセッサ命令制御部19の構成が相違するものである。
【0018】
図6は、図5に示されたコプロセッサ命令制御部19と命令実行部7の構成を示す図である。図6に示されるように、コプロセッサ命令制御部19は、命令レジスタ101と、リソース判断部102と、リソースデコード部103と、例外判断部107と、発行制御部109と、完了制御部110と、スコアボード112とを備える。ここで、命令レジスタ101は命令フェッチ部5に接続され、リソースデコード部103は命令レジスタ101に接続される。また、リソース判断部102はリソースデコード部103に接続される。そして、例外判断部107は命令レジスタ101に接続され、発行制御部109は命令レジスタ101とリソース判断部102及び例外判断部107に接続される。さらに、発行制御部109と完了制御部110は共に、コプロセッサCPR0〜CPRnとレジスタ9に接続される。また、スコアボード112は発行制御部109及び完了制御部110とリソース判断部102に接続される。なお、発行制御部109はCR11に接続される。
【0019】
一方、命令実行部7はデコード部116と、書込制御部129と、実行制御部131とを備える。ここで、デコード部116は命令フェッチ部5に接続され、書込制御部129及び実行制御部131はレジスタ9とデコード部116に接続される。なお、書込制御部129はCR11に接続される。
上記のような構成を有する本実施の形態に係るメモリ17には、図7に示された形式を有するコプロセッサ命令が予め記憶される。図7に示されたコプロセッサ命令の形式は、図3に示されたコプロセッサ命令の形式に対して、処理の例外による制御依存が発生する可能性があるコプロセッサ命令であるか否かを示すフィールドEXCEPがオペランドnに結合される点で相違する。そして、このフィールドEXCEPは処理の例外による制御依存が発生する可能性がある場合には1が記録され、該可能性がない場合には0があらかじめ記録される。なお上記のように、「処理の例外による制御依存」とは、例えば0の値で除算することや浮動小数点を用いた演算においてオーバーフローを生じるなどという処理の例外を招き演算を継続できない状況となりうることをいう。
【0020】
上記のような形式を有するコプロセッサ命令が命令フェッチ部5を介してコプロセッサ命令制御部19の命令レジスタ101へ供給された場合の、コプロセッサ命令制御部19の動作について以下に説明する。命令レジスタ101へ供給されたコプロセッサ命令は、リソースデコード部103により解析される。そして、リソース判断部102は該解析結果とスコアボード112から供給された実行中の命令に対応する発行情報に基いて、命令フェッチ部5から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令にデータ依存するものか否かを判断し、その判断結果を発行制御部109へ通知する。
【0021】
一方、例外判断部107が、供給されたコプロセッサ命令のフィールドEXCEPに書き込まれているデータの値は0であると判断した場合には、発行制御部109は命令フェッチ部5から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がないとリソース判断部102によって判断されるとき、コプロセッサ命令をCR11に指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。又逆に、リソース判断部102により該データ依存があると判断される場合には、発行制御部109は依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。
【0022】
一方、供給されたコプロセッサ命令のフィールドEXCEPが1の場合には、発行制御部109は常に、先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。
このように本実施の形態に係るコプロセッサ命令制御部19においては、先に実行される命令に関する情報ではなく、コプロセッサ命令のフィールドEXCEPに書き込まれた情報によりコプロセッサ命令の発行タイミングを決定するため、スコアボード112等から例外判断部10への配線が不要になると共に、フラグ検出部105より回路規模の大きな例外デコード部104も不要になる。
【0023】
従って、本実施の形態1に係るプロセッサシステムによれば、回路規模を小さくできると共に、主プロセッサ15は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、オペランドnに結合したフィールドEXCEPに記録された情報によりコプロセッサ命令の発行タイミングを決定するため、メモリ17から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
[実施の形態2]
図8は、本発明の実施の形態2に係るプロセッサシステムの構成を示す図である。図8に示されるように、このプロセッサシステムは図1に示された従来のプロセッサシステムに対し、主プロセッサ21に含まれた命令フェッチ部24やコプロセッサ命令制御部25や命令実行部27の構成が相違し、命令実行部27に接続されたフラグ29をさらに備えたものである。
【0024】
また、図9は図8に示されたコプロセッサ命令制御部25と命令実行部27の構成を示す図である。図9に示されるように、コプロセッサ命令制御部25及び命令実行部27はそれぞれ図6に示されたコプロセッサ命令制御部19及び命令実行部7と同様な構成を有するが、コプロセッサ命令制御部25はフラグ29に接続された例外判断部108を備え、命令実行部27はデコード部117及びレジスタ26に接続されフラグ29への書き込みを制御するフラグ書込制御部133をさらに備える点で相違する。
【0025】
以下に、図1に示された従来のプロセッサシステムと相違する点について詳しく説明する。
まず、本実施の形態に係るメモリ23には、図4に示された形式と同様の形式を有しフラグ29を書き換える命令も予め記憶される。なお、この場合には図4に示されたオペランド1には、フラグ29への書込み値(0または1)を保持するレジスタ26内の記憶部の番号が記録される。また、命令フェッチ部24はフラグ29の値を書き換える上記命令を読み出した場合にはその命令を命令実行部27へ供給し、命令実行部27に含まれたフラグ書込制御部133は該命令を受領してフラグ29の値を書き換える。
【0026】
また、命令実行部27に接続されたフラグ29は、主プロセッサ21よりコプロセッサCPR0〜CPRnへ処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行することを示すものであり、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行する場合には予め命令実行部27に含まれたフラグ書込制御部133により1が設定され、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行しない場合には予め命令実行部27に含まれたフラグ書込制御部133により0が設定される。
【0027】
また、コプロセッサ命令制御部25の動作について以下に説明する。供給されたコプロセッサ命令を発行する際、例外判断部108によりフラグ29が0と判断された場合には、命令フェッチ部24から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がない場合に、発行制御部109はコプロセッサ命令をCR11に指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。又逆に該データ依存があると発行制御部109により判断される場合には、依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。
【0028】
一方、供給されたコプロセッサ命令を発行する際、例外判断部108によりフラグ29が1と判断された場合には、常に、先に実行されているコプロセッサ命令の完了を待った後、発行制御部109はコプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。
【0029】
以上より本実施の形態2に係るプロセッサシステムによっても、主プロセッサ21は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらずフラグ29の値によりコプロセッサ命令の発行タイミングを決定するため、メモリ23から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
[実施の形態3]
図10は、本発明の実施の形態3に係るプロセッサシステムの構成を示す図である。図10に示されるように、このプロセッサシステムは図8に示された実施の形態2に係るプロセッサシステムと同様な構成を有するが、主プロセッサ21に含まれた命令フェッチ部34やコプロセッサ命令制御部35や命令実行部37の構成が相違し、命令実行部37に直列接続されると共にそれぞれのコプロセッサCPR0〜CPRnに対応して設けられたn個のフラグを備えたものである。
【0030】
また、図11は図10に示されたコプロセッサ命令制御部35と命令実行部37の構成を示す図である。図11に示されるように、コプロセッサ命令制御部35及び命令実行部37はそれぞれ図9に示されたコプロセッサ命令制御部25及び命令実行部27と同様な構成を有するが、コプロセッサ命令制御部35はフラグ0からフラグnに接続された例外判断部108を備え、命令実行部37はデコード部118及びレジスタ36に接続されフラグ0からフラグnへの書き込みを制御するフラグ書込制御部134を備える点で相違する。
【0031】
以下に、図8に示された実施の形態2に係るプロセッサシステムと相違する点について詳しく説明する。
まず、本実施の形態に係るメモリ33には、図12に示された形式を有しフラグ0からフラグnのうち少なくとも一つを書き換える命令も予め記憶される。なお、図12に示されたオペランド1には、0又は1の書込み値を書込むフラグを指定する番号が記録され、オペランド2にはオペランド1において指定したフラグへの書込み値(0または1)を保持するレジスタ36内の記憶部の番号が記録される。また、命令フェッチ部34は所定のフラグを書き換える上記命令を読み出した場合には、その命令を命令実行部37へ供給し、フラグ書込制御部134は該命令を受領して該命令のオペランド2において指定されたレジスタ36内の所定の記憶部に格納されている書込み値を、オペランド1において指定された所定のフラグに書込む。
【0032】
また、命令実行部37に直列接続されたn個のフラグは、対応するコプロセッサCPR0〜CPRnに対して、主プロセッサ31よりコプロセッサCPR0〜CPRnへ処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行することを示すものであり、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行する場合には予め命令実行部37のフラグ書込制御部134により1が設定され、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行しない場合には予め命令実行部37のフラグ書込制御部134により0が設定される。
【0033】
また、コプロセッサ命令制御部35の動作について以下に説明する。供給されたコプロセッサ命令を発行する際、例外判断部108により該コプロセッサ命令が実行されるコプロセッサに対応するフラグが0であると判断される場合には、命令フェッチ部34から供給されたコプロセッサ命令が、該コプロセッサにおいて先に実行されるコプロセッサ命令とのデータ依存がない場合に、発行制御部109はコプロセッサ命令をCR11に指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。又逆に該データ依存がある場合には、発行制御部109は依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。
【0034】
一方、供給されたコプロセッサ命令を発行する際、例外判断部108により該コプロセッサ命令が実行されるコプロセッサに対応するフラグが1であると判断される場合には、発行制御部109は常に、該コプロセッサにおいて先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令を該コプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード112へ書き込む。
【0035】
以上より本実施の形態3に係るプロセッサシステムによれば、上記実施の形態2に係るプロセッサシステムと同様な効果を奏すると共に、さらに主プロセッサ31は個々のコプロセッサCPR0〜CPRn毎に、これから実行するコプロセッサ命令の制御依存性を判断するため、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなくコプロセッサ命令が発行される。従って、コプロセッサ命令をコプロセッサCPR0〜CPRnへより効率的に発行することができる。
[実施の形態4]
図13は、本発明の実施の形態4に係るプロセッサシステムの構成を示す図である。図13に示されるように、このプロセッサシステムは図5に示された実施の形態1に係るプロセッサシステムと同様な構成を有するが、主プロセッサ41に含まれた命令フェッチ部44やコプロセッサ命令制御部45や命令実行部47の構成が相違するものである。
【0036】
また、図14は図13に示されたコプロセッサ命令制御部45と命令実行部47の構成を示す図である。図14に示されるように、コプロセッサ命令制御部45及び命令実行部47はそれぞれ図6に示されたコプロセッサ命令制御部19及び命令実行部7と同様な構成を有するが、命令実行部47はデコード部119に接続された同期制御部135をさらに備え、コプロセッサ命令制御部45は同期制御部135に接続されたスコアボード112を備える点で相違する。
【0037】
以下に、図5に示された上記実施の形態1に係るプロセッサシステムと相違する点について詳しく説明する。
まず、本実施の形態に係るメモリ43には、図15に示された形式を有し実行中のコプロセッサ命令の実行完了を待つ命令も予め記憶される。また、命令フェッチ部44は実行中のコプロセッサ命令の実行完了を待つ上記命令を読み出した場合にはその命令を命令実行部47へ供給し、命令実行部47の同期制御部135は該命令を受領したときコプロセッサ命令制御部45のスコアボード113から0の値を有する信号busyが供給されていれば、次のプロセッサ実行命令を実行する。一方、命令実行部47の同期制御部135は上記命令を受領したときコプロセッサ命令制御部45のスコアボード113から1の値を有する信号busyが供給されていれば、信号busyが0となった時点で、該プロセッサ実行命令を実行し完了させる。
【0038】
また、コプロセッサ命令制御部45のスコアボード113は、いずれかのコプロセッサがコプロセッサ命令を実行中である場合には1の値を有する信号busyを命令実行部47の同期制御部135へ供給し、いずれのコプロセッサにおいてもコプロセッサ命令を実行中でない場合には0の値を有する信号busyを命令実行部47の同期制御部135へ供給する。
【0039】
以上より本実施の形態4に係るプロセッサシステムによっても、主プロセッサ41は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、現在いずれかのコプロセッサがコプロセッサ命令を実行中であるか否かを示す信号busyに応じてプロセッサ実行命令を実行しコプロセッサ命令の発行タイミングを決定するため、メモリ43から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
[実施の形態5]
図16は、本発明の実施の形態5に係るプロセッサシステムの構成を示す図である。図16に示されるように、このプロセッサシステムは図13に示された実施の形態4に係るプロセッサシステムと同様な構成を有するが、主プロセッサ51に含まれた命令フェッチ部54、コプロセッサ命令制御部55、命令実行部57の構成が相違し、さらにフラグ29を備えたものである。なお、このフラグ29は図8に示された実施の形態2に係るフラグ29と同じものである。
【0040】
また、図17は図16に示されたコプロセッサ命令制御部55と命令実行部57の構成を示す図である。図17に示されるように、コプロセッサ命令制御部55及び命令実行部57はそれぞれ図14に示されたコプロセッサ命令制御部45及び命令実行部47と同様な構成を有するが、コプロセッサ命令制御部55はフラグ29に接続された例外判断部108を備え、命令実行部47はデコード部120及びレジスタ26に接続されフラグ29への書き込みを制御するフラグ書込制御部133を備える点で相違する。
【0041】
従って、本実施の形態5に係るプロセッサシステムは、上記実施の形態2に係るプロセッサシステムと実施の形態4に係るプロセッサシステムの両方の機能を有するものである。すなわち、コプロセッサ命令制御部55の発行制御部109は供給されたコプロセッサ命令を発行する際フラグ29が0の場合には、命令フェッチ部54から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がない場合に、コプロセッサ命令をCR11に指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード113へ書き込む。又逆に該データ依存がある場合には、依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード113へ書き込む。
【0042】
一方、供給されたコプロセッサ命令を発行する際フラグ29が1の場合には、常に、先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード113へ書き込む。このときコプロセッサ命令制御部55は、コプロセッサがコプロセッサ命令を実行中である場合には1の値を有する信号busyを命令実行部57へ供給し、コプロセッサがコプロセッサ命令を実行中でない場合には0の値を有する信号busyを命令実行部57へ供給する。
【0043】
そして、命令実行部57は実行中のコプロセッサ命令の実行完了を待つ命令を受領したときコプロセッサ命令制御部55から0の値を有する信号busyが供給されていれば、次のプロセッサ実行命令を実行する。一方、命令実行部57は上記命令を受領したときコプロセッサ命令制御部55から1の値を有する信号busyが供給されていれば、信号busyが0となった時点で、該プロセッサ実行命令を実行し完了させる。
【0044】
以上より本実施の形態5に係るプロセッサシステムによれば、主プロセッサ51は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらずフラグ29の値及び現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてコプロセッサ命令の発行タイミングを決定するため、メモリ53から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
[実施の形態6]
図18は、本発明の実施の形態6に係るプロセッサシステムの構成を示す図である。図18に示されるように、このプロセッサシステムは図16に示された実施の形態5に係るプロセッサシステムと同様な構成を有するが、主プロセッサ61に含まれた命令フェッチ部64、コプロセッサ命令制御部65、命令実行部67やレジスタ66の構成が相違し、さらに複数のフラグ0からフラグnを備えたものである。なお、この複数のフラグは図10に示された実施の形態3に係る複数のフラグ0からフラグnと同じものである。
【0045】
また、図19は図18に示されたコプロセッサ命令制御部65と命令実行部67の構成を示す図である。図19に示されるように、コプロセッサ命令制御部65及び命令実行部67はそれぞれ図17に示されたコプロセッサ命令制御部55及び命令実行部57と同様な構成を有するが、コプロセッサ命令制御部65はフラグ0からフラグnに接続された例外判断部108を備え、命令実行部67はデコード部121及びレジスタ66に接続されフラグ0からフラグnへの書き込みを制御するフラグ書込制御部134を備える点で相違する。
【0046】
従って、本実施の形態6に係るプロセッサシステムは、上記実施の形態3に係るプロセッサシステムと実施の形態4に係るプロセッサシステムの両方の機能を有するものである。そして、このような構成を有するプロセッサシステムによれば、主プロセッサ61は個々のコプロセッサCPR0〜CPRn毎に、これから実行するコプロセッサ命令の制御依存性を判断し、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなくコプロセッサ命令を発行するため、コプロセッサ命令をコプロセッサCPR0〜CPRnへ効率的に発行することができる。
【0047】
また、主プロセッサ61は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてコプロセッサ命令の発行タイミングを決定するため、メモリ63から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することもできる。
[実施の形態7]
図20は、本発明の実施の形態7に係るプロセッサシステムの構成を示す図である。図20に示されるように、このプロセッサシステムは図13に示された実施の形態4に係るプロセッサシステムと同様な構成を有するが、主プロセッサ71に含まれた命令フェッチ部74やコプロセッサ命令制御部75や命令実行部77の構成が相違するものである。
【0048】
また、図21は図20に示されたコプロセッサ命令制御部75と命令実行部77の構成を示す図である。図21に示されるように、コプロセッサ命令制御部75及び命令実行部77はそれぞれ図14に示されたコプロセッサ命令制御部45及び命令実行部47と同様な構成を有するが、コプロセッサ命令制御部75は各コプロセッサCPR0〜CPRnに対応した信号busyn (n は0以上の整数)を出力するスコアボード114を備え、命令実行部77はデコード部122及びレジスタ9に接続され上記信号busyn が供給される同期制御部136を備える点で相違する。
【0049】
以下に、図13に示された上記実施の形態4に係るプロセッサシステムと相違する点について説明する。
まず、本実施の形態に係るメモリ73には、指定するコプロセッサにおいて実行中のコプロセッサ命令の実行完了を待つ図33に示された形式の命令も予め記憶される。ここで、図33に示されたオペランドには実行完了待ちの対象とするコプロセッサを指定する情報が記録される。
【0050】
また、命令フェッチ部74は指定されたコプロセッサにて実行中のコプロセッサ命令の実行完了を待つ命令を読み出した場合にはその命令を命令実行部77へ供給する。そして命令実行部77の同期制御部136は、供給された命令において指定されるコプロセッサCPRnに対応したコプロセッサ命令制御部75から供給される信号busyn (n は0以上の整数)が0の値を有していれば、プロセッサ実行命令を実行する。一方、命令実行部77の同期制御部136は上記命令を受領したとき指定されたコプロセッサCPRnに関してコプロセッサ命令制御部75から1の値を有する信号busyn が供給されていれば、信号busyn が0となった時点で、該プロセッサ実行命令を実行し完了させる。
【0051】
また、コプロセッサ命令制御部75のスコアボード114は、指定されたコプロセッサCPRnがコプロセッサ命令を実行中である場合には1の値を有する信号busyn を命令実行部77の同期制御部136へ供給し、指定されたコプロセッサCPRnがコプロセッサ命令を実行中でない場合には0の値を有する信号busyn を命令実行部77の同期制御部136へ供給する。
【0052】
以上より本実施の形態7に係るプロセッサシステムによれば、上記実施の形態4に係るプロセッサシステムと同様な効果を奏すると共に、さらに主プロセッサ71は個々のコプロセッサCPR0〜CPRn毎に、コプロセッサ命令を実行中であるか否か判断するため、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなく指定されたコプロセッサへコプロセッサ命令が発行される。従って、コプロセッサ命令をコプロセッサCPR0〜CPRnへより効率的に発行することができる。
【0053】
またさらに、本実施の形態7に係るプロセッサシステムにおいては、上記実施の形態1に係るコプロセッサ命令のように処理の例外による制御依存が発生する可能性があるか否かを示すフィールドEXCEPがオペランドに結合されたコプロセッサ命令を予めメモリ73に記憶させ、係る命令形式に対応した構成を有するものとすることができる。
【0054】
すなわち、このような構成におけるコプロセッサ命令制御部75の発行制御部109は、供給された上記コプロセッサ命令のフィールドEXCEPが0の場合には、命令フェッチ部74から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がない場合に、コプロセッサ命令をCR11に指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード114へ書き込む。又逆に該データ依存がある場合には、コプロセッサ命令制御部75は依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード114へ書き込む。
【0055】
一方、供給されたコプロセッサ命令のフィールドEXCEPが1の場合には、常に、先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令をCR11にて指定されたコプロセッサへ発行信号Inを通じて発行し、発行情報をスコアボード114へ書き込む。
以上の構成を有するプロセッサシステムによれば、主プロセッサ71は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、オペランドに結合したフィールドEXCEPに記録された情報によりコプロセッサ命令の発行タイミングを決定するため、メモリ73から供給されるコプロセッサ命令の種類によらずさらに効率的な命令発行動作を実現することができる。
【0056】
なお、本実施の形態においてはさらに、n個の信号busyn が全て0となったときに初めて命令実行部がプロセッサ実行命令を実行し完了させるものも同様に考えられる。ここで図22は、このようなシステムにおける命令実行部78の構成を示す図である。図22に示されるように、命令実行部78はデコード部123及びレジスタ部9に接続されn個の信号busyn が供給される第一同期制御部137をさらに備え、第一同期制御部137は上記n個の信号busyn が全て0となったときにプロセッサ実行命令を実行し完了させる。
[実施の形態8]
図24は、本発明の実施の形態8に係るプロセッサシステムの構成を示す図である。図24に示されるように、このプロセッサシステムは図20に示された実施の形態7に係るプロセッサシステムと同様な構成を有するが、主プロセッサ81に含まれた命令フェッチ部84、コプロセッサ命令制御部85、命令実行部87の構成が相違し、さらにフラグ29を備えたものである。なお、このフラグ29は図8に示された実施の形態2に係るフラグ29と同じものである。
【0057】
また、図25は図24に示されたコプロセッサ命令制御部85と命令実行部87の構成を示す図である。図25に示されるように、コプロセッサ命令制御部85及び命令実行部87はそれぞれ図21に示されたコプロセッサ命令制御部75及び命令実行部77と同様な構成を有するが、コプロセッサ命令制御部85はフラグ29に接続された例外判断部108を備え、命令実行部87はデコード部124及びレジスタ26に接続されフラグ29への書き込みを制御するフラグ書込制御部133をさらに備える点で相違する。
【0058】
従って、本実施の形態8に係るプロセッサシステムは、上記実施の形態7に係るプロセッサシステムと実施の形態2に係るプロセッサシステムの両方の機能を有するものである。
ここで、本実施の形態8に係るプロセッサシステムによれば、上記実施の形態7に係るプロセッサシステムと同様の効果を得ることができるとともに、主プロセッサ81は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらずフラグ29の値に応じてコプロセッサ命令の発行タイミングを決定するため、メモリ83から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
【0059】
またさらに、本実施の形態8に係るプロセッサシステムにおいては、実施の形態4に記されたコプロセッサ命令の実行完了を待つ命令もメモリ83へ予め記憶させ、実施の形態4に係るプロセッサシステムと同様に上記命令の実行も可能なものとすることができる。このような構成を有するプロセッサシステムによれば、主プロセッサ81は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、少なくとも一つのコプロセッサが現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてプロセッサ実行命令を実行してコプロセッサ命令の発行タイミングを決定するため、メモリ83から供給されるコプロセッサ命令の種類に応じてさらに効率的な命令発行動作を実現することができる。
【0060】
なお、本実施の形態においてはさらに、n個の信号busyn が全て0となったときに初めて命令実行部がプロセッサ実行命令を実行し完了させるものも同様に考えられる。ここで図26は、このようなシステムにおける命令実行部88の構成を示す図である。図26に示されるように、命令実行部88はデコード部125及びレジスタ部26に接続されn個の信号busyn が供給される第一同期制御部137をさらに備え、第一同期制御部137は上記n個の信号busyn が全て0となったときにプロセッサ実行命令を実行し完了させる。
[実施の形態9]
図27は、本発明の実施の形態9に係るプロセッサシステムの構成を示す図である。図27に示されるように、このプロセッサシステムは図24に示された実施の形態8に係るプロセッサシステムと同様な構成を有するが、主プロセッサ91に含まれた命令フェッチ部94、コプロセッサ命令制御部95、命令実行部97やレジスタ66の構成が相違し、さらに複数のフラグ0からフラグnを備えたものである。なお、この複数のフラグは図10に示された実施の形態3に係る複数のフラグ0からフラグnと同じものである。
【0061】
また、図28は図27に示されたコプロセッサ命令制御部95と命令実行部97の構成を示す図である。図28に示されるように、コプロセッサ命令制御部95及び命令実行部97はそれぞれ図25に示されたコプロセッサ命令制御部85及び命令実行部87と同様な構成を有するが、コプロセッサ命令制御部95はフラグ0からフラグnに接続された例外判断部108を備え、命令実行部97はデコード部126及びレジスタ66に接続されフラグ0からフラグnへの書き込みを制御するフラグ書込制御部134を備える点で相違する。
【0062】
従って、本実施の形態9に係るプロセッサシステムは、上記実施の形態3に係るプロセッサシステムと実施の形態7に係るプロセッサシステムの両方の機能を有するものである。そして、このような構成を有するプロセッサシステムによれば、主プロセッサ91は個々のコプロセッサCPR0〜CPRn毎に、これから実行するコプロセッサ命令の制御依存性を判断し、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなくコプロセッサ命令を発行するため、コプロセッサ命令をコプロセッサCPR0〜CPRnへ効率的に発行することができる。
【0063】
また、主プロセッサ91は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、指定されたコプロセッサが現在コプロセッサ命令を実行中であるか否かを示す信号busyn に応じてコプロセッサ毎にコプロセッサ命令の発行タイミングを決定するため、メモリ93から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することもできる。
【0064】
またさらに、本実施の形態9に係るプロセッサシステムにおいては、実施の形態4に記されたコプロセッサ命令の実行完了を待つ命令もメモリ93へ予め記憶させ、実施の形態4に係るプロセッサシステムと同様に上記命令の実行も可能なものとすることができる。このような構成を有するプロセッサシステムによれば、主プロセッサ91は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、少なくとも一つのコプロセッサが現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてプロセッサ実行命令を実行してコプロセッサ命令の発行タイミングを決定するため、メモリ93から供給されるコプロセッサ命令の種類に応じてさらに効率的な命令発行動作を実現することができる。
【0065】
なお、本実施の形態においてはさらに、n個の信号busyn が全て0となったときに初めて命令実行部がプロセッサ実行命令を実行し完了させるものも同様に考えられる。ここで図29は、このようなシステムにおける命令実行部98の構成を示す図である。図29に示されるように、命令実行部98はデコード部127及びレジスタ部66に接続されn個の信号busyn が供給される第一同期制御部137をさらに備え、第一同期制御部137は上記n個の信号busyn が全て0となったときにプロセッサ実行命令を実行し完了させる。
【0066】
最後に、本発明の課題を解決するための手段について付記する。
(1)コプロセッサに接続されるプロセッサであって、プロセッサは、コプロセッサにおける実行を命令する第一のコプロセッサ命令が供給されたときに、第一のコプロセッサ命令に対応する依存可能性表示データに基づいて、第一のコプロセッサ命令がコプロセッサにおいて先に実行される第二のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第二のコプロセッサ命令の実行が完了した後に第一のコプロセッサ命令をコプロセッサへ発行することを特徴とするプロセッサ。
(2)依存可能性表示データは第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなる(1)に記載のプロセッサ。
(3)依存可能性表示データは、供給される信号により書き換え可能なフラグに格納される(1)に記載のプロセッサ。
(4)フラグに格納される依存可能性表示データは、第一のコプロセッサが第二のコプロセッサ命令に対して制御依存性を有する可能性があるか否かを示す(3)に記載のプロセッサ。
(5)少なくとも二つのコプロセッサに接続され、フラグはコプロセッサ毎に対応して備えられた(3)に記載のプロセッサ。
(6)コプロセッサに接続されたプロセッサであって、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備えたことを特徴とするプロセッサ。
(7)少なくとも二つのコプロセッサに接続され、信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行する(6)に記載のプロセッサ。
(8)命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行する(7)に記載のプロセッサ。
(9)供給される信号により書き換え可能なフラグと、コプロセッサ命令が供給されたとき、フラグが所定の値である場合にはコプロセッサで実行中のコプロセッサ命令の実行が完了した後に次のコプロセッサ命令をコプロセッサへ発行する命令発行手段とをさらに備えた(6)から(8)のいずれかに記載のプロセッサ。
(10)コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサにおける実行を命令する第一のコプロセッサ命令が供給されたときに、第一のコプロセッサ命令に対応する依存可能性表示データに基づいて、第一のコプロセッサ命令がコプロセッサにおいて先に実行される第二のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第二のコプロセッサ命令の実行が完了した後に第一のコプロセッサ命令をコプロセッサへ発行することを特徴とするプロセッサシステム。
(11)依存可能性表示データは第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなる(10)に記載のプロセッサシステム。
(12)依存可能性表示データは、供給される信号により書き換え可能なフラグに格納される(10)に記載のプロセッサシステム。
(13)フラグに格納される依存可能性表示データは、第一のコプロセッサが第二のコプロセッサ命令に対して制御依存性を有する可能性があるか否かを示すものである(12)に記載のプロセッサシステム。
(14)少なくとも二つのコプロセッサを有し、フラグはコプロセッサ毎に対応して備えられた(12)に記載のプロセッサシステム。
(15)コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備えたことを特徴とするプロセッサシステム。
(16)少なくとも二つのコプロセッサを備え、信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行する(15)に記載のプロセッサシステム。
(17)命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行する(16)に記載のプロセッサシステム。
(18)主プロセッサは、供給される信号により書き換え可能なフラグと、コプロセッサ命令が供給されたとき、フラグが所定の値である場合にはコプロセッサで実行中のコプロセッサ命令の実行が完了した後に次のコプロセッサ命令をコプロセッサへ発行する命令発行手段とをさらに備えた(15)から(17)のいずれかに記載のプロセッサシステム。
【0067】
【発明の効果】
上述の如く、本発明に係るプロセッサシステムによれば、依存可能性表示データに基づいて第一のコプロセッサ命令における制御依存の可能性が容易に判断されるため、制御依存の可能性がないコプロセッサ命令については、投機的な命令の発行を迅速に行うことができる。
【0068】
また、主プロセッサは依存可能性表示データに基づいて第一のコプロセッサ命令の制御依存性を判断するため、第一のコプロセッサ命令の種類によらずその構成を統一的に決定することができる。従って、主プロセッサがコプロセッサに対する互換性を有するという意味で、投機的な命令発行の能力を向上させることができる。
【図面の簡単な説明】
【図1】従来のプロセッサシステムの構成を示す図である。
【図2】図1に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図3】従来のコプロセッサ命令の命令形式を示す図である。
【図4】従来のコプロセッサ指定レジスタを書き換える命令の命令形式を示す図である。
【図5】本発明の実施の形態1に係るプロセッサシステムの構成を示す図である。
【図6】図5に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図7】本発明の実施の形態1に係るコプロセッサ命令の命令形式を示す図である。
【図8】本発明の実施の形態2に係るプロセッサシステムの構成を示す図である。
【図9】図8に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図10】本発明の実施の形態3に係るプロセッサシステムの構成を示す図である。
【図11】図10に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図12】本発明の実施の形態3において、いずれかのフラグを書き換える命令の命令形式を示す図である。
【図13】本発明の実施の形態4に係るプロセッサシステムの構成を示す図である。
【図14】図13に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図15】本発明の実施の形態4において、実行中のコプロセッサ命令の実行完了を待つ命令の命令形式を示す図である。
【図16】本発明の実施の形態5に係るプロセッサシステムの構成を示す図である。
【図17】図16に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図18】本発明の実施の形態6に係るプロセッサシステムの構成を示す図である。
【図19】図18に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図20】本発明の実施の形態7に係るプロセッサシステムの構成を示す図である。
【図21】図20に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図22】図20に示されたコプロセッサ命令制御部と命令実行部の他の構成を示す図である。
【図23】本発明の実施の形態7において、実行中のコプロセッサ命令の実行完了を待つ命令の命令形式を示す図である。
【図24】本発明の実施の形態8に係るプロセッサシステムの構成を示す図である。
【図25】図24に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図26】図24に示されたコプロセッサ命令制御部と命令実行部の他の構成を示す図である。
【図27】本発明の実施の形態9に係るプロセッサシステムの構成を示す図である。
【図28】図27に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図29】図27に示されたコプロセッサ命令制御部と命令実行部の他の構成を示す図である。
【符号の説明】
1,15,21,31,41,51,61,71,81,91 主プロセッサ
3,17,23,33,43,53,63,73,83,93 メモリ
5,24,34,44,54,64,74,84,94 命令フェッチ部
7,27,37,47,57,67,77,78,87,88,97,98 命令実行部
9,26,36,66 レジスタ
11 コプロセッサ指定レジスタ(CR)
13,19,25,35,45,55,65,75,85,95 コプロセッサ命令制御部
29 フラグ
100,101 命令レジスタ
102 リソース判断部
103 リソースデコード部
104 例外デコード部
105 フラグ検出部
106,107,108 例外判断部
109 発行制御部
110 完了制御部
111,112〜114 スコアボード
115〜127 デコード部
129 書込制御部
131 実行制御部
133,134 フラグ書込制御部
135,136 同期制御部
137 第一同期制御部
CPR0〜CPRn コプロセッサ

Claims (8)

  1. コプロセッサに接続されるプロセッサであって、
    前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
    前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、
    前記プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
    前記依存可能性表示データは、第二のコプロセッサ命令に結合されると共に、第二のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサ。
  2. コプロセッサに接続されるプロセッサであって、
    前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
    前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え
    前記プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
    前記依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサ。
  3. 少なくとも二つのコプロセッサに接続され、
    前記信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、
    前記命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項1又は2に記載のプロセッサ
  4. 前記命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項1又は2に記載のプロセッサ
  5. コプロセッサと、前記コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、前記主プロセッサは、
    前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
    前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを 備え、
    前記主プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
    前記依存可能性表示データは、第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサシステム。
  6. コプロセッサと、前記コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、前記主プロセッサは、
    前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
    前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、
    前記主プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
    前記依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサシステム。
  7. 少なくとも二つのコプロセッサを備え、
    前記信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、
    前記命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項5又は6に記載のプロセッサシステム。
  8. 前記命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項5又は6に記載のプロセッサシステム。
JP29458099A 1999-10-15 1999-10-15 プロセッサ及びプロセッサシステム Expired - Fee Related JP4160705B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP29458099A JP4160705B2 (ja) 1999-10-15 1999-10-15 プロセッサ及びプロセッサシステム
EP10181089.3A EP2278453B1 (en) 1999-10-15 2000-09-07 Processor system with coprocessor
US09/657,349 US6775762B1 (en) 1999-10-15 2000-09-07 Processor and processor system
EP00307746A EP1093053A3 (en) 1999-10-15 2000-09-07 Processor system with coprocessor
KR1020000056669A KR20010050661A (ko) 1999-10-15 2000-09-27 프로세서 및 프로세서 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29458099A JP4160705B2 (ja) 1999-10-15 1999-10-15 プロセッサ及びプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2001117886A JP2001117886A (ja) 2001-04-27
JP4160705B2 true JP4160705B2 (ja) 2008-10-08

Family

ID=17809630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29458099A Expired - Fee Related JP4160705B2 (ja) 1999-10-15 1999-10-15 プロセッサ及びプロセッサシステム

Country Status (4)

Country Link
US (1) US6775762B1 (ja)
EP (2) EP1093053A3 (ja)
JP (1) JP4160705B2 (ja)
KR (1) KR20010050661A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325175A1 (en) * 2013-04-29 2014-10-30 Pact Xpp Technologies Ag Pipeline configuration protocol and configuration unit communication
GB2366426B (en) * 2000-04-12 2004-11-17 Ibm Coprocessor data processing system
US6842849B2 (en) * 2001-05-21 2005-01-11 Arm Limited Locking source registers in a data processing apparatus
US7073048B2 (en) * 2002-02-04 2006-07-04 Silicon Lease, L.L.C. Cascaded microcomputer array and method
US20050055594A1 (en) * 2003-09-05 2005-03-10 Doering Andreas C. Method and device for synchronizing a processor and a coprocessor
US7516302B2 (en) * 2006-12-19 2009-04-07 Arm Limited Efficient use of co-processor in platform independent instruction machine by controlling result transfer and translation and transfer timing of subsequent instruction based on instruction type for result forwarding
GB2539411B (en) * 2015-06-15 2017-06-28 Bluwireless Tech Ltd Data processing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454920B (sv) * 1986-10-03 1988-06-06 Ellemtel Utvecklings Ab Sett och anordning for att i en pa forhand avgjord ordningsfoljd exekvera tva instruktionssekvenser medelst separatminnen
EP0306891A3 (en) * 1987-09-11 1992-04-01 National Semiconductor Corporation Pipelined slave protocol for high performance cpu-fpu cluster
JPH0679307B2 (ja) * 1987-10-22 1994-10-05 日本電気株式会社 コプロセッサの並行動作制御方式
DE3886203T2 (de) * 1988-04-02 1994-05-19 Ibm Prozessor-Prozessor-Synchronisierung.
US5197138A (en) * 1989-12-26 1993-03-23 Digital Equipment Corporation Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
US6327648B1 (en) * 1994-12-09 2001-12-04 Cirrus Logic, Inc. Multiprocessor system for digital signal processing
US5790880A (en) * 1996-01-04 1998-08-04 Advanced Micro Devices Microprocessor configured to dynamically connect processing elements according to data dependencies
EP1291765B1 (en) * 1996-08-27 2009-12-30 Panasonic Corporation Multithreaded processor for processing multiple instruction streams independently of each other by flexibly controlling throughput in each instruction stream
KR0175740B1 (ko) * 1996-10-23 1999-05-15 한국전자통신연구원 고속병렬컴퓨터에서 태스크 병렬성을 위한 태스크간 통신 방법
US5781752A (en) * 1996-12-26 1998-07-14 Wisconsin Alumni Research Foundation Table based data speculation circuit for parallel processing computer
US5923893A (en) * 1997-09-05 1999-07-13 Motorola, Inc. Method and apparatus for interfacing a processor to a coprocessor
US5961630A (en) * 1997-12-30 1999-10-05 Intel Corporation Method and apparatus for handling dynamic structural hazards and exceptions by using post-ready latency

Also Published As

Publication number Publication date
EP1093053A2 (en) 2001-04-18
EP2278453B1 (en) 2013-05-15
US6775762B1 (en) 2004-08-10
EP2278453A1 (en) 2011-01-26
KR20010050661A (ko) 2001-06-15
JP2001117886A (ja) 2001-04-27
EP1093053A3 (en) 2005-12-21

Similar Documents

Publication Publication Date Title
JP5646656B2 (ja) 複数の命令セットにより使用されるレジスタ間のマッピング
US6009509A (en) Method and system for the temporary designation and utilization of a plurality of physical registers as a stack
US4954943A (en) Data processing system
US6338134B1 (en) Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
JP3556246B2 (ja) パイプラインプロセッサにおける割込み処理のための装置
JP2653037B2 (ja) データ処理システム
JP2535252B2 (ja) 並列処理装置
JP4160705B2 (ja) プロセッサ及びプロセッサシステム
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
JPS62115542A (ja) 情報処理装置
JP2553200B2 (ja) 情報処理装置
JPS6161416B2 (ja)
JP3915019B2 (ja) Vliwプロセッサ、プログラム生成装置、および記録媒体
JP3437135B2 (ja) プログラム実行制御システム及びその方法
JP3019818B2 (ja) データ処理方法
JP2856784B2 (ja) 電子計算機
JP3057732B2 (ja) 情報処理装置
JPH1173301A (ja) 情報処理装置
JP2901573B2 (ja) スーパースカラー方式の情報処理装置
KR20000076615A (ko) 프로그램 실행제어 시스템 및 그 방법
JPH0424731B2 (ja)
JPH05241825A (ja) マイクロプロセッサ
JPH05307483A (ja) レジスタ書き込み制御方法および回路
JP2000305782A (ja) 演算装置
JPH07262009A (ja) パイプライン処理コンピュータ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130725

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees