JP2001154913A - 主記憶制御装置 - Google Patents

主記憶制御装置

Info

Publication number
JP2001154913A
JP2001154913A JP33946299A JP33946299A JP2001154913A JP 2001154913 A JP2001154913 A JP 2001154913A JP 33946299 A JP33946299 A JP 33946299A JP 33946299 A JP33946299 A JP 33946299A JP 2001154913 A JP2001154913 A JP 2001154913A
Authority
JP
Japan
Prior art keywords
request
priority
bank
queue
main storage
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
JP33946299A
Other languages
English (en)
Inventor
Masanao Ito
昌尚 伊藤
Tsuguo Matsuura
嗣夫 松浦
Tetsuto Nakamura
哲人 中村
Hidetoshi Yoshida
秀俊 吉田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP33946299A priority Critical patent/JP2001154913A/ja
Publication of JP2001154913A publication Critical patent/JP2001154913A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 複数のバンクで構成される主記憶にアクセス
を行う主記憶制御装置において、より少ない論理物量で
最適な主記憶アクセスを実現する。 【解決手段】 プロセッサ1と複数バンク構成の主記憶
3との間に介在する主記憶制御装置2において、各バン
ク対応の主記憶アクセスリクエストを保持するリクエス
トキュー11aから11dと、個々のバンクのビシーを
検出するバンクビジー制御回路12aから12dと、主
記憶アクセスリクエストのバンク番号を到着順に保持す
るプライオリティキューを備えたプライオリティ制御回
路10を設け、プライオリティキュー内のバンク番号か
ら、当該バンク番号にて特定されるバンクがバンクビジ
ー状態でなく、かつ時間的に最も過去にプライオリティ
キューに入力されたバンク番号を選択し、当該バンク番
号に対応するリクエストキュー内の主記憶アクセスリク
エストをセレクタ13で選択して実行させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、主記憶制御技術に
関し、特に、複数のバンクで構成された主記憶のアクセ
ス制御等に適用して有効な技術に関する。
【0002】
【従来の技術】大量のデータを処理する高速計算機にお
いて、演算処理性能に見合った主記憶データ転送を行う
ための主記憶制御を実現する方式として、独立にアクセ
ス可能な複数のバンクで主記憶を構成し、各バンクへパ
イプライン的にアクセスを行う方式が一般的に用いられ
ている。このような複数のバンクを制御する装置におい
ては、バンク間のアクセス優先度を決定する方式が主記
憶アクセス性能を決定する重要な要素となる。例えば、
特開平7−253923号公報の従来技術に記載がある
ように、主記憶アクセスリクエストが主記憶制御装置に
到着した順番に高い優先度を与える方式や、特開平11
−85605号公報の従来技術に記載があるように、バ
ンク間に均等な優先度をLRU制御によって与える方式
などが用いられる。
【0003】通常、リクエストの到着順に制御を行う方
式がLRU制御を行う方式に比べて性能が良い場合が多
い。しかし、到着順方式はバンク数が多い場合や、主記
憶制御装置に置かれる主記憶アクセスリクエストを蓄え
るキューのエントリ数が多い場合においては、バンク間
のアクセス優先度を決定する論理の規模が巨大化してし
まうため実現が困難となる。特に近年においては、プロ
セッサの演算処理性能の上昇が著しいため、主記憶性能
を上昇させるためにはバンク数を増加させる必要性が増
しており、したがって、性能的にはやや劣るがより簡単
な論理規模で実現できるLRU制御方式、または、さら
に単純化した制御方式を用いざるを得ない傾向が増大し
ている。
【0004】
【発明が解決しようとする課題】前出の特開平7−25
3923号公報の従来技術においては、リクエストの到
着順序の情報を到着番号の形式でリクエストを蓄えるキ
ューのエントリ毎に保持している。このため、リクエス
トを主記憶に発行する際に到着番号を更新するために、
全エントリー間に相互の到着番号をやりとりするための
信号を配線する必要がある。したがって、エントリー数
が増加すると、信号配線量はエントリー数の2乗に比例
して増加する。また、各エントリーからバンク対応の資
源へ到着順序の情報を伝達しているため、エントリー
数、バンク数が増加すると、その積に比例して信号配線
量が増加する。
【0005】また、リクエストの到着順序の情報を到着
番号の形式で保持しているため、バンクビジー状態のバ
ンクを除外した上で、最も早く到着したリクエストを選
択するためには、バンク数の2乗に比例した数の大小比
較器が必要となる。このように、前記従来技術において
バンク数、エントリ数が増大した場合においてリクエス
トの到着順に優先制御を行うためには大幅な論理規模の
増大を招く。
【0006】本発明の目的は、より少ない論理回路、よ
り少ない論理間配線、および、より少ない論理段数等の
論理物量で、バンク間のアクセス優先度をリクエストの
到着順に管理する主記憶制御技術を提供することにあ
る。
【0007】本発明の他の目的は、より少ない論理回
路、より少ない論理間配線、および、より少ない論理段
数等の論理物量で、主記憶アクセスのレイテンシを最小
にすることが可能な主記憶制御技術を提供することにあ
る。
【0008】
【課題を解決するための手段】本発明の主記憶制御技術
においては、リクエストの到着順序の情報を蓄えるため
に、リクエストを蓄えるキューとは別個に、到着したリ
クエストのバンク番号を記録するキューを設ける。この
キューはリクエストが入力した順序を保存するように動
作する。すなわち、キュー内のリクエストを取り出す場
合には、そのリクエストよりも上に積まれた、すなわ
ち、時間的に後から来たリクエストを一つずつ下に移動
し、キュー内に隙間無く整列し直す操作を行う。入力時
には上から順に積む。
【0009】このように制御することで、キューの最も
下にあるバンク番号のリクエストが、最も過去に到着し
たリクエストを示していることになり、このリクエスト
の優先度を最高とすれば、容易にリクエストの到着順で
優先度を決めることができる。もし、キューの最も下に
あるバンクがバンクビジーの状態であれば、下から2番
目の優先度を最高とすればよい。もし、このバンクもバ
ンクビジーであれば、同様の手順で下から順番にバンク
ビジーでないバンクを探すことで、目的とする優先度制
御を実現することができる。
【0010】上記手段では、到着したリクエストのバン
ク番号を記録するキュー間での情報の授受は隣接した場
合に限定されるので、信号配線量はエントリー数に比例
して増加するのみである。また、到着したリクエストの
バンク番号を記録するキューの内容から目的とするバン
クの番号を検索する際には、バンク番号の情報を2進数
にエンコードした形で扱うため、エントリー数、バンク
数が増加しても、信号配線量はその積に比例するのでは
なく、バンク数の対数とエントリー数の積に比例して増
加する。したがって、本発明では前記従来技術に比較し
てより少ない論理回路、より少ない論理間配線、およ
び、より少ない論理段数で、目的とする優先度制御を実
現することができる。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0012】(第1の実施の形態)図1は本発明の一実
施の形態による主記憶制御装置を備える情報処理システ
ムの構成の一例を示すブロック図、図2は、本実施の形
態の主記憶制御装置におけるプライオリティ制御回路の
構成の一例を示すブロック図、図3は、本実施の形態の
主記憶制御装置におけるプライオリティキュー制御回路
の構成の一例を示すブロック図である。
【0013】図1、図2、図3中、1はプロセッサ、2
は主記憶制御装置、3は主記憶、10はプライオリティ
制御回路、11aから11dはリクエストキュー、12
aから12dはバンクビジー制御回路、13はセレク
タ、14、15はリクエストラッチ、20はバンクビジ
ーカウンタ、21はデクリメンタ、30はプライオリテ
ィキュー制御回路、31aから31eはプライオリティ
キュー、32aから32e、33aから33e、35は
セレクタ、34はプライオリティエンコーダ、40aか
ら40eはプライオリティキュー入力選択回路、41は
カウンタ、42は加減算器、L1、L2、L3aからL
3d、L4、L7、La1からLa5、Lb1からLb
5、Lc1からLc5、L20は信号線である。図4は
プライオリティキュー入力選択回路40aから40eの
動作の一例を説明した表であり、図5はプライオリティ
エンコーダ34の動作の一例を説明した表である。
【0014】図1において、主記憶制御装置2はプロセ
ッサ1より主記憶アクセスリクエストを受け取る。図1
ではプロセッサは1個であるが複数個でも構わない。ま
た、プロセッサの代わりにプロセッサからの主記憶アク
セスリクエストを仲介する制御装置であっても構わない
し、入出力制御装置でも構わないし、他のシステムとの
通信を制御する装置であっても構わないし、その他いか
なる種類の主記憶アクセスリクエストを発行する装置で
あってもよい。
【0015】プロセッサ1より受け取った主記憶アクセ
スリクエストは最初にリクエストラッチ14に入力され
る。そして、アクセスする主記憶アドレスに対応するバ
ンク番号(たとえば、主記憶アドレスの下位nビットを
バンク番号とすることで、2n 個のバンクが割り当てら
れる)に応じて、リクエストキュー11aから11dの
何れか1つに格納される。なお、本実施の形態ではバン
ク数を4個としているが、これ以外に2個以上のいかな
るバンク数であってもよい。また、リクエストキュー1
1aから11dはバンクに個別に設けているが、複数の
バンクでキューを共用できるような構成であっても構わ
ない。主記憶アクセスリクエストがリクエストキュー1
1aから11dに格納される際、同時に、信号線L1に
よってプライオリティ制御回路10にも入力が行われ
る。そして後述するプライオリティ制御回路10の機能
によってセレクタ13を信号線L2を介して制御し、リ
クエストキュー11aから11dの何れかのバンクのリ
クエストを選択し、リクエストラッチ15に主記憶アク
セスリクエストを出力する。
【0016】この際、信号線L4を介してバンクアクセ
ス情報がバンクビジー制御回路12aから12dに伝達
され、該当するバンクについてバンクビジー情報が更新
される。すなわち、バンクビジーサイクルを示す数値が
バンクビジー制御回路12aから12d内のバンクビジ
ーカウンタ20に設定される。
【0017】各バンクを構成するメモリ素子の内部動作
特性等に応じて、アクセス時のサイクルから、あるサイ
クル数分の間はアクセス禁止とすることが必要な場合が
あり、バンクビジーカウンタ20に設定される前記数値
は、このアクセス禁止サイクル数の間はビジーとするた
めに設定される。
【0018】各々のバンクビジー制御回路12aから1
2dにおいては、バンクビジーカウンタ20に「0」以
上の値が設定されると、1サイクルに1回、バンクビジ
ーカウンタ20の内容をデクリメンタ21によって値1
だけ減じ、再びバンクビジーカウンタ20に格納する。
減算の結果、バンクビジーカウンタ20の内容が値0に
なった場合にはこれ以上の減算は行わない。バンクビジ
ーカウンタ20の内容が値0となったことは、該当する
バンクがアクセス可能な状態、すなわち、バンクビジー
でない状態であることを示し、この時該当するバンクの
信号線L3aからL3dには値1が出力される。もし、
該当するバンクがバンクビジーである場合には、信号線
L3aからL3dには値0が出力される。
【0019】なお、本実施の形態においては、各々のバ
ンクについてバンクビジー制御回路を1個としている
が、これを複数個設置しても構わない。複数個設置する
ことで主記憶がDRAMの場合やSDRAMの場合に対
しても本実施の形態を適用可能である。また、SDRA
MやRDRAMを使用する際、そのデータ授受のバース
ト長が1以上の場合でもバンクビジー制御回路を追加す
ることで本実施の形態は適用可能である。
【0020】また、以下の説明においては、主記憶3の
バンク0はリクエストキュー11a、バンクビジー制御
回路12a、信号線L3aに対応するとし、バンク1は
リクエストキュー11b、バンクビジー制御回路12
b、信号線L3bに対応するとし、以下同様とする。
【0021】リクエストラッチ15に格納された主記憶
アクセスリクエストはリクエストのバンク番号に応じて
主記憶3のバンク0からバンク3の何れかをアクセスす
る。そしてリクエストが主記憶読み出しであった場合に
は、対応するデータをプロセッサ1へ返送する。なお、
本実施の形態ではデータ返送のための機構は図示してい
ない。
【0022】次に図2、図3、図4、図5を用いて、プ
ライオリティ制御回路10のプライオリティ制御、すな
わち、リクエストキュー11aから11dに格納されて
いるどのリクエストを選択するかの詳細について説明を
行う。前述のように、主記憶アクセスリクエストがリク
エストキュー11aから11dに格納される際、同時
に、信号線L1によってプライオリティ制御回路10に
も入力が行われる。そして、プライオリティキュー制御
回路30により、信号線La1からLa5を介してセレ
クタ32aから32eが制御され、プライオリティキュ
ー31aから31eの何れか1つに該主記憶アクセスリ
クエストのバンク番号が入力される。
【0023】なお、図2以下ではプライオリティキュー
は、簡単のため5面(エントリ)として図示、説明して
いるが、本来はリクエストキュー11aから11dに格
納できる総リクエスト数と同数のエントリを用意するこ
とが望ましい。同数未満の場合には、プライオリティキ
ュー31aから31eの全てに有効なリクエストが格納
された場合に、主記憶制御装置2はプロセッサ1から新
たなリクエストを受け付けられない状態に陥る。同数以
上を用意すれば、主記憶制御装置2のリクエストキュー
11aから11dの何れかが飽和した場合に、プロセッ
サ1に対して新たなリクエストの送出停止を要求すると
いう通常の制御に変更を加える必要が無く、したがっ
て、プライオリティキューとリクエストキューはエント
リを同数を用意することが望ましい。ただし、同数用意
しない場合でも前述のように、プロセッサ1に対して新
たなリクエストの送出停止要求を追加制御することで本
実施の形態を適用することは可能である。
【0024】次に、プライオリティキュー31aから3
1eに存在する主記憶アクセスリクエストから、どのバ
ンクのリクエストを選択するかについて次に説明を行
う。プライオリティキュー31aから31eの保持する
バンク番号の情報は信号線Lb1からLb5を介して、
セレクタ33aから33eに伝達される。セレクタ33
aから33eは信号線Lb1からLb5の示すバンク番
号に基づいて、各々が信号線L3aからL3dの何れか
を選択して信号線Lc1からLc5に出力を行う。プラ
イオリティキュー31aを例にとって説明すると、プラ
イオリティキュー31aの保持するバンク番号が「0」
である場合には、セレクタ33aは信号線L3aを信号
線Lc1に出力し、バンク番号が「1」である場合に
は、セレクタ33aは信号線L3bを信号線Lc1に出
力し、バンク番号が「2」である場合には、セレクタ3
3aは信号線L3cを信号線Lc1に出力し、バンク番
号が「3」である場合には、セレクタ33aは信号線L
3dを信号線Lc1に出力し、プライオリティキュー3
1aに有効なリクエストが存在しない場合には、セレク
タ33aは値「0」を信号線Lc1に出力する。
【0025】信号線Lc1からLc5はプライオリティ
エンコーダ34に入力される。プライオリティエンコー
ダ34の動作を図5を用いて説明する。プライオリティ
エンコーダ34に入力される信号線Lc1の信号が値
「1」であった場合には、信号線L7には値「1」が設
定され、これによりセレクタ35は信号線Lb1を選択
して信号線L2に出力する。これは、プライオリティキ
ュー31aの保持するバンク番号が信号線L2に出力さ
れることを意味し、すなわち、プライオリティキュー3
1aの示すバンク番号のリクエストがリクエストキュー
11aから11dの中から選択され、主記憶アクセスを
行うことを意味する。
【0026】もし、プライオリティエンコーダ34に入
力される信号線Lc1の信号が値「0」であり、かつ、
信号線Lc2の信号が値「1」であった場合には、信号
線L7には値「2」が設定され、これは最終的には、プ
ライオリティキュー31bの示すバンク番号のリクエス
トがリクエストキュー11aから11dの中から選択さ
れ、主記憶アクセスを行うことを意味する。同様にし
て、信号線Lc1、Lc2の信号が値「0」であり、か
つ、信号線Lc3の信号が値「1」であった場合には、
プライオリティキュー31cの示すバンク番号が選択さ
れ、信号線Lc1からLc3の信号が値「0」であり、
かつ、信号線Lc4の信号が値「1」であった場合に
は、プライオリティキュー31dの示すバンク番号が選
択され、信号線Lc1からLc4の信号が値「0」であ
り、かつ、信号線Lc5の信号が値「1」であった場合
には、プライオリティキュー31eの示すバンク番号が
選択され、信号線Lc1からLc5全ての信号が値
「0」であった場合には、どのバンクも選択されないこ
とが信号線L2に出力される。
【0027】以上の動作により、プライオリティキュー
31aから31eに格納されている有効なリクエストに
ついて、下から順番にバンクビジーでないバンク番号が
検索され、最も下にあるバンクビジーでないバンク番号
が信号線L2に出力される。この際、リクエストキュー
11aから11dにおいて、各々のバンクについて時間
的順序を保存してリクエストの入出力を行えば、時間的
に最も過去に到着したリクエストでバンクビジーでない
リクエストを選択することができる。
【0028】なお、本発明では、各々のバンク内部にお
いて時間的順序を保存する必要はないため、各々のバン
クにおいて時間的順序を保存しない入出力を行う場合に
ついても本実施の形態を適用することは可能である。例
えば、主記憶がDRAMやSDRAM等の場合に同一R
OWアドレスのリクエストを連続して発行することで、
DRAMでは比較的長時間必要なバンクビジーの影響を
軽減することができるが、このために同一バンクのリク
エストの時間的順序を変更したい場合でも本実施の形態
を適用可能である。
【0029】また、本実施の形態においては、プライオ
リティ制御回路10を主記憶制御装置2に1個としてい
るが、各々のバンクについてバンクビジー制御回路を複
数個設置した場合には、複数個としてもよい。バンクビ
ジー制御回路を複数個設置することで、主記憶がDRA
Mの場合やSDRAMの場合に必要となるRAS信号や
CAS信号の発行タイミングを制御可能となり、本実施
の形態を主記憶がDRAMの場合やSDRAMの場合に
対しても適用可能となる。
【0030】次に、プライオリティキュー制御回路30
の機能について説明を行う。先に述べたように、主記憶
アクセスリクエストがリクエストキュー11aから11
dに格納される際、同時に、信号線L1によってプライ
オリティキュー制御回路30にバンク番号が伝達され
る。そして、リクエストキュー11aから11dの中か
ら主記憶アクセスリクエストが発行される際には、リク
エストに対応するプライオリティキュー31aから31
eの番号が信号線L7を介してプライオリティキュー制
御回路30に伝達される。信号線L1、信号線L7は加
減算器42に接続されており、信号線L1によって主記
憶アクセスリクエストがリクエストキュー11aから1
1dに格納されたことが伝達された場合、加減算器42
はカウンタ41の内容に1を加え、信号線L7によって
リクエストキュー11aから11dから主記憶アクセス
リクエストが発行されたことが伝達された場合、加減算
器42はカウンタ41の内容から1を減じて、その結果
を信号線L20を介してカウンタ41へ格納する。な
お、初期状態ではカウンタ41の内容は値「0」に設定
される。
【0031】また、プライオリティキュー入力選択回路
40aから40eには信号線L1、信号線L7、信号線
L20が接続されており、これらの信号線の値に応じて
信号線La1からLa5の出力を図4に示したように変
化させる。図4の動作によって、プライオリティキュー
入力選択回路40aから40eは次のように機能する。
【0032】第1に、信号線L1、信号線L7がリクエ
ストの入出力が無かったことを示した場合には、プライ
オリティキュー入力選択回路40aから40eはプライ
オリティキュー31aから31eに保持された状態をそ
のまま維持する。
【0033】第2に、信号線L1はリクエストの入力が
あったことを示したが、信号線L7はリクエストの出力
がなかったことを示した場合には、プライオリティキュ
ー入力選択回路40aから40eは、プライオリティキ
ュー31aから31eの空きキューのうち最も下方に存
在するキューに入力されたリクエストのバンク番号を登
録する。例えば、プライオリティキュー31aから31
cにはリクエストが登録されていて、プライオリティキ
ュー31dから31eが空いている場合には、プライオ
リティキュー31dに登録を行う。
【0034】第3に、信号線L1はリクエストの入力が
なかったことを示したが、信号線L7はリクエストの出
力があったことを示した場合には、プライオリティキュ
ー入力選択回路40aから40eは、信号線L7の示す
リクエストのプライオリティキューの内容を抹消し、そ
れよりも上方のキューの内容を1つずつ下方に移動す
る。例えば、プライオリティキュー31aから31dに
リクエストが登録されていて、信号線L7の示すリクエ
ストがプライオリティキュー31bであった場合には、
プライオリティキュー31bの抹消を行い、プライオリ
ティキュー31cから31dの内容をそれぞれ、プライ
オリティキュー31bから31cに移動する。
【0035】第4に、信号線L1はリクエストの入力が
あったことを示し、かつ、信号線L7もリクエストの出
力があったことを示した場合には、プライオリティキュ
ー入力選択回路40aから40eは、信号線L1が示す
リクエストの登録と信号線L7の示すリクエストの抹消
を同時に行う。例えば、プライオリティキュー31aか
ら31cにリクエストが登録されていて、信号線L7の
示すリクエストがプライオリティキュー31bであった
場合には、プライオリティキュー31aはそのまま保持
され、プライオリティキュー31bにはプライオリティ
キュー31cの内容が移動され、プライオリティキュー
31cには信号線L1が示すリクエストの登録が行われ
る。プライオリティキュー31dから31eは空いてい
る状態がそのまま保持される。
【0036】前述の、リクエストキュー11aから11
dにおいて、各々のバンクについて時間的順序を保存し
てリクエストの入出力を行うという仮定が満たされてい
る場合には、上記の説明で明らかなように、信号線L1
が示すリクエストの登録は常にプライオリティキュー3
1aから31eの最上部に行われるため、プライオリテ
ィキュー31aから31eには下からリクエストの到着
順にならんでおり、どのように信号線L7の示すリクエ
ストを取り出してもこの順序関係が崩れることはない。
【0037】リクエストキュー11aから11dにおい
て、各々のバンクについて時間的順序を保存してリクエ
ストの入出力を行うという仮定が満たされない場合に
は、プライオリティキュー31aから31eの順序は保
存されない。しかしこのような場合でも、異なるバンク
間においては、そのバンクにおいて最も過去に到着した
リクエストに注目すれば、バンク間のリクエストの順序
関係が崩れることはない。
【0038】図14に上記で説明した本実施の形態のプ
ライオリティ制御の動作の一例を示す。図14中にはリ
クエストラッチ14、15および、プライオリティキュ
ー31aから31eのみ図示しており、時刻t=0から
t=7までの8サイクルについて1サイクル毎の動作を
示している。この例においてはバンク数は8個であると
仮定しており、各バンクのバンクビジー時間は3サイク
ルと仮定している。つまり、あるバンクにアクセスする
と、同一のバンクにアクセス可能となるのは3サイクル
後である。そして、t=0の状態ではすべてのバンクに
ついてバンクビジーではないと仮定している。
【0039】さて、t=0の状態ではプライオリティキ
ュー31aにはバンク番号0が格納されており、プライ
オリティキュー31bにはバンク番号1が格納されてお
り、プライオリティキュー31cにはバンク番号1が格
納されており、プライオリティキュー31dにはバンク
番号2が格納されており、プライオリティキュー31e
には有効なリクエストは格納されていない。これは、リ
クエストキュー11aに1個のリクエストが存在し、リ
クエストキュー11bには2個のリクエストが存在し、
リクエストキュー11cには1個のリクエストが存在
し、リクエストキュー11d、11e、11f、11
g、11hにはリクエストが存在していないことを示
す。なお、リクエストキュー11e、11f、11g、
11hはバンク4からバンク7に対応するリクエストキ
ューであり、図1には図示されていないが、図14の説
明のために存在するとして扱う。
【0040】t=0ではプライオリティキュー31aに
格納されていたバンク番号0のリクエストが主記憶アク
セスリクエストとして選択され、この情報が信号線L2
によってセレクタ13に伝えられ、t=1でリクエスト
キュー11aからリクエストラッチ15に移動する。同
時に、t=0においてリクエストラッチ14に格納され
ていたバンク番号3のリクエストは、t=1でリクエス
トキュー11dに格納され、かつ、プライオリティキュ
ーにも登録される。
【0041】t=1においては、信号線L1によってバ
ンク番号3の登録が伝達され、信号線L7によってプラ
イオリティキュー31aの抹消が伝達された結果、図1
4のt=1のような状態になる。さらに、t=2では信
号線L1によってバンク番号4の登録が伝達され、信号
線L7によってプライオリティキュー31aの抹消が伝
達される。t=2の状態では最も到着順の早いリクエス
トはプライオリティキュー31aに存在するバンク番号
1のリクエストであるが、このバンクはt=1で主記憶
アクセスを行うリクエストとして選択されたため、t=
2ではバンクビジー状態にあり、したがって、次に到着
順の早いプライオリティキュー31bのバンク番号2の
リクエストが主記憶アクセスリクエストとして選択され
る。バンクビジーサイクルは3サイクルであるため、t
=3でもプライオリティキュー31aのバンク番号1の
リクエストは選択されず、このサイクルにおいて次に到
着順の早い、プライオリティキュー31bのバンク番号
3のリクエストが主記憶アクセスリクエストとして選択
される。t=4でバンク番号1のバンクビジー状態が解
除されるため、このサイクルではプライオリティキュー
31aが主記憶アクセスリクエストとして選択され、t
=5でリクエストラッチ15に格納される。以下、t=
5、t=6、t=7ではどのバンクもビジーでないた
め、プライオリティキュー31aが主記憶アクセスリク
エストとして選択され、次のサイクルでリクエストラッ
チ15に格納される。
【0042】これまでの説明で明らかなように、本実施
の形態によれば、リクエストキュー11aから11dに
格納されたリクエストを、バンクビジーを考慮した上で
リクエストの到着順に主記憶3へアクセスを行うことが
でき、このようにして最適なバンク間プライオリティ制
御を実現することが可能となる。
【0043】(第2の実施の形態)次に、本発明の主記
憶制御装置の第2の実施の形態について説明を行う。本
第2の実施の形態は第1の実施の形態の変形であり、第
1の実施の形態よりも論理規模を縮小する必要がある場
合、あるいは、最大論理段数の制限のために第1の実施
の形態をそのまま使用できない場合にも、最適なバンク
間プライオリティ制御を実現することを目的とする。
【0044】図6は本発明の一実施の形態による主記憶
制御装置を備える情報処理システムの構成の一例を示す
ブロック図であり、図7はプライオリティ制御回路の構
成の一例を示すブロック図であり、図8は第2プライオ
リティ回路の構成の一例を示すブロック図であり、図9
はプライオリティキュー制御回路の構成の一例を示すブ
ロック図であり、図15は第2プライオリティ回路の動
作の一例を解説した表である。図6中、図1と同一の参
照番号を持つ構成要素は第1の実施の形態と同じ機能を
持ち、図7中、図2と同一の参照番号を持つ構成要素は
第1の実施の形態と同じ機能を持ち、図9中、図3と同
一の参照番号を持つ構成要素は第1の実施の形態と同じ
機能を持つ。以下では各々、第1の実施の形態と異なる
機能についてのみ説明を行う。
【0045】図6中、16はプライオリティ制御回路、
L5aからL5dは信号線であり、図7中、36はプラ
イオリティキュー制御回路、50は第2プライオリティ
回路、L6は信号線であり、図8中、53aから53d
はバンク番号生成回路、54aから54dは分散プライ
オリティ回路、56はエンコーダ、55ab、55c
d、64は論理和回路、60、61は排他的論理和回
路、62、63、66、67は論理積回路、65は論理
否定回路、L12aからL12d、L14aからL14
d、L15aからL15d、L16abからL16cd
は信号線であり、図9中、43aから43eは比較器、
L21、Ld1からLd5は信号線である。
【0046】図6では図1に信号線L5aからL5dが
追加されている。主記憶アクセスリクエストがリクエス
トキュー11aから11dの何れか1つに格納される
と、リクエストキュー11aから11dにリクエストが
存在するか存在しないかについての情報が、信号線L5
aからL5dを介してプライオリティ制御回路16に伝
達され、図7中の第2プライオリティ回路50へ伝達さ
れる。
【0047】図7で示されるプライオリティ制御回路1
6は、第1の実施の形態において図2で示されたプライ
オリティ制御回路10と次の点で異なる。図2において
は、プライオリティキュー31aから31eに1対1に
対応して、セレクタ33aから33eが存在していた
が、図7では、プライオリティキュー31dから31e
に対応するセレクタ33dから33eが存在していな
い。第1の実施の形態では、プライオリティキュー31
aから31eと同数のセレクタ33aから33eを用意
する必要があり、したがって、プライオリティエンコー
ダ34、および、セレクタ35は、プライオリティキュ
ー31aから31eの個数と等しい数の入力信号を処理
する必要が存在したが、本実施の形態では、プライオリ
ティキュー31aから31eの個数とセレクタ33aか
ら33cの個数とを独立に選択することが可能であり、
これにより論理規模の縮小、論理段数および論理配線数
の削減が可能となる。なお、本実施の形態において、プ
ライオリティキュー31aから31eの個数とセレクタ
33aから33cの個数とを同数としてもよいことは言
うまでもない。
【0048】また、後述するように、本実施の形態で
は、第2プライオリティ回路50を設けたことにより、
信号線L3aからL3dによって伝達され、セレクタ3
3aから33cに入力が行われるバンクビジー情報は不
完全であってもよい。信号線L3aからL3dによって
第2プライオリティ回路50に伝達されるバンクビジー
情報が完全であれば、セレクタ33aから33cには不
完全なバンクビジー情報のみでも本実施の形態は正しい
論理動作を行うことが可能である。これにより、例え
ば、成立頻度は少ないが論理段数が多く必要なバンクビ
ジー情報の論理経路を短縮することが可能となり、さら
に論理規模の縮小、論理段数および論理配線数の削減が
可能となる。
【0049】このように論理を構成しても、最適なバン
クを選択する機能はほとんど損なわれない。第1に、プ
ライオリティキュー31dから31eに対応するセレク
タ33dから33eが存在していないとしても、これら
のリクエストが選択されるということは、リクエストキ
ューに到着してあまり時間を経過していないリクエスト
が選択されるということであり、そのようなリクエスト
の選択が最適でなかったとしても、もともとリクエスト
キューにおいて待ち時間が短いリクエストの間の選択で
あり、全体の性能への影響は大きくない。第2に、信号
線L3aからL3dによって伝達され、セレクタ33a
から33cに入力が行われるバンクビジー情報は不完全
であったとしても、不完全な頻度の割合が小さければ性
能への影響は小さい。すなわち、後述のように、第2プ
ライオリティ回路50は信号線L6に示されるバンクの
リクエストが実際に発行可能な場合には、信号線L2に
信号線L6の情報をそのまま出力し、信号線L6に示さ
れるバンクのリクエストが実際には発行できなかった場
合のみ、代替リクエストを信号線L2に出力する。代替
リクエストは必ずしも最適ではないため、この場合には
リクエストの待ち時間に悪影響を与える可能性がある。
しかし、成立頻度は少ないが論理段数が多く必要なバン
クビジー情報の論理経路が存在する場合には、主記憶制
御装置そのものの動作周波数を低くせざるを得ないた
め、システム全体としての性能はかえって悪化する可能
性がある。本実施の形態によれば、そのような論理経路
が装置全体の動作周波数を律速する事態から回避可能と
なる。
【0050】さて、図7ではプライオリティキュー31
dから31eに対応するセレクタ33dから33eが存
在していないため、これらのリクエストが本来選択され
るべき場合に対しては、信号線L6には正しいバンク番
号が出力されない。また、前述のように信号線L3aか
らL3dによってセレクタ33aから33cに入力が行
われるバンクビジー情報が不完全な場合にも信号線L6
には正しいバンク番号が出力されない。信号線L6の不
完全なバンク番号を修正するのが第2プライオリティ回
路50の機能である。第2プライオリティ回路50の動
作をまとめた表は図15に示されており、以下、図8、
図15を用いて第2プライオリティ回路50の動作を説
明する。
【0051】図8において、信号線L5aからL5dに
よって、リクエストキュー11aから11dにリクエス
トが存在するか否かの情報が伝達される。リクエストが
存在する場合には値「1」が伝達され、存在しない場合
には値「0」が伝達される。また信号線L3aからL3
dによって、バンク0からバンク3のバンクビジーの完
全な情報が伝達される。バンクビジーでない場合には値
「1」が伝達され、バンクビジーの場合には値「0」が
伝達される。
【0052】これらの信号線は分散プライオリティ回路
54aから54dに入力され、各々、論理積回路67で
論理積がとられ、信号線L15aからL15dに出力さ
れる。信号線L15aからL15dは、各バンクにおい
て、発行可能なリクエストが存在するか否かを示してい
る。信号線L15aからL15dはバンク間の優先度判
定のため、以下のようにして分散プライオリティ回路5
4aから54dに入力される。信号線L15aは分散プ
ライオリティ回路54bに、信号線L15bは分散プラ
イオリティ回路54aに、信号線L15cは分散プライ
オリティ回路54dに、信号線L15dは分散プライオ
リティ回路54cに、それぞれ入力される。また、信号
線L15aと信号線L15bの論理和が論理和回路55
abによってとられ、分散プライオリティ回路54cお
よび分散プライオリティ回路54dに入力される。そし
て、信号線L15cと信号線L15dの論理和が論理和
回路55cdによってとられ、分散プライオリティ回路
54aおよび分散プライオリティ回路54bに入力され
る。
【0053】さて、前記信号線L6の示すバンク番号の
値は、分散プライオリティ回路54aから54dに入力
される。信号線L6の示すバンク番号の値は2進数で表
現されており、2進数の上位の桁のビットが排他的論理
和回路60に入力され、下位の桁のビットが排他的論理
和回路61に入力される。信号線L6の示すバンク番号
が有効でない場合、例えば、セレクタ35が信号線Lb
1からLb3のどの信号も選択しなかった場合でも、信
号線L6の信号を2進数の値として、以下の動作は行わ
れる。
【0054】排他的論理和回路60、61によって、信
号線L6の値は、バンク番号生成回路53aから53d
の値と排他的論理和がとられる。バンク番号生成回路5
3aから53dは、分散プライオリティ回路54aから
54dに対応するバンク番号を2進数で生成し、2進数
の上位の桁のビットが排他的論理和回路60に入力さ
れ、下位の桁のビットが排他的論理和回路61に入力さ
れる。排他的論理和回路60、61の演算の出力は、分
散プライオリティ回路54aから54dの優先度を示
す。演算結果が小さいほど優先度が高いことをあらわ
す。例えば、信号線L6の値が「2」である場合、つま
り、2進数の「10」である場合には、排他的論理和回
路60、61の演算結果は、分散プライオリティ回路5
4aにおいて2進数の「10」となり、分散プライオリ
ティ回路54bにおいて2進数の「11」となり、分散
プライオリティ回路54cにおいて2進数の「00」と
なり、分散プライオリティ回路54dにおいて2進数の
「01」となる。これは、バンク2の優先度が最も高
く、次はバンク3であり、その次はバンク0 、最後がバ
ンク1であることを示している。このように、第2プラ
イオリティ回路50内部における優先度は決定される。
【0055】次に、排他的論理和回路60、61によっ
て示されるバンク間優先度の情報と、信号線L15aか
らL15d、および、信号線L16ab、L16cdに
よって示される各バンクにおける発行可能なリクエスト
の存在情報とを用いて、主記憶アクセスを行うバンクを
決定する手段について、分散プライオリティ回路54a
の場合を例にとって説明する。
【0056】第1に、信号線L6の値が「0」の場合、
つまり、分散プライオリティ回路54aの優先度が最も
高い場合について説明を行う。この場合には、排他的論
理和回路60、61の演算結果は共に値「0」であるか
ら、論理積回路62、63の演算結果も共に値「0」で
あり、論理和回路64の演算結果は値「0」となり、論
理否定回路65の出力は値「1」となる。したがって、
論理積回路66の出力は、バンク0に発行可能なリクエ
ストが存在する場合には値「1」となり、存在しない場
合には値「0」となる。
【0057】第2から第4の場合でも同様であるが、論
理否定回路65の出力が値「1」であることはそのバン
クのリクエストの優先度が最高であることを示してい
る。したがって、論理否定回路65の出力が値「1」で
かつ、自分のバンクに発行可能なリクエストが存在する
場合には、このバンクのリクエストが選択される。
【0058】また、以下で示すように、自分よりも第2
プライオリティ回路50内部における優先度の高いバン
クに発行可能なリクエストが存在する場合には、他の分
散プライオリティ回路54aから54dについては論理
積回路66の出力は必ず値「0」となる。つまり、バン
ク0の優先度が最高で、かつ、バンク0に発行可能なリ
クエストが存在する場合には、信号線L14aからL1
4dのうち、信号線L14aのみが値「1」となり、他
は値「0」となる。信号線L14aからL14dはエン
コーダ56に入力され、信号線L2によってバンク0の
リクエストが主記憶アクセスをするよう、バンク番号情
報の伝達が行われる。
【0059】もし、バンク0に発行可能なリクエストが
存在しない場合には、第2から第4の場合に述べるよう
に、信号線L14bからL14dのうち、他のバンクの
うちただ一つだけが値「1」を取り得る。信号線L14
bからL14dに値「1」を示した信号がある場合に
は、同様に信号線L2によって該当バンクのリクエスト
が主記憶アクセスをするよう、バンク番号情報の伝達が
行われる。信号線L14aからL14dのすべてが値
「0」の場合にはどのバンクも主記憶アクセスを行わな
いよう、信号線L2によって伝達が行われる。
【0060】第2に、信号線L6の値が「1」の場合、
つまり、分散プライオリティ回路54aの優先度が2 番
目に高い場合について説明を行う。この場合には、排他
的論理和回路60の演算結果は値「0」であり、排他的
論理和回路61の演算結果は値「1」となる。よって、
信号線L15bが値「0」の場合には論理否定回路65
の出力は値「1」となり、信号線L15bが値「1」の
場合には論理否定回路65の出力は値「0」となる。こ
れはつまり、分散プライオリティ回路54bに発行可能
なリクエストが存在する場合には、論理否定回路65の
出力は値「0」となり、分散プライオリティ回路54b
に発行可能なリクエストが存在しない場合には、論理否
定回路65の出力は値「1」となることを示す。
【0061】したがって、論理積回路66の出力は、バ
ンク0に発行可能なリクエストが存在し、かつ、バンク
1=分散プライオリティ回路54bに発行可能なリクエ
ストが存在しない場合には値「1」となり、バンク0に
発行可能なリクエストが存在しない場合、または、バン
ク1=分散プライオリティ回路54bに発行可能なリク
エストが存在する場合には値「0」となる。
【0062】容易にわかるように、バンク2およびバン
ク3に発行可能なリクエストが存在するか否か、つま
り、分散プライオリティ回路54c、54dに発行可能
なリクエストが存在するか否かは、以上の条件判定に全
く影響を及ぼさない。このようにして、第2プライオリ
ティ回路50においては、優先度最高のリクエストと優
先度2番目のリクエストの間で優先度判定動作が行われ
る。
【0063】第3に、信号線L6の値が「2」の場合、
つまり、分散プライオリティ回路54aの優先度が3番
目に高い場合について説明を行う。この場合には、排他
的論理和回路60の演算結果は値「1」であり、排他的
論理和回路61の演算結果は値「0」となる。よって、
信号線L16abが値「0」の場合には論理否定回路6
5の出力は値「1」となり、信号線L16abが値
「1」の場合には論理否定回路65の出力は値「0」と
なる。これはつまり、分散プライオリティ回路54c、
または、分散プライオリティ回路54dの少なくとも片
方に発行可能なリクエストが存在する場合には、論理否
定回路65の出力は値「0」となり、分散プライオリテ
ィ回路54c、分散プライオリティ回路54dの双方に
発行可能なリクエストが存在しない場合には、論理否定
回路65の出力は値「1」となることを示す。
【0064】したがって、論理積回路66の出力は、バ
ンク0に発行可能なリクエストが存在し、かつ、バンク
2=分散プライオリティ回路54c、および、バンク3
=分散プライオリティ回路54dの双方に発行可能なリ
クエストが存在しない場合には値「1」となり、バンク
0に発行可能なリクエストが存在しない場合、または、
バンク2、バンク3の少なくとも片方に発行可能なリク
エストが存在する場合には値「0」となる。
【0065】容易にわかるように、バンク1に発行可能
なリクエストが存在するか否か、つまり、分散プライオ
リティ回路54bに発行可能なリクエストが存在するか
否かは、以上の条件判定に全く影響を及ぼさない。この
ようにして、第2プライオリティ回路50においては、
優先度最高のリクエスト、優先度2番目のリクエスト、
および、優先度3番目のリクエストの間で優先度判定動
作が行われる。
【0066】第4に、信号線L6の値が「3」の場合、
つまり、分散プライオリティ回路54aの優先度が最も
低い場合について説明を行う。この場合には、排他的論
理和回路60、61の演算結果は共に値「1」であるか
ら、信号線L16abが値「0」で、かつ、信号線L1
5bが値「0」の場合にのみ論理否定回路65の出力は
値「1」となり、信号線L16abが値「1」、また
は、信号線L15bが値「1」のどちらか片方でも成立
する場合には論理否定回路65の出力は値「0」とな
る。これはつまり、バンク1からバンク3のどれか1つ
にでも発行可能なリクエストが存在する場合には、論理
否定回路65の出力は値「0」となり、バンク1からバ
ンク3の全てにおいて発行可能なリクエストが存在しな
い場合にのみ、論理否定回路65の出力は値「1」とな
ることを示す。
【0067】このようにして、第2プライオリティ回路
50においては、優先度最高のリクエスト、優先度2番
目のリクエスト、優先度3番目、および、優先度最下位
のリクエストの間で優先度判定動作が行われる。
【0068】以上の説明で明らかなように、第2プライ
オリティ回路50は、信号線L6に示されるバンクのリ
クエストが実際に発行可能な場合には、信号線L2に信
号線L6の情報をそのまま出力し、信号線L6に示され
るバンクのリクエストが実際には発行できなかった場合
には、第2プライオリティ回路50内部で生成した優先
度にしたがって発行可能なリクエストを検索し、発行可
能なリクエストが存在する場合には必ず、信号線L2に
発行可能なリクエストのバンク番号を出力する。
【0069】なお、本実施の形態では第2プライオリテ
ィ回路50をバンク数4個として図示しているが、バン
ク数はこれ以上でも実現可能である。本実施の形態を再
帰的に構成することで、バンク数を倍増させることがで
きる。その具体例を図16、図17に示す。図16はバ
ンク数を16とした第2プライオリティ回路を示してい
る。図16においては、バンク0、1、2、15に対応
する分散プライオリティ回路のみ図示してあり、他のバ
ンクについては図示していないが同様の構成を持つ。ま
た、図16中、信号線L6、および、バンク番号生成回
路53aから53pの信号は、分散プライオリティ回路
54aから54p内部の排他的論理和回路に左から順に
2進数の上位の桁の値が入力される。
【0070】図17は図16中の他バンク情報通信回路
57の動作を解説した図であり、図17中、「or」は
信号の論理和演算を行うことを示し、「=」は右辺の演
算結果を左辺の信号として出力することを示す。
【0071】図16に示した第2プライオリティ回路で
は、図8に示したバンク数4の場合と同様、信号線L6
に示されるバンクのリクエストが実際に発行可能な場合
には、信号線L2に信号線L6の情報をそのまま出力
し、信号線L6に示されるバンクのリクエストが実際に
は発行できなかった場合には、第2プライオリティ回路
内部の優先順位に従って発行可能なリクエストを検索
し、代替リクエストを信号線L2に出力する。
【0072】なお、図8の第2プライオリティ回路50
については、信号線L6に示されるバンクのリクエスト
が実際に発行可能な場合には、信号線L2に信号線L6
の情報をそのまま出力し、信号線L6に示されるバンク
のリクエストが実際には発行できなかった場合のみ、代
替リクエストを信号線L2に出力するという機能を有す
る限り、本実施の形態と異なる実現方法であっても構わ
ない。
【0073】次に、プライオリティキュー制御回路36
の機能について図9を用いて説明を行う。第1の実施の
形態において、図3で示したプライオリティキュー制御
回路30では、信号線L7を介して、リクエストキュー
11aから11dから主記憶アクセスリクエストが発行
される際のリクエストに対応するプライオリティキュー
31aから31eの番号が伝達される。ところが本実施
の形態では、信号線L2からはリクエストのバンク番号
の情報のみしか得ることができない。そこで、本実施の
形態ではこの信号線L2の情報から、第1の実施の形態
の信号線L7と同一の情報を信号線L21に生成する。
以下、この動作について説明を行う。
【0074】信号線L2を介して伝達された、主記憶ア
クセスリクエストが発行される際のバンク番号は、比較
器43aから43eによって、信号線Lb1からLb5
と比較される。信号線Lb1からLb5にはプライオリ
ティキュー31aから31eの保持するバンク番号の情
報が伝達されており、もし、信号線L2の示すバンク番
号が信号線Lb1からLb5と同一である場合には、対
応する比較器43aから43eには値「1」が出力さ
れ、バンク番号が同一でない場合には、値「0」が出力
される。なお、プライオリティキュー31aから31e
に有効なバンク番号が保持されていない場合には、対応
する比較器43aから43eには値「0」が出力され
る。また、信号線L2がどのバンクも示していない場
合、つまり、主記憶アクセスリクエストが発行されなか
った場合には、比較器43aから43e全てに値「0」
が出力される。
【0075】比較器43aから43eの出力は、プライ
オリティエンコーダ44に入力される。プライオリティ
エンコーダ44の機能は図2、図7におけるプライオリ
ティエンコーダ34と同一の機能を有し、その動作は図
5において、信号線L7の値を信号線L21に対する結
果として解釈すればよい。以上のようにして、信号線L
2に示されたバンク番号のリクエストが、どのプライオ
リティキュー31aから31eに対応するかが信号線L
21に与えられる。以降の動作は図3と全く同一であ
る。
【0076】これまでの説明で明らかなように、本実施
の形態によれば性能低下を最小限にとどめた上で、第1
の実施の形態よりも論理規模を縮小して最適なバンク間
プライオリティ制御を実現することが可能となる。
【0077】(第3の実施の形態)次に、本発明の主記
憶制御装置の第3の実施の形態について説明を行う。本
第3の実施の形態は第2の実施の形態の変形であり、第
2の実施の形態において、主記憶に対し読み出しを行う
リクエストと書き込みを行うリクエストを時間的に分離
する制御を行う場合にも、最適なバンク間プライオリテ
ィ制御を実現することを目的とする。
【0078】図10は本発明の一実施の形態による主記
憶制御装置を備える情報処理システムの構成の一例を示
すブロック図であり、図11はプライオリティ制御回路
の構成の一例を示すブロック図であり、図12はフェッ
チプライオリティ制御回路の構成の一例を示すブロック
図であり、図13はストアプライオリティキュー制御回
路の構成の一例を示すブロック図である。図10中、図
6と同一の参照番号を持つ構成要素は第2の実施の形態
と同じ機能を持ち、図11中、図7と同一の参照番号を
持つ構成要素は第2の実施の形態と同じ機能を持ち、図
12、図13中、図9と同一の参照番号を持つ構成要素
は第2の実施の形態と同じ機能を持つ。以下では各々、
第2の実施の形態と異なる機能についてのみ説明を行
う。
【0079】図10中、11faから11fdはフェッ
チリクエストキュー、11saから11sdはストアリ
クエストキュー、13f、13s、13fsはセレク
タ、17はプライオリティ制御回路、18はフェッチス
トア切換回路、L1f、L1s、L2f、L2s、L5
faからL5fd、L5saからL5sd、L8、L9
は信号線であり、図11中、70はフェッチプライオリ
ティ制御回路、71はストアプライオリティ制御回路、
72は論理積回路、図12中、73aから73dは論理
積回路である。
【0080】図10では図6において1組であったリク
エストキューが、フェッチリクエストキュー11faか
ら11fdとストアリクエストキュー11saから11
sdに別れている。本実施の形態ではリクエストラッチ
14からリクエストが出力される際、主記憶に対し読み
出しを行うフェッチリクエストは信号線L1fを経由し
てフェッチリクエストキュー11faから11fdに格
納され、主記憶に対し書き込みを行うストアリクエスト
はストアリクエストキュー11saから11sdに格納
される。
【0081】なお、プライオリティ制御回路17にはフ
ェッチリクエストのみの情報が信号線L1fを介して伝
達される。また、フェッチリクエストキュー11faか
ら11fdにリクエストが存在するか存在しないかにつ
いての情報が、信号線L5faからL5fdを介してプ
ライオリティ制御回路17に伝達され、ストアリクエス
トキュー11saから11sdにリクエストが存在する
か存在しないかについての情報が、信号線L5saから
L5sdを介してプライオリティ制御回路17に伝達さ
れる。
【0082】フェッチリクエストキュー11faから1
1fdについてはセレクタ13fによって何れのバンク
のリクエストが主記憶アクセスを行うか選択され、スト
アリクエストキュー11saから11sdについてはセ
レクタ13sによって何れのバンクのリクエストが主記
憶アクセスを行うか選択され、両者についてさらにセレ
クタ13fsが選択を行い最終的に主記憶アクセスを行
うリクエストが決定される。
【0083】セレクタ13fsでの上記選択の制御を行
うのがフェッチストア切換回路18である。フェッチス
トア切換回路18は、主記憶アクセスを行うリクエスト
種を時間的に分離する機能を有する。つまり、ある一定
時間はフェッチリクエストのみ主記憶アクセスを行わ
せ、また引き続くある一定時間はストアリクエストのみ
主記憶アクセスを行わせ、これを繰り返す。フェッチリ
クエストとストアリクエストの選択を切換える制御につ
いては、主記憶3をアクセスする際のバス切換制御が最
適に行われる限り、どのような方式であっても構わない
ので本実施の形態では詳細を示さないが、ここでは仮
に、ストアリクエストキュー11saから11sdに蓄
積されたストアリクエストの個数と、実際に主記憶アク
セスを行ったリクエストの個数の情報とから制御を行う
として、そのための信号線L1s、L8を入力としてい
る。フェッチストア切換回路18のフェッチリクエスト
とストアリクエストの選択についての情報は信号線L9
を介して、プライオリティ制御回路17に伝達される。
信号線L9には、フェッチストア切換回路18がフェッ
チリクエストを選択したときに値「1」が、それ以外の
場合には値「0」が出力される。
【0084】図11で示されるプライオリティ制御回路
17は、第2の実施の形態において図7で示されたプラ
イオリティ制御回路16と次の点で異なる。図7におい
ては、1組であったセレクタ33aから33c、プライ
オリティエンコーダ34、セレクタ35、および、第2
プライオリティ回路50が、フェッチリクエストとスト
アリクエストに対応して2組に別れている。すなわち、
フェッチリクエストに対するフェッチプライオリティ制
御回路70と、ストアリクエストに対するストアプライ
オリティ制御回路71とに別れて設けられている。そし
て、フェッチプライオリティ制御回路70の出力である
信号線L2fがフェッチリクエストの優先度を示し、ス
トアプライオリティ制御回路71の出力である信号線L
2sがストアリクエストの優先度を示している。また、
図7と異なっている点として、プライオリティキュー制
御回路36へ伝達される信号が、フェッチプライオリテ
ィ制御回路70の出力である信号線L2fと、信号線L
9の論理積をとった信号となっている点がある。
【0085】このような構成からわかるように、プライ
オリティ制御回路17への入力は信号線L1fによっ
て、フェッチリクエストのみが伝達され、主記憶アクセ
スが行われたリクエストについては、信号線L2fと、
信号線L9の論理積であるから、やはりフェッチリクエ
ストの情報のみが伝達される。この結果、プライオリテ
ィ制御回路17中のプライオリティキュー31aから3
1eは、フェッチリクエストのみについて情報を保持
し、ストアリクエストの影響を全く受けない。
【0086】図12で示されるフェッチプライオリティ
制御回路70は、第2の実施の形態において図7で示さ
れたプライオリティ制御回路16の一部分と全く同一で
ある。すなわち、図7における、セレクタ33aから3
3c、プライオリティエンコーダ34、セレクタ35、
および、第2プライオリティ回路50からなる部分を抜
き出したのが図12である。よって、フェッチリクエス
トについては本実施の形態は第2の実施の形態と同一の
動作を行う。
【0087】他方、図13で示されるストアプライオリ
ティ制御回路71は、図12で示されるフェッチプライ
オリティ制御回路70と以下の部分のみが異なる。すな
わち、フェッチプライオリティ制御回路70ではセレク
タ33aから33cに信号線L3aからL3dが入力さ
れていたが、ストアプライオリティ制御回路71では、
論理積回路73aから73dによる、信号線L3aから
L3dと信号線L5saからL5sdとの論理積演算の
結果が入力されている。
【0088】以上のような構成を持つ本実施の形態の動
作について説明を行う。上記に示したように、フェッチ
リクエストについては本実施の形態は第2の実施の形態
と同一の動作を行うので、ストアリクエストに関係した
動作について説明を行う。
【0089】最初に、フェッチストア切換回路18はフ
ェッチリクエストの出力を選択しているとする。この場
合、フェッチリクエストキュー11faから11fdの
リクエストがセレクタ13f、13fsを経由して主記
憶アクセスを行う。この最中にリクエストラッチ14か
ら出力されたリクエストは、それがフェッチであればフ
ェッチリクエストキュー11faから11fdに、スト
アであればストアリクエストキュー11saから11s
dに格納される。
【0090】次に、フェッチストア切換回路18はスト
アリクエストの出力を選択したとする。この場合、プラ
イオリティ制御回路17が信号線L2sによって伝達し
たバンクのリクエストがストアリクエストキュー11s
aから11sdのリクエストがセレクタ13s、13f
sを経由して主記憶アクセスを行う。信号線L2sは次
のような制御でストアリクエストを発行するバンクを選
択する。
【0091】先に説明したように、図13においてはセ
レクタ33aから33cには信号線L10aからL10
dが入力されている。すなわち、セレクタ33aから3
3cには信号線L3aからL3dと信号線L5saから
L5sdとの各々の論理積演算の結果が入力されてい
る。このため、図13中の信号線L6は次のようなバン
クを選択する。
【0092】もし、信号線Lb1の示すバンク番号、す
なわち、プライオリティキュー31aに格納されたバン
ク番号、言い換えれば、最も過去に到着したフェッチリ
クエストのバンク番号のバンクが、バンクビジーでな
く、かつ、そのバンク番号のストアリクエストが存在す
る場合には、信号線L6は信号線Lb1の示すバンク番
号を示す。
【0093】上記の条件が一つでも成立しない場合、つ
まり、信号線Lb1の示すバンクがバンクビジーである
か、または、そのバンクにストアリクエストが存在しな
かった場合に、信号線Lb2の示すバンク番号について
バンクビジーでなく、かつ、そのバンク番号のストアリ
クエストが存在すれば、信号線L6は信号線Lb2の示
すバンク番号を示す。
【0094】信号線L6は第2プライオリティ回路50
に入力され、最終的なストアプライオリティが信号線L
2sに出力される。以上のように、ストアプライオリテ
ィ制御回路71はフェッチリクエストの優先順位をスト
アリクエストにも適用してその結果を信号線L2sに出
力する。
【0095】このような制御の結果、最も過去に到着し
たフェッチリクエストほど、ストアリクエストも優先順
位が高くなる。そのため、フェッチストア切換回路18
がストアリクエストの出力を選択した際には、そのよう
なバンクのリクエストほど早く発行されることになる。
したがって、フェッチストア切換回路18が再びフェッ
チリクエストの出力を選択した際に、最も過去に到着し
たフェッチリクエストのバンクはバンクビジー状態でな
くなっている可能性が高くなる。よって、フェッチスト
ア切換回路18によってリクエストの切換えを行って
も、最も過去に到着したフェッチリクエストの発行を整
然と行うことが可能となる。
【0096】なお、本実施の形態では、ストアリクエス
ト、および、フェッチリクエスト間の順序保証制御につ
いては省略したが、順序保証制御を行う場合でも本発明
の適用は可能である。順序保証制御を行う場合には、リ
クエストの到着時間順に関わらずリクエストを主記憶に
発行する必要が発生するが、そのようにして発行したリ
クエストの情報をプライオリティキュー制御回路36へ
伝達し、プライオリティキュー31aからプライオリテ
ィキュー31eの内容を更新すればよい。
【0097】これまでの説明で明らかなように、本実施
の形態によれば主記憶に対し読み出しを行うリクエスト
と書き込みを行うリクエストを時間的に分離する制御を
行う場合にも、フェッチリクエスト、および、ストアリ
クエストの双方について最適なバンク間プライオリティ
制御を提供することが可能となる。
【0098】以上説明したように、本発明の第1〜第3
の実施の形態の主記憶制御装置によれば、主記憶アクセ
スリクエストのバンク番号を格納するプライオリティキ
ューを用いることによって、エントリー数に比例して増
加する程度の信号配線量等のより少ない論理物量にて、
主記憶アクセスリクエストのバンク間プライオリティ
を、主記憶アクセスリクエストの到着順の優先度で制御
することができる。これによって各々の主記憶アクセス
リクエストの主記憶アクセスレイテンシを最小にするこ
とが可能となるため、情報処理システム全体としての主
記憶アクセスを効率的に行うことができ、システムの性
能向上に寄与する。
【0099】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
【0100】
【発明の効果】本発明の主記憶制御装置によれば、より
少ない論理回路、より少ない論理間配線、および、より
少ない論理段数等の論理物量で、バンク間のアクセス優
先度をリクエストの到着順に管理することができる、と
いう効果が得られる。
【0101】本発明の主記憶制御装置によれば、より少
ない論理回路、より少ない論理間配線、および、より少
ない論理段数等の論理物量で、主記憶アクセスのレイテ
ンシを最小にすることができる、という効果が得られ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態による主記憶制御装
置を備える情報処理システムの構成の一例を示すブロッ
ク図である。
【図2】プライオリティ制御回路の構成の一例を示すブ
ロック図である。
【図3】プライオリティキュー制御回路の構成の一例を
示すブロック図である。
【図4】プライオリティキュー入力選択回路の動作の一
例を表形式で説明した説明図である。
【図5】プライオリティエンコーダの動作の一例を表形
式で説明した説明図である。
【図6】本発明の第2の実施の形態による主記憶制御装
置を備える情報処理システムの構成の一例を示すブロッ
ク図である。
【図7】プライオリティ制御回路の構成の一例を示すブ
ロック図である。
【図8】第2プライオリティ回路の構成の一例を示すブ
ロック図である。
【図9】プライオリティキュー制御回路の構成の一例を
示すブロック図である。
【図10】本発明の第3の実施の形態による主記憶制御
装置を備える情報処理システムの構成の一例を示すブロ
ック図である。
【図11】プライオリティ制御回路の構成の一例を示す
ブロック図である。
【図12】フェッチプライオリティ制御回路の構成の一
例を示すブロック図である。
【図13】ストアプライオリティキュー制御回路の構成
の一例を示すブロック図である。
【図14】プライオリティキユーの状態の推移例を示す
説明図である。
【図15】第2プライオリティ回路の動作の一例を表形
式で解説した説明図である。
【図16】バンク数を16とした第2プライオリティ回
路の一例を示すブロック図である。
【図17】図16の他バンク情報通信回路の動作の一例
を解説した説明図である。
【符号の説明】
1…プロセッサ、2…主記憶制御装置、3…主記憶、1
0…プライオリティ制御回路、11aから11d…リク
エストキュー、12aから12d…バンクビジー制御回
路、30…プライオリティキュー制御回路、31aから
31e…プライオリティキュー、34…プライオリティ
エンコーダ、40aから40e…プライオリティキュー
入力選択回路、16…プライオリティ制御回路、36…
プライオリティキュー制御回路、50…第2プライオリ
ティ回路、53aから53d…バンク番号生成回路、5
4aから54d…分散プライオリティ回路、56…エン
コーダ、43aから43e…比較器、11faから11
fd…フェッチリクエストキュー、11saから11s
d…ストアリクエストキュー、17…プライオリティ制
御回路、18…フェッチストア切換回路、70…フェッ
チプライオリティ制御回路、71…ストアプライオリテ
ィ制御回路。
フロントページの続き (72)発明者 中村 哲人 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 吉田 秀俊 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 Fターム(参考) 5B060 CD04 CD12 CD16 KA02 KA05

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 互いに独立にアクセス可能な複数のバン
    クによって構成される主記憶と、前記主記憶にアクセス
    する上位装置との間に介在する主記憶制御装置であっ
    て、 前記主記憶制御装置は、 各々の前記バンクに対応して主記憶アクセスリクエスト
    を到着順に保持する複数のリクエストキューと、 個々の前記主記憶アクセスリクエストのアクセス対象の
    前記バンクを示すバンク番号を、対応する前記主記憶ア
    クセスリクエストの到着順に保持するプライオリティキ
    ューと、 個々の前記バンクのビジー状態を検出するバンクビジー
    検出手段と、 前記プライオリティキュー内の前記バンク番号から、当
    該バンク番号にて特定される前記バンクがバンクビジー
    状態でなく、かつ時間的に最も過去に前記プライオリテ
    ィキューに入力された前記バンク番号を選択し、当該バ
    ンク番号に対応する前記リクエストキュー内の前記主記
    憶アクセスリクエストを選択して主記憶アクセスを行わ
    せるとともに、前記リクエストキューおよび前記プライ
    オリティキューから、実行済の前記主記憶アクセスリク
    エストおよび前記バンク番号を抹消することにより、複
    数の前記バンク間の前記主記憶アクセスリクエストのプ
    ライオリティ制御を行うプライオリティ制御回路と、 を含むことを特徴とする主記憶制御装置。
  2. 【請求項2】 請求項1記載の主記憶制御装置におい
    て、 前記プライオリティ制御回路は、前記プライオリティキ
    ュー内の一部の前記バンク番号から、当該バンク番号に
    て特定される前記バンクがバンクビジー状態でなく、か
    つ時間的に最も過去に前記プライオリティキューに入力
    された前記バンク番号を選択して第2のプライオリティ
    制御回路に伝達し、 前記第2のプライオリティ制御回路は、前記プライオリ
    ティ制御回路が選択した前記バンク番号の前記リクエス
    トキューに前記主記憶アクセスリクエストが実際に存在
    し、かつ、当該主記憶アクセスリクエストのアクセス対
    象の前記バンクがバンクビジーでない場合には、当該主
    記憶アクセスリクエストによる主記憶アクセスを行わせ
    るとともに、前記プライオリティ制御回路に対して前記
    リクエストキューおよび前記プライオリティキューから
    発行済みの前記主記憶アクセスリクエストおよび前記バ
    ンク番号を抹消する指示を伝達し、前記プライオリティ
    制御回路が選択した前記バンク番号の前記リクエストキ
    ューに前記主記憶アクセスリクエストが存在しないか、
    またはバンクビジー状態である場合には、他の前記リク
    エストキューに発行可能な主記憶アクセスリクエストが
    存在するか否かを判定し、存在する場合には、他の前記
    リクエストキューの前記主記憶アクセスリクエストを選
    択して主記憶アクセスを行わせるとともに、前記プライ
    オリティ制御回路に対して前記リクエストキューおよび
    前記プライオリティキューから、発行済みの前記主記憶
    アクセスリクエストおよび前記バンク番号を抹消する指
    示を伝達する第2のプライオリティ制御を実行する、こ
    とを特徴とする主記憶制御装置。
  3. 【請求項3】 請求項2記載の主記憶制御装置におい
    て、 前記リクエストキューは、前記主記憶からデータの読み
    出しをおこなうフェッチリクエストを保持するフェッチ
    用キューと、前記主記憶へデータの書き込みをおこなう
    ストアリクエストを保持するストア用キューとに分離さ
    れ、前記フェッチ用キュー内の前記フェッチリクエスト
    と前記ストア用キュー内の前記ストアリクエストの何れ
    を前記主記憶に対して発行するか決定する選択手段を備
    え、 前記プライオリティ制御回路は、前記プライオリティキ
    ューへは前記フェッチリクエストのみ登録を行うととも
    に前記プライオリティキューからのリクエストの抹消
    は、前記選択手段において前記フェッチリクエストが選
    択された場合にのみ行い、 前記フェッチリクエストに関しては、前記プライオリテ
    ィキュー内の一部の前記バンク番号から、当該バンク番
    号にて特定される前記バンクがバンクビジー状態でな
    く、かつ時間的に最も過去に前記プライオリティキュー
    に入力された前記バンク番号を選択して前記第2のプラ
    イオリティ制御回路に伝達し、前記フェッチ用キューに
    対して、当該第2のプライオリティ制御回路による前記
    第2のプライオリティ制御を行い、 前記ストアリクエストについては、前記プライオリティ
    キュー内の前記バンク番号から、当該バンク番号にて特
    定される前記バンクがバンクビジー状態でなく、かつ時
    間的に最も過去に前記プライオリティキューに入力され
    た前記バンク番号を選択して前記ストアリクエスト用に
    設けた前記第2のプライオリティ制御回路に伝達し、前
    記ストア用キューに対して、当該第2のプライオリティ
    制御回路による前記第2のプライオリティ制御を行う、
    ことを特徴とする主記憶制御装置。
JP33946299A 1999-11-30 1999-11-30 主記憶制御装置 Pending JP2001154913A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33946299A JP2001154913A (ja) 1999-11-30 1999-11-30 主記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33946299A JP2001154913A (ja) 1999-11-30 1999-11-30 主記憶制御装置

Publications (1)

Publication Number Publication Date
JP2001154913A true JP2001154913A (ja) 2001-06-08

Family

ID=18327706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33946299A Pending JP2001154913A (ja) 1999-11-30 1999-11-30 主記憶制御装置

Country Status (1)

Country Link
JP (1) JP2001154913A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204487A (ja) * 2002-05-14 2008-09-04 Micron Technology Inc アウトオブオーダdramシーケンサ
US8977833B2 (en) 2011-04-28 2015-03-10 Kabushiki Kaisha Toshiba Memory system
WO2017073127A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
JP6237945B1 (ja) * 2017-02-20 2017-11-29 日本電気株式会社 メモリ制御装置
US11762561B2 (en) 2021-04-27 2023-09-19 Fujitsu Limited Information processing device and control method issuing commands based on latency information

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204487A (ja) * 2002-05-14 2008-09-04 Micron Technology Inc アウトオブオーダdramシーケンサ
US8977833B2 (en) 2011-04-28 2015-03-10 Kabushiki Kaisha Toshiba Memory system
WO2017073127A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
US11262936B2 (en) 2015-10-30 2022-03-01 Sony Corporation Memory controller, storage device, information processing system, and memory control method
JP6237945B1 (ja) * 2017-02-20 2017-11-29 日本電気株式会社 メモリ制御装置
US11169937B2 (en) 2017-02-20 2021-11-09 Nec Corportation Memory control device
US11762561B2 (en) 2021-04-27 2023-09-19 Fujitsu Limited Information processing device and control method issuing commands based on latency information

Similar Documents

Publication Publication Date Title
EP1345125B1 (en) Dynamic random access memory system with bank conflict avoidance feature
JP3937365B2 (ja) データ処理システムにおけるメモリリクエスト再順序付け法
US6895482B1 (en) Reordering and flushing commands in a computer memory subsystem
US6853382B1 (en) Controller for a memory system having multiple partitions
US6317427B1 (en) Method and apparatus for adaptive port buffering
US5740402A (en) Conflict resolution in interleaved memory systems with multiple parallel accesses
JPS63103343A (ja) ムーブアウト待ち行列バッファ
JP4566738B2 (ja) コンピュータメモリ装置
JP2000242545A (ja) データ処理システムにおいてメモリ・アクセス要求を処理するための装置および方法
JPH01298459A (ja) 共用メモリ・マルチプロセツサ・システム
CN115361336A (zh) 具有缓存的路由器、路由交换网络系统、芯片及路由方法
JP4642531B2 (ja) データ要求のアービトレーション
JP2001154913A (ja) 主記憶制御装置
JP4166615B2 (ja) データ処理装置におけるマルチアクセス命令を処理するデータ処理装置及び方法並びにその方法によるコンピュータ・プログラム製品
EP2280349B1 (en) Processor and data transfer method
EP1512079B1 (en) Pseudo multiport data memory has stall facility
JPH10260895A (ja) 半導体記憶装置およびそれを用いた計算機システム
EP0437712A2 (en) Tandem cache memory
JP2853652B2 (ja) プロセッサ間通信におけるパケット送信方法およびその装置
JP2972711B2 (ja) オーダリング制御方法及びノード
JP2826466B2 (ja) 並列コンピュータシステムの性能測定方式
JP2742245B2 (ja) 並列計算機
JP2731743B2 (ja) 通信レジスタ付並列計算機
JPH1185605A (ja) 記憶制御装置
JPS63120347A (ja) 記憶制御方式