JP2003196149A - メモリ制御装置 - Google Patents
メモリ制御装置Info
- Publication number
- JP2003196149A JP2003196149A JP2001393804A JP2001393804A JP2003196149A JP 2003196149 A JP2003196149 A JP 2003196149A JP 2001393804 A JP2001393804 A JP 2001393804A JP 2001393804 A JP2001393804 A JP 2001393804A JP 2003196149 A JP2003196149 A JP 2003196149A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- clock
- memory
- wait
- weight
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【課題】 低消費電力のため、マイコンのクロック周波
数を変化させて消費電力を低減させるに、CPUとメモ
リとの間に必要なメモリアクセス時間に対応した各クロ
ック周波数での最適なウエイト数を設定する。 【解決手段】 メモリ制御装置110はウエイト数設定
回路114、ウエイト制御回路115から構成される。
ウエイト数設定回路114はウエイト数設定レジスタ1
16、セレクタ列117から構成される。セレクタ列は
クロック周波数の変化を示すクロック選択信号S0によ
り、ウエイト数設定レジスタの全mビットか最下位のk
ビットを除く(m−k)ビットの最上位側に0をkビッ
ト加えたmビットかを選択してウエイト制御回路115
へ出力する。
数を変化させて消費電力を低減させるに、CPUとメモ
リとの間に必要なメモリアクセス時間に対応した各クロ
ック周波数での最適なウエイト数を設定する。 【解決手段】 メモリ制御装置110はウエイト数設定
回路114、ウエイト制御回路115から構成される。
ウエイト数設定回路114はウエイト数設定レジスタ1
16、セレクタ列117から構成される。セレクタ列は
クロック周波数の変化を示すクロック選択信号S0によ
り、ウエイト数設定レジスタの全mビットか最下位のk
ビットを除く(m−k)ビットの最上位側に0をkビッ
ト加えたmビットかを選択してウエイト制御回路115
へ出力する。
Description
【0001】
【発明の属する技術分野】本発明は、LSIに内蔵され
たCPUとメモリ回路とのアクセス制御を行うメモリ制
御装置に関するものである。
たCPUとメモリ回路とのアクセス制御を行うメモリ制
御装置に関するものである。
【0002】
【従来の技術】近年、LSIは高速化と低消費電力化が
進み、クロックの動作周波数はますます高くなる傾向に
ある一方で消費電力量を抑える必要がある。そのため、
クロック周波数を切り替えることによって高速での処理
を必要とする場合の動作クロックと低速でも十分に処理
できる場合のクロックとを切り替える方法が用いられて
いる。
進み、クロックの動作周波数はますます高くなる傾向に
ある一方で消費電力量を抑える必要がある。そのため、
クロック周波数を切り替えることによって高速での処理
を必要とする場合の動作クロックと低速でも十分に処理
できる場合のクロックとを切り替える方法が用いられて
いる。
【0003】図18は、従来のLSIの構成を表すブロ
ック図である。
ック図である。
【0004】501はLSIであり、マイコン502、
メモリ503、クロック入力端子504、クロック出力
端子505、クロック選択信号端子506、メモリアド
レスバス507、メモリデータバス508から構成され
る。
メモリ503、クロック入力端子504、クロック出力
端子505、クロック選択信号端子506、メモリアド
レスバス507、メモリデータバス508から構成され
る。
【0005】502はマイコンであり、CPU509、
メモリ制御装置510、クロック制御回路511、CP
Uアドレスバス512、CPUデータバス513から構
成される。
メモリ制御装置510、クロック制御回路511、CP
Uアドレスバス512、CPUデータバス513から構
成される。
【0006】503はメモリであり、メモリアドレスバ
ス507及びメモリデータバス508に接続され、メモ
リアドレスバス507の示すアドレスにメモリデータバ
ス508のデータの読み書きを行う。
ス507及びメモリデータバス508に接続され、メモ
リアドレスバス507の示すアドレスにメモリデータバ
ス508のデータの読み書きを行う。
【0007】504はクロック入力端子であり、505
はクロック出力端子であり、クロック入力端子504及
びクロック出力端子505は発振器もしくは発振子52
3に接続して自励発振を行う。
はクロック出力端子であり、クロック入力端子504及
びクロック出力端子505は発振器もしくは発振子52
3に接続して自励発振を行う。
【0008】509はCPUであり、クロック制御回路
511から内部クロックCLKの供給を受けて命令を実
行し、CPUアドレスバス512及びCPUデータバス
513、メモリアクセス要求信号S1、メモリアクセス
許可信号S2に接続され、メモリアクセス要求信号S1
をウエイト制御回路515へ出力し、メモリアクセス許
可信号S2をウエイト制御回路515から入力すると、
CPUアドレスバス512及びCPUデータバス513
を用いてアドレス及びデータの転送を実行する。
511から内部クロックCLKの供給を受けて命令を実
行し、CPUアドレスバス512及びCPUデータバス
513、メモリアクセス要求信号S1、メモリアクセス
許可信号S2に接続され、メモリアクセス要求信号S1
をウエイト制御回路515へ出力し、メモリアクセス許
可信号S2をウエイト制御回路515から入力すると、
CPUアドレスバス512及びCPUデータバス513
を用いてアドレス及びデータの転送を実行する。
【0009】510はメモリ制御装置であり、クロック
制御回路511から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス507と
CPUアドレスバス512とを接続し、メモリデータバ
ス508とCPUデータバス513とを接続し、クロッ
ク選択信号端子506からクロック選択信号S0を入力
し、メモリアクセス要求信号S1をCPU509から入
力し、メモリアクセス許可信号S2をCPU509へ出
力する。
制御回路511から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス507と
CPUアドレスバス512とを接続し、メモリデータバ
ス508とCPUデータバス513とを接続し、クロッ
ク選択信号端子506からクロック選択信号S0を入力
し、メモリアクセス要求信号S1をCPU509から入
力し、メモリアクセス許可信号S2をCPU509へ出
力する。
【0010】511はクロック制御回路であり、クロッ
ク入力端子504及びクロック出力端子505から供給
された外部クロックをクロック選択信号端子506に印
加されるクロック選択信号S0の値に従って分周した低
速クロックもしくはそのままの高速クロックとしてCP
U509及びメモリ制御装置510へ供給する。
ク入力端子504及びクロック出力端子505から供給
された外部クロックをクロック選択信号端子506に印
加されるクロック選択信号S0の値に従って分周した低
速クロックもしくはそのままの高速クロックとしてCP
U509及びメモリ制御装置510へ供給する。
【0011】515はウエイト制御回路であり、CPU
509からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路514から入力したウエイト数のサ
イクル分ウエイトし、ウエイト後にメモリアクセス許可
信号S2をCPU509に出力する。
509からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路514から入力したウエイト数のサ
イクル分ウエイトし、ウエイト後にメモリアクセス許可
信号S2をCPU509に出力する。
【0012】図19は従来のウエイト数設定回路514
の構成を表すブロック図である。
の構成を表すブロック図である。
【0013】514はウエイト数設定回路であり、ウエ
イト数設定レジスタ516から構成され、ウエイト数設
定レジスタ516に設定された設定ウエイト数をそのま
まウエイト制御回路515に出力する。
イト数設定レジスタ516から構成され、ウエイト数設
定レジスタ516に設定された設定ウエイト数をそのま
まウエイト制御回路515に出力する。
【0014】516はウエイト数設定レジスタであり、
CPU509がCPUアドレスバス512及びCPUデ
ータバス513を介してアクセス可能なmビット(mは
自然数)のレジスタである。
CPU509がCPUアドレスバス512及びCPUデ
ータバス513を介してアクセス可能なmビット(mは
自然数)のレジスタである。
【0015】以上のように構成されたLSIについて、
以下にその動作を説明する。
以下にその動作を説明する。
【0016】図20はクロック選択信号端子506から
クロック制御回路511及びウエイト数設定回路514
に供給されるクロック選択信号S0、クロック制御回路
511からCPU509及びメモリ制御装置510に供
給される内部クロックCLK、ウエイト数設定レジスタ
516に設定されウエイト数設定回路514からウエイ
ト制御回路515へ供給されるウエイト数、CPU50
9からウエイト制御回路515へ供給されるメモリアク
セス要求信号S1、ウエイト制御回路515からCPU
509へ供給されるメモリアクセス許可信号S2を示す
タイミングチャートである。
クロック制御回路511及びウエイト数設定回路514
に供給されるクロック選択信号S0、クロック制御回路
511からCPU509及びメモリ制御装置510に供
給される内部クロックCLK、ウエイト数設定レジスタ
516に設定されウエイト数設定回路514からウエイ
ト制御回路515へ供給されるウエイト数、CPU50
9からウエイト制御回路515へ供給されるメモリアク
セス要求信号S1、ウエイト制御回路515からCPU
509へ供給されるメモリアクセス許可信号S2を示す
タイミングチャートである。
【0017】ここでは、メモリ503はメモリアクセス
時間が30nsec以上必要とし、CPU509はCPU
アドレスバス512及びCPUデータバス513を介し
てウエイト数設定レジスタ516にウエイト数“2”を
設定する。
時間が30nsec以上必要とし、CPU509はCPU
アドレスバス512及びCPUデータバス513を介し
てウエイト数設定レジスタ516にウエイト数“2”を
設定する。
【0018】外部クロックは100MHzとし、内部ク
ロックCLKはクロック選択信号端子506に入力され
るクロック選択信号S0が“0”の場合には100MH
zの外部クロックをそのまま100MHzの高速クロッ
クとして出力し、クロック選択信号S0が“1”の場合
には外部クロックを2分周して50MHzの低速クロッ
クを出力する。
ロックCLKはクロック選択信号端子506に入力され
るクロック選択信号S0が“0”の場合には100MH
zの外部クロックをそのまま100MHzの高速クロッ
クとして出力し、クロック選択信号S0が“1”の場合
には外部クロックを2分周して50MHzの低速クロッ
クを出力する。
【0019】以下では、時刻T0から時刻T1までの第
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
【0020】第1フェーズにおいて、クロック選択信号
端子506は“0”に設定する。クロック制御回路51
1はクロック選択信号S0が“0”であるのでクロック
入力端子504及びクロック出力端子505から供給さ
れる100MHzの外部クロックをそのまま100MH
zの内部クロックCLKとしてCPU509及びメモリ
制御装置510に出力する。ウエイト制御回路515は
CPU509からメモリアクセス要求信号S1を受け取
ると、ウエイト数設定回路514が出力するウエイト数
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU509へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は30nsecとなる。100MHzは10nsec
に相当し、2サイクルウエイトすることから、10*
(2+1)=30nsecとなる。
端子506は“0”に設定する。クロック制御回路51
1はクロック選択信号S0が“0”であるのでクロック
入力端子504及びクロック出力端子505から供給さ
れる100MHzの外部クロックをそのまま100MH
zの内部クロックCLKとしてCPU509及びメモリ
制御装置510に出力する。ウエイト制御回路515は
CPU509からメモリアクセス要求信号S1を受け取
ると、ウエイト数設定回路514が出力するウエイト数
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU509へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は30nsecとなる。100MHzは10nsec
に相当し、2サイクルウエイトすることから、10*
(2+1)=30nsecとなる。
【0021】第2フェーズにおいて、クロック選択信号
端子506は“1”に設定する。クロック制御回路51
1はクロック選択信号S0が“1”であるので、クロッ
ク入力端子504及びクロック出力端子505から供給
される100MHzの外部クロックを2分周し、50M
Hzの内部クロックCLKとしてCPU509及びメモ
リ制御装置510に出力する。ウエイト制御回路515
はCPU509からメモリアクセス要求信号S1を受け
取るとウエイト数設定回路514が出力するウエイト数
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU509へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は60nsecとなる。50MHzは20nsecに
相当し、2サイクルウエイトすることから、20*(2
+1)=60nsecとなる。
端子506は“1”に設定する。クロック制御回路51
1はクロック選択信号S0が“1”であるので、クロッ
ク入力端子504及びクロック出力端子505から供給
される100MHzの外部クロックを2分周し、50M
Hzの内部クロックCLKとしてCPU509及びメモ
リ制御装置510に出力する。ウエイト制御回路515
はCPU509からメモリアクセス要求信号S1を受け
取るとウエイト数設定回路514が出力するウエイト数
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU509へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は60nsecとなる。50MHzは20nsecに
相当し、2サイクルウエイトすることから、20*(2
+1)=60nsecとなる。
【0022】
【発明が解決しようとする課題】しかしながら、従来の
構成では、メモリ制御装置510はウエイト数設定レジ
スタ516に設定された一定の値でウエイトするため、
クロックが低速になった場合には必要なメモリアクセス
時間に対応するウエイト数は高速クロックの場合と比較
して減少するにも関わらず、高速クロックの場合に必要
なウエイト数のままウエイトをし、冗長なメモリアクセ
ス時間でCPU509とメモリ503との間のアクセス
を行っている。
構成では、メモリ制御装置510はウエイト数設定レジ
スタ516に設定された一定の値でウエイトするため、
クロックが低速になった場合には必要なメモリアクセス
時間に対応するウエイト数は高速クロックの場合と比較
して減少するにも関わらず、高速クロックの場合に必要
なウエイト数のままウエイトをし、冗長なメモリアクセ
ス時間でCPU509とメモリ503との間のアクセス
を行っている。
【0023】この不都合を回避するためには、プログラ
ムによりCPU509からCPUアドレスバス512及
びCPUデータバス513を介して改めてウエイト数を
設定する必要があるが、そのウエイト数設定のための命
令をプログラムに追加する必要があり、またウエイト数
設定のためのCPU509のアクセス時間も消費する
上、動作クロックが切り替わるタイミングが不定の場合
はプログラムのどの部分で対応するかを判断することが
困難である。そのため、LSI501の動作を高速化し
プログラムサイズを最小にする上で問題である。
ムによりCPU509からCPUアドレスバス512及
びCPUデータバス513を介して改めてウエイト数を
設定する必要があるが、そのウエイト数設定のための命
令をプログラムに追加する必要があり、またウエイト数
設定のためのCPU509のアクセス時間も消費する
上、動作クロックが切り替わるタイミングが不定の場合
はプログラムのどの部分で対応するかを判断することが
困難である。そのため、LSI501の動作を高速化し
プログラムサイズを最小にする上で問題である。
【0024】本発明は、上記従来の問題点を解決するも
ので、動作クロックが切り替わってもプログラムでウエ
イト数を再設定する必要がなく、自動的にウエイト数を
変化させるメモリ制御装置を提供することを目的とす
る。
ので、動作クロックが切り替わってもプログラムでウエ
イト数を再設定する必要がなく、自動的にウエイト数を
変化させるメモリ制御装置を提供することを目的とす
る。
【0025】
【課題を解決するための手段】上記した課題の解決を図
ろうとする本発明によるメモリ制御装置は、CPUがメ
モリとのアクセスを行う場合に必要なウエイト数を設定
しLSIの動作クロックの周波数変化に対応して最適の
メモリアクセス時間となるようウエイト数を変化させる
ウエイト数設定手段と、前記CPUからメモリアクセス
要求信号が来た場合に前記ウエイト数に従ってウエイト
し、ウエイト後、前記CPUにメモリアクセス許可信号
を出力するウエイト制御手段とを備えた構成となってい
る。
ろうとする本発明によるメモリ制御装置は、CPUがメ
モリとのアクセスを行う場合に必要なウエイト数を設定
しLSIの動作クロックの周波数変化に対応して最適の
メモリアクセス時間となるようウエイト数を変化させる
ウエイト数設定手段と、前記CPUからメモリアクセス
要求信号が来た場合に前記ウエイト数に従ってウエイト
し、ウエイト後、前記CPUにメモリアクセス許可信号
を出力するウエイト制御手段とを備えた構成となってい
る。
【0026】LSIの動作クロックが変化した場合にウ
エイト数を切り替えることにより、CPUとメモリとの
間でのメモリアクセス時間を適正化する。
エイト数を切り替えることにより、CPUとメモリとの
間でのメモリアクセス時間を適正化する。
【0027】以下、より具体的レベルで記述する。
【0028】第1の解決手段として、本発明は、命令を
実行するCPUと、データを格納するメモリと、LSI
の動作クロックが高速である場合か低速である場合か少
なくとも2種類以上の周波数を選択するクロック選択手
段と、前記CPUが前記メモリとのアクセスを行う場合
に必要なウエイト数を前記CPUによって設定するウエ
イト数設定手段と、前記CPUからメモリアクセス要求
信号が来た場合に前記設定ウエイト数に従ってウエイト
し、ウエイト後、前記CPUにメモリアクセス許可信号
を出力するウエイト制御手段とを備えたメモリ制御装置
を前提とする。そして、第1の解決手段の本発明は、次
のような手段を講じることにより、上記の課題を解決す
る。すなわち、前記ウエイト数設定手段は、前記CPU
が前記メモリとのアクセスを行う場合に必要なウエイト
数を設定するウエイト数設定レジスタと、前記クロック
選択手段が低速動作を示す場合には前記ウエイト数設定
レジスタに設定されている設定ウエイト数を減少させて
出力するウエイト数可変手段とを備えている。
実行するCPUと、データを格納するメモリと、LSI
の動作クロックが高速である場合か低速である場合か少
なくとも2種類以上の周波数を選択するクロック選択手
段と、前記CPUが前記メモリとのアクセスを行う場合
に必要なウエイト数を前記CPUによって設定するウエ
イト数設定手段と、前記CPUからメモリアクセス要求
信号が来た場合に前記設定ウエイト数に従ってウエイト
し、ウエイト後、前記CPUにメモリアクセス許可信号
を出力するウエイト制御手段とを備えたメモリ制御装置
を前提とする。そして、第1の解決手段の本発明は、次
のような手段を講じることにより、上記の課題を解決す
る。すなわち、前記ウエイト数設定手段は、前記CPU
が前記メモリとのアクセスを行う場合に必要なウエイト
数を設定するウエイト数設定レジスタと、前記クロック
選択手段が低速動作を示す場合には前記ウエイト数設定
レジスタに設定されている設定ウエイト数を減少させて
出力するウエイト数可変手段とを備えている。
【0029】これによれば、LSIの動作クロックが変
化した場合にウエイト数を切り替えることにより、CP
Uとメモリとの間でのメモリアクセス時間を適正化する
ことができる。
化した場合にウエイト数を切り替えることにより、CP
Uとメモリとの間でのメモリアクセス時間を適正化する
ことができる。
【0030】上記において、好ましい態様は、前記のウ
エイト数可変手段が、前記動作クロックを高速にした場
合に前記ウエイト数設定レジスタに設定されているmビ
ット(mは自然数)の設定ウエイト数の全mビットを選択
して出力することである。
エイト数可変手段が、前記動作クロックを高速にした場
合に前記ウエイト数設定レジスタに設定されているmビ
ット(mは自然数)の設定ウエイト数の全mビットを選択
して出力することである。
【0031】また、上記において、好ましい態様は、前
記のウエイト数可変手段が、前記動作クロックを低速に
した場合に前記ウエイト数設定レジスタに設定されてい
るmビットの設定ウエイト数の最下位kビット(kは自
然数)を除く(m−k)ビットの最上位側に0をkビット
加えたmビットを選択して出力することである。
記のウエイト数可変手段が、前記動作クロックを低速に
した場合に前記ウエイト数設定レジスタに設定されてい
るmビットの設定ウエイト数の最下位kビット(kは自
然数)を除く(m−k)ビットの最上位側に0をkビット
加えたmビットを選択して出力することである。
【0032】第2の解決手段として、本発明は、上記と
同様に、命令を実行するCPUと、データを格納するメ
モリと、LSIの動作クロックが高速である場合か低速
である場合か少なくとも2種類以上の周波数を選択する
クロック選択手段と、前記CPUが前記メモリとのアク
セスを行う場合に必要なウエイト数を前記CPUによっ
て設定するウエイト数設定手段と、前記CPUからメモ
リアクセス要求信号が来た場合に前記設定ウエイト数に
従ってウエイトし、ウエイト後、前記CPUにメモリア
クセス許可信号を出力するウエイト制御手段とを備えた
メモリ制御装置を前提とする。そして、第2の解決手段
の本発明は、次のような手段を講じることにより、上記
の課題を解決する。すなわち、前記ウエイト数設定手段
は、前記CPUが前記メモリとのアクセスを行う場合に
必要なウエイト数を設定するウエイト数設定レジスタ
と、前記クロック選択手段が高速動作を示す場合には前
記ウエイト数設定レジスタに設定されている設定ウエイ
ト数を増加させて出力するウエイト数可変手段とを備え
ている。
同様に、命令を実行するCPUと、データを格納するメ
モリと、LSIの動作クロックが高速である場合か低速
である場合か少なくとも2種類以上の周波数を選択する
クロック選択手段と、前記CPUが前記メモリとのアク
セスを行う場合に必要なウエイト数を前記CPUによっ
て設定するウエイト数設定手段と、前記CPUからメモ
リアクセス要求信号が来た場合に前記設定ウエイト数に
従ってウエイトし、ウエイト後、前記CPUにメモリア
クセス許可信号を出力するウエイト制御手段とを備えた
メモリ制御装置を前提とする。そして、第2の解決手段
の本発明は、次のような手段を講じることにより、上記
の課題を解決する。すなわち、前記ウエイト数設定手段
は、前記CPUが前記メモリとのアクセスを行う場合に
必要なウエイト数を設定するウエイト数設定レジスタ
と、前記クロック選択手段が高速動作を示す場合には前
記ウエイト数設定レジスタに設定されている設定ウエイ
ト数を増加させて出力するウエイト数可変手段とを備え
ている。
【0033】これによれば、LSIの動作クロックが変
化した場合にウエイト数を切り替えることにより、CP
Uとメモリとの間でのメモリアクセス時間を適正化する
ことができる。
化した場合にウエイト数を切り替えることにより、CP
Uとメモリとの間でのメモリアクセス時間を適正化する
ことができる。
【0034】上記において、好ましい態様は、前記のウ
エイト数可変手段が、前記動作クロックを高速にした場
合に前記ウエイト数設定レジスタに設定されているmビ
ットの設定ウエイト数の最上位kビットを除く(m−k)
ビットの最下位側に1をkビット加えたmビットを選択
して出力することである。
エイト数可変手段が、前記動作クロックを高速にした場
合に前記ウエイト数設定レジスタに設定されているmビ
ットの設定ウエイト数の最上位kビットを除く(m−k)
ビットの最下位側に1をkビット加えたmビットを選択
して出力することである。
【0035】また、上記において、好ましい態様は、前
記のウエイト数可変手段が、前記動作クロックを低速に
した場合に前記ウエイト数設定レジスタに設定されてい
るmビットの設定ウエイト数の全mビットを選択して出
力することである。
記のウエイト数可変手段が、前記動作クロックを低速に
した場合に前記ウエイト数設定レジスタに設定されてい
るmビットの設定ウエイト数の全mビットを選択して出
力することである。
【0036】第3の解決手段として、本発明は、上記と
同様に、命令を実行するCPUと、データを格納するメ
モリと、LSIの動作クロックが高速である場合か低速
である場合か少なくとも2種類以上の周波数を選択する
クロック選択手段と、前記CPUが前記メモリとのアク
セスを行う場合に必要なウエイト数を前記CPUによっ
て設定するウエイト数設定手段と、前記CPUからメモ
リアクセス要求信号が来た場合に前記設定ウエイト数に
従ってウエイトし、ウエイト後、前記CPUにメモリア
クセス許可信号を出力するウエイト制御手段とを備えた
メモリ制御装置を前提とする。そして、第3の解決手段
の本発明は、次のような手段を講じることにより、上記
の課題を解決する。すなわち、前記ウエイト数設定手段
は、前記CPUが前記メモリとのアクセスを行う場合に
必要なウエイト数を設定する複数のウエイト数設定レジ
スタと、前記クロック選択手段が示す各動作クロックに
対応して前記複数のウエイト数設定レジスタのうちから
1つを選択する選択手段とを備えている。
同様に、命令を実行するCPUと、データを格納するメ
モリと、LSIの動作クロックが高速である場合か低速
である場合か少なくとも2種類以上の周波数を選択する
クロック選択手段と、前記CPUが前記メモリとのアク
セスを行う場合に必要なウエイト数を前記CPUによっ
て設定するウエイト数設定手段と、前記CPUからメモ
リアクセス要求信号が来た場合に前記設定ウエイト数に
従ってウエイトし、ウエイト後、前記CPUにメモリア
クセス許可信号を出力するウエイト制御手段とを備えた
メモリ制御装置を前提とする。そして、第3の解決手段
の本発明は、次のような手段を講じることにより、上記
の課題を解決する。すなわち、前記ウエイト数設定手段
は、前記CPUが前記メモリとのアクセスを行う場合に
必要なウエイト数を設定する複数のウエイト数設定レジ
スタと、前記クロック選択手段が示す各動作クロックに
対応して前記複数のウエイト数設定レジスタのうちから
1つを選択する選択手段とを備えている。
【0037】これによれば、LSIの動作クロックが変
化した場合にウエイト数を切り替えることにより、最適
なメモリアクセス時間を維持することができる。
化した場合にウエイト数を切り替えることにより、最適
なメモリアクセス時間を維持することができる。
【0038】上記において、好ましい態様は、前記選択
手段が、前記動作クロックをn通り(nは2以上の自然
数)に変化させた場合にn個の前記ウエイト数設定レジ
スタのうちから動作クロックに対応する1つのウエイト
数設定レジスタを選択し、その選択したウエイト数設定
レジスタの設定ウエイト数の全mビットを出力すること
である。
手段が、前記動作クロックをn通り(nは2以上の自然
数)に変化させた場合にn個の前記ウエイト数設定レジ
スタのうちから動作クロックに対応する1つのウエイト
数設定レジスタを選択し、その選択したウエイト数設定
レジスタの設定ウエイト数の全mビットを出力すること
である。
【0039】第4の解決手段として、本発明は、上記と
同様に、命令を実行するCPUと、データを格納するメ
モリと、LSIの動作クロックが高速である場合か低速
である場合か少なくとも2種類以上の周波数を選択する
クロック選択手段と、前記CPUが前記メモリとのアク
セスを行う場合に必要なウエイト数を前記CPUによっ
て設定するウエイト数設定手段と、前記CPUからメモ
リアクセス要求信号が来た場合に前記設定ウエイト数に
従ってウエイトし、ウエイト後、前記CPUにメモリア
クセス許可信号を出力するウエイト制御手段と、外部か
ら入力したクロックを制御して前記CPUと前記ウエイ
ト制御手段とにクロックを供給するクロック制御手段と
を備えたメモリ制御装置を前提とする。そして、第4の
解決手段の本発明は、次のような手段を講じることによ
り、上記の課題を解決する。すなわち、前記クロック制
御手段は、入力クロックを少なくとも1種類以上分周し
その分周したクロックを前記ウエイト制御手段に出力す
る分周手段と、前記LSIの動作クロックに応じて前記
入力クロックか前記分周手段による1種類以上の分周し
たクロックかを選択して前記CPUに出力する選択手段
とを備えている。
同様に、命令を実行するCPUと、データを格納するメ
モリと、LSIの動作クロックが高速である場合か低速
である場合か少なくとも2種類以上の周波数を選択する
クロック選択手段と、前記CPUが前記メモリとのアク
セスを行う場合に必要なウエイト数を前記CPUによっ
て設定するウエイト数設定手段と、前記CPUからメモ
リアクセス要求信号が来た場合に前記設定ウエイト数に
従ってウエイトし、ウエイト後、前記CPUにメモリア
クセス許可信号を出力するウエイト制御手段と、外部か
ら入力したクロックを制御して前記CPUと前記ウエイ
ト制御手段とにクロックを供給するクロック制御手段と
を備えたメモリ制御装置を前提とする。そして、第4の
解決手段の本発明は、次のような手段を講じることによ
り、上記の課題を解決する。すなわち、前記クロック制
御手段は、入力クロックを少なくとも1種類以上分周し
その分周したクロックを前記ウエイト制御手段に出力す
る分周手段と、前記LSIの動作クロックに応じて前記
入力クロックか前記分周手段による1種類以上の分周し
たクロックかを選択して前記CPUに出力する選択手段
とを備えている。
【0040】これによれば、LSIの動作クロックが変
化した場合にCPUに対するクロックの周波数を切り替
えることにより、CPUとメモリとの間での最適なメモ
リアクセス時間を維持することができる。
化した場合にCPUに対するクロックの周波数を切り替
えることにより、CPUとメモリとの間での最適なメモ
リアクセス時間を維持することができる。
【0041】上記において、好ましい態様は、前記の選
択手段が、前記動作クロックを高速にした場合に前記C
PUへは入力クロックを選択して供給することである。
択手段が、前記動作クロックを高速にした場合に前記C
PUへは入力クロックを選択して供給することである。
【0042】また、上記において、好ましい態様は、前
記の選択手段が、前記動作クロックを低速にした場合に
前記CPUへは前記分周手段により分周したクロックを
選択して供給することである。
記の選択手段が、前記動作クロックを低速にした場合に
前記CPUへは前記分周手段により分周したクロックを
選択して供給することである。
【0043】第5の解決手段として、本発明は、上記と
同様に、命令を実行するCPUと、データを格納するメ
モリと、前記CPUによる設定でLSIの電源電圧が高
電圧である場合か低電圧である場合か少なくとも2種類
以上の電圧を制御し電源電圧降下信号を出力するレギュ
レータと、前記CPUが前記メモリとのアクセスを行う
場合に必要なウエイト数を前記CPUによって設定する
ウエイト数設定手段と、前記CPUからメモリアクセス
要求信号が来た場合に前記設定ウエイト数に従ってウエ
イトし、ウエイト後、前記CPUにメモリアクセス許可
信号を出力するウエイト制御手段とを備えたメモリ制御
装置を前提とする。そして、第5の解決手段の本発明
は、次のような手段を講じることにより、上記の課題を
解決する。すなわち、前記ウエイト数設定手段は、前記
CPUが前記メモリとのアクセスを行う場合に必要なウ
エイト数を設定するウエイト数設定レジスタと、前記レ
ギュレータが高電圧を示す場合には前記ウエイト数設定
レジスタに設定されている設定ウエイト数を増加させて
出力するウエイト数可変手段とを備えている。
同様に、命令を実行するCPUと、データを格納するメ
モリと、前記CPUによる設定でLSIの電源電圧が高
電圧である場合か低電圧である場合か少なくとも2種類
以上の電圧を制御し電源電圧降下信号を出力するレギュ
レータと、前記CPUが前記メモリとのアクセスを行う
場合に必要なウエイト数を前記CPUによって設定する
ウエイト数設定手段と、前記CPUからメモリアクセス
要求信号が来た場合に前記設定ウエイト数に従ってウエ
イトし、ウエイト後、前記CPUにメモリアクセス許可
信号を出力するウエイト制御手段とを備えたメモリ制御
装置を前提とする。そして、第5の解決手段の本発明
は、次のような手段を講じることにより、上記の課題を
解決する。すなわち、前記ウエイト数設定手段は、前記
CPUが前記メモリとのアクセスを行う場合に必要なウ
エイト数を設定するウエイト数設定レジスタと、前記レ
ギュレータが高電圧を示す場合には前記ウエイト数設定
レジスタに設定されている設定ウエイト数を増加させて
出力するウエイト数可変手段とを備えている。
【0044】これによれば、LSIの電源電圧が変化し
た場合に電源電圧降下信号によりウエイト数を切り替え
ることにより、CPUとメモリとの間での最適なメモリ
アクセス時間を維持することができる。
た場合に電源電圧降下信号によりウエイト数を切り替え
ることにより、CPUとメモリとの間での最適なメモリ
アクセス時間を維持することができる。
【0045】上記において、好ましい態様は、前記のウ
エイト数可変手段が、前記電源電圧を高電圧にした場合
に前記ウエイト数設定レジスタに設定されているmビッ
ト(mは自然数)の設定ウエイト数の最上位kビット
(kは自然数)を除く(m−k)ビットの最下位側に1を
kビット加えたmビットを選択して出力することであ
る。
エイト数可変手段が、前記電源電圧を高電圧にした場合
に前記ウエイト数設定レジスタに設定されているmビッ
ト(mは自然数)の設定ウエイト数の最上位kビット
(kは自然数)を除く(m−k)ビットの最下位側に1を
kビット加えたmビットを選択して出力することであ
る。
【0046】また、上記において、好ましい態様は、前
記のウエイト数可変手段が、前記電源電圧を低電圧にし
た場合に前記ウエイト数設定レジスタに設定されている
mビットの設定ウエイト数の全mビットを選択して出力
することである。
記のウエイト数可変手段が、前記電源電圧を低電圧にし
た場合に前記ウエイト数設定レジスタに設定されている
mビットの設定ウエイト数の全mビットを選択して出力
することである。
【0047】
【発明の実施の形態】以下、本発明にかかわるメモリ制
御装置の実施の形態について図面に基づいて詳細に説明
する。
御装置の実施の形態について図面に基づいて詳細に説明
する。
【0048】(実施の形態1)図1は本発明の第一及び第
二の実施の形態に共通するLSIの構成を表すブロック
図である。
二の実施の形態に共通するLSIの構成を表すブロック
図である。
【0049】101はLSIであり、マイコン102、
メモリ103、クロック入力端子104、クロック出力
端子105、クロック選択信号端子106、メモリアド
レスバス107、メモリデータバス108から構成され
る。
メモリ103、クロック入力端子104、クロック出力
端子105、クロック選択信号端子106、メモリアド
レスバス107、メモリデータバス108から構成され
る。
【0050】102はマイコンであり、CPU109、
メモリ制御装置110、クロック制御回路111、CP
Uアドレスバス112、CPUデータバス113から構
成される。
メモリ制御装置110、クロック制御回路111、CP
Uアドレスバス112、CPUデータバス113から構
成される。
【0051】103はメモリであり、メモリアドレスバ
ス107及びメモリデータバス108に接続され、メモ
リアドレスバス107の示すアドレスにメモリデータバ
ス108のデータの読み書きを行う。
ス107及びメモリデータバス108に接続され、メモ
リアドレスバス107の示すアドレスにメモリデータバ
ス108のデータの読み書きを行う。
【0052】104はクロック入力端子であり、105
はクロック出力端子であり、クロック入力端子104及
びクロック出力端子105は発振器もしくは発振子12
3に接続して自励発振を行う。
はクロック出力端子であり、クロック入力端子104及
びクロック出力端子105は発振器もしくは発振子12
3に接続して自励発振を行う。
【0053】109はCPUであり、CPUアドレスバ
ス112及びCPUデータバス113、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路111から内部クロックCLKの
供給を受けて命令を実行し、メモリアクセス要求信号S
1をウエイト制御回路115へ出力し、メモリアクセス
許可信号S2をウエイト制御回路115から入力する
と、CPUアドレスバス112及びCPUデータバス1
13を用いてアドレス及びデータの転送を実行する。
ス112及びCPUデータバス113、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路111から内部クロックCLKの
供給を受けて命令を実行し、メモリアクセス要求信号S
1をウエイト制御回路115へ出力し、メモリアクセス
許可信号S2をウエイト制御回路115から入力する
と、CPUアドレスバス112及びCPUデータバス1
13を用いてアドレス及びデータの転送を実行する。
【0054】110はメモリ制御装置であり、クロック
制御回路111から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス107と
CPUアドレスバス112とを接続し、メモリデータバ
ス108とCPUデータバス113とを接続し、クロッ
ク選択信号端子106からクロック選択信号S0を入力
し、メモリアクセス要求信号S1をCPU109から入
力し、メモリアクセス許可信号S2をCPU109へ出
力する。
制御回路111から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス107と
CPUアドレスバス112とを接続し、メモリデータバ
ス108とCPUデータバス113とを接続し、クロッ
ク選択信号端子106からクロック選択信号S0を入力
し、メモリアクセス要求信号S1をCPU109から入
力し、メモリアクセス許可信号S2をCPU109へ出
力する。
【0055】111はクロック制御回路であり、クロッ
ク入力端子104及びクロック出力端子105から供給
された外部クロックをクロック選択信号端子106に入
力されるクロック選択信号S0の値に従って分周した低
速クロックもしくはそのままの高速クロックとしてCP
U109及びメモリ制御装置110へ供給する。
ク入力端子104及びクロック出力端子105から供給
された外部クロックをクロック選択信号端子106に入
力されるクロック選択信号S0の値に従って分周した低
速クロックもしくはそのままの高速クロックとしてCP
U109及びメモリ制御装置110へ供給する。
【0056】115はウエイト制御回路であり、CPU
109からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路114から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU109に出力する。
109からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路114から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU109に出力する。
【0057】図2は本発明の第一の実施の形態における
ウエイト数設定回路114の構成を表すブロック図であ
る。
ウエイト数設定回路114の構成を表すブロック図であ
る。
【0058】114はウエイト数設定回路であり、ウエ
イト数設定レジスタ116、セレクタ列117から構成
される。
イト数設定レジスタ116、セレクタ列117から構成
される。
【0059】116はウエイト数設定レジスタであり、
CPU109がCPUアドレスバス112及びCPUデ
ータバス113を介してアクセス可能なmビット(mは
自然数)のレジスタである。
CPU109がCPUアドレスバス112及びCPUデ
ータバス113を介してアクセス可能なmビット(mは
自然数)のレジスタである。
【0060】117はセレクタ列であり、クロック選択
信号端子106から供給されるクロック選択信号S0に
よりウエイト数設定レジスタ116が保持する設定ウエ
イト数の全mビットもしくは設定ウエイト数の最下位ビ
ットを除く(m−1)ビットと最上位ビット側に0固定の
1ビットとを加えたmビットとを選択して実効ウエイト
数Dwを出力する。ここではm=4とする。セレクタ列
117における最上位のセレクタ(図面上で左端のセレ
クタ)の1入力が接地レベルとなっているのが0固定で
ある。このセレクタ列117が特許請求の範囲における
「ウエイト数可変手段」に対応する。
信号端子106から供給されるクロック選択信号S0に
よりウエイト数設定レジスタ116が保持する設定ウエ
イト数の全mビットもしくは設定ウエイト数の最下位ビ
ットを除く(m−1)ビットと最上位ビット側に0固定の
1ビットとを加えたmビットとを選択して実効ウエイト
数Dwを出力する。ここではm=4とする。セレクタ列
117における最上位のセレクタ(図面上で左端のセレ
クタ)の1入力が接地レベルとなっているのが0固定で
ある。このセレクタ列117が特許請求の範囲における
「ウエイト数可変手段」に対応する。
【0061】上記の(m−1)の「1」及び加える0固
定の1ビットの「1」は特許請求の範囲における(m−
k)の「k」の一例に相当する。
定の1ビットの「1」は特許請求の範囲における(m−
k)の「k」の一例に相当する。
【0062】以上のように構成されたLSIについて、
以下にその動作を説明する。
以下にその動作を説明する。
【0063】図3はクロック選択信号端子106からク
ロック制御回路111及びウエイト数設定回路114に
供給されるクロック選択信号S0、クロック制御回路1
11からCPU109及びメモリ制御装置110に供給
される内部クロックCLK、ウエイト数設定レジスタ1
16に設定する設定ウエイト数、ウエイト数設定回路1
14からウエイト制御回路115へ供給される実効ウエ
イト数Dw、CPU109からウエイト制御回路115
へ供給されるメモリアクセス要求信号S1、ウエイト制
御回路115からCPU109へ供給されるメモリアク
セス許可信号S2を示すタイミングチャートである。
ロック制御回路111及びウエイト数設定回路114に
供給されるクロック選択信号S0、クロック制御回路1
11からCPU109及びメモリ制御装置110に供給
される内部クロックCLK、ウエイト数設定レジスタ1
16に設定する設定ウエイト数、ウエイト数設定回路1
14からウエイト制御回路115へ供給される実効ウエ
イト数Dw、CPU109からウエイト制御回路115
へ供給されるメモリアクセス要求信号S1、ウエイト制
御回路115からCPU109へ供給されるメモリアク
セス許可信号S2を示すタイミングチャートである。
【0064】ここでは、メモリ103はメモリアクセス
時間が30nsec以上必要とし、CPU109はCPU
アドレスバス112及びCPUデータバス113を介し
てウエイト数設定レジスタ116にウエイト数“2”を
設定する。
時間が30nsec以上必要とし、CPU109はCPU
アドレスバス112及びCPUデータバス113を介し
てウエイト数設定レジスタ116にウエイト数“2”を
設定する。
【0065】外部クロックは100MHzとし、内部ク
ロックCLKは、クロック選択信号端子106に入力さ
れるクロック選択信号S0が“0”の場合には100M
Hzの外部クロックをそのまま100MHzの高速クロ
ックとして出力し、クロック選択信号S0が“1”の場
合には外部クロックを2分周して50MHzの低速クロ
ックを出力する。
ロックCLKは、クロック選択信号端子106に入力さ
れるクロック選択信号S0が“0”の場合には100M
Hzの外部クロックをそのまま100MHzの高速クロ
ックとして出力し、クロック選択信号S0が“1”の場
合には外部クロックを2分周して50MHzの低速クロ
ックを出力する。
【0066】以下では、時刻T0から時刻T1までの第
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
【0067】第1フェーズにおいて、クロック選択信号
端子106に入力するクロック選択信号S0を“0”に
設定する。クロック制御回路111はクロック選択信号
S0が“0”であるので、クロック入力端子104及び
クロック出力端子105から供給される100MHzの
外部クロックをそのまま100MHzの内部クロックC
LKとしてCPU109及びメモリ制御装置110に出
力する。ウエイト数設定回路114におけるセレクタ列
117はクロック選択信号S0が“0”であるので、ウ
エイト数設定レジスタ116の全4ビットを選択して実
効ウエイト数Dwとして“2”をウエイト制御回路11
5へ出力する。
端子106に入力するクロック選択信号S0を“0”に
設定する。クロック制御回路111はクロック選択信号
S0が“0”であるので、クロック入力端子104及び
クロック出力端子105から供給される100MHzの
外部クロックをそのまま100MHzの内部クロックC
LKとしてCPU109及びメモリ制御装置110に出
力する。ウエイト数設定回路114におけるセレクタ列
117はクロック選択信号S0が“0”であるので、ウ
エイト数設定レジスタ116の全4ビットを選択して実
効ウエイト数Dwとして“2”をウエイト制御回路11
5へ出力する。
【0068】ウエイト制御回路115は、CPU109
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路114が出力する実効ウエイト数Dwの
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU109へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は30nsecとなる。
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路114が出力する実効ウエイト数Dwの
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU109へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は30nsecとなる。
【0069】第2フェーズにおいて、クロック選択信号
端子106に入力するクロック選択信号S0を“1”に
設定する。クロック制御回路111はクロック選択信号
S0が“1”であるので、クロック入力端子104及び
クロック出力端子105から供給される100MHzの
外部クロックを2分周し50MHzの内部クロックCL
KとしてCPU109及びメモリ制御装置110に出力
する。セレクタ列117はクロック選択信号S0が
“1”であるので、ウエイト数設定レジスタ116の最
下位ビットを除く上位3ビットと最上位ビットに0固定
の1ビットを加えた4ビットを選択して実効ウエイト数
Dwとして“1”をウエイト制御回路115へ出力す
る。
端子106に入力するクロック選択信号S0を“1”に
設定する。クロック制御回路111はクロック選択信号
S0が“1”であるので、クロック入力端子104及び
クロック出力端子105から供給される100MHzの
外部クロックを2分周し50MHzの内部クロックCL
KとしてCPU109及びメモリ制御装置110に出力
する。セレクタ列117はクロック選択信号S0が
“1”であるので、ウエイト数設定レジスタ116の最
下位ビットを除く上位3ビットと最上位ビットに0固定
の1ビットを加えた4ビットを選択して実効ウエイト数
Dwとして“1”をウエイト制御回路115へ出力す
る。
【0070】設定ウエイト数の“2”は2進数表記で
(0010)である。その最下位ビットを除く上位3ビ
ットは(001)であり、この(001)に対して最上
位ビットに0固定の1ビットを加えた4ビットは(00
01)となり、これは“1”である。すなわち、実効ウ
エイト数Dwは“1”となる。
(0010)である。その最下位ビットを除く上位3ビ
ットは(001)であり、この(001)に対して最上
位ビットに0固定の1ビットを加えた4ビットは(00
01)となり、これは“1”である。すなわち、実効ウ
エイト数Dwは“1”となる。
【0071】ウエイト制御回路115は、CPU109
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路114が出力する実効ウエイト数Dwの
“1”に対応して1サイクルウエイトし、ウエイト後、
CPU109へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は40nsecとなる。50MHzは20nsecに
相当し、1サイクルウエイトすることから、20*(1
+1)=40nsecとなる。
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路114が出力する実効ウエイト数Dwの
“1”に対応して1サイクルウエイトし、ウエイト後、
CPU109へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は40nsecとなる。50MHzは20nsecに
相当し、1サイクルウエイトすることから、20*(1
+1)=40nsecとなる。
【0072】なお、ここでは外部クロック及びメモリア
クセス時間、ウエイト数設定レジスタ116への設定ウ
エイト数を指定して説明したが、それぞれ任意の値でも
動作させることができる。高速動作の場合のクロック周
波数をf1(f1は自然数)とし、高速動作の場合に必要
な最低限の設定ウエイト数をn1(n1は自然数)とした
場合のクロック周波数と実効ウエイト数Dwの関係を表
1に示す。ただし、実効ウエイト数Dwは小数点以下を
切り捨てた値となる。
クセス時間、ウエイト数設定レジスタ116への設定ウ
エイト数を指定して説明したが、それぞれ任意の値でも
動作させることができる。高速動作の場合のクロック周
波数をf1(f1は自然数)とし、高速動作の場合に必要
な最低限の設定ウエイト数をn1(n1は自然数)とした
場合のクロック周波数と実効ウエイト数Dwの関係を表
1に示す。ただし、実効ウエイト数Dwは小数点以下を
切り捨てた値となる。
【0073】
【表1】
また、ここではクロック選択信号端子106から入力す
るクロック選択信号S0を1ビットとして説明したが、
クロック選択信号S0が複数ビットの場合でも外部クロ
ックを2k分周(kは0または自然数)して内部クロック
CLKとして入力する場合は、同様にセレクタ列117
を複数ビットにすることで適用可能である。クロック選
択信号S0が複数ビットとなった場合のクロック周波数
と実効ウエイト数Dwの関係を表2に示す。ただし、実
効ウエイト数Dwは小数点以下を切り捨てた値となる。
るクロック選択信号S0を1ビットとして説明したが、
クロック選択信号S0が複数ビットの場合でも外部クロ
ックを2k分周(kは0または自然数)して内部クロック
CLKとして入力する場合は、同様にセレクタ列117
を複数ビットにすることで適用可能である。クロック選
択信号S0が複数ビットとなった場合のクロック周波数
と実効ウエイト数Dwの関係を表2に示す。ただし、実
効ウエイト数Dwは小数点以下を切り捨てた値となる。
【0074】
【表2】
図4にk=2の場合のウエイト数設定回路114の構成
を示す。0固定である接地レベルに接続されたセレクタ
が最上位側に2つ設けられている。
を示す。0固定である接地レベルに接続されたセレクタ
が最上位側に2つ設けられている。
【0075】このように、メモリ制御装置110は内部
クロックCLKが高速動作の場合にメモリ103が必要
とするメモリアクセス時間に対応した最低限のウエイト
数を設定しておけば、内部クロックCLKが低速動作に
なった場合でも、プログラムによりCPU109からC
PUアドレスバス112及びCPUデータバス113を
介してウエイト数設定レジスタ116にウエイト数を再
設定する必要はなく、常に自動的に低速動作での内部ク
ロックCLKにおけるメモリ103が必要とするメモリ
アクセス時間に対応した必要最低限の実効ウエイト数D
wでCPU109とメモリ103のアクセスを可能とす
る。
クロックCLKが高速動作の場合にメモリ103が必要
とするメモリアクセス時間に対応した最低限のウエイト
数を設定しておけば、内部クロックCLKが低速動作に
なった場合でも、プログラムによりCPU109からC
PUアドレスバス112及びCPUデータバス113を
介してウエイト数設定レジスタ116にウエイト数を再
設定する必要はなく、常に自動的に低速動作での内部ク
ロックCLKにおけるメモリ103が必要とするメモリ
アクセス時間に対応した必要最低限の実効ウエイト数D
wでCPU109とメモリ103のアクセスを可能とす
る。
【0076】(実施の形態2)上記の本発明の第一の実施
の形態によれば従来技術の課題を解決しているが、なお
改良の余地がある。第一の実施の形態の場合には、メモ
リ制御装置110において、低速動作での実効ウエイト
数Dwを切り下げで求めていることによる誤差のため、
冗長なメモリアクセス時間を必要とする可能性がある。
したがって、メモリアクセス時間の最適化にさらに工夫
の余地がある。これを以下に第二の実施の形態として説
明する。
の形態によれば従来技術の課題を解決しているが、なお
改良の余地がある。第一の実施の形態の場合には、メモ
リ制御装置110において、低速動作での実効ウエイト
数Dwを切り下げで求めていることによる誤差のため、
冗長なメモリアクセス時間を必要とする可能性がある。
したがって、メモリアクセス時間の最適化にさらに工夫
の余地がある。これを以下に第二の実施の形態として説
明する。
【0077】図5は本発明の第二の実施の形態における
ウエイト数設定回路の構成を表すブロック図である。こ
の第二の実施の形態の他の構成については、図1を援用
する。
ウエイト数設定回路の構成を表すブロック図である。こ
の第二の実施の形態の他の構成については、図1を援用
する。
【0078】114はウエイト数設定回路であり、ウエ
イト数設定レジスタ118、セレクタ列119から構成
される。
イト数設定レジスタ118、セレクタ列119から構成
される。
【0079】118はウエイト数設定レジスタであり、
CPU109がCPUアドレスバス112及びCPUデ
ータバス113を介してアクセス可能なmビット(mは
自然数)のレジスタである。
CPU109がCPUアドレスバス112及びCPUデ
ータバス113を介してアクセス可能なmビット(mは
自然数)のレジスタである。
【0080】119はm個のセレクタからなるセレクタ
列(ウエイト数可変手段)であり、クロック選択信号端
子106から供給されるクロック選択信号S0によりウ
エイト数設定レジスタ118が保持する設定ウエイト数
の全mビットもしくは設定ウエイト数の最上位ビットを
除く(m−1)ビットと最下位ビット側に1固定の1ビッ
トを加えたmビットとを選択して実効ウエイト数Dwを
出力する。ここではm=4とする。セレクタ列119に
おける最下位のセレクタ(図面上で右端のセレクタ)の
1入力が電源レベルとなっているのが1固定である。
列(ウエイト数可変手段)であり、クロック選択信号端
子106から供給されるクロック選択信号S0によりウ
エイト数設定レジスタ118が保持する設定ウエイト数
の全mビットもしくは設定ウエイト数の最上位ビットを
除く(m−1)ビットと最下位ビット側に1固定の1ビッ
トを加えたmビットとを選択して実効ウエイト数Dwを
出力する。ここではm=4とする。セレクタ列119に
おける最下位のセレクタ(図面上で右端のセレクタ)の
1入力が電源レベルとなっているのが1固定である。
【0081】上記の(m−1)の「1」及び加える1固
定の1ビットの「1」は特許請求の範囲における(m−
k)の「k」の一例に相当する。
定の1ビットの「1」は特許請求の範囲における(m−
k)の「k」の一例に相当する。
【0082】以上のように構成されたLSIについて、
以下にその動作を説明する。
以下にその動作を説明する。
【0083】図6はクロック選択信号端子106からク
ロック制御回路111及びウエイト数設定回路114に
供給されるクロック選択信号S0、クロック制御回路1
11からCPU109及びメモリ制御装置110に供給
される内部クロックCLK、ウエイト数設定レジスタ1
18に設定する設定ウエイト数、ウエイト数設定回路1
14からウエイト制御回路115へ供給される実効ウエ
イト数Dw、CPU109からウエイト制御回路115
へ供給されるメモリアクセス要求信号S1、ウエイト制
御回路115からCPU109へ供給されるメモリアク
セス許可信号S2を示すタイミングチャートである。
ロック制御回路111及びウエイト数設定回路114に
供給されるクロック選択信号S0、クロック制御回路1
11からCPU109及びメモリ制御装置110に供給
される内部クロックCLK、ウエイト数設定レジスタ1
18に設定する設定ウエイト数、ウエイト数設定回路1
14からウエイト制御回路115へ供給される実効ウエ
イト数Dw、CPU109からウエイト制御回路115
へ供給されるメモリアクセス要求信号S1、ウエイト制
御回路115からCPU109へ供給されるメモリアク
セス許可信号S2を示すタイミングチャートである。
【0084】ここでは、メモリ103はメモリアクセス
時間が60nsec以上必要とし、CPU109はCPU
アドレスバス112及びCPUデータバス113を介し
てウエイト数設定レジスタ118にウエイト数“2”を
設定する。
時間が60nsec以上必要とし、CPU109はCPU
アドレスバス112及びCPUデータバス113を介し
てウエイト数設定レジスタ118にウエイト数“2”を
設定する。
【0085】外部クロックは100MHzとし、内部ク
ロックCLKは、クロック選択信号端子106に入力さ
れるクロック選択信号S0が“1”の場合には100M
Hzの外部クロックをそのまま100MHzの高速クロ
ックとして出力し、クロック選択信号S0が“0”の場
合には外部クロックを2分周して50MHzの低速クロ
ックを出力する。この関係は第一の実施の形態とは逆で
あるが、クロック選択信号S0が“0”のときはウエイ
ト数設定レジスタに設定されている設定ウエイト数をそ
のまま利用する点では同じである。
ロックCLKは、クロック選択信号端子106に入力さ
れるクロック選択信号S0が“1”の場合には100M
Hzの外部クロックをそのまま100MHzの高速クロ
ックとして出力し、クロック選択信号S0が“0”の場
合には外部クロックを2分周して50MHzの低速クロ
ックを出力する。この関係は第一の実施の形態とは逆で
あるが、クロック選択信号S0が“0”のときはウエイ
ト数設定レジスタに設定されている設定ウエイト数をそ
のまま利用する点では同じである。
【0086】以下では、時刻T0から時刻T1までの第
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
【0087】第1フェーズにおいて、クロック選択信号
端子106に入力するクロック選択信号S0を“1”に
設定する。クロック制御回路111はクロック選択信号
S0が“1”であるので、クロック入力端子104及び
クロック出力端子105から供給される100MHzの
外部クロックをそのまま100MHzの内部クロックC
LKとしてCPU109及びメモリ制御装置110に出
力する。ウエイト数設定回路114におけるセレクタ列
119はクロック選択信号S0が“1”であるので、ウ
エイト数設定レジスタ118の下位3ビットと最下位ビ
ット側に1固定の1ビットを加えた全4ビットを選択し
て実効ウエイト数Dw“5”をウエイト制御回路115
へ出力する。
端子106に入力するクロック選択信号S0を“1”に
設定する。クロック制御回路111はクロック選択信号
S0が“1”であるので、クロック入力端子104及び
クロック出力端子105から供給される100MHzの
外部クロックをそのまま100MHzの内部クロックC
LKとしてCPU109及びメモリ制御装置110に出
力する。ウエイト数設定回路114におけるセレクタ列
119はクロック選択信号S0が“1”であるので、ウ
エイト数設定レジスタ118の下位3ビットと最下位ビ
ット側に1固定の1ビットを加えた全4ビットを選択し
て実効ウエイト数Dw“5”をウエイト制御回路115
へ出力する。
【0088】設定ウエイト数の“2”すなわち2進数表
記の(0010)の最上位ビットを除く下位3ビットは
(010)であり、この(010)に対して最下位ビッ
トに1固定の1ビットを加えた4ビットは(0101)
となり、これは“5”である。すなわち、実効ウエイト
数Dwは“5”となる。
記の(0010)の最上位ビットを除く下位3ビットは
(010)であり、この(010)に対して最下位ビッ
トに1固定の1ビットを加えた4ビットは(0101)
となり、これは“5”である。すなわち、実効ウエイト
数Dwは“5”となる。
【0089】ウエイト制御回路115は、CPU109
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路114が出力する実効ウエイト数Dwの
“5”に対応して5サイクルウエイトし、ウエイト後、
CPU109へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は60nsecとなる。100MHzは10nsec
に相当し、5サイクルウエイトすることから、10*
(5+1)=60nsecとなる。
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路114が出力する実効ウエイト数Dwの
“5”に対応して5サイクルウエイトし、ウエイト後、
CPU109へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は60nsecとなる。100MHzは10nsec
に相当し、5サイクルウエイトすることから、10*
(5+1)=60nsecとなる。
【0090】第2フェーズにおいて、クロック選択信号
S0を“0”に設定する。クロック制御回路111はク
ロック選択信号S0が“0”であるので、クロック入力
端子104及びクロック出力端子105から供給される
100MHzの外部クロックを2分周し50MHzの内
部クロックCLKとしてCPU109及びメモリ制御装
置110に出力する。セレクタ列119はクロック選択
信号S0が“0”であるので、ウエイト数設定レジスタ
118の全4ビットを選択して実効ウエイト数Dwの
“2”をウエイト制御回路115へ出力する。
S0を“0”に設定する。クロック制御回路111はク
ロック選択信号S0が“0”であるので、クロック入力
端子104及びクロック出力端子105から供給される
100MHzの外部クロックを2分周し50MHzの内
部クロックCLKとしてCPU109及びメモリ制御装
置110に出力する。セレクタ列119はクロック選択
信号S0が“0”であるので、ウエイト数設定レジスタ
118の全4ビットを選択して実効ウエイト数Dwの
“2”をウエイト制御回路115へ出力する。
【0091】ウエイト制御回路115は、CPU109
からメモリアクセス要求信号S1を受けるとウエイト数
設定回路114が出力する実効ウエイト数Dwの“2”
に対応して2サイクルウエイトし、ウエイト後、CPU
109へメモリアクセス許可信号S2を出力する。メモ
リアクセス要求信号S1の立ち上がりからメモリアクセ
ス許可信号S2の立ち上がりまでのメモリアクセス時間
は60nsecとなる。
からメモリアクセス要求信号S1を受けるとウエイト数
設定回路114が出力する実効ウエイト数Dwの“2”
に対応して2サイクルウエイトし、ウエイト後、CPU
109へメモリアクセス許可信号S2を出力する。メモ
リアクセス要求信号S1の立ち上がりからメモリアクセ
ス許可信号S2の立ち上がりまでのメモリアクセス時間
は60nsecとなる。
【0092】なお、ここでは外部クロック及びメモリア
クセス時間、ウエイト数設定レジスタ118への設定ウ
エイト数を指定して説明したが、それぞれ任意の値でも
動作させることができる。低速動作の場合のクロック周
波数をf1(f1は自然数)とし、低速動作の場合に必要
な最低限の設定ウエイト数をn1(n1は自然数)とした
場合のクロック周波数と実効ウエイト数Dwの関係を表
3に示す。
クセス時間、ウエイト数設定レジスタ118への設定ウ
エイト数を指定して説明したが、それぞれ任意の値でも
動作させることができる。低速動作の場合のクロック周
波数をf1(f1は自然数)とし、低速動作の場合に必要
な最低限の設定ウエイト数をn1(n1は自然数)とした
場合のクロック周波数と実効ウエイト数Dwの関係を表
3に示す。
【0093】
【表3】
また、ここではクロック選択信号端子106から入力す
るクロック選択信号S0を1ビットとして説明したが、
クロック選択信号S0が複数ビットの場合でも外部クロ
ック周波数を2k倍(kは0または自然数)して内部クロ
ックCLKとして入力する場合は、同様にセレクタ列1
19の選択入力を複数ビットにすることで適用可能であ
る。クロック選択信号S0が複数ビットとなった場合の
クロック周波数と実効ウエイト数Dwの関係を表4に示
す。
るクロック選択信号S0を1ビットとして説明したが、
クロック選択信号S0が複数ビットの場合でも外部クロ
ック周波数を2k倍(kは0または自然数)して内部クロ
ックCLKとして入力する場合は、同様にセレクタ列1
19の選択入力を複数ビットにすることで適用可能であ
る。クロック選択信号S0が複数ビットとなった場合の
クロック周波数と実効ウエイト数Dwの関係を表4に示
す。
【0094】
【表4】
図7にk=2の場合のウエイト数設定回路114の構成
を示す。1固定である電源レベルに接続されたセレクタ
が最下位側に2つ設けられている。
を示す。1固定である電源レベルに接続されたセレクタ
が最下位側に2つ設けられている。
【0095】このように、メモリ制御装置110は内部
クロックCLKが低速動作の場合でも、第一の実施の形
態の場合のような設定ウエイト数の切り捨てによる冗長
の問題はなく、低速動作での内部クロックCLKにおけ
るメモリ103が必要とするメモリアクセス時間に対し
て最適化した必要最低限の実効ウエイト数Dwでのアク
セスを可能とし(第2フェーズでも第1フェーズと同じ
60nsecですむ)、かつプログラムによりウエイト
数を再設定することなく、常に自動的に低速動作での内
部クロックCLKにおけるメモリ103が必要とするメ
モリアクセス時間に対応した必要最低限の実効ウエイト
数DwでCPU109とメモリ103のアクセスを可能
とする。
クロックCLKが低速動作の場合でも、第一の実施の形
態の場合のような設定ウエイト数の切り捨てによる冗長
の問題はなく、低速動作での内部クロックCLKにおけ
るメモリ103が必要とするメモリアクセス時間に対し
て最適化した必要最低限の実効ウエイト数Dwでのアク
セスを可能とし(第2フェーズでも第1フェーズと同じ
60nsecですむ)、かつプログラムによりウエイト
数を再設定することなく、常に自動的に低速動作での内
部クロックCLKにおけるメモリ103が必要とするメ
モリアクセス時間に対応した必要最低限の実効ウエイト
数DwでCPU109とメモリ103のアクセスを可能
とする。
【0096】(実施の形態3)上記の本発明の第二の実施
の形態によればメモリアクセス時間の最適化が行われる
が、なお、改善の余地がある。第二の実施の形態の場合
には、メモリ制御装置110は2k倍以外の倍率の内部
クロックCLKの周波数変化に対応することはできな
い。したがって、内部クロックCLKが任意倍率で変化
した場合でも対応できるようにすることにおいてさらに
工夫の余地がある。これを以下に第三の実施の形態とし
て説明する。
の形態によればメモリアクセス時間の最適化が行われる
が、なお、改善の余地がある。第二の実施の形態の場合
には、メモリ制御装置110は2k倍以外の倍率の内部
クロックCLKの周波数変化に対応することはできな
い。したがって、内部クロックCLKが任意倍率で変化
した場合でも対応できるようにすることにおいてさらに
工夫の余地がある。これを以下に第三の実施の形態とし
て説明する。
【0097】図8は本発明の第三の実施の形態における
LSIの構成を表すブロック図である。
LSIの構成を表すブロック図である。
【0098】201はLSIであり、マイコン202、
メモリ203、クロック入力端子204、クロック出力
端子205、クロック選択信号端子206、メモリアド
レスバス207、メモリデータバス208から構成され
る。
メモリ203、クロック入力端子204、クロック出力
端子205、クロック選択信号端子206、メモリアド
レスバス207、メモリデータバス208から構成され
る。
【0099】202はマイコンであり、CPU209、
メモリ制御装置210、クロック制御回路211、CP
Uアドレスバス212、CPUデータバス213から構
成される。
メモリ制御装置210、クロック制御回路211、CP
Uアドレスバス212、CPUデータバス213から構
成される。
【0100】203はメモリであり、メモリアドレスバ
ス207及びメモリデータバス208に接続され、メモ
リアドレスバス207の示すアドレスにメモリデータバ
ス208のデータの読み書きを行う。
ス207及びメモリデータバス208に接続され、メモ
リアドレスバス207の示すアドレスにメモリデータバ
ス208のデータの読み書きを行う。
【0101】204はクロック入力端子であり、205
はクロック出力端子であり、クロック入力端子204及
びクロック出力端子205は発振器もしくは発振子22
3に接続して自励発振を行う。
はクロック出力端子であり、クロック入力端子204及
びクロック出力端子205は発振器もしくは発振子22
3に接続して自励発振を行う。
【0102】206は2ビットからなるクロック選択信
号端子であり、外部から入力されたクロック周波数の選
択信号をクロック制御回路211及びウエイト数設定回
路214へ供給する。
号端子であり、外部から入力されたクロック周波数の選
択信号をクロック制御回路211及びウエイト数設定回
路214へ供給する。
【0103】209はCPUであり、CPUアドレスバ
ス212及びCPUデータバス213、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路211から内部クロックCLKの
供給を受けて命令を実行し、メモリアクセス要求信号S
1をウエイト制御回路215へ出力し、メモリアクセス
許可信号S2をウエイト制御回路215から入力する
と、CPUアドレスバス212及びCPUデータバス2
13を用いてアドレス及びデータの転送を実行する。
ス212及びCPUデータバス213、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路211から内部クロックCLKの
供給を受けて命令を実行し、メモリアクセス要求信号S
1をウエイト制御回路215へ出力し、メモリアクセス
許可信号S2をウエイト制御回路215から入力する
と、CPUアドレスバス212及びCPUデータバス2
13を用いてアドレス及びデータの転送を実行する。
【0104】210はメモリ制御装置であり、クロック
制御回路211から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス207と
CPUアドレスバス212とを接続し、メモリデータバ
ス208とCPUデータバス213とを接続し、クロッ
ク選択信号端子206からクロック選択信号S0を入力
し、メモリアクセス要求信号S1をCPU209から入
力し、メモリアクセス許可信号S2をCPU209へ出
力する。
制御回路211から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス207と
CPUアドレスバス212とを接続し、メモリデータバ
ス208とCPUデータバス213とを接続し、クロッ
ク選択信号端子206からクロック選択信号S0を入力
し、メモリアクセス要求信号S1をCPU209から入
力し、メモリアクセス許可信号S2をCPU209へ出
力する。
【0105】211はクロック制御回路であり、クロッ
ク入力端子204及びクロック出力端子205から供給
された外部クロックをクロック選択信号端子206に入
力されるクロック選択信号S0の値に従って分周した低
速クロックもしくはそのままの高速クロックとしてCP
U209及びメモリ制御装置210へ供給する。
ク入力端子204及びクロック出力端子205から供給
された外部クロックをクロック選択信号端子206に入
力されるクロック選択信号S0の値に従って分周した低
速クロックもしくはそのままの高速クロックとしてCP
U209及びメモリ制御装置210へ供給する。
【0106】215はウエイト制御回路であり、CPU
209からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路214から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU209に出力する。
209からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路214から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU209に出力する。
【0107】図9は本発明の第三の実施の形態における
ウエイト数設定回路214の構成を表すブロック図であ
る。
ウエイト数設定回路214の構成を表すブロック図であ
る。
【0108】214はウエイト数設定回路であり、第一
ウエイト数設定レジスタ218、第二ウエイト数設定レ
ジスタ219、第三ウエイト数設定レジスタ220、セ
レクタ221から構成される。
ウエイト数設定レジスタ218、第二ウエイト数設定レ
ジスタ219、第三ウエイト数設定レジスタ220、セ
レクタ221から構成される。
【0109】218は第一ウエイト数設定レジスタであ
り、219は第二ウエイト数設定レジスタであり、22
0は第三ウエイト数設定レジスタであり、これら3つの
ウエイト数設定レジスタは全て、CPU209がCPU
アドレスバス212及びCPUデータバス213を介し
てアクセス可能なmビット(mは自然数)のレジスタで
ある。
り、219は第二ウエイト数設定レジスタであり、22
0は第三ウエイト数設定レジスタであり、これら3つの
ウエイト数設定レジスタは全て、CPU209がCPU
アドレスバス212及びCPUデータバス213を介し
てアクセス可能なmビット(mは自然数)のレジスタで
ある。
【0110】221は3入力1出力のセレクタであり、
第一ウエイト数設定レジスタ218、第二ウエイト数設
定レジスタ219、第三ウエイト数設定レジスタ220
のいずれかを選択して実効ウエイト数Dwを出力する。
第一ウエイト数設定レジスタ218及び第二ウエイト数
設定レジスタ219、第三ウエイト数設定レジスタ22
0のそれぞれに、使用する内部クロックCLKの周波数
に対応した必要最低限のウエイト数を設定しておき、ク
ロック選択信号端子206から入力するクロック選択信
号S0によって内部クロックCLKの周波数に対応した
実効ウエイト数Dwを出力する。
第一ウエイト数設定レジスタ218、第二ウエイト数設
定レジスタ219、第三ウエイト数設定レジスタ220
のいずれかを選択して実効ウエイト数Dwを出力する。
第一ウエイト数設定レジスタ218及び第二ウエイト数
設定レジスタ219、第三ウエイト数設定レジスタ22
0のそれぞれに、使用する内部クロックCLKの周波数
に対応した必要最低限のウエイト数を設定しておき、ク
ロック選択信号端子206から入力するクロック選択信
号S0によって内部クロックCLKの周波数に対応した
実効ウエイト数Dwを出力する。
【0111】図10はクロック選択信号端子206から
クロック制御回路211及びウエイト数設定回路214
に供給されるクロック選択信号S0、クロック制御回路
211からCPU209及びメモリ制御装置210に供
給される内部クロックCLK、第一ウエイト数設定レジ
スタ218及び第二ウエイト数設定レジスタ219、第
三ウエイト数設定レジスタ220にそれぞれ設定する設
定ウエイト数、ウエイト数設定回路214からウエイト
制御回路215へ供給される実効ウエイト数Dw、CP
U209からウエイト制御回路215へ供給されるメモ
リアクセス要求信号S1、ウエイト制御回路215から
CPU209へ供給されるメモリアクセス許可信号S2
を示すタイミングチャートである。
クロック制御回路211及びウエイト数設定回路214
に供給されるクロック選択信号S0、クロック制御回路
211からCPU209及びメモリ制御装置210に供
給される内部クロックCLK、第一ウエイト数設定レジ
スタ218及び第二ウエイト数設定レジスタ219、第
三ウエイト数設定レジスタ220にそれぞれ設定する設
定ウエイト数、ウエイト数設定回路214からウエイト
制御回路215へ供給される実効ウエイト数Dw、CP
U209からウエイト制御回路215へ供給されるメモ
リアクセス要求信号S1、ウエイト制御回路215から
CPU209へ供給されるメモリアクセス許可信号S2
を示すタイミングチャートである。
【0112】ここでは、メモリ203はメモリアクセス
時間が60nsec以上必要とし、CPU209はCPU
アドレスバス212及びCPUデータバス213を介し
て第一ウエイト数設定レジスタ218にウエイト数
“5”を設定し、第二ウエイト数設定レジスタ219に
ウエイト数“3”を設定し、第三ウエイト数設定レジス
タ220にウエイト数“2”を設定する。
時間が60nsec以上必要とし、CPU209はCPU
アドレスバス212及びCPUデータバス213を介し
て第一ウエイト数設定レジスタ218にウエイト数
“5”を設定し、第二ウエイト数設定レジスタ219に
ウエイト数“3”を設定し、第三ウエイト数設定レジス
タ220にウエイト数“2”を設定する。
【0113】外部クロックは200MHzとし、内部ク
ロックCLKは、クロック選択信号端子206に入力さ
れるクロック選択信号S0が“0”の場合には200M
Hzの外部クロックを2分周して100MHzのクロッ
クを出力し、クロック選択信号S0が“1”の場合には
外部クロックを3分周して66.7MHzのクロックを
出力し、クロック選択信号S0が“2”の場合には外部
クロックを4分周して50MHzのクロックを出力す
る。
ロックCLKは、クロック選択信号端子206に入力さ
れるクロック選択信号S0が“0”の場合には200M
Hzの外部クロックを2分周して100MHzのクロッ
クを出力し、クロック選択信号S0が“1”の場合には
外部クロックを3分周して66.7MHzのクロックを
出力し、クロック選択信号S0が“2”の場合には外部
クロックを4分周して50MHzのクロックを出力す
る。
【0114】以下では、時刻T0から時刻T1までの第
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズ、時刻T2から時刻T3までの第3フェーズの動作を
説明する。
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズ、時刻T2から時刻T3までの第3フェーズの動作を
説明する。
【0115】第1フェーズにおいて、クロック選択信号
端子206に入力するクロック選択信号S0を“0”に
設定する。クロック制御回路211はクロック選択信号
S0が“0”であるので、クロック入力端子204及び
クロック出力端子205から供給される200MHzの
外部クロックを2分周し、100MHzの内部クロック
CLKとしてCPU209及びメモリ制御装置210に
出力する。セレクタ221はクロック選択信号S0が
“0”であるので、第一ウエイト数設定レジスタ218
を選択して、実効ウエイト数Dwとして“5”をウエイ
ト制御回路215へ出力する。ウエイト制御回路215
は、CPU209からメモリアクセス要求信号S1を受
けると、ウエイト数設定回路214が出力する実効ウエ
イト数Dwの“5”に対応して5サイクルウエイトし、
ウエイト後、CPU209へメモリアクセス許可信号S
2を出力する。メモリアクセス要求信号S1の立ち上が
りからメモリアクセス許可信号S2の立ち上がりまでの
メモリアクセス時間は60nsecとなる。10*(5+
1)=60nsecである。
端子206に入力するクロック選択信号S0を“0”に
設定する。クロック制御回路211はクロック選択信号
S0が“0”であるので、クロック入力端子204及び
クロック出力端子205から供給される200MHzの
外部クロックを2分周し、100MHzの内部クロック
CLKとしてCPU209及びメモリ制御装置210に
出力する。セレクタ221はクロック選択信号S0が
“0”であるので、第一ウエイト数設定レジスタ218
を選択して、実効ウエイト数Dwとして“5”をウエイ
ト制御回路215へ出力する。ウエイト制御回路215
は、CPU209からメモリアクセス要求信号S1を受
けると、ウエイト数設定回路214が出力する実効ウエ
イト数Dwの“5”に対応して5サイクルウエイトし、
ウエイト後、CPU209へメモリアクセス許可信号S
2を出力する。メモリアクセス要求信号S1の立ち上が
りからメモリアクセス許可信号S2の立ち上がりまでの
メモリアクセス時間は60nsecとなる。10*(5+
1)=60nsecである。
【0116】第2フェーズにおいて、クロック選択信号
S0を“1”に設定する。クロック制御回路211はク
ロック選択信号S0が“1”であるので、クロック入力
端子204及びクロック出力端子205から供給される
200MHzの外部クロックを3分周して66.7MH
zの内部クロックCLKとしてCPU209及びメモリ
制御装置210に出力する。セレクタ221はクロック
選択信号S0が“1”であるので、第二ウエイト数設定
レジスタ219を選択して実効ウエイト数Dwとして
“2”をウエイト制御回路215へ出力する。ウエイト
制御回路215は、CPU209からメモリアクセス要
求信号S1を受けると、ウエイト数設定回路214が出
力する実効ウエイト数Dwの“3”に対応して3サイク
ルウエイトし、ウエイト後、CPU209へメモリアク
セス許可信号S2を出力する。メモリアクセス要求信号
S1の立ち上がりからメモリアクセス許可信号S2の立
ち上がりまでのメモリアクセス時間は60nsecとな
る。200MHzを3分周した66.7MHzは15n
secに相当し、3サイクルウエイトすることから、15
*(3+1)=60nsecとなる。
S0を“1”に設定する。クロック制御回路211はク
ロック選択信号S0が“1”であるので、クロック入力
端子204及びクロック出力端子205から供給される
200MHzの外部クロックを3分周して66.7MH
zの内部クロックCLKとしてCPU209及びメモリ
制御装置210に出力する。セレクタ221はクロック
選択信号S0が“1”であるので、第二ウエイト数設定
レジスタ219を選択して実効ウエイト数Dwとして
“2”をウエイト制御回路215へ出力する。ウエイト
制御回路215は、CPU209からメモリアクセス要
求信号S1を受けると、ウエイト数設定回路214が出
力する実効ウエイト数Dwの“3”に対応して3サイク
ルウエイトし、ウエイト後、CPU209へメモリアク
セス許可信号S2を出力する。メモリアクセス要求信号
S1の立ち上がりからメモリアクセス許可信号S2の立
ち上がりまでのメモリアクセス時間は60nsecとな
る。200MHzを3分周した66.7MHzは15n
secに相当し、3サイクルウエイトすることから、15
*(3+1)=60nsecとなる。
【0117】第3フェーズにおいて、クロック選択信号
S0を“2”に設定する。クロック制御回路211はク
ロック選択信号S0が“2”であるので、クロック入力
端子204及びクロック出力端子205から供給される
200MHzの外部クロックを4分周し50MHzの内
部クロックCLKとしてCPU209及びメモリ制御装
置210に出力する。セレクタ221はクロック選択信
号S0が“2”であるので、第三ウエイト数設定レジス
タ220を選択して実効ウエイト数Dwとして“2”を
ウエイト制御回路215へ出力する。ウエイト制御回路
215は、CPU209からメモリアクセス要求信号S
1を受けると、ウエイト数設定回路214が出力する実
効ウエイト数Dwの“2”に対応して2サイクルウエイ
トし、ウエイト後、CPU209へメモリアクセス許可
信号S2を出力する。メモリアクセス要求信号S1の立
ち上がりからメモリアクセス許可信号S2の立ち上がり
までのメモリアクセス時間は60nsecとなる。50M
Hzは20nsecに相当し、2サイクルウエイトするこ
とから、20*(2+1)=60nsecとなる。
S0を“2”に設定する。クロック制御回路211はク
ロック選択信号S0が“2”であるので、クロック入力
端子204及びクロック出力端子205から供給される
200MHzの外部クロックを4分周し50MHzの内
部クロックCLKとしてCPU209及びメモリ制御装
置210に出力する。セレクタ221はクロック選択信
号S0が“2”であるので、第三ウエイト数設定レジス
タ220を選択して実効ウエイト数Dwとして“2”を
ウエイト制御回路215へ出力する。ウエイト制御回路
215は、CPU209からメモリアクセス要求信号S
1を受けると、ウエイト数設定回路214が出力する実
効ウエイト数Dwの“2”に対応して2サイクルウエイ
トし、ウエイト後、CPU209へメモリアクセス許可
信号S2を出力する。メモリアクセス要求信号S1の立
ち上がりからメモリアクセス許可信号S2の立ち上がり
までのメモリアクセス時間は60nsecとなる。50M
Hzは20nsecに相当し、2サイクルウエイトするこ
とから、20*(2+1)=60nsecとなる。
【0118】以上のように、いずれのフェーズでもメモ
リアクセス時間は60nsecとなる。
リアクセス時間は60nsecとなる。
【0119】なお、ここでは外部クロック及びメモリア
クセス時間、第一ウエイト数設定レジスタ218及び第
二ウエイト数設定レジスタ219、第三ウエイト数設定
レジスタ220への設定ウエイト数を指定して説明した
が、それぞれ任意の値でも動作させることができる。使
用する内部クロックCLK周波数をf1、f2、f3と
し、各動作周波数の場合に必要な最低限の設定ウエイト
数をそれぞれn1、n2、n3とした場合のクロック周
波数と実効ウエイト数Dwの関係を表5に示す。
クセス時間、第一ウエイト数設定レジスタ218及び第
二ウエイト数設定レジスタ219、第三ウエイト数設定
レジスタ220への設定ウエイト数を指定して説明した
が、それぞれ任意の値でも動作させることができる。使
用する内部クロックCLK周波数をf1、f2、f3と
し、各動作周波数の場合に必要な最低限の設定ウエイト
数をそれぞれn1、n2、n3とした場合のクロック周
波数と実効ウエイト数Dwの関係を表5に示す。
【0120】
【表5】
また、ここではクロック選択信号端子206から入力す
るクロック選択信号S0を2ビット幅で、“0”,
“1”,“2”の3種類として説明したが、クロック選
択信号S0の種類がこれより多い場合でもウエイト設定
レジスタの個数を増やし、クロック選択信号S0のビッ
ト幅を増加させることで適用可能である。
るクロック選択信号S0を2ビット幅で、“0”,
“1”,“2”の3種類として説明したが、クロック選
択信号S0の種類がこれより多い場合でもウエイト設定
レジスタの個数を増やし、クロック選択信号S0のビッ
ト幅を増加させることで適用可能である。
【0121】このように、メモリ制御装置210は内部
クロックCLKが任意倍率で変化した場合でも、プログ
ラムによりウエイト数を再設定する必要はなく、常に自
動的に低速動作での内部クロックCLKにおけるメモリ
203が必要とするメモリアクセス時間に対応した必要
最低限の実効ウエイト数DwでCPU209とメモリ2
03のアクセスを可能とする。
クロックCLKが任意倍率で変化した場合でも、プログ
ラムによりウエイト数を再設定する必要はなく、常に自
動的に低速動作での内部クロックCLKにおけるメモリ
203が必要とするメモリアクセス時間に対応した必要
最低限の実効ウエイト数DwでCPU209とメモリ2
03のアクセスを可能とする。
【0122】(実施の形態4)上記の本発明の第三の実施
の形態においては、マイコン202は、最適なウエイト
数選択を行うのにメモリ制御装置210にクロック選択
信号S0を入力している。これに代わる技術が第四の実
施の形態である。
の形態においては、マイコン202は、最適なウエイト
数選択を行うのにメモリ制御装置210にクロック選択
信号S0を入力している。これに代わる技術が第四の実
施の形態である。
【0123】図11は本発明の第四の実施の形態におけ
るLSIの構成を表すブロック図である。
るLSIの構成を表すブロック図である。
【0124】301はLSIであり、マイコン302、
メモリ303、クロック入力端子304、クロック出力
端子305、クロック選択信号端子306、メモリアド
レスバス307、メモリデータバス308から構成され
る。
メモリ303、クロック入力端子304、クロック出力
端子305、クロック選択信号端子306、メモリアド
レスバス307、メモリデータバス308から構成され
る。
【0125】302はマイコンであり、CPU309、
メモリ制御装置310、クロック制御回路311、CP
Uアドレスバス312、CPUデータバス313から構
成される。
メモリ制御装置310、クロック制御回路311、CP
Uアドレスバス312、CPUデータバス313から構
成される。
【0126】303はメモリであり、メモリアドレスバ
ス307及びメモリデータバス308に接続され、メモ
リアドレスバス307の示すアドレスにメモリデータバ
ス308のデータの読み書きを行う。
ス307及びメモリデータバス308に接続され、メモ
リアドレスバス307の示すアドレスにメモリデータバ
ス308のデータの読み書きを行う。
【0127】304はクロック入力端子であり、305
はクロック出力端子であり、クロック入力端子304及
びクロック出力端子305は発振器もしくは発振子32
3に接続して自励発振を行う。
はクロック出力端子であり、クロック入力端子304及
びクロック出力端子305は発振器もしくは発振子32
3に接続して自励発振を行う。
【0128】309はCPUであり、CPUアドレスバ
ス312及びCPUデータバス313、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路311からCPU内部クロックC
LK1の供給を受けて命令を実行し、メモリアクセス要
求信号S1をウエイト制御回路315へ出力し、メモリ
アクセス許可信号S2をウエイト制御回路315から入
力すると、CPUアドレスバス312及びCPUデータ
バス313を用いてアドレス及びデータの転送を実行す
る。
ス312及びCPUデータバス313、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路311からCPU内部クロックC
LK1の供給を受けて命令を実行し、メモリアクセス要
求信号S1をウエイト制御回路315へ出力し、メモリ
アクセス許可信号S2をウエイト制御回路315から入
力すると、CPUアドレスバス312及びCPUデータ
バス313を用いてアドレス及びデータの転送を実行す
る。
【0129】310はメモリ制御装置であり、クロック
制御回路311からメモリ制御装置内部クロックCLK
2の供給を受けてメモリアクセスを制御し、メモリアド
レスバス307とCPUアドレスバス312とを接続
し、メモリデータバス308とCPUデータバス313
とを接続し、メモリアクセス要求信号S1をCPU30
9から入力し、メモリアクセス許可信号S2をCPU3
09へ出力する。
制御回路311からメモリ制御装置内部クロックCLK
2の供給を受けてメモリアクセスを制御し、メモリアド
レスバス307とCPUアドレスバス312とを接続
し、メモリデータバス308とCPUデータバス313
とを接続し、メモリアクセス要求信号S1をCPU30
9から入力し、メモリアクセス許可信号S2をCPU3
09へ出力する。
【0130】311はクロック制御回路であり、クロッ
ク入力端子304及びクロック出力端子305から供給
された外部クロックをクロック選択信号S0の値に従っ
て分周もしくはそのままの信号でCPU内部クロックC
LK1としてCPU309へ供給し、メモリ制御装置3
10へはそのまま一定のメモリ制御装置内部クロックC
LK2として供給する。
ク入力端子304及びクロック出力端子305から供給
された外部クロックをクロック選択信号S0の値に従っ
て分周もしくはそのままの信号でCPU内部クロックC
LK1としてCPU309へ供給し、メモリ制御装置3
10へはそのまま一定のメモリ制御装置内部クロックC
LK2として供給する。
【0131】315はウエイト制御回路であり、CPU
309からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路314から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU309に出力する。
309からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路314から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU309に出力する。
【0132】図12は本発明の第四の実施の形態におけ
るクロック制御回路311の構成を表すブロック図であ
る。
るクロック制御回路311の構成を表すブロック図であ
る。
【0133】311はクロック制御回路であり、フリッ
プフロップ316及びセレクタ317から構成される。
プフロップ316及びセレクタ317から構成される。
【0134】316はフリップフロップであり、フリッ
プフロップ316の反転出力を入力とし、クロック入力
端子304及びクロック出力端子305から入力する外
部クロックを2分周してクロック出力とし、入力を1ク
ロック遅延させた信号をセレクタ317及びウエイト制
御回路315へメモリ制御装置内部クロックCLK2と
して出力する。
プフロップ316の反転出力を入力とし、クロック入力
端子304及びクロック出力端子305から入力する外
部クロックを2分周してクロック出力とし、入力を1ク
ロック遅延させた信号をセレクタ317及びウエイト制
御回路315へメモリ制御装置内部クロックCLK2と
して出力する。
【0135】317はセレクタであり、クロック選択信
号端子306に入力されるクロック選択信号S0の値に
従ってクロック入力端子304及びクロック出力端子3
05から入力する外部クロックもしくはフリップフロッ
プ316から出力されるメモリ制御装置内部クロックC
LK2とを選択し、選択の結果をCPU内部クロックC
LK1としてCPU309へ出力する。
号端子306に入力されるクロック選択信号S0の値に
従ってクロック入力端子304及びクロック出力端子3
05から入力する外部クロックもしくはフリップフロッ
プ316から出力されるメモリ制御装置内部クロックC
LK2とを選択し、選択の結果をCPU内部クロックC
LK1としてCPU309へ出力する。
【0136】図13はクロック選択信号端子306から
クロック制御回路311に供給されるクロック選択信号
S0、クロック制御回路311からCPU309に供給
されるCPU内部クロックCLK1、クロック制御回路
311からメモリ制御装置310に供給されるメモリ制
御装置内部クロックCLK2、ウエイト数設定回路31
4に設定する設定ウエイト数、CPU309からウエイ
ト制御回路315へ供給されるメモリアクセス要求信号
S1、ウエイト制御回路315からCPU309へ供給
されるメモリアクセス許可信号S2を示すタイミングチ
ャートである。
クロック制御回路311に供給されるクロック選択信号
S0、クロック制御回路311からCPU309に供給
されるCPU内部クロックCLK1、クロック制御回路
311からメモリ制御装置310に供給されるメモリ制
御装置内部クロックCLK2、ウエイト数設定回路31
4に設定する設定ウエイト数、CPU309からウエイ
ト制御回路315へ供給されるメモリアクセス要求信号
S1、ウエイト制御回路315からCPU309へ供給
されるメモリアクセス許可信号S2を示すタイミングチ
ャートである。
【0137】ここでは、メモリ303はメモリアクセス
時間が40nsec以上必要とし、CPU309はCPU
アドレスバス312及びCPUデータバス313を介し
て、ウエイト数設定回路314にウエイト数“1”を設
定する。
時間が40nsec以上必要とし、CPU309はCPU
アドレスバス312及びCPUデータバス313を介し
て、ウエイト数設定回路314にウエイト数“1”を設
定する。
【0138】外部クロックは100MHzとし、CPU
内部クロックCLK1はクロック選択信号端子306に
入力されるクロック選択信号S0が“0”の場合にはセ
レクタ317において100MHzのそのまま出力し、
クロック選択信号S0が“1”の場合には外部クロック
を2分周して50MHzのクロックを出力する。メモリ
制御装置内部クロックCLK2はクロック選択信号S0
に依存せず、外部クロックを2分周して50MHz一定
のクロックを出力する。
内部クロックCLK1はクロック選択信号端子306に
入力されるクロック選択信号S0が“0”の場合にはセ
レクタ317において100MHzのそのまま出力し、
クロック選択信号S0が“1”の場合には外部クロック
を2分周して50MHzのクロックを出力する。メモリ
制御装置内部クロックCLK2はクロック選択信号S0
に依存せず、外部クロックを2分周して50MHz一定
のクロックを出力する。
【0139】以下では、時刻T0から時刻T1までの第
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
【0140】第1フェーズにおいて、クロック選択信号
端子306に入力されるクロック選択信号S0を“0”
に設定する。クロック制御回路311は外部クロックを
2分周して50MHzのメモリ制御装置内部クロックC
LK2としてメモリ制御装置310に出力し、クロック
選択信号S0が“0”であるのでクロック入力端子30
4及びクロック出力端子305から供給される100M
Hzの外部クロックをそのままCPU内部クロックCL
K1としてCPU309に出力する。ウエイト制御回路
315は、CPU309からメモリアクセス要求信号S
1を受けると、ウエイト数設定回路314が出力する実
効ウエイト数Dwの“1”に対応してメモリ制御装置内
部クロックCLK2の1サイクルウエイトし、ウエイト
後、CPU309へメモリアクセス許可信号S2を出力
する。メモリアクセス要求信号S1の立ち上がりからメ
モリアクセス許可信号S2の立ち上がりまでのメモリア
クセス時間は40nsecとなる。20*(1+1)=4
0nsecである。
端子306に入力されるクロック選択信号S0を“0”
に設定する。クロック制御回路311は外部クロックを
2分周して50MHzのメモリ制御装置内部クロックC
LK2としてメモリ制御装置310に出力し、クロック
選択信号S0が“0”であるのでクロック入力端子30
4及びクロック出力端子305から供給される100M
Hzの外部クロックをそのままCPU内部クロックCL
K1としてCPU309に出力する。ウエイト制御回路
315は、CPU309からメモリアクセス要求信号S
1を受けると、ウエイト数設定回路314が出力する実
効ウエイト数Dwの“1”に対応してメモリ制御装置内
部クロックCLK2の1サイクルウエイトし、ウエイト
後、CPU309へメモリアクセス許可信号S2を出力
する。メモリアクセス要求信号S1の立ち上がりからメ
モリアクセス許可信号S2の立ち上がりまでのメモリア
クセス時間は40nsecとなる。20*(1+1)=4
0nsecである。
【0141】第2フェーズにおいて、クロック選択信号
S0を“1”に設定する。クロック制御回路311は外
部クロックを2分周して50MHzのクロックとしてメ
モリ制御装置310に出力し、クロック選択信号S0が
“1”であるので、クロック入力端子304及びクロッ
ク出力端子305から供給される100MHzの外部ク
ロックを2分周してCPU内部クロックCLK1として
CPU309に出力する。ウエイト制御回路315は、
CPU309からメモリアクセス要求信号S1を受ける
と、ウエイト数設定回路314が出力する実効ウエイト
数Dwの“1”に対応してメモリ制御装置内部クロック
CLK2の1サイクルウエイトし、ウエイト後、CPU
309へメモリアクセス許可信号S2を出力する。メモ
リアクセス要求信号S1の立ち上がりからメモリアクセ
ス許可信号S2の立ち上がりまでのメモリアクセス時間
は40nsecとなる。20*(1+1)=40nsecであ
る。
S0を“1”に設定する。クロック制御回路311は外
部クロックを2分周して50MHzのクロックとしてメ
モリ制御装置310に出力し、クロック選択信号S0が
“1”であるので、クロック入力端子304及びクロッ
ク出力端子305から供給される100MHzの外部ク
ロックを2分周してCPU内部クロックCLK1として
CPU309に出力する。ウエイト制御回路315は、
CPU309からメモリアクセス要求信号S1を受ける
と、ウエイト数設定回路314が出力する実効ウエイト
数Dwの“1”に対応してメモリ制御装置内部クロック
CLK2の1サイクルウエイトし、ウエイト後、CPU
309へメモリアクセス許可信号S2を出力する。メモ
リアクセス要求信号S1の立ち上がりからメモリアクセ
ス許可信号S2の立ち上がりまでのメモリアクセス時間
は40nsecとなる。20*(1+1)=40nsecであ
る。
【0142】なお、ここでは外部クロック及びメモリア
クセス時間、ウエイト数設定回路314への設定ウエイ
ト数を指定して説明したが、それぞれ任意の値でも動作
させることができる。
クセス時間、ウエイト数設定回路314への設定ウエイ
ト数を指定して説明したが、それぞれ任意の値でも動作
させることができる。
【0143】このように、メモリ制御装置310はクロ
ック制御回路311から出力される内部クロックをCP
U309に供給されるCPU内部クロックCLK1とメ
モリ制御装置310に供給されるメモリ制御装置内部ク
ロックCLK2との2種類に分け、このうちメモリ制御
装置内部クロックCLK2を一定にすることにより、内
部クロックの周波数が変化してもメモリ制御装置310
にクロック選択信号S0を入力することなく、かつプロ
グラムでウエイト数を設定することなく、常に自動的に
メモリ303が必要とする最低限のメモリアクセス時間
でのCPU309とメモリ303とのアクセスを可能と
する。
ック制御回路311から出力される内部クロックをCP
U309に供給されるCPU内部クロックCLK1とメ
モリ制御装置310に供給されるメモリ制御装置内部ク
ロックCLK2との2種類に分け、このうちメモリ制御
装置内部クロックCLK2を一定にすることにより、内
部クロックの周波数が変化してもメモリ制御装置310
にクロック選択信号S0を入力することなく、かつプロ
グラムでウエイト数を設定することなく、常に自動的に
メモリ303が必要とする最低限のメモリアクセス時間
でのCPU309とメモリ303とのアクセスを可能と
する。
【0144】(実施の形態5)上記の本発明の第一ないし
第四の実施の形態によれば、クロック選択信号S0によ
って最適なウエイト数選択を行うことが可能であるが、
電圧の変化については、これを考慮していない。そこ
で、次に、電圧変化があっても最適なウエイト数の選択
を行えるようにした第五の実施の形態を説明する。
第四の実施の形態によれば、クロック選択信号S0によ
って最適なウエイト数選択を行うことが可能であるが、
電圧の変化については、これを考慮していない。そこ
で、次に、電圧変化があっても最適なウエイト数の選択
を行えるようにした第五の実施の形態を説明する。
【0145】図14は本発明の第五の実施の形態におけ
るLSIの構成を表すブロック図である。
るLSIの構成を表すブロック図である。
【0146】401はLSIであり、マイコン402、
メモリ403、クロック入力端子404、クロック出力
端子405、メモリアドレスバス407、メモリデータ
バス408、電源入力端子418、レギュレータ出力端
子419、レギュレータ入力端子420から構成され
る。
メモリ403、クロック入力端子404、クロック出力
端子405、メモリアドレスバス407、メモリデータ
バス408、電源入力端子418、レギュレータ出力端
子419、レギュレータ入力端子420から構成され
る。
【0147】402はマイコンであり、レギュレータ4
06、CPU409、メモリ制御装置410、クロック
制御回路411、CPUアドレスバス412、CPUデ
ータバス413から構成される。
06、CPU409、メモリ制御装置410、クロック
制御回路411、CPUアドレスバス412、CPUデ
ータバス413から構成される。
【0148】403はメモリであり、メモリアドレスバ
ス407及びメモリデータバス408に接続され、メモ
リアドレスバス407の示すアドレスにメモリデータバ
ス408のデータの読み書きを行う。
ス407及びメモリデータバス408に接続され、メモ
リアドレスバス407の示すアドレスにメモリデータバ
ス408のデータの読み書きを行う。
【0149】404はクロック入力端子であり、405
はクロック出力端子であり、クロック入力端子404及
びクロック出力端子405は発振器もしくは発振子42
3に接続して自励発振を行う。
はクロック出力端子であり、クロック入力端子404及
びクロック出力端子405は発振器もしくは発振子42
3に接続して自励発振を行う。
【0150】409はCPUであり、CPUアドレスバ
ス412及びCPUデータバス413、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路411から内部クロックCLKの
供給を受けて命令を実行し、メモリアクセス要求信号S
1をウエイト制御回路415へ出力し、メモリアクセス
許可信号S2をウエイト制御回路415から入力する
と、CPUアドレスバス412及びCPUデータバス4
13を用いてアドレス及びデータの転送を実行する。
ス412及びCPUデータバス413、メモリアクセス
要求信号S1、メモリアクセス許可信号S2に接続さ
れ、クロック制御回路411から内部クロックCLKの
供給を受けて命令を実行し、メモリアクセス要求信号S
1をウエイト制御回路415へ出力し、メモリアクセス
許可信号S2をウエイト制御回路415から入力する
と、CPUアドレスバス412及びCPUデータバス4
13を用いてアドレス及びデータの転送を実行する。
【0151】406はレギュレータであり、CPUアド
レスバス412及びCPUデータバス413を介してC
PU409から設定された値に従ってレギュレータ入力
端子420から供給される電源電圧を電圧降下させた規
定の電圧をレギュレータ出力端子419に出力し、メモ
リ制御装置410におけるウエイト数設定回路414に
電源電圧降下信号SEを出力する。
レスバス412及びCPUデータバス413を介してC
PU409から設定された値に従ってレギュレータ入力
端子420から供給される電源電圧を電圧降下させた規
定の電圧をレギュレータ出力端子419に出力し、メモ
リ制御装置410におけるウエイト数設定回路414に
電源電圧降下信号SEを出力する。
【0152】410はメモリ制御装置であり、クロック
制御回路411から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス407と
CPUアドレスバス412とを接続し、メモリデータバ
ス408とCPUデータバス413とを接続し、レギュ
レータ406から電源電圧降下信号SEを入力し、メモ
リアクセス要求信号S1をCPU409から入力し、メ
モリアクセス許可信号S2をCPU409へ出力する。
制御回路411から内部クロックCLKの供給を受けて
メモリアクセスを制御し、メモリアドレスバス407と
CPUアドレスバス412とを接続し、メモリデータバ
ス408とCPUデータバス413とを接続し、レギュ
レータ406から電源電圧降下信号SEを入力し、メモ
リアクセス要求信号S1をCPU409から入力し、メ
モリアクセス許可信号S2をCPU409へ出力する。
【0153】411はクロック制御回路であり、クロッ
ク入力端子404及びクロック出力端子405から供給
された外部クロックをそのままの信号でCPU409及
びメモリ制御装置410へ一定の内部クロックCLKと
して供給する。
ク入力端子404及びクロック出力端子405から供給
された外部クロックをそのままの信号でCPU409及
びメモリ制御装置410へ一定の内部クロックCLKと
して供給する。
【0154】415はウエイト制御回路であり、CPU
409からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路414から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU409に出力する。
409からメモリアクセス要求信号S1を入力すると、
ウエイト数設定回路414から入力した実効ウエイト数
Dwのサイクル分ウエイトし、ウエイト後にメモリアク
セス許可信号S2をCPU409に出力する。
【0155】418は電源入力端子であり、レギュレー
タ出力端子419からレギュレータ出力を入力する。
タ出力端子419からレギュレータ出力を入力する。
【0156】419はレギュレータ出力端子であり、レ
ギュレータ406から入力されたレギュレータ出力を電
源入力端子418に出力する。
ギュレータ406から入力されたレギュレータ出力を電
源入力端子418に出力する。
【0157】420はレギュレータ入力端子であり、L
SI外部から入力された一定の直流電圧をレギュレータ
入力電圧としてレギュレータ406に出力する。
SI外部から入力された一定の直流電圧をレギュレータ
入力電圧としてレギュレータ406に出力する。
【0158】図15は本発明の第五の実施の形態におけ
るウエイト数設定回路414の構成を表すブロック図で
ある。
るウエイト数設定回路414の構成を表すブロック図で
ある。
【0159】414はウエイト数設定回路であり、ウエ
イト数設定レジスタ416、セレクタ列417から構成
される。
イト数設定レジスタ416、セレクタ列417から構成
される。
【0160】416はウエイト数設定レジスタであり、
CPU409がCPUアドレスバス412及びCPUデ
ータバス413を介してアクセス可能なmビット(mは
自然数)のレジスタである。
CPU409がCPUアドレスバス412及びCPUデ
ータバス413を介してアクセス可能なmビット(mは
自然数)のレジスタである。
【0161】417はm個のセレクタからなるセレクタ
列(ウエイト数可変手段)であり、レギュレータ406
から供給される電源電圧降下信号SEによりウエイト数
設定レジスタ416が保持する設定ウエイト数の全mビ
ットもしくは設定ウエイト数の最下位ビットを除く(m
−1)ビットと最上位ビット側に0固定の1ビットとを
加えたmビットとを選択して実効ウエイト数Dwを出力
する。ここではm=4とする。
列(ウエイト数可変手段)であり、レギュレータ406
から供給される電源電圧降下信号SEによりウエイト数
設定レジスタ416が保持する設定ウエイト数の全mビ
ットもしくは設定ウエイト数の最下位ビットを除く(m
−1)ビットと最上位ビット側に0固定の1ビットとを
加えたmビットとを選択して実効ウエイト数Dwを出力
する。ここではm=4とする。
【0162】上記の(m−1)の「1」及び加える0固
定の1ビットの「1」は特許請求の範囲における(m−
k)の「k」の一例に相当する。
定の1ビットの「1」は特許請求の範囲における(m−
k)の「k」の一例に相当する。
【0163】図16はレギュレータ406からクロック
制御回路411のウエイト数設定回路414に供給され
る電源電圧降下信号SE、クロック制御回路411から
CPU409及びメモリ制御装置410に供給される内
部クロックCLK、ウエイト数設定レジスタ416に設
定する設定ウエイト数、ウエイト数設定回路414から
ウエイト制御回路415へ供給される実効ウエイト数D
w、CPU409からウエイト制御回路415へ供給さ
れるメモリアクセス要求信号S1、ウエイト制御回路4
15からCPU409へ供給されるメモリアクセス許可
信号S2を示すタイミングチャートである。
制御回路411のウエイト数設定回路414に供給され
る電源電圧降下信号SE、クロック制御回路411から
CPU409及びメモリ制御装置410に供給される内
部クロックCLK、ウエイト数設定レジスタ416に設
定する設定ウエイト数、ウエイト数設定回路414から
ウエイト制御回路415へ供給される実効ウエイト数D
w、CPU409からウエイト制御回路415へ供給さ
れるメモリアクセス要求信号S1、ウエイト制御回路4
15からCPU409へ供給されるメモリアクセス許可
信号S2を示すタイミングチャートである。
【0164】ここでは、メモリ403は、高動作電圧状
態ではメモリアクセス時間が30nsec以上必要とし、
低動作電圧状態では遷移時間が長くなるためメモリアク
セス時間が50nsec以上必要とするものとする。CP
U409はCPUアドレスバス412及びCPUデータ
バス413を介して、ウエイト数設定回路414にウエ
イト数“4”を設定する。
態ではメモリアクセス時間が30nsec以上必要とし、
低動作電圧状態では遷移時間が長くなるためメモリアク
セス時間が50nsec以上必要とするものとする。CP
U409はCPUアドレスバス412及びCPUデータ
バス413を介して、ウエイト数設定回路414にウエ
イト数“4”を設定する。
【0165】レギュレータ406は一定しきい値以上の
高動作電圧状態の場合には電源電圧降下信号SEを
“1”とし、一定しきい値未満の低動作電圧状態の場合
には電源電圧降下信号SEを“0”としてウエイト数設
定回路414に供給する。
高動作電圧状態の場合には電源電圧降下信号SEを
“1”とし、一定しきい値未満の低動作電圧状態の場合
には電源電圧降下信号SEを“0”としてウエイト数設
定回路414に供給する。
【0166】外部クロックは100MHzとし、内部ク
ロックCLKは外部クロックをそのまま100MHz一
定で出力する。クロック選択信号S0は用いない。
ロックCLKは外部クロックをそのまま100MHz一
定で出力する。クロック選択信号S0は用いない。
【0167】以下では、時刻T0から時刻T1までの第
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
1フェーズ及び時刻T1から時刻T2までの第2フェー
ズの動作を説明する。
【0168】第1フェーズにおいて、レギュレータ40
6は高動作電圧状態であるので電源電圧降下信号SEと
して“1”を出力する。セレクタ列417は電源電圧降
下信号SEが“1”であるので、ウエイト数設定レジス
タ416の最下位ビットを除く上位3ビットと最上位ビ
ットに0固定の1ビットを加えた4ビットを選択して実
効ウエイト数Dwの“2”をウエイト制御回路415へ
出力する。
6は高動作電圧状態であるので電源電圧降下信号SEと
して“1”を出力する。セレクタ列417は電源電圧降
下信号SEが“1”であるので、ウエイト数設定レジス
タ416の最下位ビットを除く上位3ビットと最上位ビ
ットに0固定の1ビットを加えた4ビットを選択して実
効ウエイト数Dwの“2”をウエイト制御回路415へ
出力する。
【0169】設定ウエイト数の“4”すなわち2進数表
記の(0100)の最下位ビットを除く上位3ビットは
(010)であり、この(010)に対して最上位ビッ
トに0固定の1ビットを加えた4ビットは(0010)
となり、これは“2”である。すなわち、実効ウエイト
数Dwは“2”となる。
記の(0100)の最下位ビットを除く上位3ビットは
(010)であり、この(010)に対して最上位ビッ
トに0固定の1ビットを加えた4ビットは(0010)
となり、これは“2”である。すなわち、実効ウエイト
数Dwは“2”となる。
【0170】ウエイト制御回路415は、CPU409
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路414が出力する実効ウエイト数Dwの
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU409へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は30nsecとなる。10*(2+1)=30
nsecである。
からメモリアクセス要求信号S1を受けると、ウエイト
数設定回路414が出力する実効ウエイト数Dwの
“2”に対応して2サイクルウエイトし、ウエイト後、
CPU409へメモリアクセス許可信号S2を出力す
る。メモリアクセス要求信号S1の立ち上がりからメモ
リアクセス許可信号S2の立ち上がりまでのメモリアク
セス時間は30nsecとなる。10*(2+1)=30
nsecである。
【0171】第2フェーズにおいて、レギュレータ40
6は低動作電圧状態であるので、電源電圧降下信号SE
として“0”を出力する。セレクタ列417は電源電圧
降下信号SEが“0”であるのでウエイト数設定レジス
タ416の全4ビットを選択して実効ウエイト数Dwの
“4”をウエイト制御回路415へ出力する。ウエイト
制御回路415は、CPU409からメモリアクセス要
求信号S1を受けると、ウエイト数設定回路414が出
力する実効ウエイト数Dwの“4”に対応して4サイク
ルウエイトし、ウエイト後、CPU409へメモリアク
セス許可信号S2を出力する。メモリアクセス要求信号
S1の立ち上がりからメモリアクセス許可信号S2の立
ち上がりまでのメモリアクセス時間は50nsecとな
る。10*(4+1)=50nsecである。
6は低動作電圧状態であるので、電源電圧降下信号SE
として“0”を出力する。セレクタ列417は電源電圧
降下信号SEが“0”であるのでウエイト数設定レジス
タ416の全4ビットを選択して実効ウエイト数Dwの
“4”をウエイト制御回路415へ出力する。ウエイト
制御回路415は、CPU409からメモリアクセス要
求信号S1を受けると、ウエイト数設定回路414が出
力する実効ウエイト数Dwの“4”に対応して4サイク
ルウエイトし、ウエイト後、CPU409へメモリアク
セス許可信号S2を出力する。メモリアクセス要求信号
S1の立ち上がりからメモリアクセス許可信号S2の立
ち上がりまでのメモリアクセス時間は50nsecとな
る。10*(4+1)=50nsecである。
【0172】なお、ここでは外部クロック及びメモリア
クセス時間、ウエイト数設定回路414への設定ウエイ
ト数を指定して説明したが、それぞれ任意の値でも動作
させることができる。また、電源電圧降下信号SEをマ
イコン402の外部から制御する場合は、その電源電圧
降下信号SEを直接、ウエイト数設定回路414に入力
することで実現可能である。
クセス時間、ウエイト数設定回路414への設定ウエイ
ト数を指定して説明したが、それぞれ任意の値でも動作
させることができる。また、電源電圧降下信号SEをマ
イコン402の外部から制御する場合は、その電源電圧
降下信号SEを直接、ウエイト数設定回路414に入力
することで実現可能である。
【0173】また、上記ではクロック選択信号S0に代
えてレギュレータ406から供給される電源電圧降下信
号SEを用いているが、クロック選択信号S0と電源電
圧降下信号SEの両方を用いることも可能であり、その
場合は、電源電圧降下信号SEとクロック選択信号S0
とを論理和回路に入力して出力された信号をウエイト数
設定回路414に入力して最適なウエイト時間での動作
をさせることが可能である。
えてレギュレータ406から供給される電源電圧降下信
号SEを用いているが、クロック選択信号S0と電源電
圧降下信号SEの両方を用いることも可能であり、その
場合は、電源電圧降下信号SEとクロック選択信号S0
とを論理和回路に入力して出力された信号をウエイト数
設定回路414に入力して最適なウエイト時間での動作
をさせることが可能である。
【0174】図17にk=2の場合のウエイト数設定回
路414の構成を示す。0固定である接地レベルに接続
されたセレクタが最上位側に2つ設けられている。
路414の構成を示す。0固定である接地レベルに接続
されたセレクタが最上位側に2つ設けられている。
【0175】このように、クロック選択信号S0をクロ
ック制御回路に入力してクロック周波数を変化させる場
合だけでなく、レギュレータ406からの電源電圧降下
信号SEをウエイト数設定回路414に入力した場合で
も、プログラムでCPU409からCPUアドレスバス
412及びCPUデータバス413を介してウエイト数
設定回路414にウエイト数を再設定することなく、自
動的に低速動作での内部クロックCLKにおけるメモリ
403が必要とするメモリアクセス時間に対応した必要
最低限の実効ウエイト数DwでCPU409とメモリ4
03のアクセスを可能とする。
ック制御回路に入力してクロック周波数を変化させる場
合だけでなく、レギュレータ406からの電源電圧降下
信号SEをウエイト数設定回路414に入力した場合で
も、プログラムでCPU409からCPUアドレスバス
412及びCPUデータバス413を介してウエイト数
設定回路414にウエイト数を再設定することなく、自
動的に低速動作での内部クロックCLKにおけるメモリ
403が必要とするメモリアクセス時間に対応した必要
最低限の実効ウエイト数DwでCPU409とメモリ4
03のアクセスを可能とする。
【0176】
【発明の効果】以上のように第1の解決手段としての本
発明によれば、メモリ制御装置は、内部クロックが低速
動作の場合でも低速動作での内部クロックにおけるメモ
リが必要とするメモリアクセス時間に対して最適化した
必要最低限の実効ウエイト数でのアクセスを可能とし、
かつプログラムによりウエイト数を再設定することなく
常に自動的に低速動作での内部クロックにおけるメモリ
が必要とするメモリアクセス時間に対応した必要最低限
の実効ウエイト数でCPUとメモリのアクセスが可能と
なる。
発明によれば、メモリ制御装置は、内部クロックが低速
動作の場合でも低速動作での内部クロックにおけるメモ
リが必要とするメモリアクセス時間に対して最適化した
必要最低限の実効ウエイト数でのアクセスを可能とし、
かつプログラムによりウエイト数を再設定することなく
常に自動的に低速動作での内部クロックにおけるメモリ
が必要とするメモリアクセス時間に対応した必要最低限
の実効ウエイト数でCPUとメモリのアクセスが可能と
なる。
【0177】また、第2の解決手段としての本発明によ
れば、メモリ制御装置は、内部クロックが低速動作の場
合でも低速動作での内部クロックにおけるメモリが必要
とするメモリアクセス時間に対して最適化した必要最低
限の実効ウエイト数でのアクセスを可能とし、かつプロ
グラムによりウエイト数を再設定することなく常に自動
的に低速動作での内部クロックにおけるメモリが必要と
するメモリアクセス時間に対応した必要最低限の実効ウ
エイト数でCPUとメモリのアクセスが可能となる。
れば、メモリ制御装置は、内部クロックが低速動作の場
合でも低速動作での内部クロックにおけるメモリが必要
とするメモリアクセス時間に対して最適化した必要最低
限の実効ウエイト数でのアクセスを可能とし、かつプロ
グラムによりウエイト数を再設定することなく常に自動
的に低速動作での内部クロックにおけるメモリが必要と
するメモリアクセス時間に対応した必要最低限の実効ウ
エイト数でCPUとメモリのアクセスが可能となる。
【0178】また、第3の解決手段としての本発明によ
れば、メモリ制御装置は、内部クロックが任意倍率で変
化した場合でも、プログラムによりウエイト数を再設定
することなく常に自動的に低速動作での内部クロックに
おけるメモリが必要とするメモリアクセス時間に対応し
た必要最低限の実効ウエイト数でCPUとメモリのアク
セスが可能となる。
れば、メモリ制御装置は、内部クロックが任意倍率で変
化した場合でも、プログラムによりウエイト数を再設定
することなく常に自動的に低速動作での内部クロックに
おけるメモリが必要とするメモリアクセス時間に対応し
た必要最低限の実効ウエイト数でCPUとメモリのアク
セスが可能となる。
【0179】また、第4の解決手段としての本発明によ
れば、メモリ制御装置は、クロック制御手段から出力さ
れる内部クロックをCPUに供給されるCPU内部クロ
ックとメモリ制御装置に供給されるメモリ制御装置内部
クロックとの2種類に分けてメモリ制御装置内部クロッ
クを一定にすることによりクロックの周波数が変化して
もメモリ制御装置にクロック選択信号を入力することな
く、かつプログラムでウエイト数を設定することなく、
常に自動的にメモリが必要とする最低限のメモリアクセ
ス時間でCPUとメモリとのアクセスが可能となる。
れば、メモリ制御装置は、クロック制御手段から出力さ
れる内部クロックをCPUに供給されるCPU内部クロ
ックとメモリ制御装置に供給されるメモリ制御装置内部
クロックとの2種類に分けてメモリ制御装置内部クロッ
クを一定にすることによりクロックの周波数が変化して
もメモリ制御装置にクロック選択信号を入力することな
く、かつプログラムでウエイト数を設定することなく、
常に自動的にメモリが必要とする最低限のメモリアクセ
ス時間でCPUとメモリとのアクセスが可能となる。
【0180】また、第5の解決手段としての本発明によ
れば、メモリ制御装置はクロック選択信号をクロック制
御手段に入力してクロック周波数の変化させた場合だけ
でなく、レギュレータからの電源電圧降下信号をクロッ
ク制御手段に入力した場合でもプログラムでCPUから
CPUアドレスバス及びCPUデータバスを介してウエ
イト数設定手段にウエイト数を再設定することなく、自
動的に低速動作での内部クロックにおけるメモリが必要
とするメモリアクセス時間に対応した必要最低限の実効
ウエイト数でCPUとメモリのアクセスを可能とする。
れば、メモリ制御装置はクロック選択信号をクロック制
御手段に入力してクロック周波数の変化させた場合だけ
でなく、レギュレータからの電源電圧降下信号をクロッ
ク制御手段に入力した場合でもプログラムでCPUから
CPUアドレスバス及びCPUデータバスを介してウエ
イト数設定手段にウエイト数を再設定することなく、自
動的に低速動作での内部クロックにおけるメモリが必要
とするメモリアクセス時間に対応した必要最低限の実効
ウエイト数でCPUとメモリのアクセスを可能とする。
【図1】 本発明の第一及び第二の実施の形態における
メモリ制御装置を備えたLSIの構成を示すブロック図
メモリ制御装置を備えたLSIの構成を示すブロック図
【図2】 第一の実施の形態のメモリ制御装置における
ウエイト数設定回路の構成を示すブロック図
ウエイト数設定回路の構成を示すブロック図
【図3】 第一の実施の形態のメモリ制御装置の動作を
説明するタイミングチャート
説明するタイミングチャート
【図4】 第一の実施の形態の変形におけるウエイト数
設定回路の構成を示すブロック図
設定回路の構成を示すブロック図
【図5】 本発明の第二の実施の形態のメモリ制御装置
におけるウエイト数設定回路の構成を示すブロック図
におけるウエイト数設定回路の構成を示すブロック図
【図6】 第二の実施の形態のメモリ制御装置の動作を
説明するタイミングチャート
説明するタイミングチャート
【図7】 第二の実施の形態の変形におけるウエイト数
設定回路の構成を示すブロック図
設定回路の構成を示すブロック図
【図8】 本発明の第三の実施の形態におけるメモリ制
御装置を備えたLSIの構成を示すブロック図
御装置を備えたLSIの構成を示すブロック図
【図9】 第三の実施の形態のメモリ制御装置における
ウエイト数設定回路の構成を示すブロック図
ウエイト数設定回路の構成を示すブロック図
【図10】 第三の実施の形態のメモリ制御装置の動作
を説明するタイミングチャート
を説明するタイミングチャート
【図11】 本発明の第四の実施の形態におけるメモリ
制御装置を備えたLSIの構成を示すブロック図
制御装置を備えたLSIの構成を示すブロック図
【図12】 第四の実施の形態のメモリ制御装置におけ
るクロック制御回路の構成を示すブロック図
るクロック制御回路の構成を示すブロック図
【図13】 第四の実施の形態のメモリ制御装置の動作
を説明するタイミングチャート
を説明するタイミングチャート
【図14】 本発明の第五の実施の形態におけるメモリ
制御装置を備えたLSIの構成を示すブロック図
制御装置を備えたLSIの構成を示すブロック図
【図15】 第五の実施の形態のメモリ制御装置におけ
るウエイト数設定回路の構成を示すブロック図
るウエイト数設定回路の構成を示すブロック図
【図16】 第五の実施の形態のメモリ制御装置の動作
を説明するタイミングチャート
を説明するタイミングチャート
【図17】 第五の実施の形態の変形におけるウエイト
数設定回路の構成を示すブロック図
数設定回路の構成を示すブロック図
【図18】 従来のLSIの構成を示すブロック図
【図19】 従来のウエイト数設定回路の構成を示すブ
ロック図
ロック図
【図20】 従来のメモリ制御装置の動作を説明するタ
イミングチャート
イミングチャート
【符号の説明】
101,201,301,401 LSI
102,202,302,402 マイコン
103,203,303,403 メモリ
104,204,304,404 クロック入力端子
105,205,305,405 クロック出力端子
106,206,306 クロック選択信号端子
107,207,307,407 メモリアドレスバス
108,208,308,408 メモリデータバス
109,209,309,409 CPU
110,210,310,410 メモリ制御装置
111,211,311,411 クロック制御回路
112,212,312,412 CPUアドレスバス
113,213,313,413 CPUデータバス
114,214,314,414 ウエイト数設定回路
115,215,315,415 ウエイト制御回路
116,118,216,416 ウエイト数設定レジ
スタ 117,119,217,417 セレクタ列 218 第一ウエイト数設定レジスタ 219 第二ウエイト数設定レジスタ 220 第三ウエイト数設定レジスタ 221,317 セレクタ 316 フリップフロップ 406 レギュレータ 418 電源入力端子 419 レギュレータ出力端子 420 レギュレータ入力端子
スタ 117,119,217,417 セレクタ列 218 第一ウエイト数設定レジスタ 219 第二ウエイト数設定レジスタ 220 第三ウエイト数設定レジスタ 221,317 セレクタ 316 フリップフロップ 406 レギュレータ 418 電源入力端子 419 レギュレータ出力端子 420 レギュレータ入力端子
─────────────────────────────────────────────────────
フロントページの続き
(51)Int.Cl.7 識別記号 FI テーマコート゛(参考)
G06F 15/78 G06F 15/78 510P
(72)発明者 三宅 二郎
大阪府門真市大字門真1006番地 松下電器
産業株式会社内
Fターム(参考) 5B033 BC02 BC04 BC06
5B060 CC02 CC03
5B062 AA05 CC01 DD02 DD10 HH02
HH06
Claims (15)
- 【請求項1】 CPUがメモリとのアクセスを行う場合
に必要なウエイト数を設定しLSIの動作クロックの周
波数変化に対応して最適のメモリアクセス時間となるよ
うウエイト数を変化させるウエイト数設定手段と、 前記CPUからメモリアクセス要求信号が来た場合に前
記ウエイト数に従ってウエイトし、ウエイト後、前記C
PUにメモリアクセス許可信号を出力するウエイト制御
手段とを備えたメモリ制御装置。 - 【請求項2】 命令を実行するCPUと、 データを格納するメモリと、 LSIの動作クロックが高速である場合か低速である場
合か少なくとも2種類以上の周波数を選択するクロック
選択手段と、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を前記CPUによって設定するウエイト数
設定手段と、 前記CPUからメモリアクセス要求信号が来た場合に前
記設定ウエイト数に従ってウエイトし、ウエイト後、前
記CPUにメモリアクセス許可信号を出力するウエイト
制御手段とを備え、 前記ウエイト数設定手段は、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を設定するウエイト数設定レジスタと、 前記クロック選択手段が低速動作を示す場合には前記ウ
エイト数設定レジスタに設定されている設定ウエイト数
を減少させて出力するウエイト数可変手段とを備えてい
ることを特徴とするメモリ制御装置。 - 【請求項3】 ウエイト数可変手段は、前記動作クロッ
クを高速にした場合に前記ウエイト数設定レジスタに設
定されているmビットの設定ウエイト数の全mビットを
選択して出力することを特徴とする請求項2に記載のメ
モリ制御装置。 - 【請求項4】 前記ウエイト数可変手段は、前記動作ク
ロックを低速にした場合に前記ウエイト数設定レジスタ
に設定されているmビットの設定ウエイト数の最下位k
ビットを除く(m−k)ビットの最上位側に0をkビット
加えたmビットを選択して出力することを特徴とする請
求項2に記載のメモリ制御装置。 - 【請求項5】 命令を実行するCPUと、 データを格納するメモリと、 LSIの動作クロックが高速である場合か低速である場
合か少なくとも2種類以上の周波数を選択するクロック
選択手段と、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を前記CPUによって設定するウエイト数
設定手段と、 前記CPUからメモリアクセス要求信号が来た場合に前
記設定ウエイト数に従ってウエイトし、ウエイト後、前
記CPUにメモリアクセス許可信号を出力するウエイト
制御手段とを備え、 前記ウエイト数設定手段は、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を設定するウエイト数設定レジスタと、 前記クロック選択手段が高速動作を示す場合には前記ウ
エイト数設定レジスタに設定されている設定ウエイト数
を増加させて出力するウエイト数可変手段とを備えてい
ることを特徴とするメモリ制御装置。 - 【請求項6】 前記ウエイト数可変手段は、前記動作ク
ロックを高速にした場合に前記ウエイト数設定レジスタ
に設定されているmビットの設定ウエイト数の最上位k
ビットを除く(m−k)ビットの最下位側に1をkビット
加えたmビットを選択して出力することを特徴とする請
求項5に記載のメモリ制御装置。 - 【請求項7】 前記ウエイト数可変手段は、前記動作ク
ロックを低速にした場合に前記ウエイト数設定レジスタ
に設定されているmビットの設定ウエイト数の全mビッ
トを選択して出力することを特徴とする請求項5に記載
のメモリ制御装置。 - 【請求項8】 命令を実行するCPUと、 データを格納するメモリと、 LSIの動作クロックが高速である場合か低速である場
合か少なくとも2種類以上の周波数を選択するクロック
選択手段と、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を前記CPUによって設定するウエイト数
設定手段と、 前記CPUからメモリアクセス要求信号が来た場合に前
記設定ウエイト数に従ってウエイトし、ウエイト後、前
記CPUにメモリアクセス許可信号を出力するウエイト
制御手段とを備え、 前記ウエイト数設定手段は、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を設定する複数のウエイト数設定レジスタ
と、 前記クロック選択手段が示す各動作クロックに対応して
前記複数のウエイト数設定レジスタのうちから1つを選
択する選択手段とを備えていることを特徴とするメモリ
制御装置。 - 【請求項9】 前記選択手段は、前記動作クロックをn
通り(nは2以上の自然数)に変化させた場合にn個の前
記ウエイト数設定レジスタのうちから動作クロックに対
応する1つのウエイト数設定レジスタを選択し、その選
択したウエイト数設定レジスタの設定ウエイト数の全m
ビットを出力することを特徴とする請求項8に記載のメ
モリ制御装置。 - 【請求項10】 命令を実行するCPUと、 データを格納するメモリと、 LSIの動作クロックが高速である場合か低速である場
合か少なくとも2種類以上の周波数を選択するクロック
選択手段と、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を前記CPUによって設定するウエイト数
設定手段と、 前記CPUからメモリアクセス要求信号が来た場合に前
記設定ウエイト数に従ってウエイトし、ウエイト後、前
記CPUにメモリアクセス許可信号を出力するウエイト
制御手段と、 外部から入力したクロックを制御して前記CPUと前記
ウエイト制御手段とにクロックを供給するクロック制御
手段とを備え、 前記クロック制御手段は、 入力クロックを少なくとも1種類以上分周しその分周し
たクロックを前記ウエイト制御手段に出力する分周手段
と、 前記LSIの動作クロックに応じて前記入力クロックか
前記分周手段による1種類以上の分周したクロックかを
選択して前記CPUに出力する選択手段とを備えている
ことを特徴とするメモリ制御装置。 - 【請求項11】 前記選択手段は、前記動作クロックを
高速にした場合に前記CPUへは入力クロックを選択し
て供給することを特徴とする請求項10に記載のメモリ
制御装置。 - 【請求項12】 前記選択手段は、前記動作クロックを
低速にした場合に前記CPUへは前記分周手段により分
周したクロックを選択して供給することを特徴とする請
求項10に記載のメモリ制御装置。 - 【請求項13】 命令を実行するCPUと、 データを格納するメモリと、 前記CPUによる設定でLSIの電源電圧が高電圧であ
る場合か低電圧である場合か少なくとも2種類以上の電
圧を制御し電源電圧降下信号を出力するレギュレータ
と、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を前記CPUによって設定するウエイト数
設定手段と、 前記CPUからメモリアクセス要求信号が来た場合に前
記設定ウエイト数に従ってウエイトし、ウエイト後、前
記CPUにメモリアクセス許可信号を出力するウエイト
制御手段とを備え、 前記ウエイト数設定手段は、 前記CPUが前記メモリとのアクセスを行う場合に必要
なウエイト数を設定するウエイト数設定レジスタと、 前記レギュレータが高電圧を示す場合には前記ウエイト
数設定レジスタに設定されている設定ウエイト数を増加
させて出力するウエイト数可変手段とを備えていること
を特徴とするメモリ制御装置。 - 【請求項14】 前記ウエイト数可変手段は、前記電源
電圧を高電圧にした場合に前記ウエイト数設定レジスタ
に設定されているmビットの設定ウエイト数の最上位k
ビットを除く(m−k)ビットの最下位側に1をkビット
加えたmビットを選択して出力することを特徴とする請
求項13に記載のメモリ制御装置。 - 【請求項15】 前記ウエイト数可変手段は、前記電源
電圧を低電圧にした場合に前記ウエイト数設定レジスタ
に設定されているmビットの設定ウエイト数の全mビッ
トを選択して出力することを特徴とする請求項13に記
載のメモリ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001393804A JP2003196149A (ja) | 2001-12-26 | 2001-12-26 | メモリ制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001393804A JP2003196149A (ja) | 2001-12-26 | 2001-12-26 | メモリ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003196149A true JP2003196149A (ja) | 2003-07-11 |
Family
ID=27600702
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001393804A Pending JP2003196149A (ja) | 2001-12-26 | 2001-12-26 | メモリ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003196149A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005234737A (ja) * | 2004-02-18 | 2005-09-02 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
| JP2008140062A (ja) * | 2006-11-30 | 2008-06-19 | Toshiba Corp | コントローラ、情報処理装置、および供給電圧制御方法 |
| JP2009037608A (ja) * | 2007-07-11 | 2009-02-19 | Internatl Business Mach Corp <Ibm> | 拡張命令スループットに関する適応的実行サイクル制御のための方法、システム、およびプロセッサ |
| US20090276650A1 (en) * | 2008-05-02 | 2009-11-05 | Canon Kabushiki Kaisha | Information processing apparatus and method for controlling information processing apparatus |
| JP2009540432A (ja) * | 2006-06-09 | 2009-11-19 | マイクロン テクノロジー, インク. | メモリデバイスの動作管理をするための方法及び装置 |
| US8612786B1 (en) * | 2010-09-24 | 2013-12-17 | Amazon Technologies, Inc. | Deep idle mode |
| JP2015201186A (ja) * | 2014-04-04 | 2015-11-12 | 三星電子株式会社Samsung Electronics Co.,Ltd. | タイミングマージンを適応的に補正するメモリ装置およびそれを含む集積回路 |
-
2001
- 2001-12-26 JP JP2001393804A patent/JP2003196149A/ja active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005234737A (ja) * | 2004-02-18 | 2005-09-02 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
| JP2009540432A (ja) * | 2006-06-09 | 2009-11-19 | マイクロン テクノロジー, インク. | メモリデバイスの動作管理をするための方法及び装置 |
| US8248881B2 (en) | 2006-06-09 | 2012-08-21 | Micron Technology, Inc. | Method and apparatus for managing behavior of memory devices |
| US8432765B2 (en) | 2006-06-09 | 2013-04-30 | Micron Technology, Inc. | Method and apparatus for managing behavior of memory devices |
| JP2008140062A (ja) * | 2006-11-30 | 2008-06-19 | Toshiba Corp | コントローラ、情報処理装置、および供給電圧制御方法 |
| JP2009037608A (ja) * | 2007-07-11 | 2009-02-19 | Internatl Business Mach Corp <Ibm> | 拡張命令スループットに関する適応的実行サイクル制御のための方法、システム、およびプロセッサ |
| US20090276650A1 (en) * | 2008-05-02 | 2009-11-05 | Canon Kabushiki Kaisha | Information processing apparatus and method for controlling information processing apparatus |
| US8176346B2 (en) * | 2008-05-02 | 2012-05-08 | Canon Kabushiki Kaisha | Information processing apparatus with power saving mode and method for controlling information processing apparatus |
| US8612786B1 (en) * | 2010-09-24 | 2013-12-17 | Amazon Technologies, Inc. | Deep idle mode |
| JP2015201186A (ja) * | 2014-04-04 | 2015-11-12 | 三星電子株式会社Samsung Electronics Co.,Ltd. | タイミングマージンを適応的に補正するメモリ装置およびそれを含む集積回路 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3505018B2 (ja) | 半導体集積回路 | |
| US6434735B1 (en) | Method for programming an FPGA and implementing an FPGA interconnect | |
| JP4485272B2 (ja) | 半導体装置 | |
| US7290158B2 (en) | Method of controlling data transfer within a semiconductor integrated circuit based on a clock sync control signal | |
| JP2762138B2 (ja) | メモリコントロールユニット | |
| JP2007128633A (ja) | 半導体記憶装置及びこれを備えた送受信システム | |
| JP4861030B2 (ja) | 半導体装置 | |
| JP2008537268A (ja) | 可変精度相互接続を具えたデータ処理エレメントの配列 | |
| JP2003196149A (ja) | メモリ制御装置 | |
| JPS61194557A (ja) | 制御用lsi | |
| JP2012014497A (ja) | クロック分周回路 | |
| CN117280298A (zh) | 一种寄存器阵列电路和访问寄存器阵列的方法 | |
| US7073003B2 (en) | Programmable fixed priority and round robin arbiter for providing high-speed arbitration and bus control method therein | |
| JP3651588B2 (ja) | 区分化同期インタフェース用調整可能クロックを備えたデータ処理システム | |
| CN101313290B (zh) | 对仅m×n位外围设备执行n位写入访问的系统和方法 | |
| US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
| JP3096576B2 (ja) | メモリ制御回路とその回路を内蔵した集積回路素子 | |
| US7365566B2 (en) | Programmable logic circuit | |
| US7742469B2 (en) | Data input circuit and semiconductor device utilizing data input circuit | |
| JP4838458B2 (ja) | 半導体装置 | |
| JPH10301660A (ja) | マイクロプロセッサ | |
| US8164973B2 (en) | Storage apparatus and method of controlling storage apparatus | |
| KR20010039543A (ko) | 데이터 전송회로 | |
| JP2002236606A (ja) | メモリ制御回路 | |
| JP2001229076A (ja) | 半導体装置、半導体装置の設計方法及び半導体装置の動作方法。 |