JP2647092B2 - マルチプロセツサシステム - Google Patents

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

Info

Publication number
JP2647092B2
JP2647092B2 JP62171435A JP17143587A JP2647092B2 JP 2647092 B2 JP2647092 B2 JP 2647092B2 JP 62171435 A JP62171435 A JP 62171435A JP 17143587 A JP17143587 A JP 17143587A JP 2647092 B2 JP2647092 B2 JP 2647092B2
Authority
JP
Japan
Prior art keywords
processor
memory
address
data
unit
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
JP62171435A
Other languages
English (en)
Other versions
JPS6415858A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP62171435A priority Critical patent/JP2647092B2/ja
Publication of JPS6415858A publication Critical patent/JPS6415858A/ja
Application granted granted Critical
Publication of JP2647092B2 publication Critical patent/JP2647092B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は複数個のプロセッサを備えたマルチプロセ
ッサシステムに係り、特にプロセッサとメモリとの間の
配線の数を削減するようにしたものである。
(従来の技術) フォンノイマン型電子計算機の処理速度の向上が図れ
ない要因として、中央処理装置と主記憶装置との間のデ
ータ転送速度がある。この対策としては、メモリを階層
化、例えばキャシュ方式化して見掛け上のメモリ速度を
上げることが行われている。他方、計算機自体も、命令
フェッチ,デコード等をパイプライン方式により行なう
等の工夫がなされている。ところが、これらはいずれも
記憶装置のアクセスの順に統計的法則、いわゆる癖があ
ることを利用したものである。このため、全くランダム
なジャンプ等、規則性のないアクセスに対しては本質的
に無効である。従って、従来ではさらに種々の工夫によ
り性能を上げるようにしているが、計算機自体の構成は
大層複雑化してきている。
ところで、これとは別の角度から複数のデータを同時
に処理するとか、一つの処理を複数の並列処理に分解し
て行なうというマルチプロセッサ方式のものが考えられ
ている。第11図はこのマルチプロセッサシステムの構成
を示すブロック図である。図中、60はそれぞれ単位プロ
セッサユニットであり、各単位プロセッサユニット60は
それぞれCPU61とメモリ62とで構成されている。そして
各単位プロセッサユニット60内のCPU61は隣接する4個
の単位プロセッサユニット内のCPUと通信線63を介して
接続されている。このようなマルチプロセッサシステム
では、計算の並列性は良く実現されている。しかしなが
ら、単位プロセッサユニット60相互間にはそれぞれ通信
線63を設けることが必要であり、これにより全体の配線
の数が極めて多くなって装置全体の構成が複雑化すると
いう問題がある。
(発明が解決しようとする問題点) このように従来のマルチプロセッサでは、配線の数が
多くなることより構成が複雑化するという問題がある。
そこで、この発明は配線の数を減少させることによっ
て構成を簡単にすることができるマルチプロセッサシス
テムを提供することを目的とする。
[発明の構成] (問題点を解決するための手段) この発明のマルチプロセッサシステムは、独立なプロ
グラムが並列に実行可能な複数のプロセッサ部と、上記
各プロセッサ部がアクセスするメモリ部と、上記各プロ
セッサ部と上記メモリ部との間に設けられ各プロセッサ
部が一つのメモリサイクル期間よりも短い期間毎に時分
割して順次使用する共通のアドレス信号バスとから構成
されている。
(作用) この発明のマルチプロセッサシステムでは、複数のプ
ロセッサ部に対して共通のアドレス信号バスを設け、各
プロセッサ部がこのアドレス信号バスを時分割的に使用
することによって配線の数が削減される。
(実施例) 以下、図面を参照してこの発明の一実施例を説明す
る。第1図はこの発明の原理を説明するためのものであ
り、マルチプロセッサシステムのブロック図を示してい
る。図において、1はそれぞれ独立なプログラムが並列
に実行可能なプロセッサである。また、2はそれぞれ上
記各プロセッサ1がアクセスするメモリである。上記複
数のプロセッサ1とメモリ2との間には各プロセッサ1
が時分割的に使用する共通のアドレス信号バス3が設け
られている。なお、ここでいう、アドレス信号バス3の
時分割的な使用の詳細については後に詳述する。
このような構成によれば、複数のプロセッサ1及びメ
モリ2の対して必要ビット数分の共通のアドレス信号バ
ス3のみを設ければよいので、配線数を従来のものより
も大幅に削減することができる。なお、この第1図回路
ではデータバスについては図示していないが、このデー
タバスについては各プロセッサ毎に独立して設けてもよ
く、あるいはアドレス信号バス3と同様に各プロセッサ
1で共通のデータバスを設けるようにしてもよい。
第2図はこの発明の原理を説明するための他のマルチ
プロセッサシステムのブロック図を示すものであり、こ
の例では各プロセッサ1で共通のデータバス4を設ける
ようにしたものである。このようにデータバス4も共通
化することにより、配線の数をより削減することができ
る。
第3図はこの発明に係るマルチプロセッサシステムの
実施例の構成を示すブロック図である。この実施例では
上記第2図に示すように共通のアドレス信号バス3と共
通のデータバス4を設けた上で、各メモリ2の記憶領域
をプロセッサ1の数に対応した領域に分け、各プロセッ
サ1が通常にアクセスする固有領域を各メモリ2のそれ
ぞれ特定の記憶領域に設定するようにしたものである。
すなわち、各プロセッサから見た場合、それぞれの固有
領域を複数のメモリにわたって設定したものである。例
えば、各メモリ2をワード幅のビットに対応させ、記憶
領域をプロセッサ1の数に対応して複数の番地からなる
領域に分け、通常動作時にプロセッサ1aは複数の各メモ
リ2の領域b0のみをアクセスし、プロセッサ1iでは複数
の各メモリ2の領域biのみをアクセスし、さらにプロセ
ッサ1mでは複数の各メモリ2の領域bmのみをアクセスす
る。このとき、メモリ2の数がn個である場合、それぞ
れのプロセッサ1はnビットのデータを1ワードとして
アクセスすることになる。この実施例によれば各メモリ
は特定のiビットのみをドライブすればよいので負荷が
軽くなり、入出力バッファ用集積回路を介さずに各プロ
セッサに直接接続することができる。
第4図は上記第3図の実施例によるマルチプロセッサ
システムの具体的構成を示す回路図である。図におい
て、10は複数のプロセッサを内蔵した中央演算処理装置
用集積回路(以下、CPU−ICと称する)であり、11はそ
れぞれ4Mビットの記憶容量を持つ合計64個のメモリ用集
積回路(以下、メモリ−ICと称する)である。上記CPU
−IC10は0ビットから22ビットまでの合計23ビットのア
ドレス信号A0〜A22の上記各メモリ−IC11のデータの書
込み、読出しを制御するための書込み制御信号WEを出力
すると共に32ビット長データのリード、ライトを行な
う。なお、上記64個のメモリ−IC11は2個で1組にされ
ており、1組2個のメモリ−ICで1ビット分の低位と高
位のアドレスを受け持っている。
12は上記64個のメモリ−IC11に対して共通に設けられ
た22ビット分のアドレス信号バスであり、上記CPU−IC1
0から出力されるアドレス信号A17を除いた22ビットのア
ドレス信号A0〜A16,A18〜A22がこのバス12を介して上記
64個のメモリIC11に並列に供給されている。また、CPU
−IC10から出力されるアドレス信号A17は専用の信号線1
3を介して上記各1組2個のそれぞれ一方のメモリ−IC1
1に並列に供給されている。さらに、このアドレス信号A
17はインバータ用IC14で反転され、この反転された信号
も専用の信号線15を介して上記各1組2個のそれぞれ他
方のメモリ−IC11に並列に供給されている。また書込み
制御信号WEは信号線16を介して全てのメモリ−IC11に並
列に供給されている。
17は上記64個のメモリ−IC11に対して共通に設けられ
た32ビット分の第1のデータバスであり、このデータバ
ス17はCPU−IC10から各メモリ−IC11に書込むための32
ビット長のデータを上記各メモリ−IC11に転送する。18
は上記64個のメモリ−IC11に対して共通に設けられた32
ビット分の第2のデータバスであり、このデータバス18
は上記64個のメモリ−IC11のうち32個から読み出される
32ビット長のデータをCPU−IC10に転送する。また、19
は他のCPU−IC10との間でデータ通信を行なう際に使用
される通信線である。
第5図は上記第4図中のCPU−IC10の詳細な構成を示
すブロック図である。このIC10内には32個の独立したプ
ロセッサP0〜P31、これら各プロセッサPから出力され
る複数ビットのアドレス信号が供給される複数ビット構
成のトライステートバッフア回路21、各プロセッサPか
ら出力される書込み制御信号WEが供給されるトライステ
ートバッフア回路22、各プロセッサPから出力される複
数ビットのデータが供給される複数ビット構成のトライ
ステートバッフア回路23、5ビットのカウンタ24、デコ
ーダ25、加算回路26及びデコーダ17が設けられている。
上記各プロセッサPは例えばそれぞれがUNIXのOS(オ
ペレーティングシステム)の下で動作することができる
ようになっている。従って、32個のプロセッサP0〜P31
のうち1個のみでもマルチユーザータスクの動作を十分
に行なうことが可能である。さらに、これら各プロセッ
サPそれぞれが固有にアクセス可能なメモリの記憶容量
は4バイト×256Kワードであり、それぞれがメモリアク
セスを行なう際には18ビットのアドレス信号A0〜A17と
書込み制御信号WEを出力する。各プロセッサPから出力
されるアドレス信号A0〜A17と書込み制御信号WEはそれ
ぞれ対応するトライステートバッフア回路21、22を介し
て、アドレス信号は第4図中のアドレス信号バス12に、
書込み制御信号WEは第4図中の信号線16に出力される。
また、各プロセッサPから出力されたデータはそれぞれ
対応するトライステートバッフア回路23を介して第4図
中のデータバス17に出力され、第4図中のメモリ−IC11
からの読み出しデータは第4図中のデータバス18を介し
て各プロセッサPに供給される。
上記カウンタ24は例えば80MHzのクロックパルスをカ
ウントする毎にカウント値を更新し、この5ビットのカ
ウント内容をアドレス信号A18〜A22として第4図中のア
ドレス信号バス12に出力する。また、上記カウンタ24の
5ビットのカウント内容はデコーダ25及び加算回路26に
供給されている。
デコーダ25はこのカウント内容をデコードすることに
よって、32本の出力線のうちの1本のみを選択的に活性
化する。これらデコーダ25の32本の各出力線の信号は上
記32個のプロセッサP0〜P31にそれぞれ供給されてお
り、これらの信号に基づいて32個のプロセッサPのうち
1個のみが同期がとられ、活性化される。さらに、上記
デコーダ25の32本の各出力線の信号は上記32個の各プロ
セッサP0〜P31に対応して設けられたトライステートバ
ッフア回路21及び22それぞれ供給されており、これらの
信号に基づいて1組のトライステートバッフア回路21、
22が活性化される。
加算回路26は上記カウンタ24のカウント内容に対して
定数8を加算する。なお、この8という数はシステムタ
イミングの都合であり、別の値であってもよい。また、
以下に述べるいくつかの定数についても同様である。こ
の加算回路26の出力はデコーダ27に供給される。このデ
コーダ27は加算回路26の出力をデコードすることによっ
て、32本の出力線のうちの1本のみを選択的に活性化す
る。これらデコーダ27の32本の各出力線の信号は上記32
個のプロセッサP0〜P31に対応して設けられたトライス
テートバッフア回路23に供給されており、これらの信号
に基づいて1個のトライステートバッフア回路23のみが
活性化される。
第6図は上記第4図中のメモリ−IC1個分の内部の詳
細な構成を示すブロック図である。このIC11内にはそれ
ぞれ128Kビットの記憶容量を持つ32個のメモリバンクM0
〜M31から読み出されるデータが供給される32個のトラ
イステートバッフア回路31、これら各メモリバンクMそ
れぞれにアドレス信号を供給するための32個のアドレス
保持レジスタ32、各メモリバンクMそれぞれに書込み指
示信号を供給するための32個の書込みフラグレジスタ3
3、アンド回路34、加算回路35,36、デコーダ37,38,39、
遅延回路40及びトライステートバッフア回路41が設けら
れている。
上記各アドレスレジスタ32には、第4図中のアドレス
信号バス12を介して転送されてきたアドレス信号A0〜A1
6が並列に供給される。また、アンド回路34には第4図
中の信号線16を介して転送されてきた書込み制御信号WE
と、第4図中の信号線13もしくは15を介して転送されて
きたアドレス信号A17もしくはその反転信号17としての
チップセレクト信号CSとが供給される。そして、このア
ンド回路34の出力信号は32個の書込みフラグレジスタ33
に並列に供給される。
上記デコーダ37は、第5図のCPU−ICから出力され、
アドレス信号バス12を介して転送されてきたアドレス信
号A18〜A22をデコードすることによって、32本の出力線
のうちの1本のみを選択的に活性化する。これらデコー
ダ37の32本の各出力線の信号は上記32個のアドレス保持
レジスタ32、書込みフラグレジスタ33それぞれに供給さ
れており、これらの信号に基づいてそれぞれ32個のアド
レス保持レジスタ32、書込みフラグレジスタ33のうちそ
れぞれ1個の内容が更新制御される。
上記加算回路35は上記アドレス信号A18〜A22の内容に
対して定数8を加算する。この加算回路35の出力はデコ
ーダ38に供給される。このデコーダ38は加算回路35の出
力をデコードすることによって、32本の出力線のうちの
1本のみを選択的に活性化する。これらデコーダ38の32
本の各出力線の信号は上記32個のメモリバンクMに供給
されており、これらの信号に基づいて1個のメモリバン
クのみが活性化される。
加算回路36は上記アドレス信号A18〜A22の内容に対し
て定数16を加算する。この加算回路36の出力はデコーダ
39に供給される。このデコーダ39は加算回路36の出力を
デコードすることによって、32本の出力線のうちの1本
のみを選択的に活性化する。これらデコーダ39の32本の
各出力線の信号は上記32個のメモリバンクM0〜M31に対
応して設けられたトライステートバッフア回路31に供給
されており、これらの信号に基づいて1個のトライステ
ートバッフア回路31のみが活性化される。
遅延回路40は上記チップセレクト信号CSをクロックパ
ルス16個分に相当する時間だけ遅延するものであり、そ
の出力はトライステートバッフア回路41に供給されてい
る。
上記トライステートバッフア回路41には上記32個のト
ライステートバッフア回路31のいずれか介して出力され
るメモリバンクMからの読み出しデータが供給されてお
り、この読み出しデータは第4図中のデータバス18の1
ビット分を介して前記CPU−IC10に入力される。また、C
PU−IC10から出力され、第4図中のデータバス17の1ビ
ット分を介して供給されるデータは32個のメモリバンク
M0〜M31に並列に供給される。
なお、上記クロックパルスは、図示しないがCPU−IC1
0から各メモリ−IC11に供給されている。
第7図は上記プロセッサシステムで採用しているアド
レス構成を示す図である。すなわち、A0〜A17からなる1
8ビットのアドレス信号51は通常動作時に各プロセッサ
Pが出力するものであり、このうち最上位ビット信号A1
7はチップセレクト用に使用される。A18〜A22からなる
5ビットのアドレス信号52はカウンタ24が出力し、プロ
セッサ番号識別のために使用される。
上記実施例のプロセッサシステムでは、共通のアドレ
ス信号バス12、データバス17及び18を32個のプロセッサ
P0〜P31に対して時分割的に順次使用させるようにして
いる。次にその動作を第8図のタイミングチャートを用
いて説明する。
カウンタ24がカウントする80MHzのクロックパルスの
1クロック時間をステートと呼ぶと、400n秒(0.4μ
秒)の間に32のステートが存在する。まず、最初の第0
ステートでは、デコーダ25の出力により第0番目のプロ
セッサP0が活性化され、かつ第0番目のプロセッサP0に
対応したトライステートバッファ21,22が活性化され
る。これにより、第0番目のプロセッサP0からアドレス
信号A0〜A17と書込み制御信号WEとが出力され、この信
号はトライステートバッファ21,22を介してアドレス信
号バス12、信号線16に出力される。このとき、カウンン
タ24からはアドレス信号A18〜A22が出力されており、こ
の信号もアドレス信号バス12に出力される。
また、加算回路26により、このときのカウンタ24の内
容に定数8が加算され、この加算結果がデコーダ27でデ
コードされる。このときのデコード出力により第8番目
のプロセッサP8に対応したトライステートバッファ回路
23が活性され、対応するプロセッサP8からの書込み用の
データがトライステートバッファ回路23を介してデータ
バス17に出力される。
アドレス信号バス12を経由して各メモリ−IC11に供給
されたアドレス信号A18〜A22は各IC内のデコーダ37でデ
コードされる。このときのデコード出力により、第0番
目のメモリバンクM0に対応したアドレス保持レジスタ32
にアドレスA0〜A16の内容が保持され、かつアンド回路3
4の出力が書込みフラグレジスタ33に保持される。
一方、加算回路35により上記アドレス信号A18〜A22の
内容に定数8が加算され、この加算結果がデコーダ38で
デコードされる。このときのデコード出力により第8番
目のメモリバンクM8が活性化される。このメモリバンク
M8に対応した書込みフラグレジスタ33に予め保持されて
いる値が1である場合には、レジスタ33の内容に基づい
てライトパルスが生成され、アドレス保持レジスタ32に
保持されているアドレスの位置にCPU−ICからの32ビッ
トの書込み用データの1ビットが書込まれる。
他方、加算回路36により上記アドレス信号A18〜A22の
内容に定数16が加算され、この加算結果がデコーダ39で
デコードされる。このときのデコード出力により第16番
目のメモリバンクM16に対応したトライステートバッフ
ァ回路31が活性され、対応するメモリバンクM16からの
読み出しデータがトライステートバッファ回路41を介し
てデータバス18上に出力される。
ここで一つのプロセッサ、例えばプロセッサP0に注目
すると、第0番目のステートでこのプロセッサP0からア
ドレス信号A0〜A17が出力され、このうちのアドレス信
号A0〜A16がメモリバンクM0に対応したアドレス保持レ
ジスタ32に保持される。第16番目のステートではアドレ
ス保持レジスタ32の内容に応じた多ビットのメモリバン
クM0の番地からデータが読み出され(データリード)、
CPU−IC10に転送される。このような動作が32個のメモ
リ−ICで同様に行われ、都合32ビットのデータがCPU−I
C10に転送される。
0番目のプロセッサP0は内部のタイマーにより、第16
ステートのタイミングにデータを収集する。プロセッサ
P0はこのデータに加工を加える。例えばバイトライトの
時には書込みデータが4バイト(32ビット)分あるた
め、3バイトは読み込みデータをそのまま用い、1バイ
トの書き込みデータをこれに加えて全体を4バイトと
し、第24ステートのタイミングにトライステートバッフ
ァ回路23を介してデータバス17上に出力する。これによ
り第24ステートのときに、メモリバンクM0でデータ書込
み(データライト)が行われる。すなわち、上記実施例
によれば、プロセッサP0〜P32がアドレス信号バス12を
使用する順番に対応した順番で、データバス17では、各
プロセッサから出力される書込み用のデータやメモリバ
ンクからの読み出しデータ、すなわち各プロセッサに付
随したデータが転送される。
このように上記実施例によれば、複数のプロセッサを
備えたシステムにおいて、共通のアドレス信号バスとデ
ータバスとを時分割で使用するようにしたので、従来よ
りも配線の数を少なくすることができる。この結果、シ
ステム構成が簡単になる。
また、上記の場合には通常動作についてのみ説明した
が、このようなバス構造を用いると、あるプロセッサP
に対応するメモリバンクM内の対応する番地以外をアク
セスすることも容易であり、プロセッサ相互間の通信を
容易に行なわせることもできる。すなわち、本来、例え
ば第0番のプロセッサP0がアドレスを出力すべき時にこ
のプロセッサP0を待たせて第1番のプロセッサP1にアド
レスを出力させ、第0番のプロセッサP0のタイミングで
データの入出力を行なえば、プロセッサP0とP1との間で
相互にデータの通信を行なうことができる。
ところで、第4図のマルチプロセッサシステムでは全
体をわずか33個のICによって構成することができる。し
かも各プロセッサは400n秒間のメモリサイクルにリード
/ライトが可能なため、一命令を平均600n秒で行なうこ
とができ、1.5Mipsの処理能力がある。これは同じ1個
のLSIに集積できる複雑なアーキテクチュアを持つマイ
クロプロセッサの約1/4の処理能力である。一方、32個
のプロセッサで並列処理を行なっているために、データ
処理能力は1.5×32=48Mipsとなる。これは同規模の非
並列処理型計算機の約8倍の処理能力である。このよう
な高い処理効率を得ることができたのは、32個のプロセ
ッサを1チップに集積化したことによる。すなわち、前
記第4図中のCPU−IC10は例えば1M個程度のトランジス
タを集積することにより構成され、各プロセッサ当りの
トランジスタはそれぞれ30K個程度であり、ほぼ16ビッ
トプロセッサ程度の規模である。しかし、この程度のプ
ロセッサでも設計工数は約10人年を要する。従って、そ
の32倍の複雑きわまりないアーキテクャアではその設計
工数は10人年×32以上となり、論理設計がおろそかにな
る上、パターン設計が機械的に行われるため、人手によ
るパターン設計の約1/4位しか素子集積密度を上げるこ
とができない。しかるに、上記実施例のマルチプロセッ
サシステムでは、綿密に設計した1個のプロセッサのパ
ターンを用いることによって32個分のプロセッサを実現
することができるので、同一能力を有する単一プロセッ
サの4倍以上の集積密度を実現することができる。
他方、上記実施例によるものと同様のアーキテクテャ
アを持つプロセッサとメモリとを同一ICに内蔵したもの
を使用する場合は、全体のICの数は32個と同じレベルに
なるものの、前記したような通信のネックによって高性
能を発揮することができない。
また、32個のプロセッサが全く同一機能のものである
利点を生かして、比較的簡単なOSの拡張によりベクトル
プロセッサを構成することも可能である。
第9図は前記第4図中のCPU−IC10の別の詳細な構成
を示すブロック図である。第5図のものは、400n秒のう
ちに32個のプロセッサに巡回して周期的にバス使用権を
与えるものであった。これに対して、第9図のものはバ
ス使用権をプロセッサPからの要求に基づいて与えるよ
うにしている。この場合には前記カウンタ24、デコーダ
25,27及び加算回路26の代わりに指定制御回路71、及び
遅延回路72が設けられている。さらに指定制御回路71と
各プロセッサPとの間にはアドレスバス要求線73、要求
アドレス信号線74、使用許可信号線75がそれぞれ設けら
れている。また、上記信号線75はトライステートバッフ
ァ回路21,22及び24クロック分の遅延を行なう遅延回路7
2にも接続されており、信号線75の信号は遅延回路72で
遅延された後に前記トライステートバッファ回路23に出
力される。
このような構成において、プロセッサPはアドレスバ
ス要求線73を活性化する。第9図ではこの信号線73等を
プロセッサP0に属する1本のみを代表的に図示している
が、P1〜P31の各プロセッサに対しても同様に信号線が
設けられている。信号線74は上記アドレスバス要求線73
に附随しており、5本の信号線で構成されている。この
5本の信号線74は、上位アドレス18〜A23で示されるど
の領域にアクセスしたいのかを示すものである。指定制
御回路71は次のようにしてアドレスバス使用許可応答信
号線75を活性化する。指定制御回路71内では図示しない
5ビットの2進カウンタが第5図の場合と同様に80MHz
のクロックをカウントしている。32本のアドレスバス要
求線73のうち、活性化されたものがあり、かつその要求
線に附随した信号線74の示す5ビットの値が指定制御回
路71内の2進カウンタの5ビットの値と一致したとき
に、指定制御回路71はその要求先のプロセッサに対して
トライステートバッファ回路21,22を活性化すると共
に、アドレスバスの使用権が許可されたことを信号線75
を用いて示す。もし、2つ以上のプロセッサが同時に許
可の条件を満たすときは、若い番号のプロセッサPに対
して許可信号を与える。従って、プロセッサP0は最も優
先度が高く、P31は最も低い。しかし、それぞれのプロ
セッサがA18〜A22の5ビットで示される32領域の1つず
つを固有のアクセス領域として実行を行なっている限り
は同じ性能を有し、第5図の場合と同じ動作になる。し
かし、プロセッサ間の相互通信を考えるならば、この回
路のようにプロセッサ間に多少の強弱関係が発生しても
通信が行なえるという効果の方が大きい。この第9図の
CPU−ICのように、32個のプロセッサに対して絶対的な
強弱関係をつけるのではなく、若い番号のプロセッサは
強いが、31番目のプロセッサP31は0番目のプロセッサP
0より強いというように回転した状態で強弱を設定する
ようにしてもよい。この場合、各プロセッサは自分の固
有領域をアクセスするときは最も強く、固有領域から離
れている領域をアクセスするときは弱くなる。また別の
変形例として、強弱の与え方を図示しないレジスタに記
憶させることによってプログラマブルにすることも可能
である。なお、この第9図のCPU−ICに適合するメモリ
−ICは前記第6図のものと同じものでよい。
第9図のCPU−ICの応用例として、32個のプロセッサ
Pの全てが独立なプロセッサではなく、例えば偶数番の
16個がプロセッサであり、奇数番の16個はそれぞれ、1
番目が1番目のプロセッサにという如く、自己の番号か
ら1を差し引いた番号のプロセッサに附随するメモリア
クセス用のプロセッサとしてもよい。この場合、例えば
偶数番目のプロセッサは命令コードのアクセスを行な
い、奇数番目のプロセッサはデータのアクセスを行な
う。このような構成とすることにより、命令フェッチと
オペランドフェッチとが互いに待たされることなしに並
行して行なうことができる。
あるいは、奇数番目のプロセッサはスタックデータの
アクセス専用に用いるようにしてもよい。これにより、
スタック動作と主な制御動作とを互いに待たされること
なしに並列に行なわせることができる。
上記のように動作を分担させて行なわせる場合の分担
数は2個に限らない。例えば、命令コード、データ、ス
タックを別の通常アクセスする空間において、それぞれ
独立にアクセスさせることにより、1本のバスを時分割
によって独立に使用でき、いわゆるメモリアドレスバス
のボトルネックを避けることができる。
上記のように複数のアクセス主体によって1つのプロ
セッサ機能を実現する場合、通常はそれぞれの主体が固
有の領域をアクセスすればよいが、データの移動時等に
は他の主体のアクセス空間のアクセスを行なう必要があ
る。この場合には例えば先に説明したように、若い番号
のプロセッサ(アクセス主体)の優先度が高くなるよう
にして、前記指定制御回路71の応答信号により調節を行
なう。独立したプロセッサは上記のような使い方の他
に、表示制御、通信制御、入出力制御等のように専用の
目的に用いて、他のプロセッサの割込みを少なくするよ
うな使い方も可能である。
第10図は前記CPU−IC10のさらに異なる構成を示すブ
ロック図である。前記第5図及び第9図の場合、各プロ
セッサPは下位18ビットのアドレスをメモリ−ICに出力
し、プロセッサ外の制御回路が上位5ビットのアドレス
を出力していた。ところが、この場合、各プロセッサP
は中位の18ビットのアドレスA1〜A18を出力し、上位4
ビットのA19〜A22と最下位ビットA0とを指定制御回路71
から出力するようにしたものである。このとき、32個の
プロセッサは0番と1番、2番と3番、…30番と31番と
いう如く、2個ずつ組を作り、16組に分けられており、
32個のメモリ−ICも2個ずつ、16組に分けられている。
そして、前記第5図もしくは第9図のように、各プロセ
ッサ1個に対して個のメモリバンクが対応するのではな
く、2個のプロセッサに対して2個のメモリバンクが対
応している。ここで、5本からなる信号線74は4本と1
本に分けられている。このうちの4本は16組のアドレス
領域の1つを指定するものであり、残りの1本は最下位
アドレスに対応している。この最下位アドレスは偶数ワ
ードか奇数ワードかを指定するためのものである。ま
た、指定制御回路71は16組のそれぞれに対してその組に
固有なメモリ領域を優先してアクセスさせる。同じ組の
中では偶数番のプロセッサが奇数番よりも強く、優先し
てアドレスバス権を確保する。このため、偶数番のプロ
セッサは、400n秒に2回メモリアクセスを行なうことが
できる。奇数番のプロセッサは400n秒に1回もメモリア
クセスが行なえないこともあるが、偶数番のものが使用
しないときには2回のメモリアクセスが行なえることも
ある。各プロセッサに1対1にメモリ領域を割当てるよ
りも、2個のプロセッサに2個のメモリ領域を与えた方
が効率が向上する場合が多い。これは、プロセッサの動
作でメモリを要求しないサイクルがあるからである。
[発明の効果] 以上説明したようにこの発明によれば、配線の数を減
少させることによって構成を簡単にすることができるマ
ルチプロセッサシステムを提供することができる。
【図面の簡単な説明】
第1図はこの発明の原理を説明するために用いるマルチ
プロセッサシステムの構成を示すブロック図、第2図は
同様にこの発明の原理を説明するために用いる他のマル
チプロセッサシステムの構成を示すブロック図、第3図
はこの発明の実施例によるマルチプロセッサシステムの
構成を示すブロック図、第4図は上記第3図の実施例シ
ステムの具体的構成を示す回路図、第5図は上記第4図
のシステムにおけるCPU−ICの詳細な構成を示すブロッ
ク図、第6図は上記第4図のシステムにおけるメモリ−
ICの詳細な構成を示すブロック図、第7図は第4図の実
施例システムで採用しているアドレス構成を示す図、第
8図は第4図の実施例システムのタイミングチャート、
第9図は第5図とは異なるCPU−ICの詳細な構成を示す
ブロック図、第10図は第9図とは異なるCPU−ICの詳細
な構成を示すブロック図、第11図は従来システムの構成
を示すブロック図である。 1……プロセッサ、2……メモリ、3……アドレス信号
バス、4……データバス、10……中央演算処理装置用集
積回路(CPU−IC)、11……メモリ用集積回路(メモリ
−IC)、12……アドレス信号バス、13,15,16……信号
線、17……第1のデータバス、18……第2のデータバ
ス、P……プロセッサ、21,22,23,31,41……トライステ
ートバッファ回路、24……カウンタ、25,27,37,38,39…
…デコーダ、26,35,36……加算回路、M……メモリバン
ク、32……アドレス保持レジスタ、33……書込みフラグ
レジスタ、34……アンド回路、40……遅延回路。

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】独立なプログラムが並列に実行可能な複数
    のプロセッサ部と、 上記各プロセッサ部がアクセスするメモリ部と、 上記各プロセッサ部と上記メモリ部との間に設けられ、
    各プロセッサ部が一つのメモリサイクル期間よりも短い
    期間毎に時分割して使用する共通のアドレス信号バス
    と、 上記各プロセッサ部と上記メモリ部との間に設けられ、
    各プロセッサ部が一つのメモリサイクル期間よりも短い
    期間毎に時分割して使用する共通のデータバスと、 上記複数のプロセッサ部と共に同一半導体集積回路装置
    内に設けられ、上記アドレス信号バス及びデータバスを
    使用するプロセッサ部を順次指定するモードを有する指
    定制御回路とを具備し、 上記共通のデータバスでは、上記複数のプロセッサ部が
    上記共通のアドレス信号バスを使用する順番に対応した
    順番で各プロセッサ部に付随したデータが転送されるこ
    とを特徴とするマルチプロセッサシステム。
  2. 【請求項2】前記データバスが、前記各プロセッサ部か
    ら前記メモリ部に転送すべきデータを伝達する第1の共
    通バスと、前記メモリ部から前記各プロセッサ部に転送
    すべきデータを伝達する第2の共通バスとから構成され
    ている特許請求の範囲第1項に記載のマルチプロセッサ
    システム。
  3. 【請求項3】前記メモリ部が複数個のメモリ用集積回路
    で構成され、前記各プロセッサ部が通常にアクセスする
    固有領域がこれら複数個のメモリ用集積回路にわたって
    設定されている特許請求の範囲第1項に記載のマルチプ
    ロセッサシステム。
  4. 【請求項4】前記複数のプロセッサ部には独立なプロセ
    ッサ部のいずれかに属しており、前記メモリ部との間の
    データ制御のみを行なうデータ制御部またはスタックデ
    ータ制御のみを行なうスタックデータ制御部が含まれて
    いる特許請求の範囲第1項に記載のマルチプロセッサシ
    ステム。
  5. 【請求項5】前記メモリ部が、アドレス信号線と、書込
    み制御信号線と、複数の記憶回路と、上記複数の記憶回
    路それぞれに対するアドレスを保持するアドレス値保持
    レジスタと、上記複数の記憶回路それぞれに対する書込
    み制御信号を保持する書込み制御信号保持レジスタと、
    上記アドレス信号線の信号に基づいてアドレス信号を保
    持させるアドレス値保持レジスタ及び書込み制御信号を
    保持保持させる書込み制御信号保持レジスタをそれぞれ
    指定する指定制御回路とを備えている特許請求の範囲第
    1項に記載のマルチプロセッサシステム。
  6. 【請求項6】前記複数のプロセッサ部は、一つのメモリ
    サイクル中の始めに前記メモリ部からデータの読み出し
    を行ないその後にメモリ部にデータの書き込みを行なう
    ようにされている特許請求の範囲第1項に記載のマルチ
    プロセッサシステム。
  7. 【請求項7】前記指定制御回路は、前記各プロセッサ部
    からのメモリ部の使用要求信号に対し、定められた優先
    度に従って使用を許可するプロセッサ部に対して許可信
    号を出力する特許請求の範囲第1項に記載のマルチプロ
    セッサシステム。
  8. 【請求項8】前記各プロセッサ部からのメモリ部の使用
    要求信号には、メモリアドレスの一部の信号線が附随
    し、前記指定制御回路はメモリ部の使用を要求するプロ
    セッサ部と上記附随信号線のアドレスに基づいて優先度
    を判断し、使用を許可するプロセッサ部に対して許可信
    号を出力する特許請求の範囲第7項に記載のマルチプロ
    セッサシステム。
  9. 【請求項9】前記メモリアドレスの一部の信号線は、メ
    モリ空間の最上位のアドレスと最下位のアドレスの両方
    が含まれている特許請求の範囲第8項に記載のマルチプ
    ロセッサシステム。
JP62171435A 1987-07-09 1987-07-09 マルチプロセツサシステム Expired - Fee Related JP2647092B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62171435A JP2647092B2 (ja) 1987-07-09 1987-07-09 マルチプロセツサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62171435A JP2647092B2 (ja) 1987-07-09 1987-07-09 マルチプロセツサシステム

Publications (2)

Publication Number Publication Date
JPS6415858A JPS6415858A (en) 1989-01-19
JP2647092B2 true JP2647092B2 (ja) 1997-08-27

Family

ID=15923069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62171435A Expired - Fee Related JP2647092B2 (ja) 1987-07-09 1987-07-09 マルチプロセツサシステム

Country Status (1)

Country Link
JP (1) JP2647092B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3614650B2 (ja) 1998-03-20 2005-01-26 富士通株式会社 マルチプロセッサ制御方式及びこれに用いられるブート装置及びブート制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5930292B2 (ja) * 1975-12-17 1984-07-26 日本電気株式会社 ソウチカンケツゴウホウシキ
US4146273A (en) * 1977-08-29 1979-03-27 Spisak Edward G Retainer for wheel trim

Also Published As

Publication number Publication date
JPS6415858A (en) 1989-01-19

Similar Documents

Publication Publication Date Title
EP0886225B1 (en) Microprocessor architecture capable of supporting multiple heterogenous processors
US5043874A (en) Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US5608881A (en) Microcomputer system for accessing hierarchical buses
KR920008430B1 (ko) 처리 판독 메모리 장치
US6665774B2 (en) Vector and scalar data cache for a vector multiprocessor
US4831520A (en) Bus interface circuit for digital data processor
US5953738A (en) DRAM with integral SRAM and arithmetic-logic units
US6463529B1 (en) Processor based system with system wide reset and partial system reset capabilities
EP0523764A2 (en) Computer system having direct bus attachment between processor and dynamic main memory, and having in-processor DMA control with respect to a plurality of data exchange means also connected to said bus, and central processor for use in such computer system
US5689677A (en) Circuit for enhancing performance of a computer for personal use
US5870602A (en) Multi-processor system with system wide reset and partial system reset capabilities
JP3039557B2 (ja) 記憶装置
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
JPS6297036A (ja) 計算機システム
JPH0282330A (ja) ムーブアウト・システム
JPH0438014B2 (ja)
US4964037A (en) Memory addressing arrangement
JP2647092B2 (ja) マルチプロセツサシステム
US5568631A (en) Multiprocessor system with a shared control store accessed with predicted addresses
US6938118B1 (en) Controlling access to a primary memory
JP2618223B2 (ja) シングルチツプマイクロコンピユータ
WO2001025941A1 (en) Multiprocessor computer systems with command fifo buffer at each target device
JPH0227696B2 (ja) Johoshorisochi
EP0380844A2 (en) Method and means for interfacing a system control unit for a multi-processor system with the system main memory
JPS60195661A (ja) デ−タ処理システム

Legal Events

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