JPH0354380B2 - - Google Patents

Info

Publication number
JPH0354380B2
JPH0354380B2 JP13437685A JP13437685A JPH0354380B2 JP H0354380 B2 JPH0354380 B2 JP H0354380B2 JP 13437685 A JP13437685 A JP 13437685A JP 13437685 A JP13437685 A JP 13437685A JP H0354380 B2 JPH0354380 B2 JP H0354380B2
Authority
JP
Japan
Prior art keywords
data
memory
address information
access
accessed
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
JP13437685A
Other languages
Japanese (ja)
Other versions
JPS61294579A (en
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 filed Critical
Priority to JP13437685A priority Critical patent/JPS61294579A/en
Publication of JPS61294579A publication Critical patent/JPS61294579A/en
Publication of JPH0354380B2 publication Critical patent/JPH0354380B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置におけるメモリアクセス
制御装置に関し、特に1個以上の要素から成るデ
ータの連続したアクセスの制御を行なうメモリア
クセス制御装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a memory access control device in an information processing device, and more particularly to a memory access control device that controls continuous access to data consisting of one or more elements.

〔従来の技術〕[Conventional technology]

従来、ベクトルデータの如く複数要素から成る
データの連続したアクセスの制御を行なうメモリ
アクセス制御装置として、本発明者は昭和58年12
月13日付で出願した特願昭58−234486号明細書に
記載の発明の名称「メモリアクセス制御装置」を
提案している。この提案したメモリアクセス制御
装置は、先頭要素のメモリ単位のアドレス情報、
たとえばバンクアドレスと、要素数とから先行し
てアクセスされるデータの最終要素のメモリ単位
のアドレス情報を求め保持し、引続いてアクセス
される後続データの先頭要素のメモリ単位のアド
レス情報と保持されている先行データの最終要素
のメモリ単位のアドレス情報との差から、後続デ
ータのアクセスを開始してから先行データの最終
要素のメモリ単位がアクセスされるまでのクロツ
クサイクル数を求め、メモリ単位のサイクル時間
とこの求まつたクロツクサイクル数を比較するこ
とにより、後続データのアクセスと先行データの
アクセスで同一のメモリ単位に対してメモリ単位
のサイクル時間内にアクセスされないために、先
行データのアクセス終了後、後続データのアクセ
スを開始するまでの待合せ時間を計算することに
より、複数要素から成るデータを高速に連続して
アクセスできるよう制御している。
Conventionally, the present inventor developed a memory access control device in December 1982 that controls continuous access to data consisting of multiple elements such as vector data.
The name of the invention is ``Memory Access Control Device'' as described in Japanese Patent Application No. 58-234486 filed on May 13th. This proposed memory access control device has memory unit address information of the first element,
For example, from the bank address and the number of elements, the address information of the memory unit of the last element of the data to be accessed in advance is obtained and held, and the address information of the memory unit of the first element of the subsequent data to be accessed is stored. The number of clock cycles from the start of accessing the subsequent data until the memory unit of the last element of the preceding data is accessed is calculated from the difference between the address information of the memory unit of the last element of the preceding data, and the memory unit is calculated. By comparing the cycle time of , and the number of clock cycles obtained, it is found that the same memory unit is not accessed within the cycle time of the memory unit in the subsequent data access and the previous data access, so By calculating the waiting time from the end of access to the start of access to subsequent data, control is performed so that data consisting of multiple elements can be accessed continuously at high speed.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

しかしながら上述したような従来のメモリアク
セス制御装置は、メモリに対して同時にアクセス
できる要素数が可変である情報処理装置において
は、後続データのアクセスを開始してから先行デ
ータの最終要素のメモリ単位がアクセスされるま
でのサイクル数は同時にアクセス可能な要素数に
よつて変わり、求められた待合せサイクル数が実
際に必要な待合せサイクル数より大きくなり性能
低下の要因となつたり、あるいは実際に必要な待
合せサイクル数より小さくなつたり、求められた
待合せサイクル数が無効となり、ハードウエアの
使用効率が落ちるというような欠点がある。たと
えば、演算器が複数個あつて、全ての演算器に対
して同時にデータをメモリから転送するというよ
うな場合に、ある演算器が故障して、故障した演
算器、または故障した演算器を含む複数の演算器
を切離して縮退して動作を実行するというような
情報処理装置においては、同時にアクセスできる
要素数を可変にする必要があり、この欠点は十分
起こり得るものである。
However, in an information processing device in which the number of elements that can be simultaneously accessed to the memory is variable, the conventional memory access control device as described above controls the memory unit of the last element of the preceding data after starting access to subsequent data. The number of cycles until access varies depending on the number of elements that can be accessed at the same time, and the number of waiting cycles required may be larger than the actually required number of waiting cycles, causing performance deterioration, or the number of waiting cycles that are actually required may be There are drawbacks such as the number of waiting cycles being smaller than the number of cycles, or the number of waiting cycles being determined becoming invalid, which reduces the efficiency of hardware usage. For example, when there are multiple arithmetic units and data is transferred from memory to all the arithmetic units at the same time, one arithmetic unit malfunctions, and the data containing the malfunctioning arithmetic unit or the malfunctioning arithmetic unit In an information processing device in which a plurality of arithmetic units are separated and degenerated to perform operations, it is necessary to make the number of elements that can be accessed simultaneously variable, and this drawback is quite possible.

〔問題点を解決するための手段〕[Means for solving problems]

本発明のメモリアクセス制御装置は、互いに独
立にアクセス可能な複数のメモリ単位から構成さ
れ、メモリ単位順に番地付けがなされたメモリに
対して、それぞれがメモリ上に連続に配置される
1個以上の要素から成るデータのアクセスを制御
するメモリアクセス制御装置であつて、 データの要素数を供給する要素数供給手段と、
先頭要素のメモリ単位のアドレス情報を供給する
アドレス情報供給手段と、 前記データの要素数と前記先頭要素のメモリ単
位のアドレス情報とから最終要素のメモリ単位の
アドレス情報を計算するアドレス情報計算手段
と、 該最終要素のメモリ単位のアドレス情報を保持
する保持手段と、 該保持手段に保持されている第1のデータの最
終要素のメモリ単位のアドレス情報と、前記第1
のデータに引続いてアクセスされる第2のデータ
の先頭要素のメモリ単位のアドレス情報との差を
計算する差計算手段と、 同時にアクセスできる要素数を規定するモード
信号によつて前記差計算手段で計算されたアドレ
ス情報の差を補正する補正手段と、 該補正手段により補正されたアドレス情報の差
と、メモリ単位のサイクル時間情報とから、第1
のデータのアクセス要求の送出終了後、第2のデ
ータのアクセス要求の送出を開始しても、第1の
データのアクセスによつて使用状態になつている
メモリ単位が第2のデータのアクセスによつてア
クセスされないための時間間隔を計算する計算手
段を含むことを特徴としている。
The memory access control device of the present invention is composed of a plurality of memory units that can be accessed independently of each other, and each of them has one or more memory units arranged consecutively on the memory, and the memory is arranged in the order of the memory units. A memory access control device for controlling access to data consisting of elements, the element number supply means supplying the number of data elements;
address information supply means for supplying address information in memory units of the first element; and address information calculation means for calculating address information in memory units for the last element from the number of elements of the data and address information in memory units for the first element; , holding means for holding memory unit address information of the final element; address information of the memory unit of the final element of the first data held in the holding means;
difference calculation means for calculating the difference between the first element of the second data accessed subsequently to the memory unit address information, and the difference calculation means using a mode signal that specifies the number of elements that can be accessed at the same time. a correction means for correcting the difference in address information calculated by the correction means; and a first correction means for correcting the difference in address information calculated by the correction means;
Even if you start sending a second data access request after sending a second data access request, the memory unit that is in use due to the first data access will not be able to access the second data. It is characterized in that it includes calculation means for calculating a time interval for not being accessed.

〔実施例〕〔Example〕

以下、本発明の実施例について図面を参照して
詳細に説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

第1図は本発明によるメモリアクセス制御装置
の一実施例の構成を示したブロツク図である。図
において、本実施例のメモリアクセス制御装置
は、加算回路1、レジスタ2、減算回路3、ゲー
ト回路4、シフト回路5、減算回路6及びゲート
回路7から構成されている。
FIG. 1 is a block diagram showing the configuration of an embodiment of a memory access control device according to the present invention. In the figure, the memory access control device of this embodiment includes an adder circuit 1, a register 2, a subtracter circuit 3, a gate circuit 4, a shift circuit 5, a subtracter circuit 6, and a gate circuit 7.

加算回路1は、結線101を介して供給される
データの先頭要素のバンクアドレスと結線102
を介して供給されるデータの要素数を加算し、こ
の加算結果から値“1”を減じてデータの最終要
素のバンクアドレスを計算し、結線103を介し
てレジスタ2に供給される。
The adder circuit 1 receives the bank address of the leading element of the data supplied via the connection 101 and the connection 102.
The bank address of the last element of the data is calculated by adding the number of data elements supplied via the addition result and subtracting the value "1" from the addition result, which is then supplied to the register 2 via the connection 103.

レジスタ2は、加算回路1の出力であるデータ
の最終要素のバンクアドレスを保持し、その保持
内容は結線104を介して減算回路3に供給され
る。
Register 2 holds the bank address of the final element of data that is the output of adder circuit 1, and the contents thereof are supplied to subtracter circuit 3 via connection 104.

減算回路3は、結線104を介して供給される
データの最終要素のバンクアドレスから結線10
1を介して供給されるデータの先頭要素のバンク
アドレスを減じてそれらの差を計算し、結線10
5を介してゲート回路4に供給される。ここで、
減算回路3に供給されるデータの最終要素のバン
クアドレスと先頭要素のバンクアドレスは、同一
のデータの最終要素および先頭要素のバンクアド
レスではなく、最終要素のバンクアドレスは先行
してアクセスされるデータの最終要素のバンクア
ドレスであり、先頭要素のバンクアドレスは最終
要素を含む先行のデータに引続いてアクセスされ
るデータの先頭要素のバンクアドレスであること
に注意されたい。
The subtraction circuit 3 extracts the data from the bank address of the final element of the data supplied via the connection 104.
1, and calculate their difference by subtracting the bank address of the first element of the data supplied through connection 10.
5 to the gate circuit 4. here,
The bank address of the last element and the bank address of the first element of the data supplied to the subtraction circuit 3 are not the bank addresses of the last element and the first element of the same data, but the bank address of the last element is the bank address of the data accessed in advance. Note that the bank address of the last element of is the bank address of the last element, and the bank address of the first element is the bank address of the first element of the data that is accessed subsequent to the preceding data including the last element.

ゲート回路4は、結線105を介して供給され
る先行データの最終要素のバンクアドレスと後続
データの先頭要素のバンクアドレスとの差を、結
線106を介して供給されるメモリバンク数情報
によつてマスクし、結線107を介してシフト回
路5に供給される。本実施例では、メモリバンク
数は、256バンク、128バンク、64バンクの3通り
のモードがあると仮定し、256バンクの場合には
結線105で与えられる全ビツトが有効、128バ
ンクの場合には結線105で与えられる最上位ビ
ツトを“0”に抑止、64バンクの場合には結線1
05で与えられる上位2ビツトが“0”に抑止さ
れるようゲート回路4では制御される。
The gate circuit 4 calculates the difference between the bank address of the last element of the preceding data supplied via the connection 105 and the bank address of the first element of the subsequent data, based on the memory bank number information supplied via the connection 106. The signal is masked and supplied to the shift circuit 5 via the connection 107. In this embodiment, it is assumed that there are three modes for the number of memory banks: 256 banks, 128 banks, and 64 banks. In the case of 256 banks, all bits given by connection 105 are valid, and in the case of 128 banks, all bits given by connection 105 are valid. suppresses the most significant bit given by connection 105 to “0”, and in case of 64 banks, connection 1
The gate circuit 4 is controlled so that the upper two bits given by 05 are suppressed to "0".

シフト回路5は、結線107を介して供給され
るマスクされたバンクアドレスの差を、結線10
8を介して供給される演算パイプライン本数情報
によつて右にシフトされて、結線109を介して
減算回路6に供給される。本実施例では、演算パ
イプライン本数は、4本、2本、1本の3通りの
モードがあり、4本の場合は4要素、2本の場合
は2要素同時にアクセス可能であると仮定し、4
本の場合は右に2ビツトシフト、2本の場合は右
に1ビツトシフト、1本の場合はシフトしないと
いう制御をシフト回路5で行なう。
The shift circuit 5 transfers the masked bank address difference supplied via the connection 107 to the connection 10.
The signal is shifted to the right according to information on the number of arithmetic pipelines supplied via line 109 and supplied to subtraction circuit 6 via connection 109 . In this example, there are three modes for the number of calculation pipelines: 4, 2, and 1, and it is assumed that 4 elements can be accessed simultaneously and 2 elements can be accessed simultaneously. , 4
The shift circuit 5 performs control such that if there is a book, it is shifted by two bits to the right, if there are two, it is shifted by one bit to the right, and if there is one, it is not shifted.

減算回路6は、結線110により供給されるメ
モリ・バンク・サイクル時間情報から結線109
を介して供給されるシフトされたバンクアドレス
の差を減じ、結線111を介してゲート回路7に
供給される。
Subtraction circuit 6 extracts the memory bank cycle time information from connection 109 from the memory bank cycle time information provided by connection 110.
The difference in the shifted bank address supplied via the circuit 111 is applied to the gate circuit 7 via the connection 111.

ゲート回路7は、結線111を介して供給され
る減算回路6の出力が負である場合、すなわち減
算回路6の符号ビツトが“1”の場合に減算回路
6の出力を全ビツト“0”にし、結線112を介
して出力され、結線112の値が待合せサイクル
数として得られる。
The gate circuit 7 sets the output of the subtraction circuit 6 to all bits "0" when the output of the subtraction circuit 6 supplied via the connection 111 is negative, that is, when the sign bit of the subtraction circuit 6 is "1". , is output via connection 112, and the value of connection 112 is obtained as the number of waiting cycles.

なお、本実施例では、メモリのバンク数は最大
256であるから、結線101,103,104,
105,107,109,および111はすべて
8ビツト幅である。また、データの要素数のとり
うる最大値は、演算パイプライン本数が4本の場
合は256、2本の場合は128、1本の場合は64と仮
定する。したがつて、データの要素数を供給する
結線102も8ビツト幅である。また、メモリの
バンクサイクル時間は16クロツクサイクルと仮定
する。したがつて、メモリ・バンクサイクル時間
情報を供給する結線110も8ビツト幅で表わす
こととする。
Note that in this embodiment, the number of memory banks is the maximum.
256, so the connections 101, 103, 104,
105, 107, 109, and 111 are all 8 bits wide. Further, it is assumed that the maximum possible value of the number of data elements is 256 when the number of calculation pipelines is four, 128 when there are two, and 64 when there is one. Therefore, the connection 102 that supplies the number of elements of data is also 8 bits wide. It is also assumed that the memory bank cycle time is 16 clock cycles. Therefore, connection 110, which provides memory bank cycle time information, is also represented as 8 bits wide.

次に第2図、第3図及び第4図のタイムチヤー
トをも参照して、本発明の一実施例の動作につい
て詳細に説明する。ここで、第2図は演算パイプ
ライン本数が4本、メモリバンク数が256の例、
第3図は演算パイプライン本数が2本、メモリ・
バンク数が256の例、第4図は演算パイプライン
本数が4本、メモリ・バンク数が128の例で、デ
ータの要素数は、第2図および第4図においては
先行データ、後続データとも256、第3図におい
ては先行データ、後続データとも128である。
Next, the operation of one embodiment of the present invention will be described in detail with reference to the time charts of FIGS. 2, 3, and 4. Here, Figure 2 shows an example where the number of calculation pipelines is 4 and the number of memory banks is 256.
Figure 3 shows that the number of calculation pipelines is two, and the memory
An example in which the number of banks is 256, and Figure 4 is an example in which the number of calculation pipelines is 4 and the number of memory banks is 128. 256, and in FIG. 3, both the preceding data and the succeeding data are 128.

第2図の例において、先行データの先頭要素の
バンクアドレスを“0”、後続データの先頭要素
のバンクアドレスを“193”とする。まず、先行
データに対するアクセス要求が発せられると、結
線101を介して供給される先頭要素のバンクア
ドレス“0”と結線102を介して供給される要
素数“256”が、加算回路2で加えられ、さらに
値“1”が減じられてレジスタ2に取込まれる。
すなわちレジスタ2には先行データの最終要素の
バンクアドレス“255”が保持され、この値は後
続データに対するアクセス要求が発せられるまで
保持される。
In the example of FIG. 2, the bank address of the leading element of the preceding data is "0", and the bank address of the leading element of the succeeding data is "193". First, when an access request for preceding data is issued, the bank address "0" of the first element supplied via the connection 101 and the number of elements "256" supplied via the connection 102 are added in the adder circuit 2. , the value "1" is further subtracted and taken into register 2.
That is, the bank address "255" of the final element of the preceding data is held in register 2, and this value is held until an access request for subsequent data is issued.

後続データのアクセス要求が発せられると、減
算回路3によつてレジスタ2に保持されている先
行データの最終要素のバンクアドレス“255”と
結線101を介して供給される後続データの先頭
要素のバンクアドレス“193”との差“62”すな
わち2進表示で“00111110”が計算される。
When a subsequent data access request is issued, the subtraction circuit 3 selects the bank address “255” of the last element of the preceding data held in the register 2 and the bank address “255” of the first element of the subsequent data supplied via the connection 101. The difference from address "193" is "62", that is, "00111110" is calculated in binary representation.

メモリバンク数が256の場合はゲート回路4で
は何の動作も行なわれず、演算パイプライン本数
が4本の場合はシフト回路5では右に2ビツトシ
フトされるから、減算回路6には結線109を介
して2進表示で“00001111”すなわち値“15”が
供給される。この値は、後続データのメモリに対
するアクセス要求の送出が開始されてから15クロ
ツクサイクル後に先行データの最後のサイクルで
アクセス要求が送出されたバンクに対して、後続
データの要素のアクセス要求が送出されることを
意味する。
When the number of memory banks is 256, no operation is performed in the gate circuit 4, and when the number of arithmetic pipelines is 4, the shift circuit 5 shifts 2 bits to the right. "00001111" or the value "15" is supplied in binary representation. This value indicates that an access request for an element of subsequent data will be sent to the bank for which an access request was sent in the last cycle of the preceding data, 15 clock cycles after the start of sending a request to access memory for subsequent data. It means to be done.

減算回路6は、結線110を介して供給される
メモリバンク・サイクル時間“16”から値“15”
を減じ、その差“1”を得る。この値“1”は負
数ではないからゲート回路7では何もされず、結
線112を介して待合せサイクル数として出力さ
れる。すなわち、この例では1クロツクサイクル
以上待合せれば先行データのアクセスと後続デー
タのアクセスとでバンクの競合はしない。
The subtraction circuit 6 receives the value "15" from the memory bank cycle time "16" supplied via connection 110.
Subtract , and get the difference "1". Since this value "1" is not a negative number, nothing is done in the gate circuit 7, and it is outputted via the connection 112 as the number of waiting cycles. That is, in this example, if the wait time is longer than one clock cycle, there will be no bank conflict between the preceding data access and the subsequent data access.

第2図を参照すると、後続データの1回目にア
クセスされるバンクの内、バンク193〜195が使用
状態になつているのはタイミングT48ないしタイ
ミングT63の16サイクルで、バンク196が使用
状態になつているのはタイミングT49ないしタイ
ミングT64のサイクルであるから、後続データの
アククセスはタイミングT65のサイクルより後か
ら開始すれば先行データのアクセスによつて使用
状態になつているバンクにはアクセスされない。
先行データのアクセスが終了するのはタイミング
T63のサイクルであるから、ちようどタイミング
T64の1サイクル待合せて後続データのアクセス
を開始できる。
Referring to FIG. 2, among the banks that are accessed the first time for subsequent data, banks 193 to 195 are in the used state in 16 cycles from timing T48 to timing T63 , and bank 196 is in the used state. Since this is the cycle from timing T 49 to timing T 64 , if accessing subsequent data starts after the cycle timing T 65 , it will access the bank that is in use by accessing the preceding data. is not accessed.
Timing when access to preceding data ends
Since it is a cycle of T 63 , the timing is just right.
Access to subsequent data can be started after waiting for one cycle of T64 .

次に第3図の例において、先行データの先頭要
素のバンクアドレスを“128”、後続データの先頭
要素のバンクアドレスを“193”とする。第2図
の例と同様に、先行データに対するアクセス要求
が発せられると加算回路1において、結線101
を介して供給される先頭要素のバンクアドレス
“128”と、結線102を介して供給される要素数
“128”とから最終要素のバンクアドレス“255”
が計算され、レジスタ2に取込まれる。
Next, in the example of FIG. 3, the bank address of the leading element of the preceding data is "128", and the bank address of the leading element of the succeeding data is "193". Similar to the example shown in FIG. 2, when an access request for preceding data is issued, in addition circuit 1
The bank address of the final element is “255” from the bank address of the first element “128” supplied via the connection 102 and the number of elements “128” supplied via the connection 102.
is calculated and loaded into register 2.

引続いて後続データのアクセス要求が発せられ
ると、減算回路3により、レジスタ2に保持され
ている先行データの最終要素のバンクアドレス
“255”と結線101により供給される後続データ
の先頭要素のバンクアドレス“193”との差“62”
すなわち2進表示で“00111110”が計算される。
When a subsequent data access request is subsequently issued, the subtraction circuit 3 selects the bank address "255" of the last element of the preceding data held in the register 2 and the bank address of the first element of the subsequent data supplied through the connection 101. Difference “62” from address “193”
That is, "00111110" is calculated in binary representation.

メモリ・バンク数は256であるからゲート回路
4では何もされない。また、演算パイプライン本
数は2本であるから、シフト回路5では減算回路
3で得られた先行データの最終要素のバンクアド
レスと後続データの先頭要素のバンクアドレスと
の差“62”が右に1ビツトシフトされ、減算回路
6には結線109を介して、2進表示で
“00011111”すなわち値“31”が供給される。
Since the number of memory banks is 256, the gate circuit 4 does nothing. In addition, since the number of calculation pipelines is two, in the shift circuit 5, the difference "62" between the bank address of the last element of the preceding data obtained by the subtraction circuit 3 and the bank address of the first element of the subsequent data is shifted to the right. Shifted by one bit, the subtraction circuit 6 is supplied with "00011111" in binary representation, ie, the value "31", via a connection 109.

減算回路6は、結線110を介して供給される
前記メモリバンクサイクル時間“16”から値
“31”を減じ、“−15”を得てゲート回路7に供給
されるが、負数であるため、ゲート回路7で
“0”にされて、結線112を介して待合せサイ
クル数として出力される。すなわち、この例では
先行データのアクセス終了後、待合せることなく
後続データのアクセスを開始しても先行データの
アクセスと後続データのアクセスによるバンク競
合は起きない。
The subtraction circuit 6 subtracts the value "31" from the memory bank cycle time "16" supplied via the connection 110 to obtain "-15" which is supplied to the gate circuit 7, but since it is a negative number, It is set to "0" by the gate circuit 7 and outputted as the waiting cycle number via the connection 112. That is, in this example, even if access to subsequent data is started without waiting after access to preceding data is completed, bank conflict between access to preceding data and access to subsequent data will not occur.

第3図を参照すると、後続データの最初のサイ
クルでアクセスされるバンク193が先行データ
のアクセスにより使用状態になつているのはタイ
ミングT32ないしタイミングT47のサイクルで、
バンク194が先行データのアクセスにより使用
状態になつているのはタイミングT33ないしタイ
ミングT48のサイクルであるから、後続データの
アクセスはタイミングT49のサイクルより後から
開始すれば先行データのアクセスとの間でバンク
の競合は起こらない。先行データのアクセスが終
了するのはタイミングT63であるから、後続デー
タのアクセスは待合せることなくタイミングT64
のサイクルから開始することができる。
Referring to FIG. 3, the bank 193 that is accessed in the first cycle of subsequent data is in the used state due to the access of preceding data in the cycle from timing T 32 to timing T 47 .
Since the bank 194 is in the used state due to the access of the preceding data in the cycle from timing T 33 to timing T 48 , if the access of the subsequent data starts after the cycle of timing T 49 , it will be accessed as the access of the preceding data. There is no bank conflict between the two. Since the access to the preceding data ends at timing T 63 , the access to the subsequent data ends at timing T 64 without waiting.
It is possible to start from the cycle of

最後に、第4図の例において、先行データの先
頭要素のバンクアドレスを“0”、後続データの
先頭要素のバンクアドレスを“65”とする。先行
データのアクセス要求が発せられると、加算回路
1において、結線101を介して供給される先頭
要素のバンクアドレス“0”と、結線102を介
して供給される要素数“256”から値“255”が得
られてレジスタ2に取込まれる。ここで、先行デ
ータの最終要素のバンクアドレスは、メモリバン
ク数が128であるため、128を法とする値“127”
であるが、加算回路1およびレジスタ2は8ビツ
ト幅であるため、レジスタ2には値“255”が取
込まれる。
Finally, in the example of FIG. 4, the bank address of the leading element of the preceding data is set to "0", and the bank address of the leading element of the succeeding data is set to "65". When an access request for preceding data is issued, the adder circuit 1 calculates the value "255" from the bank address "0" of the leading element supplied via the connection 101 and the number of elements "256" supplied via the connection 102. ” is obtained and taken into register 2. Here, since the number of memory banks is 128, the bank address of the final element of the preceding data is the value “127” modulo 128.
However, since adder circuit 1 and register 2 have a width of 8 bits, the value "255" is taken into register 2.

引続いて、後続のアクセス要求が発せられる
と、減算回路3においてレジスタ2に保持されて
いる値“255”から結線101を介して供給され
る後続データの先頭要素のバンクアドレス“65”
が減じられ、その差“190”すなわち2進表示で
“10111110”がゲート回路4に供給される。
Subsequently, when a subsequent access request is issued, the subtraction circuit 3 changes the bank address of the first element of the subsequent data supplied via the connection 101 from the value "255" held in the register 2 to "65".
is subtracted, and the difference "190", that is, "10111110" in binary notation is supplied to the gate circuit 4.

メモリバンク数は128であるからゲート回路4
では結線105を介して供給される8ビツトのデ
ータの内最上位ビツトを“0”にする。この場
合、減算回路3の出力“190”を、ゲート回路4
は最上位ビツトが“0”にされた2進表示
“00111110”、すなわち“62”としてシフト回路5
に供給される。又、演算パイプライン本数は4本
であるから、シフト回路5では結線107を介し
て供給される値“62”が右に2ビツトシフトさ
れ、値“15”が減算回路6に供給される。
Since the number of memory banks is 128, gate circuit 4
Then, the most significant bit of the 8-bit data supplied via connection 105 is set to "0". In this case, the output “190” of the subtraction circuit 3 is transferred to the gate circuit 4.
is the binary representation “00111110” with the most significant bit set to “0”, that is, “62”, and the shift circuit 5
is supplied to Furthermore, since the number of arithmetic pipelines is four, the value "62" supplied via the connection 107 is shifted to the right by two bits in the shift circuit 5, and the value "15" is supplied to the subtraction circuit 6.

第2図の例と同様に、減算回路6は値“1”を
出力し、ゲート回路7からは結線112を介して
待合せサイクル数“1”が出力される。
As in the example of FIG. 2, the subtraction circuit 6 outputs the value "1", and the gate circuit 7 outputs the waiting cycle number "1" via the connection 112.

第4図を参照すると、後続データの最初のサイ
クルでアクセスされるメモリバンクは、先行デー
タのアクセスによつてバンク65〜67はタイミ
ングT16ないしタイミングT31のサイクルおよび
タイミングT48ないしタイミングT63のサイクル
がバンク68はタイミングT17ないしタイミング
T32のサイクルおよびタイミングT49ないしタイ
ミングT64のサイクルが、それぞれ使用状態にな
つているから、後続データのアクセスはタイミン
グT65のサイクルから開始すれば先行データのア
クセスによつて使用状態になつているバンクはア
クセスされない。先行データのアクセスはタイミ
ングT63のサイクルで終了するから、タイミング
T64の1サイクル待合せれば、先行データのアク
セスと後続データのアクセスとでバンクの競合は
生じない。
Referring to FIG. 4, memory banks accessed in the first cycle of subsequent data are accessed in banks 65 to 67 by access of preceding data in cycles from timing T 16 to timing T 31 and from timing T 48 to timing T 63. The cycle of bank 68 is timing T 17 or timing
Since the cycle of T 32 and the cycle of timing T 49 to timing T 64 are each in the used state, accessing the subsequent data starts from the cycle of timing T 65 and becomes the used state by accessing the preceding data. Banks that are currently in use will not be accessed. The access to the preceding data ends in the cycle of timing T 63 , so the timing
If one cycle of T64 is waited, there will be no bank contention between the preceding data access and the subsequent data access.

なお、本実施例では、演算パイプライン本数が
1本の場合については言及しなかつたが、これま
での説明からその動作については容易に理解でき
よう。
In this embodiment, although the case where the number of calculation pipelines is one is not mentioned, the operation can be easily understood from the above explanation.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、先行し
てアクセスされる第1のデータの最終要素のアド
レス情報と、第1のデータに引続いてアクセスさ
れる第2のデータの先頭要素のアドレス情報の差
を、同時にアクセスできる要素数を規定するモー
ド信号によつて補正する補正手段を設けることに
より、同時にアクセスできる要素数が可変であつ
ても、第1のデータのアクセス要求の送出終了後
に第2のデータのアクセス要求の送出を開始でき
るまでの時間間隔を極め細かく計算でき、ハード
ウエア使用効率および実効性能が向上するという
効果がある。
As explained above, according to the present invention, the address information of the last element of the first data that is accessed in advance and the address of the first element of the second data that is accessed subsequent to the first data By providing a correction means that corrects the difference in information using a mode signal that specifies the number of elements that can be accessed simultaneously, even if the number of elements that can be accessed simultaneously is variable, the information can be corrected after sending the first data access request. The time interval until the sending of the second data access request can be started can be calculated very precisely, which has the effect of improving hardware usage efficiency and effective performance.

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

第1図は本発明によるメモリアクセス制御装置
の一実施例の構成を示したブロツク図、第2図、
第3図及び第4図はそれぞれ本発明の動作例を示
すタイムチヤートである。 1……加算回路、2……レジスタ、3……減算
回路、4……ゲート回路、5……シフト回路、6
……減算回路、7……ゲート回路、101〜11
2……結線。
FIG. 1 is a block diagram showing the configuration of an embodiment of a memory access control device according to the present invention, and FIG.
FIGS. 3 and 4 are time charts showing an example of the operation of the present invention, respectively. 1... Addition circuit, 2... Register, 3... Subtraction circuit, 4... Gate circuit, 5... Shift circuit, 6
...Subtraction circuit, 7...Gate circuit, 101-11
2...Connection.

Claims (1)

【特許請求の範囲】 1 互いに独立にアクセス可能な複数のメモリ単
位から構成され、メモリ単位順に番地付けがなさ
れたメモリに対してそれぞれがメモリ上に連続に
配置される1個以上の要素からなるデータのアク
セスを制御するメモリアクセス制御装置であつ
て、 データの要素数を供給する要素数供給手段と、
先頭要素のメモリ単位のアドレス情報を供給する
アドレス情報供給手段と、 前記データの要素数と前記先頭要素のメモリ単
位のアドレス情報とから最終要素のメモリ単位の
アドレス情報を計算するアドレス情報計算手段
と、 該最終要素のメモリ単位のアドレス情報を保持
する保持手段と、 該保持手段に保持されている第1のデータの最
終要素のメモリ単位のアドレス情報と、前記第1
のデータに引続いてアクセスされる第2のデータ
の先頭要素のメモリ単位のアドレス情報との差を
計算する差計算手段と、 同時にアクセスできる要素数を規定するモード
信号によつて前記差計算手段で計算されたアドレ
ス情報の差を補正する補正手段と、 該補正手段により補正されたアドレス情報の差
と、メモリ単位のサイクル時間情報とから、第1
のデータのアクセス要求の送出終了後、第2のデ
ータのアクセス要求の送出を開始しても、第1の
データのアクセスによつて使用状態になつている
メモリ単位が第2のデータのアクセスによつてア
クセスされないための時間間隔を計算する計算手
段を含むことを特徴とするメモリアクセス制御装
置。
[Claims] 1. Consisting of a plurality of memory units that can be accessed independently of each other, each of which consists of one or more elements consecutively arranged in a memory that is addressed in the order of the memory units. A memory access control device for controlling data access, comprising: element number supply means for supplying the number of data elements;
address information supply means for supplying address information in memory units of the first element; and address information calculation means for calculating address information in memory units for the last element from the number of elements of the data and address information in memory units for the first element; , holding means for holding memory unit address information of the final element; address information of the memory unit of the final element of the first data held in the holding means;
difference calculation means for calculating the difference between the first element of the second data accessed subsequently to the memory unit address information, and the difference calculation means using a mode signal that specifies the number of elements that can be accessed at the same time. a correction means for correcting the difference in address information calculated by the correction means; and a first correction means for correcting the difference in address information calculated by the correction means;
Even if you start sending a second data access request after sending a second data access request, the memory unit that is in use due to the first data access will not be able to access the second data. 1. A memory access control device, comprising calculation means for calculating a time interval for not being accessed.
JP13437685A 1985-06-21 1985-06-21 Memory access controller Granted JPS61294579A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13437685A JPS61294579A (en) 1985-06-21 1985-06-21 Memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13437685A JPS61294579A (en) 1985-06-21 1985-06-21 Memory access controller

Publications (2)

Publication Number Publication Date
JPS61294579A JPS61294579A (en) 1986-12-25
JPH0354380B2 true JPH0354380B2 (en) 1991-08-20

Family

ID=15126942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13437685A Granted JPS61294579A (en) 1985-06-21 1985-06-21 Memory access controller

Country Status (1)

Country Link
JP (1) JPS61294579A (en)

Also Published As

Publication number Publication date
JPS61294579A (en) 1986-12-25

Similar Documents

Publication Publication Date Title
JPS6376044A (en) Bus master
JPH0354380B2 (en)
US5602766A (en) Method of and device for forming the sum of a chain of products
JPH0354379B2 (en)
JPH0355863B2 (en)
JPH0355862B2 (en)
JPS63198144A (en) Direct memory access control system in multi-port memory
JP2550964B2 (en) Memory access control method
JPS62171032A (en) Microsequencer for pipeline type arithmetic unit
JPS59136830A (en) Direct memory access controller
JPH04242465A (en) Dma address control system
JPH02190968A (en) Vector processor
JP2542120B2 (en) Information processing device
JPS61260340A (en) Block transfer control part
JPH0467661B2 (en)
JPS61198351A (en) Direct memory access control circuit
JPS62174873A (en) Memory access control system
JPH06332790A (en) Memory space controlling method and memory device
JPS6341967A (en) Direct memory access transfer circuit
JPH0646399B2 (en) Digital signal processing circuit
JPH0414371B2 (en)
JPS6358540A (en) Register/reference system for file buffer
JPS6238942A (en) Microprogram controller
JPH077264B2 (en) Bit map display raster operation control method
JPS60126748A (en) Memory access controller