WO2014184935A1 - バス中継装置 - Google Patents
バス中継装置 Download PDFInfo
- Publication number
- WO2014184935A1 WO2014184935A1 PCT/JP2013/063709 JP2013063709W WO2014184935A1 WO 2014184935 A1 WO2014184935 A1 WO 2014184935A1 JP 2013063709 W JP2013063709 W JP 2013063709W WO 2014184935 A1 WO2014184935 A1 WO 2014184935A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- address
- interrupt factor
- interrupt
- unit
- factor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
- G06F13/34—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Abstract
Description
(1)I/O装置が割込みをバス中継装置を経由しCPUへ通知する。
(2)CPUは「割込み要因」の読み出し要求を発行する。CPUの発行した「割込み要因」の読み出し要求が、バス中継装置を経由しI/O装置に到達する。
この場合、I/O装置から「割込み要因」を読み出す時、CPUの「割込み要因」の読み出し要求発行から「割込み要因」を受領するまで、CPU処理は「割込み要因」読み出し待ち状態となる。
これにより、CPUが割込み要因を読出す代わりにバス中継装置相当部分が読出し、CPUが割込み要因を取得するまでの時間を短縮している。
(1)予め「割込み要因」の格納場所を示すアドレス設定が必要で、初期化時のS/Wによる設定が必要である。
(2)さらに、CPUが行う割込み要因による処理に関連して、I/O装置内のデータを読出す場合の、I/O装置内のデータ読出し時間の削減はできない。
(3)また、バス中継装置を多段接続したバス多段構成は対応できない。
(1)予め「割込み要因」の格納場所を示すアドレス設定が不要で、従来の「割込み要因」読み出しにかかる時間を短縮する方法以前に使用したS/W処理に変更が必要なく、
(2)割込み要因読出し後の処理で発生するI/O装置内のデータ読出しに関しても、時間削減を行い、
(3)より多くのI/O装置を接続する為にバス中継装置を多段接続した場合のバス多段構成時にも、上記に対応することが可能で、
これらにより割込み要因に関係する処理を短縮し、周期的なS/W処理にかけられる時間を増やすことを目的とする。
CPU(Central Processing Unit))とI/O(Input/Output)装置との間で通信される割込みの情報を中継し、前記CPUと他の中継装置とのいずれかの装置が上位側に接続し、I/O装置と上位側とは別の他の中継装置とのうち、少なくとも前記I/O装置が下位側に接続するバス中継装置において、
I/O装置が送信元である割込み通知を下位側のポートから受信し、前記ポートのポート番号を出力する割込み通知受信部と、
ポート番号と、割込み要因の読出しに使用するアドレスである割込み要因アドレスとの複数の組を含む割込み要因アドレス情報を格納する割込み要因アドレス記憶部と、
前記割込み通知受信部が出力した前記ポート番号を入力し、入力した前記ポート番号に基づいて前記割込み要因アドレス記憶部の前記割込み要因アドレス情報から割込み要因アドレスを取得すると共に、入力した前記ポート番号のポートに接続する装置がI/O装置かどうかを予め保有する接続情報に基づいて判断し、前記ポートに接続する装置が前記I/O装置であると判断すると、前記割込み要因アドレス記憶部から取得した割込み要因アドレスを出力するアドレス選択部と、
前記アドレス選択部が出力した割込み要因アドレスを含む割込み要因の要因読出し要求を、前記ポートに接続する前記I/O装置に向けて送信する下位側送信部と
を備えたことを特徴とする。
図1と図2は、バス中継装置1を用いたシステム2、システム3構成を示す。
図1は、バス中継装置1の1段接続のシステム2を示す。
図2は、バス中継装置1の多段(2段)接続のシステム3を示す。図1、図2に示すようにシステム2、システム3は、バス中継装置1、CPU(Central Processing Unit)10、I/O(Input/Output)装置12、バス11を備えている。図1のシステム2は、一つのCPU10、一つのバス中継装置1及び複数のI/O装置12を備えている。図2のシステム3は、一つのCPU10、二つのバス中継装置1及び複数のI/O装置12を備えている。
バス中継装置は、CPU装置とI/O装置との間で通信される割込みの情報を中継する。
図1、図2に示すように、バス中継装置には、CPUと他の中継装置とのいずれかの装置が上位側に接続し、I/O装置と、上位側とは別の他の中継装置とのうち、少なくともI/O装置が下位側に接続する。
(ST1)I/O装置は、割込み通知151を送信する。
(ST2)CPUは、割込み通知151の応答として、割込み要因の読出し要求159(1)(要因読出し要求)をI/O装置に送信する。読出し要求159(1)は、割込み要因の読出しのためのアドレス(以下、ADR(1)と記す場合がある)を含む。以下の実施の形態では読出し要求は2種類登場する。
割込み要因の読出し要求と、I/O装置内データの読出し要求である。前者を読出し要求159(1)、後者を読出し要求159(2)と記載する場合がある。また読出し要求159(1)、159(2)に対する応答が、それぞれ割込み要因と、I/O装置内データである。これらを割込み要因160(1)、I/O装置内データ160(2)と記載する場合がある。割込み要因160(1)とI/O装置内データ160(2)とは、いずれも読出しデータ160である。
(ST3)I/O装置は、割込み要因の読出し要求159(1)の応答として、割込み要因160(1)を送信する。
(ST4)CPUは割込み要因160(1)を受信すると、I/O装置のデータ読出しを要求する読出し要求159(2)(データ読出し要求)を送信する。読出し要求159(2)は、I/O装置のデータの所在を示すI/O装置内データ読出しアドレス(以下、ADR(2)と記す場合がある)を含む。
(ST5)I/O装置は、読出し要求159(2)を受信すると、I/O装置内データ160(2)を送信する。
本実施の形態のシステム動作は、以下の動作を含む。
(A)割込み通知の受信時動作、
(B)割込み要因の受信時動作、
(C)割込み要因の読出し要求の受信時動作(CPU/上位ブリッジから送信される)、
(D)I/O装置内データの読出し要求の受信時動作(CPU/上位ブリッジからの送信される)、
(E)I/O装置内データの受信時動作。
以下に、詳細を説明する。
以下に、上記の各動作について説明する。
「(A)割込み通知の受信時動作」は、バス中継装置1内の以下の構成要素が動作に関係する。つまり、割込み通知受信部101、割込み通知送信部102、CPU側トランザクション受信部103(以下、CPU側受信部という)、アドレス記憶部104(以下、アドレス記憶部104という)、アドレス選択部105、リード・トランザクション発行部106(以下、I/O側送信部という)、I/O装置内データ読出しアドレス記憶部108(以下、アドレス記憶部108という)が動作に関係する。
(a1)I/O装置12または「下位バス中継装置」(後述の(a4)の場合)によって発行された割込み通知151を、バス中継装置1内の割込み通知受信部101が、受信する。
(a2)割込み通知受信部101は、割込み通知151を受信したことを表す割込み通知受信フラグ152を、CPU側受信部103と、アドレス選択部105に送出する。
(a3)割込み通知受信部101は、I/O装置12または下位バス中継装置から発行された割込み通知151を受け取ると、フラグ送出の上記(a2)と同時に、割込み通知送信部102へ割込み通知151を送出する。
(a5)CPU側受信部103は、フラグ送出の上記(a2)において割込み通知受信フラグ152を受け取ると、CPU10または上位バス中継装置1から送出される、割込み要因の読出し要求159(1)を受け取った際には(後述の(c3)、(c6))、「アドレス情報155、割込み要因読出し指示157」を、バス中継装置内の関連する構成要素に出力する。
(a6)割込み通知受信部101は、割込み通知151を受信したバス中継装置の接続ポート番号153を、アドレス記憶部104とアドレス選択部105とへ、フラグ送出の上記(a2)と同時に、送出する。接続ポート番号153の送出は、割込み通知151を通知したI/O装置12または割込み通知151を転送した下位バス中継装置を識別するためである。
(a9)アドレス選択部105は、(a8)におけるアドレス情報155の取得に際し、テーブル1041における有効(使用中)のエントリの接続ポート番号格納域1041-3に格納された番号と、割込み通知受信部101から受け取った接続ポート番号153とが一致する番号のエントリを対象に、対象とするエントリの「送信アドレス」を取得する。つまり、アドレス選択部105は、割込み通知受信部101から受け取った接続ポート番号153を有し、かつ、「有効」(同じポート番号の送信アドレスの格納されたエントリ)なエントリの「送信アドレス」をアドレス情報155として取得する。その際、アドレス選択部105は、アクセス履歴に従って、最も新しくアクセスがあったエントリ(アクセス履歴の数字の小さいエントリ)の送信アドレスを選択してもよい。また、アドレス選択部105は、アクセス回数が最も多いエントリの送信アドレスを選択してもよい。
(a11)アドレス選択部105は、上記(a10)で送信アドレス156を、I/O側送信部106へ出力した場合(下位の接続がI/O装置の場合)、それと同時に送信アドレス156をアドレス記憶部108に出力する。
割込み要因の受信時動作は、バス中継装置1内の以下の構成要素が動作に関係する。つまり、I/O側送信部106、I/O側トランザクション受信部107(以下、I/O側受信部という)、アドレス記憶部108、割込み要因内容記憶部109、トランザクション送信部110が、動作に関係する。
(b1)上記の「(A)割込み通知の受信時動作」の(a13)により、I/O装置12に発行した割込み要因の読出し要求159(1)によって、バス中継装置1は、I/O装置12から割込み要因を読み出す。バス中継装置1は割込み要因160(1)を読み出すと、その割込み要因160(1)(読出しデータ160)を、I/O側受信部107で受信する。
(b2)I/O側受信部107は、割込み要因(読出しデータ160)から割込み要因内容161を抽出し、割込み要因内容記憶部109に送出する。
(b3-2)割込み要因内容記憶部109は、自バス中継装置の上位側の接続先が、上位バス中継装置の場合、割込み要因内容161を、トランザクション送信部110へ送出する。
(b4)トランザクション送信部110は、割込み要因内容記憶部109から割込み要因内容161を受け取ると、上位バス中継装置へ送信する(読み出しデータ160)。
(b5)I/O側受信部107は、上記(b2)と同時に、割込み要因内容161をアドレス記憶部108へ送出する。
(b6)アドレス記憶部108は、テーブル1081内に格納されている有効状態であるエントリのうち、送信アドレス域1081-3の値と、割込み要因内容域1081-4の値とに、下位接続がI/O装置の場合に(a11)にてアドレス選択部105が出力する送信アドレス156と、(b5)で受け取った割込み要因内容61が一致するエントリを検索する。アドレス記憶部108は、検索の結果、一致したエントリのI/O装置内データ読出しアドレス格納域1081-5の値を、データ読出しアドレス162として、I/O側送信部106に送出する。アドレス記憶部108は、上記エントリの検索で一致しない場合、CPU側受信部103から送信されるデータ読出しアドレス158(後述する(d3))を待つ。アドレス記憶部108は、CPU側受信部103からデータ読出しアドレス158を受信すると、データ読出しアドレス158をI/O側送信部106に送出する。
(b7)I/O側送信部106は、(b6)によるデータ読出しアドレス162を基に、I/O装置内データ読出しのための読出し要求159(2)を、I/O装置12に発行する。
CPU10または上位バス中継装置から送信される割込み要因の「(C)割込み要因の読出し要求の受信時動作」は、バス中継装置1内の以下の構成要素が動作に関係する。つまり、CPU側受信部103、アドレス記憶部104、アドレス選択部105、I/O側送信部106、割込み要因内容記憶部109、トランザクション送信部110が動作に関係する。
(c1)上記の(a4)により、CPU10または上位バス中継装置に割込み通知151が送出される。これにより、CPU10まで割込み通知151が到達する。CPU10は、割込み要因の読出し要求159(1)を発行する。
(c2)CPU側受信部103は、CPU10または上位バス中継装置から送出された割込み要因の読出し要求159を受信する。
(c3)CPU側受信部103は、割込み要因の読出し要求159からアドレス情報155を抽出し、アドレス情報155をアドレス選択部105へ送出する。
(c4-1)アドレス選択部105は、CPU側受信部103からアドレス情報155を受け取ると、アドレス記憶部104に、受信したアドレス情報155を送出する。アドレス記憶部104は、後述する「F.3 送信アドレス・アクセス履歴・アクセス回数の登録」のようにして、テーブル1041の送信アドレス格納域1041-4に、アドレス情報155の示す送信アドレスを格納する。
(c4-2)送信アドレスの登録が発生した時、アドレス選択部105は、I/O装置12または下位バス中継装置に割込み要因の読出し要求159(1)を送信する為、アドレス選択部105から受け取った送信アドレス156(ADR(1))を、I/O側送信部106へ送出する。
(c6)上記の(c3)と同時に、CPU側受信部103は、上位の接続先がCPU10である場合、割込み要因読出し指示157を割込み要因内容記憶部109へ出力する。
なおCPU側受信部103は、上位の接続先が上位バス中継装置である場合は、割込み要因読出し指示157を出力しない。
(c8)トランザクション送信部110は、割込み要因内容161を受け取ると、CPU10へ読出しデータ160として割込み要因内容161を送信する。
CPU10または上位バス中継装置から送信される、「(D)I/O装置内データの読出し要求159の受信時動作」は、バス中継装置1内の以下の構成要素が動作に関係する。つまり、CPU側受信部103、I/O側送信部106、アドレス記憶部108、トランザクション送信部110、I/O装置内データ記憶部111(以下、データ記憶部111という)が関係する。
図11は、I/O装置内データの読出し要求の受信時における、データ、制御の流れと、上記構成要素の関係を示すUMLシーケンス図である。
(d1)上記の(c8)により、CPU10は、トランザクション送信部110から読出しデータ160(1)(割込み要因内容161)を受信すると、バス中継装置1にI/O装置内データの読出し要求159(2)を出力する。
(d2)CPU側受信部103は、CPU10「または上位バス中継装置」から、I/O装置内データの読出し要求159(2)を受信する。
(d3)CPU側受信部103は、I/O装置内データの読出し要求159(2)を受信すると、読出し要求159(2)から、データ読出しアドレス158(ADR(2))を抽出する。CPU側受信部103は、アドレス記憶部108及びデータ記憶部111に、抽出したデータ読出しアドレス158を送出する。
(d5)アドレス記憶部108は、後述の「G.2 割込み要因内容の登録及びデータ読出しアドレスの出力(3)」に示すように、テーブル1081に該当するアドレスがない場合、CPU側受信部103から受信したデータ読出しアドレス158(ADR(2))を、テーブル1081に登録する。同時に、アドレス記憶部108はI/O側送信部106に、CPU側受信部103から受信したデータ読出しアドレス162(ADR(2))を送出する。I/O側送信部106は、I/O装置12または下位バス中継装置に、I/O装置内データの読出し要求159(2)を出力する。
(d6)上記の(d3)によりデータ読出しアドレス158(ADR(2))を受け取ったデータ記憶部111は、上位の接続がCPU10である時、I/O装置内データが既に自身に格納されていれば、トランザクション送信部110へ、記憶されているI/O装置内データ163を送出する。
(d7)I/O装置内データ163を受け取ったトランザクション送信部110は、CPU10または上位バス中継装置に、I/O装置内データ163を読出しデータ160(2)として送信する。
I/O装置12または下位バス中継装置からのI/O装置内データ(読出しデータ160(2))の受信時の動作は、バス中継装置1内の以下の構成要素が動作に関係する。つまり、I/O側受信部107、トランザクション送信部110、データ記憶部111が動作に関係する。
図12は、I/O装置内データの受信時における、データ、制御の流れと上記構成要素の関係を示すUMLシーケンス図である。
(e1)上記の「B.割り込み要因受信時動作」の(b7)または「D.I/O装置内データの読出し要求受信時動作」の(d5)により送信したI/O装置内データの読出し要求159(2)に対し、I/O装置12または下位バス中継装置が送出したI/O装置内データ163(読出しデータ160(2))を、I/O側受信部107が受信する。
(e2)I/O側受信部107は、I/O装置内データ163(読出しデータ160(2))を受信すると、データ記憶部111へ送出する。
(e3)データ記憶部111は、I/O装置内データ163を受け取ると、上位の接続がCPU10である時、I/O装置内データ163を格納する。ただし、既にCPU側受信部103によりI/O装置内データの読出しアドレス158(ADR(2))を受け取り済みの場合、I/O装置内データ163を格納せず、トランザクション送信部110へI/O装置内データ163を送出する。
(e4)データ記憶部111は、I/O装置内データ163を受け取ると、自バス中継装置の上位の接続が上位バス中継装置1である時、I/O装置内データ163を格納せず、トランザクション送信部110へI/O装置内データ163を送出する。
(e5)トランザクション送信部110は、I/O装置内データ163を受け取ると、CPU10または、上位バス中継装置1に読出しデータ160としてI/O装置内データを送信する。
アドレス記憶部104の動作を以下にまとめる。
図13~図20は、アドレス記憶部104の動作を示すフローチャートである。
図13はアドレス記憶部104の全体動作を示し、図14~図20が、図13のサブルーチン処理を示す。図13の動作の主体は、アドレス記憶部104である。
図14は、テーブル1041の初期化処理のフローチャートである。
図15は、接続ポート番号の登録処理のフローチャートである。
図16は、無効エントリの検索処理のフローチャートである。
図17は、送信アドレスの登録処理のフローチャートである。
図18は、「登録中エントリ」の検索処理のフローチャートである。
図19は、「登録中エントリ」の有効化判定処理のフローチャートである。
図20は、テーブル1041のアクセス履歴、アクセス回数の更新処理のフローチャートである。
(1)図13のように、システムリセット解除(S111)の後、アドレス記憶部104は、システム起動直後、テーブル1041の初期化によりテーブルの状態を無効にする(S112)。
図14は、S112の内容を示す。S121~S123において、アドレス記憶部104は、テーブル1041のエントリiの状態を無効にする。図5で説明すれば、アドレス記憶部104は、テーブル1041の各エントリ(各行)の状態を無効にする。
(1)S113においてアドレス記憶部104は、接続ポート番号の受信を待つ。アドレス記憶部104は、割込み通知受信部101から接続ポート番号153を受け取ると(S113のYES、図8の(a7))、テーブル1041の未使用(無効)のエントリの接続ポート番号格納域1041-3に、受け取った接続ポート番号を格納する(S114)。
(2)この時、接続ポート番号を書き込んだエントリは、未だ有効(使用中)ではなく、登録中状態である。状態を登録中とする。S114は図15が示し、図15のS131は図16が示す。S131を示す図16において、アドレス記憶部104は、テーブル1041の中の無効エントリを検索する。図16のS141~S144に示すように、アドレス記憶部104は、テーブル1041の中で無効なエントリを見つけると処理を終了する。アドレス記憶部104は、ヒットした無効エントリの状態を「登録中」にし(S132)、S113で受け取ったポート番号を「登録中」のエントリの接続ポート番号格納域1041-3に格納する。
S115においてアドレス記憶部104はアドレス情報(ADR(1))の受信を待つ。これは図10の(c4-1)に該当する。
(1)<送信アドレスの登録>
アドレス記憶部104がアドレス選択部105から出力されるアドレス情報155を受け取ると(S115のYES)、図8処理はS116に進む。S116の内容は、図17のS151~S153に示す。S151は登録中のエントリの検索である。S151の内容は図18に示す。図18の内容は、図16で述べた「無効エントリ」の検索と類似であり、アドレス記憶部104がテーブル1041の中から「登録中エントリ」を見つけると、最初に見つけたエントリを「登録中エントリ」として維持する(S161~S164)。S152においてアドレス記憶部104は、S151で見つけた「登録中エントリ」の送信アドレス格納域1041-4に、S115で受信したアドレス情報(送信アドレス)を格納する。S153においてアドレス記憶部104は登録中エントリの有効化判定を行う。S153は図19のS171~S179に示す。S171~S173、S174-2のループで、アドレス記憶部104は、テーブル1041から「有効」なエントリを探す。S172で「有効」なエントリが見つかると、アドレス記憶部104は、S173で「有効」なエントリと、「登録中エントリ」との接続ポート番号を比較する(S173)。一致する場合、S174-1に進み、アドレス記憶部104は、さらに、送信アドレスどうしが一致するかどうかを判断する。
S174-1で一致する場合、つまり、登録中状態のエントリの接続ポート番号と上記「F.3(1)」の送信アドレスとをもつエントリが既にある場合は、アドレス記憶部104は送信アドレスを格納せず、登録中状態を「無効」にする(図19のS179)。S174-1で一致する場合、処理はS178、S179、終了へと向かう。これらの処理は後述の<F.4 アクセス履歴、アクセス回数の更新>で述べる。
S174-1で一致しない場合、処理はS175、S176、S177、終了へと向かう。S174-1で一致しない場合の処理は、接続ポート番号を同じくする送信アドレス違いのエントリの新規登録である。上記「F.3(1)」、「F.3(2)」で送信アドレスを格納した際、アドレス記憶部104は、登録中エントリのアクセス履歴を「0」に設定する(S175)。アクセス履歴は0以上の整数で、数値が小さいほど最新のアクセスであることを示すものとする。アクセス履歴は、そのエントリの接続ポートと送信アドレスとの組が使用された新しさを示し、数値が小さいほど新しい。
上記「F.3(1)」、「F.3(2)」で送信アドレスを格納した際、アドレス記憶部104は、登録中エントリのアクセス回数を「0」に設定する(S177)。アクセス回数は、0以上の整数で、数値が大きいほどアクセスが多く発生していることを示す。
(1)上記「F.3(2)」の場合、アドレス記憶部104は、既に存在するエントリのアクセス回数の更新を行う。処理はS174-1、S178,S179の順である。S178の内容は図20である。
(2)アクセス履歴の更新は、有効状態でエントリの接続ポート番号が、登録中状態のエントリの接続ポート番号と一致するエントリ全てに対して行う。この内容は図20の説明で後述する。
(3)図20に示すように、アドレス記憶部104は、アクセス履歴の更新対象となるエントリで、上記「F.3(2)」で、送信アドレスに一致したエントリのアクセス履歴の値より小さい値のエントリのアクセス履歴を「+1」し、送信アドレスに一致したエントリのアクセス履歴は「0」に更新する。こうすることで、アクセス履歴の大小関係を保つことが可能である。
(4)図20に示すように、既に存在するエントリのアクセス回数の更新は、現在のアクセス回数値に+1した値に更新する。
(1)S181において、アドレス記憶部104は、エントリiのアクセス履歴値を変数tmpに格納する。アクセス履歴値は、テーブル1041のアクセス履歴格納域1041-5におけるエントリiの値である。エントリiは、図19において、「登録中エントリ」と接続ポート番号、送信アドレスの同じ特定のエントリである。
(2)S182においてアドレス記憶部104は、テーブル1041から一つのエントリ(j=1)を選択する。
(3)S183においてアドレス記憶部104は、エントリjが有効かどうかを判定する。有効でないときは次のエントリを選択する。有効のときはS184に進む。
(4)S184においてアドレス記憶部104は、選択したエントリjとエントリiの接続ポート番号が同じかを判定する。異なる場合は次のエントリを選択し、S183からの処理を繰り返す。接続ポート番号が同じ場合(S184のYES)、処理はS185に進む。
(5)S185においてアドレス記憶部104は、エントリjのアクセス履歴値がtmpよりも小さいか判定する。tmpよりも小さくない場合、処理はS182に戻る。tmpよりも小さい場合は、処理はS186に進む。
(6)S186においてアドレス記憶部104は、エントリjのアクセス履歴値を1増やす。この後、アドレス記憶部104は別のエントリjを選択し、S182に戻る。
(7)S188においてアドレス記憶部104は、エントリiのアクセス履歴値を「0」にする。
(8)S189においてアドレス記憶部104は、エントリiのアクセス回数を1増やす。
アドレス記憶部108の動作を以下にまとめる。
図21は、アドレス記憶部108の全体動作のフローチャートである。図21の動作の主体はアドレス記憶部108である。図22~図26は図21のサブルーチン処理を示す。
図22は、テーブル1081の初期化処理のフローチャートである。
図23は、テーブル1081への送信アドレスの登録処理のフローチャートである。
図24は、テーブル1081の割込み要因の内容の登録、データ読出しアドレスの出力のフローチャートである。
図25は、有効エントリ登録済の検索処理のフローチャートである。
図26は、データ読出しアドレスの格納処理及び更新処理のフローチャートである。
(1)S193においてアドレス記憶部108は、送信アドレスの受信を待つ。アドレス記憶部108は、アドレス選択部105から送信アドレス156を受け取ると(図8の(a11))、テーブル1081の未使用(無効)のエントリの送信アドレス格納域に受け取った送信アドレスを格納する。
(2)この時、送信アドレスを書き込んだエントリは、未だ有効(使用中)ではなく、登録中状態である。状態を登録中とする。送信アドレス登録(S194)は、図23である。図23のS211は図16であり、既に説明したので説明は省略する。また図23は図15と類似であるので説明は省略する。
(1)S193においてアドレス記憶部108は、割込み要因内容の受信を待つ。アドレス記憶部108は、I/O側受信部107から、割込み要因内容161を受け取ると(S195のYES、図9の(b5))、S196に進む。S196は、図24の内容である。図24のS221は図18の内容であり、S223は図25の内容である。図18は既に説明したのでS221の説明は省略する。S222において、アドレス記憶部108は、テーブル1081の「登録中」のエントリの割込み要因内容格納域1081-4に、受け取った割込み要因内容161を格納する。処理はS223に進む。
図21に示すように、S196はS197に進む。S197は図26の内容である。
(1)アドレス記憶部108は、エントリ検索ヒットフラグが有効の場合(S251のYES)、データ読出しアドレスの受信を待つ(S252)。アドレス記憶部108は、CPU側受信部103が出力するデータ読出しアドレス158を受け取ると(S252のYES、図11の(d3))、テーブル1081の登録中のエントリのデータ読出しアドレス格納域1081-5へ、データ読出しアドレス158を格納し(S253)、登録中のエントリの状態を有効にする(S254)。
(2)ただし、上記「G.2 割込み要因内容の登録及びデータ読出しアドレスの出力(2)」の場合(S251でYES、既にエントリに登録済みの場合)、アドレス記憶部108は、送信アドレス及び割込み要因が一致する有効なエントリiを無効化する。これによって、テーブル1081が、最新のデータ読出しアドレス158に更新される。
(1)予め「割込み要因」の格納場所を示すアドレス設定が不要で、従来の「割込み要因」読み出しにかかる時間を短縮する方法以前に使用したS/W処理の変更を不要としながら「割込み要因」読み出しにかかる時間を削減する効果がある。
(2)また、割込み要因読出し後の処理で発生するI/O装置内のデータ読出しに関しても、時間削減の効果がある。
(3)また、バス中継装置を多段接続した場合のバス多段構成時にも、上記の時間削減の効果がある。
(1)周期的にS/W処理を繰り返し実行する。
(2)CPUが一定の周期内でS/W処理を完了し、次の周期で再びS/W処理を行う。
(3)複数のI/O装置を接続し、CPUと複数のI/O装置はバス中継装置を介して接続される。
(4)I/O装置とバス中継装置の接続は1対1(ポイント・ツー・ポイント)で行う。
(1)I/O装置から割込み通知を受信しCPUへ転送する。
(2)CPUからの割込み要因の読出し要求を待たずに、I/O装置に割込み要因読出しを自律的に発行する。
(3)I/O装置への割込み要因読出し時のアドレス設定をS/Wで行う必要がなく、動作中のアドレスを記憶し、そのアドレスを使用する。
(4)アドレスは複数記憶することが可能で、I/O装置に割込み要因読出し時の状態に合ったアドレスを選択可能とする。
(5)自律的に発行したI/O装置に割込み要因読出しによる割込み要因を記憶する。
(6)CPUからの割込み要因の読出し要求を受信した時に、自バス中継装置内に記憶した割込み要因をCPUへ送出する。
(7)CPUからの割込み要因の読出し要求よりアドレスを抽出し、次回の自律的割込み要因読出しのアドレス候補として記憶し、統計情報も生成し記憶する。
Claims (9)
- CPU(Central Processing Unit)とI/O(Input/Output)装置との間で通信される割込みの情報を中継し、前記CPUと他の中継装置とのいずれかの装置が上位側に接続し、I/O装置と、上位側とは別の他の中継装置とのうち、少なくとも前記I/O装置が下位側に接続するバス中継装置において、
I/O装置が送信元である割込み通知を下位側のポートから受信し、前記ポートのポート番号を出力する割込み通知受信部と、
ポート番号と、割込み要因の読出しに使用するアドレスである割込み要因アドレスとの複数の組を含む割込み要因アドレス情報を格納する割込み要因アドレス記憶部と、
前記割込み通知受信部が出力した前記ポート番号を入力し、入力した前記ポート番号に基づいて前記割込み要因アドレス記憶部の前記割込み要因アドレス情報から割込み要因アドレスを取得すると共に、入力した前記ポート番号のポートに接続する装置がI/O装置かどうかを予め保有する接続情報に基づいて判断し、前記ポートに接続する装置が前記I/O装置であると判断すると、前記割込み要因アドレス記憶部から取得した割込み要因アドレスを出力するアドレス選択部と、
前記アドレス選択部が出力した割込み要因アドレスを含む割込み要因の要因読出し要求を、前記ポートに接続する前記I/O装置に向けて送信する下位側送信部と
を備えたことを特徴とするバス中継装置。 - 前記バス中継装置は、さらに、
前記下位側送信部が送信した前記割込み要因の要因読出し要求に応答する割込み要因を、前記ポートに接続する前記I/O装置から受信し、受信した前記割込み要因を出力する下位側受信部と、
割込み要因アドレスと、割込み要因と、I/O装置の内部データの読出しに使用するアドレスであるデータ読出しアドレスとの組を複数格納し、前記アドレス選択部が出力した割込み要因アドレスと、前記下位側受信部が出力した前記割込み要因とを入力し、入力した前記割込み要因アドレスと前記割込み要因とを含む組が、格納する複数の前記組の中に存在するかどうか判断し、入力した前記割込み要因アドレスと前記割込み要因とを含む組が存在すると判断すると、前記組に含まれる前記データ読出しアドレスを出力するI/O装置内データ読出しアドレス記憶部と
を備え、
前記下位側送信部は、
前記I/O装置内データ読出しアドレス記憶部が出力した前記データ読出しアドレスに基づいてI/O装置の内部データの読出しを求めるデータ読出し要求を生成し、生成した前記データ読出し要求を前記ポートに接続する前記I/O装置に向けて送信することを特徴とする請求項1記載のバス中継装置。 - 前記バス中継装置は、さらに、
前記上位側に接続する前記装置から割込み要因アドレスを含む割込み要因の要因読出し要求を受信し、前記要因読出し要求を受信すると、前記上位側に接続する前記装置がCPUかどうかを予め保有する接続情報に基づいて判断し、前記上位側に前記CPUが接続すると判断すると、割込み要因の読出し指示を出力する上位側受信部と、
前記上位側受信部が出力した割込み要因の読出し指示を入力すると共に前記下位側受信部が出力した前記割込み要因を入力して格納し、前記割込み要因が格納され、かつ、前記割込み要因の読出し指示が入力されると、前記割込み要因を出力する割込み要因記憶部と、
前記割込み要因記憶部が出力した前記割込み要因を入力し、入力した前記割込み要因を前記上位側に接続する前記CPUに送信する上位側送信部と
を備えたことを特徴とする請求項2記載のバス中継装置。 - 前記バス中継装置は、さらに、
I/O装置の内部データを記憶する内部データ記憶部を備え、
前記上位側受信部は、
前記上位側に接続する前記装置からデータ読出しアドレスを含むと共にI/O装置の内部データの読出しを求めるデータ読出し要求を受信し、受信した前記データ読出し要求から前記データ読出しアドレスを抽出し、抽出した前記データ読出しアドレスを出力し、
前記内部データ記憶部は、
前記上位側受信部が出力した前記データ読出しアドレスを入力し、前記上位側受信部から前記データ読出しアドレスを入力すると、前記上位側に接続する前記装置が前記CPUかどうかを予め保有する接続情報に基づいて判断し、前記上位側に前記CPUが接続すると判断すると、I/O装置の前記内部データを記憶しているときには、前記内部データを前記上位側送信部に出力し、
前記上位側送信部は、
前記上位側送信部から前記内部データを入力し、前記内部データを前記上位側に接続する前記CPUに送信することを特徴とする請求項3記載のバス中継装置。 - 前記下位側受信部は、
前記下位側に接続する装置からI/O装置の内部データを受信し、受信した前記内部データを前記内部データ記憶部に出力し、
前記内部データ記憶部は、
前記下位側受信部から内部データを入力すると、前記上位側に接続する前記装置が前記CPUかどうかを予め保有する前記接続情報に基づいて判断し、前記上位側に前記CPUが接続すると判断すると、前記上位側受信部が出力する前記データ読出しアドレスが入力済みのときは前記内部データを前記上位側送信部に送信し、前記データ読出しアドレスが未入力のときは前記データ読出しアドレスの入力を待ち、前記データ読出しアドレスが入力されたときに前記内部データを前記上位側送信部に送信することを特徴とする請求項4記載のバス中継装置。 - 前記割込み要因アドレス記憶部が格納する前記割込み要因アドレス情報は、
前記組ごとに、前記ポート番号が前記組として使用された過去の使用状況を示すアクセス情報を有し、
前記上位側受信部は、
前記上位側に接続する前記装置から割込み要因アドレスを含む割込み要因の要因読出し要求を受信すると前記要因読出し要求から前記割込み要因アドレスを抽出し、抽出した前記割込み要因アドレスを出力し、
割込み要因アドレス記憶部は、
前記割込み通知受信部が出力した前記ポート番号と、前記上位側受信部が出力した前記割込み要因アドレスとを入力し、入力した前記ポート番号及び前記割込み要因アドレスと同じ前記ポート番号及び前記割込み要因アドレスを含む前記組に対して、前記アクセス情報を更新し、
前記アドレス選択部は、
前記アクセス情報の更新後の前記割込み要因アドレス情報から、前記割込み要因を取得することを特徴とする請求項3~5のいずれかに記載のバス中継装置。 - 前記割込み要因アドレス記憶部が格納する前記割込み要因アドレス情報は、
前記組ごとの前記アクセス情報として、
前記組の使用された新しさを示すアクセス履歴と、前記組の使用された回数を示すアクセス回数とを含み、
前記アドレス選択部は、
前記アクセス履歴と、前記アクセス回数とのいずれかに基づいて、前記割込み要因アドレスを取得することを特徴とする請求項6記載のバス中継装置。 - 割込み要因アドレス記憶部は、
前記割込み通知受信部が出力した前記ポート番号と、前記上位側受信部が出力した前記割込み要因アドレスとを入力したときに、入力した前記ポート番号及び前記割込み要因アドレスと同じ前記ポート番号及び前記割込み要因アドレスを含む前記組が存在しないときには、入力した前記ポート番号と前記割込み要因アドレスとを含む組を新たな組として格納することを特徴とする請求項6または7のいずれかに記載のバス中継装置。 - 前記I/O装置内データ読出しアドレス記憶部は、
前記アドレス選択部が出力した前記割込み要因アドレスと、前記下位側受信部が出力した前記割込み要因と、前記上位側受信部が出力した前記データ読出しアドレスとを入力し、入力した前記割込み要因アドレスと、前記割込み要因と、前記データ読出しアドレスとの組が格納されているかどうかを判断し、格納されていないと判断すると前記組を新たに格納することを特徴とする請求項4~8のいずれかに記載のバス中継装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/063709 WO2014184935A1 (ja) | 2013-05-16 | 2013-05-16 | バス中継装置 |
JP2015516844A JP6053921B2 (ja) | 2013-05-16 | 2013-05-16 | バス中継装置 |
CN201380076319.6A CN105190582B (zh) | 2013-05-16 | 2013-05-16 | 总线中继装置 |
US14/780,918 US9684617B2 (en) | 2013-05-16 | 2013-05-16 | Bus relay device for relaying communication through bus of I/O apparatus and CPU wherein relay device has lower side transmission unit to transmit interrupt factor address |
EP13884428.7A EP2998872B1 (en) | 2013-05-16 | 2013-05-16 | Bus repeater |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/063709 WO2014184935A1 (ja) | 2013-05-16 | 2013-05-16 | バス中継装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014184935A1 true WO2014184935A1 (ja) | 2014-11-20 |
Family
ID=51897941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/063709 WO2014184935A1 (ja) | 2013-05-16 | 2013-05-16 | バス中継装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9684617B2 (ja) |
EP (1) | EP2998872B1 (ja) |
JP (1) | JP6053921B2 (ja) |
CN (1) | CN105190582B (ja) |
WO (1) | WO2014184935A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016177333A (ja) * | 2015-03-18 | 2016-10-06 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6700564B1 (ja) * | 2018-12-28 | 2020-05-27 | 富士通クライアントコンピューティング株式会社 | 情報処理システム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02166548A (ja) * | 1988-12-21 | 1990-06-27 | Fujitsu Ltd | 共通バス制御方式 |
JPH05257863A (ja) | 1992-03-16 | 1993-10-08 | Fujitsu Ltd | 処理装置の割込みステータス認識方法 |
JPH08115292A (ja) * | 1994-10-17 | 1996-05-07 | Mitsubishi Electric Corp | インタフェースボード及び命令処理装置 |
JPH11338713A (ja) * | 1998-05-26 | 1999-12-10 | Oki Electric Ind Co Ltd | コンピュータシステム |
JP2000276357A (ja) * | 1999-03-24 | 2000-10-06 | Nec Corp | 割り込み処理装置および割り込み通知方法 |
JP2010224689A (ja) * | 2009-03-19 | 2010-10-07 | Nec Soft Ltd | デバイス制御システム、情報処理装置及びデバイス制御方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01306948A (ja) | 1988-06-06 | 1989-12-11 | Toshiba Corp | インタフェース基板 |
US7415557B2 (en) * | 2006-06-06 | 2008-08-19 | Honeywell International Inc. | Methods and system for providing low latency and scalable interrupt collection |
JP5320140B2 (ja) * | 2009-04-14 | 2013-10-23 | 株式会社日立製作所 | 計算機システム、割込み中継回路及び割込み中継方法 |
JP2011175419A (ja) | 2010-02-24 | 2011-09-08 | Kyocera Mita Corp | インタフェース装置、画像形成装置 |
US20130166805A1 (en) * | 2010-12-14 | 2013-06-27 | Mitsubishi Electric Corporation | Interrupt cause management device and interrupt processing system |
-
2013
- 2013-05-16 EP EP13884428.7A patent/EP2998872B1/en not_active Not-in-force
- 2013-05-16 WO PCT/JP2013/063709 patent/WO2014184935A1/ja active Application Filing
- 2013-05-16 CN CN201380076319.6A patent/CN105190582B/zh not_active Expired - Fee Related
- 2013-05-16 JP JP2015516844A patent/JP6053921B2/ja not_active Expired - Fee Related
- 2013-05-16 US US14/780,918 patent/US9684617B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02166548A (ja) * | 1988-12-21 | 1990-06-27 | Fujitsu Ltd | 共通バス制御方式 |
JPH05257863A (ja) | 1992-03-16 | 1993-10-08 | Fujitsu Ltd | 処理装置の割込みステータス認識方法 |
JPH08115292A (ja) * | 1994-10-17 | 1996-05-07 | Mitsubishi Electric Corp | インタフェースボード及び命令処理装置 |
JPH11338713A (ja) * | 1998-05-26 | 1999-12-10 | Oki Electric Ind Co Ltd | コンピュータシステム |
JP2000276357A (ja) * | 1999-03-24 | 2000-10-06 | Nec Corp | 割り込み処理装置および割り込み通知方法 |
JP2010224689A (ja) * | 2009-03-19 | 2010-10-07 | Nec Soft Ltd | デバイス制御システム、情報処理装置及びデバイス制御方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016177333A (ja) * | 2015-03-18 | 2016-10-06 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2998872B1 (en) | 2018-05-02 |
EP2998872A4 (en) | 2017-01-11 |
CN105190582B (zh) | 2018-01-16 |
EP2998872A1 (en) | 2016-03-23 |
CN105190582A (zh) | 2015-12-23 |
US20160055109A1 (en) | 2016-02-25 |
US9684617B2 (en) | 2017-06-20 |
JPWO2014184935A1 (ja) | 2017-02-23 |
JP6053921B2 (ja) | 2016-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11138143B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
US20220253392A1 (en) | Emulated endpoint configuration | |
US8588228B1 (en) | Nonvolatile memory controller with host controller interface for retrieving and dispatching nonvolatile memory commands in a distributed manner | |
US10318334B2 (en) | Virtio relay | |
JP4964931B2 (ja) | 装置への情報の問い合わせ | |
US7827343B2 (en) | Method and apparatus for providing accelerator support in a bus protocol | |
JP6053921B2 (ja) | バス中継装置 | |
CN105491082B (zh) | 远程资源访问方法和交换设备 | |
KR20170072645A (ko) | 프로세서 및 프로세서에서 데이터를 처리하는 방법 | |
US10909270B2 (en) | Information processing device, mobile object, information processing method, and computer program product | |
CN107526696B (zh) | 软件定义的sr-iov模块 | |
US11301410B1 (en) | Tags for request packets on a network communication link | |
CN107526695B (zh) | NVMe配置空间实现方法与装置 | |
US9483436B2 (en) | PCI function measurement block enhancements | |
US11347667B2 (en) | Bus controller and related methods | |
JP2009217336A (ja) | 計算機システム、ネットワークブートロードシステム、及び、そのブートロード方法 | |
JP6821509B2 (ja) | 情報処理装置並びにその制御方法及び制御プログラム | |
CN114090912A (zh) | 数据平台融合方法、计算设备及计算机存储介质 | |
JPWO2018074590A1 (ja) | コントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201380076319.6 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13884428 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015516844 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14780918 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013884428 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |