JP2003029967A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JP2003029967A JP2003029967A JP2001216223A JP2001216223A JP2003029967A JP 2003029967 A JP2003029967 A JP 2003029967A JP 2001216223 A JP2001216223 A JP 2001216223A JP 2001216223 A JP2001216223 A JP 2001216223A JP 2003029967 A JP2003029967 A JP 2003029967A
- Authority
- JP
- Japan
- Prior art keywords
- address
- write
- data
- read
- register
- 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
Links
- 238000010586 diagram Methods 0.000 description 34
- 230000002093 peripheral effect Effects 0.000 description 9
- 239000013256 coordination polymer Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Microcomputers (AREA)
Abstract
でアクセスの順序を保障すること。 【解決手段】 シリアル・アドレス・レジスタ81に、
アクセス順序を保障する必要のあるアドレスを格納す
る。CPU2から供給されたアドレスと、シリアル・ア
ドレス・レジスタ81に格納されているアドレスとを、
シリアル・アドレス比較器82により比較する。比較の
結果、アドレス一致の場合には、先行するアクセス要求
がバス・コントロール部5に受け付けられて動作を完了
するまで、後続のアクセス要求を待機させる。先行する
アクセス要求が完了した後、後続のアクセス要求を実行
する。
Description
ドおよびライトの順序を入れ替えて実行するマイクロプ
ロセッサに関する。
リードおよびライトの順序を入れ替えて実行するマイク
ロプロセッサでは、CPUが主記憶装置または周辺シス
テムに対してプログラムの順序通りに発行したリード命
令およびライト命令を、処理性能を上げるために順序を
入れ替えて実行することがある。このようなマイクロプ
ロセッサでは、CPUが、周辺システムのコントロール
・レジスタなどの中でアクセスの順番により意味が変わ
るレジスタにアクセスする場合には、アクセス順序を保
障する必要がある。
・メモリ)に格納されているマシン命令やデータにアク
セスして処理(演算)をおこなう。しかし、主記憶装置
の動作速度はCPUに比べて著しく低速であるため、主
記憶装置に対するリードやライトには処理時間がかか
る。そこで、CPUと主記憶装置との間に、主記憶装置
よりも高速に動作するキャッシュ・メモリを設け、その
キャッシュ・メモリに命令やデータを一時的に格納する
ことにより、主記憶装置へのアクセスを減らし、リード
やライトに要する処理時間の短縮を図っている。
き込む際のデータの流れを模式的に示す概略図である。
マイクロプロセッサ1はCPU2およびキャッシュ・シ
ステム3を有している。CPU2は、キャッシュ・シス
テム3にライト・データおよびライト・アドレス・デー
タ(以下、アドレス・データを単にアドレスとする)を
出力する。ライト・データおよびライト・アドレスはバ
ス・コントロール部(BUSC)5を介して主記憶装置
6に送られ、そこに書き込まれる。このデータの流れは
図6において黒矢印で示されている。
読み出す際のデータの流れを模式的に示す概略図であ
る。CPU2は、キャッシュ・システム3に読み出し対
象データのアドレス、すなわちリード・アドレスを出力
する。リード・アドレスはバス・コントロール部5を介
して主記憶装置6に送られる。主記憶装置6では、リー
ド・アドレスに対応するデータが読み出される。その読
み出されたデータはバス・コントロール部5およびキャ
ッシュ・システム3を介してCPU2に送られる。この
データの流れは図7において黒矢印で示されている。
書き込む際のデータの流れを模式的に示す概略図であ
る。CPU2は、キャッシュ・システム3にライト・デ
ータおよびライト・アドレスを出力する。ライト・デー
タおよびライト・アドレスはバス・コントロール部5を
介して周辺システム7に送られ、そこのコントロール・
レジスタ等に書き込まれる。このデータの流れは図8に
おいて黒矢印で示されている。
等からデータを読み出す際のデータの流れを模式的に示
す概略図である。CPU2は、キャッシュ・システム3
にリード・アドレスを出力する。リード・アドレスはバ
ス・コントロール部5を介して周辺システム7に送られ
る。周辺システム7では、リード・アドレスに対応する
データが読み出される。その読み出されたデータはバス
・コントロール部5およびキャッシュ・システム3を介
してCPU2に送られる。このデータの流れは図9にお
いて黒矢印で示されている。
ャッシュ・システムの構成を詳細に示すブロック図であ
る。図10に示すように、キャッシュ・システム3は、
キャッシュ・ブロックの識別アドレスを保持するタグR
AM31、およびデータを保持するキャッシュRAM3
2を有する。
スを保持するレジスタとして、ウェイト・アドレス・レ
ジスタ(WAR)33、リード・アドレス・レジスタ
(RAR)34、キャッシュ・ライト・バッファ・アド
レス(CWBA)35およびストア・バッファ・アドレ
ス(STBA)36を有する。また、キャッシュ・シス
テム3は、データを保持するレジスタとしてウェイト・
データ・レジスタ(WDR)37、キャッシュ・ライト
・バッファ(CWB)38およびストア・バッファ(S
TB)39を有する。また、キャッシュ・システム3
は、5個のセレクタ41,43,44,45,46およ
びタグ・アドレス比較器42を有する。また、キャッシ
ュ・システム3は、キャッシュ・システム3の制御をお
こなう図示しないキャッシュ制御部を有する。
ついて説明する。図11は、図10に示すマイクロプロ
セッサにおいてリード・アクセスがキャッシュ・ヒット
したときのアドレスおよびリード・データの流れを示す
図である。図11においては、アドレスおよびデータの
経路を太線で示す(図12〜図22および図2〜図5に
おいても同じ)。CPU2はセレクタ41を介してタグ
RAM31およびキャッシュRAM32にリード・アド
レスを供給する。タグ・アドレス比較器42はタグ・ア
ドレスとリード・アドレスとを比較する。比較の結果、
それらが一致していれば(キャッシュ・ヒット)、CP
U2は、セレクタ45,46を介してキャッシュRAM
32の、アドレスが一致していたウェイから読み出され
たデータを受け取る。また、キャッシュ・ヒット信号が
アサートされる。
サにおいてリード・アクセスがキャッシュ・ミスしたと
きのアドレスおよびリード・データの流れを示す図であ
る。CPU2はセレクタ41を介してタグRAM31に
リード・アドレスを供給する。タグ・アドレス比較器4
2はタグ・アドレスとリード・アドレスとを比較する。
比較の結果、それらが一致していなければ(キャッシュ
・ミス)、リード・アドレスはリード・アドレス・レジ
スタ34に格納される。格納されたリード・アドレス
は、バス・コントロール部5に受け付けられるまで、リ
ード要求とともにバス・コントロール部5に出力され
る。
ドレスを受け付けた結果、バス・コントロール部5から
リード・データが供給されたら、そのリード・データは
セレクタ46を介してCPU2に送られるとともに、セ
レクタ44を介してキャッシュRAM32にデータが格
納される。キャッシュ・ヒット信号はネゲートされる。
厳密にいえばキャッシュRAM32にもCPU2からリ
ード・アドレスが供給されるが、ここではキャッシュ・
ミスの場合であるので、図12ではセレクタ41とキャ
ッシュRAM32との間を、アドレスの供給経路を示す
太線ではなく、細線で示した(図20においても同
じ)。
サにおいてライト・アクセスがキャッシュ・ヒットした
ときのアドレスおよびデータの流れを示す図である。C
PU2はセレクタ41を介してタグRAM31およびキ
ャッシュRAM32にライト・アドレスを供給する。タ
グ・アドレス比較器42はタグ・アドレスとライト・ア
ドレスとを比較する。比較の結果、それらが一致してい
れば(キャッシュ・ヒット)、ライト・アドレスはキャ
ッシュ・ライト・バッファ・アドレス35およびストア
・バッファ・アドレス36に格納される。
してキャッシュ・ライト・バッファ38およびストア・
バッファ39に格納される。ストア・バッファ・アドレ
ス36に格納されたライト・アドレスおよびストア・バ
ッファ39に格納されたライト・データはライト要求と
ともにバス・コントロール部5に供給される。一方、キ
ャッシュ・ライト・バッファ・アドレス35に格納され
たライト・アドレスはタグRAM31およびキャッシュ
RAM32に供給される。キャッシュRAM32の、そ
のライト・アドレスに対応する領域に、キャッシュ・ラ
イト・バッファ38に格納されたライト・データが書き
込まれる。また、キャッシュ・ヒット信号がアサートさ
れる。
サにおいてライト・アクセスがキャッシュ・ミスしたと
きのアドレスおよびデータの流れを示す図である。CP
U2はセレクタ41を介してタグRAM31にライト・
アドレスを供給する。タグ・アドレス比較器42はタグ
・アドレスとライト・アドレスとを比較する。比較の結
果、それらが一致していなければ(キャッシュ・ミ
ス)、ライト・アドレスはストア・バッファ・アドレス
36に格納され、一方、ライト・データはセレクタ43
を介してストア・バッファ39に格納される。
けるまで、バス・コントロール部5にライト要求とライ
ト・アドレスとライト・データが出力される。キャッシ
ュ・ヒット信号はネゲートされる。厳密にいえばキャッ
シュRAM32にもCPU2からライト・アドレスが供
給されるが、ここではキャッシュ・ミスの場合であるの
で、図14ではセレクタ41とキャッシュRAM32と
の間を細線で示した(図2、図15および図19におい
ても同じ)。
においてライト・アクセスにつづいてリード・アクセス
が起こり、かつライトとリードとの間にアドレス依存が
ある場合の動作について説明する。図15〜図18は、
この場合のアドレスおよびデータの流れを順に示す図で
ある。CPU2はキャッシュ・システム3に対してライ
ト要求をおこない、タグRAM31にライト・アドレス
を出力する。タグ・アドレス比較器42でタグ・アドレ
スとライト・アドレスを比較した結果、キャッシュ・ミ
スであれば、ストア・バッファ・アドレス36およびス
トア・バッファ39にそれぞれライト・アドレスおよび
ライト・データが格納される。そして、バス・コントロ
ール部5にライト要求が出力される(図15参照)。
ム3に対してリード要求をおこなう。このリード要求に
よって、リード・アドレスは、ストア・バッファ・アド
レス36に格納されているアドレスと比較され、一致す
る場合にはウェイト・アドレス・レジスタ33に格納さ
れる。そして、先行するライト要求がバス・コントロー
ル部5に受け付けられて動作を完了するまで、リード・
アドレスはウェイト・アドレス・レジスタ33に保持さ
れる(図16参照)。
のリード要求が実行される。キャッシュ・ミスであれ
ば、リード・アドレスはリード・アドレス・レジスタ3
4に格納され、バス・コントロール部5へリード要求と
アドレスが出力される(図17参照)。バス・コントロ
ール部5はリード要求を受け付けて、要求されたデータ
をキャッシュ・システム3に返す。その返されたデータ
はキャッシュ・システム3からCPU2に出力される
(図18参照)。このように、ライト・アクセスとリー
ド・アクセスとの間にアドレス依存がある場合には、ラ
イト要求やリード要求の順序が入れ替わることはない。
においてライト・アクセスにつづいてリード・アクセス
が起こり、かつライトとリードとの間にアドレス依存が
ない場合の動作について説明する。図19〜図22は、
この場合のアドレスおよびデータの流れを順に示す図で
ある。CPU2はキャッシュ・システム3に対してライ
ト要求をおこない、タグRAM31にライト・アドレス
を出力する。タグ・アドレス比較器42でタグ・アドレ
スとライト・アドレスを比較した結果、キャッシュ・ミ
スであれば、ストア・バッファ・アドレス36およびス
トア・バッファ39にそれぞれライト・アドレスおよび
ライト・データが格納される。そして、バス・コントロ
ール部5にライト要求が出力される(図19参照)。
ム3に対してリード要求をおこない、タグRAM31に
リード・アドレスを供給する。タグ・アドレス比較器4
2でのアドレス比較の結果、キャッシュ・ミスであれ
ば、リード・アドレスはリード・アドレス・レジスタ3
4に格納される。そして、バス・コントロール部5が受
け付けるまで、バス・コントロール部5にリード要求と
アドレスが出力される(図20参照)。
求との間にはアドレス依存がないので、ライト要求とリ
ード要求は同時にバス・コントロール部5に出力される
ことになる。通常、リード要求とライト要求とでは、C
PU2が演算に使用する可能性があるリード要求が優先
されるため、バス・コントロール部5はまずリード要求
を受け付ける。そして、バス・コントロール部5は、要
求されたデータをキャッシュ・システム3に返し、その
返されたデータはそのままCPU2に供給される(図2
1参照)。つづいて、バス・コントロール部5はライト
要求を受け付ける(図22参照)。このように、ライト
・アクセスとリード・アクセスとの間にアドレス依存が
ない場合には、処理能力を上げるためにライト要求やリ
ード要求の順序が入れ替わることがある。
レス依存のないアクセスに対しては、アクセス順序を保
障する必要はない。しかしながら、アドレス依存の有無
に関らず、アクセスの順番により意味が変わるレジスタ
にアクセスする場合には、アクセス順序を保障する必要
がある。たとえば、インテル社の8254互換のタイマ
ーに設けられているタイマー・コントロール・ワード・
レジスタ(TCTR)に対して書き込みをおこなった
後、まったく別のアドレスを持つタイマー・コントロー
ル・ステータス・レジスタ(TCSR0〜3)のデータ
を読み出すと、データが変わることがある。
ジスタ(TCTR)は、SC(Select Counter)1およ
びSC0の値が11のときに、リード・バック・コマン
ドとなる。リード・バック・コマンドのときにタイマー
・コントロール・ステータス・レジスタ(TCSR0〜
3)の値を読み出すと、ステータス・ラッチされたカウ
ント値となる。それに対して、リード・バック・コマン
ドでないとき、すなわちSC1およびSC0の値が11
ではないときにタイマー・コントロール・ステータス・
レジスタ(TCSR0〜3)の値を読み出すと、そのと
きのカウント値となる。
スするときは、アクセス順序を保障するため、たとえ
ば、図23に示すように、タイマー・コントロール・ワ
ード・レジスタ(TCTR)へのアクセスと、タイマー
・コントロール・ステータス・レジスタ(TCSR0〜
3)へのアクセスとの間に、membar命令のように
本命令以前に実行されたロード/ストア命令の完了を待
つような命令を挿入する必要がある。このような場合、
従来は、ソフトウェアによりアクセス順序を保障してい
る。しかしながら、コンパイラではこのようなコードを
出力することが困難であるため、人手によりアクセス順
序を保障するようなプログラムを記述する必要がある。
そのため、従来はプログラミング効率が悪いという問題
点があった。
のであって、ハードウェアでアクセスの順序を保障する
ことができる構成のマイクロプロセッサを提供すること
を目的とする。
め、本発明は、アクセス順序を保障する必要のあるアド
レスを保持するレジスタ、およびこのレジスタに保持さ
れている、アクセス順序を保障する必要のあるアドレス
と、CPUからのアクセス要求のアドレスとを比較する
アドレス比較器を設け、CPUから供給されたアドレス
と、前記レジスタに格納されているアドレスとを比較し
て、それらが一致していれば、先行するアクセス要求を
先に実行し、それが完了した後に後続のアクセス要求を
実行することを特徴とする。
アドレスと、アクセス順序を保障する必要のあるアドレ
スとを比較して、それらが一致していれば、先行するア
クセス要求を先に実行し、それが完了した後に後続のア
クセス要求を実行するため、アクセス順序を保障する必
要のあるアクセス要求に対して、アクセス順序を保障す
ることができる。
いて図面を参照しつつ詳細に説明する。図1は、本発明
にかかるマイクロプロセッサのキャッシュ・システムの
構成例を示すブロック図である。図1に示すように、キ
ャッシュ・システム8はシリアル・アドレス・レジスタ
(SAR)81およびシリアル・アドレス比較器82を
有する。
AM31、キャッシュRAM32、ウェイト・アドレス
・レジスタ(WAR)33、リード・アドレス・レジス
タ(RAR)34、キャッシュ・ライト・バッファ・ア
ドレス(CWBA)35、ストア・バッファ・アドレス
(STBA)36、ウェイト・データ・レジスタ(WD
R)37、キャッシュ・ライト・バッファ(CWB)3
8およびストア・バッファ(STB)39を有する。ま
た、キャッシュ・システム8は、5個のセレクタ41,
43,44,45,46およびタグ・アドレス比較器4
2を有する。また、キャッシュ・システム8は、キャッ
シュ・システム8の制御をおこなう図示しないキャッシ
ュ制御部を有する。
クセス順序を保障する必要のあるアドレスを保持するた
めのレジスタである。たとえばCPU2が、アクセス順
序を保障する必要のあるアドレスの値をシリアル・アド
レス・レジスタ81にデータとして書き込むことによ
り、シリアル・アドレス・レジスタ81にアドレスが格
納される。
るセレクタ41で選択されたアドレスと、シリアル・ア
ドレス・レジスタ81に保持されているアドレスとの比
較をおこなう。その比較の結果、アドレス一致の場合に
は、図示しないキャッシュ制御部に供給されるシリアラ
イズ・ヒット信号がアサートされる。シリアライズ・ヒ
ット信号がアサートされると、図示しないキャッシュ制
御部は、アクセス順序が保障されるような制御をおこな
う。シリアル・アドレス比較器82でのアドレス比較の
結果が不一致の場合には、シリアライズ・ヒット信号が
ネゲートされる。この場合には、アクセス順序は保障さ
れない。
らかの要因で実行を待たされるときにアドレスを保持す
るレジスタである。リード・アドレス・レジスタ34
は、バス・コントロール部5へのリード・アドレスを保
持するレジスタである。キャッシュ・ライト・バッファ
・アドレス35は、キャッシュ・システム8へのライト
・アドレスを保持するレジスタである。
・コントロール部5へのライト・アドレスを保持するレ
ジスタである。ウェイト・データ・レジスタ37は、何
らかの要因で実行を待たされるときにデータを保持する
レジスタである。キャッシュ・ライト・バッファ38
は、キャッシュ・システム8へのライト・データを保持
するレジスタである。ストア・バッファ39は、バス・
コントロール部5へのライト・データを保持するレジス
タである。
されたアドレス、ウェイト・アドレス・レジスタ33に
保持されたアドレス、リード・アドレス・レジスタ34
に保持されたアドレス、およびキャッシュ・ライト・バ
ッファ・アドレス35に保持されたアドレスの中から一
つを選択する。セレクタ41で選択されたアドレスは、
ウェイト・アドレス・レジスタ33、リード・アドレス
・レジスタ34、キャッシュ・ライト・バッファ・アド
レス35またはストア・バッファ・アドレス36に供給
されるとともに、タグRAM31およびキャッシュRA
M32、並びにタグ・アドレス比較器42に供給され
る。
だけ比較器を有し、各比較器はセレクタ41で選択され
たアドレスと、各ウェイのタグRAM31に保持されて
いるアドレスとの比較をおこなう。その比較の結果、ア
ドレス一致の場合には図示しないキャッシュ制御部に供
給されるキャッシュ・ヒット信号がアサートされる。ア
ドレスが不一致の場合にはキャッシュ・ヒット信号がネ
ゲートされる。
されたデータ、およびウェイト・データ・レジスタ37
に保持されたデータのうちのいずれか一方を選択する。
セレクタ43で選択されたデータは、ウェイト・データ
・レジスタ37、キャッシュ・ライト・バッファ38ま
たはストア・バッファ39に供給される。
ル部5から供給されたリードデータ、およびキャッシュ
・ライト・バッファ38に保持されたデータのうちのい
ずれか一方を選択する。このセレクタ44で選択された
データはキャッシュRAM32に供給される。
較器42の比較結果に基づいて、いずれかのウェイのキ
ャッシュRAM32からの出力データを選択する。第5
のセレクタ46は、第4のセレクタ45で選択されたデ
ータ、およびバス・コントロール部5から供給されたリ
ードデータのいずれか一方を選択する。この第5のセレ
クタ46で選択されたデータはCPU2に供給される。
おいてライト・アクセスにつづいてリード・アクセスが
起こり、かつライトとリードとの間にアドレス依存がな
い場合の動作について説明する。図2〜図5は、この場
合のアドレスおよびデータの流れを順に示す図である。
シリアル・アドレス・レジスタ81には、アクセス順序
を保障する必要のあるアドレスがあらかじめ格納されて
いる。
てライト要求をおこない、ライト・アドレスを出力す
る。このライト・アドレスは第1のセレクタ41を介し
てタグRAM31およびタグ・アドレス比較器42に供
給される。タグ・アドレス比較器42でタグ・アドレス
とライト・アドレスを比較した結果、キャッシュ・ミス
であれば、ライト・アドレスはストア・バッファ・アド
レス36に格納される。また、CPU2から供給された
ライト・データは、第2のセレクタ43を介してストア
・バッファ39に格納される。そして、バス・コントロ
ール部5にライト要求が出力される(図2参照)。
ム8に対してリード要求をおこない、リード・アドレス
を出力する。このリード・アドレスはシリアル・アドレ
ス比較器82に供給される。シリアル・アドレス比較器
82は、リード・アドレスとシリアル・アドレス・レジ
スタ81に格納されているアドレスとを比較する。比較
の結果、アドレスが一致していれば、リード・アドレス
はウェイト・アドレス・レジスタ33に格納される。そ
して、先行するライト要求がバス・コントロール部5に
受け付けられて動作を完了するまで、リード・アドレス
はウェイト・アドレス・レジスタ33に保持される(図
3参照)。また、キャッシュ・システム8は、これ以後
のCPU2からの要求を受け付けない。
のリード要求が実行される。タグ・アドレス比較器42
でのアドレス比較の結果、キャッシュ・ミスであれば、
リード・アドレスはリード・アドレス・レジスタ34に
格納される。そして、バス・コントロール部5にリード
要求とアドレスが出力される(図4参照)。バス・コン
トロール部5はリード要求を受け付けて、要求されたデ
ータをキャッシュ・システム8に返す。その返されたデ
ータはキャッシュ・システム8からCPU2に出力され
る(図5参照)。
ットの場合、リード・アクセスでキャッシュ・ヒットの
場合、あるいはライトとリードとの間にアドレス依存が
ある場合については、従来同様であるため、説明を省略
する。
アドレス・レジスタ81およびシリアル・アドレス比較
器82を有し、シリアル・アドレス・レジスタ81に、
アクセス順序を保障する必要のあるアドレスを格納し、
CPU2から供給されたアドレスと、シリアル・アドレ
ス・レジスタ81に格納されているアドレスとを比較し
て、それらが一致していれば、先行するアクセス要求が
バス・コントロール部5に受け付けられて動作を完了す
るまで、後続のアクセス要求は待機する状態となるの
で、アクセス順序を保障する必要のあるアクセス要求に
対して、アクセス順序を保障することができる。したが
って、ハードウェアでアクセスの順序を保障することが
できるので、プログラマはアクセス順序等の制限を考慮
せずに、効率よくプログラミングすることができる。
態の説明に限らず、種々変更可能であるのはいうまでも
ない。たとえば、シリアル・アドレス・レジスタ81を
複数有する構成としてもよい。そうすれば、複数のアド
レスに対してアクセス順序を保障することができる。ま
た、シリアル・アドレス・レジスタ81で順序を保障す
べきアドレス領域の大きさを設定することができる構成
としてもよい。また、シリアル・アドレス・レジスタ8
1の格納値をあらかじめ設定してなる固定値としてもよ
い。シリアル・アドレス・レジスタ81の格納値を固定
する場合には、キャッシュ・システム8の制御が容易と
なる。
アドレスと、アクセス順序を保障する必要のあるアドレ
スとを比較して、それらが一致していれば、先行するア
クセス要求を先に実行し、それが完了した後に後続のア
クセス要求を実行するため、アクセス順序を保障する必
要のあるアクセス要求に対して、アクセス順序を保障す
ることができる。したがって、ハードウェアでアクセス
の順序を保障することができるので、プログラマはアク
セス順序等の制限を考慮せずに、効率よくプログラミン
グすることができる。
ュ・システムの構成例を詳細に示すブロック図である。
・アクセスにつづいてリード・アクセスが起こるとき
(アドレス依存なし)のアドレスおよびデータの流れを
示す図である。
・アクセスにつづいてリード・アクセスが起こるとき
(アドレス依存なし)のアドレスおよびデータの流れを
示す図である。
・アクセスにつづいてリード・アクセスが起こるとき
(アドレス依存なし)のアドレスおよびデータの流れを
示す図である。
・アクセスにつづいてリード・アクセスが起こるとき
(アドレス依存なし)のアドレスおよびデータの流れを
示す図である。
ータの流れを模式的に示す概略図である。
データの流れを模式的に示す概略図である。
データの流れを模式的に示す概略図である。
のデータの流れを模式的に示す概略図である。
ステムの構成を詳細に示すブロック図である。
ード・アクセスがキャッシュ・ヒットしたときのアドレ
スおよびデータの流れを示す図である。
ード・アクセスがキャッシュ・ミスしたときのアドレス
およびデータの流れを示す図である。
イト・アクセスがキャッシュ・ヒットしたときのアドレ
スおよびデータの流れを示す図である。
イト・アクセスがキャッシュ・ミスしたときのアドレス
およびデータの流れを示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存あり)のアドレスおよびデータの流れ
を示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存あり)のアドレスおよびデータの流れ
を示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存あり)のアドレスおよびデータの流れ
を示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存あり)のアドレスおよびデータの流れ
を示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存なし)のアドレスおよびデータの流れ
を示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存なし)のアドレスおよびデータの流れ
を示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存なし)のアドレスおよびデータの流れ
を示す図である。
イト・アクセスにつづいてリード・アクセスが起こると
き(アドレス依存なし)のアドレスおよびデータの流れ
を示す図である。
るためのプログラム構成の一部を示す図である。
保障する必要のあるアドレス領域を保持するレジスタ) 82 シリアル・アドレス比較器(比較器)
Claims (8)
- 【請求項1】 アクセス順序を保障する必要のあるアド
レス領域を保持するレジスタと、 前記レジスタに保持されている、アクセス順序を保障す
る必要のあるアドレス領域と、CPUからのアクセス要
求のアドレス領域とを比較して、前記両アドレス領域の
アドレスが一致しているときに、先行するアクセス要求
を先に実行させた後に後続のアクセス要求を実行させる
ための信号を出力する比較器と、 を具備することを特徴とするマイクロプロセッサ。 - 【請求項2】 前記レジスタに格納される、アクセス順
序を保障する必要のあるアドレス領域は固定であること
を特徴とする請求項1に記載のマイクロプロセッサ。 - 【請求項3】 前記レジスタに格納される、アクセス順
序を保障する必要のあるアドレス領域の大きさは設定可
能であることを特徴とする請求項1に記載のマイクロプ
ロセッサ。 - 【請求項4】 前記レジスタに格納される、アクセス順
序を保障する必要のあるアドレス領域の大きさは設定可
能であることを特徴とする請求項2に記載のマイクロプ
ロセッサ。 - 【請求項5】 前記レジスタに格納される、アクセス順
序を保障する必要のあるアドレス領域は複数設定可能で
あることを特徴とする請求項1に記載のマイクロプロセ
ッサ。 - 【請求項6】 前記レジスタに格納される、アクセス順
序を保障する必要のあるアドレス領域を複数有すること
を特徴とする請求項2に記載のマイクロプロセッサ。 - 【請求項7】 前記レジスタに格納される、アクセス順
序を保障する必要のあるアドレス領域は複数設定可能で
あることを特徴とする請求項3に記載のマイクロプロセ
ッサ。 - 【請求項8】 前記レジスタに格納される、アクセス順
序を保障する必要のあるアドレス領域を複数有すること
を特徴とする請求項4に記載のマイクロプロセッサ。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001216223A JP2003029967A (ja) | 2001-07-17 | 2001-07-17 | マイクロプロセッサ |
US10/095,568 US6823406B2 (en) | 2001-07-17 | 2002-03-13 | Microprocessor executing a program to guarantee an access order |
TW091104977A TWI222567B (en) | 2001-07-17 | 2002-03-15 | Microprocessor |
EP02251945A EP1278121B1 (en) | 2001-07-17 | 2002-03-19 | Microprocessor maintaining memory consistency |
DE60216016T DE60216016T2 (de) | 2001-07-17 | 2002-03-19 | Mikroprozessor mit Aufrechterhaltung der Speicherübereinstimmung |
KR1020020017909A KR100764581B1 (ko) | 2001-07-17 | 2002-04-02 | 마이크로프로세서 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001216223A JP2003029967A (ja) | 2001-07-17 | 2001-07-17 | マイクロプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003029967A true JP2003029967A (ja) | 2003-01-31 |
Family
ID=19050728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001216223A Pending JP2003029967A (ja) | 2001-07-17 | 2001-07-17 | マイクロプロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US6823406B2 (ja) |
EP (1) | EP1278121B1 (ja) |
JP (1) | JP2003029967A (ja) |
KR (1) | KR100764581B1 (ja) |
DE (1) | DE60216016T2 (ja) |
TW (1) | TWI222567B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2339472A2 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Arithmetic processing unit, information processing device, and cache memory control method |
JP2012523055A (ja) * | 2009-04-07 | 2012-09-27 | イマジネイション テクノロジーズ リミテッド | データキャッシュとメインメモリ間の一貫性の保証 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080201531A1 (en) * | 2006-09-29 | 2008-08-21 | Kornegay Marcus L | Structure for administering an access conflict in a computer memory cache |
US20080082755A1 (en) * | 2006-09-29 | 2008-04-03 | Kornegay Marcus L | Administering An Access Conflict In A Computer Memory Cache |
US8392621B2 (en) * | 2010-06-22 | 2013-03-05 | International Business Machines Corporation | Managing dataflow in a temporary memory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231549A (ja) * | 1999-02-08 | 2000-08-22 | Toshiba Corp | マイクロプロセッサ |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4237417C2 (de) | 1992-03-25 | 1997-01-30 | Hewlett Packard Co | Datenverarbeitungssystem |
US5467473A (en) * | 1993-01-08 | 1995-11-14 | International Business Machines Corporation | Out of order instruction load and store comparison |
DE69423206T2 (de) | 1994-04-28 | 2000-09-07 | Hewlett Packard Co | Rechnervorrichtung mit Mitteln zum Erzwingen der Ausführung von Befehlen in regelmässiger Folge |
US5666494A (en) * | 1995-03-31 | 1997-09-09 | Samsung Electronics Co., Ltd. | Queue management mechanism which allows entries to be processed in any order |
US5737636A (en) * | 1996-01-18 | 1998-04-07 | International Business Machines Corporation | Method and system for detecting bypass errors in a load/store unit of a superscalar processor |
US6006325A (en) | 1996-12-19 | 1999-12-21 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for instruction and data serialization in a computer processor |
WO1999008184A1 (en) | 1997-08-06 | 1999-02-18 | Advanced Micro Devices, Inc. | An apparatus and method for accessing special registers without serialization |
US6148394A (en) | 1998-02-10 | 2000-11-14 | International Business Machines Corporation | Apparatus and method for tracking out of order load instructions to avoid data coherency violations in a processor |
JPH11249959A (ja) | 1998-03-02 | 1999-09-17 | Matsushita Electric Ind Co Ltd | キャッシュメモリ制御方法および装置 |
US6266768B1 (en) * | 1998-12-16 | 2001-07-24 | International Business Machines Corporation | System and method for permitting out-of-order execution of load instructions |
JP3525070B2 (ja) * | 1999-01-27 | 2004-05-10 | 松下電器産業株式会社 | アクセス制御装置及びアクセス方法 |
US6266767B1 (en) * | 1999-04-22 | 2001-07-24 | International Business Machines Corporation | Apparatus and method for facilitating out-of-order execution of load instructions |
JP4588158B2 (ja) * | 2000-03-28 | 2010-11-24 | 富士通セミコンダクター株式会社 | 半導体集積回路 |
-
2001
- 2001-07-17 JP JP2001216223A patent/JP2003029967A/ja active Pending
-
2002
- 2002-03-13 US US10/095,568 patent/US6823406B2/en not_active Expired - Lifetime
- 2002-03-15 TW TW091104977A patent/TWI222567B/zh not_active IP Right Cessation
- 2002-03-19 EP EP02251945A patent/EP1278121B1/en not_active Expired - Fee Related
- 2002-03-19 DE DE60216016T patent/DE60216016T2/de not_active Expired - Lifetime
- 2002-04-02 KR KR1020020017909A patent/KR100764581B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000231549A (ja) * | 1999-02-08 | 2000-08-22 | Toshiba Corp | マイクロプロセッサ |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012523055A (ja) * | 2009-04-07 | 2012-09-27 | イマジネイション テクノロジーズ リミテッド | データキャッシュとメインメモリ間の一貫性の保証 |
EP2339472A2 (en) | 2009-12-25 | 2011-06-29 | Fujitsu Limited | Arithmetic processing unit, information processing device, and cache memory control method |
US8856478B2 (en) | 2009-12-25 | 2014-10-07 | Fujitsu Limited | Arithmetic processing unit, information processing device, and cache memory control method |
Also Published As
Publication number | Publication date |
---|---|
TWI222567B (en) | 2004-10-21 |
DE60216016T2 (de) | 2007-04-05 |
EP1278121B1 (en) | 2006-11-15 |
EP1278121A2 (en) | 2003-01-22 |
KR100764581B1 (ko) | 2007-10-09 |
EP1278121A3 (en) | 2004-06-23 |
DE60216016D1 (de) | 2006-12-28 |
KR20030006937A (ko) | 2003-01-23 |
US20030018854A1 (en) | 2003-01-23 |
US6823406B2 (en) | 2004-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5293500A (en) | Parallel processing method and apparatus | |
US7991983B2 (en) | Register set used in multithreaded parallel processor architecture | |
EP1236088B1 (en) | Register set used in multithreaded parallel processor architecture | |
US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
US20040205747A1 (en) | Breakpoint for parallel hardware threads in multithreaded processor | |
US20020083373A1 (en) | Journaling for parallel hardware threads in multithreaded processor | |
JP2000029780A (ja) | メモリ・ペ―ジ管理 | |
JPH0689174A (ja) | コンピュータメモリシステム | |
JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
JP3876034B2 (ja) | 主メモリへの帯域幅を保持するシステム | |
US5696939A (en) | Apparatus and method using a semaphore buffer for semaphore instructions | |
EP1030243B1 (en) | Optimized hardware cleaning function for virtual index virtual tag data cache | |
EP0679990A1 (en) | A computer apparatus having a means to force sequential instruction execution | |
US20030196072A1 (en) | Digital signal processor architecture for high computation speed | |
JP4144990B2 (ja) | データ処理システム及び初期化方法 | |
JP2003029967A (ja) | マイクロプロセッサ | |
US6389527B1 (en) | Microprocessor allowing simultaneous instruction execution and DMA transfer | |
US6097403A (en) | Memory including logic for operating upon graphics primitives | |
EP0488566A2 (en) | Method and apparatus for fast page mode selection | |
JPH0298776A (ja) | 命令実行のシリアライズ制御方式 | |
JP4068828B2 (ja) | 統合型分離型切替えキャッシュメモリ及び該キャッシュメモリを備えたプロセッサシステム | |
JP3169878B2 (ja) | メモリ制御回路 | |
JPH04340145A (ja) | キャッシュメモリ装置 | |
JPH06202982A (ja) | バス制御方法及びその装置並びに情報処理装置 | |
EP0553742A1 (en) | A method of operating a first and second cache tag memory array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080514 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |