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

マイクロプロセッサ

Info

Publication number
JP2679363B2
JP2679363B2 JP2161623A JP16162390A JP2679363B2 JP 2679363 B2 JP2679363 B2 JP 2679363B2 JP 2161623 A JP2161623 A JP 2161623A JP 16162390 A JP16162390 A JP 16162390A JP 2679363 B2 JP2679363 B2 JP 2679363B2
Authority
JP
Japan
Prior art keywords
instruction
information
unit
cache bypass
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2161623A
Other languages
English (en)
Other versions
JPH03116231A (ja
Inventor
均 山畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPH03116231A publication Critical patent/JPH03116231A/ja
Application granted granted Critical
Publication of JP2679363B2 publication Critical patent/JP2679363B2/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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • 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

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)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサに関し、特にキャッシュ
メモリユニットを備えた情報処理装置に好適なマイクロ
プロセッサに関する。
〔従来の技術〕
よく知られているように、情報処理スピードを向上さ
せる一手段としてキャッシュメモリユニットは多用され
ている。しかしながら、マイクロプロセッサからアクセ
ス要求のあったデータをすべてキャッシュメモリユニッ
トに取り込むことはかえって処理効率を悪くすることに
なる。例えば、周辺I/O装置は通常マイクロプロセッサ
からのデータアクセスバスサイクルをもとにしてその状
態制御が起動されるので、そのようなデータをキャッシ
ュメモリユニットにストアさせる必要はない。また、一
連のデータをメモリと周辺I/O装置間あるいはメモリの
二つの領域間において転送するストリング命令において
は、キャッシュメモリユニットの容量が小さいと、同ユ
ニットの内容がストリングデータで満たされてしまい、
スタック上のデータのように性能向上に有効なデータが
消失することになる。
したがって、そのようなデータはキャッシュメモリユ
ニットに取り込まれることなく同ユニットをバイパスさ
せる必要がある。この目的のために、キャッシュメモリ
ユニットはキャッシュバイパス制御端子を有し同端子が
アクティブレベルでのデータアクセスバイサイクルでは
非活性状態となり、データをバイパスするように構成さ
れている。
〔発明が解決しようとする課題〕
マイクロプロセッサはデータアクセスバイサイクルを
起動するとともにこのアクセスがどのような種類のもの
であるかを示すバスステータス信号も発生する。したが
って、バスステータス信号をデコードすることによりキ
ャッシュメモリユニットのキャッシュバイパス制御端子
のレベルを制御することができる。
しかしながらバスステータス信号によって現わせ得る
情報の種類は制限されており、このため最近の高性能マ
イクロプロセッサを用いた情報処理装置に適したきめ細
かいキャッシュバイパス制御を行なうことはできない。
特に、特権命令における特権レジスタへの値設定のため
のメモリリードアクセスやタスク切替え命令におけるタ
スクコンテキストデータアクセスでは、転送命令や演算
命令のような通常命令によるバスサイクルと区別がつか
ず、このため、情報レジスタの値更新やタスクンオテキ
ストデータアクセスのひん度が少ないにもかからず、こ
れらのデータはキャッシュメモリユニットに取り込まれ
てしまうことになる。
したがって、本発明の目的は、きめ細いキャッシュバ
イパス制御を行なうための手段を設けたマイクロプロセ
ッサを提供することにある。
本発明の他の目的は、キャッシュバイス信号発生手段
を内蔵し、キャッシュメモリコントローラのキャッシュ
バイパス制御端子のレベル制御のための余分な回路をシ
ステムから削除することができるマイクロプロセッサを
提供することにある。
〔課題を解決するための手段〕
本発明のマイクロプロセッサは、実行すべき命令をデ
コードするとともに命令オペランドのためのデータアク
セス要求を発行する命令デコード部と、データアクセス
要求に応答してデータアクセスバスサイクルを起動する
バス制御部と、命令デコード部からのデコード情報にも
とづき命令を実行しバス制御部との間でデータの転送を
行う命令実行部とを備え、命令デコード部にデコードさ
れた命令コードを示す第1の情報とアクセスすべきオペ
ランドがソースオペランドまたはデスティネーションオ
ペランドかどうかを示す第2の情報とを受け、これら第
1および第2の情報をもとにキャッシュバイパス要求を
発行し、さらにアドレッシング方式をしめす第3の情報
を受け、第3の情報が間接アドレッシングであるとき第
1の情報および第2の情報に係わらずキャッシュバイパ
ス要求を発行しない手段を設け、バス制御部はキャッシ
ュバイパス要求に応答してデータアクセスバスサイクル
の起動に同期してキャッシュバイパス指示信号を発生す
ることを特徴とする。
本発明の実施例においては、命令デコード部内に設け
たキャッシュバイパス要求発行手段は、実行すべき命令
の種類を示す情報を受け、当該情報が周辺I/O装置に対
するデータの入出力命令,ストリング命令,特権命令,
タスク切替え命令およびマイクロプロセッサ構成のシス
テムにおけるプロセッサ間周期のためのセマフォデータ
操作命令を示すとき、キャッシュバイパス要求を発行す
る。好ましくは、キャッシュバイパス要求発行手段はさ
らにオペランド番号を示す情報も受け、これによって実
行すべき命令が上記5つの命令であってもオペランド番
号(種類)、すなわちデータアクセス要求が第1オペラ
ンドか第2オペランドかに応じてキャッシュバイパス要
求を発行するかどうか、さらに制御することができる。
好ましい実施例においては、命令実行部にもキャッシュ
バイパス要求発行手段が設けられており、同手段は割込
み処理および例外処理におけるベクタ情報の読み込みの
ためのデータアクセス要求時にキャッシュバイパス要求
を発行する。
かくして、アクセスすべきデータに応じてきめ細かい
キャッシュバイパスが可能となる。しかも、マイクロプ
ロセッサ自身がキャッシュバイパス指令信号を発生する
ので、システム全体の構成も簡素化される。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の第一の実施例によるマイクロプロセ
ッサ100のブロック図である。第1図において、命令デ
コード部101はバス制御部103から命令バス(IIE)104を
通して送られる命令をデコードし命令オペランドアクセ
ス要求信号(QAR)105を用いてバス制御部103に対し命
令オペランドのアクセス要求を行うとともに、デコード
済命令情報106を命令実行部102へ送る。命令実行部102
はデコード済命令情報106をもとに命令を実行し、内部
データバス(IDB)107を通してバス制御部103との間で
命令オペランドをやりとりする。また命令実行部102は
割込み要求信号(INT)116にともなう処理や命令実行時
に生じた例外処理時に実行用データアクセス要求信号
(EDAR)108を用いてバス制御部103に対しデータのアク
セス要求を行う。バス制御部103は命令オペランドアク
セス要求信号105および実行用データアクセス要求信号1
08に応じてシステムアドレスバス(SAB)109,システム
データバス(SDB)110,システム制御バス(SCB)111を
駆動し、バスアクセスを行う。間接アドレッシングによ
るオペランドアクセス要求では、バス制御部103はその
間接値を得るためのバスサイクルを起動し、それによっ
て得た間接値をバス(IDD)115を介して命令デコード部
101に転送する。システムアドレス,データおよびコン
トロールバス(SAB,SDB,SCB)109,110,114には、図示し
ないがキャッシュメモリユニット,メインメモリおよび
周辺I/O装置が接続され、情報処理システムが構築され
ます。
命令デコード部101は信号105によってアクセスすべき
オペランドデータがキャッシュすべきものではないとき
はキャッシュバイパス要求信号(QCBRQ)12をバス制御
部103に与える。命令実行部102もまた信号108によって
アクセスすべき実行データがキャッシュすべきものでな
いときはキャッシュバイパス要求信号(ECBRQ)113をバ
ス制御部103に供給する。バス制御部103は信号105又は1
05によるデータアクセス要求とともに信号112又は113に
よるキャッシュバイパス要求を受けると、当該データア
クセスのためのバスサイクルに同期してキャッシュバイ
パス信号(▲▼)114をアクティブレベル(本
実施例)ではロウレベルにする。この信号114はキャッ
シュメモリユニットのキャッシュバイパス制御端子に供
給されており、その結果、アクセス要求のあったデータ
に対するキャッシュ動作を禁止する。
命令デコーダ101は命令デコード時に、命令コードと
オペランドの種類や組合せに応じて、命令オペランドア
クセス要求信号105とともに命令オペランドキャッシュ
バイパス信号112をアクティブにする。そのための命令
デコーダ101の内部構成が第2図に示されている。命令
バス104によってバス制御部103から送られてきた命令
は、命令キュー201に蓄えられ命令アライナ202によって
1命令ごとに命令コード203,アドレッシングフィールド
204,ディスプレースメント205に分割されて、それぞれ
命令コードレジスタ206,アドレッシングフィールドレジ
スタ207,ディスプレースメントレジスタ208に設定され
る。バス115からの間接値はレジスタ217にストアされ
る。命令コードデコーダ209は命令コードレジスタ206内
の命令コードをデコードし、アドレッシングフィールド
デコーダ210はアドレッシングフィールドレジスタ207内
のアドレッシングフィールドをデコードする。デコーダ
209,210からのデコード結果をもとにして、命令実行情
報生成部211はデコード済命令情報106を作る。命令オペ
ランドアクセス制御部212においてはそれぞれのデコー
ダ209,210からのデコード結果とディスプレースメント
レジスタ208内のディスプレースメント値および/又は
レジスタ217からの間接値とにより命令オペランドアク
セス要求信号105を生成する。上記の各レジスタ,デコ
ーダ,ユニットは命令デコードシーケンスコントローラ
220からのシーケンス情報221によって制御される。
信号105によって要求されるオペランドデータをキャ
ッシュバイパスさせるかどうかを示す信号112はキャッ
シュバイパス検出器213によって制御される。この検出
器213には、命令コードデコーダ209から実行すべき命令
の種類を示す情報214が供給される。本実施例では、キ
ャッシュバイパスが好ましいオペランドデータを要求す
る命令として、周辺I/O装置に対する入力および出力命
令,ストリング操作命令,特権命令,タスク切替操作命
令ならびにセマフォデータ操作命令を設定している。こ
れらの命令には数ビットの識別コードがそれぞれ割り当
てられており、デコードされた命令に対応する識別コー
ドが命令指示情報214として検出器213に供給される。転
送命令や演算命令等のキャッシュすべきオペランドデー
タを要求する命令(以下、一般命令という)がデコード
されると、一般命令であることを示すコードが検出器21
3に供給される。検出器213にはさらにシーケンスコント
ローラ220からオペランド番号(又は種類)を示す情報2
15が供給されている。この情報215によってキャッシュ
バイパス検出器215は命令オペランドアクセス制御部212
が要求するオペランドか第1オペランド(通常ソースオ
ペランド)か第2オペランド(ディステネーションオペ
ランド)かを知ることができる。したがって、キャッシ
ュバイパスが好ましいオペランドを要求する命令であっ
てもソースオペランドかディステネーションオペランド
かによってキャッシュバイパス信号112のレベルを制御
することができる。オペランドアドレッシングには間接
アドレシングがあり、そのような間接値はしばしば用い
られる。そこで、アドレシングフィールドデコーダ210
からのデコード情報のうち、間接アドレッシングを示す
情報216がキャッシュバイパス検出器213にさらに供給さ
れている。この結果、信号105によるアクセス要求が間
接アドレッシング実行のための間接値リード要求の場合
は、検出器213は他の情報214,215にかからずキャッシュ
バイパス要求信号112をインアクティブとする。
かくして、キャッシュバイパス検出器213は情報214,2
15および216に応答して下の第1表に依ってキャッシュ
バイパス要求信号112のレベルを制御する。
すなわち、命令オペランドキャッシュバイパス信号11
2がアクティブハイ(H)レベルになる(キャッシュバ
イパスが行なわれる)ときは、周辺I/O装置から入力を
行う入力命令がデコードされた場合のソースオペランド
の命令オペランドアクセス要求と、出力命令がデコード
された場合のディスティネーションオペランドの命令オ
ペランドアクセス要求である。入力命令におけるディス
テネーションオペランドデータと出力命令におけるソー
スオペランドデータはこれらを用いた処理がその後実行
され得るのでキャッシュさせた方が有利であり、それ故
信号112はインアクティブ(L)レベルとされる。ま
た、ストリング,特権,タスク切替およびセマフォデー
タ操作の各命令においては、第1および第2オペランド
要求の両方ともキャッシュバイパス要求信号112はアク
ティブレベルとなる。第1表には示していないが、間接
アドレッシングにおける間接値リードのための要求につ
いては信号112はインアクティブレベルとなる。なお、
検出器213は情報214−216を入力とするPLAおよび又はラ
ンダムロジックで構成できる。
かくして、デコードされた命令の種類およびオペラン
ドの種類に応じたきめ細いキャッスバイパス制御が実行
される。
第3図に命令実行部102の内部構成を示す。図では本
発明と関連する部分のみ示している。本命令実行部102
はマイクロプログラム制御方式を用いている。命令デコ
ーダ101からのデコード済命令情報106のうち実行すべき
命令に対応する一連のマイクロプログラムの先頭番地情
報106′はセレクタ301を介してマイクロアドレスレジス
タ302にロードされ、マイクロプログラムメモリ(マイ
クロROM)304からマイクロ命令が読み出される。読み出
されたマイクロ命令はマイクロ命令レジスタ305にラッ
チされる。オペコードはオペコードデコーダ306でデコ
ードされて実行制御情報3061が発生される。マイクロ命
令の他のフィールドはフィールドデコーダ307でデコー
ドされ対応する制御情報3071が発生される。割込み要
求,例外処理要求,分岐処理要求がない限り、レジスタ
302の内容はインクリメンタ303で1つインクリメントさ
れセレクタ301を介してレジスタ302に再ロードされる。
その結果、次のマイクロ命令がマイクロROM304から読み
出され実行される。これらレジスタ,デコーダ等の制御
は命令実行シーケンスコントローラ309からのシーケン
ス情報3091およびセレクタ制御情報3092によって行なわ
れる。
一方、割込み要求信号(INT)116が発生されたり、命
令実行での例外発生にともなう例外処理要求(EXPI)11
7が発行されると、シーケンスコントローラ309はセレク
タ制御情報3092によりセレクタ301が定数発生部310を選
択するように制御する。この定数発生部310は割込み要
求および例外発生に対する処理を起動するためのマイク
ロプログラムの先頭アドレス情報を発生する。かくし
て、かかる処理のための一連のマイクロプログラムが起
動される。このマイクロプログラムの中で割込み,例外
処理のためのベクタ情報をメモリから読み出すマイクロ
命令がレジスタ305にロードされる。この命令のオペコ
ードは、残りのフィールドがベクタ情報の読み込みのた
めのアクセス情報として用いられることを示しているの
で、デコーダ306はレジスタロード信号3062を発生し、
その結果、残りのフィールドが実行用データアクセス要
求レジスタ308にロードされる。このフィールドはさら
にキャッシュバイス要求信号113に対応するビットを有
し、当該ビットは“1"にセットされている。したがっ
て、信号108による実行用データアクセス要求とともに
キャッシュバイパス要求信号113がアクティブレベルと
なる。
バス制御部103では命令オペランドキャッシュバイパ
ス信号112や実行用データキャッシュバイパス信号113に
よってキャッシュバイパスアクセスが指定されるとキャ
ッシュバイパス端子(▲▼)114をアクティブ
としてバスサイクルを起動することにより外部キャッシ
ュ装置に対しキャッシュバイパスアクセスを伝える。
第4図(a)に通常のリードバスサイクルの例を、同
図(b)にキャッシュバイパス端子114によるキャッシ
ュバイパスリードサイクルの例を示す。
以上のとおり、本実施例によるマイクロプロセッサは
アクセスすべきデータに応じてきめ細かいキャッシュバ
イパス制御を実行でき、しかもプロセッサ自身がキャッ
シュバイパス要求信号を発生するので、システム全体の
構成も簡素化される。
第5図に本発明の第2の実施例を示す。第1図と同一
機能部は同じ番号で示してその説明を省略する。本実施
例のマイクロプロッセッサはアドレス変換機構を内蔵し
ており、アドレス変換部601と、この内部にTLB(Transl
ation Look aside Buffer)602を有し、ページングによ
る仮想記憶管理方式を用いる。
第6図は、第5図のマイクロプロセッサにおいて、仮
想アドレスから実アドレスへの変換方式を説明した図で
ある。第6図のように32ビット長の仮想アドレス701は
上位ビット側から2ビットのセクションID702、10ビッ
トのエリアID703,8ビットのページID704,12ビットのペ
ージ内オフセット705に分けられる。
仮想アドレスから実アドレスへの変換は、まづ始めに
セクションID702によりロセッサ内のエリア・テーブル
・レジスタ706から対応するレジスタが選択される。次
にエリア・テーブル・レジスタ内のエリア・テーブル・
ベース・アドレス707で指定されるエリア・テーブル708
の中からエリアID703で指定されるエリア・テーブル・
エントリ(ATE)709が選択される。次にATE内のページ
・テーブル・ベース・アドレス710で指定されるページ
・テーブル711の中からページID704で指定されるページ
・テーブル・エントリ(PTE)712が選択される。最後に
PTE内の実ページ番号713で指定されたページ714の中か
らページ内オフセット705の分を加えたものが変換され
た実アドレスとなる。ひとたび仮想アドレスから実アド
レスへの変換が行われると、変換結果はTLB715に蓄えら
れる。すなわち、仮想アドレス701の上位20ビットがTLB
エントリの連想部716に、変換結果の実ページ番号713と
保護情報などの仮想記憶管理情報がデータ部717に設定
されTLBエントリが有効になる。
再び同一仮想アドレス701の変換が行われると、仮想
アドレス701の上位20ビット718がTLB715内の各有効エン
トリの連想部716と比較される。比較の結果が一致する
とデータ部717から実ページ番号713が読み出されて、ペ
ージ内オフセット705と合わせて直ちに実アドレスを得
る。
第7図はページ・テーブル・エントリ712の内容を示
した図である。ページ・テーブル・エントリ712は実ペ
ージ番号RPN713,キャッシュバイパスビット801,モディ
ファイビット802,有効ビット803とその他の仮想記憶管
理情報とから成り立っている。有効ビット803はページ
・テーブル・エントリ712が有効か否かを示し、モディ
ファイビット802はこのページ・テーブル・エントリ712
で指定されるページに対して書き込みが行われたか否か
を示す。モディファイビット802はオペレーティング・
システムが仮想記憶管理を行うために使用される。キャ
ッシュバイパスビット801はこのページ・テーブル・エ
ントリ712で指定されるページに対するアクセスをキャ
ッシュバイパスさせるか否かを示す。
第8図はTLB715の内容を示した図である。TLB715内の
エントリは連想部716とデータ部717とからなる。連想部
716は仮想アドレス7・1の上位20ビット718とTLBエン
トリの有効ビット901とからなる。データ部717は実ペー
ジ番号713とTLB内キャッシュバイパスビット902とモデ
ィファイビット903の他仮想記憶管理情報からなる。
プロセッサがページ・テーブル・エントリ712のキャ
ッシュバイパスビット801によってキャッシュバイパス
アクセスが指定されている領域に対してアクセスを行う
場合について説明する。命令デコード部101にって作ら
れた命令オペランドアクセス要求信号105にはオペラン
ドのアドレス,アクセスの種類などの情報が含まれてい
る。このうちオペランドのアドレスはアドレス変換部60
1によって第6図に示したとおり仮想アドレスから実ア
ドレスへ変換される。このときページテーブルエントリ
712が参照されるが、参照されたページテーブルエント
リのキャッシュバイパスビット801の値は変換された仮
想一実アドレス対がTLB602内に新たなエントリとして登
録されるときに同時にTLB内キャッシュバイパスビット9
02として登録されるとともに第9図に示すページバイパ
スフリップフロップ1001にラッチされる。ページバイパ
スフリップフロップ1001に値は命令オペランドキャッシ
ュバイパス信号112の実行用データキャッシュバイパス
信号113とともにORゲート1002により理論和されてデー
タキャッシュバイパス信号604としてバス制御部103へ送
られる。仮想アドレスを変換して得られた実アドレスは
他のアクセス情報と合せてバスアクセス情報603として
バス制御部103へ送られる。
アドレス変換時にTLBが使用される場合にはTLBの対応
するエントリから読み出されたTLB内キャッシュバイパ
スビット902がページバイパスフリップフロップ1001に
ラッチされて使用される。
このように、本実施例ではページテーブルにキャッシ
ュバイパス指定を行うことにより命令やオペランドの種
類とは独立に、特定のメモリ空間に対するキャッシュバ
イパスアクセスを指定することができる。
なお、第1および第2の実施例において、割込み処理
や例外処理に必要なベクタ情報は比較的少ないので、命
令実行部102からのキャッシュバイパス要求信号108は削
除してもよい。また、各実施例に示したマイクロプロセ
ッサに内部キャッシュユニットを内蔵することもでき、
この場合キャッシュバイパス信号114は外部キャッシュ
ユニットとともに内部キャッシュユニットにも共通に供
給される。
〔発明の効果〕
以上のとおり、本発明によれば、少なくとも命令デコ
ード部にキャッシュバイパス検出手段を設けたことによ
り、アクセスすべきデータに応じてきめ細いキャッシュ
バイパス制御を可能とするマイクロプロセッサが提供さ
れる。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示すブロック図、第2
図は第1図の命令デコード部の構成を示すブロック図、
第3図は第1図の命令実行部の構成を示すブロック図、
第4図(a),(b)はそれぞれ通常のリードバスサイ
クルおよびキャッシュバイパスリードサイクルを示すタ
イミングチャート、第5図は本発明の第2の実施例を示
すブロック図、第6図は第5図のアドレス変換部によっ
て実行される仮想アドレスから実アドレスの変換を示す
動作図、第7図は第6図に示したページテーブルエント
リの内容を示すデータフォーマット、第8図は第7図の
TLBの内容を示すデータフォーマット、第9図は第6図
に示したキャッシュバイパス信号604の発生回路図であ
る。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】実行すべき命令をデコードするとともに命
    令オペランドのためのデータアクセス要求を発行する命
    令デコード部と、前記データアクセス要求に応答してデ
    ータアクセスバスサイクルを起動するバス制御部と、前
    記命令デコード部からのデコード情報にもとづき命令を
    実行し前記バス制御部との間でデータの転送を行う命令
    実行部とを備え、前記命令デコード部にデコードされた
    命令コードを示す第1の情報とアクセスすべきオペラン
    ドがソースオペランドまたはデスティネーションオペラ
    ンドかどうかを示す第2の情報とを受け、これら第1お
    よび第2の情報をもとに前記キャッシュバイパス要求を
    発行し、さらにアドレッシング方式をしめす第3の情報
    を受け、前記第3の情報が間接アドレッシングであると
    き前記第1の情報および前記第2の情報に係わらず前記
    キャッシュバイパス要求を発行しない手段を設け、前記
    バス制御部は前記キャッシュバイパス要求に応答してデ
    ータアクセスバスサイクルの起動に同期してキャッシュ
    バイパス指示信号を発生することを特徴とするマイクロ
    プロセッサ。
  2. 【請求項2】前記命令実行部に所定の処理の実行のため
    のデータアクセス要求を前記バス制御部に発行する手段
    と当該アクセス要求とともにキャッシュバイパス要求を
    発行する手段を設け、前記バス制御部は前記命令デコー
    ド部又は前記命令実行部からの前記キャッシュバイパス
    要求に応答してデータアクセスバスサイクルの起動に同
    期してキャッシュバイパス指示信号を発生することを特
    徴とする請求項1記載のマイクロプロセッサ。
  3. 【請求項3】前記命令デコード部からのデータアクセス
    要求が伴う仮想アドレスを実アドレスに変換するアドレ
    ス変換部をさらに備え、このアドレス変換部に変換され
    た実アドレスが所定のメモリ領域にあるときにキャッシ
    ュバイパス要求を発生する手段を設けたことを特徴とす
    る請求項1又は2記載のマイクロプロセッサ。
JP2161623A 1989-06-20 1990-06-20 マイクロプロセッサ Expired - Lifetime JP2679363B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP15858489 1989-06-20
JP1-158584 1989-06-20

Publications (2)

Publication Number Publication Date
JPH03116231A JPH03116231A (ja) 1991-05-17
JP2679363B2 true JP2679363B2 (ja) 1997-11-19

Family

ID=15674885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2161623A Expired - Lifetime JP2679363B2 (ja) 1989-06-20 1990-06-20 マイクロプロセッサ

Country Status (3)

Country Link
US (1) US5247639A (ja)
EP (1) EP0405318A3 (ja)
JP (1) JP2679363B2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386547A (en) * 1992-01-21 1995-01-31 Digital Equipment Corporation System and method for exclusive two-level caching
US5423016A (en) * 1992-02-24 1995-06-06 Unisys Corporation Block buffer for instruction/operand caches
JP3226055B2 (ja) * 1992-09-16 2001-11-05 松下電器産業株式会社 情報処理装置
JP3442118B2 (ja) * 1993-11-19 2003-09-02 富士通株式会社 バッファ回路
US5566318A (en) * 1994-08-02 1996-10-15 Ramtron International Corporation Circuit with a single address register that augments a memory controller by enabling cache reads and page-mode writes
US5729713A (en) * 1995-03-27 1998-03-17 Texas Instruments Incorporated Data processing with first level cache bypassing after a data transfer becomes excessively long
US5860155A (en) * 1995-11-16 1999-01-12 Utek Semiconductor Corporation Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses
US5724533A (en) * 1995-11-17 1998-03-03 Unisys Corporation High performance instruction data path
US5745728A (en) * 1995-12-13 1998-04-28 International Business Machines Corporation Process or renders repeat operation instructions non-cacheable
US6378023B1 (en) 1996-02-14 2002-04-23 Advanced Micro Devices, Inc. Interrupt descriptor cache for a microprocessor
US6021470A (en) * 1997-03-17 2000-02-01 Oracle Corporation Method and apparatus for selective data caching implemented with noncacheable and cacheable data for improved cache performance in a computer networking system
US6094708A (en) * 1997-05-06 2000-07-25 Cisco Technology, Inc. Secondary cache write-through blocking mechanism
US6128703A (en) * 1997-09-05 2000-10-03 Integrated Device Technology, Inc. Method and apparatus for memory prefetch operation of volatile non-coherent data
US6052743A (en) * 1997-11-12 2000-04-18 National Instruments Corporation Buffer object for performing buffered data transfers in a data acquisition system
US6115385A (en) 1998-03-11 2000-09-05 Cisco Technology, Inc. Method and system for subnetting in a switched IP network
GB2335764B (en) * 1998-03-27 2002-10-09 Motorola Ltd Circuit and method of controlling cache memory
US6393493B1 (en) * 1998-04-20 2002-05-21 National Instruments Corporation System and method for optimizing serial USB device reads using virtual FIFO techniques
US6785274B2 (en) 1998-10-07 2004-08-31 Cisco Technology, Inc. Efficient network multicast switching apparatus and methods
US6272599B1 (en) * 1998-10-30 2001-08-07 Lucent Technologies Inc. Cache structure and method for improving worst case execution time
US6385694B1 (en) 1999-06-25 2002-05-07 International Business Machines Corporation High performance load instruction management via system bus with explicit register load and/or cache reload protocols
US6463507B1 (en) 1999-06-25 2002-10-08 International Business Machines Corporation Layered local cache with lower level cache updating upper and lower level cache directories
US6405285B1 (en) 1999-06-25 2002-06-11 International Business Machines Corporation Layered local cache mechanism with split register load bus and cache load bus
US6434667B1 (en) 1999-06-25 2002-08-13 International Business Machines Corporation Layered local cache with imprecise reload mechanism
US6397300B1 (en) * 1999-06-25 2002-05-28 International Business Machines Corporation High performance store instruction management via imprecise local cache update mechanism
US6418513B1 (en) 1999-06-25 2002-07-09 International Business Machines Corporation Queue-less and state-less layered local data cache mechanism
US6446166B1 (en) 1999-06-25 2002-09-03 International Business Machines Corporation Method for upper level cache victim selection management by a lower level cache
US6665747B1 (en) * 1999-10-22 2003-12-16 Sun Microsystems, Inc. Method and apparatus for interfacing with a secondary storage system
KR100769557B1 (ko) * 1999-11-24 2007-10-23 엔엑스피 비 브이 데이터 처리 시스템 및 데이터 처리 유닛
US6397301B1 (en) * 1999-12-29 2002-05-28 Intel Corporation Preventing access to secure area of a cache
DE60143194D1 (de) * 2000-04-12 2010-11-18 Dsp Group Switzerland Ag Datenverarbeitungsschaltung mit cachespeicher und vorrichtung mit solcher schaltung
US6850980B1 (en) 2000-06-16 2005-02-01 Cisco Technology, Inc. Content routing service protocol
US6654857B2 (en) 2001-06-21 2003-11-25 International Business Machines Corporation Non-uniform memory access (NUMA) computer system having distributed global coherency management
US6760817B2 (en) 2001-06-21 2004-07-06 International Business Machines Corporation Method and system for prefetching utilizing memory initiated prefetch write operations
US6754782B2 (en) 2001-06-21 2004-06-22 International Business Machines Corporation Decentralized global coherency management in a multi-node computer system
US6901485B2 (en) 2001-06-21 2005-05-31 International Business Machines Corporation Memory directory management in a multi-node computer system
US6615322B2 (en) 2001-06-21 2003-09-02 International Business Machines Corporation Two-stage request protocol for accessing remote memory data in a NUMA data processing system
US6711652B2 (en) 2001-06-21 2004-03-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data
US6760809B2 (en) 2001-06-21 2004-07-06 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory
US6658538B2 (en) * 2001-06-21 2003-12-02 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control
US6842803B2 (en) * 2001-07-09 2005-01-11 Advanced Micro Devices, Inc. Computer system with privileged-mode modem driver
US7464311B2 (en) * 2002-08-05 2008-12-09 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for device selective scans in data streaming test environment for a processing unit having multiple cores
US8307194B1 (en) 2003-08-18 2012-11-06 Cray Inc. Relaxed memory consistency model
US7519771B1 (en) * 2003-08-18 2009-04-14 Cray Inc. System and method for processing memory instructions using a forced order queue
US7421565B1 (en) 2003-08-18 2008-09-02 Cray Inc. Method and apparatus for indirectly addressed vector load-add -store across multi-processors
US7743223B2 (en) 2003-08-18 2010-06-22 Cray Inc. Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system
US7543133B1 (en) 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
US8356127B2 (en) * 2004-12-09 2013-01-15 Rambus Inc. Memory interface with workload adaptive encode/decode
US7930484B2 (en) * 2005-02-07 2011-04-19 Advanced Micro Devices, Inc. System for restricted cache access during data transfers and method thereof
US9152823B2 (en) * 2005-04-22 2015-10-06 Storagecraft Technology Corporation Systems, methods, and computer readable media for computer data protection
US8909871B2 (en) * 2006-08-03 2014-12-09 International Business Machines Corporation Data processing system and method for reducing cache pollution by write stream memory access patterns
US8606998B2 (en) 2006-08-24 2013-12-10 Advanced Micro Devices, Inc. System and method for instruction-based cache allocation policies
US8683139B2 (en) 2006-10-31 2014-03-25 Hewlett-Packard Development Company, L.P. Cache and method for cache bypass functionality
JP2009093559A (ja) * 2007-10-11 2009-04-30 Nec Corp プロセッサ、情報処理装置、プロセッサのキャッシュ制御方法
US8108617B2 (en) * 2008-02-08 2012-01-31 International Business Machines Corporation Method to bypass cache levels in a cache coherent system
US8327345B2 (en) * 2008-12-16 2012-12-04 International Business Machines Corporation Computation table for block computation
US9075719B2 (en) * 2012-02-10 2015-07-07 Hitachi, Ltd. Computer system and storage system
JP6155723B2 (ja) * 2013-03-18 2017-07-05 富士通株式会社 レーダ装置及びプログラム
US9568986B2 (en) * 2013-09-25 2017-02-14 International Business Machines Corporation System-wide power conservation using memory cache
US20150205724A1 (en) * 2014-01-20 2015-07-23 Honeywell International Inc. System and method of cache partitioning for processors with limited cached memory pools

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
JPS54151330A (en) * 1978-05-20 1979-11-28 Nec Corp Information processor
JPS5848289A (ja) * 1981-09-17 1983-03-22 Fuji Electric Co Ltd バツフアメモリ制御方式
US4942518A (en) * 1984-06-20 1990-07-17 Convex Computer Corporation Cache store bypass for computer
JPH0630075B2 (ja) * 1984-08-31 1994-04-20 株式会社日立製作所 キャッシュメモリを有するデータ処理装置
JPS62102344A (ja) * 1985-10-29 1987-05-12 Fujitsu Ltd バツフア・メモリ制御方式
JPS62274349A (ja) * 1986-05-22 1987-11-28 Mitsubishi Electric Corp デ−タ処理システム
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
JPH07120325B2 (ja) * 1987-10-09 1995-12-20 日本電気株式会社 キャッシュメモリ制御用集積回路
JP2617974B2 (ja) * 1988-03-08 1997-06-11 富士通株式会社 データ処理装置
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification

Also Published As

Publication number Publication date
US5247639A (en) 1993-09-21
EP0405318A2 (en) 1991-01-02
EP0405318A3 (en) 1991-11-27
JPH03116231A (ja) 1991-05-17

Similar Documents

Publication Publication Date Title
JP2679363B2 (ja) マイクロプロセッサ
JP2725450B2 (ja) マイクロプロセッサ
JP3285644B2 (ja) キャッシュメモリを有するデータプロセッサ
US4591972A (en) Data processing system with unique microcode control
JPH0348541B2 (ja)
US4569018A (en) Digital data processing system having dual-purpose scratchpad and address translation memory
KR970002607A (ko) 두개의 아키텍처를 지원하는 프로세서 및 이에 구현된 방법, 컴퓨터 시스템
JP2000231549A (ja) マイクロプロセッサ
JPH0827716B2 (ja) データ処理装置及びデータ処理方法
JPH02207351A (ja) データ路の巾が予め定められたコンピュータシステムのデータ記憶レートを増加する方法及び装置
US11941409B2 (en) Methods, systems, and apparatuses for a multiprocessor boot flow for a faster boot process
US4597041A (en) Method and apparatus for enhancing the operation of a data processing system
WO2000036504A1 (en) Processor emulation instruction counter virtual memory address translation
US4701847A (en) Adaptive instruction sequence synthesizer and process
JPH11316679A (ja) 多数のバンクアドレス値供給源を有するプロセッサアーキテクチャスキームおよびその方法
JPH0232659B2 (ja)
US5333287A (en) System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters
EP3901768B1 (en) Methods, systems, and apparatuses for a multiprocessor boot flow for a faster boot process
Phillips The Z80000 microprocessor
EP0374526A2 (en) Op branching for starting micro-routines
US5187782A (en) Data processing system
US5117491A (en) Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding
JP3105110B2 (ja) 演算装置
JP2696578B2 (ja) データ処理装置
EP0312183A2 (en) Digital data processing system