JPH11312122A - 使用者が構築可能なオンチッププログラムメモリシステム - Google Patents

使用者が構築可能なオンチッププログラムメモリシステム

Info

Publication number
JPH11312122A
JPH11312122A JP10368139A JP36813998A JPH11312122A JP H11312122 A JPH11312122 A JP H11312122A JP 10368139 A JP10368139 A JP 10368139A JP 36813998 A JP36813998 A JP 36813998A JP H11312122 A JPH11312122 A JP H11312122A
Authority
JP
Japan
Prior art keywords
memory
chip
cache
data
pmc
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
JP10368139A
Other languages
English (en)
Inventor
Philip K Baltz
ケイ.バルツ フイリップ
Ray L Simar Jr
エル.シマー,ジュニア. レイ
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH11312122A publication Critical patent/JPH11312122A/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory

Landscapes

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

Abstract

(57)【要約】 【課題】 使用者が再構成可能なオンチップメモリシス
テムを提供することを目的とする 【解決手段】 オンチップメモリとこのメモリをプログ
ラムからの要求に応じて再構成するプログラムメモリ制
御装置とでオンチップメモリシステムを構成する。1つ
のモードでメモリは内部アドレス空間にマッピングさ
れ、別のモードではメモリはオンチップキャッシュとし
て構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にマイクロプ
ロセッサの構築に係わり、更に詳細にはオンチッププロ
グラムメモリ機能を有するマイクロプロセッサに関す
る。
【0002】
【従来の技術】マイクロプロセッサはコンピュータの命
令処理、算術、及び論理演算を単一チップ上で組み合わ
せる回路である。ディジタル信号処理装置(DSP)は
大量のデータを効率的に取り扱うように最適化されたマ
イクロプロセッサである。この様な処理装置は今日の多
数の電気製品、例えば高速モデム、高速ディスク駆動装
置、ディジタルセルラ電話機、および複雑な自動車シス
テムの動作の中心であり、将来的にその他のディジタル
システムに広範に使用されるものである。これらの環境
下に於いてDSPに対する要求は、使用者が彼らのディ
ジタル製品の性能向上を希求すると共に増大し続ける。
【0003】設計者はDSPおよびマイクロプロセッサ
の性能向上に、クロック速度を増大させること、回路設
計に於ける構造的隘路の除去すること、複数の実行ユニ
ットを単一プロセッサ回路上に組み込むこと、及びプロ
セッサで実行される操作を効果的な方法でスケジュール
する最適化コンパイラを開発することによって成功して
きている。クロック周波数を更に増大させることは実現
がますます困難になってきているので、設計者は高性能
なDSP性能を実現する手段として多重実行ユニットプ
ロセッサを採用するようになってきている。例えば図2
は8個の実行ユニット、L1,S1,M1,D1,L
2,S2,M2,及びD2を有するDSPのCPUデー
タ経路のブロック図を示す。これらの実行ユニットは複
数の操作、例えば加算、掛け算、アドレス指定、論理機
能、及びデータ格納及び読み取りを同時に実行するよう
に並列に動作する。
【0004】理論的に多重実行ユニットプロセッサの性
能は利用可能な実行ユニットの数に比例する。しかしな
がらこの性能上の利点を活用出来るか否かは、実行ユニ
ットのほとんどが各クロックサイクル毎に1つのタスク
を実施できるように動作を効率的にスケジューリング出
来るかにかかっている。効率的なスケジューリングは特
にループ化命令で重要であり、それはプロセッサの典型
的な実行時アプリケーションはその時間の大部分をルー
プ実行に費やすからである。
【0005】不幸にして、多重実行ユニットを取り込む
ことはまた新たなアーキテクチャ上の隘路を作り出す。
機能が増えると、例えば超長命令語(VLIW)アーキ
テクチャの様なより長い命令に言い換えられる。例えば
先に説明されている8実行ユニットVLIWプロセッサ
は、全ての実行ユニット上でタスクを実行させるために
各クロックサイクル毎に256ビット命令を必要とす
る。単に命令読み取りだけのためにプロセッサの外部へ
例えば256ビット幅並列データ経路を用意することは
一般的に実際的でないしまた望ましくも無いので、命令
ローディング用に利用できるデータ速度が多くのアプリ
ケーションで全体の制約要因となるはずである。本発明
の1つの目的はこの隘路を解決することである。
【0006】
【発明が解決しようとする課題】多くの高性能信号処理
装置は、少なくともいくつかのプログラムメモリをチッ
プ上に具備しているが、これは外部メモリから命令ロー
ディングする際に遅れが生じるためである。しかしなが
らマイクロプロセッサ上でオンチップメモリに割り当て
られている領域は必要に迫られて制限されており、従来
技術によるオンチップメモリはこの制限を有しかつ貴重
な資源を再構成する機能を提供していない。本発明はこ
れまで認識されていなかった問題を解決することを目指
しており、この問題とは、或るアプリケーションではそ
の核となる機能を十分なサイズを取られたメモリにロー
ドする事が出来るが、他方他のアプリケーションでは核
となる機能をそのようにすることが出来ない場合、資源
をデュプリケートしたり場合によっては浪費することな
く任意のアプリケーションの要求に合致するようにオン
チップメモリを設計することは出来ないものかというこ
とである。さて使用者が好適にはソフトウェアで構成可
能なオンチップメモリにより全てのアプリケーションに
対して最大のフレキシビリティーが提供されることが認
識された。本発明は実行時にアプリケーションで要求さ
れるいくつかのメモリモードの1つに構成可能なオンチ
ップメモリを具備したマイクロプロセッサを提供する。
【0007】本発明の1つの特徴として、構成可能なオ
ンチップメモリを含むマイクロプロセッサが開示されて
いる。好適にマイクロプロセッサは更にプログラムメモ
リ制御装置を含み、これは現行のオンチップメモリ構成
がマイクロプロセッサ中央処理ユニット(CPU)コア
に対してプログラムメモリ実行中に透明なように維持す
ることを可能とする。好適にこの構成可能オンチップメ
モリはメモリ・マップ(memory-mapped)またはキャッ
シュメモリのいずれかとして構成することが出来る。キ
ャッシュメモリは更に好適に多重モード、例えば完全使
用可能(fullyenabled)、バイパス、または読み取り専
用で動作するように構成できる。
【0008】本発明の第二の特徴として、構成可能オン
チップメモリはマイクロプロセッサ動作中にソフトウェ
ア制御のもとで再構成可能である。例えば構成可能メモ
リは1つのモードでブートされ、そしてマイクロプロセ
ッサのCPUによって実行されるソフトウェア命令によ
って、一度または複数回別のモードに実質的に切り替え
られる。この様なソフトウェア命令はプログラムメモリ
制御装置の動作およびオンチップメモリを、マイクロプ
ロセッサ上の制御信号を変化させることで好適に変更す
る。
【0009】本発明の更に別の特徴として、プログラム
メモリ制御装置(PMC)はメモリ・マップモードまた
はキャッシュモードのいずれかで動作し、要求されたア
ドレスがオンチップメモリアドレスであるか否かを判断
する。プログラムメモリ制御装置は好適に要求されたフ
ェッチパケットがオンチップの場合は供給するか、また
はプロセッサを停止し要求されたフェッチパケットをオ
フチップからロードする。PMCはメモリモード遷移要
求をチェックし、CPUがその様に要求する際には遷移
を開始する。
【0010】本発明の更に別の特徴として、タグRAM
がキャッシュメモリ動作に関連づけられている。このタ
グRAMは好適にプログラムメモリ制御装置と共に動作
し、これは要求されたアドレスのフェッチパケットが現
在キャッシュの中にロードされているか否かを判断す
る。プログラムメモリ制御装置は好適に、フェッチパケ
ットがオフチップからロードされた際にタグRAMを更
新する機能を有する。プログラムメモリ制御装置はまた
好適に、マイクロプロセッサ動作中にタグRAMを、例
えばメモり構成の切り替えによって、初期化する機能を
有する。
【0011】本発明は添付図を参照する事によって最も
良く理解されるであろう:
【0012】
【課題を解決するための手段】ここで本発明のために、
いくつかの図示された実施例を説明する。本発明が任意
のCPUアーキテクチャに容易に適合できるであろうこ
とは疑いも無いが、図示する目的でこれらの実施例は特
定のVLIWプロセッサファミリー、テキサスインスツ
ルメント製TMS320C6xを参照して説明されてい
る。当業者にとって以下の説明は彼らが発明を再現出来
るようにするのに十分であると理解される:しかしなが
らプロセッサアーキテクチャに関連する個別データ、命
令セット、および動作に関して興味のある読者はテキサ
スインスツルメントTMS320C62xxおよび命令
セット参考ガイド(1997)およびテキサスインスツ
ルメントTMS320C62xxおよび周辺機器参考ガ
イド(1997)を参照されたい、これらは参照によっ
て本願の開示に組み込む。
【0013】いくつかの定義がまた読者にとって有用で
あろう。ここで使用されているように、命令はプロセッ
サ上の実行ユニットにより1または複数のクロックサイ
クルで実行可能な機能である。実行パケット(execute
packet)は1つまたは複数の命令のセットで、同一クロ
ックサイクル中に実行ユニットに配送されるものであ
る。フェッチパケットは命令の標準サイズブロックで、
1つまたは複数の実行パケットを含み、CPUの中に単
一ユニットとしてロードされる。
【0014】メモリ・マップオンチップメモリ(memory
-mapped on-chip memory)は普通にアドレス指定可能な
プログラムメモリの連続した区分を占有する。キャッシ
ュオンチップメモリは外部メモリの中にも存在するが、
先にCPUで要求された(通常は最も最近要求された)
命令のコピーを含む。これらはプログラムメモリの連続
した区分を表す必要は無く、また一般的にCPUで明示
的にアドレス可能である必要も無い。
【0015】テキサスインスツルメント製TMS320
C6x(C6x)プロセッサファミリーは本発明のいく
つかの提出された実施例を含む。このC6xファミリー
はスカラーおよび浮動小数点アーキテクチャの両方を含
む。これらのプロセッサのCPUコアは8つの実行ユニ
ットを含み、それらの各々は31ビット命令を必要とす
る。もしもプロセッサの全ての8つの実行ユニットが指
定されたクロックサイクルに対して命令を出すと、25
6ビット(8つの31ビット命令に加えて並列シーケン
スを示す8ビット)の最大命令ワード長が必要となる。
【0016】いくつかの外部データシステムに接続され
たC6xプロセッサのブロック図が図1に示されてい
る。プロセッサ10はCPUコア20を含み、これはプ
ログラムメモリ制御装置30およびデータメモリ制御装
置12と通信している。このプロセッサのその他の重要
ブロックには周辺装置14、周辺装置バス制御装置1
7,およびDMA制御装置18が含まれる。
【0017】プロセッサ10はCPUコア20がメモリ
制御装置12および30から要求されたデータ並びに命
令が、実際にオンチップに存在しているかまたはオフチ
ップであるかを意識しないで良いように構成されてい
る。もしも要求されたデータがチップ上に存在する場合
は、制御装置12および30はデータをそれぞれのオン
チップデータメモリ13またはプログラムメモリ/キャ
ッシュ31から取り込む。もしも要求されたデータがオ
ンチップ上に存在しない場合は、これらのユニットはデ
ータを外部メモリインタフェース(EMIF)16から
要求する。EMIF16は外部データバス70と通信を
行い、これは外部データ格納ユニット、例えばディスク
71、ROM72,またはRAM73と接続されてい
る。外部データバス70は32ビット幅である。
【0018】CPUコア20は2つの一般的に同様なデ
ータ経路24aと24bを含み、これらは図1に示され
ており詳細が図2に示されている通りである。第一経路
は共有多重ポートレジスタファイルAと4つの実行ユニ
ットを含み、これらは算術およびロード/ストアユニッ
トD1、算術およびシフトユニットS1、掛け算器M
1,及び算術演算ユニットL1を含む。第二経路はレジ
スタファイルB及び実行ユニットL2,S2,M2,及
びD2を含む。これら2つのデータ経路をまたがってデ
ータを共有するための機能(もっとも制限されている
が)が存在している。
【0019】CPUコア20は8つの実行ユニットを含
んでいるので、命令の処理はCPUコア20の1つの重
要な機能である。命令のグループはプログラムフェッチ
21で要求され、プログラムメモリ制御装置30からフ
ェッチパケットとして受信される。命令発送22はフェ
ッチパケットからの命令を実行パケットとして実行ユニ
ット間に配送し、また命令復号23は命令を復号する。
【0020】提出された実施例において、フェッチパケ
ットは図3に示されるように1つの固定長の8つの命令
を有する。フェッチパケットの実行グループ分けは各命
令のpビット、ビットゼロで指定される。フェッチパケ
ットはプログラムメモリ内に8語整列されている。
【0021】pビットは命令の並列実行を制御する。p
ビットは命令発送22によって左から右(低位から高位
アドレス)へスキャンされる。もしも命令iのpビット
が1の場合、命令i+1が命令iと並列に実行される、
すなわち同一実行パケットの中に入る。従って1つの実
行パケットは1つから8つの命令を含むことが可能であ
り、また1つのフェッチパケットは実行パケットのサイ
ズに依存して1つから8つの実行パケットを含むことが
可能である。1つの実行パケット内の全ての命令はユニ
ークな実行ユニットを利用しなければならない。1つの
実行パケットはまた8ワード境界をまたがることは出来
ない。従って、1つのフェッチパケット内の最終pビッ
トは常に0にセットされ、各フェッチパケットは新たな
実行パケットで開始する。
【0022】この可変実行パケット長および固定フェッ
チパケット長の理由で、本好適実施例内のオンチッププ
ログラムメモリ31はフェッチパケットで整列されてい
る。もしもフェッチパケットの中央に存在する命令がC
PUで要求された場合、全フェッチパケットが読み込ま
れるが、低位側アドレスの全ての命令は無視される(た
とえそれらがそれ以外の場合は要求された命令と並列に
実行されるかもしれないとしても)。
【0023】C6xプロセッサの物理的にアドレス指定
可能なアドレス空間は4ギガバイトである。オンチップ
プログラムメモリ31は64Kバイトのサイズを有す
る。しかしながら各々の命令は4バイトを必要とし、各
フェッチパケットは8つの命令を含み、オンチッププロ
グラムメモリ31が2Kフレームとして構成され、各々
のフレームが32バイト、または256ビット長のフェ
ッチパケットを保持するようになされている。メモリ・
マップモードでは、オンチップメモリの64Kバイト
が、図4Aに示されるように、アドレス140 000
0から始まるか、または図4Bに示されるように000
0000の開始アドレスで始まるアドレス空間内メモ
リの連続したブロック内に存在するように選択される。
【0024】キャッシュモードに於いて、代表的な実施
例は命令が64Mバイトの最大外部アドレス空間を占拠
すると仮定している。従ってこれらの実施例に於けるキ
ャッシュは、図5に示されるようにキャッシュモードに
於けるアドレスの上位6ビットを無視する。このキャッ
シュはまたアドレスの下位5ビットを無視する。それ
は、キャッシュがフェッチパケット整列(すなわち32
バイト整列)データのみを格納するからである。命令ア
ドレスのビット5から25は外部アドレス空間をキャッ
シュ位置の中にマッピングするために使用されるビット
のみである。
【0025】図5に示されるように、ビット5から25
はPMCの中で10ビットタグ(ビット16−25)と
11ビットブロックオフセット(ビット5−15)に分
割されている。プログラムメモリ制御装置30はタグR
AM32(図9参照)を含み、これはメモリ31内の各
1フレームに1タグずつ、2Kタグを格納することが可
能で、これはキャッシュの内容を追跡するためである。
11ビットブロックオフセットはタグRAM32内の適
切なタグに対するアドレスとして、またメモリ31内の
適切なフレームに対するアドレスとして、その両方に使
用される。タグRAM32内の各々の11ビット位置は
1つの有効性(validity)ビットおよび10ビットタグ
を含む。64K離れた外部アドレスはタグRAM内の同
一位置へマッピングされているが、これらの外部アドレ
スの各々はブロックオフセットおよびタグの一意な組み
合わせにマッピングされる。
【0026】キャッシュが初期化され動作可能状態とな
ると、各タグ位置の有効性ビットが無効状態にマークさ
れる。次に、各々の新たなフェッチパケットが要求され
ると、そのアドレスがPMC30内で比較タグとブロッ
クオフセットに区切られる。ブロックオフセットはタグ
RAM32からタグを読みとるために使用される。もし
もタグ有効性ビットが無効の場合は、これがセットされ
比較タグがタグRAMの中にブロックアドレスをオフセ
ットとして用いて書き込まれ、キャッシュ失敗が宣言さ
れる。もしも読みとられたタグの有効性ビットがセット
されている場合は、読みとられたタグが比較タグとタグ
比較器34の中で比較される。もしも2つのタグが合致
しないと、キャッシュ失敗が宣言され、比較タグがタグ
RAMの中にブロックアドレスをオフセットとして用い
て書き込まれる。もしも2つのタグが一致した場合は、
比較器34はキャッシュヒットを登録しタグRAMは修
正されない。
【0027】もしもキャッシュヒットが発生すると、要
求されたフェッチパケットがオンチップメモリ31から
ブロックオフセットをアドレスとして使用して読みとら
れる。キャッシュ失敗の場合は、要求されたフェッチパ
ケットはオフチップ読みとり用EMIF16に外部アド
レスを送信する事によって読みとられる。フェッチパケ
ットの命令がEMIF16から受信されると、これらは
ブロックオフセットをアドレスとして使用してオンチッ
プメモリ31の中に一度に32ビット命令が書き込まれ
る。全フェッチパケットが受信されると、これはCPU
へ送られる。
【0028】キャッシュは典型的にキャッシュ実行中完
全に動作可能状態とされているが、いくつかの別のキャ
ッシュモードを使用者は利用する事が出来る。キャッシ
ュ凍結モードはキャッシュ動作可能モードと同様に動作
するが、キャッシュとタグRAMが決して更新されない
点が異なる。このモードは大切なキャッシュ内容、例え
ば割り込みサービス中、を保護するのに有用である。キ
ャッシュバイパスモードはフェッチ毎にキャッシュ失敗
を引き起こすが、効果的にオンチップメモリ31をサー
ビスから除外する。
【0029】プロセッサ動作中、オンチップメモリ動作
はCPUに対して透明であるようにして、プログラムデ
ータ要求およびプログラムデータ格納が統一された様式
で取り扱われるようにしている。次に図6を参照すると
PMCおよびCPUはプログラムアドレスバス44、プ
ログラムデータバス43,そしていくつかの制御信号と
インタフェースしている。PROGRAM ADDRE
SS STROBE(PAS)信号はCPUが命令要求
をプログラムアドレスバス上に出す際にCPUによって
送られる。PROGRAM DATA STROBE
(PDS)信号はCPUがプログラムデータを必要とす
る際にCPUによって送られる(これは典型的にPAS
信号が送られた後1から8CPUサイクルに発生す
る)。PROGRAM WRITE STROBE(P
WS)信号はCPUがデータをプログラムメモリに書き
込みたいときにCPUによって送られる。PMCは要求
されたフェッチパケットを必要に応じて供給することを
確認するためにRDY信号を使用する。もしもPDSが
要求したプログラムデータをPMCが生成できない場
合、このRDY信号は低状態とされてCPUを待機させ
る。このRDY信号はまた以下に説明されるようにそれ
以外の場合低状態に保たれる。
【0030】図7はC6xプロセッサ実施例のプログラ
ムメモリ制御装置に関する状態および可能な状態遷移を
図示する。これらの状態は図示されるように一般的に3
つの範疇に分割される:メモリ・マップ状態、キャッシ
ュ状態、および遷移状態である。各々の状態並びに対応
する状態遷移条件の説明は下記の通りである。メモリ・
マップモードに於けるPMC動作
【0031】再び図7を参照すると、RESET PM
CはPMCのブート状態である。プロセッサのRESE
Tピンがアサート(assert)励起されているときには常
にPMCは典型的にこの状態に留まっている。しかしな
がら、PMCはDMAがRESET中に要求を行うとP
MCはRESET PMCからBOOT LOAD状態
に遷移できる。BOOT LOAD中に、DMAはデー
タをオンチップメモリの中に格納できる。一度DMA要
求がBOOT LOADの中にサービスされると、PM
C遷移はRESET PMCに戻る。
【0032】RESETが解除されると、PMCはメモ
リ・マップモードに遷移しFETCH RUN状態とな
る。FETCH RUNはメモリ・マップモードにおけ
るPMCのデフォルト状態である。PMCは要求を受け
るまでこの状態で待機する。もしもCPUがPASをア
サートすることでフェッチパケットを要求すると、PM
Cはバス44上のアドレスがオンチップメモリアドレス
であるか否かを判別する。もしもそのアドレスがオンチ
ップアドレスの場合、その要求されたフェッチパケット
はプログラムデータバス上に置かれる。もしもこのアド
レスがオフチップアドレスの場合、PMCはこのアドレ
スをプログラムデータ読みとりのためにEMIFに送
る。
【0033】もしもCPUがPDSをアサートして(典
型的にCPUがPASをアサートした後1から8クロッ
クサイクル)データを必要とすることを示す前に、要求
されたフェッチパケットが読みとられなかった場合、P
MCはFETCH RUNからFETCH STALL
に遷移する。FETCH STALLに於いて、PMC
は要求されたフェッチパケットが受信されるまでRDY
信号をデアサート(deassert)してCPUを停止させ
る。PMCがフェッチパケットを受信すると、PMC遷
移はFETCH RUNに戻りRDYが再アサートされ
る。
【0034】PMCはまた、もしもプログラム格納(S
TP)命令がCPUで実行されるとFETCH RUN
からWRITE ON CHIPに遷移できる。STP
命令はCPUにPWSをアサートさせ、PMCに対して
命令書き込みが要求されたことを指示する。WRITE
ON CHIPに於いてアドレスバス44上のプログ
ラムアドレスがPMCによって評価される;もしもそれ
が有効なオンチップアドレスの場合、プログラムデータ
バス43上の命令がオンチップメモリ31の中に書き込
まれ、PMCの遷移はFETCH RUNに戻る。もし
もアドレスがオフチップアドレスの場合、PMCはWR
ITE OFF CHIPに戻る。いずれの場合もWR
ITE ON CHIPは1サイクル状態である。この
状態ではRDYはデアサートされている。
【0035】WRITE OFF CHIP状態はWR
ITE ON CHIPからのみ入り、RDYはこの状
態ではデアサートされたままである。WRITE OF
FCHIPは命令アドレスとデータを書き込みようにE
MIFに渡す。PMCはEMIFがデータを書き込むま
でこの状態に留まり、それからFETCH RUNに遷
移して戻る。
【0036】メモリモード状態の最後はDMA REQ
UESTである。DMAはこの1サイクル状態の間にオ
ンチップメモリに書き込むことが出来る。しかしなが
ら、CPUにはDMAよりも高い優先順位が与えられて
いるので、CPUが処理待ちの要求を持っている限りF
ETCH RUNからDMA REQUESTへの遷移
は生じない。注意されたいことはこれに対応する状態は
キャッシュ動作には存在しないことである。キャッシュ
はオフチップメモリのコピーを格納するので、オンチッ
プキャッシュだけに書き込んだ結果は不安定となるから
である。従ってキャッシュモードでのDMA要求は無視
される。この代わりに、DMA要求はキャッシュモード
内のSTP要求と同様に取り扱われる(下記のCACH
E WRITE状態参照)。 キャッシュモードに於けるPMC動作
【0037】PMCはメモリとキャッシュモードに対し
て別々の状態の組を持っている、もっとも2つのモード
の間で機能的な類似は存在しているが。休止キャッシュ
モード状態はSTROBE WAIT RUNである;
処理待ちのフェッチが無くなるとPMCはこの状態に戻
り、CPUがPASまたはPWSをアサートするまでこ
の状態に留まる。
【0038】CPUがPASをアサートすると、PMC
はHIT RUNへ遷移する。この状態に於いて、PM
Cはキャッシュが要求されたフェッチパケットの有効な
写しを含んでいるか否かの判断を行う。もしも含んでい
る場合は、キャッシュヒットが宣言されてパケットはキ
ャッシュから戻され、PMC遷移は別の要求が処理待ち
で無い場合はSTROBE WAIT RUNに戻る。
もしも要求されたフェッチパケットがキャッシュの中に
無い場合は、PMCは失敗を宣言しMISSRUNに遷
移する。RDYはHIT RUNの中でアサートされた
状態で維持される。
【0039】MISS RUNに於いて、RDYはアサ
ートされた状態を維持するが、これはPMCが要求され
たパケットをオフチップからEMIF経由でフェッチさ
れるからである。この状態に於いて、もしもキャッシュ
が完全に可能化(enabled)されている場合タグRAM
は更新され、パケットはオフチップから受信されると対
応するキャッシュ位置の中に書き込まれる。CPUがフ
ェッチが完了する前にフェッチパケットデータを要求し
ない限り、PMCは全パケットがフェッチされるまでM
ISS RUNに留まるが、CPUがそのような要求を
した場合はMISS STALLへの遷移が生じる。一
度フェッチが完了すると、PMC遷移は更に別の処理待
ちの要求が無い場合はSTROBE WAIT RUN
に、もしもインキャッシュ(in-cache)要求が処理待ち
の場合はHIT RUNに戻るか、またはオフチップ要
求が処理待ちの場合MISS RUNに留まる。
【0040】もしもCPUがオフチップデータをそれが
完全に読みとられる前に要求すると、PMCはMISS
STALLに遷移し、RDYをデアサートし、またフ
ェッチが完了するまでCPUを待機させる。一度オフチ
ップフェッチが完了すると、PMCは別の追加のオフチ
ップ要求が処理待ちの場合はMISS RUNに遷移す
る;それ以外ではHIT RUNに遷移する。
【0041】PMCはまた、CPUがPWS信号をアサ
ートした場合、STROBE WAIT RUN,HI
T RUN,またはMISS STALLからCACH
EWRITEへ遷移する(この遷移は処理待ちのフェッ
チ要求が完了した後に生じる)。CACHE WAIT
中、CPUはRDYをデアサートすることで待機状態と
され、プログラムデータバス43上のデータがプログラ
ムアドレスバス44上に現れる物理的オフチップアドレ
スに書き込まれる。この状態でこのアドレスに関連する
タグはタグRAMの中で消去される。タグを消去するこ
とに代わる方法は、新たな値をオフチップメモリの中に
書き込んだ後、タグRAMとオンチップメモリとを更新
することである。 キャッシュおよびメモリ・マップモードの間の遷移
【0042】C6xはメモリ・マップモードに於いて常
にオンチップメモリをブートするように設計されている
が、本発明の1つの鍵となる特徴はプロセッサ動作中に
オンチップメモリを再構成出来る機能にある。これは外
部から供給された信号で行うことが出来るが、本好適実
施例ではCPUがオンチップメモリを制御する。図8に
図示されているように、C6x CPU制御状態レジス
タ(CSR)は、PCCフィールドを含み、これは望ま
しいプログラムメモリモードを指示し、プログラムメモ
リ制御装置で監視することが可能である。C6xに於い
て、PCCは4つの有効値を備えた3ビットフィールド
として実施されている(残りの4つは将来的にモードを
追加するために予約されている)。PCC値000はメ
モリ・マップモードを表わし、リセット状態である。P
CC値010はキャッシュ可能モードを表す。PCC値
011はキャッシュ凍結モードを表し、ここではキャッ
シュ内容は維持され読みとり可能であるが、オフチップ
読みとりはキャッシュに影響を与えない。そしてPCC
値100はキャッシュバイパスモードを表し、これは本
質的にオンチップメモリをバイパスし、強制的に全ての
読みとりをオフチップから行わせる。
【0043】使用者はアプリケーションまたはアプリケ
ーションの一部に対して最善の性能を提供するPCC値
を選択してプロセッサ上で実行する。使用者は典型的に
PCC値の変更を、CSRを読みとり、PCCフィール
ドを修正変更し、そして修正された内容をCSRに書き
戻すことで行う。PMC状態機械の観点から見ると、も
っとも重要なPCC事象はメモリ・マップ状態と1つの
キャッシュ状態との間の遷移である。
【0044】メモリ・マップモードの間、PMCはFE
TCH RUNおよびFETCHSTALL状態内のP
CCの値をチェックする。もしもPCCがキャッシュ状
態に変化する場合、現行のフェッチ要求が完了した後P
MCはMEM TO CACHEへ遷移する。MEM
TO CACHEはそれがタグRAM32を各々のタグ
に関連する有効ビットを消去することによって初期化す
る間、CPUを待機させる。ことなる実現方法も可能で
はあるが、C6xはクロックサイクル毎に1タグのビッ
トを消去する。C6x内のPMCは2049サイクルの
間MEM TO CACHEに留まり、これらの内の2
048はタグRAM内の2Kタグを消去するために必要
とされる。
【0045】もしもMEM TO CACHEへの遷移
の際に処理待ちのフェッチ要求が無い場合は、PMCは
タグRAMを初期化した後キャッシュモードのSTRO
BEWAIT RUNに遷移する。もしも処理待ちの要
求があった場合は、PMCは代わりにMISS STA
LLに遷移する。
【0046】PMCはキャッシュモードでPCCの同様
のチェックを実行する。しかしながらキャッシュ失敗が
生じるまでメモリ・マップモードには遷移しない、すな
わちCACHE TO MEM状態への遷移はMISS
RUNおよびMISS STALL状態から生じる。
CACHE TO MEMに於いて、PMCはCPUを
待機させる。CACHE TO MEMは処理待ちの全
てのフェッチ要求を消去し、それからメモリ・マップモ
ードのFETCH RUNに遷移する。
【0047】この実施例に於いて、PMCはキャッシュ
からメモリ・マップモードへの遷移に際してオンチップ
メモリに関しては一切の動作を行わない。従ってメモリ
・マップ内容が適切な初期化をせずに使用されないこと
を確認するのは使用者の責任である。CACHE TO
MEMの別の実施例も可能であり、例えばメモリ・マ
ップモードへ遷移する前にオフチップメモリの特定位置
からオンチップメモリを満たすことも考えられる。
【0048】PMCを通るレジスタおよびデータ経路が
図9に図示されている。CPUコア20は第二フェッチ
パケットをそれが第一のものを受信し終わる前に要求で
きるので、2つのパイプラインアドレスレジスタ35お
よび36が複数のフェッチ要求を取り扱うために使用さ
れる。同様に、両方の要求(典型的にもしも両方がオン
チップの場合)がCPUコア20がデータ準備完了する
前にサービスされるので、2つのパイプライン化された
データレジスタ37および38が読み込まれたデータを
シーケンス処理するために使用される。データ書き込み
レジスタ39及びアドレス書き込みレジスタ38はプロ
グラム格納専用である。カランタ41はタグRAM32
を、例えばMEM TO CACHE状態に初期化する
ために使用される。図9は更にこれらのレジスタがどの
様に相互接続されているか、また図7に関連して説明さ
れた機能を実現するために種々のデータ経路がどの様に
多重化されているかを図示している。
【0049】本発明をこれまで特定のプロセッサアーキ
テクチャに言及して説明してきたが、通常の技量を有す
る者は説明された実施例を別のプロセッサで、命令サイ
ズ、オンチップまたはオフチップメモリサイズ、バスサ
イズ、または命令パイプラインの使用に無関係に動作す
るように容易に適合出来ることが理解されるが、その様
な適合もまた本発明の範囲に入ることを意図している。
同様にこの説明のいずれも、本発明に基づく使用者が構
成可能なメモリを採用したプロセッサの考えられるメモ
リモードを制限するものではない。例えば、明示的ブー
トモード、その他の知られているキャッシングモード、
及びパーティションを切られたオンチップモードの様な
その他のモードをこの開示を用いて実現できるであろ
う。提出された実施例は特定の制御装置設計を用いて説
明されてきたが、通常の技量を有する者はこの開示を読
むことにより構成可能オンチップメモリの基本的アイデ
アが多くの等価の設計の中で論理的に実施出来ることを
理解されよう。その他の明らかな修正変更は当業分野で
通常の技量を有する者にはこの開示を読むことにより明
らかであろう;この様なものは本発明の範囲内に入るも
のと意図している。
【0050】以上の説明に関して更に以下の項を開示す
る。 (1)マイクロプロセッサであって:中央処理ユニット
と;そして前記中央処理ユニット上で実行可能な命令を
格納するための、複数の選択可能な構成を有するオンチ
ップメモリシステムとを有する、前記マイクロプロセッ
サ。
【0051】(2)第1項記載のマイクロプロセッサに
於いて、前記複数の選択可能な構成がメモリ・マップ構
成とキャッシュ構成とを含む前記マイクロプロセッサ。
【0052】(3)第1項記載のマイクロプロセッサに
於いて、前記選択可能な構成がマイクロプロセッサブー
トおよびリセット動作の間のみ選択可能である前記マイ
クロプロセッサ。
【0053】(4)第1項記載のマイクロプロセッサに
於いて、前記選択可能な構成がマイクロプロセッサ動作
中に中央処理ユニットで選択可能である前記マイクロプ
ロセッサ。
【0054】(5)第4項記載のマイクロプロセッサに
於いて、前記複数の選択可能な構成がメモリ・マップ構
成とキャッシュ構成とを含む前記マイクロプロセッサ。
【0055】(6)第1項記載のマイクロプロセッサに
於いて、前記オンチップメモリシステムがオンチップメ
モリアレイと通信を行うプログラムメモリ制御装置を含
む前記マイクロプロセッサ。
【0056】(7)第6項記載のマイクロプロセッサに
於いて、前記オンチップメモリアレイが固定された構成
を有し、前記プログラムメモリ制御装置が複数の動作モ
ードを有し、またここで前記オンチップメモリシステム
の前記選択可能な構成の1つの選択が前記プログラムメ
モリ制御装置の動作モードの選択を含む前記マイクロプ
ロセッサ。
【0057】(8)第7項記載のマイクロプロセッサに
於いて、前記動作モードがメモリ・マップモードとキャ
ッシュ可能化モードを含む前記マイクロプロセッサ。
【0058】(9)第6項記載のマイクロプロセッサに
於いて、前記オンチップメモリシステムが更に前記プロ
グラムメモリ制御装置で制御可能で、前記オンチップメ
モリアレイの内容に関係する情報を格納するためのタグ
メモリアレイを含む、前記マイクロプロセッサ。
【0059】(10)マイクロプロセッサであって:中
央処理ユニットと;前記中央処理ユニット上で実行可能
な命令を格納するためのオンチップメモリアレイと;前
記中央処理ユニット上で実行可能なオフチップメモリか
ら/に命令を読み取りおよび書き込むことが可能な外部
メモリインタフェースと;そして前記中央処理ユニッ
ト、前記オンチップメモリアレイ、および前記外部メモ
リインタフェースと通信する構成可能プログラムメモリ
制御装置であって、前記オンチップメモリアレイをメモ
リ・マップオンチップメモリとして使用する第一モード
と、前記オンチップメモリをキャッシュオンチップメモ
リとして使用する第二モードとを含む複数の動作モード
を有する構成可能プログラムメモリ制御装置とを含む前
記マイクロプロセッサ。
【0060】(11)第10項記載のマイクロプロセッ
サに於いて、マイクロプロセッサ動作中に前記中央処理
ユニットが前記プログラムメモリ制御装置に対して、そ
の現行の動作モードから異なる動作モードに切り替え要
求を出すことが可能で、また前記プログラムメモリ制御
装置がこの要求に応じてマイクロプロセッサ動作中に自
分自身で再構成可能である、前記マイクロプロセッサ。
【0061】(12)プロセッサ構造および動作方法が
開示されており、これは使用者が構成可能なオンチップ
プログラムメモリシステムを含む。このメモリシステム
はオンチップメモリ31とプログラム制御の下でCPU
コア20で変更される制御値に応じてメモリ31を再構
成するプログラムメモリ制御装置30とを含む。1つの
モードに於いて、メモリ31は内部アドレス空間の中に
マッピングされる。別のモードに於いて、メモリ31は
オンチップキャッシュとして構成される。キャッシュ構
成と連携してプログラムメモリ制御装置はタグRAMを
含み、これはキャッシュモードへの遷移の際に初期化さ
れる。プログラムメモリ制御装置30はメモリモード遷
移とデータ要求とを取り扱う;CPUコア20は好適に
格納されている命令を制御装置30からメモリモードに
関係なく同一の態様で要求する。
【図面の簡単な説明】
【図1】図1は本発明に基づき実施されたプロセッサの
主な機能ブロックを示すブロック図。
【図2】図2は多重実行ユニットプロセッサの実行ユニ
ットおよびレジスタの構成を図示するブロック図。
【図3】図3はフェッチパケット内の命令の構成を示
す。
【図4】図4はプロセッサアドレス空間のマッピングを
示し、Aは1つのメモリ写像、Bはそれと異なるメモリ
マッピングを示す。
【図5】図5はキャッシュアドレスとして使用される命
令アドレスパーティション切りを表す。
【図6】図6はCPUコアとプログラムメモリ制御装置
との間のインタフェースを表す。
【図7】図7は本発明に基づくプログラムメモリ制御装
置の状態と可能な状態遷移を図示する。
【図8】図8は本発明に基づく構成可能メモリを制御す
るために使用される状態レジスタの構成を示す。
【図9】図9は本発明に基づくプログラムメモリ制御装
置のレジスタおよびデータ経路を示す。
【符号の説明】
10 プロセッサ 12 データメモリ制御装置 14 周辺装置 16 外部メモリインタフェース(EMIF) 17 周辺装置バス制御装置 18 DMA制御装置 20 CPUコア 30 プログラムメモリ制御装置 31 オンチッププログラムメモリ 32 タグRAM 35,36 パイプラインアドレスレジスタ 37,38 データレジスタ 39 データ書き込みレジスタ 71,72,73 外部データ格納ユニット

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサであって:中央処理
    ユニットと;そして前記中央処理ユニット上で実行可能
    な命令を格納するための、複数の選択可能な構成を有す
    るオンチップメモリシステムとを有する、前記マイクロ
    プロセッサ。
JP10368139A 1997-12-31 1998-12-24 使用者が構築可能なオンチッププログラムメモリシステム Pending JPH11312122A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US070218 1987-07-06
US7021897P 1997-12-31 1997-12-31

Publications (1)

Publication Number Publication Date
JPH11312122A true JPH11312122A (ja) 1999-11-09

Family

ID=22093921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10368139A Pending JPH11312122A (ja) 1997-12-31 1998-12-24 使用者が構築可能なオンチッププログラムメモリシステム

Country Status (3)

Country Link
US (1) US6321318B1 (ja)
EP (1) EP0927936B1 (ja)
JP (1) JPH11312122A (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
CA2157600A1 (en) * 1993-03-05 1994-09-15 Roy J. Mankovitz Apparatus and method using compressed codes for television program record scheduling
IL122299A (en) * 1997-11-25 2003-11-23 Broadcom Corp Video encoding device
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
CA2865444C (en) 1998-07-17 2017-11-28 United Video Properties, Inc. Interactive television program guide system having multiple devices within a household
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6868472B1 (en) * 1999-10-01 2005-03-15 Fujitsu Limited Method of Controlling and addressing a cache memory which acts as a random address memory to increase an access speed to a main memory
EP1261910A2 (en) 2000-03-08 2002-12-04 Sun Microsystems, Inc. Vliw computer processing architecture having a scalable number of register files
US7080234B2 (en) * 2000-03-08 2006-07-18 Sun Microsystems, Inc. VLIW computer processing architecture having the problem counter stored in a register file register
US6631439B2 (en) * 2000-03-08 2003-10-07 Sun Microsystems, Inc. VLIW computer processing architecture with on-chip dynamic RAM
US6606684B1 (en) * 2000-03-31 2003-08-12 Intel Corporation Multi-tiered memory bank having different data buffer sizes with a programmable bank select
US6446181B1 (en) * 2000-03-31 2002-09-03 Intel Corporation System having a configurable cache/SRAM memory
CN1668104A (zh) 2000-10-11 2005-09-14 联合视频制品公司 提供数据存储到点播媒体传递系统中服务器上的系统和方法
US6732247B2 (en) * 2001-01-17 2004-05-04 University Of Washington Multi-ported memory having pipelined data banks
WO2002069157A1 (en) * 2001-02-28 2002-09-06 Brecis Communications Corporation A subsystem boot and peripheral data transfer architecture for a subsystem of a system-on-chip
EP1451712A2 (en) * 2001-07-07 2004-09-01 Koninklijke Philips Electronics N.V. Processor cluster
US20030046492A1 (en) * 2001-08-28 2003-03-06 International Business Machines Corporation, Armonk, New York Configurable memory array
US6769050B1 (en) * 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US8090928B2 (en) * 2002-06-28 2012-01-03 Intellectual Ventures I Llc Methods and apparatus for processing scalar and vector instructions
US20040064657A1 (en) * 2002-09-27 2004-04-01 Muraleedhara Navada Memory structure including information storage elements and associated validity storage elements
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US7167952B2 (en) * 2003-09-17 2007-01-23 International Business Machines Corporation Method and system for performing a memory-mode write to cache
US8806533B1 (en) 2004-10-08 2014-08-12 United Video Properties, Inc. System and method for using television information codes
KR100578143B1 (ko) * 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
US7640379B2 (en) * 2005-02-12 2009-12-29 Broadcom Corporation System method for I/O pads in mobile multimedia processor (MMP) that has bypass mode wherein data is passed through without being processed by MMP
US7793007B2 (en) * 2005-02-12 2010-09-07 Broadcom Corporation Method and system for deglitching in a mobile multimedia processor
US7653785B2 (en) * 2005-06-22 2010-01-26 Lexmark International, Inc. Reconfigurable cache controller utilizing multiple ASIC SRAMS
US8418206B2 (en) 2007-03-22 2013-04-09 United Video Properties, Inc. User defined rules for assigning destinations of content
KR100875836B1 (ko) * 2007-03-23 2008-12-24 삼성전자주식회사 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법
US8332610B2 (en) 2007-04-17 2012-12-11 Marvell World Trade Ltd. System on chip with reconfigurable SRAM
US8601526B2 (en) 2008-06-13 2013-12-03 United Video Properties, Inc. Systems and methods for displaying media content and media guidance information
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US9204193B2 (en) 2010-05-14 2015-12-01 Rovi Guides, Inc. Systems and methods for media detection and filtering using a parental control logging application
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
KR102117511B1 (ko) * 2013-07-30 2020-06-02 삼성전자주식회사 프로세서 및 메모리 제어 방법
US11487445B2 (en) * 2016-11-22 2022-11-01 Intel Corporation Programmable integrated circuit with stacked memory die for storing configuration data
CN109189721A (zh) * 2018-08-27 2019-01-11 中国科学院电工研究所 一种实时性数据存储方法
CN114063917B (zh) * 2021-11-11 2024-01-30 天津兆讯电子技术有限公司 快速读取程序数据的方法和微控制器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9118312D0 (en) * 1991-08-24 1991-10-09 Motorola Inc Real time cache implemented by dual purpose on-chip memory
DE69324508T2 (de) * 1992-01-22 1999-12-23 Enhanced Memory Systems Inc DRAM mit integrierten Registern
US5687131A (en) * 1996-03-22 1997-11-11 Sharp Microelectronics Technology, Inc. Multi-mode cache structure
US5819305A (en) * 1996-08-23 1998-10-06 Motorola, Inc. Method and apparatus for configuring operating modes in a memory

Also Published As

Publication number Publication date
EP0927936A3 (en) 2006-11-15
US6321318B1 (en) 2001-11-20
EP0927936A2 (en) 1999-07-07
EP0927936B1 (en) 2017-04-12

Similar Documents

Publication Publication Date Title
JPH11312122A (ja) 使用者が構築可能なオンチッププログラムメモリシステム
JP3466062B2 (ja) プロセッサ内の電力消費を減少させる方法及び回路
US6205543B1 (en) Efficient handling of a large register file for context switching
JP3412575B2 (ja) 命令履歴キャッシングを使用して推測的に命令を実行する回路、データ処理システム、およびそのための方法
US7644255B2 (en) Method and apparatus for enable/disable control of SIMD processor slices
US6161166A (en) Instruction cache for multithreaded processor
US20010042193A1 (en) Data processing unit with interface for sharing registers by a processor and a coprocessor
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
JP2005521924A (ja) シングルスレッドプログラムのマルチスレッドでのインプリシットな実行を可能にするマルチスレッドプロセッサ
KR19980063489A (ko) 멀티스레드 프로세서의 명령어 및 연관된 인출 요청의 백그라운드 완료
US7228401B2 (en) Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor
JP2000003308A (ja) オ―バラップしたl1およびl2メモリ・アクセス方法および装置
JPH10124335A (ja) 電子回路内の電力消費を減少させる方法及びシステム
US6594711B1 (en) Method and apparatus for operating one or more caches in conjunction with direct memory access controller
JP3841810B2 (ja) データプロセッサ
EP1039377B1 (en) System and method supporting multiple outstanding requests to multiple targets of a memory hierarchy
US6782470B1 (en) Operand queues for streaming data: A processor register file extension
EP1107110B1 (en) Instruction loop buffer
JP4160228B2 (ja) マイクロプロセッサ
JP3088303B2 (ja) キャッシュ・メモリ・バンク制御装置
US6963965B1 (en) Instruction-programmable processor with instruction loop cache
US6119220A (en) Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions
US7028164B2 (en) Instruction fetch apparatus for wide issue processors and method of operation
US6320813B1 (en) Decoding of a register file
JP3048978B2 (ja) 電子回路内の電力消費を減少させる方法及びシステム