(57)【要約】【課題】プロセッサの内蔵メモリに対して、小規模で常に優先かつ高速なメモリへのデータ入出力機構を実現する。【解決手段】命令をパイプライン処理するプロセッサと、プロセッサに内蔵するメモリと、メモリに対し高い優先度でアクセスをする入出力制御手段からなる情報処理装置において、メモリアクセス調停方法は、プロセッサと入出力制御手段のメモリへのアクセスが競合した場合に、プロセッサに供給するクロックをウェイトさせるステップ（Ｓ５１２）と、入出力制御手段のメモリへのアクセスを実行するステップ（Ｓ５０６）と、入出力制御手段のメモリへのアクセス終了後にプロセッサのクロックウェイトを解除し、プロセッサのメモリへのアクセスを実行するステップ（Ｓ５０７、Ｓ５１１）からなる。【選択図】  図５
2004227484.tif 000002
【特許請求の範囲】
【請求項１】
データ記憶手段と、
前記データ記憶手段に対してアクセスする第１と第２のデータ入出力手段と、
前記第２のデータ入出力手段にクロックを供給するクロック生成手段と、
前記第１のデータ入出力手段と前記第２のデータ入出力手段の前記データ記憶手段に対するアクセスを切替える切替え手段と、
前記第１のデータ入出力手段と前記第２のデータ入出力手段の前記データ記憶手段に対するアクセスが競合した場合に、前記第２のデータ入出力手段に対するクロックをウェイトさせ、前記第１のデータ入出力手段のアクセスを先に実行させ、前記第１のデータ入出力手段のアクセス終了後に前記第２のデータ入出力手段のアクセスを開始させるアクセス調停手段とを備えること
を特徴とする情報処理装置。
【請求項２】
内蔵メモリと、
前記内蔵メモリに格納されたデータを処理するプロセッサと、
前記プロセッサにクロック信号を供給するクロック生成手段と、
外部制御装置からの指示を受けて前記内蔵メモリへのアクセスを実行する入出力制御手段と、
前記プロセッサと前記入出力制御手段の前記内蔵メモリへのアクセスが競合した場合に、前記クロック信号をウェイトさせるためのウェイト要求信号を発生し、前記入出力制御手段のアクセスを優先させるアクセス調停手段とを備えること
を特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記プロセッサと前記入出力制御手段の前記内蔵メモリへのアクセスを切替える選択手段をさらに備えており、
前記アクセス調停手段は、前記プロセッサの前記内蔵メモリへのアクセス中に前記入出力制御手段の前記内蔵メモリへのアクセス要求が発生すると、前記選択手段へ制御信号を出力し、
前記制御信号を受けた前記選択手段は、前記プロセッサのアクセスを前記入出力制御手段の前記内蔵メモリへのアクセスに切替えること
を特徴とする情報処理装置。
【請求項４】
請求項２に記載の情報処理装置であって、
前記プロセッサのウェイト動作前に前記内蔵メモリが出力していたリードデータを前記プロセッサのウェイト動作中に保持しておく保持手段を備え、
前記アクセス調停手段は、前記プロセッサへ供給するリードデータを、前記内蔵メモリが出力するリードデータと前記保持手段が保持しているリードデータとの間で切替えること
を特徴とする情報処理装置。
【請求項５】
データ記憶手段と、前記データ記憶手段に対してアクセスする第１と第２のデータ入出力手段とを含む情報処理装置のメモリアクセス調停方法であって、
前記第１のデータ入出力手段と前記第２のデータ入出力手段の前記データ記憶手段に対するアクセスが競合した場合に、前記第２のデータ入出力手段に対するクロックをウェイトさせるステップと、
前記第１のデータ入出力手段のアクセスを先に実行するステップと、
前記第１のデータ入出力手段のアクセス終了後に前記第２のデータ入出力手段のクロックウェイトを解除し、前記第２のデータ入出力手段のアクセスを実行するステップとを含む
メモリアクセス調停方法。
【請求項６】
命令をパイプライン処理するプロセッサと、前記プロセッサに内蔵されるメモリと、  前記メモリに対して前記プロセッサよりも高い優先度でアクセスを実行する入出力制御手段とを含む情報処理装置のメモリアクセス調停方法であって、
前記プロセッサと前記入出力制御手段の前記メモリへのアクセスが競合した場合に、前記プロセッサに供給しているクロックをウェイトさせるウェイト要求信号を発生するステップと、
前記プロセッサのアクセスを前記入出力制御手段の前記メモリへのアクセスに切替えるステップと、
前記入出力制御手段の前記メモリへのアクセス終了後に前記プロセッサのクロックウェイトを解除し、前記プロセッサの前記メモリへのアクセスを実行するステップとを含む
メモリアクセス調停方法。
【請求項７】
命令をパイプライン処理するプロセッサと、前記プロセッサに内蔵されるメモリと、  前記メモリに対して前記プロセッサよりも高い優先度でアクセスを実行する入出力制御手段と、前記プロセッサのウェイト動作前に前記メモリが出力していたリードデータを前記プロセッサのウェイト動作中に保持しておく保持手段とを有する情報処理装置のメモリアクセス調停方法であって、前記プロセッサが前記メモリに対して連続リードアクセスしている期間に前記入出力制御手段のリードアクセスが競合した場合に、前記プロセッサのウェイト動作前に前記メモリが出力していたリードデータを保持するステップと、
前記プロセッサに供給しているクロックをウェイトさせるステップと、
前記入出力制御手段の前記メモリへのアクセスを実行するステップと、
前記入出力制御手段の前記メモリへのアクセス終了後に前記プロセッサのクロックウェイトを解除し、前記保持手段に保持しているデータを前記プロセッサへ供給し、前記メモリへの前記プロセッサのアクセスを再開するステップとを含む
メモリアクセス調停方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、プロセッサに内蔵されるメモリ装置に対し、外部から高速で書き込みまたは読み出しが可能な外部入出力機構を備えた情報処理装置およびそのメモリ装置に対するアクセスが競合した場合のメモリアクセス調停方法に関するものである。
【０００２】
【従来の技術】
従来、一つのメモリ装置に対して、複数の制御装置から書き込み、読み出しを実現する場合、デュアルポートメモリを使用するのがもっとも容易な実現方法であった。しかし、近年ＬＳＩ市場がシステムＬＳＩ重視へと移行し、回路規模が増大しているため、大きなチップ面積を占有するデュアルポートメモリは、大容量のメモリを必要とするシステムＬＳＩにおいては、コストの観点から不利となる。そこで、チップ面積を削減するためシングルポートメモリを使用することが考えられるが、複数の制御装置からアクセスする場合のタイミングによっては、アクセスの競合が発生するため、アクセスの調停をおこなう必要がある。
【０００３】
複数の制御装置からのアクセスの調停方法として、従来の方法は以下のようにしてアクセスを調停する。第１の制御装置がメモリへアクセス中に、第１の制御装置よりも優先度の高い第２の制御装置からのアクセスがあった場合、第１の制御装置のメモリへのアクセスが終了するまで第２の制御装置をウェイト（待機）させ、第１の制御装置のメモリへのアクセスが終了すると第２の制御装置のメモリへのアクセスを開始させる。また、第２の制御装置がメモリへのアクセスを実行中は第１の制御装置のメモリへのアクセスは一切禁止され、第２の制御装置が第１の制御装置に対して優先的にメモリにアクセスできるようにする（例えば特許文献１参照）。
【０００４】
すなわち、最初にアクセスを行った方の制御装置がアクセス実行中は、後からアクセスを行った制御装置は、最初にアクセスを行った制御装置のアクセスが終了するまでメモリへアクセスすることができない。
【０００５】
【特許文献１】
特開平９−１９８２９８号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、複数の制御装置のどちらかの制御装置からのアクセスを優先したい場合が考えられる。例えばプロセッサ内蔵メモリへの外部入出力機構を介した外部プロセッサからのアクセスを考えた場合、外部プロセッサからのプロセッサ内蔵メモリへのアクセスは長時間のアクセスとはならないが、外部プロセッサが高速動作を必要とするため、常に外部プロセッサからのアクセスを優先したいという要望がある。
【０００７】
このようなプロセッサ内蔵メモリに対して高速なアクセスを必要とする外部入出力機構を備えたプロセッサに上記の手法を適用すると、プロセッサコアがメモリにアクセスしている間に外部入出力機構からメモリへアクセスが発生した場合、外部入出力機構はプロセッサコアのアクセスが終了するまでウェイトがかけられ、外部入出力機構のアクセス速度が低下する。
【０００８】
すなわち、プロセッサのメモリへのアクセス状態によって外部入出力機構のアクセス速度が低下する場合が存在する。従って、この機構を外部プロセッサからプロセッサ内蔵メモリへの外部入出力機構を介したデータ授受などに応用した場合、外部アクセス速度の低下を招き、ひいては最終セットの動作速度の低下にもつながる。
【０００９】
本発明は、上記従来の問題点を解決するもので、プロセッサがメモリに対していかなるアクセス状態にある場合にも、常に優先的でかつウェイトなしの高速アクセスが可能な外部入出力機構を実現する情報処理装置およびメモリアクセス調停方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
請求項１の発明は、データ記憶手段と、データ記憶手段に対してアクセスする第１と第２のデータ入出力手段と、第２のデータ入出力手段にクロックを供給するクロック生成手段と、第１のデータ入出力手段と第２のデータ入出力手段のデータ記憶手段に対するアクセスを切替える切替え手段と、第１のデータ入出力手段と第２のデータ入出力手段のデータ記憶手段に対するアクセスが競合した場合に、第２のデータ入出力手段に対するクロックをウェイトさせ、第１のデータ入出力手段のアクセスを先に実行させ、第１のデータ入出力手段のアクセス終了後に第２のデータ入出力手段のアクセスを開始させるアクセス調停手段とを備える。
【００１１】
上記構成によれば、データ記憶手段に対してアクセスする第１と第２のデータ入出力手段においてアクセス競合が発生した場合に、一方のデータ入出力手段のクロックをウェイトさせてアクセス調停を行うことにより、第１と第２のデータ入出力手段のどちらか一方から、常に優先的でかつウェイトなしの高速アクセスを実現することができる。
【００１２】
請求項２の発明は、内蔵メモリと、内蔵メモリに格納されたデータを処理するプロセッサと、プロセッサにクロック信号を供給するクロック生成手段と、外部制御装置からの指示を受けて内蔵メモリへのアクセスを実行する入出力制御手段と、プロセッサと入出力制御手段の内蔵メモリへのアクセスが競合した場合に、クロック信号をウェイトさせるためのウェイト要求信号を発生し、入出力制御手段のアクセスを優先させるアクセス調停手段とを備える。
【００１３】
上記構成によれば、内蔵メモリに対してアクセスするプロセッサと外部制御装置においてアクセス競合が発生した場合に、外部制御装置のアクセスを優先させてアクセス調停を行うことにより、外部制御装置から内蔵メモリへのデータ授受の速度を向上させることができる。
【００１４】
請求項３の発明は、請求項２記載の情報処理装置であって、プロセッサと入出力制御手段の内蔵メモリへのアクセスを切替える選択手段をさらに備えており、アクセス調停手段は、プロセッサの内蔵メモリへのアクセス中に入出力制御手段の内蔵メモリへのアクセス要求が発生すると、選択手段へ制御信号を出力し、制御信号を受けた選択手段は、プロセッサのアクセスを入出力制御手段の内蔵メモリへのアクセスに切替える。
【００１５】
上記構成によれば、プロセッサが内蔵メモリに対してアクセスする場合において、内蔵メモリに対して外部制御装置からデータを書き込みまたは読み出す際、プロセッサのアクセスを入出力制御手段のアクセスに切替えることにより、プロセッサに優先する外部制御装置の高速アクセスを実現することができる。
【００１６】
請求項４の発明は、請求項２記載の情報処理装置であって、プロセッサのウェイト動作前に内蔵メモリが出力していたリードデータをプロセッサのウェイト動作中に保持しておく保持手段を備え、アクセス調停手段は、プロセッサへ供給するリードデータを、内蔵メモリが出力するリードデータと保持手段が保持しているリードデータとの間で切替える。
【００１７】
上記構成によれば、プロセッサがメモリに対して連続でアクセスする場合においても、内蔵メモリが出力するリードデータと保持手段が保持しているリードデータを切替えることにより、そのアクセス状態に依存することなく高速アクセスを実現することができる。
【００１８】
請求項５の発明は、データ記憶手段と、データ記憶手段に対してアクセスする第１と第２のデータ入出力手段とを含む情報処理装置のメモリアクセス調停方法であって、第１のデータ入出力手段と第２のデータ入出力手段のデータ記憶手段に対するアクセスが競合した場合に、第２のデータ入出力手段に対するクロックをウェイトさせるステップと、第１のデータ入出力手段のアクセスを先に実行するステップと、第１のデータ入出力手段のアクセス終了後に第２のデータ入出力手段のクロックウェイトを解除し、第２のデータ入出力手段のアクセスを実行するステップとを含む。
【００１９】
上記構成によれば、データ記憶手段に対してアクセスする第１と第２のデータ入出力手段においてアクセス競合が発生した場合に、一方のデータ入出力手段のクロックをウェイトさせてアクセス調停を行うことにより、第１と第２のデータ入出力手段のどちらか一方から、常に優先的でかつウェイトなしの高速アクセスを実現することができる。
【００２０】
請求項６の発明は、命令をパイプライン処理するプロセッサと、プロセッサに内蔵されるメモリと、メモリに対してプロセッサよりも高い優先度でアクセスを実行する入出力制御手段とを含む情報処理装置のメモリアクセス調停方法であって、プロセッサと入出力制御手段のメモリへのアクセスが競合した場合に、プロセッサに供給しているクロックをウェイトさせるウェイト要求信号を発生するステップと、プロセッサのアクセスを入出力制御手段のメモリへのアクセスに切替えるステップと、入出力制御手段のメモリへのアクセス終了後にプロセッサのクロックウェイトを解除し、プロセッサのメモリへのアクセスを実行するステップとを含む。
【００２１】
上記構成によれば、プロセッサが内蔵メモリに対してアクセスする場合において、内蔵メモリに対して外部からデータを書き込みまたは読み出す際、プロセッサのアクセスを入出力制御手段のアクセスに切替えることにより、プロセッサに優先する高速アクセスを実現することができる。また、プロセッサに対しては、外部入出力手段とのアクセスが競合した場合に、１パイプラインステージウェイトするだけでアクセス再開が可能な高速アクセスを実現することができる。
【００２２】
請求項７の発明は、命令をパイプライン処理するプロセッサと、プロセッサに内蔵されるメモリと、メモリに対してプロセッサよりも高い優先度でアクセスを実行する入出力制御手段と、プロセッサのウェイト動作前にメモリが出力していたリードデータをプロセッサのウェイト動作中に保持しておく保持手段とを有する情報処理装置のメモリアクセス調停方法であって、プロセッサがメモリに対して連続リードアクセスしている期間に入出力制御手段のリードアクセスが競合した場合に、プロセッサのウェイト動作前にメモリが出力していたリードデータを保持するステップと、プロセッサに供給しているクロックをウェイトさせるステップと、入出力制御手段のメモリへのアクセスを実行するステップと、入出力制御手段のメモリへのアクセス終了後にプロセッサのクロックウェイトを解除し、保持手段に保持しているデータをプロセッサへ供給し、メモリへのプロセッサのアクセスを再開するステップとを含む。
【００２３】
上記構成によれば、プロセッサがメモリに対して連続でアクセスする場合においても、保持手段に保持しているデータをプロセッサへ供給し、メモリへのプロセッサのアクセスを再開することにより、そのアクセス状態に依存することなく高速アクセスを実現することができる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
（第１の実施の形態）
図１は本発明の第１の実施の形態の情報処理装置を示す構成図である。図１において、情報処理装置１５０は、データ記憶装置１０１と、データ記憶装置１０１に対してアクセス優先度の高い第１のデータ入出力装置１０２と、アクセス優先度の低い第２のデータ入出力装置１０３と、第２のデータ入出力装置１０３にクロックを供給するクロック生成装置１０４と、アクセス調停装置１０９と、制御信号セレクタ１１２とを備える。
【００２５】
アクセス調停装置１０９は、第１のデータ入出力装置１０２の制御信号１０６と第２のデータ入出力装置１０３の制御信号１０８を監視し、データ記憶装置１０１へ供給する制御信号１１４とライトデータ１１３を、第１のデータ入出力装置１０２と第２のデータ入出力装置１０３の間で切替えるためのアクセス選択信号１１０と、第１のデータ入出力装置１０２と第２のデータ入出力装置１０３のデータ記憶装置１０１へのアクセスが競合した場合に、第２のデータ入出力装置１０３をウェイトさせるクロックウェイト要求信号１１１を生成する。
【００２６】
制御信号セレクタ１１２は、アクセス調停装置１０９から出力されるアクセス選択信号１１０を受けて、第１のデータ入出力装置１０２からデータ記憶装置１０１へ供給されるライトデータ１０５および制御信号１０６と、第２のデータ入出力装置１０３からデータ記憶装置１０１へ供給されるライトデータ１０７および制御信号１０８を切替える。
【００２７】
以上のように構成された本実施の形態について、以下、その動作を図２のフローチャートを用いて説明する。アクセス調停装置１０９は、第１のデータ入出力装置１０２と第２のデータ入出力装置１０３のデータ記憶装置１０１へのアクセス状態を監視する（Ｓ２０１）。データ記憶装置１０１へのアクセスがない状態（Ｓ２００）から第１のデータ入出力装置１０２のみにアクセスがあった場合（Ｓ２０１のＡ）、アクセス調停装置１０９は制御信号セレクタ１１２を第１のデータ入出力装置１０２側に切替え（Ｓ２０２）、第１のデータ入出力装置１０２がデータ記憶装置１０１へアクセスを実行する（Ｓ２０３）。このあと、第１のデータ入出力装置１０２のデータ記憶装置１０１へのアクセスが終了した場合は（Ｓ２０３のＡ）、データ記憶装置１０１へのアクセスが終了する（Ｓ２０４）。
【００２８】
一方、第１のデータ入出力装置１０２のデータ記憶装置１０１へのアクセスが終了する前に第２のデータ入出力装置１０３からのアクセスがあった場合（Ｓ２０３のＢ）、アクセス調停装置１０９はアクセス競合を検出し、第２のデータ入出力装置１０３に対してクロックウェイト要求信号１１１を出力し、第２のデータ入出力装置１０３はウェイト状態に入る（Ｓ２０５）。この後、第１のデータ入出力装置１０２がデータ記憶装置１０１へアクセスを実行する（Ｓ２０６）。
【００２９】
第１のデータ入出力装置１０２のデータ記憶装置１０１へのアクセスが終了すると、第２のデータ入出力装置１０３のウェイト状態は解除され（Ｓ２０７）、アクセス調停装置１０９は制御信号セレクタ１１２を第２のデータ入出力装置１０３側に切替え（Ｓ２０８）、第２のデータ入出力装置１０３がデータ記憶装置１０１へアクセスを実行する（Ｓ２０９）。
【００３０】
データ記憶装置１０１へのアクセスがない状態（Ｓ２００）から第２のデータ入出力装置１０２のみにアクセスがあった場合（Ｓ２０１のＣ）も、アクセス調停装置１０９は制御信号セレクタ１１２を第２のデータ入出力装置１０３側に切替え（Ｓ２０８）、第２のデータ入出力装置１０３がデータ記憶装置１０１へアクセスを実行する（Ｓ２０９）。この後、第２のデータ入出力装置１０３のデータ記憶装置１０１へのアクセスが終了した場合は（Ｓ２０９のＢ）、データ記憶装置１０１へのアクセスが終了する（Ｓ２０４）。
【００３１】
一方、第２のデータ入出力装置１０３のデータ記憶装置１０１へのアクセスが終了する前に第１のデータ入出力装置１０２からのアクセスがあった場合（Ｓ２０９のＡ）、またはデータ記憶装置１０１へのアクセスがない状態（Ｓ２００）から第１のデータ入出力装置１０２と第２のデータ入出力装置１０３が同時にデータ記憶装置１０１へアクセスした場合（Ｓ２０１のＢ）、アクセス調停装置１０９はアクセス競合を検出し、第２のデータ入出力装置１０３に対してクロックウェイト要求信号１１１を出力し、第２のデータ入出力装置１０３はウェイト状態に入る（Ｓ２１０）。この後、アクセス調停装置１０９は制御信号セレクタ１１２を第１のデータ入出力装置１０２側に切替え（Ｓ２１１）、第１のデータ入出力装置１０２がデータ記憶装置１０１へアクセスを実行する（Ｓ２０６）。ステップＳ２０７以降の動作は前述のとおりである。
【００３２】
以上のように本実施の形態によれば、データ記憶手段となるデータ記憶装置１０１と、第１のデータ入出力手段となる第１のデータ入出力装置１０２と、第２のデータ入出力手段となる第２のデータ入出力装置１０３と、クロック生成手段となるクロック生成装置１０４と、アクセスを切替える切替え手段となる制御信号セレクタ１１２と、アクセスを調停するアクセス調停手段となるアクセス調停装置１０９を備え、第１のデータ入出力装置１０２と第２のデータ入出力装置１０３からデータ記憶装置１０１に対するアクセスが競合した場合に、第２のデータ入出力装置１０３のクロックをウェイトさせ、第１のデータ入出力装置１０２のアクセスを先に実行し、第１のデータ入出力装置１０２のアクセス終了時に第２のデータ入出力装置１０３のクロックウェイトを解除し、第２のデータ入出力装置１０３のアクセスを実行するので、第１のデータ入出力装置１０２が常に優先してデータ記憶装置１０１にアクセス可能なアクセス調停が、クロックのウェイト制御を行うだけの小規模な回路構成で実現可能である。
【００３３】
（第２の実施の形態）
図３は本発明の第２の実施の形態の情報処理装置の概略構成を示すブロック図である。図３において情報処理装置３５０は、クロック生成部３０１と、プロセッサに内蔵されてプロセッサ外部からもアクセスが可能なプロセッサ内蔵メモリ部３０４と、命令をパイプライン処理するプロセッサコア部３０５と、プロセッサコア部３０５よりもプロセッサ内蔵メモリ３０４に対するアクセスの優先度が高い外部入出力制御部３１０と、外部入出力制御部３１０から出力されるプロセッサ側リードデータ３２０を保持するリードデータ保持部３２２と、プロセッサコア部３０５と外部入出力制御部３１０からアクセスが同時に発生した場合にウェイト要求信号３１６を生成するアクセス調停部３１５とを備える。
【００３４】
クロック生成部３０１は、クロック発振部３３８と、ウェイト要求信号３１６の入力中はクロック発振部３３８から供給されるクロックを停止し、整数倍の周期を持つクロックを生成するクロックウェイト制御部３３７とを備える。クロック３０２はクロック発振部３３８から出力されるウェイト制御のないクロックである。クロック３０３はクロックウェイト制御部３３７から出力されるウェイト制御されたクロックである。
【００３５】
プロセッサコア部３０５は、メモリ部３０４からのリードデータ３２３を受け取るメモリアクセス制御部３３０と、複数のフリップフロップ３３１，３３２，３３３，３３４とを有し、メモリ部３０４にアクセスするためのプロセッサ側アドレス３０６、プロセッサ側チップセレクト（ＣＳ）信号３０７、リードイネーブル信号（ＲＥ）、ライトイネーブル信号（ＷＥ）等のメモリ装置制御信号３０８とプロセッサ側ライトデータ３０９を生成する。
【００３６】
外部入出力制御部３１０は、外部入出力信号同期化部３３６とメモリアクセスセレクタ部３３５とを有する。外部入出力信号同期化部３３６は、プロセッサの外部からメモリ部３０４へのデータの書き込みと読み出しのため、外部入出力アドレス３２５、外部入出力リードイネーブル・ライトイネーブル（ＲＥ／ＷＥ）信号３２６、外部入出力ライトデータ３２７を受け付け、プロセッサ内蔵メモリ部３０４にアクセスするための同期化された外部入出力側アドレス３１１、外部入出力側チップセレクト（ＣＳ）信号３１２、外部入出力側ライトイネーブル・リードイネーブル（ＷＥ／ＲＥ）信号３１３等のメモリ装置制御信号および外部入出力側ライトデータ３１４を生成する。メモリアクセスセレクタ部３３５は、外部入出力信号同期化部３３６からのメモリ制御信号およびライトデータと、プロセッサコア部３０５からのメモリ制御信号およびライトデータとを切替え、プロセッサ内蔵メモリ３０４にライトデータ３１７およびメモリ制御信号３１８を供給し、プロセッサ内蔵メモリ３０４からのリードデータ３１９をプロセッサコア部３０５と外部プロセッサ３２８へ切替えることで、リードデータ保持部３２２にプロセッサ側リードデータ（保持無し）３２０を供給し、外部プロセッサ３２８に外部入出力側リードデータ３２１を供給する。プロセッサ内蔵メモリ３０４は、メモリアクセスセレクタ部３３５にリードデータ３１９を出力する。
【００３７】
アクセス調停部３１５は、プロセッサコア部３０５からのライトイネーブル信号、リードイネーブル信号３０８と、外部入出力制御部３１０内で生成されるライトイネーブル信号、リードイネーブル信号３１３を監視し、プロセッサコア部３０５側のメモリ制御信号およびライト・リードデータと、外部入出力制御部３１０側のメモリ制御信号およびライト・リードデータとを切替えるため、外部入出力制御部３１０内のメモリアクセスセレクタ部３３５へセレクタ制御信号３２４を供給する。また、アクセス調停部３１５は、プロセッサコア部３０５からプロセッサ内蔵メモリ部３０４へのアクセスと、外部入出力制御部３１０からプロセッサ内蔵メモリ部３０４へのアクセスが同時に発生した場合に、プロセッサコア部３０５に供給するクロックをウェイトさせるためのウェイト要求信号３１６を生成する。
【００３８】
リードデータ保持部３２２は、外部入出力制御部３１０内のメモリアクセスセレクタ部３３５から出力されるプロセッサ側リードデータ（保持無し）３２０を保持し、プロセッサコア部３０５にプロセッサ側リードデータ３２３を供給する。
【００３９】
図４はリードデータ保持部３２２の構成を示す回路図である。図４においてリードデータ保持部３２２は、フリップフロップイネーブル信号４１１が「１」のサイクルの次のクロックの立ち上がりでデータを更新し、外部入出力制御部３１０のメモリアクセスセレクタ部３３５から出力されるリードデータ３２０を保持しておくフリップフロップ４０１と、プロセッサ側リードイネーブル（ＲＥ）信号３０８をウェイト制御のないクロック３０２の１サイクル分タイミングを遅らせるフリップフロップ４０３と、ウェイト要求信号３１６をウェイト制御のないクロック３０２の１サイクル分タイミングを遅らせるフリップフロップ４０５とを備える。さらに、プロセッサ側リードイネーブル（ＲＥ）信号３０８と、１サイクル遅れたプロセッサ側リードイネーブル信号４０４と、１サイクル遅れたウェイト要求信号４０６との論理積をとるＡＮＤゲート４０７と、ＡＮＤゲート４０７の出力信号であるセレクタ制御信号４０８が「１」のときプロセッサ側リードデータ３２３に保持データ出力４０２を出力し、セレクタ制御信号４０８が「０」のときプロセッサ側リードデータ３２３にリードデータ３２０を出力するセレクタ４０９と、１サイクル遅れたプロセッサ側リードイネーブル信号４０４と、１サイクル遅れたウェイト要求信号４０６の負論理の論理積をとり、フリップフロップイネーブル信号を生成するＡＮＤゲート４１０とを備える。
【００４０】
以上のように構成された本実施の形態について、以下、その動作を図５のフローチャートを用いて説明する。メモリ３０４は、外部入出力制御部３１０とプロセッサコア部３０５のメモリ３０４へのアクセス状態を監視する（Ｓ５０１）。メモリ３０４へのアクセスがない状態（Ｓ５００）から外部入出力制御部３１０のみにアクセスがあった場合（Ｓ５０１のＡ）、アクセス調停部３１５は外部入出力制御部３１０内のメモリアクセスセレクタ部３３５を外部入出力制御部３１０側に切替え（Ｓ５０２）、  外部入出力制御部３１０がメモリ３０４へアクセスを実行する（Ｓ５０３）。このあと、外部入出力制御部３１０のメモリ３０４へのアクセスが終了した場合は（Ｓ５０３のＡ）、メモリ３０４へのアクセスが終了する（Ｓ５０４）。
【００４１】
一方、外部入出力制御部３１０のメモリ３０４へのアクセスが終了する前にプロセッサコア部３０５からのアクセスがあった場合（Ｓ５０３のＢ）、アクセス調停部３１５はアクセス競合を検出しプロセッサコア部３０５に対してウェイト要求信号３１６を出力し、プロセッサコア部３０５はウェイト状態に入る（Ｓ５０５）。その後、外部入出力制御部３１０がメモリ３０４にアクセスを実行する（Ｓ５０６）。外部入出力制御部３１０のメモリ３０４へのアクセスが終了すると、プロセッサコア部３０５のウェイト状態は解除される（Ｓ５０７）。
【００４２】
アクセス競合がプロセッサコア部３０５のメモリ３０４への連続リードアクセス発生中に起こっていた場合（Ｓ５０８のＹ）は、プロセッサコア部３０５のリードデータとしてリードデータ保持部３２２の保持しているデータを供給する（Ｓ５０９）。
【００４３】
一方、アクセス競合の発生がプロセッサコア部３０５のメモリ３０４への連続リードアクセス発生中ではない場合（Ｓ５０８のＮ）は、プロセッサコア部３０５のリードデータとしてプロセッサ側リードデータ（保持無し）３２０を供給する。その後、アクセス調停部３１５は外部入出力制御部３１０内のメモリアクセスセレクタ部３３５をプロセッサコア部３０５側に切替え（Ｓ５１０）、プロセッサコア部３０５がメモリ３０４へアクセスを実行する（Ｓ５１１）。
【００４４】
なお、メモリ３０４へのアクセスがない状態（Ｓ５００）からプロセッサコア部３０５のみにアクセスがあった場合（Ｓ５０１のＣ）も、アクセス調停部３１５は外部入出力制御部３１０内のメモリアクセスセレクタ部３３５をプロセッサコア部３０５側に切替え（Ｓ５１０）、プロセッサコア部３０５がメモリ３０４へアクセスを実行する（Ｓ５１１）。このあと、プロセッサコア部３０５のメモリ３０４へのアクセスが終了した場合は（Ｓ５１１のＢ）、メモリ３０４へのアクセスが終了する（Ｓ５０４）。
【００４５】
一方、プロセッサコア部３０５のメモリ３０４へのアクセスが終了する前に外部入出力制御部３１０からのアクセスがあった場合（Ｓ５１１のＡ）、またはメモリ３０４へのアクセスがない状態（Ｓ５００）から外部入出力制御部３１０とプロセッサコア部３０５が同時にメモリ３０４へアクセスした場合（Ｓ５０１のＢ）、アクセス調停部３１５はアクセス競合を検出しプロセッサコア部３０５に対してウェイト要求信号３１６を出力し、プロセッサコア部３０５はウェイト状態に入る（Ｓ５１２）。この後、アクセス調停部３１５は外部入出力制御部３１０内のメモリアクセスセレクタ部３３５を外部入出力制御部３１０側に切替え（Ｓ５１３）、外部入出力制御部３１０がメモリ３０４へアクセスを実行する（Ｓ５０６）。以降の動作は前述のとおりである。
【００４６】
さらに本発明の実施の形態にかかる情報処理装置について、以下、その動作の詳細を図６、図７のタイミングチャートを用いて説明する。図６のタイミングチャートは、プロセッサコア部３０５が単発でプロセッサ内蔵メモリ３０４にアクセスした場合に外部入出力制御部３１０からのプロセッサ内蔵メモリ３０４へのアクセスが競合を起こした場合を示す。図７のタイミングチャートは、プロセッサコア部３０５が連続でプロセッサ内蔵メモリ３０４にリードアクセスしている期間に外部入出力制御部３１０からプロセッサ内蔵メモリ３０４へのアクセスが競合を起こした場合を示す。
【００４７】
図６において、プロセッサ側リードイネーブル信号３０８と、外部入出力側リードイネーブル信号３１３が図６のＡのタイミングにおいて同時に発生した場合、図３のアクセス調停部３１５がアクセス競合を検出し、図３のクロック生成部３０１に対して、ウェイト要求信号３１６を供給する。
【００４８】
これにより、図３のクロック生成部３０１はプロセッサコア部３０５に供給するウェイト制御されたクロック３０３を図６のＢタイミングで１サイクルウェイトさせる。プロセッサコア部３０５から出力しているプロセッサ側アドレス３０６、プロセッサ側ＣＳ信号３０７、プロセッサ側リードイネーブル（ＲＥ）信号３０８は、それぞれプロセッサコア部３０５内部にあるフリップフロップ３３１〜３３４を介して出力しているため、プロセッサコア部３０５のウェイト期間中であるタイミングＢではタイミングＡでの出力の状態を保持している。
【００４９】
このとき、図３のアクセス調停部３１５は図３の外部入出力制御部３１０内のメモリアクセスセレクタ部３３５を制御する。そして、外部入出力制御部３１０内のメモリアクセスセレクタ部３３５はプロセッサ内蔵メモリ３０４に対して、図６のタイミングＡの期間、すなわちプロセッサコア部３０５がウェイト動作する１サイクル前の期間は外部入出力制御部３１０からのメモリ制御信号を供給し、図６のタイミングＢの期間、すなわちプロセッサコア部３０５がウェイト動作している期間はプロセッサコア部３０５からのメモリ制御信号を供給する。
【００５０】
これによって図６のタイミングＢの期間、すなわちプロセッサコア部３０５がウェイト動作している期間にプロセッサ内蔵メモリ３０４は外部入出力制御部３１０のアクセスによるリードデータをリードデータ３１９として出力し、図６のタイミングＣの期間、すなわちプロセッサがウェイトから復帰した最初の１サイクルの期間ではプロセッサコア部３０５のアクセスによるリードデータをリードデータ３１９として出力する。図６のタイミングＣの期間では、図４のセレクタ制御信号４０８は「０」となっており、プロセッサ側リードデータ３２３にはリードデータ３１９がプロセッサ側リードデータ（保持無し）３２０を経由して供給される。
【００５１】
図７のタイミングチャートにおいて、プロセッサコア部３０５が連続でプロセッサ内蔵メモリ３０４にリードアクセスを実行している最中に、図７のタイミングＡの期間でプロセッサ内蔵メモリ３０４に外部入出力制御部３１０からアクセスがあった場合、図６の場合と同様に図７のタイミングＡの期間でウェイト要求信号３１６が発生し、タイミングＢの期間でプロセッサコア部３０５はウェイト動作に入る。
【００５２】
このとき、図６の場合と同様に、図７のタイミングＢの期間でプロセッサ内蔵メモリ３０４は外部入出力制御部３１０のアクセスによるリードデータをリードデータ３１９に出力し、図７のタイミングＣの期間でプロセッサコア部３０５のアクセスによるリードデータをリードデータ３１９に出力する。
【００５３】
しかしながら、このときプロセッサコア部３０５のプロセッサ内蔵メモリ３０４へのアクセスと外部入出力制御部３１０のアクセスが競合する１サイクル前のプロセッサコア部３０５のプロセッサ内蔵メモリ３０４へのリード命令において、この命令のリードデータは図７のタイミングＡで出力されており、この次のタイミングＢはプロセッサコア部３０５がウェイト動作に入っているため、プロセッサコア部３０５がウェイトから復帰したタイミングＣではプロセッサコア部３０５は必要なリードデータを取り込むことが出来ない。
【００５４】
そこで、図４のフリップフロップ４０１によってタイミングＡで出力されたリードデータをタイミングＢまで保持して保持データ出力４０２に出力し、さらに図４のＡＮＤゲート４０７によって、プロセッサコア部３０５の連続リードアクセス中のウェイト動作状態を検出し、タイミングＢにおいてセレクタ制御信号４０８を「１」にすることによって、セレクタ４０９はプロセッサ側リードデータ３２３に保持データ出力４０２を供給し、プロセッサコア部３０５のタイミングＣにおけるデータ取得を可能にしている。
【００５５】
一方、タイミングＣにおいてはウェイト状態が解除されているため、セレクタ制御信号４０８は「０」に戻され、セレクタ４０９はプロセッサ側リードデータ３２３にリードデータ３１９を供給する。
【００５６】
このように、図７に示すようなプロセッサコア部３０５のプロセッサ内蔵メモリ部３０４への連続アクセスの最中に外部入出力制御部３１０からのアクセスが競合した場合にもアクセス調停を可能にしている。
【００５７】
以上のように本実施の形態は、命令をパイプライン処理するプロセッサとなるプロセッサコア部３０５と、プロセッサに内蔵するメモリとなるプロセッサ内蔵メモリ３０４と、メモリに対して優先してアクセスを実行する入出力制御手段となる外部入出力制御部３１０と、プロセッサコア部３０５にクロックを供給するクロック生成手段となるクロック生成部３０１と、プロセッサコア部３０５と外部入出力制御部３１０のプロセッサ内蔵メモリ３０４へのアクセスを監視し、アクセス調停を行うアクセス調停手段となるアクセス調停部３１５から構成される。そして、プロセッサコア部３０５がプロセッサ内蔵メモリ３０４にアクセスしている期間に外部入出力制御部３１０がアクセス競合した場合、プロセッサコア部３０５に供給しているクロックをウェイトさせ、外部入出力制御部３１０のプロセッサ内蔵メモリ３０４へのアクセスを実行し、外部入出力制御部３１０のプロセッサ内蔵メモリ３０４へのアクセス終了時にプロセッサコア部３０５のクロックウェイトを解除し、プロセッサコア部３０５のアクセスを実行する。
【００５８】
これにより、プロセッサコア部３０５が単発でプロセッサ内蔵メモリ３０４にアクセスする場合、ウェイトすることなく高速でプロセッサ内蔵メモリ３０４にアクセス可能な外部入出力制御部３１０を、プロセッサコア部３０５に供給するクロックをウェイトする回路を追加するだけの小規模な回路で実現することが出来る。
【００５９】
さらにプロセッサコア部３０５に対しては、外部入出力手段とのアクセスが競合した場合に１パイプラインステージウェイトするだけでアクセス再開が可能なアクセス調停が実現可能である。また、メモリからの出力データを保持する保持手段となるリードデータ保持部３２２を備え、プロセッサコア部３０５がプロセッサ内蔵メモリ３０４へ連続でリードアクセスしている際に外部入出力制御部３１０がプロセッサ内蔵メモリ３０４へアクセスし、アクセス競合が発生した場合にも、リードデータ保持部３２２に保持しているデータをプロセッサコア部３０５へ供給しプロセッサ内蔵メモリ３０４へのアクセスを再開し、プロセッサコア部３０５の連続アクセス中の外部入出力制御部３１０からのアクセスも可能にしている。
【００６０】
【発明の効果】
請求項１、５の発明によれば、データ記憶手段に対してアクセスする２つのデータ入出力手段においてアクセス競合が発生した場合に、一方のデータ入出力手段のクロックをウェイトさせるだけでアクセス調停を実施するアクセス調停回路を小規模な回路で実現することができる。
【００６１】
請求項２、６の発明によれば、プロセッサが内蔵メモリに対して単発でアクセスする場合において、プロセッサ内蔵のメモリに対して外部からデータを書き込みまたは読み出す際、プロセッサに対して優先で、ウェイトすることのない高速アクセスを、プロセッサに供給するクロックをウェイトする回路を追加するだけの小規模な回路で実現することができる。さらにプロセッサに対しては、外部入出力手段とのアクセスが競合した場合に１パイプラインステージウェイトするだけでアクセス再開が可能なアクセス調停回路を実現することができる。
【００６２】
請求項３、７の発明によれば、プロセッサがメモリに対して連続でアクセスする場合においても、そのアクセス状態に依存することなく実行可能な外部入出力手段を実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の情報処理装置を示す構成図。
【図２】図１に示した情報処理装置の動作を示すフローチャート。
【図３】本発明の第２の実施の形態の情報処理装置の概略構成を示すブロック図。
【図４】本発明の実施の形態におけるリードデータ保持部の構成を示す回路図。
【図５】図３に示した情報処理装置の動作を示すフローチャート。
【図６】図３に示した情報処理装置の動作の一例（プロセッサが単発アクセスする場合）を示すタイミングチャート。
【図７】図３に示した情報処理装置の動作の一例（プロセッサが連続アクセスする場合）を示すタイミングチャート。
【符号の説明】
１０１  データ記憶装置
１０２  第１のデータ入出力装置
１０３  第２のデータ入出力装置
１０４  クロック生成装置
１０５  ライトデータ
１０６  制御信号
１０７  ライトデータ
１０８  制御信号
１０９  アクセス調停装置
１１０  アクセス選択信号
１１１  クロックウェイト要求信号
１１２  制御信号セレクタ
１１３  ライトデータ
１１４  制御信号
１１５  リードデータ
３０１  クロック生成部
３０２  ウェイト制御のないクロック
３０３  ウェイト制御されたクロック
３０４  プロセッサ内蔵メモリ部
３０５  プロセッサコア部
３０６  プロセッサ側アドレス
３０７  プロセッサ側ＣＳ信号
３０８  プロセッサ側ＷＥ／ＲＥ信号
３０９  プロセッサ側ライトデータ
３１０  外部入出力制御部
３１１  外部入出力側アドレス
３１２  外部入出力側ＣＳ信号
３１３  外部入出力側ＷＥ／ＲＥ信号
３１４  外部入出力側ライトデータ
３１５  アクセス調停部
３１６  ウェイト要求信号
３１７  ライトデータ
３１８  メモリ制御信号
３１９  リードデータ
３２０  プロセッサ側リードデータ（保持無し）
３２１  外部入出力リードデータ
３２２  リードデータ保持部
３２３  プロセッサ側リードデータ
３２４  セレクタ制御信号
３２５  外部入出力アドレス
３２６  外部入出力ＷＥ／ＲＥ信号
３２７  外部入出力ライトデータ
３２８  外部プロセッサ
３３０  メモリアクセス制御部
３３１〜３３４  フリップフロップ
３３５  メモリアクセスセレクタ部
３３６  外部入出力信号同期化部
３３７  クロックウェイト制御部
３３８  クロック発振部
４０１  フリップフロップ
４０２  保持データ出力
４０３  フリップフロップ
４０４  １サイクル遅れたプロセッサ側ＲＥ信号
４０５  フリップフロップ
４０６  １サイクル遅れたウェイト要求信号
４０７  ＡＮＤゲート
４０８  セレクタ制御信号
４０９  セレクタ
４１０  ＡＮＤゲート
【図１】
2004227484.tif 000003
【図２】
2004227484.tif 000004
【図３】
2004227484.tif 000005
【図４】
2004227484.tif 000006
【図５】
2004227484.tif 000007
【図６】
2004227484.tif 000008
【図７】
2004227484.tif 000009