JP2009505178A - Apparatus and method for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions - Google Patents

Apparatus and method for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions Download PDF

Info

Publication number
JP2009505178A
JP2009505178A JP2008525516A JP2008525516A JP2009505178A JP 2009505178 A JP2009505178 A JP 2009505178A JP 2008525516 A JP2008525516 A JP 2008525516A JP 2008525516 A JP2008525516 A JP 2008525516A JP 2009505178 A JP2009505178 A JP 2009505178A
Authority
JP
Japan
Prior art keywords
data
instruction execution
cache
unit
counter
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
JP2008525516A
Other languages
Japanese (ja)
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2009505178A publication Critical patent/JP2009505178A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本発明は、少なくとも2つの命令実行部と、少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えたコンピュータシステムにおいて、データ及び/または命令を格納する装置及び方法であって、切り替え手段が設けられ、少なくとも2つの駆動モード間で切り替えられており、比較手段が設けられ、第1駆動モードがコンペアモードに、第2駆動モードがパフォーマンスモードに相当する装置及び方法において、装置に第2記憶装置または記憶領域が含まれており、装置はキャシュメモリシステムとして構成され、少なくとも2つの異なるポートが備えられており、1つのポートは第1命令実行部と直接接続されており、第2ポートと少なくとも第2命令実行部のとの間に第3装置が含まれており、第3装置は、前記第2命令実行部による前記第2記憶装置または記憶領域へのアクセスが前記第3装置を経由して行われるように、構成されていることを特徴とする、少なくとも2つの命令実行部とデータ及び/または命令のための少なくとも第1記憶装置または記憶領域とを備えたコンピュータシステムにおいて、データ及び/または命令を格納する装置及び方法に関する。The present invention is an apparatus and method for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions. In the apparatus and method in which switching means is provided and switching is performed between at least two drive modes, comparison means is provided, the first drive mode corresponds to the compare mode, and the second drive mode corresponds to the performance mode. Includes a second storage device or storage area, the device is configured as a cache memory system, is provided with at least two different ports, one port is directly connected to the first instruction execution unit, A third device is included between the second port and at least the second instruction execution unit. At least two instruction execution units and data are configured such that the second instruction execution unit accesses the second storage device or storage area via the third device. And / or an apparatus and method for storing data and / or instructions in a computer system comprising at least a first storage device or storage area for instructions.

Description

本発明は、高速の緩衝記憶装置(キャッシュ)を備えたマイクロプロセッサシステムに関し、この関連において、デュアルポート・キャッシュ(dual port cache)について、及び特に、択一的に互いに独立して機能する、または同一のタスクを処理する少なくとも2つの命令実行部を備えるデータ処理システムで利用するための、デュアルポート・キャッシュの利用について記載する。   The present invention relates to a microprocessor system with a high-speed buffer storage (cache), in this regard, for dual port caches and in particular alternatively functioning independently of each other, or The use of a dual port cache for use in a data processing system comprising at least two instruction execution units that process the same task is described.

(独国特許出願公開第10332700号公報等に記載されているように)複数の命令実行部(コア、プロセッサ)が、様々な形式で、すなわち、様々な駆動モードで協働するマルチプロセッサ・アーキテクチャにおいて、少なくとも2つの異なるモードの切り替えが命令によって行われることが可能でなければならない。また、同一のタスクを処理する場合は、生成されたデータを互いに比較することが可能でなければならない。   A multiprocessor architecture in which a plurality of instruction execution units (cores, processors) cooperate in various forms, that is, in various drive modes (as described in DE 10332700). At least two different modes must be able to be switched by command. Also, when processing the same task, it must be possible to compare the generated data with each other.

プロセッサには、命令及びデータへのアクセスを加速させるために、キャッシュが設けられている。これは、データ量が常に増加し、その一方で常に高速化されて稼動するプロセッサによるデータ処理がますます複雑になっている状況においては必要不可欠である。キャッシュによって、容量が大きい(主)記憶装置へのゆっくりしたアクセスが部分的に回避され、プロセッサは、データが提供されるまで待つ必要がない。命令専用のキャッシュ、及びデータ専用のキャッシュが知られているが、データも命令も同一のキャッシュに格納されるユニファイド・キャッシュ(Unified Cache)も公知である。また、複数のレベル(階層レベル)のキャッシュを含むシステムも知られている。このような多層(構造)のキャッシュは、レベル分けされた記憶容量、及び様々な階層レベルにおけるキャッシュの様々な形式のアドレス指定ストラテジーによって、プロセッサと(主)記憶装置との間の速度を最適に調整するために組み込まれる。マルチプロセッサシステムにおいては、通常、各プロセッサに1つのキャッシュ、またはマルチレベルキャッシュ(Multi−Lebel Cache)の場合は、それに対応して複数のキャッシュが設けられている。さらに、米国特許第4345309号公報に記載されているように、様々なプロセッサによってアドレス指定可能な、(内部に)複数のキャッシュが存在するシステムが知られている。   The processor is provided with a cache to accelerate access to instructions and data. This is indispensable in situations where the amount of data is constantly increasing, while the data processing by processors that are always running at higher speeds is becoming increasingly complex. The cache partially avoids slow access to large (main) storage, and the processor does not have to wait until data is provided. An instruction-dedicated cache and a data-dedicated cache are known, but a unified cache in which data and instructions are stored in the same cache is also known. A system including a plurality of levels (hierarchical levels) of caches is also known. Such a multi-layer (structured) cache optimizes the speed between the processor and the (main) storage device by leveled storage capacity and various types of addressing strategies for the cache at various hierarchical levels. Built in to adjust. In a multiprocessor system, usually, one cache is provided for each processor, or in the case of a multi-level cache, a plurality of caches are provided corresponding thereto. Furthermore, as described in U.S. Pat. No. 4,345,309, there is known a system in which a plurality of (internal) caches that can be addressed by various processors are present.

本願を除いた上記のようなシステムにおいて、生成されたデータを比較するユニット(コンパレータ(Vergleicher))が、可能な実施形態において、キャッシュに従って配置されている。そのため、データはキャッシュから主記憶装置へのライトバック(書き戻し、Rueckschreiben)の際に始めて比較されることが可能であり、従ってデータの有効性に関する評価が遅延する可能性がある。一方、コンパレータが命令実行部とキャッシュとの間に配置される場合、命令実行部とキャッシュとの間のデータ転送が、信号の比較的高い電気的負荷によって遅くなる。   In the system as described above except for the present application, a unit (comparator (Verglericher)) for comparing generated data is arranged according to a cache in a possible embodiment. Thus, data can only be compared during a write-back from the cache to main storage, and therefore the evaluation of the validity of the data can be delayed. On the other hand, when the comparator is disposed between the instruction execution unit and the cache, data transfer between the instruction execution unit and the cache is delayed by a relatively high electrical load of the signal.

本発明の課題は、データ比較が、キャッシュへの格納とほぼ同時に、主記憶装置への応答時点に依存せずに行われることを確証することにある。その際、少なくとも1つの命令実行部とキャッシュとの間のデータ転送が、比較的高い電気的負荷によって阻止されるべきではない。   An object of the present invention is to confirm that the data comparison is performed almost simultaneously with the storage in the cache and not depending on the response time to the main memory. In doing so, data transfer between at least one instruction execution unit and the cache should not be prevented by a relatively high electrical load.

デュアルポート・キャッシュメモリ(Dual Port Cache−Speicher)の実現は、ハードウェアのコストが高いため、1つまたは複数の命令実行部(シングルコアまたはマルチコア)を備えた従来のプロセッサシステムにおいては進歩性がない。(独国特許出願公開第10332700 号広報等に記載されているように)複数の命令実行部(コア、プロセッサ)が様々な形式で、すなわち、様々な駆動モードで協働するマルチプロセッサ・アーキテクチャの場合、デュアルポート・キャッシュ・アーキテクチャは有利に投入される。複数のキャッシュを備えたマルチプロセッサシステムに対する重要な利点は、マルチプロセッサシステムの駆動モードを切り替える際に、キャッシュの内容がクリアされるか、または無効にされる必要がないことにある。すなわち、データは一度だけ格納され、従って切り替え後も(データの)整合性がある。   The implementation of dual port cache memory (Dual Port Cache-Speicher) is costly in hardware, and therefore has an inventive step in a conventional processor system having one or a plurality of instruction execution units (single core or multi-core). Absent. A multiprocessor architecture in which a plurality of instruction execution units (cores, processors) cooperate in various forms, that is, in various driving modes (as described in German Patent Application Publication No. 10332700). In some cases, a dual port cache architecture is advantageously deployed. An important advantage over a multiprocessor system with multiple caches is that the cache contents need not be cleared or invalidated when switching the drive mode of the multiprocessor system. That is, the data is stored only once and is therefore consistent (data) after switching.

従って、少なくとも1つの命令実行部について、キャッシュとの直接的な接続によって、データ速度が速いこの高速領域においてデータ転送が妨害されずに行われ、それにもかかわらず、キャッシュでのデータ格納の直後に比較が遅延なく行われる実施形態には利点があるであろう。その際、比較のためデータがリードバック(zuruecklesen)される先となるキャッシュの、第2ポートが使用される。   Therefore, for at least one instruction execution unit, data transfer is performed without interruption in this high-speed region where the data rate is high due to the direct connection with the cache. Nevertheless, immediately after the data is stored in the cache. There may be advantages to embodiments in which the comparison is performed without delay. At this time, the second port of the cache to which the data is read back for comparison is used.

複数の駆動モードを備えたマルチプロセッサシステムにおけるデュアルポート・キャッシュには、データ/命令が複数回キャッシュに呼び出されたり、また場合によっては、処理されたりする必要がない、という利点がある。さらに、このデータまたは命令が複数の命令実行部に利用されるとしても、1つの記憶セル(Speicherplatz)しか、データ/命令単位でハードウェアに基づき提供される必要がない。さらに、データは、マルチプロセッサシステムの様々な駆動モードにおいて、データがどのモードで処理されたのか、または呼び出されたのかということまで区別される必要がない。特別な利点として、キャッシュは、駆動モードの切り替えの際に、クリアされる必要がない。デュアルポート・キャッシュの場合、2つのプロセッサが、同時に同一のデータ/命令に読み出しアクセスすることが可能である。さらに、特別な利点として、「ライトスルー」(write through)モードの代わりに、「ライトバック」(write back)モードが、キャッシュのために投入される。この方法によって、(主)記憶装置は常に更新される必要がなく、キャッシュでデータが上書きされた際にはじめて更新される。その際、2つのプロセッサのためのキャッシュは、同一のソース(発生源)のデータを伝達しているので、整合性の問題は発生しない。さらに、比較は主記憶装置へのライトバック(Rueckschreiben)に依存せずに行われるので、データの比較時点も、整合性の問題に関係しない。   Dual port caches in multiprocessor systems with multiple drive modes have the advantage that data / instructions do not have to be called into the cache multiple times and possibly processed. Furthermore, even if this data or instruction is used for a plurality of instruction execution units, only one storage cell (Speicherplatz) needs to be provided based on hardware in units of data / instructions. Furthermore, the data does not need to be distinguished in which mode the data was processed or called in the various drive modes of the multiprocessor system. As a special advantage, the cache does not need to be cleared upon switching of drive modes. In a dual port cache, two processors can have read access to the same data / instruction at the same time. Further, as a special advantage, instead of the “write through” mode, a “write back” mode is introduced for the cache. With this method, the (main) storage device does not need to be constantly updated, but is updated only when data is overwritten in the cache. At this time, since the caches for the two processors transmit data of the same source (source), there is no problem of consistency. Furthermore, since the comparison is performed without depending on the write-back to the main storage device, the data comparison time is not related to the consistency problem.

非対称なデュアルポート構造の利点は、ここで本発明に基づき提案されているように、特に、少なくとも1つの命令実行部のためのキャッシュへのデータの書き込みが阻止されず、その一方、キャッシュのデータが主記憶装置に書き込まれるまで比較を待つ必要がない、という点にある。従って、キャッシュ内のブロックが、他のブロックによって置き換えられた場合(「ライトバック」モード)、データは最初にブロック単位で主記憶装置へライトバックされる(zurueckschreiben)。そのため、キャッシュと主記憶装置との間のバスにおけるデータ速度は、キャッシュ内のデータの更新ごとに主記憶装置の対応するデータも同時に変更される「ライトスルー」モードに比べて遅い。その際、更新は、ブロックごとではなく、変更されたデータのみが並行して主記憶装置に伝送される。それにもかかわらず、バスにも書き込み命令が出されるため、主記憶装置へのバス負荷が(データ転送の意味で)より大きい。   The advantage of the asymmetric dual port structure is that it does not prevent the writing of data to the cache for at least one instruction execution unit, as proposed here in accordance with the present invention, while the data in the cache There is no need to wait for the comparison until it is written to the main memory. Therefore, when a block in the cache is replaced by another block ("write back" mode), the data is first written back to the main memory in units of blocks (zurueckschriben). For this reason, the data rate on the bus between the cache and the main storage device is slower than the “write-through” mode in which the corresponding data in the main storage device is also changed at every update of the data in the cache. At that time, only the changed data is transmitted to the main storage device in parallel, not for each block. Nevertheless, since a write command is also issued to the bus, the bus load on the main memory is larger (in the sense of data transfer).

「ライトバック」モードにおいて、命令実行部は、キャッシュのデータが使用可能である限り、キャッシュとのみ協働する。そのため、命令実行部によるキャッシュへの書き込みの際には、ブロックのデータがもはや主記憶装置と一致しないことを示すダーティビット(Dirty Bit)が設定される。関与している命令実行部が共通のキャッシュと協働する限り、主記憶装置のデータは、関連するブロックがキャッシュに残っている限り更新される必要がない。さらに、命令実行部のデータの整合性が損なわれることなく、複数のデータワードが複数回変更されることも可能である。   In “write back” mode, the instruction execution unit only works with the cache as long as the data in the cache is available. Therefore, when writing to the cache by the instruction execution unit, a dirty bit (Dirty Bit) indicating that the data in the block no longer matches the main memory is set. As long as the participating instruction execution units work with a common cache, the data in main storage need not be updated as long as the associated block remains in the cache. Furthermore, it is possible to change a plurality of data words a plurality of times without impairing the data consistency of the instruction execution unit.

好ましくは、少なくとも2つの命令実行部と少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えるコンピュータシステムにおけるデータ及び/または命令を格納する装置であって、切り替え手段(Umschaltmittel)が設けられ、少なくとも2つの駆動モード間で切り替えが行われ、比較手段が設けられ、第1駆動モードがコンペアモードに、第2駆動モードがパフォーマンスモードに相当する装置において、上記装置において、第2記憶装置または記憶領域が含まれ、上記装置は、キャシュメモリシステム(Cachespeichersystem)として構成され、少なくとも2つの異なる(getrennt)ポートが備えられ、1つの(第1)ポートは第1命令実行部と直接接続され、第2ポートと少なくとも第2命令実行部のとの間に第3装置が含まれており、上記第3装置は、上記第2命令実行部による上記第2記憶装置または上記記憶領域へのアクセスが上記第3装置を経由して行われるように構成される(ausgestalten)ことを特徴としている。   Preferably, an apparatus for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions, wherein the switching means (Umsaltmitel) Is switched between at least two drive modes, a comparison unit is provided, the first drive mode corresponds to the compare mode, and the second drive mode corresponds to the performance mode. A storage device or a storage area, the device being configured as a cache memory system, comprising at least two different ports, one (first) port directly with the first instruction execution unit; Connected, A third device is included between the two ports and at least the second instruction execution unit, and the third device is configured such that the second instruction execution unit accesses the second storage device or the storage area. It is characterized by being configured to be performed via a third device.

さらに好ましくは、上記装置は、上記切り替え手段及び/または比較手段に少なくとも1つの記憶手段(Speichermittel)が設けられており、切り替えは、(複数の)記憶手段内の少なくとも1ビットによって行われることを特徴としている。   More preferably, in the apparatus, the switching means and / or the comparison means are provided with at least one storage means (Speichermitel), and the switching is performed by at least one bit in the storage means (s). It is a feature.

さらに好ましくは、上記装置は、切り替えが、少なくとも1つの、上記コンピュータシステムへの外部または内部信号によって行われることを特徴としている。   More preferably, the device is characterized in that the switching is performed by at least one external or internal signal to the computer system.

さらに好ましくは、上記装置は、上記パフォーマンスモードにおいて、直接接続された命令実行部の上記第3装置が、接続されたポートを経由する上記第2記憶装置への読出し及び書き込みアクセスを保障することを特徴としている。   More preferably, in the performance mode, the device ensures that the third device of the directly connected instruction execution unit ensures read and write access to the second storage device via the connected port. It is a feature.

さらに好ましくは、上記装置は、上記キャッシュメモリシステムに少なくとも1つのカウンタがあり、上記カウンタは、上記第1命令実行部によって、比較に関するデータが、上記キャッシュメモリシステム(dieser Speicher)の第1ポートを経由して格納される度に、増分(inkrementieren)または減分(dekrementieren)されることを特徴としている。   More preferably, the apparatus has at least one counter in the cache memory system, and the counter receives data related to the comparison by the first instruction execution unit and sends the first port of the cache memory system (dieser Speicher). Each time it is stored via, it is characterized by being incremented or decremented.

さらに好ましくは、上記装置は、上記カウンタが、対応する接続されたポートにおいて上記コンペアモードに切り替えられる際にカウンタ値を出力し、上記カウンタ値が第3ユニット(die dritte Einheit)に格納されることを特徴としている。   More preferably, the device outputs a counter value when the counter is switched to the compare mode at a corresponding connected port, and the counter value is stored in a third unit (die write Einheit). It is characterized by.

さらに好ましくは、上記装置は、第2カウンタが上記第3装置内に設けられ、上記カウンタのカウンタ値が、上記第3ユニットの上記第2カウンタを設定するために使用されることを特徴としている。   More preferably, the device is characterized in that a second counter is provided in the third device, and the counter value of the counter is used to set the second counter of the third unit. .

好ましくは、少なくとも2つの命令実行部とデータ及び/または命令のための少なくとも第1記憶装置または記憶領域とを備えたコンピュータシステムにおいてデータ及び/または命令を格納する方法であって、切り替え手段が設けられ、少なくとも2つの駆動モード間で切り替えが行われ、比較手段が設けられ、第1駆動モードがコンペアモードに、第2駆動モードがパフォーマンスモードに相当する方法において、第2記憶装置または記憶領域が設けられ、上記第2記憶装置または記憶領域はキャッシュメモリシステムに含まれ、少なくとも2つの異なるポートが備えられており、第1命令実行部は第1ポートを経由して上記第2記憶装置または記憶領域に直接アクセスし、第2命令実行部は第3装置を経由して上記第2記憶装置または記憶領域へアクセスすることを特徴としている。   Preferably, a method for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions, the switching means being provided In the method in which switching is performed between at least two drive modes, a comparison unit is provided, the first drive mode corresponds to the compare mode, and the second drive mode corresponds to the performance mode, the second storage device or the storage area is The second storage device or storage area is included in the cache memory system, and is provided with at least two different ports. The first instruction execution unit is connected to the second storage device or storage via the first port. The second instruction execution unit directly accesses the area, and the second instruction execution unit passes the third device to It is characterized in that access to the 憶領 area.

好ましくは、上記方法は、上記第3装置が記憶手段を含み、上記記憶手段において、接続された命令実行部のデータ及び/または信号が格納されることが可能であり、第3ユニットが、上記接続された命令実行部の状態に依存せずに、データを上記第2記憶装置または記憶手段と交換できることを特徴としている。   Preferably, in the method, the third device includes a storage unit, in which data and / or a signal of a connected instruction execution unit can be stored, and a third unit includes the storage unit It is characterized in that data can be exchanged with the second storage device or the storage means without depending on the state of the connected instruction execution unit.

好ましくは、上記方法は、上記第3装置が、データ及び/またはアドレス及び/または制御信号を第2命令実行部(Verarbeitungseinrichtung)から獲得し(erhalten)、次いで上記第2記憶装置または記憶領域の対応するデータに読出しまたは書き込みアクセスすることを特徴としている。   Preferably, in the method, the third device acquires data and / or an address and / or a control signal from a second instruction execution unit, and then corresponds to the second storage device or the storage area. It is characterized by reading or writing access to data to be read.

好ましくは、上記方法は、上記キャッシュメモリシステムが、データの存在(Vorhandensein)について決定し、データが存在しない場合に信号を上記第3装置に送信することを特徴としている。   Preferably, the method is characterized in that the cache memory system determines the presence of data and sends a signal to the third device when there is no data.

好ましくは、上記方法は、上記第3ユニット内のデータ及び/または命令の有効性が検査され、有効な場合に次に伝送されることを特徴としている。   Preferably, the method is characterized in that the validity of the data and / or instructions in the third unit is checked and then transmitted if valid.

好ましくは、上記方法は、有効性が、データ及び/または命令と共に格納された追加情報に基づいて検査されることを特徴としている。   Preferably, the method is characterized in that validity is checked on the basis of additional information stored with the data and / or instructions.

好ましくは、上記方法は、上記コンペアモードへの切り替えと共に、同期信号が関連する命令実行部に発信されることを特徴としている。   Preferably, the method is characterized in that, together with switching to the compare mode, a synchronization signal is transmitted to an associated instruction execution unit.

好ましくは、上記方法は、比較を行い、比較されるデータが不一致(Abweichung)の際に、エラーが信号で通知されることを特徴としている。   Preferably, the method is characterized in that a comparison is made and an error is signaled when the data being compared does not match (Abweching).

好ましくは、上記方法は、多数決判定(Voting)を行い、多数決判定されるデータの少なくとも1つのデータが不一致の際に、状態及び/またはエラーが信号で通知されることを特徴としている。   Preferably, the method is characterized in that a majority decision (voting) is performed, and a status and / or error is notified by a signal when at least one data of majority decision data does not match.

好ましくは、上記方法は、上記キャッシュメモリシステム内にカウンタが設けられ、上記カウンタが、対応する接続されたポートにおいて上記コンペアもモードに切り替えられる際にカウンタ値を出力し、上記カウンタ値が上記第3ユニットに格納されることを特徴としている。   Preferably, in the method, a counter is provided in the cache memory system, and the counter outputs a counter value when the compare is also switched to a mode at a corresponding connected port. It is characterized by being stored in 3 units.

好ましくは、上記方法は、第2カウンタが上記第3装置内に設けられ、上記カウンタのカウンタ値が、上記第3ユニットの第2カウンタを設定するために利用されることを特徴としている。   Preferably, the method is characterized in that a second counter is provided in the third device and the counter value of the counter is used to set the second counter of the third unit.

好ましくは、上記方法は、上記キャッシュメモリシステムに設けられているカウンタが、1つのポートに割り当てられ、各ポートに接続された処理装置において上記コンペアモードが起動される際に、固定値に設定されることを特徴としている。   Preferably, in the above method, a counter provided in the cache memory system is assigned to one port, and is set to a fixed value when the compare mode is activated in a processing device connected to each port. It is characterized by that.

本発明の更なる別の利点や有利な実施形態は、特許請求の範囲に記載の請求項の構成要件及び明細書から明らかとなるであろう。   Further advantages and advantageous embodiments of the invention will become apparent from the appended claims and the description in the appended claims.

以下、プロセッサ、コア、CPU、FPU(浮動小数点演算装置)(Floating Point Unit)、DSP(デジタルシグナルプロセッサ)(Digitaler Singalprozessor)、コアプロセッサ、ALU(演算論理装置)(Arithmetic Logical Unit)を命令実行部と総称する。   Hereinafter, a processor, a core, a CPU, an FPU (floating point arithmetic unit) (Floating Point Unit), a DSP (digital signal processor) (Digital Signal Processor), a core processor, an ALU (arithmetic logic unit) (Arithmetic Logical Unit) are executed by instructions. Collectively.

図1に基づくデュアルポート・キャッシュ200は、その本質的な部分がデュアルポートRAM(dpRAM230)で構成されている。このdpRAM230は、特に、2つの互いに独立したアドレスデコーダ(Adressdecoder)と、2つのデータ書き込み/読み出しステップと、単一の記憶セルマトリックス(Speicherzellen−Matrix)とは違って二重化されたワード及びビット線(Wort−und Bitleitung)とが設けられている。従って、少なくとも、dpRAMの任意の記憶セル(Speicherzelle)のための読み出しプロセスが、2つのポートから同時に行われる。(しかし語義に従えば、すべてのアクセス構成要素が二重化されておらず、従ってdpRAMが、同時に2つのポートを介してのみ、アクセス可能である場合、配列(Anordnung)もこれに該当する。)従って、デュアルポートRAMは、2つのポート231及び232を備えたすべてのRAMとして理解される。その際、2つのポート231及び232は、読み出しまたは書き込みのための構成の実行のために、このポートがどのくらい時間を必要とするか、すなわち、要求された読み出しまたは書き込みプロセスが、場合によっては構成との相互作用で他方のポートによって終了されるまで、どのくらい時間が掛かるかということが考慮されることなく、互いに独立して使用される。dpRAMの2つのポートは、信号201または202を介して、装置210または220と接続されている。装置210または220は、独立した命令実行部215及び225からアクセスしてくるアドレス、データ及び制御信号211または221の検査を実行し、任意にアドレスを変換する。データは、読み出しの際ポートに従って、信号201を介して、装置210によって制御信号211に出力される、もしくは信号202を介して、装置220によって制御信号221に出力される、または、それぞれ逆方向に、命令実行部からキャシュメモリへ書き込まれる。dpRAMの2つのポートは、信号201及び202を介して、信号241と接続されたバスアクセス制御240と接続されている。信号241は、ここでは図示されていない(主)記憶装置への接続、または次ステップのキャッシュへの接続を形成している。   The essential part of the dual port cache 200 based on FIG. 1 is a dual port RAM (dpRAM 230). The dpRAM 230 has two word and bit lines (duplicated), unlike two memory decoders (Address decoder), two data write / read steps, and a single memory cell matrix (Speicherzel-Matrix). (Wort-und Bittleunting). Therefore, at least a read process for any storage cell (Speicherzel) of dpRAM is performed simultaneously from the two ports. (However, according to the semantics, if all access components are not duplicated, so dpRAM can only be accessed through two ports at the same time, this also applies to Anordungung.) Dual port RAM is understood as all RAM with two ports 231 and 232. In doing so, the two ports 231 and 232 determine how long this port needs to perform the configuration for reading or writing, i.e. the requested reading or writing process is possibly configured. Are used independently of each other without regard to how long it takes for the interaction to be terminated by the other port. The two ports of dpRAM are connected to the device 210 or 220 via a signal 201 or 202. The device 210 or 220 executes an inspection of the address, data, and control signal 211 or 221 accessed from the independent instruction execution units 215 and 225, and arbitrarily converts the address. The data is output to the control signal 211 by the device 210 via the signal 201 or output to the control signal 221 by the device 220 via the signal 202 according to the port at the time of reading, or in the opposite direction, respectively. , Written from the instruction execution unit to the cache memory. The two ports of dpRAM are connected to a bus access control 240 connected to a signal 241 via signals 201 and 202. The signal 241 forms a connection to a (main) storage device not shown here, or a connection to the next step cache.

図2には、ユニット210、220及び250が詳細に示されている。デュアルポート・キャッシュへのアクセスの際に、信号211及び221に含まれる、命令実行部215及び225のアドレス212及び222が、装置250のアドレスコンパレータ251において互いに比較され、同様に信号211及び221で伝達された制御信号と共に、整合性(Vertraeglichkeit)が検査される。衝突(Konflikte)の際は、信号213または223に含まれる制御信号を利用して、デュアルポートRAM230へのアクセスが阻止される。このような衝突として、2つの命令実行部が同一のアドレスに書き込もうとしている、または、他方の命令実行部が同一のアドレスから読み出そうとしている間に、一方の命令実行部が同一のアドレスに書き込もうとするケースが挙げられるであろう。   In FIG. 2, the units 210, 220 and 250 are shown in detail. When accessing the dual port cache, the addresses 212 and 222 of the instruction execution units 215 and 225 included in the signals 211 and 221 are compared with each other in the address comparator 251 of the device 250, and the signals 211 and 221 are also used. Along with the transmitted control signal, the consistency is checked. In the case of a collision, access to the dual port RAM 230 is blocked using a control signal included in the signal 213 or 223. As such a collision, two instruction execution units are trying to write to the same address, or one instruction execution unit is reading the same address while the other instruction execution unit is trying to read from the same address There may be cases where you are trying to write to.

キャッシュは、部分的にまたは完全に連想的に実現されることが可能である。すなわちデータは、キャッシュの複数のまたは全く任意の箇所に格納されることが可能である。さらに、dpRAMへのアクセスを可能にするため、所望のデータ/命令にアクセスする際のアドレスが求められなければならない。アドレス指定モードに従って、キャッシュ内のデータの検索先となる、1つまたは複数のブロックアドレスが選択される。これらブロックはすべて読み出され、キャッシュ内のデータと一緒に格納された識別子が、インデックスアドレス(オリジナルアドレスの構成要素)と比較される。一致の際は、同様にキャッシュ内の各ブロックに格納された制御ビット(有効ビット(Valid−Bit)、ダーティビット及びプロセスID等)を利用して有効性が追加的に検査された後に、有効性を示すキャッシュヒット信号(Cache Hit Signal)が生成される。   Caching can be implemented partially or fully associatively. That is, data can be stored in multiple or entirely arbitrary locations in the cache. Furthermore, in order to enable access to dpRAM, an address for accessing the desired data / instruction must be determined. According to the addressing mode, one or a plurality of block addresses to be searched for data in the cache are selected. All these blocks are read and the identifier stored with the data in the cache is compared with the index address (the component of the original address). In the case of a match, the validity is also checked after the validity is additionally checked using the control bits (valid bit, valid bit, process ID, etc.) stored in each block in the cache. A cache hit signal indicating the sex is generated.

アドレス変換のため、特に、テーブル(Tabelle)が導入される。テーブルは、図2に示される記憶ユニット214または224(レジスタまたはRAM、TAG−RAMとも呼ばれる)に配置され、ユニット210または220内に設けられている。このテーブルは、アドレス変換ユニット(Adresstransformationseinheit)であり、仮想アドレスを物理アドレスに変換するだけではなく、ダイレクトマップ・キャッシュ(direct−mapped Cache)の場合は、正確な(一義的な)キャッシュ・アクセスアドレスを伝達する。すなわち、複数の連想キャッシュ構造の際には、複数のブロックが呼び出される。また、完全な連想キャッシュの場合、キャッシュの全ブロックが読み出され、比較されなければならない。このようなアドレス変換ユニットは、例えば米国特許第4669043号公報に記載されている。   In particular, a table (Table) is introduced for address conversion. The table is arranged in the storage unit 214 or 224 (register or RAM, also referred to as TAG-RAM) shown in FIG. This table is an address translation unit, which not only translates virtual addresses into physical addresses, but in the case of a direct-mapped cache, it is an accurate (unique) cache access address. To communicate. That is, in the case of a plurality of associative cache structures, a plurality of blocks are called. Also, for a complete associative cache, all blocks of the cache must be read and compared. Such an address conversion unit is described in, for example, US Pat. No. 4,669,043.

例えば、上記のテーブルでは、ブロックの各アドレスまたはアドレスグループと、dpRAMのアクセスアドレスとが対応している。図3に示されるアドレス指定形式において、さらに、キャッシュのブロック容量に応じて、最上位のアドレスビット(インデックスアドレス)が、テーブルのアドレスとして使用され、その内容はdpRAMのアクセスアドレスである(図3)。その際、キャッシュのアドレスが読み出しアクセスされる場合、キャッシュミス(Cache Miss)(キャッシュに必要なデータが無いこと)の際にメモリから一緒にキャッシュへ呼び出される複数のバイトを、ブロック(Block)と呼ぶ。このようなブロック転送は、複数の構成要素でのハードウェアの実現に従って、時間的に連続して行われるか、または並行して実行される。   For example, in the above table, each block address or address group corresponds to an access address of dpRAM. In the addressing format shown in FIG. 3, the most significant address bit (index address) is used as a table address according to the block capacity of the cache, and the contents thereof are the access address of dpRAM (FIG. 3). ). At this time, when the cache address is read-accessed, a plurality of bytes that are called from the memory to the cache at the time of a cache miss (there is no data necessary for the cache) are designated as a block (Block). Call. Such block transfers are performed either sequentially in time or in parallel, depending on the hardware implementation with multiple components.

バイトまたはワード単位でのキャッシュへのアクセスのために、ブロックのための最上位のアドレスビットがテーブルによって変換され、残りの(下位の)アドレスビットは変更されずに引き継がれる。   For access to the cache in bytes or words, the most significant address bits for the block are translated by the table, and the remaining (lower) address bits are carried on unchanged.

書き込みプロセスのため、例えば、2つのポートの1つに、より高いプライオリティが与えられる。すなわち、同時に2つのポートによって書き込まれることが阻止される。優先順位が高いポートが書き込み動作を実行してはじめて、他方のポートは書き込んでもよい。場合によっては、1つのプロセッサだけが、対応する割り当てられたメモリ領域の書き込み(アクセス)権を持つ。同様に、記憶セルへの任意の書き込み動作の際に、同一の記憶セルがその都度他方のポートから読み出されることが阻止される。または、読み出しを要求するプロセッサが書き込み動作の終了まで停止されることによって、読み出し動作が遅延される。さらに、図2に示される全アドレスビットのアドレスコンパレータ(251)は、対応するアービタ(Arbiter)252を備えている。アービタ252は、プロセッサの制御信号も評価し、この書き込みプロセスを制御する出力信号213及び223を形成する。出力信号213及び223は、有利な実施形態において、その都度3つの信号状態、すなわち、選択(Select)、待機(wait)及びイコール(equal)の状態になることが可能である。純粋な命令キャッシュのために、書き込みアクセスは必要ではない。すなわち、この場合、出力信号213及び223の信号状態が「イコール」であれば十分である。   For the writing process, for example, one of the two ports is given higher priority. That is, writing by two ports at the same time is prevented. The other port may write only after the port with the higher priority performs the write operation. In some cases, only one processor has write (access) rights to the corresponding allocated memory area. Similarly, during any write operation to a memory cell, the same memory cell is prevented from being read from the other port each time. Alternatively, the read operation is delayed by stopping the processor requesting the read until the end of the write operation. Further, the address comparator (251) of all address bits shown in FIG. 2 includes a corresponding arbiter (Arbiter) 252. Arbiter 252 also evaluates the control signals of the processor and forms output signals 213 and 223 that control this writing process. The output signals 213 and 223 can, in an advantageous embodiment, be in three signal states each time: Select, wait and equal. For a pure instruction cache, write access is not necessary. In other words, in this case, it is sufficient if the signal states of the output signals 213 and 223 are “equal”.

キャッシュミスの際、データまたは命令は、バスシステムを介してプログラムまたはデータメモリから呼び出されなければならない。呼び出されたデータは、次いで命令実行部へ伝達され、並行して、識別子及び制御ビットと共にキャッシュに書き込まれる。この場合も、アドレスコンパレータは、ヒット(Hit)がなくても、イコール信号(213及び223の構成要素または状態)がアドレスコンパレータによって表示される場合、メモリからのデータの再呼び出しを阻止する。イコール信号は、常に記憶装置の全ブロックが呼び出されるため、双方からの読み出しの際に最上位アドレスビットによってのみ形成される。ブロックがキャッシュで格納されてはじめて、待機している命令実行部はキャッシュにアクセスできる。   In the event of a cache miss, data or instructions must be called from program or data memory via the bus system. The recalled data is then transmitted to the instruction execution unit and written to the cache along with the identifier and control bits in parallel. Again, the address comparator prevents recall of data from memory if the equal signal (component or state of 213 and 223) is displayed by the address comparator, even if there is no hit. The equal signal is always formed by only the most significant address bits when reading from both, since all blocks of the storage device are called. Only when the block is stored in the cache, the waiting instruction execution unit can access the cache.

更なる別の有利な実施形態において、2つの異なる、データ及び命令のためのデュアルポート・キャッシュが設けられている。命令のためのデュアルポート・キャッシュでは、書き込みプロセスは設けられていない。この場合、アドレスコンパレータは、常に最上位のビットの一致(Gleichheit)のみを検査しており、対応する制御信号「イコール」を信号213及び223内に提供する。   In yet another advantageous embodiment, two different dual port caches for data and instructions are provided. In a dual port cache for instructions, no write process is provided. In this case, the address comparator always checks only the most significant bit match (Gleichheit) and provides the corresponding control signal “equal” in the signals 213 and 223.

更なる別の実施形態において、双方のポートからの同時の読み出しアクセスは、要求されたデータが、同時アクセスを可能にする異なる(別々の)アドレス領域にある場合に、無制限に行われる。従って、ハードウェア実現の際に記憶装置内の全アクセス構造(Zugriff−Mechanismus)が二重化される必要がないので、コストが節約される。例えば、キャッシュは、複数の互いに独立して駆動されるサブ記憶領域(Teilspeicherbereich)に実現されることが可能である。各サブ記憶領域は、選択信号(select−Signal)を介して、ポート実行のみを可能にする。図4には、このような記憶装置230が示されており、2つのサブ記憶領域235及び236を含んでいる。ここで示される実施形態において、アドレスビットAから、2つの選択信号EとEが、A=0の際はE=1、E=0に、またA=1の際はE=0、E=1となるように形成される。信号233及び234には、2つの選択信号と下位のアドレスビットAi−1・・・Aが含まれている。 In yet another embodiment, simultaneous read access from both ports is done indefinitely when the requested data is in different (separate) address areas that allow simultaneous access. Therefore, when hardware is implemented, the entire access structure (Zugriff-Mechanism) in the storage device does not need to be duplicated, thereby saving costs. For example, the cache can be implemented in a plurality of sub-storage areas (Teilspeicherberich) that are driven independently of each other. Each sub storage area enables only port execution via a selection signal (select-Signal). FIG. 4 shows such a storage device 230 and includes two sub-storage areas 235 and 236. In the embodiment shown here, the address bits A i, 2 two selection signals E 0 and E 1 are the E 0 = 1, E 1 = 0 is the time of A i = 0, also when A i = 1 Are formed such that E 0 = 0 and E 1 = 1. The signals 233 and 234 include two selection signals and lower address bits A i−1 ... A 0 .

4つのサブ記憶装置を備えた更なる別の実施形態において、各サブ記憶装置が一義的に1つの特定のアドレス領域を供給する(bedienen)ため、4つの選択信号が2つのアドレスビットから生成される。従って、例えば、4つのサブ記憶領域は、4つの選択信号E〜Eが図T1(表1)に基づく2進値に対応して生成されることによって、2つのアドレスビットAi+1及びAによって呼び出されることが可能である。 In yet another embodiment with four sub-storage devices, each sub-storage device uniquely supplies one specific address area, so that four selection signals are generated from two address bits. The Thus, for example, four sub-storage areas are generated by generating four address signals A i + 1 and A 3 by generating four selection signals E 0 to E 3 corresponding to binary values based on FIG. T1 (Table 1). can be called by i .

図5には、図4で示されるサブ記憶装置235及び236のための実施形態が示されている。サブ記憶装置260は、この特別な実施形態において、シングルポート(Single Port)RAM280として実現されており、そのアドレス、データ及び制御信号は、要求に応じて切り替えられる。切り替えは、制御回路(Steuerschaltung)270によって、マルチプレクサ(Multiplexer)275を利用して、対応するポートからの制御信号及び他の制御信号2901または2902(読み出し、書き込み等)に従って行われる。これらの信号は、データ及びアドレスと一緒に信号233及び234に含まれており、信号5281及び5282を介して、マルチプレクサ275に伝達される。マルチプレクサ275は、制御回路270の決定に基づき、出力信号2701に応じて、5281または5282を信号2801と接続する。この実施形態において、一般論に限定することなく、キャッシュへの直接的なアドレス指定に基づいている(ダイレクトマップ方式:direct−mapped)。多重連想キャッシュ構造(mehrfach−assoziative Cacheorganisation)の際には、ユニット275において有効性に関する比較が行われ、キャッシュヒット信号がポートに伝達される。または、全データがポート5331及び信号233を介してポート231へ、もしくは、ポート5332及び信号234を介してポート232へ伝達され、そこで有効性が検査される。   FIG. 5 shows an embodiment for the sub-storage devices 235 and 236 shown in FIG. In this special embodiment, the sub storage device 260 is realized as a single port RAM 280, and its address, data, and control signal are switched according to a request. The switching is performed by a control circuit (Steuerschultung) 270 using a multiplexer (Multiplexer) 275 according to a control signal from the corresponding port and another control signal 2901 or 2902 (reading, writing, etc.). These signals are included in signals 233 and 234 along with data and address and are transmitted to multiplexer 275 via signals 5281 and 5282. The multiplexer 275 connects 5281 or 5282 to the signal 2801 according to the output signal 2701 based on the determination of the control circuit 270. In this embodiment, without being limited to general theory, it is based on direct addressing to the cache (direct-mapped). In the case of a multi-associative cache structure, a validity comparison is performed in unit 275 and a cache hit signal is transmitted to the port. Alternatively, all data is transmitted to port 231 via port 5331 and signal 233, or to port 232 via port 5332 and signal 234, where validity is checked.

その際、制御回路は、信号5281または5282を、さらに、シングルポートRAM280への信号2801に切り替えることが可能であり、データ及び(シングルポートRAM)280の他の信号を逆方向に伝達することも可能である。これは、有効な制御信号、信号233及び234、及び/または、ポートがこれらの信号を介して読み出しまたは書き込み動作を記憶装置280によってうながす順序、に従って行われる。信号233及び234で、読み出しまたは書き込み信号が同時にアクティブになった場合、予め定義されたポートが最初に利用される。その後、この優先的なポートは、読み出しまたは書き込み信号がアクティブでない場合は、2801と接続されたままの状態にされる。優先的なポートは、任意で、動的にプロセッサシステムによって設定されることが可能であるが、特に、その際プロセッサシステムの状態情報に従って設定される。   At that time, the control circuit can further switch the signal 5281 or 5282 to the signal 2801 to the single port RAM 280, and can transmit the data and other signals of the (single port RAM) 280 in the reverse direction. Is possible. This is done according to valid control signals, signals 233 and 234, and / or the order in which the port prompts the storage device 280 to read or write via these signals. If signals 233 and 234 cause a read or write signal to become active at the same time, the predefined port is used first. The preferential port is then left connected to 2801 if the read or write signal is not active. The preferential port can optionally be set dynamically by the processor system, but in particular, according to the status information of the processor system.

シングルポートRAMを備えたこの配列は、並行アクセスが可能なデュアルポートRAMより安価である。しかし、同時に1つのサブ記憶装置に(読み出し)アクセスされた場合、少なくとも1つの命令実行部の実行が遅延する。適用(Anwendung)に応じて、RAMサブ領域を、様々な命令実行部の命令シーケンス及びデータアクセスの形成と同時に同一のRAMサブ領域への同時アクセスが可能な限り少なく行われるように、様々に分割することが可能である。この構成は、2つ以上のプロセッサによるアクセス(が可能なよう)に拡張されることも可能である。同様に、アドレス、データ及び制御信号の切り替えが、複数のマルチプレクサを介して、ステップごとに連続して設けられる場合(図6及び図7)、マルチポートRAMも実現可能である。   This arrangement with a single port RAM is less expensive than a dual port RAM with parallel access. However, when one sub-storage device is accessed (read) at the same time, execution of at least one instruction execution unit is delayed. Depending on the application, the RAM sub-area is divided in various ways so that simultaneous access to the same RAM sub-area is performed as much as possible simultaneously with the formation of instruction sequences and data accesses of various instruction execution units. Is possible. This configuration can also be extended to allow access by more than one processor. Similarly, when switching of address, data, and control signal is continuously provided for each step via a plurality of multiplexers (FIGS. 6 and 7), a multi-port RAM can also be realized.

図6には、このようなマルチポートRAM290が示されている。マルチポートRAM290では、ポート入力信号261〜267が、復号化装置331〜337において、信号291〜297へと復号化される。この複合化によって、281、282〜288内の個々のRAMへのアクセスのための選択信号が生成される。図7には、サブ記憶装置28x(281・・・288)のための実施形態が詳細に示されている。サブ記憶装置では、制御装置370の第1ステップにおいて、制御信号291〜298からの選択信号及び制御信号3901〜3908が、出力信号3701〜3707へと加工される。この出力信号は、それぞれマルチプレクサ375を駆動する。マルチプレクサ375は、信号値に従って、バス381または382〜387または388を信号481〜488と接続する。更なる別のステップにおいて、類似した制御装置370及びマルチプレクサ375は、最後のステップにおいて制御装置のための信号5901及び5902が使用されるまで、適切に駆動される。その後、出力信号5701は、581または582を、シングルポートRAMと接続されている681と接続する。   FIG. 6 shows such a multiport RAM 290. In the multi-port RAM 290, the port input signals 261 to 267 are decoded into signals 291 to 297 in the decoding devices 331 to 337. This combination generates selection signals for access to the individual RAMs in 281, 282 to 288. FIG. 7 shows in detail an embodiment for the sub storage devices 28x (281... 288). In the sub storage device, in the first step of the control device 370, the selection signals from the control signals 291 to 298 and the control signals 3901 to 3908 are processed into output signals 3701 to 3707. Each of these output signals drives a multiplexer 375. The multiplexer 375 connects the bus 381 or 382 to 387 or 388 with the signals 481 to 488 according to the signal value. In yet another step, similar controller 370 and multiplexer 375 are driven appropriately until signals 5901 and 5902 for the controller are used in the last step. Thereafter, the output signal 5701 connects 581 or 582 to 681 connected to the single port RAM.

図5に示されるマルチプレクサ275とは反対に、図7におけるマルチプレクサ375は、アドレス及びデータ及び制御(に関する)信号の他に、381〜388に含まれている、次ステップの制御信号も接続する。さらに、マルチプレクサ375内に、多重連想アドレス指定方式の際にサブ領域から読み出されたデータの有効性を求める、比較ユニットが含まれることが可能である。   Contrary to the multiplexer 275 shown in FIG. 5, the multiplexer 375 in FIG. 7 connects the control signal of the next step included in 381 to 388 in addition to the address, data and control (related) signals. In addition, a multiplexer 375 can include a comparison unit that determines the validity of the data read from the sub-region during the multiple associative addressing scheme.

更なる別の有利な実施形態において、RAM領域から様々な命令実行部への切り替えが、1つのまたは複数のシステム状態または構成に関連付けられることが可能である。従って、図8には、構成可能なデュアルポート・キャッシュの例が示されている。さらに、システムまたは構成信号1000が、2つのポートそれぞれの入力信号の復号化において使用される。図T2(表2)は、Mとして示されている信号1000に従った復号化の変更の可能性を示している。M=0の場合、例えば、2つのポートが全キャッシュへのアクセスを行う、コンペアモードになっている。しかし、M=1である場合(パフォーマンスモード等)、各ポートは、半分のキャッシュへのアクセス(権)のみ有するが、制限されずに(他のポートの動作の影響を受けずに)この領域(半分のキャッシュ)にアクセスすることが可能である。パフォーマンスモードにおいて、アドレスビットAは、(ダイレクトマップモードの)キャッシュのアドレス指定に利用されるのではなく、アドレス指定においてアドレスビットと異なるデータは、キャッシュの同一箇所に格納される。キャッシュの内容を読み出す際にはじめて、識別子を用いて、検索されているデータが関連しており、これに応じてキャッシュヒット信号が生成されるかどうかが明らかになる。対応するコンパレータがどこに配列されているかに従って、識別子及び制御ビットを含むデータが、信号291〜297を介して、ポート331〜337へ出力される。さらに、信号261〜267が出力される。同様に、パフォーマンスモード(M=1)において、ポート1のみが全キャッシュへのアクセス権を持つ。この更なる別の実施形態は、図T3(表3)に示されている。利用者は、複数の構成信号によって、キャッシュを任意で他の形式で分割することが可能である。これによって、比較的大きなキャッシュ領域において、ヒット率(Hit−Rate)が一度高められ、それに伴い主記憶装置からデータを呼び出す必要性が低減される。一方、様々なポートを介して可能な限り別々の独立したキャッシュ領域がアクセスされた場合、様々な命令実行部は(アクセスが)阻止されない。この条件は利用のために設けられたプログラムに依存するので、利用に従って更なる別の構成が可能である場合に利点がある。一方、システム状態(コンペアモード/パフォーマンスモード)を切り替えた際に直接、キャッシュはモード信号1000によって自動的に切り替えられる。 In yet another advantageous embodiment, switching from a RAM area to various instruction execution units can be associated with one or more system states or configurations. Thus, FIG. 8 shows an example of a configurable dual port cache. In addition, the system or configuration signal 1000 is used in decoding the input signal for each of the two ports. FIG. T2 (Table 2) shows the possibility of changing the decoding according to the signal 1000, denoted as M. When M = 0, for example, the comparison mode is set in which two ports access all the caches. However, if M = 1 (performance mode, etc.), each port has only access (right) to half of the cache, but is not limited (influenced by the operation of other ports). (Half of the cache) can be accessed. In the performance mode, the address bits A i are not used for addressing the cache (in the direct map mode), but data different from the address bits in addressing is stored in the same location in the cache. Only when the contents of the cache are read out is the identifier used to identify the data being retrieved and whether or not a cache hit signal is generated accordingly. Depending on where the corresponding comparators are arranged, data including identifiers and control bits is output to ports 331-337 via signals 291-297. Further, signals 261 to 267 are output. Similarly, in the performance mode (M = 1), only port 1 has access to all caches. This further alternative embodiment is shown in Figure T3 (Table 3). The user can arbitrarily divide the cache into other formats by a plurality of configuration signals. As a result, the hit rate (Hit-Rate) is once increased in a relatively large cache area, and accordingly, the necessity of calling data from the main storage device is reduced. On the other hand, when different independent cache areas are accessed through various ports as much as possible, various instruction execution units are not blocked (access). Since this condition depends on a program provided for use, there is an advantage in the case where further different configurations are possible according to use. On the other hand, the cache is automatically switched by the mode signal 1000 directly when the system state (compare mode / performance mode) is switched.

このモードまたは構成信号に従ってポートを切り替える可能性は、図9のマルチポート・キャッシュ290において広げられる。その際、ポート331〜337は、モードまたは構成信号を用いて、様々なサブRAM領域281〜288を制御する。この制御は、これに対応してポートで生成された、信号291〜297に含まれている選択信号によって保障される。   The possibility of switching ports according to this mode or configuration signal is extended in the multi-port cache 290 of FIG. At that time, the ports 331 to 337 control various sub-RAM areas 281 to 288 using a mode or a configuration signal. This control is ensured by a selection signal included in the signals 291 to 297 generated at the corresponding port.

図10には、多重連想キャッシュが存在する、更なる別の実施形態が示されている。多重連想キャッシュにおいて、各サブ記憶装置281〜288から、データが、識別子及び制御ビットと共にリードバック(zuruecklesen)される。比較装置2811〜2817、2821〜2827、・・・2881〜2887において有効性が検査され、検査結果に従って、信号2910、2920・・・2970のデータが、有効信号と共に次に転送される。その際、択一的に、モードまたは構成信号による切り替えが、すでに図9で示し解説したのと同様に可能である。ポート3310、3320、・・・3370において、有効性信号及び場合によってはモード及び構成信号1000が評価され、対応する有効なデータが、キャッシュヒット信号またはキャッシュミス信号と共に信号2610、2620、・・・2670へ転送される。   FIG. 10 shows yet another embodiment where multiple associative caches exist. In the multiple associative cache, data is read back from each of the sub storage devices 281 to 288 together with an identifier and a control bit. The validity is checked in the comparison devices 2811 to 2817, 2821 to 2827,... 2881 to 2887, and the data of the signals 2910, 2920,. In this case, as an alternative, switching by mode or configuration signal is possible in the same way as already shown and described in FIG. At ports 3310, 3320,... 3370, validity signals and possibly mode and configuration signals 1000 are evaluated, and the corresponding valid data is signal 2610, 2620,. 2670.

図B1には、2つの命令実行部を備えた非対称なシステム構造のためにデュアルポート・キャッシュを利用する、構造が示されている。その際、B110及びB111は、独自のデータ/アドレス及び制御信号B120またはB121を有する2つの命令実行部である。B100は、切り替え及び比較ユニット(UVE:Umschalt− und Vergleicheihheit)である。   FIG. B1 shows a structure that utilizes a dual port cache for an asymmetric system structure with two instruction execution units. In this case, B110 and B111 are two instruction execution units having unique data / address and control signal B120 or B121. B100 is a switching and comparison unit (UVE: Unmschalt-und Verglecheiheit).

図B2には、2つ命令実行部B10及びB11と接続して利用する際の、切り替え及び比較ユニットの基本機能が示されている。データ、制御及びアドレス信号B20またはB21等の、命令実行部B10及びB11の様々な出力信号は、切り替えユニットと接続されている。   FIG. B2 shows the basic functions of the switching and comparison unit when connected to the two instruction execution units B10 and B11. Various output signals of the instruction execution units B10 and B11, such as data, control and address signals B20 or B21, are connected to the switching unit.

さらに、少なくとも1つの同期信号が、すなわち本発明の一実施形態に基づく構成において、2つの出力信号B40及びB41が存在する。出力信号B40及びB41は、それぞれ比較ユニットと接続されている。   Furthermore, there are two output signals B40 and B41 in which at least one synchronization signal, i.e. in a configuration according to an embodiment of the invention. The output signals B40 and B41 are each connected to the comparison unit.

切り替えユニットは、少なくとも1つの制御レジスタB15を含んでいる。制御装置レジスタは、少なくとも1つの、二進信号(Bit)B16のためのメモリ要素を有している。その際、二進信号B16は、比較ユニットのモードを切り替える。このビットB16は、2つの値0及び1を獲得することが可能であり、命令実行部の信号B20もしくはB21によって、または切り替え装置の内部プロセスによって、設定されるか、またはリセットされる。   The switching unit includes at least one control register B15. The controller register has at least one memory element for a binary signal (Bit) B16. At that time, the binary signal B16 switches the mode of the comparison unit. This bit B16 can take two values 0 and 1, and is set or reset by a signal B20 or B21 of the instruction execution unit or by an internal process of the switching device.

永続的にコンペアモードに調整される場合、切り替えユニットと、それに伴って制御レジスタB15及び切り替えビットB16とを省略することが可能である。その際、切り替え及び比較ユニットは、永続的に比較ユニットとなり、信号B101は常に1である。従って、図B3及びB4に示される状態が存在しない。従って以下のすべての考察においては、ビットB16が設定されており、信号B101=1であるものと仮定する。   In the case of permanent adjustment to the compare mode, it is possible to omit the switching unit and the accompanying control register B15 and switching bit B16. At that time, the switching and comparison unit is permanently a comparison unit and the signal B101 is always 1. Therefore, the state shown in FIGS. B3 and B4 does not exist. Thus, in all of the following discussion, it is assumed that bit B16 is set and signal B101 = 1.

このビットB16が1に設定される場合、切り替えユニットはコンペアモードで駆動する。このモードにおいて、B20のアクセスする全データ信号は、特定の設定可能な、信号B20及びB21の制御及び/またはアドレス信号の比較条件が満たされている限り、B21のデータ信号と比較される。制御及び/またはアドレス信号は、データの有効性及びアクセスするデータの比較の予定について信号で知らせる。   When this bit B16 is set to 1, the switching unit is driven in the compare mode. In this mode, all data signals accessed by B20 are compared with the data signals of B21 as long as certain configurable control conditions for signals B20 and B21 and / or address signal comparison conditions are met. Control and / or address signals signal the validity of the data and the schedule for comparison of the data to be accessed.

この比較条件が、2つの信号B20及びB21で同時に満たされている場合、これらの信号のデータが直接比較され、不一致の際にエラー信号B17が設定される。信号B20またはB21のどちらかの比較条件のみが満たされている場合、対応する同期信号B40またはB41が設定される。この信号は、対応する命令実行部B10またはB11において、処理を停止させる。さらに、対応する、それ以前に互いに比較されなかった信号を続けて切り替えること(Weiterschaltung)を阻止する。信号B40またはB41は、対応するその都度の他方の命令実行部B21またはB20の比較条件が満たされている限り、設定されたままである。この場合、比較が行われ、対応する同期信号がリセットされる。   When this comparison condition is satisfied simultaneously by the two signals B20 and B21, the data of these signals are directly compared, and an error signal B17 is set when they do not match. When only the comparison condition of either the signal B20 or B21 is satisfied, the corresponding synchronization signal B40 or B41 is set. This signal stops processing in the corresponding instruction execution unit B10 or B11. Furthermore, it prevents the subsequent switching of the corresponding signals that have not been compared with each other before. The signal B40 or B41 remains set as long as the comparison condition of the corresponding other instruction execution unit B21 or B20 is satisfied. In this case, a comparison is made and the corresponding synchronization signal is reset.

上記のように比較されるデータが同時に提供されない場合に、2つの命令実行部による比較を保障するためには、対応する命令実行部のデータ及び比較条件を、対応する同期信号B40またはB41がリセットされるまで、対応する値に設定し続ける必要がある。または、最初に提供されたデータは、比較が行われるまで切り替えユニットで格納されなければならない。   When the data to be compared is not provided at the same time as described above, in order to ensure the comparison by the two instruction execution units, the corresponding synchronization signal B40 or B41 resets the data of the corresponding instruction execution unit and the comparison condition. Until it is done, it must be set to the corresponding value. Alternatively, the initially provided data must be stored at the switching unit until a comparison is made.

どの命令実行部が最初にデータを提供するかに従って、独自のプログラムまたは工程を更に実行する命令実行部は、他方の命令実行部が対応する比較データを提供する限り、待機しなければならない。   Depending on which instruction execution unit first provides data, an instruction execution unit that further executes its own program or process must wait as long as the other instruction execution unit provides corresponding comparison data.

図B2に基づく切り替えユニットの特別な実施形態において、信号B40またはB41の1つを省略することが可能である。すなわち、信号が付属している命令実行部が、他方の実行命令部より早く比較データを提供しないことが常に保障されている場合、信号B40またはB41は省略される。B16が設定されていない場合、同期信号B40及びB41並びにエラー信号B17は、常に0に設定される。その際比較は行われず、双方の命令実行部は、互いに独立してパフォーマンスモードで駆動する。   In a special embodiment of the switching unit according to FIG. B2, one of the signals B40 or B41 can be omitted. That is, if it is always guaranteed that the instruction execution unit to which the signal is attached does not provide comparison data earlier than the other execution instruction unit, the signal B40 or B41 is omitted. When B16 is not set, the synchronization signals B40 and B41 and the error signal B17 are always set to 0. In this case, no comparison is performed, and both instruction execution units are driven in the performance mode independently of each other.

パフォーマンスモードにおいて、図B1に基づく2つの命令実行部は独立して、プログラム、プログラム部分またはプログラムセグメントを処理する。命令実行部B111は、B121を介して、キャッシュB105へアクセスし、キャッシュは、B161を介して、主記憶装置または他の記憶装置と接続する。命令実行部B110は、特に(制御信号B101によってパフォーマンスモードでは非アクティブに調整される)装置106を介して、同様にデュアルポート・キャッシュにアクセスし、その際このキャッシュの第2ポートを利用する(図B3参照)。切り替え及び比較ユニット(UVE)B100は、非アクティブである。すなわち、データは比較されない(B16が設定されない)。更なる別の実施形態において、命令実行部B110によるキャッシュを介したアクセスのために、しかしここでの更なる別の実施形態においては、B160を介した主記憶装置または他の記憶装置への直接的なアクセスが設けられている(図B4参照)。しかし、この更なる別の実施形態には、キャッシュのデータにもはや整合性がないという短所がある。従って、対応するブロックは、キャッシュで有効ビットをリセットすることによって無効にされなければならない。すなわち対応するブロックは、処理ユニット(Bearbeitungseinheit)B110自体によって、または、バスB161を監視し、キャッシュに設けられているブロックが書き込まれるかどうかを検出するキャッシュによって自発的に、無効にされなければならない。このプロセスは、バス監視(bus snooping)と呼ばれている。これに対して、図B3の更なる別の実施形態は、コストがより安価なため利点がある。   In the performance mode, the two instruction execution units based on FIG. B1 independently process a program, program part or program segment. The instruction execution unit B111 accesses the cache B105 via the B121, and the cache is connected to the main storage device or another storage device via the B161. The instruction execution unit B110 similarly accesses the dual port cache via the device 106 (adjusted inactive in the performance mode by the control signal B101), and uses the second port of this cache (in this case). (See FIG. B3). The switching and comparison unit (UVE) B100 is inactive. That is, the data is not compared (B16 is not set). In yet another embodiment, for access through the cache by the instruction execution unit B110, but in yet another embodiment herein, direct access to main storage or other storage via B160. Access is provided (see FIG. B4). However, this further alternative has the disadvantage that the data in the cache is no longer consistent. Accordingly, the corresponding block must be invalidated by resetting the valid bit in the cache. That is, the corresponding block must be invalidated either by the processing unit (Bearbeginningheit) B110 itself or by the cache that monitors the bus B161 and detects whether a block provided in the cache is written. . This process is called bus snooping. In contrast, yet another embodiment of FIG. B3 is advantageous because it is less expensive.

図B1に基づく構造のコンペアモードは、図B5において詳細に示されている。UVEB100においてB16が設定されることによってコンペアモードが駆動されると、双方の命令実行部は同一のプログラムの実行を開始する。このプログラムは、場合によっては双方の命令実行部において様々に実行される。すなわち、比較されるデータを生成する、様々なアルゴリズム及び/または命令が利用される。命令実行部B110は、互いに比較されるべきデータを、対応する識別子と一緒に切り替えまたは比較装置(UVE)B100に出力する。   The compare mode of the structure based on FIG. B1 is shown in detail in FIG. B5. When the compare mode is driven by setting B16 in the UVEB 100, both instruction execution units start executing the same program. This program is executed in various ways in both instruction execution units. That is, various algorithms and / or instructions that generate data to be compared are utilized. The instruction execution unit B110 outputs the data to be compared with each other together with the corresponding identifier to the switching or comparison device (UVE) B100.

この動作は、読み出し要求ユニットB106における制御信号(書き込み等)の格納を促す。場合によっては、識別子(状態またはプロセス情報、処理周期)が記憶要素B1061へ、さらに識別子に付属するアドレスが記憶要素B1062へ追加的に格納される。従って、ユニットB106は、制御ユニットB1064のB1061から生成された制御信号(読み出し等)と、B1021内の識別子と、B1062によって出力されたデュアルポート・キャッシュB105へのアドレス信号B1022とを用いて、読み出しプロセスを開始する。比較を目的とするキャッシュでの読み出しプロセスにおいては、常に、キャッシュに直接接続された命令実行部が既にデータをキャッシュに書き込み済みであることが前提である。このことは、命令実行部がコンペアモードへの切り替えと共に、適切に時間を合わせてプログラム処理を開始することよって保障される(以下、同期に関する段落を参照)。コンペアモードにおいて、比較されるデータがまだキャッシュで使用可能ではない場合(キャッシュミス)、キャッシュは、まだこのデータを主記憶装置で要求してはならず、データが直接キャッシュと接続されている命令実行部によって書き込まれキャッシュに存在するまで、読み出しアクセスを繰り返さなければならない。データが許容された時間領域で、または特定の試行回数(内)で処理されなかった際は、時間監視(zeitlische Ueberwachung)または失敗した試行を数えるカウンタが、エラー信号を生成する。   This operation prompts storage of a control signal (such as writing) in the read request unit B106. In some cases, an identifier (state or process information, processing cycle) is additionally stored in the storage element B1061, and an address attached to the identifier is additionally stored in the storage element B1062. Therefore, the unit B106 uses the control signal (reading, etc.) generated from B1061 of the control unit B1064, the identifier in B1021, and the address signal B1022 to the dual port cache B105 output by B1062 to read. Start the process. In a read process in a cache for the purpose of comparison, it is always assumed that an instruction execution unit directly connected to the cache has already written data into the cache. This is ensured by the instruction execution unit switching to the compare mode and starting the program processing at an appropriate time (see the paragraph on synchronization below). In compare mode, if the data to be compared is not yet available in the cache (cache miss), the cache must not yet request this data in main storage, and the instruction is directly connected to the cache. The read access must be repeated until it is written by the execution unit and exists in the cache. A counter that counts time monitoring or failed attempts generates an error signal when the data has not been processed in the allowed time domain or within a specific number of attempts (within).

それに伴って受信されたデータ値は、B1023を介してB1063に書き込まれる。データの有効性は、受信された制御信号B1024に表示される(キャッシュヒット信号及び有効ビットの評価、有効な際にデータ、アドレス及び適切な制御信号がB1003、B1002及びB1001を介して、比較のためにB100に提供される)。その際、読み出し要求ユニットB106では、キャッシュのデータと共に送り戻された識別子(制御ビット)が現在処理中の(aktuell)識別子と比較される。識別子が不一致の場合、キャッシュ内の同一のアドレスへの読み出しプロセスが新たに開始される。データは、識別子が有効な際にはじめて、場合によっては追加的な識別子としても利用可能なアドレスと共に、比較のための適切な制御信号B1001を用いて使用される。比較値が利用できるまで(または、信号B120がB100内に一時的に格納されない際は、場合によっては比較が終了するまで)、命令実行部B110は、制御信号B140(待機(wait)、割り込み等)を介して停止される。従って、B110の比較データがまだ信号B120に存在することが保障される。信号B120がB100に含まれている先入れ先出し(FIFO)で格納される場合、命令実行部B110は、FIFOの容量が完全に一杯になるまで停止される必要はない。その際、複数のデータワードを格納でき、最初に格納されたデータも最初に再度出力する記憶装置ユニットを、FIFO(first in first out;先入れ先出し)と呼ぶ。   The data value received accordingly is written to B1063 via B1023. The validity of the data is indicated in the received control signal B1024 (evaluation of the cache hit signal and valid bits, when valid, the data, address and appropriate control signals are compared via B1003, B1002 and B1001 To be provided to B100). At that time, in the read request unit B106, the identifier (control bit) sent back together with the data of the cache is compared with the identifier being processed (aktuell). If the identifiers do not match, a new read process to the same address in the cache is started. Only when the identifier is valid, the data is used with an appropriate control signal B1001 for comparison, possibly with an address that can also be used as an additional identifier. Until the comparison value is available (or when the signal B120 is not temporarily stored in B100, in some cases until the comparison is completed), the instruction execution unit B110 controls the control signal B140 (wait, interrupt, etc.) ) Is stopped via. Therefore, it is ensured that the comparison data of B110 is still present in the signal B120. If the signal B120 is stored in a first-in first-out (FIFO) contained in B100, the instruction execution unit B110 does not need to be stopped until the FIFO capacity is completely full. At this time, a storage unit that can store a plurality of data words and outputs the first stored data again first is called a FIFO (first in first out).

2つの命令実行部の同期は、命令実行部B111が比較データを識別子(アドレス及び追加的なビット、有効ビット、ダーティビット、プロセスID等)と共にキャッシュに格納し、比較の前に有効性が適切に検査されることによって行われる。さらに、格納されたアドレスデータ及び有効ビットが、キャッシュヒット信号の生成のために利用される。ダーティビットは、キャッシュの関連するブロックのデータが変更され、(データが)まだ主記憶装置にライトバック(zuruckgeschrieben)されていないかということのみを表示する。その際、プロセスIDは、有効なデータがB111によってキャッシュに新たに書き込まれる度に変更される、プログラム実行の識別子である。従って、プロセスIDが、例えばコンペアモードの開始と共に特定の値に設定され、公知の方法で変更される、例えば増分される場合に、データの現実性(Aktualitaet)が検査される。   The synchronization of the two instruction execution units is such that the instruction execution unit B111 stores the comparison data in the cache together with the identifier (address, additional bit, valid bit, dirty bit, process ID, etc.) and the validity is appropriate before the comparison. It is done by being inspected. Further, the stored address data and valid bits are used for generating a cache hit signal. The dirty bit only indicates whether the data in the associated block of the cache has been changed and has not yet been written back to main memory. At this time, the process ID is a program execution identifier that is changed each time valid data is newly written into the cache by the B 111. Therefore, when the process ID is set to a specific value, for example with the start of the compare mode, and is changed, eg, incremented, in a known manner, the data reality is checked.

図T4(表4)には、キャッシュの内部構造が示されている。各行は、データブロックに相当する。   FIG. T4 (Table 4) shows the internal structure of the cache. Each row corresponds to a data block.

アドレス日(Adress−Tag)は、アドレスの構成要素である。ブロックへのアクセスに関連し、実際のアクセスの際にはアドレスインデックスと比較される。有効な有効ビット(制御ビットの構成要素)と一致する際は、キャッシュヒット信号が生成される。データブロックは、若干数のビットから複数キロバイトまでのデータを含むことが可能である。図T5(表5)には、制御ビットの一例が示されている。   The address date (Address-Tag) is a component of the address. It is related to access to the block and is compared with the address index during actual access. A cache hit signal is generated when it matches a valid valid bit (a component of the control bit). A data block can contain data from a few bits to multiple kilobytes. FIG. T5 (Table 5) shows an example of the control bits.

例えば、プロセスIDの増分を保障するため、キャッシュB105に、カウンタB1059が設けられている(図B6)。カウンタB1059は、コンペアモード(B101=1)の開始と共に信号B1021及び1022を介して、定義された値に設定される。この値は、第1コンペアモードが開始した場合、例えば、16進値0x0000であることが可能である。このカウンタは、継続的に、B111によって比較に関連するデータが書き込まれる度に増分されることが可能である。その際、比較に関連する(vergleichsrelevant)とは、アドレス及び/または他の制御信号を用いて、データが比較のために設けられているかどうかを設定できるということである。   For example, a counter B1059 is provided in the cache B105 in order to guarantee the increment of the process ID (FIG. B6). The counter B1059 is set to a defined value via the signals B1021 and 1022 at the start of the compare mode (B101 = 1). This value can be, for example, the hexadecimal value 0x0000 when the first compare mode is started. This counter can be continuously incremented each time data related to the comparison is written by B111. In this context, the comparison related to the comparison means that the address and / or other control signals can be used to set whether data is provided for comparison.

キャッシュの各データと共にプロセスIDとしてのカウンタ値を格納した場合、データの状態(Datenstand)に一義的にラベル付けされる(kennzeichnen)。ユニットB106の同種のカウンタB1069を用いて、対応するデータがすでにキャッシュに存在するかが、簡単な比較によって決定される。さらに、カウンタB1069は、B101(コンペアモード)の作動と共に、カウンタB1059と同様に、特に同一の開始値に設定され、B110による関連するデータの各書き込み信号と共に増分される。読み出されたブロック内のプロセスIDビットが、B1069のカウンタ値と同じ値である、またはカウンタ値より高い場合、データは有効である。その際、ブロックにも複数回、様々なデータが書き込まれる可能性があるため、カウンタ値が比較的高い可能性がある。カウンタは、新たなサイクルの開始と共に、リセットされる必要がある。その際、新サイクルにおいて、まだ比較されていないデータが上書きされないように阻止されなければならない。   When a counter value as a process ID is stored together with each data in the cache, the data state (Datestand) is uniquely labeled (kennicheen). Using the same type of counter B1069 of unit B106, it is determined by simple comparison whether the corresponding data already exists in the cache. Further, the counter B1069 is set to the same starting value in particular, similarly to the counter B1059, with the operation of B101 (compare mode), and is incremented with each write signal of related data by B110. If the process ID bit in the read block is the same value as the B1069 counter value or higher than the counter value, the data is valid. At this time, since various data may be written to the block a plurality of times, the counter value may be relatively high. The counter needs to be reset with the start of a new cycle. At that time, in the new cycle, data not yet compared must be prevented from being overwritten.

カウンタの更なる別の実施形態は、下位アドレスビット(図3に基づくブロックアドレス指定に関連しないアドレスビット0、・・・、k−1)をプロセスIDの構成要素として格納することである。その一方、他のプロセスIDビットは、サイクルにラベル付けする(kennzeichnen)。ワード幅が1バイトより大きい場合、対応する下位の(niederwertigster)ビットが省略される。従って、ブロック内のどのワードが最新で書き込まれたのかを検出することが可能である。さらに、プログラムシーケンス(Programmablauf)において、例えば、データは常に連続するアドレスと共に書き込まれる。または、時系列に沿って連続する(linear fortlaufend)プログラムを実行する際に、変換表を用いて、B111によって最新に書き込まれた値をB110の現在の(aktuall)比較値に、一義的に対応させることが可能である。   Yet another embodiment of the counter is to store the lower address bits (address bits 0,..., K−1 not related to block addressing according to FIG. 3) as a component of the process ID. On the other hand, other process ID bits label the cycle. If the word width is greater than 1 byte, the corresponding lower-order bit is omitted. Therefore, it is possible to detect which word in the block was written latest. Further, in the program sequence, for example, data is always written with consecutive addresses. Or, when executing a linear fortuffend program, the value written most recently by B111 is uniquely associated with the current comparison value of B110 using a conversion table. It is possible to make it.

更なる可能性は、カウンタ状態を、プロセスIDとしてデータブロックと共にキャッシュに格納するのではなく、B106による読み出しアクセスの度に、目下のカウンタ状態を、制御信号B1064を介してB106へ伝達することにある。プロセスIDとして、進行中のサイクルのみが、これに対応して若干のメモリビット内に格納される。キャッシュのデータブロックは、今日では通常64キロバイトまで含むことが可能なので、記憶容量は本質的には低減されない。例えば、16個の追加的なプロセスIDビットの(データブロック内での占有率)は、0、0031%未満である。   A further possibility is not to store the counter state as a process ID in the cache together with the data block, but to transmit the current counter state to B106 via the control signal B1064 for each read access by B106. is there. As the process ID, only the ongoing cycle is stored in some memory bits correspondingly. Since cache data blocks can typically contain up to 64 kilobytes today, storage capacity is not essentially reduced. For example, the 16 additional process ID bits (occupancy in the data block) are less than 0,0031%.

カウンタB1059及びB1069を利用しない同期の更なる別の実施形態は、コンペアモードを要求するため、制御信号B141(割り込み等)を命令実行部B111へ送信することにある。命令実行部B111は、公知の最大周期(maximale Zeitspanne)Tの後に、コンペアモードでのプログラム実行を開始する。命令実行部B110は、適切に初期化され、コンペアモードを準備すると同時に、最大周期T遅れて開始される。従って、デュアルポート・キャッシュB106内の比較データは、常に、命令実行部B110が対応するデータを出力する前に、準備が出来ていることが保障される。その際、値Tにおいて、場合によっては、データが多様に計算されることも考慮される。すなわち、(計算の)多様性によって、命令実行部B110内(で消費される)よりも長い、命令実行部B111内で消費される時間(Zeitdauer)が、Tに追加されることが考慮される。   Yet another embodiment of synchronization without using the counters B1059 and B1069 is to send a control signal B141 (such as an interrupt) to the instruction execution unit B111 in order to request a compare mode. The instruction execution unit B111 starts program execution in the compare mode after a known maximum cycle T. The instruction execution unit B110 is appropriately initialized and prepares for the compare mode, and at the same time starts with a delay of the maximum period T. Therefore, it is guaranteed that the comparison data in the dual port cache B106 is always ready before the instruction execution unit B110 outputs the corresponding data. At that time, it is also considered that the data is variously calculated in the value T depending on the case. That is, it is considered that the time (Zeitdauer) consumed in the instruction execution unit B111, which is longer than (consumed in) the instruction execution unit B110, is added to T due to (computation) diversity. .

比較データの現実性がどのように防護されるかということと無関係に、命令実行部B111は、データが例えば周期的に更新される場合、まだ比較されていないデータを上書きすることが阻止される。更に、ビットB16のリセットは、例えば、命令実行部B111への制御信号B141のリセットも促すことが可能である。B141が設定されている限り、データの周期的な更新の際に、命令実行部B111は、最新サイクルのデータを上書きすることが阻止される。その際、命令実行部B111は、待機ループ(Warteschleife)に入る、またはデータの比較が無くてもよい動作を実行する。B141のリセットと共に、ユニットB106から比較のための更なるデータが要求されておらず、それまでの比較動作が終了していることが、信号で知らされる。B141が新たに設定されない限り、命令実行部B111はパフォーマンスモードで駆動する。従って、キャッシュのデータの上書きが再び可能であるが、B141の再活性化の後にようやく、再度コンペアモードが開始される。   Regardless of how the realism of the comparison data is protected, the instruction execution unit B111 is prevented from overwriting data that has not been compared yet when the data is periodically updated, for example. . Further, the reset of the bit B16 can prompt the reset of the control signal B141 to the instruction execution unit B111, for example. As long as B <b> 141 is set, the instruction execution unit B <b> 111 is prevented from overwriting data of the latest cycle when data is periodically updated. At that time, the instruction execution unit B111 executes an operation that may enter a standby loop or that may not have a data comparison. Along with the reset of B141, no further data for comparison is requested from unit B106, and a signal informs that the comparison operation so far has been completed. Unless B141 is newly set, the instruction execution unit B111 is driven in the performance mode. Therefore, the cache data can be overwritten again, but the compare mode is started again only after the reactivation of B141.

更なる別の実施形態において、信号B141は、割り込みによって比較モードを準備するために、常に短時間アクティブになる。その際、B141が再び短時間設定され、それに伴って開始された割り込みによって、比較データを新たに提供する関連するプログラム箇所にジャンプする(springen)まで、データの上書きが阻止される。   In yet another embodiment, signal B141 is always active for a short period of time to prepare for comparison mode with an interrupt. At this time, B141 is set again for a short time, and the overwriting started thereby prevents overwriting of data until jumping to the relevant program location that newly provides the comparison data (springing).

比較開始後に、命令実行部B111によって比較データが準備されるまでの時間(Zeitdauer)が、命令実行部B110のデータとのデータ比較に必要とされる時間より常に長く、B111のデータが常に少なくとも同時にまたはB110のデータより早く準備されており、B110のデータをB100内の単一の記憶装置またはFIFOに一時格納することによって、命令実行部B110が信号B140によって同期を目的として停止される必要がないことが適切な処理によって保障される場合、全ての同期処理(Synchronisationsmassnahme)が省略されることが可能である。ここで提案される方法に関して、各適用(Anwendung)について、その都度必要な処理が行われる。   The time until the comparison data is prepared by the instruction execution unit B111 after the start of comparison (Zeitdauer) is always longer than the time required for data comparison with the data of the instruction execution unit B110, and the data of B111 is always at least simultaneously. Alternatively, the data is prepared earlier than the data of B110, and by temporarily storing the data of B110 in a single storage device or FIFO in B100, the instruction execution unit B110 does not need to be stopped by the signal B140 for the purpose of synchronization. If this is ensured by an appropriate process, all synchronization processes can be omitted. With regard to the method proposed here, necessary processing is performed for each application (Anending).

更なる別の有利な実施形態において、デュアルポート・キャッシュは、必ずしもデュアルポートRAMで実現される必要はなく、シングルポートRAMB1056が利用される(図B7参照)。アクセス制御B1057によって、2つのポートは、順々に要求に従い、利用される。しかし、その際常に、信号B1058を介するRAMへのアクセスのみが、双方のポートを使用する。従って、アクセスが衝突した際に、B106によるリードバック(Rucklesen)が、場合によって1または複数クロック、追加的に遅らされることが可能であるが、データはいずれにせよ2つの命令実行部によって非同期に伝達されるので、様々な利用において短所にはならない。重要なのは、命令実行部B111はより高い優先順位が与えられているので、アクセス時に阻止されないということである。さらに、上記の遅延が発生しうるとしても、全体のバランスから、第2ポートに十分なアクセスの可能性(チャンス)が提供されることが、重要である。この実施形態の利点は、第2ポートのためのハードウェアが明らかに節約されることにある。図B7で信号B1058が、直接信号B121と接続されており、B1057もB102も省略されている限りにおいて、従来技術に従った通常のシングルポートキャッシュが設けられている。シーケンス制御B1057による拡張及びそれに伴う可能なB102の接続は、真に並列なデュアルポートRAMを組み込むより、明らかに追加コストが少ない。   In yet another advantageous embodiment, the dual port cache need not be implemented with dual port RAM, but a single port RAM B 1056 is utilized (see FIG. B7). By the access control B 1057, the two ports are used in accordance with the request in order. However, at any given time, only access to the RAM via signal B 1058 will use both ports. Therefore, when an access conflict occurs, the readback (Rucklesen) by B106 can be additionally delayed by one or more clocks depending on the case, but the data is anyway by two instruction execution units. Since it is transmitted asynchronously, it is not a disadvantage in various uses. What is important is that the instruction execution unit B111 is given a higher priority and is not blocked at the time of access. Furthermore, even if the above-described delay may occur, it is important that sufficient access possibility (chance) is provided to the second port from the overall balance. The advantage of this embodiment is that the hardware for the second port is clearly saved. As long as the signal B1058 is directly connected to the signal B121 in FIG. B7 and neither B1057 nor B102 is omitted, a normal single port cache according to the prior art is provided. The expansion by the sequence control B1057 and the consequent possible connection of B102 is clearly less expensive than incorporating a truly parallel dual port RAM.

ユニットB106は、独立したユニットである必要はなく、UVEB100に統合されることが可能である、または、キャッシュまたは命令実行部と共にチップに統合されることが可能である。   Unit B 106 need not be a separate unit, but can be integrated into UVEB 100 or integrated into a chip with a cache or instruction execution unit.

図6に基づく2つ以上のポートを備えたキャッシュ、すなわち、マルチポート・キャッシュB205が使用される場合、図8に対応して、2つ以上のプロセッサが、データをコンペアモードで比較する、または多数決判定することが可能である。すなわち、多数決によって、有効な値を決定することが可能である。各追加的な命令実行部B112、・・・のために、追加的な読み出し要求ユニットB107、・・・が図B8に基づいて設けられ、従ってUVEB200は、それに対応する数の入力を有していなければならない。コンペアまたは多数決判定(Voting)モードにおいて、キャッシュに直接接続された命令実行部は、比較または多数決判定のためのデータを、直接キャッシュに書き込む。残りの命令実行部B110、B112、・・・のうち、最初に比較/多数判定のためのデータを準備する命令実行部(diejenige)は、接続された読み出し要求ユニットB106、B107・・・を介して、またキャッシュB205の接続されたポートを介して、対応するデータを要求する。さらに、この状態を他の命令実行部及びUVEへ、信号B8105を用いて伝達する。B102、B104、・・・を介して、キャッシュによってデータが準備された後、データは、UVEB200のB8105を介して、比較のために準備される。関係する(beteiligte)全ての命令実行部に、対応するデータが提供された場合、比較/多数決が行われる。場合によっては、他の命令実行部は、このデータの準備が整う時点まで、制御信号B140、B142.・・・を介して停止されなければならない。その際、時間監視(Zeitueberwachung)によって、許容されたタイムスロット(Zeitfenster)内に比較が行われるか、またはエラーが信号で知らされることが保障される。   If a cache with two or more ports according to FIG. 6, ie multiport cache B 205 is used, corresponding to FIG. 8, two or more processors compare data in compare mode, or A majority decision can be made. That is, it is possible to determine an effective value by majority vote. For each additional instruction execution unit B112,..., An additional read request unit B107,... Is provided according to FIG. B8, so that the UVEB 200 has a corresponding number of inputs. There must be. In the compare or majority decision (voting) mode, the instruction execution unit directly connected to the cache directly writes data for comparison or majority decision to the cache. Of the remaining instruction execution units B110, B112,..., The instruction execution unit (dienige) that first prepares data for comparison / majority determination is connected via the connected read request units B106, B107,. In addition, the corresponding data is requested through the port to which the cache B 205 is connected. Furthermore, this state is transmitted to other instruction execution units and UVEs using a signal B8105. After the data is prepared by the cache via B102, B104,..., The data is prepared for comparison via B8105 of UVEB 200. If all relevant instruction execution units are provided with corresponding data, a comparison / majority decision is made. In some cases, other instruction execution units may control signals B140, B142. ... must be stopped via. In doing so, time monitoring ensures that a comparison is made within an allowed time slot or that an error is signaled.

RAM記憶装置の代わりに、本発明の一実施形態に基づく構成は、MRAM、FERAM等の、更なる別の記憶技術も備えることが可能である。   Instead of a RAM storage device, a configuration according to an embodiment of the present invention can also include additional alternative storage technologies such as MRAM, FERAM, and the like.

データ及び/または命令のためのデュアルポート・キャッシュを示している。Fig. 2 illustrates a dual port cache for data and / or instructions. デュアルポート・キャッシュの詳細を示している。The details of the dual port cache are shown. 214または224の変換表(Transformationstabelle)である。It is a conversion table (Transformationtable) of 214 or 224. dpRAMの2つのサブ領域への分割を示している。2つのサブ領域は、互いに独立して駆動され、各ポートのそれぞれ2つの別々の選択信号によって、アクセス時に制御される。The division into two sub-regions of dpRAM is shown. The two sub-regions are driven independently of each other and controlled at the time of access by two separate selection signals for each port. 復号化を利用した、2つのアドレスビットからの4つの選択信号の生成を示している。The generation of four selection signals from two address bits using decoding is shown. ポートの切り替えを利用した、シングルポートRAMでのデュアルポートRAM領域の実現を示している。It shows the realization of a dual port RAM area in a single port RAM using port switching. p個のポートを有するマルチプルポートRAMの、並行処理される複数のサブアドレス領域への分割を示している。The division of a multiple port RAM having p ports into a plurality of subaddress areas to be processed in parallel is shown. ポートの切り替えを利用した、シングルポートRAMでのマルチポートRAM領域の実現を示している。The realization of a multi-port RAM area in a single-port RAM using port switching is shown. システム状態または構成に従った、ポートのためのRAM領域の分割を示している。Fig. 6 illustrates partitioning of RAM area for ports according to system state or configuration. システム状態または構成信号を考慮した、各ポートでのアドレスビットからのそれぞれ2つの選択信号の生成を示している。The generation of two selection signals from the address bits at each port, taking into account system state or configuration signals, is shown. 更なる別の実施形態における、システム状態または構成信号を考慮した、各ポートでのアドレスビットからのそれぞれ2つの選択信号の生成を示している。FIG. 6 illustrates the generation of two select signals from each address bit at each port, taking into account system status or configuration signals, in yet another embodiment. システム状態または構成に従った、対応する選択信号の生成によるマルチポートRAMの領域の分割を示している。Fig. 4 illustrates the division of a multi-port RAM area by generation of a corresponding selection signal according to the system state or configuration. マルチポートRAMの、多重連想アクセスを伴う領域の分割を示している。The division of the area | region with multiple associative access of multiport RAM is shown. デュアルポート・キャッシュを備えた非対称なDCSLアーキテクチャの原則を示している。Fig. 2 illustrates the principle of an asymmetric DCSL architecture with dual port cache. 2つの命令実行部のための切り替え及び比較ユニットの原則を示している。Fig. 4 illustrates the principle of switching and comparing units for two instruction execution units. 非アクティブ状態にある読み出し要求ユニットB106を示している。The read request unit B106 in the inactive state is shown. 比較ビットが設定されていない場合の、キャッシュを利用せずに切り替え及び比較ユニットを介した、命令実行部による記憶装置への択一的なアクセスを示している。The figure shows an alternative access to the storage device by the instruction execution unit via the switching and comparison unit without using the cache when the comparison bit is not set. 比較ビットが設定され、データが命令実行部B110から出力される場合の、ユニットによるキャッシュへの読み出し要求を示している。This shows a read request to the cache by the unit when the comparison bit is set and data is output from the instruction execution unit B110. キャッシュの構造を示している。The structure of the cache is shown. 制御ビットの可能な構造を説明している。A possible structure of control bits is described. シングルポートRAMを利用したデュアルポート・キャッシュ及びアクセス制御を示している。Fig. 5 illustrates a dual port cache and access control using a single port RAM. 複数のモードとマルチポート・キャッシュに切り替え可能な、非対称なデータ処理ユニットの基本構造を示している。2 shows the basic structure of an asymmetric data processing unit that can be switched to multiple modes and multi-port caches.

Claims (19)

少なくとも2つの命令実行部と、少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えるコンピュータシステムにおけるデータ及び/または命令を格納する装置であって、切り替え手段が設けられ、少なくとも2つの駆動モード間で切り替えが行われ、比較手段が設けられ、第1駆動モードがコンペアモードに、第2駆動モードがパフォーマンスモードに相当する装置において、
前記装置において、第2記憶装置または記憶領域が含まれ、前記装置は、キャシュメモリシステムとして構成され、少なくとも2つの異なるポートが備えられ、1つのポートは第1命令実行部と直接接続され、第2ポートと少なくとも第2命令実行部のとの間に第3装置が含まれており、前記第3装置は、前記第2命令実行部による前記第2記憶装置または記憶領域へのアクセスが前記第3装置を経由して行われるように構成されることを特徴とする、少なくとも2つの命令実行部とデータ及び/または命令のための少なくとも第1記憶装置または記憶領域とを備えるコンピュータシステムにおけるデータ及び/または命令を格納する装置。
An apparatus for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions, wherein switching means is provided, and at least In an apparatus in which switching between two drive modes is performed, a comparison unit is provided, the first drive mode corresponds to the compare mode, and the second drive mode corresponds to the performance mode.
In the device, a second storage device or a storage area is included, the device is configured as a cache memory system, provided with at least two different ports, one port directly connected to the first instruction execution unit, A third device is included between the two ports and at least the second instruction execution unit, and the third device is configured to allow the second instruction execution unit to access the second storage device or the storage area. Data in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions, characterized in that it is arranged to be performed via three devices A device that stores instructions.
前記切り替え手段及び/または比較手段には、少なくとも1つの記憶手段が設けられ、切り替えは、記憶手段内の少なくとも1ビットによって行われることを特徴とする、請求項1に記載の装置。   2. The apparatus according to claim 1, wherein the switching means and / or the comparing means are provided with at least one storage means, and the switching is performed by at least one bit in the storage means. 切り替えは、少なくとも1つの、前記コンピュータシステムへの外部または内部信号によって行われることを特徴とする、請求項1に記載の装置。   The apparatus according to claim 1, characterized in that the switching is performed by at least one external or internal signal to the computer system. 前記パフォーマンスモードにおいて、直接接続された命令実行部の前記第3装置は、接続されたポートを経由する前記第2記憶装置への読出し及び書き込みアクセスを保障することを特徴とする、請求項1に記載の装置。   2. The method according to claim 1, wherein in the performance mode, the third device of the directly connected instruction execution unit ensures read and write access to the second storage device via the connected port. The device described. 前記キャッシュメモリシステムに少なくとも1つのカウンタがあり、前記カウンタは、比較に関するデータが前記第1命令実行部によって前記キャッシュメモリシステムの第1ポートを経由して格納される度に、増分または減分されることを特徴とする、請求項1に記載の装置。   There is at least one counter in the cache memory system, and the counter is incremented or decremented each time data relating to comparison is stored by the first instruction execution unit via the first port of the cache memory system. The apparatus according to claim 1, wherein: 前記カウンタは、対応する接続されたポートにおいて前記コンペアモードに切り替えられる際にカウンタ値を出力し、前記カウンタ値は第3ユニットに格納されることを特徴とする、請求項5に記載の装置。   6. The apparatus of claim 5, wherein the counter outputs a counter value when switched to the compare mode at a corresponding connected port, and the counter value is stored in a third unit. 第2カウンタが前記第3装置内に設けられ、前記カウンタのカウンタ値は、前記第3ユニットの前記第2カウンタを設定するために使用されることを特徴とする、請求項5に記載の装置。   6. The device according to claim 5, wherein a second counter is provided in the third device, and the counter value of the counter is used to set the second counter of the third unit. . 少なくとも2つの命令実行部と少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えたコンピュータシステムにおいてデータ及び/または命令を格納する方法であって、切り替え手段が設けられ、少なくとも2つの駆動モード間で切り替えが行われ、比較手段が設けられ、第1駆動モードがコンペアモードに、第2駆動モードがパフォーマンスモードに相当する方法において、
第2記憶装置または記憶領域が設けられ、前記第2記憶装置または記憶領域はキャッシュメモリシステムに含まれ、少なくとも2つの異なるポートが備えられ、第1命令実行部は、第1ポートを経由して前記第2記憶装置または記憶領域に直接アクセスし、第2命令実行部は、第3装置を経由して前記第2記憶装置または記憶領域へアクセスすることを特徴とする、少なくとも2つの命令実行部と少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えるコンピュータシステムにおけるデータ及び/または命令を格納する方法。
A method of storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions, comprising switching means, In a method in which switching between the two drive modes is performed, a comparison unit is provided, the first drive mode corresponds to the compare mode, and the second drive mode corresponds to the performance mode.
A second storage device or storage area is provided, the second storage device or storage area is included in the cache memory system, and is provided with at least two different ports, and the first instruction execution unit is connected via the first port. At least two instruction execution units, wherein the second storage unit or storage area is directly accessed, and the second instruction execution unit accesses the second storage unit or storage area via a third unit; A method for storing data and / or instructions in a computer system comprising at least a first storage device or storage area for data and / or instructions.
前記第3装置は記憶手段を含み、前記記憶手段には、接続された命令実行部の(von)データ及び/または信号が格納されることが可能であり、第3ユニットは、前記接続された命令実行部の状態に依存せずに、データを前記第2記憶装置または記憶手段と交換できることを特徴とする、請求項8に記載の方法。   The third device includes storage means, wherein the storage means can store (von) data and / or signals of a connected instruction execution unit, and a third unit is connected to the connected device. 9. The method according to claim 8, wherein data can be exchanged with the second storage device or storage means without depending on the state of the instruction execution unit. 前記第3装置は、データ及び/またはアドレス及び/または制御信号を第2命令実行部から獲得し、次いで前記第2記憶装置または記憶領域の対応するデータに読出しまたは書き込みアクセスすることを特徴とする、請求項8に記載の方法。   The third device acquires data and / or an address and / or control signal from a second instruction execution unit, and then reads or writes to the corresponding data in the second storage device or storage area. The method according to claim 8. 前記キャッシュメモリシステムが、データの存在について決定し、データが存在しない場合に信号を前記第3装置に送信することを特徴とする、請求項8に記載の方法。   9. The method of claim 8, wherein the cache memory system determines the presence of data and sends a signal to the third device if no data is present. 前記第3ユニット内のデータ及び/または命令の有効性が検査され、有効な場合に次に伝送されることを特徴とする、請求項8に記載の方法。   Method according to claim 8, characterized in that the validity of the data and / or instructions in the third unit is checked and then transmitted if valid. 前記有効性は、データ及び/または命令と共に格納された追加情報に基づいて検査されることを特徴とする、請求項12に記載の方法。   13. The method of claim 12, wherein the validity is checked based on additional information stored with data and / or instructions. 前記コンペアモードへの切り替えと共に、同期信号が関連する命令実行部に発信されることを特徴とする、請求項8に記載の方法。   The method according to claim 8, wherein a synchronization signal is transmitted to an associated instruction execution unit together with switching to the compare mode. 比較を行い、比較されるデータが不一致の際に、エラーが信号で通知されることを特徴とする、請求項8に記載の方法。   9. The method according to claim 8, wherein an error is signaled when a comparison is made and the data being compared do not match. 多数決判定を行い、多数決判定されるデータの少なくとも1つのデータが不一致の際に、状態及び/またはエラーが信号で通知されることを特徴とする、請求項8に記載の方法。   9. The method according to claim 8, wherein a majority decision is made and a status and / or error is signaled when at least one of the data to be majority decided does not match. 前記キャッシュメモリシステム内にカウンタが設けられ、前記カウンタは、対応する接続されたポートにおいて前記コンペアモードに切り替えられる際にカウンタ値を出力し、前記カウンタ値は、前記第3ユニットに格納されることを特徴とする、請求項8に記載の方法。   A counter is provided in the cache memory system, and the counter outputs a counter value when switched to the compare mode at a corresponding connected port, and the counter value is stored in the third unit. The method according to claim 8, wherein: 第2カウンタが前記第3装置内に設けられ、前記カウンタのカウンタ値は、前記第3ユニットの第2カウンタを設定するために利用されることを特徴とする、請求項17に記載の方法。   The method according to claim 17, wherein a second counter is provided in the third device, and the counter value of the counter is used to set a second counter of the third unit. 前記キャッシュメモリシステムに設けられているカウンタが、1つのポートに割り当てられ、各ポートに接続された処理装置において前記コンペアモードが起動される際に、固定値に設定されることを特徴とする、請求項17に記載の方法。   A counter provided in the cache memory system is assigned to one port, and is set to a fixed value when the compare mode is activated in a processing device connected to each port. The method of claim 17.
JP2008525516A 2005-08-08 2006-07-24 Apparatus and method for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions Pending JP2009505178A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037234A DE102005037234A1 (en) 2005-08-08 2005-08-08 Device and method for storing data and / or commands in a computer system having at least two execution units and at least one first memory or memory area for data and / or commands
PCT/EP2006/064588 WO2007017367A1 (en) 2005-08-08 2006-07-24 Device and method for storing data and/or commands in a computer system having at least two execution units and at least one first memory or memory area for data and/or commands

Publications (1)

Publication Number Publication Date
JP2009505178A true JP2009505178A (en) 2009-02-05

Family

ID=36926336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008525516A Pending JP2009505178A (en) 2005-08-08 2006-07-24 Apparatus and method for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions

Country Status (6)

Country Link
EP (1) EP1915684A1 (en)
JP (1) JP2009505178A (en)
KR (1) KR20080033338A (en)
CN (1) CN101243404A (en)
DE (1) DE102005037234A1 (en)
WO (1) WO2007017367A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101432274B1 (en) 2013-12-12 2014-08-21 (주)이건산전 Controller for train with backup module

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073565B (en) * 2010-12-31 2014-02-19 华为技术有限公司 Action triggering method, multi-core packet debugging method, device and system thereof
CN112416609A (en) * 2021-01-22 2021-02-26 南京芯驰半导体科技有限公司 Mode configuration method and device of dual-core mode

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0439952A2 (en) * 1990-01-31 1991-08-07 STMicroelectronics, Inc. Dual-port cache tag memory
JPH05128080A (en) * 1991-10-14 1993-05-25 Mitsubishi Electric Corp Information processor
JP2552651B2 (en) * 1984-06-22 1996-11-13 エイ ティ アンド ティ コーポレーション Reconfigurable dual processor system
JPH09128347A (en) * 1995-06-07 1997-05-16 Tandem Comput Inc Fail-first, fail-functional and fault-tolerant multiprocessor system
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US20020073357A1 (en) * 2000-12-11 2002-06-13 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
WO2003010638A1 (en) * 2001-07-26 2003-02-06 Infineon Technologies Ag Processor comprising a number of arithmetic-logic units
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US20040123201A1 (en) * 2002-12-19 2004-06-24 Nguyen Hang T. On-die mechanism for high-reliability processor

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2552651B2 (en) * 1984-06-22 1996-11-13 エイ ティ アンド ティ コーポレーション Reconfigurable dual processor system
EP0439952A2 (en) * 1990-01-31 1991-08-07 STMicroelectronics, Inc. Dual-port cache tag memory
JPH04357539A (en) * 1990-01-31 1992-12-10 Sgs Thomson Microelectron Inc Cash-tag memory device for double ports
JPH05128080A (en) * 1991-10-14 1993-05-25 Mitsubishi Electric Corp Information processor
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
JPH09128347A (en) * 1995-06-07 1997-05-16 Tandem Comput Inc Fail-first, fail-functional and fault-tolerant multiprocessor system
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US20020073357A1 (en) * 2000-12-11 2002-06-13 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
WO2003010638A1 (en) * 2001-07-26 2003-02-06 Infineon Technologies Ag Processor comprising a number of arithmetic-logic units
US20040123201A1 (en) * 2002-12-19 2004-06-24 Nguyen Hang T. On-die mechanism for high-reliability processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101432274B1 (en) 2013-12-12 2014-08-21 (주)이건산전 Controller for train with backup module

Also Published As

Publication number Publication date
KR20080033338A (en) 2008-04-16
DE102005037234A1 (en) 2007-02-15
EP1915684A1 (en) 2008-04-30
WO2007017367A1 (en) 2007-02-15
CN101243404A (en) 2008-08-13

Similar Documents

Publication Publication Date Title
US7925840B2 (en) Data processing apparatus and method for managing snoop operations
US20060059317A1 (en) Multiprocessing apparatus
JP5485055B2 (en) Shared memory system and control method thereof
US20160299857A1 (en) Computer architecture with peripherals
JP4043225B2 (en) Cache apparatus and method
JP2012522290A (en) Method for Way Assignment and Way Lock in Cache
JP2006012163A (en) Digital data processing apparatus having multi-level register file
JPH11143775A (en) Cache memory system
JP3236287B2 (en) Multiprocessor system
JP2005234854A (en) Multiprocessor system
WO2009122694A1 (en) Cache memory device, cache memory system, and processor system
US6038642A (en) Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system
JP5499987B2 (en) Shared cache memory device
US5893163A (en) Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system
KR100280862B1 (en) Method and apparatus for tracking processing of a command
JP2010097557A (en) Set associative cache apparatus and cache method
JP2009505178A (en) Apparatus and method for storing data and / or instructions in a computer system comprising at least two instruction execution units and at least a first storage device or storage area for data and / or instructions
JP2634147B2 (en) Computer system, cache hit determination method
JP2006244460A (en) Cache memory and processor
JP2004326175A (en) Processor, cache system, and cache memory
JP2000137646A (en) Cache memory control method in multiprocessor system and the same system
JP2008165318A (en) Computer system
JPH11143774A (en) Cache control mechanism
JP3077807B2 (en) Microcomputer system
JP4498705B2 (en) Cash system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110125