JPH01290050A - バッファ記憶装置 - Google Patents
バッファ記憶装置Info
- Publication number
- JPH01290050A JPH01290050A JP63119352A JP11935288A JPH01290050A JP H01290050 A JPH01290050 A JP H01290050A JP 63119352 A JP63119352 A JP 63119352A JP 11935288 A JP11935288 A JP 11935288A JP H01290050 A JPH01290050 A JP H01290050A
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- block data
- operand
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 65
- 239000000872 buffer Substances 0.000 title claims description 22
- 238000000034 method Methods 0.000 claims abstract description 6
- 230000010365 information processing Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、命令フェッチに応答する命令ブロックデータ
と、オペランドフェッチに応答するオペランドブロック
データとを記憶するバッファ記憶装置に於けるキャッシ
ュメモリ上のデータ管理制御を行う情報処理装置に関す
る。
と、オペランドフェッチに応答するオペランドブロック
データとを記憶するバッファ記憶装置に於けるキャッシ
ュメモリ上のデータ管理制御を行う情報処理装置に関す
る。
従来、キャッジ−メモリは、セットアンシアイブ方式な
どを採用し、ある一定のブロックサイズで、ブロックデ
ータのバッファメモリへの登録を行い、さらにオペラン
ド用メモリ、命令用キャッシュメモリからなる分離キャ
ッシュメモリ構成を採ったり、オペランドと命令のどち
らとも記憶する共用キャッシュメモリ構成を採っていた
。まだ。
どを採用し、ある一定のブロックサイズで、ブロックデ
ータのバッファメモリへの登録を行い、さらにオペラン
ド用メモリ、命令用キャッシュメモリからなる分離キャ
ッシュメモリ構成を採ったり、オペランドと命令のどち
らとも記憶する共用キャッシュメモリ構成を採っていた
。まだ。
一般にプログラムに於いて命令語は記憶領域上で連続性
を有するが、オ被ランドデータば、偏在もしくは、不連
続性を有することが多い傾向にあることが知られている
。そこで前者の分離キャッシュメモリ構成では、一般に
オペランド用キャッシュメモリに於けるオペランドブロ
ックデータのブ\ ロックサイズは連続番地によるアクセス及び偏在もしく
は、不連続性を有する番地によるアクセスに対して、性
能的にバランスのとれたブロックサイズを採用し、命令
用キャッシュメモリに於ケる命令ブロックデータのブロ
ックサイズは、連続番地によるアクセスに対して性能的
によいブロックサイズが採用され、それぞれのキャンシ
ュメモリでのブロックサイズは、異っていることが多く
。
を有するが、オ被ランドデータば、偏在もしくは、不連
続性を有することが多い傾向にあることが知られている
。そこで前者の分離キャッシュメモリ構成では、一般に
オペランド用キャッシュメモリに於けるオペランドブロ
ックデータのブ\ ロックサイズは連続番地によるアクセス及び偏在もしく
は、不連続性を有する番地によるアクセスに対して、性
能的にバランスのとれたブロックサイズを採用し、命令
用キャッシュメモリに於ケる命令ブロックデータのブロ
ックサイズは、連続番地によるアクセスに対して性能的
によいブロックサイズが採用され、それぞれのキャンシ
ュメモリでのブロックサイズは、異っていることが多く
。
まだ後者の共用キャッジ−メモリ構成では、オペランド
ブロックデータと命令ブロックデータのブロックサイズ
は、共用キャッシュメモリ構成であるが為に同じブロッ
クサイズを採用していた。
ブロックデータと命令ブロックデータのブロックサイズ
は、共用キャッシュメモリ構成であるが為に同じブロッ
クサイズを採用していた。
ととるが、上述した従来のキャッジ−メモリ構成に於い
て、前者の分離キャッジ−メモリ構成を採ると、オペラ
ンド用キャッジ−メモリ、命令用キャッシュメモリを独
立に2つ構成する必要があシ、・・−ドウエア量が2倍
必要となる欠点があり。
て、前者の分離キャッジ−メモリ構成を採ると、オペラ
ンド用キャッジ−メモリ、命令用キャッシュメモリを独
立に2つ構成する必要があシ、・・−ドウエア量が2倍
必要となる欠点があり。
後者の共用キャッシュメモリ構成では、ブロックサイズ
が、オペランド、命令ともに同じ大きさとなシ、それぞ
れのブロックデータの特性を生かすことが出来ず、また
、命令バッファをキャッシュメモリの上位に設ける場合
など、下位のキャッシュメモリが2分離キャンシュメモ
リであれば、それぞれの特性を生かすブロックサイズを
選択出来るが、共用キャッシュメモリ構成であると、命
令バッファのブロックサイズもキャッシュメモリ上のブ
ロックサイズと同じになり、やはり、それぞれの特性を
生かすことが出来ないという欠点がある。
が、オペランド、命令ともに同じ大きさとなシ、それぞ
れのブロックデータの特性を生かすことが出来ず、また
、命令バッファをキャッシュメモリの上位に設ける場合
など、下位のキャッシュメモリが2分離キャンシュメモ
リであれば、それぞれの特性を生かすブロックサイズを
選択出来るが、共用キャッシュメモリ構成であると、命
令バッファのブロックサイズもキャッシュメモリ上のブ
ロックサイズと同じになり、やはり、それぞれの特性を
生かすことが出来ないという欠点がある。
そこで2本発明の技術的課題は、上記欠点に鑑み1分離
キャッジーメモリ構成のようにハードウェア量を2倍必
要せず、共用キャッシュメモリ構成のように各々のブロ
ックサイズを同じにするととなしに、最適カブロックサ
イズを設定することができる情報処理装置を提供するこ
とである。
キャッジーメモリ構成のようにハードウェア量を2倍必
要せず、共用キャッシュメモリ構成のように各々のブロ
ックサイズを同じにするととなしに、最適カブロックサ
イズを設定することができる情報処理装置を提供するこ
とである。
本発明によれば、オペランドフェッチ要求に応答スるオ
ペランドブロックデータと、該オペランドブロックデー
タのブロックサイズの2n倍からなシ、命令フェッチ要
求に応答する命令ブロックデータとを、各々のブロック
サイズを各々セントアドレスとして、記憶するとともに
、前記オペランドブロックデータに1対1対応で記憶す
るブロックデータの有効情報を、前記命令ブロックデー
タに対応する2n個単位で、同時に読み出し及び書き込
むキャッシュメモリと、前記オペランドブロックデータ
または、前記命令ブロックデータのブロックサイズを表
示するブロック情報を前記オペランドブロックデータま
たは前記命令ブロックデータ単位に記憶するとともに、
前記ブロック情報を、命令ブロックデータ単位に読み出
し及び書き込むブロック情報保持手段と、前記キャッシ
ュメモリに対して前記オペランドブロックデータまたは
、前記命令ブロックデータの書き込み及び前記オペラン
ドブロックデータの一部もしくは全部の読み出しまたは
、前記命令ブロックデータの読み出しを行うデータ処理
手段と、前記キャッシュメモリに対するブロックデータ
の読み出し要求のブロック情報と前記読み出し要求に対
応する前記ブロック情報保持手段に記憶されている前記
ブロック情報とを比較し、不一致を検出した場合に、ブ
ロック情報不一致信号を出力し、前記データ処理手段に
。
ペランドブロックデータと、該オペランドブロックデー
タのブロックサイズの2n倍からなシ、命令フェッチ要
求に応答する命令ブロックデータとを、各々のブロック
サイズを各々セントアドレスとして、記憶するとともに
、前記オペランドブロックデータに1対1対応で記憶す
るブロックデータの有効情報を、前記命令ブロックデー
タに対応する2n個単位で、同時に読み出し及び書き込
むキャッシュメモリと、前記オペランドブロックデータ
または、前記命令ブロックデータのブロックサイズを表
示するブロック情報を前記オペランドブロックデータま
たは前記命令ブロックデータ単位に記憶するとともに、
前記ブロック情報を、命令ブロックデータ単位に読み出
し及び書き込むブロック情報保持手段と、前記キャッシ
ュメモリに対して前記オペランドブロックデータまたは
、前記命令ブロックデータの書き込み及び前記オペラン
ドブロックデータの一部もしくは全部の読み出しまたは
、前記命令ブロックデータの読み出しを行うデータ処理
手段と、前記キャッシュメモリに対するブロックデータ
の読み出し要求のブロック情報と前記読み出し要求に対
応する前記ブロック情報保持手段に記憶されている前記
ブロック情報とを比較し、不一致を検出した場合に、ブ
ロック情報不一致信号を出力し、前記データ処理手段に
。
前記ブロックデータ読み出し要求を、前記キャッジ−メ
モリに於けるデータ不在として処理させるブロック情報
チェック手段と、前記キャッシュメモリに記憶されてい
る前記オペランドブロックデータの2n倍の大きさから
々る前記命令ブロックデータが、前記オペランドブロッ
クデータによって一部書き換えられた場合に、残りのブ
ロックデータを無効化する無効化手段とを有することを
特徴とするバッファ記憶装置が得られる。
モリに於けるデータ不在として処理させるブロック情報
チェック手段と、前記キャッシュメモリに記憶されてい
る前記オペランドブロックデータの2n倍の大きさから
々る前記命令ブロックデータが、前記オペランドブロッ
クデータによって一部書き換えられた場合に、残りのブ
ロックデータを無効化する無効化手段とを有することを
特徴とするバッファ記憶装置が得られる。
以下余日
〔実施例〕
次に1本発明の実施例について図面を参照して説明をす
る。
る。
尚、説明にあたシ、第3図及び第4図に示す構成を例と
する。まず1通常のオペランドフェッチ及び命令フェッ
チの動作から説明する。
する。まず1通常のオペランドフェッチ及び命令フェッ
チの動作から説明する。
オペランドフェッチは、データ処理装置1から。
フェッチ要求線100を介してバッファ記憶装置2、に
対して出され、バッファ記憶装置2に該当するデータを
含んだオペランドブロックデータが存在した場合、リプ
ライデータ線201を介してデータ処理装置1に該当デ
ータが返される。逆に。
対して出され、バッファ記憶装置2に該当するデータを
含んだオペランドブロックデータが存在した場合、リプ
ライデータ線201を介してデータ処理装置1に該当デ
ータが返される。逆に。
該当するデータを含んだオペランドブロックデータが、
存在しなかった場合には、主記憶装置3に対して、オペ
ランドブロックロード要求が、主記憶アクセス線200
を介して出され、主記憶装置3から読み出された該当す
るブロックデータを。
存在しなかった場合には、主記憶装置3に対して、オペ
ランドブロックロード要求が、主記憶アクセス線200
を介して出され、主記憶装置3から読み出された該当す
るブロックデータを。
ブロックデータ線300を介して、バッファ記憶装置3
に登録する。
に登録する。
次に、命令フェッチであるが、命令フェッチは。
捷ずデータ処理装置1から命令フェッチ要求として、フ
ェッチ要求線100を介して、バッファ記憶装置2に対
して出される(これは、−例として。
ェッチ要求線100を介して、バッファ記憶装置2に対
して出される(これは、−例として。
同一ノクスによって、バッファ記憶装置2をアクセスす
る場合を用いているが、別パスによるアクセスの場合で
も同じであることは、言うまでもない)。
る場合を用いているが、別パスによるアクセスの場合で
も同じであることは、言うまでもない)。
バッファ記憶装置2に該当する命令ブロックデータが、
存在した場合、リプライデータ線201を介して、デー
タ処理装置1に、該当命令ブロックデータが返される(
リゾライデータ線201も。
存在した場合、リプライデータ線201を介して、デー
タ処理装置1に、該当命令ブロックデータが返される(
リゾライデータ線201も。
オペランドフェッチ時と同一パスを用いているがこれも
別パスによるデータ転送であっても良いことは、言うま
でもない)。もし、バッファ記憶装置2に該当する命令
ブロックデータが存在しなかった場合は、バッファ記憶
装置2から主記憶アクセス線200を介して、主記憶装
置3に対して命令ブロックロード要求が出され、主記憶
装置4から読み出された該当する命令ブロックデータを
ブロックデータ線300を介して、バッファ記憶装置2
に登録する。
別パスによるデータ転送であっても良いことは、言うま
でもない)。もし、バッファ記憶装置2に該当する命令
ブロックデータが存在しなかった場合は、バッファ記憶
装置2から主記憶アクセス線200を介して、主記憶装
置3に対して命令ブロックロード要求が出され、主記憶
装置4から読み出された該当する命令ブロックデータを
ブロックデータ線300を介して、バッファ記憶装置2
に登録する。
本発明は、前述のオペランドブロックデータと。
命令ブロックデータとが異ったブロックサイズであって
、それらが同一キャラシーメモリ5上に登録管理される
もので、引き続いてその点について説明する。
、それらが同一キャラシーメモリ5上に登録管理される
もので、引き続いてその点について説明する。
例として、命令ブロックデータのブロックサイズを4N
バイト、オペランドブロックデータのブロックサイズを
Nバイトとした場合を用いることとする。第4図に示す
様にバッファ記憶装置2に。
バイト、オペランドブロックデータのブロックサイズを
Nバイトとした場合を用いることとする。第4図に示す
様にバッファ記憶装置2に。
データ処理装置1からのフェッチ要求を受付けるデータ
処理手段4と、オペランドデータ及び命令ブロックデー
タの異ったブロックサイズのブロックデータを記憶する
キャッシュメモリ5と、キャッジ−メモリ5に記憶され
ているブロックデータが命令ブロックデータなのか、オ
ペランドブロックデータなのかを区別するブロック情報
をたとえば命令ブロックデータ単位に記憶するブロック
情報保持手段6と、データ処理手段4からのキャッシュ
メモリ5に対するフェッチ要求時のフェッチ要求が示す
、ブロック情報(オペランドフェッチ時は、゛0′″、
命令フェッチ時は“1”)と、ブロック情報保持手段6
から読み出されるブロック情報(オペランドブロックデ
ータ時はl Q ++、命令ブロックデータ時は“1′
′)とを比較し、不一致を検出した場合に、データ処理
手段4からのフェッチ要求を、キャッシュメモリ5に於
けるデータ不在として処理させるブロック情報チェック
手段7と。
処理手段4と、オペランドデータ及び命令ブロックデー
タの異ったブロックサイズのブロックデータを記憶する
キャッシュメモリ5と、キャッジ−メモリ5に記憶され
ているブロックデータが命令ブロックデータなのか、オ
ペランドブロックデータなのかを区別するブロック情報
をたとえば命令ブロックデータ単位に記憶するブロック
情報保持手段6と、データ処理手段4からのキャッシュ
メモリ5に対するフェッチ要求時のフェッチ要求が示す
、ブロック情報(オペランドフェッチ時は、゛0′″、
命令フェッチ時は“1”)と、ブロック情報保持手段6
から読み出されるブロック情報(オペランドブロックデ
ータ時はl Q ++、命令ブロックデータ時は“1′
′)とを比較し、不一致を検出した場合に、データ処理
手段4からのフェッチ要求を、キャッシュメモリ5に於
けるデータ不在として処理させるブロック情報チェック
手段7と。
キャッジ−メモリ4にすでに登録されている命令ブロッ
クデータのうちの、1部を、オペランドブロックデータ
で、書き換えてしまうような場合に。
クデータのうちの、1部を、オペランドブロックデータ
で、書き換えてしまうような場合に。
残ったブロックデータの有効情報を無効化する無効化処
理手段8とを有す。また第1図に示す様に。
理手段8とを有す。また第1図に示す様に。
キャッシュメモリ5として、オペランドブロックデータ
に1対1対応にそのブロックデータの有効情報を持ち、
その有効情報を命令ブロックデータ単位に折りたたんで
、それらの情報を同時に読み出し及び書き込みを可能と
する有効情報記憶部52を含んでいる。
に1対1対応にそのブロックデータの有効情報を持ち、
その有効情報を命令ブロックデータ単位に折りたたんで
、それらの情報を同時に読み出し及び書き込みを可能と
する有効情報記憶部52を含んでいる。
これらの構成及び情報を持つことによって、たとえば第
2図■に示すようにデータバッファ50に、オペランド
アクセス(a)があると、そのオペランドアクセス(a
)に該当する有効情報を有効情報記憶部52から、ブロ
ック情報をブロック情報記憶部60から読み出し、さら
にアドレスタグ記憶部51からアドレス上位部を読み出
し第1図に示す様ニ、コンベア回路54にて、アクセス
アドレス上位部とアドレスタグ記憶部51から読み出さ
れたアドレス上位部とを比較し、一致がとれ、さらに有
効情報記憶部52から読み出された有効情報が“1″(
有効)を表示していてANDダート55でANDがとれ
、さらにブロック情報保持手段6にあるブロック情報記
憶部60から読み出されたブロック情報が0″でオペラ
ンドブロックデータであることを示していて、データ処
理手段4からリクエスト情報線402を介して送られる
ブロック情報41 (”オペランドアクセス“−11Q
II 、 n命令アクセス” = ”1” )の情報と
が、コンベア回路70で一致がとれた場合、キャッシュ
メモリ5からはヒツト信号(キャッジ−メモリ5上に該
当データが存在したことを意味する信号)が、ヒント/
ミスヒツト情報線501を介してデータ処理手段4に送
られ、ブロック情報チェック手段7.からは。
2図■に示すようにデータバッファ50に、オペランド
アクセス(a)があると、そのオペランドアクセス(a
)に該当する有効情報を有効情報記憶部52から、ブロ
ック情報をブロック情報記憶部60から読み出し、さら
にアドレスタグ記憶部51からアドレス上位部を読み出
し第1図に示す様ニ、コンベア回路54にて、アクセス
アドレス上位部とアドレスタグ記憶部51から読み出さ
れたアドレス上位部とを比較し、一致がとれ、さらに有
効情報記憶部52から読み出された有効情報が“1″(
有効)を表示していてANDダート55でANDがとれ
、さらにブロック情報保持手段6にあるブロック情報記
憶部60から読み出されたブロック情報が0″でオペラ
ンドブロックデータであることを示していて、データ処
理手段4からリクエスト情報線402を介して送られる
ブロック情報41 (”オペランドアクセス“−11Q
II 、 n命令アクセス” = ”1” )の情報と
が、コンベア回路70で一致がとれた場合、キャッシュ
メモリ5からはヒツト信号(キャッジ−メモリ5上に該
当データが存在したことを意味する信号)が、ヒント/
ミスヒツト情報線501を介してデータ処理手段4に送
られ、ブロック情報チェック手段7.からは。
ブロック情報一致信号線700を介して、ブロック情報
が一致していたことが伝えられる。データ処理手段4で
は、2つの情報がANDゲート42でANDがとれた場
合に、初めてデータ処理装置1に対して、リプライデー
タ糾201を介して、リプライデータをバッファ記憶装
置2から返す。逆に。
が一致していたことが伝えられる。データ処理手段4で
は、2つの情報がANDゲート42でANDがとれた場
合に、初めてデータ処理装置1に対して、リプライデー
タ糾201を介して、リプライデータをバッファ記憶装
置2から返す。逆に。
有効情報が’o” (無効)を表示していたシ、ブロッ
ク情報記憶部60の情報が”1″(命令ブロックデータ
)であったりした場合には、該当データを含んだブロッ
クデータがキャッシュメモリ5に存在しなかったように
、制御する。
ク情報記憶部60の情報が”1″(命令ブロックデータ
)であったりした場合には、該当データを含んだブロッ
クデータがキャッシュメモリ5に存在しなかったように
、制御する。
次に、第2図■に示すように、データバッファ50に命
令アクセス(b)があると、前述のオペランドアクセス
(a)と同様にして、データバッファ50に対して命令
アクセス(b)があると、有効情報記憶部52から読み
出される有効情報がパ1”であって。
令アクセス(b)があると、前述のオペランドアクセス
(a)と同様にして、データバッファ50に対して命令
アクセス(b)があると、有効情報記憶部52から読み
出される有効情報がパ1”であって。
ブロック情報記憶部60から読み出されたブロック情報
が′1″であった場合は、該当する命令プロツクデータ
が、キャッシュメモリ5に存在したことになり、逆に、
有効情報が“0”′であったシ、ブロック情報が0″で
あったシした場合には、キャッシュメモリ5に該当する
ブロックデータが存在しなかったことになる。
が′1″であった場合は、該当する命令プロツクデータ
が、キャッシュメモリ5に存在したことになり、逆に、
有効情報が“0”′であったシ、ブロック情報が0″で
あったシした場合には、キャッシュメモリ5に該当する
ブロックデータが存在しなかったことになる。
第2図■に示すケースは、■に示す状態で、オペランド
ブロックデータの存在するキャッシュメモリ5のセット
アドレスに命令アクセス(b)があったケースで、前述
のようにブロック情報のチェックをコンベア回路70で
行うと一致がとれない為。
ブロックデータの存在するキャッシュメモリ5のセット
アドレスに命令アクセス(b)があったケースで、前述
のようにブロック情報のチェックをコンベア回路70で
行うと一致がとれない為。
キャッシュメモリ5.に於けるデータ不在(ミスヒツト
)となり、主記憶装置3からの命令ブロックデータ(4
Nバイト)の読み出しがなされ、引き続いてキャッシュ
メモリ5への登録がなされる。
)となり、主記憶装置3からの命令ブロックデータ(4
Nバイト)の読み出しがなされ、引き続いてキャッシュ
メモリ5への登録がなされる。
この時、有効情報記憶部52の有効情報は4ビツトとも
++ 1 ++にセットされ、ブロック情報記憶部60
のブロック情報も0″から”1′′にセットされる。第
2図■に示すケースは、■に示す状態で。
++ 1 ++にセットされ、ブロック情報記憶部60
のブロック情報も0″から”1′′にセットされる。第
2図■に示すケースは、■に示す状態で。
命令ブロックデータの存在するキャッシュメモリ5のセ
ットアドレスにオペランドアクセス(b)がちったケー
スで前述のようにブロック情報のチェックをコンベア回
路70で行うと一致がとれない為。
ットアドレスにオペランドアクセス(b)がちったケー
スで前述のようにブロック情報のチェックをコンベア回
路70で行うと一致がとれない為。
キャッシュメモリ5に於けるデータ不在(ミスヒント)
となシ、主記憶装置3からのオペランドブロックデータ
(Nバイト)の読み出しがなされ。
となシ、主記憶装置3からのオペランドブロックデータ
(Nバイト)の読み出しがなされ。
引き続いて、キャッジ−メモリ5への登録がなされる。
この時、有効情報記憶部52の有効情報は、オペランド
ブロックデータが登録されたアドレス位置のみ′1゛に
セットされ、他の3ビツトに関しては II Q II
に無効化される必要がある。本無効化処理は、キャッジ
−メモリ5をアクセスした時のセットアドレスと、その
アドレスによってブロック情報記憶部60から読み出さ
れたブロック情報とを、それぞれ、登録指示線400及
びブロック情報線600を介して、無効化処理手段8に
受け。
ブロックデータが登録されたアドレス位置のみ′1゛に
セットされ、他の3ビツトに関しては II Q II
に無効化される必要がある。本無効化処理は、キャッジ
−メモリ5をアクセスした時のセットアドレスと、その
アドレスによってブロック情報記憶部60から読み出さ
れたブロック情報とを、それぞれ、登録指示線400及
びブロック情報線600を介して、無効化処理手段8に
受け。
無効化要求線800を介して、キャッシュメモリ5にあ
る有効情報記憶部52に対して、無効化指示を出すこと
で実現されるものとする。
る有効情報記憶部52に対して、無効化指示を出すこと
で実現されるものとする。
以上の様にすることによって、それぞれ異った大きさの
ブロックデータを各々同一キャッシュメモリ5上で独立
して処理することが可能となる。
ブロックデータを各々同一キャッシュメモリ5上で独立
して処理することが可能となる。
この説明では、ルベルのキャッシュメモリを設定したが
、nレベルであっても同様の制御が可能であることは言
うまでもない。
、nレベルであっても同様の制御が可能であることは言
うまでもない。
以上説明したように1本発明は、キャッシュメモリに′
2一種類のブロックサイズのブロックデータを登録可能
とすることによって2分離キャッシュメモリ構成のよう
にノ・−ドウエア量を2倍必要とせず、共用キャッシュ
メモリ構成のようにそれぞれのブロックサイズを同じに
することなしに、それぞれ最適なブロックサイズを設定
可能とすることで性能的に優れたキャッジ−メモリを提
供することができる効果がある。
2一種類のブロックサイズのブロックデータを登録可能
とすることによって2分離キャッシュメモリ構成のよう
にノ・−ドウエア量を2倍必要とせず、共用キャッシュ
メモリ構成のようにそれぞれのブロックサイズを同じに
することなしに、それぞれ最適なブロックサイズを設定
可能とすることで性能的に優れたキャッジ−メモリを提
供することができる効果がある。
第1図は本発明の一実施例の詳細図、第2図■〜■は、
第1図における2種類のブロックデータのブロックサイ
ズの態様を示す具体例であり、第3図、第4図は1本実
施例の一構成例である。 1・・・データ処理装置、2・・・パZファ記憶装置。 3・・・主記憶装置、4・・・データ処理手段、5・・
・キャッシュメモリ、6・・・ブロック情報保持手段、
7・・・ブロック情報チェック手段、8・・・無効化処
理手段。 40・・・アドレスレジスタ、41・・・ブロック情報
。 42・・・ANDダート、50山データパンファ、51
・・・アドレスタグ記憶部、52・・・有効情報記憶部
。 53・・・選択回路、54・・・コンベア回路、55・
・・ANDケ”−)、60・・・ブロック情報記憶部、
70・・・コンベア回路、100・・・フェッチ要求線
、200・・・主記憶アクセス線、201・・・リプラ
イデータ線。 300・・・ブロックデータ線、400・・・登録指示
線。 401・・・フェッチ要求線、402・・・リクエスト
情報線、501・・・ヒツト/ミスヒツト情報線、60
0・・・ブロック情報線、700・・・ブロック情報一
致信号線、800・・・無効化要求線。
第1図における2種類のブロックデータのブロックサイ
ズの態様を示す具体例であり、第3図、第4図は1本実
施例の一構成例である。 1・・・データ処理装置、2・・・パZファ記憶装置。 3・・・主記憶装置、4・・・データ処理手段、5・・
・キャッシュメモリ、6・・・ブロック情報保持手段、
7・・・ブロック情報チェック手段、8・・・無効化処
理手段。 40・・・アドレスレジスタ、41・・・ブロック情報
。 42・・・ANDダート、50山データパンファ、51
・・・アドレスタグ記憶部、52・・・有効情報記憶部
。 53・・・選択回路、54・・・コンベア回路、55・
・・ANDケ”−)、60・・・ブロック情報記憶部、
70・・・コンベア回路、100・・・フェッチ要求線
、200・・・主記憶アクセス線、201・・・リプラ
イデータ線。 300・・・ブロックデータ線、400・・・登録指示
線。 401・・・フェッチ要求線、402・・・リクエスト
情報線、501・・・ヒツト/ミスヒツト情報線、60
0・・・ブロック情報線、700・・・ブロック情報一
致信号線、800・・・無効化要求線。
Claims (1)
- 【特許請求の範囲】 1、オペランドフェッチ要求に応答するオペランドブロ
ックデータと、該オペランドブロックデータのブロック
サイズの2^n倍からなり、命令フェッチ要求に応答す
る命令ブロックデータとを、各各のブロックサイズを各
々セットアドレスとして、記憶するとともに、前記オペ
ランドブロックデータに1対1対応で記憶するブロック
データの有効情報を、前記命令ブロックデータに対応す
る2^n個単位で、同時に読み出し及び書き込むキャッ
シュメモリと、 前記オペランドブロックデータまたは、前記命令ブロッ
クデータのブロックサイズを表示するブロック情報を前
記オペランドブロックデータまたは前記命令ブロックデ
ータ単位に記憶するとともに、前記ブロック情報を、命
令ブロックデータ単位に、読み出し及び書き込むブロッ
ク情報保持手段と、 前記キャッシュメモリに対して前記オペランドブロック
データまたは、前記命令ブロックデータの書き込み及び
前記オペランドブロックデータの一部もしくは、全部の
読み出しまたは、前記命令ブロックデータの読み出しを
行うデータ処理手段と、 前記キャッシュメモリに対するブロックデータの読み出
し要求のブロック情報と前記読み出し要求に対応する前
記ブロック情報保持手段に記憶されている前記ブロック
情報とを比較し、不一致を検出した場合に、ブロック情
報不一致信号を出力し、前記データ処理手段に、前記ブ
ロックデータ読み出し要求を、前記キャッシュメモリに
於けるデータ不在として処理させるブロック情報チェッ
ク手段と、 前記キャッシュメモリに記憶されている前記オペランド
ブロックデータの2^n倍の大きさからなる前記命令ブ
ロックデータが、前記オペランドブロックデータによっ
て一部書き換えられた場合に、残りのブロックデータを
無効化手段とを有することを特徴とするバッファ記憶装
置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63119352A JP2818415B2 (ja) | 1988-05-18 | 1988-05-18 | バッファ記憶装置 |
US07/353,361 US5109498A (en) | 1988-05-18 | 1989-05-17 | Buffer memory device capable of memorizing operand and instruction data blocks at different block sizes |
EP89108845A EP0342631B1 (en) | 1988-05-18 | 1989-05-17 | Buffer memory device capable of memorizing operand and instruction data blocks at different block sizes |
DE68928333T DE68928333T2 (de) | 1988-05-18 | 1989-05-17 | Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist |
AU34912/89A AU617474B2 (en) | 1988-05-18 | 1989-05-18 | Buffer memory device capable of memorizing operand and instruction data blocks at different block sizes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63119352A JP2818415B2 (ja) | 1988-05-18 | 1988-05-18 | バッファ記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01290050A true JPH01290050A (ja) | 1989-11-21 |
JP2818415B2 JP2818415B2 (ja) | 1998-10-30 |
Family
ID=14759366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63119352A Expired - Lifetime JP2818415B2 (ja) | 1988-05-18 | 1988-05-18 | バッファ記憶装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5109498A (ja) |
EP (1) | EP0342631B1 (ja) |
JP (1) | JP2818415B2 (ja) |
AU (1) | AU617474B2 (ja) |
DE (1) | DE68928333T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006510992A (ja) * | 2002-12-17 | 2006-03-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ライン幅を選択的に変更することが可能なメモリ |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112287A (en) | 1993-03-01 | 2000-08-29 | Busless Computers Sarl | Shared memory multiprocessor system using a set of serial links as processors-memory switch |
JPH0740247B2 (ja) * | 1989-06-20 | 1995-05-01 | 松下電器産業株式会社 | キャッシュメモリ装置 |
US5442769A (en) * | 1990-03-13 | 1995-08-15 | At&T Corp. | Processor having general registers with subdivisions addressable in instructions by register number and subdivision type |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US6324120B2 (en) | 1990-04-18 | 2001-11-27 | Rambus Inc. | Memory device having a variable data output length |
US6751696B2 (en) * | 1990-04-18 | 2004-06-15 | Rambus Inc. | Memory device having a programmable register |
US5390304A (en) * | 1990-09-28 | 1995-02-14 | Texas Instruments, Incorporated | Method and apparatus for processing block instructions in a data processor |
US5822781A (en) * | 1992-10-30 | 1998-10-13 | Intel Corporation | Sector-based storage device emulator having variable-sized sector |
FR2732134B1 (fr) * | 1995-03-23 | 1997-06-06 | Suisse Electronique Microtech | Systeme informatique avec memoires hierarchisees |
US5737550A (en) * | 1995-03-28 | 1998-04-07 | Advanced Micro Devices, Inc. | Cache memory to processor bus interface and method thereof |
GB2317788B (en) * | 1996-09-26 | 2001-08-01 | Nokia Mobile Phones Ltd | Communication device |
US6760816B1 (en) * | 2000-09-29 | 2004-07-06 | Intel Corporation | Critical loads guided data prefetching |
US6662273B1 (en) | 2000-09-29 | 2003-12-09 | Intel Corporation | Least critical used replacement with critical cache |
US6782469B1 (en) | 2000-09-29 | 2004-08-24 | Intel Corporation | Runtime critical load/data ordering |
JP2005166155A (ja) * | 2003-12-02 | 2005-06-23 | Hitachi-Lg Data Storage Inc | 光ディスクドライブ装置 |
US7958436B2 (en) | 2005-12-23 | 2011-06-07 | Intel Corporation | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
US7925957B2 (en) | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4312036A (en) * | 1978-12-11 | 1982-01-19 | Honeywell Information Systems Inc. | Instruction buffer apparatus of a cache unit |
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US4575814A (en) * | 1982-05-26 | 1986-03-11 | Westinghouse Electric Corp. | Programmable interface memory |
JPH0673114B2 (ja) * | 1987-03-31 | 1994-09-14 | 日本電気株式会社 | キヤツシユ制御装置 |
US4908748A (en) * | 1987-07-28 | 1990-03-13 | Texas Instruments Incorporated | Data processing device with parallel circular addressing hardware |
JPH01173241A (ja) * | 1987-12-28 | 1989-07-07 | Toshiba Corp | キャッシュメモリ装置 |
US5025366A (en) * | 1988-01-20 | 1991-06-18 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in cache system design |
-
1988
- 1988-05-18 JP JP63119352A patent/JP2818415B2/ja not_active Expired - Lifetime
-
1989
- 1989-05-17 EP EP89108845A patent/EP0342631B1/en not_active Expired - Lifetime
- 1989-05-17 DE DE68928333T patent/DE68928333T2/de not_active Expired - Fee Related
- 1989-05-17 US US07/353,361 patent/US5109498A/en not_active Expired - Fee Related
- 1989-05-18 AU AU34912/89A patent/AU617474B2/en not_active Ceased
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006510992A (ja) * | 2002-12-17 | 2006-03-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ライン幅を選択的に変更することが可能なメモリ |
JP4741844B2 (ja) * | 2002-12-17 | 2011-08-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ライン幅を選択的に変更することが可能なメモリ |
Also Published As
Publication number | Publication date |
---|---|
AU3491289A (en) | 1989-11-23 |
DE68928333T2 (de) | 1998-01-29 |
US5109498A (en) | 1992-04-28 |
EP0342631A2 (en) | 1989-11-23 |
AU617474B2 (en) | 1991-11-28 |
EP0342631A3 (en) | 1991-09-18 |
JP2818415B2 (ja) | 1998-10-30 |
DE68928333D1 (de) | 1997-10-30 |
EP0342631B1 (en) | 1997-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2822588B2 (ja) | キャッシュメモリ装置 | |
JPH01290050A (ja) | バッファ記憶装置 | |
US5155832A (en) | Method to increase performance in a multi-level cache system by the use of forced cache misses | |
JPH0668735B2 (ja) | キヤツシユメモリ− | |
JPH04217051A (ja) | マイクロプロセッサ | |
JPS63240650A (ja) | キヤツシユメモリ装置 | |
US20090292857A1 (en) | Cache memory unit | |
JPH0727492B2 (ja) | 緩衝記憶装置 | |
JP3733604B2 (ja) | キャッシュメモリ | |
JPH03230238A (ja) | キャッシュメモリ制御方式 | |
JPS6329297B2 (ja) | ||
JP3226557B2 (ja) | マルチプロセッサシステム | |
JP2645477B2 (ja) | マイクロプロセッサ及びそのキャッシュメモリ | |
JP2580587B2 (ja) | アドレス変換バッファ | |
JPH01290052A (ja) | キャッシュメモリ | |
JPS63240651A (ja) | キヤツシユメモリ | |
JPS6135583B2 (ja) | ||
JPH02176839A (ja) | 情報処理装置 | |
JPH01118944A (ja) | キャッシュメモリ制御装置 | |
JPS63127349A (ja) | マイクロプロセサ処理装置 | |
JPH0769863B2 (ja) | データ処理装置 | |
JPH01279342A (ja) | キャッシュ制御方式 | |
JPH0484242A (ja) | データ処理装置 | |
JPH03225540A (ja) | キャッシュメモリの無効化処理方式 | |
JPH05233443A (ja) | マルチプロセッサシステム |