JP3479246B2 - 命令のペンディングによる追い越し回路 - Google Patents

命令のペンディングによる追い越し回路

Info

Publication number
JP3479246B2
JP3479246B2 JP33268799A JP33268799A JP3479246B2 JP 3479246 B2 JP3479246 B2 JP 3479246B2 JP 33268799 A JP33268799 A JP 33268799A JP 33268799 A JP33268799 A JP 33268799A JP 3479246 B2 JP3479246 B2 JP 3479246B2
Authority
JP
Japan
Prior art keywords
instruction
buffer
pending
memory
address
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.)
Expired - Fee Related
Application number
JP33268799A
Other languages
English (en)
Other versions
JP2001147808A (ja
Inventor
浩二 鐙
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP33268799A priority Critical patent/JP3479246B2/ja
Publication of JP2001147808A publication Critical patent/JP2001147808A/ja
Application granted granted Critical
Publication of JP3479246B2 publication Critical patent/JP3479246B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、命令がペンディン
グされた場合において後続の命令が先行する命令に対し
て追い越しを実行するための命令のペンディングによる
追い越し回路に関する。
【0002】
【従来の技術】従来、メモリへの命令の順序保証に関し
ては、先行命令の追い越し制御を実現するための回路構
成の複雑さから追い越し制御を行わなかったり、追い越
し制御を同一バッファ内で実行するために、先行命令の
アドレスと比較して追い越しが可能であるか否かを判断
し、追い越し可能であれば後続命令をバッファの途中の
部分から選択し、先行命令を追い越してメモリへ発行し
たりといった形態により実施されていた。
【0003】上記のような制御を実行するための構成
を、図8を用いて説明する。ここで、図8は従来技術に
より同一バッファ内での追い越し制御を行うシステムの
ブロック図である。
【0004】図8を参照すると、従来技術においては、
プロセッサ31〜35から発行された命令をメモリ37
に出力する場合において、一旦、リクエストバッファ3
8に格納し、実行されている命令だけに対するアドレス
をメモリ実行中バッファ40に格納していた。従って、
追い越し制御を実行するか否かの判定は、リクエストバ
ッファ38に格納された命令に対して追い越し可否判定
回路39が実施していた。
【0005】
【発明が解決しようとする課題】しかしながら、リクエ
ストバッファ38の命令に対し、追い越し可否判定回路
39が先行命令を追い越すことが可能であると判断した
場合に、リクエストバッファ38内で追い越しを実行し
なければならないため、FIFOのような簡単なバッフ
ァ構成では実現は不可であった。
【0006】従って、プロセッサ32〜35からの命令
受信や、追い越し可能による追い越し制御や、ペンディ
ングされている命令のペンディング解除などの制御は、
すべて一つのバッファで実行しなければならないため
に、制御がさらに複雑になっていた。また、あまりにも
複雑過ぎるために同時に制御が不可能な場合等は、優先
度を設けて、他の動作を抑止する方法が実施されている
が、このような制御を実行した場合、性能が低下すると
いった問題が生じることがあった。
【0007】更に、優先度を設ける方法では、リクエス
トバッファ38に設けられた全ワードにおいて追い越し
可否判定用の付加情報やペンディング情報を持たせなけ
ればならないため、アドレス一致しない命令に対しても
余計なHW量を設ける必要が生じていた。そのため、従
来技術でも追い越し制御を実施することは可能ではあっ
たが、バッファ制御が複雑になったり、HW量の増加と
なったりと、多くの問題を有していた。
【0008】従って、本発明は、上記問題に鑑みなされ
たもので、HW量を少なくすることで迅速な処理を可能
とする追い越し制御を、簡単な回路構成により実現する
命令のペンディングによる追い越し回路を提供すること
を目的とする。
【0009】
【課題を解決するための手段】係る目的を達成するため
に、本発明による請求項1記載の発明は、1つ以上のワ
ードにより構成され、プロセッサからの命令をシステム
バスを介して受信し、ワードに格納するリクエストバッ
ファと、1つ以上のワードにより構成され、リクエスト
バッファから発行しようとした命令が先行命令とアドレ
スが一致することにより発行できない場合にペンディン
グしておくペンディングバッファと、1つ以上のワード
により構成され、メモリへ発行した命令がメモリ内で実
行中であることを示すメモリ実行中バッファとを有する
ことを特徴とする。
【0010】また、請求項2記載の発明によれば、請求
項1記載の命令のペンディングによる追い越し回路にお
いて、ペンディングバッファは、1つのワード内に、各
ワードに関するバリッドと、プロセッサより入力された
命令の情報であるコマンドと、プロセッサより入力され
た命令が指定するメモリ上のアドレスと、リクエストバ
ッファ若しくはペンディングバッファからメモリへ命令
を発行しようとした命令のアドレスがメモリ実行中バッ
ファに格納されたアドレスと一致することにより点灯す
るメモリ実行中ペンディングフラグと、メモリ実行中バ
ッファペンディングフラグが点灯している発行しようと
した命令のメモリ実行中バッファにおいて登録されたワ
ード番号を保持するメモリ実行中バッファペンディング
エントリとを有し、メモリは、実行していた命令が完了
すると、メモリ実行中バッファに対して実行していた命
令の完了を報告する完了報告手段を有し、メモリ実行中
バッファは、完了報告手段より実行していた命令の完了
が報告された場合、実行していた命令の登録を消去する
完了命令消去手段と、完了命令消去手段により実行して
いた命令の登録を消去したことを報告する完了命令消去
報告手段とを有し、ペンディングバッファは、完了命令
消去報告手段により実行していた命令を消去したことが
報告されると、メモリ実行中ペンディングエントリを参
照し、実行していた命令とアドレスが一致する命令に関
するメモリ実行中バッファペンディングフラグをリセッ
トするメモリ実行中バッファペンディングフラグリセッ
ト手段と、メモリ実行中バッファペンディングフラグリ
セット手段によりメモリ実行中バッファペンディングフ
ラグがリセットされたアドレスが一致する命令をメモリ
に発行するリセット命令発行手段とを有することを特徴
とする。
【0011】また、請求項3記載の発明によれば、請求
項1または2記載の命令のペンディングによる追い越し
回路において、ペンディングバッファは、新たに入力さ
れた命令のアドレスが、先行して格納している命令のア
ドレスと一致した場合に点灯する少なくとも1つ以上の
先行ペンディングバッファペンディングフラグをさらに
有し、リセット命令発行手段は、メモリ実行中バッファ
より実行していた命令の消去がペンディングバッファに
通知されると、先行ペンディングバッファペンディング
フラグが全てリセットされているアドレスが一致する命
令を発行することを特徴とする。
【0012】また、請求項4記載の発明によれば、請求
項3記載の命令のペンディングによる追い越し回路にお
いて、先行ペンディングバッファペンディングフラグ
は、ペンディングバッファのワード数と同じビット数を
有し、先行ペンディングバッファペンディングフラグ
は、全てのアドレスが一致する命令の登録に対してビッ
トを点灯させ、ペンディングバッファは、格納している
命令を、メモリ実行中ペンディングフラグと先行ペンデ
ィングバッファペンディングフラグに格納された全ビッ
トが0にリセットされるまで保持することを特徴とす
る。
【0013】また、請求項5記載の発明によれば、請求
項1から4のいずれかに記載の命令のペンディングによ
る追い越し回路において、リクエストバッファは、FI
FOであることを特徴とする。
【0014】また、請求項6記載の発明によれば、請求
項1から5のいずれかに記載の命令のペンディングによ
る追い越し回路において、リクエストバッファは、1つ
のワード内に、各ワードに関するバリッドと、プロセッ
サより入力された命令の情報であるコマンドと、プロセ
ッサより入力された命令が指定するメモリ上のアドレス
とを有することを特徴とする。
【0015】また、請求項7記載の発明によれば、請求
項1から6のいずれかに記載の命令のペンディングによ
る追い越し回路において、メモリ実行中バッファは、1
つのワード内に、各ワードに関するバリッドと、プロセ
ッサより入力された命令が指定するメモリ上のアドレス
とを有することを特徴とする。
【0016】
【発明の実施の形態】以下、図面を用いて、本発明によ
る命令のペンディングによる追い越し回路の実施の形態
を詳細に説明する。
【0017】(本発明の特徴)先ず、本発明の特徴を先
に述べておくと、以下のようなものが挙げられる。即
ち、本発明は、プロセッサから発行された命令をチップ
セットからメモリへ発行するまで保持しておくリクエス
トバッファの部分に、メモリ上のアドレスが一致した命
令に対しペンディングを実行するためのバッファを設け
る。これにより、各プロセッサより同一アドレスが指定
された場合であっても、同一アドレスに対する命令の順
序保証を行いながら、後続のアドレスの異なる命令が先
行命令を追い越して実行されることを可能にする。これ
は、メモリへのアクセス性能を改善するものである。
【0018】更に、そのペンディング用のバッファに、
メモリ内で実行中である命令とアドレスが一致すること
により実行されるペンディング以外に、先行してペンデ
ィングされている命令とアドレスが一致した場合にも後
続の命令をペンディングして格納することを判断させる
ためのペンディングフラグを用意することで、同一アド
レスに対して複数の命令が発行された場合におけるペン
ディングや、複数のアドレスに対して発行される命令の
ペンディングを簡単な論理構成で実現することを可能と
する特徴を有している。
【0019】(一実施形態)以下、本発明の一実施形態
について図面を用いて詳細に説明する。図1を参照する
と、システム1において4つのプロセッサ2〜5が、シ
ステムバス11を介してチップセット6と接続されてい
る。更に、プロセッサ2〜5は、システムバス11及び
チップセット6を介してメモリ7と接続される構成とな
っている。
【0020】チップセット6内においては、プロセッサ
2〜5からの命令をシステムバス11を介して受信して
格納するリクエストバッファ8と、リクエストバッファ
から発行しようとした命令が先行命令とアドレス一致で
発行できない場合にペンディングしておくペンディング
バッファ9と、メモリ7へ発行した命令がメモリ7内で
実行中であることを示すメモリ実行中バッファ10とか
ら構成される。
【0021】ここで、本発明は、プロセッサからメモリ
への命令発行に関するため、メモリからプロセッサへの
リプライのパスは省略する。
【0022】また、図2は、ペンディングバッファ9の
1ワード内に格納される情報のビット構成を示してい
る。図2を参照すると、ペンディングバッファ9は、各
ワードに関するバリッド21と命令情報であるコマンド
22と指定されたメモリ上のアドレス23との他に、ペ
ンディング情報として、メモリ実行中バッファペンディ
ングフラグ24とメモリ実行中バッファペンディングエ
ントリ25と先行ペンディングバッファペンディングフ
ラグ26とにより構成される。
【0023】ここで、メモリ実行中バッファペンディン
グフラグ24(以降、MEBペンディングフラグ24と
いう)は、リクエストバッファ8もしくはペンディング
バッファ9からメモリ7へ命令を発行しようとした際
に、発行した命令のアドレスがメモリ実行中バッファ1
0に格納されたアドレスと一致した場合に点灯する。
【0024】また、メモリ実行中バッファペンディング
エントリ25(以降、MEBペンディングエントリ25
という)は、メモリ実行中バッファ10とアドレス一致
した時、即ち、メモリ実行中バッファペンディングフラ
グ24が点灯している場合に、メモリ実行中バッファ1
0内に格納されている一致した命令のエントリを保持す
る。
【0025】また、先行ペンディングバッファペンディ
ングフラグ26(以降、FPBペンディングフラグ26
という)は、ペンディングバッファ9内にペンディング
で格納されている先行命令とアドレス一致した場合に点
灯する。
【0026】更にここで、ペンディングバッファ9内に
格納されている先行命令に対し、同時に複数エントリと
のアドレス一致を検出するケースがある。このため、F
PBペンディングフラグ26は、ペンディングバッファ
9のワード数と同じビット数を用意することで、アドレ
ス一致した全てのエントリに対してビットを点灯させる
ように構成する。
【0027】従って、ペンディングバッファ9に格納さ
れた命令は、MEBペンディングフラグ24とFPBペ
ンディングフラグ26とに格納された全ビットが0にリ
セットされるまでペンディングバッファ9内で保持さ
れ、メモリ7への発行が抑止される。
【0028】また、他のバッファの構成として、図3及
び図4を参照すると、リクエストバッファ8はバリッド
21と命令情報のコマンド22及びアドレス23により
構成され、メモリ実行中バッファ10はバリッド21及
びアドレスにより構成される。
【0029】ここで、リクエストバッファ8はFIFO
である。従って、若番から格納され、格納された順に出
力することによりバッファからリセットされる。これに
対し、他の2つのペンディングバッファ9及びメモリ実
行中バッファ10における命令のセット方法は、空いて
いる所であればどこでも格納して良いため、本実施形態
では若番から順に格納することとする。
【0030】更に、ペンディングバッファ9及びメモリ
実行中バッファ10におけるリセット条件は、メモリ実
行中バッファ10ではメモリ7からの実行完了報告であ
り、ペンディングバッファ9ではペンディングが解除さ
れることである。これにより、メモリ7へ命令が発行さ
れ、各バッファ内から当する命令がリセットされる。
【0031】(一実施形態の動作)図1に示した命令の
ペンディングによる追い越し回路の動作について、図1
から図4を参照し、図5から図7に示す具体例を用いて
説明する。図5から図7に示した具体例では、ペンディ
ングバッファ9が8つのワード構成で成り立っている。
よって、ペンディングバッファ9内のFPBペンディン
グバッファ26は8ビットの構成となっている。
【0032】システム1において、各プロセッサ2〜5
から以降に示す6つの命令がメモリ7に対し連続して発
行されたと仮定する。
【0033】この命令は、アドレスAへのライト(A
0)、アドレスAへのリード(A1)、アドレスBへの
ライト(B0)、アドレスAへのライト(A2)、アド
レスCへのリード(C0)、アドレスAへのリード(A
3)の順に、任意のプロセッサから発行され、チップセ
ット6内のリクエストバッファ8に格納される。この状
態が図5のST1である。
【0034】ここで、リクエストバッファ8はFIFO
であるため、格納された命令の順に命令を出力する。こ
のため、まずメモリ7に対して命令A0が発行され、メ
モリ実行中バッファ10に命令A0が格納される。これ
により、リクエストバッファ8におけるワード0に格納
されていたアドレスAへのリード(A1)命令はリセッ
トされ、メモリ実行中バッファ10におけるワード0に
新たに格納される。これは、図5におけるST2の状態
である。
【0035】次にリクエストバッファ8からワード1に
格納されている命令A1が発行されるが、メモリ実行中
バッファ10内に命令A0があることからメモリ7で命
令A0を処理中ということで、命令A1はメモリ7へ発
行することが出来ない。そのため、命令A1をペンディ
ングバッファ9へ格納する。
【0036】これは、メモリ実行中バッファ10におけ
るワード0に格納されている命令A0とリクエストバッ
ファ8から発行しようとする命令とのアドレスが一致し
たことによるペンディングであるため、この場合におい
ては、ペンディングバッファ9のMEBペンディングフ
ラグ24をセットして、MEBペンディングエントリ2
5にワード0としてセットする。この状態が図5のST
3である。
【0037】次に、命令A1をペンディングした状態
で、リクエストバッファ8から命令B0が発行される。
この命令B0は、メモリ実行中バッファ10内に格納さ
れた命令A0やペンディングバッファ9内に格納された
命令A1とはアドレスが異なるため、命令A1を追い越
してメモリ7へ発行され、メモリ実行中バッファ10の
ワード1に格納される。これにより、各バッファに格納
されている命令は図5に示したST4の状態となる。
【0038】続けて、命令A2がリクエストバッファ8
から発行されるが、命令A2はメモリ実行中バッファ1
0内のワード0に格納されている命令A0とペンディン
グバッファ9内のワード0に格納されている命令A1と
の両方とアドレスが一致する。このため、命令A2をメ
モリ7へ発行することができないので、ペンディングバ
ッファ9のワード1に格納するよう制御される。この制
御においては、命令A2におけるMEBペンディングフ
ラグ24をセットし、さらにMEBペンディングエント
リ25をワード0とセットする。
【0039】この時、ペンディングバッファ9のワード
0に格納された命令A1とアドレスが一致しているた
め、FPBペンディングフラグ26はビット0を1とし
てセットされる。このビットは、ペンディングバッファ
9内のワード0の命令A1がメモリ7へ発行されるとリ
セットされるので、先行して格納されている同一アドレ
スの命令A1がメモリ7へ発行されるまで、命令A2は
ペンディングバッファ9からメモリ7へは発行されな
い。この状態を示す図が図5のST5である。
【0040】次に、リクエストバッファ8から命令C0
が発行されるが、命令B0と同様にペンディングバッフ
ァ9及びメモリ実行中バッファ10のどちらのバッファ
に格納されている命令ともアドレスが一致しないので、
ペンディングバッファ9に格納されている先行の命令A
1及び命令A2を追い越して、メモリ7へ発行される。
そしてメモリ実行中バッファ10のワード2へ格納さ
れ、図5のST6の状態となる。
【0041】最後に6番目の命令A3をリクエストバッ
ファ8から発行しようとするが、命令A3はメモリ実行
中バッファ10内のワード0に格納されている命令A0
と、ペンディングバッファ9内のワード0に格納されて
いる命令A1及びワード1に格納されている命令A2と
の3つの命令とアドレス一致する。このため、命令A3
もメモリ7へは発行できないので、ペンディングバッフ
ァ9のワード2に格納される。そして、命令A2と同様
に、MEBペンディングフラグ24をセットして、ME
Bペンディングエントリ25にワード0がセットされ
る。
【0042】また、FPBペンディングフラグ26は、
ペンディングバッファ9のワード0とワード1とに格納
された2つの命令とアドレスが一致しているため、ビッ
ト0とビット1との2ビットが1にセットされる。これ
により、各バッファの状態は図6のST7のようにな
る。
【0043】上記のような制御を実行後、各プロセッサ
2〜5より新たに命令が入力されない限り、リクエスト
バッファ8が空となるため後続の命令は発行されること
はない。
【0044】上記に示したリクエストバッファ8からの
命令発行によるペンディングバッファ9への格納方法に
続いて、ペンディングの解除によるペンディングバッフ
ァ9からの発行方法を図面を用いて詳細に説明する。
【0045】メモリ7は、実行中である命令が完了する
と、メモリ実行中バッファ10に対して実行中であった
命令の完了を報告する。従って、上記に示したように、
リクエストバッファ8から発行された命令がペンディン
グバッファ9に格納されていた状態である場合、次にメ
モリ7からチップセット6のメモリ実行中バッファ10
に対してメモリ7で実行中であった命令A0の完了が報
告される。
【0046】メモリ実行中バッファ10に上記完了報告
が入力されると、メモリ実行中バッファ10内のワード
0に格納されていた命令A0は消去される。同時にメモ
リ実行中バッファ10からペンディングバッファ9に対
して、ワード0の命令をリセットしたことが報告され
る。
【0047】この報告を受け取ったペンディングバッフ
ァ9は、格納されている命令の内、MEBペンディング
エントリ25がワード0となっている命令のMEBペン
ディングフラグ24をリセットする。図6のST7に示
した状態では、ワード0の命令A1とワード1の命令A
2とワード2の命令A3との命令すべてが、MEBペン
ディングエントリ25にワード0でペンディングされて
いるので、3つの命令すべてのMEBペンディングフラ
グ24をリセットするように制御される。
【0048】これにより、図6のST8の状態となる。
図6のST8の状態で、ペンディングバッファ9内のワ
ード0に格納されている命令A1においては、MEBペ
ンディングフラグ24とFPBペンディングフラグ26
が全て0となったため、メモリ7へ発行されて、ペンデ
ィングバッファ9から消去され、替わりにメモリ実行中
バッファ10のワード3に格納される。
【0049】また、ペンディングバッファ9のワード0
に格納されていた命令が消去されたことにより、ペンデ
ィングバッファ9に格納されている他のすべての命令の
FPBペンディングフラグのビット0がリセットされ
る。従って、本具体例では、現状は、ワード1に格納さ
れている命令A2とワード2に格納されている命令A3
とのそれぞれのFPBペンディングフラグ26のビット
0が1とセットされているので、これがリセットされ
る。この状態を示した図が図6のST9である。
【0050】次に、ペンディングバッファ9内のワード
1に格納されている命令A2において、MEBペンディ
ングフラグ24とFPBペンディングフラグ26とが全
て0となったため、メモリ7へ発行可能となる。しか
し、メモリ実行中バッファ10に命令A1が格納され、
且つメモリ7内では命令A1が実行中であるため、メモ
リ7へ命令A2を発行することが出来ない。
【0051】従って、再びペンディングバッファ9内で
命令A2のMEBペンディングフラグ24を1とし、命
令A2のMEBペンディングエントリに、メモリ実行中
バッファ10内に格納されているアドレスが一致した命
令A1が格納されているワード3の値をセットし、この
命令A2を発行抑止状態とする。この状態を示した図が
図6におけるST10である。
【0052】その後、メモリ7から命令B0、命令C0
の完了報告が来て、メモリ実行中バッファ10から消去
されるが、ペンディングバッファ9のMEBペンディン
グエントリ25に格納されているアドレス一致の命令が
無いため、ペンディングしている命令に対する動作を行
わない。
【0053】続けて、メモリ7から命令A1の完了が報
告されると、メモリ実行中バッファ10のワード3から
命令A1が消されて、ペンディングバッファ9にワード
3のリセットが報告される。報告を受けたペンディング
バッファ9は、ワード1に格納されているる命令A2の
MEBペンディングエントリ25がワード3とセットさ
れているので、このワード1のMEBペンディングフラ
グ24をリセットして、図6のST11の状態に移行す
る。
【0054】ペンディングバッファ9のワード1の命令
A2は、ペンディング情報であるMEBペンディングフ
ラグ24とFPBペンディングフラグ26とが全て0に
なり、且つ、メモリ実行中バッファ10とのアドレス一
致も無いことから、メモリ7へ発行され、更にメモリ実
行中バッファ10のワード4に格納される。
【0055】同時にペンディングバッファ9内のワード
1の命令A2がメモリ7に発行されたことにより、ワー
ド2に格納されている命令A3のFPBペンディングフ
ラグのビット1がリセットされて0になり、メモリ7に
対して発行が可能となる。この状態を示した図が図6の
ST12である。
【0056】しかし、メモリ実行中バッファ10内のワ
ード4に命令A2があるため、アドレス一致によりペン
ディングバッファ9内の命令A3のMEBペンディング
フラグ24が1とされ、MEBペンディングエントリ2
5にワード4がセットされる。これにより、命令A3は
再び発行待ち状態となり、メモリ実行中バッファ10内
の命令A2が消えるのを待機する。この状態を示す図面
が図7のST13である。
【0057】その後、メモリ7から命令A2の完了報告
が来て、メモリ実行中バッファ10から命令A2が消
え、同時にペンディングバッファ9内の命令A3のME
Bペンディングフラグ24がリセットされると、命令A
3をメモリ7へ発行すること可能となる。この状態を示
す図が図3のST14である。
【0058】これにより、命令A3はメモリ7へ発行さ
れ、メモリ実行中バッファ10に格納され、図3のST
15に示した状態となる。その後、メモリ7内で実行完
了すると、メモリ実行中バッファ10から命令A3がリ
セットされ、すべての命令が実行完了となる。
【0059】以上、説明した具体例を用いて一実施形態
による動作の概要を説明する。図1に示した命令のペン
ディングによる追い越し回路において、システム1内の
プロセッサ2〜5のうちの任意のプロセッサから発行さ
れた命令が、チップセット6内のリクエストバッファ8
に格納された状態であるとする。
【0060】この状態において、格納された命令をメモ
リ7へ発行する時、先行している命令でメモリ実行中バ
ッファ10に格納されている命令か、若しくは、ペンデ
ィングバッファ9に格納されている命令かのどちらかと
アドレスが一致する場合に、命令の順序を保証するため
にメモリ7へ命令を発行することができないといった場
合が存在する。
【0061】このとき、リクエストバッファ8から発行
しようとした命令をペンディングバッファ9に格納し、
その後、先行のアドレス一致した命令が、メモリ実行中
バッファ10とペンディングバッファ9とから消去され
るまで、ペンディングバッファ9内で発行を待ち、先行
の命令が消去された後、メモリ7へペンディングバッフ
ァ9内で発行を抑止していた命令を発行するように構成
する。
【0062】従って、このようなペンディングバッファ
9を設けることで、リクエストバッファ8はFIFOと
いう簡単な構成としたまま、後続の命令でメモリ実行中
バッファ10やペンディングバッファ9とアドレスが一
致しない命令がリクエストバッファ8の先頭に来た場合
においても、先行のペンディングされた命令を追い越し
て、その後続の命令をメモリ7へ発行することが出来
る。
【0063】これにより、先行の命令が発行不可の状態
でも、後続の命令がその命令を追い越して実行すること
で命令の待ち時間が短縮できることから性能改善という
効果が得られ、また、その効果をリクエストバッファ8
がFIFOというシンプルな構成のまま得ることが可能
となる。
【0064】
【発明の効果】以上説明したように、一実施形態により
得られる効果は、以下のようなものが挙げられる。
【0065】先ず第1の効果としては、メモリへの命令
のアクセス性能の改善である。その理由は、先行の命令
がメモリ実行中の命令とアドレスが一致することで発行
抑止となっている時に、後続の異なるアドレスの命令が
先行の発行抑止状態の命令の完了を待たずに、追い越し
てメモリへの発行が出来る。このため、後続命令の待ち
時間を短縮することができ、またメモリ内で命令と命令
との間に間隔が空くことを抑制することができるためで
ある。
【0066】図9に、一実施形態において説明した具体
例において、追い越しが不可能な場合と追い越しが可能
な場合とで、それぞれのアドレス一致によるペンディン
グに関係無い命令(B0,C0)がチップセット6から
メモリ7まで発行されるための実行時間を示す。この図
9によると明らかなように、アドレス一致に関係ない命
令はペンディングされた命令に関係なくメモリへ発行さ
れるため、それだけメモリ7内で早く実行を完了するこ
とが可能となる。
【0067】また、第2の効果としては、命令の追い越
し制御の論理の簡素化である。その理由は、同一バッフ
ァ内で先行の命令を後続の命令が追い越すこと必要がな
くなるため、リクエストバッファはFIFOという簡単
な構成で実現することが可能となり、更に、ペンディン
グバッファを別途用意することで、複数のアドレスが一
致した場合のペンディングの制御を容易に構成すること
ができる。また、ペンディングバッファがリクエストバ
ッファと別途構成されるため、ペンディングバッファの
ワード数を任意に決定することができる。
【図面の簡単な説明】
【図1】本発明により追い越し制御を行うシステムの構
成を示すブロック図である。
【図2】図1におけるペンディングバッファ9が格納す
る1ワード内のビット構成を示す構成図である。
【図3】図1におけるリクエストバッファ8が格納する
1ワード内のビット構成を示す構成図である。
【図4】図1におけるメモリ実行中バッファ10が格納
する1ワード内のビット構成を示す構成図である。
【図5】本発明の一実施形態におけるリクエストバッフ
ァ9、ペンディングバッファ9及びメモリ実行中バッフ
ァ10が格納する命令の状態を示す図である。
【図6】本発明の一実施形態におけるリクエストバッフ
ァ9、ペンディングバッファ9及びメモリ実行中バッフ
ァ10が格納する命令の状態を示す図である。
【図7】本発明の一実施形態におけるリクエストバッフ
ァ9、ペンディングバッファ9及びメモリ実行中バッフ
ァ10が格納する命令の状態を示す図である。
【図8】従来技術により追い越し制御を行うシステムの
構成を示すブロック図である。
【図9】本発明と従来技術とで命令が実行されるまでの
時間を示すタイミングチャートである。
【符号の説明】
1 システム 2〜5 プロセッサ 6 チップセット 7 メモリ 8 リクエストバッファ 9 ペンディングバッファ 10 メモリ実行中バッファ 11 システムバス 21 バリッド 22 コマンド 23 アドレス 24 メモリ実行中ペンディングフラグ 25 メモリ実行中ペンディングエントリ 26 先行ペンディングバッファペンディングフラグ

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 1つ以上のワードにより構成され、プロ
    セッサからの命令をシステムバスを介して受信し、前記
    ワードに格納するリクエストバッファと、 1つ以上のワードにより構成され、前記リクエストバッ
    ファから発行しようとした命令が先行命令とアドレスが
    一致することにより発行できない場合にペンディングし
    ておくペンディングバッファと、 1つ以上のワードにより構成され、メモリへ発行した命
    令が該メモリ内で実行中であることを示すメモリ実行中
    バッファとを有することを特徴とする命令のペンディン
    グによる追い越し回路。
  2. 【請求項2】 前記ペンディングバッファは、1つのワ
    ード内に、 各ワードに関するバリッドと、 前記プロセッサより入力された命令の情報であるコマン
    ドと、 前記プロセッサより入力された命令が指定する前記メモ
    リ上のアドレスと、 前記リクエストバッファ若しくは前記ペンディングバッ
    ファから前記メモリへ命令を発行しようとした命令のア
    ドレスが前記メモリ実行中バッファに格納されたアドレ
    スと一致することにより点灯するメモリ実行中ペンディ
    ングフラグと、 該メモリ実行中バッファペンディングフラグが点灯して
    いる前記発行しようとした命令の前記メモリ実行中バッ
    ファにおいて登録されたワード番号を保持するメモリ実
    行中バッファペンディングエントリとを有し、 前記メモリは、 実行していた命令が完了すると、前記メモリ実行中バッ
    ファに対して前記実行していた命令の完了を報告する完
    了報告手段を有し、 前記メモリ実行中バッファは、 前記完了報告手段より前記実行していた命令の完了が報
    告された場合、前記実行していた命令の登録を消去する
    完了命令消去手段と、 該完了命令消去手段により前記実行していた命令の登録
    を消去したことを報告する完了命令消去報告手段とを有
    し、 前記ペンディングバッファは、 前記完了命令消去報告手段により前記実行していた命令
    を消去したことが報告されると、前記メモリ実行中ペン
    ディングエントリを参照し、前記実行していた命令とア
    ドレスが一致する命令に関する前記メモリ実行中バッフ
    ァペンディングフラグをリセットするメモリ実行中バッ
    ファペンディングフラグリセット手段と、 該メモリ実行中バッファペンディングフラグリセット手
    段により前記メモリ実行中バッファペンディングフラグ
    がリセットされた前記アドレスが一致する命令を前記メ
    モリに発行するリセット命令発行手段とを有することを
    特徴とする請求項1記載の命令のペンディングによる追
    い越し回路。
  3. 【請求項3】 前記ペンディングバッファは、 新たに入力された命令のアドレスが、先行して格納して
    いる命令のアドレスと一致した場合に点灯する少なくと
    も1つ以上の先行ペンディングバッファペンディングフ
    ラグをさらに有し、 前記リセット命令発行手段は、 前記メモリ実行中バッファより前記実行していた命令の
    消去が前記ペンディングバッファに通知されると、前記
    先行ペンディングバッファペンディングフラグが全てリ
    セットされている前記アドレスが一致する命令を発行す
    ることを特徴とする請求項1または2記載の命令のペン
    ディングによる追い越し回路。
  4. 【請求項4】 前記先行ペンディングバッファペンディ
    ングフラグは、 前記ペンディングバッファのワード数と同じビット数を
    有し、 前記先行ペンディングバッファペンディングフラグは、
    全ての前記アドレスが一致する命令の前記登録に対して
    ビットを点灯させ、 前記ペンディングバッファは、 格納している命令を、前記メモリ実行中ペンディングフ
    ラグと前記先行ペンディングバッファペンディングフラ
    グ2に格納された全ビットが0にリセットされるまで保
    持することを特徴とする請求項3記載の命令のペンディ
    ングによる追い越し回路。
  5. 【請求項5】 前記リクエストバッファは、FIFOで
    あることを特徴とする請求項1から4のいずれかに記載
    の命令のペンディングによる追い越し回路。
  6. 【請求項6】 前記リクエストバッファは、1つのワー
    ド内に、 各ワードに関するバリッドと、 前記プロセッサより入力された命令の情報であるコマン
    ドと、 前記プロセッサより入力された命令が指定する前記メモ
    リ上のアドレスとを有することを特徴とする請求項1か
    ら5のいずれかに記載の命令のペンディングによる追い
    越し回路。
  7. 【請求項7】 前記メモリ実行中バッファは、1つのワ
    ード内に、 各ワードに関するバリッドと、 前記プロセッサより入力された命令が指定する前記メモ
    リ上のアドレスとを有することを特徴とする請求項1か
    ら6のいずれかに記載の命令のペンディングによる追い
    越し回路。
JP33268799A 1999-11-24 1999-11-24 命令のペンディングによる追い越し回路 Expired - Fee Related JP3479246B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33268799A JP3479246B2 (ja) 1999-11-24 1999-11-24 命令のペンディングによる追い越し回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33268799A JP3479246B2 (ja) 1999-11-24 1999-11-24 命令のペンディングによる追い越し回路

Publications (2)

Publication Number Publication Date
JP2001147808A JP2001147808A (ja) 2001-05-29
JP3479246B2 true JP3479246B2 (ja) 2003-12-15

Family

ID=18257766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33268799A Expired - Fee Related JP3479246B2 (ja) 1999-11-24 1999-11-24 命令のペンディングによる追い越し回路

Country Status (1)

Country Link
JP (1) JP3479246B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100925213B1 (ko) 2002-06-07 2009-11-06 엘지전자 주식회사 고밀도 멀티 레이어 광디스크와, 그에 따른 광 파워조절방법
JP4990262B2 (ja) * 2008-12-26 2012-08-01 三菱電機株式会社 バッファ装置

Also Published As

Publication number Publication date
JP2001147808A (ja) 2001-05-29

Similar Documents

Publication Publication Date Title
US8190825B2 (en) Arithmetic processing apparatus and method of controlling the same
US6493791B1 (en) Prioritized content addressable memory
JP2000293436A (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
US6862670B2 (en) Tagged address stack and microprocessor using same
JP2001075866A (ja) 記憶装置を動作する方法および記憶装置
US6915406B2 (en) Address translation apparatus, address translation method, and two-layer address translation apparatus
JP3479246B2 (ja) 命令のペンディングによる追い越し回路
US5809550A (en) Method and apparatus for pushing a cacheable memory access operation onto a bus controller queue while determining if the cacheable memory access operation hits a cache
JPH11167557A (ja) 共有メモリアクセス順序保証方法及びマルチプロセッサシステム
JPH1083349A (ja) キャッシュ・メモリ・バンク制御装置
US7788448B2 (en) Sequencer cache and method for operating the same
US4547848A (en) Access control processing system in computer system
JPH06214875A (ja) 記憶制御装置
JP5168800B2 (ja) マルチプロセッサシステム
JP2000181891A (ja) 共有メモリアクセス順序保証方式
US7389405B2 (en) Digital signal processor architecture with optimized memory access for code discontinuity
US20020188810A1 (en) Cache memory control apparaus and processor
JP3039391B2 (ja) メモリシステム
JP2000181711A (ja) 命令フェッチのキャンセル方式
JP3404386B2 (ja) メモリアクセスレイテンシ増加回避方式
JPS59112479A (ja) キヤツシユメモリの高速アクセス方式
JPH07210463A (ja) キャッシュメモリシステム及びデータプロセッサ
JPH0232658B2 (ja) Maruchipurosetsusaseigyohoshiki
JP3161422B2 (ja) マイクロコンピュータ
JPH01266643A (ja) キャッシュ制御方式

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030902

R150 Certificate of patent or registration of utility model

Ref document number: 3479246

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081003

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091003

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091003

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101003

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees