JPH0973413A - データ処理方法及び装置 - Google Patents
データ処理方法及び装置Info
- Publication number
- JPH0973413A JPH0973413A JP7230063A JP23006395A JPH0973413A JP H0973413 A JPH0973413 A JP H0973413A JP 7230063 A JP7230063 A JP 7230063A JP 23006395 A JP23006395 A JP 23006395A JP H0973413 A JPH0973413 A JP H0973413A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- state
- holding state
- data processing
- 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.)
- Withdrawn
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 本発明は、キャッシュを有するデータ処理装
置における主記憶装置からキャッシュへのデータ転送制
御方法に関し、あらかじめキャッシュに転送されたデー
タが主記憶装置を共有する別のデータ処理装置により無
効化された場合、主記憶装置からキャッシュへ該データ
を自動的に再転送する方法を提供し、データ処理を高速
化することを目的とする。 【解決手段】 あらかじめキャッシュに転送され或いは
転送中のデータであるか否かをキャッシュのプレデータ
保持状態及びプレデータ待ち状態とデータ保持状態及び
データ待ち状態とに区分して記憶し、プレデータ待ち状
態でデータ処理が行われた場合はデータ待ち状態に状態
を遷移させ、プレデータ保持状態でデータが無効化され
た場合は主記憶装置にキャッシュへのデータ転送を指示
しプレデータ待ち状態に状態を遷移させ、プレデータ保
持状態でデータ処理が実行された場合はデータ保持状態
に状態を遷移させることを特徴とするデータ処理方法。
置における主記憶装置からキャッシュへのデータ転送制
御方法に関し、あらかじめキャッシュに転送されたデー
タが主記憶装置を共有する別のデータ処理装置により無
効化された場合、主記憶装置からキャッシュへ該データ
を自動的に再転送する方法を提供し、データ処理を高速
化することを目的とする。 【解決手段】 あらかじめキャッシュに転送され或いは
転送中のデータであるか否かをキャッシュのプレデータ
保持状態及びプレデータ待ち状態とデータ保持状態及び
データ待ち状態とに区分して記憶し、プレデータ待ち状
態でデータ処理が行われた場合はデータ待ち状態に状態
を遷移させ、プレデータ保持状態でデータが無効化され
た場合は主記憶装置にキャッシュへのデータ転送を指示
しプレデータ待ち状態に状態を遷移させ、プレデータ保
持状態でデータ処理が実行された場合はデータ保持状態
に状態を遷移させることを特徴とするデータ処理方法。
Description
【0001】
【発明の属する技術分野】本発明は、キャッシュを有す
るデータ処理装置のデータ処理方法に関する。データ処
理は主記憶装置から読み出されたデータを入力データと
してデータ処理装置で行われ、処理結果は出力データと
して主記憶装置に格納される。
るデータ処理装置のデータ処理方法に関する。データ処
理は主記憶装置から読み出されたデータを入力データと
してデータ処理装置で行われ、処理結果は出力データと
して主記憶装置に格納される。
【0002】効率良くデータを処理するためには高速の
データ処理装置と高速・大容量の主記憶装置が必要であ
るが、高速の記憶素子は小容量でかつ高価であり、大容
量の記憶素子は安価ではあってもそれ程高速ではないこ
とから、主記憶装置を大容量の記憶素子で構成し、高速
の記憶素子で構成されたキャッシュと言われる高速小容
量の記憶回路をデータ処理装置の中に設ける手法が一般
に行われる。
データ処理装置と高速・大容量の主記憶装置が必要であ
るが、高速の記憶素子は小容量でかつ高価であり、大容
量の記憶素子は安価ではあってもそれ程高速ではないこ
とから、主記憶装置を大容量の記憶素子で構成し、高速
の記憶素子で構成されたキャッシュと言われる高速小容
量の記憶回路をデータ処理装置の中に設ける手法が一般
に行われる。
【0003】キャッシュを有するデータ処理装置におい
ては、プロセッサはキャッシュを主記憶装置と見做して
データの読み出しと書込みを行うが、キャッシュに必ず
しもデータがあるとは限らず、またキャッシュと主記憶
装置の間のデータの整合をとることが必要となるため、
キャッシュの制御はプロセッサによるデータ処理命令の
実行とは独立に行われる。
ては、プロセッサはキャッシュを主記憶装置と見做して
データの読み出しと書込みを行うが、キャッシュに必ず
しもデータがあるとは限らず、またキャッシュと主記憶
装置の間のデータの整合をとることが必要となるため、
キャッシュの制御はプロセッサによるデータ処理命令の
実行とは独立に行われる。
【0004】プロセッサからデータが要求されるとキャ
ッシュが参照され、該データがキャッシュに存在する場
合にはキャッシュから読み出され、プロセッサに転送さ
れるため高速のデータ処理が行われるが、該データがキ
ャッシュに存在しない場合には主記憶装置からデータを
ブロック単位でキャッシュに転送し、次いで必要なデー
タのみをキャッシュからプロセッサに転送するため処理
速度が著しく低下することになる。
ッシュが参照され、該データがキャッシュに存在する場
合にはキャッシュから読み出され、プロセッサに転送さ
れるため高速のデータ処理が行われるが、該データがキ
ャッシュに存在しない場合には主記憶装置からデータを
ブロック単位でキャッシュに転送し、次いで必要なデー
タのみをキャッシュからプロセッサに転送するため処理
速度が著しく低下することになる。
【0005】
【従来の技術】図5はデータ処理装置と主記憶装置の接
続構成図であり、図6は制御回路構成図であり、図7は
従来例の状態遷移図であり、図8は従来例のキャッシュ
の状態定義図であり、図9は従来例の状態遷移フロー図
(その1)であり、図10は従来例の状態遷移フロー図
(その2)である。
続構成図であり、図6は制御回路構成図であり、図7は
従来例の状態遷移図であり、図8は従来例のキャッシュ
の状態定義図であり、図9は従来例の状態遷移フロー図
(その1)であり、図10は従来例の状態遷移フロー図
(その2)である。
【0006】従来例について図5,図6,図7,図8,
図9,図10を参照しながら説明する。尚、以下の説明
において同一部分または相当部分については同一符号を
付す。
図9,図10を参照しながら説明する。尚、以下の説明
において同一部分または相当部分については同一符号を
付す。
【0007】図5において、1は主記憶装置であり、2
はデータ処理装置であり、3はプロセッサであり、4は
キャッシュであり、5は記憶回路であり、6は制御回路
であり、70はデータバスであり、80はアドレスバス
であり、90は制御バスであり、71はデータ線であ
り、81はアドレス線であり、91は制御線であり、4
1は制御線である。
はデータ処理装置であり、3はプロセッサであり、4は
キャッシュであり、5は記憶回路であり、6は制御回路
であり、70はデータバスであり、80はアドレスバス
であり、90は制御バスであり、71はデータ線であ
り、81はアドレス線であり、91は制御線であり、4
1は制御線である。
【0008】主記憶装置1はデータバス70,アドレス
バス80及び制御バス90を介してデータ処理装置2と
接続され、中速大容量の記憶素子から構成されてデータ
処理装置2が必要とするデータを保持し、データ処理装
置2の処理結果が格納される記憶装置である。
バス80及び制御バス90を介してデータ処理装置2と
接続され、中速大容量の記憶素子から構成されてデータ
処理装置2が必要とするデータを保持し、データ処理装
置2の処理結果が格納される記憶装置である。
【0009】データ処理装置2はデータバス70,アド
レスバス80及び制御バス90を介して主記憶装置1と
別のデータ処理装置2とに接続され、プロセッサ3とキ
ャッシュ4とから構成されて主記憶装置1から処理に必
要なデータを読み出し、処理結果を主記憶装置1に格納
する処理装置である。
レスバス80及び制御バス90を介して主記憶装置1と
別のデータ処理装置2とに接続され、プロセッサ3とキ
ャッシュ4とから構成されて主記憶装置1から処理に必
要なデータを読み出し、処理結果を主記憶装置1に格納
する処理装置である。
【0010】プロセッサ3はデータ線71,アドレス線
81及び制御線91を介してキャッシュ4と接続され、
キャッシュ4から処理に必要なデータを読み出し、処理
結果をキャッシュ4に格納する処理回路である。
81及び制御線91を介してキャッシュ4と接続され、
キャッシュ4から処理に必要なデータを読み出し、処理
結果をキャッシュ4に格納する処理回路である。
【0011】キャッシュ4はデータバス70,アドレス
バス80及び制御バス90を介して主記憶装置1と他の
データ処理装置2とに接続され、データ線71,アドレ
ス線81及び制御線91を介してプロセッサ3に接続さ
れ、記憶回路5と制御回路6から構成されて主記憶装置
1から読み出されたデータを一旦格納し、プロセッサ3
の要求に応じて該データを提供し、プロセッサ3の出力
した処理結果を一旦格納し、該処理結果を主記憶装置1
に転送する記憶回路である。
バス80及び制御バス90を介して主記憶装置1と他の
データ処理装置2とに接続され、データ線71,アドレ
ス線81及び制御線91を介してプロセッサ3に接続さ
れ、記憶回路5と制御回路6から構成されて主記憶装置
1から読み出されたデータを一旦格納し、プロセッサ3
の要求に応じて該データを提供し、プロセッサ3の出力
した処理結果を一旦格納し、該処理結果を主記憶装置1
に転送する記憶回路である。
【0012】記憶回路5はデータバス70及びアドレス
バス80を介して主記憶装置1と接続され、データ線7
1及びアドレス線81を介してプロセッサ3と接続さ
れ、制御線41を介して制御回路6と接続され、高速小
容量の記憶素子から構成されて主記憶装置1から読み出
されたデータが格納され、プロセッサ3の出力した処理
結果が格納される記憶回路である。
バス80を介して主記憶装置1と接続され、データ線7
1及びアドレス線81を介してプロセッサ3と接続さ
れ、制御線41を介して制御回路6と接続され、高速小
容量の記憶素子から構成されて主記憶装置1から読み出
されたデータが格納され、プロセッサ3の出力した処理
結果が格納される記憶回路である。
【0013】制御回路6はアドレスバス80及び制御バ
ス90を介して主記憶装置1及び別のデータ処理装置2
と接続され、アドレス線81及び制御線91を介してプ
ロセッサ3と接続され、制御線41を介して記憶回路5
と接続され、記憶回路5に格納されているデータの状態
を図6に示される如くブロックアドレスの単位で管理
し、タグにより表示して、プロセッサ3及び別のデータ
処理装置2からの指示があるとタグの表示する状態に応
じてプロセッサ3及び主記憶装置1との間のデータ転送
を制御し、記憶回路5へのデータ格納や主記憶装置1へ
のデータ格納等を契機として状態を遷移させる制御回路
である。
ス90を介して主記憶装置1及び別のデータ処理装置2
と接続され、アドレス線81及び制御線91を介してプ
ロセッサ3と接続され、制御線41を介して記憶回路5
と接続され、記憶回路5に格納されているデータの状態
を図6に示される如くブロックアドレスの単位で管理
し、タグにより表示して、プロセッサ3及び別のデータ
処理装置2からの指示があるとタグの表示する状態に応
じてプロセッサ3及び主記憶装置1との間のデータ転送
を制御し、記憶回路5へのデータ格納や主記憶装置1へ
のデータ格納等を契機として状態を遷移させる制御回路
である。
【0014】キャッシュ4の有する状態には、図8に示
される如く更新データ保持状態T1,無効データ保持状
態T2,データ待ち状態T3’,データ保持状態T4’
があり、図7に示される如く遷移する。
される如く更新データ保持状態T1,無効データ保持状
態T2,データ待ち状態T3’,データ保持状態T4’
があり、図7に示される如く遷移する。
【0015】更新データ保持状態T1は、キャッシュ4
に保持されているデータが最新であり、主記憶装置1に
は古いデータが保持されている状態であって、無効デー
タ保持状態T2またはデータ保持状態T4’において、
プロセッサ3からキャッシュ4に処理結果が格納された
場合に生じ、主記憶装置1に該処理結果が格納された場
合、データ保持状態T3’に遷移し、あるいは別のデー
タ処理装置2からデータ無効化が通知された場合、無効
データ保持状態T2に遷移する状態である。
に保持されているデータが最新であり、主記憶装置1に
は古いデータが保持されている状態であって、無効デー
タ保持状態T2またはデータ保持状態T4’において、
プロセッサ3からキャッシュ4に処理結果が格納された
場合に生じ、主記憶装置1に該処理結果が格納された場
合、データ保持状態T3’に遷移し、あるいは別のデー
タ処理装置2からデータ無効化が通知された場合、無効
データ保持状態T2に遷移する状態である。
【0016】無効データ保持状態T2は、主記憶装置1
または別のデータ処理装置2に最新のデータが保持され
ておりキャッシュ4には古いデータが保持されている状
態であり、あるいはキャッシュ4には指定された領域の
データが保持されていない状態であって、更新データ保
持状態T1またはデータ保持状態T4’において、別の
データ処理装置2からデータの無効化が通知された場合
に生じ、またデータ保持状態T4において別の領域のデ
ータを格納するため制御回路6が自らデータを無効化し
た場合に生じ、プロセッサ3からキャッシュ4に処理結
果が格納された場合、更新データ保持状態T1に遷移
し、あるいはプロセッサ3から要求されたデータがキャ
ッシュに存在しないため主記憶装置1にデータ転送が要
求された場合、データ待ち状態T3’に遷移する状態で
ある。
または別のデータ処理装置2に最新のデータが保持され
ておりキャッシュ4には古いデータが保持されている状
態であり、あるいはキャッシュ4には指定された領域の
データが保持されていない状態であって、更新データ保
持状態T1またはデータ保持状態T4’において、別の
データ処理装置2からデータの無効化が通知された場合
に生じ、またデータ保持状態T4において別の領域のデ
ータを格納するため制御回路6が自らデータを無効化し
た場合に生じ、プロセッサ3からキャッシュ4に処理結
果が格納された場合、更新データ保持状態T1に遷移
し、あるいはプロセッサ3から要求されたデータがキャ
ッシュに存在しないため主記憶装置1にデータ転送が要
求された場合、データ待ち状態T3’に遷移する状態で
ある。
【0017】データ待ち状態T3’は、主記憶装置1か
ら転送されるデータをキャッシュ4が待っている状態で
あって、無効データ保持状態T2においてプロセッサ3
からキャッシュ4にデータが要求された場合に生じ、主
記憶装置1から転送されたデータがキャッシュ4に格納
された場合、データ保持状態T4’に遷移する状態であ
る。
ら転送されるデータをキャッシュ4が待っている状態で
あって、無効データ保持状態T2においてプロセッサ3
からキャッシュ4にデータが要求された場合に生じ、主
記憶装置1から転送されたデータがキャッシュ4に格納
された場合、データ保持状態T4’に遷移する状態であ
る。
【0018】データ保持状態T4’は、キャッシュ4に
保持されているデータと主記憶装置1に保持されている
データが等しく、且つ最新の状態であって、更新データ
保持状態T1において、キャッシュ4に保持されている
データが主記憶装置1に格納された場合に生じ、あるい
はデータ待ち状態T3’において、主記憶装置1からキ
ャッシュ4にデータが転送された場合に生じ、別のデー
タ処理装置2からデータの無効化が通知された場合、無
効データ保持状態T2に遷移し、あるいはプロセッサ3
からキャッシュ4に処理結果が格納された場合、更新デ
ータ保持状態T1に遷移する状態である。
保持されているデータと主記憶装置1に保持されている
データが等しく、且つ最新の状態であって、更新データ
保持状態T1において、キャッシュ4に保持されている
データが主記憶装置1に格納された場合に生じ、あるい
はデータ待ち状態T3’において、主記憶装置1からキ
ャッシュ4にデータが転送された場合に生じ、別のデー
タ処理装置2からデータの無効化が通知された場合、無
効データ保持状態T2に遷移し、あるいはプロセッサ3
からキャッシュ4に処理結果が格納された場合、更新デ
ータ保持状態T1に遷移する状態である。
【0019】主記憶装置1にいずれも無効データ保持状
態にある2台のデータ処理装置2が接続され、一方のデ
ータ処理装置2(以下、「データ処理装置A」と略す)
が領域を指定して主記憶装置1からキャッシュ4にデー
タを転送する命令(以下、転送命令」と略す)を実行
し、次いで該データを使用するロード命令を実行し、他
方のデータ処理装置2(以下、「データ処理装置B」と
略す)が該転送命令と該ロード命令の間に該領域を格納
先の領域とするストア命令を実行する場合(以下、「ケ
ース1」とする。)の従来例について図9及び図10を
参照しながら説明する。
態にある2台のデータ処理装置2が接続され、一方のデ
ータ処理装置2(以下、「データ処理装置A」と略す)
が領域を指定して主記憶装置1からキャッシュ4にデー
タを転送する命令(以下、転送命令」と略す)を実行
し、次いで該データを使用するロード命令を実行し、他
方のデータ処理装置2(以下、「データ処理装置B」と
略す)が該転送命令と該ロード命令の間に該領域を格納
先の領域とするストア命令を実行する場合(以下、「ケ
ース1」とする。)の従来例について図9及び図10を
参照しながら説明する。
【0020】尚、以下の説明においてデータ処理装置A
を構成するプロセッサ3,キャッシュ4,記憶回路5,
制御回路6の各々をプロセッサA,キャッシュA,記憶
回路A,制御回路Aと略し、制御回路Aにおいて該領域
の状態を示すタグをタグAと略し、データ処理装置Bを
構成するプロセッサ3,キャッシュ4,記憶回路5,制
御回路6の各々をプロセッサB,キャッシュB,記憶回
路B,制御回路Bと略し、制御回路Bにおいて該領域の
状態を示すタグをタグBと略す。
を構成するプロセッサ3,キャッシュ4,記憶回路5,
制御回路6の各々をプロセッサA,キャッシュA,記憶
回路A,制御回路Aと略し、制御回路Aにおいて該領域
の状態を示すタグをタグAと略し、データ処理装置Bを
構成するプロセッサ3,キャッシュ4,記憶回路5,制
御回路6の各々をプロセッサB,キャッシュB,記憶回
路B,制御回路Bと略し、制御回路Bにおいて該領域の
状態を示すタグをタグBと略す。
【0021】ステップS1では、キャッシュA及びキャ
ッシュBは何れも無効データ保持状態T2にある。転送
命令がプロセッサAで実行されると、アドレス線81及
び制御線91を介し制御回路Aにデータ転送を主記憶装
置1に要求するよう指示がなされ、制御回路Aによりタ
グAが参照される。その結果、キャッシュAに有効なデ
ータが存在しないことが確認され、制御回路Aにより主
記憶装置1に対しデータ転送が要求され、タグAがデー
タ待ち状態T3’に変更される。
ッシュBは何れも無効データ保持状態T2にある。転送
命令がプロセッサAで実行されると、アドレス線81及
び制御線91を介し制御回路Aにデータ転送を主記憶装
置1に要求するよう指示がなされ、制御回路Aによりタ
グAが参照される。その結果、キャッシュAに有効なデ
ータが存在しないことが確認され、制御回路Aにより主
記憶装置1に対しデータ転送が要求され、タグAがデー
タ待ち状態T3’に変更される。
【0022】ステップS2では、キャッシュAはデータ
待ち状態T3’にあり、キャッシュBは無効データ保持
状態T2にある。主記憶装置1からデータバス70を介
してキャッシュAにデータが転送されると制御回路Aに
よりタグAがデータ保持状態T4’に変更される。
待ち状態T3’にあり、キャッシュBは無効データ保持
状態T2にある。主記憶装置1からデータバス70を介
してキャッシュAにデータが転送されると制御回路Aに
よりタグAがデータ保持状態T4’に変更される。
【0023】ステップS3では、キャッシュAはデータ
保持状態T4’にあり、キャッシュBは無効データ保持
状態T2にある。プロセッサBでストア命令が実行され
ると、データ線71,アドレス線81及び制御線91を
介してキャッシュBに処理結果が格納され、制御回路B
によりタグBが更新データ保持状態T1に変更される。
更に、制御回路Bにより制御回路Aに対しアドレスバス
70と制御バス80を介して、該アドレスで指定される
領域のデータの無効化が通知され、制御回路Aによりタ
グAが無効データ保持状態T2に変更される。
保持状態T4’にあり、キャッシュBは無効データ保持
状態T2にある。プロセッサBでストア命令が実行され
ると、データ線71,アドレス線81及び制御線91を
介してキャッシュBに処理結果が格納され、制御回路B
によりタグBが更新データ保持状態T1に変更される。
更に、制御回路Bにより制御回路Aに対しアドレスバス
70と制御バス80を介して、該アドレスで指定される
領域のデータの無効化が通知され、制御回路Aによりタ
グAが無効データ保持状態T2に変更される。
【0024】ステップS4では、キャッシュAは無効デ
ータ保持状態T2にあり、キャッシュBは更新データ保
持状態T1にある。キャッシュBよりデータバス70,
アドレスバス80及び制御バス90を介して主記憶装置
1にデータが転送されると、制御回路BによりタグBが
データ保持状態T4’に変更される。
ータ保持状態T2にあり、キャッシュBは更新データ保
持状態T1にある。キャッシュBよりデータバス70,
アドレスバス80及び制御バス90を介して主記憶装置
1にデータが転送されると、制御回路BによりタグBが
データ保持状態T4’に変更される。
【0025】ステップS5では、キャッシュAは無効デ
ータ保持状態T2にあり、キャッシュBはデータ保持状
態T4’にある。プロセッサAでロード命令が実行され
ると制御回路AによりタグAがデータ待ち状態T3’に
変更されてステップ6に進み、ロード命令が実行されな
いとステップS8に進む。
ータ保持状態T2にあり、キャッシュBはデータ保持状
態T4’にある。プロセッサAでロード命令が実行され
ると制御回路AによりタグAがデータ待ち状態T3’に
変更されてステップ6に進み、ロード命令が実行されな
いとステップS8に進む。
【0026】ステップS6では、キャッシュAはデータ
待ち状態T3’にあり、キャッシュBはデータ保持状態
T4’にある。主記憶装置1からデータバス70を介し
てキャッシュAにデータが転送されると、制御回路Aに
よりタグAがデータ保持状態T4’に変更される。
待ち状態T3’にあり、キャッシュBはデータ保持状態
T4’にある。主記憶装置1からデータバス70を介し
てキャッシュAにデータが転送されると、制御回路Aに
よりタグAがデータ保持状態T4’に変更される。
【0027】ステップS7では、キャッシュAはデータ
保持状態T4’にあり、キャッシュBはデータ保持状態
T4’にある。プロセッサAによりキャッシュAのデー
タを入力としてロード命令が実行され、処理が終了す
る。
保持状態T4’にあり、キャッシュBはデータ保持状態
T4’にある。プロセッサAによりキャッシュAのデー
タを入力としてロード命令が実行され、処理が終了す
る。
【0028】ステップS8では、キャッシュAは無効デ
ータ保持状態T2にあり、キャッシュBはデータ保持状
態T4’にある。ステップS9では、キャッシュAは無
効データ保持状態T2にあり、キャッシュBはデータ保
持状態T4’にある。
ータ保持状態T2にあり、キャッシュBはデータ保持状
態T4’にある。ステップS9では、キャッシュAは無
効データ保持状態T2にあり、キャッシュBはデータ保
持状態T4’にある。
【0029】プロセッサAでロード命令が実行されると
制御回路AによりタグAがデータ待ち状態T3’に変更
される。ステップS10では、キャッシュAはデータ待
ち状態T3’にあり、キャッシュBはデータ保持状態T
4’にある。
制御回路AによりタグAがデータ待ち状態T3’に変更
される。ステップS10では、キャッシュAはデータ待
ち状態T3’にあり、キャッシュBはデータ保持状態T
4’にある。
【0030】主記憶装置1からデータバス70を介して
キャッシュAにデータが転送されると、制御回路Aによ
りタグAがデータ保持状態T4’に変更される。ステッ
プS11では、キャッシュAはデータ保持状態T4’に
あり、キャッシュBはデータ保持状態T4’にある。
キャッシュAにデータが転送されると、制御回路Aによ
りタグAがデータ保持状態T4’に変更される。ステッ
プS11では、キャッシュAはデータ保持状態T4’に
あり、キャッシュBはデータ保持状態T4’にある。
【0031】プロセッサAによりキャッシュAのデータ
を入力としてロード命令が実行され、処理が終了する。
このように、キャッシュ4を有するデータ処理装置2で
は主記憶装置1に対しキャッシュ4へデータ転送するよ
う要求するのみの転送命令を設け、プロセッサ3が他の
データ処理を行っている間に主記憶装置1からキャッシ
ュ4にデータを転送出来るよう、前もって該命令を出す
ことにより処理の高速化を図ってきた。
を入力としてロード命令が実行され、処理が終了する。
このように、キャッシュ4を有するデータ処理装置2で
は主記憶装置1に対しキャッシュ4へデータ転送するよ
う要求するのみの転送命令を設け、プロセッサ3が他の
データ処理を行っている間に主記憶装置1からキャッシ
ュ4にデータを転送出来るよう、前もって該命令を出す
ことにより処理の高速化を図ってきた。
【0032】ところが、主記憶装置1に複数のデータ処
理装置2が接続された場合、データ処理に先立ちあらか
じめ準備したデータが、別のデータ処理装置2により無
効化され、使用出来なくなるという問題があった。
理装置2が接続された場合、データ処理に先立ちあらか
じめ準備したデータが、別のデータ処理装置2により無
効化され、使用出来なくなるという問題があった。
【0033】
【発明が解決しようとする課題】このように、従来の方
法では主記憶装置1に複数のデータ処理装置2が接続さ
れた場合、あらかじめキャッシュ4にデータを準備して
も別のデータ処理装置2により無効化され十分な効果が
発揮出来ないという問題があった。
法では主記憶装置1に複数のデータ処理装置2が接続さ
れた場合、あらかじめキャッシュ4にデータを準備して
も別のデータ処理装置2により無効化され十分な効果が
発揮出来ないという問題があった。
【0034】本発明は上述した従来の方法の欠点を除去
し、主記憶装置1に複数のデータ処理装置2が接続され
た場合においても、あらかじめ準備したデータが無効化
されること無くデータ処理速度を向上させることを目的
とする。
し、主記憶装置1に複数のデータ処理装置2が接続され
た場合においても、あらかじめ準備したデータが無効化
されること無くデータ処理速度を向上させることを目的
とする。
【0035】
【課題を解決するための手段】本発明では、データ待ち
状態とデータ保持状態とをデータ転送を主記憶装置1に
要求する命令により各々プレデータ待ち状態とプレデー
タ保持状態として他の命令(以下、「処理命令」と略
す)により要求された場合と区分し、制御回路6の中に
プレデータ待ち状態及びプレデータ保持状態を表すタグ
を設ける。
状態とデータ保持状態とをデータ転送を主記憶装置1に
要求する命令により各々プレデータ待ち状態とプレデー
タ保持状態として他の命令(以下、「処理命令」と略
す)により要求された場合と区分し、制御回路6の中に
プレデータ待ち状態及びプレデータ保持状態を表すタグ
を設ける。
【0036】図1に示す本発明の原理図において、T1
は更新データ保持状態であり、T2は無効データ保持状
態であり、T3はデータ待ち状態であり、T4はデータ
保持状態であり、T5はプレデータ待ち状態であり、T
6はプレデータ保持状態である。
は更新データ保持状態であり、T2は無効データ保持状
態であり、T3はデータ待ち状態であり、T4はデータ
保持状態であり、T5はプレデータ待ち状態であり、T
6はプレデータ保持状態である。
【0037】データ待ち状態T3は、処理命令によって
主記憶装置1に要求したデータが転送されるのをキャッ
シュ4が待っている状態であって、無効データ保持状態
T2においてプロセッサ3の実行した処理命令によりデ
ータが要求された場合に生じ、あるいはプレデータ待ち
状態T5においてプロセッサ3が該データを利用する処
理命令を実行した場合に生じ、主記憶装置1から転送さ
れたデータがキャッシュ4に格納された場合、データ保
持状態T4に遷移する状態である。
主記憶装置1に要求したデータが転送されるのをキャッ
シュ4が待っている状態であって、無効データ保持状態
T2においてプロセッサ3の実行した処理命令によりデ
ータが要求された場合に生じ、あるいはプレデータ待ち
状態T5においてプロセッサ3が該データを利用する処
理命令を実行した場合に生じ、主記憶装置1から転送さ
れたデータがキャッシュ4に格納された場合、データ保
持状態T4に遷移する状態である。
【0038】データ保持状態T4は、キャッシュ4に保
持されているデータと主記憶装置1に保持されているデ
ータが等しく、且つ最新の状態であって、更新データ保
持状態T1において、キャッシュ4に保持されているデ
ータが主記憶装置1に格納された場合に生じ、あるいは
データ待ち状態T3において、主記憶装置1からキャッ
シュ4にデータが転送された場合に生じ、あるいはプレ
データ保持状態T6において該データを使用する処理命
令が実行された場合に生じ、別のデータ処理装置2から
データの無効化が通知された場合、無効データ保持状態
T2に遷移し、あるいはプロセッサ3からキャッシュ4
に処理結果が格納された場合、更新データ保持状態T1
に遷移する状態である。
持されているデータと主記憶装置1に保持されているデ
ータが等しく、且つ最新の状態であって、更新データ保
持状態T1において、キャッシュ4に保持されているデ
ータが主記憶装置1に格納された場合に生じ、あるいは
データ待ち状態T3において、主記憶装置1からキャッ
シュ4にデータが転送された場合に生じ、あるいはプレ
データ保持状態T6において該データを使用する処理命
令が実行された場合に生じ、別のデータ処理装置2から
データの無効化が通知された場合、無効データ保持状態
T2に遷移し、あるいはプロセッサ3からキャッシュ4
に処理結果が格納された場合、更新データ保持状態T1
に遷移する状態である。
【0039】プレデータ待ち状態T5は、主記憶装置1
からキャッシュ4に転送されるデータを待っている状態
であって、無効データ保持状態T2においてプロセッサ
3で転送命令が実行された場合に生じ、プロセッサ3で
処理命令が実行された場合、データ待ち状態T3に遷移
し、転送命令で要求したデータが主記憶装置1から転送
された場合、プレデータ保持状態T6に遷移する状態で
ある。
からキャッシュ4に転送されるデータを待っている状態
であって、無効データ保持状態T2においてプロセッサ
3で転送命令が実行された場合に生じ、プロセッサ3で
処理命令が実行された場合、データ待ち状態T3に遷移
し、転送命令で要求したデータが主記憶装置1から転送
された場合、プレデータ保持状態T6に遷移する状態で
ある。
【0040】プレデータ保持状態T6は、キャッシュ4
に保持されているデータと主記憶装置1に保持されてい
るデータが等しく、且つ最新の状態であって、プレデー
タ待ち状態T5において、主記憶装置1からキャッシュ
4にデータが転送された場合に生じ、別のデータ処理装
置2からデータの無効化が通知された場合、プレデータ
待ち状態T5に遷移し、あるいはプロセッサ3で処理命
令が実行された場合、データ保持状態T4に遷移する状
態である。
に保持されているデータと主記憶装置1に保持されてい
るデータが等しく、且つ最新の状態であって、プレデー
タ待ち状態T5において、主記憶装置1からキャッシュ
4にデータが転送された場合に生じ、別のデータ処理装
置2からデータの無効化が通知された場合、プレデータ
待ち状態T5に遷移し、あるいはプロセッサ3で処理命
令が実行された場合、データ保持状態T4に遷移する状
態である。
【0041】無効データ保持状態T2においてプロセッ
サ3により転送命令が実行されると、プレデータ待ち状
態T5に状態が遷移し、主記憶装置1からキャッシュ4
にデータ転送されるのを待つ。
サ3により転送命令が実行されると、プレデータ待ち状
態T5に状態が遷移し、主記憶装置1からキャッシュ4
にデータ転送されるのを待つ。
【0042】プレデータ待ち状態T5においてプロセッ
サ3により処理命令が実行されると、データ待ち状態に
状態T3に状態が遷移し、プレデータ待ち状態T5にお
いて主記憶装置1からキャッシュ4にデータが転送され
るとプレデータ保持状態T6に状態が遷移する。
サ3により処理命令が実行されると、データ待ち状態に
状態T3に状態が遷移し、プレデータ待ち状態T5にお
いて主記憶装置1からキャッシュ4にデータが転送され
るとプレデータ保持状態T6に状態が遷移する。
【0043】プレデータ保持状態T6において処理命令
が実行されるとデータ保持状態T4に状態が遷移し、別
のデータ処理装置2によりデータが無効化されると、キ
ャッシュ4はアドレスバス70及び制御バス80を介し
て主記憶装置1にデータ転送を要求し、プレデータ待ち
状態T5に状態が遷移して再度データが転送されるのを
待つ。
が実行されるとデータ保持状態T4に状態が遷移し、別
のデータ処理装置2によりデータが無効化されると、キ
ャッシュ4はアドレスバス70及び制御バス80を介し
て主記憶装置1にデータ転送を要求し、プレデータ待ち
状態T5に状態が遷移して再度データが転送されるのを
待つ。
【0044】以上説明したように、本発明によればあら
かじめキャッシュ4に転送したデータが無効化された場
合においても、再度主記憶装置1にデータ転送を要求
し、データ転送を待っている間に該データを利用する処
理命令を実行することになった場合においても、主記憶
装置1から転送されてきたデータを利用して処理命令を
実行することが出来るため、主記憶装置1からキャッシ
ュ4への転送時間が省略され、データ処理の高速化を図
ることができる。
かじめキャッシュ4に転送したデータが無効化された場
合においても、再度主記憶装置1にデータ転送を要求
し、データ転送を待っている間に該データを利用する処
理命令を実行することになった場合においても、主記憶
装置1から転送されてきたデータを利用して処理命令を
実行することが出来るため、主記憶装置1からキャッシ
ュ4への転送時間が省略され、データ処理の高速化を図
ることができる。
【0045】
【発明の実施の形態】図2は本発明の1実施例キャッシ
ュの状態定義図であり、図3は本発明の1実例状態遷移
フロー図(その1)であり、図4は本発明の1実施例状
態遷移フロー図(その2)である。
ュの状態定義図であり、図3は本発明の1実例状態遷移
フロー図(その1)であり、図4は本発明の1実施例状
態遷移フロー図(その2)である。
【0046】ケース1の場合について図1,図2,図
3,図4,図5を参照しながら説明する。ステップS1
では、キャッシュA及びキャッシュBは何れも無効デー
タ保持状態T2にある。
3,図4,図5を参照しながら説明する。ステップS1
では、キャッシュA及びキャッシュBは何れも無効デー
タ保持状態T2にある。
【0047】転送命令がプロセッサAで実行されると、
アドレス線81及び制御線91を介し制御回路Aにデー
タ転送を主記憶装置1に要求するよう指示がなされ、制
御回路AによりタグAが参照される。その結果、キャッ
シュAに有効なデータが存在しないことが確認され、制
御回路Aにより主記憶装置1に対しデータ転送が要求さ
れ、タグAがプレデータ待ち状態T5に変更される。
アドレス線81及び制御線91を介し制御回路Aにデー
タ転送を主記憶装置1に要求するよう指示がなされ、制
御回路AによりタグAが参照される。その結果、キャッ
シュAに有効なデータが存在しないことが確認され、制
御回路Aにより主記憶装置1に対しデータ転送が要求さ
れ、タグAがプレデータ待ち状態T5に変更される。
【0048】ステップS2では、キャッシュAはプレデ
ータ待ち状態T5にあり、キャッシュBは無効データ保
持状態T2にある。主記憶装置1からデータバス70を
介してキャッシュAにデータが転送されると制御回路A
によりタグAがプレデータ保持状態T6に変更される。
ータ待ち状態T5にあり、キャッシュBは無効データ保
持状態T2にある。主記憶装置1からデータバス70を
介してキャッシュAにデータが転送されると制御回路A
によりタグAがプレデータ保持状態T6に変更される。
【0049】ステップS3では、キャッシュAはプレデ
ータ保持状態T6にあり、キャッシュBは無効データ保
持状態T2にある。プロセッサBでストア命令が実行さ
れると、データ線71,アドレス線81及び制御線91
を介してキャッシュBに処理結果が格納され、制御回路
BによりタグBが更新データ保持状態T1に変更され
る。更に、制御回路Bにより制御回路Aに対しアドレス
バス70と制御バス80を介して、該アドレスで指定さ
れる領域のデータの無効化が通知され、制御回路Aによ
りタグAがプレデータ待ち状態T5に変更される。
ータ保持状態T6にあり、キャッシュBは無効データ保
持状態T2にある。プロセッサBでストア命令が実行さ
れると、データ線71,アドレス線81及び制御線91
を介してキャッシュBに処理結果が格納され、制御回路
BによりタグBが更新データ保持状態T1に変更され
る。更に、制御回路Bにより制御回路Aに対しアドレス
バス70と制御バス80を介して、該アドレスで指定さ
れる領域のデータの無効化が通知され、制御回路Aによ
りタグAがプレデータ待ち状態T5に変更される。
【0050】ステップS4では、キャッシュAはプレデ
ータ待ち状態T5にあり、キャッシュBは更新データ保
持状態T1にある。キャッシュBよりデータバス70,
アドレスバス80及び制御バス90を介して主記憶装置
1にデータが転送されると、制御回路BによりタグBが
データ保持状態T4に変更される。
ータ待ち状態T5にあり、キャッシュBは更新データ保
持状態T1にある。キャッシュBよりデータバス70,
アドレスバス80及び制御バス90を介して主記憶装置
1にデータが転送されると、制御回路BによりタグBが
データ保持状態T4に変更される。
【0051】ステップS5では、キャッシュAはプレデ
ータ待ち状態T5にあり、キャッシュBはデータ保持状
態T4にある。プロセッサAでロード命令が実行される
と制御回路AによりタグAがデータ待ち状態T3に変更
されてステップ6に進み、ロード命令が実行されないと
ステップS8に進む。
ータ待ち状態T5にあり、キャッシュBはデータ保持状
態T4にある。プロセッサAでロード命令が実行される
と制御回路AによりタグAがデータ待ち状態T3に変更
されてステップ6に進み、ロード命令が実行されないと
ステップS8に進む。
【0052】ステップS6では、キャッシュAはデータ
待ち状態T3にあり、キャッシュBはデータ保持状態T
4にある。主記憶装置1からデータバス70を介してキ
ャッシュAにデータが転送されると、制御回路Aにより
タグAがデータ保持状態T4に変更される。
待ち状態T3にあり、キャッシュBはデータ保持状態T
4にある。主記憶装置1からデータバス70を介してキ
ャッシュAにデータが転送されると、制御回路Aにより
タグAがデータ保持状態T4に変更される。
【0053】ステップS7では、キャッシュAはデータ
保持状態T4にあり、キャッシュBはデータ保持状態T
4にある。プロセッサAによりキャッシュAのデータを
入力としてロード命令が実行され、処理が終了する。
保持状態T4にあり、キャッシュBはデータ保持状態T
4にある。プロセッサAによりキャッシュAのデータを
入力としてロード命令が実行され、処理が終了する。
【0054】ステップS8では、キャッシュAはプレデ
ータ待ち状態T5にあり、キャッシュBはデータ保持状
態T4にある。主記憶装置1からキャッシュAにデータ
が転送され、制御回路AによりタグAがプレデータ保持
状態T6に変更される。
ータ待ち状態T5にあり、キャッシュBはデータ保持状
態T4にある。主記憶装置1からキャッシュAにデータ
が転送され、制御回路AによりタグAがプレデータ保持
状態T6に変更される。
【0055】ステップS9では、キャッシュAはプレデ
ータ保持状態T6にあり、キャッシュBはデータ保持状
態T4にある。プロセッサAでロード命令が実行される
とキャッシュAからデータが読み出されて処理命令が実
行され、制御回路AによりタグAがデータ保持状態T4
に変更される。
ータ保持状態T6にあり、キャッシュBはデータ保持状
態T4にある。プロセッサAでロード命令が実行される
とキャッシュAからデータが読み出されて処理命令が実
行され、制御回路AによりタグAがデータ保持状態T4
に変更される。
【0056】ステップS10では、キャッシュAはデー
タ保持状態T4にあり、キャッシュBはデータ保持状態
T4にある。以上で処理が終了する。
タ保持状態T4にあり、キャッシュBはデータ保持状態
T4にある。以上で処理が終了する。
【0057】尚、本実施例では主記憶装置に2台のデー
タ処理装置が接続された場合を例としているが、データ
処理装置が2台を越えて接続される場合においても同様
に処理が実施できる。
タ処理装置が接続された場合を例としているが、データ
処理装置が2台を越えて接続される場合においても同様
に処理が実施できる。
【0058】
【発明の効果】以上の説明から明らかなように、本発明
によれば複数のデータ処理装置が主記憶装置に接続され
る構成においてあらかじめ主記憶装置からキャッシュに
転送したデータが別のデータ処理装置により無効化され
た場合、該データが繰り返しキャッシュに転送されるた
め、処理命令が実行される際にキャッシュにデータが存
在する確率が高まり、データ処理の高速化を図ることが
出来るという著しい工業的効果を有する。
によれば複数のデータ処理装置が主記憶装置に接続され
る構成においてあらかじめ主記憶装置からキャッシュに
転送したデータが別のデータ処理装置により無効化され
た場合、該データが繰り返しキャッシュに転送されるた
め、処理命令が実行される際にキャッシュにデータが存
在する確率が高まり、データ処理の高速化を図ることが
出来るという著しい工業的効果を有する。
【図1】 本発明の原理図
【図2】 本発明の1実施例キャッシュの状態定義図
【図3】 本発明の1実施例状態遷移フロー図(その
1)
1)
【図4】 本発明の1実施例状態遷移フロー図(その
2)
2)
【図5】 データ処理装置と主記憶装置の接続構成図
【図6】 制御回路構成図
【図7】 従来例の状態遷移図
【図8】 従来例のキャッシュの状態定義図
【図9】 従来例の状態遷移フロー図(その1)
【図10】 従来例の状態遷移フロー図(その2)
1 主記憶装置 2 データ処理装置 3 プロセッサ 4 キャッシュ 5 記憶回路 6 制御回路 70 データバス 80 アドレスバス 90 制御バス 71 データ線 81 アドレス線 91 制御線 41 制御線 T1 更新データ保持状態 T2 無効データ保持状態 T3 データ待ち状態 T4 データ保持状態 T5 プレデータ待ち状態 T6 プレデータ保持状態 T3’データ待ち状態 T4’データ保持状態
Claims (4)
- 【請求項1】 プロセッサからのデータ転送要求によ
り、主記憶装置からキャッシュにデータを転送するデー
タ処理方法において、 データ処理の実行に先立ち、あらかじめ処理に要するデ
ータをキャッシュへ転送するよう主記憶装置に要求し、
該データがデータ処理の実行前に無効化された場合には
前記データを転送するよう再度主記憶装置に要求するこ
とを特徴とするデータ処理方法。 - 【請求項2】 主記憶装置からキャッシュへデータが転
送されるのを待つデータ待ち状態と該データがキャッシ
ュに格納されたデータ保持状態とを、データ処理の実行
に備えあらかじめデータをキャッシュに用意するため生
じたプレデータ待ち状態及びプレデータ保持状態と、デ
ータ処理の実行により生じたデータ待ち状態及びデータ
保持状態とに区分して記憶し、 プレデータ待ち状態でデータ処理が実行された場合には
データ待ち状態に状態を遷移させ、プレデータ保持状態
で保持するデータが無効化された場合にはキャッシュへ
のデータ転送を主記憶装置に指示した後プレデータ待ち
状態に状態を遷移させ、プレデータ保持状態でデータ処
理が実行された場合にはデータ保持状態に状態を遷移さ
せることを特徴とする請求項1のデータ処理方法。 - 【請求項3】 プロセッサとキャッシュとから構成さ
れ、共有する主記憶装置を介して別のデータ処理装置に
接続されるデータ処理装置であって、 キャッシュへデータを転送するよう主記憶装置に要求す
る転送命令と、キャッシュに格納されたデータが該転送
命令により主記憶装置から転送されたデータであること
を記憶する記憶手段とを有し、 データ処理の実行に先立ちあらかじめ前記転送命令で主
記憶装置からキャッシュに転送されたデータが、データ
処理の実行前に別のデータ処理装置により無効化された
場合、前記記憶手段を参照して前記データを転送するよ
う再度主記憶装置に要求することを特徴とするデータ処
理装置。 - 【請求項4】 前記転送命令によりキャッシュへデータ
を転送するよう主記憶装置に指示した後、主記憶装置か
らキャッシュへデータが転送される迄の間に該データを
入力データとするデータ処理命令が実行された場合、 前記転送命令により転送されたデータを、前記データ処
理命令により主記憶装置に要求され該主記憶装置より転
送されたデータとしてデータ処理を実行することを特徴
とする請求項3のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7230063A JPH0973413A (ja) | 1995-09-07 | 1995-09-07 | データ処理方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7230063A JPH0973413A (ja) | 1995-09-07 | 1995-09-07 | データ処理方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0973413A true JPH0973413A (ja) | 1997-03-18 |
Family
ID=16901975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7230063A Withdrawn JPH0973413A (ja) | 1995-09-07 | 1995-09-07 | データ処理方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0973413A (ja) |
-
1995
- 1995-09-07 JP JP7230063A patent/JPH0973413A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3289661B2 (ja) | キャッシュメモリシステム | |
US20040049649A1 (en) | Computer system and method with memory copy command | |
US7925836B2 (en) | Selective coherency control | |
US6035376A (en) | System and method for changing the states of directory-based caches and memories from read/write to read-only | |
JP2001109662A (ja) | キャッシュ装置及び制御方法 | |
JPH0973413A (ja) | データ処理方法及び装置 | |
TW448361B (en) | Data switching system and method using bandwidth management unit to reduce data traffic | |
JP2007241601A (ja) | マルチプロセッサシステム | |
JP3162459B2 (ja) | データ処理装置 | |
JP3940701B2 (ja) | ディスクアレイ装置及び同装置に適用されるキャッシュ一致化制御方法 | |
JPH0553912A (ja) | キヤツシユメモリの制御方法 | |
JP2701739B2 (ja) | プロセッサの系切替え方式 | |
JP2511146B2 (ja) | デ―タ処理装置 | |
JP2961542B2 (ja) | データ処理システム | |
JPH06274415A (ja) | 共有メモリシステム | |
JP2636760B2 (ja) | マルチプロセッサシステム | |
JP3782178B2 (ja) | 情報処理装置 | |
JPH0756844A (ja) | システムメモリを有するバスをベースにしたコンピュータシステムに使用するためのマスタバスマスタおよびバスをベースにしたコンピュータシステム | |
TW200419343A (en) | Cache controller unit architecture and applied method | |
JPS61169949A (ja) | バツフアメモリ制御方式 | |
JPH03154139A (ja) | キャッシュメモリ | |
JPH0793215A (ja) | 半導体記憶装置 | |
JPH04313134A (ja) | コンピュータシステム | |
JP2002259209A (ja) | 演算処理システム | |
JPH0612363A (ja) | メモリ制御装置およびマルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20021203 |