JPH11161547A - データ処理装置用記憶装置、および記憶場所にアクセスする方法 - Google Patents

データ処理装置用記憶装置、および記憶場所にアクセスする方法

Info

Publication number
JPH11161547A
JPH11161547A JP10276866A JP27686698A JPH11161547A JP H11161547 A JPH11161547 A JP H11161547A JP 10276866 A JP10276866 A JP 10276866A JP 27686698 A JP27686698 A JP 27686698A JP H11161547 A JPH11161547 A JP H11161547A
Authority
JP
Japan
Prior art keywords
storage
address
range
data processing
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10276866A
Other languages
English (en)
Inventor
Pei Chi-Yuan
チーユアン・ペイ
Kimihiro Sugino
キミヒロ スギノ
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
Publication of JPH11161547A publication Critical patent/JPH11161547A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache

Landscapes

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

Abstract

(57)【要約】 【課題】 物理的アドレスを用いてアクセスできる記憶
装置と仮想アドレスを用いてアクセスできる記憶装置と
を備えた記憶装置を提供する。 【解決手段】 記憶アーキテクチャ100は、仮想記憶
装置102および物理的記憶装置104を備えており、
第1の動作モードでは全ての記憶アドレスは仮想記憶装
置102内で実行され、第2の動作モードではシャドウ
アドレスの範囲内のアクセスは物理的記憶装置104に
再指向され、シャドウアドレスの範囲外のアクセスは仮
想記憶装置102で実行される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータおよ
び他のデータ処理装置用の記憶システム(装置)に関す
る。特に本発明は、1つ以上の仮想的にアドレス可能な
セグメントと、1つ以上の物理的にアドレス可能なセグ
メントとを備えた記憶アーキテクチャを包含する。
【0002】
【従来の技術】一般に、コンピュータおよび他のデータ
処理装置用の記憶装置は、ある形式の記憶装置を備えて
いる。これらの記憶装置は、各々固定数の記憶ビットを
記憶する一連の記憶場所として構成される。各記憶場所
は、それ自身の数値アドレスを用いてアクセスされる。
最初の記憶場所は0の数値アドレスを、第2の記憶場所
は1の数値アドレスを、というように順次数値アドレス
をもつ。これらの数値アドレスは物理的アドレスとして
知られる。
【0003】物理的アドレスの使用(物理的アドレス操
作)は記憶装置の内容をアドレスする簡単で迅速な方法
である。その結果、物理的アドレスはコンピュータシス
テムの広範に亘って使用されている。例えば、多数の機
能が組み込まれたコンピュータにおいてコストは重要な
問題であるが、物理的アドレス操作の容易さはしばしば
これらのコンピュータに適している。デジタル信号処理
に用いられるコンピュータシステムにおいて、命令実行
速度は重要であり、物理的アドレス操作はこれらのコン
ピュータシステムにおいてもしばしば適している。
【0004】仮想アドレス操作は、物理的アドレス操作
のモデル上に構築しかつ物理的アドレス操作モデルを拡
張する技術である。物理的アドレス操作において、記憶
場所は仮想アドレスとして知られた数値アドレスを用い
てアクセスされる。仮想アドレスは、要求されたアクセ
スを行うため物理的アドレスに変換またはマップされ
る。仮想アドレスと物理的アドレスとの間のマップ操作
は、一般にパープロセスベースにおいてランタイムで実
行される。従って各プロセスは、仮想アドレスと物理的
アドレスとの間のそれ自身ユニークなマップ操作を伴
う。また、仮想アドレスと物理的アドレスとの間のパー
プロセスマップ操作は、動的なものであってもよい。従
って、仮想アドレスと関連した物理的アドレスは、その
寿命を通してプロセスを変化させることができる。
【0005】仮想アドレスを使用することにより多数の
利益が得られる。例えば、仮想アドレスを使用すること
により、一組のプロセスが同一記憶装置にロードされ
る。各プロセスにはゼロでスタートする仮想アドレスの
範囲が与えられる。仮想アドレスの各プロセスの範囲は
異なる組の物理的アドレスにマップ操作される。このよ
うにして、プロセスの組の間に単一の記憶装置が割当て
られる。
【0006】また、仮想アドレス操作は仮想アドレスの
範囲が物理的アドレスの範囲を越えるシステムを提供す
るのに使用されてもよい。これは、仮想アドレスのプロ
セスの範囲を一連の領域またはページに分割することに
より達成される。これらのページはディスクドライブの
ような副記憶装置に記憶される。プロセスが特別のペー
ジを必要とする場合、ページは記憶装置に移動される。
ページが記憶装置に移動される際、仮想アドレスと物理
的アドレスとの間のプロセスのマップ操作は、記憶装置
内のページの物理的アドレスを再現するように更新され
る。重要なこととして、副記憶装置内にページを記憶す
ることによって、記憶場所の数を越える数のページを記
憶装置内で利用できるようになる(すなわち、各プロセ
スは記憶装置内にふさわしい数以上のページを有してい
る)。このようにして、仮想アドレスの範囲が物理的ア
ドレスの範囲を越えるシステムを作ることができる。
【0007】仮想アドレス操作を加えることにより、記
憶装置の融通性を大きく高めることができる。残念なが
ら、融通性の増大は典型的には記憶装置の速度を減速さ
せることによって達成される。この減速は、各仮想アド
レスをそれに対応した物理的アドレスに変換するのに要
する時間に起因する。変換時間は、最近変換した仮想ア
ドレスのキャッシュを設けることで部分的にマスクされ
る。なお、一般的に仮想アドレス操作は物理的アドレス
操作速度に整合しない。
【0008】仮想アドレス操作と物理的アドレス操作と
の速度、複雑さおよび融通性に差があるため、一般にコ
ンピュータの設計者は2つの方法のどちらかを選択する
ことになる。従って、汎用コンピュータは典型的には仮
想アドレスを用いるように設計される。デジタル信号処
理装置や埋め込み型の装置のような特殊なコンピュータ
は典型的には物理的アドレス操作を使用するように設計
される。
【0009】
【発明が解決しようとする課題】ところが、物理的アド
レス操作の速度と仮想アドレス操作の融通性とを生かし
た記憶装置の要求は増大している。例えば、進化した携
帯型のコンピュータのような高度に集積化されたシステ
ムでは、種々のプロセスの範囲が必要である。これらの
プロセスの幾つかは、典型的には汎用コンピュータで実
行されるプロセスに類似している。他のプロセスでは、
デジタル信号処理または埋め込まれた動作を実行する。
その結果、これらの集積型コンピュータは物理的アドレ
ス操作の速度および仮想アドレス操作の融通性を必要と
する。従って、これらの利点を結合する記憶装置が必要
となる。
【0010】そこで、本発明の目的は、物理的アドレス
を用いてアクセスできる記憶装置と仮想アドレスを用い
てアクセスできる記憶装置とを備えた記憶装置を提供す
ることにある。物理的アドレスを用いてアクセスできる
記憶装置の部分は、速度と比較的容易である利点をもっ
ている。仮想アドレスを用いてアクセスできる記憶装置
の部分は融通性等の利点をもっている。
【0011】
【課題を解決するための手段】本発明は、仮想記憶装置
と物理的記憶装置とを備えた記憶アーキテクチャを有す
る。仮想記憶装置および物理的記憶装置は共通のアドレ
スバスおよび制御バスに接続してもよい。仮想記憶装置
は、仮想アドレスを物理的アドレスに変換する記憶マネ
ージメントユニット(MMU)を備えている。また、仮
想記憶装置はキャッシュ記憶ユニットも備えている。物
理的記憶装置は補助記憶アレイと主記憶アレイとを備え
ている。
【0012】記憶アーキテクチャは幾つかの動作モード
を備えている。そのような動作モードの第1の動作モー
ドでは、制御バスは、補助記憶アレイが非作動状態にさ
れることを指示するように構成される。仮想アドレスは
アドレスバスに入れられる。MMUは仮想アドレスを受
けてその仮想アドレスをそれに対応した物理的アドレス
に変換する。仮想記憶装置は物理的アドレスを用いてキ
ャッシュ記憶ユニットまたは主記憶アレイにおける正し
い記憶場所にアクセスする。
【0013】第2の動作モードでは、制御バスは補助記
憶アレイを作動状態にすることを指示するように構成さ
れる。仮想アドレスはアドレスバスに入れられる。MM
Uは仮想アドレスを受け、この仮想アドレスをシャドー
アドレスの範囲と比較する。仮想アドレスがシャドーア
ドレスの範囲内にあれば、MMUは仮想アドレスを用い
て補助記憶アレイにおける正しい記憶場所にアクセスす
る。代わりに、仮想アドレスがシャドーアドレスの範囲
内にない場合、仮想記憶装置は前述のようにアクセスを
行う。
【0014】本発明は、MMU内のアドレス変換をディ
スエーブルにする第3、第4の動作モードを包含しても
よい。第3の動作モードにおいて、物理的記憶装置はデ
ィスエーブルにされる。この動作モードにおいて全ての
記憶アドレスは物理的アドレスであり、そして主記憶ア
レイ内に配置される。第4の動作モードにおいても、全
ての記憶アドレスは物理的アドレスであるが、第4の動
作モードの場合、シャドーアドレスの範囲は補助記憶ア
レイ内に位置される。また、本発明は仮想記憶装置およ
び主記憶アレイがディスエーブルにされ、補助記憶アレ
イが作動する第5の動作モードをも包含してもよい。
【0015】仮想記憶装置と物理的記憶装置とを組み合
せることによって、仮想記憶アーキテクチャの融通性を
維持しながら最大命令実行速度を要求する応用がなされ
る環境が作られる。
【0016】本発明の利点は、一部は以下の説明に記載
され、また一部は明細書から当業者に理解されよう。本
発明の利点は、特に特許請求の範囲に記載の構成要素お
よびその組合わせならびにその均等物により実現および
達成されるであろう。
【0017】本明細書の一部に結合され、その一部を構
成する添付図面は、本発明の幾つかの実施の形態を示
し、明細書の内容と共に本発明の原理を説明するのに役
立つであろう。
【0018】
【発明の実施の形態】以下、添付図面に例示する本発明
の好ましい実施の形態を参照して本発明を詳細に説明す
る。便宜上、全ての図面を通して同一または同様な部分
を示すのに同じ符号を用いる。
【0019】本発明は、コンピュータおよび他のデータ
処理装置用の記憶アーキテクチャを包含する。図1には
本発明の記憶アーキテクチャの実施の形態が示され、符
号100で示されている。記憶アーキテクチャ100は
好ましくは単一集積回路で構成され、仮想記憶装置10
2と物理的記憶装置104とを備えている。また、記憶
アーキテクチャ100は共通のアドレスバス106と制
御バス108とを備えている。例示として、アドレスバ
ス106は幅32ビットであり、制御バス108は幅2
ビットであると仮定する。しかしながら、容易に解るよ
うに、本発明の他の実施の形態では他のバス幅が適切で
ある。仮想記憶装置102は32ビット接続によりアド
レスバス106に接続されている。物理的記憶装置10
4は16ビット接続を用いてアドレスバス106に接続
されている。仮想記憶装置102と物理的記憶装置10
4とアドレスバス106との間の接続の幅が表わされて
いる。
【0020】仮想記憶装置102および物理的記憶装置
104を用いるため、アドレスバス106および制御バ
ス108に1つ以上のプロセッサが接続される。例示と
して、図1に示すように中央演算処理装置(CPU)1
10およびデジタル信号処理装置(DSP)112は、
アドレスバス106および制御バス108に接続されて
いる。
【0021】仮想記憶装置102は、仮想アドレスを物
理的アドレスに変換する記憶マネージメントユニット
(MMU)114を備えている。簡単に図2を参照する
と、MMU114は状態レジスタ200を備えているこ
とが分かる。状態レジスタ200はCPU110または
DSP112からアクセスでき、そしてMMU114お
よび記憶アーキテクチャ100の動作を制御する方法の
範囲を表わすようにされている。また、図2に示すよう
に、状態レジスタ200はMMU114内に含まれてい
る。これは一例であり、他の実施の形態では記憶アーキ
テクチャ100の他の部分に状態レジスタ200を配置
することも可能である。
【0022】状態レジスタ200は3ビット202a〜
202cを備えている。これらのビットは、補助記憶ア
レイ120の動作をイネーブルまたはディスエーブルに
する補助物理的記憶機能ビット(pmイネーブル)20
2aを含んでいる。また、状態レジスタ200はMMU
114内でアドレス変換をイネーブルまたはディスエー
ブルにするTLB機能ビット(TLBイネーブル)20
2bを含んでいる。仮想記憶装置102の動作をイネー
ブルまたはディスエーブルにする仮想記憶機能ビット
(vmイネーブル)202cをも備えている。特殊なビ
ット202は代表的なものであり、本発明の特殊な実施
の形態の場合、多少のビット数が要求されることは認識
されるべきである。
【0023】また、MMU114はアドレスレジスタ2
04と、範囲検出器206と、変換ルックアサイドバッ
ファ(TLB)208とを備えている。アドレスレジス
タ204はアドレスバス106から仮想アドレスを受け
るラッチまたは他の装置である。範囲検出器206は、
受信したアドレスがシャドウアドレスの範囲内に含まれ
るかどうかをMMU114により検出できるようにする
装置である。範囲検出器206は、装置の範囲を用いて
構成される。1つの構成では、範囲検出器206は、ア
ドレスレジスタ204に含まれるハイオーダー(最上
位)のビットを所定の値と比較するデコーダである。ハ
イオーダーのビットが一定の値に整合する場合、範囲検
出器206は、受信した仮想アドレスがシャドウアドレ
スの範囲内にあることを検出する。代わりに、範囲検出
器206は、アドレスレジスタ204に含まれるハイオ
ーダーのビットをMMU114に含まれるレジスタ(レ
ジスタは図示していない)に含まれた値と比較するよう
に構成されてもよい。この比較はコンパレータまたは他
の技術を用いて実施される。MMU114内のレジスタ
は、シャドウアドレスの範囲を動的に設定できるCPU
110またはDSP112によって変更できる。
【0024】TLB208は、アドレスレジスタ204
に含まれる仮想アドレスを物理的アドレスに変換するM
MU114によって用いられた装置に対応している。T
LB208は、広範囲のTLB形式から選択され得る。
【0025】仮想記憶装置102はまたキャッシュ記憶
ユニット116を備えている。このキャッシュ記憶ユニ
ット116は商業上利用できる形式または特別に製造し
たものから選択され得る。仮想記憶装置102内におい
てMMU114は図示したようにキャッシュ記憶ユニッ
ト116に接続され、そのキャッシュ記憶ユニット11
6は物理的記憶装置104に接続されている。重要なこ
ととして、図示した相互接続は一例であることが理解さ
れるべきである。従って、仮想記憶装置102はMMU
114で示すように、キャッシュ記憶ユニット116と
物理的記憶装置104との両方に直接接続される。代わ
りに、キャッシュ記憶ユニット116が仮想キャッシュ
である場合、仮想記憶装置102はキャッシュ記憶ユニ
ット116によりMMU114と物理的記憶装置104
との両方に接続されてもよい。
【0026】物理的記憶装置104は主記憶アレイ11
8と補助記憶アレイ120とを備えている。主記憶アレ
イ118および補助記憶アレイ120は、静的、動的、
不揮発性、ページモードおよび他の形式を含む広範囲の
ランダムアクセス記憶形式を表わすものとする。主記憶
アレイ118および補助記憶アレイ120の記憶サイズ
は、ビット、バイト、ハーフワード、ワードおよびダブ
ルワードサイズを含む広範囲の記憶サイズから選ばれ
る。重要なこととして、図示した実施の形態において、
補助記憶アレイ120は16ビット接続を用いてアドレ
スバス106に接続される。補助記憶アレイ120は、
物理的記憶装置104とアドレスバス106との間の接
続の幅を交番するように寸法決めされる。従って、図示
した実施の形態の場合、補助記憶アレイ120は、216
すなわち65566個の異なる記憶場所を有する。物理
的記憶装置104とアドレスバス106との間の接続が
広いまたは狭い他の実施の形態ではそれぞれ、多いまた
は少ない記憶場所が設定される。
【0027】完全を期すため、記憶アーキテクチャ10
0はデータバス122を含むように示されている。例示
として、データバス122は幅32ビットであると仮定
する。しかしながら、容易に解るように、本発明の他の
実施の形態では他のバス幅が適切である。仮想記憶装置
102および物理的記憶装置104は32ビット接続に
よりデータバス122に接続される。これらの接続の幅
は代表的なものである。
【0028】記憶アーキテクチャ100は幾つかの動作
モードを備えている。第1の動作モードでは、CPU1
10またはDSP112は記憶アーキテクチャ100が
補助記憶アレイ120の動作をディスエーブルにするよ
うにさせる。一般に、補助記憶アレイ120へのアクセ
スをディスエーブルにするためにCPU110またはD
SP112で用いられる方法はインプリメンテーション
に依存する。図示した実施の形態の場合、CPU110
またはDSP112は、補助記憶アレイ120の動作を
ディスエーブルにするように状態レジスタ200におけ
るビット202aを構成することによってこの機能を実
行する。それに応じて、状態レジスタ200は制御バス
108に信号を供給して補助記憶アレイ120をディス
エーブルにさせる。
【0029】こうして補助記憶アレイ120をディスエ
ーブルにさせた後、CPU110またはDSP112
は、アドレスバス106に仮想アドレスを入れる。仮想
アドレスはMMU114のアドレスレジスタ204で受
信される。その後TLB208は仮想アドレスを物理的
アドレスに変換する。物理的アドレスはキャッシュ記憶
ユニット116に供給される。キャッシュ記憶ユニット
116が物理的アドレスで特定された記憶場所を含んで
いる場合、その場所はCPU110またはDSP112
に対してアクセスされる。代わりに、物理的アドレスで
特定された記憶場所がキャッシュ記憶ユニット116に
ない場合、物理的アドレスは、主記憶アレイ118と補
助記憶アレイ120を備えた物理的記憶装置104に送
られる。主記憶アレイ118内の記憶場所は物理的アド
レスで特定され、そしてCPU110またはDSP11
2に対してアクセスされる。
【0030】上記の説明において、キャッシュ記憶ユニ
ット116または物理的記憶装置104内の記憶装置が
CPU110またはDSP112に対してアクセスされ
る。これに関連してアクセスは読み出しまたは書き込み
動作を指示するようにされることが理解されるべきであ
る。また、キャッシュ記憶ユニット116および物理的
記憶装置104の構成により、単一アクセスに対して1
つ以上の記憶場所を含むことができることも認識される
べきである。例えば、キャッシュ記憶ユニット116お
よび物理的記憶装置104は各アクセス動作についてX
記憶ワードとY記憶ワードとに同時にアクセスするよう
に構成されてもよい。
【0031】また、上記ステップは仮想記憶装置102
について図示した特定の実施の形態に関連していること
が認識されるべきである。特に、キャッシュ記憶ユニッ
ト116が仮想キャッシュとして構成されるか、または
物理的記憶装置104およびキャッシュ記憶ユニット1
16が並列構成に設けられる場合、上記ステップの順序
は本明細書から当業者に明らかなように異なる。
【0032】第2の動作モードでは、CPU110また
はDSP112は補助記憶アレイ120の動作をイネー
ブルにするように記憶アーキテクチャ100を構成す
る。CPU110またはDSP112は、補助記憶アレ
イ120の動作をイネーブルにするように状態レジスタ
200のビット202aを構成することによってこの機
能を実行する。これに応じて状態レジスタ200は制御
バス108へ制御信号を供給して補助記憶アレイ120
をイネーブルにさせる。
【0033】こうして補助記憶アレイ120をイネーブ
ルにさせた後、CPU110またはDSP112は、ア
ドレスバス106に仮想アドレスを入れる。仮想アドレ
スはMMU114のアドレスレジスタ204で受信され
る。その後範囲検出器206は、受信した仮想アドレス
がシャドウアドレスの範囲内に含まれるかどうかを検出
する。代表的には、範囲検出器206は、受信した仮想
アドレスのハイオーダー(最上位)ビットを検索するこ
とによってこの動作を行うように構成される。受信した
仮想アドレスがシャドウアドレスの範囲内にないことを
範囲検出器206が検出する場合、仮想記憶装置102
は上述と同じ仕方で要求されたアクセスを処理する。従
ってこれらの場合、TLB208は物理的アドレスを発
生し、そしてアクセスは、キャッシュ記憶ユニット11
6および物理的記憶装置104を用いて行われる。
【0034】代わりに、受信した仮想アドレスがシャド
ウアドレスの範囲内にあることを範囲検出器206が検
出する場合、MMU114は制御バス108に信号を供
給し、補助記憶アレイ120を作動させる。こうして作
動すると、物理的記憶装置104は仮想アドレスのロー
オーダー(最下位)ビットを用いてCPU110または
DSP112に対して補助記憶アレイ120をアクセス
する。説明した実施の形態では、仮想アドレスのハイオ
ーダー(最上位)ビットを用いて、仮想アドレスがシャ
ドウアドレスの範囲内に含まれるかどうかを検出する。
従って、ローオーダービットは、補助記憶アレイ120
内の所望の場所を検索するのに用いられる。これら2つ
の動作は、受信した仮想アドレス内の異なるビットのグ
ループを用いて実行される。そのような代わりの実施の
形態も本発明の範囲内にあり、当業者に理解されよう。
【0035】上記の説明において、補助記憶アレイ12
0内の記憶装置はCPU110またはDSP112に対
してアクセスされる。これに関連してアクセスは読み出
しまたは書き込み動作を指示するようにされることが理
解されるべきである。また、補助記憶アレイ120の構
成により、単一アクセスに対して1つ以上の記憶場所を
含むことができることも認識されるべきである。従っ
て、例えば補助記憶アレイ120は各アクセス動作につ
いてX記憶ワードとY記憶ワードとに同時にアクセスす
るように構成されてもよい。
【0036】記憶アーキテクチャ100は第3、第4の
動作モードを実行するように構成してもよい。これらの
動作モードは、状態レジスタ200を用いてCPU11
0またはDSP112によって選択される。第3の動作
モードにおいて、状態レジスタ200のビット202
a、202bは、補助記憶アレイ120をディスエーブ
ルにしかつMMU114内のアドレス変換をディスエー
ブルにするように設定される。その結果、第3の動作モ
ードでは、主記憶アレイ118および補助記憶アレイ1
20は物理的記憶装置のアレイとして処理され、そして
全ての記憶アクセスは主記憶アレイ118内で実行され
る。
【0037】第4の動作モードでは、状態レジスタ20
0のビット202bは、MMU114内のアドレス変換
をディスエーブルにし続ける。しかしながら、ビット2
02aは補助記憶アレイ120をイネーブルにするよう
に設定される。従って、第4の動作モードでは、主記憶
アレイ118および補助記憶アレイ120はまた物理的
記憶装置のアレイとして処理される。第3の動作モード
と違って、シャドウアドレスの範囲内のアクセスは補助
記憶アレイ120によって実行される。
【0038】また、記憶アーキテクチャ100は第5の
動作モードを実行するように構成されてもよい。この動
作モードは、状態レジスタ200のビット202を設定
することによりCPU110またはDSP112によっ
て選択される。第5の動作モードでは、仮想記憶装置1
02はディスエーブルにされ、また記憶アクセスは補助
記憶アレイ120に直接アクセスすることにより全体的
に処理される。
【0039】以上説明した5つの動作モードを明瞭にす
るため、図3A〜図3Eには、5つの動作モードの各々
において記憶アーキテクチャ100によってなされた代
表的な記憶スペース300が示されている。図3Aから
始まり、図示したように第1の動作モードに従って動作
する記憶アーキテクチャ100は仮想記憶スペース30
0を構成する。図3Bにおいて、図3Aの仮想記憶スペ
ースは補助記憶アレイ120に含まれるシャドウアドレ
スの範囲を包含するように変更されている。上記第3の
動作モードにおける記憶アーキテクチャ100の動作を
表わす図3Cにおいて、単一の物理的記憶スペース30
0が構成されている。上記第4の動作モードでは、図3
Dに示すように、図3Cの単一の物理的記憶スペース3
00は、補助記憶アレイ120に含まれるシャドウアド
レスの範囲を包含するように変更されている。最後に、
第5の動作モードでは、図3Eに示すように、単一の物
理的記憶スペース302が補助記憶アレイ120によっ
て構成されている。
【0040】他の実施の形態は、明細書および以上説明
した実施の形態から当業者に明らかであろう。本明細書
および実施の形態は単に一例であり、本発明の真の範囲
は特許請求の範囲およびその均等物により特定されるも
のである。
【0041】
【発明の効果】本発明によれば、仮想記憶装置と物理的
記憶装置とを組み合せることによって、仮想記憶アーキ
テクチャの融通性を維持しながら最大命令実行速度を要
求する応用がなされる環境を作ることができる。
【図面の簡単な説明】
【図1】本発明の好ましい実施の形態において使用され
る記憶アーキテクチャのブロック図である。
【図2】本発明の好ましい実施の形態において使用され
る記憶マネージメントユニット(MMU)のブロック図
である。
【図3A】本発明の好ましいモードの第1の動作モード
で構成される記憶スペースのブロック図である。
【図3B】本発明の好ましいモードの第2の動作モード
で構成される記憶スペースのブロック図である。
【図3C】本発明の好ましいモードの第3の動作モード
で構成される記憶スペースのブロック図である。
【図3D】本発明の好ましいモードの第4の動作モード
で構成される記憶スペースのブロック図である。
【図3E】本発明の好ましいモードの第5の動作モード
で構成される記憶スペースのブロック図である。
【符号の説明】
100 記憶アーキテクチャ 102 仮想記憶装置 104 物理的記憶装置 106 アドレスバス 108 制御バス 110 中央演算処理装置(CPU) 112 デジタル信号処理装置(DSP) 114 記憶マネージメントユニット(MMU) 116 キャッシュ記憶ユニット 118 主記憶アレイ 120 補助記憶アレイ 122 データバス 200 状態レジスタ 202a ビット 202b ビット 202c ビット 204 アドレスレジスタ 206 範囲検出器 208 ルックアサイドバッファ(TLB) 300,302 記憶スペース

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 データ処理装置用記憶装置であって、 補助記憶アレイと主記憶アレイとを含む物理的記憶アレ
    イと、 記憶マネージメントユニットとを有し、前記記憶マネー
    ジメントユニットが、 記憶アドレスを受けるアドレスレジスタと、 シャドウアドレスの範囲内に、受信した前記記憶アドレ
    スを含むかどうかを検出する範囲検出器とを備え、前記
    シャドウアドレスの範囲内に受信した前記記憶アドレス
    が含まれる場合、前記記憶マネージメントユニットによ
    り前記補助記憶アレイに直接アクセスさせ、また、前記
    シャドウアドレスの範囲内に受信した前記記憶アドレス
    が含まれない場合、前記記憶マネージメントユニットに
    より前記物理的記憶アレイにアクセスさせるように前記
    範囲検出器を構成したことを特徴とするデータ処理装置
    用記憶装置。
  2. 【請求項2】 請求項1記載のデータ処理装置用記憶装
    置であって、前記記憶マネージメントユニットがさらに
    変換ルックアサイドバッファを備え、前記シャドウアド
    レスの範囲内に受信した前記記憶アドレスが含まれない
    場合、前記変換ルックアサイドバッファにより、受信し
    た前記記憶アドレスを物理的アドレスに変換させるよう
    に前記記憶マネージメントユニットを構成したことを特
    徴とするデータ処理装置用記憶装置。
  3. 【請求項3】 請求項2記載のデータ処理装置用記憶装
    置であって、さらに、前記変換ルックアサイドバッファ
    を選択的にイネーブルまたはディスエーブルにする手段
    を備えていることを特徴とするデータ処理装置用記憶装
    置。
  4. 【請求項4】 請求項1記載のデータ処理装置用記憶装
    置であって、前記範囲検出器がさらに、シャドウアドレ
    スの所定の範囲を確認するように構成したデコーダを備
    えていることを特徴とするデータ処理装置用記憶装置。
  5. 【請求項5】 請求項1記載のデータ処理装置用記憶装
    置であって、前記範囲検出器がさらに、シャドウアドレ
    スの構成可能な範囲を確認するように構成したコンパレ
    ータを備えていることを特徴とするデータ処理装置用記
    憶装置。
  6. 【請求項6】 データ処理装置用記憶装置であって、 補助記憶アレイと主記憶アレイとを含む物理的記憶アレ
    イと、 記憶マネージメントユニットとを有し、前記記憶マネー
    ジメントユニットが、 記憶アドレスを受ける手段と、 シャドウアドレスの範囲内に、受信した前記記憶アドレ
    スを含むかどうかを検出する手段と、 前記シャドウアドレスの範囲内に受信した前記記憶アド
    レスが含まれる場合、前記記憶アドレスに対応した前記
    補助記憶アレイ内の記憶場所に直接アクセスする手段
    と、 前記シャドウアドレスの範囲内に受信した前記記憶アド
    レスが含まれない場合、前記記憶アドレスに対応した前
    記物理的記憶アレイ内の記憶場所に間接的にアクセスす
    る手段とを備えていることを特徴とするデータ処理装置
    用記憶装置。
  7. 【請求項7】 請求項6記載のデータ処理装置用記憶装
    置であって、さらに、前記シャドウアドレスの範囲内に
    受信した前記記憶アドレスが含まれない場合、受信した
    前記記憶アドレスを物理的アドレスに変換する手段を備
    えていることを特徴とするデータ処理装置用記憶装置。
  8. 【請求項8】 請求項7記載のデータ処理装置用記憶装
    置であって、さらに、受信した前記記憶アドレスを物理
    的アドレスに変換する前記手段を選択的にイネーブルま
    たはディスエーブルにする手段を備えていることを特徴
    とするデータ処理装置用記憶装置。
  9. 【請求項9】 請求項6記載のデータ処理装置用記憶装
    置であって、シャドウアドレスの範囲内に受信した前記
    記憶アドレスを含むかどうかを検出する前記手段が、前
    記記憶アドレス内の値の所定の範囲を確認するように構
    成したデコーダを備えていることを特徴とするデータ処
    理装置用記憶装置。
  10. 【請求項10】 請求項6記載のデータ処理装置用記憶
    装置であって、シャドウアドレスの範囲内に受信した前
    記記憶アドレスを含むかどうかを検出する前記手段が、
    前記記憶アドレス内の値の構成可能な範囲を確認するよ
    うに構成したコンパレータを備えていることを特徴とす
    るデータ処理装置用記憶装置。
  11. 【請求項11】 請求項6記載のデータ処理装置用記憶
    装置であって、シャドウアドレスの範囲内に受信した前
    記記憶アドレスを含むかどうかを検出する前記手段が、
    前記記憶アドレスのハイオーダーのビットを検索するこ
    とを特徴とするデータ処理装置用記憶装置。
  12. 【請求項12】 請求項6記載のデータ処理装置用記憶
    装置であって、前記補助記憶アレイ内の記憶場所にアク
    セスする前記手段が、前記記憶アドレスのローオーダー
    のビットに対応した前記補助記憶アレイ内の記憶場所を
    選択することを特徴とするデータ処理装置用記憶装置。
  13. 【請求項13】 記憶場所にアクセスする方法であっ
    て、記憶マネージメントユニットにより実行される、 記憶アドレスを受ける工程と、 シャドウアドレスの範囲内に、受信した前記記憶アドレ
    スを含むかどうかを検出する工程と、 前記シャドウアドレスの範囲内に受信した前記記憶アド
    レスが含まれる場合、前記記憶アドレスに対応した補助
    記憶アレイ内の記憶場所にアクセスする工程と、 前記シャドウアドレスの範囲内に受信した前記記憶アド
    レスが含まれない場合、前記記憶アドレスに対応した物
    理的記憶アレイ内の記憶場所にアクセスする工程とから
    成ることを特徴とする記憶場所にアクセスする方法。
  14. 【請求項14】 請求項13記載の記憶場所にアクセス
    する方法であって、さらに、前記シャドウアドレスの範
    囲内に受信した前記記憶アドレスが含まれない場合、受
    信した前記記憶アドレスを物理的アドレスに変換する工
    程を含むことを特徴とする記憶場所にアクセスする方
    法。
  15. 【請求項15】 請求項14記載の記憶場所にアクセス
    する方法であって、さらに、アドレス変換をイネーブル
    にするかどうかを検出する工程を含み、受信した前記記
    憶アドレスを物理的アドレスに変換する前記工程が、ア
    ドレス変換がイネーブルにされている場合のみ実行され
    ることを特徴とする記憶場所にアクセスする方法。
  16. 【請求項16】 請求項13記載の記憶場所にアクセス
    する方法であって、シャドウアドレスの範囲内に受信し
    た前記記憶アドレスを含むかどうかを検出する前記工程
    が、前記記憶アドレス内の値の所定の範囲を確認するよ
    うに構成したデコーダにより実施されることを特徴とす
    る記憶場所にアクセスする方法。
  17. 【請求項17】 請求項13記載の記憶場所にアクセス
    する方法であって、シャドウアドレスの範囲内に受信し
    た前記記憶アドレスが含むかどうかを検出する前記工程
    が、前記記憶アドレス内の値の構成可能な範囲を確認す
    るように構成したコンパレータにより実施されることを
    特徴とする記憶場所にアクセスする方法。
