(57)【要約】【課題】  ヘッダ情報を入出力装置に転送するまでの時間を短縮する。【解決手段】  演算処理装置は、入出力を行う入出力装置に転送するデータの出力を伴う第１アクセス要求とデータの出力を伴わない第２アクセス要求とを出力し、第１アクセス要求の出力後に受信する第１出力要求に基づいてデータをバスに出力する複数の要求発行部と、第１および第２アクセス要求を調停する調停部と、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の第２出力要求の出力に比べて早いタイミングで出力する複数のタイミング制御部と、第１および第２アクセス要求を保持し、第１アクセス要求の調停の許可に基づいて要求発行部に第１出力要求を出力し、第２出力要求に基づいて、保持中の第２アクセス要求に含まれるヘッダ情報をバスに出力する複数の要求制御部を有する。【選択図】    図１
2015170142.tif 000002
【特許請求の範囲】
【請求項１】
入出力を行う入出力装置に接続する演算処理装置において、
前記入出力装置に転送するデータの出力を伴う第１アクセス要求と、前記データの出力を伴わない第２アクセス要求とを出力し、前記第１アクセス要求の出力後に受信する第１出力要求に基づいて前記データをバスに出力する複数の要求発行部と、
前記複数の要求発行部からの前記第１アクセス要求および前記第２アクセス要求を調停する調停部と、
前記複数の要求発行部のそれぞれに対応して設けられ、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の前記第２出力要求の出力に比べて早いタイミングで出力する複数のタイミング制御部と、
前記複数の要求発行部のそれぞれに対応して設けられ、前記第１アクセス要求および前記第２アクセス要求を保持し、前記第１アクセス要求の調停の許可に基づいて前記要求発行部に前記第１出力要求を出力し、前記第２出力要求に基づいて、保持中の前記第２アクセス要求に含まれるヘッダ情報を前記バスに出力する複数の要求制御部を有することを特徴とする演算処理装置。
【請求項２】
前記各タイミング制御部は、
未処理の前記第１アクセス要求の数を保持する保持部と、
前記保持部が”０”を保持する場合の第２出力要求の出力タイミングを、前記保持部が”０”以外を保持する場合の前記第２出力要求の出力タイミングに比べて早く設定する出力制御部を有することを特徴とする請求項１記載の演算処理装置。
【請求項３】
前記保持部は、前記調停部による前記第１アクセス要求の調停の許可に基づいてカウンタ値を進め、前記第１出力要求に対応して前記要求発行部から出力される最終のデータに基づいて前記カウンタ値を戻すカウンタを有し、
前記出力制御部は、前記カウンタ値に基づいて動作することを特徴とする請求項２記載の演算処理装置。
【請求項４】
前記各タイミング制御部は、前記保持部が”０”以外を保持中における前記第２アクセス要求の調停の許可に基づいて前記保持部に保持される数を進め、前記保持部に保持される値を増加させた次のサイクルで前記保持部に保持された数を戻す保持制御部を有することを特徴とする請求項２または請求項３記載の演算処理装置。
【請求項５】
入出力を行う入出力装置に転送するデータの出力を伴う第１アクセス要求と、前記データの出力を伴わない第２アクセス要求とを出力し、前記第１アクセス要求の出力後に受信する第１出力要求に基づいて前記データをバスに出力する複数の要求発行部と、前記複数の要求発行部からの前記第１アクセス要求および前記第２アクセス要求を調停する調停部を有し、前記入出力装置に接続される演算処理装置の制御方法において、
前記複数の要求発行部のそれぞれに対応して設けられる複数のタイミング制御部が、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の前記第２出力要求の出力に比べて早いタイミングで出力し、
前記複数の要求発行部のそれぞれに対応して設けられる複数の要求制御部が、前記第１アクセス要求および前記第２アクセス要求を保持し、前記第１アクセス要求の調停の許可に基づいて前記要求発行部に前記第１出力要求を出力し、前記第２出力要求に基づいて、保持中の前記第２アクセス要求に含まれるヘッダ情報を前記バスに出力することを特徴とする演算処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置および演算処理装置の制御方法に関する。
【背景技術】
【０００２】
複数のアクセス要求を受けてバス権を調停する調停回路において、１つのアクセス要求を受け、他のアクセス要求を受けない場合に、調停の処理を省き、アクセス要求を処理回路に出力する手法が提案されている（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３３４２４０号公報
【特許文献２】特開２０１０−１０８２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、演算処理装置が、アクセス要求を出力する複数の要求発行部を有する場合、アクセス要求は調停部により調停され、要求発行部が出力するアクセス要求に含まれるヘッダ情報は、キューに保持される。要求発行部は、データの出力を伴うアクセス要求を出力する場合、アクセス要求が調停部により許可された後にキューから出力されるデータの出力要求に基づいてデータを出力する。そして、要求発行部から出力されるデータは、キューから出力されるヘッダ情報に続いて、アクセスされる入出力装置を制御する制御回路に転送される。
【０００５】
例えば、データと、後続のアクセス要求に対応するヘッダ情報との衝突を回避するため、アクセス要求が許可されてからキューがヘッダ情報を出力するまでのタイミングは、アクセス要求の種類に拘わり無く共通のタイミングに設定される。しかしながら、アクセス要求が許可されてからキューがヘッダ情報を出力するまでのタイミングの共通化は、データの出力を伴わないアクセス要求に基づいてアクセスされる入出力装置のアクセス効率を低下させる要因になる。
【０００６】
本件開示の演算処理装置および演算処理装置の制御方法は、ヘッダ情報を入出力装置に転送するまでの時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
一つの観点によれば、入出力を行う入出力装置に接続する演算処理装置は、入出力装置に転送するデータの出力を伴う第１アクセス要求と、データの出力を伴わない第２アクセス要求とを出力し、第１アクセス要求の出力後に受信する第１出力要求に基づいてデータをバスに出力する複数の要求発行部と、複数の要求発行部からの第１アクセス要求および第２アクセス要求を調停する調停部と、複数の要求発行部のそれぞれに対応して設けられ、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の第２出力要求の出力に比べて早いタイミングで出力する複数のタイミング制御部と、複数の要求発行部のそれぞれに対応して設けられ、第１アクセス要求および第２アクセス要求を保持し、第１アクセス要求の調停の許可に基づいて要求発行部に第１出力要求を出力し、第２出力要求に基づいて、保持中の第２アクセス要求に含まれるヘッダ情報をバスに出力する複数の要求制御部を有する演算処理装置は、装置に転送するデータの出力を伴う第１アクセス要求と、データの出力を伴わない第２アクセス要求とを出力し、第１アクセス要求の出力後に受信する第１出力要求に基づいてデータをバスに出力する複数の要求発行部と、複数の要求発行部からの第１アクセス要求および第２アクセス要求を調停する調停部と、複数の要求発行部のそれぞれに対応して設けられ、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の第２出力要求の出力に比べて早いタイミングで出力する複数のタイミング制御部と、複数の要求発行部のそれぞれに対応して設けられ、第１アクセス要求および第２アクセス要求を保持し、第１アクセス要求の調停の許可に基づいて要求発行部に第１出力要求を出力し、第２出力要求に基づいて、保持中の第２アクセス要求に含まれるヘッダ情報をバスに出力する複数の要求制御部を有する。
【０００８】
別の観点によれば、入出力を行う入出力装置に転送するデータの出力を伴う第１アクセス要求と、データの出力を伴わない第２アクセス要求とを出力し、第１アクセス要求の出力後に受信する第１出力要求に基づいてデータをバスに出力する複数の要求発行部と、複数の要求発行部からの第１アクセス要求および第２アクセス要求を調停する調停部を有し、入出力装置に接続される演算処理装置の制御方法は、複数の要求発行部のそれぞれに対応して設けられる複数のタイミング制御部が、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の第２出力要求の出力に比べて早いタイミングで出力し、複数の要求発行部のそれぞれに対応して設けられる複数の要求制御部が、第１アクセス要求および第２アクセス要求を保持し、第１アクセス要求の調停の許可に基づいて要求発行部に第１出力要求を出力し、第２出力要求に基づいて、保持中の第２アクセス要求に含まれるヘッダ情報をバスに出力する。
【発明の効果】
【０００９】
本件開示の演算処理装置および演算処理装置の制御方法は、ヘッダ情報を入出力装置に転送するまでの時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】演算処理装置および演算処理装置の制御方法の一実施形態を示す図である。
【図２】図１に示す演算処理装置の動作の例を示す図である。
【図３】演算処理装置および演算処理装置の制御方法の別の実施形態を示す図である。
【図４】図３に示すキャッシュ制御部およびルーティング制御部の例を示す図である。
【図５】図４に示すヘッダ情報の例を示す図である。
【図６】図４に示す調停制御部の例を示す図である。
【図７】図６に示す調停制御回路から出力される信号に応じて調停許可および読み出し要求を生成する回路の例を示す図である。
【図８】図6に示すカウンタ制御回路および信号生成回路の動作の例を示す図である。
【図９】タグ情報の仕様の例および図６に示す検出回路の動作の例を示す図である。
【図１０】図３に示す演算処理装置の動作の例を示す図である。
【図１１】調停制御部の別の例を示す図である。
【図１２】図１１に示す調停制御部を有する演算処理装置の動作の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を用いて実施形態を説明する。
【００１２】
図１は、演算処理装置および演算処理装置の制御方法の一実施形態を示す。図１に示す演算処理装置ＣＰＵ（Central Processing Unit）１は、複数の要求発行部１０、調停部１２、複数のタイミング制御部１４および複数の要求制御部１６を有する。要求発行部１０は、符号１０（１）、１０（２）で示され、タイミング制御部１４は、符号１４（１）、１４（２）で示され、要求制御部１６は、符号１６（１）、１６（２）で示される。以下、演算処理装置ＣＰＵ１は、単にＣＰＵ１とも称される。なお、要求発行部１０の数、タイミング制御部１４の数および要求制御部１６の数は、２個に限定されず、３個以上でもよい。
【００１３】
各要求発行部１０は、ＣＰＵ１に接続されるＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）等の入出力装置にアクセスする第１アクセス要求ＲＱ１（ＲＱ１（１）、ＲＱ１（２））および第２アクセス要求ＲＱ２（ＲＱ２（１）、ＲＱ２（２））を出力する。例えば、第１アクセス要求ＲＱ１は、アクセス要求の種別等の情報が格納されるヘッダ情報ＨＤ１（ＨＤ１（１）、ＨＤ１（２））を含む。同様に、第２アクセス要求ＲＱ２は、アクセス要求の種別等の情報が格納されるヘッダ情報ＨＤ２（ＨＤ２（１）、ＨＤ２（２））を含む。例えば、第１アクセス要求ＲＱ１は、入出力装置にデータを出力するためのアクセス要求であり、各要求発行部１０からのデータＤＴ（ＤＴ（１）、ＤＴ（２））の出力を伴う。例えば、第２アクセス要求ＲＱ２は、入出力装置からデータを出力するためのアクセス要求であり、各要求発行部ＲＱ１からのデータＤＴの出力を伴わない。
【００１４】
要求発行部１０（１）は、調停部１２による第１アクセス要求ＲＱ１（１）の受け付けに応じて要求制御部１６（１）から出力される第１出力要求ＯＲＱ１（１）に基づいてデータＤＴ（１）を出力する。要求発行部１０（２）は、調停部１２による第１アクセス要求ＲＱ１（２）の受け付けに応じて要求制御部１６（２）から出力される第１出力要求ＯＲＱ１（２）に基づいてデータＤＴ（２）を出力する。
【００１５】
調停部１２は、要求発行部１０（１）、１０（２）からの第１アクセス要求ＲＱ１および第２アクセス要求ＲＱ２を調停し、第１アクセス要求ＲＱ１および第２アクセス要求ＲＱ２の調停の許可の順序を決定する。調停部１２は、決定した許可の順序にしたがって各要求発行部１０に、アクセスを許可するアクセス許可ＡＥＮ（ＡＥＮ（１）、ＡＥＮ（２））を出力する。例えば、調停部１２は、ＬＲＵ（least Recently Used）方式で第１アクセス要求ＲＱ１および第２アクセス要求ＲＱ２の許可の順序を決定する。
【００１６】
タイミング制御部１４（１）、１４（２）は、要求発行部１０（１）、１０（２）のそれぞれに対応して設けられる。タイミング制御部１４（２）は、タイミング制御部１４（１）と同一または同様の構成を有する。このため、以下では、タイミング制御部１４（１）について説明される。タイミング制御部１４（２）の構成および動作は、符号（１）を符号（２）に置き換えることで示される。
【００１７】
タイミング制御部１４（１）は、第１アクセス要求ＲＱ１（１）に対応するアクセス許可ＡＥＮ（１）に基づいて第２出力要求ＯＲＱ２（１）を第１タイミングで出力する。タイミング制御部１４（１）は、未処理の第１アクセス要求ＲＱ１（１）がある場合、第２アクセス要求ＲＱ２（１）に対応するアクセス許可ＡＥＮ（１）に基づいて第２出力要求ＯＲＱ２（１）を第１タイミングで出力する。また、タイミング制御部１４（１）は、未処理の第１アクセス要求ＲＱ１（１）がない場合、第２アクセス要求ＲＱ２（１）に対応するアクセス許可ＡＥＮ（１）に基づいて第２出力要求ＯＲＱ２（１）を第１タイミングより早い第２タイミングで出力する。
【００１８】
例えば、タイミング制御部１４（１）は、未処理の第１アクセス要求の数を保持する保持部ＨＬＤ（１）および出力制御部ＯＣＮＴ（１）を有する。タイミング制御部１４（２）は、未処理の第１アクセス要求の数を保持する保持部ＨＬＤ（２）および出力制御部ＯＣＮＴ（２）を有する。タイミング制御部１４（１）は、保持部ＨＬＤ（１）に”０”以外が保持される場合、未処理の第１アクセス要求ＲＱ１（１）が存在すると判定する。また、タイミング制御部１４（１）は、保持部ＨＬＤ（１）に”０”が保持される場合、未処理の第１アクセス要求ＲＱ１（１）が存在しないと判定する。
【００１９】
出力制御部ＯＣＮＴ（１）は、保持部ＨＬＤ（１）が”０”以外を保持する場合、第２アクセス要求ＲＱ２（１）に対応するアクセス許可ＡＥＮ（１）から所定のサイクル後に第２出力要求ＯＲＱ２（１）を出力する。出力制御部ＯＣＮＴ（１）は、保持部ＨＬＤ（１）が”０”を保持する場合、第２アクセス要求ＲＱ２（１）に対応するアクセス許可ＡＥＮ（１）を受けたサイクルに第２出力要求ＯＲＱ２（１）を出力する。
【００２０】
例えば、保持部ＨＬＤ（１）は、第１アクセス要求ＲＱ１（１）の受け付けに基づいてカウンタ値が進み、第１出力要求ＯＲＱ１（１）に対応して要求発行部１０（１）から出力されるデータのうち最終のデータに基づいてカウンタ値が戻るカウンタを有する。なお、各保持部ＨＬＤ（１）、ＨＬＤ（２）は、カウンタの代わりに、未処理の第１アクセス要求ＲＱ１（１）、ＲＱ１（２）の数を判定する論理回路を有してもよい。
【００２１】
要求制御部１６（１）、１６（２）は、要求発行部１０（１）、１０（２）のそれぞれに対応して設けられる。要求制御部１６（２）は、要求制御部１６（１）と同一または同様の構成を有する。このため、以下では、要求制御部１６（１）について説明される。要求制御部１６（２）の動作は、符号（１）を符号（２）に置き換えることで示される。
【００２２】
要求制御部１６（１）は、要求発行部１０（１）から出力されるヘッダ情報ＨＤ１（１）、ＨＤ２（１）を保持する。要求制御部１６（１）は、第１アクセス要求ＲＱ１（１）に対応するアクセス許可ＡＥＮ（１）に基づいて、要求発行部１０（１）に第１出力要求ＯＲＱ１（１）を出力する。要求制御部１６（１）は、保持したヘッダ情報ＨＤ１（１）を、第１アクセス要求ＲＱ１（１）に対応する第２出力要求ＯＲＱ２（１）に基づいてヘッダ情報ＨＤ（１）として出力する。また、要求制御部１６（１）は、保持したヘッダ情報ＨＤ２（１）を、第２アクセス要求ＲＱ２（１）に対応する第２出力要求ＯＲＱ２（１）に基づいてヘッダ情報ＨＤ（１）として出力する。
【００２３】
例えば、ヘッダ情報ＨＤ（１）、ＨＤ（２）およびデータＤＴ（１）、ＤＴ（２）は、共通のバスＢＵＳを介して、互いに異なるタイミングで、重複すること無く入出力装置に転送される。なお、ＣＰＵ１に複数の入出力装置が接続される場合、ヘッダ情報ＨＤ（１）、ＨＤ（２）は、アクセスする入出力装置を識別するアドレス等の情報を含む。この場合、ヘッダ情報ＨＤ（１）、ＨＤ（２）およびデータＤＴ（１）、ＤＴ（２）は、アクセスする入出力装置を選択するルーティング部等を介して各入出力装置に供給されてもよい。
【００２４】
図２は、図１に示す演算処理装置ＣＰＵ１の動作の例を示す。例えば、図２は、演算処理装置ＣＰＵ１の制御方法の一例を示す。例えば、図２の上側に示す数字は、クロックサイクルを示す。図２に示す例では、要求発行部１０（１）は、第１アクセス要求ＲＱ１（１）を出力した後、第２アクセス要求ＲＱ２（１）を２回出力する（図２（ａ）、（ｂ）、（ｃ））。例えば、第１アクセス要求ＲＱ１（１）は、１番目のクロックサイクルに出力され、第２アクセス要求ＲＱ２（１）は、３番目と５番目のクロックサイクルに出力される。なお、要求発行部１０（２）が出力する第１アクセス要求ＲＱ１（２）および第２アクセス要求ＲＱ２（２）に応答する動作は、図２に示した符号（１）を符号（２）に変更することで示される。すなわち、第１アクセス要求ＲＱ１および第２アクセス要求ＲＱ２は、要求発行部１０（１）、１０（２）のいずれから出力されてもよい。
【００２５】
この例では、第１アクセス要求ＲＱ１（１）と重複するアクセス要求は、存在しない。このため、調停部１２は、要求発行部１０（１）が出力する第１アクセス要求ＲＱ１（１）の受信に基づいて第１アクセス要求ＲＱ１（１）の受け付けの許可を示すアクセス許可ＡＥＮ（１）をタイミング制御部１４（１）に出力する（図２（ｄ））。タイミング制御部１４（１）は、アクセス許可ＡＥＮ（１）が出力された次のクロックサイクルで第２出力要求ＯＲＱ２（１）を要求制御部１６（１）に出力する（図２（ｅ））。すなわち、アクセス許可ＡＥＮ（１）に基づいて第２出力要求ＯＲＱ２（１）を出力する第１タイミングは、アクセス許可ＡＥＮ（１）が出力されたクロックサイクルの次のクロックサイクルである。
【００２６】
要求制御部１６（１）は、アクセス許可ＡＥＮ（１）が出力された次のクロックサイクルで第１出力要求ＯＲＱ１（１）を要求発行部１０（１）に出力する（図２（ｆ））。また、要求制御部１６（１）は、第２出力要求ＯＲＱ２（１）が出力されたクロックサイクルの次のクロックサイクルで、ヘッダ情報ＨＤ１（１）をヘッダ情報ＨＤ（１）としてバスＢＵＳに出力する（図２（ｇ））。
【００２７】
要求発行部１０（１）は、第１出力要求ＯＲＱ１（１）に基づいてデータＤＴ（１）をメモリ等から読み出し、読み出したデータＤＴ（１）をバスＢＵＳに出力する（図２（ｈ））。例えば、データＤＴ（１）は、要求制御部１６（１）が第１出力要求ＯＲＱ１（１）を出力したクロックサイクルの２クロックサイクル後に要求発行部１０（１）から出力される。そして、第１アクセス要求ＲＱ１（１）に対応してヘッダ情報ＨＤ（１）およびデータＤＴ（１）を、バスＢＵＳを介して入出力装置に転送する処理は、５番目のクロックサイクルで終了する。
【００２８】
一方、調停部１２は、３番目のクロックサイクルに要求発行部１０（１）から出力される第２アクセス要求ＲＱ２（１）の受信に基づいて第２アクセス要求ＲＱ２（１）の受け付けの許可を示すアクセス許可ＡＥＮ（１）を出力する（図２（ｉ））。タイミング制御部１４（１）は、第１アクセス要求ＲＱ１（１）に伴う転送の処理中にアクセス許可ＡＥＮ（１）を受ける。すなわち、タイミング制御部１４（１）は、未処理の第１アクセス要求ＲＱ（１）の存在中にアクセス許可ＡＥＮ（１）を受ける。この場合、タイミング制御部１４（１）は、アクセス許可ＡＥＮ（１）が出力されたクロックサイクルの次のクロックサイクル（すなわち、第１タイミング）で第２出力要求ＯＲＱ２（１）を要求制御部１６（１）に出力する（図２（ｊ））。要求制御部１６（１）は、第２出力要求ＯＲＱ２（１）が出力されたクロックサイクルの次のクロックサイクルにヘッダ情報ＨＤ２（１）をヘッダ情報ＨＤ（１）としてバスＢＵＳに出力する（図２（ｋ））。
【００２９】
調停部１２は、５番目のクロックサイクルに要求発行部１０（１）から出力される第２アクセス要求ＲＱ２（１）の受信に基づいて第２アクセス要求ＲＱ２（１）の受け付けの許可を示すアクセス許可ＡＥＮ（１）を出力する（図２（ｌ））。タイミング制御部１４（１）は、第１アクセス要求ＲＱ１（１）に伴う転送の処理が終了した後、アクセス許可ＡＥＮ（１）を受ける。すなわち、タイミング制御部１４（１）がアクセス許可ＡＥＮ（１）を受けたクロックサイクルにおいて、未処理の第１アクセス要求ＲＱ１（１）は存在しない。この場合、タイミング制御部１４（１）は、アクセス許可ＡＥＮ（１）が出力されたクロックサイクルに第２出力要求ＯＲＱ２（１）を出力する（図２（ｍ））。すなわち、タイミング制御部１４（１）は、未処理の第１アクセス要求ＲＱ１（１）が存在しない場合、未処理の第１アクセス要求ＲＱ１（１）が存在する場合に比べて、第２出力要求ＯＲＱ２（１）の出力タイミングを早くする。
【００３０】
要求制御部１６（１）は、３番目の第２出力要求ＯＲＱ２（１）が出力された次のクロックサイクルにヘッダ情報ＨＤ２（１）をヘッダ情報ＨＤ（１）としてバスＢＵＳに出力する（図２（ｎ））。そして、第１アクセス要求ＲＱ１（１）および第２アクセス要求ＲＱ２（１）に対応する動作が終了する。
【００３１】
図２に示す例では、未処理の第１アクセス要求ＲＱ１（１）が存在する場合、ヘッダ情報ＨＤ（１）は、第２アクセス要求ＲＱ２（１）が出力されたクロックサイクルの３つ後のクロックサイクルにバスＢＵＳに出力される。一方、未処理の第１アクセス要求ＲＱ１（１）が存在しない場合、ヘッダ情報ＨＤ（１）は、第２アクセス要求ＲＱ２（１）が出力されたクロックサイクルの２つ後のクロックサイクルに出力される。
【００３２】
すなわち、未処理の第１アクセス要求ＲＱ１（１）が存在しない場合、ヘッダ情報ＨＤ（１）の出力タイミングを、未処理の第１アクセス要求ＲＱ１（１）が存在する場合のヘッダ情報ＨＤ（１）の出力タイミングより１クロックサイクル早く出力することができる。したがって、未処理の第１アクセス要求ＲＱ１（１）の有無のそれぞれに応じた最小の時間で、ヘッダ情報ＨＤ（１）を、共通のバスＢＵＳを介して入出力装置に転送することができる。この結果、未処理の第１アクセス要求ＲＱ１（１）の有無に拘わらずアクセス許可ＡＥＮ（１）の出力から出力要求ＯＲＱ２（１）の出力までの時間が一定である場合に比べて、ＣＰＵ１による入出力装置のアクセス効率を向上することができる。
【００３３】
さらに、未処理の第１アクセス要求ＲＱ１（１）が存在する場合、第２アクセス要求ＲＱ２（１）に対する第２出力要求ＯＲＱ２（１）の出力タイミングは、第１アクセス要求ＲＱ１（１）に対する第２出力要求ＯＲＱ２（１）の出力タイミングと同じである。これにより、第１アクセス要求ＲＱ１（１）に対応するデータＤＴ（１）と、第２アクセス要求ＲＱ２（１）に対応するヘッダ情報ＨＤ（１）とが同じクロックサイクルでバスＢＵＳに供給されることを避けることができる。すなわち、第１アクセス要求ＲＱ１（１）に対応するデータＤＴ（１）と、第２アクセス要求ＲＱ２（１）に対応するヘッダ情報ＨＤ（１）とがバスＢＵＳ上で衝突することを回避することができ、演算処理装置ＣＰＵ１の誤動作を抑止することができる。
【００３４】
以上、図１および図２に示す実施形態では、未処理の第１アクセス要求ＲＱ１の有無のそれぞれに応じた最小の時間で、第２アクセス要求ＲＱ２に対応するヘッダ情報ＨＤ（１）を入出力装置に転送することができる。これにより、ＣＰＵ１による入出力装置のアクセス効率を向上することができる。また、未処理の第１アクセス要求ＲＱ１の有無に応じて、第２アクセス要求ＲＱ２に対応する第２出力要求ＯＲＱ２の出力タイミングを変えることで、データＤＴ（１）とヘッダ情報ＨＤ（１）とがバスＢＵＳ上で衝突することを回避することができる。この結果、演算処理装置ＣＰＵ１の誤動作を抑止することができる。
【００３５】
図３は、演算処理装置および演算処理装置の制御方法の別の実施形態を示す。この実施形態の演算処理装置ＣＰＵ２は、複数のコア２０、複数のメモリ制御部３０、キャッシュメモリＣＭを含む複数のキャッシュ制御部４０、ルーティング制御部５０およびＩ／Ｏ（Input/Output）制御部６０を有する。以下、演算処理装置ＣＰＵ２は、単にＣＰＵ２とも称される。キャッシュ制御部４０は、符号４０（０）、４０（１）、４０（２）、４０（３）で示され、Ｉ／Ｏ制御部６０は、符号６０（ａ）、６０（ｂ）、６０（ｃ）、６０（ｄ）で示される。Ｉ／Ｏ制御部６０の括弧内に示すアルファベットは、入出力装置３００の末尾に示すアルファベットに対応する。
【００３６】
例えば、ＣＰＵ２は、所定数のコア２０、メモリ制御部３０およびキャッシュ制御部４０のそれぞれを含む４つのグループを有する。各グループのキャッシュ制御部４０は、グループ内のコア２０からのアクセス要求に基づいてキャッシュメモリＣＭにアクセスし、キャッシュメモリＣＭにデータがない場合、メモリ制御部３０を介してメモリ２００にアクセスする。例えば、メモリ２００は、ＤＲＡＭ（Dynamic Random Access Memory）等の読み書き可能なメモリである。
【００３７】
また、各グループのキャッシュ制御部４０は、グループ内のコア２０が出力する入出力装置３００（３００ａ、３００ｂ、３００ｃ、３００ｄ）へのアクセス要求を、リクエストの送出要求およびヘッダ情報としてルーティング制御部５０に出力する。各キャッシュ制御部４０が出力するアクセス要求は、入出力装置３００に書き込むデータの出力を伴う第１アクセス要求および入出力装置３００に書き込むデータの出力を伴わない第２アクセス要求のいずれかである。キャッシュ制御部４０の例は、図４に示す。各キャッシュ制御部４０は、他のグループのキャッシュ制御部４０との間でデータを転送する機能を有する。
【００３８】
ルーティング制御部５０および４つのＩ／Ｏ制御部６０は、４つのグループに共通に設けられる。ルーティング制御部５０は、各キャッシュ制御部４０からのアクセス要求を調停し、調停したアクセス要求を、アクセス要求が示すＩ／Ｏ制御部６０に順次に出力する機能を有する。ルーティング制御部５０の例は、図４に示す。
【００３９】
各Ｉ／Ｏ制御部６０は、ルーティング制御部５０から受信するアクセス要求に基づいて、入出力装置３００にアクセスする。例えば、入出力装置３００は、ＨＤＤとＨＤＤへのアクセスを制御するＨＤＤコントローラとを含む。各Ｉ／Ｏ制御部６０は、ＨＤＤコントローラを介してＨＤＤにアクセスする。なお、入出力装置３００は、ＳＳＤやＵＳＢ（Universal Serial Bus）メモリ等、情報を入出力する他の記憶装置でもよい。
【００４０】
ＣＰＵ２内の各コア２０は、グループ内のメモリ制御部３０を介してメモリ２００にアクセス可能であり、キャッシュ制御部４０およびルーティング制御部５０を介して入出力装置３００のいずれかにアクセス可能である。
【００４１】
図４は、図３に示すキャッシュ制御部４０およびルーティング制御部５０の例を示す。各キャッシュ制御部４０は、ヘッダ情報部ＨＤＩＮＦおよびバッファ部ＢＵＦを含む要求発行部４２（４２（０）、４２（１）、４３（２）、４３（３））を有する。
【００４２】
各ヘッダ情報部ＨＤＩＮＦは、コア２０からの入出力装置３００に対するアクセス要求に基づいて、アクセス要求の送出要求ＲＲＱ（ＲＲＱ０、ＲＲＱ１、ＲＲＱ２、ＲＲＱ３）およびヘッダ情報ＨＤ（ＨＤ０、ＨＤ１、ＨＤ２、ＨＤ３）を出力する。ヘッダ情報ＨＤの例は、図５に示す。また、ヘッダ情報部ＨＤＩＮＦは、送出要求ＲＲＱに対する応答であるアクセス要求の送出許可ＲＥＮ（ＲＥＮ０、ＲＥＮ１、ＲＥＮ２、ＲＥＮ３）をルーティング制御部５０から受ける。ヘッダ情報部ＨＤＩＮＦは、入出力装置３００へのデータの書き込みを示す送出要求ＲＲＱを出力した場合、送出要求ＲＲＱの応答としてデータの読み出し要求ＲＤＲＱ（ＲＤＲＱ０、ＲＤＲＱ１、ＲＤＲＱ２、ＲＤＲＱ３）をルーティング制御部５０から受ける。
【００４３】
各バッファ部ＢＵＦは、データバスＤＢ（ＤＢ０、ＤＢ１、ＤＢ２、ＤＢ３）を介して入出力装置３００へ書き込むデータを保持し、データバスＤＢを介して入出力装置３００から読み出されるデータを保持する。
【００４４】
ルーティング制御部５０は、リクエストキューＲＱＣＵＥ（ＲＱＣＵＥ０、ＲＱＣＵＥ１、ＲＱＣＵＥ２、ＲＱＣＵＥ３）、調停制御部ＡＲＢＣＮＴ、資源管理部ＳＲＣＭＮＧおよびルーティング部ＲＯＵＴを有する。図４では、キャッシュ制御部４０（０）に対応する信号は末尾に”０”を付け、キャッシュ制御部４０（１）に対応する信号は末尾に”１”を付ける。キャッシュ制御部４０（２）に対応する信号は末尾に”２”を付け、キャッシュ制御部４０（３）に対応する信号は末尾に”３”を付ける。また、Ｉ／Ｏ制御部６０（ａ）に対応する信号は末尾に”ａ”を付け、Ｉ／Ｏ制御部６０（ｂ）に対応する信号は末尾に”ｂ”を付け、Ｉ／Ｏ制御部６０（ｃ）に対応する信号は末尾に”ｃ”を付け、Ｉ／Ｏ制御部６０（ｄ）に対応する信号は末尾に”ｄ”を付ける。以下では、末尾の数字および末尾のアルファベットを省略して説明する場合がある。
【００４５】
各リクエストキューＲＱＣＵＥは、送出要求ＲＲＱおよびヘッダ情報ＨＤに応じて、調停要求ＡＲＱとヘッダ情報ＨＤに含まれるリクエスト情報ＲＩＮＦとを調停制御部ＡＲＢＣＮＴに出力する。なお、送出要求ＲＲＱおよびヘッダ情報ＨＤに応じて、調停要求ＡＲＱとリクエスト情報ＲＩＮＦとを出力する機能は、調停制御部ＡＲＢＣＮＴ内に設けられてもよい。
【００４６】
各リクエストキューＲＱＣＵＥは、調停制御部ＡＲＢＣＮＴからの調停許可ＡＥＮに応じて、アクセス要求の送出許可ＲＥＮおよびデータの読み出し要求ＲＤＲＱを要求発行部４２に出力する。調停許可ＡＥＮは、アクセス要求の送出要求ＲＲＱに対するアクセスを許可するアクセス許可の一例である。また、各リクエストキューＲＱＣＵＥは、調停制御部ＡＲＢＣＮＴからのヘッダ情報ＨＤの読み出し要求ＨＲＤに応じて、保持中のヘッダ情報ＨＤをヘッダバスＨＤＢ（ＨＤＢ０、ＨＤＢ１、ＨＤＢ２、ＨＤＢ３）に出力する。
【００４７】
調停制御部ＡＲＢＣＮＴは、各リクエストキューＲＱＣＵＥから出力される調停要求ＡＲＱ０−ＡＲＱ３を調停し、調停により選ばれた調停要求ＡＲＱ０−ＡＲＱ３に対応する調停許可ＡＥＮ０−ＡＥＮ３のいずれかを出力する。なお、調停要求ＡＲＱ０−ＡＲＱ３は、図６に示す調停部ＡＲＢＵにより調停される。調停制御部ＡＲＢＣＮＴは、各リクエストキューＲＱＣＵＥからのリクエスト情報ＲＩＮＦが、入出力装置３００へのデータの書き込みを示す場合、調停許可ＡＥＮとともに読み出し要求ＨＲＤを出力する。
【００４８】
また、調停制御部ＡＲＢＣＮＴは、各要求発行部４２からデータバスＤＢに出力されるデータに含まれるタグ情報ＴＡＧとデータを書き込む入出力装置３００を示す宛先情報ＤＩＤとを受ける。タグ情報ＴＡＧおよび宛先情報ＤＩＤに基づく調停制御部ＡＲＢＣＮＴの動作は、図６で説明する。
【００４９】
さらに、調停制御部ＡＲＢＣＮＴは、各Ｉ／Ｏ制御部６０に設けられるバッファの空き容量を示す資源情報ＲＳＣＩＮＦを資源管理部ＳＲＣＭＮＧから受ける。調停制御部ＡＲＢＣＮＴは、各要求発行部４２から各Ｉ／Ｏ制御部６０にデータが転送される場合、データの転送容量を示すデータ情報ＤＩＮＦを資源管理部ＳＲＣＭＮＧに出力する。
【００５０】
資源管理部ＳＲＣＭＮＧは、各Ｉ／Ｏ制御部６０のバッファの空き容量を示すカウンタをＩ／Ｏ制御部６０毎に有する。カウンタは、対応するＩ／Ｏ制御部６０からの資源解放情報ＲＬＳ（ＲＬＳａ、ＲＬＳｂ、ＲＬＳｃ、ＲＬＳｄ）に応じて増加し、調停制御部ＡＲＢＣＮＴからのデータ情報ＤＩＮＦに応じて減少する。例えば、資源管理部ＳＲＣＭＮＧが調停制御部ＡＲＢＣＮＴに出力する資源情報ＲＳＣＩＮＦは、各カウンタのカウンタ値を示す。そして、調停制御部ＡＲＢＣＮＴは、資源情報ＲＳＣＩＮＦがバッファの満杯を示す場合、調停要求ＡＲＱに応答する調停許可ＡＥＮの出力を禁止し、資源情報ＲＳＣＩＮＦがバッファの空きを示した後、調停許可ＡＥＮの出力を許可する。
【００５１】
例えば、ルーティング部ＲＯＵＴは、ヘッダバスＨＤＢを介して受けるヘッダ情報ＨＤに含まれるアドレスに基づいて、アクセスする入出力装置３００を判断する。そして、ヘッダ情報ＨＤが入出力装置３００へのデータの書き込みを示す場合、ルーティング部ＲＯＵＴは、リクエストバスＲＢ（ＲＢａ、ＲＢｂ、ＲＢｃ、ＲＢｄ）にヘッダ情報ＨＤおよびデータを出力する。ここで、ヘッダ情報ＨＤおよびデータは、アクセスする入出力装置３００に対応するＩ／Ｏ制御部６０に接続されたリクエストバスＲＢに出力される。各リクエストバスＲＢは、複数のリクエストキューＲＱＣＵＥからのヘッダ情報ＨＤおよび複数の要求発行部４２からのデータをＩ／Ｏ制御部６０に転送する共通バスである。
【００５２】
なお、ヘッダ情報ＨＤが入出力装置３００からのデータの読み出しを示す場合、ルーティング部ＲＯＵＴは、アクセスする入出力装置３００に対応するＩ／Ｏ制御部６０に接続されたリクエストバスＲＢにヘッダ情報ＨＤを出力する。その後、ルーティング部ＲＯＵＴは、リクエストバスＲＢを介して入出力装置３００からのデータを受け、受けたデータをキャッシュ制御部４０に出力する。
【００５３】
図５は、図４に示すヘッダ情報ＨＤの例を示す。ヘッダ情報ＨＤは、オペコード、リクエストＩＤ（IDentification）およびアドレスを格納する領域を有する。オペコードは、アクセス要求の種類（入出力装置３００へのデータの書き込み、入出力装置３００からのデータの読み出し）とデータの転送サイズとを示す。例えば、複数のオペコードが、アクセス要求の種類のそれぞれに対応して、複数の転送サイズ毎に割り当てられる。なお、以下の説明では、入出力装置３００へデータを書き込むアクセス要求は、データ付きリクエストとも称され、入出力装置３００からデータを読み出すアクセス要求は、データ無しリクエストとも称される。
【００５４】
リクエストＩＤは、要求発行部４２がアクセス要求毎に割り当てる任意の番号であり、リクエストキューＲＱＣＵＥからの応答にも付加される。要求発行部４２は、リクエストＩＤを用いて、アクセス要求と、リクエストキューＲＱＣＵＥからの送出許可ＲＥＮ等の応答とを対応付ける。アドレスは、入出力装置３００に割り当てられたアドレスを示す。
【００５５】
図６は、図４に示す調停制御部ＡＲＢＣＮＴの例を示す。調停制御部ＡＲＢＣＮＴは、各入出力装置３００に対応する調停制御回路ＡＣＮＴ（ＡＣＮＴａ、ＡＣＮＴｂ、ＡＣＮＴｃ、ＡＣＮＴｄ）を有する。調停制御回路ＡＣＮＴの末尾に示すアルファベットは、Ｉ／Ｏ制御部６０の括弧内および入出力装置３００の末尾に示すアルファベットに対応する。調停制御回路ＡＣＮＴａ、ＡＣＮＴｂ、ＡＣＮＴｃ、ＡＣＮＴｄは、互いに同一または同様の回路であるため、以下では、調停制御回路ＡＣＮＴａが説明される。
【００５６】
調停制御回路ＡＣＮＴａは、調停部ＡＲＢＵおよび要求発行部４２（０）、４２（１）、４２（２）、４２（３）のそれぞれに対応する４つのタイミング制御部ＴＣＮＴ（ＴＣＮＴ０、ＴＣＮＴ１、ＴＣＮＴ２、ＴＣＮＴ３）を有する。
【００５７】
調停部ＡＲＢＵは、各リクエストキューＲＱＣＵＥから出力される調停要求ＡＲＱとリクエスト情報ＲＩＮＦとを受け、リクエスト情報ＲＩＮＦが調停制御回路ＡＣＮＴａに対応する入出力装置３００を示す場合、受けた調停要求ＡＲＱを調停する。そして、調停部ＡＲＢＵは、許可した調停要求ＡＲＱに対応する調停許可ＡＥＮｍ（ｍは、ａ、ｂ、ｃ、ｄのいずれか）を出力する。例えば、調停部ＡＲＢＵは、ＬＲＵ方式で調停要求ＡＲＱの許可の順序を決定する。
【００５８】
図６および図７において、調停許可ＡＥＮに付加したアルファベットは、入出力装置３００のアルファベット（図３）に対応し、調停許可ＡＥＮに付加した数字は、要求発行部４２の括弧内の数字（図４）に対応する。例えば、調停部ＡＲＢＵは、データ付きリクエストの送出要求ＲＲＱに対応してリクエストバスＲＢに出力されるデータの出力サイクル数に対応する期間、調停許可ＡＥＮの出力を抑止する抑止部ＳＴＯＰを有する。抑止部ＳＴＯＰの動作の例は、図１０に示す。
【００５９】
タイミング制御部ＴＣＮＴ０は、カウンタ制御回路ＣＣＮＴ、カウンタＣＯＵＮＴ、ラッチＬＴ０、ＬＴ１、信号生成回路ＳＧＥＮおよび検出回路ＤＥＴを有する。カウンタ制御回路ＣＣＮＴは、データ付きリクエストに応答して調停許可ＡＥＮ０ａが出力される場合、増加信号ＩＮＣ１を出力する。また、カウンタ制御回路ＣＣＮＴは、データ無しリクエストに応答して調停許可ＡＥＮ０ａが出力される場合で、カウンタＣＯＵＮＴのカウンタ値ＣＶが”０”以外の場合、増加信号ＩＮＣ２を出力する。カウンタ制御回路ＣＣＮＴの動作の例は、図８に示される。
【００６０】
検出回路ＤＥＴは、宛先情報ＤＩＤ０が調停制御回路ＡＣＮＴａに対応する入出力装置３００を示す場合で、タグ情報ＴＡＧ０が入出力装置３００へ書き込む最終のデータを示す場合、減少信号ＤＥＣ１を出力する。ラッチＬＴ１は、増加信号ＩＮＣ２を１クロックサイクル遅らせ、減少信号ＤＥＣ２として出力する。
【００６１】
カウンタ制御回路ＣＣＮＴおよびラッチＬＴ１は、カウンタＣＯＵＮＴのカウンタ値ＣＶを制御する保持制御部の一例である。保持制御部は、カウンタＣＯＵＮＴが”０”以外を保持中における調停要求ＡＲＱ（すなわち、アクセス要求の送出要求ＲＲＱ）の調停の許可に基づいてカウンタＣＶを進め、カウンタ値ＣＶを増加させた次のサイクルでカウンタ値ＣＶを戻す。
【００６２】
カウンタＣＯＵＮＴは、各増加信号ＩＮＣ１、ＩＮＣ２に応じてカウンタ値ＣＶを１ずつ進め、各減少信号ＤＥＣ１、ＤＥＣ２に応じてカウンタ値ＣＶを１ずつ戻す。カウンタ値ＣＶの”０”は、図４に示すリクエストキューＲＱＣＵＥ０に保持される未処理のデータ付きリクエストを保持していないことを示す。カウンタ値ＣＶの”０”以外（この例では、正の値）は、リクエストキューＲＱＣＵＥ０が未処理のデータ付きリクエストを保持していることを示す。なお、カウンタＣＯＵＮＴは、各増加信号ＩＮＣ１、ＩＮＣ２に応じてカウンタ値ＣＶをマイナス方向に１ずつ進め、各減少信号ＤＥＣ１、ＤＥＣ２に応じてカウンタ値ＣＶをプラス方向に１ずつ戻してもよい。
【００６３】
信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦ０が調停制御回路ＡＣＮＴａに対応する入出力装置３００を示す場合、リクエスト情報ＲＩＮＦ０および調停許可ＡＥＮ０ａに応じて、読み出し要求ＨＲＤＢ、ＨＲＤＰのいずれかを出力する。
【００６４】
例えば、信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦ０がデータ付きリクエストを示す場合、カウンタ値ＣＶに拘わり無く、調停許可ＡＥＮ０ａに応じて、読み出し要求ＨＲＤＰを出力する。信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦがデータ無しリクエストを示し、カウンタ値ＣＶが”０”以外（この例では、正の値）の場合、調停許可ＡＥＮ０ａに応じて、読み出し要求ＨＲＤＰを出力する。信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦがデータ無しリクエストを示し、カウンタ値ＣＶが”０”の場合、調停許可ＡＥＮ０ａに応じて、読み出し要求ＨＲＤＢを出力する。信号生成回路ＳＧＥＮの動作の例は、図８に示される。
【００６５】
ラッチＬＴ０は、読み出し要求ＨＲＤＰを１クロックサイクル遅らせて、オア回路ＯＲ１に出力する。オア回路ＯＲ１は、読み出し要求ＨＲＤＢまたは１クロックサイクル遅らせた読み出し要求ＨＲＤＰを読み出し要求ＨＲＤ０ａとして出力する。信号生成回路ＳＧＥＮ、ラッチＬＴ０およびオア回路ＯＲ１は、読み出し要求ＨＲＤ０ａの出力タイミングを設定する出力制御部の一例である。出力制御部は、カウンタＣＯＵＮＴが”０”を保持する場合の読み出し要求ＨＲＤ０ａの出力タイミングを、カウンタＣＯＵＮＴが”０”以外を保持する場合の読み出し要求ＨＲＤ０ａの出力タイミングに比べて早く設定する。
【００６６】
すなわち、タイミング制御部ＴＣＮＴ０は、データ付きリクエストに対応するアクセス許可ＡＥＮ０ａに応じて、１クロックサイクル遅らせた読み出し要求ＨＲＤＰを読み出し要求ＨＲＤ０ａとして出力する。タイミング制御部ＴＣＮＴ０は、未処理のデータ付きリクエストが存在する場合、データ無しリクエストに対応するアクセス許可ＡＥＮ０ａに応じて、１クロックサイクル遅らせた読み出し要求ＨＲＤＰを読み出し要求ＨＲＤ０ａとして出力する。また、タイミング制御部ＴＣＮＴ０は、未処理のデータ付きリクエストが存在しない場合、データ無しリクエストに対応するアクセス許可ＡＥＮ０ａに応じて、読み出し要求ＨＲＤＢを読み出し要求ＨＲＤ０ａとして出力する。
【００６７】
したがって、未処理のデータ付きリクエストが存在しない場合、データ無しリクエストに対応する読み出し要求ＨＲＤ０ａは、他の読み出し要求ＨＲＤ０ａに比べて１クロックサイクル早く出力される。ここで、他の読み出し要求ＨＲＤ０ａは、データ付きリクエストに対応する読み出し要求ＨＲＤ０ａおよび未処理のデータ付きリクエストが存在する場合のデータ無しリクエストに対応する読み出し要求ＨＲＤ０ａである。
【００６８】
なお、調停制御回路ＡＣＮＴａにおいて、タイミング制御部ＴＣＮＴ１のカウンタ制御回路ＣＣＮＴおよび信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦ１および調停許可ＡＥＮ１ａを受けて動作する。タイミング制御部ＴＣＮＴ２のカウンタ制御回路ＣＣＮＴおよび信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦ２および調停許可ＡＥＮ２ａを受けて動作する。タイミング制御部ＴＣＮＴ３のカウンタ制御回路ＣＣＮＴおよび信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦ３および調停許可ＡＥＮ３ａを受けて動作する。
【００６９】
図７は、図６に示す調停制御回路ＡＣＮＴａ、ＡＣＮＴｂ、ＡＣＮＴｃ、ＡＣＮＴｄから出力される信号に応じて調停許可ＡＥＮａ、ＡＥＮｂ、ＡＥＮｃ、ＡＥＮｄおよび読み出し要求ＨＲＤ０、ＨＲＤ１、ＨＲＤ２、ＨＲＤ３を生成する回路の例を示す。例えば、図７に示す回路は、調停制御部ＡＲＢＣＮＴ内に設けられる。
【００７０】
調停許可ＡＥＮ０は、調停制御回路ＡＣＮＴａ、ＡＣＮＴｂ、ＡＣＮＴｃ、ＡＣＮＴｄから出力される調停許可ＡＥＮ０ａ、ＡＥＮ０ｂ、ＡＥＮ０ｃ、ＡＥＮ０ｄのいずれかに応じて生成される。他の調停許可ＡＥＮｎ（ｎは要求発行部４２の番号）は、調停許可ＡＥＮ０と同様に、要求発行部４２に対応する調停許可ＡＥＮｎｍ（ｍは入出力装置３００のアルファベット）のいずれかに応じて生成される。
【００７１】
読み出し要求ＨＲＤ０は、調停制御回路ＡＣＮＴａ、ＡＣＮＴｂ、ＡＣＮＴｃ、ＡＣＮＴｄから出力される読み出し要求ＨＲＤ０ａ、ＨＲＤ０ｂ、ＨＲＤ０ｃ、ＨＲＤ０ｄのいずれかに応じて生成される。他の読み出し要求ＨＲＤ１、ＨＲＤ２、ＨＲＤ３は、読み出し要求ＨＲＤ０と同様に、要求発行部４２に対応する読み出し要求ＨＲＤｎｍのいずれかに応じて生成される。なお、調停制御部ＡＲＢＣＮＴは、調停許可ＡＥＮｎｍが重複して出力されることを禁止する調停機能と、読み出し要求ＨＲＤｎｍが重複して出力されることを禁止する調停機能を有する。
【００７２】
図８は、図６に示すカウンタ制御回路ＣＣＮＴおよび信号生成回路ＳＧＥＮの動作の例を示す。調停許可ＡＥＮｎおよびリクエスト情報ＲＩＮＦｎの”ｎ”は、調停許可ＡＥＮｎを受ける要求発行部４２の番号である。図８において、調停許可ＡＥＮｎの値および出力の欄に示す論理１は有効状態を示し、論理０は無効状態を示す。
【００７３】
カウンタ制御回路ＣＣＮＴは、リクエスト情報ＲＩＮＦｎがデータ付きリクエストを示す場合、調停許可ＡＥＮｎの出力（有効状態）に応じて、カウンタ値ＣＶに拘わらず、有効状態の増加信号ＩＮＣ１と無効状態の増加信号ＩＮＣ２とを出力する。そして、カウンタ値ＣＶは、増加信号ＩＮＣ１に応じて増加する。カウンタ制御回路ＣＣＮＴは、リクエスト情報ＲＩＮＦｎがデータ無しリクエストを示し、カウンタ値ＣＶが”０”以外を示す場合、調停許可ＡＥＮｎの出力（有効状態）に応じて、無効状態の増加信号ＩＮＣ１と有効状態の増加信号ＩＮＣ２とを出力する。そして、カウンタ値ＣＶは、増加信号ＩＮＣ２に応じて増加する。カウンタ制御回路ＣＣＮＴは、リクエスト情報ＲＩＮＦｎがデータ無しリクエストを示し、カウンタ値ＣＶが”０”を示す場合、調停許可ＡＥＮｎの出力（有効状態）に応じて、無効状態の増加信号ＩＮＣ１、ＩＮＣ２を出力する。この場合、カウンタ値ＣＶは維持される。
【００７４】
信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦｎがデータ付きリクエストを示す場合、調停許可ＡＥＮｎの出力（有効状態）に応じて、無効状態の読み出し要求ＨＲＤＢと有効状態の読み出し要求ＨＤＲＰとを出力する。信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦｎがデータ無しリクエストを示し、カウンタ値ＣＶが”０”以外を示す場合、調停許可ＡＥＮｎの出力（有効状態）に応じて、無効状態の読み出し要求ＨＲＤＢと有効状態の読み出し要求ＨＤＲＰとを出力する。信号生成回路ＳＧＥＮは、リクエスト情報ＲＩＮＦｎがデータ無しリクエストを示し、カウンタ値ＣＶが”０”を示す場合、調停許可ＡＥＮｎの出力（有効状態）に応じて、有効状態の読み出し要求ＨＲＤＢと無効状態の読み出し要求ＨＤＲＰとを出力する。なお、有効状態の読み出し要求ＨＤＲＰが出力された場合、図7に示す読み出し要求ＨＲＤｎは、有効状態の読み出し要求ＨＤＲＢが出力された場合に比べて、1クロックサイクル遅く出力される。
【００７５】
図９は、タグ情報ＴＡＧの仕様の例および図６に示す検出回路ＤＥＴの動作の例を示す。検出回路ＤＥＴから出力される減少信号ＤＥＣ１において、論理１は有効状態を示し、論理０は無効状態を示す。
【００７６】
図９において、”ｋサイクルパケット”（ｋは２以上の整数）は、図４に示すリクエストバスＲＢに転送されるデータ付きリクエストのパケットを示し、”ｋ”は、ヘッダ情報ＨＤが転送される１サイクルにデータの転送サイクルを加えた値である。例えば、データ付きリクエストを示すヘッダ情報ＨＤと４ワードのデータとがパケットとしてリクエストバスＲＢに転送される場合、”ｋサイクル”は５サイクルである。”１サイクルパケット”は、リクエストバスＲＢに転送されるデータ無しリクエストのパケット（ヘッダ情報ＨＤのみ）を示す。
【００７７】
ｋサイクルパケットにおけるヘッダがリクエストバスＲＢに転送される場合、タグ情報ＴＡＧの値は”１”に設定される。ｋサイクルパケットにおける最終データを除くデータがリクエストバスＲＢに転送される場合、タグ情報ＴＡＧの値は”２”に設定される。ｋサイクルパケットにおける最終データがリクエストバスＲＢに転送される場合、タグ情報ＴＡＧの値は”３”に設定される。１サイクルパケットにおけるヘッダがリクエストバスＲＢに転送される場合、タグ情報ＴＡＧの値は”５”に設定される。
【００７８】
検出回路ＤＥＴは、タグ情報ＴＡＧの値が”１”、”２”、”５”のいずれかの場合、宛先ＩＤに拘わり無く、無効状態の減少信号ＤＥＣ１を出力する。検出回路ＤＥＴは、タグ情報ＴＡＧの値が”３”で、宛先ＩＤが対応する入出力装置３００を示す場合、有効状態の減少信号ＤＥＣ１を出力する。検出回路ＤＥＴは、タグ情報ＴＡＧの値が”３”で、宛先ＩＤが他の入出力装置３００を示す場合、無効状態の減少信号ＤＥＣ１を出力する。
【００７９】
例えば、タグ情報ＴＡＧの値が”３”で、宛先ＩＤが入出力装置３００ａを示す場合、図６に示す調停制御回路ＡＣＮＴａの検出回路ＤＥＴは、有効状態の減少信号ＤＥＣ１を出力し、カウンタ値ＣＶを減少させる。タグ情報ＴＡＧの値が”３”で、宛先ＩＤが入出力装置３００ａを示す場合、他の調停制御回路ＡＣＮＴｂ、ＡＣＮＴｃ、ＡＣＮＴｄは、無効状態の減少信号ＤＥＣ１を出力する。この場合、カウンタ値ＣＶは変更されない。
【００８０】
図１０は、図３に示す演算処理装置ＣＰＵ２の動作の例を示す。クロックＣＬＫに付した番号は、クロックサイクルを示す。図１０は、要求発行部４２（０）が入出力装置３００ａにアクセスする場合の動作を示す。要求発行部４２（０）は、データ付きリクエストの送出要求ＲＲＱ０を発行した後、３つのデータ無しリクエストの送出要求ＲＲＱ０を発行し、さらに、４つのデータ無しリクエストの送出要求ＲＲＱ０を発行する（図１０（ａ）、（ｂ）、（ｃ））。データ付きリクエストに対応して、要求発行部４２（０）、リクエストキューＲＱＣＵＥ０、調停制御部ＡＲＢＣＮＴおよびルーティング部ＲＯＵＴに対して入出力される信号は、太枠で示される。
【００８１】
リクエストキューＲＱＣＵＥ０は、データ付きリクエストの送出要求ＲＲＱ０に応答して調停要求ＡＲＱ０を調停制御部ＡＲＢＣＮＴに出力する（図１０（ｄ））。調停制御部ＡＲＢＣＮＴは、他の調停要求ＡＲＱがないため、調停要求ＡＲＱ０に応答して調停許可ＡＥＮ０をリクエストキューＲＱＣＵＥに出力する（図１０（ｅ））。図６に示す調停部ＡＲＢＵの抑止部ＳＴＯＰは、リクエストバスＲＢに転送されるデータの出力サイクル数（この例では、４クロックサイクル）に対応する期間、調停許可ＡＥＮの出力を抑止する（図１０（ｆ））。調停許可ＡＥＮの出力を抑止する期間は、図９に示す”ｋサイクル”から”１”を引いたクロックサイクルである。調停許可ＡＥＮの出力を抑止する処理は、調停部ＡＲＢＵの内部で実行される。
【００８２】
調停許可ＡＥＮの出力を抑止する期間は、次の調停要求ＡＲＱを受け付けない期間であり、他の調停許可ＡＥＮの出力を抑止する期間である。このため、リクエストキューＲＱＣＵＥ０は、３番目のクロックサイクルで受信したデータ無しリクエストの送出要求ＲＲＱ０に応答した調停要求ＡＲＱ０の出力を７番目のクロックサイクルまで維持する（図１０（ｇ））。なお、リクエストキューＲＱＣＵＥ０は、要求発行部４２（０）から受信するリクエストの送出要求ＲＲＱ０を順次に保持する。リクエストキューＲＱＣＵＥ０は、調停許可ＡＥＮ０に応答して、アクセス要求の送出許可ＲＥＮ０およびデータの読み出し要求ＲＤＲＱ０を要求発行部４２（０）に出力する（図１０（ｈ））。
【００８３】
調停許可ＡＥＮ０を受けたタイミング制御部ＴＣＮＴ０の信号生成回路ＳＧＥＮは、図８に示す論理にしたがって、読み出し要求ＨＲＤＰを出力する（図１０（ｉ））。読み出し要求ＨＲＤＰは、ラッチＬＴ０により１クロックサイクル遅れてヘッダの読み出し要求ＨＲＤ０ａとして出力される（図１０（ｊ））。
【００８４】
リクエストキューＲＱＣＵＥ０は、読み出し要求ＨＲＤ０ａに応答して、ヘッダバスＨＤＢ０にヘッダ情報ＨＤ０を出力する（図１０（ｋ））。ヘッダバスＨＤＢ０には、ヘッダ情報ＨＤ０と、ヘッダ情報ＨＤ０が５サイクルパケットのヘッダであることを示すタグ情報ＴＡＧと、入出力装置３００ａを示す宛先ＩＤとが転送される。
【００８５】
一方、データ付きリクエストに基づいて増加信号ＩＮＣ１が生成されるまで、調停制御部ＡＲＢＣＮＴのタイミング制御部ＴＣＮＴ０内のカウンタＣＯＵＮＴは、カウンタ値ＣＶを”０”に維持する（図１０（ｌ））。タイミング制御部ＴＣＮＴ０のカウンタ制御回路ＣＣＮＴは、図８に示す論理にしたがって増加信号ＩＮＣ１を出力する（図１０（ｍ））。カウンタＣＯＵＮＴは、増加信号ＩＮＣ１に応答して、カウント動作し、カウンタ値ＣＶを”１”に増加する（図１０（ｎ））。
【００８６】
要求発行部４２（０）は、アクセス要求の送出許可ＲＥＮ０およびデータの読み出し要求ＲＤＲＱ０の受信から２クロックサイクル後に、データバスＤＢ０、入出力装置３００ａに書き込むデータＤ００、Ｄ０１、Ｄ０２、Ｄ０３を順次に出力する（図１０（ｏ））。２クロックサイクルは、要求発行部４２（０）内で最初のデータＤ００の準備に掛かる期間であり、要求発行部４２（０）がデータの読み出し要求ＲＤＲＱ０を受信した後、最初のデータＤ００を出力するまでのレイテンシ期間である。データバスＤＢ０には、データＤ００、Ｄ０１、Ｄ０２、Ｄ０３と、タグ情報ＴＡＧと、入出力装置３００ａを示す宛先ＩＤとが転送される。データＤ００、Ｄ０１、Ｄ０２のタグ情報ＴＡＧは、最終データでないことを示す”２”であり、データＤ０３のタグ情報ＴＡＧは、最終データを示す”３”である。
【００８７】
ルーティング部ＲＯＵＴは、リクエストキューＲＱＣＵＥ０から受けるヘッダ情報ＨＤ０およびタグ情報ＴＡＧと、要求発行部４２（０）から受けるデータおよびタグ情報ＴＡＧを、リクエストバスＲＢａに順次に出力する（図１０（ｐ））。すなわち、入出力装置３００ａへのデータの書き込み処理が実行される。データ付きリクエストでは、読み出し要求ＨＲＤ００を調停許可ＡＥＮ０から１クロックサイクル遅らせることで、リクエストバスＲＢａ上にヘッダ情報ＨＤ０とデータＤ００、Ｄ０１、Ｄ０２、Ｄ０３とを、サイクルが空くこと無く連続して転送することができる。なお、データの書き込み処理を実行する入出力装置３００ａの動作の説明は省略する。
【００８８】
調停制御部ＡＲＢＣＮＴは、２番目から４番目のクロックサイクルで発生したデータ無しリクエストの送出要求ＲＲＱ０に対応する調停許可ＡＥＮ０を、調停許可ＡＥＮの出力の抑止を解除した後の７番目から９番目のクロックサイクルに出力する（図１０（ｑ））。
【００８９】
７番目から９番目のクロックサイクルにおいて、カウンタ制御回路ＣＣＮＴは、調停許可ＡＥＮ０、データ無しリクエストを示すリクエスト情報ＲＩＮＦ０およびカウンタ値ＣＶ”１”を受け、増加信号ＩＮＣ２を出力する（図１０（ｒ））。ラッチＬＴ１は、増加信号ＩＮＣ２を１クロックサイクル遅らせた減少信号ＤＥＣ２を出力する（図１０（ｓ））。検出回路ＤＥＴは、８番目のクロックサイクルに出力される最終データを示すタグ情報ＴＡＧ（＝３）に基づいて減少信号ＤＥＣ１を出力する（図１０（ｔ））。カウンタＣＯＵＮＴは、増加信号ＩＮＣ２および減少信号ＤＥＣ１、ＤＥＣ２に応じてカウント動作し、カウンタ値ＣＶを”２”、”１”、”１”、”０”と変化する（図１０（ｕ））。
【００９０】
タイミング制御部ＴＣＮＴ０の信号生成回路ＳＧＥＮは、７番目から９番目のクロックサイクルの間、カウンタ値ＣＶが”１”以上のため、図８に示す論理にしたがって、読み出し要求ＨＲＤＰを順次に出力する（図１０（ｖ））。この後、読み出し要求ＨＲＤＰより１クロックサイクル遅れて読み出し要求ＨＲＤ０ａが順次に出力される（図１０（ｗ））。
【００９１】
リクエストキューＲＱＣＵＥ０は、読み出し要求ＨＲＤ０ａに応答して、データ無しリクエストに対応するヘッダ情報ＨＤ０をヘッダバスＨＤＢ０に出力する（図１０（ｘ））。ヘッダバスＨＤＢ０には、ヘッダ情報ＨＤ１、ＨＤ２、ＨＤ３と、ヘッダ情報ＨＤ１、ＨＤ２、ＨＤ３が１サイクルパケットのヘッダであることを示すタグ情報ＴＡＧと、入出力装置３００ａを示す宛先ＩＤとが順次に転送される。
【００９２】
ルーティング部ＲＯＵＴは、リクエストキューＲＱＣＵＥ０から受けるヘッダ情報ＨＤ１、ＨＤ２、ＨＤ３およびタグ情報ＴＡＧを、リクエストバスＲＢａに順次に出力する（図１０（ｙ））。すなわち、入出力装置３００ａからのデータの読み出し処理が実行される。なお、データの読み出し処理を実行する入出力装置３００ａの動作の説明は省略する。
【００９３】
未処理のデータ付きリクエストが存在する間、データ無しリクエストに基づいてカウンタ値ＣＶを増加させることで、データＤ０３の出力タイミングに合わせて読み出し要求ＨＲＤ００の出力を遅らせることができる。これにより、データ付きリクエストと複数のデータ無しリクエストとが連続して発行される場合、データ無しリクエストに対応するヘッダ情報ＨＤ００がリクエストバスＲＢａ上で衝突することを回避することができる。
【００９４】
さらに、増加信号ＩＮＣ２が生成された１クロックサイクル後に減少信号ＤＥＣ２を生成することで、未処理のデータ付きリクエストが存在せず、データ無しリクエストの発行が途切れた場合、カウンタ値ＣＶを”０”に戻すことができる。したがって、その後、新たなデータ無しリクエストが発行される場合、新たなデータ無しリクエストに対応するヘッダ情報ＨＤ００を、最短のタイミングでリクエストバスＲＢａに出力することができる。
【００９５】
次に、リクエストキューＲＱＣＵＥ０は、１２番目から１５番目のクロックサイクルに受信する送出要求ＲＲＱ０に応答して、調停要求ＡＲＱ０を出力する（図１０（ｚ））。調停制御部ＡＲＢＣＮＴは、調停要求ＡＲＱ０に応答して調停許可ＡＥＮ０をリクエストキューＲＱＣＵＥに出力する（図１０（ａ１））。
【００９６】
信号生成回路ＳＧＥＮは、１３番目から１６番目のクロックサイクルの間、カウンタ値ＣＶ（＝０）に応じて、図８に示す論理にしたがい、読み出し要求ＨＲＤＢを順次に出力する（図１０（ａ２））。読み出し要求ＨＲＤＢは、読み出し要求ＨＲＤ０ａとして順次に出力される（図１０（ａ３））。すなわち、未処理のデータ付きリクエストが無い場合、調停制御部ＡＲＢＣＮＴは、調停許可ＡＥＮ０の出力サイクルと同じクロックサイクルで読み出し要求ＨＲＤ０ａを出力する。これにより、未処理のデータ付きリクエストが存在する場合に比べて、データ無しリクエストに対応するヘッダ情報ＨＤ０を１クロックサイクル早くリクエストバスＲＢａに出力することができる。換言すれば、データ無しリクエストに対応するヘッダ情報ＨＤ０のリクエストバスＲＢａへの出力タイミングを、未処理のデータ付きリクエストの有無に応じて最適に設定することができ、入出力装置３００ａのアクセス効率を向上することができる。
【００９７】
リクエストキューＲＱＣＵＥ０は、各読み出し要求ＨＲＤ０ａに応答して、ヘッダバスＨＤＢ０にヘッダ情報ＨＤ０を順次に出力する（図１０（ａ４））。ヘッダバスＨＤＢ０には、ヘッダ情報ＨＤ４、ＨＤ５、ＨＤ６、ＨＤ７と、ヘッダ情報ＨＤ４、ＨＤ５、ＨＤ６、ＨＤ７が１サイクルパケットのヘッダであることを示すタグ情報ＴＡＧと、入出力装置３００ａを示す宛先ＩＤとが転送される。
【００９８】
ルーティング部ＲＯＵＴは、リクエストキューＲＱＣＵＥ０から受けるヘッダ情報ＨＤ４、ＨＤ５、ＨＤ６、ＨＤ７およびタグ情報ＴＡＧを、リクエストバスＲＢａに順次に出力する（図１０（ａ５））。すなわち、入出力装置３００ａからのデータの読み出し処理が実行される。
【００９９】
図１１は、調停制御部ＡＲＢＣＮＴの別の例を示す。図１１に示す調停制御部ＡＲＢＣＮＴは、図６に示すタイミング制御部ＴＣＮＴ０、ＴＣＮＴ１、ＴＣＮＴ２、ＴＣＮＴ３の代わりに、タイミング制御部ＴＣＮＴ４、ＴＣＮＴ５、ＴＣＮＴ６、ＴＣＮＴ７を有する。調停制御部ＡＲＢＣＮＴのその他の構成は、タグ情報ＴＡＧおよび宛先情報ＤＩＤを受けないことを除き、図６に示す調停制御部ＡＲＢＣＮＴと同様である。
【０１００】
タイミング制御部ＴＣＮＴ４−ＴＣＮＴ７は、同一または同様の構成を有し、タイミング制御部ＴＣＮＴ４−ＴＣＮＴ７の動作は、互いに同様であるため、以下では、タイミング制御部ＴＣＮＴ４について説明される。
【０１０１】
タイミング制御部ＴＣＮＴ４は、読み出し要求ＨＲＤＰを生成する信号生成回路ＳＧＥＮ２および読み出し要求ＨＲＤ０ａを出力するラッチＬＴ０を有する。信号生成回路ＳＧＥＮ２は、リクエスト情報ＲＩＮＦ０が調停制御回路ＡＣＮＴａに対応する入出力装置３００を示す場合、リクエスト情報ＲＩＮＦ０および調停許可ＡＥＮ０ａに応じて、読み出し要求ＨＲＤＰを出力する。ラッチＬＴ０は、読み出し要求ＨＲＤＰを１クロックサイクル遅らせて読み出し要求ＨＲＤ０ａとして出力する。すなわち、タイミング制御部ＴＣＮＴ４は、データ付きリクエストまたはデータ無しリクエストに拘わり無く、調停許可ＡＥＮ０ａを受けた次のクロックサイクルでヘッダ情報ＨＤ０の読み出し要求ＨＲＤ０ａを出力する。
【０１０２】
図１２は、図１１に示す調停制御部ＡＲＢＣＮＴを有する演算処理装置の動作の例を示す。図１０と同様の動作については、詳細な説明は省略する。データ付きリクエストに対応して、要求発行部４２（０）、リクエストキューＲＱＣＵＥ０、調停制御部ＡＲＢＣＮＴおよびルーティング部ＲＯＵＴに対して入出力される信号は、太枠で示される。
【０１０３】
図１２は、図１０と同様に、要求発行部４２（０）が入出力装置３００ａにアクセスする場合の動作を示す。要求発行部４２（０）が出力するアクセス要求の種類と数は、図１０と同じである。すなわち、要求発行部４２（０）は、データ付きリクエストの送出要求ＲＲＱ０を出力した後、３つのデータ無しリクエストの送出要求ＲＲＱ０を出力し、さらに、４つのデータ無しリクエストの送出要求ＲＲＱ０を出力する（図１２（ａ）、（ｂ）、（ｃ））。
【０１０４】
１２番目のクロックサイクルまでの動作は、図１０と同様である。１２番目から１５番目のクロックサイクルの送出要求ＲＲＱ０は、未処理のデータ無しリクエストが存在しない状態で出力される。図１１に示す調停制御部ＡＲＢＣＮＴは、データ付きリクエストまたはデータ無しリクエストに拘わり無く、調停許可ＡＥＮ０ａを受けた次のクロックサイクルでヘッダ情報ＨＤ０の読み出し要求ＨＲＤ０ａを出力する。
【０１０５】
このため、１２番目から１５番目のクロックサイクルの送出要求ＲＲＱ０に応答する読み出し要求ＨＲＤ０ａは、図１０に比べて１クロックサイクル遅い１４番目から１７番目のクロックサイクルで出力される（図１２（ｄ））。これにより、ルーティング部ＲＯＵＴは、リクエストキューＲＱＣＵＥ０から受けるヘッダ情報ＨＤ４、ＨＤ５、ＨＤ６、ＨＤ７およびタグ情報ＴＡＧを、図１０に比べて１クロックサイクルずつ遅れてリクエストバスＲＢａに順次に出力する（図１２（ｅ））。したがって、図１０に比べて、入出力装置３００ａに転送されるデータ無しリクエストの転送タイミングは遅くなり、入出力装置３００ａのアクセス効率は低下する。
【０１０６】
以上、この実施形態においても、図１および図２に示した実施形態と同様に、データ無しリクエストに対応するヘッダ情報ＨＤを、未処理のデータ付きリクエストの有無に応じて、入出力装置３００に最小の時間で転送することができる。また、データ付きリクエストのデータＤ０３とデータ無しリクエストに対応するヘッダ情報ＨＤ００とがリクエストバスＲＢａ上で衝突することを回避することができる。
【０１０７】
さらに、図３から図１２に示す実施形態では、未処理のデータ付きリクエストが存在する間、データ付きリクエストに続いて発行されるデータ無しリクエストに対応するヘッダ情報ＨＤの出力タイミングを遅らせることができる。これにより、データ付きリクエストと複数のデータ無しリクエストとが連続して発行される場合、データ無しリクエストに対応するヘッダ情報ＨＤがリクエストバスＲＢ上で衝突することを回避することができる。また、データ無しリクエストの発行が途切れた後の新たなデータ無しリクエストに対応するヘッダ情報ＨＤを、最短のタイミングでリクエストバスＲＢに出力することができる。
【０１０８】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
入出力を行う入出力装置に接続する演算処理装置において、
前記入出力装置に転送するデータの出力を伴う第１アクセス要求と、前記データの出力を伴わない第２アクセス要求とを出力し、前記第１アクセス要求の出力後に受信する第１出力要求に基づいて前記データをバスに出力する複数の要求発行部と、
前記複数の要求発行部からの前記第１アクセス要求および前記第２アクセス要求を調停する調停部と、
前記複数の要求発行部のそれぞれに対応して設けられ、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の前記第２出力要求の出力に比べて早いタイミングで出力する複数のタイミング制御部と、
前記複数の要求発行部のそれぞれに対応して設けられ、前記第１アクセス要求および前記第２アクセス要求を保持し、前記第１アクセス要求の調停の許可に基づいて前記要求発行部に前記第１出力要求を出力し、前記第２出力要求に基づいて、保持中の前記第２アクセス要求に含まれるヘッダ情報を前記バスに出力する複数の要求制御部を有することを特徴とする演算処理装置。
（付記２）
前記各タイミング制御部は、
未処理の前記第１アクセス要求の数を保持する保持部と、
前記保持部が”０”を保持する場合の第２出力要求の出力タイミングを、前記保持部が”０”以外を保持する場合の前記第２出力要求の出力タイミングに比べて早く設定する出力制御部を有することを特徴とする付記１記載の演算処理装置。
（付記３）
前記保持部は、前記調停部による前記第１アクセス要求の調停の許可に基づいてカウンタ値を進め、前記第１出力要求に対応して前記要求発行部から出力される最終のデータに基づいて前記カウンタ値を戻すカウンタを有し、
前記出力制御部は、前記カウンタ値に基づいて動作することを特徴とする付記２記載の演算処理装置。
（付記４）
前記各タイミング制御部は、前記保持部が”０”以外を保持中における前記第２アクセス要求の調停の許可に基づいて前記保持部に保持される数を進め、前記保持部に保持される値を増加させた次のサイクルで前記保持部に保持された数を戻す保持制御部を有することを特徴とする付記２または付記３記載の演算処理装置。
（付記５）
前記各タイミング制御部は、前記第１アクセス要求の調停の許可に基づく前記第２出力要求の出力タイミングを、未処理の第１アクセス要求が存在しない場合における前記第２アクセス要求の調停の許可に基づく前記第２出力要求の出力タイミングと同じタイミングに設定し、
前記各要求制御部は、前記第１アクセス要求の調停に基づいて、前記第１アクセス要求を発行した前記要求発行部に前記第１出力要求を出力することを特徴とする付記１ないし付記４のいずれか１項記載の演算処理装置。
（付記６）
前記調停部は、前記第１アクセス要求に対応して前記バスに転送されるデータの出力サイクル数に対応する期間、調停の許可を抑止する抑止部を有することを特徴とする付記１ないし付記５のいずれか１項記載の演算処理装置。
（付記７）
前記要求発行部から出力されるデータと、前記要求制御部から出力される前記ヘッダ情報を前記装置に転送する共通バスを有することを特徴とする付記１ないし付記６のいずれか１項記載の演算処理装置。
（付記８）
入出力を行う入出力装置に転送するデータの出力を伴う第１アクセス要求と、前記データの出力を伴わない第２アクセス要求とを出力し、前記第１アクセス要求の出力後に受信する第１出力要求に基づいて前記データをバスに出力する複数の要求発行部と、前記複数の要求発行部からの前記第１アクセス要求および前記第２アクセス要求を調停する調停部を有し、前記入出力装置に接続される演算処理装置の制御方法において、
前記複数の要求発行部のそれぞれに対応して設けられる複数のタイミング制御部が、未処理の第１アクセス要求が存在しない場合、第２アクセス要求の調停の許可に基づいて出力する第２出力要求を、未処理の第１アクセス要求が存在する場合の前記第２出力要求の出力に比べて早いタイミングで出力し、
前記複数の要求発行部のそれぞれに対応して設けられる複数の要求制御部が、前記第１アクセス要求および前記第２アクセス要求を保持し、前記第１アクセス要求の調停の許可に基づいて前記要求発行部に前記第１出力要求を出力し、前記第２出力要求に基づいて、保持中の前記第２アクセス要求に含まれるヘッダ情報を前記バスに出力することを特徴とする演算処理装置の制御方法。
【０１０９】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１１０】
１０…要求発行部；１２…調停部；１４…タイミング制御部；１６…要求制御部；２０…コア；３０…メモリ制御部；４０…キャッシュ制御部；４２…要求発行部；５０…ルーティング制御部；６０…Ｉ／Ｏ制御部；２００…メモリ；３００…入出力装置；ＡＣＮＴ…調停制御回路；ＡＥＮ…アクセス許可；ＡＲＢＣＮＴ…調停制御部；ＡＲＢＵ…調停部；ＡＲＱ…調停要求；ＢＵＦ…バッファ部；ＢＵＳ…バス；ＣＣＮＴ…カウンタ制御回路；ＣＭ…キャッシュメモリ；ＣＯＵＮＴ…カウンタ；ＣＰＵ１、ＣＰＵ２…演算処理装置；ＣＶ…カウンタ値；ＤＢ…データバス；ＤＥＣ１、ＤＥＣ２…減少信号；ＤＥＴ…検出回路；ＤＩＤ…宛先情報；ＤＴ…データ；ＨＤ１、ＨＤ２…ヘッダ情報；ＨＤＢ…ヘッダバス；ＨＤＩＮＦ…ヘッダ情報部；ＨＬＤ…保持部；ＨＲＤ、ＨＲＤＢ、ＨＲＤＰ…読み出し要求；ＩＮＣ１、ＩＮＣ２…増加信号；ＬＴ０、ＬＴ１…ラッチ；ＯＣＮＴ…出力制御部；ＯＲＱ１…第１出力要求；ＯＲＱ２…第２出力要求；ＲＥＮ…送出許可；ＲＩＮＦ…リクエスト情報；ＲＯＵＴ…ルーティング部；ＲＱ１…第１アクセス要求；ＲＱ２…第２アクセス要求；ＲＱＣＵＥ…リクエストキュー；ＲＲＱ…送出要求；ＲＬＳ…資源解放情報；ＳＧＥＮ…信号生成回路；ＳＲＣＭＮＧ…資源管理部；ＴＡＧ…タグ情報；ＴＣＮＴ…タイミング制御部
【図１】
2015170142.tif 000003
【図２】
2015170142.tif 000004
【図３】
2015170142.tif 000005
【図４】
2015170142.tif 000006
【図５】
2015170142.tif 000007
【図６】
2015170142.tif 000008
【図７】
2015170142.tif 000009
【図８】
2015170142.tif 000010
【図９】
2015170142.tif 000011
【図１０】
2015170142.tif 000012
【図１１】
2015170142.tif 000013
【図１２】
2015170142.tif 000014