JPH04117540A - Data processor and data processing system - Google Patents

Data processor and data processing system

Info

Publication number
JPH04117540A
JPH04117540A JP2237666A JP23766690A JPH04117540A JP H04117540 A JPH04117540 A JP H04117540A JP 2237666 A JP2237666 A JP 2237666A JP 23766690 A JP23766690 A JP 23766690A JP H04117540 A JPH04117540 A JP H04117540A
Authority
JP
Japan
Prior art keywords
data
address
processor
bank
information
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
JP2237666A
Other languages
Japanese (ja)
Inventor
Kenichi Kurosawa
黒沢 憲一
Tadaaki Bando
忠秋 坂東
Masahiro Iwamura
将弘 岩村
Takashi Hotta
多加志 堀田
Yasuhiro Nakatsuka
康弘 中塚
Seiya Tanaka
成弥 田中
Takeshi Takemoto
毅 竹本
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2237666A priority Critical patent/JPH04117540A/en
Priority to DE4129614A priority patent/DE4129614C2/en
Priority to KR1019910015611A priority patent/KR100249148B1/en
Publication of JPH04117540A publication Critical patent/JPH04117540A/en
Priority to US08/367,928 priority patent/US5784630A/en
Priority to US08/923,632 priority patent/US5968160A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve the cache hit rate by dividing a cache memory into plural banks and making each processor have an access to an address conversion buffer at one time. CONSTITUTION:When the pulse information given from a processor is stored in an address of a buffer memory 12, a physical address is generated according to the address. At the same time, only one of designated cache memories 14-i is selected based on the address information given from the processor. If the data corresponding to the physical address produced in the memory 12 is included in the selected cache memory, the data stored in this cache memory are sent to a designated processor 20-i via a data selection circuit 18-i. As a result, the cache hit rate is increased and plural processors can perform the processing operations at one time.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置およびデータ処理システムに係
り、特に、複数のプロセッサとキャッシュメモリとの間
で情報の授受を行うに好適なデータ処理装置およびデー
タ処理システムに関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a data processing device and a data processing system, and particularly to a data processing device suitable for exchanging information between a plurality of processors and a cache memory. and relating to data processing systems.

〔従来の技術〕[Conventional technology]

従来、複数のマイクロプロセッサを用いてデータの処理
を行うようにしたものとしては、例えば特開昭56−1
27261号公報に記載されているように、各プロセッ
サをバスラインを介して主メモリに接続し、各プロセッ
サにキャッシュメモリを設け、各メモリがメモリアクセ
スを行うときには、まずキャッシュメモリをアクセスし
、キャッシュメモリに指定のデータがないときにのみ主
メモリをアクセスするシステムが採用されている。
Conventionally, as a method for processing data using multiple microprocessors, for example, Japanese Patent Laid-Open No. 56-1
As described in Japanese Patent No. 27261, each processor is connected to the main memory via a bus line, and each processor is provided with a cache memory. When each memory accesses the memory, the cache memory is first accessed, and then the cache memory is accessed. A system is used that accesses main memory only when there is no specified data in memory.

このシステムによれば、各プロセッサにキャッシュメモ
リが設けられているので、高性能化が図れると共にパス
トラフィックが発生するのを抑制することができる。
According to this system, since each processor is provided with a cache memory, performance can be improved and generation of path traffic can be suppressed.

しかし、このようなシステムでは、各キャッシュメモリ
の内容を常に一致させなければならず。
However, in such a system, the contents of each cache memory must always be made consistent.

各キャッシュメモリの内容を一致させるための制御とし
て、特開昭56−127261号公報に記載されている
ように、ライトスルーキャッシュ方式が採用されている
。すなわち、主メモリへの書き込みが行われたときに、
その書き込みアドレスを各キャッシュメモリが取り込み
、同一アドレスの内容が各キャッシュメモリに入ってい
るときに無効化するようになっている。
As a control for matching the contents of each cache memory, a write-through cache method is adopted as described in Japanese Patent Application Laid-Open No. 127261/1983. That is, when writing to main memory,
Each cache memory captures the write address, and invalidates the content of the same address when it is stored in each cache memory.

ところが、このライトスルーキャッシュ方式では、主メ
モリへの書き込み頻度が高くなるため、この書き込み頻
度を低くするようにしたものとして、ライトパックキャ
ッシュ方式やライトワンス等のアルゴリズムが提案され
ている。これらの詳細は、rJames R,Good
man:USING、 CACHE MEMORYTo
 REDυCE PROCIESSOR−MEMORY
、 TRAFFIC:The 10thAnnual 
International Symposium o
n COMPUTERARCHITECTURE、 V
ol 11.No3. June13−171983.
Jに記載されている。
However, with this write-through cache method, the frequency of writing to the main memory increases, so algorithms such as the write-pack cache method and write-once have been proposed to reduce the frequency of writing. Details of these can be found in rJames R, Good
man:USING, CACHE MEMORYTo
REDυCE PROCESSOR-MEMORY
, TRAFFIC:The 10thAnnual
International Symposium o
n COMPUTERARCHITECTURE, V
ol 11. No.3. June 13-171983.
It is described in J.

(発明が解決しようとする課題〕 上記従来技術では、タスク単位の並列処理を行うシステ
ムでは好適であるが、ミクロな並列処理を行うシステム
については配慮されておらず、プロセッサ間で共有する
データが多くなると、キャッシュメモリへ書き込みする
際の無効化が頻繁に生じ、キャッシュのヒツト率が低下
するという問題がある。
(Problems to be Solved by the Invention) The above conventional technology is suitable for systems that perform parallel processing in units of tasks, but does not take into account systems that perform micro-parallel processing, and data shared between processors is not considered. When the number increases, there is a problem that invalidation occurs frequently when writing to the cache memory, and the hit rate of the cache decreases.

本発明の目的は、複数のプロセッサ間で共有データが多
くてもキャッシュのヒツト率を高めることができるデー
タ処理装置およびデータ処理システムを提供することに
ある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing device and a data processing system that can increase the cache hit rate even if there is a lot of shared data among a plurality of processors.

〔課題を解決するための手段〕[Means to solve the problem]

前記目的を達成するために、本発明は、第1の装置とし
て、アドレス情報を出力する複数のプロセッサと、少く
とも複数のリードポートを有し各プロセッサからのアド
レス情報を指定のアドレスに変換するアドレス変換バッ
ファと、データ格納エリアが複数のバンクに分割された
キャッシュメモリと、各プロセッサからのアドレス情報
により指定のバンクを選択するバンク選択手段と、バン
ク選択手段により選択されたバンク内にデータが存在す
るか否かを各プロセッサのアドレス情報とアドレス変換
バッファの出力情報に従って判定する判定手段と、判定
手段により肯定の判定結果が得られたときにバンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送するデータ選択手段とを備えているデータ処
理装置を構成したものである。
To achieve the above object, the present invention provides a first device that includes a plurality of processors that output address information and at least a plurality of read ports, and converts address information from each processor into a specified address. an address conversion buffer, a cache memory in which the data storage area is divided into a plurality of banks, a bank selection means for selecting a specified bank based on address information from each processor, and a bank selection means for storing data in the bank selected by the bank selection means. determining means for determining whether or not the data exists in the bank according to the address information of each processor and the output information of the address conversion buffer; The data processing apparatus includes data selection means for transferring data to a designated processor.

第2の装置として、アドレス情報を出方する複数のプロ
セッサと、少くとも複数のリードポートを有し各プロッ
セサからの命令用アドレス情報を指定の命令用アドレス
に変換する命令用アドレス変換バッファと、少くとも複
数のリードポートを有し各プロセッサからのデータ用ア
ドレス情報を指定のデータ用アドレスに変換するデータ
用アドレス変換バッファと、データ格納エリアが複数の
命令用バンクに分割された命令用キャッシュメモリと、
データ格納、エリアが複数のデータ用バンクに分割され
たデータ用キャッシュメモリと、各プロセッサからの命
令用アドレス情報により指定の命令用バンクを選択する
命令用バンク選択手段と、各プロセッサからのデータ用
アドレス情報により指定のデータ用バンクを選択するデ
ータ用バンク選択手段と、命令用バンク選択手段により
選択されたバンク内にデータが存在するか否かをプロセ
ッサからの命令用アドレス情報と命令用アドレス変換バ
ッファの出力情報に従って判定する命令用判定手段と、
データ用バンク選択手段により選択されたバンク内にデ
ータが存在するか否かをプロセッサからのデータ用アド
レス情報とデータ用アドレス変換バッファの出力情報に
従って判定するデータ用判定手段と、命令用判定手段に
より肯定の判定結果が得られたときに命令用バンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送する命令用データ選択手段と、データ用判定
手段により肯定の判定結果が得られたときにデータ用バ
ンク選択手段により選択されたバンク内のデータを指定
のプロセッサへ転送するデータ用データ選択手段とを備
えているデータ処理装置を構成したものである。
A second device includes a plurality of processors that output address information, and an instruction address conversion buffer that has at least a plurality of read ports and converts instruction address information from each processor into a specified instruction address; A data address conversion buffer that has at least multiple read ports and converts data address information from each processor into a designated data address, and an instruction cache memory whose data storage area is divided into multiple instruction banks. and,
A data cache memory whose data storage area is divided into a plurality of data banks, an instruction bank selection means for selecting a designated instruction bank based on instruction address information from each processor, and a data cache memory whose data storage area is divided into multiple data banks; Data bank selection means selects a specified data bank based on address information, and instruction address information and instruction address conversion from the processor determine whether data exists in the bank selected by the instruction bank selection means. instruction determining means for determining according to output information of the buffer;
A data determination means that determines whether data exists in the bank selected by the data bank selection means according to data address information from the processor and output information of the data address conversion buffer; and an instruction determination means. an instruction data selection means for transferring data in the bank selected by the instruction bank selection means to a designated processor when an affirmative judgment result is obtained; and an affirmative judgment result obtained by the data judgment means. The data processing apparatus includes data selection means for transferring data in a bank selected by the data bank selection means to a designated processor.

第1または第2の装置を含む第3の装置としてアドレス
変換バッファのアドレス変換領域は仮想ページと物理ペ
ージに分割され、キャッシュメモリのメモリ領域は物理
ページとデータに分割されており、バンク選択手段は各
プロセッサからのアドレス情報により指定のバンクの物
理ページの情報を選択する第1セレクタで構成され、判
定手段は各プロセッサからのアドレス情報とアドレス変
換バッファの仮想ページの情報とを比較してアドレス変
換が成功したか否かを判定する第1コンパレータと、第
1セレクタの出力情報とアドレス変換バッファの物理ペ
ージの情報とを比較して物理ページのデータがキャッシ
ュ内に存在するか否かを判定する第2コンパレータと、
第1コンパレータと第2コンパレータから共に肯定の判
定結果が得られたか否かを判定する第3コンパレータか
ら構成され、データ選択手段は、各プロセッサからのア
ドレス情報により指定のバンク内のデータを選択する第
2セレクタと、第3コンパレータから肯定の判定結果が
出力されたときに第2セレクタの選択によるデータを指
定のプロセッサへ転送する第3セレクタとから構成され
ているデータ処理装置を構成したものである。
As a third device including the first or second device, the address translation area of the address translation buffer is divided into virtual pages and physical pages, the memory area of the cache memory is divided into physical pages and data, and the bank selection means consists of a first selector that selects physical page information in a specified bank based on address information from each processor, and a determining means compares address information from each processor with virtual page information in the address translation buffer to select an address. A first comparator that determines whether the conversion is successful; and a first selector that compares the output information with the physical page information of the address translation buffer to determine whether or not the physical page data exists in the cache. a second comparator,
The data selection means includes a third comparator that determines whether positive determination results are obtained from both the first and second comparators, and the data selection means selects data in a designated bank based on address information from each processor. A data processing device configured of a second selector and a third selector that transfers data selected by the second selector to a designated processor when a positive determination result is output from the third comparator. be.

第1、第2または第3の装置を含む第4の装置として、
バンク選択手段は、バンクの指定が複数のプロセッサ間
で重複したときには、指定の優先順位に従ってバンクを
選択してなるデータ処理装置を構成したものである。
as a fourth device comprising the first, second or third device;
The bank selection means constitutes a data processing device that selects a bank according to the designated priority order when the designated bank is duplicated among a plurality of processors.

第1、第2.第3または第4の装置を含む第5の装置と
して、アドレス変換バッファは複数のリードポートと少
くとも1つのライトポートを備えているデータ処理装置
を構成したものである。
1st, 2nd. As a fifth device including the third or fourth device, the address translation buffer constitutes a data processing device having a plurality of read ports and at least one write port.

第5の装置を含む第6の装置として、キャッシュメモリ
の各バンクは1リードポート1ライトポートメモリで構
成されているデータ処理装置を構成したものである。
The sixth device including the fifth device constitutes a data processing device in which each bank of cache memory is configured with one read port and one write port memory.

第2の装置を含む第7の装置として、命令用アドレス変
換バッファと命令用キャッシュメモリは1リードポート
1ライトポートを備え、データ用アドレス変換バッファ
は複数のリードポートと少くとも1つのライトポートを
備えて構成されているデータ処理装置を構成したもので
ある。
As a seventh device including the second device, the instruction address translation buffer and the instruction cache memory have one read port and one write port, and the data address translation buffer has multiple read ports and at least one write port. This is a configuration of a data processing device configured with the following features.

第1〜第7の装置のうちいずれか1つの装置を含む第8
の装置として、各プロセッサは、複数の演算器と、アド
レス線とデータ線に接続された複数の命令デコーダと、
各プロセッサと情報の授受を行う複数ポートのレジスタ
ファイルと、各演算器とレジスタファイルに接続された
複数のメモリアドレスレジスタと、各演算器とレジスタ
ファイルに接続されて複数のメモリデータレジスタとか
ら構成されているデータ処理装置を構成したものである
An eighth device including any one of the first to seventh devices
As a device, each processor includes a plurality of arithmetic units, a plurality of instruction decoders connected to address lines and data lines,
Consists of multiple port register files that exchange information with each processor, multiple memory address registers connected to each computing unit and register file, and multiple memory data registers connected to each computing unit and register file. This is a configuration of a data processing device.

第1〜第8の装置のうちいずれか1つの装置を含む第9
の装置として、各構成要素が単一の半導体集積回路基板
上に実装されているデータ処理装置を構成したものであ
る。
A ninth device including any one of the first to eighth devices
This device is a data processing device in which each component is mounted on a single semiconductor integrated circuit board.

第1のシステムとして、データ処理装置と主メモリとが
アドレス線とデータ線を含むバスラインを介して接続さ
れているデータ処理システムにおいて、請求項1〜9の
うちいずれか1つの項に記載のデータ処理装置にマルチ
プレクサを設け、アドレス変換バッファと主メモリとを
マルチプレクサを介して接続し、キャッシュメモリと主
メモリとをマルチプレクサを介して接続してなるデータ
処理システムを構成したものである。
The first system is a data processing system in which a data processing device and a main memory are connected via a bus line including an address line and a data line, according to any one of claims 1 to 9. A data processing system is constructed in which a data processing device is provided with a multiplexer, an address translation buffer and a main memory are connected through the multiplexer, and a cache memory and the main memory are connected through the multiplexer.

第1のシステムを含む第2のシステムとして、データ選
択手段は、判定手段により否定の判定結果が得られたと
きに主メモリからのデータを特定のプロセッサへ転送し
てなるデータ処理システムを構成したものである。
As a second system including the first system, the data selection means configured a data processing system that transfers data from the main memory to a specific processor when a negative determination result is obtained by the determination means. It is something.

〔作用〕[Effect]

アドレス変換バッファは読み出しポートが複数ポート有
するマルチポートで構成されており、しかもキャッシュ
メモリが複数のバンクに分割されているため、各プロセ
ッサが同時にアドレス変換バッファをアクセスすること
ができると共に、異なるバンクへのアクセスが可能であ
る。このため、各プロセッサは同一バンクへのアクセス
が同時に発生しない限り、各プロセッサが互いに独立に
バンクを同時にアクセスすることができ、各プロセッサ
間で共有データが多数存在しても、キャッシュのヒツト
率を高めることができ、各プロセッサの並列処理が可能
となる。
The address translation buffer is composed of a multi-port read port with multiple read ports, and the cache memory is divided into multiple banks, so each processor can access the address translation buffer at the same time and access different banks. access is possible. Therefore, as long as each processor does not access the same bank at the same time, each processor can access banks simultaneously and independently from each other, and even if there is a lot of shared data between processors, the cache hit rate can be reduced. This enables parallel processing by each processor.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面に基づいて説明する。 Hereinafter, one embodiment of the present invention will be described based on the drawings.

第1図において、データ処理装置22は単一のLSIで
構成されており、アドレス線100とデータ線102を
含むバスラインを介して主メモリ10に接続されている
。データ処理装W22はnリード1ライトボート・アド
レス変換バッファメモリ12、データ格納エリアがm個
のバンクに分割されてキャッシュメモリを構成する1リ
ード1ライトキヤツシユメモリ14−1・・・14−n
、バンク選択回路16、データ選択回路18−1・・・
18−n、複数のプロセッサ20−1−20− nを備
えて構成されており、プロセッサ20iとアドレス変換
バッファメモリ12とバンク選択回路16とがアドレス
線104−1・・・104−nを介して接続され、キャ
ッシュメモリ14−jがデータ線1oe−jを介してバ
ンク選択回路16と接続され、バンク選択回路16とデ
ータ選択回路18−1がデータ線108−iを介して接
続され、データ選択回路18−1とプロセッサ20−1
がデータ線110−iを介して接続されている。
In FIG. 1, data processing device 22 is composed of a single LSI, and is connected to main memory 10 via a bus line including address line 100 and data line 102. The data processing unit W22 includes an n-read, one-write port/address conversion buffer memory 12, and a one-read, one-write cache memory 14-1...14-n whose data storage area is divided into m banks and constitutes a cache memory.
, bank selection circuit 16, data selection circuit 18-1...
18-n, a plurality of processors 20-1-20-n, and the processor 20i, address translation buffer memory 12, and bank selection circuit 16 are connected via address lines 104-1...104-n. The cache memory 14-j is connected to the bank selection circuit 16 via the data line 1oe-j, and the bank selection circuit 16 and the data selection circuit 18-1 are connected via the data line 108-i. Selection circuit 18-1 and processor 20-1
are connected via data line 110-i.

バンク選択回路16は各プロセッサ20iからのアドレ
ス情報により指定のキャッシュメモリ14−iを選択す
るバンク選択手段を構成すると共に、バンク選択手段に
より選択されたキャッシュメモリ14−1内にデータが
存在するか否かをプロセッサ20−1からのアドレス情
報とアドレス変換バッファメモリ12の出力情報に従っ
て判定する判定手段を構成するようになっている。また
データ選択回路18iは判定手段により肯定の判定結果
が得られたときに、バンク選択手段により選択されたキ
ャッシュメモリ14=i内のデータを指定のプロセッサ
20−1へ転送するデータ選択手段として構成されてい
る。
The bank selection circuit 16 constitutes a bank selection means that selects a designated cache memory 14-i based on address information from each processor 20i, and also determines whether data exists in the cache memory 14-1 selected by the bank selection means. A determining means is configured to determine whether or not the address conversion buffer memory 12 has received the address according to the address information from the processor 20-1 and the output information from the address translation buffer memory 12. Further, the data selection circuit 18i is configured as data selection means that transfers the data in the cache memory 14=i selected by the bank selection means to the designated processor 20-1 when the determination means obtains a positive determination result. has been done.

上記構成において、各プロセッサ20−iからアドレス
線104−iにアドレス情報が出力されると、このアド
レス情報はアドレス変換バッファメモリ12により指定
の物理アドレスに変換される。すなわちプロセッサから
のパルス情報がバッファメモリ12内に存在するときに
は、そのアドレスに対応した物理アドレスが生成される
。またプロセッサからのアドレス情報に従って指定のキ
ャッシュメモリ14−1が1つだけ選択される。
In the above configuration, when address information is output from each processor 20-i to the address line 104-i, this address information is translated into a designated physical address by the address translation buffer memory 12. That is, when pulse information from the processor exists in the buffer memory 12, a physical address corresponding to that address is generated. Also, only one designated cache memory 14-1 is selected according to address information from the processor.

そしてメモリ12で生成された物理アドレスに対応する
データが、選択されたキャッシュメモリ14−i内に存
在するときには、選択されたキャッシュメモリ14−1
内のデータがデータ選択回路18−iを介して指定のプ
ロセッサ20−1に伝送される。
When the data corresponding to the physical address generated in the memory 12 exists in the selected cache memory 14-i, the selected cache memory 14-1
The data within is transmitted to the designated processor 20-1 via the data selection circuit 18-i.

一方、メモリ12で生成された物理アドレスに対応した
データが、選択されたキャッシュメモリ14−1内に存
在しないとき、すなわち、キャッシュメモリへのアクセ
スが失敗したときには、アドレス線100を介して主メ
モリ10をアクセスし、そのデータをデータ線102を
介してキャッシュメモリ14−iに供給すると共に指定
のプロセッサ20−1へ伝送する。
On the other hand, when the data corresponding to the physical address generated in the memory 12 does not exist in the selected cache memory 14-1, that is, when access to the cache memory fails, the data is sent to the main memory via the address line 100. 10 and supplies the data to the cache memory 14-i via the data line 102 and transmits it to the designated processor 20-1.

このように1本実施例によれば、バッファメモリ12を
マルチリードポートで構成すると共にキヤツシュメモリ
を複数のバンクで構成するようにしたため、複数のプロ
セッサ20−1から同時にアクセスが行われても、各プ
ロセッサに指定のキャッシュメモリ14−iからのデー
タを転送することが可能となり、キャッシュのヒツト率
を高め、複数のプロセッサによる同時処理が可能となる
In this way, according to this embodiment, the buffer memory 12 is configured with multi-read ports, and the cache memory is configured with multiple banks, so that even if access is performed simultaneously from multiple processors 20-1, , it becomes possible to transfer data from the designated cache memory 14-i to each processor, increasing the cache hit rate and allowing simultaneous processing by a plurality of processors.

次に、バッファメモリ12として、2リード1ダイトポ
ートメモリで構成した場合の実施例を第2図により説明
する。
Next, an embodiment in which the buffer memory 12 is composed of a 2-lead 1-die port memory will be described with reference to FIG.

本実施例におけるバッファメモリはデコーダ24.26
、インバータ28、ゲート30,32゜34.36、メ
モリセル38.センスアンプ40゜42、インバータ4
4を備えて構成されており、デコーダ24.26にアド
レスA、、B、が入力され、インバータ28.44に入
力データD L n、Dいが入力され、出力データ線D
B、−1,DB。
The buffer memory in this embodiment is the decoder 24.26.
, inverter 28, gate 30, 32°34.36, memory cell 38. Sense amplifier 40°42, inverter 4
Addresses A, , B are input to decoders 24.26, input data DL n, D are input to inverters 28.44, and output data lines D
B, -1, DB.

−2からデータが出力されるようになっている。Data is output from -2.

本実施例におけるメモリは、各プロセッサからは独立し
たメモリとして機能するようになっている。すなわち、
各プロセッサがアドレスA、で指定した番号からデータ
線D1. D工を介してデータの読み出しが可能になっ
ている。具体的には、プロセッサからアドレスA0をア
クセスする場合、アドレス八〇がデコーダ24でデコー
ドされ、ゲート30.34がオンとなったとき、メモリ
セル38の内容がデータ線D1.Dいセンサアンプ42
を介して読み出される。また他のプロセッサがアドレス
B0を指定してアドレスB0がアクセスされると、この
アドレスB、がデコーダ26でデコードされ、ゲート3
2.36がオンとなると、メモリセル38の内容がデー
タ線り、、 D、、センスアンプ40を介して読み出さ
れる。
The memory in this embodiment functions as a memory independent of each processor. That is,
Each processor connects the data line D1 . Data can be read through D. Specifically, when address A0 is accessed from the processor, when address 80 is decoded by decoder 24 and gates 30.34 are turned on, the contents of memory cell 38 are transferred to data lines D1. D sensor amplifier 42
read out via Further, when another processor specifies address B0 and accesses address B0, this address B is decoded by the decoder 26 and the gate 3
When 2.36 is turned on, the contents of the memory cell 38 are read out via the data line, D, and the sense amplifier 40.

次に、書き込みの場合には、データがインバータ28.
44から入力され、各データの極性が反転した状態でデ
ータ線I)z*I)、に入力される。そして各データは
ゲート30.34を介してメモリセル38に書き込まれ
る。
Next, in the case of writing, the data is transferred to the inverter 28.
44, and the polarity of each data is inverted and input to the data line I)z*I). Each data is then written into the memory cell 38 via the gates 30 and 34.

本実施例における書き込みボートは1ボートで構成され
ているが、これは、書き込みが発生するのはアドレス変
換が失敗したときであり、このときには各プロセッサか
らのアクセスを禁止し、内容の入れ換えが終了した後に
アクセスを許可すればよいためである。
The write boat in this embodiment consists of one boat, but this is because writing occurs when address translation fails, and in this case, access from each processor is prohibited and the exchange of contents is completed. This is because you only need to allow access after doing so.

また本実施例では、書き込みボートと読み出しボートが
共有ボートとなっているため、メモリサイズの小型化に
寄与することができる。
Furthermore, in this embodiment, since the write boat and the read boat are shared ports, it is possible to contribute to miniaturization of the memory size.

次に、第3図は、アドレス変換バッファメモリとしてn
リード1ライトポートメモリを用い、キャッシュメモリ
として複数の1リード1ライトポートメモリを使用した
バンク構成のメモリを用い、プロセッサとして2台のプ
ロセッサPL、P2を用い、アドレス変換バッファメモ
リとしてメーデ用アドレス変換バッファITLB、デー
タ用アドレス変換バッファDTLBの2組を有し、キャ
ッシュを3バンクに分割し、命令用キャッシュIC,、
IC,、IC3、データ用キャッシュDC10DC,、
DC,を備え、ダイレクトマツプ方式によってデータの
授受を行うものを示す。
Next, FIG. 3 shows n as an address translation buffer memory.
A read 1 write port memory is used, a bank configuration memory using multiple 1 read 1 write port memories is used as the cache memory, 2 processors PL and P2 are used as the processors, and address translation for Mede is used as the address translation buffer memory. It has two sets of buffer ITLB and data address translation buffer DTLB, the cache is divided into three banks, and instruction cache IC,...
IC,, IC3, data cache DC10DC,,
It is equipped with a DC and sends and receives data using the direct map method.

本実施例においては、プロセッサPユ、P2が実行すべ
゛き命令のアドレスVA1.vA*を命令用アドレス変
換バッファITLBと命令用キャッシュIC1,IC,
、IC,へ出力すると、パッファ工TLBはアドレスV
A、、VA、の一部のアドレスA、、B、を入力として
、アドレス変換の成功の有無を示す信号を信号線Isユ
、Is、を介してデータ選択回路IPS1.IPS、へ
出力する。このとき同時にアドレスVA、のアドレス情
報A1とアドレスVA2のアドレス情報B1がバンクセ
レクタ回路ICBへ出力される。さらに、このときアド
レスVA、のアドレスA2とアドレスVA、のアドレス
B2もバンク選択回路ICBへ出力される。そしてバン
ク選択回路ICBはアドレスA2とB、が同一であるか
のチエツクを行い、同じであればアドレスVA、とVA
、は同一バンクへのアクセスと判断し、アドレスVA1
を優先してアドレスVA。
In this embodiment, the address VA1. of the instruction to be executed by the processors P and P2. vA* to instruction address translation buffer ITLB and instruction cache IC1, IC,
, IC,, the puffer TLB has address V
The data selection circuit IPS1.A receives the addresses A, ,B, which are some of the addresses A, ,VA, as input, and sends a signal indicating whether or not the address conversion has been successful via the signal line Is, Is. Output to IPS. At this time, address information A1 of address VA and address information B1 of address VA2 are simultaneously output to bank selector circuit ICB. Furthermore, at this time, address A2 of address VA and address B2 of address VA are also output to the bank selection circuit ICB. Then, the bank selection circuit ICB checks whether the addresses A2 and B are the same, and if they are the same, the bank selection circuit ICB checks whether the addresses A2 and B are the same.
, is determined to be an access to the same bank, and the address VA1
Address VA with priority.

のアドレスを保留する。hold the address of

一方、アドレス情報A2とB8が異なるときには、異な
るバンクへのアクセスと判断し、アドレス情報A2の値
に対応したアドレス線IC8,、IC8,。
On the other hand, when the address information A2 and B8 are different, it is determined that the access is to different banks, and the address lines IC8, IC8, corresponding to the value of the address information A2.

IC8,のいずれかのアドレス線を選択してアドレス情
報A1を供給する。このとき同様に、アドレス情報B2
についても、アドレス情報B2の値に対応するアドレス
線IC8,、IC8,、IC83のいずれかのアドレス
線にアドレス情報B1を供給する。なお、本実施例では
、キャッシュ2は3バンクに分割されているので、アド
レス情報としてはA2とB2の2ビツトで十分である。
One of the address lines of IC8 is selected and address information A1 is supplied. At this time, similarly, address information B2
, the address information B1 is also supplied to one of the address lines IC8, IC8, IC83 corresponding to the value of the address information B2. In this embodiment, the cache 2 is divided into three banks, so two bits A2 and B2 are sufficient as address information.

例えば、アドレス情報A2またはB、の値が零のときは
アドレス情報A1またはB1をアドレス線IC8,へ供
給し、1のときはアドレス線IC8,へ供給し、2のと
きにはアドレス線IC8,へ供給し、3のときにはアド
レス線工C84へ供給すればよいことになる。このよう
に、参照すべきバンクを仮想アドレスの特定ビット(A
t+Bi)を用いて決定し、アドレス情報A1またはB
よを用いてバンク内の対応するデータをデータ線lCD
1.lCD2゜lCD3へ出力することができる。
For example, when the value of address information A2 or B is zero, address information A1 or B1 is supplied to address line IC8, when it is 1, it is supplied to address line IC8, and when it is 2, it is supplied to address line IC8, However, when it is 3, it is sufficient to supply it to the address lineman C84. In this way, the bank to be referenced can be specified by a specific bit of the virtual address (A
t+Bi), and address information A1 or B
The corresponding data in the bank is transferred to the data line lCD using
1. It can be output to lCD2° lCD3.

次に、各プロセッサp、、p2に対応して設けられた命
令用データ選択回路IPS、、IPS、は信号線S、、
S、からのアドレス変換情報とアドレスVA、、VA、
からのバンク情報A2.B、に基づいてデータ線ICD
、、ICD、、lCD3のうちいずれかのデータを取り
込み、入力したデータをデータ線ID、、ID、へ出力
する。このとき、アドレス変換情報はアドレスVA、ま
たはVA2のデータがキャッシュ上に存在するかどうか
を判断するためのものであり、データがキャッシュ上に
存在しないときには、データ選択回路IPS1.IPS
2のゲートを閉じ、プロセッサPi、P、へのデータの
転送を停止する。一方、データがキャッシュ上に存在す
るときには、データ選択回路IPS、。
Next, the instruction data selection circuits IPS, IPS, provided corresponding to the respective processors p, , p2, are connected to the signal lines S, .
Address translation information from S, and address VA, , VA,
Bank information from A2. B, data line ICD based on
, , ICD, , lCD3, and outputs the input data to data lines ID, , ID. At this time, the address conversion information is for determining whether the data at address VA or VA2 exists on the cache, and if the data does not exist on the cache, the data selection circuit IPS1. IPS
2 is closed and data transfer to processors Pi and P is stopped. On the other hand, when data exists on the cache, the data selection circuit IPS.

IPS、が共にオンとなり、データ選択回路IPS、、
IPS、で選択されたデータがデータ線ID、。
IPS, are both turned on, and the data selection circuits IPS,...
The data selected by IPS is the data line ID.

ID、を介してプロセッサp1.p2へ供給される。ID, via processor p1. Supplied to p2.

これによりプロセッサP、、P2は共に並列動作するこ
とができる。
This allows processors P, , P2 to operate in parallel.

次に、データ用アドレス変換バッファメモリDTLB、
データ用キャッシュメモリDC,,DC2゜DC3の動
作について説明する。
Next, data address translation buffer memory DTLB,
The operations of the data cache memories DC, DC2 and DC3 will be explained.

まず、プロセッサp、、p、がデータ参照のためのアド
レスVA3とVA、を生成すると、アドレスVA、のア
ドレス情報A、とアドレスVA4のアドレス情報B、が
バッファDTLBへ供給され、同時に、アドレス変換さ
れた結果が信号線D S、。
First, when processors p, , p generate addresses VA3 and VA for data reference, address information A of address VA and address information B of address VA4 are supplied to buffer DTLB, and at the same time address conversion is performed. The result is the signal line DS.

DS、を介してデータ用のデータ選択回路DPS10D
PS、へ供給される。また、このとき同時にアドレスV
A、のアドレス情報A4とA、およびアドレスvA4の
アドレス情報B、とB5がデータ用のバンク選択回路D
CBへ供給される。バンク選択回路DCBはバンク選択
情報A、とB、に従ってアドレス情報A9.B、をアド
レス線DO8,〜DC83のいずれかへ供給するバンク
選択手段として構成されている。これにより、キャッシ
ュDC10DC,、DC,のいずれか2つのバンクから
データが読み出され、データ線DC,,DC,,DC,
ヘデータが出力される。この場合、アドレス情報Ast
 B、が同一である場合には、バンク競合が発生したこ
とになるため、逐次的にそのバンクへアドレス情報A、
、B4が供給されることになる。 次に、データ用デー
タ選択回路DPS、、DPS、はそれぞれ信号線DSよ
、DS、およびアドレス情報A、、B、の情報に基づい
てデータ線DCD10DCD、、DCD、からのデータ
のうちいずれかのデータをそれぞれデータ線DD、、D
D、を介してプロセッサpi、 p、へデータを転送す
る。これによりプロセッサP、、P、が共に並列動作す
ることが可能となる。
Data selection circuit DPS10D for data via DS,
PS. Also, at this time, address V
Address information A4 and A of A, and address information B of address vA4 and B5 are bank selection circuit D for data.
Supplied to CB. Bank selection circuit DCB selects address information A9 . B, is configured as a bank selection means for supplying address lines DO8 to DC83. As a result, data is read from any two banks of cache DC10DC,, DC, and data lines DC,,DC,,DC,
Data is output to the file. In this case, address information Ast
If A and B are the same, it means that a bank conflict has occurred, and address information A and A are sequentially sent to that bank.
, B4 will be supplied. Next, the data selection circuits DPS, ,DPS select one of the data from the data lines DCD10DCD, ,DCD, based on the information of the signal lines DS, DS, and address information A, ,B, respectively. Data lines DD, , D
Transfer the data to processor pi, p, via D. This allows both processors P, ,P to operate in parallel.