JP10276866A 1997-10-02 1998-09-30 データ処理装置用記憶装置、および記憶場所にアクセスする方法 Pending JPH11161547A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/942,854 US6226732B1 (en) 1997-10-02 1997-10-02 Memory system architecture
US08/942,854 1997-10-02

Publications (1)

Publication Number Publication Date
JPH11161547A true JPH11161547A (ja) 1999-06-18

Family

ID=25478703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10276866A Pending JPH11161547A (ja) 1997-10-02 1998-09-30 データ処理装置用記憶装置、および記憶場所にアクセスする方法

Country Status (2)

Country Link
US (1) US6226732B1 (ja)
JP (1) JPH11161547A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014112387A (ja) * 2009-03-31 2014-06-19 Intel Corp オン・ダイ・システム・ファブリック・ブロックの制御

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446189B1 (en) * 1999-06-01 2002-09-03 Advanced Micro Devices, Inc. Computer system including a novel address translation mechanism
US20040193832A1 (en) * 2003-03-27 2004-09-30 Garcia David J. Physical mode windows
US20040193833A1 (en) * 2003-03-27 2004-09-30 Kathryn Hampton Physical mode addressing
US7019752B1 (en) * 2003-06-04 2006-03-28 Apple Computer, Inc. Method and apparatus for frame buffer management
US7149872B2 (en) 2003-07-10 2006-12-12 Transmeta Corporation System and method for identifying TLB entries associated with a physical address of a specified range
US7617376B2 (en) * 2003-08-14 2009-11-10 Hewlett-Packard Development Company, L.P. Method and apparatus for accessing a memory
WO2007143278A2 (en) 2006-04-12 2007-12-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US8607070B2 (en) * 2006-12-20 2013-12-10 Kingston Technology Corporation Secure storage system and method of use
US8499168B2 (en) * 2007-05-09 2013-07-30 Kingston Technology Corporation Secure and scalable solid state disk system
US8527781B2 (en) * 2007-05-09 2013-09-03 Kingston Technology Corporation Secure and scalable solid state disk system
US8010768B2 (en) * 2007-05-09 2011-08-30 Kingston Technology Corporation Secure and scalable solid state disk system
WO2012037491A2 (en) 2010-09-17 2012-03-22 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
KR101620676B1 (ko) 2011-03-25 2016-05-23 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트
CN103635875B (zh) 2011-03-25 2018-02-16 英特尔公司 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段
EP2689327B1 (en) 2011-03-25 2021-07-28 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
WO2012162189A1 (en) 2011-05-20 2012-11-29 Soft Machines, Inc. An interconnect structure to support the execution of instruction sequences by a plurality of engines
TWI666551B (zh) 2011-05-20 2019-07-21 美商英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
CN104040491B (zh) 2011-11-22 2018-06-12 英特尔公司 微处理器加速的代码优化器
EP2783280B1 (en) 2011-11-22 2019-09-11 Intel Corporation An accelerated code optimizer for a multiengine microprocessor
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US9430410B2 (en) 2012-07-30 2016-08-30 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
KR102083390B1 (ko) 2013-03-15 2020-03-02 인텔 코포레이션 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
EP3295310A4 (en) 2015-05-14 2018-12-26 Adesto Technologies Corporation Concurrent read and reconfigured write operations in a memory device
US11853231B2 (en) 2021-06-24 2023-12-26 Ati Technologies Ulc Transmission of address translation type packets

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926316A (en) * 1982-09-29 1990-05-15 Apple Computer, Inc. Memory management unit with overlapping control for accessing main memory of a digital computer
US5237671A (en) * 1986-05-02 1993-08-17 Silicon Graphics, Inc. Translation lookaside buffer shutdown scheme
US5848231A (en) * 1996-02-12 1998-12-08 Teitelbaum; Neil System configuration contingent upon secure input
US5835964A (en) * 1996-04-29 1998-11-10 Microsoft Corporation Virtual memory system with hardware TLB and unmapped software TLB updated from mapped task address maps using unmapped kernel address map
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014112387A (ja) * 2009-03-31 2014-06-19 Intel Corp オン・ダイ・システム・ファブリック・ブロックの制御

Also Published As

Publication number Publication date
US6226732B1 (en) 2001-05-01

Similar Documents

Publication Publication Date Title
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
US5752275A (en) Translation look-aside buffer including a single page size translation unit
US6266755B1 (en) Translation lookaside buffer with virtual address conflict prevention
US5918250A (en) Method and apparatus for preloading default address translation attributes
US5247639A (en) Microprocessor having cache bypass signal terminal
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
KR900005897B1 (ko) 마이크로프로세서 시스템과 그 메모리 운용장치
JP3670041B2 (ja) 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ
US5237671A (en) Translation lookaside buffer shutdown scheme
KR100705171B1 (ko) 어드레스 변환 장치 및 방법
JPH07191903A (ja) データ処理システムおよび動作方法
US5732405A (en) Method and apparatus for performing a cache operation in a data processing system
EP0332908B1 (en) Cache memory having pseudo virtual addressing
JPH0362243A (ja) 情報処理システムにおいてメモリアクセスを速くする装置
KR19990037571A (ko) 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법
KR960008320B1 (ko) 어드레스 변환장치 및 어드레스 변환방법
AU604101B2 (en) High availability cache organization
US6766435B1 (en) Processor with a general register set that includes address translation registers
US20050228951A1 (en) Virtualized load buffers
US7076635B1 (en) Method and apparatus for reducing instruction TLB accesses
JPH10293684A (ja) コンピュータシステムおよびその立ち上げ制御方法
US6243798B1 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
AU632542B2 (en) Ring reduction logic mechanism
EP0244532B1 (en) Set-associative content addressable memory with a protection facility
JPH07152654A (ja) メモリ・アクセス誤りを処理しアドレス変換キャッシュを更新する方法