(57)【特許請求の範囲】
【請求項１】
複数のバスに接続され、該複数のバスのうちバスタイミングを制御する複数の制御対象バスに対して、バスサイクルに従ってアクセスするバス制御装置において、アクセスタイミングを規定する設定値を複数組保持するアクセスタイミング規定手段と、複数の前記制御対象バスに対応してそれぞれ設けられ前記アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択する複数のアクセスタイミング選択手段と、対応する前記アクセスタイミング選択手段により選択された設定値の組をもとにバスサイクルを作成する複数のバスタイミング発生手段を有することを特徴とするバス制御装置。
【請求項２】
複数のバスに接続され、該複数のバスのうちバスタイミングを制御する複数の制御対象バスに対して、バスサイクルに従ってアクセスするバス制御装置において、アクセスタイミングを規定する設定値を複数組保持するアクセスタイミング規定手段と、該アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択するアクセスタイミング選択手段と、該アクセスタイミング選択手段により選択された設定値の組をもとにバスサイクルを作成するバスタイミング発生手段と、複数の前記制御対象バスのうち前記バスタイミング発生手段によって作成されたバスサイクルに従ってアクセスするバスを選択するバス選択手段を有することを特徴とするバス制御装置。
【請求項３】
さらに、選択された制御線を前記バスタイミング発生手段で作成したバスサイクルに従って制御するバス制御線選択手段を有し、前記アクセスタイミング選択手段は、前記バスタイミング発生手段で作成したバスサイクルに従って制御すべき制御線を前記バス制御線選択手段に選択させることを特徴とする請求項１または請求項２に記載のバス制御装置。
【請求項４】
前記アクセスタイミング規定手段は、アクセスタイミングを規定する設定値を指定テーブルとして保持し、前記アクセスタイミング選択手段は、前記指定テーブルの中から設定値の組を選択することを特徴とする請求項１ないし請求項３のいずれか１項に記載のバス制御装置。
【請求項５】
前記アクセスタイミング規定手段は、前記設定値として、バスサイクル開始位置を基準として、各バス制御線の変化点のタイミングを規定していることを特徴とする請求項１ないし請求項４のいずれか１項に記載のバス制御装置。
【請求項６】
前記アクセスタイミング規定手段は、前記設定値として、いずれかのバス制御線の変化点間のタイミングを規定していることを特徴とする請求項１ないし請求項４のいずれか１項に記載のバス制御装置。
【請求項７】
前記アクセスタイミング選択手段は、バスアクセス時のアドレスデータによって、前記アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択することを特徴とする請求項１ないし請求項６のいずれか１項に記載のバス制御装置。
【請求項８】
前記アクセスタイミング選択手段は、外部からの選択制御信号によって、前記アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択することを特徴とする請求項１ないし請求項６のいずれか１項に記載のバス制御装置。
【請求項９】
前記バスタイミング発生手段は、前記バスに接続されている複数の入出力装置に対するアクセスを同じバスサイクル内で行うようにバスサイクルを作成することを特徴とする請求項１ないし請求項８のいずれか１項に記載のバス制御装置。
【請求項１０】
前記バスタイミング発生手段は、前記バスの動作周波数よりも高い内部動作周波数のクロック信号に従ってバスサイクルを作成することを特徴とする請求項１ないし請求項９のいずれか１項に記載のバス制御装置。
【請求項１１】
複数の内部バスを備えるとともに、該複数の内部バスのうちバスタイミングを制御する複数の制御対象バスに対して、バスサイクルに従ってアクセスするバス制御装置を備えた半導体装置において、前記バス制御装置は、アクセスタイミングを規定する設定値を複数組保持するアクセスタイミング規定手段と、複数の前記制御対象バスに対応してそれぞれ設けられ前記アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択する複数のアクセスタイミング選択手段と、対応する前記アクセスタイミング選択手段により選択された設定値の組をもとにバスサイクルを作成する複数のバスタイミング発生手段を有することを特徴とする半導体装置。
【請求項１２】
複数の内部バスを備えるとともに、該複数の内部バスのうちバスタイミングを制御する複数の制御対象バスに対して、バスサイクルに従ってアクセスするバス制御装置を備えた半導体装置において、アクセスタイミングを規定する設定値を複数組保持するアクセスタイミング規定手段と、該アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択するアクセスタイミング選択手段と、該アクセスタイミング選択手段により選択された設定値の組をもとにバスサイクルを作成するバスタイミング発生手段と、前記複数の前記制御対象バスのうち前記バスタイミング発生手段によって作成されたバスサイクルに従ってアクセスするバスを選択するバス選択手段を有することを特徴とする半導体装置。
【請求項１３】
さらに、選択された制御線を前記バスタイミング発生手段で作成したバスサイクルに従って制御するバス制御線選択手段を有し、前記アクセスタイミング選択手段は、前記バスタイミング発生手段で作成したバスサイクルに従って制御すべき制御線を前記バス制御線選択手段に選択させることを特徴とする請求項１１または請求項１２に記載の半導体装置。
【請求項１４】
前記内部バスのうちの一部あるいは全部は、それぞれ外部バスに接続可能であることを特徴とする請求項１１ないし請求項１３のいずれか１項に記載の半導体装置。
【請求項１５】
前記バス制御装置を複数備えていることを特徴とする請求項１１ないし請求項１４のいずれか１項に記載の半導体装置。
【請求項１６】
前記アクセスタイミング規定手段は、アクセスタイミングを規定する設定値を指定テーブルとして保持し、前記アクセスタイミング選択手段は、前記指定テーブルの中から設定値の組を選択することを特徴とする請求項１１ないし請求項１５のいずれか１項に記載の半導体装置。
【請求項１７】
前記アクセスタイミング規定手段は、前記設定値として、バスサイクル開始位置を基準として、各バス制御線の変化点のタイミングを規定していることを特徴とする請求項１１ないし請求項１６のいずれか１項に記載の半導体装置。
【請求項１８】
前記アクセスタイミング規定手段は、前記設定値として、いずれかのバス制御線の変化点間のタイミングを規定していることを特徴とする請求項１１ないし請求項１６のいずれか１項に記載の半導体装置。
【請求項１９】
前記アクセスタイミング選択手段は、バスアクセス時のアドレスデータによって、前記アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択することを特徴とする請求項１１ないし請求項１８のいずれか１項に記載の半導体装置。
【請求項２０】
前記アクセスタイミング選択手段は、外部からの選択制御信号によって、前記アクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択することを特徴とする請求項１１ないし請求項１９のいずれか１項に記載の半導体装置。
【請求項２１】
前記バスタイミング発生手段は、前記内部バスあるいは前記外部バスに接続されている複数の入出力装置に対するアクセスを同じバスサイクル内で行うようにバスサイクルを作成することを特徴とする請求項１１ないし請求項２０のいずれか１項に記載の半導体装置。
【請求項２２】
前記バスタイミング発生手段は、前記バスの動作周波数よりも高い内部動作周波数のクロック信号に従ってバスサイクルを作成することを特徴とする請求項１１ないし請求項２１のいずれか１項に記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バスに接続されているメモリあるいはその他の入出力装置を、バスサイクルに従ってアクセスするバス制御装置、および、そのようなバス制御装置を搭載した半導体装置に関するものである。
【０００２】
【従来の技術】
従来から、メモリや入出力装置を内蔵し、内部バスで接続したマイクロプロセッサが知られている。また、外部記憶手段としてメモリを外部バスに接続し、あるいは他の入出力装置を外部バスに接続し、マイクロプロセッサや外部バスマスタなどからアクセスするシステムも知られている。
【０００３】
しかしながら、メモリや入出力装置では、その種類によりそれぞれアクセスタイミングについての仕様が異なる。そのため、システムを構成する際に、使用するメモリや入出力装置によって、アクセスタイミングの仕様が変わる場合もある。例えば、格納する実行プログラムの処理速度を向上させるために高速リードオンリーメモリ（ＲＯＭ）を使用したり、プリンタの文字格納用には中速ＲＯＭを使用する。また大容量のバッファには、容量を大きくするためランダムアクセスメモリ（ＲＡＭ）を使用し、さらに高速なプロセッサによる処理の妨げにならないために高速のシンクロナス・ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）を使用したり、あるいはキャッシュメモリを構成するため高速スタティックランダムアクセスメモリ（ＳＲＡＭ）を使用する。さらに入出力装置に至っては、転送速度の設定、インタフェースの種類によって処理速度に差がある。例えば、比較的低速のシリアルインタフェースやパラレルインタフェースの制御デバイスから、高速のネット制御デバイスやハードディスク制御デバイスなど、多岐にわたる。このように、メモリや入出力装置を制御するためには、多種のタイミング制御が必要である。
【０００４】
一般に、メモリや入出力装置のタイミング制御を行うのは、バスマスタになり得るマイクロプロセッサやダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）などの外部バスマスタ、あるいはプロセッサの内部バスを制御するバス制御部などである。これらにおいて上述のようなメモリや入出力装置に対する多種のタイミング制御を行うための方法として、アクセス対象からウエイト要求信号あるいは状態を示すレディ信号を入力して制御する方法が知られている。このような方法を用いたマイクロプロセッサの例が、例えば「日経エレクトロニクス」１９８９年４．３（Ｎｏ．４７０）Ｐ１９９−２０９に記載されている。このマイクロプロセッサは、メモリアクセス制御回路を有し、マイクロプロセッサから出力されるアドレス情報を元にアクセス対象メモリを決定し、アクセス対象メモリのアクセス準備状態信号をマイクロプロセッサのレディ信号として入力する。そして、アクセス準備状態信号がアクセス準備状態を示すまでメモリのアクセス時間を延長し、バスサイクル幅を変更する。これによって、種々のアクセス制御を必要とする各種のメモリに対してアクセスすることができる。
【０００５】
しかしこの技術では、マイクロプロセッサが最初のアクセス時間延長サイクルを実行するタイミングまでに、メモリアクセス制御回路は各アクセス対象メモリの決定とアクセス準備状態信号の通知を行わなければならない。そのため、マイクロプロセッサの高速化に合わせてメモリやメモリアクセス制御回路を高速化しなければならず、結果的にシステムコストの上昇を招いたり、あるいは、安価なシステムの構築を行うためにマイクロプロセッサの高速化が妨げられてしまうという問題がある。
【０００６】
このような問題を解決するために、内部にバスサイクル設定レジスタを持ち、設定値に従ってバスサイクルを延長することが考えられている。さらに、レディ信号を元にバスサイクルのウエイト要求信号として入力し、上述のバスサイクル設定レジスタ設定値によってバスサイクルを延長する手法を適用してバスサイクルを制御する方法も知られている。実際、このようなバスサイクル制御を行う公知のマイクロプロセッサも存在している。さらに、アドレス空間を分割し、分割されたそれぞれのアドレス空間に異なるバスサイクルを対応させ、アドレスを元に、対応するバスサイクルを発生させることで、複数のバスサイクルを制御する方法が知られている。
【０００７】
例えば、特開平５−３０７５１９号公報に記載されているデータ処理装置のバス制御部は、内部にバスサイクル設定レジスタを持ち、バスサイクルを制御する。このとき、外部からのウエイト要求信号の使用設定により、外部からのウエイト要求を使用するか否かを決定し、外部からのウエイト要求信号によるバスサイクル延長制御を行っている。さらに、アドレス空間を分割し、分割された領域のアドレスが選択されることによって、対応するウエイト制御を行ってバスサイクルを制御している。
【０００８】
またメモリのアクセスに関してのみ注目し、高速メモリと低速メモリへのアクセスを判別し、バスサイクル数を制御する方法が知られている。さらに、バースト転送モードを実装しているメモリへのバーストアクセス時に、最初のデータアクセスと以降のデータアクセスのバスサイクル数を制御する方法が知られている。例えば、特開平５−８１１２６号公報に記載されているデータ処理装置のメモリアクセスサイクル制御回路は、アクセス周期設定手段から入力される信号によりバスサイクル数を制御してメモリアクセスすることにより、低速から高速までのメモリに対応している。この文献ではさらに、メモリアクセスにかかる命令あるいはデータが、接続されているキャッシュメモリに格納可能と判断された場合に、アクセスをバーストアクセスに切り替え、以降のバスサイクル数を制御してキャッシュメモリにアクセスする制御も行っている。
【０００９】
上述のように、従来のアクセスタイミングの制御方法は、バスサイクル数を変更することによってバスサイクル幅を変更するものであった。しかしながら、このようなバスサイクル幅を変更するだけの方法では、メモリや入出力デバイスの微妙に異なる複数の信号線のタイミングを制御することができず、アクセスの最適化を行うことはできない。例えばメモリからデータを読み出す際には、アドレスやチップイネーブル、リードイネーブルなどの各信号間のタイミングが重要であり、これらの信号の立ち上がりあるいは立ち下がりのタイミングが微妙に異なるメモリが存在する。このようなメモリに対して、バスサイクル数の変更のみでは到底最適な制御を行うことはできない。
【００１０】
近年、バスサイクルの動作周波数あるいはバスサイクルの基本サイクル周波数に対し、プロセッサやＤＭＡＣなどの外部バスマスタの内部動作周波数は高くなり、以前では制御できなかった制御信号間のタイミングが制御可能なっている。しかし従来は、上述のような従来のバスサイクル数のみのバスサイクル制御を行っているために、バスを効率的に使用することができなかった。
【００１１】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、メモリを含めた入出力装置の多種にわたるバスタイミングに対応して、効率よくバス制御を行うことができるバス制御装置、および、そのようなバス制御装置を搭載した半導体装置を提供することを目的とするものである。
【００１２】
また本発明は、アクセス対象の入出力装置等の変更による新しいバスタイミングの追加あるいはバスタイミングの変更を容易に行うことができるバス制御装置、および、そのようなバス制御装置を搭載した半導体装置を提供することを目的とするものである。
【００１３】
さらに本発明は、上述のように入出力装置等に対応した柔軟なバスタイミング制御が可能でありながら、回路規模が小さく安価にシステムが構築できるバス制御装置、および、集積効率を向上させた半導体装置を提供することを目的とするものである。
【００１４】
【課題を解決するための手段】
本発明のバス制御装置の基本的な構成としては、アクセスタイミングを規定する設定値を複数組保持するアクセスタイミング規定手段と、そのアクセスタイミング規定手段に保持されている設定値の組のうちのいずれかを選択するアクセスタイミング選択手段と、アクセスタイミング選択手段により選択された設定値の組をもとにバスサイクルを作成するバスタイミング発生手段を有し、作成したバスサイクルに従ってバスをアクセスするものである。特にこのような構成を、複数のバスのうちバスタイミングを制御する制御対象バスに対して設けたことを特徴としている。
【００１５】
このような構成により、バスアクセスを行う複数の制御線のタイミングを、それぞれの入出力装置ごとに設定値の組としてアクセスタイミング規定手段に保持させておけば、それぞれの入出力装置ごとに設定値の組を選択し、バスサイクルを作成するので、それぞれの入出力装置に応じた微細なタイミング制御が可能になる。これによって、より最適なバスサイクルを発生させ、効率のよいバス制御を行うことができる。なお、アクセスタイミング規定手段には、アクセスタイミングを規定する設定値の組をそれぞれレジスタに記憶しておくほか、指定テーブルとして保持しておくことができる。また、保持する設定値としては、例えばバスサイクル開始位置を基準として、各バス制御線の変化点のタイミングを規定したり、あるいは、いずれかのバス制御線の変化点間のタイミングを規定することができる。
【００１６】
また、バスアクセスを行う複数の制御線のタイミングは、設定値の組としてアクセスタイミング規定手段に保持されているので、この設定値の組を変更するだけで、容易にアクセスタイミングを変更することができる。さらにアクセスタイミング規定手段に余裕があれば、新たな追加回路なしに新規のバスタイミングの追加が可能である。
【００１７】
さらに、バスサイクルを作成するバスタイミング発生手段は、バスアクセス時のアドレスデータや、外部からの選択制御信号によってアクセスタイミング選択手段で選択した、アクセスタイミング規定手段に保持されている設定値の組をもとに、複数の制御線の基本タイミングを示すバスサイクルを作成する。そのため、各種のタイミング制御が必要な入出力装置が存在していても、バスタイミング発生手段は基本的に１つで済む。これによって、結果的に安価なシステムが構築できる。また、回路規模が小さくて済むため、半導体装置として集積する場合に有利である。なおバスタイミング発生手段は、バスに接続されている複数の入出力装置に対するアクセスを同じバスサイクル内で行うようにバスサイクルを作成することも可能である。
【００１８】
バスタイミング発生手段は、バスの動作周波数よりも高い内部動作周波数のクロック信号に従ってバスサイクルを作成することができる。これにより、細かなタイミング制御が可能になり、より最適なバスサイクルを作成することができる。また、プロセッサあるいはバスマスタなどの内部動作周波数が高速化した場合でも、アクセスタイミング規定手段の設定値を変更するだけで対応が可能になる。
【００１９】
さらに、アクセスタイミング規定手段に保持されている設定値の組を選択するとともに、選択した設定値の組に対応して作成されるバスサイクルにより制御する制御線をバス制御線選択手段で選択するように構成することもできる。これにより、作成されるバスサイクルを異なる制御線に出力することができ、より柔軟に入出力装置に対してバスアクセスすることができる。
【００２０】
上述のバスタイミング発生手段を１つのバスに複数接続することもできる。このとき、各バスタイミング発生手段に対応するアクセスタイミング選択手段を設けておく。アクセスタイミング規定手段は、複数のバスタイミング発生手段に対して共通して設けておくことができ、例えばシステム構成が複雑になっても回路規模を抑えることができる。
【００２１】
また、アクセスタイミング選択手段及びバスタイミング発生手段を複数の制御対象バスに対して共通して設け、アクセスするバスをバス選択手段で選択するように構成することもできる。この場合には、複数のバスに対してさらに小さな構成により最適なアクセスを行うことが可能になる。
【００２２】
上述のようなバス制御装置を用いてシステムを構成したり、あるいは半導体装置に組み込む場合、複数のバス制御装置を用いて構成することができる。半導体装置内に組み込む場合、バス制御装置は内部バスに接続される。内部バスは外部バスと接続されていてよい。
【００２３】
【発明の実施の形態】
図１は、本発明のバス制御装置の第１の実施の形態を示すブロック図である。図中、１１はアクセスタイミング規定レジスタ群、１２はアクセスタイミング選択回路、１３はバスタイミング発生シーケンサ、２１はアクセスタイミングレジスタ選択信号、２２はタイミング指定信号、２３はバス制御線、２４はアドレス信号、２５は選択制御信号である。
【００２４】
アクセスタイミング規定レジスタ群１１は、バスアクセスを行う際のアクセスタイミングを規定する設定値を複数組保持しており、アクセスタイミング規定手段として機能する。このアクセスタイミング規定レジスタ群１１は、アクセスタイミング選択回路１２から送られてくるアクセスタイミングレジスタ選択信号２１によって選択され、選択された設定値の組をタイミング指定信号２２として出力する。ここでは、各設定値の組は、それぞれ、アクセスタイミング規定レジスタに保持されており、そのうちの１つが選択されるものとする。しかしこれに限らず、例えば設定値の組を例えば指定テーブルとして保持する構成など、種々の構成によって設定値の組を選択可能に保持していてよい。
【００２５】
アクセスタイミング選択回路１２は、アクセス対象となるメモリなどを含む入出力装置のアクセスタイミングに応じて、アクセスタイミングを規定する設定値の組が選択されるように、アクセスタイミング規定レジスタ群１１に対してアクセスタイミングレジスタ選択信号２１を送る。このアクセスタイミング選択回路１２は、アクセスタイミング選択手段として機能する。アクセス対象は、例えばアドレスバスに設定されるアドレスデータをアドレス信号２４として取得したり、あるいは、このバス制御装置外またはコントロールバスの制御線などから入力される選択制御信号２５によって判別することができる。ここではアドレス信号２４と選択制御信号２５の両方を図示しているが、いずれか一方でもよいし、他の信号によってアクセス対象を判別してもよい。
【００２６】
バスタイミング発生シーケンサ１３は、アクセスタイミング選択回路１２によって選択され、アクセスタイミング規定レジスタ群１１からタイミング指定信号２２として出力されたアクセスタイミングを規定する設定値の組に従って、基本バスサイクルを作成するバスタイミング発生手段として機能する。また、作成したバスサイクルをもとに制御信号を発生し、バス制御線２３に出力する。
【００２７】
バスに接続されているメモリを含む入出力装置に対してバスアクセスを行う場合には、アクセスタイミング選択回路１２は例えばアドレス信号２４や選択制御信号２５などからバスアクセスを行う対象となる入出力装置を特定する。そしてその入出力装置に対応するアクセスタイミングを規定する設定値の組がアクセスタイミング規定レジスタ群１１において選択されるように、アクセスタイミング選択回路１２からアクセスタイミング規定レジスタ群１１に対してアクセスタイミングレジスタ選択信号２１が出力される。
【００２８】
アクセスタイミング規定レジスタ群１１では、アクセスタイミング選択回路１２から送られてくるアクセスタイミングレジスタ選択信号２１を受けると、対応するアクセスタイミングを規定する設定値の組が保持されているアクセスタイミング規定レジスタが選択される。選択されたアクセスタイミング規定レジスタは、保持している設定値の組をタイミング指定信号２２として出力する。なお、アクセスタイミングを規定する設定値の組を例えばテーブルの形式で保持している場合には、アクセスタイミングレジスタ選択信号２１に従ってテーブルのエントリを特定し、そのエントリに含まれるアクセスタイミングを規定する設定値の組をタイミング指定信号２２として出力すればよい。
【００２９】
アクセスタイミング規定レジスタ群１１から出力されたタイミング指定信号２２がバスタイミング発生シーケンサ１３に入力されると、受け取ったアクセスタイミングを規定する設定値の組に従って基本バスタイミングを作成し、これを元に制御信号を発生してバス制御線２３に出力する。
【００３０】
このようにして、バスアクセスを行う対象の入出力装置に応じたアクセスタイミングによりバスアクセスを行うことができる。このとき、アクセスタイミングを規定する設定値の組を変更することによって、アクセスタイミングの異なる種々の入出力装置について、同じハードウェア構成によってバスアクセスが可能である。また、新たなアクセスタイミングでアクセスしなければならない入出力装置がバスに接続された場合でも、アクセスタイミングを規定する設定値の組を選択可能に追加したり、あるいは設定値を変更すれば、容易に対応することができる。このようなアクセスタイミングを規定する設定値の組の追加、変更も、アクセスタイミング規定レジスタに設定値の組を保持させるだけであり、簡単に行うことができる。
【００３１】
図２は、本発明のバス制御装置の第２の実施の形態を示すブロック図である。図中、図１と同様の部分には同じ符号を付して説明を省略する。１４はバス制御線選択部、２６は基本タイミング信号、２７はバス制御線選択信号である。
【００３２】
アクセスタイミング選択回路１２は、アクセス対象となるメモリなどを含む入出力装置に応じて、アクセスタイミング規定レジスタ群１１に対してアクセスタイミングレジスタ選択信号２１を送るとともに、バス制御線選択部１４に対してバス制御線選択部１４が制御すべき制御線を選択させるバス制御線選択信号２７を出力する。
【００３３】
バスタイミング発生シーケンサ１３は、アクセスタイミング選択回路１２によって選択され、アクセスタイミング規定レジスタ群１１からタイミング指定信号２２として出力されたアクセスタイミングを規定する設定値の組に従って、基本バスサイクルを作成して、基本タイミング信号２６としてバス制御線選択部１４に出力する。
【００３４】
バス制御線選択部１４は、アクセスタイミング選択回路１２から出力されるバス制御線選択信号２７により制御する制御線を選択し、選択した制御線をバスタイミング発生シーケンサ１３から出力される基本タイミング信号２６に従って制御する。
【００３５】
上述の第１の実施の形態と同様に、バスに接続されているメモリを含む入出力装置に対してバスアクセスを行う場合には、アクセスタイミング選択回路１２は例えばアドレス信号２４や選択制御信号２５などからバスアクセスを行う対象となる入出力装置を特定し、アクセスタイミングレジスタ選択信号２１をアクセスタイミング規定レジスタ群１１に出力する。アクセスタイミング規定レジスタ群１１では、アクセスタイミング選択回路１２から送られてくるアクセスタイミングレジスタ選択信号２１に従って対応するアクセスタイミング規定レジスタを選択し、保持している設定値の組をタイミング指定信号２２として出力する。バスタイミング発生シーケンサ１３は、アクセスタイミング規定レジスタ群１１から出力されたタイミング指定信号２２を受け取ると、受け取ったアクセスタイミングを規定する設定値の組に従って基本バスタイミングを作成し、基本タイミング信号２６としてバス制御線選択部１４に出力する。
【００３６】
また、アクセスタイミング選択回路１２は、特定した入出力装置に応じて、使用するバス制御線を選択するためのバス制御線選択信号２７をバス制御線選択部１４に送る。バス制御線選択部１４は、アクセスタイミング選択回路１２から入力されるバス制御線選択信号２７をもとに出力するバス制御線２３を選択する。そして、バスタイミング発生シーケンサ１３から送られてくる基本タイミング信号２６に従って制御信号を発生し、選択したバス制御線２３に出力する。
【００３７】
このようにして、種々の入出力装置に応じたアクセスタイミングによりバスアクセスを行うことができる。特にこの第２の実施の形態では、バスタイミング発生シーケンサ１３で作成した基本バスタイミングを、異なるバス制御線２３に出力することが可能である。
【００３８】
図３は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例を示す構成図である。図中、３１はバス制御部、３２はＣＰＵ、３３はメモリ、３４はＩ／Ｏデバイス、４１はアドレスバス、４２はデータバス、４３はコントロールバスである。図３に示したシステムでは、ＣＰＵ３２、メモリ３３及びＩ／Ｏデバイス３４を有しており、それぞれアドレスバス４１、データバス４２、及びコントロールバス４３にて接続されている。
【００３９】
バス制御部３１は、本発明のバス制御装置であり、例えば第１の実施の形態として図１に示した構成、あるいは第２の実施の形態として図２に示した構成を有している。図３に示したシステム構成例では、このバス制御部３１は、ＣＰＵ３２のバスインタフェース部として機能する。
【００４０】
メモリ３３及びＩ／Ｏデバイス３４は、それぞれ保有する機能、対応するバスインタフェース等により、コントロールバス４３を構成するバス制御線２３との接続が異なり、またその動作速度等からバス制御線２３の動作タイミングが異なっていてよい。
【００４１】
なおメモリ３３は、アドレスバス４１、データバス４２、及びコントロールバス４３に直接接続されず、メモリ制御装置がアドレスバス４１、データバス４２、及びコントロールバス４３に接続され、メモリ制御装置を介して各バスに接続されていてもよい。また、ＣＰＵ３２に代わり、アドレスバス４１、データバス４２、及びコントロールバス４３を制御するバス制御部３１を実装するバスマスタ、例えばＤＭＡＣであってもよい。
【００４２】
図４は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例におけるメモリアクセスあるいはＩ／Ｏデバイスアクセス時のバス制御線２３の動作タイミングの一例を示すタイミングチャートである。アドレスＡｄｒｓはアドレスバス４１、データＤａｔａはデータバス４２をそれぞれ示す。また、チップセレクトＣＳ＃（＃は便宜上、活性化時にローレベル、不活性化時にハイレベルの信号線を示す。以下同じである。）、ライトイネーブルＷＥ＃、及びアウトプットイネーブルＯＥ＃はコントロールバス４３に含まれるバス制御線２３である。なお、変化しないバス制御線２３については示していない。また、図４（Ａ）はライトアクセス時の代表的なタイミング例を、図４（Ｂ）はリードアクセス時の代表的なタイミング例を示し、それぞれのアクセスタイミングを規定している部分を記載している。なお、メーカーや、それぞれのデバイス、あるいはデバイスの使用方法によって、使用するバス制御線が異なり、あるいはタイミング規定を行っているポイントが変わるので、個々のタイミング規定の詳細説明はここでは省略する。
【００４３】
図４（Ａ）に示すライトアクセス時には、バス制御線２３としてチップセレクトＣＳ＃と、ライトイネーブルＷＥ＃を用いる。アドレスＡｄｒｓおよび書き込むべきデータＤａｔａを出力後、チップセレクトＣＳ＃を立ち下げ、ライトイネーブルＷＥ＃を立ち下げる。そして、ライトイネーブルＷＥ＃を立ち上げたときのデータＤａｔａが書き込まれる。例えばメモリ３３へのライトアクセスであれば、アドレスＡｄｒｓで示されるアドレスにデータＤａｔａのデータが格納される。またＩ／Ｏデバイス３４へのライトアクセスであれば、アドレスＡｄｒｓによってＩ／Ｏデバイス３４あるいはＩ／Ｏデバイス３４の機能が選択され、データＤａｔａのデータがＩ／Ｏデバイス３４に取り込まれる。その後、チップセレクトＣＳ＃を立ち上げ、ライトアクセスのサイクルが終了する。
【００４４】
このようなライトアクセス時の各信号線の制御タイミングとして、図４（Ａ）に示すように種々の規定値が設定されることがある。まず、ｔWCはライトアクセス時の１サイクルの時間を示す。またｔAWは、ライトアクセスサイクルの開始からライトイネーブルＷＥ＃を立ち上げるまでの時間を、ｔAHは、ライトイネーブルＷＥ＃を立ち上げてからライトアクセスサイクルの終了までの時間を示す。チップセレクトＣＳ＃に関する設定値として、ｔCWはチップセレクトＣＳ＃を立ち下げてからライトイネーブルＷＥ＃を立ち上げるまでの時間を、ｔCHはライトイネーブルＷＥ＃を立ち上げてからチップセレクトＣＳ＃を立ち上げるまでの時間を示す。またライトイネーブルＷＥ＃に関する設定値として、ｔASはライトアクセスサイクルの開始からライトイネーブルＷＥ＃を立ち下げるまでの時間を、ｔWPはライトイネーブルＷＥ＃を立ち下げてからライトイネーブルＷＥ＃を立ち上げるまでの時間を示している。さらにデータＤａｔａに関する設定値として、書込時点でデータを安定させるためにライトイネーブルＷＥ＃を立ち下げる前に必要な時間ｔDSと、その後に必要な時間ｔDHを示している。
【００４５】
同様に図４（Ｂ）に示すリードアクセス時には、バス制御線２３としてチップセレクトＣＳ＃と、アウトプットイネーブルＯＥ＃を用いる。アドレスＡｄｒｓを出力後、チップセレクトＣＳ＃を立ち下げ、アウトプットイネーブルＯＥ＃を立ち下げる。アウトプットイネーブルＯＥ＃を立ち下げた後、所定時間おいてデータがデータＤａｔａに出力される。例えばメモリ３３からのリードアクセスであれば、アドレスＡｄｒｓで示されるアドレスに格納されているデータがデータＤａｔａに出力される。またＩ／Ｏデバイス３４へのリードアクセスであれば、アドレスＡｄｒｓによってＩ／Ｏデバイス３４あるいはＩ／Ｏデバイス３４の機能が選択され、Ｉ／ＯデバイスがデータＤａｔａへデータを出力する。そして、アウトプットイネーブルＯＥ＃を立ち上げたタイミングで、データＤａｔａに出力されているデータを取得すればよい。その後、チップセレクトＣＳ＃を立ち上げ、ライトアクセスのサイクルが終了する。
【００４６】
このようなリードアクセス時の各信号線の制御タイミングとして、図４（Ｂ）に示すように種々の規定値が設定されることがある。まず、ｔRCはリードアクセス時の１サイクルの時間を示す。またチップセレクトＣＳ＃に関する設定値として、ｔCOはチップセレクトＣＳ＃を立ち下げてからデータＤａｔａの出力を開始するまでの時間を、ｔCHはアウトプットイネーブルＯＥ＃を立ち上げてからチップセレクトＣＳ＃を立ち上げるまでの時間を示す。またアウトプットイネーブルＯＥ＃に関する設定値として、ｔOEはアウトプットイネーブルＯＥ＃を立ち下げてからデータＤａｔａの出力を開始するまでの時間を示している。さらにデータＤａｔａに関する設定値として、ｔAAはリードアクセスサイクルの開始からデータＤａｔａの出力を開始するまでの時間を、ｔOHはアウトプットイネーブルＯＥ＃を立ち上げてからデータＤａｔａの出力を終了するまでの時間を示している。
【００４７】
上述のように、リードアクセス時とライトアクセス時について、それぞれ、バス制御線２３の動作タイミングが規定されている。またこのようなバス制御線２３の動作タイミングの規定値は、入出力装置の種類や機能、対応動作周波数などによって異なり、通常、数ナノ秒オーダーから数１００ナノ秒オーダーで指定される。それぞれの動作タイミング規定値を満足するタイミング制御部を複数もつと、回路規模が大きくなってしまう。このため、バスに接続されるメモリ３３やＩ／Ｏデバイス３４などの全ての入出力装置におけるバス動作タイミングを実現するため、図１または図２に示したような本発明のバス制御装置を用いたバス制御部３１を備えている。
【００４８】
バス制御部３１では、本発明のバス制御装置の第１及び第２の実施の形態として説明したように、メモリ３３やＩ／Ｏデバイス３４をアクセスする際の動作タイミング規定値をアクセスタイミング規定レジスタ群１１に保持させておき、アクセスする際にアクセスタイミング選択回路１２によって選択する。選択された規定値をもとに、バスタイミング発生シーケンサ１３は基本バスタイミングとして使用されるバス制御線２３の動作タイミングを発生する。
【００４９】
図５は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例においてバス制御部３１内のバスタイミングシーケンサ１３が作成する基本バスタイミングチャートおよびアクセスタイミング規定レジスタ群に設定されるアクセスタイミング規定ポイントの一例の説明図である。図５（Ａ）はライトアクセス時のタイミングチャートおよびアクセスタイミング規定ポイントを示し、図５（Ｂ）はリードアクセス時のタイミングチャートおよびアクセスタイミング規定ポイントを示している。なお、図５においてはバス制御線２３の１つとしてデータディレクションＤＤ＃を示している。データディレクションＤＤ＃は、データバス４２上に配置される双方向バッファの入出力方向を制御することを目的とした制御線であり、図５では規定するタイミング数を減らすことを目的に、リードアクセス時にチップセレクトＣＳ＃と同じタイミングで活性化している。また、アウトプットイネーブルＯＥ＃のかわりにリードイネーブルＲＥ＃として示している。
【００５０】
図５（Ａ）に示すライトアクセス時のアクセスタイミングでは、リードイネーブルＲＥ＃とデータディレクションＤＤ＃は活性化せず、ハイレベルのままである。そしてチップイネーブルＣＳ＃とライトイネーブルＷＥ＃が活性化している。このとき、アドレスＡｄｒｓが出力されてからチップセレクト・セットアップ期間ｔCS後にチップイネーブルＣＳ＃を立ち下げて活性化し、その後、ライトイネーブル・セットアップ期間ｔWS後にライトイネーブルＷＥ＃を立ち下げて活性化する。この状態をライトイネーブル活性化期間ｔWWだけ持続した後、ライトイネーブルＷＥ＃を立ち上げて不活性化する。さらにチップセレクト・ホールド期間ｔCH後にチップイネーブルＣＳ＃も立ち上げ、不活性化する。さらにアドレス・ホールド期間ｔAH後にアドレスＡｄｒｓが切り替わり、バスサイクルが終了する。ライトアクセス時には、これらの期間ｔCS，ｔWS，ｔWW，ｔCH，ｔAHをアクセスタイミング規定レジスタに設定値として保持させておけばよい。
【００５１】
図５（Ｂ）に示すリードアクセス時のアクセスタイミングでは、逆にライトイネーブルＷＥ＃が活性化せず、ハイレベルのままである。そしてチップイネーブルＣＳ＃、リードイネーブルＲＥ＃、データディレクションＤＤ＃が活性化している。このとき、アドレスＡｄｒｓが出力されてからチップセレクト・セットアップ期間ｔCS後にチップイネーブルＣＳ＃を立ち下げて活性化するとともに、データディレクションＤＤ＃を立ち下げて活性化する。その後、リードイネーブル・セットアップ期間ｔRS後にリードイネーブルＲＥ＃を立ち下げて活性化する。この状態をリードイネーブル活性化期間ｔRWだけ持続した後、リードイネーブルＲＥ＃を立ち上げて不活性化する。さらにチップセレクト・ホールド期間ｔCH後にチップイネーブルＣＳ＃も立ち上げ、不活性化する。また、リードイネーブルＲＥ＃を立ち上げた後、データディレクション・ホールド期間ｔDH経過した時点でデータディレクションＤＤ＃も立ち上げて不活性化する。チップイネーブルＣＳ＃を立ち上げてからアドレス・ホールド期間ｔAH後にアドレスＡｄｒｓが切り替わり、バスサイクルが終了する。リードアクセス時には、これらの期間ｔCS，ｔRS，ｔRW，ｔCH，ｔDH，ｔAHをアクセスタイミング規定レジスタに設定値として保持させておけばよい。
【００５２】
図６は、バスクロックを用いた場合のバスタイミング制御の一例と、より高速の内部クロックを用いた場合のバスタイミング制御の一例の比較図である。図６ではリードアクセスの場合について示している。上述のようなアクセスタイミングを規定する設定値に従って、バスタイミング発生シーケンサ１３は、例えば図５に示すようなバスサイクルを作成する。このとき、バスクロックを用いてバスサイクルを作成する場合、図６（Ａ）に示すように、バスクロックＣＬＫｂの立ち上がりエッジあるいは立ち下がりエッジに同期させて、各バス制御線を制御することになる。この場合には、各バス制御線は、設定値に従い、バスクロックＣＬＫｂの周期あるいは半周期を単位として制御できる。例えば図６（Ａ）中のリードサイクル幅ｔRWを可変あるいは延長できる。
【００５３】
近年では、メモリやＩ／Ｏデバイスなどの動作周波数よりも、ＣＰＵやバスマスタなどのデバイスの内部動作周波数のほうが高くなっており、この内部動作周波数を用いることによってさらに微細な動作タイミングの制御が可能である。図６（Ｂ）に示すように、バスクロックＣＬＫｂよりも高い周波数の内部クロックＣＬＫを用いることによって、内部クロックＣＬＫの周期あるいは半周期を単位として、さらに微細な各バス制御線の制御を行うことができる。
【００５４】
また、近年のＣＰＵやバスマスタなどの内部動作周波数は高速化の一途をたどっているが、内部動作周波数が変更されても、アクセスタイミングを規定する設定値を変更するだけで、その内部動作周波数に対応したバスアクセスが可能である。
【００５５】
図７は、アクセスタイミング規定レジスタ群１１に設定するアクセスタイミングを規定する設定値の一例の説明図である。ここでは例えば図６（Ｂ）に示したように高い周波数の内部クロックを用いた場合のクロック数で、それぞれの設定値を示している。各設定項目は図５において説明したものである。設定値が０の場合は、それより前の制御線が変化するときに同時に変化することを示している。例えばパターン４のライトイネーブル・セットアップ期間ｔWSとリードイネーブル・セットアップ期間ｔRSは０である。これは、チップセレクト・セットアップ期間ｔCSに従って、チップセレクトＣＳ＃が立ち下げると同時に、ライトイネーブルＷＥ＃もしくはリードイネーブルＲＥ＃を立ち下げて活性化することを示している。
【００５６】
アクセスタイミング規定レジスタ群１１には、図７に示すように複数のアクセスタイミングのパターンに従った設定値の組を格納しておくことができる。アクセスタイミング選択回路１２は、例えばアドレスバス４１上のアドレス信号２４をデコードしたり、あるいは外部からの選択制御信号２５に従って、アクセスタイミング規定レジスタ群１１に格納されている設定値の組のうちのいずれを選択するかを決定し、アクセスタイミングレジスタ選択信号２１をアクセスタイミング規定レジスタ群１１に送る。アクセスタイミング規定レジスタ群１１は、アクセスタイミング選択回路１２から送られてくるアクセスタイミングレジスタ選択信号２１に従って、選択されたアクセスタイミング規定レジスタから設定値の組を出力する。あるいは、図７に示すように設定値の組を指定テーブルとして保持しておき、選択されたパターンの設定値の組を読み出して出力してもよい。
【００５７】
アクセスタイミング規定レジスタ群１１から出力された設定値の組は、バスタイミング発生シーケンサ１３に入力され、例えば図５に示すようなリードアクセスあるいはライトアクセスのためのバスサイクルが作成される。バスサイクルがリードアクセスであるかライトアクセスであるかは、いずれかのイネーブル信号が発生するまでにバスタイミング発生シーケンサ１３に入力されればよいし、バスサイクル開始時に入力されてもよい。
【００５８】
バスタイミング発生シーケンサ１３で作成されたバスサイクルに基づいてバス制御線２３を制御し、図３に示すコントロールバス４３に制御信号を出力することによって、メモリ３３あるいはＩ／Ｏデバイス３４などの入出力装置へのアクセスを行うことができる。このとき、メモリ３３やＩ／Ｏデバイス３４などの入出力装置に応じたアクセスタイミングを規定した設定値の組を用いてバスサイクルを作成しているので、それぞれの装置に最適なタイミングによりバスアクセスを行うことができる。
【００５９】
図８は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例におけるアクセスタイミング規定レジスタ群に設定されるアクセスタイミング規定ポイントの別の例の説明図、図９は、アクセスタイミング規定レジスタ群１１に設定するアクセスタイミングを規定する設定値の別の例の説明図である。図５に示したアクセスタイミングの規定ポイント及び図７に示したアクセスタイミングを規定する設定値は、関連する既に変化したポイントからの期間（クロック数）を用いて設定した。しかしアクセスタイミングを規定する設定値は、この例に限らず、種々の設定方法を適用することができる。別の例として、図８及び図９では、バスサイクルが発生した最初のポイントからの期間（クロック数）で、各アクセスタイミングを規定する設定値を設定している。バスサイクルの発生は、例えばアドレスＡｄｒｓに有効アドレスが出力され始めたポイントとしたり、あるいはコントロールバスに含まれるバスサイクルスタート信号ＢＳ＃などで判断することができる。
【００６０】
図８では、バスサイクルスタート信号ＢＳ＃をバスサイクルの最初のポイントとし、このポイントからの期間で各設定値を規定している。このようにして規定される各設定値は、値が大きくなってしまう場合がある。しかし、バスタイミング発生シーケンサ１３の内部の処理では、信号変化ポイント毎に内部カウンタの再設定等の必要がなくなり、バスサイクルが発生した最初のポイントでのみ内部カウンタの再設定等を行えばよくなる。そのため、回路規模は大きくなるがバスタイミング発生シーケンサ１３全体の動作周波数を低く抑えることができる。
【００６１】
図８に示すように各設定値を規定する場合に、アクセスタイミング規定レジスタ群１１に保持される各設定値を、例えば図６（Ｂ）に示したように高い内部動作周波数で動作させた場合のクロック数で示している。ここでは、ライトアクセス時のアドレスホールド期間ｔAHW 及びチップセレクトホールド期間ｔCHW と、リードアクセス時のアドレスホールド期間ｔAHR 及びチップセレクトホールド期間ｔCHR とを別々の設定値として示している。しかしこれらの設定値は、全てのパターンでライトアクセス時とリードアクセス時で値が全く同じ場合は、それぞれの設定値をまとめてもよい。または、アドレスホールド期間ｔAH及びチップセレクトホールド期間ｔCHをそれぞれ１つとし、ライトアクセス時とリードアクセス時で使用するパターンを変更することで、異なるアクセスタイミングに対応できるようにしてもよい。
【００６２】
なお、アクセスタイミング規定レジスタ群１１に格納されるアクセスタイミングを規定する設定値は、図７及び図９では動作クロック数で規定したが、これに限られるものではない。タイミングが指定できれば、例えばナノ秒単位の時間値でもよく、バスタイミング発生シーケンサ１３が処理およびタイミングを規定できる値であれば形式は問わない。
【００６３】
図１０は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例においてバス制御部３１内のバスタイミングシーケンサ１３が作成する別のバスタイミングチャート、図１１は、アクセスタイミング規定レジスタ群１１に設定するアクセスタイミングを規定する設定値のさらに別の例の説明図である。図４，図５に示した例では、一般的なアクセスタイミングを示したが、アクセスするデバイスによっては入力の必要がないバス信号が存在する場合もある。例えば図１０に示すバスタイミングチャートの例では、メモリ３３をアクセスする場合にライトイネーブルＷＥ＃あるいはリードイネーブルＲＥ＃を使用するが、チップセレクトＣＳ＃を使用しない場合の例を示している。
【００６４】
このような場合に対応する一つの方法として、図２に示した本発明の第２の実施の形態を用い、バス制御線選択部１４によってバス制御線２３への出力を行わない方法である。バスタイミング発生シーケンサ１３が作成した基本のバスタイミングを基本タイミング信号２６としてバス制御線選択部１４へ入力し、バス制御線選択信号２７を元にして出力するバス制御線２３を選択する際に、不要なバス制御線２３には制御信号を出力しないように制御すればよい。
【００６５】
別の方法として、不要な信号タイミングを発生させないように、アクセスタイミングを規定する設定値を設定しておく方法がある。アクセスタイミング規定レジスタ群１１に格納されるアクセスタイミングを規定する設定値のうち、バスアクセス上、必要のないバス制御線２３に対するアクセスタイミング規定レジスタに、タイミング既定値として使用されない設定値を設定しておく。例えば図１１においてパターン３の中に示すように“−１”を設定しておくことができる。そして、バスタイミング発生シーケンサ１３が設定値をもとにバスサイクルを作成する際に、使用しない設定値が現れた場合には、その基本タイミングを発生しないように構成すればよい。これによって、制御の不要なバス制御線２３へ制御信号を出力しないように制御することができる。なお、図１０，図１１では、図８，図９と同様にバスサイクルの開始時点からの期間を設定値とする例を示しているが、図５，図７に示すように各変化点間の期間を設定値とするなど、上述のように各種の値を設定することが可能である。
【００６６】
図１２は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例においてバス制御部３１内のバスタイミングシーケンサ１３が作成するバーストアクセス時の一例を示すバスタイミングチャートである。ここまでのシステムの第１の例における動作の説明では、メモリ３３及びＩ／Ｏデバイス３４等の入出力装置に対してアクセスする場合には、それぞれ、バスサイクルを生成してアクセスしていた。しかしデバイスによっては、バーストアクセスが許可されているデバイスがある。図１２では、このようなバーストアクセスを行う場合のバスタイミングチャートを示している。
【００６７】
図１２に示すバスタイミングチャートでは、バーストアクセスによって２回のリードを行う例を示している。バーストアクセス中は、チップセレクトＣＳ＃とデータディレクションＤＤ＃が状態を保持している。この間に、アドレスＡｄｒｓが異なる領域を指定し、各アドレスＡｄｒｓごとに、リードイネーブルＲＥ＃が活性化されてデータＤａｔａが読み出される。
【００６８】
バーストアクセスが指定された場合には、例えば図２に示した本発明のバス制御装置の第２の実施の形態を用い、バス制御線選択部１４において、連続するバスサイクルに対して状態を保持するバス制御線２３を選択しておく。バスタイミング発生シーケンサ１３は、通常のバスタイミングとは異なるバーストアクセス用の基本バスタイミングを発生させ、基本タイミング信号２６として出力する。バーストアクセス中はバス制御線選択部１４において例えばチップセレクトＣＳ＃及びデータディレクションＤＤ＃が保持されるので、連続したアクセスが可能になる。
【００６９】
この設定に限らず、アドレスＡｄｒｓは最初のサイクルのみ与える方式や、リードイネーブルＲＥ＃も状態を保持する方式など、バーストサイクルを形成するデバイスに合わせて、アクセスタイミング選択回路１２がバス制御線選択部１４に対して、状態を保持するバス制御線２３を指定するように構成してもよい。
【００７０】
また、アクセスタイミング規定レジスタ群１１に保持されるアクセスタイミングを規定する設定値の組としてバーストアクセス用の規定値の組を格納しておいてもよい。この場合、バーストアクセス用の規定値全てを１つのパターンとして設定する方式でもよく、最初のアクセスパターンと以降のアクセスパターンに分けて設定し、連続して使用する設定を行ってもよい。
【００７１】
なお、図１２に示した例では、リードアクセスをバーストモードで行う例を示したが、ライトアクセスをバーストモードで行う場合についても同様である。
【００７２】
図１３は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例において複数のデバイスを同時にアクセスする場合にバス制御部３１内のバスタイミングシーケンサ１３が作成するバスタイミングの一例を示すタイミングチャートである。上述の各例においては、１回のバスサイクルで１つのデバイスのアクセスしか行っていなかったが、１回のバスサイクルで複数のデバイスをアクセスする場合もある。図１０，図１１を用いて説明したように、デバイスは必ずしもバスタイミング発生シーケンサ１３で発生させた基本バスタイミングから生成されるバス制御線２３の全てを必要としているわけではない。またＤＭＡＣのように、１つのデバイスからデータを読み込むリードバスサイクルを発生させ、他のデバイスへそのデータを書き込むライトバスサイクルを発生させる動作を行うバスマスタがあり、タイミングを調整できれば１回のバスサイクルで読み込みと書き込みを終了させることができる。図１３ではこのような場合に利用できる例を示しており、２つのデバイスをアクセスし、一方はリードアクセス、他方はライトアクセスを行う例を示している。
【００７３】
図１３に示したバスサイクルが通常のバスサイクルと異なる点は、リードイネーブルＲＥ＃とライトイネーブルＷＥ＃が共に活性化している点である。例えばリードデバイスがメモリ３３であり、アクセスに必要なバス制御線２３はアドレスＡｄｒｓとリードイネーブルＲＥ＃とする。また、ライトデバイスはＩ／Ｏデバイス３４であり、アクセスに必要なバス制御線２３はライトイネーブルＷＥ＃とする。チップイネーブルＣＥ＃及びデータディレクションＤＤ＃は、システムの構成により、双方のデバイスに入力してもよく、一方のデバイスに入力してもよく、あるいは使用しなくてもよい。
【００７４】
リードデバイスにデータディレクションＤＤ＃を、ライトデバイスにチップイネーブルＣＥ＃を接続したシステムにおいて動作を説明する。リードイネーブルＲＥ＃とライトイネーブルＷＥ＃は、それぞれ、リードデバイスおよびライトデバイスに接続されている。あるいは、図２に示した本発明のバス制御装置の第２の実施の形態におけるバス制御線選択部１４によってそれぞれのデバイスに接続されるバス制御線２３を制御してもよい。
【００７５】
リードデバイスでは、アドレスＡｄｒｓとリードイネーブルＲＥ＃によってデータが読み出され、データバスＤａｔａに有効データが出力される。一方、ライトデバイスでは、ライトイネーブルＷＥ＃のタイミングに合わせて、データバスＤａｔａ上のデータを書き込む。データを書き込む時点で有効データがデータバスＤａｔａ上に出力されていれば、同じバスサイクル中で読み出したデータを書き込むことができる。このようにして、２回のバスサイクルで行っていたデータ転送を、１回のバスサイクルで終了させることができる。なお、使用するバス制御線２３の組み合わせ、あるいはリードデバイス及びライトデバイスの種類はシステム構成により適宜変更すればよい。
【００７６】
このように、本発明のバス制御装置を用いることによって、多様なバスタイミングを有する入出力装置に対応することができるとともに、各種のアクセス方式に対しても対応することが可能である。
【００７７】
図１４は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第２の例を示す構成図である。図中、図３と同様の部分には同じ符号を付して説明を省略する。３５はバス制御部、３６はバスマスタ、３７はバスアービター、３８はＩ／Ｏデバイスである。この図８に示す第２のシステム例では、アドレスバス４１、データバス４２、及びコントロールバス４３に対し、これらを制御するバス制御部を実装するデバイスが２つ以上接続され、さらにバスアービター３７が接続されている。
【００７８】
図３に示した例と同様に、ＣＰＵ３２にバス制御部３１が設けられているとともに、バスマスタ３６にもバス制御部３５が設けられている。バス制御部３５も、上述した本発明のバス制御装置の第１または第２の実施の形態で示したものである。もちろん、１つのバスに接続されているバス制御装置を有する複数のデバイスは、この例のようにＣＰＵ３２及びバスマスタ３６に限られるものではなく、両方ともＣＰＵあるいはＤＭＡＣのようなバスマスタであってもよく、さらに個数も２つに限定されるものではない。また、アドレスバス４１、データバス４２、及びコントロールバス４３のうち、それぞれのバス制御装置（バス制御部３１，バス制御部３５）が制御できるバス制御線２３は、全く同じでもよく、また部分的に異なってもよい。
【００７９】
バスアービター３７は、バス制御部３１とバス制御部３５が同時にバスを制御しないように、バス所有権の制御を行う。そのために、バスアービター３７と、ＣＰＵ３２及びバスマスタ３６間を接続するバス制御線２３がコントロールバス４３に追加されている。
【００８０】
図１４に示したシステムでは、制御されるデバイスが複数接続されていてもよい。ここではＩ／Ｏデバイス３８をバスに接続し、２つのＩ／Ｏデバイスがバスに接続された例を示している。また、バスマスタ３６がＣＰＵ３２をアクセスしてもよいものとし、ＣＰＵ３２がアドレスバス４１を入力している。さらに、ＣＰＵ３２あるいはバスマスタ３６がバスアービター３７をアクセスしてもよいものとし、バスアービター３７がアドレスバス４１及びデータバス４２を入力している。
【００８１】
図１４に示した第２のシステム例における動作について説明する。ここでは、図３に示した第１のシステム構成例と異なる部分について、主に説明する。この第２のシステム例では、ＣＰＵ３２もバスマスタ３６もバスを制御できるので、バス所有権を確定させるためのバスアービター３７を設けている。そのため、例えば図４や図５に示すようなアクセスを行う前に、バスアービター３７からバス所有権を取得する必要があり、そのためのバス制御線２３の制御が行われる。
【００８２】
図１５は、本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第２の例におけるバス制御動作の一例を示すタイミングチャートである。図１５に示した例では、バスアービター３７とＣＰＵ３２及びバスマスタ３６の間でのバス所有権の制御を行うためのバス制御線２３として４つの制御信号を示している。バス所有要求ＲＥＱ０＃は、ＣＰＵ３２からバスアービター３７へバス所有権を要求するための信号、バス所有許可ＧＮＴ０＃は、バスアービター３７がＣＰＵ３２に対してバス所有権を与えるための信号である。また、バス所有要求ＲＥＱ１＃は、バスマスタ３６からバスアービター３７へバス所有権を要求するための信号、バス所有許可ＧＮＴ１＃は、バスアービター３７がバスマスタ３６に対してバス所有権を与えるための信号である。
【００８３】
ＣＰＵ３２およびバスマスタ３６は、それぞれ独立してバス所有要求を行うことができる。このバス所有要求は、ＣＰＵ３２ではバス所有要求ＲＥＱ０＃を立ち下げる。またバスマスタ３６ではバス所有要求ＲＥＱ１＃を立ち下げればよい。バスアービター３７は、バスが空いている場合には、バス所有権を要求したデバイスにバス所有権を与える。ＣＰＵ３２にバス所有権を与える場合には、バス所有許可ＧＮＴ０＃を立ち下げ、バスマスタ３６にバス所有権を与える場合には、バス所有許可ＧＮＴ１＃を立ち下げる。バスが使用中の場合には、例えば交互にバス所有権を与えたり、あるいは優先順位を付けて、優先度の高いデバイスに優先的にバス所有権を与えるなど、各種の制御が可能である。
【００８４】
バス所有権を獲得したＣＰＵ３２あるいはバスマスタ３６は、それぞれ所有するバス制御部３１あるいはバス制御部３５を用いて、上述の第１のシステム例に示すバス制御を実施すればよい。
【００８５】
図１５に示した例では、バスが解放されているアイドル（Ｉｄｌｅ）時に、時点ａにおいてＣＰＵ３２からのバス所有要求ＲＥＱ０＃が発行され、続けて時点ｂにおいてバスマスタ３６からのバス所有要求ＲＥＱ１＃が発行されている。バスアービター３７は、バス所有権確定動作を実行し、この例では時点ｃにおいて、ＧＮＴ０＃によりバス所有権をＣＰＵ３２に与えている。これを受けてＣＰＵ３２はリードサイクル（Ｂ−０Ｒｄ）を行っている。このリードサイクルにおけるバスアクセスは、例えば図４（Ｂ）や図５（Ｂ）に示したようなタイミングによって行われる。このリードサイクルにおけるバスアクセスについては、既に詳述したのでここでは説明を省略する。なお、このリードサイクルの終了までに、さらにＣＰＵ３２から次のバス所有要求が発行されていてもよく、この例では時点ｄにおいてＣＰＵ３２は次のバス所有要求を発行している。
【００８６】
バスアービター３７は、バスが使用されている場合にはＣＰＵ３２とバスマスタ３６に交互にバス所有権を与えるものとし、ＣＰＵ３２によるリードサイクル（Ｂ−０Ｒｄ）の終了直前の時点ｅにおいて、バスアービター３７はバス所有許可ＧＮＴ１＃によりバスマスタ３６にバス所有権を与える。バスマスタ３６はバス所有権を得て、ライトサイクル（Ｂ−１Ｗｒ）を行っている。このライトサイクルにおけるバスアクセスは、例えば図４（Ａ）や図５（Ａ）に示したようなタイミングによって行われる。このライトサイクルにおけるバスアクセスについては、既に詳述したのでここでは説明を省略する。なお、このライトサイクルの終了までに、さらにバスマスタ３６から次のバス所有要求が発行されていてもよい。
【００８７】
上述のように、バス所有許可ＧＮＴ０＃及びＧＮＴ１＃とバス制御動作とは密接な関係があり、同期が取られる必要がある。しかし、バス所有要求ＲＥＱ０＃、ＲＥＱ１＃、及びバス所有権確定動作と、バス制御動作とは、同期がとられていなくてもよい。
【００８８】
図１５に示した例では、ＣＰＵ３２がリードアクセス、バスマスタ３６がライトアクセスを行った場合を示しているが、もちろん、いずれのバスサイクルにおいても、リードアクセス、ライトアクセスのいずれを行ってもよい。また、リードアクセス、ライトアクセスのバスタイミングは、図４，図５に示したバスタイミングに限らず、図１０に示したように一部のバス制御線２３を用いない場合や、図１２に示したようにバーストアクセスが行われる場合、あるいは図１３に示したように同じバスサイクル中で複数のデバイスがアクセスされる場合など、種々のシステム条件に対応したバスタイミングであってよい。
【００８９】
図１６は、本発明のバス制御装置の第３の実施の形態を示すブロック図である。図中、図１，図２と同様の部分に同じ符号を付してある。この第３の実施の形態では、複数のバス制御線２３に接続される場合を想定しており、各バス制御線２３ごとに、アクセスタイミング選択回路１２，バスタイミング発生シーケンサ１３，バス制御線選択部１４を有し、アクセスタイミング規定レジスタ群１１を共通して用いる構成を示している。なお、上述の第１の実施の形態と同様に、バス制御線選択部１４を、全部あるいは一部のバス制御線２３に対して設けない構成であってもよい。
【００９０】
アクセスタイミング規定レジスタ群１１は、２つのアクセスタイミング選択回路１２のいずれからかアクセスタイミングレジスタ選択信号２１を受け取ると、選択されたアクセスタイミングを規定した設定値の組をタイミング指定信号２２として、アクセスタイミングレジスタ選択信号２１を発したアクセスタイミング選択回路１２に対応するバスタイミング発生シーケンサ１３に出力する。そして、アクセスタイミング規定レジスタ群１１からタイミング指定信号２２を受け取ったバスタイミング発生シーケンサ１３がバスサイクルを作成して基本タイミング信号２６を対応するバス制御線選択部１４に送り、バス制御線２３に制御信号が出力されることになる。
【００９１】
この第３の実施の形態によれば、図１や図２に示した本発明のバス制御装置の第１，第２の実施の形態を複数設けた構成に比べ、アクセスタイミング規定レジスタ群１１を共通化した分だけ回路規模を小型化することが可能である。なお、図１６に示した例では、２つのバスに接続される例を示したが、３つ以上のバスに接続される場合についても同様である。また、複数のバス制御線２３は、同一のバスに接続され、バスアービターによってバス所有権が与えられる構成であってもよい。
【００９２】
図１７は、本発明のバス制御装置の第４の実施の形態を示すブロック図である。図中、図１，図２と同様の部分には同じ符号を付して説明を省略する。１５はバス選択部、２８はバス選択信号である。この第４の実施の形態においても、複数のバス制御線２３に接続される場合を想定しており、各バス制御線２３に共通して、アクセスタイミング規定レジスタ群１１，アクセスタイミング選択回路１２，バスタイミング発生シーケンサ１３を有し、バス選択部１５によって制御信号を出力するバス制御線２３を選択する例を示している。なお、上述の第２の実施の形態と同様に、バス制御線選択部１４を、全部あるいは一部のバス制御線２３に対して、あるいは共通して設けた構成であってもよい。
【００９３】
アクセスタイミング選択回路１２は、アクセスするデバイスが接続されているバスを認識し、バス選択信号２８をバス選択部１５に対して送出する。バス選択部１５は、アクセスタイミング選択回路１２からバス選択信号２８を受け、バス制御線２３を選択して、バスタイミング発生シーケンサ１３で作成したバスサイクルに応じた制御信号を選択したバス制御線２３に出力する。
【００９４】
この第４の実施の形態によれば、同時に複数のバスに対してアクセスすることはできないが、小さな回路規模で複数のバスに接続された入出力装置に対して最適なタイミングでアクセスすることができる。なお、バス選択部１５で選択するバスの数は２つに限らず、３つ以上のバスを選択するように構成してもよい。
【００９５】
図１８は、本発明のバス制御装置の第３または第４の実施の形態を用いたシステムの一例を示す構成図である。図中、図１４と同様の部分には同じ符号を付して説明を省略する。４４は二次アドレスバス、４５は二次データバス、４６は二次コントロールバス、５１はバス制御部である。バスマスタ３６は、アドレスバス４１、データバス４２、及びコントロールバス４３で構成される一次バスと、二次アドレスバス４４、二次データバス４５、及び二次コントロールバス４６で構成される二次バスに接続され、それぞれを制御している。バスマスタ３６はバス制御部５１を有している。バス制御部５１は、図１６，図１７に本発明のバス制御装置の第３，第４の実施の形態として示したものである。
【００９６】
バス制御部５１は、例えば図１６や図１７に示した本発明の構成を有しているので、一次バスと二次バスに対して、それぞれバスアクセスを行うことができる。それぞれのバスアクセス時のタイミング等は、上述の各例と同様である。もちろん、バーストアクセスを行うこともできる。なお、図１８では一次バスにメモリ３３のみ、二次バスにＩ／Ｏデバイス３８のみが接続されているが、これに限らず、各バスに複数の入出力装置が接続されていても、同様にバスアクセスを行うことができる。この場合、図１３に示したような１回のバスサイクル中でデータ転送を行うアクセス方式を適用することも可能である。
【００９７】
図１８では、バスマスタ３６によりバスアクセスを行っているが、バスマスタ３６の代わりに、複数のバスに接続できるＣＰＵ３２が接続されていてもよい。もちろん、図１４に示したシステム例のように、バスマスタ３６とＣＰＵ３２が同じバスに接続されているシステム構成も可能である。さらに、バスマスタ３６中のバス制御部５１が有する２系統のバス制御線２３が同じバスに接続され、バスアービターによってバス所有権の制御を行うように構成してもよい。
【００９８】
また、図１８では本発明のバス制御装置の第３，第４の実施の形態を用いたシステムとして説明したが、例えば本発明の第１，第２の実施の形態として示したバス制御装置を、それぞれのバスに対して複数設けた構成、すなわちバスマスタ３６に複数のバス制御部を有する構成であってもよい。
【００９９】
以上、本発明のバス制御装置を用いたいくつかのシステム構成について説明した。これらのシステムは、例えば１つの半導体デバイス上に形成することも可能である。以下、半導体デバイス上にシステムを形成する場合について、いくつかの例を示す。
【０１００】
図１９は、本発明のバス制御装置を用いて半導体デバイス上に形成したシステムの一例を示す構成図である。図中、６１，６２は半導体デバイス、７１は内部アドレスバス、７２は内部データバス、７３は内部コントロールバス、８１はバス制御部、８２はＣＰＵ部、８３はメモリ部、８４はＩ／Ｏ部、８５はバッファである。
【０１０１】
この例は、図３に示したシステム例に対応するものであり、ＣＰＵ部８２、メモリ部８３、Ｉ／Ｏ部８４はそれぞれ図３におけるＣＰＵ３２、メモリ３３、Ｉ／Ｏデバイス３４に対応する部分を半導体デバイス６１の内部要素として形成したものである。また、バス制御部８１も図３におけるバス制御部３１に対応するものであり、本発明の第１，第２の実施の形態として示したバス制御装置である。
【０１０２】
ＣＰＵ部８２、メモリ部８３、Ｉ／Ｏ部８４は、内部アドレスバス７１、内部データバス７２、及び内部コントロールバス７３に接続されており、バス制御部８１により内部コントロールバス７３のバス制御線を制御し、メモリ部８３，Ｉ／Ｏ部８４に対するバスアクセスを行うことができる。このとき、上述のようにそれぞれのアクセス対象に対応したアクセスタイミングを規定する設定値に基づいてバスアクセスを行うので、それぞれのアクセス対象に最適なタイミングでバスアクセスを行うことができる。なお、バスアクセスの動作は例えば図３に示したシステム例などと同様であるので、ここでは説明を省略する。
【０１０３】
図１９（Ａ）に示す半導体デバイス６１では、内部アドレスバス７１、内部データバス７２、及び内部コントロールバス７３を半導体デバイス６１の内部バスにのみに適応した例を示している。また、図１９（Ｂ）に示す半導体デバイス６２は、内部アドレスバス７１、内部データバス７２、及び内部コントロールバス７３を、バッファ８５を介して、アドレスバス４１、データバス４２、及びコントロールバス４３からなる外部バスと併用した例を示している。内部バスを外部バスと併用する場合、全ての信号線を併用しなくてもよい。
【０１０４】
図２０は、本発明のバス制御装置を用いて半導体デバイス上に形成したシステムの別の例を示す構成図である。図中、図１９と同様の部分には同じ符号を付して説明を省略する。６３は半導体デバイス、７４は内部二次アドレスバス、７５は内部二次データバス、７６は内部二次コントロールバス、８６はバス制御部、８７はバスマスタ部、８８はＩ／Ｏ部、８９はバスアービター部、９０はバッファである。
【０１０５】
この例は、図１４に示したシステム例および図１８に示したシステム例を元にして複数バスに接続する半導体デバイスの構成例を示している。ＣＰＵ部８２、メモリ部８３、Ｉ／Ｏ部８４、バスアービター部８９はそれぞれ図１４におけるＣＰＵ３２、メモリ３３、Ｉ／Ｏデバイス３４、バスアービター３７に対応する部分を半導体デバイス６３の内部要素として形成したものである。また、バスマスタ部８７、Ｉ／Ｏ部８８はそれぞれ図１８におけるバスマスタ３６、Ｉ／Ｏデバイス３８に対応する部分を半導体デバイス６３の内部要素として形成したものである。なお、バス制御部８１は図１４におけるバス制御部３１に対応するものであり、本発明の第１，第２の実施の形態として示したバス制御装置である。また、バス制御部８６は図１８におけるバス制御部５１に対応するものであり、本発明の第３，第４の実施の形態として示したバス制御装置である。
【０１０６】
ＣＰＵ部８２はバス制御部８１を有しており、内部アドレスバス７１、内部データバス７２、及び内部コントロールバス７３で構成される内部一次バスに接続され、バス制御を行っている。また、バスマスタ部８７は複数のバスを制御可能なバス制御部８６を有しており、内部アドレスバス７１、内部データバス７２、及び内部コントロールバス７３で構成される内部一次バスと、内部二次アドレスバス７４、内部二次データバス７５、及び内部二次コントロールバス７６で構成される内部二次バスに接続され、それぞれを制御している。なお、バス制御部８１及びバス制御部８６におけるバスアクセスの動作は、図１４，図１８に示したシステムと同様であるのでここでは説明を省略する。
【０１０７】
内部一次バスはＣＰＵ部８２のバス制御部８１とバスマスタ部８７のバス制御部８６によってアクセスされる。そのため、バスアービター部８９によって内部一次バスの所有権を制御している。このときのバス所有権の制御についても、図１４に示したシステムと同様であるので説明を省略する。
【０１０８】
複数の内部バスを有する半導体デバイスにおいては、それぞれの内部バスのうち、すべてあるいは一部を外部バスと併用してもよい。例えば、図２０に示した構成において、内部二次アドレスバス７４、内部二次データバス７５、及び内部二次コントロールバス７６で構成される内部二次バスを、バッファ９０を介して、二次アドレスバス４４、二次データバス４５、及び二次コントロールバス４６で構成される外部二次バスと接続して併用している。また、さらに内部アドレスバス７１、内部データバス７２、及び内部コントロールバス７３で構成される内部一次バスも、バッファ８５を介して、アドレスバス４１、データバス４２、及びコントロールバス４３で構成される外部バスと接続して併用している。もちろん図２０に示す構成において、一方あるいは両方を外部バスと接続しない構成でもよい。
【０１０９】
なお、ＣＰＵ部８２、メモリ部８３、Ｉ／Ｏ部８４，８８などの接続個数やいずれのバスに接続するかは任意である。また、バスアービター部８９の実装の有無も任意である。もちろん、図１４と同様の構成、あるいは図１８と同様の構成を半導体デバイス上に形成することもできる。
【０１１０】
また、バスマスタ部８７に設けるバス制御部８６として、本発明の第１，第２の実施の形態で示したバス制御装置を複数設けてもよい。あるいは、ＣＰＵ部８２に設けたバス制御部８１とバスマスタ８７に設けたバス制御部８６を、本発明の第３，第４の実施の形態で示したバス制御装置により統合してもよい。この場合、３個のバスを１つのバス制御部で制御可能になる。一般に、ＣＰＵ部やバスマスタ部が複数存在し、バス制御を行う部分が多数存在する場合、そのすべてあるいは一部について本発明の第３，第４の実施の形態で示したバス制御装置により統合することが可能である。
【０１１１】
【発明の効果】
以上の説明から明らかなように、本発明によれば、それぞれのアクセス対象に応じたアクセスタイミングを規定する設定値に従ってバスアクセスを行うので、微細なタイミング制御が可能になり、より最適なバスサイクルを作成して効率のよいバス制御を行うことができる。また、アクセスタイミングを規定する設定値を変更するだけでバスアクセスのタイミングを変更することができ、また新規の追加も容易である。さらに、マイクロプロセッサあるいはバスマスタなどの内部動作周波数が変更されても、アクセスタイミングを規定する設定値を変更するだけで対応が可能である。
【０１１２】
本発明のバス制御装置を用いることにより、上述のように各種のアクセス対象に対して適用可能であるので、各アクセス対象のアクセスタイミングごとにバス制御装置を設ける必要がなくなり、小さい回路規模でシステムを構築することができる。さらに、複数のバスに対して、あるいは同一のバスに対して、複数のバスアクセスを行う場合でも、アクセスタイミングを規定する設定値を共通して用いることが可能であり、構成が複雑になっても回路規模を抑えることができる。本発明によれば、上述のように各種の効果がある。
【図面の簡単な説明】
【図１】  本発明のバス制御装置の第１の実施の形態を示すブロック図である。
【図２】  本発明のバス制御装置の第２の実施の形態を示すブロック図である。
【図３】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例を示す構成図である。
【図４】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例におけるメモリアクセスあるいはＩ／Ｏデバイスアクセス時のバス制御線２３の動作タイミングの一例を示すタイミングチャートである。
【図５】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例においてバス制御部３１内のバスタイミングシーケンサ１３が作成する基本バスタイミングチャートおよびアクセスタイミング規定レジスタ群に設定されるアクセスタイミング規定ポイントの一例の説明図である。
【図６】  バスクロックを用いた場合のバスタイミング制御の一例と、より高速の内部クロックを用いた場合のバスタイミング制御の一例の比較図である。
【図７】  アクセスタイミング規定レジスタ群１１に設定するアクセスタイミングを規定する設定値の一例の説明図である。
【図８】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例におけるアクセスタイミング規定レジスタ群に設定されるアクセスタイミング規定ポイントの別の例の説明図である。
【図９】  アクセスタイミング規定レジスタ群１１に設定するアクセスタイミングを規定する設定値の別の例の説明図である。
【図１０】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例においてバス制御部３１内のバスタイミングシーケンサ１３が作成する別のバスタイミングチャートである。
【図１１】  アクセスタイミング規定レジスタ群１１に設定するアクセスタイミングを規定する設定値のさらに別の例の説明図である。
【図１２】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例においてバス制御部３１内のバスタイミングシーケンサ１３が作成するバーストアクセス時の一例を示すバスタイミングチャートである。
【図１３】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第１の例において複数のデバイスを同時にアクセスする場合にバス制御部３１内のバスタイミングシーケンサ１３が作成するバスタイミングの一例を示すタイミングチャートである。
【図１４】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第２の例を示す構成図である。
【図１５】  本発明のバス制御装置の第１または第２の実施の形態を用いたシステムの第２の例におけるバス制御動作の一例を示すタイミングチャートである。
【図１６】  本発明のバス制御装置の第３の実施の形態を示すブロック図である。
【図１７】  本発明のバス制御装置の第４の実施の形態を示すブロック図である。
【図１８】  本発明のバス制御装置の第３または第４の実施の形態を用いたシステムの一例を示す構成図である。
【図１９】  本発明のバス制御装置を用いて半導体デバイス上に形成したシステムの一例を示す構成図である。
【図２０】  本発明のバス制御装置を用いて半導体デバイス上に形成したシステムの別の例を示す構成図である。
【符号の説明】
１１…アクセスタイミング規定レジスタ群、１２…アクセスタイミング選択回路、１３…バスタイミング発生シーケンサ、１４…バス制御線選択部、１５…バス選択部、２１…アクセスタイミングレジスタ選択信号、２２…タイミング指定信号、２３…バス制御線、２４…アドレス信号、２５…選択制御信号、２６…基本タイミング信号、２７…バス制御線選択信号、２８…バス選択信号、３１，３５…バス制御部、３２…ＣＰＵ、３３…メモリ、３４，３８…Ｉ／Ｏデバイス、３６…バスマスタ、３７…バスアービター、４１…アドレスバス、４２…データバス、４３…コントロールバス、４４…二次アドレスバス、４５…二次データバス、４６…二次コントロールバス、５１…バス制御部、６１，６２，６３…半導体デバイス、７１…内部アドレスバス、７２…内部データバス、７３…内部コントロールバス、７４…内部二次アドレスバス、７５…内部二次データバス、７６…内部二次コントロールバス、８１，８６…バス制御部、８２…ＣＰＵ部、８３…メモリ部、８４，８８…Ｉ／Ｏ部、８５，９０…バッファ、８７…バスマスタ部、８９…バスアービター部。
【図１】
0003674670.tif 000002
【図２】
0003674670.tif 000003
【図３】
0003674670.tif 000004
【図４】
0003674670.tif 000005
【図５】
0003674670.tif 000006
【図６】
0003674670.tif 000007
【図７】
0003674670.tif 000008
【図８】
0003674670.tif 000009
【図９】
0003674670.tif 000010
【図１０】
0003674670.tif 000011
【図１１】
0003674670.tif 000012
【図１２】
0003674670.tif 000013
【図１３】
0003674670.tif 000014
【図１４】
0003674670.tif 000015
【図１５】
0003674670.tif 000016
【図１６】
0003674670.tif 000017
【図１７】
0003674670.tif 000018
【図１８】
0003674670.tif 000019
【図１９】
0003674670.tif 000020
【図２０】
0003674670.tif 000021