JPH03268041A - キャッシュ操作明示化コンピュータ - Google Patents

キャッシュ操作明示化コンピュータ

Info

Publication number
JPH03268041A
JPH03268041A JP2067694A JP6769490A JPH03268041A JP H03268041 A JPH03268041 A JP H03268041A JP 2067694 A JP2067694 A JP 2067694A JP 6769490 A JP6769490 A JP 6769490A JP H03268041 A JPH03268041 A JP H03268041A
Authority
JP
Japan
Prior art keywords
cache
program
memory
computer
processor
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
JP2067694A
Other languages
English (en)
Inventor
Masahiro Sowa
将容 曽和
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.)
Japan Science and Technology Agency
Original Assignee
Research Development Corp of Japan
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 Research Development Corp of Japan filed Critical Research Development Corp of Japan
Priority to JP2067694A priority Critical patent/JPH03268041A/ja
Publication of JPH03268041A publication Critical patent/JPH03268041A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、キャッシュメモリを内蔵するノイマン型コン
ピュータに関する。
(従来の技術) 現在用いられているコンピュータは、特殊なものを除い
てノイマン型コンピュータである。このコンビエータは
、ノイマン(Von Neumann)によって開発さ
れた原理を基本原理とし2でいる。最近ではコンピュー
タの応用範囲が広がるにつれて、益々高性能なコンピュ
ータが要求されるようになってきている。ノイマンコン
ピュータは基本的に中央演算装置(cpU)と主メモリ
(M)からなっていると考えられ、これらが協力し合っ
て初めてコンピュータとしての働きをする。メモリの価
格は、その動作速度が速ければ速いほど高いので、大容
量を必要とする主メモリには、比較的遅いメモリが使わ
れている。一般には主メモリの動作速度は、CPUの動
作速度に比べて4から20倍位遅い、従って、この主メ
モリの動作速度の遅さが、コンピュータの性能を決めて
しまっていた。この欠点をカバーするために、主メモリ
とCPU0間に、比較的高速で小容量のメモリを挿入し
、このメモリに主メモリの内容の一部をコピーすること
によって、CPUと主メモリ間の速度差を解決しよ・う
とする試みがなされてきた。この高速小容量のメモリが
キャッシュメモリと呼ばれるものである。
キャッシュメモリを内蔵したコンピュータは次のように
動作する0例えば、データに関するキャッシュシステム
では、CPUはキャッシュメモリのデータにアクセスし
、キャッシュメモリにデータが存在すればそれを読み出
してきて計算を行う。
存在しなければ、そこで計算を中断して、希望するデー
タが主メモリからキャッシュメモリへ転送されてくるの
を待つ、キャッシュメモリに希望するデータが転送され
たならば、中断していた計算を再び始める。
(発明が解決しようとする課題) このように、CPUがキャッシュメモリへデータを取り
に行った時、希望するデータがキャッシュメモリの中に
無いことをキャッシュミスと呼んでいる。キャッシュミ
スが発生しない場合には、CPUはキャッシュメモリの
速度で高速に計算を実行できるが、キャッシュミスが起
こるζ希望するデータが、キャッシュメモリに転送され
てくるまで待たなくてはならないので、コンピュータ全
体としての処理性能を大きく落とすことになる。
これが従来のキャッシュシステムの大きな問題点であっ
た。また、命令に関するキャッシュシステムでも同様な
ことが起こる。
本発明は、上記問題点を除去するために、キャッシュ操
作をプログラムの中に埋め込み、明示化することによっ
てキャッシュミスをなりシ、コンピュータの処理性能の
向上を図り得るキャッシュ操作明示化コンピュータを提
供することを目的とする。
(課題を解決するための手段) 本発明は、上記目的を達成するために、キャッシュメモ
リを内蔵するノイマン型コンピュータにおいて、キャッ
シュ操作プログラムと、該プログラムを実行するキャッ
シュメモリ操作プロセッサとを設け、該キャッシュメモ
リ操作プロセッサで前記キャッシュ操作プログラムを実
行し、キャッシュメモリ上の命令やデータの主メモリへ
の転送、それらの主メモリからキャッシュメモリへの転
送を行い、キャッシュメモリ操作を明示的に行うように
したものである。
(作用) 本発明によれば、上記のように、キャッシュ操作を行う
プログラムを作成し、そのプログラムを実行するプロセ
ッサを、従来のコンピュータに付は加え、プログラムの
実行によって、キャッシュメモリ上に常に必要なデータ
や命令が存在するように制御することができる。従って
、今までキャッシュシステムで問題となっていたキャッ
シュミスを原則としてなくすことができるので、CPU
はキャッシュミスでデータがキャッシュメモリに転送さ
れるのを待つ必要はない。
従って、コンピュータの処理性能の向上を図ることがで
きる。
(実施例) 以下、本発明の実施例について図面を参照しながら詳細
に説明する。
第1図は本発明の実施例を示す命令キャッシュ操作明示
化コンピュータのハードウェアの構成図である。
一般のコンピュータは、基本的にCPU (処理プロセ
ッサという)と、キャッシュメモリと、主メモリよりな
っている。本発明においては、第1図に示すように、処
理プロセッサ(CPU)1と、キャッシュメモリ(CH
M)2と、キャッシュ操作プロセッサ(CHP)3と、
主メモリ(M)6を具備している。そして、主メモリ6
内には処理プログラム7に加えて、キャッシュ操作を行
うためのキャッシュ操作プログラム8を格納する。キャ
ッシュ操作プロセンサ3は、キャッシュ操作ユニット(
CHU)4と転送ユニット(TU)5よりなっている。
キャッシュ操作ユニット4は、主メモリ6からキャッシ
ュ操作プログラム8の命令を取り出して解釈し、その実
行を転送ユニット5に指示する。この転送ユニット5は
、この指示をうけて、処理プログラム7をキャッシュメ
モリ2に転送したり、または、その逆の転送を行う。
第2図に示される高級言語で書かれたプログラムを実行
する場合を例にして、本発明の詳細な説明する。
このプログラムは、プログラムの本体をi=1からlO
まで1づつ増やしながら10回繰り返すプログラムであ
る。本体内には、条件によって実行内容を変える“条件
分岐”が含まれている。ここでは、dが50より大きい
時には、eと「を計算し、小さい時にはgとhを計算し
ている。
第3図はこのプログラムをキャッシュ操作明示化コンピ
ュータ用にコンパイラで翻訳したものである。
この図に示すように、本発明のプログラムは、2種類の
プログラムからなる。その一つは、第3図(a)の処理
プログラムであり、これは、従来のコンピュータのプロ
グラムに相当し、普通の計算を行うプログラム(処理プ
ログラム)である。このプログラムを実行するプロセッ
サが処理プロセンサ1である。第3図(b)は、本発明
に係るキャッシュ操作を行うキャッシュ操作プログラム
である。このプログラムはキャッシュ操作プロセッサ3
で実行される。
ここで、キャッシュメモリ2は、4ワードの大きさを持
ったメモリ2個を内蔵しているとする。
これはキャッシュメモリブロックと呼ばれる。第3図(
a)の処理プログラムは、キャッシュメモリブロックの
大きさの単位ごとに転送されるので、キャッシュブロッ
クの大きさに合わせて4ワードづつに区切られている。
区切られたプログラム部分は、プログラムブロックと呼
ばれる。
3図(a)の処理プログラムの中の例えば、mul、+
   1.RO,R1 は、ROのレジスタの内容に1を乗じ、その結果をR1
のレジスタに入れることを表している。また、mulの
後につくiのように命令部の後につく記号は後置タグと
呼ばれており、このiはこの命令実行後、キャッシュ操
作プロセッサに信号(トークンと呼ばれる)を送ること
を意味している。
第3図(b)のキャンシュ操作プログラムの中のp、L
MC,p  $09,1 は、処理プログラムの09番地からの4個の命令をキャ
ッシュメモリの1ブロツクに転送することを表している
p、LMC,p”の最初のpは前置タグと呼ばれ、処理
プロセッサから信号(トークン)を受は取ってから、L
MCの命令の実行を始めることを表しており、2番目の
pは、命令実行後処理プロセッサに信号(トークン)を
送ることを表している。
以下、本発明のキャッシュ操作明示化コンビ−1−タの
動作について説明する。
第3図に示されるプログラムは第4図のように実行され
る。
まず、キャッジ1操作命令が実行される(ステップ■)
と、処理プログラムの4個の命令がキャッシュメモリの
ブロックIに格納される(ステ。
プ■)。この後、キャッジ1プロセツサが処理プロセッ
サの方にトークンを送る。このトークンを受は取った処
理プロセッサは、ステップ■の命令を実行し始める。一
方、キャッシュ操作プロセッサは、ステップ■の命令を
実行し、その後、ステップ■の命令を実行する。ステッ
プ■の命令を実行すると、キャッシュメモリ2のブロッ
クHにステップ■のプログラムが主メモリから転送され
る。
次に、キャッシュ操作プロセッサは、ステップ■の命令
を実行しようとするが、命令に前置タグがついているの
で、処理プロセッサからトークンが送られてくるまでそ
の実行を待つ。処理プロセッサからのトークンは、ステ
ップ■の命令を処理ブロセソサが全て実行し終わった時
に出される。処理プロセッサからのトークンの送出は、
キャッシュメモリのブロックlに入っている■のプログ
ラムブロックを使用し終わったので、このキャッシュメ
モリブロックに新しいプログラムブロックを入れてもよ
いということを表している。処理プロセッサからのトー
クンを受は取ったキャッシュ操作プロセッサは、ステッ
プ■のプログラムブロックをキャッシュメモリのブロッ
クIに転送する。
次に、ステップ■の命令を実行しようとするが、この命
令は、前置タグを持っているので、処理プロ・センサが
ステップ■のプログラムの実行を終わり、トークンを送
るまでその実行を中止する。
処理プロセッサは、例えば、ステップ■の最後の命令を
実行したとき、その命令に後置タグがつけられているの
で、命令の実行後キャッシュ操作プロセッサにトークン
を送る。
以上のようなことが繰り返されて、プログラムの実行が
進行する。なお、ステップ■の点線は、ROレジスタの
内容と10を比べ、その大小を表すコンデイションコー
ドと呼ばれるコードを送ることを意味しており、このコ
ンデイションコードを受は取って、ステップ■の命令は
次にステップ■の命令を実行するか、ステップ■の命令
を実行するかを決定する。
なお、上記実施例では命令キヤ・ンシュ操作の場合を例
に挙げたが、データキャッシュ操作の場合も同様に実現
することができる。
また、本発明は、コンピュータが使われているすべての
分野で利用される。高速なコンピュータが必要とされる
リアルタイム処理、グラフィック処理、画像処理、AI
などでは特に有効である。
なお、本発明は上記実施例に限定されるものではなく、
本発明の趣旨に基づいて種々の変形が可能であり、これ
らを本発明の範囲から排除するものではない。
(発明の効果) 以上、詳細に説明したように、本発明によれば、次のよ
うな効果を奏することができる。
キャッシュメモリの内容であるステップ■、■。
■のようなプログラムブロックが、処理プロセッサによ
り、実行される前に必ずキャッシュメモリに存在するよ
うに、キャッシュ操作プログラムによって操作される。
従って、従来のコンピュータのキャンシヱシステムのよ
うに、キャッシュミスと呼ばれる゛必要な命令やデータ
がキャッシュメモリの中にない゛という現象を防止する
ことができる。
従って、コンピュータによるデータ処理速度を向上させ
ることができ、大幅なスルーブツトの向上を図ることが
できる。
【図面の簡単な説明】
第1図は本発明の実施例を示す命令キャッシュ操作明示
化コンピュータのハードウェアの構成図、第2図は高級
言語で書かれたプログラム例を示す図、第3図は明示化
キャッシュ操作用に翻訳されたアセンブリ言語によるプ
ログラム例を示す図、第4図はキャッシュ操作明示化プ
ログラムの実行過程を示す図である。 1・・・処理プロセッサ(CPLI)、2・・・キャッ
シュメモリ(C)(M)、3・・・キャッシュ操作プロ
セッサ(CHP)、4・・・キャッシュ操作ユニット(
CHU)、5・・・転送ユニット(TU)、6・・・主
メモリ(M)、7・・・処理プログラム、8・・・キャ
ッシュ操作プログラム。

Claims (4)

    【特許請求の範囲】
  1. (1)キャッシュメモリを内蔵するノイマン型コンピュ
    ータにおいて、 (a)キャッシュ操作プログラムと、 (b)該プログラムを実行するキャッシュメモリ操作プ
    ロセッサとを設け、 (c)該キャッシュメモリ操作プロセッサで前記キャッ
    シュ操作プログラムを実行し、キャッシュメモリ上の命
    令やデータの主メモリへの転送、それらの主メモリから
    キャッシュメモリへの転送を行い、キャッシュメモリ操
    作を明示的に行うようにしたことを特徴とするキャッシ
    ュ操作明示化コンピュータ。
  2. (2)前記キャッシュ操作が命令キャッシュ操作である
    請求項1記載のキャッシュ操作明示化コンピュータ。
  3. (3)前記キャッシュ操作がデータキャッシュ操作であ
    る請求項1記載のキャッシュ操作明示化コンピュータ。
  4. (4)前記キャッシュ操作が命令キャッシュ操作とデー
    タキャッシュ操作である請求項1記載のキャッシュ操作
    明示化コンピュータ。
JP2067694A 1990-03-17 1990-03-17 キャッシュ操作明示化コンピュータ Pending JPH03268041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2067694A JPH03268041A (ja) 1990-03-17 1990-03-17 キャッシュ操作明示化コンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2067694A JPH03268041A (ja) 1990-03-17 1990-03-17 キャッシュ操作明示化コンピュータ

Publications (1)

Publication Number Publication Date
JPH03268041A true JPH03268041A (ja) 1991-11-28

Family

ID=13352328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2067694A Pending JPH03268041A (ja) 1990-03-17 1990-03-17 キャッシュ操作明示化コンピュータ

Country Status (1)

Country Link
JP (1) JPH03268041A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251321A (ja) * 2001-02-21 2002-09-06 Handotai Rikougaku Kenkyu Center:Kk キャッシュメモリシステム装置
JP2007510989A (ja) * 2003-11-06 2007-04-26 インテル・コーポレーション 動的キャッシングエンジン命令
JP2010182220A (ja) * 2009-02-09 2010-08-19 Toyota Motor Corp 半導体集積回路
JP2011141743A (ja) * 2010-01-07 2011-07-21 Nec Corp マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251321A (ja) * 2001-02-21 2002-09-06 Handotai Rikougaku Kenkyu Center:Kk キャッシュメモリシステム装置
JP2007510989A (ja) * 2003-11-06 2007-04-26 インテル・コーポレーション 動的キャッシングエンジン命令
JP2010182220A (ja) * 2009-02-09 2010-08-19 Toyota Motor Corp 半導体集積回路
JP2011141743A (ja) * 2010-01-07 2011-07-21 Nec Corp マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法

Similar Documents

Publication Publication Date Title
JP2565648B2 (ja) 変換索引バッファのコヒーレンス維持方法及びシステム
US7590774B2 (en) Method and system for efficient context swapping
JP3330378B2 (ja) リアルタイムプログラム言語アクセラレータ
US5923892A (en) Host processor and coprocessor arrangement for processing platform-independent code
EP1353267B1 (en) Microprocessor with repeat prefetch instruction
CN1127687C (zh) 带外部协处理器可访问的上下文切换寄存器组的risc处理器
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US20060179277A1 (en) System and method for instruction line buffer holding a branch target buffer
JPH08314733A (ja) 2つのエンディアンをサポートするコンピュータシステム及び方法
JPH03201130A (ja) データ処理システム
WO1993002414A2 (en) Data processing system with synchronization coprocessor for multiple threads
KR100570138B1 (ko) 복수의 프로세서들에 소프트웨어를 로딩하는 시스템 및 방법
JPS63150731A (ja) コンピュータシステムおよびその実行方法
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
JPH0135367B2 (ja)
EP0619898A1 (en) Computer system with two levels of guests
JPH1078873A (ja) エミュレーション・システムで非同期信号を処理する方法
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
JPH03268041A (ja) キャッシュ操作明示化コンピュータ
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US5117491A (en) Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding
JPH0769825B2 (ja) 並列処理装置
US4532586A (en) Digital data processing system with tripartite description-based addressing multi-level microcode control, and multi-level stacks