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

データ処理装置

Info

Publication number
JPH01230153A
JPH01230153A JP63056641A JP5664188A JPH01230153A JP H01230153 A JPH01230153 A JP H01230153A JP 63056641 A JP63056641 A JP 63056641A JP 5664188 A JP5664188 A JP 5664188A JP H01230153 A JPH01230153 A JP H01230153A
Authority
JP
Japan
Prior art keywords
data
memory
data cache
cache memory
central processing
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
Application number
JP63056641A
Other languages
English (en)
Other versions
JPH0789341B2 (ja
Inventor
Masaru Uya
宇屋 優
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

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

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

Claims (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 true JPH01230153A (ja) 1989-09-13
JPH0789341B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259360A (ja) * 1998-03-09 1999-09-24 Seiko Epson Corp 半導体集積装置及び不揮発性メモリ書き込み方式
US6434666B1 (en) 1995-02-20 2002-08-13 Hitachi, Ltd. Memory control apparatus and method for storing data in a selected cache memory based on whether a group or slot number is odd or even
JP2005524170A (ja) * 2002-04-30 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法
US7644234B2 (en) 2004-05-31 2010-01-05 Sony Computer Entertainment Inc. Information processing apparatus with a cache memory and information processing method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434666B1 (en) 1995-02-20 2002-08-13 Hitachi, Ltd. Memory control apparatus and method for storing data in a selected cache memory based on whether a group or slot number is odd or even
US6611899B2 (en) 1995-02-20 2003-08-26 Hitachi, Ltd. Memory control apparatus and method for storing data in a selected cache memory
JPH11259360A (ja) * 1998-03-09 1999-09-24 Seiko Epson Corp 半導体集積装置及び不揮発性メモリ書き込み方式
JP2005524170A (ja) * 2002-04-30 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法
US7644234B2 (en) 2004-05-31 2010-01-05 Sony Computer Entertainment Inc. Information processing apparatus with a cache memory and information processing method

Also Published As

Publication number Publication date
JPH0789341B2 (ja) 1995-09-27

Similar Documents

Publication Publication Date Title
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
US5870625A (en) Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
CA1259140A (en) Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
EP0568231B1 (en) Methods and apparatus for providing multiple outstanding operations in a cache consistent multiple processor computer system
US5893153A (en) Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
JPH02253470A (ja) 情報処理装置
EP0535793A2 (en) Method for managing data transfers in a computing system having a dual bus structure
KR0175983B1 (ko) 데이타 처리 시스템
JP2523814B2 (ja) ム―ブアウト・システム
JPH01230153A (ja) データ処理装置
EP0346917A2 (en) Bus stealing method for concurrent CPU and I/O processing
JPH0238968B2 (ja)
JP3038257B2 (ja) 電子計算機
JPH11143777A (ja) キャッシュメモリ装置
JPH02178750A (ja) アドレス変換処理方式
JPH03127204A (ja) プログラマブルコントローラと入出力装置の間の通信方法
JPH036642A (ja) キャッシュメモリ制御方法
JPH0322151A (ja) データベース処理装置
JPH10247182A (ja) マルチプロセッサシステム
JPH02226447A (ja) コンピユータ・システムおよびその記憶装置アクセス方法
JPH0285943A (ja) データ処理装置
JPS63300340A (ja) マイクロプロセッサ処理装置
JPH02285585A (ja) メモリ制御方式
JPS63180171A (ja) 情報処理装置
JPH03156604A (ja) プログラマブルコントローラ