JPH02155062A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JPH02155062A
JPH02155062A JP30939988A JP30939988A JPH02155062A JP H02155062 A JPH02155062 A JP H02155062A JP 30939988 A JP30939988 A JP 30939988A JP 30939988 A JP30939988 A JP 30939988A JP H02155062 A JPH02155062 A JP H02155062A
Authority
JP
Japan
Prior art keywords
processor
cpu
register
message
control
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.)
Pending
Application number
JP30939988A
Other languages
English (en)
Inventor
Koji Okabayashi
岡林 浩次
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP30939988A priority Critical patent/JPH02155062A/ja
Publication of JPH02155062A publication Critical patent/JPH02155062A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マルチプロセッサシステムに関し、特にプロ
セッサ間通信および同期制御をサポートするのに好適な
マルチプロセッサ構成に関するものである。
〔従来の技術〕
従来、マイクロプロセッサ1つだけを用いて、マイクロ
コンピュータシステムを構成すると、そのマイクロプロ
セッサの処理性能によってシステムの性能が決められる
ので、高性能化やリアルタイム性の向上を進めるとシス
テム・コストは高くなる。そこで、クロック周波数の比
較的低いマイクロプロセッサ(低価格なマイクロプロセ
ッサ)を複数個使って、所望の処理性能を得ることがで
きるように、マルチプロセッサ構成を採用したマルチプ
ロセッサシステムがある。マルチプロセッサ構成のシス
テムでは、互いに独立したプロセスを別々のプロセッサ
に割り当て、システム全体の処理性能を上げることがで
きる。このようなマルチプロセッサの構成方法としては
、メモリを各プロセッサに分散させる方式(疎結合)、
各プロセッサでメモリ共有する方式(密結合)がある9
例えば、バス結合の分散メモリを用いたマルチプロセッ
サ構成では、マルチプロセッサ間の通信は、割込み制御
によるデータの受渡しや、第7図に示すように、SCI
  (シリアル・コミニュケーション・インタフェース
)を用いたシリアル転送を行う程度であった。また、バ
ス結合の共有メモリを用いたマルチプロセッサ構成では
、メインプロセッサとサブプロセッサを固定的に割り当
て、共有メモリの領域を介してプロセッサ間通信を行う
方法(例えば、特開昭63−83853号公報参照)や
、メインプロセッサとサブプロセッサを切り替えて割り
当て制御を行い、共通メモリを介してプロセッサ間通信
等を行える方式(例えば、特開昭63−81558号公
報参照)が知られている。
〔発明が解決しようとする課題〕
上記従来技術では、共有メモリを用いた構成では、メモ
リ数の増加によるシステムのコスト高を招くという問題
がある。また、メインプロセッサとサブプロセッサを固
定化割り当て、あるいは切替え割り当て制御では、絶え
ずメインとサブを意識するので、システムの柔軟性やC
PUの空き時間の有用性を十分確保することができなか
った。
本発明の目的は、このような従来の問題を解決し、低価
格のプロセッサを用いて高性能化が図れ。
かつメモリ削減によるシステムコスト低減が図れるマル
チプロセッサシステムを提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明のマルチプロセッサシ
ステムは、同一のマイクロプロセッサを2個用いたマル
チプロセッサシステムにおいて、各プロセッサ間で通信
を行うためのメツセージを格納するメツセージレジスタ
と、各プロセッサの動作状態を示す情報を格納するフラ
グレジスタとをそれぞれ2個有し、各プロセッサは上記
メツセージレジスタおよびフラグレジスタを介して同一
アドレス割り当てによるプロセッサ間通信を行い、かつ
オペコードフェッチのタイミングにより実行メモリアド
レスに対するアドレス変換を行う回路と、システムバス
の使用権許可を時分割制御する共通コントローラとを有
し、該共通コントローラの制御により各CPUは共有メ
モリをアクセスすることに特徴がある。
〔作用〕
本発明においては、オペコードフェッチのタイミングに
より、プログラムカウンタを強制的に変更するので1割
込み信号を使用することなく、プロセッサ間通信を行う
ことができる。また、メインプロセッサかサブプロセッ
サかという意識することなく、各種制御が実現できる。
〔実施例〕
以下、本発明の一実施例を、図面により詳細に説明する
本実施例では、マイクロプロセッサ(CPU)として、
r65cO2Jを2個用いたマルチプロセッサ構成につ
いて構成する。
第1図は1本発明の実施例を示すマルチプロセッサシス
テムの構成図である。
第1図において、1はCPU(ここでは、65CO2”
)、2はCP U (ここでは、CPU2と同一の”6
5CO2” )、3はタイミングジェネレータ、4,6
はメツセージレジスタ、5,7はフラグレジスタ、8,
9はマルチプレクサ、10はアドレスコントローラ、1
1はデータコントローラ、12.13はDフリップ・フ
ロップ、14゜15はリセットカウンタ、16はROM
、17はRAM、18は周辺回路、20.21は8人力
NOR回路である。
CPUI、2は“65CO2”であり、ROM16、R
AM17を用いて各種制制を行う。タイミングジェネレ
ータ3はCPU1のクロック、CP U 2のクロック
を発生させ、またシステムバスの使用権許可を時分割制
御するためのアドレスコントローラ10.およびデータ
コントローラ11のタイミング信号を発生させる。なお
、マルチプロセッサ構成としない場合、すなわちCPU
 1 。
あるいはCPU2がシステムバスを専有することを可能
にするコントローラを内蔵する。
メツセージレジスタ4はCPUIがCPU2に対してメ
ツセージを伝えるレジスタであり、メツセージレジスタ
6はCPU2がCPUIに対してメツセージを伝えるレ
ジスタで、こ九らは同一アドレヌ上に割り当てられてい
る。本例では8ビツトの情報がメツセージデータとして
利用される。
フラグレジスタ5はCPU2の動作状態をCPU1が参
照するためのレジスタで、フラグレジスタ7はCPUI
の動作状態をCPU2が参照するためのレジスタで5本
例では同一アドレス上に割り当てられる。
マルチプレクサ8はCPU2のアドレスとCPU1から
与えられたメツセージデータによるアドレスを切り替え
る働きをする。同様に、マルチプレクサ9はCPUIの
アドレスとCPU2から与えられたメツセージデータを
切り替えるt’o、=をする。
リセットカウンタ14はCPUIからコン1−ロールさ
れ、メツセージレジスタ6、フラグレジスタ7をリセッ
トする。同様に、リセットカウンタ15はCPU2から
コントロールされ、メツセージレジスタ4.フラグレジ
スタ5をリセットする。
アドレスコントローラ10はシステムのアドレスデータ
をCPUI、CPU2の利用時間に時分割制御するため
のコントローラで、タイミングジェネレータ3からのバ
ス選択信号(SELBUS)で時分割を行う。これらの
タイミングチャートを第2図に示す。
Dフリップ・フロップ12はメツセージレジスタ4に書
き込まれたデータをCPU2のオペコードフェッチのタ
イミングによりマルチプレクサ8の切り替えのタイミン
グをコントロールする。同様に、Dフリップ・フロップ
13はメツセージレジスタ6に書き込まれたデータをC
PUIのオペコードフェッチのタイミングによりマルチ
プレクサ9の切り替えのタイミングをコントロールする
本システムの時分割制御は、第1図で示されるタイミン
グジェネレータ3において生成されるバス選択信号(S
ELBUS)およびCPUICLK、CPU2CLKに
よりコントロールされる。
CPUICLKはCPtJl、を制御するクロックで。
CPU2CLKはCPU2を制御するためのクロックで
ある。
次にCP U I CL K 、 CP U 2 CL
 Kにて同期出力されるアドレスバス、データバスをシ