次に、命令用データ選択回路IPS1.IPS。Next, the instruction data selection circuit IPS1. IPS.

の具体的構成を第4図に基づいて説明する。The specific configuration will be explained based on FIG.

第4図において、命令用アドレス変換バッファメモリI
TLBは仮想ページVPNと対応する物理ページPPN
から構成されており、3つのバンクに分割されたキャッ
シュIC,、IC,、IC。
In FIG. 4, the instruction address translation buffer memory I
TLB is the physical page PPN corresponding to the virtual page VPN
It consists of a cache IC, ,IC,, ,IC, which is divided into three banks.

は物理ページPPNと対応するデータdataで構成さ
れている。そしてデータ選択回路IPSLはコンパレー
タCMPI、CMP2.CMP3、セレクタAs、、D
S□、pslを備えて構成されており、データ選択回路
IPS、はコンパレータCMP4.CMP、、CMPい
セレクタAS、、DS、。
is composed of a physical page PPN and corresponding data. The data selection circuit IPSL is connected to comparators CMPI, CMP2 . CMP3, selector As,,D
S□, psl, and the data selection circuit IPS includes comparators CMP4.S□ and psl. CMP,,CMP selector AS,,DS,.

DS8を備えて構成されている。It is configured with a DS8.

上記構成において、バッファメモリITLBにアドレス
情報A、、B0が入力されると、バッファメモリITL
Bからはアドレス変換情報ISよ。
In the above configuration, when address information A, B0 is input to the buffer memory ITLB, the buffer memory ITL
From B, it is address translation information IS.

IS、が出力される。そして、これらのアドレス情報に
従って各データ選択回路工PSI、IPS。
IS is output. Then, each data selection circuit PSI, IPS according to these address information.

が共に並列動作を実行する。すなわち1選択回路IPS
Iでは、アドレス情報IS、の一部である仮想ページV
PNの情報とアドレス情報へ〇がコンパレータCMP1
で比較され、アドレス変換が成功したか否かのチエツク
が行われる。このときキャッシュIC1,IC2,IC
3においては、バンク選択情報IC81,IC82,I
C8,を基に指定のキャッシュから物理ページPPNの
データがデータlCD1.ICD、、ICD、として出
力され、セレクタAS、、DS、・に入力される。セレ
クタDS1ではバンク選択情報A2を用いて当該バンク
の出力PPNをコンパレータCMPにも供給する。コン
パレータCMP、では、バッファメモリITLBの物理
ページPPNとセレクタAS。
perform parallel operations together. In other words, 1 selection circuit IPS
In I, the virtual page V which is part of the address information IS
To PN information and address information 〇 is comparator CMP1
It is checked whether the address translation was successful or not. At this time, cache IC1, IC2, IC
3, bank selection information IC81, IC82, I
C8, the data of the physical page PPN is transferred from the specified cache to the data lCD1.C8. It is output as ICD, , ICD, and input to selectors AS, , DS, . The selector DS1 uses the bank selection information A2 to also supply the output PPN of the bank to the comparator CMP. In the comparator CMP, the physical page PPN of the buffer memory ITLB and the selector AS.

で選択されたキャッシュの物理ページPPNのデータを
比較し、両者のデータの内容が一致するか否かを判定し
、判定結果をコンパレータCMP3へ出力するようにな
っている。すなわち、コンパレータCMP2ではアドレ
スVA□に対応するデータがキャッシュ上に存在するか
否かを判定する判定手段を構成するようになっている。
The data of the physical page PPN of the cache selected in is compared, it is determined whether the contents of both data match, and the determination result is output to the comparator CMP3. That is, the comparator CMP2 constitutes a determining means for determining whether or not data corresponding to the address VA□ exists on the cache.

次に、コンパレータCMP、では、アドレス変換とキャ
ッシュアクセスが共に成功したか否かの判定を行い、共
に成功したときにはセレクタPS1がセレクタDS1の
出力をデータ線ID、に出力し、失敗したときには主メ
モリ10からのデータをデータ線ID1へ出力する。
Next, the comparator CMP judges whether both the address translation and the cache access were successful, and when both are successful, the selector PS1 outputs the output of the selector DS1 to the data line ID, and when it is unsuccessful, the main memory Data from 10 is output to data line ID1.

一方、キャッシュIC,〜ICaのデータdataはセ
レクタDS、に入力されており、アドレス情報A2によ
りいずれかのデータが選択されてセレクタPS1に供給
される。これによりセレクタPS。
On the other hand, the data data of the cache ICs to ICa are input to the selector DS, and one of the data is selected based on the address information A2 and supplied to the selector PS1. This causes selector PS.

はアドレスVA、に対応するデータをデータ線ID□へ
供給することができる。すなわちセレクタDS、、PS
、はデータ選択手段として構成されている。
can supply data corresponding to address VA to data line ID□. That is, selectors DS,,PS
, is configured as data selection means.

また、データ選択回路IPS、においても、データ選択
回路IPS1と並行して同様の処理が行われるようにな
っている。まず、アドレス情報IS2の情報が入力され
ると、仮想ページVPNの情報とアドレス情報B0がコ
ンパレータCMP、で比較され、その比較結果がコンパ
レータCMP。
Further, similar processing is performed in the data selection circuit IPS in parallel with the data selection circuit IPS1. First, when the information of the address information IS2 is input, the information of the virtual page VPN and the address information B0 are compared by the comparator CMP, and the comparison result is sent to the comparator CMP.

へ入力される。またアドレス変換情報IS、の残りの情
報である物理ページPPNの情報はコンパレータCMP
、へ供給されている。またキャッシュICよ、 I C
2,I C,の出力である物理ページPPNの情報とデ
ータdataの情報はそれぞれセレクタAS、、DS、
へ供給されており、バンク選択情報B2により対応する
物理ページPPNとデータdataがコンパレータCM
P、とセレクタPS、に供給されている。この結果、コ
ンパレータCMP、では、物理ページPPN同士の比較
が行われ、この比較結果がコンパレータCMP、へ出力
されるようになっている。そしてコンパレータCMP6
では、アドレス変換とキャッシュ上にデータが存在する
か否かの判定を行い、この判定結果に従ってセレクタP
S2を制御するようになっている。
is input to. In addition, the information of the physical page PPN, which is the remaining information of the address translation information IS, is transferred to the comparator CMP.
, is supplied to. Cash IC again, IC
2, the information of the physical page PPN and the information of the data data, which are the outputs of IC, are sent to the selectors AS, DS, respectively.
The corresponding physical page PPN and data data are supplied to the comparator CM according to the bank selection information B2.
P, and selector PS. As a result, the comparator CMP compares the physical pages PPN with each other, and the comparison result is output to the comparator CMP. and comparator CMP6
Now, perform address translation and determine whether data exists on the cache, and selector P according to the result of this determination.
It is designed to control S2.

すなわち、コンパレータCMP、の出力がオンのときに
はセレクタDS、の出力をデータ線ID、へ出力し、オ
フのときには主メモリ10からのデータを読み込み、デ
ータ線ID、へ出力する。
That is, when the output of the comparator CMP is on, the output of the selector DS is output to the data line ID, and when it is off, data from the main memory 10 is read and output to the data line ID.

次に、データ用データ選択回路DPS1.DPS2の具
体的構成を第5図に示す。
Next, data selection circuit DPS1. The specific configuration of the DPS2 is shown in FIG.

データ選択回路DPS工はコンパレータCMP、。The data selection circuit DPS is a comparator CMP.

CMP、、CMP、、セレクタASa、DS3.PS、
を備えて構成されており、データ選択回路DPS、、コ
ンパレータCMP10、CMP1□、CMPl、、セレ
クタAs、、DS、、PS4を備えて構成されている。
CMP, , CMP, , selector ASa, DS3. P.S.
It is configured to include a data selection circuit DPS, comparators CMP10, CMP1□, CMPl, selectors As, DS, and PS4.

そしてデータ用アドレス変換バッファメモリDTLBは
仮想ページVPNと対応する物理ページPPNから構成
されている。キャッシュは3個のキャッシュDC1,D
C,,DC,に分割されており、各キャッシュDC工〜
DC3は物理ページPPNと対応するデータdataで
構成されている。
The data address translation buffer memory DTLB is composed of a virtual page VPN and a corresponding physical page PPN. The cache is 3 caches DC1, D
It is divided into C,,DC,, and each cache DC ~
DC3 is composed of physical page PPN and corresponding data data.

上記構成において、バッファメモリDTLBがアドレス
情報A、、B4を入力すると、メモリDTLBからはア
ドレス変換情報DSユ、DS2が出力される。そして、
これらのアドレス変換情報を基にデータ選択回路DPS
工、DPS2が共に並列動作を実行する。すなわち、デ
ータ選択回路DPS1では、アドレス変換情報DS1の
一部の情報である仮想ベージVPNの情報とアドレス情
報Aaの内容をコンパレータCMP、で比較し、アドレ
ス変換が成功したか否かの判定を行う、またこのときバ
ンク選択情報DO81〜DO8,に従っていずれかのキ
ャッシュから物理ベージPPNとデータdataの情報
が出力され、これらがそれぞれAs、。
In the above configuration, when the buffer memory DTLB receives the address information A, B4, the memory DTLB outputs the address translation information DS, DS2. and,
Based on these address conversion information, the data selection circuit DPS
The DPS2 and DPS2 both execute parallel operations. That is, in the data selection circuit DPS1, the comparator CMP compares the virtual page VPN information, which is part of the address translation information DS1, with the contents of the address information Aa, and determines whether or not the address translation has been successful. , At this time, information on the physical page PPN and the data data is output from one of the caches according to the bank selection information DO81 to DO8, and these are respectively As.

DS3へ入力される。そしてセレクタAS、では、バン
ク選択情報A、を用いて当該バンクの出力PPNをコン
パレータCMP、へ供給する。コンパレータCMP、で
は、バッファメモリDTLBからの情報とセレクタAS
、からの情報を比較し、各物理ページPPNの情報が一
致するか否かの判定を行う。すなわち、コンパレータC
MP、では、アドレスv3に対応するデータがキャッシ
ュ上に存在するか否かをチエツクする判定手断を構成す
るようになっている。
Input to DS3. Then, the selector AS uses the bank selection information A to supply the output PPN of the bank to the comparator CMP. Comparator CMP uses information from buffer memory DTLB and selector AS
, and determines whether the information of each physical page PPN matches. That is, comparator C
In MP, a determination procedure is configured to check whether or not data corresponding to address v3 exists on the cache.

次に、コンパレータCMP、では、コンパレータCMP
、、CMP、の出力を基に、アドレス変換とキャッシュ
アクセスが共に成功したか否かを判定し、この判定結果
をセレクタPS3へ出力する。
Next, in the comparator CMP, the comparator CMP
, , CMP, it is determined whether both address translation and cache access were successful, and this determination result is output to selector PS3.

そしてセレクタPS、は、コンパレータCMP、の判定
結果が肯定のとき、すなわちアドレス変換とキャッシュ
アクセスが共に成功したときには、セレクタDS、で選
択されたデータをデータ線DD1へ出力し、否定の判定
結果が得られたとき、すなわち、失敗時には、主メモリ
10からのデータを読み込んでデータ線DD、へ出力す
る。
Selector PS outputs the data selected by selector DS to data line DD1 when the judgment result of comparator CMP is affirmative, that is, when both address translation and cache access are successful. When the data is obtained, that is, when the data fails, the data is read from the main memory 10 and output to the data line DD.

一方、キャッシュDC,〜DC3のいずれかが選択され
たときには、いずれかのキャッシュからのデータがセレ
クタDS□に入力され、アドレス情報A、に従って指定
のデータがセレクタPS、へ供給される。これによりセ
レクタPS3はアドレスVA3に対応するデータをデー
タ線DD1へ供給することができる。
On the other hand, when one of the caches DC, -DC3 is selected, data from either cache is input to the selector DS□, and specified data is supplied to the selector PS according to the address information A. This allows selector PS3 to supply data corresponding to address VA3 to data line DD1.

また、データ選択回路DPS2においても、データ選択
回路DPS1と並行して同様の処理が行われる。まず、
アドレス変換情報DS、の一部の情報である物理ページ
VPNの情報とアドレス情報B、とをコンパレータCM
P1aで比較し、この比較結果をコンパレータCMPよ
、へ出力する。またアドレス変換情報DS、の他の情報
である物理ページPPNの情報がコンパレータCMP1
□へ入力され、セレクタAS4からの情報と比較される
Further, similar processing is performed in the data selection circuit DPS2 in parallel with the data selection circuit DPS1. first,
The comparator CM compares the physical page VPN information, which is part of the address translation information DS, with the address information B.
Comparison is made at P1a, and the comparison result is output to comparator CMP. Also, the information of the physical page PPN, which is other information of the address translation information DS, is sent to the comparator CMP1.
It is input to □ and compared with the information from selector AS4.

またキャッシュDC,〜DCaの出力であるPPNとデ
ータdataはそれぞれセレクタAS4.DS、に入力
されており、バンク選択情報B5によって対応する物理
ページPPNの情報とデータdataの情報がコンパレ
ータCMPi、に供給される。そしてコンパレータCM
P11でバッファメモリDTLBの物理ページPPNの
情報とキャッシュの物理ページPPNの情報が一致した
ことが判定されると、セレクタAS4で選択されたデー
タがコンパレータCMP1.へ供給される。コンパレー
タCM P t xでアドレス変換が成功し、キャッシ
ュ上にデータが存在することが判定されたときには、コ
ンパレータCMP1.において両者の内容が一致すると
判定され、この判定結果がセレクタPS4へ供給される
。このセレクタPS、には、セレクタDS、からのデー
タが入力されている。バンク選択情報B、に従ってキャ
ッシュDC1〜DC,のいずれかのデータdataが選
択されると、この選択されたデータがコンパレータCM
P、2がオンになったときにセレクタDS、の選択によ
るデータがデータ線DD、へ出力される。一方、コンパ
レータCMP□、がオフのときには、主メモリ1oから
アドレスVA4に対応するデータが読み込まれデータ線
DD2へ出力される。これにより各プロセッサP10P
tは並列動作が可能となる。
Further, PPN and data output from the caches DC, ~DCa are respectively input to the selector AS4. DS, and information on the corresponding physical page PPN and data data are supplied to the comparator CMPi according to the bank selection information B5. And comparator commercial
When it is determined in P11 that the information on the physical page PPN of the buffer memory DTLB matches the information on the physical page PPN of the cache, the data selected by the selector AS4 is transferred to the comparator CMP1. supplied to When the address translation is successful in the comparator CM P t x and it is determined that the data exists on the cache, the comparator CMP1 . In this step, it is determined that the contents of the two items match, and the result of this determination is supplied to the selector PS4. Data from the selector DS is input to the selector PS. When data from one of caches DC1 to DC is selected according to bank selection information B, this selected data is sent to comparator CM.
When P,2 is turned on, data selected by selector DS is output to data line DD. On the other hand, when the comparator CMP□ is off, data corresponding to the address VA4 is read from the main memory 1o and output to the data line DD2. As a result, each processor P10P
t enables parallel operation.

第6図は命令用のアドレス変換バッファとキャッシュを
含むメモリ50−1・・・50−nを1り一ド1ライト
ポートメモリで構成し、データ用のアドレス変換バッフ
ァメモリ12Aをmリード1ライトポートメモリで構成
し、データ用のキャッシュ14A−1・・・14A−m
をm個のバンクに分割し、各バンクを1リード1ライト
メモリで構成し、各メモリ50−1〜50−nをマルチ
プレクサ48に接続し、このマルチプレクサ48の出力
とバッファメモリ12Aとキャッシュメモリ14A−1
・・・14A−mをマルチプレクサ46で接続し。
In FIG. 6, memories 50-1...50-n including address translation buffers and caches for instructions are configured with one write port memory for one read and one write port, and the address translation buffer memory 12A for data is configured with m reads and 1 write. Consisting of port memory, data cache 14A-1...14A-m
is divided into m banks, each bank is configured with 1 read 1 write memory, each memory 50-1 to 50-n is connected to a multiplexer 48, and the output of this multiplexer 48, the buffer memory 12A, and the cache memory 14A are -1
...Connect 14A-m with multiplexer 46.

マルチプレクサ46を主メモリ10に接続したものであ
る。
A multiplexer 46 is connected to the main memory 10.

本実施例によれば、一般に命令用キャッシュメモリは書
き換えることが少いため、命令用キャッシュを高価なマ
ルチポートメモリで構成する必要がないので、部品コス
トの低減に寄与することができる。
According to this embodiment, since the instruction cache memory is generally rarely rewritten, there is no need to configure the instruction cache with an expensive multi-port memory, which can contribute to a reduction in component costs.

第7図は、複数のプロセッサP□・・・Pnをデータ処
理装置22に実装する場合、各プロセッサの入出力側に
マルチプレクサ54.56を配置し、各プロセッサと命
令用キャッシュメモリICとデータ用キャッシュメモリ
DCとをマルチプレクサ54.56を介して接続し、命
令用アドレス変換バッファメモリITLB、命令用キャ
ッシュメモリIC,データ用アドレス変換バッファメモ
リDTLB、データ用キャッシュメモリDCをそれぞれ
マルチプレクサ52を介して主メモリ10と接続する構
成を採用すれば、各プロセッサから各キャッシュメモリ
へのアクセスを並列して行うことができると共に、主メ
モリ10に対するアクセスをマルチ処理に従って行うこ
とができる。
FIG. 7 shows that when a plurality of processors P□...Pn are installed in the data processing device 22, multiplexers 54 and 56 are arranged on the input/output side of each processor, and each processor, an instruction cache memory IC, and a data The instruction address translation buffer memory ITLB, instruction cache memory IC, data address translation buffer memory DTLB, and data cache memory DC are connected to the main memory via multiplexers 54 and 56, respectively. If a configuration in which the processor is connected to the memory 10 is adopted, each processor can access each cache memory in parallel, and the main memory 10 can be accessed in accordance with multi-processing.

第8図にはプロセッサiの内部構成が示されている。FIG. 8 shows the internal configuration of processor i.

本実施例におけるプロセッサは、2つの命令デコーダD
EC1,DEC2,2つの演算器ALtJ、。
The processor in this embodiment includes two instruction decoders D
EC1, DEC2, two arithmetic units ALtJ.

ALU、、4出力2人カタイプのレジスタファイルRF
、第1メモリアドレスレジスタMAR,、第1メモリデ
ータレジスタMDR1、第2メモリアドレスレジスタM
AR,、第2メモリデータレジスタMDR,、レジスタ
MAR,、MAR2がそれぞれアドレス線A10、A、
1に接続され、レジスタMDR1,MDR2がそれぞれ
データ線D i II IDoに接続され、デコーダD
ECIがIBRlを介してアドレス線A10に接続され
、デコーダDEC2がIBR,を介してデータ線D11
に接続されている。
ALU, 4 output 2 person type register file RF
, first memory address register MAR, first memory data register MDR1, second memory address register M
AR,, second memory data register MDR, register MAR, and MAR2 are connected to address lines A10, A, and A, respectively.
1, registers MDR1 and MDR2 are connected to the data line D i II IDo, respectively, and the decoder D
ECI is connected to address line A10 via IBRl, and decoder DEC2 is connected to data line D11 via IBR.
It is connected to the.

本実施例におけるプロセッサは、内蔵する2つの演算器
ALtJ、、ALU、がレジスタMAR,。
The processor in this embodiment has two built-in arithmetic units ALtJ, , ALU, and registers MAR, .

MAR,を用いて独立にメモリをアクセスすることがで
きる。このため、単一のプロセッサが同時に複数の命令
を処理し、かつ複数のプロセッサが並列処理を実行する
ことができ、データの処理速度の向上に寄与することが
できる。
Memory can be accessed independently using MAR. Therefore, a single processor can process multiple instructions at the same time, and multiple processors can execute parallel processing, contributing to an improvement in data processing speed.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、アドレス変換バ
ッファメモリのリードポートをマルチポートで構成する
と共にキャッシュメモリを複数のバンクに分割し、複数
のプロセッサによるアクセスを並列に実行することがで
きるようにしたため、複数のプロセッサ間で共有データ
が多く存在する場合でも、キャッシュメモリのヒツト率
を高めることができ、複数のプロセッサによる並列処理
が可能となり、データの処理速度の向上に寄与すること
ができる。またキャッシュメモリをI U−ド1ライト
ボートメモリで構成すれば、チップサイズを小さくする
ことが可能となる。
As explained above, according to the present invention, the read port of the address translation buffer memory is configured with multiple ports, and the cache memory is divided into multiple banks, so that accesses by multiple processors can be executed in parallel. As a result, even when there is a lot of shared data between multiple processors, it is possible to increase the cache memory hit rate, enabling parallel processing by multiple processors, and contributing to improving data processing speed. . Furthermore, if the cache memory is configured with an IU-D 1 write port memory, it is possible to reduce the chip size.

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

第1図は本発明の一実施例を示すデータ処理装置の全体
構成図、第2図は2リード1ライトボートメモリの構成
図、第3図はnリード1ライトポートメモリの構成図、
第4図は命令用データ選択回路の具体的構成図、第5図
はデータ選択回路の具体的構成図、第6図はデータ用ア
ドレス変換バッファにマルチポートメモリを使用したと
きの構成図、第7図は普通のプロセッサをマルチプレク
サを介して主メモリに接続する場合の構成図、第8図は
プロセッサの具体的構成図である。 10・・・主メモリ、12・・・アドレス変換バッファ
メモリ、14−1・・・14−n・・・1リード1ライ
トキヤツシユメモリ、16・・・バンク選択回路、18
−1・・・18−n・・・データ選択回路、20−1・
・・20−n・・・プロセッサ、22・・・データ処理
装置。
FIG. 1 is an overall configuration diagram of a data processing device showing an embodiment of the present invention, FIG. 2 is a configuration diagram of a 2-read, 1-write port memory, and FIG. 3 is a configuration diagram of an n-read, 1-write port memory.
FIG. 4 is a specific configuration diagram of the instruction data selection circuit, FIG. 5 is a specific configuration diagram of the data selection circuit, FIG. 6 is a configuration diagram when a multiport memory is used as the data address translation buffer, and FIG. FIG. 7 is a block diagram showing a case where an ordinary processor is connected to the main memory via a multiplexer, and FIG. 8 is a concrete block diagram of the processor. DESCRIPTION OF SYMBOLS 10... Main memory, 12... Address translation buffer memory, 14-1... 14-n... 1 read 1 write cache memory, 16... Bank selection circuit, 18
-1...18-n...data selection circuit, 20-1...
...20-n...processor, 22...data processing device.

Claims (1)

【特許請求の範囲】 1、アドレス情報を出力する複数のプロセッサと、少く
とも複数のリードポートを有し各プロセッサからのアド
レス情報を指定のアドレスに変換するアドレス変換バッ
ファと、データ格納エリアが複数のバンクに分割された
キャッシュメモリと、各プロセッサからのアドレス情報
により指定のバンクを選択するバンク選択手段と、バン
ク選択手段により選択されたバンク内にデータが存在す
るか否かを各プロセッサのアドレス情報とアドレス変換
バッファの出力情報に従って判定する判定手段と、判定
手段により肯定の判定結果が得られたときにバンク選択
手段により選択されたバンク内のデータを指定のプロセ
ッサへ転送するデータ選択手段とを備えているデータ処
理装置。 2、アドレス情報を出力する複数のプロセッサと、少く
とも複数のリードポートを有し各プロッセサからの命令
用アドレス情報を指定の命令用アドレスに変換する命令
用アドレス変換バッファと、少くとも複数のリードポー
トを有し各プロセッサからのデータ用アドレス情報を指
定のデータ用アドレスに変換するデータ用アドレス変換
バッファと、データ格納エリアが複数の命令用バンクに
分割された命令用キャッシュメモリと、データ格納エリ
アが複数のデータ用バンクに分割されたデータ用キャッ
シュメモリと、各プロセッサからの命令用アドレス情報
により指定の命令用バンクを選択する命令用バンク選択
手段と、各プロセッサからのデータ用アドレス情報によ
り指定のデータ用バンクを選択するデータ用バンク選択
手段と、命令用バンク選択手段により選択されたバンク
内にデータが存在するか否かをプロセッサからの命令用
アドレス情報と命令用アドレス変換バッファの出力情報
に従って判定する命令用判定手段と、データ用バンク選
択手段により選択されたバンク内にデータが存在するか
否かをプロセッサからのデータ用アドレス情報とデータ
用アドレス変換バッファの出力情報に従って判定するデ
ータ用判定手段と、命令用判定手段により肯定の判定結
果が得られたときに命令用バンク選択手段により選択さ
れたバンク内のデータを指定のプロセッサへ転送する命
令用データ選択手段と、データ用判定手段により肯定の
判定結果が得られたときにデータ用バンク選択手段によ
り選択されたバンク内のデータを指定のプロセッサへ転
送するデータ用データ選択手段とを備えているデータ処
理装置。 3、アドレス変換バッファのアドレス変換領域は仮想ペ
ージと物理ページに分割され、キャッシュメモリのメモ
リ領域は物理ページとデータに分割されており、バンク
選択手段は各プロセッサからのアドレス情報により指定
のバンクの物理ページの情報を選択する第1セレクタで
構成され、判定手段は各プロセッサからのアドレス情報
とアドレス変換バッファの仮想ページの情報とを比較し
てアドレス変換が成功したか否かを判定する第1コンパ
レータと、第1セレクタの出力情報とアドレス変換バッ
ファの物理ページの情報とを比較して物理ページのデー
タがキャッシュ内に存在するか否かを判定する第2コン
パレータと、第1コンパレータと第2コンパレータから
共に肯定の判定結果が得られたか否かを判定する第3コ
ンパレータから構成され、データ選択手段は、各プロセ
ッサからのアドレス情報により指定のバンク内のデータ
を選択する第2セレクタと、第3コンパレータから肯定
の判定結果が出力されたときに第2セレクタの選択によ
るデータを指定のプロセッサへ転送する第3セレクタと
から構成されているデータ処理装置。 4、バンク選択手段は、バンクの指定が複数のプロセッ
サ間で重複したときには、指定の優先順位に従ってバン
クを選択してなる請求項1、2または3記載のデータ処
理装置。 5、アドレス変換バッファは複数のリードポートと少く
とも1つのライトポートを備えている請求項1、2、3
または4記載のデータ処理装置。 6、キャッシュメモリの各バンクは1リードポート1ラ
イトポートメモリで構成されている請求項5記載のデー
タ処理装置。 7、命令用アドレス変換バッファと命令用キャッシュメ
モリは1リードポート1ライトポートを備え、データ用
アドレス変換バッファは複数のリードポートと少くとも
1つのライトポートを備えて構成されている請求項2記
載のデータ処理装置。 8、各プロセッサは、複数の演算器と、アドレス線とデ
ータ線に接続された複数の命令デコーダと、各プロセッ
サと情報の授受を行う複数ポートのレジスタファイルと
、各演算器とレジスタファイルに接続された複数のメモ
リアドレスレジスタと、各演算器とレジスタファイルに
接続された複数のメモリデータレジスタとから構成され
ている請求項1〜7のうちいずれか1つの項に記載のデ
ータ処理装置。 9、各構成要素が単一の半導体集積回路基板上に実装さ
れている請求項1〜8のうちいずれか1つの項に記載の
データ処理装置。 10、データ処理装置と主メモリとがアドレス線とデー
タ線を含むバスラインを介して接続されているデータ処
理システムにおいて、請求項1〜9のうちいずれか1つ
の項に記載のデータ処理装置にマルチプレクサを設け、
アドレス変換バッファと主メモリとをマルチプレクサを
介して接続し、キャッシュメモリと主メモリとをマルチ
プレクサを介して接続してなるデータ処理システム。 11、データ選択手段は、判定手段により否定の判定結
果が得られたときに主メモリからのデータを特定のプロ
セッサへ転送してなる請求項10記載のデータ処理シス
テム。
[Claims] 1. A plurality of processors that output address information, an address translation buffer that has at least a plurality of read ports and that converts address information from each processor into a specified address, and a plurality of data storage areas. a cache memory divided into banks; a bank selection means for selecting a designated bank based on address information from each processor; and a bank selection means for selecting a specified bank based on address information from each processor; determining means for making a determination according to the information and the output information of the address translation buffer; and data selecting means for transmitting data in the bank selected by the bank selecting means to a designated processor when the determining means obtains a positive determination result. A data processing device equipped with. 2. A plurality of processors that output address information, an instruction address conversion buffer that has at least a plurality of read ports and converts instruction address information from each processor into a specified instruction address, and at least a plurality of read ports. A data address conversion buffer that has a port and converts data address information from each processor into a specified data address, an instruction cache memory whose data storage area is divided into multiple instruction banks, and a data storage area. is divided into a plurality of data banks; an instruction bank selection means for selecting a designated instruction bank based on instruction address information from each processor; data bank selection means for selecting a data bank, and instruction address information from the processor and output information of the instruction address conversion buffer to determine whether data exists in the bank selected by the instruction bank selection means. an instruction determination means for determining whether data exists in the bank selected by the data bank selection means according to data address information from the processor and output information of the data address conversion buffer; determination means; instruction data selection means for transferring data in the bank selected by the instruction bank selection means to a designated processor when a positive determination result is obtained by the instruction determination means; and data determination means. and data selection means for transferring data in the bank selected by the data bank selection means to a designated processor when a positive determination result is obtained. 3. The address translation area of the address translation buffer is divided into virtual pages and physical pages, the memory area of the cache memory is divided into physical pages and data, and the bank selection means selects a specified bank based on address information from each processor. The determining means includes a first selector that selects information on a physical page, and the determination means compares address information from each processor with information on a virtual page in an address translation buffer to determine whether or not address translation is successful. a comparator; a second comparator that compares output information of the first selector with physical page information of the address translation buffer to determine whether data of the physical page exists in the cache; The data selection means includes a third comparator that determines whether positive judgment results have been obtained from both the comparators, and a second selector that selects data in a designated bank based on address information from each processor; and a third selector that transfers data selected by the second selector to a designated processor when a positive determination result is output from the three comparators. 4. The data processing apparatus according to claim 1, wherein the bank selection means selects the bank according to the designated priority order when the bank designation is duplicated among a plurality of processors. 5. Claims 1, 2, and 3, wherein the address translation buffer includes a plurality of read ports and at least one write port.
or the data processing device according to 4. 6. The data processing device according to claim 5, wherein each bank of the cache memory is composed of one read port and one write port memory. 7. The instruction address translation buffer and the instruction cache memory have one read port and one write port, and the data address translation buffer has a plurality of read ports and at least one write port according to claim 2. data processing equipment. 8. Each processor has multiple arithmetic units, multiple instruction decoders connected to address lines and data lines, register files with multiple ports that exchange information with each processor, and connections between each arithmetic unit and register file. 8. The data processing device according to claim 1, comprising a plurality of memory address registers arranged in a plurality of memory address registers, and a plurality of memory data registers connected to each arithmetic unit and a register file. 9. The data processing device according to claim 1, wherein each component is mounted on a single semiconductor integrated circuit board. 10. In a data processing system in which a data processing device and a main memory are connected via a bus line including an address line and a data line, the data processing device according to any one of claims 1 to 9. Install a multiplexer,
A data processing system in which an address translation buffer and main memory are connected through a multiplexer, and a cache memory and main memory are connected through a multiplexer. 11. The data processing system according to claim 10, wherein the data selection means transfers the data from the main memory to a specific processor when a negative determination result is obtained by the determination means.
JP2237666A 1990-09-07 1990-09-07 Data processor and data processing system Pending JPH04117540A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2237666A JPH04117540A (en) 1990-09-07 1990-09-07 Data processor and data processing system
DE4129614A DE4129614C2 (en) 1990-09-07 1991-09-06 System and method for data processing
KR1019910015611A KR100249148B1 (en) 1990-09-07 1991-09-07 Data processing system and method
US08/367,928 US5784630A (en) 1990-09-07 1995-01-03 Method and apparatus for processing data in multiple modes in accordance with parallelism of program by using cache memory
US08/923,632 US5968160A (en) 1990-09-07 1997-09-04 Method and apparatus for processing data in multiple modes in accordance with parallelism of program by using cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2237666A JPH04117540A (en) 1990-09-07 1990-09-07 Data processor and data processing system

Publications (1)

Publication Number Publication Date
JPH04117540A true JPH04117540A (en) 1992-04-17

Family

ID=17018709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2237666A Pending JPH04117540A (en) 1990-09-07 1990-09-07 Data processor and data processing system

Country Status (1)

Country Link
JP (1) JPH04117540A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038647A (en) * 1995-12-06 2000-03-14 Fujitsu Limited Cache memory device and method for providing concurrent independent multiple accesses to different subsets within the device
US6292870B1 (en) 1997-08-29 2001-09-18 Fijitsu Limited Information processing system in which memory devices and copies of tags are accessed in response to access requests issued from plurality of processing units

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038647A (en) * 1995-12-06 2000-03-14 Fujitsu Limited Cache memory device and method for providing concurrent independent multiple accesses to different subsets within the device
US6292870B1 (en) 1997-08-29 2001-09-18 Fijitsu Limited Information processing system in which memory devices and copies of tags are accessed in response to access requests issued from plurality of processing units

Similar Documents

Publication Publication Date Title
US5784630A (en) Method and apparatus for processing data in multiple modes in accordance with parallelism of program by using cache memory
US5796605A (en) Extended symmetrical multiprocessor address mapping
US5953748A (en) Processor with an efficient translation lookaside buffer which uses previous address computation results
US5805839A (en) Efficient technique for implementing broadcasts on a system of hierarchical buses
US6738890B2 (en) Data processor
US5754877A (en) Extended symmetrical multiprocessor architecture
US5375215A (en) Multiprocessor system having shared memory divided into a plurality of banks with access queues corresponding to each bank
US7054985B2 (en) Multiple hardware partitions under one input/output hub
JP2005018772A (en) Multiprocessor computer system with multiple coherency regions and software migration across coherency regions without cache purges
US6446181B1 (en) System having a configurable cache/SRAM memory
JPH01280860A (en) Multiprocessor system with multiport cache memory
JP2002055879A (en) Multi-port cache memory
EP0817095A2 (en) Extended symmetrical multiprocessor architecture
GB2386441A (en) Bus interface selection by page table attributes
JPH04117540A (en) Data processor and data processing system
JP3277730B2 (en) Semiconductor memory device and information processing device using the same
US6298355B1 (en) Computer system
JP3447588B2 (en) Memory management device, method, and storage medium storing program
US5388226A (en) Method and apparatus for accessing a register in a data processing system
JPH05158793A (en) Parallel cache memory
JP2596637B2 (en) Cache control method
JPH04191945A (en) Cache memory control system
JPH0744460A (en) Snoop processing system
EP0924620A2 (en) Computer system including a bus bridge implementing adaptive speculative read operations
JPH0816477A (en) Multiprocessor system