JPH0355862B2 - - Google Patents
Info
- Publication number
- JPH0355862B2 JPH0355862B2 JP13525885A JP13525885A JPH0355862B2 JP H0355862 B2 JPH0355862 B2 JP H0355862B2 JP 13525885 A JP13525885 A JP 13525885A JP 13525885 A JP13525885 A JP 13525885A JP H0355862 B2 JPH0355862 B2 JP H0355862B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- address information
- connection
- difference
- 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
Links
- 238000010586 diagram Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector 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.
従来、ベクトルデータの如く複数要素から成る
データの連続したアクセス制御を行なうメモリア
クセス制御装置として、本発明者は昭和58年12月
23日付で出願した特願昭58−243323号明細書に記
載の発明の名称「メモリアクセス制御装置」を提
案している。この提案したメモリアクセス制御装
置は、先頭要素のメモリ単位のアドレス情報、た
とえばバンクアドレスと要素数とから先行してア
クセスされるデータの最終要素のメモリ単位のア
ドレス情報を求めて保持し、引続いてアクセスさ
れる後続データの先頭要素のメモリ単位のアドレ
ス情報と保持されている先行データの最終要素の
メモリ単位のアドレス情報との差と、使用状態に
なつているメモリ単位の幅を比較し、比較単位に
よつて後続データのアクセスを開始しても先行デ
ータのアクセスによつて使用状態になつているメ
モリ単位に対して後続データのアクセスがなされ
ないことを示す信号を送出し、後続データのアク
セス要素の送出開始を可能とするよう制御してい
る。
Conventionally, in December 1982, the present inventor developed a memory access control device that performs continuous access control of data consisting of multiple elements such as vector data.
The patent application No. 58-243323, filed on the 23rd, proposes the name of the invention ``Memory Access Control Device.'' The proposed memory access control device obtains and holds the address information of the memory unit of the last element of the data to be accessed in advance from the address information of the memory unit of the first element, for example, the bank address and the number of elements. Compare the difference between the memory unit address information of the first element of the subsequent data accessed by the memory unit and the memory unit address information of the last element of the preceding data held, and the width of the memory unit that is in use, Even if the comparison unit starts accessing the subsequent data, a signal is sent indicating that the subsequent data will not be accessed to the memory unit that is in use due to the access of the preceding data. It is controlled so that it is possible to start sending out access elements.
しかしながら、上述したような従来のメモリア
クセス制御装置は、たとえば演算器が複数個あつ
て全ての演算器に対して同時にデータをメモリか
ら転送する装置であつて、ある演算器が故障して
少なくとも故障した演算器を含む1つ以上の演算
器を切離して縮退して動作するというような、メ
モリに対して同時にアクセスできる要素数が可変
である情報処理装置においては、メモリに対して
同時にアクセスできる要素数によつて、メモリ単
位のアドレス情報の差と使用状態になつているメ
モリ単位の幅との関係が変わり、それらの比較を
正しく行なうことができない。その為後続データ
のアクセス開始可能を示す信号が誤つて有効、す
なわち論理レベル“1”になることがあるため、
アクセス開始可能信号を無効としなければなら
ず、ハードウエアの使用効率が落ちてしまう欠点
がある。或いは、逆に、実際には後続データのア
クセス開始が可能となつているにも拘わらず、ア
クセス開始可能信号が無効、すなわち論理レベル
“0”のままとなることがあるため、性能を低下
せしめるという欠点がある。
However, the conventional memory access control device as described above is a device that has a plurality of arithmetic units and transfers data from memory to all the arithmetic units at the same time. In an information processing device where the number of elements that can access memory at the same time is variable, such as one or more arithmetic units, including one or more arithmetic units, that operate in a degenerate manner, the number of elements that can access memory simultaneously is Depending on the number, the relationship between the difference in address information of memory units and the width of the memory unit in use changes, making it impossible to compare them correctly. Therefore, the signal indicating that it is possible to start accessing subsequent data may be erroneously enabled, that is, logic level "1".
This method has the disadvantage that the access start enable signal must be disabled, which reduces the efficiency of hardware use. Or, conversely, even though it is actually possible to start accessing subsequent data, the access start enable signal may remain invalid, that is, remain at logic level "0", resulting in degraded performance. There is a drawback.
本発明のメモリアクセス制御装置は、互いに独
立にアクセス可能な複数のメモリ単位から構成さ
れ、メモリ単位順に番地付がなされたメモリに対
して、各要素がメモリ上に連続に配置され1個以
上の要素から成るデータのアクセスを制御するメ
モリアクセス制御装置であつて、
データの要素数を供給する要素数供給手段と、
先頭要素のメモリ単位のアドレス情報を供給す
るアドレス情報供給手段と、
前記データの要素数と前記先頭要素のメモリ単
位のアドレス情報から最終要素のメモリ単位のア
ドレス情報を計算するアドレス情報計算手段と、
該最終要素のアドレス情報を保持するアドレス
情報保持手段と、
前記最終要素のメモリ単位が使用状態でなくな
るまでの時間情報を計算する時間情報計算手段
と、
前記時間情報を保持する時間情報保持手段と、
前記アドレス情報保持手段に保持されている第
1のデータの最終要素のメモリ単位のアドレス情
報と、前記第1のデータに引続いてアクセスされ
る第2のデータの先頭要素のメモリ単位のアドレ
ス情報との差を計算する差計算手段と、
同時にアクセスできる要素数を規定するモード
信号によつて前記差計算手段により計算されたア
ドレス情報の差を補正する補正手段と、
該補正手段により補正されたアドレス情報の差
と前記時間情報保持手段に保持されている時間情
報とを比較する比較手段と、
該比較手段の結果により前記第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 element is arranged consecutively on the memory and has one or more memory units arranged in memory unit order. A memory access control device for controlling access to data consisting of elements, comprising: element number supply means for supplying the number of data elements; address information supply means for supplying address information of a memory unit of a leading element; address information calculation means for calculating memory unit address information of a final element from the number of elements and memory unit address information of the first element; address information holding means for retaining address information of the final element; and memory of the final element. a time information calculation means for calculating time information until the unit is no longer in use; a time information holding means for holding the time information; and a memory for the final element of the first data held in the address information holding means. a difference calculation means for calculating a difference between address information of a unit and address information of a memory unit of a first element of second data that is accessed subsequent to the first data; and a number of elements that can be accessed simultaneously. a correction means for correcting the difference in address information calculated by the difference calculation means according to a mode signal; and a correction means for correcting the difference in address information corrected by the correction means and the time information held in the time information holding means. It is characterized in that it includes a comparison means for making a comparison, and a means for making an access request for the second data based on the result of the comparison means.
以下、本発明の実施例について図面を参照して
詳細に説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
第1図は本発明によるメモリアクセス制御装置
の一実施例の構成を示したブロツク図である。図
において、本実施例のメモリアクセス制御装置
は、加算回路1、レジスタ2、減算回路3、ゲー
ト回路4、シフト回路5、レジスタ6、減算回路
7、減算回路8及び反転回路9から構成されてい
る。 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 is composed of an addition circuit 1, a register 2, a subtraction circuit 3, a gate circuit 4, a shift circuit 5, a register 6, a subtraction circuit 7, a subtraction circuit 8, and an inversion circuit 9. There is.
加算回路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.
and the number of elements of data supplied via
The value "1" is subtracted from this addition result to calculate the bank address of the final element of data, which is supplied to the register 2 via the connection 103.
レジスタ2は、結線103を介して供給される
前記加算回路1の出力であるデータ最終要素のバ
ンクアドレスを保持し、この保持内容は結線10
4を介して減算回路3に供給される。 Register 2 holds the bank address of the final element of data, which is the output of the adder circuit 1, supplied via connection 103;
4 to the subtraction circuit 3.
減算回路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で与えられる全ビツトがそのまま結線1
07に、128バンクの場合には結線105で与え
られる最上位ビツトが“0”とされて結線107
に、64バンクの場合には結線105で与えられる
上位の2ビツトが“0”とされて結線107に出
力するようゲート回路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, 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 directly transferred to connection 1.
07, in the case of 128 banks, the most significant bit given by connection 105 is set to "0" and connection 107
In addition, in the case of 64 banks, the gate circuit 4 is controlled so that the upper two bits given by the connection 105 are set to "0" and output to the connection 107.
シフト回路5は、結線107を介して供給され
るマスクされたバンクアドレスの差を、結線10
8を介して供給される演算パイプライン本数情報
によつて右にシフトされ、結線109を介して減
算回路8に供給される。本実施例では、演算パイ
プライン本数は、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 is supplied to subtraction circuit 8 via connection 109. In this example, there are three modes for the number of calculation pipelines: 4, 2, and 1. In the case of 4 pipelines, 4 elements can be accessed simultaneously, and in the case of 2 pipelines, 2 elements can be accessed simultaneously. The shift circuit 5 performs control such that if there are two, it shifts to the right by two bits, if there are two, it shifts by one bit to the right, and if there is one, it does not shift.
レジスタ6は、結線110を介して供給される
メモリ・バンク・サイクル時間情報と結線111
を介して供給される減算回路7の出力とを、結線
112を介して供給されるアクセス信号によつて
選択的に供給され、出力は結線113を介して減
算回路7および8に供給される。このレジスタ6
では、アクセス信号の論理値が“0”の場合には
減算回路7の出力が、アクセス信号の論理値が
“1”の場合にはメモリ・バンク・サイクル時間
情報が選択される。また、レジスタ6は、保持し
ているデータが“0”になるとアクセス信号が
“1”になるまでは“0”のまま保持するよう制
御される。 Register 6 has memory bank cycle time information provided via connection 110 and connection 111.
The output of the subtraction circuit 7, which is supplied via a connection 112, is selectively supplied by an access signal supplied via a connection 112, and the output is supplied via a connection 113 to the subtraction circuits 7 and 8. This register 6
Here, when the logical value of the access signal is "0", the output of the subtraction circuit 7 is selected, and when the logical value of the access signal is "1", the memory bank cycle time information is selected. Furthermore, the register 6 is controlled so that when the data it holds becomes "0", it remains at "0" until the access signal becomes "1".
減算回路7は、結線113を介して供給される
レジスタ6に保持されている内容を“1”減じる
回路で、結線111を介してレジスタ6に供給さ
れる。 The subtraction circuit 7 is a circuit that subtracts by "1" the contents held in the register 6, which is supplied via the connection 113, and is supplied to the register 6 via the connection 111.
減算回路8は、結線109を介して供給される
シフトされたバンクアドレスの差から結線113
を介して供給されるレジスタ6に保持されている
内容を減じることにより、これらを比較し、減算
結果の符号を結線114を介して反転回路9に供
給される。 The subtraction circuit 8 calculates a difference between the shifted bank addresses supplied via a connection 109 to a connection 113.
These are compared by subtracting the contents held in the register 6, which is supplied via a connection 114, and the sign of the subtraction result is supplied to the inverting circuit 9 via a connection 114.
反転回路9は、結線114を介して供給される
符号の極性を反転し、結線115を介してアクセ
ス開始有効信号が送出される。 The inversion circuit 9 inverts the polarity of the code supplied via the connection 114, and an access start enable signal is sent out via the connection 115.
なお、本実施例では、メモリのバンク数は最大
で256で、データの要素数をとりうる最大値は、
演算パイプライン本数が4本の場合は256、2本
の場合は128、1本の場合は64とするので、結線
101〜105,107,109は8ビツト幅、
また、メモリ・バンク・サイクル時間は16クロツ
クサイクルとし、結線110,111,113も
8ビツト幅で表わすこととする。 In this embodiment, the maximum number of memory banks is 256, and the maximum possible number of data elements is:
If the number of calculation pipelines is 4, it is 256, if it is 2, it is 128, and if it is 1, it is 64, so the connections 101 to 105, 107, and 109 are 8 bits wide.
Furthermore, the memory bank cycle time is assumed to be 16 clock cycles, and the connections 110, 111, and 113 are also expressed in 8-bit width.
次に第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.
The figure shows an example where the number of calculation pipelines is 2 and the number of memory banks is 256. Figure 4 is an example where the number of calculation pipelines is 4 and the number of memory banks is 128. The number of data elements is the preceding data and the following data. Both numbers are 256 in Figures 2 and 4, and 128 in Figure 3.
第2図を参照すると、先行データの先頭要素の
バンクアドレスを“0”、後続データの先頭要素
のバンクアドレスを“193”とする。まず、先行
データに対するアクセス要求が発せられると、結
線101を介して供給される先頭要素のバンクア
ドレス“0”と結線102を介して供給される要
素数“256”が加算回路1に供給され、先行デー
タの最終要素のバンクアドレス“255”がレジス
タ2に取込まれる。 Referring to 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 leading element supplied via the connection 101 and the number of elements "256" supplied via the connection 102 are supplied to the adder circuit 1. Bank address “255” of the final element of the preceding data is taken into register 2.
該レジスタ2では、メモリに対して後続データ
のアクセス要求の送出が開始されるまで、先行デ
ータの最終要素のバンクアドレス“255”が保持
される。後続データのアクセス要求が発せられる
と、減算回路3によつてレジスタ2に保持されて
いる先行データの最終要素のバンクアドレス
“255”と結線101によつて供給される後続デー
タの先頭要素のバンクアドレス“193”との差
“62”すなわち2進表示で“00111110”が計算さ
れる。 The bank address "255" of the last element of the preceding data is held in the register 2 until the sending of an access request for subsequent data to the memory is started. When a subsequent data access request is issued, the bank address “255” of the last element of the preceding data held in the register 2 by the subtraction circuit 3 and the bank address of the first element of the subsequent data supplied by the connection 101 are The difference from address "193" is "62", that is, "00111110" is calculated in binary representation.
メモリバンク数が256の場合はゲート回路4で
は何の動作も行なわれず、演算パイプライン本数
が4本の場合はシフト回路5は右に2ビツトシフ
トされるから、結線109を介して減算回路8に
は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 is shifted 2 bits to the right. is supplied with "00001111" in binary representation, that is, the value "15". This value means that an access request for an element of subsequent data will be sent to the bank of the last element of previous data 15 clock cycles after the start of sending a request to access memory for subsequent data.
第1のデータの最終要素のアクセス要求がメモ
リに対して送出されたタイミングT63では結線1
12の論理値は“1”になり、レジスタ6には結
線110を介してメモリ・バンク・サイクル時間
“16”が供給される。タイミングT64では先行デ
ータによりメモリに対するアクセス要求は送出さ
れず、また演算回路8では結線109を介して供
給されるシフトされたバンクアドレスの差“15”
から結線113を介して供給されるレジスタ6が
保持されている内容“16”が減じられる。その差
は負になるため結線114からは“1”が出力さ
れ、反転回路9によつてアクセス開始有効信号は
“0”になる。その結果、タイミングT64ではメ
モリに対するアクセス要求は送出されず、結線1
12からは論理値“0”が供給され、レジスタ6
で保持する内容は減算回路7により値“1”減じ
られ、“15”になる。 At timing T 63 when the access request for the final element of the first data is sent to the memory, connection 1
The logic value of 12 becomes "1" and register 6 is supplied with the memory bank cycle time "16" via connection 110. At timing T 64 , no access request to the memory is sent due to the preceding data, and the arithmetic circuit 8 receives a difference of "15" between the shifted bank addresses supplied via the connection 109.
The content "16" held by the register 6, which is supplied via the connection 113, is subtracted from . Since the difference is negative, "1" is output from the connection 114, and the access start valid signal is set to "0" by the inverting circuit 9. As a result, no access request to the memory is sent at timing T64 , and connection 1
A logical value “0” is supplied from register 6.
The content held in is subtracted by the value "1" by the subtraction circuit 7, and becomes "15".
次のタイミングT65では、レジスタ6で保持さ
れている値は“15”で、又レジスタ2で保持され
ている値はまだ第2のデータのアクセス要求がメ
モリに対して送出さていないから“255”のまま
であるから減算回路8の結果は“0”になり、結
線114からは“0”が送出されて反転回路9で
“1”になつて、結線115を介してアクセス開
始有効信号として第2のデータのアクセス要求が
メモリに対して送出さ始める。 At the next timing T 65 , the value held in register 6 is "15", and the value held in register 2 is "255" because the second data access request has not yet been sent to the memory. ”, the result of the subtraction circuit 8 becomes “0”, and “0” is sent from the connection 114, becomes “1” in the inversion circuit 9, and is sent as the access start valid signal via the connection 115. A second data access request begins to be sent to the memory.
次に、第3図を参照すると、先行データの先頭
要素のバンクアドレスを“128”、後続データの先
頭要素のバンクアドレスを“193”とする。第2
図の例と同様に、先行データに対するアクセス要
求が発せられると、加算回路1において、結線1
01を介して供給される先頭要素のバンクアドレ
ス“128”と結線102を介して供給される要素
数“128”とから最終要素のバンクアドレス
“255”が計算され、レジスタ2に取込まれる。 Next, referring to FIG. 3, it is assumed that 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". Second
Similarly to the example shown in the figure, when an access request for preceding data is issued, in adder circuit 1, connection 1
The bank address "255" of the final element is calculated from the bank address "128" of the first element supplied via the line 101 and the number of elements "128" supplied via the connection 102, and is taken into the 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 beginning of the subsequent data supplied via the connection 101. The difference from the element bank address "193" is "62", that is, "00111110" in binary representation is calculated.
メモリバンク数が256で演算パイプライン本数
が2本であるから、シフト回路5ではバンクアド
レス差“62”が右に1ビツトシフトされ、減算回
路8に結線109を介して、2進表示で
“00011111”すなわち値“31”が供給される。 Since the number of memory banks is 256 and the number of arithmetic pipelines is 2, the bank address difference "62" is shifted to the right by 1 bit in the shift circuit 5, and is sent to the subtraction circuit 8 via the connection 109 as "00011111" in binary representation. ”, that is, the value “31” is supplied.
第1のデータの最終要素のアクセス要求がメモ
リに対して送出されたタイミングT63では結線1
12の論理値は“1”であり、レジスタ6には結
線110を介してメモリ・バンク・サイクル時間
“16”が供給される。タイミングT64では先行デ
ータによるメモリに対するアクセス要求はすでに
終了しており、また減算回路8ではシフトされた
バンクアドレスの差“31”からレジスタ6に保持
されている値“16”が減じられる。その差が正に
なるため結線114からは“0”が出力され、反
転回路9により結線115から後続データのアク
セルの開始有効信号が“1”になつて出力され、
後続データのアクセス要求のメモリへの送出が開
始される。 At timing T 63 when the access request for the final element of the first data is sent to the memory, connection 1
The logical value of 12 is "1" and register 6 is supplied with the memory bank cycle time "16" via connection 110. At timing T64 , the access request to the memory based on the preceding data has already been completed, and the subtraction circuit 8 subtracts the value "16" held in the register 6 from the shifted bank address difference "31". Since the difference becomes positive, "0" is output from the connection 114, and the inverting circuit 9 outputs the accelerator start enable signal for the subsequent data from the connection 115 as "1".
Sending of subsequent data access requests to the memory is started.
最後に、第4図を参照すると、先行データの先
頭要素のバンクアドレスを“0”、後続データの
先頭要素のバンクアドレスを“65”とする。先行
データに対するアクセス要求が発せられると、加
算回路1において、結線101を介して供給され
る先頭要素のバンクアドレス“0”と結線102
を介して供給される要素数“256”から値“255”
が得られてレジスタ2に取込まれる。ここで、先
行データの最終要素のバンクアドレスはメモリバ
ンク数が128であるため、128を法とする値“127”
であるが、加算回路1およびレジスタ2は8ビツ
ト幅であるため、レジスタ2には値“255”が取
込まれる。 Finally, referring to 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, in the adder circuit 1, the bank address "0" of the leading element supplied via the connection 101 and the connection 102 are processed.
The value “255” from the number of elements “256” supplied via
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に供給される。 When an access request for subsequent data is subsequently issued, the subtraction circuit 3 subtracts the bank address "65" of the subsequent data supplied via the connection 101 from the value "255" held in the register 2. The difference "190", ie "10111110" in binary representation, is supplied to the gate circuit 4.
メモリバンク数は128であるから、ゲート回路
4では結線105を介して供給される8ビツトの
データ内、最上位ビツトを“0”にする。この場
合、減算回路3の出力“190”を、ゲート回路4
は2進表示で“00111110”すなわち“62”とし
て、シフト回路5に供給される、又、演算パイプ
ライン本数は4本であるから、シフト回路5では
結線107を介して供給される値“62”が右に2
ビツトシフトされ、値“15”が減算回路6に結線
109を介して供給される。 Since the number of memory banks is 128, the gate circuit 4 sets the most significant bit of the 8-bit data supplied via the connection 105 to "0". In this case, the output “190” of the subtraction circuit 3 is transferred to the gate circuit 4.
is supplied to the shift circuit 5 as "00111110", that is, "62" in binary representation. Also, since the number of arithmetic pipelines is four, the shift circuit 5 receives the value "62" supplied via the connection 107. ” is on the right 2
The bit shifted value "15" is supplied to the subtraction circuit 6 via connection 109.
一方、タイミングT63では、先行データの最後
のアクセス要求がメモリに送出され、レジスタ6
にはメモリ・バンク・サクセス時間“16”が取込
まれ、タイミングT63では減算回路8の出力が負
になるため、後続データのアクセス開始はでき
ず、レジスタ6に保持されている値が“1”減じ
られて“15”になる。したがつて、タイミング
T65で、減算回路8の計算結果が“0”になり、
結線114から“0”が送出されて、反転回路9
により“1”になつて結線115を介して後続デ
ータのアクセス開始有効信号として送出され、後
続データのメモリに対するアクセス要求の送出が
開始される。 On the other hand, at timing T 63 , the last access request for the preceding data is sent to the memory, and register 6
The memory bank success time “16” is taken in, and at timing T 63 , the output of the subtraction circuit 8 becomes negative, so it is not possible to start accessing the subsequent data, and the value held in the register 6 becomes “ 1” is subtracted and becomes “15”. Therefore, the timing
At T 65 , the calculation result of the subtraction circuit 8 becomes "0",
“0” is sent from the connection 114 and the inverting circuit 9
As a result, the signal becomes "1" and is sent as a subsequent data access start valid signal via the connection 115, and the sending of a subsequent data access request to the memory is started.
以上説明したように、本発明によれば、先行し
てアクセスされる第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, after the first data access request has been sent, , it is possible to correctly generate the access start enable signal for the second data, which has the effect of improving hardware usage efficiency and effective performance.
第1図は本発明によるメモリアクセス制御装置
の一実施例の構成を示したブロツク図、第2図、
第3図及び第4図はそれぞれ本発明の動作例を示
すタイムチヤートである。
1……加算回路、2……レジスタ、3……減算
回路、4……ゲート回路、5……シフト回路、6
……レジスタ、7,8……減算回路、9……反転
回路、101〜115……結線。
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
...Register, 7, 8...Subtraction circuit, 9...Inversion circuit, 101-115...Wiring connection.
Claims (1)
位から構成され、メモリ単位順に番地付がなされ
たメモリに対して、各要素がメモリ上に連続に配
置され1個以上の要素からなるデータのアクセス
を制御するメモリアクセス制御装置であつて、 データの要素数を供給する要素数供給手段と、 先頭要素のメモリ単位のアドレス情報を供給す
るアドレス情報供給手段と、 前記データの要素数と前記先頭要素のメモリ単
位のアドレス情報から最終要素のメモリ単位のア
ドレス情報を計算するアドレス情報計算手段と、 該最終要素のメモリ単位のアドレス情報を保持
するアドレス情報保持手段と、 前記最終要素のメモリ単位が使用状態でなくな
るまでの時間情報を計算する時間情報計算手段
と、 前記時間情報を保持する時間情報保持手段と、 前記アドレス情報保持手段に保持されている第
1のデータの最終要素のメモリ単位のアドレス情
報と、前記第1のデータに引続いてアクセスされ
る第2のデータの先頭要素のメモリ単位のアドレ
ス情報との差を計算する差計算手段と、 同時にアクセスできる要素数を規定するモード
信号によつて前記差計算手段により計算されたア
ドレス情報の差を補正する補正手段と、 該補正手段により補正されたアドレス情報の差
と前記時間情報保持手段に保持されている時間情
報とを比較する比較手段と、 該比較手段の結果により前記第2のデータのア
クセス要求を可能とする手段とを含むことを特徴
とするメモリアクセス制御装置。[Claims] 1. For a memory that is composed of a plurality of memory units that can be accessed independently of each other and that are addressed in the order of the memory units, each element is arranged consecutively on the memory and is composed of one or more elements. A memory access control device for controlling access to data, comprising: element number supply means for supplying the number of data elements; address information supply means for supplying address information of a memory unit of a leading element; and the number of elements of the data. address information calculation means for calculating memory unit address information of the last element from the memory unit address information of the first element; and address information holding means for holding the memory unit address information of the last element; a time information calculation means for calculating time information until a memory unit is no longer in use; a time information holding means for holding the time information; and a final element of the first data held in the address information holding means. A difference calculating means for calculating a difference between address information in a memory unit and address information in a memory unit of a first element of second data that is accessed subsequent to the first data, and specifying the number of elements that can be accessed simultaneously. a correction means for correcting the difference in address information calculated by the difference calculation means according to a mode signal, and a difference between the address information corrected by the correction means and the time information held in the time information holding means; A memory access control device comprising: a comparison means for comparing the data; and a means for making an access request for the second data based on the result of the comparison means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13525885A JPS61294580A (en) | 1985-06-22 | 1985-06-22 | Memory access controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13525885A JPS61294580A (en) | 1985-06-22 | 1985-06-22 | Memory access controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61294580A JPS61294580A (en) | 1986-12-25 |
JPH0355862B2 true JPH0355862B2 (en) | 1991-08-26 |
Family
ID=15147498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13525885A Granted JPS61294580A (en) | 1985-06-22 | 1985-06-22 | Memory access controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61294580A (en) |
-
1985
- 1985-06-22 JP JP13525885A patent/JPS61294580A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS61294580A (en) | 1986-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2571067B2 (en) | Bus master | |
JPH0479026B2 (en) | ||
JPH0139138B2 (en) | ||
JPH0355863B2 (en) | ||
JPH0355862B2 (en) | ||
US5602766A (en) | Method of and device for forming the sum of a chain of products | |
JPH10134183A (en) | Image processor | |
JP2624388B2 (en) | DMA device | |
JPH0354380B2 (en) | ||
JPH0354379B2 (en) | ||
JPS59200361A (en) | Digital processor and processing system | |
JP2550964B2 (en) | Memory access control method | |
JP3323526B2 (en) | Digital signal processor | |
JPH08286981A (en) | Error correcting code generator for burst transfer memory | |
JPS59183455A (en) | Multi-computer system | |
JPH0467661B2 (en) | ||
JPS59206960A (en) | Controlling device of memory address | |
JPH07122856B2 (en) | Storage access control device | |
JPS60126748A (en) | Memory access controller | |
JPS6188334A (en) | Divider circuit | |
JPH0225538B2 (en) | ||
JPH01161476A (en) | Memory access control system | |
JPS63198144A (en) | Direct memory access control system in multi-port memory | |
JPH0448262B2 (en) | ||
JPH06332851A (en) | Data transfer system |