JPH0481933A - Vector data processor - Google Patents
Vector data processorInfo
- Publication number
- JPH0481933A JPH0481933A JP19646790A JP19646790A JPH0481933A JP H0481933 A JPH0481933 A JP H0481933A JP 19646790 A JP19646790 A JP 19646790A JP 19646790 A JP19646790 A JP 19646790A JP H0481933 A JPH0481933 A JP H0481933A
- Authority
- JP
- Japan
- Prior art keywords
- data
- vector
- register
- pointer
- control circuit
- 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
Links
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 2
Landscapes
- Complex Calculations (AREA)
Abstract
Description
【発明の詳細な説明】
技術分野
本発明はベクトルデータ処理装置に関し、特にタスク切
換え時にベクトルレジスタの内容を主記憶装置に退避す
る退避手段を有するベクトルデータ処理装置に関する。TECHNICAL FIELD The present invention relates to a vector data processing apparatus, and more particularly to a vector data processing apparatus having a saving means for saving the contents of a vector register to a main memory when switching tasks.
従来技術
従来、この種のベクトルデータ処理装置は多重プログラ
ミング方式の下で処理を行う。したがって、あるプログ
ラムの実行を中断させて、別のプログラムを実行させる
ようなタスクの切換えが必要となる。その際、実行を中
断させるプログラムの途中結果を主記憶上に退避してお
かなければならない。その動作について第2図を参照し
て説明する。Prior Art Conventionally, vector data processing devices of this type operate under a multiple programming scheme. Therefore, it is necessary to switch tasks by interrupting the execution of one program and executing another program. At this time, the intermediate results of the program whose execution is to be interrupted must be saved in main memory. Its operation will be explained with reference to FIG.
ベクトルデータ処理装置があるプログラムを実行してい
るとき、ベクトルレジスタ1内にはデータ線5を通じて
算術論理演算回路3に供給するデータやデータ線6を通
じて得られる算術論理演算手段3の処理結果等が格納さ
れている。When the vector data processing device is executing a certain program, the vector register 1 contains data supplied to the arithmetic and logic operation circuit 3 through the data line 5 and processing results of the arithmetic and logic operation means 3 obtained through the data line 6. Stored.
一般に、ベクトルレジスタは非常に多くのレジスタ(以
下、要素レジスタと呼ぶ)の並びなので、先頭の要素レ
ジスタから順に番号を付して、各要素レジスタを「要素
番号L (imp、1,2.・・・)の要素レジスタ」
と表現する。In general, a vector register is a sequence of a very large number of registers (hereinafter referred to as element registers), so numbers are assigned in order from the first element register, and each element register is assigned an element number L (imp, 1, 2, . . . ...)'s element register"
Expressed as.
一方、第3図は制御回路4の内部詳細図である。On the other hand, FIG. 3 is a detailed internal diagram of the control circuit 4. As shown in FIG.
命令制御回路11は制御線16を通じてソフトウェアか
らタスクの切換え命令を受けると、制御線17を通じて
退避制御回路12に退避命令を発行し、データ線8を通
じてスタックポインタ13にソフトウェアが指定する値
を格納する。なお、詳細は後述する。When the command control circuit 11 receives a task switching command from software through the control line 16, it issues a save command to the save control circuit 12 through the control line 17, and stores the value specified by the software in the stack pointer 13 through the data line 8. . Note that details will be described later.
退避制御回路12は退避命令を受けると制御線18を通
じてポインタレジスタ14をリセットし、制御線7を通
じて主記憶装置100の特定の番地に対する書込み要求
を発行する。ここで、特定の番地とは、主記憶の一部を
成す退避領域のことであり、データは必ずこの退避領域
に退避される。When the save control circuit 12 receives the save command, it resets the pointer register 14 through the control line 18 and issues a write request to a specific address in the main storage device 100 through the control line 7. Here, the specific address is a save area that forms part of the main memory, and data is always saved to this save area.
また、多重プログラミング方式では各プログラムに対し
て退避領域の一部が割当てられていて、ソフトウェアが
退避領域に関する情報、例えば、あるプログラムが退避
領域の何番地から何番地までを確保し、現在何番地まで
使用しているか等を管理している。In addition, in the multiple programming method, a part of the save area is allocated to each program, and the software collects information about the save area, such as from what address to what address a certain program has secured the save area, and what address it currently has. The company monitors whether it is being used up to the point in time.
前に述べた命令制御回路11がデータ線8を通じてスタ
ックポインタ13に格納するソフトウェアから指定され
た値とは、そのプログラムに割当てられた退避領域を指
す番地である。したがって、主記憶装置100はデータ
線24を通してスタックポインタ13の内容を参照する
ことにより、ブタを書込むべき特定の番地を得ることが
できるのである。The value specified by the software that the instruction control circuit 11 stores in the stack pointer 13 via the data line 8 is an address pointing to the save area allocated to the program. Therefore, by referring to the contents of stack pointer 13 through data line 24, main memory 100 can obtain the specific address to which the pig should be written.
ポインタレジスタ14には、ベクトルレジスタ1の任意
の要素レジスタを指し示す値j (jは要素番号であり
、最初は要素番号0とみなせる)が常に格納されていて
、ポインタレジスタ14がデータ線9を通じて指し示す
要素レジスタ内のデータがデータ線10を通じて主記憶
装置100に出力される。The pointer register 14 always stores a value j (j is an element number, which can be considered as element number 0 at first) that points to an arbitrary element register of the vector register 1, and the value j that points to an arbitrary element register of the vector register 1 is stored in the pointer register 14. Data in the element registers is output to main memory 100 via data line 10.
主記憶装置100は制御線7を通じて退避制御回路12
から書込み要求を受けると、データ線10を通して得ら
れるデータをスタックポインタ13がデータ線24を通
じて指し示す主記憶の番地に書込む。The main memory device 100 is connected to the save control circuit 12 through the control line 7.
When receiving a write request from , the data obtained through the data line 10 is written to the address in the main memory that the stack pointer 13 points to through the data line 24 .
一方、比較回路15はデータ線21を通じてポインタレ
ジスタ14の内容jを入力し、ベクトルレジスタ1の要
素番号の最大値にと比較する。なお、kは定数である。On the other hand, the comparison circuit 15 inputs the content j of the pointer register 14 through the data line 21 and compares it with the maximum value of the element number of the vector register 1. Note that k is a constant.
比較1回路15はその比較結果がk>jのときはまだ退
避すべきデータが存在すると判断して退避制御回路12
に対して何の指示も与えない。しかし、比較結果かに−
jならば、これ以上退避すべきデータは存在しないと判
断して退避制御回路12に制御線22を通じて退避終了
の指示を与える。When the comparison result is k>j, the comparison 1 circuit 15 determines that there is still data to be saved, and the save control circuit 12
does not give any instructions. However, the comparison results -
j, it is determined that there is no more data to be saved, and an instruction to finish saving is given to the save control circuit 12 via the control line 22.
退避制御回路12は比較回路15から指示がなければ、
制御線18を通じてポインタレジスタ14の内容をイン
クリメントし、制御線23を通じてスタックポインタ1
3の内容をインクリメントした後、制御線7を通じて主
記憶装置100に書込み要求を発行する。If there is no instruction from the comparator circuit 15, the save control circuit 12
The contents of the pointer register 14 are incremented through the control line 18 and the stack pointer 1 is incremented through the control line 23.
After incrementing the contents of 3, a write request is issued to the main storage device 100 via the control line 7.
以下、同様の動作を繰返せばベクトルレジスタ1内の全
てのデータが退避される。Thereafter, by repeating the same operation, all the data in the vector register 1 will be saved.
つまり、上述した従来のベクトルデータ処理装置では、
タスクの切換えの際に、ベクトルレジスタの持つ全ての
データを主記憶に退避しているのである。そのため、デ
ータを退避する時点てベクトルレジスタの一部にしか必
要なデータが書込まれていない場合でも、ベクトルレジ
スタの全データを退避することは無駄が多く、全体の処
理速度の低下にもつながるという欠点がある。In other words, in the conventional vector data processing device described above,
When switching tasks, all data held in the vector registers is saved to main memory. Therefore, even if the necessary data is written to only a part of the vector register at the time of saving data, saving all the data in the vector register is wasteful and will lead to a decrease in the overall processing speed. There is a drawback.
発明の目的
本発明は上述した従来の欠点を解決するためになされた
ものであり、その目的はベクトルレジスタから主記憶へ
データ転送する際における処理速度の低下を最小限度に
抑えることができるベクトルデータ処理装置を提供する
ことである。OBJECT OF THE INVENTION The present invention has been made in order to solve the above-mentioned conventional drawbacks, and its purpose is to provide vector data that can minimize the reduction in processing speed when transferring data from the vector register to the main memory. The purpose of the present invention is to provide a processing device.
発明の構成
本発明によるベクトルデータ処理装置は、主記憶と、実
行中のタスクに係るベクトルデータを保持するベクトル
レジスタと、タスクの切換えの際、前記ベクトルレジス
タ内のベクトルデータを前記主記憶に退避するデータ退
避手段とを有−するベクトルデータ処理装置であって、
前記ベクトルレジスタの記憶領域のうち切換え直前のタ
スクに割当てられた領域を示すポインタと、前記ベクト
ルレジスタの記憶領域のうち前記ポインタによって示さ
れる領域のみに対してデータ退避を行う退避制御手段と
を有することを特徴とする。Composition of the Invention A vector data processing device according to the present invention includes a main memory, a vector register that holds vector data related to a task being executed, and a vector register that saves vector data in the vector register to the main memory when switching tasks. A vector data processing device comprising a data saving means for
A pointer indicating an area allocated to the task immediately before switching among the storage areas of the vector register, and a save control means for saving data only to the area indicated by the pointer among the storage areas of the vector register. It is characterized by
実施例 次に、本発明について図面を参照して説明する。Example Next, the present invention will be explained with reference to the drawings.
第1図は本発明によるベクトルデータ処理装置の一実施
例の構成を示すブロック図であり、第2図と同等部分は
同一符号により示されている。FIG. 1 is a block diagram showing the configuration of an embodiment of a vector data processing apparatus according to the present invention, and parts equivalent to those in FIG. 2 are designated by the same reference numerals.
図において、ベクトルデータ処理装置があるプログラム
を実行しているとき、ベクトルレジスタ1にはデータ線
5を通して算術論理演算回路3に供給するデータやデー
タ線6を通して得られる算術論理演算回路3の処理結果
等が格納されている。In the figure, when the vector data processing device is executing a certain program, the vector register 1 contains data that is supplied to the arithmetic and logic circuit 3 through the data line 5, and the processing results of the arithmetic and logic circuit 3 that are obtained through the data line 6. etc. are stored.
情報記憶回路2に格納されている値iは、このプログラ
ムが使用可能なベクトルレジスタ1の領域が要素番号0
〜iの要素レジスタであることを示す。したがって、プ
ログラムが要素番号iを越える大きさの要素レジスタに
アクセスすることは許されない。The value i stored in the information storage circuit 2 indicates that the area of the vector register 1 that can be used by this program is element number 0.
Indicates that it is an element register of ~i. Therefore, a program is not allowed to access an element register with a size exceeding element number i.
第4図は制御回路4の内部構成を示すブロック図であり
、第3図と同等部分は同一符号により示されている。FIG. 4 is a block diagram showing the internal configuration of the control circuit 4, and parts equivalent to those in FIG. 3 are designated by the same symbols.
命令制御回路11はソフトウェアから制御線16を通し
てベクトルレジスタの領域割当て命令を受けると、デー
タ線8を通して情報記憶回路2にソフトウェアが指定し
た値iをセットする。つまり、情報記憶回路2は、ベク
トルレジスタ中の有効な領域を示すポインタとなる。When the command control circuit 11 receives a vector register area allocation command from software through the control line 16, it sets a value i specified by the software in the information storage circuit 2 through the data line 8. In other words, the information storage circuit 2 serves as a pointer indicating a valid area in the vector register.
また、命令制御回路11はソフトウェアから制御線16
を通じてタスクの切換え命令を受けると、制御線17を
通じて退避制御回路12に退避命令を発行し、データ線
8を通してスタックポインタ13にiとは異なるソフト
ウェアが指定した値を格納する。なお、詳細は後述する
。The command control circuit 11 is also connected to a control line 16 by software.
When a task switching command is received through the control line 17, a save command is issued to the save control circuit 12 via the control line 17, and a value specified by software different from i is stored in the stack pointer 13 via the data line 8. Note that details will be described later.
退避制御回路12は命令制御回路11から退避命令を受
けると制御線18を通じてポインタレジスタ14をリセ
ットし、制御線7を通して主記憶装置100の特定の番
地に対する書込み要求を発行する。When the save control circuit 12 receives the save command from the command control circuit 11, it resets the pointer register 14 through the control line 18, and issues a write request to a specific address of the main storage device 100 through the control line 7.
ここで、特定の番地とは主記憶の一部を成す退避領域の
ことであり、データは必ずこの退避領域に退避される。Here, the specific address is a save area that forms part of the main memory, and data is always saved to this save area.
また、多重プログラミング方式では、各プログラムに対
して退避領域の一部が割当てられていて、ソフトウェア
が退避領域に関する情報、例えば、あるプログラムが退
避領域の何番地から何番地までを確保し、現在前番地ま
で使用しているか等を管理している。In addition, in the multiple programming method, a part of the save area is allocated to each program, and the software stores information about the save area, for example, which address of the save area is reserved for a certain program, and what address it is currently in the save area. It manages whether even the street address is being used.
前に述べた命令制御回路11がデータ線8を通じてスタ
ックポインタ13に格納するソフトウェアから指定され
た値とは、そのプログラムに割当てられた退避領域を指
す番地である。したがって、データ線24を通じてスタ
ックポインタ13の内容を参照することにより、主記憶
装置lOOはデータを書込む特定の番地を得ることがで
きるのである。The value specified by the software that the instruction control circuit 11 stores in the stack pointer 13 via the data line 8 is an address pointing to the save area allocated to the program. Therefore, by referring to the contents of stack pointer 13 through data line 24, main memory device lOO can obtain a specific address at which to write data.
ポインタレジスタ14にはベクトルレジスタ1の任意の
要素レジスタを指し示す値j (jは要素番号であり、
最初は要素番号Oとみなせる)が常に格納されていて、
ポインタレジスタ14がデータ線9を通じて指し示す要
素レジスタ内のデータが、データ線10を通じて主記憶
装置100に出力される。The pointer register 14 contains a value j (j is the element number,
Initially, the element number O) is always stored,
Data in the element register pointed to by pointer register 14 through data line 9 is output to main memory 100 through data line 10 .
主記憶装置100は制御線7を通して退避制御回路12
から書込み要求を受けると、データ線1゜を通じて得ら
れるベクトルレジスタ1内のデータをデータ線24を通
じてスタックポインタ13が指し示す主記憶の番地に書
込む。The main memory 100 is connected to the save control circuit 12 through the control line 7.
When a write request is received from , the data in the vector register 1 obtained through the data line 1° is written to the address in the main memory pointed to by the stack pointer 13 through the data line 24.
一方、比較回路15は、情報記憶回路2の内容iとポイ
ンタレジスタの内容jとを夫々データ線20.21を通
じて入力し、両者の大きさを比較する。比較回路15は
、その比較結果がi>jのときはまだ退避すべきデータ
が存在すると判断して退避制御回路12に対して何の指
示も与えない。On the other hand, the comparison circuit 15 inputs the content i of the information storage circuit 2 and the content j of the pointer register through data lines 20 and 21, respectively, and compares the sizes of the two. When the comparison result is i>j, the comparison circuit 15 determines that there is still data to be saved and does not issue any instructions to the save control circuit 12.
しかし、比較結果がi−jならば、これ以上退避すべき
データは存在しないと判断し、退避制御回路12に制御
線22を通じて退避終了の指示を与える。However, if the comparison result is ij, it is determined that there is no more data to be saved, and an instruction to finish saving is given to the save control circuit 12 via the control line 22.
退避制御回路12は、比較回路15がらの指示かない場
合には、制御線18を通じてポインタレジスタ14の内
容をインクリメントし、制御線23を通じてスタックポ
インタ13の内容をインクリメントした後、制御線7を
通じて主記憶装置100に書込み要求を発行する。If there is no instruction from the comparison circuit 15, the save control circuit 12 increments the contents of the pointer register 14 through a control line 18, increments the contents of the stack pointer 13 through a control line 23, and then increments the contents of the stack pointer 13 through a control line 7. A write request is issued to the device 100.
以下同様にして、要素番号0〜iの要素レジスタ内の有
効なデータのみが主記憶装置100に退避される。Similarly, only valid data in the element registers with element numbers 0 to i are saved to the main storage device 100.
なお、ベクトルデータ以外のデータ(スカラデータ)に
も本発明を適用することができる。しかし、一般のプロ
グラムが使用する全スカラデータ数は、ベクトル演算プ
ログラムが使用するベクトルデータに比べると、はんの
わずかしかないため、効果は得られない。Note that the present invention can also be applied to data other than vector data (scalar data). However, since the total number of scalar data used by general programs is only a fraction of the vector data used by vector calculation programs, no effect can be obtained.
発明の詳細
な説明したように本発明は、制御回路が情報記憶回路の
内容を参照し、ベクトルレジスタに格納されているデー
タの中から有効なデータだけを主記憶に退避することに
より、データ転送に要する時間を削減でき、処理速度の
低下を最小限度に抑えることができるという効果かある
。DETAILED DESCRIPTION OF THE INVENTION As described above, in the present invention, the control circuit refers to the contents of the information storage circuit and saves only valid data from among the data stored in the vector register to the main memory, thereby achieving data transfer. This has the effect of reducing the time required for processing and minimizing the reduction in processing speed.
第1図は本発明の実施例によるベクトルデータ処理装置
の構成を示すブロック図、第2図は従来のベクトルデー
タ処理装置の構成を示すブロック図、第3図は第2図中
の制御回路の内部構成を示すブロック図、第4図は第1
図中の制御回路の内部構成を示すブロック図である。
主要部分の符号の説明
1・・・・・・ベクトルレジスタ
2・・・・・・情報記憶回路
3・・・・・・算術論理演算回路
4・・・・・・制御回路
100・・・・・・主記憶装置FIG. 1 is a block diagram showing the configuration of a vector data processing device according to an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of a conventional vector data processing device, and FIG. 3 is a block diagram showing the configuration of a conventional vector data processing device. A block diagram showing the internal configuration, Figure 4 is the first
FIG. 2 is a block diagram showing the internal configuration of a control circuit shown in the figure. Explanation of symbols of main parts 1... Vector register 2... Information storage circuit 3... Arithmetic logic operation circuit 4... Control circuit 100...・Main memory
Claims (1)
を保持するベクトルレジスタと、タスクの切換えの際、
前記ベクトルレジスタ内のベクトルデータを前記主記憶
に退避するデータ退避手段とを有するベクトルデータ処
理装置であって、前記ベクトルレジスタの記憶領域のう
ち切換え直前のタスクに割当てられた領域を示すポイン
タと、前記ベクトルレジスタの記憶領域のうち前記ポイ
ンタによって示される領域のみに対してデータ退避を行
う退避制御手段とを有することを特徴とするベクトルデ
ータ処理装置。(1) Main memory and vector registers that hold vector data related to the task being executed, and when switching tasks,
A vector data processing device comprising: data saving means for saving vector data in the vector register to the main memory; a pointer indicating an area allocated to a task immediately before switching among the storage areas of the vector register; A vector data processing device comprising a save control means for saving data only to the area indicated by the pointer among the storage areas of the vector register.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19646790A JPH0481933A (en) | 1990-07-25 | 1990-07-25 | Vector data processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19646790A JPH0481933A (en) | 1990-07-25 | 1990-07-25 | Vector data processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0481933A true JPH0481933A (en) | 1992-03-16 |
Family
ID=16358289
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19646790A Pending JPH0481933A (en) | 1990-07-25 | 1990-07-25 | Vector data processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0481933A (en) |
-
1990
- 1990-07-25 JP JP19646790A patent/JPH0481933A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
| JP5668014B2 (en) | Task and data management in the processor | |
| AU613823B2 (en) | Virtual computer system having improved input/output interrupt control | |
| US6075546A (en) | Packetized command interface to graphics processor | |
| US6223279B1 (en) | Single chip microcomputer having a dedicated address bus and dedicated data bus for transferring register bank data to and from an on-line RAM | |
| US5428779A (en) | System and method for supporting context switching within a multiprocessor system having functional blocks that generate state programs with coded register load instructions | |
| US6553487B1 (en) | Device and method for performing high-speed low overhead context switch | |
| US7590774B2 (en) | Method and system for efficient context swapping | |
| US7412590B2 (en) | Information processing apparatus and context switching method | |
| US20070067778A1 (en) | System and method for communication in a multithread processor | |
| JP3970609B2 (en) | Processor system | |
| US6675238B1 (en) | Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor | |
| JPH1083349A (en) | Cache memory bank controller | |
| JPH0481933A (en) | Vector data processor | |
| JP2643931B2 (en) | Information processing device | |
| US20040103229A1 (en) | Bus management techniques | |
| JPH0414376B2 (en) | ||
| US20080209085A1 (en) | Semiconductor device and dma transfer method | |
| EP0560393A1 (en) | Microprocessor and data processing system with register file | |
| JP3067253B2 (en) | Data processing device | |
| JPH05165641A (en) | Single chip microcomputer | |
| JP2586690B2 (en) | Instruction prefetch device | |
| EP1104899A2 (en) | Data processing apparatus and method of controlling the same | |
| JPH03241442A (en) | Store buffer control system | |
| JPH02183342A (en) | Interruption controller |