JPH0749780A - 情報処理装置および記憶手段の先読み制御方法 - Google Patents

情報処理装置および記憶手段の先読み制御方法

Info

Publication number
JPH0749780A
JPH0749780A JP19454693A JP19454693A JPH0749780A JP H0749780 A JPH0749780 A JP H0749780A JP 19454693 A JP19454693 A JP 19454693A JP 19454693 A JP19454693 A JP 19454693A JP H0749780 A JPH0749780 A JP H0749780A
Authority
JP
Japan
Prior art keywords
address
access
cpu
prefetch
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP19454693A
Other languages
English (en)
Inventor
Masayuki Inoue
雅之 井上
Kazuhide Nishiyama
一秀 西山
Hitoshi Yonenaga
斉 米永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP19454693A priority Critical patent/JPH0749780A/ja
Publication of JPH0749780A publication Critical patent/JPH0749780A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 命令フェッチ以外のアクセスに影響されず
に、かつ、先読みアドレスの不一致や命令フェッチ以外
のアクセスによってウェイトが増加することのない先読
み制御方法を提供する。 【構成】CPUにより指示されたアクセスアドレスに基
づいて、当該アクセスアドレスのつぎにアクセスすべき
命令のアドレスを、先読みアドレスとして生成してお
く。先読みアドレスと、前記CPUにより指示された実
際のアクセスアドレスとが一致するか否かを比較する。
前記生成手段により生成された先読みアドレスを、前記
CPUにより実際のアクセスアドレスが指示されるまえ
に前記記憶手段に対してアクセスアドレスとして指示し
ておく。CPUにより実際のアクセスアドレスが指示さ
れた場合に、この実際のアクセスアドレスに基づいて前
記記憶手段にアクセスを行う。前記比較の結果、先読み
アドレスと実際のアクセスアドレスとが一致しない場合
に、CPUに読み出しタイミングを遅らせるように指示
することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に係わ
り、特に、CPUから記憶手段への制御方法に係り、C
PUの命令フェッチアクセスに対する記憶手段のアクセ
スタイムを減少させ、処理速度を向上させるに有効な記
憶手段の制御方法に関する。
【0002】
【従来の技術】パーソナルワープロ等の情報処理装置の
処理プログラムはプログラムの規模が大きく、FD(フ
ロッピーディスク)にプログラムを記憶する場合に、起
動時にFDから情報処理装置の記憶装置(主記憶装置)
内に読み込むのに、容量、速度の面で実用的でない。ま
た、HD(ハードディスク)をプログラムの記憶媒体に
したのでは、価格が高い。その為、安価で大容量のRO
M(読み出し専用記憶装置)にプログラムを記憶させ、
情報処理装置にROMを内蔵する。また、一時的なデー
タの処理にはRAM(読み書き可能記憶装置)を使用し
ている。
【0003】しかし、プログラムを内蔵するROMは、
RAMに比べアクセスタイムが遅い。そこで、装置の処
理速度を上げようとして、CPUの動作周波数を高くし
ても、ROMへのアクセスには、多数のアクセスウエイ
トを挿入することになり、期待通り処理速度が向上しな
い。
【0004】一般的プログラムに於いて、その命令コー
ドは記憶装置内で比較的連続なアドレスに配置され、ア
ドレス順に連続アクセスされる性質(以下、命令フェッ
チの連続性と称す)がある。この性質を利用して、先読
みアドレスとして次命令フェッチアドレスを生成し、実
際の命令フェッチより早い時期から記憶装置にアドレス
を与えることによりアクセスタイムを十分に確保できる
方法がある。これによって、アクセス時間を見かけ上短
縮させている。
【0005】この方法を採用すると、アドレス順命令コ
ードアクセスが長く連続する程、平均アクセスウエイト
数は減少し、処理速度が向上する。この様な命令フェッ
チアドレスを利用した命令先読み方法は、例えば、特開
昭62−206632号公報に示されている。当該従来
技術では、先読みアドレスとして次命令フェッチアドレ
スを生成し、当該先読みアドレスに基づいて先行してデ
ータを読みだしてラッチしておく。CPUからの実際の
命令フェッチ用アドレスと先読みアドレスとを比較し
て、同一であれば、ラッチしておいたデータを出力し、
不一致であれば、実際の命令フェッチ用アドレスに基づ
いてデータを読みだしている。この場合、先読みアドレ
スの生成は、命令アドレスカウンタにアドレス信号を設
定し、読みだし動作と同時に命令アドレスカウンタをカ
ウントアップすることにより、先読みアドレスを生成し
ている。
【0006】
【発明が解決しようとする課題】しかし、フェッチした
命令を実行する時、ROM/RAMに記憶されているデ
ータにアクセスすることがある。上記従来技術では、こ
の場合、処理速度が向上しないだけでなく、かえって処
理速度が遅くなることがある。以下、処理速度が遅くな
る場合の例について図11および図12を参照して説明
する。図11に、先読みを行わない場合の通常アクセス
時のタイミングの一例を示す。また、図11に示すタイ
ミングで動作するシステムにおいて、上記従来技術の命
令先読みを採用した場合のタイミングを図12に示す。
【0007】図11および図12において、CLKは、
システムの基本タイミングを与えるクロック信号であ
り、ステータス信号は、CPUが行うアクセスの種類を
表す信号である。CPUアドレスは、CPUが出力する
アドレス信号であり、CPUデータはCPUが読み込む
ために出力されるデータである。ラッチデータは、先読
みしたデータを保持するために出力される信号である。
【0008】図11に示すように、CPUは、CPUア
ドレスを出力してからCPUデータを得るまでに、1バ
スサイクルあたり2ウエイトを必要とし(CLKのタイ
ミングにおいてウエイトしている部分をTWとして示
す)、T4クロック直前のクロックの立ち下がりの時に
データの取り込みを行っている。
【0009】先読みを行った場合には、図12に示すよ
うに、バスサイクル1でアクセスが始まり、バスサイク
ル2では先読みの効果のためにノーウエイトアクセスと
なる。バスサイクル3では、データアクセスであるの
で、先読みアドレスを利用することができないので、バ
スサイクル2の最後のタイミングで始まった先読みアク
セスが終了するまで待つことになる。終了後、データア
クセスを始めるために、ウエイト数が4ウエイトに増加
する。バスサイクル4では、バスサイクル2において先
読みしたデータを使用してノーウエイトアクセスとな
り、バスサイクル5では、再びデータアクセスであるの
でバスサイクル3と同じアクセスになり4ウエイトを必
要とする。
【0010】バスサイクル1からバスサイクル4までを
対象とした場合に挿入するウエイト数の合計は、先読み
をしない場合には8ウエイトであったのに対して、上記
従来技術の先読み方法では6ウエイトに減少する効果が
ある。しかし、バスサイクル1からバスサイクル5まで
を対象とした場合には、挿入するウエイト数の合計は1
0ウエイトとなる。また、他のバスサイクルにおいて、
CPUアクセスが先読みアドレスではなく、他のアドレ
スであった場合には、先読みしていたデータが無駄にな
りウエイト数はさらに増加する。
【0011】このように従来技術では、先読みアドレス
と実際の命令フェッチアドレスとが不一致の時や命令フ
ェッチ以外のデータアクセスの時に、既に、開始してい
る先読みアドレスによるメモリアクセスを中断しないの
で、却ってアクセス時間がかかっている。すなわち、先
読みアドレスと実際の命令フェッチアドレスとが不一致
の時には、とりあえず、先読みアドレスによるメモリア
クセスを行った後で、実際の命令フェッチアドレスによ
るメモリアクセスを行うので、それによる待ち時間が発
生する。
【0012】以上述べたように、上記従来技術において
は、先読みアドレスに基づいてデータを先読みして保持
しておくので、データアクセスがあると先読みによる処
理速度の向上が図れないばかりでなく、かえって処理速
度が遅くなる。
【0013】本発明の目的は、メモリアクセスの処理時
間を短縮させるメモリの先読み制御方法と、その情報処
理装置とを提供することである。
【0014】
【課題を解決するための手段】上述した問題を解決する
為、本発明では、命令に従ってデータを処理するCPU
(中央演算処理装置)と、前記命令および前記データを
記憶する記憶手段とを備え、前記CPUは、前記命令ア
クセスであるか前記データアクセスであるかを示すステ
ータス情報およびアクセスアドレスを指示して前記記憶
手段にアクセスする情報処理装置において、前記CPU
により指示されたアクセスアドレスに基づいて、当該ア
クセスアドレスのつぎにアクセスすべき命令のアドレス
を、先読みアドレスとして生成して出力する生成手段
と、前記生成手段により生成した先読みアドレスと、前
記CPUにより指示された実際のアクセスアドレスとを
比較する比較手段と、前記生成手段により生成された先
読みアドレスを、前記CPUにより実際のアクセスアド
レスが指示されるまえに前記記憶手段に対してアクセス
アドレスとして指示し、前記記憶手段へのアクセスは、
前記CPUにより実際のアクセスアドレスが指示された
ときに、前記CPUにより指示された実際のアクセスア
ドレスに基づいて行い、前記比較手段における比較の結
果が一致しない場合に、前記CPUに読み出しタイミン
グを遅らせるように指示することにより前記記憶手段の
アクセス制御を行う制御手段とを有する。
【0015】前記生成手段により生成された先読みアド
レスと、前記CPUにより指示された実際のアクセスア
ドレスとのうちいずれかを選択してアクセスアドレスと
して出力する選択手段をさらに備え、前記制御手段は、
前記記憶手段のアクセス制御を行うために、前記選択手
段に対して選択制御をするための選択情報を出力するこ
とができる。
【0016】前記ステータス情報に基づいて、前記CP
Uの記憶手段へのアクセスが前記命令アクセスであるか
前記データアクセスであるかを判別する判別手段をさら
に有し、前記生成手段は、当該生成手段が生成した先読
みアドレスを保持する保持手段を備え、前記保持手段
は、前記判別手段により前記命令アクセスであると判別
した場合に、前記先読みアドレスを更新し、前記判別手
段により前記データアクセスであると判別した場合に、
前記先読みアドレスを更新しないように保持するように
してもよい。
【0017】前記生成手段は、前記CPUにより指示さ
れたアクセスアドレスを予め定めた単位数増加または減
少させることにより先読みアドレスを生成することがで
きる。 また、命令に従ってデータを処理するCPU
(中央演算処理装置)と、前記命令および前記データを
記憶する記憶手段とを備え、前記CPUは、前記命令ア
クセスであるか前記データアクセスであるかを示すステ
ータス情報およびアクセスアドレスを指示して前記記憶
手段にアクセスする情報処理装置における記憶手段の先
読み制御方法であって、前記CPUにより指示されたア
クセスアドレスに基づいて、当該アクセスアドレスのつ
ぎにアクセスすべき命令のアドレスを、先読みアドレス
として生成し、前記生成した先読みアドレスと、前記C
PUにより指示された実際のアクセスアドレスとを比較
し、前記生成手段により生成された先読みアドレスを、
前記CPUにより実際のアクセスアドレスが指示される
まえに前記記憶手段に対してアクセスアドレスとして指
示し、前記CPUにより実際のアクセスアドレスが指示
された場合に、前記CPUにより指示された実際のアク
セスアドレスに基づいて前記記憶手段にアクセスを行
い、前記比較の結果、前記生成された先読みアドレスと
前記CPUにより指示された実際のアクセスアドレスと
が一致しない場合に、前記CPUに読み出しタイミング
を遅らせるように指示することができる。
【0018】また、複数の記憶手段を備える場合には、
前記複数の記憶手段のアドレスの割当てをあらかじめ規
定しておき、前記CPUにより指示されたアクセスアド
レスに基づいて、当該アクセスアドレスのつぎにアクセ
スすべき命令のアドレスを、先読みアドレスとして生成
し、前記生成された先読みアドレスと、前記CPUによ
り指示された実際のアクセスアドレスとを比較し、前記
生成手段により生成された先読みアドレスを、前記CP
Uにより実際のアクセスアドレスが指示されるまえに、
当該先読みアドレスに基づいて、前記規定されているア
ドレスの割当てに従い、前記複数の記憶手段のうち当該
先読みアドレスに対応するアクセス先の記憶手段に対し
て指示し、前記CPUにより指示された実際のアクセス
アドレスに基づいて、前記規定されているアドレスの割
当てに従い、前記複数の記憶手段のうち当該実際のアク
セスアドレスに対応するアクセス先の記憶手段に対して
前記CPUにより指示された実際のアクセスアドレスを
指示し、前記比較の結果、前記生成された先読みアドレ
スと前記CPUにより指示された実際のアクセスアドレ
スとが一致しない場合に、前記CPUに読み出しタイミ
ングを遅らせるように指示する。
【0019】
【作用】生成手段は、CPUにより指示されたアクセス
アドレスに基づいて、当該アクセスアドレスのつぎにア
クセスすべき命令のアドレスを、先読みアドレスとして
生成して出力しておく。制御手段は、前記生成手段によ
り生成された先読みアドレスを、前記CPUにより実際
のアクセスアドレスが指示されるまえに前記記憶手段に
対してアクセスアドレスとして指示しておく。これによ
り、先読みアドレスが記憶手段に対して出力される。
【0020】比較手段は、前記生成手段により生成した
先読みアドレスと、前記CPUにより指示された実際の
アクセスアドレスとを比較する。制御手段は、前記生成
手段により生成された先読みアドレスを、前記CPUに
より実際のアクセスアドレスが指示されるまえに前記記
憶手段に対してアクセスアドレスとして指示し、前記記
憶手段へのアクセスは、前記CPUにより実際のアクセ
スアドレスが指示されたときに、前記CPUにより指示
された実際のアクセスアドレスに基づいて行い、前記比
較手段における比較の結果が一致しない場合に、前記C
PUに読み出しタイミングを遅らせるように指示する。
前記比較手段における比較の結果が一致した場合には、
予め与えている先読みアドレスと同じなので、先読みに
よるアクセスが成功し、アクセスタイムを短縮できる。
また、前記比較手段における比較の結果が一致しない場
合には、前記CPUにより指示された実際のアクセスア
ドレスに基づいて前記記憶手段にアクセスを行うので、
通常のアクセスとなる。
【0021】前記制御手段は、以下に示すように制御で
きる。
【0022】前記生成手段により生成された先読みアド
レスと、前記CPUにより指示された実際のアクセスア
ドレスとのうちいずれかを選択してアクセスアドレスと
して出力する選択手段を備えておく。前記制御手段は、
前記記憶手段のアクセス制御を行うために、直前のアク
セスの終了後であって前記CPUにより実際のアクセス
アドレスが指示されるまえに、前記生成手段により生成
した先読みアドレスを選択するように前記選択手段に指
示しておく。前記CPUにより実際のアクセスアドレス
が指示された場合には、前記CPUにより指示された実
際のアクセスアドレスを選択するように前記選択手段に
指示する。これにより、先読みアドレスと実際のアクセ
スアドレスとが一致する場合には、選択手段による選択
が切り替わっても、アクセスアドレスの値は変わらない
ため先読みによるアクセスに成功する。また、前記比較
手段における比較の結果が一致しない場合に、前記CP
Uに読み出しタイミングを遅らせるように指示する。こ
れにより、前記CPUにより実際のアクセスアドレスが
指示された場合には、CPUに対してレディ信号を送出
してウエイトを挿入し、通常のアクセスを行う。
【0023】また、判別手段が、前記命令アクセスであ
る(命令フェッチ)か前記データアクセスであるかを、
ステータス情報に基づいて判別する。前記判別手段でデ
ータアクセスであると判別した場合、生成手段は、直前
の先読みアドレスを保持手段に保持しておく。これによ
り、命令フェッチの途中に命令フェッチ以外のアクセス
が入るとき、先読みアドレスとしては前の値をそのまま
保持し、新しいアドレスに変えないようにできる。ま
た、このとき制御手段は、CPUに対して読み出しタイ
ミングを遅らせ、通常のアクセスタイミングでデータを
読み出す。ここで、保持した先読みアドレスは、次のア
クセス時に先読みアドレスとして記憶装置に与えられ
る。このようにして、先読みアドレスを記憶装置に与え
ることができ、通常より早い情報読み出しが可能となっ
ている。
【0024】
【実施例】本発明の実施例を説明する前に、CPUから
記憶装置への2種類のアクセス方法について、図5およ
び図6を参照して説明する。
【0025】通常、CPUの1バスサイクルは、数クロ
ックで構成される。この数クロック間にCPUは、アド
レス、ステータス信号出力およびデータ入出力を行う。
これらの入出力タイミングには2つのタイプが存在す
る。第1のタイプは、CPUがデータ入出力を終え、次
アクセスのアドレスを出力するまでに時間が空くタイプ
である。第1のタイプのCPUとしては、米インテル社
(Intel Corp.)のCPU8086などがある。図5に、
第1のタイプのタイムチャートを示す。図5に示すよう
に、CPUアドレスの出力がバスサイクル開始に対して
遅れる為、データ入出力からCPUアドレスの出力まで
に空き時間が存在する。第2のタイプは、CPUのアク
セス終了前に次アクセスのアドレス出力が行われるタイ
プである。第2のタイプのCPUとしては、米インテル
社のCPU80286などがある。図6に第2のタイプ
のタイムチャートを示す。図6に示すように、次アドレ
スがCPUのデータ取り込み前に出力されている。
【0026】上記2種類のアクセス方法を取るそれぞれ
のCPUについて、本発明を適用する場合の実施例を以
下に説明する。
【0027】本発明の第1の実施例におけるブロック図
を図1および図2に示す。第1の実施例は、上記第1の
タイプのCPUを用いる場合の情報処理システムにおい
て、空き時間を利用して命令先読みを行う方法について
示す。本実施例においては、基本バスサイクルがTsお
よびTcの2ステートからなるものとする。そして、R
OMアクセスの時は、Tcwステートを加えた3ステート
アクセス、RAMアクセスの時は2ステートのノーウエ
イトアクセスとする。
【0028】図1において、101は、中央演算処理装
置(以下、CPUと称す)であり、本実施例において
は、図5に示す第1のタイプのCPUを利用する。10
2は、CPUのウエイトサイクルの挿入を決定するため
のレディ信号(以下、RDY信号と称す)である。10
3は、制御装置115にタイミングを与えるタイミング
信号群であり、CPU101の基本クロック信号(CL
K)とアドレス確定信号(ALE)とを含んでいる。1
04は、ステータス信号であり、CPU101のアクセ
ス種別(命令フェッチ/データアクセス等)を制御装置
115に知らせる。105は、CPU101が出力する
CPUアドレス信号(以下、単にCPUアドレスと称
す)である。106は、CPU101と記憶装置とでデ
ータをやり取りするためのデータ信号である。107
は、CPUアドレス105から先読みアドレスを生成す
る先読みアドレス生成回路であり、CPUアドレス10
5の値を1増加させる加算器で構成している。先読みア
ドレス生成回路107は、前記CPUにより指示された
アクセスアドレスに基づいて、当該アクセスアドレスの
つぎにアクセスすべき命令のアドレスを、先読みアドレ
スとして生成して出力する生成手段である。108は、
ラッチ回路(以下、ラッチと称す)であり、先読みアド
レス生成回路107の出力した先読みアドレスを保持す
る。109は、ラッチ108より出力される先読みアド
レス信号である。110は、CPUアドレス105と先
読みアドレス109との出力を切り換えるアドレスセレ
クタであり、制御装置115からのアドレスセレクト信
号111が0であればCPUアドレス105を選択し、
また、アドレスセレクト信号111が1であれば先読み
アドレス109を選択してMAアドレス112に接続す
る。111は、アドレスセレクタ110を切り換えるア
ドレスセレクト信号で、CPUアドレス105側を選択
の時は0(ロ−)、先読みアドレス109側選択の時は
1(ハイ)になる。112は、記憶装置にアドレスを指
示するためのアドレスバスのMAアドレスであり、アド
レスセレクタ110よりアドレスが出力される。113
は、CPUアドレス105と先読みアドレス109とを
比較するアドレス比較装置である。アドレス比較装置1
13は、前記先読みアドレス生成回路107により生成
した先読みアドレスと、前記CPUにより指示された実
際のアクセスアドレスとが一致するか否かを比較する比
較手段である。114は、アドレス比較装置113の出
力するアドレス比較結果信号(以下、アドレス比較結果
と称す)であり、両アドレスが一致すれば0(ロー)、
不一致ならば1(ハイ)になる。115は、先読み回路
全体の制御を行う制御装置であり、図2における説明で
詳細に後述する。116は、記憶装置用の出力許可信号
(以下、OE信号と称す)であり、制御装置115から
出力される。117は、記憶装置用の読み書き区別制御
信号(以下、R/W信号と称す)であり、制御装置11
5から出力される。123は、ラッチ108用のアドレ
スラッチ信号(以後ラッチ信号と称す)であり、制御装
置115から出力される。118は、メモリ選択装置で
あり、MAアドレス112をデコードして対応する記憶
装置を判別し、対応するメモリの装置選択信号(以下、
CE信号と称す)を出力する。119は、メモリ選択装
置118の出力するCE信号である。120は、読みだ
し専用記憶装置(以下、ROMと称す)、121は、読
み書き可能な記憶装置(以下、RAMと称す)、122
は、FD(フロッピーディスク)などのI/O装置であ
る。ROM120、RAM121およびI/O122
は、記憶手段であり、予めそれぞれアドレスが割り当て
られている。
【0029】図2は、制御装置115の内部ブロック図
を示している。
【0030】制御装置115は、ステータス情報に基づ
いて、前記CPU101の記憶手段へのアクセスが命令
の読み書きか否かを判別する判別手段と、前記比較手段
において前記生成手段により生成した先読みアドレス
と、前記CPU101により指示された実際のアクセス
アドレスとが一致した場合には、先読み成功に伴うノー
ウエイトアクセスを行うように制御し、一致しない場合
には、ウエイトを挿入した通常のアクセスを行うように
制御する制御手段とを有する。
【0031】図2において、150は、タイミング発生
回路であり、タイミング信号群103からタイミング信
号を取り出す。152は、ウエイト信号生成回路であ
り、アドレス比較結果114に基づいて、アドレスが不
一致であるときにアクセスが間にあわないとして1ウエ
イト挿入するためにCPU101に与えるRDY信号1
02を生成する。また、ROM、RAMまたはI/Oへ
のアクセスによりウエイト数がそれぞれ異なるので、ウ
エイト信号生成回路152は、CE信号119によりど
の記憶装置へのアクセスかを判別し、ステータス信号1
04により命令フェッチかデータアクセスかを判断し、
記憶装置の種類とそのアクセスとに対応する予め定めら
れたウエイト数を挿入するために、タイミング発生回路
150からのタイミング信号に同期させてRDY信号1
02を出力する。153は、OE・R/W信号生成回路
であり、記憶装置用のOE信号116およびR/W信号
117を生成する。OE信号116およびR/W信号1
17は、前述のウエイト信号生成回路152におけるウ
エイト数に対応して送出するタイミングが決定される。
このため、OE信号116およびR/W信号117は、
タイミング発生回路150からのタイミング信号、CE
信号119、ステータス信号104およびアドレス比較
結果114に基づいて、予め定められたタイミングのと
きに送出される。OE信号116およびR/W信号11
7は、ROMへの命令フェッチのときであってアドレス
が不一致のときには、1ウエイト挿入するので、Tcwス
テートの始まりのタイミングで出力され、アドレスが一
致するときには、Tcステートの始まりのタイミングで
出力される。154は、アドレスセレクト信号生成回路
であり、タイミング発生回路150からのタイミング信
号に基づいて予め定められた周期でアドレスセレクタ1
11を切り換えるセレクト信号111を生成する。セレ
クト信号111は、タイミング発生回路150からのタ
イミング信号に基づいてTcステート(もしくはTcwス
テート)におけるクロックの立上り時に、先読みアドレ
スを選択し、CPU101の指示するアドレスが確定す
るとCPUアドレス105を選択するように設定され
る。155は、ラッチ信号生成回路であり、ラッチ10
8用のラッチ信号を生成する。このラッチ信号は、先読
みアドレスをラッチするための信号であり、ROMへの
命令フェッチであるときに出力される。このため、CE
信号119によりROMへのアクセスであるか否かを判
別し、ステータス信号により命令フェッチであるかを判
別し、タイミング発生回路150からのタイミング信号
に同期させてラッチ信号が出力される。ラッチ信号生成
回路155は、ROMへの命令フェッチであるときに、
タイミング発生回路150からのタイミング信号に基づ
いてTcステート(もしくはTcwステート)におけるク
ロックの立上り時にラッチ信号を出力し、ステータス信
号がデータへのアクセスであるときには、ラッチ信号を
出力しない。これにより、データへのアクセスの場合に
は、先読みアドレスは先に生成されたアドレスが更新さ
れずにそのまま保持される。
【0032】次に、第1の実施例における動作を、図1
および図2に加えて、図3および図4を参照して説明す
る。図3に、命令先読みが続く場合のタイムチャートを
示し、図4に、データリードを含む場合のタイムチャー
トを示す。
【0033】まず、先読み効果を説明する為に、全てを
ROM120へのアクセスとした場合について図3を参
照して説明する。
【0034】CPU101は、図3におけるバスサイク
ル1で、CPUアドレス105と先読みアドレス109
とが不一致で、命令先読みに失敗後、ROM120のN
番地に対し、アクセスウエイトを伴った通常命令フェッ
チアクセスをしているものとする。アドレスセレクタ1
10は、アドレス比較結果114の一致、不一致に関係
なく、CPUアドレス105のアドレスが確定した時点
でCPUアドレス105をMAアドレス112に接続し
ている。よって、MAアドレス112もN番地を示す。
先読みアドレス生成回路107では、常に、CPUアド
レス105のアドレスに基づいてつぎの先読みアドレス
を生成するので、この場合には、N番地のつぎの(N+
1)番地を出力する。ラッチ108は、ラッチ信号生成
回路155からのラッチ信号により、バスサイクル1の
Tcステート(もしくはTcwステート)におけるクロッ
クの立上り時に(N+1)番地先読みアドレスをラッチ
する。この結果、先読みアドレス109は(N+1)番
地となる。アドレスセレクト信号生成回路154は、ア
ドレスセレクト信号111により、前記CPUアドレス
105のN番地のアクセス後に先読みアクセスの始めと
して、先読みアドレス109をMAアドレス112に与
えるための信号を出力する。アドレスセレクタ110
は、アドレスセレクト信号111によって、(N+1)
番地先読みアドレス109をMAアドレス112に接続
するので、MAアドレス112は(N+1)番地とな
る。メモリ選択装置118は、MAアドレス112をデ
コードして、アクセスすべきメモリに対して、メモリの
装置選択信号のCE信号119を出力しておく。これに
より、CPUアドレス105の出力前のバスの空き時間
に、(N+1)番地先読み用アドレスとCE信号をアク
セスすべきメモリに出力し、CPU101のアクセス動
作前からROMアクセスの準備を始めることができる。
【0035】つぎに、バスサイクル2の開始に少し遅れ
て、CPU101は、CPUアドレス105に(N+
1)番地を出力する。アドレス比較装置113は、CP
Uアドレス105の(N+1)番地と先読みアドレス1
09の(N+1)番地とを比較し、一致したとしてアド
レス比較結果114を0にする。アドレスセレクト信号
生成回路154は、CPUアドレス105をMAアドレ
ス112に与える為、アドレスセレクト信号111を出
力する。アドレスセレクタ110は、アドレスセレクト
信号111によって、CPUアドレス105の(N+
1)番地をMAアドレス112に接続する。CPUアド
レス105の(N+1)番地と、先読みアドレス109
の(N+1)番地とは一致するから、MAアドレス11
2の値は変化せず、先読みアクセスが継続する。この結
果、先読みが成功したことになり、通常アクセスよりも
多くのアクセスタイムを得られるので、ROM120へ
のノーウエイトアクセスが実現する。これに伴い、ウエ
イト信号生成回路152とOE・R/W信号生成回路1
53とは、アドレス比較結果114が一致であるので、
ノーウエイトアクセスになるように、RDY信号10
2、OE信号116およびR/W信号117をそれぞれ
生成して出力する。
【0036】以上のバスサイクル2の動作は、先読みを
行わない場合には1ウエイト必要とするROM120へ
の先読みに成功し、ノーウエイトアクセスが行なわれる
までを示したものである。
【0037】つぎに、バスサイクル3においても、アド
レスが連続であり、命令先読みに成功し、バスサイクル
4では、先読みアドレス109とCPUアドレス105
とが異なった為、先読みアクセスに失敗する場合につい
て示している。以下、このバスサイクル4について説明
する。バスサイクル3のCPU101のデータ取り込み
終了時に、アドレスセレクタ110がアドレスセレクト
信号に従って、先読みアドレス109をMAアドレス1
12に接続する。この結果、先読みアドレス109によ
り、(N+3)番地への先読みアクセスが始まる。バス
サイクル4の開始に少し遅れて、CPU101は、CP
Uアドレス105に(N+5)番地を出力する。アドレ
ス比較装置113は、CPUアドレス105の(N+
5)番地と先読みアドレス109の(N+3)番地とを
比較し、不一致であるとしてアドレス比較結果114を
1にする。アドレスセレクト信号生成回路154は、C
PUアドレス105をMAアドレス112に与える為、
アドレスセレクト信号111を0にする。アドレスセレ
クタ110は、アドレスセレクト信号111によって、
CPUアドレス105の(N+5)番地をMAアドレス
112に接続する。
【0038】この結果、MAアドレス112は、(N+
3)番地から(N+5)番地に切り換わる。この切り換
わることによる、アクセスメモリへのアドレス出力のタ
イミングは通常アクセスと同じなので、アクセスウエイ
トは1つでよい。また、バスサイクル4においても、C
PU101のデータ取り込み終了時から(N+6)番地
による命令先読みが始まり、バスサイクル5に移る。
【0039】次に、データリードアクセスを含んだ命令
先読みを図1および図2と、図4とを参照して説明す
る。
【0040】図4において、バスサイクル1およびバス
サイクル2は、共に、図3に示したバスサイクル1およ
びバスサイクル2と同じであり、同様に動作する。同様
に、バスサイクル2のCPU101のデータ取り込み終
了時点から先読みアドレスによる(N+2)番地への命
令先読みは始まっている。バスサイクル3の開始に少し
遅れて、CPU101は、CPUアドレス105にP番
地を出力し、ステータス信号104にデータリードを示
すような信号を出力する。アドレス比較装置113は、
CPUアドレス105のP番地と、先読みアドレス10
9の(N+2)番地とを比較し、不一致であるとしてア
ドレス比較結果114を1にする。アドレスセレクト信
号生成回路154は、CPUアドレス105をMAアド
レス112に与える為、アドレスセレクト信号111を
0にする。この結果、アドレスセレクタ110は、CP
Uアドレス105をMAアドレス112に接続する為、
MAアドレス112は、(N+2)番地からP番地に切
り換わる。この切り換わることによる、アクセスメモリ
へのアドレス出力のタイミングは通常アクセスと同じな
ので、アクセスウエイトは1つでよい。ラッチ信号生成
回路155は、ステータス信号104からデータリード
のアクセス種別情報を得ることで、命令フェッチアクセ
ス時とは違い、ラッチ信号123にラッチ信号を出力し
ない。この結果、ラッチ108は、先読みアドレスの値
として(N+2)番地を保持し続ける。この動作によっ
て、データリードアクセスが途中に入っても、命令フェ
ッチの連続性が分断されない。CPU101のデータ取
り込み終了時には、再び先読み用アドレスの(N+2)
番地による先読みが始まり、バスサイクル4に移る。
【0041】以上説明したように、アドレスが遅れて出
るCPUにおいて、空き時間に先読みアドレスを早めに
出すことで、アクセス時間を稼ぎ、ノーウエイトアクセ
スを行なうことができる。
【0042】つぎに、本発明の第2の実施例について説
明する。本発明の第2の実施例のブロック図を図7およ
び図8に示す。第2の実施例は、上記第2のタイプのC
PUを用いる場合の情報処理システムにおいて、インタ
リーブ方式の命令先読みを行う方法について示す。
【0043】本実施例においては、図6にタイムチャー
トに示すように、次アクセスCPUアドレスはCPUの
データ取り込み時より早く出力される。よって、第1の
実施例のような空き時間は存在しない。そこで、この第
2のタイプではメモリインタリーブ方式を採用し、命令
先読みを行なう。
【0044】図7において、701は、中央演算処理装
置(以下、CPUと称す)であり、本実施例において
は、図6に示す第2のタイプのCPUを利用する。70
2は、CPUのウエイトサイクルの挿入を決定するため
のレディ信号(以下、RDY信号と称す)である。70
3は、制御装置717にタイミングを与えるタイミング
信号群であり、CPU701の基本クロック信号(CL
K)とアドレス確定信号(ALE)とを含んでいる。7
04は、ステータス信号であり、CPU701のアクセ
ス種別(命令フェッチ/データアクセス等)を制御装置
717に知らせる。705は、CPU701が出力する
CPUアドレス信号(以下、単にCPUアドレスと称
す)である。722は、インタリーブ用に配置された読
み出し専用記憶装置(以下、ROM−AおよびROM−
Bと称す)である。723は、インタリーブ用に配置さ
れた読み書き可能記憶装置(以下、RAM−AおよびR
AM−Bと称す)である。ROM−AおよびROM−B
722、RAM−AおよびRAM−B723は、記憶手
段であり、本実施例においては、複数のバンクに分割す
るインタリーブ方式を用い、それぞれのバンクに異なっ
たアドレスを与えて、それぞれの記憶手段にアクセスで
きる。本実施例においては、2つに分割してあり、RO
M−Aには偶数アドレスを割当て、ROM−Bには奇数
アドレスを割り当てている。割当ては予め規定しておく
ことができ、割当ての他の例として、2バイトづつ割り
当てる場合には、ROM−Aには(2、6、10…4n
−2… ただし、nは自然数)のアドレスを割当て、R
OM−Bには(4、8、12…4n… ただし、nは自
然数)のアドレスを割り当ててもよい。706は、CP
Uアドレス705をラッチするラッチ回路(以下、CP
Uアドレスラッチと称す)である。707は、ラッチ7
06のラッチしたアドレス信号を示すPAアドレス信号
である。708は、PAアドレス707から先読みアド
レスを生成する先読みアドレス生成回路であり、PAア
ドレス707の値を1増加させる加算器で構成してい
る。先読みアドレス生成回路708は、前記CPUによ
り指示されたアクセスアドレスに基づいて、当該アクセ
スアドレスのつぎにアクセスすべき命令のアドレスを、
先読みアドレスとして生成して出力する生成手段であ
る。先読みアドレス生成回路708は、前記CPUによ
り指示されたアクセスアドレスを任意単位数増加または
減少させるように予め規定しておくことができる。70
9は、先読みアドレス生成回路708が出力する先読み
アドレスをラッチするラッチ回路(以下、先読みアドレ
スラッチと称す)である。710は、ラッチ709から
出力される先読みアドレス信号である。711は、PA
アドレス707と先読みアドレス710との出力を切り
換えるアドレスセレクタAであり、制御装置717から
のアドレスセレクト信号727が0であればPAアドレ
ス707を選択し、また、アドレスセレクト信号727
が1であれば先読みアドレス710を選択してMAAア
ドレス713に接続する。712は、PAアドレス70
7と先読みアドレス710との出力を切り換えるアドレ
スセレクタBであり、アドレスセレクト信号728が0
であればPAアドレス707をMABアドレス714に
接続し、1であれば先読みアドレス710をMABアド
レス714に接続する。713は、MAAアドレスであ
り、記憶装置のROM−Aへのアドレス信号である。7
14は、MABアドレス714であり、記憶装置のRO
M−Bへのアドレス信号である。715は、PAアドレ
ス707と先読みアドレス710とを比較するアドレス
比較装置である。アドレス比較装置715は、前記先読
みアドレス生成回路708により生成した先読みアドレ
スと、前記CPUにより指示された実際のアクセスアド
レスとが一致するか否かを比較する比較手段である。7
16は、アドレス比較結果信号(以下、アドレス比較結
果と称す)であり、アドレス比較装置715の結果を示
す信号であり、両アドレスが一致すれば0(ロー)信
号、不一致ならば1(ハイ)信号になる。717は、イ
ンタリーブ方式先読み回路全体の制御を行なう制御装置
であり、図8における説明で詳細に後述する。718
は、記憶装置用の出力許可信号(以下、OE信号と称
す)であり、制御装置717から出力される。719
は、記憶装置用読み書き許可信号(以下、R/W信号と
称す)であり、制御装置717から出力される。720
は、メモリ選択装置であり、MAAアドレス713とM
ABアドレス714とをそれぞれデコードして対応する
記憶装置を判別し、対応するメモリの装置選択信号(以
下、CE信号と称す)を出力する。メモリ選択装置72
0は、前述の記憶装置のアドレスの割当てを規定するテ
ーブルを備えており、テーブルを参照することにより。
CPUアドレス707がROM−Aへのアクセスである
かROM−Bへのアクセスであるかを判別する。721
は、メモリ選択装置720が出力するCE信号である。
724は、CPU701と記憶装置とでデータをやり取
りするためのデータ信号である。725は、CPUアド
レスラッチ706用のCPUアドレスラッチ信号であ
り、制御装置717から出力される。726は、先読み
アドレスラッチ709用の先読みアドレスラッチ信号で
あり、Tsステート終了時に、CPU701から出力さ
れたステータス信号が命令フェッチである場合に制御装
置717から出力される。727は、アドレスセレクタ
A711用のアドレスセレクトA信号(以下、セレクト
A信号と称す)であり、0(ロー)信号であればPAア
ドレス707をMAAアドレス713に接続する信号で
あり、1(ハイ)信号であれば先読みアドレス710を
MAAアドレス713に接続する信号である。728
は、アドレスセレクタB712用のアドレスセレクトB
信号(以下、セレクトB信号と称す)であり、0(ロ
ー)信号であればPAアドレス707をMABアドレス
714に接続する信号であり、1(ハイ)信号であれば
先読みアドレス710をMABアドレス714に接続す
る信号である。
【0045】図8は、制御装置717の内部ブロック図
を示している。図8において、750は、タイミング発
生回路であり、タイミング信号群703からタイミング
信号を取り出す。752は、CPUアドレス707をデ
コードするデコーダであり、前述の記憶装置のアドレス
の割当てを規定するテーブルを備えており、テーブルを
参照することにより。CPUアドレス707がROM−
AへのアクセスであるかROM−Bへのアクセスである
かを判別する。753は、ウエイト信号生成回路であ
り、ステータス信号704およびアドレス比較結果71
6に基づいてアクセスが間にあわない場合(アドレス比
較装置715からの出力が不一致の場合)に1ウエイト
挿入するためにCPU701に与えるRDY信号702
を生成する。また、ROM、RAMまたはI/Oへのア
クセスによりウエイト数がそれぞれ異なるので、ウエイ
ト信号生成回路753は、デコーダからのデコード信号
によりどの記憶装置へのアクセスかを判別し、ステータ
ス信号704により命令フェッチかデータアクセスかを
判断し、記憶装置の種類とそのアクセスとに対応する予
め定められたウエイト数を挿入するために、タイミング
発生回路750からのタイミング信号に同期させてRD
Y信号702を出力する。754は、OE・R/W信号
生成回路であり、デコーダ752のデコード信号から記
憶装置用のOE信号718およびR/W信号719を生
成する。OE信号718およびR/W信号719は、前
述のウエイト信号生成回路753におけるウエイト数に
対応して送出するタイミングが決定される。このため、
OE信号718およびR/W信号719は、タイミング
発生回路750からのタイミング信号、デコード信号、
ステータス信号704およびアドレス比較結果716に
基づいて、予め定められたタイミングのときに送出され
る。すなわち、OE信号718およびR/W信号719
は、アドレスが不一致のときには、1ウエイト挿入する
ので、Tcwステートの始まりのタイミングで出力され、
アドレスが一致するときには、Tcステートの始まりの
タイミングで出力される。755は、アドレスセレクト
信号生成回路であり、信号群751とデコーダ752と
の信号からセレクトA信号727とセレクトB信号72
8とを生成する。アドレスセレクト信号生成回路755
は、CPUから出力されたPAアドレス707の値にし
たがってセレクト信号を生成する。本実施例において
は、前述のように、ROM−Aには偶数アドレスを割当
て、ROM−Bには奇数アドレスを割り当てているの
で、PAアドレス707が偶数アドレスの場合にはRO
M−Aへのアクセスであるので、アドレスセレクタA7
11がPAアドレス707を選択するように、アドレス
セレクト信号727を0にし、アドレスセレクタB71
2が先読みアドレス710を選択するように1を出力す
る。また、PAアドレス707が奇数アドレスの場合に
はROM−Bへのアクセスであるので、アドレスセレク
タA711が先読みアドレス710を選択するように、
アドレスセレクト信号727を1にし、アドレスセレク
タB712がPAアドレス707を選択するように0を
出力する。756は、ラッチ信号生成回路であり、デコ
ーダ752のデコード信号からCPUアドレスラッチ信
号725と先読みアドレスラッチ信号726とを生成す
る。CPUアドレスラッチ信号725と先読みアドレス
ラッチ信号726とは、ラッチ信号生成回路756が、
デコード信号によりROMへのアクセスであるか否かを
判別し、ステータス信号により命令フェッチであるかを
判別し、タイミング発生回路150からのタイミング信
号に同期させてラッチ信号が出力される。すなわち、C
PUアドレスラッチ信号725は、各バスサイクルの最
初に出力され、先読みアドレスラッチ信号726は、R
OMへの命令フェッチであるときに、Tsステート終了
時に出力される。
【0046】つぎに、第2の実施例における動作を、図
7および図8に加えて、図9および図10を参照して説
明する。図9に、命令先読みが続く場合のタイムチャー
トを示し、図10に、データリードを含む場合のタイム
チャートを示す。
【0047】まず、先読み効果を説明する為に、全てを
ROM722へのアクセスとした場合について図9を参
照して説明する。第1の実施例と同様に、通常ROMア
クセスとROMへの命令先読み失敗時のアクセスとの場
合は、1ウエイト挿入し、RAMアクセスとROMへの
先読み成功時のアクセスとの場合は、ノーウエイトとす
る。
【0048】CPU701は、図9におけるバスサイク
ル1で、ROM−A722のN番地(ここで、Nは偶数
とする)に対し、通常命令フェッチアクセスをしてい
る。制御装置717のラッチ信号生成回路756は、各
バスサイクルが始まる最初のタイミング(Tsステート
の始まり)においてCPUアドレスラッチA信号725
により、CPUアドレス705をラッチするように指示
する。バスサイクル1の開始時に、CPUアドレスラッ
チ706は、CPU701の出力しているCPUアドレ
ス705で示されているN番地を制御装置717からの
CPUアドレスラッチA信号725によってラッチす
る。先読みアドレス生成回路708では、常に、CPU
アドレス705に基づいてつぎの先読みアドレスを生成
するので、この場合には、N番地のつぎの(N+1)番
地を出力する。また、Tsステート終了時には、ラッチ
信号生成回路756は、ステータス信号704から命令
フェッチのアクセス種別情報を得て、先読みアドレスラ
ッチ信号726によりラッチクロックを出力し、先読み
アドレスをラッチするように先読みアドレスラッチ70
9に指示する。先読みアドレスラッチ709は、先読み
アドレス生成回路708が出力する(N+1)番地の先
読みアドレスを上記のラッチクロックのタイミングでラ
ッチする。また、制御装置717のデコーダ752は、
PAアドレス707が偶数アドレスであるので、ROM
−Aへのアクセスであることを示す情報を出力する。こ
の情報を受けて、アドレスセレクト信号生成回路755
は、Tsステート終了時に、アドレスセレクタA711
がPAアドレス707を選択するように、アドレスセレ
クト信号727を0にし、アドレスセレクタB712が
先読みアドレス710を選択するようにセレクトB信号
728を1にして出力する。アドレスセレクタB712
は、セレクトB信号728によって(N+1)番地の先
読みアドレス710をMABアドレス714に接続する
ことにより、MABアドレス714は(N+1)番地と
なる。メモリ選択装置720は、MABアドレス714
をデコードして、アクセスすべきメモリに対して、メモ
リの装置選択信号のCE2信号を出力しておく。この結
果、先読み動作が始まる。また、アドレスセレクタA7
11がPAアドレス707をMAAアドレス713に接
続することで、MAAアドレス713がN番地となる。
メモリ選択装置720は、MAAアドレス713をデコ
ードして、ROM−AへのアクセスであるとしてCE1
信号を出力する。ウエイト信号生成回路753とOE・
R/W信号生成回路754はノーウエイトになるように
OE信号718とR/W信号719とを出力する。これ
によりROM−AのN番地へのアクセスを行うことがで
きる。
【0049】つぎに、バスサイクル2の開始時に、CP
Uアドレスラッチ706は、CPUアドレスラッチA信
号725によってCPUアドレス705の(N+1)番
地をラッチする。制御装置717のデコーダ752は、
CPUアドレスラッチ706からのPAアドレスを受け
て、(N+1)番地が奇数番地であるのでROM−Bへ
のアクセスであることを示す情報を出力する。アドレス
セレクト信号生成回路755は、この情報を受けて、こ
の結果、アドレスセレクタA711は、先読みアドレス
710の(N+1)番地をMAAアドレス713に接続
し、アドレスセレクタB712は、CPUアドレス70
5(N+1)番地をMABアドレス714に接続する。
アドレス比較装置715では、CPUアドレス707の
(N+1)番地と先読みアドレス710の(N+1)番
地とを比較し、比較した結果が一致する為、アドレス比
較結果716を0にする。ラッチ信号生成回路756
は、ステータス信号704からアクセス種別が命令フェ
ッチであるという情報を得て、先読みアドレスラッチB
信号726にラッチクロックを出力する。この結果、先
読みアドレス710は、(N+2)番地となる。これに
伴い、MAAアドレス713は(N+2)番地になり、
MABアドレス714は(N+1)番地のままとなる。
先読みアドレスを与えていたMABアドレス714は
(N+1)番地から切り換わらず、先読みアクセスが継
続して、バスサイクルの終わりには十分なアクセスタイ
ムが得られる。従って、ROM−B722へのノーウエ
イトアクセスが実現する。ウエイト信号生成回路753
とOE・R/W信号生成回路754はノーウエイトにな
るようにOE信号718とR/W信号719とを出力す
る。
【0050】以上のバスサイクル2の動作は、本来なら
1ウエイト必要とするROM722へのアクセスが、先
読みを行なうことで、ノーウエイトアクセスが行われる
までを示したものである。
【0051】バスサイクル3では、先読みアドレス71
0と命令フェッチアドレスとが異なった為、先読みアク
セスに失敗する例について説明する。
【0052】バスサイクル3の開始と共にバスサイクル
2の時と同様に、CPUアドレスラッチ706は、CP
Uアドレスラッチ信号725でCPUアドレスの(N+
3)番地をラッチする。制御装置717のデコーダ75
2は、CPUアドレスラッチ706からのPAアドレス
を受けて、(N+3)番地が奇数番地であるのでROM
−Bへのアクセスであることを示す情報を出力する。ア
ドレスセレクト信号生成回路755は、この情報を受け
て、CPUアドレス705をMABアドレス714に与
える為にセレクトB信号728を0にし、先読みアドレ
ス710をMAAアドレス713に与える為にセレクト
A信号727を1にしてそれぞれ出力する。この結果、
アドレスセレクタB712は、PAアドレス707の
(N+3)番地をMABアドレス714に接続し、アド
レスセレクタA711は、先読みアドレス710の(N
+2)番地をMAAアドレス713に接続する。また、
Tsステート終了時に、先読みアドレスラッチ709
は、先読みアドレスラッチ信号726で先読みアドレス
の(N+4)番地をラッチする。これに伴い、MAAア
ドレス713は(N+4)番地となる。先読みを行なっ
ていたMAAアドレス713は(N+2)番地から(N
+4)番地に切り換わるので、先読みアクセスに失敗す
るが、MABアドレス714は(N+3)番地になり、
ROMへの通常アクセスを行うことができる。このた
め、ウエイト信号生成回路753とOE、R/W信号生
成回路754とは、1ウエイトになるRDY信号702
と、OE信号718およびR/W信号719とをそれぞ
れ出力する。
【0053】つぎに、ROMへのデータリードアクセス
が挿入されているが、命令先読みには影響しない例を図
7、図8および図10を用いて説明する。図10におけ
るバスサイクル1およびバスサイクル2は、共に図9に
示したバスサイクル1およびバスサイクル2と同じ動作
を行う。
【0054】バスサイクル3では、データリードアクセ
スの為、通常のアクセスを行い、先読みアクセスを中断
する。以下、このバスサイクル3について説明する。
【0055】CPU701は、図10におけるバスサイ
クル3で、ROM−A722のP番地(ここで、Pは偶
数とする)に対し、データリードを要求している。制御
装置717のラッチ信号生成回路756は、各バスサイ
クルが始まる最初のタイミング(Tsステートの始ま
り)においてCPUアドレスラッチA信号725によ
り、CPUアドレス705をラッチするように指示す
る。CPUアドレスラッチ706は、CPUアドレスラ
ッチ信号725でCPUアドレスのP番地をラッチす
る。また、Tsステート終了時に、ラッチ信号生成回路
756は、データリードのアクセス種別情報を得て、先
読みアドレスをラッチしないようにするために、先読み
アドレスラッチ信号726にラッチクロックを出力しな
い。また、制御装置717のデコーダ752は、PAア
ドレス707が偶数アドレスであるので、ROM−Aへ
のアクセスであることを示す情報を出力する。この情報
を受けて、アドレスセレクト信号生成回路755は、T
sステート終了時に、アドレスセレクタA711がPA
アドレス707を選択するように、アドレスセレクト信
号727を0にし、アドレスセレクタB712が先読み
アドレス710を選択するようにセレクトB信号728
を1にして出力する。この結果、アドレスセレクタA7
11は、PAアドレス707をMAAアドレス713に
接続し、アドレスセレクタB712は、先読みアドレス
710をMABアドレス714に接続する。これに伴
い、MAAアドレス713はP番地になり、MABアド
レス714は(N+2)番地となる。先読み用に与えて
いたMAAアドレス713は(N+2)番地からP番地
に切り換わり、命令先読みアクセスからデータリードア
クセスに移る。制御装置717では、ステータス信号7
04とアドレス比較結果716とから、通常アクセスと
判断し、ウエイト信号生成回路753とOE、R/W信
号生成回路754は、1ウエイト挿入になるRDY信号
702と、OE信号718およびR/W信号719とを
それぞれ出力する。
【0056】バスサイクル4においても、バスサイクル
3と同様に、データリードアクセスである為、先読みア
ドレスラッチ709のラッチ動作は無い。バスサイクル
3とバスサイクル4とのそれぞれの開始時に、先読みア
ドレスラッチ709がラッチ動作をしない為、先読みア
ドレスラッチ709は、先読み用アドレスの(N+2)
番地を保持し続ける。バスサイクル5では、再び先読み
アドレスの(N+2)番地による先読みアクセスが行な
われ、命令先読みアクセスに成功している。つまり、デ
ータリードによる命令フェッチの連続性の分断が回避で
きる。よって、命令フェッチ以外のアクセスによる影響
を受けることのない、命令フェッチの連続性を生かした
命令先読みが行なえる。
【0057】以上は、命令読み出しに関する先読みを示
したものである。上記実施例は、命令フェッチに対し先
読みを行なっているが、判定条件を換えることでデータ
読み出しの先読みも行なうことができる。これによっ
て、プログラム内でデータ読み出しが連続した場合は、
処理速度が向上する。また、先読みアドレス生成は、実
施例において、1増加させるタイプであったが中央演算
処理装置の扱うアドレス単位に合わせて、任意単位数増
加、または減少させることで得ることができる。
【0058】以上説明したように、本発明では、CPU
の出力するステータス信号からアクセス種別を得ること
で、データアクセス等に影響を受けない命令先読みが行
なえる。また、先読みアドレスの不一致時やデータアク
セス等の時、即座に通常アクセスへ復帰することによっ
て、余分なウエイトの増加を抑えたアクセスが行なえ
る。この結果、CPUのクロックを高くすることなく処
理速度の高速化が実現できる。さらに、CPUのクロッ
クを高くすれば、それに比例して処理速度の高速化を実
現できる。また、アクセス速度の遅い安価なメモリの採
用も可能になり、コストの削減ができるので経済的であ
る。
【0059】
【発明の効果】本発明によれば、記憶手段を備える情報
処理装置において、メモリアクセスの処理時間を短縮さ
せることができる。
【図面の簡単な説明】
【図1】第1の実施例の構成を示すブロック図。
【図2】図1の制御装置717の内部ブロック図。
【図3】第1の実施例の命令先読みが続くタイミングを
示す説明図。
【図4】第1の実施例のデータリードを含むタイミング
を示す説明図。
【図5】CPUのデータ入出力終了と次アクセスアドレ
ス出力間に、空き時間を生じるタイプのバスサイクルの
一般的なタイミングを示す説明図。
【図6】CPUがデータ入出力終了前に、次アクセスア
ドレスを出力するタイプのバスサイクルの一般的なタイ
ミングを示す説明図。
【図7】第2の実施例の構成を示すブロック図。
【図8】図7の制御装置717の内部ブロック図。
【図9】第2の実施例の命令先読みが続くタイミングを
示す説明図。
【図10】第2の実施例のデータリードを含むタイミン
グを示す説明図。
【図11】従来のシステムにおけるタイミングを示す説
明図。
【図12】従来のシステムにおいて先読みをした場合の
タイミングを示す説明図。
【符号の説明】
101・701…中央演算処理装置(CPU)、107
・708…先読みアドレス生成回路、110・711・
712…アドレスセレクタ、113・715…アドレス
比較装置、717・717…制御装置、118・720
…メモリ選択装置、120・722…読み出し専用記憶
装置(ROM)、121・722…読み書き可能な記憶
装置(RAM)、152・753…ウエイト信号生成回
路、153・754…OE・R/W信号生成回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 米永 斉 茨城県日立市東多賀町一丁目1番1号 株 式会社日立製作所情報映像メディア事業部 内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】命令に従ってデータを処理するCPU(中
    央演算処理装置)と、前記命令および前記データを記憶
    する記憶手段とを備え、前記CPUは、前記記憶手段に
    アクセスする際、当該アクセスが前記命令アクセスであ
    るか前記データアクセスであるかを示すステータス情報
    およびアクセスアドレスを指示して情報処理装置におい
    て、 前記CPUにより指示されたアクセスアドレスに基づい
    て、当該アクセスアドレスのつぎにアクセスすべき命令
    のアドレスを、先読みアドレスとして生成する生成手段
    と、 前記生成手段により生成した先読みアドレスと、前記C
    PUにより指示された実際のアクセスアドレスとを比較
    する比較手段と、 前記生成手段により生成された先読みアドレスを、前記
    CPUにより実際のアクセスアドレスが指示されるまえ
    に前記記憶手段に対してアクセスアドレスとして指示
    し、前記記憶手段へのアクセスは、前記CPUにより実
    際のアクセスアドレスが指示されたときに、前記CPU
    により指示された実際のアクセスアドレスに基づいて行
    い、前記比較手段における比較の結果が一致しない場合
    に、前記CPUに読み出しタイミングを遅らせるように
    指示することにより前記記憶手段のアクセス制御を行う
    制御手段とを有することを特徴とする情報処理装置。
  2. 【請求項2】請求項1において、前記生成手段により生
    成された先読みアドレスと、前記CPUにより指示され
    た実際のアクセスアドレスとのうちいずれかを選択して
    アクセスアドレスとして出力する選択手段を備え、 前記制御手段は、前記記憶手段のアクセス制御を行うた
    めに、前記選択手段に対して選択制御をするための選択
    情報を出力することを特徴とする情報処理装置。
  3. 【請求項3】請求項1において、前記ステータス情報に
    基づいて、前記CPUの記憶手段へのアクセスが前記命
    令アクセスであるか前記データアクセスであるかを判別
    する判別手段をさらに有し、 前記生成手段は、当該生成手段が生成した先読みアドレ
    スを保持する保持手段を備え、前記保持手段は、前記判
    別手段により前記命令アクセスであると判別した場合
    に、前記先読みアドレスを更新し、前記判別手段により
    前記データアクセスであると判別した場合に、前記先読
    みアドレスを更新しないように保持することを特徴とす
    る情報処理装置。
  4. 【請求項4】請求項1において、前記生成手段は、前記
    CPUにより指示されたアクセスアドレスを予め定めた
    単位数増加または減少させることにより先読みアドレス
    を生成することを特徴とする情報処理装置。
  5. 【請求項5】命令に従ってデータを処理するCPU(中
    央演算処理装置)と、前記命令および前記データを記憶
    する記憶手段とを備え、前記CPUは、前記命令アクセ
    スであるか前記データアクセスであるかを示すステータ
    ス情報およびアクセスアドレスを指示して前記記憶手段
    にアクセスする情報処理装置における記憶手段の先読み
    制御方法であって、 前記CPUにより指示されたアクセスアドレスに基づい
    て、当該アクセスアドレスのつぎにアクセスすべき命令
    のアドレスを、先読みアドレスとして生成し、前記生成
    した先読みアドレスと、前記CPUにより指示された実
    際のアクセスアドレスとを比較し、 前記生成手段により生成された先読みアドレスを、前記
    CPUにより実際のアクセスアドレスが指示されるまえ
    に前記記憶手段に対してアクセスアドレスとして指示
    し、 前記CPUにより実際のアクセスアドレスが指示された
    場合に、前記CPUにより指示された実際のアクセスア
    ドレスに基づいて前記記憶手段にアクセスを行い、 前記比較の結果、前記生成された先読みアドレスと前記
    CPUにより指示された実際のアクセスアドレスとが一
    致しない場合に、前記CPUに読み出しタイミングを遅
    らせるように指示することを特徴とする記憶手段の先読
    み制御方法。
  6. 【請求項6】命令に従ってデータを処理するCPU(中
    央演算処理装置)と、前記命令および前記データを記憶
    する複数の記憶手段とを備え、前記CPUは、前記命令
    アクセスであるか前記データアクセスであるかを示すス
    テータス情報およびアクセスアドレスを指示して前記記
    憶手段にアクセスする情報処理装置における記憶手段の
    先読み制御方法であって、 前記複数の記憶手段のアドレスの割当てをあらかじめ規
    定しておき、 前記CPUにより指示されたアクセスアドレスに基づい
    て、当該アクセスアドレスのつぎにアクセスすべき命令
    のアドレスを、先読みアドレスとして生成し、 前記生成された先読みアドレスと、前記CPUにより指
    示された実際のアクセスアドレスとを比較し、 前記生成手段により生成された先読みアドレスを、前記
    CPUにより実際のアクセスアドレスが指示されるまえ
    に、当該先読みアドレスに基づいて、前記規定されてい
    るアドレスの割当てに従い、前記複数の記憶手段のうち
    当該先読みアドレスに対応するアクセス先の記憶手段に
    対して指示し、 前記CPUにより指示された実際のアクセスアドレスに
    基づいて、前記規定されているアドレスの割当てに従
    い、前記複数の記憶手段のうち当該実際のアクセスアド
    レスに対応するアクセス先の記憶手段に対して前記CP
    Uにより指示された実際のアクセスアドレスを指示し、 前記比較の結果、前記生成された先読みアドレスと前記
    CPUにより指示された実際のアクセスアドレスとが一
    致しない場合に、前記CPUに読み出しタイミングを遅
    らせるように指示することを特徴とする記憶手段の先読
    み制御方法。
JP19454693A 1993-08-05 1993-08-05 情報処理装置および記憶手段の先読み制御方法 Pending JPH0749780A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19454693A JPH0749780A (ja) 1993-08-05 1993-08-05 情報処理装置および記憶手段の先読み制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19454693A JPH0749780A (ja) 1993-08-05 1993-08-05 情報処理装置および記憶手段の先読み制御方法

Publications (1)

Publication Number Publication Date
JPH0749780A true JPH0749780A (ja) 1995-02-21

Family

ID=16326338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19454693A Pending JPH0749780A (ja) 1993-08-05 1993-08-05 情報処理装置および記憶手段の先読み制御方法

Country Status (1)

Country Link
JP (1) JPH0749780A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789526B2 (en) 2001-02-08 2004-09-14 Denso Corporation Apparatus for controlling throttle valve and manufacturing method for the same and motor
JP2005182832A (ja) * 2003-12-22 2005-07-07 Micronas Gmbh メモリアクセスを制御するための方法および装置
JP2008204258A (ja) * 2007-02-21 2008-09-04 Seiko Epson Corp メモリを制御するメモリコントローラ、メモリの制御方法。

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789526B2 (en) 2001-02-08 2004-09-14 Denso Corporation Apparatus for controlling throttle valve and manufacturing method for the same and motor
JP2005182832A (ja) * 2003-12-22 2005-07-07 Micronas Gmbh メモリアクセスを制御するための方法および装置
US7747832B2 (en) 2003-12-22 2010-06-29 Micronas Gmbh Method for controlling a memory access
JP2008204258A (ja) * 2007-02-21 2008-09-04 Seiko Epson Corp メモリを制御するメモリコントローラ、メモリの制御方法。

Similar Documents

Publication Publication Date Title
JP3243615B2 (ja) トグル・モード・インクリメント論理回路を使用した線形およびトグル・モードのバースト・アクセス・シーケンスを制御する方法および装置
KR100272938B1 (ko) 반도체장치및컴퓨터시스템
JP3532932B2 (ja) 時間重複メモリ・アクセスを有するランダムにアクセス可能なメモリ
KR100341948B1 (ko) 제어된버스트메모리액세스기능을갖는데이타처리기및그방법
US7069399B2 (en) Method and related apparatus for reordering access requests used to access main memory of a data processing system
US5761708A (en) Apparatus and method to speculatively initiate primary memory accesses
JPH0670773B2 (ja) 先行制御方式
US7822952B2 (en) Context switching device
US5829010A (en) Apparatus and method to efficiently abort and restart a primary memory access
US5822762A (en) Information processing device with decision circuits and partitioned address areas
JP2704113B2 (ja) データ処理装置
JP4250989B2 (ja) メモリアクセス制御装置
JPH0749780A (ja) 情報処理装置および記憶手段の先読み制御方法
US20020188820A1 (en) Memory controller and memory control method for controlling an external memory device to be accessible even in an addressing mode that is not supported thereby
KR100457478B1 (ko) 메모리액세스방법및데이터처리시스템
EP0798645B1 (en) Bus controller and information processing device
US6026046A (en) Apparatus for decoding addresses
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP4498705B2 (ja) キャッシュシステム
JP2007108882A (ja) メモリコントローラ及びメモリ制御方法と情報処理装置
JP2002251883A (ja) 半導体記憶装置および情報処理システム
US5784580A (en) System and method for communicating between devices
US6349376B1 (en) Method for decoding addresses using comparison with range previously decoded
JPH09198305A (ja) メモリ制御装置
JPH1153257A (ja) メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体