JP5493954B2 - キャッシュシステム - Google Patents
キャッシュシステム Download PDFInfo
- Publication number
- JP5493954B2 JP5493954B2 JP2010027111A JP2010027111A JP5493954B2 JP 5493954 B2 JP5493954 B2 JP 5493954B2 JP 2010027111 A JP2010027111 A JP 2010027111A JP 2010027111 A JP2010027111 A JP 2010027111A JP 5493954 B2 JP5493954 B2 JP 5493954B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- port
- unit
- unit data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 180
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000013519 translation Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 29
- 238000000034 method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000000052 comparative effect Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000010408 sweeping Methods 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0851—Cache with interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0853—Cache with multiport tag or data arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
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)
Description
また、対象単位データ列を一次キャッシュメモリから読み出し動作するときに、アドレス生成手段およびアドレス変換手段により与えられたアクセスアドレスに従って、第1の多ポート記憶部の第1および第2の出力ポートレジスタに第1および第2の単位データを読み出す第1読み出し動作と、第2の多ポート記憶部の第1および第2の出力ポートレジスタに第3および第4の単位データを読み出す第2読み出し動作とを並行して行うことにより、対象単位データ列に含まれる第1ないし第4の単位データを第1および第2の多ポート記憶部から同時に読み出す。
図10にて、第1アドレス生成器30aは、2ポートRAM(1)に含まれる任意のブロックを指定するアドレスを生成する。そして、この第1アドレス生成器30aにより生成されたアドレスは、2ポートRAM(1)の第1ポートレジスタ21a、23aに供給される。また、第1アドレス変換器31aは、第1アドレス生成器30aが指定した2ポートRAM(1)のブロックと連続するデータが格納されたブロックのアドレスに変換する。変換されたアドレスは、2ポートRAM(0)の第1ポートレジスタ21a、23aに供給される。
2 命令ユニット
3 演算ユニット
4 一次データキャッシュメモリ
5 一次命令キャッシュメモリ
6 二次キャッシュメモリ
11 演算・命令ユニット
12 ECCチェック/訂正/パリティ生成部
13 ムーブインデータレジスタ
14 ECCチェック/訂正部
15 ムーブアウトデータレジスタ
20 2ポートRAM
21a 第1入力ポートレジスタ
21b 第2入力ポートレジスタ
22 記憶部
23a 第1出力ポートレジスタ
23b 第2出力ポートレジスタ
30a 第1アドレス生成器
30b 第2アドレス生成器
31a 第1アドレス変換器
31b 第2アドレス変換器
41a〜41h セレクタ
42a〜42h バッファ
43a〜43d セレクタ
44a〜44d データ出力部
Claims (4)
- 演算ユニットと、前記演算ユニットとの間でデータの入出力をする一次キャッシュメモリと、前記一次キャッシュメモリとの間でデータを入出力する二次キャッシュメモリとを含むキャッシュシステムにおいて、
前記一次キャッシュメモリは、第1データサイズの単位データごとに与えられるアクセスアドレスに従って記憶をする記憶手段と、二つの単位データをそれぞれ第1および第2の入力ポートレジスタにより入力し、前記第1および第2の入力ポートレジスタを介してそれぞれ入力した前記二つの単位データを前記アクセスアドレスに従って前記記憶手段における連続領域に同時に書き込む書込手段と、前記書込手段により前記記憶手段の連続領域に同時に書き込まれた前記二つの単位データをそれぞれ第1および第2の出力ポートレジスタに読み出して出力する出力手段とを有する多ポート記憶部を複数有し、
前記一次キャッシュメモリは、さらに、前記第1データサイズに対して任意倍数の第2データサイズを有する対象データを前記複数の多ポート記憶部の記憶手段に書き込みかつ読み込むための前記アクセスアドレスを生成するアドレス生成手段と、当該アドレス生成手段により生成されたアドレスを変換するアドレス変換手段とを有し、
前記第1データサイズに対して任意倍数の第2データサイズを有する対象データを前記単位データの列に分割して前記一次キャッシュメモリに書き込み動作するときに、前記対象データを前記単位データの列に連続的に分割して対象単位データ列とし、前記アドレス生成手段および前記アドレス変換手段により与えられた前記アクセスアドレスに従って、前記複数の多ポート記憶部のうちの第1の多ポート記憶部の前記第1および第2の入力ポートレジスタに、前記対象単位データ列に含まれる第1および第2の単位データをそれぞれ時間連続的に書き込む第1書き込み動作と、前記アドレス生成手段および前記アドレス変換手段により与えられた前記アクセスアドレスに従って、前記複数の多ポート記憶部のうちの第2の多ポート記憶部の前記第1および第2の入力ポートレジスタに、前記対象単位データ列の中で前記第1または第2の単位データに連続する第3および第4の単位データをそれぞれ時間連続的に書き込む第2書き込み動作とを並行して行うことにより、前記対象単位データ列に含まれる第1ないし第4の単位データを前記第1及び第2の多ポート記憶部に分散して同時に記憶し、
前記対象単位データ列を前記一次キャッシュメモリから読み出し動作するときに、前記アドレス生成手段および前記アドレス変換手段により与えられた前記アクセスアドレスに従って、前記第1の多ポート記憶部の前記第1および第2の出力ポートレジスタに前記第1および第2の単位データを読み出す第1読み出し動作と、前記アドレス生成手段および前記アドレス変換手段により与えられた前記アクセスアドレスに従って、前記第2の多ポート記憶部の前記第1および第2の出力ポートレジスタに前記第3および第4の単位データを読み出す第2読み出し動作とを並行して行うことにより、前記対象単位データ列に含まれる第1ないし第4の単位データを前記第1および第2の多ポート記憶部から同時に読み出す
ことを特徴とするキャッシュシステム。
- 前記アドレス生成手段は、前記第1の多ポート記憶部に記憶された前記第1または第2の単位データを読み出す第1アドレスを生成し、
前記アドレス変換手段は、前記アドレス生成手段により生成された前記第1アドレスを変換して、前記第1の多ポート記憶部に記憶された前記第1または第2の単位データと前記対象単位データ列の中で連続した前記第3または第4の単位データを前記第2の多ポート記憶部から読み出す第2アドレスにする
ことを特徴とする請求項1に記載のキャッシュシステム。
- 前記各多ポート記憶部における出力ポートから出力された単位データを入力し、前記アドレス生成手段又は前記アドレス変換手段から供給されたアドレスに基づいて、何れかの単位データを選択するセレクタを複数有し、
当該セレクタにより選択された多ポート記憶部に記憶された単位データを、前記第2データサイズ分に亘り連続的に前記演算ユニットに出力する
ことを特徴とする請求項2に記載のキャッシュシステム。
- 各多ポート記憶部における出力ポートから出力された単位データを入力し、前記アドレス生成手段又は前記アドレス変換手段から供給されたアドレスに基づいて、何れかの単位データを選択する第1セレクタと、
前記第1セレクタにより選択されたウエイ数分の単位データを入力し、ウエイを選択する命令に従って、何れかの単位データを選択する第2セレクタとを有し、
前記第2セレクタにより選択された多ポート記憶部に記憶された単位データを、前記第2データサイズ分に亘り連続的に前記演算ユニットに出力する
ことを特徴とする請求項2に記載のキャッシュシステム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010027111A JP5493954B2 (ja) | 2010-02-10 | 2010-02-10 | キャッシュシステム |
KR1020110006650A KR101234183B1 (ko) | 2010-02-10 | 2011-01-24 | 캐시 시스템 |
US13/012,985 US8806102B2 (en) | 2010-02-10 | 2011-01-25 | Cache system |
EP11153588A EP2354954A1 (en) | 2010-02-10 | 2011-02-07 | Cache system |
CN201110037745.1A CN102156676B (zh) | 2010-02-10 | 2011-02-10 | 高速缓存*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010027111A JP5493954B2 (ja) | 2010-02-10 | 2010-02-10 | キャッシュシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011164948A JP2011164948A (ja) | 2011-08-25 |
JP5493954B2 true JP5493954B2 (ja) | 2014-05-14 |
Family
ID=44021964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010027111A Expired - Fee Related JP5493954B2 (ja) | 2010-02-10 | 2010-02-10 | キャッシュシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US8806102B2 (ja) |
EP (1) | EP2354954A1 (ja) |
JP (1) | JP5493954B2 (ja) |
KR (1) | KR101234183B1 (ja) |
CN (1) | CN102156676B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180031412A (ko) * | 2016-09-20 | 2018-03-28 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들 |
KR102490104B1 (ko) * | 2017-10-30 | 2023-01-19 | 삼성전자주식회사 | 데이터 보호를 사용하는 인-밴드 메모리에 액세스하기 위한 장치 및 방법 |
US11422702B2 (en) * | 2020-08-26 | 2022-08-23 | Dell Products, L.P. | Managing utilization of storage class memory (SCM) resources |
CN112905954A (zh) * | 2020-12-28 | 2021-06-04 | 北京计算机技术及应用研究所 | 一种利用fpga bram的cnn模型卷积运算加速计算方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905188A (en) | 1988-02-22 | 1990-02-27 | International Business Machines Corporation | Functional cache memory chip architecture for improved cache access |
US5442770A (en) | 1989-01-24 | 1995-08-15 | Nec Electronics, Inc. | Triple port cache memory |
JPH0437935A (ja) | 1990-06-01 | 1992-02-07 | Hitachi Ltd | キャッシュメモリを有する計算機 |
DE69429777T2 (de) * | 1993-09-30 | 2002-10-17 | Apple Computer | System zur dezentralen massenspeichersteuerung eines rechners mit virtuellem speicher |
US5924117A (en) * | 1996-12-16 | 1999-07-13 | International Business Machines Corporation | Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto |
US6029237A (en) * | 1997-10-08 | 2000-02-22 | Dell Usa, L.P. | Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive |
JP2002278836A (ja) * | 2001-03-15 | 2002-09-27 | Oki Electric Ind Co Ltd | キャッシュメモリ |
JP4164371B2 (ja) * | 2003-01-16 | 2008-10-15 | キヤノン株式会社 | データ処理装置、データ処理方法、プログラム及び記憶媒体 |
US7219185B2 (en) * | 2004-04-22 | 2007-05-15 | International Business Machines Corporation | Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache |
JP4517741B2 (ja) * | 2004-06-23 | 2010-08-04 | 富士ゼロックス株式会社 | 記憶装置 |
JP4336848B2 (ja) * | 2004-11-10 | 2009-09-30 | 日本電気株式会社 | マルチポートキャッシュメモリ及びマルチポートキャッシュメモリのアクセス制御方式 |
-
2010
- 2010-02-10 JP JP2010027111A patent/JP5493954B2/ja not_active Expired - Fee Related
-
2011
- 2011-01-24 KR KR1020110006650A patent/KR101234183B1/ko not_active IP Right Cessation
- 2011-01-25 US US13/012,985 patent/US8806102B2/en not_active Expired - Fee Related
- 2011-02-07 EP EP11153588A patent/EP2354954A1/en not_active Withdrawn
- 2011-02-10 CN CN201110037745.1A patent/CN102156676B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011164948A (ja) | 2011-08-25 |
EP2354954A1 (en) | 2011-08-10 |
KR20110093625A (ko) | 2011-08-18 |
KR101234183B1 (ko) | 2013-02-18 |
US8806102B2 (en) | 2014-08-12 |
CN102156676A (zh) | 2011-08-17 |
CN102156676B (zh) | 2014-10-08 |
US20110197013A1 (en) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4866603A (en) | Memory control system using a single access request for doubleword data transfers from both odd and even memory banks | |
US7694077B2 (en) | Multi-port integrated cache | |
JP3799050B2 (ja) | 階層化された記憶項目とキャッシュタグを単一キャッシュアレイ構造に格納するキャッシュメモリ装置及び方法 | |
CN105678378A (zh) | 间接访问样本数据以在并行处理***中执行多卷积操作 | |
US7836253B2 (en) | Cache memory having pipeline structure and method for controlling the same | |
US5960453A (en) | Word selection logic to implement an 80 or 96-bit cache SRAM | |
CN101918925B (zh) | 用于处理器的高关联性高速缓存的第二次机会取代机制 | |
CN103810111A (zh) | 有源存储器件中的地址生成的方法及其处理元件 | |
US6745291B1 (en) | High speed LRU line replacement system for cache memories | |
JP5493954B2 (ja) | キャッシュシステム | |
CN1656461A (zh) | 在模拟多端口存储器中编程访问等待时间 | |
CN108139989B (zh) | 配备有存储器中的处理和窄访问端口的计算机设备 | |
JPH07120312B2 (ja) | バッファメモリ制御装置 | |
US5802565A (en) | Speed optimal bit ordering in a cache memory | |
US20130332665A1 (en) | Memory with bank-conflict-resolution (bcr) module including cache | |
CN108920097B (zh) | 一种基于交织存储的三维数据处理方法 | |
KR100517765B1 (ko) | 캐시 메모리 및 그 제어 방법 | |
JPH06242925A (ja) | ソート処理装置 | |
JP2002278836A (ja) | キャッシュメモリ | |
JP5182284B2 (ja) | ベクトル処理装置 | |
JP4918535B2 (ja) | キャッシュメモリ、キャッシュメモリ装置及び割当て方法 | |
JPS58142459A (ja) | 主記憶装置 | |
JP2636485B2 (ja) | キャッシュ記憶装置 | |
JPH02222047A (ja) | メモリ制御装置 | |
JP2012022567A (ja) | キャッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121005 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5493954 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |