JP2000047930A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2000047930A
JP2000047930A JP10212884A JP21288498A JP2000047930A JP 2000047930 A JP2000047930 A JP 2000047930A JP 10212884 A JP10212884 A JP 10212884A JP 21288498 A JP21288498 A JP 21288498A JP 2000047930 A JP2000047930 A JP 2000047930A
Authority
JP
Japan
Prior art keywords
bus
memory
data
access request
internal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10212884A
Other languages
English (en)
Inventor
Mitsugi Sato
佐藤  貢
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10212884A priority Critical patent/JP2000047930A/ja
Publication of JP2000047930A publication Critical patent/JP2000047930A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 高優先度のアクセス要求を、必要に応じて、
待ち時間なしに採択することができ、複数のバスマスタ
からのアクセス要求に対して、優先順位を一時的に入れ
替えることも可能なデータ処理装置を得る。 【解決手段】 内蔵メモリ12,13ヘのアクセス権を
調停する内部バス制御部14を備え、CPU11とバス
I/F部16が内蔵メモリをアクセスするために出力し
たアクセス要求を受けた内部バス制御部は、その優先度
変更機能によって一時的に変更が可能な、あらかじめ定
められている優先順位に従って内蔵メモリヘのアクセス
要求を調停し、CPUまたはバスI/F部の一方からの
アクセス要求に対して内蔵メモリへのアクセスを許可す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、主記憶に相当す
るような大規模なメモリを内蔵したデータ処理装置に関
するものであり、特に、内蔵メモリに対して、チップ上
のマイクロプロセッサとチップ外に置かれた外部バスマ
スタの両方がアクセス可能な構成をとった際の、それら
マイクロプロセッサと外部バスマスタからのアクセス要
求に対するアクセス権調停における優先度の制御に関す
るものである。
【0002】
【従来の技術】主記憶に相当するような大規模なメモリ
を内蔵したデータ処理装置内部のマイクロプロセッサで
は、その主記憶である内蔵メモリを、内部のマイクロプ
ロセッサ(=バスマスタ)と、データ処理装置の外部に
置かれた他のマイクロプロセッサやDMAコントローラ
等の外部バスマスタが共有しながらアクセスを行う。こ
こで、複数のバスマスタが同時にアクセス要求を発行し
た場合には、データ処理装置に内蔵されたバス制御部
が、あらかじめ定められた優先順位に従った優先度判定
を行い、選択されたバスマスタだけが一連のメモリアク
セスを行うように動作する。当該メモリアクセスが完了
すると、再び優先度判定が行われ、その時点でメモリア
クセス要求を発行しているバスマスタの中から最も優先
度の高いものが選択される。
【0003】そのような場合の状態遷移を図14に示
す。まず、データ処理装置がリセットされると「バスレ
ディ」状態となる。「バスレディ」状態とは、内蔵メモ
リに対するアクセスを一切行っていない状態、すなわち
内部データバスも転送データが無い状態で空いており、
内蔵メモリヘのアクセス要求が発行されれば、直ちにメ
モリアクセス状態へ移行できる状態のことを指す。「バ
スレディ」時にマイクロプロセッサもしくは外部バスマ
スタから内蔵メモリに対するアクセス要求が発行される
と、「マイクロプロセッサアクセス」状態もしくは「外
部バスマスタアクセス」状態のいずれかに遷移する。な
お、図14では、外部バスマスタの優先度が高く設定さ
れている場合について示している。所定のメモリアクセ
スが完了するまではこの状態を保持し、メモリアクセス
が完了すると再び「バスレディ」状態へ遷移する。
【0004】この状態遷移のタイミングを図15および
図16に示す。なお、全ての状態遷移はクロックに同期
して行われるものとする。まず、図15に示すように
「バスレディ」時に、マイクロプロセッサからのアクセ
ス要求と外部バスマスタからのアクセス要求の両方が同
時に発行されたとする。バス制御部では外部バスマスタ
側の優先度が高く設定されているため、外部バスマスタ
からのアクセス要求が採択されて「外部バスマスタアク
セス」状態へ遷移する。この「外部バスマスタアクセ
ス」状態へ遷移したことを受けて外部バスマスタからの
アクセス要求の発行は取り下げられる。
【0005】一方、採択されなかったマイクロプロセッ
サからのアクセス要求は発行されたままの状態で保持さ
れる。「外部バスマスタアクセス」状態はクロック周期
の2サイクル期間だけ継続し、アクセスが完了すると再
び「バスレディ」状態へ遷移する。図15に示す場合に
は、最初に採択されなかったマイクロプロセッサからの
アクセス要求が発行されたまま控えているため、即座に
「マイクロプロセッサアクセス」状態へ遷移している。
この「マイクロプロセッサアクセス」状態も同様に、ク
ロック周期の2サイクル期間だけ継続した後に完了し、
再び「バスレディ」状態へ遷移する。
【0006】また、図16には「バスレディ」時にマイ
クロプロセッサからアクセス要求が先に発行され、その
後、外部バスマスタからアクセス要求が発行された場合
について示されている。この場合、「バスレディ」時の
アクセス要求はマイクロプロセッサからのものだけであ
るため、バス制御部ではマイクロプロセッサのアクセス
要求が直ちに採択されて「マイクロプロセッサアクセ
ス」状態へ遷移する。なお、この場合には、「マイクロ
プロセッサアクセス」状態は図示のようにクロック周期
の3サイクル期間継続している。図示の例では、「マイ
クロプロセッサアクセス」状態に遷移した後、優先度の
高い外部バスマスタからのアクセス要求が発行されてい
るが、当該アクセス要求は、マイクロプロセッサによる
メモリアクセスが完了するまで待ち状態に入り、再び
「バスレディ」状態になった後に「外部バスマスタアク
セス」状態へ遷移する。
【0007】なお、「外部バスマスタアクセス」状態、
「マイクロプロセッサアクセス」状態の継続期間は、内
蔵メモリの動作速度に応じて変化する。従って、内蔵メ
モリの動作速度が遅いとアクセス状態の継続時間は長く
なり、優先度が低い側のメモリアクセス要求、あるいは
優先度が高くても、既に優先度の低い側のメモリアクセ
スが開始している場合には、それだけ長く待たされるこ
とになる。
【0008】このように、バス制御部による優先度の判
定は、上記の例のように固定的に行われるのが一般的で
ある。これは優先度判定のアルゴリズムを簡素にできる
ためであり、多くの場合この制御方法で問題はない。し
かしながら、上記の例のように、外部バスマスタからの
アクセス要求の優先度を、マイクロプロセッサからのそ
れよりも高く設定している場合であっても、例えば図1
6のように、外部バスマスタよりアクセス要求が発行さ
れる直前に「マイクロプロセッサアクセス」状態へ遷移
していた場合には、当該マイクロプロセッサによるアク
セスの完了を待たなければ「外部バスマスタアクセス」
状態に遷移することができず、その間、外部バスマスタ
からのアクセス要求は待たされることになる。
【0009】なお、このような内部メモリへのアクセス
権の調停機能を備えた従来のデータ処理装置についての
記載がある文献としては、例えば、特開平4−2768
45号公報、特開平7−129501号公報、特開平7
−295877号公報、特開平8−171529号公報
などがある。
【0010】
【発明が解決しようとする課題】従来のデータ処理装置
は以上のように構成されているので、元々、アクセス要
求発行に対する応答速度が重視される側のバスマスタの
優先度を高く設定しているにもかかわらず、要求が発行
されるタイミングによっては、必要とされるメモリアク
セス応答速度が得られない状況が発生してしまい、常に
予測可能な、一定のデータ転送レートの確保が保証され
なくなるという課題があり、また、一時的に優先度判定
の順序を入れ替えるなどの柔軟な制御を行うこともでき
ないなどの課題があった。
【0011】この発明は上記のような課題を解決するた
めになされたもので、優先度の高いアクセス要求を、必
要に応じて、待ち時間なしに採択することができ、複数
のバスマスタからのアクセス要求に対して、その優先度
判定を固定的に行うだけではなく、優先順位を一時的に
入れ替えることもできる柔軟なデータ処理装置を得るこ
とを目的とする。
【0012】
【課題を解決するための手段】この発明に係るデータ処
理装置は、内蔵メモリヘのアクセス権を調停する内部バ
ス制御部を備え、マイクロプロセッサとバスI/F部
が、内部データバスを介して内蔵メモリをアクセスする
ために出力したアクセス要求を受け取ると、内部バス制
御部は、あらかじめ定められた優先順位に従って優先度
を判定して、何れか一方のアクセス要求に対して内蔵メ
モリへのアクセスを許可することで内蔵メモリヘのアク
セスの実行の制御を行い、かつ内部バス制御部が行う当
該優先度判定における優先順位を、あらかじめ定められ
た順位とは一時的に異なる順位に設定できるようにした
ものである。
【0013】この発明に係るデータ処理装置は、内部バ
ス制御部がその優先度変更機能としてマスク制御部を有
し、当該マスク制御部によってマイクロプロセッサから
のアクセス要求を一時的に抑止し、見かけ上、マイクロ
プロセッサからのアクセス要求が発行されていないよう
にしたものである。
【0014】この発明に係るデータ処理装置は、内部バ
ス制御部の優先度変更機能の有効化を、マイクロプロセ
ッサからのアクセス要求を抑止するか否かを示す信号が
セットされるレジスタ部の値と、マイクロプロセッサか
らのアクセス要求を抑止するか否かを示す信号が外部よ
り与えられる入力端子の値のうちの、少なくとも一方に
よって行うようにしたものである。
【0015】この発明に係るデータ処理装置は、内部バ
ス制御部の優先度変更機能の有効化を、複数の入力端子
のそれぞれに外部より与えられた、マイクロプロセッサ
からのアクセス要求を抑止するか否かを示す信号の値に
従って、各々異なったタイミングで行うようにしたもの
である。
【0016】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1は主記憶に相当するような大規模な
メモリとマイクロプロセッサとを内蔵した、この発明の
実施の形態1によるデータ処理装置の構成を示すブロッ
ク図である。図において、1は当該データ処理装置であ
り、2はこのデータ処理装置1に接続されている16ビ
ット幅の外部データバスである。3はこの外部データバ
ス2に接続されて、当該データ処理装置1の外部に置か
れたマイクロプロセッサやDMAコントローラなどの外
部バスマスタであり、4は同じくこの外部データバス2
に接続された外部メモリである。
【0017】また、データ処理装置1内において、11
は16ビットと32ビットの2種類の命令長を有する、
当該データ処理装置1に内蔵された32ビットRISC
型マイクロプロセッサ(以下、CPUという)である。
12はこのCPU11と同一チップに内蔵された内蔵メ
モリとしての1MバイトのDRAMである。13は4K
バイトのSRAMで構成された内蔵メモリとしてのキャ
ッシュメモリであり、DRAM12のキャッシュ、ある
いは外部メモリ4のキャッシュとして機能するように切
り替え可能に形成されている。14はキャッシュメモリ
13、DRAM12などの内蔵メモリや、外部メモリ4
をアクセスするための一連の制御を行う内部バス制御部
である。15はCPU11、内蔵メモリ(キャッシュメ
モリ13)、および後述するバスインタフェース部(以
下、バスI/F部という)16を相互に接続するための
128ビット幅の内部データバスである。16はこの1
28ビット幅の内部データバス15と、16ビット幅の
外部データバス2とのバス幅の変換を行うためのデータ
バッファで形成された、前述のバスI/F部である。
【0018】さらに、内部バス制御部14内において、
21はCPU11からの内部メモリへのアクセス要求を
一時的に抑止(マスク)して、その間、内部バス制御部
14の優先度を判定するための機能に対して、見かけ
上、CPU11からのアクセス要求が発行されていない
ようにする、当該内部バス制御部14の優先度変更機能
となるマスク制御部である。
【0019】なお、CPU11のアーキテクチャはRI
SCアーキテクチャであり、メモリヘのオペランドアク
セスはロード命令とストア命令だけで行い、これらの命
令は5段のパイプラインで処理される。パイプラインは
命令フェッチ(IF)、命令デコード(D)、実行
(E)、メモリアクセス(MEM)、レジスタヘのライ
トバック(WB)である。
【0020】また、図2はこの発明によるデータ処理装
置のアドレス空間を示す説明図である。このデータ処理
装置1が扱う論理アドレスは32ビット幅で扱われ、4
Gバイトのリニアな空間をアドレッシングすることがで
きる。このうちのアドレスH’0000 0000〜
H’7FFF FFFF番地の2Gバイトの空間をユー
ザ空間、アドレスH’8000 0000〜H’FFF
F FFFF番地の2Gバイトの空間をI/O空間と位
置付けて区別している。上記ユーザ空間のうち、アドレ
スH’0000 0000〜H’000F FFFF番
地の1Mバイトの領域は、このデータ処理装置1が内蔵
するDRAM12に割り付けられている。以下、この領
域を「内蔵DRAM領域」と呼ぶ。
【0021】次に動作について説明する。まず、キャッ
シュモードについて説明する。当該データ処理装置1に
内蔵されたキャッシュメモリ13は、内部命令/データ
キャッシュモード、命令キャッシュモード、およびキャ
ッシュオフモードの内からいずれか1つのモードを選択
して動作することが可能になっている。
【0022】内部命令/データキャッシュモードでは、
キャッシュメモリ13はDRAM12の命令/データ共
用のキャッシュとして機能し、図2に示したユーザ空間
内の内蔵DRAM領域への全てのバスアクセスをキャッ
シングする。なお、CPU11、キャッシュメモリ1
3、およびDRAM12の間の転送は、常に128ビッ
トで行われる。
【0023】また、命令キャッシュモードでは、キャッ
シュメモリ13はデータ処理装置1に内蔵されたDRA
M12、または外部データバス2を介して接続された外
部メモリ4の命令キャッシュとして機能し、図2に示し
たユーザ空間に対する全ての命令フェッチアクセスをキ
ャッシングする。
【0024】さらに、キャッシュオフモードでは、キャ
ッシュメモリ13は機能せず、全てのバスアクセスは内
蔵されたDRAM12、あるいは外部データバス2に対
して直接起動される。
【0025】次に、CPU11による命令/オペランド
の転送について説明する。このCPU11による命令/
オペランドの転送は、以下に示すような、命令フェッチ
による転送、オペランドリードによる転送、オペランド
ストアによる転送の手順にて行われる。
【0026】まず、命令フェッチによる転送において
は、CPU11の命令フェッチがキャッシュヒットした
場合、CPU11が要求した番地の命令コードを含む、
128ビット境界にアラインされた128ビット分の命
令コードがキャッシュメモリ13から内部データバス1
5を介してCPU11内の命令キューに転送される。
【0027】また、CPU11の命令フェッチがキャッ
シュミスした場合に、そのフェッチ先がユーザ空間の内
蔵DRAM領域であれば、CPU11が要求した番地の
命令コードを含む、128ビット境界にアラインされた
128ビット分の命令コードが、DRAM12から内部
データバス15を介してCPU11内の命令キューに転
送される。
【0028】一方、CPU11の命令フェッチがキャッ
シュミスした場合のフェッチ先が外部メモリ領域であれ
ば、外部メモリ4から命令コードをフェッチし、外部デ
ータバス2を介してバスI/F部16の128ビットバ
ッファに蓄える。フェッチする命令コードサイズには2
通りあり、次のように、設定されている上記各キャッシ
ュモードに応じて選択される。 1.命令キャッシュモードの場合 CPU11の要求番地を含む、128ビット境界内の1
28ビット分の命令コード全てをフェッチする。 2.その他のキャッシュモードの場合 CPU11の要求番地を先頭に、128ビット境界の終
わりまでの命令コードをフェッチする。 このようにしてバスI/F部16に所定のサイズだけフ
ェッチされた命令コードは、内部データバス15を介し
てCPU11内の命令キューに転送される。
【0029】次に、オペランドリードによる転送におい
ては、CPU11のオペランドフェッチがキャッシュヒ
ットした場合、CPU11が要求した番地のオペランド
を含む128ビット境界にアラインされた128ビット
分のオペランドデータが、キャッシュメモリ13から内
部データバス15を介してCPU11へ転送される。C
PU11ではその128ビットのデータの中から必要な
32ビットのデータを選択して処理を行う。
【0030】また、CPU11のオペランドフェッチが
キャッシュミスした場合に、そのフェッチ先がユーザ空
間の内蔵DRAM領域であれば、CPU11が要求した
番地のオペランドを含む128ビット境界にアラインさ
れた128ビット分のオペランドデータが、DRAM1
2から内部データバス15を介してCPU11へ転送さ
れる。CPU11ではその128ビットのデータの中か
ら必要な32ビットのデータを選択して処理を行う。
【0031】一方、CPU11のオペランドフェッチが
キャッシュミスした場合のフェッチ先が外部メモリ領域
であれば、外部メモリ4からオペランドをフェッチし、
外部データバス2を介してバスI/F部16の128ビ
ットバッファに蓄える。フェッチするオペランドサイズ
は、8ビット、16ビット、32ビットのいずれかであ
る。なお、バスI/F部16に所定のサイズだけフェッ
チされたオペランドデータは、内部データバス15を介
してCPU11に転送される。
【0032】さらに、オペランドストアによる転送にお
いては、CPU11のオペランドフェッチがキャッシュ
ヒットした場合、CPU11から出力されたオペランド
データは内部データバス15を介してキャッシュメモリ
13ヘ転送される。なお、ストアされるオペランドサイ
ズは、8ビット、16ビット、32ビットのいずれかで
ある。
【0033】また、CPU11のオペランドストアがキ
ャッシュミスした場合に、そのユーザ空間内のストア先
が内蔵DRAM領域であれば、CPU11から出力され
たオペランドデータは内部データバス15を介してDR
AM12へ転送される。なお、ストアされるオペランド
サイズは、8ビット、16ビット、32ビットのいずれ
かである。
【0034】一方、CPU11のオペランドストアがキ
ャッシュミスした場合のストア先が外部メモリ領域であ
れば、CPU11から出力されたオペランドデータは内
部データバス15を介してバスI/F部16へ転送され
る。ここで、この転送されるオペランドのサイズは、8
ビット、16ビット、32ビットのいずれかである。バ
スI/F部16へ転送されたオペランドデータは、外部
データバス2を介して外部メモリ4ヘ転送される。な
お、オペランドサイズが32ビットである場合には、バ
スI/F部16から外部メモリ4ヘの転送は、16ビッ
トずつ2回に分けて行われる。
【0035】次に、外部バスマスタ3によるデータの転
送について説明する。外部バスマスタ3がこのデータ処
理装置1の、図2に示した内蔵DRAM領域をアクセス
する場合のデータ転送には、以下のような、データリー
ドによる転送と、データストアによる転送とがある。
【0036】データリードによる転送では、外部バスマ
スタ3のデータフェッチがキャッシュヒットした場合、
外部バスマスタ3が要求した番地のデータを含む128
ビット境界にアラインされた128ビット分のデータ
が、キャッシュメモリ13から内部データバス15を介
してバスI/F部16へ転送される。バスI/F部16
はそのデータを外部データバス2を介して外部メモリ4
に転送する。なお、外部バスマスタ3が連続したアドレ
スでデータフェッチを行う場合には、128ビット境界
内のデータは内蔵メモリ(キャッシュメモリ13)をア
クセスすることなく、バスI/F部16から外部メモリ
4ヘの転送だけが行われる。
【0037】一方、外部バスマスタ3のデータフェッチ
がキャッシュミスした場合には、外部バスマスタ3が要
求した番地のデータを含む128ビット境界にアライン
された128ビット分のデータが、DRAM12から内
部データバス15を介してバスI/F部16へ転送され
る。バスI/F部16はそのデータを外部データバス2
を介して外部メモリに転送する。なお、外部バスマスタ
3が連続したアドレスでデータフェッチを行う場合に
は、128ビット境界内のデータは内蔵メモリ(DRA
M12)をアクセスすることなく、バスI/F部16か
ら外部メモリ4ヘの転送だけが行われる。
【0038】また、データストアによる転送では、外部
バスマスタ3のデータストアがキャッシュヒットした場
合、あらかじめ外部データバス2からバスI/F部16
へ書き込まれていたデータが、内部データバス15を介
してキャッシュメモリ13ヘ転送される。なお、ストア
されるデータサイズは、8ビット単位で、8ビット、1
6ビット、24ビット、〜128ビットのいずれかであ
る。転送すべきデータは、あらかじめバスI/F部16
のバッファに書き込んでおく。バスI/F部16には、
同一の128ビット境界内のデータを128ビット分だ
け格納することができる。
【0039】一方、外部バスマスタ3のデータストアが
キャッシュミスした場合には、あらかじめ外部データバ
ス2からバスI/F部16へ書き込まれていたデータ
が、内部データバス15を介してDRAM12へ転送さ
れる。なお、ストアされるデータサイズは、8ビット単
位で、8ビット、16ビット、24ビット、〜128ビ
ットのいずれかである。転送すべきデータは、あらかじ
めバスI/F部16のバッファに書き込んでおく。バス
I/F部16には、同一の128ビット境界内のデータ
を128ビット分だけ格納することができる。
【0040】次に、転送プロトコルについて、CPU1
1によるフェッチ、CPU11によるストア、外部バス
マスタ3によるフェッチ、外部バスマスタ3によるスト
アのそれぞれの場合について説明する。
【0041】まず、CPU11によるフェッチについて
説明する。図3はCPU11が内蔵メモリ(DRAM1
2、キャッシュメモリ13)のデータをリード(命令フ
ェッチ、オペランドフェッチ)する場合のプロトコルを
示すタイミングチャートである。
【0042】図示のように、CPU11は内蔵メモリ
(DRAM12、キャッシュメモリ13)に対するアク
セス要求信号/REQを内部バス制御部14に出力す
る。内部バス制御部14はそのアクセス要求信号/RE
Qを受け付けると、CPU11に対してアクノレッジ信
号/ACKを返送する。内部バス制御部14はまた、内
蔵メモリに対する制御信号(リード)も出力する。この
制御信号(リード)を受け取った内蔵メモリからは、リ
ードデータID[0:127]が内部データバス15上
に出力される。内部バス制御部14は内部データバス1
5上に内蔵メモリよりリードデータID[0:127]
が出力されると、CPU11に対してアクセス完了信号
/ENDを送出する。なお、上記内蔵メモリから内部デ
ータバス15上に出力されたリードデータID[0:1
27]はCPU11によって取り込まれる。
【0043】次に、CPU11によるストアについて説
明する。図4はCPU11が内蔵メモリ(DRAM1
2、キャッシュメモリ13)にデータをストア(オペラ
ンドストア)する場合のプロトコルを示すタイミングチ
ャートである。
【0044】図示のように、CPU11は内蔵メモリ
(DRAM12、キャッシュメモリ13)に対するアク
セス要求信号/REQを内部バス制御部14に出力す
る。内部バス制御部14はそのアクセス要求信号/RE
Qを受け付けると、CPU11に対してアクノレッジ信
号/ACKを返送する。CPU11はこのアクノレッジ
信号/ACKを受け取ると、ライトデータID[0:1
27]を内部データバス15に出力する。その後、内部
バス制御部14は内蔵メモリに対して制御信号(ライ
ト)を出力する。この制御信号(ライト)によって、内
部データバス15上のライトデータID[0:127]
が内蔵メモリに格納される。内蔵メモリにライトデータ
ID[0:127]が格納されると、内部バス制御部1
4はCPU11に対してアクセス完了信号/ENDを送
る。
【0045】次に、外部バスマスタ3によるフェッチに
ついて説明する。図5は外部バスマスタ3が内蔵メモリ
(DRAM12、キャッシュメモリ13)のデータをリ
ードする場合のプロトコルを示すタイミングチャートで
ある。
【0046】図示のように、外部バスマスタ3は外部デ
ータバス2のアクセス権を要求するためのホールド要求
信号/HREQをデータ処理装置1の内部バス制御部1
4に対して出力する。データ処理装置1は外部データバ
ス2のアクセス権を外部バスマスタ3に与えることを了
解すると、内部バス制御部14よりホールドアクノレッ
ジ信号/HACKを外部バスマスタ3に出力する。外部
バスマスタ3はこのホールドアクノレッジ信号/HAC
Kの受信によって外部データバス2のアクセス権を得た
ことを知ると、データ処理装置1の内部バス制御部14
に対してチップセレクト信号/CSを出力し、内蔵メモ
リ(DRAM12、キャッシュメモリ13)に対するア
クセス要求を開始する。外部バスマスタ3はその時、ア
クセスアドレスAおよびリードライト信号R/Wも同時
に出力する。
【0047】チップセレクト信号/CSがアサートさ
れ、リードライト信号R/Wがリードを示すハイレベル
(以下、“H”と表記する)であると、データ処理装置
1内の内部バス制御部14は内蔵メモリに対する制御信
号(リード)を出力する。この制御信号(リード)によ
って、内蔵メモリからはリードデータID[0:12
7]が読み出されて内部データバス15上に出力され
る。この内蔵メモリから内部データバス15に出力され
たリードデータID[0:127]はバスI/F部16
のデータバッファに取り込まれ、バスI/F部16より
外部データバス2上に16ビットずつのリードデータD
[0:15]として出力される。その時、内部バス制御
部14は外部データバス2上のデータが有効であること
を外部バスマスタ3に通知するために、データコンプリ
ート信号/DCをローレベル(以下、“L”と表記す
る)にアサートする。これにより、外部データバス2上
に16ビットずつ出力されたリードデータD[0:1
5]が外部バスマスタ3によって取り込まれる。
【0048】次に、外部バスマスタ3によるストアにつ
いて説明する。図6は外部バスマスタ3が内蔵メモリ
(DRAM12、キャッシュメモリ13)にデータをラ
イトする場合のプロトコルを示すタイミングチャートで
ある。
【0049】図示のように、外部バスマスタ3は外部デ
ータバス2のアクセス権を要求するためのホールド要求
信号/HREQをデータ処理装置1の内部バス制御部1
4に対して出力する。データ処理装置1は外部データバ
ス2のアクセス権を外部バスマスタ3に与えることを了
解すると、内部バス制御部14よりホールドアクノレッ
ジ信号/HACKを外部バスマスタ3に出力する。外部
バスマスタ3はこのホールドアクノレッジ信号/HAC
Kの受信によって外部データバス2のアクセス権を得た
ことを知ると、チップセレクト信号/CSをデータ処理
装置1の内部バス制御部14に対して出力し、内蔵メモ
リに対するアクセス要求を通知する。外部バスマスタ3
はその時、アクセスアドレスAおよびリードライト信号
R/Wも同時に出力し、さらに外部データバス2上にラ
イトデータD[0:15]を出力する。
【0050】この外部バスマスタ3から出力されたライ
トデータD[0:15]は、外部データバス2を介して
バスI/F部16のデータバッファに16ビットずつ格
納される。データ処理装置1の内部バス制御部14は、
外部データバス2上のライトデータD[0:15]がバ
スI/F部16に格納されると、データコンプリート信
号/DCを“L”にアサートして、それを外部バスマス
タ3に通知する。データ処理装置1内の内部バス制御部
14はまた、チップセレクト信号/CSがネゲートさ
れ、リードライト信号R/Wが“L”(ライト)である
と、内蔵メモリに対する制御信号(ライト)を出力す
る。この制御信号(リード)によって、外部データバス
2よりバスI/F部16に格納されたライトデータが、
内部データバス15上に出力される。このバスI/F部
16から内部データバス15上に出力されたライトデー
タID[0:127]は内蔵メモリに格納される。
【0051】次に、CPU11と外部バスマスタ3によ
るアクセスが競合する場合について説明する。CPU1
1と外部バスマスタ3から同時に、あるいは非常に近接
した時刻にアクセス要求が発行される場合がある。CP
U11からのアクセス要求と、外部バスマスタ3からの
アクセス要求が同時に発生した場合には、図7に示すよ
うに、内部バス制御部14の制御によって、外部バスマ
スタ3からのアクセス要求を優先して処理した後、CP
U11からの要求を処理する。一方、CPU11からの
アクセス要求が外部バスマスタ3からのアクセス要求よ
りも先に発生した場合には、図8に示すように、内部バ
ス制御部14の制御によって、CPU11からのアクセ
ス要求を処理した後、外部バスマスタ3からのアクセス
要求を処理する。外部バスマスタ3からのアクセス要求
が先に発生した場合は、上記とは逆の順序になる。
【0052】このようなアクセスの競合が生じた際の優
先順位制御は、以下のように実行される。CPU11と
外部バスマスタ3からアクセス要求が同時に発行され、
競合状態にある時、内部バス制御部14による優先度の
判定は、あらかじめ設定された優先順位に従って、外部
バスマスタ3からのアクセス要求を採択する。ただし、
外部バスマスタ3からのアクセス要求が発生した時点
で、既にCPU11からのアクセス要求を処理中であれ
ば、外部バスマスタ3のアクセス要求の実行はCPU1
1からのアクセス要求の実行が終了するまで待たされる
こととなる。
【0053】そのため、この実施の形態1によるデータ
処理装置においては、図1に示すように、内部バス制御
部14内にマスク制御部21を設けている。この内部バ
ス制御部14に設けられたマスク制御部21は、一時的
にCPU11からのメモリアクセス要求を抑止(マス
ク)する。これによって、内部バス制御部14の優先度
を判定する機能に対して、見かけ上、CPU11からの
アクセス要求が発行されていないようにしている。この
ように、CPU11からのアクセス要求は一時的に受け
付けられなくなるため、外部バスマスタ3からのアクセ
ス要求を待ち時間なしに採択することができるようにな
る。
【0054】図9にこのマスク制御部21によるマスク
機能が有効である場合のメモリアクセスタイミングを示
す。図中のマスク信号MASKは、CPU11からのア
クセス要求がマスクされている状態を現している。図8
の場合と同様に、CPU11からのアクセス要求の方
が、外部バスマスタ3からのアクセス要求よりも先に発
行されているが、マスク制御部21の機能によって要求
信号がマスクされているため、CPU11からのアクセ
ス要求は受け付けられない。従って、CPU11に対し
てアクノレッジ信号/ACK信号は返送されない。一
方、CPU11からのアクセス要求よりも後の時刻で発
行された、外部バスマスタ3からのアクセス要求(チッ
プセレクト信号/CS)は待ち時間がなく、即座に受け
付けられるようになる。
【0055】以上のように、この実施の形態1によれ
ば、優先順位の低いメモリアクセスの要求信号を一時的
にマスクして受け付けないようにしているので、優先順
位の高いアクセス要求を待ち時間なしに採択することが
可能となり、また、複数のバスマスタ(CPU11や外
部バスマスタ3)からのアクセス要求に対しても、その
優先度判定を固定的に行うだけでなく、優先順位を一時
的に入れ替えることも可能となるため、メモリアクセス
の要求発行に対する応答速度が重視されるようなバスマ
スタからのアクセスに対して、常に予測可能な、一定の
転送レートの確保が可能なデータ処理装置が実現できる
という効果が得られる。
【0056】実施の形態2.図10はこの発明の実施の
形態2によるデータ処理装置の構成を示すブロック図で
あり、相当部分には図1と同一符号を付してその説明を
省略する。図において、17は図2に示すアドレス空間
上のH’FFFF FFF3番地にマッピングされたI
/Oレジスタで形成され、CPU11からのアクセス要
求を抑制(マスク)するか否かを示すマスク信号MAS
Kがセットされる、図11にその構成を示したレジスタ
部としてのマスク制御レジスタである。また18は上記
マスク信号MASKが外部より入力される入力端子とし
てのMASK端子である。
【0057】次に動作について説明する。なお、基本的
な動作は、図1に示した上記実施の形態1の場合と同様
であるため、ここでは、異なった部分についてのみ説明
する。図10に示すように、このデータ処理装置1で
は、CPU11からのアクセス要求をマスクするための
要因として、マスク制御レジスタ17によるマスクと、
入力端子によるマスクの2種類のマスク要因が存在して
おり、それらのうちの少なくとも一方の要因がアクティ
ブである場合に、内部バス制御部14の優先度変更機能
(マスク制御部21によるマスク機能)が有効となる。
【0058】まず、マスク制御レジスタ17によるマス
クについて説明する。この実施の形態2のデータ処理装
置1は、図10に示すように、マスク制御レジスタ17
を備えている。このマスク制御レジスタ17は、図2に
示されたアドレス空間上のH’FFFF FFF3番地
にマッピングされたI/Oレジスタであり、その構成は
図11に示す通りである。CPU11はロード命令、ス
トア命令を使ってこのマスク制御レジスタ17をリード
アクセス、ライトアクセスすることができる。このマス
ク制御レジスタ17は、図11にD31で示されたビッ
トがマスクモードビットであり、このマスクモードビッ
トD31の内容はそのまま内部バス制御部14内のマス
ク制御部21に入力されて、優先度判定の制御に使用さ
れる。
【0059】すなわち、当該マスクモードビットD31
が“0”にセットされている場合にはCPU11からの
アクセス要求はマスクされず、“1”にセットされると
CPU11からのアクセス要求がマスクされる。なお、
マスク制御レジスタ17のD24〜D30で示された各
ビットには物理的には何も配置されない。このビットD
24〜D30に対するライトは無視され、リードでは必
ず“0”が読み出されるようになっている。
【0060】次に、入力端子(MASK端子18)によ
るマスクについて説明する。この実施の形態2によるデ
ータ処理装置1には、図10に示すように、入力端子と
してのMASK端子18も新たに設けられている。この
MASK端子18が“L”に設定されている場合には、
CPU11からのアクセス要求はマスクされず、“H”
に設定されるとCPU11からのアクセス要求がマスク
されて、外部バスマスタ3からのアクセス要求が即座に
受けつけられるようになる。
【0061】以上のように、この実施の形態2によれ
ば、マスク制御レジスタ17のセット内容、もしくはM
ASK端子18の設定レベルに応じて、優先順位の低い
メモリアクセスの要求信号をマスクして受け付けないよ
うにしているので、必要に応じて、優先順位の高いアク
セス要求を待ち時間なしに採択することが可能となり、
また、複数のバスマスタからのアクセス要求に対して
も、その優先度判定を固定的に行うだけでなく、優先順
位を一時的に入れ替えることも可能となるため、メモリ
アクセスの要求発行に対する応答速度が重視されるよう
なバスマスタからのアクセスに対して、常に予測可能
な、一定の転送レートの確保が可能なデータ処理装置が
実現できるという効果が得られる。
【0062】実施の形態3.図12はこの発明の実施の
形態3によるデータ処理装置の構成を示すブロック図で
あり、相当部分には図10と同一符号を付してその説明
を省略する。図において、19a,19bは専用の入力
端子としてのMASK端子18とは別の、CPU11か
らのアクセス要求を抑止するか否かを示す信号が与えら
れる既存の入力端子であり、入力端子19aにはホール
ドリクエスト信号/HREQが、入力端子19bにはチ
ップセレクト信号/CSが、それぞれ上記CPU11か
らのアクセス要求を抑止するか否かを示す信号として与
えられる。
【0063】次に動作について説明する。なお、基本的
な動作は、図10に示した上記実施の形態2の場合と同
様であるため、ここでは、異なった部分についてのみ説
明する。図12に示すように、このデータ処理装置1で
は、専用のMASK端子18とは別に、既存の複数の入
力端子19a,19bからの信号によって内部バス制御
部14のマスク機能を制御することができる。このマス
ク機能を制御するための第1の端子として、外部バスマ
スタ3からのホールドリクエスト信号/HREQが入力
される既存の入力端子19aを、第2の端子として、外
部バスマスタ3からのチップセレクト信号/CSが入力
される既存の入力端子19bをそれぞれ使用している。
【0064】ここで、マスク機能を制御するための端子
として、ホールドリクエスト信号/HREQが入力され
る既存の入力端子19aを使用した場合の動作タイミン
グを図13に示す。ホールドリクエスト信号/HREQ
がアサートされると同時に、内部バス制御部14のマス
ク制御部21はマスク状態となる。従って、図9に示す
場合と同様に、CPU11からのアクセス要求の方が、
外部バスマスタ3からのアクセス要求よりも先に発行さ
れていても、マスク制御部21の機能によってそのCP
U11の要求信号がマスクされているため、CPU11
からのアクセス要求は受け付けられない。従って、内部
バス制御部14からは、CPU11に対してアクノーリ
ッジ信号/ACKは返送されない。
【0065】一方、その後の時刻に発行された外部バス
マスタ3からのアクセス要求(チップセレクト信号/C
S)は、内部バス制御部14によって、待ち時間なしに
即座に受け付けられるようになる。
【0066】以上のように、この実施の形態3によれ
ば、複数用意された入力端子のそれぞれに与えられた信
号のレベルに応じてそれぞれ異なったタイミングで、優
先順位の低いメモリアクセスの要求信号をマスクして受
け付けないようにしているので、必要に応じてそれぞれ
異なるタイミングで、優先順位の高いアクセス要求を待
ち時間なしに採択することが可能となり、また、複数の
バスマスタからのアクセス要求に対しても、その優先度
判定を固定的に行うだけでなく、優先順位を一時的に入
れ替えることも可能となるため、メモリアクセスの要求
発行に対する応答速度が重視されるようなバスマスタか
らのアクセスに対して、常に予測可能な、一定の転送レ
ートの確保が可能なデータ処理装置が実現できるという
効果が得られる。
【0067】
【発明の効果】以上のように、この発明によれば、内部
バス制御部でマイクロプロセッサまたはバスI/F部が
出力した内蔵メモリのアクセス要求を受け付けると、優
先度変更機能によって一時的にその変更が可能な、あら
かじめ定められている優先順位に従って、内蔵メモリヘ
のアクセス要求を調停するように構成したので、優先度
の高いメモリアクセスの要求を、必要に応じて、常に待
ち時間なしに開始することができ、また複数のバスマス
タからのアクセス要求に対して、その優先度判定を固定
的に行うだけでなく、優先順位を一時的に入れ替えるこ
とが可能となって、メモリアクセスの要求発行に対する
応答速度が重視されるバスマスタからのアクセス要求に
対して、常に予測可能な、一定の転送レートが確保され
るデータ処理装置が得られる効果がある。
【0068】この発明によれば、内部バス制御部の優先
度変更機能としてのマスク制御部によって、CPUから
のアクセス要求を一時的にマスクするように構成したの
で、マスクされた優先順位の低いアクセス要求が一時的
に受け付けられず、優先順位の高いアクセス要求を待ち
時間なしに採択することが可能となり、複数のバスマス
タからのアクセス要求に対する優先度判定を固定的に行
うだけでなく、優先順位を一時的に入れ替えることもで
きる効果がある。
【0069】この発明によれば、レジスタ部のセット内
容、もしくは入力端子の設定レベルの少なくとも一方に
応じて、内部バス制御部の優先度変更機能を有効化する
ように構成したので、レジスタ部の内容や入力端子のレ
ベルを設定することにより、必要に応じて、優先順位の
高いアクセス要求を待ち時間なしに採択することが可能
となり、複数のバスマスタからのアクセス要求に対する
優先度判定を固定的に行うだけでなく、優先順位を一時
的に入れ替えることもできる効果がある。
【0070】この発明によれば、複数の入力端子に外部
よりそれぞれ与えられた信号の値に従って、各々異なっ
たタイミングで内部バス制御部の優先度変更機能を有効
化するように構成したので、各入力端子のレベルによっ
て、必要に応じてそれぞれ異なるタイミングで、優先順
位の高いアクセス要求を待ち時間なしに採択することが
可能となり、複数のバスマスタからのアクセス要求に対
する優先度判定を固定的に行うだけでなく、優先順位を
一時的に入れ替えることもできる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるデータ処理装
置の構成を示すブロック図である。
【図2】 実施の形態1におけるアドレス空間を示す説
明図である。
【図3】 実施の形態1におけるCPUによるフェッチ
の際のプロトコルを示すタイミングチャートである。
【図4】 実施の形態1におけるCPUによるストアの
際のプロトコルを示すタイミングチャートである。
【図5】 実施の形態1における外部バスマスタによる
フェッチの際のプロトコルを示すタイミングチャートで
ある。
【図6】 実施の形態1における外部バスマスタによる
ストアの際のプロトコルを示すタイミングチャートであ
る。
【図7】 実施の形態1におけるCPUと外部バスマス
タが同時にアクセス要求した場合の競合を説明するため
のタイミングチャートである。
【図8】 実施の形態1におけるCPUが外部バスマス
タよりも先にアクセス要求した場合の競合を説明するた
めのタイミングチャートである。
【図9】 実施の形態1におけるアクセス競合が生じた
際の優先順位制御を説明するためのタイミングチャート
である。
【図10】 この発明の実施の形態2によるデータ処理
装置の構成を示すブロック図である。
【図11】 実施の形態2におけるマスク制御レジスタ
の構成を示す説明図である。
【図12】 この発明の実施の形態3によるデータ処理
装置の構成を示すブロック図である。
【図13】 実施の形態3におけるマスク制御を説明す
るためのタイミングチャートである。
【図14】 従来のデータ処理装置における優先度判定
を示す状態遷移図である。
【図15】 従来のデータ処理装置における状態遷移の
タイミングを示すタイミングチャートである。
【図16】 従来のデータ処理装置における状態遷移の
タイミングを示すタイミングチャートである。
【符号の説明】
1 データ処理装置、2 外部データバス、3 外部バ
スマスタ、11 CPU(マイクロプロセッサ)、12
DRAM(内蔵メモリ)、13 キャッシュメモリ
(内蔵メモリ)、14 内部バス制御部、15 内部デ
ータバス、16バスI/F部(バスインタフェース
部)、17 マスク制御レジスタ(レジスタ部)、18
MASK端子(入力端子)、19a,19b 入力端
子、21 マスク制御部。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 当該データ処理装置の処理および制御を
    実行するマイクロプロセッサと、 前記マイクロプロセッサ、および当該データ処理装置に
    外部データバスを介して接続される外部バスマスタより
    アクセスされる内蔵メモリと、 前記マイクロプロセッサおよび前記内蔵メモリを相互に
    接続している内部データバスと、 前記外部データバスと前記内部データバスとをインタフ
    ェースするバスインタフェース部と、 前記マイクロプロセッサおよび前記バスインタフェース
    部が出力した、前記内部データバスを介して前記内蔵メ
    モリヘアクセスするためのアクセス要求を受けると、優
    先度変更機能によって一時的にその変更が可能である、
    あらかじめ定められた優先順位に従って、前記内蔵メモ
    リヘのアクセス要求を調停し、そのいずれか一方に対し
    て前記内蔵メモリへのアクセスを許可する内部バス制御
    部とを備えたデータ処理装置。
  2. 【請求項2】 内部バス制御部が優先度変更機能とし
    て、マイクロプロセッサからの内蔵メモリへのアクセス
    要求を一時的に抑止し、見かけ上、前記マイクロプロセ
    ッサからのアクセス要求が発行されていないようにする
    ためのマスク制御部を有することを特徴とする請求項1
    記載のデータ処理装置。
  3. 【請求項3】 マイクロプロセッサからのアクセス要求
    を抑止するか否かを示す信号がセットされるレジスタ部
    と、 前記マイクロプロセッサからのアクセス要求を抑止する
    か否かを示す信号が外部より与えられる入力端子とを設
    け、 内部バス制御部の優先度変更機能が、前記レジスタ部に
    セットされた値、および前記入力端子に与えられた値の
    うちの、少なくとも一方によって有効化されるものであ
    ることを特徴とする請求項1または請求項2記載のデー
    タ処理装置。
  4. 【請求項4】 マイクロプロセッサからのアクセス要求
    を抑止するか否かを示す信号が外部より与えられる複数
    の入力端子を備え、 内部バス制御部の優先度変更機能が、前記各入力端子の
    それぞれに与えられた値に従って、各々異なったタイミ
    ングで有効化されるものであることを特徴とする請求項
    1から請求項3のうちのいずれか1項記載のデータ処理
    装置。
JP10212884A 1998-07-28 1998-07-28 データ処理装置 Pending JP2000047930A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10212884A JP2000047930A (ja) 1998-07-28 1998-07-28 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10212884A JP2000047930A (ja) 1998-07-28 1998-07-28 データ処理装置

Publications (1)

Publication Number Publication Date
JP2000047930A true JP2000047930A (ja) 2000-02-18

Family

ID=16629863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10212884A Pending JP2000047930A (ja) 1998-07-28 1998-07-28 データ処理装置

Country Status (1)

Country Link
JP (1) JP2000047930A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650453B2 (en) 2004-09-16 2010-01-19 Nec Corporation Information processing apparatus having multiple processing units sharing multiple resources
CN108733594A (zh) * 2017-04-13 2018-11-02 慧荣科技股份有限公司 存储器控制器与数据储存装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650453B2 (en) 2004-09-16 2010-01-19 Nec Corporation Information processing apparatus having multiple processing units sharing multiple resources
CN108733594A (zh) * 2017-04-13 2018-11-02 慧荣科技股份有限公司 存储器控制器与数据储存装置
CN108733594B (zh) * 2017-04-13 2020-06-02 慧荣科技股份有限公司 存储器控制器与数据储存装置
US10866736B2 (en) 2017-04-13 2020-12-15 Silicon Motion, Inc. Memory controller and data processing circuit with improved system efficiency

Similar Documents

Publication Publication Date Title
US5893153A (en) Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
US6477599B1 (en) Data processing system and microcomputer
JPH1091573A (ja) マイクロプロセッサ
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
US20050210221A1 (en) Microcomputer and microcomputer system
JPH10134008A (ja) 半導体装置およびコンピュータシステム
JP3136257B2 (ja) コンピュータメモリインタフェース装置
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
KR20070058561A (ko) 버스 액세스 철회를 갖는 데이터 프로세싱 시스템
US5463740A (en) Data control device generating different types of bus requests and transmitting requests directly to one of a number of arbiters for obtaining access to a respective bus
US6738837B1 (en) Digital system with split transaction memory access
JP2001282704A (ja) データ処理装置及びデータ処理方法とデータ処理システム
US20030236941A1 (en) Data processor
JP7468112B2 (ja) インタフェース回路およびインタフェース回路の制御方法
JP2000047930A (ja) データ処理装置
US10372500B1 (en) Register allocation system
JPH10289197A (ja) プロセッサ・データをバースト転送する方法及びコンピュータ・システム
JPH05120124A (ja) マイクロプロセツサ内蔵型のメモリ制御構造
JP2001325148A (ja) アクセス制御方法及び装置
JP3669616B2 (ja) マイクロコンピュータ及びデータ処理システム
JP2001256169A (ja) データ転送制御システム及び装置
JP3077807B2 (ja) マイクロコンピュータシステム
EP0318702A2 (en) Data processor with direct data transfer between coprocessor and memory
JPH11212903A (ja) データ処理システム、周辺装置及びマイクロコンピュータ