WO2004077299A1 - キャッシュメモリ - Google Patents

キャッシュメモリ Download PDF

Info

Publication number
WO2004077299A1
WO2004077299A1 PCT/JP2003/002239 JP0302239W WO2004077299A1 WO 2004077299 A1 WO2004077299 A1 WO 2004077299A1 JP 0302239 W JP0302239 W JP 0302239W WO 2004077299 A1 WO2004077299 A1 WO 2004077299A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
pointer
cache memory
instruction
stored
Prior art date
Application number
PCT/JP2003/002239
Other languages
English (en)
French (fr)
Inventor
Seiji Goto
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2003/002239 priority Critical patent/WO2004077299A1/ja
Priority to JP2004568749A priority patent/JPWO2004077299A1/ja
Publication of WO2004077299A1 publication Critical patent/WO2004077299A1/ja
Priority to US11/046,890 priority patent/US20050138264A1/en

Links

Classifications

    • 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/0877Cache access modes
    • G06F12/0886Variable-length word access

Definitions

  • the present invention relates to a configuration of a cache memory.
  • the instruction cache memory temporary storage (memory) that temporarily stores instruction data from the main memory (memory) and reduces memory access delay
  • the instruction cache memory includes a direct map or N-way set associative.
  • the method is mainly used. In these methods, the cache is indexed using the index of the access address (the lower bits of the address corresponding to the entry number of the cache memory), and the tag (memory address and effective bit higher than the entry number of the cache memory) is read. Is used to determine whether the cache data matches.
  • two or more programs with a specific index cannot exist in the cache at the same time (N + 1 or more in the N-way set method) at the same time. Is reduced.
  • FIG. 1 is a diagram showing a conceptual configuration of a cache memory employing a conventional direct map method.
  • the index (address indicating the storage area of the cache memory) is a two-digit hexadecimal number (0X represents a hexadecimal number. (Indices from 0 to ff are provided.) Then, the length of the entry represented by one index in the cache memory is 0 X 40 bytes, that is, 64 bytes. It has become a unit.
  • the lower two digits of the hexadecimal address of the main memory determine which cache entry stores the address data.
  • the data at address 0 X 0 0 0 0 in the main memory has 0 as the address of the lower two digits, which is stored in the entry represented by the index 0 X 0 0 in the cache memory. .
  • the data of the lower two digits 80 of the address of the main memory is stored in the entry 0x02 of the cache memory.
  • the address of the main memory is 0x104 as shown in FIG. If you want to store both 0x004 and 0x004 in cache memory, there is only one entry with index 0x011 in cache memory, so you cannot store it. Therefore, only one of them will be stored, but if it is not stored in the cache memory and is called from the processor, a cache miss will occur and the main memory will have to be accessed again.
  • FIG. 2 is a conceptual configuration diagram of a conventional two-way set-associative cache memory.
  • FIG. 3 is a conceptual configuration diagram of a conventional associative memory.
  • associative memory allows the number of N ways to be the same as the number of entries, and can solve the problem of usage efficiency, but the problem of increased cost due to the increase in circuits There is.
  • FIG. 4 is a configuration diagram of a data access mechanism of a conventional 4-way set-associative cache memory.
  • the instruction access request / address (1) from the program counter is sent to the instruction access MMU 10 and converted to a physical address (8), and then the cache tag 12_1 to 12-4 and the cache data 13_1 to 13 — Sent as an address to 4.
  • the cache tag 12_1 to 12-4 and the cache data 13_1 to 13 — Sent as an address to 4.
  • a cache miss request (3) is output to the secondary cache.
  • the cache miss request (3) consists of the request itself (3) -1 and the miss address (3) -2.
  • the return data from the secondary cache updates the cache tags 12-1 to 12-4 and the cache data 13-1 to 13-4, and returns data to the instruction buffer in the same way.
  • the write address (7) is output from the instruction access MMU 10. Kiyasshutagu 1 2 1-1 2 4 and caching data 1 3 - 1-1 3 one 4 updates are performed by the tag update control unit 1 1 and the data update control unit 1 4.
  • the inputs of the comparator 15 and the selector 16 become N.
  • Japanese Unexamined Patent Publication No. Hei 11-328014 discloses that in order to increase the use efficiency of the cache memory, in order to cope with the difference in the range of spatial locality in the address space, each address space is A technique for appropriately setting the block size is disclosed.
  • Japanese Patent Application Laid-Open No. 2000-290730 discloses a technique for providing a RAM set cache that can be used together with the direct map method and the set associative method.
  • the RAM set cache is provided so as to constitute one way of the set associative system, and performs reading and writing in line units. Disclosure of the invention
  • An object of the present invention is to provide a low-cost and highly efficient cache memory.
  • the cache memory comprises: a head pointer storage means for storing a head pointer corresponding to a head address of a stored data block; and a pointer corresponding to an address at which data constituting the data block is stored.
  • the destination Pointer map storage means for storing a connection relationship between the pointers from the head pointer and pointer data storage means for storing data stored in an address corresponding to the pointer.
  • data is stored as a block by storing the connection relation of pointers. Therefore, a variable-length data block can be stored by changing the connection relation of pointers.
  • the storage capacity of the cache memory can be used up as effectively as possible as compared with the conventional method in which the unit of the data block to be stored is determined. It is possible to flexibly respond when the unit is sufficient. Therefore, the use efficiency of the cache memory is increased, and as a result, the possibility of a cache miss can be reduced.
  • FIG. 1 is a diagram showing a conceptual configuration of a cache memory adopting a conventional direct map system.
  • FIG. 2 is a conceptual configuration diagram of a conventional two-way set-associative cache memory.
  • FIG. 3 is a conceptual configuration diagram of a conventional associative memory.
  • FIG. 4 is a configuration diagram of a data access mechanism of a conventional 4-way set-associative cache memory.
  • 5 and 6 are diagrams illustrating the concept of the present invention.
  • FIG. 7 is an overall configuration diagram including the present invention.
  • FIG. 8 is a configuration diagram of the embodiment of the present invention.
  • Figure 9 shows the configuration when the CAM is used in combination with the instruction access MMU page management mechanism of the processor and the CAM.
  • 1 to 13 are diagrams illustrating the operation of the embodiment of the present invention. BEST MODE FOR CARRYING OUT THE INVENTION
  • 5 and 6 are diagrams illustrating the concept of the present invention.
  • CAM is applied not for each cache entry but for each instruction block. Specifically, only the information of a certain instruction block (start address, size of the instruction block, number of the start pointer of the instruction block) is stored in CAM (see Fig. 5). The instruction data itself is stored in the pointer memory of the FIFO structure indicated by the first pointer (see Fig. 6).
  • the pointer memory is composed of two memories, a pointer map memory and a pointer data memory.
  • the pointer map memory shows the connection information between pointers
  • the pointer data memory shows the data itself in the pointer
  • a plurality of FIFOs It can be virtually constructed on one memory.
  • the storage area is a continuous area such as RAM, for example, but the continuity of data is maintained by holding the connection information of the pointer. Therefore, data indicated by the pointer having continuity constitutes one block, and is stored in the cache memory of the embodiment of the present invention for each block.
  • the block size of the stored data can be freely changed by operating the connection information of the pointer. In other words, there are not multiple physical FIFOs.
  • the reading of the instruction cache in the present invention is as follows: (1) The CAM is indexed from the address to obtain a pointer storing the head address of the block containing the data to be accessed. (2) Obtain a pointer to the block containing the data to be accessed from the pointer map memory. (3) Read the instruction data to be accessed from the instruction data block at the address indicated by the pointer obtained from the pointer data memory. (4) Execute. As a result, the same cache use efficiency as when a data recording area having a different length is implemented for each instruction block can be obtained. Also, since there is less index information than using CAM for all entries, the number of circuits can be relatively reduced.
  • a free pointer is provided from a free pointer supply unit (not shown) at the same time that a tag is set in CAM, and data from the memory is written to the entry of the pointer memory indicated by the free pointer. If continuous access is requested by the processor, resupply the free pointer, write to the cache as well, and add the second pointer to the pointer queue. When the free pointer expires, destroy the instruction block by discarding old data and secure a free pointer.
  • FIG. 7 is an overall configuration diagram including the present invention.
  • An instruction to be executed is acquired from the external bus via the external bus interface 20. First, it is checked whether the instruction pointed to by the program counter 21 exists in the instruction buffer 22. If not, the instruction buffer 22 sends a request to fetch the instruction to the instruction access MMU 23. The instruction access MMU 23 converts the logical address strength used by the program into a physical address that depends on the hardware mapping order. The instruction access primary cache tag 24 is searched using the address, and if the address matches, the read address is sent and the instruction data is returned to the instruction buffer 22 because the corresponding data exists in the instruction access primary cache data 25.
  • the secondary cache tag 26 is searched for If not, it issues a request, such as an external bus, and replenishes the return data to the secondary cache data 27 and the instruction access primary cache data 25 sequentially. At this time, the replenishment is stored by updating the secondary cache tag 26 and the instruction access primary cache tag 24. The replenished data is stored in the instruction buffer 22 in the same manner as in the instruction access primary cache data 25.
  • the instruction sequence stored in the instruction buffer 22 is sent to the execution unit 28, and is transferred to the arithmetic unit 29 and the load unit 30 according to the type of each instruction.
  • the operation instruction or the branch instruction performs a process of recording the output of the arithmetic unit 29 in the general-purpose register file 31 or updating a program counter (not shown).
  • the load store instruction sequentially accesses the data store MMU 32 in the same way as the instruction access in the load store unit 30, the data access primary cache tag 33, and the data access primary cache data 34 in the same way as the instruction access.
  • a load instruction to copy the data to the general-purpose register file 31 or a store instruction to copy the data from the general-purpose register file 31 is executed for the entry.
  • FIG. 8 is a configuration diagram of the embodiment of the present invention.
  • the instruction access request address from the program counter is sent to the instruction access MMU 23, converted to a physical address, and then sent to the CAM 41 as an address.
  • the CAM 41 outputs tag, size, and start pointer data.
  • the address / size determination Z-hit determination block 42 searches for the final desired pointer, reads out the pointer data if the pointer exists, and stores the data in the instruction buffer (not shown) as instruction data (1). Sent. If it does not exist, it is output to the secondary cache as a cache miss request (2). Thereafter, the return data from the secondary cache passes through the block head determination block 43, and if the return data is the head instruction, the CAM 41 is updated.If the return data is not the head instruction, the pointer map memory 44 is updated.
  • the pointer data memory 45 is updated, and data is returned to the instruction buffer in the same manner.
  • the block start determination block 43 when writing, an empty pointer is supplied from the empty pointer FI F046, but if it has expired, an instruction is sent from the empty pointer FIF 046 to the discard pointer selection control block 47. The discard instruction is given to any CAM entry. The output is invalidated by the address-size judgment hit judgment block 42 and returned to the empty pointer FIF046.
  • Figure 9 shows the configuration in which the CAM is shared with the instruction access MMU page management mechanism of the processor.
  • the size of the address translation unit (page) of the MMU and the size of the cache management unit are made the same, so that the CAM in the MMU has the same function and the number of CAMs is reduced. 50). That is, the instruction access MMU Has a table that converts virtual addresses to physical addresses, but this table and the CAM table are merged into one table, and the CAM search is performed by the instruction access MMU mechanism. Such operations are performed. According to this, the search mechanism of the table can be handled by a single hardware, and the search mechanism of the instruction access MMU and the CAM can be handled by one piece of hardware.
  • the instruction data to be read into the cache memory is stored in blocks, so that the program must be read in blocks.
  • the instruction when the instruction is read by the processor, if it is determined that the read instruction is a subroutine call and its return instruction, conditional branch instruction, exception processing and its return instruction, it is considered to be the beginning or end of the program. Judgment is made, and the block between the instructions is stored in the cache memory as a unit. As described above, in the case where instructions to be read are blocked and read into the cache memory according to the contents of the program, the size of the block differs each time the blocks are read.
  • a variable-length block can be configured on a memory
  • such a method can be adopted.
  • an arbitrary instruction is set at the top of the block, and when a block of a predetermined size is obtained, the last instruction is blocked. Is possible as the last instruction.
  • an arbitrary block-forming method can be adopted only by changing the instruction decode of the block head determination in FIGS. For example, when blocking is performed according to the description of a program, a CALL instruction, a register write instruction, and the like are determined, and the start of a block is determined.
  • the processor detects the start and end of the instruction block and sends a control signal to the instruction block CAM.
  • the first signal When a is received, the cache tag is recorded, the data is obtained from the main memory, and the instruction is written to the cache address indicated by the pointer.
  • the entry number is added to the cache tag No. queue, and the instruction block size is added at the same time.
  • the entry number is calculated from the cache tag + size and access is performed.
  • the notification of the head and tail of the instruction block is notified by a specific register access. In this case, it is necessary to declare the explicit start / end of the block by the instruction. This is the case where the program is forcibly blocked regardless of the instruction in the program.
  • FIGS. 10 to 13 are diagrams illustrating the operation of the embodiment of the present invention.
  • FIG. 10 shows an operation when an instruction is present in the cache memory according to the embodiment of the present invention, that is, when an instruction is hit.
  • the CAM unit 61 is searched to find the first pointer of the block containing the instruction data to be accessed. In the case of an instruction hit, there is a block start pointer containing instruction data to be accessed. Next, the pointer map memory 62 is searched from the obtained top pointer, and all the pointers of the instruction data constituting the block are obtained. Then, the instruction data is acquired from the pointer data memory 63 using the acquired pointer, and is returned to the processor 60.
  • FIG. 11 shows a case where no instruction exists in the cache memory according to the embodiment of the present invention, that is, a case where an instruction is missed and an instruction to be accessed should be at the head of the block.
  • addressing is performed by the processor 60 and an attempt is made to access the instruction data.
  • the CAM section 61 searches for the pointer according to this address. In this case, it is determined that there is no block containing the corresponding instruction, and that the corresponding instruction should be the head of the block.
  • an empty pointer is acquired from the empty pointer queue 64, the block containing the instruction data is read from the main memory, and the head address indicated by the head pointer of CAM is updated.
  • the pointer map memory 62 also associates the acquired empty pointers as blocks, the pointer data memory 63 associates each pointer with the instruction data read from the main memory, and stores the instruction data in the processor 60.
  • the empty pointer queue 64 is a pointer data buffer using a normal FIFO, and has an initial value in which a pointer is recorded from 0 to the maximum value.
  • FIG. 12 is a diagram showing an operation in a case where instruction data to be accessed does not exist in the cache memory according to the embodiment of the present invention and the instruction data should exist in a place other than the head of the block. .
  • the address is output from the processor 60, and the CAM unit 61 searches for the instruction data. However, it is determined that the instruction data does not exist in the cache memory. Then, the free pointer is obtained from the free pointer 64 and the block containing the instruction data is read from the main memory. Then, the block size of the CAM unit 61 is updated and the pointer map memory 62 is updated in such a manner that the read block is connected to a block already registered in the CAM unit 61 adjacent to the block. Then, the pointer data memory 63 stores the read instruction data of the block, and returns the instruction data to the processor 60.
  • FIG. 13 is a diagram showing an operation when it is necessary to read a block of instruction data but there is no empty pointer.
  • the processor 60 accesses the instruction data to the CAM unit 61. However, it is determined that the instruction data is not in the cache memory. Furthermore, the main memory When trying to acquire a free pointer from the free pointer queue to read a block of instruction data, an instruction is issued to discard an arbitrary block because there is no free pointer.
  • the pointer map memory 62 discards one block from the pointer map and notifies the discarded pointer to the empty pointer queue 64. As a result, the free pointer queue 64 has obtained a free pointer, so this is notified to the CAM unit 61, and a new instruction data block is read from the main memory.

Landscapes

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

Abstract

キャッシュメモリを、CAM構成で、格納されているデータブロックの先頭アドレスを示す先頭ポインタを格納するCAM部と、CAM部に格納されている先頭ポインタからの、データブロックを構成するデータのアドレスを示すポインタ間の一連の接続関係を格納するポインタマップメモリと、ポインタで示されたアドレスのデータを格納するポインタデータメモリで構成する。ポインタの接続関係を自由に設定可能であるため、キャッシュメモリに格納されるデータブロックの大きさを自由に設定でき、キャッシュメモリに使用率を向上することができる。

Description

明細書 キヤッシュメモリ 技術分野
本発明は、 キャッシュメモリの構成に関する。 背景技術
プロセッサが使用する命令キャッシュメモリ (主記憶 (メモリ) からの命令 データを一時的に保持し、 メモリアクセス遅延を緩和する一時記憶 (メモリ)) には、 ダイレク トマップ、 あるいは、 Nウェイセットァソシエイティブ方式が 主に使用されている。これらの方式では、アクセスァドレスのィンデックス (キ ャッシュメモリのェントリ番号に相当するアドレス下位ビット) を用いてキヤ ッシュを索引し、 タグ (キヤッシュメモリのェントリ数より上.位のメモリアド レスと有効ビット) を用いてキヤッシュデータの一致判定を行っている。 ここ で、 特定のィンデックスを持つプログラムは、 同一時刻に 2つ以上 (Nウェイ セット方式では、 N + 1個以上)、同一時刻にキャッシュ上に存在することがで きないため、 キャッシュの使用効率が低下するという問題点がある。
図 1は、 従来技術のダイレク トマップ方式を採用したキャッシュメモリの概 念構成を示す図である。
ダイレクトマップキャッシュメモリにおいては、 インデックス (キャッシュ メモリの記憶領域を表すアドレス) として、 2桁の 1 6進数 (0 Xというは 1 6進数の数であることを表し、 同図では、 1 6進数で 0 0〜 f f までのインデ ッタスが設けられている) を取っている。 そして、 キャッシュメモリの 1つの インデックスで表されるエントリの長さが 0 X 4 0バイ ト、 すなわち、 6 4バ イトとなっている。 ここで、 同図では、 主記憶の 1 6進数のアドレスの内、 下 位 2桁の値によって、 そのァドレスのデータをどのキヤッシユエントリに格納 するかを決めている。 例えば、 主記憶の 0 X 0 0 0 0番地のデータは、 下位 2 桁のァドレスとして 0 0を持っており、 これは、 キヤッシュメモリのィンデッ タス 0 X 0 0で表されるエントリに格納される。 また、 主記憶のアドレスの下 位 2桁カ 8 0のデータは、 キヤッシュメモリのィンデッタス 0 x 0 2のェント リに格納される。 このように、 主記憶の下位 2桁のアドレス値のみを見て、 キ ャッシュメモリへの格納領域を決定しているので、 同図に示されるように、 主 記憶のァドレスが 0 x 1 0 4 0と 0 x 0 0 4 0の両方をキヤッシュメモリに格 納したい場合には、 キャッシュメモリにインデックス 0 X 0 1のエントリが 1 つしかないため、 格納できないことになる。 従って、 いずれかのみを格納する ことになるが、 キャッシュメモリに格納しなかつた方がプロセッサから呼び出 された場合、 キャッシュミスが生じ、 再び主記憶にアクセスしなければならな くなる。
図 2は、 従来の 2ウェイセットァソシエイティブキャッシュメモリの概念構 成図である。
この場合には、 主記憶のアドレスの下位 2桁のみを検出して、 キャッシュメ モリ内のどのエントリに格納するかを決定するが、 同じインデックスのェント リが 2つ設けられる (ウェイ 1とウェイ 2と呼ばれる) ので、 ダイレク トマツ プキャッシュメモリの時に比べ、 キャッシュミスが生じる可能性は小さくなる 1 それでも、 主記憶のアドレスの下位 2桁が同じデータを 3つ以上記憶する ことができないので、 やはり、 キャッシュミスが生じる。
図 3は、 従来の連想記憶メモリの概念構成図である。
連想記憶メモリ (C AM)を用いれば、 Nウェイがェントリ数と同一に出来、 使用効率の問題を解決可能であるが、 回路の増大による高コスト化という問題 がある。
同図の場合には、 256ウェイセットァソシエイティブキャッシュメモリと 同等である。 すなわち、 主記憶のアドレスにおいて、 下位 2桁が同じアドレス が 256個である場合には、 主記憶のデータを全てキャッシュメモリに記憶可 能となるのである。 従って、 主記憶からキャッシュメモリにデータが格納でき ないと言うことが無く、 従って、 キャッシュミスも起きない。 し力、し、 主記憶 のデータを全て格納するだけのキヤッシュメモリを設けることは、 それだけハ 一ドウエアが多くなることになり、 また、 多くのウェイを制御する必要も生じ ることから、 キャッシュメモリ自体が高価になってしまう。
上記のキャッシュメモリの構成については、 下記の参照文献を参考にされた い。
" コンピュータアーキテクチャ" 第 8章 [記憶階層の設計] 日経 BP社 /I S BN4- 8222-71 52-8
図 4は、 従来の 4ウェイセットァソシエイティブキヤッシュメモリのデータ アクセス機構の構成図である。
プログラムカウンタからの命令アクセスリクエスト/アドレス (1) は命令 アクセス MMU 10に送られ、 物理アドレス (8) に変換された後、 キヤッシ ュタグ 1 2_ 1~12— 4及びキャッシュデータ 1 3_ 1〜1 3— 4にァドレ スとして送られる。 同一下位アドレス (インデックス) で検索されたタグ出力 のうち、 タグ出力が示すアドレス上位ビット (タグ) 1 命令アクセス MMU 10からのリクエストァドレスと一致したものがあれば、 それはキャッシュデ ータ 1 3— 1〜1 3— 4内に有効なデータが存在する (ヒッ ト) ことを示す。 これらの一致検出を比較器 15で行い、 同時にそのヒット情報 (4) でセレク タ 16を起動する。 ヒットしていれば、 そのデータは命令データ (5) として 命令バッファに送られる。 ヒットしなかった場合は、 キャッシュミスリクエス ト(3 ) として、二次キヤッシュに出力される。キャッシュミスリクエスト(3 ) は、 リクエストそのもの (3 ) — 1とミスアドレス (3 ) — 2からなる。 その 後、 二次キャッシュからの戻りデータは、 キャッシュタグ 1 2— 1〜1 2— 4 及びキャッシュデータ 1 3— 1〜1 3— 4を更新し、 同様に命令バッファにデ ータを返す。 キャッシュタグ 1 2— 1〜 1 2— 4及びキャッシュデータ 1 3— 1〜1 3— 4を更新する場合には、 書き込みアドレス (7 ) が命令アクセス M MU 1 0から出力される。 キヤッシュタグ 1 2— 1〜 1 2— 4及びキヤッシュ データ 1 3— 1〜 1 34の更新は、 タグ更新制御部 1 1及びデータ更新制御 部 1 4により行われる。 Nウェイ構成の場合、 比較器 1 5及びセレクタ 1 6の 入力が Nになる。また、ダイレクトマップ構成の場合はセレクタは不要になる。 特開平 1 1 - 3 2 8 0 1 4号公報には、 キャッシュメモリの使用効率を上げ るために、 ァドレス空間中における空間局所性の及ぶ範囲の違いに対応するた めに、 ァドレス空間毎にプロックサイズを適切に設定する技術が開示されてい る。
特開 2 0 0 1— 2 9 7 0 3 6号公報には、 ダイレク トマツプ方式ゃセットァ ソシエイティブ方式と共に用いることのできる、 R AMセットキャッシュを設 ける技術が記載されている。 R AMセットキャッシュは、 セットァソシエイテ イブ方式の 1つのウェイを構成するように設けられ、行単位の読み書きを行う。 発明の開示
本発明の課題は、 低コストで使用効率の高いキャッシュメモリを提供するこ とである。
本発明のキャッシュメモリは、 格納されているデータプロックの先頭ァドレ スに対応する先頭ポインタを格納する先頭ポインタ格納手段と、 該データプロ ックを構成するデータが格納されているアドレスに対応するポインタと、 該先 頭ボインタからの該ポィンタ間の接続関係を格納するポインタマップ格納手段 と、 該ポインタに対応するァドレスに格納されるデータを格納するポインタデ ータ格納手段とからなることを特徴とする。
本発明によれば、 ポインタの接続関係を格納することにより、 データをプロ ックとして格納するようにしている。 従って、 ポインタの接続関係を変更すれ ば、 可変長のデータブロックを格納可能となる。
すなわち、 格納するデータプロックの単位が決定されている従来の方式に比 ベ、 キャッシュメモリの記憶容量を可能な限り有効に使い切ることができ、 ま た、 大きなプロック単位: 格納すべき場合と小さなプロック単位でよい場合に 対して柔軟に対応できる。 よって、 キャッシュメモリの使用効率が上がり、 結 果として、 キヤッシュミスの可能性を小さくすることができる。 図面の簡単な説明
図 1は、 従来技術のダイレクトマップ方式を採用したキャッシュメモリの概 念構成を示す図である。
図 2は、 従来の 2ウェイセットァソシエイティブキャッシュメモリの概念構 成図である。
図 3は、 従来の連想記憶メモリの概念構成図である。
図 4は、 従来の 4ウェイセットァソシエイティブキャッシュメモリのデータ アクセス機構の構成図である。
図 5及び図 6は、 本発明の概念を説明する図である。
図 7は、 本発明を含む全体構成図である。
図 8は、 本発明の実施形態の構成図である。
図 9は、 プロセッサの命令アクセス MMUのページ管理機構と C AMとを共 用する場合の構成を示したものである。 図 1◦〜図 1 3は、 本発明の実施形態の動作を説明する図である。 発明を実施するための最良の形態
図 5及び図 6は、 本発明の概念を説明する図である。
本発明では、 プロセッサの命令実行はキャッシュ 1エントリ分ではなく、 数 プロック〜数十ブロック以上で行われることが多いことに着目した。 C AMを 全エントリに対し適用可能ならば、 問題は解決可能であるが、 高コストになる ことは前述の通りである。そこで、 C AMをキャッシュェントリごとではなく、 命令ブロック単位毎に適用する。 具体的には、 ある命令プロックの情報 (先頭 アドレス、 命令ブロックのサイズ、 命令ブロックの先頭ポインタの番号) のみ C AM上に保持する (図 5参照)。命令データ自体は先頭ボインタで示される F I F O構造のポインタメモリに記憶する (図 6参照)。ポインタメモリはポイン タマップメモリとポインタデータメモリの 2つのメモリから構成され、 ポイン タマップメモリはボインタ間の接続情報を、 ボインタデータメモリはそのボイ ンタにおけるデータそのものを表し、 複数の F I F Oを 1つのメモリ上に仮想 的に構築可能としている。 すなわち、 記憶領域は、 例えば、 R AMなどの連続 領域であるが、 データの連続性がボインタの接続情報を保持することによって 保たれているということである。 よって、 連続性を持つポインタによって示さ れるデータは 1つのブロックを構成し、 ブロック毎に本発明の実施形態のキヤ ッシュメモリに格納されていることになる。 ここで、 特に、 本発明の実施形態 のキャッシュメモリは、 ポインタの接続情報を操作することによって、 格納さ れるデータのプロックサイズを自由に変更可能となっている。 すなわち、 物理 的な F I F Oが複数用意されているわけではない。 本発明における命令キヤッ シュの読み込みは (1 ) アドレスから C AMを索引して、 アクセスすべきデー タが含まれるプロックの先頭ァドレスが格納されているポインタを取得する、 ( 2 ) ポインタマップメモリからアクセスすべきデータが含まれるプロックへ のボインタを取得する、 ( 3 )ポインタデータメモリから取得したボインタで示 されるァドレスの命令データブロックから、 アクセスしたい命令データを読み 込む、 (4 ) 実行する、 となる。 これにより、命令ブロック毎に異なる長さのデ ータ記録領域を実装したのと同じキャッシュ使用効率が得られる。 また、 全ェ ントリに C AMを用いるより索引情報が少ないため回路を相対的に削減するこ とができる。 キャッシュミス時は、 C AMにタグをセットすると同時に空きポ インタを空きポインタ供給部 (不図示) から提供し、 メモリからのデータを空 きポインタが示すボインタメモリのェントリに書き込む。 継続アクセスがプロ セッサから要求された場合は、 空きポインタを再度供給し、 同様にキャッシュ に書き込み、 2番目のポインタをポインタキューに追加する。 空きポインタが 枯渴した場合は、古いデータから破棄するなどの方法で命令プロックを破棄し、 空きポインタを確保する。
図 7は、 本発明を含む全体構成図である。
同図はマイクロプロセッサの概略を示しており、 動作は以下のようになる。 1 ) 命令フェッチ
実行するための命令を外部バスより外部バスインターフェース 2 0を介して 獲得する。 まず、 プログラムカウンタ 2 1の指し示す命令が命令バッファ 2 2 に存在するかを確認し、 ない場合、 命令バッファ 2 2は命令をフェッチする要 求を命令アクセス MMU 2 3に送る。 命令アクセス MMU 2 3はプログラムが 使用する論理ァドレス力 ら、 ハードウエアのマッピング順序に依存する物理ァ ドレスに変換する。 そのァドレスを用いて命令アクセス一次キャッシュタグ 2 4を検索し、 一致すれば命令アクセス一次キャッシュデータ 2 5に該当データ が存在するため、 読み出しアドレスを送り、 命令データを命令バッファ 2 2に 返す。 存在しない場合は、 更に二次キャッシュタグ 2 6を検索し、 なお存在し ない場合は外部バスというように要求を発行し、 戻りデータを順次、 二次キヤ ッシュデータ 2 7、 命令アクセス一次キャッシュデータ 2 5へと補充する。 こ のとき、 補充されたことを二次キヤッシュタグ 2 6、 命令アクセス一次キヤッ シュタグ 2 4の更新により記憶する。 補充されたデータは、 命令アクセス一次 キャッシュデータ 2 5に存在しているときと同じ要領で、 命令バッファ 2 2に 格納する。
2 ) 命令の実行
命令バッファ 2 2に格納された命令列は、 実行ュニット 2 8に送られ、 それ ぞれの命令の種別に応じて演算器 2 9、 ロードストァュニット 3 0に転送され る。 演算命令や分岐命令は演算器 2 9の出力を汎用レジスタファイル 3 1に記 録するか、 あるいはプログラムカウンタ (不図示) を更新する、 といった処理 を行う。 また、 ロードス トァ命令は、 ロードス トァュニッ ト 3 0にて、 命令ァ クセスと同様にデータアクセス MMU 3 2—データアクセス一次キャッシュタ グ 3 3—データアクセス一次キヤッシュデータ 3 4と順次アクセスし、 そのデ ータを汎用レジスタファイル 3 1にコピーするロード命令、 あるいは、 そのェ ントリに対し、 汎用レジスタファイル 3 1からコピーするストァ命令、 と命令 に応じて実行する。 一次キャッシュにない場合は、 命令実行機構と共用の二次 キャッシュ、 あるいは外部バスよりデータを獲得して、 同様に実行する。 実行 の完了後、 プログラムカウンタは逐次加算されるか、 あるいは、 分岐指示アド レスに更新され、 再度 1 ) の命令フェッチを行う。
3 ) 全体
このように命令フェッチ、 命令実行を繰り返し、 マイクロプロセッサは動作 するが本発明では、 点線部の命令アクセス MMU 2 3、 命令アクセス一次キヤ ッシュタグ 2 4、 命令アクセス一次キャッシュデータ 2 5の新しい構成を提供 する。 図 8は、 本発明の実施形態の構成図である。
プログラムカウンタからの命令アクセスリクエスト アドレスは命令ァクセ ス MMU 23に送られ、 物理アドレスに変換された後、 CAM 41にアドレス として送られる。 CAM41はタグ、サイズ、先頭ポインタデータを出力する。 アドレス ·サイズ判定 Zヒット判定プロック 42では、 最終的な希望ボインタ の検索を行い、 そのポインタが存在した場合はポインタデータを読み出し、 そ のデータは命令データ (1) として命令バッファ (不図示) に送られる。 存在 しない場合、 キャッシュミスリクエスト (2) として、 二次キャッシュに出力 される。 その後、 二次キャッシュからの戻りデータは、 プロック先頭判定プロ ック 43を経由し、 戻りデータが先頭命令であれば、 CAM41の更新を、 先 頭命令でなければポィンタマップメモリ 44の更新と C AMサイズ情報 42の 更新と共に、 ポインタデータメモリ 45を更新し、 同様に命令バッファにデー タを返す。 プロック先頭判定ブロック 43では、 書き込みに際し、 空きポイン タ F I F046からの空きポインタの供給を受けるが、 枯渴してしまった場合 は、 空きポインタ F I F 046から破棄ボインタ選択制御ブロック 47に指示 が送られ、 任意の CAMェントリに破棄指示を行う。 その出力はァドレス -サ ィズ判定 ヒット判定プロック 42で無効化され、 空きポインタ F I F046 に返却される。
図 9は、 プロセッサの命令アクセス MMUのページ管理機構と CAMとを共 用する場合の構成を示したものである。
なお、 同図において、 図 8と同じ構成要素には同じ参照符号を付して、 説明 を省略する。
この構成は、 MMUのアドレス変換単位 (ページ) とキャッシュの管理単位 を同一サイズにすることにより、 MMU内の CAMに同一機能を持たせ、 CA Mの削減をはかったものである (同図の 50)。すなわち、命令アクセス MMU では、 仮想ァドレスを物理ァドレスに変換するテーブルを有しているわけであ るが、 このテーブルと、 C AMのテーブルとを 1つのテーブルに併合し、 命令 アクセス MMUの機構で、 C AMの検索などの動作を行うようにしたものであ る。 これによれば、 テーブルの検索機構を命令アクセス MMUと C AMの検索 機構を 1つのハードウェアで扱うことができるので、 ハードウェアの削減とな る。
また、 本発明の実施形態においては、 キャッシュメモリに読み込む命令デー タを一塊りずつ格納するので、 プログラムをブロック化して読み込む必要があ る。 この場合、 命令がプロセッサが読み込んだとき、 読み込んだ命令がサブル 一チンコール及びその復帰命令、 条件分岐命令、 例外処理及びその復帰命令で あると判断した場合には、 プログラムの先頭あるいは最後であると判断して、 その命令間のブロックを単位としてキヤッシュメモリに格納する。このように、 プログラムの内容に従って、 読み込む命令をブロック化してキヤッシュメモリ に読み込む場合は、 プロックの大きさが、 読み込む度に異なることになるが、 本発明の実施形態によれば、 ポインタを用いて、 可変長のブロックをメモリ上 に構成可能であるので、 このような方法が採用できる。 あるいは、 ブロックの 大きさを強制的に決定し、 順次プログラムの命令をデコードする際に、 任意の 命令をブロックの先頭とし、 所定の大きさのプロックが得られた時点で、 最後 の命令をブロックの最後の命令とするような方法が可能である。 この場合、 図 8、 9のブロック先頭判定の命令デコードを変更するだけで、 任意のブロック 化方法が採用可能である。 例えば、 プログラムの記述に従ってプロック化する 場合には、 C A L L命令 レジスタライト命令等を判定して、 ブロックの先頭 と判断することになる。
本発明の実施形態においては、 プロセッサで命令プロックの先頭と末尾を検 出し、 命令ブロック C AMに制御信号を送出する。 本制御機構では、 先頭信号 を受け取ると、 キャッシュタグを記録し、 主記憶よりデータを獲得し、 ポイン タが示すキヤッシュアドレスに命令を書き込む。 プロセッサの要求が 1キヤッ シュエントリに達する毎に、 空きポインタキューより空きエントリを補充し、 そのェントリ番号をキヤッシュタグ■キューに追加すると同時に、 命令プロッ クサイズを加算する。 同一ブロックを複数回、 またはブロック内の途中に分岐 する場合は、 キャッシュタグ +サイズからエントリ番号を割り出し、 アクセス を行う。 また、 上記において、 命令プロックの先頭と末尾の通知を特定のレジ スタアクセスで通知する。 この場合、 命令によるブロックの明示的開始/終了 を宣言する必要がある。 これは、 前述した、 プログラムの中で命令によらず、 強制的にプロック化する場合である。
図 1 0〜図 1 3は、 本発明の実施形態の動作を説明する図である。
図 1 0は、 本発明の実施形態に従つたキャッシュメモリに命令が存在した場 合、 すなわち、 命令ヒットの場合の動作である。
プロセッサ 6 0から、アクセスすべき命令データのァドレスが出力されると、 C AM部 6 1を検索して、 アクセスすべき命令データを含むブロックの先頭ポ インタを検索する。 命令ヒットの場合には、 アクセスすべき命令データを含む プロックの先頭ポインタが存在した場合である。 次には、 得られた先頭ポイン タから、 ポインタマップメモリ 6 2を検索し、 プロックを構成する命令データ のポインタを全て取得する。 そして、 取得したポインタを用いて、 ポインタデ 一タメモリ 6 3から命令データを取得し、 プロセッサ 6 0に返す。
図 1 1は、本発明の実施形態に従ったキャッシュメモリに命令が存在しない、 すなわち、 命令ミスの場合であって、 アクセスすべき命令がプロックの先頭に 有るべき場合を示している。
この場合、 プロセッサ 6 0からアドレス指定が行われ、 命令データへのァク セスが試みられる。 C AM部 6 1では、 このアドレスに従ってポインタを検索 する力 今の場合、 対応する命令が含まれているプロックが無く、 しかも、 対 応する命令がプロックの先頭となるべきものであると判断される。 の場合、 空きポインタキュー 6 4から、 空きのポインタを獲得し、 主記憶から当該命令 データを含むブロックを読み込み、 C AMの先頭ポインタで示される先頭ァド レスを更新する。 また、 ポインタマップメモリ 6 2も、 獲得された空きポイン タをブロックとして関連付けて、 ポインタデータメモリ 6 3は、 各ポインタに 主記憶から読み込まれた命令データを対応付けて、 命令データをプロセッサ 6 0に返す。 空きポインタキュー 6 4は、 通常の F I F Oによるポインタデータ バッファであり、 初期値は、 ポインタが 0から最大値まで記録されるものであ る。
図 1 2は、 アクセスすべき命令データが本発明の実施形態に従つたキヤッシ ュメモリに存在せず、 命令データがブロックの先頭以外の場所に存在すべきも のである場合の動作を示す図である。
プロセッサ 6 0からアドレスが出力され、 C AM部 6 1で命令データの検索 をするが、 キヤッシュメモリに存在しないと判断される。 すると、 空きポイン タキユー 6 4から空きポインタを取得し、 主記憶から当該命令データを含むブ ロックを読み込む。 そして、 当該プロックに隣接する、 既に C AM部 6 1に登 録されているブロックに、 読み込んだプロックをつなげる要領で、 C AM部 6 1のブロックサイズを更新し、 ポインタマップメモリ 6 2を更新し、 ポインタ データメモリ 6 3が、 読み込んだプロックの命令データを格納し、 命令データ をプロセッサ 6 0に返す。
図 1 3は、 命令データのプロックを読み込む必要があるが、 空きポインタが ない場合の動作を示す図である。
プロセッサ 6 0から命令データへのアクセスが C AM部 6 1になされる。 し かし、 命令データがキャッシュメモリ内にないと判断される。 更に、 主記憶か ら命令データのプロックを読み込むために空きポインタキューから空きポイン タを獲得しょうとするが、 空きポインタがないため、 任意の 1プロックを破棄 する命令が出される。 ポインタマップメモリ 6 2は、 ポインタマップから 1ブ ロック分を破棄し、 破棄したポインタを空きポインタキュー 6 4に通知する。 これにより、 空きポインタキュー 6 4は、 空きポインタを獲たので、 これを C AM部 6 1に通知して、 主記憶から新しい命令データブロックを読み込む。 産業上の利用可能性
本発明による、 キヤッシュメモリの構成として C AMを採用するよりも少な い回路量で、 キャッシュ使用効率を大幅に改善したキヤッシュメモリ機構を提 供可能となる。

Claims

請求の範囲
1 . 格納されているデータブロックの先頭ァドレスに対応する先頭ポインタを 格納する先頭ボインタ格納手段と、
該データブロックを構成するデータが格納されているアド ^スに対応するポ インタと、 該先頭ボインタからの該ポインタ間の接続関係を格納するポインタ マップ格納手段と、
該ポインタに対応するアドレスに格納されるデータを格納するポインタデー タ格納手段と、
からなることを特徴とするキャッシュメモリ。
2 . 前記データブロックは、 プロセッサからの指示により、 先頭と末尾が決定 されたデータ列であることを特徴とする請求項 1に記載のキャッシュメモリ。
3 .前記データブロックは、プログラム内の命令をデコ一ドした結果によって、 先頭と末尾が決定されたデ一タ列であることを特徴とする請求項 1に記載のキ ャッシュメモリ。
4 .前記命令は、サブルーチンコール及び復帰命令、条件分岐命令、あるいは、 例外処理及び復帰命令であることを特徴とする請求項 3に記載のキヤッシュメ モリ。
5 . 前記先頭ポインタ格納手段は、 該データプロックの先頭アドレスと、 該デ 一タブロックのサイズと、 該データブロックの先頭ポィンタを対応付けて格納 することを特徴とする請求項 1に記載のキャッシュメモリ。
6 . 前記先頭ポインタ格納手段は、 連想記憶メモリ方式を採用した格納手段で あることを特徴とする請求項 1に記載のキヤッシュメモリ。
7 .使用されていないボインタを保持する空きポインタキュ一手段を更に備え、 新たにデータプロックを格納する必要が生じたときは、 該空きポインタキュ 一手段の示す空きボインタを使用することを特徴とする請求項 1に記載のキヤ ッシュメモリ。
8 . 新たにデータブロックを格納する必要が生じたが、 前記空きポインタキュ 一手段が、 空きポインタを保持していない場合には、 現在格納されているデー タブ口ックの 1つを破棄することによって、 空きポィンタを生成することを特 徴とする請求項 7に記載のキャッシュメモリ。
9 . 前記破棄は、 古いデータブロックから順に行われることを特徴とする請求 項 8に記載のキヤッシュメモリ。
1 0 . プロセッサがアクセスすべきデータが格納されておらず、 かつ、 該デー タがデータブロックの先頭となるべきデータである場合には、 該プロセッサが アクセスすべきデータを先頭とするデータブロックを新たに格納することを特 徴とする請求項 1に記載のキヤッシュメモリ。
1 1 . プロセッサがアクセスすべきデータが格納されておらず、 かつ、 該デー タがデータブロックの先頭となるべきデータ以外のデータである場合には、 該 プロセッサがアクセスすべきデータを含むデータプロックを既に格納されてい るデータブロックに接続する形で新たに格納することを特徴とする請求項 1に 記載のキヤッシュメモリ。
1 2 . 前記先頭ポインタ格納手段の有するデータは、 プロセッサの発行する仮 想ァドレスを物理ァドレスに変換する機構の有するデータと一緒に管理される ことを特徴とする請求項 1に記載のキャッシュメモリ。
1 3 . 前記データは、 命令データであることを特徴とする請求項 1に記載のキ ャッシュメモリ。
1 4 . 格納されているデータプロックの先頭ァドレスに対応する先頭ポインタ を格納する先頭ボインタ格納ステップと、
該データプロックを構成するデータが格納されているアドレスに対応するポ インタと、 該先頭ポインタからの該ポインタ間の接続関係を格納するポインタ マップ格納ステップと、
該ポィンタに対応するァドレスに格納されるデータを格納するポインタデー タ格納ステップと、
を有し、
可変長のデータブロックを格納可能としたことを特徴とするキャッシュメモ リの制御方法。
PCT/JP2003/002239 2003-02-27 2003-02-27 キャッシュメモリ WO2004077299A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2003/002239 WO2004077299A1 (ja) 2003-02-27 2003-02-27 キャッシュメモリ
JP2004568749A JPWO2004077299A1 (ja) 2003-02-27 2003-02-27 キャッシュメモリ
US11/046,890 US20050138264A1 (en) 2003-02-27 2005-02-01 Cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/002239 WO2004077299A1 (ja) 2003-02-27 2003-02-27 キャッシュメモリ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/046,890 Continuation US20050138264A1 (en) 2003-02-27 2005-02-01 Cache memory

