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
JP5051215B2 - Arithmetic system - Google Patents
[go: Go Back, main page]

JP5051215B2 - Arithmetic system - Google Patents

Arithmetic system Download PDF

Info

Publication number
JP5051215B2
JP5051215B2 JP2009298307A JP2009298307A JP5051215B2 JP 5051215 B2 JP5051215 B2 JP 5051215B2 JP 2009298307 A JP2009298307 A JP 2009298307A JP 2009298307 A JP2009298307 A JP 2009298307A JP 5051215 B2 JP5051215 B2 JP 5051215B2
Authority
JP
Japan
Prior art keywords
address
memory
bank
addresses
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
JP2009298307A
Other languages
Japanese (ja)
Other versions
JP2010073220A (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 JP2009298307A priority Critical patent/JP5051215B2/en
Publication of JP2010073220A publication Critical patent/JP2010073220A/en
Application granted granted Critical
Publication of JP5051215B2 publication Critical patent/JP5051215B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、演算に関するデータを記憶する複数のメモリバンクと、プロセッサと、プロセッサと各メモリバンクを相互に接続するアドレス相互接続網を備えた演算システムに関するものである。 The present invention includes a plurality of memory banks for storing data relating to operation, the processor and, to a computation system with an address interconnection network that connects the processor and the memory bank to each other.

プロセッサとアドレス生成装置をメモリと結合するアドレス相互接続網とプロセッサと演算装置をメモリと結合するデータ相互接続網を備える演算システムにおいて、たとえばメモリが、アドレス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に記述されるようなメモリインタリーブ方式を用いることで所望のアクセス用アドレスを生成することができる。
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.

特開2000−163316号公報JP 2000-163316 A

しかし、この方法ではアドレス変換のみが行われ、アドレスに対応したデータの選択は別の手段で行う必要があった。
さらに、プロセッサからメモリにアクセスする場合のアドレスが、たとえば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のようなアドレスは、プロセッサが持つ単純なアドレス自動生成機能を使っただけでは生成できない。
そのためプロセッサを使って演算とは別にアドレス計算を行う必要があり、処理サイクル数が演算に必要なサイクル数よりアドレス生成の分だけ余計にかかるという不利益がある。
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.

この他にも、特許文献1に示す方式ではアドレス変換装置を2段設ける必要があるため、ハードウエア規模が大きくなり、コスト削減の観点からしても好ましいものではない。   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.

本発明は、かかる事情に鑑みてなされたものであり、その目的は、余計な処理サイクル数を削減でき、メモリアクセス性能を向上させることができ、また、ハードウェア規模の低減を図れ、ひいてはコスト削減を図ることができる演算システムを提供することにある。 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. to provide a computation system that can be reduced.

上記目的を達成するため、本発明の第1の観点に係る演算システムは、アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、連続するアドレスを生成する機能を有するプロセッサと、少なくとも上記プロセッサと上記複数のメモリバンクとを相互に接続するアドレス相互接続網とを有し、上記アドレス相互接続網は、上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換するアドレス変換装置を有し、上記アドレス変換装置による変換アドレスを、当該変換アドレスを含む上記メモリバンクに供給する。   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 An address conversion device that converts the address into a predetermined regularity based on a parameter corresponding to the number of memory banks is provided, and the conversion address by the address conversion device is supplied to the memory bank including the conversion address.

本発明では、上記複数のメモリバンクは、1または複数のメモリバンクを含む少なくとも複数のメモリセットに分割され、上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリセット内のメモリバンクの数に応じたパラメータに基づいてアドレス変換を行う。   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.

本発明では、上記アドレス変換装置は、上記プロセッサにより生成されたアドレスと、上記メモリバンクの数に応じた第1のパラメータおよび上記メモリバンクのアドレスの数に基づいた第2のパラメータに基づいてアドレス変換を行う。   According to the present invention, the address conversion device performs an address 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 banks. Perform conversion.

好適には、少なくとも上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続するデータ相互接続網を有し、アドレス変換装置は、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力する。   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.

好適には、上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、少なくとも上記第2のパラメータがセットされる第2のレジスタと、上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路とを有する。   Preferably, the address translation device is set in 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 first register. A first parameter, a second parameter set in the second register, and an address calculation circuit for calculating a translation address based on the address generated by the processor.

好適には、上記アドレス変換装置は、少なくとも上記第1のパラメータがセットされる第1のレジスタと、少なくとも上記第2のパラメータがセットされる第2のレジスタと、上記第3のパラメータがセットされる第3のレジスタと、上記第1のレジスタにセットされた第1のパラメータ、上記第2のレジスタにセットされた第2のパラメータ、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいた第3のパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路とを有する。   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.

本発明では、上記アドレス計算回路が、上記第1のレジスタに設定される第1のパラメータの値をx、上記第2のレジスタに設定される第2のパラメータの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、上記変換アドレスAdrnを下記数6式に従って計算し、上記バンク選択計算回路が、上記第3のレジスタに設定される第3のパラメータ3の値をzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数7式に従って計算する。   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 (6), and the bank selection calculation circuit sets the value of the third parameter 3 set in the third register to z When bank represents an integer division, the bank selection signal Sel is calculated according to the following equation (7).

[数1]
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
[Equation 1]
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x

[数2]
Sel = Adrn / z
[Equation 2]
Sel = Adrn / z

また、上記アドレス計算回路は、上記第1のレジスタおよび第2のレジスタに上記アドレス空間に対して設定されるアドレス数に関するパラメータが設定されると、入力アドレスをそのまま出力する。   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.

好適には、上記アドレス相互接続網は、制御信号に応じて上記アドレス変換装置による変換アドレスまたは外部から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する選択装置を有する。   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.

また、上記データ相互接続網は、制御信号に応じて外部装置と上記複数のメモリバンクとのデータ経路を選択的に接続する選択装置を有する。   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.

本発明の第2の観点は、アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、連続するアドレスを生成する機能を有するプロセッサと、少なくとも一つのアドレス生成装置と、少なくとも一つの演算装置と、上記プロセッサと上記複数のメモリバンクと上記アドレス生成装置を相互に接続するアドレス相互接続網と、上記プロセッサと上記複数のメモリバンクと上記演算装置を相互に接続するデータ相互接続網とを有し、上記アドレス相互接続網は、少なくとも上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じたパラメータに基づいて所定の規則性を持つアドレスに変換し、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータに基づいてバンク選択信号を生成し、上記データ相互接続網に出力するアドレス変換装置と、第1の制御信号に応じて上記アドレス変換装置による変換アドレスまたは上記アドレス生成装置から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する第1の選択装置とを有し、上記データ相互接続網は、上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続する第2の選択装置と、第2の制御信号に応じて上記演算装置と上記複数のメモリバンクとのデータ経路を選択的に接続する第3の選択装置とを有する。   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, and a translation address by the address translation device or the address generation device supplied from the address generation device according to a first control signal 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 data interconnection network includes data between the processor and the plurality of memory banks. A second selection device that selectively connects paths based on a bank selection signal; and a third selection device that selectively connects data paths between the arithmetic unit and the plurality of memory banks according to a second control signal. And a selection device.

本発明によれば、たとえばプロセッサにおいて連続するアドレスが生成され、アドレス相互接続網のアドレス変換装置に入力される。
アドレス変換装置においては、プロセッサにより生成されたアドレスが、当該アドレスと少なくともメモリバンクの数に応じたパラメータに基づいて、所定の規則性を持つアドレスに変換される。
この変換後のアドレスがアドレス相互接続網の接続網を介して、変換アドレスを含むメモリバンクに供給される。
たとえばアドレス変換装置においては、第1のレジスタにメモリバンクの数に応じた第1のパラメータが設定され、第2のレジスタにメモリバンクのアドレスの数に基づいた第2のパラメータが設定される。
そして、アドレス計算回路において、プロセッサにより生成されたアドレスが、当該アドレスと第1のレジスタに設定された第1のパラメータおよび第2のレジスタに設定された第2のパラメータを用いた所定の演算式に従って求められる。
また、アドレス変換装置においては、第3のレジスタにメモリバンクのアドレスの数に基づいた第3のパラメータが設定される。そして、バンク選択回路において、アドレス計算回路による変換アドレスおよび第3のレジスタに設定された第3のパラメータに基づいてバンク選択信号が生成されて、データ相互接続網に出力される。
データ相互接続網においては、バンク選択信号に基づいて、プロセッサと複数のメモリバンクとのデータ経路が選択的に接続される。
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.

以上説明したように、本発明によれば、余計な処理サイクル数を削減でき、メモリアクセス性能を向上させることができる。
また、ハードウェア規模の低減を図れ、ひいてはコスト削減を図ることができる利点がある。
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.

本発明に係る演算システムの第1の実施形態を示す構成図である。1 is a configuration diagram showing a first embodiment of an arithmetic system according to the present invention. 本第1の実施形態に係るアドレス相互接続網の要部の具体的な構成例を示す図である。It is a figure which shows the specific structural example of the principal part of the address interconnection network which concerns on this 1st Embodiment. 本実施形態に係るアドレス変換装置の具体的に構成例を示すブロック図である。It is a block diagram which shows the specific structural example of the address converter which concerns on this embodiment. 演算式に基づくアドレス計算回路のアドレス変換例を示す図である。It is a figure which shows the example of an address conversion of the address calculation circuit based on a computing equation. 本第1の実施形態に係るデータ相互接続網の具体的な構成例を示すブロック図である。It is a block diagram which shows the specific structural example of the data interconnection network which concerns on this 1st Embodiment. 本発明に係る演算システムの第2の実施形態を示す構成図である。It is a block diagram which shows 2nd Embodiment of the arithmetic system which concerns on this invention. 本第2の実施形態に係るアドレス相互接続網の要部の具体的な構成例を示す図である。It is a figure which shows the specific structural example of the principal part of the address interconnection network which concerns on this 2nd Embodiment. 本第2の実施形態に係るデータ相互接続網の具体的に構成例を示すブロック図である。It is a block diagram which shows the specific structural example of the data interconnection network which concerns on the 2nd embodiment.

第1実施形態
図1は、本発明に係る演算システムの第1の実施形態を示す構成図である。
First Embodiment FIG. 1 is a block diagram showing a first embodiment of an arithmetic system according to the present invention.

本演算システム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を有している。   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.

メモリバンク11−0〜11−5は、演算に関するデータを記憶し、たとえば本第1の実施形態においてアドレス空間がadr0〜adr47の48個のアドレスを有するものであるとすると、それぞれ6等分した8アドレスずつ割り当てられて8アドレスを持ち、たとえば2個のメモリバンクで一つのメモリセットを構成し、全体で3個のメモリセットを構成している。   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.

メモリバンク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アドレスが割り当てられている。
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.

アドレス生成装置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に出力する。
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.

演算装置13−0〜13−5は、データ相互接続網16を介して転送されたデータに対して、たとえば図示しない制御系の指示に従った演算を行い、演算結果をデータ相互接続網16に出力する。   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.

プロセッサ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に転送する。
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.

アドレス相互接続網15は、プロセッサ14によるアドレスadrを所定の演算式に従って所定の規則性を有するアドレスに変換するアドレス変換装置151を含み、プロセッサ14とアドレス生成装置12−0〜12−5をメモリバンク11−0〜11−5に相互に接続する。   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 memory. The banks 11-0 to 11-5 are connected to each other.

図2は、本第1の実施形態に係るアドレス相互接続網の要部の具体的な構成例を示す図である。   FIG. 2 is a diagram showing a specific configuration example of a main part of the address interconnection network according to the first embodiment.

このアドレス相互接続網15は、図2に示すように、アドレス変換装置(ACNV)151および第1の選択装置(SEL)152を有している。   As shown in FIG. 2, the address interconnection network 15 includes an address translation device (ACNV) 151 and a first selection device (SEL) 152.

アドレス変換装置151は、プロセッサ14により生成されたアドレスAdrを、このアドレスAdrと、メモリバンクの数(本第1の実施形態では6)に応じたあるいはメモリセット内のメモリバンクの数(本第1の実施形態では2)に応じた第1のパラメータX、並びにメモリバンクのアドレスの数に応じた第2のパラメータYに基づいて所定の規則性を持つアドレスAdrnに変換し、かつ変換アドレスおよびメモリバンクのアドレスの数に基づいた第3のパラメータZに基づいてバンク選択信号Selを生成し、データ相互接続網16に出力する。   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.

また、アドレス変換装置151は、アドレス変換を行わないときは、第1のパラメータXおよび第2パラメータYとしてアドレス空間に対して設定されるアドレス数に関するパラメータ、具体的には、アドレス空間に設定される最小のアドレス数1が第1のパラメータXとして設定され、アドレス空間に設定される最大のアドレス数48が第2のパラメータYとして設定され、入力アドレスAdrをそのままAdrnとして出力する。   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.

図3は、本実施形態に係るアドレス変換装置の具体的に構成例を示すブロック図である。   FIG. 3 is a block diagram showing a specific configuration example of the address translation apparatus according to the present embodiment.

アドレス変換装置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を介して任意に設定可能である。
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.

アドレス計算回路1514は、上述した第1のレジスタ1511に設定される第1のパラメータXの値をx、第2のレジスタに設定される第2のパラメータYの値をyとし、%がモジュロ演算、/が整数の除算を表すときに、変換アドレスAdrnを下記数8式に従って計算する。   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).

[数3]
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
[Equation 3]
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x

図4(A)および(B)は、上記式に基づくアドレス計算回路1514のアドレス変換例を示す図であって、図4(A)は変換前のプロセッサ14が生成した連続するアドレAdrを示し、図4(B)はアドレス計算回路1514の変換後のアドレスAdrnを示している。   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.

図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の各メモリセットにおいて、互いのメモリバンクの持つアドレスの小さい方からアドレスが交互に並ぶような関係をもつように規定されている。
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.

具体的には、メモリセット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となる。   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 Is converted to the address Adrn1, the generated address Adr3 is converted to the address Adrn9, the generated address Adr4 is converted to the address Adrn2, the generated address Adr5 is converted to the address Adrn10, and the generated address Adr6 is converted to the address Adrn3. 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.

メモリセット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となる。   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 is converted to the address Adrn21, the generated address Adr27 is converted to the address Adrn29, the generated address Adr28 is converted to the address Adrn22, the generated address Adr29 is converted to the address Adrn30, and the generated address Adr30 is converted to the converted address Adr30. The address Adrn23 is generated, and the generated address Adr31 becomes the address Adrn31 after conversion.

メモリセット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となる。   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.

バンク選択計算回路1515は、第3のレジスタ1513に設定される第3のパラメータZの値をz、/が整数の除算を表すときに、バンク選択信号Selを下記数9式に従って計算する   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.

[数4]
Sel = Adrn / z
[Equation 4]
Sel = Adrn / z

第1の選択装置152は、第1の制御信号ctrl1に応じてアドレス変換装置151による変換アドレスAdrまたはアドレス生成装置12−0〜12−5から供給されたアドレスAdr0〜Adr5のうちのいずれかを選択して、選択したアドレスをAdrc0〜Adrc5のいずれかに設定して、設定したアドレスを含むメモリバンク11−0〜11−5に供給する。   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.

データ相互接続網16は、所望のメモリバンク13−0〜13−5から読み出したデータDatc0〜Datc5、あるいは演算装置13−0〜13−5の演算結果データDat0〜Dat5のプロセッサ14へのデータ経路を選択的に接続し、また、プロセッサ14によるデータDatの所望のメモリバンク13−0〜13−5、あるいは所望のデータを演算装置13−0〜13−5へのデータ経路を選択的に接続する。   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.

図5は、本第1の実施形態に係るデータ相互接続網の具体的な構成例を示すブロック図である。   FIG. 5 is a block diagram showing a specific configuration example of the data interconnection network according to the first embodiment.

データ相互接続網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)とのデータ経路を選択的に接続する。
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.

次に、上記構成による動作をプロセッサ14がアドレスAdrを生成する場合を例に、アドレス変換装置の上記構成による動作を中心に説明する。   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.

まず、アドレス変換を行わない場合のアドレス生成について説明する。
この場合、外部の制御系により、あるいはプロセッサ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に供給される。
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.

アドレス計算回路1514においては、次式に従って変換後のアドレスが計算される。   The address calculation circuit 1514 calculates the converted address according to the following equation.

[数5]
Adrn = 48 * (Adr % 1) + (Adr % 48) / 1+ 48 * (Adr / 48) = Adr
[Equation 5]
Adrn = 48 * (Adr% 1) + (Adr% 48) / 1+ 48 * (Adr / 48) = Adr

プロセッサ14からメモリへアクセスを行うために、アドレスAdrが生成されてアドレス相互接続網15に出力され、アドレス変換回路151に入力される。
このとき、たとえば生成Adrが0の場合、上式を使って計算するとAdrn=0となる。
そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、メモリバンク11−0のアドレスAdrc0=0にアクセスを行うことができる。
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.

アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。   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.

[数6]
Sel = Adrn / 8
[Equation 6]
Sel = Adrn / 8

このとき、バンク選択信号SelはアドレスAdrnが0であることから0になる。データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−0とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−0のAdrc0=0に該当するデータにアクセスできる。
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.

上記の例のほかに、たとえばプロセッサ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に該当するデータにアクセスできる。
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.

次に、アドレス変換を行う場合のアクセスについて説明する。
ここでは、プロセッサ14が連続アドレスAdr0,1,2,3,…,47を生成するだけで、メモリへアクセスするアドレスAdrc0,8,1,9,…,16,24,17,25,…,31,32,…,39,47にできるためのアドレス変換について説明する。
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.

この場合、外部の制御系により、あるいはプロセッサ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に供給される。
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.

アドレス計算回路1514においては、次式に従って変換後のアドレスが計算される。   The address calculation circuit 1514 calculates the converted address according to the following equation.

[数7]
Adrn = 8 * (Adr % 2) + (Adr % 16) / 2+ 16 * (Adr / 16)
[Equation 7]
Adrn = 8 * (Adr% 2) + (Adr% 16) / 2+ 16 * (Adr / 16)

その結果、アドレス計算回路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にアクセスできる。
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.

アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。   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.

[数8]
Sel = Adrn / 8
[Equation 8]
Sel = Adrn / 8

このとき、たとえば生成アドレスAdrが1のとき変換アドレスAdrnは8となり、バンク選択信号Selは1となる。
そのため、データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−1とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−1のAdrc1=8に該当するデータにアクセスできる。
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.

なお、アドレス生成装置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にアクセスを行うことができる。
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.

以上説明したように、本第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とのデータ経路を選択的に設定するようにしたので、以下の効果を得ることができる。   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.

すなわち、本第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段設けるだけですむため、ハードウェア規模を削減することができ、コストを削減することも可能になる。
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.

第2実施形態
図6は、本発明に係る演算システムの第2の実施形態を示す構成図である。
Second Embodiment FIG. 6 is a block diagram showing a second embodiment of the arithmetic system according to the present invention.

本第2の実施形態が上述第1の実施形態と異なる点は、メモリバンク11の要素数、アドレス生成装置12の要素数、演算装置13の要素数を6個ではなく、l×mに一般化した構成を有する点にある。   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.

本第2の実施形態においては、メモリバンク11−0〜11−l×m−1はnアドレスを持ち、m個のバンクでメモリセットMSを構成し、全部でl個のメモリセットから構成される。アドレス空間は0〜l×m×n−1 となる。   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.

アドレス相互接続網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と同様の構成、機能を有する。
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.

データ相互接続網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)とのデータ経路を選択的に接続する。
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.

次に、上記構成による動作をプロセッサ14がアドレスAdrを生成する場合を例に、アドレス変換装置の上記構成による動作を中心に説明する。   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.

まず、アドレス変換を行わない場合のアドレス生成について説明する。
この場合、外部の制御系により、あるいはプロセッサ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に供給される。
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.

アドレス計算回路1514においては、次式に従ってアドレス計算が行われるが、この式によりアドレス変換は行われないことが分かる。   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.

[数9]
Adrn = l*m*n*(Adr % 1) + l*m*n*(Adr/(l*m*n)) + (Adr % (l*m*n))/1 = Adr
[Equation 9]
Adrn = l * m * n * (Adr% 1) + l * m * n * (Adr / (l * m * n)) + (Adr% (l * m * n)) / 1 = Adr

プロセッサ14からメモリへアクセスを行うために、アドレスAdrが生成されてアドレス相互接続網15Aに出力され、アドレス変換回路151に入力される。
このとき、たとえば生成Adrが0の場合、上式を使って計算するとAdrn=0となる。
そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、メモリバンク11−0のアドレスAdrc0=0にアクセスを行うことができる。
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.

アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。   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.

[数10]
Sel = Adrn / n
[Equation 10]
Sel = Adrn / n

このとき、バンク選択信号SelはアドレスAdrnが0であることから0になる。データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−0とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−0のAdrc0=0に該当するデータにアクセスできる。
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.

次にアドレス変換を行う場合について説明する。
ここでは、プロセッサ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 〕
にできるためのアドレス変換について説明する。
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 addresses 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.

この場合、外部の制御系により、あるいはプロセッサ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に供給される。
In this case, the address conversion is performed by setting the first parameter X to the value x = m, the second parameter Y to the value y = n, and the third parameter Z to the value z = n by the external control system or the processor 14. 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.

アドレス計算回路1514においては、次式に従ってアドレス計算が行われる。   The address calculation circuit 1514 performs address calculation according to the following equation.

[数11]
Adrn = n * (Adr % m) + (Adr % (m*n)) / m+ (m*n) * (Adr / (m*n))
[Equation 11]
Adrn = n * (Adr% m) + (Adr% (m * n)) / m + (m * n) * (Adr / (m * n))

その結果、たとえば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
に変換できる。
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

そして、第1の制御信号ctrl1で変換アドレスAdrnを選択するよう第1の選択装置152に指定される。これにより、第1の選択装置151でこの値が選択され、該当するメモリのアドレスAdrc0 〜Adrc(l*m-1) を生成できる。   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.

アドレス変換装置151は同時に、バンク選択計算回路1515において、次式に従って、バンク選択信号Selが計算され、データ相互接続網16の第2の選択装置161に出力される。   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.

[数12]
Sel = Adrn / n
[Equation 12]
Sel = Adrn / n

このとき、Adr=1のときAdrn=nとなりバンク選択信号Selは1となる。データ相互接続網16の第2の選択装置161においては、バンク選択信号Selに従い、メモリバンク11−1とのデータ経路が選択される。
このとき、第2の制御信号ctrl2でメモリバンクとのデータ経路を選択するように第3の選択装置162に指定される。これにより、プロセッサ14からメモリバンク11−1のAdrc=nに該当するデータにアクセスできる。
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.

なお、アドレス生成装置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となる。
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.

本第2の実施形態によれば、上述した第1の実施形態の効果と同様の効果を得ることができる。   According to the second embodiment, the same effect as that of the first embodiment described above can be obtained.

なお、第1および第2の実施形態においては、プロセッサ数が1で、プロセッサ14の生成するアドレスを変換する場合について説明しているが、アドレス生成装置の生成するアドレスを変換する場合や、プロセッサ数が複数の場合についても相互接続網の構成を変更するだけで、本発明を適用できることは明らかである。   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.

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)。   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 (7)

アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、
連続するアドレスを生成する機能を有するプロセッサと、
少なくとも上記プロセッサと上記複数のメモリバンクとを相互に接続するアドレス相互接続網と
を有し、
上記アドレス相互接続網は、
上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じて所定の規則性を持つアドレスに変換するアドレス変換装置を有し、
上記アドレス変換装置による変換アドレスを、当該変換アドレスを含む上記メモリバンクに供給し、
上記アドレス変換装置は、
上記プロセッサにより生成されたアドレスと、上記メモリバンクの数および上記メモリバンクのアドレスの数に基づいてアドレス変換を行うことが可能で、かつ、アドレス変換方式が上記メモリバンク数および上記メモリバンクのアドレス数の設定に応じて変更可能であり、
上記メモリバンク数および上記メモリバンクのアドレス数、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路を含み、
上記アドレス計算回路が、
メモリバンク数および各メモリバンク内のアドレス数の一方をx、他方をyとし、%がモジュロ演算、/が整数の除算を表すときに、元のアドレスAdrに基づいて、変換アドレスAdrnを下記数式に従って計算する機能を有する
[数
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 connecting at least the processor and the plurality of memory banks to each other;
The address interconnection network is
An address conversion device that converts an address generated by the processor into an address having a predetermined regularity according to the address and at least 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
Address conversion is possible based on the address generated by the processor, the number of memory banks, and the number of addresses in the memory bank, and the address conversion method is the number of memory banks and the address of the memory banks. Depending on the number setting,
An address calculation circuit for calculating a translation address based on the number of memory banks and the number of addresses of the memory bank, and an address generated by the processor;
The address calculation circuit is
One of the number of memory banks and the number of addresses in each memory bank is x, the other is y,% is a modulo operation, and / is an integer division, the conversion address Adrn is based on the original address Adr as follows: Has the function of calculating according to one equation [Equation 1 ]
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
Arithmetic system.
少なくとも上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続するデータ相互接続網を有し、
アドレス変換装置は、
上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータzに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路を有し、
上記バンク選択計算回路は、
上記バンク選択信号Selを下記数式に従って計算する
請求項1記載の演算システム。
[数
Sel = Adrn / z
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 bank selection calculation circuit that generates the bank selection signal based on a conversion address by the address calculation circuit and a parameter z based on the number of addresses of the memory bank, and outputs the bank selection signal to the data interconnection network;
The bank selection calculation circuit is
The arithmetic system according to claim 1, wherein the bank selection signal Sel is calculated according to the following equation ( 2 ).
[Equation 2 ]
Sel = Adrn / z
上記データ相互接続網は、制御信号に応じて外部装置と上記複数のメモリバンクとのデータ経路を選択的に接続する選択装置を有する
請求項または記載の演算システム。
It said data interconnection network, the operation system according to claim 1 or 2, wherein having a selection device for selectively connecting the data path between the external device and the plurality of memory banks in response to the control signal.
上記アドレス計算回路は、
上記xおよびyの値として、上記アドレス空間に対して設定されるアドレス数に関する値が設定されると、入力アドレスをそのまま出力する
請求項からのいずれか一に記載の演算システム。
The address calculation circuit
The arithmetic system according to any one of claims 1 to 3, wherein when a value related to the number of addresses set for the address space is set as the values of x and y, the input address is output as it is.
上記アドレス相互接続網は、
制御信号に応じて上記アドレス変換装置による変換アドレスまたは外部から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する選択装置を有する
請求項からのいずれか一に記載の演算システム。
The address interconnection network is
And in response to the control signal selects one of the address supplied from the conversion address or external by the address translator, of claims 1 to 4 having a selection device for supplying to said memory bank containing an address selected The computing system according to any one of the above.
アドレス空間の所定範囲のアドレスが割り当てられ、演算に関するデータを記憶する複数のメモリバンクと、
連続するアドレスを生成する機能を有するプロセッサと、
少なくとも一つのアドレス生成装置と、
少なくとも一つの演算装置と、
上記プロセッサと上記複数のメモリバンクと上記アドレス生成装置を相互に接続するアドレス相互接続網と、
上記プロセッサと上記複数のメモリバンクと上記演算装置を相互に接続するデータ相互接続網と
を有し、
上記アドレス相互接続網は、
少なくとも上記プロセッサにより生成されたアドレスを、当該アドレスと少なくとも上記メモリバンクの数に応じて所定の規則性を持つアドレスに変換し、上記変換アドレスおよび上記メモリバンクのアドレスの数に基づいてバンク選択信号を生成し、上記データ相互接続網に出力するアドレス変換装置と、
第1の制御信号に応じて上記アドレス変換装置による変換アドレスまたは上記アドレス生成装置から供給されたアドレスのうちのいずれかを選択して、選択したアドレスを含む上記メモリバンクに供給する第1の選択装置と
を有し、
上記アドレス変換装置は、
上記プロセッサにより生成されたアドレスと、上記メモリバンクの数および上記メモリバンクのアドレスの数にアドレス変換を行うことが可能で、かつ、アドレス変換方式が上記メモリバンク数および上記メモリバンクのアドレス数の設定に応じて変更可能であり、
上記データ相互接続網は、
上記プロセッサと上記複数のメモリバンクとのデータ経路をバンク選択信号に基づいて選択的に接続する第2の選択装置と、
第2の制御信号に応じて上記演算装置と上記複数のメモリバンクとのデータ経路を選択的に接続する第3の選択装置と、を有し、
上記アドレス変換装置は、
上記メモリバンク数および上記メモリバンクのアドレス数、および上記プロセッサで生成されたアドレスに基づいて変換アドレスを計算するアドレス計算回路と、
上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータに基づいて上記バンク選択信号を生成し、上記データ相互接続網に出力するバンク選択計算回路と、を含み、
上記アドレス計算回路が、
メモリバンク数および各メモリバンク内のアドレス数の一方をx、他方をyとし、%がモジュロ演算、/が整数の除算を表すときに、元のアドレスAdrに基づいて、変換アドレスAdrnを下記数式に従って計算し、
上記バンク選択計算回路が、
上記アドレス計算回路による変換アドレスおよび上記メモリバンクのアドレスの数に基づいたパラメータをzとし、/が整数の除算を表すときに、上記バンク選択信号Selを下記数式に従って計算する
[数
Adrn = y * (Adr % x) + x*y* (Adr / (x*y)) + (Adr % (x*y)) / x
[数
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 according to the address and at least the number of the memory banks, and a bank selection signal based on the converted address and the number of addresses of the memory bank An address translation device that generates 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 in response 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 between the address generated by the processor, the number of the memory banks, and the number of addresses of the memory banks, and the address conversion method is the number of the memory banks and the number of addresses of the memory banks. It can be changed according to the setting,
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;
A third selection device that selectively connects data paths between the arithmetic device and the plurality of memory banks in response to a second control signal;
The address translation device
An address calculation circuit for calculating a translation address based on the number of memory banks and the number of addresses of the memory bank, and an address generated by the processor;
A bank selection calculation circuit that generates the bank selection signal based on the conversion address by the address calculation circuit and a parameter based on the number of addresses of the memory bank, and outputs the bank selection signal to the data interconnection network,
The address calculation circuit is
One of the number of memory banks and the number of addresses in each memory bank is x, the other is y,% is a modulo operation, and / is an integer division, the conversion address Adrn is based on the original address Adr as follows: Calculate according to equation 3 ,
The bank selection calculation circuit is
A parameter based on the number of addresses of the translated address and the memory bank by the address calculation circuit and is z, when a / represents integer division, to calculate the bank selection signal Sel according to the following Formula 4 [Formula 3]
Adrn = y * (Adr% x) + x * y * (Adr / (x * y)) + (Adr% (x * y)) / x
[Formula 4 ]
Sel = Adrn / z
Arithmetic system.
上記アドレス計算回路は、
上記xおよびyの値として、上記アドレス空間に対して設定されるアドレス数に関する値が設定されると、入力アドレスをそのまま出力する
請求項記載の演算システム。
The address calculation circuit
The arithmetic system according to claim 6 , wherein when a value related to the number of addresses set for the address space is set as the values of x and y, the input address is output as it is.
JP2009298307A 2009-12-28 2009-12-28 Arithmetic system Expired - Fee Related JP5051215B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2010073220A JP2010073220A (en) 2010-04-02
JP5051215B2 true JP5051215B2 (en) 2012-10-17

Family

ID=42204872

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5051215B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12079482B2 (en) 2022-01-06 2024-09-03 Samsung Electronics Co., Ltd. Memory device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099398A (en) * 1998-09-22 2000-04-07 Fujitsu Ltd Electronic device, semiconductor memory device, bus master, and semiconductor memory device access method
JP4240610B2 (en) * 1998-11-27 2009-03-18 株式会社日立製作所 Computer system
JP2000200216A (en) * 1999-01-07 2000-07-18 Nec Kofu Ltd Memory access controller and memory access control method used for the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12079482B2 (en) 2022-01-06 2024-09-03 Samsung Electronics Co., Ltd. Memory device

Also Published As

Publication number Publication date
JP2010073220A (en) 2010-04-02

Similar Documents

Publication Publication Date Title
KR102492477B1 (en) Matrix multiplier
CN110751277B (en) Computing circuits, computing devices and systems including the computing circuits
WO2018139196A1 (en) Processor, information processing device, and processor operation method
CN100476719C (en) Cryptographic system and associated elliptic curve operation method
CN113743599A (en) Operation device and server of convolutional neural network
JP7435602B2 (en) Computing equipment and computing systems
CN110415157A (en) A kind of calculation method and device of matrix multiplication
US12282844B2 (en) Artificial intelligence accelerators
KR20050077001A (en) Multiple-word multiplication-accumulation circuit and montgomery modular multiplication-accumulation circuit
JP5027422B2 (en) Remainder processing device
JP3985797B2 (en) Processor
JP5051215B2 (en) Arithmetic system
JP4461669B2 (en) Arithmetic system
KR20200011019A (en) Computation circuit, computation device and system including the same
CN110531954A (en) Multiplier, data processing method, chip and electronic device
JP5248482B2 (en) Programmable data processing circuit
JP7600008B2 (en) Calculation Unit
JP6314083B2 (en) Semiconductor device, memory access control method, and semiconductor device system
JP4896839B2 (en) Microprocessor and data processing method
CN111260070B (en) Operation method, device and related product
JP4791172B2 (en) FFT operation circuit
JP6123510B2 (en) Semiconductor device and method for controlling semiconductor device
JP3858910B2 (en) Address generating apparatus and arithmetic unit
JP5072558B2 (en) Data processing device
JP2020140284A (en) Vector arithmetic processing device, array variable initialization method by vector arithmetic processing device, and array variable initialization program using vector arithmetic processing device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100127

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

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

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

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees