ユーザから見たIIMPカーネル概説 ――組み込み分野でもソフトウェア部品を再利用する時代に

檜原弘樹

tag: 組み込み

技術解説 2002年8月15日

 IIMPカーネルでは,できる限り小さいオーバヘッドでメモリ保護機能を実現するために,次のような手法を採用しています.

1)物理アドレス空間におけるメモリ保護を前提とし,アドレス変換を必要としない仕様にする

 論理アドレスと物理アドレスを一致させることが基本ですが,実装定義で論理アドレスと物理アドレスの間に何らかの変換を行ってもかまわないことにしています.

2)システム構築時にあらかじめ得られる(=静的な)構成情報を最大限に活用し,メモリ配置の最適化を行う

 IIMPカーネルでは,これをコンフィグレータによって実現しています(詳しくは後述する).システム構築時の静的な情報を活用するのは組み込みシステムならではのくふうです.

 こういった方針により,オーバヘッドをどれくらい削減できるかは,実際のマイクロプロセッサに実装されているメモリ保護のためのハードウェア(MMU:memory management unitなど)の機能に依存します.そこでIIMPプロジェクトでは,典型的なメモリ保護機能を有する3種類のプロセッサをターゲットとしてIIMPカーネルを開発しました.RISCタイプのMMU(注3)を持つ日立製作所のSH-3,CISCタイプのMMU(注4)を持つ米国Intel社のPentium,メモリ保護ユニット(MPU:memory protection unit)を持つ英国ARM社のARM940Tです.

 公開しているソース・コードから,どのように各プロセッサのメモリ保護機能を活用したかを知ることができます.コンフィグレータも公開していますので,実際のシステム開発に応用することも可能です.

 注3;RISC(reduced instruction set computer)プロセッサでは,アドレスの変換情報テーブルのみをハードウェアで持ち,テーブルを参照して変換先のアドレスを求める処理はソフトウェアで行う方式が一般的である.
 注4;CISC(complex instruction set computer)プロセッサでは,ハードウェアでアドレス変換を行う方式が一般的である.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日