JPH09505920A - Data processing system with data processing unit and extender - Google Patents

Data processing system with data processing unit and extender

Info

Publication number
JPH09505920A
JPH09505920A JP8510042A JP51004296A JPH09505920A JP H09505920 A JPH09505920 A JP H09505920A JP 8510042 A JP8510042 A JP 8510042A JP 51004296 A JP51004296 A JP 51004296A JP H09505920 A JPH09505920 A JP H09505920A
Authority
JP
Japan
Prior art keywords
data processing
data
control
connection
processing unit
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
JP8510042A
Other languages
Japanese (ja)
Other versions
JP3638284B2 (en
Inventor
ロベルト ヴァウドスマ
アンドリュー コリン ターレイ
デヴィッド ペーター エリアス
Original Assignee
フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
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 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ filed Critical フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
Priority claimed from PCT/IB1995/000738 external-priority patent/WO1996008777A1/en
Publication of JPH09505920A publication Critical patent/JPH09505920A/en
Application granted granted Critical
Publication of JP3638284B2 publication Critical patent/JP3638284B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Optical Communication System (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)【要約】 本発明は複数のデータ処理ユニットと命令ワード用のプログラムメモリを具えたデータ処理システムに関する。各命令ワードが種々のデータ処理ユニットに対する別々のコマンドフィールドを含んでいるため、種々のデータ処理ユニットを独立に一つのプログラムで制御することができる。種々のデータ処理ユニットのデータ端子は種々のバスを経て相互接続される。これらのバスにより設定される接続は命令ワード内の制御フィールドに基づいて拡張器により制御される。この拡張器はプログラムのタイプに依存して選択された、実現可能な接続の限定されたレパートリをもたらす。 (57) Summary The present invention relates to a data processing system comprising a plurality of data processing units and a program memory for instruction words. Since each instruction word contains separate command fields for different data processing units, different data processing units can be independently controlled by one program. The data terminals of the various data processing units are interconnected via various buses. The connections established by these buses are controlled by the extender based on the control fields in the instruction word. This extender provides a limited repertoire of feasible connections, chosen depending on the type of program.

Description

【発明の詳細な説明】 データ処理ユニット及び拡張器を具えるデータ処理システム 本発明は、 複数のデータ処理ユニットを具え、各データ処理ユニットは複数のデータ端子 を有し、 命令ワードをアドレスするためにプログラムメモリ手段に結合されたプログラ ムカウンタを具え、前記命令ワードは複数のコマンドフィールドを含み、前記プ ログラムメモリ手段は各コマンドフィールドを各別のデータ処理ユニットに供給 するために前記データ処理ユニットに結合され、 異なる端子を接続する複数の接続素子を具え、各接続素子は前記データ端子の うちの少なくとも2つの入力端子と少なくとも2つの出力端子とを物理的に接続 し、これらの接続素子は命令ワード内に含まれる制御信号を受信するために前記 プログラムメモリ手段に結合され、前記制御信号が接続素子によりどの入力端子 とどの出力端子との間にオウンデータ接続を設定するかについての選択を行うデ ータ処理システムに関するこのである。 この種のデータ処理システムは米国特許第5,280,620号から既知であ る。データ処理ユニットの例は算術論理演算装置(ALU)、乗算器、自律アド レッシングモードを有するデータメモリ、入/出力装置等である。このデータ処 理システムのプログラムメモリ手段は各別のデータ処理ユニットに対するコマン ド用の複数のサブメモリからなる。各命令サイクルにおいてプログラムカウンタ が新しいアドレスを発生し、これにより種々のサブメモリから並列にコマンドが 読み出される。従って、種々のデータ処理ユニットにより実行されるコマンドは 互いに独立であり、且つ種々のデータ処理ユニット間の並列処理をプログラムの 書込みに十分に利用することができる。各命令サイクルにおいて種々のデータ処 理ユニットに対し多数の別々のコマンドが必要とされるため、このようなアーキ テクチャはVLIW(Very Long Instruction Word=超長大命令ワード)アーキ テクチャとも称されている。 動作中に種々のデータ処理ユニット間でデータを転送する必要がある。この目 的のために、前記刊行物に開示されたシステムは個々のデータ処理ユニットのデ ータ端子まで延在するラインとの交点で制御しうるように接続されたデータバス の形態の接続素子を具える。これらの交点に対する制御コードがデータ処理ユニ ットに対するコマンドと一緒にサブメモリに蓄積される。各命令サイクルにおい て各サブメモリがこれらの制御コードを交点制御のために出力する。 特に多数のデータ処理ユニットを具えるととももにプログラムが多数の命令を 含む場合には、プログラムメモリが集積回路においてかなり大きなスペースを占 める。 本発明の目的はプログラムに必要とされるメモリスペースを低減することにあ る。 本発明データ処理システムは、前記命令ワードが制御フィールドを具え、且つ 前記接続素子とプログラムメモリ手段との結合路内に、前記制御フィールドの制 御の下で、少なくとも前記制御素子のうちの第1のものにより設定されるオウン データ接続と第2のものにより設定されるオウンデータ接続とを一緒に選択する 拡張器を具え、該拡張器が第1接続素子のオウンデータ接続に対し複数の実現可 能な第1選択をもたらすとともに、実現可能な各第1選択ごとに第2接続素子の データ接続に対し各別の第2選択群(空のこともあり得る)のみをもたらし、少 なくとも2つの各別の第2選択群が無矛盾データ接続の限定に必要とされる以上 に相違していることを特徴とする。 このように拡張器を介して単一の制御フィールドが種々の接続素子により設定 されるデータ接続を選択するので、制御フィールドを種々の接続素子における互 いに独立の選択のためにサブフィールドに分割する必要がない。 例えば、メモリからALUの入力レジスタへのデータ接続が第1接続素子に対 し選択される場合には、当該ALUの他のレジスタからの又はへの一群の接続を 第2接続素子に対し選択可能にできるが、第1接続素子に対しALUの出力レジ スタと出力ユニットとの間の接続が選択される場合には、第2接続素子に対する 選択可能な接続群は空であるため、第2接続素子による接続は不可能である。こ の種の制限は、実行中のプログラムと無関係に、データ接続の矛盾する組合せ、 例えば第1及び第2接続素子が同一の入力端子へのデータ接続を設定する意味の ない組合せの除外に必要とされる以上に顕著である。 本発明は、協働する一組のデータ処理ユニットに対する特定のプログラムの実 行中において、発生する種々のデータ接続間にコヒーレンスが見られる点に基づ くものである。一つの完全なプログラムにおいて実現可能な全データ接続構成が 生ずるわけではないことが確かめられた。これに対し、プログラムのタイプ(例 えばフィルタリング処理を含むタイプ又は高速フーリエ変換を含むタイプ)に応 じて、特定の限定された接続構成レパーリが生ずる。従って、システムに対する プログラムの書込みに対し、特定のアプリケーションにおいて並列処理を利用し うる程度を本質的に制限することなく、このレパートリは限定を受入れることが できる。 データ処理システムは自由に種々のデータ処理ユニットを互いに独立に制御す ることができるにもかかわらず、特定のタイプのプログラムのみを実行するシス テムに対しては、種々のデータ処理ユニットのデータ接続を互いに独立に制御す ることもできる必要はない。これは特に単一の特定のタイプの装置、例えば無線 受信機又はデコーダ装置用に特別に設計された”組み込み型”信号プロセッサに 言える。 本発明は上述のアイディアを利用し、各データ処理ユニットに対する接続を命 令内に別々に含めないで、その代わりに命令の単一制御フィールドを用いて実現 可能な接続構成の限定されたレパートリのうちの一つを選択するものである。こ の場合、どのデータ接続が第1接続素子により設定されるかに応じて、制御フィ ールドは第2接続素子を制御するために物理的に実現可能なデータ接続群の一部 分のみからの選択を必要とするだけである。その結果、ビット構成の制御フィー ルドをプログラムの実現可能な並列処理の程度をあまり低下することなく短くす ることができる。 これは、所定のタイプのプログラムの使用の結果であり、種々のデータ処理ユ ニットに対する限定された数の種々のコマンドの使用の結果ではない点に注意さ れたい。従って、接続レパートリの限定は”パイプライン”システムにおいても 意義がある。パイプラインは、所定の命令サイクル中に接続素子を経て転送され るデータは前命令サイクル中に発生されたもの及び/又は後命令サイクル中に処 理されるものであることを意味する。この場合には命令の各別のコマンドフィー ルドは同じ命令の制御フィールドによりその転送が制御されるデータ以外のデー タに関連する。これらの環境では命令の制御フィールドを実現可能な接続構成の 限定されたレパートリのうちの一つを選択するために使用する魅力が残されてい る。 本発明データ処理システムの一実施例では、前記プログラムメモリ手段が制御 入力端子を具える接続手段を経て前記データ処理ユニットに接続され、且つ前記 拡張器が前記制御フィールドの拡張により前記制御手段に対する他の制御信号を 選択し、前記他の制御信号をその制御入力端子に供給して、命令ワード内のどの コマンドフィールドをどのデータ処理ユニットに供給するか制御し、且つ前記拡 張器が実現可能な各第1選択ごとに前記他の制御信号に対し各別の他の選択群( 空のこともあり得る)のみをもたらし、少なくとも2つの各別の他の選択群が互 いに相違していることを特徴とする。このようにすると、特定のタイプのプログ ラムにおいて並列処理を使用しうる程度に大きな制限を課す必要なしに1命令当 たりの所要ビット数を更に制限することができる。 命令ワードのフォーマット選択フィールドの制御の下で、命令のどの部分をど のデータ処理ユニットにより実行するかを制御する接続手段の使用自体は、“Co mpEuro 1992 Proceedings,Computer System and Softeare Egineering”,pp.3 5-40,“IEEE Computer Society Press”,Los Alamitos,California に掲載さ れたA.De Gloriaの論文“A Programmable Instruction Format Extension to V LIW Architecture”から既知である。De Gloria は、フォーマット選択フィール ドがメモリとデータ処理ユニットとの間の命令転送に対し限定された数の接続構 成をもたらす拡張器を介して接続手段を制御することも示している。しかし、De Gloria は、データ転送及び命令転送に対する接続の選択の組合せについてはも ちろんのこと、種々のデータ処理ユニット間のデータ転送に対し限定された数の 接続構成を選択する拡張器について何も示唆していない。 本発明データ処理システムの一実施例では、前記制御フィールドの制御の下で 前記データ処理ユニットの少なくとも一つに対する制御コマンドを形成するため に前記拡張器が前記データ処理ユニットの少なくとも一つに結合され、前記拡張 器が各第1選択ごとに各別の他の選択可能な制御コマンド群(空のこともあり得 る)のみをもたらし、少なくとも2つの各別の他の選択可能な制御コマンド群が 互いに相違していることを特徴とする。このようにすると、データ処理ユニット の一部分において、コマンド実行が少なくとも部分的に接続素子と一緒に拡張器 を介して制御される。従って、特定のタイプのプログラムにおいて並列処理を使 用しうる程度を本質的に制限する必要なしに1命令当たりの所要ビット数を更に 制限することができることが確かめられた。 本発明データ処理システムの一実施例では、前記データ処理ユニットの少なく とも一つは第1及び第2レジスタを具え、各レジスタは各別のデータ端子を経て データを供給するために前記接続素子に物理的に結合され、前記第1選択は第1 レジスタへの複数のデータ接続を含み、前記各別の第2選択群は第2レジスタへ の複数のデータ接続を含むことを特徴とする。このようにすると、本発明を独立 に同時にロードしうるレジスタを有するデータ処理ユニットに対し使用すること もできる。 本発明データ処理システムの他の実施例では、前記接続素子とプログラムメモ リ手段との結合路内に、前記制御信号を、次の制御信号の形成中蓄積し前記接続 素子に伝送するレジスタを具えていることを特徴とする。このレジスタはパイプ ライン化をもたらし、プログラムメモリ手段と接続手段との間の拡張器の挿入に よる遅延が使用可能な最大命令周波数の低下を生じないようにすることができる 。しかし、この場合には、命令の制御フィールドが当該命令のコマンドフィール ド以外の命令サイクルにおいて使用されることが起こりうる。このことは特定の タイプのプログラムにおいて並列処理を使用しうる程度を本質的に制限しないこ とが確かめられた。その理由は、本発明の効果は所定のタイプのプログラムを使 用する結果として生じ、データ処理ユニットに対し限定数のコマンドのみを使用 する結果として生じるのではないためである。 本発明のこれらの特徴及び他の特徴は以下に記載する実施例の説明から明らか になる。 図面において、 図1は本発明データ処理システムの第1の実施例を示し、 図2は本発明データ処理システムの第2の実施例を示し、 図3は拡張器とデータ処理ユニットとの間の接続の一実施例を示し、 図4はデータ処理ユニットの一実施例を示す。 図1は本発明データ処理システムの第1の実施例を示す。このシステムはプロ グラムカウンタ10を具え、その出力端子がプログラムメモリ12のアドレス入 力端子に結合されている。プログラムメモリ12はプログラム命令を蓄積する複 数の位置を有する。プログラムメモリ12は複数(一例では4つ)の出力端子を 具え、これらの出力端子が複数の各別のデータ処理ユニット14−1,14−2 ,...14−N(一例としてそれらの3つを示す)及び拡張器18に結合され る。データ処理ユニット14−1,14−2,..14−Nは接続手段16によ り相互接続される。拡張器18は接続手段16に結合された出力端子を有する。 データ処理ユニットとして、例えばALU(算術論理演算装置)型、乗算器型 又はメモリ型のユニットを使用することができる。必要に応じ1以上の各タイプ のユニットを含めることができる。各データ処理ユニット14−1,14−2, ..14−Nはオペランド及び結果用の複数の入力端子及び出力端子を具え、そ の数はタイプに依存する。例えば、乗算器タイプのユニットは通常オペランドの ための2つの入力端子と得られた積のための1つの出力端子を有するが、メモリ タイプのユニットはデータ入力端子とデータ出力端子のみを有する(メモリは命 令の一部としてアドレスを受信するか、メモリ自体が別の命令サイクルにおいて 書込みが行われるアドレスレジスタを具えている)。これらの入力端子及び出力 端子が接続手段16に接続される。図を簡単にするために、図1ではすべてのデ ータ処理ユニットの入力端子及び出力端子がそれらの数と無関係に一つの双方向 矢印で示されている。 動作中にプログラムカウンタ10が順次の命令サイクルにおいてプログラムメ モリ12に対する順次のアドレスを発生する。各アドレスに応答して、プログラ ムメモリ12はこのアドレスにより指定された位置に記憶されている命令ワード を読み出す。プログラムメモリ12はこの命令の種々のフィールドを出力する。 これらのフィールドは種々のデータ処理ユニット14−1,14−2,..14 −Nに対するコマンドフィールド及び拡張器18に対する制御フィールドを具え る。データ処理ユニット14−1,14−2,..14−Nに対するコマンドフ ィールドの内容の例はALUに対しては”ADD”又は”SUBTRACT”コ ードであり、メモリユニットに対しては”LOAD”及び”STORE”コード である。 従って、このシステムは”VLIW”(超長大命令ワード)型である。プログ ラムの実行前におけるこのようなシステムのプログラミングにおいて、どの処理 をどの命令サイクルにおいてどのデータ処理ユニット14−1,14−2,.. 14−Nにより実行する必要があるか決定される。次に各命令サイクルに対し、 当該サイクル中に実行すべき処理のためのすべてのコマンドフィールドを含む命 令ワードが形成される。このように形成された命令ワードがその後の実行に備え てプログラムメモリ12に蓄積される。命令ワードの形成は手動的に、又は必要 に応じ既知のVLIWコパイラ技術により実現することができる。 コマンドフィールドの内容に応じて、データ処理ユニット14−1,14−2 ,..14−Nがそれらの入力端子及び出力端子にデータを受信し及び/又は発 生する。データ処理ユニット14−1,14−2,..14−Nにより発生され たデータは接続手段16を経て、別のデータ処理ユニットに対する入力として作 用する。この接続手段により設定される接続は拡張器18に供給される制御フィ ールドの制御の下で制御される。 拡張器18は、例えば接続手段16のための制御信号のレパートリを蓄積する メモリとして構成される。このメモリのアドレス入力端子17はプログラムメモ リ12の出力端子に結合され、命令ワードの制御フィールドを受信し、このメモ リの出力端子が接続手段16の制御入力端子19に結合され、この制御入力端子 にアドレスされたメモリ位置の制御信号を供給する。制御フィールドは制御信号 より少数のビットを有するため、制御フィールドはプログラムメモリにおいて可 能な全制御信号の記憶に必要とされるスペースより小さいスペースを占める。従 って、発生しうる制御信号のレパートリは、接続手段16の制御入力端子19に おいて機能する実現可能な全制御信号の集合内の部分集合を構成する。 この場合は、プログラムメモリ12の出力端子を接続手段16の制御入力端子 19に直接結合し、各データ処理ユニット14−1,14−2,..14−Nの 接続を他のデータ処理ユニットの接続と独立に制御しうるようにする場合と区別 する必要がある(2つのデータ処理ユニットが別のデータ処理ユニットの同一の 入力端子に対するデータのソースとして作用する場合のような矛盾は無視する) 。独立制御の場合には、制御信号の集合は次のように数学的に可約である。 この可約性は次のように定義される。複数のデータ処理ユニットのうちの一つ を取り、且つ制御信号の集合を複数の部分集合に、各部分集合において前記一つ のデータ処理ユニットにより設定される接続は同一であるが、これらの接続は部 分集合ごとに相違するように分割する。次に、部分集合相互の写像が、互の写像 である各対の制御信号が他のデータ処理ユニット間に前記一つのデータ処理ユニ ットと同一の接続を発生するように存在するか検査する(矛盾は無視する)。こ のような写像が存在するとき、制御信号の集合は前記一つのデータ処理ユニット に対し可約であるという。発生しうる制御信号の集合がデータ処理ユニットの各 々に対し可約である場合には、発生しうる制御信号のセットは可約であるという 。 本発明に従って拡張器18を使用するとき、発生しうる制御信号の集合は既約 である。これは接続手段16の制御の自由度の制限を構成する。しかし、かなり 大きな制限でもデータ処理システムの性能に殆ど影響がないことが確かめられた 。 図2は本発明データ処理システムの第2の実施例を示す。この実施例もプログ ラムメモリ22に結合されたプログラムカウンタ20を具える。プログラムメモ リ22のデータ出力端子は一方では各々nビット(本例では例えばn=5)の幅 を有する命令バスのシステム222に結合されるとともに、他方ではtビット( 本例では例えばt=5)の幅を有する拡張器230の入力端子に結合される。こ の拡張器は第1及び第2組の出力ライン232、234を具える。第1組232 の各出力ラインはkビット(本例では例えばk=3)の幅を有し、第2組234 の各出力ラインはsビット(本例では例えばs=4)の幅を有する。 第1組232の出力ラインは各別の命令選択レジスタ25−1,25−2,. .25−Nに結合される。命令選択レジスタ25−1,25−2,..25−N は各別の命令セレクタ27−1,27−2,..27−Nに結合される。命令セ レクタ27−1,27−2,..27−Nは命令バスシステム222と各別のデ ータ処理ユニット24−1,24−2,..24−Nとの間に配置される。 拡張器230の第2組の出力ライン234は接続手段26に結合される。デー タ処理ユニット24−1,24−2,..24−Nは接続手段26を介して相互 接続される。接続手段26内において、第2組の出力ラインが各別のデータ選択 レジスタ262−1,262−2,..262−Nに結合される。データ選択レ ジスタ262−1,262−2,..262−Nは各別のデータセレクタ264 −1,264−2,..264−Nに結合される。データセレクタ264−1, 264−2,..264−Nは一組のデータバス266(各々mビット、本例で は例えばm=16ビットの幅を有する)と各別のデータ処理ユニット24−1, 24−2,..24−Nとの間に配置される。 データ処理ユニット24−1,24−2,..24−Nのうちの一つは例えば プログラム制御ユニット(PCU)であり、例えば分岐コマンドを実行するため にプログラムカウンタ20に接続され(図示せず)、プログラムカウンタの内容 が変更される。更に、プログラム制御ユニット24−1は条件付き分岐コマンド 用の状態情報を受信するために他のデータ処理ユニット24−2,..24−N への接続(図示せず)を具えている。更に、プログラム制御ユニット24−1は 命令の複数のコマンドフィールド間に分配しうるいわゆる”即値”データの転送 のために接続手段に接続される。 接続手段26は次のように動作する。拡張器230から発生する第2組の出力 ライン234上の制御信号は選択レジスタ262−1,262−2,..262 −Nに蓄積される。これらの制御信号はデータセレクタ264−1,264−2 ,..264−Nによりデータ処理ユニット24−1,24−2,..24−N 間に設定される接続を制御する。 データ処理ユニット、例えば24−2がその出力端子に、別のデータ処理ユニ ット、例えば24−Nにオペランドとして要求されたデータを発生する場合、送 信データ処理ユニット24−2の出力端子はデータセレクタ264−2を経てデ ータバス266の一つに接続される。このデータバスは次いで受信データ処理ユ ニット24−Nと関連するセレクタ264−Nを経て受信データ処理ユニット2 4−Nの入力端子に接続される。別のデータ処理ユニットの出力端子を同時に一 つのデータ処理ユニット、例えば24−1に接続することができ、また2つのデ ータ処理ユニット、例えば24−1及び24−2に接続することさえできる。 選択レジスタ262−1,262−2,..262−Nを使用する結果として 、制御信号を実際の制御前に拡張器230により命令サイクル内に発生させるこ とができる。従って、拡張器230がこれらの制御信号を形成するのに要する時 間がシステムの命令実行速度を低減することはない。 図3は拡張器230とデータ処理システムの一部に対し所望のごとく使用しう る一つのデータ処理ユニット24−1との間の接続の他の実施例を示す。図2に 対応する部分は図2と同一の番号で示す。図3は、図2に加えて、コマンドレジ スタ35も示し、このレジスタの出力端子はデータ処理ユニット24−1のコマ ンド入力端子への接続36を具えている。その結果、拡張器230から出る制御 信号の一部分をデータ処理ユニット24−1のコマンドとして直接使用すること ができる。例えば、データ輸送に密接に関連するコマンド(例えば、データ処理 ユニット24−1がメモリユニットである際におけるデータの読み出し時の”イ ンクリメントアドレスポインタレジスタ”)を発生させることができる。 図4は一つのデータ処理ユニット24−1の実施例を示す。この実施例は機能 ユニット441と、複数のレジスタ442、443、444を具える。機能ユニ ット441は命令入力端子に結合され、レジスタ442、443、444はデー タ端子と機能ユニットとの間に結合される。一例として、ここでは2つのレジス タ442、443が入力レジスタとして、一つのレジスタ444が出力レジスタ として示されている。機能ユニット441は動作中コマンドを実行し、このとき 入力レジスタ442、443からのデータを処理し、結果を出力レジスタ444 に記憶する。ライン266を経てレジスタ442、443まで及びレジスタ44 4から延在するデータ接続の組み合わせは制御信号を用いて独立に制御すること ができる。しかし、既約セットの組み合わせの使用を満足するため、拡張器23 0を簡単化することができる。 命令バスシステム222はデータ処理ユニット24−1,24−2,..24 −Nの数より少数のバスを具える。これは、同時に制御しうるデータ処理ユニッ ト24−1,24−2,..24−Nの数を性能を大きく低下することなく制限 することができるという認識に基づく。従って、プログラムメモリ22をワイド にしてすべてのデータ処理ユニット24−1,24−2,..24−Nに対する コマンドフィールド(各コマンドフィールドは一つのデータ処理ユニットに対す る各自のコマンドを形成する)を並列に出力しうるようにする必要はなく、少数 のコマンドフィールドを並列に出力するようにすれば十分である。命令セレクタ 27−1,27−2,..27−Nがこれらのコマンドフィールドを命令バスシ ステム222を経て、所定のクロックサイクルにおいて同時にアクティブにする 必要があるデータ処理ユニットへ供給する。命令セレクタ27−1,27−2, ..27−Nは他のデータ処理ユニット24−1,24−2,..24−Nに、 例えば慣例の如くNOP(ノーオペレーション)コマンドを供給する。 コマンドフィールドの供給は拡張器230により制御される。拡張器230は プログラムメモリ22から、プログラムメモリ22からの命令のどの部分をデー タ処理ユニット24−1,24−2,..24−Nのどの組合せに供給する必要 があるかを示す命令ワードの一部分を受信する。N個のデータ処理ユニット24 −1,24−2,..24−Nを同時に使用し、各々がP個の異なる制御信号に 応答する命令セレクタ27−1,27−2,..27−Nを具える場合には、全 部でPN個の制御信号が実現可能である。 しかし、適当なプログラマビリティに対しては、命令バスシステム222とデ ータ処理ユニット24−1,24−2,..24−Nとの間のPN個の実現可能 な接続の組合せの全てを選択可能にする必要があるわけではない。従って、拡張 器230は全実現可能な組合せの部分集合を構成する組合せのレパートリに対す る制御信号のみを出力する。必要な変更を加えて、このレパートリは上述した意 味で既約でもあるため、このレパートリはPNより少数の制御信号を含む。プロ グラムメモリ22から拡張器230へ供給される命令の一部分に基づいて一時に 一つの制御信号がレパートリから選択される。この制御信号はレジスタ25−1 ,25−2,..25−Nにロードされ、命令セレクタ27−1,27−2,. .27−Nに供給される。 例えば、所定のデータ処理ユニットの出力端子が接続されるバスを決定する制 御フィールドのビットが別のデータ処理ユニットの入力端子が接続されるバスも 決定することもできる。 また、命令セレクタ27−1,27−2,..27−Nにより設定しうる接続 とデータセレクタ264−1,264−2,..264−Nにより設定しうる接 続の独立制御も必要ないことが確かめられた。この事実を利用して拡張器230 を簡単化し、この拡張器がプログラムメモリ22から受信される命令に応答して 、命令セレクタ27−1,27−2,..27−Nに対する制御信号とデータセ レクタ264−1,264−2,..264−Nに対する制御信号の限定された 数の組合せのみを供給しうるようにする。 従って、データセレクタ264−1,264−2,..264−N及び命令セ レクタ27−1,27−2,..27−Nに対し発生しうる制御信号の集合はデ ータ選択と命令選択の積に減らすことはできない。これに関連して、データ選択 と命令選択の積への可約性は次のように定義される。データセレクタ264−1 ,264−2,..264−N及び命令セレクタ27−1,27−2,..27 −Nに対し発生しうる制御信号の集合を複数の部分集合に分割し、各部分集合に おいて命令セレクタ27−1,27−2,..27−Nの制御を同一にする。次 に、部分集合相互の写像が、互の写像である各対の制御信号がデータセレクタ2 64−1,264−2,..264−Nの同一の制御を生ずるように存在するか 検査する。このような写像が存在しない場合には、制御信号の集合はデータ及び 命令選択の積に減らすことはできない。 この場合には、BI個の異なる制御信号を命令セレクタ27−1,27−2, ..27−Nに対し発生することができ、且つBD個の制御信号をデータセレク タ264−1,264−2,..264−Nに対し発生することができれば、こ れらの制御信号のBI×BDより少数の組合せを発生させることができる。 また、図4のコマンドレジスタ35にロードされたコマンドをデータセレクテ 264−1,264−2,..264−Nにより設定されたデータ接続と独立に 制御する必要もないことが確かめられた。この事実も利用して拡張器230を、 プログラムメモリ22から受信される命令に応答してコマンドレジスタ35に対 するコマンドとデータセレクテ264−1,264−2,..264−Nに対す る制御信号の限定された数の組合せのみを供給しうるように簡単化する。 図面及び関連する説明は本発明の特定の実施例に関するものであり、本発明は これに限定されるものではないこと明らかである。例えば、種々のバス及び種々 のデータ処理ユニットに対する種々の信号接続をどこでも同一番号のラインで表 しているのは純粋に説明のためであり、実際にはこれらの番号はバスごとに及び データ処理ユニットごとに相違させることができる。 更に、拡張器18、230は上述のように各メモリ位置に異なる制御信号が蓄 積されたメモリとして構成することができる。この場合には、プログラムメモリ 12、22は拡張器18、230内のメモリに対するアドレスを供給し、拡張器 18、230内のメモリが制御信号を読み出されたデータとして供給する(拡張 器18、230内のメモリはその内容の変更の要非に応じてRAM又はEPRO Mとすることができる)。メモリの代わりに、拡張器18、230は同一の入力 /出力関係を有する特別設計の論理回路を含むものとすることができる。一般に 、この場合には殆どの制御信号に対し多くの選択信号がイナクティブになるため 、この回路の構成はROMバージョンより小形にすることができる。更に、例え ばデータセレクタ264−1,264−2,..264−Nの機能はデータ処理 ユニット24−1,24−2,..24−Nにおいて実現することができる。 プログラムメモリ12、22に格納されるプログラムは人間のプログラマが書 き込むことができるが、この目的用に構成されたコンパイラを用いることもでき る。このコンパイラはデータ処理ユニット24−1,24−2,..24−Nに 必要とされる命令及びこれらのデータ処理ユニット間の所要の接続の計画を行う 。拡張器18、230を制御しうる接続が予め定められている場合には、コンパ イラは計画された接続を実行するためにこれらの接続の一つを選択する必要があ り、且つ拡張器18、230を制御する関連コードをプログラムに含める必要が ある。 計画された接続が使用可能な接続の部分集合内に得られない場合には、プログ ラムの再整理が必要である。例えば、コンパイラは所定のデータ処理ユニットに よる命令の実行を1クロックサイクルだけ延期することができる。このとき所要 のオペランドは1クロックサイクル中このオペランドを発生するデータ処理ユニ ット内のレジスタに記憶されたままになる。使用可能な接続の部分集合において データ処理ユニット間の少なくともすべてに1対1接続を含めるのが望ましい。 この場合には、全てのプログラムを、必要に応じ後に実行すべき命令により実行 することが可能になる。これは低速プログラムを生ずる恐れがある。しかし、実 際にはこれらの低速化は使用しうる接続を適切に選択することにより殆ど目立た なくなることが確かめられた。 しかし、コンパイラ自身が拡張器18、230により接続のどの部分集合を設 定しうるかを決定するようにすることもできる。この目的のために、コンパイリ ング中にコンパイラは必要とされる接続の記録を保持し、拡張器がこれらの接続 を正確に設定しうるようにする。この場合にはコンパイラが各タイプの接続が何 回発生したか計数することもできる。極めて稀にしか発生しない接続のタイプは その後にプログラムの再整理により除去することができるため、拡張器を簡単化 するとともにプログラムメモリを縮小することができる。DETAILED DESCRIPTION OF THE INVENTION A data processing system comprising a data processing unit and an extender. The present invention comprises a plurality of data processing units, each data processing unit having a plurality of data terminals for addressing an instruction word. A program counter coupled to the program memory means, the instruction word including a plurality of command fields, the program memory means coupled to the data processing unit for providing each command field to a separate data processing unit. A plurality of connecting elements for connecting different terminals, each connecting element physically connecting at least two input terminals and at least two output terminals of said data terminals, these connecting elements being the instruction word. Coupled to said program memory means for receiving control signals contained therein. , The control signal is in this relates to data processing systems for performing selection for either set Own data connection between the which output terminal and which input terminal by a connection element. A data processing system of this kind is known from US Pat. No. 5,280,620. Examples of data processing units are arithmetic logic units (ALUs), multipliers, data memories with autonomous addressing modes, input / output devices, etc. The program memory means of this data processing system comprises a plurality of sub memories for commands to different data processing units. At each instruction cycle, the program counter generates a new address, which causes the commands to be read in parallel from the various sub-memory. Therefore, the commands executed by the various data processing units are independent of each other, and parallel processing between the various data processing units can be fully utilized for writing the program. Such an architecture is also referred to as a Very Long Instruction Word (VLIW) architecture, since a large number of separate commands are required for different data processing units in each instruction cycle. It is necessary to transfer data between various data processing units during operation. To this end, the system disclosed in said publication comprises a connecting element in the form of a data bus which is controllably connected at the point of intersection with a line extending to the data terminals of the individual data processing units. . The control codes for these intersections are stored in the sub-memory together with the commands for the data processing unit. In each instruction cycle, each sub memory outputs these control codes for intersection control. The program memory occupies a considerable amount of space in the integrated circuit, especially if the program contains a large number of instructions, which together with a large number of data processing units. It is an object of the invention to reduce the memory space required for programming. The data processing system according to the invention is such that the instruction word comprises a control field and in the coupling path between the connection element and the program memory means, under the control of the control field, at least a first of the control elements. Comprising an extender for selecting the own data connection set by the one and the own data connection set by the second together, the extender having a plurality of possible realizations for the own data connection of the first connection element Providing a first selection and, for each feasible first selection, only another respective second selection group (which may be empty) for the data connection of the second connecting element, and at least two respective different selections. It is characterized in that the second selection group is different than required for limiting consistent data connections. Thus, via the extender, a single control field selects the data connection established by the various connecting elements, so that it is necessary to divide the control field into subfields for independent selection in the various connecting elements. There is no. For example, if the data connection from the memory to the input register of the ALU is selected for the first connection element, a group of connections from or to other registers of the ALU can be selected for the second connection element. However, if the connection between the output register of the ALU and the output unit is selected for the first connection element, the selectable connection group for the second connection element is empty, so Connection is not possible. This kind of restriction is necessary to exclude conflicting combinations of data connections, for example meaningless combinations where the first and second connection elements set up data connections to the same input terminal, regardless of the program being executed. It is more remarkable than it is done. The invention is based on the fact that coherence is found between the various data connections that occur during the execution of a particular program for a set of cooperating data processing units. It has been determined that not all possible data connection configurations occur in one complete program. On the other hand, depending on the type of program (for example, the type including a filtering process or the type including a fast Fourier transform), a specific limited connection configuration repertoire occurs. Thus, this repertoire is capable of accepting limitations without essentially limiting the degree to which parallelism can be utilized in a particular application for writing programs to the system. Although the data processing system is free to control the various data processing units independently of each other, for systems that execute only certain types of programs, the data connections of the various data processing units may be different from each other. It also does not need to be independently controllable. This is especially true for "built-in" signal processors specially designed for a single particular type of device, such as a radio receiver or decoder device. The present invention utilizes the above-described idea and does not include the connection for each data processing unit separately in the instruction, but instead uses a single control field of the instruction to implement a limited repertoire of connection configurations. One of the choices. In this case, depending on which data connection is set up by the first connection element, the control field needs to select from only a part of the physically feasible group of data connections to control the second connection element. Just do. As a result, the bit-structured control field can be shortened without significantly reducing the degree of parallel processing that can be realized by the program. Note that this is a result of the use of a given type of program, not the use of a limited number of different commands for different data processing units. Therefore, the limitation of connection repertoire is also significant in "pipeline" systems. Pipelining means that the data transferred through the connection element during a given instruction cycle is that generated during the previous instruction cycle and / or that is processed during the subsequent instruction cycle. In this case, each separate command field of the instruction is associated with data other than the data whose transfer is controlled by the control field of the same instruction. In these environments, the control field of commands remains attractive to use to select one of the limited repertoires of feasible connections. In one embodiment of the data processing system of the present invention, the program memory means is connected to the data processing unit via a connecting means having a control input terminal, and the extender is connected to the control means by expanding the control field. Control signal is supplied to the control input terminal thereof to control which command field in the instruction word is supplied to which data processing unit, and Each first selection yielding only another respective selection group (possibly empty) to said other control signal, at least two respective other selection groups being different from each other And In this way, the number of bits required per instruction can be further restricted without having to impose such a large limit that parallel processing can be used in a particular type of program. The use of the connecting means for controlling which part of an instruction is executed by which data processing unit, under the control of the format selection field of the instruction word, is itself described in "CompEuro 1992 Proceedings, Computer System and Softeare Egineering", pp. 3 5-40, “IEEE Computer Society Press”, Los Alamitos, California A. It is known from De Gloria's paper “A Programmable Instruction Format Extension to V LIW Architecture”. De Gloria also shows that the format selection field controls the connection means via an extender that provides a limited number of connection configurations for instruction transfer between the memory and the data processing unit. However, De Gloria does not suggest a combination of connection choices for data transfers and instruction transfers, as well as an extender that selects a limited number of connection configurations for data transfers between various data processing units. I haven't. In one embodiment of the data processing system of the present invention, the extender is coupled to at least one of the data processing units to form a control command for at least one of the data processing units under control of the control field. , The extender provides only for each other another selectable control command group (which may be empty) for each first selection, at least two each other other selectable control command group for each other Characterized by being different. In this way, in a part of the data processing unit, command execution is controlled at least partially with the connecting element via the extender. Thus, it has been determined that the required number of bits per instruction can be further limited without essentially limiting the extent to which parallelism can be used in a particular type of program. In one embodiment of the data processing system of the present invention, at least one of the data processing units comprises first and second registers, each register physically connecting to the connection element for supplying data via a separate data terminal. Combined, the first selection includes a plurality of data connections to a first register, and each of the second separate selection groups includes a plurality of data connections to a second register. In this way, the invention can also be used for data processing units having registers that can be loaded simultaneously independently. In another embodiment of the data processing system of the present invention, a register for storing the control signal during the formation of the next control signal and transmitting the control signal to the connection element is provided in the coupling path between the connection element and the program memory means. It is characterized by being This register provides pipelining so that the delay due to the insertion of the extender between the program memory means and the connecting means does not result in a reduction in the maximum usable instruction frequency. However, in this case, the control field of the instruction may be used in an instruction cycle other than the command field of the instruction. It has been determined that this does not inherently limit the extent to which parallelism can be used in a particular type of program. The reason is that the advantages of the present invention result from using a given type of program, not from using only a limited number of commands to the data processing unit. These and other features of the invention will be apparent from the description of the embodiments set forth below. In the drawings, FIG. 1 shows a first embodiment of the data processing system of the present invention, FIG. 2 shows a second embodiment of the data processing system of the present invention, and FIG. 3 shows between the extender and the data processing unit. FIG. 4 shows an example of the connection, and FIG. 4 shows an example of the data processing unit. FIG. 1 shows a first embodiment of the data processing system of the present invention. The system comprises a program counter 10, the output terminal of which is coupled to the address input terminal of a program memory 12. Program memory 12 has a plurality of locations for storing program instructions. The program memory 12 has a plurality of (four in one example) output terminals, and these output terminals have a plurality of different data processing units 14-1, 14-2 ,. . . 14-N (three of which are shown as an example) and a dilator 18. The data processing units 14-1, 14-2 ,. . 14-N are interconnected by connection means 16. The expander 18 has an output terminal coupled to the connecting means 16. As the data processing unit, for example, an ALU (arithmetic and logic unit) type, multiplier type or memory type unit can be used. One or more units of each type may be included if desired. Each data processing unit 14-1, 14-2 ,. . 14-N has multiple input and output terminals for operands and results, the number of which depends on the type. For example, a multiplier type unit usually has two input terminals for the operand and one output terminal for the resulting product, whereas a memory type unit has only a data input terminal and a data output terminal (memory Receives an address as part of the instruction, or the memory itself comprises an address register that is written to in another instruction cycle). These input terminals and output terminals are connected to the connecting means 16. For simplicity of illustration, the input and output terminals of all data processing units are shown in FIG. 1 by a single double-headed arrow, regardless of their number. During operation, program counter 10 generates sequential addresses for program memory 12 in successive instruction cycles. In response to each address, program memory 12 reads the instruction word stored at the location specified by this address. Program memory 12 outputs the various fields of this instruction. These fields are used by the various data processing units 14-1, 14-2 ,. . It comprises a command field for 14-N and a control field for extender 18. The data processing units 14-1, 14-2 ,. . Examples of the contents of the command field for 14-N are "ADD" or "SUBTRACT" codes for ALUs, and "LOAD" and "STORE" codes for memory units. Therefore, this system is of the "VLIW" (Very Large Instruction Word) type. In the programming of such a system before the execution of the program, which process, which data processing unit 14-1, 14-2 ,. . 14-N determines if it needs to be performed. Then, for each instruction cycle, an instruction word is formed that contains all the command fields for the operations to be performed during that cycle. The instruction word thus formed is stored in the program memory 12 for subsequent execution. The formation of the instruction word can be accomplished manually or, if desired, by the known VLIW copier technology. Depending on the contents of the command field, the data processing units 14-1, 14-2 ,. . 14-N receive and / or generate data at their input and output terminals. The data processing units 14-1, 14-2 ,. . The data generated by 14-N act as an input to another data processing unit via connection means 16. The connection established by this connecting means is controlled under the control of the control field supplied to the dilator 18. The extender 18 is configured as a memory for storing a repertoire of control signals for the connection means 16, for example. The address input terminal 17 of this memory is coupled to the output terminal of the program memory 12 for receiving the control field of the instruction word, the output terminal of this memory being coupled to the control input terminal 19 of the connecting means 16 to this control input terminal. Provides control signals for addressed memory locations. Since the control field has fewer bits than the control signal, the control field occupies less space in program memory than is needed to store all possible control signals. The repertoire of control signals that can be generated thus constitutes a subset of the set of all feasible control signals that function at the control input 19 of the connection means 16. In this case, the output terminal of the program memory 12 is directly coupled to the control input terminal 19 of the connecting means 16, and the data processing units 14-1, 14-2 ,. . It should be distinguished from the case where the connection of 14-N can be controlled independently of the connection of other data processing units (two data processing units source data to the same input terminal of another data processing unit). Ignore inconsistencies such as when acting as). In the case of independent control, the set of control signals is mathematically reducible as follows. This reducibility is defined as follows. Taking one of the plurality of data processing units, and the set of control signals into a plurality of subsets, the connection set by said one data processing unit in each subset is the same, but these connections are Divide so that each subset is different. Then, the mapping of the subsets to each other is checked to see if the control signals of each pair which are mappings of each other exist between other data processing units so as to generate the same connection as the one data processing unit (contradiction). Is ignored). When such a mapping exists, the set of control signals is said to be reducible for the one data processing unit. A set of possible control signals is said to be reducible if the set of possible control signals is reducible to each of the data processing units. When using the extender 18 in accordance with the present invention, the set of control signals that can be generated is irreducible. This constitutes a limitation of the freedom of control of the connecting means 16. However, it was confirmed that even a fairly large limit has little effect on the performance of the data processing system. FIG. 2 shows a second embodiment of the data processing system of the present invention. This embodiment also comprises a program counter 20 coupled to the program memory 22. The data output terminals of the program memory 22 are connected on the one hand to a system 222 of instruction buses each having a width of n bits (for example n = 5 in this example) and on the other hand t bits (for example t = 5 in this example). Coupled to the input terminal of a dilator 230 having a width of. The dilator comprises first and second sets of output lines 232,234. Each output line of the first set 232 has a width of k bits (for example, k = 3 in this example), and each output line of the second set 234 has a width of s bits (for example, s = 4 in this example). . The output lines of the first set 232 are different instruction selection registers 25-1, 25-2 ,. . Bound to 25-N. Instruction selection registers 25-1, 25-2 ,. . 25-N are instruction selectors 27-1, 27-2 ,. . Bound to 27-N. Instruction selectors 27-1, 27-2 ,. . 27-N includes an instruction bus system 222 and separate data processing units 24-1, 24-2 ,. . 24-N. The second set of output lines 234 of the dilator 230 is coupled to the connecting means 26. Data processing units 24-1, 24-2 ,. . 24-N are interconnected via connection means 26. In the connection means 26, the second set of output lines are connected to different data selection registers 262-1, 262-2 ,. . 262-N. The data selection registers 262-1, 262-2 ,. . 262-N are data selectors 264-1, 264-2 ,. . 264-N. Data selectors 264-1, 264-2 ,. . 264-N includes a set of data buses 266 (each having a width of m bits, in this example, m = 16 bits) and a separate data processing unit 24-1, 24-2 ,. . 24-N. Data processing units 24-1, 24-2 ,. . One of the 24-N is, for example, a program control unit (PCU), which is connected to the program counter 20 (not shown) for executing a branch command, for example, and the contents of the program counter are changed. In addition, the program control unit 24-1 receives the status information for the conditional branch command from the other data processing units 24-2 ,. . A connection to the 24-N (not shown) is provided. Furthermore, the program control unit 24-1 is connected to the connection means for the transfer of so-called "immediate" data which can be distributed between the command fields of the instruction. The connecting means 26 operates as follows. The control signals on the second set of output lines 234 generated by the extender 230 are selected registers 262-1, 262-2 ,. . 262-N. These control signals are sent to the data selectors 264-1, 264-2 ,. . Data processing units 24-1, 24-2 ,. . Controls the connection established between 24-N. If a data processing unit, eg 24-2, produces at its output terminal the data requested as an operand to another data processing unit, eg 24-N, the output terminal of the transmit data processing unit 24-2 will be the data selector 264. -2 to be connected to one of the data buses 266. This data bus is then connected to the input terminal of the received data processing unit 24-N via the selector 264-N associated with the received data processing unit 24-N. The output terminals of another data processing unit can be connected to one data processing unit, for example 24-1, at the same time, or even to two data processing units, for example 24-1 and 24-2. The selection registers 262-1, 262-2 ,. . As a result of using 262-N, control signals can be generated within the instruction cycle by extender 230 prior to actual control. Therefore, the time taken by extender 230 to generate these control signals does not reduce the instruction execution speed of the system. FIG. 3 illustrates another embodiment of the connection between the extender 230 and one data processing unit 24-1 which may be used as desired for a portion of the data processing system. Portions corresponding to FIG. 2 are indicated by the same numbers as in FIG. FIG. 3, in addition to FIG. 2, also shows a command register 35, the output terminal of which comprises a connection 36 to the command input terminal of the data processing unit 24-1. As a result, a portion of the control signal emanating from extender 230 can be used directly as a command for data processing unit 24-1. For example, a command closely related to data transportation (for example, "increment address pointer register" when reading data when the data processing unit 24-1 is a memory unit) can be generated. FIG. 4 shows an embodiment of one data processing unit 24-1. This embodiment comprises a functional unit 441 and a plurality of registers 442, 443, 444. Functional unit 441 is coupled to the instruction input terminal and registers 442, 443, 444 are coupled between the data terminal and the functional unit. As an example, here, two registers 442 and 443 are shown as input registers and one register 444 is shown as an output register. The functional unit 441 executes the operating command, at this time processing the data from the input registers 442, 443 and storing the result in the output register 444. The combination of data connections extending to and from registers 442, 443 via line 266 can be independently controlled using control signals. However, the extender 230 can be simplified because it satisfies the use of combinations of irreducible sets. The instruction bus system 222 includes data processing units 24-1, 24-2 ,. . Fewer buses than the number of 24-N. This includes data processing units 24-1, 24-2 ,. . It is based on the realization that the number of 24-N can be limited without significant performance degradation. Therefore, the program memory 22 is widened and all the data processing units 24-1, 24-2 ,. . It is not necessary to be able to output the command fields for 24-N (each command field forms its own command for one data processing unit) in parallel, but to output a small number of command fields in parallel. It is enough. Instruction selectors 27-1, 27-2 ,. . 27-N feeds these command fields via the instruction bus system 222 to the data processing units that need to be active at the same time in a given clock cycle. Instruction selectors 27-1, 27-2 ,. . 27-N are other data processing units 24-1, 24-2 ,. . The 24-N is supplied with a NOP (no operation) command, for example, as is customary. The supply of the command field is controlled by the extender 230. The extender 230 reads from the program memory 22 which part of the instruction from the program memory 22 the data processing units 24-1, 24-2 ,. . Receive a portion of the instruction word indicating which combination of 24-N needs to be supplied. The N data processing units 24-1, 24-2 ,. . 24-N are used simultaneously and each responds to P different control signals by an instruction selector 27-1, 27-2 ,. . When equipped with 27-N, P in total N Individual control signals are feasible. However, for proper programmability, the instruction bus system 222 and the data processing units 24-1, 24-2 ,. . P between 24-N N Not all individual feasible connection combinations need to be selectable. Therefore, the extender 230 outputs only control signals for the repertoire of combinations that make up a subset of all feasible combinations. With the necessary changes, this repertoire is also irreducible in the sense above, so this repertoire is P N Includes fewer control signals. One control signal is selected from the repertoire at a time based on a portion of the instructions supplied from program memory 22 to extender 230. This control signal is sent to the registers 25-1, 25-2 ,. . 25-N and instruction selectors 27-1, 27-2 ,. . 27-N. For example, a bit in the control field that determines the bus to which the output terminal of a given data processing unit is connected may also determine the bus to which the input terminal of another data processing unit is connected. Also, the instruction selectors 27-1, 27-2 ,. . 27-N and data selectors 264-1, 264-2 ,. . It was determined that no independent control of the connection, which could be set up by H.264-N, is also necessary. This fact is used to simplify the extender 230, which responds to the instructions received from the program memory 22 by the instruction selectors 27-1, 27-2 ,. . 27-N and data selectors 264-1, 264-2 ,. . Only a limited number of combinations of control signals for H.264-N can be provided. Therefore, the data selectors 264-1, 264-2 ,. . 264-N and instruction selectors 27-1, 27-2 ,. . The set of control signals that can occur for 27-N cannot be reduced to the product of data selection and instruction selection. In this context, the reducibility to the product of data selection and instruction selection is defined as: Data selectors 264-1, 264-2 ,. . 264-N and instruction selectors 27-1, 27-2 ,. . 27-N, the set of control signals that can be generated is divided into a plurality of subsets, and the instruction selectors 27-1, 27-2 ,. . Make the control of 27-N the same. Next, the mappings of the subsets are mappings of each other, and the control signals of each pair are data selectors 264-1, 264-2 ,. . Check for existence to produce the same control of H.264-N. In the absence of such a mapping, the set of control signals cannot be reduced to the product of data and instruction selection. In this case, BI different control signals are sent to the instruction selectors 27-1, 27-2 ,. . 27-N, and BD control signals can be generated for the data selectors 264-1, 264-2 ,. . If it can be generated for H.264-N, fewer than BI × BD combinations of these control signals can be generated. The commands loaded in the command register 35 of FIG. . It has been determined that there is no need to control the data connection established by H.264-N independently. Also utilizing this fact, the extender 230 is responsive to the command received from the program memory 22 to output the command and data select 264-1, 264-2 ,. . It is simplified so that only a limited number of combinations of control signals for 264-N can be provided. It will be apparent that the drawings and the related description relate to specific embodiments of the invention and the invention is not limited thereto. For example, it is purely descriptive that different signal connections to different buses and different data processing units are represented everywhere by the same numbered line, in practice these numbers are per bus and data processing unit. It can be different for each. Further, the extenders 18, 230 can be configured as memories with different control signals stored in each memory location as described above. In this case, the program memory 12, 22 supplies an address to the memory in the extender 18, 230, and the memory in the extender 18, 230 supplies the control signal as the read data (the extender 18, 230). The memory within 230 can be RAM or EPRO M depending on the need to change its contents). Instead of memory, extenders 18, 230 may include specially designed logic circuits that have the same input / output relationship. In general, in this case many selection signals are inactive for most control signals, so that the configuration of this circuit can be made smaller than the ROM version. Further, for example, the data selectors 264-1, 264-2 ,. . The functions of the data processing units 24-1, 24-2 ,. . 24-N. The programs stored in the program memories 12 and 22 can be written by a human programmer, but a compiler configured for this purpose can also be used. This compiler includes data processing units 24-1, 24-2 ,. . Plan the required instructions for 24-N and the required connections between these data processing units. If the connections that can control the extender 18, 230 are predetermined, the compiler must select one of these connections to perform the planned connection, and the extender 18, 230 You must include the relevant code in your program to control the. Reorganization of the program is necessary if the planned connections are not available within the subset of available connections. For example, the compiler may defer execution of an instruction by a given data processing unit by one clock cycle. The required operand then remains stored in the register in the data processing unit that generated this operand for one clock cycle. It is desirable to include one-to-one connections in at least all of the data processing units in the subset of available connections. In this case, it becomes possible to execute all the programs by an instruction to be executed later if necessary. This can result in slow programs. However, in practice it has been determined that these slowdowns are almost unnoticeable by proper selection of available connections. However, it is also possible for the compiler itself to determine which subset of connections can be set by the extenders 18,230. For this purpose, the compiler keeps a record of the required connections during compiling so that the extender can set them correctly. In this case, the compiler can also count how many times each type of connection has occurred. Connection types that occur very rarely can then be removed by reordering the program, thus simplifying the extender and reducing the program memory.

Claims (1)

【特許請求の範囲】 1.複数のデータ処理ユニットを具え、各データ処理ユニットは複数のデータ端 子を有し、 命令ワードをアドレスするためにプログラムメモリ手段に結合されたプログ ラムカウンタを具え、前記命令ワードは複数のコマンドフィールドを含み、前記 プログラムメモリ手段は各コマンドフィールドを各別のデータ処理ユニットに供 給するために前記データ処理ユニットに結合され、 異なる端子を接続する複数の接続素子を具え、各接続素子は前記データ端子 のうちの少なくとも2つの入力端子と少なくとも2つの出力端子とを物理的に接 続し、これらの接続素子は命令ワード内に含まれる制御信号を受信するために前 記プログラムメモリ手段に結合され、前記制御信号が接続素子によりどの入力端 子とどの出力端子との間にオウンデータ接続を設定するかについての選択を行う データ処理システムにおいて、前記命令ワードは制御フィールドを具え、且つ前 記接続素子とプログラムメモリ手段との結合路内に、前記制御フィールドの制御 の下で、少なくとも前記制御素子のうちの第1のものにより設定されるオウンデ ータ接続と第2のものとにより設定されるオウンデータ接続を一緒に選択する拡 張器を具え、該拡張器が第1接続素子のオウンデータ接続に対し複数の実現可能 な第1選択をもたらすとともに、実現可能な各第1選択ごとに第2接続素子のデ ータ接続に対し各別の第2選択群(空のこともあり得る)のみをもたらし、少な くとも2つの各別の第2選択群が無矛盾データ接続の限定に必要とされる以上に 相違していることを特徴とするデータ処理システム。 2.前記プログラムメモリ手段が制御入力端子を有する接続手段を経て前記デー タ処理ユニットに接続され、且つ前記拡張器が前記制御フィールドの拡張により 前記制御手段に対する他の制御信号を選択し、前記他の制御信号をその制御入力 端子に供給して、命令ワード内のどのコマンドフィールドをどのデータ処理ユニ ットに供給するか制御し、且つ前記拡張器が実現可能な各第1選択ごとに前記他 の制御信号に対し各別の他の選択群(空のこともあり得る)のみをもたらし、少 なくとも2つの各別の他の選択群が互いに相違していることを特徴 とする請求の範囲1記載のデータ処理システム。 3.前記制御フィールドの制御の下で前記データ処理ユニットの少なくとも一つ に対する制御コマンドを形成するために前記拡張器が前記データ処理ユニットの 少なくとも一つに結合され、前記拡張器が各第1選択ごとに各別の他の選択可能 な制御コマンド群(空のこともあり得る)のみをもたらし、少なくとも2つの各 別の他の選択可能な制御コマンド群が互いに相違していることを特徴とする請求 の範囲1又は2記載のデータ処理システム。 4.前記データ処理ユニットの少なくとも一つは第1及び第2レジスタを具え、 各レジスタは各別のデータ端子を経てデータを供給するために前記接続素子に物 理的に結合され、前記第1選択は第1レジスタへの複数のデータ接続を含み、前 記各別の第2選択群は第2レジスタへの複数のデータ接続を含むことを特徴とす る請求の範囲1記載のデータ処理システム。 5.前記接続素子とプログラムメモリ手段との結合路内に、前記制御信号を、次 の制御信号の形成中蓄積し前記接続素子に伝送するレジスタを具えていることを 特徴とする請求の範囲1〜4のいづれかに記載のデータ処理システム。[Claims] 1. It has multiple data processing units, each data processing unit Have a child,     A program coupled to the program memory means for addressing instruction words A ram counter, wherein the instruction word includes a plurality of command fields, The program memory means provides each command field to a different data processing unit. Coupled to the data processing unit for feeding,     It comprises a plurality of connection elements for connecting different terminals, each connection element being a data terminal Physically connect at least two input terminals and at least two output terminals of the And these connection elements are connected to receive the control signals contained in the instruction word. Which input terminal is coupled to the program memory means and the control signal is connected by a connecting element. Make a selection as to which own data connection is to be set between the child and which output terminal In a data processing system, the instruction word comprises a control field and The control field is controlled in the coupling path between the connection element and the program memory means. Under at least a first one of the control elements Extension to select together own data connection established by data connection and second one A dilator is provided, and the dilator has a plurality of possibilities for own data connection of the first connecting element. And a second connection element design for each feasible first selection. Only a second group of choices (possibly empty) for each data connection, More than at least two separate second choice groups are needed to limit consistent data connections A data processing system characterized by being different. 2. The program memory means is connected to the control input terminal and is connected to the data memory. Connected to the data processing unit, and the extender expands the control field. Select another control signal for the control means and input the other control signal to its control input Which command field in the instruction word is used for which data processing unit. Or not for each first selection that the extender can implement. For each other's control signal only another possible selection group (which may be empty) Characterized by at least two other distinct selection groups being different from each other The data processing system according to claim 1. 3. At least one of said data processing units under the control of said control field The extender of the data processing unit to form a control command for Coupled to at least one, the dilator being selectable for each other for each first selection Only a few control commands (which may be empty) and each of at least two Claims characterized in that different other selectable control commands are different from each other A data processing system according to claim 1 or 2. 4. At least one of the data processing units comprises first and second registers, Each register is connected to the connecting element to supply data via a separate data terminal. Logically coupled, the first selection includes a plurality of data connections to a first register, Note that each separate second selection group includes a plurality of data connections to the second register. The data processing system according to claim 1. 5. In the coupling path between the connection element and the program memory means, the control signal is Of the control signal is stored and transmitted to the connecting element. The data processing system according to any one of claims 1 to 4, which is characterized.
JP51004296A 1994-09-15 1995-09-06 Data processing system comprising a data processing unit and an expander Expired - Fee Related JP3638284B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NL94202663.4 1994-09-15
NL9420266 1994-09-15
PCT/IB1995/000738 WO1996008777A1 (en) 1994-09-15 1995-09-06 A data processing system comprising data processing units and an expander

Publications (2)

Publication Number Publication Date
JPH09505920A true JPH09505920A (en) 1997-06-10
JP3638284B2 JP3638284B2 (en) 2005-04-13

Family

ID=19865177

Family Applications (3)

Application Number Title Priority Date Filing Date
JP8510043A Pending JPH09505966A (en) 1994-09-15 1995-09-06 Delay unit and transmission system using such delay unit
JP51004296A Expired - Fee Related JP3638284B2 (en) 1994-09-15 1995-09-06 Data processing system comprising a data processing unit and an expander
JP8510041A Pending JPH09505718A (en) 1994-09-15 1995-09-06 Optical communication device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP8510043A Pending JPH09505966A (en) 1994-09-15 1995-09-06 Delay unit and transmission system using such delay unit

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP8510041A Pending JPH09505718A (en) 1994-09-15 1995-09-06 Optical communication device

Country Status (1)

Country Link
JP (3) JPH09505966A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5111082B2 (en) * 2007-12-07 2012-12-26 アンリツ株式会社 Frame delay generator

Also Published As

Publication number Publication date
JPH09505718A (en) 1997-06-03
JP3638284B2 (en) 2005-04-13
JPH09505966A (en) 1997-06-10

Similar Documents

Publication Publication Date Title
US8069337B2 (en) Methods and apparatus for dynamic instruction controlled reconfigurable register file
US5794067A (en) Digital signal processing device
US6961841B2 (en) Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US5287532A (en) Processor elements having multi-byte structure shift register for shifting data either byte wise or bit wise with single-bit output formed at bit positions thereof spaced by one byte
US4984151A (en) Flexible, next-address generation microprogram sequencer
US5175862A (en) Method and apparatus for a special purpose arithmetic boolean unit
US4878174A (en) Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
JP2502960B2 (en) Microcomputer, and method of operating microcomputer and microcomputer network
US7822881B2 (en) Process for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US5680597A (en) System with flexible local control for modifying same instruction partially in different processor of a SIMD computer system to execute dissimilar sequences of instructions
US20090153188A1 (en) PROCESS FOR AUTOMATIC DYNAMIC RELOADING OF DATA FLOW PROCESSORS (DFPs) AND UNITS WITH TWO- OR THREE-DIMENSIONAL PROGRAMMABLE CELL ARCHITECTURES (FPGAs, DPGAs AND THE LIKE)
US5752071A (en) Function coprocessor
JP4657455B2 (en) Data processor
JP2571757B2 (en) Signal processing device and use of the device
US5297242A (en) DMA controller performing data transfer by 2-bus cycle transfer manner
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
CA2403675A1 (en) Enhanced memory algorithmic processor architecture for multiprocessor computer systems
KR880001170B1 (en) Microprocessor
US4045782A (en) Microprogrammed processor system having external memory
GB2417111A (en) A register file memory with local addressing in a SIMD parallel processor
JPH0432426B2 (en)
US6694385B1 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
US5680632A (en) Method for providing an extensible register in the first and second data processing systems
US6327648B1 (en) Multiprocessor system for digital signal processing
US5724535A (en) Data processing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040607

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041027

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: 20041221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050111

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: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

S303 Written request for registration of pledge or change of pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316304

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S303 Written request for registration of pledge or change of pledge

Free format text: JAPANESE INTERMEDIATE CODE: R316304

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees