JP2000231550A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JP2000231550A
JP2000231550A JP2000029147A JP2000029147A JP2000231550A JP 2000231550 A JP2000231550 A JP 2000231550A JP 2000029147 A JP2000029147 A JP 2000029147A JP 2000029147 A JP2000029147 A JP 2000029147A JP 2000231550 A JP2000231550 A JP 2000231550A
Authority
JP
Japan
Prior art keywords
ram
access
load
data
execution unit
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
JP2000029147A
Other languages
English (en)
Other versions
JP4160228B2 (ja
Inventor
Kenju Osanai
建 樹 小山内
Toru Uchiumi
海 透 内
Raamu Michael
マイケル、ラーム
Malick Kamuran
カムラン、マリック
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of JP2000231550A publication Critical patent/JP2000231550A/ja
Application granted granted Critical
Publication of JP4160228B2 publication Critical patent/JP4160228B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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/3824Operand accessing

Landscapes

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

Abstract

(57)【要約】 【課題】 キャッシュメモリと同程度のレイテンシーで
データの読み書きができるRAMを備えたマイクロプロ
セッサの提供。 【解決手段】 本発明のマイクロプロセッサは、ロード
/ストアに関連する命令を実行するLSUを備える。L
SUは、外部メモリに対する読み出し/書き込みデータ
を一時的に格納するDCACHEと、キャッシュ以外の特殊な
用途に使用されるSPRAMと、DCACHEやSPRAMをアクセスす
るための仮想アドレスを生成するアドレス生成器とを有
する。SPRAMは、LSUのパイプラインによるロード/
ストアが可能で、外部メモリとの間でDMAによるデー
タ転送が可能である。LSUは、DCACHEとほぼ同じレイ
テンシーでSPRAMにアクセスできるため、外部メモリに
格納されたデータを、いったんSPRAMに格納すれば、そ
の後、プロセッサはSPRAMにアクセスしてデータ処理を
行うことができ、外部メモリよりも短時間に大量のデー
タを処理できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部メモリよりも
高速にデータの読み書きが可能なRAMを内蔵するマイ
クロプロセッサの内部構成に関する。
【0002】
【従来の技術】近年、プロセッサの動作速度が高くなっ
てきたため、プロセッサと主記憶メモリ(外部メモリ)
との速度差が大きくなってきた。プロセッサと主記憶メ
モリとの速度差を埋めるために、両者の中間に小容量か
つ高速のキャッシュメモリを配置することがある。最近
のプロセッサの中には、この種のキャッシュメモリを内
蔵したものが多い。プロセッサが要求するデータがキャ
ッシュメモリ内に存在する場合には、キャッシュメモリ
から読み出したデータをプロセッサに渡すことにより、
主記憶メモリへのアクセス回数が減少し、プロセッサの
高速処理が可能になる。
【0003】
【発明が解決しようとする課題】しかしながら、キャッ
シュメモリの容量を大きくすると、キャッシュメモリ内
にデータが存在するか否かを検索する時間が長くなると
ともに、メモリに対するデータの読み書きに時間がかか
り、メモリ・アクセスの性能が低下してしまう。このた
め、キャッシュメモリの容量はあまり大きくできない。
したがって、容量の大きなデータの加工をキャッシュメ
モリ上で行おうとすると、頻繁にキャッシュリフィルを
行わなければならず、プロセッサの性能が低下する。
【0004】また、キャッシュメモリは、同一のメモリ
アドレスに対して何度もアクセスする場合にはキャッシ
ュ・ヒット率が向上して高速処理が可能になるが、同一
のメモリアドレスに対するアクセス頻度が低い場合に
は、キャッシュ・ミス率が高くなり、メモリアクセスの
パフォーマンスが低下する。
【0005】例えば、三次元の動画像を表示する場合に
は、メモリとプロセッサとの間で高速に画像データを伝
送する必要があり、キャッシュメモリと同程度の速度で
アクセスできるメモリに画像データを格納するのが望ま
しい。しかしながら、画像データは、データ容量が多
く、かつ、同一のメモリアドレスに対するアクセス頻度
が低いため、キャッシュメモリに格納してもアクセス速
度は上がらない。
【0006】本発明は、上記の問題点を解決するために
なされたものであり、その目的は、キャッシュメモリと
同程度のレイテンシーでデータの読み書きができ、か
つ、キャッシュメモリとは違う目的で利用可能なRAM
を備えたマイクロプロセッサを提供することにある。
【0007】
【課題を解決するための手段】上記の目的を達成するた
め、ロード/ストア命令を実行するロード/ストア命令
実行部を有するマイクロプロセッサは、前記ロード/ス
トア命令実行部によるデータの読み書きが可能で、か
つ、外部メモリとの間でデータをDMA(DirectMemory
Access)転送可能なRAMを備える。
【0008】請求項1の発明では、ロード/ストア実行
部によるデータの読み書きが可能で、かつ、外部メモリ
との間でDMAによるデータ転送を可能としたため、プ
ロセッサが画像データのような大量のデータをプログラ
ムで処理する際の一時的な作業領域として用いることが
でき、その際にキャッシュメモリのような性能ペナルテ
ィがない。
【0009】請求項2の発明では、RAM内に第1およ
び第2のデータ格納領域を設けるため、一方の格納領域
にプロセッサがアクセスを行っている間に、他方の格納
領域でDMA転送を行うことができる。
【0010】請求項3の発明では、ロード/ストア命令
実行部によるアクセスとDMA転送とが競合した場合に
は、DMA転送を優先させるようにしたため、DMA転
送速度が落ちるおそれがない。
【0011】請求項4の発明では、ロード/ストア命令
実行部によるアクセスとDMA転送とが競合した場合の
優先度を制御できるようにしたため、実装形態に応じ
て、最適な処理を行うことができる。
【0012】請求項5の発明では、上述した優先度を制
御するための外部ピンを設けるため、外部信号により、
優先度の切り替えが可能になる。
【0013】請求項6および7の発明では、上述したR
AMのアクセスに関連するデータを一次的に格納するス
トアバッファを設けるため、RAMにアクセス可能な状
態になってから、ストアバッファからデータを読み出し
てRAMにアクセスすることができる。
【0014】請求項8の発明では、上述したRAMにア
クセスするための専用の命令を設けるため、プログラム
のページ管理が簡素化される。
【0015】請求項9の発明では、RAMに対して直接
読み書きする命令と、外部メモリとの間でDMAによる
ブロック転送を行う命令とを設けるため、請求項8の特
徴に加えて、RAMと外部メモリとの間で、プログラム
から明示的に高速にデータを転送できる。
【0016】請求項10の発明では、メモリ管理ユニッ
トの制御に先立って、上述した専用の命令を実行するよ
うにしたため、RAMアクセス命令の実行にあたってメ
モリ管理ユニットの動作を待つ必要がなく、RAMアク
セス命令を実装する回路の高速化が可能となる。
【0017】請求項11の発明では、キャッシュメモリ
と略等しいレイテンシーで上述したRAMにアクセスで
きるため、プログラマは上述のRAMにキャッシュメモ
リと略等しいレイテンシーでアクセスできることを前提
にプログラミングすることができる。
【0018】請求項12の発明では、上述したRAM用
のストアバッファを、キャッシュメモリ用のストアバッ
ファとは別個に設けるため、ストアバッファの制御が容
易になる。
【0019】請求項13の発明では、RAMに格納され
たデータと関係のあるアドレスとスヌープ対象のアドレ
スとを比較する比較器を設けるため、RAMに格納され
たデータと関係のあるアドレスへの外部エージェントの
アクセスを容易に検出し、それに対応した動作が可能に
なる。
【0020】請求項14の発明では、上述した比較器で
一致が検出されたRAM内の特定のデータを、スヌープ
を指示したエージェントに転送するようにしたため、デ
ータの検索・転送を高速に行うことができる。
【0021】請求項15の発明では、ロード/ストア命
令実行部がRAMにアクセス中はスヌープ指示を受け付
けないようにしたため、パイプラインストールを抑制で
きる。
【0022】請求項16の発明では、スヌープ処理を行
うか否かを任意に設定できるようにしたため、プロセッ
サの動作に支障がない範囲内でスヌープ処理を行うこと
ができる。
【0023】
【発明の実施の形態】以下、本発明に係るマイクロプロ
セッサについて、図面を参照しながら具体的に説明す
る。
【0024】(第1の実施形態)図1は本発明に係るマ
イクロプロセッサの一実施形態の内部構成を示すブロッ
ク図である。図1のマイクロプロセッサは、外部バスB
1に接続されたバス・インタフェース・ユニット(Bus I
nterface Unit)1と、プロセッサが実行する命令(イン
ストラクション)のフェッチ(取り込み)を行うIFU
(Instruction Fetch Unit)2と、仮想アドレスから物理
アドレスへの変換を行うMMU(Memory Management Uni
t)3と、ロード/ストアに関連する命令を実行するLS
U(Load Store Unit)4と、ロード/ストア以外の命令
を実行する複数の実行ユニット5a,5b,5cと、浮
動小数点演算を行うFPU(Floating Point Unit)6
a,6bと、プロセッサ各部の制御を行う制御論理部(C
ontrol Logic)7とを備える。
【0025】IFU2は、分岐命令等の命令の分岐先を
記憶するBTACを参照しつつPC(Program Counter)を生
成するPC-pipe21と、命令を一時的に格納するICACHE
(Instruction Cache Memory)22と、命令の種類を判別
してその命令を実行する実行ユニットを選択する命令発
行&ステージング部(Instruction issue & Staging blo
ck)23とを有する。
【0026】MMU3は、仮想アドレスから物理アドレ
スへの変換を行う3つのTLB(Translation Lookaside
Buffer)を有する。OS(Operating System)が有するペ
ージ・テーブルの一部のうち、物理ページ番号や保護情
報など、プロセッサが必要とするアドレス変換情報がT
LBに書き込まれており、これに基づいてMMU3は物
理アドレスへの変換を行う。
【0027】MMU3内の3つのTLBは、JTLB(Joint
Translation Lookaside Buffer)31と、ITLB(Instruc
tion Translation Lookaside Buffer)32と、DTLB33
(Data Translation Lookaside Buffer)33である。
【0028】これら3つのTLBのうち、JTLB31が本
来のTLBである。JTLB31は例えば48個のエントリー
を有し、命令/データの別に関係なく、ページ単位で仮
想アドレスをマッピングする。
【0029】一方、ITLB32とDTLB33は、総称してマ
イクロTLBと呼ばれる。ITLB32は命令の仮想アドレ
スのデータパス(Datapath)に直接接続される専用のTL
Bであり、DTLB33はデータの仮想アドレスのデータパ
スに直列接続される専用のTLBである。これらTLB
は、エントリー数は少ないが、高速にアドレス変換を行
う。JTLB31が生成した変換テーブルの一部が、必要に
応じてITLB32またはDTLB33に転送される。
【0030】これら3つのTLBは、例えばソフトウエ
アによって制御される。プロセッサは、JTLB31に変換
テーブルが存在しない場合に例外を起こし、例外ハンド
ラのプログラムがOSのページテーブルから該当するペ
ージを探し出し、JTLB31に変換テーブル100の情報
を書き込む。
【0031】LSU4は、外部メモリに対する読み出し
/書き込みデータを一時的に格納するDCACHE(Data Cach
e Memory)41と、キャッシュ以外の特殊な用途に使用
されるSPRAM(Scratch Pad RAM)42と、DCACHE41やSP
RAM42をアクセスするための仮想アドレスを生成する
アドレス生成器(Virtual Address Computation)43と
を有する。
【0032】制御論理部7は、プロセッサ各部の制御を
行い、その内部には制御レジスタ(Control Register)7
1が設けられる。
【0033】次に、図1のマイクロプロセッサの動作を
簡単に説明する。まず、PC-pipe21で生成されたPC
(Program Counter)に基づいて、IFU2は命令のフェ
ッチを行う。なお、PCは仮想アドレスである。
【0034】ITLB32は、PCを仮想アドレスから物理
アドレスに変換する。物理アドレスは、ICACHE22内の
ITAGにおける検索に利用され、PCの指し示す命令がIC
ACHE22内に存在するか否かを調べる。PCの指し示す
命令がICACHE22内に存在しない場合(キャッシュ・ミ
スのとき)には、物理アドレスによって不図示の外部メ
モリへのアクセスを行う。
【0035】具体的には、キャッシュミスすると、ICAC
HE22を制御するIFU2の制御論理部からBIU1の
制御論理部に対して、キャッシュミスが起きたことを示
す情報と、アクセスを行うべき物理アドレス情報とが渡
される。BIU1は、これらの情報に基づいて外部メモ
リをアクセスし、アクセスが終了すると、データとキャ
ッシュ・ラインの取得が終わった旨の信号とをIFU2
に供給する。IFU2は、アクセスしたデータをICACHE
22に書き込む。同時に、リフィルされたキャッシュラ
インのうち、PCの指し示す命令と、場合によっては、
PCの指し示す命令の後に続くいくつかの命令を、命令
発行&ステージング部23に供給する。
【0036】一方、PCの指し示す命令がICACHE22内
に存在する場合には、該当するICACHE22内の命令と、
場合によってはPCの指し示す命令の後に続くいくつか
の命令が命令発行&ステージング部23に供給される。
【0037】命令発行&ステージング部23は、命令の
種類を判別し、命令を実際に実行する実行ユニット(例
えば、LSU4や他の実行ユニット)を決定する。この
際、命令発行&ステージング部23は、各実行ユニット
の空き具合を鑑みて動的に判断する。
【0038】例えば、判別された命令がロード/ストア
命令の場合には、処理できる実行ユニットはLSU4だ
けなので、LSU4に命令を供給できる状態になると、
命令発行&ステージング部23はLSU4に命令を送
る。
【0039】次に、SPRAM42に対してロード/ストア
を行う場合の動作を説明する。図2は、図1のLSU4
内部の一部構成を図示したものであり、SPRAM42に関
係する部分を制御系(Control)8とデータパス(Datapat
h)に分けて図示している。
【0040】図2の制御系8は、命令の流れに応じて、
データパスに与える制御信号を生成する。データパス
は、制御系8からの制御信号に基づいてデータを流して
いく。これが命令の実行に相当する。
【0041】図2において、制御系8とデータパスとを
つないでいる各線は制御信号を示している。通常、制御
信号は制御系8からデータパスに供給される。また、図
2では省略しているが、データパスから制御系8に供給
される制御信号も存在する。例えば、ICACHE22がミス
してパイプライン処理を止める場合には、データパスの
一部であるICACHE22のTAGからミス信号が制御系8
に供給されてパイプライン処理を停止させる。
【0042】図2において、符号10a〜10jで示し
たブロックは、パイプライン処理を行う際にステージを
区切るためのレジスタ構造を示している。これらブロッ
クは、回路的には、フリップフロップやラッチで構成さ
れ、クロックに同期して、読み出しや書き込みを行う。
以下では、これらブロックを総称してパイプラインレジ
スタと呼ぶ。
【0043】IFU2は、IFU制御論理部81(IFU C
ontrol)の制御を受けて、フェッチされた命令をパイプ
ラインレジスタ10aに格納する。命令はパイプライン
レジスタ10aから命令デコーダ(Instruction Decode
r)82に送られる。命令デコーダ82では、命令の識別
や命令の処理に必要な中間的な制御信号を生成する。中
間的な制御信号を生成する理由は、命令デコーダ82で
プロセッサのすべての制御信号を生成するのは量的およ
び速度的に不可能なためであり、命令デコーダ82は、
命令よりも演算器の制御信号に近く、かつ、演算器の制
御信号そのものよりも抽象的な信号を生成する。
【0044】フェッチされた命令がロード/ストア命令
であることが命令デコーダ82で分かった場合には、制
御信号群が、関係する制御論理部に送られる。具体的に
は、制御信号群は、図2中のパイプライン制御論理部(P
ipeline Control)83、GPR制御論理部(General Pur
pose Register Control)84、およびLSU制御論理部
(LSU Control)85に送られる。
【0045】パイプライン制御論理部83とLSU制御
論理部85では、データの流れのステージに同期する形
で命令や制御信号が流れていく。このため、制御系8と
データパスの双方にパイプラインレジスタ10a〜10
jが設けられている。
【0046】パイプライン制御論理部83は、パイプラ
インレジスタ10の中身の状況に応じて、パイプライン
の進行の制御を行う。例えば、演算器上でリソースハザ
ードが生じた場合には、パイプラインを停止するなどの
処理を行う。
【0047】LSU制御論理部85は、ロード/ストア
命令を実行するのに必要な制御信号を生成する。すなわ
ち、GPR制御論理部84の制御によりレジスタファイ
ル11からパイプラインレジスタ10に送られたデータ
は、アドレス生成器43に送られてアドレスが生成され
る。アドレス生成器43はアダー(Adder)制御論理部8
6により制御され、アドレス生成器43により生成され
たアドレスは、次段のパイプラインレジスタ10に送ら
れる。
【0048】RAM制御部に対応するSPR制御論理部
(SPRAM Control)87は、パイプライン制御論理部83
とLSU制御論理部85からの信号を受けて、SPRAM4
2へのアクセスを行う。その際、パイプラインレジスタ
10中のアドレスを使用する。このアドレスがロード命
令であるときは、リード・イネーブル信号を有効にし、
ライト・イネーブル信号を無効にする。そして、SPRAM
42からデータを読み出し、パイプラインレジスタ10
に格納する。格納されたデータは、次のステージでレジ
スタファイル11に書き戻される。
【0049】一方、パイプラインレジスタ10中のアド
レスがストア命令であるときは、リード・イネーブル信
号を無効にし、ライト・イネーブル信号を有効にする。
そして、レジスタファイル11からステージされてきた
データをSPRAM42に書き込む。
【0050】一方、プロセッサ外のDMA(Direct Memo
ry Access)コントローラ9は、図示のように、外部バス
を介してプロセッサ内部のBIU制御論理部(BIU Contr
ol)87に接続されている。DMAコントローラ9がB
IU制御論理部88に制御信号を送ってDMA処理を開
始すると、BIU制御論理部88はSPR制御論理部8
7に信号を送ってSPRAM42をリード/ライトさせる。
すなわち、SPR制御論理部87は、BIU制御論理部
88を介して間接的にDMAコントローラ9とも接続さ
れている。
【0051】SPRAM42に対するアクセス要求がLSU
4とBIU12(BIU12からのアクセス要求は元は
DMAコントローラ9からのものである)の双方から同
時に発せられた場合は、SPR制御論理部87が両者を
調停してイネーブル信号群を決定し、アドレス入力とデ
ータ入力のセレクタを切り替える。
【0052】例えば、LSU4とBIU12によるSPRA
M42に対するアクセス要求の優先順位をプログラマブ
ルに制御するには、SPR制御論理部87に図2に点線
で示す制御レジスタ71を接続し、この制御レジスタ7
1の値を優先順位に応じてプログラマブルに変化させれ
ばよい。あるいは、図2に点線で示したように、プロセ
ッサの外部ピンPに入力される信号に応じて優先順位を
切り替えてもよい。
【0053】次に、SPRAM42の具体的な使用方法につ
いて説明する。図3はSPRAM42を画像データやインス
トラクションの加工処理に用いる例を模式的に示した図
であり、以下、この図を用いてSPRAM42の動作を説明
する。
【0054】(1)まず、図3(a)に示すように、SPRAM
42内の約半分程度の領域に、DMA転送により、外部
メモリの画像データを格納する。
【0055】(2)次に、図3(b)に示すように、SPRAM
42に格納したデータをロード命令により汎用レジスタ
に読み込み、インテジャー・ユニット5a,5b等の実
行ユニットでデータを加工処理した後、ストア命令によ
りSPRAM42に再び格納する。同時に、SPRAM42内の他
の半分程度の領域に、DMA転送により、外部メモリの
画像データを格納する。
【0056】(3)次に、図3(c)に示すように、加工
終了データをDMA転送により外部メモリにストアし、
同時に、SPRAM42内の他の半分程度の領域に格納した
データをLSU4で加工処理し、かつ、SPRAM42内の
半分程度の領域に外部メモリの画像データを格納する。
【0057】このように、図1のSPRAM42は、LSU
4のパイプラインによるロード/ストアが可能で、か
つ、外部メモリとの間でDMAによるデータ転送が可能
なため、画像データやインストラクションのように大量
のデータを高速に処理する場合に特に適している。すな
わち、SPRAM42は、画像データやインストラクション
等の大量のデータをプロセッサで加工処理する際に、一
時的なメモ・パッド領域(作業領域)として用いるのに
適している。
【0058】また、LSU4は、DCACHE41とほぼ同じ
レイテンシー(メモリアクセスに要するシステムクロッ
ク数)でSPRAM42にアクセスできるため、外部メモリ
に格納されているデータを、いったんSPRAM42に格納
すれば、その後、プロセッサはSPRAM42にアクセスし
てデータ処理を行うことができ、外部メモリを直接アク
セスするよりも短時間に大量のデータを処理することが
できる。
【0059】また、本実施形態のSPRAM42は、外部メ
モリとのデータのやり取りにDMAを用いるため、プロ
セッサが他の処理を行っている最中でも、外部メモリと
の間でデータ転送を行える。
【0060】また、本実施形態のSPRAM42は、マイク
ロプロセッサのコア部分であるLSU4等の各実行ユニ
ットと同一チップ内に収容されるため、信号遅延やノイ
ズなどの不具合が発生しにくく、また、実装面積や消費
電力も低減できる。
【0061】図1では、LSU4内にSPRAM42とDCACH
E41の双方を設ける例を説明したが、DCACHE41を省
略してもよい。図4はDCACHE41を持たない場合のSPRA
M42周辺の回路図である。図示のように、SPRAM42
は、バス調停を行うBIU(Bus Interface Unit)12を
介してアドレス/データバスに接続され、このバスに
は、画像データやインストラクション等を格納する外部
メモリ等が接続される。
【0062】一方、図5はSPRAM42とDCHACHEの双方を
持つ場合のSPRAM42周辺の回路図である。BIU12
には、SPRAM42と、DCACHE41と、DCACHE41用のT
AG44とが接続されている。DCACHE41は、外部メモ
リから読み出されたデータの一部を格納するために用い
られ、TAG44は、DCACHE41に格納されるデータの
付加情報(アドレスなど)を格納するために用いられ
る。
【0063】図5に示すように、SPRAM42とDCACHE4
1の双方を設けることにより、通常のメモリアクセスに
はDCACHE41を用い、画像データなどの大量のデータを
加工処理する必要がある場合にはSPRAM42を用いると
いうように、処理によってSPRAM42とDCACHE41を切
り替えることにより、システム全体の処理性能を向上で
きる。
【0064】図6はプロセッサ内の各実行ユニット(図
6ではCPUアクセスと表示)によるアクセスとDMA
転送とが競合した場合の処理を示すタイミング図であ
る。同時に複数のデバイスがアクセスを行えないワンポ
ートのSPRAM42の場合、プロセッサ内の各実行ユニッ
トによるアクセスとDMA転送とが競合した場合には、
例えば、図1の制御レジスタ71によりアクセス優先順
位が決められる。具体的には、プログラマは、特定の命
令を用いて、制御レジスタ71内のビット値を優先順位
に応じて切り替える。
【0065】図6はバスクロックの周波数がプロセッサ
のシステムクロックの半分の周波数の例を示しており、
この場合、DMA転送はバスクロックに同期して行わ
れ、その合間に各実行ユニットによるアクセスが行われ
る。このようなアクセスを行うことにより、各実行ユニ
ットの処理がストールしなくなる。
【0066】このように、プロセッサ内の実行ユニット
(例えば、LSU4のパイプライン)によるSPRAM42
のアクセスはDMA転送の合間に行われるため、LSU
4のパイプラインがDMA転送と同タイミングでSPRAM
42にアクセスしようとした場合には、そのパイプライ
ンはストール状態になる。
【0067】この場合、図7に示すように、SSB(SPR
AM Store Buffer)45を設けることにより、ストールを
回避することができる。このSSB45には、パイプラ
インが実行するSPRAMへのストア命令が一時的に格納さ
れる。図7はDCACHE41を持たない場合のSSB45の
接続関係を示す図、図8はSPRAM42とDCACHE41の双
方が共通のストアバッファ46を有する例を示す図であ
る。また、図9は、SPRAM42に専用のSSB45と、D
CACHE41に専用のストアバッファ47とを設けた例を
示す図である。
【0068】図7〜図9のように、SSB45またはス
トアバッファ46,47を設けることにより、LSU4
等の実行ユニットのストールを回避することができる。
すなわち、SPRAM42に対する実行ユニットによるアク
セスとDMA転送とが競合した場合には、実行ユニット
のデータは、DMA転送が終了するまで、SSB45ま
たはストアバッファ46,47に格納され、その間、パ
イプラインは他の処理を行うことができる。
【0069】なお、図8のように、SPRAM42とDCACHE
41でストアバッファ46を共有する場合には、SPRAM
42とDCACHE41のいずれかを選択する選択回路が必要
になるため、図9よりもストアバッファ46の構成が複
雑になる。
【0070】図10は、SSB45を備えたマイクロプ
ロセッサにおいて、プロセッサ内の実行ユニットによる
アクセスとDMAによるアクセスが競合した場合のタイ
ミング図であり、実行ユニットのアクセスよりもDMA
転送の方が優先度が高い例を示している。
【0071】例えば、時刻T1のときにDMA転送と実
行ユニットPipe Aのアクセスが競合した場合には、DM
A転送が優先して実行され、実行ユニットPipe Aからの
データD1はいったんSSB45に格納される。その
後、時刻T2になると、SSB45に格納されていた実
行ユニットPipe Aの処理が実行されるとともに、アクセ
スしようとした実行ユニットPipe BのデータD2はSS
B45に格納される。
【0072】その後、時刻T3になると、DMA転送が
優先して実行される。この時点では、SSB45の内部
にはすでに実行ユニットPipe BのデータD2が格納され
ているため、アクセスしようとした実行ユニットPipe C
はストール状態になる。
【0073】その後、時刻T4になると、SSB45に
格納されていた実行ユニットPipe Bの処理が実行され、
同時に、ストールしていた実行ユニットPipe Cのデータ
D3がSSB45に格納される。
【0074】図11はSPRAM42のライトタイミングを
示すタイミング図である。図示のように、システムクロ
ックCLKの2クロックごとにDMAライトが行われ
る。CPUバスにはシステムクロックCLKの2クロッ
ク分の長さのデータが供給される。
【0075】一方、図12はSPRAM42のリードタイミ
ングを示すタイミング図である。図示のように、システ
ムクロックCLKの2クロックごとにDMAリードが行
われる。SPRAM42からは、システムクロックCLKの
1クロック分の長さのデータが出力され、CPUバスに
はシステムクロックCLKの2クロック分の長さのデー
タが出力される。
【0076】ところで、SPRAM42をアクセスする際に
は、通常のロード/ストア命令を用いるようにしてもよ
いが、SPRAM42をアクセスするための専用の命令を用
意してもよい。このような専用の命令の例としては、SP
RAMインデックス・ロードデータ命令、SPRAMインデック
ス・ストア命令、SPRAMインデックス・ストア・イミー
ディエートデータ命令、SPRAM42へのブロック転送命
令、SPRAM42からのブロック転送命令などが考えられ
る。これらの命令が発行された場合には、MMU3の制
御に優先して実行するようにすれば、SPRAM42への高
速アクセスが可能になる。
【0077】SPRAM42用の専用の命令を設けることに
より、プログラマは、SPRAM42を必要に応じて手軽に
利用できるようになり、プログラム設計が容易になる。
【0078】(第2の実施形態)第1および第2の実施
形態では、SPRAM42がスヌープ(snoop)機能を持たない
例を説明したが、SPRAM42にスヌープ機能を持たせて
もよい。ここで、スヌープとは、SPRAM42やDCACHE4
1が外部メモリに格納されるべき最新データを保持して
いるか否かを探索することをいう。スヌープが必要にな
る理由は、プロセッサが外部メモリのデータを読み出そ
うとしたときに、実際には外部メモリに該当するデータ
が存在せず、SPRAM42やDCACHE41が保持しているこ
とがあるためである。
【0079】図13はスヌープ機能を有するSPRAM42
の周辺回路図である。図示のように、アドレスレジスタ
48と、アドレスコンパレータ49とが新たに設けられ
る。アドレスレジスタ48はSPRAM42のTAGとして
機能し、SPRAM42に格納されているデータのアドレス
などが格納される。このアドレスレジスタ48は、SPRA
M42がn個のエントリーに分割されている場合には、
エントリーの数分だけ設けられる。アドレスレジスタ4
8は、CPUバスに接続されており、その中身はCPU
バスを介して読み出し可能である。
【0080】図13では省略しているが、アドレスレジ
スタ48に書き込みを行う手段が必要となる。この手段
は、例えば、LSU4に対して専用の命令を与えて書き
込みを行う。具体的には、プログラマが、特定のアドレ
スを指定することで、アドレスレジスタ48に書き込み
を行う。あるいは、DMAによりSPRAM42にデータを
書き込む際に、DMAのソース・アドレスを自動的にア
ドレスレジスタ48にセットしてもよい。
【0081】図13のアドレスコンパレータ49は、B
IU12を介してアドレス/データバスと接続されてお
り、アドレスレジスタ48にセットされているアドレス
と、スヌープを要求したエージェントから送られたアド
レスとを比較し、両者が一致した場合には、スヌープ・
ヒットと判断する。スヌープ・ヒットのときにどのよう
な動作を行うかは、システムの構成により異なる。
【0082】例えば、スヌープ・ヒットのときに、BI
U1はCPUのバス権を取得して、SPRAM42内のヒッ
トしたエントリーのデータをCPUバスに読み出す。あ
るいは、スヌープがヒットしたときに、何も処理を行わ
ないようにしてもよい。
【0083】プロセッサを含んだシステム全体でのスヌ
ープ・ヒット時の動作として、例えば以下の(1),(2)が
考えられる。
【0084】(1)スヌープを発行したエージェントがSPR
AM42からデータを受け取る。
【0085】(2)スヌープを発行したエージェントは、S
PRAM42がデータを送ることができるようになるまで待
機する。
【0086】(2)の場合、アドレスレジスタ48に1ビ
ット分のフラグを追加し、プロセッサ内の実行ユニット
がSPRAM42を使用している場合にそのフラグをセット
する。フラグは、BIU12に接続されており、実行ユ
ニットからの命令でセット/リセットされる。フラグが
セットされている間は、SPRAM42にスヌープ・ヒット
すると、スヌープを発行したエージェントは待ち状態に
なる。
【0087】このように、SPRAM42にスヌープ機能を
追加すれば、SPRAM42が現在どのようなデータを保持
しているのかを外部から探索でき、また、必要に応じて
SPRAM42に格納されているデータを読み出すことがで
きる。したがって、プログラム設計が容易になる。
【0088】
【発明の効果】以上詳細に説明したように、本発明によ
れば、ロード/ストア実行部によるデータの読み書きが
可能で、かつ、外部メモリとの間でDMAによるデータ
転送が可能なため、画像データのような大量のデータを
処理する際に一時的な作業領域として用いることができ
る。
【0089】また、ある命令セットを持つプロセッサを
エミュレートする場合、エミュレートされる命令列を読
み込んで、ネイティブの命令列に変換、加工する際の一
時的な作業領域として用いることができる。ここで、R
AM内で生成されるネイティブの命令セット内のコード
は、プロセッサの性能向上のためにRAM内でエディッ
トすることができ、例えば、ジェネラル・パーパス・レ
ジスタでのリード・アフター・ライト時のハザードを解
決するために、命令列の順序を入れ替えることができ
る。
【0090】また、ストアバッファを設けることによ
り、ロード/ストア命令実行部によるアクセスとDMA
転送とが競合した場合でも、パイプラインストールが起
きなくなる。
【0091】また、RAMにスヌープ機能を持たせるこ
とにより、RAMに格納されているデータを必要に応じ
て外部に取り出すことができ、プログラム設計が容易に
なる。
【図面の簡単な説明】
【図1】本発明に係るマイクロプロセッサの一実施形態
の内部構成を示すブロック図。
【図2】図1のLSU内部の一部構成を図示した図。
【図3】SPRAMを画像データの加工処理に用いる例を模
式的に示した図。
【図4】DCACHEを持たない場合のSPRAM周辺の回路図。
【図5】SPRAMとDCACHEの双方を持つ場合のSPRAM周辺の
回路図。
【図6】プロセッサ内の各実行ユニットによるアクセス
とDMA転送とが競合した場合の処理を示すタイミング
図。
【図7】DCACHEを持たない場合のSSBの接続関係を示
す図。
【図8】SPRAMとDCACHEの双方が共通のストアバッファ
を有する例を示す図。
【図9】SPRAM専用のSSBとDCACHE専用のストアバッ
ファを設けた例を示す図。
【図10】プロセッサ内の各実行ユニットによるアクセ
スとDMA転送とが競合した場合の処理を示すタイミン
グ図。
【図11】SPRAMのライトタイミングを示すタイミング
図。
【図12】SPRAMのリードタイミングを示すタイミング
図。
【図13】スヌープ機能を有するSPRAM周辺の回路図。
【符号の説明】
1 BIU 2 IFU 3 MMU 4 LSU 5a,5b,5c 実行ユニット 6a,6b,6c FPU 7 制御論理部 21 PC-pipe 22 ICACHE 23 命令発行&ステージング部 31 JTLB 32 ITLB 33 DTLB 41 データキャッシュ 42 SPRAM 44 データキャッシュ・タグ 45 SSB 46,47 ストアバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 内 海 透 アメリカ合衆国カリフォルニア州、サンノ ゼ、リンコン、サークル、1060、トーシ バ、アメリカ、エレクトロニック、コンポ ーネンツ、インコーポレーテッド内 (72)発明者 マイケル、ラーム アメリカ合衆国カリフォルニア州、サンノ ゼ、リンコン、サークル、1060、トーシ バ、アメリカ、エレクトロニック、コンポ ーネンツ、インコーポレーテッド内 (72)発明者 カムラン、マリック アメリカ合衆国カリフォルニア州、サンノ ゼ、リンコン、サークル、1060、トーシ バ、アメリカ、エレクトロニック、コンポ ーネンツ、インコーポレーテッド内

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】ロード/ストア命令を実行するロード/ス
    トア命令実行部を有するマイクロプロセッサにおいて、 前記ロード/ストア命令実行部によるデータの読み書き
    が可能で、かつ、外部メモリとの間でデータをDMA(D
    irect Memory Access)転送可能なRAM(Random Access
    Memory)を備えることを特徴とするプロセッサ。
  2. 【請求項2】前記RAMは、少なくとも第1および第2
    のデータ格納領域を有し、 前記ロード/ストア命令実行部が前記第1のデータ格納
    領域に対してアクセスを行っている合間に、前記第2の
    データ格納領域と前記外部メモリとの間でデータのDM
    A転送を行い、かつ、前記ロード/ストア命令実行部が
    前記第2のデータ格納領域に対してアクセスを行ってい
    る合間に、前記第1のデータ格納領域と前記外部メモリ
    との間でデータのDMA転送を行う制御を行うRAM制
    御部を備えることを特徴とする請求項1に記載のマイク
    ロプロセッサ。
  3. 【請求項3】前記RAM制御部は、前記RAMに対する
    前記ロード/ストア命令実行部によるアクセスとDMA
    転送とが競合した場合には、DMA転送を優先して行う
    ことを特徴とする請求項2に記載のマイクロプロセッ
    サ。
  4. 【請求項4】前記RAMに対する前記ロード/ストア命
    令実行部によるアクセスとDMA転送との優先度を制御
    可能な制御レジスタを備えることを特徴とする請求項1
    〜3のいずれかに記載のマイクロプロセッサ。
  5. 【請求項5】前記RAMに対する前記ロード/ストア命
    令実行部によるアクセスとDMA転送との優先度を制御
    可能な外部ピンを備えることを特徴とする請求項1〜3
    のいずれかに記載のマイクロプロセッサ。
  6. 【請求項6】前記ロード/ストア命令実行部による前記
    RAMのアクセスに関連するデータを、アクセス前に一
    時的に格納するストアバッファを備えることを特徴とす
    る請求項1〜5のいずれかに記載のマイクロプロセッ
    サ。
  7. 【請求項7】前記RAMに対する前記ロード/ストア命
    令実行部によるアクセスとDMA転送とが競合した場合
    には、DMA転送を優先して行い、競合した前記ロード
    /ストア命令実行部による前記RAMのアクセスに関連
    するデータを一時的に前記ストアバッファに格納するR
    AM制御部を備えることを特徴とする請求項6に記載の
    マイクロプロセッサ。
  8. 【請求項8】前記RAMにアクセスするための専用の命
    令が設けられることを特徴とする請求項1に記載のマイ
    クロプロセッサ。
  9. 【請求項9】前記専用の命令の中には、前記RAMに対
    して直接読み書きを行う命令と、外部メモリとの間でD
    MAによるブロック転送を行う命令との少なくとも一方
    が含まれることを特徴とする請求項8に記載のマイクロ
    プロセッサ。
  10. 【請求項10】前記ロード/ストア命令実行部は、前記
    専用の命令が発行された場合には、メモリ管理ユニット
    の制御に先立って、該当する命令を実行することを特徴
    とする請求項8または9に記載のマイクロプロセッサ。
  11. 【請求項11】外部メモリから読み出したデータを一時
    的に格納するキャッシュメモリを備え、 前記ロードストア実行部は、前記RAMと前記キャッシ
    ュメモリとを略等しいレイテンシーでアクセスすること
    を特徴とする請求項1〜10のいずれかに記載のマイク
    ロプロセッサ。
  12. 【請求項12】前記ロード/ストア命令実行部による前
    記RAMのアクセスに関連するデータを、アクセス前に
    一時的に格納する第1のストアバッファと、 前記ロード/ストア命令実行部による前記キャッシュメ
    モリのアクセスに関連するデータを、アクセス前に一時
    的に格納する第2のストアバッファと、を備えることを
    特徴とする請求項11に記載のマイクロプロセッサ。
  13. 【請求項13】前記RAMに格納されたデータに対応す
    るアドレスを格納するアドレスレジスタと、 前記アドレスレジスタに格納されたアドレスと、スヌー
    プ対象となるアドレスとを比較する比較器と、を備え、 前記RAMは、前記比較器による比較結果に応じた動作
    を行うことを特徴とする請求項12に記載のマイクロプ
    ロセッサ。
  14. 【請求項14】前記RAMは、前記比較器による比較結
    果が一致した場合には、一致したアドレスに対応する前
    記RAMのデータを、スヌープを指示したエージェント
    に転送することを特徴とする請求項13に記載のマイク
    ロプロセッサ。
  15. 【請求項15】前記アドレスレジスタは、前記ロード/
    ストア命令実行部が前記RAMへのアクセス中であるか
    否かを示すフラグ情報を含んでおり、 前記フラグ情報により前記ロード/ストア命令実行部が
    前記RAMへのアクセス中であることがわかると、スヌ
    ープを指示したエージェントに対して前記RAMへのア
    クセスを禁止することを特徴とする請求項14に記載の
    マイクロプロセッサ。
  16. 【請求項16】前記RAMがスヌープ指示信号を受領す
    るか否かを示すフラグ情報を有し、前記RAMが前記ス
    ヌープを受領しないことを前記フラグ情報が示している
    場合には、前記スヌープを指示する前記エージェントの
    さらなるアクセスを一次的に禁止することを特徴とする
    請求項14または15に記載のマイクロプロセッサ。
JP2000029147A 1999-02-08 2000-02-07 マイクロプロセッサ Expired - Fee Related JP4160228B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US246406 1999-02-08
US09/246,406 US6389527B1 (en) 1999-02-08 1999-02-08 Microprocessor allowing simultaneous instruction execution and DMA transfer

Publications (2)

Publication Number Publication Date
JP2000231550A true JP2000231550A (ja) 2000-08-22
JP4160228B2 JP4160228B2 (ja) 2008-10-01

Family

ID=22930538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000029147A Expired - Fee Related JP4160228B2 (ja) 1999-02-08 2000-02-07 マイクロプロセッサ

Country Status (2)

Country Link
US (1) US6389527B1 (ja)
JP (1) JP4160228B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003060809A2 (en) * 2001-12-28 2003-07-24 Intel Corporation Method and apparatus for converting an external memory access into a local memory access in a processor core
WO2004031943A1 (ja) * 2002-09-30 2004-04-15 Renesas Technology Corp. データプロセッサ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047328B1 (en) * 2001-07-13 2006-05-16 Legerity, Inc. Method and apparatus for accessing memories having a time-variant response over a PCI bus by using two-stage DMA transfers
JP3970705B2 (ja) * 2002-07-05 2007-09-05 富士通株式会社 アドレス変換装置、アドレス変換方法および2階層アドレス変換装置
US7191318B2 (en) * 2002-12-12 2007-03-13 Alacritech, Inc. Native copy instruction for file-access processor with copy-rule-based validation
US7240183B2 (en) * 2005-05-31 2007-07-03 Kabushiki Kaisha Toshiba System and method for detecting instruction dependencies in multiple phases
US20070022277A1 (en) * 2005-07-20 2007-01-25 Kenji Iwamura Method and system for an enhanced microprocessor
US7631149B2 (en) * 2006-07-24 2009-12-08 Kabushiki Kaisha Toshiba Systems and methods for providing fixed-latency data access in a memory system having multi-level caches
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
US5426765A (en) * 1991-08-30 1995-06-20 Compaq Computer Corporation Multiprocessor cache abitration
US5418910A (en) * 1992-05-05 1995-05-23 Tandy Corporation Dual buffer cache system for transferring audio compact disk subchannel information to a computer
JPH0797352B2 (ja) * 1992-07-02 1995-10-18 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システム及び入出力コントローラ
EP0608622A1 (en) * 1993-01-29 1994-08-03 International Business Machines Corporation Multiprocessor system with multilevel caches
GB2282471B (en) * 1993-09-29 1997-11-05 Advanced Risc Mach Ltd Cache storage
US5524208A (en) * 1994-06-09 1996-06-04 Dell Usa, L.P. Method and apparatus for performing cache snoop testing using DMA cycles in a computer system
US5557769A (en) * 1994-06-17 1996-09-17 Advanced Micro Devices Mechanism and protocol for maintaining cache coherency within an integrated processor
ZA954460B (en) * 1994-09-30 1996-02-05 Intel Corp Method and apparatus for processing memory-type information within a microprocessor
US5768628A (en) * 1995-04-14 1998-06-16 Nvidia Corporation Method for providing high quality audio by storing wave tables in system memory and having a DMA controller on the sound card for transferring the wave tables
US5765194A (en) * 1996-05-01 1998-06-09 Hewlett-Packard Company Timing consistent dynamic compare with force miss circuit
US5809528A (en) * 1996-12-24 1998-09-15 International Business Machines Corporation Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory
JP3681026B2 (ja) * 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法
US5996051A (en) * 1997-04-14 1999-11-30 Advanced Micro Devices, Inc. Communication system which in a first mode supports concurrent memory acceses of a partitioned memory array and in a second mode supports non-concurrent memory accesses to the entire memory array

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003060809A2 (en) * 2001-12-28 2003-07-24 Intel Corporation Method and apparatus for converting an external memory access into a local memory access in a processor core
WO2003060809A3 (en) * 2001-12-28 2004-03-04 Intel Corp Method and apparatus for converting an external memory access into a local memory access in a processor core
US7028129B2 (en) 2001-12-28 2006-04-11 Intel Corporation Method and apparatus for converting an external memory access into a local memory access in a processor core
WO2004031943A1 (ja) * 2002-09-30 2004-04-15 Renesas Technology Corp. データプロセッサ
US7415576B2 (en) 2002-09-30 2008-08-19 Renesas Technology Corp. Data processor with block transfer control

Also Published As

Publication number Publication date
JP4160228B2 (ja) 2008-10-01
US6389527B1 (en) 2002-05-14

Similar Documents

Publication Publication Date Title
JP4162825B2 (ja) マイクロプロセッサ
US7133968B2 (en) Method and apparatus for resolving additional load misses in a single pipeline processor under stalls of instructions not accessing memory-mapped I/O regions
US7590774B2 (en) Method and system for efficient context swapping
EP0664897B1 (en) High speed programmable logic controller
JPH11312122A (ja) 使用者が構築可能なオンチッププログラムメモリシステム
US10552153B2 (en) Efficient range-based memory writeback to improve host to device communication for optimal power and performance
JPH0612327A (ja) キャッシュメモリを有するデータプロセッサ
JPH02190930A (ja) ソフトウエア命令実行装置
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
US11954044B2 (en) Translation lookaside buffer prewarming
JP3841810B2 (ja) データプロセッサ
JP2006302313A (ja) マイクロコード・キャッシュ・システム及び方法
WO2019133172A1 (en) Processor, method, and system for reducing latency in accessing remote registers
JP4160228B2 (ja) マイクロプロセッサ
US9928115B2 (en) Hardware migration between dissimilar cores
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
US9454486B2 (en) Cache pre-fetch merge in pending request buffer
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
US6393523B1 (en) Mechanism for invalidating instruction cache blocks in a pipeline processor
US6209083B1 (en) Processor having selectable exception handling modes
US5721867A (en) Method and apparatus for executing single beat write store instructions during a cache store linefill operation
JP3105110B2 (ja) 演算装置
EP0840231A1 (en) Microprocessor comprising multi-level cache memory
US11080188B1 (en) Method to ensure forward progress of a processor in the presence of persistent external cache/TLB maintenance requests
JPH04340145A (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080717

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees