JP4916151B2 - 並列演算装置 - Google Patents

並列演算装置 Download PDF

Info

Publication number
JP4916151B2
JP4916151B2 JP2005284144A JP2005284144A JP4916151B2 JP 4916151 B2 JP4916151 B2 JP 4916151B2 JP 2005284144 A JP2005284144 A JP 2005284144A JP 2005284144 A JP2005284144 A JP 2005284144A JP 4916151 B2 JP4916151 B2 JP 4916151B2
Authority
JP
Japan
Prior art keywords
register
constant
entries
bit
memory mat
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
JP2005284144A
Other languages
English (en)
Other versions
JP2007094812A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2005284144A priority Critical patent/JP4916151B2/ja
Publication of JP2007094812A publication Critical patent/JP2007094812A/ja
Application granted granted Critical
Publication of JP4916151B2 publication Critical patent/JP4916151B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、SIMD(Single Instruction stream-Multiple Data stream)型、MIMD(Multiple Instruction stream-Multiple Data stream)型などの並列演算装置に関し、特に、高速に定数を設定することが可能な並列演算装置に関する。
近年、携帯端末機器などの普及に伴い、音声、画像などの大量のデータを高速に処理するデジタル信号処理の重要性が高くなってきている。このようなデジタル信号処理においては、SIMD型、MIMD型などの並列演算装置を搭載した処理システムが用いられることが多くなっている。
このような処理システムに搭載される並列演算装置は、一般に、メモリマットと演算処理ユニット(ALU)とを含む。並列演算装置を制御するホストCPU(Central Processing Unit)と並列演算装置とを接続するシステムバスのバス幅が32ビット、並列演算装置のメモリマットに設定する定数のビット幅が32ビット、定数のエントリ数が1024個の場合、定数をエントリの全てに設定するために必要となる転送サイクル数はベストケースで1024サイクルとなる。
また、並列演算に関する技術として、特開平5−197550号公報に開示された発明がある。この発明は、ALUの構成に簡単な機能を追加して処理速度を向上することのできる超並列計算機のALU構成方式に関するものであり、各種の演算を実行するための演算器とデータを記憶するメモリとをそれぞれに有する複数のプロセッサを備え、この各プロセッサを1つの制御プロセッサで並列に動作させる。各演算器において、アドレス格納手段は、メモリをアクセスする際のアドレスを格納するものであって、アドレス制御手段は、アドレス格納手段に格納されるべきアドレスを生成するとともに、このアドレス値に従ってメモリをアクセスすることで、メモリの中の異なるメモリ領域をアクセスするよう構成するものである。
特開平5−197550号公報
上述したように、メモリマットとALUとを含んだ並列演算装置において、システムバス幅が32ビット、定数のビット幅が32ビット、定数のエントリ数が1024個の場合、全エントリに共通の定数値(係数)を設定するときでも同じデータを1024回設定する必要がある。したがって、並列演算装置の処理性能が高くても定数を設定するのに必要な転送サイクルが多くなってしまい、システム全体のボトルネックになり得るといった問題点があった。
また、特許文献1に開示された発明を用いたとしても、このような問題点を解決することはできない。
本発明は、上記問題点を解決するためになされたものであり、その目的は、メモリマットの全エントリに共通の定数値を設定する場合に、高速に定数値の設定が行なえる並列演算装置を提供することである。
他の目的は、メモリマットの全エントリのデータに対して共通の定数値を演算する場合に、高速に演算が行なえる並列演算装置を提供することである。
本発明のある局面に従えば、複数のエントリに対応するデータを並列に演算する並列演算装置であって、複数のエントリに対応するデータの演算を行なう主演算手段と、マイクロ命令が格納されるマイクロ命令格納手段と、マイクロ命令格納手段に格納されたマイクロ命令を解釈し、主演算手段に演算を行なわせる制御手段とを含み、主演算手段は、複数のエントリに対応するデータを格納するメモリマットと、複数のエントリに対応して設けられ、メモリマットに格納されるデータに対して演算を行なう複数の演算ユニットとを含み、複数の演算ユニットのそれぞれは、制御手段によって設定される少なくとも1ビットのレジスタを含み、制御手段は、複数の演算ユニットに含まれるレジスタに同じ値を設定し、レジスタに設定された値をメモリマットに書込ませる。
本発明の別の局面に従えば、複数のエントリに対応するデータを並列に演算する並列演算装置であって、複数のエントリに対応するデータの演算を行なう主演算手段と、マイクロ命令が格納されるマイクロ命令格納手段と、マイクロ命令格納手段に格納されたマイクロ命令を解釈し、主演算手段に演算を行なわせる制御手段とを含み、主演算手段は、複数のエントリに対応するデータを格納するメモリマットと、複数のエントリに対応して設けられ、メモリマットに格納されるデータに対して演算を行なう複数の演算ユニットとを含み、複数の演算ユニットのそれぞれは、制御手段によって設定される少なくとも1ビットのレジスタを含み、制御手段は、複数の演算ユニットに含まれるレジスタに同じ値を設定し、レジスタに設定された値とメモリマットからロードした値との演算を行なわせる。
本発明のある局面によれば、制御手段が、複数の演算ユニットに含まれるレジスタに同じ値を設定し、レジスタに設定された値をメモリマットに書込ませるので、メモリマットの全エントリに共通の定数値を設定する場合に、高速に定数値の設定を行なうことが可能となる。
本発明の別の局面によれば、制御手段が、複数の演算ユニットに含まれるレジスタに同じ値を設定し、レジスタに設定された値とメモリマットからロードした値との演算を行なわせるので、メモリマットの全エントリのデータに対して共通の定数値を演算する場合に、高速に演算を行なうことが可能となる。
(第1の実施の形態)
図1は、本発明の第1の実施の形態における並列演算装置が搭載される処理システムの構成例を示すブロック図である。この処理システムは、システムLSI(Large Scale Integrated circuit)1と、外部システムバス5を介してシステムLSI1に接続されるSDRAM(Synchronous Dynamic Random Access Memory)2と、SRAM(Static Random Access Memory)3と、ROM(Read Only Memory)4とを含む。
ROM4には、リセット直後に実行されるIPL(Initial Program loader)などが格納される。システムLSI1は、外部システムバス5を介してSDRAM2、SRAM3およびROM4にアクセスしながら、演算処理を実行する。
システムLSI1は、複数の基本演算ブロック11−1〜11−kと、出力IP(Intellectual Property)12と、入力IP13と、システムLSI1の全体的な制御を行なうホストCPU14と、割込みコントローラ15と、CPU周辺回路16と、DMA(Direct Memory Access)コントローラ17と、外部システムバス5を介して外部メモリ等との間のデータの入出力を制御する外部バスコントローラ18と、専用ロジックIP19とを含む。これらのブロックは、ホストCPUシステムバス20に接続される。なお、基本演算ブロック11−1〜11−kのそれぞれが並列演算装置に相当する。
出力IP12は、ホストCPUシステムバス20を介して受けた出力データを出力信号に変換して外部に出力する。入力IP13は、外部からの入力信号を内部処理用データに変換してホストCPUシステムバス20に出力する。
割込みコントローラ15は、基本演算ブロック11−1〜11−kからの割込信号を受け、ホストCPU14に対して割込要求を出力する。
ホストCPU14は、外部のROM4などに格納されたプログラムを実行して、ホストCPUシステムバス20を介して基本演算ブロック11−1〜11−kにデータを設定したり、基本演算ブロック11−1〜11−kによる演算結果を受けて所定の処理を行なったりする。また、ホストCPU14は、割込みコントローラ15から割込要求を受けると、割込要求に対応した割込処理を行なう。
CPU周辺回路16は、ホストCPU14がプログラムやデバッグを実行する際に使用するタイマ、シリアルI/Oなどの機能を含む。
DMAコントローラ17は、基本演算ブロック11−1〜11−kからのDMA要求信号を受け、基本演算ブロック11−1〜11−kと外部システムバス5に接続される外部メモリとの間のDMA転送を制御する。
専用ロジックIP19は、ホストCPU14のデータ処理を補助するための論理回路によって構成され、各機能ブロックを用いて必要な処理機能を実現する。
基本演算ブロック11−1〜11−kのそれぞれは、実際のデータの演算処理を行なう主演算回路21と、コントローラ22と、マイクロ命令メモリ23と、ワークデータメモリ・レジスタ群24と、ホストCPUシステムバス20を介して他のブロックとの間のデータの入出力を行なうシステムバスI/F(Interface)25と、直交変換回路26と、スイッチ27とを含む。
マイクロ命令メモリ23は、主演算回路21による演算処理を指定するマイクロ命令を格納する。コントローラ22は、マイクロ命令メモリ23から読込んだマイクロ命令に従って主演算回路21の演算処理を制御する。
ワークデータメモリ・レジスタ群24は、コントローラ22による中間処理データなどを格納するワークエリアとして用いられるメモリと、後述するレジスタ群とを含む。スイッチ27は、システムバスI/F25および直交変換回路26からのデータを選択的に主演算回路21に出力し、主演算回路21からのデータをシステムバスI/F25または直交変換回路26に選択的に出力する。
主演算回路21は、複数のメモリセルが行列状に配列されかつ複数のエントリに分割されるメモリマットA,B(32)と、メモリマットA,B(32)の各エントリに対応して配置され、指定された演算処理を行なうALU(Arithmetic and Logic Unit)31−1〜31−mと、ALU31−1〜31−m間のデータ転送経路を設定するALU間相互接続用スイッチ回路33とを含む。
基本的には、メモリマットA,B(32)の各列が1エントリを構成し、1エントリに多ビットデータの各ビットが格納される。ALU31−1〜31−mは、対応のエントリからのデータをビットシリアルに受けて演算処理を行ない、処理結果をメモリマットA,B(32)の指定されたエントリに格納する。
また、ALU間相互接続用スイッチ回路33は、ALU31−1〜31−mの接続経路を切換え、異なるエントリのデータの演算をALU31−1〜31−mに行なわせることも可能である。各エントリに異なるデータを格納し、ALU31−1〜31−mに並列演算処理を行なわせることにより、高速にデータ処理を行なうことも可能である。
基本演算ブロック11−1〜11−kには、異なるCPUアドレス領域が割付けられる。また、基本演算ブロック11−1〜11−k内のメモリマットA,B(32)、コントローラ22内の制御レジスタ、マイクロ命令メモリ23およびワークデータメモリ・レジスタ群24にも、それぞれ異なるCPUアドレスが割付けられる。
したがって、基本演算ブロック11−1〜11−kのそれぞれのマイクロ命令メモリ23に異なる内容のマイクロ命令を格納することにより、異なる演算処理を並行して行なわせることができる。また、基本演算ブロック11−1〜11−kにおいて、異なるアドレス領域のデータについて同一の演算処理が行なわれるように、マイクロ命令メモリ23に同一の演算内容のマイクロ命令が格納されてもよい。
ホストCPU14およびDMAコントローラ17は、割付けられたアドレスに応じてアクセス対象の基本演算ブロック11−1〜11−kを識別し、アクセス対象の基本演算ブロックに対するアクセスを実行する。
図2は、主演算回路21の機能を模式的に示す図である。メモリマットA,B(32)は、メモリセルが行列状に配列され、m個のエントリに分割される。エントリのそれぞれは、メモリマットAおよびメモリマットBのそれぞれにおいて、nビットのビット幅を有する。
ALU31−1〜31−mは、m個のエントリのそれぞれに対して設けられ、加算、論理積、一致検出(EXOR)、反転(NOT)などの演算を行なう。ALU31−1〜31−mは、メモリマットAおよびメモリマットBに同時にアクセス可能である。
ALU31−1〜31−mは、対応するエントリのメモリマットAおよびメモリマットBからのデータのロードと、メモリマットAおよびメモリマットBへのデータのストアとを行ないながら、ビットシリアルで演算処理を実行する。図2においては、メモリマットBに定数が設定されているところを示している。
図3は、本発明の第1の実施の形態における並列演算装置の主演算装置21の機能的構成をさらに詳細に説明するための図である。各エントリ間のデータ転送は、ALU間相互接続用スイッチ回路33によって、ALU31−1〜31−mを介して行なわれる。なお、エントリ間のデータ転送は、ALUを介して行なわれなくともよい。
ALU31−1〜31−mのそれぞれは、1ビットのXレジスタ34およびXHレジスタ35を有し、ALUによる演算結果を一時的に記憶する。各エントリのXレジスタおよびXHレジスタは、コントローラ22からの制御信号が接続されており、コントローラ22からの信号によって、1にセット、0にクリアすることが可能である。なお、このセット/クリアは、全エントリに対して同時に行なうことも可能である。
コントローラ22は、マイクロ命令メモリ23から読込んだマイクロ命令を解釈し、メモリマットA,B(32)への定数の設定命令であれば、定数レジスタ28の内容を取得してXレジスタ34およびXHレジスタ35に設定し、指定されたメモリマットA,B(32)のビット位置にXレジスタ34およびXHレジスタ35の内容を順次書込む。以下、定数の設定手順について説明する。
まず、ホストCPU14は、外部システムバス5および外部バスコントローラ18を介して外部のメモリから定数値を読込み、ホストCPUシステムバス20およびシステムバスI/F25を介して定数レジスタ28に定数値を設定する。そして、コントローラ22は定数の設定命令を読込む。
(1)コントローラ22は、定数レジスタ28に設定されている定数値の最下位の2ビットを読込み、全エントリのXレジスタ34およびXHレジスタ35に設定する。ここで、定数値の設定方法として、コントローラ22が定数レジスタ28に設定されている2ビットの値を解釈し、全エントリのXレジスタ34およびXHレジスタ35のセット/クリア制御を行なうようにしてもよいし、定数レジスタ28に設定されている2ビットの値を直接全エントリのXレジスタ34およびXHレジスタ35に設定するようにしてもよい。
なお、Xレジスタ34およびXHレジスタ35を用いて2ビット単位で定数を設定する方法について説明しているが、実装条件によっては1ビット単位で定数値を設定してもよいし、3ビット以上の単位で定数値を設定するようにしてもよい。
(2)次に、Xレジスタ34およびXHレジスタ35に設定された値が、コントローラ22によって指定されたメモリマットB(32)のビット位置に書込まれる。
(3)そして、コントローラ22は、定数レジスタ制御信号を出力して、定数レジスタ28から読込む定数値のビット位置を2ビット上位側にシフトし、その2ビットを全エントリのXレジスタ34およびXHレジスタ35に設定する。このシフト量も定数を何ビット単位で設定するかによって違ってくる。なお、定数値が書込まれるメモリマットB(32)のビット位置も順次シフトされる。
以上の(1)〜(3)の処理(図3の(1)〜(3)に対応)を繰り返し、定数レジスタ28に設定された定数値が全てメモリマットB(32)に書込まれたときに定数値の設定処理が終了する。なお、上記(1)〜(3)の1回の処理は、1サイクルで実行されるものとする。
以上説明したように、本実施の形態における並列演算装置によれば、コントローラ22が定数レジスタ28に設定された定数値を所定ビット単位でALU31−1〜31−m内のレジスタに設定し、その値を各エントリの所定ビット位置に同時に書込むようにしたので、定数値の設定処理を高速で行なうことが可能となった。
たとえば、上述のようにXレジスタ34およびXHレジスタ35を用いてメモリマットB(32)に32ビットの定数値を設定する場合、定数レジスタ28への定数値の設定サイクル数“1”を含めたとしても、エントリ数に関係なく17サイクルで行なうことができる。一方、従来のようにホストCPUが各エントリ毎に定数値を外部メモリから読込み、メモリマットの各エントリに定数値を設定する場合には、エントリ数が1024であれば、1024サイクルを要することになる。したがって、本実施の形態においては、従来よりも60倍高速に定数値を設定できることになる。エントリ数が増えれば増えるほど、その差が大きくなる。
(第2の実施の形態)
図4は、本発明の第2の実施の形態における並列演算装置の構成例を示す図である。この並列演算装置は、ALU31−1〜31−mと、メモリマットA,B(32)と、定数レジスタK0〜K7と、プログラムカウンタPC0〜PC3と、ループカウンタLC0〜LC3と、アレイポインタP0〜P3と、汎用レジスタR0〜R7と、ステータス・レジスタSTと、エントリコミュニケータ移動量指定レジスタECRと、haltレジスタHLTとを含む。なお、このレジスタ群は、図1に示すワークデータメモリ・レジスタ群24に設けられる。
定数レジスタは、K0〜K7で128ビットのレジスタを構成する。アレイポインタP0(MP)およびP2(MP2)は、定数レジスタK0〜K7に格納される128ビットの定数のビット位置を示し、転送元アドレスとして参照される。アレイポインタP1(AP)およびP3(AP2)は、メモリマットA,B(32)の各エントリのビット位置を示し、転送先アドレスとして参照される。ループカウンタLC0〜LC3は、メモリアレイA,B(32)の各エントリに書込む定数のビット数を示す。
汎用レジスタR0〜R7は、演算対象のデータや演算結果などを格納するのに使用される。ステータス・レジスタSTは、基本演算ブロックの状態を示すフラグなどが格納されるレジスタである。また、haltレジスタHLTは、基本演算ブロックの処理が停止中であるか否かを示す。なお、レジスタの個数は、これらに限られるものではない。
図5(a)は、2ビット単位で定数をメモリマットに設定する命令の一例を示す図である。mx2_cp_k(ap,kp,n)命令は、Kレジスタのビット位置kpからnビット分の定数を、メモリマットA,B(32)の全エントリのビット位置apからnビットのメモリ領域へ2ビット単位で順次コピーする命令である。たとえば、転送先アドレスapはアレイポインタP1(AP)に設定され、転送元アドレスkpはアレイポインタP0(MP)に設定され、ビット長nはループカウンタLC0に設定される。
図5(b)は、mx2_cp_k命令を用いたプログラムの一例を示す図である。まず、set reg命令を実行することによって、定数レジスタK0に“12345”が設定される。そして、mx_stV命令を実行することによって、定数レジスタK0に設定した定数を各エントリのメモリマットに設定するか否かを制御する。このVフラグは、各エントリのALUにレジスタとして割付けられている。
最後に、mx2_cp_k命令を実行することによって、メモリマットA,B(32)の全エントリのビット位置−16〜−1の領域に、定数レジスタK0のビット位置0から2ビット単位で16ビット分の定数が順次コピーされる。
図6は、1ビット単位で定数をメモリマットに設定する命令の一例を示す図である。mx_cp_k(ap,kp,n)命令は、Kレジスタのビット位置kpからnビット分の定数を、メモリマットA,B(32)の全エントリのビット位置apからnビットのメモリ領域へ1ビット単位で順次コピーする命令である。この場合には、図3に示すXレジスタ34またはXHレジスタ35のいずれか一方のみが使用される。
以上説明したように、本実施の形態における並列演算装置によれば、mx2_cp_k命令やmx_cp_k命令をサポートすることにより、これらの命令を1回発行するだけで各エントリへの定数の設定を行なうことが可能となった。
また、設定したい定数の複数パターンをKレジスタに予め設定しておき、必要な定数のビット位置とビット数とを指定することにより、複数の定数を容易にメモリマットの各エントリに設定することが可能となる。
(第3の実施の形態)
本発明の第2の実施の形態においては、2ビット単位または1ビット単位で定数をメモリマットの各エントリに設定する命令について説明した。本実施の形態においては、定数レジスタKに設定された定数をメモリマットに設定せずに、定数レジスタKに設定された定数を参照して直接演算を行なうものである。
本発明の第3の実施の形態における並列演算装置の構成例は、図4に示す第2の実施の形態における並列演算装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図7(a)は、定数レジスタの定数を2ビット単位で参照して加算を行なう命令の一例を示す図である。mx2_add_k(ap,kp,n)命令は、メモリマットA,B(32)のビット位置apからnビットの領域の内容と、Kレジスタのビット位置kpからnビットの領域の内容とを2ビット単位で加算し、その加算結果をメモリマットA,B(32)のビット位置apからnビットの領域に格納する命令である。
図7(b)は、Kレジスタのビット位置kpを説明するための図である。8個のKレジスタは、連続した128ビットの領域として見え、たとえば、ビット位置kpが定数レジスタK0の所定位置を指し示す場合、定数レジスタK0の内容が2ビット単位で順次参照され、定数レジスタK0のビット15まで参照されると、次は定数レジスタK1のビット0から順次参照される。
並列演算装置がmx2_add_k命令を実行する場合、ALU31−1〜31−mのそれぞれは、図3に示すXレジスタ34およびXHレジスタ35に設定された値と、メモリマットからロードした2ビットのデータとを加算して、加算結果をメモリマットにストアする。
図8は、定数レジスタの定数を1ビット単位で参照して加算を行なう命令の一例を示す図である。mx_add_k(ap,kp,n)命令は、メモリマットA,B(32)のビット位置apからnビットの領域の内容と、Kレジスタのビット位置kpからnビットの領域の内容とを1ビット単位で加算し、その加算結果をメモリマットA,B(32)のビット位置apからnビットの領域に格納する命令である。
図9(a)は、定数レジスタの定数を2ビット単位で参照して減算を行なう命令の一例を示す図である。mx2_sub_k(ap,kp,n)命令は、メモリマットA,B(32)のビット位置apからのnビットの領域の内容から、Kレジスタのビット位置kpからのnビットの領域の内容を2ビット単位で減算し、その減算結果をメモリマットA,B(32)のビット位置apからnビットの領域に格納する命令である。
並列演算装置がmx2_sub_k命令を実行する場合、ALU31−1〜31−mのそれぞれは、メモリマットからロードした2ビットのデータから、図3に示すXレジスタ34およびXHレジスタ35に設定された値を減算して、減算結果をメモリマットにストアする。
図9(b)は、定数レジスタの定数を1ビット単位で参照して減算を行なう命令の一例を示す図である。mx_sub_k(ap,kp,n)命令は、メモリマットA,B(32)のビット位置apからのnビットの領域の内容から、Kレジスタのビット位置kpからのnビットの領域の内容を1ビット単位で減算し、その減算結果をメモリマットA,B(32)のビット位置apからnビットの領域に格納する命令である。
以上説明したように、本実施の形態における並列演算装置によれば、定数レジスタKに設定された定数を参照して直接演算を行なうようにしたので、定数レジスタKに設定された定数をメモリマットに設定する処理を省くことができ、処理性能を向上させることが可能となった。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の第1の実施の形態における並列演算装置が搭載される処理システムの構成例を示すブロック図である。 主演算回路21の機能を模式的に示す図である。 本発明の第1の実施の形態における並列演算装置の主演算装置21の機能的構成をさらに詳細に説明するための図である。 本発明の第2の実施の形態における並列演算装置の構成例を示す図である。 (a)は、2ビット単位で定数をメモリマットに設定する命令の一例を示す図である。(b)は、mx2_cp_k命令を用いたプログラムの一例を示す図である。 1ビット単位で定数をメモリマットに設定する命令の一例を示す図である。 (a)は、定数レジスタの定数を2ビット単位で参照して加算を行なう命令の一例を示す図である。(b)は、Kレジスタのビット位置kpを説明するための図である。 定数レジスタの定数を1ビット単位で参照して加算を行なう命令の一例を示す図である。 (a)は、定数レジスタの定数を2ビット単位で参照して減算を行なう命令の一例を示す図である。(b)は、定数レジスタの定数を1ビット単位で参照して減算を行なう命令の一例を示す図である。
符号の説明
1 システムLSI、2 SDRAM、3 SRAM、4 ROM、5 外部システムバス、11−1〜11−k 基本演算ブロック、12 出力IP、13 入力IP、14 ホストCPU、15 割込みコントローラ、16 CPU周辺回路、17 DMAコントローラ、18 外部バスコントローラ、19 専用ロジックIP、20 ホストCPUシステムバス、21 主演算回路、22 コントローラ、23 マイクロ命令メモリ、24 ワークデータメモリ・レジスタ群、25 システムバスI/F、26 直交変換回路、27 スイッチ、28 定数レジスタ、31−1〜31−m ALU、32 メモリマットA,B、33 ALU間相互接続用スイッチ回路、34 Xレジスタ、35 XHレジスタ。

Claims (2)

  1. 複数のエントリに対応するデータを並列に演算する並列演算装置であって、
    前記複数のエントリに対応するデータの演算を行なう主演算手段と、
    マイクロ命令が格納されるマイクロ命令格納手段と、
    前記マイクロ命令格納手段に格納されたマイクロ命令を解釈し、前記主演算手段に演算を行なわせる制御手段とを含み、
    前記主演算手段は、前記複数のエントリに対応するデータを格納するメモリマットと、
    前記複数のエントリに対応して設けられ、前記メモリマットに格納されるデータに対して演算を行なう複数の演算ユニットとを含み、
    前記複数の演算ユニットのそれぞれは、前記制御手段によって設定される少なくとも1ビットのレジスタを含み、
    前記制御手段は、前記複数の演算ユニットに含まれる前記レジスタに同じ値を設定し、該レジスタに設定された値を前記メモリマットに書込ませ
    前記並列演算装置はさらに、定数値を格納する定数レジスタを含み、
    前記制御手段は、前記定数レジスタに設定される定数値を所定のビット単位で前記複数の演算ユニットに含まれる前記レジスタに順次設定し、
    前記制御手段は、前記定数レジスタに設定される定数値を読込んで解析し、解析結果に応じて前記複数の演算ユニットに含まれる前記レジスタに前記所定ビット単位で値を順次設定し、
    前記並列演算装置はさらに、前記定数レジスタのビット位置を指定する第1のレジスタと、
    前記メモリマットの複数のエントリのビット位置を指定する第2のレジスタと、
    前記定数レジスタから前記メモリマットの複数のエントリに転送する定数のビット数を指定する第3のレジスタとを含み、
    前記制御手段は、前記マイクロ命令格納手段から所定命令を読込んだときに、前記第1のレジスタによって指定された前記定数レジスタのビット位置から、前記第3のレジスタによって指定されたビット数分の定数を、前記第2のレジスタによって指定された前記メモリマットのビット位置を先頭に前記所定ビット単位で転送する、並列演算装置。
  2. 複数のエントリに対応するデータを並列に演算する並列演算装置であって、
    前記複数のエントリに対応するデータの演算を行なう主演算手段と、
    マイクロ命令が格納されるマイクロ命令格納手段と、
    前記マイクロ命令格納手段に格納されたマイクロ命令を解釈し、前記主演算手段に演算を行なわせる制御手段とを含み、
    前記主演算手段は、前記複数のエントリに対応するデータを格納するメモリマットと、
    前記複数のエントリに対応して設けられ、前記メモリマットに格納されるデータに対して演算を行なう複数の演算ユニットとを含み、
    前記複数の演算ユニットのそれぞれは、前記制御手段によって設定される少なくとも1ビットのレジスタを含み、
    前記制御手段は、前記複数の演算ユニットに含まれる前記レジスタに同じ値を設定し、該レジスタに設定された値と前記メモリマットからロードした値との演算を行なわせ、
    前記並列演算装置はさらに、定数値を格納する定数レジスタを含み、
    前記制御手段は、前記定数レジスタに設定される定数値を所定のビット単位で前記複数
    の演算ユニットに含まれる前記レジスタに順次設定し、
    前記制御手段は、前記定数レジスタに設定される定数値を読込んで解析し、解析結果に応じて前記複数の演算ユニットに含まれる前記レジスタに前記所定ビット単位で値を順次設定し、
    前記並列演算装置はさらに、前記定数レジスタのビット位置を指定する第1のレジスタと、
    前記メモリマットの複数のエントリのビット位置を指定する第2のレジスタと、
    前記定数レジスタに格納される定数値のうち演算対象の定数のビット数を指定する第3のレジスタとを含み、
    前記制御手段は、前記マイクロ命令格納手段から所定命令を読込んだときに、前記第1のレジスタによって指定された前記定数レジスタのビット位置から前記第3のレジスタによって指定されたビット数分の定数と、前記第2のレジスタによって指定された前記メモリマットのビット位置から前記第3のレジスタによって指定されたビット数分のデータとを前記所定ビット単位で演算する、並列演算装置。
