JPH10177520A - データプロセッサ及びデータ処理システム - Google Patents

データプロセッサ及びデータ処理システム

Info

Publication number
JPH10177520A
JPH10177520A JP9280207A JP28020797A JPH10177520A JP H10177520 A JPH10177520 A JP H10177520A JP 9280207 A JP9280207 A JP 9280207A JP 28020797 A JP28020797 A JP 28020797A JP H10177520 A JPH10177520 A JP H10177520A
Authority
JP
Japan
Prior art keywords
address
data
cache
address translation
cache memory
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.)
Withdrawn
Application number
JP9280207A
Other languages
English (en)
Inventor
Junichi Nishimoto
順一 西本
Osamu Nishii
修 西井
Fumio Arakawa
文男 荒川
Susumu Narita
進 成田
Masayuki Ito
雅之 伊藤
Makoto Toda
誠 戸田
Kunio Uchiyama
邦男 内山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9280207A priority Critical patent/JPH10177520A/ja
Publication of JPH10177520A publication Critical patent/JPH10177520A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 アドレス変換動作を高速化したデータプロセ
ッサを提供する。 【解決手段】 アドレス変換バッファをデータ用と命令
用に分け、データ用のアドレス変換バッファ(4)には
命令用のアドレス変換情報も格納させ、命令用のアドレ
ス変換バッファ(3)で変換ミスを生じたときは、新た
なアドレス変換情報をデータ用のアドレス変換バッファ
(4)から取り込むようにする。命令用のアドレス変換
バッファで変換ミスを生じたとき毎回外部のアドレス変
換テーブルからアドレス変換情報を取得する場合に比べ
て、アドレス変換動作の高速化を実現できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アドレス変換バッ
ファを備えたデータプロセッサ、更にはそのようなデー
タプロセッサを用いたデータ処理システムに関し、例え
ばデータ処理の高速化に適用して有効な技術に関するも
のである。
【0002】
【従来の技術】仮想記憶方式では物理メモリに比べて十
分に大きな仮想メモリ空間を用意し、プロセスはその仮
想メモリ空間にマッピングされる。ここで、プロセスと
は、OS(Operating System:オペレーティング・シス
テム)の管理下で実行中のプログラムを意味する。この
ため、プロセスは、仮想メモリ上での動作だけを考慮す
ればよくなる。仮想メモリから物理メモリへのマッピン
グには、MMU(MemoryManagement Unit)が用いられ
る。MMUは、通常OS(Operating System)が管理し
ており、プロセスが必要とする仮想メモリを物理メモリ
にマッピング出来るように、物理メモリの入換えを行
う。物理メモリの入換えは2次記憶などとの間で行われ
る。また、あるプロセスが別のプロセスの物理メモリに
誤ってアクセスしたりしないように、MMUは通常記憶
保護の機能も備えている。
【0003】前記MMUを用いて仮想メモリのアドレス
(仮想アドレス)から物理メモリのアドレス(物理アド
レス)へアドレス変換を行うとき、そのアドレス変換情
報がMMUに登録されていなかったり、或いは別のプロ
セスの仮想メモリへ誤ってアクセスすることがある。こ
のとき、MMUは、例外を発生させ、物理メモリのマッ
ピングを変更し、新たなアドレス変換情報を登録する。
【0004】上記MMUの機能はソフトウェアだけでも
実現可能であるが、プロセスが物理メモリへアクセスす
る度にソフトウェアで変換を行っていたのでは効率が悪
くなる。そのため、ハードウェア上にアドレス変換のた
めのアドレス変換バッファを用意し、頻繁に使用される
アドレス変換情報をそのアドレス変換バッファに置くよ
うにする。すなわち、そのアドレス変換バッファは、ア
ドレス変換情報のためのキャッシュメモリとして構成さ
れる。通常のキャッシュメモリとの相違は、アドレス変
換に失敗したとき、アドレス変換情報の入換えを専らソ
フトウェアに依存して行うことである。
【0005】また、データや命令アクセスを高速するた
めに種々のキャッシュメモリが広く採用されている。
【0006】
【発明が解決しようとする課題】本発明者はメモリアク
セスの高速化の観点から、アドレス変換バッファやキャ
ッシュメモリについて検討した。アドレス変換バッファ
を命令用とデータ用に夫々分けるプロセッサとして、例
えば、PowerPC 603 RISC Microprocessor User'sManual
(MOTOROLA, 1994)に記載のものがある。このプロセッサ
は更にデータキャッシュメモリと命令キャッシュメモリ
を別々に備えている。本文献のページ7−15において
PowerPCでは命令TLBミスをデータTLBミスと別に扱って
いる事がわかる。本発明者の検討によれば、アドレス変
換バッファを命令用とデータ用に別々に備えていても、
相互に関連がないため、アドレス変換に失敗すれば、外
部メモリから必要なアドレス変換情報を取得しなければ
ならず、メモリアクセスの高速化には限界のあることが
明らかにされた。
【0007】また、キャッシュメモリは、キャッシュミ
スを生じた場合には外部メモリからキャッシュエントリ
が1エントリ分だけ新たに読み込まれる。このとき、無
効なキャッシュエントリが無ければ、LRU(Least Re
cently Used)等の論理に従って有効なキャッシュエン
トリがキャッシュメモリから追い出されることになる。
このようにして追い出されたキャッシュエントリは次に
利用されるデータ又は命令を含んでいるかもしれない。
したがって、特に高速化を要するような処理ルーチンを
規定する命令等は常にキャッシュメモリに留まっている
ことが望ましく、そのような場合には、キャッシュメモ
リをランダム・アクセス・メモリとして利用可能にする
ことも考えられる。しかし、キャッシュメモリの全ての
領域をそのようにした場合には、逆にキャッシュメモリ
としての機能が全て殺される結果、用途によっては不都
合を生ずる場合も予想される。
【0008】本発明の目的は、メモリアクセスを高速化
することができるデータプロセッサを提供することにあ
る。詳しくは、アドレス変換の観点よりメモリアクセス
を高速化する技術を提供し、又、キャッシュメモリの観
点よりメモリアクセスを高速化する技術を提供しようと
するものである。
【0009】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0011】すなわち、本発明の第1の観点は、アドレ
ス変換バッファをデータ用と命令用に分け、データ用の
アドレス変換バッファには命令用のアドレス変換情報も
格納させ、命令用のアドレス変換バッファで変換ミスを
生じたときは、新たなアドレス変換情報をデータ用のア
ドレス変換バッファから取り込むようにするものであ
る。
【0012】詳しくは、データプロセッサ(1)は、中
央処理装置(2)と、前記中央処理装置が取扱う仮想ア
ドレスを物理アドレスに変換するためのアドレス変換情
報の一部が格納され中央処理装置が出力する仮想アドレ
スに応ずる物理アドレスをアドレス変換情報から連想検
索する第1のアドレス変換バッファ(4)と、第1のアド
レス変換バッファが保有するアドレス変換情報の内の命
令アドレスに関するアドレス変換情報を格納し、命令フ
ェッチに際して前記中央処理装置が出力する仮想アドレ
スに応ずる物理アドレスをアドレス変換情報から連想検
索し、連想検索の結果が検索ミスであるとき、当該検索
ミスに係る仮想アドレスによって前記第1のアドレス変
換バッファを連想検索させ、この連想検索によって検索
されたアドレス変換情報を取得する第2のアドレス変換
バッファ(3)とを含んで成る。
【0013】そのような観点に立つ別のデータプロセッ
サは、中央処理装置と、前記中央処理装置が取扱う仮想
アドレスを物理アドレスに変換するためのアドレス変換
情報の一部が格納され中央処理装置が出力する仮想ペー
ジ番号に応ずる物理ページ番号をアドレス変換情報から
連想検索する第1のアドレス変換バッファと、第1のアド
レス変換バッファが保有するアドレス変換情報の内の命
令アドレスに関するアドレス変換情報を格納し、命令フ
ェッチに際して前記中央処理装置が出力する仮想ページ
番号に応ずる物理ページ番号をアドレス変換情報から連
想検索する第2のアドレス変換バッファと、前記第2の
アドレス変換バッファによる連想検索の結果が検索ミス
であるとき、当該検索ミスに係る仮想ページ番号によっ
て前記第1のアドレス変換バッファを連想検索させ、こ
の連想検索によって検索されたアドレス変換情報を前記
第2のアドレス変換バッファに与えるバッファ制御手段
(320)とを含む。
【0014】上記手段によれば、命令用のアドレス変換
バッファで変換ミスを生じたときは、新たなアドレス変
換情報をデータ用のアドレス変換バッファから取り込む
ので、変換ミスの時に毎回外部のアドレス変換テーブル
からアドレス変換情報を取得する場合に比べて、アドレ
ス変換動作の高速化を実現出来る。これによってメモリ
アクセスの高速化を達成する。特に、命令アドレスの変
換を高速化しているのは、フェッチされた命令のデコー
ド結果に従ってオペランドフェッチが行われるからであ
る。或いは、命令用アドレス変換バッファをデータ用ア
ドレス変換バッファに比べて小容量(エントリ数が少な
い)にするためだからである。
【0015】前記第2のアドレス変換バッファによる連
想検索の結果が検索ミスであって、当該検索ミスに係る
仮想ページ番号による前記第1のアドレス変換バッファ
の連想検索の結果が検索ミスであるとき、前記中央処理
装置は例外処理によって前記検索ミスに係る仮想ページ
番号を含むアドレス変換情報をデータプロセッサの外部
に設けられた外部メモリから読み出して前記第1のアド
レス変換バッファに書込み制御することになる。この例
外処理が完了されると、中断されているアドレス変換動
作が継続されることになる。
【0016】本発明の他の観点は、キャッシュメモリの
一部の領域だけを選択的にランダム・アクセス・メモリ
として動作させるものである。換言すれば、当該一部の
領域に対してだけキャッシュ機能を抑止する。
【0017】詳しくは、上記データプロセッサは、物理
ページ番号に対応させてデータのキャッシュエントリが
格納され、前記第1のアドレス変換バッファによって連
想検索された物理ページ番号が供給され、これに対応さ
れるキャッシュエントリを連想検索するデータキャッシ
ュメモリ(6)を更に含む。このとき、前記データキャ
ッシュメモリの一部は仮想アドレスによって規定される
所定の領域(E1)にマッピングされ、前記データプロ
セッサは、前記所定の領域へのアクセスを検出して前記
データキャッシュメモリをランダムアクセス動作させる
第1のRAM領域判定制御手段(605)を更に備え
る。
【0018】また、上記データプロセッサは、物理ペー
ジ番号に対応させて命令のキャッシュエントリが格納さ
れ、前記第2のアドレス変換バッファによって連想検索
された物理ページ番号が供給され、これに対応されるキ
ャッシュエントリを連想検索する命令キャッシュメモリ
(5)を更に含む。このとき、前記命令キャッシュメモ
リの一部は仮想アドレスによって規定される所定の領域
(E1)にマッピングされ、前記データプロセッサは前
記所定の領域へのアクセスを検出して前記命令キャッシ
ュメモリをランダムアクセス動作させる第2のRAM領
域判定制御手段(505)を更に備える。
【0019】上記手段によれば、データキャッシュメモ
リ及び命令キャッシュメモリの前記所定の領域は、ラン
ダムアクセスされ、双方のキャッシュメモリの残りの領
域では連想検索が行われるキャッシュメモリとして動作
されるから、特にアクセスの高速化を必要とする所望の
命令やデータを常にキャッシュメモリに留まらせること
と、最近用いた命令及びデータをキャッシュメモリに留
まらせておくととの双方を満足でき、データ処理速度の
向上に寄与する。
【0020】本発明の更に他の観点は、キャッシュメモ
リのキャッシュラインを選択するためのインデックスア
ドレスとして、仮想アドレスのビット位置を、通常の動
作時よりも、より上位のビット位置に切り換える。これ
により、キャッシュメモリを大きなアドレス空間毎に分
割して仮想メモリ空間に割り当てるものである。
【0021】詳しくは、データキャッシュメモリのキャ
ッシュラインの選択に仮想アドレスのより上位側のビッ
トを選択的に用いるためのインデックスモード指定手段
(630)を更に備える。
【0022】また、命令キャッシュメモリのキャッシュ
ラインの選択に仮想アドレスのより上位側のビットを選
択的に用いるためのインデックスモード指定手段(53
0)を更に備える。
【0023】上記手段によれば、仮想アドレスのより上
位側のビットをキャッシュメモリのインデックスに用い
ることができるため、キャッシュメモリを大きなアドレ
ス空間毎に分割して仮想メモリ空間に割り当てることが
できる。これにより、擬似的にダイレクトマップのキャ
ッシュメモリをセットアソシアティブのキャッシュメモ
リとして扱う事ができ、データ処理速度の向上に寄与す
る。
【0024】本発明の更に他の観点は、データプロセッ
サの使い勝手を良好にするためのものである。
【0025】第1に、物理アドレス空間(物理メモリ上
のアドレス空間)に仮想アドレス空間(仮想メモリ上の
アドレス空間)からI/Oレジスタ領域(I/Oレジス
タ空間)をマッピングする。すなわち、前記第1のアド
レス変換バッファによる連想検索による連想ヒットによ
って出力される物理ページ番号を入力し、入力した物理
ページ番号がデータプロセッサ内部のI/Oレジスタ空
間に割り当てられたページに一致するかを検出し、一致
検出によって前記データキャッシュメモリの連想検索動
作を抑止するとともに、I/Oレジスタを直接アクセス
させる検出手段)(606)を更に備える。このとき、
前記第1のアドレス変換バッファに格納される変換情報
はページに対するアクセス権を規定する保護情報を有
し、連想ヒットに係る変換情報の保護情報に基づいて当
該ページに対するアクセス権を判定するアクセス保護手
段(405)を有する。これにより、I/Oレジスタ空
間に対しても記憶保護を行うことができる。
【0026】第2に、前記第1のアドレス変換バッファ
に格納される変換情報は、前記データキャッシュメモリ
に対する書込み制御形態としてライトスルー又はライト
バックの何れを採用するかを規定するためのキャッシュ
ライトモード規定情報(WT)を有し、連想ヒットに係
る変換情報に含まれる前記キャッシュライトモード情報
に基づいて当該ページに対するキャッシュライトの形態
を制御するキャッシュライト制御手段(614)を備え
る。ライトスルーモードでは、キャッシュヒットの場合
にはキャッシュメモリと外部メモリの双方に対して書込
みを行い、キャッシュミスの場合には外部メモリだけに
書込みを行う。ライトバックモードでは、キャッシュヒ
ットの場合にはヒットに係るキャッシュエントリ(キャ
ッシュライン)にそのデータを書込み、キャッシュミス
の場合には外部メモリから一つのキャッシュエントリが
読み込み(キャッシュフィル)されてタグアドレスが更
新され、そのキャッシュラインにデータの書込みが行わ
れる。このようにしてキャッシュフィルされたキャッシ
ュラインのダーティービットはセット状態にされる。前
記キャッシュフィルによってキャッシュメモリから追い
出されるキャッシュラインがダーティーであるときは、
そのキャッシュラインは外部メモリに書き戻されること
になる。このように、ライトスルーモードの場合には、
キャッシュメモリと外部メモリの内容は常に一致される
が、外部メモリアクセスが多くなる。ライトバックモー
ドにおいては外部メモリアクセスは少なくなるが、キャ
ッシュメモリと外部メモリとの内容が不一致にされる期
間が存在し、複数のキャッシュメモリが外部メモリを共
有する場合にはキャッシュメモリと外部メモリとの一貫
性を保つことができなくなることがある。ページ単位で
ライトスルーモードとライトバックモードを選択可能で
あれば、キャッシュメモリと外部メモリの一貫性とアク
セス速度との関係を、システム構成やプロセスの内容に
応じて最適化することが可能になる。
【0027】上記データプロセッサを適用したデータ処
理装置は、データプロセッサに接続された外部メモリ
と、その2次記憶とを有する。
【0028】
【発明の実施の形態】
〔データプロセッサの構成〕図1には本発明の一例に係
るデータプロセッサのブロック図が示される。同図に示
されるデータプロセッサ1は、特に制限されないが、3
2ビットのパイプラインRISC(Reduced Instruction
Set Computer)アーキテクチャを有し、データプロセッ
サの命令セットは16ビット固定長とされる。
【0029】このデータプロセッサ1は、中央処理装置
(CPU)2による命令アクセスとデータアクセスを並
列化出来るように、命令用とデータ用のTLB(アドレ
ス変換バッファ)3,4を別々に持ち、また、命令キャ
ッシュメモリ5とデータキャッシュメモリ(オペランド
キャッシュメモリ)6も夫々個別化されている。
【0030】データプロセッサ1は、特に制限されない
が、32ビットの仮想アドレスで規定される仮想アドレ
ス空間と29ビットの物理アドレスで規定される物理ア
ドレス空間を扱う。仮想アドレスを物理アドレスに変換
するためのアドレス変換情報は仮想ページ番号とそれに
対応される物理ページ番号を含んでいる。アドレス変換
テーブルはデータプロセッサ1の外部メモリに形成され
る。アドレス変換テーブルのアドレス変換情報のうち、
最近利用された一部のものが前記アドレス変換バッファ
3,4に格納されることになる。その制御は、例えばデ
ータプロセッサ1のOSが行う。
【0031】前記データ用のTLB(共用TLBとも記
す)4はデータ及び命令のアドレス変換情報を最大64
エントリ格納する。この共用TLB4は、データフェッ
チのためにCPU1が信号線111に出力する仮想アド
レスの仮想ページ番号に応ずる物理ページ番号をアドレ
ス変換情報から連想検索して、その仮想アドレスを物理
アドレスに変換する。ここで、仮想アドレス空間は、ペ
ージという単位に分割され、このページ単位で物理アド
レスに変換される。
【0032】前記命令用のTLB(命令TLBとも記
す)3は命令専用のアドレス変換情報を最大4エントリ
格納する。特に命令TLB3が保有するエントリは、共
用TLB4が保有する命令アドレスの変換情報の一部と
される。共用TLB4から命令TLB3へのエントリの
供給は信号線116を介して行われる。この命令TLB
3は、命令フェッチのためにCPU1が信号線110に
出力する仮想アドレスの仮想ページ番号に応ずる物理ペ
ージ番号をアドレス変換情報から連想検索して、その仮
想アドレスを物理アドレスに変換する。検索ミスの場合
には、前記共用TLB4から目的とするアドレス変換情
報を得るための動作を信号線115を介して指示する。
【0033】前記データキャッシュメモリ6は、データ
フェッチに際して共用TLB4で変換された物理アドレ
スを信号線120を介して受け取り、これに基づいてキ
ャッシュエントリの連想検索を行う。検索結果がリード
ヒットであれば、ヒットに係るキャッシュラインからそ
の物理アドレスに応ずるデータがCPUバス117に出
力される。検索結果がリードミスであれば、ミスに係る
データを含む1キャッシュライン分のデータがバスコン
トローラ7を介して外部メモリから読み込まれて、キャ
ッシュフィルが行われ、それによってミスに係るデータ
がCPUバス117に読出される。検索結果がライトミ
スである場合には、詳細を後述するライトスルーモード
又はライトバックモードによってその動作が相違され
る。
【0034】前記命令キャッシュメモリ5は、命令フェ
ッチに際して命令TLB3で変換された物理アドレスを
信号線125を介して受け取り、これに基づいてキャッ
シュエントリの連想検索を行う。検索結果がリードヒッ
トであれば、ヒットに係るキャッシュラインからその物
理アドレスに応ずる命令が信号線114に出力される。
検索結果がリードミスであれば、ミスに係る命令を含む
1キャッシュライン分のデータがバスコントローラ7を
介して図示を省略する外部メモリから読み込まれて、キ
ャッシュフィルが行われ、それによってミスに係る命令
が信号線114を介してCPU2に与えられる。
【0035】詳細については後述するが、前記命令キャ
ッシュメモリ5及びデータキャッシュメモリ6はその一
部のデータ領域が選択的にランダムアクセス可能にされ
ている。
【0036】前記CPUバス117には前記共用TLB
4やデータキャッシュメモリ6の他に、周辺モジュール
8及びセルフテスト回路9が結合されている。周辺モジ
ュール8は、例えば、タイマやシリアルインタフェース
コントローラ等の適宜の回路が含まれている。
【0037】前記セルフテスト回路9は、CPU2から
信号線112を介してセルフテストの指示が与えられる
と、命令TLB3、共用TLB4、命令キャッシュメモ
リ5及びデータキャッシュメモリ6の記憶領域に対する
データのライト及びリードを行い、テスト完了を信号線
113を介してCPU2に返す。テスト結果はCPUバ
ス117を介してCPU2が読み込み可能にされる。セ
ルフテスト回路9はテストのためのアクセスアドレス信
号や書込みデータを信号線119を介して命令TLB3
等に与える。命令TLB3、共用TLB4、命令キャッ
シュメモリ5及びデータキャッシュメモリ6からの読み
出しデータは、特に制限されないが、専用信号線11
8、125、126及び127を介してセルフテスト回
路9に供給される。
【0038】前記命令キャッシュメモリ5、データキャ
ッシュメモリ6及び外部バスコントローラ7の接続はキ
ャッシュアドレスバス121、キャッシュデータバス1
22及び図示を省略するコントロールバスによって行わ
れる。前記外部バスコントローラ7は、命令キャッシュ
メモリ5やデータキャッシュメモリ6のキャッシュフィ
ルに必要なデータを外部メモリから取り込み、或いはデ
ータキャッシュメモリ6のキャッシュラインのデータを
外部メモリに書き戻したりするために必要な外部バスサ
イクルの起動を制御する。この外部バスコントローラ7
は外部アドレスバス123、外部データバス及び図示を
省略する外部コントロールバスに結合される。図示を省
略する外部メモリは外部アドレスバス123及び外部デ
ータバス124等に結合されることになる。図1に示さ
れるデータプロセッサ1は、単結晶シリコンのような1
個の半導体基板に形成されている。
【0039】〔共用TLB〕図2には前記共用TLB4
の一例ブロック図が示される。この共用TLB4は最大
64個のTLBエントリを格納するためのメモリセルア
レイを有し、このメモリセルアレイはアドレスアレイ4
00とデータアレイ401から構成される。一つのTL
Bエントリは、特に制限されないが、仮想ページ番号V
PN、有効ビットV、サイズビットSZ、物理ページ番
号PPN、フラグFLAG、及びキャッシュライトモー
ドビットWTを有する。前記仮想ページ番号VPN、有
効ビットV及びサイズビットSZを格納する領域はアド
レスアレイ400に構成され、物理ページ番号PPN、
フラグFLAG及びキャッシュライトモードビットWT
を格納する領域はデータアレイ401に構成される。
【0040】特に制限されないが、仮想アドレスは、図
3に示されるようにそのページサイズが、1Kバイト、
4Kバイト、64Kバイト及び1Mバイトの中から選択
可能になっている。ページサイズは2ビットの前記サイ
ズビットSZによって指定される。
【0041】有効ビットVはそれを含むTLBエントリ
の有効性を示し、論理値“1”のよって有効を意味す
る。フラグFLAGは、保護データ等を含む。保護デー
タは、ページのアクセス権をコードで表した2ビットの
データである。例えば、“00”は特権モードで読み出
しのみ可能、“01”は特権モードで読み出し及び書き
込み可能、“10”は特権モード及びユーザモードで読
み出しのみ可能、“11”は特権モード及びユーザモー
ドで読み出し及び書込み可能なことを意味する。前記キ
ャッシュライトモードビットWTは、データキャッシュ
メモリ6をライトスルーモード又はライトバックモード
の何れで動作させるかを指定する。後述するように、デ
ータキャッシュメモリ6は、ページ単位でライトスルー
モード又はライトバックモードが選択可能にされる。
【0042】前記アドレスアレイ400は、特に制限さ
れないがCAM(Content Addressable Memory)によっ
て構成され、公知の如く、メモリセルそれ自体が比較機
能を有している。検索動作においてアドレスアレイ40
0のメモリセルは並列的に選択されて比較動作を行う。
図2では、その比較操作を行う回路要素を比較器として
概念的に図示している。代表的に示された4個の比較器
402A〜402Dは一つのTLBエントリの仮想ペー
ジ番号が格納されている領域に対応される比較回路の要
素を示すもので、402Aは仮想アドレスのビット10
〜ビット11、402Bは仮想アドレスのビット12〜
ビット15、402Cは仮想アドレスのビット16〜ビ
ット19、402Dは仮想アドレスのビット20〜ビッ
ト31の比較器動作を行う要素を想定している。夫々の
比較回路402A〜402Dにおける比較結果が全ビッ
ト一致のとき、比較結果信号は論理値“1”にされる。
【0043】前記比較器402A〜402Dによる比較
対象は、信号線111を介して供給される仮想ページ番
号の対応ビットとされる。403で示されるものはマス
ク回路であり、サイズビットSZに応じて比較回路40
2A〜402Cによる比較結果をマスクする。即ち、サ
イズビットSZが1Kバイトページを指示するときは比
較回路402A〜402Cの比較結果を一切マスクせ
ず、サイズビットSZが4Kバイトページを指示すると
きは比較回路402Aの比較結果をマスクし、サイズビ
ットSZが64Kバイトページを指示するときは比較回
路402A,402Bの比較結果をマスクし、サイズビ
ットSZが1Mバイトページを指示するときは比較回路
402A〜402Cの比較結果をマスクする。この例に
従えば、マスクされた比較結果は、論理値“1”に強制
されてマスク回路403から出力される。マスク回路4
03の出力及び対応されるTLBエントリの有効ビット
Vは論理積回路404に供給され、論理積回路404の
出力が当該TLBエントリのヒット/ミス信号420と
される。実際には、前記比較回路402A〜402D、
マスク回路403及び論理積回路404はTLBエント
リの64個の格納領域の夫々に対して設けられている。
したがって、信号線111に与えられる仮想ページ番号
を含むTLBエントリが存在する場合には、当該TLB
エントリに対応される論理積回路404の出力が論理値
“1”にされる。
【0044】夫々の前記論理積回路404の出力はデー
タ部401における対応するTLBエントリラインの選
択信号とされ、論理値“1”の選択信号に対応されるT
LBエントリラインの物理ページ番号PPNが信号線1
20に、フラグFLAGがアクセス権判定回路405
に、キャッシュライトモードビットWTがデータキャッ
シュメモリ6に出力される。
【0045】信号線120に与えられた前記物理ページ
番号PPNは、信号線111に与えられた仮想アドレス
のオフセット(物理アドレスのオフセットとされる)等
と一緒にデータキャッシュメモリ6に与えられる。
【0046】前記アクセス権判定回路405は、データ
プロセッサ1が現在ユーザモード又は特権モードの何れ
であるか、また、CPU2によるアクセスが動作の指示
がリード又はライトの何れであるかを示す図示しない信
号が供給されており、これに基づいて、データプロセッ
サの現在の動作モードにフラグFLAGの内容が適合す
るかを判定し、適合しない場合には、保護違反例外信号
408がCPU2に与えられる。
【0047】また、夫々の前記論理積回路404の出力
はTLBミス判定回路406に供給される。このTLB
ミス判定回路406は、前記全ての論理積回路404の
出力が論理値“0”であること判定すると、TLBミス
例外信号407をCPU2に与える。CPU2はそのT
LBミス例外を受け付けると、OSにより、例えば、当
該TLBミスに係るTLBエントリを外部メモリのアド
レス変換テーブルから共用TLB4に追加するための例
外処理を行う。TLBエントリの追加では、追加すべき
TLBエントリはCPUバス117からセレクタ409
を介してアドレス部400及びデータ部401に取り込
まれる。この時のTLBエントリラインの選択は、CP
U2から信号線111に与えられるインデックスアドレ
スをセレクタ410で取り込み、これをインデックスデ
コーダ411でデコードして、行なわれる。セレクタ4
09,410に対する前記選択制御は特に制限されない
が、TLBミス判定回路406が行う。
【0048】尚、詳細については後で説明するが、命令
TLB3から共用TLB4に検索リード処理の指示があ
ったとき、その検索リードにおける検索ヒット判定のた
めの仮想ページ番号は信号線115からセレクタ412
を介して与えられる。この検索リード処理におけるTL
Bエントリの出力は信号線116に対して行われる。ま
た、セルフテストにおけるTLBエントリ選択のための
インデックスアドレスは信号線119からセレクタ41
0を介して与えられる。セルフテストにおける書込みデ
ータは信号線119からセレクタ409を介して与えら
れる。
【0049】〔命令TLB〕図4には前記命令TLB3
の一例ブロック図が示される。この命令TLB3は最大
4個のTLBエントリを格納するためのメモリセルアレ
イを有し、このメモリセルアレイはアドレスアレイ30
0とデータアレイ301から構成される。一つのTLB
エントリは、特に制限されないが、仮想ページ番号VP
N、有効ビットV、サイズビットSZ、物理ページ番号
PPN及びフラグFLAGを有する。前記仮想ページ番
号VPN、有効ビットV及びサイズビットSZを格納す
る領域はアドレスアレイ300に構成され、物理ページ
番号PPN及びフラグFLAGを格納する領域はデータ
アレイ301に構成される。仮想アドレスのページサイ
ズ、有効ビットV、及びフラグFLAGの内容は上記と
変わりない。
【0050】前記アドレスアレイ300は、特に制限さ
れないがCAMによって構成され、公知の如く、メモリ
セルそれ自体が比較機能を有している。検索動作におい
てアドレスアレイ300のメモリセルは並列的に選択さ
れて比較動作を行う。図4では、その比較操作を行う回
路要素を比較器として概念的に図示している。代表的に
示された4個の比較器302A〜302Dは一つのTL
Bエントリの仮想ページ番号が格納されている領域に対
応される比較回路の要素を示すもので、302Aは仮想
アドレスのビット10〜ビット11、302Bは仮想ア
ドレスのビット12〜ビット15、302Cは仮想アド
レスのビット16〜ビット19、302Dは仮想アドレ
スのビット20〜ビット31の比較器動作を行う要素を
想定している。夫々の比較回路302A〜302Dにお
ける比較結果が全ビット一致のとき、比較結果信号は論
理値“1”にされる。
【0051】前記比較器302A〜302Dによる比較
対象は、信号線110を介して供給される仮想ページ番
号の対応ビットとされる。303で示されるものはマス
ク回路であり、サイズビットSZに応じて比較回路30
2A〜302Cによる比較結果をマスクする。即ち、サ
イズビットSZが1Kバイトページを指示するときは比
較回路302A〜302Cの比較結果を一切マスクせ
ず、サイズビットSZが4Kバイトページを指示すると
きは比較回路302Aの比較結果をマスクし、サイズビ
ットSZが64Kバイトページを指示するときは比較回
路302A,302Bの比較結果をマスクし、サイズビ
ットSZが1Mバイトページを指示するときは比較回路
302A〜302Cの比較結果をマスクする。この例に
従えば、マスクされた比較結果は、論理値“1”に強制
されてマスク回路303から出力される。マスク回路3
03の出力及び対応されるTLBエントリの有効ビット
Vは論理積回路304に供給され、論理積回路304の
出力が当該TLBエントリのヒット/ミス信号320と
される。実際には、前記比較回路302A〜302D、
マスク回路303及び論理積回路304はTLBエント
リの4個の格納領域の夫々に対して設けられている。し
たがって、信号線110に与えられる仮想ページ番号を
含むTLBエントリが存在する場合には、当該TLBエ
ントリに対応される論理積回路304の出力が論理値
“1”にされる。
【0052】夫々の前記論理積回路304の出力はデー
タ部301における対応するTLBエントリラインの選
択信号とされ、論理値“1”の選択信号に対応されるT
LBエントリラインの物理ページ番号PPNが信号線1
25に、フラグFLAGが前記アクセス権判定回路40
5に出力される。
【0053】信号線125に与えられた前記物理ページ
番号PPNは、信号線110に与えられた仮想アドレス
のオフセット(物理アドレスのオフセットとされる)等
と一緒に命令キャッシュメモリ5に与えられる。
【0054】また、夫々の前記論理積回路304の出力
は、前記共用TLB4に対して検索リード処理を指示す
るための検索リード制御回路320に供給される。この
検索リード制御回路320は、前記全ての論理積回路3
04の出力が論理値“0”であること(命令TLBミ
ス)を判定すると、共用TLB4から必要な命令TLB
エントリを読み込むための制御を開始する。すなわち、
命令TLBミスに係る仮想ページ番号と必要な制御信号
を信号線115を介して共用TLB4に与える。これに
よって共用TLB4は、アドレス部400を並列アクセ
スして、信号線115から与えられる仮想ページ番号に
一致するTLBエントリを検索する。この検索がヒット
である場合には、ヒットに係るTLBエントリ(VP
N,V,SZ,PPN,FLAG)の全てが信号線11
6を介して命令TLB3に並列的に与えられる(このよ
うに、命令TLB3から検索リード処理が指示された場
合に共用TLB4から外部に出力される情報はアドレス
アレイ400の内容も含んでおり、共用TLB4におけ
る通常の検索リードの場合とは相違される)。命令TL
B3は共用TLB4から供給されるTLBエントリをセ
レクタ309から取り込む。このときのインデックスア
ドレスは、検索リード制御回路320からセレクタ31
0を介してインデックスデコーダ311に与えられる。
このTLBエントリの追加に際して、特に制限されない
が、検索リード制御回路320はLRUの論理によって
TLBエントリのリプレースを行うことができる。
【0055】命令TLB3から共用TLB4への検索リ
ード処理の指示による検索結果が検索ミスである場合に
は、前記TLBミス判定回路406によってTLBミス
例外がCPU2に通知される。それによってCPU2は
前述の通り、そのTLBミス例外に係るエントリを図示
を省略する外部メモリのアドレス変換テーブルから共用
TLB4に追加する。この例外処理の完了後、中断され
た命令が再実行され、それによって、今度は共用TLB
4で検索ヒットが得られる結果、命令TLB3にとって
必要なTLBエントリが、前述のように信号線116を
介して命令TLB3に供給されることになる。
【0056】命令TLB3にTLBエントリが追加され
たとき、追加すべきTLBエントリは信号線116から
セレクタ309でアドレス部300及びデータ部301
に取り込まれる。この時のTLBエントリラインの選択
は、検索リード制御回路320から与えられるインデッ
クスアドレスをセレクタ310で取り込み、これをイン
デックスデコーダ311でデコードして、行なわれる。
セレクタ309,310に対する前記選択制御は特に制
限されないが、検索リード制御回路320が行う。
【0057】尚、詳細については後で説明するが、セル
フテストにおけるTLBエントリ選択のためのインデッ
クスアドレスは信号線119からセレクタ310を介し
て与えられる。セルフテストにおける書込みデータは信
号線119からセレクタ309を介して与えられる。セ
ルフテストにおける読み出し動作はインデックスされた
一つのTLBエントリ全体とされ、インデックスされた
TLBエントリはその全てが信号線118に供給され
る。
【0058】〔命令アクセスにおけるアドレス変換〕こ
こで、命令アクセスにおけるアドレス変換処理の手順を
図5及び図6を参照しながら説明する。CPU2による
命令アクセスが起動されると(CPU2による命令フェ
ッチの開始)、命令TLB3はその命令アドレスに応ず
るTLBエントリの有無を検索し、検索ヒットかミスか
の判定を行い(S1)、検索ヒットであれば、その仮想
アドレスに応ずる物理アドレスを出力する(S2)。ス
テップS1において検索ミスのときは、前記検索リード
制御回路320からの指示に従って、今度は、共用TL
B4がその命令アドレスに応ずるTLBエントリの有無
を検索し(S3)、検索ヒットかミスかの判定を行う
(S4)、検索ヒットであれば、その命令アドレスの仮
想ページ番号に応ずるTLBエントリを命令TLB3に
登録する。登録後、処理はS1に戻される。ステップS
4の判定結果が検索ミスである場合には、TLBミス判
定回路406によってTLBミス例外が発生される。T
LBミス例外が発生されると、CPU2は現在の処理を
中断して退避処理を行い(S10)、ついで、前記ミス
に係る仮想ページ番号のTLBエントリを共用TLB4
に登録し(S11)、最後に復帰処理を行う(S1
2)。復帰後、図5のステップS1の処理に戻される。
このように、命令TLB3の検索ミスに対する処理S
3,S4,S5は、TLBミスに対するハードウェア・
ミスハンドリングで対処している。
【0059】〔データキャッシュメモリ〕図7にはデー
タキャッシュメモリ6の一例が示される。データキャッ
シュメモリ6は最大512個のキャッシュラインを構成
するためのメモリセルアレイを有し、このメモリセルア
レイはアドレスアレイ600とデータアレイ601から
構成される。一つのキャッシュラインは、物理ページ番
号によって構成されるキャッシュタグ(アドレスタグ)
CTAG、有効ビットV、ダーティービットU及びそれ
に対応される32バイトのデータDATAを含む。キャ
ッシュタグCTAG、有効ビットV及びダーティービッ
トUはアドレスアレイ600に、データDATAはデー
タ部601に配置される。有効ビットVはキャッシュラ
インに有効なデータが含まれているかを示し、論理値
“1”で有効、“0”で無効を意味する。ダーティービ
ットUはライトバックモードでデータキャッシュメモリ
6が利用されるときに用いられ、ライトバックモードに
おいて書込みが発生したとき、論理値“1”にされる。
このダーティービットUによって対応するエントリのデ
ータと外部メモリのデータとの不一致を知ることができ
る。このダーティービットUはパワーオンリセットで論
理値“0”に初期化される。
【0060】このデータキャッシュメモリ6は、特に制
限されないが、ダイレクトマップとされる。キャッシュ
ラインの選択はインデックスデコーダ602が行う。イ
ンデックスアドレスは制御回路603からセレクタ60
4を介して供給される。制御回路603は信号線111
から供給される仮想アドレスと信号線120から供給さ
れる物理ページ番号を各部に振り分ける制御を行うと共
に、詳細を後述するRAM領域判定制御手段605、イ
ンデックスモード指定手段630及びI/Oレジスタ領
域検出手段606を備えている。
【0061】インデックスされたキャッシュラインのキ
ャッシュタグは比較器607によって対応する物理ペー
ジ番号と比較される。この物理ページ番号は信号線12
0を介して共用TLB4から供給される。キャッシュタ
グCTAGと物理ページ番号が一致し、有効ビットVが
論理値“1”のとき、比較器607から出力されるキャ
ッシュヒット信号608は論理値“1”(キャッシュヒ
ット)にされる。ゲート609は前記キャッシュヒット
信号608によってキャッシュヒットが通知されたと
き、インデックスされたキャッシュラインのデータを後
段に通過させる。キャッシュヒットによってゲート60
9を通過されたデータはその一部がセレクタ610によ
って選択され、バス制御回路611に与えられる。セレ
クタ610は、オフセットアドレスの一部を利用して選
択動作を行う。そのようなオフセットアドレスの一部は
制御回路603で切り出され、信号線623を介して供
給される。
【0062】前記バス制御回路611は前記セレクタ6
10の出力、CPUバス117、キャッシュデータバス
122、キャッシュアドレスバス121等に接続され、
更に、キャッシュヒット信号608、信号線616から
の物理アドレス、CPU2からのリード信号及びライト
信号615等が供給される。このバス制御回路611
は、セレクタ610から出力されるキャッシュヒットに
係る読み出しデータをCPUバス117に出力する制
御、キャッシュミス時に外部メモリアクセスのための物
理アドレスをキャッシュアドレスバス121に出力する
制御、外部メモリからのデータをセレクタ612を介し
て書込む(キャッシュフィル)制御、キャッシュフィル
されたキャッシュラインのアドレス部にセレクタ622
を介してキャッシュタグCTAGを書込む制御、外部メ
モリへのデータ書き戻し時にデータをキャッシュデータ
バス122に出力し且つ書き戻し先アドレスをキャッシ
ュアドレスバス121に出力する制御などを行う。バス
制御回路611は上記制御のための論理の他に、ライト
バックバッファ613を含んでいる。ライトバックバッ
ファ613は、キャッシュミスによりダーティーなキャ
ッシュエントリ(U=1のキャッシュライン)を外部メ
モリに追い出す必要が生じた場合、キャッシュフィル動
作を優先させて性能を向上させるために、追い出すべき
エントリを格納するためのデータバッファであり、キャ
ッシュ1エントリ分のデータと追い出し先の物理アドレ
スの格納領域を持つ。
【0063】キャッシュライト制御回路614は、デー
タキャッシュメモリ6に対するライトスルーモードとラ
イトバックモードを制御する。何れの動作モードで制御
するかは、TLBエントリに含まれるキャッシュライト
モードビットWTによって決定される。
【0064】前記バス制御回路611及びキャッシュラ
イト制御回路614による制御内容を連想リード動作及
び連想ライト動作に分けて説明する。
【0065】CPU2からキャッシング可能な領域にデ
ータの読出し要求が発行されると、仮想アドレスの一部
によって示されるインデックスアドレスによってキャッ
シュラインが選択され、選択されたキャッシュラインか
らキャッシュタグCTAGが読出される。読出されたキ
ャッシュタグは、共用TLB4から供給される物理ペー
ジ番号と比較される。キャッシュタグが一致し、有効ビ
ットVが論理値“1”の場合にはキャッシュヒットとさ
れ、仮想アドレスのオフセットの一部を利用してセレク
タから例えばロングワードのデータが出力される。読出
されたデータはバス制御回路611によってCPUバス
117に与えられる。タグアドレスが不一致又は有効ビ
ットVが論理値“0”の場合、キャッシュミスとされ、
バス制御回路611は、ミスに係る物理アドレスに対応
される外部メモリからキャッシュ1エントリ分のデータ
をセレクタ612を介して読み込み制御する。このデー
タ読み込み動作をキャッシュフィルと称する。キャッシ
ュフィルによって必要なデータがデータアレイ601に
格納された後、そのキャッシュラインの有効ビットVを
論理値“1”にしてキャッシュタグCTAGを更新し、
CPU2に必要なデータが返される。キャッシュフィル
の際にキャッシュデータアレイ601から追い出される
キャッシュエントリがダーティーだった場合、前記ライ
トバックバッファ613へダーティーなキャッシュエン
トリを追い出した後に、キャッシュのフィルを行う。ラ
イトバックバッファ613から外部メモリへの書き戻し
はキャッシュフィルが完了されてから行われる。
【0066】CPU2からキャッシング可能な領域にデ
ータの書込み要求が発行されると、リード動作と同様に
してキャッシュのヒット判定が行われる。キャッシュヒ
ットの場合、ライトバックモードが指示されている場合
には、ヒットしたキャッシュエントリにデータを書込
み、ダーティービットU=1にする。ライトスルーモー
ドなら、ヒットしたエントリにデータを書込んだ後、外
部メモリへデータを書込む。この場合ダーティービット
Uに対する操作は行わない。キャッシュミスした場合に
は、ライトバックモードなら、キャッシュにフィルを行
い、有効ビットV=1、ダーティービットU=1にし
て、キャッシュタグを更新して、データキャッシュメモ
リへの書込みを行う。ライトスルーモードの場合には、
キャッシュミスにおいて書込みは外部メモリに対してだ
け行われる。キャッシュフィルは行われない。ライトバ
ックモードでキャッシュミスをした場合、キャッシュフ
ィル動作によって追い出されるエントリがダーティーだ
った時の処理は、リード動作と同じである。
【0067】データキャッシュメモリ6はRAMモード
及びインデックスモードを有する。RAMモードとはデ
ータアレイ601の半分をRAMとしてランダムアクセ
ス可能にする動作モードである。RAMモードにおいて
キャッシュエントリ0〜127及び256〜383はキ
ャッシュメモリとして機能され、キャッシュエントリ1
28〜255及び384〜511までがランダムアクセ
ス可能にされる。インデックスモードとはキャッシュラ
インを選択する仮想アドレスのビット位置を切り換える
ことによりキャッシュメモリを分割して仮想アドレス空
間に割り当てる動作モードである。RAMモード及びイ
ンデックスモードは制御レジスタ620の所定の制御ビ
ットが論理値“1”にさることによって夫々独立に選択
される。RAMモードでもインデックスモードでもない
場合はアドレスアレイ600及びデータアレイ601は
全てキャッシュメモリとして利用される。
【0068】データキャッシュメモリのRAM領域は、
データプロセッサ1の仮想アドレス空間を示す図8に記
載される様に、0x7C00 0000〜0x7FFF FFFFにマッピング
されている。0xは16進数であることを意味する。
【0069】前記RAM領域判定制御手段605は、R
AM領域に対するランダムアクセス動作とキャッシュメ
モリとしての動作とを切換え制御する。例えば図9に示
されるように、仮想アドレスの上位6ビットs2_a[31]〜
s2_a[26]によって0x7Cを検出するためにインバータIN
V1,6入力アンドゲートAND1が設けられている。
図9においてs2_a[13]〜s2_a[5]は仮想アドレスに含ま
れる9ビットであり、インデックス用のアドレスとみな
される。アンドゲートAND1の出力とアドレスビット
s2_a[12]はセレクタSEL1によってその何れか一方が
選択される。セレクタSEL1の選択動作は制御信号6
21によって制御される。制御信号621は制御レジス
タ620の1ビットに応じた論理値とされ、その1ビッ
トはRAMモードを指定するための制御ビットである。
RAMモードが指定されると、セレクタSEL1はアン
ドゲートAND1の出力を選択する。アンドゲートAN
D1の出力は、仮想アドレスの上位6ビットs2_a[31]〜
s2_a[26]が0x7Cである場合にだけ論理値“1”にされ、
それ以外では論理値“0”にされる。したがって、RA
Mモードでは、仮想アドレスの上位6ビットs2_a[31]〜
s2_a[26]が0x7Cの場合には、アドレスアレイ600及び
データアレイ601はエントリ128〜255及び38
4〜511の領域がインデックスの対象とされる。それ
以外のアドレスではエントリ0〜127及び256〜3
83の領域がインデックスの対象とされる。RAMモー
ドにおいて、アンドゲートAND1の出力信号が論理値
“1”のときは、ゲート609及びバス制御回路611
はキャッシュヒット信号608をマスクする。そして、
データアレイ601側のセレクタ610及びバス制御回
路611は、仮想アドレスの残りの一部s2_a[23]〜s2_a
[14]とs2_a[4]〜s2_a[2]を用いてデータアレイ601か
ら32ビット単位でのランダムリードを可能にする。デ
ータアレイ601に対してランダムライトを行うとき、
ライトデータは、CPUバス117からセレクタ612
を介して供給される。ランダムライトにおけるセレクタ
612の制御はランダムリードと同様にバス制御回路6
11が前記一部の仮想アドレスs2_a[23]〜s2_a[14]とs2
_a[4]〜s2_a[2]を用いて行う。
【0070】前記RAMモードにおけるランダムアクセ
スは、仮想空間にマッピングされたRAM領域に対する
直接的なアクセスであるから、そのアクセスはCPUバ
ス117とCPU2との間で行われることになる。デー
タキャッシュメモリ6は、RAMモードが設定されてい
る場合にも、RAM領域以外のメモリアクセスに対して
はデータキャッシュメモリ6の半分の記憶領域を用いて
依然として上記キャッシュ動作を行うことができる。R
AM動作かキャッシュ動作かは、上記の説明に従えば、
図9のアンドゲートAND1の出力に基づいて決定され
る。
【0071】前記インデックスモード指定手段630
は、キャッシュラインを選択する仮想アドレスのビット
位置を切り換えることにより、キャッシュメモリを分割
して仮想アドレス空間に割り当てる。例えば図9に示さ
れるように、仮想アドレスの25ビット目s2_a[25]と13
ビット目s2_a[13]をセレクタSEL2により選択する。
セレクタSEL2の出力は前記RAMモードを使用しな
い場合、仮想アドレスのs2_a[12]〜s2_a[5]と共にイン
デックスに用いられる。セレクタSEL2の選択動作は
制御信号621によって制御される。制御信号621は
制御レジスタ620の1ビットに応じた論理値とされ、
その1ビットはインデックスモードを指定するための制
御ビットである。インデックスモードが指定されると、
セレクタSEL2は、s2_a[25]を選択する。インデック
スモードが指定されていない場合には、s2_a[23]を選択
する。インデックスモードが指定されると、s2_a[25]が
インデックスに用いられるため、32Mバイト毎にデー
タキャッシュメモリの上記側、下位側の使用に分かれる
ことになる。プログラムを32Mバイト境界に配置する
ことにより、データキャッシュメモリを擬似的に2ウェ
イセットアソシアティブに扱うことができる。
【0072】前記I/Oレジスタ領域判定手段606
は、共用TLB4から供給される物理ページ番号がI/
Oレジスタ領域に割り当てられているページ番号に一致
するかを判定する。即ち、データプロセッサ1において
は、図10に例示されるように、物理アドレス空間にお
ける0x1F00 0000〜0x1FFF FFFFはI/Oレジスタ領域に
割り当てられている。I/Oレジスタ領域とは、周辺モ
ジュール8に含まれるレジスタやデータキャッシュメモ
リ6に含まれる制御レジスタ620のようなレジスタ等
が割り当てられる領域を意味し、CPU2の汎用レジス
タのようなレジスタや、データプロセッサが浮動小数点
ユニットを含む場合には浮動小数点レジスタのようなレ
ジスタを除外する意味である。このように、I/Oレジ
スタ領域とは、それがマッピングされたアドレスを指定
してアクセスされる性質のレジスタ領域である。I/O
レジスタ領域検出手段606は、共用TLB4による連
想ヒットの結果出力される物理ページ番号の上位5ビッ
トが全ビット論理値“1”(0x1F)であるかを判定す
る。I/Oレジスタ空間へのアクセスであることが検出
されると、信号624によってそれがバス制御回路61
1に与えられる。これによってバス制御回路611は、
前記データキャッシュメモリ6のキャッシュ動作(連想
検索動作)によるデータの入出力を抑止するとともに、
そのI/Oレジスタを直接アクセスするためのバス制御
を行う。このバス制御には、共用TLB4を介してバス
制御回路611に与えられる物理アドレスを利用する。
このときも、図2で説明したアクセス権保護回路405
がTLBエントリに含まれる保護情報(FLAGに含ま
れる)を監視しているので、I/Oレジスタ空間に対し
ても記憶保護を行うことができる。このように、物理ア
ドレス空間(物理メモリ上のアドレス空間)に仮想アド
レス空間(仮想メモリ上のアドレス空間)からI/Oレ
ジスタ領域(I/Oレジスタ空間)をマッピングするこ
とにより、I/Oレジスタ空間に対しても記憶保護を行
うことができる。
【0073】尚、セルフテストモードにおいてデータキ
ャッシュメモリ6には信号線119を介して書込みデー
タとアドレス信号が供給され、アドレス信号はセレクタ
604を介してインデックスデコーダ602に供給され
る。書込みデータはセレクタ612,622を介してデ
ータアレイ601及びアドレスアレイ600に供給され
る。アドレスアレイ600及びデータアレイ601から
の読み出しデータは専用の信号線127を介してセルフ
テスト回路9に与えられる。
【0074】〔命令キャッシュメモリ〕図11には命令
キャッシュメモリ7の一例が示される。命令キャッシュ
メモリ5は、その性質上、ライトバック/ライトスルー
の切換え機能、I/Oレジスタ領域に対する直接アクセ
ス機能を有していない点を除けば、基本的な構成はデー
タキャッシュメモリ6と殆ど同じである。ここでは、デ
ータキャッシュメモリ6との相違点を中心に説明する。
【0075】命令キャッシュメモリ5は最大256個の
キャッシュラインを構成するためのメモリセルアレイを
有し、このメモリセルアレイはアドレスアレイ500と
データアレイ501から構成される。一つのキャッシュ
ラインは、物理ページ番号によって構成されるキャッシ
ュタグ(アドレスタグ)CTAG、有効ビットV及びそ
れに対応される16個の命令ISTを含む。キャッシュ
タグCTAG及び有効ビットVはアドレスアレイ500
に、命令ISTはデータアレイ501に配置される。
【0076】この命令キャッシュメモリ5は特に制限さ
れないが、ダイレクトマップとされる。キャッシュライ
ンの選択はインデックスデコーダ502が行う。インデ
ックスアドレスは制御回路503からセレクタ504を
介して供給される。制御回路503は信号線110から
供給される仮想アドレスと信号線125から供給される
物理ページ番号を各部に振り分ける制御を行うと共に、
RAM領域判定制御手段505及びインデックスモード
指定手段530を備えている。
【0077】インデックスされたキャッシュラインのキ
ャッシュタグは比較器507にて対応する物理ページ番
号と比較される。この物理ページ番号は信号線125を
介して命令TLB3から供給される。キャッシュタグと
物理ページ番号が一致し、有効ビットVが論理値“1”
のとき(キャッシュヒット)、比較器507から出力さ
れるキャッシュヒット信号508は論理値“1”にされ
る。ゲート509は前記キャッシュヒット信号508に
よってキャッシュヒットが通知されたとき、インデック
スされたキャッシュラインのデータを後段に通過させ
る。キャッシュヒットによってゲート509を通過され
たデータはその一部がセレクタ510によって選択さ
れ、バス制御回路511に与えられる。セレクタ510
は、オフセットアドレスの一部を利用して選択動作を行
う。そのようなオフセットアドレスの一部は制御回路5
03で切り出され、信号線523を介して供給される。
【0078】前記バス制御回路511は前記セレクタ5
10の出力、CPUバス117、キャッシュデータバス
122、キャッシュアドレスバス121、信号線114
等に接続され、更に、キャッシュヒット信号508、信
号線516からの物理アドレス、CPU2からのリード
信号及びライト信号515等が供給される。このバス制
御回路511は、セレクタ510から出力されるキャッ
シュヒットに係る読み出しデータを信号線114に出力
する制御、キャッシュミス時に外部メモリアクセスのた
めの物理アドレスをキャッシュアドレスバス121に出
力する制御、外部メモリからのデータをセレクタ512
を介して書込む(キャッシュフィル)制御、キャッシュ
フィルされたキャッシュラインのアドレス部にセレクタ
522を介してキャッシュタグCTAGを書込む制御な
どを行う。
【0079】前記バス制御回路511による制御内容を
説明する。CPU2からキャッシング可能な領域に命令
の読出し要求が発行されると、仮想アドレスの一部によ
って示されるインデックスアドレスによってキャッシュ
ラインが選択され、選択されたキャッシュラインからキ
ャッシュタグが読出される。読出されたキャッシュタグ
は、命令TLB3から供給される物理ページ番号と比較
される。キャッシュタグが一致し、有効ビットVが論理
値“1”の場合にはキャッシュヒットとされ、仮想アド
レスのオフセットの一部を利用してセレクタ510から
例えばロングワードのデータが出力される。読出された
データはバス制御回路511により信号線114を介し
てCPU2に与えられる。タグアドレスが不一致又は有
効ビットVが論理値“0”の場合、キャッシュミスとさ
れ、バス制御回路511は、ミスに係る物理アドレスに
対応される外部メモリからキャッシュ1エントリ分のデ
ータをセレクタ512を経由して読み込む。このデータ
読み込み動作をキャッシュフィルと称する。キャッシュ
フィルによって必要なデータがデータアレイ501に格
納された後、そのキャッシュラインの有効ビットVを論
理値“1”にして、セレクタ522を介してキャッシュ
タグCTAGを更新し、CPU2に必要なデータが返さ
れる。CPU2の命令フェッチに際して命令ライトはな
いため、キャッシュフィルに際して古いキャッシュエン
トリが命令キャッシュメモリ5から追い出されても、外
部メモリへの書き戻しは必要ない。
【0080】命令キャッシュメモリ5も上記同様のRA
Mモード及びインデックスモードを有する。RAMモー
ドが設定されると、データアレイ501の半分がRAM
としてランダムアクセス可能にされる。RAMモードに
おいてキャッシュエントリ0〜63及び128〜191
はキャッシュメモリとして機能され、キャッシュエント
リ64〜127及び192〜255までがランダムアク
セス可能にされる。RAMモード及びインデックスモー
ドは制御レジスタ520の所定の制御ビットが論理値
“1”にさることによって夫々独立に選択される。そう
でない場合はアドレスアレイ及びデータアレイ501は
全てキャッシュメモリとして利用される。
【0081】命令キャッシュメモリ5のRAM領域は、
データプロセッサ1の仮想アドレス空間を示す図8に例
示される様に、0x7C00 0000〜0x7FFF FFFFにマッピング
されている。
【0082】前記RAM領域判定制御手段505は、R
AM領域に対するランダムアクセス動作とキャッシュメ
モリとしての動作とを切換え制御する。その論理は図9
と同様に構成出来るが、キャッシュラインの数がデータ
キャッシュメモリの半分であるためインデックス位置が
1ビット下位へずれる。動作モードの設定は制御レジス
タ520の1ビットによって決定され、当該ビットの値
は制御信号521によってRAM領域判定制御手段50
5に与えられる。RAMモードが指定されたとき、仮想
アドレスの上位16ビットが0x7Cの場合には、アドレス
アレイ500及びデータアレイ501はエントリ64〜
127及び192〜255の領域がインデックスの対象
とされる。それ以外のアドレスではエントリ0〜63及
び128〜191の領域がインデックスの対象とされ
る。RAMモードにおいて、アクセスアドレスがRAM
領域であるなら、ゲート509及びバス制御回路511
はキャッシュヒット信号508をマスクし、セレクタ5
10及びバス制御回路511はデータアレイ501から
32ビット単位でのランダムリードを可能にする。
【0083】前記RAMモードにおけるランダムアクセ
スは、仮想空間にマッピングされたRAM領域に対する
直接的なアクセスであるから、そのアクセスは信号線1
14とCPU2との間で行われることになる。命令キャ
ッシュメモリ5はRAMモードが設定されている場合に
も、RAM領域以外のメモリアクセスに対しては命令キ
ャッシュメモリ5の半分の記憶領域を用いて、依然とし
て上記キャッシュ動作を行うことができる。
【0084】前記インデックスモード指定手段530
は、キャッシュラインを選択する仮想アドレスのビット
位置を切り換えることにより、キャッシュメモリを分割
して仮想アドレス空間に割り当てる。その論理は図9と
同様に構成できるが、キャッシュラインの数がデータキ
ャッシュメモリの半分であるためインデックスの位置が
1ビット下位へずれる。
【0085】インデックスモード選択動作は制御信号5
21によって制御される。制御信号521は制御レジス
タ520の1ビットに応じた論理値とされ、その1ビッ
トはインデックスモードを指定するための制御ビットで
ある。インデックスモードが指定されると、仮想アドレ
スの25ビット目がインデックスに用いられるため、3
2Mバイト毎に命令キャッシュメモリの上記側、下位側
の使用が別れることになる。プログラムを32Mバイト
境界に配置することにより、命令キャッシュメモリを擬
似的に2ウェイセットアソシアティブに扱うことができ
る。
【0086】尚、セルフテストモードにおいて命令キャ
ッシュメモリ5には信号線119を介して書込みデータ
とアドレス信号が供給され、アドレス信号はセレクタ5
04を介してインデックスデコーダ502に供給され
る。書込みデータはセレクタ512,522を介してデ
ータアレイ501及びアドレスアレイ500に供給され
る。アドレスアレイ500及びデータアレイ501から
の読み出しデータは専用の信号線126を介してセルフ
テスト回路9に与えられる。
【0087】〔セルフテスト回路〕図12にはセルフテ
スト回路9のブロック図が示される。このセルフテスト
回路9は、テスト設定回路900でテストデータを前記
命令TLB3、共用TLB4、命令キャッシュメモリ5
及びデータキャッシュメモリ6に書込み、書込んだデー
タを夫々、命令TLB判定回路903、共用TLB判定
回路904、命令キャッシュ判定回路905及びデータ
キャッシュ判定回路906に供給する。それぞれの判定
回路903〜906は例えば対応する書込みデータと読
み出しデータとの一致を判定する。判定結果は結果レジ
スタ907に保持され、バス制御回路908を介してC
PU2によってリード可能にされる。
【0088】上記セルフテストの起動はCPU2からの
信号112によって起動判定回路909が判定する。セ
ルフテストの起動が指示されると、起動判定回路909
はステートマシン910を起動してテスト動作のための
制御サイクルを順次繰り返す。テスト制御回路900は
その制御サイクルに同期して、命令TLB3、共用TL
B4、命令キャッシュメモリ5及びデータキャッシュメ
モリ6への書込みサイクルと読出しサイクルを起動し、
命令TLB判定回路903、共用TLB判定回路90
4、命令キャッシュ判定回路905及びデータキャッシ
ュ判定回路906の判定動作を制御する。1回の判定結
果がCPU2に読み込まれた後、更新回路911によっ
て結果レジスタ907が初期値に更新され、それら動作
が最後まで繰り返される。セルフテストの完了はステー
トマシン910の出力に基づいてテスト完了判定回路9
12が判定し、その結果を信号113にてCPU2に返
す。テスト設定回路900に対する書込みデータや書込
みアドレスなどのテスト条件の設定は、信号112を介
して制御されるレジスタ設定回路913が行う。
【0089】〔データ処理システム〕図13には上記デ
ータプロセッサ1を適用したデータ処理システムの一例
が示される。同図において1は上記データプロセッサ、
11はダイナミック・ランダム・アクセス・メモリ(D
RAM)、12はDRAM11に対するアドレスマルチ
プレクス制御やリフレッシュ制御を行うDRAM制御
部、13はSRAMである。SRAM13はデータプロ
セッサ1の作業領域やデータの一時記憶領域などに利用
される。14はデータプロセッサ1のOS(Operating
System)などを保有するROMである。15は周辺装置
制御部であり、代表的に示された外部記憶装置16及び
キーボード17が接続されている。18はフレームバッ
ファ19や図示しない描画及び表示制御論理回路を備え
た表示コントローラであり、ディスプレイ20に対する
描画制御と表示制御を行う。21は電源回路、22は代
表的に示されたバスである。
【0090】前記DRAM11、SRAM13及びRO
M14などはデータプロセッサ1の外部メモリを構成
し、外部記憶装置16は外部メモリの二次記憶として利
用される。アドレス変換テーブルは例えばSRAM又は
DRAMに形成される。
【0091】〔データプロセッサの優位性〕以上説明し
たデータプロセッサ1によれば、アドレス変換バッファ
(TLB)3,4をデータ用と命令用に分け、データ用
のアドレス変換バッファ4には命令用のアドレス変換情
報も格納させ、命令用のアドレス変換バッファ3で変換
ミスを生じたときは、新たなアドレス変換情報をデータ
用のアドレス変換バッファ4から取り込む。したがっ
て、命令用のアドレス変換バッファ3で変換ミスを生じ
たときは、新たなアドレス変換情報をデータ用のアドレ
ス変換バッファ4から取り込むので、変換ミスの度に毎
回外部のアドレス変換テーブルからアドレス変換情報を
取得する場合に比べて、アドレス変換動作の高速化を実
現できる。これによってメモリアクセスの高速化を達成
することができる。
【0092】キャッシュメモリ5,6の一部の領域だけ
を選択的にランダム・アクセス・メモリとして動作させ
ることができる。これによれば、データキャッシュメモ
リ6及び命令キャッシュメモリ5のRAM領域はランダ
ムアクセスされ、双方のキャッシュメモリ5,6の残り
の領域では連想検索が行われるキャッシュメモリとして
動作されるから、特にアクセスの高速化を必要とする所
望の命令やデータを常にキャッシュメモリ5,6に留ま
らせることと、最近用いた命令及びデータをキャッシュ
メモリ5,6に留まらせておくととの双方を満足でき、
データ処理速度の向上に寄与することができる。
【0093】キャッシュメモリ5,6のラインを選択す
るためのインデックスアドレスを切り換えることができ
る。これにより、キャッシュメモリのラインの選択に仮
想アドレスのより上位側のビットを選択的に用いること
ができるため、擬似的にダイレクトマップのキャッシュ
メモリをセットアソシアティブのキャッシュメモリとし
て扱うことができ、データ処理速度の向上に寄与するこ
とができる。
【0094】物理アドレス空間に仮想アドレス空間から
I/Oレジスタ領域をマッピングする。このとき、TL
Bエントリはページに対するアクセス権を規定する保護
情報を有し、アクセス権判定回路405は連想ヒットに
係る変換情報の保護情報に基づいて当該ページに対する
アクセス権を判定する。したがって、I/Oレジスタ空
間に対しても記憶保護を行うことができる。
【0095】共用TLB4のエントリは、前記データキ
ャッシュメモリ6に対してライトスルー又はライトバッ
クの何れを採用するかを規定するためのキャッシュライ
トモードビットWTを有し、キャッシュライト制御回路
614がページ単位でキャッシュライトモードビットW
Tを参照してキャッシュライトの制御形態を決定する。
ライトスルーモードの場合には、キャッシュメモリと外
部メモリの内容は常に一致されるが、外部メモリアクセ
スが多くなる。ライトバックモードにおいては外部メモ
リアクセスは少なくなるが、キャッシュメモリと外部メ
モリとの内容が不一致にされる期間が存在し、複数のキ
ャッシュメモリが外部メモリを共有する場合にはキャッ
シュメモリと外部メモリとの一貫性を保つことができな
くなることがある。ページ単位でライトスルーモード又
はライトバックモードを選択可能であるから、キャッシ
ュメモリと外部メモリの一貫性とアクセス速度との関係
を、システム構成やプロセスの内容に応じて最適化する
ことが可能になる。
【0096】したがって、上記データプロセッサ1を適
用したデータ処理システムは、データ処理効率を向上さ
せることができる。また、キャッシュメモリの利用形態
等の点において、要求の異なった種々のシステムに適応
することができる。
【0097】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
【0098】例えば、命令TLBや共用TLBはダイレ
クトマップ或いはセット・アソシアティブ形式で構成す
ることも可能である。データキャッシュメモリや命令キ
ャッシュメモリについても、セット・アソシアティブ形
式を採用することが可能である。また、命令TLB等に
接続されるセルフテストのためのデータパスは専用化し
なくてもよく、ゲート制御等によって兼用化することも
可能である。また、データプロセッサは浮動小数点ユニ
ットなどの別の回路モジュールを備えることも可能であ
る。
【0099】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0100】すなわち、命令用のアドレス変換バッファ
でに変換ミスを生じたときは、新たなアドレス変換情報
をデータ用のアドレス変換バッファから取り込むので、
変換ミスの度に毎回外部のアドレス変換テーブルからア
ドレス変換情報を取得する場合に比べて、アドレス変換
動作の高速化を実現出来る。これによってメモリアクセ
スの高速化を達成することが可能になる。
【0101】データキャッシュメモリや命令キャッシュ
メモリは、その一部の記憶領域をランダムアクセス可能
にし、残りの記憶領域では連想検索によるキャッシュメ
モリ動作を可能にするから、特にアクセスの高速化を必
要とする所望の命令やデータを常にキャッシュメモリに
留まらせることと、最近用いた命令及びデータをキャッ
シュメモリに留まらせておくととの双方を満足でき、デ
ータ処理速度の向上に寄与することができる。
【0102】データキャッシュメモリや命令キャッシュ
メモリはインデックスアドレスの指定ビットを切り換え
ることができるため、大きなアドレス空間毎にキャッシ
ュメモリを分割して使うことが可能になり、データ処理
速度の向上に寄与することができる。
【0103】物理アドレス空間に仮想アドレス空間から
I/Oレジスタ領域をマッピングすることにより、I/
Oレジスタ空間に対しても記憶保護を行うことができ
る。
【0104】ページ単位でライトスルーモードとライト
バックモードを選択可能であるから、キャッシュメモリ
と外部メモリの一貫性とアクセス速度との関係を、シス
テム構成やプロセスの内容に応じて最適化することが可
能になる。
【図面の簡単な説明】
【図1】本発明の一例に係るデータプロセッサのブロッ
ク図である。
【図2】共用TLBの一例を示すブロック図である。
【図3】ページサイズの説明図である。
【図4】命令TLBの一例を示すブロック図である。
【図5】命令アクセスにおけるアドレス変換処理の手順
を示すフローチャートである。
【図6】TLBミスに対する例外処理の概略を示すフロ
ーチャートである。
【図7】データキャッシュメモリの一例を示すブロック
図である。
【図8】仮想アドレス空間のアドレスマップである。
【図9】RAM領域判定制御手段及びインデックスモー
ド指定手段の一例を示すブロック図である。
【図10】物理アドレス空間のアドレスマップである。
【図11】命令キャッシュメモリの一例を示すブロック
図である。
【図12】セルフテスト回路の一例を示すブロック図で
ある。
【図13】図1のデータプロセッサを適用したデータ処
理システムの一例を示すブロック図である。
【符号の説明】
1 データプロセッサ 2 CPU 3 命令TLB 11 DRAM 13 SRAM 14 ROM 16 外部記憶装置 300 アドレスアレイ 301 データアレイ 302A〜302D 比較器 305 アクセス権判定回路 320 検索リード制御回路 4 共用TLB 400 アドレスアレイ 401 データアレイ 402A〜402D 比較器 406 TLBミス判定回路 405 アクセス権判定回路 5 命令キャッシュメモリ 500 データアレイ 501 アドレスアレイ 505 RAM領域判定制御手段 511 バス制御回路 6 データキャッシュメモリ 600 データアレイ 601 アドレスアレイ 605 RAM領域判定制御手段 606 I/Oレジスタ領域検出手段 611 バス制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 成田 進 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 伊藤 雅之 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 戸田 誠 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 内山 邦男 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、 前記中央処理装置が出力する仮想アドレスを物理アドレ
    スに変換するためのアドレス変換情報の一部が格納さ
    れ、前記仮想アドレスに応ずる物理アドレスをアドレス
    変換情報から連想検索する第1のアドレス変換バッファ
    と、 第1のアドレス変換バッファが保有するアドレス変換情
    報の内の命令アドレスに関するアドレス変換情報を格納
    し、命令フェッチに際して前記中央処理装置が出力する
    仮想アドレスに応ずる物理アドレスをアドレス変換情報
    から連想検索し、連想検索の結果が検索ミスであると
    き、当該検索ミスに係る仮想アドレスによって前記第1
    のアドレス変換バッファを連想検索させ、この連想検索
    によって検索されたアドレス変換情報を取得する第2の
    アドレス変換バッファと、を含んで成るものであること
    を特徴とするデータプロセッサ。
  2. 【請求項2】 中央処理装置と、 前記中央処理装置が取扱う仮想アドレスを物理アドレス
    に変換するためのアドレス変換情報の一部が格納され、
    中央処理装置が出力する仮想ページ番号に応ずる物理ペ
    ージ番号をアドレス変換情報から連想検索する第1のア
    ドレス変換バッファと、 第1のアドレス変換バッファが保有するアドレス変換情
    報の内の命令アドレスに関するアドレス変換情報を格納
    し、命令フェッチに際して前記中央処理装置が出力する
    仮想ページ番号に応ずる物理ページ番号をアドレス変換
    情報から連想検索する第2のアドレス変換バッファと、 前記第2のアドレス変換バッファによる連想検索の結果
    が検索ミスであるとき、当該検索ミスに係る仮想ページ
    番号によって前記第1のアドレス変換バッファを連想検
    索させ、この連想検索によって検索されたアドレス変換
    情報を前記第2のアドレス変換バッファに与えるバッフ
    ァ制御手段と、を含んで成るものであることを特徴とす
    るデータプロセッサ。
  3. 【請求項3】 前記第2のアドレス変換バッファによる
    連想検索の結果が検索ミスであって、当該検索ミスに係
    る仮想ページ番号による前記第1のアドレス変換バッフ
    ァの連想検索の結果が検索ミスであるとき、前記中央処
    理装置は例外処理によって前記検索ミスに係る仮想ペー
    ジ番号を含むアドレス変換情報を前記第1のアドレス変
    換バッファに書込み制御するものであることを特徴とす
    る請求項2記載のデータプロセッサ。
  4. 【請求項4】 物理ページ番号に対応させてデータのキ
    ャッシュエントリが格納され、前記第1のアドレス変換
    バッファによって連想検索された物理ページ番号が供給
    され、これに対応されるキャッシュエントリを連想検索
    するデータキャッシュメモリを更に含んで成るものであ
    ることを特徴とする請求項2記載のデータプロセッサ。
  5. 【請求項5】 前記データキャッシュメモリの一部は仮
    想アドレスによって規定される所定の領域にマッピング
    され、前記所定の領域へのアクセスを検出して前記デー
    タキャッシュメモリをランダムアクセス動作させる第1
    のRAM領域判定制御手段を更に備えて成るものである
    ことを特徴とする請求項4記載のデータプロセッサ。
  6. 【請求項6】 物理ページ番号に対応させて命令のキャ
    ッシュエントリが格納され、前記第2のアドレス変換バ
    ッファによって連想検索された物理ページ番号が供給さ
    れ、これに対応されるキャッシュエントリを連想検索す
    る命令キャッシュメモリを更に含んで成るものであるこ
    とを特徴とする請求項2記載のデータプロセッサ。
  7. 【請求項7】 前記命令キャッシュメモリの一部は仮想
    アドレスによって規定される所定の領域にマッピングさ
    れ、前記所定の領域へのアクセスを検出して前記命令キ
    ャッシュメモリをランダムアクセス動作させる第2のR
    AM領域判定制御手段を更に備えて成るものであること
    を特徴とする請求項6記載のデータプロセッサ。
  8. 【請求項8】 前記第1のアドレス変換バッファに格納
    される変換情報はページに対するアクセス権を規定する
    保護情報を有し、連想ヒットに係る変換情報の保護情報
    に基づいて当該ページに対するアクセス権を判定するア
    クセス保護手段を更に備えて成るものであることを特徴
    とする請求項4記載のデータプロセッサ。
  9. 【請求項9】 前記第1のアドレス変換バッファによる
    連想検索による連想ヒットによって出力される物理ペー
    ジ番号を入力し、入力した物理ページ番号がデータプロ
    セッサ内部のI/Oレジスタ空間に割り当てられた物理
    ページに一致するかを判定し、一致検出によって前記デ
    ータキャッシュメモリの連想検索動作を抑止すると共
    に、I/Oレジスタを直接アクセスさせる検出手段を更
    に備えて成るものであることを特徴とする請求項8記載
    のデータプロセッサ。
  10. 【請求項10】 前記第1のアドレス変換バッファに格
    納される変換情報は、前記データキャッシュメモリに対
    する書込み制御形態としてライトスルー又はライトバッ
    クの何れを採用するかを規定するためのキャッシュライ
    トモード規定情報を有し、連想ヒットに係る変換情報に
    含まれる前記キャッシュライトモード情報に基づいて当
    該ページに対するキャッシュライトの形態を制御するキ
    ャッシュライト制御手段を更に備えて成るものであるこ
    とを特徴とする請求項4記載のデータプロセッサ。
  11. 【請求項11】 第1のインデックスモード指定回路を
    更に含み、前記第1のインデックスモード指定回路は、
    前記仮想アドレスの特定ビットと、当該特定ビットより
    も上位のビットとを切り換えて前記データキャッシュメ
    モリに供給するものであることを特徴とする請求項4又
    は5記載のデータプロセッサ。
  12. 【請求項12】 第2のインデックスモード指定回路を
    更に含み、前記第2のインデックスモード指定回路は、
    前記仮想アドレスの特定ビットと、当該特定ビットより
    も上位のビットとを切り換えて前記命令キャッシュメモ
    リに供給するものであることを特徴とする請求項6又は
    7記載のデータプロセッサ。
  13. 【請求項13】 中央処理装置と、 キャッシュメモリと、 前記中央処理装置が出力する仮想アドレスの特定ビット
    と、当該特定ビットよりも上位のビットとを切り換え、
    前記キャッシュメモリにおける格納先のキャッシュエン
    トリを選択する選択回路と、を含んで成るものであるこ
    とを特徴とするデータプロセッサ。
  14. 【請求項14】 前記キャッシュメモリは、物理ページ
    番号に対応させてデータのキャッシュエントリが格納さ
    れ、アドレス変換バッファによって連想検索された物理
    ページ番号が供給され、これに対応されるキャッシュエ
    ントリを連想検索するデータキャッシュメモリであるこ
    とを特徴とする請求項13記載のデータプロセッサ。
  15. 【請求項15】 前記キャッシュメモリは、物理ページ
    番号に対応させて命令のキャッシュエントリが格納さ
    れ、アドレス変換バッファによって連想検索された物理
    ページ番号が供給され、これに対応されるキャッシュエ
    ントリを連想検索する命令キャッシュメモリであること
    を特徴とする請求項13記載のデータプロセッサ。
  16. 【請求項16】 前記第1のアドレス変換バッファの容
    量は第2アドレス変換バッファの容量より大きいもので
    あることを特徴とする請求項1乃至12の何れか1項記
    載のデータプロセッサ。
  17. 【請求項17】 データプロセッサと、前記データプロ
    セッサに接続された外部メモリとを含むデータ処理シス
    テムであって、前記データプロセッサは、 中央処理装置と、 前記中央処理装置が取り扱う仮想アドレスを物理アドレ
    スに変換するためのアドレス変換情報の一部が格納さ
    れ、中央処理装置が出力する仮想ページ番号に応ずる物
    理ページ番号をアドレス変換情報から連想検索する第1
    のアドレス変換バッファと、 前記第1のアドレス変換バッファが保有するアドレス変
    換情報の内の命令アドレスに関するアドレス変換情報を
    格納し、命令フェッチに際して前記中央処理装置が出力
    する仮想ページ番号に応ずる物理ページ番号をアドレス
    変換情報から連想検索し、連想検索の結果が検索ミスで
    あるとき、当該検索ミスに係る仮想ページ番号によって
    前記第1のアドレス変換バッファを連想検索させ、この
    連想検索によって検索されたアドレス変換情報を取得す
    る第2のアドレス変換バッファと、を含んで成るもので
    あることを特徴とするデータ処理システム。
  18. 【請求項18】 前記外部メモリは前記仮想アドレスを
    前記物理アドレスに変換するためのアドレス変換情報を
    格納し、前記アドレス変換情報の内最近利用された一部
    のものが前記データプロセッサのオペレーティングシス
    テムの制御により、前記外部メモリから前記第1又は第
    2のアドレス変換バッファに格納されるものであること
    を特徴とする請求項17記載のデータ処理システム。
  19. 【請求項19】 前記データキャッシュメモリの検索結
    果がリードミスの場合、ミスに係るデータを含む1キャ
    ッシュライン分の情報が前記外部メモリから読み出され
    て前記データキャッシュメモリに格納されるものである
    ことを特徴とする請求項17記載のデータ処理システ
    ム。
  20. 【請求項20】 前記命令キャッシュメモリの検索結果
    がリードミスの場合、ミスに係る命令を含む1キャッシ
    ュライン分の情報が前記外部メモリから読み出されて前
    記命令キャッシュメモリに格納されるものであることを
    特徴とする請求項17記載のデータ処理システム。
JP9280207A 1996-10-16 1997-10-14 データプロセッサ及びデータ処理システム Withdrawn JPH10177520A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9280207A JPH10177520A (ja) 1996-10-16 1997-10-14 データプロセッサ及びデータ処理システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-273431 1996-10-16
JP27343196 1996-10-16
JP9280207A JPH10177520A (ja) 1996-10-16 1997-10-14 データプロセッサ及びデータ処理システム

Publications (1)

Publication Number Publication Date
JPH10177520A true JPH10177520A (ja) 1998-06-30

Family

ID=26550656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9280207A Withdrawn JPH10177520A (ja) 1996-10-16 1997-10-14 データプロセッサ及びデータ処理システム

Country Status (1)

Country Link
JP (1) JPH10177520A (ja)

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6412047B2 (en) 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6496905B1 (en) 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6915406B2 (en) 2002-07-05 2005-07-05 Fujitsu Limited Address translation apparatus, address translation method, and two-layer address translation apparatus
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6928073B2 (en) 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US7000078B1 (en) 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
JP2006072473A (ja) * 2004-08-31 2006-03-16 Fuji Xerox Co Ltd データ転送方法および装置
KR100590751B1 (ko) * 1999-02-23 2006-06-15 삼성전자주식회사 데이터라인크기변경시엔트리갯수가동일한캐시메모리시스템
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
JP2008542948A (ja) * 2005-06-07 2008-11-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド コンフィギュラブルトランスレーションルックアサイドバッファを備えたマイクロプロセッサ
JP2015097072A (ja) * 2013-10-11 2015-05-21 富士電機株式会社 組込システム

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100590751B1 (ko) * 1999-02-23 2006-06-15 삼성전자주식회사 데이터라인크기변경시엔트리갯수가동일한캐시메모리시스템
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6412047B2 (en) 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6496905B1 (en) 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6591340B2 (en) 1999-10-01 2003-07-08 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6928073B2 (en) 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US7000078B1 (en) 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US7228389B2 (en) 1999-10-01 2007-06-05 Stmicroelectronics, Ltd. System and method for maintaining cache coherency in a shared memory system
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
US7346072B2 (en) 1999-10-01 2008-03-18 Stmicroelectronics Ltd. Arbitration mechanism for packet transmission
US6915406B2 (en) 2002-07-05 2005-07-05 Fujitsu Limited Address translation apparatus, address translation method, and two-layer address translation apparatus
JP2006072473A (ja) * 2004-08-31 2006-03-16 Fuji Xerox Co Ltd データ転送方法および装置
JP2008542948A (ja) * 2005-06-07 2008-11-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド コンフィギュラブルトランスレーションルックアサイドバッファを備えたマイクロプロセッサ
JP2015097072A (ja) * 2013-10-11 2015-05-21 富士電機株式会社 組込システム

Similar Documents

Publication Publication Date Title
JPH10177520A (ja) データプロセッサ及びデータ処理システム
US6092172A (en) Data processor and data processing system having two translation lookaside buffers
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US10740249B2 (en) Maintaining processor resources during architectural events
US5526504A (en) Variable page size translation lookaside buffer
US6088780A (en) Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address
US6012132A (en) Method and apparatus for implementing a page table walker that uses a sliding field in the virtual addresses to identify entries in a page table
KR100369923B1 (ko) 데이타처리장치
US5257361A (en) Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
US5930833A (en) Logical cache memory storing logical and physical address information for resolving synonym problems
JP3278748B2 (ja) メモリ空間を節約する方法および装置
US8966219B2 (en) Address translation through an intermediate address space
US6189074B1 (en) Mechanism for storing system level attributes in a translation lookaside buffer
US20010021969A1 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
US20070239960A1 (en) Data processor and IP module for data processor
JPH0628262A (ja) ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法
JP2930071B2 (ja) 情報処理装置およびプロセッサ
US7181590B2 (en) Method for page sharing in a processor with multiple threads and pre-validated caches

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050104