JPH0789341B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0789341B2
JPH0789341B2 JP63056641A JP5664188A JPH0789341B2 JP H0789341 B2 JPH0789341 B2 JP H0789341B2 JP 63056641 A JP63056641 A JP 63056641A JP 5664188 A JP5664188 A JP 5664188A JP H0789341 B2 JPH0789341 B2 JP H0789341B2
Authority
JP
Japan
Prior art keywords
data
cache memory
memory
central processing
data cache
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
JP63056641A
Other languages
English (en)
Other versions
JPH01230153A (ja
Inventor
優 宇屋
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP63056641A priority Critical patent/JPH0789341B2/ja
Publication of JPH01230153A publication Critical patent/JPH01230153A/ja
Publication of JPH0789341B2 publication Critical patent/JPH0789341B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、CPU(中央処理装置)とキャッシュを基本構
成としたデータ処理装置に関し、特に処理する対象とな
るデータがアドレスに対して連続的に記憶され、ほぼシ
ーケンシャルに処理を進められる場合に高い効果を発揮
するデータ処理装置に関する。
従来の技術 処理する対象となるデータがそのアドレスに対して連続
的にメモリされているような、例えば、コンピュータの
動作解析をするために獲ったコンピュータのバス信号の
記録データ(これは、しばしばトレーサのデータとして
アクィジションされる)等を処理するコンピュータを考
える。このデータは通常メイン・メモリ(主記憶装置)
上に配置され、CPU(中央処理装置)に逐次読み取られ
て処理される。このとき、処理スピードを高めるために
CPUとメイン・メモリとの間にキャッシュを配置するこ
とが常套的に成される。しかしながら、この構成の場
合、データに対する処理がほぼシーケンシャルで局所性
が殆んど無いため、キャッシュのヒット・レートが驚く
程低く押さえられてしまい、キャッシュの効果が無くな
ってしまう。
次に、ほぼシーケンシャルなデータ処理に着目して、キ
ャッシュをAとBの同サイズの2つのブロックに分割
し、主記憶からの処理対象のデータを言わゆる「ダブル
・バッファ」の手法で転送して、処理効率を上げる方法
が考えられる。即ち、ブロックAの内容をCPUが処理し
ている間に、ブロックBに主記憶からデータをロード
し、処理がAからBに移ったとき、ブロックAに対して
次のデータを(主記憶から)ロードするようにして、絶
え間なく、キャッシュにデータを供給するものである。
この方式は、一見うまく行くように見えるけれども、大
きな難点がある。というのは、処理対象のデータは、シ
ーケンシャルに主記憶にメモリされているけれども、処
理そのものは、約±100番地程度以内の範囲で、前後に
アクセスを往復して実行されるもの(例えば、コンピュ
ータのバネ信号の「意味」を解析して行く場合など、こ
れに当る)であるため、処理が一旦AからBに移った
後、再びAにあったデータをアクセスする必要が生じた
とき、ダブル・バッファ機構の働きで、ブロックAの中
味はブロックBの次のデータがロードされてしまってい
るか、その途中なので、これをアボート(捨てる)し
て、再びブロックAに元あったデータを再ロードしてく
る必要がある。つまり、処理の推移がAからB、Bから
Aへとその境界を越えるとき、アクセスが前後に振れる
ため、ダブル・バッファ機能が壊滅的な打撃を受けるこ
とになり、処理効率が極めて悪くなることになる。
発明が解決しようとする課題 本発明は、上記の如き、ほぼシーケンシャルな処理を行
なう場合の従来のキャッシュ部の非効率的な手法・構成
を改良して、無駄の無い効率的なキャッシュ構成を有し
たデータ処理装置を提供するものである。
課題を解決するための手段 本発明は、中央処理装置と、主記憶装置と、上記中央処
理装置と上記主記憶装置との間に介在して設けられ、命
令キャッシュ・メモリと上記命令キャッシュ・メモリを
管理・制御する命令キャッシュ・コントローラとから成
る命令キャッシュ・ユニットと、上記中央処理装置と上
記主記憶装置との間に介在し、上記命令キャッシュ・ユ
ニットとは独立して設けられ、互いに独立にアクセス可
能な第1,第2,第3のデータ・キャッシュ・メモリと上記
第1,第2,第3のデータ・キャッシュ・メモリを管理・制
御するデータ・キャッシュ・コントローラとから成るデ
ータ・キャッシュ・ユニットとを具備し、上記中央処理
装置は上記命令キャッシュ・メモリにキャッシュされて
いる命令を読み込んで、解読,実行すると共に、上記第
1,第2,第3のデータ・キャッシュ・メモリにキャッシュ
されているデータをアクセスして処理を行ない、上記中
央処理装置が上記第1のデータ・キャッシュ・メモリ中
のデータをアクセスし処理している期間に、上記データ
・キャッシュ・コントローラは、上記第2のデータ・キ
ャッシュ・メモリの内容が上記中央処理装置によって書
き換えられてしまっている場合にのみ、該書き換えられ
てしまった内容を上記主記憶装置に書き戻し、しかる後
に、上記第2のデータ・キャッシュ・メモリにロードし
てあるデータの次のデータを上記主記憶装置から読み出
してロードし、上記中央処理装置が上記第2のデータ・
キャッシュ・メモリ中のデータをアクセスし処理してい
る期間に、上記データ・キャッシュ・コントローラは、
上記第3のデータ・キャッシュ・メモリの内容が上記中
央処理装置によって書き換えられてしまっている場合に
のみ、該書き換えられてしまった内容を上記主記憶装置
に書き戻し、しかる後に、上記第3のデータ・キャッシ
ュ・メモリに、上記第2のデータ・キャッシュ・メモリ
にロードしてあるデータの次のデータを上記主記憶装置
から読み出してロードし、上記中央処置装置が上記第3
のデータ・キャッシュ・メモリ中のデータをアクセスし
処理している期間に、上記データ・キャッシュ・コント
ローラは、上記第1のデータ・キャッシュ・メモリの内
容が上記中央処理装置によって書き換えられてしまって
いる場合にのみ、該書き換えられてしまった内容を上記
主記憶装置に書き戻し、しかる後に、上記第1のデータ
・キャッシュ・メモリに、上記第3のデータ・キャッシ
ュ・メモリにロードしてあるデータの次のデータを上記
主記憶装置から読み出してロードすることにより、上記
課題を解決するものである。
作用 本発明によるデータ処理装置のキャッシュには、第1,第
2,第3のメモリがあり、処理が第1のメモリにある間に
第2のメモリに次のデータをロードしておき、処理が第
1から第2のメモリに移ったときに、第3のメモリに次
のデータをロードしてくるという手順で順次処理を進め
る。このとき、処理が第1から第2へ移った後でも、第
1のメモリの内容がそのまま保存されているため、再び
自由に第1のメモリにアクセス可能であり、何度でも、
第1から第2,第2から第3,第3から第1のメモリ境界を
またいで往復でき、処理がほぼシーケンシャルなデータ
の処理を全く無駄無く高効率で実現することができる。
実施例 第1図に、本発明の一実施例を示す。2は中央処理装置
(以下、CPUと呼ぶ)であり、簡単には、32ビット・マ
イクロプロセッサ等で実現されるもので、公知のもので
ある。DPはCPUにつながるデータ信号線、A/CPは同じく
アドレス・制御信号線であり、gはCPUのWAIT入力に接
続されるウェイト信号線である。3は主記憶装置(メイ
ン・メモリと呼ぶ)であり、5は他のモジュール(例え
ばI/Oボード,ディスク・コントローラ等,図示せず)
にも接続されているバスである。4はCPU2とメイン・メ
モリ3との間に配置された命令キャッシュ・ユニットで
あり、命令キャッシュ・メモリ41とこれを制御する命令
キャッシュ・コントローラ42とから成る。1はデータ・
キャッシュ・ユニットであり、互いに独立にアクセス可
能な第1,第2,第3のデータ・キャッシュ・メモリと双方
向のデータ・セレクタ15,16,17と、これらを制御するデ
ータ・キャッシュ・コントローラ14から成る。a,b,cは
それぞれデータ・セレクタ15,16,17の切り替え制御をす
る制御信号、f,e,dはそれぞれ第1,第2,第3のデータ・
キャッシュ・メモリ11,12,13のアクセス・タイミングを
コントロールする制御線であり、D1,D2,D3はそれぞれ第
1,第2,第3のデータ・キャッシュ・メモリに接続された
データ信号線であり、A/C1,A/C2,A/C3は同じく第1,第2,
第3のデータ・キャッシュ・メモリに接続されたアドレ
ス・制御信号線である。6,7は共にバス・インターフェ
イス回路であり、i,hはそれぞれ6,7の制御信号線であ
る。
Dm,A/Cmは、メイン・メモリ3中のデータをアクセスす
るとき用いられるデータ信号線,アドレス・制御信号線
である。
次に、第1図の実施例の動作について説明する。
メイン・メモリ3には、CPU2が実行すべき命令と処理す
べき連続したデータが記憶されている。命令は、命令キ
ャッシュ・コントローラ42の制御により、命令キャッシ
ュ・メモリにキャッシュされ、逐次CPU2に読み出されて
解読,実行される。
一方、データも、メイン・メモリ3からデータ・キャッ
シュ・ユニット1にキャッシュされ、順次CPU2に読み出
されて処理される訳であるが、動作の理解を容易にする
ために、データ・キャッシュ・ユニット1の状態を第2
図A〜Dに示す。先ず、最初のデータのアドレスがA/CP
に乗せられ、データ・キャッシュ・コントローラ14に入
力されるが、全く初めてなので、データ・キャッシュ・
メモリ11〜13に何のデータも入っていない。このとき、
データ・キャッシュ・コントローラ14はウェイト信号g
をCPU2に対して発し、同時に、第1のデータ・キャッシ
ュ・メモリ11に対して、メイン・メモリ3から、バス5,
バス・インターフェイス7,データ・セレクタ15を介して
最初のデータがバースト転送でロードされる。このとき
のデータ・セレクタ15の切り替えの状態は、第2図Cに
おける15の如くD1とDm,A/C1とA/Cmが接続されたもので
ある。第1のデータ・キャッシュ・メモリ11にロード完
了後、データ・セレクタ15の切り替えをCPU2側に戻し
(D1=DP,A/C1=A/CP)、ウェイト信号gを解除する。C
PU2は第1のデータ・キャッシュ・メモリ11にロードさ
れた最初のブロックのデータをアクセスし、処理を開始
する。このアクセス開始をきっかけに、データ・キャッ
シュ・コントローラ14は、データ・セレクタ16をメイン
・メモリ3側にセット(D2=Dm,A/C2=A/Cm)して、先
程、ロードした最初のブロックのデータの次のデータを
メイン・メモリ3からバースト転送で、第2のデータ・
キャッシュ・メモリ12にロードする。このときの状態を
示したのが、第2図Aである。第2図では、CPU2が現時
点でアクセスしているか又はアクセスし得るデータ・キ
ャッシュ・メモリを「斜線」で、メイン・メモリ3か
ら、次のブロックのデータをバースト転送している最中
か、完了済のものを「点々」で、それぞれ塗ることで表
現している。
さて、CPU2がデータ・キャッシュ・メモリ11のデータ
(最初のブロック)を順次処理し、次のブロックのデー
タをアクセスしようとして、A/CPにアドレスを載せる
と、これは、第2のデータ・キャッシュ・メモリ12に既
にロードしてあるため、待ち時間なしで、12から所望の
データをアクセスできる。データ・キャッシュ・コント
ローラ14はアクセスが11から12に移ったことをA/CP信号
を通じて知ると直ちに、メイン・メモリから第3番目の
ブロックのデータを13に対して、バースト転送でロード
する。この状態を示すのが、第2図Bである。なお、第
2図のA〜Dにおける「点々」で塗ってあるデータ・キ
ャッシュ・メモリに対応するデータ・セレクタの切り替
えの方向はデータをメイン・メモリ3から転送中のもの
であって、この転送が完了するや否や、CPU2側に倒され
る。例えば、第2図Bの場合では、現在データ・セレク
タ17はメイン・メモリ3側に倒れ、D3=Dm,A/C3=A/Cm
であるが、ロード完了直後は、CPU2側に倒され、D3=
DP,A/C3=A/Cpとなって、アクセスされるのを待ち受け
る。
次に、CPU2のアクセスが、12から13に移った直後の姿が
第2図Cであり、第4番目のブロックのデータが、メイ
ン・メモリ3から11にロードされている。
さらに、処理が進んで、アクセスが13(第3番目のブロ
ック)を越え、11(第4番目のブロック)渡ったときの
状態が同図Dである。第5番目のブロックのデータを12
にロードしている。この後は、D→B→C→D→B→…
…と処理が完了する迄、繰り返し循環される。という訳
で、処理すべきデータが、データ・キャッシュ・ユニッ
トの中に先取り(プリフェッチ)してロードされるた
め、キャッシュのヒット・レートは極めて高い(原理的
には100%と言える)。なおかつ、CPU2は、キャッシュ
のアクセス速度で処理できる。
さて、ここで対象にしている処理は、「ほぼ」シーケン
シャルな処理となる点に再度着目する。これは、例え
ば、1000番地の次に、1001番地→1002→1003と順にアク
セスし、途中で1004→987→988→989→……→1020→102
1→1003→1004→……というふうに、約±100番地程度以
内の範囲で、前後にアクセスが往復するようなデータ処
理を言う。
本発明は、この様なアクセスが前後に往復するようなデ
ータ処理のときにでも何ら支障無く、実行できる様にな
っている。即ち、第2図Bの場合を例にとれば、このと
きには、処理は11からこれを越えて、12の領域に移った
直後の様子であるが、上述の如き「アクセスが前後に往
復するデータ処理の場合、12の領域から後退し、再び11
の領域をアクセス、さらに再び、11から12へ移るといっ
た、メモリ境界のまわりでウロウロすることは容易に起
こり得ることである。このときB図のデータ・キャッシ
ュ・メモリ11と12の両方がCPU2からアクセス可能になっ
ている。つまるところ、「すでに(ほぼ)処理済」のデ
ータを、意図的に11に残しているため、データ・キャッ
シュ・メモリのサイズ範囲内で前後に往復するアクセス
に対して、全く無駄な再ロードのための時間を発生させ
ること無く、途切れの無いデータ処理を実行することが
できるのである。
なお、第1図の実施例では、CPU2が命令を実行するため
のワーキング(作業)用メモリや、バッファ・メモリ
は、本発明に直接関係無いため図示していない。また、
CPU2の図示してある以外の信号、バス5に接続されてし
かるべきI/Oボード(ネットワーク,シリアル通信,SCS
I,拡張用標準バス等の機能を有する)、ディスク・コン
トローラなども同様に開示していない。
発明の効果 以上、説明したように、本発明によれば、ほぼシーケン
シャルなデータ処理を、実行を途中で無駄に途切れさせ
ること無く、キャッシュ・アクセス速度で、かつ最高効
率で実行することの可能な、極めて価値の高いデータ処
理装置を得ることができるものである。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図の実施例の動作を説明するための動作説明図であ
る。 1……データ・キャッシュ・ユニット、2……CPU(中
央処理装置)、3……メイン・メモリ(主記憶装置)、
4……命令キャッシュ・ユニット、5……バス、11……
第1のデータ・キャッシュ・メモリ、12……第2のデー
タ・キャッシュ・メモリ、13……第3のデータ・キャッ
シュ・メモリ、14……データ・キャッシュ・コントロー
ラ、15,16,17……データ・セレクタ、41……命令キャッ
シュ・メモリ、42……命令キャッシュ・コントローラ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】中央処理装置と、主記憶装置と、上記中央
    処理装置と上記主記憶装置との間に介在して設けられ、
    命令キャッシュ・メモリと上記命令キャッシュ・メモリ
    を管理・制御する命令キャッシュ・コントローラとから
    成る命令キャッシュ・ユニットと、上記中央処理装置と
    上記主記憶装置との間に介在し、上記命令キャッシュ・
    ユニットとは独立して設けられ、互いに独立にアクセス
    可能な第1,第2,第3のデータ・キャッシュ・メモリと上
    記第1,第2,第3のデータ・キャッシュ・メモリを管理・
    制御するデータ・キャッシュ・コントローラとから成る
    データ・キャッシュ・ユニットとを具備し、上記中央処
    理装置は上記命令キャッシュ・メモリにキャッシュされ
    ている命令を読み込んで、解読,実行すると共に、上記
    第1,第2,第3のデータ・キャッシュ・メモリにキャッシ
    ュされているデータをアクセスして処理を行ない、上記
    中央処理装置が上記第1のデータ・キャッシュ・メモリ
    中のデータをアクセスし処理している期間に、上記デー
    タ・キャッシュ・コントローラは、上記第2のデータ・
    キャッシュ・メモリの内容が上記中央処理装置によって
    書き換えられてしまっている場合にのみ、該書き換えら
    れてしまった内容を上記主記憶装置に書き戻し、しかる
    後に、上記第2のデータ・キャッシュ・メモリに、上記
    第1のデータ・キャッシュ・メモリにロードしてあるデ
    ータの次のデータを上記主記憶装置から読み出してロー
    ドし、上記中央処理装置が上記第2のデータ・キャッシ
    ュ・メモリ中のデータをアクセスし処理している期間
    に、上記データ・キャッシュ・コントローラは、上記第
    3のデータ・キャッシュ・メモリの内容が上記中央処理
    装置によって書き換えられてしまっている場合にのみ、
    該書き換えられてしまった内容を上記主記憶装置に書き
    戻し、しかる後に、上記第3のデータ・キャッシュ・メ
    モリに、上記第2のデータ・キャッシュ・メモリにロー
    ドしてあるデータの次のデータを上記主記憶装置から読
    み出してロードし、上記中央処理装置が上記第3のデー
    タ・キャッシュ・メモリ中のデータをアクセスし処理し
    ている期間に、上記データ・キャッシュ・コントローラ
    は、上記第1のデータ・キャッシュ・メモリの内容が上
    記中央処理装置によって書き換えられてしまっている場
    合にのみ、該書き換えられてしまった内容を上記主記憶
    装置に書き戻し、しかる後に、上記第1のデータ・キャ
    ッシュ・メモリに、上記第3のデータ・キャッシュ・メ
    モリにロードしてあるデータの次のデータを上記主記憶
    装置から読み出してロードすることを特徴とするデータ
    処理装置。
JP63056641A 1988-03-10 1988-03-10 データ処理装置 Expired - Lifetime JPH0789341B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63056641A JPH0789341B2 (ja) 1988-03-10 1988-03-10 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63056641A JPH0789341B2 (ja) 1988-03-10 1988-03-10 データ処理装置

Publications (2)

Publication Number Publication Date
JPH01230153A JPH01230153A (ja) 1989-09-13
JPH0789341B2 true JPH0789341B2 (ja) 1995-09-27

Family

ID=13032965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63056641A Expired - Lifetime JPH0789341B2 (ja) 1988-03-10 1988-03-10 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0789341B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239669B2 (ja) 1995-02-20 2001-12-17 株式会社日立製作所 記憶制御装置及びその制御方法
JPH11259360A (ja) * 1998-03-09 1999-09-24 Seiko Epson Corp 半導体集積装置及び不揮発性メモリ書き込み方式
US7389384B2 (en) * 2002-04-30 2008-06-17 Dsp Group Switzerland Ag Apparatus and method for fetching data from memory
JP4451717B2 (ja) 2004-05-31 2010-04-14 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JPH01230153A (ja) 1989-09-13

Similar Documents

Publication Publication Date Title
JP2003504757A (ja) 外部メモリアクセス用バッファリングシステムバス
JP2002535777A (ja) 高速プロセッサシステム、これを使用する方法及び記録媒体
KR0175983B1 (ko) 데이타 처리 시스템
JPH02205963A (ja) 読取中断処理
JPH0789341B2 (ja) データ処理装置
JPH01159746A (ja) ディスクキャッシュ制御方式
WO2001046793A9 (en) Reading data from a storage medium
JPS6331806B2 (ja)
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JP2554761B2 (ja) データ転送パス制御方式
JP2964504B2 (ja) 文書処理装置
JP2914695B2 (ja) キャッシュ制御装置
JP2994917B2 (ja) 記憶システム
JPH05127990A (ja) キヤツシユデータ転送方式
JP2002259209A (ja) 演算処理システム
JPH036642A (ja) キャッシュメモリ制御方法
KR20000005448U (ko) 프로세서 이중화 시스템
JPH0216651A (ja) ディスクキャッシュ制御方式
JP2000235516A (ja) 演算機能付きメモリシステム及びそれに用いるメモリ制御方法並びにその制御プログラムを記録した記録媒体
JPH0415490B2 (ja)
JPS63106849A (ja) キヤツシユメモリの制御方法
JPS61147337A (ja) マイクロプログラム制御方式
JPH0250238A (ja) キャッシュメモリ付データ処理装置
JPS59212957A (ja) マイクロプログラム制御装置
JPH0221323A (ja) データ転送方法