JP3039918B2 - プロセッサシステム - Google Patents
プロセッサシステムInfo
- Publication number
- JP3039918B2 JP3039918B2 JP9053005A JP5300597A JP3039918B2 JP 3039918 B2 JP3039918 B2 JP 3039918B2 JP 9053005 A JP9053005 A JP 9053005A JP 5300597 A JP5300597 A JP 5300597A JP 3039918 B2 JP3039918 B2 JP 3039918B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- bus
- switch
- processor
- processing
- 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.)
- Expired - Fee Related
Links
Landscapes
- Multi Processors (AREA)
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、シングル・プロセ
ッサシステムまたはマルチ・プロセッサを構成するのに
好適なプロセッサシステムに関する。 【0002】 【従来の技術】従来、マルチ・プロセッサ・システム
は、例えば特開昭59−208666号公報に示される
ように、1つのCPUとメモリ、他のプロセッサエレメ
ントとマスタ・スレーブ動作するバス・スイッチ等から
成る。このような単一CPUによるプロセッサ・エレメ
ントで構成されるマルチ・プロセッサ・システムでは、
外乱の少ない専用タスク処理に関する限り問題はない
が、知能化された制御処理等システムに要求される処理
内容が高級化してくると、データベースやシステムステ
ータスの管理、データベースやセンサ情報に基づく知識
処理系の構成、多重割り込み処理、マルチ・ジョブ機能
等がバック・グラウンド的な処理系サポートが必須とな
り、リアルタイムマルチ・タスキング、マルチ・ジョブ
をサポートできる高級なオペレーティングシステム上で
高級言語によりそれらの処理を記述し、実行するのが一
般的である。 【0003】 【発明が解決しようとする課題】上述した従来のマルチ
・プロセッサ・システムにおいて、高速化のメインとな
るリアルタイム制御処理もマルチ・タスキングでサポー
トされるタスクの1つとして位置付けられるため、タス
ク・スイッチ・オーバーヘッドや並列処理スケジュール
の乱れ等からきめ細かな密結合並列処理を行えないのが
現状である。そのため、スーパーバイザ・システムとし
てスーパーミニコン等により知能処理系を並列処理によ
る制御処理系から分離する方式を採ることが多いが、並
列処理系と知能処理系の通信が疎になりがちであるこ
と、各プロセッサのローカルな内部ステータスを管理す
るのにオペレーティングシステムオーバーヘッドを要す
る知能処理の分散化、システム管理の分散化などの特性
が生かされず、実質的な価格性能比の低下をもたらすこ
と、制御処理系の処理性能の拡張に応じてそれに見合っ
た知能処理系の処理性能の拡張及び2系間の通信スルー
プット向上が図り難い等の問題がある。従って、特に制
御処理系の制御ループが高速化した場合、知能処理系と
制御処理系とで比較的大きなデータが高速に授受される
必要があり、ハードウェア構成上上記の問題が大きなネ
ックとなって価格性能比を著しく低下させることにな
る。 【0004】本発明の目的は、汎用的な処理に適したマ
ルチ・プロセッサ・システム又は単一プロセッサ・シス
テムの実質的な処理性能をバランス良く効率的に向上さ
せることが可能なプロセッサを提供することにある。 【0005】 【課題を解決するための手段】本発明は、共通バスと、
情報を処理する第1のプロセッサと、情報を処理する第
2のプロセッサと、前記第1のプロセッサと前記第2の
プロセッサとを切り替えて前記共通バスに接続するスイ
ッチ手段と、前記第1のプロセッサと前記第2のプロセ
ッサとの間に接続されたメモリ手段とを備え、前記メモ
リ手段は、前記第1のプロセッサ又は前記第2のプロセ
ッサのいずれかからの情報のストアと、他方のプロセッ
サによる該情報の参照とを可能とするように設けられた
ことを特徴とするプロセッサシステムを開示する。上記
発明によれば、2つのプロセッサ間でのローカルな情報
交換は、共通バスを介することなく、2つのプロセッサ
間に設けられたメモリ手段を通じて行うことができるた
め、共通バスでの競合が低減する。また、情報交換に際
して、2つのプロセッサはメモリ手段への情報のストア
と読み出しを互いに他方のプロセッサを拘束することな
く行うことができるため、情報の処理速度を向上させる
ことができる。また、制御演算のようなメイン処理と、
メイン処理のバックアップを行う、例えばシステム管理
のようなバックグラウンド処理とを分離し、第1のプロ
セッサにメイン処理を割り当て、第2のプロセッサにバ
ックグラウンド処理を割り当てるとよい。バックグラウ
ンド処理では、大半が2つのプロセッサ間のローカルな
通信でクローズするため、特に情報の処理速度を向上さ
せることができる。本発明は、第1の共通バスと、第1
の共通バスにつながる共有資源と、複数のプロセッサユ
ニットと、各プロセッサユニットに対応する第2の共通
バスと、各第2の共通バスを、第1の共通バスに並列に
つなぐか否かの選択を行うための、各第2の共通バスの
系路上に設けた第1のスイッチと、各第1のスイッチの
ON/OFFの信号を乗せるための制御ラインと、より
なると共に、上記各プロセッサユニットは、第1のロー
カルバスを経て供給される情報を処理する第1のCPU
と、第2のローカルバスを経て供給される情報を処理す
る第2のCPUと、前記第1、第2のCPUのいずれか
からの情報をストアし他方のCPUが該情報を参照可能
とするための、前記第1と第2のCPUとに接続された
メモリと、第1又は第2のCPUの要求によって、第1
のローカルバスを介して第1のCPUと自己プロセッサ
ユニット対応の第2の共通バスとの接続又は第2のロー
カルバスを介して第2のCPUとこの第2の共通バスと
の接続を行う第2のスイッチと、を含むものとしたプロ
セッサシステムを開示する。更に本発明は、第1の共通
バスと、第1の共通バス につながる共有資源と、複数
のプロセッサユニットと、各プロセッサユニットに対応
する第2の共通バスと、各第2の共通バスを第1の共通
バスに並列につなぐか否かの選択を行うための、各第2
の共有バスの系路上に設けた第1のスイッチと、各第1
のスイッチのON/OFFの信号を乗せるための制御ラ
インと、より成ると共に、上記各プロセッサユニット
は、第1のローカルバスを経て供給される情報を処理す
る第1のCPUと、第2のローカルバスを経て供給され
る情報を処理する第2のCPUと、前記第1、第2のC
PUのいずれかからの情報をストアし他方のCPUが該
情報を参照可能とするための、前記第1と第2のCPU
とに接続されたメモリと、常時は第1のローカルバスを
介して第2のCPUと自己プロセッサユニット対応の第
2の共通バスとの接続を行い、第1又は第2のCPUの
要求によって、第2のローカルバスを介して上記第2の
CPUとこの共通バスとの接続を行う第2のスイッチ
と、を含むものとしたプロセッサシステムを開示する。 【0006】本発明は、第1の共通バスと、第1の共通
バスにつながる共有資源と、複数のプロセッサユニット
と、各プロセッサユニットに対応する第2の共通バス
と、各第2の共通バスを、第1の共通バスに並列につな
ぐか否かの選択を行うための、各第2の共通バスの系路
上に設けた第1のスイッチと、各第1のスイッチのON
/OFFの信号を乗せるための制御ラインと、よりなる
と共に、上記各プロセッサユニットは、第1のローカル
バスを経て供給される情報を処理する第1のCPUと、
第2のローカルバスを経て供給される情報を処理する第
2のCPUと、前記第1、第2のCPUのいずれかから
の情報をストアし他方のCPUが該情報を参照可能とす
るための、前記第1と第2のCPUとに接続されたメモ
リと、常時は第1のローカルバスを介して第2のCPU
と自己プロセッサユニット対応の第2の共通バスとの接
続を行い、第1又は第2のCPUの要求によって、第2
のローカルバスを介して上記第2のCPUとこの共通バ
スとの接続を行う第2のスイッチと、を含むものとした
プロセッサユニットにおいて、第1、第2のスイッチを
介してのCPUが第1、第2の共通バスに第1のローカ
ルバスを介してつながっているときのプロセッサユニッ
トでは、第1のCPUは、第1、第2の共通バスと第1
のローカルバスを介して共有資源の制御演算を行い、第
2のCPUは、第1のCPUの知能処理やシステム管理
等のバックグラウンド処理を行うものとしたプロセッサ
システムを開示する。 【0007】 【発明の実施の形態】本発明のプロセッサはベース・プ
ロセッサ・エレメントに設けた2つのCPUを1つのプ
ロセッサのごとく動作させるハードウェア・アーキテク
チュアを提供する。また、制御処理系とデータベースや
センサ情報に基づく知能処理系の高い独立性に注目し
て、メインCPUのメイン処理系に制御処理系を割り当
てて制御演算等を他のベース・プロセッサ・エレメント
との密結合並列処理により実行させ、割り込み処理やシ
ステム管理、知識処理等、バックグラウンド的要素の強
い処理を知能処理系としてメインCPUのバックグラウ
ンド処理系及びバックグラウンドCPUに割り当てて、
メインCPUの制御処理系をバックアップする。それに
よって、タスク・スイッチ・オーバーヘッドや並列処理
を乱す割り込み要因をできるだけ取り除き、独立性の強
い2つの処理系を高効率で並列に運用することができる
ため、2台の処理性能を加算して実質的にベース・プロ
セッサ・エレメントの処理性能を2倍に向上させるとと
もに、ベース・プロセッサ・エレメントを複数結合する
マルチ・プロセッサ・システムにおいても、従来の2倍
の総合処理性能と、ベース・プロセッサ・エレメントの
増設に対応して制御処理系と知能処理系のバランスのと
れた処理性能拡張とを実現することができる。 【0008】以下、本発明の実施の態様を図面を参照し
て説明する。図1は本発明のプロセッサの構成を示すも
ので、この図において、マルチ・プロセッサ・システム
を構成するベース・プロセッサ・エレメント(BPE)
1の内部構成は、2つのCPU15、16(CPU0と
CPU1)から成り、この2つのCPU15、16間専
用の通信機構としてデュアルポートRAM(DPR)1
7と、他のベース・プロセッサ・エレメント(BPE)
との通信を行うためにいずれかのCPUを2つのCPU
間の共通バスであるBPEローカルバス12へ接続する
ために、共通バス・スイッチ制御回路22によって矛盾
なくスイッチ制御されるマルチ・プレクス・バスバッフ
ァ23とからなる共通バス・スイッチ24を設けてCP
U15、16間、およびベース・プロセッサ・エレメン
ト(BPE)間の通信処理を行う構造を採っている。ま
た、2つのCPU15、16は、それぞれにローカルメ
モリ18、20やローカルI/O19、21等を有し、
通常は独立して動作可能になっている。また、CPU間
の通信をサポートするデュアルポートRAM(DPR)
17の特徴として、互いのCPU15、16への通信用
割り込みライン32、33を持っており、それを利用し
たオーバーヘッドの小さいCPU15、16間通信機能
を挙げることができる。ベース・プロセッサ・エレメン
ト1のローカルバス12上にはベース・プロセッサ・エ
レメントのローカルメモリ6やローカルI/O7が接続
されると共に、他のベース・プロセッサ・エレメントと
の共通のバスラインを構成し、しかもシステム共有メモ
リ9やシステム共有I/O10が接続されるシステムバ
ス14に接続するためのシステムバス・スイッチ8が設
けられている。このシステムバス・スイッチ8はアービ
テーションライン13によってシステムバス14へのア
クセスに関するバス調停処理を行い、矛盾なくシステム
バス14上の共有資源を利用したり、他のベース・プロ
セッサ・エレメントとの通信処理を行ってベース・プロ
セッサ・エレメント間で並列処理を実行できるようにな
っている。 【0009】図5は、デュアルポートRAM(DPR)
17のハードウェアブロック図を示すもので、この図に
おいてデュアルポートRAM(DPR)17は2つのC
PU15、16間の共有される共有メモリとみなすこと
ができ、2つのCPU15、16のデュアルポートRA
M(DPR)へのアクセスを符号77〜80で示す各プ
ロセッサのアクセス要求信号、アクセス許可信号を使っ
て調停するアービタ60と、アービタ60からのイネー
ブル信号75、76に従ってCPUからのバス64、6
5を内部バス66へスイッチするバス・スイッチ61、
62と、内部バス66のアドレス、制御線をデコードし
メモリ・イネーブル信号81や割り込み制御信号73、
74を発生するデコーダ67と、これに加えて各CPU
への割り込み信号32、33をセット、リセットするた
めにデコータ67の発生する割り込み制御信号73、7
4によって動作するフリップ・フロップ68、69等か
ら成っている。特徴的なデュアルポートRAM(DP
R)のCPU間通信用割り込み機能は、デュアルポート
RAM(DPR)の特定の番地にCPU0へ割り込みを
発生するレジスタとCPU1へ割り込みを発生するレジ
スタをそれぞれ設けて、同時にそれらをお互いのCPU
への命令レジスタと定義して、命令の授受と割り込みの
発生とを同時に行う。CPU1がCPU0へ命令を伝達
する場合を例にとると、まずCPU1がCPU0に実行
させたい命令属性を自身のレジスタ等にセットしてそれ
をデュアルポートRAM(DPR)上のCPU0への命
令レジスタ(割り込み発生用レジスタ)にストアする
と、デコーダ67がCPU0への命令レジスタがアクセ
スされたことをデュアルポートRAM(DPR)の内部
バス67を監視しデコードすることによって知りCPU
0への命令レジスタ・アクセス信号パルスをアクセス信
号73を使って送出してフリップ・フロップ68にQの
反転出力(即ちQのバー。以下同じ)信号70の値をラ
ッチする。なお、初期状態はRESET信号72によっ
てQがHI、Qの反転出力がLOにセットされているた
め、上記の動作でQにLO、Qの反転出力にHIが出力
され、LOアクティブであるCPU0への割り込み信号
30がCPU0に対してアクティブになる。 【0010】次に割り込みを受け付けたCPU0は、自
身の割り込みサービスルーチンの中で、実行すべき命令
を得るために再びCPU0への命令レジスタを参照し、
指示されている命令を読み出すと、同様にしてデコーダ
67はそのアクセス状況を監視しておりCPU0への命
令レジスタ・アクセス信号パルスをアクセス信号73を
使いフリップ・フロップ68に対して出力して、HIで
あるQの反転出力70をラッチしQにHIを出力する。
即ち、CPU0への割り込み発生ライン32を非アクテ
ィブにする。上述のシーケンスにより一連の割り込み発
生から受け付けに至る動作とソフトウエア的な命令授受
に関する動作を同時にかつ最小のオーバーヘッドで実行
することができる。 【0011】図1に戻り、ベース・プロセッサ・エレメ
ント(BPE)1内のCPU0又はCPU1のバス28
又は29のうちいずれか1つを選択し、CPU0とCP
U1の共有バスとみなせるBPEローカルバス12とし
て出力するためのバス切換制御(バス・スイッチ)を行
う共通バス・スイッチ24は、前述したように共有バス
・スイッチ制御回路22とそれによって制御されるマル
チ・プレクス・バスバッファ23とから構成される。そ
のバス・スイッチ制御は、CPU0をマスタ、CPU1
をスレーブとした場合に簡単には図4に示すNOR回路
83、NAND回路84を備える共有バス・スイッチ・
ロジックにより行われる。その特徴的なバス・スイッチ
制御シーケンスを図2のタイムチャートとともに説明す
る。 【0012】まず2つのCPUのローカルバス28、2
9の獲得権は、常にそれぞれのCPU側にあり他のバス
の上のデハイスから侵害を受けることはない(図2の
A、H)。CPU0の共有バス(BPEローカルバス1
2)アクセス要求は図2のBに示すように常にアクティ
ブになっており、CPU1の共有バスアクセス要求は図
2のIに示すように常に必要に応じてアクティブにな
る。即ち、CPU1が共有バスを獲得している時以外
は、常にCPU0側が共有バスを獲得している。図2に
示す例ではIのaでCPU1が共有バスアクセス要求8
7を出力し、それを受けてCPU0がその時点で実行し
ている命令処理を終え共有バス権を放棄できる状態にな
ったら直ちに図2のDのaでホールト・アクノリッジ8
2を出力して、図2のEのaでCPU0共有バス・アク
セス許可信号85(ゲート83でドライブされる)を非
アクティブにするとともに図2のFのaに示すように共
有バスを放棄する。また、図2のCのaでCPU0自身
はホールト状態に入り、同時に図2のJのaでCPU1
の共有バス・アクセス許可信号86(ゲート84によっ
てドライブされる)がアクティブになって図2のKのa
に示すようにバス・スイッチ・バッファ23のCPU1
側が選択され、CPU1に共有バスの使用権が移る。C
PU1が共有バスの使用を終えて共有バスを放棄しても
よい時刻になったら、CPU1共有バス・アクセス要求
87を図2のIのbに示すように非アクティブにする。
すると直ちに図2のEのbでCPU0共有バス・アクセ
ス許可信号85がアクティブになってバス・スイッチ・
バッファ23のCPU0側が選択され、CPU0に共有
バスの使用権が移った後、図2のDのbでCPU0のホ
ールト・アクノリッジが解除され、図2のCのbでCP
U0はホールト状態から実働状態へ移行する。図2のG
及びLはCPU0及びCPU1それぞれの実働状態を示
している。上述したようなマスタ(CPU0)、スレー
ブ(CPU1)動作を行うため、CPU0はCPU1に
共有バスの使用権が移っている間(図2のFのa−Fの
b)と、バススイッチを行いかつバスの電気的、タイミ
ング的特性を矛盾なく調整するわずかの間(図2のFの
b−Bのb)との合計時間ホールト状態となり実働しな
い。即ち、実働権から云えば、CPU1の方がマスタ的
に動作することになる。ホールト時間が長くなりすぎて
CPU0の動作が妨げられないように、1データ転送ご
とに共有バスの使用権をCPU0へ移すモードを設けて
いる。しかし、後述するように、CPU0をメインCP
Uとして、CPU1を知能処理等を行うバック・グラウ
ンドCPUとしてCPU0を支援する形で使用し、かつ
マルチ・プロセッサ構成を採った場合にベース・プロセ
ッサ・エレメント(BPE)単位で機能分散構造の分散
知識ベース形態を採用することによって多くの必要デー
タは自身の近くから入手可能となり、大半のデータ通信
はデュアルポートRAM(DPR)を利用して行うこと
ができる。そのため、ベース・プロセッサ・エレメント
(BPE)間で知識情報の交信を行う率は、CPU0が
密結合並列処理のため他のベース・プロセッサ・エレメ
ント(BPE)と情報の交信を行う率に比べて十分小さ
く、本発明によるCPU0の処理能力損失はごくわずか
であるとみなすことができる。また、CPU処理のバッ
クアップやシステム管理を行うものとしてCPU1の役
割を固定した場合は、CPU0の動作制御権をCPU1
に持たせる方が管理面等で有効であり、本発明の共有バ
ス制御は、上述したようなローカル分散処理に適したも
のであるといえる。次に上述した本発明のプロセッサの
一般動作を図2により詳述する。 【0013】図3はCPU0がメインの制御演算を行
い、CPU1が知識ベース(分散型)センサ情報等に基
づく知能処理やシステム管理を行いCPU0をバックグ
ラウンドでバックアップするものとし、ローカル分散処
理を行うと仮定している。また、マルチ・プロセッサ構
成を採っている場合は、各ベース・プロセッサ・エレメ
ント(BPE)は他のベース・プロセッサ・エレメント
(BPE)とともにメインでは密結合並列処理、バック
グラウンドでは疎結合並列処理を行うものと仮定してい
る。35は時間軸に沿ったCPU1の処理の流れを示し
ており、36、37、38は同様にCPU0の処理の流
れを示している。共有資源としては、ベース・プロセッ
サ・エレメント(BPE)内のCPU0、CPU1間の
ローカルな共有メモリであるデュアルポートRAM(D
PR)と、マルチ・プロセッサ構成の場合すべてのベー
ス・プロセッサ・エレメント(BPE)からアクセス可
能なシステムバス14上のシステム共有資源とがある。
47、48、54、59がCPU0とDPRとの通信を
示し、46、53、56、58がCPU1とDPRとの
通信を示している。同様に、57がCPU0とシステム
共有資源、51がCPU1とシステム共有資源との通信
を示しており、システム共有資源側から観測すればいず
れも、ベース・プロセッサ・エレメント(BPE)から
のアクセスとみなされる。また、50がデュアルポート
RAM(DPR)上の割り込み機能を利用したCPU0
への割り込みを示し、55が同様にCPU1への割り込
みを示している。49はCPU1からCPU0へ共有バ
ス・アクセス要求信号と、それに対応するCPU0から
の共有バス・アクセス許可信号とのハンドシェークの状
況を示しており、52は一旦CPU1によって獲得され
た共有バスが放棄されその使用権が再びCPU0へ移る
様子を示している。88、89は他のBPEからのシス
テム共有資源へのアクセスを示している。90、91は
知識の一部分としてCPU1の処理中に外界情報である
ローカルなセンサ情報が取り込まれている様子を示して
おり、同様に、92、93は他のBPEにも共有されて
いる共有センサ情報がCPU0、CPU1に取り込まれ
ている様子を示している。CPU0及びCPU1の処理
内容については、CPU0はメイン処理系で、他のベー
ス・プロセッサ・エレメント(BPE)のCPU0とと
もに知能機械システムの一部分、例えば人間形知能ロボ
ットの腕の部分の制御を行うために必要な数多くの制御
演算タスクをできるだけ並列度が向上するように分担し
合い高効率の密結合並列処理36b、38bを実行して
いるものとし、演算プロセッサ等の補助プロセッサへ処
理を依頼した後の空き時間や、他のベース・プロセッサ
・エレメント(BPE)との同期処理時に生ずる空き時
間及び、他のベース・プロセッサ・エレメントBPEや
CPU1及び共有資源からの割り込みによる処理依頼時
にバックグラウンド処理系としてCPU1と共同で36
a、38aに示す知能処理、システム管理等を行い、C
PU1の処理35と合わせて知能処理系を構成する。こ
のベース・プロセッサ・エレメント(BPE)で実行さ
れる知能処理系は、腕部分のうちのさらに一部分、例え
ば筋肉部分に関する情報群がデータベースとして保持さ
れており、ローカル・センサ情報もそれに関連の深いも
のが知覚情報として取り込まれ、それらによって構成さ
れるローカル機能分散データベースを基本にして筋肉部
分に関する知能処理を実行し、メイン処理系で実行され
ている制御演算全体をバックアップするものとしてい
る。 【0014】以上のような仮定に基づくシステムにおい
て、図3に示すCPU0及びCPU1の処理の流れを簡
単に追ってみる。まずCPU0及びCPU1はそれぞれ
図3に示す処理36、35を実行しており、CPU1は
早急にCPU0との通信の必要が生じて39の時点でデ
ュアルポートRAM(DPR)に通信メッセージを書き
込み、通信内容を命令としてCPU0への命令レジスタ
へ書き込む操作46を行う。それに対応して、CPU0
への割り込み50が生じ、CPU0のバックグラウンド
処理系でデュアルポートRAM(DPR)がアクセスさ
れ必要な情報の通信47が行われる。40の時点では、
CPU0が、ハンドシェークする必要のないCPU間の
共有データをたれ流し的にデュアルポートRAM(DP
R)へ書き込んだり、デュアルポートRAM(DPR)
から読み出したりしている。種々のセンサ情報も、セン
サ側が主体となって割り込みにより逐次処理されたり、
必要に応じてプログラム中で参照されたりして知識の一
部として取り込まれる。次にCPU1が他のベース・プ
ロセッサ・エレメント(BPE)との交信を行うためシ
ステム共有資源との通信の必要が生じ、49で共有バス
(BPEローカルバス)12の使用権を獲得し、41の
時点でシステム共有メモリとの通信51を行い、完了し
たら52で共通バスの使用権を再びCPU0へ移してい
る。その間CPU0はホールト状態37に保たれ、52
によりホールト状態が解除されると処理36の続きであ
る処理38を続行する。以後、42の時点ではCPU1
とデュアルポートRAM(DPR)でCPU間共有デー
タのたれ流し通信が行われ、43の時点ではCPU0か
らCPU1へ命令付きのハンドシェーク・データの通信
が39と同様に実行されている。44ではCPU0とシ
ステム共有資源との通信57が行われており、通信内容
は、バックグラウンド処理38aにおいては知能処理に
関する通信、メイン処理38bにおいては、制御演算等
に関する密結合並列処理データの通信が行われ、その際
CPU1の処理や動作への影響は全くない。45は、C
PU0及びCPU1のデュアルポートRAM(DPR)
とのたれ流し通信がほぼ同時刻に行われている様子を示
しているが、アービタ60による適切なアービテーショ
ン・コントロールによってお互いの処理や動作に何の支
障もなく通信処理が実行されている。 【0015】以上のような、ローカルな分散データベー
スにより知能処理系及びそれにバックアップされた制御
処理系を本発明のプロセッサにより実現する場合、大半
の知能処理はデュアルポートRAM(DPR)を介して
ベース・プロセッサ・エレメント(BPE)内のCPU
間で実行すればよく、たまにその処理結果や他のベース
・プロセッサ・エレメント(BPE)による知能処理結
果をやりとりするためにシステム共有資源をアクセスす
ればよいため、システム内の通信ノード間でごく自然に
最良の通信スループットを実現できるとともに、それに
よって制御処理系と知能処理系がほぼ完全に独立して並
列動作できるため処理性能を確実に2倍化することが可
能となる。また、BPEを増設することで、知能処理系
の処理性能と、制御処理系の処理性能が比例して増加
し、常に両者のバランスのとれた処理性能を提供するこ
とができる。 【0016】本発明の実施の態様によれば、マルチ・プ
ロセッサ・システム又は単一プロセッサ・システムの基
本となるプロセッサ・エレメント(ベース・プロセッサ
・エレメント:BPE)を2つのCPUで構成し、それ
らを割り込み機能付のデュアルポートRAM(DPR)
と、マスタ・スレーブ動作により外部から観測した場
合、単一のCPUのごとく見える双方のCPUから共通
に利用可能な共通バスとで接続し、独立性の高いメイン
処理系とバックグラウンド処理系とを分離して2つのC
PUにそれぞれ受け持たせ、2つのCPU間でのローカ
ルな情報交換はデュアルポートRAM(DPR)を介し
て行い、マルチ・プロセッサ構成の場合の他のベース・
プロセッサ・エレメント(BPE)との通信は共通バス
(BPEローカルバス)を通してシステムバス上のシス
テム共有資源を介して行うことによりBPEの性能を実
質的に2倍化している。 【0017】また、本発明のプロセッサを使用してマル
チ・プロセッサ・システムを構成する場合、バックグラ
ウンド処理系のデータベースを機能分散化して各BPE
単位で持つことにより、バックグラウンド処理系におい
ては大半がプロセッサ内のローカルな通信でクローズし
他のプロセッサと頻繁に通信を行う必要がなく、それに
より通信ノード間での通信スループットが最適化される
ためメインで実行されている密結合並列処理に大きな影
響を与えることなくメイン処理系及びバックグラウンド
処理系の双方でごく自然に高効率な並列処理を行うこと
ができる。さらに、本発明のプロセッサの増設により、
常にメイン処理及びバックグラウンド処理系双方でバラ
ンスのとれた処理能力向上が図れる。 【0018】 【発明の効果】以上述べたように、本発明によれば、汎
用的な処理に適したマルチ・プロセッサ・システム又は
単一プロセッサシステムの実質的な処理性能をバランス
良く効率的に向上させることができる。また本発明によ
れば、共通バスでの競合が低減するとともに、2つの情
報処理手段間での情報交換に際して、各情報処理手段は
メモリ手段への情報のストアと読み出しを互いに他方の
情報処理手段を拘束することなく行うことができる。従
って、通信のスループットの向上と情報の処理速度の向
上が図られる。
ッサシステムまたはマルチ・プロセッサを構成するのに
好適なプロセッサシステムに関する。 【0002】 【従来の技術】従来、マルチ・プロセッサ・システム
は、例えば特開昭59−208666号公報に示される
ように、1つのCPUとメモリ、他のプロセッサエレメ
ントとマスタ・スレーブ動作するバス・スイッチ等から
成る。このような単一CPUによるプロセッサ・エレメ
ントで構成されるマルチ・プロセッサ・システムでは、
外乱の少ない専用タスク処理に関する限り問題はない
が、知能化された制御処理等システムに要求される処理
内容が高級化してくると、データベースやシステムステ
ータスの管理、データベースやセンサ情報に基づく知識
処理系の構成、多重割り込み処理、マルチ・ジョブ機能
等がバック・グラウンド的な処理系サポートが必須とな
り、リアルタイムマルチ・タスキング、マルチ・ジョブ
をサポートできる高級なオペレーティングシステム上で
高級言語によりそれらの処理を記述し、実行するのが一
般的である。 【0003】 【発明が解決しようとする課題】上述した従来のマルチ
・プロセッサ・システムにおいて、高速化のメインとな
るリアルタイム制御処理もマルチ・タスキングでサポー
トされるタスクの1つとして位置付けられるため、タス
ク・スイッチ・オーバーヘッドや並列処理スケジュール
の乱れ等からきめ細かな密結合並列処理を行えないのが
現状である。そのため、スーパーバイザ・システムとし
てスーパーミニコン等により知能処理系を並列処理によ
る制御処理系から分離する方式を採ることが多いが、並
列処理系と知能処理系の通信が疎になりがちであるこ
と、各プロセッサのローカルな内部ステータスを管理す
るのにオペレーティングシステムオーバーヘッドを要す
る知能処理の分散化、システム管理の分散化などの特性
が生かされず、実質的な価格性能比の低下をもたらすこ
と、制御処理系の処理性能の拡張に応じてそれに見合っ
た知能処理系の処理性能の拡張及び2系間の通信スルー
プット向上が図り難い等の問題がある。従って、特に制
御処理系の制御ループが高速化した場合、知能処理系と
制御処理系とで比較的大きなデータが高速に授受される
必要があり、ハードウェア構成上上記の問題が大きなネ
ックとなって価格性能比を著しく低下させることにな
る。 【0004】本発明の目的は、汎用的な処理に適したマ
ルチ・プロセッサ・システム又は単一プロセッサ・シス
テムの実質的な処理性能をバランス良く効率的に向上さ
せることが可能なプロセッサを提供することにある。 【0005】 【課題を解決するための手段】本発明は、共通バスと、
情報を処理する第1のプロセッサと、情報を処理する第
2のプロセッサと、前記第1のプロセッサと前記第2の
プロセッサとを切り替えて前記共通バスに接続するスイ
ッチ手段と、前記第1のプロセッサと前記第2のプロセ
ッサとの間に接続されたメモリ手段とを備え、前記メモ
リ手段は、前記第1のプロセッサ又は前記第2のプロセ
ッサのいずれかからの情報のストアと、他方のプロセッ
サによる該情報の参照とを可能とするように設けられた
ことを特徴とするプロセッサシステムを開示する。上記
発明によれば、2つのプロセッサ間でのローカルな情報
交換は、共通バスを介することなく、2つのプロセッサ
間に設けられたメモリ手段を通じて行うことができるた
め、共通バスでの競合が低減する。また、情報交換に際
して、2つのプロセッサはメモリ手段への情報のストア
と読み出しを互いに他方のプロセッサを拘束することな
く行うことができるため、情報の処理速度を向上させる
ことができる。また、制御演算のようなメイン処理と、
メイン処理のバックアップを行う、例えばシステム管理
のようなバックグラウンド処理とを分離し、第1のプロ
セッサにメイン処理を割り当て、第2のプロセッサにバ
ックグラウンド処理を割り当てるとよい。バックグラウ
ンド処理では、大半が2つのプロセッサ間のローカルな
通信でクローズするため、特に情報の処理速度を向上さ
せることができる。本発明は、第1の共通バスと、第1
の共通バスにつながる共有資源と、複数のプロセッサユ
ニットと、各プロセッサユニットに対応する第2の共通
バスと、各第2の共通バスを、第1の共通バスに並列に
つなぐか否かの選択を行うための、各第2の共通バスの
系路上に設けた第1のスイッチと、各第1のスイッチの
ON/OFFの信号を乗せるための制御ラインと、より
なると共に、上記各プロセッサユニットは、第1のロー
カルバスを経て供給される情報を処理する第1のCPU
と、第2のローカルバスを経て供給される情報を処理す
る第2のCPUと、前記第1、第2のCPUのいずれか
からの情報をストアし他方のCPUが該情報を参照可能
とするための、前記第1と第2のCPUとに接続された
メモリと、第1又は第2のCPUの要求によって、第1
のローカルバスを介して第1のCPUと自己プロセッサ
ユニット対応の第2の共通バスとの接続又は第2のロー
カルバスを介して第2のCPUとこの第2の共通バスと
の接続を行う第2のスイッチと、を含むものとしたプロ
セッサシステムを開示する。更に本発明は、第1の共通
バスと、第1の共通バス につながる共有資源と、複数
のプロセッサユニットと、各プロセッサユニットに対応
する第2の共通バスと、各第2の共通バスを第1の共通
バスに並列につなぐか否かの選択を行うための、各第2
の共有バスの系路上に設けた第1のスイッチと、各第1
のスイッチのON/OFFの信号を乗せるための制御ラ
インと、より成ると共に、上記各プロセッサユニット
は、第1のローカルバスを経て供給される情報を処理す
る第1のCPUと、第2のローカルバスを経て供給され
る情報を処理する第2のCPUと、前記第1、第2のC
PUのいずれかからの情報をストアし他方のCPUが該
情報を参照可能とするための、前記第1と第2のCPU
とに接続されたメモリと、常時は第1のローカルバスを
介して第2のCPUと自己プロセッサユニット対応の第
2の共通バスとの接続を行い、第1又は第2のCPUの
要求によって、第2のローカルバスを介して上記第2の
CPUとこの共通バスとの接続を行う第2のスイッチ
と、を含むものとしたプロセッサシステムを開示する。 【0006】本発明は、第1の共通バスと、第1の共通
バスにつながる共有資源と、複数のプロセッサユニット
と、各プロセッサユニットに対応する第2の共通バス
と、各第2の共通バスを、第1の共通バスに並列につな
ぐか否かの選択を行うための、各第2の共通バスの系路
上に設けた第1のスイッチと、各第1のスイッチのON
/OFFの信号を乗せるための制御ラインと、よりなる
と共に、上記各プロセッサユニットは、第1のローカル
バスを経て供給される情報を処理する第1のCPUと、
第2のローカルバスを経て供給される情報を処理する第
2のCPUと、前記第1、第2のCPUのいずれかから
の情報をストアし他方のCPUが該情報を参照可能とす
るための、前記第1と第2のCPUとに接続されたメモ
リと、常時は第1のローカルバスを介して第2のCPU
と自己プロセッサユニット対応の第2の共通バスとの接
続を行い、第1又は第2のCPUの要求によって、第2
のローカルバスを介して上記第2のCPUとこの共通バ
スとの接続を行う第2のスイッチと、を含むものとした
プロセッサユニットにおいて、第1、第2のスイッチを
介してのCPUが第1、第2の共通バスに第1のローカ
ルバスを介してつながっているときのプロセッサユニッ
トでは、第1のCPUは、第1、第2の共通バスと第1
のローカルバスを介して共有資源の制御演算を行い、第
2のCPUは、第1のCPUの知能処理やシステム管理
等のバックグラウンド処理を行うものとしたプロセッサ
システムを開示する。 【0007】 【発明の実施の形態】本発明のプロセッサはベース・プ
ロセッサ・エレメントに設けた2つのCPUを1つのプ
ロセッサのごとく動作させるハードウェア・アーキテク
チュアを提供する。また、制御処理系とデータベースや
センサ情報に基づく知能処理系の高い独立性に注目し
て、メインCPUのメイン処理系に制御処理系を割り当
てて制御演算等を他のベース・プロセッサ・エレメント
との密結合並列処理により実行させ、割り込み処理やシ
ステム管理、知識処理等、バックグラウンド的要素の強
い処理を知能処理系としてメインCPUのバックグラウ
ンド処理系及びバックグラウンドCPUに割り当てて、
メインCPUの制御処理系をバックアップする。それに
よって、タスク・スイッチ・オーバーヘッドや並列処理
を乱す割り込み要因をできるだけ取り除き、独立性の強
い2つの処理系を高効率で並列に運用することができる
ため、2台の処理性能を加算して実質的にベース・プロ
セッサ・エレメントの処理性能を2倍に向上させるとと
もに、ベース・プロセッサ・エレメントを複数結合する
マルチ・プロセッサ・システムにおいても、従来の2倍
の総合処理性能と、ベース・プロセッサ・エレメントの
増設に対応して制御処理系と知能処理系のバランスのと
れた処理性能拡張とを実現することができる。 【0008】以下、本発明の実施の態様を図面を参照し
て説明する。図1は本発明のプロセッサの構成を示すも
ので、この図において、マルチ・プロセッサ・システム
を構成するベース・プロセッサ・エレメント(BPE)
1の内部構成は、2つのCPU15、16(CPU0と
CPU1)から成り、この2つのCPU15、16間専
用の通信機構としてデュアルポートRAM(DPR)1
7と、他のベース・プロセッサ・エレメント(BPE)
との通信を行うためにいずれかのCPUを2つのCPU
間の共通バスであるBPEローカルバス12へ接続する
ために、共通バス・スイッチ制御回路22によって矛盾
なくスイッチ制御されるマルチ・プレクス・バスバッフ
ァ23とからなる共通バス・スイッチ24を設けてCP
U15、16間、およびベース・プロセッサ・エレメン
ト(BPE)間の通信処理を行う構造を採っている。ま
た、2つのCPU15、16は、それぞれにローカルメ
モリ18、20やローカルI/O19、21等を有し、
通常は独立して動作可能になっている。また、CPU間
の通信をサポートするデュアルポートRAM(DPR)
17の特徴として、互いのCPU15、16への通信用
割り込みライン32、33を持っており、それを利用し
たオーバーヘッドの小さいCPU15、16間通信機能
を挙げることができる。ベース・プロセッサ・エレメン
ト1のローカルバス12上にはベース・プロセッサ・エ
レメントのローカルメモリ6やローカルI/O7が接続
されると共に、他のベース・プロセッサ・エレメントと
の共通のバスラインを構成し、しかもシステム共有メモ
リ9やシステム共有I/O10が接続されるシステムバ
ス14に接続するためのシステムバス・スイッチ8が設
けられている。このシステムバス・スイッチ8はアービ
テーションライン13によってシステムバス14へのア
クセスに関するバス調停処理を行い、矛盾なくシステム
バス14上の共有資源を利用したり、他のベース・プロ
セッサ・エレメントとの通信処理を行ってベース・プロ
セッサ・エレメント間で並列処理を実行できるようにな
っている。 【0009】図5は、デュアルポートRAM(DPR)
17のハードウェアブロック図を示すもので、この図に
おいてデュアルポートRAM(DPR)17は2つのC
PU15、16間の共有される共有メモリとみなすこと
ができ、2つのCPU15、16のデュアルポートRA
M(DPR)へのアクセスを符号77〜80で示す各プ
ロセッサのアクセス要求信号、アクセス許可信号を使っ
て調停するアービタ60と、アービタ60からのイネー
ブル信号75、76に従ってCPUからのバス64、6
5を内部バス66へスイッチするバス・スイッチ61、
62と、内部バス66のアドレス、制御線をデコードし
メモリ・イネーブル信号81や割り込み制御信号73、
74を発生するデコーダ67と、これに加えて各CPU
への割り込み信号32、33をセット、リセットするた
めにデコータ67の発生する割り込み制御信号73、7
4によって動作するフリップ・フロップ68、69等か
ら成っている。特徴的なデュアルポートRAM(DP
R)のCPU間通信用割り込み機能は、デュアルポート
RAM(DPR)の特定の番地にCPU0へ割り込みを
発生するレジスタとCPU1へ割り込みを発生するレジ
スタをそれぞれ設けて、同時にそれらをお互いのCPU
への命令レジスタと定義して、命令の授受と割り込みの
発生とを同時に行う。CPU1がCPU0へ命令を伝達
する場合を例にとると、まずCPU1がCPU0に実行
させたい命令属性を自身のレジスタ等にセットしてそれ
をデュアルポートRAM(DPR)上のCPU0への命
令レジスタ(割り込み発生用レジスタ)にストアする
と、デコーダ67がCPU0への命令レジスタがアクセ
スされたことをデュアルポートRAM(DPR)の内部
バス67を監視しデコードすることによって知りCPU
0への命令レジスタ・アクセス信号パルスをアクセス信
号73を使って送出してフリップ・フロップ68にQの
反転出力(即ちQのバー。以下同じ)信号70の値をラ
ッチする。なお、初期状態はRESET信号72によっ
てQがHI、Qの反転出力がLOにセットされているた
め、上記の動作でQにLO、Qの反転出力にHIが出力
され、LOアクティブであるCPU0への割り込み信号
30がCPU0に対してアクティブになる。 【0010】次に割り込みを受け付けたCPU0は、自
身の割り込みサービスルーチンの中で、実行すべき命令
を得るために再びCPU0への命令レジスタを参照し、
指示されている命令を読み出すと、同様にしてデコーダ
67はそのアクセス状況を監視しておりCPU0への命
令レジスタ・アクセス信号パルスをアクセス信号73を
使いフリップ・フロップ68に対して出力して、HIで
あるQの反転出力70をラッチしQにHIを出力する。
即ち、CPU0への割り込み発生ライン32を非アクテ
ィブにする。上述のシーケンスにより一連の割り込み発
生から受け付けに至る動作とソフトウエア的な命令授受
に関する動作を同時にかつ最小のオーバーヘッドで実行
することができる。 【0011】図1に戻り、ベース・プロセッサ・エレメ
ント(BPE)1内のCPU0又はCPU1のバス28
又は29のうちいずれか1つを選択し、CPU0とCP
U1の共有バスとみなせるBPEローカルバス12とし
て出力するためのバス切換制御(バス・スイッチ)を行
う共通バス・スイッチ24は、前述したように共有バス
・スイッチ制御回路22とそれによって制御されるマル
チ・プレクス・バスバッファ23とから構成される。そ
のバス・スイッチ制御は、CPU0をマスタ、CPU1
をスレーブとした場合に簡単には図4に示すNOR回路
83、NAND回路84を備える共有バス・スイッチ・
ロジックにより行われる。その特徴的なバス・スイッチ
制御シーケンスを図2のタイムチャートとともに説明す
る。 【0012】まず2つのCPUのローカルバス28、2
9の獲得権は、常にそれぞれのCPU側にあり他のバス
の上のデハイスから侵害を受けることはない(図2の
A、H)。CPU0の共有バス(BPEローカルバス1
2)アクセス要求は図2のBに示すように常にアクティ
ブになっており、CPU1の共有バスアクセス要求は図
2のIに示すように常に必要に応じてアクティブにな
る。即ち、CPU1が共有バスを獲得している時以外
は、常にCPU0側が共有バスを獲得している。図2に
示す例ではIのaでCPU1が共有バスアクセス要求8
7を出力し、それを受けてCPU0がその時点で実行し
ている命令処理を終え共有バス権を放棄できる状態にな
ったら直ちに図2のDのaでホールト・アクノリッジ8
2を出力して、図2のEのaでCPU0共有バス・アク
セス許可信号85(ゲート83でドライブされる)を非
アクティブにするとともに図2のFのaに示すように共
有バスを放棄する。また、図2のCのaでCPU0自身
はホールト状態に入り、同時に図2のJのaでCPU1
の共有バス・アクセス許可信号86(ゲート84によっ
てドライブされる)がアクティブになって図2のKのa
に示すようにバス・スイッチ・バッファ23のCPU1
側が選択され、CPU1に共有バスの使用権が移る。C
PU1が共有バスの使用を終えて共有バスを放棄しても
よい時刻になったら、CPU1共有バス・アクセス要求
87を図2のIのbに示すように非アクティブにする。
すると直ちに図2のEのbでCPU0共有バス・アクセ
ス許可信号85がアクティブになってバス・スイッチ・
バッファ23のCPU0側が選択され、CPU0に共有
バスの使用権が移った後、図2のDのbでCPU0のホ
ールト・アクノリッジが解除され、図2のCのbでCP
U0はホールト状態から実働状態へ移行する。図2のG
及びLはCPU0及びCPU1それぞれの実働状態を示
している。上述したようなマスタ(CPU0)、スレー
ブ(CPU1)動作を行うため、CPU0はCPU1に
共有バスの使用権が移っている間(図2のFのa−Fの
b)と、バススイッチを行いかつバスの電気的、タイミ
ング的特性を矛盾なく調整するわずかの間(図2のFの
b−Bのb)との合計時間ホールト状態となり実働しな
い。即ち、実働権から云えば、CPU1の方がマスタ的
に動作することになる。ホールト時間が長くなりすぎて
CPU0の動作が妨げられないように、1データ転送ご
とに共有バスの使用権をCPU0へ移すモードを設けて
いる。しかし、後述するように、CPU0をメインCP
Uとして、CPU1を知能処理等を行うバック・グラウ
ンドCPUとしてCPU0を支援する形で使用し、かつ
マルチ・プロセッサ構成を採った場合にベース・プロセ
ッサ・エレメント(BPE)単位で機能分散構造の分散
知識ベース形態を採用することによって多くの必要デー
タは自身の近くから入手可能となり、大半のデータ通信
はデュアルポートRAM(DPR)を利用して行うこと
ができる。そのため、ベース・プロセッサ・エレメント
(BPE)間で知識情報の交信を行う率は、CPU0が
密結合並列処理のため他のベース・プロセッサ・エレメ
ント(BPE)と情報の交信を行う率に比べて十分小さ
く、本発明によるCPU0の処理能力損失はごくわずか
であるとみなすことができる。また、CPU処理のバッ
クアップやシステム管理を行うものとしてCPU1の役
割を固定した場合は、CPU0の動作制御権をCPU1
に持たせる方が管理面等で有効であり、本発明の共有バ
ス制御は、上述したようなローカル分散処理に適したも
のであるといえる。次に上述した本発明のプロセッサの
一般動作を図2により詳述する。 【0013】図3はCPU0がメインの制御演算を行
い、CPU1が知識ベース(分散型)センサ情報等に基
づく知能処理やシステム管理を行いCPU0をバックグ
ラウンドでバックアップするものとし、ローカル分散処
理を行うと仮定している。また、マルチ・プロセッサ構
成を採っている場合は、各ベース・プロセッサ・エレメ
ント(BPE)は他のベース・プロセッサ・エレメント
(BPE)とともにメインでは密結合並列処理、バック
グラウンドでは疎結合並列処理を行うものと仮定してい
る。35は時間軸に沿ったCPU1の処理の流れを示し
ており、36、37、38は同様にCPU0の処理の流
れを示している。共有資源としては、ベース・プロセッ
サ・エレメント(BPE)内のCPU0、CPU1間の
ローカルな共有メモリであるデュアルポートRAM(D
PR)と、マルチ・プロセッサ構成の場合すべてのベー
ス・プロセッサ・エレメント(BPE)からアクセス可
能なシステムバス14上のシステム共有資源とがある。
47、48、54、59がCPU0とDPRとの通信を
示し、46、53、56、58がCPU1とDPRとの
通信を示している。同様に、57がCPU0とシステム
共有資源、51がCPU1とシステム共有資源との通信
を示しており、システム共有資源側から観測すればいず
れも、ベース・プロセッサ・エレメント(BPE)から
のアクセスとみなされる。また、50がデュアルポート
RAM(DPR)上の割り込み機能を利用したCPU0
への割り込みを示し、55が同様にCPU1への割り込
みを示している。49はCPU1からCPU0へ共有バ
ス・アクセス要求信号と、それに対応するCPU0から
の共有バス・アクセス許可信号とのハンドシェークの状
況を示しており、52は一旦CPU1によって獲得され
た共有バスが放棄されその使用権が再びCPU0へ移る
様子を示している。88、89は他のBPEからのシス
テム共有資源へのアクセスを示している。90、91は
知識の一部分としてCPU1の処理中に外界情報である
ローカルなセンサ情報が取り込まれている様子を示して
おり、同様に、92、93は他のBPEにも共有されて
いる共有センサ情報がCPU0、CPU1に取り込まれ
ている様子を示している。CPU0及びCPU1の処理
内容については、CPU0はメイン処理系で、他のベー
ス・プロセッサ・エレメント(BPE)のCPU0とと
もに知能機械システムの一部分、例えば人間形知能ロボ
ットの腕の部分の制御を行うために必要な数多くの制御
演算タスクをできるだけ並列度が向上するように分担し
合い高効率の密結合並列処理36b、38bを実行して
いるものとし、演算プロセッサ等の補助プロセッサへ処
理を依頼した後の空き時間や、他のベース・プロセッサ
・エレメント(BPE)との同期処理時に生ずる空き時
間及び、他のベース・プロセッサ・エレメントBPEや
CPU1及び共有資源からの割り込みによる処理依頼時
にバックグラウンド処理系としてCPU1と共同で36
a、38aに示す知能処理、システム管理等を行い、C
PU1の処理35と合わせて知能処理系を構成する。こ
のベース・プロセッサ・エレメント(BPE)で実行さ
れる知能処理系は、腕部分のうちのさらに一部分、例え
ば筋肉部分に関する情報群がデータベースとして保持さ
れており、ローカル・センサ情報もそれに関連の深いも
のが知覚情報として取り込まれ、それらによって構成さ
れるローカル機能分散データベースを基本にして筋肉部
分に関する知能処理を実行し、メイン処理系で実行され
ている制御演算全体をバックアップするものとしてい
る。 【0014】以上のような仮定に基づくシステムにおい
て、図3に示すCPU0及びCPU1の処理の流れを簡
単に追ってみる。まずCPU0及びCPU1はそれぞれ
図3に示す処理36、35を実行しており、CPU1は
早急にCPU0との通信の必要が生じて39の時点でデ
ュアルポートRAM(DPR)に通信メッセージを書き
込み、通信内容を命令としてCPU0への命令レジスタ
へ書き込む操作46を行う。それに対応して、CPU0
への割り込み50が生じ、CPU0のバックグラウンド
処理系でデュアルポートRAM(DPR)がアクセスさ
れ必要な情報の通信47が行われる。40の時点では、
CPU0が、ハンドシェークする必要のないCPU間の
共有データをたれ流し的にデュアルポートRAM(DP
R)へ書き込んだり、デュアルポートRAM(DPR)
から読み出したりしている。種々のセンサ情報も、セン
サ側が主体となって割り込みにより逐次処理されたり、
必要に応じてプログラム中で参照されたりして知識の一
部として取り込まれる。次にCPU1が他のベース・プ
ロセッサ・エレメント(BPE)との交信を行うためシ
ステム共有資源との通信の必要が生じ、49で共有バス
(BPEローカルバス)12の使用権を獲得し、41の
時点でシステム共有メモリとの通信51を行い、完了し
たら52で共通バスの使用権を再びCPU0へ移してい
る。その間CPU0はホールト状態37に保たれ、52
によりホールト状態が解除されると処理36の続きであ
る処理38を続行する。以後、42の時点ではCPU1
とデュアルポートRAM(DPR)でCPU間共有デー
タのたれ流し通信が行われ、43の時点ではCPU0か
らCPU1へ命令付きのハンドシェーク・データの通信
が39と同様に実行されている。44ではCPU0とシ
ステム共有資源との通信57が行われており、通信内容
は、バックグラウンド処理38aにおいては知能処理に
関する通信、メイン処理38bにおいては、制御演算等
に関する密結合並列処理データの通信が行われ、その際
CPU1の処理や動作への影響は全くない。45は、C
PU0及びCPU1のデュアルポートRAM(DPR)
とのたれ流し通信がほぼ同時刻に行われている様子を示
しているが、アービタ60による適切なアービテーショ
ン・コントロールによってお互いの処理や動作に何の支
障もなく通信処理が実行されている。 【0015】以上のような、ローカルな分散データベー
スにより知能処理系及びそれにバックアップされた制御
処理系を本発明のプロセッサにより実現する場合、大半
の知能処理はデュアルポートRAM(DPR)を介して
ベース・プロセッサ・エレメント(BPE)内のCPU
間で実行すればよく、たまにその処理結果や他のベース
・プロセッサ・エレメント(BPE)による知能処理結
果をやりとりするためにシステム共有資源をアクセスす
ればよいため、システム内の通信ノード間でごく自然に
最良の通信スループットを実現できるとともに、それに
よって制御処理系と知能処理系がほぼ完全に独立して並
列動作できるため処理性能を確実に2倍化することが可
能となる。また、BPEを増設することで、知能処理系
の処理性能と、制御処理系の処理性能が比例して増加
し、常に両者のバランスのとれた処理性能を提供するこ
とができる。 【0016】本発明の実施の態様によれば、マルチ・プ
ロセッサ・システム又は単一プロセッサ・システムの基
本となるプロセッサ・エレメント(ベース・プロセッサ
・エレメント:BPE)を2つのCPUで構成し、それ
らを割り込み機能付のデュアルポートRAM(DPR)
と、マスタ・スレーブ動作により外部から観測した場
合、単一のCPUのごとく見える双方のCPUから共通
に利用可能な共通バスとで接続し、独立性の高いメイン
処理系とバックグラウンド処理系とを分離して2つのC
PUにそれぞれ受け持たせ、2つのCPU間でのローカ
ルな情報交換はデュアルポートRAM(DPR)を介し
て行い、マルチ・プロセッサ構成の場合の他のベース・
プロセッサ・エレメント(BPE)との通信は共通バス
(BPEローカルバス)を通してシステムバス上のシス
テム共有資源を介して行うことによりBPEの性能を実
質的に2倍化している。 【0017】また、本発明のプロセッサを使用してマル
チ・プロセッサ・システムを構成する場合、バックグラ
ウンド処理系のデータベースを機能分散化して各BPE
単位で持つことにより、バックグラウンド処理系におい
ては大半がプロセッサ内のローカルな通信でクローズし
他のプロセッサと頻繁に通信を行う必要がなく、それに
より通信ノード間での通信スループットが最適化される
ためメインで実行されている密結合並列処理に大きな影
響を与えることなくメイン処理系及びバックグラウンド
処理系の双方でごく自然に高効率な並列処理を行うこと
ができる。さらに、本発明のプロセッサの増設により、
常にメイン処理及びバックグラウンド処理系双方でバラ
ンスのとれた処理能力向上が図れる。 【0018】 【発明の効果】以上述べたように、本発明によれば、汎
用的な処理に適したマルチ・プロセッサ・システム又は
単一プロセッサシステムの実質的な処理性能をバランス
良く効率的に向上させることができる。また本発明によ
れば、共通バスでの競合が低減するとともに、2つの情
報処理手段間での情報交換に際して、各情報処理手段は
メモリ手段への情報のストアと読み出しを互いに他方の
情報処理手段を拘束することなく行うことができる。従
って、通信のスループットの向上と情報の処理速度の向
上が図られる。
【図面の簡単な説明】
【図1】本発明のプロセッサにおけるベース・プロセッ
サ・エレメントの内部構成とそれによるマルチ・プロセ
ッサ・システムの一部分を示す図である。 【図2】本発明を構成するベース・プロセッサ・エレメ
ント内の2つのCPU間での共通バス(BPEローカ
ル)スイッチ・シーケンスを示す図である。 【図3】ベース・プロセッサ・エレメント内の2CPU
間での処理の流れを示す図である。 【図4】本発明を構成する共有バス・スイッチの基本ロ
ジック図である。 【図5】本発明を構成するデュアルポートRAMのロジ
ック・ブロック図である。 【符号の説明】 1 ベース・プロセッサ・エレメント(BPE) 8 システム・バス・スイッチ 14 システム・バス 15 CPU0(マスタ) 16 CPU1(スレーブ) 17 DPRロジック 24 共通バス・スイッチ 32 CPU0への命令割り込みライン 33 CPU1への命令割り込みライン 73 CPU0への割り込み発生用フリップ・フロップ 74 CPU1への割り込み発生用フリップ・フロップ 85 CPU0共通バスアクセス許可信号 86 CPU1共通バスアクセス許可信号
サ・エレメントの内部構成とそれによるマルチ・プロセ
ッサ・システムの一部分を示す図である。 【図2】本発明を構成するベース・プロセッサ・エレメ
ント内の2つのCPU間での共通バス(BPEローカ
ル)スイッチ・シーケンスを示す図である。 【図3】ベース・プロセッサ・エレメント内の2CPU
間での処理の流れを示す図である。 【図4】本発明を構成する共有バス・スイッチの基本ロ
ジック図である。 【図5】本発明を構成するデュアルポートRAMのロジ
ック・ブロック図である。 【符号の説明】 1 ベース・プロセッサ・エレメント(BPE) 8 システム・バス・スイッチ 14 システム・バス 15 CPU0(マスタ) 16 CPU1(スレーブ) 17 DPRロジック 24 共通バス・スイッチ 32 CPU0への命令割り込みライン 33 CPU1への命令割り込みライン 73 CPU0への割り込み発生用フリップ・フロップ 74 CPU1への割り込み発生用フリップ・フロップ 85 CPU0共通バスアクセス許可信号 86 CPU1共通バスアクセス許可信号
フロントページの続き
(56)参考文献 特開 昭57−174747(JP,A)
特開 昭60−254358(JP,A)
特開 昭60−173655(JP,A)
特開 昭58−211271(JP,A)
特開 昭53−93746(JP,A)
特開 昭60−33643(JP,A)
特開 昭57−130136(JP,A)
特開 昭59−220821(JP,A)
特開 昭59−167730(JP,A)
特開 昭61−11876(JP,A)
特開 昭57−162056(JP,A)
特開 昭58−211271(JP,A)
特開 昭51−54753(JP,A)
特開 昭54−50329(JP,A)
特開 昭56−145494(JP,A)
特開 昭57−136203(JP,A)
特開 昭57−152065(JP,A)
特開 昭60−120484(JP,A)
米国特許4495569(US,A)
Claims (1)
- (57)【特許請求の範囲】 1.共有資源が接続されたバスと、 惰報を処理する第1のCPUと、 惰報を処理する第2のCPUと、 前記第1のCPUと前記第2のCPUとを切り替えて前
記バスに接続するスイッチと、 前記第1のCPU及び前記第2のCPUとの間で情報の
ストアと読み出しとを可能にしたメモリと、 前記第1のCPUと前記第2のCPUとの間に設けら
れ、前記第1のCPUから前記メモリへのバスサイクル
と前記第2のCPUから前記メモリへのバスサイクルと
を調停するアービタと、 上記スイッチの切換制御、及びアービタの調停制御を行
うために、上記スイッチ及びアービタヘ第1、第2のC
PUからの信号を入力する手段と、 を備えたことを特微とするプロセッサシステム。 2.共有資源が接続された共有バスと、 情報を処理する第1のCPUと、 情報を処理する第2のCPUと、 前記第1のCPUにつながる第1のローカルバスと、 前記第2のCPUにつながる第2のローカルバスと、 第1、第2のローカルバスとを切り替えて前記共有バス
に接続するスイッチと、 前記第2のローカルバスと独立に構成され、且つ前記第
1のCPUにつながる第3のローカルバスと、 前記第1のローカルバスと独立に構成され、且つ前記第
2のCPUとの間につながる第4のローカルバスと、 第3、第4のローカルバスとの間に接続され第1、第2
のCPUとの間で情報のストアと読み出しとを可能にし
たメモリと、 前記第1のCPUと前記第2のCPUとの間に設けら
れ、第3のローカルバス上での前記第1のCPUから前
記メモリへのバスサイクルと第4のローカルバス上での
前記第2のCPUから前記メモリへのバスサイクルとを
調停するアービタと、 上記スイッチの切換制御、及びアービタの調停制御を行
うために、上記スイッチ及びアービタへ第1、第2のC
PUからの信号を入力する手段と、 を備えたことを特徴とするプロセッサシステム。 3.上記スイッチと共有バスとの間には、該スイッチと
共有バスとの接続を行うか否かの選択を行う第2のスイ
ッチを設けた請求項2に記載のプロセッサシステム。 4.前記第1のプロセッサで制御演算を行うメイン処理
系を構成し、前記第2のプロセッサで前記メイン処理系
のバックアップを行うためのパックグラウンド処理系を
構成することを特微とする請求項2に記載のプロセッサ
システム。 5.共有資源が接続された共有バスと、 情報を処理する第1のCPUと、 惰報を処理する第2のCPUと、 前記第1のCPUにつながる第1のローカルバスと、 前記第2のCPUにつながる第2のローカルバスと、 常時は第1のローカルバスと前記共有バスとの接続を選
択しており、第1又は第2のCPUの要求入力信号によ
って第2のローカルバスと前記共有バスとの接続を選択
するスイッチと、 前記第2のローカルバスと独立に構成され、且つ前記第
1のCPUにつながる第3のローカルバスと、 前記第1のローカルバスと独立に構成され、且つ前記第
2のCPUとの間につながる第4のローカルバスと、 第3、第4のローカルバスとの間に接続され第1、第2
のCPUとの間で情報のストアと読み出しとを可能にし
たメモリと、 前記第1のCPUと前記第2のCPUとの間に設けら
れ、第3のローカルバス上での前記第1のCPUから前
記メモリへのバスサイクルと第4のローカルバス上での
前記第2のCPUから前記メモリへのバスサイクルとを
調停するアービタと、 上記スイッチの切換制御、及びアービタの調停制御を行
うために、上記スイッチ及びアービタへ第1、第2のC
PUからの信号を入力する手段と、 を備えたことを特微とするプロセッサシステム。 6.上記スイッチと共有バスとの間には、該スイッチと
共有バスとの接続を行うか否かの選択を行う第2のスイ
ッチを設けた請求項5に記載のプロセッサシステム。 7.前記第1のプロセッサで制御演算を行うメイン処理
系を構成し、前記第2のプロセッサで前記メイン処理系
のバックアップを行うためのパックグラウンド処理系を
構成することを特微とする請求項5に記載のプロセッサ
システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9053005A JP3039918B2 (ja) | 1997-03-07 | 1997-03-07 | プロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9053005A JP3039918B2 (ja) | 1997-03-07 | 1997-03-07 | プロセッサシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7203530A Division JP2965133B2 (ja) | 1995-08-09 | 1995-08-09 | プロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09198355A JPH09198355A (ja) | 1997-07-31 |
JP3039918B2 true JP3039918B2 (ja) | 2000-05-08 |
Family
ID=12930808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9053005A Expired - Fee Related JP3039918B2 (ja) | 1997-03-07 | 1997-03-07 | プロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3039918B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4495569A (en) | 1982-06-28 | 1985-01-22 | Mitsubishi Denki Kabushiki Kaisha | Interrupt control for multiprocessor system with storage data controlling processor interrupted by devices |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5154753A (ja) * | 1974-11-09 | 1976-05-14 | Tokyo Keiki Kk | |
JPS5450329A (en) * | 1977-09-28 | 1979-04-20 | Ricoh Co Ltd | Copier control device using plural micro-computers |
JPS56145494A (en) * | 1980-04-15 | 1981-11-12 | Komatsu Mfg Co Ltd | Data processor for stress testing vehicle |
JPS57130136A (en) * | 1981-02-04 | 1982-08-12 | Nec Corp | Multiprocessor system |
JPS57136203A (en) * | 1981-02-18 | 1982-08-23 | Toshiba Corp | Process control system |
JPS57152065A (en) * | 1981-03-13 | 1982-09-20 | Omron Tateisi Electronics Co | Programmable logic controller |
JPS57162056A (en) * | 1981-03-31 | 1982-10-05 | Toshiba Corp | Composite computer system |
JPS57174747A (en) * | 1981-04-22 | 1982-10-27 | Hitachi Ltd | Device diagnosing system |
JPS5887645A (ja) * | 1981-11-20 | 1983-05-25 | Hitachi Ltd | 計算機間交信方式 |
JPS58211271A (ja) * | 1982-06-03 | 1983-12-08 | Nec Corp | マルチプロセツサシステム |
JPS59167730A (ja) * | 1983-03-14 | 1984-09-21 | Nec Corp | バス結合装置 |
JPS59220821A (ja) * | 1983-05-31 | 1984-12-12 | Nec Home Electronics Ltd | コンピユ−タの共有バス制御装置 |
JPS6033643A (ja) * | 1983-08-05 | 1985-02-21 | Hitachi Ltd | デ−タベ−ス・システムにおけるデ−タ処理方式 |
JPS60120484A (ja) * | 1983-12-02 | 1985-06-27 | Hitachi Ltd | 文字認識装置 |
JPS60173655A (ja) * | 1984-01-27 | 1985-09-07 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセツサのメモリ方式 |
JPS60254358A (ja) * | 1984-05-31 | 1985-12-16 | Toshiba Corp | マルチア−キテクチヤマイクロプロセツサシステム |
JPS6111876A (ja) * | 1984-06-27 | 1986-01-20 | Toshiba Corp | デ−タ転送方式 |
-
1997
- 1997-03-07 JP JP9053005A patent/JP3039918B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4495569A (en) | 1982-06-28 | 1985-01-22 | Mitsubishi Denki Kabushiki Kaisha | Interrupt control for multiprocessor system with storage data controlling processor interrupted by devices |
Also Published As
Publication number | Publication date |
---|---|
JPH09198355A (ja) | 1997-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5568617A (en) | Processor element having a plurality of processors which communicate with each other and selectively use a common bus | |
EP0901659B1 (en) | Parallel processor with redundancy of processor pairs and method | |
JP2564805B2 (ja) | 情報処理装置 | |
US5659701A (en) | Apparatus and method for distributed program stack | |
EP0502680A2 (en) | Synchronous multiprocessor efficiently utilizing processors having different performance characteristics | |
JPH02236735A (ja) | データ処理方法及び装置 | |
CN101013415A (zh) | 用于多处理器阵列的线程感知分布式软件*** | |
JPH0679305B2 (ja) | 保留バスを用いて割り込みに応じる装置及び方法 | |
JP3039918B2 (ja) | プロセッサシステム | |
EP0240667B1 (en) | Processor | |
JP2877095B2 (ja) | マルチプロセッサシステム | |
JP2965133B2 (ja) | プロセッサシステム | |
JP3108042B2 (ja) | マルチノード情報処理システムにおけるチケット分配方法 | |
JP2003345614A (ja) | シングルプロセッサ向けosによる並列処理システム | |
JPS62210564A (ja) | プロセツサ | |
JPH02213976A (ja) | 多重処理コンピユータ及びプロセツサ間通信方法 | |
JP2539436B2 (ja) | プロセツサ間通信方式 | |
RU2042193C1 (ru) | Вычислительная система | |
JPH0687221B2 (ja) | 情報処理装置 | |
JPH0731661B2 (ja) | プロセツサ | |
Schmidt et al. | Half-Sync/Half-Async | |
JPH0535507A (ja) | 中央処理装置 | |
JPS6143369A (ja) | マルチプロセツサシステム | |
JPS603027A (ja) | コンピユ−タ処理システムにおける資源管理方式 | |
Hippold et al. | A communication API for implementing irregular algorithms on SMP clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |