JPH0330175B2 - - Google Patents
Info
- Publication number
- JPH0330175B2 JPH0330175B2 JP56097140A JP9714081A JPH0330175B2 JP H0330175 B2 JPH0330175 B2 JP H0330175B2 JP 56097140 A JP56097140 A JP 56097140A JP 9714081 A JP9714081 A JP 9714081A JP H0330175 B2 JPH0330175 B2 JP H0330175B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- bus
- memory
- port
- bank
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明は、ベクトル・プロセツサのような大量
のデータを毎サイクルに処理可能な情報処理装置
におけるメモリ・アクセス制御装置に関し、特に
複数のメモリ・ユニツトに対して複数のアクセス
要求を並列的に処理することができるメモリ・シ
ステムにおいて、並列処理の速度を向上させるう
えで障害となるアクセス要求の競合(Conflict)
を一層効率的に処理するための改善された機構に
関するものである。
ベクトル・プロセツサには、メモリをアクセス
するための複数のポートが設けられている。これ
らの複数のポートから同時の複数のメモリ・アク
セス要求を出した場合、従来は一般のコンピユー
タと同様にプライオリテイ回路によつて1つのポ
ートだけを選択してそのメモリ・アクセスを許可
するようにしていた。しかし、ベクトル・プロセ
ツサでは、パイプライン制御により多数のデータ
について並列的な高速演算処理がなされるので、
メモリ・アクセスも並列処理されることが望まし
い。このため、複数のポートから同時にメモリを
起動できる構造のものも提案された。第1図は、
そのような従来例を説明するためのブロツク図で
ある。
第1図において、メモリ・アクセス制御ユニツ
ト1は、ベクトル・ユニツト2、スカラー・ユニ
ツト3、チヤネル、プロセツサ4からの4つのメ
モリ・アクセス要求について、4つのメモリ・ユ
ニツト
The present invention relates to a memory access control device for an information processing device such as a vector processor that is capable of processing a large amount of data in each cycle, and particularly to a memory access control device that processes multiple access requests to multiple memory units in parallel. Conflict of access requests is an impediment to improving the speed of parallel processing in memory systems that allow for parallel processing.
This invention relates to an improved mechanism for more efficiently processing. Vector processors are provided with multiple ports for accessing memory. When multiple memory access requests are issued from these multiple ports at the same time, conventionally, just like in a general computer, only one port is selected by a priority circuit and memory access is permitted. was. However, vector processors perform parallel high-speed arithmetic processing on large amounts of data using pipeline control.
It is desirable that memory accesses also be processed in parallel. For this reason, a structure that allows memory to be activated from multiple ports at the same time has been proposed. Figure 1 shows
FIG. 2 is a block diagram for explaining such a conventional example. In FIG. 1, memory access control unit 1 controls four memory units in response to four memory access requests from vector unit 2, scalar unit 3, channel, and processor 4.
〔0〕5,〔1〕6,〔2〕7,〔3〕8を
接続するための、優先すなわちプライオリテイの
処理とバス選択とを行なう回路9をもつている。
アクセス制御装置1はまた、ベクトル・ユニツト
2、スカラー・ユニツト3、チヤネル・プロセツ
サ4からのメモリ要求アドレスおよびコントロー
ル信号を受け入れるポートA10、ポートB1
1、ポートC12、ポートD13と、メモリ・ユ
ニツトIt has a circuit 9 for performing priority processing and bus selection for connecting [0]5, [1]6, [2]7, and [3]8.
The access control device 1 also includes ports A10 and B1 that accept memory request addresses and control signals from the vector unit 2, the scalar unit 3, and the channel processor 4.
1. Port C12, port D13, and memory unit
〔0〕5,〔1〕6,〔2〕7,〔3〕8へ
のアドレス・バス14,15,16,17、にそ
れぞれ接続された出力バツフアレジスタ18,1
9,20,21とをそなえている。
各アドレス・バス14〜17には、1サイクル
の間に1つのメモリ要求アドレスが送られる。ま
た各メモリ・ユニツトは、複数のバンクによるイ
ンターリーブ構成をとつている。ここで、あるポ
ートがメモリ・アクセス要求を出した場合にその
アクセスが禁止される条件の主なものは、
イ アクセスすべきアドレスが属するバンクがビ
ジ(動作中)状態にあること。
ロ メモリ・ユニツトへのアドレス・バスが他の
ポートからのアクセス要求と競合使用となるこ
と、
の2つである。
各アドレス・バス上にメモリ要求アドレスが存
在している時間は1サイクル期間であるから、次
のサイクルにはそのバスは空き状態となり得る
が、アクセスされたメモリ・バンクの動作が完了
するまでに更にいくつかのサイクル期間が必要と
されるので、その間、バンクはビジ状態となり使
用できない。また、そのアドレス・バスが他のプ
ライオリテイの高いポートからのアクセス要求と
競合した場合、いいかえると、メモリ・ユニツト
のレベルで競合した場合には、たとえバンクのレ
ベルでは互いが競合せず、しかも自身がアクセス
しようとするバンクはビジ状態にないとしても、
アクセス要求は許可されない。
本発明は、上述した点を考慮して、同一メモ
リ・ユニツトに対して競合するアクセス要求があ
つたとき、高位のプライオリテイをもつポートの
アクセス要求アドレスが含まれるバンクがビジ状
態であつたならば、そこでバスを専有したまま待
機状態に入ることをせず、代りに低位のプライオ
リテイをもつポートのアクセス要求であつてもそ
れがビジ状態にないバンクに対するものであれ
ば、そのアクセス要求を許可するように改善し
て、アドレス・バスの利用効率を高めることを目
的としており、そのための構成として、本発明
は、独立にアクセス可能な複数のメモリ・バンク
を有する複数のメモリ・ユニツトをそなえ、前記
各メモリ・ユニツト毎に当該メモリ・ユニツト内
のメモリ・バンクに対して共通のアクセス・バス
を有するデータ処理システムにおいて、1つのア
クセス源から複数のメモリ・ユニツトに対して発
信される複数のアクセス要求を制御するため、上
記複数のアクセス要求のアドレスを受け入れる異
なるプライオリテイをもつ複数のポートと、前記
複数のポートからの複数のアクセス要求のアドレ
スを前記ポートのプライオリテイその他の制御情
報にしたがつて選択して並列的に前記複数のメモ
リ・ユニツトへのバスを供給するプライオリテイ
およびバス選択回路と、前記メモリ・バンクが動
作中であることを示す情報を保有して前記複数の
ポートからのアクセス要求がバンク・ビジとなる
か否かをチエツクし、その結果の情報により前記
プライオリテイおよびバス選択回路を制御するビ
ジ・チエツク回路と、前記複数のポートのアクセ
ス要求アドレスが前記メモリ・ユニツトに対する
アドレス・バスにおいて競合するか否かをチエツ
クしてその結果の情報により前記プライオリテイ
およびバス選択回路を制御するバス競合チエツク
回路とをそなえ、前記1つのアクセス源が同時に
同一のメモリ・ユニツトへ複数のアクセス要求を
行なつたとき、プライオリテイの高いポートのア
クセス要求がバンク・ビジであつても、プライオ
リテイの低いポートのアクセス要求でバンク・ビ
ジでないものがあれば選択することを特徴とする
メモリ・アクセス制御装置を提供するものであ
る。
第2図は、本発明の実施例を説明するためのブ
ロツク図である。図において、第1図のシステム
と共通の構成要素には同一の参照番号が付されて
いる。
各ポート〔A〕10,〔B〕11,〔C〕12,
〔D〕13には、それぞれ、ベクトル・ユニツト
2、スカラー・ユニツト3、チヤネル・プロセツ
サ4からのメモリ・アクセス要求があつたアドレ
スおよび制御フラグ(OPコード等)が設定され
る。各ポートに設定されるアドレスの上位2ビツ
トはメモリ・ユニツト・アドレスであり、次の3
ビツトはバンク選択アドレスである。そして残り
の下位ビツトはバンク内アドレスである。
各ポートのアドレスのうち上位5ビツト、すな
わちメモリ・ユニツト・アドレスおよびバンク選
択アドレスがビジ・チエツク回路22に入力さ
れ、また上位2ビツトのメモリ・ユニツト・アド
レスはさらにバス競合チエツク回路23に入力さ
れ、そこでバンクのビジ状態の有無とアドレス・
バスの競合の有無とがチエツクされる。チエツク
された結果は、プライオリテイおよびバス選択回
路24に入力される。バス競合およびバンク・ビ
ジがなければ、ポート内のアドレスは、その対応
するメモリ・ユニツトに向うアドレス・バス14
〜17にのせられるよう、プライオリテイおよび
バス選択回路24によつて適当なレジスタ18〜
21に設定され、そしてメモリへのアクセス起動
が行なわれる。
ビジ・チエツク回路22は、アクセスすべきア
ドレスを含むバンクがビジでないアクセス要求ポ
ートを示す信号をプライオリテイおよびバス選択
回路24に送り、そのポートのアクセス要求につ
いてメモリ・アクセスを許可させる。しかし、バ
ンク・ビジではないがバス競合が起きている場合
には、プライオリテイの高いポートがアクセスを
起動するように選択される。高位のプライオリテ
イをもつアクセス要求がバンク・ビジであれば、
ビジ・チエツク回路22はそのポートをバス選択
回路24に指示しないので、回路24は低位のプ
ライオリテイをもつアクセス要求ポートの中でバ
ンク・ビジのないものを選択することになる。更
にそれらの中のバスの競合は、バス競合チエツク
回路23によつて回路24に指示される。
第3図は、第2図に示すビジ・チエツク回路の
概略構成を説明するための図で、第4図はその一
部分についての回路構成例を示す。ビジ・チエツ
ク回路22は、全メモリ・ユニツトについて各バ
ンク毎にそのビジ状態の表示を保持する多数のラ
ツチ25をそなえている。第3図は、メモリのユ
ニツト数4、バンク数8の場合について32個のラ
ツチの内容を例示したものである。第4図は、特
にメモリ・ユニツトOutput buffer registers 18, 1 connected to address buses 14, 15, 16, 17 to [0] 5, [1] 6, [2] 7, [3] 8, respectively
9, 20, and 21. Each address bus 14-17 receives one memory request address during one cycle. Furthermore, each memory unit has an interleaved configuration with a plurality of banks. Here, when a certain port issues a memory access request, the main conditions under which that access is prohibited are: (a) The bank to which the address to be accessed belongs is in a busy (operating) state. (b) The address bus to the memory unit is used in conflict with access requests from other ports. Since the time that a memory request address exists on each address bus is one cycle period, the bus may be empty in the next cycle, but the memory request address remains on each address bus for one cycle, but the bus may be empty by the time the accessed memory bank is completed. Several additional cycle periods are required during which the bank is busy and unavailable. Also, if the address bus conflicts with access requests from other high-priority ports, in other words, if there is conflict at the memory unit level, even if they do not conflict with each other at the bank level, and Even if the bank you are trying to access is not busy,
Access request is not granted. In consideration of the above points, the present invention provides that when there are competing access requests to the same memory unit, if the bank containing the access request address of the port with a higher priority is in a busy state, For example, instead of entering a standby state while monopolizing the bus, it would instead accept an access request from a port with a lower priority if it is for a bank that is not in a busy state. It is an object of the present invention to provide a plurality of memory units having a plurality of independently accessible memory banks. , in a data processing system in which each of the memory units has a common access bus to the memory banks within the memory unit; In order to control access requests, a plurality of ports with different priorities are used to accept the addresses of the plurality of access requests, and the addresses of the plurality of access requests from the plurality of ports are set as the priority and other control information of the port. a priority and bus selection circuit that selects and supplies buses to the plurality of memory units in parallel; a bus check circuit that checks whether or not an access request is a bank bus, and controls the priority and bus selection circuit based on the resultant information; and a bus contention check circuit for checking whether or not there is contention on the address bus for the memory unit and controlling the priority and bus selection circuit based on the resultant information, wherein the one access source simultaneously accesses the same memory unit. The feature is that when multiple access requests are made, even if the access request of a high priority port is bank-busy, if there is an access request of a low-priority port that is not bank-busy, the access request is selected. The present invention provides a memory access control device. FIG. 2 is a block diagram for explaining an embodiment of the present invention. In the figures, components common to the system of FIG. 1 are labeled with the same reference numerals. Each port [A] 10, [B] 11, [C] 12,
[D] 13 are set with addresses and control flags (OP codes, etc.) at which memory access requests are made from the vector unit 2, scalar unit 3, and channel processor 4, respectively. The upper 2 bits of the address set for each port are the memory unit address, and the following 3 bits are the memory unit address.
The bit is the bank selection address. The remaining lower bits are the intra-bank address. The upper 5 bits of the address of each port, that is, the memory unit address and the bank selection address, are input to the bus check circuit 22, and the upper 2 bits of the memory unit address are further input to the bus contention check circuit 23. , the presence or absence of the bank's busy state and the address
The presence or absence of bus contention is checked. The checked results are input to the priority and bus selection circuit 24. In the absence of bus contention and bank busses, an address in a port will be transferred to the address bus 14 towards its corresponding memory unit.
The priority and bus selection circuit 24 selects appropriate registers 18 to 17 to
21, and access to the memory is activated. Busy check circuit 22 sends a signal indicating an access request port for which the bank containing the address to be accessed is not busy to priority and bus selection circuit 24 to permit memory access for the access request of that port. However, if the bank is not busy but there is bus contention, then the higher priority port is selected to initiate the access. If the access request with a higher priority is a bank visit,
Since the bus check circuit 22 does not indicate the port to the bus selection circuit 24, the circuit 24 will select the low priority access request port that is not bank busy. Furthermore, bus contention among them is indicated to circuit 24 by bus contention check circuit 23. FIG. 3 is a diagram for explaining the schematic structure of the visit check circuit shown in FIG. 2, and FIG. 4 shows an example of the circuit structure of a portion thereof. Busy check circuit 22 includes a number of latches 25 which hold an indication of the busy status of each bank for all memory units. FIG. 3 illustrates the contents of 32 latches for a case where the number of memory units is 4 and the number of banks is 8. Figure 4 shows the memory unit in particular.
〔0〕のバンク#0と、メモ
リ・ユニツト〔3〕のバンク#7とについて、バ
ンクのビジ状態を表示するラツチ25と、ビジ状
態読み出しのための6入力の論理ゲート26、お
よび全体に共通の32入力のORゲート27を示
す。
各ラツチ25は、そのバンクに対するアクセス
起動信号によつてセツトされ、データの読み出し
または書き込みの動作終了によるアクセス終了信
号によつてリセツトされる。各バンク毎に、ポー
トA〜Dからのアクセス要求アドレスのうち上位
2ビツトのメモリ・ユニツト・アドレスおよび次
位3ビツトのバンク選択アドレスをそれぞれ受け
入れて各バンクに対応する特有の入力アドレスに
応答するデコーダの機能をもつた4つの4入力論
理ゲート26が設けられている。全ユニツト、全
バンクの論理ゲート26の6入力端子のうち5入
力端子は、ポートA〜Dからの上位5ビツトのア
ドレスについて、ポート系列で共通に接続され
る。各バンクの4つの論理ゲート26の各残りの
1入力端子は、各バンクのラツチのQ出力に共通
に接続される。ラツチがリセツト状態のときQ出
力は“0”となり、そのバンクにアクセス要求を
したポートの論理ゲートからORゲートに信号
“1”を出力する。あるバンクがビジ状態にある
とき、そのバンクに属するラツチ25のQ出力は
“1”となり、論理ゲート26に印加される。も
しもそのとき、ポートA〜Dのいずれかがそのバ
ンクに対してアクセス要求をもつていたとしても
論理ゲート26は禁止されているので出力は
“0”である。ORゲート27は各ポートに対応
して設けられ、各バンクの同じポート系列の論理
ゲート26の出力をすべてOR入力としてまとめ
て受け入れる。
各ポートに対応するORゲート27の出力ビジ
は、そのポートのアクセス要求がバンク・ビジに
遭遇しなかつた場合にだけ“1”となる。
第5図は、第2図のバス競合チエツク回路23
の構成例を示す。回路23は、ポートA〜Dのア
クセス要求アドレスの上位2ビツトからなるメモ
リ・ユニツト・アドレスについて 4C2の6通りの
一致比較を行なうため、6つの比較器28からな
つている。アドレス・バスに競合アクセスが生じ
るとき、すなわち同一メモリ・ユニツトに対して
各ポートから重複するアクセス要求があつた場合
に、それらのメモリ・ユニツト・アドレスは一致
するので、対応する比較器から“1”出力を生じ
る。
第6図は、第2図のプライオリテイおよびバス
選択回路23の中のプライオリテイ回路について
の構成例を示す。便宜上ポートのプライオリテイ
は、A>B>C>Dとしてある。この回路は、第
5図の比較器出力に接続された入力をもつゲート
29〜32からなる。ゲート29は、最高位プラ
イオリテイをもつポートAに対するものであり、
この場合は無条件でポートAからのアクセス要求
が許可される。ゲート30は、ポートBに対する
ものである。この場合は、ポートBのアクセスが
ビジでない事を前提にして、以下の条件でポート
Bのアクセス要求が許可される。
●第5図の信号で=の時
●A=BであつてもポートAビジである時、
同様に第6図のポートCのアクセス要求許可
は、31−1,31−2,31−3のゲートで指
される論理となり、自分よりも高いプライオリテ
イの要求が同一MSUになければ、またあつても
そのポートのアクセスするバンクがビジであれば
ポートCのアクセス許可が与えられる。ポートD
のアクセスも同様になるため説明を省略する。
この様に、プライオリテイが低いポートのアク
セスがプライオリテイの高いポートのアクセスと
MSUで競合した場合に、一方的にアクセス不許
可になるのではなく、相手のポートがバンク・ビ
ジで許可されなければ、プライオリテイの低いポ
ートのアクセスを許可することによつて、性能の
向上が期待出来る。また、本実施例では、ポート
AからポートDに固定したプライオリテイ付けを
行なつたが、慣用技術にしたがつてプライオリテ
イ付けを可変にしてもよいことは勿論である。
プライオリテイおよびバス選択回路24の残り
の部分は、以上述べたところのビジ・チエツク、
バス競合チエツク、プライオリテイの処理によつ
てアクセス要求を許可されたポートからのアドレ
スを、対応する適当なレジスタ18〜21に転送
するための周知のスイツチ回路からなつている。
データ・バスについても図には示さないが、通常
行なわれている方法を用いて切換えがなされる。
以上説明した回路は、いずれも1つの具体例を
示したものに過ぎず、多くの細部の変形が可能で
ある。たとえば、ビジ・チエツク回路22は、バ
ンク・ビジのポートのみを指示するように設計す
ることもできる。従来のメモリ・ユニツトのレベ
ルでのビジに基づくアクセス制御を、メモリ・バ
ンクのレベルでのビジに基づいてアクセス制御を
行なうように改良したことにより、メモリ・アク
セスの効率を向上させた本発明の効果は大きなも
のである。For bank #0 of [0] and bank #7 of memory unit [3], a latch 25 for displaying the bank busy state, a 6-input logic gate 26 for reading the busy state, and a common gate for the whole The 32-input OR gate 27 is shown. Each latch 25 is set by an access activation signal for that bank, and reset by an access termination signal upon completion of a data read or write operation. For each bank, it accepts the upper 2 bits of the memory unit address and the next 3 bits of the bank selection address of the access request address from ports A to D, and responds to the unique input address corresponding to each bank. Four 4-input logic gates 26 with decoder function are provided. Five of the six input terminals of the logic gates 26 in all units and all banks are commonly connected in a port series for the upper five bits of address from ports A to D. The remaining one input terminal of each of the four logic gates 26 in each bank is commonly connected to the Q output of the latch in each bank. When the latch is in the reset state, the Q output becomes "0" and a signal "1" is output from the logic gate of the port that requested access to that bank to the OR gate. When a certain bank is in the busy state, the Q output of the latch 25 belonging to that bank becomes "1" and is applied to the logic gate 26. At that time, even if any of the ports A to D has an access request to that bank, the output is "0" because the logic gate 26 is prohibited. The OR gate 27 is provided corresponding to each port, and receives all the outputs of the logic gates 26 of the same port series of each bank as OR inputs. The output visit of the OR gate 27 corresponding to each port becomes "1" only when the access request for that port does not encounter a bank visit. FIG. 5 shows the bus contention check circuit 23 of FIG.
An example of the configuration is shown below. The circuit 23 includes six comparators 28 to perform six 4 C 2 matching comparisons on the memory unit address consisting of the upper two bits of the access request address of ports A to D. When conflicting access occurs on the address bus, that is, when duplicate access requests are made from each port to the same memory unit, the memory unit addresses match, so the corresponding comparator outputs “1”. ``Produces an output. FIG. 6 shows a configuration example of a priority circuit in the priority and bus selection circuit 23 of FIG. 2. In FIG. For convenience, the port priorities are set as A>B>C>D. This circuit consists of gates 29-32 having inputs connected to the comparator outputs of FIG. Gate 29 is for port A, which has the highest priority;
In this case, the access request from port A is unconditionally permitted. Gate 30 is for port B. In this case, on the premise that port B access is not busy, the port B access request is permitted under the following conditions. ●When the signal in Figure 5 is =.●When port A is busy even though A=B.Similarly, access request permission for port C in Figure 6 is 31-1, 31-2, 31-3. This is the logic pointed to by the gate of port C, and if there is no request with a higher priority than the port in the same MSU, and even if there is a request, if the bank accessed by that port is busy, access permission for port C is granted. Port D
Since the access is the same, the explanation will be omitted. In this way, the access of a low priority port is the same as the access of a high priority port.
Improved performance by allowing access to a lower priority port if the other port is not allowed by bank visit, rather than unilaterally disallowing access when there is a conflict in MSU. can be expected. Further, in this embodiment, fixed priority is assigned to port A to port D, but it goes without saying that the priority assignment may be made variable according to conventional technology. The remainder of the priority and bus selection circuit 24 includes the above-described bus check,
It consists of a well-known switch circuit for transferring an address from a port whose access request has been granted through bus contention check and priority processing to the corresponding appropriate register 18-21.
Although not shown in the figure, the data bus is also switched using conventional methods. The circuits described above merely show one specific example, and many details can be modified. For example, the bus check circuit 22 may be designed to indicate only bank-busy ports. The present invention improves the efficiency of memory access by improving the conventional access control based on busses at the memory unit level to perform access control based on busses at the memory bank level. The effect is significant.
第1図は従来のメモリ・アクセス制御装置のブ
ロツク図、第2図は本発明のメモリ・アクセス制
御装置の1実施例のブロツク図、第3図および第
4図は第2図のビジ・チエツク回路の構成例、第
5図は第2図のバス競合チエツク回路の構成例、
第6図は第2図のプライオリテイおよびバス選択
回路の一部の回路構成例を示す。
図中、1′は本発明のメモリ・アクセス制御装
置、2ないし4はメモリ・アクセス源、5ないし
8はメモリ・ユニツト、9はプライオリテイおよ
びバス選択回路、10ないし13……ポート、1
4ないし17……バス、18ないし21……レジ
スタ、22……ビジ・チエツク回路、23……バ
ス競合チエツク回路、24……プライオリテイお
よびバス選択回路、25……バンク・ビジを表示
するラツチ、26……論理ゲート、27……OR
ゲート、28……比較器、29〜32……ゲート
を表わす。
FIG. 1 is a block diagram of a conventional memory access control device, FIG. 2 is a block diagram of an embodiment of the memory access control device of the present invention, and FIGS. 3 and 4 are a block diagram of a conventional memory access control device. Example of circuit configuration, Figure 5 is an example of the configuration of the bus contention check circuit in Figure 2,
FIG. 6 shows an example of a circuit configuration of a portion of the priority and bus selection circuit of FIG. In the figure, 1' is a memory access control device of the present invention, 2 to 4 are memory access sources, 5 to 8 are memory units, 9 is a priority and bus selection circuit, 10 to 13...ports, 1
4 to 17... Bus, 18 to 21... Register, 22... Busy check circuit, 23... Bus contention check circuit, 24... Priority and bus selection circuit, 25... Latch for indicating bank busy. , 26...logic gate, 27...OR
Gate, 28... comparator, 29-32... gate.
Claims (1)
を有する複数のメモリ・ユニツトをそなえ、前記
各メモリ・ユニツト毎に当該メモリ・ユニツト内
のメモリ・バンクに対して共通のアクセス・バス
を有するデータ処理システムにおいて、1つのア
クセス源から複数のメモリ・ユニツトに対して発
信される複数のアクセス要求を制御するため、上
記複数のアクセス要求のアドレスを受け入れる異
なるプライオリテイをもつ複数のポートと、前記
複数のポートからの複数のアクセス要求のアドレ
スを前記ポートのプライオリテイその他の制御情
報にしたがつて選択して並列的に前記複数のメモ
リ・ユニツトへのバスに供給するプライオリテイ
およびバス選択回路と、前記メモリ・バンクが動
作中であることを示す情報を保有して前記複数の
ポートからのアクセス要求がバンク・ビジとなる
か否かをチエツクし、その結果の情報により前記
プライオリテイおよびバス選択回路を制御するビ
ジ・チエツク回路と、前記複数のポートのアクセ
ス要求アドレスが前記メモリ・ユニツトに対する
アドレス・バスにおいて競合するか否かをチエツ
クしてその結果の情報により前記プライオリテイ
およびバス選択回路を制御するバス競合チエツク
回路とをそなえ、前記1つのアクセス源が同時に
同一のメモリ・ユニツトへ複数のアクセス要求を
行なつたとき、プライオリテイの高いポートのア
クセス要求がバンク・ビジであつても、プライオ
リテイの低いポートのアクセス要求でバンク・ビ
ジでないものがあれば選択することを特徴とする
メモリ・アクセス制御装置。1. A data processing system comprising a plurality of memory units each having a plurality of independently accessible memory banks, and each memory unit having a common access bus for the memory banks within the memory unit. In order to control a plurality of access requests issued from one access source to a plurality of memory units, a plurality of ports having different priorities for accepting addresses of the plurality of access requests, and a plurality of ports are provided. a priority and bus selection circuit that selects addresses of a plurality of access requests from the plurality of memory units according to priority and other control information of the port and supplies them to buses to the plurality of memory units in parallel; - Possesses information indicating that the bank is in operation and checks whether or not access requests from the plurality of ports become bank busses, and controls the priority and bus selection circuits based on the resulting information. a bus check circuit for checking whether or not access request addresses of the plurality of ports conflict on the address bus for the memory unit and controlling the priority and bus selection circuit based on the resultant information; When one access source makes multiple access requests to the same memory unit at the same time, even if the access request of a high priority port is a bank bus, the access request of the high priority port is A memory access control device characterized in that if there is a low port access request that is not bank busy, it is selected.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56097140A JPS57211659A (en) | 1981-06-23 | 1981-06-23 | Memory access controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56097140A JPS57211659A (en) | 1981-06-23 | 1981-06-23 | Memory access controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57211659A JPS57211659A (en) | 1982-12-25 |
| JPH0330175B2 true JPH0330175B2 (en) | 1991-04-26 |
Family
ID=14184258
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56097140A Granted JPS57211659A (en) | 1981-06-23 | 1981-06-23 | Memory access controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS57211659A (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60146344A (en) * | 1984-01-10 | 1985-08-02 | Mitsubishi Electric Corp | Priority determining device |
| JPH0719221B2 (en) * | 1988-12-27 | 1995-03-06 | 日本電気株式会社 | Memory control method |
| JPH02245858A (en) * | 1989-03-20 | 1990-10-01 | Fujitsu Ltd | Data transfer controller |
| JPH03238539A (en) * | 1990-02-15 | 1991-10-24 | Nec Corp | Memory access controller |
| JP4726187B2 (en) * | 2004-11-29 | 2011-07-20 | キヤノン株式会社 | Semiconductor integrated circuit |
-
1981
- 1981-06-23 JP JP56097140A patent/JPS57211659A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS57211659A (en) | 1982-12-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4481572A (en) | Multiconfigural computers utilizing a time-shared bus | |
| US6691216B2 (en) | Shared program memory for use in multicore DSP devices | |
| US6892266B2 (en) | Multicore DSP device having coupled subsystem memory buses for global DMA access | |
| GB1531926A (en) | Hierarchical data storage systems | |
| JP3039557B2 (en) | Storage device | |
| US5353416A (en) | CPU lock logic for corrected operation with a posted write array | |
| US6279066B1 (en) | System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator | |
| US20020057711A1 (en) | External bus arbitration technique for multicore DSP device | |
| US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
| JPH0330175B2 (en) | ||
| US5408612A (en) | Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register | |
| US5440689A (en) | Interprocessor communication system for direct processor to processor communication between internal general purpose registers transparent to the execution of processors thereof | |
| US7240144B2 (en) | Arbitration of data transfer requests | |
| US20030018859A1 (en) | Arbitration in local system for access to memory in a distant subsystem | |
| JPH0227696B2 (en) | JOHOSHORISOCHI | |
| JPS6153747B2 (en) | ||
| JPH0358163A (en) | Loosely coupled multiprocessor system | |
| JP2643116B2 (en) | Main memory controller | |
| JPS63175964A (en) | shared memory | |
| JP2946561B2 (en) | Multiprocessor system | |
| JP2731743B2 (en) | Parallel computer with communication register | |
| JP2505021B2 (en) | Main memory controller | |
| JPH04250553A (en) | Programmable controller | |
| KR960007835B1 (en) | Common memory access device for multi-processor | |
| JPH01154272A (en) | multiprocessor equipment |