JP2009271724A - ハードウェアエンジン制御装置 - Google Patents
ハードウェアエンジン制御装置 Download PDFInfo
- Publication number
- JP2009271724A JP2009271724A JP2008121517A JP2008121517A JP2009271724A JP 2009271724 A JP2009271724 A JP 2009271724A JP 2008121517 A JP2008121517 A JP 2008121517A JP 2008121517 A JP2008121517 A JP 2008121517A JP 2009271724 A JP2009271724 A JP 2009271724A
- Authority
- JP
- Japan
- Prior art keywords
- control
- hwe
- control device
- instruction
- osq
- 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
- 238000012545 processing Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000006854 communication Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
Abstract
【課題】複数の異なる規格に対応して、柔軟な制御およびクロックサイクル単位での細かな高精度の制御をなし得る。
【解決手段】複数のHWE#1〜#mを動作制御する制御命令を出力するシーケンスコントローラ10と、シーケンスコントローラ10からの制御命令がシーケンスコントローラ10によって書き換え可能にセットされ、該セットされた制御命令をクロック信号に基づいたタイミングで制御バスを介して複数のHWE#1〜#mに出力するオペレーションシーケンサ30とを備え、各HWE#1〜#mはオペレーションシーケンサ30ら出力された制御命令にしたがって動作する。
【選択図】 図1
【解決手段】複数のHWE#1〜#mを動作制御する制御命令を出力するシーケンスコントローラ10と、シーケンスコントローラ10からの制御命令がシーケンスコントローラ10によって書き換え可能にセットされ、該セットされた制御命令をクロック信号に基づいたタイミングで制御バスを介して複数のHWE#1〜#mに出力するオペレーションシーケンサ30とを備え、各HWE#1〜#mはオペレーションシーケンサ30ら出力された制御命令にしたがって動作する。
【選択図】 図1
Description
本発明は、一連の制御タイミングの異なる複数の異なる処理を実行する複数のハードウェアエンジン(HWE)を制御するハードウェアエンジン制御装置に関するものである。
近年、動画像処理や無線通信などの信号処理に関する規格が数多く規定されている。これらの規格では、データサイズや処理速度などがパラメータとして規定されている。そのため、上記の信号処理を行うシステムは、パラメータの変化に柔軟に対応することが必要となる。
一方、信号処理に関する機器の高性能化、低価格化にともない、複数の規格を1つのシステムLSIで実現することも求められている。たとえば、ITU−Tの動画圧縮の規格であるH.264と、ISOの動画圧縮伸張の規格であるMPEGとを統合した動画像処理LSIや、IEEEの規格による無線LANと、日本国内の地上デジタル放送の規格であるISDB−Tとを統合した無線通信LSIなどの、複数の規格を統合したシステムLSIが求められている。
このようなLSIの開発において、設計期間の短縮や低コスト化を実現するためには、統合する規格の処理の中から共通の演算処理を抽出し、抽出した演算処理をハードウェアエンジン(以下、HWEと呼ぶ)として共用化することが望ましい。しかし、演算処理は共通であっても、規格間では演算処理で扱うデータサイズや、要求される演算処理速度などが異なる。そのため、それぞれの規格に対応した制御をHEWに対して施さなければならない。以上のことから、複数の規格を1つのシステムLSIで実現する場合は、規格内のパラメータ変化や規格間の差異を吸収できる柔軟なHWE制御機構を実現する必要がある。そのためには、制御範囲の自由度を高めること、クロックサイクルでHWEを細かく制御できることの二点が重要となる。
特許文献1では、データバスとALUとMPYとACCとでプロセッサを構成し、データバスと複数の専用HWE(ここでは、DCTとFLT)との間に夫々データメモリを介在させ、これらデータメモリを経由することでプロセッサと複数の専用HWEとの間のデータ転送を実現している。各データメモリとHWE間を専用バスで接続することで、HWEへのデータ転送時のデータバスへのアクセス量を緩和することが示されている。HWEの起動や停止等の制御は、プロセッサのメモリアドレス空間にマッピングすることにより実現している。
しかしながら、この特許文献1では、メモリアドレス空間経由でHWEを制御するので、ソフトウェアを書き換えることで柔軟な制御を可能とするという利点がある反面、クロックサイクル単位での細かいリアルタイム制御ができない、複数のHWEを同時に制御することができないなどの問題がある。
本発明は、複数の異なる規格に対応して、柔軟な制御およびクロックサイクル単位での細かな高精度の制御をなし得るハードウェアエンジン制御装置を提供することを目的とする。
本願発明の一態様によれば、制御バスで接続され、一連のデータ処理を実現するハードウェアエンジン(HWE)であって、制御を書き換えることにより異なるデータ処理を実行可能とするHWEを制御するハードウェアエンジン制御装置において、前記複数のHWEを動作制御する制御命令を下位制御装置に出力する上位制御装置と、前記上位制御装置からの制御命令を書き換え可能レジスタにセットし、該セットされた制御命令をクロック信号に基づいたタイミングで前記制御バスに出力する、シーケンサとして動作する下位制御装置と備え、各HWEは、下位制御装置から出力された制御命令にしたがって動作することを特徴とする。
本発明によれば、下位制御装置にセットされる制御命令を上位制御装置によって書き換え可能とするとともに、下位制御装置はHWEへの制御命令の出力タイミングをクロックサイクル単位で正確に制御するので、複数の異なる規格に対応して、柔軟な制御およびクロックサイクル単位での細かな高精度のHWE制御をなし得、HWEの制御が容易となり、設計コストが削減される。
以下に添付図面を参照して、この発明にかかるハードウェアエンジン制御装置の最良な実施の形態を詳細に説明する。
(第1の実施の形態)
図1〜図3を用いてこの発明の第1の実施の形態を説明する。図1は、本発明の第1の実施の形態にかかるハードウェアエンジン制御装置の構成例を示すブロック図である。本ハードウェアエンジン制御装置は、動画像処理や無線通信などについての複数の規格を1つのシステムLSIで実現するものである。
図1〜図3を用いてこの発明の第1の実施の形態を説明する。図1は、本発明の第1の実施の形態にかかるハードウェアエンジン制御装置の構成例を示すブロック図である。本ハードウェアエンジン制御装置は、動画像処理や無線通信などについての複数の規格を1つのシステムLSIで実現するものである。
図1において、複数のハードウェアエンジン(以下HWEと略す)#1〜#mは、一連の制御タイミングの異なる複数の異なるデータ処理を実行するものである。別言すれば、各HWEは、一連のデータ処理を実現するものであって、制御を書き換えることにより異なるデータ処理を実行可能とするものである。ハードウェアエンジン制御装置は、複数のHWE#1〜#mを制御するものであり、上位制御装置としてのシーケンサコントローラ(以下SQCと略す)10と、下位制御装置としてのオペレーションシーケンサ(以下OSQと略す)30とを備えている。OSQ30とHWE#1〜#mとは制御バス5によって接続され、SQC10とOSQ30とは、制御バス5とは異なる専用信号線15によって接続されている。複数のHWE#1〜#m間のデータ線接続は、バス構造とは異なるデータ線20によって接続されている。なお、図1においては、複数のHWE#1〜#m間をデータ線20によって縦列接続するようにしているが、これに限定するものではく、個々のHWE#1〜#m間で自由にデータの受け渡しをしてもよい。
SQC10は、複数の異なる規格についての無線通信処理などの一連の処理を複数のHWE#1〜#mによって実行させるための複数の制御命令を出力するものであり、OSQ30を起動、停止するための動作制御と、OSQ30が各HWE#1〜#mに出力する制御命令を書き換えるための制御命令設定変更制御などを実行する。
OSQ30は、SQC10から与えられた制御命令にしたがって、制御対象である1〜または複数のHWEへの制御命令をクロック信号に同期して制御バス5に出力する。すなわち、OSQ30は、SQC10から与えられた制御命令を決められた手順通りに制御バス5に出力するシーケンサとして動作する。
HWE#1〜#mは、無線通信処理などにおける異なる規格の処理に共通の演算処理を実現するものである。本システムを無線通信処理に適用する場合は、例えば、HWE#1がスクランブル処理を実行し、HWE#2がFEC処理を実行し、HWE#3がマッピング処理を実行し、HWE#4がFFT処理を実行し、HWE#5がFIR処理を実行し、HWE#6がD/A変換処理などを実行する。すなわち、各HWEは、制御バス5を介して取得したOSQ30からの制御命令にしたがって、データ線20から入力されたデータに対し各所要の演算処理を施して出力する。
図2は、OSQ30の内部構成の詳細が追加されたハードウェアエンジン制御装置の構成例を示すブロック図である。図2において、OSQ30は、制御命令をバッファリングするオペレーションレジスタ(Operation Register)31と、カウンタ(Counter)32と、コンパレータ(Comparator)33とを備えている。
オペレーションレジスタ31は、SQC10によって制御命令が書き換え可能に設定されるものであり、オペレーションレジスタ31は、オペレーションフィールド、IDフィールド、およびTimeフィールドを備えている。オペレーションフィールドには、命令コードが保持され、IDフィールドには、制御対象であるHWE#1〜#mを識別するための識別子(ID)が保持され、Timeフィールドには、制御バス5に制御命令およびIDを出力するタイミングを規定するタイミング情報(この場合は、クロック信号のカウント値)が保持される。オペレーションフィールドは実現したい制御内容によって任意に定義することができる。IDフィールドは任意に定義してよいが、HWEの個数分のビットを用意し、各ビットと各HWEを1対1に対応付けさせると、複数のHWEを指定することが容易になり、制御の自由度が向上する。
カウンタ32は、クロック信号をカウントするカウンタであり、SQC10からの指示によってカウント動作の開始、停止、リセットが制御される。コンパレータ33は、カウンタ32のカウント値と、オペレーションレジスタ31のTimeフィールドの設定値とを比較し、カウンタ32のカウント値とTimeフィールドの設定値とが一致した時点に、オペレーションレジスタ31のオペレーションフィールドに設定された命令コードとIDフィールドに設定されたIDとを制御バス5に出力する。
HWE#1〜#mは、制御バス5を介して通知されたIDと予め設定されている自身のIDとが一致するか否かを判定し、このID比較が一致した場合、該IDが付された命令コードを実行する。たとえば、命令コードがパラメータ設定であれば、パラメータを設定し、動作開始命令であれば動作処理演算を開始し、動作停止命令であれば動作処理演算を停止する。IDフィールドによって複数のHWEを指定すれば、複数のHWEを同時制御することもできる。この第1の実施の形態においては、コンパレータ33が命令コードおよびIDを含む制御命令を発行するたびに、SQC10はオペレーションレジスタ31を書き換える
一般に画像処理や通信処理などに代表される信号処理では、入力データを予め決められた手順に従って演算を施した結果を出力データとする。ここで「予め決められた手順」というのは規格で規定されていたり、アルゴリズムによって決められたりする。この「手順」がいつも同じ手順であれば、制御の最適化が可能となり制御回路をハードウェアで実現することが可能となる。しかしながら、規格内のパラメータ変更への対応や複数の規格への対応を実現するためには、「予め決められた手順」を変更して複数のHWEを制御しなければならない。そこで、本実施の形態においては、OSQ30によって「決められた手順」を実行させ、SQC10によって「手順の変更」を実行する。すなわち、SQC10によって、OSQ30にセットされる制御命令を任意に可変することで、複数の規格への対応および規格内のパラメータ変更への対応を実現する。
HWEが一つであればOSQ30とHWEを直接繋げればよいが、信号処理では複数のHWEを用いることが多いため、HWE#1〜#mとOSQ30とは制御バス5を介して接続する。これにより、BUSインタフェースに統一することでHWEの追加・削除が容易となり、設計コストが削減できるとともに、複数のHWEの同時制御(スタート/ストップ/モード変更など)が容易になるという効果が得られる。
また、HWE間のデータパスを専用データ線20によってHWE間で閉じることにより、メモリ等のバッファを介することなくデータの入出力が可能となる。また、各HWEにおいて、データを所要のタイミングで確実に処理するためには、OSQ30がクロックサイクルで動作制御されることが必要となるので、OSQ30はクロック信号に基づき動作させている。OSQ30は命令コードの出力タイミングをクロック信号に基づいて高精度に制御しているので、SQC10がTimeフィールドの設定値によって各HWE間の動作タイミングを制御するようにすれば、各HWE間の衝突が抑えられるので、制御バス5としては、特に調整機能を持たないものを採用することができる。
このように第1の実施の形態においては、OSQ30にセットされる制御命令をSQC10によって任意に書き換え可能とするとともに、OSQ30はHWE#1〜#mへの制御命令の出力タイミングをクロックサイクル単位で正確に制御するので、複数の異なる規格に対応して、柔軟な制御およびクロックサイクル単位での細かな高精度のHWR制御をなし得、HWEの制御が容易となり、設計コストが削減される。また、命令コード、HWEを識別するID、命令コードを実行するタイミングが規定されたタイミング情報をオペレーションレジスタ31にセットし、コンパレータ33が、カウンタ32のカウント値と、オペレーションレジスタ31のタイミング情報とを比較し、この比較に基づいたタイミングで、オペレーションレジスタ31に設定された命令コードとIDとを制御バス5に出力するようにしているので、クロックサイクル単位での細かな高精度のHWR制御をなし得る。また、SQC10がオペレーションレジスタ31を書き換えることで、動作変更を容易に行え、複数の異なる規格に対応して、柔軟な制御をなし得る。
(第2の実施の形態)
図3を用いてこの発明の第2の実施の形態を説明する。この第2の実施の形態においては、OSQ30は、複数対のオペレーションレジスタ31−1〜31−nおよびコンパレータ33−1〜33−nを設けるようにしており、カウンタ32のカウント値は各コンパレータ33−1〜33−nに分配されている。各オペレーションレジスタ31−1〜31−nには、第1の実施の形態と同様、オペレーションフィールド、IDフィールド、およびTimeフィールドが備えられている。
図3を用いてこの発明の第2の実施の形態を説明する。この第2の実施の形態においては、OSQ30は、複数対のオペレーションレジスタ31−1〜31−nおよびコンパレータ33−1〜33−nを設けるようにしており、カウンタ32のカウント値は各コンパレータ33−1〜33−nに分配されている。各オペレーションレジスタ31−1〜31−nには、第1の実施の形態と同様、オペレーションフィールド、IDフィールド、およびTimeフィールドが備えられている。
オペレーションレジスタ31−1〜31−nとコンパレータ33−1〜33−nとは、それぞれ1対1に接続されている。コンパレータ33−1はオペレーションレジスタ31−1のTimeフィールドに設定されたカウント値とカウンタ32のカウント値が一致した時点に、オペレーションレジスタ31−1のオペレーションフィールドに設定された命令コードとIDフィールドに設定されたIDとを制御バス5に出力する。コンパレータ33−2も同様に、オペレーションレジスタ31−2のTimeフィールドに設定されたカウント値とカウンタ32のカウント値が一致した時点に、オペレーションレジスタ31−2のオペレーションフィールドに設定された制御命令とIDフィールドに設定されたIDとを制御バス5に出力する。コンパレータ33−nも同様に、オペレーションレジスタ31−nのTimeフィールドに設定されたカウント値とカウンタ32のカウント値が一致した時点に、オペレーションレジスタ31−nのオペレーションフィールドに設定された制御命令とIDフィールドに設定されたIDとを制御バス5に出力する。
たとえば、オペレーションレジスタ31−1のTimeフィールドにカウント値「3」が設定され、オペレーションレジスタ31−2のTimeフィールドにカウント値「6」が設定されていた場合、OSQ30は、カウンタ32のカウント値が「3」になるとオペレーションレジスタ31−1のオペレーションフィールドに設定された命令コードとIDフィールドに設定されたIDとを制御バス5に出力し、OSQ30は、カウンタ32のカウント値が「6」になるとオペレーションレジスタ31−2のオペレーションフィールドに設定された制御命令とIDフィールドに設定されたIDとを制御バス5に出力する。これにより、HWE#1〜#nは、カウンタ32のカウント値が「3」になると、制御バス5を介して受け取った命令コードが自身に対するものであれば、その命令コードにしたがった動作を開始し、さらにカウンタ32のカウント値が「6」になると、制御バス5を介して受け取った命令コードが自身に対するものであれば、その命令コードにしたがった動作を開始する。
信号処理における「予め決められた手順」を実現するためには、複数回のHWE制御が必要になる。この第2の実施の形態においては、「予め決められた手順」に必要となる制御を複数のオペレーションレジスタ31−1〜31−nに格納することができるので、処理中のオペレーションレジスタの書き換え回数を削減することができる。必要となる制御を全て格納できる個数のオペレーションレジスタを備えていれば、オペレーションレジスタの書き換えは発生しない。信号処理では同じ演算を繰り返し行うことが多いため、繰り返し処理に必要となる全ての制御をオペレーションレジスタ31−1〜31−nに格納することで、書き換えに要するコストが発生しない。なお、オペレーションレジスタの個数より「予め決められた手順」に必要となる制御の数が多い場合は、オペレーションレジスタの書き換えが必要となるが、複数のオペレーションレジスタ31−1〜31−nを備えているため、書き換えに要する時間やタイミングに関する制約が緩くなり、この結果、制御の自由度が向上する。
(第3の実施の形態)
図4を用いてこの発明の第3の実施の形態を説明する。この第3の実施の形態においては、各HWE#1〜#mからOSQ30に対してフィードバック線8−1〜8−mが設けられ、またOSQ30からSQC10に対してフィードバック線9が設けられている。
図4を用いてこの発明の第3の実施の形態を説明する。この第3の実施の形態においては、各HWE#1〜#mからOSQ30に対してフィードバック線8−1〜8−mが設けられ、またOSQ30からSQC10に対してフィードバック線9が設けられている。
HWE#1〜#mでの信号処理では、入力されたデータの種類や演算の結果によって、処理手順を変更する場合があり、各HWE#1〜#mは自身に設けられたフィードバック線8−1〜8−mを用いて分岐情報をOSQ30にフィードバックする。OSQ30は、フィードバック線9を用いて各HWE#1〜#mからの分岐情報をSQC10にフィードバックする。
SQC10では、フィードバックされた分岐情報に従って、第1または第2実施の形態で説明したOSQ30内のオペレーションレジスタ31を書き換えたり、カウンタ32の初期値などを書き換えることで、処理手順を変更させる。
第3の実施の形態においては、各HWE#1〜#mからの分岐情報をOSQ30を介してSQC10に入力しているので、この分岐情報に従ってOSQ30内のオペレーションレジスタ31を書き換えたり、カウンタ32の初期値などを書き換えるようにすれば、一連の信号処理に対して制御の分岐を実現することができる。
(第4の実施の形態)
図5を用いてこの発明の第4の実施の形態を説明する。この第4の実施の形態においては、OSQを階層的に構成するとともに、その際に必要であれば制御バスも階層的に構成している。
図5を用いてこの発明の第4の実施の形態を説明する。この第4の実施の形態においては、OSQを階層的に構成するとともに、その際に必要であれば制御バスも階層的に構成している。
図5において、SQC10には、上位の大まかな制御を行うOSQ30aが接続されており、OSQ30aは上位制御バス5aに接続されている。上位制御バス5aには、複数の下位の細かな制御を行うOSQ30b−1〜30bー3と、HWE#6が接続されている。SQC10は、上位制御バス5aとは異なる専用制御線15aを介して、上位のOSQ30aと、下位の複数のOSQ30b−1〜30b−3とに内蔵される1〜複数のオペレーションレジスタ31をセットする。上位のOSQ30aのカウンタ32は、専用制御線15bを介してSQC10によって、動作開始、停止、リセットが制御される。下位の複数のOSQ30b−1〜30b−3に内蔵されるカウンタ32は、ここでは図示していないが、SQC10によって、動作開始、停止、リセットが制御されてもよいし、上位のOSQ30aによって、動作開始、停止、リセットが制御されてもよい。
OSQ30b−1には、HWE#1が接続されている。OSQ30b−2には、HWE#2が接続されている。OSQ30b−3には、下位制御バス5bを介してHWE#3〜#5が接続されている。HWE#6は直接上位制御バス5aと接続されている。
この第4の実施の形態では、OSQは、上位のOSQ30aと下位の複数のOSQ30b−1〜30b−3の2階層で構成されている。上位のOSQ30aは各HWEの大まかな制御(スタート/ストップ/モード変更など)を担当する。下位の複数のOSQ30b−1〜30b−3は、各HWEの細かい制御を担当する。OSQ30b−1、30b−2はそれぞれHWE#1,#2の内部制御を担当する。これらのOSQ30b−1、30b−2とHWE#1,#2とは1対1で対応しているので制御バスは不要である。一方、OSQ30b−3はHWE#3〜#5の内部制御を担当する。OSQ30b−3は複数のHWEを制御するために制御バス5bが必要となる。このような制御バス構成は、各HWEの内部制御に共通点が多いときに有効である。また、HWE#6は上位制御バス5aと直接接続されている。HWEの内部制御が単純な場合は、このように下位のOSQを省略することができる。
第2の実施の形態の場合、HWEの個数が多いときや、「予め決められた手順」に必要となる制御の数が多い場合、オペレーションレジスタ31の書き換え回数を減らすにはオペレーションレジスタ31の個数を増やすしかない。さらに各HWE内部の細かい制御まで実現しようとしたら、膨大な数の制御をこなさなくてはならず、結果としてオペレーションレジスタ31の構成が大規模になってしまう。そこで、第4の実施の形態では、制御を階層的に分割することで、各OSQの構成を最適化することができる。さらに、各HWEの内部制御の複雑度に応じてOSQと制御バスの構成を最適化することで、回路規模削減にも貢献できる。
なお、上記では、制御を2階層の構成で説明をしたが、3階層以上の構成でも可能である。また、図5では図示を省略したが、第3の実施の形態で説明したような、HWEからのフィードバック線を設ける場合は、HWE→下位のOSQ→上位のOSQ→SQCの順にフィードバック情報を階層的にSQCに戻すようにする。
#1〜#m ハードウェアエンジン(HWE)
5 制御バス
8−1〜8−m、9 フィードバック線
10 シーケンスコントローラ(SQC)
30 オペレーションシーケンサ(OSQ)
31 オペレーションレジスタ
32 カウンタ
33 コンパレータ
5 制御バス
8−1〜8−m、9 フィードバック線
10 シーケンスコントローラ(SQC)
30 オペレーションシーケンサ(OSQ)
31 オペレーションレジスタ
32 カウンタ
33 コンパレータ
Claims (5)
- 制御バスで接続され、一連のデータ処理を実現するハードウェアエンジン(HWE)であって、制御を書き換えることにより異なるデータ処理を実行可能とするHWEを制御するハードウェアエンジン制御装置において、
前記複数のHWEを動作制御する制御命令を下位制御装置に出力する上位制御装置と、
前記上位制御装置からの制御命令を書き換え可能レジスタにセットし、該セットされた制御命令をクロック信号に基づいたタイミングで前記制御バスに出力する、シーケンサとして動作する下位制御装置と、
を備え、各HWEは、下位制御装置から出力された制御命令にしたがって動作することを特徴とするハードウェアエンジン制御装置。 - 前記下位制御装置は、
前記上位制御装置によって動作制御され、前記クロック信号をカウントするカウンタと、
前記上位制御装置からの制御命令として、命令コードと、該命令コードを実行されるHWEを識別するIDと、該命令コードを実行させるタイミングが前記クロック信号のカウント値によって規定されたタイミング情報とが、書き換え可能にセットされる制御命令レジスタと、
前記制御命令レジスタのタイミング情報を前記カウンタのカウント値と比較し、この比較結果が一致したときに、前記命令コードおよびIDを前記制御バスに出力するコンパレータと、
を備えることを特徴とする請求項1に記載のハードウェアエンジン制御装置。 - 前記下位制御装置は、
前記制御命令レジスタおよびコンパレータを複数対有することを特徴とする請求項2に記載のハードウェアエンジン制御装置。 - 前記上位制御装置は、
下位制御装置を介して各HWEからのフィードバック情報を受け取り、このフィードバック情報に基づき前記制御命令レジスタの内容または前記カウンタのカウント値を書き換えることによって前記HWEの制御内容を変更することを特徴とする請求項2または3に記載のハードウェアエンジン制御装置。 - 前記下位制御装置を階層的に構成することを特徴とする請求項1〜4の何れか一つに記載のハードウェアエンジン制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008121517A JP2009271724A (ja) | 2008-05-07 | 2008-05-07 | ハードウェアエンジン制御装置 |
US12/434,064 US8078837B2 (en) | 2008-05-07 | 2009-05-01 | Hardware engine control apparatus having hierarchical structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008121517A JP2009271724A (ja) | 2008-05-07 | 2008-05-07 | ハードウェアエンジン制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009271724A true JP2009271724A (ja) | 2009-11-19 |
Family
ID=41267825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008121517A Pending JP2009271724A (ja) | 2008-05-07 | 2008-05-07 | ハードウェアエンジン制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8078837B2 (ja) |
JP (1) | JP2009271724A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022545115A (ja) * | 2019-08-22 | 2022-10-25 | グーグル エルエルシー | オンチップ動作の初期化 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8238624B2 (en) * | 2007-01-30 | 2012-08-07 | International Business Machines Corporation | Hybrid medical image processing |
US8331737B2 (en) * | 2007-04-23 | 2012-12-11 | International Business Machines Corporation | Heterogeneous image processing system |
US8462369B2 (en) | 2007-04-23 | 2013-06-11 | International Business Machines Corporation | Hybrid image processing system for a single field of view having a plurality of inspection threads |
US8326092B2 (en) | 2007-04-23 | 2012-12-04 | International Business Machines Corporation | Heterogeneous image processing system |
US8675219B2 (en) | 2007-10-24 | 2014-03-18 | International Business Machines Corporation | High bandwidth image processing with run time library function offload via task distribution to special purpose engines |
US9135073B2 (en) | 2007-11-15 | 2015-09-15 | International Business Machines Corporation | Server-processor hybrid system for processing data |
US9332074B2 (en) | 2007-12-06 | 2016-05-03 | International Business Machines Corporation | Memory to memory communication and storage for hybrid systems |
US8229251B2 (en) * | 2008-02-08 | 2012-07-24 | International Business Machines Corporation | Pre-processing optimization of an image processing system |
US8379963B2 (en) | 2008-03-28 | 2013-02-19 | International Business Machines Corporation | Visual inspection system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4434459A (en) * | 1980-04-25 | 1984-02-28 | Data General Corporation | Data processing system having instruction responsive apparatus for both a basic and an extended instruction set |
JP3408888B2 (ja) | 1994-08-02 | 2003-05-19 | 株式会社日立製作所 | データ処理プロセッサ装置 |
AU2002233500A1 (en) * | 2001-02-14 | 2002-08-28 | Clearspeed Technology Limited | An interconnection system |
US20030066057A1 (en) * | 2001-02-23 | 2003-04-03 | Rudusky Daryl | System, method and article of manufacture for collaborative hardware design |
US8077174B2 (en) * | 2005-12-16 | 2011-12-13 | Nvidia Corporation | Hierarchical processor array |
US20080170611A1 (en) * | 2007-01-17 | 2008-07-17 | Srikrishna Ramaswamy | Configurable functional multi-processing architecture for video processing |
-
2008
- 2008-05-07 JP JP2008121517A patent/JP2009271724A/ja active Pending
-
2009
- 2009-05-01 US US12/434,064 patent/US8078837B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022545115A (ja) * | 2019-08-22 | 2022-10-25 | グーグル エルエルシー | オンチップ動作の初期化 |
JP7282980B2 (ja) | 2019-08-22 | 2023-05-29 | グーグル エルエルシー | オンチップ動作の初期化 |
Also Published As
Publication number | Publication date |
---|---|
US20090282216A1 (en) | 2009-11-12 |
US8078837B2 (en) | 2011-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009271724A (ja) | ハードウェアエンジン制御装置 | |
US20240012788A1 (en) | Systems and methods for implementing a machine perception and dense algorithm integrated circuit and enabling a flowing propagation of data within the integrated circuit | |
US20140324408A1 (en) | Flexible allocation of i/o channels of a hardware component | |
JP2015529363A5 (ja) | ||
CN109726800B (zh) | 运算方法、装置及相关产品 | |
CN109711540B (zh) | 一种计算装置及板卡 | |
US20130117533A1 (en) | Coprocessor having task sequence control | |
US11387844B2 (en) | Data compression method, data compression apparatus, data decompression method, data decompression apparatus and data storage system | |
US11531638B2 (en) | Reconfigurable circuit array using instructions including a fetch configuration data portion and a transfer configuration data portion | |
JP2009507292A (ja) | 分離したシリアルモジュールを備えるプロセッサアレイ | |
US20100088493A1 (en) | Image processing device and data processor | |
US10936515B2 (en) | Information processing system including data classification unit for reconstructing transfer data based on defined transfer codes | |
US20190138310A1 (en) | Method for reading out variables from an fpga | |
CN111860772A (zh) | 一种用于执行人工神经网络pooling运算的装置和方法 | |
US10418077B2 (en) | Realtime streaming control of an arbitrary waveform generator | |
US7996657B2 (en) | Reconfigurable computing circuit | |
US8764874B2 (en) | Arrangement, method, integrated circuit and device for routing requests | |
US8395630B2 (en) | Format conversion apparatus from band interleave format to band separate format | |
JP2012059131A (ja) | Simd型マイクロプロセッサ及びその処理方法 | |
US8799529B2 (en) | Direct memory access controller and operating method thereof | |
JP2012185803A (ja) | 再構成デバイス、処理配置方法及びプログラム | |
Ackermann et al. | Enabling self-reconfiguration on a video processing platform | |
Zhang et al. | Design and Implementation of Real-Time Processing Systems | |
Ustyukov et al. | Features of Image Spatial Filters Implementation on FPGA | |
CN112395006A (zh) | 运算方法、装置、计算机设备和存储介质 |