Nothing Special   »   [go: up one dir, main page]

JP2003099326A - システム保護マップ - Google Patents

システム保護マップ

Info

Publication number
JP2003099326A
JP2003099326A JP2002189430A JP2002189430A JP2003099326A JP 2003099326 A JP2003099326 A JP 2003099326A JP 2002189430 A JP2002189430 A JP 2002189430A JP 2002189430 A JP2002189430 A JP 2002189430A JP 2003099326 A JP2003099326 A JP 2003099326A
Authority
JP
Japan
Prior art keywords
access
resource
spm
memory
address
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
JP2002189430A
Other languages
English (en)
Inventor
Steven D Krueger
ディー、クルージャー スティーブン
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2003099326A publication Critical patent/JP2003099326A/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/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • 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/1009Address translation using page tables, e.g. page table structures
    • 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/109Address translation for multiple virtual address spaces, e.g. segmentation
    • 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
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 共用メモリサブシステム112に接続される
複数のプロセッサ102、104と周辺装置106、1
16を有するデジタルシステムを動作させる方法と装置
を開示する。 【解決手段】 複数のプロセッサは別のオペレーティン
グシステムを実行し、システム保護マップ(SPM)は、
メモリサブシステムのアドレス空間内の1組のアドレス
空間領域を定義し、該1組の領域の少なくとも一部に資
源アクセス権を割り当て、どの発信者資源が各領域にア
クセス可能か表示する。該アクセス要求をもつアドレス
を使用すると、メモリアクセス要求がアクセス中の領域
をSPMが識別する。各アクセス要求中、該要求をもつ資
源識別値(R-ID)を使用してSPMが該要求の発信元を識
別し、該被識別領域をアクセスする該資源の該領域用ア
クセス権所持の有無を決定する。該資源が該被識別領域
へのアクセス権をもっている場合のみ該被識別領域への
アクセスを許可する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にマイクロプロ
セッサに関し、より詳細には、メモリ・アクセス保護回
路、システムおよびその製造方法の改善に関する。
【0002】
【発明が解決しようとする課題】マイクロプロセッサ
は、その上で走行するソフトウエアを実行するため、命
令の高スループットを提供する汎用プロセッサであり、
含まれる特定のソフトウエアの用途に依存して広範な処
理条件を備えることができる。多数の各種形式のプロセ
ッサが公知であるが、マイクロプロセッサはその一例で
ある。たとえば、デジタル信号処理プロセッサ(DSP)
は、移動体処理用アプリケーション(mobileprocessing
applications)のような特定の用途に特に広く使用さ
れている。一般にDSPは、対象とする用途に該当する性
能を最適化するように構成され、これを達成するために
さらに専門化された演算実行部と命令セットを使用す
る。用途を限定しないが、特に移動通信のような用途に
おいては、電力消費を可能な限り低く維持しながらます
ます強化されるDSPの性能を提供することが望ましい。
【0003】デジタル・システムの性能をさらに改善す
るためには、2つまたはそれ以上のプロセッサを相互接
続してもよい。たとえば、デジタル・システムでDSPと
汎用プロセッサを相互接続してもよい。DSPは、数値処
理に集約された信号処理アルゴリズムを実行し、汎用プ
ロセッサは全体の制御の流れを管理する。この2つのプ
ロセッサは連絡を取り合うとともに、共用メモリを介し
て信号処理のためのデータを転送する。1つのメモリや
周辺装置の資源から別のメモリや周辺装置の資源にデー
タブロックを転送する負荷を引き受けてプロセッサの性
能を改善するために、ダイレクト・メモリ・アクセス・
(DMA)コントローラがプロセッサに付随することが多
い。
【0004】一般にオペレーティング・システム(OS)
は、複数の資源を制御し、各種のプログラム・モジュー
ルやタスクの実行をスケジューリングすることによっ
て、デジタル・システムを管理するために設けられてい
る。いくつかのプロセッサを使用しているシステムで
は、各プロセッサに別々のOSをもたせると便利である。
一般にOSは、システムの全資源を制御していることを前
提としている。他のOSのメモリと資源を共用するように
設計されたOSは多くはない。したがって、1つのシステ
ムで2つまたはそれ以上のOSを結合する場合は、資源の
割り当ての問題が発生する。メモリ装置や周辺装置の使
用に関する競合のために、システム運用に恐ろしい結果
をもたらすことがある。
【0005】
【課題を解決するための手段】静的または動的にシステ
ムを分割する(partitioning)ときには、OSが協調動作
する必要のあることが判明している。そこでシステム保
護マップ(SPM)を使用すると、合意した分割が実際に
守られていることを保証することができる。SPMは、必
ずしも所定のプロセッサに存在するメモリ管理機構に代
わることにはならないが、オペレーティング・システム
を相互に保護するための保護レベルを追加する。
【0006】一般的、かつ本発明の形をとる方法は、共
用メモリ・サブシステムに接続された複数のプロセッサ
を含む複数の発信者資源(initiator resources)を有
するデジタル・システムを動作させるために提供されて
いる。2つまたはそれ以上のプロセッサは別々のOSを実
行する。共用資源へのアクセスを制御するためには、メ
モリ・サブシステムのアドレス空間の複数の領域が定義
される。発信者資源のアクセス権は、この複数の領域の
少なくとも一部に割り当てられ、どの発信者資源が各領
域にアクセスできるかを示す。アクセス要求を備えたア
ドレスを使用すると、メモリ・アクセス要求によってア
クセスされている領域が識別される。各アクセス要求中
に、各アクセス要求をもつ資源識別値を使用して要求の
発信元が識別されると、その識別された領域をアクセス
する発信者資源がその識別された領域のアクセス権を持
っているか否かの決定が行われる。その識別された領域
へのアクセスは、発信者資源が識別された領域へのアク
セス権をもっている場合にのみ、その発信者資源に許可
される。
【0007】本発明の他の実施例におけるデジタル・シ
ステムは、共用メモリ・サブシステムにアクセスするた
めに接続されたいくつかのプロセッサを備えている。資
源識別手段は、複数のプロセッサに接続され、複数のプ
ロセッサのうちのどれが共用メモリ・サブシステムへの
アクセスを要求しているかを示す。保護回路は、共用メ
モリ・サブシステムへのアクセス要求に応答して、資源
識別手段から資源識別値を受信するために接続される。
保護回路は、資源識別値に応答して共用メモリへのアク
セスを抑止するように動作可能である。
【0008】
【発明の実施の形態】特に記述されていない限り、類似
の部分を指定するために類似の参照記号が使用されてい
る添付の図面を参照し、以下、例示するのみで本発明の
特定の実施例を説明する。
【0009】各種図面およびテーブル内の対応する番号
および記号は、特に指定されない限り、対応する部分を
表している。
【0010】いわば(so to speak)システム保護で競
合(conflict)を防ぐことはできない。プロセッサAのO
S1とプロセッサBのOS2の双方が装置Dをすべて制御し
ていると考えているとすると、問題が存在する。その問
題は、保護によって本当になくなることにはならない。
成功するためには、システムを分割する(partitionin
g)際に、OSが静的または動的に協調動作しなければな
らない。システム保護マップ(SPM)は、合意した分割
が実際に守られていることを保証することができる。
【0011】システム開発者は、静的に分割するために
各プロセッサに資源(メモリと装置)を割り当てるの
で、この分割はシステムが動作している間は変化しな
い。これは多くの組み込みシステム(embedded syste
m)でうまく機能している。
【0012】さらに興味深い状況は、動作中に分割を変
更できる場合である。この場合、システム資源について
交渉する手段とSPMを更新する手段が存在していること
が必要である。
【0013】2つのOS間で共用されるいくつかの資源が
存在し、それらの資源がOSの双方にアクセス可能である
場合に、システムを分割することは最も興味深い。たい
ていのマルチプロセッサ・システムにおいては、共用メ
モリ・バッファのニーズが存在することは確かである。
このタイプの資源は、双方にアクセス可能であるとして
SPM内でマークされるか、アクセスを制御するために使
用するプロトコル(たとえば、信号装置)が追加され
る。
【0014】ここで使用される「別のOS」は、「異なる
OS」である必要はない。各OSが少数の拡張機能(a few
extensions)をもつユニプロセッサのOSとして実行する
同じOSのコピーを、各プロセッサ、特に同種のプロセッ
サで実行させることは事実であるといってよい。これら
の拡張機能は、OSが資源の交渉について知ることができ
るようにするとともに、共用メモリのメイルボックス・
プロトコルを定義するか、またはインターフェースをと
ることができるようにする。一般にこれらの拡張機能
は、デバイスドライバとしてほとんどすべてのユニプロ
セッサのOSに追加され、同じOSの2つまたはそれ以上の
具体例を疎結合マルチプロセッサ・システムに変えるこ
とができる。
【0015】特定のデジタル・システムの実施例の場
合、ハードウエア分割することによって、疎結合プロセ
ッサに資源の静的割り当てをすることができるが、異な
るシステムが同じマルチプロセッサのハードウエアのサ
ービスを受けられるように、ソフトウエアを介して静的
または動的にこの割り当てを実行することによって、い
ろいろな用途を提供することはさらに経済的である。シ
ステムの形態(topology)に起因して、共用できない資
源があることは勿論である。したがって、そのような実
施例におけるSPMは、合意した分割が実際に守られてい
ることを保証するという利点がある。
【0016】本発明は、たとえば、特定用途向け集積回
路(ASIC)で実現されるデジタル信号処理プロセッサに
特定の用途があることが判っているが、他の形式のプロ
セッサにも用途のあることが判っている。ASICは、設計
ライブラリによる設計済みの機能回路と結合されて個別
設計された機能回路を各メガセルが含む、1つまたは複
数のメガセルを含むことができる。
【0017】本発明は、この機能を含む単一チップを考
えているが、本発明は多数のチップを使うシステムで実
施され、さらにはこの発明を実施する際に、複数のプロ
セッサ・チップを備え、いくつかの適切なサブセットや
不適切なサブセットが使われる支援チップを追加できる
システムを含む。
【0018】図1は、本発明の実施例を含むデジタル・
システムのブロック図である。判りやすくするため、図
1は、本発明の実施例を理解することに関連するマイク
ロプロセッサ100の一部だけを示している。DSPの一
般的な構成の詳細は公知であるから、他のところでも容
易に判る。たとえば、Frederick Boutaudほかに交付さ
れた米国特許、第5,072,418号は、DSPを詳細に説明して
いる。Gary Swobodaほかに交付された米国特許、第5,32
9,471号は、DSPを試験する方法とエミュレートする方法
を詳細に説明している。マイクロプロセッサ技術の当業
者が本発明を応用することができるように、以下、本発
明の実施例に関連するマイクロプロセッサ100の一部
を十分詳細に説明する。
【0019】図1を参照すると、メガセル100は、3
2ビットのコア103を備えた制御プロセッサ(MPU)
102と、レベル2(L2)メモリ・サブシステム112
と呼ばれるメモリのブロック113とキャッシュ114
を共用するDSPコア105を備えているデジタル信号処
理プロセッサ(DSP)104を含む。トラヒック制御ブ
ロック110は、ホスト・インターフェース120bに接続
されたホスト・プロセッサからの転送要求、制御プロセ
ッサ102からの要求およびDSP104のメモリ・アク
セス・ノードからの転送要求を受信する。トラヒック制
御ブロックは、これらの要求をインターリーブして、こ
れらの要求を共用メモリと共用キャッシュに与える。共
用周辺装置116は、トラヒック制御ブロックを介して
アクセスされる。ダイレクト・メモリ・アクセス・コン
トローラ106は、オフ・チップ・メモリ132または
オン・チップ・メモリ134のような外部の発信源と共
用メモリとの間でデータを転送することができる。各種
の特定用途向けプロセッサやハードウエア・アクセラレ
ータ108は、各種アプリケーションの必要に応じてメ
ガセル内に含まれ、トラヒック制御ブロックを介してDS
PおよびMPUと対話することができる。
【0020】本発明の他の実施例におけるトラヒック制
御ブロックは、多くの設計者の間で知られている共用バ
ス、つまり相互接続が切り替えられる構成(switched i
nterconnection fabric)となりうる一般化された考え
方である。トラヒック制御ブロックは、データとアドレ
スの双方を転送する経路と、相互接続におけるルーティ
ングとコンテンションを管理するために必要な制御を含
む。トラヒック制御ブロックの説明は、本発明の用途を
限定するものではない。
【0021】メガセルの外部にあるレベル3(L3)制御
ブロック130は、DSPまたはMPU、つまり共用キャッシ
ュ114の失敗(miss)からの明らかな要求に応答し
て、内部のトラヒック制御ブロック110からメモリ要
求を受信するために接続されている。オフ・チップの外
部メモリ132およびオン・チップ・メモリ134また
はそのいずれかは、システム・トラヒック・コントロー
ラ130に接続され、これらは、L3メモリ・サブシステ
ムと呼ばれている。フレーム・バッファ136とディス
プレー装置138は、システム・トラヒック・コントロ
ーラに接続されて図形画像を表示するデータを受信す
る。ホスト・プロセッサ120aは、システム・トラヒ
ック・コントローラ130を介して外部資源と対話す
る。トラヒック・コントローラ130に接続されたホス
ト・インターフェースは、トラヒック・コントローラ1
30に接続された外部メモリと他の装置へのホスト12
0aによるアクセスを許可する。したがって、ホスト・
プロセッサは、各種実施例においてレベル3またはレベ
ル2で接続される。1組の専用周辺装置140はDSPに
接続され、他の1組の専用周辺装置142はMPUに接続
される。
【0022】本実施例におけるDSPプロセッサ104とM
PU102は、それぞれ別々のOSを実行している。本発明
の一態様によれば、システム保護マップ(SPM)150
は、1つのOSによって管理されている資源が他のOSの命
令で誤ってアクセスされることを防止するため、トラヒ
ック・コントローラ110に接続される。メモリ要求を
発信することができる各プロセッサ、DMA回路または周
辺装置は、各メモリ・アクセス要求とともに、信号R-ID
で資源識別値を与える。各要求がトラヒック・コントロ
ーラ110内で調整された後、メモリ・サブシステム1
12に転送されると、SPM150は、トラヒック・コン
トローラ110からの保留中のアドレス要求の資源識別
値とアドレスを信号151で受信する。
【0023】SPM150は、メモリ・サブシステム11
2、132、134と周辺装置116、136を含め、
トラヒック・コントローラ110のサービスを受けるメ
モリがマップされた装置(memory mapped devices:以
下メモリ・マップ装置と記す)のアドレス空間内の一組
のアドレス空間領域を定義する回路を含む。システムの
初期化中に、信頼されたエージェント(trusted agen
t)は、前記一組のアドレス空間領域に発信者のアクセ
ス権を割り当てる。この割り当ては、システム初期化の
後も固定されていることは不要であるが、交渉プロトコ
ルを介して変更される。しかし、SPMの変更がプロセッ
サの1つで走行するプログラムによって実行される以
上、そのプロセッサのOSによる誤使用からアクセス権の
割り当てを完全に安全にすることはできない。他のメモ
リ管理機構からこの機構を分離すると、システムの信頼
性がかなり改善する。
【0024】SPMは、保留中のメモリ・アクセス要求に
応答し、信号151で与えられたアドレス・バスの最上
位部分を試験することによって、どのアドレス空間領域
が要求されているか識別する。SPM150は、信号15
1で与えられた資源識別値で指定され保留中のメモリ要
求を発信した発信者資源が、アドレス空間領域にアクセ
スすることを許可されたか否かを決定する。発信者資源
が要求したアドレス空間領域へのアクセス権をもってい
る場合、その要求を進行させることが許可される。発信
者資源が要求したアドレス空間領域へのアクセス権をも
っていない場合、SPM150はそのアクセスを異常終了
させて、異常終了する要求されたアクセスに信号152
でバス・エラーを指示する。
【0025】バス・エラーは、状態(status)を発信者
に戻して、その要求に何らかの誤りがあったことを知ら
せる。要求する資源(requesting resource:以下、要
求資源と記す)がバス・エラーから適切に回復すること
ができるように、エラーの一般的な表示をすることとは
別に、このエラーのために区別されたタイプのバス・エ
ラーが使用される。
【0026】他の実施例における1つまたは複数の要求
資源は、バス・エラーを処理する機構を備えていてもよ
い。この場合、SPMからのエラー信号は、そのプロセッ
サ(offending processor)に割り込むために接続され
る。他の実施例における判断回路は、識別信号151を
評価して、或る資源のバス・エラー異常終了信号(buss
error abort signal)を立ち上げるとともに、識別信号
に入れられた値に依存して、識別信号によって指示され
るシステム・プロセッサへの割り込み信号を立ち上げ
る。
【0027】図2は、図1のシステムのさらに詳細なブ
ロック図であって、各要求資源に付随する資源識別回路
を示している。プロセッサ102、104とL2キャッシ
ュ112の間の各種の相互接続が示されている。資源識
別値は、プロセッサ資源102に付随するR-IDレジスタ
200aとプロセッサ資源104に付随するR-IDレジス
タ200bのような、各要求者資源(requester resour
ce)に付随するR-IDレジスタによって与えられる。DMA
エンジン106、各種周辺装置116と、メガセル10
0内のコプロセッサ108およびメガセル100に接続
された外部ホストまたはそのいずれかなど、他の要求資
源は資源IDレジスタを備えているが、簡単にするためこ
の図には示されていない。各要求資源は、それ自体に付
随するR-IDレジスタを有しているが、他の実施例を選択
して、資源の選ばれた一部だけに資源IDレジスタを設け
てもよい。
【0028】この実施例におけるタスクIDは、現在実行
中のタスクを識別する各コンテクスト切り替え中にロー
ドされるタスクIDレジスタによって与えられる。DMA、
コプロセッサなど、プロセッサではない資源に付随する
タスク・レジスタは、タスク・レジスタが支援するタス
クを示すタスク値とともにロードされる。他の実施例に
おいては、プログラム・モジュールを実行するプロセッ
サ資源だけが、付随するプログラム可能なタスクIDレジ
スタを有する。この場合、DMAのようなプロセッサでは
ない資源で発信されたアクセス要求にシステム全体に及
ぶデフォルト値を与えることができる。このデフォルト
値は、プログラム可能なレジスタや、たとえば固定配線
のバス・キーパーによって与えられてもよい。他の実施
例におけるタスクIDレジスタは、完全に省略されてもよ
い。
【0029】データバス202(n)、物理アドレス・
バス204(n)、資源ID信号206(n)およびタ
スクID信号208(n)は、各L2要求ごとに各資源によ
って与えられる。トラヒック・コントローラ110は要
求の優先順位を選択し、データバス202、物理アドレ
ス・バス204、資源ID信号206およびタスクID信
号208を使用して、L2キャッシュ112に最高優先順
位の要求を送り、各要求を完全に識別する。本実施例に
おけるTLBは、仮想アドレスを物理アドレスに変換する
ために使用される。他の実施例におけるTLBは必要では
ないので、各要求ごとに物理アドレス信号を与えなくて
もよい。その場合、アドレス信号は、たとえば、要求資
源に付随するレジスタから直接与えられる。
【0030】前述のように、SPM150は、トラヒック
・コントローラ110から信号151を受信するために
接続される。これらの信号は、アドレス・バス204の
最上位部分のコピーであるアドレス部204aと、資源
ID信号206のコピーである資源ID値206aを含
む。
【0031】他の実施例におけるR-IDレジスタとタスク
IDレジスタは、必ずしも資源のコアの一部ではなく、資
源バスに付随する必要もないので、たとえば、メモリ・
マップ・レジスタのようなシステムの他の場所に配置さ
れてもよい。唯一の制約は、CPUに関するタスクIDレジ
スタが関連するOSに制御され、コンテクスト切り替え中
に更新されなくてはならないことである。いくつかの実
施例のシステム初期化において、システム全体に分散配
置されたすべてのR-IDレジスタとタスクIDレジスタはゼ
ロに設定されるが、この値は、フィールドを無視するデ
フォルト値である。他の実施例では、各種のデフォルト
値を使用することができる。他の実施例におけるR-IDレ
ジスタは固定配線による(hardwired)値を提供する。
【0032】図3は、本発明の一態様のとおり、アドレ
ス空間領域300a〜300nに分割された図1のメガ
セル内のアドレス空間を模式的に示している。アドレス
空間300は、32ビットの物理アドレスを表し、メガ
セル100に接続されたメモリとメモリ・マップ周辺装
置とともに、共用RAM113と共用キャッシュ114、
およびメガセル100内のメモリ・マップ周辺装置のよ
うなすべてのメモリを含む。本発明の他の実施例では、
32ビット以外のアドレス空間を使用することができ
る。
【0033】ここに示すように、アドレス空間領域30
0a〜300nを均一なサイズにしてもよいし、非対称
にしてもよい。ここに示すように、アドレス空間領域の
数は比較的少なくてもよく、領域の数を多くして粒度の
細かい解像度にしてもよい。各アドレス空間領域ごと
に、そのアドレス空間領域内のメモリがマップされた場
所のどれかにアクセスすることがどの要求資源に許され
るかを指定する一組のアクセス権が保持される。
【0034】図4Aは、連想マッピング回路(associativ
e mapping circuitry)400aによって実施された図
1のシステムのシステム保護マップ(SPM)150のブ
ロック図である。連想マッピングは、アドレス領域の比
較に依存して領域の境界を発見する。保留中の要求の物
理アドレスと、いくつかのアドレス領域を比較して、1
つの領域と一致すると、どの領域が要求されているか識
別される。比較ブロック410aは、SPM150で具体
化される(instantiated)任意の数の比較ブロック41
0a〜410nを代表している。比較ブロック410a
内には、高限界(high limit)レジスタ420と低限界
(low limit)レジスタ421がある。比較器422
は、高限界レジスタ420の内容と、アドレス・バス2
04aから提供された物理アドレスを比較して、物理ア
ドレスが高限界より小さいか等しい場合は出力信号を立
ち上げる。同様に比較器423は、物理アドレスが低限
界レジスタ421の内容より大きいか等しい場合は出力
信号を立ち上げる。ANDゲート424は、2つの比較器
から2つの信号を受信して、提供された物理アドレスの
値が低限界と高限界の間である場合にのみアクセス権レ
ジスタ425が信号430と属性信号432を駆動する
ことを可能にするために接続される。この実施例におけ
るアクセス権レジスタ425は、各ビットが1つの要求
資源を表す8つのビットを含む。したがって、最大8つ
の資源のアクセス権が各アドレス領域に割り当てられ
る。各高限界レジスタおよび低限界レジスタと連想アク
セス権レジスタは、メモリ・マップ・レジスタとしてメ
ガモジュール100のプロセッサによって読み出された
り書き込まれたりするように構成される。代替実施例に
おいては、これらのいくつかのレジスタ、またはすべて
のレジスタは、たとえば、ROMまたは電気的に変更可能
なプログラマブルROM(EAPROM)として構成されてもよ
い。
【0035】復号回路440はR-ID信号206aを受信
して、提供された資源識別値を8つのID信号442の1
つに復号する。ID信号は、比較回路444によってアク
セス権(rights)信号430と個別に比較される。要求
資源が対応するアクセス権ビットを設定させない場合
は、異常終了信号152が立ち上げられ、要求されたメ
モリ・アクセスは禁止されてエラー処理が呼び出され
る。
【0036】属性信号432は、たとえば、読み出し専
用のアクセスを許可するような制限を資源のアクセス権
に組み入れるために使用される。
【0037】連想マッピングには、次に示すような、そ
れを推奨するいくつかの特徴がある。即ち、比較レジス
タの数を増減することによって複雑さが容易に増減す
る、各種サイズの物理アドレスを容易にサポートするよ
うに構成することができ、さらに非常に小さいか非常に
大きい領域を含む高度に変わるアドレス領域をサポート
する。また連想マッピングには、次に示すようにいくつ
かの欠点がある。即ち、複数のアドレス領域が提供され
た物理アドレスと一致するというように1つまたは複数
の限界レジスタが正しく設定されていない場合は、異常
動作が発生する。特定のシステムを具体的にするため
に、SPMを実装するメガモジュールに十分な数のアドレ
ス領域比較ブロックがなく、トランジスタの数と結果と
してつくられる集積回路(IC)のダイ・サイズの観点か
ら、完全に構成された連想アドレス・マップSPMを組み
込みシステムに使用することは高価になりすぎて使用で
きないほど、各比較ブロックが比較的高価であることな
どである。
【0038】図4Bは、マッピング回路400aの代わり
にSPM150で使用することができる。直接マッピング
により実現された代替実施例のマッピング回路400b
のブロック図である。直接マッピングは、物理アドレス
の一部を属性のテーブルのインデックスとして使用す
る。このテーブルが十分に大きくて、システムに実装さ
れる物理アドレスをすべてマップすることができれば、
連想型の比較の必要性は存在しない。図4Bのテーブル4
50は、復号器451を介して物理アドレス・バス20
4aの一部を復号することによって選択可能ないくつか
のエントリを含む。本例におけるバス204は32ビッ
トである。テーブル450の各エントリは、完全な4ギ
ガバイトの物理アドレス空間の16MBの固定サイズを表
す。各エントリは、24ビットのアドレス空間を表すの
で、最上位アドレスの8ビットだけが復号回路451で
復号される必要がある。8ビットのアドレスを完全にカ
バーするためには256エントリが要求される。各エン
トリは、メモリ・マップされた項目として読み出される
ように構成される。SPMテーブルのベースアドレスは、
各種の組み込みシステムのいろいろな場所で例示されそ
のサイズに揃えられる。
【0039】直接マッピングは、トランジスタの数とIC
の面積の観点から高価ではないという点で有利である。
直接マッピングは、複数の一致による影響を受けず、完
全に占有されている場合は全物理メモリ・アドレス空間
を常にカバーする。しかし、直接マッピング(memory)
にはいくつかの欠点がある。即ち、オーバーヘッドが一
定のとき、直接マッピング方法の複雑さは、容易にサイ
ズを増減できないことである。直接マッピングは、テー
ブルのエントリ数が多すぎなければ、小サイズの領域を
容易にサポートすることができない。
【0040】多数の組み込みシステムを実現する場合、
SPMテーブルの内容の大部分は一定である。何故なら
ば、SPMテーブルが、オン・チップ資源用のアドレス
や、バスの制限のために装置をまったく持つことができ
ないアドレスに対応しているからである。多くの場合、
外部バス上の装置をアドレス指定できる物理アドレスだ
けがプログラマブル・レジスタを有する必要がある。し
たがって、テーブル450はROMとして実装され、一部
はRAMとして実装される。代替方法として、ある部分をE
APROMとして実装してもよく、あるいは全く実装しなく
てもよい。使用されないエントリを実装しない場合、SP
Mのコストは、使用するアドレス空間の一部によって増
減し、非常に小さいシステム構成のSPMを非常に低コス
トにすることができるという利点がある。
【0041】図5は、図1の本発明の態様によるシステ
ムを動作させる方法を示す流れ図である。ステップ50
0で、複数の独立なオペレーティング・システムは、こ
のシステム内の全資源の所有者であると想定する。一般
に個々のオペレーティング・システムは、同一システム
内の他のOSに気づいていない。プロセッサ102上で実
行するOSは、周辺装置142のようなプロセッサ102
に直接付随する資源が割り当てられる。プロセッサ10
4上で実行するOSは、周辺装置140のようなプロセッ
サ104に直接付随する資源が割り当てられる。共用メ
モリ112のような共用資源は、両OSに割り当てられな
ければならい。各OSの下で実行中のアプリケーション・
ソフトウエアのプログラミングの規約(conventions)
により、資源の競合を防止することが試行される。
【0042】資源の正しい共用を強制するため、ステッ
プ500〜506で、信頼されたエージェントによって
システム保護マップ(SPM)150が設定される。OSの
1つはシステムのマスタであると指定され、SPMの設定
を担当する。上述のように、システムの初期化中に、マ
スタOS内のSPM管理タスクは、SPMにアクセスしてアクセ
ス権レジスタを初期化する。安全シーケンスは、SPM1
50への各アクセスごとにステップ152で実行され、
SPM管理タスクだけがSPMにアクセスしていることを検証
する。信頼されていないエージェントがSPMにアクセス
を試行すると、このアクセスは異常終了になり、ステッ
プ520でエラーが表示される。安全シーケンスは、後
で詳細に説明される。信頼されているSPM管理タスクがS
PMにアクセス中の場合、ステップ504でアドレス領域
レジスタが設定される。直接マップされる実施例のこの
ステップを実行する必要はない。ステップ506でアク
セス権レジスタが初期化される。
【0043】本発明の構成が静的な一実施例におけるSP
Mは、どのOSによっても設定されず、OSを開始する前の
開始ステップとして設定される。
【0044】SPMが一旦構成されると、システムのアプ
リケーション・ソフトウエアの動作が開始する。ステッ
プ510で表されるように、ソフトウエアの実行により
メモリ要求が発信される。各メモリ要求の発信元は、以
前に説明した資源IDを使用して識別される。
【0045】ステップ512でSPMは、システムのトラ
ヒック・コントローラ110で処理された各メモリ要求
を観察して、提供されたアドレスを評価することによっ
てどのアドレス領域がアクセスされているか識別する。
【0046】ステップ514でSPMは、識別したアドレ
ス領域にメモリ・アクセス要求を発信した資源が、メモ
リ・アクセス要求を備えた資源IDと、識別されたアドレ
ス空間領域に割り当てられたアクセス権を比較すること
により、識別した領域のアクセス権を有しているか否か
を決定する。要求資源がその領域へのアクセス権を有し
ていると、ステップ516でSPMはそのアクセスを許可
する。要求資源がその領域へのアクセス権を有していな
い場合は、ステップ520でSPMはそのアクセス要求を
異常終了させ、エラー条件を表示する。
【0047】アプリケーション・ソフトウエアの実行
中、システム資源を再構成することが必要なことがあ
る。これを受け入れるためには、SPMの適切なエントリ
を修正することによって、アクセス権を変更してもよ
い。SPMがアクセスされるたびに、アクセスが許可され
る前に、ステップ502の安全シーケンスの完了を成功
しなければならない。成功しなければ、そのアクセスは
異常終了する。
【0048】図6は、共用キャッシュと物理アドレス属
性マップ(PAAM)を有するとともに、本発明の実施例を
含む他のデジタル・システムのブロック図である。DSP
600は命令実行パイプライン用回路を含む。実行パイ
プライン内に含まれるものは、データと、メモリからの
命令および装置の回路640a〜640nにアクセスす
るためのアドレスをアドレス・バス602上に形成する
アドレス発生回路である。メモリ・マップ・レジスタ
と、タイマー、直列ポート、並列ポートなど、各種物理
装置に対するインターフェースも、メモリと装置の回路
640a〜640n内に含まれる。メモリ管理ユニット
(MMU)610は、アドレス・バス602を介してDSPア
ドレス発生器に接続される。MMU610は、アドレス・
バス602上の論理アドレスを、物理アドレス・バス6
12に与えられる物理アドレスに変換する。論理アドレ
スは、DSP600に接続された実際の物理メモリに直接
結合されないデータと命令の基準となる安定なフレーム
を与える。当業者は、アドレス変換用のMMUユニットの
一般的な動作を承知しているので、ここでさらにMMUユ
ニットの動作を説明しない。本発明のためには、MMU6
10の存在は任意である。事実、最近のDSPシステムの
大部分は、MMU610のようなメモリ管理ユニットを含
まない。MMU610がない場合、DSP600のアドレス発
生回路は論理アドレスの代わりに物理アドレスを発生
し、物理アドレス・バス612はDSP600のアドレス
・バス602に直接接続される。
【0049】プロセッサ650も物理アドレス・バス6
12に接続され、メモリと装置の回路640a〜640
nへのアクセスを共用する。プロセッサ650とDSP6
00は、ともに独立なOSを実行する。他の実施例におけ
るDSP600は、DSPというよりもプロセッサのタイプで
ありうる。DSP600とプロセッサ650は、独立なOS
を実行しながら、共用資源へのアクセスを共用する各種
のタイプの2つのプロセッサを代表している。本発明の
一態様によれば、システム保護マップ660は、前に説
明したように、アドレス空間領域の1つだけへのアクセ
ス、または、その資源が識別した領域へのアクセス権を
有している場合に限り、その別のプロセッサ資源へのア
クセスを許可するために与えられている。
【0050】図6の参照を続けると、キャッシュ・メモ
リ620は物理アドレス・バス612に接続されて、要
求された命令とデータ、またはそのいずれかを、メモリ
回路640a〜640nより速くDSP600に与える。
バス622は、DSP600の中央処理装置(CPU)へアク
セスした命令とデータ、またはそのいずれかを与えるデ
ータバスとともにキャッシュに接続されたアドレス・バ
スの双方を表す。当業者はキャッシュ回路に精通してい
るので、ここでキャッシュ回路620の詳細な説明はし
ない。物理アドレス属性マップ(PAAM)630は、物理
アドレス・バス612に接続され、所定の物理アドレス
のオン・チップまたはオフ・チップ・システムに内在し
ているハードウエアの能力をキャッシュ620およびDS
P600に説明するために用される。内在しているハー
ドウエアが、メモリ・セマンティックスを備えたランダ
ム・アクセス・メモリ(RAM)である場合は、キャッシ
ュは、その場所へのアクセスにいくつかの自由度(libe
rties)を取ることができる。たとえば、内在している
ハードウエアが直列ポートの受信用FIFOバッファである
場合は、セマンティックスはRAMと非常に異なるので、
キャッシュは、FIFOの揮発性挙動をマスクしないように
注意しなければならない。
【0051】PAAM630は、通常キャッシュ失敗(cach
e misses)のときにのみ相談をうける。キャッシュ失敗
をトリガするアドレスの特性はPAAM630によってつく
られ、キャッシュ可能性属性信号(cacheability attri
bute signals)632を介してキャッシュ620に結合
される。キャッシュ620は、キャッシュ可能性属性信
号に応答して、キャッシュ失敗をトリガした物理アドレ
スに実装された資源の種類として感知可能なキャッシュ
の挙動を選択する。属性信号634は各種メモリ回路6
40a〜640nに与えられ、アドレス指定された装置
をよりよく利用するバス・インターフェースに、情報を
転送する。
【0052】図6のようなDSPシステムを象徴する組み
込みシステムについて、いくつかの仮定を設けることが
できる。たとえば、上に説明したように、MMUは存在し
ていてもよいが、不要なことが多いので存在しない。物
理アドレス空間は、RAM、読みとり専用メモリ(ROM)お
よび入出力(I/O)装置、タイマーのような各種装置で
占有される。ROMおよび各種装置へのプログラムのアク
セスは頻繁にある。組み込みシステムにおけるキャッシ
ュは、場所をバックアップする物理アドレスがRAM、ROM
または装置であるか否か、MMUが存在しているか否かに
基づいて合理的に動作しなければならない。組み込みシ
ステムが設計され製造されると、アドレス・マッピング
がプログラマブルでない限り、RAM、ROMおよび装置の構
成とアドレス・マッピングがあったとしても、変更され
ることはまれである。一般に、空きのアドレス空間への
誤ったアクセスのためにシステム遅延が生じるのではな
く、適切に処理されるべきエラーとして誤ったアクセス
が迅速に報告されるように、空きのアドレス空間の存在
を認識することが大切である。たとえば、バス・トラン
ザクションの完了状態や割り込みによるなど、エラーは
いくつかの方法で信号として送られる。信号が送られる
と、状況に依存してエラー状態を設定したり、割り込み
の方向付け(vectoring)をしたり、または例外処理装
置を入れたりすることによって、プロセッサが応答す
る。
【0053】多数の異なるオペレーティング・システム
(OS)は、市販用ハードウエア、自家製(homegrown)
ハードウエアおよびむき出しのハードウエアを含む各種
の組み込みシステムで使用されている。都合の良いこと
に、物理アドレス属性マップを使用すると、システム保
護マップとともに、これらのオペレーティング・システ
ムのどれかが装備されたデジタル・システムの動作の信
頼性が改善する。
【0054】図7は、図6の物理アドレス属性マップの
各エントリごとの一組の物理アドレス属性を示す。物理
アドレス空間の領域の属性は、32ビットのPAAMエント
リによって指定される。これらのビットは、以下に説明
するように、コピー管理、順序指定子、アクセス指定子
および小領域空きフラグなど、いくつかのグループに分
割される。都合の良いことに、PAAM630の各領域は、
SPM660の領域として扱われ、共用エントリが使用さ
れる。
【0055】属性指定子の4ビットは、コピー管理グル
ープに含まれ、表1に示す領域のコピーをつくるきキャ
ッシュ動作機構(caching mechanisms)の挙動を制御す
るように定義される。これらビットは、この領域からデ
ータにアクセスする場合、ある状況の下ではキャッシュ
の実施を行ってもよいか、行わなくてはならないかを指
定する。
【表1】
【0056】図7にはSynchronous Store(SS)と呼ば
れる順序指定子ビットがある。順序指定子ビットは、故
障したメモリをサポートするシステムの実施例の中で使
用される。SSビットは、この領域(area)へのStoreが
厳密に指定された順序になっていることを強制する。SS
が「1」のアドレスへのStoreは、Synchronous Storeで
ある。DSPのパイプラインは、このStoreが装置で完了す
るまで他のLoadまたはStore演算を実行してはならな
い。「1」のSSは、IWが「1」かPCが「0」の場合にの
み意味がある。PCが「1」でIWが「0」の場合、チップ
の動作は定義されておらず、実行によって変わることが
ある。SSが「1」、PCが「1」、IWが「1」そしてWAが
「1」のとき、この領域へのWriteがWrite Allocateを
引き起こす場合に、この状況が生じるかもしれない。こ
の場合、動作は決定し、必要に応じてキャッシュの追い
出しを実行し、装置とキャッシュにSynchronous Write
を実行する前にキャッシュ・ラインの読み出しを実行す
る。
【0057】アクセス指定子のグループは、表2に定義
されるように、装置が読み出し動作と書き込み動作また
はそのいずれかをサポートするか否かを指定する。
【表2】
【0058】小領域空きフラグe15〜e0は、空いている
小領域を表示する。各領域は1/16に分割され、それぞれ
はこれらのフラグの1つによって制御される。小領域フ
ラグが「0」の場合、その領域指定子NR、NW、SS、PS、
IW、WAおよびPCはその小領域を制御する。小領域フラグ
が「1」の場合、その小領域の言外の指定子はPAAM_EMP
TYである(NRとNWが「1」で、他はすべて「0」であ
る)。
【0059】アクセス許可ビットA7〜A0は、SPM660
によって使用される各アドレス空間領域にアクセス権を
割り当てる。ビットA7〜A0のそれぞれは、発信者資源ID
がサブスクリプト(subscript)と一致する発信者資源
によるアドレス空間のその領域へのアクセスを制御す
る。したがって、前に説明したように、最大8つの発信
者資源を指定することができるとともに、いずれか
「1」つのアドレス空間領域へのアクセス権を割り当て
ることができる。
【0060】予約ビットr5が保留されているが、本実施
例では、このビットをゼロとして読み出さなければなら
ない。このビットへの書き込みは無視される。他の実施
例では、各種機能に対してこのビットを定義することが
できる。
【0061】表3は、組み込みシステムの初期化プログ
ラム内で使用され、PAAMのプログラマブル・エントリを
プログラムすることができる1組の定義を示す。定義9
〜16を使用することによって、システム内の最も共通な
装置に対して適切な挙動をもつプログラムを書くことが
できる。たとえば、定義9は、実装されないアドレス領
域に対応するPAAMテーブルの各エントリに格納される。
定義14は、ROMとして実装されるメモリ領域に対応するP
AAMテーブルの各エントリに格納される。PAAMの他のエ
ントリは、関連するアドレス領域の特性にしたがって適
切にロードされる。
【0062】信頼されたエージェントまたはSPMのプロ
グラマブル・エントリをプログラムするタスクに使うた
めの同様な1組の定義が表4に与えられている。たとえ
ば、SRAMへのアクセスをR-ID2、7に与えるためには、pa
mwd = PAAM_SRAM + PAAM_SPM_RID_2 + PAAM_SPM_RID_7
とタイプしてよい。変数pamwdは定数0x0000840Bに設定
される。
【0063】PAAM自体は、領域内でPAAM_DEV、定義15と
して符号化される。PAAM_DEVが符号化されるとSSが設定
されるので、PAAMエントリへの変更は、次回のDSPのLoa
dまたはStore演算で直ちに認識される。PAAMを修正する
場合は、時々関連するキャッシュを追い出す必要があ
る。次に示すこと、つまり、PAAM_PCをクリアする、エ
ントリでPAAM_PCが設定されている場合にPAAM_IWを設定
する、エントリでPAAM_PCが設定されている場合にPAAM_
NWまたはPAAM_NRを設定する、あるいはエントリでPAAM_
PCが設定されている場合にPAAM_PSを設定することが発
生する場合、修正された領域のエントリによってカバー
される領域内のアドレスのキャッシュは追い出されなけ
ればならない。
【表3】
【表4】
【0064】IW指定子とWA指定子は相互動作をする。こ
れらの2つの指定子に対する完全に機能的なキャッシュ
・システムが図5に示されている。いくつかの状況また
はあらゆる(some or all)状況下では、各種システム
の設計でWAを無視してもよいことに注意されたい。
【表5】
【0065】16MB領域のメモリが数種類の装置を含む場
合、PAAMエントリは、その領域内のすべての装置と互換
性のある機能に設定されなければならない。通常、この
ことは、その領域内のすべての装置がキャッシュされる
場合、PCが設定されるだけであることを意味する。NRお
よびNWは、その領域内のすべての装置に当てはまる場合
に設定されるだけである。その領域内のどれかの装置が
必要としている場合は、IWを設定しなければならない。
【0066】本発明の代替実施例では、指定されたSPM/
PAAMをどれだけ多く実装するかを選ぶ際に大きな許容度
がある。この選択には、全機構を実装する費用と、プロ
グラマブルSPM/PAAMレジスタの機能と柔軟性のバランス
をとることが含まれる。システムの実装は、(1)一定
数のエントリを実装する、(2)レジスタごとに或るビ
ットだけを実装する、という2つの方法でSPM/PAAMによ
って使用されるチップの面積の大きさを減らすことがで
きる。
【0067】(1)多数の物理アドレス空間マップの大
部分は、プログラマブルSPM/PAAMレジスタを必要としな
いので、一定数のエントリを実装することができる。物
理アドレス空間の大きな部分に、装置が無いかもしれな
い。その上、オン・チップ装置にマップする物理アドレ
ス空間は、プログラマブル・レジスタを必要としないか
もしれないし、ある数のビットだけがプログラム可能で
あることを要求しているかもしれない。たとえば、オン
・チップRAMは、PSビットとAnビットだけを必要として
いるかもしれない。一般に、SPM/PAAMを含むICまたはメ
ガモジュールを設計する場合に、判っていない装置を含
むように構成可能な外部バスに対し、(実装される程度
まで)完全にプログラムを組むことができなければなら
ない。
【0068】(2)実装では、指定子ビットのいくつか
だけを実装してもよい。チップにキャッシュがある場合
は、チップにPCを実装しなければならない。またチップ
には、他のコピー管理ビットを実装してもよい。メモリ
の共用がサポートされている場合は、PSを実装してもよ
い。スヌープ・キャッシュ(cache snooping)を実装し
て共用をサポートしてもよい。キャッシュがWAとIWの値
を利用できる場合は、チップにWAとIWを実装してもよ
い。チップがエラー検出をサポートしている場合は、チ
ップにNRとNWを実装しなければならないが、エラー検出
をサポートしていない場合は、NRとNWの実装を省略して
もよい。SSを実装せずにI/O装置の書き込みに十分に同
期をとることができるチップは、SSの実装を省略しても
よい。複数の制御レジスタを備えた装置の信頼性の高い
動作を妨げる異常なメモリ動作をチップが実行する場合
は、そのチップにSSを実装しなければならない。マップ
の中にプログラマブル・レジスタがある部分では、Writ
eは実装されているビットを設定するか、クリアしなけ
ればならない。実装されないビットは常に0であること
を確認しなくてはならない。Write Allocation またはW
rite Backを常に実行しているキャッシュ・システムを
含む実装は、PAAMにそれらの位置に定数「1」を戻させ
ることができる。しかし、PAAMは、キャッシュの構成ま
たは内容に基づいて異なる値を戻すように考えられては
いない。実装は、小領域空きフラグを実装しないことを
選ぶことができる。この場合、16個の領域のすべては
「0」として読み出され、Writeでは無視される。これ
らの実装は、そのエントリに関連するすべての小領域の
所定のエントリで指定子を使用する。
【0069】代替実施例においては、直接マップされた
テーブルでアドレスの一部をカバーしてもよく、1つま
たは複数の連想的にマップされた比較ブロックでアドレ
ス空間の他の部分をカバーしてもよい。
【0070】代替実施例においては、連想的にマップさ
れる各種実施例の各比較ブロックと、物理アドレスの全
ビットを比較してもよく、あるいは物理アドレスの限定
した数のビットを比較してもよく、その結果として粒度
の粗いアドレス領域が生じる。
【0071】代替実施例においては、PSを実装する実装
方法は、共用されるオン・チップ・メモリにプログラマ
ブル・レジスタを必要とするかもしれず、使用するオペ
コードとMMUからの情報、またはそのいずれかのような
プロセッサからの情報と、PAAMからのPSビットを組み合
わせて使用し、キャッシュ内のデータの共用状態を決定
してもよい。
【0072】PAAMの動作に関する詳細な説明は、EPO 特
許出願EP1126375、タイトルが「システム・アドレスの
特性によって制御されるキャッシュ・メモリ(Cache Me
moryControlled By System Address Properties)」の
中で与えられている。
【0073】図8は、図1または図6のSPMへのアクセ
スを防止するアクセス拒否・アクセス許可シーケンス機
構(lock and key access sequence mechanism)の状態
図である。この実施例では、1つのプロセッサだけが信
頼されたシステム保護装置ドライバからのSPMまたはSPM
/PAAMを更新することができると考えられている。疑似
乱数発生器のアクセス拒否・アクセス許可シーケンス
は、SPMまたはSPM/PAAMへの信頼できないまたは予想外
のアクセスを抑止する。
【0074】アクセス拒否・アクセス許可状態機械(st
ate machine)は、SPMまたはPAAMを更新しようと試みる
資源によってアクセス許可レジスタ(key register)が
読み出されるまで、待機状態800にある。アクセス許
可レジスタは、更新する発信者資源によって使用され、
疑似乱数アルゴリズム(PRA)を使用して新しいアクセ
ス許可の値を計算するためのシーズ(seed)値を与え
る。アクセス許可チェッカー(key checker)は、組み
込まれた特定のPRAを使用し、ソフトウエアは、計算し
たアクセス許可チャレンジ・レジスタ(key challenge
register)の値と、SPM保護論理の一部として計算され
た値が一致するようにその特定のアルゴリズムをエミュ
レートしなければならない。
【0075】次に状態802は、書き込むべきアドレス
更新レジスタを待ち合わせ、状態804は、書き込むべ
きデータ更新レジスタを待ち合わせる。状態806は、
アクセス許可チャレンジ・レジスタに書き込むべき新し
いアクセス許可の値を待ち合わせる。アクセス拒否・ア
クセス許可回路は、新しいアクセス許可の値と比較され
る新しい疑似乱数の値を発生する。それらの値が同じで
ある場合、状態機械は状態808に移動し、SPM/PAAM回
路は、指定されたアドレス更新位置で与えられたデータ
値によって更新される。新しいアクセス許可の値が一致
しない場合は、SPMまたはPAAMは更新されず、状態機械
は状態802に移動して再試行を待ち合わせる。このシ
ーケンスを一巡(traverse)しなければ、SPMまたはPAA
Mは更新されない。
【0076】図9は、図8のアクセス拒否・アクセス許
可シーケンスの状態機械のメモリ・マップ(memory map
ped)インターフェースを示すメモリ・マップである。
アクセス許可レジスタ900は、アクセス許可のシーズ
値を取得する信頼されたエージェントによって読みとら
れる。アドレス更新レジスタ902はアドレスを受信
し、データ更新レジスタ904は、レジスタ902に与
えられたアドレスに書き込むべきデータ値を受信する。
アクセス許可チャレンジ・レジスタ906は、アクセス
許可のシーズ値の読み出しに応答して、信頼されたエー
ジェントによって計算された新しいアクセス許可を受信
する。この新しいアクセス許可の値が正しいアクセス許
可の場合、状態機械は更新レジスタ904のデータをア
ドレス・レジスタで指定されたアドレスのSPMにコピー
する。信頼されたエージェントは、レジスタ908を読
み出してこのシーケンスの完了に成功したことを確認す
る。
【0077】アクセス許可チャレンジ・レジスタ906
に正しくない新しいアクセス許可の値が書き込まれる
と、SPMまたはPAAMは更新されず、レジスタ906はデ
フォルト値に設定される。信頼されたエージェントは、
レジスタ906を読み出して、シーケンスの完了に成功
しているか否かの確認をとる。さらに図1の割り込み信
号152または図6の割り込み信号662でエラーが表
示される。アクセス許可保護の故障に対しては、バス・
エラーを発生するよりも、割り込みを起こさせることが
望ましい。
【0078】この実施例はメモリ・マップ・レジスタの
4つの位置を使用する。当業者は、他のレジスタ方法を
使用して、アクセス保護機構を実現できることを承知し
ている。或る代替実施例は、異なるタイプのSPMアクセ
ス保護を提供するか、あるいは、SPMアクセス保護をす
べて除くかもしれない。
【0079】(システムの実施例)本発明の諸態様から
利点を引き出すことができるいくつかの模範的なシステ
ムは、米国特許第5,072,418号の中で、特に同特許の図2
〜18で説明されている。性能を改善したりコストを下げ
る本発明の一態様が組み込まれたマイクロプロセッサ
は、米国特許第5,072,418号に説明されているシステム
をさらに改善するために使用することができる。そのよ
うなシステムは、産業のプロセス制御、自動車システ
ム、モータの制御、ロボット制御システム、衛星通信シ
ステム、エコー消去システム、モデム、ビデオ画像シス
テム、音声認識システム、暗号化されたボコーダー・モ
デム・システムなどを含むが、これらのシステムに限定
されない。
【0080】図6は、ディスプレー14とディスプレー
14の周辺に配置され集積された入力センサ12a、1
2bを備えている携帯情報端末(PDA)のような、移動
通信装置内の集積回路などの例の代表的な実装を示して
いる。図10に示すように、デジタル・システム10
は、アダプタを介して、MPUの専用周辺装置142のよ
うな入力センサ12a、12bに接続されている図1に
よるメガセル100を含む。針または指を使い、入力セ
ンサ12a、12bを介してPDAに情報を入力すること
ができる。ディスプレー14は、フレーム・バッファ1
36と同様なローカル・フレーム・バッファを介してメ
ガセル100に接続される。ディスプレー14は、MPEG
ビデオ・ウィンドウ14a、共用されるテキスト文章ウ
ィンドウ14bおよび3次元ゲーム・ウィンドウ14c
のように重ねて表示できるウィンドウに画像およびビデ
オを出力する。
【0081】無線周波数(RF)回路(図示せず)はアン
テナ18に接続され、DSPの専用周辺装置140のよう
なメガセル100も接続されて無線通信網のリンクを提
供する。たとえば、DSP専用周辺装置140が、オフイ
ス環境における静かな使用方法を提供しているときに使
用するための有線通信網のリンクを設けるように、コネ
クタ20はケーブル・アダプタ・モデム(図示せず)に
接続され、そこからメガセル100に接続される。短距
離の無線リンク23は、イヤホーン22に接続され、DS
P専用周辺装置140のようにメガセル100に接続さ
れた低電力送信器(図示せず)によって駆動される。同
様に送話器24はメガセル100に接続され、送話器2
4と無線イヤホーン22を使用して、無線または有線の
通信網の他のユーザーと2方向の音声情報を換できるよ
うにする。
【0082】メガセル100は、無線通信網のリンクお
よび有線通信網のリンク、またはそのいずれかを介して
送受信中の音声とビデオ/画像の情報をすべて符号化す
るとともに復号する。
【0083】多くの他のタイプの通信システムおよびコ
ンピュータ・システム、特にバッテリの電力に依存する
多くのステムが本発明の恩恵を受けると考えられること
は勿論である。このような他のコンピュータ・システム
の例は、携帯計算機、スマートフォン、ウエブフォンな
どを含む。電力消費量や処理能力は、デスクトップ、電
力線給電型(line-powered)コンピュータ・システムさ
らにはマイクロコントローラの用途の関心事であり、特
に信頼性の観点からは、本発明は、このような電力線給
電型システムに利点を提供していると考られる。
【0084】デジタル・システム400の製造には、各
種の量の不純物を半導体基板に打ち込み、基板内でこれ
らの不純物を選択された深さに拡散してトランジスタデ
バイスを形成する複数のステップが含まれる。マスク
は、不純物の配置を制御するために形成される。導電性
材料と絶縁材料の複数の層を堆積させ、各種デバイスを
相互接続するためにエッチングを施す。これらのステッ
プはクリーンルームの環境において実行される。
【0085】データ処理デバイスを製造する費用のかな
りの部分は、テスト作業分を含む。ウエハーの形をして
いる間、個々のデバイスは動作状態にバイアスをかけら
れ、プローブによる基本動作機能のテストが実行され
る。ウエハーは、裸のダイまたはパッケージされたダイ
として販売することができる個々のダイスに分離され
る。パッケージの後、完成した部品は、動作状態にバイ
アスをかけられ、動作機能が試験される。
【0086】上記実施例のいずれかを含む集積回路に
は、面実装のための複数の接点を含む。しかし、集積回
路には、たとえば、回路の底面の挿入力がゼロのソケッ
トに搭載するための複数のピンなど、他の構成、あるい
は何らかの他の適当な構成が含まれる。
【0087】デジタル・システム100は、最新のデバ
ッグ機能に使う拡張ハードウエアを含む。これら機能と
拡張ハードウエアは、アプリケーション・システムを開
発する際に役に立つ。これらの機能は、CPU102、1
04自体のコアの一部であるから、これらの機能は、拡
張動作モードを備えたJTAGインターフェースだけを使用
することが可能である。これらの機能は、精緻なデバッ
グ動作を可能にするとともに経済的なシステムを開発す
るためのコアに対して、高価な配線と従来のエミュレー
タ・システムで必要なプロセッサ・ピンへのアクセスを
必要とせずに、またはシステム資源へ介入せずに簡単、
安価かつ高速で独立したアクセスを提供する。
【0088】このようにデジタル・システムはシステム
保護マップを備え、アドレス変換マップが提供されてい
るかいないかに関わらずプロセッサ間の保護を実行す
る。
【0089】都合の良いことに、1つのプロセッサ上の
独立なオペレーティング・システムに起因して発生し、
他のプロセッサ上の異なる独立なオペレーティング・シ
ステムによって使用中の資源を誤って駄目にしてしま
う、多数のプログラミング・エラーは、検出されて報告
される。
【0090】都合の良いことに、システム保護マップと
物理アドレス属性マップを結合してさらに強靱なシステ
ムを提供することができる。
【0091】ここで使用されているように、「適用され
る(applied)」、「接続される(connected)」および
「接続(connection)」という用語は、何らかの要素が
電気的接続経路内に追加されて存在することを含め、電
気的に接続されることを意味する。「関連する(associ
ated)」という用語は、「関連するポートによって制御
されるメモリ資源」のように、関係を制御することを意
味する。「立ち上げる(assert)」、「立ち上げ(asse
rtion)」「立ち下げる(de-assert)」「立ち下げ(de
-assertion)」「否定する(negate)」および「否定
(negation)」という用語は、アクティブ・ハイの信号
とアクティブ・ローの信号の混合を扱う場合に混乱を避
けるために使用される。「立ち上げる」および「立ち上
げ」は、信号がアクティブになるか、論理的に真である
ことを示す。「立ち下げる」、「立ち下げ」、「否定す
る」および「否定」は、信号がインアクティブになる
か、論理的に偽であることを示す。
【0092】実例となる実施例を参照しつつ本発明を説
明してきたが、この説明が本発明を限定する感覚で解釈
されることを意図していない。本発明の他の各種実施例
は、この説明を参照すれば当業者には明らかであろう。
たとえば、SPMエントリの中に異なる数の資源を設けて
もよい。たとえば、4ビットだけで2つのプロセッサ、
DMAエンジン、および1つのマスタ周辺装置を区別して
もよい。各種のタイプの外部資源を設けてもよい。各種
サイズおよび各種構成の物理アドレスとデータバスを設
けてもよい。他のプロセッサからの要求が要求転送回路
で調整されるマルチプロセッサ・システムを構成するこ
とができる。
【0093】したがって、特許請求の範囲は、各種実施
例のそのような修正が、本発明の真の範囲と趣旨の中に
入るものと意図されている。
【0094】以上の説明に関して更に以下の項を開示す
る。 (1)共用メモリ・サブシステムに接続された複数の資
源を有するデジタル・システムを動作させる方法であっ
て、前記メモリ・サブシステムのアドレス空間内の複数
の領域を定義するステップと、前記複数の領域の少なく
とも一部に発信側のアクセス権を割り当てるステップ
と、前記複数の資源からのメモリ・アクセス要求によっ
て、前記複数の領域のどれがアクセスされているか識別
するステップと、前記複数の資源のどれが前記要求を発
信したか判別するステップと、前記識別された領域に前
記メモリ・アクセス要求を発信したことを判別された前
記資源が、前記識別された領域の発信者アクセス権を有
しているか否かを決定するステップと、前記判別された
資源が前記識別された領域に対する発信者アクセス権を
有している場合にのみ、前記判別された資源による前記
識別された領域へのアクセスを許可するステップと、を
含む前記方法。
【0095】(2)第1項に記載の方法であって、前記
判別するステップで使用する前記複数の資源からの前記
メモリ・アクセス要求を資源識別値に与えるステップを
さらに含む前記方法。
【0096】(3)第1項から第2項のいずれかに記載
の方法であって、前記判別するステップで使用する前記
複数の資源からの各メモリ・アクセス要求を資源識別値
に与える前記ステップをさらに含む前記方法において、
前記決定するステップは、前記メモリ・アクセス要求を
与えられた前記資源識別値と、前記識別された領域に割
り当てられた発信者アクセス権の値を比較する前記方
法。
【0097】(4)第1項から第3項のいずれかに記載
の方法において、前記複数の資源の一部はプロセッサで
あり、前記プロセッサのそれぞれは、別のオペレーティ
ング・システムの下で動作する前記方法。
【0098】(5)第1項から第4項のいずれかに記載
の方法であって、前記複数の領域の第1の領域でアクセ
スを識別することに応答して第1のモードでキャッシュ
を動作させるとともに、第2の領域でアクセスを識別す
ることに応答して第2のモードでキャッシュを動作させ
るステップをさらに含む前記方法。
【0099】(6)第1項から第5項のいずれかに記載
の方法であって、前記複数の領域の第3の領域でアクセ
スを識別することに応答して第1のモードで前記メモリ
・サブシステムを動作させるとともに、第4の領域でア
クセスを識別することに応答して第2のモードで前記メ
モリ・サブシステムを動作させるステップをさらに含む
前記方法。
【0100】(7)第1項から第6項のいずれかに記載
の方法において、前記複数の資源の少なくとも1つは、
ダイレクト・メモリ・アクセス・コントローラまたはI/
Oマスタである前記方法。
【0101】(8)第1項から第7項のいずれかに記載
の方法において、前記複数の領域を定義するステップ
は、領域境界値のテーブルを設定するステップと、前記
テーブルの修正が許可される前に、アクセス・シーケン
スの完了が成功することを要求することにより、前記テ
ーブルへの修正アクセスを抑止するステップと、を含む
前記方法。
【0102】(9)共用メモリ・サブシステムをアクセ
スするために接続された複数のプロセッサと、前記複数
のプロセッサに接続され、前記複数のプロセッサのどれ
が前記共用メモリ・サブシステムへのアクセスを要求し
ているかを表示する資源識別手段と、前記共用メモリ・
サブシステムへのアクセス要求に応答して、前記資源識
別手段から資源識別値を受信するために接続され、前記
資源識別値に応答して、前記共用メモリへのアクセスを
抑止するように動作可能な抑止回路と、を含むデジタル
・システム。
【0103】(10)第9項に記載のシステムにおい
て、前記抑止回路は、前記メモリ・サブシステムのアド
レス空間内の複数の領域を定義する手段と、前記複数の
領域の少なくとも一部に発信者アクセス権を割り当てる
手段と、前記複数のプロセッサからのメモリ・アクセス
要求によって、前記複数の領域のどれがアクセスされて
いるか識別する手段と、資源識別値と、前記複数の領域
の識別された1つの領域のアクセス権を比較する手段
と、を含む前記システム。
【0104】(11)共用メモリ・サブシステム(11
2)に接続されるいくつかのプロセッサ(102、10
4)と周辺装置(106、116)を有するデジタル・
システムを動作させる方法と装置が与えられている。2
つまたはそれ以上のプロセッサは、別々のオペレーティ
ング・システムを実行する。共用資源へのアクセスを制
御するため、前記メモリ・サブシステムのアドレス空間
内の1組のアドレス空間領域は、システム保護マップ
(SPM)(150)の中で定義される。資源アクセス権
は、前記1組の領域の少なくとも一部に割り当てられ、
どの発信者資源が各領域にアクセスすることが許可され
ているか表示する。前記アクセス要求を備えたアドレス
を使用すると、メモリ・アクセス要求によってアクセス
されている領域がSPMによって識別される。各アクセス
要求中に、各アクセス要求を備えている資源識別値(R-
ID)を使用し、SPMが前記要求の発信元を識別すると、
前記識別された領域をアクセスする資源が前記識別され
た領域に対するアクセス権を有しているか否かの決定が
実行される。前記識別された領域へのアクセスは、前記
資源が前記識別された領域へのアクセス権を有している
場合のみ、発信者資源に許可され、それ以外の場合はエ
ラー処理(151)を開始する。
【図面の簡単な説明】
【図1】複数のプロセッサコアとシステム保護マップ
(MAP)回路を備えた本発明の実施例を含むデジタル・
システムのブロック図を示す図。
【図2】図1のシステムの資源識別回路を示すさらに詳
細なブロック図を示す図。
【図3】本発明の一態様による、複数の領域に分割され
た図1のメガセルのアドレス空間を模式的に示す図。
【図4A】図1のシステムの物理アドレス属性マップの
ブロック図であって、関連するマッピングとともに実行
される図1のシステムの物理アドレス属性マップのブロ
ック図を示す図。
【図4B】関連するマッピングとともに実行される図6
のシステムの物理アドレス属性マップの別の実施例のブ
ロック図を示す図。
【図5】本発明の各種態様にしたがって、図1のシステ
ムを動作させる方法の流れ図を示す図。
【図6】共用キャッシュと物理アドレス属性マップ(PA
AM)を有するとともに本発明の実施例を含む他のデジタ
ル・システムのブロック図を示す図。
【図7】図6の物理アドレス属性の各エントリごとの1
組の物理アドレス属性を示す図。
【図8】図1または図6のSPMへのアクセスを保護する
アクセス拒否・アクセス許可シーケンス機構の状態図を
示す図。
【図9】図8のアクセス拒否・アクセス許可シーケンス
機構のメモリ・マップ・インターフェースを示すレジス
タ・マップを示す図。
【図10】本発明の実施例を含む無線携帯情報端末を示
す図。
【符号の説明】 100 メガセル 102 マイクロプロセッサ(MPU) 103、105 コア 104 デジタル信号処理プロセッサ(DSP) 106 ダイレクトメモリアクセス(DMA)プロセッサ 108 特定用途向け集積回路(ASIC) 110 トラヒック制御ブロック 112 レベル2メモリサブシステム 113 共用メモリ 114 共用キャッシュ 116 共用周辺装置 120a システムホスト 120b ホストインターフェース 130 システムトラヒックコントローラおよびアービ
トレータ 132 オフ・チップ・メモリ 134 オン・チップ・メモリ 136 ローカルフレームバッファ 138 ディスプレー 140 DSP専用周辺装置 142 MPU専用周辺装置 150 システム保護マップ(SPM) 151 信号 152 異常終了信号 200a、200b 資源ID(R-ID) 202、202(0)〜202(n) データバス 204、204(0)〜204(n) 物理アドレス・
バス 206、206(0)〜206(n) 資源ID信号 208(0)〜208(n) タスクID信号 300 アドレス空間 300a〜300n アドレス空間領域 400a 連想マッピング回路 410a〜410n 比較ブロック 420 高限界レジスタ 421 低限界レジスタ 422、423 比較器 424 ANDゲート 425 アクセス権レジスタ 430 アクセス権信号 432 属性信号 440 ID信号 444 比較回路 450 テーブル 451 復号器 600 DSP 601 DSPアドレス発生器 602 アドレス・バス 610 メモリ管理ユニット(MMU) 612 物理アドレス・バス 620 キャッシュ 622 バス 630 物理アドレス属性マップ(PAAM) 632 キャッシュ可能性属性信号 634 属性信号 640a〜640n メモリおよび装置回路 650 プロセッサ 660 システム保護マップ 900 アクセス許可レジスタ 902 アドレス更新レジスタ 904 データ更新レジスタ 906 アクセス許可チャレンジレジスタ 10 デジタルシステム 12a、12b 入力センサ 14 ディスプレー 14a PEGビデオ・ウィンドウ 14b テキト文章共用ウィンドウ 14c 3次元ゲーム・ウィンドウ 18 アンテナ 20 コネクタ 22 無線イヤホーン 23 短距離無線リンク 24 コネクタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】共用メモリ・サブシステムに接続された複
    数の資源を有するデジタル・システムを動作させる方法
    であって、 前記メモリ・サブシステムのアドレス空間内の複数の領
    域を定義するステップと、 前記複数の領域の少なくとも一部に発信側のアクセス権
    を割り当てるステップと、 前記複数の資源からのメモリ・アクセス要求によって、
    前記複数の領域のどれがアクセスされているか識別する
    ステップと、 前記複数の資源のどれが前記要求を発信したか判別する
    ステップと、 前記識別された領域に前記メモリ・アクセス要求を発信
    したことを判別された前記資源が、前記識別された領域
    の発信者アクセス権を有しているか否かを決定するステ
    ップと、 前記判別された資源が前記識別された領域に対する発信
    者アクセス権を有している場合にのみ、前記判別された
    資源による前記識別された領域へのアクセスを許可する
    ステップと、を含む前記方法。
  2. 【請求項2】 共用メモリ・サブシステムをアクセスす
    るために接続された複数のプロセッサと、 前記複数のプロセッサに接続され、前記複数のプロセッ
    サのどれが前記共用メモリ・サブシステムへのアクセス
    を要求しているかを表示する資源識別手段と、 前記共用メモリ・サブシステムへのアクセス要求に応答
    して、前記資源識別手段から資源識別値を受信するため
    に接続され、前記資源識別値に応答して、前記共用メモ
    リへのアクセスを抑止するように動作可能な抑止回路
    と、を含むデジタル・システム。
JP2002189430A 2001-06-29 2002-06-28 システム保護マップ Pending JP2003099326A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30205301P 2001-06-29 2001-06-29
US302053 2001-06-29

Publications (1)

Publication Number Publication Date
JP2003099326A true JP2003099326A (ja) 2003-04-04

Family

ID=23166057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002189430A Pending JP2003099326A (ja) 2001-06-29 2002-06-28 システム保護マップ

Country Status (4)

Country Link
US (1) US6775750B2 (ja)
EP (1) EP1271327B1 (ja)
JP (1) JP2003099326A (ja)
DE (1) DE60231362D1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007501477A (ja) * 2003-05-29 2007-01-25 フリースケール セミコンダクター インコーポレイテッド アクセス許可を決定するための方法および装置
JP2010152527A (ja) * 2008-12-24 2010-07-08 Sony Computer Entertainment Inc ユーザレベルdmaとメモリアクセス管理を提供する方法と装置
JP4756562B2 (ja) * 2006-02-22 2011-08-24 株式会社ソニー・コンピュータエンタテインメント 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
JP2018097719A (ja) * 2016-12-15 2018-06-21 ルネサスエレクトロニクス株式会社 データ処理装置、及びアクセス制御方法

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801994B2 (en) * 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US6976136B2 (en) 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US7277972B2 (en) * 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
EP1540532B1 (en) 2002-09-09 2006-07-05 Sap Ag Methods, Systems and Programs for controlling access to data objects using locks
US7653667B2 (en) * 2002-09-09 2010-01-26 Sap Ag Methods and systems for data moving using locks
US20060149696A1 (en) * 2002-09-09 2006-07-06 Thorsten Pferdekaemper Method and systems for controlling access to a data object by means of locks
US7756813B2 (en) 2002-09-09 2010-07-13 Sap Ag Electronic data structure for controlling access to data objects using locks
US7457933B2 (en) * 2002-09-09 2008-11-25 Sap Ag Methods and systems for archiving data
US7693881B2 (en) 2002-09-09 2010-04-06 Sap Ag Methods and systems for moving data using locks
US7266786B2 (en) * 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
US7231476B2 (en) * 2002-11-18 2007-06-12 Arm Limited Function control for a processor
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
DE10335643B4 (de) * 2003-08-04 2007-10-31 Infineon Technologies Ag Vorrichtung und Verfahren zum Steuern des Zugriffs von mehreren Datenverarbeitungseinrichtungen auf einen Speicher
EP1544820B1 (en) * 2003-12-11 2013-07-31 Atos Worldline S.A. Electronic data processing device
EP1542181A1 (en) * 2003-12-11 2005-06-15 Banksys S.A. Electronic data processing device
US8001348B2 (en) 2003-12-24 2011-08-16 Intel Corporation Method to qualify access to a block storage device via augmentation of the device's controller and firmware flow
US20060085629A1 (en) * 2003-12-24 2006-04-20 Intel Corporation Mapping a reset vector
US7228400B2 (en) * 2003-12-31 2007-06-05 Intel Corporation Control of multiply mapped memory locations
US20050204155A1 (en) * 2004-03-09 2005-09-15 Nec Laboratories America, Inc Tamper resistant secure architecture
US20060112226A1 (en) * 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
TWI330783B (en) * 2005-01-13 2010-09-21 Via Tech Inc Memory address monitoring device and method thereof
US7451249B2 (en) 2005-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Method and apparatus for direct input and output in a virtual machine environment containing a guest operating system
EP1742152B1 (en) * 2005-07-07 2012-09-12 Texas Instruments Inc. Method and system for a multi-sharing memory access control
US7492723B2 (en) * 2005-07-07 2009-02-17 International Business Machines Corporation Mechanism to virtualize all address spaces in shared I/O fabrics
US7496045B2 (en) * 2005-07-28 2009-02-24 International Business Machines Corporation Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes
US7395367B2 (en) * 2005-10-27 2008-07-01 International Business Machines Corporation Method using a master node to control I/O fabric configuration in a multi-host environment
US7363404B2 (en) * 2005-10-27 2008-04-22 International Business Machines Corporation Creation and management of destination ID routing structures in multi-host PCI topologies
US7631050B2 (en) * 2005-10-27 2009-12-08 International Business Machines Corporation Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment
US7474623B2 (en) * 2005-10-27 2009-01-06 International Business Machines Corporation Method of routing I/O adapter error messages in a multi-host environment
US7430630B2 (en) * 2005-10-27 2008-09-30 International Business Machines Corporation Routing mechanism in PCI multi-host topologies using destination ID field
KR100866951B1 (ko) * 2005-10-28 2008-11-05 삼성전자주식회사 메모리에 저장된 데이터를 보호할 수 있는 프로그래머블프로세서 및 방법
US20070136458A1 (en) * 2005-12-12 2007-06-14 Boyd William T Creation and management of ATPT in switches of multi-host PCI topologies
US20070165596A1 (en) * 2006-01-18 2007-07-19 Boyd William T Creation and management of routing table for PCI bus address based routing with integrated DID
US7707465B2 (en) * 2006-01-26 2010-04-27 International Business Machines Corporation Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
US7380046B2 (en) * 2006-02-07 2008-05-27 International Business Machines Corporation Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system
US7484029B2 (en) * 2006-02-09 2009-01-27 International Business Machines Corporation Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
EP1903443B1 (en) 2006-04-06 2011-07-13 Sony Corporation Bridge, processor unit, information processing apparatus and access control method
JP2007304954A (ja) * 2006-05-12 2007-11-22 Sharp Corp メモリ保護機能を有するコンピュータシステム
US20080086603A1 (en) * 2006-10-05 2008-04-10 Vesa Lahtinen Memory management method and system
US20080133847A1 (en) * 2006-11-30 2008-06-05 John Mark Morris Void extent method for data integrity error handling
US20080137676A1 (en) * 2006-12-06 2008-06-12 William T Boyd Bus/device/function translation within and routing of communications packets in a pci switched-fabric in a multi-host environment environment utilizing a root switch
US7571273B2 (en) * 2006-12-06 2009-08-04 International Business Machines Corporation Bus/device/function translation within and routing of communications packets in a PCI switched-fabric in a multi-host environment utilizing multiple root switches
US8117478B2 (en) * 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events
US7822911B2 (en) * 2007-08-15 2010-10-26 Micron Technology, Inc. Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
US8291174B2 (en) * 2007-08-15 2012-10-16 Micron Technology, Inc. Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
DE102007045398A1 (de) * 2007-09-21 2009-04-02 Continental Teves Ag & Co. Ohg Integriertes Mikroprozessorsystem für sicherheitskritische Regelungen
US20090164738A1 (en) * 2007-12-21 2009-06-25 Microsoft Corporation Process Based Cache-Write Through For Protected Storage In Embedded Devices
US8006055B2 (en) 2008-03-04 2011-08-23 Microsoft Corporation Fine granularity hierarchiacal memory protection
US8812796B2 (en) * 2009-06-26 2014-08-19 Microsoft Corporation Private memory regions and coherence optimizations
US8402218B2 (en) 2009-12-15 2013-03-19 Microsoft Corporation Efficient garbage collection and exception handling in a hardware accelerated transactional memory system
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
JP5908991B2 (ja) * 2011-12-21 2016-04-26 インテル・コーポレーション 安全なダイレクトメモリアクセス
US9740518B2 (en) 2012-09-12 2017-08-22 Nxp Usa, Inc. Conflict detection circuit for resolving access conflict to peripheral device by multiple virtual machines
US9904802B2 (en) 2012-11-23 2018-02-27 Nxp Usa, Inc. System on chip
GB2511794B (en) * 2013-03-13 2020-12-02 Advanced Risc Mach Ltd A Protection Unit and Method for Controlling Access by Plural Processes to a Storage Unit
WO2015008112A1 (en) * 2013-07-18 2015-01-22 Freescale Semiconductor, Inc. System on chip and method therefor
US10079019B2 (en) 2013-11-12 2018-09-18 Apple Inc. Always-on audio control for mobile device
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US9619377B2 (en) 2014-05-29 2017-04-11 Apple Inc. System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US10031000B2 (en) 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
US9479331B2 (en) * 2014-08-20 2016-10-25 Apple Inc. Managing security in a system on a chip (SOC) that powers down a secure processor
US9690719B2 (en) 2014-09-11 2017-06-27 Nxp Usa, Inc. Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof
US10929302B2 (en) * 2018-06-08 2021-02-23 International Business Machines Corporation MMIO addressing using a translation table
US11321240B2 (en) 2018-06-08 2022-05-03 International Business Machines Corporation MMIO addressing using a translation lookaside buffer
JP2020177074A (ja) * 2019-04-16 2020-10-29 株式会社デンソー 車両用装置、車両用装置の制御方法
US11194729B2 (en) 2019-05-24 2021-12-07 Texas Instruments Incorporated Victim cache that supports draining write-miss entries
CN112384923A (zh) * 2019-11-27 2021-02-19 深圳市大疆创新科技有限公司 内存访问方法、微处理器、客户端及计算机存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814982A (en) 1984-12-24 1989-03-21 General Electric Company Reconfigurable, multiprocessor system with protected, multiple, memories
US5161227A (en) * 1989-11-13 1992-11-03 International Business Machines Corporation Multilevel locking system and method
EP0569605A1 (de) * 1992-05-06 1993-11-18 International Business Machines Corporation Verfahren zur Zugriffsverwaltung und -steuerung mehrerer Rechner auf gemeinsame Daten
DE69327633T2 (de) 1992-11-13 2000-08-10 National Semiconductor Corp., Richardson Mikroprozessor mit Adressbereichkonfigurationsystem und Verfahren zur Steuerung von Speichersystemoperationen mittels Adressbereichen
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
US5991895A (en) * 1995-05-05 1999-11-23 Silicon Graphics, Inc. System and method for multiprocessor partitioning to support high availability
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6253274B1 (en) * 1998-08-28 2001-06-26 International Business Machines Corporation Apparatus for a high performance locking facility
US6567897B2 (en) * 2001-03-01 2003-05-20 International Business Machines Corporation Virtualized NVRAM access methods to provide NVRAM CHRP regions for logical partitions through hypervisor system calls

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007501477A (ja) * 2003-05-29 2007-01-25 フリースケール セミコンダクター インコーポレイテッド アクセス許可を決定するための方法および装置
JP4756562B2 (ja) * 2006-02-22 2011-08-24 株式会社ソニー・コンピュータエンタテインメント 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
JP2011181089A (ja) * 2006-02-22 2011-09-15 Sony Computer Entertainment Inc 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
JP2011204247A (ja) * 2006-02-22 2011-10-13 Sony Computer Entertainment Inc 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置
US8533426B2 (en) 2006-02-22 2013-09-10 Sony Corporation Methods and apparatus for providing independent logical address space and access management
JP2010152527A (ja) * 2008-12-24 2010-07-08 Sony Computer Entertainment Inc ユーザレベルdmaとメモリアクセス管理を提供する方法と装置
JP2018097719A (ja) * 2016-12-15 2018-06-21 ルネサスエレクトロニクス株式会社 データ処理装置、及びアクセス制御方法

Also Published As

Publication number Publication date
US6775750B2 (en) 2004-08-10
DE60231362D1 (de) 2009-04-16
EP1271327A2 (en) 2003-01-02
US20030018860A1 (en) 2003-01-23
EP1271327B1 (en) 2009-03-04
EP1271327A3 (en) 2004-05-12

Similar Documents

Publication Publication Date Title
JP2003099326A (ja) システム保護マップ
US7266824B2 (en) Address space priority arbitration
US7120715B2 (en) Priority arbitration based on current task and MMU
US6839813B2 (en) TLB operations based on shared bit
US6684280B2 (en) Task based priority arbitration
KR101722379B1 (ko) 이종 멀티프로세서 시스템에서 공유 메모리 영역들을 위한 동적 어드레스 협상
JP5735070B2 (ja) パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換
US6760829B2 (en) MMU descriptor having big/little endian bit to control the transfer data between devices
US8706942B2 (en) Direct memory access (DMA) address translation between peer-to-peer input/output (I/O) devices
JP2008097173A (ja) データプロセッサ
CN114860329B (zh) 动态一致性偏置配置引擎及方法
JP5433349B2 (ja) データプロセッサ
US7712098B2 (en) Data transfer controlled by task attributes
CN116583840A (zh) 快速外围部件互连保护控制器
EP2569702B1 (en) Determination of one or more partitionable endpoints affected by an i/o message
US5727179A (en) Memory access method using intermediate addresses
US9336029B2 (en) Determination via an indexed structure of one or more partitionable endpoints affected by an I/O message
Bost Hardware support for robust partitioning in freescale qoriq multicore socs (p4080 and derivatives)
CN111666579A (zh) 计算机设备及其访问控制方法和计算机可读介质
JP4965974B2 (ja) 半導体集積回路装置
CN114385529B (zh) 直接记忆体存取控制器、使用其之电子装置以及操作其的方法
CN114385528A (zh) 直接记忆体存取控制器、使用其之电子装置以及操作其的方法
CN118633075A (zh) 一种处理请求的方法、装置及系统
JP2001273192A (ja) マイクロプロセッサを有するディジタル・システム及びそのディジタル・システムを動作させる方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090602