ステムバス(アドレスコントローラ10から出力される
アドレスデータ、データコントローラ11から出力され
るデータ)に選択出力するためにバス選択信号(sEr
−nus)が用いられる。
本例ではS E L B U Sが“L I+の時、同
時間内でCPUIのアドレスデータ、データがシステム
バスに出力され、ROM16.RAM17.周辺回路1
8のアクセスが可能となる。この時間によってCPUI
はCPUIに割り当てられた仕事を行う(第2図のタイ
ミングチャートに示すT工)。
次に5ELBUSが“H”の時、同時間内でCPU2の
アドレスデータ、データがシステムバスに出力され、R
OM16.RAM17.周辺回路18のアクセスができ
る。
このように、本システム構成により2個のCPUが同一
システムバス上で動作することが可能になり、バスの衝
突を防ぐマルチプロセッサ構成が可能になる。
また、このバスの時分割構成を用いることにより、第2
図のタイミングチャートのメツセージレジスタ4に1′
80”のデータをCPUIが書込み、それをCPU2の
オペコードフェッチのタイミングでサンプルし、本例の
動作のようなメツセージの受は渡しをすることが容易に
なる。なお、第2図のタイミングチャートにおけるDモ
ジュール(第3図参照)起動時はCPU2から出力され
るアドレスバスを表す。
第3図は1本発明を複写機制御に適用した具体例を説明
するための図である。すなわち、これは第1図に示すマ
ルチプロセッサシステムを用いて、第3図に示す複写機
コントロールシーケンスを実現した例である。
例えば、複写機制御(コントロール)では、第3図に示
すようなシーケンスでシステムの設定が行われ動作する
が、設定される項目は用紙サイズ。
枚数、拡大、縮小、ソータ等、多岐にわたる設定が必要
である。しかしながら、単一のCPUあるいは、シリア
ル通信によるCPUの通信制御では、前述したように、
多項目、多岐にわたるプログラムのパッケージ(図中の
各要素プログラム)を同時に動作させることはできない
。この結果、動作処理の増大につながる。また、複写機
システムでは常にシステムの状態を管理する必要があり
、異なるCPU、すなわち異なるバスで管理することば
システムにおいて不都合を招く。従って、第1図に示す
マルチプロセッサ構成により、第3図の複写機コントロ
ールを行い、マシン設定の待時間を短縮でき、複写機シ
ーケンスの高速化が図れる。
例えば、入力装置からCI) U 1はコピー枚数。
濃度2紙サイズ、ソータ制御のデータを受は取る。
そこで、CPUIは入力装置から設定されたデータ項目
を組合せ、CPUI、CPU2にて処理するプログラム
を割り当て、シーケンスの組立てを行う。
CPUIは入力装置より機能A〜工 (機能モジュール
)を設定し起動しなければならない項目を得たとする。
その機能A−Iの関係を第4図に示す。ここで、設定条
件は第4図に示すように、■ABCは一連のシーケンス
制御(CPUI)、■DEはABC・とは無関係のシー
ケンス制御(CP U2)、■FGはABC,QE終了
後のシーケンス制御(CI) U 1. )とし、■各
モジュール(A〜■)のプログラム容量を本例では25
6バイト以内とする。cpuiとCPU2は、第1図に
示すアドレスコントローラ10.およびデータコントロ
ーラ11の制御により、システムバスの使用権を得る。
CPUIはAにおける入力装置からのデータによるプロ
セス管理処理終了後、CPU2にD−プログラムのスタ
ート番地をメツセージレジスタ4に害込む。この時、C
P U 1のメツセージレジスタ4へのライト終了後、
メツセージレジスタ4の”oo’(初めの状態)の条件
が第1図のNOR回路20の入力が1〉0となり、NO
R出力が“L I+になる。その後、Dフリップ・フロ
ップ12の出力がCPUIの5YNC信号により同期化
され、Q出力がl/ L”になる。このDフリップ・フ
ロップ12のクロックはCPU2のオペコードフェッチ
のタイミングでサンプルされ、”65CO2’で言えば
5YNC信号の立ち上がりで変化する。
Dフリップ・フロップ12の出力によりマルチプレクサ
8がメツセージレジスタ4に書込まれたデータを使うよ
うに切り替えられる。これにより、メツセージレジスタ
4で参照されるデータ(この場合、スタート番地の上位
8ビツト)によりCPU2の実行するアドレスベクタが
強制的に変更されそのアドレスベクタにあるプログラム
が実行される。
例えばこの場合、初めの状態としてCP U 2はCP
UIから何もメツセージを受は取っていないために処理
をせず、レディ状態にあり第5図に示すプログラムを実
行しているとする。
次に前述したように、CPUIから書込まれるメツセー
ジレジスタ4.Dフリップ・フロップ12により第2図
のタイミングチャートの(X)のように、本来” F 
OOO”を実行するはずのプログラム番地をメツセージ
レジスタ4に書込まれたデータ(例では” 80 H”
)により上位8ビツトアドレスの変更を行う。
次に、”5ooo”番地のROM、あるいはRAM領域
には第6図に示すデータが入っているとする。
それぞれのモジュールのヘッダ部分には、第6図に示す
ように、プログラムカウンタの値を変更させるためにジ
ャンプコマンド(JMP)を用いる。
また、この領域をSRAM等でCPUIにより変更可能
にすることにより、より汎用的なプログラムシーケンス
の組上げが可能となる。
次にDモジュール終了後、CPU2がメツセージレジス
タ4.フラグレジスタ5をリセットすると、メツセージ
レジスタ4は4400 I+となり、CPUIにおいて
はD−モジュールが終了したとフラグレジスタ7によっ
て参照できる。CPU2はD−プログラムモジュール内
においてメツセージレジスタ4をリセット後、CI) 
U 2をレディ状態にするために例では、最後に”JM
P  FOOO”を挿入するとする。
以上により、CPU2は((D u機能のCPUIから
のメツセージによりD−モジュールを実行し終了し次の
メツセージ待ち状態になる。
次にCPUIはABCモジュールを実行しつつあるイン
ターバル時間をおいてD−モジュールの処理終了をフラ
グレジスタ5を参照、検知するとともに、検知後E−モ
ジュールのアドレス上位8ビツトベクタをメツセージレ
ジスタ4に書込む。
この後はD−モジュールと同様に動作し終了する。
CPU2の機能が処理される途中A13Cモジユールは
CPUIにより処理される。
次にCPUI(ABCう、CPU2(DF)の機能が終
了し次のFGに移る場合において、本システムの利点と
して、タイミングジェネレータ3の調整により、CPU
Iは第2図に示すタイミングチャートのブロックYのよ
うにバスを専有し高速シーケンスを実行することが可能
となる。このときCPU2はスタンバイ状態とする。
また次の利点として本構成図には以上にあげたメツセー
ジレジスタ、フラグレジスタはCPU2においても接続
されている。すなりち、以上に挙げた例においてはCP
UIがマスタ、CPU2がスレーブの位置づけにあった
が、逆にCPU2がCPUIの如く入力制御を行い、C
PUIにDFのようなモジュールを動作させることも可
能である。これはシステムバスを両CPUが共有してい
るので、共通の周辺回路18をコン1ヘロールすること
ができるからである。
例えば、CPUIがC−モジュールを動作終了後、FG
を処理するにあたり(前述した高速処理はしない)入力
装置制御をCPU2に渡し、CPU2がHI (入力管
理)モジュールの処理を行うこととする。
“100OH”を入力装置制御ルーチンとすると、CP
UIはCPU2へ処理を渡すためにメツセージレジスタ
4に“IOH”を書込む。これで入力装置制御はCPU
2に移り、CP U 2がこのシステムでいうマスクC
PtJとなり、動作することが可能となる。
CPUI、CPU2に接続されるメツセージレジスタは
同一アドレス上に割り当てられ、この構成においては、
マスクの権利のあるCPUにしか操作できない。
以上の構成を用いることによって、マスク、スレーブの
関係が固定でないシステム構成をとれるとともに、アド
レスバス、データバスを共有することで、両CPUにお
いて、この例の場合では64にバイトの領域を共有し得
ることができる。
〔発明の効果〕
以上説明しまたように、本発明によれば、低価格のプロ
セッサを用いて高性能化が図れ、かつメモリ削減による
システムコスト低減が図れるマルチプロセッサシステム
を実現できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すマルチプロセッサシス
テムの構成図、第2図は第1図の動作タイミングチャー
ト、第3図は本発明を複写機制御に適用した具体例を示
す図、第4図は第3図におけるコントロールシーケンス
の流れを示す図、第5図、第6図は第3図におけるプロ
グラム例を示す図、第7図は従来のマルチプロセッサ構
成例を示す図である。 1:CPU(ここでは65CO2)、2 : CPU(
ここではCPU2と同一の65CO2)、3:タイミン
グジェネレータ、4,6:メツセージレジスタ、5,7
:フラグレジスタ、8,9:マルチプレクサ、10ニア
ドレスコントローラ、11:データコントローラ、12
,13:Dフリップ・フロップ、14.15:リセット
カウンタ、16:ROM、l 7 : RAM、18:
周辺回路、20゜21:NOR回路。 第 図

Claims (1)

    【特許請求の範囲】
  1. (1)同一のマイクロプロセッサを2個用いたマルチプ
    ロセッサシステムにおいて、各プロセッサ間で通信を行
    うためのメッセージを格納するメッセージレジスタと、
    各プロセッサの動作状態を示す情報を格納するフラグレ
    ジスタとをそれぞれ2個有し、各プロセッサは上記メッ
    セージレジスタおよびフラグレジスタを介して同一アド
    レス割り当てによるプロセッサ間通信を行い、かつオペ
    コードフェッチのタイミングにより実行メモリアドレス
    に対するアドレス変換を行う回路と、システムバスの使
    用権許可を時分割制御する共通コントローラとを有し、
    該共通コントローラの制御により各CPUは共有メモリ
    をアクセスすることを特徴とするマルチプロセッサシス
    テム。
JP30939988A 1988-12-07 1988-12-07 マルチプロセッサシステム Pending JPH02155062A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30939988A JPH02155062A (ja) 1988-12-07 1988-12-07 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30939988A JPH02155062A (ja) 1988-12-07 1988-12-07 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPH02155062A true JPH02155062A (ja) 1990-06-14

Family

ID=17992551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30939988A Pending JPH02155062A (ja) 1988-12-07 1988-12-07 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH02155062A (ja)

Similar Documents

Publication Publication Date Title
US5056000A (en) Synchronized parallel processing with shared memory
US4414624A (en) Multiple-microcomputer processing
EP0192944B1 (en) Data processing system with a main processor and a co-processor sharing the same resources
US4394730A (en) Multi-processor system employing job-swapping between different priority processors
US4318174A (en) Multi-processor system employing job-swapping between different priority processors
GB2166271A (en) Method of appointing an executive in a distributed processing system
EP0355463B1 (en) Timer channel with multiple timer reference features
EP0354998B1 (en) Timer channel for use in a multiple channel timer system
JPH0376496B2 (ja)
JPS62243058A (ja) マルチプロセツサシステムの割込制御方法
EP0355462B1 (en) Dedicated service processor with inter-channel communication features
JPH04312160A (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
GB2398651A (en) Automatical task allocation in a processor array
JPH02155062A (ja) マルチプロセッサシステム
JP2585905B2 (ja) マルチタスク実行装置
JPS6097440A (ja) 仮想多重プロセツサ装置
JPS6315628B2 (ja)
JPS62295168A (ja) 機器制御装置
JP3547012B2 (ja) マイクロコンピュータ
JPH0666062B2 (ja) シーケンス制御装置
JPS61101865A (ja) マルチマイクロプロセツサシステム
JPH0666063B2 (ja) シーケンス制御装置
JPH0340169A (ja) 多重プロセツサシステムおよび複数の処理装置を制御する方法
RU1777147C (ru) Мультипрограммное вычислительное устройство
JP2965133B2 (ja) プロセッサシステム