JPH01233636A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH01233636A
JPH01233636A JP63316622A JP31662288A JPH01233636A JP H01233636 A JPH01233636 A JP H01233636A JP 63316622 A JP63316622 A JP 63316622A JP 31662288 A JP31662288 A JP 31662288A JP H01233636 A JPH01233636 A JP H01233636A
Authority
JP
Japan
Prior art keywords
data
bus
cache
data cache
information
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.)
Granted
Application number
JP63316622A
Other languages
English (en)
Other versions
JPH0516062B2 (ja
Inventor
Randall D Groves
ランデル・デイーン・グローブズ
David P Tuttle
デヴイト・ポール・タツトル
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01233636A publication Critical patent/JPH01233636A/ja
Publication of JPH0516062B2 publication Critical patent/JPH0516062B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はデータ処理システムに関し、さらに詳しくは、
データ処理システムのための情報記憶装置の初期化に関
する。
B、従来技術及びその問題点 データ処理システムには中央処理ユニット(CPU)と
メモリが含まれる。メモリは、CPHに対してデータに
関する計算の実行を命じる命令を持つ。このデータはメ
モリに記憶される。メモリ中のデータは、キャッシュと
呼ばれる記憶装置に一時的に記憶することができる。
いくつかのプロセッサが同一のキャッシュを使用するシ
ステム、あるいは単一CPU内のいくつかのプログラム
が同一のキャッシュを使用するシステムでは、1つのプ
ロセッサまたはプログラムがメモリまたはキャッシュに
置いたデータが、他のプロセッサまたはプログラムによ
って無意識に使われないことを確実にする必要がある。
したがって、プロセッサまたはプログラムがメモリまた
はキャッシュを記憶用に使い始める前に、メモリまたは
キャッシュにゼロをロードすることによってメモリまた
はキャッシュを初期化することが普通に行なわれている
本発明の目的は、データ・キャッシュ等の記憶手段の内
容を迅速に初期化するための装置を提供することにある
C0問題点を解決するための手段 本発明のデータ処理システムは、データ処理システムの
命令を解読し、かつこれらの命令の解読に応じてコント
ロール信号を出すための命令解読回路を含む。このシス
テムはさらに情報を記憶するためのメモリを含む。メモ
リはマルチプレクサに接続されている。マルチプレクサ
は、命令解読回路からのコントロール信号に応じて、バ
スからの情報または所定値の情報をメモリに伝える。
良好な実施例では、ある単一の命令が命令解読回路によ
って解読されると、マルチプレクサに対して、メモリに
所定値(ゼロ)をロードするためのコントロール信号が
伝えられる。
別の実施例では、データ処理システムの中に、メモリ、
該メモリに接続される複数本の第1のメモリ・バス・ラ
インを有するメモリ・バス、中央処理ユニット(CPU
)、該CPUに接続される複数本の第2のCPUバス・
ラインを有するCPUバス、メモリ・バス・ラインとC
PUバス・ラインに接続されたデータ・キャッシュ、及
び該データ・キャッシュに対してメモリ・バス・ライン
又はCPUバス・ラインの何れか一方から選択的に情報
を提供するコントロール回路が含まれる。
該コントロール回路は、さらに、メモリ・バス・ライン
を介してデータ・キャッシュに所定値の情報を提供する
ための手段を含む。この良好な実施例では、この付加的
な手段がマルチプレクサである。該マルチプレクサはメ
モリ・バスに接続されており、メモリ・バスからの情報
又は所定値の何れか一方をデータ・キャッシュに渡す。
D、実施例 本発明は、一連のメモリ・ロケーションを初期化するメ
カニズム、より詳しく言えば、データ・キッヤシュ・メ
モリの一部を迅速に初期化するメカニズムに関する。以
下で述べる実施例において、データ・キャッシュ・メモ
リは、システム・メモリ8からCPU6へ、またはCP
U6からメモリ8へ転送されるデータを一時的に記憶す
るのに用いられる。
第1図は、データ・キャッシュ・アレイ30を含むデー
タ処理システムのブロック図である。第1図では、CP
U6が、バス1oを介して、データ・キャッシュ・アレ
イ3oへ至るマルチプレクサ(MtTX)24に接続さ
れている。システム・メモリ8は、バス12を介してM
UX14へ接続され、MUX14は別のバス15を介し
てデータ・キャッシュ・再ロード・バッファ20へつな
がる。
キャッシュ・再ロード・バッファ20は、バス22を介
して、データ・キャッシュ・アレイ30へ至るMUX2
4に接続される。動作時には、バス10がCPU6から
8バイトを並列に送る。この8バイト・バス10を8度
複製すると、MUX24へ至る64バイト人力23が生
成される。換言すれば、16進値1′A5”がバス10
に出力されると、入力23には値“A5A5A5A5A
5A5A5A5”が現れる。バス12は、システム・メ
モリ8からMUX14へ16バイトを並列に送る。Mt
JX14は、さらに入力11を持ち、その入力値はゼロ
である。MUX14の出力は4度複製され、64バイト
並列バス15を形成する。さらに、MUX14は、入力
11を受けて64バイト分のゼロを並列にバス15に出
す。64バイト・バス15は、16バイト・バス12の
内容を4重に複製してキャッシュ・再ロード・バッファ
20の4つのセクションの各々に供給するか、あるいは
64バイト分のゼロを供給する。
バス15は、キャッシュ・再ロード・バッファ20の4
つのセクションすべてにデータを供給する。MUX14
への入力11が選択されると、バス15の内容は並゛列
の64バイト分のゼロということになる。キャッシュ・
再ロード・バッファ20は4個の記憶セクション2OA
、20B、20C及び20Dを持ち1合計64バイト幅
である。
キャッシュ・再ロード・バッファ20のバス22への出
力は、並列の64バイトになる。キャッシュ・再ロード
・バッファ20は、システム・メモリ8からのデータま
たは値ゼロのデータをデータ・キャッシュ・アレイ30
にロードする前に−時的に記憶する機能を果たす6キヤ
ツシユ・再ロード・バッファ20の4つの部分20A、
20B、20C及び20Dは、個々に、または同時に書
き込み可能である。MUX14とキャッシュ・再ロード
・バッファ20の両方の動作は、コントロール・ロジッ
ク16によって線18を介して制御される。
線18はMUX14に制御信号を与えて、情報源、つま
りバス12又は入力11のゼロを決定する。
さらに、制御線18上の情報によって、キャッシュ・再
ロード・バッファ20の4つのセクション20A、20
B、20G及び20Dの何れがバス12からの16バイ
トを記憶するかの指定が行なわれる。
あるタイプの動作中には、連続する4システム・サイク
ルにおいて、システム・メモリから受信したユニークな
データがキャッシュ・再ロード・バッファ20の4つの
異なるセクション20A、20B、20C及び20Dに
記憶される。別のタイプの動作中には、バス15からデ
ータを受は取るべく、キャッシュ・再ロード・バッファ
20の4つのセクションすべてを選択する。このような
ことが起こるのは、MUX14の入力11が選択された
ときだけである。入力11が選択されると、キャッシュ
・再ロード・バッファ20の4つのセクション2OA、
20B、20C及び20Dのすべてが値ゼロを同時に受
は取る。
CPU6からのバス10は8度複製されて1MUX24
への64バイト人力23を形成する。MUX24は入力
23にて64バイトを受は取る(バス10のデータが反
復される)一方、バス22の64バイトをも受は取る。
コントロール・ロジック16は線26を介してMUX2
4を制御する。興味ある動作時には、MUX24のバス
22の入力が線26によって選択されるので、キャッシ
ュ・再ロード・バッファ20の64バイト出力がデータ
・キャッシュ・アレイ30に提供される。
データ・キャッシュ・アレイ30は64バイトのライン
(物理的な例)を256個持つ。各ライン内で、64バ
イトの各バイトはコントロール・ロジック16からの制
御線28を介して個々にアドレス指定可能である。さら
に、制御線28は、バス32に64バイトを並列で出力
させるべくデータ・キャッシュ30を備えさせる。
コントロール・ロジック16は、CPU6での命令の解
読に応じて作動する。CPU6で命令が解読されると、
信号が線34を経てコントロール・ロジック16に伝え
られ、データ。キャッシュ30及びそれに附随するハー
ドウェアを適切に作動させる。コントロール・ロジック
16は、CPU6またはシステム・メモリ8の何れか一
方からのデータ・キャッシュ30へのデータのローディ
ング、またはデータ・キャッシュ内のラインのゼロ化を
統制する。
第2図を参照するに、データキャッシュの動作に影響す
る命令は、CPU6に対して、データ・キャッシュ・ア
レイ30からのデータの読取、または同アレイ30への
データの書込を要求する命令、すなわちLOAD (ロ
ード)または5TORE(ストア)命令である。第2図
のステップ50において、まずロードまたはス1−ア命
令がCPUにて解読される。ステップ52において、C
PU6は、読み取るべき、または書き込むべきデータが
データ・キャッシュ・アレイ30にあるか否かを確かめ
る。この確認は、命令中のデータ・リファレンスに関連
するアドレスをデータ・キャッシュ・アレイ30の既存
内容のディレクトリと比較することにより行なわれる。
該データがデータ・キャッシュ・アレイ3oにまだ存在
していないならば、ステップ54でフェッチ(取出)し
なければならない。このプロセスは、データ・キャッシ
ュ・再ロードと呼ばれる。このプロセスは、システム・
メモリ8からバス12を経由してMUXI4にデータを
ロードし、バス15を経由してキャッシュ・再ロード・
バッファ20ヘロードすることからなる。連続する4シ
ステム・サイクルの間、データはキャッシュ・再ロード
・バッファ20の異なる4個のセクション20A、20
B、20C及び20Dにストアされ、同バッファ2oを
一杯にする。キャッシュ・再ロード・バッファ2oが一
杯になると、同バッファ20の内容はバス20に出され
、MUX24から出力される。
コントロール・ロジック16は、線28を介して、デー
タ・キャッシュ・アレイ3oに対して、キャッシュ・再
ロード・バッファ20からのデータの受信及び記憶(ス
トア)を合図する。
ステップ52に戻ると、データがデータ・キャッシュに
あるならば、処理は直接ステップ60に進む。ステップ
60では、LOAD命令の場合には情報がデータ・キャ
ッシュ・アレイ30からフェッチされてCPU6に送ら
れ、また、5TORE命令の場合には、CPU6からの
情報がデータ・キャッシュ・アレイ30にストアされる
第3図は、ライン・ゼロ化動作のための第1図の制御回
路動作を詳述するフロー・チャートである。ステップ8
0において、データ・キャッシュ・アレイのラインをゼ
ロ化する命令がCPU6にて解読される。該命令によっ
て指示されたデータ・キャッシュ・アレイ30中のデー
タ・アドレスがゼロにされることになる。この情報は線
34を経てコントロール・ロジック16に伝えられる。
ステップ82では、線11(第1図)からのゼロがMU
X14、バス15を経てキャッシュ・再ロード・バッフ
ァ20にロードされる。ステップ84では、キャッシュ
・再ロード・バッファ20の内容が、バス22.MUX
24を経て、データ・キャッシュ・アレイ3o中の指定
されたラインにロードされる6ステツプ86では、CP
U6に常駐するディレクトリのフラグがセットされる。
このフラグは、所与のデータ・リファレンス・アドレス
によってアクセスされるべきデータがデータ・キャッシ
ュ・アレイ30に現在することを表示する。このように
して、キャッシュの広範な部分の初期化が可能になる。
E、効果 本発明によれば、記憶手段の初期化を迅速に行なうこと
ができる。
【図面の簡単な説明】
第1図はデータ処理システムのブロック図、第2図はデ
ータ・キャッシュの通常の再ローデイングを説明するフ
ローチャート、第3図はデータ・キャッシュ・ラインの
ゼロ化を説明するフローチャートである。 出願人  インターナショナル・ビジネスマシーンズ・
コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名) FIG、  2

Claims (1)

  1. 【特許請求の範囲】 アドレス指定可能なロケーションに情報を記憶するため
    の記憶手段、 上記記憶手段に接続された、情報をアドレス指定可能な
    ロケーションに導くためのコントロール手段、及び 上記コントロール手段からのコントロール信号に応じて
    、情報バスからの情報又は所定値の情報の何れかを上記
    記憶手段に伝えるためのマルチプレクサ手段 を含む、メモリ装置。
JP63316622A 1988-03-08 1988-12-16 データ処理装置 Granted JPH01233636A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16521988A 1988-03-08 1988-03-08
US165219 1988-03-08

Publications (2)

Publication Number Publication Date
JPH01233636A true JPH01233636A (ja) 1989-09-19
JPH0516062B2 JPH0516062B2 (ja) 1993-03-03

Family

ID=22597965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63316622A Granted JPH01233636A (ja) 1988-03-08 1988-12-16 データ処理装置

Country Status (2)

Country Link
EP (1) EP0332303A3 (ja)
JP (1) JPH01233636A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691210B2 (en) * 2000-12-29 2004-02-10 Stmicroelectronics, Inc. Circuit and method for hardware-assisted software flushing of data and instruction caches

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730165A (en) * 1980-07-29 1982-02-18 Fujitsu Ltd Random access memory
JPS61256421A (ja) * 1985-05-09 1986-11-14 Fuji Electric Co Ltd 捕助記憶装置転送バツフアの初期化方式
JPS63164091A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ・クリア方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4195341A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Initialization of cache store to assure valid data
US4399506A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Store-in-cache processor means for clearing main storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5730165A (en) * 1980-07-29 1982-02-18 Fujitsu Ltd Random access memory
JPS61256421A (ja) * 1985-05-09 1986-11-14 Fuji Electric Co Ltd 捕助記憶装置転送バツフアの初期化方式
JPS63164091A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd メモリ・クリア方式

Also Published As

Publication number Publication date
EP0332303A2 (en) 1989-09-13
EP0332303A3 (en) 1991-08-21
JPH0516062B2 (ja) 1993-03-03

Similar Documents

Publication Publication Date Title
JP3431626B2 (ja) データ処理装置
US4961162A (en) Multiprocessing system for performing floating point arithmetic operations
US5051885A (en) Data processing system for concurrent dispatch of instructions to multiple functional units
AU628525B2 (en) Write back buffer with error correcting capabilities
US6571319B2 (en) Methods and apparatus for combining a plurality of memory access transactions
JP2619859B2 (ja) 自動更新する単純化キャッシュ
US5519842A (en) Method and apparatus for performing unaligned little endian and big endian data accesses in a processing system
US5019965A (en) Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width
EP0540205A1 (en) Information handling system including direct accessing of memory
EP0540206A2 (en) Information handling apparatus allowing direct memory access
US5721957A (en) Method and system for storing data in cache and retrieving data from cache in a selected one of multiple data formats
JPS6259822B2 (ja)
JPH0321934B2 (ja)
US5187783A (en) Controller for direct memory access
US5745728A (en) Process or renders repeat operation instructions non-cacheable
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
EP0182126B1 (en) Directing storage requests during master mode operation
JPS5918738B2 (ja) 割込みシステム
US4379328A (en) Linear sequencing microprocessor facilitating
US5179671A (en) Apparatus for generating first and second selection signals for aligning words of an operand and bytes within these words respectively
US7290127B2 (en) System and method of remotely initializing a local processor
WO1996008769A1 (en) Computer instruction prefetch system
EP0212152B1 (en) Microprocessor assisted memory to memory move apparatus
US4344130A (en) Apparatus to execute DMA transfer between computing devices using a block move instruction
US4374418A (en) Linear microsequencer unit cooperating with microprocessor system having dual modes