JPH0749807A - メモリシステム及びキャッシュメモリシステム - Google Patents

メモリシステム及びキャッシュメモリシステム

Info

Publication number
JPH0749807A
JPH0749807A JP5194764A JP19476493A JPH0749807A JP H0749807 A JPH0749807 A JP H0749807A JP 5194764 A JP5194764 A JP 5194764A JP 19476493 A JP19476493 A JP 19476493A JP H0749807 A JPH0749807 A JP H0749807A
Authority
JP
Japan
Prior art keywords
data
word
parity
read
memory
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
JP5194764A
Other languages
English (en)
Inventor
Itsuko Kinoshita
伊都子 木下
Akihisa Oosaki
暁寿 大崎
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5194764A priority Critical patent/JPH0749807A/ja
Priority to US08/286,119 priority patent/US5500814A/en
Publication of JPH0749807A publication Critical patent/JPH0749807A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【目的】 パリティ計算の対象のビットの配置の制限を
緩和してメモリ構成の自由度の向上を図り、また書き込
み/読み出し回路、特にそのセンスアンプのチップ上で
の専有面積を削減すると共に電力消費量を低減し得るメ
モリシステムの提供を目的とする。 【構成】 各バイトメモリ1〜4を、パリティ計算回路
5〜8によるパリティ計算の対象となるワード単位のデ
ータが4ワードのワード単位のデータそれぞれの同一ビ
ット位置となるように構成し、更にそのようなバイトメ
モリ1〜4におけるワード選択制御回路23により選択さ
れたワード単位のデータのビットの位置をデータバス29
に選択的に接続するマルチプレクサ41〜44を備えてい
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パリティビットを含む
メモリシステムに関し、特に多ビットのデータを連続的
に読み出すようなメモリにおいてパリティ構成を改善し
たメモリシステム及びキャッシュメモリシステムに関す
る。
【0002】
【従来の技術】近年、マイクロプロセッサ等のデータの
多ビット化に伴い、メモリシステムもデータを多ビット
で構成する必要が生じてきた。多ビットのデータを扱う
場合、当然のことながらデータの信頼性が問題になる。
そこで、データ転送時の誤りをパリティで検出する方法
が広く採用されている。
【0003】一方、マイクロプロセッサ等の高速化に伴
い、メモリシステムに対してはデータの連続的な読み出
し(連続リード)が可能なことが要求されるようになっ
ている。これにより、パリティを有するメモリシステム
の場合、より高速でパリティ計算を行う必要が生じてい
る。以上のような事情から、連続リード可能で且つパリ
ティビットを有するメモリシステムでは、従来は図7の
ブロック図に示されているような全体構成において図8
及び図9に示されているようなメモリ構成が要求され
る。なお、図8には図7に示されている全体構成の内の
第1メモリブロックMB1 と第2メモリブロックMB2 とが
示されており、図9には図7に示されている全体構成の
内の第3メモリブロックMB3 と第4メモリブロックMB4
とが示されている。第1〜第4メモリブロックMB1 〜MB
4 はそれぞれ、第1〜第4バイトメモリ1〜4, 第1〜
第4書き込み/読み出し回路19〜22, 第1〜第4パリテ
ィメモリ9〜12及び第1〜第4パリティ計算回路5〜8
で構成されている。
【0004】この図7,図8及び図9に示されているメ
モリシステムは、4ワード連続リードが可能である。1
ワードは1バイト(8ビット)で、1ワードに1ビット
のパリティビットが対応している。パリティビットは、
データがメモリに書き込まれる際に計算され、記憶され
る。データがメモリから読み出される際には、メモリか
ら読み出されるデータの内容のパリティが計算され、そ
のデータに対応するパリティビットの値と比較すること
によりデータの信頼性が保証される。その際、パリティ
が一致しなければ、その旨が外部に報知される。
【0005】図7,図8及び図9に示されているブロッ
ク図ではメモリシステムの各部分の配置が考慮されてい
る。第1〜第4バイトメモリ1〜4はそれぞれ8行に構
成されており、それぞれが4ワード連続リードの対象と
なる第1〜第4ワードのデータの各1ワードを記憶す
る。なお、各バイトメモリ1〜4はいずれも非破壊読み
出し型である。また、各バイトメモリ1〜4の各行には
それぞれ1ビットのパリティビットが同時にアクセスさ
れるように配置されており、それぞれのバイトメモリ1
〜4に対応する各8ビットのパリティビットが第1〜第
4パリティメモリ9〜12をそれぞれ構成する。
【0006】パリティの計算は、第1〜第4バイトメモ
リ1〜4に行単位で記憶されるそれぞれのワードに対応
して第1〜第4パリティ計算回路5〜8が行い、それぞ
れの結果を各パリティメモリ9〜12の対応するデータと
同一の行のパリティビットに記憶させる。第1〜第4パ
リティ計算回路5〜8はまた、第1〜第4バイトメモリ
1〜4から行単位でデータが読み出される際に、各バイ
トメモリ1〜4から読み出されるデータの内容からパリ
ティを計算し、これらの計算結果と各パリティメモリ9
〜12の対応するデータと同一の行のパリティビットの値
とを比較し、第1〜第4不一致信号13〜16を出力する。
【0007】第1〜第4不一致信号13〜16は、それぞれ
比較結果が不一致である場合にアクティブになることに
より、対応するバイトメモリ1〜4から読み出されたデ
ータまたはパリティメモリ9〜12から読み出されたパリ
ティビットの値が信頼できないことを示す。これらの第
1〜第4不一致信号13〜16はOR回路17で論理和がとられ
てエラー信号18として外部へ出力される。
【0008】第1〜第4バイトメモリ1〜4へのデータ
の書き込みとそれらからのデータの読み出しとは、それ
ぞれ第1〜第4書き込み/読み出し回路19〜22, ワード
選択制御回路23から出力されるワード選択信号64, リー
ド/ライト信号27により制御される。各書き込み/読み
出し回路19〜22はワード選択制御回路23から出力される
ワード選択信号64によりデータの書き込みまたは読み出
しを指示された場合にのみ、それぞれに対応するバイト
メモリ1〜4に対するデータの書き込みまたは読み出し
を行う。
【0009】次に、図7,図8及び図9に示されている
従来のメモリシステムの動作を説明する。このメモリシ
ステムは、アドレス5ビット,データ8ビットである。
5ビットのアドレスの内の上位の3ビットは第1〜第4
バイトメモリ1〜4及び第1〜第4パリティメモリ9〜
12内のいずれかの同一の行を指定し、下位の2ビットは
第1〜第4バイトメモリ1〜4のいずれかを指定する。
【0010】メモリアクセスに際して外部から5ビット
のアドレスが入力されると、その内の3ビットのアドレ
ス上位ビット24が第1, 第2デコーダ25, 26に、2ビッ
トのアドレス下位ビット28がワード選択制御回路23にそ
れぞれ入力される。第1, 第2デコーダ25, 26は、メモ
リ構成上の位置が異なるのみで論理的には全く同一構成
を有し、アドレス上位ビット24をデコードした結果得ら
れる8ビットの信号250, 260により各バイトメモリ1〜
4の同一の行を同時に指定する。
【0011】リード/ライト信号27がリードを指示する
場合、第1〜第4バイトメモリ1〜4の第1, 第2デコ
ーダ25, 26から出力される信号250, 260により指示され
た同一行の内容が第1〜第4書き込み/読み出し回路19
〜22により全て読み出されると同時に第1〜第4パリテ
ィ計算回路5〜8にも入力される。また、第1〜第4パ
リティメモリ9〜12の第1, 第2デコーダ25, 26により
指示された同一行のパリティビットの値がそれぞれに対
応する第1〜第4パリティ計算回路5〜8により読み出
される。第1〜第4パリティ計算回路5〜8は、それぞ
れに対応するバイトメモリ1〜4から読み出されたデー
タのパリティを計算し、それらの結果とそれぞれに対応
するパリティメモリ9〜12から読み出されたパリティビ
ットと比較する。この第1〜第4パリティ計算回路5〜
8による比較結果のいずれか一つでもが不一致である場
合、対応する第1〜第4不一致信号13〜16がアクティブ
になり、それによりOR回路17の出力であるエラー信号18
もアクティブになる。
【0012】一方、2ビットのアドレス下位ビット28は
ワード選択制御回路23に入力される。このメモリシステ
ムでは4ワード連続リードが行われるため、ワード選択
制御回路23はアドレス下位ビット28で指示されるワード
からラウンドロビン方式に従ってワードのリード順を指
示するワード選択信号64を出力する。具体的には、アド
レス下位ビット28が”00”であれば第1ワード(第1バ
イトメモリ1)から、”01”であれば第2ワード(第2
バイトメモリ2)から、”10”であれば第3ワード(第
3バイトメモリ3)から、”11”であれば第4ワード
(第4バイトメモリ4)からそれぞれ順に読み出され
る。
【0013】指示された順に第1〜第4バイトメモリ1
〜4からそれぞれに対応する第1〜第4書き込み/読み
出し回路19〜22により読み出されたデータはデータバス
29へ出力される。但し、この動作はエラー信号18には無
関係に出力される。書き込み/読み出し回路19〜22へ読
み出されたデータが有効として処理されるか無効にされ
るかはエラー信号18に従ってメモリシステム外で判断さ
れる。
【0014】このように、従来はメモリシステムからの
連続リードをスムーズに行うために、各ワードは第1〜
第4バイトメモリ1〜4からそれぞれに対応する第1〜
第4書き込み/読み出し回路19〜22により同時に読み出
され、ワード選択制御回路23によりラウンドロビン方式
で指示される順番に従ってデータバス29へ出力される。
このため、第1〜第4書き込み/読み出し回路19〜22は
それぞれ8ビット分の論理回路として構成されている。
【0015】リード/ライト信号27がライトを指示する
場合、第1〜第4書き込み/読み出し回路19〜22の内の
アドレス下位ビット28で指示されているワードに対応す
る回路のみが対応するバイトメモリ1,2,3または4
にデータバス29からデータを書き込む。たとえば、アド
レス下位ビット28が”10”である場合、ワード選択制御
回路23から出力されるワード選択信号64によりによ
り第3書き込み/読み出し回路21のみが指示される。第
3書き込み/読み出し回路21は、データバス29上のワー
ドデータを第3バイトメモリ3の第2デコーダ26で指示
された行に書き込む。そして、第3パリティ計算回路7
は、第3書き込み/読み出し回路21が第3バイトメモリ
3に書込むために出力したデータを入力してパリティを
計算し、その結果を第3パリティメモリ11の第2デコー
ダ26で指示される行のパリティビットに書き込む。
【0016】以上のように、従来のパリティビットを有
する連続リード可能なメモリシステムでは、パリティ計
算の制限からパリティ計算の対象のビットはチップ上で
相互に物理的に近い距離に配置される必要があり、連続
リードのための制限から全てのワードを同時に読み出す
ことができるようにメモリ素子を配置する必要があるの
で、それらの制限からメモリ構成が決定され、メモリ構
成の自由度が低いという問題があった。
【0017】また、上述のような従来のメモリシステム
では、書き込み/読み出し回路19〜22がバイトメモリ1
〜4のビット数に対応するビット数の論理回路として構
成されるため、それらのチップ上での専有面積が大き
く、且つ電力消費量が大きいという問題があった。この
ような問題は上述のような従来のメモリシステムを複数
用いてキャッシュメモリを構成した場合には更に顕著に
なる。このような問題点に鑑みて、本願発明者は先に特
開平3-147038号公報として開示されている発明を提案し
ているので、以下にこの特開平3-147038号公報の発明を
第2の従来技術として説明する。
【0018】図10は上述の特開平3-147038号公報に開示
されている発明のキャッシュメモリの構成を示すブロッ
ク図であり、4ウェイセットアソシアティブ方式で構成
されている。なお、この従来例では、1ワードは32ビッ
トで構成されている。
【0019】図10において、参照符号51はデータ処理装
置により要求されているアクセス対象のデータの図示さ
れていないメインメモリ(外部メモリ)におけるアドレ
ス(要求アドレス)を示しており、上位側から順にアド
レスタグ51a,セットセレクト51b,ワードセレクト51c に
て構成されている。
【0020】参照符号52はn個の領域(以下、各領域を
エントリと称す)にて構成されたアドレスタグメモリで
あり、データのアドレス51の内のアドレスタグ51a を各
エントリに一つずつ記憶する。なお、このアドレスタグ
メモリ52は4ウェイそれぞれに対応して4個備えられて
いる。参照符号53は同じくn個のエントリにて構成され
たバリッドビットメモリであり、対応するアドレスタグ
メモリ52のエントリに格納されているデータの有効/無
効を表示するデータが格納される。なお、このバリッド
ビットメモリ53も4ウェイそれぞれに対応して4個備え
られている。
【0021】参照符号54はn個のエントリにて構成され
たデータメモリである。このデータメモリ54はワード単
位で分割された54a, 54b, 54c, 54dの4個のデータ領域
にて構成されている。更に各データ領域54a, 54b, 54c,
54dは1ワード分の第0ビットから第31ビットまでの32
ビット分の領域に分割され、各1ビット分の領域が更に
4ウェイ分の領域に分割されている。図10には、ワード
1のデータ領域54a の第0ビットがそれぞれのウェイA,
B, C, Dに対応する領域に分割されていることが模式的
に示されている。更に、各1ウェイ分の領域はそれぞれ
n個のエントリに分割されている。
【0022】参照符号55はワードセレクタであり、この
キャッシュメモリシステムでは4ワードそれぞれに対応
するデータ領域54a, 54b, 54c, 54dをワードセレクト51
c に従ってこのワードセレクタ55が選択して稼働させ
る。参照符号59はウェイセレクタであり、各ウェイに対
応してウェイ選択線(この例では4本)59a, 59b, 59c,
59d が備えられている。4本のウェイ選択線59a, 59b,
59c, 59dは後述するウェイ選択信号により選択されてア
クティブにされる。また、各データ領域54a, 54b, 54c,
54dの各ウェイ分の領域は後述するセンスアンプ56及び
書込み回路57とそれぞれゲートを介して信号線にて接続
されている。そして、ウェイ選択線59a, 59b, 59c, 59d
がアクティブになることによりそれぞれのゲートがオン
してセンスアンプ56または書込み回路57とそれぞれのウ
ェイ分の領域が接続される。
【0023】参照符号58はアドレスタグ比較器であり、
要求アドレス1のアドレスタグ51aとアドレスタグメモ
リ52の各ウェイのセットセレクト51b とにより指定され
ているエントリに格納されているデータ(アドレスタ
グ)とを比較する。この比較の結果が一致した場合に
は、アドレスタグ比較器58はヒット信号を出力する。な
お、このアドレスタグ比較器58もアドレスタグメモリ52
に対応して、即ち4ウェイそれぞれに対応して4個備え
られており、比較結果が一致したアドレスタグ比較器58
からウェイセレクタ59へウェイ選択信号が出力される。
【0024】センスアンプ56は各データ領域54a, 54b,
54c, 54dのそれぞれのビット分の領域に一つずつ備えら
れており、ウェイ選択信号により選択されているいずれ
かのウェイ分の領域から出力された信号を増幅してデー
タバス60へ出力する。参照符号57は書込み回路であり、
各データ領域54a, 54b, 54c, 54dのそれぞれのビット分
の領域に一つずつ備えられており、データバス60から入
力された信号をウェイ選択信号により選択されているウ
ェイ分の領域へ入力して書込む。
【0025】この特開平3-147038号公報に開示されてい
るキャッシュメモリシステムは以上のように構成されて
いるので、センスアンプ56の数は 1ワードのビット数×ワード数 となり、具体的には、 32×4 である。即ち、この従来例のキャッシュメモリではセン
スアンプ56の数はウェイ数には無関係であり、ウェイ数
を増加させた場合にもセンスアンプ56の数が増加するこ
とはない。
【0026】このような特開平3-147038号公報に開示さ
れている4ウェイセットアソシアティブ方式のキャッシ
ュメモリの動作は以下の如くである。要求アドレス51
は、アドレスタグ51a はアドレスタグ比較器58に、セッ
トセレクト51b はアドレスタグメモリ52及びデータメモ
リ54の各データ領域54a,54b, 54c, 54d に、ワードセレ
クト51c はワードセレクタ55にそれぞれ入力される。
【0027】アドレスタグメモリ52及びデータメモリ54
はそれぞれのエントリに既にデータ処理装置から要求が
あったアドレスのアドレスタグとそのアドレスによりメ
インメモリから読出された4ワードのデータブロックが
格納されている。アドレスタグメモリ52及びデータメモ
リ54に対するアクセスは、セットセレクト51b にてエン
トリアドレスを指定することにより行われる。即ち、セ
ットセレクト51b により選択されたアドレスタグメモリ
52のエントリに格納されているアドレスタグが読出され
てアドレスタグ比較器58に与えられる。また、ワードセ
レクタ55によりデータメモリ54のデータ領域54a, 54b,
54c, 54dの内のいずれか一つのデータ領域が選択されて
稼働状態になる。
【0028】たとえば、ワードセレクト51c によりワー
ド1に対応するデータ領域54a が選択されたとする。ま
たデータ領域54a のワード1の領域のセットセレクト51
b により一つのエントリが、即ち4ウェイ分のデータブ
ロックが選択される。一方、アドレスタグ比較器58はデ
ータ処理装置から現在要求されている要求アドレス51の
アドレスタグ51a とアドレスタグメモリ52から読出され
たアドレスタグとを比較し、一致しているか否かを判定
する。一致している場合、アドレスタグ比較器58はヒッ
ト信号を出力すると共に、ウェイセレクタ59へウェイ選
択信号を出力する。
【0029】ところで前述の如く、この従来例のキャッ
シュメモリシステムは4ウェイセットアソシアティブ方
式であるので、アドレスタグメモリ52及びアドレスタグ
比較器58はそれぞれウェイ数に対応して4個ずつ備えら
れている。また、データメモリ54はワード単位で54a, 5
4b, 54c, 54dの各データ領域に4分割され、それぞれに
ウェイ数分のデータが存在する。
【0030】従って、アドレスタグメモリ52及びデータ
メモリ54は同一のエントリに対して最大で4個のアドレ
スタグ及びデータブロックを格納することが可能であ
る。また、アドレスタグメモリ52の各ウェイは並行して
同一の動作を行うので、アドレスタグ比較器58がヒット
(一致)と判定した場合には一つのエントリアドレスに
対して同時に4個のアドレスタグが参照される。即ち、
アドレスタグ比較器58はアドレスタグメモリ52から読出
された各ウェイのアドレスタグとデータ処理装置から現
在要求されている要求アドレス51のアドレスタグ51a と
の比較を4ウェイ分同時に行い、ヒット/キャッシュミ
スを判定する。
【0031】一方、データメモリ54ではワードセレクタ
55によりいずれかのワードに対応するデータ領域54a, 5
4b, 54c, 54dが選択され、更にセットセレクト51b にて
指定されるエントリアドレスに従って4ウェイ分のデー
タが選択される。ウェイセレクタ59がアドレスタグ比較
器58からいずれのウェイがヒットしたかを示すウェイ選
択信号を受取ると、ウェイセレクタ59は対応するウェイ
選択線59a, 59b, 59c, 59dのいずれかをアクティブにす
る。これにより、選択されているウェイとセンスアンプ
56及び書込み回路57とが接続されるので、データメモリ
54から要求アドレス51に対応したデータがセンスアンプ
56へ出力されて増幅され、データバス60へ出力される。
以上の従来例では、4ウェイのキャッシュメモリについ
て説明しているが、ウェイ数は2以上であればどのよう
な数でもよい。
【0032】
【発明が解決しようとする課題】以上のように、従来の
パリティビットを有する連続リード可能なメモリシステ
ムでは、パリティ計算の制限からパリティ計算の対象の
ビットはチップ上で相互に物理的に近い距離のメモリ素
子に割り当てる必要があり、連続リードのための制限か
ら全てのワードを同時に読み出すことができるようにメ
モリ素子を配置する必要があるので、それらの制限から
メモリ構成が決定され、メモリ構成の自由度が低いとい
う問題があった。
【0033】また、書き込み/読み出し回路、特にその
センスアンプがバイトメモリのビット数に対応する数の
論理回路として構成されるためにそれらのチップ上での
専有面積が大きくなり、且つ電力消費量が大きいという
問題に対処した従来の特開平3-147038号公報に開示され
ているキャッシュメモリではパリティの構成について考
慮されていないという問題があった。
【0034】本発明はこのような事情に鑑みてなされた
ものであり、パリティ計算の対象のビットの配置の制限
を緩和してメモリ構成の自由度の向上を図り、また書き
込み/読み出し回路、特にそのセンスアンプのチップ上
での専有面積を削減すると共に電力消費量を低減し得る
メモリシステム及びキャッシュメモリシステムの提供を
目的とする。
【0035】
【課題を解決するための手段】本発明に係るメモリシス
テムは、データ記憶手段を、パリティ計算手段によるパ
リティ計算の対象となるワード単位のデータが所定数の
ワード単位のデータそれぞれの同一ビット位置となるよ
うに構成し、更にそのようなデータ記憶手段におけるワ
ード選択手段により選択されたワード単位のデータのビ
ットの位置をデータバスに選択的に接続する接続手段を
備えたことを特徴とする。
【0036】本発明に係るキャッシュメモリシステム
は、データ記憶手段を、パリティ計算手段によるパリテ
ィ計算の対象となるワード単位のデータが4ウェイそれ
ぞれの同一ワードのワード単位のデータそれぞれの同一
ビット位置となるように構成し、更にそのようなデータ
記憶手段におけるウェイ選択手段及びワード選択手段に
より選択されたワード単位のデータのビットの位置をデ
ータバスに選択的に接続する接続手段を備えたことを特
徴とする。
【0037】
【作用】本発明のキャッシュメモリでは、パリティを計
算する対象のデータがワード単位ではなくて複数のワー
ドの同一ビットになるので、ワード選択手段により選択
されたワードのビットのみが接続手段により選択的にデ
ータバスに接続され、選択された順に出力される。
【0038】本発明に係るキャッシュメモリシステムで
は、パリティを計算する対象のデータが同一ウェイのワ
ード単位ではなくて全てのウェイの同一のワードの同一
ビットになるので、ウェイ選択手段により選択されたウ
ェイの内のワード選択手段により選択されたワードのビ
ットのみが接続手段により選択的にデータバスに接続さ
れ、選択された順に出力される。
【0039】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。図1,図2及び図3のブロック図に本発
明の第1の発明の一実施例としてのメモリシステムのメ
モリ構成を示す。なお、図2には図1に示されている全
体構成の内の第1メモリブロックMB1 と第2メモリブロ
ックMB2 とが示されており、図3には図1に示されてい
る全体構成の内の第3メモリブロックMB3 と第4メモリ
ブロックMB4 とが示されている。第1〜第4メモリブロ
ックMB1 〜MB4 はそれぞれ、第1〜第4バイトメモリ1
〜4, 第1〜第4書き込み/読み出し回路19〜22, 第1
〜第4パリティメモリ9〜12,第1〜第4パリティ計算
回路5〜8及び第1〜第4マルチプレクサ41〜44で構成
されている。
【0040】図1,図2及び図3に示されている本発明
のメモリシステムは、4ワード連続リードが可能であ
る。1ワードは1バイト(8ビット)で、1ワードに1
ビットのパリティビットが対応している。パリティビッ
トは、データがメモリに書き込まれる際に計算され、記
憶される。データがメモリから読み出される際には、メ
モリから読み出されるデータの内容のパリティが計算さ
れ、そのデータに対応するパリティビットの値と比較す
ることによりデータの信頼性が保証される。その際、パ
リティが一致しなければ、その旨が外部に報知される。
【0041】図1,図2及び図3に示されているブロッ
ク図ではメモリシステムの各部分の配置が考慮されてい
る。第1〜第4バイトメモリ1〜4はそれぞれ8行に構
成されており、それぞれが8ビットのデータを8行分、
行単位で記憶する。なお、各バイトメモリ1〜4はいず
れも非破壊読み出し型である。
【0042】前述の図7,図8及び図9に示されている
従来技術においては、各バイトメモリ1〜4はそれぞれ
1ワードのデータを記憶したが、本発明の実施例では1
個のバイトメモリ1〜4に4ワードのデータの各ワード
から2ビットずつがそれぞれ記憶される。たとえば、第
1バイトメモリ2では、第1〜第4ワードのデータそれ
ぞれのビット0とビット1とが記憶される。図2に示さ
れている第1バイトメモリ1において、たとえば
「b01」の「0 」はビット0を、「1 」は第1ワードを
それぞれ示す。
【0043】また、各バイトメモリ1〜4の各行にはそ
れぞれ1ビットのパリティビットが同時にアクセスされ
るように配置されており、それぞれのバイトメモリ1〜
4に対応する各ビットのパリティビットが第1〜第4パ
リティメモリ9〜12をそれぞれ構成する。
【0044】パリティの計算は、第1〜第4バイトメモ
リ1〜4に行単位で記憶される各8ビットのデータに対
応して第1〜第4パリティ計算回路5〜8が行い、それ
ぞれの結果を各パリティメモリ9〜12の対応するデータ
と同一の行に記憶させる。第1〜第4パリティ計算回路
5〜8はまた、第1〜第4バイトメモリ1〜4から行単
位でデータが読み出される際に、各バイトメモリ1〜4
から読み出されるデータの内容からパリティを計算し、
これらの計算結果と各パリティメモリ9〜12の対応する
データと同一の行のパリティビットの値とを比較し、第
1〜第4不一致信号13〜16を出力する。
【0045】第1〜第4不一致信号13〜16は、それぞれ
比較結果が不一致である場合にアクティブになることに
より、対応するバイトメモリ1〜4から読み出されたデ
ータまたはパリティメモリ9〜12から読み出されたパリ
ティビットの値が信頼できないことを示す。これらの第
1〜第4不一致信号13〜16はOR回路17で論理和がとられ
てエラー信号18として外部へ出力される。
【0046】第1〜第4バイトメモリ1〜4へのデータ
の書き込みとそれらからのデータの読み出しとは、それ
ぞれ第1〜第4書き込み/読み出し回路19〜22, ワード
選択制御回路23から出力されるリード許可信号40及びワ
ード選択信号64, 第1〜第4マルチプレクサ41〜44,リ
ード/ライト信号27により制御される。
【0047】各マルチプレクサ41〜44は、ワード選択制
御回路23から出力されるワード選択信号64により指示さ
れたワードのビットに関してのみ各バイトメモリ1〜4
とそれぞれに対応する書き込み/読み出し回路19〜22と
を接続する。各書き込み/読み出し回路19〜22はリード
/ライト信号27に従ってデータの書き込みまたは読み出
しを行う。なお、各バイトメモリ1〜4及びパリティメ
モリ9〜12からは、リード許可信号40が与えられるとそ
れぞれに対応する第1〜第4バイトメモリ1〜4及び第
1〜第4パリティ計算回路5〜8へデータが出力され
る。
【0048】次に、図1,図2及び図3に示されている
本発明のメモリシステムの実施例の動作を説明する。こ
の図1,図2及び図3に示されている本発明のメモリシ
ステムは、アドレス5ビット,データ8ビットである。
5ビットのアドレスの内の上位の3ビットは第1〜第4
バイトメモリ1〜4及び第1〜第4パリティメモリ9〜
12内のいずれかの行を指定し、下位の2ビットはいずれ
かのバイトを指定する。
【0049】メモリアクセスに際して図1,図2及び図
3に示されているメモリシステムに外部から5ビットの
アドレスが入力されると、その内の3ビットのアドレス
上位ビット24が第1, 第2デコーダ25, 26に、2ビット
のアドレス下位ビット28がワード選択制御回路23にそれ
ぞれ入力される。第1, 第2デコーダ25, 26は、メモリ
構成上の位置が異なるのみで論理的には全く同一構成を
有し、アドレス上位ビット24をデコードした結果得られ
る信号250, 260により各バイトメモリ1〜4の同一の行
を同時に指定する。
【0050】リード/ライト信号27には関係無しにリー
ド許可信号40がアクティブであれば、第1〜第4バイト
メモリ1〜4及び第1〜第4パリティメモリ9〜12の第
1,第2デコーダ25, 26から出力される信号250, 260に
より指示された同一行の内容がそれぞれに対応するパリ
ティ計算回路5〜8及びマルチプレクサ41〜44へ出力さ
れる。
【0051】リード/ライト信号27がリードを指示する
場合、第1〜第4パリティ計算回路5〜8ではそれぞれ
に対応するバイトメモリ1〜4から出力されたデータの
パリティを計算し、それぞれに対応するパリティメモリ
9〜12から読み出されたパリティビットと比較する。こ
の第1〜第4パリティ計算回路5〜8による比較結果の
いずれか一つでもが不一致である場合、対応する不一致
信号13〜16がアクティブになるのでOR回路17の出力であ
るエラー信号18もアクティブになる。
【0052】一方、2ビットのアドレス下位ビット28は
ワード選択制御回路23に入力される。本発明のメモリシ
ステムでは4ワード連続リードが行われるため、ワード
選択制御回路23はアドレス下位ビット28で指示されるワ
ードからラウンドロビン方式に従ってワードのリード順
を指示するワード選択信号64を出力する。具体的には、
アドレス下位ビット28が”00”であれば第1, 第2, 第
3, 第4ワードの順に、アドレス下位ビット28が”01”
であれば第2, 第3, 第4, 第1ワードの順に、アドレ
ス下位ビット28が”10”であれば第3, 第4, 第1, 第
2ワードの順に、アドレス下位ビット28が”11”であれ
ば第4, 第1, 第2, 第3ワードの順に、それぞれ指示
される。
【0053】上述のワード選択制御回路23から出力され
るワード選択信号64によるワード選択の指示は第1〜第
4マルチプレクサ41〜44に入力される。各マルチプレク
サ41〜44はそれぞれに対応するバイトメモリ1〜4のワ
ード選択信号64により指示されたワードのビットのみを
それぞれに対応する書き込み/読み出し回路19〜22に接
続する。たとえば、アドレス下位ビット28が”00”であ
れば第1, 第2, 第3, 第4ワードの順になるので、ま
ず第1マルチプレクサ41では第1バイトメモリ1の第1
ワードのビットであるb01とb11とを第1書き込み/読
み出し回路19に、第2マルチプレクサ42では第2バイト
メモリ2の第1ワードのビットであるb21とb31とを第
2書き込み/読み出し回路20に、第3マルチプレクサ43
では第3バイトメモリ3の第1ワードのビットであるb
41とb51とを第3書き込み/読み出し回路21に、第4マ
ルチプレクサ44では第4バイトメモリ4の第1ワードの
ビットであるb61とb71とを第4書き込み/読み出し回
路22にそれぞれ接続する。これにより、各書き込み/読
み出し回路19〜22からデータバス29へは第1ワードの8
ビットb01〜b71が出力される。
【0054】次に、第1マルチプレクサ41では第1バイ
トメモリ1の第2ワードのビットであるb02とb12とを
第1書き込み/読み出し回路19に、第2マルチプレクサ
42では第2バイトメモリ2の第2ワードのビットである
22とb32とを第2書き込み/読み出し回路20に、第3
マルチプレクサ43では第3バイトメモリ3の第2ワード
のビットであるb42とb52とを第3書き込み/読み出し
回路21に、第4マルチプレクサ44では第4バイトメモリ
4の第2ワードのビットであるb62とb72とを第4書き
込み/読み出し回路22にそれぞれ接続する。これによ
り、各書き込み/読み出し回路19〜22からデータバス29
へは第2ワードの8ビットb02〜b72が出力される。
【0055】以下同様に、その次には各書き込み/読み
出し回路19〜22からデータバス29へ第3ワードの8ビッ
トb03〜b73が、更に次には各書き込み/読み出し回路
19〜22からデータバス29へ第4ワードの8ビットb04
74が順に出力される。なお、この際のデータのデータ
バス29への出力はエラー信号18には無関係に行われ、読
み出されたデータが有効として処理されるか無効にされ
るかはエラー信号18に従ってメモリシステム外で判断さ
れる。
【0056】このように、上述の実施例では、メモリシ
ステムからの連続リードをスムーズに行うために、全て
のデータを第1〜第4バイトメモリ1〜4から同時に読
み出し、ワード選択制御回路23によりワードを順に指示
しつつ同一ワードのビットをマルチプレクサ41〜44で選
択してデータバス29へ出力する。このため、4個のマル
チプレクサ41〜44を構成するための論理回路分のハード
ウェアは増加するが、第1〜第4書き込み/読み出し回
路19〜22はそれぞれ2ビット分の論理回路で構成できる
ため、チップ上でのレイアウトに際して専有面積が小さ
くなる。また同時に、データバス29の負荷も少なくな
る。
【0057】リード/ライト信号27がライトを指示する
場合、各パリティ計算回路5〜8は各バイトメモリ1〜
4のデコーダ25, 26が指示している行から出力されるデ
ータをパリティ計算を行わずに一旦ラッチしておく。各
マルチプレクサ41〜44はアドレス下位ビット28で、換言
すればワード選択制御回路23により指示されているワー
ドに対応するビットに関してのみ、各バイトメモリ1〜
4とそれぞれに対応する書き込み/読み出し回路19〜22
とを接続する。この状態で各書き込み/読み出し回路19
〜22は、データバス29から各マルチプレクサ41〜44を通
じて各バイトメモリ1〜4にデータを書き込む。
【0058】たとえば、アドレス下位ビット28が”10”
である場合、第1〜第4マルチプレクサ41〜44はビット
03,b13,b23,b33,b43,b53,b63,b73に関
してのみ、各バイトメモリ1〜4とそれぞれに対応する
書き込み/読み出し回路19〜22とを接続する。この状態
で各書き込み/読み出し回路19〜22はデータバス29上の
データを各バイトメモリ1〜4の指示された行の上記ビ
ット位置に書込む。
【0059】この際、各パリティ計算回路9〜12は、各
マルチプレクサ41〜44を通じて書込まれるデータを入力
し、先にラッチしておいたデータと同一のビット位置の
みを書き換、その後に書き換えられた新しいデータのパ
リティを計算し、その結果を各パリティメモリ9〜12の
指定された行に書込む。
【0060】次に、図1,図2及び図3に示されている
本発明のメモリシステムをキャッシュメモリシステムに
適用した場合の第2の発明の実施例について、その一構
成例を示す図4,図5及び図6のブロック図を参照して
説明する。キャッシュメモリは、主メモリとマイクロプ
ロセッサとの間のアクセス時間のギャップを埋めるため
のバッファメモリである。キャッシュメモリには主メモ
リ(図示せず)の記憶内容の一部のコピーが記憶され
る。そして、マイクロプロセッサ(図示せず)がアクセ
スするデータがキャッシュメモリに既に記憶されていれ
ば、キャッシュメモリはヒットしてマイクロプロセッサ
との間でデータを送受する。マイクロプロセッサがアク
セスするデータをキャッシュメモリが記憶しているか否
かの判定、即ちヒット/ミスの判定はタグメモリ(図示
せず)で行われる。
【0061】タグメモリは、キャッシュメモリ内に記憶
されているデータのアドレスの一部(前述の図10に示さ
れている従来例では要求アドレス51の内のアドレスタグ
51aに相当し、以下の本発明の実施例では8ビットのア
ドレスの内の上位3ビットに相当する)を記憶してい
る。そしてタグメモリは、マイクロプロセッサからアク
セスが行われた場合にそのアドレスと自身が記憶してい
るアドレスの一部とを比較し、一致していればヒットと
判定してヒット信号61をアクティブにし、不一致であれ
ばミスと判定してヒット信号61をノンアクティブにす
る。
【0062】より具体的には、マイクロプロセッサがリ
ードアクセスを要求し、キャッシュメモリ内にそのデー
タが記憶されていない場合にはリードミスとなり、キャ
ッシュメモリはマイクロプロセッサが要求しているデー
タを含む複数ワード(以下の本発明の実施例では4ワー
ド)のデータを主メモリまたはより下位のキャッシュメ
モリから読み出してマイクロプロセッサへ送ると共に、
自身にも記憶する。
【0063】なお、図5には図4に示されている全体構
成の内の第1メモリブロックMB1 と第2メモリブロック
MB2 とが示されており、図6には図4に示されている全
体構成の内の第3メモリブロックMB3 と第4メモリブロ
ックMB4 とが示されている。第1〜第4メモリブロック
MB1 〜MB4 はそれぞれ、第1〜第4バイトメモリ1〜
4, 第1〜第4書き込み/読み出し回路19〜22, 第1〜
第4パリティメモリ9〜12,第1〜第4パリティ計算回
路5〜8及び第1〜第4マルチプレクサ41〜44で構成さ
れている。図4,図5及び図6に示されている本発明の
キャッシュメモリシステムは、リードヒット時に4ワー
ド連続リードを行う。なお、本実施例では4ウェイセッ
トアソシアティブ方式を採用しているため、それぞれを
ウェイA, ウェイB, ウェイC, ウェイDとし、図1,
図2及び図3に示されているのとほぼ同様のメモリシス
テムを1ユニットとして参照符号MU1 〜MU4 までの4メ
モリユニットで構成されている。
【0064】また、各メモリユニットMU1 〜MU4 は同一
構成であるので、図5及び図6ではメモリユニットMU1
のみの内部構成を示し、他のメモリユニットMU2 〜MU4
の内部構成は省略してある。また、ここでも前述同様
に、1ワードは1バイト(8ビット)で、1ワードに1
ビットのパリティビットが対応している。パリティビッ
トは、データがメモリに書き込まれる際に計算され、記
憶される。リードヒットした場合にデータがメモリから
読み出される際に、メモリから読み出されるデータの内
容のパリティが計算され、そのデータに対応するパリテ
ィビットの値と比較することによりデータの信頼性が保
証される。リードヒットした際にパリティが一致しなけ
れば、その旨が外部に報知される。
【0065】図4,図5及び図6に示されているブロッ
ク図ではメモリシステムの各部分の配置が考慮されてい
る。各メモリユニットMU1 〜MU4 の第1〜第4バイトメ
モリ1〜4はそれぞれ8行に構成されており、それぞれ
が8ビットのデータを8行分、行単位で記憶する。な
お、各バイトメモリ1〜4はいずれも非破壊読み出し型
である。
【0066】前述の図7,図8及び図9に示されている
従来技術においては、各バイトメモリ1〜4はそれぞれ
1ワードのデータを記憶したが、本実施例では各メモリ
ユニットMU1 〜MU4 が第1〜第4ワードをそれぞれ記憶
し、更に各メモリユニットMU1 〜MU4 においてそれぞれ
のバイトメモリ1〜4に4ウェイの2ビットずつがそれ
ぞれ記憶される。たとえば、メモリユニットMU1 の第2
バイトメモリ2では、各ウェイA〜Dの第1ワードのデ
ータのビット2(b21A , 21B , 21C , 21D )と
ビット3(b31A ,b31B ,b31C ,b31D )とが記憶
される。図5に示されている第2バイトメモリ2におい
て、たとえば「b21A 」の「2」はビット2を、「1
は第1ワードを、「A 」はウェイAをそれぞれ示す。
【0067】また、各バイトメモリ1〜4の各行にはそ
れぞれ1ビットのパリティビットが同時にアクセスされ
るように配置されており、それぞれのバイトメモリ1〜
4に対応する各8ビットのパリティビットが第1〜第4
パリティメモリ9〜12をそれぞれ構成する。
【0068】パリティの計算は、第1〜第4バイトメモ
リ1〜4に行単位で記憶される各8ビットのデータに対
応して第1〜第4パリティ計算回路5〜8が行い、それ
ぞれの結果を各パリティメモリ9〜12の対応するデータ
と同一の行のパリティビットに記憶させる。第1〜第4
パリティ計算回路5〜8はまた、第1〜第4バイトメモ
リ1〜4から行単位でデータが読み出される際に、各バ
イトメモリ1〜4から読み出されるデータの内容からパ
リティを計算し、これらの計算結果と各パリティメモリ
9〜12の対応するデータと同一の行のパリティビットの
値とを比較し、第1〜第4不一致信号13〜16を出力す
る。
【0069】第1〜第4不一致信号13〜16は、それぞれ
比較結果が不一致である場合にアクティブになることに
より、対応するバイトメモリ1〜4から読み出されたデ
ータまたはパリティメモリ9〜12から読み出されたパリ
ティビットの値が信頼できないことを示す。これらの第
1〜第4不一致信号13〜16はOR回路17で論理和がとら
れ、更に各メモリユニットMU1 〜MU4 のOR回路17の出力
信号がOR回路62で論理和がとられ、てエラー信号18とし
て外部へ出力される。
【0070】第1〜第4バイトメモリ1〜4へのデータ
の書き込みとそれらからのデータの読み出しとは、それ
ぞれ第1〜第4書き込み/読み出し回路19〜22, ワード
選択制御回路23から出力されるリード許可信号40及びワ
ード選択信号64, 第1〜第4マルチプレクサ41〜44, リ
ード/ライト信号27, ウェイ選択信号63, ヒット信号61
により制御される。
【0071】ウェイ選択信号63は、図示されていないタ
グメモリにおけるヒット/ミス判定の結果を示し、ヒッ
トしたウェイを示す信号のみがアクティブになり、各メ
モリユニットMU1 〜MU4 の第1〜第4マルチプレクサ41
〜44に与えられる。各書き込み/読み出し回路19〜22は
リード/ライト信号27,ワード選択信号64, ヒット信号
61に従ってデータの各バイトメモリ1〜4への書き込み
またはデータのバイトメモリ1〜4からの読み出しの制
御を行う。なお、各バイトメモリ1〜4及びパリティメ
モリ9〜12からは、リード許可信号40が与えられるとそ
れぞれに対応する書き込み/読み出し回路19〜22及びパ
リティ計算回路5〜8へデータが出力される。
【0072】次に、図4,図5及び図6に示されている
本発明のキャッシュメモリシステムの実施例の動作を説
明する。この図4,図5及び図6に示されている本発明
のキャッシュメモリシステムは、アドレス8ビット,デ
ータ8ビットである。8ビットのアドレスの内の上位の
3ビットはタグアドレスとしてヒット/ミスの判定に用
いられる。中位の3ビットは第1〜第4バイトメモリ1
〜4及びパリティメモリ9〜12内のいずれかの行を指定
し、下位の2ビットはいずれかのバイトを指定する。
【0073】メモリアクセスに際して外部から図4,図
5及び図6に示されているキャッシュメモリシステムへ
8ビットのアドレスが入力されると、その内の3ビット
の上位アドレスは図示されていないタグメモリに与えら
れてヒット/ミスの判定に用いられ、ヒットであればヒ
ット信号61がアクティブに、ミスであればヒット信号61
がノンアクティブになる。
【0074】3ビットのアドレス中位ビット(前述の図
1に示されている3ビットのアドレス上位ビットと同
じ)24は各メモリユニットMU1 〜MU4 の第1, 第2デコ
ーダ25, 26に、2ビットのアドレス下位ビット28はワー
ド選択制御回路23にそれぞれ入力される。第1, 第2デ
コーダ25, 26は、メモリ構成上の位置が異なるのみで論
理的には全く同一構成を有し、アドレス中位ビット24を
デコードした結果得られる8ビットの信号250, 260によ
り各メモリユニットMU1 〜MU4 においてそれぞれのバイ
トメモリ1〜4の同一の行を同時に指定する。
【0075】リード/ライト信号27には関係無しにリー
ド許可信号40がアクティブであれば各メモリユニットMU
1 〜MU4 において、第1〜第4バイトメモリ1〜4及び
第1〜第4パリティメモリ9〜12の第1, 第2デコーダ
25, 26から出力される信号250, 260により指示された同
一行の内容がそれぞれに対応するパリティ計算回路5〜
8及びマルチプレクサ41〜44へ出力される。
【0076】図示されていないタグメモリでは、アドレ
スが入力されるとその上位3ビットによりウェイ毎のヒ
ット/ミスの判定が行われる。ヒットした場合、ヒット
信号61とヒットしたウェイを示すウェイ選択信号63とが
アクティブになる。ミスした場合、ヒット信号61とウェ
イ選択信号63との全てがノンアクティブになる。
【0077】リード/ライト信号27がリードを示してお
り、且つたとえばウェイAがヒット(リードヒット)し
た場合、各メモリユニットMU1 〜MU4 において第1ワー
ドに対応するメモリユニットMU1 の第1〜第4パリティ
計算回路5〜8ではそれぞれに対応するバイトメモリ1
〜4から読み出されたデータのパリティを計算し、それ
ぞれに対応するパリティメモリ9〜12から読み出された
パリティビットと比較する。この各メモリユニットMU1
〜MU4 での第1〜第4パリティ計算回路5〜8による比
較結果のいずれか一つでもが不一致である場合、対応す
る不一致信号13〜16がアクティブになり、それにより各
メモリユニットMU1 〜MU4 のOR回路17の出力信号もアク
ティブになり、更にOR回路62の出力であるエラー信号18
もアクティブになる。
【0078】一方、ウェイ選択信号63は各メモリユニッ
トMU1 〜MU4 の第1〜第4マルチプレクサ41〜44に入力
されている。ウェイAがヒットした場合、ウェイAを指
示するウェイ選択信号63のみがアクティブになり、各メ
モリユニットMU1 〜MU4 において各バイトメモリ1〜4
のウェイAのビットのみが各マルチプレクサ41〜44によ
り選択されて書き込み/読み出し回路19〜22へ出力され
る。
【0079】また、2ビットのアドレス下位ビット28は
ワード選択制御回路23に入力される。本発明のキャッシ
ュメモリシステムでは4ワード連続リードが行われるた
め、ワード選択制御回路23はアドレス下位ビット28で指
示されるワードからラウンドロビン方式に従ってワード
のリード順をワード選択信号64で指示する。具体的に
は、アドレス下位ビット28が”00”であれば第1, 第
2, 第3, 第4ワードの順に、換言すればメモリユニッ
トMU1, MU2, MU3, MU4の順に指示される。アドレス下位
ビット28が”01”であれば第2, 第3, 第4, 第1ワー
ドの順に、換言すればメモリユニットMU2, MU3, MU4, M
U1の順に指示される。アドレス下位ビット28が”10”で
あれば第3, 第4, 第1, 第2ワードの順に、換言すれ
ばメモリユニットMU3, MU4, MU1, MU2の順に指示され
る。アドレス下位ビット28が”11”であれば第4, 第
1, 第2, 第3ワードの順に、換言すればメモリユニッ
トMU4, MU1, MU2, MU3の順に指示される。
【0080】上述のワード選択制御回路23から出力され
るワード選択信号64によるワード選択の指示は対応する
メモリユニットMU1 〜MU4 の書き込み/読み出し回路19
〜22に順次入力される。ワード選択信号64により選択さ
れたメモリユニットMU1 〜MU4 の書き込み/読み出し回
路19〜22はそれぞれに対応する第1〜第4マルチプレク
サ41〜44からデータバス29へデータを出力する。
【0081】たとえば、ウェイAが指定されていてアド
レス下位ビット28が”00”であれば第1, 第2, 第3,
第4ワードの順になるので、ワード選択信号64によりま
ずメモリユニットMU1 が指定される。メモリユニットMU
1 の第1マルチプレクサ41では第1バイトメモリ1のウ
ェイAのビットであるb01A とb11A とを第1書き込み
/読み出し回路19に、第2マルチプレクサ42では第2バ
イトメモリ2のウェイAのビットであるb21A とb31A
とを第2書き込み/読み出し回路20に、第3マルチプレ
クサ43では第3バイトメモリ3のウェイAのビットであ
るb41A とb51A とを第3書き込み/読み出し回路21
に、第4マルチプレクサ44では第4バイトメモリ4のウ
ェイAのビットであるb61A とb71A とを第4書き込み
/読み出し回路22にそれぞれ接続する。これにより、メ
モリユニットMU1 の各書き込み/読み出し回路19〜22か
らデータバス29へはウェイAの第1ワードの8ビットb
01A 〜b71A が出力される。
【0082】次に、ワード選択信号64によりメモリユニ
ットMU2 が指定される。メモリユニットMU2 の第1マル
チプレクサ41では第1バイトメモリ1のウェイAのビッ
トであるb02A とb12A とを第1書き込み/読み出し回
路19に、第2マルチプレクサ42では第2バイトメモリ2
のウェイAのビットであるb22A とb32A とを第2書き
込み/読み出し回路20に、第3マルチプレクサ43では第
3バイトメモリ3のウェイAのビットであるb42A とb
52A とを第3書き込み/読み出し回路21に、第4マルチ
プレクサ44では第4バイトメモリ4のウェイAのビット
であるb62A とb72A とを第4書き込み/読み出し回路
22にそれぞれ接続する。これにより、メモリユニットMU
2 の各書き込み/読み出し回路19〜22からデータバス29
へはウェイAの第2ワードの8ビットb02A 〜b72A
出力される。
【0083】以下同様に、その次にはメモリユニットMU
3 が指定されてその各書き込み/読み出し回路19〜22か
らデータバス29へウェイAの第3ワードの8ビットb
03A 〜b73A が、更に次にはメモリユニットMU4 が指定
されてその各書き込み/読み出し回路19〜22からデータ
バス29へウェイAの第4ワードの8ビットb04A 〜b
74A が順に出力される。なお、この際のデータのデータ
バス29への出力はエラー信号18には無関係に行われ、読
み出されたデータが有効として処理されるか無効にされ
るかはエラー信号18に従ってメモリシステム外で判断さ
れる。
【0084】このように、図4,図5及び図6に示され
ているキャッシュメモリシステムの実施例では、連続リ
ードをスムーズに行うために、データを各メモリユニッ
トMU1 〜MU4 の第1〜第4バイトメモリ1〜4から同時
に各1行のデータを読み出し、ヒットしたウェイのデー
タのビットのみを各メモリユニットMU1 〜MU4 のマルチ
プレクサ41〜44にウェイ選択信号63を与えることにより
全てのワードについて選択させ、各メモリユニットMU1
〜MU4 の書き込み/読み出し回路19〜22にワード選択信
号64を与えることにより指定されたワード順にデータバ
ス29へ出力する。このため、各メモリユニットMU1 〜MU
4 において4個のマルチプレクサ41〜44を構成するため
の論理回路分のハードウェアは増加するが、第1〜第4
書き込み/読み出し回路19〜22はそれぞれ2ビット分の
論理回路で構成できるため、チップ上でのレイアウトに
際して専有面積が小さくなる。また同時に、データバス
29の負荷も少なくなる。
【0085】リード/ライト信号27がライトを指示して
いて且ついずれのウェイもヒットしない (リードミス)
場合、データを外部から入力して書き込む必要がある。
なおこの際、いずれのウェイにデータを書き込むかは図
示されていない部分で決定されるものとする。データを
書き込むべきウェイが決定されるとウェイ選択信号63で
指示される。各メモリユニットMU1 〜MU4 において、第
1〜第4ワードの各マルチプレクサ41〜44はウェイ選択
信号63による指示に従ってそれぞれに対応するバイトメ
モリ1〜4と書き込み/読み出し回路19〜22とを接続す
る。この場合、ヒット信号61はノンアクティブであり、
各パリティ計算回路5〜8はパリティ計算を行わない。
【0086】書き込まれるべき4ワードのデータが外部
から読み込まれると、その順序はアドレス下位ビット28
に従ってワード選択制御回路23により決定され、ワード
選択信号64によりメモリユニットMU1 〜MU4 が順次指定
される。全てのメモリユニットMU1 〜MU4 の書き込み/
読み出し回路19〜22はワード選択信号64が指示する順序
に従って各バイトメモリ1〜4にデータバス29上のデー
タを書き込む。
【0087】この際、各メモリユニットMU1 〜MU4 の各
パリティ計算回路9〜12は、4ワードのデータがバイト
メモリ1〜4に書き込まれる際に順次各ビットを一旦ラ
ッチしておき、4ワードのデータの全てが書き込まれた
後にパリティ計算を行い、その結果をそれぞれに対応す
る第1〜第4パリティ計算回路5〜8に書き込む。
【0088】リード/ライト信号27がライトを指示して
いて且つヒットした (ライトヒット) 場合、各パリティ
計算回路5〜8は各バイトメモリ1〜4のデコーダ25,
26が指示している行から出力されるデータをパリティ計
算を行わずに一旦ラッチしておく。各マルチプレクサ41
〜44はウェイ選択信号63で示されたウェイに対応するビ
ットに関してのみ、各バイトメモリ1〜4とそれぞれに
対応する書き込み/読み出し回路19〜22とを接続する。
この状態で各書き込み/読み出し回路19〜22は、データ
バス29から各マルチプレクサ41〜44を通じて各バイトメ
モリ1〜4にデータを書き込む。
【0089】たとえば、ウェイAがヒットしてアドレス
下位ビット28が”00”である場合は第1ワードが指示さ
れているので、メモリユニットMU1 の第1〜第4マルチ
プレクサ41〜44はビットb01A ,b11A ,b21A ,b
31A ,b41A ,b51A ,b61A,b71A に関してのみ、
各バイトメモリ1〜4とそれぞれに対応する書き込み/
読み出し回路19〜22とを接続する。この状態でメモリユ
ニットMU1 の各書き込み/読み出し回路19〜22はデータ
バス29上のデータを各バイトメモリ1〜4の指示された
行の上記ビット位置に書込む。
【0090】この際、メモリユニットMU1 の各パリティ
計算回路9〜12は、各マルチプレクサ41〜44を通じて書
込まれるデータを入力し、先にラッチしておいたデータ
と同一のビット位置のみを書き換える。そして、各パリ
ティメモリ9〜12はこの書き換えられた新しいデータで
パリティを計算し、その結果を各パリティメモリ9〜12
の指定された行に書込む。
【0091】
【発明の効果】以上に詳述したように本発明のメモリシ
ステム及びキャッシュメモリシステムによれば、パリテ
ィ計算の対象を異なるワードの同一ビット、または異な
るウェイの同一のワードの同一のビットになるようにビ
ットの配置を構成しているので、パリティパリティ計算
の対象となるビットの配置の制限が緩和されてメモリ構
成の自由度が向上し、また書き込み/読み出し回路、特
にそのセンスアンプのチップ上での専有面積が削減され
ると共に電力消費量も低減される。システムの提供を目
的とする。
【図面の簡単な説明】
【図1】本発明に係るメモリシステムの全体の構成例を
示すブロック図である。
【図2】本発明に係るメモリシステムの構成例を示すブ
ロック図である。
【図3】本発明に係るメモリシステムの構成例を示すブ
ロック図である。
【図4】本発明に係るキャッシュメモリシステムの全体
の構成例を示すブロック図である。
【図5】本発明に係るキャッシュメモリシステムの構成
例を示すブロック図である。
【図6】本発明に係るキャッシュメモリシステムの構成
例を示すブロック図である。
【図7】従来のメモリシステムの全体の構成例を示すブ
ロック図である。
【図8】従来のメモリシステムの構成例を示すブロック
図である。
【図9】従来のメモリシステムの構成例を示すブロック
図である。
【図10】従来のキャッシュメモリシステムの一構成例
を示すブロック図である。
【符号の説明】
1〜4 第1〜第4バイトメモリ 5〜8 第1〜第4パリティ計算回路 9〜12 第1〜第4パリティメモリ 19〜22 第1〜第4書き込み/読み出し回路 23 ワード選択制御回路 41〜44 第1〜第4マルチプレクサ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年2月15日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0040
【補正方法】変更
【補正内容】
【0040】図1,図2及び図3に示されている本発明
のメモリシステムは、4ワード連続リードが可能であ
る。1ワードは1バイト(8ビット)で、1バイトに1
ビットのパリティビットが対応している。パリティビッ
トは、データがメモリに書き込まれる際に計算され、記
憶される。データがメモリから読み出される際には、メ
モリから読み出されるデータの内容のパリティが計算さ
れ、そのデータに対応するパリティビットの値と比較す
ることによりデータの信頼性が保証される。その際、パ
リティが一致しなければ、その旨が外部に報知される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0064
【補正方法】変更
【補正内容】
【0064】また、各メモリユニットMU1 〜MU4 は同一
構成であるので、図5及び図6ではメモリユニットMU1
のみの内部構成を示し、他のメモリユニットMU2 〜MU4
の内部構成は省略してある。また、ここでも前述同様
に、1ワードは1バイト(8ビット)で、1バイトに1
ビットのパリティビットが対応している。パリティビッ
トは、データがメモリに書き込まれる際に計算され、記
憶される。リードヒットした場合にデータがメモリから
読み出される際に、メモリから読み出されるデータの内
容のパリティが計算され、そのデータに対応するパリテ
ィビットの値と比較することによりデータの信頼性が保
証される。リードヒットした際にパリティが一致しなけ
れば、その旨が外部に報知される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0091
【補正方法】変更
【補正内容】
【0091】
【発明の効果】以上に詳述したように本発明のメモリシ
ステム及びキャッシュメモリシステムによれば、パリテ
ィ計算の対象を異なるワードの同一ビット、または異な
るウェイの同一のワードの同一のビットになるようにビ
ットの配置を構成しているので、パリティ計算の対象と
なるビットの配置の制限が緩和されてメモリ構成の自由
度が向上し、また書き込み/読み出し回路、特にそのセ
ンスアンプのチップ上での専有面積が削減されると共に
電力消費量も低減される。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 所定数のビットで1ワードが構成される
    データがワード単位で記憶され、また読み出されるデー
    タ記憶手段と、 ワード単位のデータに対応するパリティビットを複数記
    憶するパリティ記憶手段と、 データバスから前記データ記憶手段にワード単位でデー
    タを書き込み、また前記データ記憶手段からワード単位
    のデータを所定数同時に前記データバスへ読み出す書き
    込み/読み出し手段と、 前記書き込み/読み出し手段による読み出しまたは書き
    込み対象となるワード単位のデータを選択するワード選
    択手段と、 前記データ記憶手段に書き込まれるデータのパリティを
    ワード単位で計算して前記パリティ記憶手段に書き込
    み、前記データ記憶手段から読み出されるデータのパリ
    ティをワード単位で計算して前記パリティ記憶手段に記
    憶されている対応するパリティと比較するパリティ計算
    手段とを備えたメモリシステムにおいて、 前記データ記憶手段は、前記パリティ計算手段によるパ
    リティ計算の対象となるワード単位のデータが前記所定
    数のワード単位のデータそれぞれの同一ビット位置とな
    るように構成されており、 前記データ記憶手段における前記ワード選択手段により
    選択されたワード単位のデータのビットの位置を前記デ
    ータバスに選択的に接続する接続手段を備えたことを特
    徴とするメモリシステム。
  2. 【請求項2】 所定数のビットで1ワードが構成され、
    所定数のワードで1ウェイが構成されるデータが4ウェ
    イ単位で記憶され、また読み出されるデータ記憶手段
    と、 ワード単位のデータに対応するパリティビットを複数記
    憶するパリティ記憶手段と、 データバスから前記データ記憶手段に4ウェイのデータ
    を書き込み、また前記データ記憶手段から4ウェイのデ
    ータの内の所定数を同時に前記データバスへ読み出す書
    き込み/読み出し手段と、 前記書き込み/読み出し手段による読み出しまたは書き
    込み対象となるウェイを選択するウェイ選択手段と、 前記ウェイ選択手段により選択されたウェイの内の前記
    書き込み/読み出し手段による読み出しまたは書き込み
    対象となるワード単位のデータを選択するワード選択手
    段と、 前記データ記憶手段に書き込まれるデータのパリティを
    ワード単位で計算して前記パリティ記憶手段に書き込
    み、前記データ記憶手段から読み出されるデータのパリ
    ティをワード単位で計算して前記パリティ記憶手段に記
    憶されている対応するパリティと比較するパリティ計算
    手段とを備えた4ウェイセットアソシアティブ方式のキ
    ャッシュメモリシステムにおいて、 前記データ記憶手段は、前記パリティ計算手段によるパ
    リティ計算の対象となるワード単位のデータが4ウェイ
    それぞれの同一ワードのワード単位のデータそれぞれの
    同一ビット位置となるように構成されており、 前記データ記憶手段における前記ウェイ選択手段及び前
    記ワード選択手段により選択されたワード単位のデータ
    のビットの位置を前記データバスに選択的に接続する接
    続手段を備えたことを特徴とする4ウェイセットアソシ
    アティブ方式のキャッシュメモリシステム。
JP5194764A 1993-08-05 1993-08-05 メモリシステム及びキャッシュメモリシステム Pending JPH0749807A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5194764A JPH0749807A (ja) 1993-08-05 1993-08-05 メモリシステム及びキャッシュメモリシステム
US08/286,119 US5500814A (en) 1993-08-05 1994-08-04 Memory system and cache memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5194764A JPH0749807A (ja) 1993-08-05 1993-08-05 メモリシステム及びキャッシュメモリシステム

Publications (1)

Publication Number Publication Date
JPH0749807A true JPH0749807A (ja) 1995-02-21

Family

ID=16329855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5194764A Pending JPH0749807A (ja) 1993-08-05 1993-08-05 メモリシステム及びキャッシュメモリシステム

Country Status (2)

Country Link
US (1) US5500814A (ja)
JP (1) JPH0749807A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024189774A1 (ja) * 2023-03-14 2024-09-19 ウルトラメモリ株式会社 演算システムおよび半導体集積回路モジュール

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666513A (en) * 1996-01-05 1997-09-09 Unisys Corporation Automatic reconfiguration of multiple-way cache system allowing uninterrupted continuing processor operation
JP3732637B2 (ja) 1997-12-26 2006-01-05 株式会社ルネサステクノロジ 記憶装置、記憶装置のアクセス方法及び半導体装置
KR100398954B1 (ko) * 2001-07-27 2003-09-19 삼성전자주식회사 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법
JP4914034B2 (ja) * 2005-06-28 2012-04-11 セイコーエプソン株式会社 半導体集積回路
US10672444B1 (en) * 2018-12-13 2020-06-02 Micron Technology, Inc. Decoder unit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4641305A (en) * 1984-10-19 1987-02-03 Honeywell Information Systems Inc. Control store memory read error resiliency method and apparatus
JPS62210547A (ja) * 1986-03-12 1987-09-16 Hitachi Ltd エラ−検出回路の診断方法
JPH0786848B2 (ja) * 1989-11-01 1995-09-20 三菱電機株式会社 キャッシュメモリ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024189774A1 (ja) * 2023-03-14 2024-09-19 ウルトラメモリ株式会社 演算システムおよび半導体集積回路モジュール

Also Published As

Publication number Publication date
US5500814A (en) 1996-03-19

Similar Documents

Publication Publication Date Title
US20230342305A1 (en) Victim cache that supports draining write-miss entries
JP3799050B2 (ja) 階層化された記憶項目とキャッシュタグを単一キャッシュアレイ構造に格納するキャッシュメモリ装置及び方法
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
JP2822588B2 (ja) キャッシュメモリ装置
US7694077B2 (en) Multi-port integrated cache
US6405287B1 (en) Cache line replacement using cache status to bias way selection
US5490113A (en) Memory stream buffer
US5070502A (en) Defect tolerant set associative cache
US6868472B1 (en) Method of Controlling and addressing a cache memory which acts as a random address memory to increase an access speed to a main memory
JPS604494B2 (ja) キヤツシユ記憶システム
JPH10133947A (ja) 統合されたプロセッサ・メモリ装置
US7836253B2 (en) Cache memory having pipeline structure and method for controlling the same
JP3236287B2 (ja) マルチプロセッサシステム
JPS6215896B2 (ja)
JP3900025B2 (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
US4774687A (en) Advanced store-in system for a hierarchy memory device
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
US5761714A (en) Single-cycle multi-accessible interleaved cache
JPH03147038A (ja) キャッシュメモリ
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
US5890221A (en) Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
JPH0749807A (ja) メモリシステム及びキャッシュメモリシステム
EP0600817A2 (en) Dual-port array with storage redundancy
US6374344B1 (en) Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts
US20010034808A1 (en) Cache memory device and information processing system