JP2000035954A - マルチプロセッサおよびそのバス調停方法 - Google Patents

マルチプロセッサおよびそのバス調停方法

Info

Publication number
JP2000035954A
JP2000035954A JP11075795A JP7579599A JP2000035954A JP 2000035954 A JP2000035954 A JP 2000035954A JP 11075795 A JP11075795 A JP 11075795A JP 7579599 A JP7579599 A JP 7579599A JP 2000035954 A JP2000035954 A JP 2000035954A
Authority
JP
Japan
Prior art keywords
bus
processor element
privilege level
circuit
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11075795A
Other languages
English (en)
Other versions
JP4099561B2 (ja
Inventor
Masahiro Yasue
正宏 安江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP07579599A priority Critical patent/JP4099561B2/ja
Priority to US09/310,942 priority patent/US6339807B1/en
Publication of JP2000035954A publication Critical patent/JP2000035954A/ja
Application granted granted Critical
Publication of JP4099561B2 publication Critical patent/JP4099561B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 バス調停にかかる時間を短縮でき、システム
全体の動作の高速化を実現できるマルチプロセッサおよ
びそのバス調停方法を提供する。 【解決手段】 バス10を使用するプロセッサエレメン
トに設けられた調停器はバス要求信号とそのプロセッサ
エレメントの特権レベルに応じたバス要求値をバス10
に送信し、バスの使用状況および当該プロセッサエレメ
ントの特権レベルに応じて、バス使用の可否を決定す
る。バスに接続されている共通のバス調停回路50は、
バス10を監視しつつ、バス10に複数のプロセッサエ
レメントからのバス要求信号が送信されたとき、バスの
使用状況およびバスを要求した各プロセッサエレメント
の特権レベルに応じて、バス10を使用するプロセッサ
エレメントを決定するので、バス調停を高速に行うこと
ができ、単一のバスを用いたプロセッサ間の通信の高速
化を実現できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
エレメントなどによって単一のバスを共有するマルチプ
ロセッサおよび当該マルチプロセッサにおけるバス使用
権を決定するバス調停方法に関するものである。
【0002】
【従来の技術】図7に示すマルチプロセッサシステム
は、単一バスのマルチプロセッサシステムである。この
システムでは、一度に単一の通信しかできないため、バ
ス10を使用するプロセッサエレメント(PE)をただ
1つだけ選択する選択機構、例えば、調停回路が必要で
ある。さらに、調停の際に個々のプロセッサエレメント
に固有の優先順位を割り付けるのではなく、より効果的
にバスを使用するために、動的に優先順位を割り付ける
方法が一般的に採用されている。この場合、例えば、特
権レベルを利用するバスの割り振りが有効である。
【0003】従来、上記調停回路には、集中型調停回路
と分散型調停回路があった。集中型調停回路は、図8に
示すように、例えば、バス10に接続されている複数の
プロセッサエレメント12,22,32と一つの調停器
40により構成されている。集中型調停回路において
は、バス10を使用するプロセッサエレメントから直接
または間接的に調停器40にバス要求信号が送られ、調
停器40によりバス使用の許可信号がバスの使用が許可
されたプロセッサエレメントに返される。
【0004】即ち、集中型調停回路では、プロセッサエ
レメントのバス要求信号の送信、調停器のプロセッサエ
レメントの選択、調停器の許可信号の送信という3つの
処理を経て、はじめてバスの使用を要求したプロセッサ
エレメントがバスを使用可能となる。
【0005】分散型調停回路の一例は、図9に示してい
る。図示のように、分散型調停回路は、バス10に接続
されている複数のプロセッサエレメント12,22,3
2により構成されている。さらに、各プロセッサエレメ
ントにそれぞれバス使用権の調停を行う調停器11,2
1,31が設けられている。
【0006】図9に示している分散型調停回路では、許
可信号は複数の場所(多くは各プロセッサの調停器)で
生成される。この調停回路で、特権レベルを利用して調
停を行うためには、それぞれの調停器ごとに、すべての
プロセッサエレメントの特権レベルを保持する必要があ
る。さらに、ある一つのプロセッサエレメントの特権レ
ベルが変更されたとき、すべての調停回路にそれを通知
する必要がある。このような分散型調停回路によって、
プロセッサエレメントは、それに設けられた調停器によ
りバス使用できるか否かが直接判断でき、判断結果に応
じてバス使用許可が決定されるので、集中型調停回路に
比べてバス要求を送信してからバス使用許可が受信する
までの所要時間が短縮できる。
【0007】
【発明が解決しようとする課題】ところで、上述した従
来のマルチプロセッサシステムでは、集中型と分散型に
おいてそれぞれのディメリットがある。例えば、集中型
の調停回路を持つマルチプロセッサでは、プロセッサエ
レメントのバス要求信号の送信、調停器のプロセッサエ
レメントの選択、調停器の許可信号の送信という3つの
処理が不可欠である。さらに、これらの3つの処理は同
時に行うことができず、逐次的に処理せざるを得ないた
め、調停に要する時間が長くなる。
【0008】一方、分散型の調停回路を持つマルチプロ
セッサでは、特権レベルを利用した調停を行うために
は、それぞれのプロセッサエレメントに設けられた調停
器毎に、すべてのプロセッサエレメントの特権レベルを
記憶する必要があり、さらに、ある一つのプロセッサエ
レメントの特権レベルが変更されたとき、すべての調停
器にそれを通知する必要があるので、システム全体の通
信負荷が大きくなる。また、それぞれの調停回路がプロ
セッサエレメントを選択する回路を持たなければならな
いため、複雑な選択方法では、それぞれの調停回路の規
模が大きくなり、システム全体の規模も大きくなってし
まうという不利益がある。
【0009】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、回路規模を大幅に増加させるこ
となく、バス調停にかかる時間を短縮でき、システム全
体の高速化を実現できるマルチプロセッサおよびそのバ
ス使用権決定方法を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明のマルチプロセッサは、複数のプロセッサエ
レメントがそれぞれ独立に動作し、共通のバスを用いて
情報の伝達を行うマルチプロセッサであって、上記プロ
セッサエレメントがバスを使用するとき、当該プロセッ
サエレメントの特権レベルに応じたバス要求値を生成す
る要求値生成回路と、上記プロセッサエレメントがバス
を使用するとき、バス要求信号と上記バス要求値を上記
バスに送信する送信回路と、上記プロセッサエレメント
が上記バス要求信号を送信したとき、上記バスの使用状
況および上記バス要求信号を送信したプロセッサエレメ
ントの特権レベルに応じて、バス使用の可否を判断する
制御回路と、上記バスに接続され、上記バスに複数のプ
ロセッサエレメントから上記バス要求信号が送信され、
かつ上記制御回路が優先的にバスの使用をする一のプロ
セッサエレメントを特定できない場合に、バス使用状況
または上記バス要求信号を送信した各プロセッサエレメ
ントの特権レベルに応じて、バスを使用するプロセッサ
エレメントを決定するバス調停回路とを有する。
【0011】また、本発明では、好適には、上記要求値
生成回路、送信回路または制御回路は、上記各プロセッ
サエレメントに対応して、各プロセッサエレメント毎に
設けられている。また、上記各プロセッサエレメント毎
に、当該プロセッサエレメントの特権レベルを示すM
(M≧1、Mは整数である)ビットの特権レベルデータ
を記憶する記憶回路を有する。
【0012】また、本発明では、好適には、上記要求値
生成回路は、上記記憶回路に記憶されている上記特権レ
ベルデータのうち、少なくとも上位m(m≦M、mは整
数である)ビットを用いて上記バス要求値を生成する。
さらに、上記バスに接続されている上記プロセッサエレ
メントが全部でN(N≧2、Nは整数である)個の場
合、上記バスのデータ幅は、少なくともm×Nビットで
ある。
【0013】また、本発明では、好適には、上記各プロ
セッサエレメントの特権レベルデータは、変更可能であ
り、各プロセッサエレメント毎に設けられた上記制御手
段により、それぞれのプロセッサエレメント毎に設けら
れている上記記憶回路に記憶されている上記特権レベル
データが書き換えられる。
【0014】また、本発明は、単一のバスに接続されて
いる複数のプロセッサエレメントに対して、バスの使用
権を決定するバス調停方法であって、各プロセッサエレ
メント毎にバスの使用の可否を判断する制御回路を設
け、バスを使用するプロセッサエレメントによりバス要
求信号と当該プロセッサエレメントの特権レベルに応じ
たバス要求値を上記バスに送信し、プロセッサエレメン
トに設けられた上記制御回路により、バスの使用状況お
よび上記プロセッサエレメントからの上記バス要求値に
応じて、上記プロセッサエレメントに対してバス使用の
可否を決定し、上記バスに共通のバス調停回路を設け、
上記バスに複数の上記プロセッサエレメントからバス要
求信号が送信され、かつ上記制御回路が優先的にバスを
使用する一のプロセッサエレメントを特定できない場合
に、上記バス調停回路によりバスの使用状況および上記
バス要求信号を送信した各プロセッサエレメントの特権
レベルに応じて、バスを使用するプロセッサエレメント
を決定する。
【0015】さらに、本発明では、好適には、上記共通
のバス調停回路は、上記各プロセッサエレメントの特権
レベルデータを記憶し、また、何れかのプロセッサエレ
メントの特権レベルデータが変更されたとき、それに応
じて上記記憶されているプロセッサエレメントの特権レ
ベルを変更する。
【0016】本発明によれば、単一のバスを使用する複
数のプロセッサエレメントからなるマルチプロセッサに
おいて、各プロセッサエレメント毎にバスの使用の可否
を判断する調停器が設けられている。バスを使用するプ
ロセッサエレメントにより、バス要求信号と当該プロセ
ッサエレメントの特権レベルに応じたバス要求値がバス
に出力される。各プロセッサエレメントに設けられた調
停器において自分のプロセッサエレメントからバス要求
信号が送信されたとき、バスの使用状況および自分のプ
ロセッサエレメントのバス要求値に応じて、自分のプロ
セッサエレメントのバス使用の可否を判断する。
【0017】さらに、上記バスに共通のバス調停回路が
接続され、当該バス調停回路により、バスの使用状況を
監視しつつ、複数のプロセッサエレメントからバス要求
信号がバスに送信されたとき、バスの使用状況およびバ
ス使用を要求したプロセッサエレメントの特権レベルに
応じて、バスを使用するプロセッサエレメントを決定
し、各プロセッサエレメントに使用の可否を通知する。
上述したように、本発明のマルチプロセッサにおいて、
バス使用を要求したプロセッサエレメントが一つのみの
場合に、該当するプロセッサエレメントに設けられてい
る調停器によってそのプロセッサエレメントにバス使用
の可否を判断でき、または複数のプロセッサエレメント
が同時にバスの使用を要求した場合に、バスに接続され
ている共通のバス調停回路によって、バス使用を要求し
た各プロセッサエレメントの特権レベルなどに基づき、
バスを使用するプロセッサエレメントを決定する調停を
行うので、バス調停を高速に実行できる。
【0018】
【発明の実施の形態】図1は本発明に係るマルチプロセ
ッサの一実施形態を示す回路図である。図示のように、
本実施形態のマルチプロセッサは、共通のバス10に接
続されているN個のプロセッサエレメント(PE)20
−1,20−2,…,20−N、各々のプロセッサエレ
メントに設けられている調停器30−1,30−2,
…,30−Nおよび共通のバス調停回路50により構成
されている。
【0019】図1に示すように、本実施形態のマルチプ
ロセッサにおいて、すべてのプロセッサエレメント20
−1,20−2,20−3にそれぞれ調停器30−1,
30−2,…,30−Nが設けられている。また、各プ
ロセッサエレメントは特権レベルを1つずつ保持してい
る。これらの特権レベルは一定ではなく変更される可能
性がある。バス調停回路50は、すべてのプロセッサエ
レメントの特権レベルを保持している。あるプロセッサ
エレメントの特権レベルが変更されると、バス調停回路
50中に保持されている対応する特権レベルの値も同様
に変更される。
【0020】図2は、それぞれ各プロセッサエレメント
に設けられている調停器の内部構成を示している。以
下、図2を参照しつつ、各プロセッサエレメントに設け
られている調停器の構成および機能について説明する。
【0021】図1に示す全てのプロセッサエレメント2
0−1,20−2,20−3に設けられている調停器3
0−1,30−2,…,30−Nはほぼ同じ構成を有す
るので、図2においては、例えば、プロセッサエレメン
ト20−1に設けられている調停器30−1を例示して
いる。図示のように、調停器30−1は、受信回路3
1、送信回路32、制御回路33、要求値生成回路34
および特権レベル記憶回路35により構成されている。
【0022】受信回路31は、バス10からバス調停回
路50および他のプロセッサエレメントに設けられてい
る調停器からのバス要求信号およびバス要求値を受信
し、受信信号を制御回路33に供給する。送信回路32
は、プロセッサエレメント20−1がバスを使用すると
き、バス10にバス要求信号とともに、要求値生成回路
34により生成したバス要求値をバス10に送信する。
【0023】制御回路33は、プロセッサエレメント2
0−1からバス使用要求を受けたとき、要求値生成回路
34にバス要求値を生成させ、さらに、送信回路32に
バス要求信号とともに、要求値生成回路34により生成
したバス要求値をバス10に送信することを指示する。
そして、現在バス10の使用状況および特権レベル記憶
回路35に記憶されているプロセッサエレメント20−
1の特権レベルに応じて、プロセッサエレメント20−
1がバスを使用できるか否かを判断し、判断の結果プロ
セッサエレメント20−1に通知する。さらに、制御回
路33は、プロセッサエレメント20−1からの指示ま
たは受信回路31によって受信した指示信号に従って、
特権レベル記憶回路35に記憶したプロセッサエレメン
ト20−1の特権レベルデータを書き換える。
【0024】要求値生成回路34は、プロセッサエレメ
ント20−1がバス10を使用するとき、制御回路33
の制御に基づき特権レベル記憶回路35に記憶されてい
るプロセッサエレメント20−1の特権レベルデータに
基づき、バス要求値を生成する。特権レベル記憶回路3
5は、プロセッサエレメント20−1の特権レベルを示
す特権レベルデータを記憶する。ここで、当該特権レベ
ルデータは、例えば、Mビットのデータからなる。な
お、上述したように各プロセッサエレメントに付与され
ている特権レベルは、固定ではなく可変なものである。
このため、例えば、プロセッサエレメント20−1の特
権レベルが変更するとき、それに応じて特権レベル記憶
回路35に記憶されている特権レベルデータが制御回路
33の指示に従って書き換えられる。特権レベルの変更
は、例えば、プロセッサエレメント20−1からの変更
指示により行う。または、外部の制御装置、例えば、マ
ルチプロセッサのシステム全体の動作を制御する制御装
置によりバス10を経してそれぞれのプロセッサエレメ
ントに特権レベルの設定および変更を指示する制御信号
が出力される。この場合、例えば、受信回路31からプ
ロセッサエレメント20−1の特権レベルを変更する指
示信号を受信したとき、制御回路33は、当該指示信号
に従って特権レベル記憶回路35に記憶されている特権
レベルデータを変更する。
【0025】要求値生成回路34は、特権レベル記憶回
路35に記憶されているMビットの特権レベルデータに
応じてバス要求値を生成する。具体的に、例えば、Mビ
ットの特権レベルデータのうち、上位mビットに基づき
バス要求値を生成する。一例として、ここで、M=8、
m=2の場合について説明する。即ち、特権レベルデー
タが8ビットからなり、要求値生成回路34は、特権レ
ベルデータの8ビットのうち上位2ビットを取り出し、
当該2ビットデータの最下位にさらに1ビットのデータ
“1”を付加してバス要求値を生成する。例えば、特権
レベルデータが“10010001”の場合、バス要求
値“101”を生成して出力する。
【0026】図3は、バス調停回路50の構成を示して
いる。以下、図3を参照しつつ、バス調停回路50の構
成および機能について説明する。図示のように、バス調
停回路50は、受信回路51、送信回路52、制御回路
53、特権レベル判断回路54、巡回レベル判断回路5
5および特権レベル記憶回路56により構成されてい
る。
【0027】バス調停回路50は、バス10により転送
されてきたバス要求信号および各々のプロセッサエレメ
ントの特権レベルに基づき、バスの割り振りを行う。例
えば、バス10から転送されてきたバス要求信号、バス
要求値、各プロセッサエレメントの特権レベルおよびバ
スの使用状況に基づき、バスを使用するプロセッサエレ
メントを決定し、バス10を介して該当するプロセッサ
エレメントにバス使用許可信号を送信する。以下、図3
を参照しつつ、バス調停回路50の構成および動作につ
いてさらに具体的に説明する。
【0028】受信回路51は、バス10から各プロセッ
サエレメントの調停器から送信したバス要求信号および
バス要求値を受信し、受信信号を制御回路53に供給す
る。送信回路52は、特権レベル判断回路54の判断結
果に応じてバス使用が許可されたプロセッサエレメント
にバス10を介してバス使用許可信号を送信する。
【0029】制御回路53は、何れかのプロセッサエレ
メントからのバス要求信号を受信したとき、受信回路5
1からの受信信号に応じて特権レベル判断回路または巡
回レベル判断回路にバス使用要求について判断させ、判
断の結果に応じて許可されたプロセッサエレメントに使
用許可信号を送信するよう制御を行う。また、何れかの
プロセッサエレメントの特権レベルが書き換えられたと
き、当該書き換えに関する指示信号がバス10を経由し
て受信回路51により受信される。この場合、制御回路
53は受信回路51の受信信号に応じて特権レベル記憶
回路56に記憶された対応する特権レベルデータの書き
換えを制御する。
【0030】特権レベル判断回路54は、受信回路51
から複数のプロセッサエレメントからバス要求信号およ
びバス要求値を受信したとき、制御回路53の制御に基
づき、特権レベル記憶回路56に記憶されている各々の
プロセッサエレメントの特権レベルデータに応じてバス
使用要求をした複数のプロセッサエレメントのうち最も
優先度の高いプロセッサエレメントを決定し、送信回路
52を介してそれにバス使用許可信号を送信する。な
お、バス使用を要求した複数のプロセッサエレメントの
うち最も高い優先度を持つプロセッサエレメントが2以
上ある場合、制御回路53にそれを通知する。
【0031】制御回路53は、特権レベル判断回路54
から上記通知を受けたとき、巡回レベル判断回路55に
巡回順位に基づいてバスの使用を許可すべきプロセッサ
エレメントを判断させる。巡回レベル判断回路55は、
巡回優先順位に基づきバスを使用するプロセッサエレメ
ントを決定し、送信回路52を介してそれにバス使用許
可を出力する。
【0032】特権レベル記憶回路56は、バス10に接
続されている全てのプロセッサエレメントの特権レベル
データを記憶する。例えば、バス10にN個のプロセッ
サエレメントが接続され、各プロセッサエレメントの特
権レベルデータがMビットからなる場合、特権レベル記
憶回路56は、少なくともM×Nビットの記憶容量を有
する。特権レベル記憶回路56に記憶されている特権レ
ベルデータは、制御回路53の制御に応じて書き換える
ことができる。例えば、何れかのプロセッサエレメント
が特権レベルデータが変更した場合に、受信回路51に
より、当該特権レベルの変更を知らせる通知信号を受信
したとき、制御回路53は受信信号に応じて特権レベル
記憶回路56に対応する特権レベルデータの書き換え指
示を出力し、これに応じて特権レベル記憶回路56に記
憶された所定の特権レベルデータが書き換えられる。
【0033】図4〜図6は、それぞれ各プロセッサエレ
メント20−1,20−2,…,20−N、各プロセッ
サエレメントに設けられた調停器30−1,30−2,
…,30−3およびバス調停回路50の動作手順を示す
フローチャートである。以下、これらのフローチャート
を参照しつつ、それぞれプロセッサエレメント、調停器
およびバス調停回路50の動作について説明する。
【0034】まず、図4を参照しながら、プロセッサエ
レメントの動作手順について説明する。バスを使用する
プロセッサエレメントは、まず、ステップ100に示す
ように、そのプロセッサエレメントに設けられている調
停器を介して、バス10に自分の持つ特権レベルデータ
の上位2ビットとデータ“1”の計3ビットのデータか
ら形成されたバス要求値をバス要求信号とともにバス1
0に送信する。例えば、特権レベルが2進数で“100
10001”のとき、要求値生成回路34によって、バ
ス要求値“101”が生成され、さらに送信回路によっ
て、バス要求信号とともに当該バス要求値がバス10に
送信される。
【0035】すべてのプロセッサエレメントにバス要求
値のビット数分だけのバス信号線が割り当てられている
ため、異なるプロセッサエレメントが同じ信号線に重な
ってバス要求値を送信することにはならない。即ち、プ
ロセッサエレメントの数をNとし、バス要求値が3ビッ
トのデータで構成されるとすると、バス10の幅は、
(N×3)ビット以上であるとする。このため、複数の
プロセッサエレメントから同時にバス10にバス要求値
を送信することが可能である。
【0036】次に、ステップ110において、バス調停
回路50またはプロセッサエレメント自身の調停器から
の使用許可信号を待つ。バス調停回路50またはプロセ
ッサエレメント自身の調停器の何れかから許可信号を得
れば、そのプロセッサエレメントはバス10を使用でき
るようになり、調停は終了する。ここで、プロセッサエ
レメント自身の調停器とは、図1において、例えば、プ
ロセッサエレメント20−1の場合は調停器30−1で
あり、プロセッサエレメント20−2の場合は調停器3
0−2、プロセッサエレメント20−Nの場合は調停器
30−Nである。
【0037】図5は、各プロセッサエレメント毎に設け
られた調停器の動作を示すフローチャートである。図示
のように各々の調停器は、自分のプロセッサエレメント
がバスの使用を要求する場合に動作をはじめる。ここ
で、自分のプロセッサエレメントとは、調停器30−1
の場合はプロセッサエレメント20−1、調停器30−
2の場合はプロセッサエレメント20−2、調停器30
−Nの場合はプロセッサエレメント20−Nである。
【0038】まず、ステップ200において、調停器は
バス10を監視し、他のプロセッサエレメントが送信し
たバス要求値を得る。そして、ステップ210におい
て、バス要求値を出したプロセッサエレメントが自分の
プロセッサエレメントのみであるか、もしくは、自分の
プロセッサエレメントが出したバス要求値が他のどのプ
ロセッサエレメントが出したバス要求値よりも大きいか
どうかを調べる。バス要求値を送信したのが自分のプロ
セッサエレメントのみであり、または自分のプロセッサ
エレメントが送信したバス要求値が他のどのプロセッサ
エレメントが送信したバス要求値よりも大きい場合、ス
テップ220の処理によって、自分のプロセッサエレメ
ントにバス10使用の許可信号を出力する。そうでなけ
れば処理が終了する。
【0039】図6は、バス調停回路50の動作を示すフ
ローチャートである。図示のように、バス調停回路50
は、ある一つ以上のプロセッサエレメントがバス10に
バス要求値を送信すると動作がはじまる。まず、ステッ
プ300において、バス調停回路がバス10を監視し、
プロセッサエレメントがバス10に送信したバス要求値
をすべて読み取る。バス要求値が0以上のプロセッサエ
レメントに対応する特権レベルの値を比較し、最大値を
持つものを調べる。
【0040】ステップ310で、特権レベル最大のもの
が複数あればステップ320の処理を行ない、1つしか
なければステップ330においてそのプロセッサエレメ
ントにバス使用の許可信号を出力し、処理が終了する。
このとき、ステップ330を実行せず、処理を終了して
もよい。即ち、バス使用を要求したプロセッサエレメン
トが一つのみの場合には、プロセッサエレメントは、そ
のプロセッサエレメントに属している調停器によりバス
使用が許可が得られ、バス10の使用を開始するので、
バス調停回路50から改めてバス使用許可を出力する必
要がない。
【0041】特権レベル最大のものが複数ある場合、ス
テップ320の処理に進む。ステップ320において
は、最大値を持つプロセッサエレメントから、巡回優先
順位に基づいて1つのプロセッサエレメントを選択す
る。そして、ステップ330において、選択されたプロ
セッサエレメントにバス使用の許可信号を出力し、処理
が終了する。なお、バス調停回路50における決定より
も各プロセッサエレメントごとの調停器による決定のほ
うが優先されるため、どれか一つの調停器が許可信号を
出すと、バス調停回路50の処理が終了する。
【0042】ここで、例えば、調停器20−1の特権レ
ベルデータが“10001000”、調停器20−2の
特権レベルデータが“01110000”、調停器20
−Nの特権レベルデータが“11000000”である
とし(すべて2進数表記)、且つプロセッサエレメント
20−1,20−2と20−Nの三つが同時にバス使用
するバス要求信号をバス10に出力する場合を考える。
この場合、それぞれのプロセッサエレメントがバス10
にバス要求値を出力する。例えば、プロセッサエレメン
ト20−1はバス要求値“101”、プロセッサエレメ
ント20−2はバス要求値“011”、さらにプロセッ
サエレメント20−Nは要求値“111”をそれぞれバ
ス10に出力する。このために、三つの要求値“10
1”、“011”、“111”のうち、要求値“11
1”が最大であり、かつ、唯一であるので、プロセッサ
エレメント20−Nに設けられている調停器30−Nが
図5のフローチャートにおけるステップ220の処理に
おいてバス使用の許可信号をプロセッサエレメント30
−Nに出力するので、プロセッサエレメント20−Nは
バス10を使用可能となる。これと同時に、調停器30
−Nの調停処理は終了する。
【0043】以上説明したように、本実施形態によれ
ば、複数のプロセッサエレメントは単一のバス10を用
いて、相互に情報の伝達を行うマルチプロセッサシステ
ムにおいて、バス10を使用するプロセッサエレメント
はバス要求信号と自分の特権レベルに応じたバス要求値
をバス10に送信する。各プロセッサエレメント毎に設
けられた調停器は、自分のプロセッサエレメントがバス
の使用を要求したとき、バスの使用状況および自分のプ
ロセッサエレメントの特権レベルに応じて、バス使用の
可否を決定する。バスに接続されている共通のバス調停
回路50は、バス10を監視しつつ、バス10にバス要
求信号が送信されたとき、バスの使用状況およびバスを
要求したプロセッサエレメントの特権レベルに応じて、
バス10を使用するプロセッサエレメントを決定するの
で、バスの使用権の決定を高速に行うことができ、単一
のバスを用いたマルチプロセッサシステムの通信の高速
化を実現できる。
【0044】なお、上述した例ではバス10はプロセッ
サエレメントのみしか接続していないが、本発明はこれ
に限定されるものではなく、バス10にプロセッサエレ
メント以外の他のモジュール、例えば、マルチプロセッ
サを構成するユニットで、メモリ等が接続してもよい。
また、各プロセッサエレメントが特権レベルを保持して
いるが、当該特権レベルを示すデータのすべてのビット
を保持する必要はなく、バス使用要求時バスに送信する
バス要求値を生成するのに必要なビット数分だけ持てば
よい。例えば、上述した実施形態に述べたように、プロ
セッサエレメントがバスを要求するとき、バス要求信号
に伴い特権レベルデータの上記2ビットと“1”を結合
した3ビットのバス要求値をバスに出力するので、各プ
ロセッサエレメントに、少なくとも特権レベルデータの
上位2ビットを保持すればよい。
【0045】さらに、バス10に接続されている共通の
バス調停回路50において、バス使用要求を送信したプ
ロセッサエレメントのうち、特権レベル最大のものが複
数ある場合に、巡回優先順位に基づいて一つのプロセッ
サエレメントを選択しているが、この選択は別の方法に
よって行ってもよい。また、特権レベル最大のものを選
ぶ必要もなく、例えば、疑似的に特権レベル最大のもの
を選択してもよい。また、バス10を使用するプロセッ
サエレメントはバス10に、自分の持つ特権レベルデー
タの上位2ビットからなる3ビットのバス要求値を送信
しているが、このビット数はいくつでもよい。ただし、
0以上で、且つ特権レベルデータのビット数またはそれ
以下のビット数を持つデータを送信するものとする。
【0046】また、各プロセッサエレメントの特権レベ
ルデータは、例えば、バス調停回路50によりそれぞれ
設定することができ、バス調停回路50は、バス10を
介して、各プロセッサエレメントに特権レベルデータを
設定する制御信号を送信することもできる。さらに、各
プロセッサエレメントがバス10を介して任意のプロセ
ッサエレメントに特権レベルデータを設定する制御信号
を送信することができる。また、プロセッサエレメント
は直接自分の特権レベルデータを設定することもでき
る。プロセッサエレメントの特権レベルデータが変更さ
れたとき、バス調停回路50が保持する特権レベルデー
タも変更される。また、各プロセッサエレメントの特権
レベルデータは、各プロセッサエレメント毎に設けられ
た調停器に記憶してもよい。この場合に、バス10を使
用するプロセッサエレメントは、調停器を介してバス1
0にバス要求信号と自分の特権レベルに応じたバス要求
値を送信することができる。
【0047】
【発明の効果】以上説明したように、本発明のマルチプ
ロセッサおよびそのバス調停方法によれば、各プロセッ
サエレメントごとに調停器が設けられているため、バス
を使用するプロセッサエレメントを唯一に選択できれば
即座にそれを決定し、プロセッサエレメントに伝えるこ
とができ、高速な調停を実現できる。また、バスを使用
するプロセッサエレメントは、バス要求信号を送信する
際に、特権レベルの情報の一部、例えば、特権レベルデ
ータの一部からなるバス要求値をバスに送信するため、
バス調停回路でバスを使用するプロセッサエレメントを
決定できる可能性が高い。さらに、バスを使用するプロ
セッサエレメントが送信するバス要求値のビット数を大
きくすれば、各プロセッサエレメント毎に設けられた調
停器で決定できる確率が高くなり、共通のバス調停回路
で決定する場合よりも調停にかかる時間を短くすること
ができる。各々のプロセッサエレメントとは独立した共
通のバス調停回路を持つため、複雑な調停を行っても、
このバス調停回路のみの回路が大きくなるだけで、個々
のプロセッサエレメントに設けられた調停器には影響を
与えない。即ち、複雑なアルゴリズムを持つ調停回路の
実装が可能となる。また、各プロセッサエレメントの調
停器が対応するプロセッサエレメントの特権レベルデー
タのみを保持し、すべてのプロセッサエレメントの特権
レベルを保持する必要がなく、バス調停回路が保持すれ
ばよいため、特権レベルの変更があった場合、バス調停
回路のみにそれを伝えればよく、バスの通信負荷を低減
できる利点がある。
【図面の簡単な説明】
【図1】本発明に係るマルチプロセッサの一実施形態を
示す回路図である。
【図2】プロセッサエレメントに設けられている調停器
の構成を示す回路図である。
【図3】共通のバス調停回路の構成を示す回路図であ
る。
【図4】プロセッサエレメントの動作を示すフローチャ
ートである。
【図5】プロセッサエレメント毎に設けられた調停器の
動作を示すフローチャートである。
【図6】バス調停回路の動作示すフローチャートであ
る。
【図7】単一バスのマルチプロセッサの構成を示す概念
図である。
【図8】集中型調停回路を有するマルチプロセッサの構
成例を示す回路図である。
【図9】分散型調停回路を有するマルチプロセッサの構
成例を示す回路図である。
【符号の説明】
10…バス、20−1,20−2,…,20−N…プロ
セッサエレメント(PE)、30−1,30−2,…,
30−N…調停器、40…調停器、50…バス調停回
路。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサエレメントがそれぞれ独
    立に動作し、共通のバスを用いて情報の伝達を行うマル
    チプロセッサであって、 上記プロセッサエレメントがバスを使用するとき、当該
    プロセッサエレメントの特権レベルに応じたバス要求値
    を生成する要求値生成回路と、 上記プロセッサエレメントがバスを使用するとき、バス
    要求信号と上記バス要求値を上記バスに送信する送信回
    路と、 上記プロセッサエレメントが上記バス要求信号を送信し
    たとき、上記バスの使用状況および上記バス要求信号を
    送信したプロセッサエレメントのバス要求値に応じて、
    バス使用の可否を判断する制御回路と、 上記バスに接続され、上記バスに複数のプロセッサエレ
    メントから上記バス要求信号が送信された、かつ上記制
    御回路が優先的にバスの使用をする一のプロセッサエレ
    メントを特定出来ない場合に、バス使用状況または上記
    バス要求信号を送信した各プロセッサエレメントの特権
    レベルに応じて、バスを使用するプロセッサエレメント
    を決定するバス調停回路とを有するマルチプロセッサ。
  2. 【請求項2】上記要求値生成回路は、上記各プロセッサ
    エレメントに対応して、各プロセッサエレメント毎に設
    けられている請求項1記載のマルチプロセッサ。
  3. 【請求項3】上記送信回路は、上記各プロセッサエレメ
    ントに対応して、各プロセッサエレメント毎に設けられ
    ている請求項1記載のマルチプロセッサ。
  4. 【請求項4】上記制御回路は、上記各プロセッサエレメ
    ントに対応して、各プロセッサエレメント毎に設けられ
    ている請求項1記載のマルチプロセッサ。
  5. 【請求項5】上記各プロセッサエレメント毎に、当該プ
    ロセッサエレメントの特権レベルを示すM(M≧1、M
    は整数である)ビットの特権レベルデータを記憶する記
    憶回路を有する請求項1記載のマルチプロセッサ。
  6. 【請求項6】上記要求値生成回路は、上記記憶回路に記
    憶されている上記特権レベルデータのうち、少なくとも
    上位m(m≦M、mは整数である)ビットを用いて上記
    バス要求値を生成する請求項5記載のマルチプロセッ
    サ。
  7. 【請求項7】上記バスに接続されている上記プロセッサ
    エレメントが全部でN(N≧2、Nは整数である)個の
    場合、上記バスのデータ幅は、少なくともm×Nビット
    である請求項6記載のマルチプロセッサ。
  8. 【請求項8】上記制御回路は、上記記憶回路に記憶され
    ている上記特権レベルデータを書き換える請求項5記載
    のマルチプロセッサ。
  9. 【請求項9】上記バス調停回路は、上記バスから複数の
    プロセッサエレメントからの上記バス要求信号を受信し
    たとき、上記バス要求信号を送信した各々のプロセッサ
    エレメントの特権レベルに応じて、バスを使用すべきプ
    ロセッサエレメントを判断する特権レベル判断回路を有
    する請求項1記載のマルチプロセッサ。
  10. 【請求項10】上記バス調停回路は、上記バスに接続さ
    れている各プロセッサエレメントの特権レベルデータを
    記憶する記憶回路を有する請求項1記載のマルチプロセ
    ッサ。
  11. 【請求項11】上記バス調停回路は、上記記憶回路に記
    憶されている上記各プロセッサエレメントの特権レベル
    データを書き換える制御回路を有する請求項10記載の
    マルチプロセッサ。
  12. 【請求項12】単一のバスに接続されている複数のプロ
    セッサエレメントに対して、バスの使用権を決定するバ
    ス調停方法であって、 各プロセッサエレメント毎にバスの使用の可否を判断す
    る制御回路を設け、 バスを使用するプロセッサエレメントによりバス要求信
    号と当該プロセッサエレメントの特権レベルに応じたバ
    ス要求値を上記バスに送信し、 プロセッサエレメントに設けられた上記制御回路によ
    り、バスの使用状況および上記プロセッサエレメントか
    らの上記バス要求値に応じて、上記プロセッサエレメン
    トに対してバス使用の可否を決定し、 上記バスに共通のバス調停回路を設け、 上記バスに複数の上記プロセッサエレメントからバス要
    求信号が送信され、かつ上記制御回路が優先的にバスの
    使用をする一のプロセッサエレメントを特定できない場
    合に、上記バス調停回路によりバスの使用状況および上
    記バス要求信号を送信した各プロセッサエレメントの特
    権レベルに応じて、バスを使用するプロセッサエレメン
    トを決定するマルチプロセッサのバス調停方法。
  13. 【請求項13】上記各プロセッサエレメントの特権レベ
    ルデータは、変更可能であり、外部からの指示信号もし
    くは上記プロセッサエレメントからの指示信号に応じて
    上記の特権レベルデータが変更される請求項12記載の
    マルチプロセッサのバス調停方法。
  14. 【請求項14】上記バス調停回路は、上記各プロセッサ
    エレメントの特権レベルデータを記憶する請求項12記
    載のマルチプロセッサのバス調停方法。
  15. 【請求項15】上記バス調停回路は、何れかのプロセッ
    サエレメントの特権レベルデータが変更されたとき、そ
    れに応じて上記記憶されているプロセッサエレメントの
    特権レベルを変更する請求項12記載のマルチプロセッ
    サのバス調停方法。
JP07579599A 1998-05-14 1999-03-19 マルチプロセッサおよびそのバス調停方法 Expired - Fee Related JP4099561B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07579599A JP4099561B2 (ja) 1998-05-14 1999-03-19 マルチプロセッサおよびそのバス調停方法
US09/310,942 US6339807B1 (en) 1998-05-14 1999-05-13 Multiprocessor system and the bus arbitrating method of the same

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13184298 1998-05-14
JP10-131842 1998-05-14
JP07579599A JP4099561B2 (ja) 1998-05-14 1999-03-19 マルチプロセッサおよびそのバス調停方法

Publications (2)

Publication Number Publication Date
JP2000035954A true JP2000035954A (ja) 2000-02-02
JP4099561B2 JP4099561B2 (ja) 2008-06-11

Family

ID=26416946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07579599A Expired - Fee Related JP4099561B2 (ja) 1998-05-14 1999-03-19 マルチプロセッサおよびそのバス調停方法

Country Status (2)

Country Link
US (1) US6339807B1 (ja)
JP (1) JP4099561B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096293B2 (en) 2003-06-26 2006-08-22 Samsung Electronics Co., Ltd. Dynamic bus arbitration method and bus arbiter
WO2009147731A1 (ja) * 2008-06-03 2009-12-10 富士通株式会社 データ転送装置、情報処理装置および制御方法
US9892067B2 (en) 2015-01-29 2018-02-13 International Business Machines Corporation Multiprocessor cache buffer management

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430640B1 (en) * 1997-03-07 2002-08-06 Virtual Resources Communications, Inc. Self-arbitrating, self-granting resource access
US7979766B2 (en) * 2004-09-08 2011-07-12 Centre For Development Of Telematics Architecture for a message bus
US20070094664A1 (en) * 2005-10-21 2007-04-26 Kimming So Programmable priority for concurrent multi-threaded processors
US8706936B2 (en) 2011-11-14 2014-04-22 Arm Limited Integrated circuit having a bus network, and method for the integrated circuit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168568A (en) * 1989-02-06 1992-12-01 Compaq Computer Corporation Delaying arbitration of bus access in digital computers
CA2073185A1 (en) * 1990-01-05 1991-07-06 Won S. Kim Parallel processor memory system
US5237567A (en) * 1990-10-31 1993-08-17 Control Data Systems, Inc. Processor communication bus
US5555413A (en) * 1995-02-17 1996-09-10 International Business Machines Corporation Computer system and method with integrated level and edge interrupt requests at the same interrupt priority
US5528767A (en) * 1995-03-21 1996-06-18 United Microelectronics Corp. Programmable multi-level bus arbitration apparatus in a data processing system
US5754877A (en) * 1996-07-02 1998-05-19 Sun Microsystems, Inc. Extended symmetrical multiprocessor architecture
US5805839A (en) * 1996-07-02 1998-09-08 Advanced Micro Devices, Inc. Efficient technique for implementing broadcasts on a system of hierarchical buses
US5996037A (en) * 1997-06-03 1999-11-30 Lsi Logic Corporation System and method for arbitrating multi-function access to a system bus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096293B2 (en) 2003-06-26 2006-08-22 Samsung Electronics Co., Ltd. Dynamic bus arbitration method and bus arbiter
WO2009147731A1 (ja) * 2008-06-03 2009-12-10 富士通株式会社 データ転送装置、情報処理装置および制御方法
JP5018964B2 (ja) * 2008-06-03 2012-09-05 富士通株式会社 データ転送装置、情報処理装置および制御方法
US9892067B2 (en) 2015-01-29 2018-02-13 International Business Machines Corporation Multiprocessor cache buffer management
US10169260B2 (en) 2015-01-29 2019-01-01 International Business Machines Corporation Multiprocessor cache buffer management

Also Published As

Publication number Publication date
US6339807B1 (en) 2002-01-15
JP4099561B2 (ja) 2008-06-11

Similar Documents

Publication Publication Date Title
KR100899951B1 (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US5255238A (en) First-in first-out semiconductor memory device
US6986005B2 (en) Low latency lock for multiprocessor computer system
EP0550147B1 (en) Method and apparatus for arbitration based on the availability of resources
US20110173399A1 (en) Distributed parallel messaging for multiprocessor systems
US20120079155A1 (en) Interleaved Memory Access from Multiple Requesters
JPH02144649A (ja) マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置
JPH0844681A (ja) 複数の処理装置により共用される資源の集中管理
JPH06261052A (ja) 共用バスのフロー制御装置
JPH0773137A (ja) 多レベル・バス・アービトレーションのための方法、アダプタおよびシステム
JP5360061B2 (ja) マルチプロセッサシステム及びその制御方法
US20100223409A1 (en) Bus arbitration apparatus and method
US20030229744A1 (en) Methods and structure for dynamic modifications to arbitration for a shared resource
JP2000035954A (ja) マルチプロセッサおよびそのバス調停方法
JP3082297B2 (ja) タスク制御方式
KR100451722B1 (ko) 직접 메모리 액세스 제어 장치
JP2518910B2 (ja) 記憶制御装置のアクセス制御方式
JP2000010934A (ja) マルチcpuシステムのバス調停システム
JP2694812B2 (ja) 調停システム
JPS60179865A (ja) 割込み受付け制御方式
JPH04178869A (ja) マルチプロセッサシステムの割込み制御装置とその割込み通信方法
JPS58151661A (ja) メモリ装置
JP2000201161A (ja) ア―ビトレ―ション制御回路
JPS61138360A (ja) 複合プロセツサシステムにおける処理の割当方式
JPS63121965A (ja) 優先順位判定方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080303

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees