JPH0465406B2 - - Google Patents

Info

Publication number
JPH0465406B2
JPH0465406B2 JP32293089A JP32293089A JPH0465406B2 JP H0465406 B2 JPH0465406 B2 JP H0465406B2 JP 32293089 A JP32293089 A JP 32293089A JP 32293089 A JP32293089 A JP 32293089A JP H0465406 B2 JPH0465406 B2 JP H0465406B2
Authority
JP
Japan
Prior art keywords
instruction
data
register
access
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP32293089A
Other languages
Japanese (ja)
Other versions
JPH02216581A (en
Inventor
Kazushi Sakamoto
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32293089A priority Critical patent/JPH02216581A/en
Publication of JPH02216581A publication Critical patent/JPH02216581A/en
Publication of JPH0465406B2 publication Critical patent/JPH0465406B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 発明の技術分野 本発明は情報処理装置に関し、プログラムの先
頭ないし途中に付加した制御命令によつてハード
ウエアないしフアームウエアの構造を変更するよ
うにしたものである。
DETAILED DESCRIPTION OF THE INVENTION Technical Field of the Invention The present invention relates to an information processing apparatus in which the structure of hardware or firmware is changed by control instructions added at the beginning or middle of a program.

従来技術と問題点 従来、計算機の設計は、機能拡張等は別とし
て、定められたハードウエアの構成ないし論理に
従つて設計されている。従つて、各種のプログラ
ムを流した場合、そのプログラムの内容により計
算機の性能が大きく変わる。例えば、外部メモリ
のアクセス頻度が高い事務処理プログラムと、内
部レジスタを多く使用する科学技術用プログラム
とでは、使用する計算機の構造例えばデータレジ
スタ、命令レジスタのどちらが多く確保されてい
るか等により性能の差が大きくでる。
Prior Art and Problems Conventionally, computers have been designed according to a predetermined hardware configuration or logic, apart from functional expansion. Therefore, when various programs are run, the performance of the computer changes greatly depending on the content of the programs. For example, there is a difference in performance between an office processing program that frequently accesses external memory and a science and technology program that uses many internal registers, depending on the structure of the computer used, such as whether more data registers or instruction registers are reserved. appears large.

このため汎用計算機においてどのようなプログ
ラムに対しても性能が上がるように設計しようと
しても、上述した理由からこれは極めて難しい。
そこで従来は、(1)構成制御によるシステムの設
定、(2)OPSR(Operation Status Register)によ
るハードウエア内部の論理変更等の対策が考えら
れているが、前者はシステム設置時に決定されて
しまい、後者は主にオペレータがOPSRを変更す
るものであるためオペレータの負担を重くする。
また両者ともプログラムが変つた時(TSS等で)
に対する柔軟性は全くない。
For this reason, even if you try to design any program to improve its performance on a general-purpose computer, it is extremely difficult for the reasons mentioned above.
Conventionally, countermeasures have been considered, such as (1) system settings using configuration control, and (2) changing the internal logic of the hardware using OPSR (Operation Status Register), but the former is determined at the time of system installation. In the latter case, the operator mainly changes the OPSR, which places a heavy burden on the operator.
Also, when the program changes for both (TSS etc.)
There is no flexibility at all.

発明の目的 本発明は、上述の如き問題点を解決するため
に、計算機自身がソフトウエアつまり各種の命令
の集合体に適するように自動的にハードウエアな
いしフオームウエアの構造(構成ないし論理)を
変更できるようにするものである。
Purpose of the Invention In order to solve the above-mentioned problems, the present invention automatically changes the structure (configuration or logic) of hardware or formware so that the computer itself is suitable for software, that is, a collection of various instructions. It allows you to change it.

発明の構成 本発明は、複数のアクセスパイプと、複数バン
クからなるメモリと、前記複数バンクに対し、複
数のアクセスパイプ毎に複数のアクセスタイミン
グを決められている複数のバンクからなるメモリ
と、前記複数のアクセスパイプはそれぞれ前記複
数バンクを重複しない様に前記タイミングに従つ
てアクセスするモードと、前記複数のアクセスパ
イプのうち一つのアクセスパイプが、前記複数の
アクセスタイミングのタイミング全ての点又は何
れかのタイミングに於いて、前記複数バンク全て
にアクセスするモードとを切り替える為の変更機
能とを有し、前記変更機能は制御命令によつて起
動するようにしてなることを特徴とするが、以下
図面を参照しながらこれを詳細に説明する。
Structure of the Invention The present invention provides a memory including a plurality of access pipes, a memory including a plurality of banks, a memory including a plurality of banks in which a plurality of access timings are determined for each of the plurality of access pipes, and A mode in which each of the plurality of access pipes accesses the plurality of banks according to the timing so as not to overlap, and one access pipe among the plurality of access pipes accesses all or any of the timing points of the plurality of access timings. The present invention is characterized in that it has a change function for switching between modes for accessing all of the plurality of banks at the timing of , and the change function is activated by a control command, as shown in the drawings below. This will be explained in detail with reference to.

発明の実施例 ベクトルプロセツサのように高速化を図る計算
機では、複数の命令及びその命令で処理する複数
の外部データをバツフアリングしておき、演算機
等の状態によつてプログラム上後続する命令を先
行する命令より先に実行することがある(命令の
追い越し)。そのために、複数の命令及び外部デ
ータをそれぞれ命令保持部(iR)とデータ保持
部(DR)に取り込んで命令の発信順序及びタイ
ミングを制御する。
Embodiments of the Invention In a computer that aims to increase speed, such as a vector processor, multiple instructions and multiple external data processed by the instructions are buffered, and subsequent instructions in the program are changed depending on the state of the computer, etc. It may be executed before the preceding instruction (instruction overtaking). To this end, a plurality of commands and external data are loaded into an instruction holding unit (iR) and a data holding unit (DR), respectively, and the order and timing of issuing the commands is controlled.

この一例として従来のベクトル命令制御装置
(Vlu)を第1図に示す。この命令制御装置は命
令取込み回路1と命令発信回路2からなり、1つ
の命令に対しデータが2つずつ(フアーストとセ
カンド)入力されるものとする。3は外部メモ
リ、補助プロセツサ等の外部装置で命令及びデー
タを送出する。命令取込み回路1内の4はバツフ
アで、外部装置3からの命令及びデータをバツフ
アする。5はフラグ制御回路でデータの管理を行
なう。iR0〜3はインストラクシヨンレジスタ
AR0〜3はデータアドレスレジスタ、DRFはフアー
ストデータレジスタ、DRSはセカンドデータレジ
スタ、CLはクロツクである。またSELはセレク
タ回路、101は命令及びデータを伝えるバス
線、110はiR0の命令で処理するデータを示す
アドレス線、111はデータレジスタDRのリー
ド(READ)アドレス線、112は発信された
命令で処理するデータの記憶場所を示すアドレス
線である。
As an example of this, a conventional vector instruction control device (Vlu) is shown in FIG. It is assumed that this command control device consists of a command fetching circuit 1 and a command issuing circuit 2, and two pieces of data (first and second) are input for one command. 3 sends instructions and data to external devices such as external memory and auxiliary processors. A buffer 4 in the instruction fetching circuit 1 buffers instructions and data from the external device 3. A flag control circuit 5 manages data. iR 0~3 are instruction registers
AR0-3 are data address registers, DRF is a first data register, DRS is a second data register, and CL is a clock. Further, SEL is a selector circuit, 101 is a bus line that transmits instructions and data, 110 is an address line that indicates data to be processed by the iR 0 instruction, 111 is a read (READ) address line for data register DR, and 112 is a command that is sent. This is an address line that indicates the storage location of data to be processed.

外部装置3からは命令、フアーストデータ、セ
カンドデータ(この繰り返し)の順に情報が送ら
れ、バツフア4に保持される。バツフア4からは
同様の順に情報が取り出され、クロツクCL0
CLDF,CLDSが順にオンになると命令はインスト
ラクシヨンレジスタiR0へ、また2つのデータは
それぞれデータレジスタDRF,DRSにセツトされ
る。またクロツクCL0がオンになるとき、フラグ
制御回路5ではデータレジスタDRのアドレス
(図示の例では0〜3)のうち、フラグ(後述す
る)がオフになつているもののうちの1つを信号
線110を通してアドレスレジスタAR0にセツト
する。アドレスレジスタAR0の内容はその後クロ
ツクCLDF,DLDSがオンになる時に、それぞれデ
ータレジスタDRF,DRSのライト(WRiTE)ア
ドレスとなる(信号線113)。命令発信回路2
では、インストラクシヨンレジスタiR1〜iR3
のどれかが空くと、クロツクCL1〜CL3のうちの
1つがオンになり、対応するインストラクシヨン
レジスタとアドレスレジスタにそれぞれレジスタ
iR0,AR0の内容を取り込む。また、演算装置
(後述する)は命令の前後関係などから発信すべ
き命令を決定し、セツト信号selにより、レジス
タiR1〜iR3の1つをセレクトし、演算装置に命令
を発信する。同時に対応するアドレスレジスタ
AR1〜AR3の1つを信号線112を通してフラグ
制御回路5に送る。フラグ制御回路5では、送ら
れてきたアドレスを信号線111を通してデータ
レジスタDRに伝え、2つのデータ1st,2ndを演
算装置へ送る。演算装置では、発信された命令及
び2つのデータを受けとつて処理を行なう。
Information is sent from the external device 3 in the order of command, first data, and second data (repetition of this), and is held in the buffer 4. Information is taken out from buffer 4 in the same order, and clocks CL 0 ,
When CL DF and CL DS are turned on in sequence, the instruction is set to the instruction register iR 0 and the two data are set to the data registers DRF and DRS, respectively. Furthermore, when the clock CL 0 is turned on, the flag control circuit 5 sends a signal to one of the addresses (0 to 3 in the illustrated example) of the data register DR whose flag (described later) is turned off. Set address register AR0 through line 110. The contents of the address register AR 0 then become the write (WRiTE) addresses of the data registers DRF and DRS , respectively, when the clocks CL DF and DL DS are turned on (signal line 113). Command transmission circuit 2
Now, instruction registers iR1 to iR3
When one of the clocks becomes free, one of the clocks CL 1 to CL 3 turns on, and the corresponding instruction register and address register are respectively set.
Import the contents of iR 0 and AR 0 . Further, the arithmetic unit (described later) determines the command to be issued based on the context of the instructions, selects one of the registers iR 1 to iR 3 in response to the set signal sel, and transmits the command to the arithmetic unit. Simultaneously corresponding address register
One of AR 1 to AR 3 is sent to the flag control circuit 5 through the signal line 112. The flag control circuit 5 transmits the sent address to the data register DR through the signal line 111, and sends two pieces of data 1st and 2nd to the arithmetic unit. The arithmetic unit receives the transmitted command and two pieces of data and processes them.

第2図はフラグ制御回路5の詳細図で、210
〜212は第1図の信号線110/112に相当
する。230〜233が第1図のデータレジスタ
DRの各アドレス0〜3にあるデータの有効、無
効を示すフラグであり、セツト(S)/リセツト
(R)型のラツチを用いてある。SET FLAGは
第1図のクロツクCL0がオンになるとき同時にオ
ンになる信号で、フラグ230〜233のセツト
タイミングを決定する。START
iNSTRUCTioNは命令発信時に第1図の命令発
信回路2から送らてくる信号で、フラグ230〜
233のリセツトタイミングを決定する。222
は信号線212上のアドレスをデコードしてどの
アドレスのフラグかを示すデコーダ、221はフ
ラグの状態によつて空いているアドレスを示すセ
レクト回路、220はセレクトされたアドレスを
エンコードするエンコーダである。尚、セレクト
回路221の出力ALL BUSYは、全てのアドレ
スのデータが有効でそれ以上データを取り込めな
いことを示す信号である。またRARは信号線2
12(第1図の112)上の信号をラツチして信
号線211(第1図の111)の信号とし、これ
を第1図のデータレジスタDRに送るレジスタで
ある。
FIG. 2 is a detailed diagram of the flag control circuit 5.
212 corresponds to the signal lines 110/112 in FIG. 230 to 233 are the data registers in Figure 1.
This flag indicates whether the data at each address 0 to 3 of the DR is valid or invalid, and uses a set (S)/reset (R) type latch. SET FLAG is a signal that turns on at the same time as clock CL0 in FIG. 1 turns on, and determines the timing at which flags 230 to 233 are set. START
iNSTRUCTioN is a signal sent from the command transmitting circuit 2 in FIG.
233 reset timing is determined. 222
A decoder decodes the address on the signal line 212 to indicate which address the flag belongs to, a select circuit 221 indicates a vacant address depending on the state of the flag, and an encoder 220 encodes the selected address. Note that the output ALL BUSY from the select circuit 221 is a signal indicating that data at all addresses are valid and no more data can be taken in. Also, RAR is signal line 2
This register latches the signal on signal line 211 (112 in FIG. 1) and sends it to the data register DR in FIG. 1.

動作を説明する。セレクト回路221により有
効でないデータ(すでに演算装置に送出されたデ
ータ)のアドレス(フラグはリセツト状態)をセ
レクトし(値の小さいものを優先)、それをエン
コーダ220でコード化した後信号線210(第
1図の110)の信号として第1図のアドレスレ
ジスタAR0に伝える。データレジスタDRの各ア
ドレス及び該各アドレスに対応するフラグ230
〜233は本例では4個であるから2値2ビツト
で表わされ、230は00,231は01,23
2は10,233は11が割当てられている。こ
れらのフラグのリセツト及びこれらのフラグによ
るデータレジスタDRの空きアドレスの指定もこ
の2値2ビツトで行なわれる。例えばフラグ23
0のみリセツトの場合は信号線は210は00の状
態になり、また信号線212が00の状態になつて
フラグ230のリセツトが行なわれる。信号線2
10の信号がクロツクCL0オンでレジスタAR0
セツトされたら、同時に対応するアドレスのフラ
グ(230〜233のいずれか)をセツトする。
また命令発信回路2で命令が発信されると、
START iNSTRuCTioNと共に信号線212の
アドレスが送られ、対応するフラグをリセツトす
る。またアドレスはレジスタRARにラツチされ、
信号線211のリード(READ)アドレスとし
て第1図のデータレジスタDRに送られ、発信さ
れた命令で処理すべきデータが読み出され演算装
置に送られる。また以上とは別に、すべてのフラ
グ230〜233がセツト状態になると、ALL
BUSY信号がオンになる。この信号は命令取込
み回路1全体を制御する制御部に送られ、それ以
上命令がレジスタiR0に乗り込まれるのを防止す
る。
Explain the operation. The select circuit 221 selects the address (the flag is in the reset state) of invalid data (data that has already been sent to the arithmetic unit) (giving priority to the smaller value), encodes it with the encoder 220, and then sends it to the signal line 210 ( It is transmitted to the address register AR0 in FIG. 1 as a signal 110) in FIG. Each address of the data register DR and the flag 230 corresponding to each address
~233 is four in this example, so it is represented by two binary values, 230 is 00, 231 is 01, 23
2 is assigned 10, and 233 is assigned 11. The reset of these flags and the designation of a free address in the data register DR by these flags are also performed using these two binary values and two bits. For example flag 23
When only 0 is reset, the signal line 210 becomes 00, and the signal line 212 becomes 00, and the flag 230 is reset. Signal line 2
When the signal No. 10 is set in the register AR 0 by turning on the clock CL 0 , the corresponding address flag (any one of 230 to 233) is set at the same time.
Furthermore, when a command is transmitted by the command transmitting circuit 2,
The address on signal line 212 is sent along with START iNSTRuCTioN, and the corresponding flag is reset. The address is also latched in register RAR,
It is sent to the data register DR in FIG. 1 as a read address on the signal line 211, and the data to be processed by the issued command is read out and sent to the arithmetic unit. In addition to the above, when all flags 230 to 233 are set, ALL
BUSY signal turns on. This signal is sent to the control unit that controls the entire instruction fetching circuit 1, and prevents any further instructions from being loaded into the register iR0 .

従来の計算機ではレジスタiRはインストラク
シヨン用、レジスタDRはデータ用に固定され、
相互に融通し合うようなことはない。しかし科学
計算機ではデータレジスタが多量に必要であり、
事務用計算機ではインストラクシヨンレジスタが
多量に必要であり、一方に好適に設計すれば他方
には不十分となる。そこで本発明は制御命令によ
りハードウエアを変更する。
In conventional computers, register iR is fixed for instructions and register DR is fixed for data.
There is no mutual accommodation. However, scientific computers require a large number of data registers,
Office computers require a large number of instruction registers, and a design suitable for one will be inadequate for the other. Therefore, the present invention changes the hardware using control instructions.

第3図は構造変更機能を有する情報処理装置の
部分構成例として、上述したようにインストラク
シヨンレジスタiRやデータレジスタDRのような
情報保持部を複数持つ装置において、それらの容
量のバランスを変更可能としたものを示す。第1
図の例ではインストラクシヨンレジスタiR0〜iR3
の数とデータレジスタDRFまたはDRSの数は共に
4個(固定)であるが、実際の命令では外部デー
タを使わないものも多く、(例えば内部レジスタ
のみをオペランドとする命令)、従つてソフトウ
エアによつてデータレジスタDRの使用率が異な
る。そこで本例では補助情報保持部SRを設け、
これをiRとしてもDRとしても使用できるように
する。全図を通してそうであるが、第3図でも他
の図と同じ部分には同じ符号が付してあり、そし
て301〜313はそれぞれ第1図の信号線10
1〜113に対応する。データレジスタDRF
DRSは共に1段減らして3段としてあり、信号線
313をデコーダ324でデコードした出力32
7(DRの0〜2のアドレスを指定)によりバス
線301上の入力データをセツトするデータレジ
スタDRが選択される。300は構造変更信号
で、レジスタSRF,SRSをそれぞれインストラク
シヨンおよびアドレスレジスタiR0′,AR0′として
使う(第4図)か、4段目のデータレジスタ
DRF3,DRS3として使う(第5図)かを選択する。
つまり、信号300が1のときは、第4図のよう
な構成になる。これは、第3図においてセレクタ
320〜323が信号300で切り替えられるこ
とによつて自動的に実現される。逆に信号300
が0のときは第5図5のような構成になる。これ
はセレクタ320〜323の状態が第4図と逆に
なることによつて実現される。328はデコーダ
324の出力で、データレジスタDRの3、つま
りDRF3,DRS3を選択することを示す信号である。
なお331,332はクロツクCL0,CLDF,CLDS
の切換えゲートである。
Figure 3 shows an example of a partial configuration of an information processing device with a structure change function, as described above, in which the balance of the capacities of the information storage units such as the instruction register iR and the data register DR can be changed. Show what is possible. 1st
In the example shown, instruction registers iR 0 to iR 3
Both the number of data registers DRF or DRS are four (fixed), but many actual instructions do not use external data (for example, instructions that use only internal registers as operands), so The usage rate of data register DR differs depending on the software. Therefore, in this example, an auxiliary information holding unit SR is provided,
This can be used as both iR and DR. As is the case throughout all the figures, the same parts in FIG.
1 to 113. Data register DRF ,
Both DRSs have one stage reduced to three stages, and the output 32 is obtained by decoding the signal line 313 with the decoder 324.
7 (specifying addresses 0 to 2 of DR) selects the data register DR that sets the input data on the bus line 301. 300 is a structure change signal, and registers SRF and SRS are used as instruction and address registers iR0 ' and AR0 ', respectively (Fig. 4), or the fourth stage data register is used.
Select whether to use it as DR F3 or DR S3 (Figure 5).
That is, when the signal 300 is 1, the configuration is as shown in FIG. This is automatically achieved by switching selectors 320-323 with signal 300 in FIG. On the other hand, signal 300
When is 0, the configuration is as shown in FIG. This is realized by reversing the states of selectors 320-323 from those shown in FIG. 328 is the output of the decoder 324, and is a signal indicating that data register 3 3, ie, DRF3 and DRS3, is selected.
Note that 331 and 332 are clocks CL 0 , CL DF , CL DS
This is a switching gate.

以上の例では第1図の命令取込み回路1のレジ
スタiR0,AR0に対し同種のレジスタiR0′,
AR0′を追加したが、命令発信回路2内のレジス
タをiR0〜iR4,AR1〜AR4のように4段構成とし
てもよい。いずれの場合もデータ用に使用できる
レジスタSRF,SRSを用いるので、第4図に斜線
で示すようにアドレスレジスタARでは一部未使
用の部分が生ずる。
In the above example, for the registers iR 0 and AR 0 of the instruction capture circuit 1 shown in FIG.
Although AR 0 ' is added, the registers in the instruction issuing circuit 2 may be configured in four stages such as iR 0 to iR 4 and AR 1 to AR 4 . In either case, the registers SRF and SRS that can be used for data are used, so that a portion of the address register AR is unused, as shown by diagonal lines in FIG.

第4図の構成にした時には、第2図のフラグ制
御回路5も変更しなければならない(データレジ
スタDRの数が3個に減るので)。このための変
更機能部分を第6図に示す。同図において、62
1,633はそれぞれ第2図の221,233に
対応する。640が追加となるオアゲートであ
る。600は第3図の300と同じ構造変更信号
で、これが1のときは、オアゲート640の出力
が常に1となり、第2図においてフラグ230〜
233が全てセツトされた状態、すなわちデータ
レジスタDR(3個)が全てデータで満たされた
状態と等価になり、+ALL BUSY信号が1とな
る。
When adopting the configuration shown in FIG. 4, the flag control circuit 5 shown in FIG. 2 must also be changed (because the number of data registers DR is reduced to three). FIG. 6 shows the modified functional part for this purpose. In the same figure, 62
1 and 633 correspond to 221 and 233 in FIG. 2, respectively. 640 is an additional OR gate. 600 is the same structure change signal as 300 in FIG. 3; when this is 1, the output of the OR gate 640 is always 1, and the flags 230 to
233 are all set, which is equivalent to a state where all three data registers DR are filled with data, and the +ALL BUSY signal becomes 1.

以上の実施例はハードウエアのうちのレジスタ
構成を自動的に変更する(ソフトウエアの性質に
よるところは後述する)例を示したが、変更対象
とするハードウエアはこれに限定されない。第7
図以下はベクトルアクセス制御装置の制御変更に
適用した例である。
Although the above embodiment has shown an example in which the register configuration of the hardware is automatically changed (depending on the nature of the software will be described later), the hardware to be changed is not limited to this. 7th
The following figure is an example of application to control change of a vector access control device.

複数のデータ(ベクトルデータ)を高速に処理
する計算機においては、演算命令等を実行するに
あたりなるべくメインメモリ(MEM)を使わ
ず、内部レジスタ(VR)だけで処理することが
望まれる。ベクトルレジスタとも呼ばれるこの内
部レジスタVRは1つ又は複数個のエレメントよ
りなり、各エレメントに1つずつデータが保持さ
れる。そして、一般にはエレメント0から順番に
処理され、その結果が他のVRに書き込まれる。
このためにはVRの数が多い程よい。複数のVR
の集合はベクトルレジスタ群(VRG)と呼ばれ
るが、このしかし、VRGの容量の制限あるいは
ソフトウエアの性質等によりMEMとVRGとの
間にはある頻度で必ずデータ転送が必要となる。
メモリアクセス制御装置(VSu)は例えばアクセ
ス制御部(以後アクセスパイプあるいは単にパイ
プと記す)を複数設けて上記のデータ転送を効率
よく制御するようにされる。
In a computer that processes multiple data (vector data) at high speed, it is desirable to use only internal registers (VR) to execute arithmetic instructions, etc., without using the main memory (MEM) as much as possible. This internal register VR, also called a vector register, consists of one or more elements, and each element holds one piece of data. Generally, elements are processed in order starting from element 0, and the results are written to other VRs.
For this purpose, the more VRs the better. Multiple VR
The set of is called a vector register group (VRG), but due to limitations in the capacity of the VRG or the nature of the software, data must be transferred at a certain frequency between the MEM and the VRG.
The memory access control device (VSu) is configured to include, for example, a plurality of access control units (hereinafter referred to as access pipes or simply pipes) to efficiently control the above data transfer.

第7図はベクトルデータを高速処理する機能を
備えた情報処理装置全体のブロツク図で、11は
メインメモリ(MEM)、12はメモリ制御装置
(MCu)、13はエレメントが1つのスカラデー
タを処理するスカラデータ処理装置、14はチヤ
ネル装置(CHP)、15は外部の入出力装置
(I/O)である。破線枠16内がベクトルデー
タ処理装置(Vu:ベクトルユニツト)で、ここ
にはベクトルレジスタ群(VRG)17、メモリ
アクセス制御装置(VSU)18、先の例で示し
た命令制御装置(VIu)19および演算装置
(VEu)20が含まれる。VRG17は前述のよう
に複数のベクトルレジスタVRから構成される
が、演算装置20はVRをオペランドとして各種
演算命令等を実行する。この演算装置20には加
算用のADD加算機20A、乗算用のMuLTi演算
機20B、除算用のDiViDE演算機20Cがあ
る。前述した命令制御装置9はこのメモリアクセ
ス制御装置18と演算装置20への命令発信を制
御する。図中、ITは命令発信、Dはデータ、I
は命令の流れを示す。
Figure 7 is a block diagram of the entire information processing device equipped with the function of processing vector data at high speed, where 11 is the main memory (MEM), 12 is the memory control unit (MCu), and 13 is a system that processes scalar data with one element. 14 is a channel device (CHP), and 15 is an external input/output device (I/O). Inside the broken line frame 16 is a vector data processing unit (Vu: vector unit), which includes a vector register group (VRG) 17, a memory access control unit (VSU) 18, and an instruction control unit (VIu) 19 shown in the previous example. and a computing device (VEu) 20. The VRG 17 is composed of a plurality of vector registers VR as described above, and the arithmetic unit 20 executes various arithmetic instructions using VR as an operand. This arithmetic device 20 includes an ADD adder 20A for addition, a MuLTi arithmetic machine 20B for multiplication, and a DiViDE arithmetic machine 20C for division. The aforementioned command control device 9 controls the transmission of commands to the memory access control device 18 and the arithmetic unit 20. In the diagram, IT is command transmission, D is data, and I
indicates the flow of instructions.

第8図はVRG17の構成例である。このVRG
17には例えばアクセスタイムが1τ(Vuのクロツ
クサイクル)以下のRAMを使用し、インタリー
ブ構成としてある。速ちVRGを構成する各レジ
スタVR0〜VR255の同じ番号のエレメントを1群
としてバンクとし、そしてこのバンクが8個で1
つのVRGが構成されるものとし、VSu内の複数
のアクセス制御部からのアクセスタイミングをこ
のバンク単位で異ならせる(ずらす)ようにす
る。このようにインタリーブ構成とすると、複数
のパイプ(アクセス制御部)で同時に同じVRG
をかち合うことなくアクセスすることができる。
第9図はこの説明図である(後述する)。
FIG. 8 shows an example of the configuration of the VRG 17. This VRG
17 uses, for example, a RAM with an access time of 1τ (Vu clock cycle) or less, and has an interleaved configuration. The same numbered elements of each register VR 0 to VR 255 that make up the fast VRG are grouped together as a bank, and this bank consists of 8 elements.
One VRG is configured, and the access timings from the plurality of access control units in the VSu are made different (shifted) for each bank. With this interleaved configuration, multiple pipes (access control units) can simultaneously access the same VRG.
can be accessed without having to interact with the
FIG. 9 is an explanatory diagram of this (described later).

各ベクトルレジスタVR0,VR1…のエレメント
数は可変でもよいが、簡単のため8を基本とす
る。実際に有効なエレメントの数はベクトルレン
グスVLによつて与えられる。1つのVRGを構成
するVRの数は256とし、8ビツトのアドレスで
指定される。エレメントの割り付けは、VRGが
1つの場合バンクnに対してエレメントnに対応
させる。第8図でEはエレメントで、その中の数
字はエレメント番号である。
Although the number of elements in each vector register VR 0 , VR 1 . . . may be variable, it is basically set to 8 for simplicity. The number of actually valid elements is given by the vector length VL. The number of VRs that make up one VRG is 256, and is specified by an 8-bit address. Regarding element allocation, when there is one VRG, element n is made to correspond to bank n. In FIG. 8, E is an element, and the numbers therein are element numbers.

第7図の命令制御装置19にはベクトルレング
スレジスタVLRがあり、そこには制御命令によ
つてVLの値がセツトされる。このVLは有効なエ
レメントの数を示す。メモリアクセス制御装置
(VSu)18ではVLで示される数のデータを
MEM11とVRG17の間で転送する。また演
算装置20ではVLで示される数のデータを同一
命令で処理する。
The instruction control device 19 in FIG. 7 includes a vector length register VLR, in which the value of VL is set by a control instruction. This VL indicates the number of valid elements. The memory access control unit (VSu) 18 stores the number of data indicated by VL.
Transfer between MEM11 and VRG17. Further, the arithmetic unit 20 processes the number of data indicated by VL using the same instruction.

第9図はベクトルレジスタVRの最初のエレメ
ント(エレメント番号0)をアクセスするタイミ
ングを、各アクセス源(パイプ、演算器)ごとに
規定するバンクタイミングのタイムチヤートで、
K,E1,E2,E3,L,F1,F2,F3の8つのタイ
ミングがサイクリツクに繰り返される。このうち
K,Lはパイプ用、E1ないしF1,E2ないしF2
E3ないしF3は演算器用で、それぞれ命令語のR
1,R2,R3部で指定されるVRをアクセスす
る。1命令語は1バイト(8ビツト)のオペレー
シヨンコード部(OP)とそれに続く3つのベク
トルオペレーシヨン部R1,R2,R3(各1バ
イト)からなり、一般にR2,R3で示される
VRのベクトルデータに対し、各同一番号のエレ
メントごとにOPで示される演算を実行し、その
結果をR1で示されるVRの同一番号のエレメン
トに書き込む。
Figure 9 is a time chart of the bank timing that defines the timing for accessing the first element (element number 0) of the vector register VR for each access source (pipe, arithmetic unit).
Eight timings of K, E 1 , E 2 , E 3 , L, F 1 , F 2 , and F 3 are cyclically repeated. Of these, K and L are for pipes, E 1 to F 1 , E 2 to F 2 ,
E 3 to F 3 are for the arithmetic unit, and each corresponds to the instruction word R.
Access the VR specified by the 1, R2, and R3 parts. One instruction word consists of a 1-byte (8-bit) operation code section (OP) followed by three vector operation sections R1, R2, and R3 (1 byte each), generally denoted by R2 and R3.
The operation indicated by OP is executed for each element of the same number on the vector data of VR, and the result is written to the element of the same number of VR indicated by R1.

第10図は構造変更機能を有する情報処理装置
の他の部分構成例として、2パイプ型のメモリア
クセス制御装置によつて1つのVRGを扱う場合
の制御変更機能を示してある。同図において破線
枠の1000A,1000B(以下A,Bは略す)
は2台のパイプ(アクセス制御部)で、これに制
御回路等を付加すると第7図のメモリアクセス制
御装置(VSu)8となる。1010(簡単化のた
め添字A,Bは適宜省略する、他のものも同様)
は双方向バスで、ゲートの切換えによつてメモリ
制御装置(MCU)12へ入出力する双方向デー
タを転送する。1001はMCU12からのフエ
ツチデータを保持するフエツチデータレジスタ
(FDR)、1002は逆にMCU2へのストアデー
タを保持するストアデータレジスタ(SDR)、1
003はデータ列を再配列するアライン回路
(ALiGN)、1004はアラインレジスタスタツ
ク(ARS)、1020はベクトルレジスタ群であ
る。
FIG. 10 shows, as another example of a partial configuration of an information processing device having a structure change function, a control change function when one VRG is handled by a two-pipe memory access control device. In the same figure, 1000A and 1000B (hereinafter A and B are omitted) are framed by broken lines.
are two pipes (access control units), and when a control circuit and the like are added to these, the memory access control unit (VSu) 8 shown in FIG. 7 is obtained. 1010 (subscripts A and B are omitted as appropriate for simplicity, the same applies to other items)
is a bidirectional bus, which transfers bidirectional data input/output to the memory control unit (MCU) 12 by switching gates. 1001 is a fetch data register (FDR) that holds fetch data from MCU 12; 1002 is a store data register (SDR) that holds store data to MCU 2;
003 is an align circuit (ALiGN) for rearranging data strings, 1004 is an align register stack (ARS), and 1020 is a vector register group.

ここまでの構成は既提案のものと同様である。
先ずその動作を説明するに、(1)データフエツチ命
令の場合には双方向バス、1010を通して
MCU12から送られた各4エレメント分のデー
タはレジスタ1001に入り、アライン回路10
03を通して正しいエレメント順に並べ変えられ
た後スタツク1004に保持される。スタツク1
004に保持されたデータはFiFo(フアーストイ
ン、フアーストアウト)式に取り出され、バンク
タイムが取れた時に1エレメントごとにVRG1
020の該当するVRに書き込まれる。(2)データ
ストア命令の場合にはバンクタイムが取れた時に
1エレメントごとにVRからデータが読み出され
スタツク1004に保持される。そして、スタツ
ク1004に保持されたデータはFiFo式に取り
出され、アライン回路1003を通してメモリ1
1(第7図)のアドレス順に並べ変えられた後レ
ジスタ1002に入り、双方向バス1010を通
してMCU12に送られる。
The configuration up to this point is similar to the previously proposed configuration.
First, to explain its operation, (1) In the case of a data fetch instruction, the command is sent via the bidirectional bus 1010.
Data for each four elements sent from the MCU 12 enters the register 1001, and the align circuit 10
After being rearranged in the correct order of elements through 03, they are held in a stack 1004. stack 1
The data held in 004 is retrieved in a FiFo (first-in, first-out) manner, and when bank time is obtained, VRG1 is stored for each element.
It is written to the corresponding VR of 020. (2) In the case of a data store instruction, data is read out from the VR element by element when bank time is available and held in the stack 1004. Then, the data held in the stack 1004 is taken out in the FiFo style and passed through the alignment circuit 1003 to the memory 1004.
1 (FIG. 7), enters register 1002, and is sent to MCU 12 via bidirectional bus 1010.

本例では各パイプ1000A,1000Bにゲ
ートロジツク(GL)1005A,1005Bを
追加してこれを構造変更信号1030で制御す
る。ゲートロジツク1005は入力データを出力
側に伝えるか否かを制御するゲート群より成り、
構造変更信号1030が0のときはゲートが閉
じ、1のときはゲートが開く。以下では該信号1
030が0のときを1パイプモード、1のときを
2パイプモードと呼び、各モードの動作を説明す
る。
In this example, gate logic (GL) 1005A, 1005B is added to each pipe 1000A, 1000B, and this is controlled by a structure change signal 1030. Gate logic 1005 consists of a group of gates that control whether or not input data is transmitted to the output side.
When the structure change signal 1030 is 0, the gate is closed, and when it is 1, the gate is open. Below, the signal 1
When 030 is 0, it is called 1-pipe mode, and when it is 1, it is called 2-pipe mode, and the operation of each mode will be explained.

1パイプモード:このときはゲートロジツク1
005A,1005Bが閉じているので、スタツ
ク1004A(ARS A)はVRG1020のバン
ク0〜3のみと接続され、またスタツク1004
B(ARS B)はVRG1020のバンク4〜7の
みと接続される。この場合にはパイプ1000
A,1000Bは同一命令を同時に実行できる。
つまり第9図において、パイプ1000A,10
00B共にKまたはLのいずれか(一方が実線、
他方が破線)のタイミングで同時にVRのアクセ
スを開始する。このアクセスのタイミングが2つ
になつたことで、命令のタイミング待ちの時間
が、2パイプモード時よりも待ち時間がかなりへ
る。そして、パイプ1000Aはエレメント0か
ら3を、またパイプ1000Bはエレメント4か
ら7を扱い、そこにデータをライトまたはリード
する。VRのアクセス開始とはその最初のバンク
からのアクセス開始を示すので、これが同じであ
るとかち合う恐れがあるが、VRを0〜3,4〜
7の2群に分ければそのアクセス開始バンクは0
と4であり、以後一方は1,2,3,0,1,
…、他方は5,6,7,4,5,…と進んで行く
ので、かち合うことはない。
1 pipe mode: At this time, gate logic 1
005A and 1005B are closed, stack 1004A (ARS A) is connected only to banks 0 to 3 of VRG 1020, and stack 1004A (ARS A) is connected only to banks 0 to 3 of VRG 1020.
B (ARS B) is connected only to banks 4 to 7 of VRG 1020. In this case pipe 1000
A and 1000B can execute the same instruction simultaneously.
In other words, in FIG. 9, pipes 1000A, 10
Both 00B are either K or L (one is a solid line,
The other one starts accessing VR at the same time as the dashed line). Since there are two access timings, the time required to wait for instruction timing is considerably shorter than in the two-pipe mode. The pipe 1000A handles elements 0 to 3, and the pipe 1000B handles elements 4 to 7, and writes or reads data there. The start of VR access indicates the start of access from the first bank, so there is a risk of conflict if these are the same, but VR
If divided into two groups of 7, the access start bank is 0.
and 4, and from now on one is 1, 2, 3, 0, 1,
..., the other goes 5, 6, 7, 4, 5, etc., so they never collide.

2パイプモード:このときはゲートロジツク1
005A,1005Bが開くので、スタツカ10
04A,1004Bは共にVRG1020のバン
ク0〜7と接続される。この場合は第9図に実線
で示すようにパイプ1000Aとパイプ1000
Bでバンクタイムを異ならせ(一方がKで、他方
がL)、VRG1020の同じバンクに同時にパイ
プ1000Aとパイプ1000Bがアクセス(衝
突)することがないようにした上で、両パイプを
独立に動作可能として同時に2命令を実行させ
る。
2 pipe mode: At this time, gate logic 1
Since 005A and 1005B open, stacker 10
04A and 1004B are both connected to banks 0 to 7 of VRG 1020. In this case, as shown by the solid line in FIG.
Set the bank times to be different for B (one is K and the other is L) to prevent pipes 1000A and 1000B from accessing (colliding) the same bank of VRG 1020 at the same time, and then operate both pipes independently. Execute two instructions at the same time if possible.

上述した各モードの長所、短所は次の通りであ
る。1パイプモードでは1命令しか実行できない
が、VRをエレメント0から7までアクセスする
のに4τで済む。これに対し2パイプモードでは同
時に2命令実行できるが、VRをエレメント0か
ら7までアクセスするに8τかかる。従つてメモリ
アクセス命令の頻度が多い場合、2パイプモード
の方が同時に2命令実行でき有効であり、メモリ
アクセス命令の頻度が少ない場合は、1パイプモ
ードの方がデータ転送量が2倍になるので有利に
なる。
The advantages and disadvantages of each mode described above are as follows. In 1-pipe mode, only one instruction can be executed, but it only takes 4τ to access VR from elements 0 to 7. On the other hand, in 2-pipe mode, two instructions can be executed at the same time, but it takes 8τ to access VR from elements 0 to 7. Therefore, if the frequency of memory access instructions is high, the 2-pipe mode is more effective because it allows two instructions to be executed at the same time, and if the frequency of memory access instructions is low, the 1-pipe mode doubles the amount of data transferred. So it will be advantageous.

以上、構造変更信号によつてハードウエアの構
造を変更する例を2つ説明したが、次にこの構造
変更信号を特殊な制御命令を受けて発生する制御
命令実行部について説明する。第11図はその一
例である。本例の制御命令実行部は第1図の命令
制御装置に付加する形で形成される。つまり、第
11図の1100,1101はそれぞれ第1図の
命令取込み回路1と命令発信回路2に相当し、こ
れらで命令制御装置を構成する。従来の命令制御
装置では命令発信回路1101でセレクトされた
通常の命令とデータレジスタDRから出力される
データは第1図と同様に演算装置へ送られるが、
本例では特殊な制御命令(後述する)については
これを制御命令実行部へ送るようにする。
Two examples of changing the structure of hardware using a structure change signal have been described above.Next, a control command execution section that generates this structure change signal in response to a special control command will be described. FIG. 11 is an example. The control instruction execution section of this example is formed as an addition to the instruction control device shown in FIG. In other words, 1100 and 1101 in FIG. 11 correspond to the instruction fetching circuit 1 and the instruction issuing circuit 2 in FIG. 1, respectively, and these constitute an instruction control device. In the conventional instruction control device, the normal instruction selected by the instruction issuing circuit 1101 and the data output from the data register DR are sent to the arithmetic unit in the same way as in FIG.
In this example, special control commands (described later) are sent to the control command execution unit.

つまり、1110は、命令取込み回路1100
においてバツフアからの命令がレジスタiR0にセ
ツトされるタイミングに、信号線1102を通し
て送られてくる該命令が、本発明に係る構造変更
用の制御命令であることをデコードする回路、1
120は、命令発信回路1101から信号線11
03を通して送られてくる命令をセツトするレジ
スタ(iRE)、1130はレジスタiREにセツトさ
れた命令をデコードし、それぞれの命令に応じた
信号を出力するデコーダである。1181〜11
8nは本発明に係る構造変更用の制御命令によつ
て決定される値がセツトされるラツチで、その出
力(構造変更信号)1191〜119はそれぞれ
定められた構造変更機能の構造変更信号線、例え
ば第3図の300、第6図の600、第10図の
1030等に接続される。
In other words, 1110 is the instruction capture circuit 1100
A circuit for decoding that the instruction sent through the signal line 1102 at the timing when the instruction from the buffer is set in the register iR0 is a control instruction for structure change according to the present invention;
120 is a signal line 11 from the command transmission circuit 1101
A register ( iRE ) 1130 is a decoder that decodes the instructions set in the register iRE and outputs a signal corresponding to each instruction. 1181-11
8n is a latch in which a value determined by a control command for structure change according to the present invention is set, and its outputs (structure change signals) 1191 to 119 are structure change signal lines of a determined structure change function, respectively; For example, it is connected to 300 in FIG. 3, 600 in FIG. 6, 1030 in FIG. 10, etc.

次に、各種制御命令の動作を例をあげて説明す
る。第12図は本発明に係る3種の制御命令の命
令語の例を示す。同図aのCD命令(Change Di
−rect命令)は8ビツトの命令コードOP(Opera
−tion Code)部のみから構成され、bのCR命
令(Change by Register命令)には更に8ビツ
トのレジスタ指定部(R部)が、またcのCB命
令(Change by Bit命令)には多ビツト(例えば
24ビツト)のビツトパターン部(B部)がそれぞ
れ付加される。
Next, the operations of various control commands will be explained using examples. FIG. 12 shows examples of command words of three types of control commands according to the present invention. The CD instruction (Change Di
-rect instruction) is an 8-bit instruction code OP (Opera
The CR instruction (Change by Register instruction) in b has an additional 8-bit register specification section (R section), and the CB instruction (Change by Bit instruction) in c has a multi-bit register specification section. (for example
A bit pattern section (section B) of 24 bits) is added to each bit pattern section (section B).

aのCD命令はCDONXまたはCDOFXという
形で与えられ、前者は機能Xのオン(ON)を、
また後者は機能Xのオフ(OF)を指定する。そ
して、機能XがX=A,B,…とある場合には命
令数は各機能について2つ、全体では機能数の2
倍CDONA,CDOFA,CDONB,CDOFB,…
が用意される。つまり、このCD命令はその名の
通り、変更すべき機能を直接指定する。
The CD command in a is given in the form of CDONX or CDOFX, and the former turns function X on (ON).
The latter also specifies that function X is turned off (OF). Then, if the function
double CDONA, CDOFA, CDONB, CDOFB,…
will be prepared. In other words, this CD instruction, as its name suggests, directly specifies the function to be changed.

これに対しbのCR命令はあるレジスタのアド
レスをR部で指定し、そのレジスタの内容に従い
構造変更させるものである。cのCB命令はB部
の各ビツトがそれぞれ構造変更機能に対し、その
1,0で構造変更を指定する。従つてB部が24ビ
ツトであれば最大24機能の構造変更を同時に指定
できる。この他にも同様の構造変更命令の形態は
考えられるが、ここでは省略する。
On the other hand, the CR instruction b specifies the address of a certain register in the R part and changes the structure according to the contents of that register. In the CB instruction of c, each bit in the B part specifies a structure change with 1 or 0 for the structure change function. Therefore, if part B is 24 bits, structural changes of up to 24 functions can be specified at the same time. Although other forms of similar structure change commands are possible, they are omitted here.

第13図は第11図の構造変更命令デコーダ1
130の詳細図で、破線枠1301内が該デコー
ダ1130に相当する。1300は第11図のレ
ジスタ(iRE)1120に相当する。このレジス
タにはCD命令の場合にはOP部だけに、またCR
命令の場合にはOPとX部に、さらにCB命令の場
合にはOPとX,Y,Z部に有効なデータがセツ
トされる。デコーダ1301内の信号線1351
〜135nは第11図の信号線群1142を構成
する各信号線1171〜117nに対応し、また
信号線1360は信号線1140に、さらに信号
線1341〜134nはそれぞれ信号線1131
〜113nに対応する。
Figure 13 shows the structure change instruction decoder 1 in Figure 11.
In the detailed diagram of 130, the area within a broken line frame 1301 corresponds to the decoder 1130. 1300 corresponds to the register ( iRE ) 1120 in FIG. This register contains only the OP part in the case of the CD instruction, and the CR
Valid data is set in the OP and X portions in the case of an instruction, and in the OP and X, Y, and Z portions in the case of a CB instruction. Signal line 1351 in decoder 1301
135n correspond to each signal line 1171 to 117n constituting the signal line group 1142 in FIG.
Corresponds to ~113n.

1320は信号線1302によつて伝えられる
命令コードをデコードし、第12図に示される命
令のときだけ対応する出力信号を1にする。即
ち、信号線1321N〜132nNはそれぞれ
CDONA,CDONB,…のとき1となり、また信
号線1321F〜132nFはそれぞれCDOFA,
CDOFB,…のとき1となる。一方、信号線13
30はCR命令のとき1となり、また信号線13
31はCB命令のとき1となる。信号線1310
はCB命令のB部を伝え、各ビツト1311〜1
31nごとにゲートを通して信号線1331が1
のときにそれぞれ信号線1341〜134nに出
力される。
1320 decodes the instruction code transmitted by signal line 1302 and sets the corresponding output signal to 1 only for the instruction shown in FIG. That is, the signal lines 1321N to 132nN are each
It becomes 1 when CDONA, CDONB, ..., and the signal lines 1321F to 132nF are CDOFA, respectively.
CDOFB, becomes 1 when... On the other hand, signal line 13
30 becomes 1 when there is a CR command, and signal line 13
31 becomes 1 for the CB instruction. Signal line 1310
conveys the B part of the CB instruction, and each bit 1311 to 1
The signal line 1331 passes through the gate every 31n.
, they are output to signal lines 1341 to 134n, respectively.

1351〜135nは第11図のクロツクイネ
ーブル信号1181〜118nに相当し、命令発
信制御回路から送られるSTART
iNSTRUCTioN信号が来た時CR,CB命令では
すべて1になり、またCD命令ではその命令によ
つて定められた信号のみ1となる。またCD命令
ではCDONのときは信号線1341〜134n
のうち定められた信号だけが1となり、CDOFの
ときは該信号が0となる。
1351 to 135n correspond to clock enable signals 1181 to 118n in FIG. 11, and START signals sent from the command generation control circuit.
When the iNSTRUCTioN signal comes, all signals become 1 in the CR and CB instructions, and only the signal specified by the CD instruction becomes 1 in the CD instruction. Also, in the case of CD command, signal lines 1341 to 134n are used for CDON.
Among them, only the determined signal becomes 1, and in the case of CDOF, the signal becomes 0.

再び第11図に戻ると、CD,CR,CB命令が
命令取込み回路1100内のバツフアからレジス
タiR0にセツトされると同時に、シリアライズ制
御回路1113が起動される。このシリアライズ
制御回路1113は第1図1のインストラクシヨ
ンレジスタ(iR)に保持されている全命令が終
了するまで後続命令の実行を禁止し(クロツク
L0をオンにしない)、すべてのレジスタiRが空き
状態となると制御を終了する。またこの期間はレ
ジスタiRに保持されている命令はプログラム通
りの順に実行される。以上の動作を命令のシリア
ライズと呼ぶ。従つてシリアライズ処理中の一番
最後に実行される命令が本発明の構造変更命令と
なる。この命令が実行される(START iNST−
RUCTioNが来る)ときはそれ以前の命令はすべ
て終了しているのでハードウエアないしフアーム
ウエアの構造変更が可能となる。
Returning to FIG. 11 again, at the same time that the CD, CR, and CB instructions are set from the buffer in the instruction fetching circuit 1100 to the register iR0 , the serialization control circuit 1113 is activated. This serialization control circuit 1113 prohibits the execution of subsequent instructions (clockwise) until all instructions held in the instruction register (iR) in FIG.
(do not turn on L 0 ), control ends when all registers iR are free. Also, during this period, the instructions held in register iR are executed in the order as programmed. The above operation is called instruction serialization. Therefore, the last instruction executed during serialization processing is the structure change instruction of the present invention. This instruction is executed (START iNST−
When RUCTioN arrives, all previous instructions have been completed, making it possible to change the structure of the hardware or firmware.

CD命令が実行されると、第11図の信号線1
131〜113nのうちその命令によつて定めら
れた信号が、CDONのとき1、CDOFのとき0と
なる(例えばCDONAでは1131が1となり、
CDOF Bでは1132が0になる)。またそれと
同時に信号線1140の値は0信号線1141の
値は1となつているので、信号線1131〜11
3nの値がそのまま信号線1161〜116nに
伝えられる。また信号線1171〜117nのう
ち命令によつて定められた信号のみ1となる(例
えばCDONA,CDOFAでは1171のみ1)の
でラツチ1181〜118nのうちその命令で変
更すべき機能につながれているラツチのみに値が
セツトされる。
When the CD instruction is executed, signal line 1 in Figure 11
The signal determined by the instruction among 131 to 113n becomes 1 when it is CDON, and 0 when it is CDOF (for example, 1131 becomes 1 in CDONA,
In CDOF B, 1132 becomes 0). At the same time, the value of the signal line 1140 is 0, and the value of the signal line 1141 is 1, so the signal lines 1131 to 11
The value of 3n is transmitted as is to signal lines 1161 to 116n. Also, among the signal lines 1171 to 117n, only the signal determined by the command becomes 1 (for example, in CDONA and CDOFA, only 1171 is 1), so among the latches 1181 to 118n, only the latch connected to the function to be changed by the command becomes 1. The value is set to .

CR命令が実行されるときは、あらかじめR部
によつて指定された外部レジスタ(第1図の外部
装置3内にある)のデータが読み出され、データ
レジスタDRに書込まれている。次にSTART
iNST−RUCTioNが来ると信号線1140の値
が1、信号線1141の0となつており、かつ信
号線1171〜117nの値はすべて1となる。
従つてデータレジスタDRから読出されたデータ
1104の各ビツト1151〜115nの値がそ
れぞれラツチ1181〜118nにセツトされ
る。この命令に実行にあたつては、あらかじめ変
更すべき機能に対応するビツトの値を定めたデー
タをR部で指定されるレジスタに書き込んでおく
必要がある。
When the CR instruction is executed, the data in the external register (located in the external device 3 in FIG. 1) specified by the R section is read in advance and written to the data register DR. Next, START
When iNST-RUCTioN arrives, the value of the signal line 1140 is 1, the value of the signal line 1141 is 0, and the values of the signal lines 1171 to 117n are all 1.
Therefore, the values of each bit 1151-115n of data 1104 read from data register DR are set in latches 1181-118n, respectively. In order to execute this instruction, it is necessary to write in advance data defining the value of the bit corresponding to the function to be changed into the register designated by the R section.

CB命令が実行されると、第11図の信号線1
131〜113nにはビツトパターン部Bのビツ
トパターンがそのまま現われる。このとき信号線
1140は0、信号線1141は1となり、また
信号線1171〜117nはすべて1となるので
ラツチ1181〜118nには該Bの値がそのま
まセツトされる。
When the CB instruction is executed, signal line 1 in Figure 11
The bit pattern of the bit pattern portion B appears as it is in 131 to 113n. At this time, the signal line 1140 becomes 0, the signal line 1141 becomes 1, and the signal lines 1171-117n all become 1, so the value of B is set in the latches 1181-118n as is.

なお第11図および第13図に示されるnの値
については構造変更機能の数だけあればよい。ま
たCD命令においては、1つの命令で1つの構造
を変更する場合を述べたが、1命令で複数の構造
を変更するようにしてもよい。同様にCR,CB命
令においても1つのビツトで複数の構造を変更す
るようにしてもよい。
Note that the value of n shown in FIGS. 11 and 13 only needs to be the same as the number of structural change functions. Furthermore, in the CD instruction, although the case where one structure is changed with one instruction has been described, it is also possible to change a plurality of structures with one instruction. Similarly, in the CR and CB instructions, one bit may be used to change multiple structures.

発明の効果 以上述べたように本発明によると、プログラマ
等がソフトウエアを作る際に非常に有利になる。
これはソフトウエアの中に本発明による構造変更
命令を入れることにより、計算機をそのソフトウ
エアに最も適した構造に変更できるからである。
但し、次の2点には留意する必要がある。()
本発明を有効に利用するためには、プログラマが
構造変更の対象となるハードウエアないしフアー
ムウエアに対するある程度の知識を持たねばなら
ない。()本発明による命令が実行される時、
それによる時間ロスが出る。
Effects of the Invention As described above, the present invention is very advantageous for programmers and the like when creating software.
This is because by inserting the structure change instruction according to the present invention into the software, it is possible to change the structure of the computer to the most suitable structure for the software.
However, the following two points need to be kept in mind. ()
In order to effectively utilize the present invention, a programmer must have some knowledge of the hardware or firmware to which the structure is to be modified. () When the instructions according to the present invention are executed,
This results in time loss.

上記2点に対する対策を以下に述べる。()
に関しては、OS(オペレーテイングシステム)を
作るプログラマは本来ある程度ハードウエアの知
識を持つているので、OSにおいては問題となら
ない。それ以外の一般ユーザ等では、それなりの
知識を持つたプログラマが自己のソフトウエアを
さらに高速にしようとした時に利用すればよい。
()に関しては、本発明による命令を頻繁に使
うと全体として性能ダウンにつながるので、構造
変更したことによる利点が該命令実行によるロス
に比して大きくなるためには、該命令の頻度を少
なくする必要がある。
Countermeasures for the above two points are described below. ()
This is not a problem for OSs (operating systems) because programmers who create them already have some knowledge of hardware. For other general users, it can be used by programmers with a certain level of knowledge who want to make their software even faster.
Regarding (), frequent use of the instructions according to the present invention will lead to a decrease in performance as a whole, so in order for the benefits of changing the structure to be greater than the loss caused by executing the instructions, the frequency of the instructions should be reduced. There is a need to.

しかし、例えば高速化をねらつた科学技術用計
算機等では、もともと構造変更の頻度は少なくて
よいのでロスは非常に小さくなる。しかも、多数
のデータを1命令で処理するベクトル命令等に比
べると本発明の命令の実行時間は非常に小さいの
で()のロスは問題にならない。また汎用機に
おいても、例えばそれをTSS利用している時な
どプログラムが変わつた時には、もともとそのた
めの時間ロスがかなり大きいので、その時点で本
発明の命令を実行すれば()のロスは無視でき
るほどの小さいものとなる。
However, for example, in scientific and technical computers that aim to increase speed, the frequency of structural changes may be low, so the loss is extremely small. Furthermore, the execution time of the instructions of the present invention is very small compared to vector instructions that process a large amount of data in one instruction, so the loss in parentheses does not pose a problem. Also, even in general-purpose machines, when the program is changed, for example when using TSS, the time loss for this is quite large, so if the instructions of the present invention are executed at that point, the loss in () can be ignored. It will be as small as possible.

以上により本発明はその利用を効果的に行なう
ことにより、前述の大きなメリツトが得られる。
As described above, by effectively utilizing the present invention, the above-mentioned great merits can be obtained.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は構造変更機能のない従来の命令制御装
置の一例を示す構成図、第2図はそのフラグ制御
回路の詳細図、第3図は上記の命令制御装置の一
部を構造変更可能とした構成図、第4図および第
5図はその要部の構造変更状態を示す説明図、第
6図は第4図の構造変更に伴うフラグ制御回路へ
の追加部分を示す要部構成図、第7図は複数のデ
ータを高速処理する情報処理装置全体の概略構成
図、第8図はそのベクトルデータ処理装置内に設
けられるベクトルレジスタ群の説明図、第9図は
該レジスタ群へのアクセスタイミングを示すタイ
ムチヤート、第10図は該ベクトルデータ処理装
置内に設けられるメモリアクセス制御装置の一部
を構造変更可能とした構成図、第11図は構造変
更命令をデコードして各種構造変更信号を発生す
る制御命令実行部の例を示す構成図、第12図は
本発明の制御命令(構造変更命令)の各例を示す
説明図、第13図は構造変更命令デコーダの詳細
図である。 図面でOPは制御命令の命令コード部、Rはレ
ジスタを指定する部分、Bはビツトパターン部で
ある。
Fig. 1 is a block diagram showing an example of a conventional instruction control device without a structure change function, Fig. 2 is a detailed diagram of its flag control circuit, and Fig. 3 is a diagram showing an example of a conventional instruction control device that does not have a structure change function. FIG. 4 and FIG. 5 are explanatory diagrams showing the structural changes of the main parts thereof, and FIG. 6 is a main part structure diagram showing the added parts to the flag control circuit due to the structural changes in FIG. 4. FIG. 7 is a schematic configuration diagram of the entire information processing device that processes multiple data at high speed, FIG. 8 is an explanatory diagram of a vector register group provided in the vector data processing device, and FIG. 9 is an illustration of access to the register group. A time chart showing the timing, FIG. 10 is a block diagram of a part of the memory access control device provided in the vector data processing device that can be structurally changed, and FIG. 11 shows various structure change signals by decoding structure change commands. FIG. 12 is an explanatory diagram showing examples of control instructions (structural change instructions) of the present invention, and FIG. 13 is a detailed diagram of a structure change instruction decoder. In the drawing, OP is the instruction code part of the control command, R is the part that specifies the register, and B is the bit pattern part.

Claims (1)

【特許請求の範囲】 1 複数のアクセスパイプと、 複数バンクからなるメモリと、 前記複数バンクに対し、複数のアクセスパイプ
毎に複数のアクセスタイミングを決められている
複数のバンクからなるメモリと、 前記複数のアクセスパイプはそれぞれ前記複数
バンクを重複しない様に前記タイミングに従つて
アクセスするモードと、 前記複数のアクセスパイプのうち一つのアクセ
スパイプが、前記複数のアクセスタイミングのタ
イミング全ての点又は何れかのタイミングに於い
て、前記複数バンク全てにアクセスするモードと
を切り替える為の変更機能とを有し、 前記変更機能は制御命令によつて起動するよう
にしてなることを特徴とする情報処理装置。 2 制御命令がその命令コード部で直接もしくは
複数の構造変更機能を起動するものであることを
特徴とする、特許請求の範囲第1項記載の情報処
理装置。 3 制御命令がレジスタを指定する部分を有し、
該レジスタの内容に従つて構造変更機能を起動さ
せるものであることを特徴とする、特許請求の範
囲該1項及び第2項記載の情報処理装置。 4 制御命令が1もしくは複数の構造変更機能を
起動するビツト部を有し、任意のビツトで対応す
る構造変更機能だけを起動するものであることを
特徴とする、特許請求の範囲第1項ないし第3項
記載の情報処理装置。
[Scope of Claims] 1. A memory comprising a plurality of access pipes; a memory comprising a plurality of banks; a memory comprising a plurality of banks in which a plurality of access timings are determined for each of the plurality of access pipes for the plurality of banks; A mode in which each of the plurality of access pipes accesses the plurality of banks according to the timing without overlapping, and one access pipe among the plurality of access pipes accesses all or any of the timing points of the plurality of access timings. An information processing device comprising: a change function for switching between a mode for accessing all of the plurality of banks at a timing of , and the change function is activated by a control command. 2. The information processing device according to claim 1, wherein the control command activates one or more structure change functions directly or in its command code section. 3. The control instruction has a part that specifies a register,
An information processing apparatus according to claims 1 and 2, characterized in that a structure change function is activated according to the contents of the register. 4. Claims 1 to 4, characterized in that the control command has a bit part that activates one or more structural change functions, and any bit activates only the corresponding structure change function. The information processing device according to item 3.
JP32293089A 1989-12-13 1989-12-13 Information processor Granted JPH02216581A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32293089A JPH02216581A (en) 1989-12-13 1989-12-13 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32293089A JPH02216581A (en) 1989-12-13 1989-12-13 Information processor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP58091953A Division JPS59216252A (en) 1983-05-25 1983-05-25 Information processing device

Publications (2)

Publication Number Publication Date
JPH02216581A JPH02216581A (en) 1990-08-29
JPH0465406B2 true JPH0465406B2 (en) 1992-10-20

Family

ID=18149218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32293089A Granted JPH02216581A (en) 1989-12-13 1989-12-13 Information processor

Country Status (1)

Country Link
JP (1) JPH02216581A (en)

Also Published As

Publication number Publication date
JPH02216581A (en) 1990-08-29

Similar Documents

Publication Publication Date Title
US4467419A (en) Data processing system with access to a buffer store during data block transfers
US4648034A (en) Busy signal interface between master and slave processors in a computer system
US5608881A (en) Microcomputer system for accessing hierarchical buses
US4131940A (en) Channel data buffer apparatus for a digital data processing system
US6272596B1 (en) Data processor
JPS59117666A (en) Vector processor
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
JPH02130634A (en) Device and method for processing data
JPH04343151A (en) Memory access device
JPH0248931B2 (en)
JP3137117B2 (en) High-speed processing computer
JPS6297036A (en) Calculator system
US5696957A (en) Integrated circuit comprising a central processing unit for executing a plurality of programs
US6327648B1 (en) Multiprocessor system for digital signal processing
JP2690406B2 (en) Processor and data processing system
JPH0232647B2 (en)
US5276853A (en) Cache system
JPH0465406B2 (en)
JPH0512751B2 (en)
JPH0232648B2 (en)
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JPH0232649B2 (en)
JP2668987B2 (en) Data processing device
JPH0412491B2 (en)
JPH0232650B2 (en)