JP2005284144A 2005-09-29 2005-09-29 並列演算装置 Expired - Fee Related JP4916151B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005284144A JP4916151B2 (ja) 2005-09-29 2005-09-29 並列演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005284144A JP4916151B2 (ja) 2005-09-29 2005-09-29 並列演算装置

Publications (2)

Publication Number Publication Date
JP2007094812A JP2007094812A (ja) 2007-04-12
JP4916151B2 true JP4916151B2 (ja) 2012-04-11

Family

ID=37980446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005284144A Expired - Fee Related JP4916151B2 (ja) 2005-09-29 2005-09-29 並列演算装置

Country Status (1)

Country Link
JP (1) JP4916151B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5196946B2 (ja) * 2007-10-25 2013-05-15 三菱電機株式会社 並列処理装置
JP2010244095A (ja) * 2009-04-01 2010-10-28 Seiko Epson Corp データ処理装置、印刷システムおよびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3212634B2 (ja) * 1991-03-05 2001-09-25 日本電気株式会社 機能メモリ
JPH10326258A (ja) * 1997-05-27 1998-12-08 Sony Corp データ演算システムおよび方法
JP3790607B2 (ja) * 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ
JP3670801B2 (ja) * 1997-06-16 2005-07-13 松下電器産業株式会社 プロセッサ
JP3414209B2 (ja) * 1997-07-30 2003-06-09 松下電器産業株式会社 プロセッサ
JP3412462B2 (ja) * 1997-07-30 2003-06-03 松下電器産業株式会社 プロセッサ
JP2000182037A (ja) * 1998-12-17 2000-06-30 Sony Corp データ処理装置およびデータ処理方法
AU2002357982A1 (en) * 2001-09-19 2003-05-06 Pact Xpp Technologies Ag Reconfigurable elements