Publications (1)

Publication Number Publication Date
WO2004077299A1 true WO2004077299A1 (ja) 2004-09-10

Family

ID=32923098

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/002239 WO2004077299A1 (ja) 2003-02-27 2003-02-27 キャッシュメモリ

Country Status (2)

Country Link
JP (1) JPWO2004077299A1 (ja)
WO (1) WO2004077299A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248586A (ja) * 2010-05-26 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> データ入出力装置、データ記憶方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5785148A (en) * 1980-11-17 1982-05-27 Nec Corp Instruction sequence control device
JPS61210446A (ja) * 1985-03-15 1986-09-18 Canon Inc デ−タ貯蔵装置
JPH05289942A (ja) * 1992-04-08 1993-11-05 Nec Corp キャッシュメモリ回路
US5381533A (en) * 1992-02-27 1995-01-10 Intel Corporation Dynamic flow instruction cache memory organized around trace segments independent of virtual address line
US5634027A (en) * 1991-11-20 1997-05-27 Kabushiki Kaisha Toshiba Cache memory system for multiple processors with collectively arranged cache tag memories

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5785148A (en) * 1980-11-17 1982-05-27 Nec Corp Instruction sequence control device
JPS61210446A (ja) * 1985-03-15 1986-09-18 Canon Inc デ−タ貯蔵装置
US5634027A (en) * 1991-11-20 1997-05-27 Kabushiki Kaisha Toshiba Cache memory system for multiple processors with collectively arranged cache tag memories
US5381533A (en) * 1992-02-27 1995-01-10 Intel Corporation Dynamic flow instruction cache memory organized around trace segments independent of virtual address line
JPH05289942A (ja) * 1992-04-08 1993-11-05 Nec Corp キャッシュメモリ回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Brian Fahs, et al., "Performance Characterization of a Hardware Mechanism for Dynamic Optimization", Proceedings of the 34rd Annual Symposium on Microarchitecture, [online], December 2001, pages 16-27, 24 June 2003, <URL: http://citeseer.nj.nec.com/fahs01performance.html> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248586A (ja) * 2010-05-26 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> データ入出力装置、データ記憶方法及びプログラム

Also Published As

Publication number Publication date
JPWO2004077299A1 (ja) 2006-06-08

Similar Documents

Publication Publication Date Title
KR100339904B1 (ko) 캐시 프로세스용 시스템 및 방법
US7418552B2 (en) Memory disambiguation for large instruction windows
JP4008826B2 (ja) オンチップキャッシュのデータ圧縮により有効キャッシュサイズを増大させるキャッシュ圧縮エンジンのための装置
US5109496A (en) Most recently used address translation system with least recently used (LRU) replacement
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
EP1654660B1 (en) A method of data caching
EP2074511B1 (en) Efficient store queue architecture
US7260674B2 (en) Programmable parallel lookup memory
US7203798B2 (en) Data memory cache unit and data memory cache system
WO2024045586A1 (zh) 支持simt架构的高速缓冲存储器及相应处理器
US7761665B2 (en) Handling of cache accesses in a data processing apparatus
US6751700B2 (en) Date processor and storage system including a set associative cache with memory aliasing
US20010029571A1 (en) Memory device
US7555610B2 (en) Cache memory and control method thereof
US20050138264A1 (en) Cache memory
US20040162942A1 (en) Computer system embedding sequential buffers therein for improving the performance of a digital signal processing data access operation and a method thereof
WO2004077299A1 (ja) キャッシュメモリ
EP0502211A1 (en) System equipped with processor and method of converting addresses in said system
JP2008511882A (ja) 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
JPS6194159A (ja) メモリ装置
JP3078303B2 (ja) キャッシュメモリ制御回路
JP3219196B2 (ja) キャッシュデータアクセス方法及び装置
JP3824657B2 (ja) 1クロックサイクル内でデータをストアするよう構成されたデータメモリユニット、およびその動作方法
US20120102271A1 (en) Cache memory system and cache memory control method
CN117632263A (zh) 指令处理方法、处理器核、处理器、计算设备及存储介质

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004568749

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11046890

Country of ref document: US