JP3638284B2 - データ処理ユニット及び拡張器を具えるデータ処理システム - Google Patents
データ処理ユニット及び拡張器を具えるデータ処理システム Download PDFInfo
- Publication number
- JP3638284B2 JP3638284B2 JP51004296A JP51004296A JP3638284B2 JP 3638284 B2 JP3638284 B2 JP 3638284B2 JP 51004296 A JP51004296 A JP 51004296A JP 51004296 A JP51004296 A JP 51004296A JP 3638284 B2 JP3638284 B2 JP 3638284B2
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- data
- control
- connection
- selection
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Advance Control (AREA)
- Optical Communication System (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
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命令当たりの所要ビット数を更に制限することができる。
命令ワードのフォーマット選択フィールドの制御の下で、命令のどの部分をどのデータ処理ユニットにより実行するかを制御する接続手段の使用自体は、“CompEuro 1992 Proceedings,Computer System and Softeare Egineering",pp.35−40,“IEEE Computer Society Press",Los Alamitos,Californiaに掲載されたA.De Gloriaの論文“A Programmable Instruction Format Extension to VLIW 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を経て受信データ処理ユニット24−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まで及びレジスタ444から延在するデータ接続の組み合わせは制御信号を用いて独立に制御することができる。しかし、既約セットの組み合わせの使用を満足するため、拡張器230を簡単化することができる。
命令バスシステム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個の制御信号が実現可能である。
しかし、適当なプログラマビリティに対しては、命令バスシステム22とデータ処理ユニット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の制御を同一にする。次に、部分集合相互の写像が、互の写像である各対の制御信号がデータセレクタ264−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又はEPROMとすることができる)。メモリの代わりに、拡張器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により接続のどの部分集合を設定しうるかを決定するようにすることもできる。この目的のために、コンパイリング中にコンパイラは必要とされる接続の記録を保持し、拡張器がこれらの接続を正確に設定しうるようにする。この場合にはコンパイラが各タイプの接続が何回発生したか計数することもできる。極めて稀にしか発生しない接続のタイプはその後にプログラムの再整理により除去することができるため、拡張器を簡単化するとともにプログラムメモリを縮小することができる。
Claims (5)
- 複数のデータ処理ユニットを具え、各データ処理ユニットは複数のデータ端子を有し、
命令ワードをアドレスするためにプログラムメモリ手段に結合されたプログラムカウンタを具え、前記命令ワードは複数のコマンドフィールドを含み、前記プログラムメモリ手段は各コマンドフィールドを各別のデータ処理ユニットに供給するために前記データ処理ユニットに結合され、
異なる端子を接続する複数の接続素子を具え、各接続素子は前記データ端子のうちの少なくとも2つの入力端子と少なくとも2つの出力端子とを物理的に接続し、これらの接続素子は命令ワード内に含まれる制御信号を受信するために前記プログラムメモリ手段に結合され、前記制御信号が接続素子によりどの入力端子とどの出力端子との間にデータ接続を設定するかについての選択を行うデータ処理システムにおいて、前記命令ワードは制御フィールドを具え、且つ前記接続素子とプログラムメモリ手段との結合路内に、前記制御フィールドの制御の下で、少なくとも前記接続素子のうちの第1のものにより設定されるデータ接続と第2のものとにより設定されるデータ接続を一緒に選択する拡張器を具え、該拡張器が第1接続素子のデータ接続に対し複数の実現可能な第1選択をもたらすとともに、実現可能な各第1選択ごとに第2接続素子のデータ接続に対し各別の第2選択群(空のこともあり得る)のみをもたらし、少なくとも2つの各別の第2選択群が、矛盾のないデータ接続の限定について相違していることを特徴とするデータ処理システム。 - 前記プログラムメモリ手段が制御入力端子を有する接続手段を経て前記データ処理ユニットに接続され、且つ前記拡張器が前記制御フィールドの拡張により前記制御手段に対する他の制御信号を選択し、前記他の制御信号をその制御入力端子に供給して、命令ワード内のどのコマンドフィールドをどのデータ処理ユニットに供給するか制御し、且つ前記拡張器が実現可能な各第1選択ごとに前記他の制御信号に対し各別の他の選択群(空のこともあり得る)のみをもたらし、少なくとも2つの各別の他の選択群が互いに相違していることを特徴とする請求の範囲1記載のデータ処理システム。
- 前記制御フィールドの制御の下で前記データ処理ユニットの少なくとも一つに対する制御コマンドを形成するために前記拡張器が前記データ処理ユニットの少なくとも一つに結合され、前記拡張器が各第1選択ごとに各別の他の選択可能な制御コマンド群(空のこともあり得る)のみをもたらし、少なくとも2つの各別の他の選択可能な制御コマンド群が互いに相違していることを特徴とする請求の範囲1又は2記載のデータ処理システム。
- 前記データ処理ユニットの少なくとも一つは第1及び第2レジスタを具え、
各レジスタは各別のデータ端子を経てデータを供給するために前記接続素子に物理的に結合され、前記第1選択は第1レジスタへの複数のデータ接続を含み、前記各別の第2選択群は第2レジスタへの複数のデータ接続を含むことを特徴とする請求の範囲1記載のデータ処理システム。 - 前記接続素子とプログラムメモリ手段との結合路内に、前記制御信号を、次の制御信号の形成中蓄積し前記接続素子に伝送するレジスタを具えていることを特徴とする請求の範囲1〜4のいずれかに記載のデータ処理システム。
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 JPH09505920A (ja) | 1997-06-10 |
JP3638284B2 true JP3638284B2 (ja) | 2005-04-13 |
Family
ID=19865177
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51004296A Expired - Fee Related JP3638284B2 (ja) | 1994-09-15 | 1995-09-06 | データ処理ユニット及び拡張器を具えるデータ処理システム |
JP8510043A Pending JPH09505966A (ja) | 1994-09-15 | 1995-09-06 | 遅延ユニット及びそのような遅延ユニットを用いた送信システム |
JP8510041A Pending JPH09505718A (ja) | 1994-09-15 | 1995-09-06 | 光通信装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8510043A Pending JPH09505966A (ja) | 1994-09-15 | 1995-09-06 | 遅延ユニット及びそのような遅延ユニットを用いた送信システム |
JP8510041A Pending JPH09505718A (ja) | 1994-09-15 | 1995-09-06 | 光通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (3) | JP3638284B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5111082B2 (ja) * | 2007-12-07 | 2012-12-26 | アンリツ株式会社 | フレーム遅延発生装置 |
-
1995
- 1995-09-06 JP JP51004296A patent/JP3638284B2/ja not_active Expired - Fee Related
- 1995-09-06 JP JP8510043A patent/JPH09505966A/ja active Pending
- 1995-09-06 JP JP8510041A patent/JPH09505718A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH09505966A (ja) | 1997-06-10 |
JPH09505920A (ja) | 1997-06-10 |
JPH09505718A (ja) | 1997-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2502960B2 (ja) | マイクロコンピュ−タ、ならびにマイクロコンピユ−タおよびマイクロコンピユ−タ・ネットワ−クを動作させる方法 | |
US5794067A (en) | Digital signal processing device | |
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 | |
US8069337B2 (en) | Methods and apparatus for dynamic instruction controlled reconfigurable register file | |
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 | |
EP1038253B1 (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
US3229260A (en) | Multiprocessing computer system | |
US4878174A (en) | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions | |
US5752071A (en) | Function coprocessor | |
US4984151A (en) | Flexible, next-address generation microprogram sequencer | |
EP0061096A1 (en) | Data processing system for parallel processing | |
KR880001170B1 (ko) | 마이크로 프로세서 | |
US5692139A (en) | VLIW processing device including improved memory for avoiding collisions without an excessive number of ports | |
CA2275172C (en) | Eight-bit microcontroller having a risc architecture | |
WO1991020027A1 (en) | Method and apparatus for a special purpose arithmetic boolean unit | |
WO1994003860A1 (en) | Massively parallel computer including auxiliary vector processor | |
CN100437547C (zh) | 具有级联simd结构的数字信号处理器及其信号处理方法 | |
KR19980032103A (ko) | 컴퓨터에 있어서 스칼라값을 벡터로 기입하는 방법 | |
US5307300A (en) | High speed processing unit | |
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 | |
JP3638284B2 (ja) | データ処理ユニット及び拡張器を具えるデータ処理システム | |
US3918030A (en) | General purpose digital computer | |
US3631401A (en) | Direct function data processor |
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 |