Also Published As

Publication number Publication date
JP2007094812A (ja) 2007-04-12

Similar Documents

Publication Publication Date Title
JP5573134B2 (ja) ベクトル型計算機及びベクトル型計算機の命令制御方法
EP2725498B1 (en) DMA vector buffer
EP0855648A2 (en) Data processing with parallel or sequential execution of program instructions
US8990620B2 (en) Exposed-pipeline processing element with rollback
JP2006099232A (ja) 半導体信号処理装置
JP2682232B2 (ja) 浮動小数点演算処理装置
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
JP4916151B2 (ja) 並列演算装置
JP2993975B2 (ja) 中央演算処理装置
JP4989899B2 (ja) 半導体演算処理装置
JP2011192305A (ja) 半導体信号処理装置
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JPS61173345A (ja) 計算機システム
JPH0769825B2 (ja) 並列処理装置
JP2008015638A (ja) データ処理装置
JP2856784B2 (ja) 電子計算機
JPH023821A (ja) 高速演算装置
JPH08235149A (ja) 単一命令・多データ型並列計算機の命令生成・分配装置
JP4553622B2 (ja) データ処理装置
JP4702004B2 (ja) マイクロコンピュータ
JP3068406B2 (ja) ベクトル演算装置
JPS6153754B2 (ja)
JP2920968B2 (ja) 命令処理順序制御方式
JP2000285081A (ja) ノード間データ通信方法
JP3532026B2 (ja) 演算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080603

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111216

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

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

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

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees