(toppers-users 3337) Re: TOPPERS新世代カーネル統合仕様について

Hiroaki TAKADA hiro @ ertl.jp
2010年 12月 21日 (火) 14:47:17 JST


孫様

実装的には、μ秒単位のタスク制御をする場合に、2つのアプローチが
考えられます。

(1) 今の実装と同様、周期的にタイマ割込みを入れる。タイマ割込みの
  周期を例えば100nsに短縮する。

(2) 周期的なタイマ割込みではなく、次のイベントが起こるまでの時間
  をタイマに設定し、そのタイミングで割込みを入れる。

(1)の方法は、実装は簡単です(というか、ほとんどそのままでOK)が、
タイマ割込みのオーバヘッドが大きくなるという欠点があります。(2)の
方法は、ハードウェアが備えるタイマによって実装の可否が影響を受け
るなど、実装がちょっと面倒になります。

孫さんのニーズは、(1)の実装で満たせるでしょうか? それとも、(2)の
実装が必要でしょうか?

(2)の実装をTOPPERSで用意する場合には、ASPカーネルの拡張パッケー
ジのような形が有力と思います。

> こちらは、uITRON仕様でも、TOPPERS新世代カーネル統合仕様でもない
> 「自前」でやればできるという理解で宜しいでしょうか。

タイムアウト時間をμ秒単位にしたい場合には、カーネルの修正が必要
ですが、周期ハンドラやアラームハンドラをμ秒単位にしたい場合には、
カーネルの上にミドルウェアという形でも実装可能という意味で書きま
した(この説明で通じているか不安ですが)。

高田広章
名古屋大学

(10/12/21 14:34), 孫 正道 wrote:
> 高田様
> 
> 株式会社フィックスターズの孫と申します。
> 
> コメント頂きましてありがとうございます。
> 
> T-Kernel 2.0のようにus単位でのタスク制御、タイムアウト制御などが
> TOPPERS上でできないかと検討しているところです。
> 
> あまり詳しくは申し上げられませんが、
> ターゲットとしているシステムが数百us以内に
> いくつかの仕事をしないといけないもので
> ms単位のオーダだと、粗すぎるというだけの話です。
> 
>> 要求が多いようであれば考えたいと思います。
> 
> マイクロコントローラというレベルを超えて、
> ある程度の規模のエンベデッドシステムとなると
> やはりms単位では厳しい気がいたします。
> T-Kernel 2.0でもus単位の制御をアピールしているところですから、
> ニーズはあるのではないかと個人的には思います。
> 
>> (OSが使っているのとは別に)それ用のタイマを用いて制御するこ
>> とになります。
> 
> こちらは、uITRON仕様でも、TOPPERS新世代カーネル統合仕様でもない
> 「自前」でやればできるという理解で宜しいでしょうか。
> 
> よろしくお願いいたします。
> 
> 
> (2010/12/21 14:05), Hiroaki TAKADA wrote:
>> 孫様
>>
>> 名古屋大学/TOPPERSプロジェクトの高田です。
>>
>> 現時点では、RELTIM、TMOの拡張については検討していませんが、
>> 技術的に難しい話しではありませんので、要求が多いようであれば
>> 考えたいと思います。具体的にどのような使い方をされたいか、差
>> し支えない範囲でご教示いただけると幸いです。
>>
>> 現在のTOPPERSカーネルでμs単位のタスク制御を行いたい場合には、
>> (OSが使っているのとは別に)それ用のタイマを用いて制御するこ
>> とになります。これも、より具体的な要求にわかれば、適切な方法
>> がご提示できると思います。
>>
>> 高田広章
>> 名古屋大学
>>
>> (10/12/20 12:25), 孫 正道 wrote:
>>> はじめまして。孫と申します。
>>>
>>> TOPPERS新世代カーネル統合仕様について
>>> ご質問させていただきたいと思います。
>>>
>>> TOPPERS新世代カーネル統合仕様では
>>> 性能評価用システム時刻をus単位で取得することができるようですが、
>>> 将来はT-Kernel 2.0のようにRELTIM、TMOなども
>>> us単位に拡張される予定なのか、
>>> ご存じの方はいらっしゃいますでしょうか。
>>>
>>> あと、現在のTOPPERSカーネルを使ってus単位の
>>> タスク制御を行う方法はありますでしょうか。
>>>
>>> よろしくお願いいたします。
>>>
>>> ---
>>> 孫 正道
>>>
> 
>