JP2003099272A - タスク切替システムと方法およびdspとモデム - Google Patents
タスク切替システムと方法およびdspとモデムInfo
- Publication number
- JP2003099272A JP2003099272A JP2001286670A JP2001286670A JP2003099272A JP 2003099272 A JP2003099272 A JP 2003099272A JP 2001286670 A JP2001286670 A JP 2001286670A JP 2001286670 A JP2001286670 A JP 2001286670A JP 2003099272 A JP2003099272 A JP 2003099272A
- Authority
- JP
- Japan
- Prior art keywords
- task
- execution
- switching
- processing means
- modem
- 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.)
- Pending
Links
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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
- 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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
(57)【要約】
【課題】 単一のプロセッサでの複数のタスクの切替を
効率的に行うこと。 【解決手段】 モデム1における単一のDSP2によっ
て実行されるコントローラタスク(CT)とデータポン
プタスク(DP)の内、CTに関しては、CT処理部3
においてその複数のサブタスクをラウンドロビンとして
無限ループで実行させ、このCT実行中に、外部事象に
よる割り込みが発生してDPを起動する必要がある場合
には、タスク切替処理部5において、実行中のCTの実
行復帰のためのパラメタを保存し、DP復帰用に保存し
ておいたパラメタを基に、実行を、DP処理部4での当
該DPに切り替える。そして、このDP実行が完了した
場合には、タスク切替処理部5で、当該DPの実行復帰
のためのパラメタを保存し、且つ、CT復帰用に保存し
たパラメタを基に、当該CTに実行を切替える。
効率的に行うこと。 【解決手段】 モデム1における単一のDSP2によっ
て実行されるコントローラタスク(CT)とデータポン
プタスク(DP)の内、CTに関しては、CT処理部3
においてその複数のサブタスクをラウンドロビンとして
無限ループで実行させ、このCT実行中に、外部事象に
よる割り込みが発生してDPを起動する必要がある場合
には、タスク切替処理部5において、実行中のCTの実
行復帰のためのパラメタを保存し、DP復帰用に保存し
ておいたパラメタを基に、実行を、DP処理部4での当
該DPに切り替える。そして、このDP実行が完了した
場合には、タスク切替処理部5で、当該DPの実行復帰
のためのパラメタを保存し、且つ、CT復帰用に保存し
たパラメタを基に、当該CTに実行を切替える。
Description
【0001】
【発明の属する技術分野】本発明は、プロセッサで実行
されるタスクの切替技術に係わり、特に、単一のプロセ
ッサでの複数のタスクの切替を効率的に行うのに好適な
タスク切替システムと方法およびDSPとモデムに関す
るものである。
されるタスクの切替技術に係わり、特に、単一のプロセ
ッサでの複数のタスクの切替を効率的に行うのに好適な
タスク切替システムと方法およびDSPとモデムに関す
るものである。
【0002】
【従来の技術】単一のプロセッサでは、複数のタスクの
中から選択した1つのタスクを実行する。タスクは、プ
ロセッサにより実行可能な実行可能状態、プロセッサに
より実行されている実行状態、プロセッサにより実行で
きない待機状態などの状態をとり、実行可能状態にある
タスクが、それぞれの優先順で選択され実行される。
中から選択した1つのタスクを実行する。タスクは、プ
ロセッサにより実行可能な実行可能状態、プロセッサに
より実行されている実行状態、プロセッサにより実行で
きない待機状態などの状態をとり、実行可能状態にある
タスクが、それぞれの優先順で選択され実行される。
【0003】図4は、タスク管理状態の遷移例を示す説
明図である。
明図である。
【0004】図4では、比較的単純なリアルタイムオペ
レーティングシステム(以下、「RTOS」(Real Tim
e Operating System)と記載)のタスク管理状態を表し
ており、タスクは、実行可能状態41、実行状態42、
待ち状態43、強制待ち状態44、休止状態45をと
る。
レーティングシステム(以下、「RTOS」(Real Tim
e Operating System)と記載)のタスク管理状態を表し
ており、タスクは、実行可能状態41、実行状態42、
待ち状態43、強制待ち状態44、休止状態45をと
る。
【0005】例えば、実行可能状態41のタスクは、イ
ベント「実行割付」の発生に伴い実行状態42となり、
イベント「中断」で強制待ち状態44に、イベント「強
制終了」で休止状態45となる。また、実行状態42の
タスクは、イベント「実行待ち」により実行可能状態4
1に、イベント「待ち条件」により待ち状態43に、イ
ベント「終了」により休止状態45に遷移する。
ベント「実行割付」の発生に伴い実行状態42となり、
イベント「中断」で強制待ち状態44に、イベント「強
制終了」で休止状態45となる。また、実行状態42の
タスクは、イベント「実行待ち」により実行可能状態4
1に、イベント「待ち条件」により待ち状態43に、イ
ベント「終了」により休止状態45に遷移する。
【0006】また、待ち状態43のタスクは、イベント
「待ち解除」で実行可能状態41に、イベント「強制待
ち」で強制待ち状態44に、イベント「強制終了」で休
止状態45に遷移し、強制待ち状態44のタスクは、イ
ベント「再開」で実行可能状態41になり、そして、休
止状態45のタスクは、イベント「起動」で実行可能状
態41になる。
「待ち解除」で実行可能状態41に、イベント「強制待
ち」で強制待ち状態44に、イベント「強制終了」で休
止状態45に遷移し、強制待ち状態44のタスクは、イ
ベント「再開」で実行可能状態41になり、そして、休
止状態45のタスクは、イベント「起動」で実行可能状
態41になる。
【0007】このように、タスクは、あるイベントや状
態の変化により、必要に応じて起動され、所望の処理を
行って、休止する。
態の変化により、必要に応じて起動され、所望の処理を
行って、休止する。
【0008】以下、モデムを例に、従来のタスクの管理
技術について説明する。モデムの機能は、大別して制御
処理と信号処理とに分けて考えられる。
技術について説明する。モデムの機能は、大別して制御
処理と信号処理とに分けて考えられる。
【0009】制御処理には、ユーザが発行するATコマ
ンドの処理や、Sレジスタの処理、デジタルビットデー
タに対するバイト化処理、バッファ処理、さらに、エラ
ー訂正処理やデータ圧縮・伸張処理などがあり、コント
ローラタスクと呼ばれる。
ンドの処理や、Sレジスタの処理、デジタルビットデー
タに対するバイト化処理、バッファ処理、さらに、エラ
ー訂正処理やデータ圧縮・伸張処理などがあり、コント
ローラタスクと呼ばれる。
【0010】これに対し、信号処理には、デジタルビッ
トデータを電送線路に対する送受信信号として変復調す
る処理があり、データポンプタスクと呼ばれる。
トデータを電送線路に対する送受信信号として変復調す
る処理があり、データポンプタスクと呼ばれる。
【0011】従来、コントローラタスクは、マイコン等
の汎用のCPU(Central Processing Unit)によるソ
フトウェアで行われ、データポンプタスクは、信号処理
専用のDSP(Digital Signal Processor)等によるハ
ードウエアで行われていた。
の汎用のCPU(Central Processing Unit)によるソ
フトウェアで行われ、データポンプタスクは、信号処理
専用のDSP(Digital Signal Processor)等によるハ
ードウエアで行われていた。
【0012】しかし、近年のDSP技術の進歩やMIP
S(Million Instructions Per Second)の増大を受
け、あるいは、コスト低減ならびに製品サイズの小型化
の要望に対応するために、DSPワンチップでモデムを
構成することが必要となってきている。
S(Million Instructions Per Second)の増大を受
け、あるいは、コスト低減ならびに製品サイズの小型化
の要望に対応するために、DSPワンチップでモデムを
構成することが必要となってきている。
【0013】モデムのようなマルチタスクの、DSPへ
の実装技術としては、マルチタスクのRTOSを用いる
ものが一般的である。
の実装技術としては、マルチタスクのRTOSを用いる
ものが一般的である。
【0014】しかしながら、RTOS自体は、汎用性や
複雑で複数のタスクに対応できる反面、それ自体がDS
Pのリソースをある程度必要とする。また、実行するタ
スクもRTOSの仕様に基づいて構成されなければなら
ない。
複雑で複数のタスクに対応できる反面、それ自体がDS
Pのリソースをある程度必要とする。また、実行するタ
スクもRTOSの仕様に基づいて構成されなければなら
ない。
【0015】一般にリアルタイムシステムでは、複数の
タスクが同時に起動されることが多い。タスクによって
は比較的長時間要するものもあるし、短時間ですむもの
もある。これらをその必要性に応じて、実行したり待た
せたりするのがRTOSの役割である。
タスクが同時に起動されることが多い。タスクによって
は比較的長時間要するものもあるし、短時間ですむもの
もある。これらをその必要性に応じて、実行したり待た
せたりするのがRTOSの役割である。
【0016】これを実現するために、RTOSは、各タ
スクに対応し、その状態(情報)を保持することが必要
である。また、タスクは、自タスクの起動タイミングや
優先度をRTOSに知らせる仕組みも必要である。
スクに対応し、その状態(情報)を保持することが必要
である。また、タスクは、自タスクの起動タイミングや
優先度をRTOSに知らせる仕組みも必要である。
【0017】さらに、RTOS自体もプロセッサで実行
されるわけであるから、大きさも、実行時間も、本来必
要なタスク(TASK)の総計に加算されることにな
る。また、RTOSとタスクの実行を切り替える仕組み
も当然必要である。
されるわけであるから、大きさも、実行時間も、本来必
要なタスク(TASK)の総計に加算されることにな
る。また、RTOSとタスクの実行を切り替える仕組み
も当然必要である。
【0018】尚、タスクの実行切替技術に関しては、例
えば、特開2000−105708号公報や特開200
0−142065号公報、特開2000−215068
号公報などに記載のものがある。
えば、特開2000−105708号公報や特開200
0−142065号公報、特開2000−215068
号公報などに記載のものがある。
【0019】一方、DSPの中でも小型低コストを図っ
たものには、スタックエリア等を極小にしたものがあ
る。このような低コストDSPでは、上述のようなRT
OSを実装するときに、ソフトウエアによるスタックを
メモリ上に構成しなければならず、大変に複雑となり、
且つ、RTOSの実行自体の効率が非常に悪くなる。
たものには、スタックエリア等を極小にしたものがあ
る。このような低コストDSPでは、上述のようなRT
OSを実装するときに、ソフトウエアによるスタックを
メモリ上に構成しなければならず、大変に複雑となり、
且つ、RTOSの実行自体の効率が非常に悪くなる。
【0020】従って、例えば、このような小型・低コス
トを指向したDSPを用いたモデムにおいては、本格的
RTOSを用いることなく、モデムの二つのタスク、す
なわち、コントローラタスクとデータポンプタスクを効
率良く実行させる必要がある。しかし、従来の技術で
は、このような問題に対処することができない。
トを指向したDSPを用いたモデムにおいては、本格的
RTOSを用いることなく、モデムの二つのタスク、す
なわち、コントローラタスクとデータポンプタスクを効
率良く実行させる必要がある。しかし、従来の技術で
は、このような問題に対処することができない。
【0021】
【発明が解決しようとする課題】解決しようとする問題
点は、従来の技術では、単一のプロセッサでの複数のタ
スクの切替を効率的に行うことができず、例えば小型・
低コストを指向したDSPを用いたモデムにおいて、本
格的RTOSを用いることなく、モデムの二つのタス
ク、すなわち、コントローラタスクとデータポンプタス
クを効率よく実行させることができない点である。
点は、従来の技術では、単一のプロセッサでの複数のタ
スクの切替を効率的に行うことができず、例えば小型・
低コストを指向したDSPを用いたモデムにおいて、本
格的RTOSを用いることなく、モデムの二つのタス
ク、すなわち、コントローラタスクとデータポンプタス
クを効率よく実行させることができない点である。
【0022】本発明の目的は、これら従来技術の課題を
解決し、例えば、DSPワンチップ構成によるモデムの
小型・低コスト化を可能とするタスク切替システムと方
法およびDSPとモデムを提供することである。
解決し、例えば、DSPワンチップ構成によるモデムの
小型・低コスト化を可能とするタスク切替システムと方
法およびDSPとモデムを提供することである。
【0023】
【課題を解決するための手段】上記目的を達成するた
め、本発明のタスク切替システムと方法およびDSPと
モデムでは、単一のプロセッサにおいて実行される第
1,第2の2つのタスクの内、第1のタスクは、その複
数のサブタスクをラウンドロビンとして無限ループで実
行するものとし、そして、第2のタスクは、自タスクを
実行すべきイベントが発生したときに実行し、実行完了
したときに、第1のタスクに実行を切り替えることを特
徴とする。例えば、ワンチップDSPモデムを実現する
にあたっては、単一のDSPによって実行されるコント
ローラタスク(モデムコントローラタスク)とデータポ
ンプタスク(モデムデータポンプタスク)の内、コント
ローラタスクに関しては、その複数のサブタスクをラウ
ンドロビンとして無限ループで実行させ、このコントロ
ーラタスク実行中に、外部事象による割り込みが発生し
てデータポンプタスクを起動する必要がある場合には、
実行中のコントローラタスクの実行復帰のためのパラメ
タを保存し、データポンプタスク復帰用に保存しておい
たパラメタを基に、実行を、当該データポンプタスクに
切り替える。そして、例えば、このように切替えて実行
中のデータポンプタスクは、自タスクの実行が完了した
場合には、自データポンプタスクの実行復帰のためのパ
ラメタを保存し、且つ、コントローラタスク復帰用に保
存したパラメタを基に、当該コントローラタスクに実行
を切替える。
め、本発明のタスク切替システムと方法およびDSPと
モデムでは、単一のプロセッサにおいて実行される第
1,第2の2つのタスクの内、第1のタスクは、その複
数のサブタスクをラウンドロビンとして無限ループで実
行するものとし、そして、第2のタスクは、自タスクを
実行すべきイベントが発生したときに実行し、実行完了
したときに、第1のタスクに実行を切り替えることを特
徴とする。例えば、ワンチップDSPモデムを実現する
にあたっては、単一のDSPによって実行されるコント
ローラタスク(モデムコントローラタスク)とデータポ
ンプタスク(モデムデータポンプタスク)の内、コント
ローラタスクに関しては、その複数のサブタスクをラウ
ンドロビンとして無限ループで実行させ、このコントロ
ーラタスク実行中に、外部事象による割り込みが発生し
てデータポンプタスクを起動する必要がある場合には、
実行中のコントローラタスクの実行復帰のためのパラメ
タを保存し、データポンプタスク復帰用に保存しておい
たパラメタを基に、実行を、当該データポンプタスクに
切り替える。そして、例えば、このように切替えて実行
中のデータポンプタスクは、自タスクの実行が完了した
場合には、自データポンプタスクの実行復帰のためのパ
ラメタを保存し、且つ、コントローラタスク復帰用に保
存したパラメタを基に、当該コントローラタスクに実行
を切替える。
【0024】
【発明の実施の形態】以下、本発明の実施の形態を、図
面により詳細に説明する。
面により詳細に説明する。
【0025】図1は、本発明に係わるタスク切替システ
ムおよびDSPとモデムの構成例を示すブロック図であ
り、図2は、図1におけるモデムのハードウェア構成例
を示すブロック図、図3は、本発明に係わるタスク切替
方法の処理手順例を示すフローチャートである。
ムおよびDSPとモデムの構成例を示すブロック図であ
り、図2は、図1におけるモデムのハードウェア構成例
を示すブロック図、図3は、本発明に係わるタスク切替
方法の処理手順例を示すフローチャートである。
【0026】図2において、1はモデム、20はパーソ
ナルコンピュータ等からなるDTE(Data Terminal Eq
uipment)、30は回線であり、モデム1は、DSP2
と、シリアルポート10、ワークRAM(Random Acces
s Memory)11、プログラムROM(Read Only Memor
y)12、A/D・D/Aコンバータ(図中、「A/D
・D/A」と記載)13、DAA(Data Access Arrang
ement)14により構成されている。
ナルコンピュータ等からなるDTE(Data Terminal Eq
uipment)、30は回線であり、モデム1は、DSP2
と、シリアルポート10、ワークRAM(Random Acces
s Memory)11、プログラムROM(Read Only Memor
y)12、A/D・D/Aコンバータ(図中、「A/D
・D/A」と記載)13、DAA(Data Access Arrang
ement)14により構成されている。
【0027】DSP2は、シリアルポート10を介して
DTE20に接続され、DTE20に対する回線30と
の接続制御処理、例えば、ユーザが発行するATコマン
ドの処理や、Sレジスタの処理、デジタルビットデータ
に対するバイト化処理、バッファ処理、さらに、エラー
訂正処理やデータ圧縮・伸張処理など、コントローラタ
スクと呼ばれる制御処理と、デジタルビットデータを電
送線路に対する送受信信号として変復調するなどのデー
タポンプタスクと呼ばれる信号処理を行う。
DTE20に接続され、DTE20に対する回線30と
の接続制御処理、例えば、ユーザが発行するATコマン
ドの処理や、Sレジスタの処理、デジタルビットデータ
に対するバイト化処理、バッファ処理、さらに、エラー
訂正処理やデータ圧縮・伸張処理など、コントローラタ
スクと呼ばれる制御処理と、デジタルビットデータを電
送線路に対する送受信信号として変復調するなどのデー
タポンプタスクと呼ばれる信号処理を行う。
【0028】このようなDSP2の処理は、プログラム
ROM12に記録されたプログラムに基づきDSP2内
のCPUにより実行され、さらに、DSP2は、本発明
に係わるタスク切替を、ワークRAM11を用いて実行
する。
ROM12に記録されたプログラムに基づきDSP2内
のCPUにより実行され、さらに、DSP2は、本発明
に係わるタスク切替を、ワークRAM11を用いて実行
する。
【0029】DAA14は、NCU(Network Control
Unit)とハイブリッド回路からなり、コントロールポー
ト15を介してのDSP2からの指示に基づき、回線3
0との接続制御およびデータ送受信制御を行う。
Unit)とハイブリッド回路からなり、コントロールポー
ト15を介してのDSP2からの指示に基づき、回線3
0との接続制御およびデータ送受信制御を行う。
【0030】DAA14で送受信されるデータは、A/
D・D/Aコンバータ13により、アナログからデジタ
ルに、あるいは、デジタルからアナログに変換される。
D・D/Aコンバータ13により、アナログからデジタ
ルに、あるいは、デジタルからアナログに変換される。
【0031】このような構成により、モデム1では、D
TE20からの送信用デジタル信号が、DSP2におい
て、制御処理および信号処理され、かつ、A/D・D/
Aコンバータ13においてアナログ信号に変換された
後、DAA14を介して回線30に送出される。
TE20からの送信用デジタル信号が、DSP2におい
て、制御処理および信号処理され、かつ、A/D・D/
Aコンバータ13においてアナログ信号に変換された
後、DAA14を介して回線30に送出される。
【0032】また、回線30から入力されてきたアナロ
グ信号は、DAA14を介してA/D・D/Aコンバー
タ13に取りこまれ、A/D・D/Aコンバータ13に
おいて、デジタル信号に変換された後、DSP2におい
て信号処理および制御処理され、シリアルポート10を
介してDTE20に送出される。
グ信号は、DAA14を介してA/D・D/Aコンバー
タ13に取りこまれ、A/D・D/Aコンバータ13に
おいて、デジタル信号に変換された後、DSP2におい
て信号処理および制御処理され、シリアルポート10を
介してDTE20に送出される。
【0033】特に、本例のモデム1が具備したDSP2
は、図1に示す構成からなり、制御処理と信号処理、す
なわち、コントローラタスクとデータポンプタスクの切
替えを効率的に行うことができる。
は、図1に示す構成からなり、制御処理と信号処理、す
なわち、コントローラタスクとデータポンプタスクの切
替えを効率的に行うことができる。
【0034】図1に示すように、モデム1のDSP2に
は、コントローラタスク処理部3とデータポンプタスク
処理部4、タスク切替処理部5が設けられており、コン
トローラタスク処理部3では、複数のサブタスクA3a
〜F3fが、ラウンドロビンとして無限ループで実行さ
れ、データポンプタスク処理部4では、変復調タスク4
aが実行される。
は、コントローラタスク処理部3とデータポンプタスク
処理部4、タスク切替処理部5が設けられており、コン
トローラタスク処理部3では、複数のサブタスクA3a
〜F3fが、ラウンドロビンとして無限ループで実行さ
れ、データポンプタスク処理部4では、変復調タスク4
aが実行される。
【0035】タスク切替処理部5では、外部事象による
割り込み、例えば、図2のA/D・D/Aコンバータ1
3におけるブロック単位の変換処理の完了を、割込み検
出部5aにより検出し、この割込み検出に伴い、切替部
5bにより、コントローラタスク処理部3でのラウンド
ロビンによる無限ループとして実行されている各サブタ
スクA3a〜F3fの実行を中断させ、データポンプタ
スク処理部4での変復調タスク4aに、その実行を切替
える。
割り込み、例えば、図2のA/D・D/Aコンバータ1
3におけるブロック単位の変換処理の完了を、割込み検
出部5aにより検出し、この割込み検出に伴い、切替部
5bにより、コントローラタスク処理部3でのラウンド
ロビンによる無限ループとして実行されている各サブタ
スクA3a〜F3fの実行を中断させ、データポンプタ
スク処理部4での変復調タスク4aに、その実行を切替
える。
【0036】この切替の際、切替部5bは、中断したサ
ブタスクA3a〜F3fの実行を再開させるために必要
となる情報(パラメタ)を、図2におけるワークRAM
11に領域確保されたパラメタ記憶領域5cに保存す
る。
ブタスクA3a〜F3fの実行を再開させるために必要
となる情報(パラメタ)を、図2におけるワークRAM
11に領域確保されたパラメタ記憶領域5cに保存す
る。
【0037】そして、データポンプタスク処理部4での
変復調タスク4aが終了すると、タスク切替処理部5
は、このデータポンプタスク処理部4の実行復帰のため
のパラメタをパラメタ記憶領域5cに保存し、且つ、変
復調タスク4aの実効開指示に中断したサブタスクA3
a〜F3fの実行復帰用にパラメタ記憶領域5cに保存
しておいたパラメタを読み出し、当該パラメタを基に、
中断したサブタスクA3a〜F3fに実行を切替える。
変復調タスク4aが終了すると、タスク切替処理部5
は、このデータポンプタスク処理部4の実行復帰のため
のパラメタをパラメタ記憶領域5cに保存し、且つ、変
復調タスク4aの実効開指示に中断したサブタスクA3
a〜F3fの実行復帰用にパラメタ記憶領域5cに保存
しておいたパラメタを読み出し、当該パラメタを基に、
中断したサブタスクA3a〜F3fに実行を切替える。
【0038】このように、本例のモデム1およびDSP
2では、本格的なOS(オペレーティングシステム)を
用いることなく、タスクの切替を行うことができ、本格
的なOSに比べて、使用するメモリ容量は少なくてす
む。
2では、本格的なOS(オペレーティングシステム)を
用いることなく、タスクの切替を行うことができ、本格
的なOSに比べて、使用するメモリ容量は少なくてす
む。
【0039】以下、モデム1およびDSP2で用いるタ
スク切替システムの動作手順を、図3に従って、詳細に
説明する。
スク切替システムの動作手順を、図3に従って、詳細に
説明する。
【0040】まず、DSP2のプログラム実行は、リセ
ット後、初期化等の処理を終えると、コントローラの通
常処理、すなわち、コントローラタスク(CT_TAS
K)に入る(ステップ301)。このコントローラタスク
は、それ自体は無限ループであり、1レベルの処理体系
で、「CTX処理」と「LAPM処理」からなる。
ット後、初期化等の処理を終えると、コントローラの通
常処理、すなわち、コントローラタスク(CT_TAS
K)に入る(ステップ301)。このコントローラタスク
は、それ自体は無限ループであり、1レベルの処理体系
で、「CTX処理」と「LAPM処理」からなる。
【0041】CTX処理は、さらにサブタスクに分けて
考えられ、サブタスクとしては、ATコマンドパーサ、
Sレジレジスタ処理、ビットデータのバイト化処理、バ
ッファリング処理、ホストに対するフロー制御処理等が
ある。
考えられ、サブタスクとしては、ATコマンドパーサ、
Sレジレジスタ処理、ビットデータのバイト化処理、バ
ッファリング処理、ホストに対するフロー制御処理等が
ある。
【0042】また、LAPM(Link Access Procedure
for Modems)とは、ITU−T(International Teleco
mmunication Union-Telecommunication standardizatio
n sector)の「V.42:エラー訂正勧告」に記載され
ているエラー訂正処理である。さらに、V.42bis
等のデータ圧縮処理も、この、コントローラタスクとし
て位置づけることができる。
for Modems)とは、ITU−T(International Teleco
mmunication Union-Telecommunication standardizatio
n sector)の「V.42:エラー訂正勧告」に記載され
ているエラー訂正処理である。さらに、V.42bis
等のデータ圧縮処理も、この、コントローラタスクとし
て位置づけることができる。
【0043】これらの各々の処理(コントローラサブタ
スク)は、処理すべきデータがあれば、それを行い、無
ければ次へ進む、いわゆるラウンドロビンの構成をとっ
ている。
スク)は、処理すべきデータがあれば、それを行い、無
ければ次へ進む、いわゆるラウンドロビンの構成をとっ
ている。
【0044】コントローラ(CT)処理で必要なイベン
ト発生は、CTリソースの割込み処理(ホスト通信等)
で発生されるか、または、データポンプ(DP)から与
えられる復調データや、DPに与えるべき変調の対象と
されるデータの蓄積で生じるように構成する。
ト発生は、CTリソースの割込み処理(ホスト通信等)
で発生されるか、または、データポンプ(DP)から与
えられる復調データや、DPに与えるべき変調の対象と
されるデータの蓄積で生じるように構成する。
【0045】また、「CT_TASK」処理中は基本的
に割込み可とする。
に割込み可とする。
【0046】DPの起動要求が無い場合、このようにC
Tのみ、ラウンドロビンで実行されていく。
Tのみ、ラウンドロビンで実行されていく。
【0047】ステップ302におけるデータポンプ(D
P)処理の受信処理(ステップ303)は、例えば、図
2に示すAD/DA・DA/ADコンバータ13におけ
るADコンバータからの入力信号が起動イベントとな
る。同様に、DP送信処理(ステップ304)は、AD
/DA・DA/ADコンバータ13におけるDAコンバ
ータへデータを出さなければならないタイミングが起動
イベントとなる。
P)処理の受信処理(ステップ303)は、例えば、図
2に示すAD/DA・DA/ADコンバータ13におけ
るADコンバータからの入力信号が起動イベントとな
る。同様に、DP送信処理(ステップ304)は、AD
/DA・DA/ADコンバータ13におけるDAコンバ
ータへデータを出さなければならないタイミングが起動
イベントとなる。
【0048】このようなAD/DA・DA/ADコンバ
ータ13によるAD/DA割込は、ステップ307にお
ける処理となる。すなわち、AD/DA割込は、DSP
2に接続されたAD/DAの変換終了時にハードウエア
割り込みとして起動される処理である。
ータ13によるAD/DA割込は、ステップ307にお
ける処理となる。すなわち、AD/DA割込は、DSP
2に接続されたAD/DAの変換終了時にハードウエア
割り込みとして起動される処理である。
【0049】ここでは、それに必要なデータ送受信デー
タのバッファリング等の処理を行う。これにより、DP
処理が必要となる場合は、フラグ等を用いることによ
り、DPメインレベルの各タスクに通知されるようにす
る。
タのバッファリング等の処理を行う。これにより、DP
処理が必要となる場合は、フラグ等を用いることによ
り、DPメインレベルの各タスクに通知されるようにす
る。
【0050】ステップ308での割り込みで必要な処理
が終了した後は、割込み前の処理を判別し(ステップ3
09)、その判別結果により処理が分岐する。すなわ
ち、割込み前の処理(つまり割り込んだタスク)が「C
T_TASK」でなければ、そのまま通常復帰する(ス
テップ310)。
が終了した後は、割込み前の処理を判別し(ステップ3
09)、その判別結果により処理が分岐する。すなわ
ち、割込み前の処理(つまり割り込んだタスク)が「C
T_TASK」でなければ、そのまま通常復帰する(ス
テップ310)。
【0051】これに対して、割り込み前の処理が「CT
_TASK」であれば、その「CT_TASK」の状態情
報(レジスタや「次」エントリポイント等の復帰に必要
なパラメタ)を別途予約したメモリ(パラメタ記憶領域
5c)に保存して、ステップ302のDP処理先頭にジ
ャンプする(ステップ311)。
_TASK」であれば、その「CT_TASK」の状態情
報(レジスタや「次」エントリポイント等の復帰に必要
なパラメタ)を別途予約したメモリ(パラメタ記憶領域
5c)に保存して、ステップ302のDP処理先頭にジ
ャンプする(ステップ311)。
【0052】この例では、DPはCTにタスクを切り替
えるとき、常にやり残したことはないので、DP再起動
されるときはDP先頭に飛んで良い。
えるとき、常にやり残したことはないので、DP再起動
されるときはDP先頭に飛んで良い。
【0053】DP処理は通常走行レベル(割り込みPC
スタック未消費レベル)での実行である。この処理の際
に「次」エントリポイント(PC)を保存する時、PC
スタックはポップ(POP)されているので、スタック
の不全は起こらない。
スタック未消費レベル)での実行である。この処理の際
に「次」エントリポイント(PC)を保存する時、PC
スタックはポップ(POP)されているので、スタック
の不全は起こらない。
【0054】尚、DPで必要な信号処理の全てを割り込
み処理内で行うことは一般的でない。これは、割り込み
時間が長くなり、多重割り込みシステムで破綻を起こし
やすくなること、また、複数のAD割り込みによる複数
のサンプリングデータを基に、ある特定の処理(通常モ
デムの1シンボルは複数サンプルから生成される。)を
行わなければならない要求などによる。そのために、通
常走行レベルでの、DP処理へのタスク切り替えが必要
である。
み処理内で行うことは一般的でない。これは、割り込み
時間が長くなり、多重割り込みシステムで破綻を起こし
やすくなること、また、複数のAD割り込みによる複数
のサンプリングデータを基に、ある特定の処理(通常モ
デムの1シンボルは複数サンプルから生成される。)を
行わなければならない要求などによる。そのために、通
常走行レベルでの、DP処理へのタスク切り替えが必要
である。
【0055】ステップ302におけるDP処理では、A
D/DA割り込みによって発生したイベントの要求に基
づいて、受信や送信の信号処理を行う(ステップ30
3,304)。
D/DA割り込みによって発生したイベントの要求に基
づいて、受信や送信の信号処理を行う(ステップ30
3,304)。
【0056】この処理の最中にも新たな、AD/DA割
り込みにより、処理要求が発生している場合があるの
で、一連の処理の後に、この新規DPタスク要求をチェ
ックする(ステップ305)。
り込みにより、処理要求が発生している場合があるの
で、一連の処理の後に、この新規DPタスク要求をチェ
ックする(ステップ305)。
【0057】このチェックの結果、依然、要求があれ
ば、ステップ302におけるDP処理を続ける。また、
新規のDPタスク要求が無ければ、「TASKCTL」
処理へ進む(ステップ306)。
ば、ステップ302におけるDP処理を続ける。また、
新規のDPタスク要求が無ければ、「TASKCTL」
処理へ進む(ステップ306)。
【0058】「TASKCTL」はコントローラタスク
(CT_TASK)のエントリポイントやレジスタの復
帰を行うモジュールである。このステップ306での処
理では「TASKCTL」でメモリに保存した、「CT
_TASK」内のエントリポイントへジャンプする。図
3中の※印はその意味で使われている。これは、その都
度、ジャンプして戻るアドレスが異なっていることを示
している。
(CT_TASK)のエントリポイントやレジスタの復
帰を行うモジュールである。このステップ306での処
理では「TASKCTL」でメモリに保存した、「CT
_TASK」内のエントリポイントへジャンプする。図
3中の※印はその意味で使われている。これは、その都
度、ジャンプして戻るアドレスが異なっていることを示
している。
【0059】復帰した「CT_TASK」は、中断され
ていたタスクを引き続き実行する(ステップ301)。
ていたタスクを引き続き実行する(ステップ301)。
【0060】このように、コントローラ(CT_TAS
K)は、データポンプ(DP)の存在を意識することは
ない。つまり、一連のコントローラタスク(プログラ
ム)として閉じて考えられ、記述できる。これは、従来
のCPUで実装されてきたコントローラソフトなどを移
植する際にも、非常に有利なことである。
K)は、データポンプ(DP)の存在を意識することは
ない。つまり、一連のコントローラタスク(プログラ
ム)として閉じて考えられ、記述できる。これは、従来
のCPUで実装されてきたコントローラソフトなどを移
植する際にも、非常に有利なことである。
【0061】DPとCTのI/F(インターフェース)
は変復調を行ったデータそのものである。このデータ列
をソフトウエアFIFO(First In First Out)として
構成したメモリに蓄えて、その量や有無を持って、双方
の起動イベントとする。
は変復調を行ったデータそのものである。このデータ列
をソフトウエアFIFO(First In First Out)として
構成したメモリに蓄えて、その量や有無を持って、双方
の起動イベントとする。
【0062】また、CTには別途、ホストとのI/Fに
依って起動されるイベントもあり(ATコマンド等)そ
れらは、前述したように、CTリソース用の割り込み処
理やポーリングなどによって、その、イベントをチェッ
クするように構成する。
依って起動されるイベントもあり(ATコマンド等)そ
れらは、前述したように、CTリソース用の割り込み処
理やポーリングなどによって、その、イベントをチェッ
クするように構成する。
【0063】以上、図1〜図3を用いて説明したよう
に、本例のタスク切替システムと方法およびDSPとモ
デムでは、ワンチップDSP2を具備したモデム1を実
現するにあたって、単一のDSP2によって実行される
コントローラタスク(モデムコントローラタスク)とデ
ータポンプタスク(モデムデータポンプタスク)の内、
コントローラタスクに関しては、その複数のサブタスク
をラウンドロビンとして無限ループで実行させ、このコ
ントローラタスク実行中に、外部事象による割り込みが
発生してデータポンプタスクを起動する必要がある場合
には、実行中のコントローラタスクの実行復帰のための
パラメタを保存し、データポンプタスク復帰用に保存し
ておいたパラメタを基に、実行を、当該データポンプタ
スクに切り替える。そして、このように切替えて実行中
のデータポンプタスクは、自タスクの実行が完了した場
合には、自データポンプタスクの実行復帰のためのパラ
メタを保存し、且つ、コントローラタスク復帰用に保存
したパラメタを基に、当該コントローラタスクに実行を
切替える。
に、本例のタスク切替システムと方法およびDSPとモ
デムでは、ワンチップDSP2を具備したモデム1を実
現するにあたって、単一のDSP2によって実行される
コントローラタスク(モデムコントローラタスク)とデ
ータポンプタスク(モデムデータポンプタスク)の内、
コントローラタスクに関しては、その複数のサブタスク
をラウンドロビンとして無限ループで実行させ、このコ
ントローラタスク実行中に、外部事象による割り込みが
発生してデータポンプタスクを起動する必要がある場合
には、実行中のコントローラタスクの実行復帰のための
パラメタを保存し、データポンプタスク復帰用に保存し
ておいたパラメタを基に、実行を、当該データポンプタ
スクに切り替える。そして、このように切替えて実行中
のデータポンプタスクは、自タスクの実行が完了した場
合には、自データポンプタスクの実行復帰のためのパラ
メタを保存し、且つ、コントローラタスク復帰用に保存
したパラメタを基に、当該コントローラタスクに実行を
切替える。
【0064】これにより、コントローラタスクは、それ
自体を閉じた一つのサブタスク集合体(プログラム)と
して、記述することが可能となり、また、データポンプ
は、データポンプ処理が必要なときに、ポンプ処理を優
先させて実行することができる。
自体を閉じた一つのサブタスク集合体(プログラム)と
して、記述することが可能となり、また、データポンプ
は、データポンプ処理が必要なときに、ポンプ処理を優
先させて実行することができる。
【0065】このように、本例によれば、複雑で大規模
なRTOSを利用することなく、モデム1に必要十分な
タスク切り替えが実現できる。
なRTOSを利用することなく、モデム1に必要十分な
タスク切り替えが実現できる。
【0066】尚、本発明は、図1〜図3を用いて説明し
た例に限定されるものではなく、その要旨を逸脱しない
範囲において種々変更可能である。例えば、本例では、
タスク切替処理部5においてコントローラタスクの実行
とデータポンプタスクの実行との切替を行う構成として
いるが、このようなタスク切替処理部5による切替処理
機能を、データポンプタスク処理部4に、あるいは、変
復調タスク5a自体に持たせる構成とすることでも良
い。この場合、実行中のデータポンプタスク(データポ
ンプタスク処理部4もしくは変復調タスク5a)は、自
タスクの実行が完了した場合、自データポンプタスクの
実行復帰のためのパラメタを保存し、且つ、コントロー
ラタスク復帰用に保存したパラメタを基に、当該コント
ローラタスクに実行を切替える。
た例に限定されるものではなく、その要旨を逸脱しない
範囲において種々変更可能である。例えば、本例では、
タスク切替処理部5においてコントローラタスクの実行
とデータポンプタスクの実行との切替を行う構成として
いるが、このようなタスク切替処理部5による切替処理
機能を、データポンプタスク処理部4に、あるいは、変
復調タスク5a自体に持たせる構成とすることでも良
い。この場合、実行中のデータポンプタスク(データポ
ンプタスク処理部4もしくは変復調タスク5a)は、自
タスクの実行が完了した場合、自データポンプタスクの
実行復帰のためのパラメタを保存し、且つ、コントロー
ラタスク復帰用に保存したパラメタを基に、当該コント
ローラタスクに実行を切替える。
【0067】また、本例では、モデムにおけるDSPを
例に説明したが、単一のプロセッサで複数のタスクを切
替える装置等にも適用することができる。例えば、単一
のプロセッサによって実行される第1,第2の2つのタ
スクにおいて、第1のタスクは、複数のサブタスクがラ
ウンドロビンとして無限ループで実行され、この第1の
タスク実行中に、外部事象による割り込みが発生したこ
とにより、第2のタスクを起動する必要がある場合に
は、第1のタスクの実行復帰のためのパラメタを保存
し、かつ、第2のタスク復帰用に保存したパラメタを基
に、実行を第2のタスクに切り替える。そして、第2の
タスクは、実行すべき自タスクが完了したときに、自第
2のタスクの実行復帰のためのパラメタを保存し、且
つ、第1のタスク復帰用に保存したパラメタを基に、第
1のタスクに実行を切り替える。
例に説明したが、単一のプロセッサで複数のタスクを切
替える装置等にも適用することができる。例えば、単一
のプロセッサによって実行される第1,第2の2つのタ
スクにおいて、第1のタスクは、複数のサブタスクがラ
ウンドロビンとして無限ループで実行され、この第1の
タスク実行中に、外部事象による割り込みが発生したこ
とにより、第2のタスクを起動する必要がある場合に
は、第1のタスクの実行復帰のためのパラメタを保存
し、かつ、第2のタスク復帰用に保存したパラメタを基
に、実行を第2のタスクに切り替える。そして、第2の
タスクは、実行すべき自タスクが完了したときに、自第
2のタスクの実行復帰のためのパラメタを保存し、且
つ、第1のタスク復帰用に保存したパラメタを基に、第
1のタスクに実行を切り替える。
【0068】
【発明の効果】本発明によれば、単一のプロセッサでの
複数のタスクの切替を効率的に行うことができ、例えば
小型・低コストを指向したDSPを用いたモデムにおい
て、本格的RTOS(リアルタイム・オペレーティング
システム)を用いることなく、モデムの二つのタスク、
すなわち、コントローラタスクとデータポンプタスクを
効率よく実行させることができ、DSPワンチップ構成
によるモデムの小型・低コスト化などが可能である。
複数のタスクの切替を効率的に行うことができ、例えば
小型・低コストを指向したDSPを用いたモデムにおい
て、本格的RTOS(リアルタイム・オペレーティング
システム)を用いることなく、モデムの二つのタスク、
すなわち、コントローラタスクとデータポンプタスクを
効率よく実行させることができ、DSPワンチップ構成
によるモデムの小型・低コスト化などが可能である。
【図1】本発明に係わるタスク切替システムおよびDS
Pとモデムの構成例を示すブロック図である。
Pとモデムの構成例を示すブロック図である。
【図2】図1におけるモデムのハードウェア構成例を示
すブロック図である。
すブロック図である。
【図3】本発明に係わるタスク切替方法の処理手順例を
示すフローチャートである。
示すフローチャートである。
【図4】タスク管理状態の遷移例を示す説明図である。
1:モデム、2:DSP、3:コントロールタスク処理
部、3a〜3f:サブタスクA〜F、4:データポンプ
タスク処理部、4a:データポンプタスク処理部、5:
タスク切替処理部、5a:割込み検出部、5b:切替
部、5c:パラメタ記憶領域、10:シリアルポート、
11:ワークRAM、12:プログラムROM、13:
A/D・D/Aコンバータ(「A/D・D/A」)、1
4:DAA(Data Access Arrangement)、20:DT
E、30:回線、41:実行可能状態、42:実行状
態、43:待ち状態、44:強制待ち状態、45:休止
状態。
部、3a〜3f:サブタスクA〜F、4:データポンプ
タスク処理部、4a:データポンプタスク処理部、5:
タスク切替処理部、5a:割込み検出部、5b:切替
部、5c:パラメタ記憶領域、10:シリアルポート、
11:ワークRAM、12:プログラムROM、13:
A/D・D/Aコンバータ(「A/D・D/A」)、1
4:DAA(Data Access Arrangement)、20:DT
E、30:回線、41:実行可能状態、42:実行状
態、43:待ち状態、44:強制待ち状態、45:休止
状態。
Claims (6)
- 【請求項1】 単一のプロセッサにおけるタスクの実行
切替システムであって、複数のサブタスクをラウンドロ
ビンとして無限ループで実行する第1のタスク処理手段
と、予め定められたイベントに対応するタスクを実行す
る第2のタスク処理手段と、上記予め定められたイベン
トの発生に伴い、上記第1のタスク処理手段でのサブタ
スクの実行を停止させ、上記第2のタスク処理手段での
タスクの実行に切替えるタスク切替手段とを有すること
を特徴とするタスク切替システム。 - 【請求項2】 単一のプロセッサにおけるタスクの実行
切替方法であって、上記単一のプロセッサにおいて実行
される第1,第2の2つのタスクの内、第1のタスク
を、複数のサブタスクをラウンドロビンとして無限ルー
プで実行する第1のステップと、予め定められたイベン
トの発生に伴い上記第1のタスクの実行を中断して上記
第2のタスクの実行に切替える第2のステップと、上記
第2のタスクの実行の完了に伴い上記第1のタスクの実
行を再開する第3のステップとを有することを特徴とす
るタスク切替方法。 - 【請求項3】 請求項2に記載のタスク切替方法であっ
て、上記第2のステップでは、中断する第1のタスクの
実行復帰のためのパラメタを保存し、予め保存された上
記第2のタスクの実行復帰用のパラメタを基に当該第2
のタスクを実行開始し、上記第3のステップでは、実行
完了した上記第2のタスクの次の実行復帰のためのパラ
メタを保存し、該第2のタスクの実行開始の際に実行中
断した上記第1のタスクの上記第2のステップで保存し
た実行復帰のためのパラメタを基に当該第1のタスクの
実行を再開することを特徴とするタスク切替方法。 - 【請求項4】 請求項2、もしくは、請求項3のいずれ
かに記載のタスク切替方法であって、上記第2のステッ
プでは、外部事象による割り込みを上記イベントとし、
上記第1のタスクの実行中での該割り込みの発生に伴
い、上記第1のタスクの実行中断および上記第2のタス
クへの実行切替を行うことを特徴とするタスク切替方
法。 - 【請求項5】 単一のDSPによるコントローラタスク
とデータポンプタスクを各々切り替えて実行するモデム
であって、上記コントローラタスクのサブタスクをラウ
ンドロビンとして無限ループで実行するコントローラタ
スク処理手段と、予め定められたイベントの発生に対応
して上記データポンプタスクを実行するデータポンプタ
スク処理手段と、上記予め定められたイベントの発生に
伴い、上記コントローラタスク処理手段でのサブタスク
の実行を停止させ、上記データポンプタスク処理手段で
のタスクの実行に切替えるタスク切替手段とを有するこ
とを特徴とするモデム。 - 【請求項6】 モデムを含む装置に内蔵され、タスクを
切替えて実行するDSPであって、複数のサブタスクを
ラウンドロビンとして無限ループで実行する第1のタス
ク処理手段と、予め定められたイベントに対応するタス
クを実行する第2のタスク処理手段と、上記予め定めら
れたイベントの発生に伴い、上記第1のタスク処理手段
でのサブタスクの実行を停止させ、上記第2のタスク処
理手段でのタスクの実行に切替えるタスク切替手段とを
有することを特徴とするDSP。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001286670A JP2003099272A (ja) | 2001-09-20 | 2001-09-20 | タスク切替システムと方法およびdspとモデム |
PCT/JP2002/009427 WO2003027846A1 (en) | 2001-09-20 | 2002-09-13 | Task switching system, task switching method and dsp modem |
EP02760834A EP1428119A4 (en) | 2001-09-20 | 2002-09-13 | SYSTEM AND METHOD FOR SWITCHING TASKS AND DSP MODEM |
US10/475,422 US20040139442A1 (en) | 2001-09-20 | 2002-09-13 | Task switching system, task switching method and dsp modem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001286670A JP2003099272A (ja) | 2001-09-20 | 2001-09-20 | タスク切替システムと方法およびdspとモデム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003099272A true JP2003099272A (ja) | 2003-04-04 |
Family
ID=19109605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001286670A Pending JP2003099272A (ja) | 2001-09-20 | 2001-09-20 | タスク切替システムと方法およびdspとモデム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20040139442A1 (ja) |
EP (1) | EP1428119A4 (ja) |
JP (1) | JP2003099272A (ja) |
WO (1) | WO2003027846A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100879505B1 (ko) | 2007-01-10 | 2009-01-20 | 재단법인서울대학교산학협력재단 | 싱글프로세서 운영체제로부터 마스터/슬레이브멀티프로세서 운영체제로 변환하는 효과적인 방법, 및 그변환시스템 |
JP2010508572A (ja) * | 2006-10-30 | 2010-03-18 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | トラステッドプラットフォームモジュールを共有するためのシステム及び方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6981083B2 (en) * | 2002-12-05 | 2005-12-27 | International Business Machines Corporation | Processor virtualization mechanism via an enhanced restoration of hard architected states |
US7827558B2 (en) * | 2004-06-30 | 2010-11-02 | Devicevm, Inc. | Mechanism for enabling a program to be executed while the execution of an operating system is suspended |
PL1902978T3 (pl) * | 2006-09-25 | 2013-11-29 | Specialty Conveyor Bv | Przenośnik |
US8473949B2 (en) * | 2010-07-08 | 2013-06-25 | Microsoft Corporation | Methods for supporting users with task continuity and completion across devices and time |
US10437591B2 (en) * | 2013-02-26 | 2019-10-08 | Qualcomm Incorporated | Executing an operating system on processors having different instruction set architectures |
US9396012B2 (en) | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
US10114756B2 (en) | 2013-03-14 | 2018-10-30 | Qualcomm Incorporated | Externally programmable memory management unit |
US9606818B2 (en) | 2013-03-14 | 2017-03-28 | Qualcomm Incorporated | Systems and methods of executing multiple hypervisors using multiple sets of processors |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4229790A (en) * | 1978-10-16 | 1980-10-21 | Denelcor, Inc. | Concurrent task and instruction processor and method |
US5012409A (en) * | 1988-03-10 | 1991-04-30 | Fletcher Mitchell S | Operating system for a multi-tasking operating environment |
JPH02202635A (ja) * | 1989-02-01 | 1990-08-10 | Matsushita Electric Ind Co Ltd | タスク制御方法 |
DE69615431T2 (de) * | 1995-03-15 | 2002-05-23 | Koninkl Philips Electronics Nv | Datenverarbeitungssystem zur Ausführung von Aufgaben verschiedener Prioritäten und dieses System enthaltendes Modem |
US6601083B1 (en) * | 1996-08-29 | 2003-07-29 | Frederick John Reznak | Multitasking data processing system and method of controlling allocation of a shared resource |
US6996828B1 (en) * | 1997-09-12 | 2006-02-07 | Hitachi, Ltd. | Multi-OS configuration method |
JPH11134202A (ja) * | 1997-10-28 | 1999-05-21 | Matsushita Electric Ind Co Ltd | タスク切替え装置 |
JPH11272480A (ja) * | 1998-03-24 | 1999-10-08 | Nippon Telegr & Teleph Corp <Ntt> | オンチップリアルタイムos |
JP2000105708A (ja) * | 1998-09-29 | 2000-04-11 | Matsushita Electric Ind Co Ltd | タスク管理方法およびマルチタスクos |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6920632B2 (en) * | 2002-08-23 | 2005-07-19 | Xyron Corporation | Dynamic multilevel task management method and apparatus |
-
2001
- 2001-09-20 JP JP2001286670A patent/JP2003099272A/ja active Pending
-
2002
- 2002-09-13 EP EP02760834A patent/EP1428119A4/en not_active Ceased
- 2002-09-13 US US10/475,422 patent/US20040139442A1/en not_active Abandoned
- 2002-09-13 WO PCT/JP2002/009427 patent/WO2003027846A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010508572A (ja) * | 2006-10-30 | 2010-03-18 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | トラステッドプラットフォームモジュールを共有するためのシステム及び方法 |
KR100879505B1 (ko) | 2007-01-10 | 2009-01-20 | 재단법인서울대학교산학협력재단 | 싱글프로세서 운영체제로부터 마스터/슬레이브멀티프로세서 운영체제로 변환하는 효과적인 방법, 및 그변환시스템 |
Also Published As
Publication number | Publication date |
---|---|
WO2003027846A1 (en) | 2003-04-03 |
US20040139442A1 (en) | 2004-07-15 |
EP1428119A4 (en) | 2006-02-01 |
EP1428119A1 (en) | 2004-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5903752A (en) | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system | |
CN1153149C (zh) | 以软件实现的在通用计算机上在非实时环境中操作的调制解调器 | |
KR101245442B1 (ko) | 오퍼레이팅 시스템에 독립적인 네트워크 이벤트 핸들링 | |
EP1789874A2 (en) | Method and system for concurrent excution of mutiple kernels | |
JP2003099272A (ja) | タスク切替システムと方法およびdspとモデム | |
JP3938343B2 (ja) | タスク管理システム、プログラム、及び制御方法 | |
CN112905357B (zh) | 一种数据读取方法、系统、电子设备及存储介质 | |
JP2001256062A (ja) | 割込処理方法およびその方法を用いた演算処理装置 | |
WO2022022442A1 (zh) | 数据处理方法、装置、智能网卡和服务器 | |
JPH10326205A (ja) | システムコール発行方法 | |
JP2005519393A (ja) | 仮想直接メモリ・アクセスのための方法及び装置 | |
JP3925263B2 (ja) | ワンチップdspモデムおよびタスク切り替え方法 | |
JP2003330873A (ja) | 情報処理装置及び入出力方法並びにプログラム | |
US11516082B1 (en) | Configuration of a baseboard management controller (BMC) group leader responsive to load | |
JPH11316691A (ja) | オペレーティングシステムの実行方法及び、これを用いた情報処理装置 | |
KR101119458B1 (ko) | 비동기 통신 기술 | |
JP2002325111A (ja) | 通信データ処理装置、通信データ処理プログラム及び記録媒体 | |
JP2008262273A (ja) | データ処理システム、デーモンプログラム、およびコンピュータ起動方法 | |
JP2003005987A (ja) | エミュレーション装置 | |
EP0796466A1 (en) | An improved method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system | |
TW202433290A (zh) | 除錯訊息直接存取系統及方法 | |
JP2003256219A (ja) | 組込み機器におけるプログラム実行方法 | |
CN116149740A (zh) | 控制方法及电子设备 | |
JP2002099442A (ja) | Dsp信号処理装置及びそのdsp信号処理装置を使用したモデム | |
JP3581723B2 (ja) | 会話情報制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090217 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090313 |