図面 (/)

技術 マスター装置とスレーブ装置との間の通信を管理するためのシステム及び方法

出願人 株式会社東芝
発明者 黒澤泰彦
出願日 2006年9月8日 (13年5ヶ月経過) 出願番号 2006-243996
公開日 2007年4月12日 (12年10ヶ月経過) 公開番号 2007-095050
状態 特許登録済
技術分野 バス制御
主要キーワード バッファスロット マルチプロセッサコンピュータ バックプレッシャー バイパス信号 応答タイプ トークン方式 保持バッファ 中央アービタ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2007年4月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

トークンリクエストを処理するのに必要な時間を減少することによって、マスター装置スレーブ装置との間の通信の速度及び効率を増加する。

解決手段

マスターは、一般に、スレーブからのトークンを受信すると、コマンドをスレーブに送る。このとき、トークンが正しいタイプであるか否かの判定は、複数の処理サイクルを必要とする。全てのスレーブが利用可能なバッファスロットを有する場合、「全てのトークンが利用可能」信号がアサートされる。「全てのトークンが利用可能」信号が受信されると、マスターはどのトークンも復号することなく任意のコマンドを送ることができる。

概要

背景

今日の多くの高性能ステムは、メモリと入力/出力(I/O)装置のような複数の他の装置とともに複数のプロセッサを含んでいる。プロセッサは一般に、スレーブ装置として動作する他の装置を制御し、その装置と通信し、そこへコマンドを送信するマスター装置として動作する。例えば、メモリはスレーブ装置として動作する。I/O装置は、一般にマスター装置及びスレーブ装置の両者として動作する。このようなシステムにおけるマスター装置とスレーブ装置との間の通信は、一般にこれら全ての装置を相互接続するバスによって実現される。最近の多くのマイクロプロセッサシステムでは、マスター装置とスレーブ装置は、クロスバースイッチリングトーラス等のようなさらに精巧な相互接続ネットワークによって接続されている。多数の堅密に結合されたマイクロプロセッサシステムはコヒーレントメモリシステムを必要とするため、また、それらの大部分は、「コヒーレントバス」として論理的に動作するように、アドレス/コマンド相互接続を必要とするため、このような相互接続ネットワークは、ここでの説明では「バス」と呼ぶ。バスはバス上の全ての装置間で共有されなければならない限定された帯域幅を有している。異なる装置間の通信は、それ故、可能な限り効率的であるべきである。例えば、バス上で帯域幅を使い尽くす任意の不必要な通信は、除去されるべきである。

プロセッサのようなマスター装置は、コマンド及び他の命令をバスによってスレーブ装置へ送信することにより、スレーブ装置を制御する。1実施形態では、スレーブ装置は、コマンドがスレーブ装置によりサービスされることができるまで、コマンドを保持するためのバッファを有している。コマンドをスレーブ装置へ送信する前に、この実施形態では、マスター装置は、スレーブ装置のバッファがコマンド/命令を受取るための利用可能なスロットを有していることを判定しなければならない。そうでなければ、スレーブ装置はコマンドを再試行し、マスター装置は再度、コマンドを送らなければならない。多くのコマンドが再試行されなければならないならば、アドレス/コマンドバスの帯域幅は無用トランザクションにより消費され、システムの性能は低下される。それ故、スレーブ装置の利用可能性を判定するための問合せが、マスター装置により送信され、応答がスレーブ装置により返送され、それはスレーブ装置のバッファが利用可能なスロットを有しているか否かを示している。スレーブ装置が、バッファスロットが利用可能であるという応答をしたならば、マスター装置はコマンドまたはその他の命令をスレーブ装置へ送ることができる。このような問合せ/応答タイプの通信は、バスの帯域幅を必要とし、したがってシステムの性能に影響を及ぼす可能性がある。

このような問合せ/応答タイプの通信の数を減少し、バスの利用を最適化する1つの方法は、トークン方法論を実行することである。スレーブ装置がそのバッファ中に利用可能なスロットを有しているならば、そのスレーブ装置は、スレーブ装置を識別する1つ以上のトークンをグローバルトークン管理装置に送る。スレーブ装置によって送られるトークンの数は利用可能なバッファのスロットに等しい。マスター装置がコマンドを特定のスレーブ装置へ送信する必要があるとき、マスター装置は、その特定のスレーブ装置に対応するトークンを求めるリクエストトークン管理装置へ送る。そのスレーブに対応するトークンが利用可能であれば、マスターはコマンドを内部のバスによってスレーブ装置に送ることができる。そのスレーブ装置に対応するトークンが利用可能ではないならば、マスター装置はコマンドを送らず、後に、トークンを求めるリクエストを再度出してもよく、或いは出さなくてよい。

バスの帯域幅に対しては非常に有益であるが、トークン方法論の実行は付加的なステップクロックサイクルを必要とする。一般に、マスター装置中のローカルトークン管理装置は、どのタイプのトークンが要求されているかを判定するために、それが送る必要があるコマンドを最初に復号する。トークンタイプが判定された後、マスター装置中のローカルトークン管理装置は、トークンリクエストをグローバルトークン管理装置へ送り、要求されたトークンがグローバルトークン管理装置中で利用可能であるならば、グローバルトークン管理装置は、トークンをそのローカルトークン管理装置へ返送する。今日の高速度システムでは、リクエストが行われる毎に、このプロセスを完了するために必要とされるステップ/クロックサイクルが性能に悪影響を及ぼす可能性がある。

概要

トークンのリクエストを処理するのに必要な時間を減少することによって、マスター装置とスレーブ装置との間の通信の速度及び効率を増加する。マスターは、一般に、スレーブからのトークンを受信すると、コマンドをスレーブに送る。このとき、トークンが正しいタイプであるか否かの判定は、複数の処理サイクルを必要とする。全てのスレーブが利用可能なバッファスロットを有する場合、「全てのトークンが利用可能」信号がアサートされる。「全てのトークンが利用可能」信号が受信されると、マスターはどのトークンも復号することなく任意のコマンドを送ることができる。

目的

このような問合せ/応答タイプの通信の数を減少し、バスの利用を最適化する1つの方法は、トークン方法論を実行することである

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

1組のマスター装置と、1組のスレーブ装置と、を備え、前記各スレーブ装置は、対応するトークンを供給することによって、前記マスター装置のうちの1つからコマンドを受取るために利用可能性を示すように構成され、前記マスター装置中の第1のマスター装置は、全ての前記スレーブ装置が、前記マスター装置から少なくとも1つのコマンドを受取るために利用可能であるとき、「全てのトークンが利用可能」信号を受信するように構成されているシステム

請求項2

前記マスター装置中の前記第1のマスター装置は、前記「全てのトークンが利用可能」信号の受信に応答して、前記スレーブ装置中の1つへコマンドを送るように構成されている請求項1記載のシステム。

請求項3

トークン管理装置をさらに備え、前記トークン管理装置は、前記マスター装置からのリクエストに応答して、前記スレーブ装置から前記トークンを受信し、前記トークンを前記マスター装置へ供給するように構成されている請求項2記載のシステム。

請求項4

前記マスター装置中の前記第1のマスター装置は、前記トークンを復号し、復号された前記トークンが前記マスター装置中の前記第1のマスター装置によって前記トークン管理装置へ送られたリクエストに対応すると判定することに応答し、前記トークンに対応する前記スレーブ装置中の1つへコマンドを送るように構成されている請求項3記載のシステム。

