JPH0239253A - バッファメモリのデータ格納制御方式 - Google Patents
バッファメモリのデータ格納制御方式Info
- Publication number
- JPH0239253A JPH0239253A JP63188915A JP18891588A JPH0239253A JP H0239253 A JPH0239253 A JP H0239253A JP 63188915 A JP63188915 A JP 63188915A JP 18891588 A JP18891588 A JP 18891588A JP H0239253 A JPH0239253 A JP H0239253A
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer memory
- block
- same data
- written
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔(概要〕
バッファメモリを有する情報処理装置に係わり、特に同
一データを広い範囲に書き込む時のデータ格納制御方式
に関し、 所定の範囲以上に同一データを書き込むときの処理を高
速化することを目的とし、 前記同一データ及び前記同一データの書き込まれる範囲
を指定する情報を格納する手段を備え、所定の範囲以上
に同一データを書き込むことを検出したときは、バッフ
ァメモリ上のデータを更新することなく、前記格納する
手段に前記同一データ及びその範囲を指定する情報を書
き込み、前記同一データが書き込まれた範囲からデータ
を読み出すときは、バッファメモリからではなく、前記
格納する手段に格納されている同一データを所定データ
幅に拡張して読み出すことを特徴とするバッファメモリ
のデータ格納制御方式を構成する。
一データを広い範囲に書き込む時のデータ格納制御方式
に関し、 所定の範囲以上に同一データを書き込むときの処理を高
速化することを目的とし、 前記同一データ及び前記同一データの書き込まれる範囲
を指定する情報を格納する手段を備え、所定の範囲以上
に同一データを書き込むことを検出したときは、バッフ
ァメモリ上のデータを更新することなく、前記格納する
手段に前記同一データ及びその範囲を指定する情報を書
き込み、前記同一データが書き込まれた範囲からデータ
を読み出すときは、バッファメモリからではなく、前記
格納する手段に格納されている同一データを所定データ
幅に拡張して読み出すことを特徴とするバッファメモリ
のデータ格納制御方式を構成する。
(産業上の利用分野〕
本発明は、バッファメモリを有する情報処理装置に係わ
り、特に同一データを広い範囲に書き込む時のデータ格
納制御方式に関する。
り、特に同一データを広い範囲に書き込む時のデータ格
納制御方式に関する。
バッファメモリを有する情報処理装置は、データを主メ
モリ装置から読み込むとき、前記データの属する主メモ
リ上のブロックがバッファメモリ上に登録されているか
否かを調べ、登録されていればバッファメモリから前記
データを読み込み、登録されていなければバッファメモ
リ上に前記ブロックを登録し主メモリから前記ブロック
を転送すると共に前記データを読み込む。バッファメモ
リは、主メモリ装置に比べて高速にデータアクセスでき
、頻繁にアクセスされるデータがバッファメモリ上に登
録されていれば、実効的にデータアクセスが高速化でき
る。
モリ装置から読み込むとき、前記データの属する主メモ
リ上のブロックがバッファメモリ上に登録されているか
否かを調べ、登録されていればバッファメモリから前記
データを読み込み、登録されていなければバッファメモ
リ上に前記ブロックを登録し主メモリから前記ブロック
を転送すると共に前記データを読み込む。バッファメモ
リは、主メモリ装置に比べて高速にデータアクセスでき
、頻繁にアクセスされるデータがバッファメモリ上に登
録されていれば、実効的にデータアクセスが高速化でき
る。
バッファメモリのデータ格納制御方式には大きく分けて
ストアスル一方式とストアイン方式とがある。ストアス
ル一方式はデータを格納すると共に主メモリ上のデータ
も更新する方式であり、ストアイソ方式はバッファメモ
リ上のデータだけを更新し、そのデータの属するバッフ
ァメモリのブロックの登録が取り消されるときはバッフ
ァメモリ上のブロックを主メモリ装置へ転送するもので
ある。
ストアスル一方式とストアイン方式とがある。ストアス
ル一方式はデータを格納すると共に主メモリ上のデータ
も更新する方式であり、ストアイソ方式はバッファメモ
リ上のデータだけを更新し、そのデータの属するバッフ
ァメモリのブロックの登録が取り消されるときはバッフ
ァメモリ上のブロックを主メモリ装置へ転送するもので
ある。
第4図にストアイン方式のバッファメモリの一構成図を
示す。バッファメモリには主メモリのデータがブロック
単位で格納され、バッファディレクトリによりブロック
の登録状況が管理されている。バッファディレクトリは
ブロックのデータを識別するためのタグの集合で、タグ
は有効ビット■、変更ピントM、アドレス部ADRから
構成されている。有効ビット■は、そのタグの属するブ
ロックデータが有効であるか識別するもので、0なら無
効、1ならを効である。変更ビットMは、バッファメモ
リのデータを更新すると1になる。
示す。バッファメモリには主メモリのデータがブロック
単位で格納され、バッファディレクトリによりブロック
の登録状況が管理されている。バッファディレクトリは
ブロックのデータを識別するためのタグの集合で、タグ
は有効ビット■、変更ピントM、アドレス部ADRから
構成されている。有効ビット■は、そのタグの属するブ
ロックデータが有効であるか識別するもので、0なら無
効、1ならを効である。変更ビットMは、バッファメモ
リのデータを更新すると1になる。
ムーブアウト(パ・ソファ、メモリの)゛ロングを主メ
モリに転送すること)が要求されたとき、変更ビットが
0ならバッファメモリの内容が変更されていないのでム
ーブアウトの必要がないが、変更ピントが1なら実際に
ムーブアウトを行う。アドレス部ADRは、主メモリの
ブロックを識別するものである。
モリに転送すること)が要求されたとき、変更ビットが
0ならバッファメモリの内容が変更されていないのでム
ーブアウトの必要がないが、変更ピントが1なら実際に
ムーブアウトを行う。アドレス部ADRは、主メモリの
ブロックを識別するものである。
第4図では、主メモリを128のグループに分割し、1
つのグループは220個のブロックからなる。1ブロツ
クは32バイトどする。バッファディレクトリのタグは
各グループに対応し128個あり、対応するグループか
ら1ブロツクだけが登録できるものとする。バッファヒ
ントの検出は、アドレスレジスタの第20〜26ビツト
でタグを選択し、そのタグのアドレス部ADRとアドレ
スレジスタ22の第O〜19ビットを比較し、一致しか
つ有効ピント■が1なら、バッファヒントとする。
つのグループは220個のブロックからなる。1ブロツ
クは32バイトどする。バッファディレクトリのタグは
各グループに対応し128個あり、対応するグループか
ら1ブロツクだけが登録できるものとする。バッファヒ
ントの検出は、アドレスレジスタの第20〜26ビツト
でタグを選択し、そのタグのアドレス部ADRとアドレ
スレジスタ22の第O〜19ビットを比較し、一致しか
つ有効ピント■が1なら、バッファヒントとする。
ここで、X C(Exclusive OR)命令のオ
ペランドフルオーバーラツプによるゼロクリアについて
、従来の方法を説明する。情報処理において、XC命令
のオペランドフルオーバーラツプによるゼロクリアやM
V CL (Move Long)命令によるパディ
ングなど、同一データを広範囲に渡って書き込むパディ
ング処理が頻繁に発生する。
ペランドフルオーバーラツプによるゼロクリアについて
、従来の方法を説明する。情報処理において、XC命令
のオペランドフルオーバーラツプによるゼロクリアやM
V CL (Move Long)命令によるパディ
ングなど、同一データを広範囲に渡って書き込むパディ
ング処理が頻繁に発生する。
XC命令の命令フォーマットは、OPコード、第1及び
第2オペランド、オペランド長から構成される。XC命
令は第1オペランドと第2オペランドとの排他的論理和
をとり、第1オペランドに書き込む命令である。XC命
令の大半は、第1オペランドと第2オペランドを一致さ
せて第1オペランドをゼロクリアするのに用いられる。
第2オペランド、オペランド長から構成される。XC命
令は第1オペランドと第2オペランドとの排他的論理和
をとり、第1オペランドに書き込む命令である。XC命
令の大半は、第1オペランドと第2オペランドを一致さ
せて第1オペランドをゼロクリアするのに用いられる。
ゼロデータを所定範囲に書き込むということでは、XC
命令によるゼロクリアもパディングの一つと考えてよい
。
命令によるゼロクリアもパディングの一つと考えてよい
。
第5図にXC命令による1ブロツクのゼロクリアについ
てのタイムチャート図を示す。データアクセスのデータ
幅は8バイトであるから、■ブロック32バイトをゼロ
クリアするには4回のXC命令の演算及びその演算結果
の書き込みが必要である。同図(A)は最もオーツドッ
クスなパイプライン処理による方式で、第1フローで第
1オペランドデータをフェッチし、第2フローで第2オ
ペランドデータをフェッチし、演算及びその演算結果の
書き込みを行う。1デ一タ幅のゼロクリアに2フローを
要するので、1ブロツクのゼロクリアに8フローを要す
ることになる。一方、同図(B)は処理を高速化するた
めの方式であり、第1及び第2フローはAの方式と同様
にオペランドの最初の8バイトを演算及び演算結果の書
き込みを行い、同時にオペランドの一致を検出してゼロ
クリアであることが判明すると、第3フロー以下、オペ
ランドの残りの部分に前回演算結果であるゼロデータを
順次書き込んでいく方式である。この方式では1ブロツ
クのゼロクリアを5フローで終了できる。例えば、4ブ
ロツクのゼロクリアでは、Aの方式が32フローを要す
るのに比べ、Bの方式では17フローで終了でき、非常
に高速化されている。
てのタイムチャート図を示す。データアクセスのデータ
幅は8バイトであるから、■ブロック32バイトをゼロ
クリアするには4回のXC命令の演算及びその演算結果
の書き込みが必要である。同図(A)は最もオーツドッ
クスなパイプライン処理による方式で、第1フローで第
1オペランドデータをフェッチし、第2フローで第2オ
ペランドデータをフェッチし、演算及びその演算結果の
書き込みを行う。1デ一タ幅のゼロクリアに2フローを
要するので、1ブロツクのゼロクリアに8フローを要す
ることになる。一方、同図(B)は処理を高速化するた
めの方式であり、第1及び第2フローはAの方式と同様
にオペランドの最初の8バイトを演算及び演算結果の書
き込みを行い、同時にオペランドの一致を検出してゼロ
クリアであることが判明すると、第3フロー以下、オペ
ランドの残りの部分に前回演算結果であるゼロデータを
順次書き込んでいく方式である。この方式では1ブロツ
クのゼロクリアを5フローで終了できる。例えば、4ブ
ロツクのゼロクリアでは、Aの方式が32フローを要す
るのに比べ、Bの方式では17フローで終了でき、非常
に高速化されている。
上記の説明はバッファメモリにヒツトしたときであり、
ヒントしないときはムーブアウトすべきブロックを主メ
モリへ転送し、ムーブインすべきブロックをバッファメ
モリに転送するため、転送処理が終了するまでパイプラ
イン処理が待ち状態となり、十数サイクルの待ち時間が
できる。ただし、処理を高速化するために、ムーブイン
するブロックが全て書き換えられることが検出されてい
るときは、実際にはムーブインせずタグの登録のみ行う
という方式もある。
ヒントしないときはムーブアウトすべきブロックを主メ
モリへ転送し、ムーブインすべきブロックをバッファメ
モリに転送するため、転送処理が終了するまでパイプラ
イン処理が待ち状態となり、十数サイクルの待ち時間が
できる。ただし、処理を高速化するために、ムーブイン
するブロックが全て書き換えられることが検出されてい
るときは、実際にはムーブインせずタグの登録のみ行う
という方式もある。
上記で説明したように、従来のXC命令によるゼロクリ
アでは、第5図(B)に示す方法でも1ブロツクをクリ
アするのに4フローかかり、これが128ハイドつまり
4ブロツクのクリアのときは、4ブロツクともバッファ
メモリにヒツトしたときも、17フローの処理となる。
アでは、第5図(B)に示す方法でも1ブロツクをクリ
アするのに4フローかかり、これが128ハイドつまり
4ブロツクのクリアのときは、4ブロツクともバッファ
メモリにヒツトしたときも、17フローの処理となる。
本発明は、所定の範囲以上に同一データを書き込むとき
の処理を高速化することを目的とする。
の処理を高速化することを目的とする。
上記目的を達成するため、本発明は、所定の範囲以上に
同一データを書き込むことを検出する手段と、前記同一
データ及び前記同一データの書き込まれる範囲を指定す
る情報を格納する手段と、前記格納する手段のデータを
所定データ幅に拡張する手段とを備える。
同一データを書き込むことを検出する手段と、前記同一
データ及び前記同一データの書き込まれる範囲を指定す
る情報を格納する手段と、前記格納する手段のデータを
所定データ幅に拡張する手段とを備える。
所定の範囲以上に同一データを書き込むことを検出した
ときは、バッファメモリ上のデータを更新することなく
、前記同一データ及び前記同一データが書き込まれる範
囲を指定する情報を、それぞれのブロックに対応させ所
定の記憶装置上に書き込む。この処理は1回の書き込み
動作で行えるので、従来の数回の書き込み動作が必要だ
った場合に比べ、高速に同一データを書き込むことがで
きる。
ときは、バッファメモリ上のデータを更新することなく
、前記同一データ及び前記同一データが書き込まれる範
囲を指定する情報を、それぞれのブロックに対応させ所
定の記憶装置上に書き込む。この処理は1回の書き込み
動作で行えるので、従来の数回の書き込み動作が必要だ
った場合に比べ、高速に同一データを書き込むことがで
きる。
バッファメモリからデータを読み出すときで、上記の如
く同一データが書き込まれたアドレスから読み出すとき
は、その範囲のデータはバッファメモリ上から読み出す
のではなくて、所定の記憶装置に格納されている同一デ
ータを必要なデータ長に拡張して使用する。
く同一データが書き込まれたアドレスから読み出すとき
は、その範囲のデータはバッファメモリ上から読み出す
のではなくて、所定の記憶装置に格納されている同一デ
ータを必要なデータ長に拡張して使用する。
また、同一データを書き込むことを検出したときで、書
き込みの行われるブロックがバッファメモリ上に登録さ
れていないときは、バッファメモリにブロックの転送を
行わず、アドレスの登録のみ行い、前記同一データと、
前記同一データが書き込まれる範囲を指定する情報を、
それぞれのブロックに対応させ所定の記憶装置−Fに書
き込む。
き込みの行われるブロックがバッファメモリ上に登録さ
れていないときは、バッファメモリにブロックの転送を
行わず、アドレスの登録のみ行い、前記同一データと、
前記同一データが書き込まれる範囲を指定する情報を、
それぞれのブロックに対応させ所定の記憶装置−Fに書
き込む。
第1図に実施例におけるタグのフォーマット、第2図に
一実施例の構成図を示す。
一実施例の構成図を示す。
実施例におけるタグのフォーマットは、第1図に示すよ
うに、従来のタグにパディングフラグ部PF、〜P7
(各tビットずつ4ピント)とパディングデータ部P
D (1バイト)を付加させたものである。1ブロツク
をデータ幅である8バイトで4分割し、パディングフラ
グPF、〜PF。
うに、従来のタグにパディングフラグ部PF、〜P7
(各tビットずつ4ピント)とパディングデータ部P
D (1バイト)を付加させたものである。1ブロツク
をデータ幅である8バイトで4分割し、パディングフラ
グPF、〜PF。
を対応させ、パディングフラグ部l)Fのいずれかのフ
ラグが1のときは、そのフラグに対応するバッファメモ
リ上のデータにタグのパディングデータ部PDと同一の
データが書き込まれているとみなす。
ラグが1のときは、そのフラグに対応するバッファメモ
リ上のデータにタグのパディングデータ部PDと同一の
データが書き込まれているとみなす。
従来例の説明と同様にXC命令のオペランドフルオーバ
ーランプによるゼロクリアの動作を説明する。第1及び
第2オペランドアドレスが任意のブロックの先頭からと
し、オペランド長が128ハイドつまり4ブロツクに及
ぶものとする。そのタイムチャート図を第3図に示す。
ーランプによるゼロクリアの動作を説明する。第1及び
第2オペランドアドレスが任意のブロックの先頭からと
し、オペランド長が128ハイドつまり4ブロツクに及
ぶものとする。そのタイムチャート図を第3図に示す。
第1及び第2フローで、オペランドフルオーバーラツプ
のゼロクリアであることを検出し、かつ、オペランド長
が1ブロツク以上に及ぶことを検出する。また、第2フ
ローのW2サイクルではパディングフラグPF、〜PF
、をすべて1にし、パディングデータ部PDに”ooo
ooooo”を書き込む。以下同様に第3及び第4フロ
ーを行い、第5フローで第4ブロンクのゼロクリアが終
了する。
のゼロクリアであることを検出し、かつ、オペランド長
が1ブロツク以上に及ぶことを検出する。また、第2フ
ローのW2サイクルではパディングフラグPF、〜PF
、をすべて1にし、パディングデータ部PDに”ooo
ooooo”を書き込む。以下同様に第3及び第4フロ
ーを行い、第5フローで第4ブロンクのゼロクリアが終
了する。
前記の例を第2図に則して詳細に説明する。第1フロー
のB1サイクルで、命令レジスタ21に命令語が読み込
まれ、命令語のOPコードをデコードする。A、サイク
ルでは第1オペランドアドレスを計算し、アドレスレジ
スタ22にセントする。同時に、ブロックストア検出器
53は、アドレスレジスタ22の第27〜31ビツトが
0であることにより、オペランドアドレスがブロック境
界であることを検出し、かつオペランド長レジスタ24
にセットされたオペランド長の値が32バイト以上であ
ることにより、データの書き込みが1ブロツクに及ぶこ
とを検出し、ブロックストア信号93を送出する。B1
サイクルではアドレスレジスタ22の第0〜19ピント
とタグ中のアドレス部ADRを比較し、有効ビットVと
論理積をとり、バッファヒント信号94を送出する。同
時に、バッファヒント信号94が検出されると、−致し
たタグに相当するハンファメモリのデータが読み出され
る。El及びWlサイクルは何もしない。
のB1サイクルで、命令レジスタ21に命令語が読み込
まれ、命令語のOPコードをデコードする。A、サイク
ルでは第1オペランドアドレスを計算し、アドレスレジ
スタ22にセントする。同時に、ブロックストア検出器
53は、アドレスレジスタ22の第27〜31ビツトが
0であることにより、オペランドアドレスがブロック境
界であることを検出し、かつオペランド長レジスタ24
にセットされたオペランド長の値が32バイト以上であ
ることにより、データの書き込みが1ブロツクに及ぶこ
とを検出し、ブロックストア信号93を送出する。B1
サイクルではアドレスレジスタ22の第0〜19ピント
とタグ中のアドレス部ADRを比較し、有効ビットVと
論理積をとり、バッファヒント信号94を送出する。同
時に、バッファヒント信号94が検出されると、−致し
たタグに相当するハンファメモリのデータが読み出され
る。El及びWlサイクルは何もしない。
第2フローのA2サイクルでは、第2オペランドのアド
レスを計算し、アドレスレジスタ22にセットする。同
時に、オペランド比較器51は、第1オペランドアドレ
スレジスタ25と第2オペランドアドレスレジスタ26
にセットされたオペランドアドレスの比較を行い、オペ
ランド一致信号92を送出する。パディング検出器54
は、OPコード99とオペランド一致信号92よりゼロ
データのパディングであることを検出し、パディング信
号91を送出する。通常、B1サイクルではアドレスレ
ジスタ22にセットされているアドレスのデータを読み
出すが、パディングを行うことが検出されているので、
オペランドデータを読み出す必要がなく、E、サイクル
でも演算は行わない。W2サイクルでは、フラグ操作器
55にパディング信号91、ブロックストア信号94、
ライト信号95が入力され、パディングフラグ部PF0
〜PF、に1をたてる。このとき、変更ビットMが0な
ら1を書き込む。また、パディングデータをタグ中のパ
ディングデータ部PDに書き込む。
レスを計算し、アドレスレジスタ22にセットする。同
時に、オペランド比較器51は、第1オペランドアドレ
スレジスタ25と第2オペランドアドレスレジスタ26
にセットされたオペランドアドレスの比較を行い、オペ
ランド一致信号92を送出する。パディング検出器54
は、OPコード99とオペランド一致信号92よりゼロ
データのパディングであることを検出し、パディング信
号91を送出する。通常、B1サイクルではアドレスレ
ジスタ22にセットされているアドレスのデータを読み
出すが、パディングを行うことが検出されているので、
オペランドデータを読み出す必要がなく、E、サイクル
でも演算は行わない。W2サイクルでは、フラグ操作器
55にパディング信号91、ブロックストア信号94、
ライト信号95が入力され、パディングフラグ部PF0
〜PF、に1をたてる。このとき、変更ビットMが0な
ら1を書き込む。また、パディングデータをタグ中のパ
ディングデータ部PDに書き込む。
第3フロー以下、既にオペランド一致が検出されている
ので、ブロックストア信号94が検出されるあいだ、第
2フローと同様にして、該当するブロックのタグに対し
パディングフラグ及びパディングデータを書き込む。よ
って、第5フローで4ブロツクのゼロクリアが完了する
。従来例で説明した方式では4ブロツクのゼロクリアに
17フローを要したが、本発明では5フローで行え、極
めて高速に処理できる。
ので、ブロックストア信号94が検出されるあいだ、第
2フローと同様にして、該当するブロックのタグに対し
パディングフラグ及びパディングデータを書き込む。よ
って、第5フローで4ブロツクのゼロクリアが完了する
。従来例で説明した方式では4ブロツクのゼロクリアに
17フローを要したが、本発明では5フローで行え、極
めて高速に処理できる。
上記の説明は4ブロツクともバッファメモリにヒツトし
たときである。バッファメモリにヒツトしなければ、通
常、そのブロックをバッファメモリに読み込むが、既に
同一データをそのブロックすべてに書き込むことが検出
されているので、そのブロックをムーブインする必要が
なく、そのブロックのアドレスをバッファディレクトリ
に登録し、タグ中のパディングデータ及びパディングフ
ラグを書き込むだけでよい。但し、登録の際、l、−ブ
アウトの必要があるときはムーブアウトに要する時間が
取られる。従来でもムーブインすべきブロックがすべて
書き換えられる場合、実際のムーブイン動作を省略して
更新データのみを書き込む方式があるが、本発明は、こ
の方式でもパディングデータの書き込み動作を更に高速
化することを可能にするものである。
たときである。バッファメモリにヒツトしなければ、通
常、そのブロックをバッファメモリに読み込むが、既に
同一データをそのブロックすべてに書き込むことが検出
されているので、そのブロックをムーブインする必要が
なく、そのブロックのアドレスをバッファディレクトリ
に登録し、タグ中のパディングデータ及びパディングフ
ラグを書き込むだけでよい。但し、登録の際、l、−ブ
アウトの必要があるときはムーブアウトに要する時間が
取られる。従来でもムーブインすべきブロックがすべて
書き換えられる場合、実際のムーブイン動作を省略して
更新データのみを書き込む方式があるが、本発明は、こ
の方式でもパディングデータの書き込み動作を更に高速
化することを可能にするものである。
上記実施例では、1ブロツクすべてのパディングが検出
されたときに、パディングフラグ部PFの各フラグの値
に関係なく、すべてのフラグに1をたてると共にパディ
ングデータ部PDにデータを書き込んでいる。よって、
パディング信号91が得られてもブロックストア信号9
3が得られないときは、従来どおり、バッファメモリに
パディングデータを書き込んでいく。このとき、更新さ
れるデータに対応するパディングフラグが1なら0に書
き換える。また、1ブロツクのパディングを検出するの
ではなく、1ブロツクを4分割した8バイト範囲で検出
してもよい。この場合、パディングの範囲が1ブロツク
に及ばなくても、パディング範囲がパディングフラグで
指定される8バイトの境界なら、1フローの処理で8.
16.24ハイドのパディングが行える。
されたときに、パディングフラグ部PFの各フラグの値
に関係なく、すべてのフラグに1をたてると共にパディ
ングデータ部PDにデータを書き込んでいる。よって、
パディング信号91が得られてもブロックストア信号9
3が得られないときは、従来どおり、バッファメモリに
パディングデータを書き込んでいく。このとき、更新さ
れるデータに対応するパディングフラグが1なら0に書
き換える。また、1ブロツクのパディングを検出するの
ではなく、1ブロツクを4分割した8バイト範囲で検出
してもよい。この場合、パディングの範囲が1ブロツク
に及ばなくても、パディング範囲がパディングフラグで
指定される8バイトの境界なら、1フローの処理で8.
16.24ハイドのパディングが行える。
次にバッファメモリからデータを読み出す場合について
説明する。オペランドアドレスがアドレスレジスタ22
とバッファアドレスレジスタ23にセットされ、バッフ
ァヒツト信号94が得られたら、バッファアドレスレジ
スタ23の第20〜26ビツトに対応するブロックのデ
ータが読み出され、データセレクタ62でバッファアド
レスレジスタ23の第27〜31ビツトに対応する所定
のデータを取り出す。また、データ拡張器61によりタ
グ中のパディングデータPDをデータ幅に拡張し、この
データと前記データを、パディングフラグ部PF、〜P
F、及びバッファアドレスレジスタ23の第27〜31
ビツトに応じ、データ混合器63で混合し、読み出しデ
ータを作り出す。
説明する。オペランドアドレスがアドレスレジスタ22
とバッファアドレスレジスタ23にセットされ、バッフ
ァヒツト信号94が得られたら、バッファアドレスレジ
スタ23の第20〜26ビツトに対応するブロックのデ
ータが読み出され、データセレクタ62でバッファアド
レスレジスタ23の第27〜31ビツトに対応する所定
のデータを取り出す。また、データ拡張器61によりタ
グ中のパディングデータPDをデータ幅に拡張し、この
データと前記データを、パディングフラグ部PF、〜P
F、及びバッファアドレスレジスタ23の第27〜31
ビツトに応じ、データ混合器63で混合し、読み出しデ
ータを作り出す。
最後に本発明によってパディングデータの書き込まれた
ブロックを主メモリヘムーブアウトする場合について説
明する。データの読み出しと同様に、パディングフラグ
が1の範囲はパディングデータをデータ拡張器61で8
バイトのデータ幅に拡張して送り出し、パディングフラ
グがOの範囲は通常どおりバッファメモリから読み出す
。
ブロックを主メモリヘムーブアウトする場合について説
明する。データの読み出しと同様に、パディングフラグ
が1の範囲はパディングデータをデータ拡張器61で8
バイトのデータ幅に拡張して送り出し、パディングフラ
グがOの範囲は通常どおりバッファメモリから読み出す
。
本実施例はストアイン方式のバッファメモリにおいて説
明したが、本発明はストアスル一方式においても利用で
きる。また、本実施例はバノファデルクトリ内のタグの
中にパディングフラグ部PFとパディングデータ部PD
を設けているが、バッファディレクトリと異なる記憶装
置上に設けてもよい。
明したが、本発明はストアスル一方式においても利用で
きる。また、本実施例はバノファデルクトリ内のタグの
中にパディングフラグ部PFとパディングデータ部PD
を設けているが、バッファディレクトリと異なる記憶装
置上に設けてもよい。
以上説明したように、本発明は、同一データを書き込む
ときの処理速度を高速化できる。とくにゼロクリアや任
意データのパディングでは広範囲に渡る場合が多く、広
範囲に渡って同一データを書き込むとき、極めて高速に
書き込み動作が行える。
ときの処理速度を高速化できる。とくにゼロクリアや任
意データのパディングでは広範囲に渡る場合が多く、広
範囲に渡って同一データを書き込むとき、極めて高速に
書き込み動作が行える。
第1図は本発明の一実施におけるタグのフォーマットで
あり、 第2図は本発明の一実施例の構成図であり、第3図は本
発明の一実施例におけるゼロクリアの動作説明図であり
、 第4図は従来のバッファメモリの構成図であり、第5図
は従来のゼロクリアの動作説明図である。 図中、 ■・・・バッファディレクトリ 2・・・パンファメモリ 21 ・ 22 ・ 23 ・ 24 ・ 51 ・ 52 ・ 53 ・ 54 ・ 55 ・ 61 ・ 62 ・ 63 ・ 91 ・ 92 ・ 93 ・ 94 ・ 98 ・ ・命令レジスタ ・アドレスレジスタ ・バッファアドレスレジスタ ・オペランド長レジスタ ・オペランド比較器 ・アドレス計算器 ・ブロックストア検出器 ・パディング検出器 ・フラグ操作器 ・パディングデータ拡張器 ・データセレクタ ・データ混合器 ・パディング信号 ・オペランド比較信号 ・ブロックストア信号 ・バッファヒツト信号 ・パディングデータ クク゛ (バッファデイレグトリ) D3A31h Ey Wi−−−−茅t’グロ!グー
セ゛aグリフvt A4 B4f4N4−− −−
寥3 フrJ!グー七ロクリアDs As 13s E
jWs −−−−?4ブロノクーセログV7XC6’v
令に上441−D、t’l、l、lOフ’r7 <’F
jKli’j’l)早3 口 バー7777毛1島積へ日(は未1γ1す矛 図 θy As IJjfs Ws It /it fb Ei Mh 1茅77−?φバイトーゼロクリア
あり、 第2図は本発明の一実施例の構成図であり、第3図は本
発明の一実施例におけるゼロクリアの動作説明図であり
、 第4図は従来のバッファメモリの構成図であり、第5図
は従来のゼロクリアの動作説明図である。 図中、 ■・・・バッファディレクトリ 2・・・パンファメモリ 21 ・ 22 ・ 23 ・ 24 ・ 51 ・ 52 ・ 53 ・ 54 ・ 55 ・ 61 ・ 62 ・ 63 ・ 91 ・ 92 ・ 93 ・ 94 ・ 98 ・ ・命令レジスタ ・アドレスレジスタ ・バッファアドレスレジスタ ・オペランド長レジスタ ・オペランド比較器 ・アドレス計算器 ・ブロックストア検出器 ・パディング検出器 ・フラグ操作器 ・パディングデータ拡張器 ・データセレクタ ・データ混合器 ・パディング信号 ・オペランド比較信号 ・ブロックストア信号 ・バッファヒツト信号 ・パディングデータ クク゛ (バッファデイレグトリ) D3A31h Ey Wi−−−−茅t’グロ!グー
セ゛aグリフvt A4 B4f4N4−− −−
寥3 フrJ!グー七ロクリアDs As 13s E
jWs −−−−?4ブロノクーセログV7XC6’v
令に上441−D、t’l、l、lOフ’r7 <’F
jKli’j’l)早3 口 バー7777毛1島積へ日(は未1γ1す矛 図 θy As IJjfs Ws It /it fb Ei Mh 1茅77−?φバイトーゼロクリア
Claims (1)
- 【特許請求の範囲】 〔1〕主メモリ装置からデータを読み出すとき、そのデ
ータの属する主メモリ装置のブロックがバッファメモリ
上に登録されているときは、バッファメモリ上のデータ
を読み出し、前記ブロックがバッファメモリ上に登録さ
れていないときは、主メモリ装置からバッファメモリ上
に前記ブロックを転送して登録を行うと共にデータを読
み出す情報処理装置において、 所定の範囲以上に同一データを書き込むことを検出する
手段(53及び54)と、 前記同一データ(PD)及び前記同一データの書き込ま
れる範囲を指定する情報(PF)を格納する手段(2)
と、 前記格納する手段(2)に格納した前記同一データ(P
D)を所定データ幅に拡張する手段(61)とを備え、 所定の範囲以上に同一データを書き込むことを検出した
ときは、バッファメモリ上のデータを更新することなく
、前記格納する手段(2)に前記同一データ(PD)及
びその範囲を指定する情報(PF)を書き込み、 前記同一データが書き込まれた範囲からデータを読み出
すときは、バッファメモリからではなく、前記格納する
手段(2)に格納されている同一データ(PD)を所定
データ幅に拡張して読み出すことを特徴とするバッファ
メモリのデ格納制御方式。 〔2〕所定の範囲以上に同一データを書き込むことを検
出したときで、書き込みの行われるブロックがバッファ
メモリ上に登録されていないときは、主メモリからバッ
ファメモリにデータブロックの転送を行わず、アドレス
の登録のみを行い、前記格納する手段(2)に前記同一
データ(PD)及びその範囲を指定する情報(PF)を
書き込むことを特徴とする請求項第1記載のバッファメ
モリのデータ格納制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63188915A JPH0239253A (ja) | 1988-07-28 | 1988-07-28 | バッファメモリのデータ格納制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63188915A JPH0239253A (ja) | 1988-07-28 | 1988-07-28 | バッファメモリのデータ格納制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0239253A true JPH0239253A (ja) | 1990-02-08 |
Family
ID=16232111
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63188915A Pending JPH0239253A (ja) | 1988-07-28 | 1988-07-28 | バッファメモリのデータ格納制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0239253A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003021944A (ja) * | 2001-07-05 | 2003-01-24 | Toshiba Tec Corp | 画像形成装置 |
| JP2012198639A (ja) * | 2011-03-18 | 2012-10-18 | Fujitsu Ltd | 制御装置、制御方法およびストレージ装置 |
-
1988
- 1988-07-28 JP JP63188915A patent/JPH0239253A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003021944A (ja) * | 2001-07-05 | 2003-01-24 | Toshiba Tec Corp | 画像形成装置 |
| JP2012198639A (ja) * | 2011-03-18 | 2012-10-18 | Fujitsu Ltd | 制御装置、制御方法およびストレージ装置 |
| US9003119B2 (en) | 2011-03-18 | 2015-04-07 | Fujitsu Limited | Control apparatus and method, and storage apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4685082A (en) | Simplified cache with automatic update | |
| US4725947A (en) | Data processor with a branch target instruction storage | |
| US5155828A (en) | Computing system with a cache memory and an additional look-aside cache memory | |
| US4774687A (en) | Advanced store-in system for a hierarchy memory device | |
| US4779193A (en) | Data processing apparatus for writing calculation result into buffer memory after the writing of the beginning word of the read data | |
| EP0030463B1 (en) | Buffer memory control system | |
| US5197145A (en) | Buffer storage system using parallel buffer storage units and move-out buffer registers | |
| JP2007048296A (ja) | 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム | |
| JPH0239253A (ja) | バッファメモリのデータ格納制御方式 | |
| US4737908A (en) | Buffer memory control system | |
| US5510973A (en) | Buffer storage control system | |
| JPS61118855A (ja) | バツフアメモリ制御方式 | |
| JP2621763B2 (ja) | 情報処理装置 | |
| JPS6027418B2 (ja) | 命令先取り制御装置 | |
| KR960029986A (ko) | 데이타처리장치 및 캐쉬메모리제어방법 | |
| JPS589452B2 (ja) | フア−ムウエアホウシキ | |
| JPH0385636A (ja) | 命令先行制御装置 | |
| JPH09114733A (ja) | キャッシュ記憶装置における非整列データ転送機構 | |
| JPH0650481B2 (ja) | データ処理装置 | |
| JPH01319825A (ja) | 情報処理装置 | |
| JPH0677240B2 (ja) | キャッシュメモリ制御回路 | |
| EP0400851A2 (en) | Efficient cache utilizing a store buffer | |
| JPH0526216B2 (ja) | ||
| JPH02259945A (ja) | ストア処理方式 | |
| JPS6135583B2 (ja) |