JP2000090003A - 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ - Google Patents

主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ

Info

Publication number
JP2000090003A
JP2000090003A JP10254111A JP25411198A JP2000090003A JP 2000090003 A JP2000090003 A JP 2000090003A JP 10254111 A JP10254111 A JP 10254111A JP 25411198 A JP25411198 A JP 25411198A JP 2000090003 A JP2000090003 A JP 2000090003A
Authority
JP
Japan
Prior art keywords
memory
data
prefetch
processed
state
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
JP10254111A
Other languages
English (en)
Other versions
JP3372873B2 (ja
Inventor
Koji Ashihara
浩司 芦原
Naoki Shimura
直樹 志村
Hiroki Teramoto
博樹 寺本
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 Corp
NEC Telecom System Ltd
Original Assignee
NEC Corp
NEC Telecom System 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 Corp, NEC Telecom System Ltd filed Critical NEC Corp
Priority to JP25411198A priority Critical patent/JP3372873B2/ja
Publication of JP2000090003A publication Critical patent/JP2000090003A/ja
Application granted granted Critical
Publication of JP3372873B2 publication Critical patent/JP3372873B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 パケットデータ処理用のプロセッサに適した
主記憶メモリアクセス装置を提供する。 【解決手段】 被処理データであるパケットデータが連
続して入力される場合、入力パケットデータ列をパイプ
ライン処理し、後段の処理で必要なデータを前段の処理
の時点で主記憶メモリ(112)からプリフェッチして
おく。また、前段処理におけるプリフェッチと後段処理
における主記憶メモリ(112)への書き込みが混在し
ないよう動的優先管理を行い、プリフェッチ後の当該ア
ドレスへの書き込みを監視しプリフェッチデータの同時
更新を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
〔発明の名称〕 主記憶メモリのプリフェッチ機構を備
えたマイクロプロセッサ本発明は、マイクロプロセッサ
関し、特にパケットデータの処理等のトランザクション
処理を行う際に、必要な主記憶メモリ上のデータの必要
部分を予めマイクロプロセッサチップ内部に設けられた
高速アクセス可能なメモリ素子に予め格納して(以下、
この予め格納する動作をプリフェッチ(pre−fet
ch)という)おくことにより、主記憶メモリアクセス
のためのプログラム実行待ちの時間を大幅に減少させる
ことのできる主記憶メモリのプリフェッチ機構を備えた
マイクロプロセッサに関する。
【0002】
【従来の技術】主記憶メモリ上のデータの必要と予測さ
れる部分をマイクロプロセッサチップ内部に設けられた
高速アクセス可能なメモリ素子に予め格納しておく主記
憶メモリアクセス装置として、従来キャッシュ(cac
he)メモリ機構が知られている。しかしながら従来の
キャッシュメモリ機構では、予めキャッシュメモリに格
納されているデータを読み出せばすむ場合は(すなわち
ヒットした場合は)主記憶メモリへのアクセスを省略す
ることが出来るが、読み出すべきアドレスのデータがキ
ャッシュメッモリに複写されてない時は(すなわちミス
ヒットした場合は)、主記憶メモリにアクセスして必要
なデータブロックの読み出し処理が必要となり、この
間、内部処理が滞る。
【0003】このため汎用マイクロプロセッサではミス
ヒットの発生を前提として、平均処理性能の向上を図る
べくキャッシュヒット率を高める各種の工夫がなされて
いる
【0004】
【発明が解決しようとする課題】トランザクション処理
においてもプロセッサの前段に十分大きなバッファメモ
リを用意することが出来れば、このようなキャッシュメ
モリ機構により平均処理性能の向上を図ることができる
が、例えばATM(AsynchronousTran
sfer Mode)スイッチ等実時間性の厳しく要求
される処理においては、ハードウェア規模の問題の他デ
ータ遅延の問題もありバッファ規模が制限され、従っ
て、キャッシュのミスヒットが頻発した場合に処理性能
が大きく低下しシステムが破綻する危険性が存在する。
このため、このような実時間性の強い処理においては、
キャッシュメモリ機構を前提としてマイクロプロセッサ
に高負荷処理を行わせることができなかった。
【0005】本発明の目的は、このような問題点を持つ
従来のキャッシュメモリ機構に代わる、もしくはこれと
併用し得る、パケットデータ処理等の実時間性の厳しく
要求されるトランザクション処理にも十分に対応し得る
効率的な主記憶メモリアクセス機能を備えたマイクロプ
ロセッサを提供することによって、このような処理にお
いても主記憶メモリへのアクセスの間、他の処理が処理
待ちとなることがないようにして、プロセッサの効率を
向上し、プロセッサ内における被処理データの処理時間
を総合的に短縮することを目的とする。
【0006】また、主記憶メモリへのアクセスプロセス
をユーザが自由にプログラミングし得る汎用性の高いマ
イクロプロセッサを提供することを目的とする。
【0007】また更に、キャッシュメモリ機構のヒッ
ト、ミスヒット等データ内容に大きく依存する処理にく
らべ、プログラミング時の処理内容に従って処理時間が
十分に正確に予想でき、実時間性の強い処理の設計に当
たって、容易に、また確実に適用し得るマイクロプロセ
ッサを提供することを目的とする。
【0008】
【課題を解決するための手段】本発明では、被処理デー
タ処理のためにパイプライン(pipe line)処
理機構を使用した。すなわち、被処理データが連続的に
到来する状態を想定し、任意数の被処理データ処理回路
の各被処理データ処理回路には4面のバッファメモリを
備え、到来する被処理データ列の単位被処理データをバ
ッファメモリに書き込み、バッファメモリは格納する単
位被処理データの処理の進捗に応じて階段的に状態を遷
移し、後段の状態における処理で必要となるデータを前
段の状態の時、主記憶メモリから読み出しておくように
した。
【0009】すなわち、任意数の被処理データ処理回路
と、この任意数の被処理データ処理回路がメモリバスを
介して共通にアクセスする主記憶メモリへのアクセスリ
クェストに対するバス使用調停を行うバス制御部と、内
部メモリとを備えたマイクロプロセッサにおいて、本発
明に係る主記憶メモリのプリフェッチ機構を備えたマイ
クロプロセッサの前記任意数の被処理データ処理回路の
それぞれは、複数のバッファメモリと、当該被処理デー
タ処理回路に順次入力される被処理データをこの複数の
バッファメモリの接続された一つに書き込む入力制御回
路と、前記複数のバッファメモリの接続された一つに書
き込まれた被処理データから、当該被処理データの所要
処理に必要であると特定される前記主記憶メモリのデー
タを前記内部メモリにプリフェッチするプリフェッチ制
御部と、前記複数のバッファメモリの接続された一つに
書き込まれた被処理データについて、当該被処理データ
に関して前記プリフェッチ制御部により前記内部メモリ
にプリフェッチされた前記主記憶メモリのデータを用い
て前記所要処理を行うプロセッサコア部と、前記複数の
バッファメモリの接続された一つに書き込まれた被処理
データを出力ポートに出力する出力制御回路と、前記入
力制御回路、前記プリフェッチ制御部、前記プロセッサ
コア部及び前記出力制御回路のそれぞれに、非同期で行
われるそれぞれの処理状態を勘案して、前記複数のバッ
ファメモリのそれぞれを順次接続することにより、当該
被処理データ処理回路に順次入力される被処理データの
パイプライン処理を制御するバッファメモリ状態管理部
とを備えたことを特徴とする。
【0010】また、前記バッファメモリ状態管理部は、
前記複数のバッファメモリについて、前記入力制御回路
への接続待ち状態を状態0とし、前記入力制御回路に接
続され被処理データが記入されている状態を状態1と
し、前記入力制御回路での被処理データの記入が終了し
前記プリフェッチ制御部への接続待ち状態を状態1.5
とし、前記プリフェッチ制御部に接続されている状態を
状態2とし、前記プロセッサコア部に接続されている状
態を状態3とし、前記出力制御回路に接続され被処理デ
ータが出力されている状態を状態4とするとき、先行す
るバッファメモリが状態1を終え、前記入力制御回路に
入力される被処理データが1単位以上となった場合に状
態0にあるバッファメモリの一つを状態1に遷移させ、
状態1を終了したバッファメモリを状態1.5にあるバ
ッファメモリの待ち行列の後尾に付け、先行するバッフ
ァメモリが状態2を終えた場合に、状態1.5にあるバ
ッファメモリの待ち行列の先頭を状態2に遷移させ、先
行するバッファメモリが状態3を終え、且つ前記特定さ
れる前記主記憶メモリのデータの前記内部メモリへのプ
リフェッチが完了したことを条件に状態2にあるバッフ
ァメモリを状態3に遷移させ、先行するバッファメモリ
が状態4を終え、且つ前記所要処理に伴い発生した前記
主記憶メモリへのデータ書き込みが完了したことを条件
に状態3にあるバッファメモリを状態4に遷移させ、状
態4を終了したバッファメモリを状態0に編入するよう
制御することを特徴とする。
【0011】また、前記内部メモリは、A面及びB面の
2面からなるプリフェッチメモリとキューイングバッフ
ァを有し、前記プリフェッチ制御部は接続されるバッフ
ァメモリのそれぞれの被処理データの前記所要処理に必
要であると特定される前記主記憶メモリのデータを前面
及びB面を交互に使用してプリフェッチし、前記プロセ
ッサコア部は、前記A面及びB面の内前記プリフェッチ
制御部の使用していない面を参照して前記所要処理を行
い、これに伴い発生した前記主記憶メモリへの書き込み
データを前記キューイングバッファに蓄積しておくこと
により、前記所要処理の結果により初めて参照が必要と
なる前記主記憶メモリのデータの読み出しを除き、前記
メモリバスの使用状態に影響されることなく前記所要処
理を実行することを特徴とする。
【0012】従って、前記プロセッサコア部における前
記所要処理を主記憶メモリへのアクセスと非同期に実行
することができ、パケットデータ処理等の実時間性の厳
しく要求されるトランザクション処理においても、主記
憶メモリへのアクセスの間、他の主記憶メモリへのアク
セスを必要としないその他の処理が処理待ちとなること
がなくなり、プロセッサ内における被処理データの処理
時間を総合的に短縮することができる。
【0013】また、アクセス時間やレイテンシの大きい
メモリ素子を使用してもプログラム実行待ち時間の増加
に直接つながらないので主記憶メモリ用に安価なメモリ
素子を使用することが可能になる。
【0014】また、本発明に係る主記憶メモリのプリフ
ェッチ機構を備えたマイクロプロセッサの前記プリフェ
ッチ制御部は、CAMにより構成されるプリフェッチア
ドレスメモリを有し、当該被処理データの前記所要処理
に必要であると特定される前記主記憶メモリのデータの
読み出し先であるプリフェッチアドレスと、このデータ
を格納すべき前記プリフェッチメモリの格納先アドレス
を算出して、このプリフェッチアドレスメモリの同一ア
ドレスに格納するプリプロセッサ部と、当該被処理デー
タに関する前記プリプロセッサ部の前記プリフェッチア
ドレス及び前記格納先アドレスの算出の終了を待って、
前記バス制御部にプリフェッチリクェストを発出し前記
メモリバスの使用許可を得て前記プリフェッチアドレス
から前記主記憶メモリのデータを読み出し、前記プリフ
ェッチメモリの前記格納先アドレスに格納する処理を、
前記プリフェッチアドレスメモリに格納された全てのプ
リフェッチアドレスについて実行するメモりアクセス部
とを備え、前記プロセッサコア部は、当該被処理データ
に関する前記所要処理が、前記プリプロセッサ部の実行
するこの当該被処理データの次の被処理データの前記プ
リフェッチアドレスの算出の終了に先行して終了した場
合には、前記バス制御部に優先書き込みリクェストを発
出し前記メモリバスの使用許可を得て前記キューイング
バッファに蓄積された主記憶メモリへの書き込みデータ
を主記憶メモリに書き込む処理を前記キューイングバッ
ファに蓄積された全てのデータについて実行し、前記次
の被処理データの前記プリフェッチアドレスの算出の終
了が前記所要処理に先行して終了した場合には、前記所
要処理終了までの間は前記バス制御部に非優先書き込み
リクェストを発出し、また前記所要処理終了後は前記バ
ス制御部に優先書き込みリクェストを発出し、前記メモ
リバスの使用許可を得て前記キューイングバッファに蓄
積された主記憶メモリへの書き込みデータを前記主記憶
メモリに書き込むと同時に、前記メモりアクセス部を介
して前記プリフェッチアドレスメモリを検索し、当該主
記憶メモリへの書き込みアドレスと一致するアドレスの
データがプリフェッチされていた場合には検索結果から
得られる前記格納先アドレスを用いて前記主記憶メモリ
への書き込みデータで前記プリフェッチメモリを更新す
る処理を前記キューイングバッファに蓄積された全ての
データについて実行するキューイングバッファ制御部を
備え、前記バス制御部は、前記プロセッサコア部の当該
被処理データに関する前記所要処理が、前記次の被処理
データの前記プリフェッチアドレスの算出の終了に先行
して終了した場合には前記プリフェッチリクェストより
優先して前記優先書き込みリクェストにバス使用許可を
与え、前記次の被処理データの前記プリフェッチアドレ
スの算出の終了が前記プロセッサコア部の当該被処理デ
ータに関する前記所要処理に先行して終了した場合には
前記優先書き込みリクェストより優先して前記プリフェ
ッチリクェストにバス使用許可を与えるバス使用調停を
行うことを特徴とする。
【0015】従って、前記所要処理が主記憶メモリへの
アクセスと非同期に行われても、主記憶メモリのデータ
の一貫性を保持することができる。
【0016】また、本発明に係る主記憶メモリのプリフ
ェッチ機構を備えたマイクロプロセッサの前記プロセッ
サコア部は命令メモリを有し前記所要処理は、ユーザに
より外部CPUバスを介してこの命令メモリに格納され
たプログラムに従って実行され、前記プリフェッチ制御
部は命令メモリを有し前記所要処理に必要であると特定
される前記主記憶メモリのデータのプリフェッチアドレ
スは、ユーザにより外部CPUバスを介してこの命令メ
モリに格納されたプログラムに従って算出されることを
特徴とする。
【0017】従って、主記憶メモリへのアクセスプロセ
スをユーザが自由にプログラミングすることができ、汎
用性の高いマイクロプロセッサを提供することができ
る。また、キャッシュメモリ機構のヒット、ミスヒット
等データ内容に大きく依存する処理にくらべ、プログラ
ミング時の処理内容に従って処理時間が十分に正確に予
想でき、実時間性の強い処理の設計に当たって、容易
に、また確実に適用し得るマイクロプロセッサを提供す
ることができる。
【0018】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1は本発明の主記憶メモ
リアクセス装置の全体構成を示すブロック図である。こ
の主記憶メモリアクセス装置は任意数の被処理データ処
理回路108と、任意数の被処理データ処理回路108
が被処理データを処理する上でワークメモリとして共用
する主記憶メモリ112と、任意数の被処理データ処理
回路108からの主記憶メモリ112アクセス要求の調
停や主記憶メモリとのインタフェースを行うバス制御部
111とを備えている。被処理ータ処理回路108はパ
ケットデータに代表される任意長の被処理データを処理
する回路で、任意数の被処理ータ処理回路108の各回
路は互いに同一の構成であるので、図面の左端の被処理
ータ処理回路108の構成だけを図示してある。
【0019】被処理ータ処理回路108は被処理データ
列を受信する入力ポート101、処理された被処理デー
タを出力する出力ポート102、それぞれ1個の被処理
データを格納するバッファメモリ105が4面、各バッ
ファメモリ105の状態管理を行うバッファメモリ状態
管理部107、入力ポート101からの被処理データを
状態1(後節で説明する)のバッファメモリ105に書
き込むための入力制御回路104、処理済みのデータが
格納されている状態4(後節で説明する)のバッファメ
モリ105を読み出す出力制御回路106、被処理デー
タの処理を行うプロセッサコア部110、プロセッサコ
ア部110が被処理データを処理する上で必要となる主
記憶メモリ上のデータを事前に特定して読み出すプリフ
ェッチ(pre−fetch)制御部109から構成さ
れている。4面のバッファメモリ105とバッファメモ
リ状態制御部107とを併せて入出力バッファメモリ回
路103という。本主記憶メモリアクセス装置には、外
部CPUバス129を経由して外部から、予め定められ
たプログラムによる動作指示情報、すなわち、プロセッ
サコア部110に対しては被処理データの処理プログラ
ム、プリフェッチ制御部109に対してはプリフェッチ
アドレス計算のためのプログラムが設定される。
【0020】次に、4面のバッファメモリ105の状態
変遷を中心に図1の構成における各部の動作概要につい
て説明する。任意数の被処理データ処理回路108は主
記憶メモリ112を共有する。被処理データは入力ポー
ト101から入力され、処理済みデータが出力ポート1
02から出力される。入力ポート101に順次到着する
被処理データは、入力制御回路104により4面存在す
るバッファメモリ105のいずれか1つに書き込まれ
る。
【0021】図2は図1のバッファメモリ105の状態
遷移を示す説明図である。以下、図1と図2を参照して
入出力バッファメモリ回路103について説明する。入
出力バッファメモリ回路103の中にはバッファメモリ
105が4面存在し、これらはバッファメモリ状態管理
部107により状態管理される。各バッファモリ105
は図2に示すように6種類の状態を遷移する。図2に示
すように状態遷移の順は一定で、どのバッファメモリ1
05も状態0→状態1→状態1.5→状態2→状態3→
状態4→状態0の順に状態遷移する。バッファメモリ1
05は状態遷移ごとにチップ内の異なる回路に接続が切
り替えられ、状態0から再び状態0に戻るまでの間に1
単位の被処理データが処理される。
【0022】本発明の主記憶メモリアクセス装置の初期
化直後、バッファメモリ105は4面共に未使用状態で
ある状態0をとり、待ち行列を形成している。入力ポー
ト101が受信したデータが1単位以上になると、バッ
ファメモリ状態制御部107は、待ち行列先頭のバッフ
ァメモリ105を入力制御回路104に接続する。この
状態が図2の状態1に相当する。バッファメモリ105
が状態1に遷移すると、入力制御回路104は1単位の
受信データを状態1のバッファメモリ105に書き込
み、書き込み終了後、当該バッファメモリ105は直ち
に状態1.5に遷移する。状態1.5では先着のバッフ
ァメモリ105が全て状態2の処理を終了するまで当該
バッファメモリ105は状態1.5に留まる。
【0023】この時、連続して被処理データが到着した
場合、未使用状態(すなわち、状態0)のバッファメモ
リ105が存在する間、新たなバッファメモリ105を
状態1に遷移させ、次の被処理データをバッファメモリ
105に書き込む。従って、複数のバッファメモリ10
5が状態1.5をとることがあり、その時は待ち行列が
形成される。先着のバッファメモリ105が状態2を終
了すると、バッファメモリ状態制御部107は、状態
1.5の待ち行列先頭のバッファメモリ105をプリフ
ェッチ制御部109に接続する。この状態が図2の状態
2に相当する。状態2ではプリフェッチ制御部109か
らバッファメモリ105の値が読み出される。状態2で
は当該バッファメモリ105自身の状態2の終了と、先
着バッファメモリ105の状態3終了の条件が揃うと、
バッファメモリ状態制御部107は当該バッファメモリ
105をプロセッサコア部110に接続する。この状態
が図2の状態3に相当する。
【0024】状態3ではプロセッサコア部110からの
バッファメモリ105の被処理データ参照/更新が可能
となる。状態3も状態2と同様に、当該バッファメモリ
105自身の状態3での処理終了と先着バッファメモリ
105の状態4終了の条件が揃うと、バッファメモリ状
態制御部107は当該バッファメモリ105を出力制御
回路106に接続する。この状態が図2の状態4に相当
する。状態4ではバッファメモリ105の内容が出力制
御回路106に転送される。状態4は処理終了と同時に
状態0に遷移し、当該バッファメモリ105は状態0の
待ち行列の最後尾につく。
【0025】4面存在するバッファメモリ105は各々
がこのように状態遷移を行い、入出力バッファメモリ回
路103全体として被処理データのパイプライン(pi
peline)処理機構として機能する。このようなパ
イプライン処理機構は、例えば本願出願人と同一出願人
の出願に係る特開平10−106253号公報で開示さ
れた「入出力バッファメモリ回路」に詳述されており、
以上説明した入出力バッファメモリ回路103は、上記
発明において、バッファメモリを4面とした場合に相当
する。本願発明では、この被処理データのパイプライン
処理機構を応用して、プロセッサコア部110での処理
(状態3)に必要であることが被処理データの内容等か
ら特定できるデータを状態2において主記憶メモリ11
2からプリフェッチしておくことにより、主記憶メモリ
112へのアクセス待ち時間の全体の処理時間への影響
を極力軽減している。
【0026】以下、主記憶メモリ112へのアクセスを
中心にプリフェッチ制御部109とプロセッサコア部1
10の機能分担とそれぞれの動作概要について説明す
る。プリフェッチ制御部109の目的は、プロセッサコ
ア部110が状態3のバッファメモリ105に格納され
た被処理データを処理するのに必要な主記憶メモリ11
2上のデータの多くを、当該被処理データが状態2にあ
る時点で特定し、読み出しを行うことにある。読み出し
アドレスの特定方法には2つの方法がある。第1の方法
はデータ線120を介して状態2のバッファメモリ10
5の内容を読み出すことにより、到着した被処理データ
のタイプを判断し、例えばATM通信方式におけるセル
処理では当該パケットのVPI(Vertual Pa
th識別子)、VCI(Vertual Channe
l 識別子)、セル種別等のヘッダ情報から所要データ
の読み出しアドレスを特定する方法であり、第2の方法
は、例えば障害監視用セルの周期到着監視等、一定周期
間隔で起動されるタスクの処理で用いられるデータのよ
うに、プリフェッチ制御部109内にタイマ機能を持
ち、時刻計測により処理内容と所要データの読出しアド
レスを特定して主記憶メモリ112を読み出す方法であ
る。
【0027】図8は図1のプリフェッチ制御部109の
詳細構成を示すブロック図である。以下、図1及び図8
を参照してプリフェッチ制御部109の構成と動作の概
要について説明する。図8に示すように、プリフェッチ
制御部109はプリプロセッサ部500と、メモリアク
セス部501の2つの部分から構成される。プリプロセ
ッサ部500はそれ自身が専用目的に設計されたマイク
ロプロセッサであり、プリフェッチ処理の実現に必要な
最小限の命令セット、記憶資源を持つ。命令メモリ59
0がプリプロセッサ部500に内蔵されており、外部C
PUバス129を経由して、この命令メモリ590にプ
ログラムが設定される。プリフェッチすべき主記憶メモ
リ112のアドレス、すなわちプリフェッチアドレス
は、命令メモリ590に設定されたプログラムの実行に
よって計算され、計算結果であるプリフェッチアドレス
がプリフェッチアドレスメモリ595に格納される。こ
のプリフェッチアドレスメモリ595はCAM(連想記
憶メモリ:Content Addressable
Memory)により構成される。
【0028】メモリアクセス部501は、プリプロセッ
サ部500が計算したプリフェッチアドレスに従い、主
記憶メモリ112を読み出す。主記憶メモリ112への
アクセス開始は、プリプロセッサ部500からのプリフ
ェッチアドレスの計算終了を意味する専用命令afin
によって開始される。専用命令afinが実行される
と、リクェスト信号が制御バス128を介してバス制御
部111に送られる。これを受けたバス制御部111は
プロセッサコア部110からの読み出し/書き込み要求
との調停を行い、メモリアクセス部501に制御バス1
28を介してバス使用許可信号を返信する。バス使用許
可信号を受信したメモリアクセス部501が、アドレス
バス127に読み出しアドレスを送出し、制御バス12
8を介して読み出し指示信号をバス制御部111に送る
ことにより、バス制御部111が主記憶メモリ112を
読み出す。
【0029】読み出されたデータはデータバス126を
介してメモリアクセス部501のプリフェッチメモリ5
97、598の何れか一方に格納される。リクェスト信
号の送出は、プリプロセッサ部500で計算した総ての
プリフェッチアドレスに対する読み出し要求が許可され
るまで続けられ、総てのプリフェッチアドレスの読み出
しが完了するまで同様な読み出し処理が続けられる。
【0030】プリプロセッサ部500で計算した総ての
プリフェッチアドレスに対する読み出しが完了すると、
プリフェッチ制御部109は信号線543、122を介
し、バッファメモリ状態制御部107へ状態2の終了を
通知する。その後、先着のバッファメモリ105が既に
状態3を終了していれば直ちに、そうでなければ、先着
のバッファメモリ105が状態3を終了するのを待っ
て、状態2の当該バッファメモリ105は状態3へ遷移
する。当該バッファメモリ105の状態3への遷移と同
期して、プロセッサコア部110にはバッファメモリ状
態制御部107から信号線123を介して被処理データ
の到着が通知される。
【0031】プロセッサコア部110のプログラムは、
被処理データの到着をトリガに処理実行を開始し、処理
の際にプリフェッチ制御部109で予めプリフェッチさ
れているデータはデータ線125を介して即時に参照さ
れる。従って、予め特定できプリフェッチされるデータ
については、当該データの主記憶メモリ112読み出し
待ちのために次命令が処理待ち状態になることはなくな
る。
【0032】次に、プリフェッチ制御部でプリフェッチ
できないデータの読み出しについて説明する。プロセッ
サコア部110での処理結果によってはじめて主記憶メ
モリ112のどのアドレスを読み出すかが決定される場
合には、プリフェッチ制御部109において予めプリフ
ェッチアドレスを特定することは出来ない。このため、
プロセッサコア部110の命令セットには主記憶メモリ
112読み出し命令が定義されてあり、プロセッサコア
部110からも必要なデータの読み出しが可能になって
いる。このプロセッサコア部110からの主記憶メモリ
112読み出し動作の概要について説明する。
【0033】まず、読み出し命令発行によって、プロセ
ッサコア部110からバス制御部111に向けて主記憶
メモリ112の読み出しを要求するリクェストが発出さ
れる。バス制御部111は制御バス128を介してプロ
セッサコア部からの読み出し要求を受けると、同一の被
処理データ処理回路108内のプリフェッチ制御回路1
09からの読み出し及び、後述するプロセッサコア部1
10からの書き込みよりも優先してバス使用許可を与え
る。プロセッサコア部110はバス制御部111からの
バス使用許可を受信すると、アドレスバス127に読み
出しアドレス、制御バス128に読み出し指示を乗せて
バス制御部111に送り、バス制御部111は主記憶メ
モリ112を読み出す。読み出されたデータは、データ
バス126を介してプロセッサコア部110が受け取
る。なお、この方法による読み出しにおいては主記憶メ
モリ112からデータを読み出すまでの間、プロセッサ
コア部110の次命令は処理待ち状態になり、性能低下
を引き起こす。このため上記のようにプロセッサコア部
110からの主記憶メモリ112の読出しリクェストに
対しては、プリフェッチ制御回路109からの読み出し
及びプロセッサコア部110からの書き込みに優先して
バス使用許可が与えられる。
【0034】次にプロセッサコア部110が主記憶メモ
リ112へデータを書き込む書き込み動作の概要につい
て説明する。書き込みデータに対しプロセッサコア部1
10はプログラム命令により書き込み指示を行う。書き
込み指示は一旦プロセッサコア部110内のキューイン
グバッファに登録され、以下の2つの場合のいずれかの
状態になった時キューイングバッファに登録されたデー
タの書き込み処理リクェスト信号が送出される。第1に
プリフェッチ制御部109でプリフェッチアドレス計算
終了を意味する専用命令afinが発行されたとき。第
2に状態3のバッファメモリ105に対するプロセッサ
コア部110での処理終了を意味する専用命令finが
発行されたとき。上記2つのいずれかの状態になった時
点でキューイングバッファの書き込みリクェストが発出
される。バス制御部111はバス調停を行い、プロセッ
サコア部110は制御バス128を介してバス使用許可
を受信すると、アドレスバス127に書き込みアドレ
ス、データバス126に書き込みデータを出力し、バス
制御部111が主記憶メモリ112にこれを書き込む。
【0035】以下、主として図8を参照しプリフェッチ
制御部109の詳細について説明する。さきに説明した
通りプリフェッチ制御部109はプリプロセッサ部50
0と、メモリアクセス部501とから構成される。プリ
プロセッサ部500は命令メモリ590、命令デコーダ
591、演算処理/実行制御部592、ワークメモリ5
93、CAM594、プリフェッチアドレスメモリ59
5、共通バス522を備える。命令メモリ590には外
部CPUバス129からプリフェッチのためのプログラ
ムがダウンロードされて格納される。命令デコーダ59
1は命令メモリから読出された命令を解釈して、周辺の
構成要素に対して命令に応じた制御信号を出力する。演
算処理/実行制御部592は、命令デコーダ591から
の指示により、内部の演算器を使用して、内部のレジス
タ(図示せず)、ワークメモリ593、CAM594等
各種の記憶装置に格納されたデータ間の算術論理演算処
理を行い、これを再び前記各種の記憶装置に格納するこ
と及びプログラム分岐処理等を実行する。
【0036】プログラム処理の際には、汎用的に使用さ
れるワークメモリ593に加えCAM594が使用され
る。CAM594は通常のメモリの機能である読み出し
機能と書き込み機能の他に検索機能を備えており、検索
キーを与えて、メモリ素子中に検索キーと一致するデー
タが書き込まれているかどうかを調べ、また更に、一致
するデータが書き込まれていた場合、そのデータが書き
込まれているアドレスも同時に出力する機能を備えてい
るメモリ素子である。演算処理/実行制御部592で計
算されたプリフェッチアドレスは、CAM構成のプリフ
ェッチアドレスメモリ595に書き込まれるが、プリフ
ェッチ制御部109のプログラム命令から検索機能は使
用出来ず書き込み専用メモリとして使用される。
【0037】メモリアクセス部501は、プリフェッチ
アクセス制御部596、プリフェッチメモリ(A面)5
97、プリフェッチメモリ(B面)598を備え、プリ
フェッチメモリのA面とB面は、状態2にあるバッファ
メモリ105の被処理データに関するプリフェッチデー
タが書き込まれる書き込みモードと、書き込まれている
データが状態3に移行したバッファメモリ105の被処
理データの処理のためプロセッサコア部110から参照
される参照モードとを交互に繰り返す。このモードの遷
移管理はプリフェッチアクセス制御部596が行う。プ
リフェッチアクセス制御部596は、プリフェッチアド
レスメモリ595を読み出してバス制御部111へ主記
憶メモリ読み出し要求と読み出しアドレスの発出を行
い、読み出されたデータをプリフェッチメモリのA面5
97、あるいはB面598への書き込みを制御する。
【0038】以下、プリフェッチ制御部109の動作の
詳細について説明する。被処理データが状態2に遷移す
るまでの間プリプロセッサ部500は動作停止してい
る。バッファメモリ状態制御部107から信号線524
(=信号線122)を介して、バッファメモリ105に
格納された被処理データが状態2に遷移したことの通知
を受けると、演算処理/実行制御部592はプリフェッ
チアドレス計算プログラムの実行を開始する。プリフェ
ッチアドレス計算の際には、外部CPUバス129から
ダウンロードされたプログラムに従って様々な記憶資源
(状態2のバッファメモリ105、演算処理/実行制御
部592内のレジスタ、ワークメモリ593、CAM5
94)を使いながらプリフェッチアドレス計算を行う。
計算結果のプリフェッチアドレスメモリ595への書き
込みは、プリフェッチアドレスメモリ595への書き込
み命令を実行することによって行われる。この命令によ
り、命令デコーダ591からプリフェッチアドレスメモ
リ595書き込み指示が出力され(信号線525)、プ
リフェッチアドレス制御部596から信号線534を介
してプリフェッチアドレスメモリ595に格納される。
更に、この書き込み命令のオペランドには、プリフェッ
チアドレスすなわち主記憶メモリ112の読出し先アド
レスと格納先メモリ(プリフェッチメモリA面597又
はプリフェッチメモリB面598)への書き込みアドレ
スが即値で指定されており、図10の602(読出し先
アドレス)、601(格納先アドレス)のようにプリフ
ェッチアドレスメモリ595の同一ワード上に2つの情
報が書き込まれる。
【0039】プリフェッチアドレスの計算は前述のよう
にマイクロプロセッサの使用目的に応じて命令メモリ5
90に格納されるユーザー設定のプログラムにより任意
に設定できる。以下、ATMのセル処理を例にとり計算
例3方法を説明する。
【0040】第1の方法は被処理データ中の情報を基に
主記憶メモリ112に設けられたテーブルを参照する場
合のプリフェッチアドレスの計算方法例であり、図11
の摸式図を参照して説明する。ATM通信に代表される
固定長パケットデータ(ATM通信ではATMセル)に
はデータ中にコネクションID(識別子)(ATMセル
ではVPI、VCI)情報フィールドが存在する。図1
1の例では、主記憶メモリ112に設けられたテーブル
に、ID番号毎の所要情報が2のn乗ワードの固定長エ
ントリとしてテーブル全体の先頭アドレスからID番号
順に固定的に割り当てられている。
【0041】被処理データが状態2に遷移すると、プロ
グラムの実行が開始される。まず状態2のバッファメモ
リ105の中のID情報フィールドが含まれるワードを
読み出す命令が実行される(図11、矢印7a05)。
読み出されたワード7a00をnビット左へシフトする
(矢印7a06)。更に予め外部CPUバス129より
ワークメモリ593に格納済みのテーブル先頭アドレス
7a01を算術加算する命令を実行する(矢印7a0
7)。ここまでの計算で求めた7a02がテーブルの当
該IDのエントリの先頭アドレスとなる。その後1づつ
インクリメントする算術加算命令を実行しながら、7a
02から(7a02+各IDのテーブルサイズ−1)ま
での値をプリフェッチアドレスメモリ595に書き込む
命令を実行する(矢印7a08〜7a09)。尚、図1
1に示す例ではテーブルのID番号毎のエントリサイズ
を2のn乗と限定したが、これはプリプロセッサ部50
0の回路規模を抑制するためで、プリプロセッサ部に乗
算器を持てば、ID番号と各ID毎のエントリサイズの
積を計算することで2のn乗以外のエントリサイズであ
っても、各エントリの先頭アドレスを計算することがで
きる。
【0042】次に、図12を参照して第2の方法につい
て説明する。第2の方法も第1の方法と同じく被処理デ
ータ中の情報を基にプリフェッチアドレスを計算する方
法であるが、第1の方法との相違点は、テーブルエント
リが使用中のIDのみにダイナミックに割り当てられて
いる、すなわち少数のテーブル領域をテーブル使用時に
動的に任意のコネクションIDに割り当て、未使用時は
テーブル領域を開放して他のコネクションIDが使用で
きるようなメモリマッピングの時のプリフェッチアドレ
スの計算方法例である。この場合も各IDのテーブルエ
ントリサイズは2のn乗とし、割り当てられたエントリ
番号(順位)に該当するCAM594のアドレスにコネ
クションIDが記録されているものとする。被処理デー
タが状態2に遷移するとプログラムが実行開始する。ま
ず状態2のバッファメモリ105中のID情報フィール
ドが含まれるワードを読み出す命令を実行する(図1
2、矢印7b10)。読み出した7b00中のID情報
フィールドを検索キーとしてCAM594の検索を行わ
せる命令を実行する。検索によりヒットしたアドレス7
b01をnビット左シフトする命令を実行する(矢印7
b12)。これ以降は第1の方法と同様である。すなわ
ち、予め外部CPUバス129よりワークメモリ593
に格納済みのテーブル先頭アドレスと7b02を算術加
算する命令を実行し(矢印7b13)、1つづつインク
リメンする算術加算命令を実行(矢印7b14から7b
15)、加算値7b03から、7b03+各IDのテー
ブルサイズ−1までの値をプリフェッチアドレスメモリ
595に書き込む命令を実行する。
【0043】第3の方法はタイマーを使用した周期的な
プリフェッチアドレスの計算例である。すなわち、前述
の障害監視用セルの周期到着監視等、処理実行間隔に周
期性を持つ処理におけるプリフェッチアドレス計算で
は、プリプロセッサ部500にタイマーを内蔵すること
で、一定周期毎に特定のアドレス計算プログラムを実行
することによりプリフェッチアドレスを求め、プリフェ
ッチアドレスメモリ595に書き込む。
【0044】次にメモリアクセス部501の動作の詳細
について説明する。メモリアクセス部501の主な機能
は、プリプロセッサ部500が算出したプリフェッチア
ドレスに従い、主記憶メモリ112を読み出してプリフ
ェッチメモリA面597又はプリフェッチメモリB面5
98に格納することである。プリプロセッサ部500の
プログラム記述上の規則として、状態2のバッファメモ
リ105に格納された被処理データをプロセッサコア部
110が処理する際に必要な主記憶メモリ112のプリ
フェッチアドレスを総て計算し終わった後には必ずプリ
フェッチアドレス計算終了を意味する専用命令afin
を実行しなければならないこととしている。この専用命
令afinの実行により、メモリアクセス部501やプ
ロセッサコア部110に対して、プリフェッチアドレス
計算終了を知らせる信号、プリフェッチアドレス計算完
了通知が信号線526に出力される。これによりメモリ
アクセス部501のプリフェッチアクセス制御部596
は主記憶メモリ112読み出しのための処理を開始す
る。
【0045】プリフェッチアクセス制御部596は、信
号線526よりプリフェッチアドレス計算完了通知を受
信すると、制御バス128を介して、主記憶メモリ11
2読み出しリクェストをバス制御部111に通知する。
バス制御部111はプロセッサコア部110からの読み
出し/書き込みリクェスト、及び、他の被処理データ処
理部108からのリクェストとの調停を行う。プリフェ
ッチアクセス制御部596は、バス制御部111からの
バス使用許可を受信するまでリクェスト信号を発出し続
ける。制御バス128を介してバス使用許可を受信する
と、プリフェッチアクセス制御部596は、アドレスバ
ス127に読み出しアドレス、制御バス128に読み出
し指示信号を乗せてバス制御部111に送り、バス制御
部111が主記憶メモリ112を読み出す。
【0046】読み出されたデータは、データバス126
を介してプリフェッチメモリA面597、又はプリフェ
ッチメモリB面598に書き込まれる。図10を用いて
プリフェッチアドレスメモリ595、主記憶メモリ11
2、プリフェッチメモリA/B面597/598間のデ
ータの相関を説明する。プリフェッチアドレスメモリ5
95の1ワード(例えば図10、プリフェッチアドレス
メモリ595のN−3番地)を読み出し、プリフェッチ
アドレス602(内容1F00)を主記憶メモリ112
の読み出しアドレスとし(矢印573)所要データ’1
0FF0C24’を読出し、プリフェッチメモリ格納ア
ドレス601(内容13)をプリフェッチメモリ書き込
みアドレスとして(矢印532)主記憶装置から読み出
したデータを例えばプリフェッチメモリA面597の1
3番地に書き込む(矢印583)。リクェスト信号は、
プリプロセッサ部500で計算した総てのプリフェッチ
アドレスに対する読み出し要求が許可されるまで続けて
送出され、総てのプリフェッチアドレスの読み出しが完
了するまで、バス制御部111からのバス使用許可を得
て同様の読み出し処理が続けられる。プリフェッチメモ
リのA面597とB面598は、片方がプリフェッチし
たデータを格納している時は他方はプロセッサコア部1
10から値の参照が可能な状態になっている。この格納
状態と参照状態の切り換えはプリフェッチアクセス制御
部596を介してバッファメモリ状態管理部107が管
理しており、バッファメモリ状態管理部107は状態2
のバッファメモリ105が状態2から状態3に遷移する
タイミングに合わせて格納状態と参照状態を切り換える
ようプリフェッチアクセス制御部596を制御する。
【0047】次にプロセッサコア部110の構成を示す
図9のブロック図を参照してプロセッサコア部110の
詳細について説明する。プロセッサコア部110は命令
メモリ510、命令デコーダ511、演算処理/実行制
御部512、キューイングバッファ制御部513、キュ
ーイングバッファ514、ワークメモリ515を備えて
いる。状態3のバッファメモリ105に格納されている
被処理データに関するアプリケーション処理内容及び処
理手順は外部CPUバス129から命令メモリ510に
ダウンロードされ、命令デコーダ511は命令メモリ5
10の命令に応じた制御信号を出力し、演算処理/実行
制御部512は、命令デコーダ511からの指示によ
り、各種記憶資源に格納されているデータに対する算術
論理演算処理、分岐処理等のプログラム実行処理を行
い、処理途中のデータ等がワークメモリ515に一時的
に記憶される。主記憶メモリ112に処理結果を書き込
む際に実際のメモリアクセスまでの間、一時的に書き込
みアドレスと書き込みデータとはキューイングバッファ
514に格納される。キューイングバッファ514の読
み出し/書き込みはファーストイン・ファーストアウト
(FIFO)方式で行われるが、キューイングバッファ
制御部513はこの制御を行う。
【0048】被処理データが状態3に遷移するまでの
間、プロセッサコア部110のプログラム処理は実行停
止状態にある。バッファメモリ状態制御部107から信
号線123〜578を介してバッファメモリ105が状
態3に遷移したことの通知を受けると、プロセッサコア
部110は、状態3に遷移したバッファメモリ105上
に格納されている被処理データに対してアプリケーショ
ン処理の実行を開始する。プロセッサコア部110での
アプリケーション処理プログラム実行の際には、プリフ
ェッチ制御部109が予め主記憶メモリ112の内容を
読み出した値が以下に説明する機構により参照される。
【0049】命令メモリ510から読み出した命令を解
読した結果、予めプリフェッチしたデータを参照する命
令であることが判ると、命令デコーダ511は信号線5
65〜130を介してプリフェッチ制御部109のプリ
フェッチアクセス制御部596にプリフェッチメモリ読
み出しアドレス及び読み出し指示を出力する。プリフェ
ッチアクセス制御部596は、この信号を受信すること
によりプリフェッチメモリアドレスを信号線537上に
出力する。このとき信号線533上のプリフェッチアド
レスメモリ検索ヒット通知の信号は、プリフェッチアド
レスメモリが検索処理を実行していないため論理「0」
となっており、信号線537はスイッチ599で信号線
531に接続され、プリフェッチメモリA/B面597
/598に入力される。また、プリフェッチメモリの参
照/設定の状態はプリフェッチアクセス制御部596に
より管理されており、プリフェッチメモリ読み出し指示
の信号線535/536のうち参照状態の方にだけ読み
出し指示信号が出力される。これによりプリフェッチメ
モリの内の参照状態にあるメモリが読み出され、データ
がデータ線541、又は542から出力される。信号線
544上の信号により2入力セレクタ599では参照状
態のメモリの出力を選択し、読み出されたデータは信号
線125を経由しプロセッサコア部内のデータバス56
4を介して参照される。
【0050】次に、プロセッサコア部110での主記憶
メモリ112へのデータを書き込む書き込み動作につい
て説明する。主記憶メモリへの書き込みは、プロセッサ
コア部110のプログラム命令に従って実行される。主
記憶メモリ112への書き込み命令が命令メモリ510
から読み出され、命令デコーダ511によって解読さ
れ、命令の内容が演算処理/実行制御部512に伝えら
れると、演算処理/実行制御部512は信号線563に
主記憶メモリ112の書き込みアドレス、部内データバ
ス564に書き込みデータ、信号線562に書き込み指
示を出力する。キューイングバッファ制御部513はキ
ューイングバッファ514の書き込み制御を行い、信号
線579を介してキューイングバッファ514の書き込
みアドレス及び書き込み指示を出力する。これらによ
り、演算処理/実行制御部512から出力された主記憶
メモリ112書き込みアドレスと書き込みデータがキュ
ーイングバッファ514に書き込まれる。キューイング
バッファ制御部513のアドレス管理はFIFO方式で
あり、前回の主記憶メモリ書き込み命令によって書き込
まれたアドレスの次アドレスに次の主記憶メモリ112
書き込み命令の情報を書き込む。
【0051】キューイングバッファ513に書き込まれ
た主記憶メモリ112の書き込みアドレス及び書き込み
データは、書き込み処理開始のトリガが掛かるまではキ
ューイングバッファ513に保持され、主記憶メモリ1
12への書き込み処理は保留されている。主記憶メモリ
112への書き込み処理は以下に説明する2種類のトリ
ガのいずれかが発生したときに開始される。第1はプリ
フェッチアドレス計算終了を意味する専用命令afin
の発行である。この命令の発行によりプリフェッチ制御
部109の命令デコーダ591が専用命令afinをデ
コードし、信号線526〜124上にプリフェッチアド
レス計算完了通知を乗せてキューイングバッファ制御部
513に通知した時、キューイングバッファ制御部51
3は信号線567〜制御バス128を介してバス制御部
111に対し非優先書き込みリクェストを発出する。第
2はプロセッサコア部110でのプログラム処理終了を
通知する専用命令finの発行である。この命令の発行
により命令デコーダ511が専用命令finをデコード
し、信号線570に被処理データ処理終了通知を発出す
る。信号線570から被処理データ処理終了通知を受信
したキューイングバッファ制御部513は、信号線56
7〜制御バス128を介してバス制御部111に対し優
先書き込みリクェストを発出する。書き込みリクェスト
における優先/非優先に関しては後節で説明する。
【0052】これら2つの書き込み処理の開始トリガの
うちのどれかが発生すると、キューイングバッファ制御
部513は信号線567を介しバス制御部111に対し
主記憶メモリ112書き込みリクェストを通知する。バ
ス制御部111はこのリクェストに対し、プリフェッチ
制御部109からの読み出しリクェスト、プロセッサコ
ア部110からの読み出しリクェスト、及び他の被処理
データ処理回路108からの各リクェストとの調停を行
う。キューイングバッファ制御部513は、バス制御部
111からのバス使用許可を受信するまでリクェスト信
号を発出し続ける。制御バス128を介しバス使用許可
を受信したキューイングバッファ制御部513は、キュ
ーイングバッファ514を読み出して、以前プロセッサ
コア部110のプログラム命令によって書き込まれ、実
行が留保されていた書き込みアドレス及び書き込みデー
タの1組をFIFO方式で読み出す。読み出された情報
に従ってデータバス126に書き込みデータ、アドレス
バス127に書き込みアドレス、制御バス128に書き
込み指示信号が出力される。バス制御部111はデータ
バス126上のデータを主記憶メモリ112のアドレス
バス上のアドレスで示されるアドレス位置へ書き込む。
主記憶メモリ書き込みリクェストは、キューイングバッ
ファ514上の書き込み保留データがなくなるまで発出
され、制御バス128を介してバス使用許可を得ながら
同様の処理が繰り返される。
【0053】次にプロセッサコア部110のプログラム
命令による主記憶メモリの読み出しについて説明する。
本発明の装置では、主記憶メモリ112の読み出しの多
くは、プリフェッチ制御部109によるプリフェッチ動
作により状態2において行われるが、プロセッサコア部
110でのプログラム処理結果からでないと読み出すべ
きデータのアドレスが特定できない場合も存在する。従
って、プロセッサコア部110からのプログラム命令に
よる主記憶メモリ112の読み出しが必要になる。主記
憶メモリ112への読み出し命令が命令メモリ510か
ら読み出され、それを命令デコーダ511が解読する
と、信号線567〜制御バス128を介してバス制御部
111にプログラム命令による主記憶メモリ読み出しリ
クェストが送出される。バス制御部111はこのリクェ
ストに対し調停を行う。制御バス128を介しバス使用
許可が出力されると、命令デコーダ511は信号線56
6に読み出しアドレスを、信号線567に読み出し指示
を出力し、バス制御部111は主記憶メモリを読み出
す。読み出されたデータはデータバス126からデータ
線582を介してプロセッサコア部110の部内のデー
タバス564に出力され各種プログラム命令により参照
される。
【0054】以上説明したように被処理データ処理回路
108から主記憶メモリ112に対しては、次の3箇所
からアクセス要求が発出される。第1はプリフェッチ制
御部109からのプリフェッチアクセス要求、第2はプ
ロセッサコア部110からの書き込み要求、第3はプロ
セッサコア部110からの読み出し要求である。バス制
御部111は被処理データ処理回路108のそれぞれに
ついて、これら3箇所からの要求の調停を行う。以下
に、バス制御部111におけるこれら3箇所からのアク
セスの調停の詳細について図3〜図6の各タイミングチ
ャート及び図7のフローチャートを参照して説明する。
【0055】上記の3箇所からのアクセスはいずれもプ
ロセッサコア部110でのプログラム処理において必要
となるデータに対する読み書きである。これら3箇所か
らの主記憶メモリ112へのアクセスタイミングは、プ
ロセッサコア部110からの読み出しを除いて、プロセ
ッサコア部110のプログラム処理とタイミングが同期
していない。一般に、読み出し命令によって直ちにメモ
リを読み出し、書き込み命令によって直ちに書き込みが
行われるメモリ制御方法では、プログラムで指定した手
順通りに読み書きが行われるため、誤って古いデータを
読んだり、新しいデータの上に古いデータを上書きする
心配はない。しかし、プリフェッチ制御部109が主記
憶メモリ112の読み出しを行ったり、プロセッサコア
部110での主記憶メモリ112への書き込みが一旦キ
ューイグバッファ514に格納されてから書き込まれる
ような本発明が採用しているアクセス方法では、誤って
古いデータを読んだり、古いデータを書き込むことがな
いように、何らかの方法により保証する必要が生じる。
このことを以後データの一貫性保証ということにする。
以下、図1及び図3を用いて、一貫性保証の考慮をしな
いで3箇所からのアクセスが行われた場合に生じる3つ
の不都合について説明する。
【0056】図3は被処理データa及びbの処理におけ
るプリフェッチ制御部109及びプロセッサコア部11
0からの主記憶メモリ112アクセスの競合の一例を示
すタイミングチャートである。図3の例では、時刻T1
においてプリフェッチ制御部109が後にプロセッサコ
ア部110が被処理データaを処理するのに必要となる
3ワードのプリフェッチアドレスapf1〜apf3の
計算が終了した時点で命令デコーダ591がプリフェッ
チアドレス計算終了を通知する専用命令afinを解読
している。この専用命令がプリフェッチのトリガとな
り、プリフェッチ制御部109はリクェスト信号を制御
バス128を介してバス制御部111に送る。バス制御
部111はバス使用の調停を行い、プリフェッチ制御部
109は制御バス128を介してバス使用許可を受信す
ると、アドレスバス127に読み出しアドレス、制御バ
ス128に読み出し指示信号を送出し、バス制御部11
1が主記憶メモリ112を読み出す。以上の手続きによ
り時刻T1直後から主記憶メモリ112のプリフェッチ
アドレスapf1〜apf3を読み出している。図3に
おいてアドレスapf1とapf2の間が空いているの
は、他の被処理データ処理回路108からのアクセスが
優先されて、アドレスapf2へのアクセスが待ち状態
になっていることを意味する。
【0057】ここで、図3の様に、時刻T2において、
プリフェッチ制御部109が被処理データaに対する処
理終了を意味する専用命令pfinを実行して、状態3
への遷移待ちであることを、バッファメモリ状態制御部
107に通知したとする。バッファメモリ状態制御部1
07は直ちに被処理データaが格納されているバッファ
メモリ105を状態2から状態3に遷移させ、プロセッ
サコア部110が被処理データaの処理を開始し、図3
の例では時刻T3においてプロセッサコア部110で
は、プリフェッチ制御部109がプリフェッチするアド
レスapf3の内容を参照する命令apf3readが
実行されている。しかしこの時プリフェッチ制御部10
9では、アドレスapf3の読み出しが完了していな
い。従ってプロセッサコア部110がこのまま構わずプ
リフェッチメモリA面597/B面598を読んでしま
うと誤った値を読んでしまい、主記憶メモリ上のデータ
の一貫性が取れなくなる。
【0058】引き続き図3を参照し、第2の不都合の点
に関して説明する。時刻T4、T5においてプロセッサ
コア部110は、被処理データaに関し書き込み命令a
w1、aw2を実行している。また、時刻T6において
プリフェッチ制御部109は後にプロセッサコア部11
0が被処理データbを処理するのに必要となる3ワード
のプリフェッチアドレスbpf1〜bpf3の計算が終
了したことを通知する専用命令afinを実行してい
る。この専用命令がプリフェッチのトリガとなり、リク
ェスト信号を制御バス128を介してバス制御部111
に送る。バス制御部111はバス使用の調停を行い、プ
リフェッチ制御部109は制御バス128を介してバス
使用許可を受信すると、アドレスバス127に読み出し
アドレスbpf1〜3、制御バス128に読み出し指示
信号を送出し、バス制御部111が主記憶メモリ112
のプリフェッチアドレスbpf1、bpf2を読み出
す。さらに時刻T7においてプロセッサコア部110が
被処理データaに関し書き込み命令aw3を実行し、図
3の例では、アドレスbpf3へのアクセスより、プロ
セッサコア部110からアドレスaw3への書き込みの
ためのアクセスが優先され実行されている。このように
プリフェッチ制御部109からの読み出しのためのアク
セスと平行して、プロセッサコア部110では被処理デ
ータaに対する処理が行われており、時刻T4、T5、
T7、T8及びT9においてaw1、aw2、aw3、
aw4及びaw5への書き込み命令が発行され、バス制
御部111におけるバス調停でバスが獲得されて主記憶
メモリ112への書き込みが行われている。
【0059】ここで、主記憶メモリ112上のデータの
一貫性を考えたとき、被処理データbの処理のためにプ
リフェッチしたアドレスbpf1〜3のデータは、常に
被処理データbの1つ前の被処理データである被処理デ
ータaに対する処理結果を反映したデータを読み出して
いる必要がある。だが、もし仮に、プリフェッチするア
ドレスと同じアドレスに対して、プリフェッチアクセス
より後に書き込みが実行された場合、例えば図3のbp
f3とaw4が同一アドレスである場合、プロセッサコ
ア部110で被処理データを処理する際、1つ前の被処
理データの処理結果が反映されたデータを使うことが出
来なくなり、主記憶メモリ112上のデータの一貫性が
取れなくなる。
【0060】更に続いて図3を参照し、第3の不都合に
就いて説明する。図3の時刻T10において被処理デー
タaに対するプロセッサコア部110でのプログラム処
理が終了し、専用命令finを実行することで、被処理
データaに対する処理終了が信号線578〜123を介
してバッファメモリ状態制御部107に通知されたとす
る。バッファメモリ状態制御部107は直ちに被処理デ
ータaが格納されているバッファメモリ105を状態3
から状態4に遷移させ、出力制御回路106で処理済み
データaの出力処理を行う。その直後に被処理データb
が格納されているバッファメモリ105が状態2から状
態3へ遷移し、プロセッサコア部110は被処理データ
bに対する処理を開始し、図3の例では時刻T11で被
処理データbに関してアドレスaw5のデータがプロセ
ッサコア部110のプログラム命令によって読み出され
ている。アドレスaw5は、T9においてプロセッサコ
ア部110が被処理データaの処理結果として書き込み
命令を発行したアドレスである。従って例えば図3の例
のように時刻T12において、読み出しが行われた後、
時刻T13において書き込みが行われると、プロセッサ
コア部110では、被処理データaの処理結果を反映し
て被処理データbの処理が出来なくなり、主記憶メモリ
112上データの一貫性が取れなくなる。
【0061】本発明では、以上説明した3種類の不都合
に対し以下に示す3点の対策により主記憶メモリ112
上のデータの一貫性を保証している。以下、3点の対策
について、図3のタイミングチャートに対応して図4に
示す対策後のタイミングチャートを参照して説明する。
【0062】対策の第1点として、プリフェッチアクセ
ス制御部569におけるプリフェッチアクセスの完了を
状態2から状態3への遷移条件とした。図3において
は、被処理データaの状態2から状態3への遷移タイミ
ングは、時刻T2での被処理データaに対するプリフェ
ッチ制御部109での処理終了を通知する専用命令pf
in実行時であった。従って、被処理データbが状態3
に遷移した時刻におけるapf1〜apf3へのプリフ
ェッチアクセス完了が保証されていない。図3の例のよ
うに時刻T3で予めプリフェッチされているべきアドレ
スapf3のデータを読もうとしたときプリフェッチア
クセス未完了の場合が考えられ、誤って古いデータを読
んでしまう可能性がある。そこで、本発明では被処理デ
ータaの状態2から状態3への遷移条件を、プリフェッ
チ制御部109での処理終了を通知する専用命令pfi
nの実行に加え、プリフェッチメモリアクセス完了の条
件を加え、この両方の条件を満足したときにに状態2か
ら状態3への遷移ができるようにした。図4の例では時
刻T2にpfin命令が実行されているが、この後に起
こるプリフェッチアクセス完了の時点(矢印301)で
被処理データaの状態2から状態3への遷移が行われて
いる。このことにより、被処理データaが状態3へ遷移
した時点ではプリフェッチアクセスが必ず完了している
ことになり、例えば直後の時刻T3でプロセッサコア部
110がapf3を参照するapf3readを行って
も主記憶メモリ112データの一貫性が保証される。
【0063】対策の第2点として、キューイングバッフ
ァ制御部513が行うキューイングバッファ514の内
容の主記憶メモリ112への書き込み完了を状態3から
状態4への遷移条件とした。被処理データaが状態3か
ら状態4に遷移するタイミングは図3では時刻T10で
の被処理データaに対するプロセッサコア部110での
処理終了を通知する専用命令finの実行時であった。
この方法では被処理データbが状態3に遷移した時点
で、プロセッサコア部110での被処理データaに対す
る処理結果書き込み完了が保証されていない。図3のよ
うに時刻T11でaw5を読み出そうとした時、被処理
データaの処理結果書き込み未完了の場合が起こり得
る。本発明では、被処理データaが状態3から状態4に
遷移する条件を、プロセッサコア部110の処理終了を
通知する専用命令finの実行の条件に、プロセッサコ
ア部110からの書き込み完了の条件を加え、この両条
件を満足したときに被処理データaが状態3から状態4
に遷移するようにした。従って、プロセッサコア部11
0が新規被処理データbの処理を開始した時点には、前
被処理データaの書き込み処理の完了が保証される。
【0064】対策の第3点は、バス調停アルゴリズムの
動的管理と主記憶メモリ書き込み時のアドレス監視であ
る。先に第2の不都合として説明したように、図3の例
では新規被処理データbのプリフェッチアドレスbpf
3と前被処理データaの書き込みアドレスaw4が同一
アドレスであった場合、被処理データbがプロセッサコ
ア部110での処理の際に参照されるプリフェッチアド
レスbpf3のデータは時刻T14でプリフェッチされ
た、書き込みアドレスaw4への書き込み前のデータで
あった。本来なら被処理データaに対する処理結果とし
て時刻T15に書き込まれたデータを参照しなければな
らないのに、これでは古いデータを参照して処理するこ
とになってしまう。従って本発明では、以下のようにバ
ス制御部111でのバス調停アルゴリズムの動的管理を
行うと共に、プロセッサコア部110からの書き込み処
理時において書き込みアドレスの監視を行い、既にプリ
フェッチしたデータについては主記憶メモリ112と同
期してプリフェッチメモリ597/598を更新するこ
とにより主記憶メモリ112のデータの一貫性を保証す
る。
【0065】すなわち、当該被処理データに関する書き
込みと次被処理データに関するプリフェッチの混在を防
ぐため、バス制御部111では、プリフェッチ制御部1
09からのプリフェッチリクェストとプロセッサコア部
110からのデータ書き込みリクェスト間の調停に際し
て、一旦プリフェッチ制御部109からのプリフェッチ
アクセス(読み出し)に対してバス使用許可を発出する
と、プリフェッチアドレスメモリ595に予約された全
ワードのアクセスを完了するまでは、プロセッサコア部
110からの書き込み要求より優先度の高い要求として
処理する。また、反対に、一旦プロセッサコア部110
からの書き込み要求に対してバス使用許可を発出する
と、キューイングバッファ514からの主記憶メモリ1
12への書き込みが完了するまでプリフェッチアクセス
より優先度の高い要求として処理する。
【0066】さらに、本発明ではプロセッサコア部11
0からの書き込みアドレスを監視する機能を備えた。す
なわち、上記バス調停アルゴリズムにより次被処理デー
タに関するプリフェッチが優先された場合には、当該被
処理データに関するプロセッサコア部110からの書き
込み処理時に、その書き込みアドレスの中に、次被処理
データの処理用にプリフェッチしてあるプリフェッチア
ドレスと一致するものがないかどうかの検索を行い、検
索の結果一致しているアドレスがあった場合には、主記
憶メモリ112に書き込むと同時に、該当アドレスのデ
ータが既に読出され格納されているプリフェッチメモリ
(A面/B面)597/598を書き込みデータで更新
することにより、プロセッサコア部110での被処理デ
ータのデータ処理において、直前までの被処理データ処
理結果が反映されたデータを参照できるようにした。こ
の機構はプリフェッチアクセスが優先的に処理される時
にだけ活性化される機構であって、上記調停アルゴリズ
ムにより書き込み処理が優先的に処理される場合は、書
き込み後の主記憶メモリ112上のデータがプリフェッ
チされるためこのようなアドレス監視・更新処理は不要
となる。
【0067】以上に説明した2点を考慮した場合の動作
の詳細について以下に説明する。この動作は専用命令a
fin(プリフェッチ制御部109から発出され、主記
憶メモリ112アクセス開始のトリガとなる)か専用命
令fin(プロセッサコア部110から発出される)の
どちらが先に発出されたかにより異なるので、以下では
これら2つの場合について別々に説明する。
【0068】最初に専用命令afinが先着した場合の
動作を図4及び図8、図9により説明し、その後図7を
参照してこの場合のバス調停アルゴリズムについて説明
する。図4の時刻T4及びT5においてプロセッサコア
部110から主記憶メモリ112の書き込み命令が発行
されている(aw1、aw2)が、その実行は開始トリ
ガが発生するまで留保される。この時の動作を図9で説
明すると、命令メモリ510の命令を命令デコーダ51
1が解読した結果、主記憶メモリ112への書き込み命
令であることが解ると、命令デコーダ511はその結果
を信号線561を介して演算処理/実行制御部512に
伝える。演算処理/実行制御部512は信号線563を
介して主記憶メモリ書き込みアドレスを、また内部バス
564を介して主記憶メモリ書き込みデータをそれぞれ
キューイングバッファ514に出力する。
【0069】同時に信号線562を介して書き込み指示
がキューイングバッファ514とキューイングバッファ
制御部513へ出力される。これにより、キューイング
バッファ514には主記憶メモリ112への書き込みア
ドレスと書き込みデータが1組格納される。キューイン
グバッファ制御部513はキューイングバッファ514
を管理し、演算処理/実行制御部512から信号線56
2を介して出力された書き込み指示により、当該被処理
データ処理中の主記憶メモリ112書き込み命令数をカ
ウントする。次に図4の例では、時刻T6でプリフェッ
チ制御部109により、被処理データbについてのプリ
フェッチアドレス計算が終了したことを通知する専用命
令afinが実行される。この命令がプリフェッチアク
セスの開始のトリガとなり、命令デコーダ591から信
号線526を介しプリフェッチアクセス制御部596に
伝えられ、プリフェッチアクセス制御部596が信号線
538を介してプリフェッチリクェストをバス制御部1
11に対し出力する。
【0070】図4の時刻T4、T5のように専用命令a
fin実行前に、プロセッサコア部110で主記憶メモ
リ112書き込み命令(aw1、aw2)が実行されて
いた場合、キューインバッファ制御部513からもプリ
フェッチリクェストと同じタイミングで、非優先書き込
みリクェストが信号線567を介してバス制御部111
に出力される。この時の非優先書き込みリクェスト発出
の機構を図9で説明する。上記専用命令afinは信号
線526〜124をへてプロセッサコア部110のキュ
ーイングバッファ制御部513に伝わり、キューイング
バッファ制御部513専用命令afinが実行されたこ
とを知る。この時迄にプロセッサコア部110で既に書
き込み命令が発行されたことは、キューイングバッファ
制御部513が信号線562からの情報により書き込み
命令発行数をカウントするため既知であり、書き込み命
令発行時は直ちに非優先書き込みリクェストが発出され
る。また、図5、aw1、aw2(時刻T4、T5)に
示す場合のように、書き込み開始のトリガとなる専用命
令afin(時刻T6)が実行された後に書き込み命令
が発行された場合は、時刻T4において1回目の書き込
み命令(aw1)が発行されると、直ちに信号線567
を介して非優先書き込みリクェストが発出される。
【0071】次に、この様にしてバス制御部111が受
信したプリフェッチリクェスト及び非優先書き込みリク
ェスト信号が、バス制御部111によりどのように調整
されるかについて図7のバス制御部111のバス調停ア
ルゴリズムを示すフローチャートを参照して説明する。
図4の場合のように専用命令afin発行時点(時刻T
6)で、既に書き込み命令が発行(時刻T4、T5)さ
れていると、前に述べたようにバス制御部111は、プ
リフェッチリクェトと非優先書き込みリクェトとを同一
のタイミングで受信する。この場合の図7の各ステップ
を順を追って説明する。図7を参照して、バス制御部1
11は、初期状態として優先書き込みインヒビット信号
とプリフェッチインヒビット信号の2つのインヒビット
信号をオフにし(ステップ401、402)各リクェス
トの到着を待つ。すなわち、まず優先書き込みリクェス
トの受信の有無をチェックし(ステップ403)受信し
ていないのでステップ403は「無」を経てステップ4
04に到るが、プリフェッチインヒビット信号はステッ
プ402でオフになっているので、ステップ404を通
り抜けてステップ407に移りプリフェッチリクェスト
の受信の有無をチェックする。プリフェッチリクェスト
は受信されており、プリフェッチインヒビット信号はオ
フであるからステップ409からステップ410に移
り、優先書き込みインヒビット信号をオンにして書き込
みアクセスを防止しておく。次にここではプロセッサコ
ア部110から読み出しリクェストが発出されていない
場合を仮定する。この仮定により、ステップ410から
ステップ411を経て、ステップ413に到るが、専用
命令afinが先着している場合なので、優先書き込み
リクェストは無く、ステップ416に移るが、プリフェ
ッチリクェストは有り、プリフェッチインヒビットはオ
フになっているのでステップ417からステップ418
に移りプリフェッチに対するバス使用許可を出力する。
これによりプリフェッチアクセスが1回実行される。そ
の後、ステップ403に戻り、次のアクセス調停が行わ
れる。
【0072】先に述べたように、一旦プリフェッチに対
するバス使用許可を発出した後は、プリフェッチリクェ
ストの続く限り、すなわちプリフェッチアドレスメモリ
595に予約された全ワードのアクセスが完了するまで
プリフェッチに対して優先的にバス使用許可が発出され
る。すなわち、図4の場合は、時刻T6の専用命令af
inをトリガに、アドレスbpf1からbpf3まで3
ワードのプリフェッチが連続して実行される。これは、
プリフェッチ制御部109が被処理データbに対して3
ワードのプリフェッチアドレスを計算したことを意味す
る。このために、ステップ410において、優先書き込
みインヒビット信号をオンにし、プリフェッチアクセス
の途中においてプロセッサコア部110で専用命令fi
nが発出された場合にも、ステップ414でこのインヒ
ビット信号をチェックすることによりプリフェッチアク
セスを優先処理させるようにしている。
【0073】プリフェッチアクセスの処理が終わると、
すなわち、プリフェッチアドレスメモリ595に記録さ
れた全アドレスのプリフェッチが完了すると、プリフェ
ッチアクセス制御部596はプリフェッチリクェストの
出力を停止する。以下、プリフェッチリクエストが出力
されていない場合のバス制御部111での調停アルゴリ
ズムについて説明する。図7、ステップ403において
優先書き込みリクェストは受信していない場合、制御は
ステップ403、404を経てステップ407に移る。
プリフェッチリクェストは無くなっているので、ステッ
プ408で優先書き込みインヒビット信号をオフにす
る。次に、ここでもプロセッサコア部110より読み出
しリクェストが発出されてない場合を仮定する。すなわ
ち、ステップ411は「無」へ出て、ステップ413に
移り、優先書き込みリクェストは「無」で、ステップ4
16のプリフェッチリクェストも「無」で、ステップ4
19の非優先リクェストが「有」でステップ420の非
優先書き込みに対するバス使用許可が実行され、ステッ
プ403へ帰る。この様にして、(次被処理データのプ
リフェッチは完了しているので)非優先書き込みに対す
るバス使用許可がaw1、aw2と連続して発出され
る。
【0074】図4の場合では、アドレスaw1とaw2
への書き込みが行われた後に3回の待ち時間が生じてい
る。これは他の被処理データ処理回路108から、優先
順位の高い要求がバス制御部111に到着している為で
ある。図4では、時刻T10にプロセッサコア部110
において専用命令finが発行され、その直後から書き
込み処理が再開され、アドレスaw3〜aw5に書き込
んでいる。これは上述したように専用命令finにより
優先書き込みリクェストが発出される為、これにより当
該被処理データ処理回路108からの書き込みリクェス
トの方が高い優先度となり、バス制御部111において
優先的に処理される為である。これは、バッファメモリ
105の状態2から状態3への遷移条件としてプロセッ
サコア部110からの書き込み完了するまでは次の被処
理データが処理待ちとなるため、専用命令fin発行後
は優先順位を高くして書き込み処理を速やかに完了させ
るための調停アルゴリズムである。
【0075】ところでプリフェッチ制御部109からの
プリフェッチアクセスを、プロセッサコア部110から
の書き込みより優先的に処理すること自体で主記憶メモ
リ112の一貫性が保たれるわけではない。前述のよう
にプロセッサコア部110からの書き込みアドレスを監
視し、次の被処理データに対するプリフェッチアドレス
中に一致するものがあった場合、書き込みデータを設定
状態のプリフェッチメモリ(A面/B面)597/59
8に書き込むことで一貫性を保証している。
【0076】以下、図4、図8,図9及び図10を使っ
てこの一貫性保証機構の動作を説明する。上述のよう
に、バス制御部111は、プリフェッチアクセスが完了
すると、プロセッサコア部110からの非優先書き込み
リクェストを許可する。この許可信号は信号線567を
介してキューイングバッファ制御部513に伝えられ、
信号線579上にキューイングバッファ読み出し指示信
号が出力され、アドレス線584上にキューイングバッ
ファの読み出しアドレスが出力され、キューイングバッ
ファ514から主記憶メモリ112への書き込みアドレ
スと書き込みデータが信号線580と581からアドレ
スバス127とデータバス126にそれぞれ出力され
る。この時、主記憶メモリ112上のデータの一貫性を
保証するため、主記憶メモリ112への書き込み動作と
平行してプリフェッチアドレスメモリ595の検索が行
われる。すなわち、信号線580に出力される書き込み
アドレスが同時に検索キーとして信号線572〜130
を経てプリフェッチアドレスメモリ595に供給され、
キューイングバッファ制御部513からはプリフェッチ
アドレスメモリ595に対し信号線571〜130を介
して検索指示信号が出力され、プリフェッチアドレスメ
モリ595のCAM検索が行われる。
【0077】検索の結果、プリフェッチアドレスメモリ
595中に一致するアドレスが無い場合、プリフェッチ
データと関係ないデータの書き込みを意味するので、特
別の処理は行わない。検索の結果、プリフェッチアドレ
スメモリ595中に一致するアドレスが有った場合、書
き込みデータを設定状態のプリフェッチメモリ(A面/
B面)597/598の該当データが格納されているア
ドレスに、主記憶メモリ112への書き込みデータが書
き込まれる。この際の動作について説明する。検索の結
果、プリフェッチアドレスメモリ595中に一致するア
ドレスが有ると、プリフェッチアクセス制御部596は
信号線533を介してこの一致を知り、信号線528/
529により書き込みデータを設定状態のプリフェッチ
メモリ(A面/B面)597/598に対して書き込み
指示を出力する。その際の書き込みアドレス及び書き込
みデータは、信号線533の検索一致信号で2つの2入
力セレクタ599がB入力選択に切り替わる為、書き込
みアドレスがプリフェッチアドレスメモリ595からの
信号線532の検索アドレス、書き込みデータがキュー
イングバッファ514からの信号線581〜583〜1
30を経由して供給される主記憶メモリ書き込みデータ
になる。
【0078】以上の動作を図10を用いて説明する。あ
る被処理データにおいて6ワードがプリフェッチされ、
プリフェッチアドレスメモリ595にはN−5番地から
N番地にプリフェッチ予約された情報が格納されている
とする。各エントリには、プリフェッチされた主記憶メ
モリ112のアドレス情報602と、プリフェッチした
データの格納先アドレス情報601が1ワードに格納さ
れている。主記憶メモリ112のアドレス1F00番地
への書き込み処理時において、プリフェッチアドレスメ
モリ595がこのアドレスデータ1F00を検索キーと
してCAM検索され、N−3番地に一致するデータが見
つかる。一致するデータが見つかると、プリフェッチア
ドレスメモリ595の一致アドレス(図10の例ではN
−3番地)中の601フィールドの値(図10の例では
13番地)を設定状態のプリフェッチメモリ(A面/B
面)597/598への書き込みアドレスとして、主記
憶メモリ112への書き込みデータ(図10の例では1
0FF0C24)を書き込む。
【0079】次に、専用命令fin先着の場合の動作に
ついて図6、図8及び図9を使って、主記憶メモリ11
2アクセスリクェストの発出タイミングや内部動作につ
いて説明し、その後図7を使って、バス調停アルゴリズ
ムに関して説明する。図6は被処理データの到着間隔に
若干空きが存在する場合の例である。このような場合、
被処理データaの処理が先行しプロセッサコア部110
からの専用命令finがプロセッサコア部110での被
処理データa処理結果の書き込みトリガとなる(時刻T
7)。このときの動作を図9を使って説明する。命令メ
モリ510から読み込んだ命令を命令デコーダ511で
解読した結果、専用命令finであることが判ると命令
デコーダ511は信号線567を介して制御バス128
に優先書き込みリクェストを出力する。このリクェスト
がバス制御部111で調停されて、バス使用許可信号が
バス制御部111から出力され、制御バス128、信号
線567を経て受信されると、プロセッサコア部110
は書き込み処理を開始する。この時の書き込み処理は、
プリフェッチ制御部109の専用命令afinをトリガ
とした書き込み処理と同様にキューイングバッファ制御
部513がキューイングバッファ514から書き込みア
ドレスと書き込みデータを読み出して処理されていく
が、プリフェッチアドレスメモリ595の検索処理を行
わないところが相違点である。
【0080】次に、バス制御部111が受信した優先書
き込みリクェスト信号に対しどのように調停されるかに
ついて図7に示す各ステップを追って説明する。図6の
時刻T6において、次非処理データbに関する専用命令
afinは未発出なので主記憶メモリバスは空き状態に
あり、2つのインヒビット信号はオフになっている。ス
テップ403で優先書き込みリクェストがチェックさ
れ、優先書き込みリクェストを受信しているので、ステ
ップ403、ステップ405を経てステップ406に移
りプリフェッチインヒビット信号をオンにする。ステッ
プ407でプリフェッチリクェストは受けてないので、
ステップ408を素通りする。ここでも、プロセッサコ
ア部110から読み出しリクェストが発出されてない場
合を仮定する。ステップ411からステップ413、4
14、415に移り、優先書き込みリクェストに対して
バス使用許可を出力する。その後はステップ403に戻
り優先書き込みが続けられる。
【0081】図6の時刻T8においてプリフェッチ制御
部109から専用命令afinが発行されている。しか
し、常に優先書き込みリクェストをプリフェッチリクェ
ストよりも先にチェックし、しかもアドレスaw6の書
き込みが完了するまでの間、優先書き込みリクェストが
発出し続けており、プリフェッチインヒビットをオフに
出来ない為、優先書き込み処理が先に処理される。
【0082】アドレスaw6まで書き込みが終了する
と、優先書き込みリクストが解除され、図7のステップ
403からステップ404に移り、プリフェッチインヒ
ビット信号がオフになる。アドレスaw6の書き込み完
了時には既にプリフェッチ制御部109で専用命令af
inが発行されているので、プリフェッチリクェストが
発出されており、プリフェッチインヒビット信号はオフ
なので(ステップ407、409)ステップ410で優
先書き込みインヒビット信号がオンにされる。次に、こ
こでも、プロセッサコア部110からの読み出しリクェ
ストは、発出されてないと仮定する。ステップ411か
らステップ413、416、417、418に到りプリ
フェッチアクセスに対しバス使用許可が発出される。
【0083】これまで、プロセッサコア部110からの
読み出しリクェストがない場合のバス調停アルゴリズム
についてそれぞれ説明したが、前述したようにプロセッ
サコア部110からの主記憶メモリ112の直接読み出
しは、データ読み出しが完了するまでの間プロセッサコ
ア部110の次命令は処理待ち状態になり、性能低下を
引き起こす。このため、プロセッサコア部110からの
読み出しリクェストの有無は、ステップ413、416
及び419の優先書き込みリクェスト、プリフェッチリ
クェスト及び非優先書き込みリクェストの全てに優先し
てステップ411でチェックされ「有」の場合には無条
件でバス使用許可が付与される(ステップ412)。
【0084】以上述べたように、主記憶メモリ112の
書き込みについてのバス使用調停は、 1)当該被処理データの処理が次被処理データのプリフ
ェッチアドレスの算出に先行して終了した場合は、専用
命令finが実行され、優先書き込みリクェストにより
プリフェッチリクェストに優先してキューイングバッフ
ァ514内の書き込みデータが連続処理され、その後プ
リフェッチが行われるので最新のデータがプリフェッチ
されプロセッサコア部110により参照される。 2)次被処理データのプリフェッチアドレスの算出が当
該被処理データの処理に先行して終了した場合には、専
用命令afinが先に実行され、プリフェッチアクセス
が優先実行されるが、その後の主記憶メモリ112への
非優先もしくは優先書き込みに際しては、書き込みアド
レスのデータがプリフェッチされていた場合にはプリフ
ェッチデータを同時に更新されるので、プロセッサコア
部110は同様に最新のデータを参照することができ
る。
【0085】以上、プリフェッチ制御部109が専ら主
記憶メモリ112のデータのプリフェッチのみを担当す
る本発明の実施形態について説明した。先に述べたよう
に、本発明の目的はプロセッサコア部110でのプログ
ラム処理において必要な主記憶メモリ112上のデータ
を1状態前においてプリフェッチして、主記憶メモリ1
12アクセス時間の短縮を図ることである。プリフェッ
チ制御部109でのプリフェッチアドレスの特定は、状
態2の被処理データ参照やタイマー機能により判断し、
プロセッサコア部110での処理結果や主記憶メモリ1
12の内容を参照せずにプリフェッチアドレスを特定し
た。この考えを応用してプリフェッチ制御部109をデ
ータのプリフェッチに限ることなく、その他のプロセッ
サコア部110の前処理プロセッサに利用することも可
能である。すなわち、状態2の被処理データ参照やタイ
マー機能により処理内容が特定される処理については、
プリプロセッサ部500に被処理データ処理に適する命
令セットを用意することにより、プリプロセッサ部50
0で前処理を行い、処理結果をプリフェッチメモリA面
597又はB面598同様の2面構成の記憶資源を新た
に設けることでプロセッサコア部110がプリプロセッ
サ部500の前処理結果を参照して処理する分散処理化
が可能となり、全体の処理スルートップを向上すること
もできる。
【0086】
【発明の効果】以上述べたように本発明によれば (1)プログラム実行待ち時間が低減される。 (2)プログラム命令から見たメモリアクセスの待ち時
間が隠蔽される。 (3)安価なメモリ素子を使用することができる。 (4)主記憶メモリを被処理データ処理回路間のデータ
通信空間に活用できる。 (5)プロセッサの保証性能値が向上する。 (6)主記憶メモリの実効データ転送能力が向上するな
どの効果がある。
【0087】効果(1)について言えば、プリフェッチ
制御部109が主記憶メモリをプリフェッチすること
で、プロセッサコア部110でのプログラム処理におい
て必要な主記憶メモリデータの多くが予めチップ内部の
高速RAMに格納される。また、書き込みでは実際に主
記憶メモリ112への書き込みが行われるのを待たずに
次命令を実行できる。これにより主記憶メモリアクセス
待ちが原因となるプログラム実行待ち時間を低減でき
る。効果(2)について言えば、プロセッサコア部11
0のプログラム命令による主記憶メモリ112読み出し
アクセスを除く他のアクセスは、プロセッサコア部11
0のプログラム処理と非同期に行うことができる。ここ
での非同期とは、読み出しでは予めプリフェッチされた
データを読み出し、書き込みでは実際に主記憶メモリ1
12への書き込み処理を待たずに次命令を実行すること
を意味する。その為、主記憶メモリに使用するメモリ素
子は、アクセス指示してからデータが読み出されるまで
の待ち時間(レイテンシ)が長くてもプログラム実行待
ちが生じない。
【0088】効果(3)について言えば、通常主記憶メ
モリアクセス待ち時間を問題とするようなアプリケーシ
ョンプログラムにはキャッシュミスヒット時のプログラ
ム待ち時間を少なくするためにアクセス時間の早いメモ
リ素子を使用する必要があるが、本発明では効果(2)
で述べたように、アクセス時間やレイテンシの大きいメ
モリ素子を使用してもプログラム実行待ち時間の増加に
直接つながらないので主記憶メモリ用に安価なメモリ素
子を使用することが可能になる。効果(4)について言
えば、複数の被処理データ処理回路108が1つの主記
憶メモリ112とそのメモリバスを共有しているため、
主記憶メモリ112がそのまま被処理データ処理回路1
08間のデータ通信空間としての機能を持つ。
【0089】効果(5)について言えば、プリフェッチ
により読み出された主記憶メモリ112上のデータは、
プロセッサコア部110のプログラムから待ち時間無し
での参照が保証され、予め何ワードがプリフェッチされ
るかが既知であれば、プリフェッチによる主記憶メモリ
アクセス改善効果が定量化でき、プロセッサの保証性能
値を向上することができる。
【0090】効果(6)について言えば、同期式のメモ
リ素子では、読み出しアクセスから書き込みアクセスへ
の切り換え時には、通常、読み出し後一旦メモリ素子を
休止させてから書き込みをする必要があり、一般に「レ
ジスタ・レジスタ」と呼ばれる、メモリコアの前後にレ
ジスタが存在するメモリ素子の場合では、2クロックの
休止期間が必要となる。従って、バスの帯域を有効に引
き出す為には読み出した後書き込みをする切り換え回数
を減らさねばならない。本発明では、バス制御部111
により、プリフェッチ制御部109でのプリフェッチア
クセスとプロセッサコア部110での処理結果書き込み
アクセスのいずれかを連続優先処理するように調停する
ことで読み出しから書き込みへの切り換え回数が減少す
るため、主記憶メモリ112の実効データ転送能力が向
上する。
【図面の簡単な説明】
【図1】本発明の主記憶メモリアクセス装置の構成を示
すブロック図である。
【図2】図1のバッファメモリの状態遷移を示す説明図
である。
【図3】図1の装置において、データの一貫性を考慮し
ない場合に、被処理データが連続到着した時のプログラ
ム命令とメモリアクセスタイミングの関係の一例を示す
タイミングチャートである。
【図4】図1の装置において、データの一貫性を考慮し
た場合の、被処理データが連続到着した時のプログラム
命令とメモリアクセスタイミングの関係の一例を示すタ
イミングチャートである。
【図5】図1の装置において、データの一貫性を考慮し
た場合の、被処理データが連続到着した時のプログラム
命令とメモリアクセスタイミングの関係の他の例を示す
タイミングチャートである。
【図6】図1の装置において、データの一貫性を考慮し
た場合の、被処理データが間欠到着した時のプログラム
命令とメモリアクセスタイミングの関係の一例を示すタ
イミングチャートである。
【図7】図1のバス制御部の調停アルゴリズムを示す流
れ図である。
【図8】図1のプリフェッチ制御部の詳細構成を示すブ
ロック図である。
【図9】図1のプロセッサコア部の詳細構成を示すブロ
ック図である。
【図10】図8のプリフェッチアドレスメモリの構成を
示す模式図である。
【図11】プリフェッチアドレス計算の一例を示す模式
図である。
【図12】プリフェッチアドレス計算の他の例を示す模
式図である。
【符号の説明】
101 入力ポート 102 出力ポート 103 入出力バッファメモリ回路 104 入力制御回路 105 バッファメモリ 106 出力制御回路 107 バッファメモリ状態制御部 108 被処理データ処理回路 109 プリフェッチ制御部 110 プロセッサコア部 111 バス制御部 112 主記憶メモリ 120〜125、130、520〜584 信号線 126 データバス 127 アドレスバス 128 制御バス 129 外部CPUバス 500 プリプロセッサ部 501 メモリアクセス部 510、590 命令メモリ 511、591 命令デコーダ 512、592 演算処理/実行制御部 513 キューイングバッファ制御部 514 キューイングバッファ 515、593 ワークメモリ 594 CAM 595 プリフェッチアドレスメモリ 597 プリフェッチメモリ(A面) 598 プリフェッチメモリ(B面) 599 2入力セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 志村 直樹 神奈川県川崎市中原区小杉町一丁目403番 地 日本電気テレコムシステム株式会社内 (72)発明者 寺本 博樹 神奈川県川崎市中原区小杉町一丁目403番 地 日本電気テレコムシステム株式会社内 Fターム(参考) 5B013 AA01 5B060 CA05 CA07 CB01

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 任意数の被処理データ処理回路と、この
    任意数の被処理データ処理回路がメモリバスを介して共
    通にアクセスする主記憶メモリへのアクセスリクェスト
    に対するバス使用調停を行うバス制御部と、内部メモリ
    とを備えたマイクロプロセッサにおいて、前記任意数の
    被処理データ処理回路のそれぞれは、 複数のバッファメモリと、 当該被処理データ処理回路に順次入力される被処理デー
    タをこの複数のバッファメモリの接続された一つに書き
    込む入力制御回路と、 前記複数のバッファメモリの接続された一つに書き込ま
    れた被処理データから、当該被処理データの所要処理に
    必要であると特定される前記主記憶メモリのデータを前
    記内部メモリにプリフェッチするプリフェッチ制御部
    と、 前記複数のバッファメモリの接続された一つに書き込ま
    れた被処理データについて、当該被処理データに関して
    前記プリフェッチ制御部により前記内部メモリにプリフ
    ェッチされた前記主記憶メモリのデータを用いて前記所
    要処理を行うプロセッサコア部と、 前記複数のバッファメモリの接続された一つに書き込ま
    れた被処理データを出力ポートに出力する出力制御回路
    と、 前記入力制御回路、前記プリフェッチ制御部、前記プロ
    セッサコア部及び前記出力制御回路のそれぞれに、非同
    期で行われるそれぞれの処理状態を勘案して、前記複数
    のバッファメモリのそれぞれを順次接続することによ
    り、当該被処理データ処理回路に順次入力される被処理
    データのパイプライン処理を制御するバッファメモリ状
    態管理部とを備えたことを特徴とする主記憶メモリのプ
    リフェッチ機構を備えたマイクロプロセッサ。
  2. 【請求項2】 前記バッファメモリ状態管理部は、前記
    複数のバッファメモリについて、前記入力制御回路への
    接続待ち状態を状態0とし、前記入力制御回路に接続さ
    れ被処理データが記入されている状態を状態1とし、前
    記入力制御回路での被処理データの記入が終了し前記プ
    リフェッチ制御部への接続待ち状態を状態1.5とし、
    前記プリフェッチ制御部に接続されている状態を状態2
    とし、前記プロセッサコア部に接続されている状態を状
    態3とし、前記出力制御回路に接続され被処理データが
    出力されている状態を状態4とするとき、 先行するバッファメモリが状態1を終え、前記入力制御
    回路に入力される被処理データが1単位以上となった場
    合に状態0にあるバッファメモリの一つを状態1に遷移
    させ、 状態1を終了したバッファメモリを状態1.5にあるバ
    ッファメモリの待ち行列の後尾に付け、 先行するバッファメモリが状態2を終えた場合に、状態
    1.5にあるバッファメモリの待ち行列の先頭を状態2
    に遷移させ、 先行するバッファメモリが状態3を終え、且つ前記特定
    される前記主記憶メモリのデータの前記内部メモリへの
    プリフェッチが完了したことを条件に状態2にあるバッ
    ファメモリを状態3に遷移させ、 先行するバッファメモリが状態4を終え、且つ前記所要
    処理に伴い発生した前記主記憶メモリへのデータ書き込
    みが完了したことを条件に状態3にあるバッファメモリ
    を状態4に遷移させ、 状態4を終了したバッファメモリを状態0に編入するよ
    う制御することを特徴とする請求項1に記載の主記憶メ
    モリのプリフェッチ機構を備えたマイクロプロセッサ。
  3. 【請求項3】 前記被処理データのそれぞれは前記所要
    処理に対応するコネクションID(識別子)を有するパ
    ケットデータであり、前記プリフェッチ制御部は接続さ
    れたバッファメモリのパケットデータのコネクションI
    Dの値から、コネクションID順にそれぞれ対応する所
    要処理に必要であると特定される前記主記憶メモリのデ
    ータのプリフェッチアドレスを記載したテーブルのエン
    トリの先頭アドレスを算出してこのテーブルを参照し、
    当該パケットデータの前記所要処理に必要であると特定
    される前記主記憶メモリのデータのプリフェッチアドレ
    スを取得することを特徴とする請求項1に記載の主記憶
    メモリのプリフェッチ機構を備えたマイクロプロセッ
    サ。
  4. 【請求項4】 前記被処理データのそれぞれは前記所要
    処理に対応するコネクションID(識別子)を有するパ
    ケットデータであり、前記プリフェッチ制御部は接続さ
    れたバッファメモリのパケットデータのコネクションI
    Dの値から、CAM(連想検索メモリ)を用いて、使用
    中のコネクションIDのそれぞれに対応する所要処理に
    必要であると特定される前記主記憶メモリのデータのプ
    リフェッチアドレスを記載したテーブルのエントリの先
    頭アドレスを検索してこのテーブルを参照し、当該パケ
    ットデータの前記所要処理に必要であると特定される前
    記主記憶メモリのデータのプリフェッチアドレスを取得
    することを特徴とする請求項1に記載の主記憶メモリの
    プリフェッチ機構を備えたマイクロプロセッサ。
  5. 【請求項5】 前記被処理データの前記所要処理に必要
    であると特定される前記主記憶メモリのデータが、当該
    被処理データの処理周期によって特定される場合には、
    前記プリフェッチ制御部は内部に有するタイマーの計数
    値から前記主記憶メモリのデータのプリフェッチアドレ
    スを算出することを特徴とする請求項1に記載の主記憶
    メモリのプリフェッチ機構を備えたマイクロプロセッ
    サ。
  6. 【請求項6】 前記内部メモリは、A面及びB面の2面
    からなるプリフェッチメモリとキューイングバッファを
    有し、 前記プリフェッチ制御部は接続されるバッファメモリの
    それぞれの被処理データの前記所要処理に必要であると
    特定される前記主記憶メモリのデータを前記A面及びB
    面を交互に使用してプリフェッチし、 前記プロセッサコア部は、前記A面及びB面の内前記プ
    リフェッチ制御部の使用していない面を参照して前記所
    要処理を行い、これに伴い発生した前記主記憶メモリへ
    の書き込みデータを前記キューイングバッファに蓄積し
    ておくことにより、前記所要処理の結果により初めて参
    照が必要となる前記主記憶メモリのデータの読み出しを
    除き、前記メモリバスの使用状態に影響されることなく
    前記所要処理を実行することを特徴とする請求項1に記
    載の主記憶メモリのプリフェッチ機構を備えたマイクロ
    プロセッサ。
  7. 【請求項7】 前記プリフェッチ制御部は、 CAMにより構成されるプリフェッチアドレスメモリを
    有し、当該被処理データの前記所要処理に必要であると
    特定される前記主記憶メモリのデータの読み出し先であ
    るプリフェッチアドレスと、このデータを格納すべき前
    記プリフェッチメモリの格納先アドレスを算出して、こ
    のプリフェッチアドレスメモリの同一アドレスに格納す
    るプリプロセッサ部と、 当該被処理データに関する前記プリプロセッサ部の前記
    プリフェッチアドレス及び前記格納先アドレスの算出の
    終了を待って、前記バス制御部にプリフェッチリクェス
    トを発出し前記メモリバスの使用許可を得て前記プリフ
    ェッチアドレスから前記主記憶メモリのデータを読み出
    し、前記プリフェッチメモリの前記格納先アドレスに格
    納する処理を、前記プリフェッチアドレスメモリに格納
    された全てのプリフェッチアドレスについて実行するメ
    モりアクセス部とを備え、 前記プロセッサコア部は、当該被処理データに関する前
    記所要処理が、前記プリプロセッサ部の実行するこの当
    該被処理データの次の被処理データの前記プリフェッチ
    アドレスの算出の終了に先行して終了した場合には、前
    記バス制御部に優先書き込みリクェストを発出し前記メ
    モリバスの使用許可を得て前記キューイングバッファに
    蓄積された主記憶メモリへの書き込みデータを主記憶メ
    モリに書き込む処理を前記キューイングバッファに蓄積
    された全てのデータについて実行し、前記次の被処理デ
    ータの前記プリフェッチアドレスの算出の終了が前記所
    要処理に先行して終了した場合には、前記所要処理終了
    までの間は前記バス制御部に非優先書き込みリクェスト
    を発出し、また前記所要処理終了後は前記バス制御部に
    優先書き込みリクェストを発出し、前記メモリバスの使
    用許可を得て前記キューイングバッファに蓄積された主
    記憶メモリへの書き込みデータを前記主記憶メモリに書
    き込むと同時に、前記メモりアクセス部を介して前記プ
    リフェッチアドレスメモリを検索し、当該主記憶メモリ
    への書き込みアドレスと一致するアドレスのデータがプ
    リフェッチされていた場合には検索結果から得られる前
    記格納先アドレスを用いて前記主記憶メモリへの書き込
    みデータで前記プリフェッチメモリを更新する処理を前
    記キューイングバッファに蓄積された全てのデータにつ
    いて実行するキューイングバッファ制御部を備え、 前記バス制御部は、前記プロセッサコア部の当該被処理
    データに関する前記所要処理が、前記次の被処理データ
    の前記プリフェッチアドレスの算出の終了に先行して終
    了した場合には前記プリフェッチリクェストより優先し
    て前記優先書き込みリクェストにバス使用許可を与え、
    前記次の被処理データの前記プリフェッチアドレスの算
    出の終了が前記プロセッサコア部の当該被処理データに
    関する前記所要処理に先行して終了した場合には前記優
    先書き込みリクェストより優先して前記プリフェッチリ
    クェストにバス使用許可を与えるバス使用調停を行うこ
    とを特徴とする請求項6に記載の主記憶メモリのプリフ
    ェッチ機構を備えたマイクロプロセッサ。
  8. 【請求項8】 前記プロセッサコア部は命令メモリを有
    し前記所要処理は、ユーザにより外部CPUバスを介し
    てこの命令メモリに格納されたプログラムに従って実行
    されることを特徴とする請求項1に記載の主記憶メモリ
    のプリフェッチ機構を備えたマイクロプロセッサ。
  9. 【請求項9】 前記プリフェッチ制御部は命令メモリを
    有し前記所要処理に必要であると特定される前記主記憶
    メモリのデータのプリフェッチアドレスは、ユーザによ
    り外部CPUバスを介してこの命令メモリに格納された
    プログラムに従って算出されることを特徴とする請求項
    1に記載の主記憶メモリのプリフェッチ機構を備えたマ
    イクロプロセッサ。
  10. 【請求項10】 前記プリフェッチ制御部は命令メモリ
    とワークメモリを有し前記所要処理に必要であると特定
    される前記主記憶メモリのデータは、ユーザにより外部
    CPUバスを介してこの命令メモリに格納されたプログ
    ラムに従って、同じくユーザにより外部CPUバスを介
    してこのワークメモリに展開される前記テーブルを参照
    して算出されることを特徴とする請求項3または4に記
    載の主記憶メモリのプリフェッチ機構を備えたマイクロ
    プロセッサ。
  11. 【請求項11】 前記内部メモリは、さらにA面及びB
    面の2面からなるプリプロセスメモリを有し、 前記プリフェッチ制御部は接続されるバッファメモリの
    それぞれの被処理データの前記所要処理に必要であると
    特定される前記主記憶メモリのデータを前記プリフェッ
    チメモリのA面及びB面を交互に使用してプリフェッチ
    すると共に、それぞれの被処理データの前記所要処理の
    うち、前記主記憶メモリへのデータ書き込みを必要とし
    ない処理の一部または全部を実行し、実行結果を前記プ
    ロプロセスメモリの前記A面及びB面を交互に使用して
    記録し、 前記プロセッサコア部は、前記プリフェッチメモリのA
    面及びB面の内前記プリフェッチ制御部の使用していな
    い面及び前記プリプロセスメモリのA面及びB面の内前
    記プリフェッチ制御部の使用していない面を参照して前
    記所要処理のその他の処理を実行することを特徴とする
    請求項6に記載の主記憶メモリのプリフェッチ機構を備
    えたマイクロプロセッサ。
JP25411198A 1998-09-08 1998-09-08 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ Expired - Fee Related JP3372873B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25411198A JP3372873B2 (ja) 1998-09-08 1998-09-08 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25411198A JP3372873B2 (ja) 1998-09-08 1998-09-08 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ

Publications (2)

Publication Number Publication Date
JP2000090003A true JP2000090003A (ja) 2000-03-31
JP3372873B2 JP3372873B2 (ja) 2003-02-04

Family

ID=17260386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25411198A Expired - Fee Related JP3372873B2 (ja) 1998-09-08 1998-09-08 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP3372873B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672176A (zh) * 2021-08-13 2021-11-19 济南浪潮数据技术有限公司 一种数据读取方法、系统、设备及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672176A (zh) * 2021-08-13 2021-11-19 济南浪潮数据技术有限公司 一种数据读取方法、系统、设备及计算机可读存储介质
CN113672176B (zh) * 2021-08-13 2023-12-29 济南浪潮数据技术有限公司 一种数据读取方法、系统、设备及计算机可读存储介质

Also Published As

Publication number Publication date
JP3372873B2 (ja) 2003-02-04

Similar Documents

Publication Publication Date Title
JP2986088B2 (ja) バッファ・メモリを動作させる方法及び関連する装置
US5473764A (en) Multilevel instruction cache
KR100524575B1 (ko) 데이타 처리시스템에서 복수개의 메모리 억세스 리퀘스트신호를리오더링하는 방법
US5586295A (en) Combination prefetch buffer and instruction cache
US6799257B2 (en) Method and apparatus to control memory accesses
US20030061445A1 (en) Methods and apparatus for improving throughput of cache-based embedded processors
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
EP2377026B1 (en) Resolving contention between data bursts
US7555576B2 (en) Processing apparatus with burst read write operations
JPH10232826A (ja) コンピュータ・システム
US5784711A (en) Data cache prefetching under control of instruction cache
US7370152B2 (en) Memory controller with prefetching capability
JP2001290706A (ja) Tlbキャッシュのためのプリフェッチ
JP2007500897A (ja) データ処理システムにおけるプリフェッチ制御
US6738837B1 (en) Digital system with split transaction memory access
US20110022802A1 (en) Controlling data accesses to hierarchical data stores to retain access order
US20040088490A1 (en) Super predictive fetching system and method
JP3420091B2 (ja) マイクロプロセッサ
JP2007207249A (ja) ミス衝突処理状態でのキャッシュ・ヒットのための方法、システムおよびマイクロプロセッサ
JP2000090003A (ja) 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ
JP2003099324A (ja) マルチメディアプロセッサ用のストリーミングデータキャッシュ
JP6016689B2 (ja) 半導体装置
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JPH0773035A (ja) 複数プロセツサ・システム
JP3095831B2 (ja) 計算機の作動方法及び計算機

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees