JP2004280677A - Bus controller and method for controlling data access for same - Google Patents

Bus controller and method for controlling data access for same Download PDF

Info

Publication number
JP2004280677A
JP2004280677A JP2003073697A JP2003073697A JP2004280677A JP 2004280677 A JP2004280677 A JP 2004280677A JP 2003073697 A JP2003073697 A JP 2003073697A JP 2003073697 A JP2003073697 A JP 2003073697A JP 2004280677 A JP2004280677 A JP 2004280677A
Authority
JP
Japan
Prior art keywords
access information
access
priority
information
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003073697A
Other languages
Japanese (ja)
Inventor
Junichi Matsushita
潤一 松下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003073697A priority Critical patent/JP2004280677A/en
Publication of JP2004280677A publication Critical patent/JP2004280677A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a bus controller and its data access control method capable of preventing delay in reply of data access. <P>SOLUTION: When a processor 51 sends access information to a bus 41, a memory control unit 12 of the bus controller 1 acquires the access information. The memory control unit 12 decides whether or not effective data are stored in a memory 11. When the memory control unit 12 decides that the effective data are not stored in the memory 11, a priority identification part 13 decides the priority of transaction processing on the basis of the access information and notifies an information storage part 14 of the decision result. The information storage part 14 sets "1" to an identification flag of the address information of access information when the priority is made high, and registers the access information. Then, the information storage part 14 sends the access information with the identification flag attached to a bus 3. The bus controller 2 acquires the access information, identifies the identification flag, and moves up order of the transaction processing. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、バス制御装置及びそのデータアクセス制御方法に関する。
【0002】
【従来の技術】
プロセッサ制御装置として、データのアクセス速度を向上させるため、複数のプロセッサを備え、バスを階層化して複数のプロセッサを接続したマルチプロセッサ制御装置がある(例えば、特許文献1参照)。
【0003】
このようなマルチプロセッサ制御装置では、バス上のトラフィックを制御するため、階層化された複数のバスに接続されて、処理部としてのプロセッサからプロセッサへのデータアクセスを制御するバス制御装置が備えられる。
【0004】
このようなバス制御装置は、階層上位の共通バスに接続されるプロセッサからのデータアクセスを要求するためのアクセス情報に対し、この要求に対応する返却可能な有効データを保持していれば、この有効データを返送する。有効データを保持していなければ、バス制御装置は、返送が可能な有効データを取得するまで返送処理を保留する。この場合、データ返送を保留したバス制御装置は、プロセッサから発行されたアクセス情報を、階層が異なるバスに転送し、他のプロセッサ等からこのバスを介して返送に必要な有効データを取得する。バス制御装置は、取得した有効データをデータ要求元であるプロセッサヘ返送する。
【0005】
【特許文献1】
特開2000−66953号公報(第2−5頁、図1)
【0006】
【発明が解決しようとする課題】
しかし、このようにバスが階層化されていると、複数のバス制御装置が接続されている共通バスのトラフィックが高くなる場合がある。バス制御装置は、共通バスのトラフィックが高いと、転送したアクセス情報に対する処理を保留するため、アクセス情報の受付順が後になるほど、このアクセス情報に対応するトラフィック処理の処理順序は下位になる。従って、要求元であるプロセッサヘのデータ返送が遅くなるという不都合が生じる。
【0007】
本発明は、このような従来の問題点に鑑みてなされたもので、データアクセスの応答遅れを防止することが可能なバス制御装置及びそのデータアクセス制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
この目的を達成するため、本発明の第1の観点に係るバス制御装置は、
複数のバスに接続されて、前記複数のバスにそれぞれ接続される処理部から処理部へのデータアクセスを制御するバス制御装置において、
データへのアクセスを要求するために前記処理部から発行されたアクセス情報を前記バスを介して取得し、前記取得したアクセス情報を参照し、異なる処理部のデータに前記バスを介してアクセスするときに前記アクセス情報に対して行われるトランザクション処理の優先度を設定する優先度設定部と、
前記優先度設定部が設定した優先度を識別するための識別情報を前記アクセス情報に付加して当該アクセス情報を格納するとともに、前記識別情報が付加されたアクセス情報を前記バスに送出する情報格納部と、を備えたものである。
【0009】
前記処理部から発行されたアクセス情報は、当該アクセス情報の発行時刻の情報を含み、
前記優先度設定部は、前記アクセス情報として当該情報の発行時刻を参照し、前記アクセス情報の発行時刻から現時刻までの経過時間が長いほど、前記トランザクション処理が早く実行されるように前記優先度を設定し、前記設定した優先度を指定するための識別情報を前記アクセス情報に付加するように構成されたものであってもよい。
【0010】
前記優先度設定部は、前記アクセス情報として前記要求するアクセスの内容を参照し、前記アクセス内容の重要度が高いほど、前記トランザクション処理が早く実行されるように前記優先度を設定し、前記設定した優先度を指定するための識別情報を前記アクセス情報に付加するように構成されたものであってもよい。
【0011】
前記バス制御装置は、前記識別情報が付加されたアクセス情報を前記バスを介して取得したときは、前記アクセス情報に付加されている識別情報を参照して前記優先度を識別し、識別した優先度に従ってトランザクション処理の処理順を設定し、設定した処理順に従って前記トランザクション処理を実行する応答処理部を備えたものであってもよい。
【0012】
前記応答処理部は、前記アクセス情報に付加されている識別情報に基づいて識別した優先度が、保留しているトランザクション処理の優先度よりも高ければ、前記取得したアクセス情報に対応するトランザクション処理の処理順を繰り上げて前記トランザクション処理を実行するように構成されたものであってもよい。
【0013】
本発明の第2の観点に係るバス制御装置のデータアクセス制御方法は、
複数のバスに接続されて、前記複数のバスにそれぞれ接続される処理部から処理部へのデータアクセスを制御するバス制御装置のデータアクセス制御方法であって、
前記データのアクセス要求元から発行されたアクセス情報を前記バスを介して取得するステップと、
前記取得したアクセス情報を参照して、異なる処理部のデータに前記バスを介してアクセスするときに前記アクセス情報に対して行われるトランザクション処理の優先度を設定するステップと、
前記設定した優先度を指定するための識別情報を前記アクセス情報に付加するステップと、
前記識別情報が付加されたアクセス情報を前記バスに送出するステップと、を備えたものである。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態に係るバス制御装置を図面を参照して説明する。
尚、本実施の形態では、バス制御装置を、複数のプロセッサを制御するマルチプロセッサ制御装置に適用した場合について説明する。また、本実施の形態では、バス制御装置を2つとして説明する。
【0015】
本実施の形態に係るマルチプロセッサ制御装置の構成を図1に示す。
本実施の形態に係るマルチプロセッサ制御装置は、バス制御装置1,2と、プロセッサ51,51,53,54と、を備える。バス3、バス41,42は、図1に示すように階層化されている。
【0016】
プロセッサ51〜54は、データ処理を行う処理部であり、プロセッサ51,52は、バス41に接続され、プロセッサ53,54は、バス42に接続される。プロセッサ51〜54は、それぞれ、送受信するデータを記憶するためのキャッシュメモリ(図示せず)を備え、互いにアクセス情報を発行して必要なデータへのアクセスを要求したり、要求されたデータを送出したりする。
【0017】
プロセッサ51〜54が発行するアクセス情報は、このアクセス情報を発行する時刻を示す情報と、アクセス対象のデータを指定するためのアドレス情報と、データの読み出し、書き込みといった要求するアクセスの内容を示す情報とを含む。
【0018】
バス制御装置1,2は、ともにバス3に接続される。また、バス制御装置1は、バス41に接続され、バス制御装置2は、バス42に接続される。バス制御装置1,2は、このように階層化された複数のバス3,41,42に接続され、バス3,41,42を介してプロセッサ51〜54間で行われるデータのアクセスを制御する。
【0019】
バス制御装置1は、メモリ11と、メモリ制御部12と、優先度識別部13と、情報格納部14と、応答返送部15と、を備える。
メモリ11は、プロセッサ51又は52に返送可能な有効データを一時記憶するものである。この有効データは、プロセッサ51又は52が発行したデータを要求する旨のアクセス情報に従って、プロセッサ53又は54,あるいは、図示しないメモリから既に読み出されたデータである。メモリ11は、有効データの記憶の有無を示すデータ登録情報を記憶する。
【0020】
メモリ制御部12は、メモリ11にデータを書き込んだり、読み出したりするものである。メモリ制御部12は、プロセッサ51又は52からのアクセス情報を取得して、アクセス情報に含まれるアドレス情報をメモリ11に出力し、格納されているデータ登録情報を読み出す。メモリ制御部12は、読み出したデータ登録情報に基づいてプロセッサ51又は52ヘの返送の為の有効データがあるか否かの判定を行う。
【0021】
メモリ制御部12は、前記返送可能な有効データがメモリ11に格納されていると判定すれば、メモリ11に、この有効データの出力を指示し、応答返送部15に、メモリ11から出力された有効データの返送を指示する。また、メモリ制御部12は、有効データがメモリ11に格納されていないと判定すれば、情報格納部14に、アクセス情報の登録を指示するとともに、優先度識別部13に、プロセッサ51又は52が発行したアクセス情報に対して行われるトランザクション処理の優先度を判別する旨の指示を行う。
【0022】
優先度識別部13は、優先度設定部に相当するものであり、メモリ制御部12からトランザクション処理の優先度を判別するように指示されると、プロセッサ51又は52が発行したアクセス情報をバス41を介して取得し、取得したアクセス情報を参照して、トランザクション処理の優先度を設定する。
【0023】
優先度識別部13は、プロセッサ51又は52が発行するアクセス情報に含まれているアクセス情報の発行時刻の情報、あるいはアクセスの内容を示す情報を参照して優先度を設定する。
【0024】
即ち、優先度識別部13は、アクセス情報の発行時刻の情報から、アクセス情報が発行されてから現時刻までの経過時間を判別する。そして、アクセス情報が発行されてから長い時間が経過している場合、優先度識別部13は、このアクセス情報に対応するトランザクション処理の優先度を高くする。このようにして、バス制御装置1は、プロセッサ51又は52が発行するアクセス情報に対し、データアクセスの応答遅れを防止する。
【0025】
また、優先度識別部13は、メモリ21からのデータの読み出し、メモリ21への書き込みといった処理速度が要求されるトランザクション処理に関しては、アクセス内容の重要度は高いと判定する。また、優先度識別部13は、プロセッサ51又は52が行う処理と比較して処理速度が遅いI/O装置(図示せず)へのデータの出力といったトランザクション処理に関しては、重要度は低いと判定する。
【0026】
優先度識別部13は、このように判定すると、重要度の高低に基づいて優先度を設定する。優先度識別部13がこのように優先度を設定することにより、バス制御装置1は、重要度の高いトランザクション処理の応答遅れを防止する。優先度識別部13は、この優先度を情報格納部14に通知する。
【0027】
情報格納部14は、プロセッサ51又は52からのアクセス情報を格納するものであり、メモリ制御部12からアクセス情報の登録を指示されると、プロセッサ51又は52からのアクセス情報の登録を行い、このアクセス情報を格納する。情報格納部14は、優先度識別部13から通知された優先度に基づいて、この優先度を指定するための識別フラグを、登録したアクセス情報に含まれているアドレス情報に付加する。
【0028】
情報格納部14は、優先度識別部13から優先度が高い旨の通知が行われると、識別フラグに‘1’(イネーブル)をセットする。また、情報格納部14は、優先度識別部13から優先度が低い旨の通知が行われると、識別フラグに‘0’(ディセーブル)をセットする。
【0029】
また、情報格納部14は、データ返送に必要な有効データがバス制御装置2のメモリ21に格納されていれば、このメモリ21から有効データを読み出すため、バス3を介してバス制御装置2に、識別フラグを付加したアクセス情報を転送する。
【0030】
応答返送部15は、応答処理部に相当するものであり、メモリ制御部12からの指示に従って、メモリ11から出力された有効データを、バス41を介してデータ要求元のプロセッサ51又は52に返送する。
また、応答返送部15は、バス3を介して有効データが返送された場合、返送された有効データを、バス41を介してデータ要求元のプロセッサ51又は52に返送する。
【0031】
また、応答返送部15は、例えば、バス制御装置2からバス3を介してアクセス情報が転送されると、このアクセス情報を受け付ける。応答返送部15は、バス制御装置2からのアクセス情報の受け付けると、受け付けたアクセス情報のアドレス情報に付加されている識別フラグを参照する。そして、応答返送部15は、この識別フラグに従ってトランザクション処理の処理順位を設定し、識別フラグのフラグ値が‘1’であれば、トランザクション処理の処理順を繰り上げて、このトランザクション処理を実行する。
【0032】
バス制御装置2も、バス制御装置1と同様に、メモリ21と、メモリ制御部22と、優先度識別部23と、情報格納部24と、応答返送部25と、を備える。メモリ21、メモリ制御部22、優先度識別部23、情報格納部24、応答返送部25は、それぞれ、メモリ11、メモリ制御部12、優先度識別部13、情報格納部14、応答返送部15と同様に動作するものである。
【0033】
次に本実施の形態に係るバス制御装置1,2の動作を説明する。
尚、ここでは、プロセッサ51がデータを要求する旨のアクセス情報を発行し、有効データがメモリ11に格納されていなければ、バス制御装置1がバス制御装置2にアクセス情報を転送するものとして説明する。
【0034】
プロセッサ51がアクセス情報を発行する場合の動作を図2及び図3に示すフローチャートと図4に示すタイミングチャートに基づいて説明する。
プロセッサ51は、データを要求する場合、バス41を介してバス制御装置1に、データを要求する旨のアクセス情報を発行する(ステップS11)。
【0035】
バス制御装置1のメモリ制御部12は、バス41を介してプロセッサ51が発行したアクセス情報を取得する(ステップS12)。
メモリ制御部12は、取得したアクセス情報に含まれているアドレス情報をメモリ11に出力する(ステップS13)。
【0036】
メモリ制御部12は、メモリ11からデータ登録情報を読み出す(ステップS14)。
メモリ制御部12は、読み出したデータ登録情報に基づいて、有効データが登録されているか否かを判定する(ステップS15)。
【0037】
有効データが登録されていると判定した場合(ステップS15においてYes)、メモリ制御部12は、有効データの出力をメモリ11に指示する(ステップS16)。メモリ11は、この指示に従って有効データを応答返送部15に出力する(ステップS17)。
【0038】
メモリ制御部12は、応答返送部15に有効データの返送を指示する(ステップS18)。
応答返送部15は、メモリ制御部12からの指示に従って、メモリ11から出力されたデータを登録し、バス41を介してプロセッサ51へ有効データを返送する(ステップS19)。
【0039】
一方、有効データが登録されていないと判定した場合(ステップS15においてNo)、メモリ制御部12は、アクセスの指示を一旦終了させ、プロセッサ51へのデータ返送処理を保留する(ステップS20)。
【0040】
メモリ制御部12は、情報格納部14ヘ、アクセス情報の登録を指示する(ステップS21)。
また、メモリ制御部12は、優先度識別部13にトランザクション処理の優先度を判定するように指示する(ステップS22)。
【0041】
優先度識別部13は、メモリ制御部12からの指示に従って、当該アクセスの優先度を高くするか否かを判定する(ステップS23)。前述のように、優先度識別部13は、この判定をアクセス情報に含まれているアクセス情報の発行時刻とアクセス内容とに基づいて行う。
【0042】
当該アクセスの優先度を高くしないと判定した場合(ステップS23においてNo)、優先度識別部13は、情報格納部14に、当該アクセスの優先度を高くしない旨の通知を行う(ステップS24)。
【0043】
情報格納部14は、優先度識別部13から、この通知を受け取って、識別フラグのフラグ値に‘0’をセットして、この識別フラグをアドレス情報に付加する(ステップS25)。
【0044】
一方、当該アクセスの優先度を高くすると判定した場合(ステップS23においてYes)、優先度識別部13は、情報格納部14に、当該アクセスの優先度を高くする旨の通知を行う(ステップS26)。
【0045】
情報格納部14は、優先度識別部13から、この通知を受け取って、識別フラグのフラグ値に‘1’をセットして、この識別フラグをアドレス情報に付加する(ステップS27)。
情報格納部14は、メモリ制御部12からの指示に従って、識別フラグを付加したアクセス情報を登録する(ステップS28)。
【0046】
情報格納部14は、バス制御装置2のメモリ21から有効データを読み出す為、識別フラグを付加したアクセス情報をバス3に送出する(ステップS29)。
【0047】
次に、バス制御装置1が送出したアクセス情報をバス制御装置2が受け取った場合の動作を図5に示すフローチャートに基づいて説明する。
バス制御装置2の応答返送部25は、バス制御装置1が送出したアクセス情報を、バス3を介して受け付ける(ステップS31)。
【0048】
応答返送部25は、返送する有効データを取得したか否かを判定する(ステップS32)。
応答返送部25は、返送する有効データを、メモリ21又は、プロセッサ53,54から取得した場合(ステップS32においてYes)、取得した有効データを返送する(ステップS33)。応答返送部25が有効データを返却すると、バス制御装置2は、この処理を終了させる。
【0049】
一方、応答返送部25は、返却する有効データをまだ取得していないと判定した場合(ステップS32においてNo)、応答返送部25は、アクセス情報のアドレス情報に付加されている識別フラグを参照する(ステップS34)。
【0050】
応答返送部25は、参照した識別フラグのフラグ値に基づいて当該アクセスに対応するトランザクション処理の処理順位を繰り上げるか否かの判定を行う(ステップS35)。
【0051】
識別フラグのフラグ値が‘1’(イネーブル)である場合(ステップS35においてYes)、応答返送部25は、当該アクセスに対応するトランザクション処理を優先的に処理すると判定する。この場合、応答返送部25は、保留しているアクセス情報がある場合でも、当該アクセスのトランザクション処理の処理順位を繰り上げる(ステップS36)。
【0052】
一方、識別フラグのフラグ値が‘0’(ディセーブル)である場合(ステップS35においてNo)、応答返送部25は、当該アクセスの優先的な処理は行わないと判定する。この場合、応答返送部25は、アクセス情報を受け付けた順にトランザクション処理を行う。
【0053】
そして、アクセス情報に対応する有効データを取得すると(ステップS37)、取得した有効データを、当該アクセス情報の送出元であるバス制御装置1に転送する(ステップS38)。
【0054】
次に、送信したアクセス情報に応答して有効データが返送された場合のバス制御装置1の動作を図6に示すフローチャートと図7に示すタイミングチャートとに基づいて説明する。
バス制御装置1の応答返送部15は、送信したアクセス情報に応答して返送された有効データを取得する(ステップS41)。
【0055】
応答返送部15は、情報格納部14に登録されているアクセス情報を参照する(ステップS42)。
応答返送部15は、参照したアクセス情報に基づいて、取得したデータが、プロセッサ51から要求された有効データであるか否かを判定する(ステップS43)。
【0056】
取得したデータが、プロセッサ51から要求された有効データである場合(ステップS43においてYes)、応答返送部15は、取得したデータを、プロセッサ51の有効データとして、データ要求元のプロセッサ51に返送する(ステップS44)。
【0057】
一方、取得したデータが、プロセッサ51から要求された有効データでなければ(ステップS43においてNo)、応答返送部15は、取得したデータを、他のバス制御装置に転送する(ステップS45)。
【0058】
以上説明したように、本実施の形態によれば、有効データがメモリ11に記憶されていなければ、アクセス情報に優先度に設定し、優先度の高いアクセスについては、識別フラグに‘1’をセットして、アクセス情報を異なるバス制御装置に転送するようにした。
【0059】
従って、共通バスのトラフィックが高く、バス制御装置内での保留トランザクションが多い場合でも、データアクセスに対する有効データ取得をいち早く行えるようになり、データアクセスに対するデータ返却の応答時間を短縮することができる。
【0060】
尚、本発明を実施するにあたっては、種々の形態が考えられ、上記実施の形態に限られるものではない。
例えば、上記実施の形態では、プロセッサが4つの場合について説明したが、プロセッサの数は、これに限られるものではない。また、バス制御装置も2つに限られるものではなく、3つ以上であってもよい。
【0061】
また、上記実施の形態では、アクセス情報がバス制御装置1に発行され、このアクセス情報を受け取ったバス制御装置2におけるトランザクション優先制御処理について説明した。しかし、アクセス情報がバス制御装置2に発行され、バス制御装置1に転送される場合についても、上記実施の形態を同様に適用することができる。
【0062】
データアクセスは、データ要求に限られず、データの書き込み等も含む。本実施の形態では、識別情報として識別フラグを用いた。しかし、識別情報を数ビットのデータで構成することもでき、優先度を数段階に設定することもできる。
【0063】
【発明の効果】
以上説明したように、本発明によれば、データアクセスの応答遅れを防止することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るマルチプロセッサ制御装置の構成を示すブロック図である。
【図2】図1のバス制御装置が行うアクセス情報発行時の処理(1)を示すフローチャートである。
【図3】図1のバス制御装置が行うアクセス情報発行時の処理(2)を示すフローチャートである。
【図4】図1のバス制御装置が行うアクセス情報発行時の処理を示すタイミングチャートである。
【図5】図1のバス制御装置が行うアクセス情報の受付処理を示すフローチャートである。
【図6】図1のバス制御装置が行う有効データの返却処理を示すフローチャートである。
【図7】図1のバス制御装置が行う有効データの返却処理を示すタイミングチャートである。
【符号の説明】
1,2 バス制御装置
3 バス
11,21 メモリ
12,22 メモリ制御部
13,23 優先度識別部
14,24 情報格納部
15,25 応答返送部
41,42 バス
51〜54 プロセッサ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a bus control device and a data access control method thereof.
[0002]
[Prior art]
2. Description of the Related Art As a processor control device, there is a multiprocessor control device that includes a plurality of processors and hierarchizes a bus to connect the plurality of processors in order to improve data access speed (for example, see Patent Document 1).
[0003]
Such a multiprocessor control device includes a bus control device that is connected to a plurality of hierarchized buses and controls data access from a processor as a processing unit to the processor in order to control traffic on the bus. .
[0004]
Such a bus control device, if it holds returnable valid data corresponding to this request in response to access information for requesting data access from a processor connected to a higher-level common bus, Return valid data. If the bus control device does not hold the valid data, the bus control device suspends the return processing until obtaining valid data that can be returned. In this case, the bus control device that has suspended the data return transfers the access information issued from the processor to a bus having a different hierarchy, and acquires valid data necessary for return from another processor or the like via this bus. The bus control device returns the obtained valid data to the processor that has requested the data.
[0005]
[Patent Document 1]
JP-A-2000-66953 (page 2-5, FIG. 1)
[0006]
[Problems to be solved by the invention]
However, when the buses are hierarchized in this way, the traffic on the common bus to which a plurality of bus control devices are connected may increase. When the traffic on the common bus is high, the bus control device suspends the processing for the transferred access information. Therefore, the later the reception order of the access information is, the lower the processing order of the traffic processing corresponding to the access information becomes. Therefore, there is an inconvenience that data return to the requesting processor is delayed.
[0007]
The present invention has been made in view of such conventional problems, and has as its object to provide a bus control device and a data access control method capable of preventing a delay in response to data access.
[0008]
[Means for Solving the Problems]
In order to achieve this object, the bus control device according to the first aspect of the present invention includes:
In a bus control device connected to a plurality of buses and controlling data access to a processing unit from a processing unit connected to each of the plurality of buses,
When acquiring access information issued from the processing unit for requesting access to data via the bus, referring to the acquired access information, and accessing data of a different processing unit via the bus. A priority setting unit that sets a priority of a transaction process performed on the access information;
Information storage for adding identification information for identifying the priority set by the priority setting unit to the access information and storing the access information, and transmitting the access information with the identification information added to the bus And a part.
[0009]
The access information issued from the processing unit includes information on the issue time of the access information,
The priority setting unit refers to the issue time of the information as the access information, and sets the priority such that the longer the elapsed time from the issue time of the access information to the current time, the earlier the transaction process is executed. And the identification information for specifying the set priority may be added to the access information.
[0010]
The priority setting unit refers to the content of the requested access as the access information, and sets the priority such that the higher the importance of the access content is, the earlier the transaction process is executed. It may be configured to add identification information for specifying the priority given to the access information.
[0011]
The bus control device, when acquiring the access information with the identification information added thereto through the bus, identifies the priority by referring to the identification information added to the access information, and identifies the identified priority. A response processing unit may be provided which sets the processing order of the transaction processing according to the degree and executes the transaction processing according to the set processing order.
[0012]
The response processing unit, if the priority identified based on the identification information added to the access information is higher than the priority of the pending transaction processing, the transaction processing corresponding to the acquired access information The transaction processing may be executed by moving up the processing order.
[0013]
A data access control method for a bus control device according to a second aspect of the present invention includes:
A data access control method of a bus control device connected to a plurality of buses and controlling data access to a processing unit from a processing unit connected to each of the plurality of buses,
Obtaining via the bus access information issued from the access request source of the data,
Referring to the acquired access information, setting a priority of a transaction process performed on the access information when accessing data of a different processing unit via the bus;
Adding identification information for specifying the set priority to the access information,
Transmitting the access information to which the identification information has been added to the bus.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a bus control device according to an embodiment of the present invention will be described with reference to the drawings.
In the present embodiment, a case will be described in which the bus control device is applied to a multiprocessor control device that controls a plurality of processors. Further, in the present embodiment, a description will be given assuming that there are two bus control devices.
[0015]
FIG. 1 shows the configuration of the multiprocessor control device according to the present embodiment.
The multiprocessor control device according to the present embodiment includes bus control devices 1 and 2, and processors 51, 51, 53, and 54. The buses 3, 41, and 42 are hierarchized as shown in FIG.
[0016]
The processors 51 to 54 are processing units that perform data processing. The processors 51 and 52 are connected to the bus 41, and the processors 53 and 54 are connected to the bus 42. Each of the processors 51 to 54 includes a cache memory (not shown) for storing data to be transmitted and received, issues access information to each other to request access to necessary data, and sends out the requested data. Or
[0017]
The access information issued by the processors 51 to 54 includes information indicating a time at which the access information is issued, address information for designating data to be accessed, and information indicating the contents of requested access such as data reading and writing. And
[0018]
The bus controllers 1 and 2 are both connected to the bus 3. Further, the bus control device 1 is connected to the bus 41, and the bus control device 2 is connected to the bus 42. The bus control devices 1 and 2 are connected to the plurality of hierarchized buses 3, 41 and 42, and control data access performed between the processors 51 to 54 via the buses 3, 41 and 42. .
[0019]
The bus control device 1 includes a memory 11, a memory control unit 12, a priority identification unit 13, an information storage unit 14, and a response return unit 15.
The memory 11 temporarily stores valid data that can be returned to the processor 51 or 52. The valid data is data that has already been read from the processor 53 or 54 or a memory (not shown) according to the access information requesting the data issued by the processor 51 or 52. The memory 11 stores data registration information indicating whether valid data is stored.
[0020]
The memory control unit 12 writes and reads data to and from the memory 11. The memory control unit 12 obtains access information from the processor 51 or 52, outputs address information included in the access information to the memory 11, and reads stored data registration information. The memory control unit 12 determines whether there is valid data for returning to the processor 51 or 52 based on the read data registration information.
[0021]
If the memory control unit 12 determines that the valid data that can be returned is stored in the memory 11, the memory control unit 12 instructs the memory 11 to output the valid data, and outputs the valid data to the response returning unit 15 from the memory 11. Instruct return of valid data. If the memory control unit 12 determines that valid data is not stored in the memory 11, the memory control unit 12 instructs the information storage unit 14 to register access information. An instruction is given to determine the priority of the transaction processing performed on the issued access information.
[0022]
The priority identifying unit 13 corresponds to a priority setting unit. When the memory control unit 12 instructs to determine the priority of the transaction processing, the priority identifying unit 13 transmits the access information issued by the processor 51 or 52 to the bus 41. And sets the transaction processing priority by referring to the obtained access information.
[0023]
The priority identification unit 13 sets the priority with reference to the information on the issue time of the access information included in the access information issued by the processor 51 or 52 or the information indicating the content of the access.
[0024]
That is, the priority identifying unit 13 determines the elapsed time from the issuance of the access information to the current time from the information on the issuance time of the access information. Then, if a long time has elapsed since the access information was issued, the priority identifying unit 13 increases the priority of the transaction processing corresponding to the access information. In this way, the bus control device 1 prevents a response delay of data access to the access information issued by the processor 51 or 52.
[0025]
In addition, the priority identifying unit 13 determines that the importance of the access content is high for the transaction processing that requires a processing speed, such as reading data from the memory 21 and writing to the memory 21. Further, the priority identifying unit 13 determines that the transaction processing such as outputting data to an I / O device (not shown) whose processing speed is lower than the processing performed by the processor 51 or 52 has a low importance. I do.
[0026]
Upon determining in this way, the priority identifying unit 13 sets a priority based on the level of importance. By setting the priority by the priority identification unit 13 in this manner, the bus control device 1 prevents a response delay of transaction processing with high importance. The priority identification unit 13 notifies the information storage unit 14 of this priority.
[0027]
The information storage unit 14 stores access information from the processor 51 or 52. When the memory control unit 12 instructs registration of the access information, the information storage unit 14 registers the access information from the processor 51 or 52. Stores access information. The information storage unit 14 adds an identification flag for specifying this priority to the address information included in the registered access information based on the priority notified from the priority identification unit 13.
[0028]
When the priority identifying unit 13 notifies the information storing unit 14 that the priority is high, the information storing unit 14 sets the identification flag to “1” (enable). Further, when the priority identifying unit 13 notifies the information storing unit 14 that the priority is low, the information storing unit 14 sets the identification flag to “0” (disable).
[0029]
If valid data necessary for returning data is stored in the memory 21 of the bus control device 2, the information storage unit 14 reads the valid data from the memory 21 to the bus control device 2 via the bus 3. Then, the access information to which the identification flag is added is transferred.
[0030]
The response returning unit 15 corresponds to a response processing unit, and returns valid data output from the memory 11 to the processor 51 or 52 that has issued the data request via the bus 41 in accordance with an instruction from the memory control unit 12. I do.
When the valid data is returned via the bus 3, the response returning unit 15 returns the returned valid data to the processor 51 or 52 that has issued the data via the bus 41.
[0031]
In addition, for example, when the access information is transferred from the bus control device 2 via the bus 3, the response returning unit 15 receives the access information. When receiving the access information from the bus control device 2, the response returning unit 15 refers to the identification flag added to the address information of the received access information. Then, the response returning unit 15 sets the processing order of the transaction processing according to the identification flag, and if the flag value of the identification flag is “1”, advances the processing order of the transaction processing and executes the transaction processing.
[0032]
Similarly to the bus control device 1, the bus control device 2 includes a memory 21, a memory control unit 22, a priority identification unit 23, an information storage unit 24, and a response returning unit 25. The memory 21, the memory control unit 22, the priority identification unit 23, the information storage unit 24, and the response return unit 25 are respectively a memory 11, a memory control unit 12, a priority identification unit 13, an information storage unit 14, and a response return unit 15. It operates similarly to.
[0033]
Next, the operation of the bus control devices 1 and 2 according to the present embodiment will be described.
Here, the description will be made on the assumption that the processor 51 issues access information requesting data, and that if the valid data is not stored in the memory 11, the bus control device 1 transfers the access information to the bus control device 2. I do.
[0034]
The operation when the processor 51 issues the access information will be described based on the flowcharts shown in FIGS. 2 and 3 and the timing chart shown in FIG.
When requesting data, the processor 51 issues access information for requesting data to the bus control device 1 via the bus 41 (step S11).
[0035]
The memory control unit 12 of the bus control device 1 acquires the access information issued by the processor 51 via the bus 41 (Step S12).
The memory control unit 12 outputs the address information included in the acquired access information to the memory 11 (Step S13).
[0036]
The memory control unit 12 reads the data registration information from the memory 11 (Step S14).
The memory control unit 12 determines whether valid data is registered based on the read data registration information (Step S15).
[0037]
When determining that valid data is registered (Yes in step S15), the memory control unit 12 instructs the memory 11 to output valid data (step S16). The memory 11 outputs valid data to the response returning unit 15 according to the instruction (Step S17).
[0038]
The memory control unit 12 instructs the response returning unit 15 to return valid data (step S18).
The response returning unit 15 registers the data output from the memory 11 according to the instruction from the memory control unit 12, and returns valid data to the processor 51 via the bus 41 (Step S19).
[0039]
On the other hand, when it is determined that valid data is not registered (No in step S15), the memory control unit 12 temporarily terminates the access instruction and suspends the process of returning data to the processor 51 (step S20).
[0040]
The memory control unit 12 instructs the information storage unit 14 to register the access information (Step S21).
Further, the memory control unit 12 instructs the priority identification unit 13 to determine the priority of the transaction processing (Step S22).
[0041]
The priority identifying unit 13 determines whether to increase the priority of the access according to the instruction from the memory control unit 12 (Step S23). As described above, the priority identifying unit 13 makes this determination based on the access information issuance time and the access content included in the access information.
[0042]
If it is determined that the priority of the access is not to be increased (No in step S23), the priority identifying unit 13 notifies the information storage unit 14 that the priority of the access is not to be increased (step S24).
[0043]
The information storage unit 14 receives this notification from the priority identification unit 13, sets the flag value of the identification flag to '0', and adds this identification flag to the address information (step S25).
[0044]
On the other hand, when it is determined that the priority of the access is to be increased (Yes in step S23), the priority identifying unit 13 notifies the information storage unit 14 that the priority of the access is to be increased (step S26). .
[0045]
The information storage unit 14 receives this notification from the priority identification unit 13, sets “1” to the flag value of the identification flag, and adds the identification flag to the address information (step S27).
The information storage unit 14 registers the access information added with the identification flag according to the instruction from the memory control unit 12 (Step S28).
[0046]
The information storage unit 14 sends out access information to which the identification flag has been added to the bus 3 in order to read valid data from the memory 21 of the bus control device 2 (Step S29).
[0047]
Next, an operation when the bus control device 2 receives the access information transmitted by the bus control device 1 will be described based on a flowchart shown in FIG.
The response returning unit 25 of the bus control device 2 receives the access information transmitted by the bus control device 1 via the bus 3 (Step S31).
[0048]
The response returning unit 25 determines whether or not the valid data to be returned has been acquired (Step S32).
When obtaining the valid data to be returned from the memory 21 or the processors 53 and 54 (Yes in step S32), the response returning unit 25 returns the obtained valid data (step S33). When the response returning unit 25 returns the valid data, the bus control device 2 ends this processing.
[0049]
On the other hand, if the response returning unit 25 determines that the valid data to be returned has not yet been acquired (No in step S32), the response returning unit 25 refers to the identification flag added to the address information of the access information. (Step S34).
[0050]
The response returning unit 25 determines whether to increase the processing order of the transaction processing corresponding to the access based on the flag value of the referred identification flag (step S35).
[0051]
When the flag value of the identification flag is “1” (enabled) (Yes in step S35), the response returning unit 25 determines that the transaction process corresponding to the access is to be preferentially processed. In this case, the response returning unit 25 moves up the processing order of the transaction processing of the access even if there is the suspended access information (step S36).
[0052]
On the other hand, when the flag value of the identification flag is “0” (disabled) (No in step S35), the response returning unit 25 determines that the priority processing of the access is not performed. In this case, the response returning unit 25 performs a transaction process in the order of receiving the access information.
[0053]
Then, when the valid data corresponding to the access information is obtained (step S37), the obtained valid data is transferred to the bus control device 1, which is the transmission source of the access information (step S38).
[0054]
Next, the operation of the bus control device 1 when valid data is returned in response to the transmitted access information will be described based on the flowchart shown in FIG. 6 and the timing chart shown in FIG.
The response returning unit 15 of the bus control device 1 acquires the valid data returned in response to the transmitted access information (Step S41).
[0055]
The response returning unit 15 refers to the access information registered in the information storage unit 14 (Step S42).
The response returning unit 15 determines whether the acquired data is valid data requested by the processor 51 based on the access information referred to (Step S43).
[0056]
If the acquired data is valid data requested by the processor 51 (Yes in step S43), the response returning unit 15 returns the acquired data to the data requesting processor 51 as valid data of the processor 51. (Step S44).
[0057]
On the other hand, if the acquired data is not valid data requested by the processor 51 (No in step S43), the response returning unit 15 transfers the acquired data to another bus control device (step S45).
[0058]
As described above, according to the present embodiment, if valid data is not stored in the memory 11, priority is set in the access information, and “1” is set in the identification flag for an access with a high priority. Set to transfer access information to different bus controllers.
[0059]
Therefore, even when the traffic on the common bus is high and there are many pending transactions in the bus control device, it is possible to quickly obtain valid data for data access, and to shorten the response time for returning data to data access.
[0060]
In carrying out the present invention, various modes are conceivable, and the present invention is not limited to the above embodiments.
For example, in the above embodiment, the case where the number of processors is four has been described, but the number of processors is not limited to this. Further, the number of bus controllers is not limited to two, but may be three or more.
[0061]
In the above embodiment, the access information is issued to the bus control device 1 and the transaction priority control process in the bus control device 2 that has received the access information has been described. However, the above embodiment can be similarly applied to a case where access information is issued to the bus control device 2 and transferred to the bus control device 1.
[0062]
The data access is not limited to the data request, but also includes data writing and the like. In the present embodiment, the identification flag is used as the identification information. However, the identification information can be composed of several bits of data, and the priority can be set in several stages.
[0063]
【The invention's effect】
As described above, according to the present invention, it is possible to prevent a data access response delay.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a multiprocessor control device according to an embodiment of the present invention.
FIG. 2 is a flowchart showing a process (1) performed by the bus control device of FIG. 1 when issuing access information.
FIG. 3 is a flowchart showing a process (2) performed by the bus control device of FIG. 1 when issuing access information.
FIG. 4 is a timing chart showing a process performed by the bus control device of FIG. 1 when issuing access information.
FIG. 5 is a flowchart showing a process of receiving access information performed by the bus control device of FIG. 1;
FIG. 6 is a flowchart showing a process of returning valid data performed by the bus control device of FIG. 1;
FIG. 7 is a timing chart showing a process of returning valid data performed by the bus control device of FIG. 1;
[Explanation of symbols]
1, 2 Bus control device 3 Bus 11, 21 Memory 12, 22 Memory control unit 13, 23 Priority identification unit 14, 24 Information storage unit 15, 25 Response return unit 41, 42 Bus 51-54 Processor

Claims (6)

複数のバスに接続されて、前記複数のバスにそれぞれ接続される処理部から処理部へのデータアクセスを制御するバス制御装置において、
データへのアクセスを要求するために前記処理部から発行されたアクセス情報を前記バスを介して取得し、前記取得したアクセス情報を参照し、異なる処理部のデータに前記バスを介してアクセスするときに前記アクセス情報に対して行われるトランザクション処理の優先度を設定する優先度設定部と、
前記優先度設定部が設定した優先度を識別するための識別情報を前記アクセス情報に付加して当該アクセス情報を格納するとともに、前記識別情報が付加されたアクセス情報を前記バスに送出する情報格納部と、を備えた、
ことを特徴とするバス制御装置。
In a bus control device connected to a plurality of buses and controlling data access to a processing unit from a processing unit connected to each of the plurality of buses,
When acquiring access information issued from the processing unit for requesting access to data via the bus, referring to the acquired access information, and accessing data of a different processing unit via the bus. A priority setting unit that sets a priority of a transaction process performed on the access information;
Information storage for adding identification information for identifying the priority set by the priority setting unit to the access information and storing the access information, and transmitting the access information with the identification information added to the bus With a part,
A bus control device, characterized in that:
前記処理部から発行されたアクセス情報は、当該アクセス情報の発行時刻の情報を含み、
前記優先度設定部は、前記アクセス情報として当該情報の発行時刻を参照し、前記アクセス情報の発行時刻から現時刻までの経過時間が長いほど、前記トランザクション処理が早く実行されるように前記優先度を設定し、前記設定した優先度を指定するための識別情報を前記アクセス情報に付加するように構成された、
ことを特徴とする請求項1に記載のバス制御装置。
The access information issued from the processing unit includes information on the issue time of the access information,
The priority setting unit refers to the issue time of the information as the access information, and sets the priority such that the longer the elapsed time from the issue time of the access information to the current time, the earlier the transaction process is executed. Is configured to add identification information for specifying the set priority to the access information,
The bus control device according to claim 1, wherein:
前記優先度設定部は、前記アクセス情報として前記要求するアクセスの内容を参照し、前記アクセス内容の重要度が高いほど、前記トランザクション処理が早く実行されるように前記優先度を設定し、前記設定した優先度を指定するための識別情報を前記アクセス情報に付加するように構成された、
ことを特徴とする請求項1又は2に記載のバス制御装置。
The priority setting unit refers to the content of the requested access as the access information, and sets the priority such that the higher the importance of the access content is, the earlier the transaction process is executed. Configured to add identification information for specifying the priority to the access information,
The bus control device according to claim 1 or 2, wherein:
前記識別情報が付加されたアクセス情報を前記バスを介して取得したときは、前記アクセス情報に付加されている識別情報を参照して前記優先度を識別し、識別した優先度に従ってトランザクション処理の処理順を設定し、設定した処理順に従って前記トランザクション処理を実行する応答処理部を備えた、
ことを特徴とする請求項1乃至3のいずれか1項に記載のバス制御装置。
When the access information to which the identification information is added is obtained via the bus, the priority is identified by referring to the identification information added to the access information, and the transaction processing is performed according to the identified priority. A response processing unit that sets the order and executes the transaction processing according to the set processing order;
The bus control device according to any one of claims 1 to 3, wherein:
前記応答処理部は、前記アクセス情報に付加されている識別情報に基づいて識別した優先度が、保留しているトランザクション処理の優先度よりも高ければ、前記取得したアクセス情報に対応するトランザクション処理の処理順を繰り上げて前記トランザクション処理を実行するように構成されたものである、
ことを特徴とする請求項4に記載のバス制御装置。
The response processing unit, if the priority identified based on the identification information added to the access information is higher than the priority of the pending transaction processing, the transaction processing corresponding to the acquired access information It is configured to advance the processing order and execute the transaction processing.
The bus control device according to claim 4, wherein:
複数のバスに接続されて、前記複数のバスにそれぞれ接続される処理部から処理部へのデータアクセスを制御するバス制御装置のデータアクセス制御方法であって、
前記データのアクセス要求元から発行されたアクセス情報を前記バスを介して取得するステップと、
前記取得したアクセス情報を参照して、異なる処理部のデータに前記バスを介してアクセスするときに前記アクセス情報に対して行われるトランザクション処理の優先度を設定するステップと、
前記設定した優先度を指定するための識別情報を前記アクセス情報に付加するステップと、
前記識別情報が付加されたアクセス情報を前記バスに送出するステップと、を備えた、
ことを特徴とするバス制御装置のデータアクセス制御方法。
A data access control method of a bus control device connected to a plurality of buses and controlling data access from a processing unit connected to the plurality of buses to the processing unit,
Obtaining via the bus access information issued from the access request source of the data,
Referring to the acquired access information, setting a priority of a transaction process performed on the access information when accessing data of a different processing unit via the bus;
Adding identification information for specifying the set priority to the access information,
Transmitting the access information to which the identification information has been added to the bus.
A data access control method for a bus control device, comprising:
JP2003073697A 2003-03-18 2003-03-18 Bus controller and method for controlling data access for same Pending JP2004280677A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003073697A JP2004280677A (en) 2003-03-18 2003-03-18 Bus controller and method for controlling data access for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003073697A JP2004280677A (en) 2003-03-18 2003-03-18 Bus controller and method for controlling data access for same

