JP4592944B2 - Cpuインターフェース回路 - Google Patents
Cpuインターフェース回路 Download PDFInfo
- Publication number
- JP4592944B2 JP4592944B2 JP2000385818A JP2000385818A JP4592944B2 JP 4592944 B2 JP4592944 B2 JP 4592944B2 JP 2000385818 A JP2000385818 A JP 2000385818A JP 2000385818 A JP2000385818 A JP 2000385818A JP 4592944 B2 JP4592944 B2 JP 4592944B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- cpu
- circuit
- address pointer
- generation circuit
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
【発明の属する技術分野】
本発明は、CPUインターフェース回路に関し、特にCPUが外部メモリをシステムバス経由でアクセスするためのCPUインターフェース回路に関する。
【0002】
【従来の技術】
速度の速いCPUや半導体メモリと速度の遅い記憶装置との間のデータ通信においては、両者のスピードギャップに起因する弊害を解消するために、従来から、様々な手段が講じられている。例えば特開昭62−123521号公報記載の「フロッピーディスク装置のバッファメモリ制御方式」によれば、速度の遅いフロッピーディスク装置がメインメモリにデータを転送する場合にデータバスを占有してしまい、その間はCPUが待ち状態となり、システムのスループットを落としてしまうという問題を解決するため、フロッピーディスク装置とメインメモリの間に動作の高速なFIFOバッファを設けている。そして、このFIFOバッファを、新たに設けた別のローカルバス経由でデータバスに乗せ換えてメインメモリに自動転送し、CPUの待ち状態を少なくするDMA(Direct Memory Access)のような目的に用いている。
【0003】
また、複数のCPUを用い、システムバス経由で共有メモリを使用する装置においては、CPUからシステムバス経由で共有メモリにデータを書き込む場合に、共有メモリを制御するRAM制御回路からのアクノリッジ信号が戻ってきてから次の命令を行うようにしている。
【0004】
【発明が解決しようとする課題】
しかしながら、上述した従来技術では、CPUから外部メモリへのバーストモードによるアクセスに対しては所期の目的を達成できるが、ランダムアクセスモードにおいては、1回のライトアクセスに非常に時間がかかってしまうという第1の問題点がある。その理由は、速度の遅いシステムバス上の外部メモリを使用するので、CPUがこの外部メモリへランダムアクセスした場合、アクセスが完了したことを知らせるアクノリッジ信号が返ってくるまで待たされることとなり、他の命令を実行することができないためである。
【0005】
また、複数のCPUが外部メモリを共有する場合には、各CPUからの外部メモリへのアクセスが集中してシステムバスの使用権を巡る調停が増えると、システムバスの使用権を獲得するまでの時間もアクセス時間に含まれることとなり、より一層アクセス時間がかかってしまうという第2の問題点がある。
【0006】
そこで、本発明の目的は、CPUがシステムバス上の外部メモリへランダムアクセスを行ったときにも、アクノリッジ信号が返送されるまでCPUが待つ必要がないCPUインターフェース回路を提供することにある。
【0007】
本発明の他の目的は、CPUインターフェース回路が外部メモリへランダムアクセスする際に、他のCPUとシステムバスの使用権が競合して外部メモリが使用できないときでも、CPUが待たされないような調停機能を併せ持つCPUインターフェース回路を提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するため、外部メモリへのアクセスは、システムバスのアクセス速度が遅いためにCPUの動作を中断させてしまう可能性があるので、本発明では、CPUから外部メモリに直接アクセスせずに、CPUからの複数個アクセス命令を一時的に格納することのできるパイプラインバッファ(図1の4)と、パイプラインバッファに保留されたアクセス命令をCPUに代わって実行するアクセスコントローラ(図1の7)を有している。
【0009】
また、本発明は、ライトアクセス時にはパイプラインバッファにアクセス命令を格納した時点でCPUに自動的にアクノリッジ信号CPUACKを送出し、リードアクセス時はシステムバス上のRAM制御回路からのメモリアクノリッジ信号MACKをCPUに返送するACKコントローラ(図1の2)を有し、このACKコントローラに作用する別の回路として、パイプラインバッファに格納しているアクセス命令数をカウントする書込みアドレスポインタ生成回路(図1の3)と、実行したアクセス命令数をカウントする実行アドレスポインタ生成回路(図1の6)を設け、ACKコントローラはこの2つのアドレスポインタの差を監視して、未処理の格納命令数がパイプラインバッファ段数を超えないようにCPUへの自動アクノリッジ返送を制御していることに特徴がある。
【0010】
本発明では、CPUが外部メモリにアクセスしたときに、リード/ライト命令を判別し、ライト命令ならRAM制御回路からのアクノリッジを待たずに自動的にアクノリッジ信号をCPUへ発行し、リード命令ならRAM制御回路から発行されるアクノリッジ信号をCPUに返すACKコントロール回路を有している。この結果、ライトアクセス時には、CPUがライト命令を実行した時点で次の命令に移行することができる。
【0011】
また、外部メモリにライトされる前にさらにCPUから外部メモリへのアクセスが重なったときにおいても、アクセスアドレス,ライトデータおよびリード/ライト種別コードを合成し、それらの連続アクセス命令を一時的に格納することができるパイプラインバッファと、そのパイプラインバッファのオーバーフローや格納命令数を管理するアドレスポインタ生成回路を設けて、オーバーフローを起こす危険がある場合には、ACKコントロール回路に作用しCPUへのアクノリッジ信号の返送をマスクする機能を有する。
【0012】
RAM制御回路は、アドレスポインタの示す値からパイプラインバッファに保留されたアクセス命令があると判断すると、パイプラインバッファに保留されていたCPUのアクセス命令をシステムバス上に発行し、外部メモリへのアクセスを行い、ライト命令ならば書き込み、リードならばRAM制御回路からアクノリッジ信号が発行されたときにシステムバス上のデータをラッチ回路に保存してCPUのデータバスに乗せ、ACKコントローラはRAM制御回路からのメモリアクノリッジ信号MACKからアクノリッジ信号CPUACKを生成してCPUに返送し、リードデータの受け渡しを行う。
【0013】
このように、外部メモリへのライトアクセスにおいては、パイプラインバッファにアクセス命令が格納された時にACKコントローラから自動的にCPUへアクノリッジを返送することにより、CPUは長時間待たされることなく他の処理に移行することが可能となる。
【0014】
【発明の実施の形態】
本発明のCPUインターフェース回路は、CPUから外部メモリをシステムバス経由でアクセスするためのCPUインターフェース回路であって、CPUから発行されるアクセスのためのアクセス命令を格納するパイプラインバッファと、パイプラインバッファ中の未処理アクセス命令数を検出する手段と、パイプラインバッファ中の処理済みアクセス命令数を検出する手段と、アクセス命令がライト命令であるときは、未処理アクセス命令数が処理済みアクセス命令数より少なくない限り、外部メモリへの書込み完了を待たずにCPUへアクノリッジ信号を返送する手段と、未処理アクセス命令数のカウント数が処理済みアクセス命令数より少なくない限り、パイプラインバッファ中のアクセス命令の実行を起動する手段とを備えたものである。
【0015】
【実施例】
次に、本発明の実施例について図面を参照して詳細に説明する。
【0016】
図1は本発明の第1の実施例であるCPUインターフェース回路100を示す。このCPUインターフェース回路100は、ACKコントローラ2,書込みアドレスポインタ生成回路3,パイプラインバッファ4,ラッチ回路5,実行アドレスポインタ生成回路6およびアクセスコントローラ7から成る。
【0017】
図1において、書込みアドレスポインタ生成回路3はCPU1が外部メモリ10にアクセスしたときにカウントアップするカウンタ回路であり、パイプラインバッファ4はCPU1が外部メモリ10にアクセスする時のアクセスアドレス,リード/ライト種別およびライトならばそのライトデータ(この3つをまとめてアクセス命令という)をCPUデータバス20を介して格納する回路である。パイプラインバッファ4は、CPU1の外部メモリ10へのアクセス単位に上述のアクセス命令を格納するメモリ番地を有し、各メモリ番地は書込みアドレスポインタ生成回路3によって指定される。なお、1つのメモリ番地が1つのバッファとなる。
【0018】
アクセスコントローラ7はパイプラインバッファ4に格納されている未処理のアクセス命令を取り出して、システムバス8を介しRAM制御回路9にリードあるいはライトアクセスを行う。RAM制御回路9は外部メモリ10にアクセスするためのインターフェース回路であり、外部メモリ10へのアクセスが完了したことを知らせるメモリアクノリッジ信号MACKの生成機能を有している。実行アドレスポインタ生成回路6はこのRAM制御回路9からのメモリアクノリッジ信号MACK信号を受け取り、外部メモリ10へのアクセスが完了したことをカウントアップする回路であり、ラッチ回路5はリード時にRAM制御回路9を介して出力されるリードデータをRAM制御回路9からのメモリアクノリッジ信号MACKの入力タイミングで取り込む回路である。
【0019】
ACKコントローラ2は、リード時にはラッチ回路5で取り込んだリードデータをアクノリッジ信号CPUACK返送のタイミングでCPUデータバス20に乗せ、CPU1にリードデータを転送する。ACKコントローラ2は書込みアドレスポイイタ生成回路3および実行アドレスポイイタ生成回路6と接続されており、この2つのアドレスポインタの値を元にパイプラインバッファ4内の未処理アクセス命令数と処理完了のアクセス命令数の差を演算してCPU1へのアクノリッジ信号CPUACKの返送を制御する回路である。この結果、パイプラインバッファ4に、例えばを8段のパイプラインバッファを設けるとCPU1からのライトアクセス命令が8回連続行われてもCPU1は待ち時間無しで他の処理を行うことができるようになる。
【0020】
なお、RAM製御回路9の機能は、使用する外部メモリ10の仕様に依存して異なり、アクセスコントローラ7の機能は、RAM制御回路9の機能に合わせることになる。
【0021】
次に、パイプラインバファ4の詳細図(図2)およびタイミングチャート(図3,図4)を参照して本実施例の動作について説明する。
【0022】
パイプラインバッファ4は図2のような8段のバッファ#0〜バッファ#4で構成されており、バッファ#0〜バッファ#7のそれぞれは、CPU1からのアクセスがリードの時はリード/ライト種別信号を1ビットで表現したデータR/Wと、アクセスアドレスXA,更にライトアクセスの時は、その他にライトデータXDを格納する。ここでは、アクセスアドレスXAと、ライトデータXDがそれぞれ32ビット幅とする。
【0023】
CPU1から外部メモリ10へのアクセス命令が発行されると、書込みアドレスポインタ生成回路3に1が加算される。一方、実行アドレスポインタ生成回路6は,RAM制御回路9から発行され外部メモリ10へのアクセスが完了したことを示すメモリアクノリッジ信号MACKをカウントする。RAM制御回路9はシステムバス8上の外部メモリ10にライトまたはリードアクセスするためのインターフェース機能を有し、外部メモリ10の動作状態を監視してシステムバス8の使用許可信号を生成したり、あるいは外部メモリ10の選択信号MCS信号およびメモリアクノリッジ信号MACKを生成する。
【0024】
当初は、書込みアドレスポインタ生成回路3と、実行アドレスポインタ生成回路6の初期値はともに“0”であり、この2つのアドレスポインタの差はないが、CPUインターフェース回路100がCPU1から外部メモリアクセス命令を受けると、書込みアドレスポインタ生成回路3に1が加算されるので、書込みアドレスポインタ生成回路3と実行アドレスポインタ生成回路6の差は“0”でなくなる。アクセスコントローラ7はこの条件を契機としてシステムバス8上のRAM制御回路9にアクセス信号を出力する。ライトアクセス時は、この時点でCPU1に対して、外部メモリ10へのライトアクセスが完了したことを示すアクノリッジ信号CPUACKを返送する。
【0025】
図3はライトアクセス時におけるタイミングチャートである。システムバスクロックより遥かに早いクロックで動作するCPU1からメモリライトアクセス命令が発行されると、アクセスコントローラ7はパイプラインバッファ4のメモリ番地に格納していたアクセスアドレスXAをMA[31:0]、ライトデータXDをMD[31:0]、R/W種別をR/Wとしてシステムバス8上に出力し、RAM制御回路9は外部メモリ10へアクセスを行う。本来ならば外部メモリ10にライトデータMD[31:0]がライトされ、RAM制御回路9から発行されるメモリアクノリッジ信号MACKを受けた後に、CPU1は次の命令を発行する。しかし、ここでは図3に示されるように、ACKコントローラ2は、CPUクロックの数クロック後にアクノリッジ信号CPUACKを自動生成するので、メモリアクノリッジ信号MACKを待たずにCPU1は次の命令実行に移ることができる。
【0026】
そして、後にRAM制御回路9から発行されたメモリアクノリッジ信号MACKを受けると実行アドレスポインタ生成回路6に1が加算される。この時、書込みアドレスポインタ生成回路3との差が“0”であれば、パイプラインバッファ4に格納さている保留アクセス命令が無いと判断し、本CPUインターフェース回路100は停止する。しかし、実行アドレスポインタ生成回路6と書込みアドレスポインタ生成回路3に差があるならば、まだ保留されているアクセス命令があるということなので、アクセスコントローラ7からRAM制御回路9へ次のアクセス命令が送られ実行される。
【0027】
一方、リード時の外部メモリ10へのアクセス方法はライト時と同様であるが、この場合には外部メモリ10からのリードデータMD[31:0]をラッチ回路5に取り込む。取り込むタイミングは図4で示すようにRAM制御回路9から発行されるメモリアクノリッジ信号MACKを契機とする。ACKコントローラ2は、CPUクロックで2回サンプリングしてアクノリッジ信号CPUACKで生成してCPU1へ返送するのである。
【0028】
また、この時に同時にラッチ回路5で取り込んだリードデータCD[31:0]をCPUデータバス20に送出し、CPU1はアクノリッジ信号CPUACKを受けた時のCPUデータバス20上のデータCD[31:0]をリードデータとして取り込む。このようにリードアクセス時には、外部メモリ10からリードデータが転送されてくるまでCPU1が待たされるので、従来のアクセス方式と変わりはない。
【0029】
以上の説明のように、ACKコントローラ2は、基本的にはライトアクセス命令をパイプラインバッファ4に格納したときにCPU1に対してアクノリッジ信号CPUACKを返送し、リードアクセス時はRAM制御回路9からメモリアクノリッジ信号MACKが来るまでアクノリッジ信号CPUACKを返送しないようになっている。ただし、外部メモリ10へのアクセス処理が遅く、パイプラインバッファ4に格納された未処理のアクセス命令が一杯になってしまった時は、未処理のアクセス命令が上書き格納されないよう、例外的にリードアクセスまたはライトアクセスに関係なく、その最後のCPU1からの外部メモリ10へのアクセス命令に対するアクノリッジ信号CPUACKは現在実行中のアクセス処理が終わるまでCPU1へ返送しない。
【0030】
したがって、本発明はパイプラインバッファ4が一杯にならず、かつライトアクセスが連続的に行われることが多い場合はCPU1の稼働率向上に効果的である。
【0031】
次に、本発明の第2の実施例について説明する。この実施例は、図5に示すように、3つのCPU1,22,23が共有する外部メモリ10へのメモリアクセスに対する調停機能を有するシステムに対して適用したものである。図5と図1において、同じ参照番号が付されたものの機能は同一であり、重複を回避するために、ここではそれらの説明を省略する。また、この実施例では、3つのCPU1,22および23が外部メモリ10を共有し、CPU22,CPU23は、それぞれCPUインターフェース回路12,13を介してシステムバス8に接続されている。CPUインターフェース回路101は、図1に示したCPUインターフェース回路100に調停回路11が付加されたものとなっている。
【0032】
この実施例では、3つCPU1,22および23がシステムバス8を共有するので、例えばCPU1がシステムバス8を使用している時はアクセスコントローラ7がシステムバス獲得信号14を他のCPUインターフェース回路12および23に通達する。この時、調停回路11はアクセスコントローラ7が外部メモリ10にアクセスしようとする際に発行する動作許可願いを受け取ると、CPUインターフェース回路12,13からののシステムバス獲得信号15を監視し、システムバス8がCPUインターフェース回路12,13に使用されていないかを確認した後、使用されていなければアクセスコントローラ7に動作許可信号を発行する。この動作許可信号を受けるとアクセスコントローラ7はシステムバス獲得信号14をCPUインターフェース回路12,13に出力した後にRAM制御回路9へアクセスを始める。
【0033】
次に、タイムチャート図6および図7を参照して本実施例の動作について説明する。パイプラインバッファ4の構成を示す図2は本実施例にも適用できる。CPU1から外部メモリ10へアクセス命令が発行されると、書込みアドレスポインタ生成回路3に1が加算される。一方、実行アドレスポインタ生成回路6は、RAM制御回路9から発行され外部メモリ10へのアクセスが完了したことを示すメモリアクノリッジ信号MACKをカウントする。RAM制御回路9は、システムバス8上の外部メモリ10にライトまたはリードアクセスするためのインターフェース機能を有し、外部メモリ10の選択信号であるMCS信号およびメモリアクノリッジ信号MACKを生成する。
【0034】
当初は、書込みアドレスポインタ生成回路3と実行アドレスポインタ生成回路6の初期値は共に“0”であり、この2つのアドレスポインタに差はないが、CPUインターフェース回路101がCPU1からの外部メモリアクセス命令を受け付けると、書込みアドレスポインタ生成回路3に1が加算されるので、書込みアドレスポインタ生成回路3と実行アドレスポインタ生成回路6の差が“0”でなくなる。アクセスコントローラ7はこの条件を契機として調停回路11に外部メモリ10へのアクセス動作許可願いを発行する。
【0035】
要求を受けた調停回路11は、他のCPUインターフェース回路12,13のシステムバス獲得信号15をサーチし、システムバス8が使用されているかどうか確認作業を行う。システムバス8の使用権が空いていれば直ちにアクセスできるのだが、図6では既に他のCPUインターフェース回路がシステムバスを獲得しているので、調停回路11はアクセスコントローラ7には動作許可信号を与えることができない。その後、暫くして他のCPUインターフェース回路がシステムバス8の使用を終了したので、これを監視していた調停回路11がアクセスコントローラ7に動作許可信号を発行する様子が示されている。
【0036】
アクセスコントローラ7は動作許可信号を受けると、実行アドレスポインタ生成回路6の値で示されるパイプラインバッファ4のメモリ番地に格納されている外部メモリアクセス命令をRAM制御回路9に出力し、メモリアクセスが行われる。図6はライト動作時のタイミングチャートである。外部メモリ10へのライトが完了すると、RAM制御回路9からメモリメモリアクノリッジ信号MACKが返送されるので、実行アドレスポインタ生成回路6はこれを受けて実行アドレスポインタ生成回路6に1を加算し、次の動作に備える。この時点で実行アドレスポインタ生成回路6と書込みアドレスポインタ生成回路3の差が“0”の場合はCPU1からのアクセス命令が無かったことになるので動作停止となる。差があった場合は、アクセスコントローラ7が調停回路11に動作許可願いを発行し、以後、上記の動作が繰り返される。
【0037】
一方、リード時の外部メモリ10へのアクセス方法はライト時と同様に調停を行った後に行われるが、リード時には外部メモリ10からのリードデータMD[31:0]をラッチ回路5に取り込む。取り込むタイミングは図7で示すようにRAM制御回路9から発行されるメモリメモリアクノリッジ信号MACKを契機とする。ACKコントローラ2は、CPUクロックで2回サンプリングしてアクノリッジ信号CPUACKを生成してCPU1に返送するのである。
【0038】
また、この時に同時にラッチ回路5で取り込んだリードデータをCPUデータバス20に送出し、CPU1はアクノリッジ信号CPUACKを受けた時のCPUデータバス20上のデータCD[31:0]をリードデータとして取り込む。このように、リードアクセス時は外部メモリ10からリードデータMD[31:0]が転送されてくるまでCPU1が待たされるので、従来のアクセス方式と変わりはない。図7ではライトの動作で説明した状況と同じく、CPU1が外部メモリ10へリードアクセス命令を発行したときに、他のCPU22,23がシステムバス8を使用しいてたのでその動作が終了するまでアクセスコントローラ7が待たされ、システムバス8の使用権が解放された後にアクセスコントローラ7の動作が許可されて外部メモリ10へのリードが行われることを示している。
【0039】
以上の説明のように、ACKコントローラ2は、基本的にはライトアクセス命令をパイプラインバッファ4に格納したときにCPU1に対してアクノリッジ信号CPUACKを返送するので、CPU1は待たされることなく連続で処理を行うことができる。リードアクセス時はRAM制御回路9からのメモリアクノリッジ信号MACKが来るまでアクノリッジ信号CPUACKを返送しないようになっている。ただし、例外的に外部メモリ10へのアクセス処理が遅く、パイプラインバッファ4に格納された未処理のアクセス命令が一杯になってしまった時は、リードアクセスまたはライトアクセスに関係なくその最後のCPU1からの外部メモリ10へのアクセス命令に対するアクノリッジ信号CPUACKは現在実行中のアクセス処理が終わるまでは返送しない。
【0040】
この本実施例によると、外部メモリ10を複数のCPUで共有していることによる使用権獲得までの待ち時間が長い時のライトアクセス、あるいはパイプラインバッファ4が一杯にならず、かつライトアクセスが比較的連続して行われるような場合、例えばCPU1に計算させた後に外部メモリ10にその計算結果を連続的に8回ストアして、他のCPUがその結果を用いるために外部メモリ10へリードするようなアプリケーション上で稼働する場合にCPU1の稼働率向上の成果が顕著に現れる。
【0041】
次に、本発明の第3の実施例について図8および図9により説明する。
【0042】
本発明では、これまで説明したように外部メモリへのライトアクセス時に効果的だが、リードアクセスは従来と同じアクセスタイムであった。第3の実施例では、CPU1が外部メモリ10へリードを行ったときは、図9のタイミングチャートで示すようにライトアクセスと同じタイミングでアクノリッジ信号CPUACKを返すことにより、CPU1の待ち時間を減らして次の処理を実行することができるようになる。ただし、RAM制御回路9からメモリアクノリッジ信号MACKが返送され、外部メモリ10からリードしたデータをラッチ回路5に取り込んだ時点で、CPU1には割込み信号であるINT16を発行する。
【0043】
CPU1はこのINT16を受け付けると、ラッチ回路5のデータをリードすることによってリードアクセスを完了させる。このように1回の外部メモリリードアクセスの待ち時間をライトアクセスと同等にするために2回のリード命令が必要にはなるが、プロセッサクロックはシステムバス8のクロックに比べて十分に早いので、リード時においてもCPU1の待ち時間短縮の効果が期待できるのである。
【0044】
【発明の効果】
本発明の効果は、CPUが外部メモリに対して、ランダムにアクセスする時にアクノリッジ信号を受けるまでの待ち時間を減らし、その間により多くの処理を実行することができるということである。
【0045】
その理由は、CPUから外部メモリへのアクセス命令を一度パイプラインバッファに格納した後にCPUへアクノリッジ信号を返送して既に処理が済んだように見せかけ、外部メモリへのアクセスはアクセスコントローラが代行するので、アクセス完了後のアクノリッジ信号を待たないで次の処理に移行できるからである。例えばパイプラインバッファの段数を8とすれば、1回のライトアクセスに要するCPUの待ち時間は、従来の方法に比べて平均でシステムバスクロックの8クロック分程度早くなるように改善される。
【0046】
また、複数のCPUが共有メモリをシステムバス経由で共有するシステムでは、CPUインターフェース回路それぞれに調停回路を設け、他のCPUによるシステムバスの使用が調停回路に知らすようにすることによって、システムバスの調停性能を高めることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のブロック図
【図2】本発明におけるパイプラインバッファの構成図
【図3】図1に示した第1の実施例におけるライトアクセスタイミングチャート
【図4】図1に示した第1の実施例におけるリードアクセスタイミングチャート
【図5】本発明の第2の実施例のブロック図
【図6】図5に示した第2の実施例におけるライトタイミングチャート
【図7】図5に示した第2の実施例におけるリードタイミングチャート
【図8】本発明の第3の実施例のブロック図
【図9】図8に示した第3の実施例におけるリードアクセスタイミングチャート
【符号の説明】
1 CPU
2 ACKコントローラ
3 書込みアドレスポインタ生成回路
4 パイプラインバッファ
5 ラッチ回路
6 実行アドレスポインタ生成回路
7 アクセスコントローラ
8 システムバス
9 RAM制御回路
10 外部メモリ
11 調停回路
12 CPUインターフェース回路
13 CPUインターフェース回路
14 システムバス獲得信号
15 システムバス獲得信号
16 INT信号
100 CPUインターフェース回路
101 CPUインターフェース回路
102 CPUインターフェース回路
Claims (4)
- CPUから外部メモリをシステムバス経由でアクセスするためのCPUインターフェース回路において、
前記CPUから発行される前記アクセスのためのアクセス命令を格納するパイプラインバッファと、
前記パイプラインバッファ中の未処理アクセス命令数を検出する手段と、
前記パイプラインバッファ中の処理済みアクセス命令数を検出する手段と、
前記アクセス命令がライト命令であるときは、前記未処理アクセス命令数が前記処理済みアクセス命令数より少なくない限り、前記外部メモリへの書込み完了を待たずに前記CPUへアクノリッジ信号を返送する手段と、
前記未処理アクセス命令数のカウント数が前記処理済みアクセス命令数より少なくない限り、前記パイプラインバッファ中のアクセス命令の実行を起動する手段と
を備えたことを特徴とするCPUインターフェース回路。 - CPUから外部メモリをシステムバス経由でアクセスするためのCPUインターフェース回路において、
前記CPUから発行される前記アクセスのためのアクセス命令を格納するパイプラインバッファと、
前記パイプラインバッファにアクセス命令が格納される毎にカウントアップされて前記パイプラインバッファの番地を指定する書込みアドレスポインタ生成回路と、
前記パイプラインバッファに格納されたアクセス命令が処理されるとカウントアップされる実行アドレスポインタ生成回路と、
前記アクセス命令がライト命令であるときは、前記書込みアドレスポインタ生成回路のカウント数が前記実行アドレスポインタ生成回路のカウント数より少なくない限り、前記外部メモリへの書込み完了を待たずに前記CPUへアクノリッジ信号を返送するACKコントローラと、
前記書込みアドレスポインタ生成回路のカウント数が前記実行アドレスポインタ生成回路のカウント数より少なくない限り、前記パイプラインバッファ中のアクセス命令の実行を起動するアクセスコントローラと
を備えたことを特徴とするCPUインターフェース回路。 - 複数のCPUから共有する外部メモリをシステムバス経由でアクセスするために前記CPU毎に設けられたCPUインターフェース回路において、
前記CPUから発行される前記アクセスのためのアクセス命令を格納するパイプラインバッファと、
前記パイプラインバッファにアクセス命令が格納される毎にカウントアップされて前記パイプラインバッファの番地を指定する書込みアドレスポインタ生成回路と、
前記パイプラインバッファに格納されたアクセス命令が処理されるとカウントアップされる実行アドレスポインタ生成回路と、
前記アクセス命令がライト命令であるときは、前記書込みアドレスポインタ生成回路のカウント数が前記実行アドレスポインタ生成回路のカウント数より少なくない限り、前記外部メモリへの書込み完了を待たずに前記CPUへアクノリッジ信号を返送するACKコントローラと、
他のCPUインターフェース回路との間で前記システムバスの使用を調停する調停回路と、
前記書込みアドレスポインタ生成回路のカウント数が前記実行アドレスポインタ生成回路のカウント数より少なくなく、かつ前記調停回路によって前記システムバスの使用許可がされると前記他のCPUインターフェース回路へ前記調停のためにシステムバス獲得信号を出力した後に前記パイプラインバッファ中のアクセス命令の実行を起動するアクセスコントローラと
を備えたことを特徴とするCPUインターフェース回路。 - 前記ACKコントローラは、リードアクセス時にもライトアクセス時と同じタイミングで前記CPUへアクノリッジ信号を返送し、前記外部メモリから読み出したデータをラッチ回路に取り込んだ時点で前記CPUに割込み信号を発行し、該CPUによる前記ラッチ回路のリードを勧誘することを特徴とする請求項2または請求項3に記載のCPUインターフェース回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000385818A JP4592944B2 (ja) | 2000-12-19 | 2000-12-19 | Cpuインターフェース回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000385818A JP4592944B2 (ja) | 2000-12-19 | 2000-12-19 | Cpuインターフェース回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002189695A JP2002189695A (ja) | 2002-07-05 |
JP4592944B2 true JP4592944B2 (ja) | 2010-12-08 |
Family
ID=18853022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000385818A Expired - Lifetime JP4592944B2 (ja) | 2000-12-19 | 2000-12-19 | Cpuインターフェース回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4592944B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4757582B2 (ja) | 2005-09-20 | 2011-08-24 | エルピーダメモリ株式会社 | データ転送動作終了検知回路及びこれを備える半導体記憶装置 |
KR101841964B1 (ko) * | 2011-02-22 | 2018-05-15 | 삼성전자주식회사 | 인터커넥터를 포함하는 시스템 온 칩 및 그것의 제어 방법 |
CN113760376B (zh) * | 2021-09-06 | 2024-05-28 | 合肥松豪电子科技有限公司 | TP芯片CPU在Eflash上同时运行且操作的方法 |
CN114036096B (zh) * | 2021-11-04 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种基于总线接口的读控制器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0830434A (ja) * | 1994-07-15 | 1996-02-02 | Fuji Xerox Co Ltd | メモリアクセス制御装置 |
WO2000060462A1 (en) * | 1999-04-07 | 2000-10-12 | Cradle Technologies | Global bus synchronous transaction acknowledge with nonresponse detection |
-
2000
- 2000-12-19 JP JP2000385818A patent/JP4592944B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0830434A (ja) * | 1994-07-15 | 1996-02-02 | Fuji Xerox Co Ltd | メモリアクセス制御装置 |
WO2000060462A1 (en) * | 1999-04-07 | 2000-10-12 | Cradle Technologies | Global bus synchronous transaction acknowledge with nonresponse detection |
JP2002541548A (ja) * | 1999-04-07 | 2002-12-03 | クレイドル・テクノロジーズ | 無応答検出を備えたグローバルバス同期トランザクション肯定応答 |
Also Published As
Publication number | Publication date |
---|---|
JP2002189695A (ja) | 2002-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2978539B2 (ja) | データ転送制御装置 | |
JP3201786B2 (ja) | ディジタル信号処理システムの制御方法 | |
US6085261A (en) | Method and apparatus for burst protocol in a data processing system | |
US6782433B2 (en) | Data transfer apparatus | |
JP4592944B2 (ja) | Cpuインターフェース回路 | |
JP3803196B2 (ja) | 情報処理装置、情報処理方法および記録媒体 | |
EP1071020A2 (en) | Information processing system | |
JP2669911B2 (ja) | Dmaコントローラおよび情報処理システム | |
JP3265582B2 (ja) | マイクロコンピュータ | |
JP2000215154A (ja) | Dmaコントロ―ラ | |
JPS6240565A (ja) | メモリ制御方式 | |
JP3467188B2 (ja) | 多重化バスの順序保証システム | |
JP2001014214A (ja) | メモリ共有方法、およびこの方法を使用したマルチプロセッサ設備 | |
JP4012718B2 (ja) | Dma転送装置 | |
JPH0713881A (ja) | 通信処理装置 | |
JP2856709B2 (ja) | バス間結合システム | |
JPS61156454A (ja) | デ−タ転送制御装置 | |
JPH02112054A (ja) | データ処理装置 | |
JP2008198119A (ja) | データ転送装置、データ転送システムおよびデータ転送方法 | |
JPH04162135A (ja) | データ処理装置 | |
JPH03188547A (ja) | データ転送制御装置 | |
JPH05120205A (ja) | Dma転送用アドレス変換装置付きプロセツサシステムおよびdma転送方法 | |
JPH05334233A (ja) | データ転送装置 | |
JPH05257860A (ja) | 情報処理装置 | |
JPH06208542A (ja) | バス争奪方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100617 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100910 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100915 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4592944 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |