JPH09282221A - 主記憶制御装置 - Google Patents

主記憶制御装置

Info

Publication number
JPH09282221A
JPH09282221A JP8097994A JP9799496A JPH09282221A JP H09282221 A JPH09282221 A JP H09282221A JP 8097994 A JP8097994 A JP 8097994A JP 9799496 A JP9799496 A JP 9799496A JP H09282221 A JPH09282221 A JP H09282221A
Authority
JP
Japan
Prior art keywords
data
address
write
main memory
buffer
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
JP8097994A
Other languages
English (en)
Inventor
Masumi Terao
益美 寺尾
Takashi Moriyama
隆志 森山
Tetsuo Hiramitsu
哲生 平光
Koichi Okazawa
宏一 岡澤
Masaya Umemura
雅也 梅村
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.)
Hitachi Ltd
Hitachi Chubu Software Ltd
Hitachi Asahi Electronics Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Chubu Software Ltd
Hitachi Asahi Electronics Co 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 Hitachi Ltd, Hitachi Chubu Software Ltd, Hitachi Asahi Electronics Co Ltd filed Critical Hitachi Ltd
Priority to JP8097994A priority Critical patent/JPH09282221A/ja
Publication of JPH09282221A publication Critical patent/JPH09282221A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 メインメモリへの部分書き込み処理におい
て、メモリの読み出し,データのマージ,書き込みとい
う一連の操作を大幅に削減し、主記憶装置へのアクセス
の性能向上を図った主記憶制御装置を提供すること。 【解決手段】 アドレスバッファ(26〜29)と比較
器(30〜33)とデータバッファ(37〜40)とセ
レクタマージ制御回路(46)を有する。セレクタマー
ジ制御回路(46)は、複数の比較器(30〜33)に
おける比較の結果、一致するアドレスがあった場合、デ
ータバッファのデータと最新の部分書き込みデータとを
マージしてライトデータバッファに再保持させ、データ
バッファのデータ幅がメインメモリのフルライト幅にな
った場合にメインメモリ(12)に書き込むように制御
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、部分書き込みが可
能な主記憶装置への書き込み/読み出しを制御する主記
憶制御装置に関し、特に、主記憶装置への部分書き込み
のためのアクセス性能を向上させた主記憶制御装置に関
する。
【0002】
【従来の技術】近年、処理情報量の増加に伴いシステム
の処理能力を向上させることが要求されており、その要
求に応える一手段として主記憶アクセスの高速化が挙げ
られる。主記憶アクセスの高速化の手段としては、主記
憶装置およびその周辺回路を構成するハードウェア素子
の高速化を図る方法と主記憶装置に関連するデータバス
の幅を大きくして一度にアクセス可能なデータを多くし
てアクセス回数を減らす方法とがある。主記憶装置に関
連するデータバスの幅は32ビットまたは64ビットの
多ビットデータ幅が主流になってきているが、データバ
ス幅を大きくした場合には、一般に、従来命令やDMA
による部分書き込みの頻度が増加する。また、誤り訂正
機能を持った主記憶において単位ブロックの部分書き込
みを行う場合、新たな誤り訂正符号を計算するために単
位ブロックの書き込みを行わない部分についても一旦
「読み出し」を行い必要な「訂正」を行った後で再度
「書き込み」を行うといった余分な操作が必要となり高
速なメモリアクセスを実現することができない。
【0003】部分書き込みを高速化するための従来技術
として、例えば、特開昭63−103342号公報(主
記憶制御装置)に記載されたものがある。この公開公報
には、部分書き込み用のアドレスパイプを持ち、アドレ
スパイプにフェッチ中のアドレスと次の部分書き込みの
アドレスが同一である時、両データをマージし、更にメ
モリフェッチデータとマージして書き込むことにより処
理能力を向上するものである。
【0004】
【発明が解決しようとする課題】上記従来技術は、書き
込みのアクセス回数を減らして主記憶の性能向上を狙っ
たものであるが、この技術が有効なのは部分書き込みア
クセスがアドレスパイプにフェッチ中のアドレスである
場合のみであり、アドレスパイプにフェッチ中のアドレ
ス以外のアドレスへの部分書き込みを行う場合にはメモ
リの読み出し、データのマージ、書き込みという通常の
部分書き込みと同様の操作が必要となり有効でないとい
う問題があった。本発明の目的は、上記問題点を解決
し、メインメモリへの部分書き込み処理において、メモ
リの読み出し,データのマージ,書き込みという一連の
操作を大幅に削減し、主記憶装置へのアクセスの性能向
上を図った主記憶制御装置を提供することにある。
【0005】
【課題を解決するための手段】本発明は、上記目的を達
成するために、部分書き込み時のアドレスを格納するた
めに並列に設けられた複数のアドレスバッファ(26〜
29)と、該アドレスバッファ(26〜29)の各々と
最新の部分書き込みアドレスとを比較する複数の比較器
(30〜33)と、部分書き込み時のデータを格納する
ために、アドレスバッファ(26〜29)と対応づけら
れて並列に設けられた複数のデータバッファ(37〜4
0)と、複数の比較器(30〜33)の比較の結果に応
じてデータのマージを制御するセレクタマージ制御回路
(46)を有する主記憶制御装置であって、セレクタマ
ージ制御回路(46)は、複数の比較器(30〜33)
における比較の結果、一致するアドレスがあった場合、
該一致したアドレスを格納するアドレスバッファに対応
づけられたデータバッファのデータと最新の部分書き込
みデータとをマージしてライトデータバッファに再保持
させるとともに、比較の結果一致したライトアドレスが
ない場合、最新のライトアドレスと最新のライトデータ
をそれぞれ複数のライトアドレスバッファのうちの空の
一つとライトデータバッファのうちの空の一つに対応づ
けて格納し、データバッファのデータ幅がメインメモリ
のフルライト幅になった場合にメインメモリ(12)に
書き込むように制御するものであることを特徴としてい
る。
【0006】
【発明の実施の形態】本発明は、アドレスバッファとデ
ータバッファを複数個並列に具備し部分書き込みアクセ
スのアドレスとデータをバッファリングするようにし、
バス幅のデータが揃った場合にメインメモリにフルライ
トするようにしている。これにより、従来の部分書き込
みで必要であった、メモリからの「読み出し」,データ
の「マージ」,「書き込み」という操作を減らすことが
でき、メインメモリのアクセスの性能向上を図れる。
【0007】次に、本発明の主記憶制御装置の実施例を
図面を用いて詳細に説明する。図1は本発明の主記憶制
御装置をマルチプロセッサシステムに適用した場合の位
置づけを示す図である。同図において、1〜4はCPU
1〜CPUm、5はシステムバス、6および7はI/O
コントローラ(DMAコントローラを含む)1および
2、8および9はI/O、10はシステムバスコントロ
ーラ、11は本発明が対象としている主記憶制御装置、
12はインメモリである。メインメモリ12は、システ
ムバス5を介してCPU1〜CPUmおよびI/O8お
よび9からアクセスさせる。
【0008】図2は、本発明が対象とする主記憶制御装
置11の回路構成例を示す図である。同図において、2
1はシステムバスアドレス線、22はシステムバスデー
タ線、23はアクセスモード制御信号である。システム
バスアドレス線21,システムバスデータ線22,アク
セスモード制御信号23は図1のシステムバス5に含ま
れている。24はシステムバスアドレスレジスタ、25
はシステムバスデータレジスタ、26〜29はアドレス
バッファ1〜m、30〜33はコンペア回路1〜m、3
4はアドレスセレクタ、35はメモリアドレスレジス
タ、36はメモリアドレスバス、37〜40はデータバ
ッファ1〜m、41はメモリデータバス、42はメモリ
リードデータバッファ、43はデータセレクト&データ
マージ回路、44はメモリデータレジスタ、45はメモ
リデータバス、46はセレクタマージ制御回路である。
【0009】本実施例において、アクセスモード制御信
号23は、メモリアクセス時にアドレス,データととも
にアクセス要求元(CPUまたはI/O)から出力され
る信号である。主記憶制御装置11(セレクタマージ制
御回路46)は、このアクセスモード制御信号23によ
って、アクセス元の要求がリードであるかライトである
か、またライトであるならばそのライトデータの有効な
バイト幅は全てなのか上位部分なのか下位部分なのかな
どを知ることができる。
【0010】図3は本実施例の主記憶制御装置11の動
作フローチャートを示す図である。以下、同図に沿って
本主記憶制御装置11の動作を説明する。まず、セレク
タマージ制御回路46は、システムバス5からのアクセ
スが部分書き込みを要求しているものか否かをアクセス
モード制御信号23に基づいて判定する(ステップ10
1)。部分書き込みでない場合(ステップ101;NO)
は部分書き込み以外の要求されたアクセスを通常通り実
行した後(ステップ108)、次の要求を待つ。
【0011】部分書き込みの場合(ステップ101;YE
S)は、システムバスアドレス線21上のアドレスをシ
ステムバスアドレスレジスタ24に、システムバスデー
タ線22上のデータをシステムバスデータレジスタ25
にセットする(ステップ102)。システムバスアドレ
スレジスタ24のアドレスとアドレスバッファ26〜2
9のアドレスをコンペア回路30〜33で比較し、一致
するアドレスがない場合(最初の部分書き込みアクセス
の場合はアドレスバッファは全て空であるので一致する
アドレスはない)はステップ104へ進み、一致するア
ドレスがある場合はステップ105へ進む。
【0012】ステップ104では、セレクタマージ制御
回路(46)の制御により、システムバスアドレスレジ
スタ24のアドレスを空いている次のアドレスバッファ
に、システムバスデータレジスタ25のデータを空いて
いる次のデータバッファに移した後、次の要求を待つ。
【0013】ステップ105では、セレクタマージ制御
回路(46)の制御により、一致したアドレスに対応す
るデータレジスタのデータとデータバッファのデータを
マージする。マージした結果、ライトデータ幅がフルラ
イト幅になったか否かを判定し(ステップ106)、フ
ルライト幅になった場合にはメモリライトを行い(ステ
ップ107)、フルライトにならない場合は次の要求を
待つ。
【0014】以下、時間順序に従って具体的な例を説明
する。最初のシステムバス(5)からの部分書き込みア
クセス時には、まず、アドレスをシステムバスアドレス
レジスタ(24)に、データをシステムバスデータレジ
スタ(25)にセットする。アドレスとデータはそれぞ
れアドレスバッファ1(26)、データバッファ1(3
7)に移動される。次の部分書き込みアクセスの時にも
同様に、アドレスをシステムバスアドレスレジスタ(2
4)に、データをシステムバスデータレジスタ(25)
にセットする。セットが終了するとコンペア回路1(3
0)がシステムバスアドレスレジスタ(24)のアドレ
スと前のアクセスをフェッチ中のアドレスバッファ1
(26)のアドレスをコンペアする。
【0015】コンペアの結果、前のアクセスと異なるア
ドレスへの部分書き込みアクセスであれば、システムバ
スアドレスレジスタ(24)のアドレスを次の空のアド
レスバッファ(例えば27)に、システムバスデータレ
ジスタ(25)のデータを次の空のデータバッファ(例
えば38)に移動する。過去のアクセスと異なるアドレ
スへの部分書き込みアクセスの場合は同様な処理を行
う。コンペアの結果、過去のアクセスのアドレス(例え
ばアドレスバッファ26のアドレス)と同じアドレスへ
の部分書き込みアクセスであれば、セレクタマージ制御
回路(46)の制御により、同じアドレスのデータをフ
ェッチしているデータバッファ(例えばデータバッファ
37)でデータマージを行う。
【0016】以上の処理を続け、アドレスバッファの一
つにフェッチ中のアドレスへの部分書き込みアクセスが
バッファの幅全てについて行われたとする。このときの
アドレスバッファを例えばアドレスバッファ(26)と
仮定する。すると、当該アドレスバッファ(26)のア
ドレスはアドレスセレクタ(34)によりセレクトされ
メモリアドレスレジスタ(35)にセットされメモリア
ドレスバス(36)に出力される。同様にデータバッフ
ァ(37)のデータはデータセレクト&データマージ回
路(43)によりセレクトされメモリデータレジスタ
(44)にセットされメモリデータバス(45)に出力
されメインメモリ(12)へ書き込まれる。
【0017】次に、フルライトが発生した場合を説明す
る。フルライトのアクセスが発生した場合、セレクタマ
ージ制御回路(46)は、アクセスモード制御信号(2
3)により、フルライトアクセス要求を検出し、アドレ
スセレクタ(34)およびデータセレクト&データマー
ジ回路(43)を制御してメモリアドレスレジスタ(3
5)およびメモリデータレジスタ(44)にそのときの
アドレスとフルライトデータをそれぞれセットしメイン
メモリ(12)への書き込みを行う。
【0018】すなわち、どれか一つのアドレスバッファ
にフェッチ中のアドレスへの部分書き込みアクセスがバ
ッファの幅全てについて行われた時、当該アドレスバッ
ファのアドレスは、セレクタマージ制御回路(46)の
制御により、アドレスセレクタ(34)でセレクトされ
メモリアドレスレジスタ(35)にセットされる。メモ
リアドレスレジスタ(35)にセットされたアドレスは
メモリアドレスバス(36)に出力される。
【0019】同様に、対応するデータバッファのデータ
は、セレクタマージ制御回路(46)の制御により、デ
ータセレクト&マージ回路(43)でセレクトされメモ
リデータレジスタ(44)にセットされる。メモリデー
タレジスタ(44)にセットされたデータはメモリデー
タバス(45)に出力されメインメモリ(12)へ書き
込まれる。
【0020】なお、データ幅がフルライト幅分揃わない
場合は、メインメモリ(12)から不足分のデータ(4
1)を読み出し、メモリリードデータバッファ(42)
にセットし、フルライト分揃っていないデータバッファ
のデータとデータセレクト&マージ回路でマージし、メ
インメモリ(12)に書き込む。本制御を行うタイミン
グは、他からのアクセスがないときに主記憶制御装置
(11)の判断(例えば、メモリリフレッシュの周期が
きたときにメモリリフレッシュ−メモリリード−フルラ
イトというアクセスを行う)で行えばよい。
【0021】上記実施例におけるシステムバスアドレス
線およびシステムバスデータ線の幅、およびバッファの
段数は任意であってよいことは明らかである。以上述べ
たように、本実施例では、CPUおよびI/Oからのシ
ステムバスによる書き込み、読み出しが可能な情報処理
装置において、書き込み時のライトアドレスバッファと
ライトデータバッファを複数個並列に具備し、部分書き
込みアクセスを順次バッファリングしていくことによ
り、「メモリの読み出し」−「データのマージ」−「書
き込み」という操作を「メモリ書き込み」という一つの
操作に置き換えることが可能になり(フルライト幅揃っ
たとき)、メインメモリのアクセスを高速に処理しメイ
ンメモリの性能向上を図ることができる。
【0022】
【発明の効果】本発明によると、アドレスバッファおよ
びデータバッファを複数個並列に具備することにより、
部分書き込みアクセスのメインメモリのアクセス回数を
軽減っすることができ、メインメモリの性能を大幅に向
上できる。
【図面の簡単な説明】
【図1】本発明の主記憶制御装置の位置づけを示すため
の図である。
【図2】本発明の主記憶制御装置の一実施例を説明する
ための図である。
【図3】本発明の主記憶制御装置の一実施例の動作を示
すフローチャートである。
【符号の説明】
1〜4:CPU、5:システムバス、6〜7:I/Oコ
ントローラ、8〜9:I/O、10:システムバスコン
トローラ、11:主記憶制御装置、12:メインメモ
リ、21:システムバスアドレス線、22:システムバ
スデータ線、23:アクセスモード制御信号、24:シ
ステムバスアドレスレジスタ、25:システムバスデー
タレジスタ、26〜29:アドレスバッファ、30〜3
3:コンペア回路、34:アドレスセレクタ、35:メ
モリアドレスレジスタ、36:メモリアドレスバス、3
7〜40:データバッファ、41:メモリデータバス、
42:メモリリードデータバッファ、43:データセレ
クト&データマージ回路、44:メモリデータレジス
タ、45:メモリデータバス、46:セレクタマージ制
御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 森山 隆志 愛知県尾張旭市晴丘町池上1番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 平光 哲生 愛知県尾張旭市晴丘町池上1番地 株式会 社日立旭エレクトロニクス内 (72)発明者 岡澤 宏一 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 梅村 雅也 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 部分書き込み時のアドレスを格納するた
    めに並列に設けられた複数のアドレスバッファと、該ア
    ドレスバッファの各々と最新の部分書き込みアドレスと
    を比較する複数の比較器と、部分書き込み時のデータを
    格納するために、前記アドレスバッファと対応づけられ
    て並列に設けられた複数のデータバッファと、前記複数
    の比較器における比較の結果に応じてデータのマージを
    制御するセレクタマージ制御回路を有する主記憶制御装
    置であって、 前記セレクタマージ制御回路は、前記複数の比較器にお
    ける比較の結果、一致するアドレスがあった場合、該一
    致したアドレスを格納するアドレスバッファに対応づけ
    られたデータバッファのデータと最新の部分書き込みデ
    ータとをマージして前記ライトデータバッファに再保持
    させるとともに、前記複数の比較器における比較の結
    果、一致したライトアドレスがない場合、最新のライト
    アドレスと最新のライトデータをそれぞれ前記複数のラ
    イトアドレスバッファのうちの空の一つとライトデータ
    バッファのうちの空の一つに対応づけて格納し、前記デ
    ータバッファのデータ幅がメインメモリのフルライト幅
    になった場合にメインメモリに書き込むように制御する
    ものであることを特徴とする主記憶制御装置。
JP8097994A 1996-04-19 1996-04-19 主記憶制御装置 Pending JPH09282221A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8097994A JPH09282221A (ja) 1996-04-19 1996-04-19 主記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8097994A JPH09282221A (ja) 1996-04-19 1996-04-19 主記憶制御装置

Publications (1)

Publication Number Publication Date
JPH09282221A true JPH09282221A (ja) 1997-10-31

Family

ID=14207230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8097994A Pending JPH09282221A (ja) 1996-04-19 1996-04-19 主記憶制御装置

Country Status (1)

Country Link
JP (1) JPH09282221A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044354A (ja) * 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2007241576A (ja) * 2006-03-07 2007-09-20 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのデータ書込み方法
JP2008065718A (ja) * 2006-09-09 2008-03-21 Yamaha Corp デジタル信号処理装置
US8386696B2 (en) 2007-02-13 2013-02-26 Samsung Electronics Co., Ltd. Methods of writing partial page data in a non-volatile memory device
WO2015033551A1 (ja) 2013-09-04 2015-03-12 Necプラットフォームズ株式会社 ストアマージ処理装置、ストアマージ処理システム、ストアマージ処理方法、及び、記憶媒体
US11126560B2 (en) 2019-12-03 2021-09-21 Syntronix Corporation System-on-chip module for avoiding redundant memory access

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044354A (ja) * 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2007241576A (ja) * 2006-03-07 2007-09-20 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのデータ書込み方法
JP2008065718A (ja) * 2006-09-09 2008-03-21 Yamaha Corp デジタル信号処理装置
US8386696B2 (en) 2007-02-13 2013-02-26 Samsung Electronics Co., Ltd. Methods of writing partial page data in a non-volatile memory device
WO2015033551A1 (ja) 2013-09-04 2015-03-12 Necプラットフォームズ株式会社 ストアマージ処理装置、ストアマージ処理システム、ストアマージ処理方法、及び、記憶媒体
US11126560B2 (en) 2019-12-03 2021-09-21 Syntronix Corporation System-on-chip module for avoiding redundant memory access

Similar Documents

Publication Publication Date Title
US7908443B2 (en) Memory controller and method for optimized read/modify/write performance
US6272609B1 (en) Pipelined memory controller
JPH0756815A (ja) キャッシュ動作方法及びキャッシュ
JPH11143775A (ja) キャッシュメモリシステム
EP0730228B1 (en) ECC protected memory organization with pipelined read-modify-write accesses
US5594884A (en) Cache memory system having a plurality of ports
JPH09282221A (ja) 主記憶制御装置
US6874117B2 (en) Memory control device and method
JPH0283736A (ja) バッファ記憶制御装置のosc検出方式
JPS6238953A (ja) 部分書込みアクセスを圧縮する主記憶装置
JPS6022376B2 (ja) キャッシュメモリ制御装置
JPH1063574A (ja) キャッシュメモリ付プロセッサ
US20040103267A1 (en) Data processor having cache memory
US5694584A (en) Information processing system capable of quickly processing a parameter and a command necessary for drawing processing
JPS5842546B2 (ja) ストア制御方式
EP0502206A1 (en) System equipped with processor and cache memory, and method of controlling said cache memory
JPS61112260A (ja) 多重階層記憶システムにおけるスワツプ制御装置
JPH06231032A (ja) アクセス制御装置
JPH0228737A (ja) バッファ記憶制御方式
JPH0212440A (ja) Fifo型キャッシュメモリ付メインメモリ装置
JPH07105098A (ja) 命令キャッシュのリプレース装置
JPH0448356A (ja) キャッシュメモリシステム
JPS6246353A (ja) メモリ読出し方式
JPH01305452A (ja) バッファ記憶装置のストア制御方式
JPH01129334A (ja) キャッシュメモリのデータ制御方式