JP3378270B2 - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JP3378270B2
JP3378270B2 JP17112992A JP17112992A JP3378270B2 JP 3378270 B2 JP3378270 B2 JP 3378270B2 JP 17112992 A JP17112992 A JP 17112992A JP 17112992 A JP17112992 A JP 17112992A JP 3378270 B2 JP3378270 B2 JP 3378270B2
Authority
JP
Japan
Prior art keywords
register
bank
coherency
coherency control
ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17112992A
Other languages
Japanese (ja)
Other versions
JPH0619789A (en
Inventor
俊行 矢口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP17112992A priority Critical patent/JP3378270B2/en
Publication of JPH0619789A publication Critical patent/JPH0619789A/en
Application granted granted Critical
Publication of JP3378270B2 publication Critical patent/JP3378270B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、レジスタバンクをバン
クRAM上に持つマルチプロセッサシステムに関し、特
にレジスタバンクのコヒーレンシー制御を行うことがで
きるマルチプロセッサシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiprocessor system having a register bank on a bank RAM, and more particularly to a multiprocessor system capable of performing coherency control of a register bank.

【0002】[0002]

【従来の技術】近年より、レジスタバンクをバンクRA
M上に持つマルチプロセッサシステムの開発が盛んに行
われている。このマルチプロセッサシステムにおけるレ
ジスタバンクのコヒーレンシー制御方法は、キャッシュ
メモリのコヒーレンシー制御方法と同様な方法が用いら
れている。
2. Description of the Related Art Recently, register banks have been changed to bank RA.
Development of multiprocessor system on M has been actively carried out. The register bank coherency control method in this multiprocessor system is the same as the cache memory coherency control method.

【0003】キャッシュメモリのコヒーレンシー制御方
法としては、一般にライトスルーあるいはコピーバック
が使われている。
As a coherency control method for the cache memory, write-through or copy-back is generally used.

【0004】ライトスルーは、プロセッサからキャッシ
ュメモリにライト動作が行われたときに、同時に主記憶
へのライトも行うものである。一方、コピーバックは、
ライト動作時には主記憶へのライトは行わず、キャッシ
ュミスの発生により、キャッシュから追い出されるとき
に主記憶への書き込みを行うものである。
The write-through is to write to the main memory at the same time when the write operation is performed from the processor to the cache memory. On the other hand, copyback is
The main memory is not written at the time of a write operation, but is written to the main memory when being evicted from the cache due to the occurrence of a cache miss.

【0005】ライトスルーは、キャッシュメモリの内容
と主記憶の内容が常に一致しているが、キャッシュメモ
リと主記憶間のバスの使用率が高くなってしまう。逆
に、コピーバックは、キャッシュメモリと主記憶間のバ
スの使用率は低くなるが、他のキャッシュに同じデータ
が保持されているときにはそれを無効化する必要が生じ
る。
In write-through, the content of the cache memory and the content of the main memory always match, but the bus usage rate between the cache memory and the main memory becomes high. On the other hand, in copy back, the bus utilization rate between the cache memory and the main memory is low, but when the same data is held in another cache, it becomes necessary to invalidate it.

【0006】このようなキャッシュメモリのコヒーレン
シー制御方法をレジスタバンクのコヒーレンシー制御に
応用しているが、これによればレジスタファイルへの書
き込み動作が行われたときに、ライトスルーではバンク
RAMへもライトを行ってしまい、コピーバックでは無
効化の制御を行ってしまう。
Such a cache memory coherency control method is applied to register bank coherency control. According to this method, when a write operation is performed on a register file, write-through is also performed on the bank RAM. And copyback controls invalidation.

【0007】さらに、レジスタバンクを変更したときに
は、ライトスルーではバンクRAMへの退避は必要ない
が、コピーバックでは退避が必要となる。
Further, when the register bank is changed, the write-through does not require saving to the bank RAM, but the copy-back requires saving.

【0008】[0008]

【発明が解決しようとする課題】このように、従来のマ
ルチプロセッサシステムにおけるレジスタバンクのコヒ
ーレンシー制御方法では、レジスタファイルにアクセス
が行われたときに常にコヒーレンシー制御が行われてし
まう。このため、レジスタへのアクセスが頻繁であるこ
とを考慮すると、バンクRAMとのバンクバスの使用率
が高くなるという問題がある。
As described above, in the conventional register bank coherency control method in the multiprocessor system, the coherency control is always performed when the register file is accessed. Therefore, in consideration of frequent access to the registers, there is a problem that the usage rate of the bank bus with the bank RAM becomes high.

【0009】この発明は、この様な従来の事情に鑑みて
なされたものであり、その目的とするところは、バンク
RAM上のレジスタバンクをコヒーレンシー制御する際
に、バンクバスの使用率を低減させることができるマル
チプロセッサシステムを提供することにある。
The present invention has been made in view of such conventional circumstances, and an object thereof is to reduce the usage rate of a bank bus when coherency controlling a register bank on a bank RAM. It is to provide a multiprocessor system capable of performing.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するた
め、この発明は、複数のプロセッサがシステムバス及び
バンクバスを介して主記憶装置及びレジスタバンク格納
用RAMに接続されるマルチプロセッサシステムにおい
て、各プロセッサが、プロセッサ内部と前記主記憶装置
との間でのデータ転送制御を行うシステムバスインタフ
ェースと、命令レジスタと、命令デコーダと、演算実行
部と、演算データを一時的に格納するデータ格納部と、
このデータ格納部に格納されているデータが、前記レジ
スタバンク格納用RAM上のどのバンクに一致するかを
示す値を保持する第1のレジスタと、前記レジスタバン
ク格納用RAMの特定の領域を指す情報を保持する第2
のレジスタと、前記命令デコーダからのレジスタアクセ
ス情報及び前記第1のレジスタの値から、前記レジスタ
バンク格納用RAM上のアドレスを生成するアドレス生
成部と、生成されたアドレス及び前記第2のレジスタの
値から、コヒーレンシー制御が必要か否かを判断するコ
ヒーレンシー判断部と、このコヒーレンシー判断部での
判断の結果、コヒーレンシー制御が必要となった場合に
前記レジスタバンク格納用RAM上のレジスタバンクの
コヒーレンシー制御を実行するコヒーレンシー制御部と
から構成されている。
To achieve the above object, the present invention relates to a multiprocessor system in which a plurality of processors are connected to a main memory device and a register bank storage RAM via a system bus and a bank bus. Each processor has a system bus interface that controls data transfer between the inside of the processor and the main storage device, an instruction register, an instruction decoder, an operation execution unit, and a data storage unit that temporarily stores operation data. When,
A first register that holds a value indicating which bank on the register bank storage RAM the data stored in the data storage unit corresponds to, and a specific area of the register bank storage RAM Second to hold information
Of the register bank, an address generation unit that generates an address on the register bank storage RAM from the register access information from the instruction decoder and the value of the first register, and the generated address and the second register. A coherency determination unit that determines whether or not coherency control is required from the value, and a coherency control of the register bank on the register bank storage RAM when coherency control is required as a result of the determination by the coherency determination unit. And a coherency control unit for executing.

【0011】あるいはこの発明は、複数のプロセッサが
システムバス及びバンクバスを介して主記憶装置及びレ
ジスタバンク格納用RAMに接続されるマルチプロセッ
サシステムにおいて、各プロセッサが、プロセッサ内部
と前記主記憶装置との間でのデータ転送制御を行うシス
テムバスインタフェースと、命令レジスタと、命令デコ
ーダと、演算実行部と、演算データを一時的に格納する
データ格納部と、このデータ格納部の一部に格納されて
いるデータが、前記レジスタバンク格納用RAM上のど
のバンクに一致するかを示す値を保持する第1及び第2
のレジスタと、前記命令デコーダからのレジスタアクセ
ス情報及び前記第1、第2のレジスタの値から、前記レ
ジスタバンク格納用RAM上のアドレスを生成するアド
レス生成部と、前記データ格納部の特定のレジスタ番号
を保持する第3のレジスタと、前記命令デコーダからの
レジスタアクセス情報及び前記第3のレジスタの値か
ら、コヒーレンシー制御が必要か否かを判断するコヒー
レンシー判断部と、このコヒーレンシー判断部での判断
の結果、コヒーレンシー制御が必要となった場合に前記
レジスタバンク格納用RAM上のレジスタバンクのコヒ
ーレンシー制御を実行するコヒーレンシー制御部とから
構成されている。
Alternatively, in the present invention, in a multiprocessor system in which a plurality of processors are connected to a main memory device and a register bank storing RAM via a system bus and a bank bus, each processor has an internal processor and the main memory device. A system bus interface for controlling data transfer between devices, an instruction register, an instruction decoder, an operation execution section, a data storage section for temporarily storing operation data, and a part of this data storage section. Holding a value indicating which bank on the register bank storing RAM the corresponding data corresponds to
Register, an address generation unit that generates an address on the register bank storage RAM from the register access information from the instruction decoder and the values of the first and second registers, and a specific register of the data storage unit. A third register holding a number, a register access information from the instruction decoder and a value of the third register, a coherency judging unit for judging whether coherency control is necessary, and a judgment in this coherency judging unit. As a result, when the coherency control is required, the coherency control unit executes the coherency control of the register bank on the register bank storing RAM.

【0012】[0012]

【作用】上記構成により、この発明は、第1のレジスタ
が、データ格納部に格納されている演算データがレジス
タバンク格納用RAM上のどのバンクに一致するかを示
す値を保持している。また、第2のレジスタが、レジス
タバンク格納用RAMの特定の領域を指す情報を保持し
ている。アドレス生成部では、命令デコーダからのレジ
スタアクセス情報及び第1のレジスタの値から、レジス
タバンク格納用RAM上のアドレスを生成する。
According to the present invention, the first register holds the value indicating which bank on the register bank storage RAM the operation data stored in the data storage unit matches. Further, the second register holds information indicating a specific area of the register bank storage RAM. The address generation unit generates an address on the register bank storage RAM from the register access information from the instruction decoder and the value of the first register.

【0013】コヒーレンシー判断部が、アドレス生成部
で生成されたアドレス及び第2のレジスタの値から、コ
ヒーレンシー制御が必要か否かを判断する。このコヒー
レンシー判断部での判断の結果、コヒーレンシー制御が
必要となった場合、コヒーレンシー制御部がレジスタバ
ンク格納用RAM上のレジスタバンクのコヒーレンシー
制御を実行する。
The coherency determination unit determines whether or not the coherency control is necessary from the address generated by the address generation unit and the value of the second register. When coherency control is required as a result of the judgment by the coherency judgment unit, the coherency control unit executes the coherency control of the register bank on the register bank storage RAM.

【0014】あるいはこの発明は、第1及び第2のレジ
スタが、データ格納部の一部に格納されている演算デー
タがレジスタバンク格納用RAM上のどのバンクに一致
するかを示す値を保持している。また、第3のレジスタ
が、データ格納部の特定のレジスタ番号を保持してい
る。アドレス生成部では、命令デコーダからのレジスタ
アクセス情報及び第1、第2のレジスタの値から、レジ
スタバンク格納用RAM上のアドレスを生成する。
Alternatively, according to the present invention, the first and second registers hold a value indicating which bank on the register bank storage RAM the operational data stored in a part of the data storage unit matches. ing. Further, the third register holds a specific register number of the data storage section. The address generation unit generates an address on the register bank storage RAM from the register access information from the instruction decoder and the values of the first and second registers.

【0015】コヒーレンシー判断部が、命令デコーダか
らのレジスタアクセス情報及び第3のレジスタの値か
ら、コヒーレンシー制御が必要か否かを判断する。この
コヒーレンシー判断部での判断の結果、コヒーレンシー
制御が必要となった場合、コヒーレンシー制御部がレジ
スタバンク格納用RAM上のレジスタバンクのコヒーレ
ンシー制御を実行する。
The coherency determination unit determines whether or not the coherency control is necessary based on the register access information from the instruction decoder and the value of the third register. When coherency control is required as a result of the judgment by the coherency judgment unit, the coherency control unit executes the coherency control of the register bank on the register bank storage RAM.

【0016】[0016]

【実施例】以下、図面を用いて、この発明の実施例を説
明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0017】第1実施例 まず、第1実施例のマルチプロセッサシステムにおける
コヒーレンシー制御方法を説明する。
First Embodiment First, a coherency control method in the multiprocessor system of the first embodiment will be described.

【0018】図1は、第1実施例のマルチプロセッサシ
ステムの構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of the multiprocessor system of the first embodiment.

【0019】同図において、このマルチプロセッサシス
テムは、複数のCPU(プロセッサ)1a〜1nがシス
テムバス101及びバンクバス102を介して、主記憶
装置2及びバンクRAM(レジスタバンク格納用RA
M)3に接続されている。
In the figure, in this multiprocessor system, a plurality of CPUs (processors) 1a to 1n are connected via a system bus 101 and a bank bus 102 to a main memory 2 and a bank RAM (register bank storage RA).
M) 3 is connected.

