JPH02293945A - マイクロプロセツサ - Google Patents

マイクロプロセツサ

Info

Publication number
JPH02293945A
JPH02293945A JP2085073A JP8507390A JPH02293945A JP H02293945 A JPH02293945 A JP H02293945A JP 2085073 A JP2085073 A JP 2085073A JP 8507390 A JP8507390 A JP 8507390A JP H02293945 A JPH02293945 A JP H02293945A
Authority
JP
Japan
Prior art keywords
data
write
cycle
bit
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
JP2085073A
Other languages
English (en)
Inventor
Kenneth D Shoemaker
ケネス・デイ・シユーメーカー
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH02293945A publication Critical patent/JPH02293945A/ja
Pending 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

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)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マイクロプロセッサに関し、更に詳しくは、
読取シ/書込みサイクルの制御に関する。
し発明の背景] マイクロプロセッサが書込みバッファを含んでいること
は、珍しいことではない。書込みバックアハ、マイクロ
プロセッサの内部バスを介して中央処理装置(CPU)
からのデータを受け取り、そのデータが外部バスを介し
て外部メそりに書込まれる前にそれを一時記憶する。こ
れらバッファは、外部メモリにデータを書込むことがで
きる速度よシも速くデータを受け取ることによってマイ
クロプロセッサの性能を高めるのに使用される。このよ
うなバッファなしでは、CPUは、書込みサイクルにお
ける外部RAM (たとえば、ダイナミックRAM )
の代表的な低速度で動作されてしまう。さらに、外部メ
モリは、必ずしもすぐ使用できるわけではなく、九とえ
ば、アクセスがCPUによシ要求された場合にはリフレ
ッシュされている。
書込みバッファの全データが外部メモリに書込まれる前
に、CPUが読取シサイクルを要求する場合がある。(
読取シサイクルは、CPUの性能が最大にされる場合、
書込みサイクルと混ぜられなければならない。)しかし
、どのデータが書込みバッファに記憶されているかを、
CPUが、外部メモリにおける場所をアドレスしている
ならばどうであろう?読取りサイクルの進行が許可され
るならば、古いデータがCPUに読込まれ、一方、新し
いデータは、無駄に書込みバッファに残されることにな
る。無論、これは受け入れられるものではない。
CPUによる古いデータの読取りを阻止する1つの方法
は、単に、書込みバッファにおける全データが外部メモ
リに読取られるまで、読取りサイクルを阻止することで
ある。しかし、この方法の問題点は、読取りサイクルの
前に書込みバッファが外部メモリを吏新するのに、マイ
クロプロセッサは長期間待機しなければならないので、
マイクロプロセッサの性能に打撃を与えてしまうことで
ある。
この問題を解決する他の方法として、書込みバッファに
おけるデータに関連したアドレスに対して、読取りサイ
クルに関して発生されたアドレスを比較することである
。(il:込みバッファは、代表的には、アドレスと、
そのアドレスに記憶されるべきデータを記憶する。)整
合していない場合、CPUは書込みバッファに記憶され
たデータを捜さないので、読取9サイクルを生じること
ができる。
しかし、この方法は、アドレスを比較するのに大量の論
理装置を必要とするという欠点を有している。
従来技術においては、マイクロプロセッサに関してキャ
ッシュ・メモリを使用することが知られている。これら
キャッシュ・メモリのいくつかは、1゛ライト・スルー
”キャッシュ・メモリで、データに関連するアドレスが
、外部メモリに書込まれる他、キャッシュ・メモリにお
いて見つけられるならば、CPUにより発生されたデー
タがキャッシュ・メモリを更新する。
したがって、本発明は、書込みバッファとキャッシュ・
メモリを含んでいるマイクロプロセッサにおいて読取#
)/書込みサイクルをリオーダする方法および装置を提
供する。
〔発明の概要〕
本発明は、本実施例では、単一基板上に中央処理装置(
CPU)と、キャッシュ・メモリと、複数のセクション
を有する書込みバッファを含んでいるCMO Sマイク
ロプロセッサにおいて使用される。
データは、外部バスを介して外部メモリに供給される前
に、CPUから内部バスを介して書込みバッファに供給
される。マイクロプロセッサは、データに関連したアド
レスが、キャッシュ・メモリに記憶されたデータに関連
したアドレスに整合しているかどうかを決定する比較装
置を含んでいる。
本実施例におけるこの比較装置は、キャッシュ”ヒット
″または“ミス゛゜を決定するため読取υサイクルで使
用されるのと同じ回路である。本発明は、書込みバッフ
ァに各セクション当り少なくとも1つのビットを記憶す
る記憶装置を使用している。(バッファの各セクション
は、単一の書込みサイクルにおいて外部メモリに供給さ
れるデータを記憶する。)これらビットは、比較装置に
よシ行なわれる決定を表している。さらに、本実施例で
は、記憶装置は、書込みバッファの一部で、かつそのセ
クションにおけるデータに関するヒットまたはミスを示
しているセクション当りの1ビットを記憶する。論理装
置は、記憶装置からこれらビットを受信するよう接続さ
れている。論理装置により、マイクロプロセッサは、書
込みバッファに記憶された全データに関連したヒットが
あるならば、書込みバッファにデータがあっても、外部
メモリからデータを読取ることができる。
以下、添付の図面に基いて、本発明の実施例に関し説明
する。
〔実施例21 マイクロプロセッサにおける読取りおよび書込みサイク
ルをリオーダする方法および装置について説明する。以
下の説明において、ビット数など特定の記載は、本発明
の理解を助けるためのもので、本発明はこれら詳細な記
載に限定されないことは当業者には明白であろう。また
、周知の回路については、本発明を不明瞭にしないよう
詳細な記載は省略する。
マイクロプロセッサのブロック図 第1図は、本発明が使用されているマイクロプロセッサ
のブロック図を示している。バス・インタフエイス装置
10は、第2図に関して示されている32ビット外部デ
ータ・バス30、外部アドレス・バス31、およびいく
つかの他の制御ラインに接続している。(データという
語は、通常、データ・バスを介して転送される情報を示
すのに使用される。この情報は、命令、定数、ポインタ
などを含んでいる。)本発明に使用される回路のいくつ
かは、書込みバッファを含んでいるインタフエイス装置
に含まれている。インタ7エイス装置10は、内部アド
レスおよびデータ・バス37によシキャッシュ・メモリ
・コントローラ12に接続している。
コントローラ12は、キャッシュ・メモリ11のアクセ
スを制御する。コントローラ12は、キャッシュ・タグ
・セクション121kを含んでいる。
このセクションは、アドレスを受信しかつそのアドレス
に関連したデータがキャッシュ・メモリに記憶されてい
るかどうかを決定する(データがメモリにある場合には
”ヒット゜′で、ない場合には“ミス”である)。これ
には、複数の周知の回路のどれかが使用される。このよ
うな回路は、内容呼出しメモリ(CAM)を含んでいる
場合がよくある。しかし、本実施例においては、キャッ
シュ・タグ12mは、スタティックRAMおよび複数の
比較器を使用している。
キャッシュ・コントローラ12は、アドレス発生装置1
4に接続し、ベージング装置13は、アドレス発生装置
14とキャッシュ・コントローラ12の間に接続してい
る。本発明を理解するため、アドレス発生装置は、市販
されているインテル80386において使用されている
装置と同じものであるとする。このマイクロプロセッサ
は、多くの出版物、たとえばオズポーン マックグロウ
ヒル(1988)によシ発表された、パバスおよびマー
レイによる80386マイクロプロセッサ ハンドブッ
クにおいて述べられている。インテル80386に関す
るセグメンテーションおよびベージング装置は、198
5年6月13日出願された米国特許願第744,389
号、発明の名称1マイクロプロセッサのメモリ管理」に
おいて述べられている(この出願は、本発明の出願人に
譲渡されている〕。
本発明を理解するのに、キャッシュ・メモリ11および
キャッシュ・コントローラ12の特別な構成はxiでは
ない。コントローラ12とインタフエイス装置10の間
の信号の流れは、第2図および第3図に関して述べられ
ている。
マイクロプロセッサにおいて、命令は、命令デコーダ装
置15に供給される。デコーダ装置は、マイクロコード
命令が記憶されているコントローラ19とともに動作し
、コントローラ19は、マイクログロセツサに一連の制
御信号を供給する。
命令デコーダ装置15は、コントローラ19に接続し、
コントローラからの出力は、マイクロプロセッサの他の
全ての装置に供給される。データ装置18は、インテル
80386により行なわれるのと同様の方法でALU機
能を冥行する算術論理演算装置(ALU)である。
また、マイクロプロセッサは、浮動小数点計算を行なう
浮動小数点装置17を含んでいる。しかし、この装置1
Tの詳細な構成は、本発明においてはあまり重要ではな
い。
本実施例において、第1図のマイクロプロセッサに関す
る全回路は、単一基板に形成された集積回路である。マ
イクロプロセッサは、周知の金属酸化膜半導体(MOS
)技術、特に相補形MOS ( CMOS)技術で実現
されている。マイクロプロセッサによシ行なわれる”中
央処理”は、通常、ALUまたは浮動小数点装置によシ
行なわれる。
第1図のバス・インタフエイス装f.10の主ナ構成要
素は、第2図の破線53 .54の間に示されている。
キャッシュ・コントローラ12は、内部マイクロプロセ
ッサ・バスおよびバス・サイクル・バッファ45を介し
てインタフエイス装置10に連絡している。全メモリ・
アドレス、様々な制御信号、および外部メモリに入れら
れるべき全データは、バッファ45t−介して装置10
に連絡している。入データ(読取多サイクルのデータ経
路)は、バス30によりインタフエイス装置10を介し
てΦヤツシュ・コントローラ12に直接的に接続してい
る。
バッファ45の出力データ(書込みサイクル・データ)
は、書込みバッファ41に接続している。
このバッファは、”4ディープ′゜で、4つのCPU書
込みサイクルに関するバッファ45からのデータヲ、バ
ッファ41の4つのセクションの1つに一時的に記憶す
ることができる。このバッファは、本発明において以下
に示すように使用される。バッファ41の書込みサイク
ル・データ出力は、データ・バス30と連絡している。
バッファ41に記憶されかつ4つのセクションのそれぞ
れにおいて記憶されたデータに関連した信号は、本発明
において使用されるメモリ・アドレス、メモリ・サイク
ルの形式、長さ、およびヒット/ミス・ビットを示して
いる。バス・サイクルの形式などを示している信号は、
デコーダ44からライン46を介してバッファ41、お
よびバス・サイクル・マルチプレクサおよびデコーダ4
2に供給される。
書込みサイクルに関するバス・サイクル・マルチプレク
サおよびデコーダ42は、アドレス信号、バス形式信号
などを (1)バッファ41(ライン38)から、また
はCI)  直接的にバッファ45(ライン39)およ
びライン46から選択する。
マルチプレクサおよびデコーダ42の出力は、ラツチ4
3に接続している。ラッチの出力は、バス31にアドレ
ス信号(アドレスの30ビットおよびバイト・エネーブ
ルの4ビット信号)およびライン33にメモリに関する
制御ラインを供給する。
バッファ45からの4ビットは、バス・サイクルの形式
を示すためバス・サイクル・デコーダ44に供給される
。これらビットは、メモリ読取シ、メモリ書込み、I/
O読取り/書込み、プリフェツテ、飛越し、ロックされ
た読取り、ロックされた書込み、終了しない書込み、イ
ン・サーキット・エミュレータ(読取夛または書込み)
、およびベージング装置13の読取シおよび書込みのよ
うな最高16の異なる形式のバス・サイクルを示してい
る。バス・サイクル形式ビットは、デコーダ44におい
てデコードされ、たとえばマルチプレクサ42を制御す
るのに使用される。本発明においては、(第3図におい
て回路形式で示されている)論理装置により、たとえ読
取りサイクルが要求されても、たとえば書込みサイクル
を生じることができる。バッファ41からの信号は、こ
の目的のため、ライン47を介してデコーダ44に供給
される。これについては、第3図および第4図に関して
詳細に述べられている., バス・コントローラ49は、いくつかの他の入力に加え
て、ライン55でバス・サイクル・リクエスト信号を受
信する。バス・コントローラは、バス・サイクル・デコ
ーダ44、バス・サイクル・マルチグレクサおよびデコ
ーダ42、ラツチ43、およびバッファ41を含んでい
るバス・インタフエイス装[10に、ライン5Tを介し
て様々な回路に制御信号を供給する。バス・コントロー
ラは、普通のステート・マシンとして動作する。
バス・サイクル・デコーダ44は、blast信号( 
burst laat , lロt信号と呼ばれること
もある)を供給する。この信号(アクティブ・ロウ)は
、マイクロプロセッサ・データ・リクエスト(入力また
は出力9が、ライン27または28における次のレディ
信号で履行されることを表す。
インタフエイス装置の他の特徴の他、この信号の発生と
、ライン36でキャッシュ・エネーブル信号(KEN)
とのインタラクションを含んでいるその用途は、本発明
の出願人に譲渡された、1988年8月1日出願の米国
特許願第227,078号、発明の名称1−マイクロプ
ロセッサ・バス・インタフエイス装置」において述べら
れている。
バス・インタフエイス装置10の入力および出力第2図
には、バス・インタフエイス装置の大半の外部入力と、
装[10から(外部回路へ)の大半の出力が、ライン5
4に沿って示されている。
データ・バス30は、32ビットの双方向バスである。
マイクロプロセッサは、アドレス・バス31によ9メモ
リ・アドレスを供給する。このアドレスは、30ビット
のアドレス信号と、4バイトのエネーブル・ビットから
成っている。3つのメモリ制御ライン33は、メモリの
読取シ/書込み、入力/出力、およびデータ対制御(た
とえば、メモリからのプリフエツチ対データ読取シ)を
示している。アドレス状態(ADS)は、バス31のア
ドレスがバリドであることを示しているライン22にお
けるアクティブ・ロー信号である。
マイクロプロセッサによるメモリ・サイクル・リクエス
トは、通常、メモリから読取られかつメモリに書込まれ
る32ビットのデータを必要としている(キャッシュ・
メモリに関連した転送のように比較的大きい転送が使用
される)。場合によって、メモリは、ライン34または
35により適切な信号を供給することがある。ライン3
5(バス・サイズ8)における信号は、転送が8ビット
の転送に関して行なわれることを示し、一方、ライン3
4(バス・サイズ16)の信号は、リクエストが16ビ
ットの転送に関して履行されることを示している。
前述したように、マイクロプロセッサは、オン・チップ
・キャッシュ・メモリを含んでいる。あるデータは、キ
ャッシュ・メモリに記憶するよう指定されている。外部
回路は、マイクロプロセッサからのアドレスを調べ、特
定のアドレスが、キャッシュ・メ七リ中に記憶するよう
特定されたアドレス・スペースに置かれているかどうか
を決定する。これは、通常、命令、定数などに関して行
なわれ、共用されるデータに関しては行なわれない。
要求されたデータが”キャッシュ可能”である、すなわ
ちキャッシュ・メモリに記憶されるべきものであること
を、外部回路が決定したならば、KEN信号は、ライン
36に戻される(アクティブ・ロー)。
ライン23の入力は普通の゛保持”信号で、ライン24
の出力は”保持肯定応答”信号である。
ライン25の入力信号(アドレス保持)は、外部バスは
すぐに7ロートされるものであることを示している。こ
れは、このバスにおける他の装置とのシステム・デッド
ロックを阻止するために行なわれる。ライン26は、外
部アドレス状態を供給する。ライン27 .28は、そ
れぞれ、レディ信号と”バースト”信号を受信する。
第3図は、読取りおよび書込みサイクルのオーダリング
およびリオーダリングを決定するため、本発明において
使用される論理装置を示している。
第3図に示したゲートは、本発明を理解するため選択さ
れている。集積回路の場合のように、実際の回路におい
てゲートによク供給される論理装置は、本発明には関係
ない他の論理装置や回路と混じっている。
本実施例の書込みバッファ41は、実際には、先入れ先
出し(FIFO)レジスタで、4つのセクション41m
 , 41b , 41c , 41dを有している。
(アドレスおよび関連信号を含んでいる)バッファへの
データは、バッファ45およびデコーダ44から供給さ
れる。バッファからのデータ出力は、バス30に供給さ
れ、そのアドレスは、デコーダ42,さらにラツテ43
に供給される。
書込みバッファ41によシ、本発明はさらに記憶するこ
とができる。バッファの各セクションは、さらに1つの
記憶ビットを有し、このビットは、そのセクションにお
ける書込みサイクル・データに関連したアドレスが、キ
ャッシュ・メモリにおいて見つけられるかどうかを示し
ている。たとえば、データが、アドレスFOOOOOO
O  とともに、書込みバッファ・セクション41dに
配置されるならば、このアドレスは、第1図のキャッシ
ュ・コントローラに供給され、そのアドレスに関するデ
ータがキャッシュ・メモリにおいて見つけられるかどう
かを決定する。そのアドレスに関するデータがキャッシ
ュ・メモリにあるならば、このメモリは、新しいデータ
に更新される。データは、また、書込みバッファ41の
セクション41dに書込まれる。データがキャッシュ・
メモリにおいて見つけられたならば(”ヒット”)、バ
イナリ1がビット場S roaに書込まれる。データが
キャッシュ・メモリにない場合(″ミス”)、バイナリ
0が場所70dに書込まれる。ヒット/ミス・ビット情
報は、書込みバッファ41に供給された書込みサイクル
・データに関しアドレスの比較が行なわれた後に、キャ
ッシュ・コントローラ12&から場所70dに供給され
る。これは、第3図のライン70によシ示されている。
データが、書込みバッファにおいてセクション41dか
らセクション416などに移動されると、それに関連し
たヒット/ミス・ビットも、同様Kビット場所70dか
ら70cなどに移動される。(しかし、このビットは、
データ、アドレス、および制御ビットである場合、外部
バスに供給されない。) バッファ41の各セクションに関連したヒット/ミス・
ビットは、インバータを介してκΦゲートの1人力端子
に供給される。たとえば、場所70mのピットは、ライ
ン60を介してインパータ65に供給され、インパータ
65の出力は、ANDゲート66の1入力端子に供給さ
れる。同様に、場所70bからのビットは、ライン61
に沿ってインバータを介してゲート6γの1人力端子に
供給される。場所70cからのビットは、ライン62に
沿ってインバータを介してゲート6Bの1人力端子に供
給され、かつ場所70dからのビットは、ライン63に
沿ってインバータを介してゲート69の1人力端子に供
給される。
ゲー}66.67.68.69の出力は、NORゲー}
73の入力端子に供給される。このゲートの出力は、ラ
イン4Tとして示されている。
各ゲート66〜69は、書込みバッファ41の4つのセ
クションの1つから”フイル″(満たされた、すなわち
フル)信号を受信する。この信号は、各ゲートに関する
マスキング・ビットとして動作する。九とえば、データ
が書込みバッファのセクション41dにあるならば、こ
のセクションに関するフィル・ビットはゲート69に供
給されるバイナリ1である。このデータが、新しいデー
タをセクション41dに移動することなく、セクション
41cに移動されるならば、ゲート69に供給されるフ
ィル・ビットは、バイナリ0で、ゲート68に供給され
るフィル・ビットはバイナリ1である。
同様に、セクション4lbに記憶されたデータがあるな
らば、バイナリ1がゲート67に供給される。
また、たとえば、セクション41&にデータがないなら
ば、バイナリ0がライン64に供給される。
このマスキング・ビットを供給するには、普通の回路装
置が使用され、このような回路は、バッファ/レジスタ
として知られている。
場所70!L〜70dにおけるヒット/ミス・ビットハ
、テータが外部メモリからキャッシュ・メモリに読取ら
れる時、またはりマツピングがキャッシュ・メモリに生
じた時、クリャされる(全ビットは、それらの前の状態
に関係なくパイナIJ Oに変えられる)。これら条件
のいずれかの下では、ヒット/ミス・ビットはなくなる
書込みサイクル・データがセクション41dに配置され
、かつその関連アドレスがキャッシュ・メモリにおいて
は見つけられないと仮定する。したがって、バイナリO
はビット場所70dにある。ゲート69の入力は、イン
バータのためバイナリ1で、フィル・ビットはバイナリ
1である、すなわちマスキングは生じていない。これら
条件において、バイナリ1はゲート69の出力にある。
ゲート73の入力がパイナリ1の場合、ライン47の出
力は、ゲー}66,67.68からのゲートγ3への入
力に関係なく低い。これら条件の下では、ライン47の
リオーダ信号は、書込みの前に、すなわちミス・ビット
に関連した書込みバッファにおける全データが外部メモ
リに読取られるまで、絖取シが起きないことを示してい
る。この例に示すように、CPUによシセクション41
dのデータを探索でき、かつCPUは、書込み前に読*
bが行なわれるならば、外部メモリから誤ったデータを
受信してしまう。
データが、バッファ41の4つのセクションにロードさ
れ、かつそれぞれに関連したアドレスがキャッシュ・メ
モリにあると仮定する。これら条件の下では、ビット場
所70m , 70b , 70e , 70dはバイ
ナリ1を含んでいる。各セクションがデータで満たされ
ているので、各セクションに関連したフィル・ビットは
パイナリ1である。したがって、各ゲート66〜69の
入力は、ヒット/ミス・ビットに関してバイナリOで、
フィル・ピットに関してはバイナリ1である。また、各
ANDゲートの出力はバイナリ0である。NORゲート
73の入力が全部0である場合、ライン47はバイナリ
1となる。これら条件の下では、書込みバッファ31の
データが、外部メモリに書込まれる前に、読取りを行な
うことができる。なお、これら条件の下では、CPUは
キャッシュ・メモリから新しいデータを得る。この状況
は、CPUによシ発生されたアドレスが外部メモリでは
なくキャッシュ・メモリにおいて見つけられることがよ
くあるので、代表的な動作における水準を超えるもので
ある。
読取シサイクルにおいて、データはキャッシュ・メモリ
にロードされる。これが起きるとすぐに、全ビット70
1L − 70dは、前述したようにパイナリ0に変え
られ、書込みバッファにおけるデータが次の読取シサイ
クルの前に外部メモリに転送されなければならない。
新しいバス・サイクルが外部データ・バスにおいて進行
される場合にはいつでも、特にデコーダ44に関連した
デコーダ論理装置は、データが書込みバッファにおいて
キューされるかどうか、サイクルがバッファ45にある
かどうか、およびライン4Tに供給される信号があるか
どうかを決定することによシ、どのサイクルが進行され
るべきかを決定する。読取シサイクルがパッ7ア45に
あシ、かつデータが書込みバッファ41に存在している
場合、デコーダは、信号がライン47にあるならば、読
取9サイクルを進行するように選択する。したがって、
マイクロプロセッサの性能が低下することはない。しか
し、書込みパッファにおけるデータのいずれかがキャッ
シュ・ミスに関連している場合には、キャッシュ・ミス
としてマークされたデータが書込みバッ7ア4.1から
転送されるまで、読取シサイクルは選択されない。無論
、これによυ、更新されたデータは、読取夛サイクルに
おいて外部メモリから確実に読取られる。
第4図に示した本発明の方法 第4図は、ブロック74で開始する本発明の方法を示し
ている。このブロックは、代表的な書込みバス・サイク
ルの開始を示している。これが生じると、データに関連
したアドレスがキャッシュ・コントローラに送られ、そ
のアドレスに関連したデータがキャッシュ・メモリに配
置されているかどうかを決定する。これは、ブロック7
5における質問”イン・キャッシュ?”で示されている
外部メモリに書込まれるべきデータに関連したアドレス
を、キャッシュ・メモリのデータに関連したアドレスに
対して比較した結果、ライン76によシ示されたヒット
またはライン7Tによシ示されたミスが生じる。ヒット
の場合、ブロックT8に示すように、新しいデータがキ
ャッシュ・メモリに書込まれ、その後、ブロック79に
示すように、データが書込みバッファに配置され、かつ
ヒット・ビットはバイナリ1に設定される。これら条件
の下で、ヒット・ビットが全書込みサイクル・データに
関して書込みバッファにおいてバイナリ1に設定される
ならば、書込みの前に読取シが生じることができる。
逆に、ミスがライン77に示すように生じた場合、キャ
ッシュ・メモリを更新する必要はなく、データは、ブロ
ック80に示すように書込みバッファに配置される。ヒ
ット・ビットはバイナリOのままで、読取りは、外部メ
モリに書込みバックアにおけるこのデータを書込む前に
は阻止される。
(初期化によシ、および書込みパッ7アにおいて1ステ
ージから次のステージにデータをシフトすることによシ
、ヒット・ビットは、バイナリOになるか、または新し
いデータがそのセクションに移動されるまで、バイナリ
0のままである。)以上のように、マイクロプロセッサ
における読取りおよび書込みサイクルをリオーダするこ
とができる本発明の方法および装置について述べてきた
。本発明の方法および装置は、最少の回路で実現でき、
かつキャッシュ・メモリにおいて既に見られる、または
これに関連した他の回路を一部に用いている。
【図面の簡単な説明】
第1図は本実施例のマイクロプロセッサを形成する様々
な装置を示したブロック図、第2図は第1図のマイクロ
プロセッサにおいて使用される書込みバッファと関連論
理装置を含んでいるインタフエイス装置のブロック図、
第3図は書込みバッファに関連し、かつ書込みバッファ
にデータがある間、読取シサイクルを可能にする信号を
発生するのに使用される特別の論理装置の概要図、第4
図は本発明の方法に関連した過程を示した流れ図である
。 10●書・・インタフエイス装置、1 1・0・●キャ
ッシュ・メモリ、12●●●eキャッシュ・コントロー
ラ、12a●拳●●キャッシュ・タグ・セクション、1
3●・・・ページング装fl、14−●●−アドレス発
生装置、15●●●8命令デコーダ装置、17・・・・
浮動小数点装置、18●●●●データ装置、19●・●
・コントローラ、41・−●・書込ミハッファ、42I
1eIIφバス・サイクル・マルチプレクサおよびデコ
ーダ、439●●会ラッチ、44s*eeバス.サイク
ル.デコーダ、45●−1111ハス・サイクル・バッ
ファ、49●●・●バス・コ/トロー7、65●・Φ●
イ/バータ、66〜69●Φ●・ANDゲート、T3 
・ ● ・ ・NORゲー ト。 −12゜IIE    3 1トシ5→4+:tgセλくソ

Claims (3)

    【特許請求の範囲】
  1. (1)中央処理装置(CPU)と、 上記CPUに接続したキャッシュ・メモリと、書込みサ
    イクルにおいて上記CPUから外部バスを介して転送さ
    れるべき書込みサイクル・データに関してバッファリン
    グを行なう書込みバッファと、 上記CPUに接続し、かつ上記書込みサイクル・データ
    に関連したアドレスが、上記キャッシュ・メモリに記憶
    されたデータに関連したアドレスに整合しているかどう
    かを決定する比較器装置と、上記比較器装置に接続し、
    かつ上記比較器装置により行なわれた上記決定を表す情
    報のビットを記憶する記憶装置と、 上記記憶装置からの上記ビットを受信するように接続し
    、かつ上記ビットが所定の状態にあるならば、書込みサ
    イクルが可能になる前に、外部メモリからのデータを読
    取るよりマイクロプロセッサをエネーブルする論理装置
    と、 から成ることを特徴とするマイクロプロセッサ。
  2. (2)外部メモリに書込まれるべきデータを受信し、か
    つデータとアドレスを記憶する複数のセクションを有し
    ている書込みバッファと、 上記書込みバッファの上記各セクションに関連し、かつ
    書込みバッファに記憶されたアドレスがキャッシュ・メ
    モリに記憶されたデータに対応しているか、いないかを
    示すヒット/ミス条件を表すビットを記憶するビット・
    ロケーションと、上記ビット・ロケーションに接続し、
    かつデータが上記書込みバッファにある場合外部メモリ
    からのデータの読取りが許可されるかどうかを制御する
    制御信号を、上記ビットが所定の状態にある場合供給す
    る論理装置と、 から成ることを特徴とするマイクロプロセッサ。
  3. (3)外部メモリに書き込まれるべき書込みサイクル・
    データを書込みバッファに記憶する過程と、上記書込み
    サイクル・データとキャッシュ・メモリに記憶されたデ
    ータに関してアドレスの対応があるかどうか(ヒットま
    たはミス)上記書込みサイクル・データに関して決定す
    る過程と、上記ヒットまたはミスを表している情報を上
    記書込みサイクル・データに関して記憶する過程と、ヒ
    ットが、上記書込みバッファにある全書込みサイクル・
    データに関して示されているならば、書込みサイクル・
    データが上記書込みバッファにある場合に読取りサイク
    ルが生じるのを許す過程と、 から成ることを特徴とする、マイクロプロセッサにおけ
    る読取りサイクルおよび書込みサイクルのリオーダリン
    グを制御する方法。
JP2085073A 1989-04-07 1990-04-02 マイクロプロセツサ Pending JPH02293945A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33493189A 1989-04-07 1989-04-07
US334,931 1989-04-07

Publications (1)

Publication Number Publication Date
JPH02293945A true JPH02293945A (ja) 1990-12-05

Family

ID=23309498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2085073A Pending JPH02293945A (ja) 1989-04-07 1990-04-02 マイクロプロセツサ

Country Status (3)

Country Link
JP (1) JPH02293945A (ja)
GB (1) GB2230120B (ja)
HK (1) HK112894A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02304650A (ja) * 1989-05-19 1990-12-18 Toshiba Corp パイプライン方式のマイクロプロセッサ
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2244158B (en) * 1990-04-30 1994-09-07 Sun Microsystems Inc Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations
JPH06168182A (ja) * 1992-11-30 1994-06-14 Fujitsu Ltd 情報処理装置
JP3024422B2 (ja) * 1993-04-01 2000-03-21 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの運転方法
US5642494A (en) * 1994-12-21 1997-06-24 Intel Corporation Cache memory with reduced request-blocking

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02304650A (ja) * 1989-05-19 1990-12-18 Toshiba Corp パイプライン方式のマイクロプロセッサ
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes
US8307144B2 (en) 2008-10-15 2012-11-06 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes

Also Published As

Publication number Publication date
GB2230120A (en) 1990-10-10
GB2230120B (en) 1992-12-02
GB9003484D0 (en) 1990-04-11
HK112894A (en) 1994-10-27

Similar Documents

Publication Publication Date Title
US5179679A (en) Apparatus and method for permitting reading of data from an external memory when data is stored in a write buffer in the event of a cache read miss
US6434639B1 (en) System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation
KR920010950B1 (ko) 컴퓨터 시스템과 정보 판독 및 데이타 전송방법
US5566324A (en) Computer apparatus including a main memory prefetch cache and method of operation thereof
JP3180154B2 (ja) マイクロプロセッサ
US5649230A (en) System for transferring data using value in hardware FIFO'S unused data start pointer to update virtual FIFO'S start address pointer for fast context switching
KR950010525B1 (ko) 마이크로프로세서에 내장되는 캐시 메모리 유니트
US5073969A (en) Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal
US6700582B2 (en) Method and system for buffer management
KR100348099B1 (ko) 단일의캐쉬액세스파이프단을이용하여파이프라인저장명령을실행하기위한장치및방법과,파이프라인프로세서및,컴퓨터시스템
US6240489B1 (en) Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system
US6327643B1 (en) System and method for cache line replacement
JP3407808B2 (ja) コンピュータシステム
JPH02293945A (ja) マイクロプロセツサ
US5774697A (en) Data realignment method and apparatus
US6882589B2 (en) Prefetch buffer
US20080282054A1 (en) Semiconductor device having memory access mechanism with address-translating function
US5878243A (en) Apparatus for decreasing the cycle times of a data processing system
JP2580263B2 (ja) バッファ記憶装置
US6119202A (en) Method and apparatus to interleave level 1 data cache line fill data between system bus and level 2 data cache for improved processor performance
US5838946A (en) Method and apparatus for accomplishing processor read of selected information through a cache memory
JP3733604B2 (ja) キャッシュメモリ
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
US5781916A (en) Cache control circuitry and method therefor
US7028129B2 (en) Method and apparatus for converting an external memory access into a local memory access in a processor core