請求項5

前記1組のマスター装置と前記1組のスレーブ装置のそれぞれに結合されたバスをさらに備え、前記トークン管理装置は前記バス中に設けられる請求項3記載のシステム。

請求項6

前記トークン管理装置は、前記マスター装置中の前記第1のマスター装置中に設けられている請求項3記載のシステム。

請求項7

1つ以上の前記マスター装置は1つ以上のグループと関連し、前記スレーブ装置中の少なくとも第1のスレーブ装置は、前記スレーブ装置中の前記第1のスレーブ装置が、前記グループ中の第1のグループにおけるマスター装置の数に等しいか、それよりも多いコマンド数を受取るために利用可能であるとき、前記グループの前記第1のグループに対応する第1のバックプレッシャー信号をアサートするように構成されている請求項1記載のシステム。

請求項8

前記スレーブ装置中の前記第1のスレーブ装置は、前記スレーブ装置中の前記第1のスレーブ装置が、前記グループ中の第2のグループにおけるマスター装置の数と前記グループ中の前記第1のグループにおけるマスター装置の数を加えたものに等しいか、それよりも多いコマンド数を受取るために利用可能であるとき、前記グループ中の対応する前記第2のグループに第2のバックプレッシャー信号をアサートするように構成されている請求項7記載のシステム。

請求項9

前記グループ中の前記第1のグループにおける1つ以上の前記マスター装置は、前記第1のバックプレッシャー信号の受信に応答して、対応するコマンドを前記スレーブ装置中の前記第1のスレーブ装置へ送るように構成されている請求項7記載のシステム。

請求項10

1組のマスター装置と1組のスレーブ装置とを有するシステム中で実行される方法において、前記マスター装置からコマンドを受取るための特定のタイプの前記スレーブ装置の利用可能性が、対応するトークンにより通信され、前記1組のスレーブ装置の全てが、前記マスター装置からのコマンドを受取るために利用可能であるとき、前記マスター装置中の第1のマスター装置に対して「全てのトークンが利用可能」信号をアサートすることを含む方法。

請求項11

前記「全てのトークンが利用可能」信号の受信に応答して、前記スレーブ装置中の1つのスレーブ装置へコマンドを送る前記マスター装置中の前記第1のマスター装置をさらに含む請求項10記載の方法。

請求項12

前記スレーブ装置がコマンドを受取るために利用可能であるとき、対応するトークンをトークン管理装置へ供給する前記1組のスレーブ装置の各スレーブ装置と、前記マスター装置中の前記第1のマスター装置からのリクエストに応答して、そのトークンを前記マスター装置中の前記第1のマスター装置へ供給する前記トークン管理装置と、をさらに含む請求項11記載の方法。

請求項13

前記トークンを復号し、前記復号されたトークンが前記リクエストに対応すると判定することに応答して、前記トークンに対応する前記スレーブ装置中の1つのスレーブ装置へコマンドを送る前記マスター装置の前記第1のマスター装置をさらに含む請求項12記載の方法。

請求項14

前記トークン管理装置は、前記1組のマスター装置の各マスター装置と前記1組のスレーブ装置の各スレーブ装置とに結合されているバス中に設けられている請求項12記載の方法。

請求項15

前記トークン管理装置は、前記マスター装置中の前記第1のマスター装置中に設けられている請求項12記載の方法。

請求項16

1つ以上の前記マスター装置を1つ以上のグループの各グループに関連付けることと、少なくとも1つの前記スレーブ装置に対して、前記スレーブ装置中の前記第1のスレーブ装置が、前記グループ中の第1のグループにおけるマスター装置の数に等しいか、それよりも多いコマンド数を受取るために利用可能であるとき、前記グループ中の前記第1のグループに対応する第1のバックプレッシャー信号をアサートすることと、をさらに含む請求項10記載の方法。

請求項17

前記スレーブ装置中の第1のスレーブ装置に対して、前記スレーブ装置中の前記第1のスレーブ装置が、前記グループ中の第2のグループにおけるマスター装置の数と前記グループ中の前記第1のグループにおけるマスター装置の数を加えたものに等しいか、それよりも多いコマンド数を受取るために利用可能であるとき、対応する前記グループの前記第2のグループに対して第2のバックプレッシャー信号をアサートすること、をさらに含む請求項16記載の方法。

請求項18

前記第1のバックプレッシャー信号の受信に応答して、コマンドを前記スレーブ装置中の前記第1のスレーブ装置へ送る前記グループ中の前記第1のグループにおける1つ以上の前記マスター装置をさらに備えている請求項16記載の方法。

技術分野

0001

本発明は、一般的にマスター装置スレーブ装置との間の通信を管理するためのシステム及び方法に関する。特に本発明は、マスター装置へ通信する効率と、スレーブ装置がマスター装置からコマンドを受取利用可能性とを増加させるシステム及び方法に関する。

背景技術

0002

今日の多くの高性能システムは、メモリと入力/出力(I/O)装置のような複数の他の装置とともに複数のプロセッサを含んでいる。プロセッサは一般に、スレーブ装置として動作する他の装置を制御し、その装置と通信し、そこへコマンドを送信するマスター装置として動作する。例えば、メモリはスレーブ装置として動作する。I/O装置は、一般にマスター装置及びスレーブ装置の両者として動作する。このようなシステムにおけるマスター装置とスレーブ装置との間の通信は、一般にこれら全ての装置を相互接続するバスによって実現される。最近の多くのマイクロプロセッサシステムでは、マスター装置とスレーブ装置は、クロスバースイッチリングトーラス等のようなさらに精巧な相互接続ネットワークによって接続されている。多数の堅密に結合されたマイクロプロセッサシステムはコヒーレントメモリシステムを必要とするため、また、それらの大部分は、「コヒーレントバス」として論理的に動作するように、アドレス/コマンド相互接続を必要とするため、このような相互接続ネットワークは、ここでの説明では「バス」と呼ぶ。バスはバス上の全ての装置間で共有されなければならない限定された帯域幅を有している。異なる装置間の通信は、それ故、可能な限り効率的であるべきである。例えば、バス上で帯域幅を使い尽くす任意の不必要な通信は、除去されるべきである。

0003

プロセッサのようなマスター装置は、コマンド及び他の命令をバスによってスレーブ装置へ送信することにより、スレーブ装置を制御する。1実施形態では、スレーブ装置は、コマンドがスレーブ装置によりサービスされることができるまで、コマンドを保持するためのバッファを有している。コマンドをスレーブ装置へ送信する前に、この実施形態では、マスター装置は、スレーブ装置のバッファがコマンド/命令を受取るための利用可能なスロットを有していることを判定しなければならない。そうでなければ、スレーブ装置はコマンドを再試行し、マスター装置は再度、コマンドを送らなければならない。多くのコマンドが再試行されなければならないならば、アドレス/コマンドバスの帯域幅は無用トランザクションにより消費され、システムの性能は低下される。それ故、スレーブ装置の利用可能性を判定するための問合せが、マスター装置により送信され、応答がスレーブ装置により返送され、それはスレーブ装置のバッファが利用可能なスロットを有しているか否かを示している。スレーブ装置が、バッファスロットが利用可能であるという応答をしたならば、マスター装置はコマンドまたはその他の命令をスレーブ装置へ送ることができる。このような問合せ/応答タイプの通信は、バスの帯域幅を必要とし、したがってシステムの性能に影響を及ぼす可能性がある。

0004

このような問合せ/応答タイプの通信の数を減少し、バスの利用を最適化する1つの方法は、トークン方法論を実行することである。スレーブ装置がそのバッファ中に利用可能なスロットを有しているならば、そのスレーブ装置は、スレーブ装置を識別する1つ以上のトークンをグローバルトークン管理装置に送る。スレーブ装置によって送られるトークンの数は利用可能なバッファのスロットに等しい。マスター装置がコマンドを特定のスレーブ装置へ送信する必要があるとき、マスター装置は、その特定のスレーブ装置に対応するトークンを求めるリクエストトークン管理装置へ送る。そのスレーブに対応するトークンが利用可能であれば、マスターはコマンドを内部のバスによってスレーブ装置に送ることができる。そのスレーブ装置に対応するトークンが利用可能ではないならば、マスター装置はコマンドを送らず、後に、トークンを求めるリクエストを再度出してもよく、或いは出さなくてよい。

0005

バスの帯域幅に対しては非常に有益であるが、トークン方法論の実行は付加的なステップクロックサイクルを必要とする。一般に、マスター装置中のローカルトークン管理装置は、どのタイプのトークンが要求されているかを判定するために、それが送る必要があるコマンドを最初に復号する。トークンタイプが判定された後、マスター装置中のローカルトークン管理装置は、トークンリクエストをグローバルトークン管理装置へ送り、要求されたトークンがグローバルトークン管理装置中で利用可能であるならば、グローバルトークン管理装置は、トークンをそのローカルトークン管理装置へ返送する。今日の高速度システムでは、リクエストが行われる毎に、このプロセスを完了するために必要とされるステップ/クロックサイクルが性能に悪影響を及ぼす可能性がある。

発明が解決しようとする課題

0006

それ故、トークンのリクエストを処理するのに必要な時間を減少することによって、マスター装置とスレーブ装置との間の通信の速度及び効率を増加することのできるシステム及び方法が必要とされている。

課題を解決するための手段

0007

前述した1つ以上の問題は、本発明の様々な実施形態により解決することができる。概説すると、本発明は、システムにおいてマスター装置とスレーブ装置との間の通信の効率を増加させるシステム及び方法を含んでいる。全てのスレーブ装置がそれらのコマンドバッファ中で利用可能なスロットを有するならば、「全てが利用可能」信号が発生される。マスター装置は「全てが利用可能」信号を検出して、それでなければ特定のトークンが利用可能であるか否かを判定することが要求されるであろう付加的なステップ/クロックサイクルを使用することなく、スレーブ装置が任意の種類のコマンドを受取るためにおいて利用可能であることを判定することができる。

0008

1実施形態によれば、マスター装置は、特定のタイプのスレーブ装置の利用可能性に応答して、「トークン」を使用することにより、そのタイプのコマンドを受信するように、スレーブ装置へコマンドを送るように構成される。各スレーブ装置は、そのスレーブ装置に対応するトークンをグローバルトークン管理装置へ送り、スレーブ装置の利用可能性を示すように構成されている。グローバルトークン管理装置は、マスター装置により要求されたトークンをマスター装置へ送る。全てのスレーブ装置が利用可能であるならば、異なるタイプのコマンドの全てが受取られることができ、それ故、グローバルトークン管理装置は、マスター装置へ送られる「全てのトークンが利用可能」信号をアサートする。マスター装置は、「全てのトークンが利用可能」信号がアサートされたか否かを判定することにより、スレーブ装置の利用可能性を判定することができる。「全てのトークンが利用可能」信号がアサートされているならば、全てのスレーブ装置は利用可能であることが示され、それが必要とされるタイプであるか否かを判定するために、マスター装置がトークンを復号するための付加的なステップ/クロックサイクルは必要とされない。

0009

その代わりに、マスター装置は、マスター装置中に設けられたローカルトークン管理装置におけるスレーブに対応するトークンの利用可能性を判定することにより、スレーブ装置の利用可能性を判定する。マスター装置中のローカルトークン管理装置は、最初に全ての種類のトークンを有しており、マスターは、コマンドをバスに送るとき、要求されたトークンを消費する。マスター装置は、コマンドをバスに送った後、消費されたトークンに対するリクエストをグローバルトークン管理装置へ送る。要求されたトークンがグローバルトークン管理装置で利用可能であるならば、グローバルトークン管理装置は「置換トークン」をそのマスターへ送る。この実施形態では、マスター装置が全ての種類のトークンを有するならば、マスター装置内のローカルトークン管理装置は、マスター装置へ送られる「全てのトークンが利用可能」信号を発生し、マスターは、コマンドに対するそのタイプのトークンを復号する前に、コマンドを送ることができる。

0010

別の実施形態では、各マスター装置は1つ以上のグループ割当てられ、各グループは1つ以上のマスター装置を含んでいる。特定のスレーブ装置が特定のグループ内のマスター装置からコマンドを受取るために利用可能であることを示す、バックプレッシャー信号がアサートされる。利用可能なバッファスロット数が、各グループ−スレーブ装置(またはスレーブ装置のグループ)対で設定されたしきい値よりも大きいかそれに等しいならば、バックプレッシャー信号がアサートされる。しきい値は、1実施形態では、グループ中のマスター装置の数に等しくてもよい。

0011

特定のグループ中のマスター装置からコマンドを受取るための各スレーブ装置の利用可能性に応答して、「全てが利用可能」信号が、特定のグループに対してアサートされる。即ち、全てのスレーブ装置からの全てのバックプレッシャー信号がアサートされたならば、「全てが利用可能」信号が、グループに対してアサートされる。その後、マスター装置は、マスター装置のグループに対応する「全てが利用可能」信号がアサートされたことを判定することにより、スレーブ装置の利用可能性を決定することができ、そうでなければ必要とされるであろう付加的なステップ/クロックサイクルが省略される。

0012

本発明の種々の実施形態は、従来技術よりも優れた多くの利点を提供することができる。例えば、マスター装置は、復号及び比較の付加的なステップ/クロックサイクルなしに、スレーブ装置が利用可能であるか否かを判定することができる。同様の利点が、他のタイプのエージェント及びリソースを含む他の実施形態でも提供されることができる。

発明を実施するための最良の形態

0013

本発明の他の目的および利点は、以下の詳細な説明を読み、添付図面を参照にすることによって明らかになるであろう。

0014

本発明は種々の変形および別の形態が可能であるが、その特定の実施形態を図面に例示し、以下詳細に説明する。しかしながら、このような図面および詳細な説明は、記載された特定の実施形態に本発明を限定する意図はないことを理解すべきである。この開示は、特許請求の範囲によって規定されている本発明の範囲内に含まれる全ての変形、等価物、別の置換をカバーすることを意図している。

0015

本発明の1つ以上の実施形態を以下説明する。これらは例示であり、本発明を限定するものではなく、本発明を例示することを意図している。

0016

概説すると、本発明は、システム中で、マスター装置とスレーブ装置との間の通信の効率を増加するシステム及び方法を含んでいる。1実施形態では、全てのスレーブ装置が利用可能であることに応答して、「全てが利用可能」信号が発生される。マスター装置は「全てが利用可能」信号を検出することができ、そうでなければ特定のスレーブ装置が利用可能であるか否かを判定するために必要とされるであろう付加的なステップ/クロックサイクルを使用せずに、スレーブ装置が利用可能であることを判定できる。

0017

本発明は異なるタイプのシステムにも広く応用可能であるが、この説明において本発明の可能な実施形態及び状況の全てを含むことはできない。それ故、本発明の説明は、マルチプロセッサコンピュータ処理システムで実行される幾つかの例示的な実施形態に焦点を当てている。これらの実施形態は限定的なものではなく例示であることを意図している。この説明を読むことにより、本発明の多くの別の実施形態が当業者には明らかになるであろう。これらの別の実施形態は全て特許請求の範囲に記載された範囲内に含まれるものである。

0018

本発明の1実施形態では、1つ以上のマスター装置が、トークン方法を用いて、スレーブ装置の利用可能性の判定に応答して、コマンドをスレーブ装置へ送信するように構成されている。スレーブ装置は、そのスレーブ装置に対応するトークンをグローバルトークン管理装置へ送信することにより、その利用可能性を通信することができる。マスター装置は、グローバルトークン管理装置からのスレーブ装置に対応するトークンを要求することによって、特定のスレーブ装置の利用可能性を判定できる。1実施形態では、ローカルトークン管理装置は、要求されたトークンのタイプを判定するためにリクエストを復号し、そのトークンを利用可能なトークンと比較してそのトークンが利用可能であるか否かを判定することを必要とされ得る。マスター装置は、グローバルトークン管理装置からの適切なトークンの受信に応答して、特定のスレーブ装置へコマンドを送ることができる。

0019

復号/比較の付加的なステップは、全てのスレーブ装置が利用可能であることに応答して、省略可能である。1実施形態では、全てのスレーブ装置が利用可能であることを示すために、「全てのトークンが利用可能」信号が発生される。「全てのトークンが利用可能」信号がアサートされたことが判定されると、マスター装置は、そうでなければ要求され適切なスレーブ装置へコマンドを送るであろう付加的なステップ/クロックサイクルをバイパスすることができる。他の実施形態では、特定のタイプのコマンドを受信するためにスレーブ装置の利用可能性をマスター装置へ通信するのに、トークン方式に対する別の方法を使用することができる。

0020

本発明の種々の実施形態は、従来技術よりも優れた多くの利点を提供する。例えば、マスター装置は、そのコマンドのためのトークンを復号する付加的なステップ、およびトークンが要求されたタイプであるか否かを判定する付加的なステップなしに、スレーブ装置が利用可能であるか否かを判定することができる。同様の利点は、他のタイプのエージェントおよびリソースを含む他の実施形態で与えられることができる。

0021

図1を参照すると、1実施形態によるマスター装置とスレーブ装置との間の通信を容易にするシステムを示すブロック図が示されている。この図では、太い実線はコマンドを表し、細い実線はトークンを表し、点線クレジットを表し、破線はトークンリクエストを表し、1点鎖線(−・−・−)はリクエストを表し、破線と破線の組合わせ線(—-—-—)は許可を表している。

0022

マスター装置110、115、120は、バス140を介して、スレーブ装置160及び165にコマンドを送るように構成されている。通常の方法を使用するシステムでは、スレーブ装置に取り付けられたバッファ(150、155)が利用可能なバッファスロットを有するならば、マスター装置(110、115、120)はコマンドをスレーブ装置(160、165)へ送ることができる。例えば、バッファ150が利用可能なスロットを有するならば、スレーブ装置160はコマンドを受取ることができ、バッファ155が利用可能なスロットを有するならば、スレーブ装置165はコマンドを受取ることができる。このシステムでは、バッファの利用可能性を判定するために、リクエスト−許可方式を使用することができる。リクエスト−許可方式では、マスター装置110は最初に、スレーブ装置の利用可能性を判定するために、保持バッファ(125)に対して問合せを送る。バッファ125はマスター装置110へ応答を返送し、バッファがコマンドを受信するのに利用可能であるか否かを示す。「トークン」がこのシステムで実行されないならば、スレーブ装置のバッファ(150、155)は、コマンドを受取るためのスロットが存在しないとき、コマンドに対して再試行応答を送るであろう。

0023

1実施形態では、マスター装置110、115、120は、バッファ125、130、135にそれぞれ取り付けられることができる。バッファ125、130、135は、適切なスレーブ装置がコマンドを受取ることができるか否かの判定が行われる期間中、マスター装置からコマンドを受信して保持するように構成されている。バッファがマスター装置からのコマンドを受取り保持するために利用可能なバッファスロットを有するか否かを、各マスター装置へ通信するために、「クレジット」方式を設けることができる。この方式では、バッファ(例えば125)は、対応するマスター装置(例えば110)へ、バッファ中の利用可能なスロットの数と同数のクレジットを送る。その後マスター装置110は、マスター装置が利用可能な「クレジット」を有するならば、対応するバッファ(125)へコマンドを送ることができる。マスターがコマンドを送るとき、マスター(110)は内部で「クレジット」を消費する。バッファ(125)中のコマンドがバスに送信された後、バッファ(125)は置換「クレジット」をマスター(110)へ送る。マスター装置が利用可能なクレジットを持たないならば、そのマスター装置は、バッファが置換「クレジット」をマスターへ送るまで、コマンドを送ることを待つ。この機構は、バッファ(125)のオーバーフローを防止し、「リクエスト−許可」方式の通信オーバーヘッドを減少するために使用される。

0024

このクレジット方式を完全にするため、スレーブ装置はトークン方式を使用して、マスター装置からコマンドを受取るためのそれらの利用可能性を通信することができる。トークン方式では、スレーブ装置は、そのスレーブ装置に対応するバッファの利用可能な各スロットに対するトークンを発生する。スレーブ装置からのトークンは、グローバルトークン管理装置170へ送られ、そのグローバルトークン管理装置170は全てのスレーブ装置から送られたトークンを受信し、記憶するように構成されている。マスター装置が特定のタイプのコマンドをスレーブ装置へ送る必要があるとき、マスター装置は、トークン管理装置170が所望のタイプのトークンを有するか否かを判定するように構成される。特定のタイプのスレーブ装置に対するトークンが利用可能であるならば、その後マスター装置は、コマンドをそのスレーブ装置へ送信できる。そうでなく、対応するトークンが利用可能でなければ、ターゲットのスレーブ装置は再試行応答をコマンドに対して送ることができ、後にマスター装置は、再度コマンドを送ってもよい。

0025

通常のシステムでの、マスター装置に対するバッファ(125、130、135)とバス140との間の通信、およびバスとスレーブ装置に対するバッファ(150、155、160)との間の通信は、例えばリクエスト−許可方式を使用してもよい。マスター装置のバッファ125は、バス140へ「アドレスバスリクエスト」を送信する。バス内部の中央アービタアービトレーションを行い、バス140およびターゲットのスレーブ装置150がリクエストを受取ることができるならば、バスはバッファ125へ「許可」を送信する。「許可」信号が受信された後、バッファ125はコマンドをバス140へ送る。バス140はそのコマンドをターゲットのスレーブ装置150へ送る。このシステムは「トークン」方式を実行するので、スレーブ装置は非常に稀に再試行応答をコマンドに対して送るであろう。

0026

1実施形態では、マスター装置は最初に各タイプのトークンのコピーを有することができる。コマンドをスレーブ装置に送り、対応するトークンを消費した後、マスター装置がそのタイプのトークンに対応する別のコマンドを送信することができる前に、マスター装置は、同じタイプの置換トークンを要求する。その代わりに、マスター装置は、最初にコマンドをスレーブ装置に送信するために必要とされる任意のトークンのコピーを持たなくてもよい。その後、マスター装置がコマンドをスレーブ装置へ送る必要があるとき、マスター装置はトークン管理装置170からトークンを得るであろう。

0027

マスター装置が最初に全ての種類のトークンを有している第1の実施形態では、マスター装置内のローカルトークン管理装置は、リクエストを復号し、どのトークンがこのリクエストを送るために必要とされるかを判定する。ローカルトークン管理装置は、その後、要求されたトークンがマスター装置内のローカルトークン管理装置で利用可能であるか否かを調べる。ローカルトークン管理装置が全ての種類のトークンを有しているならば、それは「全てのトークンが利用可能」信号を発生する。「全てのトークンが利用可能」信号が発生され、マスター装置がクレジットを有するならば、マスター装置は任意の種類のコマンドをバスへ送ることができる。したがって、マスターは、コマンドのためのそのタイプのトークンを復号する前に、そのコマンドをバスに送る。

0028

マスター装置が全ての種類のトークンを持たない第2の実施形態では、マスター装置110内のローカルトークン管理装置は、マスター装置により必要とされるトークンのタイプを判定するためにリクエストを復号する。それに続いて、マスター装置110内のローカルトークン管理装置は、トークンリクエストをグローバルトークン管理装置へ送る。要求されたトークンがグローバルトークン管理装置中で利用可能であるならば、それは要求されたトークンをマスター装置へ送る。マスター装置が、要求されたトークンを受信した後、マスターは対応するコマンドをスレーブ装置へ送る。すべてのタイプのトークンがグローバルトークン管理装置で利用可能であるならば、グローバルトークン管理装置、又は他の実施形態における別の装置は、各タイプのトークンが既にトークン管理装置で利用可能であることを示す「全てのトークンが利用可能」信号をアサートすることができる。その後マスター装置は、信号がアサートされたか否かを判定するために、「全てのトークンが利用可能」信号を検査することができる。マスター装置が、「全てのトークンが利用可能」信号がアサートされたと判定したならば、マスター装置は、マスターがコマンドを送ることができるか否かを決めるためにそのコマンドを復号する必要はない。マスター装置は、必要とされるトークンが利用可能であることを認知しており、それ故(コマンドのトークンタイプを復号せずに)直ちにそのコマンドを送ることができる。

0029

両方の場合に、グローバルトークン管理装置が残りのトークンを管理し、コマンドに対応するトークンは消費されなければならないので、マスター装置は、後にトークンリクエストをグローバルトークン管理装置へ送らなければならない。システムが「クレジット」方式を使用するならば、第1の実施形態がより良好である。システムが「リクエスト−許可」方式を使用するならば、第2の実施形態は第1の実施形態と同様に動作する。

0030

図2を参照すると、1実施形態による、マスター装置に対して「全てのトークンが利用可能」信号をアサートするか否かを判定するシステムの1実施形態を示すブロック図が示されている。「全てのトークンが利用可能」信号は、トークン管理装置が、あるいはどの装置がこの機能を行っていても、要求されたトークンのタイプを判定するためにトークンリクエストを復号する付加的なステップと、要求されたタイプが利用可能であるか否かを判定するために利用可能なトークンに対するリクエストを比較する付加的なステップとを避けることを可能にする。

0031

マスター装置210内のクレジット管理装置は、マスター装置がリクエストを有するときはいつでも、ライン215上でリクエスト信号をアサートする。マスター装置210は、対応するスレーブ装置へコマンドを送るために、特定のタイプのトークンを必要とする可能性がある。ANDゲート225は、ライン215上でリクエスト信号を受信するとともに、ライン220上でクレジット信号を受信するように構成されている。クレジット信号220は、バッファが利用可能なバッファスロットを有し、それ故、マスター装置からコマンドを受取ることができることを示すマスター装置の出力バッファからのクレジットをマスター装置が有するとき、アサートされる。マスター装置が必要なクレジットを有し、特定のトークンに対するリクエストを出すならば、ANDゲート225は、そのクレジット信号及びリクエスト信号の両者がアサートされたことを示す信号をライン227上に出力する。その後、ライン227上の信号はANDゲート230へ与えられる。ANDゲート230は、特定のタイプのトークンが利用可能であるか否かを検査する手順が必要であるか否かを示すライン235上のバイパス信号を発生する責任を負う。

0032

マスター装置内のローカルトークン管理装置265は、ライン250、255、…、260上で「トークンが利用可能」信号を発生するように構成されている。各信号は、ローカルトークン管理装置が保持することができる各トークンタイプに対応している。その信号に対応するトークンタイプがローカルトークン管理装置で利用可能であるならば、信号がアサートされる。ANDゲート245は、トークンの利用可能性の信号を受信し、ライン240上で「全てのトークンが利用可能」信号を発生するように構成されている。各タイプのトークンがローカルトークン管理装置で利用可能であることを示す、全てのトークンの利用可能性の信号がアサートされたならば、「全てのトークンが利用可能」信号が発生される。

0033

マスター装置が送るためのコマンドを有し、「全てのトークンが利用可能」信号がアサートされたならば、ANDゲート230は、ライン235上でバイパス信号を発生するように構成される。バイパス信号が出力されるとき、マスター装置は、スレーブ装置が利用可能であるか否かを判定するために、最初に利用可能なトークンを復号/比較することなく、任意のスレーブ装置へコマンドを送信することができる。他方で、マスターが送るためのコマンドを有し、「全てのトークンが利用可能」信号がアサートされていないならば、ANDゲート230は、ライン235上でバイパス信号を発生しない。バイパス信号がアサートされていないならば、トークン管理装置は、最初にマスター装置により要求されているトークンのタイプを判定し、その後、その特定のタイプのトークンが利用可能であるか否かを判定する。

0034

別の実施では、トークン管理装置265は、ローカルトークン管理装置の代わりにグローバルトークン管理装置であってもよく、クレジット管理装置210がマスター内に存在する(或いはクレジット管理装置は、グローバルトークン管理装置内に存在するマスター内のクレジット管理装置のコピーであってもよい)。トークン管理装置がグローバルトークン管理装置であるならば、信号240はグローバルトークン管理装置からマスター内のローカルトークン管理装置へ接続される。

0035

図3を参照すると、1実施形態による、マスター装置とスレーブ装置のグループ間の通信を容易に行うことのできるシステムを示すブロック図が示されている。マスター装置は、各グループのマスター装置がコマンドをスレーブ装置へ送ることを可能にする優先順位を制御するために、異なるグループに割当てられている。グループ中のマスターの組合わせは構成可能である。この図では、太い実線はコマンドを表し、細い実線はトークンを表し、点線はクレジットを表し、破線はトークンリクエストを表し、1点鎖線はリクエストを表し、破線と破線の組合わせ線は許可を表し、2点鎖線(−・・−・・−)は「全てのトークンが利用可能」信号を表している。

0036

図3で示されている例では、マスター装置310及び315はグループ325に割当てられ、マスター装置320はグループ330に割当てられている。マスター装置310、315、320は、コマンドをバス140を介してスレーブ装置375及び380へ送る。スレーブ装置375は、バッファ360が利用可能なスロットを有するならば、コマンドを受取ることができ、スレーブ装置380は、バッファ365が利用可能なスロットを有するならば、コマンドを受取ることができる。マスター装置310、315、320は、それぞれバッファ335、340、345へ取り付けられることができる。バッファ335、340、345は、適切なスレーブ装置がコマンド受取ることができるか否かが判定されている間に、マスター装置からコマンドを受信し、それを保持する。マスターが1つ以上のクレジットを有するならば、マスターはコマンドをそのバッファへ送ることができる。

0037

1実施形態では、マスター装置がコマンドを特定のスレーブ装置へ送る必要があるとき、そのマスター装置は、トークン管理装置370が特定のスレーブ装置に対応するトークンを有するか否かを判定するように構成される。トークンが利用可能であるならば、その後マスター装置は、トークンを取り、コマンドを送信することができる。そうでなければ、対応するトークンが利用可能ではないならば、マスター装置は、コマンドに対する必要なトークンが利用可能になるまで、コマンドを送ることを待つことができる。

0038

1実施形態では、マスター装置はコマンドに必要なタイプのトークンを復号し、マスター装置はトークンに対するリクエストをグローバルトークン管理装置370へ送る。第1のステップは「全てが利用可能」信号を実施することによって除去されることができる。特定のグループに対して、どのタイプのトークンもトークン管理装置で利用可能であるならば、マスターが、コマンドを復号して必要とされるトークンのタイプを判定する必要はなく、あるいは要求されたタイプのトークンを利用可能なトークンと比較する必要もない。トークン管理装置または他の実施形態の別の装置は、「全てが利用可能」信号を、各タイプのトークンがトークン管理装置で既に利用可能であることを示しているその特定のグループに対してアサートすることができる。その特定のグループからのマスター装置は、信号がアサートされたか否かを判定するために、「全てが利用可能」信号を検査することができる。マスター装置が、「全てが利用可能」信号がアサートされたと判定するならば、復号ステップ及び比較ステップはバイパスされることができ、マスター装置はコマンドをスレーブ装置へ送ることができる。

0039

図5aを参照すると、1実施形態による、トークンを使用して、スレーブ装置がマスター装置からコマンドを受取るために利用可能であるか否かを判定する方法を示すフローチャートが示されている。510で、コマンドはマスター内でトークンに復号される。2つのタイプのコマンドがあり、一方は要求されたトークンであり、他方はそうでないトークンである。520で、マスター装置はコマンドがトークンを要求するか、しないかを決める。トークンが要求されないならば、マスターがクレジットを有する場合、マスターはコマンドを送信することができる(560)。トークンが要求されるならば、マスター要求はトークンリクエストをグローバルトークン管理装置へ送信する(530)。要求されたトークンのタイプがグローバルトークン管理装置で利用可能であるならば(540で「イエス分岐)、トークン管理装置はトークンをマスターへ送る(550)。トークンがトークン管理装置で利用可能ではないならば(540で「ノー」分岐)、グローバルトークン管理装置は、トークンが利用可能になるまで待機するであろう(即ちグローバルトークン管理装置は、スレーブがトークンをグローバルトークン管理装置へ送るまで待つであろう)。トークンがマスターで利用可能になった後、マスターは「クレジット」を有するならば、コマンドを送ることができる(560)。

0040

図6を参照すると、1実施形態による、全てのスレーブ装置が利用可能であるか否かを判定することによって、「全てのトークンが利用可能」信号をアサートするか否かを判定する方法を示すフローチャートが示されている。1実施形態では、「全てのトークンが利用可能」信号はトークン管理装置によってアサートされる。処理は600で開始し、ブロック610で、その後第1のトークンタイプが選択される。その後、選択されたトークンタイプが利用可能であるか否かに関する判定が行われる。

0041

任意の時点で、トークンタイプが利用可能ではないならば、決定615は「ノー」分岐に進み、ブロック620で、「全てのトークンが利用可能」信号が「誤」(アサートされていない)に設定される。1実施形態では、アサートされるべき「全てのトークンが利用可能」信号のために、全てのトークンタイプのうち少なくとも1つがトークン管理装置で利用可能でなければならない。他方で、選択されたトークンタイプが利用可能であるならば、決定615は「イエス」分岐に進み、その後決定ブロック625で、選択されたトークンタイプが、トークンタイプのリストの最後であるか否かに関する他の判定が行われる。

0042

最後のトークンタイプではないならば、決定625は「ノー」分岐に進み、その後ブロック630で、次のトークンタイプが選択される。続いて、処理は決定615へループバックし、次のトークンタイプが利用可能であるか否かを判定する。他方で、選択されたトークンタイプが最後のトークンタイプであるならば、決定625は「イエス」分岐に進み、その後ブロック635で、「全てのトークンが利用可能」信号が「真」(信号がアサートされる)に設定される。「全てのトークンが利用可能」信号のアサートは、各タイプのトークンのうちの少なくとも1つが利用可能であることを示し、したがってマスター装置が、特定のタイプのトークンが利用可能であるか否かを判定するのに必要な付加的なステップを除去する。その後、処理はブロック610へ戻り、その後ブロック610で、第1のトークンタイプが選択され、プロセスは反復する。

0043

図7を参照すると、マスターがコマンドをスレーブ装置へ送ることができるか否かを判定する方法を示すフローチャートが示されている。「全てのトークンが利用可能」信号がアサートされていないならば、マスター装置は、「全てのトークンが利用可能」信号がアサートされたか否かを判定できる。この信号がアサートされていないならば、マスター装置は適当なトークンが利用可能であるか否かを判定することができる。処理はブロック700で開始し、その後ブロック710で、コマンドに対応する特定のタイプのトークンがマスター装置により要求される。1実施形態では、要求されるトークンのタイプは、マスター装置が送ることを試みているコマンドをサービスすることのできるスレーブ装置に対応している。

0044

その後、決定715で「全てのトークンが利用可能」信号がアサートされたか否かについての判定が行われる。「全てのトークンが利用可能」信号がアサートされていないならば、決定ブロック715から「ノー」分岐へ進み、その後ブロック720で、リクエストは、要求されているトークンのタイプを判定するために復号される。ブロック725で、要求されたトークンは、その要求されたトークンが利用可能であるか否かを判定するために、ローカルトークン管理装置において他の利用可能なトークンと比較される。

0045

その後、要求されたトークンがローカルトークン管理装置で利用可能であるか否かについての別の判定が行われる。トークンが利用可能ではないならば、決定ブロック730から「ノー」分岐に進み、その後ブロック740で、コマンドがこの時点ではスレーブ装置に送られることができないことを示すメッセージが、マスター装置へ送られる。続いて、プロセスは799で終了する。他方で、要求されたトークンがローカルトークン管理装置で利用可能であるならば、決定730から「イエス」分岐へ進み、その後ブロック770で、コマンドは適切なスレーブ装置へ送られる。ローカルトークン管理装置はトークンリクエストをグローバルトークン管理装置へ送る(780)。処理は再び、799で終了する。

0046

決定715へ戻り、「全てのトークンが利用可能」信号がアサートされたならば、決定715から「イエス」分岐へ進み、ブロック720、ブロック725、決定730をバイパスする。ブロック750で、マスター装置からのコマンドは適切なスレーブ装置へ送られる。ローカルトークン管理装置はトークンを復号し、トークンリクエスト信号をグローバルトークン管理装置へ送る。「全てのトークンが利用可能」信号がアサートされたならば、グローバルトークン管理装置は、それをマスターへ送る代わりに、トークンを消費する。「全てのトークンが利用可能」信号がアサートされないならば、グローバルトークン管理装置は、要求されたトークンをマスターへ送る(最後の部分の動作はフローチャートでは示されていない)。処理は、続いて799で終了する。

0047

別の実施形態では、マスター装置は、スレーブ装置へのアクセスに関して異なる優先順位を有するグループへ分割されることができる。特定のグループに対するスレーブ装置の利用可能性は、その特定のグループに対応するバックプレッシャー信号をアサートすることによって示される。スレーブ装置に対する利用可能なバッファスロットの数が、そのグループ−スレーブ装置(またはスレーブ装置のグループ)対に対するしきい値以上ならば、バックプレッシャー信号はアサートされる。バックプレッシャー信号がスレーブ装置から受信されるならば、「全てが利用可能」信号を受信するグループ中の任意のまたは全てのマスター装置は、バックプレッシャー信号をアサートしているスレーブ装置へコマンドを送ることができる。1実施形態では、しきい値がグループ中のマスター装置の数に等しくてもよい。各グループに対するしきい値は累積的であってもよい。即ち、グループ1に対する動作しきい値はしきい値1に等しく、グループ2に対する動作しきい値はしきい値1+しきい値2に等しく、グループ3に対する動作しきい値はしきい値1+しきい値2+しきい値3に等しい等々である。

0048

「全てが利用可能」信号は、特定のグループ中のマスター装置からのコマンドを受信するために、各スレーブ装置の利用可能性に応答して、特定のグループに対してアサートされる。即ち、「全てが利用可能」信号は、そのグループに対応する全てのスレーブ装置からの全てのバックプレッシャー信号がアサートされているならば、そのグループに対してアサートされる。マスター装置は、マスター装置のグループに対応する「全てが利用可能」信号が、アサートされているか否かを判定することによって、そうでなければ必要とされるであろう付加的なステップ/クロックサイクルを必要とせずに、スレーブ装置の利用可能性を判定することができる。

0049

スレーブ装置は、バックプレッシャー信号を使用して、マスター装置からのコマンドを受取るために、利用可能性を通信してもよい。スレーブ装置がそのグループ中のマスター装置からコマンドを受取ることができることをグループに示すために、各スレーブ装置はバックプレッシャー信号を特定のグループに対してアサートすることができる。1実施形態では、利用可能なバッファスロットの数が、そのグループに割当てられたしきい値よりも大きい場合には、スレーブ装置はバックプレッシャー信号を特定のグループに対してアサートする。1実施形態では、異なるしきい値数が各グループに割当てられることができる。さらに、各グループは各スレーブ装置またはスレーブ装置のタイプに対して、異なるしきい値数を有することができる。グループに対するしきい値数は、グループ中のマスター装置の数に等しくてもよいが、等しい必要はない。1実施形態では、動作しきい値数、即ち各スレーブ装置がバックプレッシャーを決定するために使用する数は、各グループに対して、各グループの優先順位にしたがって累積的であってもよい。例えば、グループ330はグループ325よりも高い優先順位を有し、グループ330はしきい値1を有し、グループ325はしきい値2を有すると仮定すると、グループ330に対する動作しきい値は1になり、グループ325に対する動作しきい値は3(1+2)になるであろう。したがって、1つのバッファスロットは、スレーブ装置がグループ330のバックプレッシャー信号をアサートできる前に利用可能である必要があり、3つのバッファスロットは、スレーブ装置がグループ325に対するバックプレッシャー信号をアサートできる前に利用可能である必要がある。

0050

図4を参照すると、1実施形態による、マスター装置のグループへの「バックプレッシャー」信号を使用して「全てが利用可能」信号をアサートするか否かを判定するシステムを示すブロック図が示されている。「全てが利用可能」信号によって、トークン管理装置、またはこの機能を実行しているどの装置でも、要求されたトークンのタイプを決定するためにトークンリクエストを復号し、その要求されたタイプが利用可能であるか否かを判定するためにリクエストを利用可能なトークンと比較する付加的なステップを回避することが可能になる。

0051

マスター装置410は、マスター装置がリクエストを有するときはいつでも、リクエスト信号412をアサートする。マスター装置410は、対応するスレーブ装置へコマンドを送るために、特定のタイプのトークンを要求する。ANDゲート416はライン412上でリクエスト信号を受信するとともに、ライン414上でクレジット信号を受信するように構成されている。ライン420上のクレジット信号は、マスター装置が、バッファが利用可能なバッファスロットを有することを示すクレジットを、マスター装置の出力バッファから受信したときに、アサートされ、これによりマスター装置からコマンドを受取ることができる。マスター装置が必要なクレジットを有し、特定のトークンに対するリクエストを出すならば、ANDゲート416はクレジット信号及びリクエスト信号の両方がアサートされたことを示すライン418上の信号をアサートする。ライン418上の信号は、その後、ANDゲート422へ与えられる。ANDゲート422は、特定のタイプのトークンが利用可能であるか否かを決定する手順が必要であるか否かを示すバイパス信号をライン422上で発生する責任を負う。

0052

スレーブ装置424は、各装置が特定のグループ中のマスター装置からのコマンドを受信するために利用可能であるか否かを示すように構成されている。1実施形態では、各スレーブ装置及びマスター装置の各グループに対して、そのスレーブ装置に対する利用可能なバッファスロットの数を示す第1の信号が発生され、そのスレーブ装置及びグループに対応するしきい値を示す第2の信号が発生される。例えば、バッファ信号426、428、430は、第1、第2、第nのスレーブ装置に対して利用可能なバッファスロットの数を示し、しきい値信号432、434、436は、第1、第2、第nのスレーブ装置に対応するしきい値数を示している。

0053

比較装置438、440、442は、各スレーブ装置に対するバッファ及びしきい値信号の対を受信して比較するよう構成されている。比較装置は、対応するスレーブ装置に対して利用可能なバッファの数が適切なグループに対するしきい値に等しいかそれよりも大きいことを判定したならば、ライン444、446、448上に信号をアサートし、ライン444、446、448上でバックプレッシャー信号を発生するように構成されている。ANDゲート450はバックプレッシャー信号を受信し、ライン452上に「全てが利用可能」信号を発生するように構成されている。ライン452上の「全てが利用可能」信号は、特定のグループからのマスター装置が、コマンドを任意のスレーブ装置へ送ることができることを示す特定のグループに対する全てのバックプレッシャー信号がアサートされているならば、発生される。

0054

トークンのリクエストがマスター装置により行われ(即ち、ライン418上の信号がアサートされ)、「全てが利用可能」信号が(ライン452上で)アサートされたならば、ANDゲート420はライン422上でバイパス信号を発生するように構成される。ライン422上のバイパス信号がアサートされるとき、マスター装置は任意のスレーブ装置へコマンドを送ることができ、そうでなければアサートされているバックプレッシャー信号を決定するために要求されるであろう復号ステップ/比較ステップをバイパスする。システムが「バックプレッシャー」方式を実行するならば、「全てのトークンが利用可能」信号がアサートされるとき、グローバルトークン管理装置は実際のトークン数を管理しないので、マスターはトークンリクエストをグローバルトークン管理装置へ送る必要がない。その代わりに、スレーブからの「バックプレッシャー」信号を参照するだけである。

0055

別の実施形態では、ローカルトークン管理装置は、マスターに取り付けられたコマンドバッファ中に設けられている(例えば、図1のバッファ125)。この実施形態では、マスター110がクレジットを有するならば、マスター装置110はコマンドをバッファ125へ送る。バッファ125はそのコマンドを復号し、コマンドがトークンを要求する場合には、バッファ125内のローカルトークン管理装置はトークンリクエストをグローバルトークン管理装置へ送る。その他の動作は、マスター内に設けられているトークン管理装置とほぼ同じである。

0056

本願の開示は、複数のマスター装置とスレーブ装置を有するマルチプロセッサコンピュータシステムの状況で本発明を述べているが、本発明はより広く応用可能であり、種々の他の状況で使用されることができる。結果として、この開示は、本発明をこれらの形式のシステムに限定するものと考えるべきではない。

0057

明細書中で使用されている「コンピュータ」及び「コンピュータシステム」とは、本明細書中で述べた機能を行うことができる任意のタイプのデータ処理システムを含むことが意図されている。本明細書中で使用される「コンピュータの読取り可能な媒体」とは、コンピュータにより実行されることのできるプログラム命令を記憶することができる任意の媒体を指しており、フロッピーディスクハードディスクドライブCD−ROM、DVD−ROM、RAM、ROM、DASDアレイ磁気テープフロッピーディスケット光記憶装置等を含んでいる。

0058

当業者は情報および信号が任意の種々の異なる技術と技法を用いて表されることができることを理解するであろう。例えば、先の説明を通して参照されることのできるデータ、命令、コマンド、情報、信号、ビット、及びシンボルは、電圧電流電磁波、磁場または磁性粒子光場または光粒子、或いは任意のそれらの組合せによって表されることができる。

0059

当業者はさらに、本明細書中で開示された実施形態に関連して説明した種々の例示的な論理ブロックモジュール回路、およびアルゴリズムステップが、電子ハードウェアコンピュータソフトウェアまたはその両者の組合せとして実施されてもよいことを認識するであろう。このハードウェアとソフトウェアとの交換が可能であることを明白に示すために、種々の例示的なコンポーネント、ブロック、モジュール、回路、およびステップをそれらの機能性に関して一般的に説明した。このような機能性がハードウェアまたはソフトウェアのいずれとして実行されるかは、特定の応用と、システム全体に課せられた設計の制約に依存している。当業者は、それぞれの特定の応用に対して、述べられた機能性を種々の方法で実施することができるが、このような実施の決定は本発明の範囲からの逸脱を起こすものと解釈すべきではない。

0060

本明細書中で開示した実施形態に関連して述べた種々の例示的な論理ブロック、モジュールおよび回路は、汎用目的のプロセッサ、デジタル信号プロセッサ(DSP)、特定用途集積回路ASIC)、フィールドプログラム可能ゲートアレイFPGA)、またはその他のプログラム可能な論理装置ディスクリートゲートまたはトランジスタ論理装置、ディスクリートハードウェアコンポーネント、或いは本明細書中で述べた機能を実行するように設計されたその任意の組合せによって実施または実行されることができる。汎用目的のプロセッサは、任意の通常のプロセッサ、制御装置マイクロ制御装置状態機械等であってもよい。また、プロセッサは、演算装置の組合せ、例えばDSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連結した1つ以上のマイクロプロセッサ、或いは任意の他のこのような構成として実施されることもできる。

0061

本明細書中で開示した実施形態に関連して述べた方法またはアルゴリズムのステップは、ハードウェア、プロセッサにより実行されるソフトウェアモジュール、またはその2つの組合わせで直接実施されてもよい。ソフトウェアモジュールは、RAMメモリフラッシュメモリROMメモリEPROMメモリ、EEPROMメモリレジスタハードディスク取外し可能なディスク、CD−ROM、または技術的に知られているその他の形態の記憶媒体中に存在してもよい。例示的な記憶媒体は、プロセッサに結合され、このようなプロセッサは情報を記憶媒体から読出し、そこに情報を書込むことができる。その代りに、記憶媒体はプロセッサと一体化されることもできる。プロセッサおよび記憶媒体はASIC中に存在していてもよい。ASICはユーザ端末に存在してもよい。その代りに、プロセッサおよび記憶媒体はユーザ端末中にディスクリートなコンポーネントとして存在することもできる。

0062

本発明により提供される効果および利点を特定の実施形態に関連して述べた。これらの効果および利点と、行われ、またはさらに明白にされる任意の要素または限定とは、任意または全ての請求項の重要な、必要とされる、または本質的な特徴として解釈されるべきではない。本明細書中で使用されるように、用語「備える」、「備えている」またはその任意の変形は、これらの用語にしたがっている要素または限定を排他的ではなく含んでいるものとして解釈されることを意図している。したがって、システム、方法または、1組の要素を備える他の実施形態は、これらの要素だけに限定されるものではなく、請求された実施形態に明確に挙げられていない、または固有ではない他の要素を含むことができる。

0063

本発明を特定の実施形態を参照にして述べたが、それらの実施形態は例示であり、本発明の範囲はこれらの実施形態に限定されないことを理解すべきである。上述の実施形態に対する多くの変形、変更、付加、改良が可能である。これらの変形、変更、付加、および改良は、特許請求の範囲中に詳細に記載されているような本発明の範囲内に含まれるものと考えられる。

図面の簡単な説明

0064

1実施形態による、マスター装置とスレーブ装置の間の通信を容易にするシステムを示すブロック図。
1実施形態による、スレーブ装置との通信を試みるマスター装置に「全てのトークンが利用可能」信号をアサートするか否かを判定するシステムを示すブロック図。
1実施形態による、マスター装置とスレーブ装置のグループ間の通信を容易にするシステムを示すブロック図。
1実施形態による、スレーブ装置との通信を試みているマスター装置のグループに「バックプレッシャー」信号を使用して「全てが利用可能」信号をアサートするか否かを判定するシステムを示すブロック図。
1実施形態による、トークンを使用して、スレーブ装置が、マスター装置からコマンドを受取るために利用可能であるか否かを判定する方法を示すフローチャート。
1実施形態による、全てのスレーブ装置が利用可能であるか否かを判定することによって、「全てのトークンが利用可能」信号をアサートするか否かを判定する方法を示すフローチャート。
1実施形態による、「全てのトークンが利用可能」信号がアサートされているか否かを判定するために、マスター装置がコマンドをスレーブ装置へ送ることができるか否かを判定し、アサートされていないならば、適切なトークンが利用可能であるか否かを判定する方法を示すフローチャート。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 三星電子株式会社の「 SSDに対するFPGAベースのアクセラレーションモジュール及びシステムとその動作方法」が 公開されました。( 2019/09/12)

    【課題】FPGAベースのアクセラレーションのための低コスト、低消費電力のSSD構造を有するアクセラレーションモジュール及びシステムとその動作方法を提供する。【解決手段】システムは、アプリケーションを実... 詳細

  • キヤノン株式会社の「 通信装置およびその制御方法」が 公開されました。( 2019/09/12)

    【課題】より低いコストで通信パケットの送信を高速化する。【解決手段】パケットのペイロードを生成する第1生成手段と、パケットの通信ヘッダのひな型となる仮通信ヘッダを生成する第2生成手段と、ペイロードと仮... 詳細

  • 株式会社リコーの「 画像形成装置」が 公開されました。( 2019/09/12)

    【課題】SoCのクロック信号の動作周波数が低下している際には、エンジン側を動作させず、SoCが通常モードに復帰した後に、エンジンを動作させることにある。【解決手段】エンジン制御部1は、メモリ3にアクセ... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