JP3501727B2 - リクエスト順序制御装置 - Google Patents
リクエスト順序制御装置Info
- Publication number
- JP3501727B2 JP3501727B2 JP2000147013A JP2000147013A JP3501727B2 JP 3501727 B2 JP3501727 B2 JP 3501727B2 JP 2000147013 A JP2000147013 A JP 2000147013A JP 2000147013 A JP2000147013 A JP 2000147013A JP 3501727 B2 JP3501727 B2 JP 3501727B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- read
- write
- read request
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Memory System (AREA)
Description
【0001】
【発明の属する技術分野】入力されたリードリクエス
ト,ライトリクエストをメモリに出力するリクエスト順
序制御装置に関する。
ト,ライトリクエストをメモリに出力するリクエスト順
序制御装置に関する。
【0002】
【従来の技術】メモリに対して行う指令(以下、リクエ
スト)には、指定したアドレスからデータを読み出す指
令(以下、リードリクエスト)と、指定したアドレスに
データを記憶する指令(以下、ライトリクエスト)があ
る。このリクエストをメモリに処理させるために、メモ
リとプロセッサやI/O装置のようなリクエスタとを直
接接続し、メモリにリクエスタから入力されたリクエス
トを、入力された順番で処理させることは、非常に効率
が悪い。
スト)には、指定したアドレスからデータを読み出す指
令(以下、リードリクエスト)と、指定したアドレスに
データを記憶する指令(以下、ライトリクエスト)があ
る。このリクエストをメモリに処理させるために、メモ
リとプロセッサやI/O装置のようなリクエスタとを直
接接続し、メモリにリクエスタから入力されたリクエス
トを、入力された順番で処理させることは、非常に効率
が悪い。
【0003】そこで、メモリとリクエスタとの間に、リ
ードリクエストまたはライトリクエストのいずれかが優
先的に出力させる装置を接続する方法が考えられる。た
だし、この場合、メモリとリクエスタとの間に接続する
装置は、入力されたリクエストの指定したアドレスが、
先に入力されたリクエストの指定するアドレスと同一の
場合、それらのリクエストを入力された順番で出力する
様に構成しなくてはならない。従来技術として、上述し
たようなリクエストの順番を制御する発明が、特開平0
2−047739号公報(発明の名称:主記憶装置の制
御方式)に開示されている。
ードリクエストまたはライトリクエストのいずれかが優
先的に出力させる装置を接続する方法が考えられる。た
だし、この場合、メモリとリクエスタとの間に接続する
装置は、入力されたリクエストの指定したアドレスが、
先に入力されたリクエストの指定するアドレスと同一の
場合、それらのリクエストを入力された順番で出力する
様に構成しなくてはならない。従来技術として、上述し
たようなリクエストの順番を制御する発明が、特開平0
2−047739号公報(発明の名称:主記憶装置の制
御方式)に開示されている。
【0004】この「主記憶装置の制御方式」は、まず、
入力されたリクエストを、入力された順番でリクエスト
バッファに記憶する。次に、リクエストバッファからリ
クエストを読み出し、ライトリクエストであれば、スト
アバッファに記憶する。また、読み出したリクエストが
リードリクエストであれば、そのリードリクエストが指
定するアドレスと、ストアバッファに記憶されたライト
リクエストが指定するアドレスとが同一であるか否かを
判定する。
入力されたリクエストを、入力された順番でリクエスト
バッファに記憶する。次に、リクエストバッファからリ
クエストを読み出し、ライトリクエストであれば、スト
アバッファに記憶する。また、読み出したリクエストが
リードリクエストであれば、そのリードリクエストが指
定するアドレスと、ストアバッファに記憶されたライト
リクエストが指定するアドレスとが同一であるか否かを
判定する。
【0005】この判定の結果、同一であれば、そのライ
トリクエストをストアバッファから読み出してメモリに
出力し、同一でなければ、読み出したリードリクエスト
をメモリに出力する。これにより、同一アドレスを指定
したリードリクエストとライトリクエストの順序を保証
しつつ、メモリの効率を上げることができる。
トリクエストをストアバッファから読み出してメモリに
出力し、同一でなければ、読み出したリードリクエスト
をメモリに出力する。これにより、同一アドレスを指定
したリードリクエストとライトリクエストの順序を保証
しつつ、メモリの効率を上げることができる。
【0006】
【発明が解決しようとする課題】上述の「主記憶装置の
制御方式」において、ライトリクエストは、一時記憶さ
れたリクエストバッファから読み出された後、ストアバ
ッファに一時記憶され、その後、再び読み出される。つ
まり、「主記憶装置の制御方式」では、ライトリクエス
トの記憶と読み出しがそれぞれ2度行われるので、全体
の処理が遅れる。
制御方式」において、ライトリクエストは、一時記憶さ
れたリクエストバッファから読み出された後、ストアバ
ッファに一時記憶され、その後、再び読み出される。つ
まり、「主記憶装置の制御方式」では、ライトリクエス
トの記憶と読み出しがそれぞれ2度行われるので、全体
の処理が遅れる。
【0007】本発明は、以上のことに鑑みてなされたも
のであり、その目的は、処理の早いリクエスト順序制御
装置を提供することにある。
のであり、その目的は、処理の早いリクエスト順序制御
装置を提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、入力されたリードリクエスト,ライトリ
クエストをメモリに出力するリクエスト順序制御装置に
おいて、入力された前記リードリクエストを記憶するリ
ードリクエスト記憶手段と、入力された前記ライトリク
エストを記憶するライトリクエスト記憶手段と、入力さ
れた前記リードリクエストが指定するアドレスと、記憶
された前記ライトリクエストが指定するアドレスとが一
致しているか否かを検出する第一アドレス一致検出手段
と、前記第一アドレス一致検出手段の結果に応じて、前
記リードリクエスト記憶手段に最も早く記憶された前記
リードリクエスト、または、前記ライトリクエスト記憶
手段に最も早く記憶された前記ライトリクエストを読み
出し、前記メモリに出力するリード/ライト発行順序制
御手段とを有し、前記リード/ライト発行順序制御手段
は、前記第一アドレス一致検出部の結果に基づいて、記
憶された前記リードリクエスト毎に、該リードリクエス
トよりも前に記憶された前記ライトリクエストであっ
て、該リードリクエストが指定したアドレスと同一のア
ドレスを指定している前記ライトリクエストを記憶する
順序保証記憶手段と、前記順序保証記憶手段の記憶内容
に応じた出力をするリードリクエストメモリチェック手
段と、前記リードリクエストメモリチェック手段からの
入力に応じて、前記リードリクエスト記憶手段に最も早
く記憶された前記リードリクエスト、または、前記ライ
トリクエスト記憶手段に最も早く記憶された前記ライト
リクエストを読み出し、前記メモリに出力する選択手段
とを有することを特徴とするリクエスト順序制御装置で
ある。
に、本発明は、入力されたリードリクエスト,ライトリ
クエストをメモリに出力するリクエスト順序制御装置に
おいて、入力された前記リードリクエストを記憶するリ
ードリクエスト記憶手段と、入力された前記ライトリク
エストを記憶するライトリクエスト記憶手段と、入力さ
れた前記リードリクエストが指定するアドレスと、記憶
された前記ライトリクエストが指定するアドレスとが一
致しているか否かを検出する第一アドレス一致検出手段
と、前記第一アドレス一致検出手段の結果に応じて、前
記リードリクエスト記憶手段に最も早く記憶された前記
リードリクエスト、または、前記ライトリクエスト記憶
手段に最も早く記憶された前記ライトリクエストを読み
出し、前記メモリに出力するリード/ライト発行順序制
御手段とを有し、前記リード/ライト発行順序制御手段
は、前記第一アドレス一致検出部の結果に基づいて、記
憶された前記リードリクエスト毎に、該リードリクエス
トよりも前に記憶された前記ライトリクエストであっ
て、該リードリクエストが指定したアドレスと同一のア
ドレスを指定している前記ライトリクエストを記憶する
順序保証記憶手段と、前記順序保証記憶手段の記憶内容
に応じた出力をするリードリクエストメモリチェック手
段と、前記リードリクエストメモリチェック手段からの
入力に応じて、前記リードリクエスト記憶手段に最も早
く記憶された前記リードリクエスト、または、前記ライ
トリクエスト記憶手段に最も早く記憶された前記ライト
リクエストを読み出し、前記メモリに出力する選択手段
とを有することを特徴とするリクエスト順序制御装置で
ある。
【0009】上記の構成とすることにより、リクエスト
順序制御装置内にリードリクエスト、ライトリクエスト
をそれぞれ記憶する手段を設けたので、リードリクエス
トまたはライトリクエストを2度読み出すことが無くな
るので、従来よりも処理が早くなる。また、第一アドレ
ス一致検出手段により、同一のアドレスを指定している
リードアドレスとライトアドレスの入力された順番を検
出することができるので、リードリクエストとライトリ
クエストの順序を保証してメモリへ出力を行うことが出
来る。
順序制御装置内にリードリクエスト、ライトリクエスト
をそれぞれ記憶する手段を設けたので、リードリクエス
トまたはライトリクエストを2度読み出すことが無くな
るので、従来よりも処理が早くなる。また、第一アドレ
ス一致検出手段により、同一のアドレスを指定している
リードアドレスとライトアドレスの入力された順番を検
出することができるので、リードリクエストとライトリ
クエストの順序を保証してメモリへ出力を行うことが出
来る。
【0010】
【0011】 本発明は、入力されたリードリクエス
ト,ライトリクエストをメモリに出力するリクエスト順
序制御装置において、入力された前記リードリクエスト
を記憶するリードリクエスト記憶手段と、入力された前
記ライトリクエストを記憶するライトリクエスト記憶手
段と、入力された前記リードリクエストが指定するアド
レスと、記憶された前記ライトリクエストが指定するア
ドレスとが一致しているか否かを検出する第一アドレス
一致検出手段と、前記ライトリクエスト記憶手段に最も
早く記憶された前記ライトリクエストを読み込み、該ラ
イトリクエストが指定したアドレスと同一のアドレスを
指定している、前記リードリクエスト記憶手段に記憶さ
れた前記リードリクエストを検出する第二アドレス一致
検出手段と、環境に応じた出力をするライト優先条件検
出手段と、前記第一アドレス一致検出手段の検出結果お
よび前記第二アドレス一致検出手段の検出結果および前
記ライト優先条件検出手段の出力に応じて、前記リード
リクエスト記憶手段に最も早く記憶された前記リードリ
クエスト、または、前記ライトリクエスト記憶手段に最
も早く記憶された前記ライトリクエストを読み出し、前
記メモリに出力するリード/ライト発行順序制御手段と
を有することを特徴とするリクエスト順序制御装置であ
る。
ト,ライトリクエストをメモリに出力するリクエスト順
序制御装置において、入力された前記リードリクエスト
を記憶するリードリクエスト記憶手段と、入力された前
記ライトリクエストを記憶するライトリクエスト記憶手
段と、入力された前記リードリクエストが指定するアド
レスと、記憶された前記ライトリクエストが指定するア
ドレスとが一致しているか否かを検出する第一アドレス
一致検出手段と、前記ライトリクエスト記憶手段に最も
早く記憶された前記ライトリクエストを読み込み、該ラ
イトリクエストが指定したアドレスと同一のアドレスを
指定している、前記リードリクエスト記憶手段に記憶さ
れた前記リードリクエストを検出する第二アドレス一致
検出手段と、環境に応じた出力をするライト優先条件検
出手段と、前記第一アドレス一致検出手段の検出結果お
よび前記第二アドレス一致検出手段の検出結果および前
記ライト優先条件検出手段の出力に応じて、前記リード
リクエスト記憶手段に最も早く記憶された前記リードリ
クエスト、または、前記ライトリクエスト記憶手段に最
も早く記憶された前記ライトリクエストを読み出し、前
記メモリに出力するリード/ライト発行順序制御手段と
を有することを特徴とするリクエスト順序制御装置であ
る。
【0012】上記の構成とすることにより、リクエスト
順序制御装置内にリードリクエスト、ライトリクエスト
をそれぞれ記憶する手段を設けたので、リードリクエス
トまたはライトリクエストを2度読み出すことが無くな
るので、従来よりも処理が早くなる。また、第一アドレ
ス一致検出手段により、同一のアドレスを指定している
リードアドレスとライトアドレスの入力された順番を検
出することができるので、リードリクエストとライトリ
クエストの順序を保証してメモリへ出力を行うことが出
来る。また、第二アドレス一致検出手段により、同一の
アドレスを指定しているリードアドレスとライトアドレ
スの入力された順番を検出し、リードリクエストとライ
トリクエストの順序を保証することができるので、ライ
ト優先条件検出手段の出力を制御することによって、任
意のライトリクエストを優先して出力することができ
る。
順序制御装置内にリードリクエスト、ライトリクエスト
をそれぞれ記憶する手段を設けたので、リードリクエス
トまたはライトリクエストを2度読み出すことが無くな
るので、従来よりも処理が早くなる。また、第一アドレ
ス一致検出手段により、同一のアドレスを指定している
リードアドレスとライトアドレスの入力された順番を検
出することができるので、リードリクエストとライトリ
クエストの順序を保証してメモリへ出力を行うことが出
来る。また、第二アドレス一致検出手段により、同一の
アドレスを指定しているリードアドレスとライトアドレ
スの入力された順番を検出し、リードリクエストとライ
トリクエストの順序を保証することができるので、ライ
ト優先条件検出手段の出力を制御することによって、任
意のライトリクエストを優先して出力することができ
る。
【0013】本発明は、上記リクエスト順序制御装置に
おいて、前記リード/ライト発行順序制御手段が、前記
第一アドレス一致検出部の結果に基づいて、記憶された
前記リードリクエスト毎に、該リードリクエストよりも
前に記憶された前記ライトリクエストであって、該リー
ドリクエストが指定したアドレスと同一のアドレスを指
定している前記ライトリクエストを記憶する順序保証記
憶手段と、前記順序保証記憶手段の記憶内容に応じた出
力をするリードリクエストメモリチェック手段と、前記
順序保証記憶手段の記憶内容および前記第二アドレス検
出手段の結果に応じた出力をするライトリクエストメモ
リチェック手段と、前記リードリクエストメモリチェッ
ク手段,前記ライトリクエストメモリチェック手段,前
記ライト優先条件検出手段からの入力に応じた出力を行
うセレクト条件生成手段と、前記セレクト条件生成手段
からの入力に応じて、前記リードリクエスト記憶手段に
最も早く記憶された前記リードリクエスト、または、前
記ライトリクエスト記憶手段に最も早く記憶された前記
ライトリクエストを読み出し、前記メモりに出力する選
択手段とを有することを特徴とする。
おいて、前記リード/ライト発行順序制御手段が、前記
第一アドレス一致検出部の結果に基づいて、記憶された
前記リードリクエスト毎に、該リードリクエストよりも
前に記憶された前記ライトリクエストであって、該リー
ドリクエストが指定したアドレスと同一のアドレスを指
定している前記ライトリクエストを記憶する順序保証記
憶手段と、前記順序保証記憶手段の記憶内容に応じた出
力をするリードリクエストメモリチェック手段と、前記
順序保証記憶手段の記憶内容および前記第二アドレス検
出手段の結果に応じた出力をするライトリクエストメモ
リチェック手段と、前記リードリクエストメモリチェッ
ク手段,前記ライトリクエストメモリチェック手段,前
記ライト優先条件検出手段からの入力に応じた出力を行
うセレクト条件生成手段と、前記セレクト条件生成手段
からの入力に応じて、前記リードリクエスト記憶手段に
最も早く記憶された前記リードリクエスト、または、前
記ライトリクエスト記憶手段に最も早く記憶された前記
ライトリクエストを読み出し、前記メモりに出力する選
択手段とを有することを特徴とする。
【0014】
【発明の実施の形態】図1は、本発明の一実施形態のよ
るリクエスト順序制御装置の構成を示すブロック図であ
る。この図において、符号1は、リードリクエストまた
はライトリクエストを出力するリクエスタである。な
お、このリードリクエスト,ライトリクエストは、指定
するアドレス(以下、リードアドレス,ライトアドレ
ス)も含んだデータである。また、リクエスタ1は、例
えば、プロセッサやI/O装置である。符号2は、本発
明の一実施形態であるリクエスト順序制御部である。こ
のリクエスト順序制御部2についての詳細は、後述す
る。符号3は、メインメモリである。
るリクエスト順序制御装置の構成を示すブロック図であ
る。この図において、符号1は、リードリクエストまた
はライトリクエストを出力するリクエスタである。な
お、このリードリクエスト,ライトリクエストは、指定
するアドレス(以下、リードアドレス,ライトアドレ
ス)も含んだデータである。また、リクエスタ1は、例
えば、プロセッサやI/O装置である。符号2は、本発
明の一実施形態であるリクエスト順序制御部である。こ
のリクエスト順序制御部2についての詳細は、後述す
る。符号3は、メインメモリである。
【0015】次に、リクエスト順序制御部2について説
明する。符号21は、リクエスタ1から入力されたリー
ドリクエストをエントリ0〜nに記憶するリードリクエ
ストバッファである。なお、リードリクエストバッファ
21は、入力としてリードリクエストのみを受け付ける
ように構成されている。符号211は、リードリクエス
トバッファ21に、データを読み出すエントリを指示す
るとともに、順序保証メモリ241の行セレクタ(図示
なし)に、出力するビット線を指示するリードポインタ
である。符号212は、リードリクエストバッファ21
に、データを記憶するエントリを指示するとともに、順
序保証メモリ241の行セレクタ(図示なし)に、出力
するビット線を指示するライトポインタである。
明する。符号21は、リクエスタ1から入力されたリー
ドリクエストをエントリ0〜nに記憶するリードリクエ
ストバッファである。なお、リードリクエストバッファ
21は、入力としてリードリクエストのみを受け付ける
ように構成されている。符号211は、リードリクエス
トバッファ21に、データを読み出すエントリを指示す
るとともに、順序保証メモリ241の行セレクタ(図示
なし)に、出力するビット線を指示するリードポインタ
である。符号212は、リードリクエストバッファ21
に、データを記憶するエントリを指示するとともに、順
序保証メモリ241の行セレクタ(図示なし)に、出力
するビット線を指示するライトポインタである。
【0016】符号22は、リクエスタ1から入力された
ライトリクエストをエントリ0〜mに記憶するライトリ
クエストバッファである。なお、ライトリクエストバッ
ファ22は、入力としてライトリクエストのみを受け付
けるように構成されている。符号221は、ライトリク
エストバッファ22に、データを読み出すエントリを指
示するリードポインタである。符号222は、ライトリ
クエストバッファ22に、データ記憶するエントリを指
示するライトポインタである。
ライトリクエストをエントリ0〜mに記憶するライトリ
クエストバッファである。なお、ライトリクエストバッ
ファ22は、入力としてライトリクエストのみを受け付
けるように構成されている。符号221は、ライトリク
エストバッファ22に、データを読み出すエントリを指
示するリードポインタである。符号222は、ライトリ
クエストバッファ22に、データ記憶するエントリを指
示するライトポインタである。
【0017】符号223は、ライトリクエストバッファ
22のエントリ1〜mに記憶されているデータが有効か
否かを記憶している有効エントリ記憶部である。この有
効エントリ記憶部223は、ライトリクエストバッファ
22のエントリ1〜mに対応したエントリ1〜mを有し
ており、ライトリクエストバッファ22のエントリα
(1≦α≦m)に記憶されているデータが有効である場
合には、エントリαに”1”を記憶し、ライトリクエス
トバッファ22のエントリβ(1≦β≦m)に記憶され
ているデータが無効である場合には、エントリβに”
0”を記憶する。
22のエントリ1〜mに記憶されているデータが有効か
否かを記憶している有効エントリ記憶部である。この有
効エントリ記憶部223は、ライトリクエストバッファ
22のエントリ1〜mに対応したエントリ1〜mを有し
ており、ライトリクエストバッファ22のエントリα
(1≦α≦m)に記憶されているデータが有効である場
合には、エントリαに”1”を記憶し、ライトリクエス
トバッファ22のエントリβ(1≦β≦m)に記憶され
ているデータが無効である場合には、エントリβに”
0”を記憶する。
【0018】符号23は、ゲート231−1〜231−
m,ゲート232−1〜232−mから構成される第一
アドレス一致検出部である。なお、第一アドレス一致検
出部23は、入力としてリードリクエストのみを受け付
けるように構成されている。ゲート231−1〜231
−mは、それぞれ、ライトリクエストバッファ22のエ
ントリ0〜mに記憶されているライトリクエストのライ
トアドレスが、入力されたリードリクエストのリードア
ドレスと同一であるか否かを判断し、同一である場合に
は”1”を、異なる場合には”0”を出力する。ゲート
232−1〜232−mは、それぞれ、ゲート231−
1〜231−mと、有効エントリ記憶部223のエント
リ1〜mとから入力を取り、これらが同一であった場合
には”1”を、異なる場合には”0”を出力する。
m,ゲート232−1〜232−mから構成される第一
アドレス一致検出部である。なお、第一アドレス一致検
出部23は、入力としてリードリクエストのみを受け付
けるように構成されている。ゲート231−1〜231
−mは、それぞれ、ライトリクエストバッファ22のエ
ントリ0〜mに記憶されているライトリクエストのライ
トアドレスが、入力されたリードリクエストのリードア
ドレスと同一であるか否かを判断し、同一である場合に
は”1”を、異なる場合には”0”を出力する。ゲート
232−1〜232−mは、それぞれ、ゲート231−
1〜231−mと、有効エントリ記憶部223のエント
リ1〜mとから入力を取り、これらが同一であった場合
には”1”を、異なる場合には”0”を出力する。
【0019】符号24は、順序保証メモリ241,リー
ドリクエストメモリチェック部242,セレクタ243
から構成されるリード/ライト発行順序制御部である。
順序保証メモリ241は、m行×n列のメモリセルを有
し、各ワード線が、ゲート232−1〜232−mの出
力と接続され、ビット線が、図示しない行セレクタに接
続されている。この行セレクタは、リードポインタ21
1,ライトポインタ212と接続され、リードポインタ
211またはライトポインタ212が指示するビット線
に出力をする。
ドリクエストメモリチェック部242,セレクタ243
から構成されるリード/ライト発行順序制御部である。
順序保証メモリ241は、m行×n列のメモリセルを有
し、各ワード線が、ゲート232−1〜232−mの出
力と接続され、ビット線が、図示しない行セレクタに接
続されている。この行セレクタは、リードポインタ21
1,ライトポインタ212と接続され、リードポインタ
211またはライトポインタ212が指示するビット線
に出力をする。
【0020】リードリクエストメモリチェック部242
は、順序保証メモリ241の記憶内容に基づいて、セレ
クタを制御する。セレクタ243は、リードリクエスト
メモリチェック部242の指示に基づいて、リードリク
エストバッファ21またはライトリクエストバッファ2
2からデータを読み出し、メインメモリ3に出力する。
は、順序保証メモリ241の記憶内容に基づいて、セレ
クタを制御する。セレクタ243は、リードリクエスト
メモリチェック部242の指示に基づいて、リードリク
エストバッファ21またはライトリクエストバッファ2
2からデータを読み出し、メインメモリ3に出力する。
【0021】次に以上のように構成されたリクエスト順
序制御装置2の動作について説明する。リクエスト順序
制御装置2にリクエスタ1からライトリクエストが入力
された場合、ライトリクエストバッファ22は、そのリ
クエストを受け付け、ライトポインタ222が指示する
エントリwxに、受け付けたライトリクエストを記憶す
る。また、有効エントリ記憶部223は、エントリwx
に”1”を記憶する。これらのことが終わったら、ライ
トポインタ222は、ライトリクエストバッファ22に
指示するエントリをwx+1に更新する。ただし、wx
+1>mの場合、ライトポインタ222は、指示するエ
ントリをエントリ1に更新する。
序制御装置2の動作について説明する。リクエスト順序
制御装置2にリクエスタ1からライトリクエストが入力
された場合、ライトリクエストバッファ22は、そのリ
クエストを受け付け、ライトポインタ222が指示する
エントリwxに、受け付けたライトリクエストを記憶す
る。また、有効エントリ記憶部223は、エントリwx
に”1”を記憶する。これらのことが終わったら、ライ
トポインタ222は、ライトリクエストバッファ22に
指示するエントリをwx+1に更新する。ただし、wx
+1>mの場合、ライトポインタ222は、指示するエ
ントリをエントリ1に更新する。
【0022】リクエスト順序制御装置2にリクエスタ1
からリードリクエストが入力された場合、リードリクエ
ストバッファ21は、そのリクエストを受け付け、ライ
トポインタ212が示すエントリwyに、受け付けたリ
ードリクエストを記憶する。また、第一アドレス一致検
出部23も、そのリクエストを受け付け、ライトリクエ
ストバッファ22のエントリ0〜mに記憶されているラ
イトリクエストの各ライトアドレスが、受け付けたリー
ドリクエストのリードアドレスと同一であり、かつ、そ
のライトリクエストが有効であるか否かを判断し、その
結果を順序保証メモリ241の各ワード線に出力する。
からリードリクエストが入力された場合、リードリクエ
ストバッファ21は、そのリクエストを受け付け、ライ
トポインタ212が示すエントリwyに、受け付けたリ
ードリクエストを記憶する。また、第一アドレス一致検
出部23も、そのリクエストを受け付け、ライトリクエ
ストバッファ22のエントリ0〜mに記憶されているラ
イトリクエストの各ライトアドレスが、受け付けたリー
ドリクエストのリードアドレスと同一であり、かつ、そ
のライトリクエストが有効であるか否かを判断し、その
結果を順序保証メモリ241の各ワード線に出力する。
【0023】また、順序保証メモリ241の行セレクタ
(図示なし)は、ライトポインタ212が指示するビッ
ト線を選択し、そこに出力する。これにより、順序保証
メモリの第wy行のメモリには、”1”または”0”が
記憶される。
(図示なし)は、ライトポインタ212が指示するビッ
ト線を選択し、そこに出力する。これにより、順序保証
メモリの第wy行のメモリには、”1”または”0”が
記憶される。
【0024】例えば、wyが3であり、ゲート232−
1,232−2,232−6,232−9が”1”を出
力した場合、順序保証メモリの第3行は、図2の状態a
から状態bに遷移する。これらのことが終わったら、ラ
イトポインタ212は、リードリクエストバッファ21
に指示するエントリをwy+1に更新する。ただし、w
y+1>nの場合、ライトポインタ212は、指示する
エントリをエントリ1に更新する。
1,232−2,232−6,232−9が”1”を出
力した場合、順序保証メモリの第3行は、図2の状態a
から状態bに遷移する。これらのことが終わったら、ラ
イトポインタ212は、リードリクエストバッファ21
に指示するエントリをwy+1に更新する。ただし、w
y+1>nの場合、ライトポインタ212は、指示する
エントリをエントリ1に更新する。
【0025】以上のようにしてリクエスタ1が出力した
リクエストを全て記憶したら、記憶したリクエストをメ
インメモリ3に出力する処理へ移る。まず、リードリク
エストバッファ21は、リードポインタ211の指示す
るエントリrxに記憶されたリードリクエストをセレク
タ243に出力し、ライトリクエストバッファ22は、
リードポインタ221の指示するエントリrxに記憶さ
れたライトリクエストをセレクタ243に出力する。ま
た、順序保証メモリ241は、リードポインタ211の
指示によって、第ry行目に記憶されているデータをリ
ードリクエストメモリチェック部242に出力する。
リクエストを全て記憶したら、記憶したリクエストをメ
インメモリ3に出力する処理へ移る。まず、リードリク
エストバッファ21は、リードポインタ211の指示す
るエントリrxに記憶されたリードリクエストをセレク
タ243に出力し、ライトリクエストバッファ22は、
リードポインタ221の指示するエントリrxに記憶さ
れたライトリクエストをセレクタ243に出力する。ま
た、順序保証メモリ241は、リードポインタ211の
指示によって、第ry行目に記憶されているデータをリ
ードリクエストメモリチェック部242に出力する。
【0026】リードリクエストメモリチェック部242
は、入力されたデータに1つも”1”がなければ、セレ
クタ243にリードリクエストバッファ21の出力を読
むように指示する。すなわち、リードリクエストメモリ
チェック部242は、リードリクエストバッファ21の
エントリryに記憶されたリードリクエストよりも先に
入力されたライトリクエストであって、ライトアドレス
がリードリクエストバッファ21のエントリryに記憶
されたリードリクエストのリードアドレスと等しいライ
トリクエストが存在しない場合、セレクタ243に、リ
ードリクエストバッファ21からの入力を読むように指
示する。
は、入力されたデータに1つも”1”がなければ、セレ
クタ243にリードリクエストバッファ21の出力を読
むように指示する。すなわち、リードリクエストメモリ
チェック部242は、リードリクエストバッファ21の
エントリryに記憶されたリードリクエストよりも先に
入力されたライトリクエストであって、ライトアドレス
がリードリクエストバッファ21のエントリryに記憶
されたリードリクエストのリードアドレスと等しいライ
トリクエストが存在しない場合、セレクタ243に、リ
ードリクエストバッファ21からの入力を読むように指
示する。
【0027】セレクタ243は、リードリクエストメモ
リチェック部242の指示に従ってリードリクエストを
読み込み、メインメモリ3に出力する。つまり、リード
/ライト発行順序制御部24は、リードリクエストバッ
ファ21のエントリryに記憶されたリードリクエスト
よりも先に入力されたライトリクエストであって、ライ
トアドレスがリードリクエストバッファ21のエントリ
ryに記憶されたリードリクエストのリードアドレスと
等しいライトリクエストが存在しない場合、メインメモ
リ3にリードリクエストを出力する。
リチェック部242の指示に従ってリードリクエストを
読み込み、メインメモリ3に出力する。つまり、リード
/ライト発行順序制御部24は、リードリクエストバッ
ファ21のエントリryに記憶されたリードリクエスト
よりも先に入力されたライトリクエストであって、ライ
トアドレスがリードリクエストバッファ21のエントリ
ryに記憶されたリードリクエストのリードアドレスと
等しいライトリクエストが存在しない場合、メインメモ
リ3にリードリクエストを出力する。
【0028】さらに、リードポインタ211の指示する
エントリをry+1に更新する。これにより、リードリ
クエストバッファ21は、再びリードポインタ211の
指示によって、エントリrx+1に記憶されたリードリ
クエストをセレクタ243に出力する。また、順序保証
メモリ241は、リードポインタ211の指示によっ
て、第(ry+1)行目に記憶されているデータをリー
ドリクエストメモリチェック部242に出力する。
エントリをry+1に更新する。これにより、リードリ
クエストバッファ21は、再びリードポインタ211の
指示によって、エントリrx+1に記憶されたリードリ
クエストをセレクタ243に出力する。また、順序保証
メモリ241は、リードポインタ211の指示によっ
て、第(ry+1)行目に記憶されているデータをリー
ドリクエストメモリチェック部242に出力する。
【0029】リードリクエストメモリチェック部242
は、入力されたデータに1つ以上”1”があった場合、
セレクタ243にライトリクエストバッファ22の出力
を読むように指示する。すなわち、リードリクエストメ
モリチェック部242は、リードリクエストバッファ2
1のエントリryに記憶されたリードリクエストよりも
先に入力されたライトリクエストであって、ライトアド
レスがリードリクエストバッファ21のエントリryに
記憶されたリードリクエストのリードアドレスと等しい
ライトリクエストが存在する場合、セレクタ243に、
ライトリクエストバッファ22からの入力を読むように
指示する。
は、入力されたデータに1つ以上”1”があった場合、
セレクタ243にライトリクエストバッファ22の出力
を読むように指示する。すなわち、リードリクエストメ
モリチェック部242は、リードリクエストバッファ2
1のエントリryに記憶されたリードリクエストよりも
先に入力されたライトリクエストであって、ライトアド
レスがリードリクエストバッファ21のエントリryに
記憶されたリードリクエストのリードアドレスと等しい
ライトリクエストが存在する場合、セレクタ243に、
ライトリクエストバッファ22からの入力を読むように
指示する。
【0030】また、リードリクエストバッファ21にリ
ードリクエストが無くなった場合も、リードリクエスト
メモリチェック部242は、セレクタ243にライトリ
クエストバッファ22の出力を読むように指示する。
ードリクエストが無くなった場合も、リードリクエスト
メモリチェック部242は、セレクタ243にライトリ
クエストバッファ22の出力を読むように指示する。
【0031】セレクタ243は、リードリクエストメモ
リチェック部242の指示に従ってライトリクエストを
読み込み、メインメモリ3に出力する。つまり、リード
/ライト発行順序制御部24は、リードリクエストバッ
ファ21のエントリryに記憶されたリードリクエスト
よりも先に入力されたライトリクエストであって、ライ
トアドレスがリードリクエストバッファ21のエントリ
ryに記憶されたリードリクエストのリードアドレスと
等しいライトリクエストが存在する場合、メインメモリ
3にライトリクエストを出力する。
リチェック部242の指示に従ってライトリクエストを
読み込み、メインメモリ3に出力する。つまり、リード
/ライト発行順序制御部24は、リードリクエストバッ
ファ21のエントリryに記憶されたリードリクエスト
よりも先に入力されたライトリクエストであって、ライ
トアドレスがリードリクエストバッファ21のエントリ
ryに記憶されたリードリクエストのリードアドレスと
等しいライトリクエストが存在する場合、メインメモリ
3にライトリクエストを出力する。
【0032】さらに、順序保証メモリ241が第rx列
の全てのメモリセルに、”0”を記憶した後、リードポ
インタ221の指示するエントリをrx+1に更新す
る。これにより、ライトリクエストバッファ22は、再
びリードポインタ221の指示によって、エントリ(r
x+1)に記憶されたライトリクエストをセレクタ24
3に出力する。これにより、リードリクエストよりも前
にリクエスタ1から出力されたライトリクエストであっ
て、ライトアドレスがリードアドレスと同一のライトリ
クエストは、優先して出力することができる。
の全てのメモリセルに、”0”を記憶した後、リードポ
インタ221の指示するエントリをrx+1に更新す
る。これにより、ライトリクエストバッファ22は、再
びリードポインタ221の指示によって、エントリ(r
x+1)に記憶されたライトリクエストをセレクタ24
3に出力する。これにより、リードリクエストよりも前
にリクエスタ1から出力されたライトリクエストであっ
て、ライトアドレスがリードアドレスと同一のライトリ
クエストは、優先して出力することができる。
【0033】例えば、rxが1、ryが3であり、順序
保証メモリ241の第3行目が図2の状態bである場
合、リードリクエストメモリチェック部242は、セレ
クタ243にライトリクエストを読み込むように指示す
る。これにより、セレクタはライトリクエストを出力す
る。
保証メモリ241の第3行目が図2の状態bである場
合、リードリクエストメモリチェック部242は、セレ
クタ243にライトリクエストを読み込むように指示す
る。これにより、セレクタはライトリクエストを出力す
る。
【0034】セレクタがライトリクエストを出力した
ら、順序保証メモリ241は、第1列の全てのメモリセ
ルに、”0”を記憶する(図2の状態Aから状態B)。
これにより、順序保証メモリ241の第3行目は、図2
の状態bから状態cになる。また、リードポインタ22
1は、指示するエントリを2に更新し、ライトリクエス
トバッファ22は、リードポインタ221の指示によっ
て、エントリ2に記憶されたライトリクエストをセレク
タ243に出力する。
ら、順序保証メモリ241は、第1列の全てのメモリセ
ルに、”0”を記憶する(図2の状態Aから状態B)。
これにより、順序保証メモリ241の第3行目は、図2
の状態bから状態cになる。また、リードポインタ22
1は、指示するエントリを2に更新し、ライトリクエス
トバッファ22は、リードポインタ221の指示によっ
て、エントリ2に記憶されたライトリクエストをセレク
タ243に出力する。
【0035】上記の処理を順序保証メモリ241の第3
行目が全て”0”になるまで、すなわち、リードポイン
タの指示するエントリがエントリ10になるまで繰り返
す。この時、順序保証メモリ241の第3行目の状態
は、状態cから状態d,eを経て状態fになる。これに
より、順序保証メモリ241の第3行目には”1”が無
くなるので、リードリクエストメモリチェック部242
は、セレクタ243にリードリクエストバッファ21の
出力を読むように指示する。セレクタ243は、リード
リクエストメモリチェック部242の指示に従ってリー
ドリクエストを読み出し、メインメモリ3に出力する。
行目が全て”0”になるまで、すなわち、リードポイン
タの指示するエントリがエントリ10になるまで繰り返
す。この時、順序保証メモリ241の第3行目の状態
は、状態cから状態d,eを経て状態fになる。これに
より、順序保証メモリ241の第3行目には”1”が無
くなるので、リードリクエストメモリチェック部242
は、セレクタ243にリードリクエストバッファ21の
出力を読むように指示する。セレクタ243は、リード
リクエストメモリチェック部242の指示に従ってリー
ドリクエストを読み出し、メインメモリ3に出力する。
【0036】さらに、リードポインタ211の指示する
エントリを4に更新する。これにより、リードリクエス
トバッファ21は、再びリードポインタ211の指示に
よって、エントリ4に記憶されたリードリクエストをセ
レクタ243に出力する。また、順序保証メモリ241
は、リードポインタ211の指示によって、第4行目に
記憶されているデータをリードリクエストメモリチェッ
ク部242に出力する。
エントリを4に更新する。これにより、リードリクエス
トバッファ21は、再びリードポインタ211の指示に
よって、エントリ4に記憶されたリードリクエストをセ
レクタ243に出力する。また、順序保証メモリ241
は、リードポインタ211の指示によって、第4行目に
記憶されているデータをリードリクエストメモリチェッ
ク部242に出力する。
【0037】以上の処理を繰り返してリードリクエスト
バッファ21,ライトリクエストバッファ22に記憶さ
れている全てのリードリクエスト,ライトリクエストを
メインメモリ3に出力する。
バッファ21,ライトリクエストバッファ22に記憶さ
れている全てのリードリクエスト,ライトリクエストを
メインメモリ3に出力する。
【0038】図3は、他の実施形態によるリクエスト順
序制御装置の構成を示すブロック図である。この図にお
いて、図1における装置と同一のものは、図1における
符号と同一の符号が付してある。
序制御装置の構成を示すブロック図である。この図にお
いて、図1における装置と同一のものは、図1における
符号と同一の符号が付してある。
【0039】符号213は、リードリクエストバッファ
21のエントリ1〜nに記憶されているデータが有効か
否かを記憶している有効エントリ記憶部である。この有
効エントリ記憶部213は、リードリクエストバッファ
21のエントリ1〜nに対応したエントリ1〜nを有し
ており、リードリクエストバッファ21のエントリα
(1≦α≦n)に記憶されているデータが有効である場
合には、エントリαに”1”を記憶し、ライトリクエス
トバッファ22のエントリβ(1≦β≦n)に記憶され
ているデータが無効である場合には、エントリβに”
0”を記憶する。
21のエントリ1〜nに記憶されているデータが有効か
否かを記憶している有効エントリ記憶部である。この有
効エントリ記憶部213は、リードリクエストバッファ
21のエントリ1〜nに対応したエントリ1〜nを有し
ており、リードリクエストバッファ21のエントリα
(1≦α≦n)に記憶されているデータが有効である場
合には、エントリαに”1”を記憶し、ライトリクエス
トバッファ22のエントリβ(1≦β≦n)に記憶され
ているデータが無効である場合には、エントリβに”
0”を記憶する。
【0040】符号25は、ゲート251−1〜251−
n,ゲート252−1〜252−nから構成される第二
アドレス一致検出部である。ゲート251−1〜251
−nは、それぞれ、リードリクエストバッファ21のエ
ントリ0〜nに記憶されているリードリクエストのリー
ドアドレスが、ライトリクエストバッファ22から入力
されたライトリクエストのライトアドレスと同一である
か否かを判断し、同一である場合には”1”を、異なる
場合には”0”を出力する。ゲート252−1〜252
−nは、それぞれ、ゲート251−1〜251−nと、
有効エントリ記憶部223のエントリ1〜nとから入力
を取り、これらが同一であった場合には”1”を、異な
る場合には”0”を出力する。
n,ゲート252−1〜252−nから構成される第二
アドレス一致検出部である。ゲート251−1〜251
−nは、それぞれ、リードリクエストバッファ21のエ
ントリ0〜nに記憶されているリードリクエストのリー
ドアドレスが、ライトリクエストバッファ22から入力
されたライトリクエストのライトアドレスと同一である
か否かを判断し、同一である場合には”1”を、異なる
場合には”0”を出力する。ゲート252−1〜252
−nは、それぞれ、ゲート251−1〜251−nと、
有効エントリ記憶部223のエントリ1〜nとから入力
を取り、これらが同一であった場合には”1”を、異な
る場合には”0”を出力する。
【0041】符号244は、順序保証メモリ241の記
憶内容に基づいて、”1”または”0”を出力するリー
ドリクエストメモリチェック部であり、入力されたデー
タに1つも”1”がなければ、セレクト条件生成部24
6に”1”を出力する。符号245は、順序保証メモリ
241の記憶内容および第二アドレス一致検出部25の
出力結果に基づいて、”1”または”0”を出力するラ
イトリクエストメモリチェック部である。
憶内容に基づいて、”1”または”0”を出力するリー
ドリクエストメモリチェック部であり、入力されたデー
タに1つも”1”がなければ、セレクト条件生成部24
6に”1”を出力する。符号245は、順序保証メモリ
241の記憶内容および第二アドレス一致検出部25の
出力結果に基づいて、”1”または”0”を出力するラ
イトリクエストメモリチェック部である。
【0042】さらに詳細に説明すると、このライトリク
エストメモリチェック部245は、ゲート252−1〜
252−nから入力された信号が全て”0”であれば、
セレクト条件生成部246に”1”を出力する。また、
ライトリクエストメモリチェック部245は、ゲート2
52−1〜252−nから入力された信号の内いずれか
に”1”があった場合、”1”を出力したゲートに対応
する順序保証メモリ241の列を調べ、その結果、その
列が全て”1”であった場合、ライトリクエストメモリ
チェック部245は、セレクト条件生成部246に”
1”を出力し、その列のいずれかが”0”であった場
合、ライトリクエストメモリチェック部245は、セレ
クト条件生成部246に”0”を出力する。
エストメモリチェック部245は、ゲート252−1〜
252−nから入力された信号が全て”0”であれば、
セレクト条件生成部246に”1”を出力する。また、
ライトリクエストメモリチェック部245は、ゲート2
52−1〜252−nから入力された信号の内いずれか
に”1”があった場合、”1”を出力したゲートに対応
する順序保証メモリ241の列を調べ、その結果、その
列が全て”1”であった場合、ライトリクエストメモリ
チェック部245は、セレクト条件生成部246に”
1”を出力し、その列のいずれかが”0”であった場
合、ライトリクエストメモリチェック部245は、セレ
クト条件生成部246に”0”を出力する。
【0043】符号246は、リードリクエストメモリチ
ェック部244,ライトリクエストメモリチェック部2
45,ライト優先条件検出部26の入力に基づいて、セ
レクタ247を制御するセレクト条件生成部である。な
お、図4は、セレクト条件生成部246の制御を示すテ
ーブルである。すなわち、リードリクエストメモリチェ
ック部が”1”を出力した場合は、リードリクエストを
読み込み、ライトリクエストメモリチェック部が”1”
を出力した場合は、ライトリクエストを読み込む。ま
た、リードリクエストメモリチェック部とライトリクエ
ストメモリチェック部とが共に”1”を出力した場合
は、ライト優先条件検出部の出力が”0”であれば、リ
ードリクエストを読み込み、ライト優先条件検出部の出
力が”1”であれば、ライトリクエストを読み込む。
ェック部244,ライトリクエストメモリチェック部2
45,ライト優先条件検出部26の入力に基づいて、セ
レクタ247を制御するセレクト条件生成部である。な
お、図4は、セレクト条件生成部246の制御を示すテ
ーブルである。すなわち、リードリクエストメモリチェ
ック部が”1”を出力した場合は、リードリクエストを
読み込み、ライトリクエストメモリチェック部が”1”
を出力した場合は、ライトリクエストを読み込む。ま
た、リードリクエストメモリチェック部とライトリクエ
ストメモリチェック部とが共に”1”を出力した場合
は、ライト優先条件検出部の出力が”0”であれば、リ
ードリクエストを読み込み、ライト優先条件検出部の出
力が”1”であれば、ライトリクエストを読み込む。
【0044】セレクタ247は、セレクト条件生成部2
46の指示に基づいて、リードリクエストバッファ21
またはライトリクエストバッファ22からデータを読み
出し、メインメモリ3に出力する。ライト優先条件検出
部26は、ライトリクエストバッファ22のエントリ数
がフルになった場合など、ライトリクエストを出力しな
ければならない状況である場合等に”1”を出力し、そ
れ以外の場合は”0”を出力する。
46の指示に基づいて、リードリクエストバッファ21
またはライトリクエストバッファ22からデータを読み
出し、メインメモリ3に出力する。ライト優先条件検出
部26は、ライトリクエストバッファ22のエントリ数
がフルになった場合など、ライトリクエストを出力しな
ければならない状況である場合等に”1”を出力し、そ
れ以外の場合は”0”を出力する。
【0045】次に以上のように構成されたリクエスト順
序制御装置2の動作について説明する。なお、リクエス
ト順序制御装置2にリクエスタ1からライトリクエスト
が入力された場合は、図1に示す実施形態と同一なので
省略する。
序制御装置2の動作について説明する。なお、リクエス
ト順序制御装置2にリクエスタ1からライトリクエスト
が入力された場合は、図1に示す実施形態と同一なので
省略する。
【0046】リクエスト順序制御装置2にリクエスタ1
からリードリクエストが入力された場合、リードリクエ
ストバッファ21は、そのリクエストを受け付け、ライ
トポインタ212が示すエントリwyに、受け付けたリ
ードリクエストを記憶する。また、有効エントリ記憶部
213は、エントリwyに”1”を記憶する。
からリードリクエストが入力された場合、リードリクエ
ストバッファ21は、そのリクエストを受け付け、ライ
トポインタ212が示すエントリwyに、受け付けたリ
ードリクエストを記憶する。また、有効エントリ記憶部
213は、エントリwyに”1”を記憶する。
【0047】また、第一アドレス一致検出部23も、そ
のリクエストを受け付け、ライトリクエストバッファ2
2のエントリ0〜mに記憶されているライトリクエスト
の各ライトアドレスが、受け付けたリードリクエストの
リードアドレスと同一であり、かつ、そのライトリクエ
ストが有効であるか否かを判断し、その結果を順序保証
メモリ241の各ワード線に出力する。また、順序保証
メモリ241の行セレクタ(図示なし)は、ライトポイ
ンタ212が指示するビット線を選択し、そこに出力す
る。これにより、順序保証メモリの第wy行のメモリに
は、”1”または”0”が記憶される。
のリクエストを受け付け、ライトリクエストバッファ2
2のエントリ0〜mに記憶されているライトリクエスト
の各ライトアドレスが、受け付けたリードリクエストの
リードアドレスと同一であり、かつ、そのライトリクエ
ストが有効であるか否かを判断し、その結果を順序保証
メモリ241の各ワード線に出力する。また、順序保証
メモリ241の行セレクタ(図示なし)は、ライトポイ
ンタ212が指示するビット線を選択し、そこに出力す
る。これにより、順序保証メモリの第wy行のメモリに
は、”1”または”0”が記憶される。
【0048】以上のようにしてリクエスタ1が出力した
リクエストを全て記憶したら、記憶したリクエストをメ
インメモリ3に出力する処理へ移る。まず、リードリク
エストバッファ21は、リードポインタ211の指示す
るエントリrxに記憶されたリードリクエストをセレク
タ247に出力し、ライトリクエストバッファ22は、
リードポインタ221の指示するエントリrxに記憶さ
れたライトリクエストをセレクタ247に出力する。
リクエストを全て記憶したら、記憶したリクエストをメ
インメモリ3に出力する処理へ移る。まず、リードリク
エストバッファ21は、リードポインタ211の指示す
るエントリrxに記憶されたリードリクエストをセレク
タ247に出力し、ライトリクエストバッファ22は、
リードポインタ221の指示するエントリrxに記憶さ
れたライトリクエストをセレクタ247に出力する。
【0049】また、順序保証メモリ241は、リードポ
インタ211の指示によって、第ry行目に記憶されて
いるデータをリードリクエストメモリチェック部244
に出力し、リードポインタ221の指示によって、第r
x列目に記憶されているデータをライトリクエストメモ
リチェック部245に出力する。
インタ211の指示によって、第ry行目に記憶されて
いるデータをリードリクエストメモリチェック部244
に出力し、リードポインタ221の指示によって、第r
x列目に記憶されているデータをライトリクエストメモ
リチェック部245に出力する。
【0050】リードリクエストメモリチェック部244
は、入力されたデータに1つも”1”がなければ、セレ
クト条件生成部246に”1”を出力し、入力されたデ
ータに1つ以上”1”があった場合、セレクト条件生成
部246に”0”を出力する。また、リードリクエスト
バッファ21にリードリクエストが無くなった場合も、
リードリクエストメモリチェック部244は、セレクト
条件生成部246に”0”を出力する。
は、入力されたデータに1つも”1”がなければ、セレ
クト条件生成部246に”1”を出力し、入力されたデ
ータに1つ以上”1”があった場合、セレクト条件生成
部246に”0”を出力する。また、リードリクエスト
バッファ21にリードリクエストが無くなった場合も、
リードリクエストメモリチェック部244は、セレクト
条件生成部246に”0”を出力する。
【0051】ライトリクエストメモリチェック部245
は、ゲート252−1〜252−nから入力された信号
が全て”0”であれば、セレクト条件生成部246に”
1”を出力する。また、ライトリクエストメモリチェッ
ク部245は、ゲート252−1〜252−nから入力
された信号の内いずれかに”1”があった場合、”1”
を出力したゲートに対応する順序保証メモリ241の列
を調べる。その結果、その列が全て”1”であった場
合、ライトリクエストメモリチェック部245は、セレ
クト条件生成部246に”1”を出力し、その列のいず
れかが”0”であった場合、ライトリクエストメモリチ
ェック部245は、セレクト条件生成部246に”0”
を出力する。
は、ゲート252−1〜252−nから入力された信号
が全て”0”であれば、セレクト条件生成部246に”
1”を出力する。また、ライトリクエストメモリチェッ
ク部245は、ゲート252−1〜252−nから入力
された信号の内いずれかに”1”があった場合、”1”
を出力したゲートに対応する順序保証メモリ241の列
を調べる。その結果、その列が全て”1”であった場
合、ライトリクエストメモリチェック部245は、セレ
クト条件生成部246に”1”を出力し、その列のいず
れかが”0”であった場合、ライトリクエストメモリチ
ェック部245は、セレクト条件生成部246に”0”
を出力する。
【0052】セレクト条件生成部246は、上述したよ
うに、入力に応じて、図4に示すような制御を行う。つ
まり、セレクト条件生成部246がセレクタ247を制
御することにより、リード/ライト発行順序制御部24
の出力は、リードリクエストバッファ21のエントリr
yに記憶されたリードリクエストよりも先に入力された
ライトリクエストであって、ライトアドレスがリードリ
クエストバッファ21のエントリryに記憶されたリー
ドリクエストのリードアドレスと等しいライトリクエス
トが存在しない場合、リードリクエストとなり、リード
リクエストバッファ21のエントリryに記憶されたリ
ードリクエストよりも先に入力されたライトリクエスト
であって、ライトアドレスがリードリクエストバッファ
21のエントリryに記憶されたリードリクエストのリ
ードアドレスと等しいイトリクエストが存在する場合、
ライトリクエストとなる。
うに、入力に応じて、図4に示すような制御を行う。つ
まり、セレクト条件生成部246がセレクタ247を制
御することにより、リード/ライト発行順序制御部24
の出力は、リードリクエストバッファ21のエントリr
yに記憶されたリードリクエストよりも先に入力された
ライトリクエストであって、ライトアドレスがリードリ
クエストバッファ21のエントリryに記憶されたリー
ドリクエストのリードアドレスと等しいライトリクエス
トが存在しない場合、リードリクエストとなり、リード
リクエストバッファ21のエントリryに記憶されたリ
ードリクエストよりも先に入力されたライトリクエスト
であって、ライトアドレスがリードリクエストバッファ
21のエントリryに記憶されたリードリクエストのリ
ードアドレスと等しいイトリクエストが存在する場合、
ライトリクエストとなる。
【0053】これにより、リードリクエストよりも前に
リクエスタ1から出力されたライトリクエストであっ
て、ライトアドレスがリードアドレスと同一のライトリ
クエストは、優先して出力することができる。また、上
記のようなライトリクエストでなくても、ライト優先条
件生成部26の出力に応じて、リードリクエストよりも
優先して出力することができる。
リクエスタ1から出力されたライトリクエストであっ
て、ライトアドレスがリードアドレスと同一のライトリ
クエストは、優先して出力することができる。また、上
記のようなライトリクエストでなくても、ライト優先条
件生成部26の出力に応じて、リードリクエストよりも
優先して出力することができる。
【0054】また、セレクタ247がリードリクエスト
を読み出し、メインメモリ3に出力した場合、リードポ
インタ211は、指示するエントリをry+1に更新す
る。これにより、リードリクエストバッファ21は、再
びリードポインタ211の指示によって、エントリrx
+1に記憶されたリードリクエストをセレクタ247に
出力する。また、順序保証メモリ241は、リードポイ
ンタ211の指示によって、第(ry+1)行目に記憶
されているデータをリードリクエストメモリチェック部
244に出力する。
を読み出し、メインメモリ3に出力した場合、リードポ
インタ211は、指示するエントリをry+1に更新す
る。これにより、リードリクエストバッファ21は、再
びリードポインタ211の指示によって、エントリrx
+1に記憶されたリードリクエストをセレクタ247に
出力する。また、順序保証メモリ241は、リードポイ
ンタ211の指示によって、第(ry+1)行目に記憶
されているデータをリードリクエストメモリチェック部
244に出力する。
【0055】また、セレクタ247がライトリクエスト
を読み出し、メインメモリ3に出力した場合、順序保証
メモリ241の第rx列の全てのメモリセルに、”0”
を記憶した後、リードポインタ221の指示するエント
リをrx+1に更新する。これにより、ライトリクエス
トバッファ22は、再びリードポインタ221の指示に
よって、エントリ(rx+1)に記憶されたライトリク
エストをセレクタ247に出力する。
を読み出し、メインメモリ3に出力した場合、順序保証
メモリ241の第rx列の全てのメモリセルに、”0”
を記憶した後、リードポインタ221の指示するエント
リをrx+1に更新する。これにより、ライトリクエス
トバッファ22は、再びリードポインタ221の指示に
よって、エントリ(rx+1)に記憶されたライトリク
エストをセレクタ247に出力する。
【0056】以上の処理を繰り返してリードリクエスト
バッファ21,ライトリクエストバッファ22に記憶さ
れている全てのリードリクエスト,ライトリクエストを
メインメモリ3に出力する。
バッファ21,ライトリクエストバッファ22に記憶さ
れている全てのリードリクエスト,ライトリクエストを
メインメモリ3に出力する。
【0057】以上、この発明の実施形態を図面を参照し
て詳述してきたが、この発明には、上述した実施形態の
みならず、この発明の要旨を逸脱しない範囲の設計,変
更等も勿論含まれる。例えば、本実施形態においてリク
エスト順序制御装置2は、リクエスタ1が出力した全て
のリクエストをリードリクエストバッファ21またはラ
イトリクエストバッファ22に記憶した後、リードリク
エストまたはライトリクエストをメインメモリ3に出力
したが、リクエスト順序制御装置2は、リクエスタ1が
出力したリクエストをリードリクエストバッファ21ま
たはライトリクエストバッファ22に記憶しながら、リ
ードリクエストまたはライトリクエストをメインメモリ
3に出力するように構成しても良い。
て詳述してきたが、この発明には、上述した実施形態の
みならず、この発明の要旨を逸脱しない範囲の設計,変
更等も勿論含まれる。例えば、本実施形態においてリク
エスト順序制御装置2は、リクエスタ1が出力した全て
のリクエストをリードリクエストバッファ21またはラ
イトリクエストバッファ22に記憶した後、リードリク
エストまたはライトリクエストをメインメモリ3に出力
したが、リクエスト順序制御装置2は、リクエスタ1が
出力したリクエストをリードリクエストバッファ21ま
たはライトリクエストバッファ22に記憶しながら、リ
ードリクエストまたはライトリクエストをメインメモリ
3に出力するように構成しても良い。
【0058】
【発明の効果】以上説明したように、本発明によれば、
入力されたリードリクエスト,ライトリクエストをメモ
リに出力するリクエスト順序制御装置において、入力さ
れたリードリクエストを記憶するリードリクエスト記憶
手段と、入力されたライトリクエストを記憶するライト
リクエスト記憶手段と、入力されたリードリクエストが
指定するアドレスと、記憶されたライトリクエストが指
定するアドレスとが一致しているか否かを検出する第一
アドレス一致検出手段と、第一アドレス一致検出手段の
結果に応じて、リードリクエスト記憶手段に最も早く記
憶されたリードリクエスト、または、ライトリクエスト
記憶手段に最も早く記憶されたライトリクエストを読み
出し、メモリに出力するリード/ライト発行順序制御手
段とを設けたので、処理が早くなる効果、リードリクエ
ストとライトリクエストの順序を保証してメモリへ出力
できる効果が得られる。
入力されたリードリクエスト,ライトリクエストをメモ
リに出力するリクエスト順序制御装置において、入力さ
れたリードリクエストを記憶するリードリクエスト記憶
手段と、入力されたライトリクエストを記憶するライト
リクエスト記憶手段と、入力されたリードリクエストが
指定するアドレスと、記憶されたライトリクエストが指
定するアドレスとが一致しているか否かを検出する第一
アドレス一致検出手段と、第一アドレス一致検出手段の
結果に応じて、リードリクエスト記憶手段に最も早く記
憶されたリードリクエスト、または、ライトリクエスト
記憶手段に最も早く記憶されたライトリクエストを読み
出し、メモリに出力するリード/ライト発行順序制御手
段とを設けたので、処理が早くなる効果、リードリクエ
ストとライトリクエストの順序を保証してメモリへ出力
できる効果が得られる。
【0059】また、本発明によれば、入力されたリード
リクエスト,ライトリクエストをメモリに出力するリク
エスト順序制御装置において、入力されたリードリクエ
ストを記憶するリードリクエスト記憶手段と、入力され
たライトリクエストを記憶するライトリクエスト記憶手
段と、入力されたリードリクエストが指定するアドレス
と、記憶されたライトリクエストが指定するアドレスと
が一致しているか否かを検出する第一アドレス一致検出
手段と、ライトリクエスト記憶手段に最も早く記憶され
たライトリクエストとを読み込み、該ライトリクエスト
が指定したアドレスと同一のアドレスを指定しているリ
ードリクエストを検出する第二アドレス一致検出手段
と、環境に応じた出力をするライト優先条件検出手段
と、前記第一アドレス一致検出手段の検出結果および第
二アドレス一致検出手段の検出結果および前記ライト優
先条件検出手段の出力に応じて、リードリクエスト記憶
手段に最も早く記憶されたリードリクエスト、または、
ライトリクエスト記憶手段に最も早く記憶されたライト
リクエストを読み出し、メモリに出力するリード/ライ
ト発行順序制御手段とを設けたので、処理が早くなる効
果、リードリクエストとライトリクエストの順序を保証
してメモリへ出力できる効果、任意のライトリクエスト
を優先して出力できる効果が得られる。
リクエスト,ライトリクエストをメモリに出力するリク
エスト順序制御装置において、入力されたリードリクエ
ストを記憶するリードリクエスト記憶手段と、入力され
たライトリクエストを記憶するライトリクエスト記憶手
段と、入力されたリードリクエストが指定するアドレス
と、記憶されたライトリクエストが指定するアドレスと
が一致しているか否かを検出する第一アドレス一致検出
手段と、ライトリクエスト記憶手段に最も早く記憶され
たライトリクエストとを読み込み、該ライトリクエスト
が指定したアドレスと同一のアドレスを指定しているリ
ードリクエストを検出する第二アドレス一致検出手段
と、環境に応じた出力をするライト優先条件検出手段
と、前記第一アドレス一致検出手段の検出結果および第
二アドレス一致検出手段の検出結果および前記ライト優
先条件検出手段の出力に応じて、リードリクエスト記憶
手段に最も早く記憶されたリードリクエスト、または、
ライトリクエスト記憶手段に最も早く記憶されたライト
リクエストを読み出し、メモリに出力するリード/ライ
ト発行順序制御手段とを設けたので、処理が早くなる効
果、リードリクエストとライトリクエストの順序を保証
してメモリへ出力できる効果、任意のライトリクエスト
を優先して出力できる効果が得られる。
【図1】 本発明の一実施形態によるリクエスト順序
制御装置の構成を示すブロック図である。
制御装置の構成を示すブロック図である。
【図2】 順序保証メモリ241の動作を説明するた
めの説明図である。
めの説明図である。
【図3】 本発明の他の実施形態によるリクエスト順
序制御装置の構成を示すブロック図である。
序制御装置の構成を示すブロック図である。
【図4】 セレクト条件生成部246の制御を示すテ
ーブルである。
ーブルである。
2 リクエスト順序制御装置
21 リードリクエストバッファ
22 ライトリクエストバッファ
23 第一アドレス一致検出部
24 リード/ライト発行順序制御部
241 順序保証メモリ
242 リードリクエストメモリチェック部
243 セレクタ
244 リードリクエストメモリチェック部
245 ライトリクエストメモリチェック部
246 セレクト条件生成部
247 セレクタ
25 第二アドレス一致検出部
26 ライト優先条件検出部
─────────────────────────────────────────────────────
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
G06F 12/00 - 12/02
G06F 12/08
G06F 9/38
Claims (3)
- 【請求項1】 入力されたリードリクエスト,ライトリ
クエストをメモリに出力するリクエスト順序制御装置に
おいて、 入力された前記リードリクエストを記憶するリードリク
エスト記憶手段と、 入力された前記ライトリクエストを記憶するライトリク
エスト記憶手段と、 入力された前記リードリクエストが指定するアドレス
と、記憶された前記ライトリクエストが指定するアドレ
スとが一致しているか否かを検出する第一アドレス一致
検出手段と、 前記第一アドレス一致検出手段の結果に応じて、前記リ
ードリクエスト記憶手段に最も早く記憶された前記リー
ドリクエスト、または、前記ライトリクエスト記憶手段
に最も早く記憶された前記ライトリクエストを読み出
し、前記メモリに出力するリード/ライト発行順序制御
手段と、 を有し、 前記リード/ライト発行順序制御手段は、 前記第一アドレス一致検出部の結果に基づいて、記憶さ
れた前記リードリクエスト毎に、該リードリクエストよ
りも前に記憶された前記ライトリクエストであって、該
リードリクエストが指定したアドレスと同一のアドレス
を指定している前記ライトリクエストを記憶する順序保
証記憶手段と、 前記順序保証記憶手段の記憶内容に応じた出力をするリ
ードリクエストメモリチェック手段と、 前記リードリクエストメモリチェック手段からの入力に
応じて、前記リードリクエスト記憶手段に最も早く記憶
された前記リードリクエスト、または、前記ライトリク
エスト記憶手段に最も早く記憶された前記ライトリクエ
ストを読み出し、前記メモリに出力する選択手段と を有
することを特徴とするリクエスト順序制御装置。 - 【請求項2】 入力されたリードリクエスト,ライトリ
クエストをメモリに出力するリクエスト順序制御装置に
おいて、 入力された前記リードリクエストを記憶するリードリク
エスト記憶手段と、 入力された前記ライトリクエストを記憶するライトリク
エスト記憶手段と、 入力された前記リードリクエストが指定するアドレス
と、記憶された前記ライトリクエストが指定するアドレ
スとが一致しているか否かを検出する第一アドレス一致
検出手段と、 前記ライトリクエスト記憶手段に最も早く記憶された前
記ライトリクエストを読み込み、該ライトリクエストが
指定したアドレスと同一のアドレスを指定している、前
記リードリクエスト記憶手段に記憶された前記リードリ
クエストを検出する第二アドレス一致検出手段と、 環境に応じた出力をするライト優先条件検出手段と、 前記第一アドレス一致検出手段の検出結果および前記第
二アドレス一致検出手段の検出結果および前記ライト優
先条件検出手段の出力に応じて、前記リードリクエスト
記憶手段に最も早く記憶された前記リードリクエスト、
または、前記ライトリクエスト記憶手段に最も早く記憶
された前記ライトリクエストを読み出し、前記メモリに
出力するリード/ライト発行順序制御手段と、 を有することを特徴とするリクエスト順序制御装置。 - 【請求項3】 前記リード/ライト発行順序制御手段
は、 前記第一アドレス一致検出部の結果に基づいて、記憶さ
れた前記リードリクエスト毎に、該リードリクエストよ
りも前に記憶された前記ライトリクエストであって、該
リードリクエストが指定したアドレスと同一のアドレス
を指定している前記ライトリクエストを記憶する順序保
証記憶手段と、 前記順序保証記憶手段の記憶内容に応じた出力をするリ
ードリクエストメモリチェック手段と、 前記順序保証記憶手段の記憶内容および前記第二アドレ
ス検出手段の結果に応じた出力をするライトリクエスト
メモリチェック手段と、 前記リードリクエストメモリチェック手段,前記ライト
リクエストメモリチェック手段,前記ライト優先条件検
出手段からの入力に応じた出力を行うセレクト条件生成
手段と、前記セレクト条件生成手段からの入力に応じ
て、前記リードリクエスト記憶手段に最も早く記憶され
た前記リードリクエスト、または、前記ライトリクエス
ト記憶手段に最も早く記憶された前記ライトリクエスト
を読み出し、前記メモりに出力する選択手段と、 を有することを特徴とする請求項2に記載のリクエスト
順序制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000147013A JP3501727B2 (ja) | 2000-05-18 | 2000-05-18 | リクエスト順序制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000147013A JP3501727B2 (ja) | 2000-05-18 | 2000-05-18 | リクエスト順序制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001331363A JP2001331363A (ja) | 2001-11-30 |
JP3501727B2 true JP3501727B2 (ja) | 2004-03-02 |
Family
ID=18653259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000147013A Expired - Fee Related JP3501727B2 (ja) | 2000-05-18 | 2000-05-18 | リクエスト順序制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3501727B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5625737B2 (ja) * | 2010-10-22 | 2014-11-19 | 富士通株式会社 | 転送装置、転送方法および転送プログラム |
KR20130114486A (ko) | 2012-04-09 | 2013-10-17 | 삼성전자주식회사 | 씨에이유 별 병렬 큐를 가진 비휘발성 메모리 장치, 이를 포함하는 시스템, 및 비휘발성 메모리 장치의 동작 방법 |
US9195410B2 (en) | 2012-10-31 | 2015-11-24 | Hitachi, Ltd. | Storage system and access arbitration method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55147744A (en) * | 1979-05-07 | 1980-11-17 | Hitachi Ltd | Memory controlling unit |
JPS59154548A (ja) * | 1983-02-22 | 1984-09-03 | Hitachi Ltd | 記憶制御方式 |
-
2000
- 2000-05-18 JP JP2000147013A patent/JP3501727B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001331363A (ja) | 2001-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS58222361A (ja) | デ−タ処理システムにおけるアクセス要求の優先順位決定制御方式 | |
JP3501727B2 (ja) | リクエスト順序制御装置 | |
US11694735B2 (en) | Memory controller and method of controlling the memory controller | |
JPH11184761A (ja) | リードモディファイライト制御システム | |
JPS6211426B2 (ja) | ||
JPH07271553A (ja) | Fifoメモリ装置のメモリ制御方法 | |
JP3034013B2 (ja) | 表示メモリ処理装置 | |
JP3078594B2 (ja) | 画像記憶装置 | |
JPH0512107A (ja) | プログラム実行方式 | |
JPH0528414B2 (ja) | ||
JPH0546641A (ja) | オンラインデータ引継ぎ方式 | |
JPH0250498B2 (ja) | ||
JPH0553908A (ja) | 高速アクセス記憶装置 | |
JPH0410292A (ja) | ハードディスク装置 | |
JPH03246741A (ja) | 同期制御装置 | |
JPH01263850A (ja) | メモリ空間拡張方式 | |
JPH10333981A (ja) | リードバッファドライトスルー方式のバスインタフェース装置 | |
JP2003228546A (ja) | ダイレクト・メモリ・アクセス制御装置 | |
JPH01258155A (ja) | データ処理装置 | |
JPH06110506A (ja) | プログラマブルコントローラのコメント記憶方法 | |
JP2003345651A (ja) | 情報処理装置 | |
JPH01216444A (ja) | メモリ・バンク制御回路 | |
JPS6380324A (ja) | マイクロコンピユ−タ回路 | |
JPH04165394A (ja) | メモリアクセス回路 | |
JPH086851A (ja) | キャッシュメモリ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20031125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031202 |
|
LAPS | Cancellation because of no payment of annual fees |