【0020】各CPU1a〜1nの内部構成は全て同様
の構成であり、図にはCPU1aの内部構成のみを示
す。
The internal configurations of the CPUs 1a to 1n are all the same, and the figure shows only the internal configuration of the CPU 1a.

【0021】CPU1aは、CPU1a内部と主記憶装
置2との間でのデータ転送制御を行うSIU(システム
バスインタフェース)4と、IR(命令レジスタ)5
と、ID(命令デコーダ)6と、EXU(演算実行部)
7と、演算データを一時的に格納するREG(レジスタ
ファイル/データ格納部)8と、REG8に格納されて
いるデータが、バンクRAM3上のどのバンクに一致す
るかを示す値を保持するBP(第1のレジスタ)9と、
バンクRAM3の特定の領域を指す情報を保持するSB
P(第2のレジスタ)10と、ID6からのレジスタア
クセス情報及び前記BP9の値から、バンクRAM3上
のアドレスを生成するAG(アドレス生成部)11と、
生成されたアドレス及びSBP10の値から、コヒーレ
ンシー制御が必要か否かを判断するCJ(コヒーレンシ
ー判断部)12と、このCJ12での判断の結果、コヒ
ーレンシー制御が必要となった場合にバンクRAM3上
のレジスタバンクのコヒーレンシー制御を実行するCX
(コヒーレンシー制御部)13とから構成されている。
The CPU 1a includes an SIU (system bus interface) 4 for controlling data transfer between the inside of the CPU 1a and the main storage device 2, and an IR (instruction register) 5.
, ID (instruction decoder) 6, and EXU (operation execution unit)
7, REG (register file / data storage unit) 8 for temporarily storing operation data, and BP (which holds a value indicating which bank on the bank RAM 3 the data stored in the REG 8 matches) First register) 9 and
SB holding information indicating a specific area of the bank RAM3
A P (second register) 10, an AG (address generation unit) 11 that generates an address on the bank RAM 3 from the register access information from the ID 6 and the value of the BP 9.
Based on the generated address and the value of SBP10, a CJ (coherency determination unit) 12 that determines whether or not coherency control is required, and, as a result of the determination by this CJ12, if coherency control is required CX for coherency control of register bank
(Coherency controller) 13.

【0022】このように、第1実施例のマルチプロセッ
サシステムは構成されており、次にこのマルチプロセッ
サシステムの動作を説明する。簡単のため、CPU1a
の動作についてのみ説明する。
The multiprocessor system of the first embodiment is constructed in this way, and the operation of this multiprocessor system will be described below. CPU1a for simplicity
Only the operation of will be described.

【0023】CPU1aはレジスタバンク方式を採って
おり、REG8の内容がそれぞれBP9で指されるバン
クRAM3上の領域のデータと一致している。
The CPU 1a adopts a register bank system, and the contents of the REG 8 match the data in the area on the bank RAM 3 pointed to by BP9.

【0024】CPU1aは、主記憶装置2からSIU4
を介して命令をIR5にフェッチする。ID6は、フェ
ッチされた命令をデコードし、それがREG8をアクセ
スする命令であれば、アクセス情報をCX13及びRE
G8へ、またレジスタ番号をAG11及びREG8に送
信する。REG8では、送信された情報に従ってアクセ
スが実行される。
The CPU 1a uses the main memory 2 to the SIU 4
The instruction is fetched into IR5 via. ID6 decodes the fetched instruction, and if it is an instruction to access REG8, the access information is CX13 and RE.
The register number is transmitted to G8 and the register number is transmitted to AG11 and REG8. In REG8, access is executed according to the transmitted information.

【0025】CJ12では、生成されたバンクRAM3
のアドレス及びSBP10に予め蓄えられているバンク
RAM3の特定の領域を指すアドレス情報に基づいてコ
ヒーレンシー制御が必要か否かを判断し、その判断結果
をCX13に送信する。
In CJ12, the generated bank RAM3
It is determined whether or not the coherency control is necessary based on the address of 1 and the address information that is stored in advance in the SBP 10 and indicates a specific area of the bank RAM 3, and the determination result is transmitted to the CX 13.

【0026】CX13では、CJ12においてコヒーレ
ンシー制御が必要であると判断された場合、ID6から
送信されたレジスタアクセス情報、及びAG11から送
信されたバンクRAM3のアドレスに基づきコヒーレン
シー制御を実行する。
When the CX 12 determines that the coherency control is necessary, the CX 13 executes the coherency control based on the register access information transmitted from the ID 6 and the address of the bank RAM 3 transmitted from the AG 11.

【0027】第1実施例では、コヒーレンシー制御が必
要である否かの判断要素として、生成されたバンクアド
レスがバンクRAM3の特定領域内に含まれるか否かが
使用される。バンクRAM3に置かれるデータは、各C
PU1a〜1nで共通に使われるものと各CPU1a〜
1nで固有に使われるものが存在する。
In the first embodiment, whether or not the generated bank address is included in the specific area of the bank RAM 3 is used as a judgment element for determining whether or not the coherency control is necessary. The data stored in the bank RAM3 is C
Each of the CPUs 1a to 1n commonly used by the PUs 1a to 1n
There is something uniquely used in 1n.

【0028】従来は、各CPU1a〜1nで固有に使わ
れるデータへのアクセスの際には、各CPU1a〜1n
間でのレジスタバンクのコヒーレンシー制御が必要ない
にも拘らず、コヒーレンシー制御が実行されてしまい、
無駄なアクセスが生じていた。
Conventionally, when accessing data uniquely used by each of the CPUs 1a to 1n, each of the CPUs 1a to 1n is accessed.
Although the coherency control of the register bank between the two is not necessary, the coherency control is executed,
There was wasted access.

【0029】この発明によれば、図2に示すように、各
CPU1a〜1nで固有に使われるデータをSBP10
で指される領域の外に配置し、各CPU1a〜1nで固
有に使われるデータのみをSBP10で指される領域の
中に配置しているので、無駄なバスサイクルが発生しな
い。
According to the present invention, as shown in FIG. 2, the data uniquely used by each of the CPUs 1a to 1n is converted into SBP10.
Since it is placed outside the area pointed to by and only the data uniquely used by each CPU 1a to 1n is placed in the area pointed to by SBP10, no wasteful bus cycle occurs.

【0030】第2実施例 次に、第2実施例のマルチプロセッサシステムにおける
コヒーレンシー制御方法を説明する。
Second Embodiment Next, a coherency control method in the multiprocessor system of the second embodiment will be described.

【0031】図3は、第2実施例のマルチプロセッサシ
ステムの構成を示すブロック図である。図1と同一符号
が付されたブロックは、図1と同一機能である。
FIG. 3 is a block diagram showing the configuration of the multiprocessor system of the second embodiment. The blocks denoted by the same reference numerals as those in FIG. 1 have the same functions as those in FIG.

【0032】第1実施例と同様に、このマルチプロセッ
サシステムは、複数のCPU(プロセッサ)1a〜1n
がシステムバス101及びバンクバス102を介して、
主記憶装置2及びバンクRAM(レジスタバンク格納用
RAM)3に接続されている。
Similar to the first embodiment, this multiprocessor system has a plurality of CPUs (processors) 1a to 1n.
Via the system bus 101 and bank bus 102
It is connected to the main storage device 2 and the bank RAM (register bank storage RAM) 3.

【0033】各CPU1a〜1nの内部構成は全て同様
の構成であり、図にはCPU1aの内部構成のみを示
す。
The internal configurations of the CPUs 1a to 1n are all the same, and the figure shows only the internal configuration of the CPU 1a.

【0034】各CPU1aは、CPU1a内部と主記憶
装置2との間でのデータ転送制御を行うSIU(システ
ムバスインタフェース)4と、IR(命令レジスタ)5
と、ID(命令デコーダ)6と、EXU(演算実行部)
7と、演算データを一時的に格納するREG(レジスタ
ファイル/データ格納部)8と、このREG8の一部に
格納されているデータが、バンクRAM3上のどのバン
クに一致するかを示す値を保持するBPL(第1のレジ
スタ)14、及びBPS(第2のレジスタ)15と、I
D6からのレジスタアクセス情報及びBPL14とBP
S15の値から、バンクRAM3上のアドレスを生成す
るAG(アドレス生成部)16と、REG8の特定のレ
ジスタ番号を保持するSAR(第3のレジスタ)17
と、ID6からのレジスタアクセス情報及びSAR17
の値から、コヒーレンシー制御が必要か否かを判断する
CJ(コヒーレンシー判断部)18と、このCJ18で
の判断の結果、コヒーレンシー制御が必要となった場合
にバンクRAM3上のレジスタバンクのコヒーレンシー
制御を実行するCX(コヒーレンシー制御部)13とか
ら構成されている。
Each CPU 1a has an SIU (system bus interface) 4 for controlling data transfer between the inside of the CPU 1a and the main memory 2, and an IR (instruction register) 5
, ID (instruction decoder) 6, and EXU (operation execution unit)
7, REG (register file / data storage unit) 8 for temporarily storing operation data, and a value indicating which bank on the bank RAM 3 the data stored in a part of this REG 8 matches. BPL (first register) 14 and BPS (second register) 15 which are held, and I
Register access information from D6 and BPL14 and BP
An AG (address generation unit) 16 that generates an address on the bank RAM 3 from the value of S15 and a SAR (third register) 17 that holds a specific register number of the REG 8
And register access information from ID6 and SAR17
CJ (coherency determination unit) 18 that determines whether or not coherency control is required from the value of, and if the coherency control is required as a result of the determination in CJ 18, the coherency control of the register bank on the bank RAM 3 is performed. It is composed of a CX (coherency controller) 13 that executes.

【0035】このように、第2実施例のマルチプロセッ
サシステムは構成されており、次にこのマルチプロセッ
サシステムの動作を説明する。簡単のため、CPU1a
の動作についてのみ説明する。
The multiprocessor system of the second embodiment is constructed in this way, and the operation of this multiprocessor system will be described below. CPU1a for simplicity
Only the operation of will be described.

【0036】CPU1aはレジスタバンク方式を採って
おり、REG8の内容がそれぞれBP9で指されるバン
クRAM3上の領域のデータと一致している。
The CPU 1a adopts a register bank system, and the contents of REG8 match the data in the area on the bank RAM3 pointed to by BP9.

【0037】CPU1aは、主記憶装置2からSIU4
を介して命令をIR5にフェッチする。ID6は、フェ
ッチされた命令をデコードし、それがREG8をアクセ
スする命令であれば、アクセス情報をCX13及びRE
G8へ、またレジスタ番号をAG16、CJ18、及び
REG8に送信する。
The CPU 1a uses the main memory 2 to SIU4.
The instruction is fetched into IR5 via. ID6 decodes the fetched instruction, and if it is an instruction to access REG8, the access information is CX13 and RE.
Send register number to G8 and AG16, CJ18, and REG8.

【0038】AG16では、レジスタ番号がBPL14
で指される領域にある場合には、レジスタ番号とBPL
14でバンクRAM3のアドレスが生成され、BPS1
5で指される領域にある場合には、レジスタ番号とBP
S15でアドレスが生成される。REG8では、送信さ
れた情報に従ってアクセスが実行される。
In AG16, the register number is BPL14.
If it is in the area pointed to by, register number and BPL
The address of the bank RAM3 is generated at 14, and BPS1
If it is in the area indicated by 5, register number and BP
An address is generated in S15. In REG8, access is executed according to the transmitted information.

【0039】CJ18では、ID6から送信されたレジ
スタ番号及びSAR17に予め蓄えられているREG8
の特定の領域を指すレジスタ番号情報に基づいてコヒー
レンシー制御が必要か否かを判断し、その判断結果をC
X13に送信する。
In CJ18, the register number sent from ID6 and REG8 stored in advance in SAR17
It is determined whether coherency control is necessary based on the register number information indicating a specific area of
Send to X13.

【0040】CX13では、CJ18においてコヒーレ
ンシー制御が必要であると判断された場合、ID6から
送信されたレジスタアクセス情報及びAG11から送信
されたバンクRAM3のアドレスに基づきコヒーレンシ
ー制御を実行する。
When the CJ 18 determines that the coherency control is necessary, the CX 13 executes the coherency control based on the register access information transmitted from the ID 6 and the address of the bank RAM 3 transmitted from the AG 11.

【0041】第2実施例では、コヒーレンシー制御が必
要である否かの判断要素として、ID6からのレジスタ
番号がREG8の特定領域内に含まれるか否かが使用さ
れる。第1実施例と同様に、各CPU1a〜1nで固有
に使われるデータをSAR17で指される以外のレジス
タに配置し、各CPU1a〜1nで共通に使われるデー
タをSAR17で指されるレジスタに配置することによ
り、無駄なバスサイクルを防ぐことができる。
In the second embodiment, whether or not the register number from ID6 is included in the specific area of REG8 is used as a judgment element for determining whether coherency control is necessary. Similar to the first embodiment, the data uniquely used by the CPUs 1a to 1n are arranged in the registers other than those designated by the SAR17, and the data commonly used by the CPUs 1a to 1n are arranged in the register designated by the SAR17. By doing so, useless bus cycles can be prevented.

【0042】ここで、BPL14には、バンクRAM3
上の各CPU1a〜1nで固有に使われるデータを格納
する領域内を指すポインタを設定し、BPL15には、
共通データを格納する領域内を指すポインタを設定する
必要がある。
Here, the BPL 14 has a bank RAM 3
A pointer is set in the area for storing the data uniquely used by each of the above CPUs 1a to 1n, and the BPL 15 is set to
It is necessary to set a pointer that points to the area that stores common data.

【0043】[0043]

【発明の効果】以上のように、この発明のマルチプロセ
ッサシステムによれば、レジスタファイルにアクセスが
生じたとき、常にコヒーレンシー制御が実行されるので
はなく、必要なときにのみ実行される。これにより、バ
ンクRAMにアクセスを行う際に使用されるバンクバス
の使用率を低減させることができる
As described above, according to the multiprocessor system of the present invention, when the register file is accessed, the coherency control is not always executed, but only when necessary. As a result, the usage rate of the bank bus used when accessing the bank RAM can be reduced.

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

【図1】第1実施例のマルチプロセッサシステムの構成
を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a multiprocessor system according to a first embodiment.

【図2】図1で示したバンクRAM上のメモリマップで
ある。
FIG. 2 is a memory map on the bank RAM shown in FIG.

【図3】第2実施例のマルチプロセッサシステムの構成
を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a multiprocessor system according to a second embodiment.

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

1a〜1n CPU(プロセッサ) 2 主記憶装置 3 バンクRAM(レジスタバンク格納用RAM) 4 SIU(システムバスインタフェース) 5 IR(命令レジスタ) 6 ID(命令デコーダ) 7 EXU(演算実行部) 8 REG(レジスタファイル/データ格納部) 9 BP(第1のレジスタ) 10 SBP(第2のレジスタ) 11 AG(アドレス生成部) 12 CJ(コヒーレンシー判断部) 13 CX(コヒーレンシー制御部) 14 BPL(第1のレジスタ) 15 BPS(第2のレジスタ) 16 AG(アドレス生成部) 17 SAR(第3のレジスタ) 18 CJ(コヒーレンシー判断部) 101 システムバス 102 バンクバス 1a to 1n CPU (processor) 2 main memory 3 bank RAM (register bank storage RAM) 4 SIU (system bus interface) 5 IR (instruction register) 6 ID (instruction decoder) 7 EXU (arithmetic execution unit) 8 REG (register file / data storage) 9 BP (first register) 10 SBP (second register) 11 AG (address generator) 12 CJ (coherency judgment unit) 13 CX (coherency controller) 14 BPL (first register) 15 BPS (second register) 16 AG (address generator) 17 SAR (third register) 18 CJ (Coherency Judgment Department) 101 system bus 102 bank bus

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−266643(JP,A) 特開 平3−119447(JP,A) 特開 平4−175946(JP,A) 特開 平1−201751(JP,A) 特開 平1−263735(JP,A) 特開 平2−116951(JP,A) 特開 平3−17770(JP,A) 特開 昭63−298638(JP,A) 特開 平1−287768(JP,A) 特開 昭59−86966(JP,A) 特開 平4−373025(JP,A) 特開 平4−299440(JP,A) 特開 平4−296962(JP,A) 特開 平6−67886(JP,A) 特開 平5−210512(JP,A) 久岡他,高性能16ビットオリジナルマ イコンTLCS9000/16CPUコア,信 学技報,日本,社団法人電子情報通信学 会,1993年 4月23日,第93巻第16号, p.17−24 (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 9/34,9/38,9/46 G06F 15/16 - 15/177 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A 1-266643 (JP, A) JP-A 3-119447 (JP, A) JP-A 4-175946 (JP, A) JP-A 1- 201751 (JP, A) JP 1-263735 (JP, A) JP 2-116951 (JP, A) JP 3-17770 (JP, A) JP 63-298638 (JP, A) JP-A-1-287768 (JP, A) JP-A-59-86966 (JP, A) JP-A-4-373025 (JP, A) JP-A-4-299440 (JP, A) JP-A-4-296962 (JP, A) JP-A-6-67886 (JP, A) JP-A-5-210512 (JP, A) Hisaoka et al., High-performance 16-bit original microcomputer TLCS9000 / 16 CPU core, IEICE Tech. The Institute of Electronics, Information and Communication Engineers, April 23, 1993, Vol. 93, No. 16, p. 17-24 (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 12/08 G06F 9 / 34,9 / 38,9 / 46 G06F 15/16-15/177

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のプロセッサがシステムバス及びバ
ンクバスを介して主記憶装置及びレジスタバンク格納用
RAMに接続されるマルチプロセッサシステムにおい
て、 各プロセッサが、 プロセッサ内部と前記主記憶装置との間でのデータ転送
制御を行うシステムバスインタフェースと、命令レジス
タと、命令デコーダと、演算実行部と、 演算データを一時的に格納するデータ格納部と、 このデータ格納部に格納されているデータが、前記レジ
スタバンク格納用RAM上のどのバンクに一致するかを
示す値を保持する第1のレジスタと、 前記レジスタバンク格納用RAMの特定の領域を指す情
報を保持する第2のレジスタと、 前記命令デコーダからのレジスタアクセス情報及び前記
第1のレジスタの値から、前記レジスタバンク格納用R
AM上のアドレスを生成するアドレス生成部と、 生成されたアドレス及び前記第2のレジスタの値から、
コヒーレンシー制御が必要か否かを判断するコヒーレン
シー判断部と、 このコヒーレンシー判断部での判断の結果、コヒーレン
シー制御が必要となった場合に前記レジスタバンク格納
用RAM上のレジスタバンクのコヒーレンシー制御を実
行するコヒーレンシー制御部とから構成されることを特
徴とするマルチプロセッサシステム。
1. In a multiprocessor system in which a plurality of processors are connected to a main memory device and a register bank storage RAM via a system bus and a bank bus, each processor is connected between the inside of the processor and the main memory device. The system bus interface that controls the data transfer of, the instruction register, the instruction decoder, the operation execution unit, the data storage unit that temporarily stores the operation data, and the data stored in this data storage unit are A first register that holds a value indicating which bank on the register bank storage RAM matches; a second register that holds information indicating a specific area of the register bank storage RAM; and the instruction decoder R for storing the register bank from the register access information and the value of the first register.
An address generation unit that generates an address on AM, and the generated address and the value of the second register,
A coherency determination unit that determines whether or not coherency control is required, and executes coherency control of a register bank on the register bank storage RAM when coherency control is required as a result of the determination by the coherency determination unit. A multiprocessor system comprising a coherency controller.
【請求項2】 複数のプロセッサがシステムバス及びバ
ンクバスを介して主記憶装置及びレジスタバンク格納用
RAMに接続されるマルチプロセッサシステムにおい
て、 各プロセッサが、 プロセッサ内部と前記主記憶装置との間でのデータ転送
制御を行うシステムバスインタフェースと、命令レジス
タと、命令デコーダと、演算実行部と、 演算データを一時的に格納するデータ格納部と、 このデータ格納部の一部に格納されているデータが、前
記レジスタバンク格納用RAM上のどのバンクに一致す
るかを示す値を保持する第1及び第2のレジスタと、 前記命令デコーダからのレジスタアクセス情報及び前記
第1、第2のレジスタの値から、前記レジスタバンク格
納用RAM上のアドレスを生成するアドレス生成部と、 前記データ格納部の特定のレジスタ番号を保持する第3
のレジスタと、 前記命令デコーダからのレジスタアクセス情報及び前記
第3のレジスタの値から、コヒーレンシー制御が必要か
否かを判断するコヒーレンシー判断部と、 このコヒーレンシー判断部での判断の結果、コヒーレン
シー制御が必要となった場合に前記レジスタバンク格納
用RAM上のレジスタバンクのコヒーレンシー制御を実
行するコヒーレンシー制御部とから構成されることを特
徴とするマルチプロセッサシステム。
2. In a multiprocessor system in which a plurality of processors are connected to a main memory device and a register bank storing RAM via a system bus and a bank bus, each processor is connected between the inside of the processor and the main memory device. System bus interface that controls the data transfer of, the instruction register, the instruction decoder, the operation execution unit, the data storage unit that temporarily stores the operation data, and the data stored in a part of this data storage unit. Are the first and second registers holding a value indicating which bank on the register bank storage RAM matches, register access information from the instruction decoder and the values of the first and second registers. From an address generation unit that generates an address on the register bank storage RAM; Third to hold a specific register number
Of the register, the register access information from the instruction decoder and the value of the third register, a coherency determination unit that determines whether or not coherency control is required, and the coherency control determines whether the coherency control is performed. A multiprocessor system comprising: a coherency control unit that executes coherency control of a register bank on the RAM for storing the register bank when necessary.
JP17112992A 1992-06-29 1992-06-29 Multiprocessor system Expired - Fee Related JP3378270B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17112992A JP3378270B2 (en) 1992-06-29 1992-06-29 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17112992A JP3378270B2 (en) 1992-06-29 1992-06-29 Multiprocessor system

Publications (2)

Publication Number Publication Date
JPH0619789A JPH0619789A (en) 1994-01-28
JP3378270B2 true JP3378270B2 (en) 2003-02-17

Family

ID=15917523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17112992A Expired - Fee Related JP3378270B2 (en) 1992-06-29 1992-06-29 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP3378270B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016285A (en) * 2015-06-30 2017-01-19 キヤノン株式会社 Data control apparatus which shares buffer among plural data processing units, and control method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
久岡他,高性能16ビットオリジナルマイコンTLCS9000/16CPUコア,信学技報,日本,社団法人電子情報通信学会,1993年 4月23日,第93巻第16号,p.17−24

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016285A (en) * 2015-06-30 2017-01-19 キヤノン株式会社 Data control apparatus which shares buffer among plural data processing units, and control method

Also Published As

Publication number Publication date
JPH0619789A (en) 1994-01-28

Similar Documents

Publication Publication Date Title
US4959777A (en) Write-shared cache circuit for multiprocessor system
US5551005A (en) Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
JP3285644B2 (en) Data processor with cache memory
US6092159A (en) Implementation of configurable on-chip fast memory using the data cache RAM
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
JP3289661B2 (en) Cache memory system
US5802574A (en) Method and apparatus for quickly modifying cache state
JPH09259036A (en) Write-back cache and method for maintaining consistency in write-back cache
EP0358863A2 (en) Load/store with write-intent for write-back caches
JPH0659976A (en) Method for reloading delayed push into copy back data cache
JPH11506852A (en) Reduction of cache snooping overhead in a multi-level cache system having a large number of bus masters and a shared level 2 cache
US6748496B1 (en) Method and apparatus for providing cacheable data to a peripheral device
JPH0711793B2 (en) Microprocessor
JP3841810B2 (en) Data processor
US6345320B1 (en) DMA address buffer and cache-memory control system
JP4434534B2 (en) Processor system
US6477622B1 (en) Simplified writeback handling
JP3378270B2 (en) Multiprocessor system
US5895486A (en) Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence
JPH0532776B2 (en)
US6401173B1 (en) Method and apparatus for optimizing bcache tag performance by inferring bcache tag state from internal processor state
JPH07282023A (en) Data transfer amount variable processor and system using the same
JP3081635B2 (en) Cache memory invalidation processing apparatus and invalidation control method
JP3735373B2 (en) Microcomputer
JP2002108702A (en) Microcomputer and data processor

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071206

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081206

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091206

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091206

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101206

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees