JP3755661B2 - Vliwプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法 - Google Patents

Vliwプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法 Download PDF

Info

Publication number
JP3755661B2
JP3755661B2 JP2002238800A JP2002238800A JP3755661B2 JP 3755661 B2 JP3755661 B2 JP 3755661B2 JP 2002238800 A JP2002238800 A JP 2002238800A JP 2002238800 A JP2002238800 A JP 2002238800A JP 3755661 B2 JP3755661 B2 JP 3755661B2
Authority
JP
Japan
Prior art keywords
instruction
vliw
cache
instruction cache
bit
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
JP2002238800A
Other languages
English (en)
Other versions
JP2004078627A (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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2002238800A priority Critical patent/JP3755661B2/ja
Publication of JP2004078627A publication Critical patent/JP2004078627A/ja
Application granted granted Critical
Publication of JP3755661B2 publication Critical patent/JP3755661B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、VLIWプロセッサにおける命令キャッシュ制御システムに関し、特に、無効演算命令(nop)の挿入を不要とし、命令フェッチの高速化を実現するVLIWプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法に関する。
【0002】
【従来の技術】
近年、LSI製造技術の発展により、多数の機能ユニットを備えるプロセッサを1チップで実現可能となっている。これにともない、プログラム中の命令レベル並列性を利用したマイクロプロセッサの命令発行幅は増加傾向にある。また、命令発行の実行サイクル数を減少させるには、単位時間あたりの命令供給量を増加させることが必要であり、複数の命令を同時に実行することによって性能を向上させることができるVLIW(Very Long InstructionWord)方式プロセッサの多数の命令を高速に機能ユニットに供給する技術は重要となっている。
【0003】
VLIW方式プロセッサは、1つの命令語中に含まれる複数の演算命令を同じサイクルで実行することによって並列度を高め、プロセッサの性能向上を図っている。しかし、並列に実行できない演算については、1つの命令語にエンコードすることができないため命令語中に無効演算命令(nop)が挿入されてコード効率が悪くなることが知られている。
【0004】
VLIW方式プロセッサでは、並列実行可能な複数の演算操作命令からなる非常に長い命令を高速にフェッチするために、高ヒット率、高バンド幅の命令キャッシュが不可欠である。一般には、VLIW命令中には、多くの無効演算命令(nop)が含まれているために、無効演算命令(nop)を含んだVLIW命令をキャッシュに格納すると、命令キャッシュの使用効率が低下し、命令キャッシュミス率が増加する。実際、従来技術を使用した命令キャッシュにおいては、使用する命令フィールドの半分以上を無効演算命令(nop)占める場合も生じる。
【0005】
並列に実行できない演算命令について、命令語中に無効演算命令(nop)を挿入することによるコード効率悪化の問題を解決する技術として、例えば特開平10−292199号公報に開示された発明があるが、命令キャッシュ制御により無効演算命令(nop)を削減する方法には言及していない。
【0006】
【発明が解決しようとする課題】
以上述べたように従来においては、1つのVLIW命令は、複数の機能ユニットで並列実行される複数の演算操作命令を含んで構成され、並列実行可能な演算操作命令がないフィールドには、無効演算命令(nop)が割り当てられる。無効演算命令(nop)を含んだVLIW命令を命令キャッシュに格納すると、命令キャッシュにおける使用効率が低くなり、命令キャッシュのミスヒット率の増加につながり、命令フェッチが高速に行えなくなるという問題があった。
【0007】
本発明の目的は、命令キャッシュ中に命令を格納する際に、無効演算命令(nop)の挿入を不要としてキャッシュ利用効率を高め、キャッシュミスヒット時間を短縮し、命令フェッチの高速化を実現するVLIWプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法を提案することにある。
【0008】
【課題を解決するための手段】
上記目的を達成する本発明は、1つのVLIW命令中に含まれる複数の演算操作命令を並列実行するVLIWプロセッサにおける命令キャッシュ制御システムであって、2次キャッシュから命令キャッシュへ前記VLIW命令を格納する際に、無効演算命令を挿入することなく、前記2次キャッシュ内の命令キャッシュブロックをそのまま前記命令キャシュのデータアレイに格納し、前記演算操作命令に、命令要求アドレスが指定するVLIW命令に含まれる演算操作命令か否かを示す要求有効命令ビットを設け、前記命令要求アドレスと前記要求有効命令ビットに基づいて、前記命令キャッシュに格納される前記VLIW命令に含まれる演算操作命令を選択する選択手段を備えることを特徴とする。
【0009】
請求項2の本発明の命令キャッシュ制御システムは、前記VLIW命令を含む前記演算操作命令の数に応じて可変長とし、前記VLIW命令に含まれる前記演算操作命令に、前記VLIW命令間の境界を識別する連続命令ビットを設け、前記連続命令ビットに基づいて、前記1つのVLIW命令に含まれる前記演算操作命令を格納する前記命令キャッシュブロックを識別して、前記命令キャッシュのデータアレイに格納することを特徴とする。
【0010】
請求項3の本発明の命令キャッシュ制御システムは、前記演算操作命令に、演算実行に使用する機能ユニットの種類を示す演算識別ビットを設け、前記演算識別ビットに基づいて、前記演算操作命令を、使用する機能ユニットに分配する命令分配回路を備えることを特徴とする。
【0011】
請求項4の本発明の命令キャッシュ制御システムは、複数のセレクタを構成される前記選択手段であって、前記演算操作命令毎にいずれか1つの前記セレクタが選択される前記選択手段を備えることを特徴とする。
【0012】
請求項5の本発明の命令キャッシュ制御方法は、1つのVLIW命令中に含まれる複数の演算操作命令を並列実行するVLIWプロセッサにおける命令キャッシュ制御方法であって、2次キャッシュから命令キャッシュへ前記VLIW命令を格納する際に、無効演算命令を挿入することなく、前記2次キャッシュ内の命令キャッシュブロックをそのまま前記命令キャシュのデータアレイに格納し、前記演算操作命令に、命令要求アドレスが指定するVLIW命令に含まれる演算操作命令か否かを示す要求有効命令ビットを設け、前記命令要求アドレスと前記要求有効命令ビットに基づいて、前記命令キャッシュに格納される前記VLIW命令に含まれる演算操作命令を選択手段によって選択することを特徴とする。
【0013】
請求項6の本発明の命令キャッシュ制御方法は、前記VLIW命令を含む前記演算操作命令の数に応じて可変長とし、前記VLIW命令に含まれる前記演算操作命令に、前記VLIW命令間の境界を識別する連続命令ビットを設け、
前記連続命令ビットに基づいて、前記1つの VLIW 命令に含まれる前記演算操作命令を格納する前記命令キャッシュブロックを識別して、前記命令キャッシュのデータアレイに格納することを特徴とする。
【0014】
請求項7の本発明の命令キャッシュ制御方法は、前記演算操作命令に、演算実行に使用する機能ユニットの種類を示す演算識別ビットを設け、前記演算識別ビットに基づいて、前記演算操作命令を、使用する機能ユニットに分配する命令分配回路を備えることを特徴とする。
【0015】
請求項8の本発明の命令キャッシュ制御方法は、前記選択は、前記演算操作命令毎に前記選択手段を構成する複数のセレクタのうちのいずれか1つによって実行されることを特徴とする。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0018】
図1は、本発明の無効演算命令(nop)を挿入することなく複数命令のフェッチを可能とするキャッシュ制御方式を実現するVLIW命令コード形式を示す図である。
【0019】
VLIW命令110は、コンパイラによって抽出された並列実行可能な複数の演算操作から構成される命令である。本発明では、個々の演算操作命令を短命令210と呼び、1つ以上の並列実行可能な短命令210によって構成される命令をVLIW命令110とする。
【0020】
本実施の形態におけるVLIWプロセッサで実行されるVLIW命令110の命令幅は可変であり、8Byteから32Byteである。また、VLIW命令110に含まれる演算操作命令である短命令210の命令幅は8Byteであり、最大で4つの短命令210が、VLIW命令110の構成要素となる。
【0021】
図2は、VLIW命令110に含まれる短命令210の命令形式を示したものである。
【0022】
各短命令210には、要求有効命令ビット101、連続命令ビット102、演算識別ビット103が含まれる。
【0023】
要求有効命令ビット101は、命令要求アドレスにより指定されたVLIW命令110中の短命令210であるかを判別するためのビットである。要求有効命令ビット101=「1」の時、該当する短命令は、命令要求アドレスにより指定されるVLIW命令110中の短命令であることを示す。要求有効命令ビット101=「0」の時、命令要求アドレスにより指定されていないVLIW命令中の短命令であることを示す。
【0024】
連続命令ビット102は、該当する短命令210の後続に、同一のVLIW命令110中の短命令210が存在するか否かを判別するためのビットである。連続命令ビット102=「1」の時、後続に短命令210が存在し、連続命令ビット102=「0」の時、同一のVLIW命令110内には後続の短命令210が存在せず、最後の短命令210であることを示す。要求有効命令ビット及び連続命令ビットの意味は、上記と反対であってもよい。
【0025】
演算識別ビット103は、短命令210に含まれる演算種類を規定するビットであり、演算識別ビット103=「00」の時に整数演算命令、演算識別ビット103=「01」の時にロード/ストア命令、演算識別ビット103=「10」の時に分岐命令、演算識別ビット103=「11」の時に浮動少数点演算命令であることを示している。この演算識別ビット103によって、短命令の演算実行に使用する機能ユニットが示される。
【0026】
図3は、従来における1つの命令語中に含まれる複数の命令を並列実行するVLIW(Very Long Instruction Word)アーキテクチャを採用したVLIWプロセッサの2ウェイセットアソシアティブ(associative)構成をとる命令キャッシュ300の一構成例を示したものである。命令キャッシュのデータアレイにVLIW命令を格納した状態を示している。
【0027】
2次キャッシュ301には、無効演算命令(nop)は挿入されていないと仮定し、命令キャッシュ300上のデータアレイ313及び315上のブロックサイズとVLIW命令長は等しく32Byteの固定である。
【0028】
命令キャッシュ300のデータアレイ313及び315上のキャッシュブロックには、各機能ユニット320〜323に1対1に対応した格納フィールド304〜307及び308〜311が存在する。
【0029】
格納フィールド304及び308は整数演算命令用フィールド、格納フィールド305及び309はロード/ストア命令用フィールド、格納フィールド306及び310は分岐命令用フィールド、格納フィールド307及び311は浮動小数点命令用フィールドである。
【0030】
各機能ユニット320〜323は、同様に機能ユニット320が整数演算命令、機能ユニット321がロード/ストア命令、機能ユニット322が分岐命令、機能ユニット323が浮動小数点演算命令をそれぞれ実行する演算ユニットである。
【0031】
VLIW命令が命令キャッシュ300に格納される時点でVLIW命令に含まれる演算操作命令が、どの演算操作を行う命令かがクロスバ302で識別され、その演算と一致する演算操作命令が格納フィールド304から311に分配され、各フィールドに格納される。この時、VLIW命令中に存在しない演算操作命令の対応する格納フィールドには無効演算命令(nop)が格納される。
【0032】
命令フェッチ時には、命令キャッシュ300内の格納フィールド304〜311から、選択器316を通り各機能ユニット320〜323へ送られる。
【0033】
図3において、VLIW命令Aは整数演算命令、ロードストア命令、分岐命令を含むので、整数演算命令A#0、ロードストア命令A#1、分岐命令A#2は、それぞれ該当する機能ユニットに対応する命令キャッシュ上の格納フィールド304、305、306に格納され、浮動小数点演算命令は存在しないため浮動小数点演算命令の格納フィールド307には、無効演算命令(nop)が格納される。
【0034】
また、VLIW命令Bは、整数演算命令のみのため格納フィールド308にのみ整数演算命令B#0が格納され、その他の格納フィールド309〜311には無効演算命令(nop)が格納される。
【0035】
図4は、本発明の実施の形態におけるVLIWプロセッサの2ウェイセットアソシアティブ(associative)構成をとる命令キャッシュ制御システムを示すブロック図である。
【0036】
本実施の形態による命令キャッシュ制御システムは、2次キャッシュ401、2ウェイセットアソシアティブ(associative)構成をとる命令キャッシュ400、選択器416、短命令を機能ユニット420〜423に対して分配する命令分配回路430を備える。
【0037】
2次キャッシュ401には、図3で説明した従来の構成と同様、無効演算命令(nop)は含まれていない。命令キャッシュ400上のキャッシュブロックサイズは、VLIW命令110の最大長である32Byteである。本発明のVLIW命令110は図1に示したように可変長であり、命令キャッシュミス等により、2次キャッシュ401から命令データを転送する際、2次キャッシュ401上の命令キャッシュブロックがそのまま格納され、いかなる場合にも無効演算命令(nop)が格納されることはない。
【0038】
各機能ユニット420〜423については、機能ユニット420が整数演算命令、機能ユニット421がロード/ストア命令、機能ユニット422が分岐命令、機能ユニット423が浮動小数点演算命令をそれぞれ実行する演算ユニットである。
【0039】
命令キャッシュ400のデータアレイ413及び415の各キャッシュブロックの格納フィールド404〜411は、図3に示した従来の構成と異なり、命令実行に使用する機能ユニット420〜423に1対1には対応していない。すなわち、図3で述べた従来と違い、VLIW命令110内の短命令210がデータアレイ413及び415の何れの格納フィールドに格納されるかは予め決められていない。
【0040】
例えば、VLIW命令Aの3つの短命令A#0、A#1、A#2は、同一ブロックの格納フィールド404、格納フィールド405、格納フィールド406に格納され、残りの命令フィールド407には無効演算命令(nop)は格納されず、次のVLIW命令Bが格納されている。
【0041】
また、VLIW命令Fについては、短命令F#0、F#1、F#2がデータアレイ413及び415のキャッシュブロックを跨った状態で格納フィールド407、408、409に格納されている。ただし、データアレイ413及び415のキャッシュブロックを跨った状態で格納される場合は、異なるウェイのデータアレイ上の格納フィールドに命令キャッシュブロックが格納される。
【0042】
命令要求アドレスによる命令キャッシュ検索の結果、ヒットしたVLIW命令110は、選択器416により、VLIW命令110の短命令210が選択され、命令分配機構430において、各短命令210上の演算識別ビット103に従い各機能ユニット420〜423へ転送される。なお、命令フェッチの詳細動作は、以降において詳細に説明する。
【0043】
図5は、本発明における命令要求アドレスのフォーマットを示したものである。ビット0−2が短命令データサイズ505を示し、本実施の形態では8Byteである。ビット3−4は短命令アドレス504、ビット5−15が命令キャッシュブロックアドレス(インデックス)503をしめす。本実施の形態の命令キャッシュ400は、1Kエントリを1ウェイとし2ウェイ構成である。ビット16−31は、命令キャッシュタグ502を表わす。各アドレスビットは、命令キャッシュ400でのブロック検索及びブロック選択等に使用する。
【0044】
以下、図6、7、8を参照して本発明の命令キャッシュ制御方式を利用した実施の形態の動作について詳細に説明する。
【0045】
図6は、図4に示す本実施の形態における2次キャッシュ401から2ウェイセットアソシアティブ構成の命令キャッシュ400へのデータ移行を示す図である。
【0046】
2次キャッシュ401の2次キャッシュブロック601は、命令キャッシュ400のブロックサイズ32Byteの4倍、128Byteを有する。命令キャッシュブロック602〜605は、それぞれ32Byteであり、8Byteの短命令210が4つ格納されている。
【0047】
2次キャッシュ401には、無効演算命令(nop)が含まれていないため、各々のVLIW命令110の命令幅は、各VLIW命令110毎に異なり、2次キャッシュ401上の命令キャッシュブロックサイズ32Byteとは無関係にVLIW命令110が格納されている。
【0048】
ここでは、命令キャッシュブロック602には、VLIW命令510の短命令620、621が、また命令キャッシュブロック603には、VLIW命令510の短命令621に続く短命令622と、VLIW命令511の短命令623及び624とVLIW命令512の短命令625が、命令キャッシュブロック604には、VLIW命令512の短命令625に続く短命令626、627及び628が格納されている。
【0049】
命令要求アドレス501による命令キャッシュ検索の結果、命令キャッシュ400上でキャッシュブロックに該当するVLIW命令が存在しない場合、つまりキャッシュミスの場合、2次キャッシュ401上の命令キャッシュブロックと、命令キャッシュ400上のブロックとの置き換えを行う。命令キャッシュ400上の置き換えブロックの決定は、LRU(LeastRecentlyUsed)に従ってなされる。
【0050】
命令要求アドレス501による命令キャッシュ検索の結果、VLIW命令510を含むキャッシュブロックのキャッシュミスが起こると、命令キャッシュ400上のブロックとの置き換えを行うが、VLIW命令510は、各短命令に含まれる連続命令ビット102から、2つの命令キャッシュブロックに跨っていることが分かるため、2次キャッシュブロック601上の命令キャッシュブロック602、及び命令キャッシュブロック603の2ブロックを命令キャッシュ400上のデータアレイ413及び415にそれぞれ格納する。この時、VLIW命令511と512もデータアレイ415に格納されることになる。
【0051】
VLIW命令510内の短命令620は整数演算命令であり、演算識別ビット103=「00」、後続に同一のVLIW命令510に含まれる短命令621が存在するので連続命令ビット102=「1」である。
【0052】
短命令621はロード/ストア命令であり、演算識別ビット103=「01」であり、後続に同一のVLIW命令510に含まれる短命令622が存在するので連続命令ビット102=「1」である。
【0053】
短命令622は、浮動小数点演算命令であり、演算識別ビット103=「11」であり、後続に同一のVLIW命令510に含まれる短命令は存在しないので連続命令ビット102=「0」である。
【0054】
図7は、命令要求アドレス501から、命令キャッシュ400上のキャッシュブロックを検索し、要求するVLIW命令に含まれる短命令がそれそれの命令を実行する機能ユニット420〜423に命令フェッチされるための構成とその動作を示している。
【0055】
命令要求アドレス501のビット5−15の命令キャッシュブロックアドレス503から、アドレスアレイ412と414のインデックス715及びインデックス719の検索が行われる。
【0056】
また、同時にVLIW命令が命令キャッシュブロック間を跨って格納されている場合を考慮し、加算器736により命令ブロックアドレス503に+1したキャッシュブロックアドレスについてもインデックス検索を行う。
【0057】
インデックス検索により該当ブロックが存在すると、アドレスアレイ412、またはアドレスアレイ414に含まれるキャッシュブロック上のタグ717、またはタグ721と、命令要求アドレス501上の命令キャッシュタグ502との一致を比較器731、または比較器734で判別し、その一致信号とブロック有効ビット716、またはブロック有効ビット720とを入力とする論理積回路730、または論理積回路733の出力信号732、出力信号735が決定する。
【0058】
そして、出力信号732及び735と各短命令内の要求有効命令ビット101とを入力とする論理積回路780〜787の出力信号である、選択器416を構成するセレクタ740〜743への選択信号770〜777が決定する。
【0059】
インデックス検索により該当したキャッシュブロックは短命令毎に、選択信号770〜777によりセレクタ740〜743でウェイ0、ウェイ1のいずれかの短命令が選択され、命令分配機構430に送られる。
【0060】
VLIW命令の短命令毎にセレクタ740〜743を設けることにより、VLIW命令がキャッシュブロックを跨って格納されている場合にも、同時に短命令を読み出すことが可能となる。各セレクタの選択信号770〜777の決定規則については、図8を用いて詳細に説明する。
【0061】
命令分配機構430で、VLIW命令内の短命令上の演算識別ビット103に基づいて、機能ユニット420〜423へ分配される。機能ユニット420は整数演算用ユニット、機能ユニット421はロードストア用ユニット、機能ユニット422は分岐命令用ユニット、機能ユニット423は浮動小数点演算用ユニットである。
【0062】
命令要求アドレス501が指定するVLIW命令が、図6で説明したVLIW命令510の場合は、命令要求アドレスのブロックアドレス503、及び加算器736により+1したインデックスにて、VLIW命令510を含むキャッシュブロックを検索する。短命令620及び短命令621は、ウェイ0側のキャッシュブロック中の後半アドレスの2つの短命令の格納フィールドに格納されているため、セレクタ742、及びセレクタ743にて選択される。
【0063】
一方、短命令622はウェイ1側のキャッシュブロック中の先頭の格納フィールドに格納されているため、セレクタ740により選択される。その後命令分配機構430により、各短命令の演算識別ビット103により、短命令620は整数演算命令用の機能ユニット420へ、短命令621はロードストア命令用の機能ユニット421へ、短命令622は浮動小数点演算用の機能ユニット423へそれぞれ分配される。
【0064】
図8は、キャッシュブロック中の短命令選択時に使用するセレクタ740〜セレクタ743の選択信号770〜777の決定について、VLIW命令510をフェッチする場合を例に図示したものである。
【0065】
VLIW命令510は、命令要求アドレス501上の短命令アドレス504により指定される短命令620を先頭とし、各々の短命令の連続命令ビット102により、VLIW命令510内の短命令620、621及び622の要求有効命令ビット101が「1」となっている。
【0066】
論理積回路730及び論理積回路733の出力信号732及び出力信号735と、それぞれの要求有効命令ビット101の論理積782、783及び784から選択信号772、773及び774が決定し、セレクタ742、743、及び740から短命令620、621及び622が選択される。
【0067】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【0068】
上述した実施の形態においては、命令キャッシュのデータアレイが2ウェイ、すなわち2つ備える構成について説明したが、2ウェイの構成に限定されることはなく、データアレイが1つの場合あるいは2つ以上である場合についても本発明を適用することが可能である。すなわち、1つの命令語中に含まれる複数の命令を、並列実行するVLIW(Very Long Instruction Word)アーキテクチャを採用したVLIWプロセッサにおいて、nウェイのセットアソシアティブ構成の命令キャッシュに適用することができる。
【0069】
【発明の効果】
以上説明したように本発明によれば、VLIWプロセッサの命令キャッシュシステムにおいて、VLIW命令の命令幅を可変長とし、VLIW命令に含まれる各短命令に、演算識別ビット、連続命令ビット、要求有効命令ビットを設けることにより、2次キャッシュから命令キャッシュ中に命令を格納する際に、無効演算命令(nop)の挿入を不要とすることにより、キャッシュミスヒットを減らしてキャッシュ利用効率を向上させ、命令フェッチの高速化が実現される。
【図面の簡単な説明】
【図1】 本発明におけるVLIW命令の形式を示す図である。
【図2】 本発明におけるVLIW命令内の短命令である演算操作命令の命令形式を示す図である。
【図3】 従来のVLIWプロセッサにおける命令キャッシュシステムの構成例を示すブロック図である。
【図4】 本発明の実施の形態における2ウェイセットアソシアティブ構成の命令キャッシュ制御システムの構成を示すブロック図である。
【図5】 本発明の実施の形態における命令要求アドレスを示す図である。
【図6】 本発明の実施の形態における命令キャッシュの構成及び命令の格納形態を示す図である。
【図7】 本発明の実施の形態における命令キャッシュ制御システムの動作を説明する図である。
【図8】 本発明の実施の形態におけるセレクタのセレクタ信号の生成規則を説明する図である。
【符号の説明】
110 VLIW命令
101 要求有効命令ビット
102 連続命令ビット
103 演算識別ビット
210 短命令
400 命令キャッシュ
401 2次キャッシュ
404〜411 格納フィールド
412、414 アドレスアレイ
413、415 データアレイ
416 選択器
430 命令分配回路
420〜423 機能ユニット
501 命令要求アドレス
730、733 論理積回路
740〜743 セレクタ
780〜787 論理積回路

Claims (8)

  1. 1つのVLIW命令中に含まれる複数の演算操作命令を並列実行するVLIWプロセッサにおける命令キャッシュ制御システムであって、
    2次キャッシュから命令キャッシュへ前記VLIW命令を格納する際に、無効演算命令を挿入することなく、前記2次キャッシュ内の命令キャッシュブロックをそのまま前記命令キャシュのデータアレイに格納し、
    前記演算操作命令に、命令要求アドレスが指定するVLIW命令に含まれる演算操作命令か否かを示す要求有効命令ビットを設け、
    前記命令要求アドレスと前記要求有効命令ビットに基づいて、前記命令キャッシュに格納される前記VLIW命令に含まれる演算操作命令を選択する選択手段を備えることを特徴とするVLIWプロセッサにおける命令キャッシュ制御システム。
  2. 前記VLIW命令を含む前記演算操作命令の数に応じて可変長とし、前記VLIW命令に含まれる前記演算操作命令に、前記VLIW命令間の境界を識別する連続命令ビットを設け、
    前記連続命令ビットに基づいて、前記1つのVLIW命令に含まれる前記演算操作命令を格納する前記命令キャッシュブロックを識別して、前記命令キャッシュのデータアレイに格納することを特徴とする請求項1に記載のVLIWプロセッサにおける命令キャッシュ制御システム。
  3. 前記演算操作命令に、演算実行に使用する機能ユニットの種類を示す演算識別ビットを設け、
    前記演算識別ビットに基づいて、前記演算操作命令を、使用する機能ユニットに分配する命令分配回路を備えることを特徴とする請求項1又は請求項2に記載のVLIWプロセッサにおける命令キャッシュ制御システム。
  4. 複数のセレクタを構成される前記選択手段であって、
    前記演算操作命令毎にいずれか1つの前記セレクタが選択される前記選択手段を備えることを特徴とする請求項1又は請求項2又は請求項3に記載のVLIWプロセッサにおける命令キャッシュ制御システム。
  5. 1つのVLIW命令中に含まれる複数の演算操作命令を並列実行するVLIWプロセッサにおける命令キャッシュ制御方法であって、
    2次キャッシュから命令キャッシュへ前記VLIW命令を格納する際に、無効演算命令を挿入することなく、前記2次キャッシュ内の命令キャッシュブロックをそのまま前記命令キャシュのデータアレイに格納し、
    前記演算操作命令に、命令要求アドレスが指定するVLIW命令に含まれる演算操作命令か否かを示す要求有効命令ビットを設け、
    前記命令要求アドレスと前記要求有効命令ビットに基づいて、前記命令キャッシュに格納される前記VLIW命令に含まれる演算操作命令を選択手段によって選択することを特徴とするVLIWプロセッサにおける命令キャッシュ制御方法。
  6. 前記VLIW命令を含む前記演算操作命令の数に応じて可変長とし、前記VLIW命令に含まれる前記演算操作命令に、前記VLIW命令間の境界を識別する連続命令ビットを設け、
    前記連続命令ビットに基づいて、前記1つのVLIW命令に含まれる前記演算操作命令を格納する前記命令キャッシュブロックを識別して、前記命令キャッシュのデータアレイに格納することを特徴とする請求項5に記載のVLIWプロセッサにおける命令キャッシュ制御方法。
  7. 前記演算操作命令に、演算実行に使用する機能ユニットの種類を示す演算識別ビットを設け、
    前記演算識別ビットに基づいて、前記演算操作命令を、使用する機能ユニットに分配する命令分配回路を備えることを特徴とする請求項5又は請求項6に記載のVLIWプロセッサにおける命令キャッシュ制御方法。
  8. 前記選択は、前記演算操作命令毎に前記選択手段を構成する複数のセレクタのうちのいずれか1つによって実行されることを特徴とする請求項5又は6又は7に記載のVLIWプロセッサにおける命令キャッシュ制御方法。
JP2002238800A 2002-08-20 2002-08-20 Vliwプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法 Expired - Fee Related JP3755661B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002238800A JP3755661B2 (ja) 2002-08-20 2002-08-20 Vliwプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002238800A JP3755661B2 (ja) 2002-08-20 2002-08-20 Vliwプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法

Publications (2)

Publication Number Publication Date
JP2004078627A JP2004078627A (ja) 2004-03-11
JP3755661B2 true JP3755661B2 (ja) 2006-03-15

Family

ID=32022082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002238800A Expired - Fee Related JP3755661B2 (ja) 2002-08-20 2002-08-20 Vliwプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法

Country Status (1)

Country Link
JP (1) JP3755661B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337272B2 (en) * 2006-05-01 2008-02-26 Qualcomm Incorporated Method and apparatus for caching variable length instructions
JP5206240B2 (ja) 2008-08-29 2013-06-12 日本電気株式会社 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JP2004078627A (ja) 2004-03-11

Similar Documents

Publication Publication Date Title
JP3659340B2 (ja) 命令履歴キャッシングを使用して推測的に命令を実行する回路、製品、およびそのための方法
US7856633B1 (en) LRU cache replacement for a partitioned set associative cache
CN102160033B (zh) 具有稀疏和密集预测缓存的复合分支预测装置
US7447868B2 (en) Using vector processors to accelerate cache lookups
CN112543916B (zh) 多表分支目标缓冲器
US7219185B2 (en) Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache
US7177876B2 (en) Speculative load of look up table entries based upon coarse index calculation in parallel with fine index calculation
JP2004157593A (ja) 多ポート統合キャッシュ
US6351796B1 (en) Methods and apparatus for increasing the efficiency of a higher level cache by selectively performing writes to the higher level cache
EP0927394B1 (en) A cache line branch prediction scheme that shares among sets of a set associative cache
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
WO2012076391A1 (en) Vector gather buffer for multiple address vector loads
US5737749A (en) Method and system for dynamically sharing cache capacity in a microprocessor
WO2019133258A1 (en) Look up table with data element promotion
US8707014B2 (en) Arithmetic processing unit and control method for cache hit check instruction execution
US6560676B1 (en) Cache memory system having a replace way limitation circuit and a processor
US5893146A (en) Cache structure having a reduced tag comparison to enable data transfer from said cache
US7761665B2 (en) Handling of cache accesses in a data processing apparatus
US5900012A (en) Storage device having varying access times and a superscalar microprocessor employing the same
EP0360553B1 (en) Buffer storage system
JP3755661B2 (ja) Vliwプロセッサにおける命令キャッシュ制御システム及び命令キャッシュ制御方法
US20130061213A1 (en) Methods and systems for optimizing execution of a program in a parallel processing environment
JP3732234B2 (ja) スーパースカラマイクロプロセッサのための非ブロッキングロードを実現するロード/ストアユニットおよびロード/ストアバッファから非ブロッキング的にロードを選択する方法
US6119220A (en) Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions
CN116302099A (zh) 加载数据到向量寄存器的方法、处理器、设备、介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100106

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110106

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120106

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130106

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees