JP2000298654A - Processor element circuit, parallel calculation system and bus bridging method - Google Patents

Processor element circuit, parallel calculation system and bus bridging method

Info

Publication number
JP2000298654A
JP2000298654A JP11106099A JP10609999A JP2000298654A JP 2000298654 A JP2000298654 A JP 2000298654A JP 11106099 A JP11106099 A JP 11106099A JP 10609999 A JP10609999 A JP 10609999A JP 2000298654 A JP2000298654 A JP 2000298654A
Authority
JP
Japan
Prior art keywords
bus
processor element
processor
data
read
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.)
Pending
Application number
JP11106099A
Other languages
Japanese (ja)
Inventor
Shinjirou Inahata
深二郎 稲畑
Sou Yamada
想 山田
Nobuaki Miyagawa
宣明 宮川
Kazuaki Murakami
和彰 村上
Hajime Takashima
一 高島
Kazuyasu Kitamura
一泰 北村
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.)
Taisho Pharmaceutical Co Ltd
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Taisho Pharmaceutical Co Ltd
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 Fuji Xerox Co Ltd, Taisho Pharmaceutical Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP11106099A priority Critical patent/JP2000298654A/en
Publication of JP2000298654A publication Critical patent/JP2000298654A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)
  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce design man-hours of a processor element and a bus ridge circuit when a dedicated system is constructed as a parallel computer system by selecting an operation processing mode and a bridge mode and sharing the same LSI by a processor element and the bus bridge circuit. SOLUTION: This system is constituted of a host computer 11 and plural sheets of boards 12 on which many processor elements 14 are mounted. The host computer 11 and the respective boards 12 are connected to each other with a system bus 13. In the system, a mode selection means can select an operation processing mode and a bridge mode. A processor element circuit is used as the processor element 14 of a parallel calculation system by making it to be the operation processing mode or it can be used as a bus bridge circuit 17 for protocol conversion with the different bus of the parallel calculation system or as a part of it by making it to be the bridge mode.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、非経験的分子軌
道計算や重力多体問題などの膨大な計算を行うための専
用並列計算システムに使用される、バスプロトコル間変
換のためのバスブリッジ装置、およびそのバスブリッジ
装置を使用したシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bus bridge device for conversion between bus protocols used in a dedicated parallel computing system for performing enormous calculations such as ab initio molecular orbital calculations and gravity many-body problems. , And a system using the bus bridge device.

【0002】[0002]

【従来の技術】従来、医薬品の開発や材料設計などの分
野では、実際に物を使って実験を行うことが非常に困難
なものもあるため、近年、計算機によって、医薬品など
の化学現象をシミュレーションする手法が、盛んに用い
られるようになってきた。また、一般に、このような化
学現象のシミュレーションには、膨大な演算量が必要と
されるため、化学者達によって、高速にシミュレーショ
ンを行うための計算アルゴリズムの開発に精力が注ぎ込
まれてきた。また、これと同時に、専用の超並列計算機
が考案され、計算の高速化が図られてきた。
2. Description of the Related Art In the past, in the fields of drug development and material design, it has been extremely difficult to carry out experiments using actual objects. Techniques have become popular. In general, simulating such chemical phenomena requires an enormous amount of computation, and chemists have been devoting their energies to developing calculation algorithms for performing high-speed simulations. At the same time, a dedicated massively parallel computer has been devised to speed up the calculation.

【0003】このような努力の結果、近年、計算化学の
分野では、非経験的分子軌道計算と呼ばれるシミュレー
ション手法が大きな発展を遂げてきた。この非経験的分
子軌道計算手法について説明する。
As a result of such efforts, in recent years, in the field of computational chemistry, a simulation technique called ab initio molecular orbital calculation has been greatly developed. This ab initio molecular orbital calculation method will be described.

【0004】まず、非経験的分子軌道計算手法の概要に
ついて説明する。非経験的分子軌道計算手法の原理は、
例えば「藤永茂、分子軌道法、岩波書店(1980)」
や、「菊池修、基礎量子化学、朝倉書店(1997)」
などに示されている。この方法は、量子化学的な原理に
従って、ある分子が持っているエネルギーを計算で求め
るものである。原子間の距離や配置のうち、このエネル
ギーの値が最小のものを求めることによって、材料の特
性などを判断して薬品の設計などを行うことができる。
First, an outline of the ab initio molecular orbital calculation method will be described. The principle of the ab initio molecular orbital calculation method is
For example, "Shigeru Fujinaga, Molecular Orbital Method, Iwanami Shoten (1980)"
And "Osamu Kikuchi, Basic Quantum Chemistry, Asakura Shoten (1997)"
And so on. In this method, the energy of a certain molecule is calculated by calculation according to the quantum chemical principle. By finding the minimum value of the energy among the distances and arrangements between the atoms, it is possible to determine the characteristics of the material and to design the medicine.

【0005】非経験的分子軌道計算に最もよく使われる
方法として、ハートリーフォック法(HF法)と呼ばれ
る計算手法がある。以下、このHF法の概要について述
べる。
The most frequently used method for ab initio molecular orbital calculation is a calculation method called the Hartree-Fock method (HF method). Hereinafter, the outline of the HF method will be described.

【0006】HF法は、フォック方程式を、後述するS
CF法によって解く方法として定式化されている。ここ
で、フォック方程式は、分子に含まれている原子軌道の
総数をN、原子軌道の線形近似(LCAO)で表される
分子軌道の総数をmとすると、分子全体に関するシュレ
ディンガー方程式に対して1電子近似、LCAO近似を
行った結果得られる FC=SCε (1) という行列による式で表される。HF法は、このフォッ
ク方程式を、後述するSCF(Self Consis
tent Field)法によって解く方法として定式
化されている。この方程式を解くことによって、分子の
有するエネルギーが求まるため、その値により分子が安
定な状態かどうかを判定できる。
In the HF method, the Fock equation is expressed by S
It is formulated as a method to solve by the CF method. Here, assuming that the total number of atomic orbitals contained in a molecule is N and the total number of molecular orbitals expressed by a linear approximation of the atomic orbital (LCAO) is m, the Fock equation is 1 with respect to the Schrodinger equation for the whole molecule. It is expressed by a matrix expression FC = SCε (1) obtained as a result of performing the electronic approximation and the LCAO approximation. The HF method converts this Fock equation into an SCF (Self Consis
(tent field) method. By solving this equation, the energy of the molecule is obtained, and it is possible to determine whether the molecule is in a stable state based on the value.

【0007】(1)式において、Fはフォック行列と呼
ばれるN×Nの行列である。また、Sは重なり行列と呼
ばれるN×Nの行列、Cは係数を表すN×mの行列、ε
は分子軌道を占有するそれぞれの電子が持つエネルギー
を表すm×mの対角行列である。
In the equation (1), F is an N × N matrix called a Fock matrix. S is an N × N matrix called an overlap matrix, C is an N × m matrix representing coefficients, ε
Is an m × m diagonal matrix representing the energy of each electron occupying the molecular orbital.

【0008】ここで、フォック行列の要素Frs(r,
s=1〜N)は、以下の式で表される。
Here, the element Frs (r, r,
s = 1 to N) is represented by the following equation.

【0009】 Frs=hrs+grs =hrs+Σ〔t,u=1〜N〕Ptu((rs,tu) −(1/2)(rt,su)) (2)Frs = hrs + grs = hrs + Σ [t, u = 1 to N] Ptu ((rs, tu) − (1/2) (rt, su)) (2)

【0010】この(2)式のhrsは、1電子に対する
エネルギーを表す積分量であり、(1)式の1回の計算
でN2 個に比例する数だけ計算される。
The hrs in the equation (2) is an integral amount representing the energy for one electron, and is calculated by a number in proportion to N 2 in one calculation of the equation (1).

【0011】なお、この明細書において、Σ〔i,j=
1〜N〕f(i,j)は、iおよびjについて1からN
までの総和を関数f(i,j)について求める演算を示
すものとしている。また、Σ〔i=1〜N〕f(i)
は、iについて1からNまでの総和を関数f(i)につ
いて求める演算を示すものとしている。
In this specification, Σ [i, j =
1-N] f (i, j) is 1 to N for i and j
It is assumed that the calculation for obtaining the sum up to the above for the function f (i, j) is shown. Also, Σ [i = 1 to N] f (i)
Denotes an operation for calculating the sum of 1 to N for i for the function f (i).

【0012】また、(2)式のPtuは密度行列と呼ば
れ、以下のように、上記の行列Cを用いて表される。
Further, Ptu in the equation (2) is called a density matrix, and is expressed by using the above matrix C as follows.

【0013】 Ptu=Σ(j=1〜m)Ctj・Cuj (3) また、(2)式の(rs,tu)(r,s,t,u=1
〜N)は2電子積分と呼ばれる物理量であり、原子軌道
χ(r)(i=1〜N,rは座標)を用いて以下の式
のように表される。
Ptu = Σ (j = 1 to m) Ctj · Cju (3) Also, (rs, tu) (r, s, t, u = 1) in equation (2)
To N) are physical quantities called two-electron integrals, and are represented by the following formula using the atomic orbital χ i (r) (i = 1 to N, where r is a coordinate).

【0014】 (rs,tu)=∫∫χ(r1)χ(r1)(1/r12) ×χ(r2)χ(r2)dr1・dr2 (4)(Rs, tu) = ∫∫χ r (r1) χ s (r1) (1 / r12) × χ t (r2) χ u (r2) dr1 · dr2 (4)

【0015】ここで、r1、r2はそれぞれ独立した2
つの座標系であり、それぞれ全空間にわたって二重積分
が行われる。また、r12は、座標系r1とr2との間の
距離を表す。この2電子積分は、r,s,t,uが、そ
れぞれ原子軌道の数だけ存在するので、(1)式の1回
の計算でN4 個に比例した数だけ必要となる。
Here, r1 and r2 are independent 2
Two coordinate systems, each of which performs double integration over the entire space. R12 represents the distance between the coordinate systems r1 and r2. In this two-electron integration, r, s, t, and u are required by the number of atomic orbitals, respectively, so that a single calculation of the equation (1) requires a number proportional to N 4 in one calculation.

【0016】次に、重なり行列Sの要素Srsは以下の
式で表される。
Next, the element Srs of the overlap matrix S is represented by the following equation.

【0017】 Srs=∫χ(r1)χ(r1)dr1 (5) このように表されるので、HF法は(1)式で表される
m個の固有値εi、固有ベクトルCi(i=1〜m)を
求める問題となる。しかしながら、(2)式、(3)式
より分かるように、(1)式に含まれるフォック行列
は、係数を表すベクトルCiを使って求められるので、
(1)式を解いて得られるCiを使用しないと、Frs
の値も求められないことになる。
Srs = ∫χ r (r1) χ s (r1) dr1 (5) Since it is expressed as described above, the HF method uses m eigenvalues εi and eigenvectors Ci (i = 1 to m). However, as can be seen from the equations (2) and (3), the Fock matrix included in the equation (1) is obtained using the vector Ci representing the coefficient.
If Ci obtained by solving equation (1) is not used, Frs
Will not be determined.

【0018】したがって、まず、Ciの初期値として適
当な値を設定し、そのCiを使用してFrsを求め、
(1)式の固有値問題を解いて、新たなCiを求める。
次に、この求めたCiを使って、新たなFを計算して
(1)式を解く。このように繰り返し計算を行い、最後
にFの計算に使用されたCiと、求められたCiとの間
に殆ど差がなくなったところで計算を終了する。物理的
には、繰り返し毎に分子を構成する各電子が作り出すク
ーロン場と、原子核の作るクーロン場の矛盾がなくなっ
ていくので、この方法は、SCF(self−cons
istent field)法と呼ばれ、分子軌道計算
において広く使われている方法である。
Therefore, first, an appropriate value is set as an initial value of Ci, and Frs is obtained using the Ci.
Solving the eigenvalue problem of equation (1), finds a new Ci.
Next, a new F is calculated using the obtained Ci to solve the equation (1). The calculation is repeated in this manner, and the calculation is terminated when there is almost no difference between the Ci used for the calculation of F and the obtained Ci. Physically, there is no contradiction between the Coulomb field created by each electron constituting the molecule and the Coulomb field created by the nucleus at each repetition, so this method uses the SCF (self-cons
This method is called an isent field method and is widely used in molecular orbital calculations.

【0019】(1)式で表される2電子積分の個数は、
原子軌道の総数Nの4乗に比例するため、例えば生物学
などの分野でよく現れる100個程度の原子からなる分
子を考えた場合、Nの値は1000程度となり、その4
乗の100兆個のオーダーにものぼる。ここで、2電子
積分を計算する前に、値が小さいものを判定してカット
オフする方法が良く用いられるものの、計算が必要な2
電子積分の数は1億個程度であり、膨大な数であること
に変わりはない。
The number of two-electron integrals represented by the equation (1) is
Since the total number of atomic orbitals is proportional to the fourth power of N, for example, in the case of a molecule consisting of about 100 atoms that often appears in the field of biology, for example, the value of N is about 1000.
It is on the order of 100 trillion squares. Here, before calculating the two-electron integral, a method of judging a small value and cutting off the value is often used.
The number of electron integration is about 100 million, which is still a huge number.

【0020】このため、SCF法の各反復には同じ2電
子積分が使用されるものの、2電子積分を一旦計算して
格納しておくメモリ容量がないため、反復毎に2電子積
分を計算し直すというダイレクト法が通常用いられる。
このダイレクト法による分子軌道計算では、2電子積分
の計算に大部分の計算時間が占有されるため、この部分
の高速化が重要となる。
For this reason, although the same two-electron integral is used in each iteration of the SCF method, there is no memory capacity for temporarily calculating and storing the two-electron integral. The direct method of fixing is usually used.
In the molecular orbital calculation by the direct method, since the calculation of the two-electron integral occupies most of the calculation time, it is important to speed up this part.

【0021】ここで、(4)式で表される原子軌道χ
には、通常、2電子積分を解析的に求めることができる
ガウス型関数が使用される。このガウス型関数の原子軌
道を用いた高速な2電子積分の計算法としては、従
来、”S.Obara andA.Saika,J.C
hem.Phys.84,3963(1986)”(以
下文献1という)に示されている方法(以下、小原の方
法と称する)が知られていた。
Here, the atomic orbit χ i represented by the equation (4)
In general, a Gaussian function that can analytically calculate a two-electron integral is used for the calculation. As a method of calculating a high-speed two-electron integral using the atomic orbital of the Gaussian function, a conventional method is described in S. Obara and A. Saika, J.C.
hem. Phys. 84, 3963 (1986) "(hereinafter referred to as Reference 1) (hereinafter referred to as Ohara's method).

【0022】小原の方法は、2電子積分を拡張した補助
積分という物理量を導入し、補助積分を含んだ漸化式の
形式で表される。この漸化式によって、1つの2電子積
分は、より低次の補助積分を含む積和演算の形式によっ
て表される。ある2電子積分を求めるときには、まず、
漸化式に従って、最も次数の低い補助積分だけを含んだ
形式に展開し、次に、積和演算によって、次数の高い補
助積分を順次求めていくことによって計算が行われる。
すなわち、2電子積分の計算は、一連の特定の形式を持
った積和演算に帰着される。
Ohara's method introduces a physical quantity called an auxiliary integral which is an extension of the two-electron integral, and is expressed in the form of a recurrence formula including the auxiliary integral. According to the recurrence formula, one two-electron integral is represented by a form of a product-sum operation including a lower-order auxiliary integral. When calculating a certain two-electron integral, first,
According to the recurrence formula, the calculation is performed by expanding to a form including only the lowest-order auxiliary integral, and then sequentially obtaining higher-order auxiliary integrals by a product-sum operation.
In other words, the calculation of the two-electron integral results in a series of product-sum operations with a particular format.

【0023】このように、分子軌道計算では計算量が膨
大となるため、2電子積分の計算などを並列化して、計
算時間を短縮することが行われてきた。高速に分子軌道
計算を行うための公知の技術としては、特開平9−50
428号公報、特開平9−50458号公報にみられる
ように、異なる2電子積分を複数のプロセッサで計算す
る方法、あるいは「超高速分子軌道計算専用機MOEの
アーキテクチャ」(Tech.Rep.IEICE.,
CPSY96−46,1996−05)などに示されて
いるように、専用の並列計算機を用いて計算を行う方法
がある。
As described above, since the amount of calculation in the molecular orbital calculation becomes enormous, the calculation of two-electron integral and the like have been parallelized to reduce the calculation time. Known techniques for performing high-speed molecular orbital calculation include Japanese Patent Application Laid-Open No. 9-50 / 1990.
No. 428, Japanese Unexamined Patent Publication No. 9-50458, a method of calculating different two-electron integrals by a plurality of processors, or “Architecture of MOE for exclusive use in ultra-high-speed molecular orbital calculation” (Tech. ,
As shown in CPSY96-46, 1996-05), there is a method of performing calculation using a dedicated parallel computer.

【0024】特に、分子軌道計算では、2電子積分の計
算量が大きく、この計算は互いに独立しており、比較的
並列化し易いことから、スーパーコンピュータで計算す
るよりも、プロセッサエレメントを多数備えた高速な専
用計算機で計算したほうが高速になる。このように、近
年、特定のアプリケーションに対して専用計算機を用い
た計算が盛んに行われるようになった。
In particular, in the molecular orbital calculation, the calculation amount of the two-electron integral is large, and this calculation is independent of each other and relatively easy to parallelize. It is faster to calculate with a high-speed dedicated computer. As described above, in recent years, calculations using a special-purpose computer for a specific application have been actively performed.

【0025】図7に、分子軌道計算などを行うための専
用システムとしての並列計算システムの一例を示す。こ
のシステムは、汎用のワークステーションやPC(パー
ソナルコンピュータ)を使用して構成されるホストコン
ピュータ1と、多数のプロセッサエレメント4を搭載し
た複数枚のボード2とから構成され、ホストコンピュー
タ1と各ボード2との間は、システムバス3で結合され
ている。
FIG. 7 shows an example of a parallel computing system as a dedicated system for performing molecular orbital calculations and the like. This system includes a host computer 1 configured using a general-purpose workstation or a PC (personal computer), and a plurality of boards 2 on which a large number of processor elements 4 are mounted. 2 is connected by a system bus 3.

【0026】さらに、各ボード2内においては、多数の
プロセッサエレメント4のそれぞれには、ローカルメモ
リ5が接続されて設けられている。そして、多数のプロ
セッサエレメント4が、ボードバス6を通して接続され
ている。ボードバス6と、システムバス3との間は、バ
スブリッジ7を介して接続されている。
Further, in each board 2, a local memory 5 is connected to each of a number of processor elements 4. Many processor elements 4 are connected through a board bus 6. The board bus 6 and the system bus 3 are connected via a bus bridge 7.

【0027】システムバス3には、高速性の他に、これ
がホストコンピュータ1に直接接続するバスであること
から、汎用性が要求される。また、プロセッサエレメン
ト4では、計算に必要なパラメータや制御変数などを使
って高速に計算を行わなければならないため、ボードバ
ス6には、主に高速性が要求される。
The system bus 3 is required to have high versatility in addition to high speed because it is a bus directly connected to the host computer 1. In addition, the processor element 4 must perform high-speed calculations using parameters and control variables necessary for the calculation, and therefore the board bus 6 is mainly required to have high speed.

【0028】ボードバス6を高速にするためには、バス
の負荷容量を小さくしなければならず、このためには、
1本のボードバス6に接続されているプロセッサエレメ
ント4の個数を少なくして、さらに、ボードバス6自体
も短くしなければならない。このため、あるボード2上
のボードバス6は、他のボード2のボードバス6とは分
離されていなければならない。さらに、ボードバス6に
は、専用に開発された高速バスや、最新のテクノロジを
駆使した新しい高速のバスが採用されることが多く、汎
用のPCやワークステーションには、このようなバス
は、まだ実装されていない場合が多い。
In order to increase the speed of the board bus 6, it is necessary to reduce the load capacity of the bus.
The number of processor elements 4 connected to one board bus 6 must be reduced, and the board bus 6 itself must be shortened. For this reason, the board bus 6 on one board 2 must be separated from the board bus 6 on another board 2. In addition, a high-speed bus developed exclusively for the board bus or a new high-speed bus utilizing the latest technology is often used for the board bus 6, and such a bus is used for general-purpose PCs and workstations. Often not implemented yet.

【0029】このために、各ボード上には、システムバ
ス3とボードバス6との間でプロトコル変換などの中継
を行うためのバスブリッジ7が必要になるのである。こ
の種のバスブリッジ回路の例は、特開平6−37768
号公報などに記載されている。
For this reason, a bus bridge 7 for relaying protocol conversion and the like between the system bus 3 and the board bus 6 is required on each board. An example of this type of bus bridge circuit is disclosed in JP-A-6-37768.
No., etc.

【0030】[0030]

【発明が解決しようとする課題】ところで、専用システ
ムの場合には、カスタムのプロセッサエレメントを設計
することが必要な場合が多い。また、特に、上述した分
子軌道法などの膨大な量の計算を行わなければならない
場合、必然的に、プロセッサエレメントの規模が大きく
なってしまうため、プロセッサエレメントの設計の工数
がかかってしまう。
By the way, in the case of a dedicated system, it is often necessary to design a custom processor element. In particular, when a huge amount of calculations such as the molecular orbital method described above must be performed, the scale of the processor element inevitably increases, and thus the man-hour for designing the processor element is increased.

【0031】また、前述のように、ボードバス6には専
用のバスなどが使用されるため、バスブリッジ回路7に
は汎用の製品はなく、新規設計しなければならない。こ
のため、プロセッサエレメント4の設計工数とともに、
バスブリッジ7の設計工数がかかってしまう問題があ
る。
As described above, since a dedicated bus or the like is used for the board bus 6, there is no general-purpose product in the bus bridge circuit 7, and it must be newly designed. For this reason, along with the design man-hour of the processor element 4,
There is a problem that the design man-hour of the bus bridge 7 is required.

【0032】前述の特開平6−37768号公報に記載
された発明は、バス間の転送バッファの容量を減少させ
ることが目的であるが、近年の半導体プロセスの向上に
より、バッファ容量はあまり問題とはならない。むし
ろ、特に専用システムの場合には、上で述べた設計工数
の増大を抑えることが重要な課題となる。
The purpose of the invention described in the above-mentioned Japanese Patent Application Laid-Open No. Hei 6-37768 is to reduce the capacity of a transfer buffer between buses. Not be. Rather, especially in the case of a dedicated system, it is important to suppress the increase in the number of design steps described above.

【0033】この発明は、上記の点にかんがみ、並列計
算システムとして専用システムを構築する場合に、その
プロセッサエレメント、およびバスブリッジ回路の設計
工数を減少させることを目的とする。
In view of the above, it is an object of the present invention to reduce the number of design steps for a processor element and a bus bridge circuit when a dedicated system is constructed as a parallel computing system.

【0034】[0034]

【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明によるプロセッサエレメント回路
は、演算を並列に行う機能を備えると共に、複数個のバ
スを備え、この複数個のバス間のブリッジを行うための
ブリッジ回路を備える並列計算システムにおいて用いら
れるプロセッサエレメント回路であって、データを格納
するための内部メモリと、内部に第1のレジスタを備
え、前記内部メモリまたは前記第1のレジスタから読み
出したデータに対して演算を施し、その演算結果を前記
内部メモリまたは前記第1のレジスタに格納する演算器
と、プロセッサエレメント回路を、演算処理モードと、
ブリッジモードとのいずれで動作させるかを選択するモ
ード選択手段と、前記モード選択手段によって前記演算
処理モードが選択されたときは、プロセッサエレメント
回路と外部メモリとの間で、前記モード選択手段によっ
て前記ブリッジモードが選択されたときは、プロセッサ
エレメント回路と周辺回路との間で、それぞれデータの
入出力を行うインタフェース手段と、前記モード選択手
段によって前記演算処理モードが選択されているときに
は、起動時に待機状態となり、その後の起動操作により
動作状態となり、前記モード選択手段によって前記ブリ
ッジモードが選択されているときには、起動時にブート
状態となり、その後の遷移操作により動作状態となり、
さらに、内部にデータを格納するための第2のレジスタ
を備え、命令列に従って動作することにより、少なくと
も前記演算器を制御する機能と、前記モード選択手段に
よる選択結果に応じて、前記外部メモリまたは前記周辺
回路と前記第2のレジスタまたは前記第1のレジスタと
の間でデータを入出力する機能とを有するプロセッサ手
段と、前記ブート状態のときに特定の命令列を前記プロ
セッサ手段に供給し、特定の命令列によってROMから
読み出された命令列を前記内部メモリに格納し、特定の
命令列の供給終了後前記プロセッサ手段に対して前記遷
移操作を行い、前記プロセッサ手段が前記動作状態のと
きは前記内部メモリから命令列を読み出して前記プロセ
ッサ手段に供給する命令選択手段と、外部バスから入力
されたデータを前記内部メモリまたは前記外部メモリに
格納し、前記内部メモリまたは前記外部メモリに格納さ
れているデータを読み出して前記外部バスに出力し、前
記外部バスからの入力に応じて前記プロセッサ手段に対
して前記起動操作を行う外部バスインタフェース手段
と、を備えることを特徴とする。
In order to achieve the above object, a processor element circuit according to the present invention has a function of performing arithmetic operations in parallel and a plurality of buses. A processor element circuit used in a parallel computing system including a bridge circuit for performing a bridge between the internal memory and the first memory, the internal memory for storing data, and a first register therein. An arithmetic unit for performing an operation on the data read from the register and storing the operation result in the internal memory or the first register; and a processor element circuit,
A mode selection unit for selecting which of a bridge mode and an operation is to be performed, and when the arithmetic processing mode is selected by the mode selection unit, the mode selection unit sets the processor operation between the processor element circuit and the external memory. When the bridge mode is selected, the interface means for inputting / outputting data between the processor element circuit and the peripheral circuit, and when the arithmetic processing mode is selected by the mode selecting means, the apparatus stands by at startup. State, becomes an operating state by a subsequent starting operation, and when the bridge mode is selected by the mode selecting means, becomes a booting state at the time of starting, and becomes an operating state by a subsequent transition operation,
Furthermore, a second register for storing data therein is provided, and is operated in accordance with an instruction sequence, so that at least the function of controlling the arithmetic unit and the external memory or the external memory or Processor means having a function of inputting and outputting data between the peripheral circuit and the second register or the first register; and supplying a specific instruction sequence to the processor means in the boot state. When the instruction sequence read from the ROM by the specific instruction sequence is stored in the internal memory, the transition operation is performed on the processor unit after the supply of the specific instruction sequence is completed, and the processor unit is in the operating state. Instruction selection means for reading an instruction sequence from the internal memory and supplying it to the processor means; The data stored in the internal memory or the external memory is read, and the data stored in the internal memory or the external memory is read and output to the external bus. External bus interface means for performing operations.

【0035】また、請求項2の発明は、請求項1に記載
のプロセッサエレメント回路において、前記プロセッサ
手段は、割り込みを処理する手段を備え、前記インタフ
ェース手段は、前記選択入力によってブリッジモードが
選択されているときには、前記周辺回路からの割り込み
を入力して、前記プロセッサ手段に供給する手段を備
え、前記外部バスインタフェース手段は、前記外部バス
から特定のデータが入力されると、前記プロセッサ手段
に割り込みを供給する手段を備えることを特徴とする。
According to a second aspect of the present invention, in the processor element circuit according to the first aspect, the processor means includes means for processing an interrupt, and the interface means selects a bridge mode by the selection input. Means for inputting an interrupt from the peripheral circuit and supplying it to the processor means, wherein the external bus interface means interrupts the processor means when specific data is input from the external bus. Is provided.

【0036】また、請求項3の発明は、演算を並列に行
う機能を備えると共に、複数のバスを備え、この複数の
バス間のブリッジを行うためのブリッジ回路を備える並
列計算システムにおいて、システム全体の制御を行うた
めのホストコンピュータと、請求項1または請求項2に
記載のプロセッサエレメント回路であって、前記モード
選択手段により前記演算処理モードとされたプロセッサ
エレメントと、複数個の前記プロセッサエレメントをそ
れぞれ搭載する複数個のボードと、前記各ボード上で、
前記複数のプロセッサエレメントの前記外部バスインタ
フェース手段同士を接続するための第1のバスと、前記
ホストコンピュータと、前記複数個のボードとを接続す
るための第2のバスと、請求項1または請求項2に記載
のプロセッサエレメント回路であり、前記モード選択手
段によりブリッジモードとされ、前記各ボード上で前記
第1のバスとは前記外部バスインタフェース手段が接続
され、前記第2のバスとは変換回路を通して前記インタ
フェース手段が接続され、それらの手段によって前記第
1のバスと前記第2のバスとの間で相互にプロトコル変
換する、バスブリッジと、を備えることを特徴とする。
According to a third aspect of the present invention, there is provided a parallel computing system having a function of performing operations in parallel, a plurality of buses, and a bridge circuit for bridging the plurality of buses. And a processor element circuit according to claim 1 or 2, wherein the processor element is set to the arithmetic processing mode by the mode selecting means, and a plurality of the processor elements are controlled by the processor element. Multiple boards to be mounted on each, and on each of the boards,
2. A first bus for connecting the external bus interface means of the plurality of processor elements to each other, a second bus for connecting the host computer and the plurality of boards, and Item 3. The processor element circuit according to Item 2, wherein a bridge mode is set by the mode selection means, the external bus interface means is connected to the first bus on each of the boards, and a conversion is made to the second bus. A bus bridge connected to the interface means through a circuit and performing protocol conversion between the first bus and the second bus with each other by the means.

【0037】また、請求項4の発明は、請求項3に記載
の並列計算システムにおいて、異なるプロトコルを持つ
前記第1のバスと前記第2のバスとの間のプロトコル変
換を行うバスブリッジ方法であって、前記プロセッサエ
レメントから、前記第1のバスの外側に位置するノード
に対する書き込み要求、書き込みアドレス、書き込みデ
ータを含んだ書き込み情報を、第1のバスの書き込み手
順に基づいて受け取る手順と、前記書き込み情報をもと
にして、前記第2のバスの書き込み手順に基づいて、前
記書き込みアドレスに対して前記書き込みデータを書き
込む手順と、を有することを特徴とする。
According to a fourth aspect of the present invention, there is provided a bus bridge method for performing a protocol conversion between the first bus and the second bus having different protocols in the parallel computing system according to the third aspect. Receiving, from the processor element, write information including a write request, a write address, and write data for a node located outside the first bus based on a write procedure of the first bus; Writing the write data to the write address based on the write information based on the write procedure of the second bus.

【0038】さらに、請求項5の発明は、請求項3に記
載の並列計算システムにおいて、異なるプロトコルをも
つ前記第1のバスと前記第2のバスとの間のプロトコル
変換を行うバスブリッジ方法であって、前記プロセッサ
エレメントから、前記第1のバスの外側に位置するノー
ドからの読み出し要求、読み出しアドレス、読み出しデ
ータを格納するプロセッサエレメントのアドレスを含ん
だ読み出し情報を、第1のバスの書き込み手順に基づい
て受け取る手順と、前記読み出し情報をもとにして、前
記第2のバスの読み出し手順に基づいて、前記読み出し
アドレスからデータを読み出す手順と、前記読み出した
データを、前記読み出し情報に含まれるプロセッサエレ
メントのアドレスに、前記第2のバスの書き込み手順に
基づいて書き込む手順と、を有することを特徴とする。
Furthermore, the invention of claim 5 is a bus bridge method for performing a protocol conversion between the first bus and the second bus having different protocols in the parallel computing system according to claim 3. A read request including a read request from a node located outside the first bus, a read address, and an address of a processor element for storing read data from the processor element is written into the first bus by the processor element. A step of receiving data based on the read information, a step of reading data from the read address based on the read procedure of the second bus, and the read data being included in the read information. Write to the address of the processor element based on the write procedure of the second bus And having a forward, a.

【0039】[0039]

【作用】請求項1の発明においては、モード選択手段に
よって演算処理モードとブリッジモードの選択が可能と
なり、プロセッサエレメント回路を、演算処理モードと
することによって並列計算システムのプロセッサエレメ
ントとして使用し、また、ブリッジモードとすることに
よって並列計算システムの異なるバスの間のプロトコル
変換を行うためのバスブリッジ回路またはその一部とし
て使用することが可能になる。
According to the first aspect of the present invention, the operation mode and the bridge mode can be selected by the mode selection means, and the processor element circuit is used as the processor element of the parallel computing system by setting the operation mode to the operation mode. By setting the bridge mode, the parallel computing system can be used as a bus bridge circuit for performing protocol conversion between different buses or a part thereof.

【0040】また、請求項2の発明によれば、プロセッ
サ手段に割り込み処理を行わせるようにしたため、プロ
セッサエレメント回路をバスブリッジ回路またはその一
部として使用したとき、任意の時刻で入出力されるバス
との間のデータを容易に処理することが可能となる。
According to the second aspect of the present invention, since the processor means is made to perform interrupt processing, when the processor element circuit is used as a bus bridge circuit or a part thereof, it is input / output at an arbitrary time. Data to and from the bus can be easily processed.

【0041】また、請求項3の発明によれば、並列計算
システムで、プロセッサエレメントとバスブリッジ回路
とを同一のプロセッサエレメント回路を使用して構成す
ることが可能になるため、システムの開発コストを削減
するとともに、システムの開発期間を短縮することがで
きる。
According to the third aspect of the present invention, in the parallel computing system, the processor element and the bus bridge circuit can be configured by using the same processor element circuit. In addition to the reduction, the development period of the system can be shortened.

【0042】また、請求項4の発明によれば、プロセッ
サエレメント回路を使ってバスブリッジ回路を構成して
いる場合に、第1のバスから直接書き込みアクセスする
ことができない第2のバスの資源を、第1のバスの書き
込みを利用してアクセスできるようになる。したがっ
て、特別な回路を追加することなく、第1のバスからア
クセスすることが可能になる。
According to the fourth aspect of the present invention, when the bus bridge circuit is configured using the processor element circuit, the resources of the second bus that cannot be directly accessed for writing from the first bus are used. , Can be accessed using the writing of the first bus. Therefore, it is possible to access from the first bus without adding a special circuit.

【0043】また、請求項5の発明によれば、プロセッ
サエレメント回路を使ってバスブリッジ回路を構成して
いる場合に、第1のバスから直接読み出しアクセスする
ことができない第2のバスの資源を、第1のバスの書き
込みを利用してアクセスできるようになる。したがっ
て、特別な回路を追加することなく、第1のバスからア
クセスすることが可能になる。
According to the fifth aspect of the present invention, when a bus bridge circuit is configured using a processor element circuit, resources of the second bus which cannot be directly read and accessed from the first bus are used. , Can be accessed using the writing of the first bus. Therefore, it is possible to access from the first bus without adding a special circuit.

【0044】[0044]

【発明の実施の形態】以下、この発明の実施の形態を図
を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0045】[システムの構成]図2は、この発明によ
る並列計算システムの実施の形態の構成を示したブロッ
ク図である。この図2の実施の形態は、並列計算システ
ムを専用システムの構成としたものであって、このシス
テムは、汎用のワークステーションやPC(パーソナル
コンピュータ)を使用して構成されるホストコンピュー
タ11と、多数のプロセッサエレメント14を搭載した
複数枚のボード12とから構成され、ホストコンピュー
タ11と、各ボード12との間は、システムバス13で
結合されている。
[System Configuration] FIG. 2 is a block diagram showing a configuration of an embodiment of a parallel computing system according to the present invention. In the embodiment shown in FIG. 2, the parallel computing system is configured as a dedicated system. This system comprises a host computer 11 configured using a general-purpose workstation or a PC (personal computer); It comprises a plurality of boards 12 on which a number of processor elements 14 are mounted, and the host computer 11 and each board 12 are connected by a system bus 13.

【0046】各ボード12内においては、多数のプロセ
ッサエレメント14のそれぞれには、ローカルメモリ1
5が接続されて設けられている。そして、多数のプロセ
ッサエレメント14が、ボードバス16を通して接続さ
れている。ボードバス16と、システムバス13とは、
バスブリッジ回路17を介して接続されている。
In each board 12, each of a number of processor elements 14 has a local memory 1
5 are connected and provided. Many processor elements 14 are connected through a board bus 16. The board bus 16 and the system bus 13
They are connected via a bus bridge circuit 17.

【0047】ホストコンピュータ11は、図2のシステ
ムの全体の制御を行う。各ボード12は、このシステム
で行う個々の計算を並列に行う。各ボード12のプロセ
ッサエレメント14は、その内部に、プログラムによっ
て動作する浮動小数点演算器を備え、各ボード2に与え
られた個々の計算(浮動小数点積和演算)を実行する。
ローカルメモリ15には、計算に使用されるパラメータ
や制御変数などを格納する。各プロセッサエレメント1
4は、このローカルメモリに格納されたパラメータや制
御変数などを用いながら、計算を実行する。
The host computer 11 controls the entire system shown in FIG. Each board 12 performs individual calculations performed in this system in parallel. The processor element 14 of each board 12 includes therein a floating-point arithmetic unit operated by a program, and executes individual calculations (floating-point multiply-add operation) given to each board 2.
The local memory 15 stores parameters and control variables used for calculation. Each processor element 1
4 executes a calculation using the parameters and control variables stored in the local memory.

【0048】この実施の形態においては、バスブリッジ
回路17を開発する工数を削減するために、バスブリッ
ジ回路17と、プロセッサエレメント14とを、共通の
LSIを使用して構成する。詳細については後述する。
In this embodiment, the bus bridge circuit 17 and the processor element 14 are configured using a common LSI in order to reduce the number of steps for developing the bus bridge circuit 17. Details will be described later.

【0049】次に、図2の並列計算システムにおけるシ
ステムバス13とボードバス16について説明する。
Next, the system bus 13 and the board bus 16 in the parallel computing system of FIG. 2 will be described.

【0050】システムバス13は、汎用のPCなどで構
成されるホストコンピュータ11に接続されるため、前
述の通り汎用バスが用いられる。システムバス13に使
用される汎用バスの例としては種々あるが、この実施の
形態では、IEEE1394シリアルバスを用いる。こ
のIEEE1394シリアルバスは、現状で、最大転送
レートが400Mbpsであり、汎用といいながらも十
分な高速性を保持している。
Since the system bus 13 is connected to the host computer 11 composed of a general-purpose PC or the like, the general-purpose bus is used as described above. There are various examples of a general-purpose bus used for the system bus 13. In this embodiment, an IEEE 1394 serial bus is used. At present, the IEEE 1394 serial bus has a maximum transfer rate of 400 Mbps, and has a sufficient high-speed even though it is generally used.

【0051】また、ボードバス16には高速なパラレル
バスなどが使用される。このボードバス16に使用され
るバスの例も種々あるが、この実施の形態では、現状で
最大800Mbpsの通信性能を持つPPRAM−Li
nkを用いる。
The board bus 16 is a high-speed parallel bus or the like. Although there are various examples of a bus used for the board bus 16, in this embodiment, at present, a PPRAM-Li having a communication performance of up to 800 Mbps is used.
nk.

【0052】図2においては、各ボード12のバスブリ
ッジ回路17にポートが2個ずつ用意され、それらのポ
ートを用いて、各ボード12を順次に直列に接続したI
EEE1394シリアルバスのデイジーチェーン形式
で、システムバス13は構成されている。
In FIG. 2, two ports are prepared in the bus bridge circuit 17 of each board 12, and each board 12 is connected in series by using these ports.
The system bus 13 is configured in a daisy chain format of the EEE1394 serial bus.

【0053】また、PPRAM−Linkでは、バス上
の負荷容量を小さくするために、後述するように、17
ビット信号によって単方向リング状に接続されるため、
図2に示したボードバス16の接続形態も、この形状と
なっている。
In the PPRAM-Link, as described later, in order to reduce the load capacity on the bus,
Because they are connected in a unidirectional ring by bit signals,
The connection form of the board bus 16 shown in FIG. 2 also has this shape.

【0054】以下、ボードバス16に使用されるPPR
AM−Linkの仕様について、さらに詳しく説明す
る。PPRAM−Linkに関しては、「PPRAM−
Link論理階層仕様(九大案0.1版)の概要」(山
崎ら、Tech.Rep.IEICE.,ICD97−
24,1997−05)、「PPRAM−Linkイン
タフェース・コアの開発」(橋本ら、情報処理学会研究
報告,ARC−125−11,1997−08)などに
記されている。まず、PPRAM−Linkの接続例を
図4に示す。
Hereinafter, the PPR used for the board bus 16 will be described.
The specification of AM-Link will be described in more detail. For PPRAM-Link, refer to “PPRAM-
Overview of Link Logic Hierarchy Specification (Kyudai Univ., 0.1 Edition) "(Yamazaki et al., Tech. Rep. IEICE., ICD97-
24, 1997-05), and "Development of PPRAM-Link Interface Core" (Hashimoto et al., Information Processing Society of Japan, ARC-125-11, 1997-08). First, a connection example of the PPRAM-Link is shown in FIG.

【0055】図4において、N1〜N5はPPRAMノ
ードと呼ばれる基本的な構成単位である。PPRAMノ
ードN1〜N5のそれぞれは、17ビットの入力端子I
nputLinkおよび出力端子OutputLink
を有しており、図4の例に示したように、隣り合うPP
RAMノードの入力端子InputLinkと出力端子
OutputLinkとが接続されて、全体として単方
向のリング状に接続されている。
In FIG. 4, N1 to N5 are basic structural units called PPRAM nodes. Each of the PPRAM nodes N1 to N5 has a 17-bit input terminal I
nOutputLink and output terminal OutputLink
And, as shown in the example of FIG.
The input terminal InputLink and the output terminal OutputLink of the RAM node are connected, and are connected in a unidirectional ring as a whole.

【0056】入力端子InputLink、あるいは出
力端子OutputLinkの17ビットの信号のそれ
ぞれ上位16ビットがシンボル信号、下位1ビットがフ
ラグ信号となっており、これらの信号は、図示を省略し
た共通のクロック信号に同期して、1クロックに1個ず
つ転送される。1個のLSIに複数のPPRAMノード
が含まれても良いが、この実施の形態では、1個のPP
RAMノードが1個のプロセッサエレメント14に相当
する。
The upper 16 bits of the 17-bit signal of the input terminal InputLink or the output terminal OutputLink are the symbol signal, and the lower 1 bit is the flag signal. These signals are used as common clock signals (not shown). Synchronously, data is transferred one by one clock. Although one LSI may include a plurality of PPRAM nodes, in this embodiment, one PPRAM node is used.
The RAM node corresponds to one processor element 14.

【0057】PPRAMノードN1〜N5の各々には、
システム全体で固有のノード識別子が割り当てられてお
り、また、各PPRAMノード内のメモリなどにはオフ
セットアドレスが割り当てられている。各PPRAMノ
ード間のアクセスは、このノード識別子とオフセットア
ドレスを用いて行われる。
Each of the PPRAM nodes N1 to N5 has
A unique node identifier is assigned to the entire system, and an offset address is assigned to a memory or the like in each PPRAM node. Access between the PPRAM nodes is performed using the node identifier and the offset address.

【0058】次に、2つのPPRAMノード間の通信に
ついて、図4のPPRAMノードN1からPPRAMノ
ードN3に備えられているメモリなどに対するリード
(読み出し)、ライト(書き込み)などのアクセスを行
うときを例にとって説明する。なお、1回のアクセスは
トランザクションと呼ばれる。
Next, with respect to communication between two PPRAM nodes, an example in which access such as read (read) and write (write) is performed from the PPRAM node N1 to the memory provided in the PPRAM node N3 in FIG. To explain. One access is called a transaction.

【0059】このようなトランザクションは、PPRA
Mノード間でパケットをやりとりすることで行われる。
ここで、パケットとは、PPRAM−Linkにおける
通信の1単位のことであり、前述の入力端子Input
Linkや出力端子OutputLinkの信号に含ま
れる16ビットのシンボル信号を通して、複数クロック
にわたって連続して転送される。このとき、前述のフラ
グ信号は、パケットの判別などの制御に使用される。さ
らに、1クロックでシンボル信号を通して転送される1
6ビットデータは1シンボルと呼ばれる。
Such a transaction is referred to as PPRA
This is performed by exchanging packets between the M nodes.
Here, the packet is one unit of communication in the PPRAM-Link, and is the input terminal Input described above.
The signal is continuously transferred over a plurality of clocks through a 16-bit symbol signal included in the signal of the Link or the output terminal OutputLink. At this time, the above-mentioned flag signal is used for control such as packet discrimination. Furthermore, 1 clock transmitted through the symbol signal in 1 clock
6-bit data is called one symbol.

【0060】また、PPRAM−Linkでは、上述し
たように、単方向のリング状に接続されているため、パ
ケットがPPRAMノードN1からPPRAMノードN
3に送られるときは、図4のPPRAMノードN1→P
PRAMノードN2→PPRAMノードN3の経路が使
われ、パケットがPPRAMノードN3からPPRAM
ノードN1に送られるときは、図4のPPRAMノード
N3→PPRAMノードN4→PPRAMノードN5→
PPRAMノードN1の経路が使われる。
In the PPRAM-Link, as described above, since packets are connected in a unidirectional ring, packets are transferred from the PPRAM node N1 to the PPRAM node N.
3 is sent to the PPRAM node N1 → P in FIG.
The path from the PRAM node N2 to the PPRAM node N3 is used, and the packet is transferred from the PPRAM node N3 to the PPRAM.
When sent to the node N1, the PPRAM node N3 in FIG. 4 → the PPRAM node N4 → the PPRAM node N5 →
The path of the PPRAM node N1 is used.

【0061】図5は、この実施の形態の場合の通信手順
を示すものであり、上述したように、PPRAMノード
N1(要求側)からPPRAMノードN3(応答側)に
備えられているメモリなどに対するアクセスを行うため
の1回のトランザクションの手順を示した概念図であ
る。通信は以下の手順に従って行われる。
FIG. 5 shows a communication procedure in the case of this embodiment. As described above, the PPRAM node N1 (request side) switches from the memory provided in the PPRAM node N3 (response side) to the like. FIG. 7 is a conceptual diagram showing a procedure of one transaction for performing access. Communication is performed according to the following procedure.

【0062】PPRAMノードN1からPPRAMノ
ードN3に要求送出パケットを送付する。
A request transmission packet is sent from the PPRAM node N1 to the PPRAM node N3.

【0063】PPRAMノードN3からPPRAMノ
ードN1に要求受領パケットを送付する。
A request reception packet is sent from PPRAM node N3 to PPRAM node N1.

【0064】PPRAMノードN3からPPRAMノ
ードN1に応答送出パケットを送付する。
A response transmission packet is sent from PPRAM node N3 to PPRAM node N1.

【0065】PPRAMノードN1からPPRAMノ
ードN3に応答受領パケットを送付する。
A response reception packet is sent from PPRAM node N1 to PPRAM node N3.

【0066】ここで、各パケットにはヘッダ情報が含ま
れている。このヘッダ情報には、パケットを発行したノ
ードのノード識別子、パケット送付先のノード識別子、
パケット送付先のメモリのオフセットアドレス、トラン
ザクションの種類(読み出し、書き込みなど)などの情
報が含まれている。このため、要求側ノードと応答側ノ
ードとは、ヘッダ情報を基にしてパケットの受け渡しを
行うことが可能となる。
Here, each packet contains header information. This header information includes the node identifier of the node that issued the packet, the node identifier of the packet destination,
It contains information such as the offset address of the packet destination memory and the type of transaction (read, write, etc.). Therefore, the requesting node and the responding node can exchange packets based on the header information.

【0067】また、PPRAMノードN1からの読み出
し要求のときには、PPRAMノードN3は、前記の
応答送出パケットに、このヘッダとともにメモリから読
み出したデータを付加して送付する。
When a read request is made from the PPRAM node N1, the PPRAM node N3 adds the header and the data read from the memory to the above-mentioned response transmission packet and sends it.

【0068】さらに、PPRAMノードN1からの書き
込み要求のときには、PPRAMノードN1は、前記
の要求送出パケットに、PPRAMノードN3に書き込
むべきデータを付加して送付する。
Further, when a write request is issued from the PPRAM node N1, the PPRAM node N1 adds the data to be written to the PPRAM node N3 to the request transmission packet and sends the packet.

【0069】また、要求受領パケット、応答受領パケッ
トは、送出パケットを送ったPPRAMノードが、伝送
経路の途中でパケットが消失せずに送付先に到着したこ
とを確認するためのパケットである。なお、と、
とのように、送出パケットの転送と受領パケットの転
送のことを、まとめてサブアクションと呼ぶ。
The request acknowledgment packet and the response acknowledgment packet are packets for confirming that the PPRAM node that sent the transmission packet has arrived at the destination without losing the packet in the middle of the transmission path. In addition, and
The transfer of the transmission packet and the transfer of the reception packet as described above are collectively referred to as a subaction.

【0070】このように、PPRAM−Linkにおけ
る1回のトランザクションは、上に述べた手順によって
行われる。
As described above, one transaction in the PPRAM-Link is performed according to the procedure described above.

【0071】次に、前述した分子軌道計算を例にとり、
この図2のシステムの動作について説明する。まず、計
算の概要について説明する。
Next, taking the above-mentioned molecular orbital calculation as an example,
The operation of the system shown in FIG. 2 will be described. First, an outline of the calculation will be described.

【0072】前述のように、分子軌道計算では、個々の
2電子積分の計算量は、基底数Nの4乗に比例し、ま
た、それぞれの計算は独立して実施できる。また、
(1)式で表されるフォック行列の対角化の計算量は、
Nの3乗に比例するが、個々の計算は互いに依存しあっ
ている。この計算では、2電子積分の絶対値が十分に小
さいものは、前述のようにカットオフされるが、それで
も実用的な大きさの基底を考えた場合、2電子積分の計
算量の方がフォック行列の対角化の計算よりも圧倒的に
多い。
As described above, in the molecular orbital calculation, the calculation amount of each two-electron integral is proportional to the fourth power of the basis number N, and each calculation can be performed independently. Also,
The computational complexity of the diagonalization of the Fock matrix represented by equation (1) is
Although proportional to the third power of N, the individual calculations are dependent on each other. In this calculation, if the absolute value of the two-electron integral is sufficiently small, the cutoff is performed as described above. However, when considering a base of a practical size, the calculation amount of the two-electron integral is smaller than that of the two-electron integral. It is far more than the calculation of the diagonalization of the matrix.

【0073】そこで、図2に示した専用システムで分子
軌道計算を実行する場合、計算量が多く独立しているた
め通信が少ない2電子積分の計算を、複数個のプロセッ
サエレメント14で並列に実施し、計算量が比較的少な
く、互いに依存しているフォック行列の対角化の計算
は、ホストコンピュータ11で行う。
Therefore, when the molecular orbital calculation is performed by the dedicated system shown in FIG. 2, the calculation of the two-electron integral with a small amount of communication due to a large amount of calculation is performed in parallel by a plurality of processor elements 14. The calculation of the diagonalization of the Fock matrices, which have a relatively small amount of calculation and depend on each other, is performed by the host computer 11.

【0074】また、プロセッサエレメント14で計算し
た2電子積分を、ホストコンピュータ11に送付して、
ホストコンピュータ11で(2)式に従ってフォック行
列要素を計算すると、膨大な量の2電子積分のデータを
ボードバス16やシステムバス13を通して通信しなけ
ればならない。この結果、高速に2電子積分やフォック
行列を対角化しても、通信速度がシステムの性能を律速
してしまい、システムの分子軌道計算の速度を向上させ
ることができない。
The two-electron integral calculated by the processor element 14 is sent to the host computer 11 and
When the host computer 11 calculates the Fock matrix elements according to the equation (2), an enormous amount of two-electron integral data must be communicated through the board bus 16 and the system bus 13. As a result, even if the two-electron integration or the Fock matrix is diagonalized at high speed, the communication speed limits the performance of the system, and the speed of the molecular orbital calculation of the system cannot be improved.

【0075】このため、この通信量を少なくするため
に、各プロセッサエレメント14では(2)式のgrs
までを計算して、その値をホストコンピュータ11に送
付する。ホストコンピュータ11では、この値をもとに
して(2)式に従ってフォック行列要素を計算する。
For this reason, in order to reduce the communication amount, each processor element 14 uses grs in the equation (2).
Is calculated, and the value is sent to the host computer 11. The host computer 11 calculates a Fock matrix element according to the equation (2) based on this value.

【0076】さらに、前述したSCF法に基づいた計算
が行われるため、繰り返しの都度、(3)式によって密
度行列要素が計算される。この計算もホストコンピュー
タ11で行われるものとする。
Further, since the calculation based on the above-described SCF method is performed, the density matrix element is calculated by the equation (3) every time the calculation is repeated. This calculation is also performed by the host computer 11.

【0077】次に、この図2のシステムによる具体的な
計算手順の概要について説明する。まず、2電子積分の
計算に必要な分子情報や基底情報、プロセッサエレメン
ト14の内部の浮動小数点演算器を動作させて、2電子
積分の計算やgrsを計算するためのプログラム、さら
には他の計算に必要となるテーラー展開の係数などのパ
ラメータは、あらかじめホストコンピュータ11のメモ
リに格納されているものとする。
Next, an outline of a specific calculation procedure by the system of FIG. 2 will be described. First, the molecular information and basis information necessary for the calculation of the two-electron integral, a program for operating the floating-point arithmetic unit inside the processor element 14 and calculating the two-electron integral and the grs, and further, other calculations It is assumed that parameters such as Taylor expansion coefficients required for the above are stored in the memory of the host computer 11 in advance.

【0078】また、SCF法に基づいた繰り返しの1回
目で使用されるgrsの計算に必要な密度行列要素の値
も、予め(3)式に基づいてホストコンピュータ11で
計算され、そのメモリに格納されているものとする。さ
らに、各プロセッサエレメント14に担当させる2電子
積分の計算は、各プロセッサエレメント14の計算時間
が均等になり、計算時間と通信時間の観点から、システ
ムの計算時間が最小になるように、ホストコンピュータ
11が決定する。
The value of the density matrix element required for the calculation of grs used in the first iteration of the SCF method is also calculated in advance by the host computer 11 based on the expression (3) and stored in its memory. It is assumed that Further, the calculation of the two-electron integral assigned to each processor element 14 is performed in such a manner that the calculation time of each processor element 14 becomes uniform, and the calculation time of the system is minimized from the viewpoint of calculation time and communication time. 11 is determined.

【0079】最初にシステムに起動がかかった後に、各
プロセッサエレメント14には、ホストコンピュータ1
1に格納されているデータのうち、分子情報、基底情報
やその他のパラメータ、さらに前述のプログラムなどが
転送され、プロセッサエレメント14内部のメモリ、あ
るいはプロセッサエレメント14に付属するローカルメ
モリ15に格納される。
After the system is started for the first time, each processor element 14
Among the data stored in 1, molecular information, base information and other parameters, the above-mentioned programs, etc. are transferred and stored in a memory inside the processor element 14 or a local memory 15 attached to the processor element 14. .

【0080】また、このとき、これらのデータは、ま
ず、ホストコンピュータ11からシステムバス13であ
るIEEE1394シリアルバスを経由して、各ボード
12上のバスブリッジ回路17に送られ、バスブリッジ
回路17によってボードバス16であるPPRAM−L
inkへの中継が行われる。その後、データは、ボード
バス16を通して各プロセッサエレメント14に送られ
る。その後、さらに、ホストコンピュータ11から、同
じ経路を通して各プロセッサエレメント14に起動がか
けられ、各プロセッサエレメント14は計算を開始す
る。
At this time, these data are first sent from the host computer 11 to the bus bridge circuit 17 on each board 12 via the IEEE 1394 serial bus which is the system bus 13, and the bus bridge circuit 17 PPRAM-L which is a board bus 16
Relay to the Ink is performed. Thereafter, the data is sent to each processor element 14 through the board bus 16. Thereafter, the host computer 11 further activates each processor element 14 through the same path, and each processor element 14 starts calculation.

【0081】前述のように、あるプロセッサエレメント
14に、どの2電子積分の計算を担当させるかはホスト
コンピュータ11が決定するため、プロセッサエレメン
ト14に起動がかけられた後、ホストコンピュータ11
からは、各プロセッサエレメント14が担当する2電子
積分情報、あるいはそれらの2電子積分からgrsを計
算するための密度行列情報が転送される。
As described above, since the host computer 11 determines which two-electron integral is to be calculated by a certain processor element 14, after the processor element 14 is activated, the host computer 11
, Two-electron integral information assigned to each processor element 14 or density matrix information for calculating grs from the two-electron integral is transferred.

【0082】それぞれのプロセッサエレメント14は、
転送された2電子積分情報に対応した2電子積分を、前
述のプログラムに従って計算する。2電子積分の計算が
終ったら、プロセッサエレメント14は、計算結果を、
2電子積分情報とともに転送された密度行列と掛け合わ
せ、grsの計算を行う。
Each processor element 14
The two-electron integral corresponding to the transferred two-electron integral information is calculated according to the above-described program. When the calculation of the two-electron integral is completed, the processor element 14 calculates
The grs is calculated by multiplying by the density matrix transferred together with the two-electron integration information.

【0083】このようにして計算されたgrsは、各プ
ロセッサエレメント14によって、付属するローカルメ
モリ15に格納され、各プロセッサエレメント14から
ホストコンピュータ11に対して計算終了情報が送られ
る。ホストコンピュータ11は、プロセッサエレメント
14からの計算終了情報を受け取ると、ローカルメモリ
15からgrsを読み出す。
The grs calculated in this manner is stored in the associated local memory 15 by each processor element 14, and calculation end information is sent from each processor element 14 to the host computer 11. Upon receiving the calculation end information from the processor element 14, the host computer 11 reads grs from the local memory 15.

【0084】このとき、上記計算終了情報は、まず、各
プロセッサエレメント14からボードバス16であるP
PRAM−Linkを通してボード12上のバスブリッ
ジ回路17に転送され、バスブリッジ回路17でシステ
ムバス3であるIEEE1394シリアルバスへの中継
が行われる。その後、計算終了情報は、システムバス1
3を通してホストコンピュータ11に送られる。また、
ローカルメモリ15からgrsの値が読み出されるとき
にも、同様の経路を通して、データがホストコンピュー
タ11に送られる。
At this time, the above-mentioned calculation end information is first transmitted from each processor element 14 to the P
The data is transferred to the bus bridge circuit 17 on the board 12 through the PRAM-Link, and relayed to the IEEE 1394 serial bus, which is the system bus 3, by the bus bridge circuit 17. After that, the calculation end information is transmitted to the system bus 1
3 to the host computer 11. Also,
When the value of grs is read from the local memory 15, the data is sent to the host computer 11 through the same route.

【0085】その後、ホストコンピュータ11は、その
計算の終了したプロセッサエレメント14に、担当させ
る別の2電子積分情報、密度行列情報を送付し、プロセ
ッサエレメントは、再び、grsまでを計算して、それ
をホストコンピュータ11に送り返す。全ての2電子積
分の計算が終了するまで、この操作が繰り返された後、
ホストコンピュータ11には、フォック行列要素が揃う
ため、ホストコンピュータ11では、対角化が行われ
る。
After that, the host computer 11 sends another two-electron integral information and density matrix information to be assigned to the processor element 14 which has completed the calculation, and the processor element calculates again grs, and Is sent back to the host computer 11. This operation is repeated until the calculation of all two-electron integrals is completed.
Since the host computer 11 has Fock matrix elements, the host computer 11 performs diagonalization.

【0086】さらに、前述のSCF法により、繰り返
し、フォック行列要素の計算が行われるため、フォック
行列の対角化が終了した後、さらに繰り返しが必要と判
断された場合には、ホストコンピュータ11において、
再度、密度行列要素が計算され、最終的な結果が得られ
るまで、上に述べた手順に従って、各プロセッサエレメ
ント14において新たなgrsの計算が繰り返される。
Further, since the Fock matrix elements are repeatedly calculated by the above-described SCF method, if it is determined that further repetition is necessary after the diagonalization of the Fock matrix is completed, the host computer 11 ,
Again, the calculation of the new grs is repeated in each processor element 14 according to the procedure described above until the density matrix elements are calculated and the final result is obtained.

【0087】[プロセッサエレメント回路の実施の形
態]従来の技術の欄で説明したように、専用システムの
場合、通常は、プロセッサエレメント14と、バスブリ
ッジ回路17とは、専用のLSIがそれぞれ用いられ
る。この実施の形態においては、前述したように、プロ
セッサエレメント14として用いるプロセッサエレメン
ト回路に対して最小限の拡張を施して、それをバスブリ
ッジ回路17、または、バスブリッジ回路17の一部と
して用いることによって、2種類のLSIを開発する手
間、コストをなくすようにしている。
[Embodiment of Processor Element Circuit] As described in the section of the related art, in the case of a dedicated system, the processor element 14 and the bus bridge circuit 17 usually use dedicated LSIs, respectively. . In this embodiment, as described above, the processor element circuit used as the processor element 14 is minimally expanded and used as the bus bridge circuit 17 or a part of the bus bridge circuit 17. Thus, labor and cost for developing two types of LSIs are eliminated.

【0088】以下の説明において、このようにプロセッ
サエレメントと、バスブリッジ回路とに共用化できるよ
うにしたプロセッサエレメント回路のLSIチップのこ
とを共用チップと呼ぶことにする。
In the following description, the LSI chip of the processor element circuit that can be shared by the processor element and the bus bridge circuit will be referred to as a shared chip.

【0089】以下、共用チップの構成を図1および図3
を参照して説明する。図1は、共用チップを用いてプロ
セッサエレメント14を構成した場合の構成図である。
また、図3は、共用チップを用いてバスブリッジ回路1
7を構成した場合の構成図である。
The structure of the shared chip will be described below with reference to FIGS.
This will be described with reference to FIG. FIG. 1 is a configuration diagram when the processor element 14 is configured using a shared chip.
FIG. 3 shows a bus bridge circuit 1 using a shared chip.
7 is a configuration diagram in the case of configuring No. 7; FIG.

【0090】[共用チップの構成]まず、この実施の形
態における共用チップ(プロセッサエレメント回路)の
構成を、図1を参照して説明する。図1は、この実施の
形態の共用チップ20の内部構成を、ローカルメモリ1
5とボードバス16とともに示したブロック図である。
[Configuration of Shared Chip] First, the configuration of the shared chip (processor element circuit) in this embodiment will be described with reference to FIG. FIG. 1 shows an internal configuration of a shared chip 20 according to this embodiment in a local memory 1.
5 is a block diagram shown together with a board bus 16; FIG.

【0091】図1に示すように、共用チップ20は、C
PU21と、浮動小数点演算ユニット22と、内部メモ
リ23と、ローカルメモリコントローラ24と、周辺回
路コントローラ25と、マルチプレクサ26と、ロード
ジェネレータ27と、ボードバスインタフェース28
と、プロセッサエレメント内部バス(PEバスと略称す
る)30と、ローカルメモリ内部バス(LMバスと略称
する)31と、命令バス32と、浮動小数点データバス
33と、モード選択信号SELの入力端子34と、割り
込み制御信号ライン35を備えて構成されている。
As shown in FIG. 1, the shared chip 20
PU 21, floating point arithmetic unit 22, internal memory 23, local memory controller 24, peripheral circuit controller 25, multiplexer 26, load generator 27, board bus interface 28
, A processor element internal bus (abbreviated as PE bus) 30, a local memory internal bus (abbreviated as LM bus) 31, an instruction bus 32, a floating-point data bus 33, and an input terminal 34 for a mode selection signal SEL. And an interrupt control signal line 35.

【0092】CPU21は、この共用チップの全体の制
御およびプロセッサエレメントとして動作するときの計
算全体の制御をするためのもので、この例では、32ビ
ットCPUが用いられる。CPU21は、内部に複数本
の32ビット整数レジスタを備え、このレジスタは整数
演算に使用される。
The CPU 21 controls the whole of the shared chip and the whole calculation when operating as a processor element. In this example, a 32-bit CPU is used. The CPU 21 has a plurality of 32-bit integer registers therein, and these registers are used for integer operations.

【0093】浮動小数点演算ユニット(以下、FPUと
略称する)22は、内部に倍精度浮動小数点演算器を備
え、高速に積和演算などを実行するものである。FPU
22は、その内部に、64ビット倍精度浮動小数点デー
タを格納できる複数本の浮動小数点レジスタを備え、倍
精度浮動小数点演算器の演算に使用される。
The floating-point arithmetic unit (hereinafter abbreviated as FPU) 22 has a double-precision floating-point arithmetic unit therein and executes a product-sum operation at a high speed. FPU
Reference numeral 22 includes a plurality of floating-point registers capable of storing 64-bit double-precision floating-point data, and is used for the operation of the double-precision floating-point calculator.

【0094】内部メモリ23は、CPU21で実行され
る命令や、CPU21、FPU22で行われる計算結果
などを格納する。この内部メモリ23は、3ポート構成
であり、ポート1がマルチプレクサ26を介して命令バ
ス32に接続される32ビット読み出し専用ポート、ポ
ート2がプロセッサエレメント内部バス30に接続され
る32ビット読み出し/書き込みポート、ポート3がF
PU22と倍精度浮動小数点データをやり取りするため
の64ビット読み出し/書き込みポートとなっている。
The internal memory 23 stores instructions executed by the CPU 21, calculation results executed by the CPU 21 and the FPU 22, and the like. The internal memory 23 has a three-port configuration. Port 1 is a 32-bit read-only port connected to an instruction bus 32 via a multiplexer 26. Port 2 is a 32-bit read / write port connected to a processor element internal bus 30. Port, port 3 is F
It is a 64-bit read / write port for exchanging double precision floating point data with PU22.

【0095】ローカルメモリコントローラ(以下、LM
Cと略称する)24は、共用チップ20に対して接続さ
れる外部のローカルメモリのチップセレクト信号や書き
込み信号などを生成する。また、周辺回路コントローラ
(以下、PECと略称する)25は、周辺回路の制御信
号を生成する。
A local memory controller (hereinafter referred to as LM)
C) 24 generates a chip select signal and a write signal of an external local memory connected to the shared chip 20. A peripheral circuit controller (hereinafter abbreviated as PEC) 25 generates a control signal for the peripheral circuit.

【0096】マルチプレクサ26は、内部メモリ23ま
たはロードジェネレータ27からの命令のうち、CPU
21に入力する命令を選択するものである。ロードジェ
ネレータ27は、共用チップ20が、バスブリッジ回路
17中に使われるとき、初期化のためのプログラムを生
成するものである。
Multiplexer 26 is one of instructions from internal memory 23 or load generator 27,
This is for selecting an instruction to be input to the register 21. The load generator 27 is for generating a program for initialization when the shared chip 20 is used in the bus bridge circuit 17.

【0097】ボードバスインタフェース28は、ボード
バス16と、共用チップ20で構成されるプロセッサエ
レメント回路とのインタフェースを行う。
The board bus interface 28 interfaces the board bus 16 with a processor element circuit constituted by the shared chip 20.

【0098】プロセッサエレメント内部バス(以下、P
Eバスと略称する)30は、ボードバスインタフェース
28、CPU21、FPU22、内部メモリ23を接続
するための32ビットバスである。
The processor element internal bus (hereinafter referred to as P
The E bus 30 is a 32-bit bus for connecting the board bus interface 28, the CPU 21, the FPU 22, and the internal memory 23.

【0099】ローカルメモリ内部バス(以下、LMバス
と略称する)31は、外部のローカルメモリと、CPU
21、FPU22とを接続するための64ビットバスで
ある。
A local memory internal bus (hereinafter abbreviated as LM bus) 31 is provided with an external local memory and a CPU.
21 is a 64-bit bus for connecting to the FPU 22.

【0100】命令バス32は、プログラムをCPU21
に読み出すための32ビットのバスである。また、浮動
小数点データバス33は、FPU22が内部メモリ23
に格納されている倍精度浮動小数点データをやりとりす
るためのバスである。
The instruction bus 32 stores the program in the CPU 21.
This is a 32-bit bus for reading the data. The floating-point data bus 33 is connected to the FPU 22 by the internal memory 23.
This is a bus for exchanging double-precision floating-point data stored in.

【0101】モード選択信号SELの入力端子34は、
共用チップ20を、プロセッサエレメントとして使う
か、バスブリッジ回路として使うかを選択する選択入力
端子である。
The input terminal 34 of the mode selection signal SEL is
A selection input terminal for selecting whether to use the shared chip 20 as a processor element or a bus bridge circuit.

【0102】割り込み信号ライン35は、ボードバスイ
ンタフェース28からCPU21へ割り込み信号を供給
するラインである。
The interrupt signal line 35 is a line for supplying an interrupt signal from the board bus interface 28 to the CPU 21.

【0103】さらに、また、モード選択信号SELが
“0”なら、共用チップ20は、プロセッサエレメント
として使用され、“1”なら、バスブリッジ回路として
使われる。ここで、共用チップ20で構成される回路に
おいて、モード選択信号SELが“0”でプロセッサエ
レメントとして使用されるときを演算処理モード、モー
ド選択信号SELが“1”でバスブリッジ回路として使
用されるときをブリッジモードと呼ぶ。
Further, if the mode selection signal SEL is "0", the shared chip 20 is used as a processor element, and if "1", it is used as a bus bridge circuit. Here, in the circuit constituted by the shared chip 20, when the mode selection signal SEL is "0" and is used as a processor element, the operation processing mode is set. Time is called bridge mode.

【0104】[プロセッサエレメントとしての構成、機
能、動作] [プロセッサエレメントとしての構成]次に、この共用
チップ20をプロセッサエレメント14として動作させ
るときの構成を示す。
[Configuration, Function, and Operation as Processor Element] [Configuration as Processor Element] Next, a configuration when the shared chip 20 is operated as the processor element 14 will be described.

【0105】前述したように、図1は、共用チップ20
をプロセッサエレメント14として使用するときの構成
を示しており、入力端子34に供給されるモード選択信
号SELは、その値が“0”である。このため、共用チ
ップ20は演算処理モードとなって、プロセッサエレメ
ントとして使用される。
As described above, FIG.
Is used as the processor element 14, and the value of the mode selection signal SEL supplied to the input terminal 34 is "0". For this reason, the common chip 20 enters the arithmetic processing mode and is used as a processor element.

【0106】共用チップ20が演算処理モードのとき
は、マルチプレクサ26は内部メモリ23の出力を選択
し、命令バス32には内部メモリ23に格納されている
命令が読み出される。
When the shared chip 20 is in the arithmetic processing mode, the multiplexer 26 selects the output of the internal memory 23, and the instruction stored in the internal memory 23 is read out to the instruction bus 32.

【0107】また、このとき、図1に示したように、ボ
ードバスインタフェース28を、ボードバス16に、ま
た、LMバス31とLMC24とをローカルメモリ15
に接続する。ローカルメモリ15には、例えば汎用のS
RAMを使用して、LMバス31は、SRAMのデータ
端子とアドレス端子に接続され、また、LMC24は、
SRAMのチップセレクト信号、書き込みイネーブル信
号などの制御信号を生成する。LMバス31は、前述の
通り64ビットであるため、ローカルメモリ15には、
例えばデータ幅が16ビットのSRAMが4個並列に接
続される。
At this time, as shown in FIG. 1, the board bus interface 28 is connected to the board bus 16 and the LM bus 31 and the LMC 24 are connected to the local memory 15.
Connect to For example, a general-purpose S
Using a RAM, the LM bus 31 is connected to the data terminal and the address terminal of the SRAM, and the LMC 24
It generates control signals such as an SRAM chip select signal and a write enable signal. Since the LM bus 31 is 64 bits as described above, the local memory 15
For example, four SRAMs having a data width of 16 bits are connected in parallel.

【0108】なお、共用チップ20が演算処理モードの
時には、周辺回路コントローラ25、ロードジェネレー
タ27は機能しないものとする。
When the shared chip 20 is in the arithmetic processing mode, the peripheral circuit controller 25 and the load generator 27 do not function.

【0109】次に、共用チップ20の内部ユニットのう
ち、この演算処理モードにおけるCPU21とボードバ
スインタフェース28の機能について説明する。まず、
CPU21の機能について述べる。
Next, functions of the CPU 21 and the board bus interface 28 in the arithmetic processing mode among the internal units of the shared chip 20 will be described. First,
The function of the CPU 21 will be described.

【0110】CPU21は、通常のRISCプロセッサ
であり、前述のように、内部に32ビットの整数レジス
タを含んでいる。整数レジスタとは別に、CPU21の
内部ユニットや外部ユニットを制御するためのコントロ
ールレジスタを含んでいる。CPU21は、リセット直
後などは起動待ち状態(待機状態)となって、後述する
ように、ボードバスインタフェース28から起動がかけ
られるまで動作しない。以下、CPU21に起動がかけ
られたと仮定して説明を続ける。
The CPU 21 is a normal RISC processor, and internally includes a 32-bit integer register as described above. In addition to the integer registers, it includes a control register for controlling an internal unit and an external unit of the CPU 21. The CPU 21 is in a startup waiting state (standby state) immediately after a reset or the like, and does not operate until the board bus interface 28 starts up, as described later. Hereinafter, the description will be continued assuming that the CPU 21 has been activated.

【0111】ボードバスインタフェース28からCPU
21に起動がかけられると、動作状態に遷移して、特定
のアドレスから命令バス32を通して予め内部メモリ2
3に格納されている命令の読み出しを開始する。その
後、アドレスをインクリメントさせながら、内部メモリ
23から1個ずつ順番に命令を読み出し、解釈実行す
る。
From the board bus interface 28 to the CPU
When the memory 21 is activated, the state is changed to an operation state, and the internal memory 2 is previously transferred from a specific address through the instruction bus 32.
The reading of the instruction stored in No. 3 is started. Thereafter, the instructions are sequentially read out one by one from the internal memory 23 while the address is incremented, and the instructions are interpreted and executed.

【0112】CPU21の命令は、通常のRISC型汎
用CPUが持つ命令セットで構成されており、少なくと
も、何も操作が行われないNOP命令、32ビット整数
レジスタやコントロールレジスタ間の算術論理演算命
令、シフト演算命令、PEバス30を通じた内部メモリ
23とCPU21内部の32ビット整数レジスタとの間
のロード、ストア命令、LMBUSを通したLM12と
32ビット整数レジスタとの間のロード、ストア命令、
また、LMバス31を通じたローカルメモリ15とFP
U22内部の浮動小数点レジスタとの間のロード、スト
ア命令、また、内部メモリ23とFPU22内部の浮動
小数点レジスタとの間のロード、ストア命令、ジャンプ
や分岐命令、また、FPU22内部の浮動小数点演算器
を使い、FPU22内部の浮動小数点レジスタの間で浮
動小数点演算を行うための浮動小数点演算命令、さら
に、図示を省略したCPU21−FPU22間バスを使
った、CPU21内部の整数レジスタとFPU22内部
の浮動小数点レジスタ間のデータ転送命令を備える。
The instructions of the CPU 21 are constituted by an instruction set of a general RISC-type general-purpose CPU, and include at least a NOP instruction that performs no operation, an arithmetic and logic operation instruction between a 32-bit integer register and a control register, A shift operation instruction, a load / store instruction between the internal memory 23 and the 32-bit integer register inside the CPU 21 via the PE bus 30, a load / store instruction between the LM12 and the 32-bit integer register via the LMBUS,
Also, the local memory 15 and the FP through the LM bus 31
Load and store instructions between floating point registers inside U22, load and store instructions between internal memory 23 and floating point registers inside FPU 22, jump and branch instructions, floating point arithmetic unit inside FPU 22 , A floating-point operation instruction for performing a floating-point operation between floating-point registers inside the FPU 22, and an integer register inside the CPU 21 and a floating-point inside the FPU 22 using a bus (not shown) between the CPU 21 and the FPU 22. It has a data transfer instruction between registers.

【0113】これらの命令のうち、ローカルメモリ15
や内部メモリ23と、FPU22内部の浮動小数点レジ
スタとの間のロード、ストア命令や浮動小数点演算命
令、データ転送命令が、CPU21に読み出されると、
CPU21は、図示を省略した制御信号を通してFPU
22内部の浮動小数点レジスタや浮動小数点演算器を制
御しながら、これらの命令を実行する。
Of these instructions, the local memory 15
When a load, store instruction, floating-point operation instruction, or data transfer instruction between the CPU 21 and the internal memory 23 and the floating-point register inside the FPU 22 is read by the CPU 21,
The CPU 21 controls the FPU through a control signal (not shown).
These instructions are executed while controlling a floating-point register and a floating-point arithmetic unit inside 22.

【0114】また、CPU21が、ローカルメモリ15
と、FPU22内部の浮動小数点レジスタまたはCPU
21内部の整数レジスタとの間のロード、ストア命令を
実行するときには、CPU21は、ローカルメモリ15
のアドレスを出力し、LMバス31を経由してローカル
メモリ15に出力するとともに、LMコントローラ24
を制御して、ローカルメモリ15のチップセレクト信
号、書き込み信号などを生成してローカルメモリ15に
出力する。また、ローカルメモリ15と、CPU21内
部の整数レジスタとの間のロードのときは、64ビット
のLMバス31を通して読み出す。
Further, the CPU 21 stores the local memory 15
And a floating point register or CPU inside the FPU 22
When executing a load / store instruction to / from an integer register in the internal memory 21, the CPU 21
Is output to the local memory 15 via the LM bus 31 and the LM controller 24
To generate a chip select signal, a write signal, and the like for the local memory 15 and output the signal to the local memory 15. In the case of loading between the local memory 15 and the integer register inside the CPU 21, the data is read through the 64-bit LM bus 31.

【0115】このとき、コントロールレジスタの設定に
より、CPU21内部の32ビット整数レジスタには、
LMバス31の上位32ビットを読み出すか、下位32
ビットを読み出すかが選択される。また、この整数レジ
スタからローカルメモリ15へのストアも、64ビット
のLMバス31を通して行われるため、コントロールレ
ジスタの設定によって、ローカルメモリ15の上位32
ビットに書き込むか、下位32ビットに書き込むかが選
択されるものである。
At this time, according to the setting of the control register, the 32-bit integer register in the CPU 21 stores
The upper 32 bits of the LM bus 31 are read or the lower 32 bits are read.
Whether to read the bit is selected. Further, since the store from the integer register to the local memory 15 is also performed through the 64-bit LM bus 31, the upper 32 bits of the local memory 15 are set according to the setting of the control register.
Whether to write to bits or to write to lower 32 bits is selected.

【0116】さらに、CPU21は、割り込みを処理す
る機能も持ち、ボードバスインタフェース28やプロセ
ッサエレメント回路の外部から、あるいはFPU22か
ら、割り込み信号ライン35などを通して割り込まれる
と、それまで実行していた作業を中断して、中断した命
令のアドレスを整数レジスタに保存して、割り込みハン
ドラにジャンプする。また、割り込みハンドラの実行が
終了すると、特定の整数レジスタに保存したアドレスに
戻り、もとの作業を再開する。
Further, the CPU 21 has a function of processing an interrupt, and when interrupted from outside of the board bus interface 28 or the processor element circuit or from the FPU 22 through the interrupt signal line 35 or the like, the CPU 21 executes the work which has been executed so far. Interrupt, save the address of the interrupted instruction in an integer register, and jump to the interrupt handler. When the execution of the interrupt handler is completed, the process returns to the address stored in the specific integer register and resumes the original work.

【0117】次に、ボードバスインタフェース28の機
能と構成の概略について述べる。
Next, an outline of the function and configuration of the board bus interface 28 will be described.

【0118】ボードバスインタフェース28は、前述の
PPRAM−Linkのプロトコルに従って動作するボ
ードバス16と、共用チップ20の内部との間をインタ
フェースする。このため、ボードバスインタフェース2
8は、内部メモリ23へのアクセスや、前述したPPR
AM−Linkのサブアクションに対応したパケットの
生成などを行う。このボードバスインタフェース28
は、以下の(A)〜(F)に記す6つの機能を持つ。
The board bus interface 28 interfaces between the board bus 16 operating according to the above-described PPRAM-Link protocol and the inside of the shared chip 20. Therefore, the board bus interface 2
8 indicates access to the internal memory 23 or the PPR described above.
A packet corresponding to the AM-Link subaction is generated. This board bus interface 28
Has six functions described in the following (A) to (F).

【0119】(A)ボードバス16を経由した他のPP
RAMノードからの内部メモリ23への書き込み要求に
従って、外部から送られてきたデータを、PEバス30
を経由して、内部メモリ23に32ビット単位で書き込
む。
(A) Another PP via the board bus 16
In response to a write request from the RAM node to the internal memory 23, data sent from the outside is transferred to the PE bus 30.
Is written to the internal memory 23 in units of 32 bits.

【0120】(B)ボードバス16を経由した他のPP
RAMノードからのローカルメモリ15への書き込み要
求に従って、外部から送られてきたデータを、LMバス
31を経由して、ローカルメモリ15に64ビット単位
で書き込む。
(B) Another PP via the board bus 16
In response to a write request from the RAM node to the local memory 15, data sent from the outside is written to the local memory 15 via the LM bus 31 in 64-bit units.

【0121】(C)ボードバス16を経由した他のPP
RAMノードからの内部メモリ23の読み出し要求に従
って、PEバス30を経由して、内部メモリ23から3
2ビット単位でデータを読み出し、ボードバス16に出
力する。
(C) Another PP via the board bus 16
In response to a read request from the RAM node to the internal memory 23, the internal memory 23
Data is read in units of 2 bits and output to the board bus 16.

【0122】(D)ボードバス16を経由した他のPP
RAMノードからのローカルメモリ15の読み出し要求
に従って、LMバス31を経由して、ローカルメモリ1
5から64ビット単位でデータを読み出し、ボードバス
16に出力する。
(D) Another PP via the board bus 16
In response to a read request of the local memory 15 from the RAM node, the local memory 1
Data is read in units of 5 to 64 bits and output to the board bus 16.

【0123】(E)CPU21から他のPPRAMノー
ドへの書き込み要求に従って、ボードバス16に要求を
出力するとともに、内部メモリ23に格納されているデ
ータを、PEバス30を経由して読み出し、ボードバス
16に出力する。
(E) In response to a write request from the CPU 21 to another PPRAM node, a request is output to the board bus 16, and data stored in the internal memory 23 is read out via the PE bus 30. 16 is output.

【0124】(F)CPU21から他のPPRAMノー
ドへのデータ読み出し要求に従って、ボードバス16に
要求を出力するとともに、ボードバス16から入力され
てくるデータを、PEバス30を経由して、内部メモリ
23に書き込む。
(F) In accordance with a data read request from the CPU 21 to another PPRAM node, a request is output to the board bus 16 and data input from the board bus 16 is transferred to the internal memory via the PE bus 30. Write to 23.

【0125】これらの機能を実現するために、ボードバ
スインタフェース28は、内部メモリ23やローカルメ
モリ15にアクセスする機能とともに、上記(A)〜
(F)の動作に対応して、図5に示したトランザクショ
ンを構成する、PPRAM−Linkのサブアクション
を生成する機能およびCPU21と協調しながら動作す
る機能を備える。
In order to realize these functions, the board bus interface 28 has a function of accessing the internal memory 23 and the local memory 15 as well as the functions (A) to (3) described above.
In correspondence with the operation of (F), a function for generating a sub-action of PPRAM-Link and a function for operating in cooperation with the CPU 21 constituting the transaction shown in FIG.

【0126】次に、ボードバスインタフェース28の構
成の概略について説明する。このボードバスインタフェ
ース28のユニットの構成は、既に、前述の橋本らの文
献に示されている。そこで、ここでは、この構成をもと
にして、この実施の形態に基づいて、若干変更を加えた
ものをボードバスインタフェース28の例として挙げ
る。
Next, the outline of the configuration of the board bus interface 28 will be described. The configuration of the unit of the board bus interface 28 has already been disclosed in the above-mentioned document by Hashimoto et al. Therefore, here, an example of the board bus interface 28 that has been slightly modified based on this configuration based on this embodiment will be described.

【0127】図6は、このように橋本らの文献の構成を
もとにして変更を加えたボードバスインタフェース28
の構成例を示したブロック図である。図6で、破線はブ
ロック間の主な制御信号を表す。
FIG. 6 shows a modified board bus interface 28 based on the configuration of Hashimoto et al.
FIG. 3 is a block diagram showing an example of the configuration. In FIG. 6, broken lines represent main control signals between blocks.

【0128】ボードバスインタフェース28において
は、入力端子InputLinkから入力されたパケッ
トは、アドレスデコーダ40によって、このノード宛の
パケットかどうかを判定する。この判定の結果、自分の
ノード宛のパケットである場合は、パケットは入力キュ
ー43に入れられ、また、自分のノード宛のパケットで
ない場合は、出力端子OutputLinkを通して隣
のノードに送るため、バイパスFIFO41に入れられ
る。
In the board bus interface 28, the packet inputted from the input terminal InputLink is judged by the address decoder 40 whether the packet is addressed to this node. As a result of this determination, if the packet is addressed to the own node, the packet is put into the input queue 43. If the packet is not addressed to the own node, the packet is sent to the adjacent node through the output terminal OutputLink. Can be put in.

【0129】また、入力されたパケットが、図5を用い
て説明したパケットのうち要求送出パケットや応答送出
パケットであるときには、前述したサブアクションの動
作により、必ず要求受領パケット、応答受領パケットを
送り返すため、アドレスデコーダ40から受領パケット
ジェネレータ44を制御して、これらの受領パケットが
生成される。さらに、プロセッサエレメント内部で要求
送出パケットや、応答送出パケットが生成されるときに
は、出力キュー45に、送出するパケットが蓄積され
る。
When the input packet is a request transmission packet or a response transmission packet among the packets described with reference to FIG. 5, the request reception packet and the response reception packet are always returned by the above-described sub-action operation. Therefore, the reception packet generator 44 is controlled from the address decoder 40 to generate these reception packets. Furthermore, when a request transmission packet or a response transmission packet is generated inside the processor element, the transmission queue is accumulated in the output queue 45.

【0130】そして、フローコントローラ42には、そ
れぞれバイパスFIFO41、受領パケットジェネレー
タ44、出力キュー45の出力が接続されている。フロ
ーコントローラ42は、これらのうちから1個のパケッ
トを選び出して、出力端子OutputLinkから出
力する。フローコントローラ42の詳細な動作について
は、前述の文献に記されているので省略する。
The outputs of the bypass FIFO 41, the reception packet generator 44, and the output queue 45 are connected to the flow controller 42, respectively. The flow controller 42 selects one packet from these, and outputs it from the output terminal OutputLink. The detailed operation of the flow controller 42 is described in the above-mentioned document and will not be described.

【0131】また、割り込み制御ブロック46は、CP
U21によってパケット生成を行うときなどに、CPU
21に出力する割り込み信号Intrを生成するための
ブロックである。
Further, the interruption control block 46
When packet generation is performed by U21, the CPU
21 is a block for generating an interrupt signal Intr to be output to the CPU 21.

【0132】また、メモリアクセスブロック47は、外
部からの要求などに従って、ローカルメモリ15や内部
メモリ23に、書き込み/読み出しを行うためのブロッ
クである。
The memory access block 47 is a block for writing / reading data to / from the local memory 15 and the internal memory 23 according to a request from the outside.

【0133】さらに、制御状態レジスタ48は、制御レ
ジスタ48aと状態レジスタ48bとの2個のレジスタ
からなる。このうち、制御レジスタ48aは、その格納
データ内容によって、ボードバスインタフェース28の
内部ブロックを制御する。この制御レジスタ48aは、
PEバス30を通して、CPU21から書き込むことが
できるため、ボードバスインタフェース28は、この制
御レジスタ48aを通してCPUの制御を受ける。ま
た、状態レジスタ48bは、ボードバスインタフェース
28の内部状態を、CPU21に伝えるためのレジスタ
であり、PEバス30を通してCPU21に読み出すこ
とができる。
Further, the control status register 48 comprises two registers, a control register 48a and a status register 48b. The control register 48a controls the internal blocks of the board bus interface 28 according to the stored data content. This control register 48a
Since data can be written from the CPU 21 through the PE bus 30, the board bus interface 28 is controlled by the CPU through the control register 48a. The state register 48 b is a register for transmitting the internal state of the board bus interface 28 to the CPU 21, and can be read out to the CPU 21 through the PE bus 30.

【0134】この構成を使って、前記(A)〜(F)の
トランザクションを実行する時は以下のようにする。
When the transactions (A) to (F) are executed using this configuration, the following is performed.

【0135】まず、前記(A)、(B)のように、外部
からの書き込み要求に従ったトランザクションの動作に
ついて述べる。この場合は、まず、入力キュー43に要
求送出パケットのヘッダとともに書き込むデータが入力
されるので、前述のように、受領パケットジェネレータ
44によって受領パケットを生成するとともに、入力キ
ュー43からメモリアクセスブロック47を起動して、
ターゲットとなるメモリへデータを書き込む。データ書
き込みの後、割り込みブロック46を起動して、CPU
21に割り込みを発生させる。
First, the operation of a transaction in accordance with an external write request as described in (A) and (B) will be described. In this case, first, data to be written together with the header of the request transmission packet is input to the input queue 43. Therefore, as described above, the reception packet is generated by the reception packet generator 44, and the memory access block 47 is transmitted from the input queue 43 to the input queue 43. Start up,
Write data to the target memory. After writing the data, the interrupt block 46 is activated and the CPU
An interrupt is generated at 21.

【0136】CPU21は割り込みを受け付けると、割
り込みハンドラに飛んで、内部メモリ23に応答送出パ
ケットのヘッダ情報を生成する。このように、割り込み
が来たときにCPUが生成するパケットの種類は、いく
つかあるため、ボードバスインタフェース28は、状態
レジスタ48bには、外部からの書き込み要求が来たこ
とを示す情報を保持しておき、CPU21は、PEバス
30を通して状態レジスタ48bを読み出すことによっ
て生成するパケットのヘッダの種類を判別する。
When the CPU 21 receives the interrupt, it jumps to the interrupt handler and generates the header information of the response transmission packet in the internal memory 23. As described above, since there are several types of packets generated by the CPU when an interrupt is received, the board bus interface 28 holds information indicating that an external write request has been received in the status register 48b. The CPU 21 determines the type of the header of the packet to be generated by reading the status register 48b through the PE bus 30.

【0137】その後、CPU21は、PEバス30を通
して制御レジスタ48aに書き込みを行い、応答パケッ
トの出力をボードバスインタフェース28に指示する。
すると、ボードバスインタフェース28はメモリアクセ
スブロック47を通して応答送出パケットのヘッダを読
み出し、出力キュー45に格納することによって、応答
送出パケットをボードバス16に出力する。
Thereafter, the CPU 21 writes the data in the control register 48a through the PE bus 30, and instructs the board bus interface 28 to output a response packet.
Then, the board bus interface 28 reads the header of the response transmission packet through the memory access block 47 and stores it in the output queue 45, thereby outputting the response transmission packet to the board bus 16.

【0138】また、ターゲットとなるノードが出力する
応答受領パケットを、さまざまな理由で受け取れなかっ
たことも考慮して、入力キュー43に、応答受領パケッ
トが返ってくるまで、出力キュー45に、応答送出パケ
ットは保持されるものとする。一定時間経過しても、応
答受領パケットが返ってこない場合は、出力キュー45
は、応答送出パケットを再度出力する。
In consideration of the fact that the response acknowledgment packet output by the target node cannot be received for various reasons, the response queue is sent to the output queue 45 until the response acknowledgment packet is returned to the input queue 43. The outgoing packet shall be retained. If the response acknowledgment packet does not return even after a certain period of time, the output queue 45
Outputs the response transmission packet again.

【0139】次に、前記(C)、(D)のように、外部
からの読み出し要求に従ったトランザクションの動作に
ついて述べる。この場合は、入力キュー43に、要求送
出パケットのヘッダだけが格納されるので、前述のよう
に、受領パケットジェネレータ44によって受領パケッ
トを生成するとともに、入力キュー43は、割り込みブ
ロック46を起動して、CPU21に割り込みをかけ
る。
Next, the operation of a transaction according to a read request from the outside as described in (C) and (D) will be described. In this case, since only the header of the request transmission packet is stored in the input queue 43, the reception packet is generated by the reception packet generator 44 as described above. Interrupts the CPU 21.

【0140】すると、CPU21は、前の場合と同様
に、状態レジスタ48bの情報をもとに、読み出し要求
に対する応答パケットのヘッダを、内部メモリ23に生
成する。その後、CPU21は、制御レジスタ48aに
書き込むことによって、読み出し要求に対する応答パケ
ットの出力を指示する。
Then, the CPU 21 generates a header of a response packet to the read request in the internal memory 23 based on the information of the status register 48b, as in the previous case. Thereafter, the CPU 21 instructs the output of a response packet to the read request by writing to the control register 48a.

【0141】すると、ボードバスインタフェース28
は、メモリアクセスブロック47を通して応答送出パケ
ットのヘッダを読み出し、さらに、メモリアクセスブロ
ック47は、ローカルメモリ15または内部メモリ23
にある、要求されたアドレスからデータを読み出して、
出力キュー45に格納する。その後、前記(A)、
(B)の場合と同様に、出力キュー45から応答パケッ
トが出力される。
Then, the board bus interface 28
Reads the header of the response transmission packet through the memory access block 47, and furthermore, the memory access block 47 reads the local memory 15 or the internal memory 23
Read the data from the requested address at
It is stored in the output queue 45. Then, (A),
As in the case of (B), a response packet is output from the output queue 45.

【0142】次に、前記(E)のように、CPU21か
ら他のノードに対して書き込み要求を出すときのトラン
ザクションの様子について述べる。この場合は、まず、
CPU21は、書き込み要求パケットのヘッダと書き込
みたいデータとを、内部メモリ23の特定のアドレスに
格納しておいた上で、制御レジスタ48aに書き込むこ
とによって書き込み要求を出力するようにボードバスイ
ンタフェース28に指示する。
Next, the state of a transaction when the CPU 21 issues a write request to another node as described in (E) will be described. In this case,
The CPU 21 stores the header of the write request packet and the data to be written at a specific address in the internal memory 23, and writes the data to the control register 48a to the board bus interface 28 so as to output the write request. To instruct.

【0143】すると、ボードバスインタフェース28
は、メモリアクセスブロック47を通して、要求送出パ
ケットのヘッダとデータとを、内部メモリ23の前記の
特定のアドレスから読み出して、出力キュー45に格納
する。その後、応答送出パケットの場合と同様に、出力
キュー45から要求送出パケットが出力される。
Then, the board bus interface 28
Reads out the header and data of the request transmission packet from the specific address in the internal memory 23 through the memory access block 47 and stores them in the output queue 45. Thereafter, a request transmission packet is output from the output queue 45 as in the case of a response transmission packet.

【0144】このとき、要求送出パケットの送出後、一
定時間経過しても、要求送出パケットに対する受領パケ
ットが返ってこなければ、要求送出パケットを再送する
ために、前述の(A)、(B)の場合で説明した、応答
送出パケットに対する受領パケットを待つ場合と同様
に、受領パケットが返ってくるまで、パケットを出力キ
ュー45に保持しておき、受領パケットを待つ。
At this time, if a reception packet for the request transmission packet does not return even after a certain period of time has elapsed after the transmission of the request transmission packet, the above-mentioned (A) and (B) are used to retransmit the request transmission packet. As in the case of waiting for a reception packet for a response transmission packet described in the case of (1), the packet is held in the output queue 45 and the reception packet is waited until the reception packet is returned.

【0145】さらに、CPU21が出した要求サブアク
ションに対する応答サブアクションが返って来ない場合
も考慮して、割り込みブロック46は、要求サブアクシ
ョンを出力してから一定時間経過しても入力キュー43
に応答送出パケットが返ってこない場合は、CPU21
に対して割り込みを出す。
Further, taking into consideration a case where a response subaction to the request subaction issued by the CPU 21 is not returned, the interrupt block 46 sets the input queue 43 even if a certain time has elapsed after outputting the request subaction.
If no response transmission packet is returned to the
Give an interrupt to

【0146】CPU21は、この割り込みを受け付ける
と、割り込みハンドラに飛んで、以前に送付した要求送
出パケットを再送する。このとき、CPU21は、状態
レジスタ48bからの情報によって、再送の動作を行う
ことを判断するものである。
When the CPU 21 receives this interrupt, it jumps to the interrupt handler and retransmits the previously transmitted request transmission packet. At this time, the CPU 21 determines, based on the information from the status register 48b, that the retransmission operation is to be performed.

【0147】また、出力した要求サブアクションに対す
る応答サブアクションが返ってきて、入力キュー43に
応答送出パケットが格納されると、前述と同様に、受領
パケットジェネレータ44によって受領パケットを生成
するとともに、割り込みブロック46のタイマをクリア
して、CPU21に、再送のための割り込みを出さない
ようにする。
When a response sub-action to the output request sub-action is returned and a response transmission packet is stored in the input queue 43, a reception packet is generated by the reception packet generator 44 and interrupted as described above. The timer of the block 46 is cleared so that an interrupt for retransmission is not issued to the CPU 21.

【0148】また、状態レジスタ48bには、CPU2
1が発生させたトランザクションが終了したことを示す
フラグを保持するようになっているので、応答送出パケ
ットを受け取った後に、このフラグをセットする。CP
U21は、このフラグがセットされるのを待って、次の
操作に移ることができる。
The status register 48b contains the CPU 2
Since a flag indicating that the transaction generated by 1 has been completed is held, this flag is set after receiving the response transmission packet. CP
U21 can wait for this flag to be set and move on to the next operation.

【0149】最後に、前記(F)のように、CPU21
から他のノードに対して読み出し要求を出すときのトラ
ンザクションの様子について述べる。この場合には、ま
ず、CPU21は、読み出し送出パケットのヘッダのみ
を内部メモリ23に書き込んで、前述と同様に制御レジ
スタ48を通して、ボードバスインタフェース28にパ
ケットの出力を指示する。その後、メモリアクセスブロ
ック47によって、内部メモリから読み出されたパケッ
トのヘッダが、出力キュー45に格納されて、要求送出
パケットが出力される。
Finally, as shown in (F), the CPU 21
The state of a transaction when a read request is issued to another node from is described. In this case, first, the CPU 21 writes only the header of the read out transmission packet into the internal memory 23, and instructs the board bus interface 28 to output the packet through the control register 48 as described above. Thereafter, the header of the packet read from the internal memory is stored in the output queue 45 by the memory access block 47, and the request transmission packet is output.

【0150】その後、要求受領パケットと応答送出パケ
ットが返ってくると、メモリアクセスブロック47は、
応答送出パケットに含まれるデータを、内部メモリ23
の特定の位置に書き込む。その後、前記(E)の場合と
同様に、トランザクションが終了したフラグをセットす
る。CPU21は、このフラグがセットされたことを確
認してから、内部メモリ23に書き込まれたデータにア
クセスできる。
After that, when the request reception packet and the response transmission packet are returned, the memory access block 47
The data included in the response transmission packet is stored in the internal memory 23.
Write to a specific location in. Thereafter, as in the case of (E), a flag indicating that the transaction has been completed is set. The CPU 21 can access the data written in the internal memory 23 after confirming that this flag is set.

【0151】さらに、要求送出パケットに対する要求受
領パケット、応答送出パケットが返ってこない場合の操
作は、前述の(E)の場合と同様である。
Further, the operation in the case where the request reception packet and the response transmission packet for the request transmission packet are not returned is the same as the case of the above (E).

【0152】ここで、前記(E)または(F)の場合に
おいて、ボード12上の、あるプロセッサエレメント1
4からは、他のプロセッサエレメント14またはバスブ
リッジ回路17はPPRAM−Linkのボードバス1
6上にあるためにPPRAMノードと認識できるので、
このような書き込み、読み出し要求を送付することが可
能である。
Here, in the case of the above (E) or (F), a certain processor element 1 on the board 12
4, the other processor element 14 or the bus bridge circuit 17 is connected to the board bus 1 of the PPRAM-Link.
6 so that it can be recognized as a PPRAM node,
It is possible to send such a write / read request.

【0153】しかし、ホストコンピュータ11上のメモ
リは、PPRAM−Linkの外側にあるために、ボー
ド12上のプロセッサエレメント14からは認識できな
い。例えば、あるプロセッサエレメント14が、ホスト
コンピュータ11上のメモリの特定のアドレスに書き込
みを行おうとしても、ホストコンピュータ11には、P
PRAM−Linkのノード識別子やオフセットアドレ
スが割り当てられていないので、書き込みができない。
However, since the memory on the host computer 11 is outside the PPRAM-Link, it cannot be recognized from the processor element 14 on the board 12. For example, even if a certain processor element 14 attempts to write to a specific address in a memory on the host computer 11, the host computer 11
Since no node identifier or offset address of the PRAM-Link is assigned, writing cannot be performed.

【0154】そこで、この実施の形態では、PPRAM
−Linkの書き込み要求を利用して、この問題を解決
する。
Therefore, in this embodiment, the PPRAM
-This problem is solved by using a link write request.

【0155】あるプロセッサエレメント14が、ホスト
コンピュータ11上のメモリに、アクセスしたいときに
は、バスブリッジ回路17に対してPPRAM−Lin
kの書き込み要求を送信する。このとき、要求送信パケ
ットに含める書き込みデータ中に、ホストコンピュータ
11のメモリアドレスやトランザクションの種類、書き
込みたいデータなどを入れておく。
When a certain processor element 14 wants to access the memory on the host computer 11, the bus bridge circuit 17 supplies a PPRAM-Lin
Send a write request for k. At this time, in the write data included in the request transmission packet, the memory address of the host computer 11, the type of transaction, the data to be written, and the like are put in advance.

【0156】バスブリッジ回路17が、このパケットを
受け取ると、ホストコンピュータ11に対して、送付さ
れた内容に従ってアクセスを行う。このアクセスの詳し
い様子については後述する。
When the bus bridge circuit 17 receives this packet, it accesses the host computer 11 in accordance with the sent contents. Details of this access will be described later.

【0157】次に、ボードバスインタフェース28から
CPU21への起動方法について説明する。この起動
は、PEバス30を通してCPU21の内部レジスタ
に、書き込みを行うことによって行われるものとする。
Next, a method of starting from the board bus interface 28 to the CPU 21 will be described. This activation is performed by writing to an internal register of the CPU 21 through the PE bus 30.

【0158】CPU21の起動は、リセット後に、特定
の時間だけ待ってからボードバスインタフェース28か
ら自動的に書き込みを行うようにしても良いし、ホスト
コンピュータ11からシステムバス13、ボードバス1
6を経由してボードバスインタフェース28を介して行
っても良い。後者の起動方法の場合は、上述したよう
に、CPU21が応答送出パケットを生成しなければな
らないので、CPU21の起動後、完全にCPU21が
立ち上がってから、割り込みを入れるようにする必要が
ある。あるいは、PPRAM−Linkには応答送出パ
ケットを返さないアクテイブメッセージというトランザ
クションが用意されているため、このアクテイブメッセ
ージを使用しても良い。
The CPU 21 may be activated by automatically writing data from the board bus interface 28 after waiting for a specific time after resetting, or from the host computer 11 to the system bus 13 or the board bus 1.
6 via the board bus interface 28. In the case of the latter activation method, as described above, since the CPU 21 must generate a response transmission packet, it is necessary to completely interrupt the CPU 21 after the activation of the CPU 21 before interrupting. Alternatively, since a transaction called an active message that does not return a response transmission packet is prepared in the PPRAM-Link, this active message may be used.

【0159】[プロセッサエレメント14としての動
作]さらに、分子軌道専用システムが前述の計算手順に
従って動作するときの、プロセッサエレメント14の動
作について説明する。
[Operation as Processor Element 14] The operation of the processor element 14 when the molecular orbital-only system operates according to the above-described calculation procedure will be described.

【0160】ここで、まず、システムバス13から見た
場合、ホストコンピュータ11の内部メモリと、各プロ
セッサエレメント14の内部メモリ23と、プロセッサ
エレメント14に付属するローカルメモリ15とは、シ
ステムバスであるIEEE1394シリアルバスのアド
レス空間にマッピングされているため、それぞれ割り当
てられているアドレスを使って、アクセスできるように
されている。
Here, first, when viewed from the system bus 13, the internal memory of the host computer 11, the internal memory 23 of each processor element 14, and the local memory 15 attached to the processor element 14 are the system bus. Since it is mapped in the address space of the IEEE 1394 serial bus, it can be accessed using the assigned address.

【0161】さらに、ボード12上のボードバス16か
ら見た場合には、前述のように、それぞれのプロセッサ
エレメント14にはノード識別子が割り振られており、
また、プロセッサエレメント14の内部メモリ23およ
び付属するローカルメモリ12には、オフセットアドレ
スが割り振られており、ボードバス16上では、PPR
AM−Linkを通してノード識別子とオフセットアド
レスを使って、これら内部メモリ23およびローカルメ
モリ15がアクセスできるようにされている。
Further, when viewed from the board bus 16 on the board 12, as described above, a node identifier is assigned to each processor element 14, and
An offset address is allocated to the internal memory 23 of the processor element 14 and the attached local memory 12.
The internal memory 23 and the local memory 15 can be accessed using the node identifier and the offset address through the AM-Link.

【0162】まず、システムの起動後、プロセッサエレ
メント14には、図示を省略したリセット端子を通して
プロセッサエレメント14の各内部ユニットに、リセッ
トがかけられる。
First, after the system is started, each internal unit of the processor element 14 is reset through a reset terminal (not shown).

【0163】ボードバスインタフェース28は、リセッ
ト直後から自動的に初期化を行い、後述するインタフェ
ース機能に従った動作が可能な状態になる。また、CP
U21は、前述のようにリセットがかけられることによ
って、動作をしていない起動待ち状態(待機状態)にな
る。
The board bus interface 28 automatically initializes immediately after resetting, and becomes ready to operate according to the interface function described later. Also, CP
As described above, the U21 is in a start-up waiting state (standby state) in which it is not operated by being reset as described above.

【0164】前述したように、システムの起動後には、
ホストコンピュータ11からシステムバス13→バスブ
リッジ回路17→ボードバス16を経由して、書き込み
要求が転送され、分子情報、基底情報、その他のパラメ
ータ、およびプログラムがプロセッサエレメント14に
転送される。
As described above, after starting the system,
A write request is transferred from the host computer 11 via the system bus 13 → the bus bridge circuit 17 → the board bus 16, and molecular information, base information, other parameters, and a program are transferred to the processor element 14.

【0165】このとき、上述したボードバスインタフェ
ース28の(A)、(B)の機能を使って、分子情報、
基底情報、その他のパラメータ情報は、ローカルメモリ
15に書き込まれ、また、プログラムは、内部メモリ2
3に書き込まれる。また、その後、プロセッサエレメン
ト14を起動するときには、ホストコンピュータ11か
ら、前述のようにして、CPU21に対して起動がかけ
られる。このことにより、CPU21は起動待ち状態か
ら、動作状態に遷移する。
At this time, using the functions (A) and (B) of the board bus interface 28 described above, molecular information and
The base information and other parameter information are written in the local memory 15, and the program is stored in the internal memory 2.
3 is written. Thereafter, when the processor element 14 is activated, the host computer 11 activates the CPU 21 as described above. As a result, the CPU 21 transitions from the start waiting state to the operating state.

【0166】CPU21が動作状態に遷移すると、CP
U21は、内部メモリ23の特定のアドレスから命令を
実行する。ここで、前述のプログラムは、CPU21が
動作を開始するアドレスからロードされるものとする。
したがって、CPU21は、ホストコンピュータ11に
よって予め内部メモリ23に書き込まれているプログラ
ムの実行を開始する。また、前述のように、リセット後
に、CPU21を起動待ち状態にすることによって、プ
ログラムが書き込まれる前の内部メモリ23の内容を実
行して、CPU21が暴走してしまわないようにするこ
とができる。
When the CPU 21 transitions to the operation state, the CP
U21 executes an instruction from a specific address of the internal memory 23. Here, it is assumed that the above-described program is loaded from an address at which the CPU 21 starts operating.
Therefore, the CPU 21 starts executing the program written in the internal memory 23 by the host computer 11 in advance. Further, as described above, by setting the CPU 21 in the standby state after the reset, the contents of the internal memory 23 before the program is written can be executed, and the runaway of the CPU 21 can be prevented.

【0167】次に、CPU21は、ホストコンピュータ
11によって、そのプロセッサエレメント14が担当す
る2電子積分情報、および密度行列要素が書き込まれる
まで、例えばNOP命令だけで構成されるループなどを
実行することによって待つ。その後、ホストコンピュー
タ11は、システムバス13、バスブリッジ回路17、
ボードバス16を通して、これらの情報の書き込み要求
を転送し、前述のボードバスインタフェース28の
(B)の機能によってローカルメモリ15に書き込む。
Next, the CPU 21 causes the host computer 11 to execute, for example, a loop composed only of NOP instructions until the two-electron integral information and the density matrix element assigned to the processor element 14 are written. wait. Thereafter, the host computer 11 communicates with the system bus 13, the bus bridge circuit 17,
The information write request is transferred through the board bus 16 and written to the local memory 15 by the function (B) of the board bus interface 28 described above.

【0168】CPU21は、前記の必要な情報の書き込
みが終了したことを検知すると、ループ実行による待ち
状態を抜けて、2電子積分およびgrsの計算を実行
し、grsの計算結果をローカルメモリ15に格納す
る。書き込みの検知方法(ホストコンピュータ11とC
PU21との同期)、およびこの計算のさらに詳しい内
容は後述する。
When the CPU 21 detects that the writing of the necessary information has been completed, it exits the waiting state by executing the loop, executes the two-electron integration and the calculation of grs, and stores the calculation result of grs in the local memory 15. Store. Write detection method (host computer 11 and C
Synchronization with the PU 21) and further details of this calculation will be described later.

【0169】その後、前述のようにプロセッサエレメン
ト14は、計算終了情報を以下のようにしてホストコン
ピュータ11に送付する。
Thereafter, as described above, the processor element 14 sends the calculation end information to the host computer 11 as follows.

【0170】まず、計算終了情報のために、ホストコン
ピュータ11は、その内部メモリなどに、各プロセッサ
エレメント14に対応した特定の変数領域を設ける。こ
の変数を計算終了ビットと呼ぶ。それぞれのプロセッサ
エレメント14に対応する計算終了ビットは、前述のよ
うに、ホストコンピュータ11の内部メモリがシステム
バス13のアドレス空間にマッピングされているため、
全てのプロセッサエレメント14からアクセスすること
ができる。
First, the host computer 11 provides a specific variable area corresponding to each processor element 14 in its internal memory or the like for the calculation end information. This variable is called a calculation end bit. The calculation end bit corresponding to each processor element 14 is, as described above, because the internal memory of the host computer 11 is mapped in the address space of the system bus 13
It can be accessed from all processor elements 14.

【0171】システムの起動時に、この計算終了ビット
を、例えば“0”にしておき、ホストコンピュータ11
は、この計算終了ビットを監視して、“1”になってい
れば、対応するプロセッサエレメント14での計算が終
了したと判断して、必要な操作を行う。
When the system is started, this calculation end bit is set to, for example, “0”, and the host computer 11
Monitors this calculation end bit, and if it is "1", determines that the calculation by the corresponding processor element 14 has been completed and performs a necessary operation.

【0172】そして、CPU21は、前述のホストコン
ピュータ11上のメモリへの書き込み方法を使って、ボ
ードバス16、バスブリッジ回路17、システムバス1
3を経由してホストコンピュータ11の内部メモリの計
算終了ビットへ、“1”を書き込むことによって、計算
終了情報を転送する。
The CPU 21 uses the above-described writing method to the memory on the host computer 11 to execute the board bus 16, bus bridge circuit 17, system bus 1
Then, by writing "1" to the calculation end bit of the internal memory of the host computer 11 via "3", the calculation end information is transferred.

【0173】このようにして計算終了情報が伝えられる
と、ホストコンピュータ11は、その計算が終了したプ
ロセッサエレメントに接続されているローカルメモリ1
5に対する読み出し要求を送付することにより、ボード
バスインタフェース28の機能(D)を使って、ここに
格納されているgrsの値を読み出す。
When the calculation end information is transmitted in this manner, the host computer 11 sends the information to the local memory 1 connected to the processor element for which the calculation has been completed.
By sending a read request to the device 5, the value of grs stored here is read using the function (D) of the board bus interface 28.

【0174】その後、当該プロセッサエレメント14の
計算終了ビットを、再度、“0”にクリアするととも
に、そのプロセッサエレメント14で行われる次の計算
に対応する2電子積分情報、密度行列を、上で述べたよ
うな手順で送付する。以下同様にして、この手順が繰り
返される。
Thereafter, the calculation end bit of the processor element 14 is cleared to “0” again, and the two-electron integration information and the density matrix corresponding to the next calculation performed by the processor element 14 are described above. And send it in the same way. Hereinafter, the same procedure is repeated.

【0175】次に、2電子積分およびgrsの計算の内
容、およびホストコンピュータ11と、プロセッサエレ
メント14との同期の取り方について説明する。
Next, the contents of the two-electron integration and the calculation of grs, and how to establish synchronization between the host computer 11 and the processor element 14 will be described.

【0176】[2電子積分、grsの計算の動作概要]
まず、2電子積分およびgrsの計算の概要について説
明する。
[Outline of 2-electron integration and grs calculation]
First, an outline of two-electron integration and calculation of grs will be described.

【0177】前記(4)式で表される2電子積分は、前
述のように、小原の方法などを用いた計算によって、浮
動小数点積和演算を用いた計算手順に帰着される。そこ
で、システムの起動後にプロセッサエレメント14に送
付されるプログラム中に、FPU22の浮動小数点演算
器による浮動小数点演算命令を使った2電子積分の計算
手順を、例えばサブルーチンの形で含めておき、計算を
行うときに、このサブルーチンを呼び出すようにする。
As described above, the two-electron integral represented by the above equation (4) is reduced to a calculation procedure using a floating-point multiply-accumulate operation by a calculation using the Ohara method or the like. Therefore, in the program sent to the processor element 14 after the system is started, the calculation procedure of the two-electron integration using the floating-point operation instruction by the floating-point operation unit of the FPU 22 is included in, for example, a subroutine, and the calculation is performed When doing this, call this subroutine.

【0178】また、前述の小原の方法に関する文献に示
されているように、2電子積分の計算に必要なパラメー
タとしては、計算に関与する原子の座標や原子の種類や
使用する基底系などに応じて決まる軌道指数、さらには
軌道の種類に関する軌道量子ベクトル、2電子積分の重
ね合わせに用いる係数などがある。これらのパラメータ
は、ホストコンピュータから送付される2電子積分情報
に含めても良いし、あるいは、分子と使用する基底系が
決まれば、これらのパラメータも決まるため、システム
起動後に、全てのパラメータを各プロセッサエレメント
14に付属するローカルメモリ15に送付しておき、2
電子積分情報としては、これらのパラメータを指し示す
インデックスを送るようにしてもよい。
Further, as shown in the above-mentioned literature relating to Ohara's method, the parameters necessary for the calculation of the two-electron integral include the coordinates of the atoms involved in the calculation, the types of atoms, and the basis set used. An orbital index determined accordingly, and an orbital quantum vector related to the type of orbital, a coefficient used for superposition of two-electron integration, and the like. These parameters may be included in the two-electron integration information sent from the host computer, or if the molecule and the basis set to be used are determined, these parameters are also determined. Sent to the local memory 15 attached to the processor element 14,
As the electronic integration information, an index indicating these parameters may be sent.

【0179】また、ここで述べた軌道量子ベクトルは、
複数通りに分けられ、また、(4)式で表されるよう
に、4つの原子軌道のそれぞれに対応する。このため、
複数個の2電子積分が存在し、浮動小数点演算命令を使
った2電子積分の計算手順は、この種類だけ存在する。
このため、上記の方法では、サブルーチンが複数個必要
となる。したがって、これらのサブルーチンは、例えば
容量の限られた内部メモリ23に格納するのではなく、
ローカルメモリ15に格納するようにしても良い。
The orbital quantum vector described here is
It is divided into a plurality of types, and corresponds to each of the four atomic orbitals as represented by equation (4). For this reason,
There are a plurality of two-electron integrals, and the calculation procedure of the two-electron integral using the floating-point operation instruction exists only for this type.
Therefore, the above method requires a plurality of subroutines. Therefore, these subroutines are not stored in the internal memory 23 having a limited capacity, for example.
The information may be stored in the local memory 15.

【0180】このとき、2電子積分の計算は、分岐など
の制御命令がない浮動小数点演算の連続で表される部分
を含むため、この部分をローカルメモリ15に格納し、
さらに、FPU22の浮動小数点演算器に、CPU21
の制御を受けずに、ローカルメモリ15から演算手順を
読み出して計算するモードを設け、このモードによって
計算するようにしても良い。
At this time, since the calculation of the two-electron integral includes a part represented by a sequence of floating-point operations without control instructions such as branching, this part is stored in the local memory 15.
Further, the floating point arithmetic unit of the FPU 22 includes
It is also possible to provide a mode in which the calculation procedure is read out from the local memory 15 without receiving the control described above, and the calculation is performed in this mode.

【0181】このようにして2電子積分が計算されたの
ち、プロセッサエレメント14では、前記(2)式に従
ってgrsが計算される。この計算には、ホストコンピ
ュータ1から2電子積分情報とともに送付されてきた密
度行列情報が使用される。このときは、2電子積分の種
類によらず、一定の手順に従って計算が行われるため、
内部メモリ23に格納されるプログラム中に、この手順
を含めておき、2電子積分が求められた後、この手順に
従った浮動小数点演算を実行して、grsを求めれば良
い。
After the two-electron integral is calculated as described above, the processor element 14 calculates grs according to the above equation (2). For this calculation, the density matrix information sent together with the two-electron integration information from the host computer 1 is used. At this time, the calculation is performed according to a certain procedure regardless of the type of the two-electron integration,
This procedure may be included in the program stored in the internal memory 23, and after the two-electron integration is obtained, grs may be obtained by executing a floating-point operation according to this procedure.

【0182】また、ホストコンピュータ11から送付さ
れてくる密度行列情報の中には、ボード12上のプロセ
ッサエレメント14間で共通に使用されるものもある。
このため、これらの密度行列は、ホストコンピュータ1
1から送付するのではなく、高速なボードバス13だけ
を通して、プロセッサエレメント14間で送付するよう
にしても良い。
Some of the density matrix information sent from the host computer 11 is commonly used between the processor elements 14 on the board 12.
Therefore, these density matrices are stored in the host computer 1
It is also possible to send the data between the processor elements 14 through only the high-speed board bus 13 instead of sending the data from 1.

【0183】[ホストとプロセッサエレメントの同期]
次に、ホストコンピュータ11による2電子積分情報や
密度行列情報の転送と、プロセッサエレメント14にお
ける上記の計算の同期の取り方について説明する。
[Synchronization of host and processor element]
Next, how to transfer the two-electron integral information and the density matrix information by the host computer 11 and how to synchronize the above calculations in the processor element 14 will be described.

【0184】これらの間に同期がとれていないと、計算
に使用される2電子積分情報や密度行列が、ローカルメ
モリ15に書き込まれる前に、CPU21が計算を開始
してしまう。あるいはCPU21の計算が終了していな
いにもかかわらず、ホストコンピュータ11が2電子積
分情報や密度行列を上書きしてしまう。これらの結果、
求められたgrsの値が誤ったものになってしまう。
If synchronization is not established between them, the CPU 21 starts the calculation before the two-electron integral information and the density matrix used for the calculation are written into the local memory 15. Alternatively, the host computer 11 overwrites the two-electron integral information and the density matrix even though the calculation by the CPU 21 is not completed. As a result of these,
The obtained value of grs is incorrect.

【0185】このような事態を避けるために、例えば、
特定の内部メモリ23やローカルメモリ15のアドレス
に、タグビットと呼ぶ変数領域を設ける。このタグビッ
トには、ホストコンピュータ11と、CPU21との両
方から書き込むことができる。また、タグビットが
“0”の間は、CPU21は2電子積分およびgrsの
計算を開始できず、タグビットが“1”になるまで、前
述のループを抜けられない。また、タグビットが“1”
の間は、ホストコンピュータ11は、2電子積分情報、
および密度行列要素の書き込みができず、タグビットが
“0”になるまで待つ。
To avoid such a situation, for example,
A variable area called a tag bit is provided at a specific internal memory 23 or local memory 15 address. This tag bit can be written from both the host computer 11 and the CPU 21. While the tag bit is "0", the CPU 21 cannot start the two-electron integration and the calculation of grs, and cannot exit the above loop until the tag bit becomes "1". Also, the tag bit is “1”
In the meantime, the host computer 11 performs two-electron integration information,
And the density matrix element cannot be written, and waits until the tag bit becomes “0”.

【0186】このような前提の下で、システム起動時
に、タグビットを“0”としておく。すると、最初に、
ホストコンピュータ11から2電子積分情報、および密
度行列要素の書き込みが行われるまで、上で述べたよう
に、CPU21はループを繰り返す。これらの情報を書
き込み終ると、ホストコンピュータ11は、タグビット
を“1”にする。すると、タグビットが“1”になった
ため、CPU21は、ループを抜けて2電子積分および
grsの計算を開始する。さらに、CPU21が、gr
sの計算を終了すると、CPU21はタグビットを
“0”にする。
Under such a premise, the tag bit is set to "0" when the system is started. Then, first,
As described above, the CPU 21 repeats the loop until the host computer 11 writes the two-electron integral information and the density matrix element. After writing the information, the host computer 11 sets the tag bit to “1”. Then, since the tag bit becomes “1”, the CPU 21 exits the loop and starts the two-electron integration and the calculation of grs. Further, the CPU 21
When the calculation of s ends, the CPU 21 sets the tag bit to “0”.

【0187】この間、ホストコンピュータ11が、次の
2電子積分情報または密度行列情報を書き込もうとして
も、上で述べたように、ホストコンピュータ11は待ち
状態に入っているため、CPU21が実行中の情報を上
書きすることはない。その後、CPU21によってタグ
ビットが“0”になると、ホストコンピュータ11は、
次の2電子積分情報、密度行列情報を書き込む。
During this time, even if the host computer 11 tries to write the next two-electron integral information or density matrix information, as described above, the host computer 11 is in the waiting state, It does not overwrite information. Thereafter, when the tag bit becomes “0” by the CPU 21, the host computer 11
The next two-electron integral information and density matrix information are written.

【0188】このようにすることで、タグビットを使用
して、ホストコンピュータ11とプロセッサエレメント
14との同期をとることができる。このため、CPU2
1が、書き込み前の2電子積分情報や密度行列、あるい
は上書きされてしまった後の2電子積分情報や密度行列
を使って、2電子積分やgrsの計算を行うことを避け
ることができる。
By doing so, the host computer 11 and the processor element 14 can be synchronized using the tag bits. Therefore, the CPU 2
It is possible to avoid the calculation of two-electron integration and grs by using the two-electron integration information and density matrix before writing or the two-electron integration information and density matrix after being overwritten.

【0189】また、効率を上げるために、前述のホスト
コンピュータ11のメモリに保持される、計算終了ビッ
ト、2電子積分や密度行列要素を書き込むためのローカ
ルメモリ15上の領域、grsを格納するためのローカ
ルメモリ15上の領域、タグビットのそれぞれを、それ
ぞれ2個ずつ持ち、上述した書き込みや検査、読み出し
を交互に行うようにしても良い。このようにすれば、ホ
ストコンピュータ11は、例えばプロセッサエレメント
14が計算している途中で、2電子積分情報や密度行列
情報を書き込むことができるようになるため、計算の効
率が向上する。
To increase the efficiency, grs is stored in the memory of the host computer 11 and is stored in the local memory 15 for writing two-electron integrals and density matrix elements. Of the local memory 15 and two tag bits, and the above-described writing, inspection, and reading may be performed alternately. In this way, the host computer 11 can write the two-electron integral information and the density matrix information while the processor element 14 is performing the calculation, for example, so that the calculation efficiency is improved.

【0190】[バスブリッジ回路としての構成、機能、
動作] [ブリッジ回路としての構成]次に、共用チップ20
を、バスブリッジ回路17の一部として用いるときの構
成について述べる。図3は、このバスブリッジ回路17
の構成を示したブロック図であり、共用チップ20と、
若干の付加回路とを用いて構成される。このとき、図3
に示すように、共用チップ20の入力端子35に入力さ
れるモード選択信号SELは、“1”となっており、共
用チップ20は、ブリッジモードで動作する。
[Configuration and Function as Bus Bridge Circuit,
Operation] [Configuration as Bridge Circuit] Next, the shared chip 20
Will be described as a part of the bus bridge circuit 17. FIG. 3 shows the bus bridge circuit 17.
FIG. 3 is a block diagram showing the configuration of the shared chip 20;
It is configured using some additional circuits. At this time, FIG.
As shown in (1), the mode selection signal SEL input to the input terminal 35 of the shared chip 20 is "1", and the shared chip 20 operates in the bridge mode.

【0191】共用チップ20に付加される回路として
は、ブリッジモードの共用チップ20のCPU21で使
用されるプログラムを格納するROM36と、IEEE
1394シリアルバスのリンク層コントローラ(以下、
LLCと略称する)37と、IEEE1394シリアル
バスの物理層コントローラ(以下、PHYと略称する)
38とが設けられる。そして、LLC37から、共用チ
ップ20へ外部割り込みライン39が設けられる。外部
割り込みライン39からの割り込みは、図示を省略した
信号線によってCPU21に入力されるので、前述のよ
うに、外部割り込みによって、割り込みハンドラが起動
する。
Circuits added to the shared chip 20 include a ROM 36 for storing a program used by the CPU 21 of the shared chip 20 in the bridge mode, an IEEE 36
Link layer controller of 1394 serial bus
LLC) 37 and an IEEE 1394 serial bus physical layer controller (hereinafter abbreviated as PHY)
38 are provided. Then, an external interrupt line 39 is provided from the LLC 37 to the shared chip 20. Since an interrupt from the external interrupt line 39 is input to the CPU 21 via a signal line (not shown), the interrupt handler is activated by the external interrupt as described above.

【0192】ここで、LLC37とPHY38について
簡単に説明する。LLC37およびPHY38は、IE
EE1394−1995標準にのっとったリンク層、物
理層の仕様に基づいた機能を有する回路である。
Here, the LLC 37 and the PHY 38 will be briefly described. LLC37 and PHY38 are IE
This circuit has a function based on the specifications of the link layer and the physical layer according to the EE1394-1995 standard.

【0193】このうち、リンク層の機能を持つLLC3
7の、共用チップ20との間のインタフェースの仕様と
しては、例えばPCIバスなどの汎用のバスが考えられ
るが、ここでは、SRAMとのインタフェースのよう
に、チップセレクト信号と書き込みパルス信号、あるい
はリクエスト信号とアクノリッジ信号を用いてアクセス
を制御する汎用インタフェースとする。
Among them, LLC3 having a link layer function
7 may be a general-purpose bus such as a PCI bus, for example. Here, a chip select signal and a write pulse signal or a request A general-purpose interface that controls access using signals and acknowledge signals.

【0194】このような汎用インタフェース機能を持つ
LLC37とPHY38は、現在のところ、数社からL
SI化されており、LLCの例としてはテキサスインス
ツルメンツ社製のTSB12LV31や新日本製鉄社製
のNN8A213などが、またPHYの例としてはテキ
サスインスツルメンツ社製のTSB21LV03や新日
本製鉄社製のNN8A202などがある。
At present, LLC 37 and PHY 38 having such a general-purpose interface function are available from several companies.
Examples of LLC include TSB12LV31 manufactured by Texas Instruments and NN8A213 manufactured by Nippon Steel Corporation. Examples of PHY include TSB21LV03 manufactured by Texas Instruments and NN8A202 manufactured by Nippon Steel Corporation. is there.

【0195】共用チップ20とLLC37とのインタフ
ェースについてさらに述べる。上に挙げたLLCは、内
部にレジスタを持ち、共用チップ20から、これらのレ
ジスタに対する書き込み/読み出しアクセスによってイ
ンタフェースされる。したがって、共用チップ20から
は、上で述べた制御信号の他に、数ビットのアドレス信
号と、例えば16ビットのデータ信号を用いて、SRA
Mと同様の方法によってインタフェースできる。
The interface between the shared chip 20 and the LLC 37 will be further described. The above-mentioned LLC has internal registers, and is interfaced from the shared chip 20 by write / read access to these registers. Therefore, from the shared chip 20, in addition to the control signal described above, an SRA using an address signal of several bits and a data signal of, for example, 16 bits is used.
It can be interfaced in the same way as M.

【0196】この実施の形態では、LLC37の制御信
号は、PEC25が生成する。また、LLC37のアド
レス信号としては、演算処理モードではローカルメモリ
15のアドレスに使用されていたLMバス31から出力
されるアドレス信号の下位の数ビットが入力される。ま
た、ここでは、データ信号を16ビットとして、このデ
ータ信号には、例えば演算処理モードではローカルメモ
リ15のデータ入出力に使用されていたLMバス31と
接続される64ビットのデータ信号の上位16ビットを
用いる。
In this embodiment, the control signal of the LLC 37 is generated by the PEC 25. As the address signal of the LLC 37, several lower bits of the address signal output from the LM bus 31 used for the address of the local memory 15 in the arithmetic processing mode are input. Here, the data signal is 16 bits, and this data signal includes, for example, the upper 16 bits of the 64-bit data signal connected to the LM bus 31 used for data input / output of the local memory 15 in the arithmetic processing mode. Use bits.

【0197】さらに、LLC37は、特定のインタフェ
ースによってPHY38に接続される。PHY38で
は、伝送線の制御などの物理層の処理が行われ、図3に
示したポート1、ポート2を通して通信が行われる。ポ
ート1およびポート2は、前述の図2に示したように、
システムバス13に対して接続され、デイジーチェーン
の形態で、ボード12間またはホストコンピュータ11
との間で、互いに接続される。
Further, the LLC 37 is connected to the PHY 38 by a specific interface. In the PHY 38, processing of the physical layer such as control of a transmission line is performed, and communication is performed through the ports 1 and 2 shown in FIG. Port 1 and port 2 are, as shown in FIG.
It is connected to the system bus 13 and connected between the boards 12 or the host computer 11 in the form of a daisy chain.
Are connected to each other.

【0198】また、共用チップ20は、LLC37の他
に、例えばデータバス幅が16ビットのROM36と接
続される。この実施の形態では、ROM36のチップセ
レクト信号などの制御信号は、演算処理モードのときと
同様にLMC24が生成し、また、アドレス信号は、L
Mバス31から出力されるアドレス信号とされる。さら
に、データ信号を16ビットとして、このデータ信号用
には、例えばLMバス31と入出力される64ビットの
データ信号の下位16ビットが接続される。
The shared chip 20 is connected to, for example, the ROM 36 having a data bus width of 16 bits, in addition to the LLC 37. In this embodiment, a control signal such as a chip select signal of the ROM 36 is generated by the LMC 24 in the same manner as in the arithmetic processing mode, and the address signal is L.
The address signal is output from the M bus 31. Further, assuming that the data signal is 16 bits, for this data signal, for example, the lower 16 bits of a 64-bit data signal input / output to / from the LM bus 31 are connected.

【0199】[バスブリッジ回路17の機能、動作]次
に、バスブリッジ回路17の機能と動作について説明す
る。
[Function and Operation of Bus Bridge Circuit 17] Next, the function and operation of the bus bridge circuit 17 will be described.

【0200】[ブリッジ回路の機能]まず、共用チップ
20がブリッジモードのときの機能について、演算処理
モードとの違いを中心にして説明する。このブリッジモ
ードでは、システム起動時のリセット後の動作およびC
PU21の動作に、演算処理モードとの違いがある。
[Functions of Bridge Circuit] First, functions when the shared chip 20 is in the bridge mode will be described focusing on differences from the arithmetic processing mode. In this bridge mode, the operation after reset at system startup and C
The operation of the PU 21 is different from the operation processing mode.

【0201】まず、システム起動時のリセット後、演算
処理モードではCPU21は起動待ち状態になっていた
のに対し、ブリッジモードでは、まず、ブート状態とな
ってROM36に格納されているプログラムを自動的に
内部メモリ23に格納して、その後、自動的に動作状態
に移行する。
First, after a reset at the time of system startup, the CPU 21 is in a startup waiting state in the arithmetic processing mode, whereas in the bridge mode, it is first in the boot state to automatically execute a program stored in the ROM 36. And then automatically shifts to the operating state.

【0202】このことによって、システムバス13であ
るIEEE1394シリアルバスや、ボードバス16で
あるPPRAM−Linkが立ち上がる前に、通信の機
能を使うことなく、プログラムをロードして動作を開始
することができる。
Thus, before the IEEE 1394 serial bus as the system bus 13 and the PPRAM-Link as the board bus 16 start up, the program can be loaded and the operation can be started without using the communication function. .

【0203】ブート状態では、内部メモリ23に格納さ
れている命令の代わりに、マルチプレクサ26は、ロー
ドジェネレータ27の出力を選択して、命令バス32を
通してCPU21に供給する。
[0203] In the boot state, the multiplexer 26 selects the output of the load generator 27 and supplies it to the CPU 21 through the instruction bus 32 instead of the instruction stored in the internal memory 23.

【0204】ロードジェネレータ27は、「ROM36
に格納されている命令を、LMバス31を通して、16
ビット毎にCPU21内部の整数レジスタにロードし、
ロード結果を2個ずつまとめて32ビットの命令を構成
し、その結果をさらに内部メモリ23にストアするとい
う操作を、ROM36と内部メモリ23のアドレスを増
加させながら所定の回数だけ繰り返す」という命令列を
自動的に生成する。
The load generator 27 has a ROM 36
Through the LM bus 31 to the instruction stored in
Loads an integer register inside the CPU 21 for each bit,
An operation of forming a 32-bit instruction by putting together two load results and storing the result in the internal memory 23 is repeated a predetermined number of times while increasing the addresses of the ROM 36 and the internal memory 23. " Is automatically generated.

【0205】さらに、このとき、CPU21は、ほぼ前
述の動作状態と同じように命令を実行する。この結果、
CPU21は、ブート状態で、ロードジェネレータ27
で生成された命令を実行するため、ROM36に格納さ
れている命令が、全て内部メモリ23に格納される。
Further, at this time, the CPU 21 executes the command substantially in the same manner as the above-described operation state. As a result,
When the CPU 21 is in the boot state, the load generator 27
The instructions stored in the ROM 36 are all stored in the internal memory 23 in order to execute the instruction generated in the step S1.

【0206】但し、ROM36のアクセスタイムは、一
般に、SRAMで構成されるローカルメモリのアクセス
タイムよりも遅い場合が多いため、ブート状態における
ROM36からのロード命令の実行は、演算処理モード
の動作状態におけるロード命令よりも時間をかけて実施
する。
However, in general, the access time of the ROM 36 is often slower than the access time of the local memory constituted by the SRAM. Therefore, the execution of the load instruction from the ROM 36 in the boot state is performed in the operation state in the operation processing mode. Takes longer to execute than load instructions.

【0207】また、前述のようにLMバス31を通し
て、CPU21の内部の整数レジスタへロードするとき
には、CPU21のコントロールレジスタの設定によっ
て、64ビットのLMバス31のどの部分をロードする
かが決められる。このため、ロード命令でLMバス31
の下位32ビットからロードされるように、CPU21
のコントロールレジスタのリセット直後の値が設定され
ている。
As described above, when loading an integer register inside the CPU 21 through the LM bus 31, which part of the 64-bit LM bus 31 is loaded is determined by the setting of the control register of the CPU 21. Therefore, the load instruction causes the LM bus 31
CPU 21 so that it is loaded from the lower 32 bits of
The value immediately after resetting of the control register is set.

【0208】ブート状態でROM36の命令が内部メモ
リ23に転送され終わると、上に述べたように、CPU
21は、自動的に動作状態に移行して、命令の実行を開
始する。この状態では、前述のマルチプレクサ26が切
り替わり、演算処理モードと同様、内部メモリ23から
の命令出力を選択する。それとともに、CPU21は、
ブート状態でプログラムが格納された内部メモリ23の
アドレスから順番に命令を読み出しながら、実行する。
When the instructions in the ROM 36 have been transferred to the internal memory 23 in the boot state, as described above, the CPU
21 automatically shifts to the operating state and starts executing the instruction. In this state, the multiplexer 26 is switched to select an instruction output from the internal memory 23 as in the arithmetic processing mode. At the same time, the CPU 21
In the boot state, instructions are read out and executed sequentially from the address of the internal memory 23 where the program is stored.

【0209】ここで、動作状態における外部回路からの
ロード、ストア命令の動作は、演算処理モードと、この
ブリッジモードとでは異なる。演算処理モードでは、汎
用SRAMで構成されたローカルメモリ15に対して読
み出し/書き込みが行われていたのに対して、ブリッジ
モードでは、前述したLLC37のインタフェースを通
して読み出し/書き込みが行われる。
Here, the operation of the load / store instruction from the external circuit in the operation state is different between the arithmetic processing mode and the bridge mode. In the arithmetic processing mode, reading / writing is performed to / from the local memory 15 configured by a general-purpose SRAM, whereas in the bridge mode, reading / writing is performed through the interface of the LLC 37 described above.

【0210】このため、ブリッジモードでは、PEC2
5によって、LLC37の制御信号を生成しながら、前
述の汎用インタフェースの仕様に基づいて、LLC37
に含まれている内部レジスタの読み出しや書き込みが行
われる。また、SRAMとLLC37のアクセスタイム
にも違いがあるため、CPU21は、演算処理モードの
ときとは異なるサイクル数をかけて、LLC37との間
のロード、ストアを実行する。
Therefore, in bridge mode, PEC2
5, while generating a control signal for the LLC 37, based on the above-described general-purpose interface specifications, the LLC 37
The reading and writing of the internal register included in the. In addition, since there is a difference in the access time between the SRAM and the LLC 37, the CPU 21 executes load and store with the LLC 37 by using a different number of cycles from that in the arithmetic processing mode.

【0211】また、このとき、LMバス31の下位16
ビットからの書き込みは、CPU21のコントロールレ
ジスタを設定することによって禁止されるため、ストア
命令のときにも、ROM36に書き込みが行われること
はなく、ROM36の出力とデータ出力とが衝突するこ
とはない。
At this time, the lower 16 bits of the LM bus 31
Writing from a bit is prohibited by setting the control register of the CPU 21. Therefore, even when a store command is issued, writing to the ROM 36 is not performed, and the output of the ROM 36 does not collide with the data output. .

【0212】ボードバスインタフェース28など、上述
した部分以外の他のユニットは、ブリッジモードでも、
演算処理モードと同じ機能を持つ。
Other units, such as the board bus interface 28, other than the above-described units, operate in the bridge mode.
It has the same function as the arithmetic processing mode.

【0213】[LLC37の動作概要]次に、共用チッ
プ20から、LLC37を使用してIEEE1394シ
リアルバスからなるシステムバス13を経由した通信を
行うときの動作の概要について説明する。
[Outline of Operation of LLC 37] Next, an outline of an operation when communication is performed from the shared chip 20 via the system bus 13 composed of an IEEE 1394 serial bus using the LLC 37 will be described.

【0214】IEEE1394シリアルバスの仕様で
は、非同期のアシンクロナス転送と、アシンクロナス転
送よりも高速であり、リアルタイム転送を行うためのア
イソクロナス転送が定義されているが、この実施の形態
では、簡単のためにIEEE1394バス規格のアシン
クロナス転送を用いることとする。このとき、LLC3
7による通信制御手順としては、一般的に、以下のよう
なものが考えられる。
In the specification of the IEEE 1394 serial bus, asynchronous asynchronous transfer and isochronous transfer for performing real-time transfer, which is faster than asynchronous transfer, are defined. It is assumed that asynchronous transfer of the bus standard is used. At this time, LLC3
In general, the following can be considered as the communication control procedure by 7.

【0215】まず、LLC37には、トランスミット用
FIFO、レシーブ用FIFO、制御用レジスタ、状態
レジスタが含まれるものとする。トランスミット用FI
FOは、共用チップ20からIEEE1394シリアル
バスであるシステムバス13に、アシンクロナス転送の
パケットを送出するときに使用され、前述の汎用インタ
フェースに従って共用チップ20から書き込みが行われ
る。また、制御用レジスタは、この送出を制御するため
に使用され、同じく、共用チップ20から書き込みが行
われる。
First, it is assumed that the LLC 37 includes a transmit FIFO, a receive FIFO, a control register, and a status register. FI for transmission
The FO is used when transmitting an asynchronous transfer packet from the shared chip 20 to the system bus 13 which is an IEEE 1394 serial bus, and writing is performed from the shared chip 20 according to the above-described general-purpose interface. The control register is used to control this transmission, and similarly, writing is performed from the shared chip 20.

【0216】さらに、レシーブ用FIFOは、システム
バスであるIEEE1394シリアルバスからアシンク
ロナス転送のパケットを受信するときに使用され、前述
の汎用インタフェースに従って共用チップ20から読み
出される。また、LLC37からCPU21への割り込
み信号ライン39も使用される。
The receive FIFO is used when receiving asynchronous transfer packets from the IEEE 1394 serial bus, which is a system bus, and is read from the shared chip 20 in accordance with the above-described general-purpose interface. An interrupt signal line 39 from the LLC 37 to the CPU 21 is also used.

【0217】このとき、状態レジスタは、割り込みの状
態などを共用チップ20に伝えるために使用され、共用
チップ20から汎用インタフェースに従って読み出され
る。上で述べた各社から発表されているLLCは、さま
ざまな通信制御手順を用いているが、ここで述べた一般
的な手順に対し、わずかな変更を加えるだけで対応する
ことが可能なので、以下この手順を前提にして説明す
る。
At this time, the status register is used for transmitting the interrupt status and the like to the shared chip 20, and is read from the shared chip 20 according to the general-purpose interface. The LLCs announced by the companies mentioned above use various communication control procedures, but the general procedures described here can be handled with only slight changes, so The description will be made based on this procedure.

【0218】ここで、IEEE1394のアシンクロナ
ス転送では、あるノードから別のノードに対して書き込
みトランザクション、読み出しトランザクションを行う
ときは、前述のPPRAM−Linkの要求パケット送
出と同様、要求パケットの送出、および応答パケットの
受け取りによってトランザクションが構成される。
In the IEEE 1394 asynchronous transfer, when a write transaction and a read transaction are performed from one node to another node, the request packet transmission and response are performed in the same manner as the PPRAM-Link request packet transmission described above. A transaction is configured by receiving a packet.

【0219】すなわち、要求側のノードは、アシンクロ
ナスの書き込み要求パケットまたは読み出し要求パケッ
トを送出する。その後、要求を受け付けたノードは、ア
シンクロナスの書き込み応答パケットまたは読み出し応
答パケットを要求側のノードに対して返す。また、PP
RAM−Linkと同様、書き込みの場合は書き込み要
求パケットにデータが付加され、読み出しの場合は読み
出し応答パケットにデータが付加される。
In other words, the requesting node sends out an asynchronous write request packet or read request packet. Thereafter, the node that has received the request returns an asynchronous write response packet or read response packet to the requesting node. Also, PP
As in the case of the RAM-Link, in the case of writing, data is added to a write request packet, and in the case of reading, data is added to a read response packet.

【0220】IEEE1394シリアルバス規格のリン
ク層では、このようにパケットのレベルの処理が行われ
るので、アシンクロナスの要求パケットと応答パケット
の処理などのトランザクションレベルの処理は、共用チ
ップ20のプログラムで行う必要がある。
In the link layer of the IEEE 1394 serial bus standard, the processing at the packet level is performed as described above. Therefore, the processing at the transaction level such as the processing of the asynchronous request packet and the response packet needs to be performed by the program of the shared chip 20. There is.

【0221】ここで、共用チップ20からIEEE13
94シリアルバスを通してアシンクロナスの要求パケッ
トまたは応答パケットを送出するときは、まず、共用チ
ップ20内のCPU21を通して、前述のトランスミッ
ト用FIFOに、これらのパケットを書き込み、その
後、制御用レジスタに特定の値を書き込むことによって
パケットの送出を指示する。すると、LLC37によっ
て、トランスミット用FIFOに格納されたパケットが
自動的にIEEE1394に送出される。
Here, the shared chip 20 to the IEEE 13
When transmitting an asynchronous request packet or response packet through the 94 serial bus, first, these packets are written into the above-mentioned transmit FIFO through the CPU 21 in the shared chip 20, and then a specific value is stored in the control register. To instruct transmission of the packet. Then, the packet stored in the transmission FIFO is automatically transmitted to IEEE 1394 by the LLC 37.

【0222】また、IEEE1394シリアルバスから
アシンクロナスの要求パケットまたは応答パケットが受
け取られると、このパケットがLLC37のレシーブ用
FIFOに格納されるとともに、LLC37から前述の
外部割り込み信号ライン39を通して、共用チップ20
に割り込みが発生する。そこで、共用チップ20内のC
PU21は、割り込みハンドラを起動し、前述のレシー
ブ用FIFOからパケットを読み出す。また、前述の状
態レジスタのデータを読み出すことによって、CPU2
1は、割り込みを発生したときのパケットの種類などの
情報を得ることができる。
When an asynchronous request packet or response packet is received from the IEEE 1394 serial bus, this packet is stored in the receive FIFO of the LLC 37, and is sent from the LLC 37 to the shared chip 20 through the external interrupt signal line 39 described above.
Is interrupted. Therefore, C in shared chip 20
The PU 21 activates an interrupt handler and reads a packet from the receive FIFO described above. Also, by reading the data of the status register, the CPU 2
1 can obtain information such as the type of packet when an interrupt occurs.

【0223】[バスブリッジ回路としての動作]次に、
以上説明した機能によってバスブリッジ回路17が動作
する様子について説明する。前述したように、システム
によって初期化された後、共用チップ20内のCPU2
1は、ROM36から内部メモリ23に読み出されたプ
ログラムに従って動作する。前に説明したシステムの動
作、あるいはプロセッサエレメント14の動作に関わ
り、バスブリッジ回路17では、このプログラムに基い
て以下の3通りの動作を行うことが必要である。
[Operation as Bus Bridge Circuit]
The manner in which the bus bridge circuit 17 operates with the functions described above will be described. As described above, the CPU 2 in the shared chip 20 after being initialized by the system.
1 operates according to a program read from the ROM 36 to the internal memory 23. In connection with the operation of the system described above or the operation of the processor element 14, the bus bridge circuit 17 needs to perform the following three operations based on this program.

【0224】(G)ホストコンピュータ11から、各プ
ロセッサエレメント14への、内部メモリ23またはロ
ーカルメモリ15に対するパラメータやプログラムの書
き込み要求の処理。
(G) Processing of a request from the host computer 11 to each processor element 14 for writing a parameter or a program to the internal memory 23 or the local memory 15.

【0225】(H)各プロセッサエレメント14から、
ホストコンピュータ11の計算終了ビットへの書き込み
要求の処理。
(H) From each processor element 14,
Processing of a write request to the calculation end bit of the host computer 11.

【0226】(I)ホストコンピュータ11から、各プ
ロセッサエレメント14に付属のローカルメモリ15か
らのgrsのデータ読み出し要求の処理。
(I) Processing of a read request for grs data from the local memory 15 attached to each processor element 14 from the host computer 11.

【0227】以下、これらの動作の内容について説明す
る。
The contents of these operations will be described below.

【0228】まず、バスブリッジ回路17のCPU21
は、通常、自分が出したIEEE1394バス規格のア
シンクロナスの要求送出パケットのうち、まだ、LLC
37を通して応答パケットが返って来ていないものに対
して、経過時間を監視するループを実行している。CP
U21が、通常、この操作を行う理由は後述する。ま
た、前記(G)〜(I)のCPU21の動作は、以下に
述べるように、割り込みによって起動されるため、殆ど
が割り込みハンドラの処理となる。
First, the CPU 21 of the bus bridge circuit 17
Is normally the LLC request transmission packet of the IEEE 1394 bus standard issued by itself.
A loop for monitoring the elapsed time is executed for those for which no response packet has been returned through 37. CP
The reason why U21 normally performs this operation will be described later. In addition, since the operations of the CPUs (G) to (I) are started by an interrupt as described below, most of the operations are performed by an interrupt handler.

【0229】前記(G)の動作のときは、バスブリッジ
回路17は、ホストコンピュータ11から書き込みデー
タを受け取り、書き込み先のプロセッサエレメント14
に対して、PPRAM−Linkの書き込みトランザク
ションを行う。
In the case of the operation (G), the bus bridge circuit 17 receives write data from the host computer 11,
, A write transaction of PPRAM-Link is performed.

【0230】このとき、上で述べたように、ホストコン
ピュータ11からのアシンクロナスの書き込み要求パケ
ットが、LLC37のレシーブ用FIFOに格納され
て、外部割り込み信号ライン39を通して割り込みが発
生するので、バスブリッジ回路17の共用チップ20の
CPU21は外部割り込みを処理するための割り込みハ
ンドラに飛ぶ。
At this time, as described above, the asynchronous write request packet from the host computer 11 is stored in the receive FIFO of the LLC 37 and an interrupt is generated through the external interrupt signal line 39. The CPU 21 of the shared chip 20 jumps to an interrupt handler for processing an external interrupt.

【0231】この割り込みハンドラでは、CPU21
は、まず、LLC37の状態レジスタを読み出して、書
き込み要求が来ていることを確認すると、この書き込み
要求パケットのヘッダ及び付加されている書き込みデー
タを、レシーブ用FIFOから読み出し、内部メモリ2
3に書き込む。
In this interrupt handler, the CPU 21
First reads the status register of the LLC 37 and confirms that a write request has been received, reads the header of the write request packet and the added write data from the receive FIFO, and reads the internal memory 2
Write to 3.

【0232】その後、CPU21は、書き込み要求パケ
ットのヘッダ情報に含まれているアドレスを、データを
書き込むプロセッサエレメント14のPPRAMノード
識別子とメモリアドレスオフセットに変換する。さら
に、これらの情報を基にして、PPRAM−Linkの
書き込み要求パケットのヘッダを生成して、上記データ
とともに、内部メモリ23の所定の位置に格納する。
After that, the CPU 21 converts the address contained in the header information of the write request packet into the PPRAM node identifier and the memory address offset of the processor element 14 into which the data is to be written. Further, a header of a write request packet of the PPRAM-Link is generated based on these pieces of information, and stored in a predetermined position of the internal memory 23 together with the data.

【0233】その後、プロセッサエレメント14の機能
の説明で述べた、前記(E)と全く同じ操作を行うこと
によって、前記内部メモリ23の所定の位置に格納され
たデータを、該当するプロセッサエレメント14の内部
メモリ23に書き込む。同時に、バスブリッジ回路17
の共用チップ20は、IEEE1394シリアルバスで
あるシステムバス13に対して、アシンクロナスの書き
込み要求パケットに対する書き込み応答パケットを送出
する。この操作は、まず、CPU21によって書き込み
応答パケットを内部メモリ23上に生成し、その生成し
た書き込み応答パケットを、前述のように、LLC37
のトランスミット用FIFO、制御レジスタへ書き込む
ことによって行うことができる。
Thereafter, by performing exactly the same operation as in (E) described in the description of the function of the processor element 14, the data stored at a predetermined position in the internal memory 23 is transferred to the corresponding processor element 14. Write to the internal memory 23. At the same time, the bus bridge circuit 17
Sends a write response packet to the asynchronous write request packet to the system bus 13 which is an IEEE 1394 serial bus. In this operation, first, a write response packet is generated in the internal memory 23 by the CPU 21, and the generated write response packet is stored in the LLC 37 as described above.
By writing to the transmit FIFO and control register.

【0234】また、前記(I)の動作の処理内容は、前
記(G)の処理内容と同様である。バスブリッジ回路1
7は、ホストコンピュータ11から読み出し要求を受け
取ると、読み出しの対象となるプロセッサエレメント1
4に対して、PPRAM−Linkの読み出しトランザ
クションを発生させて、データを受け取り、その後、応
答パケットにより、ホストコンピュータ11にデータを
送出する。
The processing contents of the operation (I) are the same as the processing contents of the above (G). Bus bridge circuit 1
When receiving a read request from the host computer 11, the processor element 1 to be read is
4, a read transaction of the PPRAM-Link is generated to receive the data, and thereafter, the data is transmitted to the host computer 11 by a response packet.

【0235】このとき、ホストコンピュータ11からの
アシンクロナスの読み出し要求パケットが、LLC37
のレシーブ用FIFOに格納されて、外部割り込み信号
ライン39を通して割り込みが発生するので、バスブリ
ッジ回路17の共用チップ20のCPU21は、外部割
り込みを処理するための割り込みハンドラに飛ぶ。
At this time, the asynchronous read request packet from the host computer 11 is transmitted to the LLC 37
Is stored in the receiving FIFO and an interrupt is generated through the external interrupt signal line 39, so that the CPU 21 of the shared chip 20 of the bus bridge circuit 17 jumps to an interrupt handler for processing the external interrupt.

【0236】そして、割り込みハンドラにおいて、LL
C37の状態レジスタを読み出して、読み出し要求が来
ていることを判定すると、この読み出し要求パケットを
レシーブ用FIFOから読み出し、内部メモリ23に書
き込む。その後、CPU21は、読み出し要求パケット
のヘッダ情報に含まれているアドレスを、データを読み
出すプロセッサエレメントのPPRAMノード識別子と
メモリアドレスオフセットに変換する。
Then, in the interrupt handler, LL
When it is determined that a read request has been received by reading the status register of C37, this read request packet is read from the receive FIFO and written to the internal memory 23. Thereafter, the CPU 21 converts the address included in the header information of the read request packet into a PPRAM node identifier and a memory address offset of the processor element from which data is read.

【0237】さらに、これらの情報を基にして、PPR
AM−Linkの読み出し要求パケットのヘッダを生成
して、内部メモリ23の所定の位置に格納する。その
後、プロセッサエレメントの機能の説明で述べた、前記
(F)と全く同じ操作を行うことによって、該当するプ
ロセッサエレメント14のメモリからデータが読み出さ
れ、バスブリッジ回路17の共用チップ20の内部メモ
リ23に、その読み出されたデータが書き込まれる。
Further, based on these information, the PPR
The header of the read request packet of the AM-Link is generated and stored in a predetermined position of the internal memory 23. Thereafter, by performing exactly the same operation as in (F) described in the description of the function of the processor element, data is read from the memory of the corresponding processor element 14 and the internal memory of the shared chip 20 of the bus bridge circuit 17 is read. 23, the read data is written.

【0238】これと同時に、バスブリッジ回路17の共
用チップ20は、IEEE1394バスからなるシステ
ムバス13に対して、アシンクロナスの読み出し要求パ
ケットに対する読み出し応答パケットを送出する。この
とき、読み出し応答パケットには、データが付加される
ので、まず、CPU21によって読み出し応答パケット
のヘッダを生成し、さらに、このヘッダと、内部メモリ
23に格納された上記読み出しデータとを、LLC37
のトランスミット用FIFOに書き込み、次に前述のよ
うに制御レジスタへ書き込むことによって、読み出し応
答パケットを送出する。
At the same time, the shared chip 20 of the bus bridge circuit 17 sends out a read response packet to the asynchronous read request packet to the system bus 13 composed of the IEEE 1394 bus. At this time, since data is added to the read response packet, first, a header of the read response packet is generated by the CPU 21, and the header and the read data stored in the internal memory 23 are transferred to the LLC 37.
Then, a read response packet is sent out by writing to the transmission FIFO of the above and then writing to the control register as described above.

【0239】さらに、前記(H)の動作では、(G)、
(I)の動作とは異なり、バスブリッジ回路17は、I
EEE1394シリアルバスに対するアシンクロナスの
書き込みトランザクションを実行しなければならない。
In the operation (H), (G)
Unlike the operation of (I), the bus bridge circuit 17
An asynchronous write transaction to the EEE1394 serial bus must be performed.

【0240】また、前述のように、この動作では、ある
プロセッサエレメント14からホストコンピュータ11
のメモリへ書き込み要求を行うので、そのプロセッサエ
レメント14からバスブリッジ回路17の内部メモリ2
3に対して、PPRAM−Linkの書き込み要求を使
って、特殊なフォーマットのデータが書き込まれる。こ
の特殊なフォーマットのデータの中には、ホストコンピ
ュータ11に対する書き込み動作を行うこと、書き込み
を行うホストコンピュータ11上のメモリアドレス、そ
のアドレスに対する書き込みデータなどの情報が含まれ
ている。そこで、プロセッサエレメント14から書き込
み要求が来ると、バスブリッジ回路17では、これらの
情報を基にして、IEEE1394シリアルバス用のト
ランザクションを起こし、ホストコンピュータ11に書
き込みを行う。以下、この操作を詳しく述べる。
In addition, as described above, in this operation, a certain processor element 14 sends a signal from the host computer 11 to the host computer 11.
Of the internal memory 2 of the bus bridge circuit 17 from the processor element 14.
3, a special format data is written using a PPRAM-Link write request. The data in the special format includes information such as performing a write operation on the host computer 11, a memory address on the host computer 11 for performing the write, and write data for the address. Therefore, when a write request is received from the processor element 14, the bus bridge circuit 17 generates a transaction for the IEEE 1394 serial bus based on the information and writes the transaction to the host computer 11. Hereinafter, this operation will be described in detail.

【0241】このとき、バスブリッジ回路17では、ま
ず、前述の(A)とほぼ同様の操作が行われる。すなわ
ち、共用チップ20内のボードバスインタフェース28
は、プロセッサエレメント14からの書き込み要求パケ
ットに含まれるデータを内部メモリ23に格納して、C
PU21に割り込みを出す。CPU21は、割り込みを
受け取ると、ボードバスインタフェース28からの割り
込みを処理する割り込みハンドラに飛んで、前記(A)
の操作によって、プロセッサエレメント14にPPRA
M−Linkの書き込み応答パケットを出す。
At this time, in the bus bridge circuit 17, first, substantially the same operation as in the above (A) is performed. That is, the board bus interface 28 in the shared chip 20
Stores the data contained in the write request packet from the processor element 14 in the internal memory 23,
An interrupt is issued to the PU 21. When the CPU 21 receives the interrupt, it jumps to the interrupt handler that processes the interrupt from the board bus interface 28, and
Operation causes the processor element 14 to
An M-Link write response packet is issued.

【0242】この後の操作は、前記(A)に記した操作
の場合と、このブリッジモードの場合とで異なる。ま
ず、前記(A)の操作では、すぐに割り込みハンドラか
らメインルーチンに戻り、操作は終了する。しかし、こ
のブリッジモードの場合には、割り込みハンドラから戻
ることなく、続けて以下のようにIEEE1394シリ
アルバスのパケットを発行する操作が実行される。
The subsequent operation is different between the operation described in (A) and the bridge mode. First, in the operation (A), the process immediately returns to the main routine from the interrupt handler, and the operation ends. However, in the case of the bridge mode, an operation of continuously issuing a packet of the IEEE 1394 serial bus is performed as follows without returning from the interrupt handler.

【0243】この時点で、内部メモリ23には、前述の
特殊なフォーマットのデータを通して、ホストコンピュ
ータ11のメモリアドレスや書き込むデータが格納され
ているので、CPU21は、これらの情報を基にして、
IEEE1394シリアルバスのアシンクロナスの書き
込み要求パケットのヘッダを、内部メモリ23上に生成
する。
At this point, since the memory address of the host computer 11 and the data to be written are stored in the internal memory 23 through the data of the special format described above, the CPU 21
The header of the asynchronous write request packet of the IEEE 1394 serial bus is generated on the internal memory 23.

【0244】その後、前述のように、LLC37のトラ
ンスミット用FIFOに、このヘッダとデータを書き込
み、制御レジスタに書き込みを行うことにより、書き込
み要求パケットを、IEEE1394シリアルバスであ
るシステムバス13に送出する。その後、CPU21
は、ボードバスインタフェース28からの割り込みハン
ドラからメインルーチンに戻る。
Thereafter, as described above, the header and data are written in the transmission FIFO of the LLC 37 and written in the control register, thereby transmitting a write request packet to the system bus 13 which is an IEEE 1394 serial bus. . After that, the CPU 21
Returns from the interrupt handler from the board bus interface 28 to the main routine.

【0245】このような操作は、前記(A)の操作を行
うボードバスインタフェース28からの割り込みを処理
する割り込みハンドラに対し、ハンドラから戻る直前
に、IEEE1394シリアルバス規格のパケットを発
行するプログラムを追加することによって実現できる。
In such an operation, a program for issuing an IEEE 1394 serial bus standard packet is added to the interrupt handler for processing the interrupt from the board bus interface 28 for performing the operation (A) just before returning from the handler. It can be realized by doing.

【0246】さらに、前述したように、LLC37は、
アシンクロナスのパケットの処理レベルまでしか行わな
いので、トランザクションレベルの処理は、バスブリッ
ジ回路17で行わなければならない。したがって、この
とき送出したIEEE1394バス規格の書き込み要求
パケットに対する書き込み応答パケットが帰ってくるこ
とを確認しなければならない。
Furthermore, as described above, LLC 37
Since the processing is performed only up to the processing level of the asynchronous packet, the processing at the transaction level must be performed by the bus bridge circuit 17. Therefore, it is necessary to confirm that the write response packet corresponding to the IEEE 1394 bus standard write request packet transmitted at this time returns.

【0247】また、書き込み要求パケットを出してから
一定時間経っても書き込み応答パケットが返ってこなけ
れば、書き込み要求パケットを再送するなどの措置を講
じる必要がある。この操作は、前記(G)の説明の直前
で述べたように、割り込みがかかる前に、CPU21
が、通常実行するプログラムによって行われる。
If a write response packet does not return within a certain period of time after issuing a write request packet, it is necessary to take measures such as resending the write request packet. This operation is performed by the CPU 21 before the interruption is performed, as described immediately before the description of (G).
Is performed by a normally executed program.

【0248】このとき、CPU21は、まだLLC37
から書き込み応答パケットが返ってきていない要求パケ
ットを、内部メモリ23上に保持しておくとともに、書
き込み要求パケットの1個ずつに対応して、CPU21
内部の整数レジスタ上などにカウンタなどの変数を設け
ておき、一定時間毎に、このカウンタをインクリメント
する。そして、カウンタが所定の値以上になれば、再
度、書き込み要求パケットを再送するなどの操作を行
う。CPU21は、この操作を、通常実行するプログラ
ムとして、無限に繰り返す。
At this time, the CPU 21 still outputs the LLC 37
The request packet from which no write response packet has been returned from the CPU 21 is stored in the internal memory 23 and the CPU 21 responds to each of the write request packets one by one.
A variable such as a counter is provided on an internal integer register or the like, and this counter is incremented at regular intervals. When the counter becomes equal to or more than a predetermined value, an operation such as resending the write request packet is performed again. The CPU 21 repeats this operation indefinitely as a normally executed program.

【0249】さらに、書き込み応答パケットが返ってき
たときには、前述のように、LLC37から外部割り込
み信号ライン39を通して、バスブリッジ回路17の共
用チップ20に対して割り込みが行われ、前記(G)、
(I)のときと同じ外部割り込みに対する割り込みハン
ドラに飛ぶ。そして、この割り込みハンドラに、次の操
作を追加する。
When the write response packet is returned, the LLC 37 interrupts the shared chip 20 of the bus bridge circuit 17 through the external interrupt signal line 39 as described above.
Jump to the interrupt handler for the same external interrupt as in (I). Then, the following operation is added to this interrupt handler.

【0250】内部メモリ23に、レシーブ用FIFOか
ら読み出したパケットが書き込み応答パケットであった
場合には、そのパケットとともに、前述のように、内部
メモリ23に保持されている書き込み要求パケットを除
去して、割り込みハンドラから戻る。上記のCPU21
で通常行われているプログラムでは、応答パケットが返
っていない書き込み要求パケットに対してだけ、カウン
トが行われるので、この割り込みハンドラの処理によっ
て、カウント対象から除去される。
When the packet read from the receive FIFO is a write response packet, the write request packet held in the internal memory 23 is removed from the internal memory 23 as described above. Return from the interrupt handler. CPU 21 above
In the program normally executed in the above, the count is performed only for the write request packet for which the response packet is not returned. Therefore, the program is removed from the count target by the processing of the interrupt handler.

【0251】以上のようにして、ブリッジ回路の動作が
行われる。ここで、IEEE1394シリアルバス規格
の処理は、CPU21で行うようにしているため、速度
が問題になることも考えられるが、もともとプロセッサ
エレメントで高速に浮動小数点積和演算を行うために開
発された高速なCPUを使用しているので、分子軌道計
算のように、比較的通信量が少ないアプリケーションに
対しては、十分な性能を確保することができる。
As described above, the operation of the bridge circuit is performed. Here, since processing according to the IEEE 1394 serial bus standard is performed by the CPU 21, speed may be an issue. However, a high-speed processing originally developed for performing a floating-point multiply-accumulate operation by a processor element at high speed is considered. Since a simple CPU is used, sufficient performance can be ensured for an application with a relatively small communication amount, such as molecular orbital calculation.

【0252】以上説明したように、上述の実施の形態に
よれば、プロセッサエレメント14に必要な構成に対し
て、モード選択信号SELによって演算処理モードとブ
リッジモードとを切り替え、ブリッジモードで、CPU
21が動作状態のときに、外部とインタフェースするP
EC(周辺回路コントローラ)25を追加し、また、初
期化を行うときに、ローダジェネレータ27からプログ
ラムをロードするようにし、さらに、CPU21の外部
インタフェースのタイミングを変えることによって、同
じLSI20を、バスブリッジ回路17の一部として使
用することができるので、回路開発の工数を劇的に削減
することができる。
As described above, according to the above-described embodiment, the mode required for the processor element 14 is switched between the arithmetic processing mode and the bridge mode by the mode selection signal SEL.
When the interface 21 is in the operating state, the P
An EC (peripheral circuit controller) 25 is added, a program is loaded from a loader generator 27 at the time of initialization, and the timing of an external interface of the CPU 21 is changed so that the same LSI 20 can be connected to a bus bridge. Since it can be used as a part of the circuit 17, the number of steps for circuit development can be drastically reduced.

【0253】なお、上述の実施の形態では、ホストコン
ピュータ11から発生されるトランザクションによって
密度行列などが送付されていたため、バスブリッジ回路
17の動作内容は、上記(G)〜(I)にとどまってい
たが、システムにより柔軟性を持たせるために、プロセ
ッサエレメント14からホストコンピュータ11のメモ
リ上に保持されている密度行列を読み出すトランザクシ
ョンを発生させる機能を追加しても良い。この場合に
は、バスブリッジ回路17に対して、以下の(J)の操
作が新たに必要である。
In the above embodiment, since the density matrix and the like are sent by the transaction generated from the host computer 11, the operation contents of the bus bridge circuit 17 are limited to the above (G) to (I). However, in order to make the system more flexible, a function for generating a transaction for reading the density matrix stored in the memory of the host computer 11 from the processor element 14 may be added. In this case, the following operation (J) is newly required for the bus bridge circuit 17.

【0254】(J)各プロセッサエレメント14から、
ホストコンピュータ11上のメモリにあるデータの書き
込み要求の処理。
(J) From each processor element 14,
Processing of a request to write data in the memory on the host computer 11.

【0255】この処理は、以下の操作によって実現でき
る。
This process can be realized by the following operations.

【0256】まず、プロセッサエレメント14からは、
前記(H)の場合と同様、PPRAM−Linkの書き
込みトランザクションを発生することによって、ホスト
コンピュータ11からの読み出し要求を示す特殊なフォ
ーマットを、バスブリッジ回路17の共用チップ20の
内部メモリ23へ書き込む。この特殊フォーマットの中
には、ホストコンピュータのメモリからの読み出しであ
ることや、読み出しを行うメモリアドレスが含まれてい
る。
First, from the processor element 14,
As in the case of (H), a special format indicating a read request from the host computer 11 is written to the internal memory 23 of the shared chip 20 of the bus bridge circuit 17 by generating a write transaction of the PPRAM-Link. This special format includes the fact that the data is to be read from the memory of the host computer and the memory address at which the data is to be read.

【0257】したがって、バスブリッジ回路17は、前
記(H)の処理と同様にして、まず、前記(A)の処理
を実施した後、LLC37を通してIEEE1394シ
リアルバス規格の読み出し要求パケットを送出すること
によって、読み出しトランザクションを起こし、ボード
バスインタフェース28からの割り込みハンドラを終了
する。また、上述のように、CPU21が通常行うプロ
グラムによって、この読み出しパケットに対する応答パ
ケットの監視を実施する。
Therefore, the bus bridge circuit 17 executes the process (A) in the same manner as the process (H), and then transmits a read request packet of the IEEE 1394 serial bus standard through the LLC 37. , Causing a read transaction and terminating the interrupt handler from the board bus interface 28. Further, as described above, the response packet to the read packet is monitored by the program normally executed by the CPU 21.

【0258】さらに、ホストコンピュータ11からLL
C37を通して読み出し応答パケットが返ってくると、
前述のように、LLC37から外部割り込みが発生され
るので、外部割り込み処理を行うハンドラに、読み出し
応答パケットの処理を行う部分も追加する。この処理に
は、前記(H)の処理にはない操作が含まれている。
Further, the LL is sent from the host computer 11.
When the read response packet is returned via C37,
As described above, since an external interrupt is generated from the LLC 37, a part for processing the read response packet is also added to the handler for performing the external interrupt processing. This process includes an operation not included in the process (H).

【0259】まず、このトランザクションでは、読み出
し応答パケットに、読み出されたデータが付加されてい
るので、割り込みハンドラでは、読み出し応答パケット
のヘッダと、データとを内部メモリ23に書き込む。そ
の後、前記(C)または前記(D)と同様の手順によっ
て、最初に読み出し要求を発生させたプロセッサエレメ
ント14に対して、特定のメモリアドレスに対するPP
RAM−Linkの書き込みトランザクションを発生す
る。このときのプロセッサエレメントのアドレス情報
は、上記特殊なフォーマットの中に含まれているものと
する。このことによって、バスブリッジ回路17の内部
メモリ23に格納されたホストコンピュータ11からの
読み出しデータが、プロセッサエレメント14のメモリ
上に書き込まれる。このように、新たなPPRAM−L
inkの書き込みトランザクションを発生させるところ
が、前記(H)の場合にはない点である。
First, in this transaction, since the read data is added to the read response packet, the interrupt handler writes the header and data of the read response packet into the internal memory 23. Thereafter, by the same procedure as in the above (C) or (D), the processor element 14 that first generated the read request is sent to the PP for the specific memory address.
Generate a RAM-Link write transaction. It is assumed that the address information of the processor element at this time is included in the special format. As a result, the read data from the host computer 11 stored in the internal memory 23 of the bus bridge circuit 17 is written on the memory of the processor element 14. Thus, a new PPRAM-L
An ink write transaction is not generated in the case of the above (H).

【0260】また、この割り込みハンドラでは、前記
(H)の操作と同様、PUで通常行われている応答パケ
ットの監視の対象から除去する操作も、勿論行われる。
In this interrupt handler, as well as the operation (H), of course, the operation of removing the response packet from the monitoring target of the response packet normally performed in the PU is also performed.

【0261】なお、プロセッサエレメント14でgrs
の計算が終了したら、その旨をホストコンピュータ11
に通知して、ホストコンピュータ11から値を読み出す
ようにしていたが、上記バスブリッジ回路17の動作
(H)を使用して、プロセッサエレメント14から、直
接、ホストコンピュータ11に対してgrsの値を送る
ようにしても良い。
It should be noted that grs is
Is completed, the host computer 11 notifies that fact.
To read the value of grs from the host computer 11, but using the operation (H) of the bus bridge circuit 17, the value of grs is directly transmitted from the processor element 14 to the host computer 11. You may send it.

【0262】また、上述の実施の形態では、ボードバス
インタフェース28にPPRAM−Linkからの要求
パケットが来た場合、CPU21に割り込みを出すよう
にしていたが、割り込みは出さずに、レジスタを設けて
おき、要求パケットが来る度に、レジスタに書き込みを
行うことで、その旨をCPU21に伝えるようにしても
良い。
In the above embodiment, when a request packet from the PPRAM-Link comes to the board bus interface 28, an interrupt is issued to the CPU 21. However, an interrupt is not issued, and a register is provided. Alternatively, each time a request packet arrives, writing to a register may be performed to notify the CPU 21 of that fact.

【0263】また、LLC37も割り込みを出さないよ
うに設定し、前記状態レジスタをCPU21から定期的
に読み出すようにしておけば、上で述べた機能は実現で
きる。このようにすることによって、CPU21が割り
込みを処理する機能は不要になり、共用チップ20の開
発時の機能検証の工数が減少する。
If the LLC 37 is set so as not to issue an interrupt and the status register is periodically read from the CPU 21, the above-described function can be realized. By doing so, the function of the CPU 21 for processing the interrupt becomes unnecessary, and the number of steps for function verification at the time of development of the shared chip 20 is reduced.

【0264】また、上述の実施の形態では、プロセッサ
エレメント14に含まれる内部メモリ23に複数のポー
トを持たせ、整数データと浮動小数点データを同時に格
納するようにしていたが、もちろん、整数データを格納
するメモリと、浮動小数点データを格納するメモリを別
に用意しても良い。
In the above-described embodiment, the internal memory 23 included in the processor element 14 is provided with a plurality of ports to store integer data and floating-point data at the same time. A memory for storing the data and a memory for storing the floating-point data may be separately prepared.

【0265】さらに、上述の実施の形態では、64ビッ
トの倍精度浮動小数点数を扱うようにしているが、浮動
小数点データのフォーマットはこれにとどまらないこと
は言うまでもない。例えば、LMバス、ローカルメモリ
のビット幅を80ビットとして、80ビット以下のビッ
ト長で表される浮動小数点フォーマットを用いるように
しても良い。
Further, in the above-described embodiment, a 64-bit double-precision floating-point number is handled, but it goes without saying that the format of floating-point data is not limited to this. For example, the bit width of the LM bus and local memory may be 80 bits, and a floating point format represented by a bit length of 80 bits or less may be used.

【0266】さらに、上述の実施の形態では、システム
バス13にIEEE1394規格のシリアルバス、ボー
ドバス16にPPRAM−Linkを使用した例を示し
たが、これらに限らず、全く別のバスの組み合わせで構
成しても良い。
Furthermore, in the above-described embodiment, an example is shown in which an IEEE 1394 standard serial bus is used for the system bus 13 and a PPRAM-Link is used for the board bus 16. You may comprise.

【0267】また、さらに、上述の実施の形態は、分子
軌道計算を例にとって説明したが、分子軌道計算とは異
なる他のアプリケーションに対しても、この発明が適用
できることは勿論である。
Further, in the above-described embodiment, the molecular orbital calculation has been described as an example. However, it is needless to say that the present invention can be applied to other applications different from the molecular orbital calculation.

【0268】[0268]

【発明の効果】以上説明したように、この発明によれ
ば、プロセッサエレメントとしての構成に必要最小限の
拡張を施したプロセッサエレメント回路を提供し、モー
ド選択信号により、演算処理モードと、ブリッジモード
とを選択することができるようにして、同じLSIを、
プロセッサエレメントと、バスブリッジ回路の一部とし
て共用することができるようにしたので、回路開発の工
数を劇的に削減することができ、システムの開発期間の
短縮とコストの削減が可能になる。
As described above, according to the present invention, there is provided a processor element circuit in which the configuration as a processor element has been extended to a minimum necessary, and an operation processing mode and a bridge mode are provided by a mode selection signal. And the same LSI,
Since it can be shared as a part of the bus bridge circuit with the processor element, the man-hour for circuit development can be dramatically reduced, and the system development period and cost can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明によるプロセッサエレメント回路の実
施の形態を、並列計算システムのプロセッサエレメント
として使用した場合のブロック図である。
FIG. 1 is a block diagram when an embodiment of a processor element circuit according to the present invention is used as a processor element of a parallel computing system.

【図2】この発明による並列計算システムの実施の形態
の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of an embodiment of a parallel computing system according to the present invention.

【図3】この発明によるプロセッサエレメント回路の実
施の形態を、並列計算システムのバスブリッジ回路の一
部として使用した場合のブロック図である。
FIG. 3 is a block diagram when an embodiment of a processor element circuit according to the present invention is used as a part of a bus bridge circuit of a parallel computing system.

【図4】実施の形態の並列計算システムのボードバスに
使用されるPPRAM−Linkの構成を示す図であ
る。
FIG. 4 is a diagram illustrating a configuration of a PPRAM-Link used for a board bus of the parallel computing system according to the embodiment;

【図5】実施の形態の並列計算システムのボードバスに
使用されるPPRAM−Linkのトランザクションを
示した図である。
FIG. 5 is a diagram illustrating a transaction of a PPRAM-Link used for a board bus of the parallel computing system according to the embodiment;

【図6】プロセッサエレメント回路の実施の形態のボー
ドバスインタフェースの内部構成を示すブロック図であ
る。
FIG. 6 is a block diagram showing an internal configuration of a board bus interface according to the embodiment of the processor element circuit.

【図7】並列計算の専用システムの例を示したブロック
図である。
FIG. 7 is a block diagram showing an example of a dedicated system for parallel calculation.

【符号の説明】[Explanation of symbols]

1,11 ホストコンピュータ 2,12 ボード 3,13 システムバス 4,14 プロセッサエレメント 5,15 ローカルメモリ 6,16 ボードバス 7,17 バスブリッジ回路 20 共用チップ 21 CPU 22 浮動小数点演算ユニット 23 内部メモリ 24 ローカルメモリコントローラ 25 周辺回路コントローラ 26 マルチプレクサ 27 ロードジェネレータ 28 ボードバスインタフェース 30 プロセッサエレメント内部バス 31 ローカルメモリ内部バス 32 命令バス 33 浮動小数点データバス 34 モード選択信号SELの入力端子 35 割り込み信号ライン 36 ROM 37 リンク層コントローラ 38 物理層コントローラ 39 外部割り込み信号ライン 40 アドレスデコーダ 41 バイパス用FIFO 42 フローコントローラ 43 入力キュー 44 受領パケットジェネレータ 45 出力キュー 46 割り込み生成ブロック 47 メモリアクセスブロック 48 制御状態レジスタ 1,11 host computer 2,12 board 3,13 system bus 4,14 processor element 5,15 local memory 6,16 board bus 7,17 bus bridge circuit 20 shared chip 21 CPU 22 floating point arithmetic unit 23 internal memory 24 local Memory controller 25 Peripheral circuit controller 26 Multiplexer 27 Load generator 28 Board bus interface 30 Processor element internal bus 31 Local memory internal bus 32 Instruction bus 33 Floating point data bus 34 Input terminal of mode selection signal SEL 35 Interrupt signal line 36 ROM 37 Link layer Controller 38 Physical layer controller 39 External interrupt signal line 40 Address decoder 41 FIFO for bypass 42 Flow control Over La 43 input queue 44 receives the packet generator 45 output queues 46 interrupt generation block 47 the memory access block 48 control status register

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山田 想 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 (72)発明者 宮川 宣明 神奈川県足柄上郡中井町境430 グリーン テクなかい富士ゼロックス株式会社内 (72)発明者 村上 和彰 福岡県春日市春日公園4−1−2−307 (72)発明者 高島 一 東京都豊島区高田3−24−1 大正製薬株 式会社内 (72)発明者 北村 一泰 東京都豊島区高田3−24−1 大正製薬株 式会社内 Fターム(参考) 5B045 AA07 BB11 BB12 BB14 BB42 FF02 FF06 GG11 HH01 KK04 5B056 BB00 BB31 FF15 5B061 FF01 FF02 GG01 GG13  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Satoru Yamada 430 Nakaicho Sakai, Ashigarakami-gun, Kanagawa Prefecture Green Tech Nakai Fuji Xerox Co., Ltd. (72) Kazuaki Murakami, Inventor 4-1-2-307, Kasuga Park, Kasuga City, Fukuoka Prefecture Ichiyasu 3-24-1, Takada, Toshima-ku, Tokyo F-term (reference) 5B045 AA07 BB11 BB12 BB14 BB42 FF02 FF06 GG11 HH01 KK04 5B056 BB00 BB31 FF15 5B061 FF01 FF02 GG01 GG13

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】演算を並列に行う機能を備えると共に、複
数個のバスを備え、この複数個のバス間のブリッジを行
うためのブリッジ回路を備える並列計算システムにおい
て用いられるプロセッサエレメント回路であって、 データを格納するための内部メモリと、 内部に第1のレジスタを備え、前記内部メモリまたは前
記第1のレジスタから読み出したデータに対して演算を
施し、その演算結果を前記内部メモリまたは前記第1の
レジスタに格納する演算器と、 プロセッサエレメント回路を、演算処理モードと、ブリ
ッジモードとのいずれで動作させるかを選択するモード
選択手段と、 前記モード選択手段によって前記演算処理モードが選択
されたときは、プロセッサエレメント回路と外部メモリ
との間で、前記モード選択手段によって前記ブリッジモ
ードが選択されたときは、プロセッサエレメント回路と
周辺回路との間で、それぞれデータの入出力を行うイン
タフェース手段と、 前記モード選択手段によって前記演算処理モードが選択
されているときには、起動時に待機状態となり、その後
の起動操作により動作状態となり、前記モード選択手段
によって前記ブリッジモードが選択されているときに
は、起動時にブート状態となり、その後の遷移操作によ
り動作状態となり、さらに、内部にデータを格納するた
めの第2のレジスタを備え、命令列に従って動作するこ
とにより、少なくとも前記演算器を制御する機能と、前
記モード選択手段による選択結果に応じて、前記外部メ
モリまたは前記周辺回路と前記第2のレジスタまたは前
記第1のレジスタとの間でデータを入出力する機能とを
有するプロセッサ手段と、 前記ブート状態のときに特定の命令列を前記プロセッサ
手段に供給し、特定の命令列によってROMから読み出
された命令列を前記内部メモリに格納し、特定の命令列
の供給終了後前記プロセッサ手段に対して前記遷移操作
を行い、前記プロセッサ手段が前記動作状態のときは前
記内部メモリから命令列を読み出して前記プロセッサ手
段に供給する命令選択手段と、 外部バスから入力されたデータを前記内部メモリまたは
前記外部メモリに格納し、前記内部メモリまたは前記外
部メモリに格納されているデータを読み出して前記外部
バスに出力し、前記外部バスからの入力に応じて前記プ
ロセッサ手段に対して前記起動操作を行う外部バスイン
タフェース手段と、 を備えることを特徴とするプロセッサエレメント回路。
1. A processor element circuit used in a parallel computing system having a function of performing arithmetic operations in parallel, a plurality of buses, and a bridge circuit for bridging the plurality of buses. An internal memory for storing data; and a first register therein, wherein an operation is performed on the data read from the internal memory or the first register, and the operation result is stored in the internal memory or the first memory. A processor to be stored in one register, a mode selector for selecting whether to operate the processor element circuit in an arithmetic processing mode or a bridge mode, and the arithmetic processing mode is selected by the mode selector. The mode selection means between the processor element circuit and the external memory. When the ridge mode is selected, interface means for inputting and outputting data between the processor element circuit and the peripheral circuit; and when the arithmetic processing mode is selected by the mode selection means, the apparatus stands by at startup. State, and becomes an operating state by a subsequent start operation. When the bridge mode is selected by the mode selecting means, the state becomes a boot state at the time of start, and becomes an active state by a subsequent transition operation, and further stores data therein. Operating in accordance with an instruction sequence, and at least a function of controlling the arithmetic unit, and the external memory or the peripheral circuit and the second circuit in accordance with a selection result by the mode selection means. Input / output data to / from a register or the first register Processor means having a function; supplying a specific instruction sequence to the processor means in the boot state; storing the instruction sequence read from the ROM by the specific instruction sequence in the internal memory; After the supply of the sequence is completed, the transition operation is performed on the processor, and when the processor is in the operating state, an instruction selecting unit that reads an instruction sequence from the internal memory and supplies the instruction to the processor, The input data is stored in the internal memory or the external memory, the data stored in the internal memory or the external memory is read and output to the external bus, and the processor is operated in response to an input from the external bus. External bus interface means for performing the starting operation on the means. Instrument circuit.
【請求項2】前記プロセッサ手段は、割り込みを処理す
る手段を備え、 前記インタフェース手段は、前記選択入力によってブリ
ッジモードが選択されているときには、前記周辺回路か
らの割り込みを入力して、前記プロセッサ手段に供給す
る手段を備え、 前記外部バスインタフェース手段は、前記外部バスから
特定のデータが入力されると、前記プロセッサ手段に割
り込みを供給する手段を備えることを特徴とする請求項
1に記載のプロセッサエレメント回路。
2. The processor means comprises means for processing an interrupt, wherein the interface means receives an interrupt from the peripheral circuit when a bridge mode is selected by the selection input, and 2. The processor according to claim 1, wherein said external bus interface means includes means for supplying an interrupt to said processor means when specific data is input from said external bus. Element circuit.
【請求項3】演算を並列に行う機能を備えると共に、複
数のバスを備え、この複数のバス間のブリッジを行うた
めのブリッジ回路を備える並列計算システムにおいて、 システム全体の制御を行うためのホストコンピュータ
と、 請求項1または請求項2に記載のプロセッサエレメント
回路であって、前記モード選択手段により前記演算処理
モードとされたプロセッサエレメントと、 複数個の前記プロセッサエレメントをそれぞれ搭載する
複数個のボードと、 前記各ボード上で、前記複数のプロセッサエレメントの
前記外部バスインタフェース手段同士を接続するための
第1のバスと、 前記ホストコンピュータと、前記複数個のボードとを接
続するための第2のバスと、 請求項1または請求項2に記載のプロセッサエレメント
回路であり、前記モード選択手段によりブリッジモード
とされ、前記各ボード上で前記第1のバスとは前記外部
バスインタフェース手段が接続され、前記第2のバスと
は変換回路を通して前記インタフェース手段が接続さ
れ、それらの手段によって、前記第1のバスと前記第2
のバスとの間で相互にプロトコル変換する、バスブリッ
ジと、 を備えることを特徴とする並列計算システム。
3. A host for controlling the entire system in a parallel computing system having a function of performing arithmetic operations in parallel, a plurality of buses, and a bridge circuit for bridging the plurality of buses. 3. A computer, and the processor element circuit according to claim 1 or 2, wherein the processor is set to the arithmetic processing mode by the mode selection means, and a plurality of boards each mounting a plurality of the processor elements. A first bus for connecting the external bus interface means of the plurality of processor elements on each of the boards; a second bus for connecting the host computer and the plurality of boards; A bus, and a processor element circuit according to claim 1 or 2. A mode is set to a bridge mode by the mode selecting means. On each of the boards, the external bus interface means is connected to the first bus, and the interface means is connected to the second bus through a conversion circuit. The first bus and the second bus
And a bus bridge for mutually performing protocol conversion between the bus and the bus.
【請求項4】請求項3に記載の並列計算システムにおい
て、異なるプロトコルを持つ前記第1のバスと前記第2
のバスとの間のプロトコル変換を行うバスブリッジ方法
であって、 前記プロセッサエレメントから、前記第1のバスの外側
に位置するノードに対する書き込み要求、書き込みアド
レス、書き込みデータを含んだ書き込み情報を、第1の
バスの書き込み手順に基づいて受け取る手順と、 前記書き込み情報をもとにして、前記第2のバスの書き
込み手順に基づいて、前記書き込みアドレスに対して前
記書き込みデータを書き込む手順と、 を有することを特徴とするバスブリッジ方法。
4. The parallel computing system according to claim 3, wherein said first bus and said second bus having different protocols are provided.
A bus bridge method for performing a protocol conversion between the first bus and a bus, wherein a write request including a write request, a write address, and write data to a node located outside the first bus is transmitted from the processor element to a second bus. Receiving a write data based on the write information, and writing the write data to the write address based on the write information based on the write procedure of the second bus. A bus bridge method, characterized in that:
【請求項5】請求項3に記載の並列計算システムにおい
て、異なるプロトコルをもつ前記第1のバスと前記第2
のバスとの間のプロトコル変換を行うバスブリッジ方法
であって、 前記プロセッサエレメントから、前記第1のバスの外側
に位置するノードからの読み出し要求、読み出しアドレ
ス、読み出しデータを格納するプロセッサエレメントの
アドレスを含んだ読み出し情報を、第1のバスの書き込
み手順に基づいて受け取る手順と、 前記読み出し情報をもとにして、前記第2のバスの読み
出し手順に基づいて、前記読み出しアドレスからデータ
を読み出す手順と、 前記読み出したデータを、前記読み出し情報に含まれる
プロセッサエレメントのアドレスに、前記第2のバスの
書き込み手順に基づいて書き込む手順と、 を有することを特徴とするバスブリッジ方法。
5. The parallel computing system according to claim 3, wherein said first bus and said second bus having different protocols are provided.
A bus bridge method for performing protocol conversion between the processor element and a bus, wherein the processor element stores a read request from a node located outside the first bus, a read address, and an address of a processor element that stores read data. Receiving read information including the following based on a write procedure of the first bus; and reading data from the read address based on the read procedure of the second bus based on the read information. And a procedure for writing the read data to an address of a processor element included in the read information based on a write procedure for the second bus.
JP11106099A 1999-04-14 1999-04-14 Processor element circuit, parallel calculation system and bus bridging method Pending JP2000298654A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11106099A JP2000298654A (en) 1999-04-14 1999-04-14 Processor element circuit, parallel calculation system and bus bridging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11106099A JP2000298654A (en) 1999-04-14 1999-04-14 Processor element circuit, parallel calculation system and bus bridging method

Publications (1)

Publication Number Publication Date
JP2000298654A true JP2000298654A (en) 2000-10-24

Family

ID=14425088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11106099A Pending JP2000298654A (en) 1999-04-14 1999-04-14 Processor element circuit, parallel calculation system and bus bridging method

Country Status (1)

Country Link
JP (1) JP2000298654A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013140656A1 (en) * 2012-03-23 2013-09-26 株式会社日立ハイテクノロジーズ Data processing device, semiconductor external view inspection device, and data volume increase alleviation method
CN113760814A (en) * 2017-03-28 2021-12-07 上海山里智能科技有限公司 Integrated computing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013140656A1 (en) * 2012-03-23 2013-09-26 株式会社日立ハイテクノロジーズ Data processing device, semiconductor external view inspection device, and data volume increase alleviation method
JP2013200686A (en) * 2012-03-23 2013-10-03 Hitachi High-Technologies Corp Data processing device, and data volume increase alleviation method
CN113760814A (en) * 2017-03-28 2021-12-07 上海山里智能科技有限公司 Integrated computing system
CN113760814B (en) * 2017-03-28 2024-05-10 上海山里智能科技有限公司 Comprehensive computing system

Similar Documents

Publication Publication Date Title
US20210055940A1 (en) Efficient Configuration Of A Reconfigurable Data Processor
US6101565A (en) System for multisized bus coupling in a packet-switched computer system
TWI416405B (en) A parallel integrated circuit, a physics processing unit and a method of operating integrated circuit
US9294551B1 (en) Collective engine method and apparatus
JP2011170868A (en) Pipeline accelerator for improved computing architecture, and related system and method
JP4621604B2 (en) Bus device, bus system, and information transfer method
JPH07271764A (en) Computer processor and system
JPH03176757A (en) Array processor
EP1317712A1 (en) Inter-processor communication system
US8589614B2 (en) Network system with crossbar switch and bypass route directly coupling crossbar interfaces
CN116880773B (en) Memory expansion device and data processing method and system
JP5307151B2 (en) Changing system routing information in link-based systems
EP2132645A1 (en) A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
Leibson et al. Configurable processors: a new era in chip design
JP2000298654A (en) Processor element circuit, parallel calculation system and bus bridging method
JP2022510803A (en) Memory request chain on the bus
JP2559918B2 (en) Synchronous control method for parallel computers
US20230352066A1 (en) Reconfigurable memory module designed to implement computing operations
May The influence of VLSI technology on computer architecture
JPH0799515B2 (en) Instruction flow computer
US20230125149A1 (en) Fractional Force-Quit for Reconfigurable Processors
JP2002342295A (en) Multiprocessor system
JP2869100B2 (en) Element processor of parallel computer
JP2765882B2 (en) Parallel computer, data flow synchronizer between vector registers and network preset device
JP2781742B2 (en) Parallel computer