JP2762798B2 - 命令キャッシュを有するパイプライン構成の情報処理装置 - Google Patents

命令キャッシュを有するパイプライン構成の情報処理装置

Info

Publication number
JP2762798B2
JP2762798B2 JP3281007A JP28100791A JP2762798B2 JP 2762798 B2 JP2762798 B2 JP 2762798B2 JP 3281007 A JP3281007 A JP 3281007A JP 28100791 A JP28100791 A JP 28100791A JP 2762798 B2 JP2762798 B2 JP 2762798B2
Authority
JP
Japan
Prior art keywords
instruction
buffer
instruction cache
register
stored
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
JP3281007A
Other languages
English (en)
Other versions
JPH05120011A (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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP3281007A priority Critical patent/JP2762798B2/ja
Publication of JPH05120011A publication Critical patent/JPH05120011A/ja
Application granted granted Critical
Publication of JP2762798B2 publication Critical patent/JP2762798B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、命令キャッシュを有す
るパイプライン構成の情報処理装置に関する。
【0002】
【従来の技術】従来、この種の命令キャッシュを有する
情報処理装置の命令先取り方式には、命令キャッシュミ
スヒット時に主記憶より読み出された命令語を命令キャ
ッシュの1エントリ分蓄えるバッファを有し、命令キャ
ッシュミスヒット中はこのバッファより命令の供給を行
い、さらに次の命令キャッシュのミスヒット時にバッフ
ァの内容を命令キャッシュに格納する第1の方式や、命
令キャッシュより読み出した命令語を蓄えるバッファを
有し、このバッファより命令の供給を行う第2の方式等
がある。また、第1,第2の両方式を備える装置もあ
る。
【0003】
【発明が解決しようとする課題】上述した従来の第1,
第2の方式のうち第1の方式のみ備える場合は、命令キ
ャッシュミスヒット時に次命令を供給する迄空いてしま
う時間が主記憶より命令語を読み出して来る迄の最短時
間より縮まることはない。また、バッファから命令キャ
ッシュに命令語を格納している間、命令キャッシュを索
引することが出来ないため、既に取り出した命令語が分
岐命令であり分岐先アドレスより命令語を先取りする場
合に待ち時間が生じ性能上の問題がある。次に、第2の
方式のみ備える場合は、命令キャッシュミスヒット時
に、命令キャッシュの1エントリ分の主記憶領域の途中
のアドレスより次命令を読み出す場合、主記憶より読み
出した1エントリ分の命令語を命令キャッシュに格納し
終わる迄の間、命令キャッシュを索引することが出来な
いため、1エントリ分の主記憶領域の境界内の命令語を
供給後、その次の命令語の供給迄に待ち時間が生じてし
まい、やはり性能上の問題がある。また、第1,第2の
両方式を備える場合には、性能上の問題は生じないもの
の、一方の方式のみ備える場合に比べて、著しくハード
ウェア量が増大してしまうという問題がある。
【0004】
【課題を解決するための手段】本発明のパイプライン構
成の情報処理装置は、命令キャッシュを有し、命令キャ
ッシュのミスヒット時に、主記憶より命令キャッシュの
1エントリ分の命令語を一度に読み出すパイプライン構
成の情報処理装置において、複数の命令語を格納するバ
ッファと、命令キャッシュがミスヒットした場合に、主
記憶より読み出した命令キャッシュの1エントリ分の命
令語の内、前記バッファの空領域に格納し得る部分を前
記バッファに、また残りの部分を命令キャッシュに格納
する第1の格納手段と、命令キャッシュを索引しないタ
イミングで、前記第1の格納手段により前記バッファに
格納された命令語を命令キャッシュに格納する第2の格
納手段と、命令キャッシュがヒットし、前記バッファに
空がある場合に、命令キャッシュより読み出した命令語
を前記バッファの空領域に格納する第3の格納手段と、
命令キャッシュがミスヒットして前記第1の格納手段に
より前記バッファに命令語を格納した場合、または前記
バッファに前記第3の格納手段により格納された命令語
がある場合に、前記バッファより命令語を供給する命令
語供給手段とを有する。
【0005】
【作用】命令キャッシュがミスヒットした場合、バッフ
ァに空きがあれば第1の格納手段が主記憶より読み出す
命令語をバッファに格納し、格納した命令語を第2の格
納手段が命令キャッシュに格納する。また、すでにバッ
ファに必要な命令語がある場合は、命令語供給手段がバ
ッファより命令語を供給する。さらに命令キャッシュが
ヒットし、バッファに空領域がある場合は、命令キャッ
シュより読み出した命令語を第3の格納手段がバッファ
の空領域に格納する。
【0006】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。図1は本発明の命令先取りシステムの一実
施例を示すブロック図、図2は図1の実施例の論理回路
を詳細に示すブロック図である。
【0007】命令取出しアドレスAA(以降、アドレス
AAと記す)の上位は、上位アドレスレジスタ102
(以降、UAレジスタ102と記す)に格納され、アド
レスAAの下位は、セレクタ106の一方の入力端に供
給される。セレクタ106は選択信号SAに基づいて、
アドレスAAの下位またはカウンタ105の出力を選択
し出力する。下位アドレスレジスタ103(以降、LA
レジスタ103と記す)はセレクタ106からのアドレ
スを格納する。ライトアドレスレジスタ120(以降、
WAレジスタ120と記す)はライトアドレスを格納す
る。セレクタ107は選択信号SBに基づいて、LAレ
ジスタ103またはWAレジスタ120が格納している
アドレスを選択し、命令キャッシュ101およびカウン
タ105に出力する。カウンタ105は、セレクタ10
7が出力したアドレスをインクリメントする。
【0008】セレクタ119は、選択信号SWに基づい
て、主記憶からのデータDDまたはセレクタ114の出
力を選択してライトデータレジスタ117(以降、WD
レジスタ117と記す)に出力する。WDレジスタ11
7は、セレクタ119からのデータを格納する。命令キ
ャッシュ101は、制御信号CCに基づいて、セレクタ
107の出力するアドレスに格納された内容を出力する
か、WDレジスタ117の内容をセレクタ107の出力
するアドレスに格納する。リードデータレジスタ108
(以降、RDレジスタ108と記す)は、命令キャッシ
ュ101の出力したデータを格納する。比較器109
は、UAレジスタ102が格納した内容と、RDレジス
タ108が格納した内容とを比較し、一致したときヒッ
ト信号HTをハイレベル(以降、“1”と記す)にす
る。
【0009】セレクタ112は、選択信号SCに基づい
て、RDレジスタ108またはWDレジスタ117を選
択し、格納している内容を命令バッファ113に出力す
る。命令バッファ113は、制御信号ENに基づき、セ
レクタ112の出力を格納する。セレクタ114は、選
択信号SEに基づき、命令バッファ113からの出力を
セレクタ119およびセレクタ111に出力する。セレ
クタ111は、制御信号SDに基づき、RDレジスタ1
08が格納している内容またはセレクタ114の出力を
選択して、パイプラインの下位ステージへ出力する。
【0010】論理回路200は上述した各信号SB,S
C,SD,SE,CC,EN,SWを生成するとともに
上位装置からの信号SAを受渡して各部を制御する回路
であり、図2を参照してさらに詳述する(信号SAは省
略する)。ライトアドレスレジスタ201(以降、WA
Aレジスタ201と記す)とリードアドレスレジスタ2
02(以降、RAAレジスタ202と記す)とは、命令
キャッシュ101より読み出した命令語を命令バッファ
113に格納するとき、または命令供給のために命令バ
ッファ113から読み出すときにそれぞれライトアドレ
スまたはリードアドレスを保持する。ライトアドレスレ
ジスタ203(以降、WABレジスタ203と記す)と
リードアドレスレジスタ204(以降、RABレジスタ
204と記す)とは、主記憶から読み出した命令語を命
令バッファ113に格納するとき、または命令バッファ
113に格納された命令語を命令キャッシュ101に格
納するときに、それぞれライトアドレスまたはリードア
ドレスを保持する。カウンタ205,206,207,
208は、それぞれWAAレジスタ201,RAAレジ
スタ202,WABレジスタ203,RABレジスタ2
04の保持内容を+1だけインクリメントする。比較器
209は、WAAレジスタ201とRAAレジスタ20
2の保持内容が一致すると、出力SDをロウレベル(以
降、“0”と記す)にする。比較器210は、WABレ
ジスタ203とRABレジスタ204の保持内容が一致
すると、出力SXを“0”とする。インバータ211
は、ヒット信号HTの論理レベルを反転する。インバー
タ212は、パイプラインの下位ステージより命令語の
供給を要求することを示す信号RDYの論理レベルを反
転する。なお信号DRPYは、命令キャッシュ101が
ミスヒットし、主記憶より命令語を読み出す場合に、主
記憶より1エントリ分の命令語の内、1ワードの命令語
が返って来たことを示すタイミング信号である。
【0011】フリップフロップ223は、命令バッファ
113に空きがない場合“1”を保持し、空きがある場
合“0”を保持する。
【0012】アンド回路215はフリップフロップの正
論理の出力と、インバータ211の出力と、信号DRP
Yとのアンドをとる。アンド回路216はインバータ2
12の出力と、比較器210の出力SXとのアンドをと
る。アンド回路224はフリップフロップの負論理の出
力と、インバータ211の出力SCと、信号DRPYと
のアンドをとる。セレクタ218は、インバータ212
の出力に基づいて、RAAレジスタ202またはRAB
レジスタ204を選択し、その保持内容を出力する。セ
レクタ219は、ヒット信号HTに基づき、アンド回路
214またはアンド回路220を選択し、その出力を出
力する。オア回路217は、アンド回路215,216
の出力のオアをとり、選択信号SBおよび制御信号CC
を出力する。デコーダ221,222はそれぞれセレク
タ218,219の出力を選択信号SEおよびイネーブ
ル信号ENにデコードする。
【0013】次に本実施例の動作について図1,図2を
参照して順次説明する。最初に命令バッファ113に対
する格納動作について説明する。命令キャッシュ101
がミスヒットすると、ヒット信号HTが“0”となるた
め、図2のインバータ211により選択信号SCが
“1”となり、命令バッファ113の入力データとして
WDレジスタ117の出力が選択される。このとき命令
バッファ113に空領域があるか否かがフリップフロッ
プ223(以降、FF223と記す)の正論理の出力が
“0”か否かにより調べられ、“0”であれば命令バッ
ファ113に空領域があると見なされ、主記憶より1ワ
ードの命令語が返って来たことを示す信号DRPY=1
によりアンド回路224の出力、及びアンド回路214
の出力が“1”となり、命令バッファ113に対するラ
イトイネーブル信号ENがセレクタ219、デコーダ2
22により生成されて、WABレジスタ203に対応す
る命令バッファ113のワードに主記憶からの命令語が
1ワードずつ格納される。尚、このときWABレジスタ
203の値はカウンタ208によりインクリメントされ
る。一方、FF223の出力が“1”であれば、命令バ
ッファ113への格納が行われないかわりに、アンド回
路215、オア回路217の出力が“1”となり、命令
キャッシュ101のライトイネーブル信号CCが“1”
となり、選択信号SBが“1”となることにより命令キ
ャッシュ101のライトアドレスが与えられて、主記憶
から読み出された命令語がセレクタ119によりWDレ
ジスタ117にセットされて1ワードずつ命令キャッシ
ュに格納される。
【0014】次に、命令キャッシュ101がヒットした
場合について説明すると、FF223が“0”即ち命令
バッファ113に空領域がある場合は、アンド回路22
0の出力が“1”となり、WAAレジスタ201の値に
対応した命令バッファ113のライトイネーブル信号E
Nがセレクタ219、デコーダ222を経由して“1”
となる。また、このとき選択信号SCは“0”となるた
め、命令バッファ113への入力はRDレジスタ108
の保持内容が選択される。このとき、命令キャッシュ1
01から読出された命令語の1ワードは、パイプライン
の下位ステージが受け付け可能な場合には、セレクタ1
11を経由してパイプラインの下位ステージに直接に供
給されるが、パイプラインの下位ステージが受け付け不
能な場合には、WAAレジスタ201が指示する命令バ
ッファ113のワードに格納される。命令バッファ11
3の入力データはRDレジスタ108の内容が選択さ
れ、WAAレジスタ201の値に対応した命令バッファ
113の空領域のワードに命令キャッシュ101から読
み出された命令語の1ワードが格納される。また、この
ときWAAレジスタ201の値はカウンタ205によっ
てインクリメントされる。FF223の出力が“1”即
ち命令バッファ113に空領域が無い場合であって、W
AAレジスタ201とRAAレジスタ202の保持内容
が異なるときは、命令バッファ113に命令キャッシュ
101より先取りした命令語が存在するため、命令バッ
ファ113内の命令語がRAAレジスタ202の値に従
ってパイプラインの下位ステージに供給されるか、RA
Bレジスタ204の値に従って命令キャッシュ101に
格納されて命令バッファ113に空領域ができる迄命令
キャッシュ101からの読み出し動作は停止する。ま
た、WAAレジスタ201とRAAレジスタ202の内
容が等しければ、命令バッファ113に命令キャッシュ
101より先取りした命令語は無く、セレクタ111を
経由してRDレジスタ108に読み出された命令語を命
令バッファ113を経由せずに供給する。
【0015】次に命令バッファに格納された命令語の読
出し動作について説明する。命令キャッシュ101ミス
ヒット中にWABレジスタ203に従って命令バッファ
113に格納された命令語は、パイプラインの下位ステ
ージからの命令供給要求信号RDYが“0”の場合、即
ち命令キャッシュ101を索引しないタイミングで、セ
レクタ218、デコーダ221、セレクタ114を経由
してRABレジスタ204に対応した命令バッファ11
3のワード内の命令語が読出される。また、このときW
ABレジスタ203とRABレジスタ204の保持内容
は、等しくないので、アンド回路216の出力、オア回
路217の出力は“1”となり、命令バッファ113か
ら読み出された命令語はWDレジスタ117にセットさ
れ、WAレジスタ120からのアドレスに従って命令キ
ャッシュ101に格納される。尚、このときRABレジ
スタ204の内容はカウンタ207によりインクリメン
トされる。命令キャッシュ101ヒット中にWAAレジ
スタ201に従って命令バッファ113に格納された命
令語は、信号RDY=“1”のタイミングで、セレクタ
218、デコーダ220、セレクタ114を経由してR
AAレジスタ202の内容に対応した命令バッファ11
3のワード内の命令語が読み出され、このときWAAレ
ジスタ201とRAAレジスタ202の内容が一致して
いないので選択信号SDが“1”となり、命令バッファ
113から読み出された命令語がパイプラインの下位ス
テージに供給される。尚、このときRAAレジスタ20
2はカウンタ206によりインクリメントされる。
【0016】以上説明したような制御を行うことによ
り、命令キャッシュ101がミスヒットした場合、命令
バッファ113より命令キャッシュ101から先取りし
た命令語を供給でき、また命令キャッシュ101への格
納時間を短縮することにより、性能を向上することが出
来る。
【0017】
【発明の効果】以上説明したように本発明は、命令語を
蓄えるバッファを命令キャッシュがヒットした場合の命
令先取り用のバッファとして用いるとともに、命令キャ
ッシュがミスヒットした場合の命令キャッシュへ命令語
を格納するためのバッファとしても用いることにより、
少量のハードウェアで命令キャッシュがミスヒットした
場合の性能を大幅に向上できる効果がある。
【図面の簡単な説明】
【図1】本発明のパイプライン構成の情報処理装置の一
実施例を示すブロック図である。
【図2】図1の実施例の論理回路を詳細に示すブロック
図である。
【符号の説明】
101 命令キャッシュ 102 上位アドレスレジスタ 103 下位アドレスレジスタ 105,205,206,207,208 カウンタ 106,107,111,112,114,119,2
18,219 セレクタ 108 リードデータレジスタ 109 比較器 113 命令バッファ 117 ライトデータレジスタ 120,201,203 ライトアドレスレジスタ 200 論理回路 202,204 リードアドレスレジスタ 209,210 比較器 211,212 インバータ 214,215,216,220,224 アンド回
路 217 オア回路 221,222 デコーダ 223 フリップフロップ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令キャッシュを有し、命令キャッシュ
    のミスヒット時に、主記憶より命令キャッシュの1エン
    トリ分の命令語を一度に読み出すパイプライン構成の情
    報処理装置において、 複数の命令語を格納するバッファと、 命令キャッシュがミスヒットした場合に、主記憶より読
    み出した命令キャッシュの1エントリ分の命令語の内、
    前記バッファの空領域に格納し得る部分を前記バッファ
    に、また残りの部分を命令キャッシュに格納する第1の
    格納手段と、 命令キャッシュを索引しないタイミングで、前記第1の
    格納手段により前記バッファに格納された命令語を命令
    キャッシュに格納する第2の格納手段と、 命令キャッシュがヒットし、前記バッファに空がある場
    合に、命令キャッシュより読み出した命令語を前記バッ
    ファの空領域に格納する第3の格納手段と、 命令キャッシュがミスヒットして前記第1の格納手段に
    より前記バッファに命令語を格納した場合、または前記
    バッファに前記第3の格納手段により格納された命令語
    がある場合に、前記バッファより命令語を供給する命令
    語供給手段とを有することを特徴とするパイプライン構
    成の情報処理装置。
JP3281007A 1991-10-28 1991-10-28 命令キャッシュを有するパイプライン構成の情報処理装置 Expired - Lifetime JP2762798B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3281007A JP2762798B2 (ja) 1991-10-28 1991-10-28 命令キャッシュを有するパイプライン構成の情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3281007A JP2762798B2 (ja) 1991-10-28 1991-10-28 命令キャッシュを有するパイプライン構成の情報処理装置

Publications (2)

Publication Number Publication Date
JPH05120011A JPH05120011A (ja) 1993-05-18
JP2762798B2 true JP2762798B2 (ja) 1998-06-04

Family

ID=17632980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3281007A Expired - Lifetime JP2762798B2 (ja) 1991-10-28 1991-10-28 命令キャッシュを有するパイプライン構成の情報処理装置

Country Status (1)

Country Link
JP (1) JP2762798B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6030734B2 (ja) * 1979-04-11 1985-07-18 健 増本 鉄族元素とジルコニウムを含む脆性が小さく熱的安定性に優れる非晶質合金

Also Published As

Publication number Publication date
JPH05120011A (ja) 1993-05-18

Similar Documents

Publication Publication Date Title
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5490113A (en) Memory stream buffer
US6021471A (en) Multiple level cache control system with address and data pipelines
US5297281A (en) Multiple sequence processor system
US8117395B1 (en) Multi-stage pipeline for cache access
US20040103250A1 (en) Microprocessor including cache memory supporting multiple accesses per cycle
JPH08328958A (ja) 命令キャッシュ、キャッシュメモリ装置及びその方法
JP3729545B2 (ja) キャッシュメモリへのアクセス
US6507899B1 (en) Interface for a memory unit
US20050206648A1 (en) Pipeline and cache for processing data progressively
US5283890A (en) Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
JP2762798B2 (ja) 命令キャッシュを有するパイプライン構成の情報処理装置
US7739483B2 (en) Method and apparatus for increasing load bandwidth
EP0488566A2 (en) Method and apparatus for fast page mode selection
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JP2762797B2 (ja) 命令キャッシュを有するパイプライン構成の情報処理装置
US6374344B1 (en) Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
JPH05282208A (ja) キャッシュメモリ制御方式
JPH02110646A (ja) メモリの先行読出し装置