(57)【特許請求の範囲】
【請求項１】
半導体チップと、
前記半導体チップに搭載した複数個の第１ブロックと、
前記半導体チップ上で複数個の前記第１ブロックを連結したシステムバスと、
前記半導体チップの外部にある複数個の第２ブロックと複数個の前記第１ブロックのうちから所定の両側性第１ブロックとを連結する外部バスと、
前記システムバスの所有権及び前記外部バスの所有権に対する要求信号を受信し、受信した前記要求信号全部の順序をプログラムが可能な所定の優先順位スケジューラによって定め、前記両側性第１ブロックに前記外部バスの第１所有権を付与する第１許可信号を伝達し、前記第１ブロックのうちから前記両側性第１ブロックを除外した他の一つの第１ブロックに前記第１所有権と同時に前記システムバスの第２所有権を付与する第２許可信号を伝達する多重管轄バス調停器と、を備え、
さらに、前記システムバス及び前記外部バス以外の第３経路を備え、
前記複数個の第１ブロックのうちの少なくとも一つの第１ブロックは、前記外部バスを連結した外部メモリ制御器であり、前記外部メモリ制御器は、前記半導体チップの外部に設けられた少なくとも一つのメモリを制御し、前記複数個の第１ブロックのうちの他の一つの第１ブロックは、前記第３経路を経由して前記外部メモリ制御器に連結された多重管轄／多重チャネルＧＤＭＡブロックであることを特徴とする半導体装置。
【請求項２】
前記多重管轄バス調停器は、
前記外部バスのマスターとして作動する前記両側性第１ブロックの要求信号及び前記システムバスのマスターとして作動する前記第１ブロックのうちから前記両側性第１ブロックを除外した他の第１ブロックの要求信号を受信する要求デコーダと、
前記要求デコーダの出力を受信する優先順位スケジューラと、
1番目に高い優先順位に関するデータを含んだ前記優先順位スケジューラの出力を受信して、前記1番目に高い優先順位に対応する前記第１許可信号を伝送するシステムバスマスター選択器と、
２番目に高い優先順位に関するデータを含んだ前記優先順位スケジューラの出力を受信して、前記２番目に高い優先順位に対応する前記第２許可信号を伝送する外部バスマスター選択器と、
を備えることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記半導体装置は、
前記半導体チップに搭載した第１バススイッチと、
前記第１バススイッチを通して前記システムバスを連結し、前記半導体チップに搭載した補助システムバスと、
前記補助システムバスを連結し、前記半導体チップに搭載した複数個の第３ブロックとをさらに備え、
前記多重管轄バス調停器は、
前記第１所有権と同時に発生する前記補助システムバスの第３所有権に関して、複数個の前記第３ブロックのうちから一つの第３ブロックに第３許可信号を伝達することを特徴とする請求項１に記載の半導体装置。
【請求項４】
前記システムバスは、所定の第２バススイッチをはさんで左側部分と右側部分とに分離され、
前記多重管轄バス調停器は、前記第２バススイッチに制御信号を伝送することを特徴とする請求項１に記載の半導体装置。
【請求項５】
前記外部メモリ制御器は、
前記外部バスを制御する外部バス制御器と、
前記システムバス及び前記多重管轄／多重チャネルＧＤＭＡブロックからアドレス及び制御入力を受信し、受信した前記アドレス及び前記制御入力のうちの一つを前記外部バス制御器に伝送するアドレス及び制御マルチプレクサと
前記システムバス及び前記多重管轄／多重チャネルＧＤＭＡブロックからデータ入力を受信し、受信した前記データ入力のうちの一つを前記外部バス制御器に伝送する書込み用データマルチプレクサと、
前記外部バス制御器からデータ入力を受信し、受信した前記データ入力を前記システムバス及び前記多重管轄／多重チャネルＧＤＭＡに伝送する読出し用データデマルチプレクサと、
を備えることを特徴とする請求項１に記載の半導体装置。
【請求項６】
前記アドレス及び制御マルチプレクサ、前記書込み用データマルチプレクサ及び前記読出し用データデマルチプレクサは、
前記外部バス制御器の制御信号によって制御されることを特徴とする請求項５に記載の半導体装置。
【請求項７】
前記半導体装置は、
前記外部バス及び前記外部バス制御器間を連結する少なくとも一つのバッファをさらに備えることを特徴とする請求項５に記載の半導体装置。
【請求項８】
前記半導体装置は、
前記システムバスの第１所有権に関して前記複数個の第１ブロックのうちの一つの第１ブロックに第１許可信号を伝達し、前記第１所有権と同時に発生する前記外部バスの第２所有権に関して前記外部メモリ装置に第２許可信号を伝達する多重管轄バス調停器をさらに備えることを特徴とする請求項１に記載の半導体装置。
【請求項９】
前記多重管轄バス調停器は、
前記複数個の第１ブロックのうちの一つの第１ブロック及び前記半導体チップの外部に設けられた外部メモリ装置の一つから要求信号を受信する要求デコーダと、
前記要求デコーダの出力を受信する優先順位スケジューラと、
1番目に高い優先順位に関するデータを含む前記優先順位スケジューラの1番目の出力を受信して、前記1番目に高い優先順位に対応する第１許可信号を伝送するシステムバスマスター選択器と、
２番目に高い優先順位に関するデータを含む前記優先順位スケジューラの２番目の出力を受信して、前記２番目に高い優先順位に対応する第２許可信号を伝送する外部バスマスター選択器と、
を備えることを特徴とする請求項８に記載の半導体装置。
【請求項１０】
前記多重管轄バス調停器は、
複数個の前記第１ブロックのうちの一つの第１ブロックに前記優先順位スケジューラの３番目の出力に対応する選択信号を伝達するシステムバススレーブ選択器をさらに備えることを特徴とする請求項９に記載の半導体装置。
【請求項１１】
前記３番目の出力は、前記システムバスマスター選択器によってまず受信されてデコードされ、
前記システムバススレーブ選択器は、前記３番目の出力に対応する応答信号を前記システムバスマスター選択器から受信することを特徴とする請求項１０に記載の半導体装置。
【請求項１２】
前記外部メモリ制御器は、
前記外部バスを制御する外部バス制御器と、
前記システムバス及び前記多重管轄／多重チャネルＧＤＭＡブロックからアドレス及び制御入力を前記第１所有権に従って受信し、受信した前記アドレス及び前記制御入力中の一つを前記外部バス制御器に前記第２所有権に従って伝達するアドレス及び制御マルチプレクサと、
前記システムバス及び前記多重管轄／多重チャネルＧＤＭＡブロックからデータ入力を受信し、受信した前記データ入力のうちの一つを前記外部バス制御器に伝達する書込み用データマルチプレクサと、
前記外部バス制御器からデータ入力を受信し、受信した前記データ入力を前記システムバス及び前記多重管轄／多重チャネルＧＤＭＡブロックのうちの一つに伝達する読出し用データデマルチプレクサと、
を備えることを特徴とする請求項８に記載の半導体装置。
【請求項１３】
前記アドレス及び制御マルチプレクサ、前記書込み用データマルチプレクサ及び前記読出し用データデマルチプレクサは、前記外部バス制御器の制御信号によって制御されることを特徴とする請求項１２に記載の半導体装置。
【請求項１４】
前記半導体装置は、前記外部バス及び前記外部バス制御器間を連結する少なくとも一つのバッファをさらに備えることを特徴とする請求項１２に記載の半導体装置。
【請求項１５】
前記外部バス制御器は、前記外部バスのマスターとして前記外部バスを制御するために、前記多重管轄調停器から外部バス許可信号を受信することを特徴とする請求項１２に記載の半導体装置。
【請求項１６】
前記外部バス制御器は、前記システムバスのスレーブとして制御されるために、前記多重管轄調停器から選択信号を受信することを特徴とする請求項１２に記載の半導体装置。
【請求項１７】
複数個の命令を貯蔵している任意の貯蔵手段を備え、少なくとも一つの装置によって利用される場合に、前記命令は、
複数個の要求信号を受信して、
前記要求信号がチップに搭載したシステムバスの使用に関したことか、前記チップの外部バスの使用に関したことか、または前記システムバス及び前記外部バスのすべての使用に関したことかのいずれかに従って、受信した前記要求信号を区別して、
事前に設定した所定の順序によって前記要求信号に優先権を割り当てて、
最っも高い優先順位を割り当てられた要求信号中の第１要求信号を選択して、
前記第１要求信号が遂行される時に、前記システムバス及び前記外部バスのうちから少なくとも一つのバスが用いられないことがあるのか否かを判断して、
前記判断の結果少なくとも一つのバスが用いられない場合に、前記複数個の要求信号中から用いられないと判断されたバスに該当する第２要求信号を選択して、
前記第１要求信号及び前記第２要求信号を同時に発生させるようにし、
更に、半導体チップに搭載したシステムのシステムバスのみを制御する要求信号が、前記半導体チップに搭載した多重管轄／多重チャネルＧＤＭＡ機能ブロックによって許可されるようにして、
外部バスのみを制御する要求信号が、前記多重管轄／多重チャネルＧＤＭＡ機能ブロックによって許可されるようにすることを特徴とするプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記記録媒体は、
２番目の優先順位を有する要求信号が前記第２要求信号になることができるか否かを決定する命令をさらに備えることを特徴とする請求項１７に記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記記録媒体は、
前記２番目の優先順位を有する要求信号が前記第２要求信号になることができない時に、３番目の優先順位を有する要求信号が前記第２要求信号になることができるか否かを決定する命令をさらに備えることを特徴とする請求項１７に記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記記録媒体は、
前記システムバス及び前記外部バスのどちらをも同時に制御する要求信号が、前記多重管轄／多重チャネルＧＤＭＡ機能ブロックによって許可されることを特徴とする請求項１８に記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項２１】
半導体チップに搭載した複数個の機能ブロック、前記半導体チップに搭載し、前記複数個の機能ブロックのうちの一部の機能ブロックを連結する少なくとも一つのシステムバス及び前記半導体チップの外部に設けられた外部装置のうちの一部とデータを交換するための外部バスを備える半導体装置のバス調停方法において、
多重管轄バス調停器が、
複数個の要求信号を受信する段階と、
受信した前記要求信号がシステムバスの使用についてのものであるのか、外部バスの使用についてのものであるのか、または前記システムバス及び前記外部バスの二つともの使用についてのものであるのかによって、受信した複数個の前記要求信号を区別する段階と、
前記複数個の要求信号のうちの1番目の要求信号を選択する段階と、
前記1番目の要求信号が遂行される時に用いられないバスがあるのか否かを判断する段階と、
前記複数個の要求信号のうちから、前記1番目の要求信号が遂行される時に用いられないと判断される前記システムバスまたは前記外部バスのうちの少なくとも一つのバスに遂行できる２番目の要求信号を認識する段階と、
前記1番目の要求信号と同時に前記２番目の要求信号に対して許可する段階と、
を備えることを特徴とするバス調停方法。
【請求項２２】
前記バス調停方法は、
一つの多重管轄バス調停器によって前記すべての要求信号が各々の非階層的な優先順位を割り当てられる段階をさらに備えることを特徴とする請求項２１に記載のバス調停方法。
【請求項２３】
前記バス調停方法は、
前記多重管轄バス調停器が、前記半導体チップに搭載され、
前記1番目の要求信号及び前記２番目の要求信号が同時に遂行される時に用いられないすべてのバスを認識する段階と、
前記1番目の要求信号及び前記２番目の要求信号が同時に遂行される時に用いられず、前記半導体チップ上に搭載された補助システムバスで遂行できる複数個の前記要求信号のうちから３番目の要求信号を選択する段階と、
前記1番目の要求信号を許可すると同時に前記３番目の要求信号を許可する段階と、
をさらに備えることを特徴とする請求項２１に記載のバス調停方法。
【請求項２４】
前記バス調停方法は、
前記多重管轄バス調停器により前記許可された1番目の要求信号によって、当該ブロックのデータの第１集合を前記システムバスを通して伝送する段階と、
データの前記第１集合を伝送すると同時に、  前記多重管轄バス調停器により許可された前記２番目の要求信号によって、当該ブロックのデータの第２集合を前記外部バスを通して伝送する段階と、
データの前記第１集合を伝送すると同時に、前記多重管轄バス調停器により許可された３番目の要求信号によって、当該ブロックのデータの第３集合を前記補助システムバスを通して伝送する段階と、
をさらに備えることを特徴とする請求項２１に記載のバス調停方法。
【請求項２５】
前記バス調停方法は、
前記多重管轄バス調停器により許可された前記1番目の要求信号ないし許可された前記３番目の要求信号によって、各要求信号が要求する前記ブロックのデータの単一集合を前記補助システムバス、前記システムバス及び前記外部バスを通して伝送することを特徴とする請求項２１に記載のバス調停方法。
【請求項２６】
半導体チップに搭載したＣＰＵブロック、前記半導体チップに搭載した複数個の第２機能ブロック、前記半導体チップに搭載し、前記ＣＰＵブロック及び前記複数個の第２機能ブロックのうちの一部分を連結する少なくとも一つのシステムバス、前記半導体チップに搭載したＤＲＡＭリフレッシュ制御器及び外部バスを備える半導体装置のバス調停方法において、
多重管轄バス調停器が、
複数個の要求信号及び第１要求信号すなわち最っも高い優先順位を有する前記ＤＲＡＭリフレッシュ制御器の要求信号を受信する段階と、
前記複数個の要求信号のうちからシステムバスのみを用いようとする要求信号すなわち第２要求信号があるのか否かを判断する段階と、
前記第２要求信号に該当する要求信号がある場合には、前記第１要求信号及び前記第２要求信号が同時に遂行されるように許可する段階と、
を備えることを特徴とするバス調停方法。
【請求項２７】
前記バス調停方法は、
前記多重管轄バス調停器が、
前記複数個の要求信号に優先順位を割り当てる段階と、
２番目の優先順位を有する要求信号を選択する段階と、
前記段階で選択された要求信号が第２要求信号になることができるのか否かを判断する段階と、
をさらに備えることを特徴とする請求項２６に記載のバス調停方法。
【請求項２８】
前記バス調停方法は、
前記多重管轄バス調停器が、
もしも２番目の優先順位を有する前記要求信号が前記第２要求信号になることができなければ、３番目の優先順位を有する要求信号が前記第２要求信号になることができるのか否かを判断する段階をさらに備えることを特徴とする請求項２６に記載のバス調停方法。
【請求項２９】
半導体チップに搭載した多重管轄／多重チャネルＧＤＭＡブロック、前記半導体チップに搭載した複数個の第２機能ブロック、前記複数個の機能ブロックを連結して半導体チップに搭載した少なくとも一つのシステムバス及び前記多重管轄／多重チャネルＧＤＭＡブロックを連結して、前記半導体チップの外部に設けられた外部装置とデータを交換するための通路である外部バスを備える半導体装置のバス調停方法において、
多重管轄バス調停器が、
複数個の要求信号を受信する段階と、
受信した前記要求信号がチップに搭載したシステムのシステムバスの使用についてのものであるのか、前記システムの外部バスの使用についてのものであるのか、または前記システムバス及び前記外部バスの二つともの使用についてのものであるのかによって、受信された複数個の前記要求信号を区別する段階と、
予め設定した所定の順序によって、前記要求信号に優先順位を割り当てる段階と、
高い優先順位を有する要求信号のうちから第１要求信号を選択する段階と、
前記第１要求信号が許可される時に、前記システムバス及び前記外部バスのうちから用いられないバスが少なくとも一つあるのか否かを判断する段階と、
前記第１要求信号が許可される時に用いられないバスがあれば、用いられないと判断された少なくとも一つのバスに対する要求信号のうちから第２要求信号を選択して、前記第１要求信号及び前記第２要求信号を同時に許可する段階と、を備え、
さらに、第１サイクルにおいて前記システムバスのみを制御するために前記多重管轄／多重チャネルＧＤＭＡブロックが要求信号を許可する段階と、
前記第１サイクルに連続する第２サイクルにおいて前記外部バスのみを制御するために前記多重管轄／多重チャネルＧＤＭＡブロックが要求信号を許可する段階と、
を備えることを特徴とするバス調停方法。
【請求項３０】
前記バス調停方法は、
前記多重管轄バス調停器が、
前記２番目の優先順位を有する要求信号が前記第２要求信号になることができるのか否かを判断する段階をさらに備えることを特徴とする請求項２９に記載のバス調停方法。
【請求項３１】
前記バス調停方法は、
前記多重管轄バス調停器が、
前記２番目の優先順位を有する要求信号が前記第２要求信号になることができない場合であれば、３番目の優先順位を有する要求信号が前記第２要求信号になることができるのか否かを判断する段階をさらに備えることを特徴とする請求項３０に記載のバス調停方法。
【請求項３２】
前記バス調停方法は、
前記多重管轄バス調停器が、
前記第２サイクルに連続する第３サイクルにおいて前記システムバス及び前記外部バスを同時に制御するために前記多重管轄／多重チャネルＧＤＭＡブロックが要求信号を許可する段階をさらに備えることを特徴とする請求項２９に記載のバス調停方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体チップに集積されたシステム分野に係り、特に、システムバスと外部バスとを備え、前記システムバスと前記外部バスとのどちらに対しても優先権をプログラムできるバス調停器を具備する半導体装置、並びにプログラムが可能な優先権の割り当て方法及びこれを用いた製品に関する。
【０００２】
【従来の技術】
コンピュータ形態のシステムのような情報コンピューティングシステムが徐々に一つの半導体チップで実現され、提供されてきている。一つの半導体チップで実現され、提供されることから、これをシステムオンチップ（Ｓｙｓｔｅｍ  Ｏｎ  ａ  Ｃhｉｐ、ＳＯＣ）と称する。
ＳＯＣシステムには、ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）ブロックとも称する多様な機能ブロックが半導体チップに集積される。機能ブロックは、システムバスまたは外部バスに対してマスターとして作動する機能ブロックと、マスター機能ブロックの作動の対象になるスレーブ機能ブロックとに分けられる。
【０００３】
図１は、従来のバスシステムの一例を示す。
図１を参照すると、従来のバスシステムは、バス１１０、複数個のバスマスター１２０、複数個のバススレーブ１６０及びバス調停器１９０を備える。従来のバスシステムの機能ブロックは、複数個のバスマスター１２０と複数個のバススレーブ１６０とに大別される。
バスマスター１２０は、バススレーブ１６０に属する機能ブロックのうちのいずれか一つの機能ブロックにデータを書き込んだり、いずれか一つの機能ブロックに貯蔵されたデータを読出したりするために、バス１１０を使用しなければならない。従来のバスシステムでバスマスター１２０は、バス１１０の排他的所有権を有していなければならないが、バスマスター１２０の書込み要求または読出し要求に応答して、データを伝達したりデータを準備したりするだけのバススレーブ１６０には、バスの所有権が与えられない。
従来のバスシステムでは、一度に一つのバスマスター１２０のみがバス１１０を利用できる。したがって、バス１１０を用いようとする複数個のバスマスター１２０のバス１１０使用要求が同時にある場合に、バス調停器１９０によって選択された一つのバスマスターのみがバスを利用できる。
【０００４】
バス使用要求に関するバス調停器１９０での調停過程を次に説明する。
まず、各々のバスマスター１２０は、要求信号ＲＥＱ（図示せず）をバス調停器１９０に送る。要求信号ＲＥＱには、バス１１０使用を要求する情報を含んでいる。バス調停器１９０は、バスマスター１２０から発行されたすべての要求信号ＲＥＱを受信して、所定の順序通りにバスマスター１２０に許可信号ＧＮＴ（図示せず）を伝達する。許可信号ＧＮＴには、バス１１０の使用を許可する情報を含んでいる。
バス調停器１９０は、各々のバスマスター１２０に相異なる優先順位の優先権を予め割り当てて置く方式を利用して、同時に発生するバス使用要求信号に対処する。すなわち、バス使用を要求したバスマスターの中から予め割り当てられた優先順位が最も高いバスマスターにバス所有権を許可する許可信号ＧＮＴを伝達する。
【０００５】
バスマスター１２０に優先権を割り当てる方法は多様である。そのうち、固定優先順位方式は、複数個のバスマスター１２０に一旦割り当てられた優先順位は変わらず、一定な一つの値に固定される。他の一つの割り当て方法である環状伝送方式は、バスマスターの優先順位が循環する。すなわち、バス調停器１９０は、最も長く待っていたバスマスター１２０にバスの使用を許可して、許可を受けてバス１１０を用いた直後のバスマスター１２０には最下位の優先順位を付与する。
【０００６】
ＳＯＣを設計する時に特に問題になるのは、チップに搭載された機能ブロックのデータ入出力のためにシステムバス以外に外部バスも用いられるということである。ここで、外部バスとは、チップの外部に設けられているＲＯＭ、ＳＲＡＭ、フラッシュメモリ、ＤＲＡＭ及び外部入出力装置等のようなものにアクセスするのに用いられるバスをいう。
したがって、ＳＯＣを設計する時には、少なくとも２個のバス（システムバス及び外部バス）各々に対してバス調停器１９０によって調整されなければならない相異なる優先順位を有するバス所有権があるということを考慮しなければならない。しかし、チップの外部に設けられた装置はチップに属する部分でないために、チップの設計者が予めこれを十分に認識するということは相当に難しい問題である。
【０００７】
ＳＯＣ設計において上記の問題に対処するために、２つの主要な調停方式が開発された。それは、排他的調停方法と階層的調停方法とである。
図２は、排他的調停方式を用いる従来のＳＯＣシステムの一例を示す。
図２を参照すると、排他的調停方式を用いるＳＯＣシステムの長所は、バス調停器２９２が簡単な回路で実現でき、また機能ブロックの優先順位を容易にプログラムできることである。
システムは一つの半導体チップで実現できる。システムはチップ内部（図２の実線内部）に設けられたシステムバス２１０及びチップ外部とチップ内部とを連結する外部バス２１５を備え、システムバス２１０及び外部バス２１５は各々マスターブロックとスレーブブロックとを有している。
【０００８】
システムバス２１０のマスターは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２２、複数個のＤＤＭＡ（Ｄｅｄｉｃａｔｅｄ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｂｌｏｃｋ；特定用途ＤＭＡブロック）２２４ないし２２６及びＧＤＭＡ（Ｇｅｎｅｒａｌ  Ｄｉｒｅｃｔ  ＭｅｍｏｒｙＡｃｃｅｓｓ  Ｂｌｏｃｋ；一般用途ＤＭＡブロック）２２８である。ＧＤＭＡ２２８は４個のチャネル（例えば、チャネル＃０、チャネル＃１、チャネル＃２及びチャネル＃３）を有することができるが、所定の時間にシステムバス２１０を通して作動できるのは一つのチャネルのみである。ＤＤＭＡ２２４ないし２２６は、各々連結されたＩＰブロック２３４ないし２３６と相互通信する。
システムバス２１０のスレーブは、内部メモリ制御器２６２及び外部メモリ制御器２４４であり、内部メモリ制御器２６２は内部メモリ２７２のデータ入出力を制御する。
【０００９】
外部バス２１５のマスターは、外部メモリ制御器２４４及び外部メモリ制御器２４４を通して作動するＤＲＡＭリフレッシュ制御器（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  ｒｅｆｒｅｓh  ｃｏｎｔｒｏｌｌｅｒ）２６４である。外部バス２１５のマスターである外部メモリ制御器２４４がシステムバスのスレーブであるので、外部バス２１５はシステムバス２１０に従属する。
外部バス２１５のマスターは、半導体チップの外部にある機能ブロックで有り得る。このように外部バスがシステムバスに従属する場合の外部バスは、通常の外部バスに比べて特別で且つ変わった形を取る。半導体チップ外部にある前記機能ブロックはオフチップ装置とも称するが、前記機能ブロックのうちの一つが外部装置２７３（オフチップ装置）であることができる。外部装置２７３は、外部バス２１５を駆動する外部バスマスターとして作動するために、外部バス２１５がＳＯＣチップ２０５内部にある機能ブロックによって用いられていない場合、チップ外部にあるメモリ２８２または外部入出力装置（外部I/O）２７４に直接アクセスできる。
また外部バス２１５のスレーブもオフチップ装置であることができる。図２を参照すると、外部バス２１５のスレーブはＲＯＭ  ２８２、ＤＲＡＭ  ２８４及び外部入出力装置（外部I/O）２７４等で構成される。
【００１０】
図２に図示したシステムは、排他的バス調停構造及び排他的バス調停方法を遂行するバス調停器２９２を備える。排他的バス調停方法によると、すべてのマスターは各々システムバスマスターとして作動するために、任意の瞬間にはこれら中から一つのみがシステムバスを占有して用いる。外部バスはスレーブとして認識されるので外部メモリ制御器２４４は階層的バスブリッジとして作動する。この場合、バス調停器２９２によって選択された機能ブロックはシステムバス及び外部バスの所有権をすべて有するようになる。これは、任意の瞬間に、システムバスの所有権と外部バスの所有権とを分離して相異なる機能ブロックが分けてそれぞれ所有できないことを意味する。
【００１１】
調停器２９２によって作動する前記排他的調停構造は、次に説明する混合調停方法において用いるのが最善である。
図３は、排他的調停構造を用いることができる混合調停方法の例を示すダイヤグラムである。
図３を参照すると、混合調停方法は、固定順位構造と環状伝送構造とを組合せたものである。混合調停方法によると、各々のマスターブロックで発生される要求信号ｒｅｑｕｅｓｔ、２２２−１、２２４−１、２２６−１、２２８−１、２２８−２、２２８−３、２２８−４及び２６４−１を、各マスターが属する任意のグループＡ、Ｂ、Ｃ及びＤ別にまとめる。同じグループに属するマスターブロックで発生する要求信号間の優先順位は相互に同じである。
グループＡに属するＤＲＡＭリフレッシュ制御器２６４は要求信号２６４−１を出力する。グループＢには６個のマスターブロックＤＤＭＡ＃０、ＤＤＭＡ＃２、ＧＤＭＡ  ＣＨＡＮＮＥＬ＃０ないしＧＤＭＡ  ＣＨＡＮＮＥＬ＃３を備えて、要求信号２２４−１、２２６−１、２２８−１、２２８−２、２２８−３及び２２８−４を各々出力する。グループＣに属するＣＰＵ２２２は要求信号２２２−１を出力する。
【００１２】
前記グループは、重要度によって順序の優位が定まる。グループＡは最も高い重要度を有する順序に定まり、グループＢ及びグループＣはその重要度が相互同一に定まってグループＤに合せられる。
図３を参照すると、割り当てられる優先順位は、グループＡの要素及びグループＤの要素間は固定優先順位方式に従って、グループＤに属するグループＢ及びグループＣの要素間は環状伝送方式に従う。すなわち、グループＢ内の構成員中から最も高い優先権を有した要素及びグループＣ内の要素中から最も高い優先権を有した要素（図３の場合、ＣＰＵ２２２一つのみである）間は相互に交互しながら優先権を有する。グループＢに属する要素間の優先順位は環状伝送方式を取る。
図３の混合調停構造においては、バス調停器２９２は複数個のマスターブロック間のシステムバス２１０に対してのみ優先権を決定するということに注意する。
【００１３】
図４は、図２に図示された排他的バス調停方式による所定の段階を示すダイヤグラムである。
図４を参照すると、機能ブロックの作動に関連した要求信号ＲＥＱ（図示せず）に関する一定瞬間の状態を示し、ステップ１からステップ８までの８段階における機能ブロックの優先順位の変動を示す。各ステップはバス調停器２９２の調停の対象になる各機能ブロックの一定の瞬間における作動を表示する。各ステップは類似に見えるが、各ステップの性質によって、ステップの機能を遂行するための絶対時間は変わる場合がある。  図４において前記ステップは、次の２つ仮定を伴う。
最初の仮定は、図３の混合バス調停構造を利用するということである。２番目の仮定は、ＤＲＡＭリフレッシュ制御器２６４はステップ５ないしステップ７では作動要求をせず、ＣＰＵ  ４２２はステップ１で作動要求をして、残り機能ブロックは連続して作動要求をする。
【００１４】
図４を参照すると、システムバスに対する要求であるのか外部バスに対する要求なのかには関係なく、一回に一つの機能ブロックが選択される。また選択された機能ブロックはシステムバスに対する所有権及び外部バスに対する所有権をすべて所有するようになる。斜線のブロックは実際の作動を遂行するためにバスの所有権を与えられたブロックを意味する。しかしステップ４ないしステップ７の場合に、選択された機能ブロックは作動を遂行するためにシステムバスまたは外部バスのみを必要とするにもかかわらず、システムバス及び外部バスの所有権をすべて有しているためにバスの使用効率を低下させる要因になっている。
【００１５】
図５は、階層的構造に設計された従来のＳＯＣの例を示すブロックダイアグラムである。
図５を参照すると、階層的バス調停方式を用いるＳＯＣは、チップの内部（実線内部）にシステムバス２１０、機能ブロック２２２、２２４、２３４、２２６、２３６、２２８、２４４、２６２、２７２及び２６４及び２個のバス調停器３９４及び調停器３９６を備える。またチップの外部に複数個の機能ブロック２７３、２７４、２８２及び２８４を備えて外部バス３１５を通して内部と連結される。図５に図示されたブロックの番号が図２に表示されたブロックの番号と一致する場合には同じ機能を遂行することを意味するので、ここでは重複説明を省略する。
【００１６】
図５を参照すると、２個のバス調停器を用いる階層的バス調停方式は、一つのバス調停器を用いる排他的バス調停方式に比べてバスの使用効率が高いことを推測できる。しかし階層的バス調停方式は、排他的バス調停方式に比べて二倍のバス調停器が必要であり、すべての機能ブロックに対する作動優先順位を排他的バス調停方式のように簡単に一つの統合されたプログラムで調整できない。
システムバス調停器３９４は、システムバス２１０の要求信号に対する調停を担当して、外部バス調停器３９６は外部バス３１５の要求信号に対する調停を担当する。システムバス調停器３９４及び外部バス調停器３９６相互間には階層的バス調停方式を用いる。システムバス調停器３９４は外部バス調停器３９６に比べて高い階層に分類される。すなわち、システムバス調停器３９４は独立的に作動するが、外部バス調停器３９６の作動はシステムバス調停器３９４に従属される。外部メモリ制御器２４４はシステムバス２１０及び外部バス３１５のブリッジとして作動する。
【００１７】
図６及び図７は、各々システムバス調停器３９４及び外部バス調停器３９６のバス調停方式を示すダイヤグラムである。図６及び図７を参照して説明する。
このダイアグラムでは二つの前提を伴う。第１前提として、システムバス調停器３９４及び外部バス調停器３９６は自体が担当するバスの要求信号に対して順序を決定する区別されたダイヤグラムを各々有しており、第２前提として、システムバス調停器３９４の要求信号は外部バス調停器３９６の要求信号に優先するとする。この二つの前提の下では図５に図示された階層的バス調停方式は上述した排他的バス調停方式よりバス使用の効率性が高くなることを以下で説明する。
【００１８】
図８及び図９は図５に図示した階層的バス調停方式による所定の段階を示す。
図８及び図９を参照すると、システムバス調停器３９４及び外部バス調停器３９６にバス要求信号ＲＥＱを発行した複数個の機能ブロックの一定な段階における状態を示す。図４と同じく、一定な閉ループを形成して優先権が与えられる原理が図８及び図９においても適用される。優先権の順序が変化する瞬間の機能ブロックの状態を８個のステップ（ステップ１ないしステップ８）を通して認識できる。各々のステップはシステムバス調停器３９４及び外部バス調停器３９６によって該機能ブロックが一回に一つずつ選択されることを示す。
ステップ６及びステップ７を参照すると、システムバスを利用する機能ブロックと外部バスを利用する機能ブロックとが異なり、相互に影響を与えずに各々システムバス及び外部バスを同じ時間に用いることができる。これは、一定な同じ時間に２個の機能ブロックがシステムバス及び外部バスを各々分けて利用できない排他的バス調停方式に比べて、バスの使用効率が高いという長所を意味する。
【００１９】
しかし、すべての機能ブロックの優先権順位に対してユーザーが任意にプログラムできない短所がある。例えばステップ１の場合、システムバス調停器３９４はＣＰＵを選択した時に、外部バス調停器３９６がＧＤＭＡチャネル２（ＧＤＭＡ  ｃhａｎｎｅｌ  ＃２）を選択しようとする場合がある。しかし、外部バス調停器３９６はＧＤＭＡチャネル２（ＧＤＭＡ  ｃhａｎｎｅｌ  ＃２）を選択する代わりにＣＰＵが強制的に選択される。これはシステムバス調停器３９４によって選択された機能ブロックが外部バス調停器３９６によって選択された機能ブロックに対して階層的優位を有するためである。
また、他の例では、作動が無効となるなる場合がある。例えば、ステップ２の場合、システムバス調停器３９４はＤＤＭＡブロック０（ＤＤＭＡ  ｂｌｏｃｋ＃０）を選択したとしても、外部バス調停器３９６はＧＤＭＡチャネル２（ＧＤＭＡ  ｃhａｎｎｅｌ  ＃２）を選択しようとする場合がある。外部バス調停器３９６によって選択された機能ブロックがシステムバス調停器３９４によって選択された機能ブロックに対して優先権を有するので、このような場合ＧＤＭＡチャネル２（ＧＤＭＡ  ｃhａｎｎｅｌ  ＃２）は外部バス３１５を制御する。したがってシステムバス２１０はＤＤＭＡブロック０（ＤＤＭＡ  ｂｌｏｃｋ  ＃０）が所有しているが、外部バス３１５を所有したＧＤＭＡチャネル２（ＧＤＭＡ  ｃhａｎｎｅｌ  ＃２）のためにステップ２でＤＤＭＡブロック０の作動を遂行できない。
ステップ４及びステップ８においても、外部バス３１５の所有権がないために割り当てられたステップで機能ブロックの作動を遂行できない機能ブロックがある。このような場合、機能ブロックの作動を遂行できなかったために次にくる優先権を待って、優先権がきたステップで作業を完成しなければならない。
【００２０】
【発明が解決しようとする課題】
上述した図２に図示した排他的バス調停方式及び図５に図示した階層的バス調停方式は、すべてその効率性で問題がある。このようなバス使用に対する非効率性はチップに実現されたシステムの作動速度を落とす短所がある。
したがって、本発明は、複数個の機能ブロック、前記機能ブロックのデータ移動通路になる少なくとも一つのシステムバス、機能ブロック及び半導体チップの外部に設けられた外部装置間でデータ移動通路になる外部バス、及び前記システムバス及び前記外部バスの使用効率を極大化させる多重管轄バス調停器を備え、前記多重管轄バス調停器は、少なくとも一つのシステムバス及び外部バスの所有権を同時に考慮した一つの優先順位スケジューラによってプログラムが可能であってバスの使用効率を高めることを特徴とする半導体装置、特にＳＯＣを提供することを目的とする。
また、本発明は、システムバスと外部バスとの所有権を同時に考慮した一つの優先順位スケジューラによるバス調停方法及びこれを実現する製品を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上述した課題を達成するため本発明によると、前記ＳＯＣは、半導体チップ、前記半導体チップに搭載された複数個の第１ブロック、前記半導体チップ上で複数個の前記第１ブロックと連結されたシステムバス、前記半導体チップの外部にある複数個の第２ブロックと複数個の前記第１ブロックのうちの両側性第１ブロックとを連結する外部バス、及び多重管轄バス調停器とを備える。
前記多重管轄バス調停器は、前記システムバスの所有権及び前記外部バスの所有権に対する要求信号を受信し、プログラムが可能な所定の優先順位スケジューラによって受信した前記要求信号全部の順序を定め、前記外部バスの第１所有権に従って前記両側性第１ブロックに第１許可信号を伝達して、前記第１所有権と同時に発生する前記システムバスの第２所有権従って前記第１ブロックのうちの他の一つの第１ブロックに第２許可信号を伝達する。
【００２２】
さらに、上述した課題を達成するため本発明によると、前記ＳＯＣは、半導体チップ、前記半導体チップに搭載されたシステムバス、外部バス、前記システムバス及び前記外部バス以外の第３経路、及び前記半導体チップ上で前記システムバスと直接連結された複数個の第１ブロックを備える。
前記複数個の第１ブロックのうちの少なくとも一つの第１ブロックは、前記外部バスと連結された外部メモリ制御器であり、前記外部メモリ制御器は、前記半導体チップの外部に設けられた少なくとも一つのメモリを制御し、前記複数個の第１ブロックのうちの他の一つの第１ブロックは、前記第３経路を経由して前記外部メモリ制御器に連結された多重管轄／多重チャネルＧＤＭＡブロックである。
【００２３】
また、上述した課題を達成するため本発明によると、前記製品は、複数個の命令を貯蔵している任意の貯蔵手段を備える。前記命令は、少なくとも一つの装置によって前記製品が利用される場合に、複数個の要求信号を受信して、前記要求信号がチップに搭載されたシステムバスの使用に関したことか、前記チップの外部バスの使用に関したことか、または前記システムバス及び前記外部バスの二つの使用に関したことかに従って受信された前記要求信号を区別して、事前に設定した所定の順序によって前記要求信号に優先権を割り当てて、最高の優先順位を割り当てられた要求信号から第１要求信号を選択して、前記第１要求信号が遂行される時に、前記システムバス及び前記外部バス中から少なくとも一つのバスが用いられないのか否かを判断して、前記判断の結果少なくとも一つのバスが用いられない場合に、前記複数個の要求信号中から用いられないと判断されたバスに該当する第２要求信号を選択して、前記第１要求信号及び前記第２要求信号を同時に発生させるようにする。
前記製品は、２番目の優先順位を有する要求信号が前記第２要求信号にできるか否かを決定するようにする命令をさらに備えることができる。更に前記２番目の優先順位を有する要求信号が前記第２要求信号になることができない時に、３番目の優先順位を有する要求信号が前記第２要求信号にできるか否かを決定するようにする命令をさらに備えることができる。
【００２４】
さらに、上述した課題を達成するため本発明によると、前記製品は、複数個の命令を貯蔵している任意の貯蔵手段を備える。前記命令は、少なくとも一つの装置によって前記製品が利用される場合に、チップに搭載されたシステムのシステムバスのみを制御する要求信号がチップに搭載された多重管轄／多重チャネルＧＤＭＡ機能ブロックによって許可されるようにして、外部バスのみを制御する要求信号が前記多重管轄／多重チャネルＧＤＭＡ機能ブロックによって許可されるようにする。前記製品は、前記システムバス及び前記外部バス二つを同時に制御する要求信号が、前記多重管轄／多重チャネルＧＤＭＡ機能ブロックによって許可されるようにできる。
【００２５】
さらに、上述した課題を達成するため本発明によると、バス調停方法は、半導体チップに搭載された複数個の機能ブロック、前記半導体チップに搭載され、前記複数個の機能ブロックのうちの一部の機能ブロックを連結する少なくとも一つのシステムバス、及び前記半導体チップの外部に設けられた外部装置のうちの一部とデータを交換するための外部バスを備える半導体装置において、複数個の要求信号を受信する段階と、受信された前記要求信号がシステムバスの使用に関するものであるのか、外部バスの使用に関するものであるのか、または前記システムバス及び前記外部バスの二つともの使用に関するものであるのかによって、受信された複数個の前記要求信号を区別する段階と、前記複数個の要求信号の中の1番目の要求信号を選択する段階と、前記1番目の要求信号が遂行される時に用いられないバスがあるのか否かを判断する段階と、前記複数個の要求信号のうちから、前記1番目の要求信号が遂行される時に用いられないと判断される前記システムバスまたは前記外部バスのうち少なくとも一つのバスに遂行できる２番目の要求信号を認識する段階と、前記1番目の要求信号と同時に前記２番目の要求信号に対して許可する段階とを備える。
【００２６】
さらに、上述した課題を達成するため本発明によると、バス調停方法は、半導体チップに搭載されたＣＰＵブロック、前記半導体チップに搭載された複数個の第２機能ブロック、前記半導体チップに搭載され、前記ＣＰＵブロック及び前記複数個の第２機能ブロックのうちの一部分を連結する少なくとも一つのシステムバス、前記半導体チップに搭載されたＤＲＡＭリフレッシュ制御器、及び外部バスを備える半導体装置において、複数個の要求信号及び第１要求信号すなわち最も高い優先順位を有する前記ＤＲＡＭリフレッシュ制御器の要求信号を受信する段階と、前記複数個の要求信号の中からシステムバスのみを用いようとする要求信号すなわち第２要求信号があるのか否かを判断する段階と、前記第２要求信号に該当する要求信号がある場合には、前記第１要求信号及び前記第２要求信号が同時に遂行されるように許可する段階とを備える。
【００２７】
さらに、上述した課題を達成するため本発明によると、バス調停方法は、半導体チップに搭載された複数個の機能ブロック、前記半導体チップに搭載され、前記複数個の機能ブロックのうちから少なくとも一部分を連結する少なくとも一つのシステムバス、及び前記複数個の機能ブロックのうちの一つが前記半導体チップの外部に設けられた外部装置とデータを交換するための通路である外部バスを備える半導体装置において、複数個の要求信号を受信する段階と、受信された前記要求信号がチップに搭載されたシステムのシステムバスの使用に関するものであるのか、前記システムの外部バスの使用に関するものであるのか、または前記システムバス及び前記外部バスの二つともの使用に関するものであるのかによって、受信された複数個の前記要求信号を区別する段階と、予め設定した所定の順序によって、前記要求信号に優先順位を割り当てる段階と、高い優先順位を有する要求信号の中から第１要求信号を選択する段階と、前記第１要求信号が許可される時に、前記システムバス及び前記外部バスの中から用いられないバスが少なくとも一つあるのか否かを判断する段階と、前記第１要求信号が許可される時に用いられないバスがあれば、用いられないと判断された少なくとも一つのバスに対する要求信号の中から第２要求信号を選択して、前記第１要求信号及び前記第２要求信号を同時に許可する。
【００２８】
上述した課題を達成するため本発明によると、バス調停方法は、半導体チップに搭載された多重管轄／多重チャネルＧＤＭＡブロック、前記半導体チップに搭載された複数個の第２機能ブロック、前記複数個のブロックを連結し半導体に搭載された少なくとも一つのシステムバス、及び前記多重管轄／多重チャネルＧＤＭＡブロックに連結されて前記半導体チップの外部に設けられた装置とデータを交換するための通路に用いられる外部バスとを備える半導体装置において、第１サイクルにおいて前記システムバスのみを制御するために前記多重管轄／多重チャネルＧＤＭＡブロックが要求信号を許可する段階と、前記第１サイクルに連続する第２サイクルにおいて前記外部バスのみを制御するために前記多重管轄／多重チャネルＧＤＭＡブロックが要求信号を許可する段階とを備える。
【００２９】
【発明の実施の形態】
以下、添付した図面を参照して本発明の望ましい実施例を説明することによって、本発明を詳細に説明する。各図面について、同一の参照符号は同一の部材であることを示す。
図１０は、本発明によるＳＯＣの第１実施例を示すブロックダイアグラムである。
図１０を参照すると、本発明によるＳＯＣ（実線内部）は、システムバス４１０、ＣＰＵ  ４２２、ＤＤＭＡブロック４２４ないし４２６、ＩＰブロック４３４ないし４３６、多重管轄／多重チャネルＧＤＭＡブロック４３０、内部メモリ制御器４６２、内部メモリ４７２、外部メモリ制御器４４０、ＤＲＡＭリフレッシュ制御器４６４、及び多重管轄バス調停器４９５を備え、前記ＳＯＣの前記要素は半導体チップに搭載される。
半導体チップの外部（実線外部）にあるＲＯＭ４８２、ＤＲＡＭ４８４、外部入出力装置４７４及び外部装置４７３は外部バス４１５を通して半導体チップの内部と通信する。半導体チップの外部には前記の羅列したブロック以外にもＳＲＡＭ（図示せず）、フラッシュメモリ（図示せず）等をさらに備えることができる。外部装置４７３は外部バス４１５を用いることができるが、これは、半導体チップの内部ブロックが外部バス４１５を用いていない場合に限る。
【００３０】
システムバス４１０は、ＡＭＢＡ（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ−ｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃhｉｔｅｃｔｕｒｅ）バスであって、例えばＡＲＭ（Ａｄｖａｎｃｅｄ  Ｒｉｓｃ  Ｍａｃhｉｎｅ）社のシステムバスで構成されうる。また、システムバス４１０はＡＢＨ（Ａｄｖａｎｃｅｄ  Ｈｉｇh  Ｐｅｒｆｏｒｍａｎｃｅ）バスで作られる場合もある。ＣＰＵ  ４２２はシステムバス４１０のマスターであり、キャッシュを含むＡＲＭ  ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）ＣＰＵである。例えば、ＡＲＭ社で供給するＡＲＭ９２０Ｔ及びＡＲＭ９４０Ｔがある。
ＤＤＭＡブロック４２４ないし４２６は、該当するＩＰブロック４３４ないし４３６と各々連結され、ＩＰブロック４３４ないし４３６としてはＥｔhｅｒｎｅｔ  ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）やＰＣＩ（Ｐｅｒｉｐhｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）ブリッジなどがある。内部メモリ制御器４６２は内部メモリ４７２をアクセスする。
【００３１】
多重管轄／多重チャネルＧＤＭＡブロック４３０は、システムバス４１０及び外部バス４１５に対してマスターとして作動するので、一般的なＧＤＭＡと区別するために本発明によるＳＯＣでは、多重管轄／多重チャネルＧＤＭＡというのがさらに正確である。しかし、簡単にＧＤＭＡブロックと称する場合もある。本発明によるＳＯＣの説明ではＧＤＭＡブロック４３０は複数個のチャネルを有したものを原則にする。
本発明による外部メモリ制御器４４０は、ＧＤＭＡブロック４３０とも連結される点で従来のＳＯＣで用いる方式と異なり、前記連結線を第３経路４３１という。外部メモリ制御器４４０は、システムバス４１０及び外部バス４１５のどちらをも媒介するので、本発明によるＳＯＣでは両側性機能ブロックと称する。ＤＲＡＭリフレッシュ制御器４６４は、半導体チップ４０５の外部にあるＤＲＡＭ４８４のリフレッシュを制御する信号を発生し、前記リフレッシュ制御信号は外部メモリ制御器４４０及び外部バス４１５を経由してＤＲＡＭ４８４に伝達される。
バス調停器４９５は、システムバス４１０と外部バス４１５とを同時に管轄するために多重管轄バス調停器と称する。
【００３２】
図１１は、本発明によるＳＯＣの第２実施例を示すブロックダイアグラムである。
図１１を参照すると、本発明によるＳＯＣ（実線内部）は、システムバス４１０、ＣＰＵ  ４２２、ＤＤＭＡブロック４２４ないし４２６、ＩＰブロック４３４ないし４３６、ＧＤＭＡブロック４３０、内部メモリ制御器４６２、内部メモリ４７２、外部メモリ制御器４４０、ＤＲＡＭリフレッシュ制御器４６４及び多重管轄バス調停器５９５を備え、メーンブリッジ５１８、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）５５４、インタラプト制御器５５８、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃhｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ−Ｔｒａｎｓｍｉｔｔｅｒ）５５２、ＴＩＭＥＲ５５６及びＡＰＢ（Ａｄｖａｎｃｅｄ  Ｐｅｒｉｐhｅｒａｌ  Ｂｕｓ）５１６をさらに備えて、前記ＳＯＣの要素は半導体チップに搭載される。
半導体チップの外部（実線外部）にあるＲＯＭ４８２、ＤＲＡＭ４８４、外部入出力装置４７４及び外部装置４７３は外部バス４１５を通して半導体チップの内部（実線内部）と通信する。半導体チップの外部には前記の羅列したブロック以外にもＳＲＡＭ（図示せず）、フラッシュメモリ（図示せず）等をさらに備えることができる。外部装置４７３は外部バス４１５を用いることができるが、これは、半導体チップの内部ブロックが外部バス４１５を用いていない場合に限る。
【００３３】
図１１に図示されたブロックのうちから図１０に図示されたブロックと同じ番号を有したブロックのうち一部４１５、４２２、４２４、４２６、４３４、４３６、４３０、４４０、４６２及び４７２に関する説明は重複になるので省略する。
図１１に図示されたＳＯＣにおいて重要な点の一つは、メーンシステムバス４１０に対する補助システムバスであるＡＰＢ  ５１６が追加されることである。メーンブリッジ５１８は、メーンシステムバス４１０のスレーブであってＡＰＢ５１６とシステムバス４１０との媒介の役割を果たす。ＡＰＢ  ５１６は、メーンシステムバス４１０を補助するシステムバスであり、ＵＳＢ５５４、インタラプト制御器５５８、ＵＡＲＴ５５２、ＴＩＭＥＲ５５６等のスレーブブロックのデータアクセス通路になる。
多重管轄バス調停器５９５は、基本的にメーンシステムバス４１０及び外部バス４１５の要求信号に対する調停をして、選択的にスレーブブロック５５２、５５４、５５６及び５５８で発生された補助システムバスであるＡＰＢ  ５１６の要求信号に対して調停するようになっている。
【００３４】
図１２は、本発明によるＳＯＣの第３実施例を示すブロックダイアグラムである。
図１２を参照すると、本発明によるＳＯＣ（実線内部）は、ＡＨＢＬ  ６１０−Ｌ、ＡＨＢＲ  ６１０−Ｒ、ＡＨＢスイッチ６１２、ＣＰＵ  ４２２、ＤＤＭＡブロック４２４ないし４２６、ＩＰブロック４３４ないし４３６、ＧＤＭＡブロック４３０、内部メモリ制御器４６２、内部メモリ４７２、外部メモリ制御器４４０、ＤＲＡＭリフレッシュ制御器４６４、多重管轄バス調停器６９５、メーンブリッジ５１８、ＵＳＢ５５４、インタラプト制御器５５８、ＵＡＲＴ５５２、ＴＩＭＥＲ５５６及びＡＰＢ  ５１６を備えて、前記ＳＯＣの前記要素は半導体チップに搭載される。
半導体チップの外部（実線外部）にあるＲＯＭ４８２、ＤＲＡＭ４８４、外部入出力装置４７４及び外部装置４７３は外部バス４１５を通して半導体チップの内部（実線内部）と通信する。半導体チップの外部には前記の羅列したブロック以外にもＳＲＡＭ（図示せず）、フラッシュメモリ（図示せず）等をさらに備えることができる。外部装置４７３は外部バス４１５を用いることができるが、これは、半導体チップの内部ブロックが外部バス４１５を用いていない場合に限る。
【００３５】
図１２に図示されたブロックのうちから図１１に図示されたブロックと同じ番号を有したブロックのうちの一部４１５、４２２、４２４、４２６、４３４、４３６、４３０、４４０、４６２、４７２、５１６、５１８、５５２、５５４、５５６及び５５８に対する説明は重複になるので省略する。
図１２に図示されたＳＯＣにおいて重要な点の一つは、メーンシステムバス４１０がＡＨＢＬ  ６１０−Ｌ及びＡＨＢＲ  ６１０−Ｒに分けられ、分けられた前記２個のバスをＡＨＢスイッチ６１２が連結するということである。
多重管轄バス調停器６９５は、基本的に左側システムバスであるＡＨＢＬ  ６１０−Ｌ、右側システムバスであるＡＨＢＲ  ６１０−Ｒ及び外部バス４１５に対する要求信号を調停し、ＡＨＢＬ  ６１０−Ｌ及びＡＨＢＲ  ６１０−Ｒの調停はＡＨＢスイッチ６１２を制御することによってなされる。多重管轄バス調停器６９５は、選択的に補助システムバスであるＡＰＢ  ５１６に対する要求信号を調停し、ＡＰＢ  ５１６及びＡＨＢＲ  ６１０−Ｒ間の調停はメーンブリッジ５１８を制御することによってなされる。
上述したように、図１０ないし図１２にかけて図示した３個の実施例に用いられた多重管轄バス調停器４９５、５９５及び６９５は、ユーザーが所望するバス調停形態でマスターブロックを扱うことができる。
【００３６】
図１３は、本発明によるＳＯＣの第１実施例で用いるバス調停器のブロックダイアグラムである。
図１３を参照すると、本発明によるバス調停器４９５は、要求デコーダ７１０、優先順位スケジューラ７２０、システムバスマスター選択器７３０、システムバススレーブ選択器７４０及び外部バスマスター選択器７５０を備える。システムバス４１０はアドレス及び制御バス４１０−Ｃとデータバス４１０−Ｄとの二つに分けられる。図１３に図示されたバス調停器４９５は、本発明によるＳＯＣの他の実施例で用いられるバス調停器５９５及び６９５にも適用することができ、この時若干の調節が必要である。
【００３７】
要求デコーダ７１０は、システムバス４１０のマスターとして作動する機能ブロックの要求信号及び外部バス４１５のマスターとして作動する機能ブロックの要求信号を受信するようになっている。受信された要求信号はデジタル信号であり、システムバス４１０に関するものであればＳＲＥＱと表示されており、外部バス４１５に関するものであればＥＲＥＱと表示されており、要求デコーダ７１０でデコードされる。要求デコーダ７１０は、優先順位スケジューラ７２０の出力信号すなわち要求信号を発生させた機能ブロックの優先順位についての情報を有した信号に応答して、システムバスマスター選択器７３０及び外部バスマスター選択器７５０を制御する。
【００３８】
優先順位スケジューラ７２０は、要求デコーダ７１０でデコードされた出力信号を受信するようになっている。優先順位スケジューラ７２０は、要求デコーダ７１０の出力信号に応答して、すべてのマスターブロックに対して該当する優先権を決定する。優先順位スケジューラ７２０は複数個のプログラムを包括する統合されたプログラムで運営でき、したがって、いくつかのグループに分離された機能ブロックの優先順位を決定するための各々の優先順位を統合的に運営できる。本発明によるＳＯＣにおいて重要な点の一つは、半導体チップの内部及び半導体チップの外部にあるすべての機能ブロックを考慮して最高優先順位が決定されるということである。優先順位スケジューラ７２０の出力信号は、前記要求信号が要求デコーダ７１０に貯蔵されていれば、要求デコーダ７１０に選択的にフィードバックできる。これは、前記要求信号が優先順位スケジューラ７２０に貯蔵されることと同じである。
【００３９】
システムバスマスター選択器７３０は、優先順位スケジューラ７２０の出力信号を受信するようになっており、もしも要求信号が要求デコーダ７１０に貯蔵されているならば、要求デコーダ７１０の出力信号を受信するようになっている。システムバスマスター選択器７３０は、受信された優先順位スケジューラ７２０の出力信号に応答して、要求信号を発生させた機能ブロックのうちから最っも高い優先順位を有するシステムバスマスター（機能ブロック）に許可信号ＳＧＮＴを伝送するようにさらになっている。
【００４０】
システムバススレーブ選択器７４０は、基本的にシステムバスマスター選択器７３０の出力信号ＣＲＳを受信するようになっており、出力信号ＣＲＳに含まれた情報は優先順位スケジューラ７２０の出力信号がそのソースである。したがって、実施例によっては、システムバススレーブ選択器７４０が優先順位スケジューラ７２０の出力信号を直接受信するようにできることは当然である。
また、システムバススレーブ選択器７４０は、システムバス４１０の出力Ｓ１８を選択的に受信するようになっており、選択されたシステムバススレーブブロックに選択信号ＳＥＬを送信するようになっている。実施例によっては、外部バスメモリ制御器４４０が前記システムバススレーブとなりうる。
【００４１】
外部バスマスター選択器７５０は、優先順位スケジューラ７２０の他の出力信号を受信するようになっており、もしも要求信号が要求デコーダ７１０に貯蔵されていれば、要求デコーダ７１０の出力信号を受信するようになっている。外部バスマスター選択器７５０は、受信された優先順位スケジューラ７２０の出力信号に応答して、要求信号を発生させた機能ブロックのうちから最っも高い優先順位を有する外部バスマスター（機能ブロック）に他の許可信号ＥＧＮＴを伝送するようにさらになっている。外部バスマスター選択器７５０は、外部メモリ制御器４４０に駆動信号ＥＤＲを伝送するようにさらになっている。
【００４２】
図１４は、図１３に図示されたバス調停器と外部メモリ制御器の内部ブロックとの間の信号関係及び複数のアドレスとの関係を示すブロックダイアグラムである。
図１４を参照すると、外部メモリ制御器４４０（さらに正確には多重入力外部メモリ制御器）は、外部バス制御器８１０、アドレス及び制御マルチプレクサ８２０、書込み用データマルチプレクサ８３０、読出し用データマルチプレクサ８４０、及び３個のトライステートバッファ８５２、８５４及び８５６を備える。図１４を参照すると、外部メモリ制御器４４０は図１３に図示されたバス調停器４９５が利用されていることが分かり、外部バス４１５はアドレス及び制御バス４１５−Ｃとデータバス４１５−Ｄとに分離されていることが分かる。
外部バス制御器８１０は、外部バス４１５を制御するようになっている。外部バス制御器８１０は、入力信号をバス調停器４９５から直接受信するようになっていることが望ましい。外部バス制御器８１０は、システムバススレーブ選択器７４０の出力信号ＳＥＬまたは外部バスマスター選択器７５０の出力信号ＥＤＲを交互に受信することができる。
【００４３】
アドレス及び制御マルチプレクサ８２０は、外部バス制御器８１０の制御信号Ｓ３８によって、システムバス４１０及び多重管轄／多重チャネルＧＤＭＡ４３０から信号Ｓ１６及びＳ１５を受信するようになっており、受信された信号Ｓ１６及びＳ１５中から一つの信号を外部バス制御器８１０に伝達するようにさらになっている。
書込み用データマルチプレクサ８３０は、外部バス制御器８１０の制御信号Ｓ３８によって、システムバス４１０及び多重管轄／多重チャネルＧＤＭＡ４３０からデータ信号Ｓ１７及びＳ１９を受信するようになっており、受信されたデータ信号Ｓ１７及びＳ１９中から一つの信号を外部バス制御器８１０に伝達するようにさらになっている。
読出し用データデマルチプレクサ８４０は、外部バス制御器８１０の制御信号Ｓ３８によって、外部バス制御器８１０からデータ信号を受信するようになっており、受信された前記データ信号をシステムバス４１０または多重管轄／多重チャネルＧＤＭＡ４３０に伝達するようにさらになっている。
【００４４】
第１トライステートバッファ８５２は、外部バス制御器８１０の他の制御信号Ｓ３９によって、外部バス制御器８１０からアドレス及び制御用マルチプレクサ８２０の出力信号を受信して、外部バス４１５に伝達するようになっている。第２トライステートバッファ８５４は、外部バス制御器８１０の他の制御信号Ｓ３９によって、外部バス制御器８１０から書込み用データマルチプレクサ８３０の出力信号を受信して、外部バス４１５に伝達するようになっている。第３トライステートバッファ８５６は、外部バス制御器８１０の他の制御信号Ｓ３９によって、外部バス４１５からデータ信号を受信して、外部バス制御器８１０に伝達するようになっている。
【００４５】
以下、図１１に図示した本発明によるＳＯＣの作動を説明する。前記第２実施例に対する説明が本発明によるＳＯＣの第１実施例及び第３実施例に対する作動に容易に適用できることは自明なことである。
ＣＰＵ  ４２２がシステムバス４１０に対する要求信号を発生させて、これに応答してシステムバス４１０の所有権に対する許可を得た場合には、ＣＰＵ  ４２２はシステムバス４１０に連結された所定の機能ブロックのレジスタにデータを記録したり、前記ブロックのレジスタからデータを読み取ったりすることができる。また、ＣＰＵ  ４２２は、システムバス４１０及び補助システムバス５１６に対する所有権を得た後には、メーンブリッジ５１８を通して連結された所定の機能ブロックのレジスタのデータを読んだり前記レジスタにデータを記録したりすることができる。
半導体チップの外部にあるＤＲＡＭ４８４にアクセスするために、ＣＰＵ  ４２２はシステムバス４１０及び外部バス４１５のどちらに対しても所有権を得なければならない。このために、ＣＰＵ  ４２２はまずシステムバス４１０を通して外部メモリ制御器４４０にアクセスして、次に外部メモリ制御器４４０に連結された外部バス４１５を通してＤＲＡＭ４８４にアクセスできる。ＣＰＵ  ４２２とＲＯＭ４８２との関係はＣＰＵ  ４２２とＤＲＡＭ４８２との関係と同じである。したがって、ＣＰＵ  ４２２はシステムバス４１０のマスターとして作動する。
【００４６】
ＤＤＭＡブロック４２４ないし４２６は、内部メモリ４７２または外部メモリ４８２にデータを記録したり、貯蔵されたデータを読んだりする機能を遂行する。内部メモリ４７２にアクセスするためにはシステムバス４１０の所有権のみの許可を受ければいいが、外部メモリ４８２にアクセスするためにはシステムバス４１０及び外部バス４１５のどちらの所有権の許可をも受けなければならない。したがって、ＤＤＭＡブロック４２４ないし４２６はシステムバスのマスターとして作動する。
【００４７】
多重管轄／多重チャネルＧＤＭＡブロック４３０は、内部メモリ４７２または外部メモリ４８４にデータを記録したり、貯蔵されたデータを読んだりする機能を遂行する。多重管轄／多重チャネルＧＤＭＡブロック４３０の作動は、次の４つの場合のデータ通信に分けることができる。
１）プログラムされた任意のＩＰブロックと内部メモリ４７２との間。
２）任意のＩＰブロックと外部メモリ４８４との間。
３）内部メモリ４７２と外部メモリ４８４との間。
４）１外部メモリ４８２と他の１外部メモリ４８４との間。
前記多重チャネルは、多重管轄／多重チャネルＧＤＭＡブロック４３０内で前記４つの場合のデータ通信の各々についてプログラムできる。多重チャネルに対するプログラムが進行中にも多重管轄／多重チャネルＧＤＭＡブロック４３０は一回に一つのチャネルが作動を遂行するように制御できる。
多重管轄／多重チャネルＧＤＭＡ４３０の各々のチャネルにプログラムできる任意のＩＰブロックに関する例を挙げれば、ＵＡＲＴ４４２、ＵＳＢ５５４及びインタラプト制御器５５８などがある。
上述した４つの場合のデータ通信の中で、１）の場合にはシステムバス４１０に対する所有権のみ必要であり、２）及び３）の場合にはシステムバス４１０及び外部バス４１５のどちらに対する所有権も必要であり、４）の場合には外部バス４１５の所有権のみ必要である。したがって、多重管轄／多重チャネルＧＤＭＡブロック４３０は、４）の場合には外部バス４１５のマスターとして作動し、残りの場合にはシステムバス４１０のマスターとして作動する。
【００４８】
ＤＲＡＭリフレッシュ制御器４６４は、外部バス４１５マスターのうちの一つである。ＤＲＡＭリフレッシュ制御器４６４は、外部メモリであるＤＲＡＭ４８４のリフレッシュのために周期的な制御信号を発生させて、これをＤＲＡＭ４８４に伝達するために外部バス４１５を用いるだけであるので、システムバス４１０の所有権は要らない。ＤＲＡＭリフレッシュ制御器４６４が外部バス４１５を用いるためには、まず同じ時間にシステムバスマスターが外部メモリ制御器４４０または外部バス４１５を用いることがあってはならない。このようになって場合に、ＤＲＡＭリフレッシュ制御器４６４は外部メモリ制御器４４０及び外部バス４１５を経由して前記周期的な制御信号をＤＲＡＭ４８４に伝達できる。
同様にして、システムバスマスターブロックが半導体チップの外部にある外部メモリとデータ通信をするためには、外部メモリ制御器４４０の制御に従うべきであって同じ時間に外部バスマスターブロックが外部バス４１５を用いることがあってはならない。
上述した内容は、既に知っていたり予想が可能であったりする各機能ブロックの作動特性に合わせて、半導体チップの内部及び半導体チップの外部に存在するすべての機能ブロックに拡張される。
【００４９】
バス所有権に対する要求信号は、２ビット（ＢＩＴ）のデジタル信号（ＲＥＱ[１：０]＝{ＥＲＥＱ、ＳＲＥＱ}）の組合わせで示す４つの場合を表現できる。ここで、ＳＲＥＱは１ビットのシステムバス要求信号を表示し、ＥＲＥＱは１ビットの外部バス要求信号を表示する。したがって、要求信号すなわちＲＥＱ[１：０]＝２'ｂ００であればシステムバス４１０及び外部バス４１５のどちらをも用いないということであって、ＲＥＱ[１：０]＝２'ｂ０１であればシステムバス４１０に対して使用を要求することであり、ＲＥＱ[１：０]＝２'ｂ１０であれば外部バス４１５に対して使用を要求することであって、ＲＥＱ[１：０]＝２'ｂ１１であればシステムバス４１０及び外部バス４１５のどちらに対しても使用を要求することを意味する。
バス所有権に対する許可信号も２ビットのデジタル信号（ＧＮＴ[１：０]＝{ＥＧＮＴ、ＳＧＮＴ}）の組合わせで示して、４つの場合を表現できる。ここで、ＳＧＮＴは１ビットのシステムバス許可信号を表示し、ＥＧＮＴは１ビットの外部バス許可信号を表示する。したがって、許可信号すなわちＧＮＴ[１：０]＝２'ｂ００であればシステムバス４１０及び外部バス４１５に対して使用を許可せず、ＧＮＴ[１：０]＝２'ｂ０１であればシステムバス４１０のみの使用が許可され、ＧＮＴ[１：０]＝２'ｂ１０であれば外部バス４１４のみの使用が許可され、ＧＮＴ[１：０]＝２'ｂ１１であればシステムバス４１０及び外部バス４１５のどちらの使用も許可されたのである。
【００５０】
本発明によるＳＯＣの重要な点の他の一つは、要求信号が発生されているか否かの有無及び発生された要求信号はどのバスの使用を要求しているかによって分類されている点である。前記分類は上述したような信号によってコーディングされる。
表１は、本発明の実施例によるＳＯＣの機能ブロック（バスマスター）が有することができるバス要求信号を分類したものである。
【表１】
0004243927.tif 000002
表１を参照すると、外部バスマスターブロックとしては、ＤＲＡＭリフレッシュ制御器４６４、ＧＤＭＡブロック４３０の一つのチャネル、及び外部装置４７３があり、ＲＥＱ[１：０]＝２'ｂ１０を発生させる。システムバスマスターブロックとしては、ＣＰＵ  ４２２、ＤＤＭＡブロック４２４ないし４２６、及び前記多重チャネルＧＤＭＡブロック４３０の一つのチャネルがあり、ＲＥＱ[１：０]＝２'ｂ０１またはＲＥＱ[１：０]＝２'ｂ１１を発生させる。
【００５１】
図１５は表１に図示したバス要求信号間の集合関係を示すベンダイヤグラムである。
図１５を参照すると、前記バス要求信号の特性に対する概念をさらに明らかにすることができる。ここで、Ｅ、Ｓ、ＥＯ、ＥＳ及びＳＯは、相互に共通する機能ブロックをまとめた集合を示す。集合Ｓは、システムバス４１０を用いるための要求信号を発生させた機能ブロックの集合であって、集合Ｅは、外部バス４１５を用いるための要求信号を発生させた機能ブロックの集合であり、部分集合ＥＳは、システムバス４１０及び外部バス４１５どちらをも用いるための要求信号を発生させた機能ブロックの集合である。部分集合ＥＯは、集合Ｅのうちから、外部バス４１５のみを用いるための要求信号を発生させた機能ブロックの集合であって、集合Ｅから集合ＥＳを除去したものである。部分集合ＳＯは、集合Ｓのうちから、システムバス４１０のみを用いるための要求信号を発生させた機能ブロックの集合であって、集合Ｓから集合ＥＳを除去したものである。集合Ｅと集合Ｓを合せたものを集合Ａと定義し、すべての要求信号を含む。
このような集合関係を次の式で表示する。
＜式＞
ｎ（Ａ）＝ｎ（Ｅ∪Ｓ）＝ｎ（ＥＯ）＋ｎ（ＥＳ）＋ｎ（ＳＯ）
ｎ（ＥＳ）＝ｎ（Ｅ∩ＥＳ）＝ｎ（Ｓ∩ＥＳ）
ここで関数ｎ（Ｘ）は集合Ｘに属する要素の個数と定義する。
【００５２】
表２は、表１に表示された機能ブロックを図１５に図示した集合によって分類したものである。
【表２】
0004243927.tif 000003
表２を参照すると、第一に、集合Ｓは、システムバスマスターの集合と同一であり、要求信号がＲＥＱ[１：０]＝２'ｂ０１またはＲＥＱ[１：０]＝２'ｂ１１の場合を示す。
第二に、集合Ｅは、外部バスマスターの集合と同一であり、要求信号がＲＥＱ[１：０]＝２'ｂ１０またはＲＥＱ[１：０]＝２'ｂ１１の場合を示す。
第三に、部分集合ＳＯは、システムバスマスターの集合に属する機能ブロックのうちから外部バスを同時に要求する機能ブロックを除外した機能ブロックの集合、すなわちシステムバス４１０の使用のみを要求する機能ブロックの集合であり、要求信号がＲＥＱ[１：０]＝２'ｂ０１の場合を示す。
第四に、部分集合ＥＯは、外部バスマスターの集合に属する機能ブロックのうちからシステムバスを同時に要求する機能ブロックを除外した機能ブロックの集合、すなわち外部バス４１０の使用のみを要求する機能ブロックの集合であり、要求信号がＲＥＱ[１：０]＝２'ｂ１０の場合を示す。
第五に、部分集合ＥＳは、システムバス４１０及び外部バス４１５を同時に用いることを要求する機能ブロックの集合であり、要求信号がＲＥＱ[１：０]＝２'ｂ１１の場合を示す。
第六に、合集合Ａは、複数個の機能ブロックのうちからシステムバス４１０及び／または外部バス４１５の使用を要求する機能ブロックの総集合であり、要求信号がＲＥＱ[１：０]＝２'ｂ１０、ＲＥＱ[１：０]＝２'ｂ０１及びＲＥＱ[１：０]＝２'ｂ１１のうち一つの場合を示す。
【００５３】
バス調停器４９５が優先順位を割り当てる方法を次に示す。
第一に、選択された機能ブロックが集合ＥＳに属する場合には、システムバスマスター選択器７３０のみが駆動される。
システムバスマスター選択器７３０は、選択された機能ブロックにシステムバスの許可信号ＳＧＮＴを伝達する。システムバスマスター選択器７３０は、選択的にシステムバススレーブ選択器７４０を駆動できる。システムバススレーブ選択器７４０も、選択的に外部メモリ制御器４４０を駆動できる。したがって、前記システムバス４１０の使用許可を受けたシステムバスマスター機能ブロックは外部バス４１５の使用も許可を受けることができる。この場合に、外部メモリ制御器４４０は、システムバスアドレス及び制御信号Ｓ１６を、システムバス４１０のアドレス及び制御バス４１０−Ｃを経由して、選択されたマスター機能ブロックから受信する。外部メモリ制御器４４０も、システムバスデータＳ１７を、システムバス４１０のデータバス４１０−Ｄを経由して、選択されたマスター機能ブロックから受信する。受信されたアドレス及び制御信号Ｓ１６及びデータ信号Ｓ１７は外部バスに連結される。
【００５４】
第二に、バス要求信号が２'ｂ０１または２'ｂ１０の場合には、システムバスマスター選択器７３０及び外部バスマスター選択器７５０はバス使用許可信号によって相異なる機能ブロックを各々選択する。言い換えれば、まず外部バスマスター選択器７５０によって選択された機能ブロックが集合ＥＯ（ＲＥＱ[１：０]＝２'ｂ１０）の要素であれば、システムバスマスター選択器７３０は集合ＳＯ（ＲＥＱ[１：０]＝２'ｂ０１）の要素をさらに選択することができる。すなわち、まず、選択された機能ブロックを除外した残りの機能ブロックのうちから、集合ＳＯに属しながらバス要求信号を発生させる機能ブロックがある場合であれば、前記複数個のブロックのうち最っも高い優先順位を有する機能ブロックが選択される。
外部バスマスター選択器７５０が外部バス４１５の使用を許可する信号ＥＧＮＴを第一に選択された機能ブロックに伝送する時に、同時にシステムバスマスター選択器７３０は、システムバス４１０の使用を許可する信号ＳＧＮＴを２番目に選択された機能ブロックに伝送する。外部バスマスター選択器７５０は、外部メモリ制御器４４０に駆動信号ＥＤＲを伝達して外部バスマスター機能ブロックが外部バス４１５を用いることができるようにする。選択されたシステムバスマスター機能ブロックの作動特性によって、システムバスマスター選択器７３０は、システムバススレーブ選択器７４０がシステムバススレーブを選択するようにする。システムバススレーブ選択器７４０は、選択されたシステムバススレーブに選択信号（Ｓ１８）を伝達するために、どんなシステムバススレーブがシステムバスアドレス及び制御信号から使用できるかを決定する。
【００５５】
第三に、選択された機能ブロックが集合ＳＯの要素の場合に、要求デコーダ７１０は、集合ＥＯに属する機能ブロックのうちから一つの機能ブロックをさらに選択することができる。すなわち、要求信号を発生させた機能ブロックのうちであって、１次に選択されて集合ＳＯに属する機能ブロックを除外した残りの機能ブロックのうちである機能ブロックから、集合ＥＯに属して最っも高い優先順位を有する機能ブロックが２次として選択される。
システムバスマスター選択器７３０がシステムバス４１０の使用を許可する信号ＳＧＮＴを第一に選択された機能ブロックに伝送する時に、同時に外部バスマスター選択器７５０は外部バス４１５の使用を許可する信号ＥＧＮＴを２番目に選択された機能ブロックに伝送する。外部バスマスター選択器７５０は選択された外部バスマスター機能ブロックが外部バス４１５を用いることができるように外部メモリ制御器４４０を駆動させる。
【００５６】
外部メモリ制御器４４０の作動は表２で説明している分類に従う。
外部メモリ制御器４４０がシステムバススレーブとして作動する場合に、システムバスマスター機能ブロックはシステムバス４１０及び外部バス４１５を同時に用いるために集合ＥＳに属するように作動する。このような場合に、外部バスマスター選択器７５０は外部メモリ制御器４４０を駆動させないが、システムバススレーブ選択器７４０は、外部メモリ制御器４４０をシステムバススレーブとして作動させるために、外部メモリ制御器４４０に駆動信号ＳＥＬを伝送する。駆動信号ＳＥＬに応答して、外部バス制御器８１０は、アドレス及び制御マルチプレクサ８２０、書込み用データマルチプレクサ８３０及び読出し用データデマルチプレクサ８４０に制御信号Ｓ３８を出力する。
【００５７】
その次に、外部バス制御器８１０は、システムバスマスター機能ブロックから、システムバス４１０を経由して、アドレス及び制御信号Ｓ１６及びデータ信号Ｓ１７を受信して、半導体チップの外部にあるメモリ４８２及び４８４または外部入出力装置４７４にアクセスするために、受信された前記信号をデコードして外部バス４１５を駆動させる。このようにするために、外部バス制御器８１０は、制御信号Ｓ３９を出力して３個のトライステートバッファ８５２、８５４及び８５６をアクティブ状態にする。すなわち、ＣＰＵ  ４２２またはＤＤＭＡブロック４２４がシステムバス４１０及び外部バス４１５に対する要求信号を発生したならば、外部メモリ制御器４４０は、システムバス４１０からアドレス及び制御信号Ｓ１６及びデータ信号Ｓ１７を受信して外部バス４１５を駆動させる。
【００５８】
一方、外部メモリ制御器４４０がシステムバススレーブとして作動せずに、外部メモリ制御器４４０が外部バスマスター選択器７５０により発生される信号ＥＤＲによって駆動されるならば、外部メモリ制御器４４０は、外部バスマスター機能ブロックが外部バス４１５を用いることができるように外部バス４１５を制御する。外部バスマスター機能ブロックとしては、ＤＲＡＭリフレッシュ制御器４６４、多重管轄／多重チャネルＧＤＭＡブロック４３０及び外部装置４７３がある。外部バスマスター選択器７５０はどんな外部バスマスター機能ブロックによって外部バス４１５に対する要求信号が発生したかに関する情報を含んだ信号ＥＤＲを外部バス制御器８１０に伝達する。
【００５９】
外部バスマスター選択器で外部バスマスター機能ブロックのうちからＤＲＡＭリフレッシュ制御器４６４が選択されるならば、外部バス制御器８１０は制御信号３８を通してアドレス及び制御マルチプレクサ８２０、書込み用データマルチプレクサ８３０、及び読出し用データデマルチプレクサ８４０を通して外部バス制御器８１０に入出力されるデータ信号を切って、ＤＲＡＭ４８４をリフレッシュさせる制御信号を発生／出力する。外部バスマスター選択器で外部装置４７３が選択されるならば、外部バス制御器８１０は、制御信号Ｓ３８を通してアドレス及び制御マルチプレクサ８２０、書込み用データマルチプレクサ８３０、及び読出し用データデマルチプレクサ８４０を通して外部バス制御器８１０に入出力されるデータ信号を切って、他の制御信号Ｓ３９を活性化させて３個のトライステートバッファ８５２、８５４及び８５６を作動させることによって、外部装置４７３が外部バス４１５を駆動できるようにする。
【００６０】
外部メモリ間のデータ通信のために多重管轄／多重チャネルＧＤＭＡブロック４３０に外部バス所有権が許可されると、外部メモリ制御器４４０は、システムバス４１０からアドレス及び制御信号とデータ信号Ｓ１６とＳ１７とを受信する代わりに、多重管轄／多重チャネルＧＤＭＡブロック４３０から直接アドレス及び制御信号とデータ信号Ｓ１５を受信して外部バス４１５を駆動する。
最後に、外部バス制御器８１０は、制御信号Ｓ３８を活性化させて、アドレス及び制御マルチプレクサ８２０、書込み用データマルチプレクサ８３０、及び読出し用データデマルチプレクサ８４０を通して多重管轄／多重チャネルＧＤＭＡブロック４３０と直接データ通信をする。
多重管轄／多重チャネルＧＤＭＡブロック４３０とアドレス及び制御マルチプレクサ８２０、書込み用データマルチプレクサ８３０及び読出し用データデマルチプレクサ８４０との間のデータ通信は、図１０に図示した第３経路４３１を通して行われる。
【００６１】
以下、本発明によるバス調停方法について説明する。
本発明は、以下に説明するようなバス調停方法を提供する。
また、本発明は、本発明によるバス調停方法を遂行したり補助したりする製品も共に提供する。前記製品は、要求される目的に合うように特別に設けたり、汎用コンピュータに貯蔵されたプログラムによって選択的に活性化できるように構成されたりする。
以下に説明するバス調停方法とアルゴリズムとは、特定装置やコンピュータに限定されるものではない。特に、多様な分野で用いられる汎用機械装置は、本発明によるバス調停方法及びアルゴリズムによるプログラムを利用でき、この場合には前記方法を遂行するために特別に考案された装置を作るより便利なことが分かる。
本発明によるバス調停方法及びアルゴリズムを遂行するのに有用な機械類や装置としては、汎用ディジタルコンピューターまたはこれと類似した装置がある。しかしすべての場合に、コンピュータを作動させる方法とコンピュータが遂行する計算それ自体の方法とは区別することから始めなければならない。本発明によるバス調停方法及びアルゴリズムは、コンピュータを作動させる方法に用いられる多段階及び要求される物理的信号を発生させるための電気的信号または他の物理的信号を処理することに関する。
本発明は、さらにプログラム及びプログラムの操作方法を提供する。プログラムは汎用コンピュータ、特定用途向けコンピュータ、マイクロコンピュータ等の計算機械に実装される。
本発明によるバス仲裁方法は、前記アルゴリズムによるプログラムが貯蔵される貯蔵媒体をも提供する。コンピュータが判読できる前記貯蔵媒体としてはメモリなどがあって、上述した計算機械を通して判読する。
一般にプログラムは、所望する結果を引き渡す複数の連続した段階と定義される。命令とも呼ばれる前記の各段階は、物理量の物理的操作を要求することである。この物理量は、必ずそのようなものではないが、一般に貯蔵、伝送、組合わせ、比較、操作または処理されうる電気的信号または磁気的信号の形をとる。貯蔵される時は、いかなるコンピュータも判読できる貯蔵媒体に貯蔵されうる。前記信号は、複数のビット、複数のデータビット、複数のサンプル、複数の値、複数の要素、複数のシンボル、複数の特性、複数の映像、複数の用語、複数の数字またはこれと類似したものに表示されることが通常用いる一般的な場合である。しかし、信号に対応する前記用語は望ましい物理量と関連があって、このような物理量に適用が便利な名称という認識から出発した用語でなければならない。
【００６２】
図１６は、本発明の実施例による混合バス調停方式を用いる場合における機能ブロック間のバス調停方法の例を示すダイヤグラムである。
図１６を参照すると、混合バス調停方法によって要求信号４２２−１、４２４−１、４２６−１、４２８−１、４２８−２、４２８−３、４２８−４及び４６４−１は、要求信号を発生するマスター機能ブロックの分類基準によって、いくつかのグループに分けられる。分けられた各グループに属する機能ブロックの要求信号は相互に同じ重要度を有する。グループＥは要求信号４６４−１を、グループＧは要求信号４２４−１、４２６−１、４２８−１、４２８−２、４２８−３及び４２８−４を、グループＨは要求信号４２２−１を各々含む。
前記グループは、それらの重要度によって順位が定まる。グループＥは最も高い順位を有し、グループＧ及びグループＨは相互に同じ順位を有して複合グループＦにまとめられる。図１６を基礎としてシステムバスまたは外部バスに対して分類されたダイヤグラム（図示せず）を拡張することは難しくない。
【００６３】
図１７は、本発明によるバス調停方法の第１実施例を示す信号フローチャートである。
任意の要求信号を受信する段階（１３１０）では、バス調停器４９５から任意の要求信号を受信する。段階（１３１０）は作動の１サイクルに一回ずつ発生する。
要求信号を分類する段階（１３２０）は、任意の要求信号を受信する段階（１３１０）で受信した任意の要求信号を、それらが要求するバスによって、どの分類に属するか決定する。すなわち、要求信号がチップに搭載されたシステムバスの使用のみを要求しているか、外部バスの使用のみを要求しているか、またはチップに搭載されたシステムバス及び外部バスすべての使用を要求するかによって前記要求信号がどの分類に属するか決定する。例えば、前記決定作業は表２に図示された概念によって進められる。この時に上述したような特殊なコーディングを通して前記作業が遂行できる。
【００６４】
バスに用いられる要求信号を認識する段階（１３３０）は、任意の要求信号を受信する段階（１３１０）で受信された複数個の要求信号のうちから、前記バスのうちの使用が可能な少なくとも一つのバスを用いる一つの要求信号を認識する。段階（１３３０）が繰り返されれば、次で説明するように２番目及び３番目の要求信号を最初の要求信号と同時に認識できる。またこの時前記要求信号の順位を考慮する。
【００６５】
順位のプリセット段階（１３４０）は、前記バスに用いられる要求信号を認識する段階（１３３０）に選択的につながる段階であって、図１６に図示された順位のようにプリセットされて、絶対順位または相対順位の形でその順位が与えられる。与えられる順位は要求信号がどの程度待機状態にあったのかを考慮し、同じ順位を有する要求信号のうちから待機状態がより長いものを選択する。
追加で用いるバスがあるか否かを判断する段階（１３５０）は、前記バスに用いられる要求信号を認識する段階（１３３０）で認識された要求信号にバス使用許可信号を発送する時に、使用が可能なバスが残っているか否かを判断する。もしも、使用が可能なバスが残っていれば（ＹＥＳ）、段階（１３３０）を再び繰り返して他の要求信号を認識する。
遂行段階（１３６０）は、前記追加で用いるバスがあるか否かを判断する段階（１３５０）の判断の結果、使用が可能なバスが残っていないと、今まで認識された要求信号に対する許可信号を発生させて該機能ブロックに伝達する。許可信号の発生／伝達作業が終われば、前記任意の要求信号を受信する段階（１３１０）に戻って遂行を繰り返す。
【００６６】
図１８は、本発明によるバス調停方法の第２実施例を一般的に示す信号フローチャートである。
第１段階（１４１０）は、バス調停器４９５で任意の要求信号を受信する。第１段階（１４１０）は作動の１サイクルに一回ずつ発生する。
第２段階（１４２０）は、第１段階（１４１０）で受信した任意の要求信号を、それらが要求するバスによって、どの分類に属しているか決定する。以下図１７の段階（１３２０）と同じである。
第３段階（１４３０）は、図１７の段階（１３３０）のように、要求信号の順位が決定される。
第４段階（１４４０）は、最も高い優先順位を有する要求信号を認識して選択する。
【００６７】
第５段階（１４５０）は、最も高い優先順位を有する要求信号によって所有権が与えられたバス以外に用いられないと判断されるバスがあるのか否かを判断する。判断の結果、使用が可能なバスがなければ（ＮＯＮＥ）、第６段階（１４６０）に進み、今まで認識された要求信号に対する許可信号を発生させて該機能ブロックに伝達した後に、第１段階（１４１０）に戻る。
第５段階（１４５０）における判断の結果、使用が可能なバスがあれば（ＳＯＭＥ）、第７段階（１４７０）に進み、次に高い優先順位を有する要求信号を認識する。
第８段階（１４８０）は、第７段階（１４７０）で認識された要求信号が用いられないと判断されるバスにのみ適用が可能であるのか否かを判断する。判断の結果、用いられないバスにのみが用いられる要求信号であれば（はい）第５段階（１４５０）に戻る。
第８段階（１４８０）における判断の結果、第７段階（１４７０）で認識された要求信号が既に用いられているバスも用いる要求信号であれば（いいえ）、第９段階（１４９０）に進んで、第７段階（１４７０）で認識された要求信号が第１段階（１４１０）で受信された要求信号の最後要求信号であるか否かを判断する。
第９段階（１４９０）の判断の結果、第７段階（１４７０）で認識した要求信号が最後の要求信号であれば（はい）、第６段階（１４６０）に戻って今まで認識された要求信号に対応する許可信号を発生して該機能ブロックに伝達する。
第９段階（１４９０）の判断の結果、第７段階（１４７０）で認識した要求信号が最後の要求信号ではなければ（いいえ）、第７段階（１４７０）に戻る。
【００６８】
図１９は、本発明によるバス調停方法の実施例を示す信号フローチャートである。
図１９を参照すると、信号フローチャートは、図１３及び図１４に図示したバス調停器の各機能ブロックの作動を示す。
第１段階（１５１０）では、バス要求信号（ＲＷＱ）が入力されるのか否かをチェックする。チェックの結果、バス要求信号ＲＥＱがあれば（ＹＥＳ）第２段階（１５２０）に進み、バス要求信号ＲＥＱがなければ（ＮＯ）バス要求信号ＲＥＱが入力されるのか否かを第１段階（１５１０）に戻り続けてチェックする。
第２段階（１５２０）では、第１段階（１５１０）で受信されたバス要求信号ＲＥＱを発生させた少なくとも一つの機能ブロックのうち、優先順位スケジューラ７２０に予めプログラムされたアルゴリズムに基づいて、最も高い優先順位を有する機能ブロックを選択した後、第３段階（１５３０）に進む。
【００６９】
第３段階（１５３０）では、第２段階（１５２０）で選択された機能ブロックのバス要求信号ＲＥＱが集合ＥＳに該当する２'Ｂ１１であるのか否かをチェックする。バス要求信号ＲＥＱが２'Ｂ１１であれば（ＹＥＳ）第４段階（１５４０）に進み、そうでなければ（ＮＯ）第５段階（１５５０）に進む。
第４段階（１５４０）では、第２段階（１５２０）で選択された機能ブロックにシステムバスの使用を許可するシステムバス許可信号ＳＧＮＴを付与した後で第１２段階（１６２０）に進む。
第５段階（１５５０）では、第２段階（１５２０）で選択された機能ブロックのバス要求信号ＲＥＱが集合ＳＯに該当する２'Ｂ０１であるのか否かをチェックする。バス要求信号ＲＥＱが２'Ｂ０１であれば（ＹＥＳ）第６段階（１５６０）に進み、そうでなければ（ＮＯ）第９段階（１５９０）に進む。
第６段階（１５６０）では、バス要求信号ＲＥＱを発生させた少なくとも一つの機能ブロックのうちから第２段階（１５２０）で選択された機能ブロックを除外した残りのブロックのうち、集合ＥＯに該当する２'ｂ１０の要求信号を発生させる機能ブロックがあるのか否かをチェックする。バス要求信号ＲＥＱが２'ｂ１０の要求信号を発生させる機能ブロックがあるならば（ＹＥＳ）第７段階（１５７０）に進み、そうでなければ（ＮＯ）第８段階（１５８０）に進む。
【００７０】
第７段階（１５７０）では、第６段階（１５６０）でチェックされたバス要求信号ＲＥＱ２'ｂ１０を発生させた機能ブロックのうちから最も高い優先順位を有する機能ブロックを選択する。その次に、第２段階（１５２０）で選択された機能ブロックにはシステムバス許可信号ＳＧＮＴを付与して、第７段階（１５７０）で選択された機能ブロックには外部バス許可信号ＥＧＮＴを付与した後に、第１２段階（１６２０）に進む。
第８段階（１５８０）では、第２段階（１５２０）で選択された機能ブロックにシステムバス許可信号ＳＧＮＴを付与した後に、第１２段階（１６２０）に進む。
第９段階（１５９０）では、バス要求信号ＲＥＱを発生させた少なくとも一つの機能ブロックのうちから第２段階（１５２０）で選択された機能ブロックを除外した残りのブロックのうち、集合ＳＯに該当する２'ｂ０１の要求信号を発生させる機能ブロックがあるのか否かをチェックする。バス要求信号ＲＥＱが２'ｂ０１の要求信号を発生させる機能ブロックがあるならば（ＹＥＳ）第１０段階（１６００）に進み、そうでなければ（ＮＯ）第１１段階（１６１０）に進む。
第１０段階（１６００）では、第９段階（１５９０）でチェックされたバス要求信号ＲＥＱ２'ｂ０１を発生させた機能ブロックのうち最も高い優先順位を有する機能ブロックを選択する。その次に、第２段階（１５２０）で選択された機能ブロックには外部バス許可信号ＥＧＮＴを付与して、第９段階（１５９０）で選択された機能ブロックにはシステムバス許可信号ＳＧＮＴを付与した後に、第１２段階（１６２０）に進む。
第１１段階（１６１０）では、第２段階（１５２０）で選択された機能ブロックに外部バス許可信号ＥＧＮＴを付与した後、第１２段階（１６２０）に進む。
【００７１】
第１２段階（１６２０）では、システムバス許可信号が所定のシステムバスマスター機能ブロックに与えられた場合に、選択されたシステムバスマスター機能ブロックでアクセスしようとするシステムバススレーブ機能ブロックを選択する。特に、システムバス許可信号が集合ＥＳに属する機能ブロックに与えられたとすれば、外部メモリ制御器４４０をシステムバススレーブに作動させ第２段階（１５２０）で選択された機能ブロックがシステムバスのみならず外部バスを同時に用いることができるようにする。もしも、一つの外部バスマスター機能ブロックのみが選択されたとすれば、外部メモリ制御器４４０は外部バスのマスターとして作動して外部バスを用いることができるようにする。前記の過程がすべて遂行されると、優先順位スケジューラ７２０をプログラムによって再調整して第１３段階（１６３０）に進む。第１２段階（１６２０）は必須ではなく、場合によっては省略されうる。本発明によるＳＯＣのうちある実施例では、第１２段階（１６２０）を経ずに第１１段階（１６１０）から直ちに第１３段階（１６３０）に進こともある。
第１３段階（１６３０）では、システムバスまたは／及び外部バスに対する使用許可を獲得した機能ブロックの作動がすべて遂行されたのか否かをチェックする。すべての作動が完了された場合（ＹＥＳ）に、第１段階（１５１０）に戻って上述したバス調停段階を再び経て、作動が遂行中の場合（ＮＯ）には続けて第１３段階（１６３０）を繰り返す。
【００７２】
図２０は、本発明の実施例によるバス調停構造において、所定の瞬間に優先権が与えられる機能ブロックの順位を示すブロックダイアグラムである。
図２０を参照すると、左側にはマスター機能ブロックを表示し、前記機能ブロックの右側には用いようとするバスを示すバス要求信号ＲＥＱを表示している。
本発明によるバス調停方法の長所の一つは、マスター機能ブロックのシステムバス及び外部バスに対するバス要求信号は非階層的に扱われるということである。ここで、システムバスは、もちろん半導体チップに内蔵されたバスであるが、外部バスは半導体チップの内部に設けられるのか、或いは半導体チップの外部に設けられるのかを問わない。
本発明によるバス調停方法の長所の他の一つは、選択された複数個の機能ブロックの作動は同時になされるということである。また、半導体チップの内部及び外部に設けられたすべての機能ブロックを制御するプログラムを、一つのバス調停器を通して遂行することができるということである。
【００７３】
表３は、従来のバス調停方式及び本発明によるバス調停方式の遂行能力を比較したものである。
【表３】
0004243927.tif 000004
表３に表示された遂行能力の比較は、次のような前提条件を基礎にして作られている。第一に、すべての機能ブロックの優先順位を相互に同じであると仮定する。したがって、十分な時間の間で機能ブロックが作動を遂行すれば、その遂行比率は同一である。第二に、集合ＥＯ、ＥＳ及びＳＯには少なくとも一つ以上の機能ブロックが含まれる。表３において、作動遂行の確率は集合単位ごとに求めている。
【００７４】
表３を参照すると、バスの活用性はバス所有権を有した各機能ブロックが実際に作動する間の各バスの活用率で定義される。ここで、システムバスの所有権は与えられたが、外部バスの所有権を与えられていないために作動を遂行できなかった場合はバスの活用性から除外された。表３を参照すると、従来の排他的バス調停方式の場合には、すべての機能ブロックがそれ自体の作動を遂行する確率は相互に同じである。しかし、従来の階層的バス調停方式及び本発明によるバス調停方式の場合には、各集合に対する作動の遂行確率は相異なる。
従来の排他的バス調停方式の場合には、各々の集合ＥＯ、ＥＳ及びＳＯの構成機能ブロックがバスの所有権を有しており、それ自体の作動を遂行する確率を数式１ないし数式３に各々示す。
【数１】
0004243927.tif 000005
【数２】
0004243927.tif 000006
【数３】
0004243927.tif 000007
【００７５】
そして、従来の排他的バス調停方式で各々の集合ＥＯ、ＥＳ及びＳＯを構成する機能ブロックがバスの所有権を得て作動を遂行する時のバスの活用性は数式４に示す。
【数４】
0004243927.tif 000008
従来の階層的バス調停方式の場合には、各々の集合ＥＯ、ＥＳ及びＳＯの構成機能ブロックがバスの所有権を有しており、それ自体の作動を遂行する確率を数式５ないし数式７に各々示す。
【数５】
0004243927.tif 000009
【数６】
0004243927.tif 000010
【数７】
0004243927.tif 000011
【００７６】
そして、従来の階層的バス調停方式で各々の集合ＥＯ、ＥＳ及びＳＯを構成する機能ブロックがバスの所有権を得て作動を遂行する時のバスの活用性は数式８に示す。
【数８】
0004243927.tif 000012
本発明によるバス調停方式の場合には、各々の集合ＥＯ、ＥＳ及びＳＯの構成機能ブロックがバスの所有権を有して、それ自体の作動を遂行する確率を数式９ないし数式１１に各々示す。
【数９】
0004243927.tif 000013
【数１０】
0004243927.tif 000014
【数１１】
0004243927.tif 000015
そして、本発明によるバス調停方式で各々の集合ＥＯ、ＥＳ及びＳＯを構成する機能ブロックがバスの所有権を得て作動を遂行する時のバスの活用性は数式１２に示す。
【数１２】
0004243927.tif 000016
【００７７】
上述したように、従来の階層的バス調停方式及び本発明によるバス調停方式は、従来の排他的バス調停方式と比較して見る時、マスター機能ブロックがバス所有権を得て作動を遂行する確率が相対的に高い。また、バスの活用率を反映する数式４、数式８及び数式１２の値を比較して見れば、バスの活用率は本発明によるバス調停方法がいちばん高くて、その次が従来の階層的バス調停方式であって、従来の排他的バス調停方式は最もバスの活用率が低いことがわかる。
【００７８】
本発明は、図面に図示された一実施例を参照して説明したが、これは例示的なものに過ぎず、本技術分野の通常の知識を有する者ならばこれから多様な変形及び均等な他の実施例が可能である。したがって、本発明の真の技術的保護範囲は請求範囲の技術的思想により定めなければならない。
【００７９】
【発明の効果】
上述したように、本発明によるバス調停方法及びこれを実現するＳＯＣ及びアルゴリズムは、従来の排他的バス調停方式及びこれを一部改善した従来の階層的バス調停方式に比べて、単一の統合されたプログラムとしてバスマスター機能ブロックの作動順位を定めることができてバスの活用性を高め、また一つのバス調停器のみを用いるために半導体チップに実現する時に使用面積を狭める長所がある。
【図面の簡単な説明】
【図１】従来のバスシステムを示すブロックダイアグラムである。
【図２】排他的構造として設計された従来のＳＯＣの例を示すブロックダイアグラムである。
【図３】排他的調停構造において用いることができる混合調停方法の例を示すダイヤグラムである。
【図４】図２に図示された排他的バス調停方式による所定の段階を示すダイヤグラムである。
【図５】階層的構造として設計された従来のＳＯＣの例を示すブロックダイアグラムである。
【図６】システムバス調停器を利用して複数個の機能ブロックに作動優先権を割り当てるバス調停方式を示すダイヤグラムである。
【図７】外部バス調停器を利用して複数個の機能ブロックに作動優先権を割り当てるバス調停方式を示すダイヤグラムである。
【図８】図６及び図７に図示した従来のＳＯＣに階層的バス調停方式を導入した場合の所定の段階において該機能ブロックに作動優先権を与えることを示すダイヤグラムである。
【図９】図６及び図７に図示した従来のＳＯＣに階層的バス調停方式を導入した場合の所定の段階において該機能ブロックに作動優先権を与えることを示すダイヤグラムである。
【図１０】本発明によるＳＯＣの第１実施例を示すブロックダイアグラムである。
【図１１】本発明によるＳＯＣの第２実施例を示すブロックダイアグラムである。
【図１２】本発明によるＳＯＣの第３実施例を示すブロックダイアグラムである。
【図１３】本発明によるＳＯＣの第１実施例のバス調停器に対するブロックダイアグラムである。
【図１４】図１３に図示したバス調停器と多重入力外部メモリ制御器との内部ブロック間における信号関係及びアドレス関係を示すブロックダイアグラムである。
【図１５】表１に図示したバス要求信号間の集合関係を示すベンダイヤグラムである。
【図１６】本発明の実施例によるＳＯＣの機能ブロックに混合バス調停方式を用いる場合の機能ブロック間のバス調停方式の例を示すダイヤグラムである。
【図１７】本発明によるバス調停方法の第１実施例を示す信号フローチャートである。
【図１８】本発明によるバス調停方法の第２実施例を示す信号フローチャートである。
【図１９】本発明によるバス調停方法の第３実施例を示す信号フローチャートである。
【図２０】本発明によるバス調停方法の第１実施例において、所定の瞬間に優先権が与えられる機能ブロックの順位を示すブロックダイアグラムである。
【符号の説明】
４１０        システムバス
４１５        外部バス
４２２        ＣＰＵ
４２４ないし４２６ＤＤＭＡブロック
４３０        ＧＤＭＡブロック
４３１        第３経路
４３４ないし４３６多重管轄／多重チャンネルＧＤＭＡ
４４０    外部メモリ制御器
４６２    内部メモリ制御器
４６４    ＤＲＡＭリフレッシュ制御器
４７２    内部メモリ
４７３    外部装置
４７４    外部入出力装置
４８２    ＲＯＭ
４８４    ＤＲＡＭ
４９５    多重管轄バス調停器
【図１】
0004243927.tif 000017
【図２】
0004243927.tif 000018
【図３】
0004243927.tif 000019
【図４】
0004243927.tif 000020
【図５】
0004243927.tif 000021
【図６】
0004243927.tif 000022
【図７】
0004243927.tif 000023
【図８】
0004243927.tif 000024
【図９】
0004243927.tif 000025
【図１０】
0004243927.tif 000026
【図１１】
0004243927.tif 000027
【図１２】
0004243927.tif 000028
【図１３】
0004243927.tif 000029
【図１４】
0004243927.tif 000030
【図１５】
0004243927.tif 000031
【図１６】
0004243927.tif 000032
【図１７】
0004243927.tif 000033
【図１８】
0004243927.tif 000034
【図１９】
0004243927.tif 000035
【図２０】
0004243927.tif 000036