JPH04344957A - キャッシュ装置 - Google Patents

キャッシュ装置

Info

Publication number
JPH04344957A
JPH04344957A JP3146893A JP14689391A JPH04344957A JP H04344957 A JPH04344957 A JP H04344957A JP 3146893 A JP3146893 A JP 3146893A JP 14689391 A JP14689391 A JP 14689391A JP H04344957 A JPH04344957 A JP H04344957A
Authority
JP
Japan
Prior art keywords
data
address
word
byte
array
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
Application number
JP3146893A
Other languages
English (en)
Inventor
Atsushi Yamazaki
篤 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP3146893A priority Critical patent/JPH04344957A/ja
Publication of JPH04344957A publication Critical patent/JPH04344957A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明はキャッシュ装置に関し、特にワー
ドの任意のアドレスからデータを読出せる情報処理装置
に用いられるキャッシュ装置に関する。
【0002】
【従来技術】従来のキャッシュ装置について図面を参照
して説明する。図2は4個のコンパートメントを有しか
つ、データ読出し幅が4バイトの従来のキャッシュ装置
のブロック図である。
【0003】図において、ヒット判定回路10は、図示
せぬ演算装置から送出された読出すべきデータのワード
アドレス101 を用いてキャッシュのデータアレイ(
DA)19〜22内に当該ワードが格納されているか否
かを判定するヒット判定回路である。
【0004】アドレスアレイ(AA)11〜14はキャ
ッシュデータアレイ19〜22に格納されているワード
アドレスの上位部分を格納したメモリであり、データ読
出し幅のバイト数と同数(本例では4つ)のコンパート
メント11〜14からなる。
【0005】比較回路15〜18はアドレスアレイの各
コンパートメント11〜14に夫々対応して設けられ、
各コンパートメントの対応出力106 〜109 とワ
ードアドレス101 の上位部分102 とを比較する
【0006】データアレイ19〜22はアドレスアレイ
11〜14の各コンパートメントと対応して設けられて
おり、本例では4つのコンパートメントからなり、図示
せぬ主記記憶装置のデータワードの写しを一部保持する
メモリである。
【0007】セレクタ53はヒット判定回路10による
指示129 に応じてデータアレイ19〜22のどのコ
ンパートメント出力を選択して出力データ127 とし
て導出するかを決定する選択回路である。
【0008】演算装置から送られてきた、読出すべきデ
ータのワードアドレス101 の中位部分103 でア
ドレスアレイの各コンパートメント11〜14を読出す
。同時に、ワードアドレス101 の中位部分103 
と下位部分104 とを結合した値105 でデータア
レイの各コンパートメント19〜22中の1ワードのデ
ータ114 〜117 を読出す。アドレスアレイコン
パートメント11〜14の出力106 〜109は夫々
比較回路15〜18によってワードアドレス101 の
上位部分102 と比較される。
【0009】ヒット判定回路10は比較回路15〜18
の比較結果110 〜113 を入力し、もしアドレス
アレイコンパートメント11の出力が一致していれば、
データアレイコンパートメント19を選択するように、
同様に、アドレスアレイコンパートメント12〜14の
出力が夫々一致していれば、各々データアレイコンパー
トメント20〜22を夫々選択するように、出力データ
選択回路53に対してデータ選択信号129 を送る。 そして出力データ選択回路53の出力127 は演算装
置に送られる。
【0010】もし、アドレスアレイコンパートメント1
1〜14のいずれも一致していなければ、ヒット判定回
路30は主記憶装置にデータ読出し要求128を送る。 主記憶装置から読出しデータ118 が送られてくると
、予め決められた置換コンパートメント決定方式(例え
ばLRU方式)によって決定されたコンパートメント、
例えばデータアレイコンパートメント19に対して、デ
ータ行列更新指示123 を送り読出しデータ118 
を格納させる。 同時に、対応するアドレスアレイのコンパートメント1
1に対して、アドレス行列更新指示119 を送り、ワ
ードアドレス101 の上位部分102を格納させる。
【0011】このキャッシュ装置を用いて演算装置が図
4に示すように格納されているデータを読出す場合につ
いて、具体的に説明する。100 (H)番地(Hは1
6進を示す)からの4バイトデータを読出す場合は、演
算装置はワードアドレス101 として、“100 (
H)”を与え、出力選択回路出力127 として、“0
0112233(H)”を受取り、そのまま演算に使用
する。
【0012】106 (H)番地からの4バイトデータ
を読出す場合は、演算装置はワードアドレス101 と
して、最初に“104 (H)”を与え、出力選択回路
出力127 として、まず4バイトデータ“44556
677(H)”を受取る。 続いて、アドレス“108 (H)”を与え、出力選択
回路出力127 として、こんどは4バイトデータ“8
899AABB(H)”を受取る。そして、合計8バイ
トのデータから、演算装置内のデータ整列回路によって
、必要な4バイトデータ“66778899(H)”を
作出し、演算に使用する。
【0013】上述した従来のキャッシュ装置は、読出し
がワード単位であるため、読出すべきデータがワード間
にまたがる場合、2回のキャッシュアクセスが必要であ
るという欠点がある。
【0014】
【発明の目的】本発明の目的は、読出すべきデータがワ
ード間にまたがる場合でも、単に1回のキャッシュアク
セスのみでデータ読出しが可能なキャッシュ装置を提供
することである。
【0015】
【発明の構成】本発明によるキャッシュ装置は、データ
読出し幅のバイト数と同数のデータコンパートメントを
有し、各バイト単位に独立したアドレスによりアクセス
可能なデータ行列と、オペランド左端アドレス中のワー
ド内アドレスとオペランド長とから、必要とされるオペ
ランドデータの各バイトが前記データ行列中の前記左端
アドレスが指すワードに存在するか、その次のワードに
存在するかを判定するデータワード位置判定手段と、前
記データワード位置判定手段により判定された各バイト
毎のワード位置が左端アドレスの場合には“0”を、次
ワードである場合にはデータ読出し幅を夫々出力する加
算データ変更手段と、前記オペランド左端アドレスと各
バイト毎の前記加算データ変更手段の出力とを加算する
アドレス加算手段と、この加算出力を前記データ行列の
各バイト毎のアドレスとして供給する手段とを含むこと
を特徴とする。
【0016】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0017】図1は本発明の一実施例である、データ読
出し幅4バイト、コンパートメント数4のキャッシュ装
置を示す図であり、図2と同等部分は同一符号により示
している。
【0018】本実施例では、図2の例と同様に4個のコ
ンパートメントを有しかつデータ読出し幅が4バイトの
例を示す。データアレイは各バイト単位に独立したアド
レスによりアクセス可能な構成となっており、各コンパ
ートメントの第1バイトのデータアレイ19−1,20
−1,21−1,22−1がアドレス加算回路32の出
力233 によりアクセスされる。
【0019】各コンパートメントの第2バイトのデータ
アレイ19−2,20−2,21−2,22−2がアド
レス加算回路33の出力234 によりアクセスされる
。また、各コンパートメントの第3バイトのデータアレ
イ19−3,20−3,21−3,22−3がアドレス
加算回路34の出力235 によりアクセスされる。更
に、各コンパートメントの第4バイトのデータアレイ1
9−4,20−4,21−4,22−4がアドレス加算
回路35の出力236 によりアクセスされる。
【0020】演算装置から送られてきた、読出すべきデ
ータのワードアドレス101 の中位部分103 でア
ドレスアレイの各コンパートメント11〜14を読出す
。そして、アドレスアレイコンパートメント11〜14
の出力106 〜109 は夫々比較回路15〜18に
よってワードアドレス101 の上位部分102 と比
較される。
【0021】データワード位置判定回路27は演算装置
から送られてきた、ワード内アドレス222 とオペラ
ンド長223 とから、必要なオペランドデータの各バ
イトが、データアレイ中の左端アドレスが指すワードに
あるか、あるいは、その次のワードにあるかを判定し、
各バイト毎の判定結果をデータアレイアドレス選択信号
225 〜228 として出力する。
【0022】各バイト対応の加算データ変更回路28〜
31は、データアレイアドレス選択信号225 〜22
8 がデータアレイ中の左端アドレスが指すワードを示
していれば“0”を、その次のワードを示していればデ
ータ読出し幅224 を夫々選択してアドレス加算回路
32〜35に夫々与える。
【0023】アドレス加算回路32〜35は夫々ワード
アドレス101 の中位部分103 と下位部分104
 とを結合した値105 と、加算データ変更回路28
〜31の各出力229 〜232 とを加算し、データ
アレイの各コンパートメント19−1〜4、20−1〜
4、21−1〜4、22−1〜4にアドレスとして与え
る。
【0024】ヒット判定回路10は比較回路15〜18
の比較結果110 〜113 を入力し、もし、アドレ
スアレイコンパートメント11の出力が一致していれば
、データアレイコンパートメント19−1〜4を選択す
るように、同様に、アドレスアレイコンパートメント1
2〜14の出力が夫々一致していれば、各々データアレ
イコンパートメント20−1〜4、21−1〜4、22
−1〜4を夫々選択するように、各バイト対応の出力デ
ータ選択回路23〜26に対してデータ選択信号129
 を送る。 そして出力データ選択回路23〜26の出力をまとめた
4バイトデータ221 は演算装置に送られる。
【0025】もし、アドレスアレイコンパートメント1
1〜14のいずれも一致していなければ、ヒット判定回
路10は主記憶装置にデータ読出し要求128を送る。
【0026】主記憶装置から読出しデータ118 が送
られてくると、予め決められた置換コンパートメント決
定方式(例えばLRU方式)によって決定されたコンパ
ートメント、例えばデータアレイコンパートメント19
−1〜4に対して、バイト対応のデータアレイ更新指示
123 〜126 を送り読出しデータ118 をバイ
ト対応に格納させる。同時に、対応するアドレスアレイ
のコンパートメント11に対して、アドレスアレイ更新
指示119 を送り、ワードアドレス101 の上位部
分102 を格納させる。
【0027】図3は図1中のデータ位置判定回路27の
一構成例を示す図である。図において、60、61、6
2は2つの2ビットデータを加算したときの桁上げ検出
回路、63は選択回路、64、65はアンド回路、66
はバッファ回路である。
【0028】また、オペランド長223 は“0”の時
2バイト、“1”の時4バイトを夫々示し、データアレ
イアドレス選択信号225 〜228は、夫々“0”の
時データアレイ中の左端アドレスが指すワード、“1”
の時その次のワードを示すものとする。
【0029】桁上げ検出回路60はワード内アドレス2
22 と、固定値“11”とを入力とするので、ワード
内アドレス222 が“01”、“10”、“11”の
時に“1”を出力する。桁上げ検出回路61はワード内
アドレス222 と固定値“10”とを入力とするので
、ワード内アドレス222が“10”、“11”の時に
、“1”を出力する。桁上げ検出回路62はワード内ア
ドレス222 と固定値“01”とを入力とするので、
ワード内アドレス222 が“11”の時に、“1”を
出力する。
【0030】選択回路63は、オペランド長223 が
“0”の時、桁上げ検出回路62の出力307 を、“
1”の時、桁上げ検出回路60の出力305 を夫々選
択し、データアレイアドレス選択信号225 として出
力する。
【0031】アンド回路64、65はオペランド長22
3 が“0”の時に、データアレイアドレス選択信号2
26 、227 を“0”にマスクする。バッファ回路
66は固定値“0”をデータアレイアドレス選択信号2
28 として出力する。
【0032】従って、データ位置判定回路27は、オペ
ランド長223 が2バイトを示すときは、ワード内ア
ドレス222 が“11”の時のみ、データアレイアド
レス選択信号225 〜228 を夫々“1”、“0”
、“0”、“0”とし、それ以外では、すべて“0”と
する。オペランド長223 が4バイトを示すときは、
ワード内アドレス222 が“00”の時に、データア
レイアドレス選択信号225 〜228 は“0”、“
0”、“0”、“0”、ワード内アドレス222 が“
01”の時に、“1”、“0”、“0”、“0”、ワー
ド内アドレス222 が“10”の時に、“1”、“1
”、“0”、“0”、ワード内アドレス222 が“1
1”の時に、“1”、“1”、“1”、“0”になる。
【0033】このキャッシュ装置を用いて演算装置が図
4に示すように格納されているデータを読出す場合を例
にとって説明する。100 (H)番地からの4バイト
データを読出す場合は、演算装置はワードアドレス10
1 として“100 (H)”、ワード内アドレス22
2 として“00(B)”((B)は2進数を示す)を
、オペランド長223 として4を示す“WQ1”を夫
々与える。
【0034】このときデータ位置判定回路27の出力2
25 〜228 は“0”、“0”、“0”、“0”と
なり、よって読出しデータの全バイトがデータアレイ中
の左端ワードが示すワードにあると判定される。
【0035】従って、加算データ変更回路28〜31は
全て“0”を出力するので、アドレス加算回路32〜3
5は全ワードアドレスの中位ビット103 と下位ビッ
ト104 との結合ビット105 を出力してデータア
レイの各コンパートメントの第1〜第4バイトのアドレ
スとするのである。よって、100 番地の“0011
2233(H)”がデータ221 として読出されるこ
とになる。
【0036】106 番地からの4バイトデータを読出
す場合には、演算装置はワードアドレス101 として
“104 (H)”を、ワード内アドレスとして“10
(B)”を、オペランド長として“WQ1”を夫々与え
る。
【0037】このとき、データ位置判定回路27の出力
225 〜228は“1”、“1”、“0”、“0”と
なり、よって、読出しデータの第3、第4バイトがデー
タアレイの中の左端アドレスが指すワードにあり、第1
、第2バイトがその次のワードにあると判定される。
【0038】従って、第3、第4バイトに対応した加算
データ変更回路30,31は“0”を出力し、よってア
ドレス加算回路34,35は結合ビット105を選択し
てデータアレイの各コンパートメントの第3、第4バイ
トのアドレスとする。第1、第2バイトに対応した加算
データ変更回路28,29の出力である結合ビット10
5とデータ読出し幅4バイトとの加算出力233 ,2
34 (次のワードアドレス)を選択してデータアレイ
の各コンパートメントの第1,2バイトのアドレスとす
る。よって、4バイトのデータ221 として“889
96677(H)”が導出され、演算装置内のデータ整
列回路により必要な4バイトデータ“66778899
(H)”が生成されることになる。
【0039】また、106 番地からの2バイトデータ
を読出す場合には、演算装置はワードアドレス101 
として“104 (H)”を、ワード内アドレス222
 として“10(B)”を、オペランド長223 とし
て“0”を夫々与える。
【0040】このとき、データ位置判定回路27は、読
出しデータの全バイトがデータアレイ中の左端アドレス
が指すワードにあると判定するので、出力選択回路出力
127として、4バイトデータ“44556677(H
)”を受取り、演算装置内のデータ整列回路によって、
必要な2バイトデータ“6677(H)”を作出し、演
算に使用するのである。
【0041】
【発明の効果】以上説明したように本発明は、オペラン
ド左端アドレス中のワード内アドレスとオペランド長と
から、読出しデータの各バイトがデータアレイ中の左端
アドレスが指すワードにあるか、あるいはその次のワー
ドにあるかを判定し、その結果に応じてデータアレイに
与えるアドレスをバイト単位に変えることで、読出すべ
きデータがワード間にまたがる場合でも、キャッシュア
クセスが1回で済むという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】従来のキャッシュ装置を示すブロック図である
【図3】図1のワード位置判定回路27の具体例を示す
回路図である。
【図4】読出しデータの一例を示す図である。
【符号の説明】
10  ヒット判定回路 11〜14  アドレスアレイ 15〜18  比較回路 19〜22  データアレイ 27  ワード位置判定回路 28〜31  加算データ変更回路 32〜35  アドレス加算回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  データ読出し幅のバイト数と同数のデ
    ータコンパートメントを有し、各バイト単位に独立した
    アドレスによりアクセス可能なデータ行列と、オペラン
    ド左端アドレス中のワード内アドレスとオペランド長と
    から、必要とされるオペランドデータの各バイトが前記
    データ行列中の前記左端アドレスが指すワードに存在す
    るか、その次のワードに存在するかを判定するデータワ
    ード位置判定手段と、前記データワード位置判定手段に
    より判定された各バイト毎のワード位置が左端アドレス
    の場合には“0”を、次ワードである場合にはデータ読
    出し幅を夫々出力する加算データ変更手段と、前記オペ
    ランド左端アドレスと各バイト毎の前記加算データ変更
    手段の出力とを加算するアドレス加算手段と、この加算
    出力を前記データ行列の各バイト毎のアドレスとして供
    給する手段とを含むことを特徴とするキャッシュ装置。
