JPH01116848A - バッファメモリ - Google Patents
バッファメモリInfo
- Publication number
- JPH01116848A JPH01116848A JP62276933A JP27693387A JPH01116848A JP H01116848 A JPH01116848 A JP H01116848A JP 62276933 A JP62276933 A JP 62276933A JP 27693387 A JP27693387 A JP 27693387A JP H01116848 A JPH01116848 A JP H01116848A
- Authority
- JP
- Japan
- Prior art keywords
- buffer memory
- block
- data
- address
- instruction
- 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
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置におけるバッファメモリに関し
、特に、バッファメモリの使用効率を高める手段を与え
る技術に関するものである。
、特に、バッファメモリの使用効率を高める手段を与え
る技術に関するものである。
(従来の技術〕
従来、情報処理装置において、メモリアクセスを高速化
する手段として、バッファメモリ方式を採用することは
、−船釣になっている。バッファメモリ方式を採用する
ことにより、メモリアクセスを高速化できるのであるが
、アクセス要求元の指定内容によっては、バッファメモ
リを効率よく使用できなくて、総合的なメモリアクセス
速度が低下するという状態が発生する。例えば、M、V
CL (Move Character Long)命
令のように、長いオペランド長のデータを移動する処理
では、移動元のデータがバッファメモリ上には存在しな
いことが多く、この場合、主記憶装置からデータを含む
ブロックを読み出し、アドレスおよび置換アルゴリズム
によって決するバッファメモリのブロックと置き換える
。通常1MVCL命令の移動元のデータがバッファメモ
リに存在することは稀であるため、主記憶装置からバッ
ファメモリへの転送が頻発し、バッファメモリに貯えら
れていたデータが追い出されて、データが置き換わる。
する手段として、バッファメモリ方式を採用することは
、−船釣になっている。バッファメモリ方式を採用する
ことにより、メモリアクセスを高速化できるのであるが
、アクセス要求元の指定内容によっては、バッファメモ
リを効率よく使用できなくて、総合的なメモリアクセス
速度が低下するという状態が発生する。例えば、M、V
CL (Move Character Long)命
令のように、長いオペランド長のデータを移動する処理
では、移動元のデータがバッファメモリ上には存在しな
いことが多く、この場合、主記憶装置からデータを含む
ブロックを読み出し、アドレスおよび置換アルゴリズム
によって決するバッファメモリのブロックと置き換える
。通常1MVCL命令の移動元のデータがバッファメモ
リに存在することは稀であるため、主記憶装置からバッ
ファメモリへの転送が頻発し、バッファメモリに貯えら
れていたデータが追い出されて、データが置き換わる。
MVCL命令に続く命令で、MVCL命令の移動データ
を使用することは稀であるため、結果としてバッファメ
モリの使用率は低下する。MVCL命令のオペランドは
、I10バッファエリアへの転送データ等であり、その
オペランド長は、12000バイトにも及ぶ例もある。
を使用することは稀であるため、結果としてバッファメ
モリの使用率は低下する。MVCL命令のオペランドは
、I10バッファエリアへの転送データ等であり、その
オペランド長は、12000バイトにも及ぶ例もある。
このように、再び処理装置が使用することがないような
データを主記憶装置から読み出す時には、バッファメモ
リに書き込まないようにすることが考えられるが、MV
CL命令のオペランドはアドレスとして連続しており、
アドレスとして連続しているオペランドを順次処理する
には、主記憶装置から読み出す単位(ブロック)の容量
を持ったバッファがないと性能の低下となるという問題
があった。
データを主記憶装置から読み出す時には、バッファメモ
リに書き込まないようにすることが考えられるが、MV
CL命令のオペランドはアドレスとして連続しており、
アドレスとして連続しているオペランドを順次処理する
には、主記憶装置から読み出す単位(ブロック)の容量
を持ったバッファがないと性能の低下となるという問題
があった。
この問題に対して、特公昭60−36616号公報では
、大容量のバッファメモリと、使用頻度の低い命令やオ
ペランドを格納する小容量バッファメモリとを有し、例
えばMVCL命令のオペランド読み出しでは、小容量の
バッファメモリを使用するようにした複合型バッファメ
モリが提案されている。
、大容量のバッファメモリと、使用頻度の低い命令やオ
ペランドを格納する小容量バッファメモリとを有し、例
えばMVCL命令のオペランド読み出しでは、小容量の
バッファメモリを使用するようにした複合型バッファメ
モリが提案されている。
しかしながら、上記の従来技術の゛複合型バッファメモ
リでは、大容量のバッファメモリとは、別個に小容量の
バッファメモリを備える構成としているため、小容量バ
ッファのアソシャティブレジスタ、小容量バッファの比
較回路、小容量バッファの有効性ビット制御回路、小容
量バッファのリプレースメント制御回路等のハードウェ
ア量が増加し、制御が複雑になるという問題があった。
リでは、大容量のバッファメモリとは、別個に小容量の
バッファメモリを備える構成としているため、小容量バ
ッファのアソシャティブレジスタ、小容量バッファの比
較回路、小容量バッファの有効性ビット制御回路、小容
量バッファのリプレースメント制御回路等のハードウェ
ア量が増加し、制御が複雑になるという問題があった。
本発明の目的は、格別にハードウェア量を増加させるこ
となく、バッファメモリの使用効率を高めたバッファメ
モリを提供することにある。
となく、バッファメモリの使用効率を高めたバッファメ
モリを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本
明細書の記述及び添付図面によって明らかになるであろ
う。
明細書の記述及び添付図面によって明らかになるであろ
う。
上記目的を達成するため、本発明においては、特定ブロ
ックを含む複数のブロックから成るバッファメモリと、
アクセス要求元の指定内容に応じて、前記バッファメモ
リの特定ブロックのみを使用するか他の任意ブロックを
使用するかを切分ける手段を有することを特徴とする。
ックを含む複数のブロックから成るバッファメモリと、
アクセス要求元の指定内容に応じて、前記バッファメモ
リの特定ブロックのみを使用するか他の任意ブロックを
使用するかを切分ける手段を有することを特徴とする。
前記手段によれば、特定ブロックを含む複数のブロック
から成るバッファメモリと、アクセス要求元の指定内容
に応じて、前記バッファメモリの特定ブロックのみを使
用するか、他の任意ブロックを使用するかを切分ける手
段が備えられる。これにより、例えば、MVCL命令の
オペランド読み出しでは、特定ブロックのみを使用する
ようにする。
から成るバッファメモリと、アクセス要求元の指定内容
に応じて、前記バッファメモリの特定ブロックのみを使
用するか、他の任意ブロックを使用するかを切分ける手
段が備えられる。これにより、例えば、MVCL命令の
オペランド読み出しでは、特定ブロックのみを使用する
ようにする。
すなわち、MVCL命令のオペランドは、アドレスとし
て連続しており、処理装置はこのオペランドをアドレス
順に処理する。このため、例えば、処理装置のメモリ参
照単位が8バイトであり、バッファメモリのブロックが
64バイトの場合には。
て連続しており、処理装置はこのオペランドをアドレス
順に処理する。このため、例えば、処理装置のメモリ参
照単位が8バイトであり、バッファメモリのブロックが
64バイトの場合には。
8回に1回の割合で主記憶装置に対する参照が行われ、
主記憶装置からの読み出しデータのブロックがバッファ
メモリに転送される6バツフアメモリにおいては、この
MVCL命令のオペランドのデータのブロック転送によ
り登録するデータブロックは、バッファメモリ上の特定
ブロックの位置に固定的に登録される。このMVCL命
令のオペランド読み出しに伴なって発生するブロック転
送の登録を行うブロックの位置は、特定ブロックの固定
位置とするため、バッファメモリ上に貯えられていた他
のデータを追い出すことなく、MVCL命令を実行する
ことができる。このように1MVCL命令のように広範
囲のメモ゛り領域のデータを移動する処理動作は、例え
ば、入出力装置と主記憶装置との間のデータ転送や、拡
張記憶装置と主記憶装置の間のページ転送等でも行われ
るので、この場合も同様にバッファメモリの使用率を改
善することができる。
主記憶装置からの読み出しデータのブロックがバッファ
メモリに転送される6バツフアメモリにおいては、この
MVCL命令のオペランドのデータのブロック転送によ
り登録するデータブロックは、バッファメモリ上の特定
ブロックの位置に固定的に登録される。このMVCL命
令のオペランド読み出しに伴なって発生するブロック転
送の登録を行うブロックの位置は、特定ブロックの固定
位置とするため、バッファメモリ上に貯えられていた他
のデータを追い出すことなく、MVCL命令を実行する
ことができる。このように1MVCL命令のように広範
囲のメモ゛り領域のデータを移動する処理動作は、例え
ば、入出力装置と主記憶装置との間のデータ転送や、拡
張記憶装置と主記憶装置の間のページ転送等でも行われ
るので、この場合も同様にバッファメモリの使用率を改
善することができる。
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
る。
第1図は、本発明の一実施例にかかるバッファメモリの
ブロック図である。このバッファメモリは、64カラム
×40つのセットアソシアティブ方式のバッファメモリ
である。第1図において。
ブロック図である。このバッファメモリは、64カラム
×40つのセットアソシアティブ方式のバッファメモリ
である。第1図において。
1はアドレスレジスタ(AR)、2は書込みデータレジ
スタ(WDR)、3はアドレスアレイ、4は比較回路、
5はバッファメモリアドレス生成回路、6はバッファメ
モリである。7は読出しデータレジスタ(FDR)、8
は固定ブロックアドレスレジスタ(FBAR)、9は固
定ブロックアドレスの有効ビット、10は比較回路、1
1はオア回路である。データを記憶するバッファメモリ
6は、特定ブロックを含む複数ブロックから構成されて
いる。このバッファメモリの特定ブロックの使用の指定
は、アクセス要求元の指定内容に応じて行われ、例えば
、ハードウェアが自動的に検知する場合と、プログラム
により指定する場合等がある。
スタ(WDR)、3はアドレスアレイ、4は比較回路、
5はバッファメモリアドレス生成回路、6はバッファメ
モリである。7は読出しデータレジスタ(FDR)、8
は固定ブロックアドレスレジスタ(FBAR)、9は固
定ブロックアドレスの有効ビット、10は比較回路、1
1はオア回路である。データを記憶するバッファメモリ
6は、特定ブロックを含む複数ブロックから構成されて
いる。このバッファメモリの特定ブロックの使用の指定
は、アクセス要求元の指定内容に応じて行われ、例えば
、ハードウェアが自動的に検知する場合と、プログラム
により指定する場合等がある。
ハードウェアが自動的に検知する場合としては、例えば
、MVCL命令のオペランド長が1024バイト以上の
時、または、あるファームウェア命令または科学技術計
算のループ処理においてオペランドが非連続で且つその
広がりが大きい時等である。この場合には、固定ブロッ
クアドレス有効ビット9が′1′″に設定され、バッフ
ァメモリ6の特定ブロックのみが使用される。この処理
が終了すると、固定ブロックアドレスの有効ビット9が
LI O11に設定され、バッファメモリ6の他の任意
のブロックが使用される。
、MVCL命令のオペランド長が1024バイト以上の
時、または、あるファームウェア命令または科学技術計
算のループ処理においてオペランドが非連続で且つその
広がりが大きい時等である。この場合には、固定ブロッ
クアドレス有効ビット9が′1′″に設定され、バッフ
ァメモリ6の特定ブロックのみが使用される。この処理
が終了すると、固定ブロックアドレスの有効ビット9が
LI O11に設定され、バッファメモリ6の他の任意
のブロックが使用される。
(1)バッファメモリの読出し制御
バッファメモリ6に対する読出しアドレスは、処理装置
(CPU)または入出力処理装置(I○P)からAR(
アドレスレジスタ)1にセットされる。ARIのビット
20〜25は、アドレスアレイ3のアドレスに入力され
、アドレスアレイ3からの出力データがそれぞれ比較回
路4でARIのビット1〜19までと比較される。アド
レスアレイ3のロウ31.ロウ32.ロウ33.ロウ3
4の全ての出力データで一致がとれないと、オア回路1
1の出力が0となる。オア回路11の出力がIt OI
+であると、データはバッファメモリ6にはないので、
主記憶装置(MS)からバッファメモリ6への書込み制
御が行われる。一方、いずれか1つで一致がとれると、
当該ロウに対するバッファメモリ6のアドレスがバッフ
ァメモリアドレス生成回路5で生成され、このアドレス
がバッファメモリ6のアドレスに与えられて、データが
読出され、FDR(読出しデータレジスタ)7に入力さ
れる。
(CPU)または入出力処理装置(I○P)からAR(
アドレスレジスタ)1にセットされる。ARIのビット
20〜25は、アドレスアレイ3のアドレスに入力され
、アドレスアレイ3からの出力データがそれぞれ比較回
路4でARIのビット1〜19までと比較される。アド
レスアレイ3のロウ31.ロウ32.ロウ33.ロウ3
4の全ての出力データで一致がとれないと、オア回路1
1の出力が0となる。オア回路11の出力がIt OI
+であると、データはバッファメモリ6にはないので、
主記憶装置(MS)からバッファメモリ6への書込み制
御が行われる。一方、いずれか1つで一致がとれると、
当該ロウに対するバッファメモリ6のアドレスがバッフ
ァメモリアドレス生成回路5で生成され、このアドレス
がバッファメモリ6のアドレスに与えられて、データが
読出され、FDR(読出しデータレジスタ)7に入力さ
れる。
一方、MVCL命令によるオペランド読出しでは、バッ
ファメモリ6の特定ブロックを使用するブロック固定指
示がアクセス要求元より与えられる。この場合、まず、
アドレスアレイ3を参照し、バッファメモリ内にデータ
が存在すれば、バッファメモリ6よりデータを読み出す
。バッファメモリ内にデータが存在しない場合、主記憶
袋W (MS)より、1ブロツク(64バイト)のデー
タを読出し、WDR(書込みデータレジスタ)2を介し
て、バッファメモリ6の特定ブロックの固定ブロック位
置に書き込む。ここで用いる固定ブロック位置は、例え
ば、バッファメモリ6の最後のブロック位置(カラムア
ドレスのビット20〜25が“111111”でロウ番
号3の位置:バッファメモリのブロックアドレスは”
11111111″)とする。続いて、読出しデータブ
ロックのブロックアドレスをFBAR(固定ブロックア
ドレスレジスタ)8に入力し、その有効ビット9を“1
″にする。以降、MVCL命令のオペランド読出しでは
、ARIの読出しアドレスとFBAR8のアドレスを比
較回路10で比較し、一致した場合はデータをバッファ
メモリ6の固定ブロック位置より読出す。不一致の場合
は主記憶装置からデータのブロック転送を行い、バッフ
ァメモリ6の固定ブロック位置に書き込むと共に、FB
AR8に新しいブロックアドレスを入力する。
ファメモリ6の特定ブロックを使用するブロック固定指
示がアクセス要求元より与えられる。この場合、まず、
アドレスアレイ3を参照し、バッファメモリ内にデータ
が存在すれば、バッファメモリ6よりデータを読み出す
。バッファメモリ内にデータが存在しない場合、主記憶
袋W (MS)より、1ブロツク(64バイト)のデー
タを読出し、WDR(書込みデータレジスタ)2を介し
て、バッファメモリ6の特定ブロックの固定ブロック位
置に書き込む。ここで用いる固定ブロック位置は、例え
ば、バッファメモリ6の最後のブロック位置(カラムア
ドレスのビット20〜25が“111111”でロウ番
号3の位置:バッファメモリのブロックアドレスは”
11111111″)とする。続いて、読出しデータブ
ロックのブロックアドレスをFBAR(固定ブロックア
ドレスレジスタ)8に入力し、その有効ビット9を“1
″にする。以降、MVCL命令のオペランド読出しでは
、ARIの読出しアドレスとFBAR8のアドレスを比
較回路10で比較し、一致した場合はデータをバッファ
メモリ6の固定ブロック位置より読出す。不一致の場合
は主記憶装置からデータのブロック転送を行い、バッフ
ァメモリ6の固定ブロック位置に書き込むと共に、FB
AR8に新しいブロックアドレスを入力する。
(2)バッファメモリのストア制御
読出しデータがバッファメモリ6にない場合。
バッファメモリのストア制御が行われ、主記憶装置(M
S)からのデータが、WDR2を介して。
S)からのデータが、WDR2を介して。
バッファメモリ6の該当ブロックに書込まれると共に、
該当ブロックのアドレスがアドレスアレイ3に登録され
る。
該当ブロックのアドレスがアドレスアレイ3に登録され
る。
CPUからのストア要求では、ストアアドレスがアドレ
スアレイ3に存在する場合は、ARIのビット20〜2
8と比較回路4のロウ番号より。
スアレイ3に存在する場合は、ARIのビット20〜2
8と比較回路4のロウ番号より。
バッファメモリアドレス生成回路5がバッファメモリ6
のアドレスを作成してバッファメモリ6にデータをスト
アする。ストアデータはWDR2より与えられる。スト
アアドレスがFBAR8に存在する場合は、バッファメ
モリの固定ブロック位置にストアする。
のアドレスを作成してバッファメモリ6にデータをスト
アする。ストアデータはWDR2より与えられる。スト
アアドレスがFBAR8に存在する場合は、バッファメ
モリの固定ブロック位置にストアする。
(3)バッファキャンセル動作
キャンセルアドレスは、IOPまたは他のCPUから送
られ、ARlにセットされ、アドレスアレイ3とFBA
R8で比較され、一致がとれると、該ブロックを無効に
する。
られ、ARlにセットされ、アドレスアレイ3とFBA
R8で比較され、一致がとれると、該ブロックを無効に
する。
本実施例では、64カラム×40つのセットアソシアテ
ィブ方式のバッファメモリについて説明したが、バッフ
ァメモリにおける容量、構成、方式に関する仕様は容易
に変更可能である。
ィブ方式のバッファメモリについて説明したが、バッフ
ァメモリにおける容量、構成、方式に関する仕様は容易
に変更可能である。
以上、本発明を実施例にもとづき具体的に説明したが1
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない6〔発明の効果〕 以上、説明したように1本発明によれば、再び使用され
る可能性の低いデータに対しては、特定ブロックの固定
ブロック位置のみを使用して動作させるため、バッファ
メモリ全体の使用効率が向上し、処理装置の処理能力が
向上する。
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない6〔発明の効果〕 以上、説明したように1本発明によれば、再び使用され
る可能性の低いデータに対しては、特定ブロックの固定
ブロック位置のみを使用して動作させるため、バッファ
メモリ全体の使用効率が向上し、処理装置の処理能力が
向上する。
第1図は、本発明の一実施例にかかるバッファメモリの
ブロック図である。 図中、1・・・アドレスレジスタ、2・・・書込みデー
タレジスタ、3・・・アドレスアレイ、4・・・比較回
路、5・・・バッファメモリアドレス生成回路、6・・
・バッファメモリ、7・・・読出しデータレジスタ、8
・・・固定ブロックアドレスレジスタ、9・・・固定ブ
ロックアドレス有効ビット、10・・・比較回路、11
・・・オア回路である。
ブロック図である。 図中、1・・・アドレスレジスタ、2・・・書込みデー
タレジスタ、3・・・アドレスアレイ、4・・・比較回
路、5・・・バッファメモリアドレス生成回路、6・・
・バッファメモリ、7・・・読出しデータレジスタ、8
・・・固定ブロックアドレスレジスタ、9・・・固定ブ
ロックアドレス有効ビット、10・・・比較回路、11
・・・オア回路である。
Claims (1)
- 1、特定ブロックを含む複数のブロックから成るバッフ
ァメモリと、アクセス要求元の指定内容に応じて、前記
バッファメモリの特定ブロックのみを使用するか他の任
意ブロックを使用するかを切分ける手段とを有すること
を特徴とするバッファメモリ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62276933A JPH01116848A (ja) | 1987-10-30 | 1987-10-30 | バッファメモリ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62276933A JPH01116848A (ja) | 1987-10-30 | 1987-10-30 | バッファメモリ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01116848A true JPH01116848A (ja) | 1989-05-09 |
Family
ID=17576428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62276933A Pending JPH01116848A (ja) | 1987-10-30 | 1987-10-30 | バッファメモリ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01116848A (ja) |
-
1987
- 1987-10-30 JP JP62276933A patent/JPH01116848A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6131145A (en) | Information processing unit and method for controlling a hierarchical cache utilizing indicator bits to control content of prefetching operations | |
| JP3289661B2 (ja) | キャッシュメモリシステム | |
| JP2714952B2 (ja) | 計算機システム | |
| JP2001060169A (ja) | キャッシュコントローラ及びコンピュータシステム | |
| US5729711A (en) | Data driven information processing system using address translation table to keep coherent cache and main memories and permitting parallel readings and writings | |
| JPH0748190B2 (ja) | キャッシュメモリ内蔵マイクロプロセッサ | |
| JPH06202951A (ja) | キャッシュ・メモリ・システム | |
| EP1103898A2 (en) | Microprocessor and memory | |
| US20050270876A1 (en) | Selectively changeable line width memory | |
| JPH01116848A (ja) | バッファメモリ | |
| EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
| JP2002041358A (ja) | プロセッサシステム | |
| JP3260399B2 (ja) | 非同期i/oダイナミックプライオリティチェンジ方式 | |
| JPH1055308A (ja) | キャッシュメモリ | |
| JP2778623B2 (ja) | プリフェッチ制御装置 | |
| JPH05120139A (ja) | キヤツシユメモリ装置 | |
| JPS6380349A (ja) | 高速ペ−ジ入出力方式 | |
| JPH077355B2 (ja) | 情報処理装置 | |
| JPH10254782A (ja) | データ処理装置 | |
| JPH02253358A (ja) | キャッシュメモリ | |
| JPH0496155A (ja) | 記憶制御方式およびデータ処理装置 | |
| JPH10247182A (ja) | マルチプロセッサシステム | |
| JPH05128006A (ja) | 仮想計算機システム | |
| JPH0795297B2 (ja) | ファイルアクセス制御装置 | |
| JPH0455959A (ja) | 記憶装置 |