JP5404294B2 - データ演算装置の制御回路及びデータ演算装置 - Google Patents

データ演算装置の制御回路及びデータ演算装置 Download PDF

Info

Publication number
JP5404294B2
JP5404294B2 JP2009235009A JP2009235009A JP5404294B2 JP 5404294 B2 JP5404294 B2 JP 5404294B2 JP 2009235009 A JP2009235009 A JP 2009235009A JP 2009235009 A JP2009235009 A JP 2009235009A JP 5404294 B2 JP5404294 B2 JP 5404294B2
Authority
JP
Japan
Prior art keywords
data
data path
calculation
control unit
transfer
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
JP2009235009A
Other languages
English (en)
Other versions
JP2011081695A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009235009A priority Critical patent/JP5404294B2/ja
Publication of JP2011081695A publication Critical patent/JP2011081695A/ja
Application granted granted Critical
Publication of JP5404294B2 publication Critical patent/JP5404294B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

この発明は、高速なデータ演算を行うデータ演算装置と、そのデータ演算装置におけるデータパス演算等を制御する制御回路とに関するものである。
例えば、映像信号処理のように、複数のデータを高速に処理するデータ演算装置では、データパス演算を行うデータパス回路を実装しているものがある。
このとき、データの高速処理を実現するために、例えば、SIMD(Single Instruction Multiple Data)演算装置のような汎用アクセラレータを用いて、データパス回路を構成しているものがある。
このような汎用アクセラレータは、プロセッサによって制御されるが、従来の制御手段としてのプロセッサは、内蔵されている命令メモリ内のプログラムを実行することで、外部メモリに対する入出力制御や、演算器に対する演算内容の指示を行っている(例えば、特許文献1を参照)。
図4は従来のデータ演算装置に実装されているプロセッサによるデータパスの制御タイミング例を示す説明図である。
ただし、データ演算装置は、プロセッサのほかに、データパス演算を行うデータパス回路と、プロセッサの指示の下で、データパス回路内の記憶装置に対してデータを転送するDMA(Direct Memory Access)コントローラとを実装しているものとする。
なお、プロセッサは、データパス回路の演算制御や、データの転送制御を実施するほかに、データ転送のアドレス演算や条件分岐などの制御用の単一演算も実行するものとする。
まず、プロセッサは、データパス回路内の記憶装置に対してデータを転送するための前処理(図4では、「DMA転送0前処理」と表記)として、DMA転送に必要なアドレス演算等を実施する(例えば、転送元アドレス、転送先アドレス、転送データサイズなどを演算する)。
プロセッサは、DMA転送に必要なアドレス演算等を実施すると、そのアドレス演算等の結果をDMAコントローラに設定して(図4では、「DMA転送0設定」と表記)、DMA転送をDMAコントローラに指示する。
DMAコントローラは、プロセッサからDMA転送指示を受けると、プロセッサの処理と並行して、「DMA転送0設定」に見合うデータ転送(図4では、「DMA転送0」と表記)を実行する。
DMAコントローラは、データ転送が完了すると、DMA転送の完了通知をプロセッサに出力する。
プロセッサは、DMAコントローラが「DMA転送0」を実行している間、次のデータ転送に必要な前処理(図4では、「DMA転送1前処理」と表記)と、次のデータパス演算(図4では、「データパス演算0」と表記)で必要となるパラメータ等を算出するための単一演算(図4では、「単一演算0」と表記)を実行する。
その後、プロセッサは、DMAコントローラからDMA転送完了通知が出力されるまで待機し、DMAコントローラからDMA転送完了通知を受けると、「DMA転送1前処理」におけるアドレス演算等の結果をDMAコントローラに設定して(図4では、「DMA転送1設定」と表記)、DMA転送をDMAコントローラに指示する。
また、プロセッサは、「単一演算0」におけるパラメータ等の算出結果をデータパス回路に出力して、「データパス演算0」の実行をデータパス回路に指示する。
データパス回路は、プロセッサから「データパス演算0」の実行指示を受けると、DMAコントローラによって記憶装置にDMA転送されているデータ(「DMA転送0」により転送されたデータ)を読み込み、プロセッサから出力された「単一演算0」におけるパラメータ等の算出結果と、「DMA転送0」により転送されたデータとを用いて、「データパス演算0」を実行する。
DMAコントローラは、プロセッサからDMA転送指示を受けると、データパス回路のデータパス演算と並行して、「DMA転送1設定」に見合うデータ転送(図4では、「DMA転送1」と表記)を実行する。
DMAコントローラは、データ転送が完了すると、DMA転送の完了通知をプロセッサに出力する。
プロセッサは、データパス回路による「データパス演算0」が完了すると、「データパス演算0」の演算結果を用いた後処理(図4では、「データパス演算0後処理」)を実行し、「データパス演算0後処理」が完了すると、次のデータ転送に必要な前処理(図4では、「DMA転送2前処理」と表記)と、次のデータパス演算(図4では、「データパス演算1」と表記)で必要となるパラメータ等を算出するための単一演算(図4では、「単一演算1」と表記)を実行する。
プロセッサは、「DMA転送2前処理」と「単一演算1」を実行すると、「DMA転送2前処理」におけるアドレス演算等の結果をDMAコントローラに設定して(図4では、「DMA転送2設定」と表記)、DMA転送をDMAコントローラに指示する。
また、プロセッサは、「単一演算1」におけるパラメータ等の算出結果をデータパス回路に出力して、「データパス演算1」の実行をデータパス回路に指示する。
データパス回路は、プロセッサから「データパス演算1」の実行指示を受けると、DMAコントローラによって記憶装置にDMA転送されているデータ(「DMA転送1」により転送されたデータ)を読み込み、プロセッサから出力された「単一演算1」におけるパラメータ等の算出結果と、「DMA転送1」により転送されたデータとを用いて、「データパス演算1」を実行する。
DMAコントローラは、プロセッサからDMA転送指示を受けると、データパス回路のデータパス演算と並行して、「DMA転送2設定」に見合うデータ転送(図4では、「DMA転送2」と表記)を実行する。
DMAコントローラは、データ転送が完了すると、DMA転送の完了通知をプロセッサに出力する。
プロセッサは、データパス回路による「データパス演算1」が完了すると、「データパス演算1」の演算結果を用いた後処理(図4では、「データパス演算1後処理」)を実行し、「データパス演算1後処理」が完了すると、次のデータ転送に必要な前処理(図4では、「DMA転送3前処理」と表記)と、次のデータパス演算で必要となるパラメータ等を算出するための単一演算(図4では、「単一演算2」と表記)を実行する。
以降、同様の処理の繰り返しであるため、説明を省略する。
特開2009−15556号公報
従来のデータ演算回路は以上のように構成されているので、プロセッサのほかにデータパス回路が実装されていても、プロセッサによる単一演算とデータパス回路によるデータパス演算を並列に実行することができず、処理の高速化を図ることができない課題があった。
この発明は上記のような課題を解決するためになされたもので、単一演算とデータパス演算の並列実行を実現して、処理の高速化を図ることができるデータ演算装置の制御回路及びデータ演算装置を得ることを目的とする。
この発明に係るデータ演算装置の制御回路は、データパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行して、その単一演算の演算結果及びデータパス演算の演算内容を示すデータパス演算指示を出力するメイン制御部と、メイン制御部から出力されたデータの転送指令にしたがってDMAコントローラを制御することで、記憶装置に記憶されているデータパス演算に用いるデータをデータパス回路に転送させるデータ転送制御部とを設け、DMAコントローラによるデータ転送が完了すると、データパス制御部が、メイン制御部から出力された単一演算の演算結果及びデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令をデータパス回路に与えて、その単一演算の演算結果とDMAコントローラにより転送されたデータを用いるデータパス演算命令に係るデータパス演算をデータパス回路に実行させるようにしたものである。
この発明によれば、データパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行して、その単一演算の演算結果及びデータパス演算の演算内容を示すデータパス演算指示を出力するメイン制御部と、メイン制御部から出力されたデータの転送指令にしたがってDMAコントローラを制御することで、記憶装置に記憶されているデータパス演算に用いるデータをデータパス回路に転送させるデータ転送制御部とを設け、DMAコントローラによるデータ転送が完了すると、データパス制御部が、メイン制御部から出力された単一演算の演算結果及びデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令をデータパス回路に与えて、その単一演算の演算結果とDMAコントローラにより転送されたデータを用いるデータパス演算命令に係るデータパス演算をデータパス回路に実行させるように構成したので、データパス回路がデータパス演算を実行しているとき、メイン制御部が次の単一演算を並行して実行することができるようになり、その結果、処理の高速化を図ることができる効果がある。
この発明の実施の形態1によるデータ演算装置を示す構成図である。 この発明の実施の形態1によるデータ演算装置の制御タイミング例を示す説明図である。 この発明の実施の形態2によるデータ演算装置を示す構成図である。 従来のデータ演算装置に実装されているプロセッサによるデータパスの制御タイミング例を示す説明図である。
実施の形態1.
図1はこの発明の実施の形態1によるデータ演算装置を示す構成図である。
図1において、制御回路1はデータパス演算で必要となる所定の単一演算(例えば、加算、減算、論理和などを行ってパラメータ等を演算)を実行するほか、DMAコントローラ3におけるデータ転送の制御や、データパス回路4におけるデータパス演算の制御などを行う回路である。
外部記憶装置2は例えばデータパス回路4がデータパス演算を実施する際に用いるデータ等を記憶しているメモリやハードディスクなどの記憶媒体である。
DMAコントローラ3は制御回路1から出力されるデータ転送指令(DMA転送設定+DMA転送開始指示)にしたがって、外部記憶装置2(または、制御回路1の内部記憶装置16)に記憶されているデータをデータパス回路4内の記憶装置4aにDMA転送する一方、データパス回路4内の記憶装置4aに記憶されているデータパス演算の演算結果を制御回路1の内部記憶装置16又は外部記憶装置2にDMA転送し、DMA転送が完了すると、DMA転送の完了通知を制御回路1に出力する処理を実施する。
データパス回路4は制御回路1から出力されるデータパス演算命令にしたがって、制御回路1から出力される単一演算の演算結果と記憶装置4aに記憶されているデータ(DMAコントローラ3によりDMA転送されたデータ)を用いて、データパス演算を実行する回路である。
なお、制御回路1、外部記憶装置2、DMAコントローラ3及びデータパス回路4はバス5に接続されている。
制御回路1のメイン命令メモリ11はメイン制御部12が実行するプログラムを格納している記憶媒体である。
メイン命令メモリ11により格納されているプログラムは、メイン制御部12からデータ転送制御部13に出力されるデータ転送指示に関する命令、メイン制御部12からデータパス制御部15に出力されるデータパス演算指示に関する命令、メイン制御部12により実行される単一演算に関する命令、内部記憶装置16に対する読み書き命令、メイン制御部12におけるシーケンス制御に関する命令(例えば、ジャンプ、比較ジャンプなど)などから構成されている。
制御回路1のメイン制御部12はメイン命令メモリ11により格納されているプログラムを実行することで、データパス演算に用いるデータの転送指令であるデータ転送指示(例えば、転送元アドレス、転送先アドレス、転送データサイズのほか、データ転送の開始指示を含む)をデータ転送制御部13に出力するとともに、データパス演算で必要となる所定の単一演算(例えば、加算、減算、論理和などを行ってパラメータ等を演算)を実行して、単一演算の演算結果及びデータパス演算の演算内容を示すデータパス演算指示をデータパス制御部15に出力する処理を実施する。
制御回路1のデータ転送制御部13はメイン制御部12から出力されたデータ転送指示にしたがってDMA転送設定(例えば、転送元アドレス、転送先アドレス、転送データサイズなどを設定)をDMAコントローラ3に行って、DMA転送の開始指示をDMAコントローラ3に出力することで、外部記憶装置2(または、制御回路1の内部記憶装置16)に記憶されているデータをデータパス回路4内の記憶装置4aにDMA転送させる処理を実施する。
また、データ転送制御部13はDMAコントローラ3からDMA転送の完了通知を受けると、そのDMA転送の完了通知をメイン制御部12及びデータパス制御部15に出力する処理を実施する。
さらに、データ転送制御部13は、DMAコントローラ3を制御することで、データパス回路4によるデータパス演算の演算結果(記憶装置4aにより記憶されている演算結果)を内部記憶装置16又は外部記憶装置2に転送させる処理も実施する。
制御回路1のデータパス命令メモリ14はデータパス制御部15が実行するプログラムを格納している記憶媒体である。
制御回路1のデータパス制御部15はデータパス命令メモリ14により格納されているプログラムを実行することで、データ転送制御部13からDMA転送の完了通知を受けると、メイン制御部15から出力されたデータパス演算指示にしたがって単一演算の演算結果及びデータパス演算命令をデータパス回路4に与えて、そのデータパス演算命令に係るデータパス演算をデータパス回路4に実行させる処理を実施する。
制御回路1の内部記憶装置16はメイン制御部12がアクセス可能な記録媒体であり、データパス回路4の演算結果やデータパス演算に用いるデータ等を記憶している。
次に動作について説明する。
制御回路1のメイン制御部12は、メイン命令メモリ11により格納されているプログラムを読み込み、そのプログラムを実行する。
メイン命令メモリ11により格納されているプログラムが、例えば、データ転送制御部13に対するデータ転送指示に関する命令であれば、DMA転送設定(例えば、転送元アドレス、転送先アドレス、転送データサイズなどを設定)をDMAコントローラ3に行って、DMA転送の開始指示を発行させる制御内容が記述されている。
メイン命令メモリ11により格納されているプログラムが、例えば、データパス制御部15に対するデータパス演算指示に関する命令であれば、データパス演算設定(例えば、データパス命令メモリ14に格納されているプログラムにおいて、実行を開始する開始アドレス、終了アドレス、次データの転送可能アドレスなどを設定)とメイン制御部12における単一演算結果の設定をデータパス回路4に行って、データパス演算の開始指示を発行させる制御内容が記述されている。
また、メイン命令メモリ11により格納されているプログラムが、例えば、単一演算に関する命令であれば、単一演算の演算内容(パラメータ等を得るための演算内容)が記述されている。
メイン命令メモリ11により格納されているプログラムが、例えば、内部記憶装置16や図示せぬ内部レジスタに対する読み書き命令であれば、データ等の読み出し元や書き込み先を示すアドレスとデータサイズなどが記述されている。
メイン命令メモリ11により格納されているプログラムが、例えば、シーケンス制御に関する命令であれば、ジャンプ、比較ジャンプなどの制御内容が記述されている。
図2はこの発明の実施の形態1によるデータ演算装置の制御タイミング例を示す説明図である。
この実施の形態1では、メイン制御部12が図2の制御タイミング例に沿って処理を実行するプログラムがメイン命令メモリ11に格納されているものとして説明する。
図2では、データパス演算0〜データパス演算3を実行する例を示している。
制御回路1のメイン制御部12は、データパス回路4内の記憶装置4aに対してデータを転送するための前処理(図2では、「DMA転送0前処理」と表記)として、DMA転送に必要なアドレス演算等を実施する(例えば、転送元アドレス、転送先アドレス、転送データサイズなどを演算する)。
メイン制御部12は、DMA転送に必要なアドレス演算等を実施すると、そのアドレス演算等の結果を含むデータ転送指示(図2では、「DMA転送0指示」と表記)をデータ転送制御部13に出力する。
データ転送制御部13は、メイン制御部12から「DMA転送0指示」を受けると、データパス制御部15からデータ転送可能通知が出力されていれば(データ転送可能通知については後述する)、「DMA転送0指示」に含まれているアドレス演算等の結果を参照して、DMA転送設定(例えば、転送元アドレス、転送先アドレス、転送データサイズなどを設定)をDMAコントローラ3に行って、DMA転送の開始指示をDMAコントローラ3に発行する。
DMAコントローラ3は、データ転送制御部13からDMA転送の開始指示を受けると、制御回路1のメイン制御部12の処理と並行して、データ転送制御部13によるDMA転送設定に見合うデータ転送(図2では、「DMA転送0」と表記)を実行する。
例えば、DMA転送設定における転送元アドレスが外部記憶装置2内のアドレスであり、転送先アドレスがデータパス回路4における記憶装置4a内のアドレスであれば、外部記憶装置2から転送データサイズ分のデータをデータパス回路4内の記憶装置4aにDMA転送する。
なお、DMAコントローラ3は、データのDMA転送が完了すると、DMA転送の完了通知をデータ転送制御部13に出力し、データ転送制御部13は、そのDMA転送の完了通知をメイン制御部12及びデータパス制御部15に転送する。
メイン制御部12は、DMAコントローラ3が「DMA転送0」を実行している間、次のデータ転送に必要な前処理(図2では、「DMA転送1前処理」と表記)と、次のデータパス演算(図2では、「データパス演算0」と表記)で必要となるパラメータ等を算出するための単一演算(図2では、「単一演算0」と表記)を実行する。
メイン制御部12は、「単一演算0」を実行すると、「単一演算0」の演算結果を含むデータパス演算指示をデータパス制御部15に出力する。
図2では、データパス演算0〜データパス演算3を実行する例を示しており、データパス回路4がデータパス演算0の実施を開始する前に、メイン制御部12がデータパス演算指示を1回だけデータパス制御部15に出力すれば、データパス演算0〜データパス演算3の実行が可能であるようにしている。
即ち、メイン制御部12から出力されるデータパス演算指示には、データパス命令メモリ14に格納されているプログラムにおける指定範囲の“ループ実行”を指示する記述(プログラムの指定範囲を4回繰り返すことで、データパス演算0〜データパス演算3を実行する旨を示す記述)がなされており、データパス演算指示を1回だけデータパス制御部15に出力すれば、データパス演算0〜データパス演算3の実行が行えるようにしている。
ただし、データパス演算を複数回繰り返す場合、データパス回路4がデータパス演算を実施する毎に、メイン制御部12がデータパス演算指示をデータパス制御部15に出力するようにしてもよい。
その後、メイン制御部12は、DMAコントローラ3から出力された「DMA転送0」の転送完了通知がデータ転送制御部13から転送されるまで待機する。
データパス制御部15についても、DMAコントローラ3から出力された「DMA転送0」の転送完了通知がデータ転送制御部13から転送されるまで待機する。
データパス制御部15は、メイン制御部12からデータパス演算指示を受けてから、データ転送制御部13から「DMA転送0」の転送完了通知を受けると、そのデータパス演算指示にしたがって、データパス演算設定(例えば、データパス命令メモリ14に格納されているプログラムにおいて、実行を開始する開始アドレス、終了アドレス、次データの転送可能アドレスなどを設定)と、「単一演算0」の演算結果の設定とをデータパス回路4に行って、データパス演算の開始指示をデータパス回路4に発行する。
データパス回路4は、データパス制御部15からデータパス演算の開始指示を受けると、メイン制御部12やDMAコントローラ3の処理と並行して、「単一演算0」の演算結果と記憶装置4aに記憶されているデータ(DMAコントローラ3によりDMA転送されたデータ)を用いて、データパス演算設定に係る「データパス演算0」を実行する。
ここで、データパス制御部15は、データパス命令メモリ14に格納されているプログラムを実行することで、データパス回路4のデータパス演算を制御するが、そのプログラムが1命令1サイクルでデータパス命令メモリ14に格納されているとすると、データパス制御部15が、データパス演算命令を毎サイクル発行することになるため、データパス回路4の演算状況を常時把握していることになる。
したがって、データパス制御部15は、データパス演算命令として、終了アドレスの命令を発行すると、データパス回路4のデータパス演算が完了したものとして、データパス演算の完了通知をメイン制御部12に出力する。
また、データパス制御部15は、データパス回路4がデータパス演算を実行しているときに、記憶装置4aから取得するデータ(データパス演算に必要なデータ)の取り込み完了タイミングが、次データの転送可能アドレスで指定しているとすれば、データパス演算命令が、次データの転送可能アドレスの命令に到達した時点で、データ転送可能通知をデータ転送制御部13に出力する。
メイン制御部12は、データ転送制御部13から「DMA転送0」の転送完了通知を受けると、「DMA転送1前処理」におけるアドレス演算等の結果を含むデータ転送指示(図2では、「DMA転送1指示」と表記)をデータ転送制御部13に出力する。
データ転送制御部13は、メイン制御部12から「DMA転送1指示」を受けると、データパス制御部15からデータ転送可能通知が出力されていれば、「DMA転送1指示」に含まれているアドレス演算等の結果を参照して、DMA転送設定(例えば、転送元アドレス、転送先アドレス、転送データサイズなどを設定)をDMAコントローラ3に行って、DMA転送の開始指示をDMAコントローラ3に発行する。
DMAコントローラ3は、データ転送制御部13からDMA転送の開始指示を受けると、メイン制御部12やデータパス回路4の処理と並行して、データ転送制御部13によるDMA転送設定に見合うデータ転送(図2では、「DMA転送1」と表記)を実行する。
例えば、DMA転送設定における転送元アドレスが外部記憶装置2内のアドレスであり、転送先アドレスがデータパス回路4における記憶装置4a内のアドレスであれば、外部記憶装置2から転送データサイズ分のデータをデータパス回路4内の記憶装置4aにDMA転送する。
なお、DMAコントローラ3は、データのDMA転送が完了すると、DMA転送の完了通知をデータ転送制御部13に出力し、データ転送制御部13は、そのDMA転送の完了通知をメイン制御部12及びデータパス制御部15に転送する。
メイン制御部12は、DMAコントローラ3が「DMA転送1」を実行している間、次のデータ転送に必要な前処理(図2では、「DMA転送2前処理」と表記)と、次のデータパス演算(図2では、「データパス演算1」と表記)で必要となるパラメータ等を算出するための単一演算(図2では、「単一演算1」と表記)を実行する。
その後、メイン制御部12は、DMAコントローラ3から出力された「DMA転送1」の転送完了通知がデータ転送制御部13から転送されるまで待機する。
メイン制御部12は、データ転送制御部13から「DMA転送1」の転送完了通知を受けると、「DMA転送2前処理」におけるアドレス演算等の結果を含むデータ転送指示(図2では、「DMA転送2指示」と表記)をデータ転送制御部13に出力する。
その後、メイン制御部12は、データパス制御部15から「データパス演算0」の完了通知が出力されるまで待機する。
データ転送制御部13は、メイン制御部12から「DMA転送2指示」を受けると、データパス制御部15からデータ転送可能通知が出力されるまで待機し、データパス制御部15からデータ転送可能通知を受けると、「DMA転送2指示」に含まれているアドレス演算等の結果を参照して、DMA転送設定(例えば、転送元アドレス、転送先アドレス、転送データサイズなどを設定)をDMAコントローラ3に行って、DMA転送の開始指示をDMAコントローラ3に発行する。
DMAコントローラ3は、データ転送制御部13からDMA転送の開始指示を受けると、制御回路1のメイン制御部12の処理と並行して、データ転送制御部13によるDMA転送設定に見合うデータ転送(図2では、「DMA転送2」と表記)を実行する。
例えば、DMA転送設定における転送元アドレスが外部記憶装置2内のアドレスであり、転送先アドレスがデータパス回路4における記憶装置4a内のアドレスであれば、外部記憶装置2から転送データサイズ分のデータをデータパス回路4内の記憶装置4aにDMA転送する。
なお、DMAコントローラ3は、データのDMA転送が完了すると、DMA転送の完了通知をデータ転送制御部13に出力し、データ転送制御部13は、そのDMA転送の完了通知をメイン制御部12及びデータパス制御部15に転送する。
メイン制御部12は、データパス制御部15から「データパス演算0」の完了通知を受けると、DMAコントローラ3が「DMA転送2」を実行している間、「データパス演算0」の後処理(例えば、データパス演算の演算回数をカウントする処理や、DMAコントローラ3により転送されたデータパス演算0の演算結果を用いる所定の演算処理)を実行する。
データ転送制御部13は、メイン制御部12の指示の下、DMAコントローラ3を制御することで、データパス回路4によるデータパス演算の演算結果(記憶装置4aにより記憶されている演算結果)を内部記憶装置16に転送させる。この演算結果の転送処理は、必要に応じて行われるものであり、データパス演算が実行される毎に行われるものではない。ただし、転送処理自体は、データパス演算に用いるデータの転送処理と同様であるため説明を省略する。
また、メイン制御部12は、次のデータ転送に必要な前処理(図2では、「DMA転送3前処理」と表記)と、次のデータパス演算(図2では、「データパス演算2」と表記)で必要となるパラメータ等を算出するための単一演算(図2では、「単一演算2」と表記)を実行する。
その後、メイン制御部12は、DMAコントローラ3から出力された「DMA転送2」の転送完了通知がデータ転送制御部13から転送されるまで待機する。
データパス回路4は、「データパス演算0」の実行が完了すると、メイン制御部12やDMAコントローラ3の処理と並行して、「単一演算1」の演算結果と記憶装置4aに記憶されているデータ(DMAコントローラ3によりDMA転送されたデータ)を用いて、データパス演算設定に係る「データパス演算1」を実行する。
以降、DMAコントローラ3における「DMA転送3」「DMA転送4」及びデータパス回路4における「データパス演算2」「データパス演算3」の処理内容は、DMAコントローラ3における「DMA転送2」及びデータパス回路4における「データパス演算1」の処理内容と同様であるため説明を省略する。
以上で明らかなように、この実施の形態1によれば、データパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行して、その単一演算の演算結果及びデータパス演算の演算内容を示すデータパス演算指示を出力するメイン制御部12と、メイン制御部12から出力されたデータの転送指令にしたがってDMAコントローラ3を制御することで、外部記憶装置2に記憶されているデータパス演算に用いるデータをデータパス回路4内の記憶装置4aに転送させるデータ転送制御部13とを設け、DMAコントローラ3によるデータ転送が完了すると、データパス制御部15が、メイン制御部12から出力された単一演算の演算結果及びデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令をデータパス回路4に与えて、その単一演算の演算結果とDMAコントローラ3により転送されたデータを用いるデータパス演算命令に係るデータパス演算をデータパス回路4に実行させるように構成したので、データパス回路4がデータパス演算を実行しているとき、メイン制御部12が次の単一演算を並行して実行することができるようになり、その結果、処理の高速化を図ることができる効果を奏する。
実施の形態2.
上記実施の形態1では、メイン制御部12が、単一演算の演算結果及びデータパス演算の演算内容を示すデータパス演算指示を出力し、データパス制御部15が、メイン制御部12から出力された単一演算の演算結果及びデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令をデータパス回路4に与えて、その単一演算の演算結果とDMAコントローラ3により転送されたデータを用いる上記データパス演算命令に係るデータパス演算をデータパス回路4に実行させるものについて示したが、メイン制御部12が、単一演算の演算結果に対応するデータパス演算の演算内容を示すデータパス演算指示を出力し、データパス制御部15が、メイン制御部12から出力されたデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令(単一演算の演算結果が反映されたデータパス演算の演算内容を実行するデータパス演算命令)をデータパス回路4に与えて、DMAコントローラ3により転送されたデータを用いる上記データパス演算命令に係るデータパス演算をデータパス回路4に実行させるようにしてもよい。
ここで、単一演算の演算結果が反映されたデータパス演算の演算内容として、例えば、単一演算の演算結果が閾値以上であれば、“A+B”のデータパス演算を実行し、単一演算の演算結果が閾値未満であれば、“A+2B”のデータパス演算を実行するなどが考えられる。
実施の形態3.
上記実施の形態1では、データパス制御部15が、データパス演算命令として、終了アドレスの命令を発行すると、データパス回路4のデータパス演算が完了したものとして、データパス演算の完了通知をメイン制御部12に出力するものについて示したが、メイン制御部12がデータパス制御部15に出力するデータパス演算指示で、データパス演算の完了通知を出力するタイミング(例えば、アドレス、プログラムカウンタ)を指定し、データパス制御部15が、上記タイミングでデータパス演算の完了通知をメイン制御部12に出力するようにしてもよい。
この場合、メイン制御部12は、データパス演算の終了アドレスの命令が実行されるより前に、データパス演算の後処理を開始できる状況下(例えば、終了アドレスの命令が実行される前に、データパス演算の演算結果が確定しているような状況下)では、後処理を開始するタイミングを自在に設定することが可能となる。
実施の形態4.
図3はこの発明の実施の形態4によるデータ演算装置を示す構成図であり、図において、図1と同一符号は同一又は相当部分を示すので説明を省略する。
上位制御回路6は制御回路1の処理内容を制御する回路である。
上位制御回路間通信I/F17は上位制御回路6から出力された制御信号を受信する一方、データパス演算の結果等を上位制御回路6に送信する処理を実施する。なお、上位制御回路間通信I/F17は通信インタフェースを構成している。
次に動作について説明する。
上位制御回路6は、例えば、制御回路1のメイン制御部12の処理内容を制御する際、メイン制御部12の処理内容を示す制御指示や制御用のパラメータ等を含む制御信号を制御回路1に出力する。
制御回路1の上位制御回路間通信I/F17は、通信用記憶装置(例えば、レジスタ)を備えており、上位制御回路6から出力された制御信号に含まれている制御指示や制御用のパラメータ等を通信用記憶装置に書き込む処理を行う。
メイン制御部12は、上記実施の形態1と同様にして、メイン命令メモリ11に格納されているプログラムを読み込むと、そのプログラムを実行することにより、上位制御回路間通信I/F17の通信用記憶装置に書き込まれている制御指示や制御用のパラメータ等の読み出しを行う。
この実施の形態4では、メイン命令メモリ11に格納されているプログラムの先頭には、上位制御回路間通信I/F17の通信用記憶装置から制御指示や制御用のパラメータ等の読み出しを行う命令が記述されているものとする。
メイン制御部12は、制御指示や制御用のパラメータ等の読み出しを行うと、その制御指示や制御用のパラメータ等を考慮して、単一演算を実行するとともに、データ転送制御部13に対するデータ転送指示や、データパス制御部15に対するデータパス演算指示を行う。
即ち、メイン制御部12は、メイン命令メモリ11に格納されているプログラムを実行することで、単一演算の実行や、データ転送制御部13に対するデータ転送指示や、データパス制御部15に対するデータパス演算指示を行うが、例えば、その制御指示がプログラムの追加や変更を示していれば、追加・変更されたプログラムを実行することで、単一演算の実行や、データ転送制御部13に対するデータ転送指示や、データパス制御部15に対するデータパス演算指示を行う。
また、制御用のパラメータがプログラムの分岐条件や閾値などを示していれば、その分岐条件や閾値などを満足するようにプログラムを実行する。
メイン制御部12は、通信用記憶装置から読み出した制御指示が、データパス演算や単一演算の演算結果等の送信を指示するものであれば、データパス演算や単一演算の演算結果等を上位制御回路間通信I/F17の通信用記憶装置に書き込む処理を行う。
上位制御回路間通信I/F17は、メイン制御部12がデータパス演算や単一演算の演算結果等を通信用記憶装置に書き込むと、そのデータパス演算や単一演算の演算結果等を上位制御回路6に送信する。
以上で明らかなように、この実施の形態4によれば、上位制御回路6から出力された制御信号を受信する上位制御回路間通信I/F17を備え、メイン制御部17が、上位制御回路間通信I/F17により受信された制御信号にしたがって処理(例えば、単一演算の実行、データ転送制御部13に対するデータ転送指示、データパス制御部15に対するデータパス演算指示など)を行うように構成したので、上位制御回路6が制御回路1の処理を制御することが可能になり、その結果、他回路と連携しながらデータ演算を行うことができる効果を奏する。
1 制御回路、2 外部記憶装置、3 DMAコントローラ、4 データパス回路、4a 記憶装置、5 バス、6 上位制御回路、11 メイン命令メモリ、12 メイン制御部、13 データ転送制御部、14 データパス命令メモリ、15 データパス制御部、16 内部記憶装置、17 上位制御回路間通信I/F(通信インタフェース)。

Claims (9)

  1. データパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行して、その単一演算の演算結果及びデータパス演算の演算内容を示すデータパス演算指示を出力するメイン制御部と、上記メイン制御部から出力されたデータの転送指令にしたがってDMAコントローラを制御することで、記憶装置に記憶されているデータパス演算に用いるデータをデータパス回路に転送させるデータ転送制御部と、上記DMAコントローラによるデータ転送が完了すると、上記メイン制御部から出力された単一演算の演算結果及びデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令を上記データパス回路に与えて、その単一演算の演算結果と上記DMAコントローラにより転送されたデータを用いる上記データパス演算命令に係るデータパス演算を上記データパス回路に実行させるデータパス制御部とを備えたデータ演算装置の制御回路。
  2. データパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行して、その単一演算の演算結果に対応するデータパス演算の演算内容を示すデータパス演算指示を出力するメイン制御部と、上記メイン制御部から出力されたデータの転送指令にしたがってDMAコントローラを制御することで、記憶装置に記憶されているデータパス演算に用いるデータをデータパス回路に転送させるデータ転送制御部と、上記DMAコントローラによるデータ転送が完了すると、上記メイン制御部から出力されたデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令を上記データパス回路に与えて、上記DMAコントローラにより転送されたデータを用いる上記データパス演算命令に係るデータパス演算を上記データパス回路に実行させるデータパス制御部とを備えたデータ演算装置の制御回路。
  3. データ転送制御部は、DMAコントローラを制御することで、データパス回路によるデータパス演算の演算結果をメイン制御部がアクセス可能な内部記憶装置に転送させることを特徴とする請求項1または請求項2記載のデータ演算装置の制御回路。
  4. データ転送制御部は、DMAコントローラによるデータ転送が完了すると、データの転送完了通知をメイン制御部及びデータパス制御部を出力し、
    上記メイン制御部は、上記データ転送制御部からデータの転送完了通知を受けると、次のデータパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行し、
    上記データパス制御部は、上記データ転送制御部からデータの転送完了通知を受けると、データパス回路によるデータパス演算の実行を開始させることを特徴とする請求項1から請求項3のうちのいずれか1項記載のデータ演算装置の制御回路。
  5. データパス制御部は、データパス回路によるデータパス演算の実行状況を把握し、上記データパス回路に対して、次のデータパス演算に用いるデータの転送が可能になると、データ転送可能通知をデータ転送制御部に出力し、
    上記データ転送制御部は、上記データパス制御部からデータ転送可能通知を受けると、メイン制御部から出力されたデータの転送指令にしたがってDMAコントローラを制御することで、記憶装置に記憶されている次のデータパス演算に用いるデータを上記データパス回路に転送させることを特徴とする請求項1から請求項4のうちのいずれか1項記載のデータ演算装置の制御回路。
  6. メイン制御部は、データパス演算指示を出力する際、データパス演算の完了通知を出力するタイミングを指定し、
    データパス制御部は、上記メイン制御部により指定されたタイミングで、データパス回路によるデータパス演算の完了通知を上記メイン制御部に出力することを特徴とする請求項1から請求項4のうちのいずれか1項記載のデータ演算装置の制御回路。
  7. 上位制御回路から出力された制御信号を受信する通信インタフェースを備え、メイン制御部の処理内容が、上記通信インタフェースにより受信された制御信号によって制御されることを特徴とする請求項1から請求項6のうちのいずれか1項記載のデータ演算装置の制御回路。
  8. データを記憶している記憶装置と、データを転送するDMAコントローラと、データパス演算を実行するデータパス回路と、データパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行して、その単一演算の演算結果及びデータパス演算の演算内容を示すデータパス演算指示を出力するメイン制御部と、上記メイン制御部から出力されたデータの転送指令にしたがって上記DMAコントローラを制御することで、上記記憶装置に記憶されているデータパス演算に用いるデータを上記データパス回路に転送させるデータ転送制御部と、上記DMAコントローラによるデータ転送が完了すると、上記メイン制御部から出力された単一演算の演算結果及びデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令を上記データパス回路に与えて、その単一演算の演算結果と上記DMAコントローラにより転送されたデータを用いる上記データパス演算命令に係るデータパス演算を上記データパス回路に実行させるデータパス制御部とを備えたデータ演算装置。
  9. データを記憶している記憶装置と、データを転送するDMAコントローラと、データパス演算を実行するデータパス回路と、データパス演算に用いるデータの転送指令を出力するとともに、所定の単一演算を実行して、その単一演算の演算結果に対応するデータパス演算の演算内容を示すデータパス演算指示を出力するメイン制御部と、上記メイン制御部から出力されたデータの転送指令にしたがって上記DMAコントローラを制御することで、上記記憶装置に記憶されているデータパス演算に用いるデータを上記データパス回路に転送させるデータ転送制御部と、上記DMAコントローラによるデータ転送が完了すると、上記メイン制御部から出力されたデータパス演算指示が示す演算内容の実行指令であるデータパス演算命令を上記データパス回路に与えて、上記DMAコントローラにより転送されたデータを用いる上記データパス演算命令に係るデータパス演算を上記データパス回路に実行させるデータパス制御部とを備えたデータ演算装置。
JP2009235009A 2009-10-09 2009-10-09 データ演算装置の制御回路及びデータ演算装置 Expired - Fee Related JP5404294B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009235009A JP5404294B2 (ja) 2009-10-09 2009-10-09 データ演算装置の制御回路及びデータ演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009235009A JP5404294B2 (ja) 2009-10-09 2009-10-09 データ演算装置の制御回路及びデータ演算装置

Publications (2)

Publication Number Publication Date
JP2011081695A JP2011081695A (ja) 2011-04-21
JP5404294B2 true JP5404294B2 (ja) 2014-01-29

Family

ID=44075670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009235009A Expired - Fee Related JP5404294B2 (ja) 2009-10-09 2009-10-09 データ演算装置の制御回路及びデータ演算装置

Country Status (1)

Country Link
JP (1) JP5404294B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9377968B2 (en) 2013-11-13 2016-06-28 Sandisk Technologies Llc Method and system for using templates to communicate with non-volatile memory
US9430411B2 (en) 2013-11-13 2016-08-30 Sandisk Technologies Llc Method and system for communicating with non-volatile memory
US9390033B2 (en) 2013-11-13 2016-07-12 Sandisk Technologies Llc Method and system for communicating with non-volatile memory via multiple data paths

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3676237B2 (ja) * 1999-01-20 2005-07-27 株式会社ルネサステクノロジ データ処理装置及び演算器
JP2002358012A (ja) * 2001-03-28 2002-12-13 Matsushita Electric Ind Co Ltd 情報セキュリティ装置、べき乗演算装置、べき乗剰余演算装置及び楕円べき倍演算装置
JP2002358288A (ja) * 2001-05-31 2002-12-13 Hitachi Ltd 半導体集積回路及びコンピュータ読取り可能な記録媒体
JP4935730B2 (ja) * 2008-03-18 2012-05-23 富士ゼロックス株式会社 画像処理装置
JP2011081658A (ja) * 2009-10-08 2011-04-21 Mitsubishi Electric Corp 信号処理装置

