JP2004102633A - Arithmetic system - Google Patents
Arithmetic system Download PDFInfo
- 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
Links
Images
Abstract
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
[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
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
[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
[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
[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
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
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
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
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
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
[0026]
Arithmetic units 13-0 to 13-5 perform an operation on data transferred via
[0027]
The
The
[0028]
The
[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
[0031]
The
[0032]
When the address conversion is not performed, the
[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
Note that the
[0035]
The
[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
[0038]
As shown in FIG. 4A, the
The continuous address Adr is converted into an address Adrn as shown in FIG. 4B with a predetermined regularity by the
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
[0043]
(Equation 9)
Sel = {Adrn} / z
[0044]
The
[0045]
The
[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
The
The
[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
[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
As a result, 1 is set in the
The first parameter X (value x = 1) set in the
[0050]
The
[0051]
(Equation 10)
Adrn = {48 * (Adr% 1) + (Adr% 48) / 1+ 48 * (Adr / 48) = Adr
[0052]
In order to access the memory from the
At this time, for example, when the generation Adr is 0, the calculation using the above equation results in Adrn = 0.
Then, the
[0053]
At the same time, in the
[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
At this time, the
[0056]
In addition to the above example, if the address Adr generated and transferred by the
Then, the
The bank selection signal Sel = 1 calculated in the bank
At this time, the
[0057]
Next, access when performing address translation will be described.
Here, the
[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
As a result, 2 is set in the
The first parameter X (value x = 1) set in the
[0059]
The
[0060]
(Equation 12)
Adrn = {8 * (Adr% 2) + (Adr% 16) / 2+ 16 * (Adr / 16)
[0061]
As a result, in the
That is, the
Then, the
[0062]
At the same time, the
[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
At this time, the
[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
[0066]
As described above, according to the first embodiment, the address interconnection network that selectively connects the
[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
Further, addresses for accessing the memory banks 11-0 to 11-5 from the
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
[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
That is, the
The
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
[0072]
As shown in FIG. 8, the
That is, the
The second selecting
[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
[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
As a result, 1 is set in the
The first parameter X (value x = 1) set in the
[0075]
In the
[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
At this time, for example, when the generation Adr is 0, the calculation using the above equation results in Adrn = 0.
Then, the
[0078]
At the same time, in the
[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
At this time, the
[0081]
Next, the case of performing address conversion will be described.
Here, the
.., (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
As a result, m is set in the
The first parameter X (value x = m) set in the
[0083]
The
[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
[0087]
At the same time, in the
[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
At this time, the
[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
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
[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記載の演算システム。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記載の演算システム。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.
少なくとも上記第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.
少なくとも上記第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.
上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数3式に従って計算する
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.
請求項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.
請求項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.
上記アドレス変換装置は、少なくとも上記プロセッサにより生成されたアドレスと、上記メモリセット内のメモリバンクの数に応じたパラメータに基づいてアドレス変換を行う
請求項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.
請求項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.
少なくとも上記第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,
上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数5式に従って計算する
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.
請求項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.
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)
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 |
-
2002
- 2002-09-09 JP JP2002263402A patent/JP4461669B2/en not_active Expired - Fee Related
Cited By (6)
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 |