JP2004102633A - Arithmetic system - Google Patents

Arithmetic system Download PDF

Info

Publication number
JP2004102633A
JP2004102633A JP2002263402A JP2002263402A JP2004102633A JP 2004102633 A JP2004102633 A JP 2004102633A JP 2002263402 A JP2002263402 A JP 2002263402A JP 2002263402 A JP2002263402 A JP 2002263402A JP 2004102633 A JP2004102633 A JP 2004102633A
Authority
JP
Japan
Prior art keywords
address
parameter
register
memory
processor
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.)
Granted
Application number
JP2002263402A
Other languages
Japanese (ja)
Other versions
JP4461669B2 (en
Inventor
Kunihiko Ozawa
小澤 邦彦
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2002263402A priority Critical patent/JP4461669B2/en
Publication of JP2004102633A publication Critical patent/JP2004102633A/en
Application granted granted Critical
Publication of JP4461669B2 publication Critical patent/JP4461669B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an arithmetic system capable of improving memory access performance while reducing the additional processing cycle number, and further reducing the hardware scale. <P>SOLUTION: An address mutual connection network 15 has an address conversion device 151 for converting an address Adr generated by a processor 14 to an address Adrn having a prescribed regularity based on a first parameter X according to Adr and the number of memory banks or according to the number of memory banks within a memory set and a second parameter Y according to the number of addresses of the memory banks, and generating a bank selection signal Sel based on a third parameter Z according to the converted address and the numbers of addresses of the memory banks followed by outputting to a data mutual connection network 16. In the data mutual connection network 16, the data routes of the processor 14 to the memory banks 11-0 to 11-5 are selectively set based on the bank selection signal Sel. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、演算に関するデータを記憶する複数のメモリバンクと、プロセッサと、プロセッサと各メモリバンクを相互に接続するアドレス相互接続網を備えた演算システムに関するものである。
【0002】
【従来の技術】
プロセッサとアドレス生成装置をメモリと結合するアドレス相互接続網とプロセッサと演算装置をメモリと結合するデータ相互接続網を備える演算システムにおいて、たとえばメモリが、アドレスadr0〜7に割り当てたバンクBNK0, アドレスadr8〜15に割り当てたバンクBNK1, アドレスadr16〜23に割り当てたバンクBNK2, アドレスadr24〜31に割り当てたバンクBNK3から構成される。
この場合、プロセッサからメモリにアクセスする場合のアドレスがadr0,8,16,24,1,9,17,25,…,7,15,23,31である場合、たとえば特許文献1に記述されるようなメモリインタリーブ方式を用いることで所望のアクセス用アドレスを生成することができる。
【0003】
【特許文献1】
特開2000−163316号公報
【0004】
【発明が解決しようとする課題】
しかし、この方法ではアドレス変換のみが行われ、アドレスに対応したデータの選択は別の手段で行う必要があった。
さらに、プロセッサからメモリにアクセスする場合のアドレスが、たとえばadr0,8,16,24,1,9,17,25,…,7,15,23,31である場合、特許文献1に示す方式では所望のアドレス変換が行われないため、プロセッサでアドレス計算を行う必要がある。
この場合、0,8,16,24,1,9,17,25,…,7,15,23,31のようなアドレスは、プロセッサが持つ単純なアドレス自動生成機能を使っただけでは生成できない。
そのためプロセッサを使って演算とは別にアドレス計算を行う必要があり、処理サイクル数が演算に必要なサイクル数よりアドレス生成の分だけ余計にかかるという不利益がある。
【0005】
この他にも、特許文献1に示す方式ではアドレス変換装置を2段設ける必要があるため、ハードウエア規模が大きくなり、コスト削減の観点からしても好ましいものではない。
【0006】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、余計な処理サイクル数を削減でき、メモリアクセス性能を向上させることができ、また、ハードウェア規模の低減を図れ、ひいてはコスト削減を図ることができる演算システムを提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の観点に係る演算システムは、アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、連続するアドレスを生成する機能を有するプロセッサと、少なくとも上記プロセッサと上記複数のメモリバンクとを相互に接続するアドレス相互接続網とを有し、上記アドレス相互接続網は、上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換するアドレス変換装置を有し、上記アドレス変換装置による変換アドレスを、当該変換アドレスを含む上記メモリバンクに供給する。
【0008】
本発明では、上記複数のメモリバンクは、1または複数のメモリバンクを含む少なくとも複数のメモリセットに分割され、上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリセット内のメモリバンクの数に応じたパラメータに基づいてアドレス変換を行う。
【0009】
本発明では、上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行う。
【0010】
好適には、少なくとも上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続するデータ相互接続網を有し、アドレス変換装置は、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力する。
【0011】
好適には、上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、少なくとも上記第2のパラメータがセットされる第2のレジスタと、上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路とを有する。
【0012】
好適には、上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、少なくとも上記第2のパラメータがセットされる第2のレジスタと、上記第3のパラメータがセットされる第3のレジスタと、上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路とを有する。
【0013】
本発明では、上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数6式に従って計算し、上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数7式に従って計算する。
【0014】
【数6】
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
【0015】
【数7】
Sel = Adrn / z
【0016】
また、上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する。
【0017】
好適には、上記アドレス相互接続網は、制御信号に応じて上記アドレス変換装置による変換アドレスまたは外部から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する選択装置を有する。
【0018】
また、上記データ相互接続網は、制御信号に応じて外部装置と上記複数のメモリバンクとのデータ経路を選択的に接続する選択装置を有する。
【0019】
本発明の第2の観点は、アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、連続するアドレスを生成する機能を有するプロセッサと、少なくとも一つのアドレス生成装置と、少なくとも一つの演算装置と、上記プロセッサと上記複数のメモリバンクと上記アドレス生成装置を相互に接続するアドレス相互接続網と、上記プロセッサと上記複数のメモリバンクと上記演算装置を相互に接続するデータ相互接続網とを有し、上記アドレス相互接続網は、少なくとも上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換し、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータに基づいてバンク選択信号を生成し、上記データ相互接続網に出力するアドレス変換装置と、第1の制御信号に応じて上記アドレス変換装置による変換アドレスまたは上記アドレス生成装置から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する第1の選択装置とを有し、上記データ相互接続網は、上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続する第2の選択装置と、第2の制御信号に応じて上記演算装置と上記複数のメモリバンクとのデータ経路を選択的に接続する第3の選択装置とを有する。
【0020】
本発明によれば、たとえばプロセッサにおいて連続するアドレスが生成され、アドレス相互接続網のアドレス変換装置に入力される。
アドレス変換装置においては、プロセッサにより生成されたアドレスが、当該アドレスと少なくともメモリバンクの数に応じたパラメータに基づいて、所定の規則性を持つアドレスに変換される。
この変換後のアドレスがアドレス相互接続網の接続網を介して、変換アドレスを含むメモリバンクに供給される。
たとえばアドレス変換装置においては、第1のレジスタにメモリバンクの数に応じた第1のパラメータが設定され、第2のレジスタにメモリバンクのアドレスの数に基づいた第2のパラメータが設定される。
そして、アドレス計算回路において、プロセッサにより生成されたアドレスが、当該アドレスと第1のレジスタに設定された第1のパラメータおよび第2のレジスタに設定された第2のパラメータを用いた所定の演算式に従って求められる。
また、アドレス変換装置においては、第3のレジスタにメモリバンクのアドレスの数に基づいた第3のパラメータが設定される。そして、バンク選択回路において、アドレス計算回路による変換アドレスおよび第3のレジスタに設定された第3のパラメータに基づいてバンク選択信号が生成されて、データ相互接続網に出力される。
データ相互接続網においては、バンク選択信号に基づいて、プロセッサと複数のメモリバンクとのデータ経路が選択的に接続される。
【0021】
【発明の実施の形態】
第1実施形態
図1は、本発明に係る演算システムの第1の実施形態を示す構成図である。
【0022】
本演算システム10は、図1に示すように、複数(本第1の実施形態では6)のメモリバンク(MBNK)11−0〜11−5、複数(本実施形態では6)のアドレス生成装置(ADRG)12−0〜12−5、複数(本実施形態では6)の演算装置(OP)13−0〜13−5、プロセッサ(PRC)14、アドレス変換装置(ACNV)151を含むアドレス相互接続網(ACNCT)15、およびデータ相互接続網(DCNCT)16を有している。
【0023】
メモリバンク11−0〜11−5は、演算に関するデータを記憶し、たとえば本第1の実施形態においてアドレス空間がadr0〜adr47の48個のアドレスを有するものであるとすると、それぞれ6等分した8アドレスずつ割り当てられて8アドレスを持ち、たとえば2個のメモリバンクで一つのメモリセットを構成し、全体で3個のメモリセットを構成している。
【0024】
メモリバンク11−0は、メモリアドレスAdrc0としてadr0〜adr7の8アドレスが割り当てられている。
メモリバンク11−1は、メモリアドレスAdrc1としてadr8〜adr15の8アドレスが割り当てられている。
メモリバンク11−2は、メモリアドレスAdrc2としてadr16〜adr23の8アドレスが割り当てられている。
メモリバンク11−3は、メモリアドレスAdrc3としてadr24〜adr31の8アドレスが割り当てられている。
メモリバンク11−4は、メモリアドレスAdrc4としてadr32〜adr39の8アドレスが割り当てられている。
メモリバンク11−5は、メモリアドレスAdrc5としてadr40〜adr47の8アドレスが割り当てられている。
【0025】
アドレス生成装置12−0は、たとえば図示しない制御系の指示に従ってメモリバンク11−0のメモリアドレスAdrc0(adr0〜adr7)に対応するアドレスAdr0を生成して、アドレス相互接続網15に出力する。
アドレス生成装置12−1は、たとえば図示しない制御系の指示に従ってメモリバンク11−1のメモリアドレスAdrc1(adr8〜adr15)に対応するアドレスAdr1を生成して、アドレス相互接続網15に出力する。
アドレス生成装置12−2は、たとえば図示しない制御系の指示に従ってメモリバンク11−2のメモリアドレスAdrc2(adr16〜adr23)に対応するアドレスAdr2を生成して、アドレス相互接続網15に出力する。
アドレス生成装置12−3は、たとえば図示しない制御系の指示に従ってメモリバンク11−3のメモリアドレスAdrc3(adr24〜adr31)に対応するアドレスAdr3を生成して、アドレス相互接続網15に出力する。
アドレス生成装置12−4は、たとえば図示しない制御系の指示に従ってメモリバンク11−4のメモリアドレスAdrc4(adr32〜adr39)に対応するアドレスAdr4を生成して、アドレス相互接続網15に出力する。
アドレス生成装置12−5は、たとえば図示しない制御系の指示に従ってメモリバンク11−5のメモリアドレスAdrc5(adr40〜adr47)に対応するアドレスAdr5を生成して、アドレス相互接続網15に出力する。
【0026】
演算装置13−0〜13−5は、データ相互接続網16を介して転送されたデータに対して、たとえば図示しない制御系の指示に従った演算を行い、演算結果をデータ相互接続網16に出力する。
【0027】
プロセッサ14は、連続するアドレス、たとえばアドレス空間に対応したアドレスAdr(0,1,2,〜46,47)を生成して、アドレス相互接続網15に出力する。
プロセッサ14は、データ相互接続網16を介して所望のメモリバンク13−0〜13−5から読み出したデータ、あるいは演算装置13−0〜13−5の演算結果を入力して所定の処理を行い、また、データ相互接続網16を介して所定のデータを所望のメモリバンク13−0〜13−5、あるいは所望のデータを演算装置13−0〜13−5に転送する。
【0028】
アドレス相互接続網15は、プロセッサ14によるアドレスadrを所定の演算式に従って所定の規則性を有するアドレスに変換するアドレス変換装置151を含み、プロセッサ14とアドレス生成装置12−0〜12−5をメモリバンク11−0〜11−5に相互に接続する。
【0029】
図2は、本第1の実施形態に係るアドレス相互接続網の要部の具体的な構成例を示す図である。
【0030】
このアドレス相互接続網15は、図2に示すように、アドレス変換装置(ACNV)151および第1の選択装置(SEL)152を有している。
【0031】
アドレス変換装置151は、プロセッサ14により生成されたアドレスAdrを、このアドレスAdrと、メモリバンクの数(本第1の実施形態では6)に応じたあるいはメモリセット内のメモリバンクの数(本第1の実施形態では2)に応じた第1のパラメータX、並びにメモリバンクのアドレスの数に応じた第2のパラメータYに基づいて所定の規則性を持つアドレスAdrnに変換し、かつ変換アドレスおよびメモリバンクのアドレスの数に基づいた第3のパラメータZに基づいてバンク選択信号Selを生成し、データ相互接続網16に出力する。
【0032】
また、アドレス変換装置151は、アドレス変換を行わないときは、第1のパラメータXおよび第2パラメータYとしてアドレス空間に対して設定されるアドレス数に関するパラメータ、具体的には、アドレス空間に設定される最小のアドレス数1が第1のパラメータXとして設定され、アドレス空間に設定される最大のアドレス数48が第2のパラメータYとして設定され、入力アドレスAdrをそのままAdrnとして出力する。
【0033】
図3は、本実施形態に係るアドレス変換装置の具体的に構成例を示すブロック図である。
【0034】
アドレス変換装置151は、図3に示すように、第1のパラメータXがセットされる第1のレジスタ(REG1)1511と、第2のパラメータYがセットされる第2のレジスタ(REG2)1512と、第3のパラメータZがセットされる第3のレジスタ(REG3)1513と、第1のレジスタ1511にセットされた第1のパラメータX、第2のレジスタ1512にセットされた第2のパラメータY、およびプロセッサ14で生成されたアドレスAdrに基づいて変換アドレスを計算するアドレス計算回路(ADRC)1514と、アドレス計算回路1514による変換アドレスおよび第3のレジスタ1513に設定された第3のパラメータZに基づいてバンク選択信号Selを生成し、データ相互接続網16に出力するバンク選択計算回路(BNKC)1515とを有する。
なお、第1のレジスタ1511、第2のレジスタ1512、および第3のレジスタ1513は、第1のパラメータX、第2のパラメータY、および第3のパラメータZを、外部からあるいはプロセッサ14を介して任意に設定可能である。
【0035】
アドレス計算回路1514は、上述した第1のレジスタ1511に設定される第1のパラメータXの値をx、第2のレジスタに設定される第2のパラメータYの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、変換アドレスAdrnを下記数8式に従って計算する。
【0036】
【数8】
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
【0037】
図4(A)および(B)は、上記式に基づくアドレス計算回路1514のアドレス変換例を示す図であって、図4(A)は変換前のプロセッサ14が生成した連続するアドレAdrを示し、図4(B)はアドレス計算回路1514の変換後のアドレスAdrnを示している。
【0038】
図4(A)に示すように、プロセッサ14は、0〜47までの48個のアドレスAdrを順番に連続して生成する。
この連続したアドレスAdrは、アドレス計算回路1514により所定の規則性をもって図4(B)に示すようなアドレスAdrnに変換される。
この規則性は、各メモリセットMS0,MS1,MS2を構成するメモリバンク11−0と11−1により構成されるメモリセットMS0、メモリバンク11−2と11−3により構成されるメモリセットMS1、メモリバンク11−4と11−5により構成されるメモリセットMS2の各メモリセットにおいて、互いのメモリバンクの持つアドレスの小さい方からアドレスが交互に並ぶような関係をもつように規定されている。
【0039】
具体的には、メモリセットMS0においては、図4(A),(B)に示すように、生成アドレスAdr0は変換後もアドレスAdrn0となり、生成アドレスAdr1は変換後はアドレスAdrn8となり、生成アドレスAdr2は変換後はアドレスAdrn1となり、生成アドレスAdr3は変換後はアドレスAdrn9となり、生成アドレスAdr4は変換後はアドレスAdrn2となり、生成アドレスAdr5は変換後はアドレスAdrn10となり、生成アドレスAdr6は変換後はアドレスAdrn3となり、生成アドレスAdr7は変換後はアドレスAdrn11となり、生成アドレスAdr8は変換後はアドレスAdrn4となり、生成アドレスAdr9は変換後はアドレスAdrn12となり、生成アドレスAdr10は変換後はアドレスAdrn5となり、生成アドレスAdr11は変換後はアドレスAdrn13となり、生成アドレスAdr12は変換後はアドレスAdrn6となり、生成アドレスAdr13は変換後はアドレスAdrn14となり、生成アドレスAdr14は変換後はアドレスAdrn7となり、生成アドレスAdr15は変換後もアドレスAdrn15となる。
【0040】
メモリセットMS1においては、図4(A),(B)に示すように、生成アドレスAdr16は変換後もアドレスAdrn16となり、生成アドレスAdr17は変換後はアドレスAdrn24となり、生成アドレスAdr18は変換後はアドレスAdrn17となり、生成アドレスAdr19は変換後はアドレスAdrn25となり、生成アドレスAdr20は変換後はアドレスAdrn18となり、生成アドレスAdr21は変換後はアドレスAdrn26となり、生成アドレスAdr22は変換後はアドレスAdrn19となり、生成アドレスAdr23は変換後はアドレスAdrn27となり、生成アドレスAdr24は変換後はアドレスAdrn20となり、生成アドレスAdr25は変換後はアドレスAdrn28となり、生成アドレスAdr26は変換後はアドレスAdrn21となり、生成アドレスAdr27は変換後はアドレスAdrn29となり、生成アドレスAdr28は変換後はアドレスAdrn22となり、生成アドレスAdr29は変換後はアドレスAdrn30となり、生成アドレスAdr30は変換後はアドレスAdrn23となり、生成アドレスAdr31は変換後もアドレスAdrn31となる。
【0041】
メモリセットMS2においては、図4(A),(B)に示すように、生成アドレスAdr32は変換後もアドレスAdrn32となり、生成アドレスAdr33は変換後はアドレスAdrn40となり、生成アドレスAdr34は変換後はアドレスAdrn33となり、生成アドレスAdr35は変換後はアドレスAdrn41となり、生成アドレスAdr36は変換後はアドレスAdrn34となり、生成アドレスAdr37は変換後はアドレスAdrn42となり、生成アドレスAdr38は変換後はアドレスAdrn35となり、生成アドレスAdr39は変換後はアドレスAdrn43となり、生成アドレスAdr40は変換後はアドレスAdrn36となり、生成アドレスAdr41は変換後はアドレスAdrn44となり、生成アドレスAdr42は変換後はアドレスAdrn37となり、生成アドレスAdr43は変換後はアドレスAdrn45となり、生成アドレスAdr44は変換後はアドレスAdrn38となり、生成アドレスAdr45は変換後はアドレスAdrn46となり、生成アドレスAdr46は変換後はアドレスAdrn39となり、生成アドレスAdr47は変換後もアドレスAdrn47となる。
【0042】
バンク選択計算回路1515は、第3のレジスタ1513に設定される第3のパラメータZの値をz、/が整数の除算を表すときに、バンク選択信号Selを下記数9式に従って計算する
【0043】
【数9】
Sel = Adrn / z
【0044】
第1の選択装置152は、第1の制御信号ctrl1に応じてアドレス変換装置151による変換アドレスAdrまたはアドレス生成装置12−0〜12−5から供給されたアドレスAdr0〜Adr5のうちのいずれかを選択して、選択したアドレスをAdrc0〜Adrc5のいずれかに設定して、設定したアドレスを含むメモリバンク11−0〜11−5に供給する。
【0045】
データ相互接続網16は、所望のメモリバンク13−0〜13−5から読み出したデータDatc0〜Datc5、あるいは演算装置13−0〜13−5の演算結果データDat0〜Dat5のプロセッサ14へのデータ経路を選択的に接続し、また、プロセッサ14によるデータDatの所望のメモリバンク13−0〜13−5、あるいは所望のデータを演算装置13−0〜13−5へのデータ経路を選択的に接続する。
【0046】
図5は、本第1の実施形態に係るデータ相互接続網の具体的に構成例を示すブロック図である。
【0047】
データ相互接続網16は、図5に示すように、第2の選択装置(SEL)161および第3の選択装置(SEL)162を有している。
第1の選択装置161は、プロセッサ14の入出力データDatと第2の選択装置162(複数のメモリバンク11−0〜11−5の入出力データDatc0〜Datc5、演算装置13−0〜13−5の入出力データDat0〜Dat5)とのデータ経路をアドレス変換装置151によるバンク選択信号Selに基づいて選択的に接続する。
第2の選択装置162は、第2の制御信号ctrlに応じて演算装置13−0〜13−5の入出力データDat0〜Dat5とメモリバンク11−0〜11−5の入出力データDatc0〜Datc5および/または第2の選択装置161(プロセッサ14の入出力データDat)とのデータ経路を選択的に接続する。
【0048】
次に、上記構成による動作をプロセッサ14がアドレスAdrを生成する場合を例に、アドレス変換装置の上記構成による動作を中心に説明する。
【0049】
まず、アドレス変換を行わない場合のアドレス生成について説明する。
この場合、外部の制御系により、あるいはプロセッサ14により、第1パラメータXが値x=1、第2パラメータYが値y=48、第3のパラメータZが値z=8に設定されてアドレス変換装置151に供給される。
これにより、第1のレジスタ1511に1が設定され、第2のレジスタ1512に48が設定され、第3のレジスタ1513に8が設定される。
第1のレジスタ1511に設定された第1のパラメータX(値x=1)および第2のレジスタ1512に設定された第2のパラメータY(値y=48)がアドレス計算回路1514に供給される。また、第3のレジスタ1513に設定された第3のパラメータZ(値z=8)がバンク選択計算回路1515に供給される。
【0050】
アドレス計算回路1514においては、次式に従って変換後のアドレスが計算される。
【0051】
【数10】
Adrn = 48 * (Adr % 1) + (Adr % 48) / 1+ 48 * (Adr / 48) = Adr
【0052】
プロセッサ14からメモリへアクセスを行うために、アドレスAdrが生成されてアドレス相互接続網15に出力され、アドレス変換回路151に入力される。
このとき、たとえば生成Adrが0の場合、上式を使って計算するとAdrn=0となる。
そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、メモリバンク11−0のアドレスAdrc0=0にアクセスを行うことができる。
【0053】
アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。
【0054】
【数11】
Sel = Adrn / 8
【0055】
このとき、バンク選択信号SelはアドレスAdrnが0であることから0になる。データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−0とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−0のAdrc0=0に該当するデータにアクセスできる。
【0056】
上記の例のほかに、たとえばプロセッサ14で生成され転送されるアドレスAdrが8の場合、アドレス変換装置151のアドレス計算回路1514においてAdrn=8が計算される。
そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、メモリバンク11−1のアドレスAdrc1=8にアクセスできる。
バンク選択計算回路1515において計算されるバンク選択信号Sel=1となり、データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−1とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−1のAdrc1=8に該当するデータにアクセスできる。
【0057】
次に、アドレス変換を行う場合のアクセスについて説明する。
ここでは、プロセッサ14が連続アドレスAdr0,1,2,3,…,47を生成するだけで、メモリへアクセスするアドレスAdrc0,8,1,9,…,16,24,17,25,…,31,32,…,39,47にできるためのアドレス変換について説明する。
【0058】
この場合、外部の制御系により、あるいはプロセッサ14により、第1パラメータXが値x=2、第2パラメータYが値y=8、第3のパラメータZが値z=8に設定されてアドレス変換装置151に供給される。
これにより、第1のレジスタ1511に2が設定され、第2のレジスタ1512に8が設定され、第3のレジスタ1513に8が設定される。
第1のレジスタ1511に設定された第1のパラメータX(値x=1)および第2のレジスタ1512に設定された第2のパラメータY(値y=8)がアドレス計算回路1514に供給される。また、第3のレジスタ1513に設定された第3のパラメータZ(値z=8)がバンク選択計算回路1515に供給される。
【0059】
アドレス計算回路1514においては、次式に従って変換後のアドレスが計算される。
【0060】
【数12】
Adrn = 8 * (Adr % 2) + (Adr % 16) / 2+ 16 * (Adr / 16)
【0061】
その結果、アドレス計算回路1514では、たとえばAdr=0のときAdrn=0、Adr=1のときAdrn=8、Adr=16のときAdrn=16、Adr=17のときAdrn=24などといった変換が行われる。
すなわち、プロセッサ14がAdrとして連続アドレス0,1,2,3,…,47を生成するだけで、メモリへアクセスするアドレスを0,8,1,9,…,16,24,17,25,…,31,32,…,39,47に変換することができる。
そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、メモリバンク11−0のアドレスAdrc0=0、メモリバンク11−1のアドレスAdrc1=8、メモリバンク11−0のアドレスAdrc0=1、メモリバンク11−1のアドレスAdrc1=9、以下同様にして、メモリバンク11−4のアドレスAdrc4=39、メモリバンク11−5のアドレスAdrc5=47にアクセスできる。
【0062】
アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。
【0063】
【数13】
Sel = Adrn / 8
【0064】
このとき、たとえば生成アドレスAdrが1のとき変換アドレスAdrnは8となり、バンク選択信号Selは1となる。
そのため、データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−1とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−1のAdrc1=8に該当するデータにアクセスできる。
【0065】
なお、アドレス生成装置12−0〜12−5がアドレス生成を行う場合、Adr0〜Adr5がアドレス生成装置12−0〜12−5で生成される。
そして、第1の制御信号ctrl1でアドレスAdr0〜Adr5を選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、所望のメモリバンク11−0〜11−5の所望のアドレスAdrc0=0〜Adrc5=47にアクセスを行うことができる。
【0066】
以上説明したように、本第1の実施形態によれば、プロセッサ14とアドレス生成装置12−0〜12−5を、メモリバンク11−0〜11−5を選択的に接続するアドレス相互接続網15に、プロセッサ14により生成されたアドレスAdrを、このアドレスAdrと、メモリバンクの数に応じたあるいはメモリセット内のメモリバンクの数に応じた第1のパラメータX、並びにメモリバンクのアドレスの数に応じた第2のパラメータYに基づいて所定の規則性を持つアドレスAdrnに変換し、かつ変換アドレスおよびメモリバンクのアドレスの数に基づいた第3のパラメータZに基づいてバンク選択信号Selを生成し、データ相互接続網16に出力するアドレス変換装置151を設け、データ相互接続網16において、バンク選択信号Selに基づいてプロセッサ14とメモリバンク11−0〜11−5とのデータ経路を選択的に設定するようにしたので、以下の効果を得ることができる。
【0067】
すなわち、本第1の実施形態によれば、演算システムにおけるメモリアクセス性能を向上させることができる。
たとえば、プロセッサ14からメモリバンク11−0〜11−5にアクセスする場合のアドレスが、0,8,16,24,1,9,17,25,…,7,15,23,31である場合、アドレス変換装置151を用いることで所望のアクセス用アドレスを生成することができ、アドレス変換に加えてさらにアドレスに対応したデータの選択を行うことができる。
さらに、プロセッサ14からメモリバンク11−0〜11−5にアクセスする場合のアドレスが、たとえば0,8,1,9,2,10,…,7,15,16,24,17,25,…,23,31である場合、アドレス変換装置151が所望のアドレス変換を行うことができるため、プロセッサ14でアドレス変換を行う必要がなくない。そのため、プロセッサを使って演算とは別にアドレス計算を行っていた余計なサイクルを削減することが可能になる。
さらに、アドレス変換装置を1段設けるだけですむため、ハードウエア規模を削減することができ、コストを削減することも可能になる。
【0068】
第2実施形態
図6は、本発明に係る演算システムの第2の実施形態を示す構成図である。
【0069】
本第2の実施形態が上述第1の実施形態と異なる点は、メモリバンク11の要素数、アドレス生成装置12の要素数、演算装置13の要素数を6個ではなく、l×mに一般化した構成を有する点にある。
【0070】
本第2の実施形態においては、メモリバンク11−0〜11−l×m−1はnアドレスを持ち、m個のバンクでメモリセットMSを構成し、全部でl個のメモリセットから構成される。アドレス空間は0〜l×m×n−1 となる。
【0071】
アドレス相互接続網15Aは、図7に示すように、基本的には、図2と同様に、アドレス変換装置151および第1の選択装置152を有する。
すなわち、アドレス相互接続網15Aは、プロセッサ14からのアドレスAdr、アドレス生成装置12−0〜12−l×m−1からのアドレスAdr0〜Adr(l×m−1)を入力アドレスとし、第1の選択装置151で選択されるAdrc0〜Adrc(l×m−1)を出力アドレスとし、アドレス変換装置151で生成されたバンク選択信号Selをデータ相互接続網16に出力する。
アドレス相互接続網15Aは、プロセッサ14の生成アドレスAdrをアドレス変換装置151で変換し、その結果を第1の選択装置152に出力する。
そして、第1の制御信号ctrl1に従って変換アドレスAdrnまたはアドレス生成装置12−0〜12−l×m−1からのアドレスAdr0〜Adr(m*n−1) を選択して、各メモリバンク11−0〜11−l×m−1への出力アドレスAdrc0〜Adrc(l×m−1)を得る。
アドレス変換装置151は、図3と同様の構成、機能を有する。
【0072】
データ相互接続網16Aは、図8に示すように、基本的には、図5と同様に、第2の選択装置161および第3の選択装置162を有する。
すなわち、アドレス相互接続網15Aの第1の選択装置161は、プロセッサ14の入出力データDatと第2の選択装置162(複数のメモリバンク11−0〜11−l×m−1の入出力データDatc0〜Datcl×m−1、演算装置13−0〜13−l×m−1の入出力データDat0〜Datl×m−1)とのデータ経路をアドレス変換装置151によるバンク選択信号Selに基づいて選択的に接続する。
第2の選択装置162は、第2の制御信号ctrlに応じて演算装置13−0〜13−l×m−1の入出力データDat0〜Datl×m−1とメモリバンク11−0〜11−l×m−1の入出力データDatc0〜Datcl×m−1および/または第2の選択装置161(プロセッサ14の入出力データDat)とのデータ経路を選択的に接続する。
【0073】
次に、上記構成による動作をプロセッサ14がアドレスAdrを生成する場合を例に、アドレス変換装置の上記構成による動作を中心に説明する。
【0074】
まず、アドレス変換を行わない場合のアドレス生成について説明する。
この場合、外部の制御系により、あるいはプロセッサ14により、第1パラメータXが値x=1、第2パラメータYが値y=l*m*n、第3のパラメータZが値z=nに設定されてアドレス変換装置151に供給される。
これにより、第1のレジスタ1511に1が設定され、第2のレジスタ1512に(l*m*n)が設定され、第3のレジスタ1513にnが設定される。
第1のレジスタ1511に設定された第1のパラメータX(値x=1)および第2のレジスタ1512に設定された第2のパラメータY(値y=l*m*n)がアドレス計算回路1514に供給される。また、第3のレジスタ1513に設定された第3のパラメータZ(値z=n)がバンク選択計算回路1515に供給される。
【0075】
アドレス計算回路1514においては、次式に従ってアドレス計算が行われるが、この式によりアドレス変換は行われないことが分かる。
【0076】
【数14】
Adrn = l*m*n*(Adr % 1) + l*m*n*(Adr/(l*m*n)) + (Adr % (l*m*n))/1 = Adr
【0077】
プロセッサ14からメモリへアクセスを行うために、アドレスAdrが生成されてアドレス相互接続網15Aに出力され、アドレス変換回路151に入力される。
このとき、たとえば生成Adrが0の場合、上式を使って計算するとAdrn=0となる。
そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、メモリバンク11−0のアドレスAdrc0=0にアクセスを行うことができる。
【0078】
アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。
【0079】
【数15】
Sel = Adrn / n
【0080】
このとき、バンク選択信号SelはアドレスAdrnが0であることから0になる。データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−0とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−0のAdrc0=0に該当するデータにアクセスできる。
【0081】
次にアドレス変換を行う場合について説明する。
ここでは、プロセッサ14が、
連続アドレス〔0,1,…n−1, n, …, (m−1)*n, (m−1)*n+1, …(m−1)*n+n−1,…,(l−1)*m*n,1+(l−1)*m*n,…n−1+(l−1)*m*n,…(m−1)*n+(l−1)*m*n,(m−1)*n+1+(l−1)*m*n,…(m−1)*n+n−1+(l−1)*m*n 〕
を生成するだけで、メモリへアクセスするアドレスを
〔0,…(m−1)*n, 1, …(m−1)*n+1,…n−1,…(m−1)*n+n−1 ,…,(l−1)*m*n,…(m−1)*n+(l−1)*m*n, 1+(l−1)*m*n, …(m−1)*n+1+(l−1)*m*n,…n−1+(l−1)*m*n,…(m−1)*n+n−1+(l−1)*m*n 〕
にできるためのアドレス変換について説明する。
【0082】
この場合、外部の制御系により、あるいはプロセッサ14により、第1パラメータXが値x=m、第2パラメータYが値y=n、第3のパラメータZが値z=nに設定されてアドレス変換装置151に供給される。
これにより、第1のレジスタ1511にmが設定され、第2のレジスタ1512にnが設定され、第3のレジスタ1513にnが設定される。
第1のレジスタ1511に設定された第1のパラメータX(値x=m)および第2のレジスタ1512に設定された第2のパラメータY(値y=n)がアドレス計算回路1514に供給される。また、第3のレジスタ1513に設定された第3のパラメータZ(値z=n)がバンク選択計算回路1515に供給される。
【0083】
アドレス計算回路1514においては、次式に従ってアドレス計算が行われる。
【0084】
【数16】
Adrn = n * (Adr % m) + (Adr % (m*n)) / m+ (m*n) * (Adr / (m*n))
【0085】
その結果、たとえばAdr=0のときAdrn=0、Adr=1のときAdrn=nn 、Adr=m*nのときAdrn=m*n 、Adr=m*n+1のときAdrn=n+m*n 、Adr=(l−1)*m*nのときAdrn=(l−1)*m*n 、Adr=(l−1)*m*n+1のときAdrn=n+(l−1)*m*n などといった変換が行われる。
まとめると連続アドレス
0,1,…n−1, n, …, (m−1)*n, (m−1)*n+1, …(m−1)*n+n−1,…, (l−1)*m*n,1+(l−1)*m*n,…n−1+(l−1)*m*n,…(m−1)*n+(l−1)*m*n,(m−1)*n+1+(l−1)*m*n,…(m−1)*n+n−1+(l−1)*m*n
を生成するだけで、メモリへアクセスするアドレスAdrnを
0,…(m−1)*n, 1, …(m−1)*n+1,…n−1,…(m−1)*n+n−1 ,…,(l−1)*m*n,…(m−1)*n+(l−1)*m*n, 1+(l−1)*m*n, …(m−1)*n+1+(l−1)*m*n,…n−1+(l−1)*m*n,…(m−1)*n+n−1+(l−1)*m*n
に変換できる。
【0086】
そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、該当するメモリのアドレスAdrc0  〜Adrc(l*m−1) を生成できる。
【0087】
アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。
【0088】
【数17】
Sel = Adrn / n
【0089】
このとき、Adr=1のときAdrn=nとなりバンク選択信号Selは1となる。データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−1とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−1のAdrc=nに該当するデータにアクセスできる。
【0090】
なお、アドレス生成装置12−0〜12−l×m−1がアドレス生成を行う場合、Adr0〜Adr5がアドレス生成装置12−0〜12−l×m−1で生成される。
そして、第1の制御信号ctrl1でアドレスAdr0〜Adrl×m−15を選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択される。
たとえばAdr0=0のときAdrc0=0であり、Adr1=8のときAdrc8=8となる。
【0091】
本第2の実施形態によれば、上述した第1の実施形態の効果と同様の効果を得ることができる。
【0092】
なお、第1および第2の実施形態においては、プロセッサ数が1で、プロセッサ14の生成するアドレスを変換する場合について説明しているが、アドレス生成装置の生成するアドレスを変換する場合や、プロセッサ数が複数の場合についても相互接続網の構成を変更するだけで、本発明を適用できることは明らかである。
【0093】
【発明の効果】
以上説明したように、本発明によれば、余計な処理サイクル数を削減でき、メモリアクセス性能を向上させることができる。
また、ハードウェア規模の低減を図れ、ひいてはコスト削減を図ることができる利点がある。
【図面の簡単な説明】
【図1】本発明に係る演算システムの第1の実施形態を示す構成図である。
【図2】本第1の実施形態に係るアドレス相互接続網の要部の具体的な構成例を示す図である。
【図3】本実施形態に係るアドレス変換装置の具体的に構成例を示すブロック図である。
【図4】演算式に基づくアドレス計算回路のアドレス変換例を示す図である。
【図5】本第1の実施形態に係るデータ相互接続網の具体的に構成例を示すブロック図である。
【図6】本発明に係る演算システムの第2の実施形態を示す構成図である。
【図7】本第2の実施形態に係るアドレス相互接続網の要部の具体的な構成例を示す図である。
【図8】本第2の実施形態に係るデータ相互接続網の具体的に構成例を示すブロック図である。
【符号の説明】
10,10A…演算システム、11−0〜11−5…メモリバンク(MBNK)、12−0〜12−5…アドレス生成装置(ADRG)、13−0〜13−5…演算装置(OP)、14…プロセッサ(PRC)、15,15A…アドレス相互接続網(ACNCT)、151…アドレス変換装置(ACNV)、152…第1の選択装置(SEL)、16,16A…データ相互接続網(DCNCT)、161…第2の選択装置(SEL)、162…第3の選択装置(SEL)。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an arithmetic system including a plurality of memory banks for storing data related to an operation, a processor, and an address interconnection network interconnecting the processor and each of the memory banks.
[0002]
[Prior art]
In an arithmetic system having an address interconnection network for coupling a processor and an address generation device to a memory and a data interconnection network for coupling a processor and an operation device to a memory, for example, the memory may be a bank BNK0 assigned to addresses adr0-7,. 15 are assigned to the addresses Adr16 to 23, and the bank BNK3 is assigned to the addresses adr24 to 31.
In this case, when the address when the memory is accessed from the processor is adr0, 8, 16, 24, 1, 9, 17, 25,..., 7, 15, 23, 31, it is described in Patent Document 1, for example. By using such a memory interleave method, a desired access address can be generated.
[0003]
[Patent Document 1]
JP 2000-163316 A
[0004]
[Problems to be solved by the invention]
However, in this method, only address conversion is performed, and it is necessary to select data corresponding to the address by another means.
Further, when an address when a memory is accessed from a processor is, for example, adr0, 8, 16, 24, 1, 9, 17, 25,..., 7, 15, 23, 31, the method disclosed in Patent Document 1 Since desired address conversion is not performed, it is necessary to perform address calculation in a processor.
In this case, addresses such as 0, 8, 16, 24, 1, 9, 17, 25,..., 7, 15, 23, 31 cannot be generated only by using a simple address automatic generation function of the processor. .
Therefore, it is necessary to perform address calculation separately from the operation using a processor, and there is a disadvantage in that the number of processing cycles is longer than the number of cycles required for the operation by the amount of address generation.
[0005]
In addition, in the method disclosed in Patent Document 1, it is necessary to provide two stages of address translators, which increases the hardware scale, which is not preferable from the viewpoint of cost reduction.
[0006]
The present invention has been made in view of such circumstances, and has as its object to reduce the number of unnecessary processing cycles, improve memory access performance, reduce the hardware scale, and consequently reduce the cost. It is an object of the present invention to provide an arithmetic system capable of reducing the amount.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, an operation system according to a first aspect of the present invention has a function of generating a plurality of memory banks to which addresses in a predetermined range of an address space are allocated and which stores data relating to an operation, and a continuous address. And an address interconnect network interconnecting at least the processor and the plurality of memory banks, wherein the address interconnect network associates the address generated by the processor with the address and at least the address An address translator for translating to an address having a predetermined regularity based on a parameter corresponding to the number of memory banks is provided, and a translated address by the address translator is supplied to the memory bank including the translated address.
[0008]
In the present invention, the plurality of memory banks are divided into at least a plurality of memory sets including one or a plurality of memory banks, and the address translator includes an address generated by the processor and a memory bank in the memory set. Address conversion is performed on the basis of the parameter corresponding to the number.
[0009]
In the present invention, the address translation device may include an address generated by the processor, an address based on a first parameter corresponding to the number of the memory banks, and a second parameter based on the number of addresses of the memory bank. Perform the conversion.
[0010]
Preferably, there is provided a data interconnection network for selectively connecting at least a data path between the processor and the plurality of memory banks based on a bank selection signal. The bank selection signal is generated based on a third parameter based on the number of addresses, and output to the data interconnection network.
[0011]
Preferably, the address translation device is set in at least a first register in which the first parameter is set, in a second register in which at least the second parameter is set, and in the first register. An address calculation circuit that calculates a translation address based on the first parameter, the second parameter set in the second register, and an address generated by the processor.
[0012]
Preferably, the address translation device has at least a first register in which the first parameter is set, a second register in which at least the second parameter is set, and a third register in which the third parameter is set. Calculating a translation address based on a third register, a first parameter set in the first register, a second parameter set in the second register, and an address generated by the processor. An address calculation circuit for generating the bank selection signal based on a translation parameter by the address calculation circuit and a third parameter based on the number of addresses of the memory bank, and outputting the bank selection signal to the data interconnection network And a circuit.
[0013]
In the present invention, the address calculation circuit sets the value of the first parameter set in the first register to x, sets the value of the second parameter set to the second register to y, and modulates% by modulo. When the operation / represents integer division, the conversion address Adrn is calculated according to the following equation (6), and the bank selection calculation circuit calculates the value of the third parameter 3 set in the third register as z When / represents integer division, the bank selection signal Sel is calculated according to the following equation (7).
[0014]
(Equation 6)
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[0015]
(Equation 7)
Sel = {Adrn} / z
[0016]
The address calculation circuit outputs the input address as it is when the first register and the second register are set with a parameter relating to the number of addresses set for the address space.
[0017]
Preferably, the address interconnection network selects either a translated address by the address translator or an externally supplied address in response to a control signal and supplies the selected address to the memory bank including the selected address. And a selection device.
[0018]
The data interconnection network has a selection device for selectively connecting a data path between an external device and the plurality of memory banks in response to a control signal.
[0019]
According to a second aspect of the present invention, there are provided a plurality of memory banks to which addresses in a predetermined range of an address space are allocated and which stores data relating to an operation, a processor having a function of generating a continuous address, and at least one address generating device. An address interconnect network interconnecting the processor, the plurality of memory banks, and the address generator with each other; and interconnecting the processor, the plurality of memory banks, and the arithmetic unit with each other. A data interconnect network, wherein the address interconnect network converts at least the address generated by the processor into an address having a predetermined regularity based on the address and at least a parameter corresponding to the number of memory banks. Translate, the number of the translated address and the address of the memory bank An address translator that generates a bank selection signal based on the parameters based on the address, and outputs the bank select signal to the data interconnection network; and a translated address by the address translator or supplied from the address generator in response to a first control signal. A first selection device for selecting any of the addresses and supplying the selected memory address to the memory bank containing the selected address, wherein the data interconnect network comprises a data connection between the processor and the plurality of memory banks. A second selection device for selectively connecting a path based on a bank selection signal; and a third selection device for selectively connecting a data path between the arithmetic unit and the plurality of memory banks in response to a second control signal. A selection device.
[0020]
According to the invention, successive addresses are generated, for example in a processor, and input to an address translator of an address interconnection network.
In the address translation device, the address generated by the processor is translated into an address having a predetermined regularity based on the address and at least a parameter corresponding to the number of memory banks.
The converted address is supplied to the memory bank including the translated address via the connection network of the address interconnection network.
For example, in an address translation device, a first parameter is set in a first register according to the number of memory banks, and a second parameter is set in a second register based on the number of addresses in the memory bank.
Then, in the address calculation circuit, the address generated by the processor is a predetermined arithmetic expression using the address, the first parameter set in the first register, and the second parameter set in the second register. Is required in accordance with
In the address translator, a third parameter is set in the third register based on the number of addresses in the memory bank. Then, in the bank selection circuit, a bank selection signal is generated based on the translated address by the address calculation circuit and the third parameter set in the third register, and output to the data interconnection network.
In a data interconnection network, a data path between a processor and a plurality of memory banks is selectively connected based on a bank selection signal.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
First embodiment
FIG. 1 is a configuration diagram showing a first embodiment of an arithmetic system according to the present invention.
[0022]
As shown in FIG. 1, the arithmetic system 10 includes a plurality (six in the first embodiment) of memory banks (MBNK) 11-0 to 11-5 and a plurality (six in the present embodiment) of an address generation device. (ADRG) Addresses including 12-0 to 12-5, a plurality (6 in the present embodiment) of operation devices (OP) 13-0 to 13-5, a processor (PRC) 14, and an address translation device (ACNV) 151 It has an access network (ACCT) 15 and a data interconnection network (DCNT) 16.
[0023]
The memory banks 11-0 to 11-5 store data relating to arithmetic operations. For example, assuming that the address space has 48 addresses adr0 to adr47 in the first embodiment, each is divided into six equal parts. Eight addresses are allocated, each having eight addresses. For example, two memory banks constitute one memory set, and three memory sets as a whole.
[0024]
To the memory bank 11-0, eight addresses adr0 to adr7 are assigned as the memory address Adrc0.
The memory bank 11-1 has eight addresses adr8 to adr15 assigned as the memory address Adrc1.
The memory bank 11-2 is assigned eight addresses adr16 to adr23 as the memory address Adrc2.
In the memory bank 11-3, eight addresses adr24 to adr31 are assigned as the memory address Adrc3.
The memory bank 11-4 is assigned eight addresses adr32 to adr39 as the memory address Adrc4.
The memory bank 11-5 is assigned eight addresses adr40 to adr47 as the memory address Adrc5.
[0025]
The address generation device 12-0 generates an address Adr0 corresponding to the memory address Adrc0 (adr0 to adr7) of the memory bank 11-0 according to an instruction from a control system (not shown), and outputs the address Adr0 to the address interconnection network 15.
The address generation device 12-1 generates an address Adr1 corresponding to the memory address Adrc1 (adr8 to adr15) of the memory bank 11-1 according to an instruction from a control system (not shown), and outputs the address Adr1 to the address interconnection network 15.
The address generation device 12-2 generates an address Adr2 corresponding to the memory address Arc2 (adr16 to adr23) of the memory bank 11-2 according to an instruction from a control system (not shown), and outputs the address Adr2 to the address interconnection network 15.
The address generation device 12-3 generates an address Adr3 corresponding to the memory address Adrc3 (adr24 to adr31) of the memory bank 11-3 according to an instruction from a control system (not shown), and outputs it to the address interconnection network 15.
The address generation device 12-4 generates an address Adr4 corresponding to the memory address Arc4 (adr32 to adr39) of the memory bank 11-4 according to an instruction from a control system (not shown), and outputs the address Adr4 to the address interconnection network 15.
The address generation device 12-5 generates an address Adr5 corresponding to the memory address Adrc5 (adr40 to adr47) of the memory bank 11-5 according to an instruction of a control system (not shown), and outputs the address Adr5 to the address interconnection network 15.
[0026]
Arithmetic units 13-0 to 13-5 perform an operation on data transferred via data interconnection network 16 in accordance with, for example, an instruction from a control system (not shown), and transmit the operation result to data interconnection network 16. Output.
[0027]
The processor 14 generates a continuous address, for example, an address Adr (0, 1, 2, to 46, 47) corresponding to the address space, and outputs it to the address interconnection network 15.
The processor 14 performs predetermined processing by inputting data read from the desired memory banks 13-0 to 13-5 via the data interconnection network 16 or operation results of the operation devices 13-0 to 13-5. Also, predetermined data is transferred to desired memory banks 13-0 to 13-5 or desired data to arithmetic units 13-0 to 13-5 via data interconnection network 16.
[0028]
The address interconnection network 15 includes an address translator 151 for translating an address adr by the processor 14 into an address having a predetermined regularity in accordance with a predetermined arithmetic expression, and stores the processor 14 and the address generators 12-0 to 12-5 in a memory. They are connected to the banks 11-0 to 11-5.
[0029]
FIG. 2 is a diagram showing a specific configuration example of a main part of the address interconnection network according to the first embodiment.
[0030]
The address interconnection network 15 has an address translation device (ACNV) 151 and a first selection device (SEL) 152, as shown in FIG.
[0031]
The address translator 151 compares the address Adr generated by the processor 14 with the address Adr and the number of memory banks (six in the first embodiment) or the number of memory banks in the memory set (the first one). In one embodiment, based on the first parameter X according to 2) and the second parameter Y according to the number of addresses in the memory bank, the address is converted to an address Adrn having a predetermined regularity, and the converted address and A bank selection signal Sel is generated based on a third parameter Z based on the number of addresses of the memory banks and output to the data interconnection network 16.
[0032]
When the address conversion is not performed, the address conversion device 151 sets the first parameter X and the second parameter Y as parameters relating to the number of addresses set in the address space, specifically, in the address space. The minimum address number 1 is set as the first parameter X, the maximum address number 48 set in the address space is set as the second parameter Y, and the input address Adr is output as it is as Adrn.
[0033]
FIG. 3 is a block diagram illustrating a specific configuration example of the address translation device according to the present embodiment.
[0034]
As shown in FIG. 3, the address translation device 151 includes a first register (REG1) 1511 in which a first parameter X is set, and a second register (REG2) 1512 in which a second parameter Y is set. , A third register (REG3) 1513 in which the third parameter Z is set, a first parameter X set in the first register 1511, a second parameter Y set in the second register 1512, And an address calculation circuit (ADRC) 1514 for calculating a conversion address based on the address Adr generated by the processor 14, and a third parameter Z set in the third register 1513 and the conversion address by the address calculation circuit 1514. Bank select signal which generates a bank select signal Sel and outputs it to data interconnection network 16 And a circuit (BNKC) 1515.
Note that the first register 1511, the second register 1512, and the third register 1513 store the first parameter X, the second parameter Y, and the third parameter Z from outside or via the processor 14. It can be set arbitrarily.
[0035]
The address calculation circuit 1514 sets the value of the first parameter X set in the above-described first register 1511 to x, sets the value of the second parameter Y set to the second register to y, and modulates% by a modulo operation. , / Represent integer division, the conversion address Adrn is calculated according to the following equation (8).
[0036]
(Equation 8)
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[0037]
FIGS. 4A and 4B are diagrams showing an example of address conversion of the address calculation circuit 1514 based on the above equation, and FIG. 4A shows continuous addresses Adr generated by the processor 14 before the conversion. FIG. 4B shows the converted address Adrn of the address calculation circuit 1514.
[0038]
As shown in FIG. 4A, the processor 14 continuously generates 48 addresses Adr from 0 to 47 in order.
The continuous address Adr is converted into an address Adrn as shown in FIG. 4B with a predetermined regularity by the address calculation circuit 1514.
The regularity is such that the memory set MS0 composed of the memory banks 11-0 and 11-1 constituting the memory sets MS0, MS1, MS2, the memory set MS1 composed of the memory banks 11-2 and 11-3, In each memory set of the memory set MS2 configured by the memory banks 11-4 and 11-5, the relationship is defined such that addresses are alternately arranged from the smaller address of each memory bank.
[0039]
Specifically, in the memory set MS0, as shown in FIGS. 4A and 4B, the generated address Adr0 becomes the address Adrn0 after the conversion, the generated address Adr1 becomes the address Adrn8 after the conversion, and the generated address Adr2. Is the address Adrn1 after the conversion, the generated address Adr3 is the address Adrn9 after the conversion, the generated address Adr4 is the address Adrn2 after the conversion, the generated address Adr5 is the address Adrn10 after the conversion, and the generated address Adr6 is the address Adrn3 after the conversion. The generated address Adr7 becomes the address Adrn11 after the conversion, the generated address Adr8 becomes the address Adrn4 after the conversion, the generated address Adr9 becomes the address Adrn12 after the conversion, and the generated address Adr10 becomes the changed address. After that, the address becomes Adrn5, the generated address Adr11 becomes the converted address Adrn13, the generated address Adr12 becomes the converted address Adrn6, the generated address Adr13 becomes the converted address Adrn14, and the generated address Adr14 becomes the converted address Adrn7, The generated address Adr15 becomes the address Adrn15 even after the conversion.
[0040]
In the memory set MS1, as shown in FIGS. 4A and 4B, the generated address Adr16 becomes the address Adrn16 even after the conversion, the generated address Adr17 becomes the address Adrn24 after the conversion, and the generated address Adr18 becomes the address Adrn24 after the conversion. Adrn17, the generated address Adr19 becomes the converted address Adrn25, the generated address Adr20 becomes the converted address Adrn18, the generated address Adr21 becomes the converted address Adrn26, the generated address Adr22 becomes the converted address Adrn19, and the generated address Adr23. Is the address Adrn27 after the conversion, the generated address Adr24 is the address Adrn20 after the conversion, and the generated address Adr25 is the address Adrn28 after the conversion. The dress Adr26 becomes the address Adrn21 after the conversion, the generated address Adr27 becomes the address Adrn29 after the conversion, the generated address Adr28 becomes the address Adrn22 after the conversion, the generated address Adr29 becomes the address Adrn30 after the conversion, and the generated address Adr30 becomes the converted address Adrn30. The address Adrn23 becomes, and the generated address Adr31 becomes the address Adrn31 even after the conversion.
[0041]
In the memory set MS2, as shown in FIGS. 4A and 4B, the generated address Adr32 is the address Adrn32 after the conversion, the generated address Adr33 is the address Adrn40 after the conversion, and the generated address Adr34 is the address Adrn34 after the conversion. Adrn33, the generated address Adr35 becomes the converted address Adrn41, the generated address Adr36 becomes the converted address Adrn34, the generated address Adr37 becomes the converted address Adrn42, the generated address Adr38 becomes the converted address Adrn35, and the generated address Adr39. Is the address Adrn43 after the conversion, the generated address Adr40 is the address Adrn36 after the conversion, and the generated address Adr41 is the address Adrn44 after the conversion. The dress Adr42 becomes the address Adrn37 after the conversion, the generated address Adr43 becomes the address Adrn45 after the conversion, the generated address Adr44 becomes the address Adrn38 after the conversion, the generated address Adr45 becomes the address Adrn46 after the conversion, and the generated address Adr46 becomes the converted address Adrn46. The address Adrn39 is obtained, and the generated address Adr47 becomes the address Adrn47 even after the conversion.
[0042]
When the value of the third parameter Z set in the third register 1513 is z and / represents integer division, the bank selection calculation circuit 1515 calculates the bank selection signal Sel according to the following equation (9).
[0043]
(Equation 9)
Sel = {Adrn} / z
[0044]
The first selector 152 selects one of the translated address Adr by the address translator 151 or one of the addresses Adr0 to Adr5 supplied from the address generators 12-0 to 12-5 in response to the first control signal ctrl1. A selected address is set to any of Adrc0 to Adrc5, and the selected address is supplied to the memory banks 11-0 to 11-5 including the set address.
[0045]
The data interconnection network 16 is a data path for data Dat0 to Dat5 read out from a desired memory bank 13-0 to 13-5 or data for operation result data Dat0 to Dat5 of the operation units 13-0 to 13-5 to the processor 14. And selectively connect a desired data bank of the data Dat by the processor 14 to a desired memory bank 13-0 to 13-5 or a desired data to a data path to the arithmetic unit 13-0 to 13-5. I do.
[0046]
FIG. 5 is a block diagram showing a specific configuration example of the data interconnection network according to the first embodiment.
[0047]
As shown in FIG. 5, the data interconnection network 16 has a second selection device (SEL) 161 and a third selection device (SEL) 162.
The first selection device 161 includes input / output data Dat of the processor 14 and a second selection device 162 (input / output data Datc0 to Datc5 of the plurality of memory banks 11-0 to 11-5, and operation devices 13-0 to 13-). 5 data input / output data Dat0 to Dat5) are selectively connected based on the bank selection signal Sel from the address converter 151.
The second selection device 162 outputs the input / output data Dat0 to Dat5 of the operation devices 13-0 to 13-5 and the input / output data Datc0 to Datac5 of the memory banks 11-0 to 11-5 in response to the second control signal ctrl. And / or selectively connect a data path to the second selection device 161 (input / output data Dat of the processor 14).
[0048]
Next, the operation of the above-described configuration will be described focusing on the operation of the above-described configuration of the address translation device, taking the case where the processor 14 generates the address Adr as an example.
[0049]
First, address generation in the case where address conversion is not performed will be described.
In this case, the first parameter X is set to the value x = 1, the second parameter Y is set to the value y = 48, and the third parameter Z is set to the value z = 8 by the external control system or the processor 14, and the address conversion is performed. It is supplied to the device 151.
As a result, 1 is set in the first register 1511, 48 is set in the second register 1512, and 8 is set in the third register 1513.
The first parameter X (value x = 1) set in the first register 1511 and the second parameter Y (value y = 48) set in the second register 1512 are supplied to the address calculation circuit 1514. . Further, the third parameter Z (value z = 8) set in the third register 1513 is supplied to the bank selection calculation circuit 1515.
[0050]
The address calculation circuit 1514 calculates the converted address according to the following equation.
[0051]
(Equation 10)
Adrn = {48 * (Adr% 1) + (Adr% 48) / 1+ 48 * (Adr / 48) = Adr
[0052]
In order to access the memory from the processor 14, an address Adr is generated, output to the address interconnection network 15, and input to the address conversion circuit 151.
At this time, for example, when the generation Adr is 0, the calculation using the above equation results in Adrn = 0.
Then, the first selection device 152 is designated to select the conversion address Adrn by the first control signal ctrl1. As a result, this value is selected by the first selection device 151, and the address Adrc0 = 0 of the memory bank 11-0 can be accessed.
[0053]
At the same time, in the address translation device 151, the bank selection signal Sel is calculated in the bank selection calculation circuit 1515 according to the following equation, and is output to the second selection device 161 of the data interconnection network 16.
[0054]
[Equation 11]
Sel = {Adrn} / 8
[0055]
At this time, the bank selection signal Sel becomes 0 because the address Adrn is 0. In the second selection device 161 of the data interconnection network 16, the data path to the memory bank 11-0 is selected according to the bank selection signal Sel.
At this time, the third selection device 162 is instructed to select the data path to the memory bank by the second control signal ctrl2. This allows the processor 14 to access data corresponding to Adrc0 = 0 in the memory bank 11-0.
[0056]
In addition to the above example, if the address Adr generated and transferred by the processor 14 is 8, for example, Adrn = 8 is calculated in the address calculation circuit 1514 of the address conversion device 151.
Then, the first selection device 152 is designated to select the conversion address Adrn by the first control signal ctrl1. As a result, this value is selected by the first selecting device 151, and the address Adrc1 = 8 of the memory bank 11-1 can be accessed.
The bank selection signal Sel = 1 calculated in the bank selection calculation circuit 1515 becomes 1, and in the second selection device 161 of the data interconnection network 16, the data path to the memory bank 11-1 is selected according to the bank selection signal Sel. You.
At this time, the third selection device 162 is instructed to select the data path to the memory bank by the second control signal ctrl2. This allows the processor 14 to access data corresponding to Adrc1 = 8 in the memory bank 11-1.
[0057]
Next, access when performing address translation will be described.
Here, the processor 14 merely generates the continuous addresses Adr0, 1, 2, 3,..., 47, and the addresses Arc0, 8, 1, 9,..., 16, 24, 17, 25,. , 39, 47 will be described.
[0058]
In this case, the first parameter X is set to the value x = 2, the second parameter Y is set to the value y = 8, and the third parameter Z is set to the value z = 8 by the external control system or the processor 14, and the address conversion is performed. It is supplied to the device 151.
As a result, 2 is set in the first register 1511, 8 is set in the second register 1512, and 8 is set in the third register 1513.
The first parameter X (value x = 1) set in the first register 1511 and the second parameter Y (value y = 8) set in the second register 1512 are supplied to the address calculation circuit 1514. . Further, the third parameter Z (value z = 8) set in the third register 1513 is supplied to the bank selection calculation circuit 1515.
[0059]
The address calculation circuit 1514 calculates the converted address according to the following equation.
[0060]
(Equation 12)
Adrn = {8 * (Adr% 2) + (Adr% 16) / 2+ 16 * (Adr / 16)
[0061]
As a result, in the address calculation circuit 1514, for example, conversions such as Adrn = 0 when Adr = 0, Adrn = 8 when Adr = 1, Adrn = 16 when Adr = 16, and Adrn = 24 when Adr = 17 are performed. Is
That is, the processor 14 merely generates the continuous addresses 0, 1, 2, 3,..., 47 as Adr, and sets the addresses for accessing the memory to 0, 8, 1, 9,. , 31, 32, ..., 39, 47.
Then, the first selection device 152 is designated to select the conversion address Adrn by the first control signal ctrl1. As a result, this value is selected by the first selecting device 151, the address Adrc0 of the memory bank 11-0, the address Adrc1 of the memory bank 11-1, the address Adrc0 of the memory bank 11-0, the memory The address Adrc1 of the bank 11-1 = 9, the address Adrc4 = 39 of the memory bank 11-4, and the address Adrc5 = 47 of the memory bank 11-5 can be similarly accessed.
[0062]
At the same time, the address conversion device 151 calculates the bank selection signal Sel in the bank selection calculation circuit 1515 according to the following equation, and outputs it to the second selection device 161 of the data interconnection network 16.
[0063]
(Equation 13)
Sel = {Adrn} / 8
[0064]
At this time, for example, when the generation address Adr is 1, the translation address Adrn becomes 8, and the bank selection signal Sel becomes 1.
Therefore, in the second selection device 161 of the data interconnection network 16, the data path to the memory bank 11-1 is selected according to the bank selection signal Sel.
At this time, the third selection device 162 is instructed to select the data path to the memory bank by the second control signal ctrl2. This allows the processor 14 to access data corresponding to Adrc1 = 8 in the memory bank 11-1.
[0065]
When the address generation devices 12-0 to 12-5 generate addresses, Adr0 to Adr5 are generated by the address generation devices 12-0 to 12-5.
Then, the first selection device 152 is designated to select the addresses Adr0 to Adr5 by the first control signal ctrl1. As a result, this value is selected by the first selection device 151, and the desired addresses Adrc0 = 0 to Adrc5 = 47 of the desired memory banks 11-0 to 11-5 can be accessed.
[0066]
As described above, according to the first embodiment, the address interconnection network that selectively connects the processor 14 and the address generation devices 12-0 to 12-5 to the memory banks 11-0 to 11-5. 15 shows the address Adr generated by the processor 14 as the address Adr, the first parameter X corresponding to the number of memory banks or the number of memory banks in the memory set, and the number of addresses of the memory bank. Is converted to an address Adrn having a predetermined regularity on the basis of a second parameter Y corresponding to the second parameter Y, and a bank selection signal Sel is generated based on a third parameter Z based on the converted address and the number of addresses of the memory bank. An address translator 151 for outputting the data to the data interconnection network 16 is provided. Since so as to selectively set the data path between the processor 14 and the memory bank 11-0~11-5 based on sel, it is possible to obtain the following effects.
[0067]
That is, according to the first embodiment, the memory access performance in the arithmetic system can be improved.
For example, when the addresses when the memory banks 11-0 to 11-5 are accessed from the processor 14 are 0, 8, 16, 24, 1, 9, 17, 25,..., 7, 15, 23, 31 By using the address translator 151, a desired access address can be generated, and in addition to address translation, data corresponding to the address can be further selected.
Further, addresses for accessing the memory banks 11-0 to 11-5 from the processor 14 are, for example, 0, 8, 1, 9, 2, 10,..., 7, 15, 16, 24, 17, 25,. , 23, and 31, the address translation device 151 can perform the desired address translation, so that the processor 14 does not need to perform the address translation. Therefore, it is possible to reduce an unnecessary cycle in which the address calculation is performed separately from the operation using the processor.
Further, since only one stage of the address translation device is required, the hardware scale can be reduced, and the cost can be reduced.
[0068]
Second embodiment
FIG. 6 is a configuration diagram showing a second embodiment of the arithmetic system according to the present invention.
[0069]
The difference between the second embodiment and the first embodiment is that the number of elements of the memory bank 11, the number of elements of the address generation device 12, and the number of elements of the operation device 13 are not six but generally 1 × m. It has a simplified configuration.
[0070]
In the second embodiment, the memory banks 11-0 to 11-1 × m−1 have n addresses, and the memory set MS is composed of m banks, and is composed of l memory sets in total. You. The address space is 0 to lxmxn-1.
[0071]
As shown in FIG. 7, the address interconnection network 15A basically has an address translation device 151 and a first selection device 152, as in FIG.
That is, the address interconnection network 15A uses the address Adr from the processor 14 and the addresses Adr0 to Adr (l × m−1) from the address generators 12-0 to 12-1 × m−1 as input addresses, and Adrc0-Adrc (l × m−1) selected by the selection device 151 of the above-mentioned is used as an output address, and the bank selection signal Sel generated by the address conversion device 151 is output to the data interconnection network 16.
The address interconnection network 15A translates the generated address Adr of the processor 14 by the address translation device 151 and outputs the result to the first selection device 152.
Then, in accordance with the first control signal ctrl1, the conversion address Adrn or the addresses Adr0 to Adr (m * n-1)} from the address generators 12-0 to 12-1 × m−1 are selected, and each memory bank 11- is selected. Output addresses Adrc0 to Adrc (l × m-1) to 0 to 11-1 × m−1 are obtained.
The address translator 151 has a configuration and a function similar to those of FIG.
[0072]
As shown in FIG. 8, the data interconnection network 16A basically includes a second selection device 161 and a third selection device 162, as in FIG.
That is, the first selection device 161 of the address interconnection network 15A includes the input / output data Dat of the processor 14 and the second selection device 162 (input / output data of the plurality of memory banks 11-0 to 11-1 × m−1). The data path to / from the data input / output data Dat0 to Datcl × m−1 and the input / output data Dat0 to Datl × m−1 of the operation devices 13-0 to 13-1 × m−1) is based on the bank selection signal Sel from the address conversion device 151. Connect selectively.
The second selecting device 162 outputs the input / output data Dat0 to Datl × m-1 of the arithmetic devices 13-0 to 13-1 × m−1 and the memory banks 11-0 to 11− in response to the second control signal ctrl. A data path for 1 × m−1 input / output data Datc0 to Datcl × m−1 and / or a data path to the second selection device 161 (input / output data Dat of the processor 14) is selectively connected.
[0073]
Next, the operation of the above-described configuration will be described focusing on the operation of the above-described configuration of the address translation device, taking the case where the processor 14 generates the address Adr as an example.
[0074]
First, address generation in the case where address conversion is not performed will be described.
In this case, the first parameter X is set to the value x = 1, the second parameter Y is set to the value y = l * m * n, and the third parameter Z is set to the value z = n by the external control system or the processor 14. Then, it is supplied to the address translator 151.
As a result, 1 is set in the first register 1511, (l * m * n) is set in the second register 1512, and n is set in the third register 1513.
The first parameter X (value x = 1) set in the first register 1511 and the second parameter Y (value y = l * m * n) set in the second register 1512 are calculated by the address calculation circuit 1514. Supplied to Further, the third parameter Z (value z = n) set in the third register 1513 is supplied to the bank selection calculation circuit 1515.
[0075]
In the address calculation circuit 1514, the address is calculated according to the following equation, which indicates that no address conversion is performed.
[0076]
[Equation 14]
Adrn = {l * m * n * (Adr% 1) + l * m * n * (Adr / (l * m * n)) + (Adr% (l * m * n)) / 1 = Adr
[0077]
In order to access the memory from the processor 14, an address Adr is generated, output to the address interconnection network 15A, and input to the address conversion circuit 151.
At this time, for example, when the generation Adr is 0, the calculation using the above equation results in Adrn = 0.
Then, the first selection device 152 is designated to select the conversion address Adrn by the first control signal ctrl1. As a result, this value is selected by the first selection device 151, and the address Adrc0 = 0 of the memory bank 11-0 can be accessed.
[0078]
At the same time, in the address translation device 151, the bank selection signal Sel is calculated in the bank selection calculation circuit 1515 according to the following equation, and is output to the second selection device 161 of the data interconnection network 16.
[0079]
[Equation 15]
Sel = {Adrn} / n
[0080]
At this time, the bank selection signal Sel becomes 0 because the address Adrn is 0. In the second selection device 161 of the data interconnection network 16, the data path to the memory bank 11-0 is selected according to the bank selection signal Sel.
At this time, the third selection device 162 is instructed to select the data path to the memory bank by the second control signal ctrl2. This allows the processor 14 to access data corresponding to Adrc0 = 0 in the memory bank 11-0.
[0081]
Next, the case of performing address conversion will be described.
Here, the processor 14
.., (N−1) * n, (m−1) * n + 1, (m−1) * n + n−1,..., (1-1) * M * n, 1 + (l-1) * m * n, ... n-1 + (l-1) * m * n, ... (m-1) * n + (l-1) * m * n, (m -1) * n + 1 + (l-1) * m * n,... (M-1) * n + n-1 + (l-1) * m * n}]
Simply generate the address to access the memory.
[0, ... (m-1) * n, {1,} ... (m-1) * n + 1, ... n-1, ... (m-1) * n + n-1}, ..., (l-1) * m * n , ... (m-1) * n + (l-1) * m * n, {1+ (l-1) * m * n,... (M-1) * n + 1 + (l-1) * m * n, ... n -1+ (l-1) * m * n, ... (m-1) * n + n-1 + (l-1) * m * n}]
A description will now be given of the address conversion that can be performed.
[0082]
In this case, the first parameter X is set to the value x = m, the second parameter Y is set to the value y = n, and the third parameter Z is set to the value z = n by the external control system or the processor 14, and the address conversion is performed. It is supplied to the device 151.
As a result, m is set in the first register 1511, n is set in the second register 1512, and n is set in the third register 1513.
The first parameter X (value x = m) set in the first register 1511 and the second parameter Y (value y = n) set in the second register 1512 are supplied to the address calculation circuit 1514. . Further, the third parameter Z (value z = n) set in the third register 1513 is supplied to the bank selection calculation circuit 1515.
[0083]
The address calculation circuit 1514 calculates an address according to the following equation.
[0084]
(Equation 16)
Adrn = {n * (Adr% m) + (Adr% (m * n)) / m + (m * n) * (Adr / (m * n))
[0085]
As a result, for example, when Adr = 0, Adrn = 0, when Adr = 1, Adrn = nn, when Adr = m * n, Adrn = m * n, when Adr = m * n + 1, Adrn = n + m * n, Adr = When (l-1) * m * n, Adrn = (l-1) * m * n}, when Adr = (l-1) * m * n + 1, Adrn = n + (l-1) * m * n}, etc. Conversion is performed.
To summarize, continuous addresses
0, 1,..., N−1, n,, (m−1) * n, (m−1) * n + 1, (m−1) * n + n−1,…, (l−1) * m * n, 1 + (l-1) * m * n, ... n-1 + (l-1) * m * n, ... (m-1) * n + (l-1) * m * n, (m-1) * N + 1 + (l-1) * m * n, ... (m-1) * n + n-1 + (l-1) * m * n
Simply generates the address Adrn for accessing the memory.
..., (m-1) * n, {1, {... (m-1) * n + 1, ... n-1, ... (m-1) * n + n-1}, ..., (l-1) * m * n, ... (m-1) * n + (l-1) * m * n, 1+ (l-1) * m * n, (m-1) * n + 1 + (l-1) * m * n, ... n- 1+ (l-1) * m * n,... (M-1) * n + n-1 + (l-1) * m * n
Can be converted to
[0086]
Then, the first selection device 152 is designated to select the conversion address Adrn by the first control signal ctrl1. As a result, this value is selected by the first selection device 151, and the corresponding memory addresses Adrc0 {-Adrc (l * m-1)} can be generated.
[0087]
At the same time, in the address translation device 151, the bank selection signal Sel is calculated in the bank selection calculation circuit 1515 according to the following equation, and is output to the second selection device 161 of the data interconnection network 16.
[0088]
[Equation 17]
Sel = {Adrn} / n
[0089]
At this time, when Adr = 1, Adrn = n, and the bank selection signal Sel becomes 1. In the second selection device 161 of the data interconnection network 16, the data path to the memory bank 11-1 is selected according to the bank selection signal Sel.
At this time, the third selection device 162 is instructed to select the data path to the memory bank by the second control signal ctrl2. This allows the processor 14 to access data corresponding to Adrc = n in the memory bank 11-1.
[0090]
When the address generation devices 12-0 to 12-1 × m−1 perform address generation, Adr0 to Adr5 are generated by the address generation devices 12-0 to 12−1 × m−1.
Then, the first selection device 152 is designated to select the address Adr0 to Adrl × m-15 by the first control signal ctrl1. As a result, this value is selected by the first selection device 151.
For example, when Adr0 = 0, Adrc0 = 0, and when Adr1 = 8, Adrc8 = 8.
[0091]
According to the second embodiment, the same effects as those of the above-described first embodiment can be obtained.
[0092]
In the first and second embodiments, the case where the number of processors is 1 and the address generated by the processor 14 is translated is described. It is apparent that the present invention can be applied to a case where the number is plural, only by changing the configuration of the interconnection network.
[0093]
【The invention's effect】
As described above, according to the present invention, the number of unnecessary processing cycles can be reduced, and the memory access performance can be improved.
In addition, there is an advantage that the hardware scale can be reduced and the cost can be reduced.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing a first embodiment of an arithmetic system according to the present invention.
FIG. 2 is a diagram showing a specific configuration example of a main part of the address interconnection network according to the first embodiment.
FIG. 3 is a block diagram illustrating a specific configuration example of an address translation device according to the embodiment;
FIG. 4 is a diagram showing an example of address conversion of an address calculation circuit based on an arithmetic expression.
FIG. 5 is a block diagram showing a specific configuration example of a data interconnection network according to the first embodiment.
FIG. 6 is a configuration diagram showing a second embodiment of the arithmetic system according to the present invention.
FIG. 7 is a diagram illustrating a specific configuration example of a main part of an address interconnection network according to a second embodiment;
FIG. 8 is a block diagram showing a specific configuration example of a data interconnection network according to the second embodiment.
[Explanation of symbols]
10, 10A arithmetic system, 11-0 to 11-5 memory bank (MBNK), 12-0 to 12-5 address generating device (ADRG), 13-0 to 13-5 arithmetic device (OP), 14: Processor (PRC), 15, 15A: Address interconnection network (ACCT), 151: Address translation device (ACNV), 152: First selection device (SEL), 16, 16A: Data interconnection network (DNCT) , 161... Second selection device (SEL), 162... Third selection device (SEL).

Claims (18)

アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、
連続するアドレスを生成する機能を有するプロセッサと、
少なくとも上記プロセッサと上記複数のメモリバンクとを相互に接続するアドレス相互接続網と
を有し、
上記アドレス相互接続網は、
上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換するアドレス変換装置を有し、
上記アドレス変換装置による変換アドレスを、当該変換アドレスを含む上記メモリバンクに供給する
演算システム。
A plurality of memory banks to which addresses in a predetermined range of the address space are assigned and which store data relating to the operation;
A processor having a function of generating consecutive addresses;
An address interconnect network interconnecting at least the processor and the plurality of memory banks,
The address interconnect network comprises:
An address translation device that translates the address generated by the processor into an address having a predetermined regularity based on the address and at least a parameter corresponding to the number of memory banks,
An arithmetic system for supplying a translation address by the address translation device to the memory bank including the translation address.
上記複数のメモリバンクは、1または複数のメモリバンクを含む少なくとも複数のメモリセットに分割され、
上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリセット内のメモリバンクの数に応じたパラメータに基づいてアドレス変換を行う
請求項1記載の演算システム。
The plurality of memory banks are divided into at least a plurality of memory sets including one or more memory banks,
The arithmetic system according to claim 1, wherein the address translation device performs the address translation based on the address generated by the processor and a parameter corresponding to the number of memory banks in the memory set.
上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行う
請求項1記載の演算システム。
The address translation device performs an address translation based on an address generated by the processor, a first parameter corresponding to the number of the memory banks, and a second parameter based on the number of addresses of the memory bank. Item 1. The arithmetic system according to Item 1.
少なくとも上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続するデータ相互接続網を有し、
アドレス変換装置は、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力する
請求項3記載の演算システム。
A data interconnection network for selectively connecting at least a data path between the processor and the plurality of memory banks based on a bank selection signal;
4. The arithmetic system according to claim 3, wherein the address translator generates the bank select signal based on the translated address and a third parameter based on the number of addresses of the memory bank, and outputs the bank select signal to the data interconnection network.
上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、
少なくとも上記第2のパラメータがセットされる第2のレジスタと、
上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と
を有する請求項3記載の演算システム。
The address translator includes: a first register in which at least the first parameter is set;
A second register in which at least the second parameter is set;
An address calculating circuit for calculating a translation address based on a first parameter set in the first register, a second parameter set in the second register, and an address generated by the processor; The arithmetic system according to claim 3.
上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、
少なくとも上記第2のパラメータがセットされる第2のレジスタと、
上記第3のパラメータがセットされる第3のレジスタと、
上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、
上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路と
を有する請求項4記載の演算システム。
The address translator includes: a first register in which at least the first parameter is set;
A second register in which at least the second parameter is set;
A third register in which the third parameter is set;
An address calculation circuit for calculating a translation address based on a first parameter set in the first register, a second parameter set in the second register, and an address generated by the processor;
And a bank selection calculation circuit for generating the bank selection signal based on a third parameter based on a translation address by the address calculation circuit and the number of addresses of the memory bank, and outputting the signal to the data interconnection network. 4. The arithmetic system according to 4.
上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、変換アドレスAdrnを下記数1式に従って計算する
Figure 2004102633
請求項5記載の演算システム。
The address calculation circuit sets a value of a first parameter set in the first register to x, a value of a second parameter set to the second register to y,% is a modulo operation, and When expressing integer division, the conversion address Adrn is calculated according to the following equation 1.
Figure 2004102633
The arithmetic system according to claim 5.
上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数2式に従って計算し、
上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数3式に従って計算する
Figure 2004102633
Figure 2004102633
請求項6記載の演算システム。
The address calculation circuit sets a value of a first parameter set in the first register to x, a value of a second parameter set to the second register to y,% is a modulo operation, and When representing the division of an integer, the conversion address Adrn is calculated according to the following equation (2).
The bank selection calculation circuit calculates the bank selection signal Sel according to the following equation 3 when z represents the value of the third parameter 3 set in the third register and / represents integer division.
Figure 2004102633
Figure 2004102633
The arithmetic system according to claim 6.
上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する
請求項7記載の演算システム。
8. The arithmetic system according to claim 7, wherein said address calculation circuit outputs an input address as it is when a parameter relating to the number of addresses set for said address space is set in said first register and said second register.
上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する
請求項8記載の演算システム。
9. The arithmetic system according to claim 8, wherein the address calculation circuit outputs the input address as it is when a parameter relating to the number of addresses set for the address space is set in the first register and the second register.
上記アドレス相互接続網は、制御信号に応じて上記アドレス変換装置による変換アドレスまたは外部から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する選択装置を有する
請求項1記載の演算システム。
The address interconnection network includes a selection device that selects one of a translation address by the address translation device or an externally supplied address in response to a control signal and supplies the selected address to the memory bank including the selected address. The arithmetic system according to claim 1, comprising:
上記データ相互接続網は、制御信号に応じて外部装置と上記複数のメモリバンクとのデータ経路を選択的に接続する選択装置を有する
請求項4記載の演算システム。
The arithmetic system according to claim 4, wherein the data interconnection network includes a selection device for selectively connecting a data path between an external device and the plurality of memory banks in response to a control signal.
アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、
連続するアドレスを生成する機能を有するプロセッサと、
少なくとも一つのアドレス生成装置と、
少なくとも一つの演算装置と、
上記プロセッサと上記複数のメモリバンクと上記アドレス生成装置を相互に接続するアドレス相互接続網と、
上記プロセッサと上記複数のメモリバンクと上記演算装置を相互に接続するデータ相互接続網と
を有し、
上記アドレス相互接続網は、
少なくとも上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換し、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータに基づいてバンク選択信号を生成し、上記データ相互接続網に出力するアドレス変換装置と、
第1の制御信号に応じて上記アドレス変換装置による変換アドレスまたは上記アドレス生成装置から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する第1の選択装置と
を有し、
上記データ相互接続網は、
上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続する第2の選択装置と、
第2の制御信号に応じて上記演算装置と上記複数のメモリバンクとのデータ経路を選択的に接続する第3の選択装置と
を有する
演算システム。
A plurality of memory banks to which addresses in a predetermined range of the address space are assigned and which store data relating to the operation;
A processor having a function of generating consecutive addresses;
At least one address generation device;
At least one arithmetic unit;
An address interconnection network interconnecting the processor, the plurality of memory banks, and the address generator;
A data interconnection network interconnecting the processor, the plurality of memory banks, and the arithmetic unit;
The address interconnect network comprises:
At least the address generated by the processor is converted into an address having a predetermined regularity based on the address and at least a parameter corresponding to the number of memory banks, and the address is converted based on the converted address and the number of addresses of the memory bank. An address translation device that generates a bank selection signal based on the parameters and outputs the generated signal to the data interconnection network;
A first selection for selecting either a translated address by the address translator or an address supplied from the address generator in response to a first control signal and supplying the address to the memory bank including the selected address And a device,
The data interconnection network comprises:
A second selection device for selectively connecting a data path between the processor and the plurality of memory banks based on a bank selection signal;
An arithmetic system comprising: a third selection device that selectively connects a data path between the arithmetic device and the plurality of memory banks in response to a second control signal.
上記複数のメモリバンクは、1または複数のメモリバンクを含む少なくとも複数のメモリセットに分割され、
上記アドレス変換装置は、少なくとも上記プロセッサにより生成されたアドレスと、上記メモリセット内のメモリバンクの数に応じたパラメータに基づいてアドレス変換を行う
請求項13記載の演算システム。
The plurality of memory banks are divided into at least a plurality of memory sets including one or more memory banks,
14. The arithmetic system according to claim 13, wherein the address translator performs the address translation based on at least the address generated by the processor and a parameter corresponding to the number of memory banks in the memory set.
上記アドレス変換装置は、少なくとも上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行う
請求項13記載の演算システム。
The address translation device performs address translation based on at least an address generated by the processor, a first parameter corresponding to the number of memory banks, and a second parameter based on the number of addresses of the memory bank. The arithmetic system according to claim 13.
上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、
少なくとも上記第2のパラメータがセットされる第2のレジスタと、
第3のパラメータがセットされる第3のレジスタと、
上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、
上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路と
を有する請求項15記載の演算システム。
The address translator includes: a first register in which at least the first parameter is set;
A second register in which at least the second parameter is set;
A third register in which a third parameter is set;
An address calculation circuit for calculating a translation address based on a first parameter set in the first register, a second parameter set in the second register, and an address generated by the processor;
And a bank selection calculation circuit for generating the bank selection signal based on a third parameter based on a translation address by the address calculation circuit and the number of addresses of the memory bank, and outputting the signal to the data interconnection network. The arithmetic system according to item 15,
上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数4式に従って計算し、
上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数5式に従って計算する
Figure 2004102633
Figure 2004102633
請求項16記載の演算システム。
The address calculation circuit sets a value of a first parameter set in the first register to x, a value of a second parameter set to the second register to y,% is a modulo operation, and When representing the division of an integer, the conversion address Adrn is calculated according to the following equation (4).
The bank selection calculation circuit calculates the bank selection signal Sel according to the following equation (5) when z represents the value of the third parameter 3 set in the third register and / represents integer division.
Figure 2004102633
Figure 2004102633
The arithmetic system according to claim 16.
上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する
請求項17記載の演算システム。
18. The arithmetic system according to claim 17, wherein the address calculation circuit outputs an input address as it is when a parameter relating to the number of addresses set for the address space is set in the first register and the second register.
JP2002263402A 2002-09-09 2002-09-09 Arithmetic system Expired - Fee Related JP4461669B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002263402A JP4461669B2 (en) 2002-09-09 2002-09-09 Arithmetic system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002263402A JP4461669B2 (en) 2002-09-09 2002-09-09 Arithmetic system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009298307A Division JP5051215B2 (en) 2009-12-28 2009-12-28 Arithmetic system

Publications (2)

Publication Number Publication Date
JP2004102633A true JP2004102633A (en) 2004-04-02
JP4461669B2 JP4461669B2 (en) 2010-05-12

Family

ID=32263131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002263402A Expired - Fee Related JP4461669B2 (en) 2002-09-09 2002-09-09 Arithmetic system

Country Status (1)

Country Link
JP (1) JP4461669B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009072605A1 (en) * 2007-12-06 2009-06-11 Nec Corporation Address generation device for array processor and array processor
JP2009199135A (en) * 2008-02-19 2009-09-03 Nec Computertechno Ltd Main storage device and address control method of main storage device
CN113704171A (en) * 2021-08-20 2021-11-26 北京计算机技术及应用研究所 Software-defined data storage system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009072605A1 (en) * 2007-12-06 2009-06-11 Nec Corporation Address generation device for array processor and array processor
US8452943B2 (en) 2007-12-06 2013-05-28 Nec Corporation Apparatus and method for address generation for array processor and array processor
JP5428862B2 (en) * 2007-12-06 2014-02-26 日本電気株式会社 Address generating apparatus and method for array processor, and array processor
JP2009199135A (en) * 2008-02-19 2009-09-03 Nec Computertechno Ltd Main storage device and address control method of main storage device
CN113704171A (en) * 2021-08-20 2021-11-26 北京计算机技术及应用研究所 Software-defined data storage system
CN113704171B (en) * 2021-08-20 2023-05-16 北京计算机技术及应用研究所 Software-defined data storage system

Also Published As

Publication number Publication date
JP4461669B2 (en) 2010-05-12

Similar Documents

Publication Publication Date Title
EP3855367A1 (en) Operation accelerator, processing method, and related device
EP0551931B1 (en) Digital signal processor comprising address generator accessing data stored in bidirectional space of data memory
Shieh et al. A new modular exponentiation architecture for efficient design of RSA cryptosystem
US6119198A (en) Recursive address centrifuge for distributed memory massively parallel processing systems
JP2020126595A (en) Computing device and computing method
US4296468A (en) Address conversion unit for data processing system
JP2002171401A (en) Simd arithmetic unit provided with thinning arithmetic instruction
US7478363B2 (en) Method for translating a given source program into an object program containing computing expressions
JP2004102633A (en) Arithmetic system
JP5051215B2 (en) Arithmetic system
JP3413344B2 (en) Image processing apparatus and operation method thereof
CN111260070B (en) Operation method, device and related product
US5761737A (en) Data driven type information processing apparatus having improved generation number translation
US4241414A (en) Binary adder employing a plurality of levels of individually programmed PROMS
JP3134132B2 (en) Automatic logic circuit generator
JP2781550B2 (en) Parallel processing computer
JP3497810B2 (en) Multiple variable address mapping circuit
Caffarena et al. High-level synthesis of multiple word-length DSP algorithms using heterogeneous-resource FPGAs
JPS61231639A (en) Address generator
CN109582277A (en) Data processing method, device and Related product
CN117579286B (en) Digital signature generation method, system, storage medium and electronic equipment
CN113625994B (en) Data processing method and processing core
KR100878765B1 (en) Circuit for FFT Operation
JP3139384B2 (en) Image processing device
KR100253182B1 (en) Address generation circuit and method for digital signal processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080903

A131 Notification of reasons for refusal

Effective date: 20080909

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20081110

Free format text: JAPANESE INTERMEDIATE CODE: A523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Effective date: 20091228

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20100126

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees