JPH0934786A - 命令供給装置 - Google Patents

命令供給装置

Info

Publication number
JPH0934786A
JPH0934786A JP7178626A JP17862695A JPH0934786A JP H0934786 A JPH0934786 A JP H0934786A JP 7178626 A JP7178626 A JP 7178626A JP 17862695 A JP17862695 A JP 17862695A JP H0934786 A JPH0934786 A JP H0934786A
Authority
JP
Japan
Prior art keywords
instruction
data
address
cache
information
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
JP7178626A
Other languages
English (en)
Inventor
Takuya Iwata
卓也 岩田
Atsuhiro Suga
敦浩 須賀
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7178626A priority Critical patent/JPH0934786A/ja
Priority to US08/672,485 priority patent/US6078993A/en
Publication of JPH0934786A publication Critical patent/JPH0934786A/ja
Priority to US09/211,045 priority patent/US6076145A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】本発明は、命令実行装置に命令データを供給す
る命令供給装置に関し、資源の無駄を省くとともに、簡
単な制御処理により命令データを供給できるようにする
ことを目的とする。 【解決手段】キャッシュデータ装置とキャッシュタグ装
置とを備えて、キャッシュデータ装置の出力する命令デ
ータを命令実行装置に送出する命令供給装置において、
命令要求で指定されるキャッシュデータ装置に対しての
アドレス情報をFIFO形式で保持するアドレスバッフ
ァ手段14と、命令データが要求されるときに、アドレス
バッファ手段14が空でないときには、その保持データを
選択してキャッシュデータ装置に与え、空のときには、
アドレスバッファ手段14への格納対象となるアドレス情
報を、アドレスバッファ手段14をバイパスさせながら選
択してキャッシュデータ装置に与える選択手段16とを備
えるように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、命令実行装置に命令デ
ータを供給する命令供給装置に関し、特に、資源の無駄
を省くとともに、簡単な制御処理により命令データを供
給できるようにする命令供給装置に関する。
【0002】コンピュータシステムでは、命令キャッシ
ュで構成される命令供給装置を備える構成を採って、C
PUは、その命令キャッシュから命令データをプリフェ
ッチしていく構成を採っている。この命令供給装置を実
用的なものとしていくためにも、資源の無駄を省く構成
を構築していく必要がある。
【0003】
【従来の技術】図13に、従来の命令供給装置の装置構
成を図示する。この図に示すように、従来の命令供給装
置は、命令データを格納して、CPUからアドレスが与
えられるときに、そのアドレスの持つインデックスが指
す命令データを出力するキャッシュデータ装置1と、タ
グを格納して、CPUからアドレスが与えられるとき
に、そのアドレスの持つインデックスが指すタグを出力
して、その出力タグとアドレスの持つタグとの一致不一
致を検出することで、キャッシュデータ装置1の読み出
した命令データがヒットしたのか否かを出力するキャッ
シュタグ装置2と、キャッシュデータ装置1の出力する
命令データをキューイングしつつ保持して命令実行装置
に送出する命令バッファ3と、キャッシュデータ装置1
及びキャッシュタグ装置2の制御処理を実行するキャッ
シュ制御装置4と、命令バッファ3の制御処理を実行す
る命令バッファ制御装置5とから構成される。
【0004】このように構成される従来の命令供給装置
では、命令実行装置が命令リリース信号を発行していな
い間は、キャッシュデータ装置1の読み出す命令データ
を命令バッファ3にキューイングする構成を採って、命
令実行装置が命令リリース信号を発行すると、命令バッ
ファ3からそのキューイングされる命令データを順番に
読み出して命令実行装置に送出していくという構成を採
っている。
【0005】図14に、この命令供給処理のタイムチャ
ートの一例を図示する。すなわち、命令実行装置が命令
供給要求を発行すると、図中のT1サイクルに示すよう
に、キャッシュデータ装置1及びキャッシュタグ装置2
に対して、キャッシュアクセスアドレスが転送される。
【0006】続いて、次のT2サイクルで、キャッシュ
データ装置1及びキャッシュタグ装置2がアクセスさ
れ、このアクセス処理により、キャッシュデータ装置1
から読み出される命令データが要求のものであるのか否
かが判断されるとともに、その読み出される命令データ
が命令バッファ3に転送されていく。
【0007】このようにしてキャッシュデータ装置1か
ら命令バッファ3に命令データが転送されるときに、命
令実行装置が命令リリース信号を発行すると、続いて、
次のT3サイクルで、命令バッファ3から命令データが
読み出されて命令実行装置に転送されていく。一方、命
令リリース信号が発行されないときには、命令データが
命令バッファ3にキューイングされて保持されていっ
て、命令リリース信号が発行されると、図中のT8サイ
クルに示すように、そのキューイングされる命令データ
が順番に読み出されて命令実行装置に転送されていくこ
とになる。
【0008】
【発明が解決しようとする課題】このように、従来の命
令供給装置では、キャッシュデータ装置1と命令バッフ
ァ3とで命令データを保持する構成を採っている。
【0009】しかるに、最近では、データ処理速度の向
上を図るために、これまでに備えるキャッシュ装置とは
別のキャッシュ装置を、CPUチップと同一チップ上に
備える構成を採るようになってきた。
【0010】すなわち、図15に示すように、CPUチ
ップと主記憶装置との間に備える本来のキャッシュ装置
(2次キャッシュ装置)の他に、CPUチップと同一チ
ップ上に、1次キャッシュ装置として機能する新たなキ
ャッシュ装置を備える構成を採るようになってきたので
ある。
【0011】このような1次キャッシュ装置を備える構
成を採ると、同一チップ上に、命令データを格納するキ
ャッシュデータ装置1(図中の1次命令キャッシュ装
置)と、そのキャッシュデータ装置1から読み出される
命令データを保持する命令バッファ3とが配設されるこ
とから、キャッシュデータ装置1と命令バッファ3とで
二重に命令データを保持することになって、資源を無駄
に使うという問題点が出てくる。
【0012】特に、データ長の長い命令データを用いる
コンピュータシステムでは、命令バッファ3のバッファ
容量が大きくなることから、この問題点は大きなものと
なる。
【0013】しかも、従来の命令供給装置では、キャッ
シュ制御装置4と命令バッファ制御装置5との間で複雑
な信号のやり取りを実行しなければならないという問題
点もあった。
【0014】本発明はかかる事情に鑑みてなされたもの
であって、資源の無駄を省くとともに、簡単な制御処理
により命令データを供給できるようにする新たな命令供
給装置の提供を目的とする。
【0015】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、10は本発明を具備する命令供給装
置であって、命令データを格納するキャッシュデータ装
置11と、タグデータ(連想メモリ構成の場合にはディ
レクトリデータ)を格納するキャッシュタグ装置12
と、全体の制御処理を実行するキャッシュ制御装置13
とを備えて、命令実行装置に対して命令データを供給す
るものである。
【0016】キャッシュタグ装置12は、キャッシュデ
ータ装置11とキャッシュタグ装置12とがダイレクト
マップ構成を採る場合には、キャッシュデータ装置11
に対して、バリッド情報(命令データのヒット・ミスヒ
ットを表示する)を出力し、セットアソシアティブ構成
を採る場合には、命令データの格納先ウェイ情報(命令
データの格納先ウェイと、命令データのヒット・ミスヒ
ットとを表示する)を出力し、連想メモリ構成を採る場
合には、アクセス情報(ヒット・ミスヒット信号を使っ
て命令データの格納先エントリーを表示する)を出力す
る。
【0017】この命令供給装置10は、本発明を実現す
るために、新たに、アドレスバッファ手段14と、生成
手段15と、選択手段16と、第1の出力バッファ手段
17と、第2の出力バッファ手段18と、書換手段19
とを備える。
【0018】このアドレスバッファ手段14は、キャッ
シュデータ装置11とキャッシュタグ装置12とがダイ
レクトマップ構成を採る場合には、命令要求で指定され
るキャッシュデータ装置11に対してのアドレス情報
(インデックス情報)と、そのアドレス情報に対応して
キャッシュタグ装置12から出力されるヒット・ミスヒ
ット表示のバリッド情報との対データをFIFO形式で
保持する。
【0019】一方、アドレスバッファ手段14は、キャ
ッシュデータ装置11とキャッシュタグ装置12とがセ
ットアソシアティブ構成を採る場合には、命令要求で指
定されるキャッシュデータ装置11に対してのアドレス
情報(インデックス情報)と、そのアドレス情報に対応
してキャッシュタグ装置12から出力されるウェイ情報
と、そのウェイ情報から特定されるヒット・ミスヒット
表示のバリッド情報との対データをFIFO形式で保持
する。
【0020】一方、アドレスバッファ手段14は、キャ
ッシュデータ装置11とキャッシュタグ装置12とが連
想メモリ構成を採る場合には、命令要求に応答してキャ
ッシュタグ装置12から出力されるアクセス情報と、そ
のアクセス情報が全エントリーのミスヒットを表示して
いるのか否かを示すバリッド情報との対データをFIF
O形式で保持する。あるいは、アクセス情報の示すヒッ
ト信号の発行通番と、その発行通番の有無から特定され
るヒット・ミスヒット表示のバリッド情報との対データ
を、キャッシュタグ装置12のエントリーと対応をとり
つつ保持する。
【0021】この生成手段15は、アドレスバッファ手
段14がヒット信号の発行通番を保持するときに、その
発行通番順に、その発行通番を持つエントリーがヒット
信号を示す形態のアクセス情報を生成する。
【0022】この選択手段16は、キャッシュデータ装
置11とキャッシュタグ装置12とがダイレクトマップ
構成を採る場合には、アドレスバッファ手段14の保持
するアドレス情報を選択してキャッシュデータ装置11
に与えるか、アドレスバッファ手段14への格納対象と
なるアドレス情報を、アドレスバッファ手段14をバイ
パスさせながら選択してキャッシュデータ装置11に与
える。
【0023】一方、選択手段16は、キャッシュデータ
装置11とキャッシュタグ装置12とがセットアソシア
ティブ構成を採る場合には、アドレスバッファ手段14
の保持するアドレス情報及びウェイ情報を選択してキャ
ッシュデータ装置11に与えるか、アドレスバッファ手
段14への格納対象となるアドレス情報及びウェイ情報
を、アドレスバッファ手段14をバイパスさせながら選
択してキャッシュデータ装置11に与える。
【0024】一方、選択手段16は、キャッシュデータ
装置11とキャッシュタグ装置12とが連想メモリ構成
を採る場合にあって、アドレスバッファ手段14がアク
セス情報を保持する構成を採る場合には、アドレスバッ
ファ手段14の保持するアクセス情報を選択してキャッ
シュデータ装置11に与えるか、アドレスバッファ手段
14への格納対象となるアクセス情報を、アドレスバッ
ファ手段14をバイパスさせながら選択してキャッシュ
データ装置11に与える。また、アドレスバッファ手段
14が発行通番を保持する構成を採る場合には、生成手
段15の生成するアクセス情報を選択してキャッシュデ
ータ装置11に与えるか、アドレスバッファ手段14へ
の格納対象となるアクセス情報を、アドレスバッファ手
段14をバイパスさせながら選択してキャッシュデータ
装置11に与える。
【0025】この第1の出力バッファ手段17は、単一
構成のバッファで構成されて、選択手段16がキャッシ
ュデータ装置11に対してアドレス情報(アクセス情
報)を与えるときに、キャッシュデータ装置11から読
み出される命令データを受け取って命令実行装置に送出
する。
【0026】この第2の出力バッファ手段18は、命令
実行装置に対して命令データが送出されるときに、アド
レスバッファ手段14の保持するその命令データと対と
なるバリッド情報を読み出して命令実行装置に送出す
る。
【0027】この書換手段19は、アドレスバッファ手
段14の保持情報の指すキャッシュデータ装置11のメ
モリ域に対して、ムーブインが実行されるときに、アド
レスバッファ手段14の保持するその保持情報と対とな
るバリッド情報を書き換える。
【0028】
【作用】ダイレクトマップ構成の例で説明するならば、
本発明では、命令実行装置から命令要求が発行される
と、アドレスバッファ手段14は、その命令要求の指定
する命令データを読み出すためのアドレス情報をFIF
O形式で保持していく。
【0029】そして、選択手段16は、命令実行装置が
命令リリース信号を発行するときに、アドレスバッファ
手段14にアドレス情報が保持されているときには、そ
のアドレス情報を読み出してキャッシュデータ装置11
に与えることで、キャッシュデータ装置11からその命
令データを読み出して命令実行装置に送出していくとと
もに、保持されていないときには、アドレスバッファ手
段14への格納対象となるアドレス情報を、アドレスバ
ッファ手段14をバイパスさせながら選択してキャッシ
ュデータ装置11に与えることで、キャッシュデータ装
置11からその命令データを読み出して命令実行装置に
送出していく。
【0030】なお、選択手段16は、第1の出力バッフ
ァ手段17が空のときには、第1の出力バッファ手段1
7に命令データを保持できるので、命令実行装置が命令
リリース信号を発行していなくても、アドレスバッファ
手段14への格納対象となるアドレス情報を、アドレス
バッファ手段14をバイパスさせながら選択してキャッ
シュデータ装置11に与えることで、第1の出力バッフ
ァ手段17に命令データを保持していく処理を行う。
【0031】図2に、本発明の命令供給処理のタイムチ
ャートの一例を図示する。すなわち、命令実行装置が命
令供給要求を発行すると、図中のT1サイクルに示すよ
うに、キャッシュタグ装置12及びアドレスバッファ手
段14に対して、キャッシュアクセスアドレスが転送さ
れる。
【0032】続いて、次のT2サイクルで、キャッシュ
タグ装置12がアクセスされ、キャッシュデータ装置1
1に格納される読出対象の命令データが要求のものであ
るのか否かが判断される。そして、このとき、命令実行
装置から命令リリース信号が発行されず、かつ、第1の
出力バッファ手段17が空のときと、命令リリース信号
が発行され、かつ、アドレスバッファ手段14が空のと
きには、キャッシュアクセスアドレスは、選択手段16
の処理に従って、アドレスバッファ手段14をバイパス
してキャッシュデータ装置11に転送されることで、キ
ャッシュデータ装置11から命令データが読み出されて
第1の出力バッファ手段17に保持され、それ以外のと
き、すなわち、命令リリース信号が発行されず、かつ、
第1の出力バッファ手段17が空でないときと、命令リ
リース信号が発行され、かつ、アドレスバッファ手段1
4が空でないときには、選択手段16の処理に従って、
そのままアドレスバッファ手段14に保持される。な
お、命令リリース信号が発行されているときには、第1
の出力バッファ手段17に必ずデータが保持されること
になる。
【0033】このようにしてキャッシュデータ装置11
から第1の出力バッファ手段17に命令データが転送さ
れるときに、命令実行装置から命令リリース信号が発行
されると、続いて、次のT3サイクルで、第1の出力バ
ッファ手段17から命令データが読み出されて命令実行
装置に転送されていく。一方、命令リリース信号が発行
されないときには、図中のT5/T6サイクルに示すよ
うに、第1の出力バッファ手段17に命令データが保持
されたまま、選択手段16の処理に従って、キャッシュ
アクセスアドレスがアドレスバッファ手段14にキュー
イングされて保持されていって、命令リリース信号が発
行されると、選択手段16の処理に従って、図中のT7
サイクルに示すように、そのキューイングされるキャッ
シュアクセスアドレスが順番に読み出されてキャッシュ
データ装置11に転送されていくことで、キャッシュデ
ータ装置11から命令データが読み出されて命令実行装
置に転送されていく。
【0034】このように、本発明の命令供給装置10で
は、キャッシュデータ装置11にアクセスするための情
報を保持するアドレスバッファ手段14を設け、キャッ
シュデータ装置11とキャッシュタグ装置12とを独立
に動作させることで、従来技術の必要とする命令バッフ
ァ及び命令バッファ制御装置の省略を実現する構成を採
ることから、資源の無駄を省きつつ、簡単な制御処理に
より命令データを供給できるようになる。
【0035】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図3に、ダイレクトマップ方式のキャッシュ装置に
適用した本発明の一実施例を図示する。
【0036】図中、20はキャッシュデータメモリであ
って、命令データを格納するもの、21はキャッシュタ
グメモリであって、タグを格納するもの、22はタグバ
ッファであって、命令要求アドレスの持つタグを保持す
るもの、23は比較回路であって、キャッシュタグメモ
リ21から読み出されるタグと、タグバッファ22の保
持するタグとが一致するのか否かを検出するもの、24
はバリッドコントロール回路であって、命令実行装置に
送出する命令データのバリッド情報をコントロールする
もの、25は出力バッファであって、命令実行装置に送
出する命令データのバリッド情報を保持するものであ
る。
【0037】26は選択回路であって、命令実行装置に
送出する命令データのバリッド情報を選択制御信号とし
て用いて、キャッシュデータメモリ20から読み出され
る命令データか、ムーブインされてくる命令データのい
ずれか一方を選択して命令実行装置に送出するもの、2
7は出力バッファであって、命令実行装置に送出する命
令データを保持するもの、28はアドレスバッファであ
って、命令要求アドレスの持つインデックスをFIFO
形式で保持するもの、29はバリッドバッファであっ
て、アドレスバッファ28の保持するインデックスの指
す命令データのバリッド情報を保持するものである。
【0038】30はバリッドコントロール回路であっ
て、バリッドバッファ29の保持するバリッド情報をコ
ントロールするもの、31は選択回路であって、アドレ
スバッファ28の保持するインデックスを選択してキャ
ッシュデータメモリ20に与えるか、命令要求アドレス
の持つインデックスをアドレスバッファ28をバイパス
させながら選択してキャッシュデータメモリ20に与え
るもの、32はキャッシュ制御装置であって、全体の制
御処理を実行するものである。なお、図中に示すID
は、ムーブインされる命令データがどのミスヒットに基
づくものであるのかを示す識別子情報である。
【0039】このように構成される図3の実施例のキャ
ッシュ装置では、命令実行装置が命令要求アドレスを指
定してプリフェッチ要求を発行すると、アドレスバッフ
ァ28は、この命令要求アドレスの持つインデックスを
FIFO形式で保持していくとともに、バリッドコント
ロール回路30は、この命令要求アドレスに応答して比
較回路23から出力されるヒット・ミスヒット表示のバ
リッド情報を受け取って、それをバリッドバッファ29
に書き込んでいく。
【0040】このようにして、アドレスバッファ28
に、命令要求アドレスの持つインデックスがFIFO形
式で保持されるとともに、バリッドバッファ29に、ア
ドレスバッファ28の保持するインデックスの指す命令
データのバリッド情報が保持されるときに、命令実行装
置が命令リリース信号を発行すると、選択回路31は、
アドレスバッファ28がインデックスを保持していると
きには、その保持されるインデックスを読み出してキャ
ッシュデータメモリ20に与え、保持していないときに
は、命令要求アドレスの持つインデックスをアドレスバ
ッファ28をバイパスさせながら選択してキャッシュデ
ータメモリ20に与える。
【0041】この選択回路31からのインデックスを受
けて、キャッシュデータメモリ20は、そのインデック
スの指す命令データを読み出して、出力バッファ27を
介して命令実行装置に送出する。このとき、バリッドコ
ントロール回路24は、選択回路31がアドレスバッフ
ァ28のインデックスを選択するときには、バリッドバ
ッファ29の格納するそのインデックスに対応付けられ
るバリッド情報を読み出して、出力バッファ25を介し
て命令実行装置に送出していくとともに、選択回路31
が命令要求アドレスの持つインデックスを選択するとき
には、比較回路23の出力するバリッド情報を受け取っ
て、出力バッファ25を介して命令実行装置に送出して
いく。
【0042】なお、この処理にあって、選択回路31
は、出力バッファ27が空のときには、命令リリース信
号の発行に関係なく、命令要求アドレスの持つインデッ
クスをアドレスバッファ28をバイパスさせながら選択
してキャッシュデータメモリ20に与えるよう処理する
ことになる。
【0043】すなわち、命令要求アドレスの持つインデ
ックスが発生するときにあって、命令リリース信号が出
ていないときに、出力バッファ27が空のときには、ア
ドレスバッファ28をバイパスしつつキャッシュデータ
メモリ20がアクセスされて命令データが出力バッファ
27に格納され、空でないときには、アドレスバッファ
28にインデックスが格納されていくことになる。そし
て、命令要求アドレスの持つインデックスが発生すると
きにあって、命令リリース信号が出ているとき(必ず出
力バッファ27に命令データが格納されている)に、ア
ドレスバッファ28が空のときには、出力バッファ27
の命令データが命令実行装置に送出されるとともに、ア
ドレスバッファ28をバイパスしつつキャッシュデータ
メモリ20がアクセスされて命令データが出力バッファ
27に格納され、空でないときには、出力バッファ27
の命令データが命令実行装置に送出されるとともに、ア
ドレスバッファ28から読み出されるインデックスを用
いてキャッシュデータメモリ20がアクセスされて命令
データが出力バッファ27に格納され、新たに発生した
インデックスがアドレスバッファ28に格納されていく
ことになる。
【0044】図4に、この図3の実施例の命令供給処理
のタイムチャートの一例を図示する。ここで、このタイ
ムチャートでは、アドレスバッファ28が、アドレスバ
ッファ0,1,2 という3つのバッファで構成されるととも
に、キャッシュデータメモリ20の1000番地にAAAA、10
04番地にBBBB、・・・1028番地にHHHHという命令データ
が格納されていることを想定している。
【0045】すなわち、T1サイクルで、キャッシュア
クセス要求を受理すると、T2サイクルで、キャッシュ
タグメモリ21にアクセスするとともに、アドレスバッ
ファ28にキャッシュアクセスアドレスを転送する。こ
のとき、アドレスバッファ28が空で、出力バッファ2
7が空であることから、転送されたキャッシュアクセス
アドレスは、アドレスバッファ28をバイパスしてキャ
ッシュデータメモリ20に与えられ、これにより、T3
サイクルで、命令リリース信号の発行に同期して、命令
データAAAAが命令実行装置に送出される。
【0046】一方、T5サイクルで、命令リリース信号
の停止を検出すると、命令データCCCCを出力バッファ2
7に保持させたまま、アドレスバッファ28への格納処
理に入る。なお、このとき、キャッシュデータメモリ2
0には、命令データDDDDに対応する1012番地が与えられ
ている。続いて、T6サイクルで、1016番地のアドレス
でキャッシュタグメモリ20をアクセスすることでヒッ
ト・ミスヒットを判定するとともに、このアドレス1016
番地をアドレスバッファ28のアドレスバッファ0に保
持させる。続いて、T7サイクルで、命令リリース信号
の発行を検出すると、アドレスバッファ28から順番に
キャッシュアクセスアドレスを読み出していくことで、
キャッシュデータメモリ20から命令データを読み出し
て命令実行装置に送出していく。
【0047】このようにして、図3の実施例に従うこと
で、ダイレクトマンプ方式のキャッシュ装置にあって、
キャッシュデータメモリ20の格納する命令データと同
一のものをバッファリングする構成を採らずに命令実行
装置に供給できるようになる。
【0048】図5に、セットアソシアティブ方式のキャ
ッシュ装置に適用した本発明の一実施例を図示する。図
中、40はキャッシュデータメモリであって、ウェイ構
成に従って命令データを格納するもの、41はキャッシ
ュタグメモリであって、ウェイ構成に従ってタグを格納
するもの、42はタグバッファであって、命令要求アド
レスの持つタグを保持するもの、43は比較回路であっ
て、ウェイ対応の比較器から構成されて、ウェイ対応
に、キャッシュタグメモリ41から読み出されるタグ
と、タグバッファ42の保持するタグとが一致するのか
否かを検出するもの、44はウェイコントロール回路で
あって、キャッシュデータメモリ40の必要とするウェ
イ情報をコントロールするものである。
【0049】45はバリッドコントロール回路であっ
て、命令実行装置に送出する命令データのバリッド情報
をコントロールするもの、46は出力バッファであっ
て、命令実行装置に送出する命令データのバリッド情報
を保持するもの、47は第1の選択回路であって、キャ
ッシュデータメモリ40から読み出されるウェイ対応の
命令データの中から、ヒットしたウェイの指す命令デー
タを選択して出力するもの、48は第2の選択回路であ
って、命令実行装置に送出する命令データのバリッド情
報を選択制御信号として用いて、第1の選択回路47の
出力する命令データか、ムーブインされてくる命令デー
タのいずれか一方を選択して命令実行装置に送出するも
のである。
【0050】49は出力バッファであって、命令実行装
置に送出する命令データを保持するもの、50はアドレ
スバッファであって、命令要求アドレスの持つインデッ
クスをFIFO形式で保持するもの、51はウェイバッ
ファであって、アドレスバッファ50の保持するインデ
ックスに対応付けられるヒット先ウェイ情報を保持する
もの、52はバリッドバッファであって、アドレスバッ
ファ50の保持するインデックスの指す命令データのバ
リッド情報を保持するものである。このバリッドバッフ
ァ52の保持するバリッド情報は、ウェイにヒットする
ときに有効を表示し、ミスヒットするときに無効を表示
する。
【0051】53はバリッドコントロール回路であっ
て、バリッドバッファ52の保持するバリッド情報をコ
ントロールするもの、54はインデックス選択回路であ
って、アドレスバッファ50の保持するインデックスを
選択してキャッシュデータメモリ40に与えるか、命令
要求アドレスの持つインデックスをアドレスバッファ5
0をバイパスさせながら選択してキャッシュデータメモ
リ40に与えるもの、55はウェイ選択回路であって、
ウェイバッファ51の保持するウェイ情報を選択してキ
ャッシュデータメモリ40に与えるか、ウェイコントロ
ール回路44の出力するウェイ情報(比較回路43の出
力するウェイ情報)をウェイバッファ51をバイパスさ
せながら選択してキャッシュデータメモリ40に与える
もの、56はキャッシュ制御装置であって、全体の制御
処理を実行するものである。なお、図中に示すIDは、
ムーブインされる命令データがどのミスヒットに基づく
ものであるのかを示す識別子情報である。
【0052】このように構成される図5の実施例のキャ
ッシュ装置では、命令実行装置が命令要求アドレスを指
定してプリフェッチ要求を発行すると、アドレスバッフ
ァ50は、この命令要求アドレスの持つインデックスを
FIFO形式で保持していくとともに、ウェイコントロ
ール回路44は、この命令要求アドレスに応答して比較
回路43から出力されるヒット先ウェイ情報を受け取っ
て、それをウェイバッファ51に書き込み、バリッドコ
ントロール回路53は、このウェイコントロール回路4
4の出力に応答して、ウェイにヒットするときに有効を
表示し、ミスヒットするときに無効を表示するバリッド
情報を生成して、それをバリッドバッファ52に書き込
んでいく。
【0053】このようにして、アドレスバッファ50
に、命令要求アドレスの持つインデックスがFIFO形
式で保持されるとともに、ウェイバッファ51に、アド
レスバッファ50の保持するインデックスの指す命令デ
ータのヒット先ウェイ情報が保持され、バリッドバッフ
ァ52に、アドレスバッファ50の保持するインデック
スの指す命令データのバリッド情報が保持されるとき
に、命令実行装置が命令リリース信号を発行すると、イ
ンデックス選択回路54は、アドレスバッファ50がイ
ンデックスを保持しているときは、その保持されるイン
デックスを読み出してキャッシュデータメモリ40に与
え、保持していないときには、命令要求アドレスの持つ
インデックスをアドレスバッファ50をバイパスさせな
がら選択してキャッシュデータメモリ40に与える。
【0054】一方、ウェイ選択回路55は、このインデ
ックス選択回路54の処理に同期して、アドレスバッフ
ァ50のインデックスがキャッシュデータメモリ40に
与えられるときには、それと対となるウェイ情報をウェ
イバッファ51から読み出して第1の選択回路47に与
え、命令要求アドレスの持つインデックスがキャッシュ
データメモリ40に与えられるときには、ウェイコント
ロール回路44の出力するウェイ情報を選択して第1の
選択回路47に与える。
【0055】そして、このインデックス選択回路54か
らのインデックスを受けて、キャッシュデータメモリ4
0は、そのインデックスの指す命令データを読み出すと
ともに、このウェイ選択回路55からウェイ情報を受け
て、第1の選択回路47は、この読み出されるウェイ対
応の命令データの中から、ウェイ選択回路55の出力す
るウェイ情報の指すヒット先の命令データを選択して、
出力バッファ49を介して命令実行装置に送出する。
【0056】このとき、バリッドコントロール回路45
は、インデックス選択回路54がアドレスバッファ50
のインデックスを選択するときには、そのインデックス
に対応付けられるバリッド情報をバリッドバッファ52
から読み出して、出力バッファ46を介して命令実行装
置に送出していくとともに、インデックス選択回路54
が命令要求アドレスの持つインデックスを選択するとき
には、ウェイコントロール回路44の出力に応答して、
ウェイにヒットするときに有効を表示し、ミスヒットす
るときに無効を表示するバリッド情報を生成して、それ
を出力バッファ46を介して命令実行装置に送出してい
く。
【0057】なお、この処理にあって、インデックス選
択回路54は、出力バッファ49が空のときには、命令
リリース信号の発行に関係なく、命令要求アドレスの持
つインデックスをアドレスバッファ50をバイパスさせ
ながら選択してキャッシュデータメモリ40に与えるよ
う処理するとともに、ウェイ選択回路55は、このイン
デックス選択回路54の処理に同期して、命令リリース
信号の発行に関係なく、ウェイコントロール回路44の
出力するウェイ情報を選択して第1の選択回路47に与
えるよう処理することになる。
【0058】すなわち、命令要求アドレスの持つインデ
ックスが発生するときにあって、命令リリース信号が出
ていないときに、出力バッファ49が空のときには、ア
ドレスバッファ50をバイパスしつつキャッシュデータ
メモリ40がアクセスされて命令データが出力バッファ
49に格納され、空でないときには、アドレスバッファ
50にインデックスが格納されていくことになる。そし
て、命令要求アドレスの持つインデックスが発生すると
きにあって、命令リリース信号が出ているとき(必ず出
力バッファ49に命令データが格納されている)に、ア
ドレスバッファ50が空のときには、出力バッファ49
の命令データが命令実行装置に送出されるとともに、ア
ドレスバッファ50をバイパスしつつキャッシュデータ
メモリ40がアクセスされて命令データが出力バッファ
49に格納され、空でないときには、出力バッファ49
の命令データが命令実行装置に送出されるとともに、ア
ドレスバッファ50から読み出されるインデックスを用
いてキャッシュデータメモリ40がアクセスされて命令
データが出力バッファ49に格納され、新たに発生した
インデックスがアドレスバッファ50に格納されていく
ことになる。
【0059】図6に、この図5の実施例の命令供給処理
のタイムチャートの一例を図示する。ここで、このタイ
ムチャートでは、アドレスバッファ40が、アドレスバ
ッファ0,1,2 という3つのバッファで構成されるととも
に、キャッシュデータメモリ40が2ウェイで構成され
て、その1000番地にAAAA、1004番地にBBBB、・・・1028
番地にHHHHという命令データが格納されていることを想
定している。
【0060】このタイムチャートは、図4に示したダイ
レクトマップ方式のタイムチャートとほぼ同じ動作をす
るものであり、異なっている点は、要求の命令データが
キャッシュデータメモリ40のどちらのウェイに格納さ
れているのかを示すウェイセレクトビット0,1を使っ
て、その要求の命令データをキャッシュデータメモリ4
0から読み出していく点である。
【0061】このようにして、図5の実施例に従うこと
で、セットアソシアティブ方式のキャッシュ装置にあっ
て、キャッシュデータメモリ40の格納する命令データ
と同一のものをバッファリングする構成を採らずに命令
実行装置に供給できるようになる。
【0062】図7に、連想メモリ方式のキャッシュ装置
に適用した本発明の一実施例を図示する。図中、60は
キャッシュデータメモリであって、命令データを格納す
るもの、61はキャッシュタグメモリであって、キャッ
シュデータメモリ60の格納する命令データに1対1に
対応付けられるディレクトリデータを格納して、命令要
求アドレスの持つタグ及びインデックスと一致するディ
レクトリデータのエントリーにヒット信号を出力し、不
一致のディレクトリデータのエントリーにミスヒット信
号を出力するもの、62は入力バッファであって、キャ
ッシュタグメモリ61に与えることになる命令要求アド
レスの持つタグ及びインデックスを保持するものであ
る。
【0063】63はアドレスバッファであって、キャッ
シュタグメモリ61の出力するヒット・ミスヒット信号
のパターンデータをFIFO形式で保持するもの、64
はバリッドバッファであって、アドレスバッファ63の
保持するパターンデータの指す命令データのバリッド情
報を保持するものである。このバリッドバッファ64の
保持するバリッド情報は、パターンデータの中にヒット
信号が存在するときに有効を表示し、存在しないときに
無効を表示する。65は第1のバリッドコントロール回
路であって、バリッドバッファ64の保持するバリッド
情報をコントロールするもの、66は第2のバリッドコ
ントロール回路であって、命令実行装置に送出する命令
データのバリッド情報をコントロールするもの、67は
出力バッファであって、命令実行装置に送出する命令デ
ータのバリッド情報を保持するもの、68は選択回路で
あって、命令実行装置に送出する命令データのバリッド
情報を選択制御信号として用いて、キャッシュデータメ
モリ60の出力する命令データか、ムーブインされてく
る命令データのいずれか一方を選択して命令実行装置に
送出するもの、69は出力バッファであって、命令実行
装置に送出する命令データを保持するものである。
【0064】70はパターンデータ選択回路であって、
アドレスバッファ63の保持するパターンデータを選択
してキャッシュデータメモリ60に与えるか、キャッシ
ュタグメモリ61の出力するパターンデータをアドレス
バッファ63をバイパスさせながら選択してキャッシュ
データメモリ60に与えるもの、71はキャッシュ制御
装置であって、全体の制御処理を実行するものである。
なお、図中に示すIDは、ムーブインされる命令データ
がどのミスヒットに基づくものであるのかを示す識別子
情報である。
【0065】このように構成される図7の実施例のキャ
ッシュ装置では、命令実行装置が命令要求アドレスを指
定してプリフェッチ要求を発行すると、キャッシュタグ
メモリ61は、命令要求アドレスの持つタグ及びインデ
ックスと一致するディレクトリデータ格納のエントリー
にヒット信号を出力し、不一致のディレクトリデータ格
納のエントリーにミスヒット信号を出力するので、アド
レスバッファ63は、この出力されるヒット・ミスヒッ
ト信号のパターンデータをFIFO形式で保持していく
とともに、第1のバリッドコントロール回路65は、パ
ターンデータの中にヒット信号が存在するときには有効
を表示し、存在しないときには無効を表示するバリッド
情報を生成して、それをバリッドバッファ64に書き込
んでいく。
【0066】このようにして、アドレスバッファ63
に、ヒット・ミスヒット表示のパターンデータがFIF
O形式で保持されるとともに、バリッドバッファ64
に、アドレスバッファ63の保持するパターンデータの
指す命令データのバリッド情報が保持されるときに、命
令実行装置が命令リリース信号を発行すると、パターン
データ選択回路70は、アドレスバッファ63がパター
ンデータを保持しているときには、その保持されるパタ
ーンデータを読み出してキャッシュデータメモリ60に
与え、保持していないときには、命令要求アドレスに応
答してキャッシュタグメモリ61から出力されるパター
ンデータをアドレスバッファ63をバイパスさせながら
選択してキャッシュデータメモリ60に与える。
【0067】このパターンデータ選択回路70からのパ
ターンデータを受けて、キャッシュデータメモリ60
は、そのパターンデータの指す命令データを読み出し
て、出力バッファ69を介して命令実行装置に送出す
る。このとき、第2のバリッドコントロール回路66
は、パターンデータ選択回路70がアドレスバッファ6
3のパターンデータを選択するときには、そのパターン
データに対応付けられるバリッド情報をバリッドバッフ
ァ64から読み出して、出力バッファ67を介して命令
実行装置に送出していくとともに、パターンデータ選択
回路70がキャッシュタグメモリ61の出力するパター
ンデータを選択するときには、そのパターンデータに応
答して、そのパターンデータの中にヒット信号が存在す
るときには有効を表示し、存在しないときには無効を表
示するバリッド情報を生成して、それを出力バッファ6
7を介して命令実行装置に送出していく。
【0068】なお、この処理にあって、パターンデータ
選択回路70は、出力バッファ69が空のときには、命
令リリース信号の発行に関係なく、キャッシュタグメモ
リ61の出力するパターンデータをアドレスバッファ6
3をバイパスさせながら選択してキャッシュデータメモ
リ60に与えるよう処理することになる。
【0069】すなわち、命令要求アドレスに応答してキ
ャッシュタグメモリ61からパターンデータが出力され
るときにあって、命令リリース信号が出ていないとき
に、出力バッファ69が空のときには、アドレスバッフ
ァ63をバイパスしつつキャッシュデータメモリ60が
アクセスされて命令データが出力バッファ69に格納さ
れ、空でないときには、アドレスバッファ63にパター
ンデータが格納されていくことになる。そして、命令要
求アドレスに応答してキャッシュタグメモリ61からパ
ターンデータが出力されるときにあって、命令リリース
信号が出ているとき(必ず出力バッファ69に命令デー
タが格納されている)に、アドレスバッファ63が空の
ときには、出力バッファ69の命令データが命令実行装
置に送出されるとともに、アドレスバッファ63をバイ
パスしつつキャッシュデータメモリ60がアクセスされ
て命令データが出力バッファ69に格納され、空でない
ときには、出力バッファ69の命令データが命令実行装
置に送出されるとともに、アドレスバッファ63から読
み出されるパターンデータを用いてキャッシュデータメ
モリ60がアクセスされて命令データが出力バッファ6
9に格納され、新たに出力されたパターンデータがアド
レスバッファ63に格納されていくことになる。
【0070】図8に、この図7の実施例の命令供給処理
のタイムチャートの一例を図示する。ここで、このタイ
ムチャートでは、アドレスバッファ63が、アドレスバ
ッファ0,1,2 という3つのバッファで構成されるととも
に、キャッシュデータメモリ70の1000番地にAAAA、10
04番地にBBBB、・・・1028番地にHHHHという命令データ
が格納されていることを想定している。
【0071】すなわち、T1サイクルで、キャッシュア
クセス要求を受理すると、T2サイクルで、キャッシュ
タグメモリ61にアクセスすることで、キャッシュタグ
メモリ61からヒット・ミスヒット表示のパターンデー
タを出力する。このとき、アドレスバッファ63が空
で、出力バッファ69が空であることから、出力された
パターンデータは、アドレスバッファ63をバイパスし
てキャッシュデータメモリ60に与えられ、これによ
り、T3サイクルで、命令リリース信号の発行に同期し
て、命令データAAAAが命令実行装置に送出される。
【0072】一方、T5サイクルで、命令リリース信号
の停止を検出すると、命令データCCCCを出力バッファ6
9に保持させたまま、アドレスバッファ63への格納処
理に入る。なお、このとき、キャッシュデータメモリ6
0には、命令データDDDDに対応する1012番地が与えられ
ている。続いて、T6サイクルで、1016番地のアドレス
でキャッシュタグメモリ20をアクセスすることでパタ
ーンデータを得るとともに、このパターンデータをアド
レスバッファ63のアドレスバッファ0に保持させる。
続いて、T7サイクルで、命令リリース信号の発行を検
出すると、アドレスバッファ63から順番にキャッシュ
アクセスアドレスを読み出していくことで、キャッシュ
データメモリ60から命令データを読み出して命令実行
装置に送出していく。
【0073】このようにして、図7の実施例に従うこと
で、連想メモリ方式のキャッシュ装置にあって、キャッ
シュデータメモリ60の格納する命令データと同一のも
のをバッファリングする構成を採らずに命令実行装置に
供給できるようになる。
【0074】図9に、連想メモリ方式のキャッシュ装置
に適用した本発明の他の実施例を図示する。図中、図7
で説明したものと同じものについては同一の記号で示し
てある。
【0075】80はアドレスバッファであって、キャッ
シュタグメモリ61から出力されるパターンデータの持
つヒット信号の発行通番を、キャッシュタグメモリ61
のエントリーと対応をとりつつ保持するもの、81はバ
リッドバッファであって、アドレスバッファ80の保持
する発行通番の指す命令データのバリッド情報を保持す
るものである。このバリッドバッファ81の保持するバ
リッド情報は、発行通番を持つときに有効を表示し、持
たないときに無効を表示する。
【0076】82はメインコントロール回路であって、
アドレスバッファ80の保持する発行通番をコントロー
ルするとともに、バリッドバッファ81の保持するバリ
ッド情報をコントロールするもの、83はパターンデー
タ生成回路であって、アドレスバッファ80が発行通番
を保持するときに、その発行通番順に、その発行通番を
持つエントリーがヒット信号を示す形態のパターンデー
タを生成するものである。
【0077】84はパターンデータ選択回路であって、
パターンデータ生成回路83の生成するパターンデータ
を選択してキャッシュデータメモリ60に与えるか、キ
ャッシュタグメモリ61の出力するパターンデータをア
ドレスバッファ80をバイパスさせながら選択してキャ
ッシュデータメモリ60に与えるもの、85はバリッド
コントロール回路であって、命令実行装置に送出する命
令データのバリッド情報をコントロールするものであ
る。
【0078】このように構成される図9の実施例のキャ
ッシュ装置では、命令実行装置が命令要求アドレスを指
定してプリフェッチ要求を発行すると、キャッシュタグ
メモリ61は、命令要求アドレスの持つタグ及びインデ
ックスと一致するディレクトリデータ格納のエントリー
にヒット信号を出力し、不一致のディレクトリデータ格
納のエントリーにミスヒット信号を出力するので、メイ
ンコントロール回路82は、そのヒット信号の指すアド
レスバッファ80のエントリーに発行通番を書き込んで
いくとともに、そのヒット信号の指すバリッドバッファ
81のエントリーに有効である旨のバリッド情報を書き
込んでいく。
【0079】このようにして、アドレスバッファ80
に、ヒット信号の発行通番が保持されるとともに、バリ
ッドバッファ81に、アドレスバッファ80の保持する
発行通番の指す命令データのバリッド情報が保持される
ときに、命令実行装置が命令リリース信号を発行する
と、パターンデータ生成回路83は、その発行通番順
に、その発行通番を持つエントリーがヒット信号を示す
形態のパターンデータを生成し、これを受けて、パター
ンデータ選択回路84は、パターンデータ生成回路83
によりパターンデータが生成されるときには、その生成
されるパターンデータを選択してキャッシュデータメモ
リ60に与え、生成されないとき、すなわち、アドレス
バッファ80に発行通番が保持されないときには、命令
要求アドレスに応答してキャッシュタグメモリ61から
出力されるパターンデータをアドレスバッファ80をバ
イパスさせながら選択してキャッシュデータメモリ60
に与える。
【0080】このパターンデータ選択回路84からのパ
ターンデータを受けて、キャッシュデータメモリ60
は、そのパターンデータの指す命令データを読み出し
て、出力バッファ69を介して命令実行装置に送出す
る。このとき、バリッドコントロール回路85は、パタ
ーンデータ選択回路84がパターンデータ生成回路83
の生成するパターンデータを選択するときには、そのパ
ターンデータに対応付けられるバリッド情報をバリッド
バッファ81から読み出して、出力バッファ67を介し
て命令実行装置に送出していくとともに、パターンデー
タ選択回路70がキャッシュタグメモリ61の出力する
パターンデータを選択するときには、そのパターンデー
タに応答して、そのパターンデータの中にヒット信号が
存在するときには有効を表示し、存在しないときには無
効を表示するバリッド情報を生成して、それを出力バッ
ファ67を介して命令実行装置に送出していく。
【0081】なお、この処理にあって、パターンデータ
選択回路84は、出力バッファ69が空のときには、命
令リリース信号の発行に関係なく、キャッシュタグメモ
リ61の出力するパターンデータをアドレスバッファ6
3をバイパスさせながら選択してキャッシュデータメモ
リ60に与えるよう処理することになる。
【0082】すなわち、命令要求アドレスに応答してキ
ャッシュタグメモリ61からパターンデータが出力され
るときにあって、命令リリース信号が出ていないとき
に、出力バッファ69が空のときには、アドレスバッフ
ァ80をバイパスしつつキャッシュデータメモリ60が
アクセスされて命令データが出力バッファ69に格納さ
れ、空でないときには、アドレスバッファ80に発行通
番が格納されていくことになる。そして、命令要求アド
レスに応答してキャッシュタグメモリ61からパターン
データが出力されるときにあって、命令リリース信号が
出ているとき(必ず出力バッファ69に命令データが格
納されている)に、アドレスバッファ80が発行通番を
保持しないときには、出力バッファ69の命令データが
命令実行装置に送出されるとともに、アドレスバッファ
80をバイパスしつつキャッシュデータメモリ60がア
クセスされて命令データが出力バッファ69に格納さ
れ、発行通番が保持されるときには、出力バッファ69
の命令データが命令実行装置に送出されるとともに、パ
ターンデータ生成回路83の生成するパターンデータを
用いてキャッシュデータメモリ60がアクセスされて命
令データが出力バッファ69に格納され、新たに出力さ
れたパターンデータにより決定される発行通番がアドレ
スバッファ80に格納されていくことになる。
【0083】このようにして、この実施例のアドレスバ
ッファ80は、ヒット信号の発行通番を使い、FIFO
形式と等価な形式でキャッシュデータメモリ60のアク
セスに必要となる情報を管理する構成を採るのである。
【0084】図10に、アドレスバッファ80の保持デ
ータの一例を図示する。この図では、キャッシュタグメ
モリ61が、命令データAAAAを指す1000番地をエントリ
ー位置“2”に、命令データBBBBを指す1004番地をエン
トリー位置“4”に、命令データCCCCを指す1008番地を
エントリー位置“1”に、命令データDDDDを指す1012番
地をエントリー位置“5”に保持することを想定してい
る。そして、命令供給に応答して、最初に1000番地がヒ
ットし、続いて1004番地がヒットし、続いて1008番地が
ヒットし、続いて1012番地がヒットしたことを想定して
おり、これに対応させて、アドレスバッファ80が、エ
ントリー位置“2”に発行通番“00”を管理し、エント
リー位置“4”に発行通番“01”を管理し、エントリー
位置“1”に発行通番“02”を管理し、エントリー位置
“5”に発行通番“03”を管理することを想定してい
る。
【0085】図11に、アドレスバッファ80が発行通
番を保持していないときに、命令リリース信号が発行さ
れる場合のタイムチャートを図示する。このタイムチャ
ートに示すように、アドレスバッファ80が発行通番を
保持していないときに、命令リリース信号が発行され続
けると、キャッシュタグメモリ61から出力されるヒッ
ト信号は、アドレスバッファ80をバイパスしてそのま
まキャッシュデータメモリ60に送られ、これにより、
キャッシュデータメモリ60から、命令データAAAA、命
令データBBBB、命令データCCCC、命令データDDDDが順番
に読み出されて命令実行装置に送出されていくことにな
る。
【0086】このタイムチャートでは、T2サイクルの
ときに、キャッシュデータメモリ60から命令データが
読み出され、次のT3サイクルのときに、命令リリース
信号が発行され始めて命令データの送出が開始されると
いうものを示したが、命令リリース信号がT6サイクル
のときに発行され始める場合には、図12のタイムチャ
ートに示すように、命令データCCCCに対するヒット信号
と、命令データDDDDに対するヒット信号とが発行通番を
使ってアドレスバッファ80に保持されて、命令リリー
ス信号が発行され始めると、この発行通番により生成さ
れるパターンデータに従って、キャッシュデータメモリ
60から、命令データAAAA、命令データBBBB、命令デー
タCCCC、命令データDDDDが順番に読み出されて命令実行
装置に送出されていくことになる。
【0087】このようにして、図9の実施例に従うこと
で、連想メモリ方式のキャッシュ装置にあって、キャッ
シュデータメモリ60の格納する命令データと同一のも
のをバッファリングする構成を採らずに命令実行装置に
供給できるようになる。
【0088】以上に説明した実施例では、バリッドバッ
ファ29,52,64,81の保持するバリッド情報
(アドレスバッファ28,50,63,80の保持デー
タの指す命令データの有効・無効を表示するもの)の書
き換えについて説明していなかったが、分岐命令等によ
りムーブイン処理が実行されることで、このバリッド情
報に対応付けられる命令データが新たに有効となった
り、新たに無効になったりすることがある。これから、
本発明では、このようなことが発生するときに、バリッ
ドバッファ29,52,64,81の保持するバリッド
情報の書換処理を実行する回路機構を備える構成を採っ
ている。
【0089】
【発明の効果】以上説明したように、本発明の命令供給
装置では、キャッシュデータ装置にアクセスするための
情報を保持するアドレスバッファを設け、キャッシュデ
ータ装置とキャッシュタグ装置とを独立に動作させるこ
とで、従来技術の必要とする命令バッファ及び命令バッ
ファ制御装置の省略を実現する構成を採ることから、資
源の無駄を省きつつ、簡単な制御処理により命令データ
を供給できるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の動作説明図である。
【図3】本発明の一実施例である。
【図4】図3の実施例の動作説明図である。
【図5】本発明の一実施例である。
【図6】図5の実施例の動作説明図である。
【図7】本発明の一実施例である。
【図8】図7の実施例の動作説明図である。
【図9】本発明の他の実施例である。
【図10】アドレスバッファの保持データの説明図であ
る。
【図11】図9の実施例の動作説明図である。
【図12】図9の実施例の動作説明図である。
【図13】従来技術の説明図である。
【図14】従来技術の説明図である。
【図15】1次キャッシュ装置の説明図である。
【符号の説明】
10 命令供給装置 11 キャッシュデータ装置 12 キャッシュタグ装置 13 キャッシュ制御装置 14 アドレスバッファ手段 15 生成手段 16 選択手段 17 第1の出力バッファ手段 18 第2の出力バッファ手段 19 書換手段

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 命令データを格納するダイレクトマップ
    構成のキャッシュデータ装置と、タグデータを格納し
    て、命令データのヒット・ミスヒットを表示するバリッ
    ド情報を出力するダイレクトマップ構成のキャッシュタ
    グ装置とを備えて、該キャッシュデータ装置の出力する
    命令データを命令実行装置に送出する構成を採る命令供
    給装置において、 命令要求で指定されるキャッシュデータ装置に対しての
    アドレス情報をFIFO形式で保持するアドレスバッフ
    ァ手段と、 命令データが要求されるときに、上記アドレスバッファ
    手段が空でないときには、上記アドレスバッファ手段の
    保持するアドレス情報を選択してキャッシュデータ装置
    に与え、空のときには、上記アドレスバッファ手段への
    格納対象となるアドレス情報を、上記アドレスバッファ
    手段をバイパスさせながら選択してキャッシュデータ装
    置に与える選択手段とを備えることを、 特徴とする命令供給装置。
  2. 【請求項2】 請求項1記載の命令供給装置において、 アドレスバッファ手段は、アドレス情報と対となる形式
    で、該アドレス情報に対応してキャッシュタグ装置から
    出力されるヒット・ミスヒット表示のバリッド情報を保
    持するよう処理することを、 特徴とする命令供給装置。
  3. 【請求項3】 命令データを格納するセットアソシアテ
    ィブ構成のキャッシュデータ装置と、タグデータを格納
    して、命令データの格納先ウェイ情報を出力するセット
    アソシアティブ構成のキャッシュタグ装置とを備えて、
    該キャッシュデータ装置の出力する命令データを命令実
    行装置に送出する構成を採る命令供給装置において、 命令要求で指定されるキャッシュデータ装置に対しての
    アドレス情報と、該アドレス情報に対応してキャッシュ
    タグ装置から出力されるウェイ情報との対データをFI
    FO形式で保持するアドレスバッファ手段と、 命令データが要求されるときに、上記アドレスバッファ
    手段が空でないときには、上記アドレスバッファ手段の
    保持するアドレス情報及びウェイ情報を選択してキャッ
    シュデータ装置に与え、空のときには、上記アドレスバ
    ッファ手段への格納対象となるアドレス情報及びウェイ
    情報を、上記アドレスバッファ手段をバイパスさせなが
    ら選択してキャッシュデータ装置に与える選択手段とを
    備えることを、 特徴とする命令供給装置。
  4. 【請求項4】 請求項3記載の命令供給装置において、 アドレスバッファ手段は、アドレス情報及びウェイ情報
    と対となる形式で、該ウェイ情報から特定されるヒット
    ・ミスヒット表示のバリッド情報を保持するよう処理す
    ることを、 特徴とする命令供給装置。
  5. 【請求項5】 命令データを格納する連想メモリ構成の
    キャッシュデータ装置と、ディレクトリデータを格納し
    て、ヒット・ミスヒット信号を使って命令データの格納
    先エントリーを表示するアクセス情報を出力する連想メ
    モリ構成のキャッシュタグ装置とを備えて、該キャッシ
    ュデータ装置の出力する命令データを命令実行装置に送
    出する構成を採る命令供給装置において、 命令要求に応答してキャッシュタグ装置から出力される
    アクセス情報をFIFO形式で保持するアドレスバッフ
    ァ手段と、 命令データが要求されるときに、上記アドレスバッファ
    手段が空でないときには、上記アドレスバッファ手段の
    保持するアクセス情報を選択してキャッシュデータ装置
    に与え、空のときには、上記アドレスバッファ手段への
    格納対象となるアクセス情報を、上記アドレスバッファ
    手段をバイパスさせながら選択してキャッシュデータ装
    置に与える選択手段とを備えることを、 特徴とする命令供給装置。
  6. 【請求項6】 請求項5記載の命令供給装置において、 アドレスバッファ手段は、アクセス情報と対となる形式
    で、該アクセス情報が全エントリーのミスヒットを表示
    しているのか否かを示すバリッド情報を保持するよう処
    理することを、 特徴とする命令供給装置。
  7. 【請求項7】 命令データを格納する連想メモリ構成の
    キャッシュデータ装置と、ディレクトリデータを格納し
    て、ヒット・ミスヒット信号を使って命令データの格納
    先エントリーを表示するアクセス情報を出力する連想メ
    モリ構成のキャッシュタグ装置とを備えて、該キャッシ
    ュデータ装置の出力する命令データを命令実行装置に送
    出する構成を採る命令供給装置において、 命令要求に応答してキャッシュタグ装置から出力される
    アクセス情報の示すヒット信号の発行通番を、キャッシ
    ュタグ装置のエントリーと対応をとりつつ保持するアド
    レスバッファ手段と、 上記アドレスバッファ手段の保持する発行通番順に、該
    発行通番を持つエントリーがヒット信号を示す形態のア
    クセス情報を生成する生成手段と、 命令データが要求されるときに、上記アドレスバッファ
    手段が空でないときには、上記生成手段の生成するアク
    セス情報を選択してキャッシュデータ装置に与え、空の
    ときには、上記アドレスバッファ手段への格納対象とな
    るアクセス情報を、上記アドレスバッファ手段をバイパ
    スさせながら選択してキャッシュデータ装置に与える選
    択手段とを備えることを、 特徴とする命令供給装置。
  8. 【請求項8】 請求項7記載の命令供給装置において、 アドレスバッファ手段は、発行通番と対となる形式で、
    発行通番の有無から特定されるヒット・ミスヒット表示
    のバリッド情報を保持するよう処理することを、 特徴とする命令供給装置。
  9. 【請求項9】 請求項2、4、6又は8記載の命令供給
    装置において、 命令データの送出処理に同期させて、アドレスバッファ
    手段の保持する該命令データと対となるバリッド情報を
    読み出して命令実行装置に送出する出力バッファ手段を
    備えることを、 特徴とする命令供給装置。
  10. 【請求項10】 請求項2、4、6、8又は9記載の命
    令供給装置において、 アドレスバッファ手段の保持情報の指すキャッシュデー
    タ装置のメモリ域に対して、ムーブインが実行されると
    きに、アドレスバッファ手段の保持する該保持情報と対
    となるバリッド情報を書き換える書換手段を備えること
    を、 特徴とする命令供給装置。
JP7178626A 1995-07-14 1995-07-14 命令供給装置 Pending JPH0934786A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP7178626A JPH0934786A (ja) 1995-07-14 1995-07-14 命令供給装置
US08/672,485 US6078993A (en) 1995-07-14 1996-06-26 Data supplying apparatus for independently performing hit determination and data access
US09/211,045 US6076145A (en) 1995-07-14 1998-12-15 Data supplying apparatus for independently performing hit determination and data access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7178626A JPH0934786A (ja) 1995-07-14 1995-07-14 命令供給装置

Publications (1)

Publication Number Publication Date
JPH0934786A true JPH0934786A (ja) 1997-02-07

Family

ID=16051750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7178626A Pending JPH0934786A (ja) 1995-07-14 1995-07-14 命令供給装置

Country Status (2)

Country Link
US (2) US6078993A (ja)
JP (1) JPH0934786A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW440761B (en) * 1999-05-06 2001-06-16 Ind Tech Res Inst The cache device and method
US6836828B2 (en) * 2002-04-03 2004-12-28 Faraday Technology Corp. Instruction cache apparatus and method capable of increasing a instruction hit rate and improving instruction access efficiency
US20070094432A1 (en) * 2005-10-24 2007-04-26 Silicon Integrated Systems Corp. Request transmission mechanism and method thereof
US20110228674A1 (en) * 2010-03-18 2011-09-22 Alon Pais Packet processing optimization
US9069489B1 (en) 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
US9037810B2 (en) * 2010-03-02 2015-05-19 Marvell Israel (M.I.S.L.) Ltd. Pre-fetching of data packets
US8327047B2 (en) * 2010-03-18 2012-12-04 Marvell World Trade Ltd. Buffer manager and methods for managing memory
US9098203B1 (en) 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization
US9703492B2 (en) 2015-05-19 2017-07-11 International Business Machines Corporation Page replacement algorithms for use with solid-state drives
US10558463B2 (en) 2016-06-03 2020-02-11 Synopsys, Inc. Communication between threads of multi-thread processor
US10318302B2 (en) 2016-06-03 2019-06-11 Synopsys, Inc. Thread switching in microprocessor without full save and restore of register file
US10628320B2 (en) * 2016-06-03 2020-04-21 Synopsys, Inc. Modulization of cache structure utilizing independent tag array and data array in microprocessor
US10552158B2 (en) 2016-08-18 2020-02-04 Synopsys, Inc. Reorder buffer scoreboard having multiple valid bits to indicate a location of data
US10613859B2 (en) 2016-08-18 2020-04-07 Synopsys, Inc. Triple-pass execution using a retire queue having a functional unit to independently execute long latency instructions and dependent instructions

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148536A (en) * 1988-07-25 1992-09-15 Digital Equipment Corporation Pipeline having an integral cache which processes cache misses and loads data in parallel
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
EP0795820B1 (en) * 1993-01-21 2000-03-01 Advanced Micro Devices Inc. Combined prefetch buffer and instructions cache memory system and method for providing instructions to a central processing unit utilizing said system.
US5745729A (en) * 1995-02-16 1998-04-28 Sun Microsystems, Inc. Methods and apparatuses for servicing load instructions

Also Published As

Publication number Publication date
US6078993A (en) 2000-06-20
US6076145A (en) 2000-06-13

Similar Documents

Publication Publication Date Title
JP3816586B2 (ja) 先取り命令を生成する方法とシステム
JPH03127147A (ja) 情報処理システム
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JPH06318177A (ja) キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム
JPH0934786A (ja) 命令供給装置
US5524225A (en) Cache system and method for providing software controlled writeback
US5813030A (en) Cache memory system with simultaneous access of cache and main memories
US5838946A (en) Method and apparatus for accomplishing processor read of selected information through a cache memory
JPH0628239A (ja) メモリアクセス時間を短縮したコンピュータシステム及びメモリアクセス時間を短縮する方法
JP2004326175A (ja) プロセッサ、キャッシュシステム及びキャッシュメモリ
JP2004318877A (ja) 知的な待ち方法
JP2004240616A (ja) メモリコントローラ及びメモリアクセス制御方法
JP3132566B2 (ja) 命令先行制御装置
US5926840A (en) Out-of-order fetching
JP4037806B2 (ja) キャッシュメモリ装置
JP2864548B2 (ja) 命令キャッシュ装置
JP3260566B2 (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
JP2778623B2 (ja) プリフェッチ制御装置
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
US7840757B2 (en) Method and apparatus for providing high speed memory for a processing unit
JPH10207773A (ja) バス接続装置
JPH0421044A (ja) 1チップキャッシュメモリ
JP2762797B2 (ja) 命令キャッシュを有するパイプライン構成の情報処理装置
JPH07141174A (ja) レジスタ装置
JPH0535589A (ja) キヤツシユメモリ装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010403