JPH1173366A - ユニファイドメモリアーキテクチャにおけるメモリ制御方法およびメモリ制御装置 - Google Patents
ユニファイドメモリアーキテクチャにおけるメモリ制御方法およびメモリ制御装置Info
- Publication number
- JPH1173366A JPH1173366A JP23214197A JP23214197A JPH1173366A JP H1173366 A JPH1173366 A JP H1173366A JP 23214197 A JP23214197 A JP 23214197A JP 23214197 A JP23214197 A JP 23214197A JP H1173366 A JPH1173366 A JP H1173366A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cycle
- signal
- cpu
- pci
- 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
Links
Abstract
(57)【要約】
【課題】 ユニファイドメモリアーキテクチャに関する
メモリアクセス効率を改善する。 【解決手段】 2つのメモリアクセスソースからのサイ
クルを各アクセスソース毎に設けられたコマンドFIF
Oに蓄積させ、ROWアドレス成分を常時監視すること
によって、サイクル境界におけるページヒットの機会
を、より多く創出することを目的としたサイクルスケジ
ューリングを行う。
メモリアクセス効率を改善する。 【解決手段】 2つのメモリアクセスソースからのサイ
クルを各アクセスソース毎に設けられたコマンドFIF
Oに蓄積させ、ROWアドレス成分を常時監視すること
によって、サイクル境界におけるページヒットの機会
を、より多く創出することを目的としたサイクルスケジ
ューリングを行う。
Description
【0001】
【発明の属する技術分野】この発明は、主記憶メモリと
主記憶メモリ以外のメモリを一体化し、総メモリ使用量
の削減を図るユニファイドメモリアーキテクチャにおけ
るメモリ制御方式およびメモリ制御装置に関する。
主記憶メモリ以外のメモリを一体化し、総メモリ使用量
の削減を図るユニファイドメモリアーキテクチャにおけ
るメモリ制御方式およびメモリ制御装置に関する。
【0002】
【従来の技術】ユニファイドメモリアーキテクチャと
は、主記憶メモリと主記憶以外のメモリ(ここでは特に
“画像メモリ”)を統合し、システムにおける総メモリ
使用量の削減を図ることを目的とする。
は、主記憶メモリと主記憶以外のメモリ(ここでは特に
“画像メモリ”)を統合し、システムにおける総メモリ
使用量の削減を図ることを目的とする。
【0003】一般的に、CPU等が主体にアクセスを行
う主記憶メモリとグラフィックスコントローラがアクセ
スを行う画像メモリとを統合し、ユニファイドメモリア
ーキテクチャを履行する場合が多く、この一般的な形態
に関しては後述する。
う主記憶メモリとグラフィックスコントローラがアクセ
スを行う画像メモリとを統合し、ユニファイドメモリア
ーキテクチャを履行する場合が多く、この一般的な形態
に関しては後述する。
【0004】ここで、従来のユニファイドメモリアーキ
テクチャにおいては、グラフィックスコントローラから
のアクセスとCPUからのアクセスは、一旦メモリコン
トローラ内部で調停を受けた結果として、実際のメモリ
に対するアクセスを排他的に許可される方式を採る。
テクチャにおいては、グラフィックスコントローラから
のアクセスとCPUからのアクセスは、一旦メモリコン
トローラ内部で調停を受けた結果として、実際のメモリ
に対するアクセスを排他的に許可される方式を採る。
【0005】
【発明が解決しようとする課題】従来のユニファイドメ
モリアーキテクチャの採用されたシステムにおいては、
総メモリ使用量の削減というメリットがある反面、CP
Uと、グラフィックスコントローラを含めたPCIバス
上のデバイスからのメモリに対するアクセスを排他的に
しか実行することができないため、双方の性能(CPU
によるメモリアクセス性能とグラフィックスコントロー
ラによるメモリアクセス性能)が相対的に低下するとい
うデメリットが露呈する。また調停に伴う無用なオーバ
ーヘッドもメモリアクセス性能を低下させる一要因とな
っている。
モリアーキテクチャの採用されたシステムにおいては、
総メモリ使用量の削減というメリットがある反面、CP
Uと、グラフィックスコントローラを含めたPCIバス
上のデバイスからのメモリに対するアクセスを排他的に
しか実行することができないため、双方の性能(CPU
によるメモリアクセス性能とグラフィックスコントロー
ラによるメモリアクセス性能)が相対的に低下するとい
うデメリットが露呈する。また調停に伴う無用なオーバ
ーヘッドもメモリアクセス性能を低下させる一要因とな
っている。
【0006】この発明の目的は、ユニファイドメモリア
ーキテクチャに関するメモリアクセス効率を改善するメ
モリ制御方法およびメモリ制御装置を提供することにあ
る。
ーキテクチャに関するメモリアクセス効率を改善するメ
モリ制御方法およびメモリ制御装置を提供することにあ
る。
【0007】
【課題を解決するための手段】この発明では、CPUか
らのメモリアクセスサイクルとグラフィックスコントロ
ーラからのメモリアクセスサイクルとをメモリコントロ
ーラ内部で融合させ、第一に“調停に伴うオーバーヘッ
ドの除去”を行う。また、前述の各メモリアクセスサイ
クルの融合を実現する手段として、各メモリアクセスサ
イクルをメモリコントローラ内部で一旦蓄積させるため
のFIFOバッファ(通俗的に“コマンドFIFO”と
呼ばれる)を装備する。
らのメモリアクセスサイクルとグラフィックスコントロ
ーラからのメモリアクセスサイクルとをメモリコントロ
ーラ内部で融合させ、第一に“調停に伴うオーバーヘッ
ドの除去”を行う。また、前述の各メモリアクセスサイ
クルの融合を実現する手段として、各メモリアクセスサ
イクルをメモリコントローラ内部で一旦蓄積させるため
のFIFOバッファ(通俗的に“コマンドFIFO”と
呼ばれる)を装備する。
【0008】通常、メモリデバイスに対するメモリアド
レスは、ROW(ロウ)アドレスとCOLUMN(カラ
ム)アドレスに時分割して供給される。ROWアドレス
はROWアドレスストローブ信号の立ち下がりで、CO
LUMN(カラム)アドレスはCOLUMNアドレスス
トローブ信号の立ち下がりで、各々メモリデバイスに認
織され、メモリデバイス内部のアクセス対象となるセル
指定が行われる。ここでROWアドレスが等しい2つの
サイクルが連続することを“ページヒット”と呼び、逆
にROWアドレスが異なる場合を“ページミス”と呼
ぶ。ページミスの場合には各サイクルの境界でメモリデ
バイスに対するROWアドレスを更新する必要があるた
め、ページヒットの場合に比較してタイムロスが発生す
る。
レスは、ROW(ロウ)アドレスとCOLUMN(カラ
ム)アドレスに時分割して供給される。ROWアドレス
はROWアドレスストローブ信号の立ち下がりで、CO
LUMN(カラム)アドレスはCOLUMNアドレスス
トローブ信号の立ち下がりで、各々メモリデバイスに認
織され、メモリデバイス内部のアクセス対象となるセル
指定が行われる。ここでROWアドレスが等しい2つの
サイクルが連続することを“ページヒット”と呼び、逆
にROWアドレスが異なる場合を“ページミス”と呼
ぶ。ページミスの場合には各サイクルの境界でメモリデ
バイスに対するROWアドレスを更新する必要があるた
め、ページヒットの場合に比較してタイムロスが発生す
る。
【0009】この発明では、この点に着目し、CPUか
らのメモリアクセスサイクルと、グラフィックスコント
ローラからのメモリアクセスサイクルを融合する際の
“ページミス”発生頻度を最小限に抑えることを目的と
して、各メモリアクセスサイクルのスケジューリングを
メモリコントローラ内部で実行する仕組みを装備する。
らのメモリアクセスサイクルと、グラフィックスコント
ローラからのメモリアクセスサイクルを融合する際の
“ページミス”発生頻度を最小限に抑えることを目的と
して、各メモリアクセスサイクルのスケジューリングを
メモリコントローラ内部で実行する仕組みを装備する。
【0010】この発明は、非ユニファイドメモリアーキ
テクチャシステムと比較したユニファイドメモリ採用シ
ステムの欠点を改善し、相対的なメモリアクセス性能の
低下を最小限に抑えることができる。
テクチャシステムと比較したユニファイドメモリ採用シ
ステムの欠点を改善し、相対的なメモリアクセス性能の
低下を最小限に抑えることができる。
【0011】
【発明の実施の形態】次に、この発明の実施の形態につ
いて図面を参照して説明する。
いて図面を参照して説明する。
【0012】図1における破線で囲った部分は、この発
明の基礎環境となる一般的なユニファイドメモリアーキ
テクチャの内部システム構成を示すブロック図である。
ここでは広義の意味でこれらをメモリコントローラと呼
ぶこととする。
明の基礎環境となる一般的なユニファイドメモリアーキ
テクチャの内部システム構成を示すブロック図である。
ここでは広義の意味でこれらをメモリコントローラと呼
ぶこととする。
【0013】まず、CPU1によって起動されたメモリ
アクセスサイクルがCPUコマンドFIFO21に蓄積
されるまでの流れを順を追って説明する。
アクセスサイクルがCPUコマンドFIFO21に蓄積
されるまでの流れを順を追って説明する。
【0014】CPU1は、メモリアクセスサイクルの起
動に際し、CPUサイクルスタート信号3と共にアドレ
ス(アドレス信号は図中には特に記載されていない)を
同時に出力する。CPUサイクルスタート信号3は、C
PUインターフェース7に接続され、この信号によりC
PUインターフェース7は、CPU1によるメモリアク
セスサイクルが起動されたことを認識する(実際のCP
Uバスプロトコルに即した説明となっていないが、ここ
では解釈を助長するため、あえて表現を簡素化する)。
動に際し、CPUサイクルスタート信号3と共にアドレ
ス(アドレス信号は図中には特に記載されていない)を
同時に出力する。CPUサイクルスタート信号3は、C
PUインターフェース7に接続され、この信号によりC
PUインターフェース7は、CPU1によるメモリアク
セスサイクルが起動されたことを認識する(実際のCP
Uバスプロトコルに即した説明となっていないが、ここ
では解釈を助長するため、あえて表現を簡素化する)。
【0015】CPUインターフェース7は、起動された
メモリアクセスサイクルを終結させるためにCPUサイ
クルレディ信号4をCPU1に対して返す。CPU1の
メモリアクセスサイクルがメモリからの読み出しサイク
ルである場合、メモリデバイス53から読み出されたデ
ータがCPUサイクルレディ信号4と共にCPU1に引
き渡される。
メモリアクセスサイクルを終結させるためにCPUサイ
クルレディ信号4をCPU1に対して返す。CPU1の
メモリアクセスサイクルがメモリからの読み出しサイク
ルである場合、メモリデバイス53から読み出されたデ
ータがCPUサイクルレディ信号4と共にCPU1に引
き渡される。
【0016】また、メモリリードサイクル/メモリライ
トサイクルの両ケースにおいてCPUサイクルレディ信
号4が渡されるまでCPU1は、次のメモリアクセスサ
イクルを起動しない。つまりCPU1とCPUインター
フェース7は、CPUサイクルスタート信号3とCPU
サイクルレディ信号4との相互応答によりメモリサイク
ルを次々に展開する。
トサイクルの両ケースにおいてCPUサイクルレディ信
号4が渡されるまでCPU1は、次のメモリアクセスサ
イクルを起動しない。つまりCPU1とCPUインター
フェース7は、CPUサイクルスタート信号3とCPU
サイクルレディ信号4との相互応答によりメモリサイク
ルを次々に展開する。
【0017】CPUインターフェース7では、各メモリ
アクセスサイクルにおけるアドレスをROWアドレスと
COLUMNアドレスに分解し、それぞれCPUコマン
ドFIFO用ROWアドレス信号10およびCPUコマ
ンドFIFO用COLUMNアドレス信号11を介して
CPUコマンドFIFO21に蓄積させる。また、各メ
モリアクセスサイクルの読み出し/書き込みを判断し、
読み出しサイクルの場合は“0”値、書き込みサイクル
の場合は“1”値が、CPUコマンドFIFO用アトリ
ビュート信号12を介してCPUコマンドFIFO21
に蓄積される。メモリアクセスサイクルが書き込みサイ
クルの場合には、ライトデータもCPUコマンドFIF
O用ライトデータ信号13を介してCPUコマンドFI
FO21に蓄積される。
アクセスサイクルにおけるアドレスをROWアドレスと
COLUMNアドレスに分解し、それぞれCPUコマン
ドFIFO用ROWアドレス信号10およびCPUコマ
ンドFIFO用COLUMNアドレス信号11を介して
CPUコマンドFIFO21に蓄積させる。また、各メ
モリアクセスサイクルの読み出し/書き込みを判断し、
読み出しサイクルの場合は“0”値、書き込みサイクル
の場合は“1”値が、CPUコマンドFIFO用アトリ
ビュート信号12を介してCPUコマンドFIFO21
に蓄積される。メモリアクセスサイクルが書き込みサイ
クルの場合には、ライトデータもCPUコマンドFIF
O用ライトデータ信号13を介してCPUコマンドFI
FO21に蓄積される。
【0018】CPUコマンドFIFO21に対する上記
蓄積制御は、CPUインターフェース7が出力するCP
UコマンドFIFO制御信号9にて行われる。CPUコ
マンドFIFO制御信号9は、CPUサイクルスタート
信号3およびCPUサイクルレディ信号4と連動し、C
PUコマンドFIFO21があふれないような論理設計
となっている。
蓄積制御は、CPUインターフェース7が出力するCP
UコマンドFIFO制御信号9にて行われる。CPUコ
マンドFIFO制御信号9は、CPUサイクルスタート
信号3およびCPUサイクルレディ信号4と連動し、C
PUコマンドFIFO21があふれないような論理設計
となっている。
【0019】CPUコマンドFIFO21の内部は、蓄
積項目別にROWアドレス格納部22と、COLUMN
アドレス格納部23と、アトリビュート格納部24と、
ライトデータ格納部25とに区分けされている。
積項目別にROWアドレス格納部22と、COLUMN
アドレス格納部23と、アトリビュート格納部24と、
ライトデータ格納部25とに区分けされている。
【0020】次に、グラフィックスコントローラ2によ
って起動されたメモリアクセスサイクルが、PCIコマ
ンドFIFO31に蓄積されるまでの流れを順を追って
説明する。
って起動されたメモリアクセスサイクルが、PCIコマ
ンドFIFO31に蓄積されるまでの流れを順を追って
説明する。
【0021】グラフィックスコントローラ2は、メモリ
アクセスサイクルの起動に際し、PCIサイクルスター
ト信号5と共にアドレス(アドレス信号は図中には特に
記載されていない)を同時に出力する。PCIサイクル
スタート信号5は、PCIインターフェース8に接続
し、この信号によりPClインターフェース8は、グラ
フィックスコントローラ2によるメモリアクセスサイク
ルが起動されたことを認識する(実際のPCIバスプロ
トコルに即した説明となっていないが、ここでは解釈を
助長するため、あえて表現を簡素化する)。
アクセスサイクルの起動に際し、PCIサイクルスター
ト信号5と共にアドレス(アドレス信号は図中には特に
記載されていない)を同時に出力する。PCIサイクル
スタート信号5は、PCIインターフェース8に接続
し、この信号によりPClインターフェース8は、グラ
フィックスコントローラ2によるメモリアクセスサイク
ルが起動されたことを認識する(実際のPCIバスプロ
トコルに即した説明となっていないが、ここでは解釈を
助長するため、あえて表現を簡素化する)。
【0022】PClインターフェース8は、起動された
メモリアクセスサイクルを終結させるために、PCIサ
イクルレディ信号6をグラフィックスコントローラ2に
対して返す。グラフィックスコントローラ2のメモリア
クセスサイクルがメモリからの読み出しサイクルである
場合、メモリデバイス53から読み出されたデータがP
CIサイクルレディ信号6と共にグラフィックスコント
ローラ2に引き渡される。
メモリアクセスサイクルを終結させるために、PCIサ
イクルレディ信号6をグラフィックスコントローラ2に
対して返す。グラフィックスコントローラ2のメモリア
クセスサイクルがメモリからの読み出しサイクルである
場合、メモリデバイス53から読み出されたデータがP
CIサイクルレディ信号6と共にグラフィックスコント
ローラ2に引き渡される。
【0023】また、メモリリードサイクル/メモリライ
トサイクルの両ケースにおいて、PCIサイクルレディ
信号6が返されるまで、グラフィックスコントローラ2
は、次のメモリアクセスサイクルを起動しない。つま
り、グラフィックスコントローラ2とPCIインターフ
ェース8は、PClサイクルスタート信号5とPCIサ
イクルレディ信号6との相互応答によりメモリサイクル
を次々に展開する。
トサイクルの両ケースにおいて、PCIサイクルレディ
信号6が返されるまで、グラフィックスコントローラ2
は、次のメモリアクセスサイクルを起動しない。つま
り、グラフィックスコントローラ2とPCIインターフ
ェース8は、PClサイクルスタート信号5とPCIサ
イクルレディ信号6との相互応答によりメモリサイクル
を次々に展開する。
【0024】PClインターフェース8では、各メモリ
アクセスサイクルにおけるアドレスをROWアドレスと
COLUMNアドレスに分解し、それぞれPCIコマン
ドFIFO用ROWアドレス信号15およびPClコマ
ンドFIFO用COLUMNアドレス信号16を介して
PCIコマンドFIFO31に蓄積させる。
アクセスサイクルにおけるアドレスをROWアドレスと
COLUMNアドレスに分解し、それぞれPCIコマン
ドFIFO用ROWアドレス信号15およびPClコマ
ンドFIFO用COLUMNアドレス信号16を介して
PCIコマンドFIFO31に蓄積させる。
【0025】また、各メモリアクセスサイクルの読み出
し/書き込みを判断し、読み出しサイクルの場合は
“0”値、書き込みサイクルの場合は“1”値が、PC
IコマンドFIFO用アトリビュート信号17を介して
PCIコマンドFIFO31に蓄積される。メモリアク
セスサイクルが書き込みサイクルの場合には、ライトデ
ータもPCIコマンドFIFO用ライトデータ信号18
を介してPCIコマンドFIFO31に蓄積される。
し/書き込みを判断し、読み出しサイクルの場合は
“0”値、書き込みサイクルの場合は“1”値が、PC
IコマンドFIFO用アトリビュート信号17を介して
PCIコマンドFIFO31に蓄積される。メモリアク
セスサイクルが書き込みサイクルの場合には、ライトデ
ータもPCIコマンドFIFO用ライトデータ信号18
を介してPCIコマンドFIFO31に蓄積される。
【0026】PCIコマンドFIFO31に対する上記
蓄積制御は、PCIインターフェース8が出力するPC
IコマンドFIFO制御信号19にて行われる。PCI
コマンドFIFO制御信号19は、PCIサイクルスタ
ート信号5およびPCIサイクルレディ信号6と連動
し、PCIコマンドFIFO31があふれないような論
理設計となっている。
蓄積制御は、PCIインターフェース8が出力するPC
IコマンドFIFO制御信号19にて行われる。PCI
コマンドFIFO制御信号19は、PCIサイクルスタ
ート信号5およびPCIサイクルレディ信号6と連動
し、PCIコマンドFIFO31があふれないような論
理設計となっている。
【0027】PCIコマンドFIFO31の内部は、蓄
積項目別にROWアドレス格納部32と、COLUMN
アドレス格納部33と、アトリビュート格納部34と、
ライトデータ格納部35とに区分けされている。
積項目別にROWアドレス格納部32と、COLUMN
アドレス格納部33と、アトリビュート格納部34と、
ライトデータ格納部35とに区分けされている。
【0028】制御信号生成部14は、CPUコマンドF
IFO21およびPCIコマンドFIFO31に蓄積さ
れた各メモリアクセスサイクルを順次メモリデバイス5
3に反映すると共に、メモリデバイス53に対するメモ
リ制御信号20にて実際の制御を行う。
IFO21およびPCIコマンドFIFO31に蓄積さ
れた各メモリアクセスサイクルを順次メモリデバイス5
3に反映すると共に、メモリデバイス53に対するメモ
リ制御信号20にて実際の制御を行う。
【0029】グローバルメモリアドレスセレクタ43
は、メモリアドレス選択信号27が“0”値の場合は、
CPUコマンドFIFO21からのメモリアドレス信号
45をメモリアドレス信号48に反映させ、“1”値の
場合は、PCIコマンドFIFO31からのメモリアド
レス信号46をメモリアドレス信号48に反映させる。
は、メモリアドレス選択信号27が“0”値の場合は、
CPUコマンドFIFO21からのメモリアドレス信号
45をメモリアドレス信号48に反映させ、“1”値の
場合は、PCIコマンドFIFO31からのメモリアド
レス信号46をメモリアドレス信号48に反映させる。
【0030】メモリアドレスセレクタ42は、制御信号
生成部14からのROW/COLUMNアドレス選択信
号26が“0”値の場合は、CPUコマンドFIFO2
1からのカレントアクセス用ROWアドレス信号36を
メモリアドレス信号45に反映させ、“1”値の場合
は、CPUコマンドFIFO21からのカレントアクセ
ス用COLUMNアドレス信号37をメモリアドレス信
号45に反映させる。
生成部14からのROW/COLUMNアドレス選択信
号26が“0”値の場合は、CPUコマンドFIFO2
1からのカレントアクセス用ROWアドレス信号36を
メモリアドレス信号45に反映させ、“1”値の場合
は、CPUコマンドFIFO21からのカレントアクセ
ス用COLUMNアドレス信号37をメモリアドレス信
号45に反映させる。
【0031】メモリアドレスセレクタ44は、制御信号
生成部14からのROW/COLUMNアドレス選択信
号30が“0”値の場合は、PCIコマンドFIFO3
1からのカレントアクセス用ROWアドレス信号39を
メモリアドレス信号46に反映させ、“1”値の場合
は、PCIコマンドFIFO31からのカレントアクセ
ス用COLUMNアドレス信号40をメモリアドレス信
号46に反映させる。
生成部14からのROW/COLUMNアドレス選択信
号30が“0”値の場合は、PCIコマンドFIFO3
1からのカレントアクセス用ROWアドレス信号39を
メモリアドレス信号46に反映させ、“1”値の場合
は、PCIコマンドFIFO31からのカレントアクセ
ス用COLUMNアドレス信号40をメモリアドレス信
号46に反映させる。
【0032】ライトデータセレクタ47は、メモリライ
トデータ選択信号28が“0”値の場合は、CPUコマ
ンドFIFO21からのカレントアクセス用ライトデー
タ信号38をメモリライトデータ49に反映させ、
“1”値の場合は、PCIコマンドFIFO31からの
カレントアクセス用ライトデータ信号41をメモリライ
トデータ49に反映させる。
トデータ選択信号28が“0”値の場合は、CPUコマ
ンドFIFO21からのカレントアクセス用ライトデー
タ信号38をメモリライトデータ49に反映させ、
“1”値の場合は、PCIコマンドFIFO31からの
カレントアクセス用ライトデータ信号41をメモリライ
トデータ49に反映させる。
【0033】メモリデータバスバッファ51は、メモリ
データバス52の入出力切り替えを行い、データバスバ
ッファ入出力制御信号29が“0”値の場合には、メモ
リデバイス53からメモリリードデータ50信号にデー
タが入力伝達され、“1”値の場合には、メモリデバイ
ス53へデータを出力するように機能する。
データバス52の入出力切り替えを行い、データバスバ
ッファ入出力制御信号29が“0”値の場合には、メモ
リデバイス53からメモリリードデータ50信号にデー
タが入力伝達され、“1”値の場合には、メモリデバイ
ス53へデータを出力するように機能する。
【0034】各コマンドFIFO(CPUコマンドFI
FO21/PClコマンドFIFO31)に蓄積された
メモリアクセスサイクルをメモリデバイス53に展開す
る際には、メモリ制御信号20が連動してメモリデバイ
ス53に対して発行され、これを受けてメモリデバイス
53は、メモリアドレス48(ROWアドレス/COL
UMNアドレス)と共に読み出し/書き込みを認知す
る。メモリ制御信号20の内訳を以下に示す。 ・ROWアドレスストローブ :ROWアドレスのサンプリングに使用 ・COLUMNアドレスストローブ:COLUMアドレスのサンプリングに使用 ・ライトイネーブル :読み出し/書き込みのサイクル区別に使用 通常、メモリデバイス53に対するメモリアドレス48
は、ROWアドレスとCOLUMNアドレスに時分割し
て供給される。ROWアドレスは、ROWアドレススト
ローブ信号の立ち下がりで、COLUMNアドレスは、
COLUMNアドレスストローブ信号の立ち下がりで各
々メモリデバイス53に認識され、メモリデバイス内部
のアクセス対象となるセル指定が行われる。ここでRO
Wアドレスが等しい2つのサイクルが連続することを
“ページヒット”と呼び、逆にROWアドレスが異なる
場合を“ページミス”と呼ぶ。ページミスの場合には、
各サイクルの境界でメモリデバイスに対するROWアド
レスを更新する必要があるため、ページヒットの場合に
比較してタイムロスが発生する。
FO21/PClコマンドFIFO31)に蓄積された
メモリアクセスサイクルをメモリデバイス53に展開す
る際には、メモリ制御信号20が連動してメモリデバイ
ス53に対して発行され、これを受けてメモリデバイス
53は、メモリアドレス48(ROWアドレス/COL
UMNアドレス)と共に読み出し/書き込みを認知す
る。メモリ制御信号20の内訳を以下に示す。 ・ROWアドレスストローブ :ROWアドレスのサンプリングに使用 ・COLUMNアドレスストローブ:COLUMアドレスのサンプリングに使用 ・ライトイネーブル :読み出し/書き込みのサイクル区別に使用 通常、メモリデバイス53に対するメモリアドレス48
は、ROWアドレスとCOLUMNアドレスに時分割し
て供給される。ROWアドレスは、ROWアドレススト
ローブ信号の立ち下がりで、COLUMNアドレスは、
COLUMNアドレスストローブ信号の立ち下がりで各
々メモリデバイス53に認識され、メモリデバイス内部
のアクセス対象となるセル指定が行われる。ここでRO
Wアドレスが等しい2つのサイクルが連続することを
“ページヒット”と呼び、逆にROWアドレスが異なる
場合を“ページミス”と呼ぶ。ページミスの場合には、
各サイクルの境界でメモリデバイスに対するROWアド
レスを更新する必要があるため、ページヒットの場合に
比較してタイムロスが発生する。
【0035】上記事象を踏まえ、この実施の形態におい
てはCPUコマンドFIFO21中のROWアドレス格
納部22とPCIコマンドFIFO31中のROWアド
レス格納部32を制御信号生成部14に監視させ、実際
にメモリデバイス53に対して展開される各メモリアク
セスサイクルの境界においてページヒットとなる機会の
検出に観点を絞り、その展開順序の決定材料とする。
てはCPUコマンドFIFO21中のROWアドレス格
納部22とPCIコマンドFIFO31中のROWアド
レス格納部32を制御信号生成部14に監視させ、実際
にメモリデバイス53に対して展開される各メモリアク
セスサイクルの境界においてページヒットとなる機会の
検出に観点を絞り、その展開順序の決定材料とする。
【0036】次に、制御信号生成部14内部におけるメ
モリバスアクセス調停機能に関して図2を用いて具体的
に説明する。図2は、この発明の原理および基礎概念を
示すシステムブロック図である。前提として全ての制御
信号は、図中各ブロックに供給されるているベ−スクロ
ック54の立ち上がりエッジに同期し、各部の動作が規
定されるものとする。
モリバスアクセス調停機能に関して図2を用いて具体的
に説明する。図2は、この発明の原理および基礎概念を
示すシステムブロック図である。前提として全ての制御
信号は、図中各ブロックに供給されるているベ−スクロ
ック54の立ち上がりエッジに同期し、各部の動作が規
定されるものとする。
【0037】CPUインターフェースは、CPUコマン
ドFIFOに蓄積されたサイクルをメモリへ展開する際
に、メモリバスアクセス要求信号としてCPUバスリク
エスト信号55を用いてメモリバスアクセス調停部59
に対して要求を行い、それに対するメモリバスアクセス
許可信号としてCPUバスアクノリッジ信号56が返さ
れる。CPUインターフェースは、CPUバスアクノリ
ッジ信号56が0の期間においてCPUコマンドFIF
Oからメモリデバイスへのサイクル展開を実行可能とさ
れる。
ドFIFOに蓄積されたサイクルをメモリへ展開する際
に、メモリバスアクセス要求信号としてCPUバスリク
エスト信号55を用いてメモリバスアクセス調停部59
に対して要求を行い、それに対するメモリバスアクセス
許可信号としてCPUバスアクノリッジ信号56が返さ
れる。CPUインターフェースは、CPUバスアクノリ
ッジ信号56が0の期間においてCPUコマンドFIF
Oからメモリデバイスへのサイクル展開を実行可能とさ
れる。
【0038】同様に、PCIインターフェースは、PC
IコマンドFIFOに蓄積されたサイクルをメモリへ展
開する際に、メモリバスアクセス要求信号としてPCl
バスリクエスト57信号を用いてメモリバスアクセス調
停部59に対して要求を行い、それに対するメモリバス
アクセス許可信号としてPCIバスアクノリッジ信号5
8が返される。PClインターフェースは、PCIバス
アクノリッジ信号58が0の期間においてPCIコマン
ドFIFOからメモリデバイスへのサイクル展開を実行
可能とされる。
IコマンドFIFOに蓄積されたサイクルをメモリへ展
開する際に、メモリバスアクセス要求信号としてPCl
バスリクエスト57信号を用いてメモリバスアクセス調
停部59に対して要求を行い、それに対するメモリバス
アクセス許可信号としてPCIバスアクノリッジ信号5
8が返される。PClインターフェースは、PCIバス
アクノリッジ信号58が0の期間においてPCIコマン
ドFIFOからメモリデバイスへのサイクル展開を実行
可能とされる。
【0039】また、CPUバスアクノリッジ信号56と
PCIバスアクノリッジ信号58は、メモリバスアクセ
ス調停部59における調停の結果、排他的に0とされる
ものとし、メモリアドレス信号62と共にROWアドレ
スストローブ信号60、COLUMNアドレスストロー
ブ信号61をメモリデバイスに対して出力する。
PCIバスアクノリッジ信号58は、メモリバスアクセ
ス調停部59における調停の結果、排他的に0とされる
ものとし、メモリアドレス信号62と共にROWアドレ
スストローブ信号60、COLUMNアドレスストロー
ブ信号61をメモリデバイスに対して出力する。
【0040】次に、この発明の効果について図3を用い
て説明する。図3は、改善前と改善後のメモリアクセス
タイミング比較のタイミングチャートである。CPUに
より、時間軸T0/T2/T4で開始された各サイクル
を以下のように仮定する。 ◆T0→CPUアドレス:A →計算されるROWアドレス:ROW_A →計算されるCOLUMNアドレス:COL_A →アトリビュート:書き込み →以降、“サイクルA”と呼ぶ ◆T2→CPUアドレス:B →計算されるROWアドレス:ROW_B →計算されるCOLUMNアドレス:COL_B →アトリビュート:書き込み →以降、“サイクルB”と呼ぶ ◆T4→CPUアドレス:C →計算されるROWアドレス:ROW_C →計算されるCOLUMNアドレス:COL_C →アトリビュート:書き込み →以降、“サイクルC”と呼ぶ また、グラフィックスコントローラ(PCIデバイス)
により、時間軸T6で開始されたサイクルを以下のよう
に仮定する。 ◆T6→PCIアドレス:D →計算されるROWアドレス:ROW_D →計算されるCOLUMNアドレス:COL_D →アトリビュート:書き込み →以降、“リサイクルD”と呼ぶ サイクルA、サイクルB、サイクルCの各CPUアドレ
スを基にCPUコマンドFIFO用ROWアドレス信号
ならびにCPUコマンドFIFO用COLUMNアドレ
ス信号が直ちに計算され、CPUサイクルスタート信号
が0の場合のベースクロック54の立ち上がりエッジに
同期してCPUコマンドFIFOに対する蓄積が順次行
われる。
て説明する。図3は、改善前と改善後のメモリアクセス
タイミング比較のタイミングチャートである。CPUに
より、時間軸T0/T2/T4で開始された各サイクル
を以下のように仮定する。 ◆T0→CPUアドレス:A →計算されるROWアドレス:ROW_A →計算されるCOLUMNアドレス:COL_A →アトリビュート:書き込み →以降、“サイクルA”と呼ぶ ◆T2→CPUアドレス:B →計算されるROWアドレス:ROW_B →計算されるCOLUMNアドレス:COL_B →アトリビュート:書き込み →以降、“サイクルB”と呼ぶ ◆T4→CPUアドレス:C →計算されるROWアドレス:ROW_C →計算されるCOLUMNアドレス:COL_C →アトリビュート:書き込み →以降、“サイクルC”と呼ぶ また、グラフィックスコントローラ(PCIデバイス)
により、時間軸T6で開始されたサイクルを以下のよう
に仮定する。 ◆T6→PCIアドレス:D →計算されるROWアドレス:ROW_D →計算されるCOLUMNアドレス:COL_D →アトリビュート:書き込み →以降、“リサイクルD”と呼ぶ サイクルA、サイクルB、サイクルCの各CPUアドレ
スを基にCPUコマンドFIFO用ROWアドレス信号
ならびにCPUコマンドFIFO用COLUMNアドレ
ス信号が直ちに計算され、CPUサイクルスタート信号
が0の場合のベースクロック54の立ち上がりエッジに
同期してCPUコマンドFIFOに対する蓄積が順次行
われる。
【0041】同様に、サイクルDのPCIアドレスを基
にPClコマンドFIFO用ROWアドレス信号ならび
にPCIコマンドFIFO用COLUMNアドレス信号
が直ちに計算され、PCIサイクルスタート信号が0の
場合のベ−スクロック54の立ち上がりエッジに同期し
てPClコマンドFIFOに対する蓄積が行われる。
にPClコマンドFIFO用ROWアドレス信号ならび
にPCIコマンドFIFO用COLUMNアドレス信号
が直ちに計算され、PCIサイクルスタート信号が0の
場合のベ−スクロック54の立ち上がりエッジに同期し
てPClコマンドFIFOに対する蓄積が行われる。
【0042】ここでサイクルA、サイクルB、サイクル
Dから計算されたROWアドレスの値が同じであり、サ
イクルCのそれはサイクルA、サイクルB、サイクルD
と異なる値とする。
Dから計算されたROWアドレスの値が同じであり、サ
イクルCのそれはサイクルA、サイクルB、サイクルD
と異なる値とする。
【0043】前出の4つのサイクルは、全て書き込みサ
イクルであるため、各コマンドFIFOに対するサイク
ル蓄積が完了した時点でサイクルレディ信号をリターン
する(読み出しサイクルの場合は、メモリデバイスから
実際に必要なデータが取り出されるまでサイクルレディ
信号を返さない)。
イクルであるため、各コマンドFIFOに対するサイク
ル蓄積が完了した時点でサイクルレディ信号をリターン
する(読み出しサイクルの場合は、メモリデバイスから
実際に必要なデータが取り出されるまでサイクルレディ
信号を返さない)。
【0044】改善前(この発明のサイクルスケジューリ
ング手法を用いない)の方式によると、サイクルAのC
PUコマンドFIFOへの蓄積が行われるT1に同期し
てCPUバスリクエスト信号がアサートされ、それに対
する応答としてCPUバスアクノリッジ信号がT3に同
期してアサートされる。このCPUバスアクノリッジ信
号のアサートを受けて、サイクルA、サイクルB、サイ
クルCまで連続してメモリデバイスに対するCPUコマ
ンドFIFOからのサイクル展開が行われる。T6にて
発生したサイクルDによりPCIバスリクエスト信号が
T7に同期してアサートされるが、それに対するPCI
バスアクノリッジ信号のアサートは、サイクルCのメモ
リデバイスに対する展開が完了した次のクロックである
T13に行われる。
ング手法を用いない)の方式によると、サイクルAのC
PUコマンドFIFOへの蓄積が行われるT1に同期し
てCPUバスリクエスト信号がアサートされ、それに対
する応答としてCPUバスアクノリッジ信号がT3に同
期してアサートされる。このCPUバスアクノリッジ信
号のアサートを受けて、サイクルA、サイクルB、サイ
クルCまで連続してメモリデバイスに対するCPUコマ
ンドFIFOからのサイクル展開が行われる。T6にて
発生したサイクルDによりPCIバスリクエスト信号が
T7に同期してアサートされるが、それに対するPCI
バスアクノリッジ信号のアサートは、サイクルCのメモ
リデバイスに対する展開が完了した次のクロックである
T13に行われる。
【0045】前述した通り、サイクルBとサイクルCの
ROWアドレスは異なる(ページミス)ため、そのサイ
クル境界でROWアドレスの更新がT10に同期してア
サートされるROWアドレスストローブ信号の立ち下が
りエッジにて行われる。またサイクルCとサイクルDの
ROWアドレスは異なる(ページミス)ため、そのサイ
クル境界でROWアドレスの更新がT14に同期してア
サートされるROWアドレスストローブ信号の立ち下が
りエッジにて行われる。結果として全てのサイクルが完
了するのがT16となる。
ROWアドレスは異なる(ページミス)ため、そのサイ
クル境界でROWアドレスの更新がT10に同期してア
サートされるROWアドレスストローブ信号の立ち下が
りエッジにて行われる。またサイクルCとサイクルDの
ROWアドレスは異なる(ページミス)ため、そのサイ
クル境界でROWアドレスの更新がT14に同期してア
サートされるROWアドレスストローブ信号の立ち下が
りエッジにて行われる。結果として全てのサイクルが完
了するのがT16となる。
【0046】次に、改善後(この発明のサイクルスケジ
ューリング手法を用いる)の方式に関して説明する。T
6にて発生したサイクルDによりPCIバスリクエスト
信号がT7に同期してアサートされる所までは上記の
“改善前”と同様であるが、サイクルDのROWアドレ
スが目下展開中のサイクルBのROWアドレスと等しい
ことが検出されたため、T8に同期して一旦CPUバス
アクノリッジ信号をネゲートし、代わりにPCIバスア
クノリッジ信号をアサートする。
ューリング手法を用いる)の方式に関して説明する。T
6にて発生したサイクルDによりPCIバスリクエスト
信号がT7に同期してアサートされる所までは上記の
“改善前”と同様であるが、サイクルDのROWアドレ
スが目下展開中のサイクルBのROWアドレスと等しい
ことが検出されたため、T8に同期して一旦CPUバス
アクノリッジ信号をネゲートし、代わりにPCIバスア
クノリッジ信号をアサートする。
【0047】このPCIバスアクノリッジ信号を受けて
サイクルDの展開がROWアドレスの更新を行うことな
くサイクルBに連続させることが可能となる。また、後
回しにされたサイクルCはサイクルDの後に実行される
(サイクルDからサイクルCの境界にはROWアドレス
の更新が必要であるが、これはもともと解消する手段は
無い)。
サイクルDの展開がROWアドレスの更新を行うことな
くサイクルBに連続させることが可能となる。また、後
回しにされたサイクルCはサイクルDの後に実行される
(サイクルDからサイクルCの境界にはROWアドレス
の更新が必要であるが、これはもともと解消する手段は
無い)。
【0048】結果として全てのサイクルが完了するのが
T14となり、改善前に比較して2ベースクロック分早
く全てのサイクルを実行可能となる。
T14となり、改善前に比較して2ベースクロック分早
く全てのサイクルを実行可能となる。
【0049】このように、メモリバスアクセス調停部5
9においては、各コマンドFIFOに蓄積されたメモリ
アクセスサイクルのROWアドレス成分を常に監視して
おり、メモリバスアクセス要求が競合した際の調停優先
度の決定材料とする。
9においては、各コマンドFIFOに蓄積されたメモリ
アクセスサイクルのROWアドレス成分を常に監視して
おり、メモリバスアクセス要求が競合した際の調停優先
度の決定材料とする。
【0050】
【発明の効果】以上説明したようにこの発明は、ROW
アドレス成分を常時監視し、ROWアドレス成分が同一
ならば前記ページヒットを行わせることにより、ユニフ
ァイドメモリアーキテクチャ採用に伴って引き起こされ
るメモリアクセス性能の低下を最小限に抑えることがで
きる。
アドレス成分を常時監視し、ROWアドレス成分が同一
ならば前記ページヒットを行わせることにより、ユニフ
ァイドメモリアーキテクチャ採用に伴って引き起こされ
るメモリアクセス性能の低下を最小限に抑えることがで
きる。
【図1】一般的なユニファイドメモリアーキテクチャの
内部構造を示すブロック図である。
内部構造を示すブロック図である。
【図2】この発明の実施の形態を示すブロック図であ
る。
る。
【図3】メモリアクセスタイミング比較のタイミングチ
ャートである。
ャートである。
1 CPU 2 グラフィックスコントローラ 3 CPUサイクルスタート信号 4 CPUサイクルレディ信号 5 PCIサイクルスタート信号 6 PCIサイクルレディ信号 7 CPUインターフェース 8 PCIインターフェース 9 CPUコマンドFIFO制御信号 10,15 ROWアドレス信号 11,16 COLUMNアドレス信号 12,17 アトリビュート信号 13,18 ライトデータ信号 14 制御信号生成部 19 PCIコマンドFIFO制御信号 20 メモリ制御信号 21 CPUコマンドFIFO 22,32 ROWアドレス格納部 23,33 COLUMNアドレス格納部 24,34 アトリビュート格納部 25,35 ライトデータ格納部 26,30 ROW/COLUMNアドレス選択信号 27 メモリアドレス選択信号 28 メモリライトデータ選択信号 29 データバスバッファ入出力制御信号 31 PCIコマンドFIFO 36,39 カレントアクセス用ROWアドレス信号 37,40 カレントアクセス用COLUMNアドレス
信号 38,41 カレントアクセス用ライトデータ信号 42,44 メモリアドレスセレクタ 43 グローバルメモリアドレスセレクタ 45,46,48 メモリアドレス信号 47 メモリライトデータセレクタ 49 メモリライトデータ 50 メモリリードデータ 51 メモリデータバスバッファ 52 メモリデータバス 53 メモリデバイス 54 ベースクロック信号 55 CPUバスリクエスト信号 56 CPUバスアクノリッジ信号 57 PCIバスリクエスト信号 58 PCIバスアクノリッジ信号 59 メモリバスアクセス調停部 60 ROWアドレスストローブ信号 61 COLUMNアドレスストローブ信号 62 メモリアドレス信号
信号 38,41 カレントアクセス用ライトデータ信号 42,44 メモリアドレスセレクタ 43 グローバルメモリアドレスセレクタ 45,46,48 メモリアドレス信号 47 メモリライトデータセレクタ 49 メモリライトデータ 50 メモリリードデータ 51 メモリデータバスバッファ 52 メモリデータバス 53 メモリデバイス 54 ベースクロック信号 55 CPUバスリクエスト信号 56 CPUバスアクノリッジ信号 57 PCIバスリクエスト信号 58 PCIバスアクノリッジ信号 59 メモリバスアクセス調停部 60 ROWアドレスストローブ信号 61 COLUMNアドレスストローブ信号 62 メモリアドレス信号
Claims (6)
- 【請求項1】2つのメモリアクセスソースからのサイク
ルを各アクセスソース毎に設けられたFIFOバッファ
に蓄積させ、ROWアドレス成分を常時監視することに
よって、サイクル境界におけるページヒットの機会を、
より多く創出することを目的としてメモリサイクルのス
ケジューリングを実行することを特徴とするユニファイ
ドメモリアーキテクチャにおけるメモリ制御方法。 - 【請求項2】ROWアドレス成分を常時監視し、ROW
アドレス成分が同一ならば前記ページヒットを行わせる
ことを特徴とする請求項1記載のユニファイドメモリア
ーキテクチャにおけるメモリ制御方法。 - 【請求項3】前記2つのメモリアクセスソースが、CP
UからのアクセスソースとPCIからのアクセスソース
であることを特徴とする請求項1または2記載のユニフ
ァイドメモリアーキテクチャにおけるメモリ制御方法。 - 【請求項4】前記メモリサイクルのスケジューリングを
メモリコントローラ内部で実行することを特徴とする請
求項1〜3のいずれかに記載のユニファイドメモリアー
キテクチャにおけるメモリ制御方法。 - 【請求項5】2つのメモリアクセスソースから発行され
るサイクルを各々独立に蓄積するFIFOバッファを備
え、ROWアドレス成分を常時監視し、ROWアドレス
成分が同一ならばサイクル境界におけるページヒットを
行わせることを特徴とするユニファイドメモリアーキテ
クチャにおけるメモリ制御装置。 - 【請求項6】前記2つのメモリアクセスソースが、CP
UからのアクセスソースとPCIからのアクセスソース
であることを特徴とする請求項5記載のユニファイドメ
モリアーキテクチャにおけるメモリ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23214197A JPH1173366A (ja) | 1997-08-28 | 1997-08-28 | ユニファイドメモリアーキテクチャにおけるメモリ制御方法およびメモリ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23214197A JPH1173366A (ja) | 1997-08-28 | 1997-08-28 | ユニファイドメモリアーキテクチャにおけるメモリ制御方法およびメモリ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1173366A true JPH1173366A (ja) | 1999-03-16 |
Family
ID=16934643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23214197A Pending JPH1173366A (ja) | 1997-08-28 | 1997-08-28 | ユニファイドメモリアーキテクチャにおけるメモリ制御方法およびメモリ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1173366A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006030650A1 (ja) * | 2004-09-16 | 2008-05-15 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
US10061515B2 (en) | 2014-09-11 | 2018-08-28 | Toshiba Memory Corporation | Information processing apparatus and memory system |
-
1997
- 1997-08-28 JP JP23214197A patent/JPH1173366A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006030650A1 (ja) * | 2004-09-16 | 2008-05-15 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
US7650453B2 (en) | 2004-09-16 | 2010-01-19 | Nec Corporation | Information processing apparatus having multiple processing units sharing multiple resources |
JP4737438B2 (ja) * | 2004-09-16 | 2011-08-03 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
US10061515B2 (en) | 2014-09-11 | 2018-08-28 | Toshiba Memory Corporation | Information processing apparatus and memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5608881A (en) | Microcomputer system for accessing hierarchical buses | |
EP0468786B1 (en) | Processor which performs memory access in parallel with cache access and method employed thereby | |
GB2143060A (en) | Data processing system | |
US5659760A (en) | Microprocessor having interrupt vector generation unit and vector fetching command unit to initiate interrupt processing prior to returning interrupt acknowledge information | |
JP3467631B2 (ja) | ロジックlsi | |
JP3444154B2 (ja) | メモリアクセス制御回路 | |
JP2704113B2 (ja) | データ処理装置 | |
US20040064748A1 (en) | Methods and apparatus for clock domain conversion in digital processing systems | |
JPH1173366A (ja) | ユニファイドメモリアーキテクチャにおけるメモリ制御方法およびメモリ制御装置 | |
JPH11232214A (ja) | 情報処理装置用プロセッサおよびその制御方法 | |
US6954873B2 (en) | Implementation of wait-states | |
JPS6290742A (ja) | 中央処理装置の性能を向上させる方法および装置 | |
EP0798645B1 (en) | Bus controller and information processing device | |
US5235694A (en) | Multi i/o device system using temporary store of ram data when associated communicating i/o devices are operating at various clocking phases | |
US6618790B1 (en) | Burst suspend and resume with computer memory | |
JP2534321B2 (ja) | デ―タ転送制御方法及び装置 | |
JP2003162445A (ja) | メモリ読み取りコマンドの高速送信のためのグラフィックスコントローラ | |
JP2003122626A (ja) | 高性能グラフィックスコントローラ | |
JPH11224180A (ja) | インターフェース回路 | |
JPH06250868A (ja) | 計算機 | |
JPH07146814A (ja) | メモリ装置 | |
JPS6054065A (ja) | 同期制御装置 | |
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JPH0612313A (ja) | メモリ装置 | |
JPS6148188B2 (ja) |