JP2007286705A - アドレス変換装置 - Google Patents

アドレス変換装置 Download PDF

Info

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
Application number
JP2006110407A
Other languages
English (en)
Inventor
Tatsuko Mori
達子 森
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2006110407A priority Critical patent/JP2007286705A/ja
Publication of JP2007286705A publication Critical patent/JP2007286705A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 ページ・フォールトの発生を抑制し、パフォーマンスを改善したアドレス変換装置を実現する。
【解決手段】 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から設定される仮想アドレスを変換テーブルを用いて実アドレスに変換するバスアドレスアクセス装置が記載されている。
特開平11−85610号公報
従来のTLBの構成では、次のような問題がある。
(1)制御装置1は、使用目的が特化されたいわゆる組み込みシステムであるため、限られた主メモリを使って動作する必要がある。このため、TLBエントリーサイズを比較的小さくし、主メモリを有効に使用するように設計されているので、ページ・フォールトが発生し易い。
(2)標準的なTLBのTLBエントリーサイズは、固定(4KB)で使用されている。制御装置等では、アプリケーションプログラムの実行時に、データベース領域12bの例えば20MBに亘る広範囲の連続アクセスセグメント領域(以下、特定領域)Aへの頻繁なアクセスが毎周期発生する。このため、ページ・フォールトが多発してパフォーマンスに悪影響を及ぼしている。
(3)この対策として、TLBエントリーサイズを大きくすると、ページ・フォールト発生が減少する利点があるが、主メモリに無駄な領域が増え、主メモリの利用効率が低下する欠点がある。
本発明は上述した問題点を解決するためになされたものであり、ページ・フォールトの発生を抑制し、パフォーマンスを改善したアドレス変換装置を実現することを目的としている。
このような課題を達成するために、本発明は次の通りの構成になっている。
(1)CPUから提供される論理アドレスを、変換テーブルにより前記CPUの主メモリの物理アドレスに変換するアドレス変換装置において、
前記主メモリのデータ領域内の特定領域に専用にアクセスするための専用エントリーを前記変換テーブルに固定配置したことを特徴とするアドレス変換装置。
(2)前記専用エントリーは、前記CPUによる上書きが不許可に設定されることを特徴とする請求項1に記載のアドレス変換装置。
(3)前記専用エントリーに定義されるエントリーサイズは、前記CPUにより上書き可能な他の標準エントリーのエントリーサイズよりも大きくなるように定義されていることを特徴とする請求項1又は2に記載のアドレス変換装置。
(4)前記CPUは、プラントの機器と通信してこれを制御する制御装置内でアプリケーションプログラム実行することを特徴とする請求項1乃至3のいずれかに記載のアドレス変換装置。
以上説明したことから明らかなように、本発明によれば次のような効果がある。
(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が、データベース領域の特定領域にアクセスする組み込みシステム一般に適用することができ、ページ・フォールト発生を抑制してパフォーマンスを向上させることができる。
本発明を適用したTLBを備えるCPUが稼動する制御装置の実施形態を示す機能ブロック図である。 一般的なTLBを備えるCPUが稼動する従来の制御装置の構成例を示す機能ブロック図である。
符号の説明
1 制御装置
11 CPU
12 主メモリ
12a アプリケーションプログラム領域
12b データベース領域
A 特定領域
12c TLBページ表
13 キャッシュ
14 TLB
14a 変換テーブル
100 専用エントリー
2 制御バス
3 操作監視装置
4 フィールドバス
5 プラント
51,52,…5n 機器

Claims (4)

  1. CPUから提供される論理アドレスを、変換テーブルにより前記CPUの主メモリの物理アドレスに変換するアドレス変換装置において、
    前記主メモリのデータ領域内の特定領域に専用にアクセスするための専用エントリーを前記変換テーブルに固定配置したことを特徴とするアドレス変換装置。
  2. 前記専用エントリーは、前記CPUによる上書きが不許可に設定されることを特徴とする請求項1に記載のアドレス変換装置。
  3. 前記専用エントリーに定義されるエントリーサイズは、前記CPUにより上書き可能な他の標準エントリーのエントリーサイズよりも大きくなるように定義されていることを特徴とする請求項1又は2に記載のアドレス変換装置。
  4. 前記CPUは、プラントの機器と通信してこれを制御する制御装置内でアプリケーションプログラム実行することを特徴とする請求項1乃至3のいずれかに記載のアドレス変換装置。
JP2006110407A 2006-04-13 2006-04-13 アドレス変換装置 Pending JP2007286705A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012095901A1 (ja) * 2011-01-12 2012-07-19 パナソニック株式会社 プログラム実行装置およびコンパイラシステム
JP2015184987A (ja) * 2014-03-25 2015-10-22 横河電機株式会社 プロセス制御システム

Cited By (6)

* Cited by examiner, † Cited by third party
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