JPH07105093A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH07105093A
JPH07105093A JP5248141A JP24814193A JPH07105093A JP H07105093 A JPH07105093 A JP H07105093A JP 5248141 A JP5248141 A JP 5248141A JP 24814193 A JP24814193 A JP 24814193A JP H07105093 A JPH07105093 A JP H07105093A
Authority
JP
Japan
Prior art keywords
data
storage device
address
bus
external
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
JP5248141A
Other languages
English (en)
Other versions
JP3639927B2 (ja
Inventor
Koichi Iwami
幸一 石見
Yuichi Saito
祐一 斎藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP24814193A priority Critical patent/JP3639927B2/ja
Publication of JPH07105093A publication Critical patent/JPH07105093A/ja
Priority to US08/689,115 priority patent/US5708803A/en
Application granted granted Critical
Publication of JP3639927B2 publication Critical patent/JP3639927B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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

Abstract

(57)【要約】 【目的】 種々の応用分野で高い処理性能を発揮するマ
イクロプロセッサを、またパイプライン処理機構で分岐
予測が行なわれている場合にも、処理の中断を可及的に
少なくして迅速な処理が可能なデータ処理装置の提供を
目的とする。 【構成】 ダイレクトマップ方式のキャッシュメモリを
内蔵キャッシュメモリまたは内蔵RAM のいずれかとして
選択的に使用可能にするセレクタ41を備える。また、パ
イプライン処理機構において分岐予測が行なわれている
場合以外にはキャッシュメモリまたは外部記憶装置であ
る主記憶装置28へのアクセスが行なわれ、分岐予測が行
なわれている場合にはキャッシュメモリへのアクセスの
みが行なわれて外部記憶装置へのアクセスは禁じられ
る。またアクセス先を保持しておくFBレジスタ61B を備
え、主記憶装置28へのアクセスが可能になった時点でFB
レジスタ61B に保持されているアドレスにより主記憶装
置28がアクセスされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理装置に関し、
具体的には内蔵キャッシュメモリ及びパイプライン処理
機構を有するデータ処理装置に関し、更に詳述すれば、
そのようなデータ処理装置において命令及びデータのア
クセス処理を高速化するための技術に関する。
【0002】
【従来の技術】従来の一般的なデータ処理装置では、メ
インメモリ上に記憶されているプログラムを処理するた
めに、メインメモリ上の命令及びデータをシステムバス
を通じてデータ処理装置内に取り込む。その際、データ
処理装置内でのプログラムの処理時間に比してメインメ
モリに対するアクセス速度が遅い場合にはデータ処理装
置からメインメモリへのアクセス回数を減少させてメイ
ンメモリのアクセス速度を見掛け上早くする目的で、所
謂キャッシュメモリを使用する場合が多い。
【0003】キャッシュメモリとは、比較的高速なメモ
リセルで構成された比較的小規模な記憶装置であり、デ
ータ処理装置がメインメモリに対して一度アクセスして
取り込んだ命令あるいはデータを記憶させておくことに
より、同一の命令あるいはデータをデータ処理装置が再
度アクセスした場合にはメインメモリをアクセスせずに
キャッシュメモリからその命令あるいはデータを得るこ
とにより、メインメモリをその都度アクセスする場合に
比して高速に命令あるいはデータを使用することを可能
とする。
【0004】一方、種々の機械装置、たとえば近年急速
にエレクトロニクス化が進んでいる家電製品あるいは産
業用機械等のための組み込み制御用のデータ処理装置で
は、使用するプログラム及びデータ量が比較的小さいた
め、内蔵RAM あるいは内蔵ROM を備え、それらにプログ
ラム及びデータを記憶させておくことにより、高速なア
クセスを実現している。たとえば、三菱電機株式会社製
の16ビットマイクロコンピュータM37700M2-XXXFPにおい
てはそのユーザーズマニュアル (1989年3月発行) に示
されているように、メモリマップ上のアドレス”007
F16”〜”027F16”に内蔵RAM が、アドレス”C00016
〜”FFFF16”に内蔵ROM がそれぞれ配置されている。な
おここで、”16”は16進数を表している。内蔵RAM は主
としてデータの格納, サブルーチンの呼び出し及び割り
込み発生時のスタック領域として使用され、内蔵ROM は
主としてプログラムの格納に使用される。
【0005】このような小規模のシステムにおいては、
キャッシュメモリを使用してもその効果は充分には発揮
されず、キャッシュメモリよりも明示的に操作可能な内
蔵RAM の方がシステムの性能向上の面からは有効であ
る。一方、比較的大規模なシステムでは、膨大なメモリ
空間を使用するため、内蔵RAM の容量では処理すべきデ
ータを格納するには不十分である。従って、小規模な内
蔵メモリの容量でシステム全体の性能を向上させるに
は、内蔵メモリをキャッシュメモリとして使用する場合
が多い。
【0006】このようにデータ処理装置の用途に応じ
て、内蔵メモリをキャッシュメモリとして使用する方が
有効である場合と、内蔵データRAM として使用する方が
有効である場合とがある。従って、従来のデータ処理装
置では、その目的用途に応じて内蔵キャッシュメモリと
内蔵RAM とのいずれか一方を備えている場合が多い。
【0007】また、近年の一般的なデータ処理装置にお
いては、パイプライン処理機構を備え、複数の命令を内
部のパイプラインステージで並列処理するとによって性
能を向上させている。このパイプライン処理の利点は、
メインメモリから命令をフェッチする処理に始まって命
令を実行する処理、更には命令実行の結果をメインメモ
リにストアする処理までの一連の処理がいくつかの機能
ブロックに分割されて各ステージで同時に処理されるた
め、見掛け上は複数の命令が並列処理されて性能が向上
することである。しかし、パイプライン処理機構を備え
たデータ処理装置により処理される命令の全てが必ずし
も並列処理可能であるわけではなく、たとえば条件付き
分岐命令を処理する場合、分岐命令が実際に処理される
までは次にどの命令をパイプラインに取り込めばよいの
かが判明しないので、並列処理は出来なくなる。
【0008】そこで、条件付き分岐命令がパイプライン
内に取り込まれた場合には、その分岐命令が実際に分岐
を発生するか否か、また分岐するのであればどの命令へ
分岐するかを予測(分岐予測)して後続の命令を取り込
むような手法が採用されている。しかし、分岐予測の結
果は実際の分岐とは異なることもあり、また間違った予
測に従ってメモリ等の外部装置をアクセスした場合に
は、アクセス出来ないアドレス、たとえばメモリ等のハ
ードウェアが実際には接続されていないアドレスをアク
セスする可能性もある。そのような場合には、応答速度
遅くなる可能性があり、性能が劣化する。このため、分
岐予測中に命令を取り込んだり、あるいはパイプライン
に取り込まれた命令がメモリ等の外部装置をアクセスし
ようとした場合には、その時点で一旦処理を中断し、分
岐命令が実行されて分岐予測が正しかったことが確定し
た後に処理を再開する必要があった。
【0009】
【発明が解決しようとする課題】多目的に使用される汎
用データ処理装置では、内蔵キャッシュメモリと内蔵RA
M とのいずれがシステムの性能向上に有効であるかはそ
の応用分野によって異なる。内蔵キャッシュメモリのみ
を有しているデータ処理装置を比較的小規模な内蔵RAM
に適したシステムに使用した場合、使用するメモリ空間
が小さいため、キャッシュ内に無駄な領域が発生する可
能性が高く、明示的に操作可能な内蔵RAMを使用した方
がシステム性能は向上する。一方、比較的大規模なメモ
リ空間を扱うシステムでは使用するメモリ空間が膨大に
なるため、内蔵RAM の容量では不十分であり、内蔵RAM
を有効に利用するためには頻繁に内蔵RAM 内の命令ある
いはデータを入れ換える必要が生じる。この場合、プロ
グラムの負担も増加し、そのための処理もまた必要にな
るため、内蔵キャッシュメモリを備えた方が性能は向上
する。
【0010】また、内蔵キャッシュメモリと内蔵RAM と
の双方を備えている場合は、メモリとして使用可能なハ
ードウェア量が同じであればそれぞれはいずれか一方の
みを備える場合の半分の容量になるため、共に能力が低
下する。また、パイプライン処理を行なうデータ処理装
置においては、分岐予測してから実際に分岐が確定する
までの間に、不確定なアドレスの命令あるいはデータを
アクセスしようとすると、処理が中断されてパイプライ
ン処理の並列処理が出来なくなり、やはり性能が低下す
る。
【0011】本発明はこのような事情に鑑みてなされた
ものであり、種々の応用分野で高い処理性能を発揮する
データ処理装置を実現することを目的とする。また、パ
イプライン処理機構を備えたデータ処理装置において、
分岐予測が行なわれている場合にも、処理の中断を可及
的に少なくして迅速な処理が可能なデータ処理装置の提
供を目的とする。
【0012】
【課題を解決するための手段】本発明は主要には二つの
発明で構成されている。第1の発明は、ダイレクトマッ
プ方式のキャッシュメモリを備え、それを内蔵キャッシ
ュメモリまたは内蔵RAM のいずれかとして選択的に使用
可能にする切り換え手段を備える。また、所謂バススヌ
ープ機能も備えており、内蔵キャッシュメモリとして動
作している場合にのみ機能する。
【0013】第2の発明は、パイプライン処理機構にお
いて分岐予測が行なわれている場合以外の場合にはキャ
ッシュメモリまたは外部記憶装置へのアクセスが行なわ
れ、分岐予測が行なわれている場合にはキャッシュメモ
リへのアクセスのみが行なわれて外部記憶装置へのアク
セスは禁じられる。またアクセス先を保持しておくアド
レス保持手段を備え、外部記憶装置へのアクセスが可能
になった時点でアドレス保持手段に保持されているアド
レスにより外部記憶装置へのアクセスが行なわれる。
【0014】
【作用】第1の発明では、切り換え手段によりキャッシ
ュメモリが内蔵キャッシュメモリまたは内蔵RAM として
動作し、また内蔵キャッシュメモリとして動作している
場合にはバススヌープ機能も動作する。
【0015】第2の発明では、分岐予測が行なわれてい
る場合には外部記憶装置へのアクセスが禁止されるが、
分岐予測が正しかったことが確定して外部記憶装置への
アクセスが可能になった時点で直ちにアクセスがアドレ
ス保持手段に保持されているアドレスにより行なわれ
る。
【0016】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。図1は本発明のデータ処理装置の一実施
例としての32ビットマイクロプロセッサ及びその周辺回
路の構成を示すブロック図である。
【0017】このマイクロプロセッサの内部を機能的に
大きく分けると、命令デコード部21, オペランドアドレ
ス計算部22, PC計算部23, マイクロROM 24, 演算部25,
命令フェッチ部26, オペランドアクセス部1, バスイン
タフェイス部13等に分けられる。
【0018】バスインタフェイス部13は32ビット幅の外
部アドレスバス15と、32ビット幅の外部データバス16
と、外部制御信号線17とを介して、主記憶装置(メイン
メモリ)28, 2次記憶装置29及びその他の入出力装置
(キーボード, ディスプレイ, プリンタ等)30 と接続さ
れている。また、命令フェッチ部26とオペランドアクセ
ス部1とはそれぞれ独立してキャッシュメモリを内蔵し
ている。
【0019】また、本実施例のマイクロプロセッサは図
2の模式図に示されているように6段のパイプライン処
理を行なう。具体的には、本実施例のマイクロプロセッ
サのパイプラインはパイプラインの上流側から下流側
へ、命令フェッチステージ31, 命令デコードステージ3
2, オペランドアドレス計算ステージ33, オペランドフ
ェッチステージ34, 実行ステージ35, ストアステージ36
の6段である。
【0020】プログラムはまず、命令フェッチステージ
31で主記憶装置28からパイプラインに取り込まれ、次段
の命令デコードステージ32で命令コードが解読される。
解読された命令が条件付き分岐命令である場合は命令デ
コードステージ32で分岐予測が行なわれ、次の命令は分
岐予測先からパイプラインに取り込まれる。そして、命
令デコードステージ32で解読された命令がオペランドを
有する場合には、オペランドアドレス計算ステージ33で
オペランドのアドレスが計算され、更にメモリ等からの
データのフェッチを伴う場合は次段のオペランドフェッ
チステージ34でデータが取り込まれる。その後、実行ス
テージ35で命令が実行され、実行結果のストアが必要が
場合にはストアステージ36で命令実行結果のデータが主
記憶装置28等のメモリにストアされる。
【0021】図3は本実施例のマイクロプロセッサのキ
ャッシュメモリを内蔵したオペランドアクセス部1の構
成例を示すブロック図、図4は同じく内蔵キャッシュモ
ードと内蔵RAM モードとの切り換え及びキャッシュヒッ
ト信号の生成に関する回路の構成例を示す回路図、図5
はキャッシュアクセスの際のタイミングチャートであ
る。
【0022】図3において、参照符号2は本実施例のオ
ペランドアクセス部1に内蔵されているキャッシュメモ
リのタグ部を、3はデータ部を、90はバリッドビット部
をそれぞれ示している。データ部3は4Kバイトの容量を
有し、後述する BMCレジスタ900(図9参照) のDMビット
の値に応じて決定される内蔵メモリモード信号9の値
が”0”であればダイレクトマップ方式の内蔵キャッシ
ュメモリとして、また”1”であれば内蔵RAM としてそ
れぞれ動作する内蔵キャッシュモードと内蔵RAM モード
とに切り換えられる。内蔵キャッシュモード時には、タ
グ部2が20ビット, バリッドビット部90が1ビットで、
データ部3が16バイトを1ブロックとする 256エントリ
のデータを記憶することが出来る。なお、キャッシュメ
モリ中のデータが更新された場合には対応する外部メモ
リ上のデータも同時に書き換えられるライトスルー方式
で動作する。
【0023】上述のような内蔵キャッシュモードと内蔵
RAM モードとの切り換えは具体的には後述するセレクタ
41で行なわれる。参照符号4はDMADDRレジスタであり、
後述する如く、内蔵RAM モード時に内蔵RAM が割り付け
られるメモリ空間のベースアドレスである20ビットの内
蔵RAM ベースアドレスを記憶する。このDMADDRレジスタ
4に記憶されている内蔵RAM ベースアドレスはセレクタ
41へ出力されている。なお、この内蔵RAM ベースアドレ
スは命令により任意の値をDMADDRレジスタ4に記憶させ
ることが可能である。
【0024】参照符号5はタグ部2から出力されたタグ
情報を一時的に保持するタグ出力レジスタであり、タグ
部2と同様に20ビット構成である。また、参照符号91は
バリッドビット部90から出力されたバリッドビットの値
を一時的に保持するバリッドビットレジスタであり、バ
リッドビット部90と同様に1ビット構成である。タグ出
力レジスタ5に保持されたタグ情報はセレクタ41へ、バ
リッドビットレジスタ91に保持されたバリッドビットの
値はゲート71へそれぞれ出力される。なお、このゲート
71は内蔵メモリモード信号9が”0”である場合、即ち
内蔵キャッシュモード時には開路していてバリッドビッ
トの値をバリッド信号43として比較器18へ出力する。
【0025】参照符号10はデータ出力レジスタであり、
内部アドレスバス6から与えられたアドレスに対応する
データ部3のエントリから読み出されるデータを一時的
に保持する。このデータ出力レジスタ10はゲート72を介
して内部データバス14に接続された出力経路を有してい
る。ゲート72は前述の比較器18からキャッシュヒット信
号11が出力された場合(キャッシュヒット信号11の値
が”1”)に開路し、データ出力レジスタ10に保持され
ているデータを内部データバス14へ出力する。
【0026】また、データ出力レジスタ10はゲート73を
介して内部データバス14に接続された入力経路を有して
いる。ゲート73は前述の比較器18からキャッシュヒット
信号11が出力された場合に開路し、内部データバス14上
のデータをデータ出力レジスタ10に入力させる。
【0027】参照符号74は3入力の ANDゲートであり、
内蔵メモリモード信号9,キャッシュヒット信号11及び
後述するバススヌープ信号20が入力される。この ANDゲ
ート74は上述の3入力全てが”1”である場合にその出
力信号を”1”にしてバリッドビットレジスタ91の内容
をクリアして”0”にする。
【0028】参照符号75は3入力のORゲートであり、後
述する第1プリフェッチ要求信号7, 第2プリフェッチ
要求信号8及びバススヌープ信号20が入力され、出力信
号をキャッシュリード信号42としてタグ部2及びデータ
部3に与えられる。キャッシュリード信号42が与えられ
ている状態(キャッシュリード信号42の値が”1”)で
内部アドレスバス6からアドレスが与えられると、タグ
部2, バリッドビット部90, データ部3の対応するする
エントリからタグ情報がタグ出力レジスタ5へ、バリッ
ドビットがバリッドビットレジスタ91へ、データがデー
タ出力レジスタ10へそれぞれ出力される。
【0029】参照符号77はインバータであり、比較器18
から出力されたキャッシュヒット信号11を反転して AND
ゲート76に入力させる。 ANDゲート76はこのインバータ
77の出力の他に第2プリフェッチ要求信号8も入力され
ており、その出力信号はプリフェッチ中止信号19として
出力されてオペランドフェッチステージ34に入力され
る。従って、キャッシュヒット信号11が”0”で第2プ
リフェッチ要求信号8が”1”である場合には、プリフ
ェッチ中止信号19は”1”になる。
【0030】次に、図4を参照して内蔵キャッシュモー
ドと内蔵RAM モードとの切り換え及びキャッシュヒット
信号11の生成に関する回路、具体的にはセレクタ41及び
比較器18について説明する。セレクタ41には内蔵メモリ
モード信号9と、DMADDRレジスタ4に保持されている20
ビットの内蔵RAM ベースアドレスの各ビット(以下、そ
れぞれ4-0, 4-1…4-19という)と、20ビット構成のタグ
出力レジスタ5の各ビット(以下、それぞれ5-0, 5-1…
5-19という) と、内部アドレスバス6から入力されるフ
ェッチアドレスの上位20ビット(以下、それぞれ6-0, 6
-1…6-19という) とが入力されている。内蔵RAM ベース
アドレスの各ビット4-0, 4-1…4-19はそれぞれトランス
ファーゲート87-0, 87-2…87-19 を介して比較器18内の
EXORゲート83-0, 83-2…83-19の一方の入力端子に、タ
グ出力レジスタ5の各ビット5-0, 5-1…5-19はそれぞれ
トランスファーゲート86-0, 86-2…86-19 を介してEXOR
ゲート83-0, 83-2…83-19 の一方の入力端子に入力され
ており、フェッチアドレスの上位20ビット6-0, 6-1…6-
19はそれぞれEXORゲート83-0, 83-2…83-19 の他方の入
力端子に入力されている。
【0031】また、図4において、参照符号85はインバ
ータであり、内蔵メモリモード信号9を反転して出力す
る。上述の各トランスファーゲート86-0, 86-2…86-19
及び87-1, 87-2…87-19 はいずれも内蔵メモリモード信
号9及びそれをインバータ85で反転した信号により開閉
制御される。具体的には、内蔵メモリモード信号9が”
0”である場合にはトランスファーゲート86-0, 86-2…
86-19 が開路してそれぞれタグ出力レジスタ5の各ビッ
ト5-0, 5-1…5-19を出力してEXORゲート83-0, 83-2…83
-19 の一方の入力端子に入力する。また、内蔵メモリモ
ード信号9が”1”である場合にはトランスファーゲー
ト87-0, 87-2…87-19 が開路してそれぞれ内蔵RAM ベー
スアドレスの各ビット4-0, 4-1…4-19を出力してEXORゲ
ート83-0, 83-2…83-19 の一方の入力端子に入力する。
【0032】従って、内蔵メモリモード信号9が”0”
である場合にはフェッチアドレスの上位20ビット6-0, 6
-1…6-19はそれぞれ対応するタグ出力レジスタ5の各ビ
ット5-0, 5-1…5-19とEXORゲート83-0, 83-2…83-19 で
比較され、両者が同一の値であれば各EXORゲート83-0,
83-2…83-19 の出力信号が”0”になる。また、内蔵メ
モリモード信号9が”1”である場合にはフェッチアド
レスの上位20ビット6-0, 6-1…6-19はそれぞれ対応する
内蔵RAM ベースアドレスの各ビット4-0, 4-1…4-19とEX
ORゲート83-0, 83-2…83-19 で比較され、両者が同一の
値であれば各EXORゲート83-0, 83-2…83-19 の出力信号
が”0”になる。
【0033】比較器18内には、上述のEXORゲート83-0,
83-2…83-19 の他に、プルアップされた信号線80が入力
端子に接続されたインバータ88と、このインバータ82の
出力信号を一方の入力端子に入力する2入力がいずれも
負論理であるの ANDゲート82と、前述の各EXORゲート83
-0, 83-2…83-19 の出力信号がゲートに与えられている
トランジスタ84-0, 84-1…84-19 と、図3に示されてい
るゲート71の出力信号であるバリッド信号43が入力され
るインバータ89とが備えられている。なお、インバータ
89の出力信号は上述の ANDゲート82の他方の入力端子に
入力されている。各トランジスタ84-0, 84-1…84-19 の
ソースは前述の信号線80に、ドレインは接地電位にそれ
ぞれ接続されている。従って、いずれかのEXORゲート83
-0, 83-2…83-19 への2入力が不一致であればその出力
信号は”1”になって信号線80はいずれかのトランジス
タ84-0, 84-1…84-19 によって接地電位に接続される。
これにより、インバータ88の入力が”0”になってその
出力信号が”1”になるので、 ANDゲート82の出力信号
であるキャッシュヒット信号11は”0”になる。一方、
全てのEXORゲート83-0, 83-2…83-19 への2入力が一致
していればそれぞれの出力信号は”0”になって信号線
80はいずれのトランジスタ84-0, 84-1…84-19 によって
も接地電位に接続されることはない。これにより、イン
バータ88の入力が”1”になってその出力信号が”0”
になし、バリッド信号43が”1”であれば ANDゲート82
の両入力が”0”になるので、その出力信号であるキャ
ッシュヒット信号11は”1”になる。
【0034】ここで、いずれかのEXORゲート83-0, 83-2
…83-19 への2入力が不一致であるということは、内蔵
メモリモード信号9が”0”である場合にはフェッチア
ドレスの上位20ビット6-0, 6-1…6-19とタグ出力レジス
タ5の各ビット5-0, 5-1…5-19とのいずれかの対応する
ビット同士の値が不一致であることを意味しており、そ
れはキャッシュミスしたということである。また、内蔵
メモリモード信号9が”1”である場合には、フェッチ
アドレスの上位20ビット6-0, 6-1…6-19と内蔵RAM ベー
スアドレスの各ビット4-0, 4-1…4-19とのいずれかの対
応するビット同士の値が不一致であることを意味してお
り、それは内蔵RAM へのアクセスではないということで
ある。
【0035】図6乃至図9はキャッシュメモリに関係す
るレジスタの一部のフィールド及びその意味を示す模式
図である。図6に示されているDMADDRレジスタは図3に
参照符号4にて示されており、内蔵RAM モード時に内蔵
RAM が割り付けられるメモリ空間のベースアドレスであ
る20ビットの内蔵RAM ベースアドレスを記憶するレジス
タである。図7に示されているNCADDRレジスタの各ビッ
トは4Gバイトのメモリ空間を32個の128Mバイトのアドレ
ス空間に分割し、それぞれの128Mバイトのアドレス空間
に対応して各アドレス空間のキャッシュ取り込みの禁止
を指定する。
【0036】図8に示されている BMPレジスタはキャッ
シュのパージを指定するレジスタであり、ビット20であ
るDPビットまたはビット28であるIPビットに”1”が設
定されることによりデータキャッシュまたは命令キャッ
シュのパージがそれぞれ行なわれる。図9に示されてい
る BMCレジスタはキャッシュの動作モードとリプレース
とを制御する。内蔵メモリモード信号9は BMCレジスタ
のビット26, 27(DM)の値に応じて生成される。
【0037】次に、図5のタイミングチャートに則し
て、まず内蔵キャッシュモード時 (DM=10、即ち内蔵メ
モリモード信号9が”0”) の動作を説明する。なお、
図5のタイミングチャートにおいて、波形W1は本発明の
データ処理装置の内部クロックを、波形W2は内部アドレ
スバス6上のアドレスを、波形W3はタグ部2から出力さ
れるタグ情報を、波形W4はデータ部3から出力されるデ
ータを、波形W5はDMADDRレジスタ4から出力される内蔵
RAM ベースアドレスを、波形W6は第1プリフェッチ要求
信号7または第2プリフェッチ要求信号8を、波形W7は
キャッシュヒット信号11を、波形W8は外部バスアクセス
のための信号を、波形W9は内部データバス14上のデータ
をそれぞれ示している。
【0038】クロックCL1において、第1プリフェッチ
要求信号7または第2プリフェッチ要求信号8のいずれ
かが”1”であり且つ内部アドレスバス6にアドレス値
が入力されると、その下位8ビットがデコードされて 2
56エントリの内のいずれかが指定され、そのエントリに
対応するタグ部2のタグ情報がタグ出力レジスタ5へ、
バリッドビット部90のバリッドビットがバリッドビット
レジスタ91へ、データ部3のデータがデータ出力レジス
タ10へそれぞれ出力される。この際、内蔵メモリモード
信号9は”0”であるので、比較器18にはタグ5とフェ
ッチアドレス6の上位20ビットとが入力され、両者が一
致し且つバリッドビット部90が”1”であれば、クロッ
クCL2においてキャッシュヒット信号11が出力される。
【0039】上述のようにフェッチアクセスがキャッシ
ュヒットすればゲート72が開路するので、データ部3か
ら出力されてデータ出力レジスタ10に保持されていたデ
ータが内部データバス14へ出力される。データストアの
場合はゲート73が開路するので、内部データバス14上の
値がデータ出力レジスタ10を通じてデータ部3の対応す
るエントリに書き込まれ、更に外部メモリ上のデータも
書き換える必要があるため、バスインタフェイス部13へ
書き込み要求が出力される。
【0040】一方、クロックCL4において上述同様にデ
ータフェッチが開始されてもキャッシュミスした場合
は、外部バスアクセスが有効となってクロックCL7にお
いて外部データバス16から内部データバス14へデータが
取り込まれる。
【0041】一方、内蔵RAM モード(DM =01) である場
合は、内蔵メモリモード信号9が”1”であるので、DM
ADDRレジスタ4に保持されている内蔵RAM ベースアドレ
スの各ビット4-0, 4-1…4-19がフェッチアドレスの上位
20ビット6-0, 6-1…6-19とそれぞれ比較器18により比較
される。全てのビットが一致すれば、内蔵キャッシュモ
ード時と同様にキャッシュヒット信号11が出力される。
また内部アドレスバス6からフェッチアドレスが与えら
れた時点でデータ部3からは対応するデータが出力され
てデータ出力レジスタ10の保持されているので、キャッ
シュヒットすれば、データフェッチの場合はデータ出力
レジスタ10からデータが内部データバス14へ出力され、
データストアの場合は内部データバス14上の値がデータ
部3の対応するエントリに書込まれる。但しこの際、バ
スインタフェイス部13へ書き込み要求が出力されること
はない。
【0042】ところで、複数のマイクロプロセッサを接
続したシステムにおいては、一つのマイクロプロセッサ
の内蔵キャッシュメモリ内のデータが書き換えられた場
合には、外部メモリの書換えと共に他のマイクロプロセ
ッサの内蔵キャッシュメモリの同一の領域も書き換える
か、あるいは無効化する必要がある。そのため、キャッ
シュメモリを内蔵するマイクロプロセッサは外部アドレ
スを常時監視しており、キャッシュメモリに読み込んで
いる領域と同一の領域に他のデータ処理装置が書き込み
を行なう場合、キャッシュメモリ内の該当する領域を無
効にする機能を備えている。この機能をバススヌープ機
能と称する。但し、内蔵RAM に対しては、各マイクロプ
ロセッサ固有のワーキングレジスタとして使用されるた
め、バススヌープの対象にはならない。
【0043】上述のような複数のマイクロプロセッサが
共通の外部アドレスバス15, 外部データバス16, 外部制
御信号線17を介して主記憶装置28等の外部装置に接続さ
れている構成においては、それぞれのデータ処理装置が
外部データバス16を使用して外部装置をアクセスする権
利をバス権という。このバス権を本発明のデータ処理装
置が解放している場合、即ち他の装置に外部データバス
16の使用権を譲っている場合に、他のデータ処理装置が
外部データバス16を使用して外部装置 (たとえば主記憶
装置28) に対してデータの書き換えを行なっていること
を外部制御信号線17へ出力されているメモリライト信号
とデータストローブ信号 (外部データバス16上に有効な
データが出力されていることを示す信号) の状態により
バスインタフェイス部13が検出すると、バスインタフェ
イス部13はバススヌープ信号20を”1”にすると同時に
外部アドレスバス15上のデータを内部アドレスバス6へ
出力する。
【0044】そして、オペランドフェッチの場合と同様
に、タグ5と内部アドレスバス6の上位20ビットとが一
致していて且つバリッドビットレジスタ91が”1”であ
ればキャッシュヒット信号11が出力される。そしてこの
際、バススヌープ信号20が”1”であり且つ内蔵キャッ
シュモード (内蔵メモリモード信号9が”0”) であれ
ば、 ANDゲート74から出力される信号によりバリッドビ
ットレジスタ91の内容が”0”にされ、これがバリッド
ビット部90へ送られて対応するバリッドビットが”0”
にされる。即ち、データ部3の対応するデータが無効に
される。
【0045】本発明の実施例は従来のダイレクトマップ
方式の内蔵キャッシュメモリのシステムに、図4に示さ
れている構成と、データストア時に外部バスに書き込み
要求を出力するか否かを選択する回路を付加するのみに
て構成されている。しかし、他の実施例として、内蔵RA
M モード時には内蔵キャッシュメモリとは独立した回路
で内蔵メモリをアクセスする手法、あるいは内蔵RAM 時
にはタグ部2に内蔵RAM のアドレスを書き込んでおくと
いう手法もある。この場合、内蔵メモリの一部を内蔵RA
M とし、その他の一部を内蔵キャッシュメモリとして分
割して使用することも可能である。
【0046】次に、フェッチリトライ機構について説明
する。図10に本発明のデータ処理装置としての32ビット
マイクロプロセッサのオペランドフェッチステージ34と
その前後の各ステージとの間で送受される信号及びオペ
ランドフェッチステージ34とオペランドアクセス部1と
の間で送受される信号を模式的に示す。なお、オペラン
ドフェッチステージ34はパイプライン処理の概念的なス
テージであるが、ここではオペランドアクセス部1以外
のオペランドフェッチのために必要なハードウェア及び
ソフトウェアを一括した概念として示している。また、
図11にオペランドフェッチステージ34内に位置するフェ
ッチリトライ機構60の構成例の回路図を示す。
【0047】オペランドフェッチステージ34へは、オペ
ランドアドレス計算ステージ33から分岐予測信号53, プ
リフェッチ要求信号51及びオペランドアドレス52が、実
行ステージ35からはフェッチ要求信号57が、またオペラ
ンドアクセス部1からはプリフェッチ中止信号19及びア
クノリッジ信号55がそれぞれ与えられる。オペランドフ
ェッチステージ34からは、実行ステージ35へはアドレス
値56が、オペランドアクセス部1へは第1プリフェッチ
要求信号7及び第2プリフェッチ要求信号8が与えられ
る。
【0048】なお、参照符号37はストアバッファであ
り、ストアステージ36によりデータがストアされる際に
使用される。また、オペランドアドレス計算ステージ33
からオペランドフェッチステージ34に与えられるプリフ
ェッチ要求信号51, オペランドフェッチステージ34から
オペランドアクセス部1に与えられる第1プリフェッチ
要求信号7及び第2プリフェッチ要求信号8はオペラン
ドのプリフェッチを指示するための信号であり、実行ス
テージ35からオペランドフェッチステージ34に与えられ
るフェッチ要求信号57は次の命令のフェッチを指示する
ための信号である。
【0049】図11に示されているように、本発明のデー
タ処理装置の一実施例としてのマイクロプロセッサのオ
ペランドフェッチステージ34内に位置するフェッチリト
ライ機構60はその内部にFAレジスタ61A, FBレジスタ61
Bの二つのレジスタを備えている。FAレジスタ61Aは、
オペランドアドレス計算ステージ33から与えられるオペ
ランドアドレス52を保持し、ゲート62を介して実行ステ
ージ35へアドレス値56として出力する。また、オペラン
ドアドレス52はゲート64を介して内部アドレスバス6へ
出力される。なお、ゲート62及び63は後述する ANDゲー
ト67の出力信号が”1”である場合にいずれも開路す
る。
【0050】FBレジスタ61Bにはゲート63を介してFAレ
ジスタ61Aの出力が入力されるようになっている。ゲー
ト63はオペランドアクセス部1から与えられるアクノリ
ッジ信号55が”1”である場合に開路してFAレジスタ61
Aが保持しているオペランドアドレスをFBレジスタ61B
に保持させる。このFBレジスタ61Bに保持されたオペラ
ンドアドレスはゲート65を介して内部アドレスバス6へ
出力される。なお、ゲート65は後述する ANDゲート69の
出力信号が”1”である場合に開路する。またFAレジス
タ61Aに保持されているオペランドアドレスはゲート66
を介して内部アドレスバス6へ出力される。なお、ゲー
ト66は前述の ANDゲート67の出力信号が”1”である場
合に開路する。
【0051】従って、オペランドアドレス計算ステージ
33からオペランドフェッチステージ34へ入力されたオペ
ランドアドレス52は、ゲート64を介して内部アドレスバ
ス6へ、FAレジスタ61Aに一旦保持された上でゲート66
を介して内部アドレスバス6へ、FAレジスタ61Aからゲ
ート63を介してFBレジスタ61Bに一旦保持された上でゲ
ート65を介して内部アドレスバス6へ、という3通りの
内のいずれかの経路で内部アドレスバス6へ出力されて
オペランドアクセス部1に与えられる他、FAレジスタ61
Aからゲート62を介して実行ステージ35へもアドレス値
56として出力される。
【0052】ANDゲート67は3入力であり、実行ステー
ジ35から出力されるフェッチ要求信号57, オペランドア
ドレス計算ステージ33から出力されるプリフェッチ要求
信号51及びインバータ68の出力信号が入力される。イン
バータ68の入力信号は、オペランドアクセス部1から出
力されるプリフェッチ中止信号19をラッチするラッチ95
の出力である。なお、このラッチ95はフェッチ要求信号
57が”1”になるとクリアされる。従って、フェッチ要
求信号57, プリフェッチ要求信号51が”1” (有効) で
あり且つプリフェッチ中止信号19が”0” (無効) であ
る場合に ANDゲート67の出力信号は”1”になる。これ
は、フェッチ要求信号57により実行ステージ35から次の
命令のフェッチが要求されており、プリフェッチ要求信
号51によりオペランドアドレス計算ステージ33からオペ
ランドのプリフェッチが要求されており、且つプリフェ
ッチ中止信号19によりオペランドアクセス部1からプリ
フェッチの中止が要求されていない場合にのみ ANDゲー
ト67の出力信号が”1”になることを意味している。こ
の ANDゲート67の出力信号は前述の如くゲート62, 64,
66の制御信号となっている他、後述する ANDゲート96,
97にも与えられている。
【0053】ANDゲート69は2入力であり、ラッチ95の
出力及びインバータ99の出力が与えられている。インバ
ータ99はオペランドアドレス計算ステージ33から出力さ
れている分岐予測信号53を反転するために備えられてい
る。従って、 ANDゲート69の出力信号はプリフェッチ中
止信号19が”1”で分岐予測信号53が”0”の場合に”
1”になる。これは、プリフェッチ中止信号19によりオ
ペランドアクセス部1からプリフェッチの中止が要求さ
れており、且つ分岐予測信号53によりオペランドアドレ
ス計算ステージ33から分岐予測が行なわれていないこと
が知らされている場合にのみ ANDゲート69の出力信号
が”1”になることを意味している。この ANDゲート69
の出力信号は前述のゲート65の制御信号となっている。
【0054】ANDゲート96及び97の一方の入力端子には
前述の如く ANDゲート67の出力信号が入力されている
が、 ANDゲート96の他方の入力端子には分岐予測信号53
をインバータ98で反転した信号が、 ANDゲート97の他方
の入力端子には分岐予測信号53がそのまま入力されてい
る。 ANDゲート96の出力信号は第1プリフェッチ要求信
号7として、 ANDゲート97の出力信号は第2プリフェッ
チ要求信号8としてオペランドアクセス部1へそれぞれ
出力されている。従って、 ANDゲート67の出力信号が”
1”である場合に、オペランドアドレス計算ステージ33
で分岐予測が行なわれている場合 (分岐予測信号53が”
1”) には第1プリフェッチ要求信号7が、分岐予測が
行なわれていない場合 (分岐予測信号53が”0”) には
第2プリフェッチ要求信号8がそれぞれオペランドアク
セス部1へ出力される。
【0055】次に、上述のような構成のフェッチリトラ
イ機構60の動作について、図12のタイミングチャートを
参照して説明する。ここで、プリフェッチ中止信号19は
最初は無効 (”0”) であるとする。なお、図12のタイ
ミングチャートにおいて、波形W11 は本発明のデータ処
理装置の内部クロックを、波形W12 は内部アドレスバス
6上のアドレスを、波形W13はタグ部2から出力される
タグ情報を、波形W14 はデータ部3から出力されるデー
タを、波形W15 はキャッシュヒット信号11を、波形W16
はプリフェッチ要求信号51を、波形W17 は第1プリフェ
ッチ要求信号7を、波形W18 は第2プリフェッチ要求信
号8を、波形W19 はキャッシュヒット信号11を、波形W2
0 はプリフェッチ中止信号19を、波形W21 は内部データ
バス14上のデータをそれぞれ示している。
【0056】図12のクロックCL11において、オペランド
アドレス計算ステージ33からオペランドアドレス52と共
にプリフェッチ要求信号51がオペランドフェッチステー
ジ34に入力されると、オペランドアドレス52の値がFAレ
ジスタ61Aに入力されて保持される。この際、実行ステ
ージ35からフェッチ要求信号57が出力されていれば(そ
の値が”1”であれば)、 ANDゲート67の出力信号が”
1”になっているためゲート64が開路する。これによ
り、オペランドアドレス52は内部アドレスバス6へ出力
されてオペランドアクセス部1に与えられる。それと共
に、プリフェッチ要求信号51もオペランドアクセス部1
へ出力されるが、この時点でパイプライン中の先行する
命令で分岐予測が実行されていなければ分岐予測信号53
が”0”なので第1プリフェッチ要求信号7が、パイプ
ライン中の先行する命令で分岐予測がされていれば分岐
予測信号53が”1”になるので第2プリフェッチ要求信
号8がそれぞれ出力される。
【0057】オペランドアドレス計算ステージ33からプ
リフェッチ要求信号51が入力された時点で実行ステージ
35からフェッチ要求信号57が与えられていなければゲー
ト64が開路しないので、オペランドアドレス52は内部ア
ドレスバス6へは出力されずにFAレジスタ61Aに保持さ
れたままとなる。そして、実行ステージ35からフェッチ
要求信号57が出力されると ANDゲート67の出力が”1”
になってゲート66が開路するので、FAレジスタ61Aから
オペランドアドレス52がフェッチアドレスとして内部ア
ドレスバス6へ出力され、同時にパイプライン中の先行
する命令で分岐予測が実行されていなければ分岐予測信
号53が”0”なので第1プリフェッチ要求信号7がオペ
ランドアクセス部1へ出力される。
【0058】パイプラインの先行する命令で分岐予測が
されていても (分岐予測信号53が”1”であっても) 、
たとえばフェッチするアドレスが即値で指定されている
場合にはそのアドレス値はプログラム実行中には動的に
変化することはなく、プログラマが明示的に指定したア
ドレス値であるため、必ずアクセス可能な領域を示すと
考えられる。そのような場合は、分岐予測が外れて外部
装置をアクセスしても問題はないので、第2プリフェッ
チ要求信号8ではなく、第1プリフェッチ要求信号7が
出力される。
【0059】第1プリフェッチ要求信号7または第2プ
リフェッチ要求信号8がオペランドアクセス部1に受け
付けられてアクノリッジ信号55が返送されてくるとゲー
ト63が開路するので、アクセス要求の対象になっている
アドレス値、即ちFAレジスタ61Aに保持されているオペ
ランドアドレス52ががFBレジスタ61Bに入力されて保持
され、FAレジスタ61Aは次の命令のオペランドアドレス
52を取り込むことが出来るようになる。
【0060】オペランドアクセス部1は、図3に示され
ているように、第1プリフェッチ要求信号7または第2
プリフェッチ要求信号8が入力されると、フェッチされ
るべきデータがキャッシュメモリ内にあればキャッシュ
ヒットとしてキャッシュヒット信号11をクロックCL12に
おいて出力し、対応するデータをデータ出力レジスタ10
から内部データバス14へ出力する。そして、オペランド
フェッチステージ34は内部データバス14上のデータを実
行ステージ35へ送る。また、第1プリフェッチ要求信号
7発生時には、内蔵キャッシュメモリへのアクセスと同
時にバスインタフェイス部13にもフェッチ要求が出力さ
れる。そして、キャッシュミスすれば外部データバス16
からオペランドデータが取り込まれて演算部25へ送られ
る。キャッシュヒットすれば、キャッシュヒット信号11
により外部へのフェッチはキャンセルされる。
【0061】但し、クロックCL14, CL15において上述同
様に動作した後、第2プリフェッチ要求信号8の発生時
点でキャッシュミスした場合には、クロックCL15におて
ANDゲート76からプリフェッチ中止信号19が出力されて
オペランドフェッチステージ34にキャッシュミスしたこ
とが知らされる。
【0062】プリフェッチ中止信号19が入力されると、
オペランドフェッチステージ34はオペランドアドレス計
算ステージ33からの入力を止め、パイプラインの先行す
るステージにある予測段階の分岐命令が確定するまで処
理を中断する。その後、実行ステージ35において分岐条
件が確定し、分岐が予測通り実行されればクロックCL17
において実行ステージ35からフェッチ要求信号57が出力
されて処理が再開される。但し、この時点で分岐予測信
号53は”0”になっているため今回は第1プリフェッチ
要求信号7が出力される。
【0063】ところで、上述のプリフェッチ中止信号19
の出力により処理が中断した時点では既に更に次の命令
のオペランドアドレスがFAレジスタ61Aに入力されてい
る可能性があるため、処理を再開した1回目の時点では
まだラッチ95はクリアされておらず、また分岐予測信号
53は”0”になっているのでゲート65が開路している。
これにより、FBレジスタ61Bに保持されている中断した
フェッチのフェッチアドレスが内部アドレスバス6へ出
力される。そして、その直後にラッチ95の値がクリアさ
れる。なお、分岐が予測と異なっていれば、パイプライ
ン中のデータを全てクリアして分岐先の命令が順にパイ
プラインに取り込んで処理を再開する。
【0064】本発明のデータ処理装置の一実施例として
のマイクロプロセッサのオペランドフェッチに関する動
作のフローを図13のフローチャートに示す。なお、図13
のフローチャートは、オペランドアドレス計算ステージ
33から出力される1回のプリフェッチ要求に対する動作
を示している。
【0065】まずオペランドアドレス計算ステージ33か
らプリフェッチ要求信号51が出力され (ステップS1) 、
この時点で分岐予測が行なわれていなければ、換言すれ
ば分岐予測信号53が”0”であれば、ステップS8以降ス
テップS11 の動作が行なわれる。このステップS8乃至ス
テップS11 は通常のメモリフェッチ動作である。具体的
には、オペランドアクセス部1内のキャッシュメモリ及
び外部データバス16がアクセスされ (ステップS8) 、キ
ャッシュヒットすれば、換言すればキャッシュヒット信
号11が”1”であればオペランドアクセス部1内のキャ
ッシュメモリがアクセスされてデータがフェッチされ
(ステップS10)、キャッシュミスすれば、換言すればキ
ャッシュヒット信号11が”0”であれば外部データバス
16がアクセスされてデータがフェッチされる (ステップ
S11)。
【0066】一方、ステップS2において分岐予測が行な
われていれば、換言すれば分岐予測信号53が”1”であ
れば、オペランドアクセス部1内のキャッシュメモリの
みがアクセスされる (ステップS3) 。この結果、キャッ
シュヒットすれば (ステップS4) 、オペランドアクセス
部1内のキャッシュメモリからデータフェッチが行なわ
れる (ステップS10)。ステップS4においてキャッシュミ
スすれば、一旦オペランドフェッチが中断される (ステ
ップS5) 。ここで分岐予測がの結果が未だ未確定であれ
ば、フェッチ中断の状態になる (ステップS5) 。しか
し、分岐予測が正しかった場合には前述のステップS8以
降の動作が行なわれる。但し、分岐予測に失敗した場合
はパイプラインの各ステージを一旦クリアして分岐先の
命令が新たにパイプラインに取り込まれる。
【0067】従来のマイクロプロセッサであれば、図13
に破線にて示されているように、ステップS2において分
岐予測が行なわれている場合にはフェッチ中断 (ステッ
プS5) の状態になり、分岐予測が正しかったことが確定
した後にステップS8乃至ステップS11 のメモリフェッチ
動作が実行されていた。しかし、本発明のデータ処理装
置としてのマイクロプロセッサでは、ステップS3及びス
テップS4の動作を付加することにより、ステップS4でキ
ャッシュヒットした場合には、ステップS5のフェッチ中
断ステップS5乃至ステップS6を行なわずに、ステップS1
0 のメモリフェッチ動作を直ちに行い、ステップS4にお
いてキャッシュミスした場合にのみ外部バスのアクセス
を抑止して分岐予測の成功が確定した後に再度アクセス
するようにした。この一連の動作は上述のフェッチリト
ライ機構により実現される。このようなフェッチリトラ
イ機構により、本発明のデータ処理装置では処理能力が
向上する。
【0068】なお、上記実施例ではデータのフェッチに
関して説明したが、命令のフェッチに関しても同様に実
施可能であることは言うまでもない。
【0069】
【発明の効果】以上に詳述したように本発明の第1の発
明では、切り換え手段によりキャッシュメモリが内蔵キ
ャッシュメモリまたは内蔵RAM として動作するので、本
発明のデータ処理装置が応用される分野に応じて適宜の
選択を行なうことにより、システムの性能を向上させる
ことが可能になる。また、た内蔵キャッシュメモリとし
て動作している場合にはバススヌープ機能も動作する。
【0070】第2の発明によれば、分岐予測が行なわれ
ている場合には外部記憶装置へのアクセスが禁止される
が、分岐予測が正しかったことが確定して外部記憶装置
へのアクセスが可能になった時点で直ちにアクセスがア
ドレス保持手段に保持されているアドレスにより行なわ
れる。このため、分岐予測が行なわれていてもキャッシ
ュミスした場合、換言すれば外部記憶装置へのアクセス
が必要な場合にのみ処理が中断されるので、キャッシュ
メモリを有効に利用することが可能になる。
【図面の簡単な説明】
【図1】本発明のデータ処理装置の一実施例としての32
ビットマイクロプロセッサ及びその周辺回路の構成を示
すブロック図である。
【図2】本発明のデータ処理装置の6段のパイプライン
処理機構を示す模式図である。
【図3】本発明に係るデータ処理装置のキャッシュメモ
リを内蔵したオペランドアクセス部の構成例を示すブロ
ック図である。
【図4】本発明のデータ処理装置の内蔵キャッシュモー
ドと内蔵RAM モードとの切り換え及びキャッシュヒット
信号の生成に関する回路の構成例を示す回路図である。
【図5】本発明のデータ処理装置のキャッシュアクセス
の際のタイミングチャートである。
【図6】DMADDRレジスタのフィールド及びその意味を示
す模式図である。
【図7】NCADDRレジスタのフィールド及びその意味を示
す模式図である。
【図8】BMPレジスタのフィールド及びその意味を示す
模式図である。
【図9】BMCレジスタのフィールド及びその意味を示す
模式図である。
【図10】本発明のデータ処理装置のオペランドフェッ
チステージとその前後の各ステージとの間で送受される
信号及びオペランドフェッチステージとオペランドアク
セス部との間で送受される信号を示す模式図である。
【図11】オペランドフェッチステージ内に位置するフ
ェッチリトライ機構の構成例を示す回路図である。
【図12】本発明おデータ処理装置のフェッチリトライ
機構の動作を示すタイミングチャートである。
【図13】本発明のデータ処理装置のオペランドフェッ
チに関する動作の手順を示すフローチャートである。
【符号の説明】
1 オペランドアクセス部 4 DMADDRレジスタ 13 バスインタフェイス部 15 外部アドレスバス 16 外部データバス 17 外部制御信号線 18 比較器 19 プリフェッチ中止信号 28 主記憶装置 31 命令フェッチステージ 32 命令デコードステージ 33 オペランドアドレス計算ステージ 34 オペランドフェッチステージ 35 実行ステージ 36 ストアステージ 41 セレクタ 60 フェッチリトライ機構 61B FBレジスタ 74 EXORゲート 75 ANDゲート 900 BMCレジスタ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年2月17日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正内容】
【0030】次に、図4を参照して内蔵キャッシュモー
ドと内蔵RAM モードとの切り換え及びキャッシュヒット
信号11の生成に関する回路、具体的にはセレクタ41及び
比較器18について説明する。セレクタ41には内蔵メモリ
モード信号9と、DMADDRレジスタ4に保持されている20
ビットの内蔵RAM ベースアドレスの各ビット(以下、そ
れぞれ4-0, 4-1…4-19という)と、20ビット構成のタグ
出力レジスタ5の各ビット(以下、それぞれ5-0, 5-1…
5-19という) と、内部アドレスバス6から入力されるフ
ェッチアドレスの上位20ビット(以下、それぞれ6-0, 6
-1…6-19という) とが入力されている。内蔵RAM ベース
アドレスの各ビット4-0, 4-1…4-19はそれぞれトランス
ファーゲート87-0, 87-1…87-19 を介して比較器18内の
EXORゲート83-0, 83-1…83-19の一方の入力端子に、タ
グ出力レジスタ5の各ビット5-0, 5-1…5-19はそれぞれ
トランスファーゲート86-0, 86-1…86-19 を介してEXOR
ゲート83-0, 83-1…83-19 の一方の入力端子に入力され
ており、フェッチアドレスの上位20ビット6-0, 6-1…6-
19はそれぞれEXORゲート83-0, 83-1…83-19 の他方の入
力端子に入力されている。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0031
【補正方法】変更
【補正内容】
【0031】また、図4において、参照符号85はインバ
ータであり、内蔵メモリモード信号9を反転して出力す
る。上述の各トランスファーゲート86-0, 86-1…86-19
及び87-0, 87-1…87-19 はいずれも内蔵メモリモード信
号9及びそれをインバータ85で反転した信号により開閉
制御される。具体的には、内蔵メモリモード信号9が”
0”である場合にはトランスファーゲート86-0, 86-1
86-19 が開路してそれぞれタグ出力レジスタ5の各ビッ
ト5-0, 5-1…5-19を出力してEXORゲート83-0, 83-1…83
-19 の一方の入力端子に入力する。また、内蔵メモリモ
ード信号9が”1”である場合にはトランスファーゲー
ト87-0, 87-1…87-19 が開路してそれぞれ内蔵RAM ベー
スアドレスの各ビット4-0, 4-1…4-19を出力してEXORゲ
ート83-0, 83-1…83-19 の一方の入力端子に入力する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0032
【補正方法】変更
【補正内容】
【0032】従って、内蔵メモリモード信号9が”0”
である場合にはフェッチアドレスの上位20ビット6-0, 6
-1…6-19はそれぞれ対応するタグ出力レジスタ5の各ビ
ット5-0, 5-1…5-19とEXORゲート83-0, 83-1…83-19 で
比較され、両者が同一の値であれば各EXORゲート83-0,
83-1…83-19 の出力信号が”0”になる。また、内蔵メ
モリモード信号9が”1”である場合にはフェッチアド
レスの上位20ビット6-0, 6-1…6-19はそれぞれ対応する
内蔵RAM ベースアドレスの各ビット4-0, 4-1…4-19とEX
ORゲート83-0, 83-1…83-19 で比較され、両者が同一の
値であれば各EXORゲート83-0, 83-1…83-19 の出力信号
が”0”になる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正内容】
【0033】比較器18内には、上述のEXORゲート83-0,
83-1…83-19 の他に、プルアップされた信号線80が入力
端子に接続されたインバータ88と、このインバータ82の
出力信号を一方の入力端子に入力する2入力がいずれも
負論理であるの ANDゲート82と、前述の各EXORゲート83
-0, 83-1…83-19 の出力信号がゲートに与えられている
トランジスタ84-0, 84-1…84-19 と、図3に示されてい
るゲート71の出力信号であるバリッド信号43が入力され
るインバータ89とが備えられている。なお、インバータ
89の出力信号は上述の ANDゲート82の他方の入力端子に
入力されている。各トランジスタ84-0, 84-1…84-19 の
ソースは前述の信号線80に、ドレインは接地電位にそれ
ぞれ接続されている。従って、いずれかのEXORゲート83
-0, 83-1…83-19 への2入力が不一致であればその出力
信号は”1”になって信号線80はいずれかのトランジス
タ84-0, 84-1…84-19 によって接地電位に接続される。
これにより、インバータ88の入力が”0”になってその
出力信号が”1”になるので、 ANDゲート82の出力信号
であるキャッシュヒット信号11は”0”になる。一方、
全てのEXORゲート83-0, 83-1…83-19 への2入力が一致
していればそれぞれの出力信号は”0”になって信号線
80はいずれのトランジスタ84-0, 84-1…84-19 によって
も接地電位に接続されることはない。これにより、イン
バータ88の入力が”1”になってその出力信号が”0”
になし、バリッド信号43が”1”であれば ANDゲート82
の両入力が”0”になるので、その出力信号であるキャ
ッシュヒット信号11は”1”になる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0034
【補正方法】変更
【補正内容】
【0034】ここで、いずれかのEXORゲート83-0, 83-1
…83-19 への2入力が不一致であるということは、内蔵
メモリモード信号9が”0”である場合にはフェッチア
ドレスの上位20ビット6-0, 6-1…6-19とタグ出力レジス
タ5の各ビット5-0, 5-1…5-19とのいずれかの対応する
ビット同士の値が不一致であることを意味しており、そ
れはキャッシュミスしたということである。また、内蔵
メモリモード信号9が”1”である場合には、フェッチ
アドレスの上位20ビット6-0, 6-1…6-19と内蔵RAM ベー
スアドレスの各ビット4-0, 4-1…4-19とのいずれかの対
応するビット同士の値が不一致であることを意味してお
り、それは内蔵RAM へのアクセスではないということで
ある。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0041
【補正方法】変更
【補正内容】
【0041】一方、内蔵RAM モード(DM =01) である場
合は、内蔵メモリモード信号9が”1”であるので、DM
ADDRレジスタ4に保持されている内蔵RAM ベースアドレ
スの各ビット4-0, 4-1…4-19がフェッチアドレスの上位
20ビット6-0, 6-1…6-19とそれぞれ比較器18により比較
される。全てのビットが一致すれば、内蔵キャッシュモ
ード時と同様にキャッシュヒット信号11が出力される。
また内部アドレスバス6からフェッチアドレスが与えら
れた時点でデータ部3からは対応するデータが出力され
データ出力レジスタ10に保持されているので、キャッ
シュヒットすれば、データフェッチの場合はデータ出力
レジスタ10からデータが内部データバス14へ出力され、
データストアの場合は内部データバス14上の値がデータ
部3の対応するエントリに書込まれる。但しこの際、バ
スインタフェイス部13へ書き込み要求が出力されること
はない。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0049
【補正方法】変更
【補正内容】
【0049】図11に示されているように、本発明のデー
タ処理装置の一実施例としてのマイクロプロセッサのオ
ペランドフェッチステージ34内に位置するフェッチリト
ライ機構60はその内部にFAレジスタ61A, FBレジスタ61
Bの二つのレジスタを備えている。FAレジスタ61Aは、
オペランドアドレス計算ステージ33から与えられるオペ
ランドアドレス52を保持し、ゲート62を介して実行ステ
ージ35へアドレス値56として出力する。また、オペラン
ドアドレス52はゲート64を介して内部アドレスバス6へ
出力される。なお、ゲート62及び64は後述する ANDゲー
ト67の出力信号が”1”である場合にいずれも開路す
る。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0063
【補正方法】変更
【補正内容】
【0063】ところで、上述のプリフェッチ中止信号19
の出力により処理が中断した時点では既に更に次の命令
のオペランドアドレスがFAレジスタ61Aに入力されてい
る可能性があるため、処理を再開した1回目の時点では
まだラッチ95はクリアされておらず、また分岐予測信号
53は”0”になっているのでゲート65が開路している。
これにより、FBレジスタ61Bに保持されている中断した
フェッチのフェッチアドレスが内部アドレスバス6へ出
力される。そして、その直後にラッチ95の値がクリアさ
れる。なお、分岐が予測と異なっていれば、パイプライ
ン中のデータを全てクリアして分岐先の命令から順に
イプラインに取り込んで処理を再開する。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0069
【補正方法】変更
【補正内容】
【0069】
【発明の効果】以上に詳述したように本発明の第1の発
明では、切り換え手段によりキャッシュメモリが内蔵キ
ャッシュメモリまたは内蔵RAM として動作するので、本
発明のデータ処理装置が応用される分野に応じて適宜の
選択を行なうことにより、システムの性能を向上させる
ことが可能になる。また、内蔵キャッシュメモリとして
動作している場合にはバススヌープ機能も動作する。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】図12
【補正方法】変更
【補正内容】
【図12】本発明のデータ処理装置のフェッチリトライ
機構の動作を示すタイミングチャートである。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 命令及びデータを格納した外部記憶装置
    と、 前記外部記憶装置に格納されている命令またはデータの
    アドレスを出力する外部アドレスバスと、 バスアクセス制御信号を出力して前記外部データバスを
    アクセスするバスインタフェイス部と、 前記バスアクセス制御信号が出力され、前記外部アドレ
    スバスへアドレスが出力された場合に、前記外部記憶装
    置との間で命令またはデータを入出力する外部データバ
    スと、 前記外部記憶装置に格納されている命令またはデータの
    一部または全部を格納する内部記憶装置とを備えたデー
    タ処理装置において、 前記内部記憶装置の動作状態を指示する状態信号を記憶
    する記憶手段と、 前記状態信号が第1の値である場合は、前記内部記憶装
    置の一部または全部を予め指定されたアドレスに割り当
    てられた書き込み,読み出し可能なメモリとして動作さ
    せ、前記状態信号が第2の値である場合は、前記内部記
    憶装置の一部または全部を前記命令の実行に従って前記
    外部記憶装置内の命令またはデータを格納するキャッシ
    ュメモリとして動作させる切り換え手段とを備えたこと
    を特徴とするデータ処理装置。
  2. 【請求項2】 前記内部記憶装置がキャッシュメモリと
    して動作する場合の連想方式はダイレクトマップ方式で
    あることを特徴とする請求項1に記載のデータ処理装
    置。
  3. 【請求項3】 前記状態信号が第2の値である場合に、
    前記外部アドレスバスから入力したアドレスと同一のア
    ドレスの命令またはデータが前記内部記憶装置に記憶さ
    れている場合はそれを無効化する無効化手段を備え、 前記バスインタフェイス部は、他の装置からバスアクセ
    ス制御信号が出力されている場合に、前記無効化手段を
    動作させるべくなしてあることを特徴とする請求項1に
    記載のデータ処理装置。
  4. 【請求項4】 命令及びデータを格納した外部記憶装置
    と、 前記外部記憶装置に格納されている命令またはデータの
    アドレスを出力する外部アドレスバスと、 バスアクセス制御信号を出力して前記外部データバスを
    アクセスするバスインタフェイス部と、 前記バスアクセス制御信号が出力され、前記外部アドレ
    スバスへアドレスが出力された場合に、前記外部記憶装
    置との間で命令またはデータを入出力する外部データバ
    スと、 前記外部記憶装置に格納されている命令またはデータの
    一部または全部を格納する内部記憶装置とを備えたデー
    タ処理装置において、 前記内部記憶装置の動作状態を指示する状態信号を記憶
    する記憶手段と、 前記外部記憶装置に格納されている命令によって任意の
    値を格納することが可能なアドレスレジスタと、 前記状態信号が第1の値である場合は、前記内部記憶装
    置の前記アドレスレジスタに格納されているアドレスか
    ら最大アドレスまでの連続的な領域を書き込み,読み出
    し可能なメモリとして動作させ、前記状態信号が第2の
    値である場合は、前記内部記憶装置の一部または全部を
    前記命令の実行に従って前記外部記憶装置内の命令また
    はデータを格納するキャッシュメモリとして動作させる
    切り換え手段とを備えたことを特徴とするデータ処理装
    置。
  5. 【請求項5】 前記内部記憶装置がキャッシュメモリと
    して動作する場合の連想方式はダイレクトマップ方式で
    あることを特徴とする請求項4に記載のデータ処理装
    置。
  6. 【請求項6】 前記状態信号が第2の値である場合に、
    前記外部アドレスバスから入力したアドレスと同一のア
    ドレスの命令またはデータが前記内部記憶装置に記憶さ
    れている場合はそれを無効化する無効化手段を備え、 前記バスインタフェイス部は、他の装置からバスアクセ
    ス制御信号が出力されている場合に、前記無効化手段を
    動作させるべくなしてあることを特徴とする請求項4に
    記載のデータ処理装置。
  7. 【請求項7】 命令及びデータを格納した外部記憶装置
    と、 前記外部記憶装置に格納されている命令またはデータの
    アドレスを出力する外部アドレスバスと、 バスアクセス制御信号を出力して前記外部データバスを
    アクセスするバスインタフェイス部と、 前記バスアクセス制御信号が出力され、前記外部アドレ
    スバスへアドレスが出力された場合に、前記外部記憶装
    置との間で命令またはデータを入出力する外部データバ
    スと、 前記外部記憶装置に格納されている命令またはデータの
    一部または全部を格納する内部記憶装置と、 分岐命令を処理する場合に分岐先を予測する分岐予測手
    段を有するパイプライン処理機構とを備えたデータ処理
    装置において、 次の命令またはデータの読み込みに際して、前記次の命
    令またはデータが前記内部記憶装置に記憶されている場
    合はそれを前記内部記憶装置から読み込み、次の命令ま
    たはデータが前記内部記憶装置に記憶されていない場合
    は前記バスインタフェイス部に前記外部記憶装置をアク
    セスさせて前記次の命令またはデータを読み込むデータ
    読み込み手段と、 前記分岐予測手段が分岐先を予測していない場合に第1
    の値に、分岐先を予測している場合に第2の値になる制
    御信号を発生する制御信号発生手段と、 前記制御信号が第2の値である場合に前記データ読み込
    み手段が前記バスインタフェイス部に前記外部記憶装置
    をアクセスさせることを禁じる読み込み禁止手段とを備
    えたことを特徴とするデータ処理装置。
  8. 【請求項8】 前記制御信号発生手段は、次に読み込む
    命令またはデータが予め定められたアドレッシングモー
    ドによるか否かに応じて前記制御信号の値を決定すべな
    してあることを特徴とする請求項7に記載のデータ処理
    装置。
  9. 【請求項9】 命令及びデータを格納した外部記憶装置
    と、 前記外部記憶装置に格納されている命令またはデータの
    アドレスを出力する外部アドレスバスと、 バスアクセス制御信号を出力して前記外部データバスを
    アクセスするバスインタフェイス部と、 前記バスアクセス制御信号が出力され、前記外部アドレ
    スバスへアドレスが出力された場合に、前記外部記憶装
    置との間で命令またはデータを入出力する外部データバ
    スと、 前記外部記憶装置に格納されている命令またはデータの
    一部または全部を格納する内部記憶装置と、 分岐命令を処理する場合に分岐先を予測する分岐予測手
    段を有するパイプライン処理機構とを備えたデータ処理
    装置において、 次の命令またはデータの読み込みに際して、前記次の命
    令またはデータが前記内部記憶装置に記憶されている場
    合はそれを前記内部記憶装置から読み込み、次の命令ま
    たはデータが前記内部記憶装置に記憶されていない場合
    は前記バスインタフェイス部に前記外部記憶装置をアク
    セスさせて前記次の命令またはデータを読み込むデータ
    読み込み手段と、 前記分岐予測手段が分岐先を予測していない場合に第1
    の値に、分岐先を予測している場合に第2の値になる制
    御信号を発生する制御信号発生手段と、 前記制御信号が第2の値である場合に前記データ読み込
    み手段が前記バスインタフェイス部に前記外部記憶装置
    をアクセスさせることを禁じる読み込み禁止手段と、 前記読み込み禁止手段により外部記憶装置へのアクセス
    が禁じられた場合にそのアクセス先のアドレスを記憶す
    るアドレス保持手段とを備え、 前記データ読み込み手段は、前記分岐予測手段による分
    岐先の予測が正しいことが確定した場合に前記アドレス
    保持手段に記憶されているアドレスで再度命令またはデ
    ータの読み込みを行なうべくなしてあることを特徴とす
    るデータ処理装置。
  10. 【請求項10】 前記制御信号発生手段は、次に読み込
    む命令またはデータが予め定められたアドレッシングモ
    ードによるか否かに応じて前記制御信号の値を決定すべ
    くなしてあることを特徴とする請求項9に記載のデータ
    処理装置。
JP24814193A 1993-10-04 1993-10-04 データ処理装置 Expired - Lifetime JP3639927B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP24814193A JP3639927B2 (ja) 1993-10-04 1993-10-04 データ処理装置
US08/689,115 US5708803A (en) 1993-10-04 1996-07-30 Data processor with cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24814193A JP3639927B2 (ja) 1993-10-04 1993-10-04 データ処理装置

Publications (2)

Publication Number Publication Date
JPH07105093A true JPH07105093A (ja) 1995-04-21
JP3639927B2 JP3639927B2 (ja) 2005-04-20

Family

ID=17173839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24814193A Expired - Lifetime JP3639927B2 (ja) 1993-10-04 1993-10-04 データ処理装置

Country Status (2)

Country Link
US (1) US5708803A (ja)
JP (1) JP3639927B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100457478B1 (ko) * 1996-06-06 2005-04-06 프리스케일 세미컨덕터, 인크. 메모리액세스방법및데이터처리시스템
JP2011028540A (ja) * 2009-07-27 2011-02-10 Renesas Electronics Corp 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978906A (en) * 1996-11-19 1999-11-02 Advanced Micro Devices, Inc. Branch selectors associated with byte ranges within an instruction cache for rapidly identifying branch predictions
US5954816A (en) * 1996-11-19 1999-09-21 Advanced Micro Devices, Inc. Branch selector prediction
US6253316B1 (en) 1996-11-19 2001-06-26 Advanced Micro Devices, Inc. Three state branch history using one bit in a branch prediction mechanism
US5995749A (en) 1996-11-19 1999-11-30 Advanced Micro Devices, Inc. Branch prediction mechanism employing branch selectors to select a branch prediction
FR2762416B1 (fr) * 1997-04-16 1999-05-21 Thomson Multimedia Sa Methode et dispositif d'acces a des ensembles de donnees contenus dans une memoire de masse
US6108774A (en) * 1997-12-19 2000-08-22 Advanced Micro Devices, Inc. Branch prediction with added selector bits to increase branch prediction capacity and flexibility with minimal added bits
US6502188B1 (en) 1999-11-16 2002-12-31 Advanced Micro Devices, Inc. Dynamic classification of conditional branches in global history branch prediction
JP2001236715A (ja) * 2000-02-23 2001-08-31 Pioneer Electronic Corp ディスク再生装置
EP1182565B1 (en) * 2000-08-21 2012-09-05 Texas Instruments France Cache and DMA with a global valid bit
TW477954B (en) * 2000-12-05 2002-03-01 Faraday Tech Corp Memory data accessing architecture and method for a processor
US20050027974A1 (en) * 2003-07-31 2005-02-03 Oded Lempel Method and system for conserving resources in an instruction pipeline
US7167952B2 (en) * 2003-09-17 2007-01-23 International Business Machines Corporation Method and system for performing a memory-mode write to cache
US7937691B2 (en) 2003-09-30 2011-05-03 International Business Machines Corporation Method and apparatus for counting execution of specific instructions and accesses to specific data locations
US7373637B2 (en) * 2003-09-30 2008-05-13 International Business Machines Corporation Method and apparatus for counting instruction and memory location ranges
US7395527B2 (en) * 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US8381037B2 (en) * 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7421681B2 (en) * 2003-10-09 2008-09-02 International Business Machines Corporation Method and system for autonomic monitoring of semaphore operation in an application
US7392370B2 (en) 2004-01-14 2008-06-24 International Business Machines Corporation Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics
US7526757B2 (en) * 2004-01-14 2009-04-28 International Business Machines Corporation Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program
US7895382B2 (en) * 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7415705B2 (en) * 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7496908B2 (en) * 2004-01-14 2009-02-24 International Business Machines Corporation Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information
US8135915B2 (en) * 2004-03-22 2012-03-13 International Business Machines Corporation Method and apparatus for hardware assistance for prefetching a pointer to a data structure identified by a prefetch indicator
US7421684B2 (en) 2004-03-22 2008-09-02 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for data coverage
US7526616B2 (en) * 2004-03-22 2009-04-28 International Business Machines Corporation Method and apparatus for prefetching data from a data structure
US10083135B2 (en) * 2015-08-28 2018-09-25 Macronix International Co., Ltd. Cooperative overlay

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0109655B1 (en) * 1982-11-17 1991-07-24 Nec Corporation Instruction prefetching device with prediction of a branch destination address
EP0150177A1 (en) * 1983-07-11 1985-08-07 Prime Computer, Inc. Data processing system
US4764861A (en) * 1984-02-08 1988-08-16 Nec Corporation Instruction fpefetching device with prediction of a branch destination for each branch count instruction
DE3785897T2 (de) * 1986-02-28 1993-09-30 Nec Corp Steuervorrichtung zum vorabruf von befehlen.
EP0378415A3 (en) * 1989-01-13 1991-09-25 International Business Machines Corporation Multiple instruction dispatch mechanism
US5226130A (en) * 1990-02-26 1993-07-06 Nexgen Microsystems Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
JP2678527B2 (ja) * 1991-01-08 1997-11-17 三菱電機株式会社 キャッシュメモリ装置
US5442756A (en) * 1992-07-31 1995-08-15 Intel Corporation Branch prediction and resolution apparatus for a superscalar computer processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100457478B1 (ko) * 1996-06-06 2005-04-06 프리스케일 세미컨덕터, 인크. 메모리액세스방법및데이터처리시스템
JP2011028540A (ja) * 2009-07-27 2011-02-10 Renesas Electronics Corp 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ

Also Published As

Publication number Publication date
US5708803A (en) 1998-01-13
JP3639927B2 (ja) 2005-04-20

Similar Documents

Publication Publication Date Title
JPH07105093A (ja) データ処理装置
US5617553A (en) Computer system which switches bus protocols and controls the writing of a dirty page bit of an address translation buffer
EP0381447B1 (en) Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system
US5509137A (en) Store processing method in a pipelined cache memory
US5652900A (en) Data processor having 2n bits width data bus for context switching function
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
JPH01216427A (ja) データ処理装置
US5644748A (en) Processor system including an index buffer circuit and a translation look-aside buffer control circuit for processor-to-processor interfacing
JPH0564813B2 (ja)
EP0772819B1 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
KR950000549B1 (ko) 데이타 처리 시스템에서의 오퍼랜드 이용도를 증가시키는 장치 및 방법
JP3234816B2 (ja) ブランチ・ヒストリ・テーブル・ディセーブルを有するミリモード・システム
EP0377431B1 (en) Apparatus and method for address translation of non-aligned double word virtual addresses
JPH0327940B2 (ja)
US6308242B1 (en) Apparatus for adaptively controlling a prefetch queue based on various flush conditions
JP2000353092A (ja) 情報処理装置及びそのレジスタファイル切替方法
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
JP3274859B2 (ja) データ処理装置
JP2001265651A (ja) データ処理装置
JP2656765B2 (ja) データ処理装置
JPH0612256A (ja) 命令キャッシュ制御方式
JPH041373B2 (ja)
JPH09251424A (ja) キャッシュ装置
JP2000194554A (ja) 演算処理装置
JPH07219838A (ja) データ先読み制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041228

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130128

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 9

EXPY Cancellation because of completion of term