JPS63103342A - Main memory controller - Google Patents

Main memory controller

Info

Publication number
JPS63103342A
JPS63103342A JP24883786A JP24883786A JPS63103342A JP S63103342 A JPS63103342 A JP S63103342A JP 24883786 A JP24883786 A JP 24883786A JP 24883786 A JP24883786 A JP 24883786A JP S63103342 A JPS63103342 A JP S63103342A
Authority
JP
Japan
Prior art keywords
address
data
memory
store
register
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
JP24883786A
Other languages
Japanese (ja)
Inventor
Yukihiko Kitano
北野 之彦
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP24883786A priority Critical patent/JPS63103342A/en
Publication of JPS63103342A publication Critical patent/JPS63103342A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the processing speed of a main memory controller by writing the address of the data fetched by partial storage and the address for the next partial storage after merging both data in each other when these two addresses are equal to each other. CONSTITUTION:The address, store data and byte mark received from a CPU 0 are fetched by a memory in a partial storage mode. Then the address and the store data are supplied to address pipes 7 and 29 respectively. If a storing request is issued to an address equal to the one which is presently fetched, the store address kept waiting at an address buffer 2 is compared with the address given from the pipe 7 by a comparator 11 or 12. When coincidence is obtained between both addresses, the data on a store buffer 22 or 24 is merged with the data given from the pipe 29 by a data merging circuit 35. Furthermore the store data to be supplied to the memory functions to merge the output of the circuit 35 and the fetch data on a register 34 by a store data merging circuit 26. This merge output is set to a register 28 with addition of a bit via an ECC generator 27.

Description

【発明の詳細な説明】 [概 要] 一回のアクセスで複数単位(例えば8バイト)のデータ
の書き込み(本明細書においてはこれをストアと言う)
あるいは読み出しく本明細書においてはこれをフェッチ
と言う)を行なうごとく構成された記憶装置において、
データの一部分く例えば4バイト)を書き替える場合(
本明細書においてはこれをパーシャルストアと言う 〉
には、ECCbitを生成するために該当するアドレス
のデータを読み出してこれと書き込むべきデータをマー
ジしECCbitを付加してから書き込むため記憶装置
を占有する時間が大となる。このため、同一バンクへの
パーシャルストアが連続すると系の処理能力が低下する
という問題点があった1本発明はこのような従来の問題
点を解決するため、パーシャルストアのためフェッチし
たデータのアドレスと次のパーシャルストアをすべきア
ドレスとを比較してそれが同一であるとき両データをマ
ージして書き込むことにより実質的な記憶装置へのアク
セス回数を減少せしめて処理能力を向上せしめる得る主
記憶i@1lO4装置の構成について開示している。
[Detailed Description of the Invention] [Overview] Writing multiple units (for example, 8 bytes) of data in one access (this is referred to as a store in this specification)
In a storage device configured to perform reading (also referred to as fetch in this specification),
When rewriting part of the data (for example, 4 bytes) (
In this specification, this is referred to as a partial store.
In order to generate an ECC bit, the data at the corresponding address is read, this data is merged with the data to be written, the ECC bit is added, and then the data is written, which requires a large amount of time to occupy the storage device. For this reason, there was a problem that the system's processing performance decreased when partial stores to the same bank were performed consecutively.In order to solve this conventional problem, the present invention addresses the fetched data for partial stores. and the address at which the next partial store should be performed, and if they are the same, both data are merged and written, thereby reducing the number of accesses to the storage device and improving processing performance. The configuration of the i@11O4 device is disclosed.

[産業上の利用分野] 本発明は情報処理装置の主記憶制御装置の構成に関する
ものであって、特に同一アドレスへのパーシャルストア
が連続した場合の主記憶への実際のアクセスを効率的に
行なうことの可能な回路II!戊に係る。
[Industrial Application Field] The present invention relates to the configuration of a main memory control device of an information processing device, and in particular, to efficiently perform actual access to the main memory when partial stores to the same address are successive. Possible circuit II! Related to the Hollow.

[従来の技術] 第2図は情報処理装置の構成の例を示すブロック図であ
って、51はCPU(0)、52はCPU(1)、53
はCHP、54は主記憶制御装置(MCtJ)、55は
メモリ(MEM)を表している。
[Prior Art] FIG. 2 is a block diagram showing an example of the configuration of an information processing device, in which 51 is a CPU (0), 52 is a CPU (1), and 53 is a block diagram showing an example of the configuration of an information processing device.
54 represents a main memory controller (MCtJ), and 55 represents a memory (MEM).

主記憶制御装置54はCPU(0)51.CPU(1)
52、CHPがらのメモリ55へのデータのストアある
いはメモリ55からのデータのフェッチに係る要求を受
け、メモリのバンクの空きに応じて、データを効率良く
メモリへ転送する役目を担っている。
The main memory control device 54 is a CPU (0) 51. CPU (1)
52, receives a request for storing data in the memory 55 from the CHP or fetching data from the memory 55, and plays the role of efficiently transferring the data to the memory according to the free space of the memory bank.

第3図は従来の主記憶制御装置の構成の例を示すブロッ
ク図であって、61〜62はCPU0のアドレスバッフ
ァ、63〜64はcpuiのアドレスバッファ、65は
アドレスセレクタ、66はメモリアドレスレジスタ、6
7はアドレスパイプ、68はcpuoのアドレスバス、
69はCPU1のアドレスバス、70はメモリへのアド
レスバス、71〜72はCPU0のデータバッファ、7
3〜74はCPUIのデータバッファ、75はデータセ
レクタ、76はデータのマージ回路、77はECC発生
回路、78はストアデータレジスタ、79はデータパイ
プ、80はCPU0ストアデータバス、81はCPU1
ストアデータバス、82はメモリフェッチデータバス、
83はメモリストアデータバス、84はメモリフェッチ
データレジスタを表している。
FIG. 3 is a block diagram showing an example of the configuration of a conventional main memory control device, in which 61 to 62 are address buffers of CPU0, 63 to 64 are address buffers of CPUI, 65 is an address selector, and 66 is a memory address register. ,6
7 is the address pipe, 68 is the CPUO address bus,
69 is the address bus of CPU1, 70 is the address bus to memory, 71-72 is the data buffer of CPU0, 7
3 to 74 are CPUI data buffers, 75 is a data selector, 76 is a data merging circuit, 77 is an ECC generation circuit, 78 is a store data register, 79 is a data pipe, 80 is a CPU0 store data bus, 81 is a CPU1
a store data bus; 82 is a memory fetch data bus;
83 represents a memory store data bus, and 84 represents a memory fetch data register.

第3図に示す構成の主記憶制御装置でCPU0からのパ
ーシャルストアを行なう場合には、アドレスバス68、
データバス80でストアアドレスとストアデータが送ら
れて、アドレスバッファ71.72にセットされると、
このアドレスに対応するメモリバンクのビジー状態を調
べとジーでないならば池のCPtJ 1、CHP([l
il示せず)とのプライオリティ関係を調整した後、ス
トアアドレスをセレクタ65を経由してメモリアドレス
レジスタ66にセットする。そして、メモリバス70を
通してメモリに該ストアアドレスが送られる。また、こ
のアドレスはアドレスパイプ77によってメモリのフェ
ッチタイミングに合わせて遅らされセレクタ75へ戻る
ようにしている。
When performing partial store from CPU0 in the main memory control device configured as shown in FIG.
When the store address and store data are sent via the data bus 80 and set in the address buffers 71 and 72,
Check the busy state of the memory bank corresponding to this address, and if it is not busy, the memory bank CPtJ 1, CHP ([l
After adjusting the priority relationship with il (not shown), the store address is set in the memory address register 66 via the selector 65. The store address is then sent to the memory via the memory bus 70. Further, this address is delayed by the address pipe 77 in accordance with the memory fetch timing and returned to the selector 75.

ストアデータは、アドレス同様プライオリティをとるが
、メモリへは送らずにデータパイプ79に送り、メモリ
のフェッチタイミングに合わせる。
The store data has a priority like the address, but is not sent to the memory but sent to the data pipe 79 to match the memory fetch timing.

メモリのフェッチが完了した時点でデータパイプ79よ
り送られてくるストアデータと、データと同期して動い
ているバイトマークよりマージ回路76によりメモリフ
ェッチデータとのマージが行なわれる。このデータより
ECC発生回路77を通りECCbitを付加したスト
アデータがデータレジスタ78にセットされメモリスト
アデータバス83によりメモリへ送られ、CPU0から
のパーシャルストアが完了する。
When the memory fetch is completed, the store data sent from the data pipe 79 is merged with the memory fetch data by the merging circuit 76 using the byte mark moving in synchronization with the data. This data passes through the ECC generation circuit 77, and store data to which an ECC bit is added is set in the data register 78 and sent to the memory via the memory store data bus 83, completing the partial store from the CPU0.

[発明が解決しようとする問題点] 上述したようにパーシャルストアに際しては、まずメモ
リフェッチが行なわれ、これに続いてメモリストアが行
なわれる。
[Problems to be Solved by the Invention] As described above, when performing a partial store, a memory fetch is first performed, followed by a memory store.

そして、パーシャルストアが連続して行なわれる場合に
ついて考えると、パーシャルスl−アするべきバンクが
異なる場合には第4図(a)に示すように1クロツクの
差で、はぼ並列的に処理が行なわれるが、同一バンクに
対するパーシャルストアが連続して要求されると (b
)に示すように、まず−回目のパーシャルストアのため
のメモリフェッチを行ない、これによるフェッチデータ
とCPtJからのストアデータをマージしてメモリヘス
ドアし、この一連の処理が終了してから次のパーシャル
ストアのためのメモリフェッチサイクルに入る。
Considering the case where partial stores are performed continuously, if the banks to which partial stores are to be stored are different, the partial stores are processed almost in parallel with a difference of one clock, as shown in Figure 4(a). However, if partial stores to the same bank are continuously requested (b
), first perform a memory fetch for the -th partial store, merge the fetched data with the store data from CPtJ and store it in the memory, and after this series of processing is completed, perform the next partial store. Enters a memory fetch cycle for.

すなわち、同一バンクへのパーシャルストアが連続する
場合は、後からのパーシャルストアの処理は先のパーシ
ャルストアの処理が終了するまで長時間待たされること
になる。
That is, if partial stores to the same bank are performed consecutively, subsequent partial store processing will have to wait for a long time until the previous partial store processing is completed.

同一バンクへのパーシャルストアが連続する条件は、例
えばメモリのデータ幅が8バイトであるとき、ソフトウ
ェアが4バイト単位でのデータ処理を行なっているとき
などに起こることが多く、この場合は同一バンクの同一
アドレスへのパーシャルストアが連続して発生する。
Continuous partial stores to the same bank often occur, for example, when the memory data width is 8 bytes or when software processes data in units of 4 bytes. Partial stores to the same address occur consecutively.

本発明はこのような同一アドレスへのパーシャルストア
を効率的に処理することにより、処理速度の向上を図る
ことのできる主記憶制御装置を提供することを目的とし
ている。
An object of the present invention is to provide a main memory control device that can improve processing speed by efficiently processing such partial stores to the same address.

[問題点を解決するための手段] 本発明によれば上述の目的は前記特許請求の範囲に記載
のとおり、パーシャルストアに係るメモリアドレス値を
一定時間保持するアドレスレジスタと、メモリの該アド
レスから読み出したデータを保持するフェッチデータレ
ジスタと、メモリの該アドレスに書き込むべきデータを
一定時間保持するデータレジスタと、次のメモリ要求に
係るメモリアドレス値を保持するアドレスバッファと、
メモリの該アドレスにストアすべきデータを保持するデ
ータバッファと、前記アドレスレジスタの内容とアドレ
スバッファの内容とを比較する手段と、前記衣のメモリ
要求がパーシャルストアに係るものであってアドレスレ
ジスタの内容とアドレスバッファの内容とが一致すると
きフェッチデータレジスタの内容とデータレジスタの内
容とデータバッファの内容とをマージしてメモリにスト
アすべきデータを生成する手段とを具備することを特徴
とする主記憶制御装置により達成される。
[Means for Solving the Problems] According to the present invention, the above-mentioned object is achieved by providing an address register that holds a memory address value related to a partial store for a certain period of time, and an address register that holds a memory address value related to a partial store for a certain period of time; a fetch data register that holds read data, a data register that holds data to be written to the address of the memory for a certain period of time, and an address buffer that holds a memory address value related to the next memory request;
a data buffer for holding data to be stored at the address in the memory; a means for comparing the contents of the address register with the contents of the address buffer; and a means for comparing the contents of the address register with the contents of the address buffer; The present invention is characterized by comprising means for merging the contents of the fetch data register, the contents of the data register, and the contents of the data buffer to generate data to be stored in the memory when the contents match the contents of the address buffer. This is accomplished by the main memory controller.

[実 施 例] 第1図は本発明の1実施例のブロック図であって、1〜
2はcpuoのアドレスバッファ、3〜4はCPU 1
のアドレスバッファ、5はアドレスセレクタ、6はメモ
リアドレスレジスタ、7はアドレスパイプ、8はCPU
0のアドレスバス、9はCPUIのアドレスバス、10
はメモリへのアドレスバス、11〜12はアドレス比較
器、13〜14はアドレス一致信号、25はストアデー
タセレクタ、26はストアデータマージ回路、27はE
CC発生器、28はメモリストアデータレジスタ、29
はストアデータパイプ、30はcpuoのストアデータ
バス、31はCPUIのストアデータバス、32はメモ
リからのフェッチデータバス、33はメモリへのストア
データバス、34はメモリフェッチデータレジスタ、3
5はデータマージ回路を表している。
[Embodiment] FIG. 1 is a block diagram of one embodiment of the present invention, and shows 1 to 1.
2 is CPUO address buffer, 3-4 are CPU 1
address buffer, 5 is address selector, 6 is memory address register, 7 is address pipe, 8 is CPU
0 address bus, 9 is CPUI address bus, 10
is an address bus to the memory, 11 to 12 are address comparators, 13 to 14 are address match signals, 25 is a store data selector, 26 is a store data merge circuit, and 27 is an E
CC generator, 28 memory store data register, 29
is a store data pipe, 30 is a CPUO store data bus, 31 is a CPUI store data bus, 32 is a fetch data bus from memory, 33 is a store data bus to memory, 34 is a memory fetch data register, 3
5 represents a data merging circuit.

第1図においてcpuoからアドレスとストアデータ、
バイトマークが送られてきて、これがパーシャルストア
(バイトマークがall“1パでない場合)のときはま
ずメモリにフェッチを行ない、アドレス、ストアデータ
をそれぞれアドレスパイプ7、データパイプ29へ入れ
、メモリからデータが読み出されるのを待つ、もし、こ
こで現在フェッチ中のアドレスと同一のアドレスへのス
トア要求(パーシャルストアあるいはフルストア)がc
puoよりあった場合、メモリのバンクビジーによりプ
ライオリティをとることができないため待たされること
になる。
In Figure 1, address and store data from CPUO,
When a byte mark is sent and this is a partial store (if the byte mark is not all "1 pa"), first fetch it to memory, put the address and store data into address pipe 7 and data pipe 29, respectively, and then store from memory. Wait for data to be read. If a store request (partial store or full store) to the same address as the address currently being fetched is
If there is more data than puo, the memory bank is busy and the priority cannot be taken, so the user is forced to wait.

メモリからフェッチデータが送られてくるタイミングで
、バッファ2で待っているストアアドレスとアドレスパ
イプ7から送られてくるアドレスを、アドレス比較器1
1または12により調べ一致したならば、データパイプ
29からのデータヘスドアバッファ22あるいは24の
データをバッファ内のバイトマークに従ってマージ回路
35にてマージする。このとき同時にバイトマークにつ
いてはバッファ内のバイトマークとパイプからのバイト
マークの論理和をとる。
At the timing when fetch data is sent from memory, address comparator 1 compares the store address waiting in buffer 2 and the address sent from address pipe 7.
1 or 12 and if they match, the data in the data header buffer 22 or 24 from the data pipe 29 is merged in the merge circuit 35 according to the byte mark in the buffer. At the same time, as for the byte mark, the byte mark in the buffer and the byte mark from the pipe are ORed.

メモリへのストアデータはデータマージ回路35のマー
ジ出力とレジスタ34の出力のフェッチデータとを前記
論理和したところのバイトマークに従ってマージ回路2
6にてマージを行ない、この出力をECC発生器27で
ECCビットを付加するところによりレジスタ28ヘセ
ツトしメモリへストアする。
The data to be stored in the memory is stored in the merge circuit 2 according to the byte mark obtained by ORing the merge output of the data merge circuit 35 and the fetch data output from the register 34.
6, the ECC generator 27 adds an ECC bit to the output, sets it in the register 28, and stores it in the memory.

[発明の効果] 以上説明したように本発明の主記憶制御装置によれば、
パーシャルストアの後に同一バンクのメモリの同一アド
レスへのパーシャルストアが再度要求された場合にこれ
ら2回のパーシャルストアに係る処理を1回のパーシャ
ルストアに要する時間内で終了することができるので、
メモリの効率的な運用が可能となる利点がある。
[Effects of the Invention] As explained above, according to the main memory control device of the present invention,
If a partial store to the same address in the memory of the same bank is requested again after a partial store, the processing related to these two partial stores can be completed within the time required for one partial store.
This has the advantage that memory can be used efficiently.

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

第1図は本発明の1実施例のブロック図、第2図は情報
処理装置の構成の例を示すブロック図、第3図は従来の
主記憶制御装置の構成の例を示すブロック図、第4図は
パーシャルストアを説明する図である。 1.2.3.4・・・・・・アドレスバッファ、5・・
・・・・アドレスセレクタ、6・・・・・・メモリアド
レスレジスタ、7・・・・・・アドレスパイプ、8.9
・・・・・・アドレスバス、10・・・・・・メモリへ
のアドレスバス、11.12・・・・・・アドレス比較
器、13.14・・・・・・アドレス一致信号、21.
22.23.24・・・・・・データバッファ、25・
・・・・・ストアデータセレクタ、26・・・・・・ス
トアデータマージ回路、27・・・・・・ECC発生器
、28・・・・・・メモリストアデータレジスタ、29
・・・・・・データパイプ、30.31・・・・・・ス
トアデータバス、32・・・・・・メモリからのフェッ
チデータバス、33・・・・・・メモリへのストアデー
タバス、34・・・・・・メモリフェッチデータレジス
タ、35・・・・・・データマージ回路代理人 弁理士
 井 桁 貞 − 水発頭の一実施号列のフ”ロツクゴ 半 / 図
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is a block diagram showing an example of the configuration of an information processing device, FIG. 3 is a block diagram showing an example of the configuration of a conventional main memory control device, and FIG. FIG. 4 is a diagram explaining the partial store. 1.2.3.4 Address buffer, 5...
...Address selector, 6...Memory address register, 7...Address pipe, 8.9
...Address bus, 10...Address bus to memory, 11.12...Address comparator, 13.14...Address match signal, 21.
22.23.24...Data buffer, 25.
... Store data selector, 26 ... Store data merge circuit, 27 ... ECC generator, 28 ... Memory store data register, 29
... Data pipe, 30.31 ... Store data bus, 32 ... Fetch data bus from memory, 33 ... Store data bus to memory, 34...Memory fetch data register, 35...Data merging circuit agent Patent attorney Sada Igata - Half a block of blocks of one execution code of Mizuhato / Diagram

Claims (1)

【特許請求の範囲】 パーシャルストアに係るメモリアドレス値を一定時間保
持するアドレスレジスタと、 メモリの該アドレスから読み出したデータを保持するフ
ェッチデータレジスタと、 メモリの該アドレスに書き込むべきデータを一定時間保
持するデータレジスタと、 次のメモリ要求に係るメモリアドレス値を保持するアド
レスバッファと、 メモリの該アドレスにストアすべきデータを保持するデ
ータバッファと、 前記アドレスレジスタの内容とアドレスバッファの内容
とを比較する手段と、 前記次のメモリ要求がパーシャルストアに係るものであ
ってアドレスレジスタの内容とアドレスバッファの内容
とが一致するときフェッチデータレジスタの内容とデー
タレジスタの内容とデータバッファの内容とをマージし
てメモリにストアすべきデータを生成する手段とを具備
することを特徴とする主記憶制御装置。
[Claims] An address register that holds a memory address value related to a partial store for a certain period of time, a fetch data register that holds data read from the address in the memory, and a register that holds data to be written to the address in the memory for a certain period of time. an address buffer that holds the memory address value related to the next memory request; a data buffer that holds the data to be stored at the address in the memory; and a comparison between the contents of the address register and the contents of the address buffer. means for merging the contents of the fetch data register, the contents of the data register, and the contents of the data buffer when the next memory request is related to a partial store and the contents of the address register and the contents of the address buffer match; 1. A main memory control device comprising: means for generating data to be stored in a memory.
JP24883786A 1986-10-20 1986-10-20 Main memory controller Pending JPS63103342A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24883786A JPS63103342A (en) 1986-10-20 1986-10-20 Main memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24883786A JPS63103342A (en) 1986-10-20 1986-10-20 Main memory controller

Publications (1)

Publication Number Publication Date
JPS63103342A true JPS63103342A (en) 1988-05-09

Family

ID=17184156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24883786A Pending JPS63103342A (en) 1986-10-20 1986-10-20 Main memory controller

Country Status (1)

Country Link
JP (1) JPS63103342A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103151A (en) * 1992-06-26 1994-04-15 Internatl Business Mach Corp <Ibm> Personal computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103151A (en) * 1992-06-26 1994-04-15 Internatl Business Mach Corp <Ibm> Personal computer

Similar Documents

Publication Publication Date Title
JPH01269142A (en) Buffer memory control system
JPH0479026B2 (en)
JPS62120574A (en) Vector processor
JPS63103342A (en) Main memory controller
JPS60205760A (en) Memory controller
JPH0283736A (en) Osc detection system for buffer memory controller
JPS6391756A (en) Partial write instruction processing system for storage device
JPH0736166B2 (en) Data transfer method
JPS5842546B2 (en) Store control method
JP2570271B2 (en) Semiconductor memory controller
JP2910131B2 (en) Register file
JPS61237145A (en) Controlling system for store buffer
JPS5815877B2 (en) Buffer memory control method
JPH10111798A (en) Information processor
JPH06231032A (en) Access controller
JP2581144B2 (en) Bus control device
JPH02259945A (en) Storing processing system
JPS6074074A (en) Priority control system
JPS63271647A (en) Memory circuit
JPS6135583B2 (en)
JPH03271859A (en) Information processor
JP2000066946A (en) Memory controller
JPS59195753A (en) Control system of disc cache memory
JPH1063569A (en) Main memory data writing device
JPS6398047A (en) Cache memory