JP3210880B2 - 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機 - Google Patents

遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機

Info

Publication number
JP3210880B2
JP3210880B2 JP15177797A JP15177797A JP3210880B2 JP 3210880 B2 JP3210880 B2 JP 3210880B2 JP 15177797 A JP15177797 A JP 15177797A JP 15177797 A JP15177797 A JP 15177797A JP 3210880 B2 JP3210880 B2 JP 3210880B2
Authority
JP
Japan
Prior art keywords
register
memory
page
block
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP15177797A
Other languages
English (en)
Other versions
JPH1083372A (ja
Inventor
ジヤツク・アビリイ
ジヤン−フランソワ・オトウシヨー
クリストフ・デイオネ
Original Assignee
ブル・エス・アー
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 ブル・エス・アー filed Critical ブル・エス・アー
Publication of JPH1083372A publication Critical patent/JPH1083372A/ja
Application granted granted Critical
Publication of JP3210880B2 publication Critical patent/JP3210880B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明の分野は、情報処理シ
ステム用の遠隔メモリ間のデータの移動の分野である。
【0002】
【従来の技術】今日ではバイナリメモリの価格の恒常的
低下により能力を著しく増加させることができる。しか
しながらこの能力の増加により、メモリの運用における
慣性を相関的に増加させてしまうおそれがある。そのた
め、サイズは大きいがそのサイズにより高速アクセスが
できる主記憶装置、および仮想アドレシングを使用する
ことにより主メモリを通して内容が見られる単数または
複数の拡張メモリユニットを使用する方法が知られてい
る。実際にシステムが使用するデータのみが主メモリ内
に物理的に存在する。システムは、ある拡張メモリユニ
ット内に物理的に存在するデータに関しての処理を行う
ために、これらのデータを主メモリ内に移動する。シス
テムは、主ユニットメモリ内に場所を作るために、拡張
メモリユニット内にもデータを移動する。
【0003】拡張メモリユニットと主メモリユニットの
間の距離のため、移動の開始時と終了時の間にはどうし
ても一定の待ち時間が生じる。通常、メモリユニットは
ページに分割され、ページ自体もデータブロックから成
る。頻繁過ぎる移動によりシステムの性能が不利益を受
けないようにするために、移動はブロック単位さらには
ページ単位で行うのが好ましい。
【0004】要求の第一ブロックをアドレシングし、読
むべきブロックの全数を減算することにより、ソースメ
モリ内においてただ一つの読み出し要求によりアクセス
可能なブロック数を読み出す要求を送信する方法が可能
である。要求に対する応答を受け取るとすぐ、要求の第
一ブロックをアドレシングし、書き込むべきブロックの
全数を減算することにより、宛先メモリ内への書き込み
要求を送り、書き込むべき全数のブロックがなくなるま
で新しい書き込み要求を送る。前記の新しい書き込み要
求を送る作業を、読むべき全数のブロックがなくなるま
で、繰り返し起動する。しかしながら、ソースメモリが
宛先メモリから離れている時には、要求の送信と応答の
受信との間にはある待ち時間が存在する。この方法は、
連続する待ち時間の累積が総移動時間に影響を及ぼすと
いう欠点を有する。
【0005】各読み出し要求に対応する応答を受信した
時点で書き込み要求を発信するように読み出し要求を記
憶することにより、応答を待たずに読み出し要求を全て
送信する方法も可能であろう。この解決方法は、処理に
より転送速度が遅くなるおそれがある中間メモリを必要
とするという欠点を有する。またこの解決方法は別の問
題を有することもある。異常の検出またはより優先度の
高い別の移動によりある移動を中断する場合、管理がよ
り複雑になることがある特別な記憶方法が必要となるこ
とがある。
【0006】
【発明が解決しようとする課題】本発明の目的は、最小
の中間記憶により、移動の開始時と終了時の間の待ち時
間を最小化することである。
【0007】
【課題を解決するための手段】これは、データパスによ
り、ソースメモリユニットのデータブロックを宛先メモ
リユニットに移動する電気回路であって、 − ソースメモリの最終ブロックの読み出し要求内に終
了記号を発生する手段を含む、ソースメモリ内でのブロ
ック読み出し要求を所与の順序で送信する手段と、 − 読み出されたブロックを、要求が送信された順番に
応答メッセージの形態で受信する記憶手段と、 − 応答メッセージの受信に応じて記憶手段内で受信し
たブロックの宛先メモリ内への書き込み要求を送信する
手段とを含むことを特徴とする。
【0008】本発明は、図面を参照して行う以下の説明
により、よりよく理解されよう。
【0009】
【発明の実施の形態】図1において計算機1は、少なく
とも一つのプロセッサユニットPU2がシステムバスA
SB9’を使用してアクセスする主メモリユニットMM
U9を含む。バスASB’には、単数または複数の拡張
メモリアクセスインタフェースEMAが接続される。イ
ンタフェースEMA5は、リンクEML6により、計算
機1から離れた所にあるキャビネット3内に位置する拡
張メモリコントローラEMC7に接続される。リンクE
MLは、シリアルリンクであっても、情報の高速転送が
できるパラレルリンクであってもよい。キャビネット3
は、拡張メモリコントローラ7がシステムバスASB1
3を使用してアクセスする拡張メモリユニットEMU8
を含む。システムバス13を使用して拡張メモリユニッ
トEMU8にもアクセスするために、他のコントローラ
EMC16、17をもうけることができる。ただし図に
示す数量は限定的なものではない。コントローラ16に
より例えば、計算機1と同じ方法により、図示しない別
の計算機との間でデータを交換することができる。リン
クEML10により、インタフェース5をキャビネット
4内に位置する拡張メモリコントローラEMC11に接
続することも可能である。キャビネット4はキャビネッ
ト3と同様、拡張メモリコントローラ11がシステムバ
スASB14を使用してアクセスする拡張メモリユニッ
トEMU12を含む。システムバス14を使用して拡張
メモリユニットEMU12にもアクセスするために、他
のコントローラEMC18、19をもうけることができ
る。ただし図に示す数量は限定的なものではない。コン
トローラ18により例えば、計算機1と同じ方法によ
り、図示しない別の計算機との間でデータを交換するこ
とができる。拡張メモリユニット12は、バックアップ
または拡張メモリユニット8の容量の増強として使用す
ることができる。バックアップ時には、拡張メモリユニ
ットEMU12により記憶データの冗長化を行うことが
できる。容量の増強時には、拡張メモリユニット12に
より、より大きな拡張メモリを使用することができる。
【0010】図1の計算機1は、同じくシステムバス
9’に接続された第二インタフェースEMA15を有す
る。図をわかりやすくする配慮から図示していないリン
クEMLを使用して、インタフェースEMA15の第一
ポートをコントローラEMC16の第二ポートに、イン
タフェースEMA15の第二ポートをコントローラEM
C18の第二ポートに接続することにより、キャビネッ
ト3および4との計算機1の接続の冗長性を得ることが
可能である。
【0011】拡張メモリユニットEMU8および12
は、アドレスがj個のビットに符号化される2jページ
にそれぞれ分割される。各ページは、アドレスがk個の
ビットに符号化される2k個のデータブロックに分割さ
れる。リンクEML6によるコントローラEMC7への
インタフェースEMA5のデータパスの幅は2mバイト
である。1バイトは例えば8ビットまたは9ビットであ
る。従って2mバイトは、データブロックの一つのサブ
ブロックを構成する。各データブロックは、一つのブロ
ック内のn個のビットにアドレス可能な2n個のサブブ
ロックを含む。
【0012】計算機1内では、計算機1のプロセッサユ
ニットPUの要求により、主メモリユニットMMU9と
拡張メモリユニットEMU8または拡張メモリユニット
EMU12との間のデータの移動が行われる。計算機1
のプロセッサユニットPUは、拡張メモリユニットEM
U8と拡張メモリユニットEMU12との間の直接移動
を要求することもできる。このために、プロセッサユニ
ットPUは、ユニットPU内で実行中のプロセスの命令
に基いて、ブロック毎にデータが抽出されるソースメモ
リユニットと、ブロック毎にデータが入力される宛先メ
モリユニットをインタフェースEMA5に示して、この
インタフェースに移動要求を送る。ソースメモリユニッ
トが主メモリユニットMMU9である場合には、宛先メ
モリユニットは拡張メモリユニットEMU8または拡張
メモリユニットEMU12である。ソースメモリユニッ
トがそれぞれ拡張メモリユニットEMU8、12である
場合には、宛先メモリユニットは主メモリユニットMM
U9、またはそれぞれ拡張メモリユニットEMU12、
8である。移動の出発側でのプロセスにより、その要求
の中に、ソースメモリ内の第一サブブロックのアドレ
ス、移動が始まる宛先メモリ内の第一サブブロックのア
ドレス、および移動すべきサブブロックの数量が指定さ
れる。インタフェースEMA5はプロセッサユニットP
Uとは無関係に、この点から移動を行う。
【0013】プロセスは、同期移動または非同期移動を
要求することができる。同期移動の場合、プロセスは中
断され、移動が終了しないと再開しない。従って同期移
動は高速である必要がある。非同期移動の場合、プロセ
スは、独立して実行される移動が終了まで待つ必要なく
連続して行われる。非同期移動の実行中、同期移動を要
求するプロセスに不利益を与えないようにするために、
同期移動要求は実行中の非同期移動をインタフェースE
MA内で中断することができ、この非同期移動は同期移
動が終了した時点で再開される。プロセッサユニットP
Uによって実行されるプロセスから見ることができる方
法で移動の中断および再開を管理するのはインタフェー
スEMAである。
【0014】インタフェースEMAまたはメモリコント
ローラEMCは、図2に詳細を示す回路41を使って製
作される。回路41が含む主たるものは、クロック発生
器ARG47によって同期されマイクロプロセッサ43
によって制御される、図3に詳細を示す集積回路MEP
42である。固定メモリFPROM46は、集積回路4
2を作動させるためのマイクロソフトウェアを含む。回
路41が引き受ける移動を決定するデータを含むために
ランダムアクセスメモリSRAM48がもうけられる。
回路41の初期化の際、集積回路42は、メモリ46内
に含まれているマイクロソフトウェアをメモリ48内に
ロードする。これを行うために、回路42はリンク58
によりメモリ46に直接アクセスする。メモリ46は基
本的に初期化時の情報の永続性を保証し、メモリ48は
動作時のアクセスの永続性を保証する。例えばメモリ4
6では1バイト、メモリ48では8バイトというよう
に、メモリ46および48内の読み出し/書き込み規格
が異なる場合、集積回路42は必要なバイトのグループ
化を行い、適切なパリティ(parite)制御を発生する。
バス適合回路IOBA45により、バスASBと集積回
路42との間のデータの転送用のバスシステムASBに
回路41を適合させることができる。回路45およびマ
イクロプロセッサ43はクロック発生器47によって同
期される。マイクロプロセッサ43は、バスPIBD4
4、およびメモリ48に含まれるマイクロソフトウェア
によって、メモリ48および回路42のデータを交換し
処理する。回路42は、適合回路45と連結した入出力
ポート55と、リンクEMLによって回路41と同一の
遠隔回路に接続された二つの入出力ポート51および5
4とを含む。EMAで作動する回路41は、EMCで作
動する回路41に接続される。データパスの幅はポート
51、54および55で同一であり、2mバイトに等し
い。適合回路45の有利な点は、ポート51、54およ
び55で、標準のアドレッサビリティ(adressabilit
e)とは異なるアドレッサビリティをサポートできるこ
とである。例えば、ポート51、54および55へのア
ドレシングは40ビットで行うことができるが、主メモ
リユニットMMUのアドレシングは、32ビットで行う
ことができる。
【0015】図3は、集積回路42のアーキテクチャを
示す図である。プロセッサ本体CP57により、バスP
IBDを使って行うマイクロプロセッサ43への移動を
決定するデータの交換ができる。プロセッサ本体57は
リンク58によりメモリ46に直接接続され、メモリ4
8の初期化時に、メモリ46内に常時含まれるマイクロ
ソフトウェアをロードする。移動装置CM50は、イン
タフェースEMAの位置を占める回路41上に集積回路
42が取り付けられる場合に、プロセッサ本体CP57
により起動される。コントローラCS59は、コントロ
ーラEMCの位置を占める回路41上に集積回路42が
取り付けられる場合に、プロセッサ本体CP57により
起動される。
【0016】回路41が取り付けられるキャビネットと
同じキャビネット内に位置するメモリとの間で交換され
るデータはポート55を通過する。回路41が計算機1
内に取り付けられる場合には、ローカルメモリは主メモ
リユニットMMUであり、回路41がキャビネット3ま
たは4内に取り付けられる場合には、ローカルメモリは
拡張メモリユニットEMUである。バスM2CBは、ポ
ート55のデータをプロセッサ本体57、移動装置CM
50、またはコントローラCS59に転送する。バスC
2MBは、プロセッサ本体57、移動装置CM50、ま
たはコントローラCS59のデータをポート55に転送
する。遠隔メモリとの間で交換されるデータはポート5
1および54を通過する。回路41が計算機1内に取り
付けられる場合には、遠隔メモリはキャビネット3また
は4の拡張メモリユニットEMUであり、回路41がキ
ャビネット3または4内に取り付けられる場合には、遠
隔メモリは計算機の主メモリユニットMMUである。バ
スL2CBは、ポート51、54のデータをプロセッサ
本体57、移動装置CM50、またはコントローラCS
59に転送する。バスC2LBは、プロセッサ本体5
7、移動装置CM50、またはコントローラCS59の
データをポート51、54に転送する。双方向バスCP
Bによりプロセッサ本体57は、ポート51、54、5
5、移動装置50、またはコントローラ59との間でデ
ータを交換することができる。
【0017】図4は移動装置CM50のアーキテクチャ
を示す図である。ここには、拡張メモリユニットEMU
に要求を送信するバスC2LBと、主メモリユニットM
MUに要求を送信するバスC2MBと、拡張メモリユニ
ットEMUからの要求を受信するバスL2CBと、主メ
モリユニットMMUからの要求を受信するバスM2CB
とが図示されている。バスCPBは、データバスCPB
DとアドレシングバスCPBAとに分けられる。
【0018】移動装置CM50は三つの主要部分から成
る。すなわち、 − 論理ユニット60は、主メモリユニットMMUまた
は拡張メモリユニットEMU内に位置する宛先メモリ内
にアドレスを発生する。後記の図5でわかるように、論
理ユニット60は、メッセージのヘッダの伝送回路61
により、宛先メモリの2k+n+mバイトのページに宛てら
れた書き込み要求を処理する種々の内部レジスタを含
む。主メモリユニットMMUおよび拡張メモリユニット
EMUは必ずしも同じページ数を持つとは限らず、また
kも、宛先メモリが主メモリユニットMMUであるか
拡張メモリユニットEMUであるかにより異なる数字を
表す。回路61は、宛先メモリが拡張メモリユニットE
MUである場合には、バスC2LBに送信し、宛先メモ
リが主メモリユニットMMUである場合には、バスC2
MBに送信する。また、論理ユニット60は、マイクロ
プロセッサ43によって実行されるマイクロソフトウェ
アとの間で自己の内部レジスタのデータを交換するため
に、バスCPBDに接続される。論理ユニット60はま
た、マイクロソフトウェアとの間でリンク62により割
り込み信号を交換するために、プロセッサインタフェー
スCP57のコントローラに直接接続される。
【0019】− 論理ユニット70は、主メモリユニッ
トMMUまたは拡張メモリユニットEMU内に位置する
ソースメモリ内にアドレスを発生する。後記の図6でわ
かるように、論理ユニット70は、メッセージのヘッダ
の伝送回路71により、ソースメモリの2k+n+mバイト
のページに宛てられた読み出し要求を処理する種々の内
部レジスタを含む。主メモリユニットMMUおよび拡張
メモリユニットEMUは必ずしも同じページ数を持つと
は限らず、また2kも、ソースメモリが主メモリユニッ
トMMUであるか拡張メモリユニットEMUであるかに
より異なる数字を表す。回路71は、ソースメモリが拡
張メモリユニットEMUである場合には、バスC2LB
に送信し、ソースメモリが主メモリユニットMMUであ
る場合には、バスC2MBに送信する。また、論理ユニ
ット70は、マイクロプロセッサ43によって実行され
るマイクロソフトウェアとの間で自己の内部レジスタの
データを交換するために、バスCPBDに接続される。
【0020】− フレーム化回路80は、宛先メモリが
主メモリユニットMMUである場合には、バスL2CB
またはM2CBのいずれかに存在するデータをバスC2
MBに転送し、宛先メモリが拡張メモリユニットEMU
である場合には、バスC2LBに転送する。後記の図7
でわかるように、フレーム化回路は、バスCPBDによ
りマイクロソフトウェアとの間で内容が交換される種々
の内部レジスタを含む。
【0021】移動装置CM50はさらに、書き込み時、
マイクロソフトウェアがバスCPBAによりアクセスす
ることができる三つの内部レジスタWE、SIDおよび
TIDを含む。レジスタWEは、宛先メモリ内への書き
込み許可を格納するためのものである。二つのレジスタ
SIDおよびTIDは、移動プロセスに関する全体的な
情報を格納するためのものである。レジスタSIDは2
ビットを含み、その組合せによりソースメモリが識別さ
れる。例えば第一ビットを0にすることはソースメモリ
が主メモリユニットMMUであることを示し、第一ビッ
トを1にすることはソースメモリが拡張メモリユニット
EMUであることを示す。従って、どの拡張メモリユニ
ットEMUがソースメモリであるかを規定するのに第二
ビットを使用することができる。レジスタTIDは、移
動の宛先51、54、55の識別を含む。レジスタTI
Dは2ビットを含み、その組合せにより宛先メモリが識
別される。例えば第一ビットを0にすることは宛先メモ
リが主メモリユニットMMUであることを示し、第一ビ
ットを1にすることは宛先メモリが拡張メモリユニット
EMUであることを示す。従って、どの拡張メモリユニ
ットEMUが宛先メモリであるかを規定するのに第二ビ
ットを使用することができる。また、主メモリユニット
MMU9から拡張メモリユニットEMU8または拡張メ
モリユニットEMU12へ、拡張メモリユニットEMU
8または拡張メモリユニットEMU12から主メモリユ
ニットMMU9への移動を行うことも可能である。さら
に、主メモリユニットMMUを通さず、拡張メモリユニ
ットEMU8から拡張メモリユニットEMU12に、あ
るいは拡張メモリユニットEMU12から拡張メモリユ
ニットEMU8に直接移動を行うことも可能である。
【0022】図5は論理ユニット60の詳細図である。
この図では、宛先メモリのアドレスを格納するようにな
っているレジスタは、ムネモニック略号(abreviation
mnemotechnique)に第一ビットの番号と単位をビットと
する有効長さとを加えたもので示してある。他のレジス
タは単にムネモニック略号で示してある。
【0023】書き込み時、マイクロソフトウェアはバス
CPBDにより、四つのレジスタOVFB、WMSK
B、OVFEおよびWMSKEにアクセスすることがで
きる。レジスタOVFBは、移動を受け取るべき宛先メ
モリの第一ブロックへの書き込みアクセスのための指示
を格納するためのものである。前記のように、一つのブ
ロックは、2n個のサブブロックから成る。レジスタW
MSKBは、前記第一ブロック内で、書き込みが開始す
る2mバイトのサブブロックを指定する、n個のビット
上に符号化されたマスクを格納するためのものである。
レジスタOVFEは移動を受け取るべき宛先メモリの最
終ブロックに書き込みアクセスをするための指示を格納
するためのものである。レジスタWMSKEは書き込み
が終了する2mバイトのサブブロックを前記最終ブロッ
ク内で指定する、n個のビット上に符号化されたマスク
を格納するためのものである。回路63は、宛先メモリ
内の、移動の対象となる第一サブブロックのアドレスを
回路61に送信するためのものである。このアドレスは
レジスタOVFBおよびWMSKBの内容を使用して作
成される。回路64は、宛先メモリ内の、移動の対象と
なる最終サブブロックのアドレスを回路61に送信する
ためのものである。このアドレスはレジスタOVFEお
よびWMSKEの内容を使用して作成される。
【0024】書き込み時、マイクロソフトウェアはバス
CPBDにより、二つのレジスタWPAおよびWIPA
にアクセスすることができる。レジスタWPAは、その
方向に現在移動が行われている宛先メモリのページのj
個のビット上に符号化されたアドレスを格納するための
ものである。レジスタWIPAは、レジスタWPAの内
容によって指定されたページの内部の、その方向に現在
移動が行われているブロックのk個のビット上に符号化
されたアドレスを格納するためのものである。レジスタ
WPAおよびWIPAの内容は回路61に転送される。
【0025】回路EMA5から見ると、遠隔拡張メモリ
ユニットEMUの一つの完全なブロック上に、2n+m
イトの書き込みW2n+mBおよび部分的書き込みPW2
n+mBを行うことが可能である。完全ブロックによる書
き込み要求によりデータ転送速度が加速される。宛先メ
モリ内への書き込みの開始時において、宛先メモリが拡
張メモリユニットEMUである場合、次の節で説明する
ようにしてレジスタWIPAが増分する。回路EMA5
は、2Pバイトのサブブロックにより、ローカル主メモ
リユニットMMUのブロックの内部に書き込み可能W2
PBを行い、2Pバイトのサブブロックの内部に部分書き
込みPW2PBを行う。Pは2n+m以下の種々の値をと
る。宛先メモリへの書き込み開始時において、宛先メモ
リが主メモリユニットMMUである場合、宛先メモリの
ブロックの開始時において書き込みが継続する前に、2
Pバイトのサブブロックの内部に部分書き込みPW2P
を行い、次いで2n+mバイトのブロックの内部に書き込
みW2PBを行うことが必要となることがある。この場
合、レジスタWIPAの内容は宛先メモリのブロックの
始めに書き込みが続行されるまで固定したままである。
宛先メモリのブロックの始めに書き込みが続行されると
き、次節で説明するようにしてレジスタWIPAが増分
する。
【0026】レジスタWIPAの内容が回路61に転送
される毎に、回路65によりレジスタWIPAの内容が
一つずつ増分し、同一ページ内の次のブロックにアクセ
スする。レジスタWIPAがオーバーフローする毎に、
回路66は、リンク62によりプロセッサインタフェー
スのコントローラCP57に直接接続されたレジスタE
VENT内に割り込みを発生する。レジスタEVENT
により割り込みの発生元を記憶することができ、書き込
み時、マイクロソフトウェアはバスCPBDによりこの
レジスタにアクセスすることができる。
【0027】書き込み時、マイクロソフトウェアはバス
CPBDにより、二つのレジスタWNVおよびWNPA
にアクセスすることができる。レジスタWNPAは、そ
の方向に現在移動が行われているページの次のページの
j個のビットに符号化されたアドレスを格納するための
ものである。レジスタWNPAの内容は、レジスタWN
VがレジスタWNPAの内容が有効であることを示した
時、および前ページが終了した時に、レジスタWPA内
にロードされるためのものである。
【0028】図6は、図5と同じ取り決めによる論理ユ
ニット70の詳細図である。
【0029】書き込み時、マイクロソフトウェアはバス
CPBDにより、四つのレジスタRPA、RIPA、R
ACおよびRLPにアクセスすることができる。レジス
タRPAは、現在そこからの移動が要求中であるソース
メモリのページのj個のビットに符号化されたアドレス
を格納するためのものである。レジスタRIPAは、レ
ジスタRPAの内容によって指定されたページの内部
の、現在そこからの移動が要求中であるブロックのk個
のビットに符号化されたアドレスを格納するためのもの
である。レジスタRPAおよびRIPAの出力側は、ソ
ースメモリアクセスアドレスを発生するために、回路7
1に接続される。レジスタRIPAの内容が回路71に
転送される毎に、回路75によりレジスタRIPAの内
容はqずつ増分する。レジスタRACは、レジスタRP
Aの内容によって指定されたページにおいて未アクセス
の、h個のビットに符号化されたブロック数を格納する
ためのものである。1ページ内に含まれる最大数2k
ブロックを符号化することができるように、通常、hは
k+1に等しい。レジスタRACの内容が回路71に転
送される毎に、回路72によりレジスタRACの内容は
qずつ減分する。数qは、一つの読み出し命令でアクセ
スすることができる隣接ブロック数を表す。レジスタR
LPは、レジスタRPAの内容によって指定されたペー
ジが、移動の際にアクセスする最終ページであるかどう
かを示す記号を格納するためのものである。読み出し
時、マイクロソフトウェアはバスCPBDにより、レジ
スタRLP、RPAおよびRIPAにアクセスすること
ができる。
【0030】書き込み時、マイクロソフトウェアはバス
CPBDにより、四つのレジスタRNPA、RNAC、
RNLPおよびRNVにアクセスすることができる。レ
ジスタRNPAは、現在そこからの移動が要求中である
ページに引き続くソースメモリのページのj個のビット
に符号化されたアドレスを格納するためのものである。
レジスタRNACは、レジスタRNPAの内容によって
指定されたページにおいて未アクセスの、h個のビット
に符号化されたブロック数を格納するためのものであ
る。レジスタRNLPは、レジスタRNPAの内容によ
って指定されたページが、移動の際にアクセスする最終
ページであるかどうかを示す記号を格納するためのもの
である。転送にあたりレジスタRNPA、RNACおよ
びRNLPの内容が有効であることをレジスタRNVの
内容が示している場合には、各レジスタRNPA、RN
ACおよびRNLPの内容はそれぞれレジスタRPA、
RACおよびRLPに転送される。
【0031】図7は、フレーム化回路80の詳細図であ
る。FIFO(先入先出)型のスタック81は、バスL
2CBまたはバスM2CBからのデータを入力側で受け
取り、出力側でそのデータをバスC2MBまたはバスC
2LBに送る。スタック81は2n個の要素から成り、
各要素は、バスC2LB、C2MB、L2CBおよびM
2CB上のデータパスの幅に等しいビット数を含む。書
き込み時、マイクロソフトウェアはバスCPBDによ
り、二つのレジスタDSWPおよびDSRPにアクセス
することができる。レジスタDSRPは、宛先メモリが
拡張メモリユニットEMUである場合にはバスC2LB
上に書き込み、宛先メモリが主メモリユニットMMUで
ある場合にはバスC2MB上に書き込むための、スタッ
ク81の要素上のポインタを格納するためのものであ
る。レジスタDSRPの内容は、バスC2LBまたはC
2MBのいずれかの上の要素が書き込まれる毎に回路8
3により一つ増分する。レジスタDSWPは、ソースメ
モリが拡張メモリユニットEMUである場合にはバスL
2CBから読み出し、ソースメモリが主メモリユニット
MMUである場合にはバスM2CBから読み出すため
の、スタック81の要素上のポインタを格納するための
ものである。バスL2CBまたはM2CBのいずれかの
上の要素が読み込まれる毎に、レジスタDSWPの内容
は回路82により一つ増分する。読み出し時、マイクロ
ソフトウェアはバスCPBDにより、レジスタDSRP
にアクセスすることができる。
【0032】下記の記述は移動の動作を説明するもので
ある。移動は、主メモリユニットMMUを含む計算機の
プロセッサからの要求があると、移動装置50により行
われる。このために、移動を要求するプロセッサはバス
ASBを介して回路41に、移動を指示する一連の初期
化データを送る。これらの初期化データは、バスM2C
B、プロセッサインタフェースコントローラCP57お
よびバスPIDを介して、回路41内のメモリ48に送
信される。マイクロプロセッサは、メモリ48内にある
マイクロソフトウェアにより、これらのデータを基にし
て移動を管理する。
【0033】アペンディックス1および2は、移動の起
動時に前記に記載のレジスタの内容を初期化するための
前記マイクロソフトウェアの動作例を示すものである。
理解を容易にするために、図において大文字で示したレ
ジスタの値は、命令行では同一の方法で小文字で示し
た。
【0034】アペンディックス1は、ソースメモリの第
一ページの読み出し時および宛先メモリの第一ページの
書き込み時のアクセスのための初期化を記述するもので
ある。
【0035】− 行1から4では、0または1の符号を
付けた遠隔拡張メモリユニットEMUから移動を行うた
めの値00または01、あるいはローカル主メモリユニ
ットMMUから移動を行うための値1xを、レジスタT
IDに格納する。
【0036】− 行5では、例えばポート55の場合は
00、ポート51の場合は10、ポート54の場合は1
1など、ソースメモリと連結しているポートの識別子を
レジスタSIDに格納する。
【0037】− 行6では、レジスタWEの内容を0に
リセットすることにより、宛先メモリ内への書き込みア
クセス送信を禁止する。
【0038】− 行7から16により、移動が開始する
ソースメモリのページ内での読み出しアクセスを初期化
することができる。
【0039】拡張メモリユニットEMUおよび主メモリ
ユニットMMUはページに分割される。また各ページも
n個のサブブロックから成る2k個のブロックに分割さ
れる。各サブブロックは2mバイトを含む。従って、最
大で2jページを含むメモリ内では、各バイトのアドレ
スは、j+k+n+mビットで符号化される。
【0040】初期化データには三つの値がある。すなわ
ち、 − rad[{i}0:j+k+n+m]は、j+k+
n+mビット長でビット0から符号化されるソースメモ
リのi番目のページの開始アドレスを示す。同じ書き込
み規定に従うことにより、ページの内部で転送される第
一サブブロックのアドレスを示す例えばrad[{0}
j+k:n]をこのデータから抽出することが可能であ
る。
【0041】− wad[{i}0:j+k+n+m]
は、j+k+n+mビット長でビット0から符号化され
る宛先メモリのi番目のページの開始アドレスを示す。
【0042】− 2mバイトから成るサブブロックを単
位とする移動長さを示す数lgthxmB。
【0043】マイクロソフトウェアの行7では、2n+m
バイトから成るブロックを単位とする移動長さが計算さ
れる。次に、使われる式の根拠について説明する。移動
をより速く行うために、ソースメモリからの抽出は、2
n+mバイトのブロック毎に行われる。ソースメモリ内の
読み出し時にアクセスされる2n+mバイトのブロックの
数lgthxnが、lgthxmBを基にして計算され
る。ブロックの内部の任意のサブブロックから移動が始
まる。ソースメモリから抽出すべき最初のブロックは、
次式で与えられる数xのサブブロックを含む。
【0044】x=2n−rad[{0}j+k:n] 数(lgthxmB−x)を2nにより整数除算するこ
とにより、移動すべき整数ブロック数yが得られる。
【0045】y=(lgthxmB−x)/2 整数除算の余りが0でない数zである場合、残りのz個
のサブブロックを移動するために、ソースメモリからさ
らに一個のブロックを抽出する必要がある。数zは0な
いし2 −1であることから、(z+2 −1)を2
で整数除算することにより、追加ブロック数q(1以
上)が得られる。
【0046】q=(z+2n−1)/2n 最後に、ソースメモリから抽出すべきブロック数lgt
hxnは次式で得られる。
【0047】lgthxn=1+y+q=1+(2n
+z+2n−1)/2n ところで:z=lgthxmB−x−2ny 従って:lgthxn=1+(lgthxmB+rad
[{0}j+k:n]−1)/2n − 行8では、移動が開始するソースメモリの第一ペー
ジのアドレスを、レジスタRPAのjビットに格納す
る。
【0048】− 行9では、移動が開始するソースメモ
リの第一サブブロックのアドレスを、レジスタRIPA
のkビットに格納する。
【0049】− 行10から16により、ソースメモリ
内でアクセスされた第一ページから抽出すべき、(k+
1)ビットで符号化されるブロック数をレジスタRAC
内に格納し、アクセスされた第一ページが最終ページで
あるか否かを示す値をレジスタRLPに格納することが
できる。ソースメモリから抽出すべきブロック数lgt
hxnが、抽出すべき第一ブロックのアドレスと、ブロ
ック数を単位として数えたあるページの最大内容量との
間に含まれるブロック数以上である場合には、ソースメ
モリから全ブロックを抽出するために以降のページにア
クセスする必要がある。アクセスされた第一ページが最
終ページではないことを示すために、例えば0などの値
がレジスタRLP内に格納される。抽出すべき第一ブロ
ックのアドレスとページの最大内容量との間に含まれる
ブロック数はレジスタRAC内に格納される。第一ペー
ジ以降で抽出すべきブロック残数は、ソースメモリから
抽出すべき新規ブロック数lgthxnとみなされる。
ソースメモリから抽出すべきブロック数lgthxn
が、抽出すべき第一ブロックのアドレスと、ブロック数
を単位として数えたあるページの最大内容量との間に含
まれるブロック数未満である場合には、ソースメモリか
ら全ブロックを抽出するために以降のページにアクセス
する必要はない。アクセスされた第一ページが最終ペー
ジであることを示すために、例えば1などの値がレジス
タRLP内に格納される。アクセスされた第一ページ
は、ソースメモリから抽出すべきブロック数lgthx
nによって数量が明らかになったブロック全数を含み、
数lgthxnはレジスタRAC内に格納される。レジ
スタRACの内容が0以外の場合には、ソースメモリ内
での読み出しアクセスが発生する。
【0050】− 行17から27では、移動が開始する
宛先メモリの第一ページ内での書き込みアクセスを初期
化する。
【0051】− 行17では、アクセスされた第一ペー
ジのアドレスwad[{0}0:j]を、宛先メモリ内
の現在ページのアドレスのレジスタWPA内に格納す
る。
【0052】− 行18では、アクセスされた第一ブロ
ックのアドレスwad[{0}j:k]を、宛先メモリ
内の現在ページの内部のアドレスのレジスタWIPA内
に格納する。
【0053】− 行19では、第一ブロックの内部にお
いてアクセスされた第一サブブロックのアドレスwad
[{0}J+k:n]を、宛先メモリ内の書き込み開始
マスクのレジスタWMSKB内に格納する。
【0054】− 行20では、最終ブロックの内部にお
いてアクセスされた最終サブブロックの2nモジュロア
ドレス(wad[{0}J+k:n]+lgthmB−
1)を、宛先メモリ内の書き込み終了マスクのレジスタ
WMSKE内に格納する。
【0055】− 行21では、第一ブロックの内部にお
いて書き込み時は、アクセスされた第一サブブロックの
アドレスwad[{0}j+k:n]と、第一ブロック
の内部において読み出し時にアクセスされた第一サブブ
ロックのアドレスrad[{0}j+k:n]との差を
計算する。この差は、第一サブブロックが宛先メモリの
第一ブロック内に書き込まれる場所と、ソースメモリの
第一ブロック内で第一サブブロックが読まれる場所との
間の、移動された第一ブロック内での整列誤差を示す。
この2nモジュロの差はレジスタDSWP内に格納され
る。移動されたブロックの内部で、書き込まれた第一サ
ブブロックの状態が、読み込まれた第一サブブロックの
状態よりも先行する場合、差の計算により、ソースメモ
リ内の第一ブロックの読み出しでは宛先メモリ内の第一
ブロックの書き込みを終了させるのに充分ではないこと
を意味するオーバーフローが生じる。
【0056】− 行22では、行21の結果としての計
算についてのオーバーフローの指示をレジスタOVFB
に格納する。
【0057】− 行23では、宛先メモリ内に書き込む
べき最終サブブロックのアドレスと、行21で求めた誤
差との差を計算する。行7では、宛先メモリを更新する
ために、ソースメモリ内で読むべきブロック数lgth
xnを計算した。行21で計算された誤差が最終サブブ
ロックのアドレスよりも大きい場合には、差の計算によ
りオーバフローが発生し、レジスタOVFEに格納され
る。これにより回路60のハードウェア構成は、ソース
メモリから受け取った最終ブロックが宛先メモリの二つ
のブロックに重なるということを考慮することができ
る。
【0058】− 行24から27により、スタック81
内での読み出しにおけるポインタをレジスタDSRP内
に格納することができる。宛先メモリがローカル主メモ
リユニットMMUである場合には、レジスタDSRPは
レジスタWMSKB内に含まれる値で初期化される。こ
れにより、書き込み命令W2PB、ならびに必要であれ
ば、第一部分書き込み命令PW2PBを使用して宛先メ
モリのブロックの内部の適当なアドレスにおいて、第一
サブブロックの書き込みを開始することができる。宛先
メモリが遠隔拡張メモリユニットEMUである場合に
は、レジスタDSRPは0の値で初期化される。なぜな
ら、宛先メモリのブロックの内部の適当なアドレスへの
第一サブブロックの書き込みは、部分書き込みPW2
n+mBによりブロック全体の内部において直接行うこと
ができるからである。
【0059】− 行28では、ソースメモリからの応答
の受信の進行に応じて行われる宛先メモリ内での書き込
みアクセスの伝送を確定するために、レジスタWEに1
をセットする。
【0060】アペンディックス2は、ソースメモリの次
ページの読み出し時、および宛先メモリの次ページの書
き込み時のアクセス用の初期化が必要な場合それを記述
するものである。
【0061】− 行1では、移動が継続するソースメモ
リの第二ページのアドレスをレジスタRNPAのjビッ
トに格納する。
【0062】− 行2から8では、アペンディックス1
の行10から16を再度実行し、第一サブブロックがペ
ージの先端に書き込まれたことを考慮して、次ページに
これらの行を適用する。
【0063】− 行9では、行1から8を実行した後、
レジスタRNLP、RNPAおよびRNACの内容を確
定する。
【0064】− 行10では、アクセスされた第二ペー
ジのアドレスwad[{1}0:j]を、宛先メモリ内
の次ページのアドレスのレジスタWNPA内に格納す
る。
【0065】− 行11では、行10を実行した後、レ
ジスタWNPAの内容を確定する。
【0066】次に、初期化段階後の移動がどのように行
われるかについて説明する。レジスタRLP、RPA、
RIPAおよびRACの内容は回路71に転送される。
回路71は、レジスタRPAおよびRIPAの内容を基
にして、ソースメモリ内でのq個のブロックの読み出し
要求を作成する。レジスタの内容が転送される毎に、回
路75によりレジスタRIPAの内容がqだけ増分し、
レジスタRACの内容が同じ値であるqだけ減分する。
次に、レジスタRACの内容が0を通過するまで前回の
作業が繰り返される。レジスタRACの内容が0を通過
すると、レジスタRLPの内容が最終ページを示してい
る場合には、回路71は、移動の終了を示すために要求
内にビットLMOSを立てる。レジスタRLPの内容が
最終ページを示していない場合には、レジスタRNVの
有効な内容により、レジスタRNLP、RNPAおよび
RNACがそれぞれレジスタRLP、RPAおよびRA
C内に転送され、レジスタRNVの内容が無効化され
る。マイクロソフトウェアはレジスタRNLP、RNP
A、RNACおよびRNVを再度ロードする。前記に記
載の作業は、移動の終了記号となるビットLMOSが立
つことによって示される移動の終了時まで繰り返され
る。
【0067】ソースメモリが主メモリユニットMMUで
ある場合には、バスC2MBおよびインタフェースIO
BXAにより、読み出し要求がメッセージの形態で主メ
モリユニットMMUに送られ、ソースメモリが拡張メモ
リユニットEMUである場合には、バスC2LBおよび
適当なインタフェースSLCにより、拡張メモリユニッ
トEMUに送られる。ソースメモリは各読み出し要求に
関して、単数または複数の応答メッセージを回路42に
送る。各応答メッセージは、読み出されたデータブロッ
クを含む。回路42は要求に対する応答を受け取るが、
待ち時間はリンク長およびソースメモリ内の処理に依存
する。応答メッセージに関しては、要求メッセージの順
序が保持される。要求メッセージが読み出し時にq個の
ブロックを使用する場合には、要求メッセージ内のq個
のブロックの順序に従いq個の応答メッセージが戻って
くる。要求と応答の全移動行程上の中間レジスタは先入
先出型であるのでこの順番が保持されるのである。
【0068】最初の応答メッセージが受信されると、メ
ッセージの第一データブロックがフレーム化回路80に
送信され、初期化時にロードされたレジスタDSWPの
内容によって指定されるスタック81の要素内に、この
ブロックの第一サブブロックが書き込まれる。従って、
回路82によりサブブロックが書き込まれる毎にレジス
タDSWPの内容が増分し、サブブロック毎に受信ブロ
ック全体が書き込まれるまで、すなわちレジスタDSW
Pの内容が再度初期値に達するまで継続する。この時回
路61は、初期化時にロードされたレジスタWPA、W
IPA、OVFB、WMSKB、OVFEおよびWMS
KEの内容により、宛先メモリ内への書き込み要求を作
成する。実際には、書き込みにおける起動は可能な限り
早く起動する。宛先メモリ内に書き込むべき最初のブロ
ックは、フレーム化回路80からこのメッセージ内に格
納される。この場合、スタック81から抽出される最初
のサブブロックは、初期化時にロードされたレジスタD
SRPの内容によって指定される要素内に含まれるサブ
ブロックである。スタック81からサブブロックが読み
出される毎に、レジスタDSRPの内容は回路83によ
り増分され、次のサブブロックが読まれる。
【0069】前記に説明したように、移動の開始時が万
一該当する場合を除き、回路61がレジスタWIPAの
内容を使う毎に、回路65によりレジスタWIPAが増
分し、宛先メモリ内に次のブロックが書き込まれる。
【0070】レジスタDSRPの内容が0を通過する
と、レジスタDSWPの内容によって指定される要素か
らスタック81内に、ソースメモリから受け取った次の
ブロックが書き込まれる。回路61は、レジスタWP
A、WIPA、OVFB、WMSKB、OVFEおよび
WMSKEの内容により、宛先メモリ内への書き込み要
求を作成する。レジスタDSWPが増分する毎に、レジ
スタDSRPの内容によって指定されるスタック81の
要素の読み出しが許可され、このレジスタの内容は、宛
先メモリ内への書き込み要求メッセージ内に1ブロック
を丸ごと格納するために増分し続ける。従ってフレーム
化回路は、各要素がデータパスの幅に等しい容量を有す
るシフトレジスタとして作用し、宛先メモリ内で正しく
フレーム化された応答メッセージの全ブロックをソース
メモリに転送することができる。レジスタWIPAの増
分時にその内容が0を通過することは、現在ページが終
了したことを意味する。レジスタWPAの内容には、レ
ジスタWNVによって有効化されたレジスタWNPAの
内容が再ロードされる。レジスタWNVは無効化され
る。レジスタWIPAの内容が0を通過することによ
り、回路61により割り込みが同時に発生し、レジスタ
EVENT内に格納され、マイクロプロセッサ43に送
信され、必要であればレジスタWNVおよびWNPAが
再度ロードされる。
【0071】前節に記載のプロセスは、ソースメモリか
らの最終応答メッセージを回路42が受信し終るまで継
続する。最終応答メッセージはソースメモリが受信要求
を基にしてその応答の中に必ず再送信するビットLMO
Sによって示す終了記号などで示される。
【0072】回路60内のレジスタWIPAは、回路7
0のレジスタRIPAと同一の役割を果していることに
留意されたい。しかし、回路60は回路70のレジスタ
RACのようなカウンタを使用する必要はない。宛先メ
モリ内へのブロックの書き込みは、ブロックがフレーム
化回路80に到達するようにして行われる。また先読み
レジスタRNPAおよびWNPAによりそれぞれ、ソー
スメモリのページ内での読み出し、および、必ずしも連
続していない、宛先メモリのページ内への書き込みが可
能である。また、要求と応答は独立していることにも留
意されたい。事実、回路70および71がソースメモリ
に読み出し要求を送信し、また回路60および61は、
はるか以前の読み出し要求に対する応答の結果として、
宛先メモリに書き込み要求を送信するのを拒むものは何
もない。回路42内では、読み出し応答の入力は、ソー
スメモリが受信するとすぐ、フレーム化回路80を通し
て移動データのブロックが宛先メモリに送信される点
で、書き込み要求の出力と同期している。いかなる追加
の待ち時間もこのレベルには導入されない。
【0073】移動は種々の理由により中断されることが
ある。例えば、読み出し時または書き込み時のエラー検
出が理由になり得る。また、より優先度の高い移動を行
わせるために、現在進行中のプロセスにより計算機内で
発生する中断も理由になり得る。入出力型の非同期移動
により、それによって開始されたプロセスの続きを妨げ
ることなくより多くのデータを移動させることができ
る。一方、命令型の同期移動では、それによって開始さ
れたプロセスは移動が終了してからでないと次の命令に
移行することができない。同期移動は限られた数のデー
タしか移動させないため、通常、非同期移動よりも高速
である。同期移動を開始するプロセスを長時間中断させ
ないようにするために、同期移動は非同期移動よりも優
先度を高くするのが好ましい。
【0074】回路50は、エラーを検出すると、以下の
節で説明するシーケンスにより停止を発生する。計算機
内で現在進行中のプロセスは、優先度の高い移動を要求
する場合、ポート55、バスCPB、プロセッサ本体C
P57、およびバスPIDを介してそのことをマイクロ
プロセッサに知らせる。プロセッサ43が、現在進行中
の移動よりも要求された移動のほうが優先度が高いこと
を検出した場合には、プロセッサはバスCPBAを介し
て停止命令を回路50に送信する。次に回路50は、以
下の節で説明するシーケンスにより停止を発生する。
【0075】回路71はビットLMOSに1を立てるこ
とにより、現在進行中のプロセスの次の要求とともに終
了記号を送信する。レジスタRNVは、レジスタRL
P、RPA、RIPAおよびRACから回路71への転
送を無効にして、ソースメモリへの新規読み出し要求の
送信を禁止する。レジスタRLP、RPA、RIPAお
よびRACの内容はマイクロプロセッサ43によりバス
CPBDを介してメモリ48内に保存される。レジスタ
RAC、RLP、RNAC、およびRNLPの内容が0
でない場合には、終了記号を含むソースメモリからの応
答メッセージの受信により、「一時停止」状態が検出さ
れる。
【0076】エラーの検出により「一時停止」状態が発
生すると、マイクロプロセッサ43は、レジスタの内容
を読むことにより、エラーが発生したソースメモリまた
は宛先メモリのページを判定する。するとマイクロプロ
セッサ43は、移動を開始したプロセスが措置を講じる
ようにするためにエラーおよびその場所をプロセスに知
らせる。
【0077】現在進行中の移動よりも優先度の高い移動
の要求により「一時停止」状態が引き起こされた場合、
マイクロプロセッサ43は、回路50のレジスタに優先
度の高い移動のデータをロードする。終了記号の検出に
より優先度の高い移動が終了すると、マイクロプロセッ
サ43は、保存されているデータを回路50のレジスタ
にロードすることにより、一時停止されていた移動を再
開することができる。従って、現在進行中の移動の中断
は、移動を開始したプロセス側から把握することができ
る。
【0078】
【表1】
【0079】
【表2】
【図面の簡単な説明】
【図1】本発明による少なくとも一つの拡張メモリユニ
ットへのアクセスを有する計算機をもつ情報処理システ
ムを示す図である。
【図2】図1のシステム内における本発明による回路の
可能な実施の形態を示す図である。
【図3】本発明による回路のアーキテクチャの第一水準
の改良を示す図である。
【図4】本発明による移動装置のアーキテクチャを示す
図である。
【図5】本発明による回路のアーキテクチャの第二水準
の改良を示す図である。
【図6】本発明による回路のアーキテクチャの第二水準
の改良を示す図である。
【図7】本発明による回路のアーキテクチャの第二水準
の改良を示す図である。
【符号の説明】
5、6、7 データパス 8、9、12 メモリユニット 42 集積回路 60、61 書き込み要求を送信する手段 70、71 読み出し要求を送信する手段 80 記憶手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 13/28 310 G06F 13/28 310M (72)発明者 クリストフ・デイオネ フランス国、94200・イブリ・シユー ル・セーヌ、アブニユ・ドウ・ベルダ ン、77 (56)参考文献 特開 平2−234251(JP,A) 特開 平2−234244(JP,A) 特開 平1−213732(JP,A) 特開 昭63−64144(JP,A) 特開 平8−69408(JP,A) 特開 平7−141256(JP,A) 特開 平6−332793(JP,A) 特開 平5−282202(JP,A) 特開 平5−210615(JP,A) 特開 平5−81124(JP,A) 特開 平4−218853(JP,A) 特開 平3−244059(JP,A) 特開 平2−36443(JP,A) 特開 平1−114952(JP,A) 特開 昭64−82236(JP,A) 特開 昭64−62743(JP,A) 特開 昭63−204453(JP,A) 特開 昭63−198143(JP,A) 特開 昭62−134743(JP,A) 特開 昭61−235959(JP,A) 特開 昭61−223962(JP,A) 特開 昭59−167761(JP,A) 特開 昭57−117033(JP,A) 実開 平4−74353(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 550 - 12/06 G06F 13/16 - 13/18 G06F 13/20 - 13/378 G06F 13/38

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソースメモリの最終ブロック読み出
    ための要求内に終了記号を発生する手段(RLP、RA
    C)を含む、前記ソースメモリ内ブロックを読み出す
    ための読み出し要求を所与の順序で送信する第1送信
    段(70、71)と、 読み出されたブロックを、要求が送信された順番に応答
    メッセージの形態で受信する記憶手段(80)と、 応答メッセージの受信の間、終了記号をともなうソース
    メモリからのメッセージを受信するまで、前記記憶手段
    内(80)受信したブロック宛先メモリ内へ書き込
    むための書き込み要求を送信する第2送信手段(60、
    61)とを含むことを特徴とするデータパス(5、
    6、7)により、前記ソースメモリユニット(8、9、
    12)のデータブロックを前記宛先メモリユニット
    (9、12、8)に移動する電気回路。
  2. 【請求項2】 終了記号を発生する手段が、 読み出し要求の行き先となるソースメモリのページが移
    動の最終ページであるかどうかを示すレジスタ(RL
    P)と、 前記読み出し要求の行き先となるソースメモリのページ
    内の未読み出しブロック数を格納するレジスタ(RA
    C)と、 前記レジスタ(RAC)の内容が0になり、前記読み出
    し要求の行き先となるソースメモリのページが移動の最
    終ページであることを前記レジスタ(RLP)が示した
    時、前記終了記号を送信する論理回路(71)とから成
    ることを特徴とする請求項1に記載の回路。
  3. 【請求項3】 第1送信手段(70)が、 読み出し要求の行き先となるソースメモリの次ページが
    移動の最終ページであるかどうかを示すレジスタ(RN
    LP)と、 前記読み出し要求の行き先となるソースメモリの次ペー
    ジ内の未読み出しブロック数を格納するレジスタ(RN
    AC)と、 レジスタ(RAC)の内容が0になった時点で、前記レ
    ジスタ(RNLP、RNAC)の内容のレジスタ(RL
    P、RAC)への転送を有効にするレジスタ(RNV)
    とを含むことを特徴とする請求項2に記載の回路。
  4. 【請求項4】 第1送信手段(70)が、 読み出し要求の行き先となるソースメモリのページのア
    ドレスを格納するレジスタ(RPA)と、 読み出しが開始するブロックの前記ソースメモリ前記
    ページのアドレスを格納するレジスタ(RIPA)
    と、 前記読み出し要求の行き先となるソースメモリの次ペー
    ジのアドレスを格納するレジスタ(RNPA)と、 を含むことを特徴とする請求項3に記載の回路。
  5. 【請求項5】 第2送信手段(60)が、 書き込み要求の行き先となる宛先メモリのページのアド
    レスを格納するレジスタ(WPA)と、 書き込みが開始するブロックの前記宛先メモリ前記ペ
    ージのアドレスを格納するレジスタ(WIPA)とを
    含むことを特徴とする請求項2に記載の回路。
  6. 【請求項6】 第2送信手段(60)が、 書き込み要求の行き先となる宛先メモリの次ページのア
    ドレスを格納するレジスタ(WNPA)と、 レジスタ(WIPA)の内容がオーバーフローした時点
    で、前記レジスタ(WNPA)の内容のレジスタ(WP
    A)への転送を有効にするレジスタ(WNV)とを含む
    ことを特徴とする請求項5に記載の回路。
  7. 【請求項7】 データパス(5、6、7)により、主メ
    モリユニット(9)と少なくとも一つの遠隔拡張メモリ
    ユニット(8)との間において移動を起動する少なくと
    も一つのプロセッサユニット(2)を含む計算機(1)
    であって、少なくとも一つの請求項1から6のいずれか
    一項に記載の回路を含むことを特徴とする計算機。
  8. 【請求項8】 ソースメモリの最終ブロック読み出
    ための要求内に終了記号を発生するとともに、前記ソー
    スメモリ内のブロック読み出すための読み出し要求を
    所与の順序で送信し、 読み出されたブロックを、前記要求が送信された順番に
    応答メッセージの形態で受信し、 前記応答メッセージの受信の間、終了記号をともなうソ
    ースメモリからのメッセージを受信するまで、受信した
    ブロック宛先メモリ内へ書き込むための書き込み要求
    を送信することから成ることを特徴とするデータパス
    (5、6、7)により、前記ソースメモリユニット
    (8、9、12)のデータブロックを前記宛先メモリユ
    ニット(9、12、8)に移動する方法。
  9. 【請求項9】 読み出し要求の行き先となるソースメモ
    リのページが移動の最終ページであること、および前記
    読み出し要求の行き先となるソースメモリのページ内の
    未読み出しブロック数が0であることの二つの条件の組
    合せにより終了記号が発生することを特徴とする請求項
    8に記載の方法。
  10. 【請求項10】 移動停止命令があるとすぐ次回読み出
    し要求とともに終了記号が発生し、プロセスを「一時停
    止」状態にしプロセスを「一時停止」状態にするために
    レジスタの内容が保存されることを特徴とする請求項8
    に記載の方法。
JP15177797A 1996-06-10 1997-06-10 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機 Expired - Lifetime JP3210880B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9607163 1996-06-10
FR9607163A FR2749682B1 (fr) 1996-06-10 1996-06-10 Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit

Publications (2)

Publication Number Publication Date
JPH1083372A JPH1083372A (ja) 1998-03-31
JP3210880B2 true JP3210880B2 (ja) 2001-09-25

Family

ID=9492880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15177797A Expired - Lifetime JP3210880B2 (ja) 1996-06-10 1997-06-10 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機

Country Status (5)

Country Link
US (1) US6029233A (ja)
JP (1) JP3210880B2 (ja)
DE (1) DE19722803A1 (ja)
FR (1) FR2749682B1 (ja)
GB (1) GB2314181B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4207323B2 (ja) * 1999-08-26 2009-01-14 富士通株式会社 データ転送装置及びデータ転送方法
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US8015380B2 (en) * 2008-02-01 2011-09-06 International Business Machines Corporation Launching multiple concurrent memory moves via a fully asynchronoous memory mover
US8245004B2 (en) * 2008-02-01 2012-08-14 International Business Machines Corporation Mechanisms for communicating with an asynchronous memory mover to perform AMM operations
US8356151B2 (en) * 2008-02-01 2013-01-15 International Business Machines Corporation Reporting of partially performed memory move
US8095758B2 (en) * 2008-02-01 2012-01-10 International Business Machines Corporation Fully asynchronous memory mover
US8327101B2 (en) * 2008-02-01 2012-12-04 International Business Machines Corporation Cache management during asynchronous memory move operations
US8275963B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Asynchronous memory move across physical nodes with dual-sided communication
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
DE102009040839A1 (de) 2008-09-30 2010-04-15 Carl Zeiss Microimaging Gmbh Peripherieschnittstelle, Datenstrom und Datenübertragungsverfahren
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855903A (en) * 1984-12-20 1989-08-08 State University Of New York Topologically-distributed-memory multiprocessor computer
GB2176917B (en) * 1985-06-19 1989-01-05 Stc Plc Data port
FR2644260B1 (fr) * 1989-03-08 1993-10-29 Nec Corp Dispositif de commande d'acces en memoire pouvant proceder a une commande simple
EP0394599B1 (en) * 1989-04-28 1994-07-20 International Business Machines Corporation Circuit for synchronizing data transfers between two devices operating at different speeds
ATE185631T1 (de) * 1991-08-16 1999-10-15 Cypress Semiconductor Corp Dynamisches hochleistungsspeichersystem
US5506953A (en) * 1993-05-14 1996-04-09 Compaq Computer Corporation Memory mapped video control registers
US5446848A (en) * 1993-06-25 1995-08-29 Unisys Corp Entry level data processing system which is expandable by a factor of two to a partitionable upgraded system with low overhead
DE4340551A1 (de) * 1993-11-29 1995-06-01 Philips Patentverwaltung Programmspeichererweiterung für einen Mikroprozessor

Also Published As

Publication number Publication date
GB2314181A (en) 1997-12-17
FR2749682A1 (fr) 1997-12-12
FR2749682B1 (fr) 1998-07-10
GB2314181B (en) 2000-06-28
DE19722803A1 (de) 1997-12-11
JPH1083372A (ja) 1998-03-31
GB9711943D0 (en) 1997-08-06
US6029233A (en) 2000-02-22

Similar Documents

Publication Publication Date Title
JP3210880B2 (ja) 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機
JP2802043B2 (ja) クロック故障検出回路
US5768548A (en) Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data
US5870625A (en) Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
JP2654369B2 (ja) プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置
JPH0724045B2 (ja) メモリ制御サブシステム
JPH0363096B2 (ja)
JPH07281976A (ja) パケットfifoを管理する方法
JPH02289017A (ja) コンピユータシステム内でデータ転送方法
JP4531223B2 (ja) 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置
US4719563A (en) Data transmission control device for controlling transfer of large amounts of data between two memory units
US5089953A (en) Control and arbitration unit
EP0618537B1 (en) System and method for interleaving status information with data transfers in a communications adapter
JPH10116224A (ja) 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機
EP0067519B1 (en) Telecommunications system
JPS61217858A (ja) デ−タ伝送装置
JP3141948B2 (ja) 計算機システム
JPH07271654A (ja) コントローラ
JP2001273191A (ja) コンピュータシステム
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JP2000029823A (ja) バスアクセス制御回路
JP2826780B2 (ja) データ転送方法
JPS63305451A (ja) 記憶システム
JPH0619855A (ja) メッセージのキューイング方法とその装置
JPH039453A (ja) データ転送制御装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070713

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080713

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080713

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term