JPH05100950A - メモリシステム - Google Patents
メモリシステムInfo
- Publication number
- JPH05100950A JPH05100950A JP3259279A JP25927991A JPH05100950A JP H05100950 A JPH05100950 A JP H05100950A JP 3259279 A JP3259279 A JP 3259279A JP 25927991 A JP25927991 A JP 25927991A JP H05100950 A JPH05100950 A JP H05100950A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- area
- banks
- block
- 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.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/30—Hydrogen technology
- Y02E60/50—Fuel cells
Landscapes
- Memory System (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 複数のバンクにインターリーブされたメモリ
において、転送元と転送先との間に重複領域が存在する
場合であっても高速なブロック転送を達成する。 【構成】 データ転送装置1は、複数のバンク間でブロ
ックの情報を転送する際に、転送元に指定される前に転
送先に指定された領域が転送元の領域中に重複存在する
か否かを判別する判別ユニット2、及び転送元の領域を
重複領域と非重複領域とに分割する分割処理を重複領域
が存在しないと判別されるまで行ない、読出し用と書込
み用のバンクの組を設定し、このすべての組合せについ
て行なう転送動作を、分割されたそれぞれの領域に対し
て最後に分割された領域から順次実行して前記バンク間
でのブロックの情報を転送する分割転送ユニット3を備
える。
において、転送元と転送先との間に重複領域が存在する
場合であっても高速なブロック転送を達成する。 【構成】 データ転送装置1は、複数のバンク間でブロ
ックの情報を転送する際に、転送元に指定される前に転
送先に指定された領域が転送元の領域中に重複存在する
か否かを判別する判別ユニット2、及び転送元の領域を
重複領域と非重複領域とに分割する分割処理を重複領域
が存在しないと判別されるまで行ない、読出し用と書込
み用のバンクの組を設定し、このすべての組合せについ
て行なう転送動作を、分割されたそれぞれの領域に対し
て最後に分割された領域から順次実行して前記バンク間
でのブロックの情報を転送する分割転送ユニット3を備
える。
Description
【0001】
【産業上の利用分野】この発明は、データ転送装置がそ
れぞれに対応して設けられている複数のバンクにメモリ
がインターリーブされてなるメモリシステムに関する。
れぞれに対応して設けられている複数のバンクにメモリ
がインターリーブされてなるメモリシステムに関する。
【0002】
【従来の技術】メモリ101が複数のバンク1〜バンク
nにインターリーブされ、それぞれのバンクに対応して
データ転送装置102が設けられ、それぞれのデータ転
送装置がローカルバス103を介して接続されてなるメ
モリシステムを図11に示す。
nにインターリーブされ、それぞれのバンクに対応して
データ転送装置102が設けられ、それぞれのデータ転
送装置がローカルバス103を介して接続されてなるメ
モリシステムを図11に示す。
【0003】このようなメモリシステムにおけるデータ
転送装置102は、図12に示すようにメモリインター
フェイス104,ホストインターフェイス105,ロー
カルバスインターフェイス106,及び転送データのア
ドレスを算出するアドレス演算ユニット107と転送動
作を制御する制御ユニット108により構成されてい
る。
転送装置102は、図12に示すようにメモリインター
フェイス104,ホストインターフェイス105,ロー
カルバスインターフェイス106,及び転送データのア
ドレスを算出するアドレス演算ユニット107と転送動
作を制御する制御ユニット108により構成されてい
る。
【0004】このような構成において、データのブロッ
ク転送は以下の方法で行なわれる。まず、どれか一つの
バンクを読出し専用とし、他の一つを書込み専用とし
て、データのブロック転送を行ない、この組合せで転送
できるデータをすべて転送する。このような転送を読出
し専用バンクと書込み専用バンクを変え、すべての組合
せについて順次行なう。
ク転送は以下の方法で行なわれる。まず、どれか一つの
バンクを読出し専用とし、他の一つを書込み専用とし
て、データのブロック転送を行ない、この組合せで転送
できるデータをすべて転送する。このような転送を読出
し専用バンクと書込み専用バンクを変え、すべての組合
せについて順次行なう。
【0005】このようなブロック転送方法は比較的長時
間、一つのバンクとそれに付随するデータ転送装置は読
出し専用か、書込み専用になっており、1つのバンクに
ついて読出し、書込みを交互に行なう方法に比べて、高
速にデータの転送が行なえる。
間、一つのバンクとそれに付随するデータ転送装置は読
出し専用か、書込み専用になっており、1つのバンクに
ついて読出し、書込みを交互に行なう方法に比べて、高
速にデータの転送が行なえる。
【0006】しかしながら、転送元と転送先に重複(オ
ーバラップ)がある場合には、図13に示すように、あ
るバンクについて転送元に指定される前に転送先に指定
されると、別のバンクへ転送すべきデータが書換えられ
てしまい、正しい転送が行なわれない。例えば図13に
おいて、バンク1が読出し専用、バンクkが書込み専用
に設定された場合には、バンク1のデータが順次バンク
kに転送されて、バンクkが読出し専用に設定される前
にバンクkの内容がバンク1から転送されたデータに書
換えられてしまい、本来バンクkに存在していたデータ
を他のバンクに転送することができない。
ーバラップ)がある場合には、図13に示すように、あ
るバンクについて転送元に指定される前に転送先に指定
されると、別のバンクへ転送すべきデータが書換えられ
てしまい、正しい転送が行なわれない。例えば図13に
おいて、バンク1が読出し専用、バンクkが書込み専用
に設定された場合には、バンク1のデータが順次バンク
kに転送されて、バンクkが読出し専用に設定される前
にバンクkの内容がバンク1から転送されたデータに書
換えられてしまい、本来バンクkに存在していたデータ
を他のバンクに転送することができない。
【0007】このように、転送元とオーバラップする領
域へのブロック転送は行なうことができなかった。
域へのブロック転送は行なうことができなかった。
【0008】
【発明が解決しようとする課題】以上説明したように、
メモリが複数のバンクにインターリーブされて、それぞ
れのバンクにデータ転送装置が設けられた従来のメモリ
システムにあっては、転送元と転送先との間にオーバラ
ップが存在する場合には、データ転送を行なうことがで
きないという不具合を招いていた。
メモリが複数のバンクにインターリーブされて、それぞ
れのバンクにデータ転送装置が設けられた従来のメモリ
システムにあっては、転送元と転送先との間にオーバラ
ップが存在する場合には、データ転送を行なうことがで
きないという不具合を招いていた。
【0009】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、メモリが複数
のバンクにインターリーブされて、それぞれのバンクに
対応したデータ転送装置を備えたメモリシステムにおい
て、転送元と転送先との間に重複領域が存在する場合で
あっても高速なブロック転送を達成し得るメモリシステ
ムを提供することにある。
たものであり、その目的とするところは、メモリが複数
のバンクにインターリーブされて、それぞれのバンクに
対応したデータ転送装置を備えたメモリシステムにおい
て、転送元と転送先との間に重複領域が存在する場合で
あっても高速なブロック転送を達成し得るメモリシステ
ムを提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、この発明の第1の特徴は、複数のバンクにインター
リーブされたメモリと、前記メモリのバンク間でブロッ
クの情報を転送する際に、転送元に指定される前に転送
先に指定される重複領域が転送元の領域中に存在するか
否かを判別する判別手段及び、前記判別手段により重複
領域が存在すると判別された場合には、転送元の領域を
重複領域と非重複領域とに分割する分割処理を前記判別
手段により重複領域が存在しないと判別されるまで行な
う分割手段及び、前記複数のバンクの中から読出し用と
書込み用のバンク組を設定し、設定した組合せで転送で
きる情報をすべて転送し、これをすべての組合せについ
て行なう転送動作を前記分割手段により分割されたそれ
ぞれの領域に対して最後に分割された領域から順次実行
して前記バンク間でのブロックの情報を転送する転送手
段とからなり、前記それぞれのバンクに対して設けられ
た複数のデータ転送装置とから構成される。
に、この発明の第1の特徴は、複数のバンクにインター
リーブされたメモリと、前記メモリのバンク間でブロッ
クの情報を転送する際に、転送元に指定される前に転送
先に指定される重複領域が転送元の領域中に存在するか
否かを判別する判別手段及び、前記判別手段により重複
領域が存在すると判別された場合には、転送元の領域を
重複領域と非重複領域とに分割する分割処理を前記判別
手段により重複領域が存在しないと判別されるまで行な
う分割手段及び、前記複数のバンクの中から読出し用と
書込み用のバンク組を設定し、設定した組合せで転送で
きる情報をすべて転送し、これをすべての組合せについ
て行なう転送動作を前記分割手段により分割されたそれ
ぞれの領域に対して最後に分割された領域から順次実行
して前記バンク間でのブロックの情報を転送する転送手
段とからなり、前記それぞれのバンクに対して設けられ
た複数のデータ転送装置とから構成される。
【0011】また、この発明の第2の特徴は、複数のバ
ンクにインターリーブされたメモリと、前記メモリのバ
ンク間でブロックの情報を転送する際に、転送元に指定
される前に転送先に指定される重複領域が転送元の領域
中に存在するか否かを判別する判別手段及び、前記判別
手段により重複領域が存在すると判別された場合には、
転送元の領域を、転送先の重複領域への転送領域と非重
複領域への転送領域とに分割する分割処理を前記判別手
段により転送先の重複領域への転送領域が存在しないと
判別されるまで行なう分割手段及び、前記複数のバンク
の中から読出し用と書込み用のバンク組を設定し、設定
した組合せで転送できる情報をすべて転送し、これをす
べての組合せについて行なう転送動作を前記分割手段に
より分割されたそれぞれの領域に対して最初に分割され
た領域から順次実行して前記バンク間でのブロックの情
報を転送する転送手段とからなり、前記それぞれのバン
クに対して設けられた複数のデータ転送装置とから構成
される。
ンクにインターリーブされたメモリと、前記メモリのバ
ンク間でブロックの情報を転送する際に、転送元に指定
される前に転送先に指定される重複領域が転送元の領域
中に存在するか否かを判別する判別手段及び、前記判別
手段により重複領域が存在すると判別された場合には、
転送元の領域を、転送先の重複領域への転送領域と非重
複領域への転送領域とに分割する分割処理を前記判別手
段により転送先の重複領域への転送領域が存在しないと
判別されるまで行なう分割手段及び、前記複数のバンク
の中から読出し用と書込み用のバンク組を設定し、設定
した組合せで転送できる情報をすべて転送し、これをす
べての組合せについて行なう転送動作を前記分割手段に
より分割されたそれぞれの領域に対して最初に分割され
た領域から順次実行して前記バンク間でのブロックの情
報を転送する転送手段とからなり、前記それぞれのバン
クに対して設けられた複数のデータ転送装置とから構成
される。
【0012】
【作用】上記構成において、この発明は、バンク間でブ
ロックの情報を転送する際に、転送元と転送先との間に
重複領域が存在する場合には、重複領域がなくなるまで
転送元を分割し、分割された領域毎にブロックの情報を
転送するようにしている。
ロックの情報を転送する際に、転送元と転送先との間に
重複領域が存在する場合には、重複領域がなくなるまで
転送元を分割し、分割された領域毎にブロックの情報を
転送するようにしている。
【0013】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
する。
【0014】図1はこの発明の一実施例に係るメモリシ
ステムに含まれるデータ転送装置のブロック構成を示す
図である。
ステムに含まれるデータ転送装置のブロック構成を示す
図である。
【0015】図1において、データ転送装置1は、図1
2に示した構成、すなわちメモリイスターフェイス10
4,ホストインターフェイス105,ローカルインター
フェイス106,アドレス演算ユニット107及び制御
ユニット108に加えて、ホストコンピュータ(図示せ
ず)から与えられるブロック転送命令に対して、転送元
と転送先の間にオーバラップが存在するか否かを判別す
る判別ユニット2と、この判別ユニット2によってオー
バラップが存在すると判別された際に正しくブロック転
送を行なうべく転送する領域を分割し、分割した領域を
予め設定された順序でブロック転送する処理を行なう分
割転送ユニット3とを備えて構成されている。
2に示した構成、すなわちメモリイスターフェイス10
4,ホストインターフェイス105,ローカルインター
フェイス106,アドレス演算ユニット107及び制御
ユニット108に加えて、ホストコンピュータ(図示せ
ず)から与えられるブロック転送命令に対して、転送元
と転送先の間にオーバラップが存在するか否かを判別す
る判別ユニット2と、この判別ユニット2によってオー
バラップが存在すると判別された際に正しくブロック転
送を行なうべく転送する領域を分割し、分割した領域を
予め設定された順序でブロック転送する処理を行なう分
割転送ユニット3とを備えて構成されている。
【0016】このような構成において、オーバラップが
存在する場合におけるブロック転送の方法としては、ま
ず、転送元を転送先とオーバラップする領域としない領
域に分割し、2つのブロックに関してのブロック転送と
考え、転送先とオーバラップする領域の転送を先に行な
い、転送先とオーバラップしない領域の転送を後に行な
う。転送先とオーバラップしない領域のブロック転送
は、従来と同じ方法で転送する。
存在する場合におけるブロック転送の方法としては、ま
ず、転送元を転送先とオーバラップする領域としない領
域に分割し、2つのブロックに関してのブロック転送と
考え、転送先とオーバラップする領域の転送を先に行な
い、転送先とオーバラップしない領域の転送を後に行な
う。転送先とオーバラップしない領域のブロック転送
は、従来と同じ方法で転送する。
【0017】一方、転送先とオーバラップする領域のブ
ロック転送は、転送元と転送先がオーバラップしない場
合は、従来と同じ方法でブロック転送を行ない、転送元
と転送先がオーバラップする場合には、従来と同じ方法
では転送が行なえないので、この場合には、全体の領域
を分割,転送した方法と同じ方法でこの領域を分割し、
転送する。以下、再帰的に分割を繰り返し、1つの領域
についてのブロック転送がオーバラップする領域の転送
がなくなるまで分割し、その後順次転送を行なう。
ロック転送は、転送元と転送先がオーバラップしない場
合は、従来と同じ方法でブロック転送を行ない、転送元
と転送先がオーバラップする場合には、従来と同じ方法
では転送が行なえないので、この場合には、全体の領域
を分割,転送した方法と同じ方法でこの領域を分割し、
転送する。以下、再帰的に分割を繰り返し、1つの領域
についてのブロック転送がオーバラップする領域の転送
がなくなるまで分割し、その後順次転送を行なう。
【0018】図2は図1に示すデータ転送装置の具体的
な一実施例の構成を示す図である。
な一実施例の構成を示す図である。
【0019】図2において、データ転送装置は、図1に
示したそれぞれのインターフェースに加えて、転送元の
先頭アドレス,転送先の先頭アドレス及び転送ブロック
のブロック長をセットするレジスタが含まれるレジスタ
ファイル4と、これらの転送パラメータにしたがって得
られる領域の分割情報がセットされるレジスタスタック
5と、このレジスタスタック5に対するスタックポイン
タ6と、判別処理と分割処理における比較及び演算処理
を行なう比較演算ユニット7と、ステイタスレジスタ8
及びローカルバス(図示せず)の使用権を示すフラグレ
ジスタ9を備えて構成されている。
示したそれぞれのインターフェースに加えて、転送元の
先頭アドレス,転送先の先頭アドレス及び転送ブロック
のブロック長をセットするレジスタが含まれるレジスタ
ファイル4と、これらの転送パラメータにしたがって得
られる領域の分割情報がセットされるレジスタスタック
5と、このレジスタスタック5に対するスタックポイン
タ6と、判別処理と分割処理における比較及び演算処理
を行なう比較演算ユニット7と、ステイタスレジスタ8
及びローカルバス(図示せず)の使用権を示すフラグレ
ジスタ9を備えて構成されている。
【0020】比較演算ユニット7は、より具体的には、
図3に示すように、命令バッファ71 を含む制御回路7
2 と、ホストコンピュータ側から与えられるデータを保
持するデータバッファ73 と、レジスタファイル4の中
のレジスタの内容を演算する演算器74 と、この演算器
74 の演算結果とローカルバスからローカルバスインタ
ーフェイス106を介して与えられるデータとデータバ
ッファ73 から与えられるデータを選択切換えて対応す
るレジスタファイル4のレジスタに与えるセレクタ75
と、レジスタスタック5に保持された内容にしたがって
転送領域のアドレスを生成するアドレスカウンタ76 と
を備えて構成されている。
図3に示すように、命令バッファ71 を含む制御回路7
2 と、ホストコンピュータ側から与えられるデータを保
持するデータバッファ73 と、レジスタファイル4の中
のレジスタの内容を演算する演算器74 と、この演算器
74 の演算結果とローカルバスからローカルバスインタ
ーフェイス106を介して与えられるデータとデータバ
ッファ73 から与えられるデータを選択切換えて対応す
るレジスタファイル4のレジスタに与えるセレクタ75
と、レジスタスタック5に保持された内容にしたがって
転送領域のアドレスを生成するアドレスカウンタ76 と
を備えて構成されている。
【0021】次に、ブロック転送時の動作を説明する。
【0022】ホスト側より送信されるブロック転送命令
は、命令コード,転送元の先頭アドレス(sa),転送
先の先頭アドレス(da)及び転送ブロックのブロック
長(bl)からなる。転送元の先頭アドレス(sa),
転送先の先頭アドレス(da),転送ブロックのブロッ
ク長(bl)はそれぞれレジスタファイル4のレジスタ
r1,r2,r3にセットされ、転送先のバンクの判別
を行なう。判別の方法は、 (転送先バンク)=(自分のバンク)+{((r1)−
(r2))/n}% (%は剰余を表す演算子) である(nバンクより構成されているとする)。
は、命令コード,転送元の先頭アドレス(sa),転送
先の先頭アドレス(da)及び転送ブロックのブロック
長(bl)からなる。転送元の先頭アドレス(sa),
転送先の先頭アドレス(da),転送ブロックのブロッ
ク長(bl)はそれぞれレジスタファイル4のレジスタ
r1,r2,r3にセットされ、転送先のバンクの判別
を行なう。判別の方法は、 (転送先バンク)=(自分のバンク)+{((r1)−
(r2))/n}% (%は剰余を表す演算子) である(nバンクより構成されているとする)。
【0023】転送先バンクが自分自身の場合には以下の
手続きを踏まずに、sa,da,blよりバンク内のア
ドレスを計算し、メモリインターフェイス104を介し
て同一バンク内で転送を行ない、ブロック転送を完了す
る。
手続きを踏まずに、sa,da,blよりバンク内のア
ドレスを計算し、メモリインターフェイス104を介し
て同一バンク内で転送を行ない、ブロック転送を完了す
る。
【0024】次に、転送元と転送先のオーバラップの有
無を比較演算ユニット7を用いて調べる。演算の結果、 (r2)−(r3)+1<(r1)<(r2)+(r
3)−1 の時にはオーバラップがある。オーバラップがないとき
は、領域分割を行なわず、そのまま転送動作へ移る。オ
ーバラップがある場合は、以下のように転送領域を分割
し、レジスタスタック5にスタックする。以下転送領域
の表し方を(転送元の先頭アドレス,転送先の先頭アド
レス,ブロック長)とする。(r1)と(r2)を比較
し、(r1)<(r2)の時は、領域を ((r1),(r2),(r2)−(r1)) ((r2),(r2)+(r2)−(r1),(r1)
−(r2)+(r3)) の2つに分けて、前者をレジスタスタック5に退避さ
せ、後者をr1,r2,r3に格納し、再度上記と同様
に、転送元と転送先のオーバラップの有無を調べ、オー
バラップがなくなるまで、領域を分割し、スタックに蓄
える。
無を比較演算ユニット7を用いて調べる。演算の結果、 (r2)−(r3)+1<(r1)<(r2)+(r
3)−1 の時にはオーバラップがある。オーバラップがないとき
は、領域分割を行なわず、そのまま転送動作へ移る。オ
ーバラップがある場合は、以下のように転送領域を分割
し、レジスタスタック5にスタックする。以下転送領域
の表し方を(転送元の先頭アドレス,転送先の先頭アド
レス,ブロック長)とする。(r1)と(r2)を比較
し、(r1)<(r2)の時は、領域を ((r1),(r2),(r2)−(r1)) ((r2),(r2)+(r2)−(r1),(r1)
−(r2)+(r3)) の2つに分けて、前者をレジスタスタック5に退避さ
せ、後者をr1,r2,r3に格納し、再度上記と同様
に、転送元と転送先のオーバラップの有無を調べ、オー
バラップがなくなるまで、領域を分割し、スタックに蓄
える。
【0025】 一方、(r1)>(r2)の時は、領域を ((r2)+(r3),(r2)+(r2)−(r1)
+(r3),(r1)−(r2)) ((r1),(r2),(r2)−(r1)+(r
3)) に分割し、前者をレジスタスタック5に退避させ、後者
をr1,r2,r3に格納し同様にする。
+(r3),(r1)−(r2)) ((r1),(r2),(r2)−(r1)+(r
3)) に分割し、前者をレジスタスタック5に退避させ、後者
をr1,r2,r3に格納し同様にする。
【0026】次に、転送方法を示す。
【0027】ローカルバスの使用権を示すフラグレジス
タ9がセットされている場合は、ローカルバスの使用権
をとり、転送元バンクとなり、転送を開始する。転送領
域は((r1),(r2),(r3))である。送信デ
ータはヘッドの部分に転送先バンク,転送先の先頭アド
レス、ブロック長を送り、これに続いて転送データを送
る。データの転送を完了したら、レジスタスタック5よ
り転送領域を読みだして、レジスタr1,r2,r3に
セットし、ローカルバスの使用権を次のデータ転送装置
に渡す。すべてのブロックの転送を完了してから、転送
終了のフラグを立てる。
タ9がセットされている場合は、ローカルバスの使用権
をとり、転送元バンクとなり、転送を開始する。転送領
域は((r1),(r2),(r3))である。送信デ
ータはヘッドの部分に転送先バンク,転送先の先頭アド
レス、ブロック長を送り、これに続いて転送データを送
る。データの転送を完了したら、レジスタスタック5よ
り転送領域を読みだして、レジスタr1,r2,r3に
セットし、ローカルバスの使用権を次のデータ転送装置
に渡す。すべてのブロックの転送を完了してから、転送
終了のフラグを立てる。
【0028】一方、ローカルバスの使用権を示すフラグ
レジスタ9がセットされていない場合は、ローカルバス
インターフェイス106は入力状態となり、ローカルバ
スの使用権を持ったバンクからの送信データを受けと
る。送信データはヘッドの部分を見て、自分のバンクへ
の転送かどうかを判別し、自分のバンクへの転送なら、
転送先の先頭アドレス,ブロック長をレジスタにセット
し、転送データをメモリへライトする。
レジスタ9がセットされていない場合は、ローカルバス
インターフェイス106は入力状態となり、ローカルバ
スの使用権を持ったバンクからの送信データを受けと
る。送信データはヘッドの部分を見て、自分のバンクへ
の転送かどうかを判別し、自分のバンクへの転送なら、
転送先の先頭アドレス,ブロック長をレジスタにセット
し、転送データをメモリへライトする。
【0029】このように、転送元と転送先との間にオー
バラップが存在する場合にあっても、転送元をオーバラ
ップが生じないように分割し、順次転送を行なうことに
より、データを正確にかつ高速にブロック転送すること
が可能となる。
バラップが存在する場合にあっても、転送元をオーバラ
ップが生じないように分割し、順次転送を行なうことに
より、データを正確にかつ高速にブロック転送すること
が可能となる。
【0030】次に、この発明の他の実施例を説明する。
【0031】図4はこの発明の他の実施例に係るメモリ
システムにおけるデータ転送装置のブロック構成を示す
図である。同図に示す実施例のデータ転送装置は、転送
元と転送先との間にオーバラップが存在する場合には、
オーバラップがなくなるまで転送元を分割した後転送を
開始するのではなく、分割された転送領域から順次転送
を行なうようにしたので、前述した実施例に示したよう
に、分割情報をレジスタスタック5に順次格納する必要
がなく、これにより、図2に示した構成に対して、レジ
スタスタック5及びスタックポイント6が削除されて構
成されており、比較演算ユニット7に関する構成は、図
5に示すように図4に示した前述の実施例と同様であ
る。
システムにおけるデータ転送装置のブロック構成を示す
図である。同図に示す実施例のデータ転送装置は、転送
元と転送先との間にオーバラップが存在する場合には、
オーバラップがなくなるまで転送元を分割した後転送を
開始するのではなく、分割された転送領域から順次転送
を行なうようにしたので、前述した実施例に示したよう
に、分割情報をレジスタスタック5に順次格納する必要
がなく、これにより、図2に示した構成に対して、レジ
スタスタック5及びスタックポイント6が削除されて構
成されており、比較演算ユニット7に関する構成は、図
5に示すように図4に示した前述の実施例と同様であ
る。
【0032】このような構成においては、転送元を、転
送元と転送先がオーバラップする領域への転送領域かオ
ーバラップしない領域への転送領域かで2つの領域に分
割し、オーバラップしない領域への転送を先に行ない、
オーバラップしない領域への転送をその後で行なう。オ
ーバラップしない領域へのブロック転送は従来と同じ方
法で転送する。
送元と転送先がオーバラップする領域への転送領域かオ
ーバラップしない領域への転送領域かで2つの領域に分
割し、オーバラップしない領域への転送を先に行ない、
オーバラップしない領域への転送をその後で行なう。オ
ーバラップしない領域へのブロック転送は従来と同じ方
法で転送する。
【0033】一方、オーバラップする領域へのブロック
転送は、転送元と転送先がオーバラップしない場合は、
従来と同じ方法でブロック転送を行ない、転送元と転送
先がオーバラップする場合には、従来と同じ方法では転
送が行なえないので、この場合には、全体の領域を分
割,転送した方法と同じ方法でこの領域を分割し、転送
する。以下、再帰的に分割,転送を行なっていく。
転送は、転送元と転送先がオーバラップしない場合は、
従来と同じ方法でブロック転送を行ない、転送元と転送
先がオーバラップする場合には、従来と同じ方法では転
送が行なえないので、この場合には、全体の領域を分
割,転送した方法と同じ方法でこの領域を分割し、転送
する。以下、再帰的に分割,転送を行なっていく。
【0034】次に、ブロック転送時の動作を説明する。
【0035】ホスト側より送信されるブロック転送命令
は、命令コード,転送元の先頭アドレス(sa),転送
先の先頭アドレス(da)及び転送ブロックのブロック
長(bl)からなる。転送元の先頭アドレス(sa),
転送先の先頭アドレス(da),転送ブロックのブロッ
ク長(bl)はそれぞれレジスタファイル4のレジスタ
r1,r2,r3にセットされ、転送先バンクの判別を
行なう。判別の方法は、 (転送バンク)=(自分のバンク)+{((r1)−
(r2))/n}% (%は剰余を表す演算子) である(nバンクより構成されているとする)。
は、命令コード,転送元の先頭アドレス(sa),転送
先の先頭アドレス(da)及び転送ブロックのブロック
長(bl)からなる。転送元の先頭アドレス(sa),
転送先の先頭アドレス(da),転送ブロックのブロッ
ク長(bl)はそれぞれレジスタファイル4のレジスタ
r1,r2,r3にセットされ、転送先バンクの判別を
行なう。判別の方法は、 (転送バンク)=(自分のバンク)+{((r1)−
(r2))/n}% (%は剰余を表す演算子) である(nバンクより構成されているとする)。
【0036】転送先バンクが自分自身の場合には以下の
手続きを踏まずに、sa,da,blよりバンク内のア
ドレスを計算し、メモリインターフェイス104を介し
て同一バンク内で転送を行ない、ブロック転送を完了す
る。
手続きを踏まずに、sa,da,blよりバンク内のア
ドレスを計算し、メモリインターフェイス104を介し
て同一バンク内で転送を行ない、ブロック転送を完了す
る。
【0037】次に、転送元と転送先のオーバラップの有
無を比較演算ユニット7を用いて調べる。演算の結果、 (r2)−(r3)+1<(r1)<(r2)+(r
3)−1 の時にはオーバラップがある。オーバラップがないとき
は、領域分割を行なわず、レジスタr1,r2,r3の
内容をレジスタファイル4のレジスタr4,r5,r6
に送り、転送中のフラグを立てて転送動作へ移る。オー
バラップがある場合は、以下のように転送領域を分割
し、転送を行なう。以下転送領域の表し方を(転送元の
先頭アドレス,転送先の先頭アドレス,ブロック長)と
する。(r1)と(r2)を比較し、(r1)<(r
2)の時は、領域を ((r1)+(r1)−(r2)+(r3),(r1)
+(r3),(r2)−(r1)) ((r1),(r2),(r1)−(r2)+(r
3)) の2つに分けて、前者をレジスタr4,r5,r6に格
納し、後者をレジスタr1,r2,r3に格納する。こ
の時転送中を表すフラグを参照して、転送中であれば転
送が終りフラグが降りるまで格納せずに待つ。そして、
格納が終れば転送中のフラグを立てる。レジスタr1,
r2,r3に格納された領域については、上記と同様
に、オーバラップの有無を調べ、領域の分割,転送を行
なう。レジスタr4,r5,r6に格納された領域につ
いては転送動作へと移る。
無を比較演算ユニット7を用いて調べる。演算の結果、 (r2)−(r3)+1<(r1)<(r2)+(r
3)−1 の時にはオーバラップがある。オーバラップがないとき
は、領域分割を行なわず、レジスタr1,r2,r3の
内容をレジスタファイル4のレジスタr4,r5,r6
に送り、転送中のフラグを立てて転送動作へ移る。オー
バラップがある場合は、以下のように転送領域を分割
し、転送を行なう。以下転送領域の表し方を(転送元の
先頭アドレス,転送先の先頭アドレス,ブロック長)と
する。(r1)と(r2)を比較し、(r1)<(r
2)の時は、領域を ((r1)+(r1)−(r2)+(r3),(r1)
+(r3),(r2)−(r1)) ((r1),(r2),(r1)−(r2)+(r
3)) の2つに分けて、前者をレジスタr4,r5,r6に格
納し、後者をレジスタr1,r2,r3に格納する。こ
の時転送中を表すフラグを参照して、転送中であれば転
送が終りフラグが降りるまで格納せずに待つ。そして、
格納が終れば転送中のフラグを立てる。レジスタr1,
r2,r3に格納された領域については、上記と同様
に、オーバラップの有無を調べ、領域の分割,転送を行
なう。レジスタr4,r5,r6に格納された領域につ
いては転送動作へと移る。
【0038】 一方、(r1)>(r2)の時は、領域を ((r1),(r2),(r1)−(r2)) ((r1)+(r1)−(r2),(r1),(r2)
−(r1)+(r3)) に分割し、転送中を表すフラグを参照して、転送中でな
ければ前者をレジスタr4,r5,r6に格納し、後者
をレジスタr1,r2,r3に格納する。転送中のフラ
グが立っている時は、転送が終りフラグが降りるまで待
ってから格納する。以後(r1)<(r2)の時と同様
に行なう。
−(r1)+(r3)) に分割し、転送中を表すフラグを参照して、転送中でな
ければ前者をレジスタr4,r5,r6に格納し、後者
をレジスタr1,r2,r3に格納する。転送中のフラ
グが立っている時は、転送が終りフラグが降りるまで待
ってから格納する。以後(r1)<(r2)の時と同様
に行なう。
【0039】次に、転送方法を示す。
【0040】ローカルバスの使用権を示すフラグレジス
タ9がセットされている場合は、ローカルバスの使用権
をとり、転送元バンクとなり、転送を開始する。転送領
域は((r4),(r5),(r6))である。送信デ
ータのヘッドの部分に転送先バンク,転送先の先頭アド
レス,ブロック長を送り、これに続いて転送データを送
る。データの転送を完了したら、転送中を表すフラグを
降ろし、ローカルバスの使用権を次の転送装置に渡す。
タ9がセットされている場合は、ローカルバスの使用権
をとり、転送元バンクとなり、転送を開始する。転送領
域は((r4),(r5),(r6))である。送信デ
ータのヘッドの部分に転送先バンク,転送先の先頭アド
レス,ブロック長を送り、これに続いて転送データを送
る。データの転送を完了したら、転送中を表すフラグを
降ろし、ローカルバスの使用権を次の転送装置に渡す。
【0041】一方、ローカルバスの使用権を示すフラグ
レジスタ9がセットされていない場合は、ローカルバス
インターフェイス106は入力状態となり、ローカルバ
スの使用権を持ったバンクからの送信データを受けと
る。送信データはヘッドの部分をみて、自分のバンクへ
の転送かどうかを判別し、自分のバンクへの転送なら、
転送先の先頭アドレス,ブロック長をレジスタにセット
し、転送データをメモリへライトする。
レジスタ9がセットされていない場合は、ローカルバス
インターフェイス106は入力状態となり、ローカルバ
スの使用権を持ったバンクからの送信データを受けと
る。送信データはヘッドの部分をみて、自分のバンクへ
の転送かどうかを判別し、自分のバンクへの転送なら、
転送先の先頭アドレス,ブロック長をレジスタにセット
し、転送データをメモリへライトする。
【0042】このような実施例にあっては、前述した実
施例と同様の効果を得ることができるとともに、レジス
タスタックが不要となり、構成を簡略化することができ
る。
施例と同様の効果を得ることができるとともに、レジス
タスタックが不要となり、構成を簡略化することができ
る。
【0043】図6はこの発明の他の実施例に係るメモリ
システムの構成を示す図であり、同図に示す実施例の特
徴とするところは、ファーストページモード付きのメモ
リ10を複数のバンク1〜バンクnにインターリーブ
し、それぞれのバンクに対応して前述した実施例で示し
たデータ転送装置11を設け、それぞれのデータ転送装
置11がローカルバス12の調停を行なうためにリング
状に連結されてバンク間でブロック転送を行なうように
したことにある。
システムの構成を示す図であり、同図に示す実施例の特
徴とするところは、ファーストページモード付きのメモ
リ10を複数のバンク1〜バンクnにインターリーブ
し、それぞれのバンクに対応して前述した実施例で示し
たデータ転送装置11を設け、それぞれのデータ転送装
置11がローカルバス12の調停を行なうためにリング
状に連結されてバンク間でブロック転送を行なうように
したことにある。
【0044】ローカルバス12の調停は以下のようにし
て行なわれる。
て行なわれる。
【0045】バスの使用権を表すトークンをどれか1つ
のデータ転送装置11が持っており、バスの使用権を譲
る時には隣のデータ転送装置11へトークンを渡す。ま
た、データ転送装置11はホストインターフェースを持
ち、システムバス及びアドレスバスと連結している。
のデータ転送装置11が持っており、バスの使用権を譲
る時には隣のデータ転送装置11へトークンを渡す。ま
た、データ転送装置11はホストインターフェースを持
ち、システムバス及びアドレスバスと連結している。
【0046】次に、このシステムでのブロック転送を説
明する。ホスト側からのブロック転送命令を各バンクの
データ転送装置11が受けとると、各々のデータ転送装
置11がそれぞれのバンクの転送先を予め判別する。転
送先が自分自身の場合はローカルバスを使用せず、それ
ぞれのバンク内でデータ転送装置11を介して並列に転
送を行ない、ブロック転送を終了する。
明する。ホスト側からのブロック転送命令を各バンクの
データ転送装置11が受けとると、各々のデータ転送装
置11がそれぞれのバンクの転送先を予め判別する。転
送先が自分自身の場合はローカルバスを使用せず、それ
ぞれのバンク内でデータ転送装置11を介して並列に転
送を行ない、ブロック転送を終了する。
【0047】一方、異なるバンクへの転送の場合は、転
送元と転送先にオーバラップがないかを判別し、オーバ
ーラッブがある場合は前述した方法により、転送領域の
分割を行なう。トーンクのあるバンクがローカルバス1
2の使用権を持っており、ローカルバス12の使用権を
持っているバンクはローカルバス12を介して、転送先
のバンクと転送ブロックのサイズを指定し、その後デー
タの転送を開始する。
送元と転送先にオーバラップがないかを判別し、オーバ
ーラッブがある場合は前述した方法により、転送領域の
分割を行なう。トーンクのあるバンクがローカルバス1
2の使用権を持っており、ローカルバス12の使用権を
持っているバンクはローカルバス12を介して、転送先
のバンクと転送ブロックのサイズを指定し、その後デー
タの転送を開始する。
【0048】転送が終了すると、次のデータ転送装置1
1へトークンを渡し、トークンをもらったデータ転送装
置11が同じように転送を行なう。オーバラップがある
転送領域の分割を行なった場合は、トークンは分割され
た転送領域数だけデータ転送装置11間をつないでいる
リングを回り、すべてのデータが転送し終えたら後終了
する。
1へトークンを渡し、トークンをもらったデータ転送装
置11が同じように転送を行なう。オーバラップがある
転送領域の分割を行なった場合は、トークンは分割され
た転送領域数だけデータ転送装置11間をつないでいる
リングを回り、すべてのデータが転送し終えたら後終了
する。
【0049】このような実施例にあっては、データ転送
装置11がローカルバス12を調停しながらそれぞれの
バンク間でのブロック転送を行なうことが可能となる。
装置11がローカルバス12を調停しながらそれぞれの
バンク間でのブロック転送を行なうことが可能となる。
【0050】図7はこの発明の他の実施例に係るメモリ
システムの構成を示す図である。
システムの構成を示す図である。
【0051】図7に示すメモリシステムは、ファースト
ページモード付きのフレームメモリ13が複数のバンク
にインターリーブされて、それぞれのバンクに対応して
前述した実施例に示したデータ転送装置14が設けら
れ、それぞれのデータ転送装置14はバンク間における
データ転送のためのローカルバス15を介して接続され
ており、フレームメモリ13には表示装置16に表示さ
れる画像データが格納される。
ページモード付きのフレームメモリ13が複数のバンク
にインターリーブされて、それぞれのバンクに対応して
前述した実施例に示したデータ転送装置14が設けら
れ、それぞれのデータ転送装置14はバンク間における
データ転送のためのローカルバス15を介して接続され
ており、フレームメモリ13には表示装置16に表示さ
れる画像データが格納される。
【0052】このようなメモリシステムにおいて、表示
画面上でウィンドを移動させる場合には、図8に示すよ
うに、ウィンド17の各行はフレームメモリ13上では
離散的にマッピングされているため、ウィンド17の移
動はフレームメモリ13上では離散的なブロックの転送
動作となり、ウィンド17の各行(フレームメモリ13
上のブロック)毎に1つずつ順次転送するようにすれば
よい。
画面上でウィンドを移動させる場合には、図8に示すよ
うに、ウィンド17の各行はフレームメモリ13上では
離散的にマッピングされているため、ウィンド17の移
動はフレームメモリ13上では離散的なブロックの転送
動作となり、ウィンド17の各行(フレームメモリ13
上のブロック)毎に1つずつ順次転送するようにすれば
よい。
【0053】したがって、ウィンド17の移動が図9に
示すように少しでも垂直方向にずれていれば、オーバラ
ップのないブロック転送が適用され、図10に示すよう
に水平方向だけに移動する時にオーバラップが存在する
場合には、前述したような転送先と転送元との間にオー
バラップがある場合のブロック転送が適用される。
示すように少しでも垂直方向にずれていれば、オーバラ
ップのないブロック転送が適用され、図10に示すよう
に水平方向だけに移動する時にオーバラップが存在する
場合には、前述したような転送先と転送元との間にオー
バラップがある場合のブロック転送が適用される。
【0054】このように、表示画面上でのウィンドの移
動に、この発明メモリシステムにおけるブロック転送を
適用することによって、ウィンドの移動を移動方向にか
かわらず高速に行なうことができるようになり、この発
明の好適な一実施例となる。
動に、この発明メモリシステムにおけるブロック転送を
適用することによって、ウィンドの移動を移動方向にか
かわらず高速に行なうことができるようになり、この発
明の好適な一実施例となる。
【0055】
【発明の効果】以上説明したように、この発明によれ
ば、バンク間でブロックの情報を転送する際に、転送元
と転送先との間に重複領域が存在する場合には、重複領
域がなくなるまで転送元を分割し、分割された領域毎に
ブロックの情報を転送するようにしているので、転送元
と転送先との間に重複領域がある場合であっても高速に
転送動作を実行することが可能となる。
ば、バンク間でブロックの情報を転送する際に、転送元
と転送先との間に重複領域が存在する場合には、重複領
域がなくなるまで転送元を分割し、分割された領域毎に
ブロックの情報を転送するようにしているので、転送元
と転送先との間に重複領域がある場合であっても高速に
転送動作を実行することが可能となる。
【図1】この発明の一実施例に係るメモリシステムにお
けるデータ転送装置の構成を示す図である。
けるデータ転送装置の構成を示す図である。
【図2】図1に示すデータ転送装置の具体的な一実施例
を示す構成図である。
を示す構成図である。
【図3】図1に示すデータ転送装置の具体的な一実施例
を示す構成図である。
を示す構成図である。
【図4】図1に示すデータ転送装置の具体的な他の実施
例を示す構成図である。
例を示す構成図である。
【図5】図1に示すデータ転送装置の具体的な他の実施
例を示す構成図である。
例を示す構成図である。
【図6】この発明の他の実施例に係るメモリシステムの
構成を示す図である。
構成を示す図である。
【図7】この発明の他の実施例に係るメモリシステムの
構成を示す図である。
構成を示す図である。
【図8】図7に示すメモリシステムにおけるウィンドの
移動を説明するための図である。
移動を説明するための図である。
【図9】図7に示すメモリシステムにおけるウィンドの
移動を説明するための図である。
移動を説明するための図である。
【図10】図7に示すメモリシステムにおけるウィンド
の移動を説明するための図である。
の移動を説明するための図である。
【図11】従来のデータ転送装置を備えたメモリシステ
ムの構成を示す図である。
ムの構成を示す図である。
【図12】図11に示す従来のデータ転送装置の構成を
示す図である。
示す図である。
【図13】図12に示すデータ転送装置を使用したデー
タのブロック転送の一例を示す図である。
タのブロック転送の一例を示す図である。
1,11,14 データ転送装置 2 判別ユニット 3 分割転送ユニット 4 レジスタファイル 5 レジスタスタック 6 レジスタポイント 7 比較演算ユニット 71 命令バッファ 72 制御回路 73 データバッファ 74 演算器 75 セレクタ 76 アドレスカウンタ 8 ステイタスレジスタ 9 フラグレジスタ 10,13 フレームメモリ 12,15 ローカルバス 16 表示装置 17 ウィンド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 皆川 勉 神奈川県川崎市幸区堀川町580番1号 株 式会社東芝半導体システム技術センタ―内
Claims (4)
- 【請求項1】 複数のバンクにインターリーブされたメ
モリと、 前記メモリのバンク間でブロックの情報を転送する際
に、転送元に指定される前に転送先に指定される重複領
域が転送元の領域中に存在するか否かを判別する判別手
段及び、前記判別手段により重複領域が存在すると判別
された場合には、転送元の領域を重複領域と非重複領域
とに分割する分割処理を前記判別手段により重複領域が
存在しないと判別されるまで行なう分割手段及び、前記
複数のバンクの中から読出し用と書込み用のバンク組を
設定し、設定した組合せで転送できる情報をすべて転送
し、これをすべての組合せについて行なう転送動作を前
記分割手段により分割されたそれぞれの領域に対して最
後に分割された領域から順次実行して前記バンク間での
ブロックの情報を転送する転送手段とからなり、前記そ
れぞれのバンクに対して設けられた複数のデータ転送装
置とを有することを特徴とするメモリシステム。 - 【請求項2】 複数のバンクにインターリーブされたメ
モリと、 前記メモリのバンク間でブロックの情報を転送する際
に、転送元に指定される前に転送先に指定される重複領
域が転送元の領域中に存在するか否かを判別する判別手
段及び、前記判別手段により重複領域が存在すると判別
された場合には、転送元の領域を、転送先の重複領域へ
の転送領域と非重複領域への転送領域とに分割する分割
処理を前記判別手段により転送先の重複領域への転送領
域が存在しないと判別されるまで行なう分割手段及び、
前記複数のバンクの中から読出し用と書込み用のバンク
組を設定し、設定した組合せで転送できる情報をすべて
転送し、これをすべての組合せについて行なう転送動作
を前記分割手段により分割されたそれぞれの領域に対し
て最初に分割された領域から順次実行して前記バンク間
でのブロックの情報を転送する転送手段とからなり、前
記それぞれのバンクに対して設けられた複数のデータ転
送装置とを有することを特徴とするメモリシステム。 - 【請求項3】 前記それぞれの転送手段は、環状に連結
されて転送動作を行なえる権利を循環させることによっ
て順次転送動作を実行してバンク間でのブロックの情報
を転送することを特徴とする請求項1又は2記載のメモ
リシステム。 - 【請求項4】 請求項1,2又は3記載のメモリシステ
ムは、前記メモリが画像情報を記憶するフレームメモリ
からなり、バンク間でのブロック転送を行なうことによ
り画面上のウィンド表示領域を移動させる画像処理シス
テムに含まれてなることを特徴とするメモリシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3259279A JPH05100950A (ja) | 1991-10-07 | 1991-10-07 | メモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3259279A JPH05100950A (ja) | 1991-10-07 | 1991-10-07 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05100950A true JPH05100950A (ja) | 1993-04-23 |
Family
ID=17331886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3259279A Pending JPH05100950A (ja) | 1991-10-07 | 1991-10-07 | メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05100950A (ja) |
-
1991
- 1991-10-07 JP JP3259279A patent/JPH05100950A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0542417A1 (en) | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput | |
JPS58209784A (ja) | メモリシステム | |
JPH07104817B2 (ja) | データレコード転送方法 | |
US8166275B2 (en) | Method and apparatus for accessing a multi ordered memory array | |
US6728806B2 (en) | Data processing unit | |
JPH05100950A (ja) | メモリシステム | |
JPH08147115A (ja) | 文書処理装置 | |
JP3053196B2 (ja) | イメージデータのラスタ変換装置 | |
JP3204297B2 (ja) | Dma転送制御装置 | |
JPH07320053A (ja) | 画像回転処理装置 | |
JP2821176B2 (ja) | 情報処理装置 | |
JPH04369756A (ja) | データ転送方法 | |
JPH06250965A (ja) | 入出力制御装置 | |
JP2888062B2 (ja) | 情報処理装置 | |
JPS59165165A (ja) | 高速入出力処理方式 | |
JPS58169271A (ja) | デ−タ・バツフア制御方式 | |
JPH0380470A (ja) | 記憶制御装置 | |
JPH01290024A (ja) | 並列転送のデイスク制御装置 | |
JPH04151195A (ja) | 画像表示装置 | |
JPS63113749A (ja) | チヤネル装置 | |
JPH02163820A (ja) | データバッファ装置 | |
JPS59176848A (ja) | 先行制御方式 | |
JPH06180677A (ja) | 情報処理装置 | |
JPH07134683A (ja) | データ転送方式 | |
JPS5890227A (ja) | デ−タ転送インタ−フエイス方式 |