JP2001344153A - マルチプロセッサシステムのキャッシュメモリ制御装置 - Google Patents

マルチプロセッサシステムのキャッシュメモリ制御装置

Info

Publication number
JP2001344153A
JP2001344153A JP2000160529A JP2000160529A JP2001344153A JP 2001344153 A JP2001344153 A JP 2001344153A JP 2000160529 A JP2000160529 A JP 2000160529A JP 2000160529 A JP2000160529 A JP 2000160529A JP 2001344153 A JP2001344153 A JP 2001344153A
Authority
JP
Japan
Prior art keywords
instruction
prefetch
cache memory
controller
storage device
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.)
Withdrawn
Application number
JP2000160529A
Other languages
English (en)
Inventor
Mitsuhiro Ono
光博 小野
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
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000160529A priority Critical patent/JP2001344153A/ja
Priority to US09/864,328 priority patent/US6578112B2/en
Priority to EP01113076A priority patent/EP1162541A1/en
Publication of JP2001344153A publication Critical patent/JP2001344153A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Abstract

(57)【要約】 【課題】外部インストラクションROMを複数のプロセ
ッサ間で共有可能とするとともにプロセッサの処理性能
の低下を最小限に抑え、LSIの外部端子数を削減する
装置の提供。 【解決手段】各PHY毎にプロセッサとインストラクシ
ョンRAMバンクとインストラクションRAMコントロ
ーラを備えたマルチプロセッサシステムにおいて、イン
ストラクションデータを格納するインストラクションR
OMを一つ備え、各PHYのRAMコントローラは、イ
ンストラクションデータのプリフェッチ要求に時間余裕
度情報を出力し、複数の前記PHYからプリフェッチ要
求が同時に出力されている場合には、プリフェッチコン
トローラは時間余裕度が最小のプリフェッチ要求を選択
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュ制御装
置に関し、マルチプロセッサシステムにおける命令プリ
フェッチに好適とされるキャッシュ制御システムに関す
る。
【0002】
【従来の技術】図11は、従来の通信LSIの構成の一
例を示す図であり、ADSL(Asymetric Digital Su
bscriber Line;通信事業者の加入者収容局からユーザ
宅方向(下り)とユーザ宅から収容局方向(上り)の速
度が非対称とされ、既存の電話用ケーブルを用いた高速
ディジタル伝送方式)モデムのシングルPHY(物理
層)LSIの構成が示されている。ライン(回線)のド
ライバ・レシーバ回路よりなるインタフェース回路6
と、送信信号をディジタルアナログ変換するディジタル
・アナログ変換回路(D-A)7−1と、受信信号をアナ
ログディジタル変換するアナログディジタル変換回路
(A-D)7−2とからなる変換回路7と、を備え、通信
LSI200Cにおいて、ディジタルで信号処理を行う
信号処理部8と、ベースバンド部9と、ATM(Asynch
ronous Transfer Mode;非同期転送モード) TC
(Transmission Convergence)10とが通信系ハード
ウエアを構成しており、プロセッサ(CPU)2と、ワ
ークRAM3と、プロセッサ2で実行される命令がプリ
フェッチされて格納される複数バンク(図11では8バ
ンク)構成のインストラクションRAM5と、インスト
ラクションRAMコントローラ1Cとを備え、プロセッ
サ2は、ワークRAM3、インストラクションRAMコ
ントローラ1C、信号処理部8等の通信系ハードウエア
と内部バス4を介して接続されている。ATM TC
(Transmission Convergence)10は、通信LSI2
00CがサポートするPHY(物理層)の上層(論理
層)等の間でデータの授受を行う。
【0003】そしてLSI200Cには、インストラク
ションデータ列(プロセッサ2で実行される通信制御を
行うためのプログラムをなすインストラクション(命
令)及びデータ)を格納した外部インストランクション
ROM(読み出し専用メモリ)12が外付けされてお
り、インストラクションRAMコントローラ1C(キャ
ッシュコントローラ)は、外部インストランクションR
OM12からインストラクションデータをプリフェッチ
して、インストラクションRAM5の該当するバンクに
格納する。
【0004】インストラクションRAMコントローラ1
Cは、制御レジスタとして、プリフェッチ用のコマンド
レジスタ11Cを備えており、キャッシュミス発生時以
外にも、任意の時点で、プロセッサ2が、コマンドレジ
スタ11Cに、プリフェッチ要求コマンドを書き込むこ
とで、インストラクションRAM5の更新が行われる。
【0005】このコマンドレジスタ11Cは、プロセッ
サ2からのプリフェッチ要求コマンドにより、インスト
ラクションROM12からプリフェッチされるインスト
ラクションデータのスタートアドレス(開始アドレ
ス)、及び、プリフェッチされるインストラクションデ
ータがロードされるインストラクションRAM5のバン
ク番号が設定され、該当するアドレスから読み出された
インストラクションデータが、インストラクションRA
M5の該当するバンクにバンクのメモリ容量分書き込ま
れる。
【0006】インストラクションRAM5を複数バンク
構成とすることで、プロセッサ(CPU)2で一つのイ
ンストラクションRAM5の一のバンクをアクセス中
に、他のバンクの内容を更新することができ、キャッシ
ュ更新の処理待ちを不要とし、処理性能を向上してい
る。
【0007】なお、キャッシュメモリを複数バンク構成
とし、キャッシュコントローラにコマンドレジスタを備
え、プロセッサ側からの命令によりキャッシュ更新コマ
ンドをコマンドレジスタに設定することで、キャッシュ
ミス発生時以外にも、任意の時点でキャッシュメモリへ
のロード(プリフェッチ)を可能としたキャッシュメモ
リシステムとして、例えば特開平11−143775号
公報の記載等も参照される。
【0008】このシングルPHY構成のLSI200C
では、複数のプリフェッチ要求が重なることはないた
め、プリフェッチ要求の優先順位を決めるような機能
は、具備されていない。
【0009】図12は、図11に示したシングル(単一
回線)PHY構成のLSI200Cを複数用いて、複数
の回線に対応可能としたマルチPHY構成のLSI20
0Dの構成を示す図である。
【0010】図12に示すように、各PHY毎に、回路
ブロック1001〜1004が設けられている。回路ブロ
ック1001〜1004は、CPU2、ワークRAM3、
インストラクションRAMコントローラ1C、インスト
ラクションRAM5、信号処理部7、ベースバンド処理
部8よりなる通信ハードウエアを備えている。
【0011】図12を参照すると、外部インストラクシ
ョンROMが共有化ができるような対策が施されていな
いため、4回線に対応のLSI200Dには、各PHY
のそれぞれに対応して、外部インストラクションROM
12が4個外付けで接続されており、これら4個のイン
ストラクションROMの端子数に対応した端子数がLS
I200に必要とされる。例えばアドレス信号が20ビ
ット、データが8ビット幅の場合、4個のインストラク
ションROMに対応するために合計112本が必要とさ
れ、さらにチップイネーブル信号等の制御信号も併せる
と、多数の端子を設ける必要がある。
【0012】
【発明が解決しようとする課題】上記したように、従来
の複数回線対応のマルチプロセッサシステムにおいて
は、外部ROMインタフェースが、サポートする回線
(PHY)の数分必要とされており、マルチPHY化に
より、LSI外部端子数を増加させる、という問題点を
有している。
【0013】特に、通信制御の複雑化、制御の高機能化
等により、インストラクションROMに格納されるプロ
グラムのサイズが増大し、このためインストラクション
ROMのメモリ容量が増大しており、これに伴い、イン
ストラクションROMのアドレス信号の本数も増大して
おり、かかる状況において、図12に示す構成の場合に
は、そのまま、LSIのピン数の増大につながる。
【0014】また、回線数に対応させて複数の外部イン
ストラクションROMが必要とされるため、1回線あた
りのコスト削減効果も乏しい。
【0015】そして、キャッシュメモリの制御及びプリ
フェッチ制御は、高速処理が要求されており、その性能
劣化は、プロセッサの処理性能にたちどころに影響す
る。このため、高速処理が要求される通信制御において
は、各PHY間でインストラクションROMを共有する
構成とした場合に、処理性能の低下を抑えるための工夫
が必要とされる。
【0016】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、キャッシュメモ
リにロードするプログラム命令を格納した外部インスト
ラクションROMを複数のプロセッサ間で共有可能とす
るとともに、プロセッサの処理性能の低下を最小限に抑
えることができる装置を提供することにある。
【0017】また本発明の他の目的は、複数のプロセッ
サを備えたLSIの外部端子数を削減する装置を提供す
ることにある。これ以外の本発明の目的、特徴、利点等
は、以下の実施の形態の説明からも当業者には直ちに明
らかとされるであろう。
【0018】
【課題を解決するための手段】前記目的を達成する本発
明は、複数のプロセッサを備えたマルチプロセッサシス
テムのキャッシュメモリ制御装置において、複数の前記
プロセッサに対応させて設けられる複数のキャッシュメ
モリと、複数の前記キャッシュメモリに共有される記憶
装置であって、前記各キャッシュメモリに格納されるイ
ンストラクションデータを蓄積している記憶装置と、を
備え、前記各キャッシュメモリには、前記各キャッシュ
メモリのそれぞれに対応する前記プロセッサで使用され
るインストラクションデータが、前記記憶装置からあら
かじめ読み出されて格納され、複数の前記キャッシュメ
モリのそれぞれに対応させて、前記各キャッシュメモリ
の更新を制御するためのコマンドレジスタを備え、前記
キャッシュメモリに対応するプロセッサが、前記キャッ
シュメモリに対応する前記コマンドレジスタに、前記キ
ャッシュメモリの更新までの時間余裕度情報を含むキャ
ッシュメモリ更新要求コマンドを書き込むことで、前記
キャッシュメモリの更新要求が、プリフェッチ制御手段
に対して出力され、前記プリフェッチ制御手段は、前記
キャッシュメモリの更新要求が複数出力されている場
合、複数の前記キャッシュメモリの更新要求の前記時間
余裕度に基づき一つのキャッシュメモリの更新要求を選
択する手段を備え、前記選択されたキャッシュメモリの
更新要求に基づき、前記記憶装置からインストラクショ
ンデータを読み出し、前記選択されたキャッシュメモリ
の内容を更新する。
【0019】本発明は、複数のプロセッサを備えたマル
チプロセッサシステムのキャッシュメモリ制御装置にお
いて、複数の前記プロセッサに対応させて設けられる複
数のキャッシュメモリと、複数の前記キャッシュメモリ
に共有される記憶装置であって、前記各キャッシュメモ
リに格納されるインストラクションデータを蓄積してい
る記憶装置と、を備え、前記各キャッシュメモリには、
前記各キャッシュメモリのそれぞれに対応する前記プロ
セッサで使用されるインストラクションデータが、前記
記憶装置からあらかじめ読み出されて格納され、複数の
前記キャッシュメモリのそれぞれに対応させて、前記各
キャッシュメモリの更新を制御するためのコマンドレジ
スタを備え、前記各キャッシュメモリに対応するプロセ
ッサが、前記各キャッシュメモリに対応する前記コマン
ドレジスタに、前記記憶装置の読み出し開始アドレスを
含むキャッシュメモリの更新要求コマンドを書き込むこ
とで、キャッシュメモリの更新要求がプリフェッチ制御
手段に対して出力され、前記プリフェッチ制御手段は、
前記キャッシュメモリの更新要求とともに出力される前
記記憶装置の読み出し開始アドレスと、前記記憶装置か
ら読み出されたインストラクションデータを、複数の前
記キャッシュメモリに対して、ブロードキャストする手
段を備え、前記ブロードキャストされる読み出し開始ア
ドレスが、自キャッシュメモリを更新する前記記憶装置
の読み出しアドレスと一致する場合に、前記ブロードキ
ャストされるインストラクションデータによって前記キ
ャッシュメモリの内容を更新する。
【0020】本発明において、前記キャッシュメモリが
複数のバンクよりなり、コマンドレジスタを、各キャッ
シュメモリの各々に対して、複数備える構成としてもよ
い。そして、以下の説明からも明らかとされるように、
上記目的は、特許請求の範囲の各請求項によっても同様
にして達成される。
【0021】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明は、その好ましい一実施の形態にお
いて、複数のプロセッサのそれぞれに対応して設けられ
るキャッシュメモリ(「インストラクションRAM」と
もいう)に対して、プロセッサからのプリフェッチ要求
により、インストラクション記憶装置からデータを読み
出して、該インストラクションRAMへロードする制御
を行うマルチプロセッサシステムのキャッシュメモリ制
御装置において、プロセッサからのプリフェッチ要求命
令に、プリフェッチ・データが必要となる時刻を表すフ
ィールドを具備することで、プリフェッチコントローラ
は、プリフェッチ要求命令の処理優先順位を決定し、イ
ンストラクション記憶装置から、選択したプロセッサの
キャッシュメモリに対するプリフェッチを行う。
【0022】本発明のマルチプロセッサシステムは、そ
の好ましい一実施の形態において、複数の通信回線、又
は複数のチャネル(複数の入出力装置の入出力データが
伝送される複数のデータチャネル等)に対応可能とさ
れ、各回線又はチャネル毎に、プロセッサと、キャッシ
ュメモリと、キャッシュメモリコントローラとをそれぞ
れ備えたマルチプロセッサシステムにおいて、前記各プ
ロセッサで実行されるインストラクションデータを蓄積
する記憶装置を、複数の前記キャッシュメモリに対して
共通に一つ備え、複数の前記キャッシュコントローラか
らプリフェッチ要求が同時に発行されている場合、前記
キャッシュメモリにプリフェッチされることになるイン
ストラクションデータが前記プロセッサで実際に使用さ
れる予定タイミングまでの時間的余裕度を示す情報に基
づき、前記インストラクション記憶装置より前記キャッ
シュメモリへのインストラクションデータのプリフェッ
チを、前記時間的余裕の最も少ないキャッシュメモリか
ら行うように制御する手段を備えている。
【0023】かかる構成としたことにより、各プロセッ
サが必要とするインストラクションを、1個のインスト
ラクション記憶装置から効率良く転送でき、各プロセッ
サの処理能力を落とすことなく、1個のインストラクシ
ョン記憶装置を各プロセッサ間で共有することができ
る。
【0024】より詳細には、本発明は、複数の物理層
(PHY)に対して、各PHY毎に、通信系回路と、通
信系回路を制御するプロセッサと、前記プロセッサのキ
ャッシュメモリとして機能するインストラクションRA
M(ランダムアクセスメモリ)と、前記インストラクシ
ョンRAMを制御するインストラクションRAMコント
ローラ(1A)とを備え、複数の回線に対応可能なマル
チプロセッサ構成の通信LSIにおいて、複数の前記P
HYに対して、前記各インストラクションRAMにロー
ドされるインストラクションデータを格納する読み出し
専用のインストラクション記憶装置(12)をLSIに
外付けで一つ備え、前記各PHYのインストラクション
RAMコントローラ(1A)は、プロセッサ(2)でアク
セスされるプリフェッチ制御用のコマンドレジスタ(1
1)をそれぞれ備えている。
【0025】インストラクションRAM(5)は複数の
バンク構成とされており、一のバンクの書き換え時に
も、プロセッサ(2)では他のバンクへのアクセスが可
能とされており、前記各バンク毎に、インストラクショ
ン記憶装置(12)から読み出された前記バンク容量分
のインストラクションデータの書き換えが行われる。
【0026】コマンドレジスタ(11)には、対応する
プロセッサ(2)からのプリフェッチ要求コマンドによ
り、プリフェッチする前記インストラクション記憶装置
(12)のスタートアドレスと、プリフェッチしたイン
ストラクションデータがロードされるインストラクショ
ンRAMのバンクの番号と、インストラクションデータ
がプロセッサで使用されるまでの時間余裕度情報(デッ
ドラインタイム)とが設定される。
【0027】コマンドレジスタ(11)に設定さた時間
余裕度情報(デッドラインタイム)が、プリフェッチ要
求信号、前記スタートアドレスとともに、プリフェッチ
・コントローラ(20A)に出力される。
【0028】インストラクション記憶装置(12)に対
するインタフェース部を備えた前記プリフェッチ・コン
トローラ(20A)は、複数の前記PHYのインストラ
クションRAMコントローラに対して一つ設けられてい
る。
【0029】このプリフェッチ・コントローラ(20
A)は、複数の前記PHYのインストラクションRAM
コントローラ(1A)からプリフェッチ要求が同時に出
力されている場合には、時間余裕度が最小のプリフェッ
チ要求を選択する。
【0030】また本発明は、別の実施の形態において、
インストラクションROMプリフェッチコントローラ
(20B)は、プリフェッチする前記インストラクショ
ン記憶装置(12)のスタートアドレス(Start Addres
s)、プリフェッチスタート信号、プリフェッチエンド
信号を、全てのPHYのインストラクションRAMコン
トローラ(1B)にブロードキャストする。
【0031】各PHYのインストラクションRAMコン
トローラ(1B)において、ブロードキャストされたス
タートアドレスが、自分がプリフェッチリクエストを出
しているプリフェッチ要求のプリフェッチスタートアド
レスと一致している場合において、プリフェッチスター
ト信号を受け取った時に、自分のプリフェッチリクエス
トが受け入れられたものと判断し、インストラクション
記憶装置から読み出され、ブロードキャスト転送された
インストラクションデータをインストラクションRAM
にのバンクに書き込む。
【0032】さらに、各PHY(チャネル)のインスト
ラクションRAMコントローラ(1B)において、プリ
フェッチ用のコマンドレジスタを複数具備することによ
り、各PHYから出力されるプリフェッチ要求のうち、
同じアドレスとなるプリフェッチ要求が重なりやすくな
り、この場合、プリフェッチされたインストラクション
データの一度のブロードキャストにより、複数のインス
トラクションRAMの複数バンクに、インストラクショ
ンデータが書き込まれることになり、プリフェッチ処理
時間を短することができる。
【0033】
【実施例】上記した本発明の実施の形態についてさらに
詳細に説明すべく、本発明の実施例について図面を参照
して以下に説明する。
【0034】図1は、本発明の一実施例の構成を示す図
であり、1個のLSIで4回線分のADSLモデム(A
DSL PHY)を実現するLSIの構成を示したもの
である。図1において、図12に示した構成要素と同等
または同一要素には、同一に参照符号が付されている。
【0035】図1を参照すると、このLSI200A
は、1回線分のPHY(物理層)をサポートする4個の
回路ブロック1001〜1004が内蔵されており、各P
HYは、送受信データのベースバンド処理を行うベース
バンド処理部9や、変復調処理を行う信号処理部8より
なる通信系ハードウェアと、これらのハードウェアを制
御するプロセッサ(CPU)2と、プロセッサ2が使用
するワークRAM(ランダムアクセスメモリ)3と、イ
ンストラクションRAMコントローラ1Aと、インスト
ラクションRAM5と、を備えて構成されている。な
お、以下の説明では、各回路ブロック1001〜1004
内におけるCPU21〜24、インストラクションRAM
コントローラ1A1〜1A4等の参照符号の下付き添字
(回路ブロックの番号に対応)は必要なとき以外は省略
する。
【0036】本発明の一実施例においては、LSI20
0Aは、4つのPHY(物理層)の回路ブロック100
1〜1004に対して、インストラクションROMプリフ
ェッチコントローラ20Aを共通に備えている。
【0037】プロセッサ2で実行されるインストラクシ
ョンデータをプリフェッチして格納しておくインストラ
クションRAM5は、例えば1Kワード(1word=
4kバイト)×8バンクのバンク構成になっており、L
SI外部に置かれるインストラクションROM12のキ
ャッシュメモリとして動作する。
【0038】各PHYのインストラクションRAM5
は、インストラクションRAMコントローラ1Aによっ
て制御される。インストラクションROM12からは、
インストラクションRAM5のバンク単位に、一回のプ
リフェッチ処理で、バンクのメモリ容量分(1バンク
分)の書き換え(更新)が行われる。インストラクショ
ンROM12には、インストラクションRAM5にバン
ク単位にロードされるインストラクションデータが格納
されている。なお、インストラクションRAM5には、
インストラクションデータは、プロセッサ2で実行され
る命令(インストラクション)及びデータよりなる。
【0039】本発明の一実施例におけるインストラクシ
ョンRAMコントローラ1Aの機能について以下に説明
する。
【0040】・プロセッサ2からのインストラクション
フェッチ要求に従い、インストラクションRAM5から
(キャッシュヒット時)、適切なインストラクションデ
ータをプロセッサ2に供給する。
【0041】・プロセッサ2で実行されるプリフェッチ
要求命令(キャッシュメモリ更新要求命令)に従って、
任意の時点で、1バンク分のインストラクションのプリ
フェッチを行いインストラクションRAM5を更新す
る。
【0042】・プロセッサ2からのインストラクション
フェッチ要求に対して、プロセッサ2に供給すべき適切
なインストラクションデータがインストラクションRA
M5に存在しない場合(キャッシュミスヒット時)、必
要なインストラクションを1バンク分、インストラクシ
ョンROM12からプリフェッチする。
【0043】本発明の一実施例においては、各PHYの
インストラクションRAMコントローラ1Aは、4つの
PHYの回路ブロック1001〜1004に対して、共通
に設けられるインストラクションROMプリフェッチコ
ントローラ20Aを介して外部インストラクションRO
M12に接続されている。
【0044】インストラクションROMプリフェッチコ
ントローラ20Aは、各PHYのインストラクションR
AMコントローラ1Aから出力されるプリフェッチ要求
に従い、インストラクションROM12からインストラ
クションデータのプリフェッチを行い、プリフェッチさ
れたインストラクションデータをインストラクションR
AMコントローラ1Aに供給する。
【0045】インストラクションROMプリフェッチコ
ントローラ20からインストラクションデータを受け取
ったインストラクションRAMコントローラ1Aでは、
インストラクションRAM5のバンクの更新が行われ
る。
【0046】ところで、このように、インストラクショ
ンROM12を、複数のPHYのインストラクションR
AMコントローラ1A1〜1A4で共有する場合、インス
トラクションROMプリフェッチコントローラ20Aで
は、複数のPHYからのプリフェッチ要求を効率良く処
理し、ミスヒットの発生を最小限に抑えるような制御を
実現することが必要とされる。このような工夫なしで
は、処理性能の低下を招く。
【0047】そこで、本発明の一実施例においては、複
数PHYのインストラクションRAMコントローラ1A
から出力されるプリフェッチ要求に、該プリフェッチデ
ータがいつ必要になるのか時間的余裕度(キャッシュ更
新が時間的にどの程度切迫したものであるかを示す値で
あり、値が小さいほど切迫しており、例えば「0」をそ
の下限値とする)を示す情報フィールド(デッドライン
タイム)を具備し、プリフェッチ要求を複数受け取った
インストラクションROMプリフェッチコントローラ2
0Aでは、プリフェッチ要求のデッドラインタイムの値
により、インストラクションROMプリフェッチコント
ローラ20Aにおけるプリフェッチ処理の優先順位を決
定する構成としている。
【0048】プリフェッチ要求が複数挙げられている場
合、時間的余裕度が最も少ないプリフェッチ要求からプ
リフェッチ処理を実行することで、プロセッサ2でイン
ストラクションデータを使用する時点までには、インス
トラクションRAM5にはインストラクションデータが
プリフェッチされている可能性を高めることになり、こ
のため、ミスヒットの発生を抑え、複数のPHYのプロ
セッサ2の処理性能の向上を図ることができる。以下詳
細について説明する。
【0049】プロセッサ2で実行されるソフトウェア命
令(インストラクションプリフェッチ命令)によるプリ
フェッチ要求は、インストラクションRAMコントロー
ラ1A内の制御レジスタに具備されているプリフェッチ
用のコマンドレジスタ11に、プリフェッチ要求コマン
ドの書き込みを行うことで行われる。なお、インストラ
クションRAMコントローラ1A内には、インストラク
ションRAM5のバンクの選択制御等を行うためのバン
クレジスタを備えているが、バンクレジスタを用いたバ
ンク選択制御は、公知の方法が用いられる。
【0050】図3は、プリフェッチ・コマンドレジスタ
(「コマンドレジスタ」とも略記される)11のビット
フィールドの一例を示す図である。
【0051】コマンドレジスタ11において、ROMア
ドレス(ROM Address)は、インストラクションROM
12において、プリフェッチを行うインストラクション
のアドレスの上位8ビットを指定する。
【0052】アドレスを20ビットとすると、インスト
ラクションROM12に対する読み出しアドレスの下位
12ビットは後述するように、0H(Hはヘキサデシマ
ル表示)からFFFHまで、アドレス生成器で自動生成
される。例えばROMアドレス(ROM Address)が、1
FHの場合、一度のプリフェッチ要求により、インスト
ラクションROM12から、1F000H〜1FFFF
Hまでのインストラクションデータ(4Kバイト)がプ
リフェッチされる。
【0053】コマンドレジスタ11において、バンク番
号(Bank No.)は、インストラクションROM12からプ
リフェッチされたインストラクションデータを格納する
インストラクションRAM5のバンク番号(0〜7)を指
定するものである。
【0054】またコマンドレジスタ11において、デッ
ドラインタイム(Deadline Time)は、プリフェッチ完
了までのデッドライン時間(時間的余裕度)を指定す
る。このフィールドは、コマンドレジスタ11にセット
されたのち(プリフェッチ要求が出力されている間)、
単位時間経過ごとに、デクリメント(減算)される。デ
ッドラインタイムをデクリメントする単位時間は、通信
回線に処理単位時間、例えばADSLにおける1シンボ
ル期間(250μs)等用途に応じて適宜規定される。
【0055】コマンドレジスタ11において、ビジー
(Busy)フラグは、コマンドレジスタ11へのプリフェ
ッチ要求コマンド発行により“1”となり、処理完了で
“0”に設定される。ビジーフラグが“0”のとき、コ
マンドの発行が可能であることを示しており、プロセッ
サ2は、このビジーフラグをみて、ビジーフラグの値が
“0”のとき、プリフェッチ命令によるコマンドレジス
タ11の書き込みを行う。プロセッサ2が、内部バス4
を介してインストラクションRAMコントローラ1Aの
制御レジスタのうちプリフェッチ用のコマンドレジスタ
11にアクセスしてその値が設定される。なお、コマン
ドレジスタ11に設定する値が不適正値(例えばデッド
ラインタイムがマイナス値)であるか否かの検証は、プ
ロセッサ2上で実行されるソフトウエアによって行われ
る。
【0056】図2は、複数PHYのインストラクション
RAMコントローラ1AとインストラクションROMプ
リフェッチ・コントローラ20Aの構成を説明するため
の図である。
【0057】各PHYのインストラクションRAMコン
トローラ1Aは、前述したように、任意の時点でプロセ
ッサ2で実行されるインストラクションフェッチ要求に
従って、1バンク分のインストラクションのプリフェッ
チを行うとともに、ミスヒット時、必要なインストラク
ションデータを1バンク分プリフェッチする制御を行
う。
【0058】インストラクションRAMコントローラ1
Aは、1バンク分のインストラクションのプリフェッチ
要求を行うにあたり、インストラクションROMプリフ
ェッチコントローラ20Aに対して、プリフェッチ開始
ROMアドレス(ROM Address)113、デッドライン
タイム(Deadline Time)112と共に、プリフェッチ
要求(Prefetch Request)111を出力することによ
り行う。
【0059】このうち、プリフェッチ要求(Prefetch
Request)111はプリフェッチ要求を発行するPHY
のインストラクションRAMコントローラ1A内のプリ
フェッチコマンドレジスタ11に情報が設定されたとき
に出力され、プリフェッチ開始ROMアドレス(ROM A
ddress)113、デッドラインタイム(Deadline Tim
e)112は、コマンドレジスタ11に設定された情報
が出力される。
【0060】このうち、デッドラインタイム(Deadline
Time)は、インストラクションRAMコントローラ1
A内で単位時間ごとにデクリメントされる。インストラ
クションROMプリフェッチ・コントローラ20Aの制
御部21でインストラクションRAMコントローラ1A
からのデッドラインタイム(Deadline Time)112を
取り込んだ後、インストラクションROMプリフェッチ
・コントローラ20Aの制御部21Aでデクリメントす
るように制御してもよいことは勿論である。
【0061】複数のPHYのインストラクションRAM
コントローラ1A1〜1A4には、インストラクションR
OMプリフェッチ・コントローラ20Aから、インスト
ラクションRAMデータ(プリフェッチされ、後に説明
する8ビット32ビット変換部24で32ビットに変換
されたインストラクションデータ)210、インストラ
クションRAMアドレス(プリフェッチされたデータを
格納するインストラクションRAM5の該当バンクのア
ドレス000H〜3FFH)211、アドレス/データ
バリッド信号212が共通バス形式で供給される。
【0062】次に、インストラクションROMプリフェ
ッチ・コントローラ20Aについて説明する。
【0063】インストラクションROMプリフェッチコ
ントローラ20Aは、各PHYのインストラクションR
AMコントローラ1Aからのプリフェッチ要求(Prefet
chRequest)111、プリフェッチ開始ROMアドレス
(ROM Address)112、デッドラインタイム(Deadli
ne Time)113を受け取り、プリフェッチ処理を制御
する制御部21Aと、アドレス生成部23と、8ビット
32ビット変換部24と、ROMインタフェース22
と、を備えている。
【0064】アドレス生成部23は、インストラクショ
ンRAMコントローラ1Aのコマンドレジスタ11で指
定され、インストラクションROMプリフェッチコント
ローラ20Aの制御部21Aに出力される、ROMアド
レス上位8ビットを制御部21からアドレス信号203
として受け取り、ROMアドレス上位8ビットを、イン
ストラクションROM12の読み出しアドレスの上位8
ビットとしてそのまま用い、インストラクションROM
12の読み出しアドレスの下位12ビットとして、00
0H〜FFFHまでのアドレス220を生成するアドレ
スカウンタ(不図示)を備えている。アドレス生成部2
3からは、インストラクションRAM5の該当バンクへ
データ書き込み用のインストラクションRAMアドレス
(Instruction RAM Address)211も出力される。
制御部21Aからアドレス生成部23に出力される制御
信号204は、アドレス生成を指示するものである。
【0065】制御部21Aは、あるPHYのインストラ
クションRAMコントローラ1Aからのプリフェッチ要
求に対してプリフェッチ実行を選択した場合、該当する
PHYのインストラクションRAMコントローラ1Aに
対して、プリフェッチスタート(Prefetch Start)信
号201を供給し、これを受けたインストラクションR
AMコントローラ1Aは、現在アクティブ状態としてい
るプリフェッチ要求(Prefetch Request)111をイ
ンアクティブとする。
【0066】制御部21Aは、選択したプリフェッチ要
求(Prefetch Request)のプリフェッチ開始ROMア
ドレス(ROM Address)をアドレス生成器23に渡し、
アドレス生成器23で合成された20ビットのアドレス
220は、ROMインタフェース22を介して、インス
トラクションROM12の読み出しアドレス221とし
て出力される。そして、インストラクションROM12
から読み出されたデータ(8ビットデータ)222は、
ROMインタフェース22で受け取る。
【0067】複数のPHYのインストラクションRAM
コントローラ1Aからのプリフェッチ要求(Prefetch
Request)がアクティブ状態の場合、現在のデッドライ
ンタイム(Deadline Time)が最小のPHYのインスト
ラクションRAMコントローラ1Aから出力されるプリ
フェッチ要求(Prefetch Request)を最優先に選択す
る。制御部21Aは、アクティブ状態のプリフェッチ要
求(Prefetch Request)が一つしかない場合には、該
プリフェッチ要求を選択する。
【0068】ROMインタフェース22で受け取ったイ
ンストラクションROM12から読み出されたデータ
(8ビットデータ)は8ビット32ビット変換器24に
供給される。
【0069】8ビット32ビット変換器24では、4つ
の1バイトデータをまとめて32ビット幅のインストラ
クションRAMデータ210に変換し、このインストラ
クションRAMデータ210を、インストラクションR
AMアドレス211とともに、インストラクションRA
Mコントローラ1Aに供給する。インストラクションR
AMコントローラ1Aは、インストラクションRAM5
の該当するバンクにインストラクションRAMデータ2
10上のデータをロードする。
【0070】アドレス/データのバリッド(Address/Da
ta Valid)信号212は、インストラクションRAMデ
ータ210、インストラクションRAMアドレス212
の有効/無効を示し、プリフェッチ要求を出したインス
トラクションRAMコントローラ1Aは、バリッド(Ad
dress/Data Valid)信号212が有効状態を示すとき、
アドレス、データを取り込み、インストラクションRA
M5のバンクにインストラクションデータを書き込む。
【0071】そして、プリフェッチ終了時、インストラ
クションROMプリフェッチコントローラ20Aは、イ
ンストラクションRAMコントローラ1Aに対して、プ
リフェッチエンド(Prefetch End)信号202を出力
する。プリフェッチエンド(Prefetch End)信号20
2を受け取ったインストラクションRAMコントローラ
1Aでは、コマンドレジスタ11のビジーフラグのリセ
ット等が行われる。
【0072】図4は、本発明の一実施例における動作タ
イミングを示す図である。各PHYからのプリフェッチ
要求が重なった際に、インストラクションROMプリフ
ェッチ・コントローラ20Aは、デッドラインタイム
(Deadline Time)を参照し、デッドラインタイム(Dea
dline Time)が最も小さいPHYのプリフェッチ要求か
ら順に処理していくことで、プロセッサ2の処理能力を
落とすことなく、1個の外部インストラクションROM
12を各PHYで共有できる。
【0073】なお、インストラクションROMプリフェ
ッチ・コントローラ20Aは、インストラクションRA
Mコントローラ1Aから出力されている複数のプリフェ
ッチ要求のデッドラインタイム(Deadline Time)が同
一の値の場合には、PHYの番号の小さい方から選択す
る等、予め定められた方法で、一つのプリフェッチ要求
を選択する。
【0074】図4を参照すると、時刻t0において、P
HY1からのプリフェッチ要求1(Prefetch Request
1)(デッドラインタイム1は「20」)が上がってい
る場合、他のPHYからのプリフェッチ要求が存在して
いないため、インストラクションROMプリフェッチ・
コントローラ20Aは、このプリフェッチ要求1(Pref
etch Request1)がそのまま選択され、制御部1A
は、プリフェッチスタート1(Prefetch Start1)をオ
ンとし、プリフェッチ要求1(Prefetch Request1)
のプリフェッチ処理を実行する。
【0075】図4に示す例では、プリフェッチ処理、す
なわち、インストラクションROM12からインストラ
クションデータを読み出し、4K(キロ)バイト分のイ
ンストラクションデータを、インストラクションRAM
5の該当バンクに書き込むまでに、9サイクル要するも
のとする。t0〜t8の期間、インストラクションRO
Mプリフェッチコントローラ20Aの状態(ステータ
ス)は、プリフェッチ要求1のプリフェッチ(Request
1 Prefetch)となる。
【0076】また、この例では、インストラクションR
OMプリフェッチ・コントローラ20Aの状態(ステー
タス)が、プリフェッチ処理中でない状態で、インスト
ラクションRAMコントローラ1Aからプリフェッチ要
求が出力され、且つ、一つのプリフェッチ要求が出力さ
れている場合には、直ちにそのプリフェッチ要求の処理
を行う。
【0077】t0〜t8の期間中の時刻t3において、
プリフェッチ要求2(Prefetch Request2)(デッド
ラインタイム2は「20」)がオン、t5において、プ
リフェッチ要求3(Prefetch Request3)(デッドライ
ンタイム2は「10」)がオンとされているが、プリフ
ェッチ要求1のプリフェッチ処理中であるため、これら
のプリフェッチ要求2、3は受け付けられず(プリフェ
ッチスタート信号2、3がオンしない)、プリフェッチ
要求2、3はオンとされたままである。その間、プリフ
ェッチ要求2、3のデッドラインタイムは所定時間毎に
減じられている。
【0078】そして、プリフェッチ要求1のプリフェッ
チが終了する時刻点t9において、インストラクション
ROMプリフェッチ・コントローラ20Aは、デッドラ
インタイムが「8」のプリフェッチ要求3(Prefetch
Request3)を選択して、プリフェッチを行う。時刻t9
において、プリフェッチ要求2(Prefetch Request2)
(デッドラインタイム2は「17」)は、プリフェッチ
処理されない。
【0079】時刻t9〜t17の期間、インストラクシ
ョンROMプリフェッチコントローラ20Aの状態(ス
テータス)は、プリフェッチ要求3のプリフェッチ(Re
quest3 Prefetch)となる。このため、この期間、P
HY2のインストラクションRAMコントローラ1A2
はプリフェッチ要求2(図2のPrefetch Request11
2)を出力し続ける。
【0080】時刻t18において、プリフェッチ要求2
(Prefetch Request2)(デッドラインタイム2は「1
7」)がプリフェッチ処理される。時刻t18〜t26
の期間、インストラクションROMプリフェッチコント
ローラ20Aの状態(ステータス)は、プリフェッチ要
求2のプリフェッチ(Request2 Prefetch)となる。
【0081】そして時刻t27では、プリフェッチ要求
4(Prefetch Request4)(デッドラインタイムは5)
のプリフェッチが選択される。
【0082】図4に示す例では、コマンドレジスタ11
に設定されたデッドラインタイム(Deadline Time)
が、2サイクルに1つデクリメントされているが、本発
明はかかる構成に限定されるものではない。
【0083】インストラクションRAMコントローラ1
Aから出力されたプリフェッチ要求(Prefetch Reques
t)信号は、インストラクションROMプリフェッチ・
コントローラ20A内で、プリフェッチ処理が選択さ
れ、プリフェッチスタート信号(Prefetch Start)が
出力されると、インアクティブとされる。
【0084】図5は、本発明の一実施例におけるインス
トラクションROMプリフェッチコントローラ20Aの
処理を説明するための流れ図である。
【0085】図5(a)を参照すると、制御部21A
は、まず、プリフェッチ要求を探す(ステップR1)。
【0086】制御部21Aは、プリフェッチ要求に対応
するプリフェッチスタート信号201のパルス信号を出
力する(0→1→0とする)(ステップR2)。
【0087】制御部21Aは、コマンドレジスタ11か
らのROMアドレス上位8ビットをアドレス生成器23
に渡し、アドレス生成器23において、ROMアドレス
上位8ビットに基づき、インストラクションROM12
のアドレスを生成する(ステップR3)。アドレス生成
器23は、コマンドレジスタ11で指定されるROMア
ドレス上位8ビットを、インストラクションROM12
の読み出しアドレスの上位8ビットとしてそのまま用
い、インストラクションROM12の読み出しアドレス
の下位12ビットとして、000H〜FFFHまでのR
OMアドレスを生成する。
【0088】インストラクションRAM5のアドレス2
11を0とする(ステップR4)。
【0089】1バイトをデータ222をインストラクシ
ョンROM12からリードする(ステップR5)。リー
ドした1バイトデータ222は、ROMインタフェース
22を介して8ビット32ビット変換器24に供給され
る。
【0090】アドレス生成部23は、4バイト分リード
するまで、インストラクションROM12のアドレス2
20(Address)をインクリメントする(ステップR
7)。
【0091】そして、インストラクションROM12か
ら4バイトをリードした時点で、制御部21Aの制御信
号(出力イネーブル信号)205を受けて、8ビット3
2ビット変換器24は、4バイト分のデータをまとめた
32ビット幅のデータを、インストラクションRAMデ
ータ(Instruction RAM Data)210として出力する
(ステップR8)。
【0092】アドレス生成器23において、インストラ
クションRAMアドレス(Instruction RAM Addres
s)211が、3FFH(1Kワード分)であるか否か
チェックし(ステップR9)、3FFHでない場合に
は、インストラクションRAMアドレス(Instruction
RAM Address)211をインクリメントし(ステップR
10)、インストラクションROM12のアドレスをイ
ンクリメントし(ステップR7)、インストラクション
ROM12の読み出しを始める(ステップR5)。
【0093】一方、アドレス生成器23から出力される
インストラクションRAMのアドレス211が3FFH
のとき、制御部21Aは、プリフェッチエンド(Prefet
chEnd)信号202のパルスを該当するインストラクシ
ョンRAMコントローラ1Aに出力する(0→1→0と
する)(ステップR11)。
【0094】図5(b)には、プリフェッチ要求を探す
(ステップR1)の処理の詳細が示されている。
【0095】まず、プリフェッチ要求(Prefetch Requ
est j)が“1”(オン)のものがあるか、添え字j
=1から4まで順に調べ(ステップRS1〜RS4)、
プリフェッチ要求(Prefetch Request j)が“1”
である場合(ステップRS2のYes)、jを変数i
(レジスタ又はメモリ)に保存しておき(ステップRS
5)、このjの値を1つインクリメントし(ステップR
S6)、j≦4の場合(ステップRS7)、インクリメ
ントされたj(PHYj)のプリフェッチ要求(Prefet
ch Requestj)が“1”であるものが存在するかチェ
ックする(ステップRS8)。
【0096】プリフェッチ要求(Prefetch Request
j)の値が“1”であるものが存在する場合(ステップ
RS8のYes)、iとj番目のデッドラインタイム
(Deadline Time)を比較する(ステップRS9)。
【0097】デッドラインタイムj(Deadline Time
j)の方が小さい場合(ステップRS9のYes)、ス
テップRS5に戻り、このjをiに保存し、jをインク
リメントし、これ以降のj(PHYj)のプリフェッチ
要求が存在する場合、再びi番目のプリフェッチ要求の
デッドラインタイム(Deadline Time i)と、j番目の
プリフェッチ要求のデッドラインタイム(Deadline Tim
e j)とを比較し(ステップRS8)、最小のデッドラ
インタイムのプリフェッチ要求の番号を求める。
【0098】一方、ステップRS9で、デッドラインタ
イムiの方がデッドラインタイムjよりも小さいか等し
い場合、ステップRS6に戻り、jをインクリメントし
(ステップRS6)、次のプリフェッチ要求のデッドラ
インタイムと現在最小のプリフェッチ要求のデッドライ
ンタイムiとを比較し(ステップRS8のDeadline Tim
e iとDeadline Time jの比較)、以上の二重ループに
より、変数iには、デッドラインタイムが最小のプリフ
ェッチ要求を出したインストラクションRAMコントロ
ーラのPHY番号が設定される。
【0099】本発明の一実施例によれば、外部インスト
ラクションROM12を複数PHY間で共有することが
できる。その際、CPU2の処理性能の低下を最小限に
抑えることができる。デッドライン時間を適切な値に設
定する等、適切なインストラクションRAMの管理を行
うことで処理性能の低下は起こらない。
【0100】また、本発明の一実施例によれば、ROM
共有によるLSI外部端子数を削減することができる。
そして、インストラクションROMプリフェッチコント
ローラ20Aに複数PHYからのプリフェッチ要求を処
理する機能を備え、コマンドレジスタにプリフェッチ終
了までの時間余裕度(デッドラインタイム)を指定する
フィールドを持たせることで、インストラクションRO
Mプリフェッチコントローラ20Aにおいて、優先度の
高いプリフェッチ要求から順にプリフェッチ処理を行う
ことができるため、ミスヒットの発生を最小限に抑える
ことができる。
【0101】これにより、複数のPHY間で、一つのイ
ンストラクションROM12を共有しながら、各PHY
のプロセッサの処理性能の低下を抑えることができる。
またLSIでは、1個のROMインタフェースを備える
だけでよいため、LSIの外部端子数を削減できる。す
なわち4回線対応可能なLSI200Aのインストラク
ションROM12用の端子としてはアドレス端子(20
ビット)、データ端子(8ビット)、不図示のチップイ
ネーブル信号等の制御信号となり、インストラクション
ROM12用の端子数は、図12に示した構成の1/4
の端子数となっている。
【0102】次に、本発明の第2の実施例について説明
する。本発明の第2の実施例は、マルチプロセッサシス
テム(複数の回線をサポートするADSLモデムLSI
等)におけるインストラクションキャッシュメモリのプ
リフェッチ制御システムにおいて、各PHYの制御を行
うプロセッサからのプリフェッチ要求命令が同じROM
アドレスからのプリフェッチ要求であった場合、インス
トラクションROMプリフェッチコントローラは、複数
PHYにプリフェッチしたデータをブロードキャストす
るものである。
【0103】これにより、プリフェッチに要する時間を
短縮することができ、各プロセッサリセット後及び、処
理切り替え時の処理開始タイミング早期化を図ることが
できる。
【0104】図6は、本発明の第2の実施例の構成を示
す図であり、1個のLSIで4回線分のADSLモデム
(ADSL PHY)を実現するLSI200Bの構成
を示したものである。このLSI200Bは、1回線分
のPHYをサポートする回路が4個内蔵されており、各
PHYは、送受信データのベースバンド処理や、変復調
処理(信号処理)を行うハードウェアと、これらのハー
ドウェアを制御するプロセッサ2、及び、プロセッサが
使用するワークRAM3、インストラクションRAM5
から構成されている。図6において、図1に示した要素
と同一の機能の要素には同一の参照符号が付されてい
る。
【0105】インストラクションRAM5は1Kワード
(=4Kバイト)×8バンクのバンク構成になってお
り、LSI外部に置かれるインストラクションROM1
2のキャッシュメモリとして動作する。各PHYのイン
ストラクションRAM5はインストラクションRAMコ
ントローラ1Bによって管理される。
【0106】インストラクションRAMコントローラ1
Bの機能を以下に示す。
【0107】・プロセッサ2からのインストラクション
フェッチ要求に従い、適切なインストラクションデータ
を供給する。・ソフトウェアプリフェッチ命令に従っ
て、1バンク分のインストラクションのプリフェッチを
行う。・プロセッサ2からのインストラクションフェッ
チ要求を受けた際に、プロセッサ2に供給すべき適切な
インストラクションデータがインストラクションRAM
5上にない場合(ミスヒット発生時)、必要なインスト
ラクションをインストラクションRAM5に1バンク分
プリフェッチする。
【0108】インストラクションRAMコントローラ1
Bは、インストラクションROMプリフェッチコントロ
ーラ20Bを介して外部インストラクションROM12
に接続されている。
【0109】インストラクションROMプリフェッチコ
ントローラ20Bは、各PHYのインストラクションR
AMコントローラ1Bからのプリフェッチ要求に従い、
ROM12のプリフェッチを行い、プリフェッチしたイ
ンストラクションデータをインストラクションRAMコ
ントローラ1Bに供給する。
【0110】前述したように、インストラクションRO
Mプリフェッチコントローラ1Bでは、複数のPHYか
らのプリフェッチ要求を効率良く処理し、ミスヒットの
発生を最小限に抑えるような制御を行う必要がある。本
発明の第2の実施例では,複数PHYからのプリフェッ
チ要求が、同じROMアドレスからのプリフェッチ要求
であった場合、インストラクションROMプリフェッチ
コントローラ20Bは、複数PHYに対して、プリフェ
ッチしたデータをブロードキャストすることにより、プ
リフェッチにかかる時間を短縮し、各CPUの処理性能
の向上を図っている。
【0111】また、プリフェッチ・コマンドレジスタ1
1を各PHYに複数用意し、同じROMアドレスからの
プリフェッチ要求が重なりやすくすることで、ブロード
キャストが起こりやすくなり、プリフェッチの待ち時間
の平均値をさらに短縮することが可能である。
【0112】さらに、ブロードキャストの特殊な例とし
て、LSI200Bのリセット後は、全てのPHYは、
同じROMアドレスからのプリフェッチを要求するた
め、ブロードキャストにより、LSI200Bのブート
アップまでの時間を短縮することが可能である。
【0113】図7を参照して、インストラクションRA
Mコントローラ1Bについて説明する。PHY1のイン
ストラクションRAMコントローラ1Bには、4個+1
個のコマンドレジスタ11が設けられ、コマンドレジス
タ群のそれぞれのコマンドレジスタから、プリフェッチ
要求(Prefetch Request)1.1〜1.5、インストラ
クションROM12の上位8ビットアドレスからなるR
OMアドレス(ROM Address)1.1〜1.5が出力され
る。
【0114】PHY2のインストラクションRAMコン
トローラ1Bには、4個+1個のコマンドレジスタが設
けられ、それぞれのコマンドレジスタから、プリフェッ
チ要求(Prefetch Request)2.1〜2.5、ROMア
ドレス2.1〜2.5が出力される。PHY4のインスト
ラクションRAMコントローラ1Bには、4個+1個の
コマンドレジスタが設けられ、それぞれのコマンドレジ
スタから、プリフェッチ要求(Prefetch Request)4.
1〜4.5、ROMアドレス4.1〜4.5が出力され
る。
【0115】1バンク分のインストラクションのプリフ
ェッチは、インストラクションROMプリフェッチ・コ
ントローラ20Bに対して、プリフェッチを開始するイ
ンストラクションROMアドレス(ROM Address)と共
に、プリフェッチ要求(Prefetch Request)を出力す
ることで行われる。
【0116】インストラクションROMプリフェッチ・
コントローラ20Bの制御部21Bからは、プリフェッ
チ要求が受け付けられたプリフェッチ開始インストラク
ションROMアドレス(Start Adress)213と共
に、プリフェッチスタート(Prefetch Start)信号21
4が、各PHYのプロセッサのインストラクションRA
Mコントローラ1Bに対してブロードキャストされる。
【0117】インストラクションRAMコントローラ1
Bでは、インストラクションROMプリフェッチ・コン
トローラ20BからブロードキャストされたROMアド
レス(Start Adress)と、自コントローラ1B内のコ
マンドレジスタ11群のROMアドレス(自分がリクエ
ストを出しているROMアドレス)と比較器13で比較
する。
【0118】比較器13で比較した結果、両者が一致す
る場合するコマンドレジスタに設定されているプリフェ
ッチコマンドに基づき出力される、プリフェッチ要求
(Prefetch Request)をオフし、インストラクション
ROMプリフェッチ・コントローラ20Bから送信され
る、インストラクションROM12からプリフェッチさ
れたインストラクションデータを受け取り、インストラ
クションRAM5に順次書き込む。
【0119】プリフェッチ処理が終了すると、インスト
ラクションROMプリフェッチ・コントローラ20B
は、プリフェッチエンド(Prefetch End)信号215
をインストラクションRAMコントローラ1Bに対して
ブロードキャストする。
【0120】インストラクションROMプリフェッチ・
コントローラ20Bは、各PHYのインストラクション
RAMコントローラ1Bからのプリフェッチ要求に従
い、インストラクションROM12のプリフェッチを行
い、プリフェッチしたインストラクションデータを、イ
ンストラクションRAMコントローラ5に供給する。
【0121】インストラクションROM12から読み出
されたデータは、インストラクションROMプリフェッ
チ・コントローラ20Bにおいて、8ビットから32ビ
ット変換部24で、8ビットから32ビットデータ(4
バイト)に変換された上で、インストラクションRAM
データ(instructionRAM data)210として、全ての
PHY#1〜#4のインストラクションRAMコントロ
ーラ1Bにブロードキャストされる。
【0122】インストラクションRAMコントローラ1
Bは、インストラクションROMプリフェッチ・コント
ローラ20Bから出力されるスタートアドレス(Start
Address)213が、自コントローラ内のコマンドレ
ジスタ11のROMアドレスと一致している場合には、
自コントローラの発行したプリフェッチ要求に対するプ
リフェッチデータとして、インストラクションRAMデ
ータ210を取り込み、インストラクションRAM5の
該当バンクにおいて、インストラクションRAMアドレ
ス210で指定されるアドレスに、インストラクション
データの書き込みを行う。
【0123】このため、同じROMアドレスに対するプ
リフェッチ要求が複数のPHYから来ている時は、同時
に、プリフェッチ処理を行うことが可能である。
【0124】図8は、インストラクションRAMコント
ローラ1BとインストラクションROMプリフェッチ・
コントローラ20Bの動作シーケンスを示す図である。
【0125】時刻t0では、PHY1のインストラクシ
ョンRAMコントローラ1B1からのプリフェッチ要求
1.1(スタートアドレス=33H)のみが出力されて
おり、この処理が選択され、プリフェッチ処理がt0〜
t8の期間行われる。なお、プリフェッチ要求1.1に
対するプリフェッチ処理を行う場合、スタートアドレ
ス、プリフェッチされたインストラクションデータのイ
ンストラクションRAMデータ210を介した転送が行
われ、PHY1のインストラクションRAMコントロー
ラ1B1のプリフェッチ要求1.1(スタートアドレス=
33H)を発したコマンドレジスタ11で指定されるバ
ンク番号のインストラクションRAM5にインストラク
ションデータが書き込まれる。
【0126】t9では、PHY2のプリフェッチ要求2.
2(スタートアドレス=55H)とPHY3のプリフェ
ッチ要求3.1(スタートアドレス=55H)が出力さ
れており、同一アドレスであるため、インストラクショ
ンデータのブロードキャストがPHY2のプリフェッチ
要求2.2とPHY3のプリフェッチ要求3.1に対して
行われる。
【0127】PHY2、3のプリフェッチ要求に対する
プリフェッチ処理がt9〜t17の期間行われる。この
場合、PHY2、PHY3のインストラクションRAM
コントローラ1Bにおいては、比較器13で、ブロード
キャストされたスタートアドレス213が、自コントロ
ーラ内のコマンドレジスタ11のROMアドレスと一致
するため、インストラクションRAM5へのインストラ
クションデータの書き込みを行うが、他のPHYでは、
インストラクションRAMコントローラ1Bにおいて
は、インストラクションRAMへのインストラクション
データの書き込みは行わない(ブロードキャストされた
スタートアドレス213と自コントローラ内のコマンド
レジスタ11のROMアドレスが相違しているため)。
【0128】なお、時刻t18においては、複数のプリ
フェッチ要求、プリフェッチ要求1.1、プリフェッチ要
求4.1に同一アドレスのものはないため、前記した実施
例と同様、デッドラインタイムの値が小さい方のプリフ
ェッチ要求4.1が選択される。
【0129】図9は、本発明の第2の実施例におけるイ
ンストラクションRAMコントローラ1Bの処理を説明
するための流れ図である。なお、PHYあたり5個のプ
リフェッチコマンドレジスタを備えているものとする。
起動条件としてはプリフェッチコマンドレジスタの個数
4個+1個(ミスヒット)まで並列に起動される。
【0130】図9(a)を参照すると、インストラクシ
ョンRAMコントローラ1Bのコマンドレジスタ11へ
の書き込みがある場合、コマンドレジスタ11のビジー
フラグ(busy bit)を“1”とし(ステップP2)、
コマンドレジスタに書き込まれたROMアドレスをイン
ストラクションROMプリフェッチコントローラ20B
に出力する(ステップP3)。
【0131】プリフェッチ要求(Prefetch Request)
を“1”とし、インストラクションROMプリフェッチ
コントローラ20Bに出力する(ステップP4)。
【0132】プリフェッチ要求(Prefetch Request)
が“1”、スタートアドレス(StartAddress)213が
コマンドレジスタ11のROMアドレスと一致したと
き、プリフェッチ要求(Prefetch Request)を“0”
とし、インストラクションROMプリフェッチコントロ
ーラ20Bに出力する(ステップP6)。
【0133】コマンドレジスタ11に書き込まれたバン
ク番号のバンクのインストラクションRAM5へのプリ
フェッチを行う(ステップP7)。
【0134】コマンドレジスタ11のビジーフラグ(bu
sy bit)を“0”とし、コマンド受け付け可能とする
(ステップP8)。
【0135】図9(b)は、コマンドレジスタ11に書
き込まれたバンク番号のバンクへのプリフェッチを説明
するための流れ図である。
【0136】プロセッサ(CPU)2のバンクiからの
読み出しを禁止する(ステップP71)。
【0137】アドレス/データのバリッドビット(Addr
ess/Data Valid)212が“1”の場合、バンクiのイ
ンストラクションRAM5へのインストラクションRO
M12からのプリフェッチデータへの書き込みを行う
(ステップP73)。その際、インストラクションRA
M5のバンクへの書き込みアドレスはインストラクショ
ンRAMアドレス211、書き込みデータはインストラ
クションRAMデータ210とされる。
【0138】プリフェッチエンド(Prefetch End)2
15が“1”のとき、バンクレジスタを更新しバンクi
の読み出しを許可する(ステップP75)。
【0139】図10は、インストラクションROMプリ
フェッチ・コントローラ20Bの処理手順を示す流れ図
である。プリフェッチ要求がある場合(ステップS1の
Yes)、プリフェッチ要求を選択する(PHY#1〜
#4のコマンドレジジタ#1〜#5の中から一つ選ぶ)
(ステップS2)。
【0140】インストラクションROM12のプリフェ
ッチスタートアドレス(ROMの読み出し開始アドレス
の上位8ビット:図3のROM Address)を、コマンドレ
ジスタi,j(PHY#iのコマンドレジスタ#j)の
ROMアドレスを設定し、プリフェッチスタート信号2
14を(パルス信号)発生する。
【0141】ROMアドレスを上位8ビットとし、下位
12ビットを0として、アドレス生成器24で生成し
(ステップS4)、インストラクションRAM5のアド
レス211を0とする(ステップS5)。
【0142】インストラクションROM12から1バイ
トデータ222をデータをリードする(ステップS
6)。
【0143】4バイト分リードするまで、インストラク
ションROM12のアドレス221をインクリメントす
る(ステップS8)。
【0144】インストラクションROM12から4バイ
トをリードした場合、4バイトまとめて(32ビットデ
ータ)として、インストラクションRAMデータ210
としてインストラクションRAMコントローラ1Bに転
送する(ステップS9)。
【0145】インストラクションRAMアドレス211
が、3FFHであるか否かチェックし(ステップS1
0)、3FFHでない場合、アドレス生成器23は、イ
ンストラクションRAMアドレス211をインクリメン
トし(ステップS11)、インストラクションROM1
2の読み出しアドレスをインクリメントし(ステップS
8)、インストラクションROM12の読み出す(ステ
ップS6)。
【0146】一方、インストラクションRAM5のアド
レスが3FFHのとき、プリフェッチエンド(Prefetch
End)216のパルス信号を出力する(ステップS1
2)。
【0147】前記各実施例において、インストラクショ
ンRAMコントローラ1Bは、プリフェッチコマンドレ
ジスタ11への書き込み時、キャッシュミスヒット発生
時に、プリフェッチ要求をインストラクションROMプ
リフェッチ・コントローラ20Bに対して出力する。4
つのプリフェッチコマンドレジスタへの書き込み時、コ
マンドのパラメータは、書き換えバンクの番号、ROM
アドレス、デッドラインタイムがセットされる。
【0148】一方、ミスヒットの場合、5番目のコマン
ドレジスタが選択され、インストラクションRAMコン
トローラ1Bは、プリフェッチ対象のインストラクショ
ンRAMのバンク番号を探し、デッドラインタイムを0
(余裕度の下限値)とし、プリフェッチ処理を行う。
【0149】本発明の第2の実施例の作用効果について
説明する。プリフェッチデータをブロードキャストする
ことにより、複数PHYから同じROMアドレスに対す
るプリフェッチ要求が重なった際に両方のプリフェッチ
要求を同時に処理ができる。
【0150】プリフェッチの平均待ち時間が短縮される
ため,ミスヒットが発生しにくくなり、プロセッサの処
理能力の向上を図ることができる。
【0151】LSIリセット直後、全てのPHYは同じ
アドレスに対するプリフェッチ要求を出すため、リセッ
ト後のブートアップ時間を短縮することができる。
【0152】インストラクションROMプリフェッチ・
コントローラ20Bは、プリフェッチしたデータを全て
のPHYにブロードキャストし、インストラクションR
AMコントローラ1Bでは自コントローラが要求してい
るROMアドレスと、インストラクションROMプリフ
ェッチコントローラ20からブロードキャストされたア
ドレスを比較して、一致した場合のみプリフェッチされ
たデータを引き取るためである。
【0153】以上本発明を上記実施例に即して説明した
が、本発明は、上記した4回線対応の通信LSIに限定
されるものでなく、複数のプロセッサと、複数のプロセ
ッサに対応した複数のキャッシュメモリを備えた任意の
マルチプロセッサに適用可能であることは勿論である。
例えば複数の通信回線に代えて、複数の入出力装置の入
出力チャネルのデータを処理する任意のマルチプロセッ
サに適用可能であることは勿論である。また図面に示し
た構成は、あくまで本発明を例示的に、説明的に示した
ものであり、本発明を限定するためのものでなく、本発
明は、特許請求の範囲の各請求項の範囲で、当業者がな
し得るであろう各種変形、修正を含むことは勿論であ
る。
【0154】
【発明の効果】以上説明したように、本発明によれば、
下記記載の効果を奏する。
【0155】本発明の第1の効果は、外部インストラク
ションROMを、複数のキャッシュメモリ間で共有する
ことができるとともに、プロセッサの処理性能の低下を
最小限に抑えることができる、ということである。
【0156】その理由は、本発明においては、インスト
ラクションROMプリフェッチコントローラに複数PH
Yからのプリフェッチ要求を処理する機能を備え、ソフ
トウェアプリフェッチ命令に、プリフェッチ終了までの
デッドラインタイムを指定するフィールドを設けること
で、インストラクションROMプリフェッチコントロー
ラにおいて、優先度の高いプリフェッチ要求から順に処
理を行い、ミスヒットの発生を最小限に抑えることがで
きるようにしたためである。
【0157】本発明の第2の効果は、複数のPHYに対
して、1個のROMインタフェースを備えるだけでよい
ため、LSIの外部端子数を削減することができる、と
いうことである。
【0158】本発明の第3の効果は、プリフェッチデー
タをブロードキャストすることにより、複数PHYから
同じROMアドレスに対するプリフェッチ要求が重なっ
た際に両方のプリフェッチ要求を同時に処理ができ、プ
リフェッチの平均待ち時間がを短縮し、プロセッサの処
理性能の向上を図ることができる、ということである。
【図面の簡単な説明】
【図1】本発明の一実施例の全体構成を示す図である。
【図2】本発明の一実施例の構成を示す図である。
【図3】本発明の一実施例におけるコマンドレジスタの
一例を示す図である。
【図4】本発明の一実施例のタイミング動作を示す図で
ある。
【図5】本発明の一実施例のインストラクションROM
プリフェッチコントローラの動作シーケンスを示す図で
ある。
【図6】本発明の第2の実施例の全体構成を示す図であ
る。
【図7】本発明の第2の実施例の構成を示す図である。
【図8】本発明の第2の実施例のタイミング動作を示す
図である。
【図9】本発明の第2の実施例のインストラクションR
AMコントローラの動作シーケンスを示す図である。
【図10】本発明の第2の実施例のインストラクション
ROMプリフェッチコントローラの動作シーケンスを示
す図である。
【図11】従来のシングルPHS LSIの構成を示す
図である。
【図12】従来のマルチPHS LSIの構成を示す図
である。
【符号の説明】
1A、1B、1C インストラクションRAMコントロ
ーラ 2 プロセッサ(CPU) 3 ワークRAM 4 内部バス 5 インストラクションRAM(RAMバンク) 6 インタフェース 7 AD/DA変換部 8 信号処理部 9 ベースバンド処理部 10 ATM TCレイヤ 11、11C プリフェッチ・コマンドレジスタ(コマ
ンドレジスタ) 12 インストラクションROM 20A、20B インストラクションROMプリフェッ
チ・コントローラ 21A、21B 制御部 22 ROMインタフェース 23 アドレス生成器 24 8ビット32ビット変換器 100 PHY 111 プリフェッチ要求(Prefetch Request) 112 デッドラインタイム(Deadline Time) 113 ROMアドレス 200A、200B、200C、200D LSI 201 プリフェッチスタート(Prefetch Start) 202 プリフェッチエンド(Prefetch End) 203 アドレス 204、205 制御信号 210 インストラクションRAMデータ 211 インストラクションRAMアドレス 213 スタートアドレス(Start Address) 214 プリフェッチスタート(Prefetch Start) 215 プリフェッチエンド(Prefetch End) 220、221 アドレス信号 222、223 データ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/32 310 G06F 9/32 310K 5B062 9/38 310 9/38 310A 12/00 571 12/00 571B 15/16 645 15/16 645 15/177 682 15/177 682F 15/78 510 15/78 510F Fターム(参考) 5B005 JJ12 KK13 LL01 MM02 MM05 NN22 NN72 5B013 AA05 5B033 AA04 AA07 AA14 CA01 DB06 DB12 5B045 BB04 BB18 BB28 BB29 BB48 DD02 DD06 DD12 EE15 KK08 5B060 CA06 CD12 5B062 AA02 CC04 DD01 DD03 FF02

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサを備えたマルチプロセッ
    サシステムのキャッシュメモリ制御装置において、 複数の前記プロセッサにそれぞれ対応させて設けられる
    複数のキャッシュメモリと、 複数の前記キャッシュメモリによって共有される記憶装
    置であって、前記各キャッシュメモリに格納されるイン
    ストラクションデータを蓄積している記憶装置と、を備
    え、 前記各キャッシュメモリには、前記各キャッシュメモリ
    のそれぞれに対応する前記プロセッサで使用されるイン
    ストラクションデータが、前記記憶装置からあらかじめ
    読み出されて格納され、 複数の前記キャッシュメモリのそれぞれに対応させて、
    前記各キャッシュメモリの更新を制御するためのコマン
    ドレジスタを備え、 前記キャッシュメモリに対応するプロセッサが、前記キ
    ャッシュメモリに対応する前記コマンドレジスタに、前
    記キャッシュメモリの更新までの時間余裕度情報を含む
    キャッシュメモリ更新要求コマンドを書き込むことで、
    前記キャッシュメモリの更新要求が、プリフェッチ制御
    手段に対して出力され、 前記プリフェッチ制御手段は、前記キャッシュメモリの
    更新要求が複数出力されている場合、複数の前記キャッ
    シュメモリの更新要求のそれぞれの前記時間余裕度情報
    に基づき、一つのキャッシュメモリの更新要求を選択す
    る手段を備え、前記選択されたキャッシュメモリの更新
    要求にしたがって前記記憶装置からインストラクション
    データを読み出し、前記選択されたキャッシュメモリの
    内容を更新する、構成としてなる、ことを特徴とする、
    マルチプロセッサシステムのキャッシュメモリ制御装
    置。
  2. 【請求項2】前記プリフェッチ制御手段が、前記キャッ
    シュメモリの更新要求が複数出力されている場合、前記
    時間的余裕度が最小のキャッシュメモリの更新要求を選
    択することを特徴とする、請求項1記載のマルチプロセ
    ッサシステムのキャッシュメモリ制御装置。
  3. 【請求項3】前記キャッシュメモリの更新要求が出力さ
    れた状態で、前記プリフェッチ制御手段で受け付けられ
    るまでの間、前記キャッシュメモリの更新要求に対応し
    て出力される前記時間余裕度情報の値が、所定の時間毎
    に減じられる、ことを特徴とする請求項1又は2記載の
    マルチプロセッサシステムのキャッシュメモリ制御装
    置。
  4. 【請求項4】前記プロセッサが、所定のソフトウェア命
    令を実行することで、前記コマンドレジスタに、キャッ
    シュメモリの更新要求コマンドが設定され、その際、前
    記コマンドレジスタには、前記プロセッサで実行される
    前記ソフトウェア命令により、前記記憶装置から読み出
    すインストラクションデータの読み出し開始アドレスと
    ともに前記時間余裕度情報が設定され、 前記キャッシュメモリの更新要求とともに前記時間余裕
    度情報が前記プリフェッチ制御手段に出力される、こと
    を特徴とする請求項1乃至3のいずれか一に記載のマル
    チプロセッサシステムのキャッシュメモリ制御装置。
  5. 【請求項5】複数のプロセッサを備えたマルチプロセッ
    サシステムのキャッシュメモリ制御装置において、 複数の前記プロセッサにそれぞれ対応させて設けられる
    複数のキャッシュメモリと、 複数の前記キャッシュメモリによって共有される記憶装
    置であって、前記各キャッシュメモリに格納されるイン
    ストラクションデータを蓄積している記憶装置と、を備
    え、 前記各キャッシュメモリには、前記各キャッシュメモリ
    のそれぞれに対応する前記プロセッサで使用されるイン
    ストラクションデータが、前記記憶装置からあらかじめ
    読み出されて格納され、 複数の前記キャッシュメモリのそれぞれに対応させて、
    前記各キャッシュメモリの更新を制御するためのコマン
    ドレジスタを備え、 前記各キャッシュメモリに対応するプロセッサが、前記
    各キャッシュメモリに対応する前記コマンドレジスタ
    に、前記記憶装置の読み出し開始アドレスを含むキャッ
    シュメモリの更新要求コマンドを書き込むことで、キャ
    ッシュメモリの更新要求がプリフェッチ制御手段に対し
    て出力され、 前記プリフェッチ制御手段は、前記キャッシュメモリの
    更新要求とともに出力される前記記憶装置の読み出し開
    始アドレスと、前記記憶装置から読み出されたインスト
    ラクションデータを、複数の前記キャッシュメモリに対
    してブロードキャスト転送する手段を備え、 前記プリフェッチ制御手段からブロードキャスト転送さ
    れる前記読み出し開始アドレスが、自キャッシュメモリ
    を更新する前記記憶装置の読み出しアドレスと一致する
    場合に、前記ブロードキャスト転送されるインストラク
    ションデータによって前記キャッシュメモリの内容を更
    新し、 前記記憶装置の読み出しアドレスが互いに一致する複数
    のキャッシュメモリの更新要求に対して、同時に、複数
    の前記キャッシュメモリの更新を可能としている、こと
    を特徴とするマルチプロセッサシステムのキャッシュメ
    モリ制御装置。
  6. 【請求項6】前記プリフェッチ制御手段が、前記キャッ
    シュメモリの更新要求が複数出力された状態において、
    複数の前記キャッシュメモリの更新要求のうち、前記記
    憶装置の読み出し開始アドレスが一致しているものが存
    在する場合、前記記憶装置から読み出されたインストラ
    クションデータを、前記記憶装置の読み出し開始アドレ
    スとともに、複数の前記キャッシュメモリに対して、ブ
    ロードキャストする、ことを特徴とする請求項5記載の
    マルチプロセッサシステムのキャッシュメモリ制御装
    置。
  7. 【請求項7】前記プリフェッチ制御手段によってブロー
    ドキャスト転送される前記読み出し開始アドレスが、自
    キャッシュメモリへ更新要求した前記記憶装置の読み出
    しアドレスとが一致した前記キャッシュメモリにおい
    て、前記プリフェッチ制御手段に出力している前記キャ
    ッシュメモリの更新要求をインアクティブとし、前記ブ
    ロードキャスト転送されるインストラクションデータに
    よって前記キャッシュメモリの内容を更新する、ことを
    特徴とする請求項5又は6記載のマルチプロセッサシス
    テムのキャッシュメモリ制御装置。
  8. 【請求項8】前記コマンドレジスタには、前記プロセッ
    サによって、前記キャッシュメモリの更新までの時間余
    裕度情報を含むキャッシュメモリ更新要求コマンドが書
    き込まれ、 前記プリフェッチ制御手段は、前記キャッシュメモリの
    更新要求が複数出力されている場合、複数の前記キャッ
    シュメモリの更新要求の前記時間余裕度に基づき一つの
    キャッシュメモリの更新要求を選択する手段を備え、前
    記選択されたキャッシュメモリの更新要求に基づき、前
    記記憶装置からインストラクションデータを読み出し、
    前記選択されたキャッシュメモリの内容を更新する、こ
    とを特徴とする請求項5乃至7のいずれか一に記載のマ
    ルチプロセッサシステムのキャッシュメモリ制御装置。
  9. 【請求項9】前記キャッシュメモリが、複数のバンクよ
    りなり、前記各バンク毎に、前記記憶装置から読み出さ
    れた、前記バンク容量分のインストラクションデータの
    書き換えが行われる、ことを特徴とする請求項1乃至8
    のいずれか一に記載のマルチプロセッサシステムのキャ
    ッシュメモリ制御装置。
  10. 【請求項10】前記キャッシュメモリが、複数のバンク
    よりなり、前記コマンドレジスタを各キャッシュメモリ
    に対して複数備えた、ことを特徴とする請求項6乃至9
    のいずれか一に記載のマルチプロセッサシステムのキャ
    ッシュメモリ制御装置。
  11. 【請求項11】前記キャッシュメモリのミスヒット発生
    時には、前記キャッシュメモリの更新要求とともに、前
    記時間余裕度情報の下限値が前記プリフェッチ制御手段
    に出力される、ことを特徴とする請求項1乃至10のい
    ずれか一に記載のマルチプロセッサシステムのキャッシ
    ュメモリ制御装置。
  12. 【請求項12】複数のチャネル又は回線に対応可能とさ
    れ、各チャネル又は回線毎に、プロセッサと、キャッシ
    ュメモリと、キャッシュメモリコントローラとをそれぞ
    れ備えたマルチプロセッサシステムにおいて、 前記各プロセッサで実行されるインストラクションデー
    タを蓄積する記憶装置を、複数の前記キャッシュメモリ
    に対して共通に一つ備え、 複数の前記キャッシュコントローラからプリフェッチ要
    求が同時に発行されている場合、前記キャッシュメモリ
    にプリフェッチされることになるインストラクションデ
    ータが前記プロセッサで実際に使用される予定タイミン
    グまでの時間的余裕度を示す情報に基づき、前記インス
    トラクション記憶装置より前記キャッシュメモリへのイ
    ンストラクションデータのプリフェッチを、前記時間的
    余裕の最も少ないキャッシュメモリから行うように制御
    する手段を備えた、ことを特徴とするマルチプロセッサ
    システムのキャッシュメモリ制御装置。
  13. 【請求項13】複数のチャネル又は回線に対応可能とさ
    れ、各チャネル又は回線毎に、プロセッサと、キャッシ
    ュメモリと、キャッシュメモリコントローラとをそれぞ
    れ備えたマルチプロセッサシステムにおいて、 前記各プロセッサで実行されるインストラクションデー
    タを蓄積する記憶装置を、複数の前記キャッシュメモリ
    に対して共通に一つ備え、 前記キャッシュコントローラからのプリフェッチ要求で
    指定される前記記憶装置のプリフェッチスタートアドレ
    スが一致するプリフェッチ要求が複数存在する場合、前
    記プリフェッチ要求を発した複数の前記キャッシュメモ
    リコントローラに対して、前記記憶装置からプリフェッ
    チされたインストラクションデータをブロードキャスト
    する手段を備えた、ことを特徴とするマルチプロセッサ
    システムのキャッシュメモリ制御装置。
  14. 【請求項14】プロセッサと、キャッシュメモリと、キ
    ャッシュメモリ制御装置とを、通信制御の物理層(PH
    Y)毎に備え、複数の回線に対応可能なマルチプロセッ
    サシステムにおいて、 複数の前記PHYの各プロセッサのキャッシュメモリに
    ロードされるプログラムをなすインストラクションデー
    タを蓄積するインストラクション記憶装置を複数の前記
    PHYで共有する形態とし、 前記インストラクション記憶装置からインストラクショ
    ンデータをプリフェッチするプリフェッチ制御装置にお
    いて、前記インストラクション記憶装置へのアクセスを
    制御するインタフェースが一つにまとめられ、 前記各PHYのキャッシュメモリ制御装置は、インスト
    ラクションデータのプリフェッチ要求を発行する際、前
    記キャッシュメモリ制御装置に対応する前記キャッシュ
    メモリで前記インストラクションデータが必要とされる
    までの時間余裕度情報を併せて前記プリフェッチ制御装
    置に出力し、 前記プリフェッチ制御装置は、複数の前記PHYのキャ
    ッシュメモリ制御装置からプリフェッチ要求が同時に出
    力されている場合には、時間余裕度が少ないプリフェッ
    チ要求を選択する手段を備え、前記選択されたキャッシ
    ュメモリの更新を行う、ことを特徴とするマルチプロセ
    ッサシステム。
  15. 【請求項15】前記キャッシュメモリ制御装置からの時
    間余裕度情報は、プリフェッチ要求が受け付けられるま
    での間、所定時間毎に減じられる、ことを特徴とする請
    求項14記載のマルチプロセッサシステム。
  16. 【請求項16】前記キャッシュメモリが、複数のバンク
    からなるインストラクションRAM(ランダムアクセス
    メモリ)よりなり、前記各バンク毎に、前記インストラ
    クション記憶装置から読み出された前記バンク容量分の
    インストラクションデータの書き換えが行われる、こと
    を特徴とする請求項14又は15記載のマルチプロセッ
    サシステム。
  17. 【請求項17】前記各PHYの前記キャッシュメモリ制
    御装置が、前記インストラクションRAMを制御するイ
    ンストラクションRAMコントローラよりなり、 前記インストラクションRAMコントローラがコマンド
    レジスタを備え、 前記コマンドレジスタには、前記プロセッサからのプリ
    フェッチ要求コマンドにより、プリフェッチする前記イ
    ンストラクション記憶装置のスタートアドレスと、プリ
    フェッチしたインストラクションデータをロードするイ
    ンストラクションRAMのバンクの番号と、時間余裕度
    情報(デッドラインタイム)とが設定され、前記コマン
    ドレジスタに設定さた時間余裕度情報(デッドラインタ
    イム)が、プリフェッチ要求信号、前記スタートアドレ
    スとともに、前記プリフェッチ制御装置に出力され、 前記プリフェッチ制御装置が、複数のPHYからのプリ
    フェッチ要求が同時に出力されている場合には、複数の
    前記プリフェッチ要求のうち、時間余裕度の最小のプリ
    フェッチ要求を選択する、ことを特徴とする請求項16
    記載のマルチプロセッサシステム。
  18. 【請求項18】前記プリフェッチ制御装置が、前記イン
    ストラクション記憶装置のスタートアドレスと、プリフ
    ェッチしたインストラクションデータを、前記複数のP
    HYの前記インストラクションRAMコントローラにブ
    ロードキャストし、 プリフェッチされブロードキャストされるインストラク
    ションデータのスタートアドレスが、自キャッシュメモ
    リへロード要求したスタートアドレスと一致する場合
    に、前記ブロードキャスト転送されるインストラクショ
    ンデータを前記キャッシュメモリに書き込むように制御
    する、ことを特徴とする請求項17記載のマルチプロセ
    ッサシステム。
  19. 【請求項19】前記各PHYのインストラクションRA
    Mコントローラが、複数のコマンドレジスタを備え、前
    記複数のコマンドレジスタには、前記プロセッサからの
    プリフェッチコマンドが設定されると、プリフェッチ要
    求が前記プリフェッチ制御装置に対して発行される、こ
    とを特徴とする請求項18記載のマルチプロセッサシス
    テム。
  20. 【請求項20】前記インストラクションRAMのミスヒ
    ット発生時には、前記プリフェッチ要求の前記時間余裕
    度情報の下限値が前記インストラクションRAMコント
    ローラから前記プリフェッチ制御装置に対して出力され
    る、ことを特徴とする請求項17乃至19のいずれか一
    に記載のマルチプロセッサシステム。
  21. 【請求項21】請求項14乃至20のいずれか一に記載
    の前記マルチプロセッサシステムが、集積化されてなる
    半導体集積回路装置よりなる、ことを特徴とするマルチ
    プロセッサシステム。
  22. 【請求項22】前記インストラクション記憶装置が、前
    記半導体集積回路装置に接続される読み出し専用記憶装
    置からなる、ことを特徴とする請求項21記載のマルチ
    プロセッサシステム。
  23. 【請求項23】通信制御の各物理層(PHY)毎に、通
    信系回路と、通信系回路を制御するプロセッサと、前記
    プロセッサでフェッチされるインストラクションデータ
    をプリフェッチして格納しておくインストラクションR
    AM(ランダムアクセスメモリ)と、前記インストラク
    ションRAMを制御するインストラクションRAMコン
    トローラと、を備えたマルチプロセッサ構成の通信制御
    装置において、 インストラクションデータを格納するインストラクショ
    ンROMを複数のPHYに対して共通に一つ備え、 前記インストラクションROMからのプリフェッチを制
    御するプリフェッチコントローラを、前記複数のPHY
    に対して一つ備え、 前記各PHYのインストラクションRAMコントローラ
    は、インストラクションデータのプリフェッチ要求に時
    間余裕度情報を出力し、 前記各インストラクションRAMコントローラから複数
    のプリフェッチ要求が同時に出力されている場合には、
    前記プリフェッチコントローラは、時間余裕度が最小の
    プリフェッチ要求を選択する、ことを特徴とする通信制
    御装置。
  24. 【請求項24】通信制御の各物理層(PHY)毎に、通
    信系回路と、通信系回路を制御するプロセッサと、前記
    プロセッサでフェッチされるインストラクションデータ
    をプリフェッチして格納しておくインストラクションR
    AM(ランダムアクセスメモリ)と、前記インストラク
    ションRAMを制御するインストラクションRAMコン
    トローラと、を備えたマルチプロセッサ構成の通信制御
    装置において、 インストラクションデータを格納するインストラクショ
    ンROMを複数のPHYに対して共通に一つ備え、 前記インストラクションROMからのプリフェッチを制
    御するプリフェッチコントローラを、前記複数のPHY
    に対して一つ備え、 前記各PHYのインストラクションRAMコントローラ
    は、インストラクションデータのプリフェッチ要求に前
    記インストラクションROMのプリフェッチ開始アドレ
    スを出力し、 前記プリフェッチコントローラは、前記プリフェッチ要
    求を受けて、複数の前記インストラクションRAMコン
    トローラに対して、前記インストラクションROMのプ
    リフェッチ開始アドレスと、前記プリフェッチコントロ
    ーラが前記インストラクションROMからのプリフェッ
    チしたインストラクションデータをブロードキャスト転
    送する、ことを特徴とする通信制御装置。
  25. 【請求項25】各物理層(PHY)毎に、通信系回路
    と、通信系回路を制御するプロセッサと、前記プロセッ
    サのキャッシュメモリとして機能するインストラクショ
    ンRAM(ランダムアクセスメモリ)と、前記インスト
    ラクションRAMを制御するインストラクションRAM
    コントローラとを備え、複数の回線に対応可能なマルチ
    プロセッサ構成の半導体集積回路装置において、 複数の前記PHYに対して前記各インストラクションR
    AMにロードされるインストラクションデータを蓄積し
    ている、インストラクション記憶装置を前記半導体集積
    回路装置に外付けで一つ備え、 前記インストラクションRAMは、複数のバンク構成と
    されており、一のバンクの書き換え時にも、前記プロセ
    ッサは他のバンクへのアクセスが可能とされており、前
    記各バンク毎に、前記インストラクション記憶装置から
    読み出された前記バンク容量分のインストラクションデ
    ータの書き換えが行われ、 前記各PHYのインストラクションRAMコントローラ
    は、前記プロセッサでアクセスされるプリフェッチ制御
    用のコマンドレジスタを備え、 前記コマンドレジスタには、前記プロセッサからのプリ
    フェッチ要求コマンドにより、プリフェッチ対象の前記
    インストラクション記憶装置のスタートアドレスと、プ
    リフェッチしたインストラクションデータがロードされ
    るインストラクションRAMのバンクの番号と、インス
    トラクション・データが使用されるまでの時間余裕度情
    報(デッドラインタイム)とが設定され、 前記コマンドレジスタに設定さた時間余裕度情報(デッ
    ドラインタイム)は、プリフェッチ要求信号、前記スタ
    ートアドレスとともに、プリフェッチ・コントローラに
    出力され、 前記インストラクション記憶装置に対するインタフェー
    ス部を備えた前記プリフェッチ・コントローラを、複数
    の前記PHYのインストラクションRAMコントローラ
    に対して共通に一つ備え、 前記プリフェッチ・コントローラは、複数の前記PHY
    のインストラクションRAMコントローラからプリフェ
    ッチ要求が同時に出力されている場合には、時間余裕度
    が最小のプリフェッチ要求を選択する手段を備え、 前記選択されたプリフェッチ要求に対する、インストラ
    クションRAMの指定バンクのインストラクションデー
    タを更新する、ことを特徴とする半導体集積回路装置。
  26. 【請求項26】各物理層(PHY)毎に、通信系回路
    と、通信系回路を制御するプロセッサと、前記プロセッ
    サのキャッシュメモリとして機能するインストラクショ
    ンRAM(ランダムアクセスメモリ)と、前記インスト
    ラクションRAMを制御するインストラクションRAM
    コントローラとを備え、複数の回線に対応可能なマルチ
    プロセッサ構成の半導体集積回路装置において、 複数の前記PHYに対して前記各インストラクションR
    AMにロードされるインストラクションデータを蓄積し
    ている、インストラクション記憶装置を前記半導体集積
    回路装置に外付けで一つ備え、 前記インストラクションRAMは、複数のバンク構成と
    されており、一のバンクの書き換え時にも、前記プロセ
    ッサは他のバンクへのアクセスが可能とされており、前
    記各バンク毎に、前記インストラクション記憶装置から
    読み出された前記バンク容量分のインストラクションデ
    ータの書き換えが行われ、 前記各PHYのインストラクションRAMコントローラ
    は、前記プロセッサでアクセスされるプリフェッチ制御
    用のコマンドレジスタを備え、 前記コマンドレジスタには、前記プロセッサからのプリ
    フェッチコマンドにより、プリフェッチする前記インス
    トラクション記憶装置のスタートアドレスと、プリフェ
    ッチしたインストラクションデータがロードされるイン
    ストラクションRAMのバンクの番号とが設定され、 前記インストラクション記憶装置に対するインタフェー
    ス部を備えた前記プリフェッチ・コントローラを、複数
    の前記PHYのインストラクションRAMコントローラ
    に対して共通に一つ備え、 前記コマンドレジスタに設定された前記スタートアドレ
    スは、プリフェッチ要求信号とともに、前記プリフェッ
    チ・コントローラに出力され、 前記プリフェッチ・コントローラは、前記インストラク
    ションRAMコントローラからのプリフェッチ要求を受
    けて、前記スタートアドレスをすべてのPHYのインス
    トラクションRAMコントローラに対して、ブロードキ
    ャストするとともに、前記インストラクション記憶装置
    から読み出されたインストラクションデータを、すべて
    のPHYのインストラクションRAMコントローラに対
    してブロードキャストする手段を備え、 前記各PHYのインストラクションRAMコントローラ
    は、ブロードキャスト転送されるインストラクションデ
    ータのスタートアドレスが、自インストラクションRA
    Mコントローラのコマンドレジスタに設定したスタート
    アドレスと一致するか否か比較する手段を備え、両者が
    一致した場合に、前記ブロードキャスト転送されるイン
    ストラクションデータを前記インストラクションRAM
    の指定バンクに書き込む、ことを特徴とする半導体集積
    回路装置。
JP2000160529A 2000-05-30 2000-05-30 マルチプロセッサシステムのキャッシュメモリ制御装置 Withdrawn JP2001344153A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000160529A JP2001344153A (ja) 2000-05-30 2000-05-30 マルチプロセッサシステムのキャッシュメモリ制御装置
US09/864,328 US6578112B2 (en) 2000-05-30 2001-05-25 Cache memory control device for multi-processor system
EP01113076A EP1162541A1 (en) 2000-05-30 2001-05-29 Cache memory control device for multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000160529A JP2001344153A (ja) 2000-05-30 2000-05-30 マルチプロセッサシステムのキャッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JP2001344153A true JP2001344153A (ja) 2001-12-14

Family

ID=18664705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000160529A Withdrawn JP2001344153A (ja) 2000-05-30 2000-05-30 マルチプロセッサシステムのキャッシュメモリ制御装置

Country Status (3)

Country Link
US (1) US6578112B2 (ja)
EP (1) EP1162541A1 (ja)
JP (1) JP2001344153A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007510989A (ja) * 2003-11-06 2007-04-26 インテル・コーポレーション 動的キャッシングエンジン命令
KR100800552B1 (ko) * 2005-06-13 2008-02-04 재단법인서울대학교산학협력재단 벡터 메모리, 이를 구비한 프로세서 및 그 데이터 처리방법
CN100382015C (zh) * 2005-02-09 2008-04-16 国际商业机器公司 用于在多处理器系统中执行数据预取的方法和设备
US7451276B2 (en) 2003-05-14 2008-11-11 Sony Computer Entertainment Inc. Prefetch command control method, prefetch command control apparatus and cache memory control apparatus
US11403139B2 (en) 2019-07-30 2022-08-02 Fujitsu Limited Information processing device, storage system, and non-transitory computer-readable storage medium for storing scheduling program

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230065A (ja) * 2001-02-02 2002-08-16 Toshiba Corp システムlsi開発装置およびシステムlsi開発方法
US6917987B2 (en) * 2001-03-26 2005-07-12 Intel Corporation Methodology and mechanism for remote key validation for NGIO/InfiniBand™ applications
US20030086485A1 (en) * 2001-11-08 2003-05-08 John Lin Master to multi-slave asynchronous transmit fifo
US20030191860A1 (en) * 2002-04-05 2003-10-09 Gadepalli Krishna K. Accelerated collaboration of high frame rate applications
US7062582B1 (en) * 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
US20060174228A1 (en) * 2005-01-28 2006-08-03 Dell Products L.P. Adaptive pre-fetch policy
EP2021921A2 (en) * 2006-05-17 2009-02-11 Nxp B.V. Multi-processing system and a method of executing a plurality of data processing tasks
US7493468B2 (en) * 2006-06-01 2009-02-17 International Business Machines Corporation Method for broadcasting instructions/data to a plurality of processors in a multiprocessor device via aliasing
CN101453416A (zh) * 2007-11-30 2009-06-10 国际商业机器公司 用于远程程序安装的包预取的服务节点、网络及其方法
US9367467B2 (en) * 2014-08-22 2016-06-14 Nvidia Corporation System and method for managing cache replacements
CN105868017B (zh) * 2015-01-21 2019-04-05 方正宽带网络服务有限公司 一种资源缓存方法及装置
US10389839B2 (en) * 2016-06-01 2019-08-20 Intel Corporation Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node
US11263025B2 (en) 2020-05-26 2022-03-01 International Business Machines Corporation Proactively performing tasks based on estimating hardware reconfiguration times

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5935263A (ja) * 1982-08-20 1984-02-25 Mitsubishi Electric Corp メモリ制御回路
US5452418A (en) * 1992-04-24 1995-09-19 Digital Equipment Corporation Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
US5506969A (en) * 1993-11-29 1996-04-09 Sun Microsystems, Inc. Method and apparatus for bus bandwidth management
US5490113A (en) * 1994-06-15 1996-02-06 Digital Equipment Corporation Memory stream buffer
US6085291A (en) * 1995-11-06 2000-07-04 International Business Machines Corporation System and method for selectively controlling fetching and prefetching of data to a processor
US5901296A (en) * 1996-12-06 1999-05-04 International Business Machines Corporation Distributed scheduling for the transfer of real time, loss sensitive and non-real time data over a bus
US5951658A (en) * 1997-09-25 1999-09-14 International Business Machines Corporation System for dynamic allocation of I/O buffers for VSAM access method based upon intended record access where performance information regarding access is stored in memory
JP3289661B2 (ja) 1997-11-07 2002-06-10 日本電気株式会社 キャッシュメモリシステム
JP4335327B2 (ja) * 1997-12-11 2009-09-30 パナソニック株式会社 調停装置および方法
US6023720A (en) * 1998-02-09 2000-02-08 Matsushita Electric Industrial Co., Ltd. Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines
US6317811B1 (en) * 1999-08-26 2001-11-13 International Business Machines Corporation Method and system for reissuing load requests in a multi-stream prefetch design

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451276B2 (en) 2003-05-14 2008-11-11 Sony Computer Entertainment Inc. Prefetch command control method, prefetch command control apparatus and cache memory control apparatus
US7716426B2 (en) 2003-05-14 2010-05-11 Sony Computer Entertainment Inc. Prefetch command control method, prefetch command control apparatus and cache memory control apparatus
JP2007510989A (ja) * 2003-11-06 2007-04-26 インテル・コーポレーション 動的キャッシングエンジン命令
CN100382015C (zh) * 2005-02-09 2008-04-16 国际商业机器公司 用于在多处理器系统中执行数据预取的方法和设备
KR100800552B1 (ko) * 2005-06-13 2008-02-04 재단법인서울대학교산학협력재단 벡터 메모리, 이를 구비한 프로세서 및 그 데이터 처리방법
US11403139B2 (en) 2019-07-30 2022-08-02 Fujitsu Limited Information processing device, storage system, and non-transitory computer-readable storage medium for storing scheduling program

Also Published As

Publication number Publication date
US6578112B2 (en) 2003-06-10
US20010049769A1 (en) 2001-12-06
EP1162541A1 (en) 2001-12-12

Similar Documents

Publication Publication Date Title
JP2001344153A (ja) マルチプロセッサシステムのキャッシュメモリ制御装置
US6836829B2 (en) Peripheral device interface chip cache and data synchronization method
US8566607B2 (en) Cryptography methods and apparatus used with a processor
US20010052060A1 (en) Buffering system bus for external-memory access
EP0568231A1 (en) Methods and apparatus for providing multiple outstanding operations in a cache consistent multiple processor computer system
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JP2002526882A (ja) 半導体メモリのリフレッシュの影響を全く受けないようにする読出し/書込みバッファ及びその動作方法
JPH0628256A (ja) データ処理システム
JP2007073052A (ja) 集積回路から外部メモリへのアクセス
US6415338B1 (en) System for writing a data value at a starting address to a number of consecutive locations equal to a segment length identifier
US7200719B2 (en) Prefetch control in a data processing system
JPH11288386A (ja) コンピュータシステム
JPH0934786A (ja) 命令供給装置
JP2001297036A (ja) 多重埋めモードを有するキャッシュ
US8850159B2 (en) Method and system for latency optimized ATS usage
JP2007500402A (ja) 周辺装置アクセス保護付きデータ処理システム
US20030181994A1 (en) Microprocessor performing efficient external bus access
JP2001195242A (ja) データ処理システム
JPH1083349A (ja) キャッシュ・メモリ・バンク制御装置
US6415357B1 (en) Caching method and apparatus
JP3583844B2 (ja) キャッシュメモリ方式
JP3967921B2 (ja) データ処理装置及びデータ処理システム
JP2002342162A (ja) メモリアクセス制御方式及びホストブリッジ
JP2851777B2 (ja) バス制御方法及び情報処理装置
JP2000076179A (ja) システムバス最適化方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807