JPH10228418A - Memory controller and memory controlling method - Google Patents

Memory controller and memory controlling method

Info

Publication number
JPH10228418A
JPH10228418A JP9033447A JP3344797A JPH10228418A JP H10228418 A JPH10228418 A JP H10228418A JP 9033447 A JP9033447 A JP 9033447A JP 3344797 A JP3344797 A JP 3344797A JP H10228418 A JPH10228418 A JP H10228418A
Authority
JP
Japan
Prior art keywords
memory
access
page address
cache
transfer
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
Application number
JP9033447A
Other languages
Japanese (ja)
Inventor
Akihito Mochizuki
昭仁 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP9033447A priority Critical patent/JPH10228418A/en
Publication of JPH10228418A publication Critical patent/JPH10228418A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten a standby time of each processor which is generated at the time of access competition without bringing about the transfer efficiency drop of a memory bus due to overhead which is accompanied with interruption and restart of data transfer by suspending a shared memory access based on an access request from a processor that is in the process of data transfer and interrupting data transfer to any cache memory to which a page address agrees. SOLUTION: A page address for a shared memory part 5 in transfer through a common memory bus 3 is held. With this, a page address for the part 5 which is desired by an access request to cache memory that is different from a cache memory which is in a transfer state is detected. When a page address that is in the process of transfer coincides with a page address that is desired by the access request, data transfer to cache memory that agrees to the page address is interrupted in a state where access to shared memory during data transfer is held.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、各々のプロセッサ
の専用のキャッシュメモリと各キャッシュメモリが共通
のバスを通じてデータを転送する共有メモリとのアクセ
スを制御するメモリ制御装置およびメモリ制御方法に関
するものである。
The present invention relates to a memory control device and a memory control method for controlling access to a dedicated cache memory of each processor and a shared memory in which each cache memory transfers data through a common bus. is there.

【0002】[0002]

【従来の技術】従来、各々のプロセッサの専用のキャッ
シュメモリと各キャッシュメモリが共通のバスを通じて
データを転送するところのDRAMを構成する共有メモ
リとを備えるマルチプロセッサシステムにおいて、各キ
ャッシュメモリはプロセッサからのアクセスによるミス
ヒットなどの発生によりメモリバスコントローラに対し
て共有メモリへのアクセス要求信号を発生する。メモリ
バスコントローラは各キャッシュメモリから共有メモリ
へのアクセス要求信号を検出し、バスの使用状況に応じ
て各キャッシュメモリからのアクセス要求の調停を行
い、その結果、共有メモリへのアクセスが可能となるキ
ャッシュメモリに対してアクセス許可信号を発生する。
2. Description of the Related Art Conventionally, in a multiprocessor system including a dedicated cache memory of each processor and a shared memory constituting a DRAM in which each cache memory transfers data through a common bus, each cache memory is transmitted from a processor. Generates an access request signal to the shared memory to the memory bus controller due to occurrence of a mishit or the like due to the access of the memory bus. The memory bus controller detects an access request signal from each cache memory to the shared memory, arbitrates the access request from each cache memory according to the bus usage, and as a result, allows access to the shared memory. An access permission signal is generated for the cache memory.

【0003】そして、メモリバスコントローラの調停に
よりアクセス権を得たキャッシュメモリはメモリバスを
ドライブし、共有メモリに対するアクセスを開始する。
キャッシュラインデータは、あらかじめ決められたサイ
ズのブロック単位でバースト転送モードにより高速転送
される。
[0003] The cache memory, which has obtained the access right by the arbitration of the memory bus controller, drives the memory bus and starts accessing the shared memory.
Cache line data is transferred at high speed in a burst transfer mode in units of blocks of a predetermined size.

【0004】一方、アクセス要求を発しながら、バスコ
ントローラの調停結果によりアクセス権を得られなかっ
た各キャッシュメモリは、アクセス権を獲得するまで継
続してアクセス要求を保持する。また、このキャッシュ
メモリに対してアクセスするプロセッサはこの間ウエイ
トサイクルによる待機状態を保持する。
On the other hand, each cache memory which has not been able to obtain the access right due to the arbitration result of the bus controller while issuing the access request continues to hold the access request until it obtains the access right. Further, the processor accessing this cache memory holds the wait state by the wait cycle during this time.

【0005】しかしながら、このようなメモリアクセス
シーケンスに従う共有メモリシステムでは、複数のキャ
ッシュメモリ間で発生するアクセス衝突において、共通
メモリバスはアクセスを許可されるただ一つのキャッシ
ュメモリによりアクセス単位(キャッシュライン=一定
のブロックサイズデータ)の間占有される。
However, in a shared memory system that follows such a memory access sequence, in an access collision occurring between a plurality of cache memories, the common memory bus is accessed by only one cache memory permitted to access (cache line = cache line). (Fixed block size data).

【0006】従って、競合するアクセス要求の増加によ
り、競合による各キャッシュメモリのアクセス待機時
間、およびキャッシュメモリのアクセス要求の原因であ
るプロセッサのアクセス待機時間が増大し、結果的にシ
ステムトータルの処理効率の低下を招くことになる。
Accordingly, the increase in the number of competing access requests increases the access wait time of each cache memory due to the contention and the access wait time of the processor which causes the cache memory access request, resulting in a total processing efficiency of the system. Will be reduced.

【0007】このような処理効率の低下を回避する方法
として、転送中の共有メモリへのアクセスを一旦停止さ
せ、優先すべき転送要求に対するデータ転送を割り込ま
せることにより上述した処理効率の低下を改善すること
が考えられる。この方法について以下に説明する。
As a method of avoiding such a decrease in processing efficiency, the above-described decrease in processing efficiency is improved by temporarily stopping access to the shared memory during transfer and interrupting data transfer in response to a transfer request to be prioritized. It is possible to do. This method will be described below.

【0008】周知の通り、プロセッサやDMAによるメ
モリアクセスは連続性および局所性を持ち、キャッシュ
メモリはこの性質を利用して実質的なアクセス効率を向
上させている。ここで、実際のキャッシュラインデータ
の転送について着目すると、ミスヒットの発生原因であ
るところのキャッシュメモリへのアクセスが所望するデ
ータは、キャッシュラインデータ転送の初期に転送され
る傾向を呈しており、この性質が上述のメモリアクセス
の連続性に起因することは明らかである。
As is well known, memory access by a processor or DMA has continuity and locality, and the cache memory utilizes this property to substantially improve access efficiency. Here, paying attention to the actual transfer of cache line data, the data desired to access the cache memory, which is the cause of the occurrence of a mishit, tends to be transferred at the beginning of the cache line data transfer. It is clear that this property results from the continuity of the memory access described above.

【0009】従って、キャッシュラインの初期データが
転送された時点で一時転送を中断したとしても、転送の
起因となったキャッシュメモリアクセスへの影響はきわ
めて少ないと言える。上述の処理効率の改善方法はこの
ような性質を利用することにより共有メモリへのアクセ
ス競合時の各プロセッサの待機によるロスを軽減するも
のである。
Therefore, even if the temporary transfer is interrupted when the initial data of the cache line is transferred, it can be said that the influence on the cache memory access which caused the transfer is extremely small. The above-described method for improving processing efficiency uses such a property to reduce the loss due to the waiting of each processor at the time of contention for access to the shared memory.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、上述の
方法による複数のキャッシュメモリによるアクセス競合
制御は、データ転送の中断,再開に伴うオーバヘッドサ
イクルの付加によりキャッシュライン当りのメモリバス
占有時間の増大を伴うものである。
However, access contention control using a plurality of cache memories according to the above-described method involves an increase in the memory bus occupation time per cache line due to the addition of an overhead cycle accompanying the interruption and restart of data transfer. Things.

【0011】なお、ここでいうオーバヘッドサイクルと
は、DRAMアクセスに不可欠であるプリチャージサイ
クルと転送再開時の行アドレスの再出力に必要な時間に
相当するメモリアクセスサイクルのことである。
Here, the overhead cycle is a precharge cycle indispensable for DRAM access and a memory access cycle corresponding to a time required for re-outputting a row address at the time of resuming transfer.

【0012】このオーバヘッドサイクルは上述のように
割り込みアクセスによるデータ転送の中断,再開時に必
須であるため、競合頻度と共に増大し、結果的にメモリ
バスの転送効率を低下させる。
Since the overhead cycle is indispensable at the time of interrupting and resuming the data transfer due to the interrupt access as described above, the overhead cycle increases with the contention frequency, and consequently reduces the transfer efficiency of the memory bus.

【0013】以下に図3および図4に示すタイミングチ
ャートを参照して、従来のメモリ制御動作について説明
する。
A conventional memory control operation will be described below with reference to timing charts shown in FIGS.

【0014】図3,図4は、従来のメモリ制御装置の動
作を説明するタイミングチャートであり、図3は、割り
込みを行わない場合の共有メモリ(DRAM)アクセス
について各メモリステートに分解して説明するためのタ
イミングチャートに対応し、図4は、図3と同様に4ワ
ードをキャッシュラインとする転送において第1のキャ
ッシュラインの2ワード目の転送終了時点で一旦転送を
中断させ、第2のキャッシュラインを割り込ませてアク
セスしたタイミングチャートに対応する。
FIGS. 3 and 4 are timing charts for explaining the operation of the conventional memory control device. FIG. 3 is an explanation of an access to a shared memory (DRAM) in the case where no interrupt is performed, decomposed into respective memory states. FIG. 4 shows a timing chart for performing a transfer operation using four words as a cache line, as in FIG. 3, and temporarily suspends the transfer at the end of the transfer of the second word of the first cache line. This corresponds to a timing chart in which a cache line is interrupted and accessed.

【0015】なお、説明を簡略化するため各ステートに
要する時間を等しく表現している。
Note that the time required for each state is expressed equally for the sake of simplicity.

【0016】図3において、メモリアクセスは6つのス
テート[RA],[C0]〜[C3],[PR]で構成
され、キャッシュラインサイズを4ワードとしている。
実際にはリフレッシュサイクルのためのステートが別に
発生するがここでは省略して説明する。
In FIG. 3, a memory access is composed of six states [RA], [C0] to [C3], and [PR], and has a cache line size of 4 words.
Actually, a state for the refresh cycle is separately generated, but the description will be omitted here.

【0017】メモリアクセスは、行アドレスをメモリに
与えるステート[RA]から開始され、ステート[C
0]が続いて列アドレスを与える。キャッシュラインの
先頭データはこの[C0]ステートにより読み出される
[データA0]である。
A memory access is started from a state [RA] for giving a row address to a memory, and is started from a state [C].
0] follows. The head data of the cache line is [data A0] read in this [C0] state.

【0018】そして、バースト転送モードにより、引き
続きステート[C1]〜[C3]が与えられ、[データ
A1]〜[データA3]が読み出され第1のキャッシュ
ライン(4ワード)の転送が終了する。
In the burst transfer mode, states [C1] to [C3] are successively applied, [Data A1] to [Data A3] are read, and the transfer of the first cache line (4 words) is completed. .

【0019】そして、転送が終了したDRAMに対し
て、次の転送が行われる場合にはプリチャージステート
[PR]を挿入しなければならない。従って、第2のキ
ャッシュラインの転送が開始される前に必ずステート
[PR]が必要となる。
When the next transfer is performed on the DRAM for which the transfer has been completed, a precharge state [PR] must be inserted. Therefore, the state [PR] is always required before the transfer of the second cache line is started.

【0020】以降、第1キャッシュラインと同様にステ
ート[RA]〜[C3]によって転送を終了する。
Thereafter, similarly to the first cache line, the transfer is completed by the states [RA] to [C3].

【0021】次に、図4により従来例で示す中断,割り
込みアクセスを行った場合の共有メモリアクセスについ
て説明する。
Next, referring to FIG. 4, a description will be given of a shared memory access in the case where interruption and interruption access shown in the conventional example are performed.

【0022】図4に示すように、図3と同様に4ワード
をキャッシュラインとする転送において、第1のキャッ
シュラインの2ワード目の転送終了時点で一旦転送を中
断させ、第2のキャッシュラインを割り込ませてアクセ
スする際、第1および第2のキャッシュライン転送の原
因となるキャッシュミスヒットを発生させたアドレスが
所望するデータが共にそれぞれのキャッシュライン転送
の第1データであったと仮定した場合、第1キャッシュ
ラインでは[データA0]が、第2キャッシュラインで
は[データB0]がそれぞれこれに該当することにな
る。
As shown in FIG. 4, in the transfer using four words as a cache line as in FIG. 3, the transfer is temporarily interrupted at the end of the transfer of the second word of the first cache line, and the second cache line is stopped. When the access is performed by assuming that the desired data at the address that caused the cache mishit that causes the first and second cache line transfer was both the first data of the respective cache line transfer [Data A0] in the first cache line, and [Data B0] in the second cache line.

【0023】ここで、第2のキャッシュラインの[デー
タB0]に着目すると図3に比べて図4に示す方が2ス
テート分早く読み出されていることがわかる。
Here, focusing on [data B0] of the second cache line, it can be seen that the data is read out two states earlier in FIG. 4 than in FIG.

【0024】すなわち、これは第2のキャッシュライン
転送の原因となったプロセッサアクセスの所望するデー
タが2ステート分早くキャッシュに読み出され、結果的
にプロセッサの待機時間が短縮されることを示してい
る。
In other words, this indicates that the desired data of the processor access which caused the second cache line transfer is read into the cache two states earlier, resulting in a reduction in the waiting time of the processor. I have.

【0025】しかしながら、第1および第2のキャッシ
ュラインの転送が終了するタイミングは逆に図3に示す
方が2ステート分早く終了する。図3と図4とのアクセ
スタイミングの比較により明らかなように、これは中
断,再開によりプリチャージステート[PR]と行アド
レス再出力ステート[RA]の2ステート分の増加に当
たる。これが前述のオーバヘッドステートであり、該ス
テートはキャッシュライン中に発生する中断,再開に比
例して増加し、転送効率を圧迫する原因となるのであ
る。
However, the timing at which the transfer of the first and second cache lines ends is reversed by two states earlier in FIG. As is clear from the comparison of the access timing between FIG. 3 and FIG. 4, this corresponds to an increase of two states of the precharge state [PR] and the row address re-output state [RA] due to interruption and restart. This is the above-mentioned overhead state, and this state increases in proportion to the interruption and resumption that occurs in the cache line, and causes a reduction in transfer efficiency.

【0026】以上の説明のように、前述の方法によれ
ば、キャッシュラインの転送中に割り込ませて別のキャ
ッシュメモリへの転送を可能にすることにより、アクセ
ス競合時に発生するプロセッサの待機時間の短縮が可能
になるが、反面、転送の中断,再開に伴うオーバヘッド
によりメモリバスの転送効率低下を招くといった問題点
が生じていた。
As described above, according to the above-described method, the interruption during the transfer of the cache line is enabled to transfer the data to another cache memory. Although it is possible to shorten the transfer time, on the other hand, there is a problem that the transfer efficiency of the memory bus is reduced due to the overhead caused by the interruption and restart of the transfer.

【0027】本発明は、上記の問題点を解消するために
なされたもので、本発明の目的は、いずれかのプロセッ
サからの共有メモリに対するデータ転送中に、データ転
送のページアドレスが他のプロセッサから共有メモリの
ページアドレスに等しければ、そのプロセッサに共有メ
モリへのアクセス権を発行し、他方データ転送中のプロ
セッサにはデータ転送を中断させ、かつアクセス権を得
たプロセッサにはページアドレスの発生を省略して、継
続して共有メモリから読み出したデータをキャッシュメ
モリに転送させることにより、データ転送の中断,再開
に伴うオーバヘッドによるメモリバスの転送効率低下を
招くことなく、アクセス競合時に発生する各プロセッサ
の待機時間を短縮させてデータ転送処理効率を向上でき
るメモリ制御装置およびメモリ制御方法を提供すること
である。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to change the page address of data transfer to another processor during data transfer from one of the processors to the shared memory. From the shared memory, the access right to the shared memory is issued to the processor, the data transfer is interrupted to the processor currently transferring the data, and the page address is generated to the processor having the access right. Is omitted, and the data read from the shared memory is continuously transferred to the cache memory, so that the transfer efficiency of the memory bus does not decrease due to the overhead due to the interruption and restart of the data transfer, and each of the occurrences at the time of access conflict occurs. A memory control device capable of improving the data transfer processing efficiency by reducing the standby time of the processor And to provide a memory control method.

【0028】[0028]

【課題を解決するための手段】本発明に係る第1の発明
は、それぞれキャッシュメモリを備える複数のプロセッ
サから共有メモリに対するメモリアクセスを制御する制
御手段を備えるメモリ制御装置であって、いずれかのプ
ロセッサがアクセスする前記共有メモリのページアドレ
スを保持する保持手段と、各自のプロセッサが要求する
前記共有メモリのページアドレスを検出する検出手段
と、前記検出手段が検出したページアドレスと前記保持
手段に保持されるページアドレスとが一致するかどうか
を判別する判別手段とをそれぞれ各プロセッサに対応し
てそれぞれ備え、前記制御手段は、いずれかの判別手段
が各ページアドレスが一致すると判別した場合に、デー
タ転送中のプロセッサからのアクセス要求に基づく前記
共有メモリアクセスを中断し、ページアドレスが一致す
るいずれかのキャッシュメモリに対するデータ転送を割
り込ませるものである。
According to a first aspect of the present invention, there is provided a memory control device having a control means for controlling memory access to a shared memory from a plurality of processors each having a cache memory. Holding means for holding a page address of the shared memory accessed by a processor; detecting means for detecting a page address of the shared memory requested by each processor; holding the page address detected by the detecting means and the holding means Determining means for determining whether the page addresses coincide with each other, respectively, corresponding to each processor. When the determining means determines that the respective page addresses match, the control means determines whether or not each page address matches. The shared memory access based on an access request from a processor during transfer It interrupted, but to interrupt the data transfer to either of the cache memory page addresses match.

【0029】本発明に係る第2の発明は、それぞれキャ
ッシュメモリを備える複数のプロセッサから共有メモリ
に対するメモリアクセスを制御するメモリ制御方法であ
って、いずれかのプロセッサがアクセスする前記共有メ
モリのページアドレスをバッファメモリに保持し、各自
のプロセッサが要求する前記共有メモリのページアドレ
スを検出し、該検出したページアドレスとバッファメモ
リに保持されるページアドレスとが一致するかどうかを
判別し、各ページアドレスが一致すると判別した場合
に、データ転送中のプロセッサからのアクセス要求に基
づく前記共有メモリアクセスを中断し、ページアドレス
が一致するいずれかのキャッシュメモリに対するデータ
転送を割り込ませるものである。
A second invention according to the present invention is a memory control method for controlling memory access to a shared memory from a plurality of processors each having a cache memory, wherein a page address of the shared memory accessed by any one of the processors is provided. Is stored in a buffer memory, a page address of the shared memory requested by each processor is detected, and it is determined whether or not the detected page address matches a page address stored in the buffer memory. Is determined to match, the shared memory access based on the access request from the processor during the data transfer is interrupted, and the data transfer to one of the cache memories having the same page address is interrupted.

【0030】[0030]

【発明の実施の形態】図1は、本発明の一実施形態を示
すメモリ制御装置の構成を説明するブロック図であり、
例えば4つのプロセッサに各々キャッシュメモリを持つ
構成のマルチプロセッサシステムが構成される場合に対
応する。
FIG. 1 is a block diagram illustrating a configuration of a memory control device according to an embodiment of the present invention.
For example, this corresponds to a case where a multiprocessor system in which four processors each have a cache memory is configured.

【0031】図1において、キャッシュメモリ制御部6
a〜6dは、共有メモリ部5に格納されるデータの一部
コピーをブロック単位でバッファメモリ(キャッシュメ
モリ)2a〜2dに保持する。キャッシュメモリ制御部
6a〜6dは、共有メモリ部5へのアクセスを要求し、
キャッシュメモリ制御部6a〜6dはアクセス要求に対
して、プロセッサ1a〜1dが所望するデータのコピー
がバッファメモリ2a〜2d上に存在するか否かを判定
し、該判定した結果、バッファメモリ2a〜2d上にコ
ピーが存在する(キャッシュヒットの)場合は、直ちに
該当するデータをバッファメモリ2a〜2dから読み出
し、所望のデータとしてプロセッサ1a〜1dに与え
る。
In FIG. 1, the cache memory control unit 6
a to 6d hold partial copies of the data stored in the shared memory unit 5 in the buffer memories (cache memories) 2a to 2d in block units. The cache memory control units 6a to 6d request access to the shared memory unit 5,
In response to the access request, the cache memory controllers 6a to 6d determine whether or not a copy of the data desired by the processors 1a to 1d exists in the buffer memories 2a to 2d. If a copy exists on 2d (a cache hit), the corresponding data is immediately read from the buffer memories 2a to 2d and given to the processors 1a to 1d as desired data.

【0032】また、コピーが存在しない(キャッシュミ
スヒットの)場合は、共有メモリ部5から所望データを
含むブロックの読み出し(キャッシュライン転送)を共
有メモリ制御部4に要求する。
If no copy exists (a cache mishit), a request is made to the shared memory control unit 4 to read a block containing desired data from the shared memory unit 5 (cache line transfer).

【0033】共有メモリ制御部4は、同時期に発生した
各キャッシュメモリ制御部からのアクセス要求との調停
を行い、共有メモリ部5に対するアクセス権を分配する
ことにより、共有メモリ部5から各バッファメモリ2a
〜2dへのデータ転送を指示する。
The shared memory controller 4 arbitrates with the access requests from the respective cache memory controllers generated at the same time, and distributes the access right to the shared memory unit 5 so that each buffer is transferred from the shared memory unit 5 to each buffer. Memory 2a
To 2d.

【0034】共有メモリ制御部4により共有メモリ部5
へのアクセス権を与えられたいずれかのキャッシュメモ
リ制御部、例えばキャッシュメモリ制御部6aはページ
(行)アドレス,列アドレスの順に所望データアドレス
を発生する。キャッシュメモリ制御部6a〜6dは前記
ページ(行)アドレスの発生時にこれを制御部6a〜6
d内部にラッチまたはバッファメモリ2a〜2d上に保
持する。
The shared memory control unit 4 controls the shared memory unit 5
One of the cache memory control units, for example, the cache memory control unit 6a to which the access right to the access is given generates a desired data address in the order of a page (row) address and a column address. When the page (row) address is generated, the cache memory control units 6a to 6d transmit the page (row) address to the control units 6a to 6d.
d or latched on the buffer memories 2a to 2d.

【0035】一方、アクセス権が与えられないキャッシ
ュメモリ制御部6a以外のキャッシュメモリ制御部6b
〜6dは前記ページ(行)アドレスを保持するバッファ
メモリ2b〜2dにより保持されるページアドレスとア
クセス要求が所望するページアドレスが一致するか否か
を判別し、この判別結果を共有メモリ制御部4に通知す
る。
On the other hand, the cache memory control units 6b other than the cache memory control unit 6a to which no access right is given
6 to 6d determine whether or not the page address held by the buffer memories 2b to 2d holding the page (row) address matches the page address desired by the access request. Notify.

【0036】共有メモリ制御部4は、前記判別結果の通
知により転送中の共有メモリアクセスのページアドレス
と、アクセス権を要求し待機する他のキャッシュメモリ
制御部6b〜6dが転送を所望するアクセスのページア
ドレスの一致の有無を判定し、ページアドレスの一致を
検出した場合は、転送中のキャッシュメモリ制御部6a
に転送の中断を指示するとともに,ページアドレスの一
致を通知する待機中のキャッシュメモリ制御部6b〜6
dのいずれかに割り込みアクセス権を与える。そして、
中断を指示されたキャッシュメモリ制御部6aは、列ア
ドレスの発生を中断し、アクセス再開が指示されるまで
待機する。
The shared memory control unit 4 notifies the page address of the shared memory access being transferred based on the notification of the determination result and the cache memory control units 6b to 6d that request the access right and wait for the access requested by the other cache memory control units 6b to 6d. The presence / absence of a page address match is determined, and if the page address match is detected, the cache memory controller 6a during transfer is determined.
Cache memory control units 6b to 6b that instruct transfer interruption and notify of page address match.
The interrupt access right is given to any of d. And
The cache memory control unit 6a instructed to suspend suspends the generation of the column address and waits until an access resume is instructed.

【0037】また、割り込みアクセス権を与えられたキ
ャッシュメモリ制御部6bは、ページ(行)アドレスの
発生を省略し、中断を指示されたキャッシュメモリ制御
部6aに代わり、列アドレスの発生から転送を開始す
る。
Further, the cache memory control unit 6b given the interrupt access right omits the generation of the page (row) address and, instead of the cache memory control unit 6a instructed to be interrupted, transfers from the generation of the column address to the transfer. Start.

【0038】また、キャッシュメモリ制御部6aおよび
キャッシュメモリ制御部6b以外のキャッシュメモリ制
御部6c,6dは待機状態を継続する。
The cache memory controllers 6c and 6d other than the cache memory controller 6a and the cache memory controller 6b continue in the standby state.

【0039】一方、アクセス再開を待機するキャッシュ
メモリ制御部6aは、割り込みアクセス権を与えられた
キャッシュメモリ制御部6bのアクセス中断またはアク
セス終了により、アクセス再開の指示を受ける。
On the other hand, the cache memory control unit 6a waiting for the access restart receives an access restart instruction due to the interruption or termination of the access of the cache memory control unit 6b to which the interrupt access right has been given.

【0040】これにより,アクセス再開の指示を与えら
れたキャッシュメモリ制御部6aは前記割り込みアクセ
ス権を与えられたキャッシュメモリ制御部6bと同様に
アクセスを継続する。このように各キャッシュメモリ制
御部6a〜6dを制御することにより、ページモードを
一旦終了させることなく、それぞれのキャッシュメモリ
制御部6a〜6dへのデータ転送が可能になる。
As a result, the cache memory control unit 6a given the instruction to restart the access continues the access similarly to the cache memory control unit 6b given the interrupt access right. By controlling each of the cache memory control units 6a to 6d in this manner, data can be transferred to each of the cache memory control units 6a to 6d without temporarily terminating the page mode.

【0041】以下、本実施形態の特徴的構成について図
1等を参照して説明する。
Hereinafter, a characteristic configuration of the present embodiment will be described with reference to FIG.

【0042】上記のように構成されたメモリ制御装置に
おいて、すなわち、それぞれキャッシュメモリを備える
複数のプロセッサ1a〜1dから共有メモリ部5に対す
るメモリアクセスを制御する制御手段(共有メモリ制御
部4)を備えるメモリ制御装置において、いずれかのプ
ロセッサがアクセスする前記共有メモリのページアドレ
スを保持する保持手段(キャッシュメモリ制御部6a〜
6dの各バッファメモリ)と、各自のプロセッサが要求
する前記共有メモリのページアドレスを検出する検出手
段(キャッシュメモリ制御部6a〜6dの機能処理によ
る)と、前記検出手段が検出したページアドレスと前記
保持手段に保持されるページアドレスとが一致するかど
うかを判別する判別手段(キャッシュメモリ制御部6a
〜6dの機能処理による)とをそれぞれ各プロセッサに
対応してそれぞれ備え、共有メモリ制御部4は、いずれ
かの判別手段が各ページアドレスが一致すると判別した
場合に、データ転送中のプロセッサからのアクセス要求
に基づく前記共有メモリアクセスを中断し、ページアド
レスが一致するいずれかのキャッシュメモリに対するデ
ータ転送を割り込ませることを特徴とする。
In the memory control device configured as described above, that is, a control means (shared memory control unit 4) for controlling memory access to the shared memory unit 5 from the plurality of processors 1a to 1d each having a cache memory is provided. In the memory control device, holding means for holding a page address of the shared memory accessed by one of the processors (the cache memory control units 6a to 6a).
6d), detecting means for detecting the page address of the shared memory requested by its own processor (by functional processing of the cache memory control units 6a to 6d), and the page address detected by the detecting means Determination means (cache memory control unit 6a) for determining whether or not the page address stored in the storage means matches
6d) corresponding to each processor, and the shared memory control unit 4 determines whether each of the page addresses matches, and if any of the determination means determines that the page addresses match, the shared memory control unit 4 The access to the shared memory based on the access request is interrupted, and the data transfer to any one of the cache memories having the same page address is interrupted.

【0043】具体的には、共通メモリバス3を通じた転
送における共有メモリ部5に対するページアドレスを保
持すると共に、転送状態にあるキャッシュメモリとは異
なるキャッシュメモリに対するアクセス要求が所望する
ところの共有メモリ部5に対するページアドレスを検出
し、転送中のページアドレスと、このアクセス要求が所
望するページアドレスが一致する場合において、キャッ
シュメモリに対するデータ転送中の共有メモリへのアク
セスを保持した状態でこのページアドレスの一致するキ
ャッシュメモリに対するデータ転送を割り込ませること
により、転送の中断,再開に伴うオーバヘッドによるメ
モリバスの転送効率低下を招くことなくアクセス競合に
よるプロセッサの待機時間の短縮が可能な並列キャッシ
ュメモリ制御装置を構成する。
More specifically, a page address for the shared memory unit 5 in the transfer via the common memory bus 3 is held, and a shared memory unit where an access request to a cache memory different from the cache memory in the transfer state is desired. 5 is detected, and when the page address being transferred matches the page address desired by this access request, the access to the shared memory during the data transfer to the cache memory is held and the page address of this page address is held. A parallel cache memory control device capable of shortening the waiting time of a processor due to access competition by causing data transfer to a coincident cache memory to be interrupted, without causing a reduction in transfer efficiency of a memory bus due to overhead caused by interruption and restart of transfer. To configure.

【0044】次に、図2に示すタイミングチャートによ
り本実施形態の特徴的なメモリアクセス制御方法につい
て説明する。
Next, a characteristic memory access control method of this embodiment will be described with reference to the timing chart shown in FIG.

【0045】図2は、図1に示したメモリ制御装置のメ
モリアクセスタイミングを説明するタイミングチャート
であり、図4と同様に4ワードをキャッシュラインとす
る転送において、キャッシュメモリAによる第1のキャ
ッシュラインの2ワード目の転送終了時点で一旦転送を
中断させ、キャッシュメモリBにより第2のキャッシュ
ラインを割り込ませてアクセスした様子を示している。
FIG. 2 is a timing chart for explaining the memory access timing of the memory control device shown in FIG. 1. In the transfer using four words as a cache line in the same manner as in FIG. This shows a state in which the transfer is interrupted once at the end of the transfer of the second word of the line, and the second cache line is interrupted by the cache memory B for access.

【0046】図中の上段は、共有メモリ部5、中段はキ
ャッシュメモリA(例えばキャッシュメモリ2a)、下
段はキャッシュメモリB(例えばキャッシュメモリ2
b)におけるメモリアクセスタイミングを示す。また、
図2では、キャッシュメモリAおよびキャッシュメモリ
B用の2つのキャッシュメモリ制御部6a,6bからの
アクセス競合が発生した場合を例として本実施形態を説
明する。
In the upper part of the figure, the shared memory unit 5, the middle part is the cache memory A (for example, the cache memory 2a), and the lower part is the cache memory B (for example, the cache memory 2).
The memory access timing in b) is shown. Also,
In FIG. 2, the present embodiment will be described by taking as an example a case where an access conflict occurs between the two cache memory controllers 6a and 6b for the cache memories A and B.

【0047】図2に示すように、キャッシュメモリAお
よびキャッシュメモリBによるアクセス競合において、
第1のキャッシュラインとしてキャッシュメモリAに共
有メモリ部5に対する「アクセス許可」が与えられ、キ
ャッシュメモリBに対しては「待機」を保持する。
As shown in FIG. 2, in an access conflict between the cache memories A and B,
“Access permission” for the shared memory unit 5 is given to the cache memory A as the first cache line, and “standby” is held for the cache memory B.

【0048】そして、「アクセス許可」が与えられたキ
ャッシュメモリAは、共有メモリ部5のアクセスを開始
するために行アドレスAを発生する。さらに、列アドレ
スを「A0」から順次発生させ、共有メモリ部5より読
み出されたデータを列アドレスA0から順次バッファメ
モリ2aに取り込んでいく。
Then, the cache memory A to which the “access permission” is given generates the row address A to start accessing the shared memory unit 5. Further, a column address is sequentially generated from “A0”, and data read from the shared memory unit 5 is sequentially taken into the buffer memory 2a from the column address A0.

【0049】一方、「待機」を保持されるキャッシュメ
モリBは、「アクセス許可」が与えられたキャッシュメ
モリAの発する行アドレスAを保持するとともに、アク
セスを要求しているアドレスとの比較を行い、比較結果
を共有メモリ制御部4に通知する。この時、前記比較結
果がページアドレスの一致を示す場合には、「アクセス
許可」が与えられていたキャッシュメモリAに対しては
「アクセス中断」を与え、同時に「待機」を保持されて
いたキャッシュメモリBに対しては「割り込み許可」を
与える。
On the other hand, the cache memory B holding "standby" holds the row address A issued from the cache memory A to which "access permission" is given, and compares the row address A with the address requesting access. , And notifies the shared memory control unit 4 of the comparison result. At this time, if the comparison result indicates that the page addresses match, “access suspended” is given to the cache memory A to which “access permission” has been given, and at the same time, "Interrupt permission" is given to the memory B.

【0050】一方、「アクセス中断」を検出したキャッ
シュメモリAは列アドレスの発生および共有メモリ部5
からの読み出しデータの取り込みを中断する。
On the other hand, the cache memory A detecting the “interruption of access” generates a column address and stores the
Interrupts the reading of read data from.

【0051】他方、「割り込み許可」を与えられたキャ
ッシュメモリBは列アドレスをB0から順次発生させ、
共有メモリ部5より読み出されたデータをB0から順次
バッファメモリ2bに取り込んでいく。
On the other hand, the cache memory B given "interrupt permission" sequentially generates column addresses from B0,
The data read from the shared memory unit 5 is sequentially taken into the buffer memory 2b from B0.

【0052】図2においては、キャッシュメモリBの割
り込みアクセスが2ワード終了した時点で、再びアクセ
ス権はキャッシュメモリAに与えられている。前記「ア
クセス中断」により保持されていたキャッシュメモリA
は「アクセス再開」を与えられ、中断していた列アドレ
スA2からアクセスを再開する。
In FIG. 2, the access right is given to the cache memory A again when the interrupt access of the cache memory B is completed for two words. The cache memory A held by the “interruption of access”
Is given "access resume", and resumes access from the suspended column address A2.

【0053】同時にキャッシュメモリBに対しては「ア
クセス中断」が与えられ、前記キャッシュメモリAに対
する中断処理と同様にアクセスを一時中断する。アクセ
スを再開したキャッシュメモリAは規定のキャッシュラ
インに到達するとアクセスを終了し、同時に再度キャッ
シュメモリBに対して「アクセス再開」が与えられる。
以降キャッシュメモリAと同様に規定のキャッシュライ
ンサイズでアクセスを終了する。
At the same time, "access interruption" is given to the cache memory B, and the access is temporarily suspended in the same manner as the interruption processing for the cache memory A. The cache memory A that has resumed access terminates the access when it reaches the prescribed cache line, and at the same time, gives “access resume” to the cache memory B again.
Thereafter, similarly to the cache memory A, the access ends with the prescribed cache line size.

【0054】以上の説明から明らかなように、本実施形
態を示す図2に示す並列的なキャッシュメモリの制御方
法によれば、すなわち、いずれかのプロセッサがアクセ
スする前記共有メモリのページアドレスをバッファメモ
リに保持し、各自のプロセッサが要求する前記共有メモ
リのページアドレスを検出し、該検出したページアドレ
スとバッファメモリに保持されるページアドレスとが一
致するかどうかを判別し、各ページアドレスが一致する
と判別した場合に、データ転送中のプロセッサからのア
クセス要求に基づく前記共有メモリアクセスを中断し、
ページアドレスが一致するいずれかのキャッシュメモリ
に対するデータ転送を割り込ませることによれば図3,
図4に示したアクセスタイミングチャートのいずれと比
較しても、各プロセッサの所望のデータをいち早くバッ
ファメモリに取り込み、結果的にシステムトータルの処
理効率を向上することができる。
As is clear from the above description, according to the parallel cache memory control method shown in FIG. 2 showing the present embodiment, that is, the page address of the shared memory accessed by any processor is buffered. Held in memory, detects the page address of the shared memory requested by each processor, determines whether the detected page address matches the page address held in the buffer memory, and determines whether each page address matches. If it is determined that, the shared memory access based on the access request from the processor during data transfer is interrupted,
By interrupting data transfer to any of the cache memories having the same page address, FIG.
As compared with any of the access timing charts shown in FIG. 4, desired data of each processor can be quickly loaded into the buffer memory, and as a result, the processing efficiency of the entire system can be improved.

【0055】[0055]

【発明の効果】以上説明したように、本発明に係るメモ
リ制御装置によれば、いずれかのプロセッサがアクセス
する前記共有メモリのページアドレスを保持する保持手
段と、各自のプロセッサが要求する前記共有メモリのペ
ージアドレスを検出する検出手段と、前記検出手段が検
出したページアドレスと前記保持手段に保持されるペー
ジアドレスとが一致するかどうかを判別する判別手段と
をそれぞれ各プロセッサに対応してそれぞれ備え、前記
制御手段は、いずれかの判別手段が各ページアドレスが
一致すると判別した場合に、データ転送中のプロセッサ
からのアクセス要求に基づく前記共有メモリアクセスを
中断し、ページアドレスが一致するいずれかのキャッシ
ュメモリに対するデータ転送を割り込ませるので、デー
タ転送の中断,再開に伴うオーバヘッドによるメモリバ
スの転送効率低下を招くことなく、アクセス競合時に発
生する各プロセッサの待機時間を短縮させてデータ転送
処理効率を向上できる。
As described above, according to the memory control device of the present invention, the holding means for holding the page address of the shared memory accessed by any of the processors and the shared memory requested by the respective processors are provided. Detecting means for detecting a page address of the memory, and determining means for determining whether or not the page address detected by the detecting means matches the page address held in the holding means, for each processor. The control means interrupts the shared memory access based on an access request from the processor during data transfer when any of the determination means determines that each page address matches, and determines whether any of the page addresses match. Interrupts data transfer to the cache memory of the Without causing transfer efficiency reduction of the memory bus, to shorten the waiting time of each processor generated during access contention can improve the data transfer performance by overhead associated with.

【0056】また、本発明に係るメモリ制御方法によれ
ば、それぞれキャッシュメモリを備える複数のプロセッ
サから共有メモリに対するメモリアクセスを制御するメ
モリ制御方法であって、いずれかのプロセッサがアクセ
スする前記共有メモリのページアドレスをバッファメモ
リに保持し、各自のプロセッサが要求する前記共有メモ
リのページアドレスを検出し、該検出したページアドレ
スとバッファメモリに保持されるページアドレスとが一
致するかどうかを判別し、各ページアドレスが一致する
と判別した場合に、データ転送中のプロセッサからのア
クセス要求に基づく前記共有メモリアクセスを中断し、
ページアドレスが一致するいずれかのキャッシュメモリ
に対するデータ転送を割り込ませるので、データ転送の
中断,再開に伴うオーバヘッドによるメモリバスの転送
効率低下を招くことなく、アクセス競合時に発生する各
プロセッサの待機時間を短縮させてデータ転送処理効率
を向上できる等の効果を奏する。
According to the memory control method of the present invention, there is provided a memory control method for controlling memory access to a shared memory from a plurality of processors each having a cache memory, wherein the shared memory is accessed by any one of the processors. The page address of the shared memory requested by each processor is detected, and it is determined whether or not the detected page address matches the page address stored in the buffer memory. If it is determined that each page address matches, interrupt the shared memory access based on an access request from the processor during data transfer,
Since the data transfer to any one of the cache memories having the same page address is interrupted, the waiting time of each processor which occurs at the time of access conflict can be reduced without causing a decrease in the transfer efficiency of the memory bus due to the overhead due to the interruption and restart of the data transfer. There is an effect that the data transfer processing efficiency can be improved by shortening.

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

【図1】本発明の一実施形態を示すメモリ制御装置の構
成を説明するブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a memory control device according to an embodiment of the present invention.

【図2】図1に示したメモリ制御装置のメモリアクセス
タイミングを説明するタイミングチャートである。
FIG. 2 is a timing chart for explaining memory access timing of the memory control device shown in FIG. 1;

【図3】従来のメモリ制御装置の動作を説明するタイミ
ングチャートである。
FIG. 3 is a timing chart illustrating the operation of a conventional memory control device.

【図4】従来のメモリ制御装置の動作を説明するタイミ
ングチャートである。
FIG. 4 is a timing chart illustrating an operation of a conventional memory control device.

【符号の説明】[Explanation of symbols]

1a プロセッサ 1b プロセッサ 1c プロセッサ 1d プロセッサ 2a キャッシュメモリ 2b キャッシュメモリ 2c キャッシュメモリ 2d キャッシュメモリ 3 共通メモリバス 4 共有メモリ制御部 5 共有メモリ部 1a processor 1b processor 1c processor 1d processor 2a cache memory 2b cache memory 2c cache memory 2d cache memory 3 common memory bus 4 shared memory control unit 5 shared memory unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 それぞれキャッシュメモリを備える複数
のプロセッサから共有メモリに対するメモリアクセスを
制御する制御手段を備えるメモリ制御装置であって、 いずれかのプロセッサがアクセスする前記共有メモリの
ページアドレスを保持する保持手段と、 各自のプロセッサが要求する前記共有メモリのページア
ドレスを検出する検出手段と、 前記検出手段が検出したページアドレスと前記保持手段
に保持されるページアドレスとが一致するかどうかを判
別する判別手段とをそれぞれ各プロセッサに対応してそ
れぞれ備え、 前記制御手段は、いずれかの判別手段が各ページアドレ
スが一致すると判別した場合に、データ転送中のプロセ
ッサからのアクセス要求に基づく前記共有メモリアクセ
スを中断し、 ページアドレスが一致するいずれかのキャッシュメモリ
に対するデータ転送を割り込ませることを特徴とするメ
モリ制御装置。
1. A memory control device comprising control means for controlling memory access to a shared memory from a plurality of processors each having a cache memory, wherein the holding device holds a page address of the shared memory accessed by any one of the processors. Means, a detecting means for detecting a page address of the shared memory requested by its own processor, and determining whether or not the page address detected by the detecting means matches the page address held in the holding means. Means for each of the processors. The control means, when any of the determination means determines that the respective page addresses match, the shared memory access based on an access request from the processor during data transfer. Is interrupted and the page address matches Memory controller, characterized in that to interrupt the data transfer to Kano cache memory.
【請求項2】 それぞれキャッシュメモリを備える複数
のプロセッサから共有メモリに対するメモリアクセスを
制御するメモリ制御方法であって、 いずれかのプロセッサがアクセスする前記共有メモリの
ページアドレスをバッファメモリに保持し、 各自のプロセッサが要求する前記共有メモリのページア
ドレスを検出し、該検出したページアドレスとバッファ
メモリに保持されるページアドレスとが一致するかどう
かを判別し、各ページアドレスが一致すると判別した場
合に、データ転送中のプロセッサからのアクセス要求に
基づく前記共有メモリアクセスを中断し、 ページアドレスが一致するいずれかのキャッシュメモリ
に対するデータ転送を割り込ませることを特徴とするメ
モリ制御方法。
2. A memory control method for controlling memory access to a shared memory from a plurality of processors each having a cache memory, wherein a page address of the shared memory accessed by any one of the processors is stored in a buffer memory, and The page address of the shared memory requested by the processor is detected, it is determined whether the detected page address matches the page address held in the buffer memory, and when it is determined that each page address matches, A memory control method, comprising interrupting the shared memory access based on an access request from a processor during data transfer, and interrupting data transfer to any cache memory having a matching page address.
JP9033447A 1997-02-18 1997-02-18 Memory controller and memory controlling method Pending JPH10228418A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9033447A JPH10228418A (en) 1997-02-18 1997-02-18 Memory controller and memory controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9033447A JPH10228418A (en) 1997-02-18 1997-02-18 Memory controller and memory controlling method

Publications (1)

Publication Number Publication Date
JPH10228418A true JPH10228418A (en) 1998-08-25

Family

ID=12386800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9033447A Pending JPH10228418A (en) 1997-02-18 1997-02-18 Memory controller and memory controlling method

Country Status (1)

Country Link
JP (1) JPH10228418A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100949168B1 (en) * 2001-11-20 2010-03-23 가부시끼가이샤 히다치 세이사꾸쇼 Controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100949168B1 (en) * 2001-11-20 2010-03-23 가부시끼가이샤 히다치 세이사꾸쇼 Controller

Similar Documents

Publication Publication Date Title
EP0222520B1 (en) Bus access interface and method for a computer
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
JPS63269247A (en) Memory control subsystem
JP3027843B2 (en) Bath snoop method
JPS6275860A (en) Data transfer controller
JPH10228418A (en) Memory controller and memory controlling method
US6205507B1 (en) Memory coherency in a processor-to-bus cycle in a multi-processor system
JPH0714382A (en) Microcomputer
JPH08249269A (en) Method and device for controlling dma transfer
JP2002063130A (en) Bus arbitration system
JP3492139B2 (en) Data transfer method via bus and bus master controller
JPH09293044A (en) Data transfer system
JPH0666060B2 (en) Bus priority control method
JPH02219157A (en) Bus arbiter in computer system
JPH07219836A (en) Memory control system
JP2003308289A (en) Data processor
JP2002091899A (en) Data transfer controller and data transfer method
JP2005332125A (en) Memory controller and shared memory system
JPH0321941B2 (en)
JPH07334455A (en) Data transferring method through bus
JP2001125880A (en) Real time multi-processor system
JPH09204409A (en) Lock transfer control system
JPH1011356A (en) Memory access system
JPS60151894A (en) Refresh circuit of dynamic ram
JPH04316149A (en) Dma processor and information processor