Everything

第1章  概  説


1.1 概  要
RI850V4は,効率のよいリアルタイム処理環境,およびマルチタスク処理環境を提供するとともに,対象CPUの制御機器分野における応用範囲を拡大することを目的として開発された“リアルタイム・マルチタスクOS”です。
また,実行環境に組み込んで使用することを前提として開発されているため,ROM化を意識し,コンパクトな設計が行われています。また,RH850 マルチコアでも使用することが可能です。
1.1.1 リアルタイムOS
制御機器分野におけるシステムでは,内外の事象変化に対するリアルタイム性が要求されます。しかし,従来のシステムでは,このような要求をユーザが用意した単純な割り込み処理で対処してきたため,制御機器が高性能化,多様化するにつれ,単純な割り込み処理だけでの対処が困難になってきています。
つまり,処理プログラム量の増大,システムの複雑化により,内外の事象変化に対する処理を“どのような順序で実行させるのか”を管理することが煩雑になってきたといえます。
そこで,このような問題を解決するために考えられたのが“リアルタイムOS”です。
リアルタイムOSは,内外の事象変化に対するリアルタイム性を保証するとともに,最適な処理プログラムを最適な順序で実行させることを主な目的(仕事)としています。
1.1.2 マルチタスクOS
OSの世界では,OSの管理下で実行する処理プログラムを“タスク”,1つのプロセッサ上で複数のタスクを同時実行させることを“マルチタスキング”と呼んでいます。
しかし,厳密にはプロセッサ自体は一度に1つのタスク(命令)しか実行することができないため,タスクの実行を何らかの基準(きっかけ)を利用して非常に短い間隔で切り替えることにより,疑似的に複数のタスクが同時実行しているかのように見せています。
このように,システム内で規定されている何らかの基準を利用してタスクを切り替え,タスクの並列処理を可能としたのが“マルチタスクOS”です。
マルチタスクOSは,複数のタスクを並列実行させることにより,システム全体の処理能力を向上させることを主な目的(仕事)としています。
1.1.3 RH850マルチコア構成への対応
RI850V4はマルチコア構成でのビルドに対応しています。RI850V4を組み込む対象となるPEを指定することが可能であり,また,同時に複数のPEで使用することも可能です。
RI850V4は個別のPEで動作することを前提としたシングルコア用リアルタイムOSであり,PE間をまたぐ処理の制御を行うための機能は提供していません。
PE間をまたぐ処理の制御を実現するための手段として,マルチコア専用のライブラリを使用する方法があります。ルネサス エレクトロニクスでは,RH850マルチコアをサポートするためのサンプルライブラリとして,「プロセッサ・エレメント間通信および排他制御ライブラリlibipcx(以降は「libipcx」と称する)」を用意しています。RI850V4とlibipcxを組み合わせて使用することにより,PE間をまたぐ処理の制御を行うことが可能です。
1.2 実行環境
RI850V4は,RH850ファミリ(G3Kコア,G3Mコア,G3KHコア,G3MHコア)に対応した製品です。
以下に,RI850V4が占有し,処理プログラムからの変更を禁止しているOS予約資源の一覧を示します。
OS予約資源
汎用レジスタ(r2)
OSタイマ(OSTM) 1本
割り込み優先度マスク(PMR)
プログラム・ステータス・ワード(PSW)のUMビット
割り込み機能の設定(INTCFG)
例外ハンドラ・ベクタ・アドレス(EBASE)
割り込みハンドラ・テーブルのベース・アドレス(INTBP)

備考 例外ハンドラ・ベクタ・アドレス(EBASE)と割り込みハンドラ・テーブルのベース・アドレス(INTBP)は,コンフィギュレータCF850V4の起動オプションの設定に依存します。-ebase=<Exception Base Address>を指定した場合は,例外ハンドラ・ベクタ・アドレス(EBASE)を予約資源とし,-intbp=<Interrupt Base Address >を指定した場合は割り込みハンドラ・テーブルのベース・アドレス(INTBP)を予約資源とします。