JP2007286705A - アドレス変換装置 - Google Patents
アドレス変換装置 Download PDFInfo
- Publication number
- JP2007286705A JP2007286705A JP2006110407A JP2006110407A JP2007286705A JP 2007286705 A JP2007286705 A JP 2007286705A JP 2006110407 A JP2006110407 A JP 2006110407A JP 2006110407 A JP2006110407 A JP 2006110407A JP 2007286705 A JP2007286705 A JP 2007286705A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- entry
- address
- main memory
- tlb
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】 ページ・フォールトの発生を抑制し、パフォーマンスを改善したアドレス変換装置を実現する。
【解決手段】 CPUから提供される論理アドレスを、変換テーブルにより前記CPUの主メモリの物理アドレスに変換するアドレス変換装置において、
前記主メモリのデータ領域内の特定領域に専用にアクセスするための専用エントリーを前記変換テーブルに固定配置する。
【選択図】 図1
【解決手段】 CPUから提供される論理アドレスを、変換テーブルにより前記CPUの主メモリの物理アドレスに変換するアドレス変換装置において、
前記主メモリのデータ領域内の特定領域に専用にアクセスするための専用エントリーを前記変換テーブルに固定配置する。
【選択図】 図1
Description
本発明は、CPUから提供される論理アドレスを、変換テーブルによりCPUの主メモリの物理アドレスに変換するアドレス変換装置に関するものである。
アプリケーションプログラムを実行するCPUのOSとメモリ管理ユニット(以下、MMU: Memory Management Unit)は、仮想メモリ空間を提供する。この仮想メモリ空間の論理アドレスは、アドレス変換バッファ機構(以下、TLB:Translation Look-aside Buffer)によりCPUの主メモリの物理アドレスに変換される。
図1は、一般的なTLBを備えるCPUが稼動する従来の制御装置の構成例を示す機能ブロック図である。
1は、分散型制御システムにおける制御装置であり、制御バス2を介して操作監視装置3と通信すると共に、フィールドバス4を介してプラント5の機器51,52,…5nと通信してアプリケーションプログラムの実行によりこれら機器を制御する。
制御装置1において、11はアプリケーションプログラムを実行するCPU、12はこのCPUが使用する主メモリ、13はキャッシュである。CPU11は、MMUを備えており、OSとこのMMUにより、アプリケーションプログラムが使用する仮想メモリ空間を提供する。
14は、CPU11内に形成されるTLBであり、仮想メモリ空間の論理アドレスを主メモリ12の物理アドレスに変換する機能を備える。CPU11は、アプリケーションプログラムが使用する論理アドレスを、このTLBのエントリーに従い物理アドレスに変換し、キャッシュ13を介して主メモリ12の物理アドレスにアクセスする。
主メモリ12は、複数のアプリケーションプログラムを格納するプログラム領域12a、アプリケーションプログラムが管理するデータを格納するデータベース領域12b、全ての論理アドレスと物理アドレスの対応関係を保持したTLBページ表12cよりなる。データベース領域12bは、所定サイズのセグメントに区分管理されている。
14aは、TLB14が管理する変換テーブルである。各エントリーには、論理アドレスと物理アドレスの対応関係及びページサイズがマッピングされている。標準エントリーのページサイズは、データベース領域12bのセグメントサイズに対応して固定(例えば4KB)で使用されている。
もしCPU11が指定した論理アドレスがTLB14に存在しない場合は、ページ・フォールト(page fault)と呼ばれる仮想メモリミスが発生する。ページ・フォールトが発生した場合、TLBのエントリーを変更する処理がOSにより実行されるが、この処理は、プログラムの実行速度に悪影響を及ぼす。
特許文献1には、CPUから設定される仮想アドレスを変換テーブルを用いて実アドレスに変換するバスアドレスアクセス装置が記載されている。
従来のTLBの構成では、次のような問題がある。
(1)制御装置1は、使用目的が特化されたいわゆる組み込みシステムであるため、限られた主メモリを使って動作する必要がある。このため、TLBエントリーサイズを比較的小さくし、主メモリを有効に使用するように設計されているので、ページ・フォールトが発生し易い。
(1)制御装置1は、使用目的が特化されたいわゆる組み込みシステムであるため、限られた主メモリを使って動作する必要がある。このため、TLBエントリーサイズを比較的小さくし、主メモリを有効に使用するように設計されているので、ページ・フォールトが発生し易い。
(2)標準的なTLBのTLBエントリーサイズは、固定(4KB)で使用されている。制御装置等では、アプリケーションプログラムの実行時に、データベース領域12bの例えば20MBに亘る広範囲の連続アクセスセグメント領域(以下、特定領域)Aへの頻繁なアクセスが毎周期発生する。このため、ページ・フォールトが多発してパフォーマンスに悪影響を及ぼしている。
(3)この対策として、TLBエントリーサイズを大きくすると、ページ・フォールト発生が減少する利点があるが、主メモリに無駄な領域が増え、主メモリの利用効率が低下する欠点がある。
本発明は上述した問題点を解決するためになされたものであり、ページ・フォールトの発生を抑制し、パフォーマンスを改善したアドレス変換装置を実現することを目的としている。
このような課題を達成するために、本発明は次の通りの構成になっている。
(1)CPUから提供される論理アドレスを、変換テーブルにより前記CPUの主メモリの物理アドレスに変換するアドレス変換装置において、
前記主メモリのデータ領域内の特定領域に専用にアクセスするための専用エントリーを前記変換テーブルに固定配置したことを特徴とするアドレス変換装置。
(1)CPUから提供される論理アドレスを、変換テーブルにより前記CPUの主メモリの物理アドレスに変換するアドレス変換装置において、
前記主メモリのデータ領域内の特定領域に専用にアクセスするための専用エントリーを前記変換テーブルに固定配置したことを特徴とするアドレス変換装置。
(2)前記専用エントリーは、前記CPUによる上書きが不許可に設定されることを特徴とする請求項1に記載のアドレス変換装置。
(3)前記専用エントリーに定義されるエントリーサイズは、前記CPUにより上書き可能な他の標準エントリーのエントリーサイズよりも大きくなるように定義されていることを特徴とする請求項1又は2に記載のアドレス変換装置。
(4)前記CPUは、プラントの機器と通信してこれを制御する制御装置内でアプリケーションプログラム実行することを特徴とする請求項1乃至3のいずれかに記載のアドレス変換装置。
以上説明したことから明らかなように、本発明によれば次のような効果がある。
(1)組み込みシステム用にTLBエントリーサイズが比較的小さく設計されたTLBであっても、ページ・フォールトが発生し易いセグメントにアクセスする専用エントリーを固定配置することで、ページ・フォールト発生を有効に抑制してパフォーマンスを向上させることができる。
(1)組み込みシステム用にTLBエントリーサイズが比較的小さく設計されたTLBであっても、ページ・フォールトが発生し易いセグメントにアクセスする専用エントリーを固定配置することで、ページ・フォールト発生を有効に抑制してパフォーマンスを向上させることができる。
(2)アプリケーションプログラムの実行時に、頻繁なアクセスが発生する特定領域へのアクセス専用に、大きなページサイズの専用エントリーを固定配置することで、ページ・フォールト発生を有効に抑制してパフォーマンスを向上させることができる。
(3)特定領域へのアクセス専用に、大きなページサイズの専用エントリーを追加して固定配置することにより、従来の標準的なTLBエントリーサイズを大きくしなくても、主メモリの利用効率低下は回避できる。
以下、本発明を図面により詳細に説明する。図1は、本発明を適用したTLBを備えるCPUが稼動する制御装置の実施形態を示す機能ブロック図である。図2で説明した従来制御装置と同一要素には同一符号を付して説明を省略する。以下、本発明の特徴部につき説明する。
本発明の特徴は、連続したセグメントとして使用され、広範囲のデータへの頻繁なアクセスが発生する1部の主メモリ(特定領域)に限り、TLBのエントリーサイズを大きくすることにより、ページ・フォールトの発生を抑制し、処理の高速化を実現しようとするものである。
図1において、100は本発明により追加された専用エントリーであり、変換テーブル14aの所定箇所に固定してマッピングされる。ページサイズは、データベース領域12bの特定領域Aの全てが管理できるサイズに指定されおり、標準的なTLBエントリーのサイズ(6KB)の数百倍程度大のサイズが指定される。
標準TLBエントリーは、ページ・フォールト発生を回避するために、OSによりTLBページ表12cを参照して上書き可能に管理されている。これに対して、本発明で追加される固定配置された専用エントリー100は、OSにより上書きが不許可に設定され、内容変更されることが防止されている。
以上説明した実施形態では、CPUが稼動する組み込みシステムとしてプラントの制御装置を例示したが、本発明はこれに限定されるものではない。本発明は、アプリケーションプログラムを実行するCPUが、データベース領域の特定領域にアクセスする組み込みシステム一般に適用することができ、ページ・フォールト発生を抑制してパフォーマンスを向上させることができる。
1 制御装置
11 CPU
12 主メモリ
12a アプリケーションプログラム領域
12b データベース領域
A 特定領域
12c TLBページ表
13 キャッシュ
14 TLB
14a 変換テーブル
100 専用エントリー
2 制御バス
3 操作監視装置
4 フィールドバス
5 プラント
51,52,…5n 機器
11 CPU
12 主メモリ
12a アプリケーションプログラム領域
12b データベース領域
A 特定領域
12c TLBページ表
13 キャッシュ
14 TLB
14a 変換テーブル
100 専用エントリー
2 制御バス
3 操作監視装置
4 フィールドバス
5 プラント
51,52,…5n 機器
Claims (4)
- CPUから提供される論理アドレスを、変換テーブルにより前記CPUの主メモリの物理アドレスに変換するアドレス変換装置において、
前記主メモリのデータ領域内の特定領域に専用にアクセスするための専用エントリーを前記変換テーブルに固定配置したことを特徴とするアドレス変換装置。 - 前記専用エントリーは、前記CPUによる上書きが不許可に設定されることを特徴とする請求項1に記載のアドレス変換装置。
- 前記専用エントリーに定義されるエントリーサイズは、前記CPUにより上書き可能な他の標準エントリーのエントリーサイズよりも大きくなるように定義されていることを特徴とする請求項1又は2に記載のアドレス変換装置。
- 前記CPUは、プラントの機器と通信してこれを制御する制御装置内でアプリケーションプログラム実行することを特徴とする請求項1乃至3のいずれかに記載のアドレス変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006110407A JP2007286705A (ja) | 2006-04-13 | 2006-04-13 | アドレス変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006110407A JP2007286705A (ja) | 2006-04-13 | 2006-04-13 | アドレス変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007286705A true JP2007286705A (ja) | 2007-11-01 |
Family
ID=38758442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006110407A Pending JP2007286705A (ja) | 2006-04-13 | 2006-04-13 | アドレス変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007286705A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012095901A1 (ja) * | 2011-01-12 | 2012-07-19 | パナソニック株式会社 | プログラム実行装置およびコンパイラシステム |
JP2015184987A (ja) * | 2014-03-25 | 2015-10-22 | 横河電機株式会社 | プロセス制御システム |
-
2006
- 2006-04-13 JP JP2006110407A patent/JP2007286705A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012095901A1 (ja) * | 2011-01-12 | 2012-07-19 | パナソニック株式会社 | プログラム実行装置およびコンパイラシステム |
JP5702808B2 (ja) * | 2011-01-12 | 2015-04-15 | パナソニック株式会社 | プログラム実行装置およびコンパイラシステム |
US9501423B2 (en) | 2011-01-12 | 2016-11-22 | Socionext Inc. | Program execution device and compiler system |
JP2015184987A (ja) * | 2014-03-25 | 2015-10-22 | 横河電機株式会社 | プロセス制御システム |
EP2942680A1 (en) | 2014-03-25 | 2015-11-11 | Yokogawa Electric Corporation | Process control system and process control method |
US9869987B2 (en) | 2014-03-25 | 2018-01-16 | Yokogawa Electric Corporation | Field bus system with industrial measurement device having automonous control operation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101667772B1 (ko) | 프리페칭을 갖는 변환 색인 버퍼 | |
US7623134B1 (en) | System and method for hardware-based GPU paging to system memory | |
JP5654056B2 (ja) | 階層的な変換テーブル制御 | |
JP5914145B2 (ja) | メモリ保護回路、処理装置、およびメモリ保護方法 | |
US10713353B2 (en) | Separate cores to secure processes from speculative rogue cache loads | |
EP3265917B1 (en) | Cache maintenance instruction | |
JP2015135696A5 (ja) | ||
JP2015503805A5 (ja) | ||
US20090158004A1 (en) | TLB Virtualization Method of Machine Virtualization Device, and Machine Virtualization Program | |
US20180004675A1 (en) | Application execution enclave memory method and apparatus | |
JP2020529656A (ja) | アドレス変換キャッシュ | |
US20100115228A1 (en) | Unified address space architecture | |
JP5583274B2 (ja) | コンピュータ・メモリを管理する方法、対応するコンピュータ・プログラム製品、およびそのためのデータ・ストレージ・デバイス | |
US10423354B2 (en) | Selective data copying between memory modules | |
US10467138B2 (en) | Caching policies for processing units on multiple sockets | |
TWI641947B (zh) | 用於管理位址轉換和快取記憶體儲存的方法及裝置 | |
EP3757799B1 (en) | System and method to track physical address accesses by a cpu or device | |
JP2016513835A5 (ja) | ||
WO2012163017A1 (zh) | 分布式虚拟机访问异常的处理方法以及虚拟机监控器 | |
US8015361B2 (en) | Memory-centric page table walker | |
JP2007286705A (ja) | アドレス変換装置 | |
US7904693B2 (en) | Full virtualization of resources across an IP interconnect using page frame table | |
US10372622B2 (en) | Software controlled cache line replacement within a data property dependent cache segment of a cache using a cache segmentation enablement bit and cache segment selection bits | |
JP7035787B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2023507096A (ja) | コヒーレント及び非コヒーレントメモリ要求のアービトレーションスキーム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090724 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090806 |