JPH11307725A - 半導体集積回路 - Google Patents
半導体集積回路Info
- Publication number
- JPH11307725A JPH11307725A JP11120298A JP11120298A JPH11307725A JP H11307725 A JPH11307725 A JP H11307725A JP 11120298 A JP11120298 A JP 11120298A JP 11120298 A JP11120298 A JP 11120298A JP H11307725 A JPH11307725 A JP H11307725A
- Authority
- JP
- Japan
- Prior art keywords
- data
- instruction
- register
- controller
- 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.)
- Pending
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】 コントローラと論理デバイスとが同一のチッ
プダイに形成される場合に、汎用コントローラをそのま
ま使用することが困難であった。 【解決手段】 データ転送命令に基づいてレジスタファ
イル23の所定の記憶領域の値が、ソースオペランドバ
ス24A,24Bを介してプログラマブルロジック部3
のレジスタ42A,42Bに転送される。プログラマブ
ルロジックアレイ41は、レジスタ42A,42Bに値
が転送されると、それらの値に対して所定の演算を実行
し、その演算の結果をレジスタ42Cに格納する。そし
て、レジスタ42Cに記憶された値は、データ転送命令
に基づいて、レジスタファイル23の所定の記憶領域に
転送される。
プダイに形成される場合に、汎用コントローラをそのま
ま使用することが困難であった。 【解決手段】 データ転送命令に基づいてレジスタファ
イル23の所定の記憶領域の値が、ソースオペランドバ
ス24A,24Bを介してプログラマブルロジック部3
のレジスタ42A,42Bに転送される。プログラマブ
ルロジックアレイ41は、レジスタ42A,42Bに値
が転送されると、それらの値に対して所定の演算を実行
し、その演算の結果をレジスタ42Cに格納する。そし
て、レジスタ42Cに記憶された値は、データ転送命令
に基づいて、レジスタファイル23の所定の記憶領域に
転送される。
Description
【0001】
【発明の属する技術分野】この発明は、同一のチップダ
イに、所定の命令セットに基づいてプログラムに従って
供給される命令に応じて動作するコントローラと、入力
されるデータに対して所定の演算を実行する論理デバイ
スとを備えた半導体集積回路に関するものである。
イに、所定の命令セットに基づいてプログラムに従って
供給される命令に応じて動作するコントローラと、入力
されるデータに対して所定の演算を実行する論理デバイ
スとを備えた半導体集積回路に関するものである。
【0002】
【従来の技術】図8は例えば「Garp: A MIPS Processor
with a Reconfigurable Coprocessor」(J.Haus
erおよびJ.Wawrzynek著、Proceedings of
the IEEE Symposium on Field Programmable Custom C
omputing Machines 、4月16〜18日、1997年)
に記載の従来の半導体集積回路の構成を示すブロック図
である。図において、201は従来の半導体集積回路で
あり、202はこの半導体集積回路201に接続された
メモリである。
with a Reconfigurable Coprocessor」(J.Haus
erおよびJ.Wawrzynek著、Proceedings of
the IEEE Symposium on Field Programmable Custom C
omputing Machines 、4月16〜18日、1997年)
に記載の従来の半導体集積回路の構成を示すブロック図
である。図において、201は従来の半導体集積回路で
あり、202はこの半導体集積回路201に接続された
メモリである。
【0003】半導体集積回路201において、211
は、MIPS−II命令セットにリコンフィギュラブル
アレイ212とのデータの授受のための命令を追加した
拡張命令セットに基づいて動作するプロセッサであり、
212は、外部からの所定の命令に応じて回路を再構成
して演算機能を変更することが可能なリコンフィギュラ
ブルアレイであり、213は、メモリ202、プロセッ
サ211およびリコンフィギュラブルアレイ212に接
続され、メモリ202からプロセッサ211またはリコ
ンフィギュラブルアレイ212に供給されるデータやプ
ロセッサ211またはリコンフィギュラブルアレイ21
2による演算の結果を一時的に記憶するデータキャッシ
ュであり、214は、プロセッサ211に供給される命
令を一時的に記憶するインストラクションキャッシュで
ある。
は、MIPS−II命令セットにリコンフィギュラブル
アレイ212とのデータの授受のための命令を追加した
拡張命令セットに基づいて動作するプロセッサであり、
212は、外部からの所定の命令に応じて回路を再構成
して演算機能を変更することが可能なリコンフィギュラ
ブルアレイであり、213は、メモリ202、プロセッ
サ211およびリコンフィギュラブルアレイ212に接
続され、メモリ202からプロセッサ211またはリコ
ンフィギュラブルアレイ212に供給されるデータやプ
ロセッサ211またはリコンフィギュラブルアレイ21
2による演算の結果を一時的に記憶するデータキャッシ
ュであり、214は、プロセッサ211に供給される命
令を一時的に記憶するインストラクションキャッシュで
ある。
【0004】なお、このコントローラにおいて使用され
るMIPS−II命令セットには、例えば、リコンフィ
ギュラブルアレイ212にデータを供給するための拡張
命令として「mtga」が追加され、リコンフィギュラ
ブルアレイ212からデータを読み出すための拡張命令
として「mfga」が追加されている。
るMIPS−II命令セットには、例えば、リコンフィ
ギュラブルアレイ212にデータを供給するための拡張
命令として「mtga」が追加され、リコンフィギュラ
ブルアレイ212からデータを読み出すための拡張命令
として「mfga」が追加されている。
【0005】次に動作について説明する。まず、プロセ
ッサ211は、拡張命令以外の命令が供給された場合に
は、その命令に応じて演算やデータキャッシュ213
(またはメモリ202)とのデータの授受などの通常の
コントローラと同様の処理を実行する。一方、プロセッ
サ211は、リコンフィギュラブルアレイ212を制御
するための拡張命令が供給された場合、その拡張命令の
種類に応じた処理をリコンフィギュラブルアレイ212
に対して実行する。
ッサ211は、拡張命令以外の命令が供給された場合に
は、その命令に応じて演算やデータキャッシュ213
(またはメモリ202)とのデータの授受などの通常の
コントローラと同様の処理を実行する。一方、プロセッ
サ211は、リコンフィギュラブルアレイ212を制御
するための拡張命令が供給された場合、その拡張命令の
種類に応じた処理をリコンフィギュラブルアレイ212
に対して実行する。
【0006】例えば拡張命令「mtga」が供給された
場合、プロセッサ211は、プロセッサ211内のデー
タをリコンフィギュラブルアレイ212に供給し、拡張
命令「mfga」が供給された場合には、リコンフィギ
ュラブルアレイ212に記憶されているデータを読み出
す。
場合、プロセッサ211は、プロセッサ211内のデー
タをリコンフィギュラブルアレイ212に供給し、拡張
命令「mfga」が供給された場合には、リコンフィギ
ュラブルアレイ212に記憶されているデータを読み出
す。
【0007】
【発明が解決しようとする課題】従来の半導体集積回路
は以上のようにリコンフィギュラブルアレイ212はプ
ロセッサ211とは独立に構成されているので、両者の
間でデータの授受を行う場合には汎用コントローラ用の
命令セットの他にリコンフィギュラブルアレイ212へ
のデータ転送用の拡張命令を実行しなければならず、汎
用コントローラをプロセッサ211やキャッシュ21
3,214などとしてそのまま使用することが困難であ
り、回路のコストを低減することが困難であるなどの課
題があった。
は以上のようにリコンフィギュラブルアレイ212はプ
ロセッサ211とは独立に構成されているので、両者の
間でデータの授受を行う場合には汎用コントローラ用の
命令セットの他にリコンフィギュラブルアレイ212へ
のデータ転送用の拡張命令を実行しなければならず、汎
用コントローラをプロセッサ211やキャッシュ21
3,214などとしてそのまま使用することが困難であ
り、回路のコストを低減することが困難であるなどの課
題があった。
【0008】この発明は上記のような課題を解決するた
めになされたもので、拡張命令を導入することなく汎用
コントローラ用の命令セットだけを使用して、コントロ
ーラとともに設けられている論理デバイスとの間のデー
タの授受を実行するようにしたので、論理デバイスとと
もに半導体集積回路に形成するコントローラとして汎用
コントローラを使用することができ、コストを低減する
ことができる半導体集積回路を得ることを目的とする。
めになされたもので、拡張命令を導入することなく汎用
コントローラ用の命令セットだけを使用して、コントロ
ーラとともに設けられている論理デバイスとの間のデー
タの授受を実行するようにしたので、論理デバイスとと
もに半導体集積回路に形成するコントローラとして汎用
コントローラを使用することができ、コストを低減する
ことができる半導体集積回路を得ることを目的とする。
【0009】
【課題を解決するための手段】この発明に係る半導体集
積回路は、コントローラが、汎用コントローラの命令セ
ットだけに基づいて、論理デバイスに対するデータの授
受を実行するものである。
積回路は、コントローラが、汎用コントローラの命令セ
ットだけに基づいて、論理デバイスに対するデータの授
受を実行するものである。
【0010】この発明に係る半導体集積回路は、論理デ
バイスが、入力されるデータを記憶するレジスタまたは
メモリを有し、コントローラが、コントローラ内部のレ
ジスタまたはメモリに対して実行するデータの授受の命
令と同一の命令に基づいて、論理デバイスのレジスタま
たはメモリに対してデータの授受を実行するものであ
る。
バイスが、入力されるデータを記憶するレジスタまたは
メモリを有し、コントローラが、コントローラ内部のレ
ジスタまたはメモリに対して実行するデータの授受の命
令と同一の命令に基づいて、論理デバイスのレジスタま
たはメモリに対してデータの授受を実行するものであ
る。
【0011】この発明に係る半導体集積回路は、論理デ
バイスのレジスタまたはメモリが、コントローラの内部
バスに接続され、コントローラが、内部バスに接続され
所定の命令セットの各命令に対応する演算を実行する演
算部と、内部バスに接続されたレジスタファイルとを有
し、内部バスを介して論理デバイスのレジスタまたはメ
モリに対してデータの授受を実行するものである。
バイスのレジスタまたはメモリが、コントローラの内部
バスに接続され、コントローラが、内部バスに接続され
所定の命令セットの各命令に対応する演算を実行する演
算部と、内部バスに接続されたレジスタファイルとを有
し、内部バスを介して論理デバイスのレジスタまたはメ
モリに対してデータの授受を実行するものである。
【0012】この発明に係る半導体集積回路は、論理デ
バイスが、コントローラのシステムバスに接続され入力
されるデータを記憶するレジスタまたはメモリを有し、
コントローラが、システムバスに接続された周辺回路と
の間で実行するデータの授受の命令と同一の命令に基づ
いて、論理デバイスのレジスタまたはメモリに対してデ
ータの授受を実行するものである。
バイスが、コントローラのシステムバスに接続され入力
されるデータを記憶するレジスタまたはメモリを有し、
コントローラが、システムバスに接続された周辺回路と
の間で実行するデータの授受の命令と同一の命令に基づ
いて、論理デバイスのレジスタまたはメモリに対してデ
ータの授受を実行するものである。
【0013】この発明に係る半導体集積回路は、システ
ムバスに接続されたメモリと、コントローラとは独立に
動作し、メモリと論理デバイスとの間のデータの入出力
を制御するスレーブコントローラとを備えるものであ
る。
ムバスに接続されたメモリと、コントローラとは独立に
動作し、メモリと論理デバイスとの間のデータの入出力
を制御するスレーブコントローラとを備えるものであ
る。
【0014】この発明に係る半導体集積回路は、論理デ
バイスが、リコンフィギュラブル論理デバイスであり、
スレーブコントローラが、リコンフィギュラブル論理デ
バイスの構成を変更するものである。
バイスが、リコンフィギュラブル論理デバイスであり、
スレーブコントローラが、リコンフィギュラブル論理デ
バイスの構成を変更するものである。
【0015】この発明に係る半導体集積回路は、所定の
第1および第2のバスにそれぞれ接続され、演算命令に
対応する2つのオペランドのデータをそれぞれ記憶する
第1および第2のメモリを備え、論理デバイスが、第1
のバスに接続された第1のレジスタと、第2のバスに接
続された第2のレジスタと、第1および第2のレジスタ
の値に対して所定の演算を実行する演算部とを有し、コ
ントローラが、第1のバスに接続された第3のレジスタ
と、第2のバスで接続された第4のレジスタと、演算命
令に対応する演算を第3および第4のレジスタの値に対
して実行する演算部とを有し、第3および第4のレジス
タに対して実行するデータ転送の命令と同一の命令に基
づいて、第1および第2のバスを介して、第1および第
2のメモリから論理デバイスの第1および第2のレジス
タへのデータ転送を実行するものである。
第1および第2のバスにそれぞれ接続され、演算命令に
対応する2つのオペランドのデータをそれぞれ記憶する
第1および第2のメモリを備え、論理デバイスが、第1
のバスに接続された第1のレジスタと、第2のバスに接
続された第2のレジスタと、第1および第2のレジスタ
の値に対して所定の演算を実行する演算部とを有し、コ
ントローラが、第1のバスに接続された第3のレジスタ
と、第2のバスで接続された第4のレジスタと、演算命
令に対応する演算を第3および第4のレジスタの値に対
して実行する演算部とを有し、第3および第4のレジス
タに対して実行するデータ転送の命令と同一の命令に基
づいて、第1および第2のバスを介して、第1および第
2のメモリから論理デバイスの第1および第2のレジス
タへのデータ転送を実行するものである。
【0016】この発明に係る半導体集積回路は、コント
ローラが、所定の命令セットの各命令に対応する演算を
実行する演算部と、演算における2つのオペランドのデ
ータを記憶する2つのレジスタと、2つのレジスタに記
憶されたオペランドのデータを、命令の種類に応じて、
論理デバイスおよび演算部のいずれか一方に供給する供
給手段と、命令の種類に応じて論理デバイスによる演算
の結果または演算部による演算の結果をその命令に対す
る演算結果として出力する出力手段とを有し、論理デバ
イスが、供給手段により供給されたオペランドのデータ
に対して所定の演算を実行し、その演算の結果を出力手
段に出力するものである。
ローラが、所定の命令セットの各命令に対応する演算を
実行する演算部と、演算における2つのオペランドのデ
ータを記憶する2つのレジスタと、2つのレジスタに記
憶されたオペランドのデータを、命令の種類に応じて、
論理デバイスおよび演算部のいずれか一方に供給する供
給手段と、命令の種類に応じて論理デバイスによる演算
の結果または演算部による演算の結果をその命令に対す
る演算結果として出力する出力手段とを有し、論理デバ
イスが、供給手段により供給されたオペランドのデータ
に対して所定の演算を実行し、その演算の結果を出力手
段に出力するものである。
【0017】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1は、この発明の実施の形態1による
半導体集積回路の構成例を示すブロック図であり、図2
は、図1の半導体集積回路の命令実行部11とプログラ
マブルロジック部3の詳細な構成を示すブロック図であ
る。図において、1は1つのチップダイにコントローラ
2とプログラマブルロジック部3が形成された半導体集
積回路である。2は汎用コントローラ(例えば汎用のマ
イクロコントロールユニット、マイクロプロセシングユ
ニット、デジタルシグナルプロセッサ)と同様な回路構
成のコントローラであり、3は、外部からの所定の命令
に応じて回路を再構成して演算機能を変更することが可
能な例えばプログラマブルロジックデバイス、フィール
ドプログラマブルゲートアレイなどのプログラマブルロ
ジック部(論理デバイス)である。
説明する。 実施の形態1.図1は、この発明の実施の形態1による
半導体集積回路の構成例を示すブロック図であり、図2
は、図1の半導体集積回路の命令実行部11とプログラ
マブルロジック部3の詳細な構成を示すブロック図であ
る。図において、1は1つのチップダイにコントローラ
2とプログラマブルロジック部3が形成された半導体集
積回路である。2は汎用コントローラ(例えば汎用のマ
イクロコントロールユニット、マイクロプロセシングユ
ニット、デジタルシグナルプロセッサ)と同様な回路構
成のコントローラであり、3は、外部からの所定の命令
に応じて回路を再構成して演算機能を変更することが可
能な例えばプログラマブルロジックデバイス、フィール
ドプログラマブルゲートアレイなどのプログラマブルロ
ジック部(論理デバイス)である。
【0018】コントローラ2において、11は、インス
トラクションバス15を介して供給される命令をデコー
ドして、その命令に対応する処理を実行する命令実行部
であり、13は、命令実行部11、データメモリ14お
よび周辺ロジック部18の間でデータの授受を実行する
ときに使用されるシステムバスとしてのデータバスであ
り、14は、各種データや演算結果などを記憶するデー
タメモリであり、15は、インストラクションメモリ1
6から命令を命令実行部11に供給するときに使用され
るインストラクションバスであり、16は、所定のプロ
グラムに対応する一連の命令を一時的に記憶するインス
トラクションメモリであり、17は、システムバスとし
てのデータバス13、およびインストラクションバス1
5を制御するバスコントローラであり、18は、データ
バス13を介して命令実行部11に接続され、タイマな
どの周辺回路を有する周辺ロジック部である。
トラクションバス15を介して供給される命令をデコー
ドして、その命令に対応する処理を実行する命令実行部
であり、13は、命令実行部11、データメモリ14お
よび周辺ロジック部18の間でデータの授受を実行する
ときに使用されるシステムバスとしてのデータバスであ
り、14は、各種データや演算結果などを記憶するデー
タメモリであり、15は、インストラクションメモリ1
6から命令を命令実行部11に供給するときに使用され
るインストラクションバスであり、16は、所定のプロ
グラムに対応する一連の命令を一時的に記憶するインス
トラクションメモリであり、17は、システムバスとし
てのデータバス13、およびインストラクションバス1
5を制御するバスコントローラであり、18は、データ
バス13を介して命令実行部11に接続され、タイマな
どの周辺回路を有する周辺ロジック部である。
【0019】命令実行部11(図2)において、21は
算術論理演算器(以下、ALUという)であり、22
は、ALU21からのデータを適宜所定のビット数だけ
シフトするシフタであり、23はレジスタファイルであ
り、24Aおよび24Bは、命令実行部11の内部バス
であって、ALU21およびレジスタファイル23にそ
れぞれ接続され、ALU21にデータを供給するときに
使用されるソースオペランドバスであり、24Cは、命
令実行部11の内部バスであって、シフタ22およびレ
ジスタファイル23に接続され、シフタ22からのデー
タをレジスタファイル23などに出力するときに使用さ
れるデスティネーションバスである。なお、命令実行部
11には、汎用コントローラのものが使用され、この
他、図示せぬ命令レジスタ、命令デコーダ、プログラム
カウンタなどが設けられている。
算術論理演算器(以下、ALUという)であり、22
は、ALU21からのデータを適宜所定のビット数だけ
シフトするシフタであり、23はレジスタファイルであ
り、24Aおよび24Bは、命令実行部11の内部バス
であって、ALU21およびレジスタファイル23にそ
れぞれ接続され、ALU21にデータを供給するときに
使用されるソースオペランドバスであり、24Cは、命
令実行部11の内部バスであって、シフタ22およびレ
ジスタファイル23に接続され、シフタ22からのデー
タをレジスタファイル23などに出力するときに使用さ
れるデスティネーションバスである。なお、命令実行部
11には、汎用コントローラのものが使用され、この
他、図示せぬ命令レジスタ、命令デコーダ、プログラム
カウンタなどが設けられている。
【0020】プログラマブルロジック部3(図2)にお
いて、41は、レジスタ42A,42Bに記憶されたデ
ータに対して所定の演算を実行し、その演算の結果をレ
ジスタ42Cに記憶させるプログラマブルロジックアレ
イ(論理デバイス演算部)であり、42Aおよび42B
は、ソースオペランドバス24A,24Bにそれぞれ接
続され、レジスタファイル23からのデータを記憶する
レジスタであり、42Cは、デスティネーションバス2
4Cに接続され、プログラマブルロジックアレイ41に
よる演算の結果を記憶するレジスタである。
いて、41は、レジスタ42A,42Bに記憶されたデ
ータに対して所定の演算を実行し、その演算の結果をレ
ジスタ42Cに記憶させるプログラマブルロジックアレ
イ(論理デバイス演算部)であり、42Aおよび42B
は、ソースオペランドバス24A,24Bにそれぞれ接
続され、レジスタファイル23からのデータを記憶する
レジスタであり、42Cは、デスティネーションバス2
4Cに接続され、プログラマブルロジックアレイ41に
よる演算の結果を記憶するレジスタである。
【0021】次に動作について説明する。ここで、命令
実行部11により処理される命令について説明する。な
お、下記の命令は、汎用コントローラにおいて通常使用
されるものであり、ここでは、代表的な名称を付してい
る。
実行部11により処理される命令について説明する。な
お、下記の命令は、汎用コントローラにおいて通常使用
されるものであり、ここでは、代表的な名称を付してい
る。
【0022】まず、オペランドのない命令として、NO
P命令などがある。NOP命令は、特に演算を指定する
ものではなく、1クロックサイクルの間待機させるため
の命令である。
P命令などがある。NOP命令は、特に演算を指定する
ものではなく、1クロックサイクルの間待機させるため
の命令である。
【0023】2オペランド命令として、LD命令、ST
命令、TFR命令などがある。LD命令は、「LD src d
st」と記述され、オペランドsrcで指定されるメモリ
の値を、オペランドdstで指定されるレジスタにロー
ドする命令であり、ST命令は、「ST src dst」と記述
され、オペランドsrcで指定されるレジスタの値を、
オペランドdstで指定されるメモリにストアする命令
であり、TFR命令は、「TFR src dst 」と記述され、
オペランドsrcで指定されるレジスタの値を、オペラ
ンドdstで指定されるレジスタに転送する命令であ
る。
命令、TFR命令などがある。LD命令は、「LD src d
st」と記述され、オペランドsrcで指定されるメモリ
の値を、オペランドdstで指定されるレジスタにロー
ドする命令であり、ST命令は、「ST src dst」と記述
され、オペランドsrcで指定されるレジスタの値を、
オペランドdstで指定されるメモリにストアする命令
であり、TFR命令は、「TFR src dst 」と記述され、
オペランドsrcで指定されるレジスタの値を、オペラ
ンドdstで指定されるレジスタに転送する命令であ
る。
【0024】3オペランド命令として、ADD命令、M
PY命令、MAC命令などがある。ADD命令は、「AD
D src0 src1 dst 」と記述され、オペランドsrc0で
指定されるレジスタの値とオペランドsrc1で指定さ
れるレジスタの値との和を計算し、オペランドdstで
指定されるレジスタに格納する命令であり、MPY命令
は、「MPY src0 src1 dst 」と記述され、オペランドs
rc0で指定されるレジスタの値とオペランドsrc1
で指定されるレジスタの値との積を計算し、オペランド
dstで指定されるレジスタに格納する命令であり、M
AC命令は、「MAC src0 src1 dst dst 」と記述され、
オペランドsrc0で指定されるレジスタの値とオペラ
ンドsrc1で指定されるレジスタの値との積を計算
し、その積を、オペランドdstで指定されるレジスタ
の値に累積させる命令である。
PY命令、MAC命令などがある。ADD命令は、「AD
D src0 src1 dst 」と記述され、オペランドsrc0で
指定されるレジスタの値とオペランドsrc1で指定さ
れるレジスタの値との和を計算し、オペランドdstで
指定されるレジスタに格納する命令であり、MPY命令
は、「MPY src0 src1 dst 」と記述され、オペランドs
rc0で指定されるレジスタの値とオペランドsrc1
で指定されるレジスタの値との積を計算し、オペランド
dstで指定されるレジスタに格納する命令であり、M
AC命令は、「MAC src0 src1 dst dst 」と記述され、
オペランドsrc0で指定されるレジスタの値とオペラ
ンドsrc1で指定されるレジスタの値との積を計算
し、その積を、オペランドdstで指定されるレジスタ
の値に累積させる命令である。
【0025】なお、上記命令は、この実施の形態による
回路の動作の説明に使用するものであり、命令セットに
含まれる命令は特にこれらの命令のみに限定されるもの
ではない。
回路の動作の説明に使用するものであり、命令セットに
含まれる命令は特にこれらの命令のみに限定されるもの
ではない。
【0026】次に、上記命令に基づいて動作を説明す
る。命令実行部11のALU21およびシフタ22によ
り演算を行う場合には、ADD命令、MPY命令、MA
C命令などの演算命令がインストラクションバス15を
介して命令実行部11の図示せぬ命令レジスタに供給さ
れる。それらの演算命令は、図示せぬ命令デコーダによ
りデコードされる。そして、命令デコーダからの制御信
号に従ってALU21およびシフタ22が動作する。例
えば、R1、R2およびR3をレジスタファイル23の
所定の記憶領域としたときに「ADD R1R2 R3」という命
令が供給された場合には、ALU21は、レジスタファ
イル23の記憶領域R1の値と記憶領域R2の値との和
を演算し、その演算結果をシフタ22を介して記憶領域
R3に格納する。
る。命令実行部11のALU21およびシフタ22によ
り演算を行う場合には、ADD命令、MPY命令、MA
C命令などの演算命令がインストラクションバス15を
介して命令実行部11の図示せぬ命令レジスタに供給さ
れる。それらの演算命令は、図示せぬ命令デコーダによ
りデコードされる。そして、命令デコーダからの制御信
号に従ってALU21およびシフタ22が動作する。例
えば、R1、R2およびR3をレジスタファイル23の
所定の記憶領域としたときに「ADD R1R2 R3」という命
令が供給された場合には、ALU21は、レジスタファ
イル23の記憶領域R1の値と記憶領域R2の値との和
を演算し、その演算結果をシフタ22を介して記憶領域
R3に格納する。
【0027】一方、プログラマブルロジック部3により
演算を行う場合には、レジスタ間のデータ転送命令がイ
ンストラクションバス15を介して命令実行部11の図
示せぬ命令レジスタに供給される。それらの命令は、図
示せぬ命令デコーダによりデコードされる。命令デコー
ダからの制御信号に従ってレジスタファイル23の所定
の記憶領域の値が、ソースオペランドバス24A,24
Bを介してプログラマブルロジック部3のレジスタ42
A,42Bに転送される。
演算を行う場合には、レジスタ間のデータ転送命令がイ
ンストラクションバス15を介して命令実行部11の図
示せぬ命令レジスタに供給される。それらの命令は、図
示せぬ命令デコーダによりデコードされる。命令デコー
ダからの制御信号に従ってレジスタファイル23の所定
の記憶領域の値が、ソースオペランドバス24A,24
Bを介してプログラマブルロジック部3のレジスタ42
A,42Bに転送される。
【0028】プログラマブルロジック部3のプログラマ
ブルロジックアレイ41は、レジスタ42A,42Bに
値が転送されると、それらの値に対して所定の演算を実
行し、その演算の結果をレジスタ42Cに格納する。
ブルロジックアレイ41は、レジスタ42A,42Bに
値が転送されると、それらの値に対して所定の演算を実
行し、その演算の結果をレジスタ42Cに格納する。
【0029】そして、レジスタ42Cに記憶された値
は、命令実行部11に供給されるデータ転送命令に基づ
いて、レジスタファイル23の所定の記憶領域に転送さ
れる。したがって、例えば次のようにプログラムを記述
しておけば、命令実行部11によりプログラマブルロジ
ック部3が使用される。なお、ここで、R1、R2およ
びR3をレジスタファイル23の所定の記憶領域とし、
RA、RBおよびRCをプログラマブルロジックに設け
られたレジスタ42A,42B,42Cとする。 TFR R1 RA TFR R2 RB NOP TFR RC R3
は、命令実行部11に供給されるデータ転送命令に基づ
いて、レジスタファイル23の所定の記憶領域に転送さ
れる。したがって、例えば次のようにプログラムを記述
しておけば、命令実行部11によりプログラマブルロジ
ック部3が使用される。なお、ここで、R1、R2およ
びR3をレジスタファイル23の所定の記憶領域とし、
RA、RBおよびRCをプログラマブルロジックに設け
られたレジスタ42A,42B,42Cとする。 TFR R1 RA TFR R2 RB NOP TFR RC R3
【0030】すなわち、「TFR R1 RA 」および「TFR R2
RB 」という記述に基づいて、命令実行部11のレジス
タファイル23からプログラマブルロジック部3のレジ
スタ42A,42Bにデータが転送され、「NOP 」に基
づいて1クロックサイクルの期間だけ待機した後、「TF
R RC R3 」という記述に基づいて、プログラマブルロジ
ック部3のレジスタ42Cからレジスタファイル23
に、プログラマブルロジック部3により演算の結果が転
送される。
RB 」という記述に基づいて、命令実行部11のレジス
タファイル23からプログラマブルロジック部3のレジ
スタ42A,42Bにデータが転送され、「NOP 」に基
づいて1クロックサイクルの期間だけ待機した後、「TF
R RC R3 」という記述に基づいて、プログラマブルロジ
ック部3のレジスタ42Cからレジスタファイル23
に、プログラマブルロジック部3により演算の結果が転
送される。
【0031】以上のように、この実施の形態1によれ
ば、拡張命令を導入することなく汎用コントローラ用の
命令セットだけを使用して、コントローラとともに設け
られている論理デバイスへのデータ転送を実行するよう
にしたので、論理デバイスとともに半導体集積回路に形
成するコントローラとして汎用コントローラを使用する
ことができ、コストを低減することができるという効果
が得られる。
ば、拡張命令を導入することなく汎用コントローラ用の
命令セットだけを使用して、コントローラとともに設け
られている論理デバイスへのデータ転送を実行するよう
にしたので、論理デバイスとともに半導体集積回路に形
成するコントローラとして汎用コントローラを使用する
ことができ、コストを低減することができるという効果
が得られる。
【0032】なお、上記実施の形態1においては、3バ
ス構成を採用しているがバスの構成は3バス構成に限定
されるものではない。
ス構成を採用しているがバスの構成は3バス構成に限定
されるものではない。
【0033】実施の形態2.図3は、この発明の実施の
形態2による半導体集積回路におけるコントローラ2の
命令実行部11および周辺ロジック部18、並びにプロ
グラマブルロジック部3を示すブロック図である。な
お、その他の構成要素については、実施の形態1のもの
と同様であるので、その説明を省略する。また、命令実
行部11は、実施の形態1のものに限定されるものでは
なく、他の汎用コントローラの命令実行部(ALU、各
種レジスタなど命令の実行に関連する部分)を使用して
もよい。
形態2による半導体集積回路におけるコントローラ2の
命令実行部11および周辺ロジック部18、並びにプロ
グラマブルロジック部3を示すブロック図である。な
お、その他の構成要素については、実施の形態1のもの
と同様であるので、その説明を省略する。また、命令実
行部11は、実施の形態1のものに限定されるものでは
なく、他の汎用コントローラの命令実行部(ALU、各
種レジスタなど命令の実行に関連する部分)を使用して
もよい。
【0034】図において、13および71はシステムバ
スとしてのデータバスおよびアドレスバス(図1には図
示せず)であり、72は命令実行部11、周辺ロジック
部18およびプログラマブルロジック部3に接続された
制御線である。
スとしてのデータバスおよびアドレスバス(図1には図
示せず)であり、72は命令実行部11、周辺ロジック
部18およびプログラマブルロジック部3に接続された
制御線である。
【0035】プログラマブルロジック部3において、4
1は、それぞれが所定の演算を実行する所定の数のロジ
ックブロックを有するプログラマブルロジックアレイで
あり、61はプログラマブルロジックアレイ41のうち
の所定のロジックブロックにそれぞれ接続されるととも
に、データバス13に接続された複数のデータレジスタ
であり、62は、アドレスバス71に接続され、データ
を供給されるデータレジスタ61を選択するためのアド
レスを供給され、記憶するアドレスレジスタであり、6
3は、制御線72に接続され、制御線72を介して供給
される制御信号に応じてプログラマブルロジック部3の
各部を制御するとともに、プログラマブルロジック部3
における処理の状態(例えば演算の終了した状態など)
に応じて命令実行部11に割込信号を出力する制御部で
ある。
1は、それぞれが所定の演算を実行する所定の数のロジ
ックブロックを有するプログラマブルロジックアレイで
あり、61はプログラマブルロジックアレイ41のうち
の所定のロジックブロックにそれぞれ接続されるととも
に、データバス13に接続された複数のデータレジスタ
であり、62は、アドレスバス71に接続され、データ
を供給されるデータレジスタ61を選択するためのアド
レスを供給され、記憶するアドレスレジスタであり、6
3は、制御線72に接続され、制御線72を介して供給
される制御信号に応じてプログラマブルロジック部3の
各部を制御するとともに、プログラマブルロジック部3
における処理の状態(例えば演算の終了した状態など)
に応じて命令実行部11に割込信号を出力する制御部で
ある。
【0036】次に動作について説明する。命令実行部1
1は、プログラマブルロジック部3にデータを供給し、
所定の演算を実行させる場合、システムバスに接続され
た周辺ロジック部18との間で実行するデータの授受の
命令と同一の命令に基づいて、まず、アドレスバス71
を介してアドレスレジスタ62に、実行させる演算に対
応するロジックブロックに接続されたデータレジスタ6
1を選択するためのアドレスを供給する。その後、命令
実行部11は、データバス13を介して、アドレスレジ
スタ62の値で指定されるデータレジスタ61にデータ
を供給する。
1は、プログラマブルロジック部3にデータを供給し、
所定の演算を実行させる場合、システムバスに接続され
た周辺ロジック部18との間で実行するデータの授受の
命令と同一の命令に基づいて、まず、アドレスバス71
を介してアドレスレジスタ62に、実行させる演算に対
応するロジックブロックに接続されたデータレジスタ6
1を選択するためのアドレスを供給する。その後、命令
実行部11は、データバス13を介して、アドレスレジ
スタ62の値で指定されるデータレジスタ61にデータ
を供給する。
【0037】データが供給されたデータレジスタ61に
対応するロジックブロックは、そのデータレジスタ61
のデータに対して所定の演算を実行し、その演算の結果
を所定のデータレジスタ61に格納する。
対応するロジックブロックは、そのデータレジスタ61
のデータに対して所定の演算を実行し、その演算の結果
を所定のデータレジスタ61に格納する。
【0038】プログラマブルロジックアレイ41におけ
る演算が終了すると、制御部63は割込信号を命令実行
部11に出力する。
る演算が終了すると、制御部63は割込信号を命令実行
部11に出力する。
【0039】命令実行部11は、プログラマブルロジッ
ク部3からの割込信号を受け取ると、プログラマブルロ
ジック部3のデータレジスタ61のうちの演算結果が格
納されたものから、データバス13を介して、その演算
結果を読み出す。
ク部3からの割込信号を受け取ると、プログラマブルロ
ジック部3のデータレジスタ61のうちの演算結果が格
納されたものから、データバス13を介して、その演算
結果を読み出す。
【0040】以上のように、この実施の形態2によれ
ば、実施の形態1による効果と同様の効果が得られる
他、コントローラ2のシステムバスにプログラマブルロ
ジック部3を接続するようにしたので、周辺ロジック部
18と同様にして簡単にプログラマブルロジック部3を
コントローラ2に付加することができるという効果が得
られる。
ば、実施の形態1による効果と同様の効果が得られる
他、コントローラ2のシステムバスにプログラマブルロ
ジック部3を接続するようにしたので、周辺ロジック部
18と同様にして簡単にプログラマブルロジック部3を
コントローラ2に付加することができるという効果が得
られる。
【0041】なお、上記半導体集積回路においては、コ
ントローラ2の命令実行部11とプログラマブルロジッ
ク部3がシステムバスを介して接続されているが、例え
ばキャッシュメモリなどのコントローラ2の内部メモリ
が接続されているバスにプログラマブルロジック部3を
接続するようにしてもよい。例えばコントローラ2に1
次キャッシュメモリおよび2次キャッシュメモリが設け
られる場合、2次キャッシュメモリに接続されるバスの
バス幅は、命令実行部11の2次キャッシュメモリへの
アクセス速度が命令実行部11に接続されるバスのバス
クロックより遅いことに起因して発生するレイテンシを
抑制するために、命令実行部11に接続されるバスのバ
ス幅より広く設計されることが多い。その場合、命令実
行部11に接続されるバスのバス幅より広い、2次キャ
ッシュメモリに接続されているバスにプログラマブルロ
ジック部3を接続させる。このようにバス幅の広いバス
にプログラマブルロジック部3を接続することにより、
プログラマブルロジック部3へ多くのデータを転送する
場合に、転送時間を短縮することができるという効果が
得られる。
ントローラ2の命令実行部11とプログラマブルロジッ
ク部3がシステムバスを介して接続されているが、例え
ばキャッシュメモリなどのコントローラ2の内部メモリ
が接続されているバスにプログラマブルロジック部3を
接続するようにしてもよい。例えばコントローラ2に1
次キャッシュメモリおよび2次キャッシュメモリが設け
られる場合、2次キャッシュメモリに接続されるバスの
バス幅は、命令実行部11の2次キャッシュメモリへの
アクセス速度が命令実行部11に接続されるバスのバス
クロックより遅いことに起因して発生するレイテンシを
抑制するために、命令実行部11に接続されるバスのバ
ス幅より広く設計されることが多い。その場合、命令実
行部11に接続されるバスのバス幅より広い、2次キャ
ッシュメモリに接続されているバスにプログラマブルロ
ジック部3を接続させる。このようにバス幅の広いバス
にプログラマブルロジック部3を接続することにより、
プログラマブルロジック部3へ多くのデータを転送する
場合に、転送時間を短縮することができるという効果が
得られる。
【0042】また、このときプログラマブルロジック部
3に接続されるメモリはキャッシュメモリに限定される
ものではなく、例えばプリンタへのキューを蓄積するメ
モリなどの特殊用途のバッファメモリでもよい。
3に接続されるメモリはキャッシュメモリに限定される
ものではなく、例えばプリンタへのキューを蓄積するメ
モリなどの特殊用途のバッファメモリでもよい。
【0043】実施の形態3.図4は、この発明の実施の
形態3による半導体集積回路におけるコントローラ2の
命令実行部11、プログラマブルロジック部3およびス
レーブコントローラ75を示すブロック図である。な
お、その他の構成要素については、実施の形態2のもの
と同様であるので、その説明を省略する。
形態3による半導体集積回路におけるコントローラ2の
命令実行部11、プログラマブルロジック部3およびス
レーブコントローラ75を示すブロック図である。な
お、その他の構成要素については、実施の形態2のもの
と同様であるので、その説明を省略する。
【0044】図において、3は、システムバスとしての
データバス13およびアドレスバス71に接続されたプ
ログラマブルロジック部である。11は、システムバス
としてのデータバス13およびアドレスバス71、並び
に制御線72に接続された命令実行部であり、75は、
命令実行部11とは独立してプログラマブルロジック部
3を制御し、プログラマブルロジック部3へのデータの
供給、プログラマブルロジック部3の回路構成の変更な
どを実行するスレーブコントローラである。なお、スレ
ーブコントローラ75は、プログラムに従って動作する
プロセッサとしてもよいし、プログラムを必要としない
シーケンサとしてもよい。
データバス13およびアドレスバス71に接続されたプ
ログラマブルロジック部である。11は、システムバス
としてのデータバス13およびアドレスバス71、並び
に制御線72に接続された命令実行部であり、75は、
命令実行部11とは独立してプログラマブルロジック部
3を制御し、プログラマブルロジック部3へのデータの
供給、プログラマブルロジック部3の回路構成の変更な
どを実行するスレーブコントローラである。なお、スレ
ーブコントローラ75は、プログラムに従って動作する
プロセッサとしてもよいし、プログラムを必要としない
シーケンサとしてもよい。
【0045】次に動作について説明する。まず、命令実
行部11により制御線72を介してスレーブコントロー
ラ75に所定の制御信号が供給されてスレーブコントロ
ーラ75が起動される。スレーブコントローラ75は、
予め設定された制御パターンに基づいてプログラマブル
ロジック部3を制御し、その制御を完了すると、命令実
行部11に割込信号を出力する。
行部11により制御線72を介してスレーブコントロー
ラ75に所定の制御信号が供給されてスレーブコントロ
ーラ75が起動される。スレーブコントローラ75は、
予め設定された制御パターンに基づいてプログラマブル
ロジック部3を制御し、その制御を完了すると、命令実
行部11に割込信号を出力する。
【0046】例えば、スレーブコントローラ75は、予
め設定された制御パターンに基づいて、プログラマブル
ロジック部3の回路構成を変更したり、データバス13
を介してデータメモリ14からデータを直接読み出した
りする。すなわち、スレーブコントローラ75はデータ
メモリ14からのデータのDMA(Direct Memory Acce
ss)転送を実行する。
め設定された制御パターンに基づいて、プログラマブル
ロジック部3の回路構成を変更したり、データバス13
を介してデータメモリ14からデータを直接読み出した
りする。すなわち、スレーブコントローラ75はデータ
メモリ14からのデータのDMA(Direct Memory Acce
ss)転送を実行する。
【0047】また、プログラマブルロジック部3に、よ
り複雑な動作を実行させるための制御パターンをスレー
ブコントローラ75に供給することにより、複数種類の
演算の実行、繰返し演算、条件分岐などの複雑な動作を
実行させてもよい。
り複雑な動作を実行させるための制御パターンをスレー
ブコントローラ75に供給することにより、複数種類の
演算の実行、繰返し演算、条件分岐などの複雑な動作を
実行させてもよい。
【0048】以上のように、この実施の形態3によれ
ば、実施の形態1による効果と同様の効果が得られる
他、プログラマブルロジック部3に、より複雑な動作を
実行させることができ、またデータのDMA転送を実行
することができ、データ転送の効率や計算の効率を向上
させることができるという効果が得られる。
ば、実施の形態1による効果と同様の効果が得られる
他、プログラマブルロジック部3に、より複雑な動作を
実行させることができ、またデータのDMA転送を実行
することができ、データ転送の効率や計算の効率を向上
させることができるという効果が得られる。
【0049】実施の形態4.図5は、この発明の実施の
形態4による半導体集積回路におけるコントローラ2の
命令実行部11およびローカルメモリ14X,14Y、
プログラマブルロジック部3、並びにデータバス13
X,13Yの構成を示すブロック図である。なお、その
他の構成要素については、実施の形態1のものと同様で
あるので、その説明を省略する。
形態4による半導体集積回路におけるコントローラ2の
命令実行部11およびローカルメモリ14X,14Y、
プログラマブルロジック部3、並びにデータバス13
X,13Yの構成を示すブロック図である。なお、その
他の構成要素については、実施の形態1のものと同様で
あるので、その説明を省略する。
【0050】3は、データバス13X,13Yに接続さ
れたプログラマブルロジック部である。11は、データ
バス13X,13Yに接続され、汎用のデジタルシグナ
ルプロセッサの回路構成と同様の回路構成を有する、コ
ントローラ2の命令実行部であり、14Xは、例えば図
1のデータメモリ14の所定の記憶領域に設けられ、デ
ータバス13Xに接続されたローカルメモリ(第1のメ
モリ)であり、14Yは、例えば図1のデータメモリ1
4の所定の記憶領域に設けられ、データバス13Yに接
続されたローカルメモリ(第2のメモリ)である。
れたプログラマブルロジック部である。11は、データ
バス13X,13Yに接続され、汎用のデジタルシグナ
ルプロセッサの回路構成と同様の回路構成を有する、コ
ントローラ2の命令実行部であり、14Xは、例えば図
1のデータメモリ14の所定の記憶領域に設けられ、デ
ータバス13Xに接続されたローカルメモリ(第1のメ
モリ)であり、14Yは、例えば図1のデータメモリ1
4の所定の記憶領域に設けられ、データバス13Yに接
続されたローカルメモリ(第2のメモリ)である。
【0051】命令実行部11において、81Xは、デー
タバス13Xに接続され、データバス13Xを介して供
給されるデータを記憶し、乗算器32およびセレクタ8
3に供給するレジスタ(第3のレジスタ)であり、81
Yは、データバス13Yに接続され、データバス13Y
を介して供給されるデータを記憶し、乗算器32および
セレクタ34に供給するレジスタ(第4のレジスタ)で
ある。
タバス13Xに接続され、データバス13Xを介して供
給されるデータを記憶し、乗算器32およびセレクタ8
3に供給するレジスタ(第3のレジスタ)であり、81
Yは、データバス13Yに接続され、データバス13Y
を介して供給されるデータを記憶し、乗算器32および
セレクタ34に供給するレジスタ(第4のレジスタ)で
ある。
【0052】32は、レジスタ81X,81Yに接続さ
れ、レジスタ81Xの値とレジスタ81Yの値との積を
計算し、セレクタ83およびセレクタ86に出力する乗
算器(演算部)であり、83は、乗算器32からのデー
タおよびレジスタ81Xからのデータのいずれかを、デ
コードされた命令に応じて加算器35に出力するセレク
タ(演算部)であり、34は、レジスタ81Yからのデ
ータおよびレジスタ37からのデータのいずれかを加算
器35に出力するセレクタ(演算部)である。
れ、レジスタ81Xの値とレジスタ81Yの値との積を
計算し、セレクタ83およびセレクタ86に出力する乗
算器(演算部)であり、83は、乗算器32からのデー
タおよびレジスタ81Xからのデータのいずれかを、デ
コードされた命令に応じて加算器35に出力するセレク
タ(演算部)であり、34は、レジスタ81Yからのデ
ータおよびレジスタ37からのデータのいずれかを加算
器35に出力するセレクタ(演算部)である。
【0053】35は、セレクタ83からのデータとセレ
クタ34からのデータとの和を計算し、セレクタ86に
出力する加算器(演算部)であり、86は、加算器35
からのデータおよび乗算器32からのデータのいずれか
をレジスタ37に格納するセレクタ(演算部)であり、
37は、セレクタ36からのデータを記憶し、セレクタ
34およびデータバス13X,13Yに適宜出力するレ
ジスタである。
クタ34からのデータとの和を計算し、セレクタ86に
出力する加算器(演算部)であり、86は、加算器35
からのデータおよび乗算器32からのデータのいずれか
をレジスタ37に格納するセレクタ(演算部)であり、
37は、セレクタ36からのデータを記憶し、セレクタ
34およびデータバス13X,13Yに適宜出力するレ
ジスタである。
【0054】プログラマブルロジック部3において、9
1Xは、データバス13Xに接続されたレジスタ(第1
のレジスタ)であり、91Yは、データバス13Yに接
続されたレジスタ(第2のレジスタ)であり、41は、
レジスタ91X,91Yのデータに対して所定の演算を
実行し、その演算の結果をレジスタ92に格納するプロ
グラマブルロジックアレイであり、92は、プログラマ
ブルロジックアレイ41およびデータバス13X,13
Yに接続され、プログラマブルロジックアレイ41の演
算結果を記憶するレジスタである。
1Xは、データバス13Xに接続されたレジスタ(第1
のレジスタ)であり、91Yは、データバス13Yに接
続されたレジスタ(第2のレジスタ)であり、41は、
レジスタ91X,91Yのデータに対して所定の演算を
実行し、その演算の結果をレジスタ92に格納するプロ
グラマブルロジックアレイであり、92は、プログラマ
ブルロジックアレイ41およびデータバス13X,13
Yに接続され、プログラマブルロジックアレイ41の演
算結果を記憶するレジスタである。
【0055】次に動作について説明する。命令実行部1
1において演算を実行する場合には、ローカルメモリ1
4Xからデータバス13Xを介してレジスタ81Xにデ
ータが供給されるとともに、ローカルメモリ14Yから
データバス13Yを介してレジスタ81Yにデータが供
給される。乗算器32、加算器35、およびセレクタ3
4,83,86は、デコードされた命令に応じて動作
し、命令に対応する演算を実行する。そして、その演算
結果は、レジスタ37からデータバス13X,13Yを
介してローカルメモリ14X,14Yに格納される。
1において演算を実行する場合には、ローカルメモリ1
4Xからデータバス13Xを介してレジスタ81Xにデ
ータが供給されるとともに、ローカルメモリ14Yから
データバス13Yを介してレジスタ81Yにデータが供
給される。乗算器32、加算器35、およびセレクタ3
4,83,86は、デコードされた命令に応じて動作
し、命令に対応する演算を実行する。そして、その演算
結果は、レジスタ37からデータバス13X,13Yを
介してローカルメモリ14X,14Yに格納される。
【0056】一方、プログラマブルロジック部3におい
て演算を実行する場合には、命令実行部11は、データ
転送命令(上述のLD命令)をデコードし、そのデータ
転送命令に応じて、ローカルメモリ14Xからデータバ
ス13Xを介してプログラマブルロジック部3のレジス
タ91Xにデータを転送させるとともに、ローカルメモ
リ14Yからデータバス13Yを介してレジスタ91Y
にデータを転送させる。
て演算を実行する場合には、命令実行部11は、データ
転送命令(上述のLD命令)をデコードし、そのデータ
転送命令に応じて、ローカルメモリ14Xからデータバ
ス13Xを介してプログラマブルロジック部3のレジス
タ91Xにデータを転送させるとともに、ローカルメモ
リ14Yからデータバス13Yを介してレジスタ91Y
にデータを転送させる。
【0057】プログラマブルロジックアレイ41は、レ
ジスタ91X,91Yにデータが供給されると、そのデ
ータに対して所定の演算を実行し、その演算の結果をレ
ジスタ92に格納する。
ジスタ91X,91Yにデータが供給されると、そのデ
ータに対して所定の演算を実行し、その演算の結果をレ
ジスタ92に格納する。
【0058】そして、命令実行部11は、データ転送命
令に基づいてプログラマブルロジック部3のレジスタ9
2から演算結果をローカルメモリ14X,14Yに転送
する。
令に基づいてプログラマブルロジック部3のレジスタ9
2から演算結果をローカルメモリ14X,14Yに転送
する。
【0059】以上のように、この実施の形態4によれ
ば、実施の形態1による効果と同様の効果が得られる
他、2つのローカルメモリ14X,14Yと、命令実行
部11の2つのレジスタ81X,81Yおよびプログラ
マブルロジック部3の2つのレジスタ91X,91Yと
を、それぞれ2つの独立したデータバス13X,13Y
で接続するようにしたので、2つのデータに対して積和
演算を連続して実行するような場合には、2つのデータ
の転送を並行して実行することができ、計算を効率よく
実行することができるという効果が得られる。すなわ
ち、これらのローカルメモリ14X,14Y、データバ
ス13X,13Yを使用してパイプライン処理を実行す
る場合にもストールすることなく計算を実行することが
できる。
ば、実施の形態1による効果と同様の効果が得られる
他、2つのローカルメモリ14X,14Yと、命令実行
部11の2つのレジスタ81X,81Yおよびプログラ
マブルロジック部3の2つのレジスタ91X,91Yと
を、それぞれ2つの独立したデータバス13X,13Y
で接続するようにしたので、2つのデータに対して積和
演算を連続して実行するような場合には、2つのデータ
の転送を並行して実行することができ、計算を効率よく
実行することができるという効果が得られる。すなわ
ち、これらのローカルメモリ14X,14Y、データバ
ス13X,13Yを使用してパイプライン処理を実行す
る場合にもストールすることなく計算を実行することが
できる。
【0060】このような積和演算を連続して実行する応
用例としては、リードソロモン符号の復号化が考えられ
る。例えば「A 40-MHz Encoder-Decoder Chip Generali
zedBy A Reed-Solomon Code Compiler 」(P.Ton
g著、CICC 13−5−1、1990年)に記載さ
れているように、リードソロモン符号についての符号化
/復号化を実行する場合には、ガロワ体上の要素に対す
る積和演算が実行される。したがって、このような通常
の演算とは異なるガロワ体上の要素に対する演算をプロ
グラマブルロジック部3が実行するようにすることによ
り、効率よくそのような演算を実行することができ、さ
らに、その演算結果をコントローラ2で利用することが
できる。
用例としては、リードソロモン符号の復号化が考えられ
る。例えば「A 40-MHz Encoder-Decoder Chip Generali
zedBy A Reed-Solomon Code Compiler 」(P.Ton
g著、CICC 13−5−1、1990年)に記載さ
れているように、リードソロモン符号についての符号化
/復号化を実行する場合には、ガロワ体上の要素に対す
る積和演算が実行される。したがって、このような通常
の演算とは異なるガロワ体上の要素に対する演算をプロ
グラマブルロジック部3が実行するようにすることによ
り、効率よくそのような演算を実行することができ、さ
らに、その演算結果をコントローラ2で利用することが
できる。
【0061】実施の形態5.図6は、この発明の実施の
形態5による半導体集積回路におけるコントローラ2の
命令実行部11、プログラマブルロジック部3およびデ
ータバス13X,13Yの構成を示すブロック図であ
る。なお、その他の構成要素については、実施の形態4
のものと同様であるので、その説明を省略する。
形態5による半導体集積回路におけるコントローラ2の
命令実行部11、プログラマブルロジック部3およびデ
ータバス13X,13Yの構成を示すブロック図であ
る。なお、その他の構成要素については、実施の形態4
のものと同様であるので、その説明を省略する。
【0062】11は、図1のデータバス13としてのデ
ータバス13X,13Yに接続され、汎用のデジタルシ
グナルプロセッサの回路構成と同様の回路構成を有する
命令実行部であり、13X,13Yは、システムバスと
してのデータバスである。なお、この実施の形態5にお
いては、プログラマブルロジック部3は、データバス1
3X,13Yには接続されていない。
ータバス13X,13Yに接続され、汎用のデジタルシ
グナルプロセッサの回路構成と同様の回路構成を有する
命令実行部であり、13X,13Yは、システムバスと
してのデータバスである。なお、この実施の形態5にお
いては、プログラマブルロジック部3は、データバス1
3X,13Yには接続されていない。
【0063】命令実行部11において、31Xは、デー
タバス13Xに接続され、データバス13Xを介して供
給されるデータを記憶し、命令実行部11に供給される
命令の種類に応じて、そのデータをプログラマブルロジ
ック部3に出力するか、あるいは、乗算器32およびセ
レクタ33に供給するレジスタ部(レジスタ、供給手
段)であり、31Yは、データバス13Yに接続され、
データバス13Yを介して供給されるデータを記憶し、
命令実行部11に供給される命令の種類に応じて、その
データをプログラマブルロジック部3に出力するか、あ
るいは、乗算器32およびセレクタ34に供給するレジ
スタ部(レジスタ、供給手段)である。
タバス13Xに接続され、データバス13Xを介して供
給されるデータを記憶し、命令実行部11に供給される
命令の種類に応じて、そのデータをプログラマブルロジ
ック部3に出力するか、あるいは、乗算器32およびセ
レクタ33に供給するレジスタ部(レジスタ、供給手
段)であり、31Yは、データバス13Yに接続され、
データバス13Yを介して供給されるデータを記憶し、
命令実行部11に供給される命令の種類に応じて、その
データをプログラマブルロジック部3に出力するか、あ
るいは、乗算器32およびセレクタ34に供給するレジ
スタ部(レジスタ、供給手段)である。
【0064】32は、レジスタ部31X,31Yに接続
され、レジスタ部31Xからのデータとレジスタ部31
Yからのデータとの積を計算し、セレクタ33およびセ
レクタ36に出力する乗算器であり、33は、乗算器3
2からのデータ、レジスタ部31Xからのデータ、およ
びプログラマブルロジック部3からのデータのいずれか
を加算器35に出力するセレクタ(演算部、出力手段)
であり、34は、レジスタ部31Yからのデータおよび
レジスタ37からのデータのいずれかを加算器35に出
力するセレクタ(演算部)である。
され、レジスタ部31Xからのデータとレジスタ部31
Yからのデータとの積を計算し、セレクタ33およびセ
レクタ36に出力する乗算器であり、33は、乗算器3
2からのデータ、レジスタ部31Xからのデータ、およ
びプログラマブルロジック部3からのデータのいずれか
を加算器35に出力するセレクタ(演算部、出力手段)
であり、34は、レジスタ部31Yからのデータおよび
レジスタ37からのデータのいずれかを加算器35に出
力するセレクタ(演算部)である。
【0065】35は、セレクタ33からのデータとセレ
クタ34からのデータとの和を計算し、セレクタ36に
出力する加算器であり、36は、加算器35からのデー
タ、乗算器32からのデータ、およびプログラマブルロ
ジック部3からのデータのいずれかをレジスタ37に格
納するセレクタ(演算部、出力手段)であり、37は、
セレクタ36からのデータを記憶し、セレクタ34およ
びデータバス13X,13Yに適宜出力するレジスタで
ある。
クタ34からのデータとの和を計算し、セレクタ36に
出力する加算器であり、36は、加算器35からのデー
タ、乗算器32からのデータ、およびプログラマブルロ
ジック部3からのデータのいずれかをレジスタ37に格
納するセレクタ(演算部、出力手段)であり、37は、
セレクタ36からのデータを記憶し、セレクタ34およ
びデータバス13X,13Yに適宜出力するレジスタで
ある。
【0066】プログラマブルロジック部3において、4
1は、所定の数のロジックブロックで構成され、所定の
ロジックブロックと命令実行部11のレジスタ部31
X,31Yがそれぞれ接続され、所定のロジックブロッ
クと命令実行部11のセレクタ33,36が接続された
プログラマブルロジックアレイである。
1は、所定の数のロジックブロックで構成され、所定の
ロジックブロックと命令実行部11のレジスタ部31
X,31Yがそれぞれ接続され、所定のロジックブロッ
クと命令実行部11のセレクタ33,36が接続された
プログラマブルロジックアレイである。
【0067】次に動作について説明する。インストラク
ションバス15を介して命令が命令実行部11に供給さ
れ、その命令がデコードされ、その命令のオペランドに
対応するデータがレジスタ部31X,31Yに供給され
ると、レジスタ部31X,31Yは、デコードされた命
令が所定の命令である場合、プログラマブルロジック部
3のプログラマブルロジックアレイ41にそのデータを
出力する。
ションバス15を介して命令が命令実行部11に供給さ
れ、その命令がデコードされ、その命令のオペランドに
対応するデータがレジスタ部31X,31Yに供給され
ると、レジスタ部31X,31Yは、デコードされた命
令が所定の命令である場合、プログラマブルロジック部
3のプログラマブルロジックアレイ41にそのデータを
出力する。
【0068】プログラマブルロジック部3にデータが供
給された場合、プログラマブルロジックアレイ41は、
そのデータに対して所定の演算を実行し、その演算の結
果をセレクタ33,36に出力する。
給された場合、プログラマブルロジックアレイ41は、
そのデータに対して所定の演算を実行し、その演算の結
果をセレクタ33,36に出力する。
【0069】デコードされた命令が所定の命令である場
合、セレクタ33は、プログラマブルロジック部3から
のデータを加算器35に出力し、セレクタ36は、プロ
グラマブルロジック部3からのデータをレジスタ37に
格納する。
合、セレクタ33は、プログラマブルロジック部3から
のデータを加算器35に出力し、セレクタ36は、プロ
グラマブルロジック部3からのデータをレジスタ37に
格納する。
【0070】一方、レジスタ部31X,31Yは、デコ
ードされた命令がその所定の命令以外の命令である場
合、そのデータを乗算器32、および、セレクタ33,
34に供給する。乗算器32は、それらのデータの積を
計算し、セレクタ33およびセレクタ36に出力する。
この場合、セレクタ33は、デコードされた命令に応じ
て、レジスタ部31Xからのデータまたは乗算器32か
らのデータを加算器35に出力する。また、セレクタ3
4は、デコードされた命令に応じて、レジスタ部31Y
からのデータまたはレジスタ37からのデータを加算器
35に出力する。
ードされた命令がその所定の命令以外の命令である場
合、そのデータを乗算器32、および、セレクタ33,
34に供給する。乗算器32は、それらのデータの積を
計算し、セレクタ33およびセレクタ36に出力する。
この場合、セレクタ33は、デコードされた命令に応じ
て、レジスタ部31Xからのデータまたは乗算器32か
らのデータを加算器35に出力する。また、セレクタ3
4は、デコードされた命令に応じて、レジスタ部31Y
からのデータまたはレジスタ37からのデータを加算器
35に出力する。
【0071】そして、加算器35は、セレクタ33から
のデータとセレクタ34からのデータとの和を計算し、
セレクタ36に出力する。セレクタ36は、この場合、
デコードされた命令に応じて乗算器32からのデータま
たは加算器35からのデータをレジスタ37に格納す
る。
のデータとセレクタ34からのデータとの和を計算し、
セレクタ36に出力する。セレクタ36は、この場合、
デコードされた命令に応じて乗算器32からのデータま
たは加算器35からのデータをレジスタ37に格納す
る。
【0072】以上のように、この実施の形態5によれ
ば、所定の命令についてだけプログラマブルロジック部
3で処理するようにし、命令の種類に応じてデータをプ
ログラマブルロジック部3に供給するようにしたので、
データ転送のための拡張命令を追加する必要がなく、論
理デバイスとともに半導体集積回路に形成するコントロ
ーラとして汎用コントローラを使用することができ、コ
ストを低減することができるという効果が得られる。
ば、所定の命令についてだけプログラマブルロジック部
3で処理するようにし、命令の種類に応じてデータをプ
ログラマブルロジック部3に供給するようにしたので、
データ転送のための拡張命令を追加する必要がなく、論
理デバイスとともに半導体集積回路に形成するコントロ
ーラとして汎用コントローラを使用することができ、コ
ストを低減することができるという効果が得られる。
【0073】実施の形態6.図7に示すように、上記実
施の形態1から実施の形態5においては、同一のチップ
ダイ101Aにコントローラ2とともに論理デバイスと
してのプログラマブルロジック部3が形成されている
が、論理デバイスに実行させる演算が変更されない場合
には、プログラマブルロジック部3の代わりに、その演
算に対応した通常のゲートアレイ部(論理デバイス)1
03を形成するようにしてもよい。また、論理デバイス
のうち、演算が変更されない部分だけゲートアレイとし
て、演算が変更される部分をプログラマブルロジックと
して形成するようにしてもよい。
施の形態1から実施の形態5においては、同一のチップ
ダイ101Aにコントローラ2とともに論理デバイスと
してのプログラマブルロジック部3が形成されている
が、論理デバイスに実行させる演算が変更されない場合
には、プログラマブルロジック部3の代わりに、その演
算に対応した通常のゲートアレイ部(論理デバイス)1
03を形成するようにしてもよい。また、論理デバイス
のうち、演算が変更されない部分だけゲートアレイとし
て、演算が変更される部分をプログラマブルロジックと
して形成するようにしてもよい。
【0074】以上のように、この実施の形態6によれ
ば、演算が変更されない部分については、通常のゲート
アレイを、コントローラ2とともに形成するようにした
ので、論理デバイスをすべてプログラマブルロジックで
構成する場合より、ゲート数が少なくなり、ひいてはチ
ップ面積を削減することができ、チップの歩留まりの向
上、およびコストの低減が可能になるという効果が得ら
れる。
ば、演算が変更されない部分については、通常のゲート
アレイを、コントローラ2とともに形成するようにした
ので、論理デバイスをすべてプログラマブルロジックで
構成する場合より、ゲート数が少なくなり、ひいてはチ
ップ面積を削減することができ、チップの歩留まりの向
上、およびコストの低減が可能になるという効果が得ら
れる。
【0075】なお、上記実施の形態1から実施の形態5
において、プログラマブルロジック部3で、通常の乗算
器を構成することにより、乗算器を有さないマイクロコ
ントロールユニットに乗算機能を付加することができ
る。また、プログラマブルロジック部3で、DRAMコ
ントローラを構成することにより、DRAMコントロー
ラを有さないマイクロコントロールユニットにDRAM
を制御するための機能を付加することができる。
において、プログラマブルロジック部3で、通常の乗算
器を構成することにより、乗算器を有さないマイクロコ
ントロールユニットに乗算機能を付加することができ
る。また、プログラマブルロジック部3で、DRAMコ
ントローラを構成することにより、DRAMコントロー
ラを有さないマイクロコントロールユニットにDRAM
を制御するための機能を付加することができる。
【0076】
【発明の効果】以上のように、この発明によれば、コン
トローラが、汎用コントローラの命令セットだけに基づ
いて、論理デバイスに対するデータの授受を実行するよ
うに構成したので、論理デバイスとともに半導体集積回
路に形成するコントローラとして汎用コントローラを使
用することができ、コストを低減することができるとい
う効果がある。
トローラが、汎用コントローラの命令セットだけに基づ
いて、論理デバイスに対するデータの授受を実行するよ
うに構成したので、論理デバイスとともに半導体集積回
路に形成するコントローラとして汎用コントローラを使
用することができ、コストを低減することができるとい
う効果がある。
【0077】この発明によれば、論理デバイスが、コン
トローラのシステムバスに接続され入力されるデータを
記憶するレジスタまたはメモリを有し、コントローラ
が、システムバスに接続された周辺回路との間で実行す
るデータの授受の命令と同一の命令に基づいて、論理デ
バイスのレジスタまたはメモリに対してデータの授受を
実行するように構成したので、周辺回路と同様にして簡
単に論理デバイスをコントローラに付加することができ
るという効果がある。
トローラのシステムバスに接続され入力されるデータを
記憶するレジスタまたはメモリを有し、コントローラ
が、システムバスに接続された周辺回路との間で実行す
るデータの授受の命令と同一の命令に基づいて、論理デ
バイスのレジスタまたはメモリに対してデータの授受を
実行するように構成したので、周辺回路と同様にして簡
単に論理デバイスをコントローラに付加することができ
るという効果がある。
【0078】この発明によれば、システムバスに接続さ
れたメモリと、コントローラとは独立に動作し、メモリ
と論理デバイスとの間のデータの入出力を制御するスレ
ーブコントローラとを備えるようにしたので、データの
DMA転送を実行することができ、データ転送の効率や
計算の効率を向上させることができるという効果があ
る。
れたメモリと、コントローラとは独立に動作し、メモリ
と論理デバイスとの間のデータの入出力を制御するスレ
ーブコントローラとを備えるようにしたので、データの
DMA転送を実行することができ、データ転送の効率や
計算の効率を向上させることができるという効果があ
る。
【0079】この発明によれば、所定の第1および第2
のバスにそれぞれ接続され、演算命令に対応する2つの
オペランドのデータをそれぞれ記憶する第1および第2
のメモリを備え、論理デバイスが、第1のバスに接続さ
れた第1のレジスタと、第2のバスに接続された第2の
レジスタと、第1および第2のレジスタの値に対して所
定の演算を実行する演算部とを有し、コントローラが、
第1のバスに接続された第3のレジスタと、第2のバス
で接続された第4のレジスタと、演算命令に対応する演
算を第3および第4のレジスタの値に対して実行する演
算部とを有し、第3および第4のレジスタに対して実行
するデータ転送の命令と同一の命令に基づいて、第1お
よび第2のバスを介して、第1および第2のメモリから
論理デバイスの第1および第2のレジスタへのデータ転
送を実行するようにしたので、2つのデータに対して積
和演算を連続して実行するような場合には、2つのデー
タの転送を並行して実行することができ、計算を効率よ
く実行することができるという効果がある。
のバスにそれぞれ接続され、演算命令に対応する2つの
オペランドのデータをそれぞれ記憶する第1および第2
のメモリを備え、論理デバイスが、第1のバスに接続さ
れた第1のレジスタと、第2のバスに接続された第2の
レジスタと、第1および第2のレジスタの値に対して所
定の演算を実行する演算部とを有し、コントローラが、
第1のバスに接続された第3のレジスタと、第2のバス
で接続された第4のレジスタと、演算命令に対応する演
算を第3および第4のレジスタの値に対して実行する演
算部とを有し、第3および第4のレジスタに対して実行
するデータ転送の命令と同一の命令に基づいて、第1お
よび第2のバスを介して、第1および第2のメモリから
論理デバイスの第1および第2のレジスタへのデータ転
送を実行するようにしたので、2つのデータに対して積
和演算を連続して実行するような場合には、2つのデー
タの転送を並行して実行することができ、計算を効率よ
く実行することができるという効果がある。
【0080】この発明によれば、コントローラが、所定
の命令セットの各命令に対応する演算を実行する演算部
と、演算における2つのオペランドのデータを記憶する
2つのレジスタと、2つのレジスタに記憶されたオペラ
ンドのデータを、命令の種類に応じて、論理デバイスお
よび演算部のいずれか一方に供給する供給手段と、命令
の種類に応じて論理デバイスによる演算の結果または演
算部による演算の結果をその命令に対する演算結果とし
て出力する出力手段とを有し、論理デバイスが、供給手
段により供給されたオペランドのデータに対して所定の
演算を実行し、その演算の結果を出力手段に出力するよ
うにしたので、データ転送のための拡張命令を追加する
必要がなく、論理デバイスとともに半導体集積回路に形
成するコントローラとして汎用コントローラを使用する
ことができ、コストを低減することができるという効果
がある。
の命令セットの各命令に対応する演算を実行する演算部
と、演算における2つのオペランドのデータを記憶する
2つのレジスタと、2つのレジスタに記憶されたオペラ
ンドのデータを、命令の種類に応じて、論理デバイスお
よび演算部のいずれか一方に供給する供給手段と、命令
の種類に応じて論理デバイスによる演算の結果または演
算部による演算の結果をその命令に対する演算結果とし
て出力する出力手段とを有し、論理デバイスが、供給手
段により供給されたオペランドのデータに対して所定の
演算を実行し、その演算の結果を出力手段に出力するよ
うにしたので、データ転送のための拡張命令を追加する
必要がなく、論理デバイスとともに半導体集積回路に形
成するコントローラとして汎用コントローラを使用する
ことができ、コストを低減することができるという効果
がある。
【図1】 この発明の実施の形態1による半導体集積回
路の構成例を示すブロック図である。
路の構成例を示すブロック図である。
【図2】 図1の半導体集積回路の命令実行部とプログ
ラマブルロジック部の詳細な構成を示すブロック図であ
る。
ラマブルロジック部の詳細な構成を示すブロック図であ
る。
【図3】 この発明の実施の形態2による半導体集積回
路におけるコントローラの命令実行部および周辺ロジッ
ク部、並びにプログラマブルロジック部を示すブロック
図である。
路におけるコントローラの命令実行部および周辺ロジッ
ク部、並びにプログラマブルロジック部を示すブロック
図である。
【図4】 この発明の実施の形態3による半導体集積回
路におけるコントローラの命令実行部、プログラマブル
ロジック部およびスレーブコントローラを示すブロック
図である。
路におけるコントローラの命令実行部、プログラマブル
ロジック部およびスレーブコントローラを示すブロック
図である。
【図5】 この発明の実施の形態4による半導体集積回
路におけるコントローラの命令実行部およびローカルメ
モリ、プログラマブルロジック部、並びにデータバスの
構成を示すブロック図である。
路におけるコントローラの命令実行部およびローカルメ
モリ、プログラマブルロジック部、並びにデータバスの
構成を示すブロック図である。
【図6】 この発明の実施の形態5による半導体集積回
路におけるコントローラの命令実行部、プログラマブル
ロジック部およびデータバスの構成を示すブロック図で
ある。
路におけるコントローラの命令実行部、プログラマブル
ロジック部およびデータバスの構成を示すブロック図で
ある。
【図7】 コントローラとともにゲートアレイ部を形成
した半導体集積回路の一例を説明する図である。
した半導体集積回路の一例を説明する図である。
【図8】 従来の半導体集積回路の構成を示すブロック
図である。
図である。
1 半導体集積回路、2 コントローラ、3 プログラ
マブルロジック部(論理デバイス)、13 データバス
(システムバス)、14X ローカルメモリ(第1のメ
モリ)、14Y ローカルメモリ(第2のメモリ)、2
3 レジスタファイル、24A,24B ソースオペラ
ンドバス(内部バス)、24C デスティネーションバ
ス(内部バス)、31X,31Y レジスタ部(レジス
タ、供給手段)、32 乗算器(演算部)、33,36
セレクタ(演算部、出力手段)、34,83,86
セレクタ(演算部)、35 加算器(演算部)、41
プログラマブルロジックアレイ(論理デバイス演算
部)、42A,42B,42Cレジスタ、71 アドレ
スバス(システムバス)、75 スレーブコントロー
ラ、81X レジスタ(第3のレジスタ)、81Y レ
ジスタ(第4のレジスタ)、91X レジスタ(第1の
レジスタ)、91Y レジスタ(第2のレジスタ)、1
03 ゲートアレイ部(論理デバイス)。
マブルロジック部(論理デバイス)、13 データバス
(システムバス)、14X ローカルメモリ(第1のメ
モリ)、14Y ローカルメモリ(第2のメモリ)、2
3 レジスタファイル、24A,24B ソースオペラ
ンドバス(内部バス)、24C デスティネーションバ
ス(内部バス)、31X,31Y レジスタ部(レジス
タ、供給手段)、32 乗算器(演算部)、33,36
セレクタ(演算部、出力手段)、34,83,86
セレクタ(演算部)、35 加算器(演算部)、41
プログラマブルロジックアレイ(論理デバイス演算
部)、42A,42B,42Cレジスタ、71 アドレ
スバス(システムバス)、75 スレーブコントロー
ラ、81X レジスタ(第3のレジスタ)、81Y レ
ジスタ(第4のレジスタ)、91X レジスタ(第1の
レジスタ)、91Y レジスタ(第2のレジスタ)、1
03 ゲートアレイ部(論理デバイス)。
Claims (8)
- 【請求項1】 同一のチップダイに、所定の命令セット
に基づいてプログラムに従って供給される命令に応じて
動作するコントローラと、入力されるデータに対して所
定の演算を実行する論理デバイスとを備えた半導体集積
回路において、 前記コントローラは、汎用コントローラの命令セットだ
けに基づいて、前記論理デバイスに対するデータの授受
を実行することを特徴とする半導体集積回路。 - 【請求項2】 論理デバイスは、入力されるデータを記
憶するレジスタまたはメモリを有し、 コントローラは、前記コントローラ内部のレジスタまた
はメモリに対して実行するデータの授受の命令と同一の
命令に基づいて、前記論理デバイスの前記レジスタまた
はメモリに対してデータの授受を実行することを特徴と
する請求項1記載の半導体集積回路。 - 【請求項3】 論理デバイスのレジスタまたはメモリ
は、コントローラの内部バスに接続され、 前記コントローラは、前記内部バスに接続され所定の命
令セットの各命令に対応する演算を実行する演算部と、
前記内部バスに接続されたレジスタファイルとを有し、
前記内部バスを介して前記論理デバイスのレジスタまた
はメモリに対してデータの授受を実行することを特徴と
する請求項2記載の半導体集積回路。 - 【請求項4】 論理デバイスは、コントローラのシステ
ムバスに接続され前記入力されるデータを記憶するレジ
スタまたはメモリを有し、 前記コントローラは、前記システムバスに接続された周
辺回路との間で実行するデータの授受の命令と同一の命
令に基づいて、前記論理デバイスのレジスタまたはメモ
リに対してデータの授受を実行することを特徴とする請
求項1記載の半導体集積回路。 - 【請求項5】 システムバスに接続されたメモリと、コ
ントローラとは独立に動作し、前記メモリと論理デバイ
スとの間のデータの入出力を制御するスレーブコントロ
ーラとを備えることを特徴とする請求項4記載の半導体
集積回路。 - 【請求項6】 論理デバイスは、リコンフィギュラブル
論理デバイスであり、 スレーブコントローラは、リコンフィギュラブル論理デ
バイスの構成を変更することを特徴とする請求項5記載
の半導体集積回路。 - 【請求項7】 所定の第1および第2のバスにそれぞれ
接続され、演算命令に対応する2つのオペランドのデー
タをそれぞれ記憶する第1および第2のメモリを備え、 論理デバイスは、前記第1のバスに接続された第1のレ
ジスタと、前記第2のバスに接続された第2のレジスタ
と、前記第1および第2のレジスタの値に対して所定の
演算を実行する論理デバイス演算部とを有し、 前記コントローラは、前記第1のバスに接続された第3
のレジスタと、前記第2のバスで接続された第4のレジ
スタと、前記演算命令に対応する演算を前記第3および
第4のレジスタの値に対して実行する演算部とを有し、
前記第3および第4のレジスタに対して実行するデータ
転送の命令と同一の命令に基づいて、前記第1および第
2のバスを介して、前記第1および第2のメモリから前
記論理デバイスの前記第1および第2のレジスタへのデ
ータ転送を実行することを特徴とする請求項1記載の半
導体集積回路。 - 【請求項8】 同一のチップダイに、所定の命令セット
に基づいてプログラムに従って供給される命令に応じて
動作するコントローラと、入力されるデータに対して所
定の演算を実行する論理デバイスとを備えた半導体集積
回路において、 前記コントローラは、所定の命令セットの各命令に対応
する演算を実行する演算部と、前記演算における2つの
オペランドのデータを記憶する2つのレジスタと、前記
2つのレジスタに記憶されたオペランドのデータを、命
令の種類に応じて、前記論理デバイスおよび前記演算部
のいずれか一方に供給する供給手段と、前記命令の種類
に応じて前記論理デバイスによる演算の結果または前記
演算部による演算の結果をその命令に対する演算結果と
して出力する出力手段とを有し、 前記論理デバイスは、前記供給手段により供給されたオ
ペランドのデータに対して所定の演算を実行し、その演
算の結果を前記出力手段に出力することを特徴とする半
導体集積回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11120298A JPH11307725A (ja) | 1998-04-21 | 1998-04-21 | 半導体集積回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11120298A JPH11307725A (ja) | 1998-04-21 | 1998-04-21 | 半導体集積回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11307725A true JPH11307725A (ja) | 1999-11-05 |
Family
ID=14555103
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11120298A Pending JPH11307725A (ja) | 1998-04-21 | 1998-04-21 | 半導体集積回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11307725A (ja) |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
| US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
| US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
| US7565525B2 (en) | 1996-12-09 | 2009-07-21 | Pact Xpp Technologies Ag | Runtime configurable arithmetic and logic cell |
| US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
| US7584390B2 (en) | 1997-12-22 | 2009-09-01 | Pact Xpp Technologies Ag | Method and system for alternating between programs for execution by cells of an integrated circuit |
| JPWO2008026273A1 (ja) * | 2006-08-31 | 2010-01-14 | 富士通株式会社 | Dmaコントローラ |
| US7693257B2 (en) | 2006-06-29 | 2010-04-06 | Accuray Incorporated | Treatment delivery optimization |
| JP2011186850A (ja) * | 2010-03-09 | 2011-09-22 | Fujitsu Semiconductor Ltd | データ処理システム及びその制御方法 |
| USRE44365E1 (en) | 1997-02-08 | 2013-07-09 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
| US8869121B2 (en) | 2001-08-16 | 2014-10-21 | Pact Xpp Technologies Ag | Method for the translation of programs for reconfigurable architectures |
| US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
| US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
| US9047440B2 (en) | 2000-10-06 | 2015-06-02 | Pact Xpp Technologies Ag | Logical cell array and bus system |
-
1998
- 1998-04-21 JP JP11120298A patent/JPH11307725A/ja active Pending
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7565525B2 (en) | 1996-12-09 | 2009-07-21 | Pact Xpp Technologies Ag | Runtime configurable arithmetic and logic cell |
| USRE45109E1 (en) | 1997-02-08 | 2014-09-02 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
| USRE45223E1 (en) | 1997-02-08 | 2014-10-28 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
| USRE44365E1 (en) | 1997-02-08 | 2013-07-09 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
| US7584390B2 (en) | 1997-12-22 | 2009-09-01 | Pact Xpp Technologies Ag | Method and system for alternating between programs for execution by cells of an integrated circuit |
| US9047440B2 (en) | 2000-10-06 | 2015-06-02 | Pact Xpp Technologies Ag | Logical cell array and bus system |
| US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
| US9075605B2 (en) | 2001-03-05 | 2015-07-07 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
| US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
| US8869121B2 (en) | 2001-08-16 | 2014-10-21 | Pact Xpp Technologies Ag | Method for the translation of programs for reconfigurable architectures |
| US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
| US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
| US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
| US7602214B2 (en) | 2002-09-06 | 2009-10-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
| US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
| US7693257B2 (en) | 2006-06-29 | 2010-04-06 | Accuray Incorporated | Treatment delivery optimization |
| JPWO2008026273A1 (ja) * | 2006-08-31 | 2010-01-14 | 富士通株式会社 | Dmaコントローラ |
| JP2011186850A (ja) * | 2010-03-09 | 2011-09-22 | Fujitsu Semiconductor Ltd | データ処理システム及びその制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1028382B1 (en) | Microcomputer | |
| EP1001335B1 (en) | Data processing unit with coprocessor interface | |
| CN101882127B (zh) | 一种多核心处理器 | |
| US6446190B1 (en) | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor | |
| EP1102163A2 (en) | Microprocessor with improved instruction set architecture | |
| US5938759A (en) | Processor instruction control mechanism capable of decoding register instructions and immediate instructions with simple configuration | |
| US20070250682A1 (en) | Method and apparatus for operating a computer processor array | |
| JPH11307725A (ja) | 半導体集積回路 | |
| CN1666174B (zh) | 用于信号处理的处理器 | |
| JP2003005958A (ja) | データ処理装置およびその制御方法 | |
| KR19990029948A (ko) | 데이터 처리장치의 사용자 프로그래머블회로 | |
| US5307300A (en) | High speed processing unit | |
| JP3479385B2 (ja) | 情報処理装置 | |
| JP2003501773A (ja) | 算術論理演算装置およびスタックを備えたデータプロセッサ | |
| JPH096614A (ja) | データ処理装置 | |
| JP3727395B2 (ja) | マイクロコンピュータ | |
| JP3650519B2 (ja) | マイクロコンピュータ | |
| KR100188374B1 (ko) | 연산처리장치 | |
| JP3562215B2 (ja) | マイクロコンピュータ及び電子機器 | |
| JP3841820B2 (ja) | マイクロコンピュータ | |
| JPH11282674A (ja) | プロセッサ | |
| JPH0876996A (ja) | プログラマブルコントローラ | |
| Srini et al. | Parallel DSP with memory and I/O processors | |
| JP3765782B2 (ja) | マイクロコンピュータ | |
| JP3733137B2 (ja) | マイクロコンピュータ |