メモリと、1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードとを含む複数のモードを有する、プログラム命令に応答して処理動作を実行する処理回路であって、前記メモリが、iii前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である、1つまたは複数のセキュア領域と、iv前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である、1つまたは複数の非セキュア領域とを備える処理回路と、ページテーブルデータに応答して前記メモリに対するアクセスを管理するメモリ制御回路と、を備え、前記ページテーブルデータは、前記処理回路が前記1つまたは複数のセキュアモードで動作中、前記メモリに対するアクセスを管理するために用いられるセキュアモードページテーブルデータと、前記処理回路が前記1つまたは複数の非セキュアモードで動作中、前記メモリに対するアクセスを管理するために用いられる非セキュアモードページテーブルデータとを含み、前記セキュアモードページテーブルデータは、第1ページテーブルレベルにおける第1レベルページテーブルが、前記第1ページテーブルレベルよりもヒエラルキーにおいてより低い第2ページテーブルレベルにおけるそれぞれの第2レベルページテーブルをポイントするページテーブルエントリーを含むよう、関連するページテーブルレベルが構成された状態である、ページテーブルの前記ヒエラルキーを含み、前記第1レベルページテーブルの各ページテーブルエントリーは、前記ページテーブルエントリーによりポイントされる第2レベルページテーブルが前記1つまたは複数のセキュア領域内かまたは前記1つまたは複数の非セキュア領域内に格納されているかどうかを示すテーブルセキュリティフィールドを含む、データ処理装置。前記メモリ制御回路は、ページテーブルウォーク動作を実行するよう構成され、前記ページテーブルウォーク動作においては、前記ヒエラルキーで前記ページテーブルレベルにおける降順で一連のページテーブルエントリーがアクセスされることにより、管理されるメモリアクセス動作の属性データが取得され、前記一連のページテーブルエントリーのうちのいずれかが、前記一連のページテーブルエントリーのうちの1つが前記1つまたは複数の非セキュア領域内に格納されていることを示す前記テーブルセキュリティフィールドの値を有する場合、前記メモリ制御回路は前記メモリアクセス動作を非セキュアメモリアクセス動作として特定する、請求項1に記載の装置。前記メモリ制御回路は、非セキュアテーブル属性を、前記メモリアクセス動作に対して取得された前記属性データ内に含めることにより、前記メモリアクセス動作を非セキュアメモリアクセス動作として特定する、請求項2に記載の装置。前記メモリアクセス動作が、前記メモリ制御回路により非セキュアメモリアクセス動作として特定され、前記メモリアクセス動作が、前記1つまたは複数のセキュア領域に向けられる場合、前記メモリは前記メモリアクセス動作をブロックする、請求項2および請求項3のうちのいずれか1つに記載の装置。前記ページテーブルデータは、メモリアクセス動作を受けるメモリアドレスに関連する属性データを提供し、前記処理回路は複数のソフトウェア処理を実行するよう構成され、前記メモリアドレスに対する前記属性データは、前記複数のソフトウェア処理のいずれかからのメモリアクセスに対して用いられるグローバル属性データか、または、個々のソフトウェア処理からのメモリアクセスに対して用いられる非グローバル属性データであるかのどちらかであり、前記メモリ制御回路はページテーブルウォーク動作を実行するよう構成され、前記ページテーブルウォーク動作においては、前記ヒエラルキーで前記ページテーブルレベルにおける降順で一連のページテーブルエントリーがアクセスされることにより、管理されるメモリアクセス動作の属性データが取得され、前記一連のページテーブルエントリーのうちのいずれかが、前記一連のページテーブルエントリーのうちの1つが前記1つまたは複数の非セキュア領域内に格納されていることを示す前記テーブルセキュリティフィールドの値を有する場合、前記メモリ制御回路は、あたかも非グローバル属性データであるかのように、前記属性データを取り扱うよう構成された、請求項1から請求項4のいずれか1つに記載の装置。前記ページテーブルデータは、メモリアクセス動作を受けるメモリアドレスと関連する属性データを提供し、前記属性データは、前記メモリアクセス動作の仮想メモリアドレスと、前記メモリ内の物理メモリアドレスとの間のマッピングを提供する、請求項1から請求項5のいずれか1つに記載の装置。前記1つまたは複数のセキュア領域の格納容量は、前記1つまたは複数の非セキュア領域の格納容量よりも小さい、請求項1から請求項6のいずれか1つに記載の装置。前記1つまたは複数の非セキュア領域のうちの少なくともいくつかは、第1集積回路および前記処理回路内に形成され、前記メモリ制御回路および前記1つまたは複数のセキュア領域は、前記第1集積回路とは別の第2集積回路内に形成された、請求項1から請求項7のいずれか1つに記載の装置。前記セキュアモードページテーブルデータの前記ヒエラルキーのエントリーポイントをポイントするベースアドレス値を格納するよう構成されたセキュア変換テーブルベースレジスタを含み、前記セキュア変換テーブルベースレジスタは、前記セキュアモードページテーブルデータの全部が前記1つまたは複数の非セキュア領域内に格納されているかどうかを示すセキュリティフィールドを格納するよう構成された、請求項1から請求項8のいずれか1つに記載の装置。データを格納するためのメモリ手段と、1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードとを含む複数のモードを有する、プログラム命令のストリームに応答して処理動作を実行する処理手段であって、前記メモリ手段は、i前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である、1つまたは複数のセキュア領域と、ii前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である、1つまたは複数の非セキュア領域と、を備える、処理手段と、ページテーブルデータに応答して前記メモリ手段に対するアクセスを管理するためのメモリ制御手段とを備え、前記ページテーブルデータは、前記処理手段が前記1つまたは複数のセキュアモードで動作中、前記メモリ手段に対するアクセスを管理するために用いられるセキュアモードページテーブルデータと、前記処理手段が前記1つまたは複数の非セキュアモードで動作中、前記メモリ手段に対するアクセスを管理するために用いられる非セキュアモードページテーブルデータとを備え、前記セキュアモードページテーブルデータは、第1ページテーブルレベルにおける第1レベルページテーブルが、前記第1ページテーブルレベルよりもヒエラルキーにおいてより低い第2ページテーブルレベルにおけるそれぞれの第2レベルページテーブルをポイントするページテーブルエントリーを含むよう、関連するページテーブルレベルが構成された状態である、ページテーブルの前記ヒエラルキーを含み、前記第1レベルページテーブルの各ページテーブルエントリーは、前記ページテーブルエントリーによりポイントされる第2レベルページテーブルが前記1つまたは複数のセキュア領域内か、または前記1つまたは複数の非セキュア領域内に格納されているかどうかを示すテーブルセキュリティフィールドを含む、データ処理装置。1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードとを含む複数の動作モードを有する、処理回路と関連付けられたメモリに対するアクセスを管理する方法であって、前記メモリは前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である、1つまたは複数のセキュア領域と、前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である、1つまたは複数の非セキュア領域と、を備え、前記処理回路が前記1つまたは複数のセキュアモードで動作中、セキュアモードページテーブルデータに応答して、前記メモリに対するアクセスを管理することと、前記処理回路が前記1つまたは複数の非セキュアモードで動作中、非セキュアモードページテーブルデータに応答して、前記メモリに対するアクセスを管理することと、を含み、前記セキュアモードページテーブルデータは、第1ページテーブルレベルにおける第1レベルページテーブルが、前記第1ページテーブルレベルよりもヒエラルキーにおいてより低い第2ページテーブルレベルにおけるそれぞれの第2レベルページテーブルをポイントするページテーブルエントリーを含むように、関連するページテーブルレベルが構成された状態である、ページテーブルの前記ヒエラルキーを含み、前記第1レベルページテーブルの各ページテーブルエントリーは、前記ページテーブルエントリーによりポイントされる第2レベルページテーブルが前記1つまたは複数のセキュア領域内か、または前記1つまたは複数の非セキュア領域内に格納されていることを示すテーブルセキュリティフィールドを含む、方法。ページテーブルウォーク動作を実行することを含み、前記ページテーブルウォーク動作においては、前記ヒエラルキーで前記ページテーブルレベルにおける降順で一連のページテーブルエントリーがアクセスされることにより、管理されるメモリアクセス動作の属性データが取得され、前記一連のページテーブルエントリーのうちのいずれかが、前記一連のページテーブルエントリーのうちの1つが前記1つまたは複数の非セキュア領域内に格納されていることを示す前記テーブルセキュリティフィールドの値を有する場合、前記メモリアクセス動作は非セキュアメモリアクセス動作として特定される、請求項11に記載の方法。非セキュアテーブル属性を、前記メモリアクセス動作に対して取得された前記属性データ内に含めることにより、前記メモリアクセス動作を非セキュアメモリアクセス動作として特定することを含む、請求項12に記載の方法。前記メモリアクセス動作が非セキュアメモリアクセス動作として特定され、前記メモリアクセス動作が前記1つまたは複数のセキュア領域に向けられる場合、前記メモリは前記メモリアクセス動作をブロックする、請求項12および請求項13のいずれか1つに記載の方法。前記ページテーブルデータは、メモリアクセス動作を受けるメモリアドレスに関連する属性データを提供し、前記処理回路は複数のソフトウェア処理を実行し、前記メモリアドレスに対する前記属性データは、前記複数のソフトウェア処理のいずれかからのメモリアクセスに対して用いられるグローバル属性データか、または、個々のソフトウェア処理からのメモリアクセスに対して用いられる非グローバル属性データであるかのどちらかであり、ページテーブルウォーク動作を実行し、前記ページテーブルウォーク動作においては、前記ヒエラルキーで前記ページテーブルレベルにおける降順で一連のページテーブルエントリーがアクセスされることにより、管理されるメモリアクセス動作の属性データが取得され、前記一連のページテーブルエントリーのうちのいずれかが、前記一連のページテーブルエントリーのうちの1つが前記1つまたは複数の非セキュア領域内に格納されていることを示す前記テーブルセキュリティフィールドの値を有する場合、あたかも非グローバル属性データであるかのように、前記属性データを取り扱う、請求項11から請求項14のいずれか1つに記載の方法。前記ページテーブルデータは、メモリアクセス動作を受けるメモリアドレスと関連する属性データを提供し、前記属性データは、前記メモリアクセス動作の仮想メモリアドレスと、前記メモリ内のメモリアドレスとの間のマッピングを提供する、請求項11から請求項15のいずれか1つに記載の方法。前記1つまたは複数のセキュア領域の格納容量は、前記1つまたは複数の非セキュア領域の格納容量よりも小さい、請求項11から請求項16のいずれか1つに記載の方法。前記1つまたは複数の非セキュア領域のうちの少なくともいくつかは、第1集積回路および前記処理回路内に形成され、前記1つまたは複数のセキュア領域は、前記第1集積回路とは別の第2集積回路内に形成された、請求項11から請求項17のいずれか1つに記載の方法。セキュア変換テーブルベースレジスタは、前記セキュアモードページテーブルデータの前記ヒエラルキーのエントリーポイントをポイントするベースアドレス値を格納し、前記セキュア変換テーブルベースレジスタは、前記セキュアモードページテーブルデータの全部が前記1つまたは複数の非セキュア領域内に格納されているかどうかを示すセキュリティフィールドを格納する、請求項11から請求項18のいずれか1つに記載の方法。データ処理装置上で実行される、非一時的記憶媒体上に格納されたコンピュータプログラムにより提供される仮想機械であって、請求項1から請求項10のいずれか1つに記載のデータ処理装置にしたがう命令実行環境を提供する、仮想機械。メモリと、1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードとを含む複数の動作モードを有する、プログラム命令に応答して処理動作を実行する処理回路であって、前記メモリが、iii前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である、1つまたは複数のセキュア領域と、iv前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である、1つまたは複数の非セキュア領域とを備える処理回路と、ページテーブルデータに応答して前記メモリに対するアクセスを管理するメモリ制御回路と、を備え、前記メモリ制御回路は、1つまたは複数のセキュアモードのうちの1つで動作中、前記メモリ制御回路が、前記1つまたは複数の非セキュア領域内に格納されたページテーブルデータが前記1つまたは複数のセキュアモードのうちの1つで動作するメモリアクセス要求に対するアクセスを管理するために用いられていることを示す信号を受信した場合、前記メモリ制御回路は、前記メモリアクセスを、あたかも前記メモリアクセスが前記1つまたは複数の非セキュアモードのうちの1つで実行中に生じたかのように前記メモリアクセスを取り扱うよう構成された、データ処理装置。この問題に対処するにあたり、セキュアモードページテーブルデータの全部をメモリのセキュア領域内に格納することが可能である。このようにして、セキュアモードページテーブルデータは、システムのセキュリティを免れようとする不正な書き変えから保護される。しかし、このアプローチにおける問題点は、セキュアモードページテーブルデータのサイズが大きく、メモリの1つまたは複数のセキュア領域のメモリ容量が不利に大量に消費されてしまうことである。したがって、メモリのセキュア領域は、例えば、暗号鍵、財務データ、セキュアプログラム命令コード等のセキュアデータ自体は比較的容量が小さいにも関わらず、単にセキュアモードページテーブルデータを記憶するためにのみ、大量の格納容量を有することが必要とされ得ることとなってしまう。1つの態様から観ると、本発明は、メモリと、1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードとを含む複数の動作モードを有する、プログラム命令のストリームに応答して処理動作を実行する処理回路であって、前記メモリが、i前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である、1つまたは複数のセキュア領域と、ii前記1つまたは複数のセキュアモードにおいてアクセス可能であり、且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である、1つまたは複数の非セキュア領域とを備える処理回路と、ページテーブルデータに応答して、前記メモリに対するアクセスを管理する、メモリ制御回路と、を備え、前記ページテーブルデータは、前記処理回路が前記1つまたは複数のセキュアモードでの動作中に前記メモリに対するアクセスを管理するために用いられるセキュアモードページテーブルデータと、前記処理回路が前記1つまたは複数の非セキュアモードで動作中に前記メモリに対するアクセスを管理するために用いられる非セキュアモードページテーブルデータとを備え、前記セキュアモードページテーブルデータは、第1ページテーブルレベルにおける第1レベルページテーブルが、前記第1ページテーブルレベルよりもヒエラルキーにおいてより低い第2ページテーブルレベルにおけるそれぞれの第2レベルページテーブルをポイントするページテーブルエントリーを含むよう、関連するページテーブルレベルが構成された状態である、ページテーブルのヒエラルキーを備え、前記第1レベルページテーブルの各ページテーブルエントリーは、前記ページテーブルエントリーによりポイントされる第2レベルページテーブルが前記1つまたは複数のセキュア領域内かまたは前記1つまたは複数の非セキュア領域内に格納されているかどうかを示すテーブルセキュリティフィールドを含む、データ処理装置を提供する。本発明は、1つまたは複数のセキュア動作モードがそれ自体のセキュアモードページテーブルデータを要求し得る一方で、このセキュアモードページテーブルデータの全部が、メモリのセキュア領域であり、および/または機密情報に関するデータ/秘密データを格納するメモリの領域に関するとは限らないことを認識する。したがって、セキュアモードページテーブルデータの全部がメモリのセキュア領域内に格納される必要があるというわけではない。メモリのセキュア領域に対するアクセスを管理するために用いられるセキュアモードページテーブルデータの部分はメモリのセキュア領域内に格納され得るが、メモリの非セキュア領域に対するアクセスを管理するために用いられるセキュアモードページテーブルデータの部分はメモリの非セキュア領域内に格納され得る。セキュアモードページテーブルデータをこのようにメモリのセキュア領域と非セキュア領域とに区分することをサポートおよび管理するために、ページテーブル内において少なくともいくつかのレベルのページテーブルの各ページテーブルエントリーは、そのエントリーによりポイントされるさらなるページテーブルがメモリのセキュア領域内かまたは非セキュア領域内に格納されるかどうかを示すテーブルセキュリティフィールドを含む。このように、ヒエラルキー的構造を有するセキュアモードページテーブルデータが、メモリ制御回路メモリ管理ユニットまたはメモリ保護ユニット等のによりアクセスされるので、そのアクセスにより用いられるセキュアモードページテーブルデータのいずれかがメモリの非セキュア領域内に格納されるかどうかについての判定がなされ得る。上記で参照された第1レベルページテーブルおよび第2レベルページテーブルが、ページテーブルヒエラルキー内のいずれかの特定の位置にある必要はなく、特に、レベル1またはレベル2のページテーブルである必要がないことが理解できるであろう。本発明のいくつかの実施形態においては、メモリ制御回路は、ページテーブルウォーク動作を実施するよう構成される。なお、ページテーブルウォーク動作においては、ヒエラルキーにおいて一連のページテーブルレベルが降順でアクセスされ、それにより管理されるメモリアクセス動作の属性が取得される。このページテーブルウォークが実施される間に、アクセスされる一連のページテーブルエントリーのうちのいずれかが、アクセスされる一連のページテーブルエントリーの内の1つがメモリの非セキュア領域内に格納されることを示すテーブルセキュリティフィールドの値を有するならば、メモリ制御回路は、実行されるメモリアクセス動作を非セキュアメモリアクセス動作として認識することにより応答する。セキュリティを保護するために、セキュアモードで動作中にメモリアクセス動作に関するページテーブルデータの内のいずれかがメモリの非セキュア領域内に格納される場合、関連するメモリアクセス動作は、たとえセキュアモードで動作するプログラムにより開始されたものであったとしても、非セキュアメモリアクセス動作として取り扱われることとなる。いくつかの実施形態においては、メモリ制御回路は、非セキュアであるテーブル属性をメモリアクセス動作と関連付けられた属性データ内に含むことにより、メモリアクセス動作を非セキュアメモリアクセス動作として認識し得る。この非セキュアテーブル属性は、メモリアクセスがセキュアモード内の動作から発したものであることを示す異なる属性とは別であり得る。この非セキュアなテーブル属性は、非セキュアメモリ内に格納されたページテーブルがそのメモリアクセス動作を管理するために用いられたことを示す。メモリアクセス動作が非セキュアメモリアクセス動作であるとメモリ制御回路により認識され、且つメモリアクセス動作がメモリ内の1つまたは複数のセキュア領域に向けられた場合、メモリは、そのメモリアクセス動作をブロックすることにより応答し得る。メモリアクセス動作が非セキュアである場合、例えば、非セキュアメモリに格納されたページテーブルエントリーがそのメモリアクセス動作の管理の一部として用いられる場合、メモリがメモリのセキュア領域に対するアクセスを許可することは危険である。処理回路は複数のソフトウェア処理を実行し得る。これらのソフトウェア処理のそれぞれは、それ自体のページテーブルデータを利用し得る。あるいは、いくつかのページテーブルデータは、複数のプロセスに適用され、グローバル属性により、これら複数のソフトウェア処理のうちのいずれかからのメモリアクセスに使用されるものとして認識されてもよい。他の属性データは非グローバルであり、非グローバル属性データに接続された個々のソフトウェア処理のみからのメモリアクセスに用いられ得る。グローバル属性データおよび非グローバル属性データの両方をサポートするシステムの状況においては、メモリ管理回路は、そのメモリアクセスに関連するページテーブルウォークの一部としてアクセスされる一連のページテーブルエントリーのうちのいずれかがメモリの非セキュア領域に格納されるならば、属性データが強制的に非グローバル属性データとして取り扱われるよう構成され得る。したがって、メモリアクセスに関連付けられたページテーブルのうちのいずれかがメモリの非セキュア領域内に格納されるならば、メモリ制御回路は、それに反する内容を示すページテーブルデータ内のあらゆる情報をオーバーライドし、関連する属性データを強制的に非グローバル属性データとする。メモリの非セキュア領域に関連するページテーブルウォークから生成されたグローバル属性を許可することは、システムにおけるセキュリティ上の脆弱性を生じさせることとなる。属性データが様々な異なる形態を取り得ること、例えば、どの特権動作レベルが関連するデータメモリページに対して許可されたアクセスであるか、その関連するデータが読み出し専用であるかどうか、その関連するデータがキャッシュ可能であるかどうか等を属性データが示し得ることが理解されるであろう。かかる使用は、アドレス変換がまったく実施されないメモリ保護ユニットMPU:memoryprotectionunitの状況においてなされ得る。本技術は、属性データが、メモリアクセス動作の仮想メモリアドレスと、そのメモリアクセス動作に対応するメモリ内の物理メモリアドレスとの間のマッピングを提供する場合に特に有用である。係るマッピングを保護することは、セキュリティ保護上重要である。本技術は、1つまたは複数のセキュア領域の格納容量が1つまたは複数の非セキュア領域の格納容量より小さい実施形態において用いられ得る。このことは、特に、1つまたは複数の非セキュア領域が、処理回路、メモリ制御回路、および1つまたは複数のセキュア領域が形成された集積回路とは別の集積回路内に形成される場合に成り立つ。本発明の実施形態は、セキュアモードページテーブルデータのヒエラルキーのエントリーポイントをポイントするベースアドレス値を格納するよう構成されたセキュアな変換テーブルベースレジスタも提供し得る。係るセキュアな変換テーブルベースレジスタは、セキュアモードページテーブルデータの全部が1つまたは複数の非セキュア領域に格納されているかどうかを示すセキュリティフィールドを含み得る。他の態様から観ると、本発明は、データを格納するためのメモリ手段と、1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードとを含む複数の動作モードを有する、プログラム命令のストリームに応答して処理動作を実行する処理手段であって、前記メモリ手段が、i前記1つまたは複数のセキュアモードにおいてアクセス可能であり且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である、1つまたは複数のセキュア領域と、ii前記1つまたは複数のセキュアモードにおいてアクセス可能であり且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である、1つまたは複数の非セキュア領域とを含む、処理手段と、ページテーブルデータに応答して前記メモリ手段に対するアクセスを管理するメモリ制御手段と、を備え、前記ページテーブルデータは、前記処理手段が前記1つまたは複数のセキュアモードで動作中に前記メモリ手段に対するアクセスを管理するために用いられるセキュアモードページテーブルデータと、前記処理手段が前記1つまたは複数の非セキュアモードで動作中に前記メモリ手段に対するアクセスを管理するために用いられる非セキュアモードページテーブルデータとを含み、前記セキュアモードページテーブルデータは、第1ページテーブルレベルにおける第1レベルページテーブルが、前記第1ページテーブルレベルよりもヒエラルキーにおいてより低い第2ページテーブルレベルにおけるそれぞれの第2レベルページテーブルをポイントするページテーブルエントリーを含むよう、関連するページテーブルレベルが構成された状態である、ページテーブルのヒエラルキーを含み、前記第1レベルページテーブルのそれぞれのページテーブルエントリーは、前記ページテーブルエントリーによりポイントされる第2レベルページテーブルが前記1つまたは複数のセキュア領域内かまたは前記1つまたは複数の非セキュア領域内に格納されているかどうかを示すテーブルセキュリティフィールドを含む、データ処理装置を提供する。さらなる態様から観ると、本発明は、1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードを含む複数の動作モードを有する処理回路と関連付けられたメモリであって、前記1つまたは複数のセキュアモードにおいてアクセス可能であり且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である1つまたは複数のセキュア領域と、前記1つまたは複数のセキュアモードにおいてアクセス可能であり且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である1つまたは複数の非セキュア領域を含むメモリに対するアクセスを管理する方法であって、前記処理回路が前記1つまたは複数のセキュアモードで動作中、セキュアモードページテーブルデータに応答して前記メモリに対するアクセスを管理することと、前記処理回路が前記1つまたは複数の非セキュアモードで動作中、非セキュアモードページテーブルデータに応答して前記メモリに対するアクセスを管理することと、を備え、前記セキュアモードページテーブルデータは、第1ページテーブルレベルにおける第1レベルページテーブルが、前記第1ページテーブルレベルよりも前記ヒエラルキーにおいてより低い第2ページテーブルレベルにおけるそれぞれの第2レベルページテーブルをポイントするページテーブルエントリーを含むよう、関連するページテーブルレベルが構成された状態の、ページテーブルのヒエラルキーを含み、前記第1レベルページテーブルの各ページテーブルエントリーは、前記ページテーブルエントリーによりポイントされる第2レベルページテーブルが前記1つまたは複数のセキュア領域内かまたは前記1つまたは複数の非セキュア領域内に格納されているかどうかを示すテーブルセキュリティフィールドを含む、方法を提供する。さらなる態様から観ると、本発明は、メモリと、1つまたは複数のセキュアモードと1つまたは複数の非セキュアモードとを含む複数の動作モードを有する、プログラム命令に応答して処理動作を実行する処理回路であって、前記メモリが、i前記1つまたは複数のセキュアモードにおいてアクセス可能であり且つ前記1つまたは複数の非セキュアモードにおいてアクセス不可能である、1つまたは複数のセキュア領域と、ii前記1つまたは複数のセキュアモードにおいてアクセス可能であり且つ前記1つまたは複数の非セキュアモードにおいてアクセス可能である、1つまたは複数の非セキュア領域とを含む処理回路と、ページテーブルデータに応答して、前記メモリに対するアクセスを管理する、メモリ制御回路と、を備え、前記メモリ制御回路は、前記1つまたは複数のセキュアモードのうちの1つで動作し、且つ前記メモリ制御回路が、前記1つまたは複数の非セキュア領域内に格納されたページテーブルデータが、前記1つまたは複数のセキュアモードのうちの1つで動作するメモリアクセス要求に対するアクセスを管理するために用いられたことを示す信号を受信する場合、前記メモリ制御回路は前記メモリアクセスを、あたかも前記メモリアクセスが前記1つまたは複数の非セキュアモードのうちの1つにおいて動作中に生じたかのように処理するよう構成された、データ処理装置を提供する。本発明の実施形態は、以下の添付の図面を参照しながら、例示としてのみ説明される。図1は、システムオンチップ集積回路4と、別個の非セキュアなメモリ集積回路6とを組み込んだ、データ処理装置2を概略的に示す。システムオンチップ集積回路4は、プロセッサ8の形態の処理回路を備える。なお、プロセッサ8は、命令パイプライン10において受信されたプログラム命令Iに応答して、レジスタバンク14、乗算器16、シフト器18、および加算器20を含むデータパスを構成および制御する制御信号を生成する命令デコーダ12を制御する。プロセッサ8は、プログラム命令Iの制御下でデータ処理動作を実行する。これらのデータ処理動作は、システムのメモリアドレス空間内におけるメモリアドレスからの読み出し、またはメモリアドレスへの書き込みを検索するメモリアクセス動作を含む。メモリアドレス空間の全部が、データ値を格納する能力を有する実際の物理メモリと関連付けられるわけではなく、例えば、メモリアドレス空間のうちには、使用不可能であるものもある。メモリアドレス空間の一部は、システムオンチップ集積回路4内に提供されたセキュアメモリ22に対応する。メモリアドレス空間の一部は、非セキュアメモリ6に対応する。このように、セキュアメモリ22は1つまたは複数のメモリのセキュア領域を提供し、非セキュアメモリ6は1つまたは複数のメモリの非セキュア領域を提供する。システムオンチップ集積回路4内には、メモリ管理ユニット24メモリ制御回路の形態、外部メモリインターフェース26およびキャッシュメモリ28も提供される。プロセッサ8は仮想アドレスを用いてメモリアクセスを生成する。キャッシュメモリ28は、これらの仮想アドレスを用いて、キャッシュされたデータ値データおよび命令の両方であり得るを格納する。キャッシュミスが発生すると、アクセスされるデータ値は、セキュアメモリ22または非セキュアメモリ6のうちの1つから読み出されることが必要となる。メモリ管理ユニット24は、セキュアメモリ22および非セキュアメモリ6が両方とも物理アドレスを有する装置であるため、仮想アドレスから物理アドレスへの変換を実施する。メモリ管理ユニット24は、最近アクセスされたメモリのページの属性データを含むトランスレーションルックアサイドバッファ30を備える。アクセスされる仮想アドレスが、トランスレーションルックアサイドバッファ30内のエントリーのうちの1つに対応しない場合、ページテーブルデータに対するフルアクセスすなわちページテーブルウォークが実行される必要がある。プロセッサ8は、1つまたは複数のセキュアモードおよび1つまたは複数の非セキュアモードにおいて動作可能である。セキュアモードでの実行時、これは、プロセッサ8からメモリ管理ユニット24へと送信されるセキュアモード信号Sにより示される。2組のページテーブルデータが提供される。セキュアモードのうちの1つにおいて実行されるとき、セキュアモードページテーブルデータが用いられる。非セキュアモードのうちの1つにおいて実行されるとき、非セキュアモードページテーブルデータが用いられる。2つの変換テーブルベースレジスタ32がメモリ管理ユニット24内に提供され、それぞれが、セキュアモードページテーブルデータの開始点および非セキュアモードページテーブルデータの開始点に対するポインタを提供する。ページテーブルウォークは、関連する変換テーブルベースレジスタ値を読み取り、適切なページテーブルデータの組の開始点アドレスを見出し、次いで、そのヒエラルキー形態を用いて、ページテーブルウォークと従来称される方法で、このページテーブルデータをアクセスすることにより実施される。係るページテーブルウォークは、さらに下記で検討および説明されるであろう。図1に見られるように、非セキュアモードページテーブルデータ34は全部、非セキュアメモリ6内に格納される。セキュアモードページテーブルデータは、2つの部分において格納される。セキュアモードページテーブルデータの第1部分36はセキュアメモリ22内に格納され、セキュアモードページテーブルデータの第2部分38は非セキュアメモリ6内に格納される。セキュアモードページテーブルデータの第2部分38を非セキュアメモリ6内に格納する能力が存在することにより、システム全体が依然としてセキュアメモリ22内および非セキュアメモリ6内に格納されたセキュアモードページテーブルデータの全セットを保持する一方で、他の目的のために用いられるセキュアメモリ22の格納容量を節約し、オンチップセキュアメモリ22をより小さくすることが可能となる。セキュアメモリ22内に格納されたセキュアモードページテーブルデータの第1部分36は、通常は、セキュアモードのうちの1つのセキュアモード内で実行されるプログラムのみによりアクセスされるよう適切に予約されたセキュリティ保護に関するデータを格納するメモリの領域に関するページテーブルデータである。セキュアモードページテーブルデータの第2部分38は、セキュアモードで動作中にアクセスされたとき機密情報に関わるデータを格納せず、且つセキュリティ上の脆弱性がこのセキュアモードページテーブルデータの第2部分38を非セキュアメモリ6内に格納することを許可することにより提供されない、メモリの領域に関するものである。図2は、図1に示すプロセッサ8の動作モードを概略的に示すものである。これらのモードは、1つまたは複数のセキュアモード40と、1つまたは複数の非セキュアモード42と、セキュアモード40のうちの1つと非セキュアモード42の1つとの間の遷移を許可するために提供されたモニタモード44とを含む。1つまたは複数のセキュアモードは異なる特権レベルに関するモードを含み得るが、全部が、例えばセキュアユーザモードおよびセキュア特権モード等の、セキュアモードであることが当業者に理解される。同様に、例えば非セキュアユーザモードおよび非セキュア特権モード等の、異なる特権レベルのモードが非セキュアモード42内に提供され得る。セキュアモードにおける動作時、プロセッサ8は、そのメモリアクセスを管理するためにセキュアモードページテーブルデータを利用する。非セキュアモードにおける動作時、プロセッサ8はそのメモリアクセスを管理するために非セキュアモードページテーブルデータを使用する。モニタモード44はセキュアモードページテーブルデータを使用する。これらの動作モードは、データ処理システム2内のハードウェアが、現在の動作モードに応じて、例えばメモリ領域、制御レジスタ等のリソースに対して異なるレベルのアクセスを提供するため、ハードウェアモードである。図3は、セキュアモードページテーブルデータにおけるページテーブルウォーク動作を概略的に示す。セキュアモードページテーブルデータは、レベルのヒエラルキーに配置された、複数のページテーブル46、48、50、52、54、56、および58から形成される。ヒエラルキーにおける最高レベルにおいて、4つのエントリーを含むページテーブル46が存在する。これがレベル0である。ページテーブル48~58のそれぞれが、512個のページテーブルエントリーを含む。各ページテーブル48~58は、従来は、サイズが4kBである。すなわち、各ページテーブルエントリーは64ビットである。セキュアモードにおいて適用される変換テーブルベースレジスタ32は、ページテーブル46の開始点アドレスをポイントする。メモリアクセスが管理される仮想アドレス内のビットのフィールドは、次いで、ページテーブル46内におけるページテーブルエントリー66のうちの1つを選択するためのインデックス値を提供するために用いられる。例えば、仮想アドレスVA[31:30]の上位2ビットは、ページテーブル46内の4つのページテーブルエントリーのうちの1つを特定するためのインデックスを提供する。このページテーブルエントリー66は、次の9ビットの仮想アドレスVA[29:21]と組み合わされることにより、レベル1テーブル内の次のページテーブルエントリー70に対するポインタが提供される、20ビットフィールドNextTabIePtr<31:12>を含む最下位ビットがゼロであると仮定する。ページテーブルエントリー70は、他の9ビットの仮想アドレスVA[20:12]と組み合わされることにより、レベル2テーブル内の次のページテーブルエントリー74に対するポインタが提供される、20ビットフィールドNextTablePtr<31:12>も含む。ページテーブルエントリー74は、仮想アドレスVA[11:0]の最下位12ビットと組み合わされることにより、この変換の結果、生成される全物理アドレスPA[31:0]が形成される、物理アドレス[31:12]の上位20ビットを保持する。例えば48ビット仮想アドレス等のより大きい仮想アドレスは、より多くのレベルのページテーブルウォークを必要とし得ることが理解されるであろう。ページテーブルエントリー66は、そのページテーブルエントリー66によりポイントされるページテーブル50がメモリの非セキュア領域内かまたはメモリのセキュア領域内に格納されているかどうかを示すテーブルセキュリティフィールド68を含む他の属性ビットも含む。このテーブルセキュリティフィールドはNSTableビットである。これは、セットされた場合、ポイントされる次のページテーブルがメモリの非セキュア領域内に格納されそしてバスアクセスが非セキュアであるとして取り扱われることを示す。図3に示す例においては、レベル0ページテーブル46は、これもまたメモリのセキュア領域内に格納されたレベル1ページテーブル50をポイントする。ページテーブルエントリー70は、ページテーブルエントリー70によりポイントされる次のページテーブル56が、メモリのセキュア領域内かまたはメモリの非セキュア領域内に格納されるかどうかを示すそれ自体のテーブルセキュリティフィールド72を含む。ページテーブルエントリー70は、追加的な属性ビットも含み得る。この例においては、セキュアページテーブルに対するページテーブルヒエラルキーのレベル2におけるページテーブル56は、メモリの非セキュア領域内に格納される。このことは、ページテーブルエントリー70内のテーブルセキュリティフィールド72が設定されたNSTable=1こと、すなわちポイントされる次のページテーブルが非セキュア領域内に格納されること、を示す。テーブルセキュリティフィールドすなわち、NSTableビットがページテーブルウォーク内においてアクセスされる次のページテーブルに関することが理解されるであろう。このように、セキュア領域に格納されたページテーブルから非セキュア領域に格納されたページテーブルへと移動するとき、この変化を示すために用いられるテーブルセキュリティフィールドは、セキュア領域内に格納され、したがって、悪意ある改変から保護される。ページテーブルウォークの各段階において、仮想アドレスの一部分は、仮想アドレスのその部分を変換し、ポインタを、その変換で用いられる次のページテーブルへのポインタをアクセスするために用いられるページテーブルエントリーを選択するためのインデックス値として用いられる。全ページテーブルウォークと関連付けられたページテーブルエントリー66、70、および74のうちの少なくとも1つは、メモリ管理ユニット24により用いられる、そのメモリアクセスと関連付けられたメモリ属性を含む。これらは、そのページテーブルウォークにより提供される仮想アドレスから物理アドレスへの変換が、全プロセッサにより用いられるグローバルな変換であるかまたはそのページテーブルウォークを現在トリガするプロセスに対して用いられる非グローバルな変換であるかどうか等の属性を含み得る。さらなる属性は、当業者に知られているように、関連するページテーブルが読み出し専用、キャッシュ可能、特権専用であるかどうかを含み得る。図4は、図3に示すページテーブル46~52のうちの1つ内のページテーブルエントリー78を概略的に示す。レベル2におけるページテーブルエントリーは、NextTabIePtr<31:12>フィールドに代わって、物理アドレスPA[31:12]の20ビットと同一であり得る。このページテーブルエントリー78は、仮想アドレスからの9ビットを用いてインデックスすなわち、ページテーブル内のその位置がアクセスのために選択され得るよう特定される、関連するページテーブル内の位置に配置される。インデックスとして用いられる仮想アドレスの9ビットは、ページテーブルヒエラルキー内のどのレベルが、前述したページテーブルエントリー78を含むページテーブルと関連付けられるかに依存する。ページテーブルエントリー78は、ページテーブルエントリー78内でNextTablePtr<31:12>フィールドによりポイントされるページテーブルがメモリの非セキュア領域内かまたはメモリのセキュア領域内に格納されるかどうかを示すビットを格納するテーブルセキュリティフィールド80を含む。ページテーブルエントリー78は、そのページテーブルエントリーが、すべてのプロセッサにより用いられる属性データを与えるグローバルなページテーブルエントリーであるかまたはページテーブルウォークを現在トリガする処理に対してのみ用いられる属性データを与える非グローバルなページテーブルエントリーであるかどうかを示すフィールド82も含む。他の属性84は、ページテーブルエントリー78内に格納され、係る属性はキャッシュ可能性、読み出し専用状態、その他を示し得る。ページテーブルのヒエラルキー内におけるより低レベルのページテーブルエントリーが後続する各ページテーブルエントリー78は、テーブルセキュリティフィールド80を含むことが理解されるであろう。ヒエラルキーのレベル2における最も低いレベルのページテーブルは、任意の後続するページテーブルをポイントせず、したがって、テーブルセキュリティフィールドを含む必要がない。グローバル属性82および他の属性84は、ページテーブルウォークにおいて検索されるためにはページテーブル46~58のうちの1つにおいて提供されていれば十分であり、すべてのページテーブルに格納されている必要はない。グローバル属性および他の属性84がヒエラルキーにおける最も低いレベルこの例においてはレベル2に相当するに格納されることは標準的である。なぜなら、これにより、メモリ属性がどのように特徴付けられるかおよび制御されるかに対する最も細かい精度の制御が得られるためである。ページテーブルヒエラルキーにおけるより高いレベルにおけるメモリ属性は、メモリの異なる領域の属性間において粗い精度レベルの差異を提供するために用いられ得る。ページテーブルヒエラルキーが低くなるにしたがって、メモリアドレス空間内の精度レベルがより小さくなることが、当業者により理解される。したがって、通常、ヒエラルキー内の各レベルにおいて、ページテーブルの個数に増加が見られる。全メモリアドレス空間が最も細かい精度にマッピングされるならば、ページテーブルデータのサイズが大きくなる。メモリアドレス空間の全部が必ずしもフルレベルの精度にマッピングされるとは限らず、また、利用不可能としてまたはデフォルトのメモリ属性を有するとしてメモリのより高いレベルにおいてマークされるとは限らない。図5は、セキュアモードでの動作時にメモリ管理ユニット24によるメモリアクセスの処理を概略的に示すフローチャートであるセキュアモードにおいて動作中、バス上の信号により示されるように、少なくとも、1のNSTable値に出会うまでは、メモリアクセスはセキュアとして取り扱われるべきである。ステップ86において、メモリ管理ユニットはデータアクセスが発生するまで待機する。データアクセスが発生すると、セキュアメモリ22に対するアクセスまたは非セキュアメモリ6に対するアクセスが必要となる。このことにより、プロセッサ8により生成された仮想アドレスから、セキュアメモリ22および非セキュアメモリ6により使用される物理アドレスへの変換が必要となる。ステップ88において、トランスレーションルックアサイドバッファ30において、アクセスされる仮想アドレスに関するアドレスマッチが存在するかどうかを判定するために参照が実行される。アクセスされる仮想メモリのページが以前アクセスされたことがある場合、関連する変換データ仮想アドレスから物理アドレスへの変換データ、キャッシュ可能状態、読み出し専用状態等の、メモリ属性データがトランスレーションルックアサイドバッファ30内に格納されている可能性が存在し、実際に格納されている場合は、アドレスマッチが発生する。ステップ88においてアドレスマッチが存在する場合、処理はステップ90へと進行する。異なる処理識別子ASIDに対応する、いくつかのアドレスマッチがステップ88において存在し得ることが理解されるであろう。これらは、TLB30内に格納された処理識別子により、ステップ90において区別され、現在の処理とマッチするエントリーはもし存在する場合、ヒットが返された処理になり得るであろう。ステップ88においてアドレスマッチが存在しない場合、ページテーブルウォークが必要となり、ページテーブルウォークは、図3および図4に関して前述した方法にしたがって、ステップ92において実行される。ステップ92におけるページテーブルウォークが実行された後、新しいページテーブルデータNSTビットを含むはステップ94においてトランスレーションルックアサイドバッファ30内に格納される。次いで、ステップ96は、プロセッサ8が現在セキュア動作モードにあることを、および、メモリアクセスが、非セキュアメモリ6内に格納された少なくともいくつかのページテーブルデータを含むページテーブルデータを用いて形成されたかどうかを示す信号とともに取得された変換データを用いて生成された物理アドレスを用いて、メモリアクセスをセキュアメモリ22または非セキュアメモリ6に対して発行する。ステップ88において、トランスレーションルックアサイドバッファ30内においてアクセスされる仮想アドレスに対するマッチが存在することが判定された場合、ステップ90は、プロセッサ8により現在実行される処理が、トランスレーションルックアサイドバッファ30内においてステップ88でアドレスがマッチした各エントリーと関連する処理とマッチするかどうかを判定する。係るマッチが存在する場合、ステップ98は、関連するトランスレーションルックアサイドバッファエントリーを使用のために選択し、処理はステップ96へと進行する。ステップ90においてマッチが存在しなかった場合、処理はステップ100へと進行し、ステップ100において、ステップ88におけるアドレスマッチによるトランスレーションルックアサイドバッファエントリーがすべての処理により用いられるグローバルエントリーとしてマークされているかどうかについての判定がなされる。当該エントリーがグローバルとしてマークされている場合、処理は再びステップ98へと進行する。当該エントリーがグローバルとしてマークされていない場合、処理はステップ92へと進行し、ページテーブルウォークを実行する。図5に示す処理がシーケンシャルな処理として示されていることが理解できるであろう。実際には、メモリ管理ユニット24の動作は、異なる順序で、および/または異なるレベルの並列性で、実行され得る。それにも関わらず、図5のフローチャートは、実行される全般的なレベルの処理および制御の1つの概観を示すものである。この処理の一部または全部がソフトウェアにより実行され得ることが理解される。図6は、ページテーブルウォークの実行時におけるメモリアクセスに関するテーブルセキュリティ状態NSTビットの設定の制御を示すこのテーブルセキュリティ状態はやがては図1のアクセス制御回路128に戻される。このテーブルセキュリティ状態NSTビットは、メモリの非セキュア領域に格納されたいずれかのセキュアページテーブルがセキュアモードページテーブルデータにおけるページテーブルウォークが実行される間に用いられるかどうかを示す。ステップ102において、処理は、セキュアなページテーブルウォークが必要とされることを待機する。係るウォークが必要となったとき、ステップ104は、テーブルセキュリティ状態の初期値を0に設定する。次いで、ステップ106は、セキュアモードページテーブルデータのレベル0ページテーブル46に対するポインタを格納する変換テーブルベースレジスタが、セキュアモードページテーブルデータの全部がメモリの非セキュア領域内に格納されることを示すかどうかを判定する。TTBR32は、この目的に対して特定のビットを提供する。ステップ106において、セキュアモードページテーブルデータの全部が非セキュアメモリ内に格納されることが判定された場合、ステップ108は、NSTビットを1に設定する。すなわち、アクセスは、プロセッサにより非セキュアとして取り扱われるべきである。ステップ106において、セキュアモードページテーブルデータの全部がメモリの非セキュア領域内に格納されるとは限らないことが判定された場合、ステップ108は回避される。ステップ110において、実行中のメモリアクセスに関連する仮想アドレスの一部は、セキュアメモリ22内に格納された、レベル0のページテーブル46内にインデックスするために用いられる。次いで、このレベルのページテーブルエントリー66が読み出され、ステップ112は、ページテーブルエントリー66によりポイントされるレベル1のページテーブル50が非セキュアメモリ内に格納されることがテーブルセキュリティフィールド68により示されるかどうかを判定する。ページテーブル50が非セキュアメモリ6内に格納されることが示された場合、ステップ114は、ステップ114において、テーブルセキュリティ状態NSTを1に設定するであろう。ステップ112において読み出されたテーブルセキュリティフィールド68が設定されない場合、ステップ114は回避され、処理はステップ116へと進行する。ステップ116においては、次レベルのヒエラルキーすなわちレベル1内におけるテーブルセキュリティフィールドのチェックが実行され、次のページテーブル56が非セキュアメモリ内に格納されることが、ページテーブルエントリー70内のテーブルセキュリティフィールド72により示される場合、テーブルセキュリティ状態は1に設定される。この例において、レベル2がヒエラルキーにおいて最も低いレベルであるため、より低いレベルに関するテーブルセキュリティフィールドは必要とされない。ページテーブルウォークの実行時にアクセスされるページテーブル46、50、または56のいずれかが非セキュアメモリ内に格納される場合、メモリアクセスに関連するテーブルセキュリティ状態NSTは、ステップ104において設定された初期開始値の0から、ステップ108、114、または118のいずれかで設定された値1に変化しているであろう。NSTビットの設定は、ハードウェア制御下で行われるページテーブルウォークの実行時にメモリ管理ユニット24により決定され、したがって、セキュアな判定である。ステップ122は、テーブルセキュリティ状態NSTが1に等しいかどうかを判定する。テーブル属性ビットNSTが1に等しい場合、ステップ124は、トランスレーションルックアサイドバッファ30内に格納されるよう戻された属性データが、属性データがセキュアモードページテーブルデータ自体内でどのようにマークされるかに関わりなく、現在の処理に対してのみ用いられるよう、強制的にTLBエントリーを非グローバルとしてマークする。ステップ126において、メモリ属性データ、NSTビット、およびSビットシステムがセキュアモードにあるかどうかを示すはトランスレーションルックアサイドバッファ30に戻され、セキュアメモリ22または非セキュアメモリ6のうちの1つに対するメモリアクセスを形成および制御するためにも用いられる。図7は、セキュアメモリ22と関連する、アクセス制御回路128により実行される、セキュアメモリ22に関連する処理を概略的に示すフローチャートである。ステップ130において、アクセス制御回路128はメモリアクセス要求を受け取る。ステップ132は、メモリアクセス要求が、そのメモリアクセス要求を発したプロセッサ8がセキュアモード40のうちの1つで動作することを示す信号Sを伴うかどうかを判定する。メモリアクセス要求は、そのメモリアクセス要求を生成するために用いられたページテーブルのいずれかがメモリの非セキュア領域内に格納されているかどうかを示すテーブル属性ビットNSTとも関連する。ステップ132における判定により、プロセッサ8がセキュアモードにあるすなわち、Sは0に等しいこと、および、テーブル属性ビットが0であること非セキュアモードページテーブルデータがそのメモリアクセス要求を生成するときに用いられていないことを示すがSビットにより示される場合、アクセス制御回路128により、ステップ134において、セキュアメモリ22に対するメモリアクセスのみを通し且つ許可することが確実に行われる。アクセスは、例えば、標準的な技術により、特権レベルに基づいても、さらにゲート制御され得る。メモリアクセス要求がこれらの組み合わされたテストに失敗する場合、処理はステップ136へと進行する。ステップ136は、アクセスが読み出しであるかどうかを判定する。アクセスが読み出しである場合、ステップ138はその読み出しに対して全部0値を返すあるいは、オペレーティングシステムが適切な反応を処理することができるよう、例外をトリガする。アクセスが読み出しでない場合、ステップ140は書込動作をブロックする。図1に戻ると、セキュアモードページテーブルデータの第1部分36がセキュアメモリ22内に格納されていることがわかる。セキュアモードページテーブルデータの第2部分38は非セキュアメモリ6内に格納される。非セキュアメモリ6は、別の集積回路内に提供され、セキュアメモリ22よりも大きい格納容量を有する。セキュアモードページテーブルデータの第1部分36は、セキュアメモリ22内に格納され且つ機密情報に関するデータを格納するページに関連するページテーブルデータであり得る。一方、セキュアモードページテーブルデータの第2部分38は、非セキュアメモリ6内に格納され且つ機密情報に関しないデータを含むページに関連し得る。セキュアメモリ22内の制限された格納空間は、セキュアモードページテーブルデータの第2部分38を格納するときに消費されず、替わって、セキュアモードページテーブルデータの第2部分38は非セキュアメモリ6内に格納される。セキュアモードページテーブルデータの一部が非セキュアメモリ6内に格納されているかどうかを示すために、セキュアモードページテーブルデータをマークすることは、メモリアクセスが、セキュアモードページテーブルデータの一部を形成するにも関わらず、そのメモリアクセスと関連するページテーブルデータのいずれかが非セキュアメモリ6内に格納されるかどうかを示すテーブル属性ビットNSTと関連付けられるよう、制御が実行されることを可能にする。このようにして、セキュアモードページテーブルデータの第1部分36はセキュアメモリ22内にセキュアな状態で保持され得る。なお、セキュアメモリ22内においては、セキュアモードページテーブルデータの第1部分36は悪意ある改変から保護され、テーブル属性ビットNSTはハードウェア制御下で生成される。それにより、テーブル属性ビットNSTは、セキュアモードページテーブルデータの第1部分36のみを参照することによりメモリ管理ユニット24により検出され得、且つセキュアモードページテーブルデータの第2部分38を悪意ある改変を加えることで改変され得ない方法で、非セキュアメモリ6内に格納されたページテーブルデータが関与することを示す。上述の技術を用いることにより、NSTableビットおよび関連する機構の存在を意識することおよびそれらを操作することの必要がない従来のソフトウェアを使用することが可能となることが理解されるであろう。例えば、非セキュアメモリがマッピングされた周辺装置または非セキュアな共有ライブラリコード等の、ページテーブルデータの部分を再利用することも可能となる。図8は、メモリアクセス要求に関する処理のいくつかを概略的に示すフローチャートである。ステップ142において、処理はメモリアクセス要求を受け取るまで待機する。係るメモリアクセス要求は、ロード命令、格納命令、命令フェッチ動作、その他の結果である。メモリアクセスは、ランダムアクセスメモリ、リードオンリーメモリ、またはその他等の内部に格納されたメモリの一部分に対するものであり得るか、またはメモリアドレス空間内のメモリがマッピングされた周辺装置に対してであり得る。これらは、当業者には周知である。メモリアクセス要求がステップ142において受け取られると、処理はステップ144へと進行する。ステップ144において、トランスレーションルックアサイドバッファ30において検索が実行され、メモリアクセス要求に関連する仮想アドレスに対応する、トランスレーションルックアサイドバッファ30内のエントリーが存在するかどうかが判定される。トランスレーションルックアサイドバッファ30が、直近で使用された変換に対して迅速にアクセスするためのマイクロトランスレーションルックアサイドバッファ、および、直近ではないが使用されたより多数の変換データが格納された、より大きいトランスレーションルックアサイドバッファを含む等の、トランスレーションルックアサイドバッファヒエラルキーに対応し得ることが理解されるであろう。トランスレーションルックアサイドバッファは、許可データ、NSTビットデータ、セキュアモードデータ、処理識別子ASID、変換がグローバルであるか非グローバルであるかを示すデータ、その他を格納する等の、仮想アドレスから物理アドレスへの変換を可能にするデータよりも、より多数のデータを格納することが理解されるであろう。仮想アドレスがトランスレーションルックアサイドバッファ内に対応するデータを有するかどうかを判定するときに実行されたマッチは、仮想アドレスのビットを考慮するだけではなく、メモリ要求がセキュアモードから発せられたか、または非セキュアモードから発せられたかどうかを示すセキュアビットSもマッチし得る。トランスレーションルックアサイドバッファ内のエントリーに対するNSTビットも読み出される可能性があり、例えば、これが設定されると、グローバルとしてマークされたエントリーは、非グローバルへとダウングレードされ得るすなわち、マッチする処理が特定された状態の、単一の処理に対して適用される。ステップ144において、トランスレーションルックアサイドバッファがマッチするエントリーを有さないことが判定されると、処理はステップ146へと進行する。ステップ146において、セキュアモードページテーブルデータまたは非セキュアモードページテーブルデータのうちの関連する1つにおいてページテーブルウォークが実行される。このページテーブルウォークは図3、図5、および図6に関して前述したものと同一であり得る。マイクロプロセッサがセキュアモードである場合、ページテーブルウォークアクセスは、少なくともNSTable=1の値が見出されるまで、セキュアとしてマークされる。ステップ148において、ページが物理メモリに対して正常にマッピングされたかどうかどうかの判定がなされる。正常なマッピングがなされなかった場合、処理はステップ150へと進行し、ステップ150において、例外処理がトリガされる。正常なマッピングがなされた場合、処理はステップ152へと進行し、ステップ152において、物理アドレス変換データ、NSTビットおよび他のアクセス許可ビットが、将来の使用のために、トランスレーションルックアサイドバッファ内に格納される。ステップ144において、トランスレーションルックアサイドバッファにおいてマッチが存在すると判定された場合、処理はステップ154へと進行し、ステップ154において、マッチデータがトランスレーションルックアサイドバッファから読み出される。このマッチデータは、物理アドレス変換データと、アクセス許可と、NSTビットとを含む。ステップ152およびステップ154の両方の後、処理はステップ156へと進行し、ステップ156において、メモリアクセスが許可されていることが、取得されたアクセス許可データにより示されるかどうかの判定がなされる。例えば、特権モードで動作中、プロセッサが現在ユーザモードであり、したがって、アクセスが許可されるべきではない場合にのみ、メモリの一部がアクセス可能とマークされ得る。アクセスが、受け取られたアクセス許可により許可されない場合、処理はステップ150へと進行し、ステップ150において、例外が再びトリガされる。アクセス許可が、アクセスが許可されるべきであることを示す場合、処理はステップ158へと進行し、ステップ158において、物理アドレスが物理アドレス変換データおよびメモリアクセスの本来の仮想アドレスを用いて形成される。ステップ160は、NSTビットが0に設定されたかどうか、および、セキュアモードで実行中のプロセスからメモリアクセスが発せられたことがセキュアビットSにより示されたかどうかを判定する。これらの条件が両方とも満足されない場合、処理はステップ162へと進行し、ステップ162において、メモリアクセスは、全物理アドレスを用いて非セキュアアクセスとして実行されるよう、試みられる。ステップ160の条件の両方が満足される場合、処理はステップ164へと進行し、ステップ164において、メモリアクセスを、全物理アドレスを用いてセキュアアクセスとして実行するよう、試みられる。ステップ162およびステップ164の両方の後、ステップ166は、物理アドレスがセキュアメモリかまたはセキュア周辺装置の領域に対応するかどうかを判定する。物理アドレスがセキュアメモリまたはセキュア周辺装置に対応しない場合、処理はステップ168へと進行し、ステップ168において、読み出しまたは書き込みのいずれであれ、メモリアクセスが実行される。ステップ166において、アドレスがセキュアメモリまたはセキュア周辺装置の領域に対応することが判定された場合、ステップ170は、アクセス制御回路128を用いて、NSTビットが0の値を持つという意味で、トランザクションがセキュアであるかどうかを判定する。トランザクションがセキュアである場合、処理は再びステップ168へと進行し、ステップ168において、アクセスが実行される。トランザクションがセキュアでない場合、処理はステップ172へと進行し、ステップ172において、アクセスが書き込みブロックされているか、またはアクセスが読み出しである場合、ゼロ値が返される。図9は、用いられ得る仮想機械の実装を示す。これまでに説明してきた実施形態は、関連する技術をサポートする特定の処理ハードウェアを操作するための装置および方法の形で、本発明を具体化するが、ハードウェア装置のいわゆる仮想機械の実装を提供することも可能である。これらの仮想機械の実装は、仮想機械プログラム510をサポートするホストオペレーティングシステム520を通常、実行するホストプロセッサ530上で実行される。通常、大きい強力なプロセッサが、妥当なスピードで実行される仮想機械の実装を提供するために必要となる。しかし、係るアプローチは、互換性のために、または再利用の理由のために他のプロセッサに対してネイティブであるコードを実行することが望まれる場合等の特定の状況において正当化される。仮想機械プログラム510は、アプリケーションプログラムまたはオペレーティングシステム500を実行することにより、実際のハードウェア装置によりプログラムを実行することにより提供されるのと同一の結果を提供する能力を有する。したがって、上述したメモリアクセスの制御を含むプログラム命令は、仮想機械プログラム510を用いて、アプリケーションプログラム500内から実行され得る。