JPH11509663A - 命令キャッシュを備えたプロセッサ - Google Patents

命令キャッシュを備えたプロセッサ

Info

Publication number
JPH11509663A
JPH11509663A JP9540695A JP54069597A JPH11509663A JP H11509663 A JPH11509663 A JP H11509663A JP 9540695 A JP9540695 A JP 9540695A JP 54069597 A JP54069597 A JP 54069597A JP H11509663 A JPH11509663 A JP H11509663A
Authority
JP
Japan
Prior art keywords
instruction
output
bits
cache
word
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.)
Granted
Application number
JP9540695A
Other languages
English (en)
Other versions
JP3706633B2 (ja
Inventor
マイケル アング
エイノ ジェイコブス
ハリ ハムパプラム
エン シー リー
Original Assignee
フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
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
Priority claimed from US08/648,333 external-priority patent/US6131152A/en
Priority claimed from US08/649,732 external-priority patent/US5862398A/en
Application filed by フィリップス エレクトロニクス ネムローゼ フェンノートシャップ filed Critical フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
Publication of JPH11509663A publication Critical patent/JPH11509663A/ja
Application granted granted Critical
Publication of JP3706633B2 publication Critical patent/JP3706633B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array

Landscapes

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

Abstract

(57)【要約】 命令キャッシユは入力バス及び出力バスを持ち、この入力バスは、前記命令キャッシュにある記憶に対する命令のビットを受信し、前記出力バスは命令の前記ビットを並行して出力するための並列なラインのセットを有する。前記キャッシュのレイアウトを簡潔にするために、並列なラインのセット上の前記命令のビットの出力順序は、前記入力バスを介して前記ビットを受信する論理順序とは異なる。前記命令ワードのビットは、前記キャッシュにロードするより先にシャッフルされる。これらワードがキャッシュから読み取られる場合、これら読取りラインは交差しない。

Description

【発明の詳細な説明】 命令キャッシュを備えたプロセッサ 技術分野 本発明は、命令キャッシュを備えるコンピュータプロセッサ及びこのようなコ ンピュータプロセッサに対する命令を製造する方法に関する。 本発明は、特にVLIW(Very Long Instruction Word)プロセッサと、このよ うなプロセッサに対する命令書式及びこのような命令書式を処理するための方法 及び装置とに関する。 背景技術 VLIWプロセッサは、複数の供給スロットを含む命令ワードを持つ。これら プロセッサは複数の機能ユニットも含む。各機能ユニットは、既定の形の動作の セットを実行するためである。各機能ユニットがパイプライン法(pipe-linedman ner)で各マシンサイクルにおける命令を始めるRISCと似ている。各供給スロ ットはそれぞれの動作を維持するためである。同一の命令ワードにおけるすべて の命令が前記プロセッサの1サイクルにおいて前記機能ユニットを並列に始める べきである。故に、このVLIWは良好な類似を実行する。 従って、典型的にVLIWマシーンにおける命令は、複数の動作を含む。汎用 のマシーンに関し、各動作は個々の命令で呼ばれる。しかしながら、このVLI Wマシーンにおいて各命令は動作又は無動作(dummy operations)からなる。 汎用プロセッサのように、VLIWプロセッサは、例えば、このプロセッサ上 で実行するための命令ストリームを記憶するためのディスクドライブのようなメ モリ装置を使用する。VLIWプロセッサは、汎用プロセッサのように、前記プ ロセッサに対し高帯域幅アクセスを可能にする命令ストリームの部分を記憶する ためのキャッシュも使用することができる。 前記VLIWプロセッサにおけるこの命令は、プログラマ又はこれら動作から のコンパイラによって構築される。従って、前記VLIWプロセッサでのスケ ジューリングは、ソフトウェアでの制御である。 前記VLIWプロセッサは、以下のようなベクトルプロセッサ及びスーパース カラプロセッサのような並列プロセッサの他の形と比較される。ベクトルプロセ ッサは、同時に複数のデータアイテム上で実行される単一の動作を持つ。スーパ ースカラプロセッサは、VLIWプロセッサのように良好な類似を実行するがV LIWプロセッサではい。このスーパースカラプロセッサは、ハードウェア動作 をスケジュールする。 長い命令ワードにより、前記VLIWプロセッサは、キャッシュ使用に関する 問題を深刻にする。大きなコードサイズは特にキャッシュ誤り、即ち命令を必要 とする位置がキャッシュに無いことを引き起こす。大きなコードサイズは、より 高いメインメモリ帯域幅にコードを前記メインメモリから前記キャッシュに移す ことを必要にもする。 このアプリケーションに対する技術背景に関する更なる情報は、本特許出願の 発明者によって、共に審査中の特許出願に見ることができ、参考文献によってこ こで及び後述する先行文献中に加えられる同様の出願(出願人参照番号PHA23122 )で指定され、これらは、参照によってここに加えられる。 −US Apphcation Ser.No.998,090,filed December29,1992(PHA21,777)、これ は、良好な類似を実施するためのVLIWプロセッサアーキテクチャを示し、 −US Apphcation Ser.No.142,648,filed October 25,1993(PHA1205)、これは 、ガードビットの使用を示し及び、 −US Application Ser.No.366,958,filed December 30,1994(PHA21,032)、こ れは、VLIWアーキテクチャで使用するためのレジスタファイルを示す。 発明の開示 本発明は、キャッシュレイアウトを簡単にすることを目的とする。 本発明のもう一つの目的は、シャッフルされるビットストリームを製造する方 法を提供し、当該ビットストリームが簡単にされたキャッシュレイアウトを可能 にする。 本発明は、請求項1で述べられるようなコンピュータプロセッサを提供する。 これは、メインメモリ及び前記処理ユニットそれぞれへの接続の必要性を満たす ために、入力バス及び出力バスを別々にレイアウトすることを可能にする。従っ て、キャッシュレイアウトを簡単にするシャッフルされたビットストリームが使 用される。このキャッシュは、シャッフルされた命令ストリームを記憶し、記憶 手段からバスへとビットをマルチプレックスするので、これらビットはデシャッ フル(deshuffled)される。多数のラインは、前記記憶手段から前記バスへ読み取 られ、これらラインは互いに交差しない。 本発明は、請求項7で述べられるような方法にも関する。コンパイル及びリン クされる目的モジュールは、コンパイラ及び/又はリンカで製造され、コードは 、第2目的モジュールを製造するためにこのコンパイル及びリンクされたソフト ウェアをスウィズル(swizzle)するために受信される。この第2目的モジュール は、キャッシュ構造の出力バスワイヤが交差しない当該キャッシュ構造を使用す るキャッシュメモリから読み取られることに関しデスウィズル(deswizzle)する のに適する。 図面の簡単な説明 本発明を以下の図面を参照して限定されない例として説明される。 第1A図は、本発明の圧縮された命令書式を使用するためのプロセッサを示す 。 第1B図は、第1A図のプロセッサのCPUの詳細を示す。 第2A図から第2E図は、キャッシュに命令の可能な位置を示す。 第3図は、本発明に従うコードのコンピレーション及びリンクを説明する。 第4図は、圧縮及びシャッフリングモジュールのフローチャートである。 第5図は、第4図のボックス902を展開したもである。 第6A図は、入力における命令キャッシュ103の機能を示す概略図である。 第6B図は、出力における命令キャッシュ103の一部の機能を示す概略図で ある。 第7図は、出力における命令キャッシュ104の機能を示す概略図である。 第8図は、伸張処理を説明する。 発明を実施するための最良の形態 第1A図は、本発明に従うプロセッサの一般的な構成を示す。本発明に従うマ イクロプロセッサは、CPU102、命令キャッシュ103及びデータキャッシ ュ105を含む。このCPUは高帯域幅のバスでこれらキャッシュと接続される 。前記マイクロプロセッサは、命令ストリームが記憶されるメモリ104も含む 。 前記キャッシュ103は、512ビットのダブルワードを持つように構成され る。前記ワードにおける個々のバイトはアドレス可能であるが、前記ビットは不 可能である。バイトは8ビット長である。好ましくは、このダブルワードは1ク ロックサイクルで一つのワードをアクセス可能にする。 この命令ストリームは、圧縮された書式で命令として記憶される。この圧縮さ れた書式は、前記メモリ104と前記キャッシュ103との両方で使用される。 第1B図は、本発明に従うVLIWプロセッサの詳細を示す。このプロセッサ は、マルチポートレジスタファイル150、多数の機能ユニット151,152 ,153,…、及び命令供給レジスタ154を含む。このマルチポートレジスタ ファイルは、これら機能ユニットからの結果と、これら機能ユニットに対するオ ペランドとを記憶する。前記命令供給レジスタは、開始すべき動作を1クロック サイクルで含むための複数の供給スロットをこれら機能ユニット151,152 ,153,…上に並列に含む。伸張ユニット155は、この圧縮された命令を前 記命令キャッシュ103から前記IIR154で使用可能な形式に変換する。 要するに、圧縮された命令は、前記供給スロットが当該圧縮された命令で使用 すべきことを特定する書式領域を含む。検索効果に対し、書式ビットは、この書 式ビットが関係する命令に先行する命令に記憶される。これは、命令検索のパイ プラインングを可能にする。N個の供給スロットマシーンに対し2*Nの書式ビ ットが存在し、2ビットのN個の集合として構成される場合、各集合は供給スロ ットに対応する。1つの集合でのビットは、対応する供給スロットが用いられる べきか及び動作長が当該供給スロットに対する動作によって前記命令に占められ るかを特定する。 第3図は、どのようにソースコードがロード可能な圧縮された目的モジュール となるかの概略図を示す。始めに、このソースコード801は、目的モジュール 803の第1のセットを作るために、コンパイラ802によってコンパイルされ なければならない。これらモジュールは、目的モジュールの第2の形を作るため に、リンカ804でリンクされる。この後、このモジュールは、ロード可能なモ ジュール807を生むために806で圧縮及びシャッフルされる。 いかなる標準コンパイラ又はリンカも使用することができる。目的モジュール IIは、多くの標準データ構造を含む。これらは、ヘッダ、グローバル&ローカル 記号テーブル、再配置情報に対する参照テーブル、セクションテーブル及びデバ ッグ情報を含み、この幾つかは、圧縮及びシャッフリングモジュール807で使 用される。前記目的モジュールIIは、テキスト区分を含み処理すべき命令が存在 する区分と前記テキストから生じる前記ソースファイルのトラックを保つソース 区分とを有する。 前記圧縮及びシャッフリングモジュールの高レベルフローチャートを第4図に 示す。901において、目的モジユールIIが読み込まれる。902において、前 記テキスト区分が処理される。903において、残りのセクションが処理される 。904において、前記ヘッダが更新される。905において、前記目的モジュ ールが出力される。 第5図は、ボックス902を展開したものである。1001において、参照テ ーブル、すなわち再配置情報が集められる。1002において、分岐ターゲット は圧縮されるべきではないので、これらは収集される。1003において、ソフ トウェアは、ソース区分に多くのファイルが存在するかを確認するために調べる 。存在する場合、1004において、次のファイルに対応する部分が検索され、 次に1005において、前記部分が圧縮される。1006において、前記ソース 区分におけるファイル情報が更新される。1007において、前記ローカル記号 テーブルが更新される。 前記ソース区分にもはやファイルが存在しない場合、前記グローバル記号テー ブルが1008で更新される。次に1009において、前記テキスト区分におけ るアドレス参照が更新される。次に1010において、256ビットのシャッフ リングが生じる。このようなシャッフリングに対するモチベーションは、以下で 述べる。 第8図は、ボックス1005を展開したものである。始めに、1101におい て、圧縮すべき命令が多数存在するかを判断する。存在する場合、次の命令が1 102で検索される。その後、前記命令における各動作は1103で圧縮され、 分散テーブルは1108で更新される。圧縮及びシャッフリングの結果として使 用されるこの分散テーブルは新しいデータ構造であり、この構造は以下に説明さ れる。次に1104において、命令における動作と後続する命令の書式ビットと の全てが結合される。結果として、現在の命令がアドレスを含むならば、前記参 照テーブルにおける再配置情報は、1105で更新されなければならない。11 06において、前記テキスト区分におけるアドレス参照を更新するのに必要とさ れる情報が集められる。1107において、圧縮された命令は、出力ビットスト リングの端に添付され、制御はボックス1101に戻る。これ以上の命令がない 場合、制御はボックス1106に戻る。 前記分散テーブルは、本発明の圧縮及びシャッフリングの結果として使用され 、以下に説明される。 この参照テーブルは、命令ストリームによって用いられるアドレスの位置のリ ストと、これら位置で表にされる実際のアドレスの対応するリストとを含む。前 記コードが圧縮され場合及び前記コードがロードされる場合、前記アドレスは更 新されなければならない。従って、この参照テーブルは、この更新を許可するた めの回数だけ使用される。 しかしながら、前記コードが圧縮及びシャッフされる場合、前記アドレスの実 際のビットは、互いに分離され、再順序化される。それ故、この分散テーブルは 、前記参照テーブルにおける各々のアドレスに対し表にされる。ここでイーチビ ット(EACH BIT)は置かれている。好ましい実施例において、前記テーブルは、 ビット領域の幅、前記ソーステキストにおける前記アドレスの対応する記号から のオフセット、宛先テキストにある前記アドレスにおいて対応する記号から対応 するオフセットを表にする。 目的モジュールIIIは、前記プロセッサ上で実行するためにロードされ、この 分散テーブルは、前記ビットがデシャッフルされる前でさえ、更新すべき参照テ ーブルで表にされる前記アドレスを可能にする。 前記VLIWプロセッサが上記に述べたように圧縮された命令を処理するため に、これら命令は伸張されるべきである。伸張後、これら命令は、好ましい実施 例の場合において、Nは5であるN個の供給スロットを持つ命令レジスタを満た すだろう。第9図は、伸張処理の概略図である。命令はメモリ1201、すなわ ちメインメモリ104又は命令キャッシュ105のどちらかから来る。次にこれ ら命令は、1203で伸張される前に1201でデシャッフルされなければなら ず、これらは以下で説明される。1203で伸張した後、これら命令は、前記C PU1204に進む。BIT SWIZZLING 命令が例えば512ビットダブルワードのように長いところでは、キャッシュ 構造は複雑となる。前記チップのレイアウトを簡単にするために前記命令のビッ トをスウィズルすることが利点となる。ここで、これらワードスウィズル及びシ ャッフルは、同じことを意味するのに用いる。以下は、スウィズルリングビット に対するアルゴリズムである。 for(k=0;k<4;k=k+1) for(i=0;i<8;i=i+1) for(j=0;j<8;j=j+1) begin word_shuffled[k*64+j*8+i]= word_unshuffled[(4*i+k)*8+j] end ここでi,j及びkは整数記号を示し、word_shuffledは、シャッ フルされたワードのビットを記憶するための行列であり、word_unshu ffledは、シャッフルされないワードのビットを記憶するための行列である 。 このやり方において、ビットが前記“word_shuffled”に書か れた記号は、前記ビットが前記配列“word_unshuffled”から読 み取られる記号の3ビットの論理ローテーションである。(nビットの論理ロー テーションにおいて、前記記号のビットはnビットによって、より有効な位置へ と移され、当該記号のn個の最大有効ビットは、n個の最小有効位置に置かれる 。)n=3ビットローテーションの特定の選択は、以下に記載された場合に対し 選択される。前記キャッシュからビットを読み取る空間的順序は、8(=2nn =3)個の異なるメモリバンクからのビットの周期的なインターリーブである。CACHE STRUCTURE 第6A図は、VLIW命令の効果的処理に有効なキャッシュ構造の入力に関す る機能を示す。このキャッシュは、それぞれ2kバイトである16個のバンク6 01−616を含む。これらバンクは入力バス617を割り当てる。前記キャッ シュは2つのスタックに分割される。左側にあるスタックは、“low”と呼ば れ、右側にあるスタックは、“high”と呼ばれる。 このキャッシュは、一度に一つのバンクにのみ、この時一度に4バイトだけし か入力できない。アドレッシングは、前記バンクのどの4バイトが満たされるか を決める。前記キャッシュにおいて記憶すべき512ビットワード各々に対し、 4バイトが各バンクに記憶される。各バンクの割り当てられた部分は、既定のワ ードのロードに対する各バンクの対応する部分を示すことを説明する。これら割 り当てられた部分は説明だけである。いかなる既定のワードも前記バンクの対応 する部分のどんなセットにもロードされる。 上記アルゴリズムに従ってスウィズルする後、このスウィズルされたワードのシ ーケンシャル4バイト部分は、以下のような順序608,616,606,61 4,604,612,602,610,607,615,613,603,61 1,601,609でバンクにロードされる。このスウィズルされたワードの4 バイト部分のロード順序は、前記バンクを表しているボックス内にローマ数字で 示されている。 第6B図は、前記スウィズルされたワードが前記キャッシュから読み出される 方法を示す。第6B図は、前記低いスタックのバンクの割り当てられる位置のみ を示す。この高い部分はアナログである。割り当てられる部分601a−608 a各々は32ビットを持つ。これらビットは、すなわち次のような順序608a −ビット0,607a−ビット0,…,601a−ビット0;608a−ビット 1,607a−ビット1,…,601a−ビット1;…;608a−ビット31 ,607a−ビット31,…,601a−ビット31で示される接続を使用する 出力バス上にロードされ、バス256ローと呼ばれる。これらの接続を使用する ことで、前記ワードは自動的にこの適切なビット順序へとデスウィズルされる。 ワイヤ620,621,…,622の束は、前記出力バス256ロー(output bus low)を一緒に形成する。これらワイヤは、交差することなく前記キャッシュ を通り前記出力へと通り抜ける。 出力に関して前記キャッシュは、第7図と類似している。前記ビットは、制御 ユニット704の制御下のスタックロー(stack low)701及びスタックハイ(st ack high)702から、当該ビットが上記で特定される出力順序にあることを保 証するシフトネットワーク703を通って読み出される。この方法において、前 記512ビットワードの全体の出力は、束620,621,…622とアナログ ワイヤとが交差すること無く保証される。 本発明は、ビットが事前にシャッフルされる命令ストリームのビットそれぞれ を記憶するための手段とこれらビットがデシャッフルされるようにビットを前記 記憶手段からバスへとマルチプレックスする手段とを有するコンピュータプロセ ッサにおける使用に対する命令キャッシュを提供する。前記マルチプレックス手 段は、前記記憶手段から前記バスへと通じる多数のラインを有し、当該ラインは 互いに交差しない。好ましくは、この命令ストリームは、ダブルワード書式であ り、前記キャッシュは、前記ダブルワード書式から第1のワードを記憶するため の第1のスタックと当該ダブルワード書式から第2のワードを記憶するための第 2のスタックを有する。 好ましくは、前記スタックはバンクに構成され、出力バイトの各ビットに対し 一つのバンクが前記出力バスに存在する。マルチプレックス手段は、出力バイト を作るために各バンクから1ビット移すよう作用する。 好ましくは、前記キャッシュはn個の命令を記憶するためであり、ここでnは 整変数であり、各バンクは前記n個の命令の各々からそれぞれのビットを少なく とも1つ含む。各バンクは、出力ワードの各バイトに対してRAM列を含む。こ れらRAM列はm個の集合に構成され、ここでmは前記出力ワードに多数のバイ トを示す整数であり、それぞれの集合は前記出力ワードの各ビットに対してそれ ぞれRAM列を含み、1つの集合における2つのRAM列は、同じバンクには存 在しない。前記マルチプレックス手段は、m列のマルチプレックスを有し、各列 マルチプレックスは、ビットを前記それぞれの集合における各RAM列から前記 出力ワードヘマルチプレックスするように作用する。 実施例において、前記命令キャッシュは、8個のバンクからなる第1及び第2 キャッシュを有し、各バンクは1ビット64RAMセルの8個のRAM列を有し 、前記RAM列は、8個のRAM列の集合に構成され、前記第1スタックはダブ ルワード出力の低位ビットを記憶するためであり、前記第2スタックは当該ダブ ルワード出力の高位ビットを記憶するためである。前記マルチプレックス手段は 、ビットを各それぞれの集合における各RAM列から前記出力ワードヘマルチプ レックスするように作用する。 好ましくは、前記キャッシュは第1及び第2バスを有し、前記第1バスは出力 ワードの低位ビットを出力するためであり、前記第2バスは出力ワードの高位ビ ットを出力するためである。前記ビットのシャッフルの結果、前記第1及び第2 バスのラインは交差することなく前記プロセッサの同じ面に置かれる。 前記コンピュータプロセッサに対する命令ストリームを製造するために、コン ピュータ記憶媒体に記憶されたコンピュータソフトウェアは、 −コンパイラ及び/又はリンカで製造されるコンパイル及びリンクされる目的 モジュールであり、コンピュータ記憶媒体で記憶される当該目的モジュールを受 信するためのコード及び、 −第2目的モジュールは、キャッシュ構造の出力バスワイヤが交差しない当該 キャッシュ構造を使用するキャッシュメモリから読むことに対しスウィズルされ ることに適する当該第2目的モジュールを製造ために前記コンパイル及びリンク されるソフトウェアをスウィズルするためのコード、 を有するスウィズルされた命令を生成するために具備される。 好ましくは、コンピュータ記憶媒体に記憶され、スウィズルするためのコードは 、これらビットから前記命令に関するシャッフルされた命令のビットの位置を記 憶するための分散テーブルを生成する。 この方法において、本発明はビットストリームがコンピュータプロセッサ上で 実行するための命令の部分を少なくとも含むコンピュータ記憶媒体に記憶され、 多数のビットを含む部分をコンピュータ記憶媒体に記憶されるビットストリーム を提供し、当該ビットはシャッフルされた順序であり、このシャッフルされた順 序は、前記コンピュータプロセッサのシャッフルされたチップレイアウトを可能 にする。前記命令は例として512ビットを有する。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),CN,JP (72)発明者 ハムパプラム ハリ オランダ国 5656 アーアー アインドー フェン プロフ ホルストラーン 6 (72)発明者 リー エン シー オランダ国 5656 アーアー アインドー フェン プロフ ホルストラーン 6 【要約の続き】

Claims (1)

  1. 【特許請求の範囲】 1.入力バスは命令キャッシュに記憶するための命令のビットを受信し、出力 バスは前記命令の前記ビットを出力するためのラインのセットを並列して有し、 前記ラインのセット上の前記命令の前記ビットの空間出力順序は、前記入力バス を介して前記ビットを受信する入力順序とは異なり、前記入力バス及び前記出力 バスを持つ前記命令キャッシュと前記命令のビットを受信するための前記出力バ スに結合される命令入力を備える処理ユニットとを有するコンピュータプロセッ サ。 2.前記命令キャッシュが記憶のバンクのセットを有し、前記命令はビットの ワードを有し、前記入力バスは、一度に一つのバンクにそれぞれのワードを入力 するためであり、前記出力バスがバンクのセットのバンクからの命令のワードか ら連続するビットをライン上に出力するそれぞれの前記ラインは、前記出力バス がバンクの前記セットの他のバンクからの前記命令の他のワードから対応するビ ットをライン上に出力する前記ラインによって介在されることを特徴とする請求 項1に記載のコンピュータプロセッサ。 3.前記命令は多数の出力バイトを有し、連続する出力バイトは、並列なライ ンのセットからラインが空間的に連続する集合へ出力され、出力バイトの各ビッ トは異なるバンクによって出力されることを特徴とする請求項2に記載のコンピ ュータプロセッサ。 4.各バンクは、各出力バイトに対するRAM列を有し、前記RAM列はm個 の集合で構成され、mは出力ワードにおいて多数のバイトを表す整数であり、同 一バンクにおいて1つの集合に2つの列は存在しないことを特徴とする請求項3 に記載のコンピュータプロセッサ。 5.m列のマルチプレクサを有し、各列のマルチプレクサはそれぞれの集合に おける各RAM列からビットを前記出力ワードへマルチプレックスするように作 用することを特徴とする請求項4に記載のコンピュータプロセッサ。 6.前記命令キャッシュは、ここでnが整変数であるn個の命令を記憶するた めであり、各バンクは前記n個の各命令からビットをそれそれ少なくとも1 つ得ることを特徴とする請求項2乃至5の何れか1項に記載のコンピュータプロ セッサ。 7.請求項1から6の何れか1項に記載のコンピュータプロセッサのための命 令を製造する方法であり、当該方法は、コンパイラ及び/又はリンカで製造され るコンパイル及びリンクされる目的モジュールを受信すること及び、前記第2目 的モジュールの前記ビットは、当該ビットが前記コンパイル及びリンクされる目 的モジュールに現れる順序で連続的に並列なラインのセットに現れるので、前記 命令キャッシュに書き込むための第2目的モジュールを製造するために当該コン パイル及びリンクされる目的モジュールをシャッフルすることのステップを有す ることを特徴とする方法。 8.バンクの前記セットにおける多数のバンクは2つの性質があり、前記コン パイル及びリンクされる目的モジュールにおけるそれぞれの第1のビットアドレ スを持つ当該コンパイル及びリンクされる目的モジュールからの各ビットは、前 記シャッフルステップにおいて、前記第2の目的モジュールにおけるそれぞれの 第2のビットアドレスで置かれ、当該それぞれの第2のビットアドレスは前記性 質に対応する多数のビット位置による前記それぞれの第1ビットアドレスの論理 ローテーションであることを特徴とする請求項7に記載の方法。 9.前記第2目的モジュールを前記命令記憶部に書き込むステップを有するこ とを特徴とする請求項7又は8に記載の方法。 10.前記命令記憶部がメインメモリ及びキャッシュメモリを有し、バンクの前 記セットは当該キャッシュメモリに含まれることを特徴とする請求項7,8又は 9に記載の方法。 11.請求項7から10の何れか1項に記載の方法を実行するためのコンピュー タ読取り可能媒体に記憶されたコンピュータソフトウェア。 12.請求項7から10の何れか1項に記載の方法を実行するためにプログラム されたコンピュータ。 13.前記命令はダブルワード書式であり、前記命令キャッシュは同じ方法でバ ンクの前記セットとしてスタックに配置される前記バンクのセットと前記バン クの他のセットとの両方を前記ダブルワード書式の第1及び第2ワードをそれぞ れ出力するために構成されるバンクの更なるセットを有することを特徴とする請 求項2から6の何れか1項に記載のコンピュータプロセッサ。
JP54069597A 1996-05-15 1997-05-14 命令キャッシュを備えたプロセッサ Expired - Fee Related JP3706633B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US08/649,732 1996-05-15
US08/648,333 1996-05-15
US08/648,333 US6131152A (en) 1996-05-15 1996-05-15 Planar cache layout and instruction stream therefor
US08/649,732 US5862398A (en) 1996-05-15 1996-05-15 Compiler generating swizzled instructions usable in a simplified cache layout
PCT/IB1997/000552 WO1997043715A2 (en) 1996-05-15 1997-05-14 Processor with an instruction cache

Publications (2)

Publication Number Publication Date
JPH11509663A true JPH11509663A (ja) 1999-08-24
JP3706633B2 JP3706633B2 (ja) 2005-10-12

Family

ID=27095356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54069597A Expired - Fee Related JP3706633B2 (ja) 1996-05-15 1997-05-14 命令キャッシュを備えたプロセッサ

Country Status (5)

Country Link
EP (1) EP0846291B1 (ja)
JP (1) JP3706633B2 (ja)
CN (1) CN1145099C (ja)
DE (1) DE69723804T2 (ja)
WO (1) WO1997043715A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520811A (ja) * 2004-01-13 2007-07-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 実行可能コードの復号化に用いる方法およびこれに関連する装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351782C (zh) * 1999-05-13 2007-11-28 Arc国际美国控股公司 用于设计数字处理器的方法以及装置
US7296120B2 (en) * 2004-11-18 2007-11-13 International Business Machines Corporation Mechanism that provides efficient multi-word load atomicity

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179680A (en) * 1987-04-20 1993-01-12 Digital Equipment Corporation Instruction storage and cache miss recovery in a high speed multiprocessing parallel processing apparatus
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
WO1991004536A1 (en) * 1989-09-20 1991-04-04 Dolphin Server Technology A/S Instruction cache architecture for parallel issuing of multiple instructions
CA2148464A1 (en) * 1992-11-05 1994-05-11 Warren Marwood Data formatter
WO1994027216A1 (en) * 1993-05-14 1994-11-24 Massachusetts Institute Of Technology Multiprocessor coupling system with integrated compile and run time scheduling for parallelism

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520811A (ja) * 2004-01-13 2007-07-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 実行可能コードの復号化に用いる方法およびこれに関連する装置
JP4751835B2 (ja) * 2004-01-13 2011-08-17 エヌエックスピー ビー ヴィ 実行可能コードの復号化に用いる方法およびこれに関連する装置

Also Published As

Publication number Publication date
EP0846291A2 (en) 1998-06-10
JP3706633B2 (ja) 2005-10-12
EP0846291B1 (en) 2003-07-30
DE69723804D1 (de) 2003-09-04
CN1197519A (zh) 1998-10-28
WO1997043715A3 (en) 1998-01-22
CN1145099C (zh) 2004-04-07
WO1997043715A2 (en) 1997-11-20
DE69723804T2 (de) 2004-05-27

Similar Documents

Publication Publication Date Title
JP3833269B2 (ja) プロセッサのための命令圧縮、解凍のシステム及び方法
US5371864A (en) Apparatus for concurrent multiple instruction decode in variable length instruction set computer
EP0851343B1 (en) System for processing floating point operations
US5724540A (en) Memory system having a column address counter and a page address counter
US5832290A (en) Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US5513363A (en) Scalable register file organization for a computer architecture having multiple functional units or a large register file
EP1047989A1 (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
JPH08328958A (ja) 命令キャッシュ、キャッシュメモリ装置及びその方法
US20060288188A1 (en) Translating a string operation
US6978358B2 (en) Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers
JP2001523022A (ja) データストリーミングのためのコンピュータのプロセッサ及び方法
EP1297416A1 (en) Generation of memory addresses utilizing scheme registers
JPH11509663A (ja) 命令キャッシュを備えたプロセッサ
JP3750821B2 (ja) 圧縮された命令フォーマットを処理するvliwプロセッサ
US5752271A (en) Method and apparatus for using double precision addressable registers for single precision data
EP2017737A1 (en) Cache memory
JP2005535045A (ja) Vliw命令を処理するためのプロセッサおよび方法
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
EP1050818A1 (en) Computer memory access
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
JPS6371736A (ja) Romのパリテイビツト領域割当方式
JPH04266140A (ja) アドレス変換バッファ装置
NO156025B (no) Databehandlingssystem.
JP2000276588A (ja) キャッシュメモリ装置及びプロセッサ
WO1995022791A2 (en) Method and apparatus for single cycle cache access on double word boundary cross

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041027

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050518

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: 20050712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050801

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: 20080805

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130805

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees