JPH09128324A - データ転送制御装置およびデータ転送制御方法 - Google Patents
データ転送制御装置およびデータ転送制御方法Info
- Publication number
- JPH09128324A JPH09128324A JP7283178A JP28317895A JPH09128324A JP H09128324 A JPH09128324 A JP H09128324A JP 7283178 A JP7283178 A JP 7283178A JP 28317895 A JP28317895 A JP 28317895A JP H09128324 A JPH09128324 A JP H09128324A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- cache line
- external device
- memory
- 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.)
- Withdrawn
Links
Landscapes
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 アービトレーションが頻繁に生じるのを防止
する。 【解決手段】 外部デバイスから要求されたDMAリー
ド要求アドレスおよびデータ量に拘らず、常に、キャッ
シュラインバウンダリアドレスから、キャッシュライン
サイズ分のデータのDMAを要求する。
する。 【解決手段】 外部デバイスから要求されたDMAリー
ド要求アドレスおよびデータ量に拘らず、常に、キャッ
シュラインバウンダリアドレスから、キャッシュライン
サイズ分のデータのDMAを要求する。
Description
【0001】
【発明の属する技術分野】本発明は、データ転送制御装
置およびデータ転送制御方法に関する。特に、キャッシ
ュメモリを有する情報処理装置から外部デバイスに、デ
ータを転送する場合などに用いて好適なデータ転送制御
装置およびデータ転送制御方法に関する。
置およびデータ転送制御方法に関する。特に、キャッシ
ュメモリを有する情報処理装置から外部デバイスに、デ
ータを転送する場合などに用いて好適なデータ転送制御
装置およびデータ転送制御方法に関する。
【0002】
【従来の技術】最近のコンピュータ(情報処理装置)に
は、メモリとして、メインメモリ(主記憶装置)の他
に、高速なキャッシュメモリ(cache memory)が備えら
れており、メインメモリの記憶内容を、キャッシュメモ
リにコピーし、CPU(中央演算処理装置)がメモリに
対するアクセスが必要なときに、メインメモリではな
く、キャッシュメモリにアクセスするようにすること
で、処理の高速化が図られている。
は、メモリとして、メインメモリ(主記憶装置)の他
に、高速なキャッシュメモリ(cache memory)が備えら
れており、メインメモリの記憶内容を、キャッシュメモ
リにコピーし、CPU(中央演算処理装置)がメモリに
対するアクセスが必要なときに、メインメモリではな
く、キャッシュメモリにアクセスするようにすること
で、処理の高速化が図られている。
【0003】図5は、そのような従来のコンピュータシ
ステムの一例の構成を示している。ROM1には、シス
テムプログラム(マイクロプログラムを含む)などが記
憶されている。CPU2は、ROM1に記憶されている
システムプログラムの制御の下、必要に応じて、キャッ
シュメモリ3またはメインメモリ4にアクセスしながら
所定の処理を実行するようになされている。キャッシュ
メモリ3は、CPU2からのアクセス頻度が高いデータ
を、メインメモリ4から読み出して記憶するようになさ
れている。メインメモリ4は、CPU2の動作上必要な
データやCPU2が実行すべきプログラムその他を記憶
するようになされている。
ステムの一例の構成を示している。ROM1には、シス
テムプログラム(マイクロプログラムを含む)などが記
憶されている。CPU2は、ROM1に記憶されている
システムプログラムの制御の下、必要に応じて、キャッ
シュメモリ3またはメインメモリ4にアクセスしながら
所定の処理を実行するようになされている。キャッシュ
メモリ3は、CPU2からのアクセス頻度が高いデータ
を、メインメモリ4から読み出して記憶するようになさ
れている。メインメモリ4は、CPU2の動作上必要な
データやCPU2が実行すべきプログラムその他を記憶
するようになされている。
【0004】DMAバスコントローラ5は、外部デバイ
ス11から、I/O(Input/Output)バスを介して、D
MAの要求があった場合に、バスの使用権(制御権)の
調整を、CPU2との間で行い、バスの使用権を獲得す
ると(アービトレーションがとれると)、DMAによる
データ転送、即ち、CPU2を介さずに、外部デバイス
11から送信されてくるデータを、キャッシュメモリ3
に書き込み、またはキャッシュメモリ3に記憶されたデ
ータを読み出して、外部デバイス11に転送するように
なされている。
ス11から、I/O(Input/Output)バスを介して、D
MAの要求があった場合に、バスの使用権(制御権)の
調整を、CPU2との間で行い、バスの使用権を獲得す
ると(アービトレーションがとれると)、DMAによる
データ転送、即ち、CPU2を介さずに、外部デバイス
11から送信されてくるデータを、キャッシュメモリ3
に書き込み、またはキャッシュメモリ3に記憶されたデ
ータを読み出して、外部デバイス11に転送するように
なされている。
【0005】以上のROM1,CPU2、キャッシュメ
モリ3、メインメモリ4、およびDMAバスコントロー
ラ5と、I/0バスとで、コンピュータ本体が構成され
ている。
モリ3、メインメモリ4、およびDMAバスコントロー
ラ5と、I/0バスとで、コンピュータ本体が構成され
ている。
【0006】外部デバイス11は、例えば画像や音声を
処理するためのボードその他のデバイスで、I/Oバス
を介して、DMAバスコントローラ5に接続されてい
る。そして、外部デバイス11は、コンピュータ本体と
の間で、必要に応じて、データのやりとりをしながら、
所定の処理を行うようになされている。
処理するためのボードその他のデバイスで、I/Oバス
を介して、DMAバスコントローラ5に接続されてい
る。そして、外部デバイス11は、コンピュータ本体と
の間で、必要に応じて、データのやりとりをしながら、
所定の処理を行うようになされている。
【0007】なお、DMAバスコントローラ5と外部デ
バイス11との間では、転送すべきデータの他、次のよ
うな信号がやりとりされるようになされている。
バイス11との間では、転送すべきデータの他、次のよ
うな信号がやりとりされるようになされている。
【0008】即ち、外部デバイス11からDMAバスコ
ントローラ5に対しては、DMAによるデータの転送を
要求するDMA要求信号が送信されるようになされてい
る。このDMA要求信号には、メインメモリ4に記憶さ
れたデータを読み出して外部デバイス11に転送するこ
とを要求するDMAリード(DMA read)要求信号と、外
部デバイス11が出力するデータをメインメモリ4に書
き込むことを要求するDMAライト(DMA write)要求
信号とがある。
ントローラ5に対しては、DMAによるデータの転送を
要求するDMA要求信号が送信されるようになされてい
る。このDMA要求信号には、メインメモリ4に記憶さ
れたデータを読み出して外部デバイス11に転送するこ
とを要求するDMAリード(DMA read)要求信号と、外
部デバイス11が出力するデータをメインメモリ4に書
き込むことを要求するDMAライト(DMA write)要求
信号とがある。
【0009】DMAバスコントローラ5から外部デバイ
ス11に対しては、アービトレーションがとれた場合
に、DMAが可能なことを示すDMA許可信号、および
DMA読み出し要求があった場合に、外部デバイス11
に、データを受信すべき区間を知らせるためのデータ有
効信号が送信されるようになされている。
ス11に対しては、アービトレーションがとれた場合
に、DMAが可能なことを示すDMA許可信号、および
DMA読み出し要求があった場合に、外部デバイス11
に、データを受信すべき区間を知らせるためのデータ有
効信号が送信されるようになされている。
【0010】以上のように構成されるコンピュータで
は、例えば、図示せぬ操作部が操作されることにより、
所定のアプリケーションプログラムを実行するように指
示がなされると、CPU2は、そのアプリケーションプ
ログラムをメインメモリ4に展開して実行する。この
際、CPU2は、データを保持しておく必要があると
き、そのデータを、キャッシュメモリ3に書き込む。さ
らに、このデータは、キャッシュメモリ3に書き込まれ
るのと同時に、あるいは、その後、メインメモリ4に書
き込まれる。
は、例えば、図示せぬ操作部が操作されることにより、
所定のアプリケーションプログラムを実行するように指
示がなされると、CPU2は、そのアプリケーションプ
ログラムをメインメモリ4に展開して実行する。この
際、CPU2は、データを保持しておく必要があると
き、そのデータを、キャッシュメモリ3に書き込む。さ
らに、このデータは、キャッシュメモリ3に書き込まれ
るのと同時に、あるいは、その後、メインメモリ4に書
き込まれる。
【0011】また、CPU2は、メインメモリ4に記憶
されたデータを読み出すとき、まずキャッシュメモリ3
にアクセスする。そして、CPU2は、キャッシュメモ
リ3に、そのデータが記憶されている場合には、キャッ
シュメモリ3からデータを読み出し、キャッシュメモリ
3にデータが記憶されていなければ、メインメモリ4に
アクセスしてデータを読み出すとともに、そのデータ
を、キャッシュメモリ3に記憶させる。
されたデータを読み出すとき、まずキャッシュメモリ3
にアクセスする。そして、CPU2は、キャッシュメモ
リ3に、そのデータが記憶されている場合には、キャッ
シュメモリ3からデータを読み出し、キャッシュメモリ
3にデータが記憶されていなければ、メインメモリ4に
アクセスしてデータを読み出すとともに、そのデータ
を、キャッシュメモリ3に記憶させる。
【0012】従って、CPU2は、基本的には、高速な
キャッシュメモリ3にアクセスし、キャッシュメモリ4
に必要なデータがなければメインメモリ4にアクセスす
るので、メインメモリ4だけしか設けられていない場合
に比較して、データのやりとりを高速に行うことができ
る。
キャッシュメモリ3にアクセスし、キャッシュメモリ4
に必要なデータがなければメインメモリ4にアクセスす
るので、メインメモリ4だけしか設けられていない場合
に比較して、データのやりとりを高速に行うことができ
る。
【0013】次に、本体と外部デバイス11との間での
データのやりとりについて説明する。外部デバイス11
は、データを、コンピュータ本体に転送する必要がある
とき、DMAライト要求信号を、DMAバスコントロー
ラ5に出力する。DMAバスコントローラ5は、DMA
ライト要求信号を受信すると、CPU2との間で、バス
の使用権の調整が行われ、その使用権を獲得すると、D
MA許可信号を外部デバイス11に出力する。
データのやりとりについて説明する。外部デバイス11
は、データを、コンピュータ本体に転送する必要がある
とき、DMAライト要求信号を、DMAバスコントロー
ラ5に出力する。DMAバスコントローラ5は、DMA
ライト要求信号を受信すると、CPU2との間で、バス
の使用権の調整が行われ、その使用権を獲得すると、D
MA許可信号を外部デバイス11に出力する。
【0014】外部デバイス11は、DMA許可信号を受
信すると、本体に転送すべきデータを、DMAバスコン
トローラ5に送信する。DMAバスコントローラ5は、
外部デバイス11からのデータを、CPU2を介さず
に、キャッシュメモリ3に転送して記憶させる。なお、
このデータは、キャッシュメモリ3に書き込まれるのと
同時に、あるいは、その後、メインメモリ4に書き込ま
れる。
信すると、本体に転送すべきデータを、DMAバスコン
トローラ5に送信する。DMAバスコントローラ5は、
外部デバイス11からのデータを、CPU2を介さず
に、キャッシュメモリ3に転送して記憶させる。なお、
このデータは、キャッシュメモリ3に書き込まれるのと
同時に、あるいは、その後、メインメモリ4に書き込ま
れる。
【0015】次に、外部デバイス11は、本体から読み
出すべきデータがあるとき、DMAリード要求信号を、
DMAバスコントローラ5に出力する。DMAバスコン
トローラ5は、DMAリード要求信号を受信すると、上
述のDMAライト要求信号を受信した場合と同様にし
て、バスの使用権を獲得し、DMA許可信号を外部デバ
イス11に出力する。外部デバイス11は、DMA許可
信号を受信すると、データを受信する準備をし、データ
有効信号が送信されてくるのを待つ。
出すべきデータがあるとき、DMAリード要求信号を、
DMAバスコントローラ5に出力する。DMAバスコン
トローラ5は、DMAリード要求信号を受信すると、上
述のDMAライト要求信号を受信した場合と同様にし
て、バスの使用権を獲得し、DMA許可信号を外部デバ
イス11に出力する。外部デバイス11は、DMA許可
信号を受信すると、データを受信する準備をし、データ
有効信号が送信されてくるのを待つ。
【0016】一方、DMAバスコントローラ5は、DM
A許可信号を出力した後、外部デバイス11からDMA
要求のあったデータを、キャッシュメモリ3から読み出
す。なお、そのデータがキャッシュメモリ3に記憶され
ていない場合には、DMAバスコントローラ5は、その
データを、メインメモリ4からキャッシュメモリ3に転
送させて記憶させるようになされている。
A許可信号を出力した後、外部デバイス11からDMA
要求のあったデータを、キャッシュメモリ3から読み出
す。なお、そのデータがキャッシュメモリ3に記憶され
ていない場合には、DMAバスコントローラ5は、その
データを、メインメモリ4からキャッシュメモリ3に転
送させて記憶させるようになされている。
【0017】DMAバスコントローラ5は、キャッシュ
メモリ3からデータを読み出すと、そのデータを、デー
タ有効信号とともに、外部デバイス11に出力する。そ
して、DMAバスコントローラ5は、データの転送(出
力)が終了すると、データ有効信号の出力も停止する。
外部デバイス11では、データ有効信号が、DMAバス
コントローラ5から出力されている間、同じくDMAバ
スコントローラ5から出力されているデータが受信され
る。
メモリ3からデータを読み出すと、そのデータを、デー
タ有効信号とともに、外部デバイス11に出力する。そ
して、DMAバスコントローラ5は、データの転送(出
力)が終了すると、データ有効信号の出力も停止する。
外部デバイス11では、データ有効信号が、DMAバス
コントローラ5から出力されている間、同じくDMAバ
スコントローラ5から出力されているデータが受信され
る。
【0018】以上のように、本体と外部デバイス11と
の間でのデータのやりとりが行われる場合においても、
基本的には、高速なキャッシュメモリ3に対してアクセ
スが行われるので、データのやりとりを高速に行うこと
ができる。
の間でのデータのやりとりが行われる場合においても、
基本的には、高速なキャッシュメモリ3に対してアクセ
スが行われるので、データのやりとりを高速に行うこと
ができる。
【0019】なお、コンピュータ本体においては、外部
デバイス11に送信するデータは、上述したように、キ
ャッシュメモリ3から読み出されるが、外部デバイス1
1からは、キャッシュメモリ3は見えず、従って、外部
デバイス11では、読み出すべきデータは、そのデータ
が記憶されているメインメモリ4のアドレスによって指
定される。さらに、外部デバイス11では、そのアドレ
スを先頭アドレスとして、本体から読み出すべきデータ
のサイズ(大きさ)も指定されるようになされており、
これらのアドレスおよびサイズは、例えばDMAリード
要求信号とともに出力されるようになされている。この
ことは、外部デバイス11から本体に、データを書き込
む場合も同様である。
デバイス11に送信するデータは、上述したように、キ
ャッシュメモリ3から読み出されるが、外部デバイス1
1からは、キャッシュメモリ3は見えず、従って、外部
デバイス11では、読み出すべきデータは、そのデータ
が記憶されているメインメモリ4のアドレスによって指
定される。さらに、外部デバイス11では、そのアドレ
スを先頭アドレスとして、本体から読み出すべきデータ
のサイズ(大きさ)も指定されるようになされており、
これらのアドレスおよびサイズは、例えばDMAリード
要求信号とともに出力されるようになされている。この
ことは、外部デバイス11から本体に、データを書き込
む場合も同様である。
【0020】
【発明が解決しようとする課題】ところで、キャッシュ
メモリ3は、通常、キャッシュライン(cache line)と
呼ばれる単位に分割されており、その単位を最大のデー
タ量として、データの読み書きを行う必要がある。ここ
で、このキャッシュラインの容量(サイズ)を、以下、
適宜、キャッシュラインサイズ(cache line size)と
いう。
メモリ3は、通常、キャッシュライン(cache line)と
呼ばれる単位に分割されており、その単位を最大のデー
タ量として、データの読み書きを行う必要がある。ここ
で、このキャッシュラインの容量(サイズ)を、以下、
適宜、キャッシュラインサイズ(cache line size)と
いう。
【0021】そして、キャッシュラインに対するアクセ
スは、一般的に、アドレスの整合がとれるように行われ
るため、アクセスを開始するアドレスと、そのアドレス
から、一度にアクセスすることのできるデータ量とが制
限される。
スは、一般的に、アドレスの整合がとれるように行われ
るため、アクセスを開始するアドレスと、そのアドレス
から、一度にアクセスすることのできるデータ量とが制
限される。
【0022】この制限は、機種やメーカによって様々で
あるが、例えば次のようなものがある。即ち、例えば、
キャッシュラインから、X(Xは、通常、1,4,8,
16,32,・・・とされる)だけのデータ量の、連続
しているデータを読み出すときに、読み出しを開始する
データの、メインメモリ4におけるアドレスの下位lo
g2Xビットが0に整合していることが必要とされる場
合がある。
あるが、例えば次のようなものがある。即ち、例えば、
キャッシュラインから、X(Xは、通常、1,4,8,
16,32,・・・とされる)だけのデータ量の、連続
しているデータを読み出すときに、読み出しを開始する
データの、メインメモリ4におけるアドレスの下位lo
g2Xビットが0に整合していることが必要とされる場
合がある。
【0023】この場合、例えば、いま、キャッシュライ
ンサイズを16ワードとし(但し、1ワードは、例えば
4バイトとし、各アドレスには、例えば1バイト単位で
データが記憶されるものとする)、そのキャッシュライ
ンに、図6(A)に示すように、メインメモリ4におけ
るアドレスが0x00乃至0x3fの16ワードのデー
タが記憶されているとき(0xは、それに続く数値が1
6進数であることを表す)、キャッシュラインから1度
のアクセスで読み出すことのできるデータの範囲と、そ
の先頭アドレスとは、同図(B)乃至(E)に示すよう
になる。
ンサイズを16ワードとし(但し、1ワードは、例えば
4バイトとし、各アドレスには、例えば1バイト単位で
データが記憶されるものとする)、そのキャッシュライ
ンに、図6(A)に示すように、メインメモリ4におけ
るアドレスが0x00乃至0x3fの16ワードのデー
タが記憶されているとき(0xは、それに続く数値が1
6進数であることを表す)、キャッシュラインから1度
のアクセスで読み出すことのできるデータの範囲と、そ
の先頭アドレスとは、同図(B)乃至(E)に示すよう
になる。
【0024】即ち、アドレス0x00を先頭アドレスと
してデータを読み出す場合は、図(B)乃至(E)にそ
れぞれ示したように、16,8,4、または1ワードの
データを読み出すことができる。また、アドレス0x2
0を先頭アドレスとしてデータを読み出す場合は、図
(C)乃至(E)それぞれに示したように、8,4、ま
たは1ワードのデータを読み出すことができる。さら
に、アドレス0x10または0x30を先頭アドレスと
してデータを読み出す場合は、図(D)または(E)そ
れぞれに示したように、4または1ワードのデータを読
み出すことができる。そして、上述したアドレス以外を
先頭アドレスとしてデータを読み出す場合には、図
(E)に示したように、1ワードのデータを読み出すこ
とができる。
してデータを読み出す場合は、図(B)乃至(E)にそ
れぞれ示したように、16,8,4、または1ワードの
データを読み出すことができる。また、アドレス0x2
0を先頭アドレスとしてデータを読み出す場合は、図
(C)乃至(E)それぞれに示したように、8,4、ま
たは1ワードのデータを読み出すことができる。さら
に、アドレス0x10または0x30を先頭アドレスと
してデータを読み出す場合は、図(D)または(E)そ
れぞれに示したように、4または1ワードのデータを読
み出すことができる。そして、上述したアドレス以外を
先頭アドレスとしてデータを読み出す場合には、図
(E)に示したように、1ワードのデータを読み出すこ
とができる。
【0025】このため、外部デバイス11は、例えば、
図6(F)に示すように、アドレス0x08乃至0x3
7に記憶された12ワードのデータC乃至Nを本体から
読み出そうとするとき、同図(G)に示すように、少な
くとも、アドレス0x08,0x0aそれぞれから1ワ
ードのデータのDMAを順次要求し、その後、アドレス
0x10,0x20それぞれから4ワードのデータのD
MAを順次要求し、さらに、アドレス0x30,0x3
4それぞれから1ワードのデータのDMAを順次要求す
る必要がある。
図6(F)に示すように、アドレス0x08乃至0x3
7に記憶された12ワードのデータC乃至Nを本体から
読み出そうとするとき、同図(G)に示すように、少な
くとも、アドレス0x08,0x0aそれぞれから1ワ
ードのデータのDMAを順次要求し、その後、アドレス
0x10,0x20それぞれから4ワードのデータのD
MAを順次要求し、さらに、アドレス0x30,0x3
4それぞれから1ワードのデータのDMAを順次要求す
る必要がある。
【0026】即ち、アドレス0x08乃至0x37に連
続して記憶された12ワードのデータを読み出すのに、
外部デバイス11は、図7に示すように、DMAを、少
なくとも6回に分割して要求する必要がある。
続して記憶された12ワードのデータを読み出すのに、
外部デバイス11は、図7に示すように、DMAを、少
なくとも6回に分割して要求する必要がある。
【0027】ここで、図8に、アドレス0x08乃至0
x37に連続して記憶された12ワードのデータを読み
出す場合のタイミングチャートを示す。なお、同図にお
いては(後述する図4においても同様)、アクティブロ
ー(active low)で、各信号を図示してある。
x37に連続して記憶された12ワードのデータを読み
出す場合のタイミングチャートを示す。なお、同図にお
いては(後述する図4においても同様)、アクティブロ
ー(active low)で、各信号を図示してある。
【0028】まず、外部デバイス11において、アドレ
ス0x08から1ワードのデータの読み出しを要求する
ために、DMAリード要求信号がHレベルからLレベル
にされ(図8(A))、これにより、DMAバスコント
ローラ5において、アービトレーション(CPU2との
バスの使用権の調整)が行われる。そして、アービトレ
ーションがとれると、DMAバスコントローラ5は、D
MA許可信号を所定の期間だけLレベルにし(図8
(B))、これが、外部デバイス11で受信されると、
DMAリード要求信号がLレベルからHレベルにされる
(図8(A))。
ス0x08から1ワードのデータの読み出しを要求する
ために、DMAリード要求信号がHレベルからLレベル
にされ(図8(A))、これにより、DMAバスコント
ローラ5において、アービトレーション(CPU2との
バスの使用権の調整)が行われる。そして、アービトレ
ーションがとれると、DMAバスコントローラ5は、D
MA許可信号を所定の期間だけLレベルにし(図8
(B))、これが、外部デバイス11で受信されると、
DMAリード要求信号がLレベルからHレベルにされる
(図8(A))。
【0029】さらに、DMAバスコントローラ5は、D
MA許可信号をLレベルにした後、キャッシュメモリ3
より、アドレス0x08から1ワードのデータ、即ち、
データCを読み出し、データ有効信号をLレベルにし
て、データCを、外部デバイス11に転送する。そし
て、DMAバスコントローラ5は、外部デバイス11へ
のデータCの転送を終了すると、データ有効信号をHレ
ベルにする。
MA許可信号をLレベルにした後、キャッシュメモリ3
より、アドレス0x08から1ワードのデータ、即ち、
データCを読み出し、データ有効信号をLレベルにし
て、データCを、外部デバイス11に転送する。そし
て、DMAバスコントローラ5は、外部デバイス11へ
のデータCの転送を終了すると、データ有効信号をHレ
ベルにする。
【0030】以下、同様にして、アドレス0x0aから
1ワードのデータD、アドレス0x10から4ワードの
データE乃至H、アドレス0x20から4ワードのデー
タI乃至L、アドレス0x30から1ワードのデータ
M、アドレス0x34から1ワードのデータNが、外部
デバイス11に転送される。
1ワードのデータD、アドレス0x10から4ワードの
データE乃至H、アドレス0x20から4ワードのデー
タI乃至L、アドレス0x30から1ワードのデータ
M、アドレス0x34から1ワードのデータNが、外部
デバイス11に転送される。
【0031】以上のように、DMAの要求があると、そ
のたびにアービトレーションが生じるため、DMAが頻
繁に要求されると、アービトレーションも頻繁に生じ、
これにより、コンピュータの処理の効率が悪化する課題
があった。
のたびにアービトレーションが生じるため、DMAが頻
繁に要求されると、アービトレーションも頻繁に生じ、
これにより、コンピュータの処理の効率が悪化する課題
があった。
【0032】本発明は、このような状況に鑑みてなされ
たものであり、処理効率の悪化を防止することができる
ようにするものである。
たものであり、処理効率の悪化を防止することができる
ようにするものである。
【0033】
【課題を解決するための手段】請求項1に記載のデータ
転送制御装置は、外部デバイスから、転送すべきデータ
が記憶された主記憶装置のアドレスである主記憶アドレ
スを受信し、その主記憶アドレスを、キャッシュメモリ
のキャッシュラインサイズに基づいて、キャッシュライ
ンバウンダリアドレスに変換する変換手段と、情報処理
装置に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータの転送を要求す
る要求手段と、要求手段の要求に対応して、情報処理装
置から転送されてくるキャッシュラインサイズ分のデー
タを記憶する記憶手段と、主記憶アドレスとキャッシュ
ラインバウンダリアドレスとの差に対応して、記憶手段
に記憶されたキャッシュラインサイズ分のデータのう
ち、主記憶アドレスからのデータを、外部デバイスに報
知する報知手段とを備えることを特徴とする。
転送制御装置は、外部デバイスから、転送すべきデータ
が記憶された主記憶装置のアドレスである主記憶アドレ
スを受信し、その主記憶アドレスを、キャッシュメモリ
のキャッシュラインサイズに基づいて、キャッシュライ
ンバウンダリアドレスに変換する変換手段と、情報処理
装置に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータの転送を要求す
る要求手段と、要求手段の要求に対応して、情報処理装
置から転送されてくるキャッシュラインサイズ分のデー
タを記憶する記憶手段と、主記憶アドレスとキャッシュ
ラインバウンダリアドレスとの差に対応して、記憶手段
に記憶されたキャッシュラインサイズ分のデータのう
ち、主記憶アドレスからのデータを、外部デバイスに報
知する報知手段とを備えることを特徴とする。
【0034】請求項3に記載のデータ転送制御方法は、
外部デバイスから、転送すべきデータが記憶された主記
憶装置のアドレスである主記憶アドレスを受信し、その
主記憶アドレスを、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換し、情報処理装置に対し、キャッシュライン
バウンダリアドレスから、キャッシュラインサイズ分の
データの転送を要求し、その要求に対応して、情報処理
装置から転送されてくるキャッシュラインサイズ分のデ
ータを記憶し、主記憶アドレスとキャッシュラインバウ
ンダリアドレスとの差に対応して、記憶されたキャッシ
ュラインサイズ分のデータのうち、主記憶アドレスから
のデータを、外部デバイスに報知することを特徴とす
る。
外部デバイスから、転送すべきデータが記憶された主記
憶装置のアドレスである主記憶アドレスを受信し、その
主記憶アドレスを、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換し、情報処理装置に対し、キャッシュライン
バウンダリアドレスから、キャッシュラインサイズ分の
データの転送を要求し、その要求に対応して、情報処理
装置から転送されてくるキャッシュラインサイズ分のデ
ータを記憶し、主記憶アドレスとキャッシュラインバウ
ンダリアドレスとの差に対応して、記憶されたキャッシ
ュラインサイズ分のデータのうち、主記憶アドレスから
のデータを、外部デバイスに報知することを特徴とす
る。
【0035】請求項4に記載のデータ転送制御装置は、
外部デバイスから、転送すべきデータが記憶された主記
憶装置のアドレスである主記憶アドレスを受信し、その
主記憶アドレスを、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換する変換手段と、情報処理装置に対し、キャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズ分のデータの転送を要求する要求手段と、要求
手段の要求に対応して、情報処理装置から転送されてく
るキャッシュラインサイズ分のデータを記憶する記憶手
段と、主記憶アドレスとキャッシュラインバウンダリア
ドレスとの差に対応して、記憶手段に記憶されたキャッ
シュラインサイズ分のデータのうち、主記憶アドレスか
らのデータを、外部デバイスに出力する出力手段とを備
えることを特徴とする。
外部デバイスから、転送すべきデータが記憶された主記
憶装置のアドレスである主記憶アドレスを受信し、その
主記憶アドレスを、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換する変換手段と、情報処理装置に対し、キャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズ分のデータの転送を要求する要求手段と、要求
手段の要求に対応して、情報処理装置から転送されてく
るキャッシュラインサイズ分のデータを記憶する記憶手
段と、主記憶アドレスとキャッシュラインバウンダリア
ドレスとの差に対応して、記憶手段に記憶されたキャッ
シュラインサイズ分のデータのうち、主記憶アドレスか
らのデータを、外部デバイスに出力する出力手段とを備
えることを特徴とする。
【0036】請求項1に記載のデータ転送制御装置にお
いては、変換手段は、外部デバイスから、転送すべきデ
ータが記憶された主記憶装置のアドレスである主記憶ア
ドレスを受信し、その主記憶アドレスを、キャッシュメ
モリのキャッシュラインサイズに基づいて、キャッシュ
ラインバウンダリアドレスに変換するようになされてい
る。要求手段は、情報処理装置に対し、キャッシュライ
ンバウンダリアドレスから、キャッシュラインサイズ分
のデータの転送を要求し、記憶手段は、要求手段の要求
に対応して、情報処理装置から転送されてくるキャッシ
ュラインサイズ分のデータを記憶するようになされてい
る。報知手段は、主記憶アドレスとキャッシュラインバ
ウンダリアドレスとの差に対応して、記憶手段に記憶さ
れたキャッシュラインサイズ分のデータのうち、主記憶
アドレスからのデータを、外部デバイスに報知するよう
になされている。
いては、変換手段は、外部デバイスから、転送すべきデ
ータが記憶された主記憶装置のアドレスである主記憶ア
ドレスを受信し、その主記憶アドレスを、キャッシュメ
モリのキャッシュラインサイズに基づいて、キャッシュ
ラインバウンダリアドレスに変換するようになされてい
る。要求手段は、情報処理装置に対し、キャッシュライ
ンバウンダリアドレスから、キャッシュラインサイズ分
のデータの転送を要求し、記憶手段は、要求手段の要求
に対応して、情報処理装置から転送されてくるキャッシ
ュラインサイズ分のデータを記憶するようになされてい
る。報知手段は、主記憶アドレスとキャッシュラインバ
ウンダリアドレスとの差に対応して、記憶手段に記憶さ
れたキャッシュラインサイズ分のデータのうち、主記憶
アドレスからのデータを、外部デバイスに報知するよう
になされている。
【0037】請求項3に記載のデータ転送制御方法にお
いては、外部デバイスから、転送すべきデータが記憶さ
れた主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、キャッシュメモリのキャッ
シュラインサイズに基づいて、キャッシュラインバウン
ダリアドレスに変換し、情報処理装置に対し、キャッシ
ュラインバウンダリアドレスから、キャッシュラインサ
イズ分のデータの転送を要求し、その要求に対応して、
情報処理装置から転送されてくるキャッシュラインサイ
ズ分のデータを記憶し、主記憶アドレスとキャッシュラ
インバウンダリアドレスとの差に対応して、記憶された
キャッシュラインサイズ分のデータのうち、主記憶アド
レスからのデータを、外部デバイスに報知するようにな
されている。
いては、外部デバイスから、転送すべきデータが記憶さ
れた主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、キャッシュメモリのキャッ
シュラインサイズに基づいて、キャッシュラインバウン
ダリアドレスに変換し、情報処理装置に対し、キャッシ
ュラインバウンダリアドレスから、キャッシュラインサ
イズ分のデータの転送を要求し、その要求に対応して、
情報処理装置から転送されてくるキャッシュラインサイ
ズ分のデータを記憶し、主記憶アドレスとキャッシュラ
インバウンダリアドレスとの差に対応して、記憶された
キャッシュラインサイズ分のデータのうち、主記憶アド
レスからのデータを、外部デバイスに報知するようにな
されている。
【0038】請求項4に記載のデータ転送制御装置にお
いては、変換手段は、外部デバイスから、転送すべきデ
ータが記憶された主記憶装置のアドレスである主記憶ア
ドレスを受信し、その主記憶アドレスを、キャッシュメ
モリのキャッシュラインサイズに基づいて、キャッシュ
ラインバウンダリアドレスに変換するようになされてい
る。要求手段は、情報処理装置に対し、キャッシュライ
ンバウンダリアドレスから、キャッシュラインサイズ分
のデータの転送を要求し、記憶手段は、要求手段の要求
に対応して、情報処理装置から転送されてくるキャッシ
ュラインサイズ分のデータを記憶するようになされてい
る。出力手段は、主記憶アドレスとキャッシュラインバ
ウンダリアドレスとの差に対応して、記憶手段に記憶さ
れたキャッシュラインサイズ分のデータのうち、主記憶
アドレスからのデータを、外部デバイスに出力するよう
になされている。
いては、変換手段は、外部デバイスから、転送すべきデ
ータが記憶された主記憶装置のアドレスである主記憶ア
ドレスを受信し、その主記憶アドレスを、キャッシュメ
モリのキャッシュラインサイズに基づいて、キャッシュ
ラインバウンダリアドレスに変換するようになされてい
る。要求手段は、情報処理装置に対し、キャッシュライ
ンバウンダリアドレスから、キャッシュラインサイズ分
のデータの転送を要求し、記憶手段は、要求手段の要求
に対応して、情報処理装置から転送されてくるキャッシ
ュラインサイズ分のデータを記憶するようになされてい
る。出力手段は、主記憶アドレスとキャッシュラインバ
ウンダリアドレスとの差に対応して、記憶手段に記憶さ
れたキャッシュラインサイズ分のデータのうち、主記憶
アドレスからのデータを、外部デバイスに出力するよう
になされている。
【0039】
【発明の実施の形態】以下に、本発明の実施例を説明す
るが、その前に、特許請求の範囲に記載の発明の各手段
と以下の実施例との対応関係を明らかにするために、各
手段の後の括弧内に、対応する実施例(但し、一例)を
付加して、本発明の特徴を記述すると、次のようにな
る。
るが、その前に、特許請求の範囲に記載の発明の各手段
と以下の実施例との対応関係を明らかにするために、各
手段の後の括弧内に、対応する実施例(但し、一例)を
付加して、本発明の特徴を記述すると、次のようにな
る。
【0040】即ち、請求項1に記載のデータ転送制御装
置は、少なくとも主記憶装置(例えば、図1に示すメイ
ンメモリ4など)およびキャッシュメモリ(例えば、図
1に示すキャッシュメモリ3など)を有する情報処理装
置(例えば、図1に示すコンピュータ本体など)におい
て、外部デバイス(例えば、図1に示す外部デバイス1
1など)へ転送するデータの読み出しが、キャッシュメ
モリから行われるときに、そのデータの転送を制御する
データ転送制御装置であって、外部デバイスから、転送
すべきデータが記憶された主記憶装置のアドレスである
主記憶アドレスを受信し、その主記憶アドレスを、キャ
ッシュメモリのキャッシュラインサイズに基づいて、キ
ャッシュラインバウンダリアドレスに変換する変換手段
(例えば、図1に示すアドレス変換部8など)と、情報
処理装置に対し、キャッシュラインバウンダリアドレス
から、キャッシュラインサイズ分のデータの転送を要求
する要求手段(例えば、図1に示すアドレス変換部8な
ど)と、要求手段の要求に対応して、情報処理装置から
転送されてくるキャッシュラインサイズ分のデータを記
憶する記憶手段(例えば、図1に示すFIFO(First
In First Out)メモリ10など)と、主記憶アドレスと
キャッシュラインバウンダリアドレスとの差に対応し
て、記憶手段に記憶されたキャッシュラインサイズ分の
データのうち、主記憶アドレスからのデータを、外部デ
バイスに報知する報知手段(例えば、図1に示すFIF
O制御部9など)とを備えることを特徴とする。
置は、少なくとも主記憶装置(例えば、図1に示すメイ
ンメモリ4など)およびキャッシュメモリ(例えば、図
1に示すキャッシュメモリ3など)を有する情報処理装
置(例えば、図1に示すコンピュータ本体など)におい
て、外部デバイス(例えば、図1に示す外部デバイス1
1など)へ転送するデータの読み出しが、キャッシュメ
モリから行われるときに、そのデータの転送を制御する
データ転送制御装置であって、外部デバイスから、転送
すべきデータが記憶された主記憶装置のアドレスである
主記憶アドレスを受信し、その主記憶アドレスを、キャ
ッシュメモリのキャッシュラインサイズに基づいて、キ
ャッシュラインバウンダリアドレスに変換する変換手段
(例えば、図1に示すアドレス変換部8など)と、情報
処理装置に対し、キャッシュラインバウンダリアドレス
から、キャッシュラインサイズ分のデータの転送を要求
する要求手段(例えば、図1に示すアドレス変換部8な
ど)と、要求手段の要求に対応して、情報処理装置から
転送されてくるキャッシュラインサイズ分のデータを記
憶する記憶手段(例えば、図1に示すFIFO(First
In First Out)メモリ10など)と、主記憶アドレスと
キャッシュラインバウンダリアドレスとの差に対応し
て、記憶手段に記憶されたキャッシュラインサイズ分の
データのうち、主記憶アドレスからのデータを、外部デ
バイスに報知する報知手段(例えば、図1に示すFIF
O制御部9など)とを備えることを特徴とする。
【0041】請求項2に記載のデータ転送制御装置は、
情報処理装置が、要求手段によるデータの転送の要求が
あったときに、DMA(Direct Memory Access)によっ
て、データを、キャッシュメモリから転送するDMAコ
ントローラ(例えば、図1に示すDMAバスコントロー
ラ5など)をさらに有することを特徴とする。
情報処理装置が、要求手段によるデータの転送の要求が
あったときに、DMA(Direct Memory Access)によっ
て、データを、キャッシュメモリから転送するDMAコ
ントローラ(例えば、図1に示すDMAバスコントロー
ラ5など)をさらに有することを特徴とする。
【0042】請求項4に記載のデータ転送制御装置は、
少なくとも主記憶装置(例えば、図1に示すメインメモ
リ4など)およびキャッシュメモリ(例えば、図1に示
すキャッシュメモリ3など)を有する情報処理装置(例
えば、図1に示すコンピュータ本体など)において、外
部デバイス(例えば、図1に示す外部デバイス11な
ど)へ転送するデータの読み出しが、キャッシュメモリ
から行われるときに、そのデータの転送を制御するデー
タ転送制御装置であって、外部デバイスから、転送すべ
きデータが記憶された主記憶装置のアドレスである主記
憶アドレスを受信し、その主記憶アドレスを、キャッシ
ュメモリのキャッシュラインサイズに基づいて、キャッ
シュラインバウンダリアドレスに変換する変換手段(例
えば、図1に示すアドレス変換部8など)と、情報処理
装置に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータの転送を要求す
る要求手段(例えば、図1に示すアドレス変換部8な
ど)と、要求手段の要求に対応して、情報処理装置から
転送されてくるキャッシュラインサイズ分のデータを記
憶する記憶手段(例えば、図1に示すFIFOメモリ1
0など)と、主記憶アドレスとキャッシュラインバウン
ダリアドレスとの差に対応して、記憶手段に記憶された
キャッシュラインサイズ分のデータのうち、主記憶アド
レスからのデータを、外部デバイスに出力する出力手段
(例えば、FIFO制御部9など)とを備えることを特
徴とする。
少なくとも主記憶装置(例えば、図1に示すメインメモ
リ4など)およびキャッシュメモリ(例えば、図1に示
すキャッシュメモリ3など)を有する情報処理装置(例
えば、図1に示すコンピュータ本体など)において、外
部デバイス(例えば、図1に示す外部デバイス11な
ど)へ転送するデータの読み出しが、キャッシュメモリ
から行われるときに、そのデータの転送を制御するデー
タ転送制御装置であって、外部デバイスから、転送すべ
きデータが記憶された主記憶装置のアドレスである主記
憶アドレスを受信し、その主記憶アドレスを、キャッシ
ュメモリのキャッシュラインサイズに基づいて、キャッ
シュラインバウンダリアドレスに変換する変換手段(例
えば、図1に示すアドレス変換部8など)と、情報処理
装置に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータの転送を要求す
る要求手段(例えば、図1に示すアドレス変換部8な
ど)と、要求手段の要求に対応して、情報処理装置から
転送されてくるキャッシュラインサイズ分のデータを記
憶する記憶手段(例えば、図1に示すFIFOメモリ1
0など)と、主記憶アドレスとキャッシュラインバウン
ダリアドレスとの差に対応して、記憶手段に記憶された
キャッシュラインサイズ分のデータのうち、主記憶アド
レスからのデータを、外部デバイスに出力する出力手段
(例えば、FIFO制御部9など)とを備えることを特
徴とする。
【0043】なお、勿論この記載は、各手段を上記した
ものに限定することを意味するものではない。
ものに限定することを意味するものではない。
【0044】図1は、本発明を適用したコンピュータシ
ステムの一実施例の構成を示している。なお、図中、図
5における場合と対応する部分については、同一の符号
を付してあり、以下では、その説明は、適宜省略する。
即ち、このコンピュータシステムは、データ転送制御部
6が新たに設けられ、コンピュータ本体と、外部デバイ
ス11とが、このデータ転送制御部6を介して接続され
ている他は、図5のコンピュータシステムと同様に構成
されている。
ステムの一実施例の構成を示している。なお、図中、図
5における場合と対応する部分については、同一の符号
を付してあり、以下では、その説明は、適宜省略する。
即ち、このコンピュータシステムは、データ転送制御部
6が新たに設けられ、コンピュータ本体と、外部デバイ
ス11とが、このデータ転送制御部6を介して接続され
ている他は、図5のコンピュータシステムと同様に構成
されている。
【0045】データ転送制御部6は、アドレスオフセッ
トカウンタ7、アドレス変換部8、FIFO制御部9、
およびFIFOメモリ10で構成されている。アドレス
オフセットカウンタ7は、アドレス変換部8から供給さ
れる、後述するアドレスオフセットを記憶するようにな
されている。そして、アドレスオフセットカウンタ7
は、FIFO制御部9の制御にしたがって、その記憶値
を1ずつデインクリメントするようになされている。
トカウンタ7、アドレス変換部8、FIFO制御部9、
およびFIFOメモリ10で構成されている。アドレス
オフセットカウンタ7は、アドレス変換部8から供給さ
れる、後述するアドレスオフセットを記憶するようにな
されている。そして、アドレスオフセットカウンタ7
は、FIFO制御部9の制御にしたがって、その記憶値
を1ずつデインクリメントするようになされている。
【0046】アドレス変換部8は、外部デバイス11か
ら送信されてくる、転送すべきデータが記憶されたメイ
ンメモリ4のアドレス(主記憶アドレス)を受信し、そ
のアドレスを、キャッシュメモリ3のキャッシュライン
サイズに基づいて、後述するようなキャッシュラインバ
ウンダリアドレス(cache line boundary addrress)に
変換するようになされている。なお、キャッシュライン
サイズは、コンピュータ本体からアドレス変換部8に報
知されるようになされている。
ら送信されてくる、転送すべきデータが記憶されたメイ
ンメモリ4のアドレス(主記憶アドレス)を受信し、そ
のアドレスを、キャッシュメモリ3のキャッシュライン
サイズに基づいて、後述するようなキャッシュラインバ
ウンダリアドレス(cache line boundary addrress)に
変換するようになされている。なお、キャッシュライン
サイズは、コンピュータ本体からアドレス変換部8に報
知されるようになされている。
【0047】さらに、アドレス変換部8は、外部デバイ
ス11からのアドレスとキャッシュラインバウンダリア
ドレスとの差を計算し、これに対応する値をアドレスオ
フセットとして、アドレスオフセットカウンタ7に供給
して記憶されるようになされている。また、アドレス変
換部8は、DMAバスコントローラ5(コンピュータ本
体)に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータのDMAによる
転送を要求するようにもなされている。
ス11からのアドレスとキャッシュラインバウンダリア
ドレスとの差を計算し、これに対応する値をアドレスオ
フセットとして、アドレスオフセットカウンタ7に供給
して記憶されるようになされている。また、アドレス変
換部8は、DMAバスコントローラ5(コンピュータ本
体)に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータのDMAによる
転送を要求するようにもなされている。
【0048】FIFO制御部9は、FIFOメモリ10
を制御する他、DMAバスコントローラ5から送信され
てくるデータ有効信号を受信するようになされている。
さらに、FIFO制御部9は、FIFOメモリ10に、
DMAバスコントローラ5から送信されてきたデータが
記憶された後、そこからデータが1ワード読み出される
ごとに、アドレスオフセットカウンタ7の記憶値を1ず
つデクリメントするようになされている。そして、FI
FO制御部9は、アドレス変換部8を介して、アドレス
オフセットカウンタ7の記憶値を参照し、その値に基づ
いて、外部デバイス11に対し、外部デバイス11が受
信すべきデータを報知するようになされている。
を制御する他、DMAバスコントローラ5から送信され
てくるデータ有効信号を受信するようになされている。
さらに、FIFO制御部9は、FIFOメモリ10に、
DMAバスコントローラ5から送信されてきたデータが
記憶された後、そこからデータが1ワード読み出される
ごとに、アドレスオフセットカウンタ7の記憶値を1ず
つデクリメントするようになされている。そして、FI
FO制御部9は、アドレス変換部8を介して、アドレス
オフセットカウンタ7の記憶値を参照し、その値に基づ
いて、外部デバイス11に対し、外部デバイス11が受
信すべきデータを報知するようになされている。
【0049】FIFOメモリ10は、FIFO制御部9
の制御の下、アドレス変換部8によるDMA要求によ
り、DMAバスコントローラ5から転送されてくるキャ
ッシュラインサイズ分のデータを一時記憶し、外部デバ
イス11に出力するようになされている。
の制御の下、アドレス変換部8によるDMA要求によ
り、DMAバスコントローラ5から転送されてくるキャ
ッシュラインサイズ分のデータを一時記憶し、外部デバ
イス11に出力するようになされている。
【0050】次に、その動作について説明する。まず、
外部デバイス11からコンピュータ本体へのDMAによ
るデータ転送は、図5における場合と同様に行われる。
即ち、この場合、外部デバイス11からの出力信号は、
データ転送制御部6をバイパスして、DMAバスコント
ローラ5に送信され、また、DMAバスコントローラ5
からの出力信号も、同じくデータ転送制御部6をバイパ
スして、外部デバイス11に送信される。
外部デバイス11からコンピュータ本体へのDMAによ
るデータ転送は、図5における場合と同様に行われる。
即ち、この場合、外部デバイス11からの出力信号は、
データ転送制御部6をバイパスして、DMAバスコント
ローラ5に送信され、また、DMAバスコントローラ5
からの出力信号も、同じくデータ転送制御部6をバイパ
スして、外部デバイス11に送信される。
【0051】一方、外部デバイス11がコンピュータ本
体からDMAによりデータを読み出す場合には、図2の
フローチャートにしたがった処理が行われる。即ち、こ
の場合、外部デバイス11からは、DMAリード要求と
ともに、その要求するデータの、メインメモリ4におけ
る先頭アドレス(以下、適宜、リード要求アドレスとい
う)とデータ量(サイズ)が出力される。このDMAリ
ード要求は、リード要求アドレスおよびデータ量ととも
に、データ転送制御部6に供給され、アドレス変換部8
において受信される。アドレス変換部8では、DMAリ
ード要求とともに、リード要求アドレスおよびデータ量
が受信され、ステップS1において、そのリード要求ア
ドレスが、キャッシュラインバウンダリアドレスと一致
するか否かが判定される。
体からDMAによりデータを読み出す場合には、図2の
フローチャートにしたがった処理が行われる。即ち、こ
の場合、外部デバイス11からは、DMAリード要求と
ともに、その要求するデータの、メインメモリ4におけ
る先頭アドレス(以下、適宜、リード要求アドレスとい
う)とデータ量(サイズ)が出力される。このDMAリ
ード要求は、リード要求アドレスおよびデータ量ととも
に、データ転送制御部6に供給され、アドレス変換部8
において受信される。アドレス変換部8では、DMAリ
ード要求とともに、リード要求アドレスおよびデータ量
が受信され、ステップS1において、そのリード要求ア
ドレスが、キャッシュラインバウンダリアドレスと一致
するか否かが判定される。
【0052】ここで、キャッシュラインバウンダリアド
レスについて説明する。キャッシュメモリ3には、通
常、例えばメインメモリ4のアドレス0x0000から
キャッシュラインサイズ分の範囲ごとのデータが記憶さ
れる。即ち、キャッシュラインサイズが、前述したよう
に、例えば16ワードである場合、キャッシュラインに
は、メインメモリ4のアドレス0x0000乃至0x0
03fに記憶された16ワードのデータ、0x0040
乃至0x007fに記憶された16ワードのデータ、0
x0080乃至0x00cfに記憶された16ワードの
データ、・・・という単位で、データが記憶される。こ
のような場合において、キャッシュラインの先頭に記憶
されるデータのメインメモリ4におけるアドレスがキャ
ッシュラインバウンダリアドレスである。従って、この
場合、キャッシュラインバウンダリアドレスは、0x0
000,0x0040,0x0080,0x00c0,
・・・となる。
レスについて説明する。キャッシュメモリ3には、通
常、例えばメインメモリ4のアドレス0x0000から
キャッシュラインサイズ分の範囲ごとのデータが記憶さ
れる。即ち、キャッシュラインサイズが、前述したよう
に、例えば16ワードである場合、キャッシュラインに
は、メインメモリ4のアドレス0x0000乃至0x0
03fに記憶された16ワードのデータ、0x0040
乃至0x007fに記憶された16ワードのデータ、0
x0080乃至0x00cfに記憶された16ワードの
データ、・・・という単位で、データが記憶される。こ
のような場合において、キャッシュラインの先頭に記憶
されるデータのメインメモリ4におけるアドレスがキャ
ッシュラインバウンダリアドレスである。従って、この
場合、キャッシュラインバウンダリアドレスは、0x0
000,0x0040,0x0080,0x00c0,
・・・となる。
【0053】ステップS1において、リード要求アドレ
スが、キャッシュラインバウンダリアドレスと一致しな
いと判定された場合、ステップS2に進み、アドレス変
換部8において、リード要求アドレスが、それより小さ
い値の、そのリード要求アドレスとの差が最も小さいキ
ャッシュラインバウンダリアドレス(以下、適宜、変換
バウンダリアドレスという)に変換される。さらに、ス
テップS3では、リード要求アドレスと変換バウンダリ
アドレスとの差((リード要求アドレス)−(変換バウ
ンダリアドレス))が計算され、さらに、その差分値
が、1ワードを構成するバイト数(ここでは、前述した
ように4バイトとする)で除算される。そして、その除
算の結果得られた商が、アドレスオフセットとされる。
従って、アドレスオフセットは、リード要求アドレスと
変換バウンダリアドレスとの差を、ワード数で表したも
のということができる。即ち、変換バウンダリアドレス
からアドレスオフセットに対応するワード数のデータが
読み出された後に読み出されるデータが、リード要求ア
ドレスからのデータということになる。
スが、キャッシュラインバウンダリアドレスと一致しな
いと判定された場合、ステップS2に進み、アドレス変
換部8において、リード要求アドレスが、それより小さ
い値の、そのリード要求アドレスとの差が最も小さいキ
ャッシュラインバウンダリアドレス(以下、適宜、変換
バウンダリアドレスという)に変換される。さらに、ス
テップS3では、リード要求アドレスと変換バウンダリ
アドレスとの差((リード要求アドレス)−(変換バウ
ンダリアドレス))が計算され、さらに、その差分値
が、1ワードを構成するバイト数(ここでは、前述した
ように4バイトとする)で除算される。そして、その除
算の結果得られた商が、アドレスオフセットとされる。
従って、アドレスオフセットは、リード要求アドレスと
変換バウンダリアドレスとの差を、ワード数で表したも
のということができる。即ち、変換バウンダリアドレス
からアドレスオフセットに対応するワード数のデータが
読み出された後に読み出されるデータが、リード要求ア
ドレスからのデータということになる。
【0054】ここで、キャッシュラインサイズが、上述
したように16ワードである場合、アドレスオフセット
は、0乃至15のいずれかの値となる。
したように16ワードである場合、アドレスオフセット
は、0乃至15のいずれかの値となる。
【0055】アドレス変換部8は、以上のようにして変
換バウンダリアドレスと、アドレスオフセットを求めた
後、アドレスオフセットを、アドレスオフセットカウン
タ7にセットし、ステップS3に進む。
換バウンダリアドレスと、アドレスオフセットを求めた
後、アドレスオフセットを、アドレスオフセットカウン
タ7にセットし、ステップS3に進む。
【0056】一方、ステップS1において、リード要求
アドレスが、キャッシュラインバウンダリアドレスと一
致すると判定された場合、アドレス変換部8は、そのリ
ード要求アドレスを変換バウンダリアドレスとするとと
もに、アドレスオフセットとして0を、アドレスオフセ
ットカウンタ7にセットし、ステップS3に進む。ステ
ップS3では、変換バウンダリアドレスを先頭アドレス
とするキャッシュラインサイズ分のデータ(変換バウン
ダリアドレスからキャッシュラインサイズ分のデータ)
のDMAリード要求が、アドレス変換部8からDMAバ
スコントローラ5に出力される。
アドレスが、キャッシュラインバウンダリアドレスと一
致すると判定された場合、アドレス変換部8は、そのリ
ード要求アドレスを変換バウンダリアドレスとするとと
もに、アドレスオフセットとして0を、アドレスオフセ
ットカウンタ7にセットし、ステップS3に進む。ステ
ップS3では、変換バウンダリアドレスを先頭アドレス
とするキャッシュラインサイズ分のデータ(変換バウン
ダリアドレスからキャッシュラインサイズ分のデータ)
のDMAリード要求が、アドレス変換部8からDMAバ
スコントローラ5に出力される。
【0057】その後、データ転送制御部6では、ステッ
プS4において、DMAバスコントローラ5によってア
ービトレーションがとられるのを待って(DMAバスコ
ントローラ5からDMA許可が出力されるのを待っ
て)、ステップS5に進む。
プS4において、DMAバスコントローラ5によってア
ービトレーションがとられるのを待って(DMAバスコ
ントローラ5からDMA許可が出力されるのを待っ
て)、ステップS5に進む。
【0058】ここで、DMAバスコントローラ5は、ア
ドレス変換部8からDMAリード要求を受信すると、前
述したようにアービトレーションをとって、キャッシュ
メモリ3からデータを読み出す。但し、図1のコンピュ
ータシステムでは、外部デバイス11が、どのようなデ
ータ量のDMAリード要求をした場合であっても(極端
には、例えば1ワードのデータのDMAリード要求をし
た場合であっても)(但し、キャッシュラインサイズの
範囲内とする)、キャッシュメモリ3からは、変換バウ
ンダリアドレスからキャッシュラインサイズ分のデータ
が読み出される。
ドレス変換部8からDMAリード要求を受信すると、前
述したようにアービトレーションをとって、キャッシュ
メモリ3からデータを読み出す。但し、図1のコンピュ
ータシステムでは、外部デバイス11が、どのようなデ
ータ量のDMAリード要求をした場合であっても(極端
には、例えば1ワードのデータのDMAリード要求をし
た場合であっても)(但し、キャッシュラインサイズの
範囲内とする)、キャッシュメモリ3からは、変換バウ
ンダリアドレスからキャッシュラインサイズ分のデータ
が読み出される。
【0059】DMAバスコントローラ5は、キャッシュ
メモリ3より、変換バウンダリアドレスからキャッシュ
ラインサイズ分のデータを読み出すと、前述したよう
に、データ有効信号とともに、I/Oバスを介して出力
する。
メモリ3より、変換バウンダリアドレスからキャッシュ
ラインサイズ分のデータを読み出すと、前述したよう
に、データ有効信号とともに、I/Oバスを介して出力
する。
【0060】ステップS5では、以上のようにして、D
MAバスコントローラ5から出力される、変換バウンダ
リアドレスからキャッシュラインサイズ分のデータが、
FIFOメモリ10で受信されて記憶される。
MAバスコントローラ5から出力される、変換バウンダ
リアドレスからキャッシュラインサイズ分のデータが、
FIFOメモリ10で受信されて記憶される。
【0061】そして、ステップS6に進み、FIFO制
御部9において、アドレス変換部8を介して、アドレス
オフセットカウンタ7が参照され、アドレスオフセット
が0以下であるかどうかが判定される。ステップS6に
おいて、アドレスオフセットが0以下でないと判定され
た場合、ステップS7に進み、FIFO制御部9によっ
て、FIFOメモリ10が制御され、これにより、FI
FOメモリ10から、1ワード分のデータが読み出さ
れ、外部デバイス11に出力される。なお、この場合、
FIFO制御部9から外部デバイス11に供給されてい
るデータ有効信号はアクティブ(ON)(本実施例で
は、前述したようにアクティブローであるから、Lレベ
ル)にされておらず、従って、ステップS7でFIFO
メモリ10から読み出された1ワードのデータは、外部
デバイス11で受信されない。
御部9において、アドレス変換部8を介して、アドレス
オフセットカウンタ7が参照され、アドレスオフセット
が0以下であるかどうかが判定される。ステップS6に
おいて、アドレスオフセットが0以下でないと判定され
た場合、ステップS7に進み、FIFO制御部9によっ
て、FIFOメモリ10が制御され、これにより、FI
FOメモリ10から、1ワード分のデータが読み出さ
れ、外部デバイス11に出力される。なお、この場合、
FIFO制御部9から外部デバイス11に供給されてい
るデータ有効信号はアクティブ(ON)(本実施例で
は、前述したようにアクティブローであるから、Lレベ
ル)にされておらず、従って、ステップS7でFIFO
メモリ10から読み出された1ワードのデータは、外部
デバイス11で受信されない。
【0062】ステップS7では、FIFOメモリ10か
ら1ワード分のデータが読み出された後、さらに、FI
FO制御部9によって、アドレス変換部8を介して、ア
ドレスオフセットカウンタ7に記憶されているアドレス
オフセットが1だけデクリメントされ、ステップS6に
戻る。
ら1ワード分のデータが読み出された後、さらに、FI
FO制御部9によって、アドレス変換部8を介して、ア
ドレスオフセットカウンタ7に記憶されているアドレス
オフセットが1だけデクリメントされ、ステップS6に
戻る。
【0063】一方、ステップS7において、アドレスオ
フセットが0以下であると判定された場合、ステップS
8に進み、FIFO制御部9から外部デバイス11に供
給されているデータ有効信号がアクティブ(ON)にさ
れる。
フセットが0以下であると判定された場合、ステップS
8に進み、FIFO制御部9から外部デバイス11に供
給されているデータ有効信号がアクティブ(ON)にさ
れる。
【0064】そして、ステップS9に進み、FIFOメ
モリ10から1ワードのデータが読み出され、ステップ
S10に進み、データ要求信号がアクティブ(ON)
(有効)(Lレベル)であるかどうかが判定される。ス
テップS10において、データ要求信号がアクティブで
あると判定された場合、ステップS9に戻り、次の1ワ
ードのデータが、FIFOメモリ10から読み出され、
以下、同様の処理が繰り返される。
モリ10から1ワードのデータが読み出され、ステップ
S10に進み、データ要求信号がアクティブ(ON)
(有効)(Lレベル)であるかどうかが判定される。ス
テップS10において、データ要求信号がアクティブで
あると判定された場合、ステップS9に戻り、次の1ワ
ードのデータが、FIFOメモリ10から読み出され、
以下、同様の処理が繰り返される。
【0065】ここで、外部デバイス11では、DMAリ
ード要求がなされるのと同時に、FIFO制御部9に対
して供給しているデータ要求信号(データを要求中であ
ることを示す信号)をアクティブにするようになされて
いる。そして、外部デバイス11は、このデータ要求信
号と、FIFO制御部9からのデータ有効信号のいずれ
もがアクティブの場合のみ、FIFOメモリ10から読
み出されたデータを受信するようになされている。そし
て、外部デバイス11では、自身が要求したデータ量の
データを受信すると、データ有効信号をOFF(Hレベ
ル)にするようになされている。
ード要求がなされるのと同時に、FIFO制御部9に対
して供給しているデータ要求信号(データを要求中であ
ることを示す信号)をアクティブにするようになされて
いる。そして、外部デバイス11は、このデータ要求信
号と、FIFO制御部9からのデータ有効信号のいずれ
もがアクティブの場合のみ、FIFOメモリ10から読
み出されたデータを受信するようになされている。そし
て、外部デバイス11では、自身が要求したデータ量の
データを受信すると、データ有効信号をOFF(Hレベ
ル)にするようになされている。
【0066】従って、ステップS9でFIFOメモリ1
0から読み出されたデータは、データ要求信号がOFF
にされるまで、外部デバイス11で受信されることにな
る。
0から読み出されたデータは、データ要求信号がOFF
にされるまで、外部デバイス11で受信されることにな
る。
【0067】その後、外部デバイス11で、自身が要求
したデータ量のデータが受信されると、データ有効信号
がOFFにされる。従って、この場合、ステップS10
からステップS11に進み、FIFO制御部9によっ
て、データ有効信号がOFFにされ、ステップS12に
進む。ステップS12では、FIFO制御部9の制御の
下、FIFOメモリ10に残っているデータがすべて読
み出され(この場合、データ要求信号とデータ有効信号
とはいずれもOFFであるから、ステップS12で読み
出されるデータは、外部デバイス11では受信されな
い)、処理を終了する。
したデータ量のデータが受信されると、データ有効信号
がOFFにされる。従って、この場合、ステップS10
からステップS11に進み、FIFO制御部9によっ
て、データ有効信号がOFFにされ、ステップS12に
進む。ステップS12では、FIFO制御部9の制御の
下、FIFOメモリ10に残っているデータがすべて読
み出され(この場合、データ要求信号とデータ有効信号
とはいずれもOFFであるから、ステップS12で読み
出されるデータは、外部デバイス11では受信されな
い)、処理を終了する。
【0068】以上の処理によれば、例えば、前述の図6
(F)に示したようなDMAリード要求があった場合、
即ち、図3に示すように、外部デバイス11から、DM
Aリード要求が、リード要求アドレスを0x08とする
とともに、データ量を12ワードとしてなされた場合
(アドレス0x08乃至0x37に記憶されている12
ワードのデータC乃至NのDMAリード要求があった場
合)には、リード要求アドレス0x08は、キャッシュ
ラインバウンダリアドレス0x0000,0x004
0,0x0080,・・・のうちのいずれとも一致しな
いから、ステップS2において、そのリード要求アドレ
スより小さい値の、そのリード要求アドレスとの差が最
も小さいキャッシュラインバウンダリアドレス0x00
00に変換される。そして、ステップS3において、こ
の変換バウンダリアドレス0x0000を、データの読
み出しの先頭アドレスとするキャッシュライン分(16
ワード)のDMAリード要求がなされる。
(F)に示したようなDMAリード要求があった場合、
即ち、図3に示すように、外部デバイス11から、DM
Aリード要求が、リード要求アドレスを0x08とする
とともに、データ量を12ワードとしてなされた場合
(アドレス0x08乃至0x37に記憶されている12
ワードのデータC乃至NのDMAリード要求があった場
合)には、リード要求アドレス0x08は、キャッシュ
ラインバウンダリアドレス0x0000,0x004
0,0x0080,・・・のうちのいずれとも一致しな
いから、ステップS2において、そのリード要求アドレ
スより小さい値の、そのリード要求アドレスとの差が最
も小さいキャッシュラインバウンダリアドレス0x00
00に変換される。そして、ステップS3において、こ
の変換バウンダリアドレス0x0000を、データの読
み出しの先頭アドレスとするキャッシュライン分(16
ワード)のDMAリード要求がなされる。
【0069】従って、この場合、FIFOメモリ10に
は、ステップS5において、図3に示すように、アドレ
ス0x00乃至0x3fに記憶されたA乃至Pの16ワ
ードのデータが記憶されることになる。このようにデー
タがFIFOメモリ10に記憶された場合、そこから最
初に読み出される2ワードのデータAとBは、外部デバ
イス11が要求したデータではない(このようなデータ
を、以下、適宜、非要求データという)。
は、ステップS5において、図3に示すように、アドレ
ス0x00乃至0x3fに記憶されたA乃至Pの16ワ
ードのデータが記憶されることになる。このようにデー
タがFIFOメモリ10に記憶された場合、そこから最
初に読み出される2ワードのデータAとBは、外部デバ
イス11が要求したデータではない(このようなデータ
を、以下、適宜、非要求データという)。
【0070】一方、リード要求アドレスと変換バウンダ
リアドレスとの差は、0x08(=0x08−0x0
0)であるから、アドレスオフセットは、0x08を、
1ワードを構成するバイト数である4バイトで除算した
2とされる。従って、アドレスオフセットは、非要求デ
ータのワード数と一致する。このアドレスオフセット
は、ステップS7において、FIFOメモリ10から1
ワードのデータが読み出されるごとに1ずつデクリメン
トされるから、このアドレスオフセットが0になった後
にFIFOメモリ10から読み出しの開始されるデータ
が、外部デバイス11が受信すべき、リード要求アドレ
スに記憶されたデータということになる。
リアドレスとの差は、0x08(=0x08−0x0
0)であるから、アドレスオフセットは、0x08を、
1ワードを構成するバイト数である4バイトで除算した
2とされる。従って、アドレスオフセットは、非要求デ
ータのワード数と一致する。このアドレスオフセット
は、ステップS7において、FIFOメモリ10から1
ワードのデータが読み出されるごとに1ずつデクリメン
トされるから、このアドレスオフセットが0になった後
にFIFOメモリ10から読み出しの開始されるデータ
が、外部デバイス11が受信すべき、リード要求アドレ
スに記憶されたデータということになる。
【0071】従って、外部デバイス11には、アドレス
オフセットが0になった後に、FIFOメモリ10から
読み出されるデータを受信させるようにすれば良い。そ
こで、アドレスオフセットが0になると、ステップS8
において、データ有効信号をアクティブにし、これによ
り、それ以後に、FIFOメモリ10から読み出される
データを、外部デバイス11に受信させるようになされ
ている。
オフセットが0になった後に、FIFOメモリ10から
読み出されるデータを受信させるようにすれば良い。そ
こで、アドレスオフセットが0になると、ステップS8
において、データ有効信号をアクティブにし、これによ
り、それ以後に、FIFOメモリ10から読み出される
データを、外部デバイス11に受信させるようになされ
ている。
【0072】なお、この場合、外部デバイス11が要求
したのは、アドレス0x08乃至0x37に記憶されて
いる12ワードのデータC乃至Nであるから、図3に示
したアドレス0x38,0x3cにそれぞれ記憶された
1ワードのデータO,Pも、上述のデータA,Bと同様
に、非要求データである。従って、外部デバイス11に
は、このデータO,Pも受信させないようにする必要が
ある。これは、次のようにして行われるようになされて
いる。
したのは、アドレス0x08乃至0x37に記憶されて
いる12ワードのデータC乃至Nであるから、図3に示
したアドレス0x38,0x3cにそれぞれ記憶された
1ワードのデータO,Pも、上述のデータA,Bと同様
に、非要求データである。従って、外部デバイス11に
は、このデータO,Pも受信させないようにする必要が
ある。これは、次のようにして行われるようになされて
いる。
【0073】即ち、外部デバイス11は、自身が要求し
たデータ量が12ワードであることを認識しているか
ら、その要求した分のデータを受信すると、データ要求
信号をOFF(Hレベル)にし、これにより、データ
O,Pを受信しない。
たデータ量が12ワードであることを認識しているか
ら、その要求した分のデータを受信すると、データ要求
信号をOFF(Hレベル)にし、これにより、データ
O,Pを受信しない。
【0074】その結果、外部デバイス11では、1度の
DMA要求で、アドレス0x08乃至0x37に記憶さ
れている12ワードのデータC乃至Nのみが受信され
る。
DMA要求で、アドレス0x08乃至0x37に記憶さ
れている12ワードのデータC乃至Nのみが受信され
る。
【0075】次に、図4を参照して、外部デバイス11
が、例えば図3で説明したようなDMAリード要求をし
た場合の信号のやりとりについて説明する。外部デバイ
ス11は、DMAによるデータの転送を要求するとき、
アドレス変換部8に供給しているDMAリード要求信号
をHレベルからLレベルにする(図4(A))。さら
に、外部デバイス11は、FIFO制御部9に供給して
いるデータ要求信号もHレベルからLレベルにする(図
4(F))。
が、例えば図3で説明したようなDMAリード要求をし
た場合の信号のやりとりについて説明する。外部デバイ
ス11は、DMAによるデータの転送を要求するとき、
アドレス変換部8に供給しているDMAリード要求信号
をHレベルからLレベルにする(図4(A))。さら
に、外部デバイス11は、FIFO制御部9に供給して
いるデータ要求信号もHレベルからLレベルにする(図
4(F))。
【0076】DMAリード要求信号は、アドレス変換部
8からDMAバスコントローラ5に供給され、DMAバ
スコントローラ5では、バスのアービトレーションがと
られる。そして、アービトレーションがとられると、D
MAバスコントローラ5は、アドレス変換部8を介して
外部デバイス11に供給しているDMA許可信号を、所
定の期間だけHレベルからLレベルにする(図4
(B))。外部デバイス11は、LレベルのDMA許可
信号を受信すると、アービトレーションがとられたこと
を認識し、DMAリード要求信号をLレベルからHレベ
ルにする(図4(A))。
8からDMAバスコントローラ5に供給され、DMAバ
スコントローラ5では、バスのアービトレーションがと
られる。そして、アービトレーションがとられると、D
MAバスコントローラ5は、アドレス変換部8を介して
外部デバイス11に供給しているDMA許可信号を、所
定の期間だけHレベルからLレベルにする(図4
(B))。外部デバイス11は、LレベルのDMA許可
信号を受信すると、アービトレーションがとられたこと
を認識し、DMAリード要求信号をLレベルからHレベ
ルにする(図4(A))。
【0077】その後、DMAバスコントローラ5から
は、上述したようにアドレス0x00乃至0x3fに記
憶されたキャッシュラインサイズ分のデータA乃至Pが
転送され(図4(C))、FIFOメモリ10に記憶さ
れる。そして、このデータA乃至Pは、FIFOメモリ
10から順次読み出され(図4(D))、外部デバイス
11に供給される。
は、上述したようにアドレス0x00乃至0x3fに記
憶されたキャッシュラインサイズ分のデータA乃至Pが
転送され(図4(C))、FIFOメモリ10に記憶さ
れる。そして、このデータA乃至Pは、FIFOメモリ
10から順次読み出され(図4(D))、外部デバイス
11に供給される。
【0078】FIFOメモリ10からデータの読み出し
が開始されると、そこからのデータの読み出しが1ワー
ドされるごとに、アドレスオフセットは1だけデクリメ
ントされる(図4(G))。そして、このアドレスオフ
セットが0となると、FIFO制御部9から外部デバイ
ス11に供給されているデータ有効信号がHレベルから
Lレベルにされ(図4(E))、これにより、データ有
効信号(図4(E))およびデータ要求信号がともにL
レベルとなるので、外部デバイス11において、FIF
Oメモリ10から読み出されるデータの受信が開始され
る。
が開始されると、そこからのデータの読み出しが1ワー
ドされるごとに、アドレスオフセットは1だけデクリメ
ントされる(図4(G))。そして、このアドレスオフ
セットが0となると、FIFO制御部9から外部デバイ
ス11に供給されているデータ有効信号がHレベルから
Lレベルにされ(図4(E))、これにより、データ有
効信号(図4(E))およびデータ要求信号がともにL
レベルとなるので、外部デバイス11において、FIF
Oメモリ10から読み出されるデータの受信が開始され
る。
【0079】そして、外部デバイス11は、要求したデ
ータ量である12ワードのデータを受信すると、データ
要求信号をLレベルからHレベルにする(図4
(F))。これにより、FIFOメモリ10から読み出
されたデータの、外部デバイス11での受信が停止され
る。さらに、データ要求信号がLレベルからHレベルに
されると、FIFO制御部9は、外部デバイス11に供
給しているデータ有効信号をLレベルからHレベルにす
る(図4(E))。
ータ量である12ワードのデータを受信すると、データ
要求信号をLレベルからHレベルにする(図4
(F))。これにより、FIFOメモリ10から読み出
されたデータの、外部デバイス11での受信が停止され
る。さらに、データ要求信号がLレベルからHレベルに
されると、FIFO制御部9は、外部デバイス11に供
給しているデータ有効信号をLレベルからHレベルにす
る(図4(E))。
【0080】以上のように、外部デバイス11から要求
されたDMAリード要求アドレスおよびデータ量に拘ら
ず、常に、キャッシュラインバウンダリアドレスから、
キャッシュラインサイズ分のデータのDMAを要求する
ようにしたので、DMAの要求が1回で済むようにな
る。従って、アービトレーションが頻繁に生じることを
防止することができるので、コンピュータ本体に対する
負荷を軽減することができ、さらにその処理効率の悪化
を防止することができる。
されたDMAリード要求アドレスおよびデータ量に拘ら
ず、常に、キャッシュラインバウンダリアドレスから、
キャッシュラインサイズ分のデータのDMAを要求する
ようにしたので、DMAの要求が1回で済むようにな
る。従って、アービトレーションが頻繁に生じることを
防止することができるので、コンピュータ本体に対する
負荷を軽減することができ、さらにその処理効率の悪化
を防止することができる。
【0081】また、外部デバイス11は、キャッシュラ
インサイズに対応するアドレスの整合を意識して、DM
Aを、複数回に分けて要求する必要がないので、外部デ
バイス11に対するプログラミングの簡素化(簡単化)
を図ることができる。
インサイズに対応するアドレスの整合を意識して、DM
Aを、複数回に分けて要求する必要がないので、外部デ
バイス11に対するプログラミングの簡素化(簡単化)
を図ることができる。
【0082】さらに、本実施例では、FIFOメモリ1
0に、DMAバスコントローラ5から転送されてきたデ
ータを記憶させるようにしたので、外部デバイス11の
データ受信速度に対して、柔軟に対応することができ
る。
0に、DMAバスコントローラ5から転送されてきたデ
ータを記憶させるようにしたので、外部デバイス11の
データ受信速度に対して、柔軟に対応することができ
る。
【0083】なお、本実施例では、データの読み出し
を、DMAにより行うようにしたが、本発明は、DMA
により行うのではないデータの読み出しについても適用
可能である。
を、DMAにより行うようにしたが、本発明は、DMA
により行うのではないデータの読み出しについても適用
可能である。
【0084】また、本実施例では、外部デバイス11に
対し、データ有効信号によって、FIFOメモリ10か
ら読み出されたデータが、受信すべきデータかどうかを
報知するようにしたが、その他、例えば、FIFO制御
部9に、アドレスオフセットを参照させ、その値が0以
下になった場合に、FIFOメモリ10から読み出され
たデータを、外部デバイス11に出力させるようにする
ことも可能である。
対し、データ有効信号によって、FIFOメモリ10か
ら読み出されたデータが、受信すべきデータかどうかを
報知するようにしたが、その他、例えば、FIFO制御
部9に、アドレスオフセットを参照させ、その値が0以
下になった場合に、FIFOメモリ10から読み出され
たデータを、外部デバイス11に出力させるようにする
ことも可能である。
【0085】さらに、本実施例においては、連続するア
ドレスに記憶されているデータを1回で読み出す場合に
ついて説明したが、この他、例えば不連続なアドレスに
記憶されているデータを1回で転送するようにすること
も可能である。即ち、読み出すべきデータが、あるキャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズの範囲内に記憶されていれば、そのデータのア
ドレスが、連続していても、また不連続であっても、1
回で読み出すことができる。
ドレスに記憶されているデータを1回で読み出す場合に
ついて説明したが、この他、例えば不連続なアドレスに
記憶されているデータを1回で転送するようにすること
も可能である。即ち、読み出すべきデータが、あるキャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズの範囲内に記憶されていれば、そのデータのア
ドレスが、連続していても、また不連続であっても、1
回で読み出すことができる。
【0086】なお、本実施例によれば、例えば1ワード
や2ワードなどの少ないデータ量のデータのDMAリー
ド要求が、外部デバイス11からあった場合でも、キャ
ッシュラインサイズ分のデータのDMAが要求される。
従って、複数のキャッシュラインそれぞれから、少ない
データ量のデータを読み出す場合には、そのキャッシュ
ラインの数だけ、キャッシュラインサイズ分のデータが
読み出されることとなり、却って処理の効率が悪化する
こととなる。しかしながら、通常のアプリケーションで
は、複数のキャッシュラインそれぞれから、少ないデー
タ量のデータを読み出すことが行われるのは非常に少な
いので、実際には、そのようなことが問題となることは
ほとんどない。
や2ワードなどの少ないデータ量のデータのDMAリー
ド要求が、外部デバイス11からあった場合でも、キャ
ッシュラインサイズ分のデータのDMAが要求される。
従って、複数のキャッシュラインそれぞれから、少ない
データ量のデータを読み出す場合には、そのキャッシュ
ラインの数だけ、キャッシュラインサイズ分のデータが
読み出されることとなり、却って処理の効率が悪化する
こととなる。しかしながら、通常のアプリケーションで
は、複数のキャッシュラインそれぞれから、少ないデー
タ量のデータを読み出すことが行われるのは非常に少な
いので、実際には、そのようなことが問題となることは
ほとんどない。
【0087】
【発明の効果】請求項1に記載のデータ転送制御装置お
よび請求項3に記載のデータ転送制御方法によれば、外
部デバイスから、転送すべきデータが記憶された主記憶
装置のアドレスである主記憶アドレスが受信され、その
主記憶アドレスが、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換される。そして、情報処理装置に対し、キャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズ分のデータの転送が要求され、その要求に対応
して、情報処理装置から転送されてくるキャッシュライ
ンサイズ分のデータが記憶される。その後、主記憶アド
レスとキャッシュラインバウンダリアドレスとの差に対
応して、記憶されたキャッシュラインサイズ分のデータ
のうち、主記憶アドレスからのデータが、外部デバイス
に報知される。
よび請求項3に記載のデータ転送制御方法によれば、外
部デバイスから、転送すべきデータが記憶された主記憶
装置のアドレスである主記憶アドレスが受信され、その
主記憶アドレスが、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換される。そして、情報処理装置に対し、キャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズ分のデータの転送が要求され、その要求に対応
して、情報処理装置から転送されてくるキャッシュライ
ンサイズ分のデータが記憶される。その後、主記憶アド
レスとキャッシュラインバウンダリアドレスとの差に対
応して、記憶されたキャッシュラインサイズ分のデータ
のうち、主記憶アドレスからのデータが、外部デバイス
に報知される。
【0088】また、請求項4に記載のデータ転送制御装
置によれば、主記憶アドレスとキャッシュラインバウン
ダリアドレスとの差に対応して、上述したようにして記
憶されたキャッシュラインサイズ分のデータのうち、主
記憶アドレスからのデータが、外部デバイスに出力され
る。
置によれば、主記憶アドレスとキャッシュラインバウン
ダリアドレスとの差に対応して、上述したようにして記
憶されたキャッシュラインサイズ分のデータのうち、主
記憶アドレスからのデータが、外部デバイスに出力され
る。
【0089】従って、外部デバイスが必要とするデータ
を、少ない回数で転送することが可能となる。
を、少ない回数で転送することが可能となる。
【図1】本発明を適用したコンピュータシステムの一実
施例の構成を示すブロック図である。
施例の構成を示すブロック図である。
【図2】図1のデータ転送制御部6を動作を説明するた
めのフローチャートである。
めのフローチャートである。
【図3】図1のコンピュータシステムにおいて、外部デ
バイス11にデータが転送される場合の動作を説明する
ための図である。
バイス11にデータが転送される場合の動作を説明する
ための図である。
【図4】図1のコンピュータシステムの動作を説明する
ためのタイミングチャートである。
ためのタイミングチャートである。
【図5】従来のコンピュータシステムの一例の構成を示
すブロック図である。
すブロック図である。
【図6】キャッシュラインに対するアクセスの制限を説
明するための図である。
明するための図である。
【図7】図5のコンピュータシステムにおいて、外部デ
バイス11にデータが転送される場合の動作を説明する
ための図である。
バイス11にデータが転送される場合の動作を説明する
ための図である。
【図8】図5のコンピュータシステムの動作を説明する
ためのタイミングチャートである。
ためのタイミングチャートである。
1 ROM 2 CPU 3 キャッシュメモリ 4 メインメモリ 5 DMAバスコントローラ 6 データ転送制御部 7 アドレスオフセットカウンタ 8 アドレス変換部 9 FIFO制御部 10 FIFOメモリ 11 外部デバイス
Claims (4)
- 【請求項1】 少なくとも主記憶装置およびキャッシュ
メモリを有する情報処理装置において、外部デバイスへ
転送するデータの読み出しが、前記キャッシュメモリか
ら行われるときに、そのデータの転送を制御するデータ
転送制御装置であって、 前記外部デバイスから、転送すべきデータが記憶された
前記主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、前記キャッシュメモリのキ
ャッシュラインサイズに基づいて、キャッシュラインバ
ウンダリアドレスに変換する変換手段と、 前記情報処理装置に対し、前記キャッシュラインバウン
ダリアドレスから、前記キャッシュラインサイズ分のデ
ータの転送を要求する要求手段と、 前記要求手段の要求に対応して、前記情報処理装置から
転送されてくる前記キャッシュラインサイズ分のデータ
を記憶する記憶手段と、 前記主記憶アドレスとキャッシュラインバウンダリアド
レスとの差に対応して、前記記憶手段に記憶された前記
キャッシュラインサイズ分のデータのうち、前記主記憶
アドレスからの前記データを、前記外部デバイスに報知
する報知手段とを備えることを特徴とするデータ転送制
御装置。 - 【請求項2】 前記情報処理装置は、前記要求手段によ
る前記データの転送の要求があったときに、DMA(Di
rect Memory Access)によって、前記データを、前記キ
ャッシュメモリから転送するDMAコントローラをさら
に有することを特徴とする請求項1に記載のデータ転送
制御装置。 - 【請求項3】 少なくとも主記憶装置およびキャッシュ
メモリを有する情報処理装置において、外部デバイスへ
転送するデータの読み出しが、前記キャッシュメモリか
ら行われるときに、そのデータの転送を制御するデータ
転送制御方法であって、 前記外部デバイスから、転送すべきデータが記憶された
前記主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、前記キャッシュメモリのキ
ャッシュラインサイズに基づいて、キャッシュラインバ
ウンダリアドレスに変換し、 前記情報処理装置に対し、前記キャッシュラインバウン
ダリアドレスから、前記キャッシュラインサイズ分のデ
ータの転送を要求し、 その要求に対応して、前記情報処理装置から転送されて
くる前記キャッシュラインサイズ分のデータを記憶し、 前記主記憶アドレスとキャッシュラインバウンダリアド
レスとの差に対応して、記憶された前記キャッシュライ
ンサイズ分のデータのうち、前記主記憶アドレスからの
前記データを、前記外部デバイスに報知することを特徴
とするデータ転送制御方法。 - 【請求項4】 少なくとも主記憶装置およびキャッシュ
メモリを有する情報処理装置において、外部デバイスへ
転送するデータの読み出しが、前記キャッシュメモリか
ら行われるときに、そのデータの転送を制御するデータ
転送制御装置であって、 前記外部デバイスから、転送すべきデータが記憶された
前記主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、前記キャッシュメモリのキ
ャッシュラインサイズに基づいて、キャッシュラインバ
ウンダリアドレスに変換する変換手段と、 前記情報処理装置に対し、前記キャッシュラインバウン
ダリアドレスから、前記キャッシュラインサイズ分のデ
ータの転送を要求する要求手段と、 前記要求手段の要求に対応して、前記情報処理装置から
転送されてくる前記キャッシュラインサイズ分のデータ
を記憶する記憶手段と、 前記主記憶アドレスとキャッシュラインバウンダリアド
レスとの差に対応して、前記記憶手段に記憶された前記
キャッシュラインサイズ分のデータのうち、前記主記憶
アドレスからの前記データを、前記外部デバイスに出力
する出力手段とを備えることを特徴とするデータ転送制
御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7283178A JPH09128324A (ja) | 1995-10-31 | 1995-10-31 | データ転送制御装置およびデータ転送制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7283178A JPH09128324A (ja) | 1995-10-31 | 1995-10-31 | データ転送制御装置およびデータ転送制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09128324A true JPH09128324A (ja) | 1997-05-16 |
Family
ID=17662166
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7283178A Withdrawn JPH09128324A (ja) | 1995-10-31 | 1995-10-31 | データ転送制御装置およびデータ転送制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09128324A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004057481A1 (ja) * | 2002-12-20 | 2004-07-08 | Fujitsu Limited | Dma制御装置、dma制御方法、dma制御プログラム |
| WO2014038070A1 (ja) | 2012-09-07 | 2014-03-13 | 富士通株式会社 | 情報処理装置,並列計算機システム及び情報処理装置の制御方法 |
| CN114879584A (zh) * | 2022-07-05 | 2022-08-09 | 成都智明达电子股份有限公司 | 一种基于fpga的dma控制器边界对齐方法及其电路 |
-
1995
- 1995-10-31 JP JP7283178A patent/JPH09128324A/ja not_active Withdrawn
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004057481A1 (ja) * | 2002-12-20 | 2004-07-08 | Fujitsu Limited | Dma制御装置、dma制御方法、dma制御プログラム |
| US7330914B2 (en) | 2002-12-20 | 2008-02-12 | Fujitsu Limited | DMA controller, DMA control method and DMA control program |
| WO2014038070A1 (ja) | 2012-09-07 | 2014-03-13 | 富士通株式会社 | 情報処理装置,並列計算機システム及び情報処理装置の制御方法 |
| US10002078B2 (en) | 2012-09-07 | 2018-06-19 | Fujitsu Limited | Information processing apparatus, parallel computer system, and control method for controlling information processing apparatus |
| CN114879584A (zh) * | 2022-07-05 | 2022-08-09 | 成都智明达电子股份有限公司 | 一种基于fpga的dma控制器边界对齐方法及其电路 |
| CN114879584B (zh) * | 2022-07-05 | 2022-10-28 | 成都智明达电子股份有限公司 | 一种基于fpga的dma控制器边界对齐方法及其电路 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20040107265A1 (en) | Shared memory data transfer apparatus | |
| EP1012734B1 (en) | Address translation in computer bus bridge devices | |
| US6907514B2 (en) | Microcomputer and microcomputer system | |
| US20050253858A1 (en) | Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams | |
| US5978879A (en) | Bus bridge apparatus | |
| EP0969384B1 (en) | Method and apparatus for processing information, and providing medium | |
| JP2001333137A (ja) | 自主動作通信制御装置及び自主動作通信制御方法 | |
| US20030236941A1 (en) | Data processor | |
| US5517669A (en) | Cyclic data communication system | |
| KR20040045446A (ko) | 버스트 모드를 지원하는 외부 메모리가 있는 인터페이싱프로세서 | |
| US5418744A (en) | Data transfer apparatus | |
| JP2000215154A (ja) | Dmaコントロ―ラ | |
| JP2599184B2 (ja) | Dmacのリード転送制御装置 | |
| JP2001256169A (ja) | データ転送制御システム及び装置 | |
| JPH06131294A (ja) | データ転送装置 | |
| JP2594611B2 (ja) | Dma転送制御装置 | |
| JP2000047930A (ja) | データ処理装置 | |
| JPH0668019A (ja) | Dma制御装置 | |
| JPH05189311A (ja) | キャッシュメモリ・システム | |
| JPH11184798A (ja) | データ通信装置 | |
| JP2006195810A (ja) | メモリコントローラおよび高速データ転送方法 | |
| JP2003150534A (ja) | チェインブロック転送方法及び通信制御装置 | |
| JPH04160661A (ja) | データ処理システム | |
| JPH0612363A (ja) | メモリ制御装置およびマルチプロセッサシステム | |
| JPH1040213A (ja) | 情報処理装置のdmaデータ転送方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20030107 |