JP3039918B2 - Processor system - Google Patents

Processor system

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
Application number
JP9053005A
Other languages
Japanese (ja)
Other versions
JPH09198355A (en
Inventor
雅嗣 亀谷
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9053005A priority Critical patent/JP3039918B2/en
Publication of JPH09198355A publication Critical patent/JPH09198355A/en
Application granted granted Critical
Publication of JP3039918B2 publication Critical patent/JP3039918B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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つの情
報処理手段間での情報交換に際して、各情報処理手段は
メモリ手段への情報のストアと読み出しを互いに他方の
情報処理手段を拘束することなく行うことができる。従
って、通信のスループットの向上と情報の処理速度の向
上が図られる。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention
A multiprocessor system or multiprocessor
It relates to a suitable processor system. 2. Description of the Related Art Conventionally, a multi-processor system
Is disclosed in, for example, JP-A-59-208666.
Like one CPU and memory, the other processor element
Bus and switches that operate as master and slave
Become. Such a single CPU processor element
In a multi-processor system consisting of
No problem as far as dedicated task processing with little disturbance is concerned
Is required for systems such as intelligent control processing
As contents become more sophisticated, databases and system
Status management, knowledge based on database and sensor information
Processing system configuration, multiple interrupt processing, multi-job function
It is necessary to provide background processing support.
Real-time multi-tasking, multi-job
On a high-end operating system that can support
Writing and executing those processes in a high-level language is one thing.
General. [0003] The above-described conventional multi-device
・ Mainly for high speed in processor systems
Real-time control processing is supported by multi-tasking.
Task is one of the tasks
Switch overhead and parallel processing schedule
Is that fine-grained parallel processing cannot be performed due to
It is the current situation. Therefore, the supervisor system
Parallel processing of intelligent processing system by super minicomputer etc.
In many cases, the system is separated from the control processing system.
Communication between the column processing system and the intelligent processing system tends to be sparse.
And manage the local internal status of each processor.
Requires operating system overhead
Characteristics such as decentralized intelligent processing and decentralized system management
Will not be utilized, resulting in a substantial decrease in price / performance ratio.
And according to the expansion of the processing performance of the control processing system
Of processing performance of intelligent processing system and communication through between two systems
There is a problem that it is difficult to improve the put. Therefore,
When the speed of the control loop of the control system increases,
Relatively large data is exchanged with the control processing system at high speed
And the above-mentioned problems are significant
And the price / performance ratio will be significantly reduced.
You. [0004] An object of the present invention is to provide a mask suitable for general-purpose processing.
Multi-processor or single-processor systems
System's substantial processing performance in a well-balanced and efficient manner
It is an object of the present invention to provide a processor capable of causing the processor to operate. [0005] The present invention provides a common bus,
A first processor for processing information and a second processor for processing information;
Two processors, the first processor and the second processor.
Switch for switching to the processor and connecting to the common bus.
Switch means, the first processor and the second processor.
Memory means connected between the
And the second processor are the first processor or the second processor.
Store information from one of the processors and the other processor.
Provided to enable the information to be referenced by the
A processor system characterized by the above is disclosed. the above
According to the invention, local information between two processors
The exchange is performed by two processors without going through a common bus.
Can be performed through the intervening memory means
Therefore, contention on the common bus is reduced. Also, when exchanging information
And the two processors store information in memory means.
Do not bind the other processor to
To improve information processing speed
be able to. Also, a main process such as a control operation,
Backup of main processing, for example, system management
Is separated from background processing such as
Assigns main processing to the processor and transfers to the second processor.
You may want to assign a background process. Background
Processing is mostly local to the two processors.
Closed by communication, especially improved information processing speed
Can be made. The present invention comprises a first common bus and a first common bus.
Resources shared by multiple common buses and multiple
Unit and the second common corresponding to each processor unit
Bus and each second common bus in parallel with the first common bus
Connection of each second common bus for selecting whether or not to connect
A first switch provided on the system, and a first switch
A control line for carrying ON / OFF signals and more
And each of the processor units includes a first row.
First CPU for processing information supplied via Calvas
And process information supplied via the second local bus.
A second CPU, and one of the first and second CPUs.
Stores the information from the other CPU and the other CPU can refer to the information
Connected to the first and second CPUs.
The memory and the first or second CPU request the first
CPU and self-processor via local bus
Connection to the second common bus corresponding to the unit or the second row
A second CPU and this second common bus
And a second switch for connecting the
Disclose a sessa system. Further, the present invention provides the first common
Buses and shared resources leading to the first common bus
Compatible with each processor unit
A second common bus, and each second common bus to a first common bus.
Each second to select whether to connect to the bus in parallel or not
A first switch provided on a shared bus route of
Control line for applying the ON / OFF signal of the switch
And each of the above processor units
Processes information provided via the first local bus.
Supplied through a first CPU and a second local bus.
A second CPU for processing information stored in the first and second CPUs;
The information from one of the PUs is stored and the other CPU stores the information.
The first and second CPUs for enabling information to be referred to
Connected to the memory and the first local bus at all times
Via the second CPU and its own processor unit
Connection with the common bus of the first or second CPU.
Upon request, the second local bus
A second switch for connecting the CPU to the common bus
And a processor system including the following. [0006] The present invention provides a first common bus and a first common bus.
Shared resources connected to the bus and multiple processor units
And a second common bus corresponding to each processor unit
And connecting each second common bus in parallel to the first common bus.
Route of each second common bus for selecting whether or not to run
First switches provided above and ON of each first switch
And a control line for carrying a / OFF signal.
And each of the processor units has a first local
A first CPU for processing information supplied via the bus,
Processing information supplied via the second local bus
2 CPUs and one of the first and second CPUs.
And store the other information so that the other CPU can refer to the information.
Memo connected to the first and second CPUs for storing
And the second CPU normally via the first local bus
Connection with the second common bus corresponding to the own processor unit
Connection, and the second or
Via the local bus of the second CPU and the common bus.
And a second switch for connection with the switch.
In the processor unit, the first and second switches are
Via the first local bus to the first and second common buses.
Processor unit when connected via the
In the example, the first CPU is connected to the first and second common buses and the first CPU.
Control operation of shared resources via the local bus of
The second CPU is used for intelligent processing and system management of the first CPU.
Processor that performs background processing such as
Disclose the system. FIG. 1 is a block diagram of a processor according to the present invention.
Two CPUs provided in the processor element
Hardware architecture that works like a processor
Provide a tua. In addition, control processing system and database
Focus on high independence of intelligent processing system based on sensor information
To assign a control processing system to the main processing system of the main CPU.
Control operation etc. with other base processor elements
It is executed by tightly coupled parallel processing with
Strength of background elements such as system management and knowledge processing
Background processing of the main CPU as an intelligent processing system
Command processing system and background CPU,
Back up the control processing system of the main CPU. in addition
Therefore, task switch overhead and parallel processing
As much as possible,
Two processing systems can be operated in parallel with high efficiency
Therefore, by adding the processing performance of the two units,
To improve the processing performance of the Sessa element by a factor of two
Combining multiple base processor elements
Twice that of conventional multi-processor systems
Overall processing performance and base processor elements
The balance between the control processing system and the intelligent processing system in response to expansion
And enhanced processing performance. Hereinafter, embodiments of the present invention will be described with reference to the drawings.
Will be explained. FIG. 1 shows the configuration of the processor of the present invention.
So, in this figure, the multi-processor system
Base processor element (BPE)
1 has two CPUs 15 and 16 (CPU 0 and
CPU 1), and the CPU 15
Port RAM (DPR) 1 as a communication mechanism for
7 and other base processor elements (BPE)
One of the two CPUs to communicate with
To the BPE local bus 12 which is a common bus between
Conflict caused by the common bus switch control circuit 22
Multiplexed bus buffer switch controlled
A common bus switch 24 comprising a
Between U15,16 and base processor element
(BPE). Ma
In addition, the two CPUs 15 and 16 each have a local memory.
It has Mori 18, 20 and local I / O 19, 21, etc.
Usually, they can operate independently. Also, between CPUs
Dual port RAM (DPR) that supports communication
The feature of 17 is for communication between the CPUs 15 and 16 of each other.
It has interrupt lines 32 and 33,
Communication function between CPU 15 and 16 with low overhead
Can be mentioned. Base processor element
Base processor E on the local bus 12 of
Local memory 6 and local I / O 7 are connected
As well as other base processor elements
Configure a common bus line for the
System 9 to which the system 9 and the system shared I / O 10 are connected.
System bus switch 8 for connecting to
Have been killed. This system bus switch 8 is
Access to the system bus 14 by the
Bus arbitration process for access
Use shared resources on the bus 14 or use other base
Performs communication processing with the Sessa element and
Parallel processing can be performed between the processor elements.
ing. FIG. 5 shows a dual port RAM (DPR).
Figure 17 shows the hardware block diagram of
The dual port RAM (DPR) 17 has two C
Considered as a shared memory shared between PUs 15 and 16
And dual port RA of two CPUs 15 and 16
Access to M (DPR) is indicated by reference numerals 77 to 80.
Using the access request signal and access permission signal of the processor
Arbiter 60 and mediator from arbiter 60
Buses 64, 6 from the CPU according to the
A bus switch 61 for switching 5 to an internal bus 66;
62 and the address and control lines of the internal bus 66 are decoded.
A memory enable signal 81, an interrupt control signal 73,
74 and a CPU 67
To set and reset interrupt signals 32 and 33 to
Control signals 73 and 7 generated by the decoder 67
4 flip flops 68, 69 etc.
Consists of Characteristic dual port RAM (DP
R) The interrupt function for CPU communication is a dual port
Interrupt to CPU0 at a specific address in RAM (DPR)
Registers that generate and registers that generate interrupts to CPU1
And provide them to each other's CPU at the same time.
Instruction register to send and receive instructions and interrupt
And generation are performed simultaneously. CPU1 transmits instructions to CPU0
For example, when CPU 1 executes CPU 1
Set the instruction attribute to be set in its own register, etc.
To the CPU0 on the dual port RAM (DPR)
Instruction register (interrupt generation register)
The decoder 67 accesses the instruction register to CPU0.
The inside of the dual port RAM (DPR)
CPU knows by monitoring and decoding bus 67
Access signal for instruction register access signal pulse to 0
No. 73 and send the flip-flop 68
The value of the inverted output (ie, Q bar; the same applies hereinafter) signal 70
Switch. The initial state is set by the RESET signal 72.
Q is set to HI and the inverted output of Q is set to LO.
In the above operation, LO is output to Q and HI is output to the inverted output of Q
Interrupt signal to CPU0 that is active
30 becomes active for CPU0. Next, the CPU 0 that has accepted the interrupt
Instructions to be executed in the interrupt service routine
Refer again to the instruction register to CPU0 to obtain
When the specified instruction is read, the decoder
67 monitors the access status and issues a command to CPU0.
Command register access signal pulse to access signal 73
Output to the flip flop 68 and use HI
The inverted output 70 of a certain Q is latched and HI is output to Q.
That is, the interrupt generation line 32 to the CPU 0 is deactivated.
Live. Generate a series of interrupts by the above sequence
Operations from raw to acceptance and software-based command transfer
Related operations simultaneously and with minimal overhead
can do. Returning to FIG. 1, the base processor element
Bus 28 of CPU0 or CPU1 in the client (BPE) 1
Or 29 is selected, and CPU0 and CP are selected.
A BPE local bus 12 which can be regarded as a shared bus of U1
Bus switching control (bus switch) for output
The common bus switch 24 is connected to the shared bus as described above.
A switch control circuit 22 and a switch controlled by the switch control circuit 22
And a multiplex bus buffer 23. So
The bus switch control of CPU0 is the master, CPU1
In the case where is a slave, the NOR circuit shown in FIG.
83, a shared bus switch including a NAND circuit 84
Performed by logic. Its characteristic bus switch
The control sequence will be described with reference to the time chart of FIG.
You. First, the local buses 28, 2 of the two CPUs
The right to acquire 9 is always on each CPU side,
Is not infringed by Dehaisu (Fig. 2
A, H). CPU0 shared bus (BPE local bus 1
2) The access request is always active as shown in FIG.
The shared bus access request of CPU 1 is
2 always active as needed as shown in I
You. That is, except when the CPU 1 has acquired the shared bus
, The CPU0 always acquires the shared bus. In FIG.
In the example shown in FIG.
7 is output, and CPU 0 executes at that time
Command processing is completed and the shared bus right can be relinquished.
Halt acknowledgment 8 in a of FIG.
2 is output and the CPU0 shared bus access is
Access permission signal 85 (driven by gate 83)
Activate and share as shown in FIG.
Abandon the existing bus. Also, the CPU 0 itself is denoted by a in FIG.
Enters the halt state, and at the same time, the CPU 1
The shared bus access permission signal 86 (by the gate 84)
Drive) becomes active and a of K in FIG.
The CPU 1 of the bus switch buffer 23 as shown in FIG.
Is selected, and the right to use the shared bus is transferred to the CPU 1. C
Even if PU1 finishes using the shared bus and abandons the shared bus
When a good time arrives, CPU1 shared bus access request
Deactivate 87 as shown at Ib in FIG.
Then, immediately at CPU b shared bus access at b in FIG.
Switch 85 becomes active and the bus switch
CPU0 side of buffer 23 is selected and shared with CPU0
After the right to use the bus is transferred, the CPU 0 e
Acknowledgment is released, and CP
U0 shifts from the halt state to the actual operation state. G in FIG.
And L indicate the actual operating states of CPU0 and CPU1, respectively.
are doing. Master (CPU0) and slave
CPU0 performs a CPU (CPU1) operation.
While the right to use the shared bus has been transferred (a-F in FIG. 2F).
b) perform the bus switch and the electrical and timing of the bus
For a short period of time (FIG. 2F)
The halt state is reached for the total time of b) and b), and no actual operation is performed.
No. That is, in terms of the working right, the CPU 1 is more like a master.
Will work. Halt time is too long
One data transfer so that the operation of CPU0 is not hindered.
A mode to transfer the right to use the shared bus to CPU0
I have. However, as described later, CPU 0 is
U is a backgrou that performs intelligent processing etc.
Used in support of CPU0 as a command CPU, and
When a multi-processor configuration is used, the base
Distribution of function distribution structure per server element (BPE)
By adopting the knowledge base format, many necessary data
Data will be available near you, and most data communications
Is to use dual port RAM (DPR)
Can be. Therefore, the base processor element
The rate at which knowledge information is exchanged between (BPE)
Other base processor elements for tightly coupled parallel processing
Small enough compared to the rate at which information is exchanged with
And the processing power loss of CPU0 according to the present invention is very small.
Can be considered as In addition, CPU processing
The role of the CPU 1 as performing backup and system management
When the percentage is fixed, the operation control right of CPU0 is assigned to CPU1.
Is more effective in terms of management, etc.
Is suitable for local distributed processing as described above.
It can be said that. Next, the above-described processor of the present invention
The general operation will be described in detail with reference to FIG. FIG. 3 shows that the CPU 0 performs a main control operation.
CPU 1 is based on knowledge base (distributed) sensor information, etc.
CPU0 to perform intelligent processing and system management
Backup in a round, local distributed processing
It is assumed that In addition, multi-processor architecture
Configuration, each base processor element
(BPE) is another base processor element
(BPE) and tightly-coupled parallel processing in the main, back
In the ground, it is assumed that loosely coupled parallel processing is performed.
You. 35 shows a processing flow of the CPU 1 along the time axis.
Similarly, 36, 37, and 38 correspond to the processing flow of CPU0.
This is shown. Shared resources include the base processor
Between CPU0 and CPU1 in the SA element (BPE)
Dual port RAM (D
PR) and all bases in a multi-processor configuration.
Accessible from the processor element (BPE)
There is a system shared resource on the active system bus 14.
47, 48, 54, 59 communicate between CPU0 and DPR
, And 46, 53, 56, and 58 correspond to the CPU 1 and the DPR.
Shows communication. Similarly, 57 is CPU0 and system
Shared resources, 51: communication between CPU 1 and system shared resources
It is necessary to observe from the system shared resource side
Again, from the base processor element (BPE)
Access. Also, 50 is a dual port
CPU0 using interrupt function on RAM (DPR)
Indicates an interrupt to CPU1, and 55 indicates an interrupt to CPU1 in the same manner.
Only shows. 49 is a shared bus from CPU1 to CPU0.
Access request signal and the corresponding CPU 0
Handshake with shared bus access permission signal
52, which is obtained once by the CPU 1
Shared bus is abandoned and its right to use transfers to CPU 0 again
It shows the situation. 88 and 89 are systems from other BPEs.
Indicates access to system shared resources. 90, 91
External world information during processing by CPU 1 as part of knowledge
Show how local sensor information is captured
Similarly, 92 and 93 are also shared by other BPEs.
CPU0 and CPU1 capture the shared sensor information
Is shown. Processing of CPU0 and CPU1
Regarding the contents, CPU0 is the main processing system and other bases.
Processor element (BPE) CPU0 and
Part of the intelligent mechanical system, for example, humanoid robot
Numerous controls needed to control the arm of the kit
Divide computational tasks so that parallelism is improved as much as possible.
Execution of tightly coupled parallel processing 36b, 38b with high efficiency
To an auxiliary processor such as an arithmetic processor.
Free time after requesting another processor or other base processor
. Empty time that occurs during synchronization processing with the element (BPE)
And other base processor elements BPE,
At the time of processing request by interruption from CPU1 and shared resources
36 in cooperation with CPU1 as a background processing system
a, performs intelligent processing and system management shown in 38a, and
An intelligent processing system is configured together with the processing 35 of PU1. This
Executed in the base processor element (BPE)
Intelligent processing system is a part of the arm,
Information on muscle parts is stored as a database.
Local sensor information is closely related to it.
Are captured as perceptual information, and
Muscle based on local function distributed database
Executes intelligent processing related to the minute and is executed by the main processing system.
To back up the entire control operation
You. In a system based on the above assumptions,
Thus, the processing flow of CPU0 and CPU1 shown in FIG.
Just follow. First, CPU0 and CPU1 respectively
The CPU 36 executes the processes 36 and 35 shown in FIG.
Immediately needed to communicate with CPU0,
Write communication message to dual port RAM (DPR)
Command register to CPU0
An operation 46 for writing to is performed. Correspondingly, CPU0
Interrupt 50 occurs and CPU0 background
Dual port RAM (DPR) is accessed in the processing system
Communication 47 of necessary information is performed. At the time of 40,
CPU0 is used between CPUs that do not need to perform handshaking.
Dual port RAM (DP
R) or dual port RAM (DPR)
Or read from. Various sensor information is also sent
The server side becomes the main body, and it is processed sequentially by interruption,
It is referred to in the program as needed, and
It is taken in as a part. Next, the CPU 1 executes another base program.
System to communicate with the processor element (BPE).
The need to communicate with the system shared resources arises and the shared bus at 49
(BPE local bus) Acquire the right to use 12 and 41
At this point, communication 51 with the system shared memory is performed, and
At 52, the right to use the common bus is transferred to CPU 0 again.
You. During that time, CPU0 is kept in the halt state 37 and 52
When the halt state is released by the
Processing 38 is continued. Thereafter, at the time of 42, the CPU 1
And dual port RAM (DPR) for shared data between CPUs
Data communication is performed.
Communication of handshake data with instructions from CPU to CPU1
Is performed in the same manner as 39. At 44, CPU 0
Communication 57 with the system shared resource is performed,
Is used for intelligent processing in the background processing 38a.
Communication in the main processing 38b,
Communication of tightly coupled parallel processing data
There is no effect on the processing or operation of the CPU 1. 45 is C
Dual port RAM (DPR) for PU0 and CPU1
This shows that the flow communication is being performed at approximately the same time.
Arbitration by the arbiter 60
Support for each other's processing and operations
The communication process is being executed without any trouble. As described above, the local distributed database
Intelligent processing system and control backed up by it
When the processing system is realized by the processor of the present invention,
Intelligent processing through dual port RAM (DPR)
CPU in base processor element (BPE)
In between, and sometimes the result or other base
・ Intelligent processing by processor element (BPE)
Access system shared resources to exchange results
Only naturally, between the communication nodes in the system.
The best communication throughput can be achieved,
Therefore, the control processing system and the intelligent processing system are almost completely independent
Column operation enables reliable doubling of processing performance
It works. In addition, by adding BPE, intelligent processing system
Processing performance and control processing system performance increase in proportion
And always provide balanced processing performance.
Can be. According to an embodiment of the present invention, a multiple
Based on a processor system or a single processor system
Book processor element (base processor
・ Element: BPE) is composed of two CPUs.
Dual port RAM (DPR) with interrupt function
And external observation by master / slave operation
Common to both CPUs that look like a single CPU
Connected with common bus available for highly independent main
Separating the processing system from the background processing system
PU is assigned to each, and the localization between two CPUs
Information exchange via dual port RAM (DPR)
Other bases in a multi-processor configuration.
Communication with the processor element (BPE) is a common bus
(BPE local bus) through the system bus
The performance of BPE can be achieved through system shared resources.
Qualitatively doubled. In addition, using the processor of the present invention,
When configuring a multiprocessor system,
The functions of the window processing system are decentralized and each BPE
By having it in units, it can be used in background processing systems.
Most are closed by local communication within the processor.
You don't need to communicate frequently with other processors,
More optimized communication throughput between communication nodes
Because of the tight coupling parallel processing being executed in the main
Main processing system and background without affecting
Naturally high-efficiency parallel processing in both processing systems
Can be. Further, by adding the processor of the present invention,
Always scatter in both main processing and background processing
And improved processing capacity. As described above, according to the present invention, a general
Multi-processor system suitable for general processing or
Balance the substantial processing performance of a single processor system
It can be improved well and efficiently. According to the present invention,
This reduces contention on the common bus and provides two
When exchanging information between report processing means, each information processing means
Store and read information to and from the memory means
This can be performed without restricting the information processing means. Subordinate
This improves communication throughput and improves information processing speed.
The top is planned.

【図面の簡単な説明】 【図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共通バスアクセス許可信号
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing an internal configuration of a base processor element in a processor of the present invention and a part of a multi-processor system based on the internal configuration. FIG. 2 is a diagram showing a common bus (BPE local) switch sequence between two CPUs in a base processor element constituting the present invention. FIG. 3 shows two CPUs in a base processor element
It is a figure showing the flow of processing between. FIG. 4 is a basic logic diagram of a shared bus switch constituting the present invention. FIG. 5 is a logic block diagram of a dual port RAM constituting the present invention. [Description of Signs] 1 Base processor element (BPE) 8 System bus switch 14 System bus 15 CPU0 (master) 16 CPU1 (slave) 17 DPR logic 24 Common bus switch 32 Instruction interrupt line 33 to CPU0 Instruction interrupt line 73 for CPU1 Flip-flop 74 for generating an interrupt to CPU0 Flip-flop 85 for generating an interrupt to CPU1 85 CPU0 common bus access permission signal 86 CPU1 common bus access permission signal

フロントページの続き (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)Continuation of front page       (56) References JP-A-57-174747 (JP, A)                 JP-A-60-254358 (JP, A)                 JP-A-60-173655 (JP, A)                 JP-A-58-211271 (JP, A)                 JP-A-53-93746 (JP, A)                 JP-A-60-33643 (JP, A)                 JP-A-57-130136 (JP, A)                 JP-A-59-220821 (JP, A)                 JP-A-59-167730 (JP, A)                 JP-A-61-11876 (JP, A)                 JP-A-57-162056 (JP, A)                 JP-A-58-211271 (JP, A)                 JP-A-51-54753 (JP, A)                 JP-A-54-50329 (JP, A)                 JP-A-56-145494 (JP, A)                 JP-A-57-136203 (JP, A)                 JP-A-57-152065 (JP, A)                 JP-A-60-120484 (JP, A)                 US Patent 4,495,569 (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に記載のプロセッサ
システム。
(57) [Claims] A bus to which a shared resource is connected; a first CPU for processing coast information; a second CPU for processing coast information; switching between the first CPU and the second CPU to connect to the bus A switch for storing and reading information between the first CPU and the second CPU; and a switch provided between the first CPU and the second CPU; An arbiter for arbitrating a bus cycle from the first CPU to the memory and a bus cycle from the second CPU to the memory; and the switch for performing switching control of the switch and arbitration control of the arbiter. And arbiter first and second C
Means for inputting a signal from the PU; and a processor system comprising: 2. A shared bus to which a shared resource is connected; a first CPU for processing information; a second CPU for processing information; a first local bus connected to the first CPU; A second local bus connected to the switch, a switch for switching between the first and second local buses and connecting to the shared bus, and a switch configured independently of the second local bus and connected to the first CPU. A third local bus, a fourth local bus configured independently of the first local bus, and connected to the second CPU; and a third local bus connected to the third and fourth local buses. 1st, 2nd
A memory that enables storing and reading of information between the first CPU and the second CPU; and a first CPU that is provided between the first CPU and the second CPU and that is provided on a third local bus. And an arbiter for arbitrating a bus cycle from the second CPU to the memory and a bus cycle from the second CPU to the memory on a fourth local bus; and performing switching control of the switch and arbitration control of the arbiter. To the switch and the arbiter.
Means for inputting a signal from the PU, the processor system comprising: 3. 3. The processor system according to claim 2, further comprising a second switch provided between the switch and the shared bus for selecting whether or not to connect the switch to the shared bus. 4. 3. The method according to claim 2, wherein the first processor constitutes a main processing system for performing a control operation, and the second processor constitutes a background processing system for backing up the main processing system. A processor system as described. 5. A shared bus to which a shared resource is connected; a first CPU for processing information; a second CPU for processing coast information; a first local bus connected to the first CPU; and the second CPU And a connection between the first local bus and the shared bus is always selected, and a second local bus and the shared bus are connected in response to a request input signal of the first or second CPU. A switch for selecting a connection with the first local bus, a third local bus connected to the first CPU, and a switch independent of the second local bus, and a third local bus connected to the first CPU. A fourth local bus connected to the second CPU; and first and second local buses connected between the third and fourth local buses.
A memory that enables storing and reading of information between the first CPU and the second CPU; and a first CPU that is provided between the first CPU and the second CPU and that is provided on a third local bus. And an arbiter for arbitrating a bus cycle from the second CPU to the memory and a bus cycle from the second CPU to the memory on a fourth local bus; and performing switching control of the switch and arbitration control of the arbiter. To the switch and the arbiter.
Means for inputting a signal from the PU; and a processor system comprising: 6. 6. The processor system according to claim 5, further comprising a second switch provided between the switch and the shared bus for selecting whether or not to connect the switch to the shared bus. 7. 6. The apparatus according to claim 5, wherein the first processor constitutes a main processing system for performing a control operation, and the second processor constitutes a background processing system for backing up the main processing system. A processor system as described.
JP9053005A 1997-03-07 1997-03-07 Processor system Expired - Fee Related JP3039918B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9053005A JP3039918B2 (en) 1997-03-07 1997-03-07 Processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9053005A JP3039918B2 (en) 1997-03-07 1997-03-07 Processor system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP7203530A Division JP2965133B2 (en) 1995-08-09 1995-08-09 Processor system

Publications (2)

Publication Number Publication Date
JPH09198355A JPH09198355A (en) 1997-07-31
JP3039918B2 true JP3039918B2 (en) 2000-05-08

Family

ID=12930808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9053005A Expired - Fee Related JP3039918B2 (en) 1997-03-07 1997-03-07 Processor system

Country Status (1)

Country Link
JP (1) JP3039918B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5154753A (en) * 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 (en) * 1981-11-20 1983-05-25 Hitachi Ltd Correspondence system between computers
JPS58211271A (en) * 1982-06-03 1983-12-08 Nec Corp Multi-processor system
JPS59167730A (en) * 1983-03-14 1984-09-21 Nec Corp Bus connecting device
JPS59220821A (en) * 1983-05-31 1984-12-12 Nec Home Electronics Ltd Common bus controller of computer
JPS6033643A (en) * 1983-08-05 1985-02-21 Hitachi Ltd Data processing system in data base system
JPS60120484A (en) * 1983-12-02 1985-06-27 Hitachi Ltd Character recognizing device
JPS60173655A (en) * 1984-01-27 1985-09-07 Nippon Telegr & Teleph Corp <Ntt> Memory system of multiprocessor
JPS60254358A (en) * 1984-05-31 1985-12-16 Toshiba Corp Multi-architecture microprocessor system
JPS6111876A (en) * 1984-06-27 1986-01-20 Toshiba Corp Data transfer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
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 (en) 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 (en) Information processing device
US5659701A (en) Apparatus and method for distributed program stack
CN103729329B (en) Intercore communication device and method
EP0502680A2 (en) Synchronous multiprocessor efficiently utilizing processors having different performance characteristics
KR100538727B1 (en) Multi-processor system
CN101013415A (en) Thread aware distributed software system for a multi-processor array
JPH0679305B2 (en) Device and method for responding to an interrupt using a hold bus
JP3039918B2 (en) Processor system
EP0240667B1 (en) Processor
JP2877095B2 (en) Multiprocessor system
JP2965133B2 (en) Processor system
JP3108042B2 (en) Ticket distribution method in multi-node information processing system
JP2003345614A (en) Parallel processing system by os for single processor
JPS62210564A (en) Processor
JPH02213976A (en) Communication method between multiprocessing computer and processor
JP2539436B2 (en) Communication method between processors
RU2042193C1 (en) Computing system
JPH0687221B2 (en) Information processing equipment
JPH0731661B2 (en) Processor
Schmidt et al. Half-Sync/Half-Async
JPH0535507A (en) Central processing unit
JPS6143369A (en) Multi-processor system
JPH07234850A (en) Device and method for multiprocessor system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees