JP2001034484A - デジタル処理信号プロセッサによりリアルタイムタスクを実行する方法 - Google Patents
デジタル処理信号プロセッサによりリアルタイムタスクを実行する方法Info
- Publication number
- JP2001034484A JP2001034484A JP2000188759A JP2000188759A JP2001034484A JP 2001034484 A JP2001034484 A JP 2001034484A JP 2000188759 A JP2000188759 A JP 2000188759A JP 2000188759 A JP2000188759 A JP 2000188759A JP 2001034484 A JP2001034484 A JP 2001034484A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- time
- task
- real
- masking
- 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.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000000873 masking effect Effects 0.000 claims abstract description 55
- 230000002093 peripheral effect Effects 0.000 claims abstract description 15
- 230000007246 mechanism Effects 0.000 claims abstract description 9
- 238000005070 sampling Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【課題】 キャッシュメモリを使用するデジタル信号処
理プロセッサにより、リアルタイムタスクを実行する方
法を提供する。 【解決手段】 リアルタイムタスクと、プロセッサに関
連する周辺機器から送られる割込みとの実行に、全体持
続時間Tを割り当て、この全体持続時間Tを、前記タス
クを実行し、割込みを待機させてグループ化する少なく
とも1つのマスキング期間TMと、前記タスクを中止し
て、割込みグループを実行する少なくとも1つのマスキ
ングしない期間TNとを含む複数のタイムスロットに分
割する。マスキングする期間TMおよびマスキングしな
い期間TNは、タイマを含むハードウェア機構により決
定される。
理プロセッサにより、リアルタイムタスクを実行する方
法を提供する。 【解決手段】 リアルタイムタスクと、プロセッサに関
連する周辺機器から送られる割込みとの実行に、全体持
続時間Tを割り当て、この全体持続時間Tを、前記タス
クを実行し、割込みを待機させてグループ化する少なく
とも1つのマスキング期間TMと、前記タスクを中止し
て、割込みグループを実行する少なくとも1つのマスキ
ングしない期間TNとを含む複数のタイムスロットに分
割する。マスキングする期間TMおよびマスキングしな
い期間TNは、タイマを含むハードウェア機構により決
定される。
Description
【0001】
【発明の属する技術分野】リアルタイムタスクの実行に
おいて、キャッシュメモリを使用するデジタル信号処理
プロセッサ(TNS)に関連する周辺機器から送られる
割込みを管理する方法に関する。
おいて、キャッシュメモリを使用するデジタル信号処理
プロセッサ(TNS)に関連する周辺機器から送られる
割込みを管理する方法に関する。
【0002】本発明は特に、たとえばGSM(移動電話
の標準を示す「Global System for
Mobile communication」)などの
電話通信用の音声処理に特に適用され、また、リアルタ
イムでの画像の処理および伝送にも同様に適用される。
の標準を示す「Global System for
Mobile communication」)などの
電話通信用の音声処理に特に適用され、また、リアルタ
イムでの画像の処理および伝送にも同様に適用される。
【0003】
【従来の技術】最初に幾つかの定義について説明する。
【0004】デジタル信号処理プロセッサ(TNS)
は、「Digital SignalProcessi
ng(DSP)」として既知であり、リアルタイムすな
わち一定の決まったタイムスロットで、タスクを実行可
能な高性能な計算ユニットである。従って、このような
DSPは、たとえばGSMによる電話通信中に音声を圧
縮および圧縮解除するために、あるいは音声を認識する
ために、あるいは画像その他の任意のあらゆるデジタル
信号を処理するために使用される。
は、「Digital SignalProcessi
ng(DSP)」として既知であり、リアルタイムすな
わち一定の決まったタイムスロットで、タスクを実行可
能な高性能な計算ユニットである。従って、このような
DSPは、たとえばGSMによる電話通信中に音声を圧
縮および圧縮解除するために、あるいは音声を認識する
ために、あるいは画像その他の任意のあらゆるデジタル
信号を処理するために使用される。
【0005】リアルタイムタスクは、一般に、複数のサ
ンプルに分解される。たとえば、GSMの用途では、音
声が、パケット伝送用に20ms毎に取られたサンプル
で圧縮解除される。
ンプルに分解される。たとえば、GSMの用途では、音
声が、パケット伝送用に20ms毎に取られたサンプル
で圧縮解除される。
【0006】DSPは、有利にはキャッシュメモリを使
用する。
用する。
【0007】キャッシュメモリは、プロセッサによって
読みとられるメモリを自動的にコピーするように構成さ
れる。このようなメモリは、小型であるが高速であると
いう特性を持っている。
読みとられるメモリを自動的にコピーするように構成さ
れる。このようなメモリは、小型であるが高速であると
いう特性を持っている。
【0008】プロセッサが、そのプログラムのループを
実施し、何回も同じメモリ位置を要求すると、キャッシ
ュメモリは、外部メインメモリよりも速く応答し、前に
使用されたデータのコピーをプロセッサに与える。
実施し、何回も同じメモリ位置を要求すると、キャッシ
ュメモリは、外部メインメモリよりも速く応答し、前に
使用されたデータのコピーをプロセッサに与える。
【0009】キャッシュメモリは、自動的に作動するの
で、外部メインメモリが非常に速いという印象を与え
る。
で、外部メインメモリが非常に速いという印象を与え
る。
【0010】キャッシュメモリは、プロセッサに対して
トランスペアレントであり、外部メインメモリをキャッ
シュするが、入出力をキャッシュしない。割込みが現れ
ると、キャッシュメモリは、このことを考慮する。
トランスペアレントであり、外部メインメモリをキャッ
シュするが、入出力をキャッシュしない。割込みが現れ
ると、キャッシュメモリは、このことを考慮する。
【0011】割込みは、緊急に実行しなければならない
処理を示すために、プログラムの正常なフローに割込む
ように機能する。割込みの到着が、プロセッサを、現行
プログラムの実行内容を保存して割込みを処理する割込
み管理プログラムに向ける。
処理を示すために、プログラムの正常なフローに割込む
ように機能する。割込みの到着が、プロセッサを、現行
プログラムの実行内容を保存して割込みを処理する割込
み管理プログラムに向ける。
【0012】割込みの実行は、メインプログラムと同様
にキャッシュメモリを使用する。かくしてキャッシュメ
モリは、処理すべき割込みのデータおよびコードをロー
ドするために、現行プログラムのデータおよびコードの
内容の一部または全部を取り除く。
にキャッシュメモリを使用する。かくしてキャッシュメ
モリは、処理すべき割込みのデータおよびコードをロー
ドするために、現行プログラムのデータおよびコードの
内容の一部または全部を取り除く。
【0013】従って、DSPがリアルタイムタスクの実
行プログラムに戻るとき、キャッシュメモリは、プログ
ラムのデータおよびコードを、再ロードしなければなら
ない。
行プログラムに戻るとき、キャッシュメモリは、プログ
ラムのデータおよびコードを、再ロードしなければなら
ない。
【0014】このような再ロードは、必然的に時間的に
無駄である。ところで、時間は、リアルタイム用途で
は、特に貴重である。
無駄である。ところで、時間は、リアルタイム用途で
は、特に貴重である。
【0015】現在まで、DSPは、リアルタイムの制約
を保持するために、固有のメモリを使用してきた。さら
に、DSPは、殆ど割込みされず、割込みされるのは主
に、次の音声サンプルの準備ができたことを知らせる場
合であった。
を保持するために、固有のメモリを使用してきた。さら
に、DSPは、殆ど割込みされず、割込みされるのは主
に、次の音声サンプルの準備ができたことを知らせる場
合であった。
【0016】今日、メイン装置にオプションが加わるに
つれて、DSPが実行するタスクも変化してきている。
つれて、DSPが実行するタスクも変化してきている。
【0017】従って、ハンズフリー動作、音声認識、グ
ラフィック処理などのように、ますますバラエティーに
富んだタスクが、音声処理のメインタスクに付加され
る。
ラフィック処理などのように、ますますバラエティーに
富んだタスクが、音声処理のメインタスクに付加され
る。
【0018】DSPは、高性能な計算機であるので、た
とえばインターネットから送られる画像表示のようなグ
ラフィック処理にも使用可能である。
とえばインターネットから送られる画像表示のようなグ
ラフィック処理にも使用可能である。
【0019】グラフィック機能または画像表示のよう
な、これらの機能の幾つかは、DSPに、外部メインメ
モリへのアクセスを要求する。さらに、DSPが実行す
るコードは、有利には、外部メインメモリに格納できる
ので、このコードの更新を容易にすることができる。従
って、処理をより速く実行できるようにするには、メイ
ンメモリでDSPがアクセスするコードおよびデータを
ロードしたキャッシュメモリを使用することが必要不可
欠である。
な、これらの機能の幾つかは、DSPに、外部メインメ
モリへのアクセスを要求する。さらに、DSPが実行す
るコードは、有利には、外部メインメモリに格納できる
ので、このコードの更新を容易にすることができる。従
って、処理をより速く実行できるようにするには、メイ
ンメモリでDSPがアクセスするコードおよびデータを
ロードしたキャッシュメモリを使用することが必要不可
欠である。
【0020】音声圧縮のようなリアルタイム処理およ
び、グラフィック機能のようなリアルタイムではない処
理に加えて、DSPは、割込みに対応する処理を実行し
なければならない。たとえば、インターネットによる電
話通信の場合、DSPは、音声の圧縮および圧縮解除
と、連続フローバイトをモデムから送るシリアルライン
からの割込みとを、同時に処理しなければならない。
び、グラフィック機能のようなリアルタイムではない処
理に加えて、DSPは、割込みに対応する処理を実行し
なければならない。たとえば、インターネットによる電
話通信の場合、DSPは、音声の圧縮および圧縮解除
と、連続フローバイトをモデムから送るシリアルライン
からの割込みとを、同時に処理しなければならない。
【0021】各割込みにおいて、割込みのコードおよび
データは、一部または全部が、キャッシュメモリにおい
てリアルタイム処理に関連付けられたコードおよびデー
タに代わる。かくして、各割込み後に、DSPは、リア
ルタイムタスクの実行プログラムに関するコードおよび
データで、キャッシュメモリを再ロードしなければなら
ない。これは、特に割込み数が多いとき、必然的に減速
をもたらし、リアルタイム処理が保証されない。
データは、一部または全部が、キャッシュメモリにおい
てリアルタイム処理に関連付けられたコードおよびデー
タに代わる。かくして、各割込み後に、DSPは、リア
ルタイムタスクの実行プログラムに関するコードおよび
データで、キャッシュメモリを再ロードしなければなら
ない。これは、特に割込み数が多いとき、必然的に減速
をもたらし、リアルタイム処理が保証されない。
【0022】メインタスクのリアルタイム処理を保証す
るために、従来技術において既に複数の解決方法が提案
されている。
るために、従来技術において既に複数の解決方法が提案
されている。
【0023】第1の解決方法は、DSPのメインタスク
の実行持続時間中、割込みをマスキングすることからな
る。
の実行持続時間中、割込みをマスキングすることからな
る。
【0024】このような解決方法は、マスキング時間
中、割込みに関するデータをローカルメモリに保存可能
にするように、周辺機器の容量を決定しなければならな
い。たとえば、通信用周辺機器は、割込みのマスキング
時間中に、送信または受信されたデータをローカルメモ
リに保存しなければならない。
中、割込みに関するデータをローカルメモリに保存可能
にするように、周辺機器の容量を決定しなければならな
い。たとえば、通信用周辺機器は、割込みのマスキング
時間中に、送信または受信されたデータをローカルメモ
リに保存しなければならない。
【0025】音声圧縮等のDSPが実行すべきリアルタ
イムタスクを知っている場合、このタスクの実行時間、
従って割込みの最大マスキング時間を予め決定すること
ができる。その場合には、マスキング時間に対応する応
答待ちに耐えるように、周辺機器の容量を決定可能であ
る。しかしながら、マルチメディアのタスクを実行する
場合、考えられる最大のマルチメディア処理に対して周
辺機器の容量を決定しなければならず、その結果システ
ムは無駄になる。
イムタスクを知っている場合、このタスクの実行時間、
従って割込みの最大マスキング時間を予め決定すること
ができる。その場合には、マスキング時間に対応する応
答待ちに耐えるように、周辺機器の容量を決定可能であ
る。しかしながら、マルチメディアのタスクを実行する
場合、考えられる最大のマルチメディア処理に対して周
辺機器の容量を決定しなければならず、その結果システ
ムは無駄になる。
【0026】割込みのマスキング時間中、周辺機器に、
データを保存しないことを選択する場合、周辺機器に関
するフローおよびデータが、バッファメモリか、また
は、直接メインメモリに格納されるように、メインメモ
リに直接アクセスするハードウェア機構を設けなければ
ならない。このような解決方法は、検討可能ではある
が、必要以上に高性能の周辺機器を備えるので、システ
ムを複雑かつ高価にする。
データを保存しないことを選択する場合、周辺機器に関
するフローおよびデータが、バッファメモリか、また
は、直接メインメモリに格納されるように、メインメモ
リに直接アクセスするハードウェア機構を設けなければ
ならない。このような解決方法は、検討可能ではある
が、必要以上に高性能の周辺機器を備えるので、システ
ムを複雑かつ高価にする。
【0027】従来技術により提案される第2の解決方法
は、内容を消さないようにするためにキャッシュメモリ
をロックすることからなる。
は、内容を消さないようにするためにキャッシュメモリ
をロックすることからなる。
【0028】かくして、DSPのメインプログラムのル
ープを最初に一巡した後、キャッシュメモリはロックさ
れる。割込みが発生した場合、キャッシュメモリを使用
せずに処理される。
ープを最初に一巡した後、キャッシュメモリはロックさ
れる。割込みが発生した場合、キャッシュメモリを使用
せずに処理される。
【0029】しかしながら、このような解決方法は、多
数の不都合を有する。
数の不都合を有する。
【0030】第1に、DSPが、プログラムを様々な分
枝処理に分割する条件テストを備えたアルゴリズムを処
理する場合、ロックする前にキャッシュメモリにメイン
プログラムをロードするのが難しいことがある。しか
も、キャッシュメモリのロックは、このメモリを、マニ
ュアルでロードされるローカルメモリに変換することに
なる。かくして、キャッシュメモリに付随する長所が失
われる。
枝処理に分割する条件テストを備えたアルゴリズムを処
理する場合、ロックする前にキャッシュメモリにメイン
プログラムをロードするのが難しいことがある。しか
も、キャッシュメモリのロックは、このメモリを、マニ
ュアルでロードされるローカルメモリに変換することに
なる。かくして、キャッシュメモリに付随する長所が失
われる。
【0031】第2に、割込みの処理は、キャッシュメモ
リの使用を禁ずることによって減速される。
リの使用を禁ずることによって減速される。
【0032】そのうえ、(GSMのように)無線用途の
範囲では、外部メモリへのアクセスは、エネルギーの観
点から高価であり、装置の連続動作能力に影響を与え
る。
範囲では、外部メモリへのアクセスは、エネルギーの観
点から高価であり、装置の連続動作能力に影響を与え
る。
【0033】従って、リアルタイムタスクの処理中、キ
ャッシュメモリをロックするというこの解決方法は、最
適ではない。
ャッシュメモリをロックするというこの解決方法は、最
適ではない。
【0034】第3の解決方法は、メモリ管理ユニット
(MMU:「Memory Management U
nit」)を使用することからなる。
(MMU:「Memory Management U
nit」)を使用することからなる。
【0035】このMMUは、メモリデータ等のキャッシ
ュ制御されるデータと、入出力等のキャッシュ制御に適
さないデータと、マイクロコントローラにより変更可能
であるデータとを特定する。MMUは、割込みに関連付
けられたコードおよびデータをキャッシュ制御してはな
らないと要求することができる。かくして、割込みの実
行中、関連付けられたデータは、一時的とみなされて、
キャッシュメモリに配置されない。
ュ制御されるデータと、入出力等のキャッシュ制御に適
さないデータと、マイクロコントローラにより変更可能
であるデータとを特定する。MMUは、割込みに関連付
けられたコードおよびデータをキャッシュ制御してはな
らないと要求することができる。かくして、割込みの実
行中、関連付けられたデータは、一時的とみなされて、
キャッシュメモリに配置されない。
【0036】この解決方法は、割込みがキャッシュメモ
リの長所を享受しないことから、処理が著しく減速さ
れ、その直接の結果として、DSPのメインタスクの全
体処理時間が長くなるという重大な欠点を有する。
リの長所を享受しないことから、処理が著しく減速さ
れ、その直接の結果として、DSPのメインタスクの全
体処理時間が長くなるという重大な欠点を有する。
【0037】従来技術により提案されたもう1つの解決
方法は、割込みによりキャッシュメモリが絶えず空けら
れてもDSPがリアルタイムを維持できるように、シス
テムの容量を大きくすることからなる。
方法は、割込みによりキャッシュメモリが絶えず空けら
れてもDSPがリアルタイムを維持できるように、シス
テムの容量を大きくすることからなる。
【0038】この解決方法は、しばしばプロセッサが使
用されているので、PC型のコンピュータに対して適用
可能であるが、GSM規格の携帯用機器には適用できな
い。
用されているので、PC型のコンピュータに対して適用
可能であるが、GSM規格の携帯用機器には適用できな
い。
【0039】従来技術により提案された様々な解決方法
は、DSPによるリアルタイムタスクの処理や、割込み
を素早く考慮するといったことが保証できない。
は、DSPによるリアルタイムタスクの処理や、割込み
を素早く考慮するといったことが保証できない。
【0040】一般に、これらの解決方法は、システムの
容量を大きくすることからなる根本的な解決方法であ
る。
容量を大きくすることからなる根本的な解決方法であ
る。
【0041】提案された解決方法は、しばしば理論的で
あるが、しかし、コストを最適化すべき環境では、経済
的に適用できない。
あるが、しかし、コストを最適化すべき環境では、経済
的に適用できない。
【0042】
【発明が解決しようとする課題】本発明は、従来技術の
欠点を解消し、システムの容量を大きくせずに経済的な
DSPの新しい割込み管理手段を提案するものである。
欠点を解消し、システムの容量を大きくせずに経済的な
DSPの新しい割込み管理手段を提案するものである。
【0043】本発明は、キャッシュメモリに、メインプ
ログラム同様、割込みがアクセス可能である解決方法を
提案する。
ログラム同様、割込みがアクセス可能である解決方法を
提案する。
【0044】本発明の特徴によれば、割込みは、グルー
プ化され、その結果、DSPに関係する限り、キャッシ
ュメモリは、空けられないように、また割込みグループ
により1回だけロードされるように、グループごとに処
理される。
プ化され、その結果、DSPに関係する限り、キャッシ
ュメモリは、空けられないように、また割込みグループ
により1回だけロードされるように、グループごとに処
理される。
【0045】必然的に、割込みグループ数は、割込み数
よりも少なく、これによって、リアルタイムでのメイン
タスクの処理における全体時間を大幅に節約することが
できる。
よりも少なく、これによって、リアルタイムでのメイン
タスクの処理における全体時間を大幅に節約することが
できる。
【0046】
【課題を解決するための手段】本発明は、特に、キャッ
シュメモリを使用するデジタル信号処理プロセッサによ
り、リアルタイムタスクを実行する方法を目的とし、前
記リアルタイムタスクと、プロセッサに関連する周辺機
器から送られる割込みとの実行に、全体持続時間を割り
当て、この全体持続時間を、前記リアルタイムタスクを
実行し割込みを待機させてグループ化する少なくとも1
つの「マスキング期間」と、前記リアルタイムタスクを
中止して割込みグループを実行する少なくとも1つの
「マスキングしない期間」と、を含む複数のタイムスロ
ットに分割する。マスキング期間およびマスキングしな
い期間は、タイマ(temporisation)を含
むハードウェア機構により決定される。
シュメモリを使用するデジタル信号処理プロセッサによ
り、リアルタイムタスクを実行する方法を目的とし、前
記リアルタイムタスクと、プロセッサに関連する周辺機
器から送られる割込みとの実行に、全体持続時間を割り
当て、この全体持続時間を、前記リアルタイムタスクを
実行し割込みを待機させてグループ化する少なくとも1
つの「マスキング期間」と、前記リアルタイムタスクを
中止して割込みグループを実行する少なくとも1つの
「マスキングしない期間」と、を含む複数のタイムスロ
ットに分割する。マスキング期間およびマスキングしな
い期間は、タイマ(temporisation)を含
むハードウェア機構により決定される。
【0047】本発明の特徴によれば、マスキング期間の
持続時間は、タイマにより決められる。
持続時間は、タイマにより決められる。
【0048】第1の実施形態によれば、タイマは、周期
的にリセットされる。
的にリセットされる。
【0049】第2の実施形態によれば、タイマは、待機
中の割込みグループの処理後、自動的にリセットされ
る。
中の割込みグループの処理後、自動的にリセットされ
る。
【0050】変形実施形態によれば、タイマは、待機グ
ループの最後の割込みの処理によりリセットされる。
ループの最後の割込みの処理によりリセットされる。
【0051】第3の実施形態によれば、タイマは、第1
の割込みを待機させることによりリセットされる。
の割込みを待機させることによりリセットされる。
【0052】好適な実施形態によれば、タイマは、タイ
ミング期間の終わりに、待機中の割込みが1つもない場
合、自動的にリセットされる。
ミング期間の終わりに、待機中の割込みが1つもない場
合、自動的にリセットされる。
【0053】本発明の特徴によれば、マスキング期間の
持続時間は、プロセッサに関連する周辺機器の最短待ち
時間に対応する。
持続時間は、プロセッサに関連する周辺機器の最短待ち
時間に対応する。
【0054】特定の実施形態によれば、マスキング期間
の持続時間は、1msに決められる。
の持続時間は、1msに決められる。
【0055】特定の実施形態によれば、リアルタイムタ
スクのサンプリングを実行する全体持続時間は、20m
sに決められる。
スクのサンプリングを実行する全体持続時間は、20m
sに決められる。
【0056】本発明は、実施が簡単であるという長所を
有し、DSPによるリアルタイムタスク処理における問
題に、前記処理中に介在する割込み数とは無関係に、経
済的な解決方法を与えるものである。
有し、DSPによるリアルタイムタスク処理における問
題に、前記処理中に介在する割込み数とは無関係に、経
済的な解決方法を与えるものである。
【0057】本発明は、システムの容量を大きくするこ
とは求めていない。
とは求めていない。
【0058】本発明は、主に、キャッシュメモリの再ロ
ード数を制限することにより、リアルタイムタスクの処
理を最適化しようとするものである。
ード数を制限することにより、リアルタイムタスクの処
理を最適化しようとするものである。
【0059】本発明の他の特徴および長所は、添付図に
関して限定的ではなく例として挙げられた以下の説明に
より明らかになるであろう。
関して限定的ではなく例として挙げられた以下の説明に
より明らかになるであろう。
【0060】
【発明の実施の形態】原則として、本発明は、DSPに
よって、リアルタイムタスクの処理中に発生する割込み
をグループ化して順次処理してから、リアルタイムタス
クに戻り、各割込みの処理後ではなく各割込みグループ
の処理後にのみ、キャッシュメモリを再ロードするよう
にすることからなる。
よって、リアルタイムタスクの処理中に発生する割込み
をグループ化して順次処理してから、リアルタイムタス
クに戻り、各割込みの処理後ではなく各割込みグループ
の処理後にのみ、キャッシュメモリを再ロードするよう
にすることからなる。
【0061】割込みは、従来技術から既知であるよう
に、最初に割込みをマスキングすることによってグルー
プ化される。
に、最初に割込みをマスキングすることによってグルー
プ化される。
【0062】本発明は、リアルタイムでのメインタスク
の処理中に割込みのマスクをとって割込みを処理できる
ようにし、次いで、所定の時間に対して再びマスキング
することからなる。
の処理中に割込みのマスクをとって割込みを処理できる
ようにし、次いで、所定の時間に対して再びマスキング
することからなる。
【0063】キャッシュメモリが空けられ、次いで再ロ
ードされる回数を推定することにより、リアルタイムタ
スクの処理時間の最大持続時間を推定する。
ードされる回数を推定することにより、リアルタイムタ
スクの処理時間の最大持続時間を推定する。
【0064】DSPのタスクの処理中に介在する割込み
数を知ることができるが、これは完全に最適というわけ
ではない。
数を知ることができるが、これは完全に最適というわけ
ではない。
【0065】事実、割込みは、周辺機器に関連付けら
れ、周辺機器は、各々が最高伝送速度のデータフローに
関連付けられる。その結果、割込みの伝送速度は最大に
なる。
れ、周辺機器は、各々が最高伝送速度のデータフローに
関連付けられる。その結果、割込みの伝送速度は最大に
なる。
【0066】実際、次の式が得られる。
【0067】T=TDSP+Tit+Tcache このとき、 T :リアルタイムタスクの全体実行時間 TDSP :DSPによるタスクの実行時間 Tit :割込みの実行時間 Tcache :キャッシュメモリの再ロード時間 である。
【0068】本発明は、Tに設定される、リアルタイム
タスクのサンプリング期間に対応する時間を保持するた
めに、Tcacheを最小化しようとするものである。
タスクのサンプリング期間に対応する時間を保持するた
めに、Tcacheを最小化しようとするものである。
【0069】このため、本発明は、割込みのマスキング
手段と、カウント手段にクロックを組み合わせたタイミ
ング発生手段とを含む、ハードウェア機構を提案する。
手段と、カウント手段にクロックを組み合わせたタイミ
ング発生手段とを含む、ハードウェア機構を提案する。
【0070】かくして、割込みのマスキングは、時間的
に制限される。リアルタイムタスクの最大実行時間は、
決定され、マスキング期間TMおよびマスキングしない
期間TNを含むタイムスロットに分割される。
に制限される。リアルタイムタスクの最大実行時間は、
決定され、マスキング期間TMおよびマスキングしない
期間TNを含むタイムスロットに分割される。
【0071】DSPタスクを実行する全体持続時間T
は、DSPタスクを実行し割込みをグループ化して待機
させる「マスキング期間TM」と、DSPタスクに割込
み、割込みを優先順位に応じて処理する「マスキングし
ない期間TN」とを含む。
は、DSPタスクを実行し割込みをグループ化して待機
させる「マスキング期間TM」と、DSPタスクに割込
み、割込みを優先順位に応じて処理する「マスキングし
ない期間TN」とを含む。
【0072】DSPのリアルタイムのメインタスクは、
マスキング期間TMの間に実行される。マスキング期間
中、割込みは、待機される。好適な実施形態によれば、
マスキング期間TMは、行程終了時に割込みのマスクを
取るクロックをベースとするハードウェアタイミング機
構により決定される。
マスキング期間TMの間に実行される。マスキング期間
中、割込みは、待機される。好適な実施形態によれば、
マスキング期間TMは、行程終了時に割込みのマスクを
取るクロックをベースとするハードウェアタイミング機
構により決定される。
【0073】割込みは、マスキングしない期間TN中に
処理され、次いでタイマが、リセットされて、新しいマ
スキング期間TMをカウントする。
処理され、次いでタイマが、リセットされて、新しいマ
スキング期間TMをカウントする。
【0074】割込みをマスキングしたり、また割込みの
マスクを取ったりするために、各種の機構を検討可能で
ある。
マスクを取ったりするために、各種の機構を検討可能で
ある。
【0075】まず第1に、タイマが、周期的であること
が可能で、規則的に、割込みをマスキングし、割込みの
マスクを取ることができ、マスキング期間は、周辺機器
の最短の待ち時間に対応する。
が可能で、規則的に、割込みをマスキングし、割込みの
マスクを取ることができ、マスキング期間は、周辺機器
の最短の待ち時間に対応する。
【0076】図1に示された第1の実施形態によれば、
タイミングは、マスキング期間TMの測定のために規則
的にリセットされる。
タイミングは、マスキング期間TMの測定のために規則
的にリセットされる。
【0077】割込みItは、マスキング期間TM中は待
機され、マスキングしない期間TN中に実行される。
機され、マスキングしない期間TN中に実行される。
【0078】マスキング期間およびマスキングしない期
間を周期的に測定するこの変形実施形態は、最適ではな
い。何故なら、考えられる割込みの最大実行期間に対し
て、マスキングしない期間TNの長さを決定しなければ
ならないからである。
間を周期的に測定するこの変形実施形態は、最適ではな
い。何故なら、考えられる割込みの最大実行期間に対し
て、マスキングしない期間TNの長さを決定しなければ
ならないからである。
【0079】図2に示した別の実施形態によれば、タイ
マは、新しいマスキング期間TMの測定のために、割込
みモードの終了後、ハードウェアにより自動的にリセッ
トされる。
マは、新しいマスキング期間TMの測定のために、割込
みモードの終了後、ハードウェアにより自動的にリセッ
トされる。
【0080】待機中の全ての割込みの後に配置される、
きわめて優先順位の低い「スキャン」割込みによりタイ
マをリセットする可能性を検討することも可能である。
きわめて優先順位の低い「スキャン」割込みによりタイ
マをリセットする可能性を検討することも可能である。
【0081】従って、マスキングしない期間TNiの持
続時間は、可変であり、処理すべき割込みに依存する。
続時間は、可変であり、処理すべき割込みに依存する。
【0082】図3に示した別の実施形態によれば、タイ
マは、第1の割込みItが発生するときに、マスキング
期間TMの測定のためにリセットされる。
マは、第1の割込みItが発生するときに、マスキング
期間TMの測定のためにリセットされる。
【0083】この実施形態により、DSPのリアルタイ
ムのメインタスクの処理に最大時間を割り当てられる。
ムのメインタスクの処理に最大時間を割り当てられる。
【0084】図4に示された変形実施形態によれば、タ
イマをリセットするために選択される機構が何であろう
と、タイマは、タイミング期間の終わりに、待機してい
る割込みが1つもない場合、新しいマスキング期間TM
のためにカウントをゼロに戻す。
イマをリセットするために選択される機構が何であろう
と、タイマは、タイミング期間の終わりに、待機してい
る割込みが1つもない場合、新しいマスキング期間TM
のためにカウントをゼロに戻す。
【0085】特定の実施形態によれば、DSPタスクの
全体時間Tは、20msに決められ、これは、有利には
GSM用途の範囲で音声サンプルに対応する。
全体時間Tは、20msに決められ、これは、有利には
GSM用途の範囲で音声サンプルに対応する。
【0086】好適には、タイマにより決定されるマスキ
ング期間TMの持続時間を1msに決め、マスキングし
ない期間TNの持続時間は、選択された実施形態に依存
する。
ング期間TMの持続時間を1msに決め、マスキングし
ない期間TNの持続時間は、選択された実施形態に依存
する。
【図1】本発明の第1の実施形態における、割込みがマ
スクされる期間と、割込みがマスクされない期間とのタ
イミング図である。
スクされる期間と、割込みがマスクされない期間とのタ
イミング図である。
【図2】本発明の第2の実施形態における、割込みがマ
スクされる期間と、割込みがマスクされない期間とのタ
イミング図である。
スクされる期間と、割込みがマスクされない期間とのタ
イミング図である。
【図3】本発明の第3の実施形態における、割込みがマ
スクされる期間と、割込みがマスクされない期間とのタ
イミング図である。
スクされる期間と、割込みがマスクされない期間とのタ
イミング図である。
【図4】本発明の変形実施形態における、割込みがマス
クされる期間と、割込みがマスクされない期間とのタイ
ミング図である。
クされる期間と、割込みがマスクされない期間とのタイ
ミング図である。
TM マスキング期間 TN マスキングしない期間 T 全体持続時間 It 割込み期間
Claims (12)
- 【請求項1】 キャッシュメモリを使用するデジタル信
号処理プロセッサにより、リアルタイムタスクを実行す
る方法であって、 前記リアルタイムタスクと、プロセッサに関連する周辺
機器からの割込みとを実行するために、全体持続時間
(T)を割り当て、 全体持続時間(T)を、前記リアルタイムタスクを実行
し、割込みを待機させてグループ化する少なくとも1つ
のマスキング期間(TM)と、前記リアルタイムタスク
を中止して、割込みグループを実行する少なくとも1つ
のマスキングしない期間(TN)と、を含む複数のタイ
ムスロットに分割することを特徴とする方法。 - 【請求項2】 前記マスキング期間(TM)および前記
マスキングしない期間(TN)が、ハードウェア機構に
より決定されることを特徴とする請求項1に記載の方
法。 - 【請求項3】 前記ハードウェア機構が、タイマを含む
ことを特徴とする請求項2に記載の方法。 - 【請求項4】 前記マスキング期間(TM)の持続時間
が、前記タイマにより決められることを特徴とする請求
項3に記載の方法。 - 【請求項5】 前記タイマが、周期的にリセットされる
ことを特徴とする請求項3または4に記載の方法。 - 【請求項6】 前記タイマが、待機中の割込みグループ
の処理後、自動的にリセットされることを特徴とする請
求項3または4に記載の方法。 - 【請求項7】 前記タイマが、前記割込みグループの最
後の割込みの処理により、リセットされることを特徴と
する請求項3または4に記載の方法。 - 【請求項8】 前記タイマが、待機中の第1の割込みを
待機させることによりリセットされることを特徴とする
請求項3または4に記載の方法。 - 【請求項9】 前記タイマが、タイミング期間の終わり
に、待機中の割込みが1つもない場合、自動的にリセッ
トされることを特徴とする請求項3から7のいずれか一
項に記載の方法。 - 【請求項10】 前記マスキング期間(TM)の持続時
間が、前記プロセッサに関連する周辺機器の最短待ち時
間に対応することを特徴とする請求項1から9のいずれ
か一項に記載の方法。 - 【請求項11】 前記マスキング期間(TM)の持続時
間が、1msに決められることを特徴とする請求項10
に記載の方法。 - 【請求項12】 リアルタイムタスクのサンプリングを
実行する全体持続時間(T)が、20msに決められる
ことを特徴とする請求項1から11のいずれか一項に記
載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9908072A FR2795537B1 (fr) | 1999-06-24 | 1999-06-24 | Procede d'execution d'une tache en temps reel par un processeur de traitement numerique du signal |
FR9908072 | 1999-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001034484A true JP2001034484A (ja) | 2001-02-09 |
Family
ID=9547250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000188759A Withdrawn JP2001034484A (ja) | 1999-06-24 | 2000-06-23 | デジタル処理信号プロセッサによりリアルタイムタスクを実行する方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6629180B1 (ja) |
EP (1) | EP1069502A1 (ja) |
JP (1) | JP2001034484A (ja) |
AU (1) | AU4257200A (ja) |
FR (1) | FR2795537B1 (ja) |
HU (1) | HUP0002388A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016009298A (ja) * | 2014-06-24 | 2016-01-18 | 日本リライアンス株式会社 | 情報処理装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004272844A (ja) * | 2003-03-12 | 2004-09-30 | Renesas Technology Corp | 割り込み制御方法 |
US7421521B2 (en) * | 2004-04-05 | 2008-09-02 | Intel Corporation | System, method and device for real time control of processor |
JP4033215B2 (ja) * | 2006-01-31 | 2008-01-16 | セイコーエプソン株式会社 | マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム |
US7886303B2 (en) * | 2007-05-18 | 2011-02-08 | Mediatek Inc. | Method for dynamically adjusting audio decoding process |
US8255602B2 (en) * | 2008-09-09 | 2012-08-28 | Texas Instruments Incorporated | Effective mixing real-time software with a non-real-time operating system |
US20220206972A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Interrupt and exception clustering in a processor using external event groups |
CN117193991B (zh) * | 2023-11-08 | 2024-02-23 | 广州翼辉信息技术有限公司 | 一种实时操作系统中断处理时间的准确测量方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01126751A (ja) * | 1987-11-11 | 1989-05-18 | Fujitsu Ltd | グルーピング装置 |
US4912628A (en) * | 1988-03-15 | 1990-03-27 | International Business Machines Corp. | Suspending and resuming processing of tasks running in a virtual machine data processing system |
JP3678759B2 (ja) * | 1992-07-21 | 2005-08-03 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込を発生するための装置および割込を発生するための方法 |
US5404536A (en) * | 1992-09-15 | 1995-04-04 | Digital Equipment Corp. | Scheduling mechanism for network adapter to minimize latency and guarantee background processing time |
DE69429204T2 (de) * | 1993-03-26 | 2002-07-25 | Cabletron Systems Inc | Ablaufssteuerungsverfahren und -gerät für ein Kommunikationsnetzwerk |
US5708814A (en) * | 1995-11-21 | 1998-01-13 | Microsoft Corporation | Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
-
1999
- 1999-06-24 FR FR9908072A patent/FR2795537B1/fr not_active Expired - Fee Related
-
2000
- 2000-06-08 EP EP00401629A patent/EP1069502A1/fr not_active Withdrawn
- 2000-06-15 US US09/594,079 patent/US6629180B1/en not_active Expired - Lifetime
- 2000-06-21 AU AU42572/00A patent/AU4257200A/en not_active Abandoned
- 2000-06-23 HU HU0002388A patent/HUP0002388A2/hu unknown
- 2000-06-23 JP JP2000188759A patent/JP2001034484A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016009298A (ja) * | 2014-06-24 | 2016-01-18 | 日本リライアンス株式会社 | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
FR2795537A1 (fr) | 2000-12-29 |
FR2795537B1 (fr) | 2001-09-21 |
EP1069502A1 (fr) | 2001-01-17 |
HU0002388D0 (en) | 2000-08-28 |
US6629180B1 (en) | 2003-09-30 |
HUP0002388A2 (hu) | 2001-07-30 |
AU4257200A (en) | 2001-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6430593B1 (en) | Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system | |
US6360243B1 (en) | Method, device and article of manufacture for implementing a real-time task scheduling accelerator | |
US7984281B2 (en) | Shared interrupt controller for a multi-threaded processor | |
US7802255B2 (en) | Thread execution scheduler for multi-processing system and method | |
US6128672A (en) | Data transfer using software interrupt service routine between host processor and external device with queue of host processor and hardware queue pointers on external device | |
US20010049726A1 (en) | Data path engine | |
US20020103942A1 (en) | Wireless java device | |
WO2014166404A1 (zh) | 一种网络数据包处理方法和装置 | |
RU2395835C2 (ru) | Способ и система вычисления указателя для масштабируемого программируемого кольцевого буфера | |
US20020016869A1 (en) | Data path engine | |
US7913255B2 (en) | Background thread processing in a multithread digital signal processor | |
JPWO2008023426A1 (ja) | タスク処理装置 | |
US8356299B2 (en) | Interrupt processing method and system | |
US7293158B2 (en) | Systems and methods for implementing counters in a network processor with cost effective memory | |
EP1941352B1 (en) | Shared interrupt control method and system for a digital signal processor | |
JPWO2008023427A1 (ja) | タスク処理装置 | |
JP2001034484A (ja) | デジタル処理信号プロセッサによりリアルタイムタスクを実行する方法 | |
US8706923B2 (en) | Methods and systems for direct memory access (DMA) in-flight status | |
US20090172684A1 (en) | Small low power embedded system and preemption avoidance method thereof | |
US8694697B1 (en) | Rescindable instruction dispatcher | |
WO2001095096A2 (en) | Data path engine (dpe) | |
US20020069351A1 (en) | Memory data access structure and method suitable for use in a processor | |
Bergmann et al. | A catalog of hardware acceleration techniques for real-time reconfigurable system on chip | |
WO1999046679A1 (en) | Apparatus, method and article of manufacture for use with a priority based real-time operating system | |
CN116932521A (zh) | 数据混洗方法、装置、设备、计算机可读存储介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |