JP4861030B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP4861030B2
JP4861030B2 JP2006084190A JP2006084190A JP4861030B2 JP 4861030 B2 JP4861030 B2 JP 4861030B2 JP 2006084190 A JP2006084190 A JP 2006084190A JP 2006084190 A JP2006084190 A JP 2006084190A JP 4861030 B2 JP4861030 B2 JP 4861030B2
Authority
JP
Japan
Prior art keywords
data
circuit information
circuit
arithmetic unit
control
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
Application number
JP2006084190A
Other languages
English (en)
Other versions
JP2007257549A (ja
Inventor
宜史 吉川
裕 山田
滋博 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006084190A priority Critical patent/JP4861030B2/ja
Priority to US11/727,134 priority patent/US7653805B2/en
Publication of JP2007257549A publication Critical patent/JP2007257549A/ja
Application granted granted Critical
Publication of JP4861030B2 publication Critical patent/JP4861030B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Description

本発明は、動的リコンフィギュラブル回路技術を用いた半導体装置に関するものである。
近年、携帯機器など低コスト・低消費電力が求められる機器においても、機能の複雑化、多様化が進み、このような機器にも高い性能が必要とされてきている。高性能と低消費電力を両立させるためには、専用ハードウェアの製造・開発は避けられない。しかしながら、機能の複雑化・多様化に伴い専用ハードウェアの製造・開発費は年々増大している。この製造・開発費を削減するものとして、動的リコンフィギュラブル回路技術を用いた半導体装置が注目されている。
動的リコンフィギュラブル回路技術を用いた半導体装置は、FPGAのようなリコンフィギュラブル回路と、そのリコンフィギャラブル回路に実行させたい回路(以下、単に実行回路と称す)を構築するのに必要な回路情報を複数蓄えておくための記憶装置を備えており、ソフトウェアなどによりあらかじめ決められた規則に従って、動作時に必要な回路情報を読み出して実行回路を構築できる装置である。動作時に実行回路を変えられる点が、FPGAを用いた従来の半導体装置とは異なる。
この半導体装置を用いると、FPGA同様に専用ハードウェアの開発費が低減されるだけでなく、実行回路を動的に構築することにより小さな半導体装置上に多様な機能が実現できるため、専用ハードウェアの製造費も低減されると期待されている。
動的リコンフィギュラブル回路技術を用いた半導体装置の例としては、NECエレクトロニクスのDRP(Dynamically Reconfigurable Processor・・・非特許文献1参照)や、カーネギーメロン大学のPipeRench(非特許文献2参照)が挙げられる。
NECエレクトロニクスのDRPは、演算を行う基本要素であるPE(Processing Element)が2次元アレイ状に並べられ、その中央に状態遷移コントローラが配置されるという構造を持つ。PEは実行回路を構築可能な演算装置で、PE内部にある命令メモリに演算の種類やPE間の接続関係といった回路情報が複数格納されている。各PEは状態遷移コントローラから与えられる命令ポインタに従って命令メモリから回路情報を読み出して、動的に実行回路を構築する。
カーネギーメロン大学のPipeRenchでは、演算を行う基本要素である複数のPEと、それらを接続するバスから成るstripeが、パイプライン型に接続された構成を取っている。PEは実行回路を構築可能な演算装置で、グローバルバスによりPipeRenchの外部にある制御装置と接続されている。PEの演算の種類やバス接続関係といった回路情報は、PipeRenchの外部にある制御装置からグローバルバスを介してPEに転送され、その情報に従ってPEは動的に実行回路を構築する。
「リコンフィギュラブルシステム」、オーム社、ページ189−208 "PipeRench: a reconfigurable architecture and compiler", IEEE Computer Volume 33, Issue 4, April 2000 Page(s):70−77
動的リコンフィギュラブル回路技術を用いた半導体装置の性能を十分に引き出すためには、実行回路の構築に必要な回路情報が決定され、その回路情報に基づいて実行回路が構築され、そして実行回路の構築された前後に到着する入力データが構築された実行回路により演算されるという、一連の処理にかかる時間を十分に短くする必要がある。
ところが、PipeRenchではPEでの実行回路を構築するために、外部にある制御装置がPEへ回路情報を直に転送しているため、制御装置がPEでの実行回路の構築に必要な回路情報を決定してから、回路情報のPEへの転送が完了するまでの時間が長く、前述の一連の処理に長時間を要するという課題があった。
一方、DRPではPEの内部にある命令メモリに複数の回路情報を保存できるようにし、PEでの実行回路の構築の際には、回路情報を命令メモリから読み出すようにした。その結果、回路情報の転送にかかる時間が短縮され、前述の一連の処理に要する時間が短縮された。
しかしながらDRPでは、まず状態遷移コントローラはPEに入力データが到着したというイベントを検出し、そのイベントに従ってPEでの実行回路の構築に必要な回路情報を決定してPEに命令ポインタを与え、PEはその命令ポインタを受け取ってから回路情報を命令メモリから読み出すという手順で行っている。
そのため、入力データが到着する前に必要な回路情報を決定し、実行回路を構築しておくことができないため、前述の一連の処理に要する時間はまだ十分に短くないという課題がある。
この課題は、動的リコンフィギュラブル回路がPipeRenchと同様の形態で接続され、回路の再構成にDRPの手法が適用された半導体装置においても解決されない。
本発明は、上記に鑑みてなされたものであって、パイプライン型に接続した複数のリコンフィギュラブル回路のそれぞれに、データを演算する実行回路を遅延無く構築することのできる半導体装置を提供することを目的とする。
実施形態の半導体装置は、複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、データを入力するデータ線と、規則信号を入力する制御線と、データ処理前に演算のそれぞれを実現するための回路情報の幾つかを記憶し、データ処理時のあるサイクル時に制御線からの規則信号に基づいて回路情報の一つを出力する回路情報制御部と、回路情報制御部から出力される一つの回路情報に従って、演算を行うための実行回路を構築しながら、データ線からのデータを実行回路で演算し演算後のデータを出力する演算器と、演算器からの演算後のデータを保持し次のサイクルで保持したデータを出力するデータレジスタと、規則信号を保持し次のサイクルで前記規則信号を出力する制御レジスタとをそれぞれ備える複数の演算ユニットを複数段直列に接続するために、データレジスタのデータを次段の演算ユニットのデータ線へ出力し、且つ、制御レジスタの規則信号を次段の演算ユニットの制御線へ出力するよう接続した演算パイプラインと、あるサイクルに、演算パイプラインの初段の演算ユニットの制御線への規則信号とデータ線へのデータとを出力するよう制御するコントローラとを具備したことを特徴とする。
また、実施形態の半導体装置は、複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、データを入力するデータ線と、規則信号を入力する制御線と、データ処理前に演算のそれぞれを実現するための回路情報の幾つかを記憶し、データ処理時のあるサイクル時に制御線からの規則信号に基づいて回路情報の一つを出力する回路情報制御部と、回路情報制御部から出力される一つの回路情報に従って、演算を行うための実行回路を構築し、データ線からのデータを実行回路で演算し演算後のデータを出力する演算器と、演算器からの演算後のデータを保持し次のサイクルで保持したデータを出力するデータレジスタと、規則信号を保持し次のサイクルで規則信号を出力する制御レジスタとをそれぞれ備える複数の演算ユニットを複数段直列に接続するために、データレジスタのデータを次段の演算ユニットのデータ線へ出力し、且つ、制御レジスタの規則信号を次段の演算ユニットの制御線へ出力するよう接続した演算パイプラインと、あるサイクルに、前記演算パイプラインの初段の演算ユニットの制御線への規則信号とデータ線へのデータとを出力するよう制御するコントローラとを有し、回路情報制御部は、制御線からの規則信号が無いサイクル中には、記憶された幾つかの回路情報を予め定めた順序で選択する選択制御回路を具備したことを特徴とする。
また、実施形態の半導体装置は、複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、コントローラと、データ処理するデータを保持し、コントローラからの指示により該データを出力するバッファと、あるサイクルで、コントローラから出力された規則信号に基づいて、予め保持される演算のそれぞれを実現するための回路情報の幾つかから選択した一つの回路情報に従って、演算を行うための第1実行回路を構築しながら、バッファから出力されたデータを実行回路で演算し、演算結果データを保持するとともに、コントローラからの前記規則信号を保持する第1の演算ユニットと、次のサイクルで、第1の演算ユニットで保持した規則信号に基づいて、予め保持される前記演算のそれぞれを実現するための回路情報の幾つかから選択した一つの回路情報に従って、演算を行うための第2実行回路を構築し、第1の演算ユニットで保持した演算結果データを第2実行回路で演算する第2の演算ユニットと、を備えたことを特徴とする。
また、実施形態の半導体装置は、複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、データを入力するデータ線と、規則信号を入力する制御線と、データ処理前に演算のそれぞれを実現するための回路情報の幾つかを記憶するラッチを有し、データ処理時の一つ前のサイクル時に制御線からの規則信号に基づいて回路情報の一つを記憶するラッチを選択し、データ処理時のあるサイクル時に制御線からの規則信号に基づいて選択されたラッチに記憶される回路情報の一つを出力する回路情報制御部と、回路情報制御部から出力される一つの回路情報に従って、演算を行うための実行回路を構築し、データ線からのデータを実行回路で演算し演算後のデータを出力する演算器と、演算器からの演算後のデータを保持し次のサイクルで保持したデータを出力するデータレジスタと、規則信号を保持し次のサイクルで規則信号を出力する制御レジスタとをそれぞれ備える複数の演算ユニットを複数段直列に接続するために、データレジスタのデータを次段の演算ユニットのデータ線へ出力し、且つ、制御レジスタの規則信号を次段の演算ユニットの制御線へ出力するよう接続した演算パイプラインと、あるサイクルに、演算パイプラインの初段の演算ユニットの制御線への規則信号とデータ線へのデータとを出力するよう制御するコントローラとを有することを特徴とする。
本発明によれば、パイプライン型に接続した複数のリコンフィギュラブル回路のそれぞれに、データを演算する実行回路を遅延無く構築することのできるようになった。その結果、演算器が回路を再構成するのに要する時間を演算器が入力データを待つ時間に隠蔽することができるため、動的リコンフィギュラブル回路をパイプライン型に接続した半導体装置の情報処理速度が向上するという効果も期待できる。
以下に、本実施の形態の半導体装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
図1は、本実施の形態にかかる半導体装置1の全体構成を示す図である。半導体装置1は、プロセッサなどの外部装置からの指示によりデータ処理を行うものであって、5つの演算ユニット10A〜Eとコントローラ11と入出力バッファ12とを有している。なお、ここでは、データ処理とは、個々の演算を行った一連の演算の総称のこととする。データ処理を実現する5つの演算ユニット10A〜Eは、データ、回路情報、再構成規則を示す規則信号(以下、単に再構成規則と称す)が演算ユニット10Aから演算ユニット10Eへ1サイクルずつ伝搬する、パイプライン型に接続されている。なお、データは各演算ユニット10A〜Eで順次演算された演算結果が伝搬するものであり、回路情報と再構成規則とは各演算ユニット10A〜Eの全てに伝搬するが特定のユニット(一つでなくても良い)でのみ利用されるものである。また、サイクルとは、同期式回路において記憶素子部の値が変化してから、次に記憶素子部の値が変化するまでの最小時間単位である。コントローラ11は演算ユニット10Aと入出力バッファ12に接続している。また、演算ユニット10Aと10Eは入出力バッファ12に接続している。
入出力バッファ12は、半導体装置1がデータ処理の開始時に与えるデータや、半導体装置1によるデータ処理の中間結果または最終結果を一時的に保持するものである。また、入出力バッファ12は、データ処理の開始前にプロセッサなどの外部装置により初期の入力データが書き込まれる。また、半導体装置1は、入出力バッファ12に保持されたデータ処理の中間結果を再び入力データとして、データ処理を続けることもできる。入出力バッファ12に保持された最終結果は、プロセッサなどの外部装置により入出力バッファ12から読み出される。
コントローラ11は、データ処理の開始前に演算ユニット10A〜Eの中にある記憶部に回路情報を予め設定する機能と、コントローラ11の中にある記憶部に記録されたコードに従って、サイクルごとに再構成規則を演算ユニット10Aに送る機能と、その同じコードに従って、サイクルごとに入出力バッファ12からのデータ読み出しと入出力バッファ12へのデータ書き込みを制御する機能を持つ。
コントローラ11にはデータ処理の開始前に、演算ユニット10A〜Eの初期設定に必要な回路情報と、再構成規則と、コントローラ11の動作を規定するコードが、プロセッサなどの外部装置により送られる。また、コントローラ11のデータ処理の開始はプロセッサなどの外部装置により通知され、処理が完了したらコントローラ11はデータ処理の完了をプロセッサなどの外部装置に通知する。
演算ユニット10A〜Eのそれぞれは、個々の演算を行うための実行回路を構築可能な演算器を持つユニットで、コントローラ11からの指示により演算器に実行回路を構築しながら、入力データを演算して結果を出力するという機能を持つ。なお、本実施の形態にかかる演算ユニット10A〜Eの数は5つであるが、これに限らず、半導体装置1に必要とされる処理能力に応じて変更してもよい。
図2は、演算ユニット10A〜Eのより詳細な構成を示す図である。演算ユニット10A〜Eのそれぞれは、演算器100と、回路情報制御装置101と、データパイプラインレジスタ102と、制御パイプラインレジスタ103とを有する。演算器100の出力はデータパイプラインレジスタ102に接続し、また、回路情報制御装置101は演算器100に接続している。
演算器100は、個々の演算を行うためのH/Wの実行回路を構築可能な演算器で、回路情報制御装置101から与えられる回路情報に従って実行回路を構築しながら、入力データを演算してデータパイプラインレジスタ102に書き込む。
ここで、演算器100の一例を図3に示す。演算器100は8ビットのALUとシフタをそれぞれ4つずつ備えており、32ビットの2入力に対して、8ビット単位で異なる演算を行うよう実行回路を構築できる。この演算結果を、32ビットの出力の一つとする。また、演算器100はクロスバーを備え、シフタからの8ビット出力4つの配置順を変更した結果を32ビット出力の一つとする。
回路情報は8ビット演算あたり、ALUの入力の一つを直値とするかどうかを決める入力モードが1ビット、直値が8ビット、ALU設定が2ビット、シフト値が3ビット、クロスバー設定が2ビットの計16ビットからなり、演算器100全体では64ビットの回路情報となる。
回路情報制御装置101は、複数の回路情報からサイクルごとに1つの回路情報を選択して演算器100に転送する。回路情報の選択は、その回路情報が保存されている回路情報制御装置101の記憶部の位置を示す番号を選択することにより行われる。この選択のための規則は、選択する記憶部の位置を示す番号の繰り返しパターンにより定義される。この規則を再構成規則と呼ぶ。再構成規則は、コントローラ11から演算ユニット10に送出され、回路情報制御装置101および制御パイプラインレジスタ103に一時保持される。図2の説明に戻る。
演算ユニット10Aの演算器100はデータ線を介し、入出力バッファ12に接続し、演算ユニット10B〜Eの演算器100は、それぞれデータ線を介し、前段の演算ユニット10A〜Dのデータパイプラインレジスタ102にそれぞれ接続し、演算ユニット10Eのデータパイプラインレジスタ102はデータ線を介し、入出力バッファ12に接続することにより、演算ユニット10A〜Eはデータを演算するためのデータパイプラインを構成している。
また、コントローラ11は演算ユニット10Aの回路情報制御装置101に接続し、演算ユニット10B〜Eの回路情報制御装置101はそれぞれ前段の演算ユニット10A〜Dの回路情報制御装置101に接続することにより、演算ユニット10A〜Eは回路情報を予め設定するためのパイプラインを構成している。
さらに、コントローラ11は制御線を介し、演算ユニット10Aの制御パイプラインレジスタ103に接続し、演算ユニット10B〜Eの制御パイプラインレジスタ103はそれぞれ制御線を介し、前段の演算ユニット10A〜Dの制御パイプラインレジスタ103に接続することにより、回路情報制御装置101の動作を制御するための制御パイプラインを構成している。なお、演算ユニット10Eの制御パイプラインレジスタ103は省略してもよい。
例えばあるサイクルに演算ユニット10Aの演算器100が出力したデータは、そのサイクルにはデータパイプラインレジスタ102に格納され、次のサイクルに演算ユニット10Bの演算器100の入力になるというように、演算ユニット10A〜Eの間を1サイクルずつ転送される。このような転送を、パイプライン式転送と呼ぶ。
コントローラ11から送られる回路情報や再構成規則も、同様に演算ユニット10A〜Eの間をパイプライン式に転送される。
次に、本実施例の半導体装置1における処理の開始から終了までの流れの概要を説明する。半導体装置1の処理は、データ処理前の初期化処理とデータ処理との2つに大別できる。
まず、初期化処理について説明する。
プロセッサなどの外部装置により、半導体装置1への入力データが入出力バッファ12に格納される。また、外部装置により、コントローラ11の動作を規定するコードや再構成規則および演算ユニット10で使用される回路情報が、コントローラ11の中の記憶部に格納される。
次に、外部装置がコントローラ11に処理の開始を通知する。コントローラ11は通知を受けて、まず回路情報を演算ユニット10A〜Eにパイプライン式に転送し、演算ユニット10A〜Eの回路情報制御装置101を初期化する。回路情報は、演算ユニット10A〜Eの回路情報制御装置101の中の記憶部に格納される。初期化処理において行われる処理は以上である。
次に、データ処理について説明する。
コントローラ11は内部の記憶部に格納されたコードを毎サイクル解釈し、それに従ってサイクルごとに再構成規則を演算ユニット10にパイプライン式に転送する。また、コントローラ11は、同じコードに従って、サイクルごとに入出力バッファ12へデータ読み出しのための制御情報と、データ書き込みのための制御情報を送る。
入出力バッファ12は、コントローラ11からのデータ読み出しの要求を受け取るたびに、入出力バッファ12からデータを読み出し、演算ユニット10Aにパイプライン式に転送する。また、データ書き込みのための要求を受け取るたびに、その情報に従って演算ユニット10Eから出力されたデータを入出力バッファ12に書き込む。
演算ユニット10は、再構成規則を受け取るたびに、回路情報制御装置101の設定を再構成規則により変更する。再構成規則を受け取った場合には、回路情報制御装置101は新しい再構成規則に従って回路情報を演算器100に与える。
演算ユニット10が再構成規則を受け取らなかった場合には、回路情報制御装置101はその時点における再構成規則の設定により示される回路情報選択の値(最後に設定された再構成規則に基づいて更新された値)に従って、そのサイクルに選択すべき回路情報を決定し、その回路情報を演算器100に与える。この決定は、例えば再構成規則が0、1の繰り返しというパターンであれば、前のサイクルに記憶部の位置番号0にある回路情報を選んでいれば、このサイクルでは位置番号1にある回路情報を選択し、前のサイクルに記憶部の位置番号1にある回路情報を選んでいれば、このサイクルでは位置番号0にある回路情報を選ぶ、というようにして行われる。
そして、演算ユニット10では、回路情報制御装置101が与える回路情報に従って演算器100での実行回路が構築され、演算器100の入力データに対する実行回路による演算が行われる。演算結果は、データパイプラインレジスタ102を介してパイプライン式に転送される。
コントローラ11が全てのコードを解釈し終えた時点で、コントローラ11はプロセッサなどの外部装置に処理の完了を通知し、データ処理は終了する。
プロセッサなどの外部装置は処理の完了通知を受けてから規定サイクル以上たった後に、入出力バッファ12に蓄えられた半導体装置1の演算結果を読み出す。この規定サイクルは、演算ユニット10の数と、入出力バッファ12へのデータ書き込みに要するサイクル数を加えたサイクル数になる。
以上が、本実施例の半導体装置1におけるデータ処理の開始から終了までの流れである。
次に、以上のような半導体装置1におけるデータ処理を実現する、コントローラ11と演算ユニット10の回路情報制御装置101の詳細な実施例を、データ処理前の初期化処理とデータ処理に分けて説明する。
まず、初期化処理におけるコントローラ11および回路情報制御装置101の詳細な動作について説明する。
図4はコントローラ11の実現例を示す図である。コントローラ11は制御部11Aと実行制御メモリ11Bと回路情報メモリ11Cと再構成規則メモリ11Eとデコーダ11Fとを持つ。制御部11Aは実行制御メモリ11Bと回路情報メモリ11Cとデコーダ11Fとに接続する。実行制御メモリ11Bは再構成規則メモリ11Eに接続している。
実行制御メモリ11Bにはコントローラ11で実行されるコードが記録される。回路情報メモリ11Cには初期化処理時に演算ユニット10に送られる回路情報が記録される。また、再構成規則メモリ11Eにはデータ処理時に演算ユニット10に送られる再構成規則が記録される。
制御部11Aは、初期化処理においては回路情報メモリ11Cから回路情報を順に読み出し、回路情報制御装置101へ転送する機能を有する。またデコーダ11Fは、回路情報Valid信号と回路情報アドレスを生成する機能を有する。
回路情報Valid信号は、コントローラ11から転送された回路情報を、演算ユニット10A〜Eのどの回路情報制御装置101に格納するかを示す信号である。また、回路情報アドレスは、回路情報制御装置101内の記憶部のどの位置に回路情報を書き込むかを示す番号(アドレス)である。
データ処理前の初期化処理においては、まず実行制御メモリ11Bに記録されるコードと、回路情報メモリ11Cに記録される回路情報と、再構成規則メモリ11Eに記録される再構成規則が、プロセッサなどの外部装置によりコントローラ11に転送され、それぞれのメモリB,C,Eに記録される。
これらのメモリB,C,Eに記録される情報は、既存のプロセッサと同様にコンパイラなどによりあらかじめ生成され、プロセッサなどの外部装置の記憶装置に保存されており、この記憶装置から情報を読み出してコントローラ11に転送する。
次に、プロセッサなどの外部装置から処理の開始が通知されると、制御部11Aは回路情報メモリ11Cに、アドレス0から最終アドレスまでを順に発行し、それに従って回路情報メモリ11Cからは指定アドレスにある回路情報が出力される。出力された回路情報は、回路情報Valid信号と、回路情報アドレスとともに回路情報制御装置101へ送出される。
図5は、デコーダ11Fが制御部11Aから発行される回路情報メモリ11Cのアドレスをデコードし、回路情報アドレスと回路情報Valid信号を生成するための規則の一例を示す図である。この図では、演算ユニット10A〜Eは回路情報制御装置101にそれぞれ4つの回路情報を格納できるものとしている。
デコーダ11Fは、回路情報メモリ11Cへの5ビットのアドレスの下位2ビットを回路情報アドレスとし、また上位3ビットで示される値のうち小さい順に演算ユニット10A〜Eを示す値として割り当て、所望の演算ユニットへ回路情報が格納されるよう回路情報Valid信号が生成される。 つまり、回路情報メモリ11Cのアドレス0からアドレス3には演算ユニット10Aの回路情報制御装置101が備える記憶部のアドレス0から3に格納される回路情報を順に記録し、アドレス4からアドレス7には演算ユニット10Bの回路情報制御装置101が備える記憶部のアドレス0から3に格納される回路情報を順に記録し、という順序で演算ユニット10A〜Eの全ての回路情報を格納していれば、このデコード規則により生成された回路情報アドレスと回路情報Valid信号を回路情報に付加して演算ユニット10に送ることで、回路情報は誤りなく演算ユニット10A〜Eの回路情報制御装置101に格納される。
また、全ての回路情報が送出された後には、制御部11Aは回路情報メモリ11Cの最終アドレス+1を出力し続けることにより、以後のサイクルにおいて回路情報が回路情報制御装置101に格納されないことを保証する。
次に、コントローラ11から送出された回路情報が、演算ユニット10の回路情報制御装置101に格納される動作について説明する。
図6は、回路情報制御装置101のより詳細な実施例を示す図である。回路情報制御装置101は回路情報レジスタ1011と再構成制御装置1012と再構成制御レジスタ1013とを有する。回路情報レジスタ1011は再構成制御装置1012に接続し、再構成制御装置1012は再構成制御レジスタ1013に接続する。
また、回路情報レジスタ1011はコントローラ11またはパイプライン前段の演算ユニット10の回路情報レジスタ1011と接続して回路情報を予め設定するためのパイプラインを構成している。
また、再構成制御レジスタ1013はコントローラ11またはパイプライン前段の制御パイプラインレジスタ103と接続して、再構成制御装置1012の動作を制御するためのパイプラインを構成している。
再構成制御装置1012および再構成制御レジスタ1013は、初期化処理においては使用されないため、これらの詳細についてはデータ処理時の詳細な説明において述べることとし、ここでは、コントローラ11から送出された回路情報が回路情報レジスタ1011に格納される動作について説明する。
図7は回路情報レジスタ1011の実現例を示す図である。回路情報レジスタ1011には複数の回路情報を格納するラッチ1011A〜Dがある。ラッチ1011A〜Dの数はこの例では4を示しているが、必要に応じて増減させても良い。
ラッチ1011A〜Dへの書き込みはコントローラ11からパイプライン式に行われる。コントローラ11から回路情報Valid信号1011H、回路情報アドレス1011I、回路情報1011Jが一組の信号として与えられ、回路情報設定パイプラインレジスタ1011Eを経由して回路情報を設定するためのパイプラインが構成されている。
回路情報Valid信号1011Hは、本実施例では5本の信号線から成り、回路情報レジスタ1011が存在する演算ユニット10ごとに異なる信号線が割り当てられる。以下の説明では、この割り当てられる1本の信号線を参照Valid信号と呼ぶ。
回路情報アドレス1011I、回路情報1011Jは、参照Valid信号が1の時のみ有効な信号である。
回路情報アドレス1011Iはどのラッチ1011A〜Dに回路情報1011Jが書き込まれるかを示す信号で、この例では4つのラッチ1011A〜Dが存在するので2ビット必要で、00、01、10、11がそれぞれラッチ1011A、ラッチ1011B、ラッチ1011C、ラッチ1011Dに回路情報1011Jを書き込むことを示している。
デコーダ1011Fは参照Valid信号と回路情報アドレス1011Iより回路情報1011Jを書き込むラッチ1011A〜Dを指定する。
なお、データ処理においては、再構成制御装置1012の出力によりラッチ1011A〜Dの一つが選択されて、演算器100に与えられる。
回路情報レジスタ1011への書き込み方法は一例を示したのみであり、他の実現方法で実現可能である。例えば、回路情報アドレス1011Iを持たずに各回路情報レジスタ1011にカウンタを持たせ、カウンタは参照Valid信号が1になるたびにインクリメントさせ、カウンタの値で示されるラッチ1011A〜Dに回路情報1011Jを書き込む方法がある。また、全ての回路情報レジスタ1011のラッチ1011A〜Dをシリアルにスキャンチェーンで結合し、シリアルデータを送って設定する方法も考えられる。
また、本実施例で示した方法では、回路情報は演算ユニット10への入力データや再構成規則と同様にパイプライン式に書き込まれるため、演算ユニット10に入力データが到達する直前に、コントローラ11がその入力データの演算に必要な回路情報を送ることにより、データ処理が開始した後に回路情報レジスタ1011を更新することも可能である。以上が半導体装置1における初期化処理のより詳細な動作に関する説明である。
次に、半導体装置1におけるデータ処理のより詳細な動作に関して説明する。データ処理においては、図4に示したコントローラ11の制御部11Aは、実行制御メモリ11Bに格納されているコードをアドレス0から順に解釈し、その内容に従って動作を行う。
図8は実行制御メモリ11Bに格納されるコードの構造例を示したものである。この例では、コードは入力アドレスと、入力アドレスが有効かどうかを示すValid0ビットと、再構成規則IDと、再構成規則IDが有効かどうかを示すValid1ビットと、出力アドレスIDと、出力アドレスIDが有効かどうかを示すValid2ビットとからなる。コードは、1サイクルで1ラインずつ実行される。
制御部11Aは、入出力バッファ12にデータ読み出しのための制御情報を送出する際には、コードから入力アドレスとValid0ビットを解釈し、それらを入出力バッファ12に送出する。入出力バッファ12は、Valid0ビットが1の場合には入力アドレスが示す位置にあるデータを読んで、演算ユニット10Aに送出する。
制御部11Aは、入出力バッファ12にデータ書き込みのための制御情報を送出する際には、コードから出力アドレスとValid2ビットを解釈し、それらを入出力バッファ12に送出する。それらの制御情報は、演算ユニット10の数に相当するサイクル数の後に入出力バッファ12に到達する。入出力バッファ12は、Valid2ビットが1の場合には、演算ユニット10Eのデータパイプラインレジスタ102にあるデータを出力アドレスが示す位置に書き込む。
制御部11Aは、再構成規則を演算ユニット10にパイプライン式に転送する際には、コードから再構成規則IDとValid1ビットを解釈する。そして、再構成規則IDをアドレスとして再構成規則メモリ11Eを参照して再構成規則を読み出し、その再構成規則をValid1ビットとともに演算ユニット10Aの制御パイプラインレジスタ103に送出する。
なお、コントローラ11がデータ読み出しのための制御情報を入出力バッファ12へ送出してから演算ユニット10Aに入力データが届くまでの時間と、コントローラ11が再構成規則とValid1ビットを送出してから、それらが演算ユニット10Aの制御パイプラインレジスタ103に届くまでの時間は等しくなるよう制御される必要がある。
そのために、入出力バッファ12からのデータ読み出しに数サイクルかかるのであれば、それに合わせて、図4のようにタイミング調整のためのラッチ11Gを数サイクル分挿入し、再構成規則とValid1ビットが演算ユニット10Aに届くまでの時間も数サイクル遅れるようにする。
このようにして制御部11Aは、実行制御メモリ11Bにあるコードをアドレス0から順に解釈していき、全てのコードを解釈し終えたら、プロセッサなどの外部装置に処理の完了を通知して動作を停止する。以上が、データ処理におけるコントローラ11のより詳細な動作である。
次に、データ処理時において、演算ユニット10が受け取った再構成規則に従って演算器100に実行回路を構築しながら、入力データを演算していく際の動作をより詳細に説明する。まず、コントローラ11から送出される再構成規則に従い、演算ユニット10が備える回路情報制御装置101の設定が変化し、それに伴って回路情報制御装置101から演算器100に与える回路情報が変化する際の動作をより詳細に説明する。
先述の通り、回路制御装置101の詳細な構成は図6の通りである。回路情報レジスタ1011には、初期化処理により複数の回路情報が格納されている。再構成制御レジスタ1013は、コントローラ11から送られる再構成規則を格納するためのレジスタである。再構成制御装置1012は回路情報レジスタ1011から回路情報を読み出して演算器100に送出するという制御を行う装置で、再構成制御レジスタ1013に格納される再構成規則に従って回路情報を読み出す。
図9は再構成制御装置1012および再構成制御レジスタ1013の詳細な例を示す図である。
まず、コントローラ11または前段よりValid1ビット1013Gと、再構成規則として最大値信号1013H、最小値信号1013Iおよび初期値信号1013Jが与えられる。Valid1ビット1013Gは再構成規則が有効なサイクルだけ1となり、他の場合では0となる。再構成規則は制御パイプラインレジスタ103を経由して次のサイクルでは次段の再構成規則となることで、再構成規則を制御する制御パイプラインを構成している。
最大値信号1013H、最小値値信号1013Iはそれぞれ最大値レジスタ1013A、最小値レジスタ1013Bに格納される。マルチプレクサ1013Eおよびマルチプレクサ1013Fは、それぞれ最大値レジスタ1013A、最小値レジスタ1013Bが、Valid1ビット1013Gが1の時のみ更新されるようにする。
マルチプレクサ1013DはValid1ビット1013Gが1の時は初期値信号1013Jの値を、Valid1ビット1013Gが0の時には最小値レジスタ1013Bに記憶されていた値を出力する。
再構成制御装置1012においては、Valid1ビット1013Gが1の時ORロジック1012Dが1を出力するので、マルチプレクサ1013Dの出力がマルチプレクサ1012Cを経由することで、状態レジスタ1012Aに初期値信号1013Jの値が記憶される。
状態レジスタ1012Aの値は回路情報の参照位置として回路情報レジスタ1011に与えられる。
状態レジスタ1012Aの値は加算器1012Bを通してインクリメントされるか、または以下の条件のときは最小値レジスタ1013Bの値がロードされる。この条件は、状態レジスタ1012Aの値が最大値レジスタ1013Aと比較器1012Eによって比較され一致した場合で、この場合にはORロジック1012Dの出力が1になり、マルチプレクサ1012Cはマルチプレクサ1013Dの値を入力とする。
以上のように再構成制御装置1012から回路情報レジスタ1011への出力は、初期値信号の値からインクリメントを始め、最大値レジスタ1013Aと同じ値になったとき最小値レジスタ1013Bの値に戻る動作を行う。
再構成制御装置1012と再構成制御レジスタ1013の実施例は一例であり、半導体装置1の用途に従ってより複雑な形態で実施することや、より単純な形態で実施することも考えられる。
例えば、再構成制御装置1012のより複雑な実施の形態として、再構成制御装置1012はレジスタを備え、そのレジスタの値はコントローラ11から更新できるような構成とし、加算器1012Bの入力値として1の代わりにそのレジスタの値を入力することで、1サイクルに増加する状態レジスタ1012Aの値を2以上に設定できるようにしてもよい。
また、再構成制御装置1012のより単純な実施の形態として、再構成制御装置1012は状態レジスタ1012Aとマルチプレクサ1012Cのみを備え、マルチプレクサ1012CはValid1ビットが1の場合には再構成規則が定める最小値を出力し、Valid1ビットが0の場合には状態レジスタ1012Aの値を出力するようにしてもよい。この形態においては、再構成規則は最小値だけでよく、また再構成制御レジスタ1013は必要ない。
図10はコントローラ11により再構成制御レジスタ1013が更新され、それに従って再構成制御装置1012の出力が変わる動作を説明する図である。
サイクル1において、コントローラ11は、1に設定されたValid1ビットと、再構成規則s0を送出する。この再構成規則は、再構成制御装置1012が0、1の出力を交互に繰り返すような設定であるとする。図9の実現例では、最大値信号1013Hを1、最小値信号1013Iを0、初期値信号1013Jを0にするという再構成規則になる。
なお、サイクル2以後では、コントローラ11はValid1ビットを0に設定しているものとする。
サイクル2において、演算ユニット10Aの再構成制御レジスタ1013に再構成規則s0が格納される。それと同時に、演算ユニット10Aの再構成制御装置1012の設定が更新され、0が出力されるようになる。
演算ユニット10B〜Eの再構成制御レジスタ1013は制御パイプラインレジスタ103を介してパイプライン接続されているため、サイクル2では、まだ演算ユニット10B〜Eの再構成制御レジスタ1013は変更されない。
サイクル3においては、演算ユニット10Bの再構成制御レジスタ1013および再構成制御装置1012の設定が更新され、0が出力される。一方で、演算ユニット10Aの再構成制御装置1012は1を出力する。
サイクル4には、演算ユニット10Cの再構成制御レジスタ1013および再構成制御装置1012の設定が更新され、0が出力される。演算ユニット10Aの再構成制御装置1012は0を出力し、演算ユニット10Bの再構成制御装置1012は1を出力する。
このように、再構成規則が制御パイプラインを通って演算ユニット10に到達するサイクルに、演算ユニット10は再構成制御レジスタ1013と再構成制御装置1012の設定を更新し、再構成制御装置1012は再構成規則が示す初期値を出力する。以後のサイクルでは、再構成制御レジスタ1013が示す規則に従った値が再構成制御装置1012から出力される。
次に、演算ユニット10が受け取った再構成規則に従って演算器100の回路構成を変えながら、入力データに対して演算を実行し、演算結果をデータパイプラインレジスタ102に書き込む動作例を説明する。なお、説明を容易にするため、半導体装置1は2つの演算ユニット10A、10Bのみを備えるものとする。
図11は、上記動作例で行われる演算の性質を説明するためのものである。動作例では図11の通り、3つのデータ「d0」、「d1」、「d2」に対して「e0」、「e1」、「e2」、「e3」という演算を順に行う処理と、異なる3つのデータ「d3」、「d4」、「d5」に対して、「e4」、「e5」という演算を順に行うという処理が実行される。
図12は、図11に示す演算の回路情報が演算ユニット10A、10Bの回路情報レジスタ1011のどの位置に格納されるかを示す図である。回路情報「A0」〜「A2」はそれぞれ図11の演算「e0」、「e4」、「e2」を行う回路の回路情報であり、「B0」〜「B2」はそれぞれ「e1」、「e5」、「e3」を行う回路の回路情報である。
データが演算ユニット10A、10Bのパイプラインを流れる順番と演算の順序が一致するように、「A0」〜「A2」は演算ユニット10A、「B0」〜「B2」は演算ユニット10Bに割り当てられ、かつ「A0」、「B0」の組、「A1」、「B1」の組、「A2」、「B2」の組はそれぞれ回路情報レジスタ1011の同じ位置になるような配置とする。
図13は、動作例においてコントローラ11が送出する再構成規則を示す図である。「s0」は出力0を繰り返す再構成規則、「s1」は初期出力1で1、0を交互に繰り返す再構成規則、「s2」は初期出力2で2、1を交互に繰り返す再構成規則、「s3」は出力2を繰り返す再構成規則である。
図14はデータ処理において半導体装置1が図11に示す演算を行う際の動作を説明する図である。この例では、コントローラ11がデータ読み出しのための制御情報を入出力バッファ12に送出したサイクルに、入出力バッファ12からデータが読み出され演算ユニット10Aに入力されるものとしている。
サイクル1に、コントローラ11は再構成規則「s0」を送出する。また、コントローラ11は入出力バッファ12を介してデータ「d0」を送出する。
サイクル2に、演算ユニット10Aは「s0」を受け取り、再構成制御レジスタ1013および再構成制御装置1012を更新する。再構成制御装置1012は0を出力する。また、回路情報レジスタ1011の0の位置が参照され、演算器100は演算「e0」を行うための設定「A0」の実行回路に構築される。
同サイクルに、コントローラ11は入出力バッファ12を介してデータ「d1」を送出する。
サイクル3に、演算ユニット10Aの演算器100はデータ「d0」を入力として演算「e0」を実行し、演算結果「d00」をデータパイプラインレジスタ102に書き込む。一方で、再構成制御装置1012の出力は0となり、回路情報レジスタ1011の0の位置が参照されて、演算器100は演算「e0」を行うための設定「A0」の実行回路に構築される。
同サイクルに、演算ユニット10Bは「s0」を受け取り、再構成制御レジスタ1013および再構成制御装置1012を更新する。再構成制御装置1012は0を出力する。また、回路情報レジスタ1011の0の位置が参照され、演算器100は演算「e1」を行うための設定「B0」の実行回路に構築される。
同サイクルに、コントローラ11は再構成規則「s1」を送出する。また、コントローラ11は入出力バッファ12を介してデータ「d3」を送出する。
サイクル4に、演算ユニット10Aの演算器100はデータ「d1」を入力として演算「e0」を実行し、演算結果「d10」をデータパイプラインレジスタ102に書き込む。一方で、「s1」を受け取って再構成制御レジスタ1013および再構成制御装置1012が更新され、再構成制御装置1012の出力は1となる。さらに、回路情報レジスタ1011の1の位置が参照されて、演算器100は演算「e4」を行うための設定「A1」の実行回路に構築される。
同サイクルに、演算ユニット10Bの演算器100はデータ「d00」を入力として演算「e1」を実行し、演算結果「d01」をデータパイプラインレジスタ102に書き込む。一方で、再構成制御装置1012の出力は0となり、回路情報レジスタ1011の0の位置が参照されて、演算器100は演算「e1」を行うための設定「B0」の実行回路に構築される。同サイクルに、コントローラ11は入出力バッファ12を介してデータ「d2」を送出する。
以後のサイクルにおける、コントローラ11、演算ユニット10A,演算ユニット10Bの動作は同様なので省略する。
以上説明した本実施の形態によれば、パイプライン型に接続した複数のリコンフィギュラブル回路のそれぞれに、データを演算する実行回路を遅延無く構築することのできるようになった。
そして、このような半導体装置を提供するから、図14に示されるデータ演算のためのパイプライン動作例と再構成規則制御のためのパイプライン動作例のように、コントローラ11はデータと再構成規則を同サイクルに演算ユニット10Aへ転送し、それらは同じタイミングで1サイクルごとに次段の演算ユニット10に転送されるので、演算ユニット10は再構成規則を受け取ったらすぐに演算器の実行回路を構築することにより、図4に示されるデータ入力と回路の再構成が同時に行われる例のように、演算器100の再構成にかかる時間を、入力データを取得するまでの時間に隠蔽することも可能となった。
実施の形態にかかる半導体装置1の全体構成を示す図である。 演算ユニット10A〜Eのより詳細な構成を示す図である。 演算器100の例を説明するための図である。 コントローラ11の実現例を説明するための図である。 デコーダ11Fのデコード規則を説明するための図である。 回路情報制御装置101のより詳細な構成を示す図である。 回路情報レジスタ1011の実現例を示す図である。 実行制御メモリ11Bに格納されるデータのデータ構造の例を示す図である。 再構成制御装置1012と再構成制御レジスタ1013の実現例を示す図である。 演算ユニット10の再構成制御装置1012および再構成制御レジスタ1013が変更される動作を説明するための図である。 半導体装置1の演算を説明するための動作例を説明するための図である。 図11の演算の回路情報が、演算ユニット10A、10Bの回路情報レジスタ1011のどの位置に格納されるかを示す図である。 半導体装置1の動作例において、コントローラ11が送出する再構成規則を示す図である。 半導体装置1がコントローラ11から送られる再構成規則に従って回路を再構成しながら演算を行う動作を説明するための図である。
符号の説明
1 半導体装置
10A〜E 演算ユニット
100 演算器
101 回路情報制御装置
1011 回路情報レジスタ
1011A〜D 命令ラッチ
1011E 回路情報パイプラインレジスタ
1011F デコーダ
1011G マルチプレクサ
1011H 回路情報Valid信号
1011I 回路情報アドレス
1011J 回路情報
1012 再構成制御装置
1012A 状態レジスタ
1012B 加算器
1012C マルチプレクサ
1012D ORロジック
1012E 比較器
1013 再構成制御レジスタ
1013A 最大値レジスタ
1013B 最小値レジスタ
1013D〜F マルチプレクサ
1013G Valid1ビット
1013H 最大値信号
1013I 最小値信号
1013J 初期値信号
102 データパイプラインレジスタ
103 制御パイプラインレジスタ
11 コントローラ
11A 制御部
11B 実行制御メモリ
11C 回路情報メモリ
11E 再構成規則メモリ
11F デコーダ
11G タイミング調整用ラッチ
12 入出力バッファ

Claims (6)

  1. 複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、
    データを入力するデータ線と、規則信号を入力する制御線と、データ処理前に前記演算のそれぞれを実現するための回路情報の幾つかを記憶し、データ処理時のあるサイクル時に前記制御線からの規則信号に基づいて回路情報の一つを出力する回路情報制御部と、前記回路情報制御部から出力される一つの回路情報に従って、演算を行うためのALUとシフタを含む実行回路を構築しながら、前記データ線からのデータを前記実行回路で演算し演算後のデータを出力する演算器と、前記演算器からの演算後のデータを保持し次のサイクルで保持したデータを出力するデータレジスタと、前記規則信号を保持し前記次のサイクルで前記規則信号を出力する制御レジスタとをそれぞれ備える複数の演算ユニットを複数段直列に接続するために、データレジスタのデータを次段の演算ユニットのデータ線へ出力し、且つ、制御レジスタの規則信号を次段の演算ユニットの制御線へ出力するよう接続した演算パイプラインと、
    前記あるサイクルに、前記演算パイプラインの初段の演算ユニットの制御線への規則信号とデータ線へのデータとを出力するよう制御するコントローラとを具備したことを特徴とする半導体装置。
  2. 外部装置と接続され、前記演算パイプラインの初段の演算ユニットのデータ線と接続され、最終段の演算ユニットのデータレジスタと接続され、データ処理開始前、データ処理中、またはデータ処理結果のデータを一時的に保持する入出力バッファを具備したことを特徴とする請求項1記載の半導体装置。
  3. 複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、
    データを入力するデータ線と、規則信号を入力する制御線と、データ処理前に前記演算のそれぞれを実現するための回路情報の幾つかを記憶し、データ処理時のあるサイクル時に前記制御線からの規則信号に基づいて回路情報の一つを出力する回路情報制御部と、前記回路情報制御部から出力される一つの回路情報に従って、演算を行うための実行回路を構築し、前記データ線からのデータを前記実行回路で演算し演算後のデータを出力する演算器と、前記演算器からの演算後のデータを保持し次のサイクルで保持したデータを出力するデータレジスタと、前記規則信号を保持し前記次のサイクルで前記規則信号を出力する制御レジスタとをそれぞれ備える複数の演算ユニットを複数段直列に接続するために、データレジスタのデータを次段の演算ユニットのデータ線へ出力し、且つ、制御レジスタの規則信号を次段の演算ユニットの制御線へ出力するよう接続した演算パイプラインと、
    前記あるサイクルに、前記演算パイプラインの初段の演算ユニットの制御線への規則信号とデータ線へのデータとを出力するよう制御するコントローラとを有し、
    前記回路情報制御部は、前記制御線からの規則信号が無いサイクル中には、記憶された幾つかの回路情報を予め定めた順序で選択する選択制御回路を具備したことを特徴とする導体装置。
  4. 前記選択制御回路は、最大値の次に最小値からカウントするループ型のカウンタを備え、該カウンタがカウントを始める初期値、該カウンタがカウントする最小値および最大値を前記制御線からの規則信号で設定することを特徴とする請求項3に記載の半導体装置。
  5. 複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、
    コントローラと、
    データ処理するデータを保持し、前記コントローラからの指示により該データを出力するバッファと、
    あるサイクルで、
    前記コントローラから出力された規則信号に基づいて、予め保持される前記演算のそれぞれを実現するための回路情報の幾つかから選択した一つの回路情報に従って、演算を行うための第1実行回路を構築しながら、前記バッファから出力されたデータを前記実行回路で演算し、演算結果データを保持するとともに、前記コントローラからの前記規則信号を保持する第1の演算ユニットと、
    次のサイクルで、
    前記第1の演算ユニットで保持した規則信号に基づいて、予め保持される前記演算のそれぞれを実現するための回路情報の幾つかから選択した一つの回路情報に従って、演算を行うための第2実行回路を構築し、前記第1の演算ユニットで保持した演算結果データを前記第2実行回路で演算する第2の演算ユニットと、
    を備えたことを特徴とする半導体装置。
  6. 複数種類の演算のそれぞれを予め定められたサイクル毎に行ってデータ処理がなされる半導体装置であって、
    データを入力するデータ線と、規則信号を入力する制御線と、データ処理前に前記演算のそれぞれを実現するための回路情報の幾つかを記憶するラッチを有し、データ処理時の一つ前のサイクル時に前記制御線からの規則信号に基づいて回路情報の一つを記憶するラッチを選択し、データ処理時のあるサイクル時に前記制御線からの規則信号に基づいて選択されたラッチに記憶される回路情報の一つを出力する回路情報制御部と、前記回路情報制御部から出力される一つの回路情報に従って、演算を行うための実行回路を構築し、前記データ線からのデータを前記実行回路で演算し演算後のデータを出力する演算器と、前記演算器からの演算後のデータを保持し次のサイクルで保持したデータを出力するデータレジスタと、前記規則信号を保持し前記次のサイクルで前記規則信号を出力する制御レジスタとをそれぞれ備える複数の演算ユニットを複数段直列に接続するために、データレジスタのデータを次段の演算ユニットのデータ線へ出力し、且つ、制御レジスタの規則信号を次段の演算ユニットの制御線へ出力するよう接続した演算パイプラインと、
    前記あるサイクルに、前記演算パイプラインの初段の演算ユニットの制御線への規則信号とデータ線へのデータとを出力するよう制御するコントローラとを有することを特徴とする半導体装置。
JP2006084190A 2006-03-24 2006-03-24 半導体装置 Expired - Fee Related JP4861030B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006084190A JP4861030B2 (ja) 2006-03-24 2006-03-24 半導体装置
US11/727,134 US7653805B2 (en) 2006-03-24 2007-03-23 Processing in pipelined computing units with data line and circuit configuration rule signal line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006084190A JP4861030B2 (ja) 2006-03-24 2006-03-24 半導体装置

Publications (2)

Publication Number Publication Date
JP2007257549A JP2007257549A (ja) 2007-10-04
JP4861030B2 true JP4861030B2 (ja) 2012-01-25

Family

ID=38606218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006084190A Expired - Fee Related JP4861030B2 (ja) 2006-03-24 2006-03-24 半導体装置

Country Status (2)

Country Link
US (1) US7653805B2 (ja)
JP (1) JP4861030B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4950796B2 (ja) * 2007-07-31 2012-06-13 株式会社東芝 半導体装置
JP2009129046A (ja) * 2007-11-21 2009-06-11 Panasonic Corp リコンフィギュラブル回路,リコンフィギュラブル回路の機能変更方法および通信装置
JP5231800B2 (ja) 2007-12-26 2013-07-10 株式会社東芝 半導体集積回路装置および半導体集積回路装置のクロック制御方法
JP5025521B2 (ja) * 2008-02-15 2012-09-12 株式会社東芝 半導体装置
US8181003B2 (en) * 2008-05-29 2012-05-15 Axis Semiconductor, Inc. Instruction set design, control and communication in programmable microprocessor cores and the like
JP5178346B2 (ja) 2008-06-25 2013-04-10 株式会社東芝 半導体装置、および、半導体装置によるデータ処理方法
JP5231949B2 (ja) 2008-11-12 2013-07-10 株式会社東芝 半導体装置、および、半導体装置によるデータ処理方法
JP2010287159A (ja) * 2009-06-15 2010-12-24 Fujitsu Ltd 信号処理システム、信号処理モジュール、及びこれらの動作方法
JP5504985B2 (ja) * 2010-03-11 2014-05-28 富士ゼロックス株式会社 データ処理装置
US9721319B2 (en) * 2011-10-14 2017-08-01 Mastercard International Incorporated Tap and wireless payment methods and devices
JP2014048730A (ja) * 2012-08-29 2014-03-17 Fujitsu Ltd 情報処理装置及び制御方法
JP6816380B2 (ja) 2016-04-15 2021-01-20 オムロン株式会社 画像処理装置、画像処理方法、情報処理プログラム、および記録媒体
US10372636B2 (en) * 2016-11-18 2019-08-06 International Business Machines Corporation System for changing rules for data pipeline reading using trigger data from one or more data connection modules
US10884957B2 (en) * 2018-10-15 2021-01-05 Intel Corporation Pipeline circuit architecture to provide in-memory computation functionality
US10565036B1 (en) 2019-02-14 2020-02-18 Axis Semiconductor, Inc. Method of synchronizing host and coprocessor operations via FIFO communication
US11520371B2 (en) * 2020-02-10 2022-12-06 Northwestern University Compute-adaptive clock management for machine learning accelerators

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108760A (en) * 1997-10-31 2000-08-22 Silicon Spice Method and apparatus for position independent reconfiguration in a network of multiple context processing elements
JP3638100B2 (ja) * 1999-09-03 2005-04-13 富士通株式会社 演算装置及び演算制御方法
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法
JP4264529B2 (ja) * 2002-07-19 2009-05-20 ソニー株式会社 画像処理装置およびその方法
US7401134B2 (en) * 2002-07-31 2008-07-15 Thomson Licensing Packet processing architecture
JP3987783B2 (ja) 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
JP3917117B2 (ja) * 2003-08-13 2007-05-23 日本電信電話株式会社 無瞬断リコンフィグレーション処理方法
JP4011012B2 (ja) 2003-10-22 2007-11-21 三洋電機株式会社 リコンフィギュラブル回路を備えた処理装置
US7365566B2 (en) * 2004-02-12 2008-04-29 Matsushita Electric Industrial Co., Ltd. Programmable logic circuit
JP4546775B2 (ja) * 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路
JP4414297B2 (ja) * 2004-07-09 2010-02-10 パナソニック株式会社 プログラマブルロジックデバイス、コンフィギュレーション装置、コンフィギュレーション方法
JP2006099719A (ja) * 2004-08-30 2006-04-13 Sanyo Electric Co Ltd 処理装置
JP2006236106A (ja) * 2005-02-25 2006-09-07 Canon Inc データ処理装置及びデータ処理方法
JP4444860B2 (ja) * 2005-03-10 2010-03-31 富士通株式会社 リコンフィギュラブル回路およびそのコンフィギュレーション方法
US7496692B2 (en) * 2005-10-18 2009-02-24 International Business Machines Corporation Validating chip configuration data
JP4646840B2 (ja) * 2006-03-22 2011-03-09 富士通セミコンダクター株式会社 回路構成を動的に切り替える並列処理装置

Also Published As

Publication number Publication date
JP2007257549A (ja) 2007-10-04
US20070245131A1 (en) 2007-10-18
US7653805B2 (en) 2010-01-26

Similar Documents

Publication Publication Date Title
JP4861030B2 (ja) 半導体装置
US7650484B2 (en) Array—type computer processor with reduced instruction storage
JP3101560B2 (ja) プロセッサ
JP5178346B2 (ja) 半導体装置、および、半導体装置によるデータ処理方法
JP2008537268A (ja) 可変精度相互接続を具えたデータ処理エレメントの配列
US20200241844A1 (en) Matrix normal/transpose read and a reconfigurable data processor including same
US20140047218A1 (en) Multi-stage register renaming using dependency removal
KR20190028426A (ko) Simd 아키텍처에서 레인 셔플을 위한 셔플러 회로
JP2021507352A (ja) メモリ装置及びそれを制御するための方法
US9823689B2 (en) Variable clocked serial array processor
JP5231949B2 (ja) 半導体装置、および、半導体装置によるデータ処理方法
JP2006099719A (ja) 処理装置
JP4950796B2 (ja) 半導体装置
US20030222886A1 (en) Methods and systems for data manipulation
WO2014202825A1 (en) Microprocessor apparatus
US8631173B2 (en) Semiconductor device
US20040143613A1 (en) Floating point bypass register to resolve data dependencies in pipelined instruction sequences
JP4468452B2 (ja) グローバルセルオートマトンを組み込むためのリコンフィギュアラブルなアーキテクチャをもつコンピュータ装置
JP2023533795A (ja) レジスタデータの消去
JP5025521B2 (ja) 半導体装置
WO2010034167A1 (zh) 一种集成电路的处理器结构
JP4703735B2 (ja) コンパイラ、コード生成方法、コード生成プログラム
CN117009287A (zh) 一种于弹性队列存储的动态可重构处理器
KR20090101939A (ko) 컴퓨터의 교번하는 명령 및/또는 데이터 비트의 반전
JP5701930B2 (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111104

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

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees