JPS6364143A - Memory access control circuit - Google Patents
Memory access control circuitInfo
- Publication number
- JPS6364143A JPS6364143A JP20794186A JP20794186A JPS6364143A JP S6364143 A JPS6364143 A JP S6364143A JP 20794186 A JP20794186 A JP 20794186A JP 20794186 A JP20794186 A JP 20794186A JP S6364143 A JPS6364143 A JP S6364143A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- circuit
- access
- access request
- 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.)
- Pending
Links
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はメモリアクセス制御回路に係り、特に高速なメ
モリアクセスに好適な制御回路に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a memory access control circuit, and particularly to a control circuit suitable for high-speed memory access.
従来の装置においてはメモリを複数のバンクに分割し、
連続したアドレス空間として構成していた。(たとえば
、日経エレクトロニクスブック「汎用大型コンピュータ
J pp251〜263(1982年5月)参照)メモ
リアクセス方法として高速のアクセスを可能にする為ア
クセス要求元がリクエストを送出するとメモリ制御回路
からリクエストの受付信号を受取る前に次のリクエスト
を送出する方法も提案されている。この時遅れて、届く
はずの受付信号が受信されないと再試行(リドウ)とな
り、受付けられなかったリクエストから後のリクエスト
は再びメモリに対しアクセスし直された。In conventional devices, memory is divided into multiple banks;
It was configured as a continuous address space. (For example, see Nikkei Electronics Book, General Purpose Large Computer J pp. 251-263 (May 1982)) To enable high-speed access as a memory access method, when an access requester sends a request, a request acceptance signal is sent from the memory control circuit. A method has also been proposed in which the next request is sent before the next request is received.If there is a delay at this time and the expected acceptance signal is not received, a retry will occur, and the requests after the failed request will be sent to the memory again. has been accessed again.
上記従来技術はメモリは複数のバンクに分れて構成され
複数のメモリアクセス要求元が存在し、同時に複数のメ
モリアクセス要求が発生し得る場合については配慮がさ
れておらず、この場合に適用すると同時に発生したメモ
リアクセス要求が、同一バンクをアクセスし得る為に新
たにバンクコンフリクトを発生するという問題があった
。バンクコンフリクトが発生することの問題点はメモリ
へアクセスできないアクセス要求が存在する為に。The above-mentioned conventional technology does not take into consideration the case where the memory is divided into multiple banks, there are multiple memory access request sources, and multiple memory access requests may occur at the same time. There is a problem in that memory access requests that occur simultaneously can access the same bank, resulting in a new bank conflict. The problem with bank conflicts is that there are access requests that cannot access memory.
これをできるだけ早く再試行しアクセスを完了させない
と処理が遅れてしまい性能が低下することである。If this is not retried as soon as possible to complete the access, processing will be delayed and performance will deteriorate.
本発明の目的はバンクコンフリクトが発生した場合、そ
のメモリアクセスの要求元で、早いタイミングでその発
生を検出し、再試行を行うことにある。An object of the present invention is to detect the occurrence of a bank conflict at an early timing at the source of the memory access request and to retry the bank conflict.
上記目的は、複数のメモリアクセス要求元が相互にメモ
リアクセスの種類やバンク情報等を交換する交換手段と
交換された上記情報とメモリアクセス要求元の情報によ
りバンクコンフリクトの発生を検出する手段と、その結
果に基づき再試行する手段を設けることにより達成され
る。The above object includes an exchange means for mutually exchanging memory access types, bank information, etc. between a plurality of memory access request sources, and a means for detecting occurrence of bank conflict based on the exchanged information and information of the memory access request sources; This is achieved by providing a means to retry based on the result.
上記交換手段により通知されたメモリアクセスとメモリ
アクセス要求元の情報によりバンクコンフリクトの発生
を検出し、その結果に基づき再試行することになるので
実際にメモリをアクセスしてバンクコンフリクトが発生
したか否か判明するのを持ち再試行する方式に比べ、再
試行を開始するタイミングが早くなる。The occurrence of a bank conflict is detected based on the memory access notified by the above exchange means and the information of the memory access request source, and a retry is performed based on the result. Compared to a method that waits until it is known before retrying, the timing for starting retrying is faster.
以下、本発明の一実施例を第1図により説明する。第1
図はプロセッサと主記憶を示している。An embodiment of the present invention will be described below with reference to FIG. 1st
The figure shows the processor and main memory.
主記憶はパンクAメモリ10とバンクBメモリ20より
構成されており、アドレスが偶数が奇数かに従い、それ
ぞれバンクBメモリ20.バンクAメモリ10が選ばれ
る。The main memory is composed of a puncture A memory 10 and a bank B memory 20, and depending on whether the address is an even number or an odd number, the bank B memory 20... Bank A memory 10 is selected.
プロセッサは主記憶の制御をするメモリ制御回路(SC
tJ)200と命令のデコード、オペランドアドレスの
計算及びオペランドフェッチの起動等を行なう命令解読
回路(IB)100と命令に定められた演算を行なう演
算回路30と次に実行される命令のアドレスを管理し命
令フェッチの起動等を行なう命令アドレス管理回路CI
A)300の4つの回路に大別される。The processor has a memory control circuit (SC) that controls the main memory.
tJ) 200, an instruction decoding circuit (IB) 100 that decodes instructions, calculates operand addresses, starts operand fetching, etc., an arithmetic circuit 30 that performs operations specified in the instruction, and manages the address of the next instruction to be executed. An instruction address management circuit CI that starts instruction fetch, etc.
A) It is roughly divided into 300 four circuits.
演算回路3oはメモリ制御回路200からオペランドデ
ータバス212によりオペランドデータを受取り命令解
読回路100の指示する演算を行なう、演算結果をメモ
リヘスドアする場合はストアデータバス32にストアデ
ータを送出し、ストア要求34を発行する。The arithmetic circuit 3o receives operand data from the memory control circuit 200 via the operand data bus 212, and performs an operation instructed by the instruction decoding circuit 100.When storing the operation result in the memory, it sends the store data to the store data bus 32, and stores the store request 34. Issue.
命令解読回路(IB)100は命令データバス116か
ら送られて来た命令を解読し、オペランドフェッチ要求
がある場合にはオペランドアドレスを計算し、アドレス
をO系アドレスバス110に送出し0系アクセス要求1
12を発行する。0系アクセス要求ではこの他に分岐先
命令フェッチも行なわれる。The instruction decoding circuit (IB) 100 decodes the instruction sent from the instruction data bus 116, calculates the operand address if there is an operand fetch request, and sends the address to the O-system address bus 110 for 0-system access. Request 1
Issue 12. In the 0-system access request, a branch destination instruction is also fetched.
命令アドレス管理回路(IA)300では次命令のアド
レスを管理しており、1系アドレスバス310と1系ア
クセス要求112により次命令のフェッチ要求を送出す
る。1系アクセス要求では、演算回路30から送られて
来るストア要求に対するオペランドストアも行なわれる
。The instruction address management circuit (IA) 300 manages the address of the next instruction, and sends out a fetch request for the next instruction using the 1-system address bus 310 and the 1-system access request 112. In the 1-system access request, an operand store for a store request sent from the arithmetic circuit 30 is also performed.
メモリ制御回路(SCU)200はO系、1系のアクセ
ス要求を受け、これらをそのアドレス、こ従いパンクA
メモリ10.バンクBメモリ20にアクセスさせる。ア
クセスが成功した場合O系。The memory control circuit (SCU) 200 receives access requests from the O system and 1 system, and assigns these access requests to their addresses and accordingly the puncture A.
Memory 10. The bank B memory 20 is accessed. O type if access is successful.
1系アクセス要求112,312に対応する0系。The 0 system corresponds to the 1 system access request 112,312.
1系アクセス受付信号114.314をそれぞれlB1
00.lA300に対して送出する。又フェッチがオペ
ランドフェッチか命令フェッチかに従い、オペランドデ
ータバス212.命令データバス116にそれぞれ転送
終了信号210,113とともにオペランド又は命令を
送出する。1 system access acceptance signal 114.314 respectively 1B1
00. Send to lA300. Also, depending on whether the fetch is an operand fetch or an instruction fetch, the operand data bus 212. Operands or instructions are sent to the instruction data bus 116 together with transfer end signals 210 and 113, respectively.
アクセスが成功しなかった場合、アクセス受付信号は発
行されない、これによりlB100゜lA300はアク
セス要求が受付られなかったことを検出しアクセス要求
の再送を行なう、この動作をリドウを言う。If the access is not successful, no access acceptance signal is issued, whereby the IB100°1A300 detects that the access request has not been accepted and resends the access request. This operation is called redo.
アクセスが成功しない場合の一つとしてO同時に発生し
た系、1系のアクセスが同一バンク(例えばバンクAメ
モリ10)へ対し行なわれる場合がある、この場合2つ
の要求をともに完了することはできない、これをバンク
コンフリクトと言う。One of the cases in which the accesses are not successful is when accesses of the O system and the 1 system that occur simultaneously are made to the same bank (for example, bank A memory 10).In this case, both requests cannot be completed. This is called a bank conflict.
バンクコンフリクトが発生した場合5CU200は予め
決められた優先順位に従って、連光順位の高いアクセス
を受付け、他は受付ない(ここでは0系アクセス優先と
する)、従って1系アクセスはリドウになる。When a bank conflict occurs, the 5CU 200 accepts the access with a higher continuous light order according to a predetermined priority order, and does not accept the others (here, the 0 system access is given priority). Therefore, the 1 system access becomes redundant.
0系アドレス110.0系アクセス要求112゜0系ア
クセス受付114はlA300へ、1系アドレス310
.1系アクセス要求312.1系アクセス受付314は
lB100へ送られている。0 system address 110.0 system access request 112゜0 system access reception 114 to lA300, 1 system address 310
.. The 1-system access request 312.1-system access reception 314 is sent to the IB 100.
これによりlB100.lA300は互いのアクセスが
行なわれたか否か、行なわれた場合どちらのメモリバン
クに対してかを知ることができる。This results in 1B100. The IA 300 can know whether or not mutual access is performed, and if so, to which memory bank.
これらの情報によ1JIB100.lA300は5CU
200において自アクセス要求がリドウと判定されるこ
とを予め検知することができ、これにより5CU200
からのアクセス受付信号が発行されないことを確かめる
のを待たすリドウを行うことができる。Based on this information, 1JIB100. lA300 is 5CU
It is possible to detect in advance that the own access request is determined to be redo in 200, and as a result, 5CU200
Redo can be performed by waiting to confirm that no access acceptance signal is issued.
この動作を次に第2図により時間的に説明する。This operation will now be explained in terms of time with reference to FIG.
第2図(a)はSCUで行なわれたリドウの判定を待っ
てリドウを行なう場合を、第2図(b)はSCUで行な
われたリドウ判定を待たずIAでリドウの判定を行ない
リドウを行う場合を示す。Figure 2 (a) shows the case where redo is performed after waiting for the redo judgment made in SCU, and Fig. 2 (b) shows the case where redo is performed without waiting for the redo judgment made in SCU and the redo is judged in IA. Indicates when to do so.
ここで先に大別して挙げたプロセッサの4つの回路部分
を信号が伝送され判定するのにIMO必要であると仮定
する。Here, it is assumed that the IMO is necessary for transmitting and determining signals to the four circuit parts of the processor that have been broadly classified above.
まず第2図(a)の場合では、1系アクセス要求312
が順に1,2,3.・・・・・・とlA300より送出
されると5CU200は1系アクセス要求312が受付
可の場合1系アクセス受付信号314を発行する。この
例ではTaで発行された“3”で示される1系アクセス
要求信号312が5CU200で受付不可と判定され、
1系アクセス受付信号314はT4からは発行されない
(“(3)”で示される)。First, in the case of FIG. 2(a), the system 1 access request 312
are 1, 2, 3 in order. . . . is sent from the IA 300, and the 5CU 200 issues a 1-system access acceptance signal 314 if the 1-system access request 312 is acceptable. In this example, the 5CU 200 determines that the system 1 access request signal 312 issued at Ta and indicated by "3" cannot be accepted.
The system 1 access acceptance signal 314 is not issued from T4 (indicated by "(3)").
これを受けlA200はTaから“3″で示される1系
アクセス要求信号312を発行しリドウ動作を行なう、
この間2サイクル空きが生じる。In response to this, the lA 200 issues a system 1 access request signal 312 indicated by "3" from Ta and performs a redo operation.
During this time, two cycles are left vacant.
次に第2図(b)を説明する。ここで0系アクセス要求
信号112等と1系アクセス要求信号312等はそれぞ
れlA300とlB100(7)間で交換されている0
図中のitA” uB”はそれぞれバンクAメモリ1
0.バンクBメモリ20へのアクセス要求を示す、Ta
で発行されたアクセスはバンクコンフリクトを生こし、
どちらもバンクBメモリ20へのアクセス要求が発行さ
れている。lA300中ではO系アクセス要求112等
の情報は検知されるのでlA300では予め定められた
優先順位に従ってこの“3″の要求が5CU200でリ
ドウと判定されるのを予見することができる。従ってl
A300は、1系アクセス要求信号312にT4から“
3”の要求をリドウで発行することができる。この間空
きサイクルは1サイクルしか生じず第2図(a)の例に
対し1サイクル改善されている。Next, FIG. 2(b) will be explained. Here, the 0-system access request signal 112, etc. and the 1-system access request signal 312, etc. are exchanged between the lA300 and lB100 (7), respectively.
ItA"uB" in the figure is bank A memory 1, respectively.
0. Ta indicating an access request to bank B memory 20
Accesses issued in the bank create bank conflicts,
In both cases, an access request to bank B memory 20 has been issued. Since information such as the O-system access request 112 is detected in the IA 300, it is possible to predict that the request "3" will be determined as a redo by the 5CU 200 according to a predetermined priority order. Therefore l
A300 sends “ from T4 to system 1 access request signal 312.
3'' request can be issued by redo. During this time, only one idle cycle occurs, which is an improvement of one cycle compared to the example shown in FIG. 2(a).
これによりコンフリクトからの回復動作が早く行なえる
ので本発見によれば等価的にメモリのスルーブツトが増
すという効果がある。As a result, the recovery operation from the conflict can be performed quickly, and the present discovery has the effect of equivalently increasing the memory throughput.
次に第3図に上記の機能を果すlA300の構成、動作
について示す、ラッチ320,330は過去3サイクj
LzにlB100.lA300(7)発行したアクセス
要求の種類とメモリバンクを示しており、0系アドレス
110.0系アクセス要求112、O系アドレス受付1
14や、1系アクセス要求312.1系アドレス310
により更新される。この情報を信号線322,332に
より受取ったリドウ判定回路340はバンクコンフリク
トを検出しIA判定のリドウを行うか否かを決定し、信
号342に送出する。Next, FIG. 3 shows the configuration and operation of the lA300 that performs the above functions.The latches 320 and 330 are
lB100 to Lz. lA300 (7) Shows the type of access request issued and the memory bank, 0 system address 110.0 system access request 112, O system address reception 1
14, 1 system access request 312.1 system address 310
Updated by. Redo determination circuit 340 receives this information through signal lines 322 and 332, detects a bank conflict, determines whether or not to perform IA determination redo, and sends signal 342.
メモリアクセス要求決定回路350は、lA300が本
来発行すべき要求を蓄えたラッチ360からの信号36
2と1系アクセス受付信号314と信号342を受け、
次の1系アクセス要求312を決定する。さらに送出す
べきアドレスを選択するセレクタ372,392を制御
する信号314を送出する。The memory access request determination circuit 350 receives a signal 36 from a latch 360 that stores the request that the lA 300 should originally issue.
2 and 1 system access acceptance signal 314 and signal 342 are received,
The next 1-system access request 312 is determined. Furthermore, it sends out a signal 314 that controls selectors 372 and 392 that select the address to be sent.
第4図に5CU200の構成を示す。FIG. 4 shows the configuration of the 5CU 200.
バンクコンフリクト判定回路220はO系アドレス1i
0.O系アクセス要求112.1系アドレス310.1
系アクセス要求312を受け、バンクコンフリクトの発
生を検出する。検出された場合、予め決められた優先順
位に従い(ここでは0系優先)0系アクセス受付114
を送出し、1系アクセス受付314は送出しない。The bank conflict determination circuit 220 uses the O system address 1i.
0. O system access request 112.1 system address 310.1
Upon receiving the system access request 312, occurrence of bank conflict is detected. If detected, 0 system access reception 114 according to a predetermined priority (here, 0 system priority)
is sent, and the 1st system access reception 314 is not sent.
同時に送出されたアクセス要求がバンクコンフリクトを
発生しない場合、それぞれの要求はセレクタ230,2
32によりアドレス12.22に送出され、メモリアク
セスが行なわれる。If the access requests sent at the same time do not cause a bank conflict, each request is sent to the selector 230, 2
32 to address 12.22, and memory access is performed.
本発明によればメモリアクセス要求元から発行された要
求信号を複数の要求元で相互交換し、バンクコンフリク
トが発生した場合各要求元があらかじめ定められた優先
順位に従い、要求が完了された否かをメモリ制御回路に
よる判定を待たずに判定できるので、バンクコンフリク
トが発生した場合に要求を再発行するタイミングが早く
できる。According to the present invention, request signals issued from a memory access request source are mutually exchanged among a plurality of request sources, and when a bank conflict occurs, each request source determines whether the request has been completed or not according to a predetermined priority order. Since this can be determined without waiting for the determination by the memory control circuit, the timing for reissuing a request can be made earlier if a bank conflict occurs.
これによりコンフリクトからの復旧が早く行なえるので
等価的にメモリのスループットが増すという効果がある
。This allows quick recovery from conflicts, which has the effect of equivalently increasing memory throughput.
【図面の簡単な説明】
第1図は本発明の一実施例の全体構成図、第2図は本発
明の一実施例によるメモリアクセスを示すタイムチャー
ト、第3図は第1図の命令アドレス管理回路300の内
部構成図、第4図は第1図のメモリ制御回路200の内
部構成図である。
10・・・メモリバンクA、20・・・メモリバンクB
、200・・・メモリ制御回路、300・・・アドレス
管理回路、100・・・命令解読回路、340・・・リ
ドウ判定回路、350・・・メモリアクセス要求決定回
路、(−/′
(b)IA判定のりFつ
第 4z
尾[Brief Description of the Drawings] Fig. 1 is an overall configuration diagram of an embodiment of the present invention, Fig. 2 is a time chart showing memory access according to an embodiment of the present invention, and Fig. 3 is an instruction address of Fig. 1. An internal configuration diagram of the management circuit 300, FIG. 4 is an internal configuration diagram of the memory control circuit 200 of FIG. 10...Memory bank A, 20...Memory bank B
, 200...Memory control circuit, 300...Address management circuit, 100...Instruction decoding circuit, 340...Redo determination circuit, 350...Memory access request determination circuit, (-/' (b) IA judgment glue F 4th tail
Claims (1)
メモリ制御する回路とを有し、該二つのアクセス要求回
路は該メモリ制御回路2とを有する計算機システムにお
いて、 各アクセス要求回路からのメモリアクセスアドレスを該
アクセス要求回路間で交換する手段と、該他のアクセス
要求回路から過去に送出されたアクセスアドレスを記憶
する各アクセス要求回路ごとに設けたラッチと各アクセ
ス要求回路で新たに発生したメモリアクセスアドレスと
該ラッチの内容を比較し、バンクコンフリクトが生じた
か否かを判定する回路を設けたことを特徴とするメモリ
アクセス制御回路。[Scope of Claims] 1. In a computer system having a plurality of access request circuits, a memory divided into banks, and a memory control circuit, the two access request circuits each having the memory control circuit 2, A means for exchanging memory access addresses from the access request circuits between the access request circuits, a latch provided for each access request circuit that stores access addresses sent in the past from other access request circuits, and each access request circuit. A memory access control circuit comprising a circuit that compares a memory access address newly generated in the circuit with the contents of the latch to determine whether a bank conflict has occurred.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20794186A JPS6364143A (en) | 1986-09-05 | 1986-09-05 | Memory access control circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20794186A JPS6364143A (en) | 1986-09-05 | 1986-09-05 | Memory access control circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6364143A true JPS6364143A (en) | 1988-03-22 |
Family
ID=16548072
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20794186A Pending JPS6364143A (en) | 1986-09-05 | 1986-09-05 | Memory access control circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6364143A (en) |
-
1986
- 1986-09-05 JP JP20794186A patent/JPS6364143A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4365292A (en) | Array processor architecture connection network | |
| US4412303A (en) | Array processor architecture | |
| US5043873A (en) | Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems | |
| US4722049A (en) | Apparatus for out-of-order program execution | |
| EP0351955B1 (en) | Multiprocessor systems with cross-interrogated store-in-caches | |
| US6108766A (en) | Structure of processor having a plurality of main processors and sub processors, and a method for sharing the sub processors | |
| EP0553743A1 (en) | A cache controller | |
| EP0184828A2 (en) | Vector processing apparatus | |
| US5696939A (en) | Apparatus and method using a semaphore buffer for semaphore instructions | |
| JP2561261B2 (en) | Buffer storage access method | |
| JPH01269142A (en) | Buffer memory control system | |
| JPH06131244A (en) | Asynchronous access method for shared memory | |
| JPH0410102B2 (en) | ||
| US6298355B1 (en) | Computer system | |
| US5185879A (en) | Cache system and control method therefor | |
| JPS6364143A (en) | Memory access control circuit | |
| EP0700005B1 (en) | Vector data bypass mechanism for vector computer | |
| JP3205989B2 (en) | Information processing system | |
| JPH0680503B2 (en) | Method and apparatus for prioritizing mutual inquiry requests | |
| JP2814683B2 (en) | Instruction processing unit | |
| JPS6227837A (en) | Main memory access system | |
| US6996665B2 (en) | Hazard queue for transaction pipeline | |
| JP2506975B2 (en) | Buffer invalidation processing method of information processing device | |
| EP0553742A1 (en) | A method of operating a first and second cache tag memory array | |
| JP3126129B2 (en) | Priority control device |