Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4461669B2 - Arithmetic system - Google Patents
[go: Go Back, main page]

JP4461669B2 - Arithmetic system - Google Patents

Arithmetic system Download PDF

Info

Publication number
JP4461669B2
JP4461669B2 JP2002263402A JP2002263402A JP4461669B2 JP 4461669 B2 JP4461669 B2 JP 4461669B2 JP 2002263402 A JP2002263402 A JP 2002263402A JP 2002263402 A JP2002263402 A JP 2002263402A JP 4461669 B2 JP4461669 B2 JP 4461669B2
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.)
Expired - Fee Related
Application number
JP2002263402A
Other languages
Japanese (ja)
Other versions
JP2004102633A (en
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.)
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

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の観点に係る演算システムは、アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、連続するアドレスを生成する機能を有するプロセッサと、少なくとも上記プロセッサと上記複数のメモリバンクとを相互に接続するアドレス相互接続網とを有し、上記アドレス相互接続網は、上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換するアドレス変換装置を有し、上記アドレス変換装置による変換アドレスを、当該変換アドレスを含む上記メモリバンクに供給、上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行うことが可能で、かつ、アドレス変換方式が上記第1のパラメータおよび上記第2のパラメータの設定に応じて変更可能であり、少なくとも上記第1のパラメータがセットされる第1のレジスタと、少なくとも上記第2のパラメータがセットされる第2のレジスタと、上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、を含み、上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、変換アドレスAdrnを下記数6式に従って計算する。
【数6】
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
【0008】
本発明では、上記複数のメモリバンクは、1または複数のメモリバンクを含む少なくとも複数のメモリセットに分割され、上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリセット内のメモリバンクの数に応じたパラメータに基づいてアドレス変換を行う。
【0010】
好適には、少なくとも上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続するデータ相互接続網を有し、アドレス変換装置は、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力する。
【0012】
好適には、上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、少なくとも上記第2のパラメータがセットされる第2のレジスタと、上記第3のパラメータがセットされる第3のレジスタと、上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路とを有する。
【0013】
本発明では、上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数7式に従って計算し、上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数8式に従って計算する。
【0014】
数7
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
【0015】
数8
Sel = Adrn / z
【0016】
また、上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する。
【0017】
好適には、上記アドレス相互接続網は、制御信号に応じて上記アドレス変換装置による変換アドレスまたは外部から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する選択装置を有する。
【0018】
また、上記データ相互接続網は、制御信号に応じて外部装置と上記複数のメモリバンクとのデータ経路を選択的に接続する選択装置を有する。
【0019】
本発明の第2の観点は、アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、連続するアドレスを生成する機能を有するプロセッサと、少なくとも一つのアドレス生成装置と、少なくとも一つの演算装置と、上記プロセッサと上記複数のメモリバンクと上記アドレス生成装置を相互に接続するアドレス相互接続網と、上記プロセッサと上記複数のメモリバンクと上記演算装置を相互に接続するデータ相互接続網とを有し、上記アドレス相互接続網は、少なくとも上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換し、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータに基づいてバンク選択信号を生成し、上記データ相互接続網に出力するアドレス変換装置と、第1の制御信号に応じて上記アドレス変換装置による変換アドレスまたは上記アドレス生成装置から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する第1の選択装置とを有し、上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行うことが可能で、かつ、アドレス変換方式が上記第1のパラメータおよび上記第2のパラメータの設定に応じて変更可能であり、上記データ相互接続網は、上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続する第2の選択装置と、第2の制御信号に応じて上記演算装置と上記複数のメモリバンクとのデータ経路を選択的に接続する第3の選択装置とを有し、上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、少なくとも上記第2のパラメータがセットされる第2のレジスタと、第3のパラメータがセットされる第3のレジスタと、上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路と、を含み、上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数9式に従って計算し、上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータの値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数10式に従って計算する。
【数9】
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
【数10】
Sel = Adrn / z
【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]
BACKGROUND OF THE INVENTION
The present invention relates to an arithmetic system including a plurality of memory banks that store data related to arithmetic operations, a processor, and an address interconnection network that interconnects the processor and each memory bank.
[0002]
[Prior art]
In an arithmetic system including an address interconnection network that couples a processor and an address generation device to a memory and a data interconnection network that couples a processor and an arithmetic unit to a memory, for example, the memory has a bank BNK0, an address adr8 assigned to addresses adr0-7. Bank BNK1 assigned to .about.15, bank BNK2 assigned to addresses adr16 to 23, and bank BNK3 assigned to addresses adr24 to 31.
In this case, when the address for accessing the memory from the processor is adr0, 8, 16, 24, 1, 9, 17, 25,..., 7, 15, 23, 31, this is described in Patent Document 1, for example. By using such a memory interleaving method, a desired access address can be generated.
[0003]
[Patent Document 1]
Japanese Patent Laid-Open No. 2000-163316
[Problems to be solved by the invention]
However, in this method, only address conversion is performed, and data corresponding to the address must be selected by another means.
Further, when the address when accessing the memory from the processor is, for example, adr0, 8, 16, 24, 1, 9, 17, 25,..., 7, 15, 23, 31, Since desired address translation is not performed, it is necessary to perform address calculation by the 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 the simple address automatic generation function of the processor. .
Therefore, it is necessary to perform address calculation separately from the calculation using the processor, and there is a disadvantage that the number of processing cycles is extra for the generation of addresses than the number of cycles required for the calculation.
[0005]
In addition, the method disclosed in Patent Document 1 requires two stages of address translation devices, which increases the hardware scale and is not preferable from the viewpoint of cost reduction.
[0006]
The present invention has been made in view of such circumstances, and its object is to reduce the number of extra processing cycles, improve memory access performance, reduce the hardware scale, and thus cost. An object of the present invention is to provide an arithmetic system capable of reducing the amount.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, an arithmetic system according to the first aspect of the present invention has a function of generating a plurality of memory banks to which a predetermined range of addresses in an address space is assigned, storing data related to the arithmetic operation, and consecutive addresses. And an address interconnection network that interconnects at least the processor and the plurality of memory banks, and the address interconnection network transmits the address generated by the processor to the address and at least the based on the parameter according to the number of memory banks includes an address converter for converting the address with a predetermined regularity, the translated address by the address translator, and supplied to the memory bank including the translated address, the The address translation device includes an address generated by the processor and an upper Address conversion can be performed based on a first parameter according to the number of memory banks and a second parameter based on the number of addresses in the memory bank, and the address conversion method is the first parameter and It can be changed according to the setting of the second parameter, and at least the first register in which the first parameter is set, the second register in which at least the second parameter is set, and the first An address calculation circuit for calculating a translation address based on a first parameter set in the second register, a second parameter set in the second register, and an address generated by the processor, and The address calculation circuit sets the value of the first parameter set in the first register to x and the second register. The value of the second parameter set is y, the percent modulo operation / is to represent the integer division, calculates the conversion address Adrn according to the following equation (6).
[Formula 6]
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[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 conversion device includes an address generated by the processor and a memory bank in the memory set. The address conversion is performed based on a parameter corresponding to the number of.
[0010]
Preferably, a data interconnection network for selectively connecting at least data paths between the processor and the plurality of memory banks based on a bank selection signal is provided, and the address translation device includes the translation address and the memory bank. The bank selection signal is generated based on a third parameter based on the number of addresses and output to the data interconnection network.
[0012]
Preferably, in the address translation device, 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 the third parameter are set. The conversion address is calculated based on the third register, the first parameter set in the first register, the second parameter set in the second register, and the address generated by the processor. Bank selection calculation for generating the bank selection signal on the basis of a third parameter based on the number of addresses calculated by the address calculation circuit and the conversion address by the address calculation circuit and the number of addresses in the memory bank, and outputting to the data interconnection network Circuit.
[0013]
In the present invention, the address calculation circuit sets x as the value of the first parameter set in the first register, y as the value of the second parameter set in the second register, and% is modulo. When the operation / represents integer division, the conversion address Adrn is calculated according to the following equation ( 7) , and the bank selection calculation circuit sets the value of the third parameter 3 set in the third register to z , And when / represents integer division, the bank selection signal Sel is calculated according to the following equation ( 8 ).
[0014]
[ Expression 7 ]
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[0015]
[ Equation 8 ]
Sel = Adrn / z
[0016]
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.
[0017]
Preferably, the address interconnection network selects either a translation address by the address translation device or an externally supplied address according to a control signal and supplies the selected address to the memory bank including the selected address. Having a selection device.
[0018]
The data interconnection network includes a selection device that selectively connects data paths between the external device and the plurality of memory banks according to a control signal.
[0019]
According to a second aspect of the present invention, there are provided a plurality of memory banks to which a predetermined range of addresses in an address space are assigned and storing data relating to operations, a processor having a function of generating consecutive addresses, and at least one address generation device At least one arithmetic unit, an address interconnection network for interconnecting the processor, the plurality of memory banks, and the address generation unit, and the processor, the plurality of memory banks, and the arithmetic unit are interconnected. A data interconnection network, wherein the address interconnection network converts the address generated by at least the processor into an address having a predetermined regularity based on the address and at least a parameter corresponding to the number of the memory banks. Convert, the number of the converted address and the address of the memory bank An address translation device that generates a bank selection signal based on the parameter based on the parameter and outputs the bank selection signal to the data interconnection network; A first selection device that selects any one of the addresses and supplies the selected memory bank to the memory bank including the selected address, wherein the address conversion device includes the address generated by the processor and the memory bank Address conversion can be performed based on a first parameter corresponding to the number of addresses and a second parameter based on the number of addresses in the memory bank, and the address conversion method is the first parameter and the second parameter. 2 can be changed according to the setting of two parameters, and the data interconnection network is connected to the processor. A second selection device that selectively connects data paths with a plurality of memory banks based on a bank selection signal, and a data path between the arithmetic device and the plurality of memory banks according to a second control signal. possess a third selection device for selectively connecting the said address translator includes a first register in which at least the first parameter is set, the second at least the second parameter is set A register, a third register in which a third parameter is set, a first parameter set in the first register, a second parameter set in the second register, and the processor An address calculation circuit for calculating a conversion address based on the generated address, a conversion address by the address calculation circuit, and an address of the memory bank A bank selection calculation circuit for generating the bank selection signal based on a third parameter based on the number of memory cells and outputting the bank selection signal to the data interconnection network. The address calculation circuit is connected to the first register. When the value of the first parameter to be set is x, the value of the second parameter set to the second register is y,% is a modulo operation, and / is an integer division, the conversion address Adrn When the bank selection calculation circuit sets z as the value of the third parameter set in the third register and / indicates integer division, the bank selection signal Sel Is calculated according to the following equation (10).
[Equation 9]
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[Expression 10]
Sel = Adrn / z
[0020]
According to the present invention, for example, continuous addresses are generated in a processor and input to an address translation device of an address interconnection network.
In the address conversion device, 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.
The converted address is supplied to the memory bank including the converted address via the connection network of the address interconnection network.
For example, in the address conversion device, a first parameter corresponding to the number of memory banks is set in the first register, and a second parameter based on the number of addresses in the memory bank is set in the second register.
In the address calculation circuit, an 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. As required.
In the address translation device, a third parameter based on the number of addresses in the memory bank is set in the third register. Then, in the bank selection circuit, a bank selection signal is generated based on the conversion address by the address calculation circuit and the third parameter set in the third register, and is output to the data interconnection network.
In the data interconnection network, data paths between a processor and a plurality of memory banks are selectively connected based on a bank selection signal.
[0021]
DETAILED DESCRIPTION OF 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 computing system 10 includes a plurality (6 in the first embodiment) of memory banks (MBNK) 11-0 to 11-5 and a plurality (6 in the present embodiment) of address generation devices. (ADRG) 12-0 to 12-5, a plurality (6 in this embodiment) of arithmetic units (OP) 13-0 to 13-5, a processor (PRC) 14, and an address conversion unit (ACNV) 151 A connection network (ACNCT) 15 and a data interconnection network (DCNCT) 16 are included.
[0023]
The memory banks 11-0 to 11-5 store data related to operations. For example, in the first embodiment, assuming that the address space has 48 addresses adr0 to adr47, each is divided into 6 equal parts. For example, two memory banks constitute one memory set, and three memory sets are constituted as a whole.
[0024]
The memory bank 11-0 is assigned eight addresses adr0 to adr7 as the memory address Adrc0.
The memory bank 11-1 is assigned eight addresses adr8 to adr15 as the memory address Adrc1.
The memory bank 11-2 is assigned eight addresses adr16 to adr23 as the memory address Adrc2.
The memory bank 11-3 is assigned eight addresses adr24 to adr31 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 generator 12-0 generates an address Adr0 corresponding to the memory address Adrc0 (adr0 to adr7) of the memory bank 11-0, for example, according to an instruction from a control system (not shown), and outputs it to the address interconnection network 15.
The address generation device 12-1 generates an address Adr1 corresponding to the memory address Adr1 (adr8 to adr15) of the memory bank 11-1 according to an instruction of a control system (not shown), for example, and outputs it to the address interconnection network 15.
The address generation device 12-2 generates an address Adr2 corresponding to the memory address Adr2 (adr16 to adr23) of the memory bank 11-2, for example, according to an instruction of a control system (not shown), and outputs it to the address interconnection network 15.
The address generation device 12-3 generates an address Adr3 corresponding to the memory address Adr3 (adr24 to adr31) of the memory bank 11-3, for example, 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 Adr4 (adr32 to adr39) of the memory bank 11-4, for example, according to an instruction from a control system (not shown), and outputs it to the address interconnection network 15.
The address generation device 12-5 generates an address Adr5 corresponding to the memory address Adr5 (adr40 to adr47) of the memory bank 11-5, for example, according to an instruction of a control system (not shown), and outputs it to the address interconnection network 15.
[0026]
The arithmetic devices 13-0 to 13-5 perform, for example, an operation according to an instruction of a control system (not shown) on the data transferred via the data interconnection network 16, and the operation result is input to the data interconnection network 16. Output.
[0027]
The processor 14 generates a continuous address, for example, an address Adr (0, 1, 2,..., 46, 47) corresponding to the address space, and outputs it to the address interconnection network 15.
The processor 14 inputs the data read from the desired memory banks 13-0 to 13-5 or the calculation results of the calculation devices 13-0 to 13-5 via the data interconnection network 16, and performs predetermined processing. In addition, predetermined data is transferred to the desired memory banks 13-0 to 13-5 or desired data is transferred to the arithmetic units 13-0 to 13-5 via the data interconnection network 16.
[0028]
The address interconnection network 15 includes an address conversion device 151 that converts an address adr by the processor 14 into an address having a predetermined regularity according to a predetermined arithmetic expression. The processor 14 and the address generation devices 12-0 to 12-5 are stored in The banks 11-0 to 11-5 are connected to each other.
[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]
As shown in FIG. 2, the address interconnection network 15 includes an address translation device (ACNV) 151 and a first selection device (SEL) 152.
[0031]
The address translation device 151 uses the address Adr generated by the processor 14 in accordance with the address Adr and the number of memory banks (6 in the first embodiment) or the number of memory banks in the memory set (this first number). In one embodiment, the address is converted to an address Adrn having a predetermined regularity based on the first parameter X according to 2) and the second parameter Y according to the number of addresses in the memory bank, and the converted address and A bank selection signal Sel is generated based on the third parameter Z based on the number of addresses in the memory bank and output to the data interconnection network 16.
[0032]
Further, when address translation is not performed, the address translation device 151 is set to a parameter relating to the number of addresses set for the address space as the first parameter X and the second parameter Y, specifically, 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 Adrn as it is.
[0033]
FIG. 3 is a block diagram showing a specific configuration example of the address translation apparatus according to the present embodiment.
[0034]
As shown in FIG. 3, the address translation device 151 includes a first register (REG1) 1511 in which the first parameter X is set, a second register (REG2) 1512 in which the 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, a conversion address by the address calculation circuit 1514, and a third parameter Z set in the third register 1513. Bank selection signal Sel generated and output to the data interconnection network 16 And a circuit (BNKC) 1515.
Note that the first register 1511, the second register 1512, and the third register 1513 are configured so that the first parameter X, the second parameter Y, and the third parameter Z can be transmitted from the outside or through 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 first register 1511 to x, the value of the second parameter Y set in the second register as y, and% is a modulo operation. , / Represents 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 the continuous address Adr generated by the processor 14 before conversion. FIG. 4B shows the address Adrn after conversion by the address calculation circuit 1514.
[0038]
As shown in FIG. 4A, the processor 14 sequentially 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 by the address calculation circuit 1514 with a predetermined regularity.
This regularity is determined by the memory set MS0 constituted by the memory banks 11-0 and 11-1 constituting the memory sets MS0, MS1 and MS2, the memory set MS1 constituted by the memory banks 11-2 and 11-3, In each memory set of the memory set MS2 constituted by the memory banks 11-4 and 11-5, it is defined so that the addresses are alternately arranged from the smaller address of the memory banks.
[0039]
Specifically, in the memory set MS0, as shown in FIGS. 4A and 4B, the generated address Adr0 becomes the address Adrn0 after conversion, the generated address Adr1 becomes the address Adrn8 after conversion, and the generated address Adr2 Becomes the address Adrn1 after conversion, the generation address Adr3 becomes the address Adrn9 after conversion, the generation address Adr4 becomes the address Adrn2 after conversion, the generation address Adr5 becomes the address Adrn10 after conversion, and the generation address Adr6 becomes the address Adrn3 after conversion The generated address Adr7 is converted to the address Adrn11, the generated address Adr8 is converted to the address Adrn4, the generated address Adr9 is converted to the address Adrn12, and the generated address Adr10 is changed. After that, the address Adrn5 is generated, the generated address Adr11 is converted to the address Adrn13, the generated address Adr12 is converted to the address Adrn6, the generated address Adr13 is converted to the address Adrn14, and the generated address Adr14 is converted to the address Adrn7. The generated address Adr15 becomes the address Adrn15 even after conversion.
[0040]
In the memory set MS1, as shown in FIGS. 4A and 4B, the generated address Adr16 becomes the address Adrn16 after conversion, the generated address Adr17 becomes the address Adrn24 after conversion, and the generated address Adr18 becomes the address after conversion. The generated address Adr19 is converted to the address Adrn25, the generated address Adr20 is converted to the address Adrn18, the generated address Adr21 is converted to the address Adrn26, the generated address Adr22 is converted to the address Adrn19, and the generated address Adr23 is generated. Is converted to address Adrn27, generated address Adr24 is converted to address Adrn20, and generated address Adr25 is converted to address Adrn28. The address Adr26 becomes the address Adrn21 after conversion, the generation address Adr27 becomes the address Adrn29 after conversion, the generation address Adr28 becomes the address Adrn22 after conversion, the generation address Adr29 becomes the address Adrn30 after conversion, and the generation address Adr30 becomes after the conversion The address Adrn23 is generated, and the generated address Adr31 becomes the address Adrn31 after conversion.
[0041]
In the memory set MS2, as shown in FIGS. 4A and 4B, the generated address Adr32 becomes the address Adrn32 after conversion, the generated address Adr33 becomes the address Adrn40 after conversion, and the generated address Adr34 becomes the address after conversion. The generated address Adr35 is converted to the address Adrn41, the generated address Adr36 is converted to the address Adrn34, the generated address Adr37 is converted to the address Adrn42, the generated address Adr38 is converted to the address Adrn35, and the generated address Adr39 is generated. Becomes the address Adrn43 after conversion, the generation address Adr40 becomes the address Adrn36 after conversion, and the generation address Adr41 becomes the address Adrn44 after conversion. The address Adr42 is converted to an address Adrn37, the generated address Adr43 is converted to an address Adrn45, the generated address Adr44 is converted to an address Adrn38, the generated address Adr45 is converted to an address Adrn46, and the generated address Adr46 is converted to a converted address Adr46. The address Adrn39 is generated, and the generated address Adr47 becomes the address Adrn47 even after conversion.
[0042]
The bank selection calculation circuit 1515 calculates the bank selection signal Sel according to the following equation (9) when the value of the third parameter Z set in the third register 1513 is z and / represents an integer division. ]
[Equation 9]
Sel = Adrn / z
[0044]
The first selection device 152 selects either the translation address Adr by the address translation device 151 or the addresses Adr0 to Adr5 supplied from the address generation devices 12-0 to 12-5 in response to the first control signal ctrl1. The selected address is set to one of Adrc0 to Adrc5 and supplied to the memory banks 11-0 to 11-5 including the set address.
[0045]
The data interconnection network 16 is a data path to the processor 14 for the data Dat0 to Dat5 read from the desired memory banks 13-0 to 13-5 or the calculation result data Dat0 to Dat5 of the calculation devices 13-0 to 13-5. And the data path by the processor 14 to the desired memory banks 13-0 to 13-5, or the desired data to the arithmetic units 13-0 to 13-5 are selectively connected. To do.
[0046]
Figure 5 is a block diagram showing a specific configuration example of a data interconnect network according to the first embodiment.
[0047]
As shown in FIG. 5, the data interconnection network 16 includes a second selection device (SEL) 161 and a third selection device (SEL) 162.
The first selection device 161 includes the input / output data Dat of the processor 14 and the second selection device 162 (input / output data Dac0 to Dat5 of the plurality of memory banks 11-0 to 11-5, arithmetic devices 13-0 to 13- 5 and the input / output data Dat0 to Dat5) are selectively connected based on the bank selection signal Sel by the address translation device 151.
The second selection device 162 receives the input / output data Dat0 to Dat5 of the arithmetic devices 13-0 to 13-5 and the input / output data Datac0 to Datac5 of the memory banks 11-0 to 11-5 according to the second control signal ctrl. And / or a data path to the second selection device 161 (input / output data Dat of the processor 14) is selectively connected.
[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 as an example the case where the processor 14 generates an address Adr.
[0049]
First, address generation when no address translation is performed will be described.
In this case, the address conversion is performed by setting the first parameter X to the value x = 1, the second parameter Y to the value y = 48, and the third parameter Z to the value z = 8 by an external control system or by the processor 14. 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]
[Expression 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 generated Adr is 0, Adrn = 0 when calculated using the above equation.
Then, the first selection device 152 is designated to select the translation 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, 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.
[0054]
## EQU11 ##
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 designated to select a data path with the memory bank by the second control signal ctrl2. As a result, the processor 14 can access data corresponding to Adrc0 = 0 in the memory bank 11-0.
[0056]
In addition to the above example, when the address Adr generated and transferred by the processor 14 is 8, for example, the address calculation circuit 1514 of the address translation device 151 calculates Adrn = 8.
Then, the first selection device 152 is designated to select the translation address Adrn by the first control signal ctrl1. As a result, this value is selected by the first selection device 151, and the address Adrc1 = 8 of the memory bank 11-1 can be accessed.
The bank selection signal Sel = 1 calculated by the bank selection calculation circuit 1515 is set, 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. The
At this time, the third selection device 162 is designated to select a data path with the memory bank by the second control signal ctrl2. As a result, the processor 14 can access data corresponding to Adrc1 = 8 in the memory bank 11-1.
[0057]
Next, access when address conversion is performed will be described.
Here, the processor 14 only generates the continuous addresses Adr0, 1, 2, 3,..., 47, and the addresses Adrc0, 8, 1, 9,..., 16, 24, 17, 25,. Address conversion for making 31, 32, ..., 39, 47 will be described.
[0058]
In this case, the address conversion is performed by setting the first parameter X to the value x = 2, the second parameter Y to the value y = 8, and the third parameter Z to the value z = 8 by the external control system or by the processor 14. 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]
[Expression 12]
Adrn = 8 * (Adr% 2) + (Adr% 16) / 2+ 16 * (Adr / 16)
[0061]
As a result, the address calculation circuit 1514 performs conversion such as Adr = 0 when Adr = 0, Adr = 8 when Adr = 1, Adr = 16 when Adr = 16, Adr = 24 when Adr = 17, and the like. Is called.
That is, the processor 14 simply generates continuous addresses 0, 1, 2, 3,..., 47 as Adr, and addresses for accessing the memory are 0, 8, 1, 9,. ..., 31, 32, ..., 39, 47.
Then, the first selection device 152 is designated to select the translation address Adrn by the first control signal ctrl1. As a result, this value is selected by the first selection device 151, the address Adrc0 = 0 of the memory bank 11-0, the address Adrc1 = 8 of the memory bank 11-1, the address Adrc0 = 1 of the memory bank 11-0, the memory Similarly, the address Adrc1 = 9 in the bank 11-1, the address Adrc4 = 39 in the memory bank 11-4, and the address Adrc5 = 47 in the memory bank 11-5 can be accessed in the same manner.
[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]
[Formula 13]
Sel = Adrn / 8
[0064]
At this time, for example, when the generation address Adr is 1, the conversion address Adrn is 8, and the bank selection signal Sel is 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 designated to select a data path with the memory bank by the second control signal ctrl2. As a result, the processor 14 can 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 address Adrc0 = 0 to Adrc5 = 47 of the desired memory bank 11-0 to 11-5 can be accessed.
[0066]
As described above, according to the first embodiment, the processor 14 and the address generators 12-0 to 12-5 are connected to the memory banks 11-0 to 11-5 selectively. 15. The address Adr generated by the processor 14 is changed to 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 banks. Is converted into an address Adrn having a predetermined regularity based on the second parameter Y according to the frequency, and a bank selection signal Sel is generated based on the third parameter Z based on the converted address and the number of addresses of the memory bank And an address converter 151 for outputting 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 accessing the memory banks 11-0 to 11-5 from the processor 14 are 0, 8, 16, 24, 1, 9, 17, 25, ..., 7, 15, 23, 31 By using the address translation device 151, a desired access address can be generated, and in addition to address translation, data corresponding to the address can be selected.
Further, the addresses when the processor 14 accesses the memory banks 11-0 to 11-5 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 desired address translation, so that the processor 14 does not need to perform address translation. For this reason, it is possible to reduce an extra cycle in which the address calculation is performed separately from the calculation using the processor.
Furthermore, since only one 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 in the memory bank 11, the number of elements in the address generator 12, and the number of elements in the arithmetic unit 13 are not six but are generally 1 × m. It is in the point which has the structure made into.
[0070]
In the second embodiment, the memory banks 11-0 to 11-1 × m−1 have n addresses, and m banks constitute a memory set MS, which is composed of l memory sets in total. The The address space is 0 to l × m × n−1.
[0071]
As shown in FIG. 7, the address interconnection network 15A basically includes 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 (1 × m−1) from the address generators 12-0 to 12-1 × m−1 as input addresses. The bank selection signal Sel generated by the address conversion device 151 is output to the data interconnection network 16 with Adrc0 to Adrc (1 × m−1) selected by the selection device 151 as output addresses.
The address interconnection network 15 </ b> A converts the generated address Adr of the processor 14 by the address conversion device 151 and outputs the result to the first selection device 152.
Then, according to the first control signal ctrl1, the translation address Adrn or the addresses Adr0 to Adr (m * n-1) from the address generators 12-0 to 12-l × m-1 are selected, and each memory bank 11- Output addresses Adrc0 to Adrc (l × m−1) to 0 to 11−1 × m−1 are obtained.
The address translation device 151 has the same configuration and function as in 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 a plurality of memory banks 11-0 to 11-1 × m−1). Based on the bank selection signal Sel by the address conversion device 151, the data path to the input / output data Dat0 to Data × m−1) of the data units Dac0 to Datcl × m−1 and the arithmetic devices 13-0 to 13−1 × m−1 Selectively connect.
The second selection device 162 receives the input / output data Dat0 to Data × m−1 of the arithmetic devices 13-0 to 13-1 × m−1 and the memory banks 11-0 to 11− according to the second control signal ctrl. The data path to the l × m−1 input / output data Dac0 to Datcl × m−1 and / or 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 as an example the case where the processor 14 generates an address Adr.
[0074]
First, address generation when no address translation is 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 = 1 * m * n, and the third parameter Z is set to the value z = n by the external control system or the processor 14. And supplied to the address translation device 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 = 1 / * m * n) set in the second register 1512 are the address calculation circuit 1514. To be supplied. 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 calculation is performed according to the following formula, but it is understood that the address conversion is not performed by this formula.
[0076]
[Expression 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 15 A, and input to the address conversion circuit 151.
At this time, for example, when the generated Adr is 0, Adrn = 0 when calculated using the above equation.
Then, the first selection device 152 is designated to select the translation 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, 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.
[0079]
[Expression 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 designated to select a data path with the memory bank by the second control signal ctrl2. As a result, the processor 14 can access data corresponding to Adrc0 = 0 in the memory bank 11-0.
[0081]
Next, a case where address conversion is performed will be described.
Here, the processor 14 is
Consecutive 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]
To 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]
The address conversion that can be performed will be described.
[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 to convert the address. Supplied to the device 151.
Thus, 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 performs address calculation according to the following equation.
[0084]
[Expression 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 = (l-1) * m * n, Adrn = (l-1) * m * n, Adr = (l-1) * m * n + 1, Adrn = n + (l-1) Conversions such as * m * n are performed.
To summarize, continuous address
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 generate the address Adrn 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
Can be converted to
[0086]
Then, the first selection device 152 is designated to select the translation address Adrn by the first control signal ctrl1. Thus, this value is selected by the first selection device 151, and the addresses Adrc0 to Adrc (l * m-1) of the corresponding memory can be generated.
[0087]
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.
[0088]
[Expression 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 designated to select a data path with the memory bank by the second control signal ctrl2. As a result, the processor 14 can access data corresponding to Adrc = n in the memory bank 11-1.
[0090]
When the address generation devices 12-0 to 12-l × m−1 perform address generation, Adr0 to Adr5 are generated by the address generation devices 12-0 to 12-l × m−1.
Then, the first selection device 152 is designated to select the addresses Adr0 to Adrl × m-15 with the first control signal ctrl1. Thereby, 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 effect as that of the first embodiment described above 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 converted has been described. However, when the address generated by the address generation device is converted, It is clear that the present invention can be applied to the 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.
Further, 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 present embodiment.
FIG. 4 is a diagram illustrating an example of address conversion of an address calculation circuit based on an arithmetic expression.
5 is a block diagram showing a specific configuration example of a data interconnect network according to the first embodiment.
FIG. 6 is a block 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 the 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]
DESCRIPTION OF SYMBOLS 10,10A ... Arithmetic system, 11-0 to 11-5 ... Memory bank (MBNK), 12-0 to 12-5 ... Address generator (ADRG), 13-0 to 13-5 ... Arithmetic unit (OP), DESCRIPTION OF SYMBOLS 14 ... Processor (PRC), 15, 15A ... Address interconnection network (ACNCT), 151 ... Address translation device (ACNV), 152 ... First selection device (SEL), 16, 16A ... Data interconnection network (DCNCT) 161 ... Second selection device (SEL) 162 ... Third selection device (SEL)

Claims (11)

アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、
連続するアドレスを生成する機能を有するプロセッサと、
少なくとも上記プロセッサと上記複数のメモリバンクとを相互に接続するアドレス相互接続網と
を有し、
上記アドレス相互接続網は、
上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換するアドレス変換装置を有し、
上記アドレス変換装置による変換アドレスを、当該変換アドレスを含む上記メモリバンクに供給し、
上記アドレス変換装置は、
上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行うことが可能で、かつ、アドレス変換方式が上記第1のパラメータおよび上記第2のパラメータの設定に応じて変更可能であり、
少なくとも上記第1のパラメータがセットされる第1のレジスタと、
少なくとも上記第2のパラメータがセットされる第2のレジスタと、
上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、を含み、
上記アドレス計算回路が、
上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、変換アドレスAdrnを下記数1式に従って計算する
【数1】
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
演算システム。
A plurality of memory banks that are assigned a predetermined range of addresses in the address space and store data related to operations;
A processor having a function of generating consecutive addresses;
An address interconnection network for interconnecting at least the processor and the plurality of memory banks;
The address interconnection network is
An address conversion device that converts 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 the memory banks;
Supplying a translation address by the address translation device to the memory bank including the translation address;
The address translation device
It is possible to perform address conversion based on an address generated by the processor, a first parameter according to the number of memory banks, and a second parameter based on the number of addresses in the memory bank, and The address translation method can be changed according to the setting of the first parameter and the second parameter ,
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 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; Including
The address calculation circuit is
When the value of the first parameter set in the first register is x, the value of the second parameter set in the second register is y,% indicates a modulo operation, and / indicates an integer division Next, the conversion address Adrn is calculated according to the following equation (1).
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
Arithmetic system.
上記複数のメモリバンクは、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 conversion device performs address conversion based on an address generated by the processor and a parameter corresponding to the number of memory banks in the memory set.
少なくとも上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続するデータ相互接続網を有し、
アドレス変換装置は、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力する
請求項1または2記載の演算システム。
A data interconnection network for selectively connecting data paths between at least the processor and the plurality of memory banks based on a bank selection signal;
Address converting apparatus generates the bank selection signal based on the third parameter based on the number of addresses of the translated address and the memory banks, the calculation of claim 1, wherein output to the data interconnect network system.
少なくとも上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続するデータ相互接続網を有し、
アドレス変換装置は、
上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータがセットされる第3のレジスタと、
上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路と、をさらに有する
請求項3記載の演算システム。
A data interconnection network for selectively connecting data paths between at least the processor and the plurality of memory banks based on a bank selection signal;
Address translation device
A third register in which a third parameter based on the translation address and the number of addresses in the memory bank is set;
A bank selection calculation circuit that generates the bank selection signal based on a third parameter based on the conversion address by the address calculation circuit and the number of addresses in the memory bank, and outputs the bank selection signal to the data interconnection network; The arithmetic system according to claim 3.
上記アドレス計算回路が、
上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数2式に従って計算し、
上記バンク選択計算回路が、
上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数3式に従って計算する
【数2】
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
【数3】
Sel = Adrn / z
請求項記載の演算システム。
The address calculation circuit is
When the value of the first parameter set in the first register is x, the value of the second parameter set in the second register is y,% indicates a modulo operation, and / indicates an integer division Then, the conversion address Adrn is calculated according to the following equation (2):
The bank selection calculation circuit is
When the value of the third parameter 3 set in the third register is z and / represents an integer division, the bank selection signal Sel is calculated according to the following equation (3).
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[Equation 3]
Sel = Adrn / z
The arithmetic system according to claim 4 .
上記データ相互接続網は、制御信号に応じて外部装置と上記複数のメモリバンクとのデータ経路を選択的に接続する選択装置を有する
請求項3から5のいずれか一に記載の演算システム。
The arithmetic system according to any one of claims 3 to 5, wherein the data interconnection network includes a selection device that selectively connects data paths between an external device and the plurality of memory banks in accordance with a control signal.
上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する
請求項1から6のいずれか一に記載の演算システム。
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 . The arithmetic system described in 1 .
上記アドレス相互接続網は、制御信号に応じて上記アドレス変換装置による変換アドレスまたは外部から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する選択装置を有する
請求項1から7のいずれか一に記載の演算システム。
The address interconnection network selects either a translation address by the address translation device or an externally supplied address according to a control signal, and supplies a selection device that supplies the selected memory bank to the memory bank. The arithmetic system according to any one of claims 1 to 7 .
アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、
連続するアドレスを生成する機能を有するプロセッサと、
少なくとも一つのアドレス生成装置と、
少なくとも一つの演算装置と、
上記プロセッサと上記複数のメモリバンクと上記アドレス生成装置を相互に接続するアドレス相互接続網と、
上記プロセッサと上記複数のメモリバンクと上記演算装置を相互に接続するデータ相互接続網と
を有し、
上記アドレス相互接続網は、
少なくとも上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換し、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータに基づいてバンク選択信号を生成し、上記データ相互接続網に出力するアドレス変換装置と、
第1の制御信号に応じて上記アドレス変換装置による変換アドレスまたは上記アドレス生成装置から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する第1の選択装置と
を有し、
上記アドレス変換装置は、
上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行うことが可能で、かつ、アドレス変換方式が上記第1のパラメータおよび上記第2のパラメータの設定に応じて変更可能であり、
上記データ相互接続網は、
上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続する第2の選択装置と、
第2の制御信号に応じて上記演算装置と上記複数のメモリバンクとのデータ経路を選択的に接続する第3の選択装置とを有し、
上記アドレス変換装置は、
少なくとも上記第1のパラメータがセットされる第1のレジスタと、
少なくとも上記第2のパラメータがセットされる第2のレジスタと、
第3のパラメータがセットされる第3のレジスタと、
上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、
上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路と、を含み、
上記アドレス計算回路が、
上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数4式に従って計算し、
上記バンク選択計算回路が、
上記第3のレジスタに設定される第3のパラメータの値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数5式に従って計算する
【数4】
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
【数5】
Sel = Adrn / z
演算システム。
A plurality of memory banks that are assigned a predetermined range of addresses in the address space and store data related to operations;
A processor having a function of generating consecutive addresses;
At least one address generation device;
At least one computing device;
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 interconnection network is
At least an 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 based on the converted address and the number of addresses in the memory bank An address translation device that generates a bank selection signal based on the parameters and outputs to the data interconnection network;
A first selection for selecting either a translation address by the address translation device or an address supplied from the address generation device according to a first control signal and supplying the selected address to the memory bank including the selected address And the device
The address translation device
It is possible to perform address conversion based on an address generated by the processor, a first parameter according to the number of memory banks, and a second parameter based on the number of addresses in the memory bank, and The address translation method can be changed according to the setting of the first parameter and the second parameter,
The data interconnection network is
A second selection device for selectively connecting data paths between the processor and the plurality of memory banks based on a bank selection signal;
Third and selection device for selectively connecting the data path between the computing device and the plurality of memory banks in response to a second control signal, the possess,
The address translation device
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;
A bank selection calculation circuit that generates the bank selection signal based on a third parameter based on the conversion address by the address calculation circuit and the number of addresses in the memory bank, and outputs the bank selection signal to the data interconnection network,
The address calculation circuit is
When the value of the first parameter set in the first register is x, the value of the second parameter set in the second register is y,% indicates a modulo operation, and / indicates an integer division Further, the conversion address Adrn is calculated according to the following equation (4):
The bank selection calculation circuit is
When the value of the third parameter set in the third register is z and / represents an integer division, the bank selection signal Sel is calculated according to the following equation (5 ).
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[Equation 5]
Sel = Adrn / z
Arithmetic system.
上記複数のメモリバンクは、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 9, wherein the address conversion device performs address conversion based on at least an address generated by the processor and a parameter corresponding to the number of memory banks in the memory set.
上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する
請求項9または10記載の演算システム。
11. The operation according to claim 9 , 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. system.
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 JP2004102633A (en) 2004-04-02
JP4461669B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5428862B2 (en) * 2007-12-06 2014-02-26 日本電気株式会社 Address generating apparatus and method for array processor, and array processor
JP4992114B2 (en) * 2008-02-19 2012-08-08 エヌイーシーコンピュータテクノ株式会社 Main storage device and address control method for main storage device
CN113704171B (en) * 2021-08-20 2023-05-16 北京计算机技术及应用研究所 Software-defined data storage system

Also Published As

Publication number Publication date
JP2004102633A (en) 2004-04-02

Similar Documents

Publication Publication Date Title
US20200150958A1 (en) Processor and control method for processor
JP3027970B2 (en) Digital signal processor memory management unit and method
WO2018139196A1 (en) Processor, information processing device, and processor operation method
JPS61139866A (en) Microprocessor
CN113743599A (en) Operation device and server of convolutional neural network
JPS5927944B2 (en) Matrix data parallel processing system
US12282844B2 (en) Artificial intelligence accelerators
JP7435602B2 (en) Computing equipment and computing systems
JP4461669B2 (en) Arithmetic system
JP3172352B2 (en) Neural network circuit
CN110531954A (en) Multiplier, data processing method, chip and electronic device
JP5051215B2 (en) Arithmetic system
CN120179608B (en) FPGA (field programmable Gate array) superposition processor acceleration system and method based on state space duality
JP2781550B2 (en) Parallel processing computer
JP2851804B2 (en) 2D orthogonal transform device
CN115826862A (en) On-chip cache data scheduling method and system
CN111260070B (en) Operation method, device and related product
JP4791172B2 (en) FFT operation circuit
JPH09120371A (en) Memory controller
US20240152322A1 (en) Artificial intelligence accelerators
JP5072558B2 (en) Data processing device
JP3313362B2 (en) Memory address generator for voice processing unit
CN118708153A (en) A hardware accelerator and hardware acceleration method based on three-dimensional number theory transformation
JPH03204695A (en) Musical sound synthesizing device
JP3180351B2 (en) Effect device

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

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091228

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

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 (event 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