JPS5834037B2 - address calculation device - Google Patents

address calculation device

Info

Publication number
JPS5834037B2
JPS5834037B2 JP51052687A JP5268776A JPS5834037B2 JP S5834037 B2 JPS5834037 B2 JP S5834037B2 JP 51052687 A JP51052687 A JP 51052687A JP 5268776 A JP5268776 A JP 5268776A JP S5834037 B2 JPS5834037 B2 JP S5834037B2
Authority
JP
Japan
Prior art keywords
data
address
modulo
increment
register
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
JP51052687A
Other languages
Japanese (ja)
Other versions
JPS52135629A (en
Inventor
茂樹 柴山
務 上村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP51052687A priority Critical patent/JPS5834037B2/en
Priority to US05/794,477 priority patent/US4150434A/en
Priority to GB19330/77A priority patent/GB1582274A/en
Publication of JPS52135629A publication Critical patent/JPS52135629A/en
Publication of JPS5834037B2 publication Critical patent/JPS5834037B2/en
Expired 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

Description

【発明の詳細な説明】 この発明は電子計算機システムにおける言醜装置へアク
セスする際のアドレス計算を行う機構に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a mechanism for calculating an address when accessing a language device in an electronic computer system.

一般に記憶装置から一連のデータをアクセスする場合に
とられる方法は、記憶装置の制御部に、最初のデータが
入っているアドレス、次のデータのアドレスを計算する
ため前のアドレスに加えられるインクリメント、最後の
データのアドレスまたはアクセスするデータの数等を与
え、これを参照してデータを取り出し、池の処理装置に
送るものであった。
Generally, the method used when accessing a series of data from a storage device is to have the control unit of the storage device write an address that contains the first data, an increment that is added to the previous address to calculate the address of the next data, and an increment that is added to the previous address to calculate the address of the next data. The address of the last data or the number of data to be accessed was given, and the data was extracted based on this and sent to the processing device in the pond.

この方法を用いる限り、記憶装置内の、アクセスされる
データのアドレスは、インクリメントが正の場合は一方
的に増加し、負の場合ノヨウニ行ヘクトルの連続として
アクセスしたり、他機器へ転送したりすることが頻繁に
要求される。
As long as this method is used, the address of the data to be accessed in the storage device will increase unilaterally if the increment is positive, and if it is negative, it will be accessed as a continuous row of hectares or transferred to another device. are frequently required to do so.

このような場合、今までの電子計算機システムでのアド
レシングでは、ソフトウェア上での操作によらなければ
ならず、各要素毎にアドレス計算が行なわれていた。
In such cases, addressing in conventional computer systems requires operations on software, and addresses are calculated for each element.

したがって効率的ではなかった。この発明はこのような
事情を考慮してなされたものでデータを記憶装置にアク
セスする際のアドレス計算において、数学でいうモジュ
ロの演算、つまり剰余をとる演算を利用することにより
簡単な命令語によってデータの複雑な転送を可とし、効
率よく短時間で計算できるアドレス計算装置を提供する
ことを目的とする。
Therefore, it was not efficient. This invention was made in consideration of these circumstances, and uses a modulo operation in mathematics, that is, an operation that takes a remainder, to calculate an address when accessing data to a storage device using a simple instruction word. It is an object of the present invention to provide an address calculation device that enables complicated data transfer and can perform calculations efficiently and in a short time.

以下、本発明の詳細を図面に示す実施例によって明らか
にする。
Hereinafter, details of the present invention will be clarified by examples shown in the drawings.

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

インクリメントレジスタ1には、現在のアドレス、つま
りカレントアドレスに次のアドレスを計算するための増
分が入れられている。
Increment register 1 stores an increment for calculating the next address to the current address.

アドレスレジスタ2には、アクセスする最初のデータの
アドレスが入れられている。
Address register 2 contains the address of the first data to be accessed.

モジュロレジスタ3には、アドレスを計算する際のモジ
ュロが入れられている。
Modulo register 3 stores a modulo when calculating an address.

しかしてアドレス計算を行う場合には先ずアドレスレジ
スタ2に収納されている最初のアドレスをマルチプレク
サ12で選択し、カレントアドレスレジスタ6に転送す
る。
When calculating an address, first the first address stored in the address register 2 is selected by the multiplexer 12 and transferred to the current address register 6.

これと同時にモジュロレジスタ3とアドレスレジスタ2
の内容を加算器5で加算し、比較器8に入力しておく。
At the same time, modulo register 3 and address register 2
The contents of are added by an adder 5 and inputted to a comparator 8.

最初のデータはカレントアドレスレジスタ6のアドレス
にアクセスされる。
The first data is accessed at the address of the current address register 6.

次のデータのアドレスは、カレントアドレスレジスタ6
の内容と、マルチプレクサ11で選択されたインクリメ
ントレジスタ1の内容を加減算器7で加減算し、これを
マルチプレクサ12で選択し、再びカレントアドレスレ
ジスタ6に入れる。
The address of the next data is the current address register 6.
The adder/subtracter 7 adds and subtracts the contents of the increment register 1 and the contents of the increment register 1 selected by the multiplexer 11, which is then selected by the multiplexer 12 and placed in the current address register 6 again.

ここで比較器8によってカレントアドレスレジスタ6の
内容と、加算器5の結果が比較される。
Here, the contents of the current address register 6 and the result of the adder 5 are compared by the comparator 8.

演算モードレジスタ4で示されたモードがモード選択器
9で解読され、モードがA2BであればA2Bが検出さ
れたとき、又、モードがA>BであればA>Bが検出さ
れたときに、それぞれモジュロの計算を行う。
The mode indicated by the operation mode register 4 is decoded by the mode selector 9, and if the mode is A2B, A2B is detected, or if the mode is A>B, when A>B is detected. , each performs a modulo calculation.

モジュロの計算は、カレントアドレスレジスタ6の内容
から、マルチプレクサ11で選択されたモジュロレジス
タの内容を加減算器7で減算し、その結果をマルチプレ
クサ12で選択してカレントアドレスレジスタ6に再び
入れることで行なわれる。
The modulo calculation is performed by subtracting the contents of the modulo register selected by the multiplexer 11 from the contents of the current address register 6 by using the adder/subtractor 7, selecting the result by the multiplexer 12, and inputting the result into the current address register 6 again. It will be done.

以上の操作はコントロールユニット10から与えられる
コントロール信号またはタイミング信号によって制御さ
れる。
The above operations are controlled by control signals or timing signals given from the control unit 10.

実際の計算例を次に示す。An example of actual calculation is shown below.

ここでは、列ベクトルの連続としてストアされている行
列を、行ベクトルの連続として並べかえる操作を行う場
合である。
In this case, a matrix stored as a series of column vectors is rearranged as a series of row vectors.

今、記憶装置のアドレス10から3×3の行列A−(a
ij)が下のようにストアされているとする。
Now, starting from address 10 in the storage device, a 3×3 matrix A-(a
Suppose that ij) is stored as shown below.

これを、演算モードは、剰余としてモジュロと同じ数を
許すと指定する。
The calculation mode specifies that the same number as the modulo is allowed as the remainder.

つまり、実際の動作上では比較器8でA>Bという場合
のみ、モジュロの減算を行うこととし、インクリメント
=3、モジュロ=8と指定する。
That is, in actual operation, modulo subtraction is performed only when A>B in comparator 8, and increment=3 and modulo=8 are specified.

最初のアドレスは、allの入っている10を指定する
The first address specifies 10, which contains "all".

アドレス計算は下に示すように進行する。Address calculation proceeds as shown below.

ここで示したように、列ベクトルの連続でストドアされ
ていたデータが、行ベクトルの連続として取り出すこと
が可能になる。
As shown here, data that was stored as a series of column vectors can now be retrieved as a series of row vectors.

次にもう一つの使用例として、同期関数を、同期分だけ
のデータから作り出す場合を示す。
Next, as another usage example, we will show a case where a synchronization function is created from only the data for synchronization.

第2図のy =S1nxのグラフの0°から3゛60°
ま−での区間を、300幅で区切ったサンプル値を00
から順に■、■、■・・・、■とし、この順で記憶装置
にストアされているとする。
From 0° to 3゛60° on the graph of y = S1nx in Figure 2
The sample value divided by 300 width is 00
It is assumed that they are stored in the storage device in this order from ■, ■, ■..., ■.

最初のデータがアドレスOにあるとすれば、演算モード
は、剰余としてモジュロと同じ数をも許すとし、インク
リメント=1、モジュロ=12、最初のアドレス=Oと
すれば、 上に示したように、必要なだけ、周期関数が取り出せる
If the first data is at address O, then the arithmetic mode also allows the same number modulo as the remainder, and if increment = 1, modulo = 12, and first address = O, then as shown above , you can extract as many periodic functions as you need.

以上説明した例などのように、一般にはプログラム上で
処理される変換が、ハードウェア上で効率よく、高速に
処理されるので、行列演算などの、時間を多く必要とす
る演算などには、この機構の構造が特に有効である。
As in the example explained above, conversions that are generally processed on a program are processed efficiently and quickly on hardware, so for operations that require a lot of time, such as matrix operations, The structure of this mechanism is particularly effective.

また周期関数の例にみるように、関数値を一度計算して
おいてこれを繰り返し用いることによって、記憶容量の
節約、及び計算時間の短縮に有用である。
Furthermore, as seen in the example of periodic functions, calculating a function value once and using it repeatedly is useful for saving storage capacity and shortening calculation time.

次に本発明の池の実施例について説明する。Next, an embodiment of the pond of the present invention will be described.

第3図はこの発明の池の実施例を示すブロック図で加減
算器を1個のみ用いる例である。
FIG. 3 is a block diagram showing an embodiment of the pond according to the present invention, and is an example in which only one adder/subtractor is used.

すなわち最初のアドレスとモジュロの加算を、インクリ
メントを加えるための加減算器7を用いて行ない、その
結果をレジスタ13に入れこのレジスタ13の内容とカ
レントアドレスレジスタ6との内容を比較器8で比較す
るように構成したもので、第1図の加算器5がレジスタ
13に置き換えられたものである。
That is, the first address and the modulo are added using the adder/subtractor 7 for adding increments, and the result is put into the register 13, and the contents of this register 13 and the contents of the current address register 6 are compared by the comparator 8. The adder 5 in FIG. 1 is replaced with a register 13.

この実施例においても剰余の演算が行なえるので前記実
施例と同様の効果がある。
This embodiment also has the same effect as the previous embodiment since the remainder calculation can be performed.

第4図はこの発明の更に別の実施例を示す図で、剰余を
とるのに除算器16を定義どうり用いた例である。
FIG. 4 shows yet another embodiment of the invention, in which the divider 16 is used as defined to obtain the remainder.

この実施例においても前記実施例と同様の効果が得られ
る。
In this embodiment as well, the same effects as in the previous embodiment can be obtained.

以上の池にも上述した演算を行うことのできる回路は種
々考えられる。
Various circuits can be considered that can perform the above-mentioned calculations.

以上説明したように本発明は、現在のアドレスに次のア
ドレス計算を行なうための増分を保持するインクリメン
トレジスタと、アクセスする最初のデータのアドレス保
持するアドレスレジスタと、アドレスを計算する際のモ
ジュロの値を保持するモジュロレジスタと、これらのレ
ジスタの内容を制御部からの信号に応じて選択し且つデ
ータ転送をなすことによりモジュロの演算を行なう演算
回路トラ具備したことを特徴とするアドレス計算装置で
ある。
As explained above, the present invention includes an increment register that holds the increment for calculating the next address for the current address, an address register that holds the address of the first data to be accessed, and a modulo value for calculating the address. An address calculation device characterized by comprising modulo registers that hold values and an arithmetic circuit that performs modulo calculations by selecting the contents of these registers in response to signals from a control unit and performing data transfer. be.

したがって本発明によれば、一般にはプログラム上での
なされる処理がハードウェア上で高速度で処理されるこ
とから、アドレスの計算を短時間に効率よく行なえるア
ドレス計算装置を提供できる。
Therefore, according to the present invention, since processing performed on a program is generally processed at high speed on hardware, it is possible to provide an address calculation device that can efficiently calculate addresses in a short time.

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

第1図は本発明の一実施例の構成を示す図、第2図は同
実施例の機能を説明するための図、第3図および第4図
はそれぞれ本発明の池の実施例の構成を示す図である。
FIG. 1 is a diagram showing the configuration of an embodiment of the present invention, FIG. 2 is a diagram for explaining the functions of the same embodiment, and FIGS. 3 and 4 are respectively the configuration of an embodiment of the pond of the present invention. FIG.

Claims (1)

【特許請求の範囲】[Claims] 1 メモリに対して最初にアクセスするアドレスを示す
初期アドレスデータと、現アクセスアドレスと次回にア
クセスするべくアドレスとのアドレス差を示すインクリ
メントデータと、前記メモリのアドレスアクセス順序に
関与するモジュロデータとを用い、前記初期アドレスデ
ータを現アクセスアドレスデータとして出力したのち、
現アクセスアドレスデータに前記インクリメントデータ
を加えて次回アクセスアドレスデータを作成シ、コの次
回アクセスアドレスデータが前期初期アドレスデータに
前記インクリメントデータを加えて設定されるデータよ
り小さいときには上記次回アクセスアドレスデータを次
のアクセスタイミングで現アクセスアドレスデータとし
て出力し、前記次回アクセスアドレスデータが前記設定
データを越えるときには前記次回アクセスアドレスデー
タから前記モジュロデータを差引いて生成されるデータ
を次のアクセスタイミングで現アクセスアドレスデータ
として出力してなることを特徴とするアドレス計算装置
1. Initial address data indicating the address to be accessed for the first time to the memory, increment data indicating the address difference between the current access address and the address to be accessed next time, and modulo data related to the address access order of the memory. After outputting the initial address data as current access address data,
The next access address data is created by adding the increment data to the current access address data.If the next access address data is smaller than the data set by adding the increment data to the previous initial address data, the next access address data is added. The data generated by subtracting the modulo data from the next access address data is output as the current access address data at the next access timing, and when the next access address data exceeds the setting data, the data generated by subtracting the modulo data from the next access address data is output as the current access address data at the next access timing. An address calculation device characterized by outputting data as data.
JP51052687A 1976-05-08 1976-05-08 address calculation device Expired JPS5834037B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP51052687A JPS5834037B2 (en) 1976-05-08 1976-05-08 address calculation device
US05/794,477 US4150434A (en) 1976-05-08 1977-05-06 Matrix arithmetic apparatus
GB19330/77A GB1582274A (en) 1976-05-08 1977-05-09 Matrix arithmetic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP51052687A JPS5834037B2 (en) 1976-05-08 1976-05-08 address calculation device

Publications (2)

Publication Number Publication Date
JPS52135629A JPS52135629A (en) 1977-11-12
JPS5834037B2 true JPS5834037B2 (en) 1983-07-23

Family

ID=12921788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51052687A Expired JPS5834037B2 (en) 1976-05-08 1976-05-08 address calculation device

Country Status (1)

Country Link
JP (1) JPS5834037B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS594218A (en) * 1982-06-29 1984-01-11 Fujitsu Ltd Memory access circuit
JPS5922165A (en) * 1982-07-28 1984-02-04 Nippon Telegr & Teleph Corp <Ntt> Address controlling circuit
JPS5965377A (en) * 1982-10-05 1984-04-13 Nippon Telegr & Teleph Corp <Ntt> Method and device for address control
GB2138182B (en) * 1983-04-14 1986-09-24 Standard Telephones Cables Ltd Digital processor
JPS61666U (en) * 1985-05-29 1986-01-06 富士通株式会社 Vector index generation processing device
US4912636A (en) * 1987-03-13 1990-03-27 Magar Surendar S Data processing device with multiple on chip memory buses
JP5263497B2 (en) * 2008-07-09 2013-08-14 セイコーエプソン株式会社 Signal processor and semiconductor device
JP5263498B2 (en) * 2008-07-09 2013-08-14 セイコーエプソン株式会社 Signal processor and semiconductor device

Also Published As

Publication number Publication date
JPS52135629A (en) 1977-11-12

Similar Documents

Publication Publication Date Title
KR880011681A (en) Memory-Connected Wavefront Array Processors
JPS6235949A (en) Memory device
JPS5834037B2 (en) address calculation device
US4225933A (en) Exponential function computing apparatus
US3939452A (en) Desk-top electronic computer with MOS circuit logic
US4093983A (en) Fast and normal rate instruction fetching
JPH0820951B2 (en) How to speed up your processor
US3251042A (en) Digital computer
US4723258A (en) Counter circuit
JPS6285343A (en) Memory reading-out circuit
JPS58151644A (en) Digital operating device
JP2985965B2 (en) Factorization device
JPS6058503B2 (en) Data processing control method
JPS5925264B2 (en) Vector instruction processing method
JP2895892B2 (en) Data processing device
JPH0434191B2 (en)
JPS5840421Y2 (en) Digital differential analyzer
JPS642290B2 (en)
JP2624738B2 (en) Rounding method
JPH031700B2 (en)
JPS5875250A (en) Digital information processor
JPS6337412B2 (en)
JPH0721760B2 (en) Digital arithmetic circuit
JPH05290080A (en) Parallel processor
JPS63113747A (en) Virtual memory managing device