JP2002108702A - マイクロコンピュータ及びデータ処理装置 - Google Patents
マイクロコンピュータ及びデータ処理装置Info
- Publication number
- JP2002108702A JP2002108702A JP2000303491A JP2000303491A JP2002108702A JP 2002108702 A JP2002108702 A JP 2002108702A JP 2000303491 A JP2000303491 A JP 2000303491A JP 2000303491 A JP2000303491 A JP 2000303491A JP 2002108702 A JP2002108702 A JP 2002108702A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- cache
- memory
- microcomputer
- 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
Links
Landscapes
- Microcomputers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 システムの性能低下を軽減する。
【解決手段】 オペレーティングシステムによって管理
されるタスクが実行されていない期間に、ダーティビッ
トが有効なブロックについてバリッドビットを有効とし
た状態でキャッシュメモリのデータをメモりにライトバ
ック可能な中央処理装置(3)を設け、タスクが実行さ
れていない期間にライトバック処理を実行することで、
キャッシングの直前において、前回使用したキャッシュ
内容をライトバックするケースを減少させ、システムの
性能低下の軽減を図る。
されるタスクが実行されていない期間に、ダーティビッ
トが有効なブロックについてバリッドビットを有効とし
た状態でキャッシュメモリのデータをメモりにライトバ
ック可能な中央処理装置(3)を設け、タスクが実行さ
れていない期間にライトバック処理を実行することで、
キャッシングの直前において、前回使用したキャッシュ
内容をライトバックするケースを減少させ、システムの
性能低下の軽減を図る。
Description
【0001】
【発明の属する技術分野】本発明は、データ処理技術、
さらにはキャッシュシステムの改良技術に関し、例えば
シングルチップマイクロコンピュータ(単に「マイクロ
コンピュータ」という)及びそれを含むデータ処理装置
に適用して有効な技術に関する。
さらにはキャッシュシステムの改良技術に関し、例えば
シングルチップマイクロコンピュータ(単に「マイクロ
コンピュータ」という)及びそれを含むデータ処理装置
に適用して有効な技術に関する。
【0002】
【従来の技術】近年の制御用マイクロコンピュータにお
いては、取り扱うデータ量の増加に伴い、大量データの
高速処理を可能とするキャッシュメモリシステムが搭載
されている。このキャッシュシステムによれば、前回の
外部メモリアクセスによってキャッシュメモリに残され
ているデータについては、それを利用することにより、
目的とするデータを高速に得ることができるので、シス
テムの処理性能の向上を図ることができる。
いては、取り扱うデータ量の増加に伴い、大量データの
高速処理を可能とするキャッシュメモリシステムが搭載
されている。このキャッシュシステムによれば、前回の
外部メモリアクセスによってキャッシュメモリに残され
ているデータについては、それを利用することにより、
目的とするデータを高速に得ることができるので、シス
テムの処理性能の向上を図ることができる。
【0003】また、ユーザが実メモリを意識せずに、オ
ペレーティングシステムがメモリ管理を行う分野では、
データ処理装置が、アドレス変換機構をサポートする必
要がある。アドレス変換機構とは、仮想記憶を実現する
ために仮想アドレスを物理アドレスに変換する機構であ
る。さらに、アドレス変換機構を高速に実行するため
に、仮想アドレスと物理アドレスの変換対を保持するア
ドレス変換バッファ(Translation lookaside buffer
「TLB」と略記される)を、マイクロコンピュータに
内蔵する技術も採用されている。尚、キャッシュシステ
ムについて記載された文献の例としては、1995年1
1月5日に朝倉書店から発行された「計算機アーキテク
チャと構成方式(第273頁から第308頁)がある。
ペレーティングシステムがメモリ管理を行う分野では、
データ処理装置が、アドレス変換機構をサポートする必
要がある。アドレス変換機構とは、仮想記憶を実現する
ために仮想アドレスを物理アドレスに変換する機構であ
る。さらに、アドレス変換機構を高速に実行するため
に、仮想アドレスと物理アドレスの変換対を保持するア
ドレス変換バッファ(Translation lookaside buffer
「TLB」と略記される)を、マイクロコンピュータに
内蔵する技術も採用されている。尚、キャッシュシステ
ムについて記載された文献の例としては、1995年1
1月5日に朝倉書店から発行された「計算機アーキテク
チャと構成方式(第273頁から第308頁)がある。
【0004】
【発明が解決しようとする課題】キャッシュメモリシス
テムは、マイクロコンピュータの外部に配置された半導
体メモリ(「外部メモリ)という)より高速である反
面、記憶容量が小さいため、外部メモリの一部しか代替
できない。キャッシュメモリシステムによる外部メモリ
の代替の要因には次の二つが考えられる。すなわち、
(1)命令、定数値など、読み出しにのみ使用される場
合、及び(2)読み出したデータに対して行われた演算
の結果(中間結果をも含む)を保存する場合である。
テムは、マイクロコンピュータの外部に配置された半導
体メモリ(「外部メモリ)という)より高速である反
面、記憶容量が小さいため、外部メモリの一部しか代替
できない。キャッシュメモリシステムによる外部メモリ
の代替の要因には次の二つが考えられる。すなわち、
(1)命令、定数値など、読み出しにのみ使用される場
合、及び(2)読み出したデータに対して行われた演算
の結果(中間結果をも含む)を保存する場合である。
【0005】上記(1)の場合は、外部メモリにある使
用頻度の高いデータをキャッシュメモリにコピーし(こ
れを「キャッシング」という)し、2回目以降の参照を
高速化する。この場合は、データの参照しか行わないた
め、キャッシュメモリの情報は外部メモリの記憶情報に
整合している。これに対して、上記(2)の場合には、
キャッシュメモリのデータの内容変更を伴うため、キャ
ッシュメモリの情報は外部メモリの記憶情報に整合しな
くなる。そのため、キャッシュメモリにおいて更新され
た内容を外部メモリに書き戻す作業(ライトバック)が
必要になる。
用頻度の高いデータをキャッシュメモリにコピーし(こ
れを「キャッシング」という)し、2回目以降の参照を
高速化する。この場合は、データの参照しか行わないた
め、キャッシュメモリの情報は外部メモリの記憶情報に
整合している。これに対して、上記(2)の場合には、
キャッシュメモリのデータの内容変更を伴うため、キャ
ッシュメモリの情報は外部メモリの記憶情報に整合しな
くなる。そのため、キャッシュメモリにおいて更新され
た内容を外部メモリに書き戻す作業(ライトバック)が
必要になる。
【0006】キャッシングや、ライトバックは、比較的
低速な外部メモリとのデータ交換なので、システムの性
能低下の大きな要因となる。これら性能低下を軽減する
ため、プリフェッチ、ライトバックバッファなどの技術
がある。プリフェッチは、実際にデータ必要となる前に
キャッシングしておく技術である。ライトバックバッフ
ァは、ライトバックしてキャッシングする過程におい
て、ライトバックを後回しにしてキャッシングを高速化
する技術である。
低速な外部メモリとのデータ交換なので、システムの性
能低下の大きな要因となる。これら性能低下を軽減する
ため、プリフェッチ、ライトバックバッファなどの技術
がある。プリフェッチは、実際にデータ必要となる前に
キャッシングしておく技術である。ライトバックバッフ
ァは、ライトバックしてキャッシングする過程におい
て、ライトバックを後回しにしてキャッシングを高速化
する技術である。
【0007】マイクロコンピュータ応用システム、特に
機器組み込み制御装置では、ある事象(Event)を
発端として、演算を開始するイベント駆動システムが一
般的である。例えばイベント駆動型の処理には、装置を
操作する人の指示により何らかの動作をするというもの
がある。イベント駆動システムでは、例えば図6に示さ
れるように、イベントが発生するまでの間は、CPU
(中央処理装置)の待機状態であり、この状態では、演
算が不要であるが、イベント発生からは高速演算のため
の即時性が要求される。また、連続する二つのイベント
が互いに等しい場合には、図7に示されるように、キャ
ッシュメモリは、CPUのアイドル状態ではアクセスさ
れず、イベント発生後の高速演算の際に頻繁にアクセス
される。それに対して、連続する二つのイベントが互い
に異なる場合には、図8に示されるように、イベント発
生後の処理が異なる。すなわち、イベント発生により
外部メモリの第1ブロックへのアクセスが行われ、イベ
ント発生により、外部メモリの第1ブロックへのライ
トバック及び外部メモリの第2ブロックへのアクセスが
行われる。このように連続する二つのイベントが互いに
異なる場合には、前回使用した第1ブロックのデータと
は異なる第2ブロックについてのキャッシングが必要に
なるが、この際、前回使用したキャッシュ内容をライト
バックする必要があり、このことが、システムの性能低
下の要因とされていることが、本願発明者によって見い
だされた。
機器組み込み制御装置では、ある事象(Event)を
発端として、演算を開始するイベント駆動システムが一
般的である。例えばイベント駆動型の処理には、装置を
操作する人の指示により何らかの動作をするというもの
がある。イベント駆動システムでは、例えば図6に示さ
れるように、イベントが発生するまでの間は、CPU
(中央処理装置)の待機状態であり、この状態では、演
算が不要であるが、イベント発生からは高速演算のため
の即時性が要求される。また、連続する二つのイベント
が互いに等しい場合には、図7に示されるように、キャ
ッシュメモリは、CPUのアイドル状態ではアクセスさ
れず、イベント発生後の高速演算の際に頻繁にアクセス
される。それに対して、連続する二つのイベントが互い
に異なる場合には、図8に示されるように、イベント発
生後の処理が異なる。すなわち、イベント発生により
外部メモリの第1ブロックへのアクセスが行われ、イベ
ント発生により、外部メモリの第1ブロックへのライ
トバック及び外部メモリの第2ブロックへのアクセスが
行われる。このように連続する二つのイベントが互いに
異なる場合には、前回使用した第1ブロックのデータと
は異なる第2ブロックについてのキャッシングが必要に
なるが、この際、前回使用したキャッシュ内容をライト
バックする必要があり、このことが、システムの性能低
下の要因とされていることが、本願発明者によって見い
だされた。
【0008】本発明の目的は、システムの性能低下を軽
減することにある。
減することにある。
【0009】本発明の上記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0011】すなわち、データの記憶エリアと、そのデ
ータに関連するアドレス情報を記憶するタグエリアと、
上記データの内容が更新されたことを示すダーティビッ
トと、上記データの有効性を示すバリッドビットとを含
んで一つのキャッシュブロックが形成され、上記データ
が格納されたメモリのリードキャッシュ及びライトキャ
ッシュを可能とするキャッシュシステムを設け、さら
に、オペレーティングシステムによって管理されるタス
クが実行されていない期間に、上記ダーティビットが有
効なブロックについてバリッドビットを有効とした状態
でキャッシュシステムのデータを上記メモリにライトバ
ック可能な中央処理装置を設ける。
ータに関連するアドレス情報を記憶するタグエリアと、
上記データの内容が更新されたことを示すダーティビッ
トと、上記データの有効性を示すバリッドビットとを含
んで一つのキャッシュブロックが形成され、上記データ
が格納されたメモリのリードキャッシュ及びライトキャ
ッシュを可能とするキャッシュシステムを設け、さら
に、オペレーティングシステムによって管理されるタス
クが実行されていない期間に、上記ダーティビットが有
効なブロックについてバリッドビットを有効とした状態
でキャッシュシステムのデータを上記メモリにライトバ
ック可能な中央処理装置を設ける。
【0012】上記の手段によれば、中央処理装置は、オ
ペレーティングシステムによって管理されるタスクが実
行されていない期間に、上記ダーティビットが有効なブ
ロックについてバリッドビットを有効とした状態でキャ
ッシュシステムのデータを上記メモリにライトバックす
る。連続する二つのイベントが互いに異なる場合には、
前回使用した第1ブロックのデータとは異なる第2ブロ
ックについてのキャッシングが必要になるが、上記のよ
うにオペレーティングシステムによって管理されるタス
クが実行されていない期間にライトバック処理が実行さ
れるようになっているため、上記第2ブロックについて
のキャッシングの直前において、前回使用したキャッシ
ュ内容をライトバックするケースが減少され、このこと
が、システムの性能低下を軽減する。
ペレーティングシステムによって管理されるタスクが実
行されていない期間に、上記ダーティビットが有効なブ
ロックについてバリッドビットを有効とした状態でキャ
ッシュシステムのデータを上記メモリにライトバックす
る。連続する二つのイベントが互いに異なる場合には、
前回使用した第1ブロックのデータとは異なる第2ブロ
ックについてのキャッシングが必要になるが、上記のよ
うにオペレーティングシステムによって管理されるタス
クが実行されていない期間にライトバック処理が実行さ
れるようになっているため、上記第2ブロックについて
のキャッシングの直前において、前回使用したキャッシ
ュ内容をライトバックするケースが減少され、このこと
が、システムの性能低下を軽減する。
【0013】また、上記メモリアクセスに使用されるバ
スの監視を行うことで、上記中央処理装置によって上記
メモリがアクセスされていない期間を検出可能なバス状
態監視回路と、上記検出段の検出結果に基づいて、上記
メモリがアクセスされていない期間にライトバック処理
の開始を指示するライトバック制御回路とを含んでマイ
クロコンピュータを構成することができる。
スの監視を行うことで、上記中央処理装置によって上記
メモリがアクセスされていない期間を検出可能なバス状
態監視回路と、上記検出段の検出結果に基づいて、上記
メモリがアクセスされていない期間にライトバック処理
の開始を指示するライトバック制御回路とを含んでマイ
クロコンピュータを構成することができる。
【0014】
【発明の実施の形態】図10には本発明にかかるマイク
ロコンピュータが適用されるデータ処理装置が示され
る。
ロコンピュータが適用されるデータ処理装置が示され
る。
【0015】このデータ処理装置200は、特に制限さ
れないが情報端末機器とされ、システムバスBUSを介
して、マイクロコンピュータ231、SDRAM23
2、ROM(リード・オンリ・メモリ)234、周辺装
置制御部235、表示制御部236などが互いに信号の
やり取り可能に結合され、予め定められたプログラムに
従って所定のデータ処理を行う。上記マイクロコンピュ
ータ231は、本システムの論理的中核とされ、主とし
て、アドレス指定、情報の読み出しと書き込み、データ
の演算、命令のシーケンス、割り込の受付け、記憶装置
と入出力装置との情報交換の起動等の機能を有し、演算
制御や、バス制御、メモリアクセス制御などを行う。上
記SDRAM232及びROM234はマイクロコンピ
ュータ231の外部メモリとして位置付けられている。
SDRAM232は、マイクロコンピュータ231で実
行されるオペレーティングシステムソフトや、アプリケ
ーションソフト、さらにはマイクロコンピュータの演算
処理において必要とされる各種データが外部記憶装置2
38などからロードされる。ここで、外部記憶装置23
8は、特に制限されないが、記憶素子としてフラッシュ
メモリ素子を含んでカード状に形成された半導体メモリ
カードなどとされる。ROM234には読み出し専用の
プログラムが格納される。周辺装置制御部235によっ
て、外部憶装置238の動作制御や、キーボード239
などからの情報入力制御が行われる。また、上記表示制
御部236によって液晶ディスプレイ240への情報表
示制御が行われる。この表示制御部236には描画処理
のための半導体チップや画像メモリなどが含まれる。
れないが情報端末機器とされ、システムバスBUSを介
して、マイクロコンピュータ231、SDRAM23
2、ROM(リード・オンリ・メモリ)234、周辺装
置制御部235、表示制御部236などが互いに信号の
やり取り可能に結合され、予め定められたプログラムに
従って所定のデータ処理を行う。上記マイクロコンピュ
ータ231は、本システムの論理的中核とされ、主とし
て、アドレス指定、情報の読み出しと書き込み、データ
の演算、命令のシーケンス、割り込の受付け、記憶装置
と入出力装置との情報交換の起動等の機能を有し、演算
制御や、バス制御、メモリアクセス制御などを行う。上
記SDRAM232及びROM234はマイクロコンピ
ュータ231の外部メモリとして位置付けられている。
SDRAM232は、マイクロコンピュータ231で実
行されるオペレーティングシステムソフトや、アプリケ
ーションソフト、さらにはマイクロコンピュータの演算
処理において必要とされる各種データが外部記憶装置2
38などからロードされる。ここで、外部記憶装置23
8は、特に制限されないが、記憶素子としてフラッシュ
メモリ素子を含んでカード状に形成された半導体メモリ
カードなどとされる。ROM234には読み出し専用の
プログラムが格納される。周辺装置制御部235によっ
て、外部憶装置238の動作制御や、キーボード239
などからの情報入力制御が行われる。また、上記表示制
御部236によって液晶ディスプレイ240への情報表
示制御が行われる。この表示制御部236には描画処理
のための半導体チップや画像メモリなどが含まれる。
【0016】図1には、上記マイクロコンピュータ23
1の構成例が示される。同図に示されるマイクロコンピ
ュータ231は、特に制限されないが、単結晶シリコン
のようなの1個の半導体基板に集積回路化されて構成さ
れる。マイクロコンピュータ231は浮動小数点ユニッ
ト(FPUとも称する)2を持つ。更に、マイクロコン
ピュータ231は、整数を操作することができる中央処
理装置(CPUとも称する)3を備える。マイクロコン
ピュータ231は、特に制限されないが、16ビット固
定長命令セットを備えた32ビットRISC(Reduced
Instruction Set Computer:縮小命令セットコンピュー
タ)アーキテクチャを有する。
1の構成例が示される。同図に示されるマイクロコンピ
ュータ231は、特に制限されないが、単結晶シリコン
のようなの1個の半導体基板に集積回路化されて構成さ
れる。マイクロコンピュータ231は浮動小数点ユニッ
ト(FPUとも称する)2を持つ。更に、マイクロコン
ピュータ231は、整数を操作することができる中央処
理装置(CPUとも称する)3を備える。マイクロコン
ピュータ231は、特に制限されないが、16ビット固
定長命令セットを備えた32ビットRISC(Reduced
Instruction Set Computer:縮小命令セットコンピュー
タ)アーキテクチャを有する。
【0017】図1において参照符号4で示されるものは
アドレス変換・キャッシュユニット(CCN)である。
CPU3による命令アクセスとデータアクセスを並列化
できるように、上記アドレス変換・キャッシュユニット
4は、命令用の命令アドレス変換バッファ(命令TLB
とも称する)40と、データ用のユニファイドアドレス
変換バッファ(ユニファイドTLBとも称する)41を
別々に持ち、また、命令キャッシュメモリ42とデータ
キャッシュメモリ43もそれぞれ個別化されている。キ
ャッシュ・アドレス変換バッファコントローラ(キャッ
シュTLBコントローラとも称する)44はアドレス変
換・キャッシュユニット4を全体的に制御する。
アドレス変換・キャッシュユニット(CCN)である。
CPU3による命令アクセスとデータアクセスを並列化
できるように、上記アドレス変換・キャッシュユニット
4は、命令用の命令アドレス変換バッファ(命令TLB
とも称する)40と、データ用のユニファイドアドレス
変換バッファ(ユニファイドTLBとも称する)41を
別々に持ち、また、命令キャッシュメモリ42とデータ
キャッシュメモリ43もそれぞれ個別化されている。キ
ャッシュ・アドレス変換バッファコントローラ(キャッ
シュTLBコントローラとも称する)44はアドレス変
換・キャッシュユニット4を全体的に制御する。
【0018】図1において参照符号5で示されるものは
バスステートコントローラであり、32ビットのデータ
バス50及び29ビットのアドレスバス51を介して上
記アドレス変換・キャッシュユニット4に接続されてい
る。このバスステートコントローラ5にはデータバス5
4及びアドレスバス55を介してDMAC8が接続され
ている。
バスステートコントローラであり、32ビットのデータ
バス50及び29ビットのアドレスバス51を介して上
記アドレス変換・キャッシュユニット4に接続されてい
る。このバスステートコントローラ5にはデータバス5
4及びアドレスバス55を介してDMAC8が接続され
ている。
【0019】マイクロコンピュータ231において上記
CPU3及びDMAC8がバスマスタモジュールを構成
する。マイクロコンピュータ231による外部アクセス
は、64ビットのデータバス52及びアドレスバス53
を介して上記バスステートコントローラ5に接続された
外部バスインタフェース回路(PAD)6で行う。外部
バスインタフェース回路6は外部データバス60及び外
部アドレスバス61に接続される。
CPU3及びDMAC8がバスマスタモジュールを構成
する。マイクロコンピュータ231による外部アクセス
は、64ビットのデータバス52及びアドレスバス53
を介して上記バスステートコントローラ5に接続された
外部バスインタフェース回路(PAD)6で行う。外部
バスインタフェース回路6は外部データバス60及び外
部アドレスバス61に接続される。
【0020】マイクロコンピュータ231は、16ビッ
トの周辺データバス56及び周辺アドレスバス57に接
続された内蔵周辺回路として、クロックパルスジェネレ
ータ(CPGとも称する)70、割り込み制御回路7
1、シリアルコミュニケーションインタフェースコント
ローラ(SCI1,SCI2)72、リアルタイムクロ
ック回路73及びタイマ74を有する。それら周辺回路
は上記バスステートコントローラ5を介してCPU3又
はDMAC8によってアクセスされる。
トの周辺データバス56及び周辺アドレスバス57に接
続された内蔵周辺回路として、クロックパルスジェネレ
ータ(CPGとも称する)70、割り込み制御回路7
1、シリアルコミュニケーションインタフェースコント
ローラ(SCI1,SCI2)72、リアルタイムクロ
ック回路73及びタイマ74を有する。それら周辺回路
は上記バスステートコントローラ5を介してCPU3又
はDMAC8によってアクセスされる。
【0021】上記DMAC8は、例えば4個のデータ転
送チャネルを有し、各データ転送チャネル毎に、転送元
アドレスが設定されるソースアドレスレジスタ、転送先
アドレスが設定されるディスティネーションアドレスレ
ジスタ、転送回数を計数するためのトランスファカウン
トレジスタ、及びデータ転送制御態様等が設定されるチ
ャネルコントロールレジスタを有する。上記レジスタに
対するデータ転送制御情報の初期設定はCPU3等が行
なう。DMAC8の制御部は、マイクロコンピュータ2
31の外部からのデータ転送要求DREQ、マイクロコ
ンピュータ内部の周辺回路(タイマ74など)からのデ
ータ転送要求PDREQ、又はCPUからのデータ転送
要求があったとき、チャネルコントロールレジスタのチ
ャネルイネーブルビットなどを参照して、そのデータ転
送要求に応答して起動すべきデータ転送チャネルが動作
可能かを判定する。更に、データ転送要求が競合する場
合には予め決められている優先順位に従って、起動すべ
き一つのデータ転送チャネルを判定する。データ転送要
求に応答すべき一つのデータ転送チャネルを決定する
と、バスステートコントローラ5に対してバス権要求信
号BREQをアサートしてバス権を要求する。バスステ
ートコントローラ5がバス権承認信号BACKをアサー
トすると、これによってDMAC8はバス権を獲得し、
DMAC8は、データ転送要求に応答するデータ転送制
御をバスステートコントローラ5を介して行う。バスス
テートコントローラ5は、DMAC8から供給されるア
ドレス信号のアドレスエリアなどに応じたメモリサイク
ル数でバスサイクルを起動する。
送チャネルを有し、各データ転送チャネル毎に、転送元
アドレスが設定されるソースアドレスレジスタ、転送先
アドレスが設定されるディスティネーションアドレスレ
ジスタ、転送回数を計数するためのトランスファカウン
トレジスタ、及びデータ転送制御態様等が設定されるチ
ャネルコントロールレジスタを有する。上記レジスタに
対するデータ転送制御情報の初期設定はCPU3等が行
なう。DMAC8の制御部は、マイクロコンピュータ2
31の外部からのデータ転送要求DREQ、マイクロコ
ンピュータ内部の周辺回路(タイマ74など)からのデ
ータ転送要求PDREQ、又はCPUからのデータ転送
要求があったとき、チャネルコントロールレジスタのチ
ャネルイネーブルビットなどを参照して、そのデータ転
送要求に応答して起動すべきデータ転送チャネルが動作
可能かを判定する。更に、データ転送要求が競合する場
合には予め決められている優先順位に従って、起動すべ
き一つのデータ転送チャネルを判定する。データ転送要
求に応答すべき一つのデータ転送チャネルを決定する
と、バスステートコントローラ5に対してバス権要求信
号BREQをアサートしてバス権を要求する。バスステ
ートコントローラ5がバス権承認信号BACKをアサー
トすると、これによってDMAC8はバス権を獲得し、
DMAC8は、データ転送要求に応答するデータ転送制
御をバスステートコントローラ5を介して行う。バスス
テートコントローラ5は、DMAC8から供給されるア
ドレス信号のアドレスエリアなどに応じたメモリサイク
ル数でバスサイクルを起動する。
【0022】DMAC8は、デュアルアドレスモードと
シングルアドレスモードのデータ転送モードを有する。
双方の動作モードは、よく知られているように、デュア
ルアドレスモードは転送先及び転送元の双方のデバイス
にアドレスを指定してデータ転送を行なう動作であり、
シングルアドレスモードは転送先又は転送元の一方のデ
バイスだけアドレス指定を行なってデータ転送を行なう
動作である。前者はメモリマップドデバイス同士のデー
タ転送であり、後者はメモリマップドデバイスとI/O
デバイスとの間のデータ転送である。
シングルアドレスモードのデータ転送モードを有する。
双方の動作モードは、よく知られているように、デュア
ルアドレスモードは転送先及び転送元の双方のデバイス
にアドレスを指定してデータ転送を行なう動作であり、
シングルアドレスモードは転送先又は転送元の一方のデ
バイスだけアドレス指定を行なってデータ転送を行なう
動作である。前者はメモリマップドデバイス同士のデー
タ転送であり、後者はメモリマップドデバイスとI/O
デバイスとの間のデータ転送である。
【0023】上記バスステートコントローラ5は、CP
U3やDMAC8によるアクセス対象とされる回路のア
ドレスエリアに応じて、アクセスデータサイズ、アクセ
スタイム、後述する内部ウェイトステート数及びアイド
ルウェイトステート数を決定し、周辺バスバス56,5
7、そして外部バス60,61に対するバスアクセスを
制御する。更にバスステートコントローラ5は、キャッ
シュTLBコントローラ44及びDMAC8からのバス
使用要求の競合を調停したりする。バスステートコント
ローラ5はデータバッファ58を有する。データバッフ
ァ58は、内部バス50,51、周辺バス56,57、
外部バス60,61に接続される回路の動作速度の差を
吸収するために転送データを一時的にラッチする。更
に、DMAC8によるデータ転送制御では、DMAC8
はデータバッファ58にラッチされたデータを採り込ま
ず、データバッファ58から転送先にデータを転送し、
DMAC8とデータバッファ58との間の無駄なデータ
転送を省くようにデータ転送を行なう。
U3やDMAC8によるアクセス対象とされる回路のア
ドレスエリアに応じて、アクセスデータサイズ、アクセ
スタイム、後述する内部ウェイトステート数及びアイド
ルウェイトステート数を決定し、周辺バスバス56,5
7、そして外部バス60,61に対するバスアクセスを
制御する。更にバスステートコントローラ5は、キャッ
シュTLBコントローラ44及びDMAC8からのバス
使用要求の競合を調停したりする。バスステートコント
ローラ5はデータバッファ58を有する。データバッフ
ァ58は、内部バス50,51、周辺バス56,57、
外部バス60,61に接続される回路の動作速度の差を
吸収するために転送データを一時的にラッチする。更
に、DMAC8によるデータ転送制御では、DMAC8
はデータバッファ58にラッチされたデータを採り込ま
ず、データバッファ58から転送先にデータを転送し、
DMAC8とデータバッファ58との間の無駄なデータ
転送を省くようにデータ転送を行なう。
【0024】上記CPU3は、命令をフェッチするとき
32ビットの命令アドレスバス30に命令アドレスを出
力し、命令データバス31に出力された命令をフェッチ
する。また、CPU3は、32ビットのデータアドレス
バス32にデータアドレスを出力し、32ビットのデー
タバス33を介してデータのリード(ロード)を行い、
32ビットのデータバス34を介してデータのライト
(ストア)を行う。上記命令アドレス及びデータアドレ
スは論理アドレスである。
32ビットの命令アドレスバス30に命令アドレスを出
力し、命令データバス31に出力された命令をフェッチ
する。また、CPU3は、32ビットのデータアドレス
バス32にデータアドレスを出力し、32ビットのデー
タバス33を介してデータのリード(ロード)を行い、
32ビットのデータバス34を介してデータのライト
(ストア)を行う。上記命令アドレス及びデータアドレ
スは論理アドレスである。
【0025】上記FPU2は、特に制限されないが、デ
ータキャッシュメモリ42などをアクセスするためのメ
モリアドレシング能力を備えていない。CPU3がFP
U2に代わってデータをアクセスするためのアドレシン
グ動作を行う。これは、FPU2のメモリアドレシング
回路の必要性を取り除いてチップ面積を節約するためで
ある。FPU2へのデータのロードは32ビットのデー
タバス33と32ビットのデータバス35を介して行
い、FPU2からのデータのストアは64ビットのデー
タバス36を介して行う。FPU2からCPU3へのデ
ータ転送は上記64ビットデータバス36の下位32ビ
ットを用いて行われる。
ータキャッシュメモリ42などをアクセスするためのメ
モリアドレシング能力を備えていない。CPU3がFP
U2に代わってデータをアクセスするためのアドレシン
グ動作を行う。これは、FPU2のメモリアドレシング
回路の必要性を取り除いてチップ面積を節約するためで
ある。FPU2へのデータのロードは32ビットのデー
タバス33と32ビットのデータバス35を介して行
い、FPU2からのデータのストアは64ビットのデー
タバス36を介して行う。FPU2からCPU3へのデ
ータ転送は上記64ビットデータバス36の下位32ビ
ットを用いて行われる。
【0026】CPU3はFPU2のためにデータフェッ
チを行なうだけでなく、FPU2のための浮動小数点命
令を含む全ての命令をフェッチする。CPU3がフェッ
チした浮動小数点命令は32ビットのデータバス34を
介してCPU3からFPU2に与えられる。
チを行なうだけでなく、FPU2のための浮動小数点命
令を含む全ての命令をフェッチする。CPU3がフェッ
チした浮動小数点命令は32ビットのデータバス34を
介してCPU3からFPU2に与えられる。
【0027】マイクロコンピュータ231は、特に制限
されないが、32ビットの仮想アドレスで規定される仮
想アドレス空間と29ビットの物理アドレスで規定され
る物理アドレス空間を扱う。仮想アドレスを物理アドレ
スに変換するためのアドレス変換情報は仮想ページ番号
とそれに対応される物理ページ番号を含んでいる。アド
レス変換テーブルはマイクロコンピュータ231の外部
に配置されたSDRAM232に形成される。アドレス
変換テーブルのアドレス変換情報のうち、最近利用され
たものが上記命令TLB40とユニファイドTLB41
に格納されることになる。その制御は、例えばオペレー
ティングシステム(OS)が行う。
されないが、32ビットの仮想アドレスで規定される仮
想アドレス空間と29ビットの物理アドレスで規定され
る物理アドレス空間を扱う。仮想アドレスを物理アドレ
スに変換するためのアドレス変換情報は仮想ページ番号
とそれに対応される物理ページ番号を含んでいる。アド
レス変換テーブルはマイクロコンピュータ231の外部
に配置されたSDRAM232に形成される。アドレス
変換テーブルのアドレス変換情報のうち、最近利用され
たものが上記命令TLB40とユニファイドTLB41
に格納されることになる。その制御は、例えばオペレー
ティングシステム(OS)が行う。
【0028】上記データ用のユニファイドTLB41は
データ及び命令のアドレス変換情報を最大64エントリ
格納する。このユニファイドTLB41は、データフェ
ッチのためにCPU3がデータアドレスバス32に出力
する仮想アドレスの仮想ページ番号に応ずる物理ページ
番号をアドレス変換情報から連想検索して、その仮想ア
ドレスを物理アドレスに変換する。
データ及び命令のアドレス変換情報を最大64エントリ
格納する。このユニファイドTLB41は、データフェ
ッチのためにCPU3がデータアドレスバス32に出力
する仮想アドレスの仮想ページ番号に応ずる物理ページ
番号をアドレス変換情報から連想検索して、その仮想ア
ドレスを物理アドレスに変換する。
【0029】上記命令用の命令TLB40は命令専用の
アドレス変換情報を最大4エントリ格納する。特に命令
TLB40が保有するエントリは、ユニファイドTLB
41が保有する命令アドレスのアドレス変換情報の一部
とされる。すなわち、連想検索により命令TLB40に
目的とするアドレス変換情報がないことが分かると、そ
のアドレス変換情報はユニファイドTLB41から命令
TLB40へ供給される。この命令TLB40は、命令
フェッチのためにCPU3が命令アドレスバス30に出
力する仮想アドレスの仮想ページ番号に応ずる物理ペー
ジ番号をアドレス変換情報から連想検索する。検索の結
果、目的とするアドレス変換情報がある場合(TLBヒ
ット)、そのアドレス変換情報を用いて、当該仮想アド
レスを物理アドレスに変換する。上記検索の結果、目的
とするアドレス変換情報がない場合(TLBミス)、上
記ユニファイドTLB41から目的とするアドレス変換
情報を得るための動作をキャッシュTLBコントローラ
44が制御する。
アドレス変換情報を最大4エントリ格納する。特に命令
TLB40が保有するエントリは、ユニファイドTLB
41が保有する命令アドレスのアドレス変換情報の一部
とされる。すなわち、連想検索により命令TLB40に
目的とするアドレス変換情報がないことが分かると、そ
のアドレス変換情報はユニファイドTLB41から命令
TLB40へ供給される。この命令TLB40は、命令
フェッチのためにCPU3が命令アドレスバス30に出
力する仮想アドレスの仮想ページ番号に応ずる物理ペー
ジ番号をアドレス変換情報から連想検索する。検索の結
果、目的とするアドレス変換情報がある場合(TLBヒ
ット)、そのアドレス変換情報を用いて、当該仮想アド
レスを物理アドレスに変換する。上記検索の結果、目的
とするアドレス変換情報がない場合(TLBミス)、上
記ユニファイドTLB41から目的とするアドレス変換
情報を得るための動作をキャッシュTLBコントローラ
44が制御する。
【0030】データキャッシュメモリ43においては、
データの記憶エリアと、そのデータに関連するアドレス
情報を記憶するタグエリアと、上記データの内容が更新
されたことを示すダーティビットと、上記データの有効
性を示すバリッドビットとを含んで一つのキャッシュブ
ロックが形成される。
データの記憶エリアと、そのデータに関連するアドレス
情報を記憶するタグエリアと、上記データの内容が更新
されたことを示すダーティビットと、上記データの有効
性を示すバリッドビットとを含んで一つのキャッシュブ
ロックが形成される。
【0031】オペレーティングシステムによって管理さ
れるタスクがCPU3によって実行されている場合にお
いて、上記データキャッシュメモリ43は、データフェ
ッチに際してユニファイドTLB41で変換された物理
アドレスを受け取り、これに基づいてキャッシュエント
リの連想検索を行う。検索結果がリードヒットであれ
ば、ヒットに係るキャッシュブロックからその物理アド
レスに応ずるデータがデータバス33又は35に出力さ
れる。検索結果がリードミスであれば、ミスに係るデー
タを含む1キャッシュブロック分のデータがバスステー
トコントローラ5を介してSDRAM232から読み込
まれて、キャッシュフィルが行われる。これによってキ
ャッシュミスに係るデータが上記バス33又は35に読
み出される。検索結果がライトヒットした場合、キャッ
シュ動作モードがライトバックモードならばヒットした
エントリにデータを書き込み、当該エントリのダーティ
ビットをセットする。セット状態のダーティビットによ
りSDRAM232のデータとの不整合状態が分かり、
上記キャッシュフィル動作で当該ダーティなキャッシュ
エントリがキャッシュメモリから追い出されるとき、S
DRAM232へのライトバックが行われる。ライトス
ルーモードではヒットしたエントリにデータを書き込む
と共にSDRAM232へのデータの書き込みも併せて
行われる。検索結果がライトミスである場合、コピーバ
ックモードならキャッシュフィルを行うと共にダーティ
ビットをセットしてタグアドレスを更新し、フィルを行
ったキャッシュブロックにデータを書き込む。ライトス
ルーモードの場合にはSDRAM232に対してのみ書
き込みを行う。
れるタスクがCPU3によって実行されている場合にお
いて、上記データキャッシュメモリ43は、データフェ
ッチに際してユニファイドTLB41で変換された物理
アドレスを受け取り、これに基づいてキャッシュエント
リの連想検索を行う。検索結果がリードヒットであれ
ば、ヒットに係るキャッシュブロックからその物理アド
レスに応ずるデータがデータバス33又は35に出力さ
れる。検索結果がリードミスであれば、ミスに係るデー
タを含む1キャッシュブロック分のデータがバスステー
トコントローラ5を介してSDRAM232から読み込
まれて、キャッシュフィルが行われる。これによってキ
ャッシュミスに係るデータが上記バス33又は35に読
み出される。検索結果がライトヒットした場合、キャッ
シュ動作モードがライトバックモードならばヒットした
エントリにデータを書き込み、当該エントリのダーティ
ビットをセットする。セット状態のダーティビットによ
りSDRAM232のデータとの不整合状態が分かり、
上記キャッシュフィル動作で当該ダーティなキャッシュ
エントリがキャッシュメモリから追い出されるとき、S
DRAM232へのライトバックが行われる。ライトス
ルーモードではヒットしたエントリにデータを書き込む
と共にSDRAM232へのデータの書き込みも併せて
行われる。検索結果がライトミスである場合、コピーバ
ックモードならキャッシュフィルを行うと共にダーティ
ビットをセットしてタグアドレスを更新し、フィルを行
ったキャッシュブロックにデータを書き込む。ライトス
ルーモードの場合にはSDRAM232に対してのみ書
き込みを行う。
【0032】オペレーティングシステムによって管理さ
れるタスクがCPU3によって実行されていない場合に
は、後に詳述するように、上記ダーティビットが有効な
ブロックについてバリッドビットを有効とした状態でデ
ータキャッシュメモリ43のデータを上記SDRAM2
32にライトバックする。
れるタスクがCPU3によって実行されていない場合に
は、後に詳述するように、上記ダーティビットが有効な
ブロックについてバリッドビットを有効とした状態でデ
ータキャッシュメモリ43のデータを上記SDRAM2
32にライトバックする。
【0033】上記命令キャッシュメモリ42は、命令フ
ェッチに際して命令TLB40で変換された物理アドレ
スを受け取り、これに基づいてキャッシュエントリの連
想検索を行う。検索結果がリードヒットであれば、ヒッ
トに係るキャッシュブロックからその物理アドレスに応
ずる命令が命令データバス31に出力される。検索結果
がリードミスであれば、ミスに係る命令を含む1キャッ
シュブロック分のデータがバスステートコントローラ5
を介してSDRAM232から読み込まれて、キャッシ
ュフィルが行われる。これによってミスに係る命令が命
令データバス31を介してCPU3に与えられる。
ェッチに際して命令TLB40で変換された物理アドレ
スを受け取り、これに基づいてキャッシュエントリの連
想検索を行う。検索結果がリードヒットであれば、ヒッ
トに係るキャッシュブロックからその物理アドレスに応
ずる命令が命令データバス31に出力される。検索結果
がリードミスであれば、ミスに係る命令を含む1キャッ
シュブロック分のデータがバスステートコントローラ5
を介してSDRAM232から読み込まれて、キャッシ
ュフィルが行われる。これによってミスに係る命令が命
令データバス31を介してCPU3に与えられる。
【0034】上記命令TLB40、ユニファイドTLB
41及びキャッシュTLBコントローラ44はメモリマ
ネージメントユニットを構成する。このメモリマネージ
メントユニットは、特権モード及びユーザモードのそれ
ぞれにおいて、仮想アドレス空間へのアクセス権を設定
して、記憶保護を行うことができる。例えばアドレス変
換情報は仮想アドレスページ番号毎に保護キーデータを
有する。保護キーデータはページのアクセス権をコード
で表した2ビットのデータであり、特権モードでのみ読
み出し可能、特権モードで読み出し及び書き込み可能、
特権及びユーザモードの双方で読み出しのみ可能、そし
て、特権モード及びユーザモードの双方で読み出し及び
書き込み可能の何れかのアクセス権が設定可能にされ
る。実際のアクセスタイプが上記保護キーデータで設定
されたアクセス権に違反する場合には、TLB保護違反
例外が発生される。TLB保護違反例外が発生された場
合、例えば、その保護違反を例外処理にて解決した後、
例外処理からの復帰命令を実行して、中断された通常処
理命令を再実行することになる。
41及びキャッシュTLBコントローラ44はメモリマ
ネージメントユニットを構成する。このメモリマネージ
メントユニットは、特権モード及びユーザモードのそれ
ぞれにおいて、仮想アドレス空間へのアクセス権を設定
して、記憶保護を行うことができる。例えばアドレス変
換情報は仮想アドレスページ番号毎に保護キーデータを
有する。保護キーデータはページのアクセス権をコード
で表した2ビットのデータであり、特権モードでのみ読
み出し可能、特権モードで読み出し及び書き込み可能、
特権及びユーザモードの双方で読み出しのみ可能、そし
て、特権モード及びユーザモードの双方で読み出し及び
書き込み可能の何れかのアクセス権が設定可能にされ
る。実際のアクセスタイプが上記保護キーデータで設定
されたアクセス権に違反する場合には、TLB保護違反
例外が発生される。TLB保護違反例外が発生された場
合、例えば、その保護違反を例外処理にて解決した後、
例外処理からの復帰命令を実行して、中断された通常処
理命令を再実行することになる。
【0035】図3(a)には、オペレーティングシステ
ムによって管理されるタスクが実行されていない場合の
主要処理の流れが示される。
ムによって管理されるタスクが実行されていない場合の
主要処理の流れが示される。
【0036】CPUの処理単位(タスク)を効率良く実
行管理するプログラムをスケジューラといい、これが起
動されることによりスケジューリング処理が可能にな
る。このスケジューリング処理が開始された後に実行で
きるタスクがあるか否かの判別が行われる(S31,S
32)。この判別において、実行できるタスクがある
(YES)と判断された場合には当該タスクが実行され
る(S33)。また、上記ステップS32の判別におい
て、実行できるタスクが無い(NO)と判断された場合
には、アイドル状態に入る前に、ライトバック処理が行
われる(S34)。そしてこのライトバック処理が行わ
れた後に、アイドル処理が行われ、この処理によりCP
U3は、消費電力低減のため低消費電力モードに移行さ
れる(S35)。この低消費電力モードにおいてイベン
トが発生した場合には、対応するタスクが実行される
(S36)。ここで、従来技術に従えば、実行すべきタ
スクが無い場合には、CPUは消費電力低減のためにア
イドル状態に移行されるが、本例においては、このアイ
ドル状態に移行される前に、SDRAM232へのライ
トバックが行われ、しかる後に、アイドル状態に移行さ
れる。これは、CPU3によってメモリアクセスが行わ
れていない期間を利用してライトバック処理を行うこと
により、キャッシングにおけるシステム性能低下を軽減
するためである。
行管理するプログラムをスケジューラといい、これが起
動されることによりスケジューリング処理が可能にな
る。このスケジューリング処理が開始された後に実行で
きるタスクがあるか否かの判別が行われる(S31,S
32)。この判別において、実行できるタスクがある
(YES)と判断された場合には当該タスクが実行され
る(S33)。また、上記ステップS32の判別におい
て、実行できるタスクが無い(NO)と判断された場合
には、アイドル状態に入る前に、ライトバック処理が行
われる(S34)。そしてこのライトバック処理が行わ
れた後に、アイドル処理が行われ、この処理によりCP
U3は、消費電力低減のため低消費電力モードに移行さ
れる(S35)。この低消費電力モードにおいてイベン
トが発生した場合には、対応するタスクが実行される
(S36)。ここで、従来技術に従えば、実行すべきタ
スクが無い場合には、CPUは消費電力低減のためにア
イドル状態に移行されるが、本例においては、このアイ
ドル状態に移行される前に、SDRAM232へのライ
トバックが行われ、しかる後に、アイドル状態に移行さ
れる。これは、CPU3によってメモリアクセスが行わ
れていない期間を利用してライトバック処理を行うこと
により、キャッシングにおけるシステム性能低下を軽減
するためである。
【0037】図3(b)には上記ライトバック処理(S
34)の流れが示される。
34)の流れが示される。
【0038】ライトバック処理(S34)においては、
先ず1ブロック分のダーティビットがチェックされる
(S341)。このチェックにおいて、ダーティビット
の論理状態からダーティか否かの判別が行われる(S3
42)。上記ステップS342の判別において、ダーテ
ィである(YES)と判断された場合には、バリッドビ
ットを有効とした状態でそのブロックについてSDRA
M232へライトバックし、その後、当該ブロックにお
けるダーティビットをクリアする(S343)。そし
て、全てのブロックについての処理を完了したか否かの
判別が行われる(S344)。この判別において全ての
ブロックについての処理が完了していない(NO)と判
断された場合には、上記ステップS341の判別に戻
る。また、上記ステップS344の判別において全ての
ブロックについての処理が完了した(YES)と判断さ
れた場合には当該ライトバック処理が終了される。尚、
上記ステップS342の判別においてダーティではない
(NO)と判断された場合には、それはデータキャッシ
ュメモリ43のデータが更新されていないことを意味す
るから、上記ステップS343のライトバック処理を行
うことなしに、上記ステップS344の判別に移行され
る。
先ず1ブロック分のダーティビットがチェックされる
(S341)。このチェックにおいて、ダーティビット
の論理状態からダーティか否かの判別が行われる(S3
42)。上記ステップS342の判別において、ダーテ
ィである(YES)と判断された場合には、バリッドビ
ットを有効とした状態でそのブロックについてSDRA
M232へライトバックし、その後、当該ブロックにお
けるダーティビットをクリアする(S343)。そし
て、全てのブロックについての処理を完了したか否かの
判別が行われる(S344)。この判別において全ての
ブロックについての処理が完了していない(NO)と判
断された場合には、上記ステップS341の判別に戻
る。また、上記ステップS344の判別において全ての
ブロックについての処理が完了した(YES)と判断さ
れた場合には当該ライトバック処理が終了される。尚、
上記ステップS342の判別においてダーティではない
(NO)と判断された場合には、それはデータキャッシ
ュメモリ43のデータが更新されていないことを意味す
るから、上記ステップS343のライトバック処理を行
うことなしに、上記ステップS344の判別に移行され
る。
【0039】図2には、上記ステップS33においてタ
スクが実行されている場合の主要処理の流れが示され
る。
スクが実行されている場合の主要処理の流れが示され
る。
【0040】CPU3から、あるアドレスに対する読み
出し、又は書き込みが要求されると(S11)、該当ア
ドレスのデータがデータキャッシュメモリ43上にある
か否かの判別が行われる(S12)。この判別におい
て、該当アドレスのデータがデータキャッシュメモリ4
3上にある(YES)と判断された場合には、読み出し
か書き込みかの判別が行われる。この判別において、
「読み出し」であると判断された場合にはデータキャッ
シュメモリ43上のデータがCPU3に渡される。ま
た、上記ステップS13の判別において書き込みである
と判断された場合には、データキャッシュメモリ43上
のデータをCPU3から受け取ったデータに変更する
(S15)。そして、該当ブロックに対してダーティビ
ットをセットし(S16)、CPU3からの要求待ち状
態になる(S24)。
出し、又は書き込みが要求されると(S11)、該当ア
ドレスのデータがデータキャッシュメモリ43上にある
か否かの判別が行われる(S12)。この判別におい
て、該当アドレスのデータがデータキャッシュメモリ4
3上にある(YES)と判断された場合には、読み出し
か書き込みかの判別が行われる。この判別において、
「読み出し」であると判断された場合にはデータキャッ
シュメモリ43上のデータがCPU3に渡される。ま
た、上記ステップS13の判別において書き込みである
と判断された場合には、データキャッシュメモリ43上
のデータをCPU3から受け取ったデータに変更する
(S15)。そして、該当ブロックに対してダーティビ
ットをセットし(S16)、CPU3からの要求待ち状
態になる(S24)。
【0041】また、上記ステップS12の判別におい
て、該当アドレスのデータがデータキャッシュメモリ4
3上には無い(NO)と判断された場合には、入れ替え
を行うキャッシュメモリブロックの選択が行われる(S
17)。そして、該当ブロックはダーティか否かの判別
が行われる(S18)。この判別において、該当ブロッ
クはダーティである(YES)と判断された場合には、
該当ブロックのデータがSDRAM232に書き戻され
る(S19)。そして、SDRAM232から該当アド
レスデータがキャッシュメモリブロック分読み出され
(S20)、上記ステップS13の判別に移行される。
て、該当アドレスのデータがデータキャッシュメモリ4
3上には無い(NO)と判断された場合には、入れ替え
を行うキャッシュメモリブロックの選択が行われる(S
17)。そして、該当ブロックはダーティか否かの判別
が行われる(S18)。この判別において、該当ブロッ
クはダーティである(YES)と判断された場合には、
該当ブロックのデータがSDRAM232に書き戻され
る(S19)。そして、SDRAM232から該当アド
レスデータがキャッシュメモリブロック分読み出され
(S20)、上記ステップS13の判別に移行される。
【0042】図9には上記マイクロコンピュータ231
でのメモリアクセスの様子が示される。
でのメモリアクセスの様子が示される。
【0043】図9に示されるように、CPU3によって
SDRAM232における第1ブロックへのアクセスが
行われ、このとき、データキャッシュメモリ43のデー
タが変更されたものとすると、実行できるタスクが無く
なったときに、アイドル状態に入る前にライトバックが
行われる。このようにライトバックが行われることか
ら、次のイベントが発生した場合には、SDRAM2
32における第1ブロックへのライトバックを行うこと
なしにSDRAM232における第2ブロックへのアク
セスが可能とされるので、ライトバックに起因する性能
低下を軽減することができる。
SDRAM232における第1ブロックへのアクセスが
行われ、このとき、データキャッシュメモリ43のデー
タが変更されたものとすると、実行できるタスクが無く
なったときに、アイドル状態に入る前にライトバックが
行われる。このようにライトバックが行われることか
ら、次のイベントが発生した場合には、SDRAM2
32における第1ブロックへのライトバックを行うこと
なしにSDRAM232における第2ブロックへのアク
セスが可能とされるので、ライトバックに起因する性能
低下を軽減することができる。
【0044】上記した例によれば、以下の作用効果を得
ることができる。
ることができる。
【0045】(1)CPU3によってSDRAM232
における第1ブロックへのアクセスが行われ、このと
き、データキャッシュメモリ43のデータが変更された
ものとすると、実行できるタスクが無くなったときに、
アイドル状態に入る前にライトバックが行われるため、
次のイベントが発生した場合には、SDRAM232
における第1ブロックへのライトバックを行うことなし
にSDRAM232における第2ブロックへのアクセス
が可能とされるので、ライトバックに起因するシステム
性能低下を軽減することができる。つまり、CPU3に
よって実行できるタスクが無くなったとき、直ぐにアイ
ドル状態に移行させるのではなく、先ず、SDRAM2
32へのライトバックを行い、しかる後にアイドル状態
に移行させることにより、イベントの発生においてS
DRAM232のライトバックを行うこと無しに、SD
RAM232の新たなキャッシングが行われるため、ラ
イトバックに起因するシステム性能低下を軽減すること
ができる。
における第1ブロックへのアクセスが行われ、このと
き、データキャッシュメモリ43のデータが変更された
ものとすると、実行できるタスクが無くなったときに、
アイドル状態に入る前にライトバックが行われるため、
次のイベントが発生した場合には、SDRAM232
における第1ブロックへのライトバックを行うことなし
にSDRAM232における第2ブロックへのアクセス
が可能とされるので、ライトバックに起因するシステム
性能低下を軽減することができる。つまり、CPU3に
よって実行できるタスクが無くなったとき、直ぐにアイ
ドル状態に移行させるのではなく、先ず、SDRAM2
32へのライトバックを行い、しかる後にアイドル状態
に移行させることにより、イベントの発生においてS
DRAM232のライトバックを行うこと無しに、SD
RAM232の新たなキャッシングが行われるため、ラ
イトバックに起因するシステム性能低下を軽減すること
ができる。
【0046】(2)オペレーティングシステムによって
上記ライトバックが制御されるので、オペレーティング
システムを変更すれば良く、マイクロコンピュータ23
1のハードウェアの構成変更を伴わずに済む。
上記ライトバックが制御されるので、オペレーティング
システムを変更すれば良く、マイクロコンピュータ23
1のハードウェアの構成変更を伴わずに済む。
【0047】以上本発明者によってなされた発明を具体
的に説明したが、本発明はそれに限定されるものではな
く、その要旨を逸脱しない範囲で種々変更可能であるこ
とはいうまでもない。
的に説明したが、本発明はそれに限定されるものではな
く、その要旨を逸脱しない範囲で種々変更可能であるこ
とはいうまでもない。
【0048】例えば、ハードウェアによってライトバッ
ク処理を行うことができる。図4には、ハードウェアに
よってライトバック処理を行う場合のマイクロコンピュ
ータの主要構成が示される。尚、図4においてはキャッ
シュTLBコントローラ44以外の構成は、図1に示さ
れるのと同様とされる。
ク処理を行うことができる。図4には、ハードウェアに
よってライトバック処理を行う場合のマイクロコンピュ
ータの主要構成が示される。尚、図4においてはキャッ
シュTLBコントローラ44以外の構成は、図1に示さ
れるのと同様とされる。
【0049】図4に示されるマイクロコンピュータ23
1においては、キャッシュコントローラ44として、ラ
イトバック制御回路44a、バス状態制御回路44b、
キャッシュ制御回路44cとを含んで成るものが適用さ
れている。
1においては、キャッシュコントローラ44として、ラ
イトバック制御回路44a、バス状態制御回路44b、
キャッシュ制御回路44cとを含んで成るものが適用さ
れている。
【0050】バス状態監視回路44bはバスコントロー
ラ5のコントロール状態からバスの状態を監視すること
により、CPU3によってSDRAM232がアクセス
されていない期間を検出する。ライトバック制御回路4
4aは、データキャッシュメモリ43にダーティブロッ
クが存在する場合に、上記バス状態監視回路44bによ
るバス監視結果に基づいて、SDRAM232がアクセ
スされていない期間にキャッシュ制御回路44cに対し
てライトバック指令信号を与える。キャッシュ制御回路
44cには、データキャッシュメモリ43に一つでもダ
ーティなブロックがあることを示すフラグを保持するた
めのレジスタが含まれる。キャッシュメモリ43内のブ
ロックがダーティにされる際、上記フラグがセットされ
る。従って、上記ダーティブロックが存在するか否か
は、キャッシュ制御回路44c内の上記フラグの状態に
よって知ることができる。ライトバック制御回路44a
は、上記キャッシュ制御回路44c内の上記フラグ状態
に従って、ライトバック制御を開始する。このライトバ
ック制御において、バス状態監視回路44bによるバス
監視結果に基づいてライトバック指示信号をアサートす
る。キャッシュ制御回路44cは、キャッシュTLBコ
ントローラとしての基本的な制御機能を備えている。キ
ャッシュ制御回路44cは、上記ライトバック制御回路
44aから与えられたライトバック指示信号に基づいて
データキャッシュメモリ43のライトバックを制御す
る。
ラ5のコントロール状態からバスの状態を監視すること
により、CPU3によってSDRAM232がアクセス
されていない期間を検出する。ライトバック制御回路4
4aは、データキャッシュメモリ43にダーティブロッ
クが存在する場合に、上記バス状態監視回路44bによ
るバス監視結果に基づいて、SDRAM232がアクセ
スされていない期間にキャッシュ制御回路44cに対し
てライトバック指令信号を与える。キャッシュ制御回路
44cには、データキャッシュメモリ43に一つでもダ
ーティなブロックがあることを示すフラグを保持するた
めのレジスタが含まれる。キャッシュメモリ43内のブ
ロックがダーティにされる際、上記フラグがセットされ
る。従って、上記ダーティブロックが存在するか否か
は、キャッシュ制御回路44c内の上記フラグの状態に
よって知ることができる。ライトバック制御回路44a
は、上記キャッシュ制御回路44c内の上記フラグ状態
に従って、ライトバック制御を開始する。このライトバ
ック制御において、バス状態監視回路44bによるバス
監視結果に基づいてライトバック指示信号をアサートす
る。キャッシュ制御回路44cは、キャッシュTLBコ
ントローラとしての基本的な制御機能を備えている。キ
ャッシュ制御回路44cは、上記ライトバック制御回路
44aから与えられたライトバック指示信号に基づいて
データキャッシュメモリ43のライトバックを制御す
る。
【0051】図5には、図4に示されるキャッシュコン
トローラ44の動作の流れが示される。
トローラ44の動作の流れが示される。
【0052】CPU3から、あるアドレスに対する読み
出し、又は書き込みが要求されると(S11)、該当ア
ドレスのデータがデータキャッシュメモリ43上にある
か否かの判別が行われる(S12)。この判別におい
て、該当アドレスのデータがデータキャッシュメモリ4
3上にある(YES)と判断された場合には、読み出し
か書き込みかの判別が行われる。この判別において、
「読み出し」であると判断された場合にはデータキャッ
シュメモリ43上のデータがCPU3に渡される。ま
た、上記ステップS13の判別において書き込みである
と判断された場合には、データキャッシュメモリ43上
のデータをCPU3から受け取ったデータに変更する
(S15)。そして、該当ブロックに対してダーティビ
ットをセットし(S16)、CPU3からの要求待ち状
態になる(S24)。
出し、又は書き込みが要求されると(S11)、該当ア
ドレスのデータがデータキャッシュメモリ43上にある
か否かの判別が行われる(S12)。この判別におい
て、該当アドレスのデータがデータキャッシュメモリ4
3上にある(YES)と判断された場合には、読み出し
か書き込みかの判別が行われる。この判別において、
「読み出し」であると判断された場合にはデータキャッ
シュメモリ43上のデータがCPU3に渡される。ま
た、上記ステップS13の判別において書き込みである
と判断された場合には、データキャッシュメモリ43上
のデータをCPU3から受け取ったデータに変更する
(S15)。そして、該当ブロックに対してダーティビ
ットをセットし(S16)、CPU3からの要求待ち状
態になる(S24)。
【0053】また、上記ステップS12の判別におい
て、該当アドレスのデータがデータキャッシュメモリ4
3上には無い(NO)と判断された場合には、入れ替え
を行うキャッシュメモリブロックの選択が行われる(S
17)。そして、該当ブロックはダーティか否かの判別
が行われる(S18)。この判別において、該当ブロッ
クはダーティである(YES)と判断された場合には、
該当ブロックのデータがSDRAM232に書き戻され
る(S19)。そして、SDRAM232から該当アド
レスデータがキャッシュメモリブロック分読み出され
(S20)、上記ステップS13の判別に移行される。
て、該当アドレスのデータがデータキャッシュメモリ4
3上には無い(NO)と判断された場合には、入れ替え
を行うキャッシュメモリブロックの選択が行われる(S
17)。そして、該当ブロックはダーティか否かの判別
が行われる(S18)。この判別において、該当ブロッ
クはダーティである(YES)と判断された場合には、
該当ブロックのデータがSDRAM232に書き戻され
る(S19)。そして、SDRAM232から該当アド
レスデータがキャッシュメモリブロック分読み出され
(S20)、上記ステップS13の判別に移行される。
【0054】一方、バス状態監視回路44bによって外
部アドレスバス60の状態が監視されており、それによ
ってSDRAM232がCPU3によってアクセスされ
ていない期間を把握することができる。ライトバック制
御回路44aは、バス状態監視回路44bによって、S
DRAM232がアクセス中でないことが確認された場
合にライトバック指示信号をアサートする。これによ
り、キャッシュ制御回路44cは、ダーティブロックは
存在するか否かの判別を行う(S22)。この判別にお
いてダーティブロックは存在する(Yes)と判断され
た場合には、キャッシュブロックのバリッドビットを有
効とした状態のままSDRAM232にライトバック
し、その後、対応するダーティビットのフラグをクリア
する(S23)。また、上記ステップS22の判別にお
いて、ダーティなブロックは存在しないと判断された場
合には、上記ステップS23のライトバックを行わず
に、CPU3からの次の要求待ち状態に移行される(S
23)。
部アドレスバス60の状態が監視されており、それによ
ってSDRAM232がCPU3によってアクセスされ
ていない期間を把握することができる。ライトバック制
御回路44aは、バス状態監視回路44bによって、S
DRAM232がアクセス中でないことが確認された場
合にライトバック指示信号をアサートする。これによ
り、キャッシュ制御回路44cは、ダーティブロックは
存在するか否かの判別を行う(S22)。この判別にお
いてダーティブロックは存在する(Yes)と判断され
た場合には、キャッシュブロックのバリッドビットを有
効とした状態のままSDRAM232にライトバック
し、その後、対応するダーティビットのフラグをクリア
する(S23)。また、上記ステップS22の判別にお
いて、ダーティなブロックは存在しないと判断された場
合には、上記ステップS23のライトバックを行わず
に、CPU3からの次の要求待ち状態に移行される(S
23)。
【0055】このようにSDRAM232がアクセスさ
れていない期間を利用してライトバックが行われるた
め、例えば図9に示されるようにイベントが発生され
た際に、ライトバックを行わずに済むので、ライトバッ
クに起因するシステムの性能低下を軽減することができ
る。
れていない期間を利用してライトバックが行われるた
め、例えば図9に示されるようにイベントが発生され
た際に、ライトバックを行わずに済むので、ライトバッ
クに起因するシステムの性能低下を軽減することができ
る。
【0056】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるRIS
Cアーキテクチャを有するマイクロコンピュータに適用
した場合について説明したが、本発明はそれに限定され
るものではなく、各種マイクロコンピュータに広く適用
することができる。
なされた発明をその背景となった利用分野であるRIS
Cアーキテクチャを有するマイクロコンピュータに適用
した場合について説明したが、本発明はそれに限定され
るものではなく、各種マイクロコンピュータに広く適用
することができる。
【0057】本発明は、少なくともキャッシュシステム
を有することを条件に適用することができる。
を有することを条件に適用することができる。
【0058】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0059】すなわち、オペレーティングシステムによ
って管理されるタスクが実行されていない期間に、ダー
ティビットが有効なブロックについてバリッドビットを
有効とした状態でキャッシュメモリのデータをメモりに
ライトバックする。連続する二つのイベントが互いに異
なる場合には、前回使用した第1ブロックのデータとは
異なる第2ブロックについてのキャッシングが必要にな
るが、上記のようにオペレーティングシステムによって
管理されるタスクが実行されていない期間にライトバッ
ク処理が実行されるようになっているため、上記第2ブ
ロックについてのキャッシングの直前において、前回使
用したキャッシュ内容をライトバックするケースが減少
され、それによってシステムの性能低下が軽減される。
って管理されるタスクが実行されていない期間に、ダー
ティビットが有効なブロックについてバリッドビットを
有効とした状態でキャッシュメモリのデータをメモりに
ライトバックする。連続する二つのイベントが互いに異
なる場合には、前回使用した第1ブロックのデータとは
異なる第2ブロックについてのキャッシングが必要にな
るが、上記のようにオペレーティングシステムによって
管理されるタスクが実行されていない期間にライトバッ
ク処理が実行されるようになっているため、上記第2ブ
ロックについてのキャッシングの直前において、前回使
用したキャッシュ内容をライトバックするケースが減少
され、それによってシステムの性能低下が軽減される。
【0060】また、メモリアクセスに使用されるバスの
監視を行うことで、中央処理装置によってメモリがアク
セスされていない期間を検出し、上記メモリがアクセス
されていない期間にライトバック処理を行うことによ
り、前回使用した第1ブロックのデータとは異なる第2
ブロックについてのキャッシングが必要になる場合にお
いて、前回使用したキャッシュ内容を当該キャッシング
の直前にライトバックするケースが減少されるから、そ
の分、システムの性能低下が軽減される。
監視を行うことで、中央処理装置によってメモリがアク
セスされていない期間を検出し、上記メモリがアクセス
されていない期間にライトバック処理を行うことによ
り、前回使用した第1ブロックのデータとは異なる第2
ブロックについてのキャッシングが必要になる場合にお
いて、前回使用したキャッシュ内容を当該キャッシング
の直前にライトバックするケースが減少されるから、そ
の分、システムの性能低下が軽減される。
【図1】本発明にかかるマイクロコンピュータの構成例
ブロック図である。
ブロック図である。
【図2】上記マイクロコンピュータにおいてオペレーテ
ィングシステムによって管理されるタスクが実行される
場合のフローチャートである。
ィングシステムによって管理されるタスクが実行される
場合のフローチャートである。
【図3】上記マイクロコンピュータにおいてオペレーテ
ィングシステムによって管理されるタスクが実行されて
いない場合のフローチャートである。
ィングシステムによって管理されるタスクが実行されて
いない場合のフローチャートである。
【図4】本発明にかかるマイクロコンピュータの別の構
成例ブロック図である。
成例ブロック図である。
【図5】図4に示されるマイクロコンピュータにおける
主要動作のフローチャートである。
主要動作のフローチャートである。
【図6】マイクロコンピュータにおけるCPUの状態説
明図である。
明図である。
【図7】マイクロコンピュータにおけるCPUの別の状
態説明図である。
態説明図である。
【図8】マイクロコンピュータにおけるCPUの別の状
態説明図である。
態説明図である。
【図9】本発明にかかるマイクロコンピュータにおける
メモリアクセスの状態例説明図である。
メモリアクセスの状態例説明図である。
【図10】上記マイクロコンピュータが適用されるデー
タ処理装置の全体的な構成例ブロック図である。
タ処理装置の全体的な構成例ブロック図である。
3 CPU 4 アドレス変換・キャッシュユニット 5 バスステートコントローラ 6 外部バスインタフェース 40 命令TLB 41 ユニファイドTLB 42 命令キャッシュメモリ 43 データキャッシュメモリ 44 キャッシュTLBコントローラ 44a ライトバック制御回路 44b バス状態監視回路 44c キャッシュ制御回路 231 マイクロコンピュータ 232 SDRAM 234 ROM 235 周辺装置制御部 236 表示制御部 237 ディスプレイ 238 外部記憶装置 239 キーボード
Claims (4)
- 【請求項1】 データの記憶エリアと、そのデータに関
連するアドレス情報を記憶するタグエリアと、上記デー
タの内容が更新されたことを示すダーティビットと、上
記データの有効性を示すバリッドビットとを含んで一つ
のキャッシュブロックが形成され、上記データが格納さ
れたメモリのリードキャッシュ及びライトキャッシュを
可能とするキャッシュシステムと、 オペレーティングシステムによって管理されるタスクが
実行されていない期間に、上記ダーティビットが有効な
ブロックについてバリッドビットを有効とした状態でキ
ャッシュシステムのデータを上記メモリにライトバック
可能な中央処理装置と、を含むこと特徴とするマイクロ
コンピュータ。 - 【請求項2】 中央処理装置と、 上記中央処理装置によってアクセス可能なメモリのリー
ドキャッシュ及びライトキャッシュが可能とされるキャ
ッシュシステムと、を含むマイクロコンピュータであっ
て、 キャッシュシステムは、上記メモリアクセスに使用され
るバスの監視を行うことで、上記中央処理装置によって
上記メモリがアクセスされていない期間を検出可能なバ
ス状態監視回路と、 上記バス状態監視回路の検出結果に基づいて、上記メモ
リがアクセスされていない期間にライトバック処理の開
始を指示するライトバック制御回路と、を含んで成るこ
とを特徴とするマイクロコンピュータ。 - 【請求項3】 上記ライトバック制御回路は、上記キャ
ッシュシステムにダーティなブロックが存在することを
示すフラグを設定可能なレジスタを含み、上記ライトバ
ック制御回路は、上記レジスタに設定されたフラグの状
態に従ってライトバック制御を開始する請求項2記載の
マイクロコンピュータ。 - 【請求項4】 請求項1乃至3の何れか1項記載のマイ
クロコンピュータと、上記マイクロコンピュータの外部
に配置され、上記マイクロコンピュータによってアクセ
ス可能なメモリとを含んで成るデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000303491A JP2002108702A (ja) | 2000-10-03 | 2000-10-03 | マイクロコンピュータ及びデータ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000303491A JP2002108702A (ja) | 2000-10-03 | 2000-10-03 | マイクロコンピュータ及びデータ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002108702A true JP2002108702A (ja) | 2002-04-12 |
Family
ID=18784684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000303491A Withdrawn JP2002108702A (ja) | 2000-10-03 | 2000-10-03 | マイクロコンピュータ及びデータ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002108702A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
US8892819B2 (en) | 2010-06-23 | 2014-11-18 | Fujitsu Limited | Multi-core system and external input/output bus control method |
US9703704B2 (en) | 2012-05-01 | 2017-07-11 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
-
2000
- 2000-10-03 JP JP2000303491A patent/JP2002108702A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006524850A (ja) * | 2003-04-04 | 2006-11-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
US8892819B2 (en) | 2010-06-23 | 2014-11-18 | Fujitsu Limited | Multi-core system and external input/output bus control method |
US9703704B2 (en) | 2012-05-01 | 2017-07-11 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3285644B2 (ja) | キャッシュメモリを有するデータプロセッサ | |
US5787486A (en) | Bus protocol for locked cycle cache hit | |
JP3158161B2 (ja) | 集積キャッシュユニットおよび集積キャッシュユニットにおいてインターロック変数をキャッシュする方法 | |
US5185878A (en) | Programmable cache memory as well as system incorporating same and method of operating programmable cache memory | |
US6591340B2 (en) | Microprocessor having improved memory management unit and cache memory | |
US5025366A (en) | Organization of an integrated cache unit for flexible usage in cache system design | |
US5379394A (en) | Microprocessor with two groups of internal buses | |
JP4162825B2 (ja) | マイクロプロセッサ | |
US6629207B1 (en) | Method for loading instructions or data into a locked way of a cache memory | |
KR100228940B1 (ko) | 메모리 일관성 유지 방법 | |
JP2000250813A (ja) | I/oキャッシュ・メモリにおけるデータ管理方法 | |
JP4803983B2 (ja) | 演算処理装置 | |
JP3136257B2 (ja) | コンピュータメモリインタフェース装置 | |
JP2018511120A (ja) | キャッシュ保守命令 | |
KR19990044934A (ko) | 데이타처리시스템 및 마이크로컴퓨터 | |
JP3841810B2 (ja) | データプロセッサ | |
KR100710922B1 (ko) | 캐시 관리 방법 | |
US6553460B1 (en) | Microprocessor having improved memory management unit and cache memory | |
JP4160228B2 (ja) | マイクロプロセッサ | |
JPH03163640A (ja) | マルチプロセッサシステムおよびそれに用いるキャッシュメモリ | |
JP2002108702A (ja) | マイクロコンピュータ及びデータ処理装置 | |
JP4024247B2 (ja) | 半導体データプロセッサ | |
JP3445873B2 (ja) | データプリフェッチ方法およびそのための情報処理装置 | |
JPH07282023A (ja) | データ転送量可変プロセッサ及びそれを用いたシステム | |
JP2002342162A (ja) | メモリアクセス制御方式及びホストブリッジ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071204 |