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

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

Info

Publication number
JPH10334055A
JPH10334055A JP14538397A JP14538397A JPH10334055A JP H10334055 A JPH10334055 A JP H10334055A JP 14538397 A JP14538397 A JP 14538397A JP 14538397 A JP14538397 A JP 14538397A JP H10334055 A JPH10334055 A JP H10334055A
Authority
JP
Japan
Prior art keywords
processor
virtual processor
virtual
processors
application software
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
JP14538397A
Other languages
English (en)
Inventor
Yukihiro Tamura
征大 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP14538397A priority Critical patent/JPH10334055A/ja
Publication of JPH10334055A publication Critical patent/JPH10334055A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 特定のアプリケーションソフトウェアに固有
の拡張機能を、システムの上位互換性を保ったまま容易
にシステムに追加できるようにしたマルチプロセッサ・
システムを提供する。 【解決手段】 システムにおいて実行すべきプロセスを
仮想的なプロセッサに割り当てる手段と、仮想的なプロ
セッサに割り当てられたプロセスが特定のアプリケーシ
ョンソフトウェアに固有のプロセスであるか否かを内容
とするステータス情報を作成する手段と、汎用物理プロ
セッサ1,2と、特定のアプリケーションソフトウェア
に固有のプロセスのためのプロセッサ3,4と、ステー
タス情報の内容に応じて、仮想的なプロセッサを汎用プ
ロセッサ1,2と固有のプロセスのためのプロセッサ
3,4とに切り替えて実行させる手段5とを備えてい
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
を結合し、統一したOS(オペレーティングシステム)
のもとでハードウェア資源及びソフトウェア資源を共用
した並列処理システムであるマルチプロセッサ・システ
ムに関し、特に、特定のアプリケーションソフトウェア
に固有の拡張機能を、システムの上位互換性を保ったま
ま容易にシステムに追加できるようにしたものに関す
る。
【0002】
【従来の技術】従来、パーソナル・コンピュータ等で採
用されているSMP(対称型マルチプロセッサ)システ
ムをはじめとする各種マルチプロセッサ・システムにお
いて、例えばマルチメディア処理のような特定のアプリ
ケーションソフトウェアに固有の拡張機能を追加する場
合には、システム内の汎用プロセッサに、当該処理のた
めの特別な演算器等を付加するような大幅なアーキテク
チャの変更を行っていた。
【0003】
【発明が解決しようとする課題】このような汎用プロセ
ッサ自体のアーキテクチャの大幅な変更を伴う拡張機能
の追加を、システムの上位互換性を保ったまま行うこと
は、大変困難な作業であった。また、こうした拡張機能
の使用頻度は通常はそれほど高くないので、その機能の
追加のためにこうした困難な作業を行うことは、非効率
的であった。
【0004】本発明は上述の点に鑑みてなされたもの
で、特定のアプリケーションソフトウェアに固有の拡張
機能を、システムの上位互換性を保ったまま容易にシス
テムに追加できるようにしたマルチプロセッサ・システ
ムを提供しようとするものである。
【0005】
【課題を解決するための手段】本発明に係るマルチプロ
セッサ・システムは、システムにおいて実行すべきプロ
セスを仮想的なプロセッサ(以下、仮想プロセッサと呼
ぶ)に割り当てる手段と、仮想的なプロセッサに割り当
てられた前記プロセスが特定のアプリケーションソフト
ウェアに固有のプロセスであるか否かを内容とするステ
ータス情報を作成する手段と、汎用プロセッサと、特定
のアプリケーションソフトウェアに固有のプロセスのた
めのプロセッサ(以下、システムに実装されているこれ
ら汎用プロセッサ及び固有のプロセスのためのプロセッ
サを物理プロセッサとも呼ぶ)と、ステータス情報の内
容に応じて、仮想的なプロセッサを汎用プロセッサと固
有のプロセスのためのプロセッサとに切り替えて実行さ
せる手段とを備えたことを特徴としている。
【0006】このマルチプロセッサ・システムでは、実
装されたプロセッサとは別の「仮想プロセッサ」の概念
を導入しており、システムにおいて実行すべきプロセス
を、この仮想プロセッサに割り当てる。従って、アプリ
ケーションソフトウェアのレベルでは、仮想プロセッサ
の使用を前提としたプログラムの記述を行えば足り、シ
ステムに実装された物理プロセッサの使用を前提とした
プログラムの記述を行う必要はなくなる。
【0007】こうした仮想プロセッサの概念の導入によ
りアプリケーションソフトウェアのレベルでは物理プロ
セッサの使用を前提とする必要がなくなることを利用し
て、このマルチプロセッサ・システムでは、次のように
して、特定のアプリケーションソフトウェアに固有の拡
張機能を、システムの上位互換性を保ったまま容易にシ
ステムに追加できるようにしている。
【0008】即ち、汎用プロセッサと、特定のアプリケ
ーションソフトウェアに固有のプロセスのための特殊な
プロセッサとの2通りの物理プロセッサを実装してい
る。そして、仮想的なプロセッサに割り当てられた前記
プロセスが特定のアプリケーションソフトウェアに固有
のプロセスであるか否かを内容とするステータス情報を
作成するようにしており、このステータス情報の内容に
応じて、仮想的なプロセッサをこれらの汎用プロセッサ
と特殊なプロセッサとに切り替えて実行させるようにし
ている。
【0009】これにより、仮想プロセッサに割り当てら
れたプロセスが特定のアプリケーションソフトウェアに
固有のプロセスではない一般的なプロセスであるときに
は、仮想プロセッサが汎用プロセッサで実行され、他
方、仮想プロセッサに割り当てられたプロセスが特定の
アプリケーションソフトウェアに固有のプロセスである
ときには、仮想プロセッサがその固有のプロセスのため
のプロセッサで実行されるようになる。
【0010】このように、このマルチプロセッサ・シス
テムでは、仮想プロセッサの概念の導入を前提として、
汎用プロセッサのアーキテクチャを全く変更しないこと
によりシステムの上位互換性を保ったまま、特定のアプ
リケーションソフトウェアに固有の拡張機能を容易にシ
ステムに追加することができる。
【0011】しかも、システムを構成する際に、一般的
なプロセスのための汎用プロセッサの数と、アプリケー
ションソフトウェアに固有のプロセスのためのプロセッ
サの数とを、システムで実行させるアプリケーションソ
フトウェアに応じて決定することにより、効率的なシス
テム構成を実現することができる。
【0012】
【発明の実施の形態】以下、添付図面を参照して本発明
の実施例を詳細に説明する。 《1.システムの構成例》図1は、本発明に係るマルチ
プロセッサ・システムの構成の一例を概念的に示す。こ
のシステムには、OSやアプリケーションソフトウェア
等を実行するためのプロセッサエレメントとして、2基
の汎用のRISCプロセッサ1,2と、特定用途向けの
(特定のアプリケーションソフトウェアに固有のプロセ
スのための)2基のSIMD(単一命令複数データ流方
式)プロセッサ3,4とが設けられている。また、これ
らのプロセッサ1〜4の他に、プロセッサ・マネージメ
ント・ユニット(PMU)5が設けられている。PMU
5は、仮想プロセッサを管理するための一種のコプロセ
ッサである。
【0013】各プロセッサ1〜4とPMU5とは、コミ
ュニケーション・バスCBを介して接続されている。コ
ミュニケーション・バスCBは、接続されている任意の
エレメント間で多ビットの情報のやり取りが可能な双方
向バスである。システムの主記憶装置であるシステムメ
モリSMも、このコミュニケーション・バスCBを介し
て各プロセッサ1〜4に接続されることにより、各プロ
セッサ1〜4に共有されている。
【0014】〈1a.PMUとPETLB〉このマルチ
プロセッサ・システムでは、仮想プロセッサと、物理プ
ロセッサである各プロセッサ1〜4とに、それぞれ固有
のID(識別ラベル)が与えられている。仮想プロセッ
サのIDを「VEID」,物理プロセッサのうちRIS
Cプロセッサ1,2のIDを「PEID」,物理プロセ
ッサのうちSIMDプロセッサ3,4のIDを「SPE
ID(Special PEID)」と呼ぶ。
【0015】VEIDは、後出の〈4b.仮想プロセッ
サの生成〉で述べるように、システムの起動後新たに仮
想プロセッサを生成するときに、OSによってその仮想
プロセッサに与えられたものである。PEIDとSPE
IDは、システムの構成に応じてハードウェアによって
与えられたものであり、変更することはできない。
【0016】PMU5(図1)内には、仮想プロセッサ
のVEIDと、その仮想プロセッサのステータス情報で
ある「実行レベル」と、この仮想プロセッサへの割り当
ての候補として定義される(この定義も、後出の〈4
b.仮想プロセッサの生成〉で述べるように、システム
の起動後新たに仮想プロセッサを生成するときに、OS
によって行われる)物理プロセッサ1〜4のID(PE
ID及びSPEID)とを関連付けて記憶させることの
できる記憶領域(テーブル)が用意されている。このテ
ーブルを、プロセッサエレメントテーブル(PETL
B)と呼ぶ。
【0017】実行レベルは、通常のマイクロプロセッサ
における特権レベルあるいは保護モードと同義のもの
か、あるいはそれを拡張させたものである。仮想プロセ
ッサに割り当てられたプロセスが特定のアプリケーショ
ンソフトウェアに固有のプロセスではない一般的なプロ
セスである場合には、実行レベルはユーザー・レベルあ
るいはスーパーバイザ・レベルとなっている。他方、仮
想プロセッサに割り当てられたプロセスが特定のアプリ
ケーションソフトウェアに固有のプロセスである場合に
は、実行レベルはアプリケーション・レベルになってい
る。仮想プロセッサへのこの実行レベルの付与も、後出
の〈4b.仮想プロセッサの生成〉で述べるように、シ
ステムの起動後新たに仮想プロセッサを生成するとき
に、OSによって行われる。
【0018】図2は、プロセッサエレメントテーブル
(PETLB)の一例を概念的に示す。PETLBは同
図Aのように複数のエントリを持っており、各エントリ
(但し図の最上部のシステムエントリSEを除く)は同
図Bのようにいくつかのフィールドに分かれている。
【0019】これらのフィールドのうち、Validフ
ィールド6は、そのエントリに有効なデータが存在する
ことを示すためのフィールドであり、Lockフィール
ド7は、そのエントリの内容を変更することが禁止され
ていることを示すためのフィールドである。
【0020】同一エントリのLevelフィールド8,
VEIDフィールド9,PEIDフィールド10,SP
EIDフィールド11には、仮想プロセッサの実行レベ
ル,その仮想プロセッサのVEID,その仮想プロセッ
サへの割り当ての候補として定義されたRISCプロセ
ッサ1または2のPEID,その仮想プロセッサへの割
り当ての候補として定義されたSIMDプロセッサ3ま
たは4のSPEIDが、それぞれ格納される。
【0021】各エントリに記憶される内容は、OSによ
ってシステムメモリSM(図1)内で管理されている
「プロセッサ・エレメント管理テーブル」(仮想プロセ
ッサと物理プロセッサとの対応を定義するいわば仮想プ
ロセッサの名簿)の一部分のコピーである。PETLB
は一種の連想記憶装置になっており、VEIDを与えた
とき、そのVEIDの仮想プロセッサに割り当てられる
RISCプロセッサ1または2のPEIDやSIMDプ
ロセッサ3または4のSPEIDを引き出せるようにな
っている。
【0022】尚、システムエントリSEは、後述のシス
テム・プロセッサに対する物理プロセッサPE2の割り
当て情報を管理するための特別なエントリである。
【0023】PETLBのこうした構造は、一般的なマ
イクロプロセッサの仮想記憶方式に置いて用いられるテ
ーブルと似ている。
【0024】〈1b.システム・プロセッサ〉「システ
ム・プロセッサ」は、仮想プロセッサの中の一つであ
り、システム全体に関わるエラーやイベントを処理する
ための特別な仮想プロセッサである。システム外部から
の割り込みや、仮想プロセッサの管理に関するエラー等
は、このシステム・プロセッサで発生したエラーとして
処理される。
【0025】システム・プロセッサ以外の一般の仮想プ
ロセッサについてのエントリの初期化は、通常はソフト
ウェアによってシステムメモリSM内のプロセッサ・エ
レメント管理テーブルで行わなければならないが、シス
テム・プロセッサだけは、後出の〈3a.システムの初
期化〉で述べるように、システムのリセット時にハード
ウェアによってPETLBでシステムエントリSEが初
期化される。
【0026】また、PETLBのシステムエントリSE
以外のエントリは、後出の《2.仮想プロセッサへのア
クセス》で述べるようにプロセッサ・エレメント管理テ
ーブル中の他のエントリと入れ替えられることがある
が、システムエントリSEだけは、この入れ替えからは
保護された位置にある。換言すれば、システム・プロセ
ッサだけには常に物理プロセッサが割り当てられてお
り、システムエントリSEからその物理プロセッサを検
索することができる。但し、システム・プロセッサにど
の物理プロセッサを割り当てるは、システムエントリS
E自体を書き換えることによっていつでも変更すること
が可能である。
【0027】《2.仮想プロセッサへのアクセス》アプ
リケーションソフトウェアがシステム中のプロセッサに
アクセスする場合、(例えば現在プロセスを処理中のプ
ロセッサとは別のプロセッサにプロセスを投入したり、
現在プロセスを処理中のプロセッサとは別のプロセッサ
と通信を行ったりするような場合等)には、VEIDを
用いて仮想プロセッサに対してアクセスするようにす
る。換言すれば、アプリケーションソフトウェアでは、
VEIDを用いて、仮想プロセッサの使用を前提とした
プログラムの記述を行うようにする。
【0028】現在プロセスを処理中の物理プロセッサ
(即ちプロセッサ1〜4(図1)のうち現在実行中の仮
想プロセッサに割り当てられた物理プロセッサ)の中
で、このような別の仮想プロセッサに対するアクセスが
発生すると、それが仮想プロセッサの呼び出しイベント
としてコミュニケーション・バスCB(図1)上に通知
される。このとき、アクセスされた仮想プロセッサのV
EIDも同時にバスCB上に乗せられる。
【0029】各物理プロセッサ1〜4は、それぞれ実行
中の仮想プロセッサのVEIDを記憶するための「VE
IDレジスタ」を持っており、このレジスタを参照する
ことにより、現在どの仮想プロセッサに割り当てられて
いるかを判別することができる。物理プロセッサは、バ
スCB上に乗せられたVEIDと現在割り当てられてい
る仮想プロセッサのVEIDとが一致した場合(即ち自
分が呼び出された仮想プロセッサである場合)、アクセ
スに対して直接応答する。
【0030】一方、PMU5(図1)は、PETLB
(図2)の各エントリから、バスCBを介して送られた
VEIDを格納しているVEIDフィールド9を検索す
る。そして、そのVEIDフィールド9と同じエントリ
中から、当該仮想プロセッサに割り当てられる物理プロ
セッサのID(PEIDまたはSPEIDのいずれか)
を得る(この部分の処理については、拡張機能と関連す
る処理なので、後出の《3.拡張機能の使用方法》で再
度詳述する)。そして、いずれの物理プロセッサ1〜4
もアクセスに対して直接応答しなかったときには、得ら
れたIDを持つ物理プロセッサに対して、仮想プロセッ
サの入れ替えのための割り込み要求を発生する。
【0031】このIDを持つ物理プロセッサでは、この
割り込みにより、VEIDレジスタ内のVEIDの書き
換えと、例外ハンドラ(例外処理を記述したプログラ
ム)によるプロセスの入れ替えとが行われる。
【0032】尚、PMU5がPETLBの各エントリを
検索した際に、バスCBを介して送られたVEIDを格
納しているVEIDフィールド9がみつからなかった場
合には、前述のシステム・プロセッサに例外が発生す
る。この場合には、OSが例外ハンドラによってPET
LBのエントリの入れ替えを行い、その後改めて仮想プ
ロセッサの呼び出しが行われる。
【0033】《3.拡張機能の使用方法》《2.仮想プ
ロセッサへのアクセス》で述べたように、PMU5(図
1)は、PETLB(図2)の各エントリから、バスC
Bを介して送られたVEIDを格納しているVEIDフ
ィールド9を検索するが、そのVEIDフィールド9と
同じエントリ中のLevelフィールド8の実行レベル
がユーザー・レベルあるいはスーパーバイザ・レベルで
ある場合(即ち、呼び出された仮想プロセッサに割り当
てられたプロセスが特定のアプリケーションソフトウェ
アに固有のプロセスではない一般的なプロセスである場
合)には、PMU5は、そのエントリ中のPEIDフィ
ールド10からPEIDを得る。これにより、当該仮想
プロセッサへの割り当ての候補として定義された物理プ
ロセッサのうち、RISCプロセッサ1または2が実際
に当該仮想プロセッサに割り当てられる。
【0034】これに対し、そのエントリ中のLevel
フィールド8の実行レベルがアプリケーション・レベル
である場合(即ち、呼び出された仮想プロセッサに割り
当てられたプロセスが特定のアプリケーションソフトウ
ェアに固有のプロセスである場合)には、PMU5は、
そのエントリ中のSPEIDフィールド11からSPE
IDを得る。これにより、当該仮想プロセッサへの割り
当ての候補として定義された物理プロセッサのうち、S
IMDプロセッサ3または4が実際に当該仮想プロセッ
サに割り当てられる。
【0035】そして、《2.仮想プロセッサへのアクセ
ス》で述べたように、こうして割り当てられた物理プロ
セッサで、VEIDレジスタ内のVEIDの書き換えと
プロセスの入れ替えとが行われる。
【0036】次に、現在実行中の仮想プロセッサに割り
当てられたプロセスが特定のアプリケーションソフトウ
ェアに固有のプロセスではない一般的なプロセスと特定
のアプリケーションソフトウェアに固有のプロセスとの
間で変化すると、当該仮想プロセッサを実行中の物理プ
ロセッサが特定の命令を実行することにより、ユーザー
・レベルあるいはスーパーバイザ・レベルとアプリケー
ション・レベルとの間での実行レベルの遷移が起こる。
この実行レベルの遷移は、仮想プロセッサの呼び出しイ
ベントとしてコミュニケーション・バスCB(図1)上
に通知される。PMU5(図1)は、この呼び出しイベ
ントで呼び出された仮想プロセッサについてのPETL
B上のエントリ中のLevelフィールド8をこの遷移
した実行レベルに更新した後、当該仮想プロセッサへの
物理プロセッサの割り当てを行う。
【0037】この実行レベルの遷移時の物理プロセッサ
の割り当てには、次の3通りのパターンがある。 〈3a.別の物理プロセッサへの割り当て(再割り当
て)を伴わない実行レベルの遷移が起こった場合〉この
場合には、それまで当該仮想プロセッサの実行が割り当
てられていた物理プロセッサに、引き続き当該仮想プロ
セッサの実行を継続させる。
【0038】〈3b.再割り当てを伴う実行レベルの遷
移が起こり、且つ、新たに割り当てられた物理プロセッ
サがアイドル状態である場合〉この場合には、PMU5
が、新たに割り当てられた物理プロセッサ(ユーザー・
レベルあるいはスーパーバイザ・レベルに遷移した場合
にはRISCプロセッサ1または2、アプリケーション
・レベルに遷移した場合にはSIMDプロセッサ3また
は4)に対して、仮想プロセッサの入れ替えのための割
り込み要求を発生することにより、その物理プロセッサ
に当該仮想プロセッサを実行させる。それまで当該仮想
プロセッサの実行が割り当てられていた物理プロセッサ
は、アイドル状態に移行する。
【0039】〈3c.再割り当てを伴う実行レベルの遷
移が起こり、且つ、新たに割り当てられた物理プロセッ
サが他の仮想プロセッサを実行中である場合〉この場合
には、それまで当該仮想プロセッサの実行が割り当てら
れていた物理プロセッサはアイドル状態に移行するが、
新たに割り当てられた物理プロセッサでは、後出の〈4
c.仮想プロセッサの実行〉で述べるようにタイマ割り
込みのような外部割り込みによってシステム全体のタス
ク切り替えが行われるまで、当該仮想プロセッサの実行
が開始されない。
【0040】《4.ソフトウェアとの連携による仮想プ
ロセッサ管理の例》 〈4a.システムの初期化〉システムがリセットされる
と、各物理プロセッサ1〜4は初期化されて待機状態に
なる。PETLB(図2)は、システムエントリSEが
初期化され、それ以外のエントリが全て無効化される。
【0041】すべての初期化処理が終了すると、PMU
5(図1)がシステム・プロセッサを呼び出す。この呼
び出しは、《2.仮想プロセッサへのアクセス》で述べ
た物理プロセッサに対する割り込み要求によって行われ
る。
【0042】起動したシステム・プロセッサでは、OS
のカーネル(核)の実行が開始され、システムメモリS
M(図1)内のプロセッサ・エレメント管理テーブルの
初期化が行われる。
【0043】〈4b.仮想プロセッサの生成〉その後、
OSのその他の部分やアプリケーションソフトウェアが
起動されて、それぞれのプロセスが新しい仮想プロセッ
サに割り当てられる。この処理は、プロセスが、OSの
用意したプログラムである「仮想プロセッサ生成タス
ク」をシステム・コールで呼び出すことによって行われ
る。
【0044】呼び出された仮想プロセッサ生成タスク
は、プロセスを割り当てられた仮想プロセッサにVEI
Dを与え、その仮想プロセッサに実行レベルを付与し
(割り当てられたプロセスが特定のアプリケーションソ
フトウェアに固有のプロセスではない一般的なプロセス
であるときはユーザー・レベルあるいはスーパーバイザ
・レベルを付加し、割り当てられたプロセスが特定のア
プリケーションソフトウェアに固有のプロセスであると
きはアプリケーション・レベルを付与し)、その仮想プ
ロセッサへの割り当ての候補となるRISCプロセッサ
1または2とSIMDプロセッサ3または4とを定義す
る。そして、そのVEIDと実行レベルとPEIDとS
PEIDと当該プロセスの実行に必要な情報とを、シス
テムメモリSM(図1)内のプロセッサ・エレメント管
理テーブルに記憶させる。このようにして、仮想プロセ
ッサが生成される。
【0045】尚、新しく生成する仮想プロセッサへの割
り当ての候補としてRISCプロセッサ1,2のうちの
いずれを割り当て、SIMDプロセッサ3,4のうちの
いずれを割り当てるかは、OSが各物理プロセッサ1〜
4の使用状況等をもとにして決定する。VEIDで表現
可能な範囲内で、物理プロセッサの総数である4よりも
多い数の仮想プロセッサを生成することも可能であり、
その場合には複数の仮想プロセッサに同一の物理プロセ
ッサを共有させるようにする。
【0046】〈4c.仮想プロセッサの実行〉新しく生
成された仮想プロセッサを実際に物理プロセッサ1〜4
上で実行させる処理は、仮想プロセッサの生成処理とは
独立かつ並行的に行われる。
【0047】そのために、システムには、タイマ割り込
みのような外部割り込みが定期的にかかるようになって
いる。この仕組みは、単一のプロセッサに時分割により
マルチタスクを行わせるためのものと同じである。
【0048】タイマ割り込みはシステム全体に関係する
イベントなので、それが発生すると、PMU5が物理プ
ロセッサに対する割り込み要求によって自動的にシステ
ム・プロセッサを呼び出す。この割り込み処理を記述し
たプログラムである割り込みハンドラから、OSの用意
したプログラムである「仮想プロセッサ管理タスク」が
呼び出されるようになっている。
【0049】呼び出された仮想プロセッサ管理タスク
は、システムメモリSM内のプロセッサ・エレメント管
理テーブルから、次のタイマ割り込みまでの一定期間物
理プロセッサを割り当てて実行する仮想プロセッサを、
各プロセス間の優先順位等をもとに決定する。こうして
決定された仮想プロセッサが、《2.仮想プロセッサへ
のアクセス》で述べたようアプリケーションソフトウェ
アによってアクセスされることにより、その仮想プロセ
ッサの実行が開始される。
【0050】以上のように、このマルチプロセッサ・シ
ステムによれば、仮想プロセッサの導入を前提として、
汎用の物理プロセッサであるRISCプロセッサ1,2
のアーキテクチャを全く変更しないことによりシステム
の上位互換性を保ったまま、特定のアプリケーションソ
フトウェアに固有の拡張機能を容易にシステムに追加す
ることができる。
【0051】尚、以上の実施例では汎用の物理プロセッ
サであるRISCプロセッサと特定用途向けのSIMD
プロセッサとをそれぞれ2基ずつ設けているが、これら
のプロセッサをそれぞれ適宜の数だけ設けるようにして
よいことはもちろんである。特に、システムを構成する
際に、システムで実行させるアプリケーションソフトウ
ェアに応じてこれらのプロセッサの数を適宜決定するこ
とにより、効率的なシステム構成を実現することができ
る。
【0052】また、本発明が前提とするマルチプロセッ
サ・システムは、以上の実施例に示したものに限らず、
仮想プロセッサの概念を導入したシステムであれば適宜
のものであってよい。
【0053】また、以上の実施例では、主記憶装置(シ
ステムメモリSM)を単一のバス(コミュニケーション
・バスCB)を介して各プロセッサ(物理プロセッサ1
〜4)に共有させる単一バス方式の共有メモリ形(密結
合形)マルチプロセッサに本発明を適用しているが、そ
の他の方式(例えば多重バス方式,階層バス方式,マル
チポートメモリ方式等)の共有メモリ形マルチプロセッ
サや、あるいはメッセージ交換形(疎結合形)マルチプ
ロセッサに本発明を適用するようにしてもよい。
【0054】また、本発明は、以上の実施例に限らず、
本発明の要旨を逸脱することなく、その他様々の構成を
とりうることはもちろんである。
【0055】
【発明の効果】以上のように、本発明に係るマルチプロ
セッサ・システムによれば、汎用プロセッサのアーキテ
クチャを全く変更しないことによりシステムの上位互換
性を保ったまま、特定のアプリケーションソフトウェア
に固有の拡張機能を容易にシステムに追加することがで
きる。
【0056】また、システムを構成する際に、一般的な
プロセスのための汎用プロセッサの数と、アプリケーシ
ョンソフトウェアに固有のプロセスのためのプロセッサ
の数とを、システムで実行させるアプリケーションソフ
トウェアに応じて決定することにより、効率的なシステ
ム構成を実現することができる。
【図面の簡単な説明】
【図1】本発明に係るマルチプロセッサ・システムの構
成の一例を示す図である。
【図2】プロセッサエレメントテーブルの一例を示す図
である。
【符号の説明】
1,2 RISCプロセッサ、 3,4 SIMDプロ
セッサ、 5 プロセッサ・マネージメント・ユニッ
ト、 CB コミュニケーション・バス、 SMシステ
ムメモリ、 6 Validフィールド、 7 Loc
kフィールド、8 Levelフィールド、 9 VE
IDフィールド、 10 PEIDフィールド、 11
SPEIDフィールド

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 システムにおいて実行すべきプロセスを
    仮想的なプロセッサに割り当てる手段と、 前記仮想的なプロセッサに割り当てられた前記プロセス
    が特定のアプリケーションソフトウェアに固有のプロセ
    スであるか否かを内容とするステータス情報を作成する
    手段と、 汎用プロセッサと、 前記固有のプロセスのためのプロセッサと、 前記ステータス情報の内容に応じて、前記仮想的なプロ
    セッサを前記汎用プロセッサと前記固有のプロセスのた
    めのプロセッサとに切り替えて実行させる手段とを備え
    たことを特徴とするマルチプロセッサ・システム。
JP14538397A 1997-06-03 1997-06-03 マルチプロセッサ・システム Pending JPH10334055A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14538397A JPH10334055A (ja) 1997-06-03 1997-06-03 マルチプロセッサ・システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14538397A JPH10334055A (ja) 1997-06-03 1997-06-03 マルチプロセッサ・システム

Publications (1)

Publication Number Publication Date
JPH10334055A true JPH10334055A (ja) 1998-12-18

Family

ID=15383983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14538397A Pending JPH10334055A (ja) 1997-06-03 1997-06-03 マルチプロセッサ・システム

Country Status (1)

Country Link
JP (1) JPH10334055A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077848A1 (en) * 2001-03-22 2002-10-03 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
WO2002077845A1 (en) * 2001-03-22 2002-10-03 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6809734B2 (en) 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US6826662B2 (en) 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
JP2007109109A (ja) * 2005-10-14 2007-04-26 Matsushita Electric Ind Co Ltd メディア処理装置
WO2008047757A1 (en) * 2006-10-16 2008-04-24 Olympus Corporation Processing element, control unit, processing system provided with these, and distribution processing method
US9183051B2 (en) 2004-03-29 2015-11-10 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077848A1 (en) * 2001-03-22 2002-10-03 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
WO2002077845A1 (en) * 2001-03-22 2002-10-03 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6809734B2 (en) 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US6826662B2 (en) 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7093104B2 (en) 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US9183051B2 (en) 2004-03-29 2015-11-10 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP2007109109A (ja) * 2005-10-14 2007-04-26 Matsushita Electric Ind Co Ltd メディア処理装置
JP4728083B2 (ja) * 2005-10-14 2011-07-20 パナソニック株式会社 メディア処理装置
WO2008047757A1 (en) * 2006-10-16 2008-04-24 Olympus Corporation Processing element, control unit, processing system provided with these, and distribution processing method

Similar Documents

Publication Publication Date Title
US8914618B2 (en) Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
KR0170565B1 (ko) 메모리 관리 방법, 마이크로커널 구조 데이타 프로세싱 시스템, 운영 체제 퍼스낼리티 시스템 동작 방법, 퍼스낼리티 뉴트럴 서비스 프로그램 실행 방법 및 응용 프로그램 실행방법
US5771383A (en) Shared memory support method and apparatus for a microkernel data processing system
US8079035B2 (en) Data structure and management techniques for local user-level thread data
US20140115594A1 (en) Mechanism to schedule threads on os-sequestered sequencers without operating system intervention
KR100488846B1 (ko) 병렬 처리 컴퓨팅 시스템에서의 메모리 할당 방법 및 프로그램 저장 장치
JP2006508468A (ja) マルチスレッド・プロセッサ性能を制御する装置及び方法
CN102981808A (zh) 用于持续性用户级线程的设备、***和方法
Gracioli et al. An experimental evaluation of the cache partitioning impact on multicore real-time schedulers
CN112306669A (zh) 一种基于多核***的任务处理方法及装置
US20080134187A1 (en) Hardware scheduled smp architectures
JPH10334055A (ja) マルチプロセッサ・システム
US20080163216A1 (en) Pointer renaming in workqueuing execution model
CN108845969B (zh) 适用于不完全对称多处理微控制器的操作控制方法及操作***
JPH10334056A (ja) マルチプロセッサ・システム
Fingler et al. Towards a Machine Learning-Assisted Kernel with LAKE
Dennis Machines and models for parallel computing
Uhlig The mechanics of in-kernel synchronization for a scalable microkernel
Seo et al. An effective design of master-slave operating system architecture for multiprocessor embedded systems
Ostheimer Parallel Functional Computation on STAR: DUST—
Bielski Novel memory and I/O virtualization techniques for next generation data-centers based on disaggregated hardware
US20060168420A1 (en) Microcontroller cache memory
Craig Nanothreads: flexible thread scheduling
Wang et al. User Interface
JPH0738168B2 (ja) データ処理装置