JP3190661B2 - 情報処理システム - Google Patents

情報処理システム

Info

Publication number
JP3190661B2
JP3190661B2 JP20255390A JP20255390A JP3190661B2 JP 3190661 B2 JP3190661 B2 JP 3190661B2 JP 20255390 A JP20255390 A JP 20255390A JP 20255390 A JP20255390 A JP 20255390A JP 3190661 B2 JP3190661 B2 JP 3190661B2
Authority
JP
Japan
Prior art keywords
data
instruction
cache
memory
access
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 - Fee Related
Application number
JP20255390A
Other languages
English (en)
Other versions
JPH0488538A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP20255390A priority Critical patent/JP3190661B2/ja
Publication of JPH0488538A publication Critical patent/JPH0488538A/ja
Application granted granted Critical
Publication of JP3190661B2 publication Critical patent/JP3190661B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、主記憶領域からの命令またはデータに応じ
て命令またはデータを個別のキャッシュメモリに保持し
て管理する情報処理システムに関するものである。
【0002】
【従来の技術】
従来、この種の装置においては、命令とデータを個別
のキャッシュに格納するキャッシュメモリを備えて、CP
Uかプロセッサから出力される命令のフェッチがデータ
のフェッチかを示す信号に基づいて、使用するキャッシ
ュを選択していた。
【0003】 また、この種の情報処理装置においては、ディスク装
置等の二次記憶装置と主記憶とのデータの転送は、プロ
セッサに加えてダイレクトメモリアクセスコントローラ
(DMAC)を利用して、将来命令として使用するデータ
も、テキスト等のデータタイプのデータと同様に、デー
タタイプとして転送されるように構成されている。
【0004】
【発明が解決しようとする課題】
しかしながら上記従来例では、オペレーテイングシス
テムがコンテキストスイッチング等によりプログラムを
ディスク等の二次記憶装置から主記憶内に読み込む時
は、プロセッサによって読み込む場合およびDMACを利用
して転送する場合のどちらでも、データタイプとしてメ
モリに書き込むので、上記データキャッシュに書き込ま
れてしまう。同時に、命令キャッシュは明示的にその内
容をすべてクリアしなければならない。この結果、必要
なデータキャッシュの内容を失い、使用されないデータ
をデータキャッシュに書き込んでしまい、キャッシュの
ヒット率を大幅に下げてしまうという問題点があった。
【0005】 さらに、将来命令としてフェッチされるデータの転送
を示す手段を有し、命令キャッシュに書き込む処理を行
うデータ処理装置においては、プロセッサもしくはDMAC
のうち、どちらかが命令としてフェッチされるデータの
転送を行っている最中は、命令キャッシュシステムが選
択されてしまい、残りの一方がデータタイプの転送を行
うことができなくなってしまう問題点があり、DMACを付
加しても十分なデータ処理効率の向上が図れない等の問
題点があった。
【0006】 本発明は、上記の問題点を解決するためになされたも
ので、本発明の目的は、プロセッサと主記憶メモリを有
し、データ用キャッシュメモリと命令用キャッシュメモ
リとを備えた情報処理システムにおいて、主記憶メモリ
へのプログラムのローディングが指示された場合に、指
定されたアクセス種別によらずに、データ用キャッシュ
メモリを選択せずに、命令用キャッシュメモリを選択す
ることにより、主記憶メモリへローディングされるプロ
グラムを命令用キャッシュメモリへ書き込んでおき、こ
の書き込まれたプログラムを命令として命令用キャッシ
ュメモリからフェッチして、主記憶メモリからのフェッ
チを不要として、所望の命令を高速にフェッチできる情
報処理システムを提供することである。
【0007】
【課題を解決するための手段】
本発明に係る発明は、プロセッサと主記憶メモリを有
し、データ用キャッシュメモリと命令用キャッシュメモ
リとを備えた情報処理システムであって、前記主記憶メ
モリに対するアクセス種別が命令アクセスであるかデー
タアクセスであるかを指定する指定手段と、前記主記憶
メモリへのプログラムのローディングを指示する指示手
段と、前記指定手段による指定及び前記指示手段による
指示に基づいて、前記主記憶メモリに対するアクセスの
対象となる情報を転送すべきキャッシュメモリの種別を
選択する選択手段とを有し、この選択手段が、前記指示
手段により前記主記憶メモリへのプログラムのローディ
ングが指示された場合に、前記指定手段により指定され
たアクセス種別によらずに、前記データ用キャッシュメ
モリを選択せずに、前記命令用キャッシュメモリを選択
するものである。
【0008】
【発明の実施の形態】
図1は、本発明の一実施例を示す情報処理システムの
概要を説明するブロック図である。
【0009】 図1において、101はプロセッサであり、システム全
体の制御を行う。102は書込み可能な汎用外部レジス
タ、103はアドレスバス、104はコントロールバス、105
はデータバス、106はプログラムロードに関するPL信号
であって、キャッシュ選択手段109に出力される。
【0010】 キャッシュ選択手段109は、インストラクションキャ
ッシュとデータキャッシュの切り換えを行う。107は前
記プロセッサ101より出力されるアクセス種別信号(F
C)で、現在実行されているアクセスがデータに対する
アクセスか、命令のフェッチかを示す。108はキャッシ
ュ制御手段で、アクセスするメモリ空間によって、キヤ
ッシュに対する書込み制御を行う。
【0011】 110はインストラクシヨンキャッシュシステムで、イ
ンストラクシヨンタグ(IT)111と、インストラクショ
ンキャッシュ(IC)112から構成される。113はインスト
ラクションキャッシュ選択信号(IS)で、キャッシュ選
択手段109よりインストラクションキャッシュシステム1
10に出力される。114はデータキャッシュ選択信号(D
S)で、キャッシュ選択手段109よりデータキャッシュシ
ステム117に出力される。117はデータキャッシュシステ
ムで、データタグ(DT)115およびデータキャッシュ(D
C)116とから構成される。118は主記憶領域、119は二次
記憶装置で、この実施例ではディスク装置で構成されて
いる。
【0012】 120はインストラクションキャッシュシステム110用の
アドレスコンパレータで、インストラクションヒット信
号(IH)121およびインストラクションリプレース信号
(IR)122を出力する。123は前記データキャッシュシス
テム117用のアドレスコンパレータで、データヒット信
号(DH)124とデータリプレース信号(DR)125を出力す
る。
【0013】 126は前記データキャッシユシステム117用のデータバ
スバッファで、インストラクションキャッシュシステム
110用のデータバスバッファである。127は前記インスト
ラクションキャッシュシステム110用のインストラクシ
ョンバッファ(IB)である。
【0014】 128は前記インストラクションキャッシュシステム110
用のインストラクションバリッドビット(IV)、129は
前記データキャッシュシステム117用のデータバリッド
ビツト(DV)である。
【0015】 図2は、図1に示したキャッシュ選択手段109の構成
を説明するブロック図である。
【0016】 図2において、OR1はオアゲート、AND1はアンドゲー
ト、INV1,INV2はインバータで、アンドゲートAND1より
インストラクションキャッシュ選択信号(IS)113が出
力され、オアゲートOR1よりデータキャッシュ選択信号
(DS)114が出力される。
【0017】 通常、プロセッサ101による主記憶領域118へのアクセ
スには、実行する命令の読み込み、すなわち命令フェッ
チとデータの書込みや読出しのデータアクセスの2種類
が存在する。
【0018】 また、ディスク装置119等のI/O装置へのアクセスはそ
のデータを、キャッシュシステムの中に書き込むことを
禁じている。これは、キャッシュ制御手段108によって
行われる。
【0019】 命令フェッチの場合、プロセッサ101がアクセス種別
信号(FC)107を「H」レベルにして命令フェッチを行
うことを示し、リード信号とアドレスを出力して命令を
読み込む。データアクセスの場合は、アクセス種別信号
(FC)107をLレベルにし、リード信号を出力してデー
タリードを、ライト信号を出力してデータライトを行
う。
【0020】 通常の命令フェッチの場合は、プログラムのローディ
ングを表わすPL信号106は「H」レベルである。命令フ
ェッチが始まると、アクセス種別信号(FC)107が
「H」レベルとなり、図2に示すキャッシュ選択信号10
9によってインストラクションキャッシュ選択信号(I
S)113が出力されると、アドレスの上位部分(インデッ
クス)によってインストラクションタグ(IT)111から
1つのエントリーが選ばれ、その中に格納されているア
ドレスの下位部分(タグ)がインストラクションコンパ
レータ120に出力される。
【0021】 インストラクションコンパレータ(ICOM)120には同
時にプロセッサ101から出力されたアドレスのタグ部イ
ンストラクションタグ部分が入力され比較され、インス
トラクションタグ(IT)111からのタグとアドレスのタ
グ部分が一致すると、インストラクションバリッドビッ
ト(IV)128がセットされていると、キャッシュビット
状態となり、インストラクションビット信号(IVH)121
から出力されたデータがインストラクションバッファ
(IB)127を経由してデータバス105に出力され、プロセ
ツサ101はこのデータを読み込み命令フェッチを終了す
る。
【0022】 上記インストラクションタグ(IT)111内のタグの内
容とプロセッサ101からのタグが一致しないか、または
インストラクションバリッドビツト(IV)128がセット
されていないときはキャッシュミス状態となり、インス
トラクションリプレース信号(IR)122が出力され、引
き続きプロセッサ101は主記憶領域118にアクセスする。
【0023】 必要な命令は主記憶領域118から読出されると同時
に、上記インストラクションタグ(IT)111にタグが、
インストラクションキャッシュ(IC)112にその時のデ
ータバス105の内容が書き込まれる。そして、次に、こ
のアドレスの命令フェッチを行うと、キャッシュヒット
となり、キャッシュメモリよりデータがフェッチされ
る。
【0024】 データの読み込みの場合は、アクセス種別信号(FC)
107が「L」レベルであるから、図2に示したキャッシ
ュ選択手段109により、データキャッシュ選択信号(D
S)114が「L」レベルとして出力され、データキャッシ
ュシステム117が選択され、その後は命令のフェッチと
同様にキャッシュヒットの場合はキャッシュシステムよ
り、読み込みが行われ、ミスの場合は主記憶から読み込
むと同時にキャッシュに書き込みが行われる。
【0025】 プロセッサ101から主記憶領域118に対する書き込みの
場合は、命令としては存在しない。よって書き込みの場
合に、インストラクションキャッシュシステム110が選
択されることはない。
【0026】 データタイプのデータがプロセッサ101より書き込ま
れる場合、そのデータをキャッシュに書き込みかどうか
には、いくつかのアルゴリズムが存在するが、この実施
例ではキャッシュに書き込みが許されている領域に、書
き込みが行われた場合には、新しいエントリを生成し、
キャッシュにも書き込むアルゴリズムを採用している。
【0027】 プロセッサ101より主記憶領域118に対し書き込みが発
生すると、キャッシュ制御手段108によりデータタグ(D
T)115が書き込み可能状態となる。さらに、データバリ
ッドビツト(DV)129をセットして書き込み可能状態と
なってプロセッサ101よりアドレスが出力されると、デ
ータタグ(DT)115のインデックス部により選択された
部分に、タグが書き込まれ、データバリッドビット(D
V)129のインデックスにより選択された部分がセットさ
れる。
【0028】 さらに、プロセッサより書き込むデータが出力される
と、データキャッシュ(DC)116のインデックスによっ
て選択された部分に書き込まれるとともに、主記憶領域
118に書き込まれる。
【0029】 〔データのローディング〕 次に、データのローディングについて説明する。
【0030】 装置の電源を投入した時や、プログラム実行に必要な
データが主記憶領域118上に存在しない場合にディスク
装置119よりデータのローディングが行われる。この場
合、主記憶領域118にデータが書き込まれると、同時に
上記と同様にキャッシュにも書き込まれる。その後、プ
ロセッサ1がそのデータを必要とした時には、キャッシ
ュヒット状態となり、キャッシュからデータが読み出さ
れる。
【0031】 〔プログラムのローディング〕 電源投入時や仮想記憶をサポートしたオペレーティン
グシステムにおいては、ページフォルト等によりプログ
ラムをディスク装置119から主記憶装置118に読み込むこ
とが起こる。この場合、読み込む時は、プログラムコー
ドをデータタイプとして取り扱う。その後、インストラ
クションとして、プロセッサ101によって参照される。
【0032】 以下、図3に示すフローチャートを参照しながらプロ
グラムローディング処理について説明する。
【0033】 図3は、本発明に係る情報処理システムにおけるプロ
グラムローディング処理手順の一例を説明するフローチ
ャートである。なお、(1)〜(7)は各ステップを示
す。
【0034】 オペレーティングシステムのページフォルト等によっ
てプログラムのローディングの必要性が生じると、オペ
レーティングシステムは、ディスク装置119から主記憶
領域118にデータを転送するのに必要なパラメータをプ
ロセッサ101の内部レジスタに読み込む(1)。
【0035】 これは次のステップでどのようなアクセスに対しても
強制的にインストラクションキャッシュシステム110を
選択させるように設定してしまうので、その後データタ
イプのアクセスが主記憶領域118に対して行われないよ
うにするためである。
【0036】 次に、ソフトウエアによる書込みの可能な汎用外部レ
ジスタ102のPL信号(PLビット)106を「L」レベルにす
る(2)。これにより、図2に示したキャッシュ選択手
段109により、以後どのようなタイプのアクセスに対し
てもインストラクションキャッシュシステム110が選択
される。
【0037】 次に、内部レジスタに読み込んでおいたパラメータを
使ってディスク装置119よりローディングするデータをC
PUのレジスタに読み込む(3)。次いで、そのデータを
主記憶領域118上の特定のアドレスに書き込む(4)。
次いで、上記パラメータのうち、転送バイト数をカウン
トするパラメータを「1」ディクリメントする(5)。
【0038】 次に、転送パラメータが「0」になったか、すなわち
データ転送が終了したかどうかを判断し(6)、NOなら
ばステップ(3)に戻り、YESならば汎用外部レジスタ1
02のPL信号106を「1」にセットして(7)、処理を終
了する。
【0039】 これにより、仮想記憶システムにおけるページフォル
ト等によって、将来プログラムとしてフェッチされるコ
ードをディスク装置119からローディングする場合に、
データタイプのアクセスであるにも関わらず、データキ
ャッシュシステム117に対しては書き込みアクセスが禁
止され、インストラクションキャッシュシステム110に
対して命令となるデータを書き込むことが可能となる。
【0040】 なお、上記実施例では二次記憶装置としてディスク装
置119より将来命令としてフェッチされるデータをロー
ディングする処理について説明したが、ディスク装置11
9ではなくネットワーク制御装置、例えば図4に示すよ
うにネットワーク制御装置419とネットワーク装置とな
るイーサネット装置420で構成し、図5に示すフローチ
ャートに示す手順を実行することにより、データ転送デ
バイスをディスク装置119以外のデバイスで構成するこ
とができる。
【0041】 図4は、本発明の他の実施例を示す情報処理システム
の概要を説明するブロック図であり、図1と同一のもの
には同じ符号を付してある。
【0042】 図において、419はネットワーク制御装置、420はイー
サネット装置である。
【0043】 図5は、本発明に係る情報処理システムにおける他の
プログラムローディング処理手順の一例を説明するフロ
ーチャートである。なお、(1)〜(9)は各ステップ
を示す。
【0044】 プロセッサ101のイーサネット装置420に接続された転
送要求先のネットワークアドレスをネットワーク制御装
置419に設定する(1)。次に、転送先のマシンのメモ
リアドレスを設定する(2)。次に転送するバイト数を
設定する(3)。
【0045】 次に、汎用外部レジスタ102のPL信号106を「0」とす
る(4)。次いで、データをネットワーク制御装置419
より読み込む(5)。次に、当該データを主記憶領域41
8に書き込む(6)。次に転送カウントパラメータを
「1」ディクリメントする(7)。
【0046】 次いで、データ転送が終了したかどうかを判断し
(8)、NOならばステップ(5)に戻り、YESならば汎
用外部レジスタ102のPL信号106を「1」に戻して
(9)、処理を終了する。
【0047】 なお、上記処理において使用されるパラメータは上記
実施例同様にCPUのレジスタ内に格納される。これによ
り、転送元のデバイスに依存せずに本発明を適用するこ
とができる。
【0048】
【発明の効果】
以上説明したように、本発明によれば、プロセッサと
主記憶メモリを有し、データ用キャッシュメモリと命令
用キャッシュメモリとを備えた情報処理システムであっ
て、前記主記憶メモリに対するアクセス種別が命令アク
セスであるかデータアクセスであるかを指定する指定手
段と、前記主記憶メモリへのプログラムのローディング
を指示する指示手段と、前記指定手段による指定及び前
記指示手段による指示に基づいて、前記主記憶メモリに
対するアクセスの対象となる情報を転送すべきキャッシ
ュメモリの種別を選択する選択手段とを有し、この選択
手段が、前記指示手段により前記主記憶メモリへのプロ
グラムのローディングが指示された場合に、前記指定手
段により指定されたアクセス種別によらずに、前記デー
タ用キャッシュメモリを選択せずに、前記命令用キャッ
シュメモリを選択するようにしたので、主記憶メモリへ
ローディングされるプログラムを命令用キャッシュメモ
リへ書き込んでおり、この書き込まれたプログラムを命
令として命令用キャッシュメモリからフェッチすること
で、主記憶メモリからのフェッチが不要となり、所望の
命令を高速にフェッチできる。
【0049】 また、主記憶メモリへローディングされるプログラム
が、従来のようにデータ用キャッシュメモリには書き込
まれず、命令用キャッシュメモリへ書き込まれるように
したので、データ用キャッシュメモリにおいて、使用さ
れないデータの書き込みによって必要なデータを失うこ
とが回避できる。
【0050】 従って、キャッシュメモリのヒット率が向上し、高速
アクセスが容易に実現できるという優れた効果を奏す
る。
【図面の簡単な説明】
【図1】 本発明の一実施例を示す情報処理システムの概要を説明
するブロック図である。
【図2】 本発明に係る情報処理システムにおけるプログラムロー
ディング処理手順の一例を説明するフローチャートであ
る。
【図3】 本発明の他の実施例を示す情報処理システムの概要を説
明するブロック図である。
【図4】 本発明の他の実施例を示す情報処理システムの概要を説
明するブロック図である。
【図5】 この発明に係る情報処理システムにおける他のプログラ
ムローディング処理手順の一例を説明するフローチャー
トである。
【符号の説明】
101……レジスタ 102……汎用外部レジスタ 103……アドレスバス 104……コントロールバス 105……データバス 106……PL信号 107……アクセス種別信号(FC) 108……キャッシュ制御手段 109……キャッシュ選択手段 110……インストラクションキャッシュシステム 117……データキャッシュシステム 118……主記憶領域 119……ディスク装置

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】プロセッサと主記憶メモリを有し、データ
    用キャッシュメモリと命令用キャッシュメモリとを備え
    た情報処理システムであって、 前記主記憶メモリに対するアクセス種別が命令アクセス
    であるかデータアクセスであるかを指定する指定手段
    と、 前記主記憶メモリへのプログラムのローディングを指示
    する指示手段と、 前記指定手段による指定及び前記指示手段による指示に
    基づいて、前記主記憶メモリに対するアクセスの対象と
    なる情報を転送すべきキャッシュメモリの種別を選択す
    る選択手段とを有し、 この選択手段が、前記指示手段により前記主記憶メモリ
    へのプログラムのローディングが指示された場合に、前
    記指定手段により指定されたアクセス種別によらず、前
    記データ用キャッシュメモリを選択せずに、前記命令用
    キャッシュメモリを選択することを特徴とする情報処理
    システム。
JP20255390A 1990-08-01 1990-08-01 情報処理システム Expired - Fee Related JP3190661B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20255390A JP3190661B2 (ja) 1990-08-01 1990-08-01 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20255390A JP3190661B2 (ja) 1990-08-01 1990-08-01 情報処理システム

Publications (2)

Publication Number Publication Date
JPH0488538A JPH0488538A (ja) 1992-03-23
JP3190661B2 true JP3190661B2 (ja) 2001-07-23

Family

ID=16459408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20255390A Expired - Fee Related JP3190661B2 (ja) 1990-08-01 1990-08-01 情報処理システム

Country Status (1)

Country Link
JP (1) JP3190661B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445630B1 (ko) * 2001-02-13 2004-08-25 삼성전자주식회사 저전력 캐쉬 메모리 및 그것의 히트/미스 판정 방법

Also Published As

Publication number Publication date
JPH0488538A (ja) 1992-03-23

Similar Documents

Publication Publication Date Title
JP3259969B2 (ja) キャッシュメモリ制御装置
JP3289661B2 (ja) キャッシュメモリシステム
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
JPH0520197A (ja) 記憶管理システム及びマイクロプロセツサ
JP3190661B2 (ja) 情報処理システム
JP3217348B2 (ja) 情報処理システム
JP3147236B2 (ja) キヤツシユメモリ装置
JP3221409B2 (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
JPH08305634A (ja) 情報処理方法及び装置
JPH0821001B2 (ja) キャッシュメモリの制御方法
JPS6045872A (ja) 高速緩衝記憶装置
JPH1055308A (ja) キャッシュメモリ
JPH01226056A (ja) アドレス変換回路
WO1992005493A1 (en) System equipped with processor and cache memory, and method of controlling said cache memory
JP2923273B2 (ja) データ処理システム
JPS63311548A (ja) キャッシュメモリ制御回路
JPH0689228A (ja) キャッシュメモリ制御装置
JP2000194554A (ja) 演算処理装置
JPH0156411B2 (ja)
JPS62133545A (ja) キヤツシユ・メモリ・システム
JPH04363738A (ja) キャッシュメモリ装置
JPH03220645A (ja) 情報処理装置
JP2000293437A (ja) キャッシュメモリ装置及びキャッシュメモリ制御方法
JPH05143464A (ja) 主記憶キーアクセス制御方式
JPH05265916A (ja) データ処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees