JPH04247541A - 電子機器 - Google Patents
電子機器Info
- Publication number
- JPH04247541A JPH04247541A JP3013396A JP1339691A JPH04247541A JP H04247541 A JPH04247541 A JP H04247541A JP 3013396 A JP3013396 A JP 3013396A JP 1339691 A JP1339691 A JP 1339691A JP H04247541 A JPH04247541 A JP H04247541A
- Authority
- JP
- Japan
- Prior art keywords
- address
- rom
- data
- cpu
- storage means
- 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
Landscapes
- Memory System (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、ROMなどのメモリを
有する電子機器に関するものである。
有する電子機器に関するものである。
【0002】
【従来の技術】従来、日本語ワードプロセッサなどの大
容量のプログラム及びデータを必要とする電子機器にお
いては、そのプログラム及びデータをROMに格納して
おき、CPUは、このROMより処理プログラム及デー
タを読み取って処理を実行する方法が取られている。
容量のプログラム及びデータを必要とする電子機器にお
いては、そのプログラム及びデータをROMに格納して
おき、CPUは、このROMより処理プログラム及デー
タを読み取って処理を実行する方法が取られている。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来の電子機器においては、処理内容が高度かつ複雑にな
るに従い、高速処理の可能なCPUを使用したいという
要求がある。また、複雑な処理内容に対しては、処理プ
ログラム及びデータが増大するため、より高容量のRO
Mを必要とするようになる。
来の電子機器においては、処理内容が高度かつ複雑にな
るに従い、高速処理の可能なCPUを使用したいという
要求がある。また、複雑な処理内容に対しては、処理プ
ログラム及びデータが増大するため、より高容量のRO
Mを必要とするようになる。
【0004】ところが、一般に、高容量のROMはアク
セスタイムが遅く、高速のCPUの要求するアクセスス
ピードに対応できない。このため、CPUを高速化して
も、あまり高速処理が実現できないという問題があった
。
セスタイムが遅く、高速のCPUの要求するアクセスス
ピードに対応できない。このため、CPUを高速化して
も、あまり高速処理が実現できないという問題があった
。
【0005】また、上記問題を解決するには、ROMを
高速アクセス可能なものにすることが考えられるが、ア
クセススピードの速いROMは高価であり、システムの
コストが上昇するという問題がある。
高速アクセス可能なものにすることが考えられるが、ア
クセススピードの速いROMは高価であり、システムの
コストが上昇するという問題がある。
【0006】
【課題を解決するための手段】上記課題を解決するため
に、本発明電子機器は、第1の記憶手段と、第2の記前
記記憶手段に対する次の読み出しアドレスを予測生成す
るアドレス生成手段と、前記記憶手段に対する読み取り
指示の終了を検知する検知手段と、前記検知手段による
検知結果に基づいて、前記アドレス生成手段により生成
されたアドレスに基づき前記記憶手段に対する読み取り
動作を開始するように制御する制御手段とを具える。
に、本発明電子機器は、第1の記憶手段と、第2の記前
記記憶手段に対する次の読み出しアドレスを予測生成す
るアドレス生成手段と、前記記憶手段に対する読み取り
指示の終了を検知する検知手段と、前記検知手段による
検知結果に基づいて、前記アドレス生成手段により生成
されたアドレスに基づき前記記憶手段に対する読み取り
動作を開始するように制御する制御手段とを具える。
【0007】また、本発明電子機器の他の形態は、第1
の記憶手段と、第2の記憶手段と、前記第1の記憶手段
に対する次の読み出しアドレスを予測生成するアドレス
生成手段と、前記第2の記憶手段に対する読み取り動作
の開始を検知する検知手段と、前記検知手段による検知
結果に基づいて、前記アドレス生成手段により生成され
たアドレスに基づき前記第1の記憶手段に対する読み取
り動作を開始するように制御する制御手段とを具える。
の記憶手段と、第2の記憶手段と、前記第1の記憶手段
に対する次の読み出しアドレスを予測生成するアドレス
生成手段と、前記第2の記憶手段に対する読み取り動作
の開始を検知する検知手段と、前記検知手段による検知
結果に基づいて、前記アドレス生成手段により生成され
たアドレスに基づき前記第1の記憶手段に対する読み取
り動作を開始するように制御する制御手段とを具える。
【0008】
【実施例】以下、添付図面に従って本発明に係る実施例
を詳細に説明する。
を詳細に説明する。
【0009】図1は、本発明電子機器の1実施例を示す
ブロック構成図である。
ブロック構成図である。
【0010】同図において、1は高速の16ビットデー
タバスのCPUであり、機器全体の制御を行う。
タバスのCPUであり、機器全体の制御を行う。
【0011】2は処理データを格納するためのRAM、
3はプログラムが格納されているプログラムROM、4
はデータが格納されているデータROMであり、5はプ
ログラムROM3をアクセスするためのプログラムRO
Mコントローラ、6はデータROM4をアクセスするた
めのデ−タROMコントローラである。プログラムRO
M3及びデ−タROM4は16ビット、即ち1ワード幅
のデータを出力する。本実施例では、プログラムROM
3は0番地より始まり、データROM4は、20000
0H番地より始まるものとする。
3はプログラムが格納されているプログラムROM、4
はデータが格納されているデータROMであり、5はプ
ログラムROM3をアクセスするためのプログラムRO
Mコントローラ、6はデータROM4をアクセスするた
めのデ−タROMコントローラである。プログラムRO
M3及びデ−タROM4は16ビット、即ち1ワード幅
のデータを出力する。本実施例では、プログラムROM
3は0番地より始まり、データROM4は、20000
0H番地より始まるものとする。
【0012】図2は、データROM4及びデ−タROM
コントローラ6よりなるデータROMブロック内の構成
を表わすブロック構成図である。アドレスバスA1〜A
23、データバスD0〜D15、また、CPUのバスタ
イミングを表わす各種コントロール信号、CPUがアド
レスを出したとき、アクセスされたデバイス(ROMや
RAM、I/O)がデータの用意ができたことを示すレ
ディ信号等によって接続されている。
コントローラ6よりなるデータROMブロック内の構成
を表わすブロック構成図である。アドレスバスA1〜A
23、データバスD0〜D15、また、CPUのバスタ
イミングを表わす各種コントロール信号、CPUがアド
レスを出したとき、アクセスされたデバイス(ROMや
RAM、I/O)がデータの用意ができたことを示すレ
ディ信号等によって接続されている。
【0013】10は、アドレスラッチ12にラッチされ
ている前回のアドレスから、次のアドレスを予測して高
速に生成するための加算回路であり、前回のアドレスの
下位8ビットに対して1を加える。11は、加算回路1
0により生成されたアドレスをROMに印加するか、そ
れともCPUのアドレスをそのまま印加するかを選択す
るためのセレクタ、12はROMに印加するアドレスを
保持するためのアドレスラッチ、13はCPUの出した
アドレスと、現在ROMをアクセスしているアドレスと
を比較し、一致または不一致を出力するコンパレータ、
14はROMの出力データを記憶するためのデータラッ
チ、15はデータラッチ14によりラッチされているデ
ータをCPUのデータバスに乗せるための3ステートバ
スドライバ、16は、データROM4に対するアクセス
のスタート時点でセットされ、データROM4のアクセ
スタイムに達したら反転する機能を有するタイマ、17
は、CPUより各種信号を受けて、各ブロックをコント
ロールするタイミングコントローラである。特に、この
コントローラ17には、CPUからデ−タROM4に対
するアクセスを検知するために、アドレスの上位3ビッ
トA21〜A23が入力されている。データROM4の
アドレスは200000H番地からなので、A21〜A
23のいずれかが1のときが、データROM4に対する
アクセスである。
ている前回のアドレスから、次のアドレスを予測して高
速に生成するための加算回路であり、前回のアドレスの
下位8ビットに対して1を加える。11は、加算回路1
0により生成されたアドレスをROMに印加するか、そ
れともCPUのアドレスをそのまま印加するかを選択す
るためのセレクタ、12はROMに印加するアドレスを
保持するためのアドレスラッチ、13はCPUの出した
アドレスと、現在ROMをアクセスしているアドレスと
を比較し、一致または不一致を出力するコンパレータ、
14はROMの出力データを記憶するためのデータラッ
チ、15はデータラッチ14によりラッチされているデ
ータをCPUのデータバスに乗せるための3ステートバ
スドライバ、16は、データROM4に対するアクセス
のスタート時点でセットされ、データROM4のアクセ
スタイムに達したら反転する機能を有するタイマ、17
は、CPUより各種信号を受けて、各ブロックをコント
ロールするタイミングコントローラである。特に、この
コントローラ17には、CPUからデ−タROM4に対
するアクセスを検知するために、アドレスの上位3ビッ
トA21〜A23が入力されている。データROM4の
アドレスは200000H番地からなので、A21〜A
23のいずれかが1のときが、データROM4に対する
アクセスである。
【0014】次に、図1の構成の機器において、プログ
ラムROM3からインストラクションを読み出しながら
、データROM4より随時データを読み出して、処理を
実行する際の動作の説明を行う。
ラムROM3からインストラクションを読み出しながら
、データROM4より随時データを読み出して、処理を
実行する際の動作の説明を行う。
【0015】かかる動作の場合には、CPUはプログラ
ムROMとデータROMとを交互に読み出す場合が多い
。しかも、データROMに対するアクセスは、連続番地
であることが多い。
ムROMとデータROMとを交互に読み出す場合が多い
。しかも、データROMに対するアクセスは、連続番地
であることが多い。
【0016】そこで、本実施例では、CPUによるプロ
グラムROM3に対する読み出し動作中に、データRO
M4に対して、前回データROM4から読み出されたア
ドレスの次の番地に対する先読みを行う。
グラムROM3に対する読み出し動作中に、データRO
M4に対して、前回データROM4から読み出されたア
ドレスの次の番地に対する先読みを行う。
【0017】以下に、プログラムがデータROMの20
0000H番地をアクセスしたところから、本実施例の
動作を説明する。
0000H番地をアクセスしたところから、本実施例の
動作を説明する。
【0018】図2において、コントローラ17は、CP
Uのアドレス(現在200000H番地を指している)
がデータROM4を指していることを検知すると、SE
L信号を通してセレクタ11にCPUアドレスを出力さ
せる。この動作と並行して、コンパレ−タ13は、CP
UのアドレスA1〜A20と、アドレスラッチ12に記
憶されているラッチアドレスLA1〜LA20とを比較
し、一致/不一致をコントローラ17に知らせる。以下
、不一致の場合の動作を説明する。(一致の場合は後で
述べる。)不一致であれば、コントローラはAL信号を
通してアドレスラッチ12にセレクタ11からの出力信
号SA1〜SA20をラッチさせる。その動作と同時に
、コントローラ17はデータROM4を起動させる信号
CSをアクティブにし、START信号を通してタイマ
16をスタートさせる。タイマ16はデータROM4の
アクセスタイムが経過すると、データROM4の出力デ
ータRD0〜RD15が確定したことをEA信号を通し
てコントローラ17に知らせる。この信号を受けたコン
トローラ17は、DL信号によってデータラッチ14に
データROM4からの出力信号RD0〜RD15をラッ
チさせ、同時にバスドライバ15をOE信号を通して動
作させ、出力信号RD0〜RD15をデータバスに乗せ
る。
Uのアドレス(現在200000H番地を指している)
がデータROM4を指していることを検知すると、SE
L信号を通してセレクタ11にCPUアドレスを出力さ
せる。この動作と並行して、コンパレ−タ13は、CP
UのアドレスA1〜A20と、アドレスラッチ12に記
憶されているラッチアドレスLA1〜LA20とを比較
し、一致/不一致をコントローラ17に知らせる。以下
、不一致の場合の動作を説明する。(一致の場合は後で
述べる。)不一致であれば、コントローラはAL信号を
通してアドレスラッチ12にセレクタ11からの出力信
号SA1〜SA20をラッチさせる。その動作と同時に
、コントローラ17はデータROM4を起動させる信号
CSをアクティブにし、START信号を通してタイマ
16をスタートさせる。タイマ16はデータROM4の
アクセスタイムが経過すると、データROM4の出力デ
ータRD0〜RD15が確定したことをEA信号を通し
てコントローラ17に知らせる。この信号を受けたコン
トローラ17は、DL信号によってデータラッチ14に
データROM4からの出力信号RD0〜RD15をラッ
チさせ、同時にバスドライバ15をOE信号を通して動
作させ、出力信号RD0〜RD15をデータバスに乗せ
る。
【0019】以上によりCPUのデータROM読み出し
要求に応じた処理を終了し、これ以降は予測読みの動作
に入る。このときCPUはプログラムROMの読み出し
動作に入っている。
要求に応じた処理を終了し、これ以降は予測読みの動作
に入る。このときCPUはプログラムROMの読み出し
動作に入っている。
【0020】CPUへデータの出力をし終えると、コン
トローラ17はセレクタ14にSEL信号を通してセレ
クタのもう1つの入力EA1〜EA8、LA9〜LA2
0を選択させる。セレクタ14の出力SA1〜SA20
は、EA1〜EA8、LA9〜LA20と同じになる。 EA1〜EA8の信号は加算回路10によりLA1〜L
A8に1加算されているので、結局SA1〜SA20の
内容は200002Hとなっている。コントローラ17
は、AL信号を通して、このSA1〜SA20をアドレ
スラッチ12にラッチさせ、再びデータROM4のアク
セスを開始する。このROMアクセス動作は前述のCP
Uによる場合の動作と同様である。
トローラ17はセレクタ14にSEL信号を通してセレ
クタのもう1つの入力EA1〜EA8、LA9〜LA2
0を選択させる。セレクタ14の出力SA1〜SA20
は、EA1〜EA8、LA9〜LA20と同じになる。 EA1〜EA8の信号は加算回路10によりLA1〜L
A8に1加算されているので、結局SA1〜SA20の
内容は200002Hとなっている。コントローラ17
は、AL信号を通して、このSA1〜SA20をアドレ
スラッチ12にラッチさせ、再びデータROM4のアク
セスを開始する。このROMアクセス動作は前述のCP
Uによる場合の動作と同様である。
【0021】その後、データROM4からRD0〜RD
15が出力されると、コントローラ17はこのデータを
データラッチ14にラッチさせるが、前述のCPUによ
るアクセスの場合と異なり、バスドライバ15はアクテ
ィブにしない。
15が出力されると、コントローラ17はこのデータを
データラッチ14にラッチさせるが、前述のCPUによ
るアクセスの場合と異なり、バスドライバ15はアクテ
ィブにしない。
【0022】以上の動作を終えるとコントローラ17は
次のCPUによるアクセスを待つ状態に入る。この状態
で次にCPUが200002H番地をアクセスすると、
セレクタ11はCPUのアドレスをそのまま出力する。 この動作と同時にコンパレ−タ13は、CPUのアドレ
スA1〜A20の信号と、アドレスラッチ14にラッチ
されているアドレスとを比較する。この場合、CPUの
アドレスは200002H番地、アドレスラッチ12に
記憶されているアドレスも200002H番地であるの
で、コンパレ−タ13は一致信号を出力する。これを受
けたコントローラ17は、要求されたアドレスと先読み
してあったアドレスが一致しているので新たなROMへ
のアクセスは行わず、データラッチ14にすでに格納し
てあるデータをバスドライバ15を介してデータバスD
0〜D15に乗せ、データをCPUに返す。この場合、
CPUの要求に対して、データROM4へのアクセスは
行わずにデータを返すことができるので、ROMのアク
セスタイムを待たずに済み、CPUを待たせることがな
くなる。
次のCPUによるアクセスを待つ状態に入る。この状態
で次にCPUが200002H番地をアクセスすると、
セレクタ11はCPUのアドレスをそのまま出力する。 この動作と同時にコンパレ−タ13は、CPUのアドレ
スA1〜A20の信号と、アドレスラッチ14にラッチ
されているアドレスとを比較する。この場合、CPUの
アドレスは200002H番地、アドレスラッチ12に
記憶されているアドレスも200002H番地であるの
で、コンパレ−タ13は一致信号を出力する。これを受
けたコントローラ17は、要求されたアドレスと先読み
してあったアドレスが一致しているので新たなROMへ
のアクセスは行わず、データラッチ14にすでに格納し
てあるデータをバスドライバ15を介してデータバスD
0〜D15に乗せ、データをCPUに返す。この場合、
CPUの要求に対して、データROM4へのアクセスは
行わずにデータを返すことができるので、ROMのアク
セスタイムを待たずに済み、CPUを待たせることがな
くなる。
【0023】なお、上記実施例では、先読みのためのア
ドレスを生成するための加算処理をアドレスの下位8ビ
ットに対してだけ行っている。理想的には入力されるア
ドレスの全ビット(LA1〜LA20)を対象に1加算
する処理を行えばよいのだが、ここでは高速に加算を行
うために8ビットに限定している。この限定により次番
地に対するアクセスであるにもかかわらず予測が外れる
場合は、LA1〜LA8がすべて1であった場合にだけ
発生する。例えば、2001FEHの次の番地は200
200Hであるが、本実施例の機器による予測アドレス
は200000Hとなり予測が外れる。しかしこのよう
な場合にだけ予測が外れても、CPUのパフォーマンス
には余り影響しない。
ドレスを生成するための加算処理をアドレスの下位8ビ
ットに対してだけ行っている。理想的には入力されるア
ドレスの全ビット(LA1〜LA20)を対象に1加算
する処理を行えばよいのだが、ここでは高速に加算を行
うために8ビットに限定している。この限定により次番
地に対するアクセスであるにもかかわらず予測が外れる
場合は、LA1〜LA8がすべて1であった場合にだけ
発生する。例えば、2001FEHの次の番地は200
200Hであるが、本実施例の機器による予測アドレス
は200000Hとなり予測が外れる。しかしこのよう
な場合にだけ予測が外れても、CPUのパフォーマンス
には余り影響しない。
【0024】本実施例では、16ビットデータバス、2
4ビットアドレスバスのCPUについて説明したが、デ
ータ、アドレスはこの幅に限定されるものではなく、例
えば、8ビット/32ビットデータバス、8ビット/3
2ビットアドレスバスの各種CPUに対しても有効であ
る。
4ビットアドレスバスのCPUについて説明したが、デ
ータ、アドレスはこの幅に限定されるものではなく、例
えば、8ビット/32ビットデータバス、8ビット/3
2ビットアドレスバスの各種CPUに対しても有効であ
る。
【0025】また、本実施例では、データROMについ
て説明したが、プログラムROMに対しても有効である
。
て説明したが、プログラムROMに対しても有効である
。
【0026】更に、上述したようなROMコントローラ
を複数個持つことにより、より高速化を図ることができ
る。例えば、プログラムROM、キャラクタジェネレー
タROMに、各々上記先読み機能を備えることにより、
より高速なシステムが実現できる。
を複数個持つことにより、より高速化を図ることができ
る。例えば、プログラムROM、キャラクタジェネレー
タROMに、各々上記先読み機能を備えることにより、
より高速なシステムが実現できる。
【0027】また、上記実施例ではROMに関して予測
読みを行ったが、本発明をRAMに対して適用すること
もできる。 (第2実施例)前記実施例では、ROMをデータROM
とプログラムROMとに分けたが、本実施例では、プロ
グラムROMを奇数バイトアドレスのものと偶数バイト
アドレスのものとに分離し、連続する番地に対して順次
読み出しがなされると予測して、2つのROMの一方が
読まれている間に、他方ではその次の番地のデータを先
読みしておく。
読みを行ったが、本発明をRAMに対して適用すること
もできる。 (第2実施例)前記実施例では、ROMをデータROM
とプログラムROMとに分けたが、本実施例では、プロ
グラムROMを奇数バイトアドレスのものと偶数バイト
アドレスのものとに分離し、連続する番地に対して順次
読み出しがなされると予測して、2つのROMの一方が
読まれている間に、他方ではその次の番地のデータを先
読みしておく。
【0028】図3は、本発明電子機器の第2実施例を示
すブロック構成図である。
すブロック構成図である。
【0029】同図において、31は高速の8ビットデー
タバスのCPUであり、機器全体の制御を行う。
タバスのCPUであり、機器全体の制御を行う。
【0030】32は処理データを格納するためのRAM
、33はプログラムが格納されている偶数バイトアドレ
スROM(以下、偶数ROM)、34はプログラムが格
納されている奇数バイトアドレスROM(以下、奇数R
OM)であり、35はそれぞれ偶数ROM33をアクセ
スするための偶数ROMコントローラ、36は奇数RO
M34をアクセスするための奇数ROMコントローラで
ある。偶数ROM33及び奇数ROM34は8ビット即
ち1バイト幅のデータを出力する。
、33はプログラムが格納されている偶数バイトアドレ
スROM(以下、偶数ROM)、34はプログラムが格
納されている奇数バイトアドレスROM(以下、奇数R
OM)であり、35はそれぞれ偶数ROM33をアクセ
スするための偶数ROMコントローラ、36は奇数RO
M34をアクセスするための奇数ROMコントローラで
ある。偶数ROM33及び奇数ROM34は8ビット即
ち1バイト幅のデータを出力する。
【0031】図4は、偶数ROM33、奇数ROM34
のバイトアドレス配置を示すROMブロックの構成図で
ある。
のバイトアドレス配置を示すROMブロックの構成図で
ある。
【0032】同図に示すように、偶数ROM33には0
、2、4、…、7FFC、7FFEの偶数バイトのアド
レスのデータが、奇数ROM34には1、3、5、…、
7FFD、7FFFの奇数バイトのアドレスのデータが
格納されている。したがって、偶数ROM33と奇数R
OM34とを合わせて、215=32768バイトのC
PU空間を占めている。
、2、4、…、7FFC、7FFEの偶数バイトのアド
レスのデータが、奇数ROM34には1、3、5、…、
7FFD、7FFFの奇数バイトのアドレスのデータが
格納されている。したがって、偶数ROM33と奇数R
OM34とを合わせて、215=32768バイトのC
PU空間を占めている。
【0033】図5は、偶数ROMブロックの構成を示す
図である。第1実施例において図2に示したデータRO
Mブロックと類似する構成であるので、相違点を中心に
説明する。
図である。第1実施例において図2に示したデータRO
Mブロックと類似する構成であるので、相違点を中心に
説明する。
【0034】第1実施例では、予測アドレスを、アドレ
スラッチ12にラッチされているCPUによる前回の読
み出しアドレスから求めたが、本実施例では、CPUが
奇数ROM34から読み出しを行っているときに、この
アドレスに1加えた値を偶数ROM33の予測アドレス
とする。このため、加算回路50にはアドレスバスから
現在のCPUアドレスが入力されている。
スラッチ12にラッチされているCPUによる前回の読
み出しアドレスから求めたが、本実施例では、CPUが
奇数ROM34から読み出しを行っているときに、この
アドレスに1加えた値を偶数ROM33の予測アドレス
とする。このため、加算回路50にはアドレスバスから
現在のCPUアドレスが入力されている。
【0035】また、セレクタ51は、CPUからの読み
出しがあったときCPUアドレスを出力し、予測読みの
ときは加算回路により生成された予測アドレスを出力す
る点は同じであるが、本実施例では、予測アドレスの上
位ビットもCPUアドレスであるため、セレクタ51は
下位8ビットのみの選択出力を行う。
出しがあったときCPUアドレスを出力し、予測読みの
ときは加算回路により生成された予測アドレスを出力す
る点は同じであるが、本実施例では、予測アドレスの上
位ビットもCPUアドレスであるため、セレクタ51は
下位8ビットのみの選択出力を行う。
【0036】コンパレ−タ53は、コンパレ−タ13が
ラッチアドレスとCPUアドレスを比較していたのに対
し、ラッチアドレスとセレクタ51の出力アドレスとを
比較する。これにより、CPUからの読み出しがあった
ときはセレクタ51の出力はCPUアドレスであるので
コンパレータ13と同じであるが、予測読みのときはラ
ッチアドレスと予測アドレスを比較することになる。こ
のため、本実施例では、予測読みを行うときに、読もう
とするアドレスが、現在ラッチされているデータのアド
レスと一致すれば、この予測読みを行わず、同じデータ
を再度読むことがなくなる。
ラッチアドレスとCPUアドレスを比較していたのに対
し、ラッチアドレスとセレクタ51の出力アドレスとを
比較する。これにより、CPUからの読み出しがあった
ときはセレクタ51の出力はCPUアドレスであるので
コンパレータ13と同じであるが、予測読みのときはラ
ッチアドレスと予測アドレスを比較することになる。こ
のため、本実施例では、予測読みを行うときに、読もう
とするアドレスが、現在ラッチされているデータのアド
レスと一致すれば、この予測読みを行わず、同じデータ
を再度読むことがなくなる。
【0037】コントローラ57は、奇数ROM34に対
する読み出しから偶数ROM33の予測アドレスを生成
するために、偶数ROM33に対するアクセスばかりで
なく奇数ROM34に対するアクセスの発生をも検知す
る。そのために、アドレスバスのA0とA15とを用い
る。A15が0のとき、プログラムROMに対するアク
セスであり、このとき更に、A0が0の場合が偶数RO
M33に対するアクセスであり、A0が1の場合が奇数
ROM34に対するアクセスである。
する読み出しから偶数ROM33の予測アドレスを生成
するために、偶数ROM33に対するアクセスばかりで
なく奇数ROM34に対するアクセスの発生をも検知す
る。そのために、アドレスバスのA0とA15とを用い
る。A15が0のとき、プログラムROMに対するアク
セスであり、このとき更に、A0が0の場合が偶数RO
M33に対するアクセスであり、A0が1の場合が奇数
ROM34に対するアクセスである。
【0038】偶数ROMに対する予測読みは、奇数RO
Mに対するCPUのアクセスを検知すると開始される。
Mに対するCPUのアクセスを検知すると開始される。
【0039】その他の動作及び各部の機能は第1実施例
と同様である。
と同様である。
【0040】本実施例における予測読みの動作を説明す
る。
る。
【0041】CPUが奇数ROM34の読み出し(1番
地とする)動作に入ると、加算回路50は、A1〜A8
の8ビットに対して高速に1を加算し、出力EA1〜E
A8は、2となる。コントローラ57はアドレス信号に
よりこの読みだし動作の開始を検知して、セレクタ54
にSEL信号を通してセレクタの入力のうちEA1〜E
A8を選択させる。したがってセレクタ14の出力SA
1〜SA8は、EA1〜EA8と同じになる。以上の動
作とともに、コンパレ−タ53は、SA1〜SA8とC
PUのアドレスA9〜A14と、アドレスラッチ52に
記憶されているラッチアドレスLA1〜LA14とを比
較し、一致/不一致をコントローラ57に知らせる。
地とする)動作に入ると、加算回路50は、A1〜A8
の8ビットに対して高速に1を加算し、出力EA1〜E
A8は、2となる。コントローラ57はアドレス信号に
よりこの読みだし動作の開始を検知して、セレクタ54
にSEL信号を通してセレクタの入力のうちEA1〜E
A8を選択させる。したがってセレクタ14の出力SA
1〜SA8は、EA1〜EA8と同じになる。以上の動
作とともに、コンパレ−タ53は、SA1〜SA8とC
PUのアドレスA9〜A14と、アドレスラッチ52に
記憶されているラッチアドレスLA1〜LA14とを比
較し、一致/不一致をコントローラ57に知らせる。
【0042】不一致であれば、コントローラ57はAL
信号を通してアドレスラッチ52にセレクタ11からの
出力信号SA1〜SA8とCPUのアドレスA9〜A1
4とをラッチさせる。その動作と同時に、コントローラ
57は偶数ROM33を起動させる信号CSをアクティ
ブにし、START信号を通してタイマ56をスタート
させる。タイマ56は偶数ROM33のアクセスタイム
が経過すると、偶数ROM33の出力データRD0〜R
D7が確定したことをEA信号を通してコントローラ5
7に知らせる。この信号を受けたコントローラ57は、
DL信号によってデータラッチ54に偶数ROM33か
らの出力信号RD0〜RD7をラッチさせる。このとき
、バスドライバ55はアクティブにしない。
信号を通してアドレスラッチ52にセレクタ11からの
出力信号SA1〜SA8とCPUのアドレスA9〜A1
4とをラッチさせる。その動作と同時に、コントローラ
57は偶数ROM33を起動させる信号CSをアクティ
ブにし、START信号を通してタイマ56をスタート
させる。タイマ56は偶数ROM33のアクセスタイム
が経過すると、偶数ROM33の出力データRD0〜R
D7が確定したことをEA信号を通してコントローラ5
7に知らせる。この信号を受けたコントローラ57は、
DL信号によってデータラッチ54に偶数ROM33か
らの出力信号RD0〜RD7をラッチさせる。このとき
、バスドライバ55はアクティブにしない。
【0043】以上の動作がCPUによる奇数ROM34
に対するアクセスと同時に実行される。
に対するアクセスと同時に実行される。
【0044】この動作を終えるとコントローラ57は次
のCPUによるアクセスを待つ状態に入る。次にこの予
測が当たった場合の動作を説明する。
のCPUによるアクセスを待つ状態に入る。次にこの予
測が当たった場合の動作を説明する。
【0045】この状態で次にCPUが2番地をアクセス
すると、コントローラ57はセレクタ51にCPUのア
ドレスをそのまま出力させる。ここでコンパレ−タ53
は、セレクタの出力SA1〜SA8及びCPUのアドレ
スA9〜A14と、アドレスラッチ52にラッチされて
いるアドレスとを比較する。この場合、共に2番地であ
るので、コンパレ−タ53は一致信号を出力する。これ
を受けたコントローラ57は、要求されたアドレスと先
読みしてあったアドレスが一致しているので新たなRO
Mへのアクセスは行わず、データラッチ54にすでに格
納してあるデータをバスドライバ55を介してデータバ
スD0〜D7に乗せ、データをCPUに返す。この場合
、CPUの要求に対して、偶数ROM33へのアクセス
は行わずにデータを返すことができるので、ROMのア
クセスタイムを待たずに済み、CPUを待たせることが
なくなる。
すると、コントローラ57はセレクタ51にCPUのア
ドレスをそのまま出力させる。ここでコンパレ−タ53
は、セレクタの出力SA1〜SA8及びCPUのアドレ
スA9〜A14と、アドレスラッチ52にラッチされて
いるアドレスとを比較する。この場合、共に2番地であ
るので、コンパレ−タ53は一致信号を出力する。これ
を受けたコントローラ57は、要求されたアドレスと先
読みしてあったアドレスが一致しているので新たなRO
Mへのアクセスは行わず、データラッチ54にすでに格
納してあるデータをバスドライバ55を介してデータバ
スD0〜D7に乗せ、データをCPUに返す。この場合
、CPUの要求に対して、偶数ROM33へのアクセス
は行わずにデータを返すことができるので、ROMのア
クセスタイムを待たずに済み、CPUを待たせることが
なくなる。
【0046】図6は奇数ROMブロックの構成を示す図
である。
である。
【0047】図5の偶数ROMブロックとの相違点は、
この奇数ROMブロックには加算回路及びセレクタがな
いことであり、後は同じである。
この奇数ROMブロックには加算回路及びセレクタがな
いことであり、後は同じである。
【0048】この違いは、前述したように、ある偶数ア
ドレスの次の奇数アドレスは、その最下位ビットだけを
0から1に変えたものであり、他の上位ビットは等しい
ことによる。その結果、奇数ROM34に対する予測ア
ドレスのA1〜A14は、その時点で偶数ROM33に
アクセスしているCPUアドレスに一致する。
ドレスの次の奇数アドレスは、その最下位ビットだけを
0から1に変えたものであり、他の上位ビットは等しい
ことによる。その結果、奇数ROM34に対する予測ア
ドレスのA1〜A14は、その時点で偶数ROM33に
アクセスしているCPUアドレスに一致する。
【0049】これにより、予測アドレスも、CPUから
のアクセス時のアドレスも、アドレスバス上のアドレス
を利用できるので、加算回路による加算処理や、加算し
たものとそうでないものを選択する必要がなくなるので
ある。
のアクセス時のアドレスも、アドレスバス上のアドレス
を利用できるので、加算回路による加算処理や、加算し
たものとそうでないものを選択する必要がなくなるので
ある。
【0050】その他の部分は偶数ROM33と同様なの
で説明を省略する。本実施例では、8ビットデータバス
、16ビットアドレスバスのCPUについて説明したが
、データ、アドレスはこの幅に限定されるものではなく
、例えば、16ビット/32ビットデータバス、16ビ
ット/32ビットアドレスバスの各種CPUに対しても
有効である。例えば、16ビットデータバスの場合は、
偶数ワードブロックと奇数ワードブロックに分けて予測
読みを行えばよい。
で説明を省略する。本実施例では、8ビットデータバス
、16ビットアドレスバスのCPUについて説明したが
、データ、アドレスはこの幅に限定されるものではなく
、例えば、16ビット/32ビットデータバス、16ビ
ット/32ビットアドレスバスの各種CPUに対しても
有効である。例えば、16ビットデータバスの場合は、
偶数ワードブロックと奇数ワードブロックに分けて予測
読みを行えばよい。
【0051】また、上記実施例ではROMに関して予測
読みを行ったが、本発明をRAMに対して適用すること
もできる。
読みを行ったが、本発明をRAMに対して適用すること
もできる。
【0052】
【発明の効果】以上のように本発明によれば、第1のR
OMに対するアクセス中に、第2のROMに対する次の
読み出し番地を予測し、この番地のデータをあらかじめ
読んでおき、第2のROMに対する読み出しの要求があ
ったときに、予測が合っていればこの読んでおいたデー
タを出力することにより、アクセススピードの遅いRO
MのアクセスタイムによるCPUの待ち時間を低減する
ことができる。
OMに対するアクセス中に、第2のROMに対する次の
読み出し番地を予測し、この番地のデータをあらかじめ
読んでおき、第2のROMに対する読み出しの要求があ
ったときに、予測が合っていればこの読んでおいたデー
タを出力することにより、アクセススピードの遅いRO
MのアクセスタイムによるCPUの待ち時間を低減する
ことができる。
【0053】また、これにより、アクセスタイムの遅い
、低価格のROMでも、高速なCPUに対応可能となり
、高速CPUを使用する電子機器のコストを下げること
ができる。
、低価格のROMでも、高速なCPUに対応可能となり
、高速CPUを使用する電子機器のコストを下げること
ができる。
【図1】本発明の一実施例を示すブロック構成図である
。
。
【図2】データROMブロックの構成例を示すブロック
図である。
図である。
【図3】本発明の他の実施例を示すブロック構成図であ
る。
る。
【図4】ROMのアドレス配置を示す図である。
【図5】偶数ROMブロックの構成例を示すブロック図
である。
である。
【図6】奇数ROMブロックの構成例を示すブロック図
である。
である。
1 CPU
2 RAM
3 プログラムROM
4 データROM
5 プログラムROMコントローラ
6 データROMコントローラ
10 加算回路
11 セレクタ
12 アドレスラッチ
13 コンパレ−タ
14 データラッチ
15 バスドライバ
16 タイマ
17 タイミングコントローラ
31 CPU
32 RAM
33 偶数バイトアドレスROM
34 奇数バイトアドレスROM
35 偶数ROMコントローラ
36 奇数ROMコントローラ
50 加算回路
51 セレクタ
52 アドレスラッチ
53 コンパレ−タ
54 データラッチ
55 バスドライバ
56 タイマ
57 タイミングコントローラ
62 アドレスラッチ
63 コンパレ−タ
64 データラッチ
65 バスドライバ
66 タイマ
67 タイミングコントローラ
Claims (6)
- 【請求項1】 情報を記憶する記憶手段と、前記記憶
手段に対する次の読み出しアドレスを予測生成するアド
レス生成手段と、前記記憶手段に対する読み取り指示の
終了を検知する検知手段と、前記検知手段による検知結
果に基づいて、前記アドレス生成手段により生成された
アドレスに基づき前記記憶手段に対する読み取り動作を
開始するように制御する制御手段とを有することを特徴
とする電子機器。 - 【請求項2】 第1の記憶手段と、第2の記憶手段と
、前記第1の記憶手段に対する次の読み出しアドレスを
予測生成するアドレス生成手段と、前記第2の記憶手段
に対する読み取り動作の開始を検知する検知手段と、前
記検知手段による検知結果に基づいて、前記アドレス生
成手段により生成されたアドレスに基づき前記第1の記
憶手段に対する読み取り動作を開始するように制御する
制御手段とを有することを特徴とする電子機器。 - 【請求項3】 前記第2の記憶手段に対する次の読み
出しアドレスを予測生成する第2のアドレス生成手段と
、前記第1の記憶手段に対する読み取り動作の開始を検
知する第2の検知手段と、前記第1の検知手段による検
知結果に基づいて、前記第2の記憶手段の前記第2のア
ドレス生成手段により生成されたアドレスに対する読み
取り動作を開始するように制御する第2の制御手段とを
有することを特徴とする請求項2に記載の電子機器。 - 【請求項4】 前記生成されたアドレスを保持するア
ドレス保持手段と、前記生成されたアドレスに基づき読
み取られたデータを保持するデータ保持手段と、読み取
りを指示されたアドレスと前記アドレス保持手段に保持
されたアドレスとを比較する比較手段と、該比較手段に
よる比較により両者が一致する場合に、前記データ保持
手段により保持されたデータを出力するように制御する
出力制御手段とを有することを特徴とする請求項1また
は2に記載の電子機器。 - 【請求項5】 プログラムを格納する第2の記憶手段
を有し、前記記憶手段に当該プログラムの利用するデー
タを格納することを特徴とする請求項1に記載の電子機
器。 - 【請求項6】 前記第1の記憶手段に対するアドレス
を奇数とし、前記第2の記憶手段のアドレスを偶数とし
たことを特徴とする請求項3に記載の電子機器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3013396A JPH04247541A (ja) | 1991-02-04 | 1991-02-04 | 電子機器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3013396A JPH04247541A (ja) | 1991-02-04 | 1991-02-04 | 電子機器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04247541A true JPH04247541A (ja) | 1992-09-03 |
Family
ID=11831955
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3013396A Pending JPH04247541A (ja) | 1991-02-04 | 1991-02-04 | 電子機器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04247541A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021068072A (ja) * | 2019-10-21 | 2021-04-30 | キオクシア株式会社 | メモリシステム及び制御方法 |
-
1991
- 1991-02-04 JP JP3013396A patent/JPH04247541A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021068072A (ja) * | 2019-10-21 | 2021-04-30 | キオクシア株式会社 | メモリシステム及び制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5450564A (en) | Method and apparatus for cache memory access with separate fetch and store queues | |
| US6772237B2 (en) | Host controller interface descriptor fetching unit | |
| EP0222520A2 (en) | Bus access interface and method for a computer | |
| JPS6338794B2 (ja) | ||
| US4371924A (en) | Computer system apparatus for prefetching data requested by a peripheral device from memory | |
| EP0652514A2 (en) | Data processing apparatus handling plural divided interruption | |
| EP0283891B1 (en) | Cache memory with hit predictive logic | |
| US6085261A (en) | Method and apparatus for burst protocol in a data processing system | |
| JPH04247541A (ja) | 電子機器 | |
| US5887188A (en) | Multiprocessor system providing enhanced efficiency of accessing page mode memory by master processor | |
| EP0318702A2 (en) | Data processor with direct data transfer between coprocessor and memory | |
| JP2851777B2 (ja) | バス制御方法及び情報処理装置 | |
| JP3039391B2 (ja) | メモリシステム | |
| JP2534321B2 (ja) | デ―タ転送制御方法及び装置 | |
| EP0349757B1 (en) | Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit | |
| JPS59112479A (ja) | キヤツシユメモリの高速アクセス方式 | |
| JP2531209B2 (ja) | チャネル装置 | |
| US20030177229A1 (en) | Microcomputer, bus control circuit, and data access method for a microcomputer | |
| JPS6058500B2 (ja) | アクセス制御方式 | |
| JPH05225122A (ja) | Dmaにおけるバースト転送方式 | |
| JPH07319753A (ja) | バスサイクルのマルチプレクス方式 | |
| JPS61128371A (ja) | ベクトル処理装置 | |
| JPH09185883A (ja) | メモリアクセス制御装置 | |
| JPH06348581A (ja) | メモリアクセス制御装置 | |
| JP2001060168A (ja) | 情報処理装置および方法 |