JPH0756751A - マルチタスクプロセッサアーキテクチャ - Google Patents

マルチタスクプロセッサアーキテクチャ

Info

Publication number
JPH0756751A
JPH0756751A JP6134910A JP13491094A JPH0756751A JP H0756751 A JPH0756751 A JP H0756751A JP 6134910 A JP6134910 A JP 6134910A JP 13491094 A JP13491094 A JP 13491094A JP H0756751 A JPH0756751 A JP H0756751A
Authority
JP
Japan
Prior art keywords
instruction
task
data
processor
bus
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.)
Granted
Application number
JP6134910A
Other languages
English (en)
Other versions
JP3713723B2 (ja
Inventor
Alain Artieri
アルテール アラン
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.)
STMicroelectronics SA
STMicroelectronics lnc USA
Original Assignee
SGS Thomson Microelectronics SA
SGS Thomson Microelectronics Inc
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 SGS Thomson Microelectronics SA, SGS Thomson Microelectronics Inc filed Critical SGS Thomson Microelectronics SA
Publication of JPH0756751A publication Critical patent/JPH0756751A/ja
Application granted granted Critical
Publication of JP3713723B2 publication Critical patent/JP3713723B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 多数の可能性のあるタスクの中からカレント
タスクを実行するプロセッサアーキテクチャを開示す
る。 【構成】 アーキテクチャには次のものが含まれてい
る:それぞれがタスクを内蔵しており、内蔵タスクを実
行するカレント命令のアドレスをそれぞれが記憶してい
る多数の命令ポインタであり、これらのポインタの1つ
のみがメモリにアドレスをあたえることを同時にイネー
ブルにする;所定のプライオリティレベルを各リクエス
ト信号に与え、最高のプライオリティレベルを有したア
クティブリクエスト信号を内蔵した命令ポインタをイネ
ーブルにするプライオリティ復号器;イネーブルされた
命令ポインタの内容を増加させ、その内容が内蔵プログ
ラムのエンドアドレスに到達した時内蔵プログラムのス
タートアドレスで再初期化するためのメカニズム。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、単独のプロセッサを
有するマルチタスクプロセッサアーキテクチャに関す
る。より詳細には、この発明はタスクのリアルタイム処
理に適合するアーキテクチャに関する。
【0002】
【従来の技術】マルチタスク処理を制御するため、最も
簡単で価格の低いアプローチはタスクに対応しタイムシ
ェアリングで幾つかのプログラムを実行するプロセッサ
を有するシステムを使用することである。一番目のプロ
グラムが実行される間に二番目のプログラムがプロセッ
サにより実行されれば、割り込みリクエストはこのプロ
セッサに送られている。二番目のプログラムが一番目よ
り高いプライオリティを有していれば、この割り込みリ
クエストは一番目のプログラムの実行を中止する。一番
目のプログラムが割り込まれる時、プロセッサは“セー
ブコンテクスト(save context)”動作に
より一番目のプログラムのコンテクストをセーブする必
要がある。一番目のプログラムの実行が再び始まると、
リストアコンテクスト動作が予めセーブされたコンテク
ストをリストアする。このリストアコンテクスト動作に
より一番目のプログラムは割り込みが行なわれた点から
再び始まる。
【0003】マルチタスクプロセッサシステムは比較的
簡単で価格が低いが、幾つかの命令サイクルが割り込み
の間実行される必要からそれぞれの割り込みがオーバー
ヘッドでぶつかることにより比較的処理が遅い。これは
コンテクストをセーブし実行される新しいプログラムに
スタートアドレスの位置を定める割り込みルーチンがコ
ールされることにもよる。同様に、リストアコンテクス
トも時間を消費する。
【0004】この種のシステムは割り込みの頻繁が高く
タスクが所謂“リアルタイム”で実行される時適してい
ない。
【0005】典型的なリアルタイムマルチタスクシステ
ムはテレビジョン影像を処理するように設計されたシス
テムであるが、このシステムでは処理データの非割り込
みフローが出力される間データの非割り込みフローを受
け処理している。影像処理用としては、パイプラインア
ーキテクチャシステムが最も使用されている。この種の
システムでは所要のデータフロー速度で影像を処理する
ことができるが、非常に複雑で高価である。
【0006】EP−A−0503956にはMPEG標
準に従い圧縮されたビデオ信号を伸張(decompr
ession)するためのタイムシェアリング影像処理
システムが記載されている。このシステムでは、処理さ
れるデータはメモリ装置、復号化装置、移動補償装置、
及び逆離散コサイン変換(DCT-1)の計算装置の間で
転送される。これらの装置からの転送は割り込みにより
オペレイトされる特別なプロサッサにより制御されてい
る。
【0007】EP−A−0503956に使用されてい
るプロセッサはエレメント間でのデータの転送に特に適
合するが、割り込みオーバーヘッドは依然として重要で
ありシステムをリクエストされたデータフローの速度で
処理することができない。
【0008】
【課題を解決するための手段】この発明の目的はあるタ
スクの実行から他のタスクの実行へのパスが特に高速で
あるマルチタスクプロセッサアーキテクチャを提示する
ことである。
【0009】この発明の他の目的は非常に高速なデータ
フロー速度、より詳細には現在の標準が要求しているフ
ロー速度で処理できる影像処理システムを提示すること
である。
【0010】これらの目的は多数の可能性のあるタスク
からカレントタスクを実行するプロセッサアーキテクチ
ャにより達成されるが、これには次のものを含んでい
る:タスクの命令を記憶するメモリ;処理される連続し
た命令から受けるためにメモリに結合された処理装置;
サーブされるためリクエストされるタスクにそれぞれ内
蔵されるアクティブリクエスト信号を与えるためのメカ
ニズム;それぞれがタスクに内蔵された多数の命令ポイ
ンタであり、それぞれが内蔵タスクのカレント命令のア
ドレスを含み、これらのポインタの1つがアドレスとし
てメモリにその内容を同時に与えることができる;所定
のプライオリティレベルを各リクエスト信号に与えるた
め、更にプライオリティレベルの一番高いアクティブリ
クエスト信号を内蔵した命令ポインタをイネーブルにす
るための回路を有するプライオリティレベル復号器;イ
ネーブル命令ポインタの内容を増加させるため、更にそ
の内容が内蔵プログラムのエンドアドレスに到達した時
内蔵プログラムのスタートアドレスで再初期化するため
のメカニズム。
【0011】この発明の実施態様によれば、各命令には
処理装置に与えられるコマンドフィールドとプリフィッ
クス復号器に与えられる命令タイプフィールドとが含ま
れている。プリフィックス復号器にはカレント命令のタ
イプフィールドが一番目の所定の値を有するならば新し
い命令ポインタをプライオリティレベル復号器によりイ
ネーブルにするメカニズムが含まれ、更にカレント命令
のタイプフィールドが二番目の所定の値を有するならば
イネーブル命令ポインタの内容をカレントタスクのスタ
ートアドレスに初期化するメカニズムが含まれている。
【0012】この発明の実施態様によれば、プリフィッ
クス復号器にはタイプフィールドが三番目の所定の値を
取ればイネーブル命令ポインタの増加を禁止するメカニ
ズムがあるが、これによりカレント命令は連続的に数回
実行され、この実行の回数はこの三番目の値により決定
される。
【0013】この発明の実施態様によれば、タスクを内
蔵したプログラムを有するメモリは処理装置により制御
されるバスと独立している。
【0014】この発明の実施態様によれば、それぞれの
命令には処理装置に与えられるコマンドフィールドと、
命令が実行される時処理装置に結合される装置をイネー
ブルにするメカニズムに与えられるアクノレッジフィー
ルドとがある。
【0015】この発明の実施態様によれば、処理装置に
結合される装置には少なくとも1つの読み出し専用装置
があるが、この装置はトランシットメモリにデータを転
送する必要があることを示すため、内蔵されたリクエス
ト信号をアクティブにする。このリクエストのアクノレ
ッジは、バスからトランシットメモリにデータを転送す
るタスクが実行される間、この読み出し専用装置のみ選
択する。装置には更に少なくとも1つの書き込み専用装
置があるが、この装置はトランシットメモリからデータ
を受ける必要がある時、内蔵されたリクエスト信号をア
クティブにする。このリクエストのアクノレッジはトラ
ンシットメモリからバスにデータを転送するタスクが実
行される間この書き込み専用装置のみを選択する。
【0016】この発明の実施態様によれば、処理装置に
は多数のアドレス計算機能があり、それぞれの機能は読
み出しまたは書き込み命令のフィールドにより選択され
る。
【0017】この発明の実施態様によれば、それぞれの
機能はアドレスバスに接続されたアドレスレジスタに内
蔵されており、この機能には処理装置内で命令が実行さ
れる間アドレスレジスタの内容を適当に変更する回路が
含まれている。
【0018】
【実施例】図1では、種々の装置10がシステムバスに
接続されているが、このシステムバスにはデータバス
D、アドレスバスA、更にシステムバスに接続されたエ
レメントの読み出しまたは書き込みモードを他の操作の
中から選択する制御バスCTRLが含まれている。読み
出し専用メモリ(ROM)12とランダムアクセスメモ
リ(RAM)14もこのシステムバスに接続されてい
る。
【0019】システム内でプロセッサにより実行される
メインのタスクは装置10、12、14の間でデータを
交換し、更に必要があればデータの上でオペレイトされ
る。
【0020】この発明によるプロセッサの実施態様を図
の下に点線Lで示している。プロセッサにはシステムバ
スD,A,CTRLに接続された命令処理装置(IPR
OC)16がある。この装置16は例えば、マイクロプ
ロセッサに共通のタイプである従来の命令プロセッサで
ある。従来の命令プロセッサはデータバスDを通してR
OM12またRAM14内に記憶された命令Iを最初受
ける即ちロードし、次にこの命令を実行する。命令の実
行は一般にバスD,A,CTRLの上で行なわれる。
【0021】従来のプロセッサでは、命令が取出される
アドレスは単独の命令ポインタの中に含まれている。こ
の命令ポインタの内容はプログラムの実行が割り込まれ
その後再開する時セーブされリストアされる。
【0022】これとは反対に、この発明ではそれぞれが
実行される可能性のあるタスクに対応した多数の命令ポ
インタIP1,IP2…IPnがある。これらのポイン
タのそれぞれは処理装置16に対し取出される命令のア
ドレスとしてポインタがその内容を与えるためそれぞれ
のイネーブルラインEN1−ENnによりイネーブルに
される。イネーブルラインENはプライオリティレベル
復号器18により制御されているが、これはプロッセサ
がリクエストを処理する各装置10から1つのリクエス
トラインREQを受ける。それぞれのリクエストライ
ン、及びそれ故各装置10にはプライオリティレベルが
割り当てられている。同じプライオリティレベルが幾つ
かのタスクに割り当てられる場合がある。復号器18は
同時に1つのポインタIPのみイネーブルにする。これ
は例えば種々のプライオリティレベルをこれらのタスク
に内部で割り当てることにより行なわれ、更に命令また
は1グループの命令が実行される毎に内部のプライオリ
ティレベルを循環的にシフトすることにより行なわれ
る。
【0023】必要があれば、このイネーブルラインEN
は装置10により発生するリクエストのアクノレッジラ
インACKとして機能する場合がある。アクノレッジは
それを受ける装置の特性により種々の影響を及ぼす。
【0024】プログラムはそれぞれの位置でROMまた
はRAM内に記憶され、更に実行されるタスクにそれぞ
れ対応している。ROMは図1のアーキテクチャのあら
ゆるシステム内で実行されるベーシックプログラムを記
憶している。同様にRAMは使用者が選択し、例えばフ
ロッピーディスクまたはハードディスクからロードする
プログラムを記憶している。使用者がRAMにプログラ
ムをロードできることはシステムがモジュラーベースで
動作しても特に有益であるが、このモジュラーベースで
は使用者はシステムバスD,A,CTRLの上で制御さ
れる装置を加えたり除去できる。システムが制御できる
タスクの最大数はプロセッサに与えられる命令ポインタ
IPの数nに等しい。
【0025】システムの動作は以下の通りである。電源
を投入すると、各命令ポインタIPi(i=1,2,…
n)は内蔵されたプログラムのスタートアドレスに対応
しているスタート値IPi0 で初期化される。これらの
スタートアドレスは例えばROMまたはRAM記憶され
ており、ブートプログラムによりまたは動作中のシステ
ムによりそれぞれに命令ポインタに転送される。更に、
例えば命令ポインタのランクを内蔵プログラムに割り当
てることによりプライオリティレベルは各プログラムに
割り当てられる。しかも、復号化の機能が電源投入時に
プログラムされるプライオリティ復号器18も与えられ
ている。
【0026】システムが初期化されると、ラインREQ
上にリクエストが生ずる。プライオリティ復号器18は
プライオリティの一番高いリクエストの命令ポインタI
Pをイネーブルにする。命令プロセッサ16はイネーブ
ル命令ポインタにより示されたアドレスにある命令を受
け(即ちロードし)、この命令を実行する。この命令が
実行されると、増加回路20はイネーブル命令ポインタ
を増加させる。これにより次の命令のアドレスが命令プ
ロセッサ16により実行される。増加回路20はイネー
ブルポインタ上でのみ動作する。すなわち、他のポイン
タの内容は変更されない。増加回路20の表現(+1)
は記号である。例えば、命令が異なる長さを有する時、
またはジャンプ即ちサブプログラムのコール命令が実行
されると、実行される命令は必ずしも連続したアドレス
にある必要はない。この場合、イネーブル命令ポインタ
は従来のプロセッサのように適当な値により増加または
減少する。
【0027】命令ポインタIPのランク(i)は内蔵プ
ログラム(即ちタスク)とリクエストを示すため使用さ
れる。タスクは内蔵プログラムの多数のループの実行
に、またはプログラムの一部の実行に対応している。タ
スクも連続している。このように、プログラムの終わり
は必ずしも内蔵タスクの終わりに対応しておらず、その
逆もある。リクエストが無くなればタスクの終わりが発
生する。このような時、タスクはサーブされると言われ
る。
【0028】リクエストiのプライオリティが実行され
るプログラムのプライオリティより高い時、例えばプロ
グラムi−1 が補正プログラムならば、プログラムi−
1 のカレント命令が実行された後復号器18はポインタ
IPi−1の代わりポインタIPiをイネーブルにす
る。以下に更に記載するが、プログラムIPi−1の命
令のグループが実行されるまで、IPiをイネーブルに
することが待機される。リクエストiは内蔵されたアク
ノレッジラインACKにより同時にアクノレッジされ
る。新しいイネーブルポインタIPiにより示される命
令は命令プロセッサ16内にロードされいかなる時間ロ
スも無く実行される。すなわち、新しい命令はプログラ
ムi−1 の新しい命令が実行された時実行される。
【0029】タスクiがサーブされると、リクエストi
がディセイブルされ、更に復号器18はプライオリティ
が最大の新しいタスクに対応した命令ポインタをイネー
ブルにする。新しいタスクはタスクiにより休止にされ
たタスクであり、すなわちタスクi−1は完全に新しい
タスクである。内蔵プログラムはすぐに実行される。新
しいタスクが休止にされたタスクであれば、そのプログ
ラムは休止ポイントからスタートする。新しいタスクが
まだスタートされないタスクに対応したプログラムであ
れば、そのプログラムはスタートアドレスでスタートす
る。
【0030】容易に判るように、1つのタスクから他の
タスクへのスイッチングには従来のシステムでは内容の
セーブとリストアに必要であるいかなるデッドタイムも
生じない。
【0031】復号器18および増加回路20での命令プ
ロセッサ16の動作は継続した命令サイクルに同期した
クロック回路23により与えられる共通クロック信号C
Kにより同期している。ポインタの増加は各命令サイク
ルの終わりまたは始めのいずれかで行なわれる。
【0032】通常、従来から知られているように一番高
いプライオリティレベルは一番短いタスクに割り当てら
れている。タスクの長さは内蔵されたリクエストのアク
ティベーション期間により決定される。早い処理を必要
とする期間の長いタスクはこのルールに従わない。例え
ば、長いタスクにはデータのロスを防ぐため高いプライ
オリティが必要である。
【0033】前述のように、所定のタスクを内蔵したプ
ログラムはループ内で実行されるように与えられてい
る。このように図1のシステムにおいて、この種のプロ
グラムの最後の命令はプログラムの一番目の命令にジャ
ンプする。このジャンプは従来は増加回路20により制
御されている。この発明による最適な方法はループの制
御に対する以下の部分に記載されている。
【0034】従来のプロセッサシステムには実行が休止
されない命令のグループが幾つかある。従来のプロセッ
サでは割り込みリクエストのサーブにディセイブルとイ
ネーブルを行なう。しかし、この発明によるプロセッサ
では、このような特別な命令は割り込みがそれ自体ない
ことにより適していない。
【0035】この問題を解くため、この発明では各命令
IをプリフィックスI1とコマンドI2に分けている。
プリフィックスI1はプリフィックス復号器22に与え
られ、従来の命令に対応したコマンドI2は命令プロセ
ッサ16に与えられる。内蔵命令がより高いプライオリ
ティでプログラムを処理するため実行されると、プリフ
ィックスI1はカレントプログラムが休止されるかされ
ないかを示している。
【0036】プリフィックス復号器22はプライオリテ
ィ復号器18に信号NEXTENを与えるが、この信号
はプリフィックスが特別な値にあれば、例えばカレント
プログラムのプライオリティより高いプライオリティを
有するリクエストが生じても、新しい命令ポインタを禁
止する。
【0037】図2にはこの発明によるマルチタスクプロ
セッサアーキテクチャの他の実施態様を示している。図
1と同じエレメントは同じ参照番号で示している。この
アーキテクチャは所定のタスクを有するマルチタスクに
適合する。タスクに対応したプログラムはシステムバス
D,A,CTRLと独立したROM24内に記憶され
る。イネーブル命令ポインタIPiの内容はアドレスバ
スAに与えられる代わりROM24のアドレス入力に直
接加えられる。命令プロセッサ16は前述のようにシス
テムバスD,A,CTRLに結合されているが、ROM
24から命令を直接受けるため変更されている。従来の
プロセッサではこのような変更は当業者により容易に行
なわれている。
【0038】従来のプロセッサには命令レジスタと、デ
ータバスDに結合されているワークレジスタとがある。
命令がロードされると、命令レジスタに書き込まれ、更
にこの命令が実行される時、データバスDとワークレジ
スタの間でやりとりが発生する。この発明によれば、命
令レジスタをデータバスDに結合する代わり、この命令
レジスタがROM24の出力に結合されている。このよ
うなシステムでは、命令プロセッサ16に命令がロード
されるとすぐ命令が実行される。このように、システム
バスは命令を得るためには命令プロセッサに必要でな
い。これは時間の大幅な節約を示している。
【0039】図2のシステムには最適化が更に含まれて
いる。命令のプリフィックスI1は、カレントプログラ
ムがカレント命令の後に休止されるかされないかの他
に、カレント命令が所定の回数実行されるかどうかを適
当なビットで示すため与えられている。プリフィックス
I1は更にカレント命令がプログラムの最後の命令かど
うかを示すため使用されている。
【0040】プリフィックス復号器22にはプリフィッ
クスI1内の数により初期化される命令サイクルのダウ
ンカウンタがある。この数はプリフィックス復号器によ
り復号される幾つかの一定数またはデータバスDにより
与えられる数Nの中から選択される数である。この数N
は計算されメモリ内に記憶される、即ちサーブ装置10
により与えられる。ループ命令が実行されると、プリフ
ィックス復号器22は所要数の命令サイクルの間増加回
路20を禁止にする。その結果ロードされた命令は所要
の数と同じ回数実行される。
【0041】この方法では実行される各ループに対しジ
ャンプ命令を使用していないが、これは1つの命令のみ
が数回連続的に実行されるならば大きな時間の節約にな
る。このような命令ループはデータがブロック毎にシス
テムバスの1つのエレメントから他のエレメントに転送
される時特に有益である。
【0042】図2の実施態様では、各命令ポインタIP
に次の2つのレジスタがある:一番目のレジスタには内
蔵されたプログラムを実行するために命令アドレスを有
しており、二番目のレジスタにはこのプログラムのスタ
ートアドレスIP0 を有している。値IP0 を与えるた
め幾つかの解決策が利用できる。例えばROM24はス
タートアドレスのテーブルを有しており、これらのアド
レスは初期化の間対応するレジスタ内に書き込まれる。
ROM24内のプログラムがあるシステムと他のシステ
ムで同一であれば、スタートアドレスIP0 はハード的
に接続できる。この最後の解決策によりシステムバスに
ポインタIPを有することが避けられ、これによりプロ
セッサの構造が簡単になる。
【0043】実行される命令が最後の命令であることを
プリフィックスI1が示すと、この命令により信号IN
ITを命令ポインタIPのグループに与える復号器22
が実行され、イネーブルポインタのみをプログラムスタ
ートアドレスで初期化する。
【0044】このようなシステムでは、プロセッサの命
令セットは、幾つかの場合いかなるジャンプ命令も含ま
ないセットに制限されており、これはプロセッサとりわ
け増加回路20を大幅に簡単にする。
【0045】図3は例えばビデオ信号用の単独の信号プ
ロセッサシステムに適合するこの発明によるプロセッサ
アーキテクチャの実施態様を示している。図2と同じエ
レメントは同じ参照番号で示している。
【0046】タイムシェアリング信号処理システムで
は、EP−A−0503956のシステムのように、信
号の処理自体は特別な回路により実施される。プロセッ
サのみがデータをRAMから種々の処理回路に転送す
る。
【0047】図3のアーキテクチャによりバスVIN上
に来るデータの連続フローをRAM14内に転送するよ
うに、更に内容を処理回路30に転送するようにされて
いる。更に、このアーキテクチャにより回路30により
処理されるデータをRAMに転送するように、また最後
にRAMの内容を出力バスVOUTに転送するようにさ
れている。RAM14を通る中間的な通過はデータが入
力バスVINと処理回路30との間で不適当な順序で到
達することから、またはデータが処理回路30と出力バ
スVOUTとの間で不適当な順序で到達することから、
または処理されるデータがすでに処理されたデータと結
合されることから必要である。RAM14は従来から
“トランシットメモリ”と呼ばれている。
【0048】図3のシステム内で実行されるタスクには
適当なアドレスを計算することが含まれているが、これ
はデータが連続して処理回路30に転送されるように一
番目のRAMエリア内で適当な順序で記憶されるためで
あり、更にデータが連続して出力バスVOUTの上に転
送されるように二番目のRAMエリア内で適当な順序で
記憶されるためである。
【0049】入力バスVIN、処理回路30の入力、出
力、および出力バスVOUTはそれぞれ先入れ先出し方
式(first in first out)メモリ
(“FIFO”)32、33、34、35を通してデー
タバスDに結合されている。FIFO32−35のそれ
ぞれはリクエストラインREQに接続されている。FI
FO32と34はデータバスDに対し専用メモリで、内
容が所定の最大の内容を越える時およびその内容がシス
テムバスを通し空になる時、アクティブリクエストを出
す。FIFO33と35はデータバスDに対し書き込み
専用メモリであり、内容が所定の最小の内容より小さい
時、および内容がバスを通し充満される時アクティブリ
クエストを発生する。FIFOのリクエストは前の図と
は異なりアクノレッジ回路38に結合されているそれぞ
れのアクノレッジラインACKを通しアクノレッジされ
る。
【0050】アクノレッジ回路38はROM24により
与えられるそれぞれの命令Iからアディショナルフィー
ルドI3を受ける。この構成において、FIFO32−
35、データバスDに接続されるあらゆる他の読み出し
書き込み専用装置はアドレスバス上にいかなるアドレス
も発生すること無く実行される命令(より詳細にはフィ
ールドI3)により直接選択される。これにより書き込
み専用装置に直接書き込むためRAMで読み出されるデ
ータが生じ、更に読み出しサイクルを実行する必要はな
いが、書き込みサイクルに従いRAM内に直接書き込む
読み出し専用装置に読み出されるデータを生ずる。回路
38は必要があればアクノレッジを適当にフォーマット
するための復号器および/または回路である(例えば、
FIFOメモリによりデータが読み込まれる前にRAM
時間をバスD上で現在のデータに与えるため、この回路
はアクノレッジ信号を遅延する必要がある)。
【0051】この種のシステムは以下のように動作す
る。2つの一番高いプライオリティレベルはFIFO3
2と35のリクエストに割り当てられるが、これはこれ
らのFIFOがデータの連続フローをそれぞれバスVI
N上で受けバスVOUT上に与えるためである。圧縮デ
ータがバスVIN上に到着し伸張データがバスVOUT
上で伝達されると、データのフローはバスVOUT上よ
りバスVIN上の方が遅い。一番高いプライオリティは
FIFO35のリクエストに割り当てられる。非圧縮デ
ータがバスVIN上に到着し圧縮データがバスVOUT
上で伝達されると、一番高いプライオリティレベルがF
IFO32のリクエストに割り当てられる。より低いプ
ライオリティレベルは連続的にFIFO30とFIFO
34のリクエストに割り当てられる。
【0052】前に示したように、書き込み専用FIFO
(FIFO33と35)はその内容が内容の最小より小
さければ、例えばFIFOメモリサイズの半分に等しけ
ればリクエストを出す。書き込み専用FIFOに内蔵さ
れたタスクはデータのパケットをRAMからFIFOに
転送するが、データのこのパケットの大きさは固定され
ており、例えばFIFOのサイズの半分に等しい。
【0053】このような転送操作は前に示したように、
RAM読み出し命令のループ化された実行から成るが、
このループの数は読み出し命令のプリフィックスI1に
より決定される。読み出し命令の各実行の間、RAM1
4はFIFOに直接転送されたデータをバスD上で与え
る。データのFIFOへの書き込み操作はクロック信号
CKのエッジに同期している。
【0054】読み出し専用FIFO(FIFO32と3
4)はデータの数が内容の最大を越えていれば、例えば
FIFOの大きさの半分に等しければリクエストを出
す。FIFOに内蔵されたタスクはFIFOの内容をデ
ータのパケットによりRAM14内に転送する。各々の
パケットには例えばFIFOの大きさの半分に等しい固
定数のデータが入っている。
【0055】このような転送操作はRAM書き込み命令
のループ化された実行から成るが、このループの数は書
き込み命令のプリフィックスI1により決定される。F
IFOのアクノレッジ信号がアクティブにされると、F
IFOはデータをバスの上にクロック信号CKの速度で
与えられるが、この速度は書き込み命令の実行速度であ
る。このように、FIFOによりバスの上に与えられる
各データは直接RAMに書き込まれる。
【0056】データのパケットが転送されるRAM14
にアドレスを決定するため、例えばRAM内に記憶され
たポインタを更新することができる。命令プロセッサ1
6にはアドレスレジスタARがあるが、このレジスタに
は転送(読み出しまたは書き込み)操作が行なわれるア
ドレスが含まれている。データのパケットに対する転送
プログラムの始めにはこのアドレスレジスタ内にポイン
タの内容を書き込む命令が含まれている。プログラムの
後続の命令は例えば各転送命令においてアドレスレジス
タの内容を適当に変更する命令である。この適当な変更
は増加またはより複雑な計算、例えば再帰的な操作から
成る。
【0057】しかし、転送命令の各実行におけるアドレ
スレジスタARの変更命令の実行には転送命令の前後に
命令が挿入されることが必要である。変更命令は転送命
令と同じループの間に実行される。この方法はカレント
命令のみループ化する必要があることを示すためプリフ
ィックスI1を使用することにより与えられる利点とは
両立しない。
【0058】この欠点を避けシステムの速度を更に上昇
させるため、命令ポインタ16にはアドレスを計算する
ため所定数の所定の機能を有するアドレス計算ユニット
16−1がある。各機能には機能を実施するためのハー
ドウェアがある。計算ユニット16−1のそれぞれの計
算機能は命令IのアディショナルフィールドI4により
選択される(フィールドI4もアクノレッジフィールド
I3に対応している)。このように実行される各命令に
対し、特別なアドレス計算機能が選択される。それぞれ
のハードワイヤ機能は(クロックCKの)命令サイクル
と同期してレジスタARの状態を変更するようにされて
いる。この構成により単独の読み出しまたは書き込み命
令がループ実行される。読み出しまたは書き込み操作は
レジスタAR内のアドレスで生じ、更にこのアドレスは
各ループで自動的にしかも適当に更新される。
【0059】FIFOからRAMにn個のデータのパケ
ットを転送する転送プログラムについて検討する。この
転送プログラムはFIFOにより与えられるリクエスト
で初期化されたタスクに対応している。数nはパケット
のn番目のデータを受信した時対象とするFIFOがリ
クエストをアクティブにしないように十分大きく選択さ
れる。
【0060】この種のプログラムは次の命令から構成さ
れている: (1)カレントタスクの最後の実行の間使用されるラス
トアドレスをレジスタAR内にロードするための命令
(このアドレスは、例えばタスクに割り当てられた位置
でRAMに記憶される)。この命令のプリフィックスI
1は命令が実行された後タスクが(より高いプライオリ
ティにより)休止されないことを示している。フィール
ドI3とI4にはアクティブでない値が入っている。 (2)転送命令であり、この命令のプリフィックスI1
はこの命令がn回実行され、更にタスクが休止されない
ことを示している。フィールドI3は処理される装置
(32−35)を選択し、フィールドI4は使用される
アドレス計算機能を選択する。 (3)レジスタARの内容をセーブするための命令で、
そのプリフィックスI1はプログラムの実行が最初から
続いておりタスクが休止していることを示している。フ
ィールドI3とI4はアクティブでない値を有してい
る。
【0061】このようなタスクはプログラムの最後の命
令において、即ちデータの全てのパケットが転送された
時、より高いプライオリティのタスクに制御を与える
(この命令はタスクを休止させる命令である)。パケッ
ト内のデータ数nが大きければ、より高いプライオリテ
ィのタスクにより頻繁に制御を与える必要がある。
【0062】これを行なうため、一番目のアプローチは
n個のデータにパケットをそれぞれn1 …ni …np
のデータのサブパケットに分割することであり、更にそ
れぞれn1 …ni …np 個のデータのp個の連続した転
送プログラムを有する転送プログラムを与えることであ
る。各サブプログラムには転送命令がn回の代わりni
回実行されることを除き、更にプログラムが始めから連
続していることを最後のサブプログラムのサーブAR命
令のみが示していることを除いて、前述の3つの命令を
含んでいる。これにより各サブプログラムの終わりで、
即ち(n個データの代わり)ni 個のデータの転送に多
くても等しい比較的短い待ち時間の後に、より高いプラ
イオリティのタスクがゲインコントロールされる。これ
により、更に各サブプログラムにおいて異なったアドレ
ス計算機能が選択され、しかも複雑な計算機能を他のタ
スクにも使用される簡単なサブ機能に分割できる。
【0063】しかし、このアプローチにはni 個のデー
タの2つの転送の間でセーブ命令を実行することと、処
理の速度を下げるレジスタARの更新命令を実行するこ
とが必要である。
【0064】この欠点を避ける二番目のアプローチは計
算機能と同じ数のアドレスレジスタARを有する命令プ
ロセッサ16を与えることから成る。このように、各計
算機能は自身のアドレスレジスタの上で動作を実施し、
更に機能が(内蔵タスクが休止されることにより)休止
されるならば、内蔵アドレスレジスタはアドレスを保持
し、機能が再度アクティブにされるならばこのアドレス
から継続する。これらのアドレスレジスタを更新しまた
はセーブする必要がない。この結果、転送プログラムの
みがアドレスレジスタに対する可能な一番目の更新命令
と、可能な最後のセーブ命令と、これらの間に一連の転
送命令とから構成されるが、それぞれはループ内で実行
され、各転送命令のプリフィックスI1はループの数を
示している。
【0065】プログラムはループ化された命令を実行す
る間休止されない。これを行なうため、ループ化された
命令のフィールドI1はアクティブビットにより(図1
に関して前に記載したように)プログラムが休止されて
はいけないことを示している。このアクティブビットは
信号NEXTENをアクティブにしないプリフィックス
復号器22により受信されるが、これによりカレントプ
ログラムが休止されることを示している。
【0066】図4Aには影像処理システム、例えばMP
EG標準に従い圧縮(符号化)されたビデオ信号の伸張
(即ち復号化)に適合するこの発明によるプロセッサア
ーキテクチャの実施態様を示している。このシステムは
図3のシステムに基づいているが、同じエレメントは同
じ参照番号で示している。処理回路30は、可変長復号
器(VLD), ランレングス復号器(RLD), および
逆離散コサイン変換回路(DCT-1)を有した復号器で
ある。アディショナル書き込み専用FIFO36はデー
タバスDと、アクノレッジバスACKと、更にリクエス
トバスREQとに接続されている。FIFO36により
データはフィルタ40に与えられる。このフィルタを通
されたデータは復号器30の出力に加えられる。フィル
タがデータを受信する必要があることを示すためフィル
タ40がラインFRQをアクティブにすればFIFO3
6のみがリクエストを発生する。
【0067】回路30のVLDはバスVを通し命令プロ
セッサ16のレジスタ16−2に接続されている。復号
器VLDは更にフィルタのアクティブラインGOを通し
フィルタ40に接続されている。
【0068】命令プロセッサ16の計算ユニット16−
1はプリフィックス復号器22に命令がループされてい
る回数を示すための前述の数Nを与えている。
【0069】この場合使用されているRAM14はダイ
ナミックラム(DRAM)である。DRAMの利点はサ
イズが小さいこと、低廉であること、および記憶容量が
大きいことである。しかし、DRAMは次の2つの段階
でアクセスされる。DRAMは幾つかのページに分割さ
れる。DRAM内での読み出しまたは書き込みの前に、
ページは特別なアドレスサイクルで選択される。従っ
て、セルは通常の読み出しまたは書き込みサイクルでこ
のページ内で選択される。
【0070】図4Aに示すような影像処理システムにお
いては、DRAMは多数の領域に分割される。一番目の
領域はバスVINを通して与えられる圧縮データを受け
るためのものである。二番目から四番目の領域は最後の
2つの処理影像と同じく復号器30により処理される影
像を記憶するためのものである。(バスVOUTに送ら
れて)ディスプレイされる影像はこれらの最後の3つの
セルの1つから読み出される。
【0071】図4BはバスVINに到着するデータのフ
ローを示している。DRAM領域の部分100は処理さ
れる影像を記憶するため使用されており、DRAM領域
の1つの部分102は処理される最後の2つの影像を記
憶するため使用されている。
【0072】バスVINに到着するデータのフローには
ヘッダHが前にある可変長の圧縮データCDのパケット
がある。連続的なパケットCDは例えば影像の16×1
6画素の連続したスクエアに対応している。各パケット
は復号されると所謂“マクロブロック”になる。マクロ
ブロックは例えば16×16画素の輝度ブロックYと、
更に例えば8×8画素の2つの色ブロックU、Vとに分
割される。1つの影像を記憶するためのDRAM領域は
2つのサブ領域に分割され、一方は輝度ブロックYを記
憶し、他方は色ブロックU、Vを記憶する。色ブロック
はブロックの全数をDRAMのページに入れるためこの
ように色ブロックから分離される。記載を簡単にするた
め、前述の2つのサブ領域は合わせて示している。この
ように、メモリ領域からマクロブロックを読み出すこと
または書き込むことは、輝度ブロックYを一番目のサブ
領域に、更に対応した色ブロックU、Vを二番目のサブ
領域から読み出すことまたは書き込むことになる。マク
ロブロックをDRAMとFIFOの間で対応するため、
アドレス計算機能は一番目のサブ領域内でのブロックY
の読み出しまたは書き込みを、更に二番目のサブ領域内
でのブロックU、Vの読み出しまたは書き込みを制御す
るため必要になる。
【0073】MPEG標準によれば3つの再構成タイ
プ、即ち“内部”、“予測”、および“両方向”があ
る。内部の再構成では復号器30により与えられるマク
ロブロックは直接影像部分に対応しており処理の追加を
必要としない。
【0074】予測の再構成では、再構成される影像のマ
クロブロックは前に再構成された影像のマクロブロック
と結合される(“予測器”)。復号器30により与えら
れるマクロブロックはカレントブロックを形成するため
フィルタを通った予測器に加えられる補正マクロブロッ
クである。
【0075】予測器は再構成される影像に従ってまたは
前にディスプレイの順序で影像内でサーチする。勿論こ
れを行なうため影像はディスプレイの順序とは異なる適
当な順序で到達する。
【0076】両方向の再構成では、再構成される影像の
マクロブロックは予測器で述べたようにそれぞれ前の2
つの再構成された影像の2つのマクロブロックと結合さ
れる。これらの2つの再構成された影像は、再構成され
る影像の前にある影像および再構成される影像の後にあ
る影像にそれぞれ対応している。復号器30により与え
られるマクロブロックも補正マクロブロックである。
【0077】図4Bは影像のマクロブロックBの予測の
再構成がメモリ領域100内で再構成されることを示し
ている。このメモリ領域のハッチング部分は既に再構成
されたマクロブロックを示している。メモリ領域102
は既に再構成された影像の全てを記憶している。データ
のパケットのヘッダHはこのヘッダの後に到着するデー
タCD上で動作する再構成のタイプを示している。予測
の再構成の場合、データCDは復号され補正マクロブロ
ックCBを形成する。マクロブロックCBの画素が与え
られるように、メモリ領域102内でサーチされる予測
器PBの画素に加えられるが、この予測器PBの画素は
既にフィルタを通っている。領域102内の予測器PB
の位置はヘッダにより与えられるベクトルVにより決定
される。ベクトルVにより、領域100内で再構成され
るブロックBの位置に対応した領域102内での位置に
対する予測器Pの相対的な位置が与えられる。
【0078】図4Aのシステムの動作を次に考察する。
種々のFIFOに内蔵されたタスクをプライオリティが
減少する順序で以下に記載する: −DRAMからバスVOUTへの転送(FIFO3
5), −バスVINからDRAMへの転送(FIFO32), −DRAMから復号器30への転送(FIFO33), −DRAMからフィルタ40への転送(FIFO3
6), −復号器30からDRAMへの転送(FIFO34)。
【0079】FIFO34−36の大きさは、例えば2
つのマクロブロックである、即ち16×16画素の2つ
のブロック(輝度)、および8×8画素の4つのブロッ
ク(色)である。FIFO34−36は1つのマクロブ
ロックを含む時リクエストを発生する。FIFO32と
33の大きさは、例えば平均サイズの圧縮データの2つ
のパケットであり、半分満たされた時リクエストを発生
する。
【0080】内部の再構成の場合の図4Aのシステムの
動作は、予測器を処理するフィルタ40が含まれていな
いので図3の動作に等しい。
【0081】FIFO32に内蔵されたタスクは一番目
のDRAM領域における内容の半分を書き込むことから
成る。データは連続したアドレスでDRAM内に書き込
まれる。
【0082】FIFO33に内蔵されたタスクは前述の
一番目の領域内に記憶されたデータを有するFIFO3
3の半分を満たすことから成る。データは連続したアド
レスでDRAMから読み出される。
【0083】これらのタスクに内蔵されたアドレス計算
機能は簡単なアドレスの増加から成る。
【0084】FIFO34に内蔵されたタスクはFIF
O34を空にすること、およびこのマクロブロックをD
RAMの二番目から四番目の影像領域の1つの中に書き
込むことから成る。これらの影像領域は2つの再構成さ
れた影像と再構成された1つの影像が常に利用できるよ
うにするため周期的に充満される。マクロブロックは、
例えば連続的なアドレスのメモリセルが影像ラインの連
続的な画素に対応するように対象とする影像領域に書き
込まれる。
【0085】FIFO35に内蔵されたタスクはディス
プレイされる影像を含む領域内に読み出されたマクロブ
ロックによりFIFO35を充満することから成る。前
述のように、この領域は二番目から四番目の領域の1つ
である。アドレスは影像ラインの連続した画素に対応し
たメモリセルを読み出すように発生する。充満される影
像領域に画素を読み出すことが必要である。この場合、
この充満はシステムが画素の読み出しを開始した直後に
開始する。読み出される画素は書き込まれるマクロブロ
ックにより重ね書きされない。
【0086】前述のように、各マクロブロックには影像
領域の一番目のサブ領域に記憶された輝度ブロックと、
影像領域の二番目のサブ領域に記憶された2つの色ブロ
ックとがある。アドレス計算機能は書き込みの間データ
の分離を制御し、しかも読み出しの間データのグループ
分けを制御し、更にサブ領域への画素の読み出し書き込
みを制御する。
【0087】予測または両方向の再構成の場合、システ
ムは次のように動作する。FIFO32−35に内蔵さ
れたタスクは前述の通りである。VLDが予測ベクトル
Vを含むヘッダを受信すると、信号GOを送ることによ
りフィルタ40をアクティブにし、VLDは命令プロセ
ッサ16のレジスタ16−2にベクトルVを同時に送
る。フィルタ40はラインFRQをアクティブにしFI
FO36により発生するリクエストをイネーブルにす
る。FIFO35は最初空であるので、リクエストをす
ぐに発生する。
【0088】FIFO36に内蔵されたタスクはFIF
O36内でベクトルVにより示される予測器に書き込ま
れる。このタスクに内蔵されたプログラムにはDRAM
を読み出し更にフィールドI4を通し特別なアドレス計
算機能を選択するためのループ化された命令がある。こ
の特別なアドレス計算機能はベクトルVを使用し予測器
が読み出される位置に置かれる。両方向の再構成の場
合、ベクトルVはダブルであり2つの所要の予測器のい
ずれかの位置を示している。アドレス計算機能は2つの
予測器が画素のグループにより交互に読み出されるよう
に行なわれる。
【0089】図4Bに示すように、予測器PBによりD
RAMの幾つかのページはオーバーラップされる(ペー
ジの境界は太いラインで示される)。予測器の読み出し
はより複雑である。この場合、選択された計算機能によ
りプリフィックス復号器に数Nが与えられる。数Nは例
えば予測器が部分的に含む上側のページ内で列の画素の
高さを示している。予測器を読み出すことは全ての列に
対し、上側のページに含まれる列の一番目の部分の画素
を読み出すためN回読み出し命令を実行することから成
り、次に下側のページ内の列の残りの部分をL−N回読
み出し命令を実行することから成る(Lは列の画素の全
ての高さ)。DRAMのページの変更は2つの読み出し
ループの間で行なわれる。
【0090】このような構成により、予測器は適当な順
序で読み出されるが、これにより予測器の画素を再配列
するための複雑なアドレス計算機能と、配列される前に
予測器の画素を一時的に記憶するためのバッファを用意
する必要性が無くなる。前述のEP−A−050395
6の特許出願において、ページに含まれる部分的な予測
器の全ての画素は他のページに含まれる部分的な予測器
の画素を読み出す前に一番目に読み出されるが、これは
より高い複雑性を犠牲にしてページの変更数を最小にす
るためである。この発明によれば、システムの速さは十
分であるので多数のページ変更を行なうことが可能であ
る。更に実際にはこのページ変更の数の増加は100回
につき約4クロックサイクルである。
【0091】当業者はアドレス計算に必要な種々の機能
を実行するための論理回路を容易に実現することができ
る。
【0092】このシステムはタイムシェアリング影像処
理システムのメモリコントローラに対応できることに注
意する必要がある。システムの全体は、この発明により
このようなシステムが改善される内容を容易に示す簡単
な方法について記載されている。当業者はこの記載で与
えられた情報により、およびMPEG標準により与えら
れた命令で影像処理システムの全体を理解することがで
きる。
【0093】この発明の1つの特別な実施態様について
記載したが、種々の変更、修正、および改善が当業者に
は容易に考えられる。このような変更、修正、および改
善はこの開示の一部であり、この発明の内容および範囲
の中である。従って前述の記載は一例でありこれにより
制限されない。
【図面の簡単な説明】
【図1】この発明によるマルチタスクプロセッサアーキ
テクチャの例
【図2】この発明によるプロセッサアーキテクチャの他
の例
【図3】この発明によるプロセッサアーキテクチャの他
の例で、より詳細には単独の処理システムに適合する例
【図4A】この発明によるプロセッサアーキテクチャの
簡単な例で、より詳細には影像処理システムに適合する
【図4B】MPEGの標準に従い動作する影像処理シス
テムにより処理される影像部分に対応したデータのブロ
ックダイアグラム
【符号の説明】
10 装置 12 読み出し専用メモリ(ROM) 14 ランダムアクセスメモリ(RAM) 16 命令処理装置(IPROC) 16−1 アドレス計算ユニット 16−2 レジスタ 18 復号器 20 増加回路 22 プリフィックス復号器 23 クロック回路 24 ROM 30 処理回路 32、33、34、35 先入れ先出し方式メモリ(F
IFO) 36 付加的な書き込み専用FIFO 38 アクノレッジ回路 40 フィルタ 100、102 メモリ領域

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 次のものを含み、多数のタスクの中から
    カレントタスクをサーブするためのプロセッサアーキテ
    クチャ: (1)データバスとアドレスバスを有し、それぞれがタ
    スクに対応したプログラムの命令を記憶するメモリ; (2)命令サイクルの速度で処理されるメモリ命令から
    受けるためデータバスに結合された命令プロセッサ; (3)それぞれがタスクに内蔵された種々のプライオリ
    ティレベルのリクエストラインであり、それぞれのリク
    エストラインは内蔵タスクがサーブをリクエストされる
    とすぐ断言される; (4)それぞれがタスクに内蔵された多数の命令ポイン
    タであり、それぞれが実行される内蔵タスクのカレント
    命令のアドレスを含み内蔵イネーブルラインが断言され
    る間各命令サイクルで前記のアドレスバスの上にその内
    容を与えているが、これにより対応する命令は命令プロ
    セッサに与えられ各命令サイクルで実行される; (5)リクエストラインおよび命令ポインタのイネーブ
    ルラインに接続され、更にプライオリティレベルが一番
    高く断言されたリクエストに対応した命令ポインタのイ
    ネーブルラインを断言するプライオリティレベル復号
    器; (6)イネーブル命令ポインタが各命令サイクルで内蔵
    タスクの次の命令に対するポイントに変更されるように
    命令ポインタに接続された増加回路。
  2. 【請求項2】 更にプリフィックス復号器を含み、各命
    令が命令プロセッサに与えられるコマンドフィールドと
    プリフィックス復号器に与えられる命令タイプフィール
    ドとを含むが、プリフィックス復号器は次のものを含ん
    でいる請求項1のアーキテクチャ: (1)カレント命令のタイプフィールドが一番目の所定
    の値を有するならば、新しい命令ポインタがプライオリ
    ティレベル復号器によりイネーブルにされる手段; (2)カレント命令のタイプフィールドが二番目の所定
    の値を有するならば、イネーブル命令ポインタの内容を
    カレントプログラムのスタートアドレスに初期化する手
    段。
  3. 【請求項3】 タイプフィールドが三番目の所定の値を
    有するならば、プリフィックス復号器が増加回路を禁止
    にする手段を有するが、これによりカレント命令が前記
    の三番目の値で決定される回数各命令サイクルで実行さ
    れる請求項2のアーキテクチャ。
  4. 【請求項4】 命令プロセッサにより制御されるシステ
    ムバスにメモリが独立している請求項1のアーキテクチ
    ャ。
  5. 【請求項5】 装置がシステムバスに結合され、更に各
    命令が命令プロセッサに与えられるコマンドフィールド
    と、命令が実行される時システムバスを使用するために
    前記の装置の選択を可能にするアクノレッジフィールド
    とを有している請求項4のアーキテクチャ。
  6. 【請求項6】 トランシットメモリがシステムバスに結
    合され、更にシステムに結合されている前記の装置が次
    のものを含む請求項5のアーキテクチャ: (1)それぞれのシステムバスに対する少なくとも1つ
    の読み出し専用装置であり、システムバスからトランシ
    ットメモリにデータを転送するタスクが実行される間、
    システムバスを使用するため前記の読み出し専用装置の
    みを選択する前記のリクエストのアクノレッジがトラン
    シットメモリにデータを転送するため必要であることを
    示すため前記の装置が内蔵されたリクエストラインを断
    言する; (2)それぞれのシステムバスに対する少なくとも1つ
    の書き込み専用装置であり、トランシットメモリからシ
    ステムバスにデータを転送するタスクが実行される間、
    前記の書き込み専用装置のみを選択するリクエストのア
    クノレッジがトランシットメモリからデータを受けるた
    め必要である時前記の装置が内蔵されたリクエストライ
    ンを断言する。
  7. 【請求項7】 命令プロセッサが多数のワイヤアドレス
    計算機能を含み、それぞれの機能が読み出しまたは書き
    込み命令のフィールドにより選択されている請求項6の
    アーキテクチャ。
JP13491094A 1993-05-27 1994-05-26 マルチタスクプロセッサ Expired - Fee Related JP3713723B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9306612A FR2705804B1 (fr) 1993-05-27 1993-05-27 Architecture de processeur multi-tâches.
FR9306612 1993-05-27

Publications (2)

Publication Number Publication Date
JPH0756751A true JPH0756751A (ja) 1995-03-03
JP3713723B2 JP3713723B2 (ja) 2005-11-09

Family

ID=9447691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13491094A Expired - Fee Related JP3713723B2 (ja) 1993-05-27 1994-05-26 マルチタスクプロセッサ

Country Status (5)

Country Link
US (1) US5600837A (ja)
EP (1) EP0626642B1 (ja)
JP (1) JP3713723B2 (ja)
DE (1) DE69419663T2 (ja)
FR (1) FR2705804B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053825A (ja) * 1999-07-08 2001-02-23 Thomson Licensing Sa 適応トランスポートプロトコル復号器

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
FR2724243B1 (fr) * 1994-09-06 1997-08-14 Sgs Thomson Microelectronics Systeme de traitement multitaches
US5986709A (en) * 1996-11-18 1999-11-16 Samsung Electronics Co., Ltd. Adaptive lossy IDCT for multitasking environment
US5852451A (en) * 1997-01-09 1998-12-22 S3 Incorporation Pixel reordering for improved texture mapping
CN1113289C (zh) * 1997-03-04 2003-07-02 松下电器产业株式会社 能执行多异步运行任务中的异步事件任务的处理器
US6658447B2 (en) * 1997-07-08 2003-12-02 Intel Corporation Priority based simultaneous multi-threading
JP3990011B2 (ja) 1997-10-31 2007-10-10 沖電気工業株式会社 復号画像変換回路および復号画像変換装置
US6862635B1 (en) * 1998-11-13 2005-03-01 Cray Inc. Synchronization techniques in a multithreaded environment
US6389449B1 (en) * 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
US7237093B1 (en) 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US6477562B2 (en) 1998-12-16 2002-11-05 Clearwater Networks, Inc. Prioritized instruction scheduling for multi-streaming processors
US7020879B1 (en) * 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US6275749B1 (en) * 1998-12-22 2001-08-14 Philips Electronics North America Corporation Interrupt-controlled thread processing
US7318090B1 (en) * 1999-10-20 2008-01-08 Sony Corporation Method for utilizing concurrent context switching to support isochronous processes
DE60143896D1 (de) 2000-07-14 2011-03-03 Mips Tech Inc Anweisungsabruf und -absendung in einem multi-thread-system
US6885374B2 (en) * 2001-06-29 2005-04-26 Intel Corporation Apparatus, method and system with a graphics-rendering engine having a time allocator
US7173627B2 (en) * 2001-06-29 2007-02-06 Intel Corporation Apparatus, method and system with a graphics-rendering engine having a graphics context manager
US20080059672A1 (en) * 2006-08-30 2008-03-06 Irish John D Methods and Apparatus for Scheduling Prioritized Commands on a Bus
US8583700B2 (en) * 2009-01-02 2013-11-12 International Business Machines Corporation Creation of date window for record selection
US9218211B2 (en) * 2009-01-02 2015-12-22 International Business Machines Corporation Priority promotion for service requests
JP5848153B2 (ja) * 2012-02-17 2016-01-27 ルネサスエレクトロニクス株式会社 信号処理装置及び半導体装置
US11556274B1 (en) * 2021-09-01 2023-01-17 Western Digital Technologies, Inc. Endurance groups ECC allocation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4217638A (en) * 1977-05-19 1980-08-12 Tokyo Shibaura Electric Co., Ltd. Data-processing apparatus and method
US4462074A (en) * 1981-11-19 1984-07-24 Codex Corporation Do loop circuit
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
EP0221741A3 (en) * 1985-11-01 1991-01-16 Advanced Micro Devices, Inc. Computer microsequencers
GB2187577B (en) * 1986-03-07 1989-11-15 Stc Plc Digital computer systems
US5016162A (en) * 1988-03-30 1991-05-14 Data General Corp. Contention revolution in a digital computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053825A (ja) * 1999-07-08 2001-02-23 Thomson Licensing Sa 適応トランスポートプロトコル復号器
JP2012005144A (ja) * 1999-07-08 2012-01-05 Thomson Licensing 適応トランスポートプロトコル復号器

Also Published As

Publication number Publication date
EP0626642B1 (fr) 1999-07-28
DE69419663T2 (de) 2000-01-27
JP3713723B2 (ja) 2005-11-09
EP0626642A1 (fr) 1994-11-30
FR2705804B1 (fr) 1995-08-11
FR2705804A1 (fr) 1994-12-02
US5600837A (en) 1997-02-04
DE69419663D1 (de) 1999-09-02

Similar Documents

Publication Publication Date Title
JP3713723B2 (ja) マルチタスクプロセッサ
US5579052A (en) Picture processing system
US6104751A (en) Apparatus and method for decompressing high definition pictures
US5367494A (en) Randomly accessible memory having time overlapping memory accesses
JP4426099B2 (ja) 共有メモリを有するマルチプロセッサ装置
US5649230A (en) System for transferring data using value in hardware FIFO'S unused data start pointer to update virtual FIFO'S start address pointer for fast context switching
US5892966A (en) Processor complex for executing multimedia functions
US5519345A (en) Reconfigurable interrupt device and method
US5664153A (en) Page open/close scheme based on high order address bit and likelihood of page access
KR100766732B1 (ko) 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
JPH0827707B2 (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JP2004536395A (ja) グラフィックコンテキストマネージャを有するグラフィックレンダリングエンジンを用いる装置、方法及びシステム
US6088787A (en) Enhanced program counter stack for multi-tasking central processing unit
JP2001216194A (ja) 演算処理装置
JP3087588B2 (ja) 画像処理システム
EP1880297B1 (en) Data transfer arbitration apparatus and data transfer arbitration method
JPH0381179B2 (ja)
US6166724A (en) Method and apparatus for sequencing palette updates in a video graphics system
US7984204B2 (en) Programmable direct memory access controller having pipelined and sequentially connected stages
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JP2003501774A (ja) 複数の処理およびメモリ回路を含むデータ処理配列
JP2689914B2 (ja) 情報処理装置
CA2233435C (en) Enhanced program counter stack for multi-tasking central processing unit
JP2577604Y2 (ja) 画像メモリ・データ演算装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050815

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees