ARMメモ/MMU
Tag: ARM
ARM926EJ-SのMMUについての調査メモ。
ARM9ファミリ、v5TEJアーキテクチャのコア。
VA→FCSE→MVA→MMU→物理アドレス→外部メモリ
↑
生成
↑
CPU
仮想アドレスを物理アドレスに変換する。
特定の領域へのアクセスを禁止する。
MPUも同等の機能を実現する。
レジスタ | ビット | 説明 | |
制御レジスタ | r1 | ||
変換テーブルベースレジスタ | r2 | [31:14] | メインメモリに格納されている変換テーブルのベースの物理アドレスを保持*2 |
ドメインアクセス制御レジスタ | r3 | [31:0] | |
フォルトステータスレジスタ | IFSR DFSR r5 | [7:0] | |
フォルトアドレスレジスタ | r6 | [31:0] | データアボートを発生させたアクセスに関連付けられたMVAを保持 |
TLB操作レジスタ | r8 | [31:0] | |
TLBロックダウンレジスタ | r10 | [28:26] |
連想メモリは、特殊な高速検索用途のコンピュータメモリの一種。*3
一般的なメモリ(RAMなど)では、ユーザーがアドレスを指定すると、そのアドレスに格納されたデータが返ってくる。
しかし、連想メモリではユーザーがあるデータワードを指定し、連想メモリは全内容からそのデータワードを検索して探し出す。
そのデータワードが見つかれば、連想メモリはそのワードが見つかった場所のアドレスを返す。
従って、連想メモリはソフトウェアの用語で連想配列と呼ばれるものをハードウェアで実現したものである。
高速コンテキストスイッチ拡張。
FCSEプロセスID。
Javaバイトコードをハードウェアでネイティブに実行できる技術。
本ページの主題。
修正仮想アドレス。
CPUが仮想アドレスと論理アドレスとを対応させた情報を一時的に保管しておくバッファメモリ(ある種のキャッシュ)のこと。
TLBは、ページング処理などにおいて、CPUが格納しているデータアドレスをプログラムが使用する論理アドレスへと変換する際に、アドレスの変換と変換情報の保持を行っている。
TLBによって、物理アドレスを参照する際の高速化が実現されている。
TLB には固定個のエントリがあり、仮想アドレスから物理アドレスへの変換のためのページテーブルの一部が入れられる。
通常、CAMで構成され、検索キーとして仮想アドレスが使われ、検索結果として対応する物理アドレスが返る。
MMUの管理下におかれ、オペレーティングシステムから直接操作できないアーキテクチャもある。
CAM検索で一致が見つかれば、アドレス変換は非常に迅速に行われ、その物理アドレスを使ってメモリにアクセスする。
仮想アドレスがTLB上にない場合、MMUは変換のためにページテーブルを参照しなければならなくなり、時間がかかることになる。
仮想アドレス。
仮想アドレスと1:1に対応する物理メモリ上のアドレス変換情報。
物理メモリ上のページ・テーブルを参照すること。
コメントはありません。 コメント/ARMメモ/MMU?
Online: 1