JPS63140370A - Address computing element - Google Patents

Address computing element

Info

Publication number
JPS63140370A
JPS63140370A JP61288025A JP28802586A JPS63140370A JP S63140370 A JPS63140370 A JP S63140370A JP 61288025 A JP61288025 A JP 61288025A JP 28802586 A JP28802586 A JP 28802586A JP S63140370 A JPS63140370 A JP S63140370A
Authority
JP
Japan
Prior art keywords
address
selection
output
distance
memory access
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
JP61288025A
Other languages
Japanese (ja)
Inventor
Atsushi Yamazaki
篤 山崎
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP61288025A priority Critical patent/JPS63140370A/en
Publication of JPS63140370A publication Critical patent/JPS63140370A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Abstract

PURPOSE:To improve an execution efficiency by reducing an address arithmetic operation to invalid data when the invalid data is successive. CONSTITUTION:A value obtained by multiplying a distance between elements by one - three is added once by inputting the distance between the elements shifted by one bit leftward to the residual input of a three input adder 1. When more than three invalid data is successive, selection signals 109 - 111 to select an address register output 113, an output 115 of one bit leftward shift circuit 5 and a distance 105 between the elements respectively are sent to selection circuits 2 - 4 and a memory access request 114 is not sent to a memory access controller. The three input adder 1 inputs the outputs 106 - 108 of the selection circuits 2 - 4 to feed an addition output 112 to an address register 6 and the memory access controller.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、データ処理装置のアドレス演算器に関し、特
に、3入力加算器を備え、ベースアドレス、インデスク
値、変位を同時に加算することが可能なアドレス演算器
に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to an address calculator for a data processing device, and more particularly, to an address calculator for a data processing device, which is equipped with a three-input adder and can add a base address, an index value, and a displacement at the same time. Regarding address calculator.

従来の技術 データ処理装置では、行列を複数のベクトルに分解して
処理するが、データ処理装置で扱う行列は一般に全要素
に有効なデータが格納されていることは少なく、少数の
要素にのみ有効なデータが格納され、他の要素は110
 jlとなっていることが多い。そしてこの傾向は行列
が大きくなるほど強くなる。そこで、ベクトル要素ごと
に、有効なデータが格納されているか否かの情報を記録
したベクトルマスクを設け、無効なデータを格納してい
る要素については、メモリアクセス動作を行なわないよ
うにしている。
Conventional technical data processing equipment decomposes a matrix into multiple vectors for processing, but matrices handled by data processing equipment generally do not store valid data in all elements, but are valid only in a small number of elements. data is stored, other elements are 110
It is often jl. This tendency becomes stronger as the matrix gets larger. Therefore, a vector mask is provided for each vector element, recording information as to whether valid data is stored, and memory access operations are not performed for elements storing invalid data.

従来、この種のアドレス演算器は、ベクトルの先頭要素
のアドレスをベースアドレス、インデスク値、変位から
もとめ、以下、前の要素のアドレスをアドレスレジスタ
に格納しておき、その出力と要素間距!(隣接するベク
トル要素の間の距離)とを加算することで、次のベクト
ル要素のアドレスを求めるようになっている。そして、
実際にメモリアクセスを行うかどうかはベクトルマスク
の値によってきまる。
Conventionally, this type of address calculator finds the address of the first element of a vector from the base address, index value, and displacement, stores the address of the previous element in an address register, and calculates the output and the distance between the elements! (distance between adjacent vector elements) to find the address of the next vector element. and,
Whether memory access is actually performed or not depends on the value of the vector mask.

発明が解決しようとする問題点 上述した従来のアドレス演算器は、無効データに対して
もアドレス演算動作は行うので、無効データが連続する
場合には、無効データ数だけの演算動作が余分に必要と
なり、実行効率が低くなるという欠点がある。要素間距
離を連続する無効データ数倍した値を一度に加算できれ
ば実行効率を上げることは可能であるが、そのためには
専用の乗算器が必要になり、ハードウェアの大幅な増加
は避けられない。
Problems to be Solved by the Invention The conventional address arithmetic unit described above performs address arithmetic operations even on invalid data, so when invalid data is continuous, an additional arithmetic operation is required for the number of invalid data. This has the disadvantage of lower execution efficiency. It is possible to improve execution efficiency if the value obtained by multiplying the distance between elements by the number of consecutive invalid data can be added at once, but this requires a dedicated multiplier, and a significant increase in hardware is unavoidable. .

本発明は従来の技術に内在する上記欠点を解消する為に
なされたものであり、従って本発明の目的は、ベクトル
の2番目以降の要素のアドレス演算においては、3入力
加算器を2入力加算器としてしか使っていないことに注
目して、残りの入力に要素間距離を1ビット左シフトし
たものを入力することで、要素間距離を1〜3倍した値
を一度に加算できるようにして、無効データが連続する
場合の無効データに対するアドレス演算動作を減らし、
実行効率を向上させることを可能とした新規なアドレス
演算器を提供することにある。
The present invention has been made in order to eliminate the above-mentioned drawbacks inherent in the conventional technology. Therefore, an object of the present invention is to replace the 3-input adder with 2-input addition in the address operation of the second and subsequent elements of a vector. Note that it is only used as a container, and by inputting the inter-element distance shifted to the left by 1 bit as the remaining input, it is possible to add values that are 1 to 3 times the inter-element distance at once. , reduce address calculation operations for invalid data when invalid data is continuous,
An object of the present invention is to provide a new address calculator that can improve execution efficiency.

問題点を解決するための手段 上記目的を達成する為に、本発明に係るアドレス演算器
は、アドレス演算の結果を格納するアドレスレジスタと
、前記アドレスレジスタの出力を選択可能な第一の選択
回路と、要素間の距離を示すデータを1ビット左シフト
した値と固定値0とを選択可能な第二の選択回路と、要
素間の距離を示すデータを選択可能な第三の選択回路と
、マイクロ命令デコード信号とベクトルマスクの値から
前記第一、第二及び第三の選択回路に供給する選択信号
を生成する演算リソース決定回路と、前記第一、第二及
び第三の選択回路の出力を入力とする3入力加算器とを
具備して構成される。
Means for Solving the Problems In order to achieve the above object, an address arithmetic unit according to the present invention includes an address register that stores the result of address arithmetic, and a first selection circuit that can select the output of the address register. a second selection circuit capable of selecting a value obtained by shifting data indicating the distance between elements to the left by 1 bit and a fixed value of 0; and a third selection circuit capable of selecting data indicating the distance between the elements. an arithmetic resource determination circuit that generates a selection signal to be supplied to the first, second, and third selection circuits from the microinstruction decode signal and the value of the vector mask; and outputs of the first, second, and third selection circuits. and a three-input adder that receives as input.

実施例 次に、本発明をその好ましい一実施例について図面を参
照して具体的に説明する。
Embodiment Next, a preferred embodiment of the present invention will be specifically explained with reference to the drawings.

第1図は本発明の一実施例を示すブロック構成図である
FIG. 1 is a block diagram showing one embodiment of the present invention.

第1図を参照するに1本発明の一実施例は、3入力加算
器1と、選択回路2.3.4と、1ビット左シフト回路
5と、アドレスレジスタ6と、演算リソース決定回路7
とを含み構成される。
Referring to FIG. 1, one embodiment of the present invention includes a three-input adder 1, a selection circuit 2.3.4, a 1-bit left shift circuit 5, an address register 6, and an arithmetic resource determination circuit 7.
It consists of:

マイクロ命令デコード信号116が、通常のデータアク
セスマイクロ命令を示す場合には、演算リソース決定回
路7は、選択回路2.3.4に対し、それぞれベースア
ドレス101、インデスク値102、変位104を選択
するような選択信号109,110.111を送ると共
に、メモリアクセス制御装置(図示せず)にメモリアク
セス要求114を送る。3入力加算器1は、選択回路2
,3.4の出力106.107゜108を入力して加算
出力112をアドレスレジスタ6及び前記メモリアクセ
ス制御装置に送る。
When the microinstruction decode signal 116 indicates a normal data access microinstruction, the arithmetic resource determination circuit 7 selects the base address 101, index value 102, and displacement 104 for the selection circuit 2.3.4, respectively. In addition to sending selection signals 109, 110, and 111 such that The 3-input adder 1 has a selection circuit 2
, 3.4 and sends the addition output 112 to the address register 6 and the memory access control device.

マイクロ命令デコード信号116が、ベクトルの先頭要
素をアクセスするマイクロ命令を示す場合には、演算リ
ソース決定回路7は1選択回路2.3.4に対し、それ
ぞれベースアドレス101、インデスク値102、変位
104を選択するような選択信号109.110、lI
Iを送ると共に、メモリアクセス制御装置に対しては、
ベクトルマスク値117をみて先頭要素に有効データが
格納されている場合にメモリアクセス要求114を送り
、無効データが格納されている場合にはメモリアクセス
要求を送らない。3入力加算器1は、選択回路2.3.
4の出力106,107.108を入力して、加算出力
112をアドレスレジスタ6及びメモリアクセス制御装
置に送る。
When the microinstruction decode signal 116 indicates a microinstruction that accesses the head element of the vector, the arithmetic resource determination circuit 7 sends the base address 101, index value 102, and displacement to the 1 selection circuit 2.3.4, respectively. Selection signal 109.110, lI to select 104
In addition to sending I, to the memory access control device,
Looking at the vector mask value 117, if valid data is stored in the first element, a memory access request 114 is sent, and if invalid data is stored, no memory access request is sent. The three-input adder 1 includes selection circuits 2.3.
The outputs 106, 107, and 108 of 4 are input, and the addition output 112 is sent to the address register 6 and the memory access control device.

マイクロ命令デコード信号116が、ベクトルの2番目
以降の要素をアクセスするマイクロ命令を示す場合には
、演算リソース決定回路7は、ベクトルマスク値117
をみて、その要素が有効データである場合には、選択回
路2.3.4に対し、それぞれアドレスレジスタ出力1
13、固定値0103、要素間距離105を選択するよ
うな選択信号109゜110.111を送ると共に、メ
モリアクセス制御装置にはメモリアクセス要求114を
送る。その要素が無効データであるがその次の要素が有
効な場合には、選択回路2.3.4に対し、それぞれア
ドレスレジスタ出力113、要素間距離105を入力と
する1ビット左シフト回路5の出力115、固定値01
03を選択するような選択信号109,110.111
を送ると共に、メモリアクセス制御装置にはメモリアク
セス要求114を送る。その要素及び次の要素が無効デ
ータであるがその次の次の要素が有効な場合には、演算
リソース決定回路7は、選択回路2.3.4に対し、そ
れぞれアドレスレジスタ出力113.1ビット左シフト
回路5の出力115、要素間距離105を選択するよう
な選択信号109.110.111を送ると共に、メモ
リアクセス制御装置にはメモリアクセス要求114を送
る。その要素から無効データが3個以上連続する場合に
は、選択回路2.3.4に対し、それぞれアドレスレジ
スタ出力113.1ビット左シフト回路5の出力115
、要素間距離105を選択するような選択信号109.
110.111を送ると共に、メモリアクセス制御装置
にはメモリアクセス要求114を送らない。3入力加算
器1は、選択回路2.3.4の出力106.107.1
08を入力して、加算出力112をアドレスレジスタ6
及びメモリアクセス制御装置に送る。
When the microinstruction decode signal 116 indicates a microinstruction that accesses the second or subsequent elements of the vector, the arithmetic resource determination circuit 7 determines the vector mask value 117.
If the element is valid data, the address register output 1 is sent to the selection circuit 2.3.4 respectively.
13. Selection signals 109, 110, and 111 are sent to select the fixed value 0103 and the inter-element distance 105, and a memory access request 114 is sent to the memory access control device. If that element is invalid data but the next element is valid, a 1-bit left shift circuit 5 inputs the address register output 113 and the inter-element distance 105, respectively, to the selection circuit 2.3.4. Output 115, fixed value 01
Selection signal 109, 110.111 that selects 03
At the same time, a memory access request 114 is sent to the memory access control device. If that element and the next element are invalid data, but the next element is valid, the arithmetic resource determination circuit 7 outputs 113.1 bits of address register to the selection circuit 2.3.4, respectively. Selection signals 109, 110, and 111 for selecting the output 115 of the left shift circuit 5 and the inter-element distance 105 are sent, and a memory access request 114 is sent to the memory access control device. If three or more pieces of invalid data are consecutive from the element, the address register output 113.1 bit left shift circuit 5 output 115 is sent to the selection circuit 2.3.4, respectively.
, a selection signal 109 . to select the inter-element distance 105 .
110 and 111, and does not send a memory access request 114 to the memory access control device. 3-input adder 1 outputs 106.107.1 of selection circuit 2.3.4
08, and add output 112 to address register 6.
and the memory access controller.

なお、選択回路4にも、1ビット左シフト回路5の出力
115を入力可能にすれば、要素間距離を1〜4倍した
値まで加算可能に、さらに、2ビット左シフト回路を追
加してその出力を選択回路3.4、に入力可能にすれば
、1〜6倍した値まで加算可能な構成にすることができ
る。
Note that if the output 115 of the 1-bit left shift circuit 5 can be input to the selection circuit 4, it is possible to add up to a value that is 1 to 4 times the inter-element distance, and a 2-bit left shift circuit can also be added. If the output can be input to the selection circuit 3.4, it is possible to create a configuration in which up to a value multiplied by 1 to 6 can be added.

発明の詳細 な説明したように、本発明によれば、要素間距離を1〜
3倍した値を一度に加算できるようにして、無効データ
が連続する場合の、無効データに対するアドレス演算動
作を減らすことにより、実行効率を向上させるという効
果が得られる。
As described in detail, according to the present invention, the distance between elements is 1 to 1.
By making it possible to add the tripled value at once and reducing the number of address calculation operations for invalid data when the invalid data is continuous, it is possible to obtain the effect of improving execution efficiency.

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

第1図は本発明の一実施例を示すブロック構成図である
。 1、、.3入力加算器、200.第一の選択回路、38
1.第二の選択回路、410.第三の選択回路、5.、
.1ビット左シフト回路、6.、。 アドレスレジスタ、700.演算リソース決定回路、1
01. 、 、ベースアドレス、102. 、 、イン
デスク値、103. 、 、固定値01104. 、 
、変位、105、 、 、要素間距離、106. 、 
、第一の選択回路の出力、107. 、 、第二の選択
回路の出力、108. 。 、第三の選択回路の出力、109. 、 、第一の選択
回路への選択信号、110. 、 、第二の選択回路へ
の選択信号、111. 、 、第三の選択回路への選択
信号、112. 、 、加算出力、114.’、 、ア
ドレスレジスタ出力、115. 、 、1ビット左シフ
ト回路の出力、 116. 、 、マイクロ命令デコー
ド信号、117゜8.ベクトルマスク値
FIG. 1 is a block diagram showing one embodiment of the present invention. 1,,. 3-input adder, 200. first selection circuit, 38
1. second selection circuit, 410. third selection circuit, 5. ,
.. 1-bit left shift circuit, 6. ,. address register, 700. Computing resource determination circuit, 1
01. , , base address, 102. , , Indesk value, 103. , , fixed value 01104. ,
, Displacement, 105, , Inter-element distance, 106. ,
, the output of the first selection circuit, 107. , , the output of the second selection circuit, 108. . , the output of the third selection circuit, 109. , , selection signal to the first selection circuit, 110. , , selection signal to the second selection circuit, 111. , , selection signal to third selection circuit, 112. , , addition output, 114. ', , address register output, 115. , , 1-bit left shift circuit output, 116. , , Microinstruction decode signal, 117°8. vector mask value

Claims (1)

【特許請求の範囲】[Claims] アドレス演算の結果を格納するアドレスレジスタと、前
記アドレスレジスタの出力を選択可能な第一の選択回路
と、要素間距離を示すデータを1ビット左シフトした値
と固定値0とを選択可能な第二の選択回路と、要素間距
離を示すデータを選択可能な第三の選択回路と、マイク
ロ命令デコード信号とベクトルマスクの値から前記第一
、第二及び第三の選択回路に供給する選択信号を生成す
る演算リソース決定回路と、前記第一、第二及び第三の
選択回路の出力を入力とする3入力加算器とを有するこ
とを特徴としたアドレス演算器。
an address register that stores the result of the address operation; a first selection circuit that can select the output of the address register; and a first selection circuit that can select between a value obtained by shifting data indicating the inter-element distance to the left by 1 bit and a fixed value of 0. a second selection circuit, a third selection circuit capable of selecting data indicating the distance between elements, and a selection signal supplied to the first, second and third selection circuits from the microinstruction decode signal and the value of the vector mask. 1. An address arithmetic unit comprising: an arithmetic resource determination circuit that generates an arithmetic resource determination circuit; and a three-input adder that receives the outputs of the first, second, and third selection circuits as inputs.
JP61288025A 1986-12-02 1986-12-02 Address computing element Pending JPS63140370A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61288025A JPS63140370A (en) 1986-12-02 1986-12-02 Address computing element

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61288025A JPS63140370A (en) 1986-12-02 1986-12-02 Address computing element

Publications (1)

Publication Number Publication Date
JPS63140370A true JPS63140370A (en) 1988-06-11

Family

ID=17724840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61288025A Pending JPS63140370A (en) 1986-12-02 1986-12-02 Address computing element

Country Status (1)

Country Link
JP (1) JPS63140370A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02208774A (en) * 1989-02-09 1990-08-20 Nec Corp Address generating device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02208774A (en) * 1989-02-09 1990-08-20 Nec Corp Address generating device

Similar Documents

Publication Publication Date Title
US5500812A (en) Multiplication circuit having rounding function
US6233597B1 (en) Computing apparatus for double-precision multiplication
US3993891A (en) High speed parallel digital adder employing conditional and look-ahead approaches
US4021655A (en) Oversized data detection hardware for data processors which store data at variable length destinations
JPH08106375A (en) Signal processing computing element
EP0075745B1 (en) Method and apparatus for division
JPH02294820A (en) Floating point arithmetic processor and arithmetic processing
US5204832A (en) Addition apparatus having round-off function
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
US6085308A (en) Protocol processor for the execution of a collection of instructions in a reduced number of operations
JPH0580985A (en) Arithmetic unit for multiplying long integer while using m as modulus and r.s.a converter such multiplying device
JPS6125245A (en) Rounding process circuit
US4319335A (en) Arithmetic logic unit controller
US5136699A (en) Logical address generating device for an instruction specifying two words, each divided into two parts
JPS63140370A (en) Address computing element
US7308560B2 (en) Processing unit
US6148319A (en) Multiplier
JPH07118654B2 (en) Arithmetic unit
US3516070A (en) Storage addressing
JPS60138640A (en) Writing system of register file
JPH0553920A (en) Structural address generator
JPS6186839A (en) Arithmetic processor
JP2845780B2 (en) Data transfer control circuit
JP2654062B2 (en) Information processing device
JPS59220842A (en) Data processor