JPH1063517A - リアルタイム情報処理方法およびその装置 - Google Patents

リアルタイム情報処理方法およびその装置

Info

Publication number
JPH1063517A
JPH1063517A JP23977496A JP23977496A JPH1063517A JP H1063517 A JPH1063517 A JP H1063517A JP 23977496 A JP23977496 A JP 23977496A JP 23977496 A JP23977496 A JP 23977496A JP H1063517 A JPH1063517 A JP H1063517A
Authority
JP
Japan
Prior art keywords
information processing
real
original
time information
time
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
JP23977496A
Other languages
English (en)
Inventor
Jiro Naganuma
次郎 長沼
Makoto Endo
真 遠藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP23977496A priority Critical patent/JPH1063517A/ja
Publication of JPH1063517A publication Critical patent/JPH1063517A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 リアルタイム情報処理において、従来例に不
可欠な多重割り込みのプライオリティ制御用のハードウ
ェアと、オリジナルタスク切替えに必要なコンテキスト
スイッチ用のメモリと、処理時間と等のオーバヘッドを
排除することができるリルタイム情報処理方法および装
置を提供することを目的とするものである。 【解決手段】 複数のオリジナルタスクを、1つのCP
U上で時間多重で処理する場合、上記各オリジナルタス
クを、自らのオリジナルタスクよりも小さい複数のサブ
タスクに分割し、この分割された複数のサブタスクから
その1つを選択し、実行するものであり、各オリジナル
タスク毎に上記サブタスクを1回づつ起動する基本ポー
リングループの起動回数が、所定の一定時間以内に少な
くとも1回になるように、上記分割が行われるものであ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リアルタイム情報
処理において、従来不可欠であった多重割り込みのプラ
イオリティ制御用のハードウェアと、オリジナルタスク
切替えに必要なコンテキストスイッチ用のメモリと、処
理時間と等のオーバヘッドを排除するリアルタイム情報
処理に関するものである。
【0002】また、本発明は、CPUと専用ハードウェ
アとの間で情報の授受を行いながら処理を進める情報処
理装置(以下、「エンベディドシステム」と呼ぶ)上
に、または、それらを1つのチップ上に集積したオンチ
ップ・エンベディドシステム(On Chip Embedded Syste
m) 上に構築するリアルタイム情報処理に関するもので
ある。
【0003】
【従来の技術】従来、複数のオリジナルタスク(処理の
主体)を、1つのCPU(計算機)上で時間多重で処理
を行い、しかも、所定の一定時間以内に全てのオリジナ
ルタスクの起動(呼び出し)を保証するリアルタイム情
報処理方法として、下記文献[1]が示す方法を採るの
が一般的である。また、1つのCPUと専用ハードウェ
アとで構成され、上記CPUと上記専用ハードウェアと
の間で情報の授受を行いながら処理を進める情報処理装
置において、上記CPU上で、複数のオリジナルタスク
を時間多重で処理するリアルタイム情報処理方法として
も、下記文献[1]が示す方法を採るのが一般的であ
る。
【0004】なお、通常の計算機システムの構成とし
て、文献[2]が示す構成が知られ、エンベディドシス
テムの構成として、文献[3]が示す構成が知られてい
る。 ・文献[1]:J.L.Perterson 他,"オペレーティングシ
ステムの概念",培風館,1987. ・文献[2]:J.L.Hennessy and D.A.Patterson,"Comp
uter Architecture:A Quantitative Approach",Morgan
Kaufmann Publishers,Inc.,1990. ・文献[3]:Daniel D.Gaiski 他,"Specification an
d Design of Embedded Systems",Prentice Hall,1994. 従来のリアルタイム情報処理方法における基本的な考え
方は、上記文献[1]に示されているように、オリジナ
ルタスクの緊急度に応じて各オリジナルタスクに優先度
を付与し、その優先度順に、次に実行するオリジナルタ
スクを起動するものである。
【0005】この場合、現在実行中のオリジナルタスク
よりも優先度の高いオリジナルタスクが起動されたとき
に「割り込み」が発生し、現在実行中のオリジナルタス
クの処理を一旦中断し、上記起動された優先度の高いオ
リジナルタスクを先に実行し、この起動された優先度の
高いオリジナルタスクの実行が終了した後に、上記中断
していたオリジナルタスクの実行を再開する。すなわ
ち、従来の方法は、割り込みを前提とする処理方法であ
り、この割り込み処理は、リアルタイム性を確保するた
めには不可欠な処理である。
【0006】
【発明が解決しようとする課題】ところで、上記文献
[1]に示す従来のリアルタイム情報処理方法を、たと
えば、上記文献[2]に示す通常の計算機システム、ま
たは、特に、文献[3]に示すエンベディドシステム上
で実現する場合、次の新たな問題が生じる。
【0007】上記エンベディドシステム(Embedded Syst
em) は、CPUと専用ハードウェアとで構成され、CP
U上のソフトウェアと専用ハードウェアとの間で情報の
授受を行いながら処理を進めるシステムであり、このよ
うにすることによって、専用ハードウェアの「高速性」
とCPU上のソフトウェアによる「柔軟性」とを兼ね備
えたシステムとして注目されているシステムである。
【0008】上記エンベディドシステムにおいて、専用
ハードウェア(HW)とソフトウェア(SW)との間で
行われる情報の授受は、一般に、数十個を越えるHW/
SWインタフェースレジスタを介して行われ、これらの
情報の授受は、基本的に頻繁に発生ししかも非同期的に
発生する。したがって、割り込みを前提とする従来のリ
アルタイム情報処理においては、複数のHW/SWイン
タフェースレジスタからの多重でしかも非同期な割り込
みをサポートしなければならないので、多重割り込みの
プライオリティ制御を行うためには、ハードウェア規模
が大きくなるという問題があり、しかも、ハードウェア
全体の構成が複雑になるという問題がある。
【0009】また、優先度が付与された各オリジナルタ
スクの起動、中断、再開、優先度制御等を処理するため
に、リアルタイムOSをサポートしなければならないの
で、頻繁に発生するオリジナルタスク切替えに必要なコ
ンテキストスイッチ用に、膨大なメモリと処理時間とが
必要であるというソフトウェアの問題がある。たとえ
ば、次の文献[4]、[5]に示すように、最も小さく
軽いリアルタイムOSでも、数十kB〜数百kBのメモ
リを必要とする。 ・[4]M.Accetta 他,"Mach:A New Kernel Foundation
for UNIX Development",Proc.Summer 1986 USENIX, p
p.93-112,1986. ・[5]J.K.Ousterhout他,"The Sprite Network Opera
ting Syste",IEEE Computer,Vol.21,No.2,pp.23-26,198
8. 上記ハードウェアの問題とソフトウェアの問題、換言す
れば、要求条件は、エンベディドシステム(通常はオン
ボード)としては、効率的ではないものの、現状では実
現がまだ可能である。しかし、将来的なオンチップのエ
ンベディドシステムとしては、効率的ではないばかりで
なく、非現実的なものとなることが想定される。
【0010】一方、上記割り込みを用いないで、「MP
EG2システムパートのプロトコル処理」を実現しよう
とすると、本来実現しなければならないリアルタイム処
理が満足されないという問題が発生する。なお、「MP
EG2システムパート」に関しては、下記文献[6]に
規定されている。 ・[6]Systems-Generic Coding of Moving Pictures
and Associated Audio-ISO/IEC 13818-1 International
Standard,November 11,1994. 上記MPEG2システムでは、映像(Video)、音
声(Audio)、ユーザ(User)等のデータを、
MPEG2システム準拠の伝送(TS)/蓄積(PS)
メディアへリアルタイムで多重(MUX)/分離(DM
UX)する必要がある。多重化処理では、映像/音声/
ユーザのエレメンタリーストリーム(ES)について、
それぞれ専用のパケット(PES)化を図り、それらを
トランスポートストリーム(TS)等に多重化する。こ
の際、時刻管理のためのPCR、環境情報のPSI、情
報を含まないNullパケット等も多重化する。
【0011】図9は、従来のMPEG2システムにおけ
るトランスポートストリームTSの多重化処理の動作を
示すフローチャートである。
【0012】図9において、基本ポーリングループ内に
含まれる各オリジナルタスク(ボックス)は、リアルタ
イム処理され、各オリジナルタスクが作成する各パケッ
トの多重化の割合は、各エレメンタリーストリームES
の規定レートを保つ必要がある。たとえば、Vide
o:5.0Mbps,Audio:256kbps,U
ser:64kbps,PCR:100msecに1
個、PSI:1secに1個、全体のTSのレートは
6.144Mbpsを保つ必要がある。
【0013】上記基本ポーリングループ内で繰り返し起
動される各オリジナルタスクの実行時間(実行サイク
ル)は、バッファ量やヘッダ検索結果に依存し、数サイ
クル〜数百サイクルと異なる。
【0014】一方、「トランスポートストリームTSの
1パケット(1TS)」が、一定時間以内に処理しなけ
ればならない単位であるとすると、各オリジナルタスク
をリアルタイム処理するためには、トランスポートスト
リームTSの1パケットを処理する間に、各オリジナル
タスクをそれぞれ少なくとも1回起動する必要がある。
しかし、このように各オリジナルタスクを単純に起動し
ようとすると、図10に示すように、各オリジナルタス
クを1回づつ起動する基本ポーリングループを、1つの
トランスポートストリームTSの時間(一定時間)内に
少なくとも1回起動することが不可能である場合(基本
ポーリングループを起動すると、一定時間を越える場
合)があり、この場合には、基本ポーリングループを、
一定時間内に少なくとも1回起動することを保証できな
いという問題がある。
【0015】エンベディドシステム上で、従来のリアル
タイム情報処理を実現するときに生じる上記ハードウェ
ア、ソフトウェアの問題は、今後開発される種々のエン
ベディドシステムにおいても同様に生じる問題であり、
「高速性」と「柔軟性」とを両立させたエンベディドシ
ステムにおける「オンボード」から「オンチップ」への
発展を考慮すると、今後ますます深刻な問題となる。
【0016】ところが、上記従来例は、上記文献
[2]、[3]に示す計算機システム上に、文献[1]
に示す割り込みを前提としたリアルタイム情報処理方法
を実現するに留まり、現状では、上記問題すら指摘され
ておらず、勿論これらを解決する手法も提案されていな
い。
【0017】本発明は、リアルタイム情報処理におい
て、従来例に不可欠な多重割り込みのプライオリティ制
御用のハードウェアと、オリジナルタスク切替えに必要
なコンテキストスイッチ用のメモリと、処理時間と等の
オーバヘッドを排除することができるリルタイム情報処
理方法およびその装置を提供することを目的とするもの
である。
【0018】また、本発明は、CPUと専用ハードウェ
アとで構成されるエンベディドシステム(Embedded Syst
em) 上に、または、それらを1つのチップ上に集積した
オンチップ・エンベディドシステム(On Chip Embedded
System) 上に、リアルタイム情報処理を構築することが
できるリアルタイム情報処理方法およびその装置を提供
することを目的とするものである。
【0019】
【課題を解決するための手段】本発明は、複数のオリジ
ナルタスクを、1つのCPU上で時間多重で処理する場
合、上記各オリジナルタスクを、自らのオリジナルタス
クよりも小さい複数のサブタスクに分割し、この分割さ
れた複数のサブタスクからその1つを選択し、実行する
ものであり、各オリジナルタスク毎に上記サブタスクを
1回づつ起動する基本ポーリングループの起動回数が、
所定の一定時間以内に少なくとも1回になるように、上
記分割が行われるものである。
【0020】
【発明の実施の形態および実施例】図1は、本発明の一
実施例であるリアルタイム情報処理装置RID1を示す
図である。
【0021】リアルタイム情報処理装置RID1は、C
PU(計算機)10と、専用ハードウェア20とで構成
され、CPU10と専用ハードウェア20との間で情報
の授受を行いながら、複数のオリジナルタスクを、CP
U10上で時間多重でリアルタイムに処理する装置であ
る。
【0022】専用ハードウェア20は、バッファメモリ
1と、ライト制御部2と、リード制御部3と、データメ
モリ4と、複数(m個)の入力ポート7と、複数(n
個)の出力ポート8とを有する。
【0023】バッファメモリ1は、2ポートメモリで構
成され、入出力ストリームの一部を格納するバッファメ
モリである。ライト制御部2は、複数の入力ストリーム
をバッファメモリ1の第1のポートへ書き込みする動作
を制御するライト制御部であり、リード制御部3は、バ
ッファメモリ1の第2のポートから複数の出力ストリー
ムへ読み出しする動作を制御するものである。データメ
モリ4は、2ポートメモリで構成され、シンタックス処
理のために作業データを一時的に格納するメモリであ
る。
【0024】CPU10は、バッファメモリ1内のデー
タを参照し、読み出し、データメモリを用いてシンタッ
クス処理を実現し、シンタックス処理されたデータをバ
ッファメモリ1に書き込む処理を実現するプログラム可
能な制御部である。
【0025】また、CPU10は、オリジナルタスク分
割手段、サブタスク選択・実行手段の例である。オリジ
ナルタスク分割手段は、上記各オリジナルタスク(処理
の主体)を、自らのオリジナルタスクよりも小さい複数
のサブタスクに分割する手段である。サブタスク選択・
実行手段は、上記分割された複数のサブタスクからその
1つを選択し、実行する手段である。なお、上記各オリ
ジナルタスク毎に上記サブタスクを1回づつ起動する基
本ポーリングループの起動回数が、所定の一定時間以内
に少なくとも1回になるように、上記分割が行われる。
【0026】オリジナルタスク分割手段と、サブタスク
選択・実行手段とによって、基本ポーリングループを1
回起動する場合の最大実行サイクルを抑制する。
【0027】リアルタイム情報処理装置RID1は、メ
モリ分散化による並列処理を導入している。つまり、バ
ッファメモリ1とデータメモリ4とを分離することによ
って、ストリーム入出力処理とシンタックス処理とを並
列化している。また、バッファメモリ1とデータメモリ
4とを2ポート化することによって、ハードウェアとソ
フトウェアとからのアクセスを並列化し、ストリームの
入力処理と出力処理とを並列化し、これによって、入力
側から出力側への不要な転送を排除する装置である。
【0028】図1に示すリアルタイム情報処理装置RI
D1において、その横線の破線の上と下とは互いに独立
に動作する。つまり、バッファメモリ1とライト制御部
2とリード制御部3とで構成される組と、データメモリ
4とCPU10とで構成される組とは、互いに独立的に
動作する。
【0029】図2は、上記実施例におけるMPEG2準
拠のシステムパートが規定するプロトコル処理の概要を
示す図である。
【0030】比較のために、ソフトウェアによる実現方
式の場合の動作概要も示してある。ソフトウェアで実現
した場合、図中の各処理がソフトウェアで処理されるた
めに長時間を要し、さらに、その各処理が逐次的に動作
するため、膨大な時間が必要となる。ところが、上記実
施例では、各処理部の専用ハードウェア化とそれらの並
列パイプライン動作とによって、極めて高速に動作する
ことができる。
【0031】リード制御部3、ライト制御部2が専用ハ
ードウェア化されていることによって、全体を専用ハー
ドウェア化したときにおける高速の入出力制御と同じ高
速性を実現している。また、2ポート化されたバッファ
メモリ1を用いることによって、ソフトウェアによるシ
ンタックス処理と、専用ハードウェアによる入出力の処
理とを並列して動作させることができる。また2ポート
化されたデータメモリ4を用いることによって、バッフ
ァメモリ1からのデータメモリ1への転送、逆に、デー
タメモリ4からバッファメモリ1へのデータ転送等も並
列化される。
【0032】さらに、入出力ストリーム用のバッファメ
モリ1を共通化することによって、バッファメモリ1内
の入力ストリームをバッファメモリ1内の出力ストリー
ムへ転送する動作を不要化している。たとえば、MPE
G2システムパートの多重化(MUX)処理において
は、入力ストリームの殆どは、ヘッダ類等を付加し、出
力ストリームに含まれている。すなわち、入出力バッフ
ァを分離すると、この間の不要な転送が頻発する。これ
らの一連の動作によって、全体として、図2に示したよ
うな並列パイプライン処理が可能になる。全体をソフト
ウェアで処理する方式と比較して、上記実施例では、数
十倍以上の高速化を達成できる。
【0033】次に、MPEG2システムパートの多重化
処理を例にとって、上記実施例の全体の動作概要をより
詳細に説明する。この場合、入力ストリームとして、映
像、音声、ユーザの3つのストリーム(エレメンタリス
トリーム)を例にとり、出力ストリームとして、トラン
スポートの場合を例にとる。
【0034】ライト制御部2(専用ハードウェア)は、
入力ポート7から、映像、音声、ユーザデータを入力
し、この入力した各データを、バッファメモリ1の異な
るアドレス空間上に格納する。この場合、各データのバ
ッファ内アドレス(開始と終了のアドレス)と、所定の
ヘッダとを検索し、その存在アドレスをCPU10に通
知する。
【0035】CPU10は、ライト制御部2からの通知
と上記エレメンタリストリームの参照とに従って、各エ
レメンタリストリームの所定のヘッダ類を作成し、バッ
ファメモリ1の所定のアドレス空間に書き込み、ヘッダ
類の長さをリード制御部3に通知する。なお、上記第2
の実施例においては、CPU10は、実際には、そのC
PU+ソフトウェア(プログラム)によって、シンタッ
クス処理制御が実行される。
【0036】リード制御部3(専用ハードウェア)は、
CPU10からの通知に従って、バッファメモリ1内の
ヘッダ類と所定のパケット長さからヘッダ類の長さを差
し引いた分の所定のエレメンタリストリームとを、出力
ポート8に送出する。バッファメモリ1は、ライト制御
部2、リード制御部3、CPU10の動作に従って、入
出力ストリームの一部を格納する。データメモリ4は、
CPU10における一時的な作業データを格納する。
【0037】上記各処理部は、上記動作を繰り返し実行
し、MPEG2システムパートが規定する入力ストリー
ムの多重化処理を実現し、出力ストリームを送出する。
【0038】図3は、上記実施例において、MPEG2
システムパートが規定する2つの処理(通信メディア用
のトランスポートストリーム処理、蓄積メディア用のプ
ログラムストリーム処理)を実現するときに使用するバ
ッファメモリ1の使用例について示す図である。
【0039】トランスポートストリーム処理とプログラ
ムストリーム処理との違いは、MPEG2システムパー
トに規定されているが、それらのシンタックスは、それ
ぞれの使用目的(通信/蓄積)に応じて異なっている。
ここで重要なことは、入出力ストリームの入出力タイミ
ングが同一であれば、バッファメモリ1の使用方法(メ
モリマップ)を変更するだけ、同一のハードウェアによ
って、異なるシンタックスのプロトコル処理を実現でき
ることである。すなわち、リアルタイム情報処理装置R
ID1は、シンタックスの変更にも容易に対処可能な柔
軟性を有している。
【0040】上記のように、リアルタイム情報処理装置
RID1は、図2に示す動作の高速性と、図3に示す柔
軟性とが可能になる。つまり、リアルタイム情報処理装
置RID1は、所定のプロトコルに要求される高速性
と、所定のプロトコルの変更等へ容易に対処可能な柔軟
性とを兼ね備える。すなわち、専用ハードウェアによる
高速性と、ソフトウェアによる柔軟性とを両立すること
ができる。これによって、MPEG2システムパートの
ような複雑で、まだ流動的で、また、リアルタイム処理
が不可欠な高速なプロトコルを容易に実現することがで
きる。
【0041】次に、上記実施例において、従来必要な多
重割り込みのプライオリティ制御用のハードウェアと、
オリジナルタスク切替えに必要なコンテキストスイッチ
用のメモリと、処理時間と等のオーバヘッドを排除する
ことができる点について説明する。
【0042】次に、上記実施例において、オリジナルタ
スクToを複数のサブタスクTsに分割し、1つのサブ
タスクTsを選択し、実行する動作について説明する。
【0043】図4(2)は、上記実施例において、オリ
ジナルタスクToを複数のサブタスクTsに分割し、そ
の1つのサブタスクTsを選択し、実行する動作を示す
フローチャートである。
【0044】図5は、タスクを実行するイメージを示す
図であり、図5(1)は、従来の実行イメージを示す図
であり、オリジナルタスクToが分割されていないの
で、図4(1)に示すように、当該オリジナルタスクで
あれば(S11)、part1、part2、……、p
artnが連続して実行される(S11a)。図5
(2)は、上記実施例において、サブタスクTs毎に実
行するイメージを示す図であり、n個のサブタスクTs
に分割され、part1、part2、……、part
nのそれぞれが独立して実行される。
【0045】図4(2)において、まず、現在起動すべ
きサブタスクTsがpart1(サブタスクTsのうち
で最初のサブタスクであれば(S1)、そのpart1
を実行し(S1a)、現在起動すべきサブタスクTsが
part2(サブタスクTsのうちで2番目のサブタス
ク)であれば(S2)、そのpart2を実行し(S2
a)、……、現在起動すべきサブタスクTsがpart
n(サブタスクTsのうちでn番目のサブタスク)であ
れば(Sn)、そのpartnを実行する(Sna)。
そして、次に実行すべきサブタスクTsを設定する制御
を行う(S10)。上記実施例においては、分割動作と
選択動作とが同時に行われているが、分割動作と選択動
作とを時間を違えて実行するようにしてもよい。
【0046】なお、図4において、「part_fla
g_n」は、オリジナルタスクToから分割された複数
のサブタスクTsのうちでn番目のサブタスクTsであ
ることを示す変数である。つまり、オリジナルタスクT
oは、変数「part_flag_n」で示されるn個
のサブタスクに分割され、「part_flag_n」
の示す部分だけがC言語の「if_then」コンスト
ラクトで選択され、実行される。
【0047】ここで、変数「part_flag_n」
の値は、排他的に制御される。すなわち、オリジナルタ
スクToが1回起動される毎に、分割されたn個のサブ
タスクTsのうちの1個のサブタスクTsのみが選択さ
れ、実行されるように制御される。所定のオリジナルタ
スクToが起動される毎に、上記所定のオリジナルタス
クToから分割された複数のサブタスクTsのうちで、
異なるサブタスクTsが順次、選択される。たとえば、
1番目のサブタスクTs(Part1)→2番目のサブ
タスクTs(Part2)→……→n番目のサブタスク
Ts(Partn)→1番目のサブタスクTs(Par
t1)→2番目のサブタスク2TS(Part2)→…
…の順で選択される。なお、各サブタスクTs間で共有
される変数はグローバルに扱う必要がある。つまり、各
サブタスクTs間で共有すべき変数は、実行すべき対象
のサブタスクTsが変わっても、常に使用できるように
してあることが必要である。
【0048】上記一連の動作(S1〜S10)を最初の
オリジナルタスクTo(たとえばVideo)について
実行し、これが終了したら、次のオリジナルタスクTo
(たとえばAudio)について実行し、……、最後の
オリジナルタスクTo(たとえばPSI)について実行
し、この一連の動作(基本ポーリングループ)を繰り返
す。
【0049】上記実施例において、各サブタスクTs
(Part1,Part2,…,Partn)は、オリ
ジナルタスクToを任意の場所で分割されたものであ
り、オリジナルタスクToから分割されたサブタスクT
sは、それを実行する場合、各サブタスクTsの個別の
「call」から「return」まで実行され、サブ
タスクTsの実行サイクルがオリジナルタスクToの実
行サイクルよりも短い。すなわち、オリジナルタスクT
oを分割した後におけるオリジナルタスクの実行サイク
ルは、オリジナルタスクToの実行サイクルよりも短
い。しかも、所定のオリジナルタスクToが分割された
サブタスクTsの実行サイクルを、その分割のし方によ
って、任意に設定することができ、したがって、1つの
基本ポーリングループ(各オリジナルタスク毎にサブタ
スクを1回づつ起動するループ)においては上記所定の
オリジナルタスクToが部分的にしか実行されないが、
上記所定のオリジナルタスクToの実行サイクルを実質
的に任意の大きさに合わせることができる。なお、オリ
ジナルタスクToが任意の大きさに分割され、実行され
ても、細切れではあるが、一連の処理が実行され、オリ
ジナルタスクの実行という点では問題が生じない。
【0050】図6は、上記実施例における基本ポーリン
グループ起動回数設定の説明図である。
【0051】まず、各オリジナルタスク毎にサブタスク
Tsを1回づつ起動する基本ポーリングループの起動回
数NBPL を、一定時間Tconst 以内に所定の一定回数以
上に設定する。上記実施例における一定時間Tconst
は、上記実施例をMPEG2システムに適用した場合に
おいて、リアルタイム処理しなければならない一定時間
であり、この一定時間の単位として、トランスポートス
トリームTSの1パケットを処理する時間(1トランス
ポートストリームTS)を設定してある。
【0052】また、基本ポーリングループBPLは、複
数のオリジナルタスクTo(たとえばVideo、Au
dio、User、PCR、PSIの各オリジナルタス
ク)のそれぞれのサブタスクTsによって構成され、順
次ポーリングされるループであり、この基本ポーリング
ループが1回呼び出されると、各オリジナルタスクTo
が、それぞれ部分的ではあるが、少なくとも1回起動さ
れることを図6で示してある。
【0053】基本ポーリングループの起動回数NBPL
は、一定時間内(1TS)に、基本ポーリングループが
起動する回数であり、一定時間内(1TS)に起動され
る基本ポーリングループの起動回数NBPL は固定ではな
いが、オリジナルタスク分割手段によってオリジナルタ
スクToをサブタスクTsに分割する分割方法に応じ
て、一定時間内に設定される起動回数NBPL が定まる。
【0054】Videoタスクを分割したサブタスクの
うちで最も長い時間TVmaxと、Audioタスクを分割
したサブタスクのうちで最も長い時間TAmaxと、Use
rタスクを分割したサブタスクのうちで最も長い時間T
Umaxと、PCRタスクを分割したサブタスクのうちで最
も長い時間TPmaxとが1つの基本ポーリングループに含
まれていたとしてもこれらの時間の総和も、一定時間内
(1TS)である。
【0055】図6に示すように、一定時間内(1TS)
に基本ポーリングループBPLが少なくとも1回起動さ
れることによって、一定時間内(1TS)に各オリジナ
ルタスクが少なくとも1回確実に起動されている。これ
に対して、上記従来方法では、一定時間内(1TS)に
基本ポーリングループBPLが少なくとも1回起動され
ることが困難な場合があり、この場合には、一定時間内
(1TS)に各オリジナルタスクが少なくとも1回起動
させることを保証することができない。
【0056】図7は、上記実施例をMPEG2システム
に適用した場合の一例の説明図であり、基本ポーリング
ループBPLを起動する動作の概要を示す図である。
【0057】ここでは、一定時間内(1TS)にリアル
タイム処理をしなければならない単位として、トランス
ポートストリームTSの1パケットの処理時間を設定し
てある。1トランスポートストリームTS内のポーリン
グのタイミングは、たとえば任意周期の螺旋曲線のよう
に刻々と変化する。しかし、上記オリジナルタスク分割
手段と、サブタスク選択・実行手段と、基本ポーリング
ループ起動回数設定手段とによって、基本ポーリングル
ープBPLに含まれる各オリジナルタスクが、一定時間
内(1トランスポートストリームTS)にNBPL 回以上
スケジュールされることが保証される。
【0058】図8は、上記実施例をMPEG2システム
に適用した場合の具体的な例を示す図である。
【0059】図8には、実際のトランスポートストリー
ムの処理において、Video、Audio、Use
r、PCR、PSI、Null等の起動すべき各オリジ
ナルタスクによって生成される各パケットの順序や割合
を示してある。この場合、各エレメンタリーストリーム
ESの実際の規定のレートは、Video:5.0Mb
ps,Audio:256kbps,User:64k
bps,PCR:100msecに1個、PSI:1s
ecに1個、全体のトランスポートストリームTSのレ
ートは6.144Mbpsであり、図8に示す各オリジ
ナルタスクによって作成される各パケットの割合は、こ
れらの規定レートに従ったものになっていることがわか
る。
【0060】上記実施例によれば、従来のリアルタイム
情報処理方法で不可欠な割り込みを前提とせず、ポーリ
ングを前提とした処理方法であるので、従来のリアルタ
イム情報処理方法で特に問題となっている多重割り込み
のプライオリティ制御用の複雑なハードウェアを必要と
せず、また、オリジナルタスク切替えに必要なコンテキ
ストスイッチ用の膨大なメモリと処理時間とを必要とせ
ず、また、従来のリアルタイム情報処理装置よりも小型
であり、経済的である。
【0061】また、上記実施例のキーポイントは、リア
ルタイム情報処理の実現における割り込み処理の不要化
である。CPUとメモリを中心とした通常の計算機シス
テムや、オンボードやオンチップのエンベディドシステ
ム上にリアルタイム情報処理を今後とも構築していく必
要があり、複雑な割り込み制御は、これらのシステムの
高速化を阻止する要因の1つであるので、割り込みを不
要化した上記実施例の意義は大きい。また、CPUとメ
モリとを中心としたリアルタイム情報処理システムは、
VLSI技術の進展、特に、メモリの高速化、大容量化
と、CPUの高速化等の恩恵を直接受けることができ、
さらに、リアルタイム情報処理システムの簡単化と汎用
化等、将来的に有望な情報処理システムの構成を可能と
する新しい情報処理方法である。
【0062】さらに、CPUとメモリとを中心としたシ
ステムの構成は、VLSI上にインプリメントするに際
しても、VLSI技術の進展によって、今日では、高速
なオンチップの内蔵型CPU(コアCPUと呼ぶ)や、
高速大容量なオンチップのメモリ等がVLSIライブラ
リとして供給されているので、1チップのVLSI化が
容易に可能になる。したがって、上記実施例は、容易に
VLSI化することができるシステムであり、このVL
SI化によって、従来のリアルタイム情報処理方法に比
べ、小型化、経済化を図ることができる。
【0063】MPEG2システムパートプロトコル処理
を実現する場合、ハードウェアとして、図1に示す装置
を適用し、そのソフトウェア(ファームウェア)とし
て、上記実施例を利用すると、オンチップ・エンベディ
ドシステムを容易に実現できるので、1チップのVLS
I化が可能であり、従来のリアルタイム処理を実現する
MPEG2のシステムパートのプロトコル処理装置に比
べて、小型であり経済的であるリアルタイム情報処理可
能なMPEG2システムパートのプロトコル処理装置を
実現することができる。
【0064】また、上記実施例では、リアルタイム情報
処理として、それを実現するためのハードウェアへの無
理な要求がなく、極めて簡単な情報処理システムを提供
することができる。VLSI上にインプリンメントする
場合、コアCPUやメモリ等はライブラリとして提供可
能なので、上記実施例を実現する場合、アプリケーショ
ンに必要な機能のみを専用ハードウェアで実現するだけ
で足りる。これらのアプリケーションに必要な機能は、
近年の論理合成技術で極めて容易に実現できる。このよ
うに、上記実施例は、ライブラリ化された(部品化され
た)コンポーネントをベースとした極めて簡単な構成で
あるので、VLSI設計技術における上位合成技術(た
とえばシステムレベルシンセシス等)の対象のターゲッ
トアーキテクチャとしても極めて有効であり、上位合成
技術の恩恵を受け、近い将来、上記実施例をベースにし
たリアルタイム情報処理システムを上位仕様記述に応じ
て、VLSI上に自動合成することが可能になる。
【0065】上記のように、将来的なネットワーク技術
をベースにしたマルチメディア時代において、上記実施
例によって提供される小型、経済化、VLSI化が可能
な新しいリアルタイム情報処理装置の果たす役割は図り
知れない。したがって、上記実施例は、CPUと専用ハ
ードウェアとで構成されるエンベディドシステム(Embed
ded System) 上に、または、それらを1つのチップ上に
集積したオンチップ・エンベディドシステム(On Chip E
mbedded System) 上に、リアルタイム情報処理を構築す
るに好適である。
【0066】なお、上記実施例において、オリジナルタ
スクToをサブタスクTsへ分割する方法、その分割さ
れたサブタスクTsを選択的に実行させるための変数の
使用の方法等は、任意に定めることができる。また、タ
ーゲットのシステムの構成、通常の計算機システムまた
はエンベディドシステム、オンボードまたはオンチップ
等を、任意に定めることができる。さらに、上記実施例
において、MPEG2システムパートのプロトコル処理
を用いたが、その応用の種類等も、任意に定めることが
できる。また、上記実施例において、専用ハードウェア
20の代わりに他の専用ハードウェアを使用するように
してもよい。
【0067】なお、上記実施例を、1つのチップ上に構
成し、所定のリアルタイム情報処理を実現するようにし
てもよい。
【0068】さらに、上記実施例を方法の発明として把
握することができ、つまり、上記実施例は、1つのCP
Uと専用ハードウェアとで構成され、上記CPUと上記
専用ハードウェアとの間で情報の授受を行いながら処理
を進める情報処理装置によって、複数のオリジナルタス
クを、上記CPU上で時間多重で処理するリアルタイム
情報処理方法において、上記各オリジナルタスクを、自
らのオリジナルタスクよりも小さい複数のサブタスクに
分割するオリジナルタスク分割段階と、上記分割された
複数のサブタスクからその1つを選択し、実行するサブ
タスク選択・実行段階とを有し、上記各オリジナルタス
ク毎に上記サブタスクを1回づつ起動する基本ポーリン
グループの起動回数が、所定の一定時間以内に少なくと
も1回になるように、上記分割が行われ、所定のリアル
タイム情報処理を実現することを特徴とするリアルタイ
ム情報処理方法として把握することができる。
【0069】また、上記実施例を専用ハードウェアを使
用しない方法に適用することができる。つまり、複数の
オリジナルタスクを1つのCPU上で時間多重で処理す
るリアルタイム情報処理方法において、上記各オリジナ
ルタスクを、自らのオリジナルタスクよりも小さい複数
のサブタスクに分割するオリジナルタスク分割段階と、
上記分割された複数のサブタスクからその1つを選択
し、実行するサブタスク選択・実行段階とを有し、上記
各オリジナルタスク毎に上記サブタスクを1回づつ起動
する基本ポーリングループの起動回数が、所定の一定時
間以内に少なくとも1回になるように、上記分割が行わ
れ、所定のリアルタイム情報処理を実現することを特徴
とするリアルタイム情報処理方法として把握することが
できる。
【0070】また、上記実施例を、専用ハードウェアを
使用しない装置、つまり、複数のオリジナルタスクを、
1つのCPU上で時間多重で処理するリアルタイム情報
処理装置に適用することができる。
【0071】
【発明の効果】本発明によれば、リアルタイム情報処理
において、従来、不可欠な多重割り込みのプライオリテ
ィ制御用のハードウェアと、オリジナルタスク切替えに
必要なコンテキストスイッチ用のメモリと処理時間と等
のオーバヘッドを排除することができるという効果を奏
する。
【図面の簡単な説明】
【図1】本発明の一実施例のリアルタイム情報処理装置
RID1を示す図である。
【図2】上記実施例において、MPEG2準拠のシステ
ムパートが規定するプロトコル処理の概要を示す図であ
る。
【図3】上記実施例において、MPEG2システムパー
トが規定する2つの処理を実現するときに使用するバッ
ファメモリ1の使用例について示す図である。
【図4】オリジナルタスクToまたはサブタスクTsを
実行する動作を示すフローチャートである。
【図5】タスクを実行するイメージを示す図である。
【図6】上記実施例における基本ポーリングループ起動
回数設定の説明図である。
【図7】上記実施例をMPEG2システムに適用した場
合の一例の説明図であり、基本ポーリングループBPL
を起動する動作の概要を示す図である。
【図8】上記実施例をMPEG2システムに適用した場
合の具体例を示す図である。
【図9】従来のMPEG2システムにおけるトランスポ
ートストリームTSの多重化処理の動作を示すフローチ
ャートである。
【図10】従来例において、各オリジナルタスクを起動
する場合にリアルタイム処理が不可であることを示す図
である。
【符号の説明】
RID1…リアルタイム情報処理装置、 10…CPU、 20…専用ハードウェア、 To…オリジナルタスク、 Ts…サブタスク、 BPL…基本ポーリングループ、 NBPL …基本ポーリングループの起動回数。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のオリジナルタスクを、1つのCP
    U上で時間多重で処理するリアルタイム情報処理方法に
    おいて、 上記各オリジナルタスクを、自らのオリジナルタスクよ
    りも小さい複数のサブタスクに分割するオリジナルタス
    ク分割段階と;上記分割された複数のサブタスクからそ
    の1つを選択し、実行するサブタスク選択・実行段階
    と;を有し、上記各オリジナルタスク毎に上記サブタス
    クを1回づつ起動する基本ポーリングループの起動回数
    が、所定の一定時間以内に少なくとも1回になるよう
    に、上記分割が行われ、所定のリアルタイム情報処理を
    実現することを特徴とするリアルタイム情報処理方法。
  2. 【請求項2】1つのCPUと専用ハードウェアとで構成
    され、上記CPUと上記専用ハードウェアとの間で情報
    の授受を行いながら処理を進める情報処理装置によっ
    て、複数のオリジナルタスクを、上記CPU上で時間多
    重で処理するリアルタイム情報処理方法において、 上記各オリジナルタスクを、自らのオリジナルタスクよ
    りも小さい複数のサブタスクに分割するオリジナルタス
    ク分割段階と;上記分割された複数のサブタスクからそ
    の1つを選択し、実行するサブタスク選択・実行段階
    と;を有し、上記各オリジナルタスク毎に上記サブタス
    クを1回づつ起動する基本ポーリングループの起動回数
    が、所定の一定時間以内に少なくとも1回になるよう
    に、上記分割が行われ、所定のリアルタイム情報処理を
    実現することを特徴とするリアルタイム情報処理方法。
  3. 【請求項3】 複数のオリジナルタスクを、1つのCP
    U上で時間多重で処理するリアルタイム情報処理装置に
    おいて、 上記各オリジナルタスクを、自らのオリジナルタスクよ
    りも小さい複数のサブタスクに分割するオリジナルタス
    ク分割手段と;上記分割された複数のサブタスクからそ
    の1つを選択し、実行するサブタスク選択・実行手段
    と;を有し、上記各オリジナルタスク毎に上記サブタス
    クを1回づつ起動する基本ポーリングループの起動回数
    が、所定の一定時間以内に少なくとも1回になるよう
    に、上記分割が行われ、所定のリアルタイム情報処理を
    実現することを特徴とするリアルタイム情報処理装置。
  4. 【請求項4】1つのCPUと専用ハードウェアとで構成
    され、上記CPUと上記専用ハードウェアとの間で情報
    の授受を行いながら処理を進める情報処理装置によっ
    て、複数のオリジナルタスクを、上記CPU上で時間多
    重で処理するリアルタイム情報処理装置において、 上記各オリジナルタスクを、自らのオリジナルタスクよ
    りも小さい複数のサブタスクに分割するオリジナルタス
    ク分割手段と;上記分割された複数のサブタスクからそ
    の1つを選択し、実行するサブタスク選択・実行手段
    と;を有し、上記各オリジナルタスク毎に上記サブタス
    クを1回づつ起動する基本ポーリングループの起動回数
    が、所定の一定時間以内に少なくとも1回になるよう
    に、上記分割が行われ、所定のリアルタイム情報処理を
    実現することを特徴とするリアルタイム情報処理装置。
    イム情報処理装置。
  5. 【請求項5】 請求項3または請求項4において、上記
    リアルタイム情報処理装置は、1つのチップ上に構成さ
    れ、所定のリアルタイム情報処理を実現することを特徴
    とするリアルタイム情報処理装置。
  6. 【請求項6】 請求項3〜請求項5のいずれか1項にお
    いて、 上記所定のリアルタイム情報処理は、複数の入力ポート
    から入力された複数の入力ストリーム中のデータを、所
    定のシンタックスに従って、データの組立、分解、挿
    入、削除、加工、並び替え等の処理を行い、複数の出力
    ポートへ複数の出力ストリームとして出力するプロトコ
    ル処理であることを特徴とするリアルタイム情報処理装
    置。
JP23977496A 1996-08-22 1996-08-22 リアルタイム情報処理方法およびその装置 Pending JPH1063517A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23977496A JPH1063517A (ja) 1996-08-22 1996-08-22 リアルタイム情報処理方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23977496A JPH1063517A (ja) 1996-08-22 1996-08-22 リアルタイム情報処理方法およびその装置

Publications (1)

Publication Number Publication Date
JPH1063517A true JPH1063517A (ja) 1998-03-06

Family

ID=17049707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23977496A Pending JPH1063517A (ja) 1996-08-22 1996-08-22 リアルタイム情報処理方法およびその装置

Country Status (1)

Country Link
JP (1) JPH1063517A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020169B2 (en) 2003-01-09 2011-09-13 Japan Science And Technology Agency Context switching system having context cache and a register file for the save and restore context operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8020169B2 (en) 2003-01-09 2011-09-13 Japan Science And Technology Agency Context switching system having context cache and a register file for the save and restore context operation

Similar Documents

Publication Publication Date Title
KR0163234B1 (ko) 데이타 스트리밍 메카니즘, 스트리밍 장치 어댑터, 컴퓨터 시스템 및 데이타 처리 시스템
JP3549081B2 (ja) 優先度付きタスク実行制御方法及びデータ処理装置
US8155134B2 (en) System-on-chip communication manager
US6380942B1 (en) Packetized command interface to a graphics processor
TWI410866B (zh) 排程方法、排程裝置、多工處理器系統及排程用程式
KR100628492B1 (ko) 실시간 동작 수행방법 및 시스템
US5517662A (en) Multiprocessor system with distributed memory
JP3573546B2 (ja) 並列計算機における並列プロセススケジューリング方法および並列計算機用処理装置
US7689694B2 (en) Process management apparatus, computer systems, distributed processing method, and computer program for avoiding overhead in a process management device
CZ290716B6 (cs) Počítačový systém s více médii
JPH06266649A (ja) 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ
JPH06266650A (ja) データを転送する方法と装置及びデータ転送をインタリーブする装置
JPH1091357A (ja) データ格納装置及びデータ格納方法
EP1763748A1 (en) Signal processing apparatus
US11347546B2 (en) Task scheduling method and device, and computer storage medium
JP2003263331A (ja) マルチプロセッサシステム
EP1768024B1 (en) Processing management device, computer system, distributed processing method, and computer program
EP4350515A1 (en) Load balancing method for multi-thread forwarding, and related apparatus
US20040098722A1 (en) System, method, and computer program product for operating-system task management
CN114610472B (zh) 异构计算中多进程管理方法及计算设备
JPH11272480A (ja) オンチップリアルタイムos
JP3651573B2 (ja) ファクトリーオートメーションシステムの制御方法、ファクトリーオートメーションシステムの中央制御装置
US7441245B2 (en) Phasing for a multi-threaded network processor
JPH1063517A (ja) リアルタイム情報処理方法およびその装置
JPH10177541A (ja) データ転送装置及びデータ転送システム