Publications (1)

Publication Number Publication Date
JP2004280677A true JP2004280677A (en) 2004-10-07

Family

ID=33289534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003073697A Pending JP2004280677A (en) 2003-03-18 2003-03-18 Bus controller and method for controlling data access for same

Country Status (1)

Country Link
JP (1) JP2004280677A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059022A (en) * 2007-08-30 2009-03-19 Mitsubishi Electric Corp Device for accumulation sharing system
US20100318713A1 (en) * 2009-06-16 2010-12-16 Freescale Semiconductor, Inc. Flow Control Mechanisms for Avoidance of Retries and/or Deadlocks in an Interconnect

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059022A (en) * 2007-08-30 2009-03-19 Mitsubishi Electric Corp Device for accumulation sharing system
US20100318713A1 (en) * 2009-06-16 2010-12-16 Freescale Semiconductor, Inc. Flow Control Mechanisms for Avoidance of Retries and/or Deadlocks in an Interconnect
US8554967B2 (en) * 2009-06-16 2013-10-08 Freescale Semiconductor, Inc. Flow control mechanisms for avoidance of retries and/or deadlocks in an interconnect

Similar Documents

Publication Publication Date Title
US6526483B1 (en) Page open hint in transactions
KR100327854B1 (en) Cache Memory System
JP2012069128A (en) Method and device for clearing semaphore reservation
JP2001117859A (en) Bus controller
JP4945053B2 (en) Semiconductor device, bus interface device, and computer system
JP4266629B2 (en) Bus interface selection by page table attribute
JP4642531B2 (en) Arbitration of data requests
US6564272B1 (en) Non-coherent cache buffer for read accesses to system memory
JP2004280677A (en) Bus controller and method for controlling data access for same
US20080016296A1 (en) Data processing system
US8239652B2 (en) Data processing system
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
US7089387B2 (en) Methods and apparatus for maintaining coherency in a multi-processor system
JP6565729B2 (en) Arithmetic processing device, control device, information processing device, and control method for information processing device
JP2636760B2 (en) Multiprocessor system
JP2001229074A (en) Memory controller and information processor and memory control chip
JPH06274415A (en) Shared memory system
JPH01261748A (en) Buffer storage control device
JP3219422B2 (en) Cache memory control method
JPH06124235A (en) Cache control system
JP2004240520A (en) In-non cache area high speed memory access method
JPH09293054A (en) Multiprocessor system
JPH0821000B2 (en) Cache memory update control method
JPH103426A (en) Cache memory device
JP2000090006A (en) Cache control circuit/method and record medium recording its control program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070313