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
Application number
JP2001286670A
Other languages
English (en)
Inventor
Keiichi Miyamoto
恵一 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2001286670A priority Critical patent/JP2003099272A/ja
Priority to EP02760834A priority patent/EP1428119A4/en
Priority to US10/475,422 priority patent/US20040139442A1/en
Priority to PCT/JP2002/009427 priority patent/WO2003027846A1/en
Publication of JP2003099272A publication Critical patent/JP2003099272A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

(57)【要約】 【課題】 単一のプロセッサでの複数のタスクの切替を
効率的に行うこと。 【解決手段】 モデム1における単一のDSP2によっ
て実行されるコントローラタスク(CT)とデータポン
プタスク(DP)の内、CTに関しては、CT処理部3
においてその複数のサブタスクをラウンドロビンとして
無限ループで実行させ、このCT実行中に、外部事象に
よる割り込みが発生してDPを起動する必要がある場合
には、タスク切替処理部5において、実行中のCTの実
行復帰のためのパラメタを保存し、DP復帰用に保存し
ておいたパラメタを基に、実行を、DP処理部4での当
該DPに切り替える。そして、このDP実行が完了した
場合には、タスク切替処理部5で、当該DPの実行復帰
のためのパラメタを保存し、且つ、CT復帰用に保存し
たパラメタを基に、当該CTに実行を切替える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサで実行
されるタスクの切替技術に係わり、特に、単一のプロセ
ッサでの複数のタスクの切替を効率的に行うのに好適な
タスク切替システムと方法およびDSPとモデムに関す
るものである。
【0002】
【従来の技術】単一のプロセッサでは、複数のタスクの
中から選択した1つのタスクを実行する。タスクは、プ
ロセッサにより実行可能な実行可能状態、プロセッサに
より実行されている実行状態、プロセッサにより実行で
きない待機状態などの状態をとり、実行可能状態にある
タスクが、それぞれの優先順で選択され実行される。
【0003】図4は、タスク管理状態の遷移例を示す説
明図である。
【0004】図4では、比較的単純なリアルタイムオペ
レーティングシステム(以下、「RTOS」(Real Tim
e Operating System)と記載)のタスク管理状態を表し
ており、タスクは、実行可能状態41、実行状態42、
待ち状態43、強制待ち状態44、休止状態45をと
る。
【0005】例えば、実行可能状態41のタスクは、イ
ベント「実行割付」の発生に伴い実行状態42となり、
イベント「中断」で強制待ち状態44に、イベント「強
制終了」で休止状態45となる。また、実行状態42の
タスクは、イベント「実行待ち」により実行可能状態4
1に、イベント「待ち条件」により待ち状態43に、イ
ベント「終了」により休止状態45に遷移する。
【0006】また、待ち状態43のタスクは、イベント
「待ち解除」で実行可能状態41に、イベント「強制待
ち」で強制待ち状態44に、イベント「強制終了」で休
止状態45に遷移し、強制待ち状態44のタスクは、イ
ベント「再開」で実行可能状態41になり、そして、休
止状態45のタスクは、イベント「起動」で実行可能状
態41になる。
【0007】このように、タスクは、あるイベントや状
態の変化により、必要に応じて起動され、所望の処理を
行って、休止する。
【0008】以下、モデムを例に、従来のタスクの管理
技術について説明する。モデムの機能は、大別して制御
処理と信号処理とに分けて考えられる。
【0009】制御処理には、ユーザが発行するATコマ
ンドの処理や、Sレジスタの処理、デジタルビットデー
タに対するバイト化処理、バッファ処理、さらに、エラ
ー訂正処理やデータ圧縮・伸張処理などがあり、コント
ローラタスクと呼ばれる。
【0010】これに対し、信号処理には、デジタルビッ
トデータを電送線路に対する送受信信号として変復調す
る処理があり、データポンプタスクと呼ばれる。
【0011】従来、コントローラタスクは、マイコン等
の汎用のCPU(Central Processing Unit)によるソ
フトウェアで行われ、データポンプタスクは、信号処理
専用のDSP(Digital Signal Processor)等によるハ
ードウエアで行われていた。
【0012】しかし、近年のDSP技術の進歩やMIP
S(Million Instructions Per Second)の増大を受
け、あるいは、コスト低減ならびに製品サイズの小型化
の要望に対応するために、DSPワンチップでモデムを
構成することが必要となってきている。
【0013】モデムのようなマルチタスクの、DSPへ
の実装技術としては、マルチタスクのRTOSを用いる
ものが一般的である。
【0014】しかしながら、RTOS自体は、汎用性や
複雑で複数のタスクに対応できる反面、それ自体がDS
Pのリソースをある程度必要とする。また、実行するタ
スクもRTOSの仕様に基づいて構成されなければなら
ない。
【0015】一般にリアルタイムシステムでは、複数の
タスクが同時に起動されることが多い。タスクによって
は比較的長時間要するものもあるし、短時間ですむもの
もある。これらをその必要性に応じて、実行したり待た
せたりするのがRTOSの役割である。
【0016】これを実現するために、RTOSは、各タ
スクに対応し、その状態(情報)を保持することが必要
である。また、タスクは、自タスクの起動タイミングや
優先度をRTOSに知らせる仕組みも必要である。
【0017】さらに、RTOS自体もプロセッサで実行
されるわけであるから、大きさも、実行時間も、本来必
要なタスク(TASK)の総計に加算されることにな
る。また、RTOSとタスクの実行を切り替える仕組み
も当然必要である。
【0018】尚、タスクの実行切替技術に関しては、例
えば、特開2000−105708号公報や特開200
0−142065号公報、特開2000−215068
号公報などに記載のものがある。
【0019】一方、DSPの中でも小型低コストを図っ
たものには、スタックエリア等を極小にしたものがあ
る。このような低コストDSPでは、上述のようなRT
OSを実装するときに、ソフトウエアによるスタックを
メモリ上に構成しなければならず、大変に複雑となり、
且つ、RTOSの実行自体の効率が非常に悪くなる。
【0020】従って、例えば、このような小型・低コス
トを指向したDSPを用いたモデムにおいては、本格的
RTOSを用いることなく、モデムの二つのタスク、す
なわち、コントローラタスクとデータポンプタスクを効
率良く実行させる必要がある。しかし、従来の技術で
は、このような問題に対処することができない。
【0021】
【発明が解決しようとする課題】解決しようとする問題
点は、従来の技術では、単一のプロセッサでの複数のタ
スクの切替を効率的に行うことができず、例えば小型・
低コストを指向したDSPを用いたモデムにおいて、本
格的RTOSを用いることなく、モデムの二つのタス
ク、すなわち、コントローラタスクとデータポンプタス
クを効率よく実行させることができない点である。
【0022】本発明の目的は、これら従来技術の課題を
解決し、例えば、DSPワンチップ構成によるモデムの
小型・低コスト化を可能とするタスク切替システムと方
法およびDSPとモデムを提供することである。
【0023】
【課題を解決するための手段】上記目的を達成するた
め、本発明のタスク切替システムと方法およびDSPと
モデムでは、単一のプロセッサにおいて実行される第
1,第2の2つのタスクの内、第1のタスクは、その複
数のサブタスクをラウンドロビンとして無限ループで実
行するものとし、そして、第2のタスクは、自タスクを
実行すべきイベントが発生したときに実行し、実行完了
したときに、第1のタスクに実行を切り替えることを特
徴とする。例えば、ワンチップDSPモデムを実現する
にあたっては、単一のDSPによって実行されるコント
ローラタスク(モデムコントローラタスク)とデータポ
ンプタスク(モデムデータポンプタスク)の内、コント
ローラタスクに関しては、その複数のサブタスクをラウ
ンドロビンとして無限ループで実行させ、このコントロ
ーラタスク実行中に、外部事象による割り込みが発生し
てデータポンプタスクを起動する必要がある場合には、
実行中のコントローラタスクの実行復帰のためのパラメ
タを保存し、データポンプタスク復帰用に保存しておい
たパラメタを基に、実行を、当該データポンプタスクに
切り替える。そして、例えば、このように切替えて実行
中のデータポンプタスクは、自タスクの実行が完了した
場合には、自データポンプタスクの実行復帰のためのパ
ラメタを保存し、且つ、コントローラタスク復帰用に保
存したパラメタを基に、当該コントローラタスクに実行
を切替える。
【0024】
【発明の実施の形態】以下、本発明の実施の形態を、図
面により詳細に説明する。
【0025】図1は、本発明に係わるタスク切替システ
ムおよび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により構成されている。
【0027】DSP2は、シリアルポート10を介して
DTE20に接続され、DTE20に対する回線30と
の接続制御処理、例えば、ユーザが発行するATコマン
ドの処理や、Sレジスタの処理、デジタルビットデータ
に対するバイト化処理、バッファ処理、さらに、エラー
訂正処理やデータ圧縮・伸張処理など、コントローラタ
スクと呼ばれる制御処理と、デジタルビットデータを電
送線路に対する送受信信号として変復調するなどのデー
タポンプタスクと呼ばれる信号処理を行う。
【0028】このようなDSP2の処理は、プログラム
ROM12に記録されたプログラムに基づきDSP2内
のCPUにより実行され、さらに、DSP2は、本発明
に係わるタスク切替を、ワークRAM11を用いて実行
する。
【0029】DAA14は、NCU(Network Control
Unit)とハイブリッド回路からなり、コントロールポー
ト15を介してのDSP2からの指示に基づき、回線3
0との接続制御およびデータ送受信制御を行う。
【0030】DAA14で送受信されるデータは、A/
D・D/Aコンバータ13により、アナログからデジタ
ルに、あるいは、デジタルからアナログに変換される。
【0031】このような構成により、モデム1では、D
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に送出される。
【0033】特に、本例のモデム1が具備したDSP2
は、図1に示す構成からなり、制御処理と信号処理、す
なわち、コントローラタスクとデータポンプタスクの切
替えを効率的に行うことができる。
【0034】図1に示すように、モデム1のDSP2に
は、コントローラタスク処理部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に、その実行を切替
える。
【0036】この切替の際、切替部5bは、中断したサ
ブタスクA3a〜F3fの実行を再開させるために必要
となる情報(パラメタ)を、図2におけるワークRAM
11に領域確保されたパラメタ記憶領域5cに保存す
る。
【0037】そして、データポンプタスク処理部4での
変復調タスク4aが終了すると、タスク切替処理部5
は、このデータポンプタスク処理部4の実行復帰のため
のパラメタをパラメタ記憶領域5cに保存し、且つ、変
復調タスク4aの実効開指示に中断したサブタスクA3
a〜F3fの実行復帰用にパラメタ記憶領域5cに保存
しておいたパラメタを読み出し、当該パラメタを基に、
中断したサブタスクA3a〜F3fに実行を切替える。
【0038】このように、本例のモデム1およびDSP
2では、本格的なOS(オペレーティングシステム)を
用いることなく、タスクの切替を行うことができ、本格
的なOSに比べて、使用するメモリ容量は少なくてす
む。
【0039】以下、モデム1およびDSP2で用いるタ
スク切替システムの動作手順を、図3に従って、詳細に
説明する。
【0040】まず、DSP2のプログラム実行は、リセ
ット後、初期化等の処理を終えると、コントローラの通
常処理、すなわち、コントローラタスク(CT_TAS
K)に入る(ステップ301)。このコントローラタスク
は、それ自体は無限ループであり、1レベルの処理体系
で、「CTX処理」と「LAPM処理」からなる。
【0041】CTX処理は、さらにサブタスクに分けて
考えられ、サブタスクとしては、ATコマンドパーサ、
Sレジレジスタ処理、ビットデータのバイト化処理、バ
ッファリング処理、ホストに対するフロー制御処理等が
ある。
【0042】また、LAPM(Link Access Procedure
for Modems)とは、ITU−T(International Teleco
mmunication Union-Telecommunication standardizatio
n sector)の「V.42:エラー訂正勧告」に記載され
ているエラー訂正処理である。さらに、V.42bis
等のデータ圧縮処理も、この、コントローラタスクとし
て位置づけることができる。
【0043】これらの各々の処理(コントローラサブタ
スク)は、処理すべきデータがあれば、それを行い、無
ければ次へ進む、いわゆるラウンドロビンの構成をとっ
ている。
【0044】コントローラ(CT)処理で必要なイベン
ト発生は、CTリソースの割込み処理(ホスト通信等)
で発生されるか、または、データポンプ(DP)から与
えられる復調データや、DPに与えるべき変調の対象と
されるデータの蓄積で生じるように構成する。
【0045】また、「CT_TASK」処理中は基本的
に割込み可とする。
【0046】DPの起動要求が無い場合、このようにC
Tのみ、ラウンドロビンで実行されていく。
【0047】ステップ302におけるデータポンプ(D
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の変換終了時にハードウエア
割り込みとして起動される処理である。
【0049】ここでは、それに必要なデータ送受信デー
タのバッファリング等の処理を行う。これにより、DP
処理が必要となる場合は、フラグ等を用いることによ
り、DPメインレベルの各タスクに通知されるようにす
る。
【0050】ステップ308での割り込みで必要な処理
が終了した後は、割込み前の処理を判別し(ステップ3
09)、その判別結果により処理が分岐する。すなわ
ち、割込み前の処理(つまり割り込んだタスク)が「C
T_TASK」でなければ、そのまま通常復帰する(ス
テップ310)。
【0051】これに対して、割り込み前の処理が「CT
_TASK」であれば、その「CT_TASK」の状態情
報(レジスタや「次」エントリポイント等の復帰に必要
なパラメタ)を別途予約したメモリ(パラメタ記憶領域
5c)に保存して、ステップ302のDP処理先頭にジ
ャンプする(ステップ311)。
【0052】この例では、DPはCTにタスクを切り替
えるとき、常にやり残したことはないので、DP再起動
されるときはDP先頭に飛んで良い。
【0053】DP処理は通常走行レベル(割り込みPC
スタック未消費レベル)での実行である。この処理の際
に「次」エントリポイント(PC)を保存する時、PC
スタックはポップ(POP)されているので、スタック
の不全は起こらない。
【0054】尚、DPで必要な信号処理の全てを割り込
み処理内で行うことは一般的でない。これは、割り込み
時間が長くなり、多重割り込みシステムで破綻を起こし
やすくなること、また、複数のAD割り込みによる複数
のサンプリングデータを基に、ある特定の処理(通常モ
デムの1シンボルは複数サンプルから生成される。)を
行わなければならない要求などによる。そのために、通
常走行レベルでの、DP処理へのタスク切り替えが必要
である。
【0055】ステップ302におけるDP処理では、A
D/DA割り込みによって発生したイベントの要求に基
づいて、受信や送信の信号処理を行う(ステップ30
3,304)。
【0056】この処理の最中にも新たな、AD/DA割
り込みにより、処理要求が発生している場合があるの
で、一連の処理の後に、この新規DPタスク要求をチェ
ックする(ステップ305)。
【0057】このチェックの結果、依然、要求があれ
ば、ステップ302におけるDP処理を続ける。また、
新規のDPタスク要求が無ければ、「TASKCTL」
処理へ進む(ステップ306)。
【0058】「TASKCTL」はコントローラタスク
(CT_TASK)のエントリポイントやレジスタの復
帰を行うモジュールである。このステップ306での処
理では「TASKCTL」でメモリに保存した、「CT
_TASK」内のエントリポイントへジャンプする。図
3中の※印はその意味で使われている。これは、その都
度、ジャンプして戻るアドレスが異なっていることを示
している。
【0059】復帰した「CT_TASK」は、中断され
ていたタスクを引き続き実行する(ステップ301)。
【0060】このように、コントローラ(CT_TAS
K)は、データポンプ(DP)の存在を意識することは
ない。つまり、一連のコントローラタスク(プログラ
ム)として閉じて考えられ、記述できる。これは、従来
のCPUで実装されてきたコントローラソフトなどを移
植する際にも、非常に有利なことである。
【0061】DPとCTのI/F(インターフェース)
は変復調を行ったデータそのものである。このデータ列
をソフトウエアFIFO(First In First Out)として
構成したメモリに蓄えて、その量や有無を持って、双方
の起動イベントとする。
【0062】また、CTには別途、ホストとのI/Fに
依って起動されるイベントもあり(ATコマンド等)そ
れらは、前述したように、CTリソース用の割り込み処
理やポーリングなどによって、その、イベントをチェッ
クするように構成する。
【0063】以上、図1〜図3を用いて説明したよう
に、本例のタスク切替システムと方法およびDSPとモ
デムでは、ワンチップDSP2を具備したモデム1を実
現するにあたって、単一のDSP2によって実行される
コントローラタスク(モデムコントローラタスク)とデ
ータポンプタスク(モデムデータポンプタスク)の内、
コントローラタスクに関しては、その複数のサブタスク
をラウンドロビンとして無限ループで実行させ、このコ
ントローラタスク実行中に、外部事象による割り込みが
発生してデータポンプタスクを起動する必要がある場合
には、実行中のコントローラタスクの実行復帰のための
パラメタを保存し、データポンプタスク復帰用に保存し
ておいたパラメタを基に、実行を、当該データポンプタ
スクに切り替える。そして、このように切替えて実行中
のデータポンプタスクは、自タスクの実行が完了した場
合には、自データポンプタスクの実行復帰のためのパラ
メタを保存し、且つ、コントローラタスク復帰用に保存
したパラメタを基に、当該コントローラタスクに実行を
切替える。
【0064】これにより、コントローラタスクは、それ
自体を閉じた一つのサブタスク集合体(プログラム)と
して、記述することが可能となり、また、データポンプ
は、データポンプ処理が必要なときに、ポンプ処理を優
先させて実行することができる。
【0065】このように、本例によれば、複雑で大規模
なRTOSを利用することなく、モデム1に必要十分な
タスク切り替えが実現できる。
【0066】尚、本発明は、図1〜図3を用いて説明し
た例に限定されるものではなく、その要旨を逸脱しない
範囲において種々変更可能である。例えば、本例では、
タスク切替処理部5においてコントローラタスクの実行
とデータポンプタスクの実行との切替を行う構成として
いるが、このようなタスク切替処理部5による切替処理
機能を、データポンプタスク処理部4に、あるいは、変
復調タスク5a自体に持たせる構成とすることでも良
い。この場合、実行中のデータポンプタスク(データポ
ンプタスク処理部4もしくは変復調タスク5a)は、自
タスクの実行が完了した場合、自データポンプタスクの
実行復帰のためのパラメタを保存し、且つ、コントロー
ラタスク復帰用に保存したパラメタを基に、当該コント
ローラタスクに実行を切替える。
【0067】また、本例では、モデムにおけるDSPを
例に説明したが、単一のプロセッサで複数のタスクを切
替える装置等にも適用することができる。例えば、単一
のプロセッサによって実行される第1,第2の2つのタ
スクにおいて、第1のタスクは、複数のサブタスクがラ
ウンドロビンとして無限ループで実行され、この第1の
タスク実行中に、外部事象による割り込みが発生したこ
とにより、第2のタスクを起動する必要がある場合に
は、第1のタスクの実行復帰のためのパラメタを保存
し、かつ、第2のタスク復帰用に保存したパラメタを基
に、実行を第2のタスクに切り替える。そして、第2の
タスクは、実行すべき自タスクが完了したときに、自第
2のタスクの実行復帰のためのパラメタを保存し、且
つ、第1のタスク復帰用に保存したパラメタを基に、第
1のタスクに実行を切り替える。
【0068】
【発明の効果】本発明によれば、単一のプロセッサでの
複数のタスクの切替を効率的に行うことができ、例えば
小型・低コストを指向したDSPを用いたモデムにおい
て、本格的RTOS(リアルタイム・オペレーティング
システム)を用いることなく、モデムの二つのタスク、
すなわち、コントローラタスクとデータポンプタスクを
効率よく実行させることができ、DSPワンチップ構成
によるモデムの小型・低コスト化などが可能である。
【図面の簡単な説明】
【図1】本発明に係わるタスク切替システムおよびDS
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:休止
状態。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 単一のプロセッサにおけるタスクの実行
    切替システムであって、複数のサブタスクをラウンドロ
    ビンとして無限ループで実行する第1のタスク処理手段
    と、予め定められたイベントに対応するタスクを実行す
    る第2のタスク処理手段と、上記予め定められたイベン
    トの発生に伴い、上記第1のタスク処理手段でのサブタ
    スクの実行を停止させ、上記第2のタスク処理手段での
    タスクの実行に切替えるタスク切替手段とを有すること
    を特徴とするタスク切替システム。
  2. 【請求項2】 単一のプロセッサにおけるタスクの実行
    切替方法であって、上記単一のプロセッサにおいて実行
    される第1,第2の2つのタスクの内、第1のタスク
    を、複数のサブタスクをラウンドロビンとして無限ルー
    プで実行する第1のステップと、予め定められたイベン
    トの発生に伴い上記第1のタスクの実行を中断して上記
    第2のタスクの実行に切替える第2のステップと、上記
    第2のタスクの実行の完了に伴い上記第1のタスクの実
    行を再開する第3のステップとを有することを特徴とす
    るタスク切替方法。
  3. 【請求項3】 請求項2に記載のタスク切替方法であっ
    て、上記第2のステップでは、中断する第1のタスクの
    実行復帰のためのパラメタを保存し、予め保存された上
    記第2のタスクの実行復帰用のパラメタを基に当該第2
    のタスクを実行開始し、上記第3のステップでは、実行
    完了した上記第2のタスクの次の実行復帰のためのパラ
    メタを保存し、該第2のタスクの実行開始の際に実行中
    断した上記第1のタスクの上記第2のステップで保存し
    た実行復帰のためのパラメタを基に当該第1のタスクの
    実行を再開することを特徴とするタスク切替方法。
  4. 【請求項4】 請求項2、もしくは、請求項3のいずれ
    かに記載のタスク切替方法であって、上記第2のステッ
    プでは、外部事象による割り込みを上記イベントとし、
    上記第1のタスクの実行中での該割り込みの発生に伴
    い、上記第1のタスクの実行中断および上記第2のタス
    クへの実行切替を行うことを特徴とするタスク切替方
    法。
  5. 【請求項5】 単一のDSPによるコントローラタスク
    とデータポンプタスクを各々切り替えて実行するモデム
    であって、上記コントローラタスクのサブタスクをラウ
    ンドロビンとして無限ループで実行するコントローラタ
    スク処理手段と、予め定められたイベントの発生に対応
    して上記データポンプタスクを実行するデータポンプタ
    スク処理手段と、上記予め定められたイベントの発生に
    伴い、上記コントローラタスク処理手段でのサブタスク
    の実行を停止させ、上記データポンプタスク処理手段で
    のタスクの実行に切替えるタスク切替手段とを有するこ
    とを特徴とするモデム。
  6. 【請求項6】 モデムを含む装置に内蔵され、タスクを
    切替えて実行するDSPであって、複数のサブタスクを
    ラウンドロビンとして無限ループで実行する第1のタス
    ク処理手段と、予め定められたイベントに対応するタス
    クを実行する第2のタスク処理手段と、上記予め定めら
    れたイベントの発生に伴い、上記第1のタスク処理手段
    でのサブタスクの実行を停止させ、上記第2のタスク処
    理手段でのタスクの実行に切替えるタスク切替手段とを
    有することを特徴とするDSP。
JP2001286670A 2001-09-20 2001-09-20 タスク切替システムと方法およびdspとモデム Pending JP2003099272A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001286670A JP2003099272A (ja) 2001-09-20 2001-09-20 タスク切替システムと方法およびdspとモデム
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
PCT/JP2002/009427 WO2003027846A1 (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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US9606818B2 (en) 2013-03-14 2017-03-28 Qualcomm Incorporated Systems and methods of executing multiple hypervisors using multiple sets of processors
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

Family Cites Families (11)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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
EP1428119A4 (en) 2006-02-01
US20040139442A1 (en) 2004-07-15
WO2003027846A1 (en) 2003-04-03
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) 以软件实现的在通用计算机上在非实时环境中操作的调制解调器
JP5497923B2 (ja) システム管理モードにおけるプロセッサ間割り込みの再方向付け
KR101245442B1 (ko) 오퍼레이팅 시스템에 독립적인 네트워크 이벤트 핸들링
WO2006014354A2 (en) Method and system for concurrent excution of mutiple kernels
JP2000242512A (ja) 複数のオペレーティングシステムを実行する計算機
JP2003099272A (ja) タスク切替システムと方法およびdspとモデム
JP3938343B2 (ja) タスク管理システム、プログラム、及び制御方法
JP2001256062A (ja) 割込処理方法およびその方法を用いた演算処理装置
JPH10326205A (ja) システムコール発行方法
JP3925263B2 (ja) ワンチップdspモデムおよびタスク切り替え方法
JP2005519393A (ja) 仮想直接メモリ・アクセスのための方法及び装置
JP2003330873A (ja) 情報処理装置及び入出力方法並びにプログラム
JP5205789B2 (ja) データ処理システム、デーモンプログラム、およびコンピュータ起動方法
US11516082B1 (en) Configuration of a baseboard management controller (BMC) group leader responsive to load
JPH11316691A (ja) オペレーティングシステムの実行方法及び、これを用いた情報処理装置
CN112395079B (zh) 异构众核架构下的运算核作业迁移方法
KR101119458B1 (ko) 비동기 통신 기술
JP2003005987A (ja) エミュレーション装置
EP0796466A1 (en) An improved method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
JP2003256219A (ja) 組込み機器におけるプログラム実行方法
CN116149740A (zh) 控制方法及电子设备
JP2002099442A (ja) Dsp信号処理装置及びそのdsp信号処理装置を使用したモデム
JP3581723B2 (ja) 会話情報制御装置
JPH0834615B2 (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