JP3146893A 1991-05-22 1991-05-22 キャッシュ装置 Pending JPH04344957A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3146893A JPH04344957A (ja) 1991-05-22 1991-05-22 キャッシュ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3146893A JPH04344957A (ja) 1991-05-22 1991-05-22 キャッシュ装置

Publications (1)

Publication Number Publication Date
JPH04344957A true JPH04344957A (ja) 1992-12-01

Family

ID=15417959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3146893A Pending JPH04344957A (ja) 1991-05-22 1991-05-22 キャッシュ装置

Country Status (1)

Country Link
JP (1) JPH04344957A (ja)

Similar Documents

Publication Publication Date Title
US6526474B1 (en) Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US5097414A (en) Buffer-storage control system for simultaneously accessible partitions of tag and data blocks of buffer storage
US5809274A (en) Purge control for ON-chip cache memory
JP3593346B2 (ja) マルチポートメモリ及びそれをアクセスするデータ処理装置
JPH04217051A (ja) マイクロプロセッサ
US4618926A (en) Buffer storage control system
JP2561261B2 (ja) バッファ記憶アクセス方法
US5201058A (en) Control system for transferring vector data without waiting for transfer end of the previous vector data
US20020103979A1 (en) Pointer register device and method for updating a pointer value
JPH04241051A (ja) キャッシュ装置
JPH05233560A (ja) 多重プロセッサ回路用プロセッサ間連絡システムおよびその方法
JP2003196156A (ja) 情報処理装置および情報処理方法
JPH04145552A (ja) キャッシュ記憶装置
JP2591928B2 (ja) キャッシュ記憶回路
JP3245488B2 (ja) リストベクトル処理装置
JP2853736B2 (ja) クラスタ番号変換回路
JP2864548B2 (ja) 命令キャッシュ装置
JP2684752B2 (ja) 拡張記憶制御方式
JPH0696112A (ja) ベクトルデータ処理回路
JPH0293841A (ja) メモリ制御方式
JPS622317A (ja) 多値比較一致検出回路
JPH03122739A (ja) キャッシュメモリ
JPH0439099B2 (ja)
JPH06149675A (ja) キャッシュメモリ装置
JPH1031618A (ja) データ変換方式