JP2001256205A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JP2001256205A
JP2001256205A JP2000063452A JP2000063452A JP2001256205A JP 2001256205 A JP2001256205 A JP 2001256205A JP 2000063452 A JP2000063452 A JP 2000063452A JP 2000063452 A JP2000063452 A JP 2000063452A JP 2001256205 A JP2001256205 A JP 2001256205A
Authority
JP
Japan
Prior art keywords
processor
bus
processors
grant
self
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
JP2000063452A
Other languages
Japanese (ja)
Inventor
Atsutake Asai
淳毅 朝井
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2000063452A priority Critical patent/JP2001256205A/en
Publication of JP2001256205A publication Critical patent/JP2001256205A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To make each of multiple processors easily recognize itself. SOLUTION: In a multiprocessor system 1, multiple processors 11, a memory 12 and an application state register 26 are connected to a single system bus 13. The application state register stores the present state of applying the use of the system bus to all the processors 11. When an exceptional event occurs, a processor to respond to this event accesses a physical address corresponding to this exceptional event and runs a program for branching processing stored in the physical address. As a result, the processor accesses the application state register after the use is applied, recognizes that a processor determined under the application of the use is itself on the basis of the application state of the use reported from the application state register in response to access, reads the program of a specified processing routine previously assigned to the recognized processor itself and starts running this program.

Description

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

【0001】[0001]

【発明が属する技術分野】本発明は、複数のプロセッサ
が共通のシステムバスに接続されている構成のマルチプ
ロセッサ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor device in which a plurality of processors are connected to a common system bus.

【0002】[0002]

【従来の技術】従来技術のマルチプロセッサ装置の1種
類として、複数のプロセッサが単一のメモリを共有する
構成である共通メモリ型のマルチプロセッサ装置があ
る。
2. Description of the Related Art As one type of a multiprocessor device of the prior art, there is a common memory type multiprocessor device in which a plurality of processors share a single memory.

【0003】図6は、中央処理装置(Central Processi
ng Unit:以後「CPU」と略称する)をプロセッサとし
て用いた従来技術の共通メモリ型のマルチプロセッサ装
置1の構成を示すブロック図である。図6のマルチプロ
セッサ装置1は、複数のプロセッサ31〜3Nと主記憶と
して共用されるメモリ4との他に、全プロセッサが共用
するシステムバス5とバスアービタ6とを含む。なおN
はプロセッサの数であって2以上の整数であり、nは1
以上N以下の任意の整数である。全プロセッサ31〜3N
およびメモリ4は、1本のシステムバス5に接続されて
いる。システムバス5の使用権(以後単に「使用権」と
略称する)は、バスアービタ6によって、全プロセッサ
1〜3Nのうちのいずれか1つのプロセッサに付与され
る。各プロセッサ3nは、使用権が付与されている間だ
け、システムバス5を介して主記憶4にアクセスする。
FIG. 6 shows a central processing unit (Central Processi).
FIG. 2 is a block diagram showing a configuration of a common memory type multiprocessor device 1 of the related art using an ng Unit (hereinafter abbreviated as “CPU”) as a processor. Multiprocessor apparatus 1 of FIG. 6 includes in addition to the memory 4 shared as a plurality of processors 3 1 to 3 N and a main memory, a system bus 5 and arbiter 6 by all processors to share. Note that N
Is the number of processors and is an integer of 2 or more, and n is 1
It is an arbitrary integer not less than N and not more than N. All processors 3 1 ~3 N
The memory 4 is connected to one system bus 5. Right of use of the system bus 5 (hereinafter simply referred to as "usage rights") is the bus arbiter 6, is applied to any one processor among all processors 3 1 to 3 N. Each processor 3n accesses the main memory 4 via the system bus 5 only while the usage right is granted.

【0004】特開平2−77866号公報に開示される
マルチプロセッサ装置は、複数のプロセッサと単一のメ
モリと単一のシステムバスとバスアービタとの他に、主
記憶となるメモリのメモリ容量の拡張のために、メモリ
からのデータ出力を制御するためのメモリデコーダをさ
らに有し、かつメモリの全記憶領域が複数のメモリブロ
ックに分割されている。各プロセッサは、接続されてい
るシステムバスのアドレスバスの全信号線のうちの2本
の信号線に、いずれか1つのメモリブロックを指定する
信号を与え、残余の信号線に、該いずれか1つのメモリ
ブロック内のアクセスすべきアドレスを与える。メモリ
デコーダは、前記2本の信号線上の信号に基づいていず
れか1つのメモリブロックを選択し、かつ選択されたメ
モリブロックに前記残余の信号線上のアドレスを与え
る。
A multiprocessor device disclosed in Japanese Patent Application Laid-Open No. 2-77866 discloses an expansion of a memory capacity of a memory serving as a main memory in addition to a plurality of processors, a single memory, a single system bus and a bus arbiter. For this purpose, a memory decoder for controlling data output from the memory is further provided, and the entire storage area of the memory is divided into a plurality of memory blocks. Each processor supplies a signal designating any one memory block to two signal lines of all signal lines of an address bus of the connected system bus, and supplies the remaining signal lines with any one of the signal lines. Gives the address to be accessed in one memory block. The memory decoder selects one of the memory blocks based on the signals on the two signal lines, and gives an address on the remaining signal line to the selected memory block.

【0005】また特開平2−42558号公報は、汎用
コンピュータ等の情報処理システムを開示している。前
記情報処理システムにおいては、複数のサービスプロセ
ッサがインタフェイス装置を介して情報処理本体装置に
対してアクセスし、情報処理本体装置のメモリにデータ
を書込む。書込まれているデータに矛盾が発生すること
を防止するために、インタフェイス装置は、各サービス
プロセッサからの情報処理本体装置のメモリに対するア
クセスを、アクセス内容に応じて許可または禁止する。
Japanese Patent Laid-Open Publication No. 2-42558 discloses an information processing system such as a general-purpose computer. In the information processing system, a plurality of service processors access the information processing main unit via the interface device and write data in a memory of the information processing main unit. In order to prevent inconsistency in the written data, the interface device permits or prohibits access to the memory of the information processing main unit from each service processor according to the access content.

【0006】図6のマルチプロセッサ装置1、特開平2
−77866号公報のマルチプロセッサ装置、および特
開平2−42558号公報の情報処理システム等、従来
技術の共有メモリ型のマルチプロセッサ装置は、全ての
プロセッサが単一のアドレスバスを共用しているなら
ば、全ての各プロセッサ31〜3Nの物理アドレス空間が
共通になる。従来のマルチプロセッサ装置1において各
プロセッサ3nとしてCPUが用いられる場合、リセッ
トおよび割込み等の例外要因の発生時に全ての各CPU
1〜3Nがアクセスする物理アドレスが相互に等しいこ
とが多い。
The multiprocessor device 1 shown in FIG.
Conventional multi-processors of the shared memory type, such as the multiprocessor of Japanese Patent Application Laid-Open No. 77866/1995 and the information processing system of Japanese Patent Application Laid-Open No. 2-42558, are provided if all processors share a single address bus. if, the physical address space of all the processors 3 1 to 3 N becomes common. When CPUs are used as the processors 3 n in the conventional multiprocessor device 1, all the CPUs are used when exception factors such as resets and interrupts occur.
3 1 to 3 N is often physical address to be accessed is equal to each other.

【0007】特開平8−272756号公報のマルチプ
ロセッサシステムは、各プロセッサ3nの例外要因発生
時の起動用物理アドレスが相互に等しい場合のリセット
解除時のブート処理を開示している。前記公報のマルチ
プロセッサシステムは、複数のプロセッサと主記憶であ
る共通メモリとシステムバスとバスアービタとを含み、
かつ、システムをブートするためのコードが記憶されて
いる単一のブートROMが共通メモリに含まれている。
システムリセットの解除時には、動作可能な全プロセッ
サが、ブートROMへのアクセスのため、システムバス
の使用権の獲得をそれぞれ要求する。バスアービタは、
使用権の獲得を要求しているプロセッサのうちのいずれ
か1つにバスアービタが使用権を与え、該いずれか1つ
のプロセッサによってブートROMに記憶されているコ
ードの実行が完了するまで、他のプロセッサへの使用権
付与を停止させている。
The multiprocessor system disclosed in Japanese Unexamined Patent Publication No. Hei 8-272756 discloses a boot process at the time of reset release when the physical addresses for activation when the exceptional factors of the processors 3 n are equal to each other. The multiprocessor system of the publication includes a plurality of processors, a common memory that is a main memory, a system bus, and a bus arbiter,
In addition, a single boot ROM in which a code for booting the system is stored is included in the common memory.
When the system reset is released, all the operable processors respectively request acquisition of the right to use the system bus in order to access the boot ROM. The bus arbiter
The bus arbiter grants the right to use one of the processors requesting the right to use the other processor until the execution of the code stored in the boot ROM is completed by the one processor. The right to use has been suspended.

【0008】特開平8−272756号公報で説明され
るように、複数のプロセッサが単一メモリおよび単一シ
ステムバスを共用する構成の従来技術のマルチプロセッ
サ装置は、全プロセッサが単一の物理アドレス空間を共
用するので、各プロセッサが例外要因発生時に最初にア
クセスする所定の起動用物理アドレスが相互に等しけれ
ば、例外要因発生時に全プロセッサがメモリの該起動用
物理アドレスにアクセスしようとする。したがって前記
例外要因発生時には、全プロセッサが相互に等しい単一
処理プログラムを実行することになる。
As described in Japanese Patent Application Laid-Open No. 8-272756, in a conventional multiprocessor device in which a plurality of processors share a single memory and a single system bus, all processors have a single physical address. Since the space is shared, if the predetermined starting physical addresses accessed by the processors at the time of occurrence of the exception cause are equal to each other, all the processors try to access the starting physical address of the memory at the time of occurrence of the exception cause. Therefore, when the above-mentioned exceptional factor occurs, all the processors execute the same single processing program.

【0009】従来技術のマルチプロセッサ装置1におい
て、各プロセッサ3nに相互に異なるプログラムを実行
させることが望まれる場合がある。たとえば特開平8−
263460号公報のマルチアーキテクチャプロセッサ
システムでは、全プロセッサのうちのいずれかのプロセ
ッサの動作中に他のプロセッサへの切換えが必要になっ
た場合、動作中のプロセッサは、割込み制御回路を用い
て自分自身に対して割込みを発生し、該割込みに応答し
て割込みルーチンを起動する。割込みルーチン実行中の
プロセッサは、トグル回路から動作すべきプロセッサ以
外の自己を含む残余のプロセッサへホールド信号を発行
して、動作すべきプロセッサだけを動作可にする。
In the multiprocessor device 1 of the prior art, it may be desired that the processors 3n execute mutually different programs. For example, Japanese Patent Application Laid-Open No. 8-
In the multi-architecture processor system disclosed in Japanese Patent No. 263460, when it is necessary to switch to another processor while any one of the processors is operating, the operating processor uses its interrupt control circuit to perform its own operation. And an interrupt routine is started in response to the interrupt. The processor executing the interrupt routine issues a hold signal from the toggle circuit to the remaining processors including itself other than the processor to be operated, and enables only the processor to be operated.

【0010】上記マルチアーキテクチャプロセッサシス
テムでは、プロセッサ毎に専用の主記憶を設ける必要が
あり、複数のプロセッサに単一の主記憶を共用させるこ
とが困難である。これによって、主記憶の使用に起因す
る利点、すなわち低コスト、省サイズ、および低消費電
力が得られない。また上記マルチアーキテクチャプロセ
ッサシステムでは、常に1つのプロセッサだけが動作し
ているので、キャッシュヒット時等、全プロセッサがシ
ステムバスを使用しない場合であっても、複数のプロセ
ッサが並列に動作することは困難である。
In the multi-architecture processor system, it is necessary to provide a dedicated main memory for each processor, and it is difficult to share a single main memory among a plurality of processors. As a result, advantages resulting from the use of the main memory, that is, low cost, small size, and low power consumption cannot be obtained. Further, in the multi-architecture processor system, since only one processor is always operating, it is difficult for a plurality of processors to operate in parallel even when all processors do not use the system bus, such as at the time of a cache hit. It is.

【0011】[0011]

【発明が解決しようとする課題】上述している従来技術
のマルチプロセッサ装置1においては、特に例外要因の
発生時に、各プロセッサ3nに相互に異なるプログラム
を実行させることが望まれる。かつ製造コストの低下と
装置サイズの縮小と消費電力低減化とのために、従来技
術のマルチプロセッサ装置1は、複数のプロセッサがメ
モリ4およびシステムバス5を共用していることが望ま
れている。例外要因発生時に最初にアクセスする起動用
物理アドレスが相互に等しいCPUをプロセッサ3n
して用いるならば、上記のマルチプロセッサ装置1にお
いては、メモリ4およびシステムバス5の共有化に伴い
各CPU3nの物理アドレス空間が相互に共通している
ので、例外要因発生時にいずれのCPU3nも主記憶4
内の該起動用物理アドレスに最初にアクセスする。これ
によって上記起動用物理アドレスが相互に等しい複数の
プロセッサ31〜3Nを用いかつメモリおよびシステムバ
スを該複数のプロセッサが共用している構成のマルチプ
ロセッサ装置1では、例外要因発生時に各プロセッサ3
nが起動するプログラムを相互に異ならせることは不可
能である。
In [0007] multiprocessor prior art it has been described above 1, particularly when the occurrence of an exception factor, thereby executing the mutually different programs to each processor 3 n is desired. In addition, in order to reduce the manufacturing cost, the size of the device, and the power consumption, it is desired that the multiprocessor device 1 of the related art has a plurality of processors sharing the memory 4 and the system bus 5. . If CPUs having the same starting physical address accessed first when an exceptional factor occurs are used as the processor 3 n , in the multiprocessor device 1, the memory 4 and the system bus 5 are shared, and each CPU 3 n Since the physical address spaces are common to each other, any of the CPUs 3 n will not
First, the physical address for activation is accessed. As a result, in the multiprocessor 1 having a configuration in which a plurality of processors 3 1 to 3 N having the same starting physical addresses and a memory and a system bus are shared by the plurality of processors, each of the processors 3 3
It is impossible for n to start different programs.

【0012】本発明の目的は、例外要因発生時の起動用
の物理アドレスが相互に等しい複数のプロセッサにメモ
リおよびシステムバスを共用させつつ、例外要因発生時
に各プロセッサに相互に異なる処理を実行させることが
できるマルチプロセッサ装置を提供することである。
An object of the present invention is to cause a plurality of processors having the same physical address for activation when an exceptional factor occurs to share a memory and a system bus, and to cause the processors to execute mutually different processes when an exceptional factor occurs. It is to provide a multiprocessor device which can be used.

【0013】[0013]

【課題を解決するための手段】本発明は、複数のプロセ
ッサとメモリとシステムバスとバスアービタとを含み、
全プロセッサとメモリとがシステムバスに接続されてい
て、バスアービタがいずれか1つのプロセッサにシステ
ムバスの使用権を付与し、使用権付与中のプロセッサだ
けがシステムバスを介してメモリにアクセスする構成の
マルチプロセッサ装置において、全ての各プロセッサへ
の使用権の現在の付与状態を、使用権付与中のプロセッ
サからの要求に応答して、該プロセッサに通知する自己
認識回路を含み、使用権付与中のプロセッサは、自己認
識回路から通知されている使用権の付与状態に基づいて
使用権が付与されていると判断されるプロセッサが自己
であると認識することを特徴とするマルチプロセッサ装
置である。
SUMMARY OF THE INVENTION The present invention includes a plurality of processors, a memory, a system bus, and a bus arbiter.
All the processors and the memories are connected to the system bus, the bus arbiter grants the right to use the system bus to any one of the processors, and only the processor to which the right to grant is accessing the memory via the system bus. A multiprocessor device, including a self-aware circuit for notifying the current grant status of the use right to each processor to the processor in response to a request from the processor to which the use right is being granted; The processor is a multiprocessor device that recognizes that the processor determined to be granted the usage right is itself based on the grant status of the usage right notified from the self-recognition circuit.

【0014】本発明に従えば、複数のプロセッサがメモ
リおよびシステムバスを共用する構成のマルチプロセッ
サ装置において、自己認識を必要とするいずれかのプロ
セッサである被認識プロセッサは、使用権が付与されて
いる期間内に自己認識回路から使用権の付与状態の通知
を受け、通知された付与状態に基づいて使用権が付与さ
れていると判断されるいずれか1つのプロセッサが自己
であると認識する。このようにマルチプロセッサ装置に
おいては、使用権の付与状態だけに基づいてプロセッサ
の自己認識が可能なので、自己認識のための構成が極め
て容易になる。このように自己認識が可能であれば、各
プロセッサは自己識別が必要な処理を行うことができ
る。
According to the present invention, in a multiprocessor having a configuration in which a plurality of processors share a memory and a system bus, a recognized processor, which is one of the processors requiring self-recognition, is given a use right. Within a certain period, a notification of the use right grant status is received from the self-recognition circuit, and any one of the processors determined to be granted the use right based on the notified grant status recognizes itself. As described above, in the multiprocessor device, since the processor can recognize itself based only on the state of use right, the configuration for self-recognition becomes extremely easy. If self-recognition is possible in this manner, each processor can perform a process that requires self-identification.

【0015】本発明のマルチプロセッサ装置は、前記自
己認識回路が、前記全プロセッサへの前記使用権の現在
の付与状態を示すデータを保持している付与状態レジス
タを含み、前記バスアービタは、プロセッサ毎に、プロ
セッサに対する使用権の付与状態に応じて状態が定めら
れるバス許可信号を、該プロセッサと前記付与状態レジ
スタ内の該プロセッサに対応付けられているビットセル
とに与え、前記付与状態レジスタの各ビットセルは、該
各ビットセルに対応付けられているプロセッサへのバス
許可信号の現在の状態をラッチして保持しており、前記
自己認識回路は、使用権付与中のプロセッサからの要求
に応答して、付与状態レジスタ内の全ビットセルに記憶
されるバス許可信号の状態を該プロセッサに通知するこ
とを特徴とする。
In the multiprocessor device according to the present invention, the self-recognition circuit includes an assignment status register holding data indicating a current assignment status of the use right to all the processors, and the bus arbiter is provided for each processor. A bus grant signal whose state is determined according to the granting state of the use right to the processor, is given to the processor and the bit cells associated with the processor in the granting state register, and each bit cell of the granting state register is provided. Latches and holds the current state of the bus grant signal to the processor associated with each bit cell, and the self-recognition circuit responds to a request from the processor granting the right to use, The processor is notified of the state of the bus permission signal stored in all bit cells in the assignment state register.

【0016】本発明に従えば、マルチプロセッサ装置に
おいて、各プロセッサへの使用権付与の制御のためにバ
スアービタから各プロセッサに与えられるバス許可信号
の現在の状態が、自己認識回路に備えられる付与状態レ
ジスタの各ビットセルにラッチされる。この結果付与状
態レジスタに記憶されるデータは、全プロセッサの数と
同数以上のビットから成るビット列で表され、かつ各ビ
ットの状態の組合わせによって使用権が付与されている
プロセッサを一意に示す。これによって自己認識回路
は、全プロセッサへの使用権の現在の付与状態を示すデ
ータを、簡単な構成でかつ極めて容易に作成することが
できる。また付与状態レジスタ内のデータは使用権付与
中のプロセッサを一意的に示しているので、該使用権付
与中のプロセッサにおいて自己の識別データとして転用
可能である。これによって使用権付与中のプロセッサが
自己識別が必要な処理を行う際、処理が容易になる。
According to the present invention, in the multiprocessor device, the current state of the bus permission signal given to each processor from the bus arbiter for controlling the grant of the right of use to each processor is provided in the self-recognition circuit. Each bit cell of the register is latched. The data stored in the result assignment state register is represented by a bit string composed of bits equal to or greater than the number of all processors, and uniquely indicates the processor to which the use right is assigned by a combination of the state of each bit. Thus, the self-recognition circuit can easily and extremely easily create data indicating the current grant status of the usage right to all processors. Since the data in the grant status register uniquely indicates the processor to which the use right is being granted, the processor to which the use right is being granted can be diverted as its own identification data. This facilitates the processing when the processor to which the usage right is being granted performs processing that requires self-identification.

【0017】本発明のマルチプロセッサ装置は、前記シ
ステムバス内のアドレスバスに与えられる物理アドレス
に応答し、前記システムバス内のデータバスへのデータ
の送出を制御するメモリデコーダをさらに含み、前記自
己認識回路が、前記各プロセッサへの前記使用権の現在
の付与状態を示すデータを保持している付与状態レジス
タを含み、メモリデコーダおよび付与状態レジスタは、
前記システムバスに接続され、前記使用権付与中のプロ
セッサは、前記付与状態レジスタに予め割当てられてい
る所定の物理アドレスをアドレスバスに送出し、メモリ
デコーダは、前記所定の物理アドレスのアドレスバスへ
の送出に応答して、付与状態レジスタに記憶されている
データをデータバスへ送出させることを特徴とする。
The multiprocessor device of the present invention further includes a memory decoder which responds to a physical address given to an address bus in the system bus and controls transmission of data to a data bus in the system bus. The recognition circuit includes a grant status register holding data indicating a current grant status of the use right to each processor, and the memory decoder and the grant status register include:
The processor connected to the system bus and granting the usage right sends a predetermined physical address previously assigned to the grant status register to the address bus, and the memory decoder sends the predetermined physical address to the address bus of the predetermined physical address. The data stored in the assignment state register is transmitted to the data bus in response to the transmission of the data.

【0018】本発明に従えば、マルチプロセッサ装置に
おいて、自己認識回路内の付与状態レジスタに所定物理
アドレスが予め割当てられおり、かつ付与状態レジスタ
がシステムバスに接続されているので、メモリデコーダ
によって付与状態レジスタからのデータ送出が制御され
る。これによって、使用権付与中のレジスタは、システ
ムバスとメモリデコーダとを経由して行われる一般的な
メモリへのアクセス手順と同じ手順で、自己認識回路へ
付与状態通知を要求することができる。また付与状態レ
ジスタがシステムバスに接続されているので、付与状態
レジスタからのデータを取得するプロセッサには使用権
が必ず付与される。この結果、自己認識回路へ付与状態
通知を要求するプロセッサが、使用権付与中のプロセッ
サに自動的に限定される。かつ各プロセッサは、付与状
態レジスタに対して一般的なメモリへのアクセス手順と
同じ手順でアクセスするだけで、自己認識回路に自己を
一意に示すデータを作成させることができる。
According to the present invention, in the multiprocessor device, a predetermined physical address is previously assigned to the assignment status register in the self-recognition circuit, and the assignment status register is connected to the system bus. Data transmission from the status register is controlled. As a result, the register that is granting the usage right can request the self-recognition circuit to notify the granting state in the same procedure as the general procedure for accessing the memory via the system bus and the memory decoder. Further, since the assignment status register is connected to the system bus, the right to use is always assigned to the processor that acquires data from the assignment status register. As a result, the processor that requests the self-recognition circuit to issue the grant status is automatically limited to the processor that is granting the usage right. In addition, each processor can cause the self-recognition circuit to create data that uniquely identifies itself only by accessing the assignment state register in the same procedure as that for accessing a general memory.

【0019】本発明のマルチプロセッサ装置は、前記自
己認識回路は、バスアービタから与えられている各プロ
セッサへのバス許可信号を遅延させ、遅延されているバ
ス許可信号を付与状態レジスタの各ビットセルに与える
遅延回路をさらに含み、バス許可信号における使用権未
付与の状態から使用権付与済の状態への変化タイミング
が、該バス許可信号が与えられるプロセッサから前記シ
ステムバスへのアドレス送出が実際に可能になるタイミ
ングと一致するまで、バスアービタから自己認識回路に
与えられているバス許可信号が遅延されることを特徴と
する。
In the multiprocessor device according to the present invention, the self-recognition circuit delays a bus grant signal from the bus arbiter to each processor, and provides the delayed bus grant signal to each bit cell of the assignment status register. A delay circuit that changes the timing of the change of the state of the bus permission signal from the state in which the use right is not granted to the state in which the use right is granted, so that the processor to which the bus permission signal is applied can actually transmit an address to the system bus. The bus permission signal provided from the bus arbiter to the self-recognition circuit is delayed until the timing coincides.

【0020】本発明に従えば、マルチプロセッサ装置に
おいて、使用権付与に伴うバス許可信号の状態移行タイ
ミングが使用権新規付与のプロセッサからのアドレス送
出が実際に可能になるタイミングと一致するまで、バス
アービタからのバス許可信号GTNnは遅延される。遅
延されたバス許可信号Delayed−GTNnの状態
を、付与状態レジスタがラッチする。これによって、上
記2つのタイミングのずれに起因するプロセッサの自己
認識誤りが、防止される。
According to the present invention, in the multiprocessor device, the bus arbiter is operated until the timing of the state transition of the bus grant signal accompanying the grant of the usage right coincides with the timing at which the address transmission from the processor newly granting the usage right actually becomes possible. Is delayed. The state of the delayed bus permission signal Delayed-GTNn is latched by the provision state register. This prevents a self-recognition error of the processor due to the difference between the two timings.

【0021】本発明のマルチプロセッサ装置は、前記メ
モリは、前記各プロセッサに個別に割当てられている予
め定める特定処理ルーチンのプログラムを記憶してお
り、前記プロセッサは、(1)前記バスアービタに前記
使用権を要求し、(2)使用権付与後、使用権の付与状
態の通知を自己認識回路に要求し、(3)通知される使
用権の付与状態に基づいて認識される自己のプロセッサ
に割当てられている特定処理ルーチンのプログラムを前
記システムバスを介して前記メモリから読出し、該プロ
グラムを実行することを特徴とする。
In the multiprocessor device according to the present invention, the memory stores a program for a predetermined specific processing routine individually assigned to each of the processors. Request for the right, (2) after granting the right to use, request the self-identifying circuit to notify the state of grant of the right to use, and (3) assign to the own processor recognized based on the state of grant of the right to be notified. The program of the specified processing routine is read out from the memory via the system bus, and the program is executed.

【0022】本発明に従えば、マルチプロセッサ装置に
おいて、プロセッサは、プロセッサにシステムバスの使
用権が付与された後、特定処理ルーチンのプログラムの
読出しに先立ち、自己認識回路を用いて自己認識を行う
ので、自己に割当てられている特定処理ルーチンのプロ
グラムの読出しが可能になる。このようにマルチプロセ
ッサ装置が自己認識回路を有しかつ自己認識処理が使用
権付与後かつ特定処理ルーチンのプログラムの読出し前
に行われる場合、プロセッサ毎に相互に異なるプログラ
ムを起動させることができる。
According to the present invention, in the multiprocessor device, after the processor is given the right to use the system bus, the processor performs self-recognition using the self-recognition circuit before reading the program of the specific processing routine. Therefore, it becomes possible to read the program of the specific processing routine assigned to itself. As described above, when the multiprocessor device has the self-recognition circuit and the self-recognition process is performed after the use right is granted and before the program of the specific processing routine is read, different programs can be activated for each processor.

【0023】本発明のマルチプロセッサ装置は、前記各
プロセッサが、予め定める例外事象発生に応答して前記
バスアービタに前記使用権を要求し、使用権付与後に前
記システムバスを介して前記メモリ内の予め定める例外
起動用の物理アドレスにアクセスして、該起動アドレス
に記述される命令を実行する構成であり、かつ全ての各
プロセッサの例外起動用の物理アドレスが相互に等しい
場合、前記メモリは、例外起動時の処理を分岐するため
の分岐処理ルーチンのプログラムをさらに記憶してお
り、前記メモリ内の分岐処理ルーチンのプログラムのス
タート番地が前記例外起動用の物理アドレスと等しく、
前記分岐処理ルーチンのプログラムは、プロセッサに、
前記自己認識回路への使用権の現在の付与状態の通知の
要求と、通知されている付与状態に基づいて認識される
自己のプロセッサ用の個別処理ルーチンのプログラムの
読出しとを行わせることを特徴とする。
In the multiprocessor device according to the present invention, each of the processors requests the bus arbiter for the use right in response to the occurrence of a predetermined exceptional event, and after the use right is granted, the processor in the memory via the system bus. When a physical address for access to a predetermined exception is accessed and an instruction described in the start address is executed, and the physical addresses for exception activation of all processors are equal to each other, the memory is set to an exception. The program further stores a branch processing routine program for branching processing at the time of activation, and a start address of the branch processing routine program in the memory is equal to the physical address for the exception activation,
The program of the branch processing routine is provided to a processor,
Requesting the self-recognition circuit to be notified of the current grant status of the use right, and reading a program of an individual processing routine for its own processor that is recognized based on the notified grant status. And

【0024】本発明に従えば、マルチプロセッサ装置に
おいて、全ての各プロセッサの例外起動用の物理アドレ
スが相互に等しい場合、メモリの該例外起動用の物理ア
ドレスを先頭とする部分に、分岐処理ルーチンプログラ
ムが予め記憶されている。分岐処理ルーチンプログラム
は、自己認識処理を伴うプログラムの読出しを、使用権
付与中のプロセッサに行わせる。これによってマルチプ
ロセッサ装置は、割込みおよびリセット等の例外事象発
生時に、複数のプロセッサが単一物理アドレス空間を共
用しかつ各プロセッサの例外起動用の物理アドレスが相
互に等しい場合であっても、プロセッサ毎に相互に異な
るプログラムを起動させて実行させることができる。
According to the present invention, in the multiprocessor device, if the physical addresses for exception activation of all the processors are equal to each other, a branch processing routine is added to a portion of the memory starting with the physical address for exception activation. The program is stored in advance. The branch processing routine program causes the processor under the use right to read the program with the self-recognition process. This allows the multiprocessor device to operate even when multiple processors share a single physical address space and physical addresses for exception activation of each processor are equal to each other when exceptional events such as interrupts and resets occur. Different programs can be started and executed each time.

【0025】[0025]

【発明の実施の形態】図1は、本発明の実施の一形態で
あるマルチプロセッサ装置10の電気的構成を示すブロ
ック図である。図1のマルチプロセッサ装置10は、複
数のプロセッサ11が単一のメモリ12および単一のシ
ステムバス13を共用している共有メモリ型のマルチプ
ロセッサシステムになっている。
FIG. 1 is a block diagram showing an electrical configuration of a multiprocessor device 10 according to an embodiment of the present invention. The multiprocessor device 10 of FIG. 1 is a shared memory type multiprocessor system in which a plurality of processors 11 share a single memory 12 and a single system bus 13.

【0026】マルチプロセッサ装置10は、複数のプロ
セッサ(Processor:処理機構)11と、単一の共有メモ
リ12と、システムバス13と、バスアービタ(Arbite
r:調停回路)14と、自己認識回路(Self Identify Ci
ruit)15とを少なくとも含む。システムバス13は、
アドレスバスとデータバスとを少なくとも含む。またマ
ルチプロセッサ装置10は、好ましくは、メモリデコー
ダ(Memory Decoder)16と、割込み制御回路(Interr
upt Controller)17とを含む。全てのプロセッサ11
alと共有メモリ12とメモリデコーダ16と割込み制御
回路17とは、システムバス13にそれぞれ接続されて
おり、システムバス13を介してアドレスおよびデータ
を相互に送受する。なお以後の説明では、2以上ある1
種類の構成ブロックをを個別に示す際には参照符に下付
き文字の添字を付し、全構成ブロックのうちの任意の1
つを示す際には参照符に添字nを付し、全構成ブロック
を総称する際には添字alを付ける。
The multiprocessor device 10 includes a plurality of processors (processors) 11, a single shared memory 12, a system bus 13, and a bus arbiter (Arbite).
r: arbitration circuit) and a self-identification circuit (Self Identify Ci)
ruit) 15 at least. The system bus 13 is
It includes at least an address bus and a data bus. The multiprocessor device 10 preferably includes a memory decoder (Memory Decoder) 16 and an interrupt control circuit (Interr).
upt Controller) 17. All processors 11
The al, the shared memory 12, the memory decoder 16, and the interrupt control circuit 17 are connected to the system bus 13, respectively, and exchange addresses and data with each other via the system bus 13. In the following description, 2 or more 1
When a type of a building block is individually indicated, a subscript is added to a reference mark, and an arbitrary one of all building blocks is added.
When indicating one, a reference number is appended with a suffix n, and when all constituent blocks are collectively referred to, a suffix al is appended.

【0027】共有メモリ12は、プロセッサ11が実行
すべき動作内容を記述した命令列であるプログラムと該
命令の被演算データ(ソース・オペランド)とを記憶し
ており、かつ命令実行によって得られる演算結果(デス
ティネーション・オペランド)も記憶する。特に共有メ
モリ12は、後述する単一の分岐処理ルーチンのプログ
ラムと、後述する複数の特定処理ルーチンのプログラム
とを記憶している。全ての各プロセッサ11nは、共有
メモリ12からの命令の読込み(命令フェッチ)と、該
命令の被演算データの共有メモリ12からの読込みと、
読込んだ命令の解釈および実行と、命令実行によって得
られる演算結果の共有メモリ12への書込みとを行う。
The shared memory 12 stores a program, which is an instruction sequence describing the operation contents to be executed by the processor 11, and data to be operated on (the source operand) of the instruction. The result (destination operand) is also stored. In particular, the shared memory 12 stores a program of a single branch processing routine described later and a program of a plurality of specific processing routines described later. All the processors 11n read an instruction from the shared memory 12 (instruction fetch), read data of the instruction to be operated on from the shared memory 12,
Interpretation and execution of the read instruction and writing of an operation result obtained by the instruction execution to the shared memory 12 are performed.

【0028】全てのプロセッサ11alが1本のシステム
バス13に接続されているので、全てのプロセッサ11
alが単一の物理アドレス空間を共用する。共有メモリ1
2からの命令読出しおよび共有メモリ12へのデータの
書込み等、各プロセッサ11nから共有メモリ12への
アクセスは、システムバス13を経由して行われる。プ
ロセッサ11nによるシステムバス13の使用は、シス
テムバス13の使用権(以後単に「使用権」と称する)
が付与されている間だけ可能である。全ての各プロセッ
サ11nへの使用権の付与は、バスアービタ14によっ
て制御される。
Since all processors 11al are connected to one system bus 13, all processors 11al
al shares a single physical address space. Shared memory 1
The access to the shared memory 12 from each processor 11n, such as reading instructions from the processor 2 and writing data to the shared memory 12, is performed via the system bus 13. The use of the system bus 13 by the processor 11n is determined by the right to use the system bus 13 (hereinafter, simply referred to as "right to use").
Is only possible while the The grant of the usage right to all the processors 11n is controlled by the bus arbiter 14.

【0029】任意の単一プロセッサ11nが共有メモリ
12にアクセスする必要が生じる場合、該プロセッサ1
1nは、共有メモリ12へのアクセスに先立ち、使用権
の付与をバスアービタ14に要求する。使用権付与の要
求は、プロセッサ11毎に個別に行われる。使用権付与
の要求は、プロセッサ11nが共有メモリ12にアクセ
スする必要が無くなるまで、使用権の付与の有無に関わ
らず続けられ、プロセッサ11nが共有メモリ12にア
クセスする必要が無くなった時点で終わる。バスアービ
タ14は、少なくとも1つのプロセッサ11からの使用
権付与の要求に応答し、好ましくは予め定められている
バス優先度に従って、現時点で使用権を要求している全
プロセッサ11のうちのいずれか1つのプロセッサ11
nを選択し、選択したプロセッサ11nに使用権を付与
する。バス優先度は、各プロセッサ11nのシステムバ
ス13の使用の優先順位であり、たとえば各プロセッサ
11n毎に設定されている。またバス優先度は、プロセ
ッサ11nがシステムバス13へのアクセスを伴って実
行しようとする処理毎に定められていても良い。各プロ
セッサ11nは、使用権が付与されている間だけ、シス
テムバス13を介した共有メモリ12へのアクセスが可
能である。これによって、システムバス13を介したメ
モリへのアクセスは、全プロセッサ11alのうちのいず
れか1つに、常に限定されている。
When any single processor 11n needs to access the shared memory 12, the processor 1n
1n requests the bus arbiter 14 to grant a usage right prior to accessing the shared memory 12. The request for granting the right to use is made individually for each processor 11. The request for granting the right to use is continued until the processor 11n no longer needs to access the shared memory 12 irrespective of whether the right to use has been granted, and ends when the processor 11n no longer needs to access the shared memory 12. The bus arbiter 14 responds to a request for grant of usage right from at least one processor 11, preferably according to a predetermined bus priority, to one of all processors 11 currently requesting usage right. One processor 11
n, and grants the usage right to the selected processor 11n. The bus priority is a priority of use of the system bus 13 of each processor 11n, and is set, for example, for each processor 11n. The bus priority may be determined for each process that the processor 11n intends to execute with access to the system bus 13. Each processor 11n can access the shared memory 12 via the system bus 13 only while the usage right is granted. Thereby, access to the memory via the system bus 13 is always limited to any one of the processors 11al.

【0030】メモリデコーダ16は、システムバス13
内のアドレスバスに与えられる物理アドレスに応答し、
システムバス13内のデータバスへの命令、被演算デー
タ、および演算結果の送出を制御する。なお以後の説明
では、データバスを介して送受されるものを単に「デー
タ」と総称している。物理アドレスは、共有メモリ12
内のメモリチップ21,22等の記憶素子だけでなく、
システムバス13に接続されている各種の他の周辺回路
にも割当てられている。割込み制御回路17は、割込み
要因の発生に対する各プロセッサ11nの応答を制御す
る。自己認識回路15は、全プロセッサ11alへの使用
権の現在の付与状態に基づいて、自己が全プロセッサ1
1alのうちのどれであるかを、使用権付与中のプロセッ
サ11nに認識させる。
The memory decoder 16 is connected to the system bus 13
Responds to the physical address provided to the address bus within the
It controls transmission of instructions, data to be operated, and operation results to the data bus in the system bus 13. In the following description, data transmitted / received via the data bus is simply referred to as “data”. The physical address is stored in the shared memory 12
Not only storage elements such as memory chips 21 and 22 in the
It is also assigned to various other peripheral circuits connected to the system bus 13. The interrupt control circuit 17 controls a response of each processor 11n to the occurrence of an interrupt factor. The self-recognition circuit 15 determines whether or not the self-identification circuit 15
The processor 11n that is granting the right to use recognizes which of 1al.

【0031】本実施の形態のマルチプロセッサ装置10
は、自己認識回路15を用いたプロセッサ11nの自己
認識と、自己認識結果に基づく処理分岐とに特徴があ
る。自己認識回路15は、全プロセッサ11alへの使用
権の現在の個別の付与状態を、常に保持している。全プ
ロセッサのうちのいずれか1つのプロセッサである被認
識プロセッサ11nは、自己認識を必要とする際、使用
権取得後に自己認識回路15に使用権の付与状態の通知
を要求する。被認識プロセッサ11nから自己認識回路
15への付与状態通知の要求は、該被認識プロセッサに
使用権が付与されている期間だけ許容されている。自己
認識回路15は、使用権付与中の被認識プロセッサ11
nからの要求だけに応答し、現在の付与状態を該被認識
プロセッサ11nに通知する。被認識プロセッサ11n
は、自己認識回路15から通知された使用権の付与状態
において使用権が付与されているプロセッサが自己であ
ると認識する。
The multiprocessor device 10 of the present embodiment
Are characterized by self-recognition of the processor 11n using the self-recognition circuit 15 and processing branches based on the self-recognition result. The self-recognition circuit 15 always holds the current individual grant status of the usage right to all the processors 11al. When the self-recognition processor 11n, which is any one of the processors, needs to recognize itself, it requests the self-recognition circuit 15 to notify the self-recognition circuit 15 of the granting state of the use right after obtaining the use right. The request for the notification of the grant status from the recognized processor 11n to the self-recognition circuit 15 is permitted only during a period in which the use right is granted to the recognized processor. The self-recognition circuit 15 is used for the recognized processor 11 to which the usage right is being granted.
In response to only the request from n, the current state of grant is notified to the recognized processor 11n. Recognized processor 11n
Recognizes that the processor to which the use right has been granted is the self in the use right grant state notified from the self-recognition circuit 15.

【0032】このように本実施の形態では、複数のプロ
セッサ11alが単一の共有メモリ12および単一のシス
テムバス13を共用する構成のマルチプロセッサ装置1
0において、被認識プロセッサ11nが、全プロセッサ
11alへの使用権の付与状態に基づいて自己を認識す
る。これはマルチプロセッサ装置において使用権が常に
単一のプロセッサ11nだけに付与されており、かつ付
与状態を自己認識回路15に問合わせ可能なプロセッサ
が使用権付与中のプロセッサに限定されているので、問
合わせ時に、使用権付与中のプロセッサと付与状態を問
合わせる被認識プロセッサ11nとが常に一致している
ためである。これによって、使用権付与状態だけに基づ
いて被認識プロセッサ11nに自己を認識させることが
可能なので、プロセッサ11nの自己認識を極めて容易
な構成によって行うことができる。被認識プロセッサ1
1nが自己を認識可能ならば、被認識プロセッサは、自
己認識結果を利用した処理、たとえば自己認識結果に応
じた分岐処理が可能になる。
As described above, in the present embodiment, the multiprocessor 1 has a configuration in which a plurality of processors 11al share a single shared memory 12 and a single system bus 13.
At 0, the recognized processor 11n recognizes itself based on the status of granting the usage right to all the processors 11al. This is because, in the multiprocessor device, the right to use is always given only to the single processor 11n, and the processor capable of inquiring the grant state to the self-recognition circuit 15 is limited to the processor that is giving the right to use. This is because, at the time of inquiry, the processor to which the usage right is being granted and the recognized processor 11n whose inquiry state is to be inquired always match. This allows the recognized processor 11n to recognize itself based only on the usage right grant status, so that the processor 11n can recognize itself with an extremely simple configuration. Recognized processor 1
If 1n can recognize itself, the recognized processor can perform processing using the result of self recognition, for example, branch processing according to the result of self recognition.

【0033】バスアービタ14は、好ましくは、全プロ
セッサ11alへの使用権付与の個別制御のために、プロ
セッサ11毎に、プロセッサ11nに対する使用権の付
与状態に応じて信号状態が定められるバス許可信号GN
Tnを該プロセッサ11nに与えている。この場合自己
認識回路15は、全プロセッサ11alの数N以上のビッ
トセル30nを有する付与状態レジスタ26を含む。か
つ自己認識回路15は、付与状態レジスタ26の各ビッ
トセル30nに各プロセッサ11nへのバス許可信号G
NTnが個別に与えられるように、設計されている。
The bus arbiter 14 preferably has a bus permission signal GN for which the signal state is determined for each processor 11 in accordance with the state of grant of the right to use the processor 11n for individual control of granting the right to use to all the processors 11al.
Tn is given to the processor 11n. In this case, the self-recognition circuit 15 includes an assignment state register 26 having bit cells 30n equal to or greater than the number N of all processors 11al. In addition, the self-recognition circuit 15 sends a bus permission signal G to each processor 11n to each bit cell 30n of the assignment state register 26.
It is designed so that NTn is given individually.

【0034】付与状態レジスタ26は、全プロセッサ1
1alへの使用権の現在の個別の付与状態を示すデータを
作成して保持する。このために付与状態レジスタ26の
各ビットセル30nは、該各ビットセル30nに対応付
けられているプロセッサ11nへのバス許可信号GNT
nの状態をラッチして保持する。この結果、付与状態レ
ジスタ26に記憶されるデータである付与状態データ
は、全プロセッサ11alの数と同数以上のビットから成
るビット列で表され、かつ各プロセッサ11nに対応付
けられたビットの状態が該各プロセッサ11nへの使用
権の現在の付与状態を示す。このような付与状態データ
は、全プロセッサ11alへの使用権の現在の付与状態を
示すので、該付与状態データが現在使用権付与中のプロ
セッサ11nを一意に表すことになる。上記のように自
己認識回路15は、全ての各プロセッサ11alへ個別に
与えられているバス許可信号GNTalの現在の状態をラ
ッチするだけで付与状態データを生成可能なので、該付
与状態データを簡単な構成を用いて極めて容易に作成す
ることができる。
The assignment state register 26 stores all the processors 1
Create and hold data indicating the current individual grant status of the usage right to 1al. For this purpose, each bit cell 30n of the assignment state register 26 is provided with a bus enable signal GNT to the processor 11n associated with the bit cell 30n.
The state of n is latched and held. As a result, the assignment state data, which is data stored in the assignment state register 26, is represented by a bit string composed of bits equal to or more than the number of all processors 11al, and the state of the bit associated with each processor 11n is indicated by the bit string. The current grant status of the usage right to each processor 11n is shown. Since such grant status data indicates the current grant status of the usage right to all processors 11al, the grant status data uniquely represents the processor 11n currently granting the usage right. As described above, the self-recognition circuit 15 can generate the assignment state data only by latching the current state of the bus permission signal GNTal individually applied to all the processors 11al. It can be created very easily using the configuration.

【0035】自己認識回路15は、使用権付与中の被認
識プロセッサ11nからの通知要求に応答して、付与状
態レジスタ26内の全ビットセル30nの状態、すなわ
ち付与状態データを該被認識プロセッサ11nに与え
る。被認識プロセッサ11nは、与えられた付与状態デ
ータによって一意に示されている使用権付与中のプロセ
ッサ11nが自己であると、極めて容易に認識すること
ができる。また付与状態データは、使用権付与中の被認
識プロセッサ11nを一意的に示しているので、該被認
識プロセッサ11nにおいて自己の識別データとして転
用可能である。これによって被認識プロセッサ11nが
自己識別が必要な処理を行う際、付与状態データをその
まま転用すればよいので、処理が容易になる。
The self-recognition circuit 15 responds to the notification request from the recognized processor 11n during the grant of the usage right, and transmits the state of all the bit cells 30n in the provision state register 26, that is, the provision state data to the recognized processor 11n. give. The recognized processor 11n can very easily recognize that the processor 11n uniquely granting the usage right uniquely indicated by the given grant status data is itself. Further, since the grant status data uniquely indicates the recognized processor 11n to which the usage right is being granted, the recognized processor 11n can be diverted as its own identification data. Thus, when the recognized processor 11n performs a process that requires self-identification, the assignment state data may be diverted as it is, so that the process is facilitated.

【0036】また好ましくは、付与状態レジスタ26は
システムバス13に接続されており、かつ付与状態レジ
スタ26に所定の物理アドレスが割当てられている。こ
の場合、複数の各プロセッサ111〜11Nから見ると、
どのプロセッサ11nからも付与状態レジスタ26が同
じ物理アドレスとしてアクセス可能である。任意の被認
識プロセッサ11nが自己認識のために付与状態レジス
タ26内の付与状態データを得るためには、最初に使用
権付与をバスアービタ14に要求し、使用権付与後に付
与状態レジスタ26の所定の物理アドレスをシステムバ
ス13のアドレスバスに送出する。物理アドレスのアド
レスバスへの送出に応答して、メモリデコーダ16は、
アドレスバスに送出されている物理アドレスを解釈し、
該物理アドレスが付与状態レジスタ26に割当てられて
いるものであれば、付与状態レジスタ26に記憶されて
いる付与状態データをシステムバス13のデータバスへ
送出させる。
Preferably, the assignment status register 26 is connected to the system bus 13 and a predetermined physical address is assigned to the assignment status register 26. In this case, when viewed from each of the plurality of processors 11 1 to 11 N,
The assignment status register 26 can be accessed from any processor 11n as the same physical address. In order for an arbitrary recognized processor 11n to obtain the grant status data in the grant status register 26 for self-recognition, it first requests the bus arbiter 14 to grant the usage right, and after granting the usage right, a predetermined number in the grant status register 26 is determined. The physical address is sent to the address bus of the system bus 13. In response to sending the physical address to the address bus, the memory decoder 16
Interpret the physical address sent to the address bus,
If the physical address is assigned to the assignment status register 26, the assignment status data stored in the assignment status register 26 is sent to the data bus of the system bus 13.

【0037】このように付与状態レジスタ26がシステ
ムバス13に接続されていれば、メモリデコーダ16に
よって付与状態レジスタ26からのデータ送出が制御さ
れる。これによってプロセッサ11nは、付与状態レジ
スタ26が共有メモリ12の一部と見なして、システム
バス13とメモリデコーダ16とを経由して行われる一
般的なメモリへのアクセス手順と同じ手順で、自己認識
回路15へ使用権付与状態を問合わせることができる。
As described above, when the assignment status register 26 is connected to the system bus 13, the data transmission from the assignment status register 26 is controlled by the memory decoder 16. As a result, the processor 11n recognizes the assignment state register 26 as a part of the shared memory 12 and recognizes itself in the same procedure as a general memory access procedure performed via the system bus 13 and the memory decoder 16. It is possible to inquire the circuit 15 of the use right grant status.

【0038】また付与状態レジスタ26がシステムバス
13に接続されていれば、プロセッサ11が付与状態レ
ジスタ26からデータを得るには、該プロセッサ11が
使用権を必ず取得しなければならない。これによって、
自己認識回路15へ使用権付与状態を問合わせる被認識
プロセッサ11nを、使用権付与中のプロセッサ11n
に必ず限定することができる。さらに自己認識処理時に
付与状態レジスタ26からのデータ読出し動作をプロセ
ッサ11nが行うだけで、該プロセッサ11nへの使用
権付与に応答して、付与状態レジスタ26のデータが該
プロセッサ11nを示すデータに自動的に書換えられ
る。このように付与状態レジスタ26がシステムバス1
3に接続されていれば、共有メモリ12に対する手順と
同じ手順で付与状態レジスタ26にアクセス可能なだけ
でなく、特殊な処理を全く必要とせずに自己を一意的に
示すデータを確実に得ることができる。
If the grant status register 26 is connected to the system bus 13, the processor 11 must acquire the use right in order for the processor 11 to obtain data from the grant status register 26. by this,
The recognized processor 11n that inquires the self-recognition circuit 15 of the usage right grant status is replaced with the processor 11n that is granting the usage right.
Can always be limited to Further, only by the processor 11n performing a data read operation from the assignment state register 26 during the self-recognition process, the data in the assignment state register 26 is automatically converted to data indicating the processor 11n in response to the use right assignment to the processor 11n. Is rewritten. As described above, the assignment status register 26 stores the system bus 1
3, it is possible not only to access the assignment status register 26 in the same procedure as for the shared memory 12, but also to reliably obtain data that uniquely identifies itself without any special processing. Can be.

【0039】図1のマルチプロセッサ装置10は、具体
的には、2個のプロセッサ111,112を有し、かつ各
プロセッサ111,112が、中央処理装置(以後「CP
U」と略称する)によって、実現されている。また図1
のマルチプロセッサ装置10では、共有メモリ12が、
内部メモリチップ21と外部メモリチップ22と外部メ
モリチップ用のインタフェイス回路23とを含んでい
る。内部メモリチップ21は、システムバス13に直接
接続され、かつメモリデコーダ16からのチップセレク
ト信号CSが直接入力される。外部メモリチップ22
は、インタフェイス回路23と外部システムバス13と
を介して共用のシステムバス13に接続され、かつメモ
リデコーダ16からのチップセレクト信号CSがインタ
フェイス回路を介して入力される。各外部メモリチップ
22は、外部システムバス24とインタフェイス回路2
3と共用のシステムバス13とを介して、該共用のシス
テムバス13に接続されている構成ブロックとの間で、
アドレスおよびデータを送受する。図1の例では、1個
の内部メモリチップ21がOn-Chip-ROMで実現され、
2個の各外部メモリチップ22がROMおよびRAMで
それぞれ実現されている。これに限らず共有メモリ12
は、少なくとも1つのメモリチップを備えていれば良
く、かつ外部および内部の各メモリチップ21,22
は、ROMおよびRAMのうちのどちらで実現されても
よい。図1では、2以上の信号線から構成されているバ
スを、太線で示している。
The multiprocessor device 10 shown in FIG. 1 specifically has two processors 11 1 and 11 2 , and each processor 11 1 and 11 2 has a central processing unit (hereinafter “CP
U "). FIG.
In the multiprocessor device 10, the shared memory 12
It includes an internal memory chip 21, an external memory chip 22, and an interface circuit 23 for the external memory chip. The internal memory chip 21 is directly connected to the system bus 13 and directly receives a chip select signal CS from the memory decoder 16. External memory chip 22
Are connected to the shared system bus 13 via the interface circuit 23 and the external system bus 13, and a chip select signal CS from the memory decoder 16 is input via the interface circuit. Each external memory chip 22 is connected to the external system bus 24 and the interface circuit 2.
3 and a configuration block connected to the shared system bus 13 via the shared system bus 13,
Send and receive addresses and data. In the example of FIG. 1, one internal memory chip 21 is realized by an On-Chip-ROM,
Each of the two external memory chips 22 is realized by a ROM and a RAM. The shared memory 12 is not limited to this.
Need only have at least one memory chip, and each of the external and internal memory chips 21, 22
May be realized by either a ROM or a RAM. In FIG. 1, a bus constituted by two or more signal lines is indicated by a thick line.

【0040】図1の例では、各プロセッサ111,112
からの使用権付与の要求状態を示すバス要求信号REQ
1,REQ2が、2個の各プロセッサ111,112からバ
スアービタ14へ与えられている。各プロセッサからの
バス要求信号REQ1,REQ2がアクティブ状態である
間だけ、該各プロセッサ111,112は使用権付与を要
求している。また各プロセッサへのバス許可信号GNT
1,GNT2がアクティブ状態である間だけ、該各プロセ
ッサ111,112に使用権が付与されていてシステムバ
ス13が駆動可能である。またメモリデコーダ16は、
データバスへのデータ送出の制御のためのチップセレク
ト信号CSnを、システムバス13に接続されていてか
つ物理アドレスが割当てられている全ての各記憶素子に
個別に与えている。前述の記憶素子は、共有メモリ12
の各メモリチップだけでなく、付与状態レジスタ26も
含まれる。さらにメモリデコーダ16は、データバスか
らのデータ読出しの制御のためのストローブ信号STB
nを、システムバス13に接続されていてかつ物理アド
レスの送出が可能な全ての各素子に与えている。さらに
図1の例では、システムバス13は、CPU内のクロッ
ク回路から出力されるクロック信号CLKに従って動作
する同期バスである。
In the example of FIG. 1, each processor 11 1 , 11 2
Bus request signal REQ indicating the status of request for grant of usage right from
1 and REQ 2 are provided to the bus arbiter 14 from the two processors 11 1 and 11 2 . Only while the bus request signals REQ 1 and REQ 2 from each processor are in the active state, each of the processors 11 1 and 11 2 requests the use right. Also, a bus permission signal GNT to each processor
1 , while the GNT 2 is in the active state, the right to use is given to each of the processors 11 1 and 11 2 and the system bus 13 can be driven. Also, the memory decoder 16
A chip select signal CSn for controlling data transmission to the data bus is individually given to all storage elements connected to the system bus 13 and to which physical addresses are assigned. The storage element described above is a shared memory 12
Not only each memory chip, but also the assignment state register 26. Further, memory decoder 16 has a strobe signal STB for controlling data reading from the data bus.
n is given to all the elements connected to the system bus 13 and capable of transmitting a physical address. Further, in the example of FIG. 1, the system bus 13 is a synchronous bus that operates according to a clock signal CLK output from a clock circuit in the CPU.

【0041】図1のマルチプロセッサ装置10におい
て、第1のプロセッサ111がシステムバス13へのア
クセスを必要としたならば、該第1プロセッサ111
自己のバス要求信号REQ1をアクティブ状態にする。
同様に、第2のプロセッサ112がシステムバス13へ
のアクセスを必要としたならば、該第2プロセッサ11
2が自己のバス要求信号REQ2をアクティブ状態にす
る。バスアービタ14は、予め定められているバス優先
度に従って、バス要求信号がアクティブ状態であるプロ
セッサ111,112のうち、使用権を付与すべきいずれ
か1つを選択して、選択されたプロセッサ11nへのバ
ス許可信号GNTnだけがアクティブ状態になるように
各プロセッサ111,112へのバス許可信号GNT1
GNT2を制御する。
[0041] In the multiprocessor system 10 of FIG. 1, if the first processor 11 1 is required to access the system bus 13, the first processor 11 1 is in the active state of the bus request signal REQ 1 self I do.
Similarly, if the second processor 11 2 is required to access the system bus 13, the second processor 11
2 is a bus request signal REQ 2 self active. The bus arbiter 14 according bus priority is predetermined, the processor of the processor 11 1, 11 2 bus request signal is active, and selects one to be given the right to use, which is selected The bus permission signals GNT 1 , GNT 1 and GNT 1 to each processor 11 1 and 11 2 are set so that only the bus permission signal GNTn to 11 n becomes active.
To control the GNT 2.

【0042】或るプロセッサ111からのバス要求信号
REQ1が非アクティブ状態からアクティブ状態に変化
した時点で、他のプロセッサ112へのバス許可信号R
EQ2が既にアクティブ状態になっているならば、好ま
しくは、バスアービタ14は、新規要求のプロセッサ1
1のバス要求信号REQ1の変化時から現在実行されて
いる他のプロセッサ11から共有メモリ12へのアクセ
スの終了時まで、全プロセッサのバス許可信号GNTal
の状態制御を待ち、他のプロセッサ112のアクセスが
終了した時点でバス許可信号GNTalの状態を制御す
る。これによって、使用権付与の新規要求時に実行中の
アクセスにおける不良が、防止される。
[0042] When the bus request signal REQ 1 from one processor 11 1 is changed from the inactive state to the active state, the bus permission signal R to the other processors 11 2
If EQ 2 is already active, preferably the bus arbiter 14 will send the new request processor 1
1 1 from the time of change of the bus request signal REQ 1 until the end of the access to the shared memory 12 from another processor 11 currently being executed, the bus permission signal all processors GNTal
Wait for the state control, to control the status of the bus grant signal GNTal when other processors 11 second access is terminated. As a result, a defect in the access being executed at the time of the new request for granting the usage right is prevented.

【0043】バスアービタ14における使用権を付与す
べきプロセッサ11nの選択時に、新規要求のプロセッ
サ111のほうが優先度が高ければ、使用権付与済のプ
ロセッサ112から新規要求のプロセッサ111に譲らせ
るために、新規要求のプロセッサのバス許可信号GNT
1をアクティブ状態にして、付与済のプロセッサのバス
許可信号GNT2を非アクティブ状態にする。この結
果、後者のプロセッサ112のアクセスが停止され、前
者のプロセッサ111の共有メモリ12へのアクセスを
開始可能になる。付与済のプロセッサ112のほうが優
先度が高ければ、新規要求のプロセッサのバス許可信号
GNT1を非アクティブ状態のまま保ち、かつ使用権付
与済のプロセッサのバス許可信号GNT2もアクティブ
状態のまま保つ。この結果後者のプロセッサ112のア
クセスが続行される。使用権付与済のプロセッサからの
バス要求信号REQ2が非アクティブ状態に切換えられ
た後、前者のプロセッサのバス許可信号GNT1がアク
ティブ状態に切換えられる。
[0043] Upon selection of the processor 11n to be given the right to use the bus arbiter 14, it is higher towards the processor 11 1 of the new request priority, to cede from the processor 11 2 usage rights granted already in the processor 111 of the new request The bus request signal GNT of the processor of the new request
And 1 to the active state, the bus grant signal GNT 2 grants already processors inactive. As a result, the latter processor 11 2 access is stopped, can begin to access the shared memory 12 of the former processor 11 1. If more grants already processor 11 2 is higher priority, while still maintaining, and bus grant signal assignment of the right to use the already processor GNT 2 also active in the inactive state the bus permission signal GNT 1 processor new requests keep. Consequently latter processor 11 second access is continued. After the bus request signal REQ 2 from the processor usage rights granted already is switched to the inactive state, the bus grant signal GNT 1 of the former processor is switched to the active state.

【0044】プロセッサ選択時に、新規要求のプロセッ
サ111と使用権付与済のプロセッサ112との他に、使
用権付与待ちの1以上のプロセッサ11があれば、これ
ら3以上のプロセッサ11のうちの優先度が高いいずれ
か1つのプロセッサ11が選択される。
[0044] when the processor selects, in addition to the processor 11 2 of the assignment of the right to use spent the processor 11 1 new requests, if there is one or more processors 11 of the assignment of the right to use waiting, of these three or more processors 11 Any one of the processors 11 having a higher priority is selected.

【0045】図2は、自己認識回路15の電気的構成を
示すブロック図である。なお図2は、マルチプロセッサ
装置10内のプロセッサが2個である場合の例になって
いる。自己認識回路15は、付与状態レジスタ26の他
に、好ましくは、各プロセッサ11nへのバス許可信号
GTNnをそれぞれ遅延させるための遅延回路27nを
さらに含む。各プロセッサへのバス許可信号GNTn
は、バスアービタ14から遅延回路27nに与えられて
いる。
FIG. 2 is a block diagram showing the electrical configuration of the self-recognition circuit 15. FIG. 2 shows an example in which the number of processors in the multiprocessor device 10 is two. The self-recognition circuit 15 preferably further includes a delay circuit 27n for delaying the bus permission signal GTNn to each processor 11n, in addition to the assignment state register 26. Bus permission signal GNTn to each processor
Are supplied from the bus arbiter 14 to the delay circuit 27n.

【0046】遅延回路27nは、理想的には、いずれか
のプロセッサ11nへのバス許可信号GTNnの使用権
未付与の状態から使用権付与済の状態への移行タイミン
グ、すなわち該バス許可信号GNTnのアクティブ状態
への移行タイミングが、該プロセッサ11nからシステ
ムバス13へのアドレス送出が実際に可能になるタイミ
ングと一致するまで、全プロセッサ11alへのバス許可
信号GNTalをそれぞれ遅延させる。以後、遅延回路2
7nから出力されるバス許可信号GNTnを、遅延バス
許可信号Delayed−GNTnと称する。元のバス
許可信号GNTnに対する遅延バス許可信号Delay
ed−GNTnの遅延時間は可変である。遅延時間は、
マルチプロセッサ装置10内部におけるシステムバス1
3を介した共有メモリ12へのアクセスの状態推移に応
じて制御される。
The delay circuit 27n ideally shifts from the state in which the right to use the bus grant signal GTNn to any one of the processors 11n to the state in which the right to use is granted, that is, the timing of the bus permission signal GNTn. The bus grant signals GNTal to all the processors 11al are respectively delayed until the transition timing to the active state coincides with the timing at which address transmission from the processor 11n to the system bus 13 is actually enabled. Thereafter, the delay circuit 2
7n is referred to as a delayed bus permission signal Delayed-GNTn. Delayed bus permission signal Delay for the original bus permission signal GNTn
The delay time of ed-GNTn is variable. The delay time is
System bus 1 inside multiprocessor device 10
3 is controlled according to the state transition of the access to the shared memory 12 via the control unit 3.

【0047】付与状態レジスタ26の各ビットセル30
nは、各遅延回路27nからの遅延バス許可信号Del
ayed−GTNnの状態をラッチして保持する。かつ
付与状態レジスタ26の各ビットセル30nからのデー
タ送出は、メモリデコーダ16から与えられる付与状態
レジスタ用のチップセレクト信号CSselfによって制御
されている。具体的には該チップセレクト信号がアクテ
ィブ状態の間だけ、各ビットセル30nからデータバス
に、データが送出される。
Each bit cell 30 of the assignment state register 26
n is a delay bus permission signal Del from each delay circuit 27n.
The state of the aayed-GTNn is latched and held. The transmission of data from each bit cell 30n of the assignment state register 26 is controlled by an assignment state register chip select signal CSself supplied from the memory decoder 16. Specifically, data is transmitted from each bit cell 30n to the data bus only while the chip select signal is in the active state.

【0048】このために各ビットセル30nは、たとえ
ば、D型のフリップフロップ回路(以後「FF」と略称
する)31nと、出力制御用のトライステートバッファ
32nとを含む。遅延回路27nからの遅延バス許可信
号Delayed−GNTnは、D型FF31nのデー
タ端子に与えられる。付与状態レジスタ26用のチップ
セレクト信号CSselfは、メモリデコーダ16から各ビ
ットセル30nのトライステートバッファ32nの制御
端子に与えられる。D型FF31nのクロック端子に
は、マルチプロセッサ装置10の各構成ブロックが参照
するクロック信号CLKが与えられる。D型FF31n
からの出力信号は、トライステートバッファ32nの入
力端子に与えられる。D型FF31nのQ出力信号のレ
ベルが、ビットセル30nに保持されるビットの状態に
対応している。
For this purpose, each bit cell 30n includes, for example, a D-type flip-flop circuit (hereinafter abbreviated as "FF") 31n and a tri-state buffer 32n for output control. The delayed bus permission signal Delayed-GNTn from the delay circuit 27n is supplied to the data terminal of the D-type FF 31n. The chip select signal CSself for the application state register 26 is supplied from the memory decoder 16 to the control terminal of the tri-state buffer 32n of each bit cell 30n. The clock signal CLK referred to by each component block of the multiprocessor device 10 is supplied to the clock terminal of the D-type FF 31n. D-type FF31n
Is supplied to the input terminal of the tristate buffer 32n. The level of the Q output signal of the D-type FF 31n corresponds to the state of the bit held in the bit cell 30n.

【0049】各ビットセル30nのD型FF31nは、
クロック信号の矩形パルスが立上がるたびに、各プロセ
ッサ11nの遅延バス許可信号Delayed−GNT
nをラッチし、ラッチ結果をQ出力信号として出力す
る。D型FF31nのQ出力信号のレベルは、クロック
信号CLKの次の矩形パルスの立上がりまで保持され
る。この結果D型FF31nのQ出力信号の変化タイミ
ングは、クロック信号の立上りに同期している。これ
は、図1のマルチプロセッサ装置のシステムバスは同期
バスであって、クロック信号の信号波形のエッジでの値
だけに意味があるためであり、遅延回路27nはバス許
可信号GNTnを何クロック周期遅らせるかを制御する
回路である。またD型FF31nは、クロック信号CL
Kの1周期分だけ、信号を遅延可能である。出力制御用
のトライステートバッファ32nは、チップセレクト信
号CSselfがアクティブ状態である間だけ、D型FF3
1nのQ出力信号をデータバスに送出させる。
The D-type FF 31n of each bit cell 30n is
Each time a rectangular pulse of the clock signal rises, the delay bus enable signal Delayed-GNT of each processor 11n is output.
n is latched, and the latch result is output as a Q output signal. The level of the Q output signal of the D-type FF 31n is held until the rise of the next rectangular pulse of the clock signal CLK. As a result, the change timing of the Q output signal of the D-type FF 31n is synchronized with the rising of the clock signal. This is because the system bus of the multiprocessor device shown in FIG. 1 is a synchronous bus, and only the value at the edge of the signal waveform of the clock signal is significant. This is a circuit that controls whether to delay. Further, the D-type FF 31n outputs the clock signal CL
The signal can be delayed by one period of K. The output control tri-state buffer 32n outputs the D-type FF3 only while the chip select signal CSself is in the active state.
The 1n Q output signal is sent to the data bus.

【0050】図3は、図1のマルチプロセッサ装置10
内部で送受される各種信号の波形図である。なお図3の
説明は、図1に記すようにプロセッサ11の数が2つで
ありる場合の例になっている。図3において、アクティ
ブ状態と非アクティブ状態との2つの状態のどちらかを
取る信号は、アクティブ状態においてハイレベルである
としている。以下、図3を参照して、図1のマルチプロ
セッサ装置10におけるメモリアクセス手順を、詳細に
説明する。また図3の説明は、時刻T1以前には両方の
プロセッサ111,112に使用権が付与されていない状
況下でのメモリアクセス手順の説明になっている。
FIG. 3 shows the multiprocessor device 10 of FIG.
It is a waveform diagram of various signals transmitted and received inside. Note that the description of FIG. 3 is an example where the number of processors 11 is two as shown in FIG. In FIG. 3, a signal that takes one of two states, an active state and an inactive state, is at a high level in the active state. Hereinafter, a memory access procedure in the multiprocessor device 10 of FIG. 1 will be described in detail with reference to FIG. Also, the description of FIG. 3 describes the memory access procedure in a situation where the right to use has not been granted to both processors 11 1 and 11 2 before time T1.

【0051】第1のプロセッサ111においてシステム
バス13へのアクセスが必要になった場合、図3(A)
のクロック信号CLKの最新の矩形パルスP1の立上が
りである時刻T1において、第1のプロセッサ111
システムバス13へのアクセスを必要として、図3
(B)に示す自己のバス要求信号REQ1をアクティブ
状態にしたとする。時刻T1においては、図3(C)に
示す第2のプロセッサ11 2からのバス要求信号REQ2
は非アクティブ状態のまま保たれているとする。バスア
ービタ14は、バス要求信号REQ1の変化に応答し
て、両プロセッサのバス要求信号REQ1,REQ2を比
較する。
First processor 111In system
When access to the bus 13 becomes necessary, FIG.
Rise of the latest rectangular pulse P1 of the clock signal CLK
At time T1, the first processor 111But
When access to the system bus 13 is required, FIG.
The own bus request signal REQ shown in FIG.1Active
Suppose that it was in the state. At time T1, as shown in FIG.
Second processor 11 shown TwoBus request signal REQ fromTwo
Is kept in an inactive state. Basua
The requester 14 receives the bus request signal REQ.1Respond to changes in
And the bus request signal REQ of both processors1, REQTwoThe ratio
Compare.

【0052】システムバス13を効率良く利用するため
に、使用権が付与されるプロセッサ11nの選択は、好
ましくは、いずれか1つのプロセッサ11からの使用権
の要求が開始されるたびに行われ、さらに好ましくは、
いずれか1つのプロセッサ11からの使用権要求が終了
するたびにも行われる。図3の例では、全プロセッサ1
1alからのバス要求信号のうちの任意の少なくとも1本
の状態が変化した時点に、プロセッサ11の選択が行わ
れる。図3の例では第1プロセッサのバス要求信号RE
1だけがアクティブ状態なので、第1プロセッサ111
を選択し、図3(D)の第1プロセッサへのバス許可信
号GNT1だけをアクティブ状態に切換え、図3(E)
の第2プロセッサへのバス許可信号GNT2は非アクテ
ィブ状態に保つ。
In order to use the system bus 13 efficiently, the selection of the processor 11n to which the usage right is granted is preferably performed each time a request for the usage right from any one of the processors 11 is started. More preferably,
It is also performed each time the usage right request from any one of the processors 11 ends. In the example of FIG.
When at least one of the bus request signals from 1al changes state, the processor 11 is selected. In the example of FIG. 3, the bus request signal RE of the first processor
Since only Q 1 is active state, the first processor 11 1
Select switches only bus grant signal GNT 1 to the first processor of FIG. 3 (D) in the active state, FIG. 3 (E)
Bus grant signal GNT 2 to the second processor is kept in the inactive state.

【0053】クロック信号CLKの初回の矩形パルスP
1の立下がりである時刻T2において、第1プロセッサ
111は自己へのバス許可信号GNT1の状態を取得す
る。第1プロセッサへのバス許可信号GNT1がアクテ
ィブ状態になっているので、第1プロセッサ111は自
分がシステムバス13を使用しても良いことを知る。こ
れによって、図3(F)に示すように、第1プロセッサ
111からアドレスバスA31−A0への物理アドレス
の送出が可能になる。
The first rectangular pulse P of the clock signal CLK
At time T2 is one falling, the first processor 11 1 obtains the status of the bus grant signal GNT 1 to self. Since the bus permission signal GNT 1 to the first processor is in the active state, the first processor 11 1 knows that it may use the system bus 13. Thus, as shown in FIG. 3 (F), consisting of a first processor 11 1 to allow delivery of the physical address to the address bus A31-A0.

【0054】システムバスに含まれる制御バスには、た
とえば、図3(G)に示すアクセス制御信号ACが導出
されている。アクセス制御信号ACは、共有メモリ12
へのアクセスの状態推移を示す。アクセス制御信号AC
は、クロック信号CLKの周期毎に、継続実行されてい
るアクセスの有無と、継続実行中のアクセスがあれば該
アクセスが該周期内に完了するかどうかとを、少なくと
も示している。各プロセッサ11nは、自己へのバス許
可信号GNTnがアクティブ状態に移行した後、クロッ
ク周期毎に、アクセス制御信号ACに基づき他のプロセ
ッサによるアクセスが完了しているかどうかを判断し、
完了後にアドレスバスに実際にアドレスを送出する。図
3の例では、第1プロセッサ111は、クロック信号C
LKの次の矩形パルスP2の立上がりである時刻T3か
ら、アドレスバスの駆動を開始する。
For example, an access control signal AC shown in FIG. 3 (G) is derived from a control bus included in the system bus. The access control signal AC is transmitted to the shared memory 12
Shows the status transition of access to. Access control signal AC
Indicates at least in each cycle of the clock signal CLK whether or not there is an access being continuously executed and, if there is an access being continuously executed, whether or not the access is completed within the cycle. Each processor 11n determines whether or not access by another processor has been completed based on the access control signal AC at each clock cycle after the bus permission signal GNTn for itself has shifted to the active state.
After completion, the address is actually sent to the address bus. In the example of FIG. 3, the first processor 11 1 outputs the clock signal C
The drive of the address bus is started at time T3, which is the rise of the rectangular pulse P2 next to LK.

【0055】遅延回路27nにおけるバス許可信号GN
Tnの遅延時間も、たとえばアクセス制御信号によって
制御される。いずれか1つのプロセッサ11nへのバス
許可信号GNTnのアクティブ状態への移行タイミング
において、残余のいずれかのプロセッサ11が共有メモ
リ12へアクセスしているならば、全遅延回路27al
は、実行中のアクセスが完了するまで、バス許可信号G
NTalをそれぞれ遅延させる。付与状態レジスタ26の
各ビットセル30nは、クロック信号CLKの矩形パル
スが立上がるたびに、遅延回路27nから出力される遅
延バス許可信号Delayed−GNTnをラッチし
て、次の矩形パルスの立上がりまでラッチ結果を保持す
る。
Bus permission signal GN in delay circuit 27n
The delay time of Tn is also controlled by, for example, an access control signal. At the timing when the bus permission signal GNTn to any one processor 11n shifts to the active state, if any of the remaining processors 11 is accessing the shared memory 12, the total delay circuit 27al
Until the current access is completed.
NTal is respectively delayed. Each bit cell 30n of the assignment state register 26 latches the delayed bus enable signal Delayed-GNTn output from the delay circuit 27n every time the rectangular pulse of the clock signal CLK rises, and latches the latched result until the rise of the next rectangular pulse. Hold.

【0056】なお図3の例では、被付与プロセッサへの
バス許可信号GNTnは付与状態レジスタ26内のD型
FF30nで1クロック周期分、遅延される。図3
(I)で示す自己認識回路15へのチップセレクト信号
CSselfと図3(J)で示す被付与プロセッサへのスト
ローブ信号STBnとが図3に示すようなタイミングで
変化しているので、バス許可信号GNTnの遅延時間は
D型FF30nで遅延された分だけで充分であり、バス
許可信号GNTnがさらに遅延回路27nで遅延される
必要は無い。もし、自己認識回路15へのアクセスが遅
く、もう1クロック周期分だけ遅延する必要があるなら
ば、遅延回路27nによってバス許可信号GNTnが遅
延される。
In the example of FIG. 3, the bus permission signal GNTn to the processor to be given is delayed by one clock cycle in the D-type FF 30n in the assignment state register 26. FIG.
Since the chip select signal CSself to the self-recognition circuit 15 shown in (I) and the strobe signal STBn to the given processor shown in FIG. 3 (J) change at the timing shown in FIG. The delay time of GNTn is sufficient to be delayed by the D-type FF 30n, and the bus permission signal GNTn need not be further delayed by the delay circuit 27n. If the access to the self-recognition circuit 15 is slow and needs to be delayed by another clock cycle, the bus permission signal GNTn is delayed by the delay circuit 27n.

【0057】図3(H)は、1ビット目のビットセル3
1における第1プロセッサ111の遅延バス許可信号D
elayed−GNT1のラッチ結果、すなわち第1プ
ロセッサ用のD型FF311Q出力を示す波形図であ
る。なお図3の例では、クロック信号の初回矩形パルス
の立上がり時刻T1において他のプロセッサ11による
アクセスが既に完了しているか、または該立上がり時刻
T1からクロック信号CLKの1周期分の期間内に他の
プロセッサ11によるアクセスが完了する旨が、アクセ
ス制御信号ACによって通知されているので、遅延回路
271における遅延時間はクロック信号CLKの周期未
満であり、クロック信号CLKの次の矩形パルスP2の
立上がり時刻T3において、遅延バス許可信号Dela
yed−GNT1が既にアクティブ状態に移行してい
る。この結果図3において、各ビットセル30nの前記
ラッチ結果の変化は、元のバス許可信号GNTnより
も、クロック信号CLKの一周期分だけ遅れている。
FIG. 3H shows the bit cell 3 of the first bit.
0 1, the delayed bus enable signal D of the first processor 11 1
elayed-GNT 1 latch result, i.e. a waveform diagram showing a D-type FF 31 1 Q output for the first processor. In the example of FIG. 3, the access by another processor 11 has already been completed at the rising time T1 of the first rectangular pulse of the clock signal, or another access is made within one period of the clock signal CLK from the rising time T1. that the access by the processor 11 is completed, since it is notified by the access control signal AC, the delay time in the delay circuit 27 1 is less than the period of the clock signal CLK, the next rising time of the rectangular pulse P2 of the clock signal CLK At T3, the delay bus permission signal Dela
Yed-GNT 1 has already transitioned to the active state. As a result, in FIG. 3, the change in the latch result of each bit cell 30n is delayed by one cycle of the clock signal CLK from the original bus permission signal GNTn.

【0058】仮に、図3(F)に2点鎖線で示すよう
に、前記初回パルスの立上がり時刻T1において他のプ
ロセッサ11によるアクセスが続行されていて、かつ該
立上がり時刻T1からクロック信号1周期分の期間内に
該アクセスが完了する旨が通知されていない場合、該ア
クセス完了が通知されるまで、遅延時間がクロック信号
周期の整数倍だけ伸びる。この結果図3(H)で2点鎖
線で示すように、各ビットセル30nの前記ラッチ結果
の変化は、元のバス許可信号GNTnよりも、クロック
周期の整数倍だけ遅れる。
As shown by a two-dot chain line in FIG. 3F, at the rising time T1 of the first pulse, the access by another processor 11 is continued, and one cycle of the clock signal from the rising time T1. If the access completion is not notified within the period, the delay time increases by an integral multiple of the clock signal period until the access completion is notified. As a result, as shown by a two-dot chain line in FIG. 3H, the change of the latch result of each bit cell 30n is delayed by an integer multiple of the clock cycle from the original bus enable signal GNTn.

【0059】アドレスバスA31−A0に送出された物
理アドレスは、メモリデコーダ16に入力される。メモ
リデコーダ16は、アドレスバスA31−A0から入力
される物理アドレスを解釈して、該物理アドレスが割当
てられている記憶素子のチップセレクト信号CSnだけ
を、データ送出を指示するアクティブ状態へ変化させ
る。チップセレクト信号CSは、たとえばクロック信号
1周期以上の所定期間だけ、アクティブ状態に保たれ
る。またメモリデコーダ16は、入力された物理アドレ
スを送出したプロセッサ11n、すなわち使用権付与中
のプロセッサ11nへ与えられているハイ状態のストロ
ーブ信号STBnをロー状態にいったん移行させた後、
前記いずれかのチップセレクト信号CSが非アクティブ
状態になる前に該ストローブ信号STBnをハイ状態に
移行させる。ストローブ信号STBnでは、信号波形の
立上りエッジがアクティブタイミングになっている。
The physical addresses sent to the address buses A31-A0 are input to the memory decoder 16. The memory decoder 16 interprets the physical address input from the address bus A31-A0, and changes only the chip select signal CSn of the storage element to which the physical address is assigned to an active state instructing data transmission. The chip select signal CS is kept in an active state for a predetermined period, for example, one cycle or more of the clock signal. Further, the memory decoder 16 once shifts the high state strobe signal STBn given to the processor 11n that has sent the input physical address, that is, the processor 11n to which the usage right is being granted, to the low state.
The strobe signal STBn is shifted to a high state before any one of the chip select signals CS changes to an inactive state. In the strobe signal STBn, the rising edge of the signal waveform is the active timing.

【0060】使用権付与中のプロセッサ11nへのスト
ローブ信号STBnがハイ状態に戻るタイミングは、ア
クティブ状態のチップセレクト信号CSnが非アクティ
ブ状態に戻るタイミングに近いほど好ましく、該チップ
セレクト信号CSnが非アクティブ状態に戻るタイミン
グの直前が最も好ましい。これによって使用権付与中の
プロセッサ11nは、データバス上のデータが充分に安
定した後に該データを読込むことができる。
It is preferable that the timing at which the strobe signal STBn to the processor 11n during the grant of the use right returns to the high state is closer to the timing at which the chip select signal CSn in the active state returns to the inactive state. Most preferably, immediately before returning to the state. As a result, the processor 11n during the grant of the usage right can read the data after the data on the data bus is sufficiently stabilized.

【0061】図3(I)は付与状態レジスタ26へのチ
ップセレクト信号CSselfの波形図であり、図3
(J)は使用権付与中のプロセッサ11nへのストロー
ブ信号STBnの波形図である。図3の例では、メモリ
デコーダ16は、たとえば使用権付与中のプロセッサ1
1nによるアクセスが可能になった時刻以後、物理アド
レス解釈直後の最新の矩形パルスP11の立上がりT1
1に応答して、該物理アドレスが割当てられている記憶
素子のチップセレクト信号CSnだけをアクティブ状態
へ変化させる。さらにメモリデコーダ16は、物理アド
レス解釈直後の前記最新の矩形パルスP11の立下がり
T12に応答して、使用権付与中のプロセッサ11nへ
のストローブ信号STBnをロー状態へ移行させ、かつ
次の矩形パルスP12の立下がりT14に応答して、該
ストローブ信号STBnをハイ状態に戻している。この
場合ストローブ信号STBnは、チップセレクト信号C
Snがアクティブ状態に保たれる所定期間よりも短い期
間だけ、ロー状態に保たれている。これによって、チッ
プセレクト信号CSnが非アクティブ状態に戻る前にス
トローブ信号STBnをハイ状態に戻すことが、可能に
なる。
FIG. 3I is a waveform diagram of the chip select signal CSself to the assignment state register 26.
(J) is a waveform diagram of a strobe signal STBn to the processor 11n during use right grant. In the example of FIG. 3, the memory decoder 16 is, for example,
1n, after the time when the access is enabled, the rising edge T1 of the latest rectangular pulse P11 immediately after interpreting the physical address.
In response to 1, only the chip select signal CSn of the storage element to which the physical address is assigned is changed to the active state. Further, in response to the falling edge T12 of the latest rectangular pulse P11 immediately after the interpretation of the physical address, the memory decoder 16 shifts the strobe signal STBn to the processor 11n under the right to use to the low state, and In response to the falling T14 of P12, the strobe signal STBn is returned to the high state. In this case, the strobe signal STBn is the chip select signal C
Sn is kept in a low state for a shorter period than a predetermined period in which it is kept in an active state. This makes it possible to return the strobe signal STBn to the high state before the chip select signal CSn returns to the inactive state.

【0062】アドレスバスA31−A0に入力された物
理アドレスが共有メモリ12に割当てられていれば、共
有メモリ12内のいずれかのメモリチップは、アドレス
バスA31−A0から該メモリチップに入力された物理
アドレスの少なくとも一部を自己の記憶領域内のアドレ
スとして取得し、かつ自己に与えられているチップセレ
クト信号CSnのアクティブ状態への変化に応答して、
自己の記憶領域内の取得したアドレスに記述されるデー
タをデータバスに送出する。使用権付与中のプロセッサ
11nは、自己に与えられているストローブ信号STB
nのハイ状態への変化に応答して、メモリチップからデ
ータバスに送出されているデータをラッチする。
If the physical address input to the address bus A31-A0 is allocated to the shared memory 12, any one of the memory chips in the shared memory 12 is input to the memory chip from the address bus A31-A0. At least a part of the physical address is obtained as an address in its own storage area, and in response to the change of the chip select signal CSn given to itself to the active state,
The data described at the acquired address in its own storage area is transmitted to the data bus. The processor 11n during the grant of the usage right gives the strobe signal STB given to itself.
In response to the change of n to a high state, the data sent from the memory chip to the data bus is latched.

【0063】入力された物理アドレスが付与状態レジス
タ26に割当てられていれば、付与状態レジスタ26
は、自己に与えられているチップセレクト信号CSself
のアクティブ状態への変化に応答して、該付与状態レジ
スタ26の現在の全ビットセル30nが保持しているビ
ットから成るデータをデータバスに送出する。使用権付
与中のプロセッサ11nは、自己に与えられているスト
ローブ信号STBnのハイ状態への変化に応答して、付
与状態レジスタ26からデータバスに送出されているデ
ータをラッチする。
If the input physical address is assigned to the assignment status register 26, the assignment status register 26
Is the chip select signal CSself given to itself.
In response to the change to the active state, the data consisting of the bits currently held by all the bit cells 30n of the assignment state register 26 is transmitted to the data bus. In response to the change of the strobe signal STBn applied to itself to the high state, the processor 11n that is granting the usage right latches the data sent from the grant state register 26 to the data bus.

【0064】使用権付与中のプロセッサ11nは、ラッ
チされるビット列に応じて、自己を認識することができ
る。たとえば、付与状態レジスタ26の最下位ビットセ
ル301に遅延後の第1プロセッサへのバス許可信号D
elayed−GNT1が与えられ、付与状態レジスタ
26の最下位から2番目のビットセル302に遅延後の
第2プロセッサへのバス許可信号Delayed−GN
2が与えられる構成に自己認識回路15が設計されて
いる場合、使用権付与中のプロセッサ11nは、付与状
態レジスタ26からのデータの下位2ビットが「01」
であれば自己が第1プロセッサ111であり、該下位2
ビットが「10」であれば自己が第2プロセッサ112
であると分かる。
The processor 11n during the grant of the use right can recognize itself according to the latched bit string. For example, the bus grant signal D to the first processor after the delay in the lowest bit cell 30 1 of the granted status register 26
elayed-GNT 1 is given, the bus grant signal the Delayed-GN to the second processor after a delay from the lowest applied state register 26 to the second bit cell 30 2
If T 2 is self-recognition circuit 15 is designed in the configuration given processor 11n in assignment of the right to use, the lower 2 bits of data from the applied state register 26 is "01"
If it is, it is the first processor 11 1 and the lower 2
If the bit is “10”, the self is the second processor 11 2
It turns out that it is.

【0065】使用権付与中の第1プロセッサ111にお
いて、システムバス13を占有する必要が無くなった場
合、占有理由解消後のクロック信号CLKの最新の矩形
パルスP21の立上がりである時刻T21において、自
己のバス要求信号REQ1を非アクティブ状態に戻す。
バスアービタ14は、第1プロセッサからのバス要求信
号REQ1の上記変化に応答して、該バス要求信号RE
1を確認し、該バス要求信号REQ1が非アクティブ状
態に戻っているので、第1プロセッサからのバス許可信
号GNT1を非アクティブ状態に戻す。
[0065] In the first processor 11 1 in the assignment of the right to use, if there is no more need to occupy the system bus 13, at the rising time T21 is the latest of the rectangular pulse P21 of the clock signal CLK after the occupation reasons eliminated, self Of the bus request signal REQ 1 is returned to the inactive state.
The bus arbiter 14, in response to the change of the bus request signal REQ 1 from the first processor, said bus request signal RE
Check the Q 1, since the bus request signal REQ 1 is returned to the inactive state to return the bus grant signal GNT 1 from the first processor to the inactive state.

【0066】クロック信号CLKの占有理由解消後の初
回の矩形パルスP21の立下がりである時刻T22にお
いて、第1プロセッサ111は自己へのバス許可信号G
NT1の状態を取得する。第1プロセッサへのバス許可
信号GNT1が非アクティブ状態になっているので、第
1プロセッサ111は自己へ使用権が付与されなくなっ
たことを知る。この結果第1プロセッサ111は、クロ
ック信号CLKの次の矩形パルスP22の立上がりであ
る時刻T23以後、アドレスバスA31−A0の駆動を
止める。これによって、第1プロセッサ111からアド
レスバスA31−A0へのアドレスの送出が不可能にな
る。
[0066] The clock signal at the time T22 is the fall of the rectangular pulse P21 occupation reasons after eliminating the initial CLK, the first processor 11 1 bus grant signal G to self
To obtain the status of NT 1. Since the bus permission signal GNT 1 to the first processor is in an inactive state, the first processor 11 1 knows that the right to use is no longer given to itself. As a result the first processor 11 1, the rise in a time T23 after the next rectangular pulse P22 of the clock signal CLK, and stops driving of the address bus A31-A0. This comprises a first processor 11 1 to impossible delivery address to the address bus A31-A0.

【0067】バス許可信号GNTnを遅延させるのは、
以下の理由に基づく。バス要求信号REQnおよびバス
許可信号GNTnは、プロセッサ11nがバスアービタ
14とネゴシェーションするための信号である。システ
ムバス13内のアドレスバス上の信号およびシステムバ
ス13内のデータバス上の信号は、ネゴシェートされた
プロセッサ11nと該プロセッサ11nの周辺回路との
間の通信のための信号である。プロセッサ11nは、バ
ス許可信号GNTnに基づくタイミングに合わせて正確
に動作するように設計されている。
The reason for delaying the bus permission signal GNTn is as follows.
Based on the following reasons. The bus request signal REQn and the bus permission signal GNTn are signals for the processor 11n to negotiate with the bus arbiter 14. The signal on the address bus in the system bus 13 and the signal on the data bus in the system bus 13 are signals for communication between the negotiated processor 11n and peripheral circuits of the processor 11n. The processor 11n is designed to operate accurately in accordance with the timing based on the bus permission signal GNTn.

【0068】プロセッサ11nと周辺回路との間の通信
時には、まず初めに、システムバス13を介して周辺回
路とデータをやり取りしたいプロセッサ11nが、バス
要求信号REQnおよびバス許可信号GNTnを用いて
バスアービタ14と前述の手順でネゴシェーションを行
い、バスアービタ14にシステムバス13の使用権を付
与してもらう必要がある。このような所謂バスマスタの
選択後、使用権が付与されたプロセッサ11nがアドレ
スバスを駆動し、通信相手の周辺回路であるバススレー
ブをメモリデコーダ16が選択し、この結果バススレー
ブとして選択された周辺回路と該プロセッサ11nが通
信可能になる。これによって、バス許可信号GNTnの
変化タイミングよりもプロセッサ11nと周辺回路との
間の実際のデータのやり取り開始タイミングのほうが後
になる。
At the time of communication between the processor 11n and the peripheral circuit, first, the processor 11n that wants to exchange data with the peripheral circuit via the system bus 13 uses the bus request signal REQn and the bus permission signal GNTn to transmit the data to the bus arbiter 14. It is necessary to perform negotiation according to the above-described procedure and have the bus arbiter 14 grant the right to use the system bus 13. After such a so-called bus master is selected, the processor 11n to which the right to use is assigned drives the address bus, and the memory decoder 16 selects a bus slave which is a peripheral circuit of a communication partner, and as a result, the peripheral selected as the bus slave The circuit and the processor 11n can communicate with each other. As a result, the actual data exchange start timing between the processor 11n and the peripheral circuit is later than the change timing of the bus permission signal GNTn.

【0069】図3(D)と図3(J)とを比較すると分
かるように、或るプロセッサ11nのデータ読込みタイ
ミングを示すストローブ信号STBnの立上がりタイミ
ングに先立ってタイミングT13において該プロセッサ
へのバス許可信号GNTnが非アクティブ状態に戻って
いるので、該バス許可信号GNTnをそのまま自己認識
回路15を経由して該プロセッサに返しても、該プロセ
ッサ11nは自己認識ができない。このため、自己認識
回路15において最低1クロック周期分だけバス許可信
号GNTnが遅延され、ストローブ信号STBnの立上
がりタイミングよりも後までバス許可信号GNTnが使
用権付与中を示す状態に保持し続けられる。この結果、
自己認識回路15から出力される被付与プロセッサ11
nを自己認識させるためのデータが該被付与プロセッサ
11nへ正確に返されるので、該被付与プロセッサ11
nにおいて正確な自己認識が可能になる。
As can be seen from a comparison between FIG. 3D and FIG. 3J, prior to the rising timing of strobe signal STBn indicating the data reading timing of a certain processor 11n, the bus permission to the processor is made at timing T13. Since the signal GNTn has returned to the inactive state, the processor 11n cannot recognize itself even if the bus permission signal GNTn is returned to the processor via the self-recognition circuit 15 as it is. Therefore, the self-recognition circuit 15 delays the bus permission signal GNTn by at least one clock cycle, and keeps the bus permission signal GNTn in a state indicating that the usage right is being granted until after the rising timing of the strobe signal STBn. As a result,
Assigned processor 11 output from self-recognition circuit 15
n is accurately returned to the grant processor 11n, so that the grant processor 11n
n enables accurate self-recognition.

【0070】以上の理由の基づき遅延回路27nは、付
与状態レジスタ26の各ビットセル30nにラッチされ
る前に、バス許可信号GNTnを遅延させている。これ
によって付与状態レジスタ26に保持される使用権付与
状態を示すデータの変化タイミングが、システムバス1
3の実際の使用状況の変化タイミングと一致するよう
に、補正される。したがって、各ビットセルからの信号
の状態変化が、システムバス13の実際の使用状況と常
に一致する。
For the above reason, the delay circuit 27n delays the bus enable signal GNTn before being latched by each bit cell 30n of the assignment state register 26. As a result, the change timing of the data indicating the usage right grant status held in the grant status register 26 is determined by the
No. 3 is corrected so as to coincide with the change timing of the actual use situation. Therefore, the change in the state of the signal from each bit cell always coincides with the actual use state of the system bus 13.

【0071】マルチプロセッサ装置10は、好ましく
は、複数のプロセッサに並列動作を行わせるために、図
1に示すように、プロセッサ11n毎に、キャッシュメ
モリ28nとキャッシュコントローラ29nとを、さら
に含んでいる。プロセッサ11n毎に、プロセッサ11
nと該プロセッサ用のキャッシュコントローラ29nと
が単一の半導体チップ上に集積化されていてもよく、さ
らに該半導体チップ上に該プロセッサのキャッシュメモ
リ28nも集積化されていてもよい。プロセッサ11n
毎に、プロセッサ11nからシステムバス13へのアク
セスは、該プロセッサ用のキャッシュコントローラ29
nによって制御されている。プロセッサ11n自身は、
次に得るべきデータ等がキャッシュメモリ28n内にも
あるか共有メモリ12内にしかないかがわからない。キ
ャッシュコントローラ29nが、得るべきデータ等にヒ
ットしたか否かに基づき、システムバス13を介して共
有メモリ12にアクセスするか、キャッシュメモリ28
nからデータ等を読出すかを切換える。
The multiprocessor device 10 preferably further includes a cache memory 28n and a cache controller 29n for each processor 11n, as shown in FIG. 1, in order to cause a plurality of processors to perform parallel operations. . For each processor 11n, the processor 11
n and the cache controller 29n for the processor may be integrated on a single semiconductor chip, and the cache memory 28n of the processor may also be integrated on the semiconductor chip. Processor 11n
Each time, the processor 11n accesses the system bus 13 by the cache controller 29 for the processor.
n. The processor 11n itself,
It is not known whether the next data to be obtained is in the cache memory 28n or only in the shared memory 12. The cache controller 29n accesses the shared memory 12 via the system bus 13 or determines whether the cache memory 28
Switching between reading data and the like from n.

【0072】上記の場合、各プロセッサ11nが共有メ
モリ12から読出した命令および被演算データ等は、該
各キャッシュメモリ28nにもストアされる。各プロセ
ッサ11nは、データ読出しの際、最初に自己用のキャ
ッシュメモリ28nにアクセスする。プロセッサ11用
のキャッシュメモリ28nに既に記憶されている命令を
フェッチする際など、プロセッサ11nが要求する命令
およびデータが該プロセッサ11用のキャッシュメモリ
28n内に存在する(ヒット)ならば、該プロセッサ1
1nがキャッシュコントローラ29nを介してキャッシ
ュメモリ28nに直接アクセスすれば良いので、プロセ
ッサ11nはバス要求信号REQnをアクティブ状態に
せずに非アクティブ状態に保つ。プロセッサ11nが要
求するデータが該プロセッサ用のキャッシュメモリ28
n内に存在しない(ミスヒット)場合、共有メモリ12
から命令およびデータを読出す必要があるので、プロセ
ッサ11nはバス要求信号REQnをアクティブ状態に
する。プロセッサ11nが次に要求する命令がキャッシ
ュメモリ28nにヒットすれば、システムバス13の占
有の必要が無くなるので、プロセッサ11nはバス要求
信号REQnを非アクティブ状態に戻す。
In the above case, the instructions read from the shared memory 12 by each processor 11n and the data to be operated on are also stored in the respective cache memories 28n. When reading data, each processor 11n first accesses its own cache memory 28n. When an instruction and data requested by the processor 11n exist in the cache memory 28n for the processor 11 (hit), such as when fetching an instruction already stored in the cache memory 28n for the processor 11, the processor 1
The processor 11n keeps the bus request signal REQn in an inactive state without making it active, since it is sufficient that 1n directly accesses the cache memory 28n via the cache controller 29n. The data requested by the processor 11n is stored in the cache memory 28 for the processor.
n (miss hit), the shared memory 12
, The processor 11n sets the bus request signal REQn to an active state. If the next instruction requested by the processor 11n hits the cache memory 28n, the processor 11n returns the bus request signal REQn to the inactive state because the system bus 13 does not need to be occupied.

【0073】プロセッサ11nが動作している限り、該
プロセッサ11nはプログラムをフェッチし続けている
必要があるため、複数の各プロセッサ11nにキャッシ
ュメモリ28nおよびキャッシュコントローラ29nが
それぞれ備えられていないと、複数のプロセッサ11al
は全く並列動作できない。したがって、複数のプロセッ
サ11alを並列動作させるためには、各プロセッサ11
nにそれぞれキャッシュメモリ28nおよびキャッシュ
コントローラ29nが備えられている必要がある。この
結果、いずれか1つのプロセッサがキャッシュヒットし
ている間に、他のプロセッサが動作可能になる。このよ
うにプロセッサ11n毎にキャッシュメモリ28nが用
意されている場合、各プロセッサ11nは、キャッシュ
メモリ28nのミスヒットの際だけシステムバス13に
アクセスすればよいので、複数のプロセッサの並列処理
(Parallel Processing)が可能になる。
As long as the processor 11n is operating, the processor 11n needs to keep fetching the program. Therefore, if the plurality of processors 11n are not provided with the cache memory 28n and the cache controller 29n, respectively, Processor 11al
Cannot operate in parallel at all. Therefore, in order to operate a plurality of processors 11al in parallel, each processor 11al
n need to be provided with a cache memory 28n and a cache controller 29n, respectively. As a result, while any one processor has a cache hit, the other processor can operate. As described above, when the cache memory 28n is prepared for each processor 11n, each processor 11n only needs to access the system bus 13 when there is a mishit in the cache memory 28n. ) Becomes possible.

【0074】図1のマルチプロセッサ装置10は、さら
に、自己認識処理を伴う処理分岐に特徴がある。このた
めに、基本的には、共有メモリ12が予め定める複数の
特定処理ルーチンのプログラムを記憶しており、かつ各
特定処理ルーチンがプロセッサ11nに個別に割当てら
れている。任意のプロセッサ11nは、プログラム読出
しに先立ち、バスアービタ14に使用権を要求し、使用
権が付与された後に使用権の付与状態の通知を自己認識
回路15に要求する。付与状態通知後、プロセッサ11
nは、通知される使用権の付与状態に基づいて自己を認
識し、認識される自己プロセッサに割当てられている特
定処理ルーチンのプログラムをシステムバス13を介し
て共有メモリ12から読出し、該プログラムの実行を開
始する。
The multiprocessor device 10 shown in FIG. 1 is further characterized by a process branch involving a self-recognition process. For this purpose, basically, the shared memory 12 stores a plurality of predetermined processing programs of specific processing routines, and each specific processing routine is individually assigned to the processor 11n. Prior to reading the program, the arbitrary processor 11n requests the bus arbiter 14 for a usage right, and requests the self-recognition circuit 15 to notify the status of the usage right after the usage right is granted. After the notification of the grant status, the processor 11
n recognizes itself based on the notified use right grant status, reads a program of a specific processing routine assigned to the recognized self processor from the shared memory 12 via the system bus 13, and Start execution.

【0075】このようにマルチプロセッサ装置10が自
己認識回路15を有し、かつ共有メモリ12からの特定
処理ルーチンのプログラム読出しに先立ってプロセッサ
11が自己認識を行う場合、該プロセッサ11は自己に
割当てられている特定処理ルーチンのプログラムを実行
することができる。これによって、共有メモリ12に記
憶されている複数の特定処理ルーチンプログラムをプロ
セッサ11毎に個別に割当てて実行させることが可能に
なり、プロセッサ11毎に異なるプログラムを起動させ
ることができる。
As described above, when the multiprocessor 10 has the self-recognition circuit 15 and the processor 11 performs the self-recognition prior to reading the program of the specific processing routine from the shared memory 12, the processor 11 allocates itself. The program of the specified processing routine can be executed. As a result, a plurality of specific processing routine programs stored in the shared memory 12 can be individually assigned to each processor 11 and executed, and a different program can be activated for each processor 11.

【0076】自己認識を伴う処理分岐は、好ましくは、
例外事象発生に応答して実行される処理ルーチンである
例外処理ルーチンにおいて、用いられる。例外事象(ex
ception)とは、現在実行中のプログラムを強制中断し
て予め定めるアドレスへ強制分岐する機能を実行するた
めの、きっかけとなる事象である。例外事象としては、
たとえば、ソフトウエア割込み、外部からプロセッサへ
の割込み要求(IRQ:interrupt reqest)、マルチプ
ロセッサ装置10のリセット、命令およびデータのアボ
ート(abort)、未定義命令のフェッチ、高速割込み要
求(FIQ:fast interrupt request)が挙げられる。
以後、例外事象発生に応答してプロセッサ11nがアク
セスすべきと予め定められている物理アドレスを、例外
起動アドレスと称す。2以上の例外事象が設定されてい
る場合、各例外事象毎に例外起動アドレスが設定されて
いる。
The processing branch with self-awareness is preferably
Used in an exception handling routine that is a processing routine executed in response to the occurrence of an exceptional event. Exception event (ex
“ception” is a trigger event for executing a function of forcibly interrupting a currently executing program and forcibly branching to a predetermined address. As exceptional events,
For example, a software interrupt, an interrupt request (IRQ: interrupt request) from the outside to the processor, reset of the multiprocessor device 10, abort of instruction and data (abort), fetch of undefined instruction, fast interrupt request (FIQ: fast interrupt) request).
Hereinafter, a physical address that is predetermined to be accessed by the processor 11n in response to the occurrence of an exception event is referred to as an exception activation address. When two or more exceptional events are set, an exception activation address is set for each exceptional event.

【0077】例外事象と例外起動アドレスとの対応付け
は、たとえば、プロセッサの仕様として固定的に設定さ
れている。特に単一仕様のプロセッサが大量に生産され
ている場合、生産されたプロセッサの例外起動アドレス
は相互に等しい。このような例外起動アドレスが相互に
等しい複数のプロセッサを用いて図1のマルチプロセッ
サ装置10が構成されている場合、全プロセッサ11al
がシステムバス13に接続されているために全プロセッ
サ11alが単一物理アドレス空間を共用しているので、
全ての各プロセッサ11nは、どれも、例外事象発生に
応答して使用権を取得した後に、同じ例外起動アドレス
にアクセスすることになる。このために、上記の構成の
マルチプロセッサ装置は、例外事象発生時にプロセッサ
毎に相互に異なる処理ルーチンを実行することが難し
い。
The association between the exception event and the exception activation address is fixedly set, for example, as a processor specification. Particularly, when a single-specification processor is mass-produced, the exception activation addresses of the produced processors are equal to each other. When the multiprocessor device 10 of FIG. 1 is configured by using a plurality of processors having the same exception activation address, all the processors 11al
Are connected to the system bus 13 so that all processors 11al share a single physical address space.
All of the processors 11n access the same exception activation address after acquiring the right to use in response to the occurrence of the exception event. For this reason, it is difficult for the multiprocessor having the above configuration to execute mutually different processing routines for each processor when an exception event occurs.

【0078】例外起動アドレスが相互に等しい複数のプ
ロセッサを用いて図1のマルチプロセッサ装置10が構
成されている場合、好ましくは、例外処理をプロセッサ
に応じて分岐するための分岐処理ルーチンのプログラム
を、共有メモリ12が記憶している。共有メモリ12の
記憶領域内において、分岐処理ルーチンのプログラムの
スタート番地が例外起動アドレスと等しいか、または分
岐処理ルーチンのプログラムのスタート番地へのジャン
プ命令が割込み例外アドレスに記述されている。プログ
ラムのスタート番地とは、共有メモリ12の記憶領域内
において該プログラムが記述されている部分の先頭のア
ドレスである。分岐処理ルーチンのプログラムは、使用
権付与中であってかつプログラムを共有メモリから読出
し実行しているプロセッサ11nに、上述した例外事象
発生時の動作を行わせるためのプログラムである。分岐
処理ルーチンのプログラムは、詳しくは、自己認識回路
15への使用権の現在の付与状態の通知要求と、通知さ
れた使用権の付与状態に基づく自己認識と、認識される
自己のプロセッサ用の個別処理ルーチンのプログラムの
読出しおよび実行開始とを、該プロセッサ11nに行わ
せる。
When the multiprocessor 10 of FIG. 1 is configured using a plurality of processors having the same exception activation address, preferably, a program for a branch processing routine for branching the exception processing according to the processor is provided. , And the shared memory 12. In the storage area of the shared memory 12, the start address of the program of the branch processing routine is equal to the exception start address, or a jump instruction to the start address of the program of the branch processing routine is described in the interrupt exception address. The start address of the program is a head address of a portion where the program is described in the storage area of the shared memory 12. The program of the branch processing routine is a program for causing the processor 11n, which is in the process of granting the usage right and reading out the program from the shared memory, to execute the above-described operation at the time of occurrence of the exceptional event. Specifically, the program of the branch processing routine includes a request for notifying the self-recognition circuit 15 of the current grant status of the usage right, a self-recognition based on the notified grant status of the usage right, and The processor 11n reads the program of the individual processing routine and starts execution.

【0079】このように、上記の分岐処理ルーチンプロ
グラムが共有メモリ12の記憶領域に例外起動アドレス
を先頭として記憶されているならば、全プロセッサ11
alの例外起動アドレスが相互に等しい場合であっても、
プロセッサ11毎に相互に異なるプログラムを起動させ
ることができる。これによってマルチプロセッサ装置1
0は、複数のプロセッサ11が単一物理アドレス空間を
共用しかつ各プロセッサ11nの例外起動アドレスが相
互に等しい場合であっても、プロセッサ11n毎に相互
に異なるプログラムを実行させることができる。
As described above, if the above-mentioned branch processing routine program is stored in the storage area of the shared memory 12 with the exceptional activation address at the top, all processors 11
al exception start addresses are equal to each other,
Different programs can be activated for each processor 11. Thereby, the multiprocessor device 1
0 indicates that a different program can be executed for each processor 11n even when the processors 11n share a single physical address space and the exception activation addresses of the processors 11n are equal to each other.

【0080】図4は、例外処理ルーチンの1つである割
込み処理ルーチンを詳細に説明するためのフローチャー
トである。マルチプロセッサ装置の外部起因または内部
起因の割込み事象が発生すると、割込み制御回路17に
対して割込み信号が与えられる。これによってステップ
S0からステップS1に進む。ステップS1において、
割込み制御回路17は、発生した割込み事象が全プロセ
ッサ11alのうちのどのプロセッサ11nに対する割込
み事象であるかを、割込み事象の種類等に応じて判断す
る。割込み制御回路17は、判断結果として選択された
いずれかのプロセッサ11nに割込み信号を与えること
によって、該プロセッサ11nに割込みをかける。
FIG. 4 is a flowchart for explaining in detail an interrupt processing routine which is one of the exception processing routines. When an external or internal interrupt event occurs in the multiprocessor device, an interrupt signal is provided to the interrupt control circuit 17. Thus, the process proceeds from step S0 to step S1. In step S1,
The interrupt control circuit 17 determines, based on the type of the interrupt event, which of the processors 11al the generated interrupt event is an interrupt event for. The interrupt control circuit 17 interrupts the processor 11n by giving an interrupt signal to one of the processors 11n selected as a result of the determination.

【0081】ステップS2において、割込みを受けたい
ずれか1つのプロセッサ11nは、割込み事象に対応付
けられている所定の例外起動アドレスである割込み起動
アドレスにジャンプする。すなわち、割込みを受けたプ
ロセッサ(以後「被割込みプロセッサ」と称す)11n
は、割込みに応答してまずバスアービタ14に使用権を
要求し、使用権が付与された後に所定の割込み起動アド
レスをアドレスバスA31−A0に送出する。これによ
ってメモリデコーダ16が、共有メモリ12内の割込み
起動アドレスに記述されるデータを、共有メモリ12か
らデータバスに送出させるので、ステップS3におい
て、被割込みプロセッサ11nが、割込み処理の分岐処
理ルーチンプログラムに記述される命令を先頭から順次
実行することが可能になる。なお被割込みプロセッサ1
1nは、割込み信号受信時に他の処理を実行していたな
らば該他の処理を中断し、中断後に割込み起動アドレス
へジャンプする。
In step S2, any one of the processors 11n that has received the interrupt jumps to an interrupt activation address which is a predetermined exception activation address associated with the interrupt event. That is, the processor that has received the interrupt (hereinafter referred to as “interrupted processor”) 11n
First responds to the interrupt by requesting the bus arbiter 14 for a use right, and after the use right is granted, sends a predetermined interrupt activation address to the address bus A31-A0. As a result, the memory decoder 16 causes the data described in the interrupt activation address in the shared memory 12 to be transmitted from the shared memory 12 to the data bus. In step S3, the interrupted processor 11n sets the interrupt processing branch processing routine program. Can be sequentially executed from the beginning. The interrupted processor 1
In 1n, if another process is being executed at the time of receiving the interrupt signal, the other process is interrupted, and after the interrupt, the process jumps to the interrupt activation address.

【0082】ステップS3において、被割込みプロセッ
サ11nは、自己認識回路15内の付与状態レジスタ2
6をリード(Read)して、リードの結果得られるデータ
に基づき,図1および図3を用いて説明した手順で,自
己が全プロセッサ11alのうちのどれかを認識する。す
なわち被割込みプロセッサ11nは、ステップS3のレ
ジスタをリードする時点で既に使用権が付与されている
ので、付与状態レジスタ26に割当てられている所定物
理アドレスをアドレスバスA31−A0に送出する。こ
れによってメモリデコーダ16が付与状態レジスタ26
のチップセレクト信号CSselfをアクティブ状態にする
ので、付与状態レジスタ26は記憶しているデータをデ
ータバスに送出する。ステップS3のレジスタをリード
する時点で被割込みプロセッサ11nに使用権が既に付
与されているので、付与状態レジスタ26内のデータは
該被割込みプロセッサ11nを一意的に示すデータにな
っている。被割込みプロセッサ11nは、データバスに
送出されているデータをラッチし、ラッチされたデータ
によって一意に表されているプロセッサが自己であると
認識する。
In step S3, the interrupted processor 11n sets the assignment state register 2 in the self-recognition circuit 15
6 is read, and based on the data obtained as a result of the read, the self recognizes one of the processors 11al by the procedure described with reference to FIGS. That is, the interrupted processor 11n sends out the predetermined physical address assigned to the assignment status register 26 to the address bus A31-A0 because the usage right has already been assigned at the time of reading the register in step S3. This causes the memory decoder 16 to change the assignment state register 26
Of the chip select signal CSself in the active state, the assignment state register 26 sends the stored data to the data bus. Since the use right has already been given to the interrupted processor 11n at the time of reading the register in step S3, the data in the assignment status register 26 is data uniquely indicating the interrupted processor 11n. The interrupted processor 11n latches the data sent to the data bus, and recognizes that the processor uniquely represented by the latched data is itself.

【0083】自己認識後、被割込みプロセッサ11n
は、認識された自己のプロセッサに割当てられている処
理ルーチンのスタート番地にジャンプする。すなわち被
割込みプロセッサ11nは、予め用意されている全ての
各プロセッサ11alに割当てられている特定処理ルーチ
ンのスタート番地のうち、認識された自己のプロセッサ
11nに割当てられている処理ルーチンのスタート番地
を選択し、選択されたスタート番地をアドレスバスA3
1−A0に送出する。これによってメモリデコーダ16
が共有メモリ12の記憶領域内の選択されたスタート番
地に記述されるデータをデータバスに送出させるので、
ステップS4,S5において、被割込みプロセッサ11
が、自己に割当てられた特定処理ルーチンプログラムに
記述される命令を先頭から順次実行することが可能にな
る。
After self-recognition, the interrupted processor 11n
Jumps to the start address of the processing routine assigned to the recognized own processor. That is, the interrupted processor 11n selects the recognized start address of the processing routine assigned to its own processor 11n from the start addresses of the specific processing routines assigned to all the processors 11al prepared in advance. Then, the selected start address is stored in the address bus A3.
1-A0. Thereby, the memory decoder 16
Causes the data described at the selected start address in the storage area of the shared memory 12 to be transmitted to the data bus.
In steps S4 and S5, the interrupted processor 11
Can sequentially execute the instructions described in the specific processing routine program assigned thereto from the beginning.

【0084】たとえば図1に示すようにマルチプロセッ
サ装置10が2つのプロセッサ11 1,112を有する場
合、自己認識の結果、自己は第1プロセッサ111であ
ると被割込みプロセッサが認識すれば、ステップS3か
らステップS4に移行して第1プロセッサ111に割当
てられた特定処理ルーチンの実行を開始する。自己は第
2プロセッサ112であると被割込みプロセッサが認識
すれば、ステップS3からステップS5に移行して第2
プロセッサ112に割当てられた特定処理ルーチンの実
行を開始する。割込みを受けたプロセッサ11nにおい
て自己に割当てられた特定処理ルーチンの実行が終了す
れば、ステップS6,S7で割込み処理ルーチンが終了
する。
For example, as shown in FIG.
The server device 10 has two processors 11 1, 11TwoPlace with
In this case, as a result of self recognition,1In
Then, if the interrupted processor recognizes, the process proceeds to step S3.
Then, the process proceeds to step S4 and the first processor 111Assigned to
The execution of the specified processing routine is started. Self is first
2 processors 11TwoIs recognized by the interrupted processor
Then, the process moves from step S3 to step S5 and the second
Processor 11TwoOf the specific processing routine assigned to
Start a line. At the interrupted processor 11n
Execution of the specific processing routine assigned to
If so, the interrupt processing routine ends in steps S6 and S7.
I do.

【0085】以上説明したように、図1のマルチプロセ
ッサ装置10は、自己認識回路15を用いることによっ
て、全プロセッサ11alの物理アドレス空間が相互に同
じであっても、割込み事象発生時に実行する処理をプロ
セッサ11毎に切換えることができる。リセット等の他
の例外事象発生時においても、例外事象発生に伴う信号
を受信したプロセッサ11が、ステップS2〜S6の処
理を行えば、同様の切換えをおこなうことができる。
As described above, the multiprocessor device 10 of FIG. 1 uses the self-recognition circuit 15 to execute the processing executed when an interrupt event occurs even if the physical address spaces of all the processors 11al are the same. Can be switched for each processor 11. Even when another exception event such as a reset occurs, the same switching can be performed if the processor 11 that has received the signal accompanying the occurrence of the exception event performs the processing of steps S2 to S6.

【0086】このように図1のマルチプロセッサ装置の
各プロセッサは、例外事象発生直後の分岐処理ルーチン
において、自己認識回路を用いた自己認識を1回だけ行
う。各プロセッサに割当てられている特定処理ルーチン
のプログラムは、共有メモリ内の相互に異なる物理アド
レスに配置されている。各プロセッサは自己の内部プロ
グラムカウンタ等で次にアクセスするべきアドレスを個
別に記憶しているので、各プロセッサが自己に割当てら
れている特定処理ルーチンを実行している間は、自己が
どのプロセッサであるかを気にしなくてもよい。したが
って、自己認識のためにシステムバスを占有する時間が
極めて短いため、メモリへのアクセスが必要な他の処理
に自己認識処理が与える影響は殆ど無い。
As described above, each processor of the multiprocessor device shown in FIG. 1 performs the self-recognition using the self-recognition circuit only once in the branch processing routine immediately after the occurrence of the exceptional event. The programs of the specific processing routines assigned to the respective processors are arranged at mutually different physical addresses in the shared memory. Each processor individually stores the address to be accessed next by its own internal program counter, etc., so while each processor is executing the specific processing routine assigned to itself, You don't have to worry about it. Therefore, since the time for occupying the system bus for self-identification is extremely short, the self-identification processing has almost no effect on other processing that requires access to the memory.

【0087】上述したように、単一システムバスに接続
されている複数のプロセッサが、該システムバスに接続
されているメモリを共用する場合、以下の効果が得られ
る。特開平8−263460公報に示すように、プロセ
ッサが接続されるシステムバスをプロセッサ毎に分離し
たならば、複数のプロセッサがデータを共有するために
は、プロセッサ間で通信を行う必要があるので、データ
共有手順が複雑になる。また共有されるデータのデータ
量の増加に伴い、プロセッサ間通信の負荷が増大するの
で、データ量が増加するほどデータの共有が難しくな
る。図1のように複数のプロセッサ11alが単一システ
ムバス13に接続されているならば、単一の物理アドレ
ス空間を複数のプロセッサ11alが共用している。ゆえ
に共有メモリ12を共有のシステムバス13に接続してお
けば、複数の各プロセッサ11が同じ物理アドレスにア
クセスするだけでデータを共用することができるので、
データ共有手順が極めて容易になる。また複数のプロセ
ッサ11alと共有メモリ12とが単一システムバス13
に接続されている構成では、データ供給のためのプロセ
ッサ間通信が必要無いので、データ量増加に伴う負荷増
大が生じないため、データ共有がたやすい。
As described above, when a plurality of processors connected to a single system bus share a memory connected to the system bus, the following effects can be obtained. As disclosed in Japanese Patent Application Laid-Open No. 8-263460, if a system bus to which the processors are connected is separated for each processor, a plurality of processors need to communicate with each other in order to share data. Data sharing procedures are complicated. Further, as the amount of shared data increases, the load of inter-processor communication increases, so that it becomes more difficult to share data as the data amount increases. If a plurality of processors 11al are connected to the single system bus 13 as shown in FIG. 1, a single physical address space is shared by the plurality of processors 11al. Therefore, if the shared memory 12 is connected to the shared system bus 13, the plurality of processors 11 can share data only by accessing the same physical address.
The data sharing procedure becomes extremely easy. The plurality of processors 11al and the shared memory 12 are connected to a single system bus 13
In this configuration, communication between processors for data supply is not required, so that a load does not increase due to an increase in the amount of data, so that data sharing is easy.

【0088】図5は、図1のマルチプロセッサ装置を用
いた携帯電話用のASIC(Application Specific Int
egrated Circuit)の構成を示すブロック図である。図
5のASICの構成ブロックのうち、図1のマルチプロ
セッサ装置の各構成ブロックに相当するものには、同じ
参照符を付す。なお図5のASIC内のマルチプロセッ
サ装置は、本発明で説明しているプロセッサとして、共
通のシステムバス13に接続される2つのCPUを含
む。この他にASICは、音声圧縮等を行うDSPを含
むが、これらは共通システムバス13とは別のバスに接
続される。
FIG. 5 is an ASIC (Application Specific Int.) For a mobile phone using the multiprocessor device of FIG.
2 is a block diagram illustrating a configuration of an egrated circuit. Of the constituent blocks of the ASIC of FIG. 5, those corresponding to the constituent blocks of the multiprocessor device of FIG. 1 are denoted by the same reference numerals. The multiprocessor device in the ASIC in FIG. 5 includes two CPUs connected to a common system bus 13 as the processor described in the present invention. In addition, the ASIC includes a DSP for performing audio compression and the like, which are connected to a bus different from the common system bus 13.

【0089】図5のASIC内部のマルチプロセッサ装
置において、2つのプロセッサ11 1,112のうち、一
方プロセッサ111は携帯電話における通信のプロトコ
ル処理に用いられ、他方プロセッサ112はマルチメデ
ィア関連の処理に用いられる。これら2つのプロセッサ
111,112は、共通のシステムバス13に接続されて
おり、かつ該システムバスに直接または間接的に接続さ
れているメモリ12を共用する。一方プロセッサ111
がプロトコルを制御した通信によって該一方プロセッサ
111に与えられたデータは、共有メモリ12に記憶さ
れ、他方プロセッサ112にも共有される。
The multiprocessor device inside the ASIC of FIG.
Two processors 11 1, 11TwoOne of
Processor 111Is a communication protocol for mobile phones
Processor 11TwoIs multimed
Used for processing related to the data. These two processors
111, 11TwoAre connected to a common system bus 13
Connected directly or indirectly to the system bus.
The shared memory 12 is shared. On the other hand, processor 111
The other processor by communication controlled protocol
111Is given to the shared memory 12.
And the other processor 11TwoWill also be shared.

【0090】マルチメディア関連の処理に利用されるデ
ータはデータ量が比較的多いので、2つのプロセッサ1
1,112がプロセッサ間通信を用いて該データを共有
することは難しい。前述したように、図1のマルチプロ
セッサ装置の構成では、データを記憶している共有メモ
リ12の物理アドレスを2つの各プロセッサがアクセス
するだけで、該2つのプロセッサは該データを容易に共
有することができる。これによって、ASICを内蔵し
た携帯電話において、一方プロセッサ111によってプ
ロトコルが制御される通信によって与えられたデータ
を、他方のプロセッサ112におけるマルチメディア関
連の処理に利用することが、容易になる。
Since the amount of data used for multimedia-related processing is relatively large, two processors 1
1 1, 11 2 can be difficult to share the data with inter-processor communication. As described above, in the configuration of the multiprocessor device of FIG. 1, only the two processors access the physical address of the shared memory 12 storing the data, and the two processors easily share the data. be able to. Thus, in the mobile phone with a built-in ASIC, whereas the data provided by the communication protocols are controlled by the processor 11 1, be used for multimedia related processing in the other processor 11 2, is facilitated.

【0091】また図5のASICにおいて、マルチプロ
セッサ装置が図4で説明した分岐処理ルーチンを含む例
外処理を行うならば、内蔵する複数のプロセッサの例外
起動アドレスが相互に等しくても、各プロセッサに予め
割当てられている特定処理を、例外事象発生に応答して
実行させることができる。この結果、内蔵される複数の
プロセッサが、規格仕様や型番が相互に等しいために例
外起動アドレスが相互に等しくても、プロセッサ毎の処
理分岐が可能になる。これによって、マルチプロセッサ
装置の大量生産が容易になる。なお、例外処理ルーチン
の中の分岐処理を行う部分は、全プロセッサ11alが共
通に実行可能なコードになっている必要がある。すなわ
ち全プロセッサ11alは、異なる種類のプロセッサから
実現されてもよいが、該異なる種類の各プロセッサの命
令コード体系が相互に全く等しくなっている必要があ
る。つまり、全プロセッサ11alは、いわゆるバイナリ
互換がある構成になっている。たとえば最低でも、全プ
ロセッサ11alは、単一メーカの同じ系列のプロセッサ
になっている必要がある。このような条件を満たすべき
全プロセッサ11alを一種のプロセッサで実現する場
合、ライセンス料が1種類分で済むため、コストを割安
にすることができる利点がある。
In the ASIC of FIG. 5, if the multiprocessor device performs exception processing including the branch processing routine described with reference to FIG. The specific process assigned in advance can be executed in response to the occurrence of the exceptional event. As a result, even if a plurality of built-in processors have the same standard specification and model number, and therefore have the same exception activation address, processing branching can be performed for each processor. This facilitates mass production of multiprocessor devices. The part of the exception handling routine that performs branch processing needs to be code that can be commonly executed by all processors 11al. That is, all the processors 11al may be realized by different types of processors, but the instruction codes of the different types of processors must be completely equal to each other. That is, all processors 11al have a so-called binary compatible configuration. For example, at a minimum, all processors 11al need to be processors of the same family of a single manufacturer. When all the processors 11al that satisfy such conditions are realized by one type of processor, there is an advantage that the cost can be reduced because only one license fee is required.

【0092】本実施の形態のマルチプロセッサ装置10
は本発明のマルチプロセッサ装置の例示であり、主要な
構成および動作が等しければ、他の様々な形で実現する
ことができる。特にマルチプロセッサ装置10の各構成
ブロックの詳細な構成および動作は、同じ効果が得られ
るならば、上述の構成および動作に限らず、他の構成お
よび動作によって実現されてもよい。
The multiprocessor device 10 of the present embodiment
Is an example of the multiprocessor device of the present invention, and can be realized in other various forms as long as the main configuration and operation are the same. In particular, the detailed configuration and operation of each constituent block of the multiprocessor device 10 are not limited to the above-described configuration and operation, and may be realized by another configuration and operation as long as the same effect is obtained.

【0093】[0093]

【発明の効果】以上のように本発明によれば、複数のプ
ロセッサがメモリおよびシステムバスを共用する構成の
マルチプロセッサ装置において、自己認識回路が、全プ
ロセッサへの使用権の現在の付与状態を、使用権付与中
のプロセッサに通知する。使用権付与中のプロセッサ
は、通知された付与状態に基づき、通知時に使用権が付
与されているいずれか1つのプロセッサが自己であると
認識する。これによってマルチプロセッサ装置におい
て、極めて容易な構成を用いて、各プロセッサに自己認
識を行わせることが可能になる。
As described above, according to the present invention, in a multiprocessor device having a configuration in which a plurality of processors share a memory and a system bus, the self-recognition circuit determines the current assignment status of the right to use to all processors. , And notifies the processor to which the usage right is being granted. The processor to which the usage right is being granted recognizes that one of the processors to which the usage right has been granted is the self at the time of the notification, based on the notified grant status. This makes it possible for each processor to perform self-recognition using a very simple configuration in the multiprocessor device.

【0094】また本発明によれば、各プロセッサへの使
用権付与の制御のために各プロセッサに与えられるバス
許可信号の現在の状態が、自己認識回路に備えられる付
与状態レジスタの各ビットセルにラッチされ、全ての各
ビットセルのラッチ結果が全プロセッサへの使用権付与
状態を示すデータとして用いられる。これによって自己
認識回路は、全プロセッサへの使用権の現在の付与状態
を示すデータを、簡単な構成でかつ極めて容易に作成す
ることができる。
Further, according to the present invention, the current state of the bus permission signal given to each processor for controlling the grant of usage right to each processor is latched in each bit cell of the grant state register provided in the self-recognition circuit. Then, the latch results of all the bit cells are used as data indicating the status of granting the usage right to all processors. Thus, the self-recognition circuit can easily and extremely easily create data indicating the current grant status of the usage right to all processors.

【0095】さらにまた本発明によれば、付与状態レジ
スタに所定物理アドレスが予め割当てられおり、かつ付
与状態レジスタがプロセッサと同じシステムバスに接続
されている。これによって被認識プロセッサは、付与状
態レジスタに対して一般的なメモリへのアクセス手順と
同じ手順でアクセスするだけで、自己を一意に示すデー
タを取得することが可能になる。
Still further, according to the present invention, a predetermined physical address is previously assigned to the assignment status register, and the assignment status register is connected to the same system bus as the processor. As a result, the recognized processor can acquire data uniquely indicating itself only by accessing the assignment state register in the same procedure as a general procedure for accessing a memory.

【0096】また本発明によれば、マルチプロセッサ装
置において、使用権付与に伴うバス許可信号の状態移行
タイミングが使用権新規付与のプロセッサからのアドレ
ス送出が実際に可能になるタイミングと一致するまで、
バスアービタからのバス許可信号が遅延され、遅延され
たバス許可信号の状態が付与状態レジスタにラッチされ
る。これによって、上記2つのタイミングのずれに起因
するプロセッサの自己認識誤りが、防止される。
Further, according to the present invention, in the multiprocessor device, the state transition timing of the bus permission signal accompanying the grant of the use right is changed until the timing at which the address transmission from the processor with the new use right is actually enabled becomes coincident.
The bus grant signal from the bus arbiter is delayed, and the state of the delayed bus grant signal is latched in the grant status register. This prevents a self-recognition error of the processor due to the difference between the two timings.

【0097】さらにまた本発明によれば、プロセッサ
は、システムバス使用権付与後、共有のメモリからのプ
ログラムの読出しに先立ち、自己認識回路を用いた自己
認識を行う。これによってプロセッサ毎に相互に異なる
プログラムを起動させることができる。また本発明によ
れば、全ての各プロセッサの例外事象発生時にジャンプ
すべき所定の物理アドレスが相互に等しければ、メモリ
内の該物理アドレスを先頭とする部分に、分岐処理ルー
チンプログラムが予め記憶されている。分岐処理ルーチ
ンプログラムは、自己認識処理と、認識された自己に割
当てられている特定処理ルーチンプログラムの読出しと
を、使用権付与中のプロセッサに行わせる。これによっ
てマルチプロセッサ装置は、複数のプロセッサが単一物
理アドレス空間を共用しかつ各プロセッサの例外起動用
の物理アドレスが相互に等しい構成であっても、例外事
象発生時に、プロセッサ毎に相互に異なるプログラムを
起動させて実行させることができる。
Further, according to the present invention, after granting the right to use the system bus, the processor performs self-recognition using the self-recognition circuit before reading the program from the shared memory. As a result, different programs can be activated for each processor. Further, according to the present invention, if predetermined physical addresses to be jumped when an exceptional event occurs in all the processors are equal to each other, a branch processing routine program is stored in advance in a portion starting from the physical address in the memory. ing. The branch processing routine program causes the processor that is granting the right to use the self-recognition processing and the reading of the specific processing routine program assigned to the recognized self. Thereby, even when a plurality of processors share a single physical address space and the physical addresses for the exception activation of each processor are equal to each other, the multiprocessor device differs from processor to processor when an exception event occurs. The program can be started and executed.

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

【図1】本発明の実施の一形態であるマルチプロセッサ
装置の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a multiprocessor device according to an embodiment of the present invention.

【図2】図1のマルチプロセッサ装置内の自己認識回路
の構成を示す図である。
FIG. 2 is a diagram illustrating a configuration of a self-recognition circuit in the multiprocessor device of FIG. 1;

【図3】図1のマルチプロセッサ装置内部で送受される
信号波形を示すタイミングチャートである。
FIG. 3 is a timing chart showing signal waveforms transmitted and received inside the multiprocessor device of FIG. 1;

【図4】図1のマルチプロセッサ装置における割込み処
理ルーチンを説明するためのフローチャートである。
FIG. 4 is a flowchart illustrating an interrupt processing routine in the multiprocessor device of FIG. 1;

【図5】図1のマルチプロセッサ装置を用いたASIC
の構成を示すブロック図である。
FIG. 5 is an ASIC using the multiprocessor device of FIG. 1;
FIG. 3 is a block diagram showing the configuration of FIG.

【図6】従来技術のマルチプロセッサ装置の構成を示す
ブロック図である。
FIG. 6 is a block diagram illustrating a configuration of a conventional multiprocessor device.

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

10 マルチプロセッサ装置 11 プロセッサ 12 共有メモリ 13 システムバス 14 バスアービタ 15 自己認識回路 16 メモリデコーダ 17 割込み制御回路 26 付与状態レジスタ 27 遅延回路 28 キャッシュメモリ 29 キャッシュコントローラ 31 D型FF 32 出力制御用のトライステートバッファ DESCRIPTION OF SYMBOLS 10 Multiprocessor apparatus 11 Processor 12 Shared memory 13 System bus 14 Bus arbiter 15 Self-recognition circuit 16 Memory decoder 17 Interrupt control circuit 26 Assigned state register 27 Delay circuit 28 Cache memory 29 Cache controller 31 D-type FF 32 Tri-state buffer for output control

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサとメモリとシステムバ
スとバスアービタとを含み、全プロセッサとメモリとが
システムバスに接続されていて、バスアービタがいずれ
か1つのプロセッサにシステムバスの使用権を付与し、
使用権付与中のプロセッサだけがシステムバスを介して
メモリにアクセスする構成のマルチプロセッサ装置にお
いて、 全ての各プロセッサへの使用権の現在の付与状態を、使
用権付与中のプロセッサからの要求に応答して、該プロ
セッサに通知する自己認識回路を含み、 使用権付与中のプロセッサは、自己認識回路から通知さ
れている使用権の付与状態に基づいて使用権が付与され
ていると判断されるプロセッサが自己であると認識する
ことを特徴とするマルチプロセッサ装置。
A plurality of processors, a memory, a system bus, and a bus arbiter, wherein all the processors and the memory are connected to the system bus, and the bus arbiter grants a right to use the system bus to any one of the processors;
In a multiprocessor device in which only the processor to which the usage right is granted accesses the memory via the system bus, the current grant status of the usage right to all the processors is responded to a request from the processor to which the usage right is being granted. A self-recognizing circuit for notifying the processor, wherein the processor that is granting the right to use is determined to have been granted the right to use based on the state of grant of the right of use notified from the self-recognizing circuit. A multiprocessor device, which recognizes that the user is self.
【請求項2】 前記自己認識回路が、前記全プロセッサ
への前記使用権の現在の付与状態を示すデータを保持し
ている付与状態レジスタを含み、 前記バスアービタは、プロセッサ毎に、プロセッサに対
する使用権の付与状態に応じて状態が定められるバス許
可信号を、該プロセッサと前記付与状態レジスタ内の該
プロセッサに対応付けられているビットセルとに与え、 前記付与状態レジスタの各ビットセルは、該各ビットセ
ルに対応付けられているプロセッサへのバス許可信号の
現在の状態をラッチして保持しており、 前記自己認識回路は、使用権付与中のプロセッサからの
要求に応答して、付与状態レジスタ内の全ビットセルに
記憶されるバス許可信号の状態を該プロセッサに通知す
ることを特徴とする請求項1記載のマルチプロセッサ装
置。
2. The self-recognition circuit includes an assignment status register holding data indicating a current assignment status of the usage right to all of the processors. A bus permission signal whose state is determined according to the grant state of the processor is given to the processor and the bit cell associated with the processor in the grant state register. Each bit cell of the grant state register is assigned to each bit cell. The present state of the bus permission signal to the associated processor is latched and held, and the self-recognition circuit responds to a request from the processor to which the usage right is being granted, and stores all the data in the grant state register. 2. The multiprocessor device according to claim 1, wherein a state of the bus permission signal stored in the bit cell is notified to the processor. Place.
【請求項3】 前記システムバス内のアドレスバスに与
えられる物理アドレスに応答し、前記システムバス内の
データバスへのデータの送出を制御するメモリデコーダ
をさらに含み、 前記自己認識回路が、前記各プロセッサへの前記使用権
の現在の付与状態を示すデータを保持している付与状態
レジスタを含み、 メモリデコーダおよび付与状態レジスタは、前記システ
ムバスに接続され、 前記使用権付与中のプロセッサは、前記付与状態レジス
タに予め割当てられている所定の物理アドレスをアドレ
スバスに送出し、 メモリデコーダは、前記所定の物理アドレスのアドレス
バスへの送出に応答して、付与状態レジスタに記憶され
ているデータをデータバスへ送出させることを特徴とす
る請求項1または2記載のマルチプロセッサ装置。
3. A self-recognition circuit, further comprising a memory decoder that responds to a physical address given to an address bus in the system bus and controls transmission of data to a data bus in the system bus. A grant status register holding data indicating a current grant status of the use right to a processor, wherein a memory decoder and a grant status register are connected to the system bus; A predetermined physical address previously assigned to the assignment state register is sent to the address bus. 3. The multiprocessor device according to claim 1, wherein the data is transmitted to a data bus.
【請求項4】 前記自己認識回路は、バスアービタから
与えられている各プロセッサへのバス許可信号を遅延さ
せ、遅延されているバス許可信号を付与状態レジスタの
各ビットセルに与える遅延回路をさらに含み、 バス許可信号における使用権未付与の状態から使用権付
与済の状態への変化タイミングが、該バス許可信号が与
えられるプロセッサから前記システムバスへのアドレス
送出が実際に可能になるタイミングと一致するまで、バ
スアービタから自己認識回路に与えられているバス許可
信号が遅延されることを特徴とする請求項3記載のマル
チプロセッサ装置。
4. The self-recognition circuit further includes a delay circuit for delaying a bus grant signal to each processor provided from a bus arbiter, and providing the delayed bus grant signal to each bit cell of a grant status register. Until the change timing of the bus grant signal from the unlicensed state to the licensed state is coincident with the timing at which the processor to which the bus grant signal is given can actually send an address to the system bus. 4. The multiprocessor device according to claim 3, wherein a bus permission signal provided from the bus arbiter to the self-recognition circuit is delayed.
【請求項5】 前記メモリは、前記各プロセッサに個別
に割当てられている予め定める特定処理ルーチンのプロ
グラムを記憶しており、 前記プロセッサは、 (1)前記バスアービタに前記使用権を要求し、 (2)使用権付与後、使用権の付与状態の通知を自己認
識回路に要求し、 (3)通知される使用権の付与状態に基づいて認識され
る自己のプロセッサに割当てられている特定処理ルーチ
ンのプログラムを前記システムバスを介して前記メモリ
から読出し、該プログラムを実行することを特徴とする
請求項1〜4のうちのいずれか1項記載のマルチプロセ
ッサ装置。
5. The memory stores a program for a predetermined specific processing routine individually assigned to each of the processors. The processor requests: (1) the bus arbiter for the use right; 2) After the use right is granted, the self-recognition circuit requests the self-recognition circuit to notify the use right grant state. (3) A specific processing routine assigned to its own processor recognized based on the notified use right grant state The multiprocessor device according to any one of claims 1 to 4, wherein the program is read from the memory via the system bus and the program is executed.
【請求項6】 前記各プロセッサが、予め定める例外事
象発生に応答して前記バスアービタに前記使用権を要求
し、使用権付与後に前記システムバスを介して前記メモ
リ内の予め定める例外起動用の物理アドレスにアクセス
して、該起動アドレスに記述される命令を実行する構成
であり、かつ全ての各プロセッサの例外起動用の物理ア
ドレスが相互に等しい場合、 前記メモリは、例外起動時の処理を分岐するための分岐
処理ルーチンのプログラムをさらに記憶しており、前記
メモリ内の分岐処理ルーチンのプログラムのスタート番
地が前記例外起動用の物理アドレスと等しく、 前記分岐処理ルーチンのプログラムは、プロセッサに、
前記自己認識回路への使用権の現在の付与状態の通知の
要求と、通知されている付与状態に基づいて認識される
自己のプロセッサ用の個別処理ルーチンのプログラムの
読出しとを行わせることを特徴とする請求項5項記載の
マルチプロセッサ装置。
6. Each of the processors requests the bus arbiter for the use right in response to the occurrence of a predetermined exception event, and after the use right has been granted, a predetermined exception activation physical in the memory via the system bus. When the address is accessed to execute the instruction described in the activation address, and the physical addresses for exception activation of all the processors are equal to each other, the memory branches the processing at the time of exception activation. The program further stores a branch processing routine program for executing the program, wherein the start address of the branch processing routine program in the memory is equal to the physical address for activating the exception.
Requesting the self-recognition circuit to be notified of the current grant status of the use right, and reading a program of an individual processing routine for its own processor that is recognized based on the notified grant status. The multiprocessor device according to claim 5, wherein
JP2000063452A 2000-03-08 2000-03-08 Multiprocessor system Pending JP2001256205A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000063452A JP2001256205A (en) 2000-03-08 2000-03-08 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000063452A JP2001256205A (en) 2000-03-08 2000-03-08 Multiprocessor system

Publications (1)

Publication Number Publication Date
JP2001256205A true JP2001256205A (en) 2001-09-21

Family

ID=18583314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000063452A Pending JP2001256205A (en) 2000-03-08 2000-03-08 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP2001256205A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237099B2 (en) 2001-12-27 2007-06-26 Denso Corporation Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor
JP2010157247A (en) * 2002-08-27 2010-07-15 Qualcomm Inc Low power dual processor architecture for multi mode device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237099B2 (en) 2001-12-27 2007-06-26 Denso Corporation Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor
JP2010157247A (en) * 2002-08-27 2010-07-15 Qualcomm Inc Low power dual processor architecture for multi mode device
US8208972B2 (en) 2002-08-27 2012-06-26 Qualcomm Incorporated Low power dual processor architecture for multi mode devices
US8351985B2 (en) 2002-08-27 2013-01-08 Qualcomm Incorporated Low power dual processor architecture for multi mode devices

Similar Documents

Publication Publication Date Title
KR100899951B1 (en) System and method for controlling bus arbitration during cache memory burst cycles
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
JP2002140289A (en) Micro-controller dma operation with adjustable word size transfer and address array/increase
JP5400443B2 (en) Integrated circuit, debug circuit, and debug command control method
JP2003006143A (en) System, device and method of sharing bus
JPH0863354A (en) Equipment and method for execution of computer processing
US20050060455A1 (en) Arbiter having programmable arbitration points for undefined length burst accesses and method
JP2007219816A (en) Multiprocessor system
KR100395383B1 (en) Data transfer apparatus
US7240138B2 (en) Data transfer control apparatus
US11157206B2 (en) Multi-die system capable of sharing non-volatile memory
WO2014063329A1 (en) Flash sharing method, controller and system
JP2001282704A (en) Device, method and system for processing data
JP2001256205A (en) Multiprocessor system
US6915366B2 (en) Computer system with a communication bus
JP7468112B2 (en) INTERFACE CIRCUIT AND METHOD FOR CONTROLLING INTERFACE CIRCUIT - Patent application
JP2001256179A (en) Processor system
JPH11232213A (en) Data transfer system for input/output device
JP4684577B2 (en) Bus system and method for arbitrating a high-speed bandwidth system bus
JP3206585B2 (en) Bus control device, master device, slave device, and bus control method
KR100452325B1 (en) AMBA-based Multiprocessor system for processor identification number allocation and sequential booting
WO2002093392A1 (en) Data processor
JP2004013356A (en) Bus arbitration system
JP2001056793A (en) Information processor
US5799160A (en) Circuit and method for controlling bus arbitration