JPH10334056A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JPH10334056A
JPH10334056A JP14538497A JP14538497A JPH10334056A JP H10334056 A JPH10334056 A JP H10334056A JP 14538497 A JP14538497 A JP 14538497A JP 14538497 A JP14538497 A JP 14538497A JP H10334056 A JPH10334056 A JP H10334056A
Authority
JP
Japan
Prior art keywords
processor
virtual
processors
virtual processor
physical
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
JP14538497A
Other languages
Japanese (ja)
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 JP14538497A priority Critical patent/JPH10334056A/en
Publication of JPH10334056A publication Critical patent/JPH10334056A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a multiprocessor system capable of describing a program on the basis of use of a processor in a form not to specialize the description to a processor with specified hardware structure and describing the program on the basis of the use of an optional number of the processors. SOLUTION: The system is provided with a means to assign a process to a virtual processor, a means to assign processors 2a to 2d mounted on the system to the virtual processor, a means SM, 1 to store the virtual processor and the processors 2a to 2d assigned to the virtual processor by relating them and a means to enable the processors 2a to 2d stored in relation to the virtual processors to execute the virtual processors according to a fact that either of the virtual processors are called.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のプロセッサ
を結合し、統一したOS(オペレーティングシステム)
のもとでハードウェア資源及びソフトウェア資源を共用
した並列処理システムであるマルチプロセッサ・システ
ムに関し、特に、アプリケーションソフトウェアのレベ
ルで、プロセッサの使用を前提としたプログラムの記述
を、特定のハードウェア構成のシステムに特化しない形
で行うことができ、しかも任意の数のプロセッサの使用
を前提として行うことができるようにしたものに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a unified OS (operating system) in which a plurality of processors are combined.
In particular, a multiprocessor system that is a parallel processing system that shares hardware and software resources under the stipulations described above. The present invention relates to a system that can be performed in a manner not specialized for a system and that can be performed on the assumption that an arbitrary number of processors are used.

【0002】[0002]

【従来の技術】従来、パーソナル・コンピュータ等で採
用されているSMP(対称型マルチプロセッサ)システ
ムをはじめとする各種マルチプロセッサ・システムにお
いて、ハードウェア資源であるプロセッサは、全てOS
の管理下に置かれていた。
2. Description of the Related Art In various multiprocessor systems such as an SMP (symmetric multiprocessor) system conventionally used in personal computers and the like, all processors as hardware resources use an OS.
Was under the control of

【0003】[0003]

【発明が解決しようとする課題】このようにプロセッサ
がOSの管理下に置かれていると、アプリケーションソ
フトウェアのレベルでは、プロセッサの使用を前提とし
たプログラムの記述を行うことは、特定のハードウェア
構成のシステムに特化した形で行う以外には不可能であ
る。
As described above, when the processor is under the control of the OS, at the application software level, writing a program on the assumption that the processor is used requires a specific hardware. This is not possible except in a form specific to the system of the configuration.

【0004】また、このように特定のハードウェア構成
のシステムに特化した形でプログラムを記述する場合に
は、システムのハードウェア構成に変更が生じる毎にプ
ログラムを書き直さなければならないので、時間,労
力,コストのロスが大きくなる。
When a program is described in a form specialized for a system having a specific hardware configuration, the program must be rewritten every time the hardware configuration of the system is changed. Labor and cost losses increase.

【0005】更に、このように特定のシステムに特化し
た形でプログラムを記述する場合には、システムに実装
されているプロセッサ数よりも多い数のプロセッサの使
用を前提としたプログラムを記述することはできないの
で、そのことがアプリケーションソフトウェアを作成す
る上での制約となっていた。
Further, when a program is described in a form specialized for a specific system, it is necessary to describe the program on the assumption that a larger number of processors than the number of processors installed in the system are used. This is a constraint on creating application software.

【0006】本発明は上述の点に鑑みてなされたもの
で、アプリケーションソフトウェアのレベルで、プロセ
ッサの使用を前提としたプログラムの記述を、特定のハ
ードウェア構成のシステムに特化しない形で行うことが
でき、しかも任意の数のプロセッサの使用を前提として
行うことができるようにしたマルチプロセッサ・システ
ムを提供しようとするものである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and is intended to describe, at an application software level, a description of a program on the assumption that a processor is used without specializing a system having a specific hardware configuration. It is an object of the present invention to provide a multiprocessor system which can perform the processing on the assumption that an arbitrary number of processors are used.

【0007】[0007]

【課題を解決するための手段】本発明に係るマルチプロ
セッサ・システムは、システムにおいて実行すべきプロ
セスを仮想的なプロセッサ(以下、仮想プロセッサと呼
ぶ)に割り当てる手段と、仮想プロセッサに、システム
に実装されたプロセッサ(以下、物理プロセッサとも呼
ぶ)を割り当てる手段と、仮想プロセッサとそれに割り
当てられた物理プロセッサとを関連付けて記憶する手段
と、いずれかの仮想プロセッサが呼び出されることに応
じて、それに関連付けて記憶された物理プロセッサに、
当該仮想プロセッサを実行させる手段とを備えたことを
特徴としている。
According to the present invention, there is provided a multiprocessor system for allocating a process to be executed in a system to a virtual processor (hereinafter, referred to as a virtual processor), and mounting the process to the virtual processor. Means for allocating the assigned processor (hereinafter, also referred to as a physical processor), means for storing the virtual processor and the physical processor assigned thereto in association with each other, and To the stored physical processor,
Means for executing the virtual processor.

【0008】このマルチプロセッサ・システムでは、実
装されたプロセッサとは別の「仮想プロセッサ」の概念
を導入しており、システムにおいて実行すべきプロセス
を、この仮想プロセッサに割り当てる。仮想プロセッサ
には物理プロセッサが割り当てられ、仮想プロセッサと
それに割り当てられた物理プロセッサとは関連付けて記
憶される。そして、いずれかの仮想プロセッサが呼び出
されると、それに関連付けて記憶された物理プロセッサ
に、当該仮想プロセッサを実行させる。
In this multiprocessor system, a concept of a “virtual processor” different from the mounted processor is introduced, and a process to be executed in the system is assigned to the virtual processor. A physical processor is assigned to the virtual processor, and the virtual processor and the physical processor assigned to the virtual processor are stored in association with each other. Then, when one of the virtual processors is called, the physical processor stored in association with the virtual processor executes the virtual processor.

【0009】このように、プロセッサへのアクセスを仮
想プロセッサに対して行えば、システムに実装されたプ
ロセッサにプロセスを実行させることができる。換言す
れば、特定のハードウェア構成とは無関係な仮想的なプ
ロセッサの使用を前提としたプログラムの記述を行え
ば、システムに実装されたプロセッサにアクセスするこ
とができるようになる。
As described above, if access to the processor is made to the virtual processor, the process can be executed by the processor mounted in the system. In other words, if a program is described on the assumption that a virtual processor irrelevant to a specific hardware configuration is used, a processor mounted on the system can be accessed.

【0010】従って、アプリケーションソフトウェアの
レベルで、特定のハードウェア構成のプロセッサに特化
しない形で記述したプログラムにより、プロセッサにア
クセスすることができるようになる。
Therefore, at the level of the application software, the processor can be accessed by a program described in a form not specialized for a processor having a specific hardware configuration.

【0011】また、システムに実装されたプロセッサ数
よりも多い数の仮想プロセッサにプロセスを割り当てる
ことにより、システムに実装されたプロセッサ数よりも
多い数のプロセッサの使用を前提としたプログラムを記
述することもできるようになる。
[0011] In addition, by assigning processes to a larger number of virtual processors than the number of processors installed in the system, a program is written on the assumption that the number of processors is larger than the number of processors implemented in the system. Will also be able to do it.

【0012】[0012]

【発明の実施の形態】以下、添付図面を参照して本発明
の実施例を詳細に説明する。 《1.システムの構成例》図1は、本発明に係るマルチ
プロセッサ・システムの構成の一例を概念的に示す。こ
のシステムには、OSやアプリケーションソフトウェア
等を実行するための複数のプロセッサエレメント(P
E)2(図では一例として4基のPE2a〜PE2d)
の他に、プロセッサ・マネージメント・ユニット(PM
U)1が設けられている。PMU1は、仮想プロセッサ
を管理するための一種のコプロセッサである。
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings. << 1. FIG. 1 conceptually shows an example of the configuration of a multiprocessor system according to the present invention. This system includes a plurality of processor elements (P) for executing an OS, application software, and the like.
E) 2 (four PEs 2a to 2d as an example in the figure)
In addition, the processor management unit (PM
U) 1 is provided. The PMU 1 is a type of coprocessor for managing a virtual processor.

【0013】各PE2とPMU1とは、コミュニケーシ
ョン・バス3を介して接続されている。コミュニケーシ
ョン・バス3は、接続されている任意のエレメント間で
多ビットの情報のやり取りが可能な双方向バスである。
システムの主記憶装置であるシステムメモリSMも、こ
のコミュニケーション・バス3を介して各PE2に接続
されることにより、各PE2に共有されている。
Each PE 2 and PMU 1 are connected via a communication bus 3. The communication bus 3 is a bidirectional bus capable of exchanging multi-bit information between arbitrary connected elements.
The system memory SM, which is the main storage device of the system, is also shared by the PEs 2 by being connected to the PEs 2 via the communication bus 3.

【0014】〈1a.PMUとPETLB〉このマルチ
プロセッサ・システムでは、仮想プロセッサと、物理プ
ロセッサである各PE2とに、それぞれ固有のID(識
別ラベル)が与えられている。仮想プロセッサのIDを
「VEID」,物理プロセッサPE2のIDを「PEI
D」と呼ぶ。
<1a. PMU and PETLB> In this multiprocessor system, a unique ID (identification label) is given to each of the virtual processor and each PE2 which is a physical processor. The ID of the virtual processor is “VEID”, and the ID of the physical processor PE2 is “PEI”.
D ".

【0015】VEIDは、後出の〈3b.仮想プロセッ
サの生成〉で述べるように、システムの起動後新たに仮
想プロセッサを生成するときに、OSによってその仮想
プロセッサに与えられたものである。PEIDは、シス
テムの構成に応じてハードウェアによって与えられたも
のであり、変更することはできない。
VEID is described in <3b. As described in <Virtual Processor Generation>, when a new virtual processor is generated after the system is started, the virtual processor is given to the virtual processor by the OS. The PEID is provided by hardware according to the configuration of the system and cannot be changed.

【0016】PMU1(図1)内には、仮想プロセッサ
のVEIDとその仮想プロセッサに割り当てられた(こ
の割り当てについても後出の〈3b.仮想プロセッサの
生成〉で述べる)物理プロセッサPE2のPEIDとを
関連付けて記憶させることのできる記憶領域(テーブ
ル)が用意されている。このテーブルを、プロセッサエ
レメントTLB(PETLB)と呼ぶ。
In the PMU 1 (FIG. 1), the VEID of the virtual processor and the PEID of the physical processor PE2 assigned to the virtual processor (this assignment is also described in <3b. Generation of Virtual Processor> below). A storage area (table) that can be associated and stored is prepared. This table is called a processor element TLB (PETLB).

【0017】図2は、このPETLBの一例を概念的に
示す。PETLBは同図Aのように複数のエントリを持
っており、各エントリ(但し図の最上部のシステムエン
トリ8を除く)は同図Bのようにいくつかのフィールド
に分かれている。
FIG. 2 conceptually shows an example of the PETLB. The PETLB has a plurality of entries as shown in FIG. A, and each entry (except for the system entry 8 at the top of the figure) is divided into several fields as shown in FIG.

【0018】これらのフィールドのうち、Validフ
ィールド4は、そのエントリに有効なデータが存在する
ことを示すためのフィールドであり、Lockフィール
ド5は、そのエントリの内容を変更することが禁止され
ていることを示すためのフィールドである。同一エント
リのVEIDフィールド6とPEIDフィールド7とに
は、仮想プロセッサのVEIDとその仮想プロセッサに
割り当てられた物理プロセッサPE2のPEIDとがそ
れぞれ格納される。
Of these fields, the Valid field 4 is a field for indicating that valid data exists in the entry, and the Lock field 5 is prohibited from changing the contents of the entry. This is a field for indicating that The VEID field 6 and the PEID field 7 of the same entry store the VEID of the virtual processor and the PEID of the physical processor PE2 assigned to the virtual processor, respectively.

【0019】各エントリに記憶される内容は、OSによ
ってシステムメモリSM(図1)内で管理されている
「プロセッサ・エレメント管理テーブル」(仮想プロセ
ッサと物理プロセッサとの対応を定義するいわば仮想プ
ロセッサの名簿)の一部分のコピーである。PETLB
は一種の連想記憶装置になっており、VEIDを与えた
とき、そのVEIDの仮想プロセッサに割り当てられた
物理プロセッサPE2のPEIDを引き出せるようにな
っている。
The content stored in each entry is a “processor element management table” managed by the OS in the system memory SM (FIG. 1) (that is, a virtual processor that defines the correspondence between a virtual processor and a physical processor). A copy of a part of the list. PETLB
Is a kind of associative storage device, and when a VEID is given, the PEID of the physical processor PE2 assigned to the virtual processor of the VEID can be extracted.

【0020】尚、システムエントリ8は、後述のシステ
ム・プロセッサに対する物理プロセッサPE2の割り当
て情報を管理するための特別なエントリである。
The system entry 8 is a special entry for managing allocation information of the physical processor PE2 to a system processor described later.

【0021】PETLBのこうした構造は、一般的なマ
イクロプロセッサの仮想記憶方式に置いて用いられるテ
ーブルと似ている。
Such a structure of the PETLB is similar to a table used in a general microprocessor virtual memory system.

【0022】〈1b.システム・プロセッサ〉「システ
ム・プロセッサ」は、仮想プロセッサの中の一つであ
り、システム全体に関わるエラーやイベントを処理する
ための特別な仮想プロセッサである。システム外部から
の割り込みや、仮想プロセッサの管理に関するエラー等
は、このシステム・プロセッサで発生したエラーとして
処理される。
<1b. System Processor> The “system processor” is one of the virtual processors, and is a special virtual processor for processing errors and events relating to the entire system. Interrupts from outside the system, errors related to the management of the virtual processor, and the like are handled as errors generated in the system processor.

【0023】システム・プロセッサ以外の一般の仮想プ
ロセッサについてのエントリの初期化は、通常はソフト
ウェアによってシステムメモリSM内のプロセッサ・エ
レメント管理テーブルで行わなければならないが、シス
テム・プロセッサだけは、後出の〈3a.システムの初
期化〉で述べるように、システムのリセット時にハード
ウェアによってPETLBでシステムエントリ8が初期
化される。
Initialization of entries for general virtual processors other than the system processor must normally be performed by software in a processor element management table in the system memory SM, but only the system processor will be described later. <3a. As described in <System Initialization>, when the system is reset, hardware initializes the system entry 8 in PETLB.

【0024】また、PETLBのシステムエントリ8以
外のエントリは、後出の《2.仮想プロセッサへのアク
セス》で述べるようにプロセッサ・エレメント管理テー
ブル中の他のエントリと入れ替えられることがあるが、
システムエントリ8だけは、この入れ替えからは保護さ
れた位置にある。換言すれば、システム・プロセッサだ
けには常に物理プロセッサPE2が割り当てられてお
り、システムエントリ8からその物理プロセッサPE2
を検索することができる。但し、システム・プロセッサ
にどの物理プロセッサPE2を割り当てるは、システム
エントリ8自体を書き換えることによっていつでも変更
することが可能である。
Entries other than the PETLB system entry 8 are described in <2. Access to virtual processor >>, as described in the above, may be replaced with other entries in the processor element management table.
Only system entry 8 is in a location protected from this swap. In other words, the physical processor PE2 is always assigned only to the system processor, and the physical processor PE2 is assigned from the system entry 8.
Can be searched. However, which physical processor PE2 is assigned to the system processor can be changed at any time by rewriting the system entry 8 itself.

【0025】《2.仮想プロセッサへのアクセス》アプ
リケーションソフトウェアがシステム中のプロセッサに
アクセスする場合、(例えば現在プロセスを処理中のプ
ロセッサとは別のプロセッサにプロセスを投入したり、
現在プロセスを処理中のプロセッサとは別のプロセッサ
と通信を行ったりするような場合等)には、VEIDを
用いて仮想プロセッサに対してアクセスするようにす
る。換言すれば、アプリケーションソフトウェアでは、
VEIDを用いて、仮想プロセッサの使用を前提とした
プログラムの記述を行うようにする。
<< 2. Access to virtual processor >> When the application software accesses a processor in the system (for example, a process is input to a processor different from the processor currently executing the process,
In a case where communication is performed with a processor different from the processor currently executing the process, for example), the virtual processor is accessed using the VEID. In other words, in application software,
VEID is used to describe a program on the assumption that a virtual processor is used.

【0026】現在プロセスを処理中のプロセッサ(即ち
現在実行中の仮想プロセッサに割り当てられた物理プロ
セッサPE2(図1))の中で、このような別の仮想プ
ロセッサに対するアクセスが発生すると、それが仮想プ
ロセッサの呼び出しイベントとしてコミュニケーション
・バス3(図1)上に通知される。このとき、アクセス
された仮想プロセッサのVEIDも同時にバス3上に乗
せられる。
When an access to such another virtual processor occurs in the processor currently executing the current process (that is, the physical processor PE2 (FIG. 1) assigned to the currently executing virtual processor), the access is made to the virtual processor. It is notified on the communication bus 3 (FIG. 1) as a processor call event. At this time, the VEID of the accessed virtual processor is also put on the bus 3 at the same time.

【0027】各物理プロセッサPE2は、それぞれ実行
中の仮想プロセッサのVEIDを記憶するための「VE
IDレジスタ」を持っており、このレジスタを参照する
ことにより、現在どの仮想プロセッサに割り当てられて
いるかを判別することができる。物理プロセッサPE2
は、バス3上に乗せられたVEIDと現在割り当てられ
ている仮想プロセッサのVEIDとが一致した場合(即
ち自分が呼び出された仮想プロセッサである場合)、ア
クセスに対して直接応答する。
Each physical processor PE2 stores "VEID" for storing the VEID of the virtual processor being executed.
An ID register is provided, and by referring to this register, it is possible to determine which virtual processor is currently assigned. Physical processor PE2
Responds directly to the access when the VEID put on the bus 3 matches the VEID of the currently assigned virtual processor (that is, when it is the called virtual processor).

【0028】一方、PMU1(図1)は、PETLB
(図2)の各エントリから、バス3を介して送られたV
EIDを格納しているVEIDフィールド6を検索し、
そのVEIDフィールドと同じエントリ中のPEIDフ
ィールド7から、当該仮想プロセッサに割り当てられた
物理プロセッサPE2のPEIDを得る。そして、いず
れの物理プロセッサPE2もアクセスに対して直接応答
しなかったときには、得られたPEIDを持つ物理プロ
セッサPE2に対して、仮想プロセッサの入れ替えのた
めの割り込み要求を発生する。
On the other hand, PMU1 (FIG. 1)
The V sent from each entry of FIG.
Search the VEID field 6 storing the EID,
The PEID of the physical processor PE2 assigned to the virtual processor is obtained from the PEID field 7 in the same entry as the VEID field. When none of the physical processors PE2 responds directly to the access, an interrupt request for replacing the virtual processor is generated to the physical processor PE2 having the obtained PEID.

【0029】呼び出された仮想プロセッサに割り当てら
れた物理プロセッサPE2では、この割り込みにより、
VEIDレジスタ内のVEIDの書き換えと、例外ハン
ドラ(例外処理を記述したプログラム)によるプロセス
の入れ替えとが行われる。
In the physical processor PE2 assigned to the called virtual processor, this interrupt causes
The rewriting of the VEID in the VEID register and the replacement of the process by an exception handler (a program describing exception processing) are performed.

【0030】尚、PMU1がPETLBの各エントリを
検索した際に、バス3を介して送られたVEIDを格納
しているVEIDフィールド6がみつからなかった場合
には、前述のシステム・プロセッサに例外が発生する。
この場合には、OSが例外ハンドラによってPETLB
のエントリの入れ替えを行い、その後改めて仮想プロセ
ッサの呼び出しが行われる。
When the PMU 1 searches each entry of the PETLB and finds no VEID field 6 storing the VEID sent via the bus 3, an exception is given to the above-mentioned system processor. Occur.
In this case, the OS uses PETLB by the exception handler.
Are replaced, and then the virtual processor is called again.

【0031】《3.ソフトウェアとの連携による仮想プ
ロセッサ管理の例》 〈3a.システムの初期化〉システムがリセットされる
と、各物理プロセッサPE2は初期化されて待機状態に
なる。PETLB(図2)は、システムエントリ8が初
期化され、それ以外のエントリが全て無効化される。
<< 3. Example of virtual processor management in cooperation with software><3a. System Initialization> When the system is reset, each physical processor PE2 is initialized and enters a standby state. In PETLB (FIG. 2), the system entry 8 is initialized, and all other entries are invalidated.

【0032】すべての初期化処理が終了すると、PMU
1(図1)がシステム・プロセッサを呼び出す。この呼
び出しは、《2.仮想プロセッサへのアクセス》で述べ
た物理プロセッサPE2に対する割り込み要求によって
行われる。
When all initialization processing is completed, the PMU
1 (FIG. 1) calls the system processor. This call is << 2. Access to Virtual Processor >> by the interrupt request to the physical processor PE2.

【0033】起動したシステム・プロセッサでは、OS
のカーネル(核)の実行が開始され、システムメモリS
M(図1)内のプロセッサ・エレメント管理テーブルの
初期化が行われる。
In the activated system processor, the OS
Of the kernel (nucleus) is started, and the system memory S
Initialization of the processor element management table in M (FIG. 1) is performed.

【0034】〈3b.仮想プロセッサの生成〉その後、
OSのその他の部分やアプリケーションソフトウェアが
起動されて、それぞれのプロセスが新しい仮想プロセッ
サに割り当てられる。この処理は、プロセスが、OSの
用意したプログラムである「仮想プロセッサ生成タス
ク」をシステム・コール等で呼び出すことによって行わ
れる。
<3b. Create virtual processor>
Other parts of the OS and application software are activated, and each process is assigned to a new virtual processor. This process is performed by the process calling a “virtual processor generation task”, which is a program prepared by the OS, by a system call or the like.

【0035】呼び出された仮想プロセッサ生成タスク
は、プロセスを割り当てられた仮想プロセッサにVEI
Dを与え、その仮想プロセッサに物理プロセッサPE2
(図1)を割り当てる。そして、そのVEIDとPEI
Dと当該プロセスの実行に必要な情報とを、システムメ
モリSM(図1)内のプロセッサ・エレメント管理テー
ブルに記憶させる。このようにして、仮想プロセッサが
生成される。
The called virtual processor creation task sends a VEI to the virtual processor to which the process is assigned.
D, and assigns the physical processor PE2 to the virtual processor.
(FIG. 1). And the VEID and PEI
D and information necessary for executing the process are stored in a processor element management table in the system memory SM (FIG. 1). In this way, a virtual processor is generated.

【0036】尚、新しく生成する仮想プロセッサにどの
物理プロセッサPE2を割り当てるかは、OSが各物理
プロセッサPE2の使用状況等をもとにして決定する。
VEIDで表現可能な範囲内で、システムに実装されて
いる物理プロセッサPE2の数よりも多い数の仮想プロ
セッサを生成することも可能であり、その場合には複数
の仮想プロセッサに同一の物理プロセッサPE2を共有
させるようにする。
The OS determines which physical processor PE2 is to be assigned to a newly created virtual processor based on the usage status of each physical processor PE2.
Within the range that can be represented by VEID, it is also possible to generate a larger number of virtual processors than the number of physical processors PE2 mounted on the system. In this case, the same physical processor PE2 is assigned to a plurality of virtual processors. To share.

【0037】〈3c.仮想プロセッサの実行〉新しく生
成された仮想プロセッサを実際に物理プロセッサPE2
上で実行させる処理は、仮想プロセッサの生成処理とは
独立かつ並行的に行われる。
<3c. Execution of virtual processor> The newly generated virtual processor is actually replaced with the physical processor PE2.
The processing executed above is performed independently and in parallel with the virtual processor generation processing.

【0038】そのために、システムには、タイマ割り込
みのような外部割り込みが定期的にかかるようになって
いる。この仕組みは、単一のプロセッサに時分割により
マルチタスクを行わせるためのものと同じである。
To this end, an external interrupt such as a timer interrupt is periodically applied to the system. This mechanism is the same as that for making a single processor perform multitasking by time division.

【0039】タイマ割り込みはシステム全体に関係する
イベントなので、それが発生すると、PMU1が物理プ
ロセッサPE2に対する割り込み要求によって自動的に
システム・プロセッサを呼び出す。この割り込み処理を
記述したプログラムである割り込みハンドラから、OS
の用意したプログラムである「仮想プロセッサ管理タス
ク」が呼び出されるようになっている。
Since the timer interrupt is an event relating to the entire system, when it occurs, the PMU1 automatically calls the system processor by an interrupt request to the physical processor PE2. From an interrupt handler, which is a program describing this interrupt processing, the OS
A "virtual processor management task", which is a program prepared by the above, is called.

【0040】呼び出された仮想プロセッサ管理タスク
は、システムメモリSM内のプロセッサ・エレメント管
理テーブルから、次のタイマ割り込みまでの一定期間物
理プロセッサPE2を割り当てて実行する仮想プロセッ
サを、各プロセス間の優先順位等をもとに決定する。こ
うして決定された仮想プロセッサが、《2.仮想プロセ
ッサへのアクセス》で述べたようアプリケーションソフ
トウェアによってアクセスされることにより、その仮想
プロセッサの実行が開始される。
The called virtual processor management task assigns a virtual processor that allocates and executes the physical processor PE2 for a certain period of time until the next timer interrupt from the processor element management table in the system memory SM, and sets the priority order among the processes. Decide based on The virtual processor determined in this way is << 2. Access to Virtual Processor >> As described above, execution by the virtual processor is started.

【0041】以上のように、このマルチプロセッサ・シ
ステムによれば、アプリケーションソフトウェアのレベ
ルで、物理プロセッサPE2のハードウェア構成に特化
しない形で記述したプログラムにより、物理プロセッサ
PE2にアクセスすることができるようになる。
As described above, according to this multiprocessor system, the physical processor PE2 can be accessed at the application software level by a program described in a form not specialized for the hardware configuration of the physical processor PE2. Become like

【0042】また、システムに実装されている物理プロ
セッサPE2の数よりも多い数の仮想プロセッサにプロ
セスを割り当てることにより、VEIDで表現可能な範
囲内で、物理プロセッサPE2の数よりも多い数のプロ
セッサの使用を前提としたプログラムを記述することも
できるようになる。
Further, by assigning processes to a larger number of virtual processors than the number of physical processors PE2 installed in the system, the number of processors larger than the number of physical processors PE2 is limited within the range expressible by VEID. You can also write programs that assume the use of.

【0043】尚、以上の実施例では、主記憶装置(シス
テムメモリSM)を単一のバス(コミュニケーション・
バス3)を介して各プロセッサ(PE2)に共有させる
単一バス方式の共有メモリ形(密結合形)マルチプロセ
ッサに本発明を適用しているが、その他の方式(例えば
多重バス方式,階層バス方式,マルチポートメモリ方式
等)の共有メモリ形マルチプロセッサや、あるいはメッ
セージ交換形(疎結合形)マルチプロセッサに本発明を
適用するようにしてもよい。
In the above embodiment, the main memory (system memory SM) is connected to a single bus (communication / memory).
Although the present invention is applied to a shared memory type (tightly-coupled type) multiprocessor of a single bus system which is shared by the processors (PE2) via the bus 3), other systems (for example, a multi-bus system, a hierarchical bus) The present invention may be applied to a shared memory type multiprocessor of a type, a multiport memory type, or the like, or a message exchange type (loosely coupled type) multiprocessor.

【0044】また、本発明は、以上の実施例に限らず、
本発明の要旨を逸脱することなく、その他様々の構成を
とりうることはもちろんである。
The present invention is not limited to the above embodiment,
It goes without saying that various other configurations can be adopted without departing from the gist of the present invention.

【0045】[0045]

【発明の効果】以上のように、本発明に係るマルチプロ
セッサ・システムによれば、アプリケーションソフトウ
ェアのレベルで、特定のハードウェア構成のプロセッサ
に特化しない形で記述したプログラムにより、プロセッ
サにアクセスすることができる。これにより、システム
におけるプロセッサのハードウェア構成に変更が生じた
場合にも、アプリケーションソフトウェアのプログラム
を書き直す必要がなくなるので、時間,労力,コストの
節約につながる。
As described above, according to the multiprocessor system of the present invention, the processor is accessed at the level of the application software by the program described in a form not specialized for the processor having the specific hardware configuration. be able to. This eliminates the need to rewrite the application software program even when the hardware configuration of the processor in the system is changed, thereby saving time, labor, and cost.

【0046】また、システムに実装されたプロセッサ数
よりも多い数のプロセッサの使用を前提としたプログラ
ムを記述することができるので、アプリケーションソフ
トウェアを作成する上での制約を減らすことができる。
Further, since it is possible to describe a program on the assumption that a larger number of processors than the number of processors mounted on the system are used, it is possible to reduce restrictions on creating application software.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るマルチプロセッサ・システムの構
成の一例を示す図である。
FIG. 1 is a diagram showing an example of a configuration of a multiprocessor system according to the present invention.

【図2】プロセッサエレメントテーブルの一例を示す図
である。
FIG. 2 is a diagram illustrating an example of a processor element table.

【符号の説明】[Explanation of symbols]

1…プロセッサ・マネージメント・ユニット、 2a,
2b,2c,2d…プロセッサエレメント、 3…コミ
ュニケーション・バス、 SM…システムメモリ、 4
…Validフィールド、 5…Lockフィールド、
6…VEIDフィールド、 7…PEIDフィール
ド、 8…システムエントリ
1. Processor management unit 2a,
2b, 2c, 2d: processor element, 3: communication bus, SM: system memory, 4
... Valid field, 5 ... Lock field,
6 VEID field 7 PEID field 8 System entry

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 システムにおいて実行すべきプロセスを
仮想的なプロセッサに割り当てる手段と、 前記仮想的なプロセッサに、システムに実装されたプロ
セッサを割り当てる手段と、 前記仮想的なプロセッサと該プロセッサに割り当てられ
た前記実装されたプロセッサとを関連付けて記憶する手
段と、 いずれかの前記仮想的なプロセッサが呼び出されること
に応じて、該プロセッサに関連付けて記憶された前記実
装されたプロセッサに、該仮想的なプロセッサを実行さ
せる手段とを備えたことを特徴とするマルチプロセッサ
・システム。
1. means for assigning a process to be executed in a system to a virtual processor; means for assigning a processor implemented in the system to the virtual processor; and means assigned to the virtual processor and the processor. Means for associating the mounted processor with the mounted processor; and in response to any one of the virtual processors being called, the virtual processor stores the virtual processor with the mounted processor stored in association with the processor. Means for executing a processor.
JP14538497A 1997-06-03 1997-06-03 Multiprocessor system Pending JPH10334056A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14538497A JPH10334056A (en) 1997-06-03 1997-06-03 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14538497A JPH10334056A (en) 1997-06-03 1997-06-03 Multiprocessor system

Publications (1)

Publication Number Publication Date
JPH10334056A true JPH10334056A (en) 1998-12-18

Family

ID=15384006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14538497A Pending JPH10334056A (en) 1997-06-03 1997-06-03 Multiprocessor system

Country Status (1)

Country Link
JP (1) JPH10334056A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266588B2 (en) 2000-06-10 2007-09-04 Nhn Corporation Network service system and method including a channel generator
US7320024B2 (en) 2000-07-24 2008-01-15 Nhn Corporation System and method for providing contents on a network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266588B2 (en) 2000-06-10 2007-09-04 Nhn Corporation Network service system and method including a channel generator
US7320024B2 (en) 2000-07-24 2008-01-15 Nhn Corporation System and method for providing contents on a network

Similar Documents

Publication Publication Date Title
US10558580B2 (en) Methods and apparatus for loading firmware on demand
KR0170565B1 (en) Method and apparatus for management of mapped and unmapped regions of memory in a microkernel data processing system
US4914570A (en) Process distribution and sharing system for multiple processor computer system
JP4322232B2 (en) Information processing apparatus, process control method, and computer program
US5274789A (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication
US5123094A (en) Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers
US7484043B2 (en) Multiprocessor system with dynamic cache coherency regions
US7200734B2 (en) Operating-system-transparent distributed memory
EP0431467B1 (en) Multiprocessor system having distributed shared resources and dynamic global data replication
US5892944A (en) Program execution and operation right management system suitable for single virtual memory scheme
WO2015169145A1 (en) Memory management method and device
US20050021913A1 (en) Multiprocessor computer system having multiple coherency regions and software process migration between coherency regions without cache purges
US20150186659A1 (en) Modifying memory permissions in a secure processing environment
US20100199062A1 (en) Managing requests of operating systems executing in virtual machines
CN103383667A (en) Memory protection circuit, processing unit, and memory protection method
US20070124729A1 (en) Method, apparatus and program storage device for providing an anchor pointer in an operating system context structure for improving the efficiency of accessing thread specific data
JP3882321B2 (en) Computer with operating system module program
JPWO2010097925A1 (en) Information processing device
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
JP5131269B2 (en) Multi-processing system
CN109783145B (en) Method for creating multi-image-based multifunctional embedded system
JPH10334055A (en) Multiprocessor system
CN108845969B (en) Operation control method and operation system suitable for incompletely symmetrical multi-processing microcontroller
JPH10334056A (en) Multiprocessor system
Hall et al. Memory management in a PIM-based architecture