Also Published As

Publication number Publication date
JP2011081695A (ja) 2011-04-21

Similar Documents

Publication Publication Date Title
KR100733943B1 (ko) 프로세서 시스템, dma 제어 회로, dma 제어 방법,dma 제어기의 제어 방법, 화상 처리 방법, 및 화상처리 회로
JP2010027032A (ja) Fifo装置及びfifoバッファへのデータ格納方法
JPWO2013129031A1 (ja) データ転送装置、データ転送方法及びデータ転送プログラム
JP2006338538A (ja) ストリームプロセッサ
US10185676B2 (en) Direct memory access controller and system for accessing channel buffer
JP5287301B2 (ja) ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法
JP5404294B2 (ja) データ演算装置の制御回路及びデータ演算装置
US9172839B2 (en) Image forming apparatus, control method and storage medium
JP2007034392A (ja) 情報処理装置及びデータ処理方法
JP2005275538A (ja) ダイレクトメモリアクセス制御装置および方法
JP6094356B2 (ja) 演算処理装置
JP5651622B2 (ja) データ伝送装置、データ伝送方法、及びプログラム
KR20160078025A (ko) 연산 처리 장치 및 방법
JP6667733B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
JP2009048298A (ja) 情報処理装置、情報処理方法、当該情報処理方法を実行するためのプログラム及び当該プログラムを記録した媒体、並びにdmaコントローラ、dma転送方法、当該dma転送方法を実行するためのプログラム及び当該プログラムを記録した媒体
JP2009059276A (ja) 情報処理装置およびプログラム
JP6292324B2 (ja) 演算処理装置
CN110383259B (zh) 计算处理装置和信息处理系统
JP5061688B2 (ja) データ転送制御装置およびデータ転送制御方法
JP2020127184A5 (ja)
JP2011081658A (ja) 信号処理装置
JP5630396B2 (ja) Dma制御装置
JP2015148851A (ja) 画像処理装置
KR20150034493A (ko) 캐시를 이용한 데이터 복사 방법 및 그 장치
JP2010211654A (ja) データ転送方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

R150 Certificate of patent or registration of utility model

Ref document number: 5404294

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees